@3fn/core 14.0.0 → 15.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 (1442) hide show
  1. package/.kiro/steering/AI-Collaboration-Principles.md +9 -3
  2. package/.kiro/steering/Agent-Directory.md +31 -7
  3. package/.kiro/steering/Civitas-System-Overview.md +5 -14
  4. package/.kiro/steering/DesignerPunk-Systems-Overview.md +3 -3
  5. package/.kiro/steering/Spec-Feedback-Protocol.md +2 -11
  6. package/.kiro/steering/Task-Completion-Protocol.md +17 -16
  7. package/.kiro/steering/start-up-tasks.md +15 -7
  8. package/CHANGELOG.md +74 -0
  9. package/README.md +26 -21
  10. package/application-mcp-server/src/__tests__/consumerRootLiveReindex.test.ts +118 -0
  11. package/application-mcp-server/src/__tests__/errorCatalogWiring.test.ts +73 -0
  12. package/application-mcp-server/src/__tests__/mcpDataRootsDeclaration.test.ts +107 -0
  13. package/application-mcp-server/src/__tests__/tool-boundary.contract.test.ts +55 -0
  14. package/application-mcp-server/src/index.ts +249 -59
  15. package/application-mcp-server/src/indexer/ComponentIndexer.ts +273 -46
  16. package/application-mcp-server/src/indexer/ModeClassifier.ts +23 -16
  17. package/application-mcp-server/src/indexer/SemanticOverrideReader.ts +113 -0
  18. package/application-mcp-server/src/indexer/TokenIndexer.ts +195 -3
  19. package/application-mcp-server/src/indexer/__tests__/MultiRootIndexing.test.ts +134 -0
  20. package/application-mcp-server/src/indexer/__tests__/ThemeResolution.test.ts +241 -0
  21. package/application-mcp-server/src/indexer/__tests__/ThemeRootFollowsIndex.test.ts +216 -0
  22. package/application-mcp-server/src/indexer/__tests__/fixtures/consumerFixture.ts +84 -0
  23. package/application-mcp-server/src/indexer/resolveThemeTierRoot.ts +61 -0
  24. package/application-mcp-server/src/watcher/FileWatcher.ts +20 -7
  25. package/dist/ComponentTokens.android.kt +12 -12
  26. package/dist/ComponentTokens.ios.swift +12 -12
  27. package/dist/ComponentTokens.web.css +3 -3
  28. package/dist/DesignTokens.android.kt +1 -5
  29. package/dist/DesignTokens.dtcg.json +388 -122
  30. package/dist/DesignTokens.figma.json +281 -941
  31. package/dist/DesignTokens.ios.swift +1 -5
  32. package/dist/DesignTokens.web.css +5 -5
  33. package/dist/browser/designerpunk.esm.js +174 -103
  34. package/dist/browser/designerpunk.esm.min.js +58 -55
  35. package/dist/browser/designerpunk.umd.js +174 -103
  36. package/dist/browser/designerpunk.umd.min.js +58 -55
  37. package/dist/browser/tokens.css +7 -7
  38. package/dist/build/platforms/AndroidMotionTokenFormatter.d.ts +101 -0
  39. package/dist/build/platforms/AndroidMotionTokenFormatter.js +220 -0
  40. package/dist/build/platforms/WebMotionTokenFormatter.d.ts +85 -0
  41. package/dist/build/platforms/WebMotionTokenFormatter.js +167 -0
  42. package/dist/build/platforms/iOSMotionTokenFormatter.d.ts +99 -0
  43. package/dist/build/platforms/iOSMotionTokenFormatter.js +221 -0
  44. package/dist/build/tokens/defineComponentTokens.d.ts +10 -0
  45. package/dist/build/tokens/defineComponentTokens.js +26 -0
  46. package/dist/build/validation/index.d.ts +0 -4
  47. package/dist/build/validation/index.js +1 -8
  48. package/dist/cli/attach.d.ts +153 -0
  49. package/dist/cli/attach.js +423 -0
  50. package/dist/cli/designerpunk.d.ts +46 -0
  51. package/dist/cli/designerpunk.js +171 -34
  52. package/dist/cli/figma-extract.js +10 -1
  53. package/dist/cli/figma-push.js +11 -2
  54. package/dist/cli/init.d.ts +36 -5
  55. package/dist/cli/init.js +348 -143
  56. package/dist/cli/loadComponentTokens.d.ts +25 -0
  57. package/dist/cli/loadComponentTokens.js +87 -8
  58. package/dist/cli/shared/bornRepo.d.ts +50 -0
  59. package/dist/cli/shared/bornRepo.js +199 -0
  60. package/dist/cli/shared/errorCatalog.d.ts +130 -0
  61. package/dist/cli/shared/errorCatalog.js +148 -0
  62. package/dist/cli/shared/mcpConfig/cc.d.ts +25 -0
  63. package/dist/cli/shared/mcpConfig/cc.js +156 -0
  64. package/dist/cli/shared/mcpConfig/kiro.d.ts +53 -0
  65. package/dist/cli/shared/mcpConfig/kiro.js +140 -0
  66. package/dist/cli/shared/mcpDataRoots.d.ts +88 -1
  67. package/dist/cli/shared/mcpDataRoots.js +76 -2
  68. package/dist/cli/shared/transforms.d.ts +64 -0
  69. package/dist/cli/shared/transforms.js +138 -0
  70. package/dist/cli/shared/vocabulary.d.ts +50 -0
  71. package/dist/cli/shared/vocabulary.js +62 -0
  72. package/dist/cli/sync/Applier.d.ts +25 -26
  73. package/dist/cli/sync/Applier.js +37 -73
  74. package/dist/cli/sync/Classifier.d.ts +70 -6
  75. package/dist/cli/sync/Classifier.js +123 -84
  76. package/dist/cli/sync/FileScanner.d.ts +19 -10
  77. package/dist/cli/sync/FileScanner.js +33 -25
  78. package/dist/cli/sync/KeyGrain.d.ts +106 -0
  79. package/dist/cli/sync/KeyGrain.js +301 -0
  80. package/dist/cli/sync/Manifest.d.ts +147 -12
  81. package/dist/cli/sync/Manifest.js +276 -21
  82. package/dist/cli/sync/Migration.d.ts +271 -0
  83. package/dist/cli/sync/Migration.js +764 -0
  84. package/dist/cli/sync/NameContract.d.ts +169 -0
  85. package/dist/cli/sync/NameContract.js +246 -0
  86. package/dist/cli/sync/RegionGrain.d.ts +118 -0
  87. package/dist/cli/sync/RegionGrain.js +167 -0
  88. package/dist/cli/sync/Reporter.d.ts +33 -4
  89. package/dist/cli/sync/Reporter.js +112 -53
  90. package/dist/cli/sync/SteeringDirCheck.d.ts +32 -4
  91. package/dist/cli/sync/SteeringDirCheck.js +62 -14
  92. package/dist/cli/sync/index.d.ts +125 -6
  93. package/dist/cli/sync/index.js +716 -66
  94. package/dist/color/OklchValidator.d.ts +43 -3
  95. package/dist/color/OklchValidator.js +46 -8
  96. package/dist/components/core/Avatar-Base/avatar.tokens.d.ts +21 -26
  97. package/dist/components/core/Avatar-Base/avatar.tokens.js +31 -34
  98. package/dist/components/core/Avatar-Base/index.d.ts +1 -1
  99. package/dist/components/core/Avatar-Base/index.js +2 -2
  100. package/dist/components/core/Button-CTA/Button-CTA.refs.d.ts +83 -0
  101. package/dist/components/core/Button-CTA/Button-CTA.refs.js +86 -0
  102. package/dist/components/core/Button-CTA/Button-CTA.tokens.d.ts +20 -10
  103. package/dist/components/core/Button-CTA/Button-CTA.tokens.js +21 -10
  104. package/dist/components/core/Button-CTA/index.d.ts +2 -2
  105. package/dist/components/core/Button-CTA/index.js +3 -3
  106. package/dist/components/core/Button-Icon/buttonIcon.tokens.d.ts +28 -14
  107. package/dist/components/core/Button-Icon/buttonIcon.tokens.js +35 -20
  108. package/dist/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.d.ts +11 -30
  109. package/dist/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.js +16 -49
  110. package/dist/components/core/Container-Base/Container-Base.refs.d.ts +181 -0
  111. package/dist/components/core/Container-Base/Container-Base.refs.js +223 -0
  112. package/dist/components/core/Container-Base/index.d.ts +2 -2
  113. package/dist/components/core/Container-Base/index.js +10 -10
  114. package/dist/components/core/Container-Base/platforms/web/ContainerBase.web.js +1 -1
  115. package/dist/components/core/Container-Base/platforms/web/token-mapping.d.ts +27 -9
  116. package/dist/components/core/Container-Base/platforms/web/token-mapping.js +50 -22
  117. package/dist/components/core/Container-Card-Base/Container-Card-Base.refs.d.ts +149 -0
  118. package/dist/components/core/Container-Card-Base/Container-Card-Base.refs.js +207 -0
  119. package/dist/components/core/Container-Card-Base/index.d.ts +1 -1
  120. package/dist/components/core/Container-Card-Base/index.js +19 -19
  121. package/dist/components/core/Container-Card-Base/platforms/web/ContainerCardBase.web.js +7 -6
  122. package/dist/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.d.ts +15 -0
  123. package/dist/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.js +41 -1
  124. package/dist/components/core/Input-Text-Base/Input-Text-Base.refs.d.ts +331 -0
  125. package/dist/components/core/Input-Text-Base/Input-Text-Base.refs.js +164 -0
  126. package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.web.js +1 -1
  127. package/dist/components/core/Input-Text-Email/Input-Text-Email.refs.d.ts +20 -0
  128. package/dist/components/core/Input-Text-Email/Input-Text-Email.refs.js +34 -0
  129. package/dist/components/core/Input-Text-Password/Input-Text-Password.refs.d.ts +20 -0
  130. package/dist/components/core/Input-Text-Password/Input-Text-Password.refs.js +34 -0
  131. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.d.ts +30 -0
  132. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +72 -3
  133. package/dist/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.refs.d.ts +20 -0
  134. package/dist/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.refs.js +34 -0
  135. package/dist/consumer-canonical/agents/ada.md +331 -0
  136. package/dist/consumer-canonical/agents/data.md +429 -0
  137. package/dist/consumer-canonical/agents/kenya.md +400 -0
  138. package/dist/consumer-canonical/agents/leonardo.md +524 -0
  139. package/dist/consumer-canonical/agents/lina.md +501 -0
  140. package/dist/consumer-canonical/agents/sparky.md +395 -0
  141. package/dist/consumer-canonical/agents/stacy.md +515 -0
  142. package/dist/consumer-canonical/agents/thurgood.md +463 -0
  143. package/dist/consumer-canonical/always-set/agent-directory.dispositions.yaml +21 -0
  144. package/dist/consumer-canonical/always-set/agent-directory.overlay.md +51 -0
  145. package/dist/consumer-canonical/always-set/ai-collaboration-principles.dispositions.yaml +15 -0
  146. package/dist/consumer-canonical/always-set/ai-collaboration-principles.overlay.md +26 -0
  147. package/dist/consumer-canonical/always-set/civitas-system-overview.dispositions.yaml +15 -0
  148. package/dist/consumer-canonical/always-set/civitas-system-overview.overlay.md +70 -0
  149. package/dist/consumer-canonical/always-set/core-goals.dispositions.yaml +9 -0
  150. package/dist/consumer-canonical/always-set/core-goals.overlay.md +74 -0
  151. package/dist/consumer-canonical/always-set/designerpunk-systems-overview.dispositions.yaml +16 -0
  152. package/dist/consumer-canonical/always-set/designerpunk-systems-overview.overlay.md +44 -0
  153. package/dist/consumer-canonical/always-set/spec-feedback-protocol.dispositions.yaml +21 -0
  154. package/dist/consumer-canonical/always-set/spec-feedback-protocol.overlay.md +44 -0
  155. package/dist/consumer-canonical/always-set/start-up-tasks.dispositions.yaml +15 -0
  156. package/dist/consumer-canonical/always-set/start-up-tasks.overlay.md +25 -0
  157. package/dist/consumer-canonical/always-set/task-completion-protocol.dispositions.yaml +19 -0
  158. package/dist/consumer-canonical/always-set/task-completion-protocol.overlay.md +116 -0
  159. package/dist/consumer-canonical/consumer-profile.yaml +9 -0
  160. package/dist/consumer-canonical/shared/always-set.yaml +113 -0
  161. package/dist/consumer-canonical/shared/field-dispositions.yaml +85 -0
  162. package/dist/consumer-canonical/shared/shared-catalog.yaml +19 -0
  163. package/dist/consumer-canonical/shared/skills-map.yaml +33 -0
  164. package/dist/consumer-canonical/skills/adaptive/SKILL.md +301 -0
  165. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/container-behavior.md +112 -0
  166. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/get-started.md +69 -0
  167. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/index.md +81 -0
  168. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/item-behavior.md +170 -0
  169. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/container-properties.md +238 -0
  170. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/get-started.md +51 -0
  171. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/index.md +73 -0
  172. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/item-properties.md +168 -0
  173. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/mediaquery/index.md +329 -0
  174. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/tooling/debug.md +114 -0
  175. package/dist/consumer-canonical/skills/adaptive/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +141 -0
  176. package/dist/consumer-canonical/skills/edge-to-edge/SKILL.md +426 -0
  177. package/dist/consumer-canonical/skills/impeccable/SKILL.md +237 -0
  178. package/dist/consumer-canonical/skills/impeccable/detector-exclusions.md +42 -0
  179. package/dist/consumer-canonical/skills/impeccable/reference/adapt.md +190 -0
  180. package/dist/consumer-canonical/skills/impeccable/reference/animate.md +194 -0
  181. package/dist/consumer-canonical/skills/impeccable/reference/audit.md +150 -0
  182. package/dist/consumer-canonical/skills/impeccable/reference/bolder.md +113 -0
  183. package/dist/consumer-canonical/skills/impeccable/reference/brand-dp.md +103 -0
  184. package/dist/consumer-canonical/skills/impeccable/reference/clarify.md +174 -0
  185. package/dist/consumer-canonical/skills/impeccable/reference/codex.md +105 -0
  186. package/dist/consumer-canonical/skills/impeccable/reference/cognitive-load.md +106 -0
  187. package/dist/consumer-canonical/skills/impeccable/reference/color-and-contrast.md +122 -0
  188. package/dist/consumer-canonical/skills/impeccable/reference/colorize.md +155 -0
  189. package/dist/consumer-canonical/skills/impeccable/reference/craft.md +123 -0
  190. package/dist/consumer-canonical/skills/impeccable/reference/critique.md +245 -0
  191. package/dist/consumer-canonical/skills/impeccable/reference/delight.md +302 -0
  192. package/dist/consumer-canonical/skills/impeccable/reference/distill.md +111 -0
  193. package/dist/consumer-canonical/skills/impeccable/reference/extract-dp.md +43 -0
  194. package/dist/consumer-canonical/skills/impeccable/reference/harden.md +347 -0
  195. package/dist/consumer-canonical/skills/impeccable/reference/heuristics-scoring.md +234 -0
  196. package/dist/consumer-canonical/skills/impeccable/reference/interaction-design.md +195 -0
  197. package/dist/consumer-canonical/skills/impeccable/reference/layout.md +141 -0
  198. package/dist/consumer-canonical/skills/impeccable/reference/live.md +622 -0
  199. package/dist/consumer-canonical/skills/impeccable/reference/motion-design.md +109 -0
  200. package/dist/consumer-canonical/skills/impeccable/reference/onboard.md +234 -0
  201. package/dist/consumer-canonical/skills/impeccable/reference/optimize.md +258 -0
  202. package/dist/consumer-canonical/skills/impeccable/reference/overdrive.md +130 -0
  203. package/dist/consumer-canonical/skills/impeccable/reference/personas.md +179 -0
  204. package/dist/consumer-canonical/skills/impeccable/reference/polish.md +242 -0
  205. package/dist/consumer-canonical/skills/impeccable/reference/product-dp.md +79 -0
  206. package/dist/consumer-canonical/skills/impeccable/reference/quieter.md +99 -0
  207. package/dist/consumer-canonical/skills/impeccable/reference/responsive-design.md +114 -0
  208. package/dist/consumer-canonical/skills/impeccable/reference/shape.md +165 -0
  209. package/dist/consumer-canonical/skills/impeccable/reference/spatial-design.md +100 -0
  210. package/dist/consumer-canonical/skills/impeccable/reference/typeset.md +126 -0
  211. package/dist/consumer-canonical/skills/impeccable/reference/typography.md +159 -0
  212. package/dist/consumer-canonical/skills/impeccable/reference/ux-writing.md +107 -0
  213. package/dist/consumer-canonical/skills/impeccable/scripts/detect.mjs +21 -0
  214. package/dist/consumer-canonical/skills/impeccable/scripts/detector/browser/injected/index.mjs +1725 -0
  215. package/dist/consumer-canonical/skills/impeccable/scripts/detector/cli/main.mjs +244 -0
  216. package/dist/consumer-canonical/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +4567 -0
  217. package/dist/consumer-canonical/skills/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
  218. package/dist/consumer-canonical/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +252 -0
  219. package/dist/consumer-canonical/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +535 -0
  220. package/dist/consumer-canonical/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +986 -0
  221. package/dist/consumer-canonical/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +208 -0
  222. package/dist/consumer-canonical/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
  223. package/dist/consumer-canonical/skills/impeccable/scripts/detector/findings.mjs +12 -0
  224. package/dist/consumer-canonical/skills/impeccable/scripts/detector/node/file-system.mjs +198 -0
  225. package/dist/consumer-canonical/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
  226. package/dist/consumer-canonical/skills/impeccable/scripts/detector/registry/antipatterns.mjs +419 -0
  227. package/dist/consumer-canonical/skills/impeccable/scripts/detector/rules/checks.mjs +2316 -0
  228. package/dist/consumer-canonical/skills/impeccable/scripts/detector/shared/color.mjs +156 -0
  229. package/dist/consumer-canonical/skills/impeccable/scripts/detector/shared/constants.mjs +101 -0
  230. package/dist/consumer-canonical/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
  231. package/dist/consumer-canonical/skills/navigation-3/SKILL.md +110 -0
  232. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/index.md +38 -0
  233. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/migration-guide.md +498 -0
  234. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/animations.md +147 -0
  235. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/basic.md +89 -0
  236. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/basicdsl.md +85 -0
  237. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/basicsaveable.md +90 -0
  238. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/bottomsheet.md +195 -0
  239. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/common-ui.md +200 -0
  240. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/conditional.md +230 -0
  241. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-advanced.md +155 -0
  242. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-basic.md +744 -0
  243. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/dialog.md +107 -0
  244. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +141 -0
  245. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/material-supportingpane.md +145 -0
  246. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/modular-hilt.md +283 -0
  247. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/modular-koin.md +287 -0
  248. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/multiple-backstacks.md +436 -0
  249. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/passingarguments.md +371 -0
  250. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/results-event.md +272 -0
  251. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/results-state.md +266 -0
  252. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/scenes-listdetail.md +435 -0
  253. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/scenes-twopane.md +244 -0
  254. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/type-safe-destinations.md +129 -0
  255. package/dist/consumer-canonical/skills/theming-styles/SKILL.md +220 -0
  256. package/dist/consumer-canonical/skills/theming-styles/references/android/develop/ui/compose/designsystems/custom.md +459 -0
  257. package/dist/consumer-canonical/skills/theming-styles/references/android/develop/ui/compose/styles/fundamentals.md +420 -0
  258. package/dist/consumer-canonical/skills/theming-styles/references/android/develop/ui/compose/styles/state-animations.md +461 -0
  259. package/dist/consumer-canonical/skills/theming-styles/references/android/develop/ui/compose/styles/styles-vs-modifiers.md +48 -0
  260. package/dist/consumer-canonical/skills/theming-styles/references/android/develop/ui/compose/styles/theming.md +257 -0
  261. package/dist/generator/consumer-entry.js +5939 -0
  262. package/dist/generators/DTCGFormatGenerator.d.ts +14 -4
  263. package/dist/generators/DTCGFormatGenerator.js +35 -18
  264. package/dist/generators/TokenFileGenerator.js +20 -15
  265. package/dist/generators/generateTokenIndex.d.ts +14 -0
  266. package/dist/generators/generateTokenIndex.js +23 -0
  267. package/dist/generators/transformers/FigmaTransformer.d.ts +35 -0
  268. package/dist/generators/transformers/FigmaTransformer.js +101 -13
  269. package/dist/generators/types/DTCGTypes.d.ts +10 -0
  270. package/dist/mcp/application-mcp.js +1062 -261
  271. package/dist/mcp/docs-mcp.js +93 -13
  272. package/dist/mcp/product-mcp.js +539 -41
  273. package/dist/mcp/tool-manifest.json +184 -0
  274. package/dist/name-contract.json +4283 -0
  275. package/dist/tokens/BlurTokens.d.ts +3 -1
  276. package/dist/tokens/BlurTokens.js +6 -4
  277. package/dist/tokens/ShadowOffsetTokens.js +14 -14
  278. package/dist/tokens/SizingTokens.js +3 -3
  279. package/dist/tokens/TapAreaTokens.d.ts +13 -2
  280. package/dist/tokens/TapAreaTokens.js +19 -8
  281. package/dist/tokens/component/progress.d.ts +65 -5
  282. package/dist/tokens/component/progress.js +79 -18
  283. package/dist/tokens/semantic/ColorTokens.js +50 -5
  284. package/dist/tokens/semantic/TypographyTokens.js +10 -10
  285. package/dist/tokens/themes/dark/SemanticOverrides.js +21 -4
  286. package/dist/tools/integrity/Invariants.d.ts +23 -8
  287. package/dist/tools/integrity/Invariants.js +27 -8
  288. package/dist/tools/integrity/cli/run-audit.js +1 -1
  289. package/dist/types/PrimitiveToken.d.ts +15 -1
  290. package/dist/types/generated/TokenTypes.d.ts +1 -1
  291. package/dist/types/generated/TokenTypes.js +1 -1
  292. package/dist/types/index.d.ts +1 -0
  293. package/governance/AI-Collaboration-Framework.md +19 -10
  294. package/governance/BUILD-SYSTEM-SETUP.md +1 -2
  295. package/governance/Component-Development-Guide.md +1 -1
  296. package/governance/Component-Development-Standards.md +19 -18
  297. package/governance/Component-Family-Avatar.md +6 -6
  298. package/governance/Component-Family-Badge.md +19 -19
  299. package/governance/Component-Family-Button.md +26 -26
  300. package/governance/Component-Family-Chip.md +14 -14
  301. package/governance/Component-Family-Container.md +12 -12
  302. package/governance/Component-Family-Form-Inputs.md +61 -61
  303. package/governance/Component-Family-Icon.md +8 -8
  304. package/governance/Component-Family-Navigation.md +3 -3
  305. package/governance/Component-Inheritance-Structures.md +29 -28
  306. package/governance/Component-Readiness-Status.md +6 -7
  307. package/governance/Component-Templates.md +26 -26
  308. package/governance/Contract-System-Reference.md +1 -1
  309. package/governance/DTCG-Integration-Guide.md +63 -36
  310. package/governance/DesignerPunk-Integration-Guide.md +57 -61
  311. package/governance/Figma-Workflow-Guide.md +15 -8
  312. package/governance/Process-Development-Workflow.md +4 -4
  313. package/governance/Process-File-Organization.md +1 -4
  314. package/governance/Process-Hook-Operations.md +6 -7
  315. package/governance/Process-Integration-Methodology.md +5 -5
  316. package/governance/Process-Spec-Planning.md +187 -68
  317. package/governance/Product-Handoff-Protocol.md +27 -2
  318. package/governance/Rosetta-System-Architecture.md +7 -5
  319. package/governance/Test-Behavioral-Contract-Validation.md +5 -0
  320. package/governance/Test-Development-Standards.md +4 -4
  321. package/governance/Token-Family-Accessibility.md +18 -14
  322. package/governance/Token-Family-Blend.md +5 -4
  323. package/governance/Token-Family-Blur.md +8 -8
  324. package/governance/Token-Family-Color.md +40 -22
  325. package/governance/Token-Family-Glow.md +26 -24
  326. package/governance/Token-Family-Layering.md +1 -0
  327. package/governance/Token-Family-Motion.md +22 -13
  328. package/governance/Token-Family-Opacity.md +20 -34
  329. package/governance/Token-Family-Radius.md +4 -2
  330. package/governance/Token-Family-Responsive.md +4 -4
  331. package/governance/Token-Family-Shadow.md +69 -46
  332. package/governance/Token-Family-Spacing.md +22 -12
  333. package/governance/Token-Family-Typography.md +86 -85
  334. package/governance/Token-Governance.md +5 -1
  335. package/governance/Token-Quick-Reference.md +97 -80
  336. package/governance/Transformer-Development-Guide.md +5 -4
  337. package/governance/Web-Authoring-Standards.md +1 -1
  338. package/governance/classification-map.md +706 -10
  339. package/governance/completion-documentation-guide.md +298 -33
  340. package/governance/platform-implementation-guidelines.md +3 -3
  341. package/governance/release-management-system.md +28 -63
  342. package/mcp-server/src/index.ts +16 -12
  343. package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +3 -3
  344. package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +70 -49
  345. package/mcp-server/src/tools/find-docs.ts +1 -0
  346. package/mcp-server/src/tools/get-document-full.ts +1 -0
  347. package/mcp-server/src/tools/get-document-summary.ts +1 -0
  348. package/mcp-server/src/tools/get-index-health.ts +1 -0
  349. package/mcp-server/src/tools/get-section.ts +1 -0
  350. package/mcp-server/src/tools/list-cross-references.ts +1 -0
  351. package/mcp-server/src/tools/rebuild-index.ts +1 -0
  352. package/mcp-server/src/tools/validate-metadata.ts +1 -0
  353. package/package.json +76 -16
  354. package/src/build/tokens/defineComponentTokens.ts +43 -1
  355. package/src/cli/templates/mcp-config.json.template +15 -20
  356. package/src/components/core/Avatar-Base/platforms/android/AvatarPreview.kt +9 -2
  357. package/src/components/core/Container-Base/Container-Base.schema.yaml +9 -11
  358. package/src/components/core/Container-Base/platforms/android/ContainerBase.android.kt +5 -5
  359. package/src/components/core/Container-Base/platforms/ios/ContainerBase.ios.swift +5 -5
  360. package/src/components/core/Container-Card-Base/platforms/android/ContainerCardBase.android.kt +3 -3
  361. package/src/components/core/Container-Card-Base/platforms/ios/ContainerCardBase.ios.swift +2 -2
  362. package/src/components/core/Nav-Header-App/contracts.yaml +1 -1
  363. package/src/components/core/Nav-Header-Base/component-meta.yaml +0 -1
  364. package/src/components/core/Nav-Header-Base/contracts.yaml +1 -1
  365. package/src/components/core/Nav-Header-Page/contracts.yaml +1 -1
  366. package/src/components/core/Nav-TabBar-Base/contracts.yaml +1 -1
  367. package/src/components/core/Progress-Bar-Base/contracts.yaml +1 -1
  368. package/src/tokens/BlurTokens.ts +6 -4
  369. package/src/tokens/ShadowOffsetTokens.ts +14 -14
  370. package/src/tokens/SizingTokens.ts +3 -3
  371. package/src/tokens/TapAreaTokens.ts +20 -8
  372. package/src/tokens/__tests__/BaselineGridAlignmentFlag.test.ts +116 -0
  373. package/src/tokens/__tests__/BlurTokens.test.ts +10 -2
  374. package/src/tokens/__tests__/ProgressTokenCompliance.test.ts +5 -3
  375. package/src/tokens/__tests__/ProgressTokenFormulas.test.ts +11 -11
  376. package/src/tokens/__tests__/ProgressTokenTranslation.test.ts +22 -20
  377. package/src/tokens/__tests__/SemanticColorContrast.test.ts +339 -0
  378. package/src/tokens/__tests__/ShadowOffsetTokens.test.ts +8 -7
  379. package/src/tokens/__tests__/SizingTokens.test.ts +10 -2
  380. package/src/tokens/__tests__/TokenCategories.test.ts +1 -1
  381. package/src/tokens/__tests__/neutral-partition.test.ts +28 -0
  382. package/src/tokens/component/progress.ts +83 -21
  383. package/src/tokens/semantic/AccessibilityTokens.README.md +2 -2
  384. package/src/tokens/semantic/ColorTokens.ts +50 -5
  385. package/src/tokens/semantic/TypographyTokens.ts +10 -10
  386. package/src/tokens/semantic/__tests__/ColorTokens.test.ts +8 -4
  387. package/src/tokens/themes/dark/SemanticOverrides.ts +23 -4
  388. package/src/types/PrimitiveToken.ts +15 -1
  389. package/token-index/components.yaml +8 -8
  390. package/token-index/meta.json +3 -0
  391. package/token-index/semantics.yaml +21 -15
  392. package/.kiro/agents/ada-prompt.md +0 -213
  393. package/.kiro/agents/ada-prompt.md.attribution.json +0 -45
  394. package/.kiro/agents/ada.json +0 -72
  395. package/.kiro/agents/ada.json.attribution.json +0 -13
  396. package/.kiro/agents/data-prompt.md +0 -324
  397. package/.kiro/agents/data-prompt.md.attribution.json +0 -53
  398. package/.kiro/agents/data.json +0 -51
  399. package/.kiro/agents/data.json.attribution.json +0 -13
  400. package/.kiro/agents/kenya-prompt.md +0 -309
  401. package/.kiro/agents/kenya-prompt.md.attribution.json +0 -53
  402. package/.kiro/agents/kenya.json +0 -46
  403. package/.kiro/agents/kenya.json.attribution.json +0 -13
  404. package/.kiro/agents/leonardo-prompt.md +0 -359
  405. package/.kiro/agents/leonardo-prompt.md.attribution.json +0 -45
  406. package/.kiro/agents/leonardo.json +0 -47
  407. package/.kiro/agents/leonardo.json.attribution.json +0 -13
  408. package/.kiro/agents/lina-prompt.md +0 -344
  409. package/.kiro/agents/lina-prompt.md.attribution.json +0 -53
  410. package/.kiro/agents/lina.json +0 -64
  411. package/.kiro/agents/lina.json.attribution.json +0 -13
  412. package/.kiro/agents/sparky-prompt.md +0 -312
  413. package/.kiro/agents/sparky-prompt.md.attribution.json +0 -53
  414. package/.kiro/agents/sparky.json +0 -56
  415. package/.kiro/agents/sparky.json.attribution.json +0 -13
  416. package/.kiro/agents/stacy-prompt.md +0 -304
  417. package/.kiro/agents/stacy-prompt.md.attribution.json +0 -45
  418. package/.kiro/agents/stacy.json +0 -46
  419. package/.kiro/agents/stacy.json.attribution.json +0 -13
  420. package/.kiro/agents/thurgood-prompt.md +0 -363
  421. package/.kiro/agents/thurgood-prompt.md.attribution.json +0 -45
  422. package/.kiro/agents/thurgood.json +0 -47
  423. package/.kiro/agents/thurgood.json.attribution.json +0 -13
  424. package/.kiro/steering/personal-note.md +0 -35
  425. package/designerpunk.config.ts +0 -27
  426. package/dist/android/DesignTokens.android.kt +0 -695
  427. package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.d.ts +0 -26
  428. package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.js +0 -224
  429. package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.d.ts +0 -30
  430. package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.js +0 -254
  431. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.d.ts +0 -44
  432. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.js +0 -376
  433. package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.d.ts +0 -38
  434. package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.js +0 -328
  435. package/dist/ios/DesignTokens.ios.swift +0 -697
  436. package/dist/web/DesignTokens.web.css +0 -929
  437. package/product-template/agents/README.md +0 -73
  438. package/product-template/agents/ada-prompt.md +0 -83
  439. package/product-template/agents/data-prompt.md +0 -74
  440. package/product-template/agents/kenya-prompt.md +0 -74
  441. package/product-template/agents/leonardo-prompt.md +0 -99
  442. package/product-template/agents/lina-prompt.md +0 -61
  443. package/product-template/agents/sparky-prompt.md +0 -66
  444. package/product-template/agents/stacy-prompt.md +0 -51
  445. package/product-template/agents/thurgood-prompt.md +0 -64
  446. package/src/TokenEngine.ts +0 -628
  447. package/src/__tests__/BuildSystemIntegration.test.ts +0 -485
  448. package/src/__tests__/ProductMCPIntegration.test.ts +0 -204
  449. package/src/__tests__/__mocks__/styleMock.js +0 -18
  450. package/src/__tests__/browser-distribution/build-error-handling.test.ts +0 -143
  451. package/src/__tests__/browser-distribution/bundle-loading.test.ts +0 -353
  452. package/src/__tests__/browser-distribution/bundler-resolution.test.ts +0 -223
  453. package/src/__tests__/browser-distribution/component-registration.test.ts +0 -217
  454. package/src/__tests__/browser-distribution/css-bundling.test.ts +0 -233
  455. package/src/__tests__/browser-distribution/demo-system.test.ts +0 -588
  456. package/src/__tests__/browser-distribution/mcp-format-compliance.property.test.ts +0 -379
  457. package/src/__tests__/browser-distribution/mcp-queryability.test.ts +0 -342
  458. package/src/__tests__/browser-distribution/minification-effectiveness.property.test.ts +0 -188
  459. package/src/__tests__/browser-distribution/registration-idempotency.property.test.ts +0 -372
  460. package/src/__tests__/browser-distribution/soft-ceiling-warning.test.ts +0 -161
  461. package/src/__tests__/browser-distribution/token-completeness.property.test.ts +0 -412
  462. package/src/__tests__/browser-distribution/token-loading.test.ts +0 -344
  463. package/src/__tests__/browser-distribution/umd-bundle-loading.test.ts +0 -169
  464. package/src/__tests__/console-allowlist.json +0 -14
  465. package/src/__tests__/console-fail-setup.ts +0 -169
  466. package/src/__tests__/examples/improved-test-example.test.ts +0 -120
  467. package/src/__tests__/expected-exports.json +0 -66
  468. package/src/__tests__/export-contracts.test.ts +0 -83
  469. package/src/__tests__/fixtures/acknowledged-differences.json +0 -127
  470. package/src/__tests__/fixtures/acknowledged-differences.schema.json +0 -113
  471. package/src/__tests__/fixtures/acknowledged-differences.types.ts +0 -230
  472. package/src/__tests__/fixtures/tokenFixtures.ts +0 -248
  473. package/src/__tests__/helpers/configModuleLoader.ts +0 -20
  474. package/src/__tests__/helpers/tsModuleLoader.ts +0 -24
  475. package/src/__tests__/helpers/web-component-test-utils.ts +0 -39
  476. package/src/__tests__/integration/BlendCrossPlatformConsistency.test.ts +0 -505
  477. package/src/__tests__/integration/BuildSystemCompatibility.test.ts +0 -551
  478. package/src/__tests__/integration/CrossPlatformConsistency.test.ts +0 -855
  479. package/src/__tests__/integration/EndToEndWorkflow.test.ts +0 -601
  480. package/src/__tests__/integration/ErrorHandling.test.ts +0 -459
  481. package/src/__tests__/integration/OpacityPlatformTranslation.test.ts +0 -364
  482. package/src/__tests__/integration/PerformanceValidation.test.ts +0 -887
  483. package/src/__tests__/integration/SemanticTokenGeneration.test.ts +0 -451
  484. package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +0 -139
  485. package/src/__tests__/integration/TokenSystemIntegration.test.ts +0 -890
  486. package/src/__tests__/integration/ValidationPipeline.test.ts +0 -404
  487. package/src/__tests__/package-drift-validation.test.ts +0 -249
  488. package/src/__tests__/performance/GenerationPerformance.test.ts +0 -409
  489. package/src/__tests__/performance/OptimizationValidation.test.ts +0 -509
  490. package/src/__tests__/platform-parity/ProgressPlatformParity.test.ts +0 -546
  491. package/src/__tests__/spec073-opacity-architecture.test.ts +0 -344
  492. package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +0 -520
  493. package/src/__tests__/stemma-system/composition-compliance-validation.test.ts +0 -162
  494. package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +0 -184
  495. package/src/__tests__/stemma-system/contract-existence-validation.test.ts +0 -43
  496. package/src/__tests__/stemma-system/contract-test-reporter.ts +0 -269
  497. package/src/__tests__/stemma-system/cross-platform-consistency.test.ts +0 -564
  498. package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +0 -710
  499. package/src/__tests__/stemma-system/input-text-native-base-call-alignment.test.ts +0 -298
  500. package/src/__tests__/stemma-system/mcp-component-integration.test.ts +0 -445
  501. package/src/analytics/PrimitiveTokenFallbackTracker.ts +0 -228
  502. package/src/analytics/SemanticTokenUsageTracker.ts +0 -193
  503. package/src/analytics/StrategicFlexibilityTracker.ts +0 -226
  504. package/src/analytics/TokenUsageTracker.ts +0 -177
  505. package/src/analytics/UsagePatternAnalyzer.ts +0 -177
  506. package/src/analytics/__tests__/UsageTracking.test.ts +0 -647
  507. package/src/analytics/index.ts +0 -42
  508. package/src/assets/fonts/__tests__/androidFontLoadingValidation.test.ts +0 -600
  509. package/src/assets/fonts/__tests__/fontLoading.test.ts +0 -341
  510. package/src/assets/fonts/__tests__/iosFontConfiguration.test.ts +0 -256
  511. package/src/assets/fonts/__tests__/iosFontLoadingValidation.test.ts +0 -465
  512. package/src/assets/fonts/inter/Inter-Bold.ttf +0 -0
  513. package/src/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  514. package/src/assets/fonts/inter/Inter-Medium.ttf +0 -0
  515. package/src/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  516. package/src/assets/fonts/inter/Inter-Regular.ttf +0 -0
  517. package/src/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  518. package/src/assets/fonts/inter/Inter-SemiBold.ttf +0 -0
  519. package/src/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  520. package/src/assets/fonts/inter/inter.css +0 -49
  521. package/src/blend/BlendCalculator.ts +0 -120
  522. package/src/blend/ColorSpaceUtils.ts +0 -325
  523. package/src/blend/OklchBlendCalculator.ts +0 -82
  524. package/src/blend/ThemeAwareBlendUtilities.web.ts +0 -323
  525. package/src/blend/__tests__/BlendCalculator.test.ts +0 -393
  526. package/src/blend/__tests__/BlendUtilities.property.test.ts +0 -600
  527. package/src/blend/__tests__/ColorSpaceUtils.test.ts +0 -885
  528. package/src/blend/__tests__/InteractionStateAudit.test.ts +0 -238
  529. package/src/blend/__tests__/OklchBlendCalculator.test.ts +0 -134
  530. package/src/blend/__tests__/ThemeAwareBlendUtilities.test.ts +0 -200
  531. package/src/blend/__tests__/ThemeSwitching.test.ts +0 -508
  532. package/src/blend/index.ts +0 -37
  533. package/src/browser-entry.ts +0 -270
  534. package/src/build/.gitkeep +0 -1
  535. package/src/build/BuildOrchestrator.ts +0 -663
  536. package/src/build/__tests__/AndroidBuildIntegration.test.ts +0 -437
  537. package/src/build/__tests__/AndroidMotionTokenGeneration.test.ts +0 -256
  538. package/src/build/__tests__/BuildOrchestrator.test.ts +0 -562
  539. package/src/build/__tests__/MotionTokenCrossPlatformIntegration.test.ts +0 -424
  540. package/src/build/__tests__/WebCSSTokenGeneration.test.ts +0 -271
  541. package/src/build/__tests__/WebMotionTokenGeneration.test.ts +0 -305
  542. package/src/build/__tests__/WebNPMPackageStructure.test.ts +0 -447
  543. package/src/build/__tests__/iOSMotionTokenGeneration.test.ts +0 -298
  544. package/src/build/errors/BuildError.ts +0 -140
  545. package/src/build/errors/ErrorDocumentation.ts +0 -638
  546. package/src/build/errors/ErrorHandler.ts +0 -406
  547. package/src/build/errors/ErrorReporter.ts +0 -573
  548. package/src/build/errors/PlatformGenerationError.ts +0 -201
  549. package/src/build/errors/README.md +0 -486
  550. package/src/build/errors/RecoveryStrategy.ts +0 -393
  551. package/src/build/errors/TokenGenerationError.ts +0 -196
  552. package/src/build/errors/TokenReferenceError.ts +0 -204
  553. package/src/build/errors/__tests__/BuildError.test.ts +0 -212
  554. package/src/build/errors/__tests__/ErrorDocumentation.example.ts +0 -272
  555. package/src/build/errors/__tests__/ErrorDocumentation.test.ts +0 -458
  556. package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +0 -303
  557. package/src/build/errors/__tests__/ErrorHandler.test.ts +0 -502
  558. package/src/build/errors/__tests__/ErrorReporter.test.ts +0 -581
  559. package/src/build/errors/__tests__/MotionTokenErrors.test.ts +0 -392
  560. package/src/build/errors/__tests__/RecoveryStrategy.test.ts +0 -643
  561. package/src/build/errors/index.ts +0 -90
  562. package/src/build/index.ts +0 -73
  563. package/src/build/orchestration/IncrementalBuilder.ts +0 -532
  564. package/src/build/orchestration/ParallelExecutor.ts +0 -336
  565. package/src/build/orchestration/ProgressTracker.ts +0 -582
  566. package/src/build/orchestration/SequentialExecutor.ts +0 -305
  567. package/src/build/orchestration/__tests__/IncrementalBuilder.test.ts +0 -354
  568. package/src/build/orchestration/__tests__/ParallelExecutor.integration.test.ts +0 -295
  569. package/src/build/orchestration/__tests__/ParallelExecutor.test.ts +0 -493
  570. package/src/build/orchestration/__tests__/ProgressTracker.test.ts +0 -529
  571. package/src/build/orchestration/__tests__/SequentialExecutor.integration.test.ts +0 -202
  572. package/src/build/orchestration/__tests__/SequentialExecutor.test.ts +0 -232
  573. package/src/build/orchestration/index.ts +0 -35
  574. package/src/build/platforms/.gitkeep +0 -1
  575. package/src/build/platforms/AndroidBuilder.ts +0 -1366
  576. package/src/build/platforms/AndroidShadowGenerator.ts +0 -394
  577. package/src/build/platforms/IOSShadowGenerator.ts +0 -324
  578. package/src/build/platforms/PlatformBuilder.ts +0 -131
  579. package/src/build/platforms/WebBuilder.ts +0 -1414
  580. package/src/build/platforms/WebShadowGenerator.ts +0 -288
  581. package/src/build/platforms/__tests__/AndroidBuilder.tokenGeneration.test.ts +0 -146
  582. package/src/build/platforms/__tests__/AndroidShadowGenerator.test.ts +0 -195
  583. package/src/build/platforms/__tests__/IOSShadowGenerator.test.ts +0 -156
  584. package/src/build/platforms/__tests__/WebShadowGenerator.test.ts +0 -123
  585. package/src/build/platforms/__tests__/iOSBuilder.test.ts +0 -1599
  586. package/src/build/platforms/iOSBuilder.ts +0 -1746
  587. package/src/build/platforms/index.ts +0 -9
  588. package/src/build/product/ProductTokenGenerator.ts +0 -162
  589. package/src/build/product/TokenIndexReader.ts +0 -78
  590. package/src/build/product/__tests__/KotlinEmitter.test.ts +0 -109
  591. package/src/build/product/__tests__/ProductTokenGenerator.test.ts +0 -135
  592. package/src/build/product/__tests__/SwiftEmitter.test.ts +0 -90
  593. package/src/build/product/__tests__/TokenIndexReader.test.ts +0 -85
  594. package/src/build/product/__tests__/WebEmitter.test.ts +0 -111
  595. package/src/build/product/__tests__/fixtures/tokens/layout.yaml +0 -21
  596. package/src/build/product/__tests__/fixtures/tokens/motion.yaml +0 -11
  597. package/src/build/product/__tests__/fixtures/tokens/visualization.yaml +0 -8
  598. package/src/build/product/emitters/KotlinEmitter.ts +0 -83
  599. package/src/build/product/emitters/SwiftEmitter.ts +0 -95
  600. package/src/build/product/emitters/WebEmitter.ts +0 -69
  601. package/src/build/tokens/.gitkeep +0 -1
  602. package/src/build/tokens/__tests__/ClassInvariantGuard.test.ts +0 -167
  603. package/src/build/tokens/__tests__/ComponentTokenGenerator.test.ts +0 -285
  604. package/src/build/tokens/__tests__/TokenIntegrator.test.ts +0 -319
  605. package/src/build/tokens/__tests__/TokenSelector.test.ts +0 -264
  606. package/src/build/tokens/__tests__/UnitConverter.applyScaleWithRounding.test.ts +0 -160
  607. package/src/build/tokens/__tests__/UnitConverter.test.ts +0 -331
  608. package/src/build/tokens/__tests__/brand-dual-instance.test.ts +0 -135
  609. package/src/build/tokens/__tests__/defineComponentTokens.test.ts +0 -440
  610. package/src/build/types/.gitkeep +0 -1
  611. package/src/build/types/BuildConfig.ts +0 -123
  612. package/src/build/types/BuildOrchestrator.ts +0 -114
  613. package/src/build/types/BuildResult.ts +0 -125
  614. package/src/build/types/index.ts +0 -39
  615. package/src/build/validation/.gitkeep +0 -1
  616. package/src/build/validation/AndroidBuildValidator.ts +0 -630
  617. package/src/build/validation/CrossPlatformValidationReporter.ts +0 -1267
  618. package/src/build/validation/InterfaceContractValidator.ts +0 -417
  619. package/src/build/validation/InterfaceValidator.ts +0 -326
  620. package/src/build/validation/MathematicalConsistencyValidator.ts +0 -874
  621. package/src/build/validation/MethodSignatureValidator.ts +0 -374
  622. package/src/build/validation/PropertyTypeValidator.ts +0 -312
  623. package/src/build/validation/TokenComparator.ts +0 -796
  624. package/src/build/validation/ValidationReporter.example.ts +0 -310
  625. package/src/build/validation/ValidationReporter.ts +0 -745
  626. package/src/build/validation/WebBuildValidator.ts +0 -583
  627. package/src/build/validation/__tests__/AndroidBuildValidator.test.ts +0 -522
  628. package/src/build/validation/__tests__/CrossPlatformValidationReporter.test.ts +0 -593
  629. package/src/build/validation/__tests__/InterfaceContractValidator.test.ts +0 -647
  630. package/src/build/validation/__tests__/InterfaceValidation.functional.test.ts +0 -360
  631. package/src/build/validation/__tests__/InterfaceValidator.test.ts +0 -318
  632. package/src/build/validation/__tests__/MethodSignatureValidator.test.ts +0 -625
  633. package/src/build/validation/__tests__/MotionTokenCrossPlatformValidation.test.ts +0 -305
  634. package/src/build/validation/__tests__/MotionTokenValidation.test.ts +0 -309
  635. package/src/build/validation/__tests__/PropertyTypeValidator.test.ts +0 -557
  636. package/src/build/validation/__tests__/TokenComparator.test.ts +0 -358
  637. package/src/build/validation/__tests__/ValidationReporter.integration.test.ts +0 -424
  638. package/src/build/validation/__tests__/ValidationReporter.test.ts +0 -793
  639. package/src/build/validation/__tests__/WebBuildValidator.test.ts +0 -495
  640. package/src/build/validation/iOSBuildValidator.ts +0 -783
  641. package/src/build/validation/index.ts +0 -74
  642. package/src/build/validation/types/InterfaceDefinition.ts +0 -101
  643. package/src/build/validation/types/ValidationResult.ts +0 -114
  644. package/src/build/workflow/BuildMode.ts +0 -336
  645. package/src/build/workflow/CICDIntegration.ts +0 -503
  646. package/src/build/workflow/ConfigHelpers.example.ts +0 -317
  647. package/src/build/workflow/ConfigHelpers.ts +0 -834
  648. package/src/build/workflow/README.md +0 -327
  649. package/src/build/workflow/SourceMapGenerator.ts +0 -362
  650. package/src/build/workflow/__tests__/BuildMode.test.ts +0 -544
  651. package/src/build/workflow/__tests__/CICDIntegration.test.ts +0 -602
  652. package/src/build/workflow/__tests__/ConfigHelpers.test.ts +0 -559
  653. package/src/build/workflow/__tests__/SourceMapGenerator.test.ts +0 -421
  654. package/src/build/workflow/index.ts +0 -42
  655. package/src/cli/__tests__/Applier.test.ts +0 -202
  656. package/src/cli/__tests__/Classifier.test.ts +0 -187
  657. package/src/cli/__tests__/FileScanner.test.ts +0 -108
  658. package/src/cli/__tests__/IgnoreFilter.test.ts +0 -92
  659. package/src/cli/__tests__/Manifest.test.ts +0 -107
  660. package/src/cli/__tests__/PackageResolver.test.ts +0 -66
  661. package/src/cli/__tests__/Prompter.test.ts +0 -165
  662. package/src/cli/__tests__/Reporter.test.ts +0 -128
  663. package/src/cli/__tests__/backward-compat.test.ts +0 -142
  664. package/src/cli/__tests__/figma-extract.test.ts +0 -342
  665. package/src/cli/__tests__/figma-push.test.ts +0 -350
  666. package/src/cli/__tests__/init.test.ts +0 -293
  667. package/src/cli/__tests__/loadComponentTokens.test.ts +0 -187
  668. package/src/cli/__tests__/pipeline-independence.test.ts +0 -127
  669. package/src/cli/__tests__/product-only.test.ts +0 -130
  670. package/src/cli/__tests__/resolveTokens.test.ts +0 -88
  671. package/src/cli/__tests__/staleness.test.ts +0 -132
  672. package/src/cli/__tests__/sync.test.ts +0 -199
  673. package/src/cli/__tests__/validate.test.ts +0 -69
  674. package/src/cli/designerpunk.ts +0 -410
  675. package/src/cli/figma-extract.ts +0 -331
  676. package/src/cli/figma-push.ts +0 -288
  677. package/src/cli/generateProductTokens.ts +0 -69
  678. package/src/cli/init.ts +0 -481
  679. package/src/cli/loadComponentTokens.ts +0 -145
  680. package/src/cli/resolveTokens.ts +0 -123
  681. package/src/cli/shared/mcpDataRoots.ts +0 -122
  682. package/src/cli/shared/resolvePackageRoot.ts +0 -58
  683. package/src/cli/shared/transforms.ts +0 -18
  684. package/src/cli/staleness.ts +0 -81
  685. package/src/cli/sync/Applier.ts +0 -128
  686. package/src/cli/sync/Classifier.ts +0 -130
  687. package/src/cli/sync/FileScanner.ts +0 -64
  688. package/src/cli/sync/IgnoreFilter.ts +0 -44
  689. package/src/cli/sync/Manifest.ts +0 -64
  690. package/src/cli/sync/PackageResolver.ts +0 -40
  691. package/src/cli/sync/Prompter.ts +0 -173
  692. package/src/cli/sync/Reporter.ts +0 -78
  693. package/src/cli/sync/SteeringDirCheck.ts +0 -166
  694. package/src/cli/sync/index.ts +0 -115
  695. package/src/cli/validate.ts +0 -135
  696. package/src/cli/validateProductTokens.ts +0 -55
  697. package/src/color/OklchConverter.ts +0 -284
  698. package/src/color/OklchValidator.ts +0 -186
  699. package/src/color/__tests__/OklchConverter.test.ts +0 -232
  700. package/src/color/__tests__/OklchRegression.test.ts +0 -101
  701. package/src/color/__tests__/OklchValidator.test.ts +0 -199
  702. package/src/color/__tests__/WcagContrast.test.ts +0 -76
  703. package/src/components/__tests__/BlendTokenUsageValidation.test.ts +0 -726
  704. package/src/components/__tests__/DynamicImportGuard.test.ts +0 -226
  705. package/src/components/__tests__/ExtensionLintPolicy.test.ts +0 -113
  706. package/src/components/__tests__/TokenCompliance.test.ts +0 -921
  707. package/src/components/__tests__/colorInheritanceValidation.test.ts +0 -267
  708. package/src/components/__tests__/componentTypographyInheritance.test.ts +0 -326
  709. package/src/components/core/Avatar-Base/README.md +0 -366
  710. package/src/components/core/Avatar-Base/__tests__/.gitkeep +0 -3
  711. package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +0 -597
  712. package/src/components/core/Avatar-Base/__tests__/Avatar.icon-integration.test.ts +0 -656
  713. package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +0 -396
  714. package/src/components/core/Avatar-Base/__tests__/Avatar.lifecycle.test.ts +0 -545
  715. package/src/components/core/Avatar-Base/__tests__/Avatar.rendering.test.ts +0 -505
  716. package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +0 -701
  717. package/src/components/core/Avatar-Base/avatar.tokens.ts +0 -376
  718. package/src/components/core/Avatar-Base/index.ts +0 -25
  719. package/src/components/core/Avatar-Base/platforms/ios/.gitkeep +0 -3
  720. package/src/components/core/Avatar-Base/platforms/web/.gitkeep +0 -3
  721. package/src/components/core/Avatar-Base/platforms/web/Avatar.styles.css +0 -595
  722. package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +0 -892
  723. package/src/components/core/Avatar-Base/platforms/web/hexagon-clip.svg +0 -87
  724. package/src/components/core/Avatar-Base/tokens/.gitkeep +0 -4
  725. package/src/components/core/Avatar-Base/types.ts +0 -86
  726. package/src/components/core/Badge-Count-Base/README.md +0 -323
  727. package/src/components/core/Badge-Count-Base/__tests__/BadgeCountBase.stemma.test.ts +0 -548
  728. package/src/components/core/Badge-Count-Base/__tests__/BadgeCountBase.test.ts +0 -452
  729. package/src/components/core/Badge-Count-Base/__tests__/test-utils.ts +0 -244
  730. package/src/components/core/Badge-Count-Base/index.ts +0 -37
  731. package/src/components/core/Badge-Count-Base/platforms/ios/.gitkeep +0 -1
  732. package/src/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.styles.css +0 -148
  733. package/src/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.web.ts +0 -363
  734. package/src/components/core/Badge-Count-Base/types.ts +0 -150
  735. package/src/components/core/Badge-Count-Notification/README.md +0 -396
  736. package/src/components/core/Badge-Count-Notification/__tests__/BadgeCountNotification.stemma.test.ts +0 -571
  737. package/src/components/core/Badge-Count-Notification/__tests__/BadgeCountNotification.test.ts +0 -490
  738. package/src/components/core/Badge-Count-Notification/__tests__/test-utils.ts +0 -256
  739. package/src/components/core/Badge-Count-Notification/index.ts +0 -60
  740. package/src/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.styles.css +0 -182
  741. package/src/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.web.ts +0 -401
  742. package/src/components/core/Badge-Count-Notification/tokens.ts +0 -124
  743. package/src/components/core/Badge-Count-Notification/types.ts +0 -119
  744. package/src/components/core/Badge-Label-Base/README.md +0 -251
  745. package/src/components/core/Badge-Label-Base/__tests__/BadgeLabelBase.stemma.test.ts +0 -549
  746. package/src/components/core/Badge-Label-Base/__tests__/BadgeLabelBase.test.ts +0 -439
  747. package/src/components/core/Badge-Label-Base/__tests__/test-utils.ts +0 -269
  748. package/src/components/core/Badge-Label-Base/__tests__/tokens.test.ts +0 -88
  749. package/src/components/core/Badge-Label-Base/index.ts +0 -41
  750. package/src/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.styles.css +0 -166
  751. package/src/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.web.ts +0 -340
  752. package/src/components/core/Badge-Label-Base/tokens.ts +0 -80
  753. package/src/components/core/Badge-Label-Base/types.ts +0 -148
  754. package/src/components/core/Button-CTA/Button-CTA.tokens.ts +0 -79
  755. package/src/components/core/Button-CTA/README.md +0 -293
  756. package/src/components/core/Button-CTA/__tests__/ButtonCTA.alignment.test.ts +0 -355
  757. package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +0 -698
  758. package/src/components/core/Button-CTA/__tests__/ButtonCTA.tokens.test.ts +0 -89
  759. package/src/components/core/Button-CTA/__tests__/setup.test.ts +0 -209
  760. package/src/components/core/Button-CTA/__tests__/test-utils.ts +0 -185
  761. package/src/components/core/Button-CTA/examples/BasicUsage.html +0 -133
  762. package/src/components/core/Button-CTA/examples/BasicUsage.tsx +0 -219
  763. package/src/components/core/Button-CTA/examples/Variants.html +0 -263
  764. package/src/components/core/Button-CTA/examples/WithIcon.html +0 -166
  765. package/src/components/core/Button-CTA/index.ts +0 -20
  766. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +0 -395
  767. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +0 -644
  768. package/src/components/core/Button-CTA/platforms/web/__tests__/ButtonCTA.icon-integration.test.ts +0 -476
  769. package/src/components/core/Button-CTA/types.ts +0 -239
  770. package/src/components/core/Button-Icon/README.md +0 -371
  771. package/src/components/core/Button-Icon/__tests__/ButtonIcon.alignment.test.ts +0 -358
  772. package/src/components/core/Button-Icon/__tests__/ButtonIcon.properties-8-13.test.ts +0 -953
  773. package/src/components/core/Button-Icon/__tests__/ButtonIcon.properties.test.ts +0 -920
  774. package/src/components/core/Button-Icon/__tests__/ButtonIcon.stemma.test.ts +0 -622
  775. package/src/components/core/Button-Icon/__tests__/ButtonIcon.unit.test.ts +0 -560
  776. package/src/components/core/Button-Icon/__tests__/setup.test.ts +0 -361
  777. package/src/components/core/Button-Icon/__tests__/test-utils.ts +0 -248
  778. package/src/components/core/Button-Icon/buttonIcon.tokens.ts +0 -202
  779. package/src/components/core/Button-Icon/platforms/web/.gitkeep +0 -4
  780. package/src/components/core/Button-Icon/platforms/web/ButtonIcon.web.css +0 -600
  781. package/src/components/core/Button-Icon/platforms/web/ButtonIcon.web.ts +0 -625
  782. package/src/components/core/Button-Icon/types.ts +0 -186
  783. package/src/components/core/Button-VerticalList-Item/Button-VerticalList-Item.tokens.ts +0 -112
  784. package/src/components/core/Button-VerticalList-Item/README.md +0 -450
  785. package/src/components/core/Button-VerticalList-Item/__tests__/.gitkeep +0 -2
  786. package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.alignment.test.ts +0 -271
  787. package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.failLoudly.test.ts +0 -106
  788. package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.integration.test.ts +0 -480
  789. package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.properties.test.ts +0 -634
  790. package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.unit.test.ts +0 -746
  791. package/src/components/core/Button-VerticalList-Item/__tests__/rtlSupport.test.ts +0 -206
  792. package/src/components/core/Button-VerticalList-Item/__tests__/test-utils.ts +0 -297
  793. package/src/components/core/Button-VerticalList-Item/__tests__/visualStateMapping.test.ts +0 -419
  794. package/src/components/core/Button-VerticalList-Item/index.ts +0 -49
  795. package/src/components/core/Button-VerticalList-Item/platforms/android/VerticalListButtonItemTest.kt +0 -1109
  796. package/src/components/core/Button-VerticalList-Item/platforms/ios/.gitkeep +0 -2
  797. package/src/components/core/Button-VerticalList-Item/platforms/ios/VerticalListButtonItemTests.swift +0 -794
  798. package/src/components/core/Button-VerticalList-Item/platforms/web/.gitkeep +0 -2
  799. package/src/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.styles.css +0 -459
  800. package/src/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.ts +0 -1030
  801. package/src/components/core/Button-VerticalList-Item/platforms/web/visualStateMapping.ts +0 -411
  802. package/src/components/core/Button-VerticalList-Item/types.ts +0 -338
  803. package/src/components/core/Button-VerticalList-Set/README.md +0 -578
  804. package/src/components/core/Button-VerticalList-Set/__tests__/.gitkeep +0 -5
  805. package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.integration.test.ts +0 -676
  806. package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.property.test.ts +0 -786
  807. package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.property2.test.ts +0 -1109
  808. package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.unit.test.ts +0 -924
  809. package/src/components/core/Button-VerticalList-Set/__tests__/animationTiming.test.ts +0 -182
  810. package/src/components/core/Button-VerticalList-Set/__tests__/crossPlatformConsistency.test.ts +0 -685
  811. package/src/components/core/Button-VerticalList-Set/__tests__/deriveItemStates.test.ts +0 -179
  812. package/src/components/core/Button-VerticalList-Set/__tests__/validation.test.ts +0 -275
  813. package/src/components/core/Button-VerticalList-Set/index.ts +0 -32
  814. package/src/components/core/Button-VerticalList-Set/platforms/android/ButtonVerticalListSetTest.kt +0 -961
  815. package/src/components/core/Button-VerticalList-Set/platforms/ios/.gitkeep +0 -0
  816. package/src/components/core/Button-VerticalList-Set/platforms/ios/ButtonVerticalListSetTests.swift +0 -475
  817. package/src/components/core/Button-VerticalList-Set/platforms/web/.gitkeep +0 -4
  818. package/src/components/core/Button-VerticalList-Set/platforms/web/Button-VerticalList-Set.styles.css +0 -167
  819. package/src/components/core/Button-VerticalList-Set/platforms/web/ButtonVerticalListSet.web.ts +0 -1446
  820. package/src/components/core/Button-VerticalList-Set/types.ts +0 -788
  821. package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +0 -534
  822. package/src/components/core/Chip-Base/index.ts +0 -40
  823. package/src/components/core/Chip-Base/platforms/ios/.gitkeep +0 -3
  824. package/src/components/core/Chip-Base/platforms/web/.gitkeep +0 -5
  825. package/src/components/core/Chip-Base/platforms/web/ChipBase.styles.css +0 -280
  826. package/src/components/core/Chip-Base/platforms/web/ChipBase.web.ts +0 -480
  827. package/src/components/core/Chip-Base/types.ts +0 -189
  828. package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +0 -592
  829. package/src/components/core/Chip-Filter/index.ts +0 -34
  830. package/src/components/core/Chip-Filter/platforms/web/ChipFilter.styles.css +0 -105
  831. package/src/components/core/Chip-Filter/platforms/web/ChipFilter.web.ts +0 -539
  832. package/src/components/core/Chip-Filter/types.ts +0 -47
  833. package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +0 -472
  834. package/src/components/core/Chip-Input/index.ts +0 -35
  835. package/src/components/core/Chip-Input/platforms/ios/.gitkeep +0 -3
  836. package/src/components/core/Chip-Input/platforms/web/ChipInput.styles.css +0 -99
  837. package/src/components/core/Chip-Input/platforms/web/ChipInput.web.ts +0 -485
  838. package/src/components/core/Chip-Input/types.ts +0 -35
  839. package/src/components/core/Container-Base/README.md +0 -450
  840. package/src/components/core/Container-Base/__tests__/ContainerBase.test.ts +0 -712
  841. package/src/components/core/Container-Base/index.ts +0 -47
  842. package/src/components/core/Container-Base/platforms/web/ContainerBase.web.ts +0 -405
  843. package/src/components/core/Container-Base/platforms/web/styles.css +0 -198
  844. package/src/components/core/Container-Base/platforms/web/token-mapping.ts +0 -573
  845. package/src/components/core/Container-Base/tokens.ts +0 -241
  846. package/src/components/core/Container-Base/types.ts +0 -307
  847. package/src/components/core/Container-Card-Base/README.md +0 -506
  848. package/src/components/core/Container-Card-Base/__tests__/ContainerCardBase.composition.test.ts +0 -167
  849. package/src/components/core/Container-Card-Base/__tests__/ContainerCardBase.test.ts +0 -646
  850. package/src/components/core/Container-Card-Base/index.ts +0 -64
  851. package/src/components/core/Container-Card-Base/platforms/web/ContainerCardBase.web.ts +0 -373
  852. package/src/components/core/Container-Card-Base/tokens.ts +0 -224
  853. package/src/components/core/Container-Card-Base/types.ts +0 -332
  854. package/src/components/core/Icon-Base/README.md +0 -168
  855. package/src/components/core/Icon-Base/__tests__/IconBase.test.ts +0 -192
  856. package/src/components/core/Icon-Base/index.ts +0 -34
  857. package/src/components/core/Icon-Base/platforms/ios/ASSET_CATALOG_SETUP.md +0 -239
  858. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Contents.json +0 -6
  859. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/Contents.json +0 -9
  860. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/alert-circle.imageset/Contents.json +0 -15
  861. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/alert-circle.imageset/alert-circle.svg +0 -1
  862. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-down.imageset/Contents.json +0 -15
  863. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-down.imageset/arrow-down.svg +0 -1
  864. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-left.imageset/Contents.json +0 -15
  865. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-left.imageset/arrow-left.svg +0 -1
  866. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-right.imageset/Contents.json +0 -15
  867. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-right.imageset/arrow-right.svg +0 -1
  868. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-up.imageset/Contents.json +0 -15
  869. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-up.imageset/arrow-up.svg +0 -1
  870. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/award.imageset/Contents.json +0 -15
  871. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/award.imageset/award.svg +0 -1
  872. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/bell.imageset/Contents.json +0 -15
  873. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/bell.imageset/bell.svg +0 -1
  874. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/briefcase.imageset/Contents.json +0 -15
  875. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/briefcase.imageset/briefcase.svg +0 -1
  876. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/calendar.imageset/Contents.json +0 -15
  877. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/calendar.imageset/calendar.svg +0 -1
  878. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check-circle.imageset/Contents.json +0 -15
  879. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check-circle.imageset/check-circle.svg +0 -1
  880. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check.imageset/Contents.json +0 -15
  881. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check.imageset/check.svg +0 -1
  882. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-down.imageset/Contents.json +0 -15
  883. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-down.imageset/chevron-down.svg +0 -1
  884. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-left.imageset/Contents.json +0 -15
  885. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-left.imageset/chevron-left.svg +0 -1
  886. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-right.imageset/Contents.json +0 -15
  887. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-right.imageset/chevron-right.svg +0 -1
  888. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/circle.imageset/Contents.json +0 -15
  889. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/circle.imageset/circle.svg +0 -1
  890. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/clock.imageset/Contents.json +0 -15
  891. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/clock.imageset/clock.svg +0 -1
  892. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/credit-card.imageset/Contents.json +0 -15
  893. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/credit-card.imageset/credit-card.svg +0 -1
  894. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/dollar-sign.imageset/Contents.json +0 -15
  895. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/dollar-sign.imageset/dollar-sign.svg +0 -1
  896. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/external-link.imageset/Contents.json +0 -15
  897. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/external-link.imageset/external-link.svg +0 -1
  898. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye-off.imageset/Contents.json +0 -15
  899. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye-off.imageset/eye-off.svg +0 -1
  900. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye.imageset/Contents.json +0 -15
  901. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye.imageset/eye.svg +0 -1
  902. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/file-text.imageset/Contents.json +0 -15
  903. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/file-text.imageset/file-text.svg +0 -1
  904. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/filter.imageset/Contents.json +0 -15
  905. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/filter.imageset/filter.svg +0 -1
  906. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/globe.imageset/Contents.json +0 -15
  907. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/globe.imageset/globe.svg +0 -1
  908. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/heart.imageset/Contents.json +0 -15
  909. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/heart.imageset/heart.svg +0 -1
  910. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/info.imageset/Contents.json +0 -15
  911. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/info.imageset/info.svg +0 -1
  912. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/mail.imageset/Contents.json +0 -15
  913. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/mail.imageset/mail.svg +0 -1
  914. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/map-pin.imageset/Contents.json +0 -15
  915. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/map-pin.imageset/map-pin.svg +0 -1
  916. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/minus.imageset/Contents.json +0 -15
  917. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/minus.imageset/minus.svg +0 -1
  918. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-horizontal.imageset/Contents.json +0 -15
  919. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-horizontal.imageset/more-horizontal.svg +0 -1
  920. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-vertical.imageset/Contents.json +0 -15
  921. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-vertical.imageset/more-vertical.svg +0 -1
  922. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/phone.imageset/Contents.json +0 -15
  923. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/phone.imageset/phone.svg +0 -1
  924. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/plus.imageset/Contents.json +0 -15
  925. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/plus.imageset/plus.svg +0 -1
  926. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/refresh-cw.imageset/Contents.json +0 -15
  927. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/refresh-cw.imageset/refresh-cw.svg +0 -1
  928. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/save.imageset/Contents.json +0 -15
  929. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/save.imageset/save.svg +0 -1
  930. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/search.imageset/Contents.json +0 -15
  931. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/search.imageset/search.svg +0 -1
  932. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/settings.imageset/Contents.json +0 -15
  933. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/settings.imageset/settings.svg +0 -1
  934. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share-2.imageset/Contents.json +0 -15
  935. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share-2.imageset/share-2.svg +0 -1
  936. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share.imageset/Contents.json +0 -15
  937. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share.imageset/share.svg +0 -1
  938. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/shield.imageset/Contents.json +0 -15
  939. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/shield.imageset/shield.svg +0 -1
  940. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smartphone.imageset/Contents.json +0 -15
  941. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smartphone.imageset/smartphone.svg +0 -1
  942. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smile.imageset/Contents.json +0 -15
  943. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smile.imageset/smile.svg +0 -1
  944. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/star.imageset/Contents.json +0 -15
  945. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/star.imageset/star.svg +0 -1
  946. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/trending-up.imageset/Contents.json +0 -15
  947. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/trending-up.imageset/trending-up.svg +0 -1
  948. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-check.imageset/Contents.json +0 -15
  949. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-check.imageset/user-check.svg +0 -1
  950. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-x.imageset/Contents.json +0 -15
  951. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-x.imageset/user-x.svg +0 -1
  952. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user.imageset/Contents.json +0 -15
  953. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user.imageset/user.svg +0 -1
  954. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/users.imageset/Contents.json +0 -15
  955. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/users.imageset/users.svg +0 -1
  956. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/wifi.imageset/Contents.json +0 -15
  957. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/wifi.imageset/wifi.svg +0 -1
  958. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/x.imageset/Contents.json +0 -15
  959. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/x.imageset/x.svg +0 -1
  960. package/src/components/core/Icon-Base/platforms/web/IconBase.web.ts +0 -553
  961. package/src/components/core/Icon-Base/platforms/web/assets/alert-circle.svg +0 -1
  962. package/src/components/core/Icon-Base/platforms/web/assets/arrow-down.svg +0 -1
  963. package/src/components/core/Icon-Base/platforms/web/assets/arrow-left.svg +0 -1
  964. package/src/components/core/Icon-Base/platforms/web/assets/arrow-right.svg +0 -1
  965. package/src/components/core/Icon-Base/platforms/web/assets/arrow-up.svg +0 -1
  966. package/src/components/core/Icon-Base/platforms/web/assets/award.svg +0 -1
  967. package/src/components/core/Icon-Base/platforms/web/assets/bell.svg +0 -1
  968. package/src/components/core/Icon-Base/platforms/web/assets/briefcase.svg +0 -1
  969. package/src/components/core/Icon-Base/platforms/web/assets/calendar.svg +0 -1
  970. package/src/components/core/Icon-Base/platforms/web/assets/check-circle.svg +0 -1
  971. package/src/components/core/Icon-Base/platforms/web/assets/check.svg +0 -1
  972. package/src/components/core/Icon-Base/platforms/web/assets/chevron-down.svg +0 -1
  973. package/src/components/core/Icon-Base/platforms/web/assets/chevron-left.svg +0 -1
  974. package/src/components/core/Icon-Base/platforms/web/assets/chevron-right.svg +0 -1
  975. package/src/components/core/Icon-Base/platforms/web/assets/circle.svg +0 -1
  976. package/src/components/core/Icon-Base/platforms/web/assets/clock.svg +0 -1
  977. package/src/components/core/Icon-Base/platforms/web/assets/credit-card.svg +0 -1
  978. package/src/components/core/Icon-Base/platforms/web/assets/dollar-sign.svg +0 -1
  979. package/src/components/core/Icon-Base/platforms/web/assets/external-link.svg +0 -1
  980. package/src/components/core/Icon-Base/platforms/web/assets/eye-off.svg +0 -1
  981. package/src/components/core/Icon-Base/platforms/web/assets/eye.svg +0 -1
  982. package/src/components/core/Icon-Base/platforms/web/assets/file-text.svg +0 -1
  983. package/src/components/core/Icon-Base/platforms/web/assets/filter.svg +0 -1
  984. package/src/components/core/Icon-Base/platforms/web/assets/globe.svg +0 -1
  985. package/src/components/core/Icon-Base/platforms/web/assets/heart.svg +0 -1
  986. package/src/components/core/Icon-Base/platforms/web/assets/info.svg +0 -1
  987. package/src/components/core/Icon-Base/platforms/web/assets/mail.svg +0 -1
  988. package/src/components/core/Icon-Base/platforms/web/assets/map-pin.svg +0 -1
  989. package/src/components/core/Icon-Base/platforms/web/assets/minus.svg +0 -1
  990. package/src/components/core/Icon-Base/platforms/web/assets/more-horizontal.svg +0 -1
  991. package/src/components/core/Icon-Base/platforms/web/assets/more-vertical.svg +0 -1
  992. package/src/components/core/Icon-Base/platforms/web/assets/phone.svg +0 -1
  993. package/src/components/core/Icon-Base/platforms/web/assets/plus.svg +0 -1
  994. package/src/components/core/Icon-Base/platforms/web/assets/refresh-cw.svg +0 -1
  995. package/src/components/core/Icon-Base/platforms/web/assets/save.svg +0 -1
  996. package/src/components/core/Icon-Base/platforms/web/assets/search.svg +0 -1
  997. package/src/components/core/Icon-Base/platforms/web/assets/settings.svg +0 -1
  998. package/src/components/core/Icon-Base/platforms/web/assets/share-2.svg +0 -1
  999. package/src/components/core/Icon-Base/platforms/web/assets/share.svg +0 -1
  1000. package/src/components/core/Icon-Base/platforms/web/assets/shield.svg +0 -1
  1001. package/src/components/core/Icon-Base/platforms/web/assets/smartphone.svg +0 -1
  1002. package/src/components/core/Icon-Base/platforms/web/assets/smile.svg +0 -1
  1003. package/src/components/core/Icon-Base/platforms/web/assets/star.svg +0 -1
  1004. package/src/components/core/Icon-Base/platforms/web/assets/trending-up.svg +0 -1
  1005. package/src/components/core/Icon-Base/platforms/web/assets/user-check.svg +0 -1
  1006. package/src/components/core/Icon-Base/platforms/web/assets/user-x.svg +0 -1
  1007. package/src/components/core/Icon-Base/platforms/web/assets/user.svg +0 -1
  1008. package/src/components/core/Icon-Base/platforms/web/assets/users.svg +0 -1
  1009. package/src/components/core/Icon-Base/platforms/web/assets/wifi.svg +0 -1
  1010. package/src/components/core/Icon-Base/platforms/web/assets/x.svg +0 -1
  1011. package/src/components/core/Icon-Base/platforms/web/styles.css +0 -203
  1012. package/src/components/core/Icon-Base/types.ts +0 -338
  1013. package/src/components/core/Input-Checkbox-Base/README.md +0 -390
  1014. package/src/components/core/Input-Checkbox-Base/__tests__/InputCheckboxBase.stemma.test.ts +0 -552
  1015. package/src/components/core/Input-Checkbox-Base/__tests__/InputCheckboxBase.test.ts +0 -878
  1016. package/src/components/core/Input-Checkbox-Base/checkbox-sizing.tokens.ts +0 -37
  1017. package/src/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.css +0 -477
  1018. package/src/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.ts +0 -561
  1019. package/src/components/core/Input-Checkbox-Base/types.ts +0 -399
  1020. package/src/components/core/Input-Checkbox-Legal/README.md +0 -554
  1021. package/src/components/core/Input-Checkbox-Legal/__tests__/InputCheckboxLegal.test.ts +0 -727
  1022. package/src/components/core/Input-Checkbox-Legal/platforms/ios/.gitkeep +0 -2
  1023. package/src/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.css +0 -112
  1024. package/src/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.ts +0 -505
  1025. package/src/components/core/Input-Checkbox-Legal/types.ts +0 -348
  1026. package/src/components/core/Input-Radio-Base/.gitkeep +0 -2
  1027. package/src/components/core/Input-Radio-Base/README.md +0 -427
  1028. package/src/components/core/Input-Radio-Base/__tests__/.gitkeep +0 -1
  1029. package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.form.test.ts +0 -299
  1030. package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.stemma.test.ts +0 -543
  1031. package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.test.ts +0 -429
  1032. package/src/components/core/Input-Radio-Base/platforms/ios/.gitkeep +0 -1
  1033. package/src/components/core/Input-Radio-Base/platforms/web/.gitkeep +0 -1
  1034. package/src/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.css +0 -504
  1035. package/src/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.ts +0 -648
  1036. package/src/components/core/Input-Radio-Base/radio-sizing.tokens.ts +0 -37
  1037. package/src/components/core/Input-Radio-Base/types.ts +0 -362
  1038. package/src/components/core/Input-Radio-Set/README.md +0 -373
  1039. package/src/components/core/Input-Radio-Set/__tests__/.gitkeep +0 -0
  1040. package/src/components/core/Input-Radio-Set/__tests__/InputRadioSet.stemma.test.ts +0 -493
  1041. package/src/components/core/Input-Radio-Set/__tests__/InputRadioSet.test.ts +0 -499
  1042. package/src/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.css +0 -99
  1043. package/src/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.ts +0 -790
  1044. package/src/components/core/Input-Radio-Set/types.ts +0 -301
  1045. package/src/components/core/Input-Text-Base/README.md +0 -258
  1046. package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +0 -311
  1047. package/src/components/core/Input-Text-Base/__tests__/keyboardNavigation.test.ts +0 -444
  1048. package/src/components/core/Input-Text-Base/__tests__/labelAssociation.test.ts +0 -418
  1049. package/src/components/core/Input-Text-Base/__tests__/screenReaderSupport.test.ts +0 -405
  1050. package/src/components/core/Input-Text-Base/__tests__/setup.ts +0 -17
  1051. package/src/components/core/Input-Text-Base/__tests__/stateManagement.test.ts +0 -718
  1052. package/src/components/core/Input-Text-Base/__tests__/test-utils.ts +0 -81
  1053. package/src/components/core/Input-Text-Base/__tests__/touchTargetSizing.test.ts +0 -319
  1054. package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.ts +0 -241
  1055. package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.web.css +0 -293
  1056. package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.web.ts +0 -448
  1057. package/src/components/core/Input-Text-Base/stateManagement.ts +0 -267
  1058. package/src/components/core/Input-Text-Base/tokens.ts +0 -210
  1059. package/src/components/core/Input-Text-Base/types.ts +0 -114
  1060. package/src/components/core/Input-Text-Email/README.md +0 -252
  1061. package/src/components/core/Input-Text-Email/__tests__/validation.test.ts +0 -127
  1062. package/src/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.ts +0 -276
  1063. package/src/components/core/Input-Text-Email/platforms/web/InputTextEmail.web.ts +0 -319
  1064. package/src/components/core/Input-Text-Email/stateManagement.ts +0 -160
  1065. package/src/components/core/Input-Text-Email/tokens.ts +0 -33
  1066. package/src/components/core/Input-Text-Email/types.ts +0 -72
  1067. package/src/components/core/Input-Text-Email/validation.ts +0 -130
  1068. package/src/components/core/Input-Text-Password/README.md +0 -360
  1069. package/src/components/core/Input-Text-Password/__tests__/validation.test.ts +0 -362
  1070. package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.ts +0 -434
  1071. package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +0 -512
  1072. package/src/components/core/Input-Text-Password/stateManagement.ts +0 -244
  1073. package/src/components/core/Input-Text-Password/tokens.ts +0 -32
  1074. package/src/components/core/Input-Text-Password/types.ts +0 -177
  1075. package/src/components/core/Input-Text-Password/validation.ts +0 -207
  1076. package/src/components/core/Input-Text-PhoneNumber/README.md +0 -276
  1077. package/src/components/core/Input-Text-PhoneNumber/__tests__/validation.test.ts +0 -301
  1078. package/src/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.ts +0 -370
  1079. package/src/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.web.ts +0 -393
  1080. package/src/components/core/Input-Text-PhoneNumber/stateManagement.ts +0 -250
  1081. package/src/components/core/Input-Text-PhoneNumber/tokens.ts +0 -33
  1082. package/src/components/core/Input-Text-PhoneNumber/types.ts +0 -135
  1083. package/src/components/core/Input-Text-PhoneNumber/validation.ts +0 -302
  1084. package/src/components/core/Nav-Header-App/README.md +0 -29
  1085. package/src/components/core/Nav-Header-App/index.ts +0 -5
  1086. package/src/components/core/Nav-Header-App/platforms/web/NavHeaderApp.web.ts +0 -37
  1087. package/src/components/core/Nav-Header-App/types.ts +0 -32
  1088. package/src/components/core/Nav-Header-Base/README.md +0 -21
  1089. package/src/components/core/Nav-Header-Base/index.ts +0 -12
  1090. package/src/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.styles.css +0 -75
  1091. package/src/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.web.ts +0 -120
  1092. package/src/components/core/Nav-Header-Base/types.ts +0 -63
  1093. package/src/components/core/Nav-Header-Page/README.md +0 -34
  1094. package/src/components/core/Nav-Header-Page/__tests__/NavHeaderPage.test.ts +0 -250
  1095. package/src/components/core/Nav-Header-Page/index.ts +0 -12
  1096. package/src/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.styles.css +0 -90
  1097. package/src/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.web.ts +0 -169
  1098. package/src/components/core/Nav-Header-Page/types.ts +0 -55
  1099. package/src/components/core/Nav-SegmentedChoice-Base/README.md +0 -327
  1100. package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.android.test.ts +0 -218
  1101. package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.interaction.test.ts +0 -419
  1102. package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.ios.test.ts +0 -207
  1103. package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.visual.test.ts +0 -371
  1104. package/src/components/core/Nav-SegmentedChoice-Base/index.ts +0 -38
  1105. package/src/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.styles.css +0 -160
  1106. package/src/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.web.ts +0 -477
  1107. package/src/components/core/Nav-SegmentedChoice-Base/types.ts +0 -65
  1108. package/src/components/core/Nav-TabBar-Base/README.md +0 -264
  1109. package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.android.test.ts +0 -270
  1110. package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.ios.test.ts +0 -221
  1111. package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.test.ts +0 -421
  1112. package/src/components/core/Nav-TabBar-Base/examples/BasicUsage.html +0 -2
  1113. package/src/components/core/Nav-TabBar-Base/examples/BasicUsage.tsx +0 -2
  1114. package/src/components/core/Nav-TabBar-Base/index.ts +0 -20
  1115. package/src/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.styles.css +0 -281
  1116. package/src/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.web.ts +0 -420
  1117. package/src/components/core/Nav-TabBar-Base/types.ts +0 -43
  1118. package/src/components/core/Progress-Bar-Base/README.md +0 -31
  1119. package/src/components/core/Progress-Bar-Base/__tests__/ProgressBarBase.test.ts +0 -202
  1120. package/src/components/core/Progress-Bar-Base/index.ts +0 -6
  1121. package/src/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.styles.css +0 -52
  1122. package/src/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.web.ts +0 -135
  1123. package/src/components/core/Progress-Bar-Base/types.ts +0 -46
  1124. package/src/components/core/Progress-Indicator-Connector-Base/README.md +0 -169
  1125. package/src/components/core/Progress-Indicator-Connector-Base/index.ts +0 -33
  1126. package/src/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.styles.css +0 -50
  1127. package/src/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.web.ts +0 -141
  1128. package/src/components/core/Progress-Indicator-Connector-Base/types.ts +0 -67
  1129. package/src/components/core/Progress-Indicator-Label-Base/README.md +0 -191
  1130. package/src/components/core/Progress-Indicator-Label-Base/index.ts +0 -28
  1131. package/src/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.styles.css +0 -81
  1132. package/src/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.web.ts +0 -174
  1133. package/src/components/core/Progress-Indicator-Label-Base/types.ts +0 -64
  1134. package/src/components/core/Progress-Indicator-Node-Base/README.md +0 -206
  1135. package/src/components/core/Progress-Indicator-Node-Base/__tests__/VisualStates.test.ts +0 -259
  1136. package/src/components/core/Progress-Indicator-Node-Base/index.ts +0 -36
  1137. package/src/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.styles.css +0 -193
  1138. package/src/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.web.ts +0 -226
  1139. package/src/components/core/Progress-Indicator-Node-Base/types.ts +0 -142
  1140. package/src/components/core/Progress-Pagination-Base/README.md +0 -290
  1141. package/src/components/core/Progress-Pagination-Base/__tests__/PaginationBase.test.ts +0 -290
  1142. package/src/components/core/Progress-Pagination-Base/index.ts +0 -40
  1143. package/src/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.styles.css +0 -80
  1144. package/src/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.web.ts +0 -293
  1145. package/src/components/core/Progress-Pagination-Base/types.ts +0 -112
  1146. package/src/components/core/Progress-Stepper-Base/README.md +0 -311
  1147. package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +0 -345
  1148. package/src/components/core/Progress-Stepper-Base/index.ts +0 -43
  1149. package/src/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.styles.css +0 -49
  1150. package/src/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.web.ts +0 -288
  1151. package/src/components/core/Progress-Stepper-Base/types.ts +0 -175
  1152. package/src/components/core/Progress-Stepper-Detailed/README.md +0 -401
  1153. package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +0 -481
  1154. package/src/components/core/Progress-Stepper-Detailed/index.ts +0 -48
  1155. package/src/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.styles.css +0 -106
  1156. package/src/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.web.ts +0 -336
  1157. package/src/components/core/Progress-Stepper-Detailed/types.ts +0 -195
  1158. package/src/composition/BlendComposition.ts +0 -46
  1159. package/src/composition/BlendCompositionParser.ts +0 -215
  1160. package/src/composition/OpacityComposition.ts +0 -62
  1161. package/src/composition/OpacityCompositionParser.ts +0 -308
  1162. package/src/composition/__tests__/BlendCompositionParser.test.ts +0 -431
  1163. package/src/composition/__tests__/OpacityCompositionParser.test.ts +0 -539
  1164. package/src/composition/index.ts +0 -20
  1165. package/src/config/ConfigLoader.ts +0 -143
  1166. package/src/config/__resolution-matrix__/README.md +0 -76
  1167. package/src/config/__resolution-matrix__/fixtures/faithful-cjs/compiled/defineConfig.js +0 -9
  1168. package/src/config/__resolution-matrix__/fixtures/faithful-cjs/designerpunk.config.ts +0 -20
  1169. package/src/config/__resolution-matrix__/fixtures/faithful-cjs/my-overrides.ts +0 -8
  1170. package/src/config/__resolution-matrix__/fixtures/faithful-esm/compiled/defineConfig.js +0 -11
  1171. package/src/config/__resolution-matrix__/fixtures/faithful-esm/designerpunk.config.ts +0 -23
  1172. package/src/config/__resolution-matrix__/fixtures/faithful-esm/my-overrides.ts +0 -6
  1173. package/src/config/__resolution-matrix__/fixtures/source-dir-cjs/designerpunk.config.ts +0 -11
  1174. package/src/config/__resolution-matrix__/fixtures/source-dir-cjs/src/config/index.ts +0 -15
  1175. package/src/config/__resolution-matrix__/fixtures/source-dir-esm/designerpunk.config.ts +0 -15
  1176. package/src/config/__resolution-matrix__/fixtures/source-dir-esm/src/config/index.ts +0 -13
  1177. package/src/config/__resolution-matrix__/run-matrix.js +0 -107
  1178. package/src/config/__resolution-matrix__/runner.js +0 -153
  1179. package/src/config/__resolution-matrix__/verify-real-loadconfig.js +0 -122
  1180. package/src/config/__tests__/ConfigLoader.test.ts +0 -115
  1181. package/src/config/defineConfig.ts +0 -71
  1182. package/src/config/index.ts +0 -7
  1183. package/src/config/scopedTsRequire.ts +0 -62
  1184. package/src/constants/BaselineGrid.ts +0 -41
  1185. package/src/constants/SpacingTokens.ts +0 -55
  1186. package/src/figma/ComponentAnalysis.ts +0 -292
  1187. package/src/figma/ComponentAnalysisGenerator.ts +0 -444
  1188. package/src/figma/ConsoleMCPClient.ts +0 -168
  1189. package/src/figma/ConsoleMCPClientImpl.ts +0 -1034
  1190. package/src/figma/DesignExtractor.ts +0 -3620
  1191. package/src/figma/TokenSyncWorkflow.ts +0 -915
  1192. package/src/figma/TokenTranslator.ts +0 -891
  1193. package/src/figma/VariantAnalyzer.ts +0 -712
  1194. package/src/figma/__tests__/ComponentAnalysisGenerator.json.test.ts +0 -429
  1195. package/src/figma/__tests__/ComponentAnalysisGenerator.markdown.test.ts +0 -428
  1196. package/src/figma/__tests__/ConsoleMCPClient.bugfix.test.ts +0 -261
  1197. package/src/figma/__tests__/ConsoleMCPClient.preservation.test.ts +0 -395
  1198. package/src/figma/__tests__/ConsoleMCPClient.test.ts +0 -375
  1199. package/src/figma/__tests__/DesignExtractor.boundVariableResolution.test.ts +0 -580
  1200. package/src/figma/__tests__/DesignExtractor.buildNodeTree.test.ts +0 -535
  1201. package/src/figma/__tests__/DesignExtractor.captureComponentScreenshot.test.ts +0 -176
  1202. package/src/figma/__tests__/DesignExtractor.detectBehavioralContracts.test.ts +0 -263
  1203. package/src/figma/__tests__/DesignExtractor.detectComponentTokenDecisions.test.ts +0 -379
  1204. package/src/figma/__tests__/DesignExtractor.detectCompositionPatterns.test.ts +0 -507
  1205. package/src/figma/__tests__/DesignExtractor.detectPlatformParity.test.ts +0 -406
  1206. package/src/figma/__tests__/DesignExtractor.queryContext.test.ts +0 -214
  1207. package/src/figma/__tests__/DesignExtractor.readFigmaComponent.test.ts +0 -431
  1208. package/src/figma/__tests__/DesignExtractor.readStyles.test.ts +0 -204
  1209. package/src/figma/__tests__/DesignExtractor.readTokenBindings.test.ts +0 -268
  1210. package/src/figma/__tests__/DesignExtractor.reconstructCompositeTokens.test.ts +0 -403
  1211. package/src/figma/__tests__/DesignExtractor.resolveUnknownVariableIds.test.ts +0 -259
  1212. package/src/figma/__tests__/DesignExtractor.translateTokens.test.ts +0 -433
  1213. package/src/figma/__tests__/DesignExtractor.validateModes.test.ts +0 -350
  1214. package/src/figma/__tests__/TokenSyncWorkflow.batch.test.ts +0 -277
  1215. package/src/figma/__tests__/TokenSyncWorkflow.drift.test.ts +0 -187
  1216. package/src/figma/__tests__/TokenSyncWorkflow.preservation.test.ts +0 -544
  1217. package/src/figma/__tests__/TokenSyncWorkflow.styles.test.ts +0 -245
  1218. package/src/figma/__tests__/TokenSyncWorkflow.sync.test.ts +0 -217
  1219. package/src/figma/__tests__/TokenTranslator.test.ts +0 -757
  1220. package/src/figma/__tests__/VariantAnalyzer.detectConflicts.test.ts +0 -126
  1221. package/src/figma/__tests__/VariantAnalyzer.test.ts +0 -633
  1222. package/src/figma/__tests__/error-reporting.test.ts +0 -254
  1223. package/src/figma/__tests__/preflight.test.ts +0 -94
  1224. package/src/figma/error-reporting.ts +0 -260
  1225. package/src/figma/index.ts +0 -98
  1226. package/src/figma/portCleanup.ts +0 -86
  1227. package/src/figma/preflight.ts +0 -120
  1228. package/src/generators/BlendUtilityGenerator.ts +0 -847
  1229. package/src/generators/BlendValueGenerator.ts +0 -198
  1230. package/src/generators/DTCGFormatGenerator.ts +0 -1355
  1231. package/src/generators/DTCGGeneratorConfig.ts +0 -46
  1232. package/src/generators/ModeResolvedTokens.ts +0 -58
  1233. package/src/generators/ResponsiveGridGenerator.ts +0 -273
  1234. package/src/generators/TokenFileGenerator.ts +0 -2070
  1235. package/src/generators/__tests__/AccessibilityTokenGeneration.test.ts +0 -350
  1236. package/src/generators/__tests__/BlendUtilityGenerator.test.ts +0 -829
  1237. package/src/generators/__tests__/BlendValueGenerator.test.ts +0 -200
  1238. package/src/generators/__tests__/BreakpointTokenGeneration.test.ts +0 -172
  1239. package/src/generators/__tests__/CSSThemeScoping.test.ts +0 -153
  1240. package/src/generators/__tests__/DTCGConfigOptions.test.ts +0 -271
  1241. package/src/generators/__tests__/DTCGErrorHandling.test.ts +0 -139
  1242. package/src/generators/__tests__/DTCGFormatGenerator.integration.test.ts +0 -346
  1243. package/src/generators/__tests__/DTCGFormatGenerator.property.test.ts +0 -497
  1244. package/src/generators/__tests__/DTCGFormatGenerator.test.ts +0 -469
  1245. package/src/generators/__tests__/FigmaTransformer.styles.test.ts +0 -398
  1246. package/src/generators/__tests__/FigmaTransformer.variables.test.ts +0 -540
  1247. package/src/generators/__tests__/GridSpacingTokenGeneration.test.ts +0 -254
  1248. package/src/generators/__tests__/IconTokenGeneration.test.ts +0 -452
  1249. package/src/generators/__tests__/KotlinThemeTypes.test.ts +0 -110
  1250. package/src/generators/__tests__/ModeAwareGeneration.test.ts +0 -160
  1251. package/src/generators/__tests__/NativeOklchOutput.test.ts +0 -56
  1252. package/src/generators/__tests__/OklchExport.test.ts +0 -71
  1253. package/src/generators/__tests__/ProductRepoSimulation.test.ts +0 -91
  1254. package/src/generators/__tests__/ResponsiveGridGeneration.test.ts +0 -291
  1255. package/src/generators/__tests__/Spec076TokenMigration.test.ts +0 -106
  1256. package/src/generators/__tests__/Spec077ModesVerification.test.ts +0 -52
  1257. package/src/generators/__tests__/SwiftThemeTypes.test.ts +0 -122
  1258. package/src/generators/__tests__/TokenFileGenerator.test.ts +0 -914
  1259. package/src/generators/__tests__/TransformerRegistry.test.ts +0 -118
  1260. package/src/generators/__tests__/WcagValueExportSupport.test.ts +0 -84
  1261. package/src/generators/__tests__/WcagValueInfrastructure.test.ts +0 -122
  1262. package/src/generators/__tests__/WebOklchOutput.test.ts +0 -72
  1263. package/src/generators/__tests__/generateTokenIndex.test.ts +0 -204
  1264. package/src/generators/__tests__/helpers/defaultSemanticOptions.ts +0 -24
  1265. package/src/generators/generateTokenFiles.ts +0 -337
  1266. package/src/generators/generateTokenIndex.ts +0 -258
  1267. package/src/generators/oklch/OklchExportUtils.ts +0 -57
  1268. package/src/generators/oklch/OklchTokenIndexMetadata.ts +0 -30
  1269. package/src/generators/transformers/FigmaTransformer.ts +0 -912
  1270. package/src/generators/transformers/ITokenTransformer.ts +0 -56
  1271. package/src/generators/transformers/TransformerRegistry.ts +0 -63
  1272. package/src/generators/transformers/index.ts +0 -52
  1273. package/src/generators/types/DTCGTypes.ts +0 -101
  1274. package/src/integration/BuildErrorHandler.ts +0 -440
  1275. package/src/integration/BuildSystemInterface.ts +0 -338
  1276. package/src/integration/PlatformFileSelector.ts +0 -288
  1277. package/src/integration/RegistryCoordinator.ts +0 -404
  1278. package/src/integration/TranslationCoordinator.ts +0 -458
  1279. package/src/integration/TreeShakingOptimizer.ts +0 -350
  1280. package/src/integration/ValidationCoordinator.ts +0 -780
  1281. package/src/integration/__tests__/ComponentTokenValidation.test.ts +0 -762
  1282. package/src/integration/__tests__/ValidationCoordinator.test.ts +0 -609
  1283. package/src/integration/__tests__/performance/ComponentTokenValidationPerformance.test.ts +0 -161
  1284. package/src/integration/index.ts +0 -55
  1285. package/src/naming/NamingConventionManager.ts +0 -318
  1286. package/src/naming/PlatformNamingRules.ts +0 -278
  1287. package/src/naming/__tests__/NamingConventions.test.ts +0 -224
  1288. package/src/naming/index.ts +0 -23
  1289. package/src/parent-completion.md +0 -1
  1290. package/src/performance/CachingStrategy.ts +0 -426
  1291. package/src/performance/FileGenerationOptimizer.ts +0 -294
  1292. package/src/performance/PerformanceMonitor.ts +0 -185
  1293. package/src/performance/PerformanceOptimizer.ts +0 -348
  1294. package/src/performance/index.ts +0 -30
  1295. package/src/providers/AndroidFileOrganizer.ts +0 -241
  1296. package/src/providers/AndroidFormatGenerator.ts +0 -750
  1297. package/src/providers/AndroidUnitConverter.ts +0 -177
  1298. package/src/providers/FormatProvider.ts +0 -187
  1299. package/src/providers/PathProvider.ts +0 -197
  1300. package/src/providers/UnitProvider.ts +0 -106
  1301. package/src/providers/WebFileOrganizer.ts +0 -121
  1302. package/src/providers/WebFormatGenerator.ts +0 -611
  1303. package/src/providers/WebUnitConverter.ts +0 -116
  1304. package/src/providers/__tests__/AndroidAccessibilityTokens.test.ts +0 -86
  1305. package/src/providers/__tests__/AndroidFormatGenerator-semantic.test.ts +0 -494
  1306. package/src/providers/__tests__/FormatProviders.test.ts +0 -828
  1307. package/src/providers/__tests__/InsetTokenGeneration.test.ts +0 -627
  1308. package/src/providers/__tests__/PathProviders.test.ts +0 -512
  1309. package/src/providers/__tests__/PlatformOutputFormat.test.ts +0 -252
  1310. package/src/providers/__tests__/UnitProviders.test.ts +0 -721
  1311. package/src/providers/__tests__/WebFormatGenerator-semantic.test.ts +0 -293
  1312. package/src/providers/__tests__/iOSFormatGenerator-semantic.test.ts +0 -410
  1313. package/src/providers/iOSFileOrganizer.ts +0 -162
  1314. package/src/providers/iOSFormatGenerator.ts +0 -599
  1315. package/src/providers/iOSUnitConverter.ts +0 -125
  1316. package/src/providers/index.ts +0 -26
  1317. package/src/registries/ComponentTokenRegistry.ts +0 -292
  1318. package/src/registries/IRegistry.ts +0 -170
  1319. package/src/registries/__tests__/ComponentTokenRegistry.test.ts +0 -446
  1320. package/src/registries/__tests__/IRegistry.test.ts +0 -250
  1321. package/src/registries/__tests__/PrimitiveTokenRegistry.test.ts +0 -342
  1322. package/src/registries/__tests__/SemanticTokenRegistry.test.ts +0 -444
  1323. package/src/resolvers/AndroidColorResolver.ts +0 -333
  1324. package/src/resolvers/ModeThemeResolver.ts +0 -152
  1325. package/src/resolvers/SemanticOverrideResolver.ts +0 -155
  1326. package/src/resolvers/SemanticValueResolver.ts +0 -133
  1327. package/src/resolvers/WebColorResolver.ts +0 -240
  1328. package/src/resolvers/__tests__/AndroidColorResolver.test.ts +0 -507
  1329. package/src/resolvers/__tests__/ModeThemeResolver.test.ts +0 -411
  1330. package/src/resolvers/__tests__/SemanticOverrideResolver.test.ts +0 -186
  1331. package/src/resolvers/__tests__/WebColorResolver.test.ts +0 -405
  1332. package/src/resolvers/__tests__/iOSColorResolver.test.ts +0 -432
  1333. package/src/resolvers/iOSColorResolver.ts +0 -224
  1334. package/src/resolvers/index.ts +0 -11
  1335. package/src/security/AIAgentRestrictions.ts +0 -298
  1336. package/src/security/ContaminationAuditor.ts +0 -393
  1337. package/src/security/ContaminationPrevention.ts +0 -275
  1338. package/src/security/DocumentationGuard.ts +0 -258
  1339. package/src/security/FlexibilityTokenGuard.ts +0 -256
  1340. package/src/security/HumanApprovalWorkflow.ts +0 -319
  1341. package/src/security/__tests__/AIAgentRestrictions.test.ts +0 -482
  1342. package/src/security/__tests__/ContaminationPrevention.test.ts +0 -424
  1343. package/src/security/__tests__/SecurityIntegration.test.ts +0 -505
  1344. package/src/security/index.ts +0 -48
  1345. package/src/testing/__tests__/utilities.test.ts +0 -175
  1346. package/src/testing/index.ts +0 -154
  1347. package/src/testing/jest-preset.ts +0 -62
  1348. package/src/testing/style-mock.ts +0 -7
  1349. package/src/testing/validators.ts +0 -10
  1350. package/src/themes/ResolvedThemeSet.ts +0 -22
  1351. package/src/themes/ThemeRegistry.ts +0 -97
  1352. package/src/themes/__tests__/ThemeRegistry.test.ts +0 -162
  1353. package/src/tools/ThemeFileGenerator.ts +0 -109
  1354. package/src/tools/integrity/DiskFreshGenerator.ts +0 -36
  1355. package/src/tools/integrity/GenerationIntegrityCheck.ts +0 -132
  1356. package/src/tools/integrity/Invariants.ts +0 -228
  1357. package/src/tools/integrity/Normalizer.ts +0 -94
  1358. package/src/tools/integrity/SemanticComparator.ts +0 -127
  1359. package/src/tools/integrity/__tests__/GenerationIntegrityCheck.test.ts +0 -132
  1360. package/src/tools/integrity/__tests__/Invariants.test.ts +0 -142
  1361. package/src/tools/integrity/__tests__/Normalizer.test.ts +0 -65
  1362. package/src/tools/integrity/__tests__/SemanticComparator.test.ts +0 -62
  1363. package/src/tools/integrity/__tests__/consumer-package-mode.test.ts +0 -205
  1364. package/src/tools/integrity/cli/run-audit.ts +0 -150
  1365. package/src/tools/integrity/inventory.ts +0 -51
  1366. package/src/tools/integrity/manifest.ts +0 -56
  1367. package/src/tools/integrity/types/index.ts +0 -183
  1368. package/src/tools/release/__tests__/ChangeClassifier.test.ts +0 -133
  1369. package/src/tools/release/__tests__/ChangeExtractor.test.ts +0 -222
  1370. package/src/tools/release/__tests__/GitHubPublisher.test.ts +0 -240
  1371. package/src/tools/release/__tests__/NotesRenderer.test.ts +0 -142
  1372. package/src/tools/release/__tests__/NpmPublisher.test.ts +0 -289
  1373. package/src/tools/release/__tests__/PipelineIntegration.test.ts +0 -188
  1374. package/src/tools/release/__tests__/ReleasePipeline.test.ts +0 -192
  1375. package/src/tools/release/__tests__/SemanticVersionValidator.test.ts +0 -49
  1376. package/src/tools/release/__tests__/SummaryScanner.test.ts +0 -141
  1377. package/src/tools/release/__tests__/TagResolver.test.ts +0 -91
  1378. package/src/tools/release/__tests__/VersionCalculator.test.ts +0 -270
  1379. package/src/tools/release/__tests__/helpers/NpmMockHelper.ts +0 -80
  1380. package/src/tools/release/cli/ReleasePipeline.ts +0 -165
  1381. package/src/tools/release/cli/release-tool.ts +0 -107
  1382. package/src/tools/release/pipeline/ChangeClassifier.ts +0 -61
  1383. package/src/tools/release/pipeline/ChangeExtractor.ts +0 -87
  1384. package/src/tools/release/pipeline/NotesRenderer.ts +0 -66
  1385. package/src/tools/release/pipeline/SummaryScanner.ts +0 -70
  1386. package/src/tools/release/pipeline/TagResolver.ts +0 -40
  1387. package/src/tools/release/pipeline/VersionCalculator.ts +0 -375
  1388. package/src/tools/release/publishers/GitHubPublisher.ts +0 -228
  1389. package/src/tools/release/publishers/NpmPublisher.ts +0 -196
  1390. package/src/tools/release/release-config.json +0 -5
  1391. package/src/tools/release/types/index.ts +0 -282
  1392. package/src/tools/release/validators/SemanticVersionValidator.ts +0 -67
  1393. package/src/types/ComponentTypes.ts +0 -76
  1394. package/src/types/TranslationOutput.ts +0 -105
  1395. package/src/types/ValidationResult.ts +0 -74
  1396. package/src/types/__tests__/ComponentTypes.test.ts +0 -73
  1397. package/src/types/css.d.ts +0 -35
  1398. package/src/types/generated/TokenTypes.ts +0 -142
  1399. package/src/types/index.ts +0 -42
  1400. package/src/validators/BaselineGridValidator.ts +0 -119
  1401. package/src/validators/CompositionPatternValidator.ts +0 -259
  1402. package/src/validators/CrossPlatformConsistencyValidator.ts +0 -498
  1403. package/src/validators/ErrorValidator.ts +0 -998
  1404. package/src/validators/IValidator.ts +0 -273
  1405. package/src/validators/MathematicalRelationshipParser.ts +0 -434
  1406. package/src/validators/ModeParity.ts +0 -123
  1407. package/src/validators/PassValidator.ts +0 -533
  1408. package/src/validators/PlatformConstraintHandler.ts +0 -453
  1409. package/src/validators/PrimitiveReferenceValidator.ts +0 -284
  1410. package/src/validators/SemanticTokenValidator.ts +0 -496
  1411. package/src/validators/StemmaComponentNamingValidator.ts +0 -524
  1412. package/src/validators/StemmaErrorGuidanceSystem.ts +0 -1600
  1413. package/src/validators/StemmaPropertyAccessibilityValidator.ts +0 -823
  1414. package/src/validators/StemmaTokenUsageValidator.ts +0 -651
  1415. package/src/validators/SyntaxValidator.ts +0 -537
  1416. package/src/validators/ThreeTierValidator.ts +0 -822
  1417. package/src/validators/ToleranceCalculator.ts +0 -324
  1418. package/src/validators/ValidationReasoning.ts +0 -464
  1419. package/src/validators/WCAGValidator.ts +0 -219
  1420. package/src/validators/WarningValidator.ts +0 -626
  1421. package/src/validators/__tests__/BaselineGridValidator.test.ts +0 -292
  1422. package/src/validators/__tests__/BorderWidthValidation.test.ts +0 -595
  1423. package/src/validators/__tests__/CompositionPatterns.test.ts +0 -463
  1424. package/src/validators/__tests__/CrossPlatformConsistency.test.ts +0 -834
  1425. package/src/validators/__tests__/IValidator.test.ts +0 -258
  1426. package/src/validators/__tests__/MathematicalRelationshipParser.test.ts +0 -465
  1427. package/src/validators/__tests__/PlatformConstraints.test.ts +0 -486
  1428. package/src/validators/__tests__/SemanticTokenValidator.test.ts +0 -723
  1429. package/src/validators/__tests__/StemmaComponentNamingValidator.test.ts +0 -597
  1430. package/src/validators/__tests__/StemmaErrorGuidanceSystem.test.ts +0 -717
  1431. package/src/validators/__tests__/StemmaPropertyAccessibilityValidator.test.ts +0 -349
  1432. package/src/validators/__tests__/StemmaTokenUsageValidator.test.ts +0 -432
  1433. package/src/validators/__tests__/SyntaxValidator.test.ts +0 -360
  1434. package/src/validators/__tests__/ThreeTierValidator.test.ts +0 -906
  1435. package/src/validators/__tests__/ValidationReasoning.test.ts +0 -636
  1436. package/src/validators/__tests__/WCAGValidator.test.ts +0 -243
  1437. package/src/validators/buildValidation.ts +0 -170
  1438. package/src/validators/index.ts +0 -144
  1439. package/src/workflows/ConsistencyValidator.ts +0 -339
  1440. package/src/workflows/TokenGenerationWorkflow.ts +0 -460
  1441. package/src/workflows/ValidationPipeline.ts +0 -284
  1442. package/src/workflows/WorkflowErrorHandler.ts +0 -441
@@ -1,1446 +0,0 @@
1
- /**
2
- * Button-VerticalList-Set Web Component
3
- *
4
- * Stemma System: Buttons Family
5
- * Component Type: Pattern (VerticalList-Set)
6
- * Custom Element Tag: <button-vertical-list-set>
7
- *
8
- * Container/orchestrator component that manages selection behavior,
9
- * state coordination, animations, keyboard navigation, and accessibility
10
- * for vertical list button groups.
11
- *
12
- * RENDERING ARCHITECTURE:
13
- * Uses incremental DOM updates rather than full re-renders to enable CSS transitions.
14
- * - _createDOM(): Called once on first render, creates the full DOM structure
15
- * - _updateDOM(): Called on attribute changes, updates only changed properties
16
- * This preserves DOM element identity, allowing CSS transitions to animate smoothly.
17
- *
18
- * @module Button-VerticalList-Set/platforms/web
19
- * @see Requirements: 2.1, 2.6, 11.2
20
- */
21
-
22
- /// <reference lib="dom" />
23
-
24
- import type {
25
- SelectionMode,
26
- SetInternalState
27
- } from '../../types';
28
-
29
- import {
30
- deriveItemStates,
31
- validateSelection,
32
- canSelectItem,
33
- calculateStaggeredDelays,
34
- calculateFirstSelectionDelays,
35
- calculateDeselectionDelays,
36
- calculateMultiSelectDelay,
37
- getCheckmarkTransition
38
- } from '../../types';
39
-
40
- // Import CSS as string for browser bundle compatibility
41
- // The esbuild CSS-as-string plugin transforms this import into a JS string export
42
- import componentStyles from './Button-VerticalList-Set.styles.css';
43
-
44
- /**
45
- * Get the ARIA role for the container based on mode.
46
- *
47
- * @param mode - The selection mode
48
- * @returns The appropriate ARIA role
49
- * @see Requirements: 2.1, 3.4, 4.6, 5.4
50
- */
51
- function getContainerRole(mode: SelectionMode): string {
52
- switch (mode) {
53
- case 'tap':
54
- return 'group';
55
- case 'select':
56
- return 'radiogroup';
57
- case 'multiSelect':
58
- return 'group';
59
- default:
60
- return 'group';
61
- }
62
- }
63
-
64
- /**
65
- * Button-VerticalList-Set Web Component
66
- *
67
- * A native web component that orchestrates selection behavior and coordinates
68
- * visual states across child Button-VerticalList-Item components.
69
- *
70
- * @remarks
71
- * - Uses Shadow DOM for style encapsulation
72
- * - Follows controlled component pattern (parent manages state)
73
- * - Coordinates animation timing across children
74
- * - Manages keyboard navigation with roving tabindex
75
- * - Provides appropriate ARIA roles based on mode
76
- *
77
- * @example
78
- * ```html
79
- * <!-- Tap mode - action buttons -->
80
- * <button-vertical-list-set mode="tap">
81
- * <button-vertical-list-item label="Settings"></button-vertical-list-item>
82
- * <button-vertical-list-item label="Help"></button-vertical-list-item>
83
- * </button-vertical-list-set>
84
- *
85
- * <!-- Select mode - single selection -->
86
- * <button-vertical-list-set mode="select" selected-index="0">
87
- * <button-vertical-list-item label="Option A"></button-vertical-list-item>
88
- * <button-vertical-list-item label="Option B"></button-vertical-list-item>
89
- * </button-vertical-list-set>
90
- *
91
- * <!-- MultiSelect mode - multiple selections -->
92
- * <button-vertical-list-set mode="multiSelect" selected-indices="[0,2]">
93
- * <button-vertical-list-item label="Choice 1"></button-vertical-list-item>
94
- * <button-vertical-list-item label="Choice 2"></button-vertical-list-item>
95
- * <button-vertical-list-item label="Choice 3"></button-vertical-list-item>
96
- * </button-vertical-list-set>
97
- * ```
98
- *
99
- * @see Requirements 2.1, 2.6, 11.2
100
- */
101
- export class ButtonVerticalListSet extends HTMLElement {
102
- // ─────────────────────────────────────────────────────────────────
103
- // Static Properties
104
- // ─────────────────────────────────────────────────────────────────
105
-
106
- /**
107
- * Observed attributes for attribute change callbacks.
108
- *
109
- * When these attributes change, attributeChangedCallback is invoked.
110
- */
111
- static get observedAttributes(): string[] {
112
- return [
113
- 'mode',
114
- 'selected-index',
115
- 'selected-indices',
116
- 'required',
117
- 'min-selections',
118
- 'max-selections',
119
- 'error',
120
- 'error-message',
121
- 'test-id'
122
- ];
123
- }
124
-
125
- // ─────────────────────────────────────────────────────────────────
126
- // Private Properties
127
- // ─────────────────────────────────────────────────────────────────
128
-
129
- /** Shadow root reference */
130
- private _shadowRoot: ShadowRoot;
131
-
132
- /** Whether DOM has been created */
133
- private _domCreated: boolean = false;
134
-
135
- // Cached DOM element references for incremental updates
136
- private _container: HTMLDivElement | null = null;
137
- private _errorMessageEl: HTMLDivElement | null = null;
138
-
139
- // Props (backed by attributes)
140
- private _mode: SelectionMode = 'tap';
141
- private _selectedIndex: number | null = null;
142
- private _selectedIndices: number[] = [];
143
- private _required: boolean = false;
144
- private _minSelections?: number;
145
- private _maxSelections?: number;
146
- private _error: boolean = false;
147
- private _errorMessage?: string;
148
- private _testID?: string;
149
-
150
- // Internal state for focus management and animation tracking
151
- private _internalState: SetInternalState = {
152
- focusedIndex: 0,
153
- previousSelectedIndex: null,
154
- isFirstSelection: true
155
- };
156
-
157
- // Callbacks (set via properties, not attributes)
158
- private _onItemClick?: (index: number) => void;
159
- private _onSelectionChange?: (index: number | null) => void;
160
- private _onMultiSelectionChange?: (indices: number[]) => void;
161
-
162
- // Unique ID for error message element (for aria-describedby)
163
- private _errorMessageId: string;
164
-
165
- // ─────────────────────────────────────────────────────────────────
166
- // Constructor
167
- // ─────────────────────────────────────────────────────────────────
168
-
169
- constructor() {
170
- super();
171
-
172
- // Attach shadow DOM for style encapsulation
173
- // delegatesFocus: true enables proper tab navigation
174
- this._shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true });
175
-
176
- // Generate unique ID for error message element
177
- this._errorMessageId = `vls-error-${Math.random().toString(36).slice(2, 11)}`;
178
- }
179
-
180
- // ─────────────────────────────────────────────────────────────────
181
- // Lifecycle Callbacks
182
- // ─────────────────────────────────────────────────────────────────
183
-
184
- /**
185
- * Called when the element is added to the DOM.
186
- *
187
- * Performs initial render and sets up event listeners.
188
- */
189
- connectedCallback(): void {
190
- // Defer rendering until DOM is ready to ensure CSS is applied
191
- if (document.readyState === 'loading') {
192
- document.addEventListener('DOMContentLoaded', () => {
193
- this._render();
194
- }, { once: true });
195
- } else {
196
- this._render();
197
- }
198
- }
199
-
200
- /**
201
- * Called when the element is removed from the DOM.
202
- *
203
- * Cleans up event listeners to prevent memory leaks.
204
- */
205
- disconnectedCallback(): void {
206
- this._detachEventListeners();
207
- }
208
-
209
- /**
210
- * Called when an observed attribute changes.
211
- *
212
- * Triggers incremental DOM update to reflect the new attribute value.
213
- *
214
- * @param name - Attribute name
215
- * @param oldValue - Previous attribute value
216
- * @param newValue - New attribute value
217
- */
218
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {
219
- // Only update if value changed and DOM exists
220
- if (oldValue === newValue) return;
221
-
222
- // Parse attribute values into internal properties
223
- switch (name) {
224
- case 'mode':
225
- this._mode = (newValue as SelectionMode) || 'tap';
226
- break;
227
- case 'selected-index':
228
- this._selectedIndex = newValue !== null ? parseInt(newValue, 10) : null;
229
- if (isNaN(this._selectedIndex as number)) {
230
- this._selectedIndex = null;
231
- }
232
- break;
233
- case 'selected-indices':
234
- try {
235
- this._selectedIndices = newValue ? JSON.parse(newValue) : [];
236
- } catch {
237
- this._selectedIndices = [];
238
- }
239
- break;
240
- case 'required':
241
- this._required = newValue !== null;
242
- break;
243
- case 'min-selections':
244
- this._minSelections = newValue !== null ? parseInt(newValue, 10) : undefined;
245
- break;
246
- case 'max-selections':
247
- this._maxSelections = newValue !== null ? parseInt(newValue, 10) : undefined;
248
- break;
249
- case 'error':
250
- this._error = newValue !== null;
251
- break;
252
- case 'error-message':
253
- this._errorMessage = newValue || undefined;
254
- break;
255
- case 'test-id':
256
- this._testID = newValue || undefined;
257
- break;
258
- }
259
-
260
- // Update DOM if it exists
261
- if (this.isConnected && this._domCreated) {
262
- this._updateDOM();
263
- }
264
- }
265
-
266
- // ─────────────────────────────────────────────────────────────────
267
- // Public Getters/Setters
268
- // ─────────────────────────────────────────────────────────────────
269
-
270
- /**
271
- * Get the selection mode.
272
- */
273
- get mode(): SelectionMode {
274
- return this._mode;
275
- }
276
-
277
- /**
278
- * Set the selection mode.
279
- */
280
- set mode(value: SelectionMode) {
281
- this._mode = value;
282
- this.setAttribute('mode', value);
283
- }
284
-
285
- /**
286
- * Get the selected index (Select mode).
287
- */
288
- get selectedIndex(): number | null {
289
- return this._selectedIndex;
290
- }
291
-
292
- /**
293
- * Set the selected index (Select mode).
294
- */
295
- set selectedIndex(value: number | null) {
296
- this._selectedIndex = value;
297
- if (value !== null) {
298
- this.setAttribute('selected-index', String(value));
299
- } else {
300
- this.removeAttribute('selected-index');
301
- }
302
- }
303
-
304
- /**
305
- * Get the selected indices (MultiSelect mode).
306
- */
307
- get selectedIndices(): number[] {
308
- return this._selectedIndices;
309
- }
310
-
311
- /**
312
- * Set the selected indices (MultiSelect mode).
313
- */
314
- set selectedIndices(value: number[]) {
315
- this._selectedIndices = value;
316
- this.setAttribute('selected-indices', JSON.stringify(value));
317
- }
318
-
319
- /**
320
- * Get the required flag.
321
- */
322
- get required(): boolean {
323
- return this._required;
324
- }
325
-
326
- /**
327
- * Set the required flag.
328
- */
329
- set required(value: boolean) {
330
- this._required = value;
331
- if (value) {
332
- this.setAttribute('required', '');
333
- } else {
334
- this.removeAttribute('required');
335
- }
336
- }
337
-
338
- /**
339
- * Get the minimum selections (MultiSelect mode).
340
- */
341
- get minSelections(): number | undefined {
342
- return this._minSelections;
343
- }
344
-
345
- /**
346
- * Set the minimum selections (MultiSelect mode).
347
- */
348
- set minSelections(value: number | undefined) {
349
- this._minSelections = value;
350
- if (value !== undefined) {
351
- this.setAttribute('min-selections', String(value));
352
- } else {
353
- this.removeAttribute('min-selections');
354
- }
355
- }
356
-
357
- /**
358
- * Get the maximum selections (MultiSelect mode).
359
- */
360
- get maxSelections(): number | undefined {
361
- return this._maxSelections;
362
- }
363
-
364
- /**
365
- * Set the maximum selections (MultiSelect mode).
366
- */
367
- set maxSelections(value: number | undefined) {
368
- this._maxSelections = value;
369
- if (value !== undefined) {
370
- this.setAttribute('max-selections', String(value));
371
- } else {
372
- this.removeAttribute('max-selections');
373
- }
374
- }
375
-
376
- /**
377
- * Get the error state.
378
- */
379
- get error(): boolean {
380
- return this._error;
381
- }
382
-
383
- /**
384
- * Set the error state.
385
- */
386
- set error(value: boolean) {
387
- this._error = value;
388
- if (value) {
389
- this.setAttribute('error', '');
390
- } else {
391
- this.removeAttribute('error');
392
- }
393
- }
394
-
395
- /**
396
- * Get the error message.
397
- */
398
- get errorMessage(): string | undefined {
399
- return this._errorMessage;
400
- }
401
-
402
- /**
403
- * Set the error message.
404
- */
405
- set errorMessage(value: string | undefined) {
406
- this._errorMessage = value;
407
- if (value) {
408
- this.setAttribute('error-message', value);
409
- } else {
410
- this.removeAttribute('error-message');
411
- }
412
- }
413
-
414
- /**
415
- * Get the test ID.
416
- */
417
- get testID(): string | undefined {
418
- return this._testID;
419
- }
420
-
421
- /**
422
- * Set the test ID.
423
- */
424
- set testID(value: string | undefined) {
425
- this._testID = value;
426
- if (value) {
427
- this.setAttribute('test-id', value);
428
- } else {
429
- this.removeAttribute('test-id');
430
- }
431
- }
432
-
433
- // ─────────────────────────────────────────────────────────────────
434
- // Callback Setters
435
- // ─────────────────────────────────────────────────────────────────
436
-
437
- /**
438
- * Set the onItemClick callback (Tap mode).
439
- */
440
- set onItemClick(callback: ((index: number) => void) | undefined) {
441
- this._onItemClick = callback;
442
- }
443
-
444
- /**
445
- * Get the onItemClick callback.
446
- */
447
- get onItemClick(): ((index: number) => void) | undefined {
448
- return this._onItemClick;
449
- }
450
-
451
- /**
452
- * Set the onSelectionChange callback (Select mode).
453
- */
454
- set onSelectionChange(callback: ((index: number | null) => void) | undefined) {
455
- this._onSelectionChange = callback;
456
- }
457
-
458
- /**
459
- * Get the onSelectionChange callback.
460
- */
461
- get onSelectionChange(): ((index: number | null) => void) | undefined {
462
- return this._onSelectionChange;
463
- }
464
-
465
- /**
466
- * Set the onMultiSelectionChange callback (MultiSelect mode).
467
- */
468
- set onMultiSelectionChange(callback: ((indices: number[]) => void) | undefined) {
469
- this._onMultiSelectionChange = callback;
470
- }
471
-
472
- /**
473
- * Get the onMultiSelectionChange callback.
474
- */
475
- get onMultiSelectionChange(): ((indices: number[]) => void) | undefined {
476
- return this._onMultiSelectionChange;
477
- }
478
-
479
- // ─────────────────────────────────────────────────────────────────
480
- // Public Methods
481
- // ─────────────────────────────────────────────────────────────────
482
-
483
- /**
484
- * Validate the current selection state.
485
- *
486
- * Checks if the current selection meets the validation requirements
487
- * based on the mode and configured constraints (required, minSelections, maxSelections).
488
- *
489
- * This method can be called externally to validate the selection before
490
- * form submission or other actions.
491
- *
492
- * @returns ValidationResult with isValid flag and optional error message
493
- *
494
- * @example
495
- * ```typescript
496
- * const set = document.querySelector('button-vertical-list-set');
497
- * const result = set.validate();
498
- * if (!result.isValid) {
499
- * console.log(result.message); // "Please select an option"
500
- * }
501
- * ```
502
- *
503
- * @see Requirements 7.3, 7.4, 7.5
504
- */
505
- validate(): { isValid: boolean; message: string | null } {
506
- return validateSelection(
507
- this._mode,
508
- this._selectedIndex,
509
- this._selectedIndices,
510
- this._required,
511
- this._minSelections,
512
- this._maxSelections
513
- );
514
- }
515
-
516
- // ─────────────────────────────────────────────────────────────────
517
- // Rendering (Incremental Update Architecture)
518
- // ─────────────────────────────────────────────────────────────────
519
-
520
- /**
521
- * Main render entry point.
522
- *
523
- * Routes to _createDOM() for first render or _updateDOM() for subsequent updates.
524
- * This architecture enables CSS transitions by preserving DOM element identity.
525
- */
526
- private _render(): void {
527
- if (!this._domCreated) {
528
- this._createDOM();
529
- this._domCreated = true;
530
- this._attachEventListeners();
531
- } else {
532
- this._updateDOM();
533
- }
534
- }
535
-
536
- /**
537
- * Create the initial DOM structure (called once).
538
- *
539
- * Creates the shadow DOM structure with container and slot for children.
540
- * Error message element is always present but hidden when not needed.
541
- *
542
- * @see Requirements 2.1, 11.2
543
- */
544
- private _createDOM(): void {
545
- // Get initial ARIA role based on mode
546
- const role = getContainerRole(this._mode);
547
- const ariaMultiSelectable = this._mode === 'multiSelect' ? 'true' : null;
548
-
549
- // Create the shadow DOM structure
550
- // Error message is conditionally rendered (only when errorMessage is provided)
551
- // Slot receives child Button-VerticalList-Item elements
552
- this._shadowRoot.innerHTML = `
553
- <style>${componentStyles}</style>
554
- <div
555
- class="vls-container"
556
- role="${role}"
557
- ${ariaMultiSelectable ? `aria-multiselectable="${ariaMultiSelectable}"` : ''}
558
- >
559
- <div
560
- class="vls-error-message"
561
- id="${this._errorMessageId}"
562
- role="alert"
563
- style="display: none;"
564
- ></div>
565
- <slot></slot>
566
- </div>
567
- `;
568
-
569
- // Cache element references for incremental updates
570
- this._container = this._shadowRoot.querySelector('.vls-container');
571
- this._errorMessageEl = this._shadowRoot.querySelector('.vls-error-message');
572
-
573
- // Apply initial state
574
- this._updateDOM();
575
- }
576
-
577
- /**
578
- * Update existing DOM elements (called on attribute changes).
579
- *
580
- * Only updates properties that need to change, preserving DOM element identity.
581
- * This enables CSS transitions to animate smoothly between states.
582
- *
583
- * @see Requirements 2.1, 11.2
584
- */
585
- private _updateDOM(): void {
586
- if (!this._container) return;
587
-
588
- // Update ARIA role based on mode
589
- const role = getContainerRole(this._mode);
590
- this._container.setAttribute('role', role);
591
-
592
- // Update aria-multiselectable for multiSelect mode
593
- if (this._mode === 'multiSelect') {
594
- this._container.setAttribute('aria-multiselectable', 'true');
595
- } else {
596
- this._container.removeAttribute('aria-multiselectable');
597
- }
598
-
599
- // Update error state accessibility attributes
600
- if (this._error && this._errorMessage) {
601
- this._container.setAttribute('aria-invalid', 'true');
602
- this._container.setAttribute('aria-describedby', this._errorMessageId);
603
- } else {
604
- this._container.removeAttribute('aria-invalid');
605
- this._container.removeAttribute('aria-describedby');
606
- }
607
-
608
- // Update test ID
609
- if (this._testID) {
610
- this._container.setAttribute('data-testid', this._testID);
611
- } else {
612
- this._container.removeAttribute('data-testid');
613
- }
614
-
615
- // Update error message
616
- if (this._errorMessageEl) {
617
- if (this._error && this._errorMessage) {
618
- this._errorMessageEl.textContent = this._errorMessage;
619
- this._errorMessageEl.style.display = '';
620
- } else {
621
- this._errorMessageEl.textContent = '';
622
- this._errorMessageEl.style.display = 'none';
623
- }
624
- }
625
-
626
- // Update child items (will be implemented in Task 3)
627
- // For now, just propagate error state to children
628
- this._updateChildItems();
629
- }
630
-
631
- /**
632
- * Update child Button-VerticalList-Item elements.
633
- *
634
- * Propagates visual state, transition delay, checkmark transition, error state,
635
- * and ARIA attributes to children. Uses deriveItemStates() to calculate visual
636
- * states from controlled props. Also sets up roving tabindex pattern for
637
- * keyboard navigation.
638
- *
639
- * Communication props passed to children:
640
- * - `visual-state`: Derived from controlled props (mode, selectedIndex, selectedIndices)
641
- * - `transition-delay`: Animation timing coordination (calculated in Task 6)
642
- * - `checkmark-transition`: Checkmark animation behavior ('fade' or 'instant')
643
- * - `error`: Error state propagation to all children
644
- * - `tabindex`: Roving tabindex for keyboard navigation (0 for focused, -1 for others)
645
- *
646
- * @see Requirements 3.1, 4.1, 4.2, 5.1, 6.5, 7.1, 8.6, 9.6
647
- */
648
- private _updateChildItems(): void {
649
- // Get all slotted children
650
- const slot = this._shadowRoot.querySelector('slot');
651
- if (!slot) return;
652
-
653
- const children = slot.assignedElements() as HTMLElement[];
654
- const itemCount = children.length;
655
-
656
- // Derive visual states from controlled props
657
- // This is the core state derivation logic per design document
658
- const visualStates = deriveItemStates(
659
- this._mode,
660
- this._selectedIndex,
661
- this._selectedIndices,
662
- itemCount
663
- );
664
-
665
- // Calculate transition delays for animation coordination
666
- // @see Requirements 6.1, 6.2, 6.3, 6.4: Animation timing coordination
667
- const transitionDelays = this._calculateTransitionDelays(itemCount, visualStates);
668
-
669
- // Calculate checkmark transitions for animation coordination
670
- // @see Requirement 6.5: "checkmarkTransition='instant' on deselecting items in Select mode"
671
- const checkmarkTransitions = this._calculateCheckmarkTransitions(itemCount, visualStates);
672
-
673
- // Determine ARIA role for items based on mode
674
- // @see Requirements 3.4, 4.7, 5.5
675
- const itemRole = this._getItemRole();
676
-
677
- // Ensure focused index is within bounds
678
- // @see Requirement 8.6: Roving tabindex pattern
679
- if (this._internalState.focusedIndex >= itemCount) {
680
- this._internalState.focusedIndex = Math.max(0, itemCount - 1);
681
- }
682
-
683
- // Update each child with derived state
684
- children.forEach((child, index) => {
685
- if (child.tagName.toLowerCase() === 'button-vertical-list-item') {
686
- // Set visual state derived from controlled props
687
- // @see Requirements 9.6: "derive child visual states from controlled props"
688
- const visualState = visualStates[index];
689
- child.setAttribute('visual-state', visualState);
690
-
691
- // Set transition delay for animation coordination
692
- // @see Requirements 6.1, 6.2, 6.3, 6.4: Animation timing coordination
693
- const transitionDelay = transitionDelays[index];
694
- child.setAttribute('transition-delay', String(transitionDelay));
695
-
696
- // Set checkmark transition for animation coordination
697
- // @see Requirement 6.5: "checkmarkTransition='instant' on deselecting items in Select mode"
698
- // Note: Map 'animated' to 'fade' for Item component compatibility
699
- const checkmarkTransition = checkmarkTransitions[index];
700
- child.setAttribute('checkmark-transition', checkmarkTransition === 'instant' ? 'instant' : 'fade');
701
-
702
- // Propagate error state to all children
703
- // @see Requirements 7.1: "pass error={true} to all child items"
704
- if (this._error) {
705
- child.setAttribute('error', 'true');
706
- } else {
707
- child.setAttribute('error', 'false');
708
- }
709
-
710
- // Set ARIA role for the item based on mode
711
- // @see Requirements 3.4, 4.7, 5.5
712
- child.setAttribute('role', itemRole);
713
-
714
- // Set aria-checked for radio and checkbox roles
715
- // @see Requirements 4.7, 5.5
716
- if (itemRole === 'radio' || itemRole === 'checkbox') {
717
- const isChecked = this._getItemAriaChecked(index, visualState);
718
- child.setAttribute('aria-checked', isChecked ? 'true' : 'false');
719
- } else {
720
- // Button role doesn't use aria-checked
721
- child.removeAttribute('aria-checked');
722
- }
723
-
724
- // Set tabindex for roving tabindex pattern
725
- // @see Requirement 8.6: "focused item has tabindex=0, others have tabindex=-1"
726
- if (index === this._internalState.focusedIndex) {
727
- child.setAttribute('tabindex', '0');
728
- } else {
729
- child.setAttribute('tabindex', '-1');
730
- }
731
- }
732
- });
733
- }
734
-
735
- /**
736
- * Get the ARIA role for child items based on mode.
737
- *
738
- * Role mapping:
739
- * - Tap mode: 'button' (simple action buttons)
740
- * - Select mode: 'radio' (single-selection radio-button style)
741
- * - MultiSelect mode: 'checkbox' (multiple-selection checkbox style)
742
- *
743
- * @returns The ARIA role for child items
744
- * @see Requirements 3.4, 4.7, 5.5
745
- */
746
- private _getItemRole(): 'button' | 'radio' | 'checkbox' {
747
- switch (this._mode) {
748
- case 'tap':
749
- return 'button';
750
- case 'select':
751
- return 'radio';
752
- case 'multiSelect':
753
- return 'checkbox';
754
- default:
755
- return 'button';
756
- }
757
- }
758
-
759
- /**
760
- * Determine if an item should have aria-checked="true".
761
- *
762
- * For Select mode (radio): Item is checked if it's the selected item
763
- * For MultiSelect mode (checkbox): Item is checked if it's in the selectedIndices array
764
- *
765
- * @param index - The index of the item
766
- * @param visualState - The visual state of the item
767
- * @returns true if the item should be aria-checked="true"
768
- * @see Requirements 4.7, 5.5
769
- */
770
- private _getItemAriaChecked(index: number, visualState: string): boolean {
771
- switch (this._mode) {
772
- case 'select':
773
- // In Select mode, item is checked if it's the selected item
774
- // Visual states 'selected' indicates the item is checked
775
- return visualState === 'selected';
776
- case 'multiSelect':
777
- // In MultiSelect mode, item is checked if it's in the selectedIndices array
778
- // Visual state 'checked' indicates the item is checked
779
- return visualState === 'checked';
780
- default:
781
- // Tap mode doesn't use aria-checked
782
- return false;
783
- }
784
- }
785
-
786
- /**
787
- * Calculate transition delays for animation coordination.
788
- *
789
- * This method coordinates animation timing across child items based on
790
- * the current mode and selection state. It uses the animation timing
791
- * functions from types.ts to determine appropriate delays.
792
- *
793
- * Animation timing rules:
794
- * - **Select mode - Selection change**: Deselecting item gets 0ms, selecting item gets 125ms (staggered handoff)
795
- * - **Select mode - First selection**: All items get 0ms (simultaneous)
796
- * - **Select mode - Deselection**: All items get 0ms (simultaneous)
797
- * - **MultiSelect mode - Toggle**: Toggled item gets 0ms (independent)
798
- * - **Tap mode**: All items get 0ms (no selection state)
799
- *
800
- * @param itemCount - Number of child items
801
- * @param visualStates - Array of visual states for each item
802
- * @returns Array of transition delays in milliseconds
803
- * @see Requirements 6.1, 6.2, 6.3, 6.4
804
- */
805
- private _calculateTransitionDelays(itemCount: number, visualStates: string[]): number[] {
806
- // Tap mode: No animation coordination needed
807
- if (this._mode === 'tap') {
808
- return Array(itemCount).fill(0);
809
- }
810
-
811
- // MultiSelect mode: Independent animation per item
812
- // Each item animates immediately when toggled
813
- // @see Requirement 6.4: "WHEN items toggle in MultiSelect mode THEN toggled item gets 0ms"
814
- if (this._mode === 'multiSelect') {
815
- // In multiSelect mode, we don't track previous state for staggering
816
- // Each toggle is independent, so all items get 0ms delay
817
- return calculateMultiSelectDelay(0, itemCount);
818
- }
819
-
820
- // Select mode: Coordinate animation timing based on selection state
821
- // @see Requirements 6.1, 6.2, 6.3
822
- if (this._mode === 'select') {
823
- const previousIndex = this._internalState.previousSelectedIndex;
824
- const currentIndex = this._selectedIndex;
825
- const isFirstSelection = this._internalState.isFirstSelection;
826
-
827
- // Case 1: First selection (no previous selection)
828
- // All items animate simultaneously
829
- // @see Requirement 6.2: "WHEN first selection is made THEN all items get 0ms"
830
- if (isFirstSelection && currentIndex !== null) {
831
- return calculateFirstSelectionDelays(itemCount);
832
- }
833
-
834
- // Case 2: Deselection (clearing selection)
835
- // All items animate simultaneously back to rest
836
- // @see Requirement 6.3: "WHEN deselection occurs THEN all items get 0ms"
837
- if (currentIndex === null && previousIndex !== null) {
838
- return calculateDeselectionDelays(itemCount);
839
- }
840
-
841
- // Case 3: Selection change (from one item to another)
842
- // Staggered animation: deselecting item starts first, selecting item follows
843
- // @see Requirement 6.1: "WHEN selection changes THEN deselecting gets 0ms, selecting gets 125ms"
844
- if (previousIndex !== null && currentIndex !== null && previousIndex !== currentIndex) {
845
- return calculateStaggeredDelays(previousIndex, currentIndex, itemCount);
846
- }
847
-
848
- // Default: No animation coordination needed
849
- return Array(itemCount).fill(0);
850
- }
851
-
852
- // Fallback: No animation coordination
853
- return Array(itemCount).fill(0);
854
- }
855
-
856
- /**
857
- * Calculate checkmark transitions for animation coordination.
858
- *
859
- * This method determines the checkmark transition behavior for each child item
860
- * based on the current mode and selection state. In Select mode, deselecting
861
- * items get 'instant' checkmark removal while selecting items get 'animated'.
862
- *
863
- * Checkmark transition rules:
864
- * - **Select mode - Deselecting item**: 'instant' (checkmark hides immediately)
865
- * - **Select mode - Selecting item**: 'animated' (checkmark fades in)
866
- * - **Select mode - Other items**: 'animated' (default)
867
- * - **MultiSelect mode**: 'animated' (all items animate normally)
868
- * - **Tap mode**: 'animated' (no checkmarks, but default to animated)
869
- *
870
- * @param itemCount - Number of child items
871
- * @param visualStates - Array of visual states for each item
872
- * @returns Array of checkmark transition values ('animated' | 'instant')
873
- * @see Requirement 6.5: "checkmarkTransition='instant' on deselecting items in Select mode"
874
- */
875
- private _calculateCheckmarkTransitions(itemCount: number, visualStates: string[]): ('animated' | 'instant')[] {
876
- // Tap mode: No checkmarks, default to animated
877
- if (this._mode === 'tap') {
878
- return Array(itemCount).fill('animated');
879
- }
880
-
881
- // MultiSelect mode: All items animate normally
882
- // @see Requirement 6.5: Only Select mode uses instant checkmark removal
883
- if (this._mode === 'multiSelect') {
884
- return Array(itemCount).fill('animated');
885
- }
886
-
887
- // Select mode: Determine which item is deselecting
888
- // @see Requirement 6.5: "checkmarkTransition='instant' on deselecting items in Select mode"
889
- if (this._mode === 'select') {
890
- const previousIndex = this._internalState.previousSelectedIndex;
891
- const currentIndex = this._selectedIndex;
892
-
893
- // Create array with default 'animated' transitions
894
- const transitions: ('animated' | 'instant')[] = Array(itemCount).fill('animated');
895
-
896
- // Case: Selection change (from one item to another)
897
- // The deselecting item (previousIndex) gets 'instant' checkmark removal
898
- if (previousIndex !== null && currentIndex !== null && previousIndex !== currentIndex) {
899
- // Use getCheckmarkTransition to determine the transition for the deselecting item
900
- transitions[previousIndex] = getCheckmarkTransition(true, this._mode);
901
- // Selecting item gets animated transition
902
- transitions[currentIndex] = getCheckmarkTransition(false, this._mode);
903
- }
904
-
905
- // Case: Deselection (clearing selection by clicking selected item)
906
- // The deselecting item gets 'instant' checkmark removal
907
- if (currentIndex === null && previousIndex !== null) {
908
- transitions[previousIndex] = getCheckmarkTransition(true, this._mode);
909
- }
910
-
911
- return transitions;
912
- }
913
-
914
- // Fallback: All items animate normally
915
- return Array(itemCount).fill('animated');
916
- }
917
-
918
- // ─────────────────────────────────────────────────────────────────
919
- // Event Handling
920
- // ─────────────────────────────────────────────────────────────────
921
-
922
- /**
923
- * Attach event listeners.
924
- *
925
- * Sets up listeners for child item clicks and keyboard navigation.
926
- *
927
- * @see Requirements 8.1, 8.2, 8.3, 8.4, 8.5, 8.6
928
- */
929
- private _attachEventListeners(): void {
930
- // Listen for slot changes to update child items
931
- const slot = this._shadowRoot.querySelector('slot');
932
- if (slot) {
933
- slot.addEventListener('slotchange', this._handleSlotChange);
934
- }
935
-
936
- // Listen for click events from children (bubbles through slot)
937
- this.addEventListener('click', this._handleChildClick);
938
-
939
- // Listen for keyboard events for navigation
940
- // @see Requirements 8.1, 8.2, 8.3, 8.4, 8.5
941
- this.addEventListener('keydown', this._handleKeyDown);
942
-
943
- // Listen for focus events to track which item has focus
944
- // @see Requirement 8.6: Roving tabindex pattern
945
- this.addEventListener('focusin', this._handleFocusIn);
946
- }
947
-
948
- /**
949
- * Detach event listeners.
950
- */
951
- private _detachEventListeners(): void {
952
- const slot = this._shadowRoot.querySelector('slot');
953
- if (slot) {
954
- slot.removeEventListener('slotchange', this._handleSlotChange);
955
- }
956
-
957
- this.removeEventListener('click', this._handleChildClick);
958
- this.removeEventListener('keydown', this._handleKeyDown);
959
- this.removeEventListener('focusin', this._handleFocusIn);
960
- }
961
-
962
- /**
963
- * Handle slot change events.
964
- *
965
- * Called when children are added or removed from the slot.
966
- */
967
- private _handleSlotChange = (): void => {
968
- // Update child items when slot content changes
969
- this._updateChildItems();
970
- };
971
-
972
- /**
973
- * Handle click events from child items.
974
- *
975
- * Determines which child was clicked and invokes appropriate callback
976
- * based on the current mode.
977
- *
978
- * Mode behaviors:
979
- * - **Tap**: Invokes onItemClick callback with clicked index
980
- * - **Select**: Toggles selection (select new item or deselect if same)
981
- * - **MultiSelect**: Toggles item in selection array (Task 3.4)
982
- *
983
- * @param event - The click event
984
- * @see Requirements 3.2, 4.2, 4.3, 4.4, 4.5, 9.3, 9.5
985
- */
986
- private _handleChildClick = (event: Event): void => {
987
- // Find the clicked child item
988
- const target = event.target as HTMLElement;
989
-
990
- // Check if the click came from a button-vertical-list-item
991
- const item = target.closest('button-vertical-list-item');
992
- if (!item) return;
993
-
994
- // Get the index of the clicked item
995
- const slot = this._shadowRoot.querySelector('slot');
996
- if (!slot) return;
997
-
998
- const children = slot.assignedElements();
999
- const index = children.indexOf(item);
1000
-
1001
- if (index === -1) return;
1002
-
1003
- // Handle click based on mode
1004
- switch (this._mode) {
1005
- case 'tap':
1006
- // Tap mode: Invoke callback with clicked index
1007
- // No selection state tracking
1008
- // @see Requirements 3.2, 9.5
1009
- if (this._onItemClick) {
1010
- this._onItemClick(index);
1011
- }
1012
- break;
1013
-
1014
- case 'select':
1015
- // Select mode: Single-selection (radio-button style)
1016
- // @see Requirements 4.2, 4.3, 4.4, 4.5, 9.3
1017
- this._handleSelectModeClick(index);
1018
- break;
1019
-
1020
- case 'multiSelect':
1021
- // MultiSelect mode: Multiple-selection (checkbox style)
1022
- // @see Requirements 5.2, 5.3, 9.4
1023
- this._handleMultiSelectModeClick(index);
1024
- break;
1025
- }
1026
- };
1027
-
1028
- /**
1029
- * Handle click in Select mode.
1030
- *
1031
- * Implements single-selection behavior:
1032
- * - Clicking an unselected item selects it (and deselects any previous selection)
1033
- * - Clicking the currently selected item deselects it (returns to null)
1034
- *
1035
- * This is a controlled component, so we invoke the callback and let the parent
1036
- * update the selectedIndex prop. The visual state update happens when the
1037
- * attribute changes.
1038
- *
1039
- * Also handles:
1040
- * - Error clearing: when a valid selection is made and required is true
1041
- * - Selection history tracking: updates previousSelectedIndex and isFirstSelection
1042
- * for animation coordination
1043
- *
1044
- * @param clickedIndex - The index of the clicked item
1045
- * @see Requirements 4.2, 4.3, 4.4, 4.5, 6.1, 6.2, 6.3, 7.3, 9.3
1046
- */
1047
- private _handleSelectModeClick(clickedIndex: number): void {
1048
- // Determine the new selection state
1049
- let newSelectedIndex: number | null;
1050
-
1051
- if (this._selectedIndex === clickedIndex) {
1052
- // Clicking the currently selected item deselects it
1053
- // @see Requirement 4.3: "clicking selected item SHALL reset all items to rest state"
1054
- newSelectedIndex = null;
1055
- } else {
1056
- // Clicking a different item selects it
1057
- // @see Requirement 4.2, 4.4: "selecting an item SHALL set that item to selected state"
1058
- newSelectedIndex = clickedIndex;
1059
- }
1060
-
1061
- // ─────────────────────────────────────────────────────────────────
1062
- // Selection History Tracking for Animation Coordination
1063
- // @see Requirements 6.1, 6.2, 6.3
1064
- // ─────────────────────────────────────────────────────────────────
1065
-
1066
- // Track previous selection for stagger calculation
1067
- // @see Requirement 6.1: "WHEN selection changes between items THEN
1068
- // deselecting item gets 0ms, selecting item gets 125ms"
1069
- this._internalState.previousSelectedIndex = this._selectedIndex;
1070
-
1071
- // Handle deselection: reset isFirstSelection flag
1072
- // @see Requirement 6.3: "WHEN deselection occurs THEN all items get 0ms"
1073
- if (newSelectedIndex === null) {
1074
- // Deselection resets the first selection flag
1075
- // Next selection will be treated as "first selection" again
1076
- this._internalState.isFirstSelection = true;
1077
- } else if (this._internalState.isFirstSelection) {
1078
- // First selection made - clear the flag for future selections
1079
- // @see Requirement 6.2: "WHEN first selection is made THEN all items get 0ms"
1080
- // After this selection, subsequent selections will use staggered animation
1081
- this._internalState.isFirstSelection = false;
1082
- }
1083
-
1084
- // Clear error on valid selection
1085
- // @see Requirement 7.3: "WHEN a valid selection is made AND required is true THEN clear error"
1086
- if (this._error && this._required && newSelectedIndex !== null) {
1087
- // Validate the new selection
1088
- const validation = validateSelection(
1089
- this._mode,
1090
- newSelectedIndex,
1091
- this._selectedIndices,
1092
- this._required,
1093
- this._minSelections,
1094
- this._maxSelections
1095
- );
1096
-
1097
- if (validation.isValid) {
1098
- // Clear error state
1099
- this._error = false;
1100
- this._errorMessage = undefined;
1101
- this.removeAttribute('error');
1102
- this.removeAttribute('error-message');
1103
-
1104
- // Update DOM to reflect cleared error
1105
- if (this._domCreated) {
1106
- this._updateDOM();
1107
- }
1108
- }
1109
- }
1110
-
1111
- // Invoke the callback with the new selection
1112
- // @see Requirement 4.5, 9.3: "SHALL invoke onSelectionChange callback"
1113
- if (this._onSelectionChange) {
1114
- this._onSelectionChange(newSelectedIndex);
1115
- }
1116
- }
1117
-
1118
- /**
1119
- * Handle click in MultiSelect mode.
1120
- *
1121
- * Implements multiple-selection behavior (checkbox style):
1122
- * - Clicking an unchecked item adds it to the selection (toggles to checked)
1123
- * - Clicking a checked item removes it from the selection (toggles to unchecked)
1124
- *
1125
- * This is a controlled component, so we invoke the callback and let the parent
1126
- * update the selectedIndices prop. The visual state update happens when the
1127
- * attribute changes.
1128
- *
1129
- * Also handles:
1130
- * - Max selection enforcement: prevents selecting beyond maxSelections
1131
- * - Error clearing: clears error when selection becomes valid
1132
- *
1133
- * @param clickedIndex - The index of the clicked item
1134
- * @see Requirements 5.2, 5.3, 7.4, 7.5, 9.4
1135
- */
1136
- private _handleMultiSelectModeClick(clickedIndex: number): void {
1137
- // Check if the item can be selected (respects maxSelections)
1138
- // @see Requirement 7.5: "WHEN maxSelections is set THEN prevent selecting more"
1139
- if (!canSelectItem(clickedIndex, this._selectedIndices, this._maxSelections)) {
1140
- // At max selections and trying to select a new item - do nothing
1141
- return;
1142
- }
1143
-
1144
- // Create a new array to avoid mutating the existing one
1145
- let newSelectedIndices: number[];
1146
-
1147
- if (this._selectedIndices.includes(clickedIndex)) {
1148
- // Item is currently checked - remove it from selection (toggle to unchecked)
1149
- // @see Requirement 5.2: "toggling an item SHALL toggle between checked and unchecked"
1150
- newSelectedIndices = this._selectedIndices.filter(i => i !== clickedIndex);
1151
- } else {
1152
- // Item is currently unchecked - add it to selection (toggle to checked)
1153
- // @see Requirement 5.2: "toggling an item SHALL toggle between checked and unchecked"
1154
- newSelectedIndices = [...this._selectedIndices, clickedIndex];
1155
- }
1156
-
1157
- // Clear error on valid selection
1158
- // @see Requirement 7.4: "WHEN minSelections is set THEN validate at least that many"
1159
- if (this._error) {
1160
- // Validate the new selection
1161
- const validation = validateSelection(
1162
- this._mode,
1163
- this._selectedIndex,
1164
- newSelectedIndices,
1165
- this._required,
1166
- this._minSelections,
1167
- this._maxSelections
1168
- );
1169
-
1170
- if (validation.isValid) {
1171
- // Clear error state
1172
- this._error = false;
1173
- this._errorMessage = undefined;
1174
- this.removeAttribute('error');
1175
- this.removeAttribute('error-message');
1176
-
1177
- // Update DOM to reflect cleared error
1178
- if (this._domCreated) {
1179
- this._updateDOM();
1180
- }
1181
- }
1182
- }
1183
-
1184
- // Invoke the callback with the complete array of selected indices
1185
- // @see Requirement 5.3, 9.4: "SHALL invoke onMultiSelectionChange callback with array of selected indices"
1186
- if (this._onMultiSelectionChange) {
1187
- this._onMultiSelectionChange(newSelectedIndices);
1188
- }
1189
- }
1190
-
1191
- // ─────────────────────────────────────────────────────────────────
1192
- // Keyboard Navigation
1193
- // ─────────────────────────────────────────────────────────────────
1194
-
1195
- /**
1196
- * Handle keyboard events for navigation.
1197
- *
1198
- * Implements keyboard navigation per WCAG 2.1 AA requirements:
1199
- * - Arrow Up/Down: Move focus between items with wrapping
1200
- * - Home: Move focus to first item
1201
- * - End: Move focus to last item
1202
- * - Enter/Space: Activate the focused item based on mode
1203
- *
1204
- * @param event - The keyboard event
1205
- * @see Requirements 8.2, 8.3, 8.4, 8.5
1206
- */
1207
- private _handleKeyDown = (event: KeyboardEvent): void => {
1208
- // Get all child items
1209
- const children = this._getChildItems();
1210
- const itemCount = children.length;
1211
-
1212
- // No items to navigate
1213
- if (itemCount === 0) return;
1214
-
1215
- // Process the key and determine action
1216
- const result = this._processKeyboardNavigation(event, itemCount);
1217
-
1218
- // If the key wasn't handled, let it propagate
1219
- if (!result.handled) return;
1220
-
1221
- // Prevent default behavior for handled keys
1222
- event.preventDefault();
1223
-
1224
- // Update focus if needed
1225
- if (result.newFocusIndex !== this._internalState.focusedIndex) {
1226
- this._moveFocusToIndex(result.newFocusIndex, children);
1227
- }
1228
-
1229
- // Activate item if needed (Enter/Space)
1230
- if (result.shouldActivate) {
1231
- this._activateItem(this._internalState.focusedIndex);
1232
- }
1233
- };
1234
-
1235
- /**
1236
- * Process keyboard navigation and determine the action to take.
1237
- *
1238
- * Implements the key handler logic from the design document:
1239
- * - Arrow Down: Move focus to next item (wrap to first)
1240
- * - Arrow Up: Move focus to previous item (wrap to last)
1241
- * - Home: Move focus to first item
1242
- * - End: Move focus to last item
1243
- * - Enter/Space: Activate the focused item
1244
- *
1245
- * @param event - The keyboard event
1246
- * @param itemCount - Number of child items
1247
- * @returns Object with newFocusIndex, shouldActivate, and handled flags
1248
- * @see Requirements 8.2, 8.3, 8.4, 8.5
1249
- */
1250
- private _processKeyboardNavigation(
1251
- event: KeyboardEvent,
1252
- itemCount: number
1253
- ): { newFocusIndex: number; shouldActivate: boolean; handled: boolean } {
1254
- const currentIndex = this._internalState.focusedIndex;
1255
-
1256
- switch (event.key) {
1257
- case 'ArrowDown':
1258
- // Move focus to next item, wrap to first if at end
1259
- // @see Requirement 8.2: "Arrow Down SHALL move focus between items"
1260
- return {
1261
- newFocusIndex: (currentIndex + 1) % itemCount,
1262
- shouldActivate: false,
1263
- handled: true
1264
- };
1265
-
1266
- case 'ArrowUp':
1267
- // Move focus to previous item, wrap to last if at beginning
1268
- // @see Requirement 8.2: "Arrow Up SHALL move focus between items"
1269
- return {
1270
- newFocusIndex: (currentIndex - 1 + itemCount) % itemCount,
1271
- shouldActivate: false,
1272
- handled: true
1273
- };
1274
-
1275
- case 'Home':
1276
- // Move focus to first item
1277
- // @see Requirement 8.4: "Home SHALL move focus to first item"
1278
- return {
1279
- newFocusIndex: 0,
1280
- shouldActivate: false,
1281
- handled: true
1282
- };
1283
-
1284
- case 'End':
1285
- // Move focus to last item
1286
- // @see Requirement 8.5: "End SHALL move focus to last item"
1287
- return {
1288
- newFocusIndex: itemCount - 1,
1289
- shouldActivate: false,
1290
- handled: true
1291
- };
1292
-
1293
- case 'Enter':
1294
- case ' ':
1295
- // Activate the focused item
1296
- // @see Requirement 8.3: "Enter/Space SHALL activate or toggle item based on mode"
1297
- return {
1298
- newFocusIndex: currentIndex,
1299
- shouldActivate: true,
1300
- handled: true
1301
- };
1302
-
1303
- default:
1304
- // Key not handled
1305
- return {
1306
- newFocusIndex: currentIndex,
1307
- shouldActivate: false,
1308
- handled: false
1309
- };
1310
- }
1311
- }
1312
-
1313
- /**
1314
- * Move focus to a specific item index.
1315
- *
1316
- * Updates the internal focused index, updates tabindex values using
1317
- * roving tabindex pattern, and moves DOM focus to the new item.
1318
- *
1319
- * @param newIndex - The index to focus
1320
- * @param children - Array of child elements (optional, will be fetched if not provided)
1321
- * @see Requirement 8.6: Roving tabindex pattern
1322
- */
1323
- private _moveFocusToIndex(newIndex: number, children?: HTMLElement[]): void {
1324
- const items = children || this._getChildItems();
1325
-
1326
- if (items.length === 0 || newIndex < 0 || newIndex >= items.length) return;
1327
-
1328
- // Update internal state
1329
- this._internalState.focusedIndex = newIndex;
1330
-
1331
- // Update tabindex values (roving tabindex pattern)
1332
- // @see Requirement 8.6: "focused item has tabindex=0, others have tabindex=-1"
1333
- this._updateTabIndices(items, newIndex);
1334
-
1335
- // Move DOM focus to the new item
1336
- const targetItem = items[newIndex];
1337
- if (targetItem) {
1338
- targetItem.focus();
1339
- }
1340
- }
1341
-
1342
- /**
1343
- * Update tabindex values for roving tabindex pattern.
1344
- *
1345
- * Sets tabindex="0" on the focused item and tabindex="-1" on all others.
1346
- * This ensures only one item is in the tab order at a time.
1347
- *
1348
- * @param items - Array of child elements
1349
- * @param focusedIndex - Index of the item that should have tabindex="0"
1350
- * @see Requirement 8.6: Roving tabindex pattern
1351
- */
1352
- private _updateTabIndices(items: HTMLElement[], focusedIndex: number): void {
1353
- items.forEach((item, index) => {
1354
- if (index === focusedIndex) {
1355
- item.setAttribute('tabindex', '0');
1356
- } else {
1357
- item.setAttribute('tabindex', '-1');
1358
- }
1359
- });
1360
- }
1361
-
1362
- /**
1363
- * Activate an item at the specified index.
1364
- *
1365
- * Simulates a click on the item, which triggers the appropriate
1366
- * mode-specific behavior (tap callback, selection change, or toggle).
1367
- *
1368
- * @param index - The index of the item to activate
1369
- * @see Requirement 8.3: "Enter/Space SHALL activate or toggle item based on mode"
1370
- */
1371
- private _activateItem(index: number): void {
1372
- // Handle activation based on mode (same as click handling)
1373
- switch (this._mode) {
1374
- case 'tap':
1375
- // Tap mode: Invoke callback with index
1376
- if (this._onItemClick) {
1377
- this._onItemClick(index);
1378
- }
1379
- break;
1380
-
1381
- case 'select':
1382
- // Select mode: Toggle selection
1383
- this._handleSelectModeClick(index);
1384
- break;
1385
-
1386
- case 'multiSelect':
1387
- // MultiSelect mode: Toggle item
1388
- this._handleMultiSelectModeClick(index);
1389
- break;
1390
- }
1391
- }
1392
-
1393
- /**
1394
- * Handle focus-in events to track which item has focus.
1395
- *
1396
- * Updates the internal focused index when focus moves to a child item.
1397
- * This ensures the roving tabindex pattern stays in sync with actual focus.
1398
- *
1399
- * @param event - The focus event
1400
- * @see Requirement 8.6: Roving tabindex pattern
1401
- */
1402
- private _handleFocusIn = (event: FocusEvent): void => {
1403
- const target = event.target as HTMLElement;
1404
-
1405
- // Check if the focus target is a child item
1406
- const item = target.closest('button-vertical-list-item');
1407
- if (!item) return;
1408
-
1409
- // Get the index of the focused item
1410
- const children = this._getChildItems();
1411
- const index = children.indexOf(item as HTMLElement);
1412
-
1413
- if (index !== -1 && index !== this._internalState.focusedIndex) {
1414
- // Update internal state
1415
- this._internalState.focusedIndex = index;
1416
-
1417
- // Update tabindex values to reflect new focus
1418
- this._updateTabIndices(children, index);
1419
- }
1420
- };
1421
-
1422
- /**
1423
- * Get all child Button-VerticalList-Item elements.
1424
- *
1425
- * @returns Array of child elements
1426
- */
1427
- private _getChildItems(): HTMLElement[] {
1428
- const slot = this._shadowRoot.querySelector('slot');
1429
- if (!slot) return [];
1430
-
1431
- return slot.assignedElements().filter(
1432
- el => el.tagName.toLowerCase() === 'button-vertical-list-item'
1433
- ) as HTMLElement[];
1434
- }
1435
- }
1436
-
1437
- // Register custom element
1438
- // Uses conditional check for idempotent registration
1439
- if (typeof customElements !== 'undefined' && !customElements.get('button-vertical-list-set')) {
1440
- customElements.define('button-vertical-list-set', ButtonVerticalListSet);
1441
- }
1442
-
1443
- /**
1444
- * Default export for convenience.
1445
- */
1446
- export default ButtonVerticalListSet;