feat(uix): --state-* fold — trigger + menu-row state into the shared layer

Folds the two TRANSVERSAL neutral-interaction rules in archetypes.css into the
canonical state layer (completes the --state-* unification at the archetype level):
- [data-archetype='trigger']:hover — opacity-dim (0.85) -> the state-layer tint
  (background-image gradient of --state-hover), so bare triggers feel like the rest
  instead of fading their own text.
- [data-archetype='item'/'option'] highlight (hover/focus/highlighted/selected) -
  surface-raised swap -> --state-hover, so every menu/list active row (dropdown,
  context, select, combobox, listbox, command) reads via the shared layer.

These were the LAST two neutral-hover idioms (canonical cross-component rules). No
base.ts touched -> no collision with the concurrent session.

Verified: folded rules served (state-layer gradient), old opacity/surface-raised gone;
eidos suite unchanged (15 pre-existing failures, none from this). Visual note: the 8%
tint ~ surface-raised (step-2) in light; menu-row highlight worth a live hover/keyboard
check (CDP screenshot hung all session).
active-uix
dev 3 months ago
parent 627521573c
commit e7e4870d54

@ -46,7 +46,7 @@
}
:where([data-archetype='trigger']:hover:not([data-disabled]):not([disabled])) {
opacity: 0.85;
background-image: linear-gradient(var(--state-hover), var(--state-hover));
}
:where([data-archetype='trigger'][data-disabled], [data-archetype='trigger'][disabled]) {
@ -215,7 +215,7 @@
[data-archetype='option'][aria-selected='true']:not([data-state='checked']):not([data-state='on']),
[data-archetype='item'][data-selected]:not([data-state='checked']):not([data-state='on']),
[data-archetype='option'][data-selected]:not([data-state='checked']):not([data-state='on']) {
background-color: var(--color-surface-raised);
background-image: linear-gradient(var(--state-hover), var(--state-hover));
color: var(--color-content-primary);
}

Loading…
Cancel
Save

Powered by TurnKey Linux.