@3fn/core 14.1.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 (1380) 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 +3 -3
  4. package/.kiro/steering/DesignerPunk-Systems-Overview.md +3 -3
  5. package/.kiro/steering/Task-Completion-Protocol.md +12 -11
  6. package/.kiro/steering/start-up-tasks.md +12 -4
  7. package/CHANGELOG.md +74 -0
  8. package/README.md +26 -21
  9. package/application-mcp-server/src/__tests__/consumerRootLiveReindex.test.ts +118 -0
  10. package/application-mcp-server/src/__tests__/errorCatalogWiring.test.ts +73 -0
  11. package/application-mcp-server/src/__tests__/mcpDataRootsDeclaration.test.ts +107 -0
  12. package/application-mcp-server/src/__tests__/tool-boundary.contract.test.ts +55 -0
  13. package/application-mcp-server/src/index.ts +249 -59
  14. package/application-mcp-server/src/indexer/ComponentIndexer.ts +273 -46
  15. package/application-mcp-server/src/indexer/ModeClassifier.ts +23 -16
  16. package/application-mcp-server/src/indexer/SemanticOverrideReader.ts +113 -0
  17. package/application-mcp-server/src/indexer/TokenIndexer.ts +195 -3
  18. package/application-mcp-server/src/indexer/__tests__/MultiRootIndexing.test.ts +134 -0
  19. package/application-mcp-server/src/indexer/__tests__/ThemeResolution.test.ts +241 -0
  20. package/application-mcp-server/src/indexer/__tests__/ThemeRootFollowsIndex.test.ts +216 -0
  21. package/application-mcp-server/src/indexer/__tests__/fixtures/consumerFixture.ts +84 -0
  22. package/application-mcp-server/src/indexer/resolveThemeTierRoot.ts +61 -0
  23. package/application-mcp-server/src/watcher/FileWatcher.ts +20 -7
  24. package/dist/ComponentTokens.android.kt +1 -1
  25. package/dist/ComponentTokens.ios.swift +1 -1
  26. package/dist/ComponentTokens.web.css +1 -1
  27. package/dist/DesignTokens.android.kt +1 -5
  28. package/dist/DesignTokens.dtcg.json +388 -122
  29. package/dist/DesignTokens.figma.json +281 -941
  30. package/dist/DesignTokens.ios.swift +1 -5
  31. package/dist/DesignTokens.web.css +5 -5
  32. package/dist/browser/designerpunk.esm.js +160 -94
  33. package/dist/browser/designerpunk.esm.min.js +58 -55
  34. package/dist/browser/designerpunk.umd.js +160 -94
  35. package/dist/browser/designerpunk.umd.min.js +57 -54
  36. package/dist/browser/tokens.css +5 -5
  37. package/dist/build/platforms/AndroidMotionTokenFormatter.d.ts +101 -0
  38. package/dist/build/platforms/AndroidMotionTokenFormatter.js +220 -0
  39. package/dist/build/platforms/WebMotionTokenFormatter.d.ts +85 -0
  40. package/dist/build/platforms/WebMotionTokenFormatter.js +167 -0
  41. package/dist/build/platforms/iOSMotionTokenFormatter.d.ts +99 -0
  42. package/dist/build/platforms/iOSMotionTokenFormatter.js +221 -0
  43. package/dist/build/validation/index.d.ts +0 -4
  44. package/dist/build/validation/index.js +1 -8
  45. package/dist/cli/attach.d.ts +153 -0
  46. package/dist/cli/attach.js +423 -0
  47. package/dist/cli/designerpunk.d.ts +46 -0
  48. package/dist/cli/designerpunk.js +171 -34
  49. package/dist/cli/figma-extract.js +10 -1
  50. package/dist/cli/figma-push.js +11 -2
  51. package/dist/cli/init.d.ts +36 -5
  52. package/dist/cli/init.js +348 -143
  53. package/dist/cli/loadComponentTokens.d.ts +25 -0
  54. package/dist/cli/loadComponentTokens.js +87 -8
  55. package/dist/cli/shared/bornRepo.d.ts +50 -0
  56. package/dist/cli/shared/bornRepo.js +199 -0
  57. package/dist/cli/shared/errorCatalog.d.ts +130 -0
  58. package/dist/cli/shared/errorCatalog.js +148 -0
  59. package/dist/cli/shared/mcpConfig/cc.d.ts +25 -0
  60. package/dist/cli/shared/mcpConfig/cc.js +156 -0
  61. package/dist/cli/shared/mcpConfig/kiro.d.ts +53 -0
  62. package/dist/cli/shared/mcpConfig/kiro.js +140 -0
  63. package/dist/cli/shared/mcpDataRoots.d.ts +88 -1
  64. package/dist/cli/shared/mcpDataRoots.js +76 -2
  65. package/dist/cli/shared/transforms.d.ts +64 -0
  66. package/dist/cli/shared/transforms.js +138 -0
  67. package/dist/cli/shared/vocabulary.d.ts +50 -0
  68. package/dist/cli/shared/vocabulary.js +62 -0
  69. package/dist/cli/sync/Applier.d.ts +25 -26
  70. package/dist/cli/sync/Applier.js +37 -73
  71. package/dist/cli/sync/Classifier.d.ts +70 -6
  72. package/dist/cli/sync/Classifier.js +123 -84
  73. package/dist/cli/sync/FileScanner.d.ts +19 -10
  74. package/dist/cli/sync/FileScanner.js +33 -25
  75. package/dist/cli/sync/KeyGrain.d.ts +106 -0
  76. package/dist/cli/sync/KeyGrain.js +301 -0
  77. package/dist/cli/sync/Manifest.d.ts +147 -12
  78. package/dist/cli/sync/Manifest.js +276 -21
  79. package/dist/cli/sync/Migration.d.ts +271 -0
  80. package/dist/cli/sync/Migration.js +764 -0
  81. package/dist/cli/sync/NameContract.d.ts +169 -0
  82. package/dist/cli/sync/NameContract.js +246 -0
  83. package/dist/cli/sync/RegionGrain.d.ts +118 -0
  84. package/dist/cli/sync/RegionGrain.js +167 -0
  85. package/dist/cli/sync/Reporter.d.ts +33 -4
  86. package/dist/cli/sync/Reporter.js +112 -53
  87. package/dist/cli/sync/SteeringDirCheck.d.ts +32 -4
  88. package/dist/cli/sync/SteeringDirCheck.js +62 -14
  89. package/dist/cli/sync/index.d.ts +125 -6
  90. package/dist/cli/sync/index.js +716 -66
  91. package/dist/color/OklchValidator.d.ts +43 -3
  92. package/dist/color/OklchValidator.js +46 -8
  93. package/dist/components/core/Button-CTA/Button-CTA.refs.d.ts +83 -0
  94. package/dist/components/core/Button-CTA/Button-CTA.refs.js +86 -0
  95. package/dist/components/core/Button-CTA/Button-CTA.tokens.d.ts +20 -10
  96. package/dist/components/core/Button-CTA/Button-CTA.tokens.js +21 -10
  97. package/dist/components/core/Button-CTA/index.d.ts +2 -2
  98. package/dist/components/core/Button-CTA/index.js +3 -3
  99. package/dist/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.d.ts +11 -30
  100. package/dist/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.js +16 -49
  101. package/dist/components/core/Container-Base/Container-Base.refs.d.ts +181 -0
  102. package/dist/components/core/Container-Base/Container-Base.refs.js +223 -0
  103. package/dist/components/core/Container-Base/index.d.ts +2 -2
  104. package/dist/components/core/Container-Base/index.js +10 -10
  105. package/dist/components/core/Container-Base/platforms/web/ContainerBase.web.js +1 -1
  106. package/dist/components/core/Container-Base/platforms/web/token-mapping.d.ts +27 -9
  107. package/dist/components/core/Container-Base/platforms/web/token-mapping.js +50 -22
  108. package/dist/components/core/Container-Card-Base/Container-Card-Base.refs.d.ts +149 -0
  109. package/dist/components/core/Container-Card-Base/Container-Card-Base.refs.js +207 -0
  110. package/dist/components/core/Container-Card-Base/index.d.ts +1 -1
  111. package/dist/components/core/Container-Card-Base/index.js +19 -19
  112. package/dist/components/core/Container-Card-Base/platforms/web/ContainerCardBase.web.js +7 -6
  113. package/dist/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.d.ts +15 -0
  114. package/dist/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.js +41 -1
  115. package/dist/components/core/Input-Text-Base/Input-Text-Base.refs.d.ts +331 -0
  116. package/dist/components/core/Input-Text-Base/Input-Text-Base.refs.js +164 -0
  117. package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.web.js +1 -1
  118. package/dist/components/core/Input-Text-Email/Input-Text-Email.refs.d.ts +20 -0
  119. package/dist/components/core/Input-Text-Email/Input-Text-Email.refs.js +34 -0
  120. package/dist/components/core/Input-Text-Password/Input-Text-Password.refs.d.ts +20 -0
  121. package/dist/components/core/Input-Text-Password/Input-Text-Password.refs.js +34 -0
  122. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.d.ts +30 -0
  123. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +72 -3
  124. package/dist/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.refs.d.ts +20 -0
  125. package/dist/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.refs.js +34 -0
  126. package/dist/consumer-canonical/agents/ada.md +331 -0
  127. package/dist/consumer-canonical/agents/data.md +429 -0
  128. package/dist/consumer-canonical/agents/kenya.md +400 -0
  129. package/dist/consumer-canonical/agents/leonardo.md +524 -0
  130. package/dist/consumer-canonical/agents/lina.md +501 -0
  131. package/dist/consumer-canonical/agents/sparky.md +395 -0
  132. package/dist/consumer-canonical/agents/stacy.md +515 -0
  133. package/dist/consumer-canonical/agents/thurgood.md +463 -0
  134. package/dist/consumer-canonical/always-set/agent-directory.dispositions.yaml +21 -0
  135. package/dist/consumer-canonical/always-set/agent-directory.overlay.md +51 -0
  136. package/dist/consumer-canonical/always-set/ai-collaboration-principles.dispositions.yaml +15 -0
  137. package/dist/consumer-canonical/always-set/ai-collaboration-principles.overlay.md +26 -0
  138. package/dist/consumer-canonical/always-set/civitas-system-overview.dispositions.yaml +15 -0
  139. package/dist/consumer-canonical/always-set/civitas-system-overview.overlay.md +70 -0
  140. package/dist/consumer-canonical/always-set/core-goals.dispositions.yaml +9 -0
  141. package/dist/consumer-canonical/always-set/core-goals.overlay.md +74 -0
  142. package/dist/consumer-canonical/always-set/designerpunk-systems-overview.dispositions.yaml +16 -0
  143. package/dist/consumer-canonical/always-set/designerpunk-systems-overview.overlay.md +44 -0
  144. package/dist/consumer-canonical/always-set/spec-feedback-protocol.dispositions.yaml +21 -0
  145. package/dist/consumer-canonical/always-set/spec-feedback-protocol.overlay.md +44 -0
  146. package/dist/consumer-canonical/always-set/start-up-tasks.dispositions.yaml +15 -0
  147. package/dist/consumer-canonical/always-set/start-up-tasks.overlay.md +25 -0
  148. package/dist/consumer-canonical/always-set/task-completion-protocol.dispositions.yaml +19 -0
  149. package/dist/consumer-canonical/always-set/task-completion-protocol.overlay.md +116 -0
  150. package/dist/consumer-canonical/consumer-profile.yaml +9 -0
  151. package/dist/consumer-canonical/shared/always-set.yaml +113 -0
  152. package/dist/consumer-canonical/shared/field-dispositions.yaml +85 -0
  153. package/dist/consumer-canonical/shared/shared-catalog.yaml +19 -0
  154. package/dist/consumer-canonical/shared/skills-map.yaml +33 -0
  155. package/dist/consumer-canonical/skills/adaptive/SKILL.md +301 -0
  156. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/container-behavior.md +112 -0
  157. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/get-started.md +69 -0
  158. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/index.md +81 -0
  159. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/item-behavior.md +170 -0
  160. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/container-properties.md +238 -0
  161. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/get-started.md +51 -0
  162. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/index.md +73 -0
  163. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/item-properties.md +168 -0
  164. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/layouts/adaptive/mediaquery/index.md +329 -0
  165. package/dist/consumer-canonical/skills/adaptive/references/android/develop/ui/compose/tooling/debug.md +114 -0
  166. package/dist/consumer-canonical/skills/adaptive/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +141 -0
  167. package/dist/consumer-canonical/skills/edge-to-edge/SKILL.md +426 -0
  168. package/dist/consumer-canonical/skills/impeccable/SKILL.md +237 -0
  169. package/dist/consumer-canonical/skills/impeccable/detector-exclusions.md +42 -0
  170. package/dist/consumer-canonical/skills/impeccable/reference/adapt.md +190 -0
  171. package/dist/consumer-canonical/skills/impeccable/reference/animate.md +194 -0
  172. package/dist/consumer-canonical/skills/impeccable/reference/audit.md +150 -0
  173. package/dist/consumer-canonical/skills/impeccable/reference/bolder.md +113 -0
  174. package/dist/consumer-canonical/skills/impeccable/reference/brand-dp.md +103 -0
  175. package/dist/consumer-canonical/skills/impeccable/reference/clarify.md +174 -0
  176. package/dist/consumer-canonical/skills/impeccable/reference/codex.md +105 -0
  177. package/dist/consumer-canonical/skills/impeccable/reference/cognitive-load.md +106 -0
  178. package/dist/consumer-canonical/skills/impeccable/reference/color-and-contrast.md +122 -0
  179. package/dist/consumer-canonical/skills/impeccable/reference/colorize.md +155 -0
  180. package/dist/consumer-canonical/skills/impeccable/reference/craft.md +123 -0
  181. package/dist/consumer-canonical/skills/impeccable/reference/critique.md +245 -0
  182. package/dist/consumer-canonical/skills/impeccable/reference/delight.md +302 -0
  183. package/dist/consumer-canonical/skills/impeccable/reference/distill.md +111 -0
  184. package/dist/consumer-canonical/skills/impeccable/reference/extract-dp.md +43 -0
  185. package/dist/consumer-canonical/skills/impeccable/reference/harden.md +347 -0
  186. package/dist/consumer-canonical/skills/impeccable/reference/heuristics-scoring.md +234 -0
  187. package/dist/consumer-canonical/skills/impeccable/reference/interaction-design.md +195 -0
  188. package/dist/consumer-canonical/skills/impeccable/reference/layout.md +141 -0
  189. package/dist/consumer-canonical/skills/impeccable/reference/live.md +622 -0
  190. package/dist/consumer-canonical/skills/impeccable/reference/motion-design.md +109 -0
  191. package/dist/consumer-canonical/skills/impeccable/reference/onboard.md +234 -0
  192. package/dist/consumer-canonical/skills/impeccable/reference/optimize.md +258 -0
  193. package/dist/consumer-canonical/skills/impeccable/reference/overdrive.md +130 -0
  194. package/dist/consumer-canonical/skills/impeccable/reference/personas.md +179 -0
  195. package/dist/consumer-canonical/skills/impeccable/reference/polish.md +242 -0
  196. package/dist/consumer-canonical/skills/impeccable/reference/product-dp.md +79 -0
  197. package/dist/consumer-canonical/skills/impeccable/reference/quieter.md +99 -0
  198. package/dist/consumer-canonical/skills/impeccable/reference/responsive-design.md +114 -0
  199. package/dist/consumer-canonical/skills/impeccable/reference/shape.md +165 -0
  200. package/dist/consumer-canonical/skills/impeccable/reference/spatial-design.md +100 -0
  201. package/dist/consumer-canonical/skills/impeccable/reference/typeset.md +126 -0
  202. package/dist/consumer-canonical/skills/impeccable/reference/typography.md +159 -0
  203. package/dist/consumer-canonical/skills/impeccable/reference/ux-writing.md +107 -0
  204. package/dist/consumer-canonical/skills/impeccable/scripts/detect.mjs +21 -0
  205. package/dist/consumer-canonical/skills/impeccable/scripts/detector/browser/injected/index.mjs +1725 -0
  206. package/dist/consumer-canonical/skills/impeccable/scripts/detector/cli/main.mjs +244 -0
  207. package/dist/consumer-canonical/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +4567 -0
  208. package/dist/consumer-canonical/skills/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
  209. package/dist/consumer-canonical/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +252 -0
  210. package/dist/consumer-canonical/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +535 -0
  211. package/dist/consumer-canonical/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +986 -0
  212. package/dist/consumer-canonical/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +208 -0
  213. package/dist/consumer-canonical/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
  214. package/dist/consumer-canonical/skills/impeccable/scripts/detector/findings.mjs +12 -0
  215. package/dist/consumer-canonical/skills/impeccable/scripts/detector/node/file-system.mjs +198 -0
  216. package/dist/consumer-canonical/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
  217. package/dist/consumer-canonical/skills/impeccable/scripts/detector/registry/antipatterns.mjs +419 -0
  218. package/dist/consumer-canonical/skills/impeccable/scripts/detector/rules/checks.mjs +2316 -0
  219. package/dist/consumer-canonical/skills/impeccable/scripts/detector/shared/color.mjs +156 -0
  220. package/dist/consumer-canonical/skills/impeccable/scripts/detector/shared/constants.mjs +101 -0
  221. package/dist/consumer-canonical/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
  222. package/dist/consumer-canonical/skills/navigation-3/SKILL.md +110 -0
  223. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/index.md +38 -0
  224. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/migration-guide.md +498 -0
  225. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/animations.md +147 -0
  226. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/basic.md +89 -0
  227. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/basicdsl.md +85 -0
  228. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/basicsaveable.md +90 -0
  229. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/bottomsheet.md +195 -0
  230. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/common-ui.md +200 -0
  231. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/conditional.md +230 -0
  232. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-advanced.md +155 -0
  233. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-basic.md +744 -0
  234. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/dialog.md +107 -0
  235. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +141 -0
  236. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/material-supportingpane.md +145 -0
  237. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/modular-hilt.md +283 -0
  238. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/modular-koin.md +287 -0
  239. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/multiple-backstacks.md +436 -0
  240. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/passingarguments.md +371 -0
  241. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/results-event.md +272 -0
  242. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/results-state.md +266 -0
  243. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/scenes-listdetail.md +435 -0
  244. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/navigation-3/recipes/scenes-twopane.md +244 -0
  245. package/dist/consumer-canonical/skills/navigation-3/references/android/guide/navigation/type-safe-destinations.md +129 -0
  246. package/dist/consumer-canonical/skills/theming-styles/SKILL.md +220 -0
  247. package/dist/consumer-canonical/skills/theming-styles/references/android/develop/ui/compose/designsystems/custom.md +459 -0
  248. package/dist/consumer-canonical/skills/theming-styles/references/android/develop/ui/compose/styles/fundamentals.md +420 -0
  249. package/dist/consumer-canonical/skills/theming-styles/references/android/develop/ui/compose/styles/state-animations.md +461 -0
  250. package/dist/consumer-canonical/skills/theming-styles/references/android/develop/ui/compose/styles/styles-vs-modifiers.md +48 -0
  251. package/dist/consumer-canonical/skills/theming-styles/references/android/develop/ui/compose/styles/theming.md +257 -0
  252. package/dist/generator/consumer-entry.js +5939 -0
  253. package/dist/generators/DTCGFormatGenerator.d.ts +14 -4
  254. package/dist/generators/DTCGFormatGenerator.js +35 -18
  255. package/dist/generators/TokenFileGenerator.js +13 -13
  256. package/dist/generators/generateTokenIndex.d.ts +14 -0
  257. package/dist/generators/generateTokenIndex.js +23 -0
  258. package/dist/generators/transformers/FigmaTransformer.d.ts +35 -0
  259. package/dist/generators/transformers/FigmaTransformer.js +101 -13
  260. package/dist/generators/types/DTCGTypes.d.ts +10 -0
  261. package/dist/mcp/application-mcp.js +1062 -261
  262. package/dist/mcp/docs-mcp.js +93 -13
  263. package/dist/mcp/product-mcp.js +539 -41
  264. package/dist/mcp/tool-manifest.json +184 -0
  265. package/dist/name-contract.json +4283 -0
  266. package/dist/tokens/BlurTokens.d.ts +3 -1
  267. package/dist/tokens/BlurTokens.js +6 -4
  268. package/dist/tokens/ShadowOffsetTokens.js +14 -14
  269. package/dist/tokens/SizingTokens.js +3 -3
  270. package/dist/tokens/TapAreaTokens.d.ts +13 -2
  271. package/dist/tokens/TapAreaTokens.js +19 -8
  272. package/dist/tokens/semantic/ColorTokens.js +50 -5
  273. package/dist/tokens/semantic/TypographyTokens.js +10 -10
  274. package/dist/tokens/themes/dark/SemanticOverrides.js +21 -4
  275. package/dist/tools/integrity/Invariants.d.ts +23 -8
  276. package/dist/tools/integrity/Invariants.js +27 -8
  277. package/dist/tools/integrity/cli/run-audit.js +1 -1
  278. package/dist/types/PrimitiveToken.d.ts +15 -1
  279. package/dist/types/generated/TokenTypes.d.ts +1 -1
  280. package/dist/types/generated/TokenTypes.js +1 -1
  281. package/dist/types/index.d.ts +1 -0
  282. package/governance/AI-Collaboration-Framework.md +19 -10
  283. package/governance/Component-Family-Navigation.md +2 -2
  284. package/governance/DTCG-Integration-Guide.md +63 -36
  285. package/governance/DesignerPunk-Integration-Guide.md +57 -61
  286. package/governance/Figma-Workflow-Guide.md +15 -8
  287. package/governance/Process-Integration-Methodology.md +5 -5
  288. package/governance/Process-Spec-Planning.md +179 -54
  289. package/governance/Product-Handoff-Protocol.md +27 -2
  290. package/governance/Test-Behavioral-Contract-Validation.md +5 -0
  291. package/governance/Test-Development-Standards.md +4 -4
  292. package/governance/Token-Family-Accessibility.md +18 -14
  293. package/governance/Token-Family-Blend.md +5 -4
  294. package/governance/Token-Family-Blur.md +8 -8
  295. package/governance/Token-Family-Color.md +40 -22
  296. package/governance/Token-Family-Glow.md +26 -24
  297. package/governance/Token-Family-Layering.md +1 -0
  298. package/governance/Token-Family-Motion.md +22 -13
  299. package/governance/Token-Family-Opacity.md +20 -34
  300. package/governance/Token-Family-Radius.md +4 -2
  301. package/governance/Token-Family-Responsive.md +4 -4
  302. package/governance/Token-Family-Shadow.md +69 -46
  303. package/governance/Token-Family-Spacing.md +22 -12
  304. package/governance/Token-Family-Typography.md +86 -85
  305. package/governance/Token-Governance.md +5 -1
  306. package/governance/Token-Quick-Reference.md +67 -63
  307. package/governance/Transformer-Development-Guide.md +5 -4
  308. package/governance/classification-map.md +597 -7
  309. package/governance/completion-documentation-guide.md +284 -2
  310. package/governance/platform-implementation-guidelines.md +2 -1
  311. package/mcp-server/src/index.ts +16 -12
  312. package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +3 -3
  313. package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +70 -49
  314. package/mcp-server/src/tools/find-docs.ts +1 -0
  315. package/mcp-server/src/tools/get-document-full.ts +1 -0
  316. package/mcp-server/src/tools/get-document-summary.ts +1 -0
  317. package/mcp-server/src/tools/get-index-health.ts +1 -0
  318. package/mcp-server/src/tools/get-section.ts +1 -0
  319. package/mcp-server/src/tools/list-cross-references.ts +1 -0
  320. package/mcp-server/src/tools/rebuild-index.ts +1 -0
  321. package/mcp-server/src/tools/validate-metadata.ts +1 -0
  322. package/package.json +75 -11
  323. package/src/cli/templates/mcp-config.json.template +15 -20
  324. package/src/components/core/Avatar-Base/platforms/android/AvatarPreview.kt +9 -2
  325. package/src/components/core/Container-Base/Container-Base.schema.yaml +9 -11
  326. package/src/components/core/Container-Base/platforms/android/ContainerBase.android.kt +5 -5
  327. package/src/components/core/Container-Base/platforms/ios/ContainerBase.ios.swift +5 -5
  328. package/src/components/core/Container-Card-Base/platforms/android/ContainerCardBase.android.kt +3 -3
  329. package/src/components/core/Container-Card-Base/platforms/ios/ContainerCardBase.ios.swift +2 -2
  330. package/src/components/core/Nav-Header-App/contracts.yaml +1 -1
  331. package/src/components/core/Nav-Header-Base/component-meta.yaml +0 -1
  332. package/src/components/core/Nav-Header-Base/contracts.yaml +1 -1
  333. package/src/components/core/Nav-Header-Page/contracts.yaml +1 -1
  334. package/src/components/core/Nav-TabBar-Base/contracts.yaml +1 -1
  335. package/src/components/core/Progress-Bar-Base/contracts.yaml +1 -1
  336. package/src/tokens/BlurTokens.ts +6 -4
  337. package/src/tokens/ShadowOffsetTokens.ts +14 -14
  338. package/src/tokens/SizingTokens.ts +3 -3
  339. package/src/tokens/TapAreaTokens.ts +20 -8
  340. package/src/tokens/__tests__/BaselineGridAlignmentFlag.test.ts +116 -0
  341. package/src/tokens/__tests__/BlurTokens.test.ts +10 -2
  342. package/src/tokens/__tests__/SemanticColorContrast.test.ts +339 -0
  343. package/src/tokens/__tests__/ShadowOffsetTokens.test.ts +8 -7
  344. package/src/tokens/__tests__/SizingTokens.test.ts +10 -2
  345. package/src/tokens/__tests__/TokenCategories.test.ts +1 -1
  346. package/src/tokens/__tests__/neutral-partition.test.ts +28 -0
  347. package/src/tokens/semantic/AccessibilityTokens.README.md +2 -2
  348. package/src/tokens/semantic/ColorTokens.ts +50 -5
  349. package/src/tokens/semantic/TypographyTokens.ts +10 -10
  350. package/src/tokens/semantic/__tests__/ColorTokens.test.ts +8 -4
  351. package/src/tokens/themes/dark/SemanticOverrides.ts +23 -4
  352. package/src/types/PrimitiveToken.ts +15 -1
  353. package/token-index/meta.json +3 -0
  354. package/token-index/semantics.yaml +21 -15
  355. package/.kiro/agents/ada-prompt.md +0 -213
  356. package/.kiro/agents/ada-prompt.md.attribution.json +0 -45
  357. package/.kiro/agents/ada.json +0 -72
  358. package/.kiro/agents/ada.json.attribution.json +0 -13
  359. package/.kiro/agents/data-prompt.md +0 -324
  360. package/.kiro/agents/data-prompt.md.attribution.json +0 -53
  361. package/.kiro/agents/data.json +0 -51
  362. package/.kiro/agents/data.json.attribution.json +0 -13
  363. package/.kiro/agents/kenya-prompt.md +0 -309
  364. package/.kiro/agents/kenya-prompt.md.attribution.json +0 -53
  365. package/.kiro/agents/kenya.json +0 -46
  366. package/.kiro/agents/kenya.json.attribution.json +0 -13
  367. package/.kiro/agents/leonardo-prompt.md +0 -359
  368. package/.kiro/agents/leonardo-prompt.md.attribution.json +0 -45
  369. package/.kiro/agents/leonardo.json +0 -47
  370. package/.kiro/agents/leonardo.json.attribution.json +0 -13
  371. package/.kiro/agents/lina-prompt.md +0 -344
  372. package/.kiro/agents/lina-prompt.md.attribution.json +0 -53
  373. package/.kiro/agents/lina.json +0 -64
  374. package/.kiro/agents/lina.json.attribution.json +0 -13
  375. package/.kiro/agents/sparky-prompt.md +0 -312
  376. package/.kiro/agents/sparky-prompt.md.attribution.json +0 -53
  377. package/.kiro/agents/sparky.json +0 -56
  378. package/.kiro/agents/sparky.json.attribution.json +0 -13
  379. package/.kiro/agents/stacy-prompt.md +0 -304
  380. package/.kiro/agents/stacy-prompt.md.attribution.json +0 -45
  381. package/.kiro/agents/stacy.json +0 -46
  382. package/.kiro/agents/stacy.json.attribution.json +0 -13
  383. package/.kiro/agents/thurgood-prompt.md +0 -363
  384. package/.kiro/agents/thurgood-prompt.md.attribution.json +0 -45
  385. package/.kiro/agents/thurgood.json +0 -47
  386. package/.kiro/agents/thurgood.json.attribution.json +0 -13
  387. package/.kiro/steering/personal-note.md +0 -35
  388. package/designerpunk.config.ts +0 -27
  389. package/dist/android/DesignTokens.android.kt +0 -695
  390. package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.d.ts +0 -26
  391. package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.js +0 -224
  392. package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.d.ts +0 -30
  393. package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.js +0 -254
  394. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.d.ts +0 -44
  395. package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.js +0 -376
  396. package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.d.ts +0 -38
  397. package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.js +0 -328
  398. package/dist/ios/DesignTokens.ios.swift +0 -697
  399. package/dist/web/DesignTokens.web.css +0 -929
  400. package/product-template/agents/README.md +0 -73
  401. package/product-template/agents/ada-prompt.md +0 -83
  402. package/product-template/agents/data-prompt.md +0 -74
  403. package/product-template/agents/kenya-prompt.md +0 -74
  404. package/product-template/agents/leonardo-prompt.md +0 -99
  405. package/product-template/agents/lina-prompt.md +0 -61
  406. package/product-template/agents/sparky-prompt.md +0 -66
  407. package/product-template/agents/stacy-prompt.md +0 -51
  408. package/product-template/agents/thurgood-prompt.md +0 -64
  409. package/src/TokenEngine.ts +0 -628
  410. package/src/__tests__/BuildSystemIntegration.test.ts +0 -485
  411. package/src/__tests__/ProductMCPIntegration.test.ts +0 -204
  412. package/src/__tests__/__mocks__/styleMock.js +0 -18
  413. package/src/__tests__/browser-distribution/build-error-handling.test.ts +0 -143
  414. package/src/__tests__/browser-distribution/bundle-loading.test.ts +0 -353
  415. package/src/__tests__/browser-distribution/bundler-resolution.test.ts +0 -223
  416. package/src/__tests__/browser-distribution/component-registration.test.ts +0 -217
  417. package/src/__tests__/browser-distribution/css-bundling.test.ts +0 -233
  418. package/src/__tests__/browser-distribution/demo-system.test.ts +0 -588
  419. package/src/__tests__/browser-distribution/mcp-format-compliance.property.test.ts +0 -379
  420. package/src/__tests__/browser-distribution/mcp-queryability.test.ts +0 -342
  421. package/src/__tests__/browser-distribution/minification-effectiveness.property.test.ts +0 -188
  422. package/src/__tests__/browser-distribution/registration-idempotency.property.test.ts +0 -372
  423. package/src/__tests__/browser-distribution/soft-ceiling-warning.test.ts +0 -161
  424. package/src/__tests__/browser-distribution/token-completeness.property.test.ts +0 -412
  425. package/src/__tests__/browser-distribution/token-loading.test.ts +0 -344
  426. package/src/__tests__/browser-distribution/umd-bundle-loading.test.ts +0 -169
  427. package/src/__tests__/console-allowlist.json +0 -14
  428. package/src/__tests__/console-fail-setup.ts +0 -169
  429. package/src/__tests__/examples/improved-test-example.test.ts +0 -120
  430. package/src/__tests__/expected-exports.json +0 -66
  431. package/src/__tests__/export-contracts.test.ts +0 -83
  432. package/src/__tests__/fixtures/acknowledged-differences.json +0 -127
  433. package/src/__tests__/fixtures/acknowledged-differences.schema.json +0 -113
  434. package/src/__tests__/fixtures/acknowledged-differences.types.ts +0 -230
  435. package/src/__tests__/fixtures/tokenFixtures.ts +0 -248
  436. package/src/__tests__/helpers/configModuleLoader.ts +0 -20
  437. package/src/__tests__/helpers/tsModuleLoader.ts +0 -24
  438. package/src/__tests__/helpers/web-component-test-utils.ts +0 -39
  439. package/src/__tests__/integration/BlendCrossPlatformConsistency.test.ts +0 -505
  440. package/src/__tests__/integration/BuildSystemCompatibility.test.ts +0 -551
  441. package/src/__tests__/integration/CrossPlatformConsistency.test.ts +0 -855
  442. package/src/__tests__/integration/EndToEndWorkflow.test.ts +0 -601
  443. package/src/__tests__/integration/ErrorHandling.test.ts +0 -459
  444. package/src/__tests__/integration/OpacityPlatformTranslation.test.ts +0 -364
  445. package/src/__tests__/integration/PerformanceValidation.test.ts +0 -887
  446. package/src/__tests__/integration/SemanticTokenGeneration.test.ts +0 -451
  447. package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +0 -139
  448. package/src/__tests__/integration/TokenSystemIntegration.test.ts +0 -890
  449. package/src/__tests__/integration/ValidationPipeline.test.ts +0 -404
  450. package/src/__tests__/package-drift-validation.test.ts +0 -249
  451. package/src/__tests__/performance/GenerationPerformance.test.ts +0 -409
  452. package/src/__tests__/performance/OptimizationValidation.test.ts +0 -509
  453. package/src/__tests__/platform-parity/ProgressPlatformParity.test.ts +0 -546
  454. package/src/__tests__/spec073-opacity-architecture.test.ts +0 -344
  455. package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +0 -520
  456. package/src/__tests__/stemma-system/composition-compliance-validation.test.ts +0 -162
  457. package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +0 -184
  458. package/src/__tests__/stemma-system/contract-existence-validation.test.ts +0 -43
  459. package/src/__tests__/stemma-system/contract-test-reporter.ts +0 -269
  460. package/src/__tests__/stemma-system/cross-platform-consistency.test.ts +0 -564
  461. package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +0 -710
  462. package/src/__tests__/stemma-system/input-text-native-base-call-alignment.test.ts +0 -298
  463. package/src/__tests__/stemma-system/mcp-component-integration.test.ts +0 -445
  464. package/src/analytics/PrimitiveTokenFallbackTracker.ts +0 -228
  465. package/src/analytics/SemanticTokenUsageTracker.ts +0 -193
  466. package/src/analytics/StrategicFlexibilityTracker.ts +0 -226
  467. package/src/analytics/TokenUsageTracker.ts +0 -177
  468. package/src/analytics/UsagePatternAnalyzer.ts +0 -177
  469. package/src/analytics/__tests__/UsageTracking.test.ts +0 -647
  470. package/src/analytics/index.ts +0 -42
  471. package/src/assets/fonts/__tests__/androidFontLoadingValidation.test.ts +0 -600
  472. package/src/assets/fonts/__tests__/fontLoading.test.ts +0 -341
  473. package/src/assets/fonts/__tests__/iosFontConfiguration.test.ts +0 -256
  474. package/src/assets/fonts/__tests__/iosFontLoadingValidation.test.ts +0 -465
  475. package/src/assets/fonts/inter/Inter-Bold.ttf +0 -0
  476. package/src/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  477. package/src/assets/fonts/inter/Inter-Medium.ttf +0 -0
  478. package/src/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  479. package/src/assets/fonts/inter/Inter-Regular.ttf +0 -0
  480. package/src/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  481. package/src/assets/fonts/inter/Inter-SemiBold.ttf +0 -0
  482. package/src/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  483. package/src/assets/fonts/inter/inter.css +0 -49
  484. package/src/blend/BlendCalculator.ts +0 -120
  485. package/src/blend/ColorSpaceUtils.ts +0 -325
  486. package/src/blend/OklchBlendCalculator.ts +0 -82
  487. package/src/blend/ThemeAwareBlendUtilities.web.ts +0 -323
  488. package/src/blend/__tests__/BlendCalculator.test.ts +0 -393
  489. package/src/blend/__tests__/BlendUtilities.property.test.ts +0 -600
  490. package/src/blend/__tests__/ColorSpaceUtils.test.ts +0 -885
  491. package/src/blend/__tests__/InteractionStateAudit.test.ts +0 -238
  492. package/src/blend/__tests__/OklchBlendCalculator.test.ts +0 -134
  493. package/src/blend/__tests__/ThemeAwareBlendUtilities.test.ts +0 -200
  494. package/src/blend/__tests__/ThemeSwitching.test.ts +0 -508
  495. package/src/blend/index.ts +0 -37
  496. package/src/browser-entry.ts +0 -270
  497. package/src/build/.gitkeep +0 -1
  498. package/src/build/BuildOrchestrator.ts +0 -663
  499. package/src/build/__tests__/AndroidBuildIntegration.test.ts +0 -437
  500. package/src/build/__tests__/AndroidMotionTokenGeneration.test.ts +0 -256
  501. package/src/build/__tests__/BuildOrchestrator.test.ts +0 -562
  502. package/src/build/__tests__/MotionTokenCrossPlatformIntegration.test.ts +0 -424
  503. package/src/build/__tests__/WebCSSTokenGeneration.test.ts +0 -271
  504. package/src/build/__tests__/WebMotionTokenGeneration.test.ts +0 -305
  505. package/src/build/__tests__/WebNPMPackageStructure.test.ts +0 -447
  506. package/src/build/__tests__/iOSMotionTokenGeneration.test.ts +0 -298
  507. package/src/build/errors/BuildError.ts +0 -140
  508. package/src/build/errors/ErrorDocumentation.ts +0 -638
  509. package/src/build/errors/ErrorHandler.ts +0 -406
  510. package/src/build/errors/ErrorReporter.ts +0 -573
  511. package/src/build/errors/PlatformGenerationError.ts +0 -201
  512. package/src/build/errors/README.md +0 -486
  513. package/src/build/errors/RecoveryStrategy.ts +0 -393
  514. package/src/build/errors/TokenGenerationError.ts +0 -196
  515. package/src/build/errors/TokenReferenceError.ts +0 -204
  516. package/src/build/errors/__tests__/BuildError.test.ts +0 -212
  517. package/src/build/errors/__tests__/ErrorDocumentation.example.ts +0 -272
  518. package/src/build/errors/__tests__/ErrorDocumentation.test.ts +0 -458
  519. package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +0 -303
  520. package/src/build/errors/__tests__/ErrorHandler.test.ts +0 -502
  521. package/src/build/errors/__tests__/ErrorReporter.test.ts +0 -581
  522. package/src/build/errors/__tests__/MotionTokenErrors.test.ts +0 -392
  523. package/src/build/errors/__tests__/RecoveryStrategy.test.ts +0 -643
  524. package/src/build/errors/index.ts +0 -90
  525. package/src/build/index.ts +0 -73
  526. package/src/build/orchestration/IncrementalBuilder.ts +0 -532
  527. package/src/build/orchestration/ParallelExecutor.ts +0 -336
  528. package/src/build/orchestration/ProgressTracker.ts +0 -582
  529. package/src/build/orchestration/SequentialExecutor.ts +0 -305
  530. package/src/build/orchestration/__tests__/IncrementalBuilder.test.ts +0 -354
  531. package/src/build/orchestration/__tests__/ParallelExecutor.integration.test.ts +0 -295
  532. package/src/build/orchestration/__tests__/ParallelExecutor.test.ts +0 -493
  533. package/src/build/orchestration/__tests__/ProgressTracker.test.ts +0 -529
  534. package/src/build/orchestration/__tests__/SequentialExecutor.integration.test.ts +0 -202
  535. package/src/build/orchestration/__tests__/SequentialExecutor.test.ts +0 -232
  536. package/src/build/orchestration/index.ts +0 -35
  537. package/src/build/platforms/.gitkeep +0 -1
  538. package/src/build/platforms/AndroidBuilder.ts +0 -1366
  539. package/src/build/platforms/AndroidShadowGenerator.ts +0 -394
  540. package/src/build/platforms/IOSShadowGenerator.ts +0 -324
  541. package/src/build/platforms/PlatformBuilder.ts +0 -131
  542. package/src/build/platforms/WebBuilder.ts +0 -1414
  543. package/src/build/platforms/WebShadowGenerator.ts +0 -288
  544. package/src/build/platforms/__tests__/AndroidBuilder.tokenGeneration.test.ts +0 -146
  545. package/src/build/platforms/__tests__/AndroidShadowGenerator.test.ts +0 -195
  546. package/src/build/platforms/__tests__/IOSShadowGenerator.test.ts +0 -156
  547. package/src/build/platforms/__tests__/WebShadowGenerator.test.ts +0 -123
  548. package/src/build/platforms/__tests__/iOSBuilder.test.ts +0 -1599
  549. package/src/build/platforms/iOSBuilder.ts +0 -1746
  550. package/src/build/platforms/index.ts +0 -9
  551. package/src/build/product/ProductTokenGenerator.ts +0 -162
  552. package/src/build/product/TokenIndexReader.ts +0 -78
  553. package/src/build/product/__tests__/KotlinEmitter.test.ts +0 -109
  554. package/src/build/product/__tests__/ProductTokenGenerator.test.ts +0 -135
  555. package/src/build/product/__tests__/SwiftEmitter.test.ts +0 -90
  556. package/src/build/product/__tests__/TokenIndexReader.test.ts +0 -85
  557. package/src/build/product/__tests__/WebEmitter.test.ts +0 -111
  558. package/src/build/product/__tests__/fixtures/tokens/layout.yaml +0 -21
  559. package/src/build/product/__tests__/fixtures/tokens/motion.yaml +0 -11
  560. package/src/build/product/__tests__/fixtures/tokens/visualization.yaml +0 -8
  561. package/src/build/product/emitters/KotlinEmitter.ts +0 -83
  562. package/src/build/product/emitters/SwiftEmitter.ts +0 -95
  563. package/src/build/product/emitters/WebEmitter.ts +0 -69
  564. package/src/build/tokens/.gitkeep +0 -1
  565. package/src/build/tokens/__tests__/ClassInvariantGuard.test.ts +0 -167
  566. package/src/build/tokens/__tests__/ComponentTokenGenerator.test.ts +0 -285
  567. package/src/build/tokens/__tests__/TokenIntegrator.test.ts +0 -319
  568. package/src/build/tokens/__tests__/TokenSelector.test.ts +0 -264
  569. package/src/build/tokens/__tests__/UnitConverter.applyScaleWithRounding.test.ts +0 -160
  570. package/src/build/tokens/__tests__/UnitConverter.test.ts +0 -331
  571. package/src/build/tokens/__tests__/brand-dual-instance.test.ts +0 -135
  572. package/src/build/tokens/__tests__/defineComponentTokens.test.ts +0 -553
  573. package/src/build/types/.gitkeep +0 -1
  574. package/src/build/types/BuildConfig.ts +0 -123
  575. package/src/build/types/BuildOrchestrator.ts +0 -114
  576. package/src/build/types/BuildResult.ts +0 -125
  577. package/src/build/types/index.ts +0 -39
  578. package/src/build/validation/.gitkeep +0 -1
  579. package/src/build/validation/AndroidBuildValidator.ts +0 -630
  580. package/src/build/validation/CrossPlatformValidationReporter.ts +0 -1267
  581. package/src/build/validation/InterfaceContractValidator.ts +0 -417
  582. package/src/build/validation/InterfaceValidator.ts +0 -326
  583. package/src/build/validation/MathematicalConsistencyValidator.ts +0 -874
  584. package/src/build/validation/MethodSignatureValidator.ts +0 -374
  585. package/src/build/validation/PropertyTypeValidator.ts +0 -312
  586. package/src/build/validation/TokenComparator.ts +0 -796
  587. package/src/build/validation/ValidationReporter.example.ts +0 -310
  588. package/src/build/validation/ValidationReporter.ts +0 -745
  589. package/src/build/validation/WebBuildValidator.ts +0 -583
  590. package/src/build/validation/__tests__/AndroidBuildValidator.test.ts +0 -522
  591. package/src/build/validation/__tests__/CrossPlatformValidationReporter.test.ts +0 -593
  592. package/src/build/validation/__tests__/InterfaceContractValidator.test.ts +0 -647
  593. package/src/build/validation/__tests__/InterfaceValidation.functional.test.ts +0 -360
  594. package/src/build/validation/__tests__/InterfaceValidator.test.ts +0 -318
  595. package/src/build/validation/__tests__/MethodSignatureValidator.test.ts +0 -625
  596. package/src/build/validation/__tests__/MotionTokenCrossPlatformValidation.test.ts +0 -305
  597. package/src/build/validation/__tests__/MotionTokenValidation.test.ts +0 -309
  598. package/src/build/validation/__tests__/PropertyTypeValidator.test.ts +0 -557
  599. package/src/build/validation/__tests__/TokenComparator.test.ts +0 -358
  600. package/src/build/validation/__tests__/ValidationReporter.integration.test.ts +0 -424
  601. package/src/build/validation/__tests__/ValidationReporter.test.ts +0 -793
  602. package/src/build/validation/__tests__/WebBuildValidator.test.ts +0 -495
  603. package/src/build/validation/iOSBuildValidator.ts +0 -783
  604. package/src/build/validation/index.ts +0 -74
  605. package/src/build/validation/types/InterfaceDefinition.ts +0 -101
  606. package/src/build/validation/types/ValidationResult.ts +0 -114
  607. package/src/build/workflow/BuildMode.ts +0 -336
  608. package/src/build/workflow/CICDIntegration.ts +0 -503
  609. package/src/build/workflow/ConfigHelpers.example.ts +0 -317
  610. package/src/build/workflow/ConfigHelpers.ts +0 -834
  611. package/src/build/workflow/README.md +0 -327
  612. package/src/build/workflow/SourceMapGenerator.ts +0 -362
  613. package/src/build/workflow/__tests__/BuildMode.test.ts +0 -544
  614. package/src/build/workflow/__tests__/CICDIntegration.test.ts +0 -602
  615. package/src/build/workflow/__tests__/ConfigHelpers.test.ts +0 -559
  616. package/src/build/workflow/__tests__/SourceMapGenerator.test.ts +0 -421
  617. package/src/build/workflow/index.ts +0 -42
  618. package/src/cli/__tests__/Applier.test.ts +0 -202
  619. package/src/cli/__tests__/Classifier.test.ts +0 -187
  620. package/src/cli/__tests__/FileScanner.test.ts +0 -108
  621. package/src/cli/__tests__/IgnoreFilter.test.ts +0 -92
  622. package/src/cli/__tests__/Manifest.test.ts +0 -107
  623. package/src/cli/__tests__/PackageResolver.test.ts +0 -66
  624. package/src/cli/__tests__/Prompter.test.ts +0 -165
  625. package/src/cli/__tests__/Reporter.test.ts +0 -128
  626. package/src/cli/__tests__/backward-compat.test.ts +0 -142
  627. package/src/cli/__tests__/figma-extract.test.ts +0 -342
  628. package/src/cli/__tests__/figma-push.test.ts +0 -350
  629. package/src/cli/__tests__/init.test.ts +0 -293
  630. package/src/cli/__tests__/loadComponentTokens.test.ts +0 -187
  631. package/src/cli/__tests__/pipeline-independence.test.ts +0 -127
  632. package/src/cli/__tests__/product-only.test.ts +0 -130
  633. package/src/cli/__tests__/resolveTokens.test.ts +0 -88
  634. package/src/cli/__tests__/staleness.test.ts +0 -132
  635. package/src/cli/__tests__/sync.test.ts +0 -199
  636. package/src/cli/__tests__/validate.test.ts +0 -69
  637. package/src/cli/designerpunk.ts +0 -410
  638. package/src/cli/figma-extract.ts +0 -331
  639. package/src/cli/figma-push.ts +0 -288
  640. package/src/cli/generateProductTokens.ts +0 -69
  641. package/src/cli/init.ts +0 -481
  642. package/src/cli/loadComponentTokens.ts +0 -145
  643. package/src/cli/resolveTokens.ts +0 -123
  644. package/src/cli/shared/mcpDataRoots.ts +0 -122
  645. package/src/cli/shared/resolvePackageRoot.ts +0 -58
  646. package/src/cli/shared/transforms.ts +0 -18
  647. package/src/cli/staleness.ts +0 -81
  648. package/src/cli/sync/Applier.ts +0 -128
  649. package/src/cli/sync/Classifier.ts +0 -130
  650. package/src/cli/sync/FileScanner.ts +0 -64
  651. package/src/cli/sync/IgnoreFilter.ts +0 -44
  652. package/src/cli/sync/Manifest.ts +0 -64
  653. package/src/cli/sync/PackageResolver.ts +0 -40
  654. package/src/cli/sync/Prompter.ts +0 -173
  655. package/src/cli/sync/Reporter.ts +0 -78
  656. package/src/cli/sync/SteeringDirCheck.ts +0 -166
  657. package/src/cli/sync/index.ts +0 -115
  658. package/src/cli/validate.ts +0 -135
  659. package/src/cli/validateProductTokens.ts +0 -55
  660. package/src/color/OklchConverter.ts +0 -284
  661. package/src/color/OklchValidator.ts +0 -186
  662. package/src/color/__tests__/OklchConverter.test.ts +0 -232
  663. package/src/color/__tests__/OklchRegression.test.ts +0 -101
  664. package/src/color/__tests__/OklchValidator.test.ts +0 -199
  665. package/src/color/__tests__/WcagContrast.test.ts +0 -76
  666. package/src/components/__tests__/BlendTokenUsageValidation.test.ts +0 -726
  667. package/src/components/__tests__/DynamicImportGuard.test.ts +0 -226
  668. package/src/components/__tests__/ExtensionLintPolicy.test.ts +0 -113
  669. package/src/components/__tests__/TokenCompliance.test.ts +0 -921
  670. package/src/components/__tests__/colorInheritanceValidation.test.ts +0 -267
  671. package/src/components/__tests__/componentTypographyInheritance.test.ts +0 -326
  672. package/src/components/core/Avatar-Base/README.md +0 -366
  673. package/src/components/core/Avatar-Base/__tests__/.gitkeep +0 -3
  674. package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +0 -597
  675. package/src/components/core/Avatar-Base/__tests__/Avatar.icon-integration.test.ts +0 -656
  676. package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +0 -396
  677. package/src/components/core/Avatar-Base/__tests__/Avatar.lifecycle.test.ts +0 -545
  678. package/src/components/core/Avatar-Base/__tests__/Avatar.rendering.test.ts +0 -505
  679. package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +0 -701
  680. package/src/components/core/Avatar-Base/avatar.tokens.ts +0 -373
  681. package/src/components/core/Avatar-Base/index.ts +0 -25
  682. package/src/components/core/Avatar-Base/platforms/ios/.gitkeep +0 -3
  683. package/src/components/core/Avatar-Base/platforms/web/.gitkeep +0 -3
  684. package/src/components/core/Avatar-Base/platforms/web/Avatar.styles.css +0 -595
  685. package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +0 -892
  686. package/src/components/core/Avatar-Base/platforms/web/hexagon-clip.svg +0 -87
  687. package/src/components/core/Avatar-Base/tokens/.gitkeep +0 -4
  688. package/src/components/core/Avatar-Base/types.ts +0 -86
  689. package/src/components/core/Badge-Count-Base/README.md +0 -323
  690. package/src/components/core/Badge-Count-Base/__tests__/BadgeCountBase.stemma.test.ts +0 -548
  691. package/src/components/core/Badge-Count-Base/__tests__/BadgeCountBase.test.ts +0 -452
  692. package/src/components/core/Badge-Count-Base/__tests__/test-utils.ts +0 -244
  693. package/src/components/core/Badge-Count-Base/index.ts +0 -37
  694. package/src/components/core/Badge-Count-Base/platforms/ios/.gitkeep +0 -1
  695. package/src/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.styles.css +0 -148
  696. package/src/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.web.ts +0 -363
  697. package/src/components/core/Badge-Count-Base/types.ts +0 -150
  698. package/src/components/core/Badge-Count-Notification/README.md +0 -396
  699. package/src/components/core/Badge-Count-Notification/__tests__/BadgeCountNotification.stemma.test.ts +0 -571
  700. package/src/components/core/Badge-Count-Notification/__tests__/BadgeCountNotification.test.ts +0 -490
  701. package/src/components/core/Badge-Count-Notification/__tests__/test-utils.ts +0 -256
  702. package/src/components/core/Badge-Count-Notification/index.ts +0 -60
  703. package/src/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.styles.css +0 -182
  704. package/src/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.web.ts +0 -401
  705. package/src/components/core/Badge-Count-Notification/tokens.ts +0 -124
  706. package/src/components/core/Badge-Count-Notification/types.ts +0 -119
  707. package/src/components/core/Badge-Label-Base/README.md +0 -251
  708. package/src/components/core/Badge-Label-Base/__tests__/BadgeLabelBase.stemma.test.ts +0 -549
  709. package/src/components/core/Badge-Label-Base/__tests__/BadgeLabelBase.test.ts +0 -439
  710. package/src/components/core/Badge-Label-Base/__tests__/test-utils.ts +0 -269
  711. package/src/components/core/Badge-Label-Base/__tests__/tokens.test.ts +0 -88
  712. package/src/components/core/Badge-Label-Base/index.ts +0 -41
  713. package/src/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.styles.css +0 -166
  714. package/src/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.web.ts +0 -340
  715. package/src/components/core/Badge-Label-Base/tokens.ts +0 -80
  716. package/src/components/core/Badge-Label-Base/types.ts +0 -148
  717. package/src/components/core/Button-CTA/Button-CTA.tokens.ts +0 -79
  718. package/src/components/core/Button-CTA/README.md +0 -293
  719. package/src/components/core/Button-CTA/__tests__/ButtonCTA.alignment.test.ts +0 -355
  720. package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +0 -698
  721. package/src/components/core/Button-CTA/__tests__/ButtonCTA.tokens.test.ts +0 -89
  722. package/src/components/core/Button-CTA/__tests__/setup.test.ts +0 -209
  723. package/src/components/core/Button-CTA/__tests__/test-utils.ts +0 -185
  724. package/src/components/core/Button-CTA/examples/BasicUsage.html +0 -133
  725. package/src/components/core/Button-CTA/examples/BasicUsage.tsx +0 -219
  726. package/src/components/core/Button-CTA/examples/Variants.html +0 -263
  727. package/src/components/core/Button-CTA/examples/WithIcon.html +0 -166
  728. package/src/components/core/Button-CTA/index.ts +0 -20
  729. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +0 -395
  730. package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +0 -644
  731. package/src/components/core/Button-CTA/platforms/web/__tests__/ButtonCTA.icon-integration.test.ts +0 -476
  732. package/src/components/core/Button-CTA/types.ts +0 -239
  733. package/src/components/core/Button-Icon/README.md +0 -371
  734. package/src/components/core/Button-Icon/__tests__/ButtonIcon.alignment.test.ts +0 -358
  735. package/src/components/core/Button-Icon/__tests__/ButtonIcon.properties-8-13.test.ts +0 -953
  736. package/src/components/core/Button-Icon/__tests__/ButtonIcon.properties.test.ts +0 -920
  737. package/src/components/core/Button-Icon/__tests__/ButtonIcon.stemma.test.ts +0 -622
  738. package/src/components/core/Button-Icon/__tests__/ButtonIcon.unit.test.ts +0 -560
  739. package/src/components/core/Button-Icon/__tests__/setup.test.ts +0 -361
  740. package/src/components/core/Button-Icon/__tests__/test-utils.ts +0 -248
  741. package/src/components/core/Button-Icon/buttonIcon.tokens.ts +0 -218
  742. package/src/components/core/Button-Icon/platforms/web/.gitkeep +0 -4
  743. package/src/components/core/Button-Icon/platforms/web/ButtonIcon.web.css +0 -600
  744. package/src/components/core/Button-Icon/platforms/web/ButtonIcon.web.ts +0 -625
  745. package/src/components/core/Button-Icon/types.ts +0 -186
  746. package/src/components/core/Button-VerticalList-Item/Button-VerticalList-Item.tokens.ts +0 -112
  747. package/src/components/core/Button-VerticalList-Item/README.md +0 -450
  748. package/src/components/core/Button-VerticalList-Item/__tests__/.gitkeep +0 -2
  749. package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.alignment.test.ts +0 -271
  750. package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.failLoudly.test.ts +0 -106
  751. package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.integration.test.ts +0 -480
  752. package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.properties.test.ts +0 -634
  753. package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.unit.test.ts +0 -746
  754. package/src/components/core/Button-VerticalList-Item/__tests__/rtlSupport.test.ts +0 -206
  755. package/src/components/core/Button-VerticalList-Item/__tests__/test-utils.ts +0 -297
  756. package/src/components/core/Button-VerticalList-Item/__tests__/visualStateMapping.test.ts +0 -419
  757. package/src/components/core/Button-VerticalList-Item/index.ts +0 -49
  758. package/src/components/core/Button-VerticalList-Item/platforms/android/VerticalListButtonItemTest.kt +0 -1109
  759. package/src/components/core/Button-VerticalList-Item/platforms/ios/.gitkeep +0 -2
  760. package/src/components/core/Button-VerticalList-Item/platforms/ios/VerticalListButtonItemTests.swift +0 -794
  761. package/src/components/core/Button-VerticalList-Item/platforms/web/.gitkeep +0 -2
  762. package/src/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.styles.css +0 -459
  763. package/src/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.ts +0 -1030
  764. package/src/components/core/Button-VerticalList-Item/platforms/web/visualStateMapping.ts +0 -411
  765. package/src/components/core/Button-VerticalList-Item/types.ts +0 -338
  766. package/src/components/core/Button-VerticalList-Set/README.md +0 -578
  767. package/src/components/core/Button-VerticalList-Set/__tests__/.gitkeep +0 -5
  768. package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.integration.test.ts +0 -676
  769. package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.property.test.ts +0 -786
  770. package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.property2.test.ts +0 -1109
  771. package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.unit.test.ts +0 -924
  772. package/src/components/core/Button-VerticalList-Set/__tests__/animationTiming.test.ts +0 -182
  773. package/src/components/core/Button-VerticalList-Set/__tests__/crossPlatformConsistency.test.ts +0 -685
  774. package/src/components/core/Button-VerticalList-Set/__tests__/deriveItemStates.test.ts +0 -179
  775. package/src/components/core/Button-VerticalList-Set/__tests__/validation.test.ts +0 -275
  776. package/src/components/core/Button-VerticalList-Set/index.ts +0 -32
  777. package/src/components/core/Button-VerticalList-Set/platforms/android/ButtonVerticalListSetTest.kt +0 -961
  778. package/src/components/core/Button-VerticalList-Set/platforms/ios/.gitkeep +0 -0
  779. package/src/components/core/Button-VerticalList-Set/platforms/ios/ButtonVerticalListSetTests.swift +0 -475
  780. package/src/components/core/Button-VerticalList-Set/platforms/web/.gitkeep +0 -4
  781. package/src/components/core/Button-VerticalList-Set/platforms/web/Button-VerticalList-Set.styles.css +0 -167
  782. package/src/components/core/Button-VerticalList-Set/platforms/web/ButtonVerticalListSet.web.ts +0 -1446
  783. package/src/components/core/Button-VerticalList-Set/types.ts +0 -788
  784. package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +0 -534
  785. package/src/components/core/Chip-Base/index.ts +0 -40
  786. package/src/components/core/Chip-Base/platforms/ios/.gitkeep +0 -3
  787. package/src/components/core/Chip-Base/platforms/web/.gitkeep +0 -5
  788. package/src/components/core/Chip-Base/platforms/web/ChipBase.styles.css +0 -280
  789. package/src/components/core/Chip-Base/platforms/web/ChipBase.web.ts +0 -480
  790. package/src/components/core/Chip-Base/types.ts +0 -189
  791. package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +0 -592
  792. package/src/components/core/Chip-Filter/index.ts +0 -34
  793. package/src/components/core/Chip-Filter/platforms/web/ChipFilter.styles.css +0 -105
  794. package/src/components/core/Chip-Filter/platforms/web/ChipFilter.web.ts +0 -539
  795. package/src/components/core/Chip-Filter/types.ts +0 -47
  796. package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +0 -472
  797. package/src/components/core/Chip-Input/index.ts +0 -35
  798. package/src/components/core/Chip-Input/platforms/ios/.gitkeep +0 -3
  799. package/src/components/core/Chip-Input/platforms/web/ChipInput.styles.css +0 -99
  800. package/src/components/core/Chip-Input/platforms/web/ChipInput.web.ts +0 -485
  801. package/src/components/core/Chip-Input/types.ts +0 -35
  802. package/src/components/core/Container-Base/README.md +0 -450
  803. package/src/components/core/Container-Base/__tests__/ContainerBase.test.ts +0 -712
  804. package/src/components/core/Container-Base/index.ts +0 -47
  805. package/src/components/core/Container-Base/platforms/web/ContainerBase.web.ts +0 -405
  806. package/src/components/core/Container-Base/platforms/web/styles.css +0 -198
  807. package/src/components/core/Container-Base/platforms/web/token-mapping.ts +0 -573
  808. package/src/components/core/Container-Base/tokens.ts +0 -241
  809. package/src/components/core/Container-Base/types.ts +0 -307
  810. package/src/components/core/Container-Card-Base/README.md +0 -506
  811. package/src/components/core/Container-Card-Base/__tests__/ContainerCardBase.composition.test.ts +0 -167
  812. package/src/components/core/Container-Card-Base/__tests__/ContainerCardBase.test.ts +0 -646
  813. package/src/components/core/Container-Card-Base/index.ts +0 -64
  814. package/src/components/core/Container-Card-Base/platforms/web/ContainerCardBase.web.ts +0 -373
  815. package/src/components/core/Container-Card-Base/tokens.ts +0 -224
  816. package/src/components/core/Container-Card-Base/types.ts +0 -332
  817. package/src/components/core/Icon-Base/README.md +0 -168
  818. package/src/components/core/Icon-Base/__tests__/IconBase.test.ts +0 -192
  819. package/src/components/core/Icon-Base/index.ts +0 -34
  820. package/src/components/core/Icon-Base/platforms/ios/ASSET_CATALOG_SETUP.md +0 -239
  821. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Contents.json +0 -6
  822. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/Contents.json +0 -9
  823. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/alert-circle.imageset/Contents.json +0 -15
  824. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/alert-circle.imageset/alert-circle.svg +0 -1
  825. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-down.imageset/Contents.json +0 -15
  826. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-down.imageset/arrow-down.svg +0 -1
  827. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-left.imageset/Contents.json +0 -15
  828. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-left.imageset/arrow-left.svg +0 -1
  829. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-right.imageset/Contents.json +0 -15
  830. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-right.imageset/arrow-right.svg +0 -1
  831. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-up.imageset/Contents.json +0 -15
  832. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-up.imageset/arrow-up.svg +0 -1
  833. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/award.imageset/Contents.json +0 -15
  834. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/award.imageset/award.svg +0 -1
  835. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/bell.imageset/Contents.json +0 -15
  836. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/bell.imageset/bell.svg +0 -1
  837. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/briefcase.imageset/Contents.json +0 -15
  838. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/briefcase.imageset/briefcase.svg +0 -1
  839. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/calendar.imageset/Contents.json +0 -15
  840. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/calendar.imageset/calendar.svg +0 -1
  841. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check-circle.imageset/Contents.json +0 -15
  842. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check-circle.imageset/check-circle.svg +0 -1
  843. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check.imageset/Contents.json +0 -15
  844. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check.imageset/check.svg +0 -1
  845. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-down.imageset/Contents.json +0 -15
  846. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-down.imageset/chevron-down.svg +0 -1
  847. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-left.imageset/Contents.json +0 -15
  848. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-left.imageset/chevron-left.svg +0 -1
  849. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-right.imageset/Contents.json +0 -15
  850. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-right.imageset/chevron-right.svg +0 -1
  851. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/circle.imageset/Contents.json +0 -15
  852. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/circle.imageset/circle.svg +0 -1
  853. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/clock.imageset/Contents.json +0 -15
  854. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/clock.imageset/clock.svg +0 -1
  855. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/credit-card.imageset/Contents.json +0 -15
  856. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/credit-card.imageset/credit-card.svg +0 -1
  857. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/dollar-sign.imageset/Contents.json +0 -15
  858. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/dollar-sign.imageset/dollar-sign.svg +0 -1
  859. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/external-link.imageset/Contents.json +0 -15
  860. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/external-link.imageset/external-link.svg +0 -1
  861. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye-off.imageset/Contents.json +0 -15
  862. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye-off.imageset/eye-off.svg +0 -1
  863. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye.imageset/Contents.json +0 -15
  864. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye.imageset/eye.svg +0 -1
  865. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/file-text.imageset/Contents.json +0 -15
  866. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/file-text.imageset/file-text.svg +0 -1
  867. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/filter.imageset/Contents.json +0 -15
  868. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/filter.imageset/filter.svg +0 -1
  869. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/globe.imageset/Contents.json +0 -15
  870. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/globe.imageset/globe.svg +0 -1
  871. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/heart.imageset/Contents.json +0 -15
  872. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/heart.imageset/heart.svg +0 -1
  873. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/info.imageset/Contents.json +0 -15
  874. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/info.imageset/info.svg +0 -1
  875. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/mail.imageset/Contents.json +0 -15
  876. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/mail.imageset/mail.svg +0 -1
  877. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/map-pin.imageset/Contents.json +0 -15
  878. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/map-pin.imageset/map-pin.svg +0 -1
  879. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/minus.imageset/Contents.json +0 -15
  880. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/minus.imageset/minus.svg +0 -1
  881. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-horizontal.imageset/Contents.json +0 -15
  882. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-horizontal.imageset/more-horizontal.svg +0 -1
  883. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-vertical.imageset/Contents.json +0 -15
  884. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-vertical.imageset/more-vertical.svg +0 -1
  885. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/phone.imageset/Contents.json +0 -15
  886. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/phone.imageset/phone.svg +0 -1
  887. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/plus.imageset/Contents.json +0 -15
  888. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/plus.imageset/plus.svg +0 -1
  889. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/refresh-cw.imageset/Contents.json +0 -15
  890. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/refresh-cw.imageset/refresh-cw.svg +0 -1
  891. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/save.imageset/Contents.json +0 -15
  892. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/save.imageset/save.svg +0 -1
  893. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/search.imageset/Contents.json +0 -15
  894. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/search.imageset/search.svg +0 -1
  895. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/settings.imageset/Contents.json +0 -15
  896. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/settings.imageset/settings.svg +0 -1
  897. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share-2.imageset/Contents.json +0 -15
  898. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share-2.imageset/share-2.svg +0 -1
  899. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share.imageset/Contents.json +0 -15
  900. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share.imageset/share.svg +0 -1
  901. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/shield.imageset/Contents.json +0 -15
  902. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/shield.imageset/shield.svg +0 -1
  903. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smartphone.imageset/Contents.json +0 -15
  904. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smartphone.imageset/smartphone.svg +0 -1
  905. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smile.imageset/Contents.json +0 -15
  906. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smile.imageset/smile.svg +0 -1
  907. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/star.imageset/Contents.json +0 -15
  908. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/star.imageset/star.svg +0 -1
  909. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/trending-up.imageset/Contents.json +0 -15
  910. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/trending-up.imageset/trending-up.svg +0 -1
  911. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-check.imageset/Contents.json +0 -15
  912. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-check.imageset/user-check.svg +0 -1
  913. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-x.imageset/Contents.json +0 -15
  914. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-x.imageset/user-x.svg +0 -1
  915. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user.imageset/Contents.json +0 -15
  916. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user.imageset/user.svg +0 -1
  917. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/users.imageset/Contents.json +0 -15
  918. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/users.imageset/users.svg +0 -1
  919. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/wifi.imageset/Contents.json +0 -15
  920. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/wifi.imageset/wifi.svg +0 -1
  921. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/x.imageset/Contents.json +0 -15
  922. package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/x.imageset/x.svg +0 -1
  923. package/src/components/core/Icon-Base/platforms/web/IconBase.web.ts +0 -553
  924. package/src/components/core/Icon-Base/platforms/web/assets/alert-circle.svg +0 -1
  925. package/src/components/core/Icon-Base/platforms/web/assets/arrow-down.svg +0 -1
  926. package/src/components/core/Icon-Base/platforms/web/assets/arrow-left.svg +0 -1
  927. package/src/components/core/Icon-Base/platforms/web/assets/arrow-right.svg +0 -1
  928. package/src/components/core/Icon-Base/platforms/web/assets/arrow-up.svg +0 -1
  929. package/src/components/core/Icon-Base/platforms/web/assets/award.svg +0 -1
  930. package/src/components/core/Icon-Base/platforms/web/assets/bell.svg +0 -1
  931. package/src/components/core/Icon-Base/platforms/web/assets/briefcase.svg +0 -1
  932. package/src/components/core/Icon-Base/platforms/web/assets/calendar.svg +0 -1
  933. package/src/components/core/Icon-Base/platforms/web/assets/check-circle.svg +0 -1
  934. package/src/components/core/Icon-Base/platforms/web/assets/check.svg +0 -1
  935. package/src/components/core/Icon-Base/platforms/web/assets/chevron-down.svg +0 -1
  936. package/src/components/core/Icon-Base/platforms/web/assets/chevron-left.svg +0 -1
  937. package/src/components/core/Icon-Base/platforms/web/assets/chevron-right.svg +0 -1
  938. package/src/components/core/Icon-Base/platforms/web/assets/circle.svg +0 -1
  939. package/src/components/core/Icon-Base/platforms/web/assets/clock.svg +0 -1
  940. package/src/components/core/Icon-Base/platforms/web/assets/credit-card.svg +0 -1
  941. package/src/components/core/Icon-Base/platforms/web/assets/dollar-sign.svg +0 -1
  942. package/src/components/core/Icon-Base/platforms/web/assets/external-link.svg +0 -1
  943. package/src/components/core/Icon-Base/platforms/web/assets/eye-off.svg +0 -1
  944. package/src/components/core/Icon-Base/platforms/web/assets/eye.svg +0 -1
  945. package/src/components/core/Icon-Base/platforms/web/assets/file-text.svg +0 -1
  946. package/src/components/core/Icon-Base/platforms/web/assets/filter.svg +0 -1
  947. package/src/components/core/Icon-Base/platforms/web/assets/globe.svg +0 -1
  948. package/src/components/core/Icon-Base/platforms/web/assets/heart.svg +0 -1
  949. package/src/components/core/Icon-Base/platforms/web/assets/info.svg +0 -1
  950. package/src/components/core/Icon-Base/platforms/web/assets/mail.svg +0 -1
  951. package/src/components/core/Icon-Base/platforms/web/assets/map-pin.svg +0 -1
  952. package/src/components/core/Icon-Base/platforms/web/assets/minus.svg +0 -1
  953. package/src/components/core/Icon-Base/platforms/web/assets/more-horizontal.svg +0 -1
  954. package/src/components/core/Icon-Base/platforms/web/assets/more-vertical.svg +0 -1
  955. package/src/components/core/Icon-Base/platforms/web/assets/phone.svg +0 -1
  956. package/src/components/core/Icon-Base/platforms/web/assets/plus.svg +0 -1
  957. package/src/components/core/Icon-Base/platforms/web/assets/refresh-cw.svg +0 -1
  958. package/src/components/core/Icon-Base/platforms/web/assets/save.svg +0 -1
  959. package/src/components/core/Icon-Base/platforms/web/assets/search.svg +0 -1
  960. package/src/components/core/Icon-Base/platforms/web/assets/settings.svg +0 -1
  961. package/src/components/core/Icon-Base/platforms/web/assets/share-2.svg +0 -1
  962. package/src/components/core/Icon-Base/platforms/web/assets/share.svg +0 -1
  963. package/src/components/core/Icon-Base/platforms/web/assets/shield.svg +0 -1
  964. package/src/components/core/Icon-Base/platforms/web/assets/smartphone.svg +0 -1
  965. package/src/components/core/Icon-Base/platforms/web/assets/smile.svg +0 -1
  966. package/src/components/core/Icon-Base/platforms/web/assets/star.svg +0 -1
  967. package/src/components/core/Icon-Base/platforms/web/assets/trending-up.svg +0 -1
  968. package/src/components/core/Icon-Base/platforms/web/assets/user-check.svg +0 -1
  969. package/src/components/core/Icon-Base/platforms/web/assets/user-x.svg +0 -1
  970. package/src/components/core/Icon-Base/platforms/web/assets/user.svg +0 -1
  971. package/src/components/core/Icon-Base/platforms/web/assets/users.svg +0 -1
  972. package/src/components/core/Icon-Base/platforms/web/assets/wifi.svg +0 -1
  973. package/src/components/core/Icon-Base/platforms/web/assets/x.svg +0 -1
  974. package/src/components/core/Icon-Base/platforms/web/styles.css +0 -203
  975. package/src/components/core/Icon-Base/types.ts +0 -338
  976. package/src/components/core/Input-Checkbox-Base/README.md +0 -390
  977. package/src/components/core/Input-Checkbox-Base/__tests__/InputCheckboxBase.stemma.test.ts +0 -552
  978. package/src/components/core/Input-Checkbox-Base/__tests__/InputCheckboxBase.test.ts +0 -878
  979. package/src/components/core/Input-Checkbox-Base/checkbox-sizing.tokens.ts +0 -37
  980. package/src/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.css +0 -477
  981. package/src/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.ts +0 -561
  982. package/src/components/core/Input-Checkbox-Base/types.ts +0 -399
  983. package/src/components/core/Input-Checkbox-Legal/README.md +0 -554
  984. package/src/components/core/Input-Checkbox-Legal/__tests__/InputCheckboxLegal.test.ts +0 -727
  985. package/src/components/core/Input-Checkbox-Legal/platforms/ios/.gitkeep +0 -2
  986. package/src/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.css +0 -112
  987. package/src/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.ts +0 -505
  988. package/src/components/core/Input-Checkbox-Legal/types.ts +0 -348
  989. package/src/components/core/Input-Radio-Base/.gitkeep +0 -2
  990. package/src/components/core/Input-Radio-Base/README.md +0 -427
  991. package/src/components/core/Input-Radio-Base/__tests__/.gitkeep +0 -1
  992. package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.form.test.ts +0 -299
  993. package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.stemma.test.ts +0 -543
  994. package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.test.ts +0 -429
  995. package/src/components/core/Input-Radio-Base/platforms/ios/.gitkeep +0 -1
  996. package/src/components/core/Input-Radio-Base/platforms/web/.gitkeep +0 -1
  997. package/src/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.css +0 -504
  998. package/src/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.ts +0 -648
  999. package/src/components/core/Input-Radio-Base/radio-sizing.tokens.ts +0 -37
  1000. package/src/components/core/Input-Radio-Base/types.ts +0 -362
  1001. package/src/components/core/Input-Radio-Set/README.md +0 -373
  1002. package/src/components/core/Input-Radio-Set/__tests__/.gitkeep +0 -0
  1003. package/src/components/core/Input-Radio-Set/__tests__/InputRadioSet.stemma.test.ts +0 -493
  1004. package/src/components/core/Input-Radio-Set/__tests__/InputRadioSet.test.ts +0 -499
  1005. package/src/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.css +0 -99
  1006. package/src/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.ts +0 -790
  1007. package/src/components/core/Input-Radio-Set/types.ts +0 -301
  1008. package/src/components/core/Input-Text-Base/README.md +0 -258
  1009. package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +0 -311
  1010. package/src/components/core/Input-Text-Base/__tests__/keyboardNavigation.test.ts +0 -444
  1011. package/src/components/core/Input-Text-Base/__tests__/labelAssociation.test.ts +0 -418
  1012. package/src/components/core/Input-Text-Base/__tests__/screenReaderSupport.test.ts +0 -405
  1013. package/src/components/core/Input-Text-Base/__tests__/setup.ts +0 -17
  1014. package/src/components/core/Input-Text-Base/__tests__/stateManagement.test.ts +0 -718
  1015. package/src/components/core/Input-Text-Base/__tests__/test-utils.ts +0 -81
  1016. package/src/components/core/Input-Text-Base/__tests__/touchTargetSizing.test.ts +0 -319
  1017. package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.ts +0 -241
  1018. package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.web.css +0 -293
  1019. package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.web.ts +0 -448
  1020. package/src/components/core/Input-Text-Base/stateManagement.ts +0 -267
  1021. package/src/components/core/Input-Text-Base/tokens.ts +0 -210
  1022. package/src/components/core/Input-Text-Base/types.ts +0 -114
  1023. package/src/components/core/Input-Text-Email/README.md +0 -252
  1024. package/src/components/core/Input-Text-Email/__tests__/validation.test.ts +0 -127
  1025. package/src/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.ts +0 -276
  1026. package/src/components/core/Input-Text-Email/platforms/web/InputTextEmail.web.ts +0 -319
  1027. package/src/components/core/Input-Text-Email/stateManagement.ts +0 -160
  1028. package/src/components/core/Input-Text-Email/tokens.ts +0 -33
  1029. package/src/components/core/Input-Text-Email/types.ts +0 -72
  1030. package/src/components/core/Input-Text-Email/validation.ts +0 -130
  1031. package/src/components/core/Input-Text-Password/README.md +0 -360
  1032. package/src/components/core/Input-Text-Password/__tests__/validation.test.ts +0 -362
  1033. package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.ts +0 -434
  1034. package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +0 -512
  1035. package/src/components/core/Input-Text-Password/stateManagement.ts +0 -244
  1036. package/src/components/core/Input-Text-Password/tokens.ts +0 -32
  1037. package/src/components/core/Input-Text-Password/types.ts +0 -177
  1038. package/src/components/core/Input-Text-Password/validation.ts +0 -207
  1039. package/src/components/core/Input-Text-PhoneNumber/README.md +0 -276
  1040. package/src/components/core/Input-Text-PhoneNumber/__tests__/validation.test.ts +0 -301
  1041. package/src/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.ts +0 -370
  1042. package/src/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.web.ts +0 -393
  1043. package/src/components/core/Input-Text-PhoneNumber/stateManagement.ts +0 -250
  1044. package/src/components/core/Input-Text-PhoneNumber/tokens.ts +0 -33
  1045. package/src/components/core/Input-Text-PhoneNumber/types.ts +0 -135
  1046. package/src/components/core/Input-Text-PhoneNumber/validation.ts +0 -302
  1047. package/src/components/core/Nav-Header-App/README.md +0 -29
  1048. package/src/components/core/Nav-Header-App/index.ts +0 -5
  1049. package/src/components/core/Nav-Header-App/platforms/web/NavHeaderApp.web.ts +0 -37
  1050. package/src/components/core/Nav-Header-App/types.ts +0 -32
  1051. package/src/components/core/Nav-Header-Base/README.md +0 -21
  1052. package/src/components/core/Nav-Header-Base/index.ts +0 -12
  1053. package/src/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.styles.css +0 -75
  1054. package/src/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.web.ts +0 -120
  1055. package/src/components/core/Nav-Header-Base/types.ts +0 -63
  1056. package/src/components/core/Nav-Header-Page/README.md +0 -34
  1057. package/src/components/core/Nav-Header-Page/__tests__/NavHeaderPage.test.ts +0 -250
  1058. package/src/components/core/Nav-Header-Page/index.ts +0 -12
  1059. package/src/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.styles.css +0 -90
  1060. package/src/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.web.ts +0 -169
  1061. package/src/components/core/Nav-Header-Page/types.ts +0 -55
  1062. package/src/components/core/Nav-SegmentedChoice-Base/README.md +0 -327
  1063. package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.android.test.ts +0 -218
  1064. package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.interaction.test.ts +0 -419
  1065. package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.ios.test.ts +0 -207
  1066. package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.visual.test.ts +0 -371
  1067. package/src/components/core/Nav-SegmentedChoice-Base/index.ts +0 -38
  1068. package/src/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.styles.css +0 -160
  1069. package/src/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.web.ts +0 -477
  1070. package/src/components/core/Nav-SegmentedChoice-Base/types.ts +0 -65
  1071. package/src/components/core/Nav-TabBar-Base/README.md +0 -264
  1072. package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.android.test.ts +0 -270
  1073. package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.ios.test.ts +0 -221
  1074. package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.test.ts +0 -421
  1075. package/src/components/core/Nav-TabBar-Base/examples/BasicUsage.html +0 -2
  1076. package/src/components/core/Nav-TabBar-Base/examples/BasicUsage.tsx +0 -2
  1077. package/src/components/core/Nav-TabBar-Base/index.ts +0 -20
  1078. package/src/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.styles.css +0 -281
  1079. package/src/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.web.ts +0 -420
  1080. package/src/components/core/Nav-TabBar-Base/types.ts +0 -43
  1081. package/src/components/core/Progress-Bar-Base/README.md +0 -31
  1082. package/src/components/core/Progress-Bar-Base/__tests__/ProgressBarBase.test.ts +0 -202
  1083. package/src/components/core/Progress-Bar-Base/index.ts +0 -6
  1084. package/src/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.styles.css +0 -52
  1085. package/src/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.web.ts +0 -135
  1086. package/src/components/core/Progress-Bar-Base/types.ts +0 -46
  1087. package/src/components/core/Progress-Indicator-Connector-Base/README.md +0 -169
  1088. package/src/components/core/Progress-Indicator-Connector-Base/index.ts +0 -33
  1089. package/src/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.styles.css +0 -50
  1090. package/src/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.web.ts +0 -141
  1091. package/src/components/core/Progress-Indicator-Connector-Base/types.ts +0 -67
  1092. package/src/components/core/Progress-Indicator-Label-Base/README.md +0 -191
  1093. package/src/components/core/Progress-Indicator-Label-Base/index.ts +0 -28
  1094. package/src/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.styles.css +0 -81
  1095. package/src/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.web.ts +0 -174
  1096. package/src/components/core/Progress-Indicator-Label-Base/types.ts +0 -64
  1097. package/src/components/core/Progress-Indicator-Node-Base/README.md +0 -206
  1098. package/src/components/core/Progress-Indicator-Node-Base/__tests__/VisualStates.test.ts +0 -259
  1099. package/src/components/core/Progress-Indicator-Node-Base/index.ts +0 -36
  1100. package/src/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.styles.css +0 -193
  1101. package/src/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.web.ts +0 -226
  1102. package/src/components/core/Progress-Indicator-Node-Base/types.ts +0 -142
  1103. package/src/components/core/Progress-Pagination-Base/README.md +0 -290
  1104. package/src/components/core/Progress-Pagination-Base/__tests__/PaginationBase.test.ts +0 -290
  1105. package/src/components/core/Progress-Pagination-Base/index.ts +0 -40
  1106. package/src/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.styles.css +0 -80
  1107. package/src/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.web.ts +0 -293
  1108. package/src/components/core/Progress-Pagination-Base/types.ts +0 -112
  1109. package/src/components/core/Progress-Stepper-Base/README.md +0 -311
  1110. package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +0 -345
  1111. package/src/components/core/Progress-Stepper-Base/index.ts +0 -43
  1112. package/src/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.styles.css +0 -49
  1113. package/src/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.web.ts +0 -288
  1114. package/src/components/core/Progress-Stepper-Base/types.ts +0 -175
  1115. package/src/components/core/Progress-Stepper-Detailed/README.md +0 -401
  1116. package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +0 -481
  1117. package/src/components/core/Progress-Stepper-Detailed/index.ts +0 -48
  1118. package/src/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.styles.css +0 -106
  1119. package/src/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.web.ts +0 -336
  1120. package/src/components/core/Progress-Stepper-Detailed/types.ts +0 -195
  1121. package/src/composition/BlendComposition.ts +0 -46
  1122. package/src/composition/BlendCompositionParser.ts +0 -215
  1123. package/src/composition/OpacityComposition.ts +0 -62
  1124. package/src/composition/OpacityCompositionParser.ts +0 -308
  1125. package/src/composition/__tests__/BlendCompositionParser.test.ts +0 -431
  1126. package/src/composition/__tests__/OpacityCompositionParser.test.ts +0 -539
  1127. package/src/composition/index.ts +0 -20
  1128. package/src/config/ConfigLoader.ts +0 -143
  1129. package/src/config/__resolution-matrix__/README.md +0 -76
  1130. package/src/config/__resolution-matrix__/fixtures/faithful-cjs/compiled/defineConfig.js +0 -9
  1131. package/src/config/__resolution-matrix__/fixtures/faithful-cjs/designerpunk.config.ts +0 -20
  1132. package/src/config/__resolution-matrix__/fixtures/faithful-cjs/my-overrides.ts +0 -8
  1133. package/src/config/__resolution-matrix__/fixtures/faithful-esm/compiled/defineConfig.js +0 -11
  1134. package/src/config/__resolution-matrix__/fixtures/faithful-esm/designerpunk.config.ts +0 -23
  1135. package/src/config/__resolution-matrix__/fixtures/faithful-esm/my-overrides.ts +0 -6
  1136. package/src/config/__resolution-matrix__/fixtures/source-dir-cjs/designerpunk.config.ts +0 -11
  1137. package/src/config/__resolution-matrix__/fixtures/source-dir-cjs/src/config/index.ts +0 -15
  1138. package/src/config/__resolution-matrix__/fixtures/source-dir-esm/designerpunk.config.ts +0 -15
  1139. package/src/config/__resolution-matrix__/fixtures/source-dir-esm/src/config/index.ts +0 -13
  1140. package/src/config/__resolution-matrix__/run-matrix.js +0 -107
  1141. package/src/config/__resolution-matrix__/runner.js +0 -153
  1142. package/src/config/__resolution-matrix__/verify-real-loadconfig.js +0 -122
  1143. package/src/config/__tests__/ConfigLoader.test.ts +0 -115
  1144. package/src/config/defineConfig.ts +0 -71
  1145. package/src/config/index.ts +0 -7
  1146. package/src/config/scopedTsRequire.ts +0 -62
  1147. package/src/constants/BaselineGrid.ts +0 -41
  1148. package/src/constants/SpacingTokens.ts +0 -55
  1149. package/src/figma/ComponentAnalysis.ts +0 -292
  1150. package/src/figma/ComponentAnalysisGenerator.ts +0 -444
  1151. package/src/figma/ConsoleMCPClient.ts +0 -168
  1152. package/src/figma/ConsoleMCPClientImpl.ts +0 -1034
  1153. package/src/figma/DesignExtractor.ts +0 -3620
  1154. package/src/figma/TokenSyncWorkflow.ts +0 -915
  1155. package/src/figma/TokenTranslator.ts +0 -891
  1156. package/src/figma/VariantAnalyzer.ts +0 -712
  1157. package/src/figma/__tests__/ComponentAnalysisGenerator.json.test.ts +0 -429
  1158. package/src/figma/__tests__/ComponentAnalysisGenerator.markdown.test.ts +0 -428
  1159. package/src/figma/__tests__/ConsoleMCPClient.bugfix.test.ts +0 -261
  1160. package/src/figma/__tests__/ConsoleMCPClient.preservation.test.ts +0 -395
  1161. package/src/figma/__tests__/ConsoleMCPClient.test.ts +0 -375
  1162. package/src/figma/__tests__/DesignExtractor.boundVariableResolution.test.ts +0 -580
  1163. package/src/figma/__tests__/DesignExtractor.buildNodeTree.test.ts +0 -535
  1164. package/src/figma/__tests__/DesignExtractor.captureComponentScreenshot.test.ts +0 -176
  1165. package/src/figma/__tests__/DesignExtractor.detectBehavioralContracts.test.ts +0 -263
  1166. package/src/figma/__tests__/DesignExtractor.detectComponentTokenDecisions.test.ts +0 -379
  1167. package/src/figma/__tests__/DesignExtractor.detectCompositionPatterns.test.ts +0 -507
  1168. package/src/figma/__tests__/DesignExtractor.detectPlatformParity.test.ts +0 -406
  1169. package/src/figma/__tests__/DesignExtractor.queryContext.test.ts +0 -214
  1170. package/src/figma/__tests__/DesignExtractor.readFigmaComponent.test.ts +0 -431
  1171. package/src/figma/__tests__/DesignExtractor.readStyles.test.ts +0 -204
  1172. package/src/figma/__tests__/DesignExtractor.readTokenBindings.test.ts +0 -268
  1173. package/src/figma/__tests__/DesignExtractor.reconstructCompositeTokens.test.ts +0 -403
  1174. package/src/figma/__tests__/DesignExtractor.resolveUnknownVariableIds.test.ts +0 -259
  1175. package/src/figma/__tests__/DesignExtractor.translateTokens.test.ts +0 -433
  1176. package/src/figma/__tests__/DesignExtractor.validateModes.test.ts +0 -350
  1177. package/src/figma/__tests__/TokenSyncWorkflow.batch.test.ts +0 -277
  1178. package/src/figma/__tests__/TokenSyncWorkflow.drift.test.ts +0 -187
  1179. package/src/figma/__tests__/TokenSyncWorkflow.preservation.test.ts +0 -544
  1180. package/src/figma/__tests__/TokenSyncWorkflow.styles.test.ts +0 -245
  1181. package/src/figma/__tests__/TokenSyncWorkflow.sync.test.ts +0 -217
  1182. package/src/figma/__tests__/TokenTranslator.test.ts +0 -757
  1183. package/src/figma/__tests__/VariantAnalyzer.detectConflicts.test.ts +0 -126
  1184. package/src/figma/__tests__/VariantAnalyzer.test.ts +0 -633
  1185. package/src/figma/__tests__/error-reporting.test.ts +0 -254
  1186. package/src/figma/__tests__/preflight.test.ts +0 -94
  1187. package/src/figma/error-reporting.ts +0 -260
  1188. package/src/figma/index.ts +0 -98
  1189. package/src/figma/portCleanup.ts +0 -86
  1190. package/src/figma/preflight.ts +0 -120
  1191. package/src/generators/BlendUtilityGenerator.ts +0 -847
  1192. package/src/generators/BlendValueGenerator.ts +0 -198
  1193. package/src/generators/DTCGFormatGenerator.ts +0 -1355
  1194. package/src/generators/DTCGGeneratorConfig.ts +0 -46
  1195. package/src/generators/ModeResolvedTokens.ts +0 -58
  1196. package/src/generators/ResponsiveGridGenerator.ts +0 -273
  1197. package/src/generators/TokenFileGenerator.ts +0 -2075
  1198. package/src/generators/__tests__/AccessibilityTokenGeneration.test.ts +0 -350
  1199. package/src/generators/__tests__/BlendUtilityGenerator.test.ts +0 -829
  1200. package/src/generators/__tests__/BlendValueGenerator.test.ts +0 -200
  1201. package/src/generators/__tests__/BreakpointTokenGeneration.test.ts +0 -172
  1202. package/src/generators/__tests__/CSSThemeScoping.test.ts +0 -153
  1203. package/src/generators/__tests__/DTCGConfigOptions.test.ts +0 -271
  1204. package/src/generators/__tests__/DTCGErrorHandling.test.ts +0 -139
  1205. package/src/generators/__tests__/DTCGFormatGenerator.integration.test.ts +0 -346
  1206. package/src/generators/__tests__/DTCGFormatGenerator.property.test.ts +0 -497
  1207. package/src/generators/__tests__/DTCGFormatGenerator.test.ts +0 -469
  1208. package/src/generators/__tests__/FigmaTransformer.styles.test.ts +0 -398
  1209. package/src/generators/__tests__/FigmaTransformer.variables.test.ts +0 -540
  1210. package/src/generators/__tests__/GridSpacingTokenGeneration.test.ts +0 -254
  1211. package/src/generators/__tests__/IconTokenGeneration.test.ts +0 -452
  1212. package/src/generators/__tests__/KotlinThemeTypes.test.ts +0 -110
  1213. package/src/generators/__tests__/ModeAwareGeneration.test.ts +0 -160
  1214. package/src/generators/__tests__/NativeOklchOutput.test.ts +0 -56
  1215. package/src/generators/__tests__/OklchExport.test.ts +0 -71
  1216. package/src/generators/__tests__/ProductRepoSimulation.test.ts +0 -91
  1217. package/src/generators/__tests__/ResponsiveGridGeneration.test.ts +0 -291
  1218. package/src/generators/__tests__/Spec076TokenMigration.test.ts +0 -106
  1219. package/src/generators/__tests__/Spec077ModesVerification.test.ts +0 -52
  1220. package/src/generators/__tests__/SwiftThemeTypes.test.ts +0 -122
  1221. package/src/generators/__tests__/TokenFileGenerator.test.ts +0 -914
  1222. package/src/generators/__tests__/TransformerRegistry.test.ts +0 -118
  1223. package/src/generators/__tests__/WcagValueExportSupport.test.ts +0 -84
  1224. package/src/generators/__tests__/WcagValueInfrastructure.test.ts +0 -122
  1225. package/src/generators/__tests__/WebOklchOutput.test.ts +0 -72
  1226. package/src/generators/__tests__/generateTokenIndex.test.ts +0 -204
  1227. package/src/generators/__tests__/helpers/defaultSemanticOptions.ts +0 -24
  1228. package/src/generators/generateTokenFiles.ts +0 -337
  1229. package/src/generators/generateTokenIndex.ts +0 -258
  1230. package/src/generators/oklch/OklchExportUtils.ts +0 -57
  1231. package/src/generators/oklch/OklchTokenIndexMetadata.ts +0 -30
  1232. package/src/generators/transformers/FigmaTransformer.ts +0 -912
  1233. package/src/generators/transformers/ITokenTransformer.ts +0 -56
  1234. package/src/generators/transformers/TransformerRegistry.ts +0 -63
  1235. package/src/generators/transformers/index.ts +0 -52
  1236. package/src/generators/types/DTCGTypes.ts +0 -101
  1237. package/src/integration/BuildErrorHandler.ts +0 -440
  1238. package/src/integration/BuildSystemInterface.ts +0 -338
  1239. package/src/integration/PlatformFileSelector.ts +0 -288
  1240. package/src/integration/RegistryCoordinator.ts +0 -404
  1241. package/src/integration/TranslationCoordinator.ts +0 -458
  1242. package/src/integration/TreeShakingOptimizer.ts +0 -350
  1243. package/src/integration/ValidationCoordinator.ts +0 -780
  1244. package/src/integration/__tests__/ComponentTokenValidation.test.ts +0 -762
  1245. package/src/integration/__tests__/ValidationCoordinator.test.ts +0 -609
  1246. package/src/integration/__tests__/performance/ComponentTokenValidationPerformance.test.ts +0 -161
  1247. package/src/integration/index.ts +0 -55
  1248. package/src/naming/NamingConventionManager.ts +0 -318
  1249. package/src/naming/PlatformNamingRules.ts +0 -278
  1250. package/src/naming/__tests__/NamingConventions.test.ts +0 -224
  1251. package/src/naming/index.ts +0 -23
  1252. package/src/parent-completion.md +0 -1
  1253. package/src/performance/CachingStrategy.ts +0 -426
  1254. package/src/performance/FileGenerationOptimizer.ts +0 -294
  1255. package/src/performance/PerformanceMonitor.ts +0 -185
  1256. package/src/performance/PerformanceOptimizer.ts +0 -348
  1257. package/src/performance/index.ts +0 -30
  1258. package/src/providers/AndroidFileOrganizer.ts +0 -241
  1259. package/src/providers/AndroidFormatGenerator.ts +0 -750
  1260. package/src/providers/AndroidUnitConverter.ts +0 -177
  1261. package/src/providers/FormatProvider.ts +0 -187
  1262. package/src/providers/PathProvider.ts +0 -197
  1263. package/src/providers/UnitProvider.ts +0 -106
  1264. package/src/providers/WebFileOrganizer.ts +0 -121
  1265. package/src/providers/WebFormatGenerator.ts +0 -611
  1266. package/src/providers/WebUnitConverter.ts +0 -116
  1267. package/src/providers/__tests__/AndroidAccessibilityTokens.test.ts +0 -86
  1268. package/src/providers/__tests__/AndroidFormatGenerator-semantic.test.ts +0 -494
  1269. package/src/providers/__tests__/FormatProviders.test.ts +0 -828
  1270. package/src/providers/__tests__/InsetTokenGeneration.test.ts +0 -627
  1271. package/src/providers/__tests__/PathProviders.test.ts +0 -512
  1272. package/src/providers/__tests__/PlatformOutputFormat.test.ts +0 -252
  1273. package/src/providers/__tests__/UnitProviders.test.ts +0 -721
  1274. package/src/providers/__tests__/WebFormatGenerator-semantic.test.ts +0 -293
  1275. package/src/providers/__tests__/iOSFormatGenerator-semantic.test.ts +0 -410
  1276. package/src/providers/iOSFileOrganizer.ts +0 -162
  1277. package/src/providers/iOSFormatGenerator.ts +0 -599
  1278. package/src/providers/iOSUnitConverter.ts +0 -125
  1279. package/src/providers/index.ts +0 -26
  1280. package/src/registries/ComponentTokenRegistry.ts +0 -292
  1281. package/src/registries/IRegistry.ts +0 -170
  1282. package/src/registries/__tests__/ComponentTokenRegistry.test.ts +0 -446
  1283. package/src/registries/__tests__/IRegistry.test.ts +0 -250
  1284. package/src/registries/__tests__/PrimitiveTokenRegistry.test.ts +0 -342
  1285. package/src/registries/__tests__/SemanticTokenRegistry.test.ts +0 -444
  1286. package/src/resolvers/AndroidColorResolver.ts +0 -333
  1287. package/src/resolvers/ModeThemeResolver.ts +0 -152
  1288. package/src/resolvers/SemanticOverrideResolver.ts +0 -155
  1289. package/src/resolvers/SemanticValueResolver.ts +0 -133
  1290. package/src/resolvers/WebColorResolver.ts +0 -240
  1291. package/src/resolvers/__tests__/AndroidColorResolver.test.ts +0 -507
  1292. package/src/resolvers/__tests__/ModeThemeResolver.test.ts +0 -411
  1293. package/src/resolvers/__tests__/SemanticOverrideResolver.test.ts +0 -186
  1294. package/src/resolvers/__tests__/WebColorResolver.test.ts +0 -405
  1295. package/src/resolvers/__tests__/iOSColorResolver.test.ts +0 -432
  1296. package/src/resolvers/iOSColorResolver.ts +0 -224
  1297. package/src/resolvers/index.ts +0 -11
  1298. package/src/security/AIAgentRestrictions.ts +0 -298
  1299. package/src/security/ContaminationAuditor.ts +0 -393
  1300. package/src/security/ContaminationPrevention.ts +0 -275
  1301. package/src/security/DocumentationGuard.ts +0 -258
  1302. package/src/security/FlexibilityTokenGuard.ts +0 -256
  1303. package/src/security/HumanApprovalWorkflow.ts +0 -319
  1304. package/src/security/__tests__/AIAgentRestrictions.test.ts +0 -482
  1305. package/src/security/__tests__/ContaminationPrevention.test.ts +0 -424
  1306. package/src/security/__tests__/SecurityIntegration.test.ts +0 -505
  1307. package/src/security/index.ts +0 -48
  1308. package/src/testing/__tests__/utilities.test.ts +0 -175
  1309. package/src/testing/index.ts +0 -154
  1310. package/src/testing/jest-preset.ts +0 -62
  1311. package/src/testing/style-mock.ts +0 -7
  1312. package/src/testing/validators.ts +0 -10
  1313. package/src/themes/ResolvedThemeSet.ts +0 -22
  1314. package/src/themes/ThemeRegistry.ts +0 -97
  1315. package/src/themes/__tests__/ThemeRegistry.test.ts +0 -162
  1316. package/src/tools/ThemeFileGenerator.ts +0 -109
  1317. package/src/tools/integrity/DiskFreshGenerator.ts +0 -36
  1318. package/src/tools/integrity/GenerationIntegrityCheck.ts +0 -132
  1319. package/src/tools/integrity/Invariants.ts +0 -228
  1320. package/src/tools/integrity/Normalizer.ts +0 -94
  1321. package/src/tools/integrity/SemanticComparator.ts +0 -127
  1322. package/src/tools/integrity/__tests__/GenerationIntegrityCheck.test.ts +0 -132
  1323. package/src/tools/integrity/__tests__/Invariants.test.ts +0 -142
  1324. package/src/tools/integrity/__tests__/Normalizer.test.ts +0 -65
  1325. package/src/tools/integrity/__tests__/SemanticComparator.test.ts +0 -62
  1326. package/src/tools/integrity/__tests__/consumer-package-mode.test.ts +0 -205
  1327. package/src/tools/integrity/cli/run-audit.ts +0 -150
  1328. package/src/tools/integrity/inventory.ts +0 -51
  1329. package/src/tools/integrity/manifest.ts +0 -56
  1330. package/src/tools/integrity/types/index.ts +0 -183
  1331. package/src/types/ComponentTypes.ts +0 -76
  1332. package/src/types/TranslationOutput.ts +0 -105
  1333. package/src/types/ValidationResult.ts +0 -74
  1334. package/src/types/__tests__/ComponentTypes.test.ts +0 -73
  1335. package/src/types/css.d.ts +0 -35
  1336. package/src/types/generated/TokenTypes.ts +0 -142
  1337. package/src/types/index.ts +0 -42
  1338. package/src/validators/BaselineGridValidator.ts +0 -119
  1339. package/src/validators/CompositionPatternValidator.ts +0 -259
  1340. package/src/validators/CrossPlatformConsistencyValidator.ts +0 -498
  1341. package/src/validators/ErrorValidator.ts +0 -998
  1342. package/src/validators/IValidator.ts +0 -273
  1343. package/src/validators/MathematicalRelationshipParser.ts +0 -434
  1344. package/src/validators/ModeParity.ts +0 -123
  1345. package/src/validators/PassValidator.ts +0 -533
  1346. package/src/validators/PlatformConstraintHandler.ts +0 -453
  1347. package/src/validators/PrimitiveReferenceValidator.ts +0 -284
  1348. package/src/validators/SemanticTokenValidator.ts +0 -496
  1349. package/src/validators/StemmaComponentNamingValidator.ts +0 -524
  1350. package/src/validators/StemmaErrorGuidanceSystem.ts +0 -1600
  1351. package/src/validators/StemmaPropertyAccessibilityValidator.ts +0 -823
  1352. package/src/validators/StemmaTokenUsageValidator.ts +0 -651
  1353. package/src/validators/SyntaxValidator.ts +0 -537
  1354. package/src/validators/ThreeTierValidator.ts +0 -822
  1355. package/src/validators/ToleranceCalculator.ts +0 -324
  1356. package/src/validators/ValidationReasoning.ts +0 -464
  1357. package/src/validators/WCAGValidator.ts +0 -219
  1358. package/src/validators/WarningValidator.ts +0 -626
  1359. package/src/validators/__tests__/BaselineGridValidator.test.ts +0 -292
  1360. package/src/validators/__tests__/BorderWidthValidation.test.ts +0 -595
  1361. package/src/validators/__tests__/CompositionPatterns.test.ts +0 -463
  1362. package/src/validators/__tests__/CrossPlatformConsistency.test.ts +0 -834
  1363. package/src/validators/__tests__/IValidator.test.ts +0 -258
  1364. package/src/validators/__tests__/MathematicalRelationshipParser.test.ts +0 -465
  1365. package/src/validators/__tests__/PlatformConstraints.test.ts +0 -486
  1366. package/src/validators/__tests__/SemanticTokenValidator.test.ts +0 -723
  1367. package/src/validators/__tests__/StemmaComponentNamingValidator.test.ts +0 -597
  1368. package/src/validators/__tests__/StemmaErrorGuidanceSystem.test.ts +0 -717
  1369. package/src/validators/__tests__/StemmaPropertyAccessibilityValidator.test.ts +0 -349
  1370. package/src/validators/__tests__/StemmaTokenUsageValidator.test.ts +0 -432
  1371. package/src/validators/__tests__/SyntaxValidator.test.ts +0 -360
  1372. package/src/validators/__tests__/ThreeTierValidator.test.ts +0 -906
  1373. package/src/validators/__tests__/ValidationReasoning.test.ts +0 -636
  1374. package/src/validators/__tests__/WCAGValidator.test.ts +0 -243
  1375. package/src/validators/buildValidation.ts +0 -170
  1376. package/src/validators/index.ts +0 -144
  1377. package/src/workflows/ConsistencyValidator.ts +0 -339
  1378. package/src/workflows/TokenGenerationWorkflow.ts +0 -460
  1379. package/src/workflows/ValidationPipeline.ts +0 -284
  1380. package/src/workflows/WorkflowErrorHandler.ts +0 -441
@@ -1,1600 +0,0 @@
1
- /**
2
- * Stemma System Error Guidance System
3
- *
4
- * Provides comprehensive error message templates with correction guidance,
5
- * links to relevant documentation, and IDE integration for real-time feedback.
6
- *
7
- * Features:
8
- * - Unified error message templates across all Stemma validators
9
- * - Documentation links for each error type
10
- * - IDE-friendly output formats (JSON, plain text, markdown)
11
- * - Severity levels for prioritization
12
- * - Quick fix suggestions for common issues
13
- *
14
- * @see .kiro/steering/stemma-system-principles.md
15
- * @see Requirements: R8 (Health Guardrails and Validation)
16
- */
17
-
18
- import type {
19
- ComponentNameValidationResult,
20
- ComponentNameError,
21
- ComponentNameWarning,
22
- ComponentNameErrorCode,
23
- ComponentNameWarningCode,
24
- } from './StemmaComponentNamingValidator';
25
-
26
- import type {
27
- TokenUsageValidationResult,
28
- TokenUsageError,
29
- TokenUsageWarning,
30
- TokenUsageErrorCode,
31
- TokenUsageWarningCode,
32
- } from './StemmaTokenUsageValidator';
33
-
34
- import type {
35
- PropertyAccessibilityValidationResult,
36
- PropertyAccessibilityError,
37
- PropertyAccessibilityWarning,
38
- PropertyAccessibilityErrorCode,
39
- PropertyAccessibilityWarningCode,
40
- } from './StemmaPropertyAccessibilityValidator';
41
-
42
- // ============================================================================
43
- // Types and Interfaces
44
- // ============================================================================
45
-
46
- /**
47
- * Severity levels for errors and warnings
48
- */
49
- export type ErrorSeverity = 'error' | 'warning' | 'info' | 'hint';
50
-
51
- /**
52
- * Error category for grouping related errors
53
- */
54
- export type ErrorCategory =
55
- | 'naming'
56
- | 'token-usage'
57
- | 'property'
58
- | 'accessibility'
59
- | 'schema'
60
- | 'documentation';
61
-
62
-
63
- /**
64
- * Unified error guidance entry
65
- */
66
- export interface ErrorGuidance {
67
- /** Unique error code */
68
- code: string;
69
-
70
- /** Error category */
71
- category: ErrorCategory;
72
-
73
- /** Severity level */
74
- severity: ErrorSeverity;
75
-
76
- /** Short title for the error */
77
- title: string;
78
-
79
- /** Detailed description of the error */
80
- description: string;
81
-
82
- /** Step-by-step guidance for fixing the error */
83
- guidance: string[];
84
-
85
- /** Link to relevant documentation */
86
- documentationLink?: string;
87
-
88
- /** Quick fix suggestion (if available) */
89
- quickFix?: QuickFix;
90
-
91
- /** Related error codes */
92
- relatedCodes?: string[];
93
-
94
- /** WCAG reference (for accessibility errors) */
95
- wcag?: string;
96
- }
97
-
98
- /**
99
- * Quick fix suggestion for IDE integration
100
- */
101
- export interface QuickFix {
102
- /** Title of the quick fix */
103
- title: string;
104
-
105
- /** Type of fix */
106
- type: 'replace' | 'insert' | 'delete' | 'refactor';
107
-
108
- /** Suggested replacement text (for replace/insert) */
109
- replacement?: string;
110
-
111
- /** Whether this fix can be applied automatically */
112
- autoApplicable: boolean;
113
- }
114
-
115
- /**
116
- * IDE diagnostic format (compatible with VS Code, ESLint, etc.)
117
- */
118
- export interface IDEDiagnostic {
119
- /** Severity level (1=error, 2=warning, 3=info, 4=hint) */
120
- severity: 1 | 2 | 3 | 4;
121
-
122
- /** Error message */
123
- message: string;
124
-
125
- /** Error code */
126
- code: string;
127
-
128
- /** Source identifier */
129
- source: string;
130
-
131
- /** Start position */
132
- range: {
133
- start: { line: number; character: number };
134
- end: { line: number; character: number };
135
- };
136
-
137
- /** Related information */
138
- relatedInformation?: Array<{
139
- location: { uri: string; range: { start: { line: number; character: number }; end: { line: number; character: number } } };
140
- message: string;
141
- }>;
142
-
143
- /** Quick fix actions */
144
- codeActions?: Array<{
145
- title: string;
146
- kind: string;
147
- edit?: { changes: Record<string, Array<{ range: { start: { line: number; character: number }; end: { line: number; character: number } }; newText: string }>> };
148
- }>;
149
- }
150
-
151
-
152
- /**
153
- * Aggregated validation result from all validators
154
- */
155
- export interface AggregatedValidationResult {
156
- /** Overall validity */
157
- valid: boolean;
158
-
159
- /** All errors grouped by category */
160
- errors: ErrorGuidance[];
161
-
162
- /** All warnings grouped by category */
163
- warnings: ErrorGuidance[];
164
-
165
- /** Summary statistics */
166
- summary: {
167
- totalErrors: number;
168
- totalWarnings: number;
169
- byCategory: Record<ErrorCategory, { errors: number; warnings: number }>;
170
- };
171
-
172
- /** IDE diagnostics for all issues */
173
- diagnostics: IDEDiagnostic[];
174
- }
175
-
176
- // ============================================================================
177
- // Documentation Links
178
- // ============================================================================
179
-
180
- /**
181
- * Documentation links for error guidance
182
- */
183
- export const DOCUMENTATION_LINKS = {
184
- // Stemma System documentation
185
- STEMMA_PRINCIPLES: '.kiro/steering/stemma-system-principles.md',
186
- COMPONENT_QUICK_REFERENCE: '.kiro/steering/Component-Quick-Reference.md',
187
- COMPONENT_DEVELOPMENT_GUIDE: '.kiro/steering/Component-Development-Guide.md',
188
-
189
- // Component family documentation
190
- FORM_INPUTS_COMPONENTS: '.kiro/steering/form-inputs-components.md',
191
- BUTTON_COMPONENTS: '.kiro/steering/button-components.md',
192
- CONTAINER_COMPONENTS: '.kiro/steering/container-components.md',
193
- ICON_COMPONENTS: '.kiro/steering/icon-components.md',
194
-
195
- // Token documentation
196
- TOKEN_QUICK_REFERENCE: '.kiro/steering/Token Quick Reference.md',
197
-
198
- // WCAG documentation
199
- WCAG_GUIDELINES: 'https://www.w3.org/WAI/WCAG21/quickref/',
200
-
201
- // MCP query examples
202
- MCP_QUERY_EXAMPLES: '.kiro/steering/Component-Quick-Reference.md#mcp-query-examples',
203
- } as const;
204
-
205
-
206
- // ============================================================================
207
- // Error Message Templates
208
- // ============================================================================
209
-
210
- /**
211
- * Error message templates for component naming validation
212
- */
213
- export const NAMING_ERROR_TEMPLATES: Record<ComponentNameErrorCode, ErrorGuidance> = {
214
- MISSING_HYPHENS: {
215
- code: 'MISSING_HYPHENS',
216
- category: 'naming',
217
- severity: 'error',
218
- title: 'Missing Hyphens in Component Name',
219
- description: 'Component names must use hyphens to separate segments following the [Family]-[Type]-[Variant] pattern.',
220
- guidance: [
221
- 'Add hyphens between name segments',
222
- 'Use the pattern [Family]-[Type] or [Family]-[Type]-[Variant]',
223
- 'Example: "InputText" should be "Input-Text"',
224
- 'Example: "ButtonCTA" should be "Button-CTA"',
225
- ],
226
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
227
- quickFix: {
228
- title: 'Convert to hyphenated format',
229
- type: 'replace',
230
- autoApplicable: true,
231
- },
232
- relatedCodes: ['WRONG_CASE', 'TOO_FEW_SEGMENTS'],
233
- },
234
-
235
- WRONG_CASE: {
236
- code: 'WRONG_CASE',
237
- category: 'naming',
238
- severity: 'error',
239
- title: 'Incorrect Case in Component Name',
240
- description: 'Each segment in a component name must use PascalCase (first letter uppercase).',
241
- guidance: [
242
- 'Capitalize the first letter of each segment',
243
- 'Use PascalCase for each word within a segment',
244
- 'Short acronyms (2-3 chars like CTA, URL) can be all uppercase',
245
- 'Example: "input-text" should be "Input-Text"',
246
- ],
247
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
248
- quickFix: {
249
- title: 'Convert to PascalCase',
250
- type: 'replace',
251
- autoApplicable: true,
252
- },
253
- },
254
-
255
- TOO_MANY_SEGMENTS: {
256
- code: 'TOO_MANY_SEGMENTS',
257
- category: 'naming',
258
- severity: 'error',
259
- title: 'Too Many Segments in Component Name',
260
- description: 'Component names should have 2-3 segments maximum: [Family]-[Type] or [Family]-[Type]-[Variant].',
261
- guidance: [
262
- 'Simplify the component name to 2-3 segments',
263
- 'Consider if some segments can be combined',
264
- 'Use the variant segment for specialization, not additional hierarchy',
265
- 'Example: "Input-Text-Email-Validation" should be "Input-Text-Email"',
266
- ],
267
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
268
- },
269
-
270
- TOO_FEW_SEGMENTS: {
271
- code: 'TOO_FEW_SEGMENTS',
272
- category: 'naming',
273
- severity: 'error',
274
- title: 'Too Few Segments in Component Name',
275
- description: 'Component names must have at least 2 segments: [Family]-[Type].',
276
- guidance: [
277
- 'Add a type segment to identify the component role',
278
- 'Use [Family]-[Type] for standalone components',
279
- 'Use [Family]-Base for primitive/foundational components',
280
- 'Example: "Input" should be "Input-Text" or "Input-Base"',
281
- ],
282
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
283
- },
284
-
285
-
286
- INVALID_SEGMENT_FORMAT: {
287
- code: 'INVALID_SEGMENT_FORMAT',
288
- category: 'naming',
289
- severity: 'error',
290
- title: 'Invalid Segment Format',
291
- description: 'One or more segments in the component name have an invalid format.',
292
- guidance: [
293
- 'Ensure each segment contains only letters and numbers',
294
- 'Start each segment with an uppercase letter',
295
- 'Avoid special characters except hyphens between segments',
296
- ],
297
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
298
- },
299
-
300
- RESERVED_KEYWORD_MISUSE: {
301
- code: 'RESERVED_KEYWORD_MISUSE',
302
- category: 'naming',
303
- severity: 'error',
304
- title: 'Reserved Keyword Misuse',
305
- description: 'A reserved keyword is being used incorrectly in the component name.',
306
- guidance: [
307
- 'Use "Base" for foundational/primitive components',
308
- 'Avoid using "Abstract", "Core", or "Default" as they are reserved',
309
- 'Example: Use "Container-Base" instead of "Container-Abstract"',
310
- ],
311
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
312
- quickFix: {
313
- title: 'Replace with "Base"',
314
- type: 'replace',
315
- replacement: 'Base',
316
- autoApplicable: true,
317
- },
318
- },
319
-
320
- EMPTY_SEGMENT: {
321
- code: 'EMPTY_SEGMENT',
322
- category: 'naming',
323
- severity: 'error',
324
- title: 'Empty Segment in Component Name',
325
- description: 'Component name contains empty segments (consecutive hyphens or empty string).',
326
- guidance: [
327
- 'Remove consecutive hyphens',
328
- 'Ensure each segment has at least one character',
329
- 'Example: "Input--Text" should be "Input-Text"',
330
- ],
331
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
332
- quickFix: {
333
- title: 'Remove empty segments',
334
- type: 'replace',
335
- autoApplicable: true,
336
- },
337
- },
338
-
339
- INVALID_CHARACTERS: {
340
- code: 'INVALID_CHARACTERS',
341
- category: 'naming',
342
- severity: 'error',
343
- title: 'Invalid Characters in Component Name',
344
- description: 'Component name contains characters that are not allowed.',
345
- guidance: [
346
- 'Use only letters (a-z, A-Z), numbers (0-9), and hyphens (-)',
347
- 'Remove underscores, spaces, and special characters',
348
- 'Example: "Input_Text" should be "Input-Text"',
349
- ],
350
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
351
- quickFix: {
352
- title: 'Replace invalid characters',
353
- type: 'replace',
354
- autoApplicable: true,
355
- },
356
- },
357
- };
358
-
359
-
360
- /**
361
- * Warning message templates for component naming validation
362
- */
363
- export const NAMING_WARNING_TEMPLATES: Record<ComponentNameWarningCode, ErrorGuidance> = {
364
- BASE_NOT_AT_END: {
365
- code: 'BASE_NOT_AT_END',
366
- category: 'naming',
367
- severity: 'warning',
368
- title: '"Base" Used Incorrectly',
369
- description: '"Base" is used as Type but there is also a Variant segment.',
370
- guidance: [
371
- 'When using "Base" as Type, there should be no Variant',
372
- 'Consider restructuring: [Family]-Base or [Family]-[Type]-[Variant]',
373
- 'Example: "Container-Base-Large" should be "Container-Large" or "Container-Base"',
374
- ],
375
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
376
- },
377
-
378
- UNUSUAL_FAMILY_NAME: {
379
- code: 'UNUSUAL_FAMILY_NAME',
380
- category: 'naming',
381
- severity: 'warning',
382
- title: 'Unknown Component Family',
383
- description: 'The family name is not in the list of known Stemma System families.',
384
- guidance: [
385
- 'Known families: Input, Button, Container, Icon, Modal, Avatar, Badge, DataDisplay, Divider, Loading, Nav',
386
- 'If this is a new family, ensure it is documented in the Component Quick Reference',
387
- 'Consider if the component belongs to an existing family',
388
- ],
389
- documentationLink: DOCUMENTATION_LINKS.COMPONENT_QUICK_REFERENCE,
390
- },
391
-
392
- LONG_SEGMENT_NAME: {
393
- code: 'LONG_SEGMENT_NAME',
394
- category: 'naming',
395
- severity: 'warning',
396
- title: 'Long Segment Name',
397
- description: 'A segment in the component name is unusually long (over 20 characters).',
398
- guidance: [
399
- 'Consider using a shorter, more concise name',
400
- 'Long names can be harder to read and type',
401
- 'Abbreviations are acceptable if they are well-known (e.g., CTA, URL)',
402
- ],
403
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
404
- },
405
- };
406
-
407
-
408
- /**
409
- * Error message templates for token usage validation
410
- */
411
- export const TOKEN_USAGE_ERROR_TEMPLATES: Record<TokenUsageErrorCode, ErrorGuidance> = {
412
- INLINE_STYLE_COLOR: {
413
- code: 'INLINE_STYLE_COLOR',
414
- category: 'token-usage',
415
- severity: 'error',
416
- title: 'Inline Color Style Detected',
417
- description: 'A hardcoded color value was found instead of a design token reference.',
418
- guidance: [
419
- 'Replace inline color with a semantic color token',
420
- 'Use tokens like color.primary, color.text.default, color.background',
421
- 'For state colors, use blend tokens like blend.hoverDarker',
422
- 'Query MCP for available color tokens: get_section("Token Quick Reference.md", "Color Tokens")',
423
- ],
424
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
425
- quickFix: {
426
- title: 'Replace with color token',
427
- type: 'replace',
428
- autoApplicable: false,
429
- },
430
- },
431
-
432
- INLINE_STYLE_SPACING: {
433
- code: 'INLINE_STYLE_SPACING',
434
- category: 'token-usage',
435
- severity: 'error',
436
- title: 'Inline Spacing Style Detected',
437
- description: 'A hardcoded spacing value was found instead of a design token reference.',
438
- guidance: [
439
- 'Replace inline spacing with a semantic spacing token',
440
- 'Use tokens like space.inset.100, space.inline.150, space.grouped.tight',
441
- 'Spacing tokens follow the 8px baseline grid',
442
- 'Query MCP for available spacing tokens: get_section("Token Quick Reference.md", "Spacing Tokens")',
443
- ],
444
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
445
- quickFix: {
446
- title: 'Replace with spacing token',
447
- type: 'replace',
448
- autoApplicable: false,
449
- },
450
- },
451
-
452
- INLINE_STYLE_TYPOGRAPHY: {
453
- code: 'INLINE_STYLE_TYPOGRAPHY',
454
- category: 'token-usage',
455
- severity: 'error',
456
- title: 'Inline Typography Style Detected',
457
- description: 'A hardcoded typography value was found instead of a design token reference.',
458
- guidance: [
459
- 'Replace inline typography with a semantic typography token',
460
- 'Use tokens like typography.body, typography.labelMd, typography.heading',
461
- 'Typography tokens include fontSize, lineHeight, fontWeight, and letterSpacing',
462
- 'Query MCP for available typography tokens: get_section("Token Quick Reference.md", "Typography Tokens")',
463
- ],
464
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
465
- quickFix: {
466
- title: 'Replace with typography token',
467
- type: 'replace',
468
- autoApplicable: false,
469
- },
470
- },
471
-
472
- INLINE_STYLE_BORDER: {
473
- code: 'INLINE_STYLE_BORDER',
474
- category: 'token-usage',
475
- severity: 'error',
476
- title: 'Inline Border Style Detected',
477
- description: 'A hardcoded border value was found instead of a design token reference.',
478
- guidance: [
479
- 'Replace inline border with a semantic border token',
480
- 'Use tokens like border.default, radius.100, radius.150',
481
- 'Border radius tokens follow the spacing scale',
482
- 'Query MCP for available border tokens: get_section("Token Quick Reference.md", "Border Tokens")',
483
- ],
484
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
485
- quickFix: {
486
- title: 'Replace with border token',
487
- type: 'replace',
488
- autoApplicable: false,
489
- },
490
- },
491
-
492
-
493
- HARDCODED_COLOR: {
494
- code: 'HARDCODED_COLOR',
495
- category: 'token-usage',
496
- severity: 'error',
497
- title: 'Hardcoded Color Value',
498
- description: 'A hex or RGB color value was found that should use a design token.',
499
- guidance: [
500
- 'Replace hardcoded color with a semantic color token',
501
- 'Semantic tokens ensure consistency across themes and platforms',
502
- 'Example: Replace "#FF0000" with color.error or color.danger',
503
- 'Query MCP for color token mapping: get_document_full("Token Quick Reference.md")',
504
- ],
505
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
506
- quickFix: {
507
- title: 'Replace with semantic color token',
508
- type: 'replace',
509
- autoApplicable: false,
510
- },
511
- },
512
-
513
- HARDCODED_SPACING: {
514
- code: 'HARDCODED_SPACING',
515
- category: 'token-usage',
516
- severity: 'error',
517
- title: 'Hardcoded Spacing Value',
518
- description: 'A pixel or rem spacing value was found that should use a design token.',
519
- guidance: [
520
- 'Replace hardcoded spacing with a semantic spacing token',
521
- 'Spacing tokens ensure consistent rhythm across the design system',
522
- 'Example: Replace "16px" with space.inset.200',
523
- 'Query MCP for spacing token mapping: get_section("Token Quick Reference.md", "Spacing Tokens")',
524
- ],
525
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
526
- quickFix: {
527
- title: 'Replace with spacing token',
528
- type: 'replace',
529
- autoApplicable: false,
530
- },
531
- },
532
-
533
- HARDCODED_FONT_SIZE: {
534
- code: 'HARDCODED_FONT_SIZE',
535
- category: 'token-usage',
536
- severity: 'error',
537
- title: 'Hardcoded Font Size',
538
- description: 'A hardcoded font size was found that should use a typography token.',
539
- guidance: [
540
- 'Replace hardcoded font size with a typography token',
541
- 'Typography tokens include fontSize as part of a complete type style',
542
- 'Example: Replace "14px" with typography.bodySm',
543
- 'Query MCP for typography tokens: get_section("Token Quick Reference.md", "Typography Tokens")',
544
- ],
545
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
546
- quickFix: {
547
- title: 'Replace with typography token',
548
- type: 'replace',
549
- autoApplicable: false,
550
- },
551
- },
552
-
553
- HARDCODED_BORDER_RADIUS: {
554
- code: 'HARDCODED_BORDER_RADIUS',
555
- category: 'token-usage',
556
- severity: 'error',
557
- title: 'Hardcoded Border Radius',
558
- description: 'A hardcoded border radius was found that should use a radius token.',
559
- guidance: [
560
- 'Replace hardcoded border radius with a radius token',
561
- 'Radius tokens ensure consistent corner rounding',
562
- 'Example: Replace "8px" with radius.100',
563
- 'Query MCP for radius tokens: get_section("Token Quick Reference.md", "Border Tokens")',
564
- ],
565
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
566
- quickFix: {
567
- title: 'Replace with radius token',
568
- type: 'replace',
569
- autoApplicable: false,
570
- },
571
- },
572
-
573
- MISSING_REQUIRED_TOKEN: {
574
- code: 'MISSING_REQUIRED_TOKEN',
575
- category: 'token-usage',
576
- severity: 'error',
577
- title: 'Missing Required Token',
578
- description: 'A token required by the component schema is not being used.',
579
- guidance: [
580
- 'Check the component schema for required tokens',
581
- 'Ensure all required tokens are referenced in the implementation',
582
- 'Required tokens are defined in the component\'s .schema.yaml file',
583
- 'Query MCP for component schema: get_document_full("[component]-components.md")',
584
- ],
585
- documentationLink: DOCUMENTATION_LINKS.COMPONENT_DEVELOPMENT_GUIDE,
586
- },
587
-
588
- INVALID_TOKEN_REFERENCE: {
589
- code: 'INVALID_TOKEN_REFERENCE',
590
- category: 'token-usage',
591
- severity: 'error',
592
- title: 'Invalid Token Reference',
593
- description: 'A token reference was found that does not match any known token.',
594
- guidance: [
595
- 'Verify the token name is spelled correctly',
596
- 'Check that the token exists in the design system',
597
- 'Use the Token Quick Reference to find valid token names',
598
- 'Query MCP for available tokens: get_documentation_map()',
599
- ],
600
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
601
- },
602
- };
603
-
604
-
605
- /**
606
- * Warning message templates for token usage validation
607
- */
608
- export const TOKEN_USAGE_WARNING_TEMPLATES: Record<TokenUsageWarningCode, ErrorGuidance> = {
609
- OPACITY_WORKAROUND: {
610
- code: 'OPACITY_WORKAROUND',
611
- category: 'token-usage',
612
- severity: 'warning',
613
- title: 'Opacity Workaround Detected',
614
- description: 'An opacity value is being used that may be a workaround for state colors.',
615
- guidance: [
616
- 'Consider using blend tokens instead of opacity for state colors',
617
- 'Blend tokens like blend.hoverDarker provide consistent state styling',
618
- 'Opacity workarounds can cause accessibility issues with contrast',
619
- ],
620
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
621
- },
622
-
623
- FILTERBRIGHTNESS_WORKAROUND: {
624
- code: 'FILTERBRIGHTNESS_WORKAROUND',
625
- category: 'token-usage',
626
- severity: 'warning',
627
- title: 'Filter Brightness Workaround Detected',
628
- description: 'A CSS filter brightness is being used that may be a workaround for state colors.',
629
- guidance: [
630
- 'Consider using blend tokens instead of filter brightness',
631
- 'Blend tokens provide more predictable color transformations',
632
- 'Filter brightness can cause unexpected results on different backgrounds',
633
- ],
634
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
635
- },
636
-
637
- SCALEEFFECT_WORKAROUND: {
638
- code: 'SCALEEFFECT_WORKAROUND',
639
- category: 'token-usage',
640
- severity: 'warning',
641
- title: 'Scale Effect Workaround Detected',
642
- description: 'A SwiftUI scaleEffect is being used that may be a workaround for pressed states.',
643
- guidance: [
644
- 'Consider using blend tokens for pressed state styling',
645
- 'Scale effects can cause layout shifts and accessibility issues',
646
- 'Blend tokens provide consistent pressed state appearance',
647
- ],
648
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
649
- },
650
-
651
- RIPPLE_WORKAROUND: {
652
- code: 'RIPPLE_WORKAROUND',
653
- category: 'token-usage',
654
- severity: 'warning',
655
- title: 'Ripple Workaround Detected',
656
- description: 'A Jetpack Compose ripple is being used that may need blend token integration.',
657
- guidance: [
658
- 'Ensure ripple colors use blend tokens for consistency',
659
- 'Blend tokens can be applied to ripple effects for state colors',
660
- 'Consider the interaction between ripple and blend tokens',
661
- ],
662
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
663
- },
664
-
665
- MAGIC_NUMBER: {
666
- code: 'MAGIC_NUMBER',
667
- category: 'token-usage',
668
- severity: 'warning',
669
- title: 'Magic Number Detected',
670
- description: 'A numeric value was found that may be a magic number.',
671
- guidance: [
672
- 'Consider if this value should be a design token',
673
- 'Magic numbers make maintenance difficult',
674
- 'If the value is intentional, add a comment explaining why',
675
- ],
676
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
677
- },
678
-
679
- UNKNOWN_TOKEN_PATTERN: {
680
- code: 'UNKNOWN_TOKEN_PATTERN',
681
- category: 'token-usage',
682
- severity: 'warning',
683
- title: 'Unknown Token Pattern',
684
- description: 'A token-like pattern was found that does not match known token formats.',
685
- guidance: [
686
- 'Verify the token reference format is correct',
687
- 'Check the Token Quick Reference for valid token patterns',
688
- 'Ensure the token exists in the design system',
689
- ],
690
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
691
- },
692
-
693
- DEPRECATED_TOKEN: {
694
- code: 'DEPRECATED_TOKEN',
695
- category: 'token-usage',
696
- severity: 'warning',
697
- title: 'Deprecated Token Usage',
698
- description: 'A deprecated token is being used that should be replaced.',
699
- guidance: [
700
- 'Check the Token Quick Reference for the replacement token',
701
- 'Deprecated tokens may be removed in future versions',
702
- 'Update to the recommended replacement token',
703
- ],
704
- documentationLink: DOCUMENTATION_LINKS.TOKEN_QUICK_REFERENCE,
705
- },
706
- };
707
-
708
-
709
- /**
710
- * Error message templates for property and accessibility validation
711
- */
712
- export const PROPERTY_ACCESSIBILITY_ERROR_TEMPLATES: Record<PropertyAccessibilityErrorCode, ErrorGuidance> = {
713
- MISSING_REQUIRED_PROPERTY: {
714
- code: 'MISSING_REQUIRED_PROPERTY',
715
- category: 'property',
716
- severity: 'error',
717
- title: 'Missing Required Property',
718
- description: 'A required property is not provided for the component.',
719
- guidance: [
720
- 'Check the component schema for required properties',
721
- 'Add the missing property with an appropriate value',
722
- 'Required properties are marked with "required: true" in the schema',
723
- 'Query MCP for component schema: get_document_full("[family]-components.md")',
724
- ],
725
- documentationLink: DOCUMENTATION_LINKS.COMPONENT_DEVELOPMENT_GUIDE,
726
- },
727
-
728
- INVALID_PROPERTY_TYPE: {
729
- code: 'INVALID_PROPERTY_TYPE',
730
- category: 'property',
731
- severity: 'error',
732
- title: 'Invalid Property Type',
733
- description: 'A property value has the wrong type.',
734
- guidance: [
735
- 'Check the expected type in the component schema',
736
- 'Convert the value to the correct type',
737
- 'Common types: string, boolean, number',
738
- ],
739
- documentationLink: DOCUMENTATION_LINKS.COMPONENT_DEVELOPMENT_GUIDE,
740
- },
741
-
742
- INVALID_PROPERTY_VALUE: {
743
- code: 'INVALID_PROPERTY_VALUE',
744
- category: 'property',
745
- severity: 'error',
746
- title: 'Invalid Property Value',
747
- description: 'A property value is not in the allowed set of values.',
748
- guidance: [
749
- 'Check the allowed values in the component schema',
750
- 'Use one of the valid options',
751
- 'Union types list all allowed values',
752
- ],
753
- documentationLink: DOCUMENTATION_LINKS.COMPONENT_DEVELOPMENT_GUIDE,
754
- },
755
-
756
- MISSING_ACCESSIBILITY_LABEL: {
757
- code: 'MISSING_ACCESSIBILITY_LABEL',
758
- category: 'accessibility',
759
- severity: 'error',
760
- title: 'Missing Accessibility Label',
761
- description: 'An interactive component is missing an accessibility label.',
762
- guidance: [
763
- 'Add a "label" property for visible labels',
764
- 'Add "accessibilityLabel" for screen reader only labels',
765
- 'All interactive elements must have accessible names (WCAG 4.1.2)',
766
- 'For icon-only buttons, use accessibilityLabel to describe the action',
767
- ],
768
- documentationLink: DOCUMENTATION_LINKS.WCAG_GUIDELINES,
769
- wcag: '4.1.2',
770
- },
771
-
772
- MISSING_FOCUS_INDICATOR: {
773
- code: 'MISSING_FOCUS_INDICATOR',
774
- category: 'accessibility',
775
- severity: 'error',
776
- title: 'Missing Focus Indicator',
777
- description: 'An interactive component does not have a visible focus indicator.',
778
- guidance: [
779
- 'Ensure the component has a visible focus ring',
780
- 'Use focus ring tokens for consistent styling',
781
- 'Focus indicators must be visible (WCAG 2.4.7)',
782
- 'Test with keyboard navigation to verify focus visibility',
783
- ],
784
- documentationLink: DOCUMENTATION_LINKS.WCAG_GUIDELINES,
785
- wcag: '2.4.7',
786
- },
787
-
788
-
789
- INSUFFICIENT_TOUCH_TARGET: {
790
- code: 'INSUFFICIENT_TOUCH_TARGET',
791
- category: 'accessibility',
792
- severity: 'error',
793
- title: 'Insufficient Touch Target Size',
794
- description: 'The touch target size is below the minimum required for accessibility.',
795
- guidance: [
796
- 'Increase the touch target to at least 24x24 CSS pixels (WCAG 2.5.8)',
797
- 'Recommended size is 44x44 CSS pixels (WCAG 2.5.5)',
798
- 'iOS Human Interface Guidelines recommend 48x48 points',
799
- 'Use padding to increase touch target without changing visual size',
800
- ],
801
- documentationLink: DOCUMENTATION_LINKS.WCAG_GUIDELINES,
802
- wcag: '2.5.8',
803
- },
804
-
805
- MISSING_ERROR_IDENTIFICATION: {
806
- code: 'MISSING_ERROR_IDENTIFICATION',
807
- category: 'accessibility',
808
- severity: 'error',
809
- title: 'Missing Error Identification',
810
- description: 'Form input errors are not properly identified to users.',
811
- guidance: [
812
- 'Add error message support to form inputs',
813
- 'Use aria-invalid and aria-describedby for error states',
814
- 'Error messages must be programmatically associated (WCAG 3.3.1)',
815
- 'Provide clear, specific error messages',
816
- ],
817
- documentationLink: DOCUMENTATION_LINKS.WCAG_GUIDELINES,
818
- wcag: '3.3.1',
819
- },
820
-
821
- MISSING_KEYBOARD_SUPPORT: {
822
- code: 'MISSING_KEYBOARD_SUPPORT',
823
- category: 'accessibility',
824
- severity: 'error',
825
- title: 'Missing Keyboard Support',
826
- description: 'An interactive component cannot be operated with keyboard.',
827
- guidance: [
828
- 'Ensure the component is focusable (tabindex)',
829
- 'Add keyboard event handlers for activation',
830
- 'All functionality must be keyboard accessible (WCAG 2.1.1)',
831
- 'Test with Tab, Enter, Space, and arrow keys',
832
- ],
833
- documentationLink: DOCUMENTATION_LINKS.WCAG_GUIDELINES,
834
- wcag: '2.1.1',
835
- },
836
-
837
- SCHEMA_NOT_FOUND: {
838
- code: 'SCHEMA_NOT_FOUND',
839
- category: 'schema',
840
- severity: 'error',
841
- title: 'Component Schema Not Found',
842
- description: 'The component schema file could not be found.',
843
- guidance: [
844
- 'Ensure the schema file exists at the expected path',
845
- 'Schema files should be named [Component-Name].schema.yaml',
846
- 'Schema files should be in the component directory',
847
- 'Create a schema file following the Stemma System template',
848
- ],
849
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
850
- },
851
-
852
- SCHEMA_PARSE_ERROR: {
853
- code: 'SCHEMA_PARSE_ERROR',
854
- category: 'schema',
855
- severity: 'error',
856
- title: 'Schema Parse Error',
857
- description: 'The component schema file could not be parsed.',
858
- guidance: [
859
- 'Check the schema file for YAML syntax errors',
860
- 'Ensure proper indentation (2 spaces)',
861
- 'Verify all required fields are present',
862
- 'Use a YAML validator to check syntax',
863
- ],
864
- documentationLink: DOCUMENTATION_LINKS.STEMMA_PRINCIPLES,
865
- },
866
- };
867
-
868
-
869
- /**
870
- * Warning message templates for property and accessibility validation
871
- */
872
- export const PROPERTY_ACCESSIBILITY_WARNING_TEMPLATES: Record<PropertyAccessibilityWarningCode, ErrorGuidance> = {
873
- OPTIONAL_PROPERTY_MISSING: {
874
- code: 'OPTIONAL_PROPERTY_MISSING',
875
- category: 'property',
876
- severity: 'info',
877
- title: 'Optional Property Not Set',
878
- description: 'An optional property that could improve the component is not set.',
879
- guidance: [
880
- 'Consider adding this property for better functionality',
881
- 'Optional properties enhance but are not required',
882
- 'Check the component schema for property descriptions',
883
- ],
884
- documentationLink: DOCUMENTATION_LINKS.COMPONENT_DEVELOPMENT_GUIDE,
885
- },
886
-
887
- DEPRECATED_PROPERTY: {
888
- code: 'DEPRECATED_PROPERTY',
889
- category: 'property',
890
- severity: 'warning',
891
- title: 'Deprecated Property Usage',
892
- description: 'A deprecated property is being used.',
893
- guidance: [
894
- 'Check the component schema for the replacement property',
895
- 'Deprecated properties may be removed in future versions',
896
- 'Update to the recommended replacement',
897
- ],
898
- documentationLink: DOCUMENTATION_LINKS.COMPONENT_DEVELOPMENT_GUIDE,
899
- },
900
-
901
- ACCESSIBILITY_ENHANCEMENT_AVAILABLE: {
902
- code: 'ACCESSIBILITY_ENHANCEMENT_AVAILABLE',
903
- category: 'accessibility',
904
- severity: 'info',
905
- title: 'Accessibility Enhancement Available',
906
- description: 'An accessibility enhancement is available for this component.',
907
- guidance: [
908
- 'Consider adding the suggested accessibility feature',
909
- 'Enhancements improve the experience for all users',
910
- 'Check WCAG guidelines for best practices',
911
- ],
912
- documentationLink: DOCUMENTATION_LINKS.WCAG_GUIDELINES,
913
- },
914
-
915
- TOUCH_TARGET_SUBOPTIMAL: {
916
- code: 'TOUCH_TARGET_SUBOPTIMAL',
917
- category: 'accessibility',
918
- severity: 'warning',
919
- title: 'Touch Target Size Suboptimal',
920
- description: 'The touch target size meets minimum but is below recommended size.',
921
- guidance: [
922
- 'Consider increasing to 44x44 CSS pixels (WCAG 2.5.5)',
923
- 'Larger touch targets improve usability for all users',
924
- 'iOS Human Interface Guidelines recommend 48x48 points',
925
- ],
926
- documentationLink: DOCUMENTATION_LINKS.WCAG_GUIDELINES,
927
- wcag: '2.5.5',
928
- },
929
-
930
- MISSING_HELPER_TEXT: {
931
- code: 'MISSING_HELPER_TEXT',
932
- category: 'accessibility',
933
- severity: 'info',
934
- title: 'Missing Helper Text',
935
- description: 'Form input could benefit from helper text.',
936
- guidance: [
937
- 'Consider adding helper text to guide users',
938
- 'Helper text improves form completion rates',
939
- 'Use aria-describedby to associate helper text',
940
- ],
941
- documentationLink: DOCUMENTATION_LINKS.WCAG_GUIDELINES,
942
- wcag: '3.3.2',
943
- },
944
- };
945
-
946
-
947
- // ============================================================================
948
- // Core Functions
949
- // ============================================================================
950
-
951
- /**
952
- * Get error guidance for a specific error code
953
- */
954
- export function getErrorGuidance(code: string): ErrorGuidance | undefined {
955
- // Check naming errors
956
- if (code in NAMING_ERROR_TEMPLATES) {
957
- return NAMING_ERROR_TEMPLATES[code as ComponentNameErrorCode];
958
- }
959
-
960
- // Check naming warnings
961
- if (code in NAMING_WARNING_TEMPLATES) {
962
- return NAMING_WARNING_TEMPLATES[code as ComponentNameWarningCode];
963
- }
964
-
965
- // Check token usage errors
966
- if (code in TOKEN_USAGE_ERROR_TEMPLATES) {
967
- return TOKEN_USAGE_ERROR_TEMPLATES[code as TokenUsageErrorCode];
968
- }
969
-
970
- // Check token usage warnings
971
- if (code in TOKEN_USAGE_WARNING_TEMPLATES) {
972
- return TOKEN_USAGE_WARNING_TEMPLATES[code as TokenUsageWarningCode];
973
- }
974
-
975
- // Check property/accessibility errors
976
- if (code in PROPERTY_ACCESSIBILITY_ERROR_TEMPLATES) {
977
- return PROPERTY_ACCESSIBILITY_ERROR_TEMPLATES[code as PropertyAccessibilityErrorCode];
978
- }
979
-
980
- // Check property/accessibility warnings
981
- if (code in PROPERTY_ACCESSIBILITY_WARNING_TEMPLATES) {
982
- return PROPERTY_ACCESSIBILITY_WARNING_TEMPLATES[code as PropertyAccessibilityWarningCode];
983
- }
984
-
985
- return undefined;
986
- }
987
-
988
- /**
989
- * Get all error guidance entries for a category
990
- */
991
- export function getGuidanceByCategory(category: ErrorCategory): ErrorGuidance[] {
992
- const allGuidance: ErrorGuidance[] = [
993
- ...Object.values(NAMING_ERROR_TEMPLATES),
994
- ...Object.values(NAMING_WARNING_TEMPLATES),
995
- ...Object.values(TOKEN_USAGE_ERROR_TEMPLATES),
996
- ...Object.values(TOKEN_USAGE_WARNING_TEMPLATES),
997
- ...Object.values(PROPERTY_ACCESSIBILITY_ERROR_TEMPLATES),
998
- ...Object.values(PROPERTY_ACCESSIBILITY_WARNING_TEMPLATES),
999
- ];
1000
-
1001
- return allGuidance.filter(g => g.category === category);
1002
- }
1003
-
1004
- /**
1005
- * Get all error guidance entries for a severity level
1006
- */
1007
- export function getGuidanceBySeverity(severity: ErrorSeverity): ErrorGuidance[] {
1008
- const allGuidance: ErrorGuidance[] = [
1009
- ...Object.values(NAMING_ERROR_TEMPLATES),
1010
- ...Object.values(NAMING_WARNING_TEMPLATES),
1011
- ...Object.values(TOKEN_USAGE_ERROR_TEMPLATES),
1012
- ...Object.values(TOKEN_USAGE_WARNING_TEMPLATES),
1013
- ...Object.values(PROPERTY_ACCESSIBILITY_ERROR_TEMPLATES),
1014
- ...Object.values(PROPERTY_ACCESSIBILITY_WARNING_TEMPLATES),
1015
- ];
1016
-
1017
- return allGuidance.filter(g => g.severity === severity);
1018
- }
1019
-
1020
-
1021
- /**
1022
- * Convert severity to IDE diagnostic severity number
1023
- */
1024
- function severityToNumber(severity: ErrorSeverity): 1 | 2 | 3 | 4 {
1025
- switch (severity) {
1026
- case 'error': return 1;
1027
- case 'warning': return 2;
1028
- case 'info': return 3;
1029
- case 'hint': return 4;
1030
- default: return 1;
1031
- }
1032
- }
1033
-
1034
- /**
1035
- * Create an IDE diagnostic from an error guidance entry
1036
- */
1037
- export function createIDEDiagnostic(
1038
- guidance: ErrorGuidance,
1039
- filePath: string,
1040
- line: number = 1,
1041
- column: number = 1,
1042
- endLine?: number,
1043
- endColumn?: number
1044
- ): IDEDiagnostic {
1045
- const diagnostic: IDEDiagnostic = {
1046
- severity: severityToNumber(guidance.severity),
1047
- message: `${guidance.title}: ${guidance.description}`,
1048
- code: guidance.code,
1049
- source: 'stemma-system',
1050
- range: {
1051
- start: { line: line - 1, character: column - 1 },
1052
- end: { line: (endLine || line) - 1, character: (endColumn || column + 10) - 1 },
1053
- },
1054
- };
1055
-
1056
- // Add related information if documentation link exists
1057
- if (guidance.documentationLink) {
1058
- diagnostic.relatedInformation = [{
1059
- location: {
1060
- uri: guidance.documentationLink,
1061
- range: { start: { line: 0, character: 0 }, end: { line: 0, character: 0 } },
1062
- },
1063
- message: `See documentation: ${guidance.documentationLink}`,
1064
- }];
1065
- }
1066
-
1067
- // Add quick fix if available
1068
- if (guidance.quickFix && guidance.quickFix.autoApplicable) {
1069
- diagnostic.codeActions = [{
1070
- title: guidance.quickFix.title,
1071
- kind: 'quickfix',
1072
- }];
1073
- }
1074
-
1075
- return diagnostic;
1076
- }
1077
-
1078
-
1079
- /**
1080
- * Convert component naming validation result to error guidance
1081
- */
1082
- export function convertNamingResultToGuidance(
1083
- result: ComponentNameValidationResult
1084
- ): { errors: ErrorGuidance[]; warnings: ErrorGuidance[] } {
1085
- const errors: ErrorGuidance[] = [];
1086
- const warnings: ErrorGuidance[] = [];
1087
-
1088
- for (const error of result.errors) {
1089
- const template = NAMING_ERROR_TEMPLATES[error.code];
1090
- if (template) {
1091
- errors.push({
1092
- ...template,
1093
- description: error.message,
1094
- guidance: [error.guidance, ...template.guidance.slice(1)],
1095
- });
1096
- }
1097
- }
1098
-
1099
- for (const warning of result.warnings) {
1100
- const template = NAMING_WARNING_TEMPLATES[warning.code];
1101
- if (template) {
1102
- warnings.push({
1103
- ...template,
1104
- description: warning.message,
1105
- guidance: [warning.guidance, ...template.guidance.slice(1)],
1106
- });
1107
- }
1108
- }
1109
-
1110
- return { errors, warnings };
1111
- }
1112
-
1113
- /**
1114
- * Convert token usage validation result to error guidance
1115
- */
1116
- export function convertTokenUsageResultToGuidance(
1117
- result: TokenUsageValidationResult
1118
- ): { errors: ErrorGuidance[]; warnings: ErrorGuidance[] } {
1119
- const errors: ErrorGuidance[] = [];
1120
- const warnings: ErrorGuidance[] = [];
1121
-
1122
- for (const error of result.errors) {
1123
- const template = TOKEN_USAGE_ERROR_TEMPLATES[error.code];
1124
- if (template) {
1125
- errors.push({
1126
- ...template,
1127
- description: error.message,
1128
- guidance: [error.guidance, ...template.guidance.slice(1)],
1129
- });
1130
- }
1131
- }
1132
-
1133
- for (const warning of result.warnings) {
1134
- const template = TOKEN_USAGE_WARNING_TEMPLATES[warning.code];
1135
- if (template) {
1136
- warnings.push({
1137
- ...template,
1138
- description: warning.message,
1139
- guidance: [warning.guidance, ...template.guidance.slice(1)],
1140
- });
1141
- }
1142
- }
1143
-
1144
- return { errors, warnings };
1145
- }
1146
-
1147
- /**
1148
- * Convert property/accessibility validation result to error guidance
1149
- */
1150
- export function convertPropertyAccessibilityResultToGuidance(
1151
- result: PropertyAccessibilityValidationResult
1152
- ): { errors: ErrorGuidance[]; warnings: ErrorGuidance[] } {
1153
- const errors: ErrorGuidance[] = [];
1154
- const warnings: ErrorGuidance[] = [];
1155
-
1156
- for (const error of result.errors) {
1157
- const template = PROPERTY_ACCESSIBILITY_ERROR_TEMPLATES[error.code];
1158
- if (template) {
1159
- errors.push({
1160
- ...template,
1161
- description: error.message,
1162
- guidance: [error.guidance, ...template.guidance.slice(1)],
1163
- });
1164
- }
1165
- }
1166
-
1167
- for (const warning of result.warnings) {
1168
- const template = PROPERTY_ACCESSIBILITY_WARNING_TEMPLATES[warning.code];
1169
- if (template) {
1170
- warnings.push({
1171
- ...template,
1172
- description: warning.message,
1173
- guidance: [warning.guidance, ...template.guidance.slice(1)],
1174
- });
1175
- }
1176
- }
1177
-
1178
- return { errors, warnings };
1179
- }
1180
-
1181
-
1182
- /**
1183
- * Aggregate validation results from all validators
1184
- */
1185
- export function aggregateValidationResults(
1186
- namingResult?: ComponentNameValidationResult,
1187
- tokenUsageResult?: TokenUsageValidationResult,
1188
- propertyAccessibilityResult?: PropertyAccessibilityValidationResult
1189
- ): AggregatedValidationResult {
1190
- const allErrors: ErrorGuidance[] = [];
1191
- const allWarnings: ErrorGuidance[] = [];
1192
- const diagnostics: IDEDiagnostic[] = [];
1193
-
1194
- const byCategory: Record<ErrorCategory, { errors: number; warnings: number }> = {
1195
- naming: { errors: 0, warnings: 0 },
1196
- 'token-usage': { errors: 0, warnings: 0 },
1197
- property: { errors: 0, warnings: 0 },
1198
- accessibility: { errors: 0, warnings: 0 },
1199
- schema: { errors: 0, warnings: 0 },
1200
- documentation: { errors: 0, warnings: 0 },
1201
- };
1202
-
1203
- // Process naming results
1204
- if (namingResult) {
1205
- const { errors, warnings } = convertNamingResultToGuidance(namingResult);
1206
- allErrors.push(...errors);
1207
- allWarnings.push(...warnings);
1208
- byCategory.naming.errors += errors.length;
1209
- byCategory.naming.warnings += warnings.length;
1210
-
1211
- // Create diagnostics
1212
- for (const error of errors) {
1213
- diagnostics.push(createIDEDiagnostic(error, namingResult.name));
1214
- }
1215
- for (const warning of warnings) {
1216
- diagnostics.push(createIDEDiagnostic(warning, namingResult.name));
1217
- }
1218
- }
1219
-
1220
- // Process token usage results
1221
- if (tokenUsageResult) {
1222
- const { errors, warnings } = convertTokenUsageResultToGuidance(tokenUsageResult);
1223
- allErrors.push(...errors);
1224
- allWarnings.push(...warnings);
1225
- byCategory['token-usage'].errors += errors.length;
1226
- byCategory['token-usage'].warnings += warnings.length;
1227
-
1228
- // Create diagnostics with line numbers
1229
- for (let i = 0; i < tokenUsageResult.errors.length; i++) {
1230
- const error = tokenUsageResult.errors[i];
1231
- const guidance = errors[i];
1232
- if (guidance) {
1233
- diagnostics.push(createIDEDiagnostic(
1234
- guidance,
1235
- tokenUsageResult.filePath,
1236
- error.line,
1237
- error.column || 1
1238
- ));
1239
- }
1240
- }
1241
- for (let i = 0; i < tokenUsageResult.warnings.length; i++) {
1242
- const warning = tokenUsageResult.warnings[i];
1243
- const guidance = warnings[i];
1244
- if (guidance) {
1245
- diagnostics.push(createIDEDiagnostic(
1246
- guidance,
1247
- tokenUsageResult.filePath,
1248
- warning.line
1249
- ));
1250
- }
1251
- }
1252
- }
1253
-
1254
- // Process property/accessibility results
1255
- if (propertyAccessibilityResult) {
1256
- const { errors, warnings } = convertPropertyAccessibilityResultToGuidance(propertyAccessibilityResult);
1257
- allErrors.push(...errors);
1258
- allWarnings.push(...warnings);
1259
-
1260
- // Categorize by type
1261
- for (const error of errors) {
1262
- if (error.category === 'accessibility') {
1263
- byCategory.accessibility.errors++;
1264
- } else if (error.category === 'schema') {
1265
- byCategory.schema.errors++;
1266
- } else {
1267
- byCategory.property.errors++;
1268
- }
1269
- }
1270
- for (const warning of warnings) {
1271
- if (warning.category === 'accessibility') {
1272
- byCategory.accessibility.warnings++;
1273
- } else {
1274
- byCategory.property.warnings++;
1275
- }
1276
- }
1277
-
1278
- // Create diagnostics
1279
- for (const error of errors) {
1280
- diagnostics.push(createIDEDiagnostic(error, propertyAccessibilityResult.componentName));
1281
- }
1282
- for (const warning of warnings) {
1283
- diagnostics.push(createIDEDiagnostic(warning, propertyAccessibilityResult.componentName));
1284
- }
1285
- }
1286
-
1287
- return {
1288
- valid: allErrors.length === 0,
1289
- errors: allErrors,
1290
- warnings: allWarnings,
1291
- summary: {
1292
- totalErrors: allErrors.length,
1293
- totalWarnings: allWarnings.length,
1294
- byCategory,
1295
- },
1296
- diagnostics,
1297
- };
1298
- }
1299
-
1300
-
1301
- // ============================================================================
1302
- // Formatting Functions
1303
- // ============================================================================
1304
-
1305
- /**
1306
- * Format error guidance for console output
1307
- */
1308
- export function formatErrorGuidanceForConsole(guidance: ErrorGuidance): string {
1309
- const icon = guidance.severity === 'error' ? '❌' :
1310
- guidance.severity === 'warning' ? '⚠️' :
1311
- guidance.severity === 'info' ? 'ℹ️' : '💡';
1312
-
1313
- const lines: string[] = [
1314
- `${icon} ${guidance.title} [${guidance.code}]`,
1315
- ` ${guidance.description}`,
1316
- '',
1317
- ' How to fix:',
1318
- ];
1319
-
1320
- for (const step of guidance.guidance) {
1321
- lines.push(` • ${step}`);
1322
- }
1323
-
1324
- if (guidance.documentationLink) {
1325
- lines.push('');
1326
- lines.push(` 📚 Documentation: ${guidance.documentationLink}`);
1327
- }
1328
-
1329
- if (guidance.wcag) {
1330
- lines.push(` ♿ WCAG: ${guidance.wcag}`);
1331
- }
1332
-
1333
- if (guidance.quickFix) {
1334
- lines.push('');
1335
- lines.push(` 💡 Quick fix: ${guidance.quickFix.title}`);
1336
- }
1337
-
1338
- return lines.join('\n');
1339
- }
1340
-
1341
- /**
1342
- * Format error guidance for markdown output
1343
- */
1344
- export function formatErrorGuidanceForMarkdown(guidance: ErrorGuidance): string {
1345
- const icon = guidance.severity === 'error' ? '❌' :
1346
- guidance.severity === 'warning' ? '⚠️' :
1347
- guidance.severity === 'info' ? 'ℹ️' : '💡';
1348
-
1349
- const lines: string[] = [
1350
- `### ${icon} ${guidance.title}`,
1351
- '',
1352
- `**Code:** \`${guidance.code}\``,
1353
- '',
1354
- guidance.description,
1355
- '',
1356
- '**How to fix:**',
1357
- '',
1358
- ];
1359
-
1360
- for (const step of guidance.guidance) {
1361
- lines.push(`- ${step}`);
1362
- }
1363
-
1364
- if (guidance.documentationLink) {
1365
- lines.push('');
1366
- lines.push(`**Documentation:** [${guidance.documentationLink}](${guidance.documentationLink})`);
1367
- }
1368
-
1369
- if (guidance.wcag) {
1370
- lines.push('');
1371
- lines.push(`**WCAG Reference:** ${guidance.wcag}`);
1372
- }
1373
-
1374
- if (guidance.quickFix) {
1375
- lines.push('');
1376
- lines.push(`**Quick Fix:** ${guidance.quickFix.title}`);
1377
- }
1378
-
1379
- return lines.join('\n');
1380
- }
1381
-
1382
- /**
1383
- * Format error guidance for JSON output (IDE integration)
1384
- */
1385
- export function formatErrorGuidanceForJSON(guidance: ErrorGuidance): string {
1386
- return JSON.stringify(guidance, null, 2);
1387
- }
1388
-
1389
-
1390
- /**
1391
- * Format aggregated validation result for console output
1392
- */
1393
- export function formatAggregatedResultForConsole(result: AggregatedValidationResult): string {
1394
- const lines: string[] = [];
1395
-
1396
- // Header
1397
- if (result.valid) {
1398
- lines.push('✅ All validations passed!');
1399
- } else {
1400
- lines.push(`❌ Validation failed: ${result.summary.totalErrors} error(s), ${result.summary.totalWarnings} warning(s)`);
1401
- }
1402
- lines.push('');
1403
-
1404
- // Summary by category
1405
- lines.push('Summary by category:');
1406
- for (const [category, counts] of Object.entries(result.summary.byCategory)) {
1407
- if (counts.errors > 0 || counts.warnings > 0) {
1408
- lines.push(` ${category}: ${counts.errors} error(s), ${counts.warnings} warning(s)`);
1409
- }
1410
- }
1411
- lines.push('');
1412
-
1413
- // Errors
1414
- if (result.errors.length > 0) {
1415
- lines.push('Errors:');
1416
- lines.push('');
1417
- for (const error of result.errors) {
1418
- lines.push(formatErrorGuidanceForConsole(error));
1419
- lines.push('');
1420
- }
1421
- }
1422
-
1423
- // Warnings
1424
- if (result.warnings.length > 0) {
1425
- lines.push('Warnings:');
1426
- lines.push('');
1427
- for (const warning of result.warnings) {
1428
- lines.push(formatErrorGuidanceForConsole(warning));
1429
- lines.push('');
1430
- }
1431
- }
1432
-
1433
- return lines.join('\n');
1434
- }
1435
-
1436
- /**
1437
- * Format aggregated validation result for markdown output
1438
- */
1439
- export function formatAggregatedResultForMarkdown(result: AggregatedValidationResult): string {
1440
- const lines: string[] = [];
1441
-
1442
- // Header
1443
- lines.push('# Stemma System Validation Report');
1444
- lines.push('');
1445
-
1446
- if (result.valid) {
1447
- lines.push('✅ **All validations passed!**');
1448
- } else {
1449
- lines.push(`❌ **Validation failed:** ${result.summary.totalErrors} error(s), ${result.summary.totalWarnings} warning(s)`);
1450
- }
1451
- lines.push('');
1452
-
1453
- // Summary table
1454
- lines.push('## Summary');
1455
- lines.push('');
1456
- lines.push('| Category | Errors | Warnings |');
1457
- lines.push('|----------|--------|----------|');
1458
- for (const [category, counts] of Object.entries(result.summary.byCategory)) {
1459
- lines.push(`| ${category} | ${counts.errors} | ${counts.warnings} |`);
1460
- }
1461
- lines.push('');
1462
-
1463
- // Errors
1464
- if (result.errors.length > 0) {
1465
- lines.push('## Errors');
1466
- lines.push('');
1467
- for (const error of result.errors) {
1468
- lines.push(formatErrorGuidanceForMarkdown(error));
1469
- lines.push('');
1470
- lines.push('---');
1471
- lines.push('');
1472
- }
1473
- }
1474
-
1475
- // Warnings
1476
- if (result.warnings.length > 0) {
1477
- lines.push('## Warnings');
1478
- lines.push('');
1479
- for (const warning of result.warnings) {
1480
- lines.push(formatErrorGuidanceForMarkdown(warning));
1481
- lines.push('');
1482
- lines.push('---');
1483
- lines.push('');
1484
- }
1485
- }
1486
-
1487
- return lines.join('\n');
1488
- }
1489
-
1490
-
1491
- // ============================================================================
1492
- // IDE Integration Helpers
1493
- // ============================================================================
1494
-
1495
- /**
1496
- * Get all available error codes with their guidance
1497
- */
1498
- export function getAllErrorCodes(): Map<string, ErrorGuidance> {
1499
- const codes = new Map<string, ErrorGuidance>();
1500
-
1501
- for (const [code, guidance] of Object.entries(NAMING_ERROR_TEMPLATES)) {
1502
- codes.set(code, guidance);
1503
- }
1504
- for (const [code, guidance] of Object.entries(NAMING_WARNING_TEMPLATES)) {
1505
- codes.set(code, guidance);
1506
- }
1507
- for (const [code, guidance] of Object.entries(TOKEN_USAGE_ERROR_TEMPLATES)) {
1508
- codes.set(code, guidance);
1509
- }
1510
- for (const [code, guidance] of Object.entries(TOKEN_USAGE_WARNING_TEMPLATES)) {
1511
- codes.set(code, guidance);
1512
- }
1513
- for (const [code, guidance] of Object.entries(PROPERTY_ACCESSIBILITY_ERROR_TEMPLATES)) {
1514
- codes.set(code, guidance);
1515
- }
1516
- for (const [code, guidance] of Object.entries(PROPERTY_ACCESSIBILITY_WARNING_TEMPLATES)) {
1517
- codes.set(code, guidance);
1518
- }
1519
-
1520
- return codes;
1521
- }
1522
-
1523
- /**
1524
- * Get documentation link for an error code
1525
- */
1526
- export function getDocumentationLink(code: string): string | undefined {
1527
- const guidance = getErrorGuidance(code);
1528
- return guidance?.documentationLink;
1529
- }
1530
-
1531
- /**
1532
- * Get quick fix for an error code
1533
- */
1534
- export function getQuickFix(code: string): QuickFix | undefined {
1535
- const guidance = getErrorGuidance(code);
1536
- return guidance?.quickFix;
1537
- }
1538
-
1539
- /**
1540
- * Check if an error code has an auto-applicable quick fix
1541
- */
1542
- export function hasAutoFix(code: string): boolean {
1543
- const quickFix = getQuickFix(code);
1544
- return quickFix?.autoApplicable ?? false;
1545
- }
1546
-
1547
- /**
1548
- * Get WCAG reference for an error code
1549
- */
1550
- export function getWCAGReference(code: string): string | undefined {
1551
- const guidance = getErrorGuidance(code);
1552
- return guidance?.wcag;
1553
- }
1554
-
1555
- /**
1556
- * Get related error codes for an error code
1557
- */
1558
- export function getRelatedCodes(code: string): string[] {
1559
- const guidance = getErrorGuidance(code);
1560
- return guidance?.relatedCodes ?? [];
1561
- }
1562
-
1563
- /**
1564
- * Export diagnostics in VS Code compatible format
1565
- */
1566
- export function exportDiagnosticsForVSCode(
1567
- diagnostics: IDEDiagnostic[],
1568
- uri: string
1569
- ): { uri: string; diagnostics: IDEDiagnostic[] } {
1570
- return {
1571
- uri,
1572
- diagnostics,
1573
- };
1574
- }
1575
-
1576
- /**
1577
- * Export diagnostics in ESLint compatible format
1578
- */
1579
- export function exportDiagnosticsForESLint(
1580
- diagnostics: IDEDiagnostic[],
1581
- filePath: string
1582
- ): Array<{
1583
- ruleId: string;
1584
- severity: number;
1585
- message: string;
1586
- line: number;
1587
- column: number;
1588
- endLine?: number;
1589
- endColumn?: number;
1590
- }> {
1591
- return diagnostics.map(d => ({
1592
- ruleId: `stemma/${d.code}`,
1593
- severity: d.severity === 1 ? 2 : 1, // ESLint: 2=error, 1=warning
1594
- message: d.message,
1595
- line: d.range.start.line + 1,
1596
- column: d.range.start.character + 1,
1597
- endLine: d.range.end.line + 1,
1598
- endColumn: d.range.end.character + 1,
1599
- }));
1600
- }