@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
|
@@ -13,7 +13,7 @@ description: Token documentation routing table — maps token types to their MCP
|
|
|
13
13
|
**Scope**: cross-project
|
|
14
14
|
**Layer**: 2
|
|
15
15
|
**Relevant Tasks**: component-development, token-selection, styling
|
|
16
|
-
**Last Reviewed**: 2026-
|
|
16
|
+
**Last Reviewed**: 2026-08-25
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
@@ -52,32 +52,50 @@ This document serves as a routing table for token documentation—it helps AI ag
|
|
|
52
52
|
|
|
53
53
|
Semantic color tokens support light/dark mode through a two-level resolution system. Use this guide to determine how a token behaves across modes.
|
|
54
54
|
|
|
55
|
+
**Prerequisite fact (Spec 112).** Color primitives have **no mode dimension**. A primitive is a single OKLCH triple (`{ l, c, h }`) composed from channel references in `src/tokens/color/` — the same value in light and dark. Mode differentiation therefore happens **only** at the semantic tier, via a theme override. Zero primitives in the system carry differing light/dark values.
|
|
56
|
+
|
|
55
57
|
### Does My Token Need a Dark Override?
|
|
56
58
|
|
|
57
59
|
| Question | Answer | Resolution Level |
|
|
58
60
|
|----------|--------|-----------------|
|
|
59
|
-
| Is the token mode-invariant (print, glow, scrim, contrast.onLight/onDark)? | Yes → same value in both modes | Mode-invariant — no
|
|
60
|
-
|
|
|
61
|
-
| Does the token need a *different primitive
|
|
61
|
+
| Is the token mode-invariant *by design* (print, glow, scrim, contrast.onLight/onDark)? | Yes → same value in both modes, declared as intentional | Mode-invariant — listed in `MODE_INVARIANT_TOKENS` (`src/validators/ModeParity.ts`); no theme-file entry needed |
|
|
62
|
+
| Is the same value correct in both modes? | Yes → no override | **Level 1** — leave the token **commented out** in the dark theme file; it falls back to the base (light) reference |
|
|
63
|
+
| Does the token need a *different primitive* in dark mode (role remapping)? | Yes → override needed | **Level 2** — add an active entry to the appropriate theme's SemanticOverrides |
|
|
64
|
+
|
|
65
|
+
> **Level 1 does not mean "the primitive handles it."** No primitive varies by mode. Level 1 means *the token deliberately resolves to the same value in both modes*, and the commented-out theme-file line is the record of that decision. A token that must actually change in dark mode needs a Level 2 override — there is no other mechanism.
|
|
62
66
|
|
|
63
|
-
### Level 1 Example (
|
|
67
|
+
### Level 1 Example (Falls Back to Base — Same Value in Both Modes)
|
|
64
68
|
|
|
65
|
-
`color.
|
|
69
|
+
`color.feedback.error.text` references `pink400`. It has no active dark override; the entry sits commented out in the dark theme file (`src/tokens/themes/dark/SemanticOverrides.ts:27`):
|
|
70
|
+
```typescript
|
|
71
|
+
// color.feedback.error.text: { value: 'pink400' }
|
|
66
72
|
```
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
`pink400` resolves to one OKLCH value used in both modes — `l` 0.55 (`channels/lightness/chromatic.ts`), `c` 0.203 (`channels/chroma/chromatic.ts`), `h` 10 (`channels/hues.ts`). The emitted CSS carries a single value with no `light-dark()` wrapper (`dist/DesignTokens.web.css:527`):
|
|
74
|
+
```css
|
|
75
|
+
--color-feedback-error-text: oklch(0.55 0.203 10);
|
|
69
76
|
```
|
|
70
|
-
No semantic override needed — the primitive handles differentiation.
|
|
71
77
|
|
|
72
78
|
### Level 2 Example (Semantic Override)
|
|
73
79
|
|
|
74
|
-
`color.
|
|
80
|
+
`color.structure.canvas` references `white100` in light mode, but dark mode needs `gray400` (a different primitive). The dark theme overrides the reference (`src/tokens/themes/dark/SemanticOverrides.ts:163`):
|
|
75
81
|
```typescript
|
|
76
82
|
// Dark theme SemanticOverrides
|
|
77
83
|
export const darkSemanticOverrides: SemanticOverrideMap = {
|
|
78
|
-
'color.
|
|
84
|
+
'color.structure.canvas': { primitiveReferences: { value: 'gray400' } },
|
|
79
85
|
};
|
|
80
86
|
```
|
|
87
|
+
Because the modes now resolve to different values, the generator emits a mode-aware value (`dist/DesignTokens.web.css:559`):
|
|
88
|
+
```css
|
|
89
|
+
--color-structure-canvas: light-dark(oklch(1 0 260), oklch(0.42 0.018 260));
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Which File Actually Changes a Color?
|
|
93
|
+
|
|
94
|
+
| Goal | Edit | Note |
|
|
95
|
+
|------|------|------|
|
|
96
|
+
| Make a semantic token differ by mode | The theme's `SemanticOverrides.ts` (Level 2) | The only mechanism that produces mode variance |
|
|
97
|
+
| Change a primitive's color value | `src/tokens/color/channels/**` (lightness / chroma / hue) | Changes the primitive in **both** modes and every theme; composed into named primitives in `src/tokens/color/primitives/**` |
|
|
98
|
+
| — | ~~`src/tokens/ColorTokens.ts`~~ | **Deprecated (Spec 115).** `SemanticValueResolver.resolveColorPrimitive()` consults `composedColorMap` first, so for all 50 OKLCH primitives the legacy `light`/`dark`/`wcag` slots are never read on the CSS/Swift/Kotlin path. Only the four shadow primitives (`shadowBlack100`, `shadowBlue100`, `shadowOrange100`, `shadowGray100`) still fall through to it. It *is* still the sole source for DTCG/Figma primitive export — see `.kiro/issues/2026-08-25-dual-color-source-divergence.md`. |
|
|
81
99
|
|
|
82
100
|
### Context Resolution
|
|
83
101
|
|
|
@@ -122,8 +140,8 @@ See Rosetta-System-Architecture § Stage 5: Generation for why these two definit
|
|
|
122
140
|
### MCP Queries for Mode Architecture
|
|
123
141
|
|
|
124
142
|
```
|
|
125
|
-
get_section({ path: "
|
|
126
|
-
get_section({ path: "
|
|
143
|
+
get_section({ path: "rosetta-system-architecture", heading: "Stage 4: Mode Resolution (Spec 080)" })
|
|
144
|
+
get_section({ path: "token-quick-reference", heading: "Mode-Aware Token Lookup (Spec 080)" })
|
|
127
145
|
```
|
|
128
146
|
|
|
129
147
|
---
|
|
@@ -286,9 +304,9 @@ Use these MCP queries to access token documentation progressively:
|
|
|
286
304
|
Returns metadata and outline (~200 tokens) to understand document structure:
|
|
287
305
|
|
|
288
306
|
```
|
|
289
|
-
get_document_summary({ path: "
|
|
290
|
-
get_document_summary({ path: "
|
|
291
|
-
get_document_summary({ path: "
|
|
307
|
+
get_document_summary({ path: "token-family-color" })
|
|
308
|
+
get_document_summary({ path: "token-family-spacing" })
|
|
309
|
+
get_document_summary({ path: "token-family-typography" })
|
|
292
310
|
```
|
|
293
311
|
|
|
294
312
|
### Get Specific Section
|
|
@@ -296,48 +314,43 @@ Returns targeted content (~2,000 tokens) for specific information:
|
|
|
296
314
|
|
|
297
315
|
```
|
|
298
316
|
// Get color concept tokens by category
|
|
299
|
-
get_section({ path: "
|
|
300
|
-
get_section({ path: "
|
|
301
|
-
get_section({ path: ".kiro/steering/Token-Family-Color.md", heading: "Action Concept" })
|
|
302
|
-
get_section({ path: ".kiro/steering/Token-Family-Color.md", heading: "Contrast Concept" })
|
|
303
|
-
get_section({ path: ".kiro/steering/Token-Family-Color.md", heading: "Structure Concept" })
|
|
304
|
-
|
|
305
|
-
// Get component-specific color tokens
|
|
306
|
-
get_section({ path: ".kiro/steering/Token-Family-Color.md", heading: "Component Tokens" })
|
|
317
|
+
get_section({ path: "token-family-color", heading: "Feedback Concept" })
|
|
318
|
+
get_section({ path: "token-family-color", heading: "Identity, Action, Contrast, Structure, Progress" })
|
|
307
319
|
|
|
308
320
|
// Get primitive color families
|
|
309
|
-
get_section({ path: "
|
|
321
|
+
get_section({ path: "token-family-color", heading: "Neutral Partition" })
|
|
322
|
+
get_section({ path: "token-family-color", heading: "Chromatic Families" })
|
|
310
323
|
|
|
311
324
|
// Get spacing scale values
|
|
312
|
-
get_section({ path: "
|
|
325
|
+
get_section({ path: "token-family-spacing", heading: "Primitive Spacing Tokens" })
|
|
313
326
|
|
|
314
327
|
// Get typography composition patterns
|
|
315
|
-
get_section({ path: "
|
|
328
|
+
get_section({ path: "token-family-typography", heading: "Typography Token Categories" })
|
|
316
329
|
|
|
317
330
|
// Get shadow elevation levels
|
|
318
|
-
get_section({ path: "
|
|
331
|
+
get_section({ path: "token-family-shadow", heading: "Shadow Semantic Tokens" })
|
|
319
332
|
|
|
320
333
|
// Get radius values
|
|
321
|
-
get_section({ path: "
|
|
334
|
+
get_section({ path: "token-family-radius", heading: "Primitive Radius Tokens" })
|
|
322
335
|
|
|
323
336
|
// Get border width values
|
|
324
|
-
get_section({ path: "
|
|
337
|
+
get_section({ path: "token-family-border", heading: "Primitive Border Width Tokens" })
|
|
325
338
|
|
|
326
339
|
// Get opacity values
|
|
327
|
-
get_section({ path: "
|
|
340
|
+
get_section({ path: "token-family-opacity", heading: "Primitive Opacity Tokens" })
|
|
328
341
|
|
|
329
342
|
// Get breakpoint values
|
|
330
|
-
get_section({ path: "
|
|
343
|
+
get_section({ path: "token-family-responsive", heading: "Breakpoint Tokens" })
|
|
331
344
|
|
|
332
345
|
// Get tap area requirements
|
|
333
|
-
get_section({ path: "
|
|
346
|
+
get_section({ path: "token-family-accessibility", heading: "Tap Area Tokens" })
|
|
334
347
|
```
|
|
335
348
|
|
|
336
349
|
### Get Full Document
|
|
337
350
|
Returns complete content (2,000-15,000 tokens) when comprehensive reference needed:
|
|
338
351
|
|
|
339
352
|
```
|
|
340
|
-
get_document_full({ path: "
|
|
353
|
+
get_document_full({ path: "token-family-color" })
|
|
341
354
|
```
|
|
342
355
|
|
|
343
356
|
### Recommended Workflow
|
|
@@ -8,7 +8,7 @@ description: Token resolution patterns — fixed vs flexible token types, valida
|
|
|
8
8
|
# Token Resolution Patterns
|
|
9
9
|
|
|
10
10
|
**Date**: 2025-12-19
|
|
11
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
12
12
|
**Purpose**: Strategic guidance on handling flexible token types with validation and type safety
|
|
13
13
|
**Organization**: process-standard
|
|
14
14
|
**Scope**: cross-project
|
|
@@ -9,7 +9,7 @@ description: Semantic token structure guide — SemanticToken interface requirem
|
|
|
9
9
|
# Semantic Token Structure Guide
|
|
10
10
|
|
|
11
11
|
**Date**: 2025-11-17
|
|
12
|
-
**Last Reviewed**:
|
|
12
|
+
**Last Reviewed**: 2026-07-08
|
|
13
13
|
**Purpose**: Document SemanticToken interface requirements and usage patterns
|
|
14
14
|
**Organization**: token-documentation
|
|
15
15
|
**Scope**: cross-project
|
|
@@ -391,13 +391,13 @@ gap: 24px; /* "I'll tokenize this later" — no you won't, session memory is los
|
|
|
391
391
|
|
|
392
392
|
For the full document:
|
|
393
393
|
```
|
|
394
|
-
get_document_full({ path: "
|
|
394
|
+
get_document_full({ path: "web-authoring-standards" })
|
|
395
395
|
```
|
|
396
396
|
|
|
397
397
|
For specific sections:
|
|
398
398
|
```
|
|
399
|
-
get_section({ path: "
|
|
400
|
-
get_section({ path: "
|
|
401
|
-
get_section({ path: "
|
|
402
|
-
get_section({ path: "
|
|
399
|
+
get_section({ path: "web-authoring-standards", heading: "Hard Rules" })
|
|
400
|
+
get_section({ path: "web-authoring-standards", heading: "3. Token Priority" })
|
|
401
|
+
get_section({ path: "web-authoring-standards", heading: "Product Token Authoring (Sparky)" })
|
|
402
|
+
get_section({ path: "web-authoring-standards", heading: "Naming Schema" })
|
|
403
403
|
```
|
|
@@ -8,7 +8,7 @@ description: Guide for loading and using DesignerPunk web components in browsers
|
|
|
8
8
|
# Browser Distribution Guide
|
|
9
9
|
|
|
10
10
|
**Date**: 2025-12-23
|
|
11
|
-
**Last Reviewed**:
|
|
11
|
+
**Last Reviewed**: 2026-07-08
|
|
12
12
|
**Purpose**: Guide for loading and using DesignerPunk web components directly in browsers
|
|
13
13
|
**Organization**: process-standard
|
|
14
14
|
**Scope**: cross-project
|
|
@@ -345,9 +345,6 @@ Call-to-action button with variants, sizes, and icon support.
|
|
|
345
345
|
<button-cta label="Primary" variant="primary"></button-cta>
|
|
346
346
|
<button-cta label="Secondary" variant="secondary"></button-cta>
|
|
347
347
|
<button-cta label="Tertiary" variant="tertiary"></button-cta>
|
|
348
|
-
|
|
349
|
-
<!-- Disabled state -->
|
|
350
|
-
<button-cta label="Disabled" variant="primary" disabled></button-cta>
|
|
351
348
|
```
|
|
352
349
|
|
|
353
350
|
**Events:**
|