The box-shadow token --focus-ring hardcodes var(--color-surface-default) as its gap-fill (render-css.ts:184), so a control focused inside a raised/overlay/filled plane showed a mismatched halo; box-shadow rings are also clipped by overflow:hidden and die under forced-colors. Migrate the last 5 box-shadow consumers to the canonical outline pattern already used by button/card/~40 components: outline: var(--focus-ring-width) solid var(--focus-ring-color) outline-offset: var(--focus-ring-offset) (or 0, flush, for input + scrollbar) - command-input (offset 0, keeps border-color shift) - collapsible-trigger - toggle - splitter-resize-trigger (offset var) - scroll-area-scrollbar (offset 0) Outline follows border-radius on every evergreen browser, isn't clipped by overflow, and the forced-colors fallback already maps outline. The gap-color mismatch disappears -- no --focus-ring-surface token needed. NOTE: the box-shadow token --focus-ring now has zero CSS consumers (only THEMING.md + a palabras doc reference it). Left in place -- it's a public foundation token; removing it is a separate API decision (bundle with the --size-* orphan cleanup). Verified: grep 0 box-shadow focus rings in component CSS; eidos suite 15/239 unchanged; served rule confirmed in browser ([data-toggle]:focus-visible -> outline). Visual look on keyboard focus worth a live Tab-through (CDP screenshot hung all session).active-uix
parent
e7e4870d54
commit
ab62cca7b2
Loading…
Reference in new issue