Skip to content

Commit 098e8a2

Browse files
committed
Unblock TODO phases and bump Prettier
Update TODO.md to reflect that semantic primitives and form-field recipe work are now unblocked by published tokens in @phcdevworks/spectre-tokens@3.2.0, including revised phase status and execution order. Also bump Prettier from ^3.9.0 to ^3.9.1 in package metadata.
1 parent 10d0684 commit 098e8a2

3 files changed

Lines changed: 43 additions & 26 deletions

File tree

TODO.md

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -171,26 +171,34 @@ semantic tokens are published to NPM.
171171
- Re-run this sweep against the live published package (not against notes
172172
in this file) the next time `@phcdevworks/spectre-tokens` bumps.
173173

174-
### P2: Semantic UI Primitives — Blocked (tokens not yet published)
175-
176-
None of the three primitive token groups below exist in
177-
`@phcdevworks/spectre-tokens@3.0.0` (verified by reading the published
178-
`dist/index.css` directly, not by trusting changelog notes). Do not start this
179-
work until the tokens are confirmed published.
174+
### P2: Semantic UI Primitives — Unblocked (tokens published in 3.1.0)
175+
176+
All three primitive token groups below are now confirmed present in the
177+
installed `@phcdevworks/spectre-tokens@3.2.0`
178+
(`node_modules/@phcdevworks/spectre-tokens/dist/index.css`, checked directly,
179+
2026-06-28). `3.1.0`'s changelog records the actual root cause behind the
180+
`3.0.0` absence noted above: `generateCssVariables` was silently dropping
181+
`link.*` and `surface.hover/selected/active/divider` from the generated CSS
182+
even though the values existed in the runtime JS/TS export since
183+
`2.9.0`/`3.0.0` — a CSS-emission bug, not a missing token. `3.1.0` fixed the
184+
emission and `package.json` here already declares `^3.2.0`. Start this work
185+
next.
180186

181187
- [ ] Add link styling
182188
- Tokens: `link.default`, `link.hover`, `link.active`, `link.visited`
183-
(`--sp-link-*` CSS variables).
189+
(`--sp-link-default`, `--sp-link-hover`, `--sp-link-active`,
190+
`--sp-link-visited` — confirmed present).
184191
- CSS in narrowest relevant entry point; recipe or utility when class
185192
contract is stable; manifest declaration, README update, contract tests.
186193

187194
- [ ] Add interactive surface state styling
188195
- Tokens: `surface.hover`, `surface.selected`, `surface.active`
189-
(`--sp-surface-hover`, `--sp-surface-selected`, `--sp-surface-active`).
196+
(`--sp-surface-hover`, `--sp-surface-selected`, `--sp-surface-active`
197+
confirmed present).
190198
- Target clickable list items, menu items, table rows, selectable surfaces.
191199

192200
- [ ] Add divider styling
193-
- Tokens: `surface.divider` (`--sp-surface-divider`).
201+
- Tokens: `surface.divider` (`--sp-surface-divider` — confirmed present).
194202
- Cover `<hr>`, section separators, table borders.
195203

196204
---
@@ -441,17 +449,21 @@ Confirmed token shape once published:
441449

442450
---
443451

444-
## Phase 4e — Form-Field Recipe Expansion (Blocked on Tokens)
452+
## Phase 4e — Form-Field Recipe Expansion (Unblocked — tokens published in 3.2.0)
445453

446454
Cross-repo audit (`spectre-components` vs. `spectre-ui-astro`) found
447455
`sp-checkbox`, `sp-fieldset`, `sp-label`, `sp-radio`, `sp-select`, and
448456
`sp-textarea` shipped in `spectre-components` since its Phase 1 with no
449-
backing recipe here, unlike every other component family. Gated on
457+
backing recipe here, unlike every other component family. Was gated on
450458
`@phcdevworks/spectre-tokens` Phase 7 (`component.checkbox`,
451459
`component.radio`, `component.select`, `component.textarea`,
452-
`component.fieldset`, `component.label`) publishing first.
460+
`component.fieldset`, `component.label`) publishing. Confirmed published in
461+
`@phcdevworks/spectre-tokens@3.2.0` (`--sp-checkbox-*`, `--sp-radio-*`,
462+
`--sp-select-*` etc. present in installed `node_modules` dist CSS, checked
463+
2026-06-28); `package.json` here already declares `^3.2.0`. Start this work
464+
next, alongside Phase 3 P2 above.
453465

454-
### P0: Add Recipes After Upstream Tokens Publish
466+
### P0: Add Recipes Now That Upstream Tokens Are Published
455467

456468
- [ ] Add `getCheckboxClasses` after `component.checkbox` tokens publish.
457469

@@ -578,12 +590,12 @@ entry, and focused contract/recipe tests, following the Phase 4 pattern.
578590
2. Phase 2 — done.
579591
3. Phase 3 P0 — done (v1.7.0 and v1.8.0 released).
580592
4. Phase 3 P1 — done (synced to `@phcdevworks/spectre-tokens@2.8.0`).
581-
5. **Phase 3 P2 — blocked.** Add Link, interactive surface states, Divider in
582-
that order, once `link.*`, `surface.hover/selected/active`, and
583-
`surface.divider` are confirmed present in a published
584-
`@phcdevworks/spectre-tokens` release. Not present as of `3.0.0`.
585-
6. Phase 4 — gated on upstream. Add Nav, Toast, Tooltip, Dropdown, Modal once
586-
their `component.*` token groups publish in spectre-tokens.
593+
5. **Phase 3 P2 — unblocked, do next.** Add Link, interactive surface states,
594+
Divider in that order. `link.*`, `surface.hover/selected/active`, and
595+
`surface.divider` are confirmed present (`@phcdevworks/spectre-tokens@3.2.0`,
596+
the CSS-emission bug that hid them as of `3.0.0` was fixed in `3.1.0`).
597+
6. Phase 4 — done. Nav, Toast, Tooltip, Dropdown, Modal all delivered once
598+
their `component.*` token groups published in spectre-tokens.
587599
7. **Phase 4b — done.** Added Container, Stack, Section recipes
588600
(`getContainerClasses`, `getStackClasses`, `getSectionClasses`).
589601
8. **Phase 4c (v1) — done.** Added Grid recipe (`getGridClasses`).
@@ -593,9 +605,14 @@ entry, and focused contract/recipe tests, following the Phase 4 pattern.
593605
option, and new Sidebar/Footer layout-pattern recipes
594606
(`getSidebarClasses`, `getFooterClasses`). Astro adapter coordination
595607
still open.
596-
11. Phase 5 P0 — continuous; add regression coverage as adapter usage reveals
608+
11. **Phase 4e — unblocked, do next alongside Phase 3 P2.** Add
609+
`getCheckboxClasses`, `getRadioClasses`, `getSelectClasses`,
610+
`getTextareaClasses`, `getFieldsetClasses`, `getLabelClasses`. Their
611+
`component.*` token groups are confirmed published in
612+
`@phcdevworks/spectre-tokens@3.2.0`.
613+
12. Phase 5 P0 — continuous; add regression coverage as adapter usage reveals
597614
gaps.
598-
12. Phase 5 P1 — define deprecation mechanics before retiring any public
615+
13. Phase 5 P1 — define deprecation mechanics before retiring any public
599616
class, recipe option, or variant.
600617

601618
---

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@
115115
"postcss": "^8.5.15",
116116
"postcss-cli": "^11.0.1",
117117
"postcss-import": "^16.1.1",
118-
"prettier": "^3.9.0",
118+
"prettier": "^3.9.1",
119119
"tailwindcss": "^4.3.1",
120120
"tsup": "^8.5.1",
121121
"typescript": "^6.0.3",

0 commit comments

Comments
 (0)