Extend the brand-agnostic component bundle beyond button/card #87

Closed
opened 2026-09-08 18:20:02 +00:00 by peterswimm · 2 comments
Owner

The debranding mechanism already exists: components/ is a var(--*)-only bundle, and
90b9bf3 fix(components): make button/card fully token-driven made it re-skinnable.

Coverage is the gap — the bundle is two components: button.html and card.html
(plus _bundle.js).

Decide the target component set and extend, or close as done-at-current-scope.

Mirrored from forge wish 4e3eca1d ("debrand framework" — narrowed after verifying the
framework itself landed).

The debranding *mechanism* already exists: `components/` is a `var(--*)`-only bundle, and `90b9bf3 fix(components): make button/card fully token-driven` made it re-skinnable. **Coverage is the gap** — the bundle is two components: `button.html` and `card.html` (plus `_bundle.js`). Decide the target component set and extend, or close as done-at-current-scope. Mirrored from forge wish `4e3eca1d` ("debrand framework" — narrowed after verifying the framework itself landed).
Member

Decided: extend by exactly one component, then close.

Add a Form Field example (label + input + focus state) alongside the existing Button and Card. Purpose: border.json is the one DTCG token tier Button/Card don't touch — a form field is the natural way to prove the border/focus-ring layer re-skins correctly across brands, same as the other tiers already do.

Not adding Badge/Tag right now, and not adding nav, hero, footer, any ForgeBlock-style or product-specific component, or anything resembling the retired ToilvilleDesignSystem_7dd508 component framework. This bundle stays a small, token-proof reference set for the public design-kit export, not a general-purpose component library.

#87 is done once Form Field lands and re-skins correctly through the existing skin/token mechanism.

@peterswimm

**Decided: extend by exactly one component, then close.** Add a Form Field example (label + input + focus state) alongside the existing Button and Card. Purpose: `border.json` is the one DTCG token tier Button/Card don't touch — a form field is the natural way to prove the border/focus-ring layer re-skins correctly across brands, same as the other tiers already do. Not adding Badge/Tag right now, and not adding nav, hero, footer, any ForgeBlock-style or product-specific component, or anything resembling the retired `ToilvilleDesignSystem_7dd508` component framework. This bundle stays a small, token-proof reference set for the public design-kit export, not a general-purpose component library. #87 is done once Form Field lands and re-skins correctly through the existing skin/token mechanism. @peterswimm
Author
Owner

Decision applied (2026-10-20): extend by exactly one component, a Form Field (label, input and focus state), then close. main currently has only button.html, card.html and _bundle.js.

Acceptance:

  • Uses only var(--*) tokens.
  • Listed in _bundle.js.
  • The skin switch re-skins its border and focus-ring tokens with no change to the component's code.

I'm picking this up.

**Decision applied (2026-10-20):** extend by exactly one component, a **Form Field** (label, input and focus state), then close. main currently has only `button.html`, `card.html` and `_bundle.js`. Acceptance: - Uses only `var(--*)` tokens. - Listed in `_bundle.js`. - The skin switch re-skins its border and focus-ring tokens with no change to the component's code. I'm picking this up.
Sign in to join this conversation.
No description provided.