@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
@@ -2,7 +2,6 @@
2
2
  id: component-family-chip
3
3
  inclusion: manual
4
4
  name: Component-Family-Chip
5
- aliases: chip family work
6
5
  description: Chip component family — compact, interactive elements for filtering, selection, or input management (tags, toggles). Load when working with chip components, filter controls, or tag inputs.
7
6
  ---
8
7
 
@@ -84,13 +83,13 @@ Chip (Family)
84
83
 
85
84
  | Contract | Description | WCAG | Platforms |
86
85
  |----------|-------------|------|-----------|
87
- | renders_pill_container | Renders pill-shaped container with label text | — | web, ios, android |
88
- | renders_icon | Optionally displays leading icon via Icon-Base at icon.size075 | — | web, ios, android |
89
- | press_interaction | Responds to press/click/tap events, calls onPress callback | 2.1.1 | web, ios, android |
86
+ | visual_pill_container | Renders pill-shaped container with label text | — | web, ios, android |
87
+ | visual_renders_icon | Optionally displays leading icon via Icon-Base at icon.size075 | — | web, ios, android |
88
+ | interaction_pressable | Responds to press/click/tap events, calls onPress callback | 2.1.1 | web, ios, android |
90
89
  | state_styling | Visual feedback for default, hover, pressed states | 1.4.13 | web, ios, android |
91
- | keyboard_focusable | Can receive keyboard focus via Tab key | 2.1.1, 2.4.7 | web, ios, android |
92
- | keyboard_activation | Activates on Space/Enter key press | 2.1.1 | web |
93
- | expanded_tap_area | 48px tap area exceeds WCAG 44px minimum | 2.5.5 | web, ios, android |
90
+ | interaction_focusable | Can receive keyboard focus via Tab key | 2.1.1, 2.4.7 | web, ios, android |
91
+ | interaction_keyboard_activation | Activates on Space/Enter key press | 2.1.1 | web |
92
+ | interaction_expanded_tap_area | 48px tap area exceeds WCAG 44px minimum | 2.5.5 | web, ios, android |
94
93
  | accessibility_role | Announces as button to assistive technology | 4.1.2 | web, ios, android |
95
94
 
96
95
  ### Extended Contracts (Chip-Filter)
@@ -99,10 +98,10 @@ Inherits all contracts from Chip-Base, plus:
99
98
 
100
99
  | Contract | Description | WCAG | Platforms |
101
100
  |----------|-------------|------|-----------|
102
- | toggle_selection | Toggles selected state on press, calls onSelectionChange | 4.1.2 | web, ios, android |
103
- | selected_styling | Visual feedback for selected state using select feedback colors | 1.4.1 | web, ios, android |
104
- | checkmark_icon | Displays checkmark icon when selected (replaces leading icon) | — | web, ios, android |
105
- | aria_pressed | Announces selection state via aria-pressed attribute | 4.1.2 | web |
101
+ | interaction_toggle_selection | Toggles selected state on press, calls onSelectionChange | 4.1.2 | web, ios, android |
102
+ | state_selected_styling | Visual feedback for selected state using select feedback colors | 1.4.1 | web, ios, android |
103
+ | visual_checkmark_icon | Displays checkmark icon when selected (replaces leading icon) | — | web, ios, android |
104
+ | accessibility_aria_pressed | Announces selection state via aria-pressed attribute | 4.1.2 | web |
106
105
 
107
106
  ### Extended Contracts (Chip-Input)
108
107
 
@@ -110,10 +109,10 @@ Inherits most contracts from Chip-Base, plus:
110
109
 
111
110
  | Contract | Description | WCAG | Platforms |
112
111
  |----------|-------------|------|-----------|
113
- | dismiss_on_press | Dismisses chip on press anywhere, calls onDismiss | 2.1.1 | web, ios, android |
114
- | trailing_x_icon | Always displays X icon as trailing element | — | web, ios, android |
115
- | dual_icons | Supports both leading icon AND trailing X icon | — | web, ios, android |
116
- | x_icon_accessible_label | X icon has accessible label "Remove [label]" | 4.1.2 | web, ios, android |
112
+ | interaction_dismiss | Dismisses chip on press anywhere, calls onDismiss | 2.1.1 | web, ios, android |
113
+ | content_trailing_dismiss_icon | Always displays X icon as trailing element | — | web, ios, android |
114
+ | content_dual_icons | Supports both leading icon AND trailing X icon | — | web, ios, android |
115
+ | accessibility_dismiss_label | X icon has accessible label "Remove [label]" | 4.1.2 | web, ios, android |
117
116
 
118
117
  ---
119
118
 
@@ -2,7 +2,6 @@
2
2
  id: component-family-container
3
3
  inclusion: manual
4
4
  name: Component-Family-Container
5
- aliases: container family work
6
5
  description: Container component family — layout and content organization with granular styling props (padding, background, shadow, border, radius, opacity, layering) and semantic HTML support. Load when working with container components or layout composition.
7
6
  ---
8
7
 
@@ -98,17 +97,17 @@ All components in the Containers family inherit these 7 foundational contracts f
98
97
 
99
98
  | Contract | Description | WCAG | Platforms |
100
99
  |----------|-------------|------|-----------|
101
- | `contains_children` | Can contain child components | 1.3.1 | web, ios, android |
102
- | `applies_padding` | Applies consistent internal padding | 1.4.12 | web, ios, android |
103
- | `applies_background` | Applies background color styling | 1.4.3 | web, ios, android |
104
- | `applies_shadow` | Applies shadow/elevation styling | 1.4.11 | web, ios, android |
105
- | `applies_border` | Applies border styling | 1.4.11 | web, ios, android |
106
- | `applies_radius` | Applies border radius styling | N/A | web, ios, android |
107
- | `hover_state` | Visual feedback on hover (pointer devices) | 1.4.13 | web, ios, android |
100
+ | `layout_contains_children` | Can contain child components | 1.3.1 | web, ios, android |
101
+ | `layout_padding` | Applies consistent internal padding | 1.4.12 | web, ios, android |
102
+ | `visual_background` | Applies background color styling | 1.4.3 | web, ios, android |
103
+ | `visual_shadow` | Applies shadow/elevation styling | 1.4.11 | web, ios, android |
104
+ | `visual_border` | Applies border styling | 1.4.11 | web, ios, android |
105
+ | `visual_radius` | Applies border radius styling | N/A | web, ios, android |
106
+ | `interaction_hover` | Visual feedback on hover (pointer devices) | 1.4.13 | web, ios, android |
108
107
 
109
108
  ### Contract Details
110
109
 
111
- #### contains_children
110
+ #### layout_contains_children
112
111
 
113
112
  **Description**: Container-Base can contain any child components or content.
114
113
 
@@ -116,7 +115,7 @@ All components in the Containers family inherit these 7 foundational contracts f
116
115
 
117
116
  **WCAG Compliance**: 1.3.1 Info and Relationships
118
117
 
119
- #### applies_padding
118
+ #### layout_padding
120
119
 
121
120
  **Description**: Applies consistent internal padding using space.inset tokens.
122
121
 
@@ -124,7 +123,7 @@ All components in the Containers family inherit these 7 foundational contracts f
124
123
 
125
124
  **WCAG Compliance**: 1.4.12 Text Spacing
126
125
 
127
- #### applies_background
126
+ #### visual_background
128
127
 
129
128
  **Description**: Applies background color styling.
130
129
 
@@ -132,7 +131,7 @@ All components in the Containers family inherit these 7 foundational contracts f
132
131
 
133
132
  **WCAG Compliance**: 1.4.3 Contrast (Minimum)
134
133
 
135
- #### applies_shadow
134
+ #### visual_shadow
136
135
 
137
136
  **Description**: Applies shadow/elevation styling.
138
137
 
@@ -140,7 +139,7 @@ All components in the Containers family inherit these 7 foundational contracts f
140
139
 
141
140
  **WCAG Compliance**: 1.4.11 Non-text Contrast
142
141
 
143
- #### hover_state
142
+ #### interaction_hover
144
143
 
145
144
  **Description**: Visual feedback on hover (pointer devices only).
146
145
 
@@ -2,7 +2,6 @@
2
2
  id: component-family-data-display
3
3
  inclusion: manual
4
4
  name: Component-Family-Data-Display
5
- aliases: data display family work
6
5
  description: Data Display component family (placeholder) — planned components for structured information presentation including text formatting, lists, tables, and media display. Load when planning data display components or reviewing family architecture.
7
6
  ---
8
7
 
@@ -14,7 +13,7 @@ description: Data Display component family (placeholder) — planned components
14
13
  **Scope**: cross-project
15
14
  **Layer**: 3
16
15
  **Relevant Tasks**: component-development, architecture-planning
17
- **Last Reviewed**: 2026-01-02
16
+ **Last Reviewed**: 2026-07-08
18
17
 
19
18
  ---
20
19
 
@@ -2,7 +2,6 @@
2
2
  id: component-family-divider
3
3
  inclusion: manual
4
4
  name: Component-Family-Divider
5
- aliases: divider family work
6
5
  description: Divider component family (placeholder) — planned components for visual separation between content sections with horizontal and vertical orientations. Load when planning divider components or reviewing family architecture.
7
6
  ---
8
7
 
@@ -14,7 +13,7 @@ description: Divider component family (placeholder) — planned components for v
14
13
  **Scope**: cross-project
15
14
  **Layer**: 3
16
15
  **Relevant Tasks**: component-development, architecture-planning
17
- **Last Reviewed**: 2026-01-02
16
+ **Last Reviewed**: 2026-07-08
18
17
 
19
18
  ---
20
19
 
@@ -3,7 +3,7 @@ id: component-family-form-inputs
3
3
  inclusion: manual
4
4
  name: Component-Family-Form-Inputs
5
5
  description: Form Inputs component family — text input (float label pattern), checkbox, and radio components with built-in validation, accessibility, and cross-platform consistency. Load when working with form components, input validation, or selection controls.
6
- aliases: RTL, internationalization, i18n, bidi, right-to-left, text direction
6
+ aliases: textfield, text field, textbox, form field, input field, form controls
7
7
  ---
8
8
 
9
9
  # Form Inputs Components
@@ -14,7 +14,7 @@ aliases: RTL, internationalization, i18n, bidi, right-to-left, text direction
14
14
  **Scope**: cross-project
15
15
  **Layer**: 3
16
16
  **Relevant Tasks**: component-development, ui-composition, component-implementation
17
- **Last Reviewed**: 2026-02-07
17
+ **Last Reviewed**: 2026-08-02
18
18
 
19
19
  ---
20
20
 
@@ -102,23 +102,24 @@ Input-Radio-Base (Primitive)
102
102
 
103
103
  ### Text Input Base Contracts (Inherited by Text Input Components)
104
104
 
105
- All text input components in the Form Inputs family inherit these 9 foundational contracts from Input-Text-Base:
105
+ All text input components in the Form Inputs family inherit these 8 foundational contracts from Input-Text-Base:
106
106
 
107
107
  | Contract | Description | WCAG | Platforms |
108
108
  |----------|-------------|------|-----------|
109
- | `focusable` | Can receive keyboard focus | 2.1.1 | web, ios, android |
110
- | `float_label_animation` | Label animates on focus | 2.3.3 | web, ios, android |
111
- | `validates_on_blur` | Validation triggers on blur | 3.3.1 | web, ios, android |
112
- | `error_state_display` | Shows error message and styling | 3.3.1, 1.4.1 | web, ios, android |
113
- | `success_state_display` | Shows success styling | 1.4.1 | web, ios, android |
114
- | `disabled_state` | Prevents interaction when disabled | 4.1.2 | web, ios, android |
115
- | `trailing_icon_display` | Shows contextual trailing icons | 1.4.1 | web, ios, android |
116
- | `focus_ring` | WCAG 2.4.7 focus visible indicator | 2.4.7 | web, ios, android |
117
- | `reduced_motion_support` | Respects prefers-reduced-motion | 2.3.3 | web, ios, android |
109
+ | `interaction_focusable` | Can receive keyboard focus | 2.1.1 | web, ios, android |
110
+ | `content_float_label` | Label animates on focus | 2.3.3 | web, ios, android |
111
+ | `validation_on_blur` | Validation triggers on blur | 3.3.1 | web, ios, android |
112
+ | `state_error` | Shows error message and styling | 3.3.1, 1.4.1 | web, ios, android |
113
+ | `state_success` | Shows success styling | 1.4.1 | web, ios, android |
114
+ | `content_trailing_icon` | Shows contextual trailing icons | 1.4.1 | web, ios, android |
115
+ | `interaction_focus_ring` | WCAG 2.4.7 focus visible indicator | 2.4.7 | web, ios, android |
116
+ | `accessibility_reduced_motion` | Respects prefers-reduced-motion | 2.3.3 | web, ios, android |
117
+
118
+ **Excluded**: `state_disabled` — DesignerPunk does not support disabled states for usability and accessibility reasons. If an input is unavailable, it should not be rendered (adjudicated 2026-07-15; see `.kiro/issues/button-cta-disabled-state-adjudication.md`).
118
119
 
119
120
  ### Contract Details
120
121
 
121
- #### focusable
122
+ #### interaction_focusable
122
123
 
123
124
  **Description**: Component can receive keyboard focus via Tab key navigation.
124
125
 
@@ -126,7 +127,7 @@ All text input components in the Form Inputs family inherit these 9 foundational
126
127
 
127
128
  **WCAG Compliance**: 2.1.1 Keyboard
128
129
 
129
- #### float_label_animation
130
+ #### content_float_label
130
131
 
131
132
  **Description**: Label smoothly transitions from placeholder position inside input to floated position above input when focused or filled.
132
133
 
@@ -134,7 +135,7 @@ All text input components in the Form Inputs family inherit these 9 foundational
134
135
 
135
136
  **WCAG Compliance**: 2.3.3 Animation from Interactions
136
137
 
137
- #### error_state_display
138
+ #### state_error
138
139
 
139
140
  **Description**: When in error state, component displays red border, red label text, error icon, and error message.
140
141
 
@@ -142,7 +143,7 @@ All text input components in the Form Inputs family inherit these 9 foundational
142
143
 
143
144
  **WCAG Compliance**: 3.3.1 Error Identification, 1.4.1 Use of Color
144
145
 
145
- #### focus_ring
146
+ #### interaction_focus_ring
146
147
 
147
148
  **Description**: When focused via keyboard, component displays a visible focus indicator.
148
149
 
@@ -156,24 +157,24 @@ All text input components in the Form Inputs family inherit these 9 foundational
156
157
 
157
158
  | Contract | Description | WCAG |
158
159
  |----------|-------------|------|
159
- | `validates_email_format` | Validates email against RFC 5322 pattern | 3.3.1 |
160
- | `provides_email_autocomplete` | Enables browser/platform email autofill | 1.3.5 |
160
+ | `validation_email_format` | Validates email against RFC 5322 pattern | 3.3.1 |
161
+ | `interaction_email_autocomplete` | Enables browser/platform email autofill | 1.3.5 |
161
162
 
162
163
  #### Input-Text-Password Extended Contracts
163
164
 
164
165
  | Contract | Description | WCAG |
165
166
  |----------|-------------|------|
166
- | `provides_secure_input` | Masks password input by default | 3.3.2 |
167
- | `supports_password_toggle` | Provides show/hide password functionality | 2.1.1, 4.1.2 |
168
- | `provides_password_autocomplete` | Enables browser/platform password autofill | 1.3.5 |
167
+ | `interaction_secure_input` | Masks password input by default | 3.3.2 |
168
+ | `interaction_password_toggle` | Provides show/hide password functionality | 2.1.1, 4.1.2 |
169
+ | `interaction_password_autocomplete` | Enables browser/platform password autofill | 1.3.5 |
169
170
 
170
171
  #### Input-Text-PhoneNumber Extended Contracts
171
172
 
172
173
  | Contract | Description | WCAG |
173
174
  |----------|-------------|------|
174
- | `validates_phone_format` | Validates phone number against country-specific patterns | 3.3.1 |
175
- | `provides_phone_formatting` | Formats phone numbers as user types | 3.3.2 |
176
- | `supports_international_formats` | Handles multiple country phone number formats | 3.3.2 |
175
+ | `validation_phone_format` | Validates phone number against country-specific patterns | 3.3.1 |
176
+ | `content_phone_formatting` | Formats phone numbers as user types | 3.3.2 |
177
+ | `content_international_formats` | Handles multiple country phone number formats | 3.3.2 |
177
178
 
178
179
  ### Checkbox Base Contracts (Inherited by Checkbox Components)
179
180
 
@@ -181,19 +182,19 @@ All checkbox components in the Form Inputs family inherit these 9 foundational c
181
182
 
182
183
  | Contract | Description | WCAG | Platforms |
183
184
  |----------|-------------|------|-----------|
184
- | `focusable` | Can receive keyboard focus | 2.1.1 | web, ios, android |
185
- | `pressable` | Responds to click/tap on entire label area | 2.1.1 | web, ios, android |
186
- | `hover_state` | Visual feedback on hover (web) | 1.4.13 | web |
187
- | `pressed_state` | Visual feedback when pressed | 2.4.7 | web, ios, android |
188
- | `checked_state` | Shows checkmark icon when checked | 1.4.1 | web, ios, android |
189
- | `indeterminate_state` | Shows minus icon for partial selection | 1.4.1 | web, ios, android |
190
- | `error_state_display` | Shows error border and message | 3.3.1 | web, ios, android |
191
- | `focus_ring` | WCAG 2.4.7 focus visible indicator | 2.4.7 | web, ios, android |
192
- | `form_integration` | Native form submission and reset | 4.1.2 | web, ios, android |
185
+ | `interaction_focusable` | Can receive keyboard focus | 2.1.1 | web, ios, android |
186
+ | `interaction_pressable` | Responds to click/tap on entire label area | 2.1.1 | web, ios, android |
187
+ | `interaction_hover` | Visual feedback on hover (web) | 1.4.13 | web |
188
+ | `interaction_pressed` | Visual feedback when pressed | 2.4.7 | web, ios, android |
189
+ | `state_checked` | Shows checkmark icon when checked | 1.4.1 | web, ios, android |
190
+ | `state_indeterminate` | Shows minus icon for partial selection | 1.4.1 | web, ios, android |
191
+ | `state_error` | Shows error border and message | 3.3.1 | web, ios, android |
192
+ | `interaction_focus_ring` | WCAG 2.4.7 focus visible indicator | 2.4.7 | web, ios, android |
193
+ | `validation_form_integration` | Native form submission and reset | 4.1.2 | web, ios, android |
193
194
 
194
195
  ### Checkbox Contract Details
195
196
 
196
- #### checked_state
197
+ #### state_checked
197
198
 
198
199
  **Description**: When checked, component displays filled background with checkmark icon via Icon-Base.
199
200
 
@@ -201,7 +202,7 @@ All checkbox components in the Form Inputs family inherit these 9 foundational c
201
202
 
202
203
  **WCAG Compliance**: 1.4.1 Use of Color (icon provides non-color indication)
203
204
 
204
- #### indeterminate_state
205
+ #### state_indeterminate
205
206
 
206
207
  **Description**: When indeterminate, component displays filled background with horizontal minus icon via Icon-Base.
207
208
 
@@ -209,7 +210,7 @@ All checkbox components in the Form Inputs family inherit these 9 foundational c
209
210
 
210
211
  **WCAG Compliance**: 1.4.1 Use of Color (icon provides non-color indication)
211
212
 
212
- #### form_integration
213
+ #### validation_form_integration
213
214
 
214
215
  **Description**: Checkbox integrates with native form submission and reset.
215
216
 
@@ -221,8 +222,8 @@ All checkbox components in the Form Inputs family inherit these 9 foundational c
221
222
 
222
223
  | Contract | Description | WCAG |
223
224
  |----------|-------------|------|
224
- | `explicit_consent` | Prevents pre-checking with console warning | N/A |
225
- | `audit_trail` | Provides ISO 8601 timestamp and metadata | N/A |
225
+ | `validation_explicit_consent` | Prevents pre-checking with console warning | N/A |
226
+ | `validation_audit_trail` | Provides ISO 8601 timestamp and metadata | N/A |
226
227
  | `required_indicator` | Shows "Required" indicator by default | 3.3.2 |
227
228
 
228
229
  ### Radio Base Contracts (Inherited by Radio Components)
@@ -231,18 +232,18 @@ All radio components in the Form Inputs family inherit these 8 foundational cont
231
232
 
232
233
  | Contract | Description | WCAG | Platforms |
233
234
  |----------|-------------|------|-----------|
234
- | `focusable` | Can receive keyboard focus | 2.1.1 | web, ios, android |
235
- | `pressable` | Responds to click/tap on entire label area | 2.1.1 | web, ios, android |
236
- | `hover_state` | Visual feedback on hover (web) | 1.4.13 | web |
237
- | `pressed_state` | Visual feedback when pressed | 2.4.7 | web, ios, android |
238
- | `selected_state` | Shows filled dot when selected | 1.4.1 | web, ios, android |
239
- | `error_state` | Shows error border and message | 3.3.1 | web, ios, android |
240
- | `focus_ring` | WCAG 2.4.7 focus visible indicator | 2.4.7 | web, ios, android |
241
- | `form_integration` | Native form submission | 4.1.2 | web, ios, android |
235
+ | `interaction_focusable` | Can receive keyboard focus | 2.1.1 | web, ios, android |
236
+ | `interaction_pressable` | Responds to click/tap on entire label area | 2.1.1 | web, ios, android |
237
+ | `interaction_hover` | Visual feedback on hover (web) | 1.4.13 | web |
238
+ | `interaction_pressed` | Visual feedback when pressed | 2.4.7 | web, ios, android |
239
+ | `state_selected` | Shows filled dot when selected | 1.4.1 | web, ios, android |
240
+ | `state_error` | Shows error border and message | 3.3.1 | web, ios, android |
241
+ | `interaction_focus_ring` | WCAG 2.4.7 focus visible indicator | 2.4.7 | web, ios, android |
242
+ | `validation_form_integration` | Native form submission | 4.1.2 | web, ios, android |
242
243
 
243
244
  ### Radio Contract Details
244
245
 
245
- #### selected_state
246
+ #### state_selected
246
247
 
247
248
  **Description**: When selected, component displays a filled circular dot centered within the outer circle.
248
249
 
@@ -262,21 +263,21 @@ All radio components in the Form Inputs family inherit these 8 foundational cont
262
263
 
263
264
  | Contract | Description | WCAG | Platforms |
264
265
  |----------|-------------|------|-----------|
265
- | `mutual_exclusivity` | Only one radio selected at a time | N/A | web, ios, android |
266
- | `keyboard_navigation` | Arrow keys navigate within group | 2.1.1 | web, ios, android |
267
- | `group_validation` | Required validation at group level | 3.3.1 | web, ios, android |
268
- | `error_announcement` | Error message announced to screen readers | 4.1.3 | web, ios, android |
269
- | `radiogroup_role` | Proper ARIA role for group | 4.1.2 | web, ios, android |
266
+ | `composition_mutual_exclusivity` | Only one radio selected at a time | N/A | web, ios, android |
267
+ | `interaction_keyboard_navigation` | Arrow keys navigate within group | 2.1.1 | web, ios, android |
268
+ | `validation_group_required` | Required validation at group level | 3.3.1 | web, ios, android |
269
+ | `accessibility_error_announcement` | Error message announced to screen readers | 4.1.3 | web, ios, android |
270
+ | `accessibility_radiogroup_role` | Proper ARIA role for group | 4.1.2 | web, ios, android |
270
271
 
271
272
  ### Radio Set Contract Details
272
273
 
273
- #### mutual_exclusivity
274
+ #### composition_mutual_exclusivity
274
275
 
275
276
  **Description**: Only one radio within the group can be selected at any time.
276
277
 
277
278
  **Behavior**: When a user selects a radio, the previously selected radio becomes unselected. Clicking an already-selected radio does NOT deselect it (radio convention). The Set coordinates this via event listening (web), environment values (iOS), or CompositionLocal (Android).
278
279
 
279
- #### keyboard_navigation
280
+ #### interaction_keyboard_navigation
280
281
 
281
282
  **Description**: Arrow keys navigate between radios within the group following WAI-ARIA radio group pattern.
282
283
 
@@ -371,8 +372,8 @@ InputTextBase(
371
372
 
372
373
  | Contract | Description | Platforms |
373
374
  |----------|-------------|-----------|
374
- | `validates_email_format` | Validates email against RFC 5322 pattern on blur | web, ios, android |
375
- | `provides_email_autocomplete` | Enables browser/platform email autofill | web, ios, android |
375
+ | `validation_email_format` | Validates email against RFC 5322 pattern on blur | web, ios, android |
376
+ | `interaction_email_autocomplete` | Enables browser/platform email autofill | web, ios, android |
376
377
 
377
378
  #### Usage Example
378
379
 
@@ -425,9 +426,9 @@ InputTextEmail(
425
426
 
426
427
  | Contract | Description | Platforms |
427
428
  |----------|-------------|-----------|
428
- | `provides_secure_input` | Masks password input by default | web, ios, android |
429
- | `supports_password_toggle` | Provides show/hide password functionality | web, ios, android |
430
- | `provides_password_autocomplete` | Enables browser/platform password autofill | web, ios, android |
429
+ | `interaction_secure_input` | Masks password input by default | web, ios, android |
430
+ | `interaction_password_toggle` | Provides show/hide password functionality | web, ios, android |
431
+ | `interaction_password_autocomplete` | Enables browser/platform password autofill | web, ios, android |
431
432
 
432
433
  #### Usage Example
433
434
 
@@ -479,9 +480,9 @@ InputTextPassword(
479
480
 
480
481
  | Contract | Description | Platforms |
481
482
  |----------|-------------|-----------|
482
- | `validates_phone_format` | Validates phone number against country-specific patterns | web, ios, android |
483
- | `provides_phone_formatting` | Formats phone numbers as user types | web, ios, android |
484
- | `supports_international_formats` | Handles multiple country phone number formats | web, ios, android |
483
+ | `validation_phone_format` | Validates phone number against country-specific patterns | web, ios, android |
484
+ | `content_phone_formatting` | Formats phone numbers as user types | web, ios, android |
485
+ | `content_international_formats` | Handles multiple country phone number formats | web, ios, android |
485
486
 
486
487
  #### Supported Countries
487
488
 
@@ -665,8 +666,8 @@ interface ConsentChangeData {
665
666
 
666
667
  | Contract | Description | Platforms |
667
668
  |----------|-------------|-----------|
668
- | `explicit_consent` | Prevents pre-checking with console warning | web, ios, android |
669
- | `audit_trail` | Provides ISO 8601 timestamp and metadata | web, ios, android |
669
+ | `validation_explicit_consent` | Prevents pre-checking with console warning | web, ios, android |
670
+ | `validation_audit_trail` | Provides ISO 8601 timestamp and metadata | web, ios, android |
670
671
  | `required_indicator` | Shows "Required" indicator by default | web, ios, android |
671
672
 
672
673
  #### Usage Example
@@ -908,7 +909,6 @@ Components in the Form Inputs family consume these design tokens:
908
909
  | Accessibility | `accessibility.focus.color` | Focus ring color |
909
910
  | Icon | `icon.size100` | Icon size |
910
911
  | Blend | `blend.focusSaturate` | Focus state saturation |
911
- | Blend | `blend.disabledDesaturate` | Disabled state desaturation |
912
912
 
913
913
  #### Checkbox Tokens
914
914
 
@@ -2,7 +2,6 @@
2
2
  id: component-family-icon
3
3
  inclusion: manual
4
4
  name: Component-Family-Icon
5
- aliases: icon family work
6
5
  description: Icon component family — inline SVG icons with automatic color inheritance and typography-aligned sizing across 11 size variants. Load when working with icon components, icon sizing, or icon color integration.
7
6
  ---
8
7
 
@@ -14,7 +13,7 @@ description: Icon component family — inline SVG icons with automatic color inh
14
13
  **Scope**: cross-project
15
14
  **Layer**: 3
16
15
  **Relevant Tasks**: component-development, ui-composition, component-implementation
17
- **Last Reviewed**: 2026-01-02
16
+ **Last Reviewed**: 2026-07-08
18
17
 
19
18
  ---
20
19
 
@@ -85,15 +84,15 @@ All components in the Icons family inherit these 5 foundational contracts from I
85
84
 
86
85
  | Contract | Description | WCAG | Platforms |
87
86
  |----------|-------------|------|-----------|
88
- | `renders_svg` | Renders inline SVG with correct viewBox and stroke | N/A | web, ios, android |
89
- | `color_inheritance` | Inherits color from parent via currentColor | 1.4.1 | web, ios, android |
90
- | `size_variants` | Supports 11 size variants from typography scale | N/A | web, ios, android |
91
- | `optical_balance` | Optional 8% lighter blend for icon-text pairing | 1.4.3 | web, ios, android |
87
+ | `visual_renders_svg` | Renders inline SVG with correct viewBox and stroke | N/A | web, ios, android |
88
+ | `visual_color_inheritance` | Inherits color from parent via currentColor | 1.4.1 | web, ios, android |
89
+ | `visual_size_variants` | Supports 11 size variants from typography scale | N/A | web, ios, android |
90
+ | `visual_optical_balance` | Optional 8% lighter blend for icon-text pairing | 1.4.3 | web, ios, android |
92
91
  | `accessibility_hidden` | Decorative icons hidden from assistive technology | 1.1.1 | web, ios, android |
93
92
 
94
93
  ### Contract Details
95
94
 
96
- #### renders_svg
95
+ #### visual_renders_svg
97
96
 
98
97
  **Description**: Renders inline SVG with correct viewBox and stroke attributes.
99
98
 
@@ -101,7 +100,7 @@ All components in the Icons family inherit these 5 foundational contracts from I
101
100
 
102
101
  **WCAG Compliance**: N/A
103
102
 
104
- #### color_inheritance
103
+ #### visual_color_inheritance
105
104
 
106
105
  **Description**: Inherits color from parent via currentColor.
107
106
 
@@ -109,7 +108,7 @@ All components in the Icons family inherit these 5 foundational contracts from I
109
108
 
110
109
  **WCAG Compliance**: 1.4.1 Use of Color
111
110
 
112
- #### size_variants
111
+ #### visual_size_variants
113
112
 
114
113
  **Description**: Supports 11 size variants calculated from typography scale.
115
114
 
@@ -126,7 +125,7 @@ All components in the Icons family inherit these 5 foundational contracts from I
126
125
 
127
126
  **WCAG Compliance**: N/A
128
127
 
129
- #### optical_balance
128
+ #### visual_optical_balance
130
129
 
131
130
  **Description**: Optional 8% lighter blend for icon-text pairing.
132
131
 
@@ -2,7 +2,6 @@
2
2
  id: component-family-loading
3
3
  inclusion: manual
4
4
  name: Component-Family-Loading
5
- aliases: loading family work
6
5
  description: Loading component family (placeholder) — planned components for progress indication including indeterminate spinners, determinate progress bars, and skeleton placeholders. Load when planning loading components or reviewing family architecture.
7
6
  ---
8
7
 
@@ -14,7 +13,7 @@ description: Loading component family (placeholder) — planned components for p
14
13
  **Scope**: cross-project
15
14
  **Layer**: 3
16
15
  **Relevant Tasks**: component-development, architecture-planning
17
- **Last Reviewed**: 2026-01-02
16
+ **Last Reviewed**: 2026-07-08
18
17
 
19
18
  ---
20
19
 
@@ -2,7 +2,6 @@
2
2
  id: component-family-modal
3
3
  inclusion: manual
4
4
  name: Component-Family-Modal
5
- aliases: modal family work
6
5
  description: Modal component family (placeholder) — planned overlay components for focused user interactions with focus trapping, backdrop interactions, and accessible dismissal patterns. Load when planning modal components or reviewing family architecture.
7
6
  ---
8
7
 
@@ -14,7 +13,7 @@ description: Modal component family (placeholder) — planned overlay components
14
13
  **Scope**: cross-project
15
14
  **Layer**: 3
16
15
  **Relevant Tasks**: component-development, architecture-planning
17
- **Last Reviewed**: 2026-01-02
16
+ **Last Reviewed**: 2026-07-08
18
17
 
19
18
  ---
20
19
 
@@ -2,7 +2,6 @@
2
2
  id: component-family-navigation
3
3
  inclusion: manual
4
4
  name: Component-Family-Navigation
5
- aliases: navigation family work
6
5
  description: Navigation component family — wayfinding and view-switching components including segmented controls and tab bars. Load when building navigation components or reviewing family architecture.
7
6
  ---
8
7
 
@@ -144,7 +143,7 @@ Nav-Header-Base (Primitive) [PLANNED]
144
143
  | `accessibility_touch_target` | accessibility | 2.5.5 | web, ios, android |
145
144
  | `validation_selection_constraints` | validation | — | web, ios, android |
146
145
 
147
- **Exclusions**: `state_disabled`, `interaction_hoverable` — No disabled or hover states on tab bar.
146
+ **Exclusions**: `state_disabled`, `interaction_hover` — No disabled or hover states on tab bar.
148
147
 
149
148
  ---
150
149
 
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  id: progress-indicator-components
3
3
  inclusion: manual
4
- aliases: progress family work
5
4
  ---
6
5
 
7
6
  # Progress Indicator Components