@3fn/core 13.0.0 → 14.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.kiro/agents/ada-prompt.md +80 -132
- package/.kiro/agents/ada-prompt.md.attribution.json +45 -0
- package/.kiro/agents/ada.json +44 -59
- package/.kiro/agents/ada.json.attribution.json +13 -0
- package/.kiro/agents/data-prompt.md +83 -74
- package/.kiro/agents/data-prompt.md.attribution.json +53 -0
- package/.kiro/agents/data.json +31 -38
- package/.kiro/agents/data.json.attribution.json +13 -0
- package/.kiro/agents/kenya-prompt.md +83 -72
- package/.kiro/agents/kenya-prompt.md.attribution.json +53 -0
- package/.kiro/agents/kenya.json +27 -35
- package/.kiro/agents/kenya.json.attribution.json +13 -0
- package/.kiro/agents/leonardo-prompt.md +176 -234
- package/.kiro/agents/leonardo-prompt.md.attribution.json +45 -0
- package/.kiro/agents/leonardo.json +28 -36
- package/.kiro/agents/leonardo.json.attribution.json +13 -0
- package/.kiro/agents/lina-prompt.md +110 -151
- package/.kiro/agents/lina-prompt.md.attribution.json +53 -0
- package/.kiro/agents/lina.json +46 -59
- package/.kiro/agents/lina.json.attribution.json +13 -0
- package/.kiro/agents/sparky-prompt.md +89 -72
- package/.kiro/agents/sparky-prompt.md.attribution.json +53 -0
- package/.kiro/agents/sparky.json +37 -37
- package/.kiro/agents/sparky.json.attribution.json +13 -0
- package/.kiro/agents/stacy-prompt.md +74 -48
- package/.kiro/agents/stacy-prompt.md.attribution.json +45 -0
- package/.kiro/agents/stacy.json +28 -30
- package/.kiro/agents/stacy.json.attribution.json +13 -0
- package/.kiro/agents/thurgood-prompt.md +94 -138
- package/.kiro/agents/thurgood-prompt.md.attribution.json +45 -0
- package/.kiro/agents/thurgood.json +31 -35
- package/.kiro/agents/thurgood.json.attribution.json +13 -0
- package/.kiro/steering/AI-Collaboration-Principles.md +3 -3
- package/.kiro/steering/Civitas-System-Overview.md +7 -16
- package/.kiro/steering/DesignerPunk-Systems-Overview.md +6 -6
- package/.kiro/steering/Spec-Feedback-Protocol.md +2 -11
- package/.kiro/steering/Task-Completion-Protocol.md +98 -17
- package/.kiro/steering/core-goals.md +3 -3
- package/.kiro/steering/personal-note.md +1 -1
- package/.kiro/steering/start-up-tasks.md +17 -6
- package/application-mcp-server/src/index.ts +26 -0
- package/dist/ComponentTokens.android.kt +12 -12
- package/dist/ComponentTokens.ios.swift +12 -12
- package/dist/ComponentTokens.web.css +3 -3
- package/dist/DesignTokens.android.kt +1 -1
- package/dist/DesignTokens.dtcg.json +8 -5
- package/dist/DesignTokens.figma.json +2 -2
- package/dist/DesignTokens.ios.swift +1 -1
- package/dist/DesignTokens.web.css +1 -1
- package/dist/android/DesignTokens.android.kt +1 -1
- package/dist/blend/OklchBlendCalculator.js +1 -0
- package/dist/blend/ThemeAwareBlendUtilities.web.d.ts +13 -2
- package/dist/blend/ThemeAwareBlendUtilities.web.js +6 -1
- package/dist/browser/designerpunk.esm.js +36 -90
- package/dist/browser/designerpunk.esm.min.js +33 -36
- package/dist/browser/designerpunk.umd.js +36 -90
- package/dist/browser/designerpunk.umd.min.js +47 -50
- package/dist/browser/tokens.css +3 -3
- package/dist/build/tokens/defineComponentTokens.d.ts +10 -0
- package/dist/build/tokens/defineComponentTokens.js +26 -0
- package/dist/components/core/Avatar-Base/avatar.tokens.d.ts +21 -26
- package/dist/components/core/Avatar-Base/avatar.tokens.js +31 -34
- package/dist/components/core/Avatar-Base/index.d.ts +1 -1
- package/dist/components/core/Avatar-Base/index.js +2 -2
- package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.js +24 -5
- package/dist/components/core/Button-CTA/examples/BasicUsage.d.ts +16 -28
- package/dist/components/core/Button-CTA/examples/BasicUsage.js +18 -43
- package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.d.ts +3 -15
- package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.js +9 -58
- package/dist/components/core/Button-CTA/types.d.ts +0 -24
- package/dist/components/core/Button-CTA/types.js +6 -0
- package/dist/components/core/Button-Icon/buttonIcon.tokens.d.ts +28 -14
- package/dist/components/core/Button-Icon/buttonIcon.tokens.js +35 -20
- package/dist/components/core/Input-Text-Base/types.d.ts +13 -1
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +11 -2
- package/dist/generators/DTCGFormatGenerator.js +8 -0
- package/dist/generators/TokenFileGenerator.js +7 -2
- package/dist/integration/BuildErrorHandler.js +2 -2
- package/dist/ios/DesignTokens.ios.swift +1 -1
- package/dist/mcp/application-mcp.js +24 -0
- package/dist/mcp/docs-mcp.js +130 -15
- package/dist/mcp/product-mcp.js +25 -0
- package/dist/tokens/OpacityTokens.js +1 -1
- package/dist/tokens/component/progress.d.ts +65 -5
- package/dist/tokens/component/progress.js +79 -18
- package/dist/tokens/semantic/BlendTokens.d.ts +10 -3
- package/dist/tokens/semantic/BlendTokens.js +17 -5
- package/dist/tokens/semantic/OpacityTokens.d.ts +4 -4
- package/dist/tokens/semantic/OpacityTokens.js +4 -4
- package/dist/types/ComponentTypes.d.ts +1 -1
- package/dist/types/generated/TokenTypes.d.ts +1 -1
- package/dist/types/generated/TokenTypes.js +1 -1
- package/dist/validators/StemmaTokenUsageValidator.js +3 -2
- package/dist/web/DesignTokens.web.css +1 -1
- package/governance/BUILD-SYSTEM-SETUP.md +1 -2
- package/governance/Component-Development-Guide.md +23 -13
- package/governance/Component-Development-Standards.md +21 -20
- package/governance/Component-Family-Avatar.md +6 -7
- package/governance/Component-Family-Badge.md +19 -20
- package/governance/Component-Family-Button.md +30 -43
- package/governance/Component-Family-Chip.md +14 -15
- package/governance/Component-Family-Container.md +12 -13
- package/governance/Component-Family-Data-Display.md +1 -2
- package/governance/Component-Family-Divider.md +1 -2
- package/governance/Component-Family-Form-Inputs.md +65 -65
- package/governance/Component-Family-Icon.md +9 -10
- package/governance/Component-Family-Loading.md +1 -2
- package/governance/Component-Family-Modal.md +1 -2
- package/governance/Component-Family-Navigation.md +1 -2
- package/governance/Component-Family-Progress.md +0 -1
- package/governance/Component-Inheritance-Structures.md +219 -99
- package/governance/Component-MCP-Document-Template.md +6 -5
- package/governance/Component-Primitive-vs-Semantic-Philosophy.md +1 -1
- package/governance/Component-Quick-Reference.md +33 -33
- package/governance/Component-Readiness-Status.md +59 -44
- package/governance/Component-Templates.md +57 -61
- package/governance/Contract-System-Reference.md +7 -7
- package/governance/MCP-Integration-Guide.md +1 -1
- package/governance/Process-Cross-Reference-Standards.md +31 -13
- package/governance/Process-Development-Workflow.md +49 -59
- package/governance/Process-File-Organization.md +25 -28
- package/governance/Process-Hook-Operations.md +22 -11
- package/governance/Process-Orchestration-Model-Selection.md +92 -0
- package/governance/Process-Spec-Planning.md +98 -52
- package/governance/Process-Task-Type-Definitions.md +80 -4
- package/governance/Product-Handoff-Protocol.md +2 -0
- package/governance/Rosetta-System-Architecture.md +13 -11
- package/governance/Test-Behavioral-Contract-Validation.md +38 -31
- package/governance/Test-Failure-Audit-Methodology.md +1 -1
- package/governance/Token-Family-Accessibility.md +1 -2
- package/governance/Token-Family-Blend.md +18 -16
- package/governance/Token-Family-Blur.md +0 -1
- package/governance/Token-Family-Border.md +1 -2
- package/governance/Token-Family-Color.md +0 -1
- package/governance/Token-Family-Glow.md +1 -2
- package/governance/Token-Family-Layering.md +0 -1
- package/governance/Token-Family-Motion.md +1 -2
- package/governance/Token-Family-Opacity.md +0 -1
- package/governance/Token-Family-Radius.md +1 -2
- package/governance/Token-Family-Responsive.md +1 -2
- package/governance/Token-Family-Shadow.md +1 -2
- package/governance/Token-Family-Sizing.md +0 -1
- package/governance/Token-Family-Spacing.md +1 -2
- package/governance/Token-Family-Typography.md +1 -2
- package/governance/Token-Governance.md +8 -8
- package/governance/Token-Quick-Reference.md +47 -34
- package/governance/Token-Resolution-Patterns.md +1 -1
- package/governance/Token-Semantic-Structure.md +1 -1
- package/governance/Web-Authoring-Standards.md +5 -5
- package/governance/browser-distribution-guide.md +1 -4
- package/governance/classification-map.md +474 -0
- package/governance/completion-documentation-guide.md +23 -37
- package/governance/component-meta-authoring-guide.md +1 -1
- package/governance/cross-platform-vs-platform-specific-decision-framework.md +1 -1
- package/governance/platform-implementation-guidelines.md +2 -3
- package/governance/release-management-system.md +28 -63
- package/governance/rosetta-system-principles.md +8 -6
- package/governance/stemma-system-principles.md +18 -17
- package/mcp-server/src/index.ts +24 -6
- package/mcp-server/src/indexer/DocumentIndexer.ts +119 -9
- package/mcp-server/src/indexer/__tests__/bare-id-crossrefs.test.ts +250 -0
- package/mcp-server/src/indexer/cross-ref-parser.ts +29 -1
- package/mcp-server/src/indexer/index-health.ts +27 -2
- package/mcp-server/src/query/__tests__/find-docs-calibration.test.ts +11 -26
- package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +72 -5
- package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +81 -24
- package/mcp-server/src/tools/list-cross-references.ts +2 -2
- package/package.json +24 -26
- package/src/__tests__/browser-distribution/css-bundling.test.ts +6 -4
- package/src/__tests__/console-allowlist.json +14 -0
- package/src/__tests__/console-fail-setup.ts +169 -0
- package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +16 -0
- package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +70 -17
- package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +28 -0
- package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +223 -16
- package/src/__tests__/stemma-system/input-text-native-base-call-alignment.test.ts +298 -0
- package/src/blend/OklchBlendCalculator.ts +3 -0
- package/src/blend/ThemeAwareBlendUtilities.android.kt +3 -0
- package/src/blend/ThemeAwareBlendUtilities.ios.swift +3 -0
- package/src/blend/ThemeAwareBlendUtilities.web.ts +9 -1
- package/src/blend/__tests__/InteractionStateAudit.test.ts +12 -9
- package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +8 -0
- package/src/build/errors/__tests__/ErrorHandler.test.ts +5 -0
- package/src/build/tokens/__tests__/defineComponentTokens.test.ts +113 -0
- package/src/build/tokens/defineComponentTokens.ts +43 -1
- package/src/build/workflow/__tests__/CICDIntegration.test.ts +12 -1
- package/src/cli/__tests__/init.test.ts +45 -11
- package/src/components/core/Avatar-Base/Avatar-Base.schema.yaml +1 -1
- package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +121 -7
- package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +3 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +15 -6
- package/src/components/core/Avatar-Base/avatar.tokens.ts +31 -34
- package/src/components/core/Avatar-Base/contracts.yaml +11 -1
- package/src/components/core/Avatar-Base/index.ts +1 -1
- package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +24 -5
- package/src/components/core/Badge-Count-Base/contracts.yaml +1 -1
- package/src/components/core/Badge-Label-Base/contracts.yaml +1 -1
- package/src/components/core/Button-CTA/Button-CTA.schema.yaml +2 -12
- package/src/components/core/Button-CTA/README.md +3 -6
- package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +35 -89
- package/src/components/core/Button-CTA/__tests__/setup.test.ts +0 -2
- package/src/components/core/Button-CTA/__tests__/test-utils.ts +0 -2
- package/src/components/core/Button-CTA/contracts.yaml +6 -29
- package/src/components/core/Button-CTA/examples/BasicUsage.html +2 -14
- package/src/components/core/Button-CTA/examples/BasicUsage.tsx +17 -44
- package/src/components/core/Button-CTA/platforms/android/ButtonCTA.android.kt +12 -20
- package/src/components/core/Button-CTA/platforms/ios/ButtonCTA.ios.swift +12 -51
- package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +2 -26
- package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +18 -71
- package/src/components/core/Button-CTA/types.ts +10 -28
- package/src/components/core/Button-Icon/buttonIcon.tokens.ts +43 -27
- package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +13 -0
- package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +13 -0
- package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +13 -0
- package/src/components/core/Input-Text-Base/Input-Text-Base.schema.yaml +30 -2
- package/src/components/core/Input-Text-Base/README.md +25 -2
- package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +16 -15
- package/src/components/core/Input-Text-Base/contracts.yaml +90 -0
- package/src/components/core/Input-Text-Base/platforms/android/InputTextBase.android.kt +26 -12
- package/src/components/core/Input-Text-Base/platforms/ios/InputTextBase.ios.swift +195 -59
- package/src/components/core/Input-Text-Base/types.ts +13 -1
- package/src/components/core/Input-Text-Email/Input-Text-Email.schema.yaml +5 -1
- package/src/components/core/Input-Text-Email/README.md +8 -7
- package/src/components/core/Input-Text-Email/platforms/android/InputTextEmail.android.kt +1 -4
- package/src/components/core/Input-Text-Email/platforms/ios/InputTextEmail.ios.swift +2 -16
- package/src/components/core/Input-Text-Password/Input-Text-Password.schema.yaml +10 -3
- package/src/components/core/Input-Text-Password/README.md +9 -8
- package/src/components/core/Input-Text-Password/contracts.yaml +5 -0
- package/src/components/core/Input-Text-Password/platforms/android/InputTextPassword.android.kt +17 -7
- package/src/components/core/Input-Text-Password/platforms/ios/InputTextPassword.ios.swift +22 -20
- package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +11 -2
- package/src/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.schema.yaml +5 -1
- package/src/components/core/Input-Text-PhoneNumber/README.md +9 -8
- package/src/components/core/Input-Text-PhoneNumber/platforms/android/InputTextPhoneNumber.android.kt +2 -5
- package/src/components/core/Input-Text-PhoneNumber/platforms/ios/InputTextPhoneNumber.ios.swift +3 -17
- package/src/components/core/Nav-Header-App/contracts.yaml +1 -1
- package/src/components/core/Nav-SegmentedChoice-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Indicator-Connector-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Indicator-Label-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Indicator-Node-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +5 -2
- package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +5 -2
- package/src/generators/DTCGFormatGenerator.ts +6 -0
- package/src/generators/TokenFileGenerator.ts +7 -2
- package/src/generators/__tests__/DTCGConfigOptions.test.ts +14 -5
- package/src/integration/BuildErrorHandler.ts +2 -2
- package/src/tokens/OpacityTokens.ts +1 -1
- package/src/tokens/__tests__/OpacityTokens.test.ts +3 -1
- package/src/tokens/__tests__/ProgressTokenCompliance.test.ts +5 -3
- package/src/tokens/__tests__/ProgressTokenFormulas.test.ts +11 -11
- package/src/tokens/__tests__/ProgressTokenTranslation.test.ts +22 -20
- package/src/tokens/component/progress.ts +83 -21
- package/src/tokens/semantic/BlendTokens.ts +26 -5
- package/src/tokens/semantic/OpacityTokens.ts +4 -4
- package/src/types/ComponentTypes.ts +1 -1
- package/src/types/generated/TokenTypes.ts +1 -1
- package/src/validators/StemmaTokenUsageValidator.ts +3 -2
- package/token-index/components.yaml +8 -8
- package/token-index/semantics.yaml +1 -2
- package/src/tools/release/__tests__/ChangeClassifier.test.ts +0 -133
- package/src/tools/release/__tests__/ChangeExtractor.test.ts +0 -222
- package/src/tools/release/__tests__/GitHubPublisher.test.ts +0 -240
- package/src/tools/release/__tests__/NotesRenderer.test.ts +0 -142
- package/src/tools/release/__tests__/NpmPublisher.test.ts +0 -289
- package/src/tools/release/__tests__/PipelineIntegration.test.ts +0 -188
- package/src/tools/release/__tests__/ReleasePipeline.test.ts +0 -192
- package/src/tools/release/__tests__/SemanticVersionValidator.test.ts +0 -49
- package/src/tools/release/__tests__/SummaryScanner.test.ts +0 -141
- package/src/tools/release/__tests__/TagResolver.test.ts +0 -91
- package/src/tools/release/__tests__/VersionCalculator.test.ts +0 -270
- package/src/tools/release/__tests__/helpers/NpmMockHelper.ts +0 -80
- package/src/tools/release/cli/ReleasePipeline.ts +0 -165
- package/src/tools/release/cli/release-tool.ts +0 -107
- package/src/tools/release/pipeline/ChangeClassifier.ts +0 -61
- package/src/tools/release/pipeline/ChangeExtractor.ts +0 -87
- package/src/tools/release/pipeline/NotesRenderer.ts +0 -66
- package/src/tools/release/pipeline/SummaryScanner.ts +0 -70
- package/src/tools/release/pipeline/TagResolver.ts +0 -40
- package/src/tools/release/pipeline/VersionCalculator.ts +0 -375
- package/src/tools/release/publishers/GitHubPublisher.ts +0 -228
- package/src/tools/release/publishers/NpmPublisher.ts +0 -196
- package/src/tools/release/release-config.json +0 -5
- package/src/tools/release/types/index.ts +0 -282
- package/src/tools/release/validators/SemanticVersionValidator.ts +0 -67
|
@@ -313,10 +313,11 @@ Semantic color tokens are resolved into light and dark mode sets before generati
|
|
|
313
313
|
│ MODE RESOLUTION SUBSYSTEM │
|
|
314
314
|
├─────────────────────────────────────────────────────────────────────────────┤
|
|
315
315
|
│ │
|
|
316
|
-
│ Level 1: Primitive
|
|
317
|
-
│ ├── Primitives
|
|
318
|
-
│ ├──
|
|
319
|
-
│
|
|
316
|
+
│ Level 1: Primitive Value Resolution (no mode variance) │
|
|
317
|
+
│ ├── Primitives are single OKLCH triples — NO mode dimension (Spec 112) │
|
|
318
|
+
│ ├── No dark override → token falls back to the base (light) reference, │
|
|
319
|
+
│ │ resolving to the SAME value in both modes │
|
|
320
|
+
│ ├── The common case — see npm run audit:mode-parity for the live split │
|
|
320
321
|
│ └── Resolved by: SemanticValueResolver │
|
|
321
322
|
│ │
|
|
322
323
|
│ Level 2: Semantic Overrides │
|
|
@@ -334,7 +335,8 @@ Semantic color tokens are resolved into light and dark mode sets before generati
|
|
|
334
335
|
│ │
|
|
335
336
|
│ Fallback Behavior │
|
|
336
337
|
│ ├── Absent dark override → token uses base (light) primitive reference │
|
|
337
|
-
│
|
|
338
|
+
│ │ — the ONLY fallback that fires; primitives have no mode values to │
|
|
339
|
+
│ │ fall back from (legacy ColorTokens.ts is deprecated, Spec 115) │
|
|
338
340
|
│ ├── Fallback is graceful degradation, not build failure │
|
|
339
341
|
│ └── Mode parity audit reports fallback usage: npm run audit:mode-parity │
|
|
340
342
|
│ │
|
|
@@ -631,16 +633,16 @@ The exemption is **not silent**: each exempt subsystem has a **paired boot/smoke
|
|
|
631
633
|
|
|
632
634
|
```
|
|
633
635
|
# Get this document
|
|
634
|
-
get_document_full({ path: "
|
|
636
|
+
get_document_full({ path: "rosetta-system-architecture" })
|
|
635
637
|
|
|
636
638
|
# Get specific sections
|
|
637
|
-
get_section({ path: "
|
|
638
|
-
get_section({ path: "
|
|
639
|
-
get_section({ path: "
|
|
640
|
-
get_section({ path: "
|
|
639
|
+
get_section({ path: "rosetta-system-architecture", heading: "Token Pipeline Architecture" })
|
|
640
|
+
get_section({ path: "rosetta-system-architecture", heading: "OKLCH Color Pipeline" })
|
|
641
|
+
get_section({ path: "rosetta-system-architecture", heading: "Component Token Integration" })
|
|
642
|
+
get_section({ path: "rosetta-system-architecture", heading: "Subsystem Entry Points Summary" })
|
|
641
643
|
|
|
642
644
|
# For token creation governance and guides
|
|
643
|
-
get_section({ path: "
|
|
645
|
+
get_section({ path: "token-governance", heading: "Token Creation Guides" })
|
|
644
646
|
```
|
|
645
647
|
|
|
646
648
|
---
|
|
@@ -14,7 +14,7 @@ description: Framework for validating behavioral contracts across web, iOS, and
|
|
|
14
14
|
**Scope**: cross-project
|
|
15
15
|
**Layer**: 2
|
|
16
16
|
**Relevant Tasks**: component-development, cross-platform-validation, testing
|
|
17
|
-
**Last Reviewed**: 2026-
|
|
17
|
+
**Last Reviewed**: 2026-07-15
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -210,13 +210,11 @@ pressable_validation_checklist:
|
|
|
210
210
|
- [ ] Click/tap triggers action
|
|
211
211
|
- [ ] Enter key triggers action (web)
|
|
212
212
|
- [ ] Space key triggers action (web)
|
|
213
|
-
- [ ] Action NOT triggered when disabled
|
|
214
213
|
|
|
215
214
|
state_validation:
|
|
216
215
|
- [ ] Default state is correct
|
|
217
216
|
- [ ] Hover state appears (desktop only)
|
|
218
217
|
- [ ] Pressed/active state appears
|
|
219
|
-
- [ ] Disabled state prevents interaction
|
|
220
218
|
|
|
221
219
|
outcome_validation:
|
|
222
220
|
- [ ] onPress callback is invoked
|
|
@@ -226,7 +224,6 @@ pressable_validation_checklist:
|
|
|
226
224
|
|
|
227
225
|
accessibility_validation:
|
|
228
226
|
- [ ] role="button" or semantic button (web)
|
|
229
|
-
- [ ] aria-disabled when disabled (web)
|
|
230
227
|
- [ ] Screen reader announces button
|
|
231
228
|
|
|
232
229
|
cross_platform_validation:
|
|
@@ -305,38 +302,49 @@ error_state_validation_checklist:
|
|
|
305
302
|
- [ ] Android: TalkBack announces error
|
|
306
303
|
```
|
|
307
304
|
|
|
308
|
-
### Disabled State
|
|
305
|
+
### Disabled State Exclusion Guard Validation
|
|
309
306
|
|
|
310
|
-
**
|
|
307
|
+
**Provenance**: As of the 2026-07-15 adjudication (`.kiro/issues/button-cta-disabled-state-adjudication.md`), the no-disabled-states philosophy holds corpus-wide with **zero exceptions** — Button-CTA was the last component carrying `state_disabled`, and it has been removed. No component in the corpus may declare a disabled state as a behavioral contract, and `blend.disabledDesaturate` (along with the other disabled-state blend wrappers) is deprecated. Validation for this contract type has inverted: rather than validating that a disabled state behaves correctly, validation now confirms a disabled state does **not exist** and cannot be reintroduced.
|
|
308
|
+
|
|
309
|
+
**Contract Definition**: Component has no disabled state. Interaction affordances are always active; unavailable actions are handled by not rendering the component (or by another contract — see Philosophy Alternatives below), never by disabling it in place.
|
|
310
|
+
|
|
311
|
+
**Rationale**: DesignerPunk does not support disabled states for usability and accessibility reasons. If an action is unavailable, the component should not be rendered.
|
|
311
312
|
|
|
312
313
|
```yaml
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
- [ ]
|
|
316
|
-
- [ ]
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
- [ ] Component
|
|
320
|
-
- [ ] Component
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
- [ ]
|
|
326
|
-
- [ ]
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
- [ ] aria-disabled
|
|
331
|
-
- [ ]
|
|
332
|
-
|
|
333
|
-
|
|
314
|
+
disabled_state_exclusion_guard_checklist:
|
|
315
|
+
schema_validation:
|
|
316
|
+
- [ ] state_disabled is declared under contracts.yaml `excludes:` (NOT under `contracts:`)
|
|
317
|
+
- [ ] Excludes entry carries the standardized reason: "DesignerPunk does not support disabled states for usability and accessibility reasons. If an action is unavailable, the component should not be rendered."
|
|
318
|
+
|
|
319
|
+
api_surface_validation:
|
|
320
|
+
- [ ] Component exposes no disabled prop/property
|
|
321
|
+
- [ ] Component does not list `disabled` in observedAttributes (web) or an equivalent observed-attribute mechanism per platform
|
|
322
|
+
|
|
323
|
+
ignored_input_validation:
|
|
324
|
+
- [ ] A consumer-set disabled attribute is ignored — not forwarded to internal/shadow elements
|
|
325
|
+
- [ ] No disabled-styling class is applied when a disabled attribute is set
|
|
326
|
+
- [ ] No aria-disabled (or platform-equivalent) attribute is applied when a disabled attribute is set
|
|
327
|
+
- [ ] Press/activation still fires normally even when a consumer sets a disabled attribute
|
|
328
|
+
|
|
329
|
+
rendered_output_validation:
|
|
330
|
+
- [ ] No disabled attribute is ever rendered on any platform
|
|
331
|
+
- [ ] No aria-disabled attribute is ever rendered on any platform
|
|
332
|
+
- [ ] No platform-equivalent disabled semantic (e.g., Android `enabled = false`, iOS `.disabled()`) is ever applied
|
|
333
|
+
|
|
334
334
|
cross_platform_validation:
|
|
335
|
-
- [ ] Web: aria-disabled
|
|
336
|
-
- [ ] iOS:
|
|
337
|
-
- [ ] Android: enabled = false in semantics
|
|
335
|
+
- [ ] Web: no disabled/aria-disabled attribute, no tabindex=-1 for disabled reasons
|
|
336
|
+
- [ ] iOS: no `.disabled()` modifier applied
|
|
337
|
+
- [ ] Android: no `enabled = false` in semantics
|
|
338
338
|
```
|
|
339
339
|
|
|
340
|
+
**Philosophy Alternatives** — when a spec's design outline reaches for "disabled," redirect to the pattern that actually fits:
|
|
341
|
+
|
|
342
|
+
- **In-flight async action** → `state_loading` (component shows a loading/busy state; the action remains conceptually available, just pending)
|
|
343
|
+
- **Form input momentarily invalid** → validate-on-press / validate-on-submit (surface the error, do not disable the control)
|
|
344
|
+
- **Action genuinely unavailable** → do not render the component/action at all
|
|
345
|
+
|
|
346
|
+
**Mirror reference**: `src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts`, `describe('No Disabled State (philosophy exclusion)')` — the canonical exclusion-guard test block this checklist is derived from.
|
|
347
|
+
|
|
340
348
|
### Hover State Contract Validation
|
|
341
349
|
|
|
342
350
|
**Contract Definition**: Visual feedback on hover (desktop only)
|
|
@@ -347,7 +355,6 @@ hover_state_validation_checklist:
|
|
|
347
355
|
- [ ] Hover state triggers on mouse enter
|
|
348
356
|
- [ ] Hover state clears on mouse leave
|
|
349
357
|
- [ ] Hover state NOT shown on touch devices
|
|
350
|
-
- [ ] Hover state NOT shown when disabled
|
|
351
358
|
|
|
352
359
|
state_validation:
|
|
353
360
|
- [ ] Background color changes on hover
|
|
@@ -8,7 +8,7 @@ description: Reusable methodology for conducting test failure audits — workflo
|
|
|
8
8
|
# Test Failure Audit Methodology
|
|
9
9
|
|
|
10
10
|
**Date**: 2025-12-26
|
|
11
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
12
12
|
**Purpose**: Reusable methodology guidance for conducting test failure audits, including workflow steps, pattern identification, and lessons learned from Specs 025/026/029
|
|
13
13
|
**Organization**: process-standard
|
|
14
14
|
**Scope**: cross-project
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
id: token-family-accessibility
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Accessibility
|
|
5
|
-
aliases: accessibility token work
|
|
6
5
|
description: Accessibility token family — focus indicators, tap area sizing, and icon sizing tokens for WCAG 2.1 AA compliance. Load when working with focus states, touch targets, or accessibility-related token selection.
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# Accessibility Tokens Guide
|
|
10
9
|
|
|
11
10
|
**Date**: 2025-12-30
|
|
12
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
13
12
|
**Purpose**: Complete reference for accessibility-focused tokens including focus indicators, tap areas, and icon sizing
|
|
14
13
|
**Organization**: token-documentation
|
|
15
14
|
**Scope**: cross-project
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
id: token-family-blend
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Blend
|
|
5
|
-
|
|
6
|
-
description: Blend token family — color modification utilities (darken, lighten, saturate, desaturate) producing opaque colors. Load when working with hover/pressed/disabled/focus color states or theme-aware color blending.
|
|
5
|
+
description: Blend token family — color modification utilities (darken, lighten, saturate, desaturate) producing opaque colors. Load when working with hover/pressed/focus color states or theme-aware color blending.
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# Blend Tokens Guide
|
|
10
9
|
|
|
11
10
|
**Date**: 2025-12-29
|
|
12
|
-
**Last Reviewed**: 2026-
|
|
11
|
+
**Last Reviewed**: 2026-07-15
|
|
13
12
|
**Purpose**: Complete reference for blend tokens with utility functions and theme-aware patterns
|
|
14
13
|
**Organization**: token-documentation
|
|
15
14
|
**Scope**: cross-project
|
|
@@ -27,7 +26,9 @@ The DesignerPunk blend token system provides a mathematically consistent foundat
|
|
|
27
26
|
- **Opaque Color Results**: Blend operations produce new opaque colors, not transparent overlays
|
|
28
27
|
- **Cross-Platform Consistency**: Same blend calculations produce identical results (±1 RGB) across Web, iOS, and Android
|
|
29
28
|
- **Theme-Aware**: Blend utilities work correctly with both light and dark themes
|
|
30
|
-
- **Semantic Meaning**: Semantic blend tokens express design intent (hover, pressed,
|
|
29
|
+
- **Semantic Meaning**: Semantic blend tokens express design intent (hover, pressed, focus)
|
|
30
|
+
|
|
31
|
+
> **Deprecation note (2026-07-15)**: `blend.disabledDesaturate` and the `disabledColor()`/`disabledBlend()` convenience wrappers are **DEPRECATED**. DesignerPunk does not support disabled states (Button-CTA disabled-state adjudication, ruled REMOVE — the philosophy holds corpus-wide): if an action is unavailable, do not render the component. The deprecated surfaces remain for backward compatibility and are scheduled for removal in the next major version of `@3fn/core`. The generic `desaturate()` utilities are NOT deprecated.
|
|
31
32
|
|
|
32
33
|
---
|
|
33
34
|
|
|
@@ -54,7 +55,7 @@ Blend tokens can be applied in four directions:
|
|
|
54
55
|
| `darker` | Overlay black at specified opacity | Hover/pressed states on light backgrounds |
|
|
55
56
|
| `lighter` | Overlay white at specified opacity | Hover/pressed states on dark backgrounds, icon optical balance |
|
|
56
57
|
| `saturate` | Increase color saturation in HSL space | Focus states, emphasis |
|
|
57
|
-
| `desaturate` | Decrease color saturation in HSL space |
|
|
58
|
+
| `desaturate` | Decrease color saturation in HSL space | Muted, de-emphasized colors |
|
|
58
59
|
|
|
59
60
|
---
|
|
60
61
|
|
|
@@ -68,7 +69,7 @@ Semantic blend tokens provide contextual meaning for common color modification u
|
|
|
68
69
|
| `blend.hoverLighter` | blend200 | lighter | 8% | Hover feedback on dark backgrounds |
|
|
69
70
|
| `blend.pressedDarker` | blend300 | darker | 12% | Pressed state feedback |
|
|
70
71
|
| `blend.focusSaturate` | blend200 | saturate | 8% | Focus state with increased saturation |
|
|
71
|
-
| `blend.disabledDesaturate` | blend300 | desaturate | 12% |
|
|
72
|
+
| `blend.disabledDesaturate` | blend300 | desaturate | 12% | **DEPRECATED 2026-07-15** — no disabled states in DesignerPunk; removal at next major |
|
|
72
73
|
| `blend.containerHoverDarker` | blend100 | darker | 4% | Subtle container/surface hover |
|
|
73
74
|
| `color.icon.opticalBalance` | blend200 | lighter | 8% | Icon optical weight compensation |
|
|
74
75
|
|
|
@@ -107,7 +108,7 @@ import {
|
|
|
107
108
|
| `hoverColor(baseColor)` | darkerBlend | 8% (blend200) |
|
|
108
109
|
| `pressedColor(baseColor)` | darkerBlend | 12% (blend300) |
|
|
109
110
|
| `focusColor(baseColor)` | saturate | 8% (blend200) |
|
|
110
|
-
| `disabledColor(baseColor)` | desaturate |
|
|
111
|
+
| `disabledColor(baseColor)` | desaturate | **DEPRECATED 2026-07-15** — removal at next major |
|
|
111
112
|
| `iconColor(baseColor)` | lighterBlend | 8% (blend200) |
|
|
112
113
|
|
|
113
114
|
**Usage Example**:
|
|
@@ -125,7 +126,6 @@ class ButtonCTA extends HTMLElement {
|
|
|
125
126
|
// Calculate state colors
|
|
126
127
|
this._hoverColor = blendUtils.hoverColor(primaryColor);
|
|
127
128
|
this._pressedColor = blendUtils.pressedColor(primaryColor);
|
|
128
|
-
this._disabledColor = blendUtils.disabledColor(primaryColor);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
```
|
|
@@ -168,7 +168,7 @@ extension Color {
|
|
|
168
168
|
/// Focus state color (8% more saturated)
|
|
169
169
|
func focusBlend() -> Color
|
|
170
170
|
|
|
171
|
-
///
|
|
171
|
+
/// DEPRECATED 2026-07-15 — no disabled states in DesignerPunk; removal at next major
|
|
172
172
|
func disabledBlend() -> Color
|
|
173
173
|
|
|
174
174
|
/// Icon optical balance (8% lighter)
|
|
@@ -189,7 +189,6 @@ struct ButtonCTA: View {
|
|
|
189
189
|
.background(isPressed ? primaryColor.pressedBlend() :
|
|
190
190
|
isHovered ? primaryColor.hoverBlend() :
|
|
191
191
|
primaryColor)
|
|
192
|
-
.foregroundColor(isDisabled ? primaryColor.disabledBlend() : primaryColor)
|
|
193
192
|
}
|
|
194
193
|
}
|
|
195
194
|
```
|
|
@@ -216,7 +215,7 @@ fun Color.desaturate(amount: Float): Color
|
|
|
216
215
|
fun Color.hoverBlend(): Color // 8% darker
|
|
217
216
|
fun Color.pressedBlend(): Color // 12% darker
|
|
218
217
|
fun Color.focusBlend(): Color // 8% more saturated
|
|
219
|
-
fun Color.disabledBlend(): Color //
|
|
218
|
+
fun Color.disabledBlend(): Color // DEPRECATED 2026-07-15 — removal at next major
|
|
220
219
|
fun Color.iconBlend(): Color // 8% lighter
|
|
221
220
|
```
|
|
222
221
|
|
|
@@ -266,7 +265,6 @@ class ButtonCTA extends HTMLElement {
|
|
|
266
265
|
const blendUtils = getBlendUtilities();
|
|
267
266
|
this._hoverColor = blendUtils.hoverColor(primaryColor);
|
|
268
267
|
this._pressedColor = blendUtils.pressedColor(primaryColor);
|
|
269
|
-
this._disabledColor = blendUtils.disabledColor(primaryColor);
|
|
270
268
|
this._iconColor = blendUtils.iconColor(onPrimaryColor);
|
|
271
269
|
}
|
|
272
270
|
|
|
@@ -348,7 +346,6 @@ const iconStyle = { filter: 'brightness(1.08)' };
|
|
|
348
346
|
const blendUtils = getBlendUtilities();
|
|
349
347
|
const hoverColor = blendUtils.hoverColor(primaryColor); // darkerBlend 8%
|
|
350
348
|
const pressedColor = blendUtils.pressedColor(primaryColor); // darkerBlend 12%
|
|
351
|
-
const disabledColor = blendUtils.disabledColor(primaryColor); // desaturate 12%
|
|
352
349
|
const iconColor = blendUtils.iconColor(onPrimaryColor); // lighterBlend 8%
|
|
353
350
|
```
|
|
354
351
|
|
|
@@ -357,7 +354,6 @@ const iconColor = blendUtils.iconColor(onPrimaryColor); // lighterBlend 8%
|
|
|
357
354
|
```typescript
|
|
358
355
|
const blendUtils = getBlendUtilities();
|
|
359
356
|
const focusColor = blendUtils.focusColor(primaryColor); // saturate 8%
|
|
360
|
-
const disabledColor = blendUtils.disabledColor(primaryColor); // desaturate 12%
|
|
361
357
|
```
|
|
362
358
|
|
|
363
359
|
### Container Component
|
|
@@ -414,7 +410,6 @@ Use semantic blend tokens for standard interaction states:
|
|
|
414
410
|
| Hover (dark bg) | `blend.hoverLighter` | `lighterBlend(color, 0.08)` |
|
|
415
411
|
| Pressed | `blend.pressedDarker` | `pressedColor()` |
|
|
416
412
|
| Focus | `blend.focusSaturate` | `focusColor()` |
|
|
417
|
-
| Disabled | `blend.disabledDesaturate` | `disabledColor()` |
|
|
418
413
|
| Container hover | `blend.containerHoverDarker` | `darkerBlend(color, 0.04)` |
|
|
419
414
|
| Icon optical | `color.icon.opticalBalance` | `iconColor()` |
|
|
420
415
|
|
|
@@ -433,6 +428,13 @@ const emphasisColor = blendUtils.darkerBlend(color, 0.16); // blend400 = 16%
|
|
|
433
428
|
|
|
434
429
|
### Anti-Patterns to Avoid
|
|
435
430
|
|
|
431
|
+
**❌ Don't style disabled states**:
|
|
432
|
+
```typescript
|
|
433
|
+
// WRONG: DesignerPunk does not support disabled states (adjudicated 2026-07-15).
|
|
434
|
+
// If an action is unavailable, do not render the component.
|
|
435
|
+
const disabledColor = blendUtils.disabledColor(primaryColor);
|
|
436
|
+
```
|
|
437
|
+
|
|
436
438
|
**❌ Don't use opacity for state colors**:
|
|
437
439
|
```typescript
|
|
438
440
|
// WRONG: Opacity creates transparency, not new colors
|
|
@@ -481,7 +483,7 @@ blend500 = base × 5 = 0.04 × 5 = 0.20 (20%)
|
|
|
481
483
|
| blend.hoverLighter | blend200 | 8% |
|
|
482
484
|
| blend.pressedDarker | blend300 | 12% |
|
|
483
485
|
| blend.focusSaturate | blend200 | 8% |
|
|
484
|
-
| blend.disabledDesaturate | blend300 | 12% |
|
|
486
|
+
| blend.disabledDesaturate (deprecated) | blend300 | 12% |
|
|
485
487
|
| blend.containerHoverDarker | blend100 | 4% |
|
|
486
488
|
| color.icon.opticalBalance | blend200 | 8% |
|
|
487
489
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
id: token-family-blur
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Blur
|
|
5
|
-
aliases: blur token work
|
|
6
5
|
description: Unified blur token family — single primitive scale for shadow edge softness, glow radial spread, and surface/backdrop blur. Load when working with shadows, glows, translucent surfaces, or any blur effect.
|
|
7
6
|
---
|
|
8
7
|
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
id: token-family-border
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Border
|
|
5
|
-
aliases: border token work
|
|
6
5
|
description: Border token family — border width tokens with doubling progression and numeric naming. Load when working with border widths, dividers, or outline styles.
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# Border Tokens Guide
|
|
10
9
|
|
|
11
10
|
**Date**: 2025-12-30
|
|
12
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
13
12
|
**Purpose**: Complete reference for border width tokens with numeric naming convention and mathematical relationships
|
|
14
13
|
**Organization**: token-documentation
|
|
15
14
|
**Scope**: cross-project
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
id: token-family-color
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Color
|
|
5
|
-
aliases: color token work
|
|
6
5
|
description: Color token family — OKLCH channel-primitive architecture, palette structure, semantic color tokens, neutral partition, blend model, theme support, and WCAG compliance. Load when working with color tokens, color selection, theme variants, or color-related accessibility.
|
|
7
6
|
---
|
|
8
7
|
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
id: token-family-glow
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Glow
|
|
5
|
-
aliases: glow token work
|
|
6
5
|
description: Glow token family — radial emphasis and energy effects with zero-offset blur, opacity, and color primitives. Load when working with glow effects, emphasis indicators, or interactive energy states.
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# Glow Token Usage Documentation
|
|
10
9
|
|
|
11
10
|
**Date**: 2025-10-24
|
|
12
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
13
12
|
**Purpose**: Glow token reference and usage guide
|
|
14
13
|
**Organization**: token-documentation
|
|
15
14
|
**Scope**: cross-project
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
id: token-family-layering
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Layering
|
|
5
|
-
aliases: layering z-index token work
|
|
6
5
|
description: Layering token family — z-index (web/iOS) and elevation (Android) tokens for element stacking order. Load when working with overlays, modals, tooltips, or any stacking context decisions.
|
|
7
6
|
---
|
|
8
7
|
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
id: token-family-motion
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Motion
|
|
5
|
-
aliases: motion easing token work
|
|
6
5
|
description: Motion token family — animation duration, easing curves, and scale primitives for consistent transitions. Load when working with animations, transitions, micro-interactions, or motion timing.
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# Motion Token Usage Documentation
|
|
10
9
|
|
|
11
10
|
**Date**: 2025-12-06
|
|
12
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
13
12
|
**Purpose**: Motion token reference and usage guide
|
|
14
13
|
**Organization**: token-documentation
|
|
15
14
|
**Scope**: cross-project
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
id: token-family-opacity
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Opacity
|
|
5
|
-
aliases: opacity token work
|
|
6
5
|
description: Opacity token family — transparency tokens with 8% base increment system and 14-token percentage-based scale (opacity000–opacity100). Load when working with transparency effects, disabled states, overlays, or visual hierarchy through opacity.
|
|
7
6
|
---
|
|
8
7
|
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
id: token-family-radius
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Radius
|
|
5
|
-
aliases: radius token work
|
|
6
5
|
description: Radius token family — corner rounding tokens on 8-unit baseline grid with strategic flexibility exceptions. Load when working with border-radius, rounded corners, or pill/circle shapes.
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# Radius Tokens Guide
|
|
10
9
|
|
|
11
10
|
**Date**: 2025-12-30
|
|
12
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
13
12
|
**Purpose**: Complete reference for radius tokens with numeric naming convention and mathematical relationships
|
|
14
13
|
**Organization**: token-documentation
|
|
15
14
|
**Scope**: cross-project
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
id: token-family-responsive
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Responsive
|
|
5
|
-
aliases: responsive token work
|
|
6
5
|
description: Responsive token family — breakpoint and density tokens for adaptive interfaces. Load when working with responsive layouts, viewport breakpoints, or density-based scaling.
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# Responsive Tokens Guide
|
|
10
9
|
|
|
11
10
|
**Date**: 2025-12-30
|
|
12
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
13
12
|
**Purpose**: Complete reference for breakpoint and density tokens enabling responsive design across platforms
|
|
14
13
|
**Organization**: token-documentation
|
|
15
14
|
**Scope**: cross-project
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
id: token-family-shadow
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Shadow
|
|
5
|
-
aliases: shadow token work
|
|
6
5
|
description: Shadow token family — directional depth effects with compositional offset, blur, opacity, and color primitives. Load when working with elevation, depth, card shadows, or spatial hierarchy.
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# Shadow Token Usage Documentation
|
|
10
9
|
|
|
11
10
|
**Date**: 2025-10-24
|
|
12
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
13
12
|
**Purpose**: Shadow token reference and usage guide
|
|
14
13
|
**Organization**: token-documentation
|
|
15
14
|
**Scope**: cross-project
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
id: token-family-sizing
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Sizing
|
|
5
|
-
aliases: sizing token work
|
|
6
5
|
description: Sizing token family — component dimensions (width, height, box size). Separate from spacing (gaps). Load when working with component sizes, avatar dimensions, button sizes, or any component dimensional value.
|
|
7
6
|
---
|
|
8
7
|
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
id: token-family-spacing
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Spacing
|
|
5
|
-
aliases: spacing token work
|
|
6
5
|
description: Spacing token family — layout and component spacing on 8-unit baseline grid with strategic flexibility exceptions. Load when working with padding, margins, gaps, or any spatial layout decisions.
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# Spacing Tokens Guide
|
|
10
9
|
|
|
11
10
|
**Date**: 2025-11-26
|
|
12
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
13
12
|
**Purpose**: Complete reference for spacing tokens with numeric naming convention and mathematical relationships
|
|
14
13
|
**Organization**: token-documentation
|
|
15
14
|
**Scope**: cross-project
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
id: token-family-typography
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: Token-Family-Typography
|
|
5
|
-
aliases: typography token work
|
|
6
5
|
description: Typography token family — compositional typography tokens combining fontSize, lineHeight, fontFamily, fontWeight, and letterSpacing. Load when working with text styles, font selection, or typographic hierarchy.
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# Typography Tokens Guide
|
|
10
9
|
|
|
11
10
|
**Date**: 2025-12-09
|
|
12
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
13
12
|
**Purpose**: Complete reference for typography tokens with font family usage and weight mapping guidance
|
|
14
13
|
**Organization**: token-documentation
|
|
15
14
|
**Scope**: cross-project
|
|
@@ -625,15 +625,15 @@ This gate exists to prevent ungoverned growth of the modifier pattern. The opaci
|
|
|
625
625
|
|
|
626
626
|
```
|
|
627
627
|
# Get this document
|
|
628
|
-
get_document_full({ path: "
|
|
628
|
+
get_document_full({ path: "token-governance" })
|
|
629
629
|
|
|
630
630
|
# Get specific sections
|
|
631
|
-
get_section({ path: "
|
|
632
|
-
get_section({ path: "
|
|
633
|
-
get_section({ path: "
|
|
634
|
-
get_section({ path: "
|
|
635
|
-
get_section({ path: "
|
|
636
|
-
get_section({ path: "
|
|
631
|
+
get_section({ path: "token-governance", heading: "Token Selection Matrix" })
|
|
632
|
+
get_section({ path: "token-governance", heading: "Token Usage Governance" })
|
|
633
|
+
get_section({ path: "token-governance", heading: "Token Creation Governance" })
|
|
634
|
+
get_section({ path: "token-governance", heading: "Prior Acknowledgment" })
|
|
635
|
+
get_section({ path: "token-governance", heading: "Decision Examples" })
|
|
636
|
+
get_section({ path: "token-governance", heading: "Token Creation Guides" })
|
|
637
637
|
```
|
|
638
638
|
|
|
639
639
|
---
|
|
@@ -645,7 +645,7 @@ get_section({ path: ".kiro/steering/Token-Governance.md", heading: "Token Creati
|
|
|
645
645
|
- [Rosetta System Principles](rosetta-system-principles) — Mathematical foundations
|
|
646
646
|
- [Token Quick Reference](token-quick-reference) — Token documentation routing
|
|
647
647
|
- [Token Category Pattern Guide](../specs/token-system/token-category-pattern-guide.md) — Detailed primitive/semantic creation patterns
|
|
648
|
-
- [Core Goals](core-goals) — Project principles including token-first approach
|
|
648
|
+
- [Core Goals](../.kiro/steering/core-goals.md) — Project principles including token-first approach
|
|
649
649
|
- [Design Authority](../specs/051-semantic-token-naming-restructure/design-outline.md) — Semantic token naming restructure design
|
|
650
650
|
|
|
651
651
|
### DTCG Integration
|