Skip to content

Surface tones, orange badge, kicker-blue, dark-surface contrast fixes, showcase headings - #6

Open
lumpster-csa wants to merge 7 commits into
mainfrom
local-updates
Open

lumpster-csa wants to merge 7 commits into
mainfrom
local-updates

Conversation

@lumpster-csa

@lumpster-csa lumpster-csa commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Seven small, independent changes, one commit each so they can be reviewed (or reverted) separately:

  • Action tile — border-left-width added to .csa-action's transition list, so the selected state's 1px → 4px left border animates in with the color change instead of snapping.
  • .csa-hr — dark (b600) and black (n700) variants. The plain n50 rule was nearly invisible on dark surfaces.
  • .csa-kicker-blue — a color-only modifier combined with .csa-kicker or .csa-kicker-sub: b500 on light/gradient, b200 on dark/black. Not wired into .csa-hero/.csa-cta, whose always-dark kicker colors override it by design.
  • Surface tones (data-tone) — an optional second attribute that nudges a surface one step without becoming a new surface, so every existing data-surface rule keeps applying:
    • data-surface="light" data-tone="neutral": n25 band, white cards. .csa-bg-n25 stays as an alias and now sets the band color itself instead of needing an inline background.
    • data-surface="dark" data-tone="deep": b800 band, b700 cards. The progress track, toggle tracks, and disabled pagination fills step up to b700 on deep so they don't vanish into the band.
  • Contrast on dark surfaces — blue tag text and .csa-badge-outlined text were b300, only ~3.3:1 against the dark b700 surface (AA needs 4.5:1). Both now use b100 on dark and black (5.2:1 at rest), and the outlined dark demos use the b100 calendar icon.
  • .csa-badge-orange — light surfaces: solid o700 pill, o600 border, white text and icon. Dark and black: o400 at 20% fill, o400 border, o200 text and icon. Like Secondary, it also covers the always-dark .csa-hero/.csa-cta and restores the light treatment in .csa-hero-light. Adds src/assets/icons/o200/ — 120 icons recolored from the o300 set to #FFB833.
  • Showcase headings — heading styles are scoped to .csa-title/.csa-subtitle, so the showcase page's bare h1–h4 were rendering with browser defaults (section titles at 24px, weight 700, gray). All bare headings now carry csa-title.

Showcase demos and README entries are included for the tones, kicker modifier, and orange badge.

Test plan

  • Served src/docs/index.html locally and checked computed styles for each change:
    • Action: border-left-width animates 1px → 2.5px → 4px over ~0.15s on selection
    • .csa-hr computes n50 / b600 / n700 on light / dark / black
    • .csa-kicker-blue computes b500 on light and gradient, b200 on dark and black; plain kickers unchanged
    • Tones: neutral and the .csa-bg-n25 alias render identically (n25 band, white card, n50 tag); deep gives b800 band with b700 card, progress track, and disabled pagination
    • Blue tag and outlined badge compute b100 on dark and black
    • Orange badge computes the specified values on light, dark, and black; all new icons load
    • Showcase headings: compared computed styles before and after (headings now match the library's heading rules)
  • Reviewer: the new o200/ icons are generated by recoloring o300, so a quick visual skim of a few would be welcome

🤖 Generated with Claude Code

Stephen Lumpe and others added 7 commits October 7, 2026 09:34
Adds border-left-width to .csa-action's transition list so the selected
state's 1px-to-4px left border animates in alongside the color change,
instead of snapping.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The plain n50 rule was nearly invisible against dark and black
surfaces. Dark uses b600 and black uses n700, the same colors
.csa-section-divider used for its seam.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
A color-only modifier combined with either .csa-kicker or .csa-kicker-sub:
b500 on light/gradient, b200 on dark/black. Includes a showcase row and a
README note that the always-dark hero/CTA kicker colors override it by design.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
An optional second attribute that nudges a surface one step without
becoming a new surface. data-tone="neutral" on light gives an n25 band with
white cards (.csa-bg-n25 stays as an alias and now sets the band itself);
data-tone="deep" on dark gives a b800 band with b700 cards. The progress
track, toggle tracks and disabled pagination step up to b700 on deep so they
don't vanish into the band. Tags and toggles respond to either hook.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
b300 text on the dark b700 surface measured ~3.3:1, below the 4.5:1 AA
minimum for these sizes. Blue tags and .csa-badge-outlined now use b100 on
dark and black (5.2:1 at rest on b700), and the outlined dark demos use the
b100 calendar icon.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Light surfaces: solid o700 pill, o600 border, white text and icon. Dark and
black: o400 at 20% fill, o400 border, o200 text and icon, mirroring how
Secondary also covers the always-dark hero/CTA and restores light in
.csa-hero-light. Adds src/assets/icons/o200/ (120 icons recolored from o300
to #FFB833) for the dark-surface icon.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Heading styles are scoped to .csa-title/.csa-subtitle, so the showcase's
bare h1-h4 were rendering with browser defaults (section titles at 24px,
weight 700, gray). All 83 bare headings now carry csa-title.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant