@3fn/core 13.0.0 โ†’ 14.0.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 (236) 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 +5 -5
  35. package/.kiro/steering/DesignerPunk-Systems-Overview.md +6 -6
  36. package/.kiro/steering/Task-Completion-Protocol.md +98 -17
  37. package/.kiro/steering/core-goals.md +3 -3
  38. package/.kiro/steering/personal-note.md +1 -1
  39. package/.kiro/steering/start-up-tasks.md +14 -3
  40. package/application-mcp-server/src/index.ts +26 -0
  41. package/dist/ComponentTokens.android.kt +1 -1
  42. package/dist/ComponentTokens.ios.swift +1 -1
  43. package/dist/ComponentTokens.web.css +1 -1
  44. package/dist/DesignTokens.android.kt +1 -1
  45. package/dist/DesignTokens.dtcg.json +8 -5
  46. package/dist/DesignTokens.figma.json +2 -2
  47. package/dist/DesignTokens.ios.swift +1 -1
  48. package/dist/DesignTokens.web.css +1 -1
  49. package/dist/android/DesignTokens.android.kt +1 -1
  50. package/dist/blend/OklchBlendCalculator.js +1 -0
  51. package/dist/blend/ThemeAwareBlendUtilities.web.d.ts +13 -2
  52. package/dist/blend/ThemeAwareBlendUtilities.web.js +6 -1
  53. package/dist/browser/designerpunk.esm.js +22 -81
  54. package/dist/browser/designerpunk.esm.min.js +29 -32
  55. package/dist/browser/designerpunk.umd.js +22 -81
  56. package/dist/browser/designerpunk.umd.min.js +42 -45
  57. package/dist/browser/tokens.css +1 -1
  58. package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.js +24 -5
  59. package/dist/components/core/Button-CTA/examples/BasicUsage.d.ts +16 -28
  60. package/dist/components/core/Button-CTA/examples/BasicUsage.js +18 -43
  61. package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.d.ts +3 -15
  62. package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.js +9 -58
  63. package/dist/components/core/Button-CTA/types.d.ts +0 -24
  64. package/dist/components/core/Button-CTA/types.js +6 -0
  65. package/dist/components/core/Input-Text-Base/types.d.ts +13 -1
  66. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +11 -2
  67. package/dist/generators/DTCGFormatGenerator.js +8 -0
  68. package/dist/integration/BuildErrorHandler.js +2 -2
  69. package/dist/ios/DesignTokens.ios.swift +1 -1
  70. package/dist/mcp/application-mcp.js +24 -0
  71. package/dist/mcp/docs-mcp.js +130 -15
  72. package/dist/mcp/product-mcp.js +25 -0
  73. package/dist/tokens/OpacityTokens.js +1 -1
  74. package/dist/tokens/semantic/BlendTokens.d.ts +10 -3
  75. package/dist/tokens/semantic/BlendTokens.js +17 -5
  76. package/dist/tokens/semantic/OpacityTokens.d.ts +4 -4
  77. package/dist/tokens/semantic/OpacityTokens.js +4 -4
  78. package/dist/types/ComponentTypes.d.ts +1 -1
  79. package/dist/types/generated/TokenTypes.d.ts +1 -1
  80. package/dist/types/generated/TokenTypes.js +1 -1
  81. package/dist/validators/StemmaTokenUsageValidator.js +3 -2
  82. package/dist/web/DesignTokens.web.css +1 -1
  83. package/governance/Component-Development-Guide.md +22 -12
  84. package/governance/Component-Development-Standards.md +2 -2
  85. package/governance/Component-Family-Avatar.md +0 -1
  86. package/governance/Component-Family-Badge.md +0 -1
  87. package/governance/Component-Family-Button.md +4 -17
  88. package/governance/Component-Family-Chip.md +0 -1
  89. package/governance/Component-Family-Container.md +0 -1
  90. package/governance/Component-Family-Data-Display.md +1 -2
  91. package/governance/Component-Family-Divider.md +1 -2
  92. package/governance/Component-Family-Form-Inputs.md +5 -5
  93. package/governance/Component-Family-Icon.md +1 -2
  94. package/governance/Component-Family-Loading.md +1 -2
  95. package/governance/Component-Family-Modal.md +1 -2
  96. package/governance/Component-Family-Navigation.md +0 -1
  97. package/governance/Component-Family-Progress.md +0 -1
  98. package/governance/Component-Inheritance-Structures.md +195 -76
  99. package/governance/Component-MCP-Document-Template.md +6 -5
  100. package/governance/Component-Primitive-vs-Semantic-Philosophy.md +1 -1
  101. package/governance/Component-Quick-Reference.md +33 -33
  102. package/governance/Component-Readiness-Status.md +54 -38
  103. package/governance/Component-Templates.md +32 -36
  104. package/governance/Contract-System-Reference.md +6 -6
  105. package/governance/MCP-Integration-Guide.md +1 -1
  106. package/governance/Process-Cross-Reference-Standards.md +31 -13
  107. package/governance/Process-Development-Workflow.md +49 -59
  108. package/governance/Process-File-Organization.md +24 -24
  109. package/governance/Process-Hook-Operations.md +19 -7
  110. package/governance/Process-Orchestration-Model-Selection.md +92 -0
  111. package/governance/Process-Spec-Planning.md +91 -39
  112. package/governance/Process-Task-Type-Definitions.md +80 -4
  113. package/governance/Product-Handoff-Protocol.md +2 -0
  114. package/governance/Rosetta-System-Architecture.md +6 -6
  115. package/governance/Test-Behavioral-Contract-Validation.md +38 -31
  116. package/governance/Test-Failure-Audit-Methodology.md +1 -1
  117. package/governance/Token-Family-Accessibility.md +1 -2
  118. package/governance/Token-Family-Blend.md +18 -16
  119. package/governance/Token-Family-Blur.md +0 -1
  120. package/governance/Token-Family-Border.md +1 -2
  121. package/governance/Token-Family-Color.md +0 -1
  122. package/governance/Token-Family-Glow.md +1 -2
  123. package/governance/Token-Family-Layering.md +0 -1
  124. package/governance/Token-Family-Motion.md +1 -2
  125. package/governance/Token-Family-Opacity.md +0 -1
  126. package/governance/Token-Family-Radius.md +1 -2
  127. package/governance/Token-Family-Responsive.md +1 -2
  128. package/governance/Token-Family-Shadow.md +1 -2
  129. package/governance/Token-Family-Sizing.md +0 -1
  130. package/governance/Token-Family-Spacing.md +1 -2
  131. package/governance/Token-Family-Typography.md +1 -2
  132. package/governance/Token-Governance.md +8 -8
  133. package/governance/Token-Quick-Reference.md +21 -21
  134. package/governance/Token-Resolution-Patterns.md +1 -1
  135. package/governance/Token-Semantic-Structure.md +1 -1
  136. package/governance/Web-Authoring-Standards.md +5 -5
  137. package/governance/browser-distribution-guide.md +1 -4
  138. package/governance/classification-map.md +368 -0
  139. package/governance/completion-documentation-guide.md +11 -8
  140. package/governance/component-meta-authoring-guide.md +1 -1
  141. package/governance/cross-platform-vs-platform-specific-decision-framework.md +1 -1
  142. package/governance/platform-implementation-guidelines.md +1 -1
  143. package/governance/release-management-system.md +2 -2
  144. package/governance/rosetta-system-principles.md +8 -6
  145. package/governance/stemma-system-principles.md +18 -17
  146. package/mcp-server/src/index.ts +24 -6
  147. package/mcp-server/src/indexer/DocumentIndexer.ts +119 -9
  148. package/mcp-server/src/indexer/__tests__/bare-id-crossrefs.test.ts +250 -0
  149. package/mcp-server/src/indexer/cross-ref-parser.ts +29 -1
  150. package/mcp-server/src/indexer/index-health.ts +27 -2
  151. package/mcp-server/src/query/__tests__/find-docs-calibration.test.ts +11 -26
  152. package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +72 -5
  153. package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +81 -24
  154. package/mcp-server/src/tools/list-cross-references.ts +2 -2
  155. package/package.json +23 -21
  156. package/src/__tests__/browser-distribution/css-bundling.test.ts +6 -4
  157. package/src/__tests__/console-allowlist.json +14 -0
  158. package/src/__tests__/console-fail-setup.ts +169 -0
  159. package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +16 -0
  160. package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +70 -17
  161. package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +28 -0
  162. package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +223 -16
  163. package/src/__tests__/stemma-system/input-text-native-base-call-alignment.test.ts +298 -0
  164. package/src/blend/OklchBlendCalculator.ts +3 -0
  165. package/src/blend/ThemeAwareBlendUtilities.android.kt +3 -0
  166. package/src/blend/ThemeAwareBlendUtilities.ios.swift +3 -0
  167. package/src/blend/ThemeAwareBlendUtilities.web.ts +9 -1
  168. package/src/blend/__tests__/InteractionStateAudit.test.ts +12 -9
  169. package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +8 -0
  170. package/src/build/errors/__tests__/ErrorHandler.test.ts +5 -0
  171. package/src/build/workflow/__tests__/CICDIntegration.test.ts +12 -1
  172. package/src/cli/__tests__/init.test.ts +45 -11
  173. package/src/components/core/Avatar-Base/Avatar-Base.schema.yaml +1 -1
  174. package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +121 -7
  175. package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +3 -0
  176. package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +15 -6
  177. package/src/components/core/Avatar-Base/contracts.yaml +11 -1
  178. package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +24 -5
  179. package/src/components/core/Badge-Count-Base/contracts.yaml +1 -1
  180. package/src/components/core/Badge-Label-Base/contracts.yaml +1 -1
  181. package/src/components/core/Button-CTA/Button-CTA.schema.yaml +2 -12
  182. package/src/components/core/Button-CTA/README.md +3 -6
  183. package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +35 -89
  184. package/src/components/core/Button-CTA/__tests__/setup.test.ts +0 -2
  185. package/src/components/core/Button-CTA/__tests__/test-utils.ts +0 -2
  186. package/src/components/core/Button-CTA/contracts.yaml +6 -29
  187. package/src/components/core/Button-CTA/examples/BasicUsage.html +2 -14
  188. package/src/components/core/Button-CTA/examples/BasicUsage.tsx +17 -44
  189. package/src/components/core/Button-CTA/platforms/android/ButtonCTA.android.kt +12 -20
  190. package/src/components/core/Button-CTA/platforms/ios/ButtonCTA.ios.swift +12 -51
  191. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +2 -26
  192. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +18 -71
  193. package/src/components/core/Button-CTA/types.ts +10 -28
  194. package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +13 -0
  195. package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +13 -0
  196. package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +13 -0
  197. package/src/components/core/Input-Text-Base/Input-Text-Base.schema.yaml +30 -2
  198. package/src/components/core/Input-Text-Base/README.md +25 -2
  199. package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +16 -15
  200. package/src/components/core/Input-Text-Base/contracts.yaml +90 -0
  201. package/src/components/core/Input-Text-Base/platforms/android/InputTextBase.android.kt +26 -12
  202. package/src/components/core/Input-Text-Base/platforms/ios/InputTextBase.ios.swift +195 -59
  203. package/src/components/core/Input-Text-Base/types.ts +13 -1
  204. package/src/components/core/Input-Text-Email/Input-Text-Email.schema.yaml +5 -1
  205. package/src/components/core/Input-Text-Email/README.md +8 -7
  206. package/src/components/core/Input-Text-Email/platforms/android/InputTextEmail.android.kt +1 -4
  207. package/src/components/core/Input-Text-Email/platforms/ios/InputTextEmail.ios.swift +2 -16
  208. package/src/components/core/Input-Text-Password/Input-Text-Password.schema.yaml +10 -3
  209. package/src/components/core/Input-Text-Password/README.md +9 -8
  210. package/src/components/core/Input-Text-Password/contracts.yaml +5 -0
  211. package/src/components/core/Input-Text-Password/platforms/android/InputTextPassword.android.kt +17 -7
  212. package/src/components/core/Input-Text-Password/platforms/ios/InputTextPassword.ios.swift +22 -20
  213. package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +11 -2
  214. package/src/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.schema.yaml +5 -1
  215. package/src/components/core/Input-Text-PhoneNumber/README.md +9 -8
  216. package/src/components/core/Input-Text-PhoneNumber/platforms/android/InputTextPhoneNumber.android.kt +2 -5
  217. package/src/components/core/Input-Text-PhoneNumber/platforms/ios/InputTextPhoneNumber.ios.swift +3 -17
  218. package/src/components/core/Nav-Header-App/contracts.yaml +1 -1
  219. package/src/components/core/Nav-SegmentedChoice-Base/contracts.yaml +1 -1
  220. package/src/components/core/Progress-Indicator-Connector-Base/contracts.yaml +1 -1
  221. package/src/components/core/Progress-Indicator-Label-Base/contracts.yaml +1 -1
  222. package/src/components/core/Progress-Indicator-Node-Base/contracts.yaml +1 -1
  223. package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +5 -2
  224. package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +5 -2
  225. package/src/generators/DTCGFormatGenerator.ts +6 -0
  226. package/src/generators/__tests__/DTCGConfigOptions.test.ts +14 -5
  227. package/src/integration/BuildErrorHandler.ts +2 -2
  228. package/src/tokens/OpacityTokens.ts +1 -1
  229. package/src/tokens/__tests__/OpacityTokens.test.ts +3 -1
  230. package/src/tokens/semantic/BlendTokens.ts +26 -5
  231. package/src/tokens/semantic/OpacityTokens.ts +4 -4
  232. package/src/tools/release/__tests__/ReleasePipeline.test.ts +1 -1
  233. package/src/types/ComponentTypes.ts +1 -1
  234. package/src/types/generated/TokenTypes.ts +1 -1
  235. package/src/validators/StemmaTokenUsageValidator.ts +3 -2
  236. package/token-index/semantics.yaml +1 -2
@@ -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,24 +69,25 @@ 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
- **Base Contracts (9 total)**:
79
+ **Base Contracts (8 total)**:
72
80
  - `focusable` - Keyboard focus support (WCAG 2.1.1)
73
81
  - `float_label_animation` - Label animates on focus (WCAG 2.3.3)
74
82
  - `validates_on_blur` - Validation triggers on blur (WCAG 3.3.1)
75
83
  - `error_state_display` - Error message and styling (WCAG 3.3.1, 1.4.1)
76
84
  - `success_state_display` - Success styling (WCAG 1.4.1)
77
- - `disabled_state` - Prevents interaction when disabled (WCAG 4.1.2)
78
85
  - `trailing_icon_display` - Contextual trailing icons
79
86
  - `focus_ring` - WCAG 2.4.7 focus visible indicator
80
87
  - `reduced_motion_support` - Respects prefers-reduced-motion
81
88
 
89
+ **Excluded**: `disabled_state` โ€” DesignerPunk does not support disabled states for usability and accessibility reasons (adjudicated 2026-07-15; see `.kiro/issues/button-cta-disabled-state-adjudication.md`).
90
+
82
91
  **Extended Contracts by Variant**:
83
92
  - **Email**: `validates_email_format`, `provides_email_autocomplete`
84
93
  - **Password**: `provides_secure_input`, `supports_password_toggle`, `provides_password_autocomplete`
@@ -97,7 +106,7 @@ Input-Text-Base (Primitive) โ”‚ โ”œโ”€โ”€ Input-Text-Email (Semantic) โ”‚ โ””โ”€
97
106
  ### MCP Documentation
98
107
 
99
108
  - **Full Documentation**: `.kiro/steering/Component-Family-Form-Inputs.md`
100
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Form-Inputs.md" })`
109
+ - **Query**: `get_document_full({ path: "component-family-form-inputs" })`
101
110
 
102
111
  ---
103
112
 
@@ -109,14 +118,21 @@ Input-Text-Base (Primitive) โ”‚ โ”œโ”€โ”€ Input-Text-Email (Semantic) โ”‚ โ””โ”€
109
118
 
110
119
  ### Inheritance Structure
111
120
 
112
- Button-CTA (Standalone) โ”‚ โ””โ”€โ”€ Styling via props (variant: primary | secondary | tertiary) โ””โ”€โ”€ No behavioral variants - single component with styling props
121
+ Button-CTA (Standalone) โ€” styling via props (variant: primary | secondary | tertiary)
122
+ Button-Icon (Primitive) โ€” compact icon-only button
123
+ Button-VerticalList-Item (Primitive) โ†’ Button-VerticalList-Set (Pattern) โ€” vertical action menu
113
124
 
114
125
 
115
126
  ### Component Summary
116
127
 
117
128
  | Component | Type | Status | Description |
118
129
  |-----------|------|--------|-------------|
119
- | Button-CTA | Standalone | ๐ŸŸข | Call-to-action button with variant prop for styling |
130
+ | Button-CTA | Standalone | ๐ŸŸก | Call-to-action button with variant prop (web ๐ŸŸข; iOS/Android scaffold) |
131
+ | Button-Icon | Primitive | ๐ŸŸก | Compact icon-only button (web ๐ŸŸข; iOS/Android scaffold) |
132
+ | Button-VerticalList-Item | Primitive | ๐ŸŸข | Single action item in a vertical list menu (production-ready all platforms) |
133
+ | Button-VerticalList-Set | Pattern | ๐ŸŸข | Groups VerticalList-Item into a mode-driven action menu (production-ready all platforms) |
134
+
135
+ **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
136
 
121
137
  ### Naming Convention Note
122
138
 
@@ -127,15 +143,16 @@ Button-CTA uses the `[Family]-[Type]` pattern (not `[Family]-[Type]-Base`) becau
127
143
 
128
144
  ### Behavioral Contracts
129
145
 
130
- **Contracts (7 total)**:
146
+ **Contracts (6 total)**:
131
147
  - `clickable` - Responds to click/tap interactions (WCAG 2.1.1)
132
148
  - `focusable` - Keyboard focus support (WCAG 2.1.1)
133
- - `disabled_state` - Prevents interaction when disabled (WCAG 4.1.2)
134
149
  - `loading_state` - Shows loading indicator during async operations
135
150
  - `icon_support` - Supports leading/trailing icons
136
151
  - `focus_ring` - WCAG 2.4.7 focus visible indicator
137
152
  - `reduced_motion_support` - Respects prefers-reduced-motion
138
153
 
154
+ **Excluded**: `disabled_state` โ€” DesignerPunk does not support disabled states for usability and accessibility reasons (adjudicated 2026-07-15; see `.kiro/issues/button-cta-disabled-state-adjudication.md`).
155
+
139
156
  ### Token Dependencies
140
157
 
141
158
  | Category | Tokens |
@@ -149,13 +166,13 @@ Button-CTA uses the `[Family]-[Type]` pattern (not `[Family]-[Type]-Base`) becau
149
166
  ### MCP Documentation
150
167
 
151
168
  - **Full Documentation**: `.kiro/steering/Component-Family-Button.md`
152
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Button.md" })`
169
+ - **Query**: `get_document_full({ path: "component-family-button" })`
153
170
 
154
171
  ---
155
172
 
156
173
  ## 3. Containers Family
157
174
 
158
- **Status**: ๐ŸŸข Production Ready
175
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
159
176
  **Shared Need**: Layout and content organization
160
177
  **Primitive Base**: Container-Base
161
178
 
@@ -168,8 +185,8 @@ Container-Base (Primitive) โ”‚ โ”œโ”€โ”€ Container-Card (Semantic) [Planned] โ”‚
168
185
 
169
186
  | Component | Type | Status | Description |
170
187
  |-----------|------|--------|-------------|
171
- | Container-Base | Primitive | ๐ŸŸข | Foundational layout container |
172
- | Container-Card | Semantic | ๐Ÿ”ด Planned | Elevated card with shadow |
188
+ | Container-Base | Primitive | ๐ŸŸก | Foundational layout container (web ๐ŸŸข; iOS/Android scaffold) |
189
+ | Container-Card-Base | Type-Primitive | ๐ŸŸก | Elevated card for dashboards/stat cards/previews (web ๐ŸŸข; iOS/Android scaffold) |
173
190
  | Container-Panel | Semantic | ๐Ÿ”ด Planned | Flat panel for sections |
174
191
  | Container-Hero | Semantic | ๐Ÿ”ด Planned | Full-width hero section |
175
192
 
@@ -203,13 +220,13 @@ Container-Base uses the `[Family]-Base` pattern because:
203
220
  ### MCP Documentation
204
221
 
205
222
  - **Full Documentation**: `.kiro/steering/Component-Family-Container.md`
206
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Container.md" })`
223
+ - **Query**: `get_document_full({ path: "component-family-container" })`
207
224
 
208
225
  ---
209
226
 
210
227
  ## 4. Icons Family
211
228
 
212
- **Status**: ๐ŸŸข Production Ready
229
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
213
230
  **Shared Need**: Visual communication
214
231
  **Primitive Base**: Icon-Base
215
232
 
@@ -222,7 +239,7 @@ Icon-Base (Primitive) โ”‚ โ”œโ”€โ”€ Icon-Status (Semantic) [Planned] โ”‚ โ””โ”€
222
239
 
223
240
  | Component | Type | Status | Description |
224
241
  |-----------|------|--------|-------------|
225
- | Icon-Base | Primitive | ๐ŸŸข | Foundational icon component |
242
+ | Icon-Base | Primitive | ๐ŸŸก | Foundational inline SVG icon, inherits parent text color (web ๐ŸŸข; iOS/Android scaffold) |
226
243
  | Icon-Status | Semantic | ๐Ÿ”ด Planned | Status indicator icons |
227
244
  | Icon-Action | Semantic | ๐Ÿ”ด Planned | Action icons |
228
245
  | Icon-Navigation | Semantic | ๐Ÿ”ด Planned | Navigation icons |
@@ -252,7 +269,7 @@ Icon-Base uses the `[Family]-Base` pattern because:
252
269
  ### MCP Documentation
253
270
 
254
271
  - **Full Documentation**: `.kiro/steering/Component-Family-Icon.md`
255
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Icon.md" })`
272
+ - **Query**: `get_document_full({ path: "component-family-icon" })`
256
273
 
257
274
  ---
258
275
 
@@ -306,31 +323,31 @@ Modal-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Modal-Dialog (Semantic) [Plac
306
323
  ### MCP Documentation
307
324
 
308
325
  - **Full Documentation**: `.kiro/steering/Component-Family-Modal.md`
309
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Modal.md" })`
326
+ - **Query**: `get_document_full({ path: "component-family-modal" })`
310
327
 
311
328
  ---
312
329
 
313
330
  ## 6. Avatars Family
314
331
 
315
- **Status**: ๐Ÿ”ด Placeholder
332
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
316
333
  **Shared Need**: Identity representation
317
334
  **Primitive Base**: Avatar-Base
318
335
 
319
336
  ### Inheritance Structure
320
337
 
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
338
+ 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
339
 
323
340
 
324
341
  ### Component Summary
325
342
 
326
343
  | Component | Type | Status | Description |
327
344
  |-----------|------|--------|-------------|
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 |
345
+ | Avatar-Base | Primitive | ๐ŸŸก | Foundational avatar (web ๐ŸŸข; iOS/Android scaffold) โ€” image, initials fallback, human/AI shape differentiation |
346
+ | Avatar-User | Semantic | ๐Ÿ”ด Planned | User profile avatar |
347
+ | Avatar-Group | Semantic | ๐Ÿ”ด Planned | Stacked group of avatars |
348
+ | Avatar-Entity | Semantic | ๐Ÿ”ด Planned | Organization/brand avatar |
332
349
 
333
- ### Behavioral Contracts (Planned)
350
+ ### Behavioral Contracts
334
351
 
335
352
  **Base Contracts**:
336
353
  - `displays_image` - Renders image when available
@@ -344,7 +361,9 @@ Avatar-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Avatar-User (Semantic) [Plac
344
361
  - **Group**: `stacks_avatars`, `shows_overflow_count`
345
362
  - **Entity**: `supports_logo`, `supports_badge`
346
363
 
347
- ### Token Dependencies (Planned)
364
+ > 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" })`).
365
+
366
+ ### Token Dependencies
348
367
 
349
368
  | Category | Tokens |
350
369
  |----------|--------|
@@ -356,32 +375,36 @@ Avatar-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Avatar-User (Semantic) [Plac
356
375
  ### MCP Documentation
357
376
 
358
377
  - **Full Documentation**: `.kiro/steering/Component-Family-Avatar.md`
359
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Avatar.md" })`
378
+ - **Query**: `get_document_full({ path: "component-family-avatar" })`
360
379
 
361
380
  ---
362
381
 
363
382
  ## 7. Badges and Tags Family
364
383
 
365
- **Status**: ๐Ÿ”ด Placeholder
384
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
366
385
  **Shared Need**: Status and labeling
367
- **Primitive Base**: Badge-Base
386
+ **Primitive Base**: Badge-Count-Base (shipped); the originally-planned `Badge-Base` roll-up primitive was not built
368
387
 
369
388
  ### Inheritance Structure
370
389
 
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
390
+ Badge-Count-Base (type-primitive) [Shipped] โ”‚ โ””โ”€โ”€ Badge-Count-Notification (Semantic) [Shipped] โ””โ”€โ”€ Notification count with live-region announcements
391
+
392
+ Badge-Label-Base (type-primitive) [Shipped] โ””โ”€โ”€ Text label badge for categorization/status
393
+
394
+ Planned (not shipped): a Badge-Status semantic variant, removable Badge-Tag.
372
395
 
373
396
 
374
397
  ### Component Summary
375
398
 
376
399
  | Component | Type | Status | Description |
377
400
  |-----------|------|--------|-------------|
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 |
401
+ | Badge-Count-Base | Type-Primitive | ๐ŸŸก | Numeric count indicator (web ๐ŸŸข; iOS/Android scaffold) |
402
+ | Badge-Count-Notification | Semantic | ๐ŸŸก | Notification count badge with live-region announcements (web ๐ŸŸข; iOS/Android scaffold) |
403
+ | Badge-Label-Base | Type-Primitive | ๐ŸŸก | Text label badge for categorization/status/tagging (web ๐ŸŸข; iOS/Android scaffold) |
404
+ | Badge-Status | Semantic | ๐Ÿ”ด Planned | Status indicators |
405
+ | Badge-Tag | Semantic | ๐Ÿ”ด Planned | Removable tags |
383
406
 
384
- ### Behavioral Contracts (Planned)
407
+ ### Behavioral Contracts
385
408
 
386
409
  **Base Contracts**:
387
410
  - `displays_text` - Renders text content
@@ -395,7 +418,9 @@ Badge-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Badge-Status (Semantic) [Plac
395
418
  - **Notification**: `displays_count`, `supports_max_count`, `supports_dot_mode`
396
419
  - **Label**: `static_display`, `supports_truncation`
397
420
 
398
- ### Token Dependencies (Planned)
421
+ > Contracts above blend shipped and planned behavior. Authoritative shipped-contract sets are in the Application MCP (`get_component_full({ name: "Badge-Count-Base" })`, etc.).
422
+
423
+ ### Token Dependencies
399
424
 
400
425
  | Category | Tokens |
401
426
  |----------|--------|
@@ -407,7 +432,7 @@ Badge-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Badge-Status (Semantic) [Plac
407
432
  ### MCP Documentation
408
433
 
409
434
  - **Full Documentation**: `.kiro/steering/Component-Family-Badge.md`
410
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Badge.md" })`
435
+ - **Query**: `get_document_full({ path: "component-family-badge" })`
411
436
 
412
437
  ---
413
438
 
@@ -459,7 +484,7 @@ Display-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Display-Text (Semantic) [Pl
459
484
  ### MCP Documentation
460
485
 
461
486
  - **Full Documentation**: `.kiro/steering/Component-Family-Data-Display.md`
462
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Data-Display.md" })`
487
+ - **Query**: `get_document_full({ path: "component-family-data-display" })`
463
488
 
464
489
  ---
465
490
 
@@ -505,7 +530,7 @@ Divider-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Divider-Horizontal (Semanti
505
530
  ### MCP Documentation
506
531
 
507
532
  - **Full Documentation**: `.kiro/steering/Component-Family-Divider.md`
508
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Divider.md" })`
533
+ - **Query**: `get_document_full({ path: "component-family-divider" })`
509
534
 
510
535
  ---
511
536
 
@@ -553,32 +578,40 @@ Loading-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Loading-Spinner (Semantic)
553
578
  ### MCP Documentation
554
579
 
555
580
  - **Full Documentation**: `.kiro/steering/Component-Family-Loading.md`
556
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Loading.md" })`
581
+ - **Query**: `get_document_full({ path: "component-family-loading" })`
557
582
 
558
583
  ---
559
584
 
560
585
  ## 11. Navigation Family
561
586
 
562
- **Status**: ๐Ÿ”ด Placeholder
587
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
563
588
  **Shared Need**: Wayfinding
564
- **Primitive Base**: Nav-Base
589
+ **Primitive Base**: Nav-Header-Base (internal-only structural primitive)
565
590
 
566
591
  ### Inheritance Structure
567
592
 
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
593
+ 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)
594
+
595
+ Nav-SegmentedChoice-Base (Primitive) [Shipped] โ””โ”€โ”€ Switch between mutually exclusive content views (connected segments)
596
+
597
+ Nav-TabBar-Base (Primitive) [Shipped] โ””โ”€โ”€ Persistent bottom tab bar for top-level destinations
598
+
599
+ Planned (not shipped): Nav-Breadcrumb, Nav-List.
569
600
 
570
601
 
571
602
  ### Component Summary
572
603
 
573
604
  | Component | Type | Status | Description |
574
605
  |-----------|------|--------|-------------|
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 |
606
+ | Nav-Header-Base | Primitive | ๐ŸŸก | Internal-only header primitive โ€” safe area, layout regions, landmark semantics (all platforms scaffold; use Nav-Header-Page/App) |
607
+ | Nav-Header-Page | Semantic | ๐ŸŸก | Page-level nav bar (web ๐ŸŸข; iOS/Android scaffold) |
608
+ | Nav-Header-App | Semantic | ๐ŸŸก | Permissive app-level header scaffold (all platforms scaffold by design) |
609
+ | Nav-SegmentedChoice-Base | Primitive | ๐ŸŸก | Segmented control for content switching (web ๐ŸŸข; iOS/Android scaffold) |
610
+ | Nav-TabBar-Base | Primitive | ๐ŸŸก | Bottom tab bar for top-level destinations (web ๐ŸŸข; iOS/Android scaffold) |
611
+ | Nav-Breadcrumb | Semantic | ๐Ÿ”ด Planned | Breadcrumb trail |
612
+ | Nav-List | Semantic | ๐Ÿ”ด Planned | Vertical navigation list |
580
613
 
581
- ### Behavioral Contracts (Planned)
614
+ ### Behavioral Contracts
582
615
 
583
616
  **Base Contracts**:
584
617
  - `manages_active_state` - Tracks and displays active item
@@ -587,12 +620,14 @@ Nav-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Nav-Tabs (Semantic) [Placeholde
587
620
  - `supports_icons` - Optional icons for items
588
621
 
589
622
  **Extended Contracts by Variant**:
590
- - **Tabs**: `switches_content`, `supports_disabled_tabs`, `supports_scrollable`
623
+ - **Tabs**: `switches_content`, `supports_scrollable` (no disabled-tab affordance โ€” DesignerPunk does not support disabled states; omit unavailable tabs instead)
591
624
  - **Breadcrumb**: `shows_hierarchy`, `supports_truncation`, `links_to_ancestors`
592
625
  - **List**: `supports_nesting`, `supports_collapsible`, `supports_badges`
593
626
  - **Bar**: `supports_responsive`, `supports_dropdown`, `supports_search`
594
627
 
595
- ### Token Dependencies (Planned)
628
+ > 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.).
629
+
630
+ ### Token Dependencies
596
631
 
597
632
  | Category | Tokens |
598
633
  |----------|--------|
@@ -604,7 +639,81 @@ Nav-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Nav-Tabs (Semantic) [Placeholde
604
639
  ### MCP Documentation
605
640
 
606
641
  - **Full Documentation**: `.kiro/steering/Component-Family-Navigation.md`
607
- - **Query**: `get_document_full({ path: ".kiro/steering/Component-Family-Navigation.md" })`
642
+ - **Query**: `get_document_full({ path: "component-family-navigation" })`
643
+
644
+ ---
645
+
646
+ ## 12. Chips Family
647
+
648
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
649
+ **Shared Need**: Selection, filtering, and input tokens
650
+ **Primitive Base**: Chip-Base
651
+
652
+ ### Inheritance Structure
653
+
654
+ 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
655
+
656
+
657
+ ### Component Summary
658
+
659
+ | Component | Type | Status | Description |
660
+ |-----------|------|--------|-------------|
661
+ | Chip-Base | Primitive | ๐ŸŸก | Compact interactive element for selections/filters/actions (web ๐ŸŸข; iOS/Android scaffold) |
662
+ | Chip-Filter | Semantic | ๐ŸŸก | Toggle a content filter on/off in a filter bar (web ๐ŸŸข; iOS/Android scaffold) |
663
+ | Chip-Input | Semantic | ๐ŸŸก | Dismissible user-entered value (tag/selection) (web ๐ŸŸข; iOS/Android scaffold) |
664
+
665
+ ### Behavioral Contracts
666
+
667
+ 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.).
668
+
669
+ ### MCP Documentation
670
+
671
+ - **Full Documentation**: `.kiro/steering/Component-Family-Chip.md`
672
+ - **Query**: `get_document_full({ path: "component-family-chip" })`
673
+
674
+ ---
675
+
676
+ ## 13. Progress Indicators Family
677
+
678
+ **Status**: ๐ŸŸก Web-ready, mobile-scaffold
679
+ **Shared Need**: Progress and step indication
680
+ **Primitive Base**: Progress-Indicator-Node-Base
681
+
682
+ > 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.
683
+
684
+ ### Inheritance Structure
685
+
686
+ Progress-Bar-Base (Primitive) [Shipped] โ€” continuous percentage bar (determinate/indeterminate)
687
+
688
+ Progress-Indicator-Node-Base (Primitive) [Shipped]
689
+ Progress-Indicator-Connector-Base (Primitive) [Shipped โ€” all-platform scaffold]
690
+ Progress-Indicator-Label-Base (Primitive) [Shipped โ€” all-platform scaffold]
691
+ โ”‚ (compose into)
692
+ โ”œโ”€โ”€ Progress-Pagination-Base (Semantic) [Shipped] โ€” dot-based position within a sequence
693
+ โ”œโ”€โ”€ Progress-Stepper-Base (Semantic) [Shipped] โ€” labeled multi-step workflow
694
+ โ””โ”€โ”€ Progress-Stepper-Detailed (Semantic) [Shipped] โ€” steppers with descriptions + connectors
695
+
696
+
697
+ ### Component Summary
698
+
699
+ | Component | Type | Status | Description |
700
+ |-----------|------|--------|-------------|
701
+ | Progress-Bar-Base | Primitive | ๐ŸŸก | Continuous percentage bar, determinate/indeterminate (web ๐ŸŸข; iOS/Android scaffold) |
702
+ | Progress-Indicator-Node-Base | Primitive | ๐ŸŸก | Single step-indicator node (web ๐ŸŸข; iOS/Android scaffold) |
703
+ | Progress-Indicator-Connector-Base | Primitive | ๐ŸŸก | Connector line between nodes (all platforms scaffold) |
704
+ | Progress-Indicator-Label-Base | Primitive | ๐ŸŸก | Text label for a node (all platforms scaffold) |
705
+ | Progress-Pagination-Base | Semantic | ๐ŸŸก | Dot-based pagination indicator (web ๐ŸŸข; iOS/Android scaffold) |
706
+ | Progress-Stepper-Base | Semantic | ๐ŸŸก | Labeled multi-step workflow (web ๐ŸŸข; iOS/Android scaffold) |
707
+ | Progress-Stepper-Detailed | Semantic | ๐ŸŸก | Stepper with descriptions + connectors (web ๐ŸŸข; iOS/Android scaffold) |
708
+
709
+ ### Behavioral Contracts
710
+
711
+ 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.).
712
+
713
+ ### MCP Documentation
714
+
715
+ - **Full Documentation**: `.kiro/steering/Component-Family-Progress.md`
716
+ - **Query**: `get_document_full({ path: "progress-indicator-components" })`
608
717
 
609
718
  ---
610
719
 
@@ -632,28 +741,38 @@ Nav-Base (Primitive) [Placeholder] โ”‚ โ”œโ”€โ”€ Nav-Tabs (Semantic) [Placeholde
632
741
 
633
742
  ```mermaid
634
743
  graph TB
635
- subgraph "Production Ready ๐ŸŸข"
744
+ subgraph "Production Ready ๐ŸŸข (all platforms)"
745
+ BVLI[Button-VerticalList-Item]
746
+ BVLS[Button-VerticalList-Set]
747
+ BVLI --> BVLS
748
+ end
749
+
750
+ subgraph "Shipping ๐ŸŸก (web-ready, mobile-scaffold)"
636
751
  ITB[Input-Text-Base]
637
752
  ITE[Input-Text-Email]
638
753
  ITP[Input-Text-Password]
639
754
  ITPN[Input-Text-PhoneNumber]
640
755
  BC[Button-CTA]
756
+ BI[Button-Icon]
641
757
  CB[Container-Base]
758
+ CCB[Container-Card-Base]
642
759
  IB[Icon-Base]
643
-
760
+ AVB[Avatar-Base]
761
+ BADGE[Badge-Count-Base / Badge-Label-Base]
762
+ CHIP[Chip-Base]
763
+ NAV[Nav-Header/SegmentedChoice/TabBar]
764
+ PROG[Progress-Bar/Node/Stepper/Pagination]
765
+
644
766
  ITB --> ITE
645
767
  ITB --> ITP
646
768
  ITB --> ITPN
647
769
  end
648
-
649
- subgraph "Placeholder ๐Ÿ”ด"
770
+
771
+ subgraph "Placeholder ๐Ÿ”ด (no components ship)"
650
772
  MB[Modal-Base]
651
- AB[Avatar-Base]
652
- BB[Badge-Base]
653
773
  DB[Display-Base]
654
774
  DVB[Divider-Base]
655
775
  LB[Loading-Base]
656
- NB[Nav-Base]
657
776
  end
658
777
 
659
778
  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