@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.
Files changed (284) hide show
  1. package/.kiro/agents/ada-prompt.md +80 -132
  2. package/.kiro/agents/ada-prompt.md.attribution.json +45 -0
  3. package/.kiro/agents/ada.json +44 -59
  4. package/.kiro/agents/ada.json.attribution.json +13 -0
  5. package/.kiro/agents/data-prompt.md +83 -74
  6. package/.kiro/agents/data-prompt.md.attribution.json +53 -0
  7. package/.kiro/agents/data.json +31 -38
  8. package/.kiro/agents/data.json.attribution.json +13 -0
  9. package/.kiro/agents/kenya-prompt.md +83 -72
  10. package/.kiro/agents/kenya-prompt.md.attribution.json +53 -0
  11. package/.kiro/agents/kenya.json +27 -35
  12. package/.kiro/agents/kenya.json.attribution.json +13 -0
  13. package/.kiro/agents/leonardo-prompt.md +176 -234
  14. package/.kiro/agents/leonardo-prompt.md.attribution.json +45 -0
  15. package/.kiro/agents/leonardo.json +28 -36
  16. package/.kiro/agents/leonardo.json.attribution.json +13 -0
  17. package/.kiro/agents/lina-prompt.md +110 -151
  18. package/.kiro/agents/lina-prompt.md.attribution.json +53 -0
  19. package/.kiro/agents/lina.json +46 -59
  20. package/.kiro/agents/lina.json.attribution.json +13 -0
  21. package/.kiro/agents/sparky-prompt.md +89 -72
  22. package/.kiro/agents/sparky-prompt.md.attribution.json +53 -0
  23. package/.kiro/agents/sparky.json +37 -37
  24. package/.kiro/agents/sparky.json.attribution.json +13 -0
  25. package/.kiro/agents/stacy-prompt.md +74 -48
  26. package/.kiro/agents/stacy-prompt.md.attribution.json +45 -0
  27. package/.kiro/agents/stacy.json +28 -30
  28. package/.kiro/agents/stacy.json.attribution.json +13 -0
  29. package/.kiro/agents/thurgood-prompt.md +94 -138
  30. package/.kiro/agents/thurgood-prompt.md.attribution.json +45 -0
  31. package/.kiro/agents/thurgood.json +31 -35
  32. package/.kiro/agents/thurgood.json.attribution.json +13 -0
  33. package/.kiro/steering/AI-Collaboration-Principles.md +3 -3
  34. package/.kiro/steering/Civitas-System-Overview.md +7 -16
  35. package/.kiro/steering/DesignerPunk-Systems-Overview.md +6 -6
  36. package/.kiro/steering/Spec-Feedback-Protocol.md +2 -11
  37. package/.kiro/steering/Task-Completion-Protocol.md +98 -17
  38. package/.kiro/steering/core-goals.md +3 -3
  39. package/.kiro/steering/personal-note.md +1 -1
  40. package/.kiro/steering/start-up-tasks.md +17 -6
  41. package/application-mcp-server/src/index.ts +26 -0
  42. package/dist/ComponentTokens.android.kt +12 -12
  43. package/dist/ComponentTokens.ios.swift +12 -12
  44. package/dist/ComponentTokens.web.css +3 -3
  45. package/dist/DesignTokens.android.kt +1 -1
  46. package/dist/DesignTokens.dtcg.json +8 -5
  47. package/dist/DesignTokens.figma.json +2 -2
  48. package/dist/DesignTokens.ios.swift +1 -1
  49. package/dist/DesignTokens.web.css +1 -1
  50. package/dist/android/DesignTokens.android.kt +1 -1
  51. package/dist/blend/OklchBlendCalculator.js +1 -0
  52. package/dist/blend/ThemeAwareBlendUtilities.web.d.ts +13 -2
  53. package/dist/blend/ThemeAwareBlendUtilities.web.js +6 -1
  54. package/dist/browser/designerpunk.esm.js +36 -90
  55. package/dist/browser/designerpunk.esm.min.js +33 -36
  56. package/dist/browser/designerpunk.umd.js +36 -90
  57. package/dist/browser/designerpunk.umd.min.js +47 -50
  58. package/dist/browser/tokens.css +3 -3
  59. package/dist/build/tokens/defineComponentTokens.d.ts +10 -0
  60. package/dist/build/tokens/defineComponentTokens.js +26 -0
  61. package/dist/components/core/Avatar-Base/avatar.tokens.d.ts +21 -26
  62. package/dist/components/core/Avatar-Base/avatar.tokens.js +31 -34
  63. package/dist/components/core/Avatar-Base/index.d.ts +1 -1
  64. package/dist/components/core/Avatar-Base/index.js +2 -2
  65. package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.js +24 -5
  66. package/dist/components/core/Button-CTA/examples/BasicUsage.d.ts +16 -28
  67. package/dist/components/core/Button-CTA/examples/BasicUsage.js +18 -43
  68. package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.d.ts +3 -15
  69. package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.js +9 -58
  70. package/dist/components/core/Button-CTA/types.d.ts +0 -24
  71. package/dist/components/core/Button-CTA/types.js +6 -0
  72. package/dist/components/core/Button-Icon/buttonIcon.tokens.d.ts +28 -14
  73. package/dist/components/core/Button-Icon/buttonIcon.tokens.js +35 -20
  74. package/dist/components/core/Input-Text-Base/types.d.ts +13 -1
  75. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +11 -2
  76. package/dist/generators/DTCGFormatGenerator.js +8 -0
  77. package/dist/generators/TokenFileGenerator.js +7 -2
  78. package/dist/integration/BuildErrorHandler.js +2 -2
  79. package/dist/ios/DesignTokens.ios.swift +1 -1
  80. package/dist/mcp/application-mcp.js +24 -0
  81. package/dist/mcp/docs-mcp.js +130 -15
  82. package/dist/mcp/product-mcp.js +25 -0
  83. package/dist/tokens/OpacityTokens.js +1 -1
  84. package/dist/tokens/component/progress.d.ts +65 -5
  85. package/dist/tokens/component/progress.js +79 -18
  86. package/dist/tokens/semantic/BlendTokens.d.ts +10 -3
  87. package/dist/tokens/semantic/BlendTokens.js +17 -5
  88. package/dist/tokens/semantic/OpacityTokens.d.ts +4 -4
  89. package/dist/tokens/semantic/OpacityTokens.js +4 -4
  90. package/dist/types/ComponentTypes.d.ts +1 -1
  91. package/dist/types/generated/TokenTypes.d.ts +1 -1
  92. package/dist/types/generated/TokenTypes.js +1 -1
  93. package/dist/validators/StemmaTokenUsageValidator.js +3 -2
  94. package/dist/web/DesignTokens.web.css +1 -1
  95. package/governance/BUILD-SYSTEM-SETUP.md +1 -2
  96. package/governance/Component-Development-Guide.md +23 -13
  97. package/governance/Component-Development-Standards.md +21 -20
  98. package/governance/Component-Family-Avatar.md +6 -7
  99. package/governance/Component-Family-Badge.md +19 -20
  100. package/governance/Component-Family-Button.md +30 -43
  101. package/governance/Component-Family-Chip.md +14 -15
  102. package/governance/Component-Family-Container.md +12 -13
  103. package/governance/Component-Family-Data-Display.md +1 -2
  104. package/governance/Component-Family-Divider.md +1 -2
  105. package/governance/Component-Family-Form-Inputs.md +65 -65
  106. package/governance/Component-Family-Icon.md +9 -10
  107. package/governance/Component-Family-Loading.md +1 -2
  108. package/governance/Component-Family-Modal.md +1 -2
  109. package/governance/Component-Family-Navigation.md +1 -2
  110. package/governance/Component-Family-Progress.md +0 -1
  111. package/governance/Component-Inheritance-Structures.md +219 -99
  112. package/governance/Component-MCP-Document-Template.md +6 -5
  113. package/governance/Component-Primitive-vs-Semantic-Philosophy.md +1 -1
  114. package/governance/Component-Quick-Reference.md +33 -33
  115. package/governance/Component-Readiness-Status.md +59 -44
  116. package/governance/Component-Templates.md +57 -61
  117. package/governance/Contract-System-Reference.md +7 -7
  118. package/governance/MCP-Integration-Guide.md +1 -1
  119. package/governance/Process-Cross-Reference-Standards.md +31 -13
  120. package/governance/Process-Development-Workflow.md +49 -59
  121. package/governance/Process-File-Organization.md +25 -28
  122. package/governance/Process-Hook-Operations.md +22 -11
  123. package/governance/Process-Orchestration-Model-Selection.md +92 -0
  124. package/governance/Process-Spec-Planning.md +98 -52
  125. package/governance/Process-Task-Type-Definitions.md +80 -4
  126. package/governance/Product-Handoff-Protocol.md +2 -0
  127. package/governance/Rosetta-System-Architecture.md +13 -11
  128. package/governance/Test-Behavioral-Contract-Validation.md +38 -31
  129. package/governance/Test-Failure-Audit-Methodology.md +1 -1
  130. package/governance/Token-Family-Accessibility.md +1 -2
  131. package/governance/Token-Family-Blend.md +18 -16
  132. package/governance/Token-Family-Blur.md +0 -1
  133. package/governance/Token-Family-Border.md +1 -2
  134. package/governance/Token-Family-Color.md +0 -1
  135. package/governance/Token-Family-Glow.md +1 -2
  136. package/governance/Token-Family-Layering.md +0 -1
  137. package/governance/Token-Family-Motion.md +1 -2
  138. package/governance/Token-Family-Opacity.md +0 -1
  139. package/governance/Token-Family-Radius.md +1 -2
  140. package/governance/Token-Family-Responsive.md +1 -2
  141. package/governance/Token-Family-Shadow.md +1 -2
  142. package/governance/Token-Family-Sizing.md +0 -1
  143. package/governance/Token-Family-Spacing.md +1 -2
  144. package/governance/Token-Family-Typography.md +1 -2
  145. package/governance/Token-Governance.md +8 -8
  146. package/governance/Token-Quick-Reference.md +47 -34
  147. package/governance/Token-Resolution-Patterns.md +1 -1
  148. package/governance/Token-Semantic-Structure.md +1 -1
  149. package/governance/Web-Authoring-Standards.md +5 -5
  150. package/governance/browser-distribution-guide.md +1 -4
  151. package/governance/classification-map.md +474 -0
  152. package/governance/completion-documentation-guide.md +23 -37
  153. package/governance/component-meta-authoring-guide.md +1 -1
  154. package/governance/cross-platform-vs-platform-specific-decision-framework.md +1 -1
  155. package/governance/platform-implementation-guidelines.md +2 -3
  156. package/governance/release-management-system.md +28 -63
  157. package/governance/rosetta-system-principles.md +8 -6
  158. package/governance/stemma-system-principles.md +18 -17
  159. package/mcp-server/src/index.ts +24 -6
  160. package/mcp-server/src/indexer/DocumentIndexer.ts +119 -9
  161. package/mcp-server/src/indexer/__tests__/bare-id-crossrefs.test.ts +250 -0
  162. package/mcp-server/src/indexer/cross-ref-parser.ts +29 -1
  163. package/mcp-server/src/indexer/index-health.ts +27 -2
  164. package/mcp-server/src/query/__tests__/find-docs-calibration.test.ts +11 -26
  165. package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +72 -5
  166. package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +81 -24
  167. package/mcp-server/src/tools/list-cross-references.ts +2 -2
  168. package/package.json +24 -26
  169. package/src/__tests__/browser-distribution/css-bundling.test.ts +6 -4
  170. package/src/__tests__/console-allowlist.json +14 -0
  171. package/src/__tests__/console-fail-setup.ts +169 -0
  172. package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +16 -0
  173. package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +70 -17
  174. package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +28 -0
  175. package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +223 -16
  176. package/src/__tests__/stemma-system/input-text-native-base-call-alignment.test.ts +298 -0
  177. package/src/blend/OklchBlendCalculator.ts +3 -0
  178. package/src/blend/ThemeAwareBlendUtilities.android.kt +3 -0
  179. package/src/blend/ThemeAwareBlendUtilities.ios.swift +3 -0
  180. package/src/blend/ThemeAwareBlendUtilities.web.ts +9 -1
  181. package/src/blend/__tests__/InteractionStateAudit.test.ts +12 -9
  182. package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +8 -0
  183. package/src/build/errors/__tests__/ErrorHandler.test.ts +5 -0
  184. package/src/build/tokens/__tests__/defineComponentTokens.test.ts +113 -0
  185. package/src/build/tokens/defineComponentTokens.ts +43 -1
  186. package/src/build/workflow/__tests__/CICDIntegration.test.ts +12 -1
  187. package/src/cli/__tests__/init.test.ts +45 -11
  188. package/src/components/core/Avatar-Base/Avatar-Base.schema.yaml +1 -1
  189. package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +121 -7
  190. package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +3 -0
  191. package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +15 -6
  192. package/src/components/core/Avatar-Base/avatar.tokens.ts +31 -34
  193. package/src/components/core/Avatar-Base/contracts.yaml +11 -1
  194. package/src/components/core/Avatar-Base/index.ts +1 -1
  195. package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +24 -5
  196. package/src/components/core/Badge-Count-Base/contracts.yaml +1 -1
  197. package/src/components/core/Badge-Label-Base/contracts.yaml +1 -1
  198. package/src/components/core/Button-CTA/Button-CTA.schema.yaml +2 -12
  199. package/src/components/core/Button-CTA/README.md +3 -6
  200. package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +35 -89
  201. package/src/components/core/Button-CTA/__tests__/setup.test.ts +0 -2
  202. package/src/components/core/Button-CTA/__tests__/test-utils.ts +0 -2
  203. package/src/components/core/Button-CTA/contracts.yaml +6 -29
  204. package/src/components/core/Button-CTA/examples/BasicUsage.html +2 -14
  205. package/src/components/core/Button-CTA/examples/BasicUsage.tsx +17 -44
  206. package/src/components/core/Button-CTA/platforms/android/ButtonCTA.android.kt +12 -20
  207. package/src/components/core/Button-CTA/platforms/ios/ButtonCTA.ios.swift +12 -51
  208. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +2 -26
  209. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +18 -71
  210. package/src/components/core/Button-CTA/types.ts +10 -28
  211. package/src/components/core/Button-Icon/buttonIcon.tokens.ts +43 -27
  212. package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +13 -0
  213. package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +13 -0
  214. package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +13 -0
  215. package/src/components/core/Input-Text-Base/Input-Text-Base.schema.yaml +30 -2
  216. package/src/components/core/Input-Text-Base/README.md +25 -2
  217. package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +16 -15
  218. package/src/components/core/Input-Text-Base/contracts.yaml +90 -0
  219. package/src/components/core/Input-Text-Base/platforms/android/InputTextBase.android.kt +26 -12
  220. package/src/components/core/Input-Text-Base/platforms/ios/InputTextBase.ios.swift +195 -59
  221. package/src/components/core/Input-Text-Base/types.ts +13 -1
  222. package/src/components/core/Input-Text-Email/Input-Text-Email.schema.yaml +5 -1
  223. package/src/components/core/Input-Text-Email/README.md +8 -7
  224. package/src/components/core/Input-Text-Email/platforms/android/InputTextEmail.android.kt +1 -4
  225. package/src/components/core/Input-Text-Email/platforms/ios/InputTextEmail.ios.swift +2 -16
  226. package/src/components/core/Input-Text-Password/Input-Text-Password.schema.yaml +10 -3
  227. package/src/components/core/Input-Text-Password/README.md +9 -8
  228. package/src/components/core/Input-Text-Password/contracts.yaml +5 -0
  229. package/src/components/core/Input-Text-Password/platforms/android/InputTextPassword.android.kt +17 -7
  230. package/src/components/core/Input-Text-Password/platforms/ios/InputTextPassword.ios.swift +22 -20
  231. package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +11 -2
  232. package/src/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.schema.yaml +5 -1
  233. package/src/components/core/Input-Text-PhoneNumber/README.md +9 -8
  234. package/src/components/core/Input-Text-PhoneNumber/platforms/android/InputTextPhoneNumber.android.kt +2 -5
  235. package/src/components/core/Input-Text-PhoneNumber/platforms/ios/InputTextPhoneNumber.ios.swift +3 -17
  236. package/src/components/core/Nav-Header-App/contracts.yaml +1 -1
  237. package/src/components/core/Nav-SegmentedChoice-Base/contracts.yaml +1 -1
  238. package/src/components/core/Progress-Indicator-Connector-Base/contracts.yaml +1 -1
  239. package/src/components/core/Progress-Indicator-Label-Base/contracts.yaml +1 -1
  240. package/src/components/core/Progress-Indicator-Node-Base/contracts.yaml +1 -1
  241. package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +5 -2
  242. package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +5 -2
  243. package/src/generators/DTCGFormatGenerator.ts +6 -0
  244. package/src/generators/TokenFileGenerator.ts +7 -2
  245. package/src/generators/__tests__/DTCGConfigOptions.test.ts +14 -5
  246. package/src/integration/BuildErrorHandler.ts +2 -2
  247. package/src/tokens/OpacityTokens.ts +1 -1
  248. package/src/tokens/__tests__/OpacityTokens.test.ts +3 -1
  249. package/src/tokens/__tests__/ProgressTokenCompliance.test.ts +5 -3
  250. package/src/tokens/__tests__/ProgressTokenFormulas.test.ts +11 -11
  251. package/src/tokens/__tests__/ProgressTokenTranslation.test.ts +22 -20
  252. package/src/tokens/component/progress.ts +83 -21
  253. package/src/tokens/semantic/BlendTokens.ts +26 -5
  254. package/src/tokens/semantic/OpacityTokens.ts +4 -4
  255. package/src/types/ComponentTypes.ts +1 -1
  256. package/src/types/generated/TokenTypes.ts +1 -1
  257. package/src/validators/StemmaTokenUsageValidator.ts +3 -2
  258. package/token-index/components.yaml +8 -8
  259. package/token-index/semantics.yaml +1 -2
  260. package/src/tools/release/__tests__/ChangeClassifier.test.ts +0 -133
  261. package/src/tools/release/__tests__/ChangeExtractor.test.ts +0 -222
  262. package/src/tools/release/__tests__/GitHubPublisher.test.ts +0 -240
  263. package/src/tools/release/__tests__/NotesRenderer.test.ts +0 -142
  264. package/src/tools/release/__tests__/NpmPublisher.test.ts +0 -289
  265. package/src/tools/release/__tests__/PipelineIntegration.test.ts +0 -188
  266. package/src/tools/release/__tests__/ReleasePipeline.test.ts +0 -192
  267. package/src/tools/release/__tests__/SemanticVersionValidator.test.ts +0 -49
  268. package/src/tools/release/__tests__/SummaryScanner.test.ts +0 -141
  269. package/src/tools/release/__tests__/TagResolver.test.ts +0 -91
  270. package/src/tools/release/__tests__/VersionCalculator.test.ts +0 -270
  271. package/src/tools/release/__tests__/helpers/NpmMockHelper.ts +0 -80
  272. package/src/tools/release/cli/ReleasePipeline.ts +0 -165
  273. package/src/tools/release/cli/release-tool.ts +0 -107
  274. package/src/tools/release/pipeline/ChangeClassifier.ts +0 -61
  275. package/src/tools/release/pipeline/ChangeExtractor.ts +0 -87
  276. package/src/tools/release/pipeline/NotesRenderer.ts +0 -66
  277. package/src/tools/release/pipeline/SummaryScanner.ts +0 -70
  278. package/src/tools/release/pipeline/TagResolver.ts +0 -40
  279. package/src/tools/release/pipeline/VersionCalculator.ts +0 -375
  280. package/src/tools/release/publishers/GitHubPublisher.ts +0 -228
  281. package/src/tools/release/publishers/NpmPublisher.ts +0 -196
  282. package/src/tools/release/release-config.json +0 -5
  283. package/src/tools/release/types/index.ts +0 -282
  284. package/src/tools/release/validators/SemanticVersionValidator.ts +0 -67
@@ -13,7 +13,7 @@ description: Complete inheritance structures and behavioral contracts for all 13
13
13
  **Scope**: cross-project
14
14
  **Layer**: 2
15
15
  **Relevant Tasks**: component-development, architecture, spec-planning
16
- **Last Reviewed**: 2026-01-02
16
+ **Last Reviewed**: 2026-07-09
17
17
 
18
18
  ---
19
19
 
@@ -22,36 +22,44 @@ description: Complete inheritance structures and behavioral contracts for all 13
22
22
  This document defines the complete inheritance structures for all 13 component families in the Stemma System. Each family section includes primitive component definition, semantic variants, behavioral contracts, and relationship diagrams.
23
23
 
24
24
  **Status Legend**:
25
- - ๐ŸŸข **Production Ready**: Fully implemented, tested, documented
26
- - ๐ŸŸก **Beta**: Implemented but may have minor issues
27
- - ๐Ÿ”ด **Placeholder**: Structural definition only - do NOT use
25
+ - ๐ŸŸข **Production Ready**: Fully implemented, tested, documented across ALL declared platforms (web, iOS, Android)
26
+ - ๐ŸŸก **Web-ready, mobile-scaffold**: Shipping โ€” web is production-ready; iOS and Android are scaffold (structure present, not yet test-covered). Safe on web; treat mobile as not-yet-ready. (This is the current state of most shipped families; per-component per-platform detail lives in `Component-Readiness-Status.md` ยง "Individual Component Status".)
27
+ - ๐Ÿ”ด **Placeholder**: Structural definition only โ€” no components ship, do NOT use
28
+
29
+ > **Note on planned inheritance names**: several family sections below describe the *planned* inheritance architecture using aspirational primitive names (e.g., `Badge-Base`, `Nav-Base`) that predate the shipped components. Where a family ships, its **Component Summary** table reflects the actual shipped components and their status; the inheritance diagram may still show the originally-planned shape. The shipped catalog is authoritative โ€” see `Component-Readiness-Status.md` and the Application MCP.
28
30
 
29
31
  ---
30
32
 
31
33
  ## Family Status Summary
32
34
 
33
- | Family | Primitive Base | Status | Semantic Variants |
34
- |--------|----------------|--------|-------------------|
35
- | Form Inputs | Input-Text-Base | ๐ŸŸข | Email, Password, PhoneNumber |
36
- | Buttons | Button-CTA | ๐ŸŸข | Standalone (styling via props) |
37
- | Containers | Container-Base | ๐ŸŸข | Card, Panel, Hero (planned) |
38
- | Icons | Icon-Base | ๐ŸŸข | Status, Action, Navigation (planned) |
35
+ All 13 families are listed. ๐ŸŸก/๐ŸŸข families ship; ๐Ÿ”ด families are genuine placeholders (no components ship).
36
+
37
+ | Family | Primitive Base | Status | Shipped / Planned Variants |
38
+ |--------|----------------|--------|----------------------------|
39
+ | Form Inputs | Input-Text-Base | ๐ŸŸก | Checkbox (Base, Legal), Radio (Base, Set), Text (Email, Password, PhoneNumber) |
40
+ | Buttons | Button-CTA | ๐ŸŸข | CTA, Icon, VerticalList-Item, VerticalList-Set |
41
+ | Containers | Container-Base | ๐ŸŸก | Card (shipped); Panel, Hero (planned) |
42
+ | Icons | Icon-Base | ๐ŸŸก | Base shipped; Status, Action, Navigation (planned) |
43
+ | Avatars | Avatar-Base | ๐ŸŸก | Base shipped; User, Group, Entity (planned) |
44
+ | Badges and Tags | Badge-Count-Base | ๐ŸŸก | Count-Base, Count-Notification, Label-Base |
45
+ | Chips | Chip-Base | ๐ŸŸก | Base, Filter, Input |
46
+ | Navigation | Nav-Header-Base | ๐ŸŸก | Header-Page, Header-App, SegmentedChoice-Base, TabBar-Base |
47
+ | Progress Indicators | Progress-Indicator-Node-Base | ๐ŸŸก | Bar-Base, Indicator-Node/Connector/Label-Base, Pagination-Base, Stepper-Base, Stepper-Detailed |
39
48
  | Modals | Modal-Base | ๐Ÿ”ด | Dialog, Sheet, Drawer, Popover |
40
- | Avatars | Avatar-Base | ๐Ÿ”ด | User, Group, Entity |
41
- | Badges and Tags | Badge-Base | ๐Ÿ”ด | Status, Tag, Notification, Label |
42
49
  | Data Displays | Display-Base | ๐Ÿ”ด | Text, List, Table, Media, Empty |
43
50
  | Dividers | Divider-Base | ๐Ÿ”ด | Horizontal, Vertical |
44
51
  | Loading | Loading-Base | ๐Ÿ”ด | Spinner, Progress, Skeleton |
45
- | Navigation | Nav-Base | ๐Ÿ”ด | Tabs, Breadcrumb, List, Bar |
46
52
 
47
53
  ---
48
54
 
49
55
  ## 1. Form Inputs Family
50
56
 
51
- **Status**: ๐ŸŸข Production Ready
57
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
52
58
  **Shared Need**: Data collection and validation
53
59
  **Primitive Base**: Input-Text-Base
54
60
 
61
+ > Beyond the Text inputs detailed below, this family also ships **Checkbox** (Input-Checkbox-Base, Input-Checkbox-Legal) and **Radio** (Input-Radio-Base, Input-Radio-Set) โ€” all web ๐ŸŸข / iOSยทAndroid scaffold. See `Component-Readiness-Status.md` for the full per-component list.
62
+
55
63
  ### Inheritance Structure
56
64
 
57
65
  Input-Text-Base (Primitive) โ”‚ โ”œโ”€โ”€ Input-Text-Email (Semantic) โ”‚ โ””โ”€โ”€ Email validation + autocomplete โ”‚ โ”œโ”€โ”€ Input-Text-Password (Semantic) โ”‚ โ””โ”€โ”€ Secure input + password toggle โ”‚ โ””โ”€โ”€ Input-Text-PhoneNumber (Semantic) โ””โ”€โ”€ Phone formatting + international validation
@@ -61,28 +69,30 @@ Input-Text-Base (Primitive) โ”‚ โ”œโ”€โ”€ Input-Text-Email (Semantic) โ”‚ โ””โ”€
61
69
 
62
70
  | Component | Type | Status | Description |
63
71
  |-----------|------|--------|-------------|
64
- | Input-Text-Base | Primitive | ๐ŸŸข | Foundational text input with float label pattern |
65
- | Input-Text-Email | Semantic | ๐ŸŸข | Email validation + autocomplete |
66
- | Input-Text-Password | Semantic | ๐ŸŸข | Secure input + password toggle |
67
- | Input-Text-PhoneNumber | Semantic | ๐ŸŸข | Phone formatting + international validation |
72
+ | Input-Text-Base | Primitive | ๐ŸŸก | Foundational text input with float label pattern (web ๐ŸŸข; iOS/Android scaffold) |
73
+ | Input-Text-Email | Semantic | ๐ŸŸก | Email validation + autocomplete (web ๐ŸŸข; iOS/Android scaffold) |
74
+ | Input-Text-Password | Semantic | ๐ŸŸก | Secure input + password toggle (web ๐ŸŸข; iOS/Android scaffold) |
75
+ | Input-Text-PhoneNumber | Semantic | ๐ŸŸก | Phone formatting + international validation (web ๐ŸŸข; iOS/Android scaffold) |
68
76
 
69
77
  ### Behavioral Contracts
70
78
 
71
79
  **Base Contracts (9 total)**:
72
- - `focusable` - Keyboard focus support (WCAG 2.1.1)
73
- - `float_label_animation` - Label animates on focus (WCAG 2.3.3)
74
- - `validates_on_blur` - Validation triggers on blur (WCAG 3.3.1)
75
- - `error_state_display` - Error message and styling (WCAG 3.3.1, 1.4.1)
76
- - `success_state_display` - Success styling (WCAG 1.4.1)
77
- - `disabled_state` - Prevents interaction when disabled (WCAG 4.1.2)
78
- - `trailing_icon_display` - Contextual trailing icons
79
- - `focus_ring` - WCAG 2.4.7 focus visible indicator
80
- - `reduced_motion_support` - Respects prefers-reduced-motion
80
+ - `interaction_focusable` - Keyboard focus support (WCAG 2.1.1)
81
+ - `content_float_label` - Label animates on focus (WCAG 2.3.3)
82
+ - `validation_on_blur` - Validation triggers on blur (WCAG 3.3.1)
83
+ - `state_error` - Error message and styling (WCAG 3.3.1)
84
+ - `state_readonly` - Non-editable value that stays perceivable, selectable, and copyable โ€” never disabled semantics (WCAG 4.1.2)
85
+ - `state_success` - Success styling (WCAG 1.4.1)
86
+ - `content_trailing_icon` - Contextual trailing icons (WCAG 1.4.1)
87
+ - `interaction_focus_ring` - WCAG 2.4.7 focus visible indicator
88
+ - `accessibility_reduced_motion` - Respects prefers-reduced-motion (WCAG 2.3.3)
89
+
90
+ **Excluded**: `state_disabled` โ€” DesignerPunk does not support disabled states for usability and accessibility reasons (adjudicated 2026-07-15; see `.kiro/issues/button-cta-disabled-state-adjudication.md`).
81
91
 
82
92
  **Extended Contracts by Variant**:
83
- - **Email**: `validates_email_format`, `provides_email_autocomplete`
84
- - **Password**: `provides_secure_input`, `supports_password_toggle`, `provides_password_autocomplete`
85
- - **PhoneNumber**: `validates_phone_format`, `provides_phone_formatting`, `supports_international_formats`
93
+ - **Email**: `validation_email_format`, `interaction_email_autocomplete`
94
+ - **Password**: `interaction_secure_input`, `interaction_password_toggle`, `interaction_password_autocomplete` (also excludes `state_readonly`)
95
+ - **PhoneNumber**: `validation_phone_format`, `content_phone_formatting`, `content_international_formats`
86
96
 
87
97
  ### Token Dependencies
88
98
 
@@ -97,7 +107,7 @@ Input-Text-Base (Primitive) โ”‚ โ”œโ”€โ”€ Input-Text-Email (Semantic) โ”‚ โ””โ”€
97
107
  ### MCP Documentation
98
108
 
99
109
  - **Full Documentation**: `.kiro/steering/Component-Family-Form-Inputs.md`
100
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Form-Inputs.md" })`
110
+ - **Query**: `get_document_full({ path: "component-family-form-inputs" })`
101
111
 
102
112
  ---
103
113
 
@@ -109,14 +119,21 @@ Input-Text-Base (Primitive) โ”‚ โ”œโ”€โ”€ Input-Text-Email (Semantic) โ”‚ โ””โ”€
109
119
 
110
120
  ### Inheritance Structure
111
121
 
112
- Button-CTA (Standalone) โ”‚ โ””โ”€โ”€ Styling via props (variant: primary | secondary | tertiary) โ””โ”€โ”€ No behavioral variants - single component with styling props
122
+ Button-CTA (Standalone) โ€” styling via props (variant: primary | secondary | tertiary)
123
+ Button-Icon (Primitive) โ€” compact icon-only button
124
+ Button-VerticalList-Item (Primitive) โ†’ Button-VerticalList-Set (Pattern) โ€” vertical action menu
113
125
 
114
126
 
115
127
  ### Component Summary
116
128
 
117
129
  | Component | Type | Status | Description |
118
130
  |-----------|------|--------|-------------|
119
- | Button-CTA | Standalone | ๐ŸŸข | Call-to-action button with variant prop for styling |
131
+ | Button-CTA | Standalone | ๐ŸŸก | Call-to-action button with variant prop (web ๐ŸŸข; iOS/Android scaffold) |
132
+ | Button-Icon | Primitive | ๐ŸŸก | Compact icon-only button (web ๐ŸŸข; iOS/Android scaffold) |
133
+ | Button-VerticalList-Item | Primitive | ๐ŸŸข | Single action item in a vertical list menu (production-ready all platforms) |
134
+ | Button-VerticalList-Set | Pattern | ๐ŸŸข | Groups VerticalList-Item into a mode-driven action menu (production-ready all platforms) |
135
+
136
+ **Family status note**: the Buttons family is marked ๐ŸŸข in the summary table because it contains all-platform-production components (VerticalList-Item/Set). Its CTA and Icon members are themselves web-ready/mobile-scaffold (๐ŸŸก).
120
137
 
121
138
  ### Naming Convention Note
122
139
 
@@ -127,15 +144,16 @@ Button-CTA uses the `[Family]-[Type]` pattern (not `[Family]-[Type]-Base`) becau
127
144
 
128
145
  ### Behavioral Contracts
129
146
 
130
- **Contracts (7 total)**:
131
- - `clickable` - Responds to click/tap interactions (WCAG 2.1.1)
132
- - `focusable` - Keyboard focus support (WCAG 2.1.1)
133
- - `disabled_state` - Prevents interaction when disabled (WCAG 4.1.2)
134
- - `loading_state` - Shows loading indicator during async operations
147
+ **Contracts (6 total)**:
148
+ - `interaction_pressable` - Responds to click/tap interactions (WCAG 2.1.1)
149
+ - `interaction_focusable` - Keyboard focus support (WCAG 2.1.1)
150
+ - `state_loading` - Shows loading indicator during async operations
135
151
  - `icon_support` - Supports leading/trailing icons
136
- - `focus_ring` - WCAG 2.4.7 focus visible indicator
152
+ - `interaction_focus_ring` - WCAG 2.4.7 focus visible indicator
137
153
  - `reduced_motion_support` - Respects prefers-reduced-motion
138
154
 
155
+ **Excluded**: `state_disabled` โ€” DesignerPunk does not support disabled states for usability and accessibility reasons (adjudicated 2026-07-15; see `.kiro/issues/button-cta-disabled-state-adjudication.md`).
156
+
139
157
  ### Token Dependencies
140
158
 
141
159
  | Category | Tokens |
@@ -149,13 +167,13 @@ Button-CTA uses the `[Family]-[Type]` pattern (not `[Family]-[Type]-Base`) becau
149
167
  ### MCP Documentation
150
168
 
151
169
  - **Full Documentation**: `.kiro/steering/Component-Family-Button.md`
152
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Button.md" })`
170
+ - **Query**: `get_document_full({ path: "component-family-button" })`
153
171
 
154
172
  ---
155
173
 
156
174
  ## 3. Containers Family
157
175
 
158
- **Status**: ๐ŸŸข Production Ready
176
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
159
177
  **Shared Need**: Layout and content organization
160
178
  **Primitive Base**: Container-Base
161
179
 
@@ -168,8 +186,8 @@ Container-Base (Primitive) โ”‚ โ”œโ”€โ”€ Container-Card (Semantic) [Planned] โ”‚
168
186
 
169
187
  | Component | Type | Status | Description |
170
188
  |-----------|------|--------|-------------|
171
- | Container-Base | Primitive | ๐ŸŸข | Foundational layout container |
172
- | Container-Card | Semantic | ๐Ÿ”ด Planned | Elevated card with shadow |
189
+ | Container-Base | Primitive | ๐ŸŸก | Foundational layout container (web ๐ŸŸข; iOS/Android scaffold) |
190
+ | Container-Card-Base | Type-Primitive | ๐ŸŸก | Elevated card for dashboards/stat cards/previews (web ๐ŸŸข; iOS/Android scaffold) |
173
191
  | Container-Panel | Semantic | ๐Ÿ”ด Planned | Flat panel for sections |
174
192
  | Container-Hero | Semantic | ๐Ÿ”ด Planned | Full-width hero section |
175
193
 
@@ -183,12 +201,12 @@ Container-Base uses the `[Family]-Base` pattern because:
183
201
  ### Behavioral Contracts
184
202
 
185
203
  **Contracts (7 total)**:
186
- - `contains_children` - Can contain child components
187
- - `applies_padding` - Applies consistent internal padding
188
- - `applies_background` - Supports background color/image
189
- - `applies_border` - Supports border styling
190
- - `applies_shadow` - Supports elevation shadow
191
- - `applies_radius` - Supports border radius
204
+ - `layout_contains_children` - Can contain child components
205
+ - `layout_padding` - Applies consistent internal padding
206
+ - `visual_background` - Supports background color/image
207
+ - `visual_border` - Supports border styling
208
+ - `visual_shadow` - Supports elevation shadow
209
+ - `visual_radius` - Supports border radius
192
210
  - `responsive_layout` - Adapts to container width
193
211
 
194
212
  ### Token Dependencies
@@ -203,13 +221,13 @@ Container-Base uses the `[Family]-Base` pattern because:
203
221
  ### MCP Documentation
204
222
 
205
223
  - **Full Documentation**: `.kiro/steering/Component-Family-Container.md`
206
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Container.md" })`
224
+ - **Query**: `get_document_full({ path: "component-family-container" })`
207
225
 
208
226
  ---
209
227
 
210
228
  ## 4. Icons Family
211
229
 
212
- **Status**: ๐ŸŸข Production Ready
230
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
213
231
  **Shared Need**: Visual communication
214
232
  **Primitive Base**: Icon-Base
215
233
 
@@ -222,7 +240,7 @@ Icon-Base (Primitive) โ”‚ โ”œโ”€โ”€ Icon-Status (Semantic) [Planned] โ”‚ โ””โ”€
222
240
 
223
241
  | Component | Type | Status | Description |
224
242
  |-----------|------|--------|-------------|
225
- | Icon-Base | Primitive | ๐ŸŸข | Foundational icon component |
243
+ | Icon-Base | Primitive | ๐ŸŸก | Foundational inline SVG icon, inherits parent text color (web ๐ŸŸข; iOS/Android scaffold) |
226
244
  | Icon-Status | Semantic | ๐Ÿ”ด Planned | Status indicator icons |
227
245
  | Icon-Action | Semantic | ๐Ÿ”ด Planned | Action icons |
228
246
  | Icon-Navigation | Semantic | ๐Ÿ”ด Planned | Navigation icons |
@@ -236,9 +254,9 @@ Icon-Base uses the `[Family]-Base` pattern because:
236
254
  ### Behavioral Contracts
237
255
 
238
256
  **Contracts (5 total)**:
239
- - `renders_svg` - Renders SVG icon content
240
- - `scales_with_size` - Scales proportionally with size prop
241
- - `inherits_color` - Inherits color from parent or uses explicit color
257
+ - `visual_renders_svg` - Renders SVG icon content
258
+ - `visual_size_variants` - Scales proportionally with size prop
259
+ - `visual_color_inheritance` - Inherits color from parent or uses explicit color
242
260
  - `accessible_label` - Provides accessible label for screen readers
243
261
  - `decorative_mode` - Can be marked as decorative (aria-hidden)
244
262
 
@@ -252,7 +270,7 @@ Icon-Base uses the `[Family]-Base` pattern because:
252
270
  ### MCP Documentation
253
271
 
254
272
  - **Full Documentation**: `.kiro/steering/Component-Family-Icon.md`
255
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Icon.md" })`
273
+ - **Query**: `get_document_full({ path: "component-family-icon" })`
256
274
 
257
275
  ---
258
276
 
@@ -306,31 +324,31 @@ Modal-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Modal-Dialog (Semantic) [Plac
306
324
  ### MCP Documentation
307
325
 
308
326
  - **Full Documentation**: `.kiro/steering/Component-Family-Modal.md`
309
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Modal.md" })`
327
+ - **Query**: `get_document_full({ path: "component-family-modal" })`
310
328
 
311
329
  ---
312
330
 
313
331
  ## 6. Avatars Family
314
332
 
315
- **Status**: ๐Ÿ”ด Placeholder
333
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
316
334
  **Shared Need**: Identity representation
317
335
  **Primitive Base**: Avatar-Base
318
336
 
319
337
  ### Inheritance Structure
320
338
 
321
- Avatar-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Avatar-User (Semantic) [Placeholder] โ”‚ โ””โ”€โ”€ User profile avatar with image/initials fallback โ”‚ โ”œโ”€โ”€ Avatar-Group (Semantic) [Placeholder] โ”‚ โ””โ”€โ”€ Stacked group of avatars โ”‚ โ””โ”€โ”€ Avatar-Entity (Semantic) [Placeholder] โ””โ”€โ”€ Organization/brand avatar
339
+ Avatar-Base (Primitive) [Shipped] โ”‚ โ”œโ”€โ”€ Avatar-User (Semantic) [Planned] โ”‚ โ””โ”€โ”€ User profile avatar with image/initials fallback โ”‚ โ”œโ”€โ”€ Avatar-Group (Semantic) [Planned] โ”‚ โ””โ”€โ”€ Stacked group of avatars โ”‚ โ””โ”€โ”€ Avatar-Entity (Semantic) [Planned] โ””โ”€โ”€ Organization/brand avatar
322
340
 
323
341
 
324
342
  ### Component Summary
325
343
 
326
344
  | Component | Type | Status | Description |
327
345
  |-----------|------|--------|-------------|
328
- | Avatar-Base | Primitive | ๐Ÿ”ด | Foundational avatar component |
329
- | Avatar-User | Semantic | ๐Ÿ”ด | User profile avatar |
330
- | Avatar-Group | Semantic | ๐Ÿ”ด | Stacked group of avatars |
331
- | Avatar-Entity | Semantic | ๐Ÿ”ด | Organization/brand avatar |
346
+ | Avatar-Base | Primitive | ๐ŸŸก | Foundational avatar (web ๐ŸŸข; iOS/Android scaffold) โ€” image, initials fallback, human/AI shape differentiation |
347
+ | Avatar-User | Semantic | ๐Ÿ”ด Planned | User profile avatar |
348
+ | Avatar-Group | Semantic | ๐Ÿ”ด Planned | Stacked group of avatars |
349
+ | Avatar-Entity | Semantic | ๐Ÿ”ด Planned | Organization/brand avatar |
332
350
 
333
- ### Behavioral Contracts (Planned)
351
+ ### Behavioral Contracts
334
352
 
335
353
  **Base Contracts**:
336
354
  - `displays_image` - Renders image when available
@@ -344,7 +362,9 @@ Avatar-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Avatar-User (Semantic) [Plac
344
362
  - **Group**: `stacks_avatars`, `shows_overflow_count`
345
363
  - **Entity**: `supports_logo`, `supports_badge`
346
364
 
347
- ### Token Dependencies (Planned)
365
+ > Base contracts reflect the shipped Avatar-Base; extended per-variant contracts are planned. The shipped component's authoritative contract set is in the Application MCP (`get_component_full({ name: "Avatar-Base" })`).
366
+
367
+ ### Token Dependencies
348
368
 
349
369
  | Category | Tokens |
350
370
  |----------|--------|
@@ -356,32 +376,36 @@ Avatar-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Avatar-User (Semantic) [Plac
356
376
  ### MCP Documentation
357
377
 
358
378
  - **Full Documentation**: `.kiro/steering/Component-Family-Avatar.md`
359
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Avatar.md" })`
379
+ - **Query**: `get_document_full({ path: "component-family-avatar" })`
360
380
 
361
381
  ---
362
382
 
363
383
  ## 7. Badges and Tags Family
364
384
 
365
- **Status**: ๐Ÿ”ด Placeholder
385
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
366
386
  **Shared Need**: Status and labeling
367
- **Primitive Base**: Badge-Base
387
+ **Primitive Base**: Badge-Count-Base (shipped); the originally-planned `Badge-Base` roll-up primitive was not built
368
388
 
369
389
  ### Inheritance Structure
370
390
 
371
- Badge-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Badge-Status (Semantic) [Placeholder] โ”‚ โ””โ”€โ”€ Status indicators (success, error, warning, info) โ”‚ โ”œโ”€โ”€ Badge-Tag (Semantic) [Placeholder] โ”‚ โ””โ”€โ”€ Removable tags for categorization โ”‚ โ”œโ”€โ”€ Badge-Notification (Semantic) [Placeholder] โ”‚ โ””โ”€โ”€ Notification count badges โ”‚ โ””โ”€โ”€ Badge-Label (Semantic) [Placeholder] โ””โ”€โ”€ Static labels for metadata
391
+ Badge-Count-Base (type-primitive) [Shipped] โ”‚ โ””โ”€โ”€ Badge-Count-Notification (Semantic) [Shipped] โ””โ”€โ”€ Notification count with live-region announcements
392
+
393
+ Badge-Label-Base (type-primitive) [Shipped] โ””โ”€โ”€ Text label badge for categorization/status
394
+
395
+ Planned (not shipped): a Badge-Status semantic variant, removable Badge-Tag.
372
396
 
373
397
 
374
398
  ### Component Summary
375
399
 
376
400
  | Component | Type | Status | Description |
377
401
  |-----------|------|--------|-------------|
378
- | Badge-Base | Primitive | ๐Ÿ”ด | Foundational badge component |
379
- | Badge-Status | Semantic | ๐Ÿ”ด | Status indicators |
380
- | Badge-Tag | Semantic | ๐Ÿ”ด | Removable tags |
381
- | Badge-Notification | Semantic | ๐Ÿ”ด | Notification count badges |
382
- | Badge-Label | Semantic | ๐Ÿ”ด | Static labels |
402
+ | Badge-Count-Base | Type-Primitive | ๐ŸŸก | Numeric count indicator (web ๐ŸŸข; iOS/Android scaffold) |
403
+ | Badge-Count-Notification | Semantic | ๐ŸŸก | Notification count badge with live-region announcements (web ๐ŸŸข; iOS/Android scaffold) |
404
+ | Badge-Label-Base | Type-Primitive | ๐ŸŸก | Text label badge for categorization/status/tagging (web ๐ŸŸข; iOS/Android scaffold) |
405
+ | Badge-Status | Semantic | ๐Ÿ”ด Planned | Status indicators |
406
+ | Badge-Tag | Semantic | ๐Ÿ”ด Planned | Removable tags |
383
407
 
384
- ### Behavioral Contracts (Planned)
408
+ ### Behavioral Contracts
385
409
 
386
410
  **Base Contracts**:
387
411
  - `displays_text` - Renders text content
@@ -395,7 +419,9 @@ Badge-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Badge-Status (Semantic) [Plac
395
419
  - **Notification**: `displays_count`, `supports_max_count`, `supports_dot_mode`
396
420
  - **Label**: `static_display`, `supports_truncation`
397
421
 
398
- ### Token Dependencies (Planned)
422
+ > Contracts above blend shipped and planned behavior. Authoritative shipped-contract sets are in the Application MCP (`get_component_full({ name: "Badge-Count-Base" })`, etc.).
423
+
424
+ ### Token Dependencies
399
425
 
400
426
  | Category | Tokens |
401
427
  |----------|--------|
@@ -407,7 +433,7 @@ Badge-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Badge-Status (Semantic) [Plac
407
433
  ### MCP Documentation
408
434
 
409
435
  - **Full Documentation**: `.kiro/steering/Component-Family-Badge.md`
410
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Badge.md" })`
436
+ - **Query**: `get_document_full({ path: "component-family-badge" })`
411
437
 
412
438
  ---
413
439
 
@@ -459,7 +485,7 @@ Display-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Display-Text (Semantic) [Pl
459
485
  ### MCP Documentation
460
486
 
461
487
  - **Full Documentation**: `.kiro/steering/Component-Family-Data-Display.md`
462
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Data-Display.md" })`
488
+ - **Query**: `get_document_full({ path: "component-family-data-display" })`
463
489
 
464
490
  ---
465
491
 
@@ -505,7 +531,7 @@ Divider-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Divider-Horizontal (Semanti
505
531
  ### MCP Documentation
506
532
 
507
533
  - **Full Documentation**: `.kiro/steering/Component-Family-Divider.md`
508
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Divider.md" })`
534
+ - **Query**: `get_document_full({ path: "component-family-divider" })`
509
535
 
510
536
  ---
511
537
 
@@ -553,32 +579,40 @@ Loading-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Loading-Spinner (Semantic)
553
579
  ### MCP Documentation
554
580
 
555
581
  - **Full Documentation**: `.kiro/steering/Component-Family-Loading.md`
556
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Loading.md" })`
582
+ - **Query**: `get_document_full({ path: "component-family-loading" })`
557
583
 
558
584
  ---
559
585
 
560
586
  ## 11. Navigation Family
561
587
 
562
- **Status**: ๐Ÿ”ด Placeholder
588
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
563
589
  **Shared Need**: Wayfinding
564
- **Primitive Base**: Nav-Base
590
+ **Primitive Base**: Nav-Header-Base (internal-only structural primitive)
565
591
 
566
592
  ### Inheritance Structure
567
593
 
568
- Nav-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Nav-Tabs (Semantic) [Placeholder] โ”‚ โ””โ”€โ”€ Tab navigation for content switching โ”‚ โ”œโ”€โ”€ Nav-Breadcrumb (Semantic) [Placeholder] โ”‚ โ””โ”€โ”€ Breadcrumb trail for hierarchical navigation โ”‚ โ”œโ”€โ”€ Nav-List (Semantic) [Placeholder] โ”‚ โ””โ”€โ”€ Vertical navigation list โ”‚ โ””โ”€โ”€ Nav-Bar (Semantic) [Placeholder] โ””โ”€โ”€ Horizontal navigation bar
594
+ Nav-Header-Base (Primitive, internal only) [Shipped] โ”‚ โ”œโ”€โ”€ Nav-Header-Page (Semantic) [Shipped] โ”‚ โ””โ”€โ”€ Page-level nav bar: back/close, h1 title, trailing actions, collapse-on-scroll โ”‚ โ””โ”€โ”€ Nav-Header-App (Semantic) [Shipped] โ””โ”€โ”€ Permissive app-level header scaffold (safe area, landmark semantics)
595
+
596
+ Nav-SegmentedChoice-Base (Primitive) [Shipped] โ””โ”€โ”€ Switch between mutually exclusive content views (connected segments)
597
+
598
+ Nav-TabBar-Base (Primitive) [Shipped] โ””โ”€โ”€ Persistent bottom tab bar for top-level destinations
599
+
600
+ Planned (not shipped): Nav-Breadcrumb, Nav-List.
569
601
 
570
602
 
571
603
  ### Component Summary
572
604
 
573
605
  | Component | Type | Status | Description |
574
606
  |-----------|------|--------|-------------|
575
- | Nav-Base | Primitive | ๐Ÿ”ด | Foundational navigation component |
576
- | Nav-Tabs | Semantic | ๐Ÿ”ด | Tab navigation |
577
- | Nav-Breadcrumb | Semantic | ๐Ÿ”ด | Breadcrumb trail |
578
- | Nav-List | Semantic | ๐Ÿ”ด | Vertical navigation list |
579
- | Nav-Bar | Semantic | ๐Ÿ”ด | Horizontal navigation bar |
607
+ | Nav-Header-Base | Primitive | ๐ŸŸก | Internal-only header primitive โ€” safe area, layout regions, landmark semantics (all platforms scaffold; use Nav-Header-Page/App) |
608
+ | Nav-Header-Page | Semantic | ๐ŸŸก | Page-level nav bar (web ๐ŸŸข; iOS/Android scaffold) |
609
+ | Nav-Header-App | Semantic | ๐ŸŸก | Permissive app-level header scaffold (all platforms scaffold by design) |
610
+ | Nav-SegmentedChoice-Base | Primitive | ๐ŸŸก | Segmented control for content switching (web ๐ŸŸข; iOS/Android scaffold) |
611
+ | Nav-TabBar-Base | Primitive | ๐ŸŸก | Bottom tab bar for top-level destinations (web ๐ŸŸข; iOS/Android scaffold) |
612
+ | Nav-Breadcrumb | Semantic | ๐Ÿ”ด Planned | Breadcrumb trail |
613
+ | Nav-List | Semantic | ๐Ÿ”ด Planned | Vertical navigation list |
580
614
 
581
- ### Behavioral Contracts (Planned)
615
+ ### Behavioral Contracts
582
616
 
583
617
  **Base Contracts**:
584
618
  - `manages_active_state` - Tracks and displays active item
@@ -587,12 +621,14 @@ Nav-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Nav-Tabs (Semantic) [Placeholde
587
621
  - `supports_icons` - Optional icons for items
588
622
 
589
623
  **Extended Contracts by Variant**:
590
- - **Tabs**: `switches_content`, `supports_disabled_tabs`, `supports_scrollable`
624
+ - **Tabs**: `switches_content`, `supports_scrollable` (no disabled-tab affordance โ€” DesignerPunk does not support disabled states; omit unavailable tabs instead)
591
625
  - **Breadcrumb**: `shows_hierarchy`, `supports_truncation`, `links_to_ancestors`
592
626
  - **List**: `supports_nesting`, `supports_collapsible`, `supports_badges`
593
627
  - **Bar**: `supports_responsive`, `supports_dropdown`, `supports_search`
594
628
 
595
- ### Token Dependencies (Planned)
629
+ > Contracts above describe the originally-planned Tabs/Breadcrumb/List/Bar shape. The shipped Navigation components (Header, SegmentedChoice, TabBar) carry their own authoritative contract sets โ€” query the Application MCP (`get_component_full({ name: "Nav-TabBar-Base" })`, etc.).
630
+
631
+ ### Token Dependencies
596
632
 
597
633
  | Category | Tokens |
598
634
  |----------|--------|
@@ -604,7 +640,81 @@ Nav-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Nav-Tabs (Semantic) [Placeholde
604
640
  ### MCP Documentation
605
641
 
606
642
  - **Full Documentation**: `.kiro/steering/Component-Family-Navigation.md`
607
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Navigation.md" })`
643
+ - **Query**: `get_document_full({ path: "component-family-navigation" })`
644
+
645
+ ---
646
+
647
+ ## 12. Chips Family
648
+
649
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
650
+ **Shared Need**: Selection, filtering, and input tokens
651
+ **Primitive Base**: Chip-Base
652
+
653
+ ### Inheritance Structure
654
+
655
+ Chip-Base (Primitive) [Shipped] โ”‚ โ”œโ”€โ”€ Chip-Filter (Semantic) [Shipped] โ”‚ โ””โ”€โ”€ Toggle a content filter on/off in a filter bar โ”‚ โ””โ”€โ”€ Chip-Input (Semantic) [Shipped] โ””โ”€โ”€ User-entered value (tag/selection) dismissible via remove action
656
+
657
+
658
+ ### Component Summary
659
+
660
+ | Component | Type | Status | Description |
661
+ |-----------|------|--------|-------------|
662
+ | Chip-Base | Primitive | ๐ŸŸก | Compact interactive element for selections/filters/actions (web ๐ŸŸข; iOS/Android scaffold) |
663
+ | Chip-Filter | Semantic | ๐ŸŸก | Toggle a content filter on/off in a filter bar (web ๐ŸŸข; iOS/Android scaffold) |
664
+ | Chip-Input | Semantic | ๐ŸŸก | Dismissible user-entered value (tag/selection) (web ๐ŸŸข; iOS/Android scaffold) |
665
+
666
+ ### Behavioral Contracts
667
+
668
+ Chip-Base is focusable and selectable; Chip-Filter adds toggle semantics; Chip-Input adds a remove affordance. Authoritative per-component contract sets are in the Application MCP (`get_component_full({ name: "Chip-Base" })`, etc.).
669
+
670
+ ### MCP Documentation
671
+
672
+ - **Full Documentation**: `.kiro/steering/Component-Family-Chip.md`
673
+ - **Query**: `get_document_full({ path: "component-family-chip" })`
674
+
675
+ ---
676
+
677
+ ## 13. Progress Indicators Family
678
+
679
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
680
+ **Shared Need**: Progress and step indication
681
+ **Primitive Base**: Progress-Indicator-Node-Base
682
+
683
+ > Distinct from the (placeholder) **Loading** family in ยง10. Progress Indicators ships determinate/step-based indicators (bar, nodes, pagination, steppers); Loading remains an unbuilt placeholder for spinner/skeleton-style indicators.
684
+
685
+ ### Inheritance Structure
686
+
687
+ Progress-Bar-Base (Primitive) [Shipped] โ€” continuous percentage bar (determinate/indeterminate)
688
+
689
+ Progress-Indicator-Node-Base (Primitive) [Shipped]
690
+ Progress-Indicator-Connector-Base (Primitive) [Shipped โ€” all-platform scaffold]
691
+ Progress-Indicator-Label-Base (Primitive) [Shipped โ€” all-platform scaffold]
692
+ โ”‚ (compose into)
693
+ โ”œโ”€โ”€ Progress-Pagination-Base (Semantic) [Shipped] โ€” dot-based position within a sequence
694
+ โ”œโ”€โ”€ Progress-Stepper-Base (Semantic) [Shipped] โ€” labeled multi-step workflow
695
+ โ””โ”€โ”€ Progress-Stepper-Detailed (Semantic) [Shipped] โ€” steppers with descriptions + connectors
696
+
697
+
698
+ ### Component Summary
699
+
700
+ | Component | Type | Status | Description |
701
+ |-----------|------|--------|-------------|
702
+ | Progress-Bar-Base | Primitive | ๐ŸŸก | Continuous percentage bar, determinate/indeterminate (web ๐ŸŸข; iOS/Android scaffold) |
703
+ | Progress-Indicator-Node-Base | Primitive | ๐ŸŸก | Single step-indicator node (web ๐ŸŸข; iOS/Android scaffold) |
704
+ | Progress-Indicator-Connector-Base | Primitive | ๐ŸŸก | Connector line between nodes (all platforms scaffold) |
705
+ | Progress-Indicator-Label-Base | Primitive | ๐ŸŸก | Text label for a node (all platforms scaffold) |
706
+ | Progress-Pagination-Base | Semantic | ๐ŸŸก | Dot-based pagination indicator (web ๐ŸŸข; iOS/Android scaffold) |
707
+ | Progress-Stepper-Base | Semantic | ๐ŸŸก | Labeled multi-step workflow (web ๐ŸŸข; iOS/Android scaffold) |
708
+ | Progress-Stepper-Detailed | Semantic | ๐ŸŸก | Stepper with descriptions + connectors (web ๐ŸŸข; iOS/Android scaffold) |
709
+
710
+ ### Behavioral Contracts
711
+
712
+ Node/bar/pagination/stepper components carry step-state and progress-value contracts. Authoritative per-component contract sets are in the Application MCP (`get_component_full({ name: "Progress-Stepper-Base" })`, etc.).
713
+
714
+ ### MCP Documentation
715
+
716
+ - **Full Documentation**: `.kiro/steering/Component-Family-Progress.md`
717
+ - **Query**: `get_document_full({ path: "progress-indicator-components" })`
608
718
 
609
719
  ---
610
720
 
@@ -632,28 +742,38 @@ Nav-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Nav-Tabs (Semantic) [Placeholde
632
742
 
633
743
  ```mermaid
634
744
  graph TB
635
- subgraph "Production Ready ๐ŸŸข"
745
+ subgraph "Production Ready ๐ŸŸข (all platforms)"
746
+ BVLI[Button-VerticalList-Item]
747
+ BVLS[Button-VerticalList-Set]
748
+ BVLI --> BVLS
749
+ end
750
+
751
+ subgraph "Shipping ๐ŸŸก (web-ready, mobile-scaffold)"
636
752
  ITB[Input-Text-Base]
637
753
  ITE[Input-Text-Email]
638
754
  ITP[Input-Text-Password]
639
755
  ITPN[Input-Text-PhoneNumber]
640
756
  BC[Button-CTA]
757
+ BI[Button-Icon]
641
758
  CB[Container-Base]
759
+ CCB[Container-Card-Base]
642
760
  IB[Icon-Base]
643
-
761
+ AVB[Avatar-Base]
762
+ BADGE[Badge-Count-Base / Badge-Label-Base]
763
+ CHIP[Chip-Base]
764
+ NAV[Nav-Header/SegmentedChoice/TabBar]
765
+ PROG[Progress-Bar/Node/Stepper/Pagination]
766
+
644
767
  ITB --> ITE
645
768
  ITB --> ITP
646
769
  ITB --> ITPN
647
770
  end
648
-
649
- subgraph "Placeholder ๐Ÿ”ด"
771
+
772
+ subgraph "Placeholder ๐Ÿ”ด (no components ship)"
650
773
  MB[Modal-Base]
651
- AB[Avatar-Base]
652
- BB[Badge-Base]
653
774
  DB[Display-Base]
654
775
  DVB[Divider-Base]
655
776
  LB[Loading-Base]
656
- NB[Nav-Base]
657
777
  end
658
778
 
659
779
  subgraph "Cross-Family Composition"
@@ -11,7 +11,7 @@ inclusion: manual
11
11
  **Scope**: cross-project
12
12
  **Layer**: 2
13
13
  **Relevant Tasks**: component-development, mcp-documentation, architecture
14
- **Last Reviewed**: 2026-01-02
14
+ **Last Reviewed**: 2026-07-09
15
15
 
16
16
  ---
17
17
 
@@ -45,7 +45,7 @@ For families with production-ready components (Form Inputs, Buttons, Containers,
45
45
 
46
46
  ### Placeholder Family Documents
47
47
 
48
- For families without implemented components (Modals, Avatars, Badges, etc.):
48
+ For families without implemented components (Modals, Dividers, Loading, Data-Displays, etc.):
49
49
 
50
50
  - **Structural documentation** with planned architecture
51
51
  - **Readiness status**: ๐Ÿ”ด Placeholder
@@ -710,11 +710,12 @@ get_index_health()
710
710
  rebuild_index()
711
711
 
712
712
  // 3. Verify document is indexed
713
- get_document_summary({ path: ".kiro/steering/Component-Family-[FamilyName].md" })
713
+ get_document_summary({ path: "component-family-[family-name]" })
714
+ // (use the doc's frontmatter `id:` verbatim โ€” some family ids diverge from the filename pattern, e.g. progress-indicator-components)
714
715
 
715
716
  // 4. Test section queries
716
- get_section({ path: ".kiro/steering/Component-Family-[FamilyName].md", heading: "Family Overview" })
717
- get_section({ path: ".kiro/steering/Component-Family-[FamilyName].md", heading: "Behavioral Contracts" })
717
+ get_section({ path: "component-family-[family-name]", heading: "Family Overview" })
718
+ get_section({ path: "component-family-[family-name]", heading: "Behavioral Contracts" })
718
719
  ```
719
720
 
720
721
  ---
@@ -12,7 +12,7 @@ aliases: primitive vs semantic component decisions, deciding primitive vs semant
12
12
  **Scope**: cross-project
13
13
  **Layer**: 2
14
14
  **Relevant Tasks**: component-development, component-selection, architecture
15
- **Last Reviewed**: 2026-01-01
15
+ **Last Reviewed**: 2026-07-08
16
16
 
17
17
  ---
18
18