Context
buildScripts/util/check-theme-value-files-baseline.json exempts the two neo dialog/Base.scss entries from the #18145 sweep. The exemption is correct; the measurement recorded next to it is not.
The defect
The reason asserts "13 of the 16 button background states". Enumerated from the emitted dist/esm/css/src/button/Base.css, keeping only rules whose subject is the button itself — dropping .neo-button-badge, -ripple, -glyph, -text, which paint child elements rather than the button:
|
recorded |
measured |
button-own background-color states |
16 |
15 |
| decided by specificity |
13 |
12 |
win on !important |
3 |
3 ✓ |
The three !important winners are .neo-button.neo-button-{ghost,secondary,tertiary}:active — src/button/Base.scss:205, 258, 317. That half was right.
The conclusion is unaffected: the structural rule :root .neo-theme-neo-light .neo-dialog .neo-header-toolbar .neo-button is (0,5,0), the heaviest competitor is (0,3,0), so it does outweigh all 12. The exemption stands.
Why this is worth its own ticket rather than a silent amend
A bare number in a decision record decays without any signal. The next maintainer who counts 15 cannot tell whether the record is stale or their own sweep is wrong — and that ambiguity has already sent this one entry back for a second pass. The fix is not the arithmetic: it is naming the file the states live in, so the count is re-derivable in one command instead of re-litigable.
Acceptance criteria
Not in scope
--button-ghost-background-color-disabled is declared in both neo theme value files and consumed by nothing — ghost is the only variant with no disabled background rule while primary, secondary and tertiary all have one. That is a dangling token, not a counting error, and it belongs in its own sweep.
Evidence
buildScripts/util/check-theme-value-files-baseline.json — the neo-light dialog entry (neo-dark defers to it)
src/button/Base.scss:205, 258, 317 — the three !important declarations
resources/scss/theme-neo-light/dialog/Base.scss:10-17 — the exempted block and its real nesting
- Parent sweep #18145 (stays open — 3 files pending)
Refs #18145
Context
buildScripts/util/check-theme-value-files-baseline.jsonexempts the two neodialog/Base.scssentries from the #18145 sweep. The exemption is correct; the measurement recorded next to it is not.The defect
The reason asserts "13 of the 16 button background states". Enumerated from the emitted
dist/esm/css/src/button/Base.css, keeping only rules whose subject is the button itself — dropping.neo-button-badge,-ripple,-glyph,-text, which paint child elements rather than the button:background-colorstates!importantThe three
!importantwinners are.neo-button.neo-button-{ghost,secondary,tertiary}:active—src/button/Base.scss:205, 258, 317. That half was right.The conclusion is unaffected: the structural rule
:root .neo-theme-neo-light .neo-dialog .neo-header-toolbar .neo-buttonis(0,5,0), the heaviest competitor is(0,3,0), so it does outweigh all 12. The exemption stands.Why this is worth its own ticket rather than a silent amend
A bare number in a decision record decays without any signal. The next maintainer who counts 15 cannot tell whether the record is stale or their own sweep is wrong — and that ambiguity has already sent this one entry back for a second pass. The fix is not the arithmetic: it is naming the file the states live in, so the count is re-derivable in one command instead of re-litigable.
Acceptance criteria
!importantstates are named, not just counted — a bare "3 win on !important" is the same decaying assertion one level down.5 file(s) pending sweep, 2 exempt.Not in scope
--button-ghost-background-color-disabledis declared in both neo theme value files and consumed by nothing — ghost is the only variant with no disabled background rule while primary, secondary and tertiary all have one. That is a dangling token, not a counting error, and it belongs in its own sweep.Evidence
buildScripts/util/check-theme-value-files-baseline.json— the neo-light dialog entry (neo-dark defers to it)src/button/Base.scss:205, 258, 317— the three!importantdeclarationsresources/scss/theme-neo-light/dialog/Base.scss:10-17— the exempted block and its real nestingRefs #18145