Default bold ink #c96b4a -> #ee928c
Owner default change (2026-09-23): the factory strong-color token moves to the softer coral. The factory lives in the stylesheet token (both theme blocks in globals.css) - settings' boldColor:null means "factory" by design, so no record/schema change. The settings row hint + placeholder follow, plus the placeholder test and two comments that cited the old literal. Live-verified: unset boldColor renders rgb(238,146,140) (#ee928c) on the real <strong>; dialog hint reads "Empty = #ee928c".
This commit is contained in:
+2
-2
@@ -39,7 +39,7 @@
|
||||
--input: #434343;
|
||||
--ring: #8d8d8d;
|
||||
/* Emphasis coloring in teaching prose — ready for the settings UI. */
|
||||
--lh-ink-strong: #c96b4a;
|
||||
--lh-ink-strong: #ee928c;
|
||||
--lh-ink-italic: #6fa9d6;
|
||||
/* THE READING SIZE = the ladder's 16px rung (--text-lg). Can't be
|
||||
var()-linked: @theme inline inlines literals into utilities without
|
||||
@@ -73,7 +73,7 @@
|
||||
--border: #434343;
|
||||
--input: #434343;
|
||||
--ring: #8d8d8d;
|
||||
--lh-ink-strong: #c96b4a;
|
||||
--lh-ink-strong: #ee928c;
|
||||
--lh-ink-italic: #6fa9d6;
|
||||
/* THE READING SIZE = the ladder's 16px rung (--text-lg). Can't be
|
||||
var()-linked: @theme inline inlines literals into utilities without
|
||||
|
||||
@@ -341,7 +341,7 @@ export function MathDisplay(props: ComponentProps<"span"> & ExtraProps) {
|
||||
/** Bold as the REAL element (appearance fix, 2026-09-23): streamdown's
|
||||
* default `strong` renders `<span class="font-semibold" data-streamdown=
|
||||
* "strong">` — and `.lh-prose :where(strong, b)` matches strong/b
|
||||
* ELEMENTS, so neither the factory ink (#c96b4a) nor a settings
|
||||
* ELEMENTS, so neither the factory ink (#ee928c) nor a settings
|
||||
* boldColor ever landed on bold text (italic worked: streamdown leaves
|
||||
* `em` native). Rendering the semantic element restores screen-reader
|
||||
* emphasis AND lets the designed token rule apply unmodified — color
|
||||
|
||||
@@ -116,10 +116,10 @@ export function AppearanceSection({
|
||||
}}
|
||||
/>
|
||||
</SettingsRow>
|
||||
<SettingsRow label="Bold color" hint="Empty = #c96b4a" testid="row-bold-color">
|
||||
<SettingsRow label="Bold color" hint="Empty = #ee928c" testid="row-bold-color">
|
||||
<CommitInput
|
||||
value={md?.boldColor ?? ""}
|
||||
placeholder="#c96b4a"
|
||||
placeholder="#ee928c"
|
||||
ariaLabel="bold color"
|
||||
testid="input-bold-color"
|
||||
onCommit={(v) => onSectionChange({ ...appearance, mdRendering: { ...md, boldColor: v === "" ? null : v } })}
|
||||
|
||||
@@ -219,7 +219,7 @@ describe("render — bold is the real <strong> (the dead Bold-color fix)", () =>
|
||||
// data-streamdown="strong"> — and the app's ink token rule
|
||||
// (.lh-prose :where(strong, b), globals.css) matches strong/b
|
||||
// ELEMENTS, so bold never took the --lh-ink-strong color (neither the
|
||||
// factory #c96b4a nor a settings boldColor). The mdComponents override
|
||||
// factory #ee928c nor a settings boldColor). The mdComponents override
|
||||
// renders the semantic element.
|
||||
it("bold renders a real <strong> element inside .lh-prose", () => {
|
||||
const html = render("plain **bold** plain");
|
||||
|
||||
@@ -207,7 +207,7 @@ describe("AppearanceSection (thin SSR)", () => {
|
||||
const html = renderToStaticMarkup(<AppearanceSection appearance={undefined} onSectionChange={() => {}} />);
|
||||
assert.ok(html.includes(`placeholder="#141414"`));
|
||||
assert.ok(html.includes(`placeholder="Source Sans 3"`));
|
||||
assert.ok(html.includes(`placeholder="#c96b4a"`));
|
||||
assert.ok(html.includes(`placeholder="#ee928c"`));
|
||||
assert.ok(html.includes("16px"));
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user