docs: Update Input/Select/Card to semantic aliases + raise maturity to 83%

- RFC-002 Input:
  - Token Dependencies updated to semantic aliases with primitives
  - All tokens now map through color.surface, color.border, color.text, color.status
  - No direct color references (e.g., semantic-red-500 → color.status.danger)
  - Helper/error text uses semantic tokens

- RFC-003 Select:
  - Token Dependencies updated to semantic aliases with primitives
  - Dropdown, option, and error states use semantic tokens
  - Selected option uses color.action.primary at 10% opacity
  - No direct color references

- RFC-004 Card:
  - Token Dependencies updated to semantic aliases with primitives
  - Surface, border, text hierarchy use semantic tokens
  - Shadow tokens mapped to elevation system
  - No direct color references

- COMPLIANCE_MATRIX.md:
  - Input: 33% → 83%
  - Select: 33% → 83%
  - Card: 33% → 83%
  - All now have Governance , Tokens , Motion , Accessibility , AI 

Rationale: Semantic model first. Components never reference primitives.
Token contracts (purpose, allowed, forbidden) ensure correct usage.
Dark mode implementable via token swap without component changes.
This commit is contained in:
Bernt
2026-07-02 11:04:00 +00:00
parent 3335edeed8
commit 303b79d4cd
4 changed files with 57 additions and 55 deletions
+14 -14
View File
@@ -94,20 +94,20 @@ Card exists to group related information into a bounded, scannable unit. It crea
## 9. TOKEN DEPENDENCIES
| Token | Semantic Reference | Usage |
|-------|-------------------|-------|
| `card-bg` | `surface-primary` | Background |
| `card-border` | `border-default` | Border (optional) |
| `card-radius` | `radius-lg` | Border radius |
| `card-padding` | `space-4` | Internal padding |
| `card-shadow` | `shadow-sm` | Default elevation |
| `card-shadow-hover` | `shadow-md` | Hover elevation (actionable) |
| `card-shadow-active` | `shadow-sm` | Active elevation |
| `card-divider` | `border-default` | Divider between sections |
| `card-header-text` | `text-primary` | Header text |
| `card-body-text` | `text-secondary` | Body text |
| `card-footer-text` | `text-muted` | Footer text |
| `card-loading-bg` | `surface-secondary` | Skeleton background |
| Token | Semantic Alias | Primitive | Usage |
|-------|---------------|-----------|-------|
| `card-bg` | `color.surface.raised` | `gray-50` | Background |
| `card-border` | `color.border.default` | `gray-200` | Border (optional) |
| `card-radius` | `radius-lg` | `12px` | Border radius |
| `card-padding` | `space-4` | `16px` | Internal padding |
| `card-shadow` | `shadow-sm` | `0 1px 2px rgba(0,0,0,0.05)` | Default elevation |
| `card-shadow-hover` | `shadow-md` | `0 4px 6px rgba(0,0,0,0.07)` | Hover elevation (actionable) |
| `card-shadow-active` | `shadow-sm` | `0 1px 2px rgba(0,0,0,0.05)` | Active elevation |
| `card-divider` | `color.border.default` | `gray-200` | Divider between sections |
| `card-header-text` | `color.text.primary` | `gray-900` | Header text |
| `card-body-text` | `color.text.secondary` | `gray-600` | Body text |
| `card-footer-text` | `color.text.muted` | `gray-400` | Footer text |
| `card-loading-bg` | `color.surface.default` | `gray-0` | Skeleton background |
---