@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,1746 +0,0 @@
1
- /**
2
- * iOS Platform Builder
3
- *
4
- * Generates Swift Package with SwiftUI components from component definitions.
5
- * Converts F1 tokens to Swift constants with proper pt units.
6
- *
7
- * Requirements: 1.3, 2.1
8
- */
9
-
10
- import * as fs from 'fs/promises';
11
- import * as fsSync from 'fs';
12
- import * as path from 'path';
13
- import { PlatformBuilder, ComponentDefinition } from './PlatformBuilder';
14
- import { BuildConfig, iOSBuildOptions } from '../types/BuildConfig';
15
- import { BuildResult, BuildError } from '../types/BuildResult';
16
- import { Platform } from '../types/Platform';
17
- import { PlatformTokens } from '../tokens/PlatformTokens';
18
- import { unitConverter } from '../tokens/UnitConverter';
19
-
20
- /**
21
- * Swift Package structure
22
- */
23
- export interface SwiftPackage {
24
- /** Package.swift manifest content */
25
- packageManifest: string;
26
-
27
- /** Swift source files */
28
- sourceFiles: SwiftFile[];
29
-
30
- /** Package resources */
31
- resources: Resource[];
32
-
33
- /** Package dependencies */
34
- dependencies: Dependency[];
35
- }
36
-
37
- /**
38
- * Swift source file
39
- */
40
- export interface SwiftFile {
41
- /** File path relative to package root */
42
- path: string;
43
-
44
- /** File content */
45
- content: string;
46
- }
47
-
48
- /**
49
- * Package resource
50
- */
51
- export interface Resource {
52
- /** Resource path */
53
- path: string;
54
-
55
- /** Resource type */
56
- type: 'asset' | 'data' | 'other';
57
- }
58
-
59
- /**
60
- * Package dependency
61
- */
62
- export interface Dependency {
63
- /** Dependency name */
64
- name: string;
65
-
66
- /** Dependency URL */
67
- url: string;
68
-
69
- /** Version requirement */
70
- version: string;
71
- }
72
-
73
- /**
74
- * iOS build configuration
75
- */
76
- export interface iOSBuildConfig {
77
- /** Swift version */
78
- swiftVersion: string;
79
-
80
- /** Minimum deployment target */
81
- minimumDeploymentTarget: string;
82
-
83
- /** Package dependencies */
84
- dependencies: Dependency[];
85
-
86
- /** Package name */
87
- packageName: string;
88
-
89
- /** Product name */
90
- productName: string;
91
- }
92
-
93
- /**
94
- * iOS Platform Builder Implementation
95
- *
96
- * Builds Swift Package with SwiftUI components and token constants
97
- */
98
- export class iOSBuilder implements PlatformBuilder {
99
- readonly platform: Platform = 'ios';
100
-
101
- private buildConfig: iOSBuildConfig;
102
-
103
- constructor(buildOptions?: iOSBuildOptions) {
104
- // Set default iOS build configuration
105
- this.buildConfig = {
106
- swiftVersion: buildOptions?.swiftVersion || '5.9',
107
- minimumDeploymentTarget: buildOptions?.minimumDeploymentTarget || '15.0',
108
- dependencies: buildOptions?.dependencies?.map(dep => ({
109
- name: dep,
110
- url: '',
111
- version: '1.0.0'
112
- })) || [],
113
- packageName: 'DesignerPunk',
114
- productName: 'DesignerPunk'
115
- };
116
- }
117
-
118
- /**
119
- * Build Swift Package from component definitions
120
- */
121
- async build(
122
- components: ComponentDefinition[],
123
- tokens: PlatformTokens,
124
- config: BuildConfig
125
- ): Promise<BuildResult> {
126
- const startTime = Date.now();
127
- const warnings: string[] = [];
128
- const errors: BuildError[] = [];
129
-
130
- try {
131
- // Create output directory
132
- const outputDir = path.join(config.outputDir, 'ios');
133
- await fs.mkdir(outputDir, { recursive: true });
134
-
135
- // Generate Swift Package structure
136
- const swiftPackage = await this.generateSwiftPackage(components, tokens, config);
137
-
138
- // Write Package.swift manifest
139
- const manifestPath = path.join(outputDir, 'Package.swift');
140
- await fs.writeFile(manifestPath, swiftPackage.packageManifest, 'utf-8');
141
-
142
- // Create Sources directory structure
143
- const sourcesDir = path.join(outputDir, 'Sources', this.buildConfig.productName);
144
- await fs.mkdir(sourcesDir, { recursive: true });
145
-
146
- // Create subdirectories for organized source files
147
- await fs.mkdir(path.join(sourcesDir, 'Tokens'), { recursive: true });
148
- await fs.mkdir(path.join(sourcesDir, 'Components'), { recursive: true });
149
- await fs.mkdir(path.join(sourcesDir, 'Extensions'), { recursive: true });
150
-
151
- // Write source files
152
- for (const sourceFile of swiftPackage.sourceFiles) {
153
- const filePath = path.join(sourcesDir, sourceFile.path);
154
- await fs.mkdir(path.dirname(filePath), { recursive: true });
155
- await fs.writeFile(filePath, sourceFile.content, 'utf-8');
156
- }
157
-
158
- // Create Tests directory structure
159
- const testsDir = path.join(outputDir, 'Tests', `${this.buildConfig.productName}Tests`);
160
- await fs.mkdir(testsDir, { recursive: true });
161
-
162
- // Generate basic test file
163
- const testFileContent = this.generateTestFile();
164
- await fs.writeFile(path.join(testsDir, `${this.buildConfig.productName}Tests.swift`), testFileContent, 'utf-8');
165
-
166
- // Calculate package size
167
- const packageSize = await this.calculatePackageSize(outputDir);
168
-
169
- const duration = Date.now() - startTime;
170
-
171
- return {
172
- platform: this.platform,
173
- success: true,
174
- packagePath: outputDir,
175
- duration,
176
- warnings,
177
- errors,
178
- metadata: {
179
- componentsBuilt: components.length,
180
- tokensGenerated: this.countTokens(tokens),
181
- packageSize,
182
- timestamp: new Date().toISOString()
183
- }
184
- };
185
- } catch (error) {
186
- const duration = Date.now() - startTime;
187
-
188
- errors.push({
189
- code: 'IOS_BUILD_FAILED',
190
- message: error instanceof Error ? error.message : 'Unknown build error',
191
- severity: 'error',
192
- category: 'build',
193
- platform: this.platform,
194
- context: { error },
195
- suggestions: [
196
- 'Check that output directory is writable',
197
- 'Verify component definitions are valid',
198
- 'Ensure token integration is correct'
199
- ],
200
- documentation: []
201
- });
202
-
203
- return {
204
- platform: this.platform,
205
- success: false,
206
- packagePath: '',
207
- duration,
208
- warnings,
209
- errors
210
- };
211
- }
212
- }
213
-
214
- /**
215
- * Generate Swift Package structure with proper organization
216
- *
217
- * Creates a complete Swift Package with:
218
- * - Token constants organized by category
219
- * - SwiftUI component implementations
220
- * - Proper file organization (Tokens/, Components/, Extensions/)
221
- * - Package manifest with dependencies
222
- *
223
- * Requirements: 2.1, 2.5
224
- */
225
- private async generateSwiftPackage(
226
- components: ComponentDefinition[],
227
- tokens: PlatformTokens,
228
- config: BuildConfig
229
- ): Promise<SwiftPackage> {
230
- const sourceFiles: SwiftFile[] = [];
231
-
232
- // Generate main token constants file
233
- const tokensContent = this.generateTokens(tokens);
234
- sourceFiles.push({
235
- path: 'Tokens/Tokens.swift',
236
- content: tokensContent
237
- });
238
-
239
- // Generate token category files for better organization
240
- sourceFiles.push({
241
- path: 'Tokens/SpacingTokens.swift',
242
- content: this.generateSpacingTokensFile(tokens)
243
- });
244
-
245
- sourceFiles.push({
246
- path: 'Tokens/ColorTokens.swift',
247
- content: this.generateColorTokensFile(tokens)
248
- });
249
-
250
- sourceFiles.push({
251
- path: 'Tokens/TypographyTokens.swift',
252
- content: this.generateTypographyTokensFile(tokens)
253
- });
254
-
255
- // Generate SwiftUI component files
256
- for (const component of components) {
257
- const componentContent = this.generateSwiftUIComponent(component, tokens);
258
- sourceFiles.push({
259
- path: `Components/${component.name}.swift`,
260
- content: componentContent
261
- });
262
- }
263
-
264
- // Generate utility extensions
265
- sourceFiles.push({
266
- path: 'Extensions/ColorExtensions.swift',
267
- content: this.generateColorExtensions()
268
- });
269
-
270
- sourceFiles.push({
271
- path: 'Extensions/ViewExtensions.swift',
272
- content: this.generateViewExtensions()
273
- });
274
-
275
- // Generate main module file
276
- sourceFiles.push({
277
- path: `${this.buildConfig.productName}.swift`,
278
- content: this.generateModuleFile()
279
- });
280
-
281
- // Generate Package.swift manifest
282
- const packageManifest = this.generatePackageManifest(config);
283
-
284
- return {
285
- packageManifest,
286
- sourceFiles,
287
- resources: [],
288
- dependencies: this.buildConfig.dependencies
289
- };
290
- }
291
-
292
- /**
293
- * Generate Package.swift manifest with proper dependencies
294
- *
295
- * Creates a complete Swift Package manifest with:
296
- * - Swift version and deployment targets
297
- * - Package dependencies (if any)
298
- * - Library products
299
- * - Source targets with proper organization
300
- * - Test targets
301
- *
302
- * Requirements: 2.1, 2.5
303
- */
304
- private generatePackageManifest(config: BuildConfig): string {
305
- const { packageName, productName, swiftVersion, minimumDeploymentTarget, dependencies } = this.buildConfig;
306
-
307
- // Format deployment target for Swift Package Manager
308
- // Convert "15.0" to "v15" for platform specification
309
- const deploymentVersion = minimumDeploymentTarget.split('.')[0];
310
-
311
- // Generate dependencies section
312
- const dependenciesStr = dependencies.length > 0
313
- ? dependencies.map(dep => ` .package(url: "${dep.url}", from: "${dep.version}")`).join(',\n')
314
- : '';
315
-
316
- const dependenciesSection = dependencies.length > 0
317
- ? ` dependencies: [\n${dependenciesStr}\n ],`
318
- : '';
319
-
320
- // Generate target dependencies
321
- const targetDependencies = dependencies.length > 0
322
- ? dependencies.map(dep => `"${dep.name}"`).join(', ')
323
- : '';
324
-
325
- const targetDependenciesSection = targetDependencies
326
- ? `dependencies: [${targetDependencies}]`
327
- : 'dependencies: []';
328
-
329
- return `// swift-tools-version: ${swiftVersion}
330
- // The swift-tools-version declares the minimum version of Swift required to build this package.
331
-
332
- import PackageDescription
333
-
334
- let package = Package(
335
- name: "${packageName}",
336
- platforms: [
337
- .iOS(.v${deploymentVersion})
338
- ],
339
- ${dependenciesSection}
340
- products: [
341
- // Library product for importing the design system
342
- .library(
343
- name: "${productName}",
344
- targets: ["${productName}"]
345
- )
346
- ],
347
- targets: [
348
- // Main target containing design system components and tokens
349
- .target(
350
- name: "${productName}",
351
- ${targetDependenciesSection},
352
- path: "Sources/${productName}",
353
- swiftSettings: [
354
- .enableUpcomingFeature("BareSlashRegexLiterals")
355
- ]
356
- ),
357
- // Test target for design system validation
358
- .testTarget(
359
- name: "${productName}Tests",
360
- dependencies: ["${productName}"],
361
- path: "Tests/${productName}Tests"
362
- )
363
- ]
364
- )
365
- `;
366
- }
367
-
368
- /**
369
- * Generate Swift token constants from platform tokens
370
- *
371
- * Generates Swift constants from:
372
- * - Primitive tokens (space100, color.blue.500, etc.)
373
- * - Semantic tokens (space.normal, color.primary, etc.)
374
- * - Component tokens (if needed)
375
- *
376
- * Requirements: 3.4, 3.7
377
- */
378
- generateTokens(tokens: PlatformTokens): string {
379
- const lines: string[] = [];
380
-
381
- // File header
382
- lines.push('//');
383
- lines.push('// Tokens.swift');
384
- lines.push('// DesignerPunk Design System');
385
- lines.push('//');
386
- lines.push('// Auto-generated token constants for iOS');
387
- lines.push('// DO NOT EDIT - Generated from F1 Mathematical Token System');
388
- lines.push('//');
389
- lines.push('');
390
- lines.push('import Foundation');
391
- lines.push('import SwiftUI');
392
- lines.push('');
393
- lines.push('/// Design system tokens for iOS');
394
- lines.push('public enum Tokens {');
395
- lines.push(' ');
396
-
397
- // Generate primitive tokens
398
- this.generatePrimitiveTokens(lines, tokens.primitives);
399
-
400
- // Generate semantic tokens
401
- this.generateSemanticTokens(lines, tokens.semantics);
402
-
403
- // Generate component tokens (if any)
404
- this.generateComponentTokens(lines, tokens.components);
405
-
406
- lines.push('}');
407
- lines.push('');
408
-
409
- // Add Color extension for hex support
410
- this.generateColorExtension(lines);
411
-
412
- return lines.join('\n');
413
- }
414
-
415
- /**
416
- * Generate primitive token constants
417
- */
418
- private generatePrimitiveTokens(lines: string[], primitives: PlatformTokens['primitives']): void {
419
- lines.push(' // MARK: - Primitive Tokens');
420
- lines.push(' ');
421
-
422
- // Generate spacing tokens
423
- if (Object.keys(primitives.spacing).length > 0) {
424
- lines.push(' /// Primitive spacing tokens (pt units)');
425
- lines.push(' public enum Spacing {');
426
-
427
- for (const [name, value] of Object.entries(primitives.spacing)) {
428
- const swiftName = this.toSwiftConstantName(name);
429
- const comment = ` /// ${name}: ${value.value}${value.unit}`;
430
- lines.push(comment);
431
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
432
- }
433
-
434
- lines.push(' }');
435
- lines.push(' ');
436
- }
437
-
438
- // Generate color tokens
439
- if (Object.keys(primitives.colors).length > 0) {
440
- lines.push(' /// Primitive color tokens');
441
- lines.push(' public enum Colors {');
442
-
443
- for (const [name, value] of Object.entries(primitives.colors)) {
444
- const swiftName = this.toSwiftConstantName(name);
445
- const comment = ` /// ${name}: ${value.value}`;
446
- lines.push(comment);
447
-
448
- // Convert hex color to SwiftUI Color
449
- if (typeof value.value === 'string' && value.value.startsWith('#')) {
450
- lines.push(` public static let ${swiftName} = Color(hex: "${value.value}")`);
451
- }
452
- }
453
-
454
- lines.push(' }');
455
- lines.push(' ');
456
- }
457
-
458
- // Generate typography tokens
459
- if (Object.keys(primitives.typography).length > 0) {
460
- lines.push(' /// Primitive typography tokens (pt units)');
461
- lines.push(' public enum Typography {');
462
-
463
- for (const [name, value] of Object.entries(primitives.typography)) {
464
- const swiftName = this.toSwiftConstantName(name);
465
- const comment = ` /// ${name}: ${value.value}${value.unit}`;
466
- lines.push(comment);
467
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
468
- }
469
-
470
- lines.push(' }');
471
- lines.push(' ');
472
- }
473
-
474
- // Generate radius tokens
475
- if (Object.keys(primitives.radius).length > 0) {
476
- lines.push(' /// Primitive radius tokens (pt units)');
477
- lines.push(' public enum Radius {');
478
-
479
- for (const [name, value] of Object.entries(primitives.radius)) {
480
- const swiftName = this.toSwiftConstantName(name);
481
- const comment = ` /// ${name}: ${value.value}${value.unit}`;
482
- lines.push(comment);
483
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
484
- }
485
-
486
- lines.push(' }');
487
- lines.push(' ');
488
- }
489
-
490
- // Generate sizing tokens
491
- if (Object.keys(primitives.sizing).length > 0) {
492
- lines.push(' /// Primitive sizing tokens (pt units)');
493
- lines.push(' public enum Sizing {');
494
-
495
- for (const [name, value] of Object.entries(primitives.sizing)) {
496
- const swiftName = this.toSwiftConstantName(name);
497
- const comment = ` /// ${name}: ${value.value}${value.unit}`;
498
- lines.push(comment);
499
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
500
- }
501
-
502
- lines.push(' }');
503
- lines.push(' ');
504
- }
505
- }
506
-
507
- /**
508
- * Generate semantic token constants
509
- */
510
- private generateSemanticTokens(lines: string[], semantics: PlatformTokens['semantics']): void {
511
- const hasSemanticTokens = Object.values(semantics).some(category => Object.keys(category).length > 0);
512
-
513
- if (!hasSemanticTokens) {
514
- return;
515
- }
516
-
517
- lines.push(' // MARK: - Semantic Tokens');
518
- lines.push(' ');
519
-
520
- // Generate semantic spacing tokens
521
- if (Object.keys(semantics.spacing).length > 0) {
522
- lines.push(' /// Semantic spacing tokens (pt units)');
523
- lines.push(' public enum SemanticSpacing {');
524
-
525
- for (const [name, value] of Object.entries(semantics.spacing)) {
526
- const swiftName = this.toSwiftConstantName(name);
527
- const comment = ` /// ${name}: ${value.value}${value.unit} (references: ${value.token})`;
528
- lines.push(comment);
529
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
530
- }
531
-
532
- lines.push(' }');
533
- lines.push(' ');
534
- }
535
-
536
- // Generate semantic color tokens
537
- if (Object.keys(semantics.colors).length > 0) {
538
- lines.push(' /// Semantic color tokens');
539
- lines.push(' public enum SemanticColors {');
540
-
541
- for (const [name, value] of Object.entries(semantics.colors)) {
542
- const swiftName = this.toSwiftConstantName(name);
543
- const comment = ` /// ${name}: ${value.value} (references: ${value.token})`;
544
- lines.push(comment);
545
-
546
- // Convert hex color to SwiftUI Color
547
- if (typeof value.value === 'string' && value.value.startsWith('#')) {
548
- lines.push(` public static let ${swiftName} = Color(hex: "${value.value}")`);
549
- }
550
- }
551
-
552
- lines.push(' }');
553
- lines.push(' ');
554
- }
555
-
556
- // Generate semantic typography tokens
557
- if (Object.keys(semantics.typography).length > 0) {
558
- lines.push(' /// Semantic typography tokens (pt units)');
559
- lines.push(' public enum SemanticTypography {');
560
-
561
- for (const [name, value] of Object.entries(semantics.typography)) {
562
- const swiftName = this.toSwiftConstantName(name);
563
- const comment = ` /// ${name}: ${value.value}${value.unit} (references: ${value.token})`;
564
- lines.push(comment);
565
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
566
- }
567
-
568
- lines.push(' }');
569
- lines.push(' ');
570
- }
571
-
572
- // Generate semantic radius tokens
573
- if (Object.keys(semantics.radius).length > 0) {
574
- lines.push(' /// Semantic radius tokens (pt units)');
575
- lines.push(' public enum SemanticRadius {');
576
-
577
- for (const [name, value] of Object.entries(semantics.radius)) {
578
- const swiftName = this.toSwiftConstantName(name);
579
- const comment = ` /// ${name}: ${value.value}${value.unit} (references: ${value.token})`;
580
- lines.push(comment);
581
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
582
- }
583
-
584
- lines.push(' }');
585
- lines.push(' ');
586
- }
587
-
588
- // Generate semantic sizing tokens
589
- if (Object.keys(semantics.sizing).length > 0) {
590
- lines.push(' /// Semantic sizing tokens (pt units)');
591
- lines.push(' public enum SemanticSizing {');
592
-
593
- for (const [name, value] of Object.entries(semantics.sizing)) {
594
- const swiftName = this.toSwiftConstantName(name);
595
- const comment = ` /// ${name}: ${value.value}${value.unit} (references: ${value.token})`;
596
- lines.push(comment);
597
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
598
- }
599
-
600
- lines.push(' }');
601
- lines.push(' ');
602
- }
603
- }
604
-
605
- /**
606
- * Generate component token constants (if needed)
607
- */
608
- private generateComponentTokens(lines: string[], components: PlatformTokens['components']): void {
609
- const hasComponentTokens = Object.values(components).some(category => Object.keys(category).length > 0);
610
-
611
- if (!hasComponentTokens) {
612
- return;
613
- }
614
-
615
- lines.push(' // MARK: - Component Tokens');
616
- lines.push(' ');
617
- lines.push(' /// Component-specific tokens');
618
- lines.push(' /// Generated when semantic and primitive tokens are insufficient');
619
- lines.push(' ');
620
-
621
- // Generate component spacing tokens
622
- if (Object.keys(components.spacing).length > 0) {
623
- lines.push(' /// Component spacing tokens (pt units)');
624
- lines.push(' public enum ComponentSpacing {');
625
-
626
- for (const [name, value] of Object.entries(components.spacing)) {
627
- const swiftName = this.toSwiftConstantName(name);
628
- const comment = ` /// ${name}: ${value.value}${value.unit}`;
629
- lines.push(comment);
630
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
631
- }
632
-
633
- lines.push(' }');
634
- lines.push(' ');
635
- }
636
-
637
- // Generate component color tokens
638
- if (Object.keys(components.colors).length > 0) {
639
- lines.push(' /// Component color tokens');
640
- lines.push(' public enum ComponentColors {');
641
-
642
- for (const [name, value] of Object.entries(components.colors)) {
643
- const swiftName = this.toSwiftConstantName(name);
644
- const comment = ` /// ${name}: ${value.value}`;
645
- lines.push(comment);
646
-
647
- // Convert hex color to SwiftUI Color
648
- if (typeof value.value === 'string' && value.value.startsWith('#')) {
649
- lines.push(` public static let ${swiftName} = Color(hex: "${value.value}")`);
650
- }
651
- }
652
-
653
- lines.push(' }');
654
- lines.push(' ');
655
- }
656
-
657
- // Generate component typography tokens
658
- if (Object.keys(components.typography).length > 0) {
659
- lines.push(' /// Component typography tokens (pt units)');
660
- lines.push(' public enum ComponentTypography {');
661
-
662
- for (const [name, value] of Object.entries(components.typography)) {
663
- const swiftName = this.toSwiftConstantName(name);
664
- const comment = ` /// ${name}: ${value.value}${value.unit}`;
665
- lines.push(comment);
666
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
667
- }
668
-
669
- lines.push(' }');
670
- lines.push(' ');
671
- }
672
-
673
- // Generate component radius tokens
674
- if (Object.keys(components.radius).length > 0) {
675
- lines.push(' /// Component radius tokens (pt units)');
676
- lines.push(' public enum ComponentRadius {');
677
-
678
- for (const [name, value] of Object.entries(components.radius)) {
679
- const swiftName = this.toSwiftConstantName(name);
680
- const comment = ` /// ${name}: ${value.value}${value.unit}`;
681
- lines.push(comment);
682
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
683
- }
684
-
685
- lines.push(' }');
686
- lines.push(' ');
687
- }
688
-
689
- // Generate component sizing tokens
690
- if (Object.keys(components.sizing).length > 0) {
691
- lines.push(' /// Component sizing tokens (pt units)');
692
- lines.push(' public enum ComponentSizing {');
693
-
694
- for (const [name, value] of Object.entries(components.sizing)) {
695
- const swiftName = this.toSwiftConstantName(name);
696
- const comment = ` /// ${name}: ${value.value}${value.unit}`;
697
- lines.push(comment);
698
- lines.push(` public static let ${swiftName}: CGFloat = ${value.value}`);
699
- }
700
-
701
- lines.push(' }');
702
- lines.push(' ');
703
- }
704
- }
705
-
706
- /**
707
- * Generate Color extension for hex support
708
- */
709
- private generateColorExtension(lines: string[]): void {
710
- lines.push('// MARK: - Color Extension');
711
- lines.push('');
712
- lines.push('extension Color {');
713
- lines.push(' init(hex: String) {');
714
- lines.push(' let hex = hex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted)');
715
- lines.push(' var int: UInt64 = 0');
716
- lines.push(' Scanner(string: hex).scanHexInt64(&int)');
717
- lines.push(' let a, r, g, b: UInt64');
718
- lines.push(' switch hex.count {');
719
- lines.push(' case 3: // RGB (12-bit)');
720
- lines.push(' (a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17)');
721
- lines.push(' case 6: // RGB (24-bit)');
722
- lines.push(' (a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF)');
723
- lines.push(' case 8: // ARGB (32-bit)');
724
- lines.push(' (a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF)');
725
- lines.push(' default:');
726
- lines.push(' (a, r, g, b) = (255, 0, 0, 0)');
727
- lines.push(' }');
728
- lines.push(' self.init(');
729
- lines.push(' .sRGB,');
730
- lines.push(' red: Double(r) / 255,');
731
- lines.push(' green: Double(g) / 255,');
732
- lines.push(' blue: Double(b) / 255,');
733
- lines.push(' opacity: Double(a) / 255');
734
- lines.push(' )');
735
- lines.push(' }');
736
- lines.push('}');
737
- lines.push('');
738
- }
739
-
740
- /**
741
- * Generate spacing tokens file
742
- */
743
- private generateSpacingTokensFile(tokens: PlatformTokens): string {
744
- const lines: string[] = [];
745
-
746
- lines.push('//');
747
- lines.push('// SpacingTokens.swift');
748
- lines.push('// DesignerPunk Design System');
749
- lines.push('//');
750
- lines.push('// Spacing token constants for iOS');
751
- lines.push('//');
752
- lines.push('');
753
- lines.push('import Foundation');
754
- lines.push('import SwiftUI');
755
- lines.push('');
756
- lines.push('/// Spacing tokens organized by hierarchy');
757
- lines.push('public extension Tokens {');
758
- lines.push(' /// Spacing values in pt units');
759
- lines.push(' enum Space {');
760
- lines.push(' // Primitive spacing tokens');
761
-
762
- for (const [name, value] of Object.entries(tokens.primitives.spacing)) {
763
- lines.push(` public static let ${this.toSwiftConstantName(name)}: CGFloat = ${value.value}`);
764
- }
765
-
766
- lines.push(' }');
767
- lines.push('}');
768
- lines.push('');
769
-
770
- return lines.join('\n');
771
- }
772
-
773
- /**
774
- * Generate color tokens file
775
- */
776
- private generateColorTokensFile(tokens: PlatformTokens): string {
777
- const lines: string[] = [];
778
-
779
- lines.push('//');
780
- lines.push('// ColorTokens.swift');
781
- lines.push('// DesignerPunk Design System');
782
- lines.push('//');
783
- lines.push('// Color token constants for iOS');
784
- lines.push('//');
785
- lines.push('');
786
- lines.push('import SwiftUI');
787
- lines.push('');
788
- lines.push('/// Color tokens organized by hierarchy');
789
- lines.push('public extension Tokens {');
790
- lines.push(' /// Color values');
791
- lines.push(' enum ColorPalette {');
792
- lines.push(' // Primitive color tokens');
793
-
794
- for (const [name, value] of Object.entries(tokens.primitives.colors)) {
795
- if (typeof value.value === 'string' && value.value.startsWith('#')) {
796
- lines.push(` public static let ${this.toSwiftConstantName(name)} = Color(hex: "${value.value}")`);
797
- }
798
- }
799
-
800
- lines.push(' }');
801
- lines.push('}');
802
- lines.push('');
803
-
804
- return lines.join('\n');
805
- }
806
-
807
- /**
808
- * Generate typography tokens file
809
- */
810
- private generateTypographyTokensFile(tokens: PlatformTokens): string {
811
- const lines: string[] = [];
812
-
813
- lines.push('//');
814
- lines.push('// TypographyTokens.swift');
815
- lines.push('// DesignerPunk Design System');
816
- lines.push('//');
817
- lines.push('// Typography token constants for iOS');
818
- lines.push('//');
819
- lines.push('');
820
- lines.push('import Foundation');
821
- lines.push('import SwiftUI');
822
- lines.push('');
823
- lines.push('/// Typography tokens organized by hierarchy');
824
- lines.push('public extension Tokens {');
825
- lines.push(' /// Typography values in pt units');
826
- lines.push(' enum Type {');
827
- lines.push(' // Primitive typography tokens');
828
-
829
- for (const [name, value] of Object.entries(tokens.primitives.typography)) {
830
- lines.push(` public static let ${this.toSwiftConstantName(name)}: CGFloat = ${value.value}`);
831
- }
832
-
833
- lines.push(' }');
834
- lines.push('}');
835
- lines.push('');
836
-
837
- return lines.join('\n');
838
- }
839
-
840
- /**
841
- * Generate SwiftUI component with proper structure
842
- */
843
- private generateSwiftUIComponent(component: ComponentDefinition, tokens: PlatformTokens): string {
844
- const lines: string[] = [];
845
-
846
- lines.push('//');
847
- lines.push(`// ${component.name}.swift`);
848
- lines.push('// DesignerPunk Design System');
849
- lines.push('//');
850
- lines.push(`// ${component.description}`);
851
- lines.push('//');
852
- lines.push('');
853
- lines.push('import SwiftUI');
854
- lines.push('');
855
- lines.push(`/// ${component.description}`);
856
- lines.push('///');
857
- lines.push('/// A SwiftUI component that follows the DesignerPunk design system.');
858
- lines.push('/// Uses mathematical token relationships for consistent spacing and sizing.');
859
- lines.push(`public struct ${component.name}: View {`);
860
- lines.push(' ');
861
- lines.push(' // MARK: - Properties');
862
- lines.push(' ');
863
- lines.push(' /// Component configuration');
864
- lines.push(' private let configuration: Configuration');
865
- lines.push(' ');
866
- lines.push(' // MARK: - Initialization');
867
- lines.push(' ');
868
- lines.push(' /// Creates a new instance');
869
- lines.push(' public init(configuration: Configuration = .default) {');
870
- lines.push(' self.configuration = configuration');
871
- lines.push(' }');
872
- lines.push(' ');
873
- lines.push(' // MARK: - Body');
874
- lines.push(' ');
875
- lines.push(' public var body: some View {');
876
- lines.push(' VStack(spacing: Tokens.Spacing.space100) {');
877
- lines.push(` Text("${component.name}")`);
878
- lines.push(' .font(.system(size: Tokens.Typography.fontSize100))');
879
- lines.push(' .foregroundColor(Tokens.Colors.colorBlue500)');
880
- lines.push(' }');
881
- lines.push(' .padding(Tokens.Spacing.space100)');
882
- lines.push(' }');
883
- lines.push('}');
884
- lines.push('');
885
- lines.push('// MARK: - Configuration');
886
- lines.push('');
887
- lines.push(`extension ${component.name} {`);
888
- lines.push(' /// Component configuration options');
889
- lines.push(' public struct Configuration {');
890
- lines.push(' /// Default configuration');
891
- lines.push(' public static let `default` = Configuration()');
892
- lines.push(' ');
893
- lines.push(' public init() {}');
894
- lines.push(' }');
895
- lines.push('}');
896
- lines.push('');
897
- lines.push('// MARK: - Previews');
898
- lines.push('');
899
- lines.push('#if DEBUG');
900
- lines.push(`struct ${component.name}_Previews: PreviewProvider {`);
901
- lines.push(' static var previews: some View {');
902
- lines.push(` ${component.name}()`);
903
- lines.push(' .previewLayout(.sizeThatFits)');
904
- lines.push(' .padding()');
905
- lines.push(' }');
906
- lines.push('}');
907
- lines.push('#endif');
908
- lines.push('');
909
-
910
- return lines.join('\n');
911
- }
912
-
913
- /**
914
- * Generate color extensions
915
- */
916
- private generateColorExtensions(): string {
917
- const lines: string[] = [];
918
-
919
- lines.push('//');
920
- lines.push('// ColorExtensions.swift');
921
- lines.push('// DesignerPunk Design System');
922
- lines.push('//');
923
- lines.push('// Color utility extensions');
924
- lines.push('//');
925
- lines.push('');
926
- lines.push('import SwiftUI');
927
- lines.push('');
928
- lines.push('// MARK: - Color Hex Initializer');
929
- lines.push('');
930
- lines.push('extension Color {');
931
- lines.push(' /// Initialize Color from hex string');
932
- lines.push(' /// - Parameter hex: Hex color string (e.g., "#FF0000" or "FF0000")');
933
- lines.push(' init(hex: String) {');
934
- lines.push(' let hex = hex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted)');
935
- lines.push(' var int: UInt64 = 0');
936
- lines.push(' Scanner(string: hex).scanHexInt64(&int)');
937
- lines.push(' let a, r, g, b: UInt64');
938
- lines.push(' switch hex.count {');
939
- lines.push(' case 3: // RGB (12-bit)');
940
- lines.push(' (a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17)');
941
- lines.push(' case 6: // RGB (24-bit)');
942
- lines.push(' (a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF)');
943
- lines.push(' case 8: // ARGB (32-bit)');
944
- lines.push(' (a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF)');
945
- lines.push(' default:');
946
- lines.push(' (a, r, g, b) = (255, 0, 0, 0)');
947
- lines.push(' }');
948
- lines.push(' self.init(');
949
- lines.push(' .sRGB,');
950
- lines.push(' red: Double(r) / 255,');
951
- lines.push(' green: Double(g) / 255,');
952
- lines.push(' blue: Double(b) / 255,');
953
- lines.push(' opacity: Double(a) / 255');
954
- lines.push(' )');
955
- lines.push(' }');
956
- lines.push('}');
957
- lines.push('');
958
-
959
- return lines.join('\n');
960
- }
961
-
962
- /**
963
- * Generate view extensions
964
- */
965
- private generateViewExtensions(): string {
966
- const lines: string[] = [];
967
-
968
- lines.push('//');
969
- lines.push('// ViewExtensions.swift');
970
- lines.push('// DesignerPunk Design System');
971
- lines.push('//');
972
- lines.push('// View utility extensions');
973
- lines.push('//');
974
- lines.push('');
975
- lines.push('import SwiftUI');
976
- lines.push('');
977
- lines.push('// MARK: - View Extensions');
978
- lines.push('');
979
- lines.push('extension View {');
980
- lines.push(' /// Apply design system spacing');
981
- lines.push(' func designSystemPadding(_ spacing: CGFloat) -> some View {');
982
- lines.push(' self.padding(spacing)');
983
- lines.push(' }');
984
- lines.push(' ');
985
- lines.push(' /// Apply design system corner radius');
986
- lines.push(' func designSystemCornerRadius(_ radius: CGFloat) -> some View {');
987
- lines.push(' self.cornerRadius(radius)');
988
- lines.push(' }');
989
- lines.push('}');
990
- lines.push('');
991
-
992
- return lines.join('\n');
993
- }
994
-
995
- /**
996
- * Generate main module file
997
- */
998
- private generateModuleFile(): string {
999
- const lines: string[] = [];
1000
-
1001
- lines.push('//');
1002
- lines.push(`// ${this.buildConfig.productName}.swift`);
1003
- lines.push('// DesignerPunk Design System');
1004
- lines.push('//');
1005
- lines.push('// Main module file');
1006
- lines.push('//');
1007
- lines.push('');
1008
- lines.push('import Foundation');
1009
- lines.push('import SwiftUI');
1010
- lines.push('');
1011
- lines.push('/// DesignerPunk Design System');
1012
- lines.push('///');
1013
- lines.push('/// A True Native cross-platform design system with mathematical foundations.');
1014
- lines.push('/// Built for iOS using SwiftUI with token-based design principles.');
1015
- lines.push('public enum DesignerPunk {');
1016
- lines.push(' /// Design system version');
1017
- lines.push(' public static let version = "1.0.0"');
1018
- lines.push(' ');
1019
- lines.push(' /// Platform identifier');
1020
- lines.push(' public static let platform = "iOS"');
1021
- lines.push('}');
1022
- lines.push('');
1023
-
1024
- return lines.join('\n');
1025
- }
1026
-
1027
- /**
1028
- * Generate Swift component file (placeholder)
1029
- */
1030
- private generateComponentFile(component: ComponentDefinition, tokens: PlatformTokens): string {
1031
- const lines: string[] = [];
1032
-
1033
- lines.push('//');
1034
- lines.push(`// ${component.name}.swift`);
1035
- lines.push('// DesignerPunk Design System');
1036
- lines.push('//');
1037
- lines.push(`// ${component.description}`);
1038
- lines.push('//');
1039
- lines.push('');
1040
- lines.push('import SwiftUI');
1041
- lines.push('');
1042
- lines.push(`/// ${component.description}`);
1043
- lines.push(`public struct ${component.name}: View {`);
1044
- lines.push(' public init() {}');
1045
- lines.push(' ');
1046
- lines.push(' public var body: some View {');
1047
- lines.push(' Text("' + component.name + '")');
1048
- lines.push(' }');
1049
- lines.push('}');
1050
- lines.push('');
1051
-
1052
- return lines.join('\n');
1053
- }
1054
-
1055
- /**
1056
- * Convert token name to Swift constant name
1057
- */
1058
- private toSwiftConstantName(name: string): string {
1059
- // Convert names like "space100" to "space100"
1060
- // Convert names like "color.blue.500" to "colorBlue500"
1061
- return name
1062
- .replace(/\./g, '_')
1063
- .replace(/-/g, '_')
1064
- .replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
1065
- }
1066
-
1067
- /**
1068
- * Validate Swift implementation
1069
- */
1070
- validate(implementation: unknown): {
1071
- valid: boolean;
1072
- errors: string[];
1073
- warnings: string[];
1074
- } {
1075
- const errors: string[] = [];
1076
- const warnings: string[] = [];
1077
-
1078
- // Basic validation - can be expanded
1079
- if (!implementation) {
1080
- errors.push('Implementation is required');
1081
- }
1082
-
1083
- return {
1084
- valid: errors.length === 0,
1085
- errors,
1086
- warnings
1087
- };
1088
- }
1089
-
1090
- /**
1091
- * Validate Swift constant syntax
1092
- *
1093
- * Performs basic syntax validation on generated Swift code:
1094
- * - Checks for valid Swift identifiers
1095
- * - Validates enum structure
1096
- * - Checks for proper type annotations
1097
- * - Validates value formats
1098
- *
1099
- * Requirements: 3.4, 3.7
1100
- */
1101
- validateSwiftSyntax(swiftCode: string): {
1102
- valid: boolean;
1103
- errors: string[];
1104
- warnings: string[];
1105
- } {
1106
- const errors: string[] = [];
1107
- const warnings: string[] = [];
1108
-
1109
- // Check for required imports
1110
- if (!swiftCode.includes('import SwiftUI')) {
1111
- errors.push('Missing required import: SwiftUI');
1112
- }
1113
- if (!swiftCode.includes('import Foundation')) {
1114
- errors.push('Missing required import: Foundation');
1115
- }
1116
-
1117
- // Check for main Tokens enum
1118
- if (!swiftCode.includes('public enum Tokens')) {
1119
- errors.push('Missing main Tokens enum declaration');
1120
- }
1121
-
1122
- // Validate enum structure (basic check)
1123
- const enumPattern = /public enum \w+/g;
1124
- const enumMatches = swiftCode.match(enumPattern);
1125
- if (!enumMatches || enumMatches.length === 0) {
1126
- errors.push('No public enum declarations found');
1127
- }
1128
-
1129
- // Validate static let declarations
1130
- const staticLetPattern = /public static let \w+:/g;
1131
- const staticLetMatches = swiftCode.match(staticLetPattern);
1132
- if (staticLetMatches && staticLetMatches.length > 0) {
1133
- // Check for proper type annotations
1134
- for (const match of staticLetMatches) {
1135
- if (!match.includes(': CGFloat') && !match.includes('=')) {
1136
- warnings.push(`Static let declaration may be missing type annotation: ${match}`);
1137
- }
1138
- }
1139
- }
1140
-
1141
- // Validate CGFloat values
1142
- const cgFloatPattern = /: CGFloat = (-?\d+\.?\d*)/g;
1143
- let cgFloatMatch;
1144
- while ((cgFloatMatch = cgFloatPattern.exec(swiftCode)) !== null) {
1145
- const value = parseFloat(cgFloatMatch[1]);
1146
- if (isNaN(value)) {
1147
- errors.push(`Invalid CGFloat value: ${cgFloatMatch[1]}`);
1148
- }
1149
- if (value < 0) {
1150
- warnings.push(`Negative CGFloat value found: ${value}`);
1151
- }
1152
- }
1153
-
1154
- // Validate Color hex values
1155
- const colorHexPattern = /Color\(hex: "([^"]+)"\)/g;
1156
- let colorMatch;
1157
- while ((colorMatch = colorHexPattern.exec(swiftCode)) !== null) {
1158
- const hexValue = colorMatch[1];
1159
- if (!this.isValidHexColor(hexValue)) {
1160
- errors.push(`Invalid hex color value: ${hexValue}`);
1161
- }
1162
- }
1163
-
1164
- // Check for Color extension
1165
- if (swiftCode.includes('Color(hex:') && !swiftCode.includes('extension Color')) {
1166
- errors.push('Color hex initializer used but Color extension not defined');
1167
- }
1168
-
1169
- // Validate Swift identifier naming
1170
- const identifierPattern = /public static let (\w+)/g;
1171
- let identifierMatch;
1172
- while ((identifierMatch = identifierPattern.exec(swiftCode)) !== null) {
1173
- const identifier = identifierMatch[1];
1174
- if (!this.isValidSwiftIdentifier(identifier)) {
1175
- errors.push(`Invalid Swift identifier: ${identifier}`);
1176
- }
1177
- }
1178
-
1179
- // Check for balanced braces
1180
- const openBraces = (swiftCode.match(/{/g) || []).length;
1181
- const closeBraces = (swiftCode.match(/}/g) || []).length;
1182
- if (openBraces !== closeBraces) {
1183
- errors.push(`Unbalanced braces: ${openBraces} opening, ${closeBraces} closing`);
1184
- }
1185
-
1186
- return {
1187
- valid: errors.length === 0,
1188
- errors,
1189
- warnings
1190
- };
1191
- }
1192
-
1193
- /**
1194
- * Check if string is a valid hex color
1195
- */
1196
- private isValidHexColor(hex: string): boolean {
1197
- // Remove # if present
1198
- const cleanHex = hex.replace('#', '');
1199
-
1200
- // Valid hex colors are 3, 6, or 8 characters
1201
- if (![3, 6, 8].includes(cleanHex.length)) {
1202
- return false;
1203
- }
1204
-
1205
- // Check if all characters are valid hex digits
1206
- return /^[0-9A-Fa-f]+$/.test(cleanHex);
1207
- }
1208
-
1209
- /**
1210
- * Check if string is a valid Swift identifier
1211
- */
1212
- private isValidSwiftIdentifier(identifier: string): boolean {
1213
- // Swift identifiers must start with letter or underscore
1214
- // and contain only letters, digits, and underscores
1215
- return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(identifier);
1216
- }
1217
-
1218
- /**
1219
- * Clean build artifacts
1220
- */
1221
- async clean(outputDir: string): Promise<void> {
1222
- const iosDir = path.join(outputDir, 'ios');
1223
- try {
1224
- await fs.rm(iosDir, { recursive: true, force: true });
1225
- } catch (error) {
1226
- // Ignore errors if directory doesn't exist
1227
- }
1228
- }
1229
-
1230
- /**
1231
- * Calculate package size
1232
- */
1233
- private async calculatePackageSize(dir: string): Promise<number> {
1234
- let totalSize = 0;
1235
-
1236
- try {
1237
- const entries = await fs.readdir(dir, { withFileTypes: true });
1238
-
1239
- for (const entry of entries) {
1240
- const fullPath = path.join(dir, entry.name);
1241
-
1242
- if (entry.isDirectory()) {
1243
- totalSize += await this.calculatePackageSize(fullPath);
1244
- } else {
1245
- const stats = await fs.stat(fullPath);
1246
- totalSize += stats.size;
1247
- }
1248
- }
1249
- } catch (error) {
1250
- // Ignore errors
1251
- }
1252
-
1253
- return totalSize;
1254
- }
1255
-
1256
- /**
1257
- * Count total tokens
1258
- */
1259
- private countTokens(tokens: PlatformTokens): number {
1260
- let count = 0;
1261
-
1262
- count += Object.keys(tokens.primitives.spacing).length;
1263
- count += Object.keys(tokens.primitives.colors).length;
1264
- count += Object.keys(tokens.primitives.typography).length;
1265
- count += Object.keys(tokens.primitives.radius).length;
1266
- count += Object.keys(tokens.primitives.sizing).length;
1267
-
1268
- count += Object.keys(tokens.semantics.spacing).length;
1269
- count += Object.keys(tokens.semantics.colors).length;
1270
- count += Object.keys(tokens.semantics.typography).length;
1271
- count += Object.keys(tokens.semantics.radius).length;
1272
-
1273
- return count;
1274
- }
1275
-
1276
- /**
1277
- * Generate duration token Swift constants
1278
- *
1279
- * Generates Swift constants for animation duration tokens.
1280
- * Format: let duration150: TimeInterval = 0.15
1281
- *
1282
- * Converts milliseconds to seconds for iOS TimeInterval.
1283
- *
1284
- * Requirements: 1.6, 6.2, 6.5
1285
- *
1286
- * @param durationTokens - Duration primitive tokens from token system
1287
- * @returns Swift constant declarations
1288
- */
1289
- generateDurationTokens(durationTokens: Record<string, any>): string {
1290
- const lines: string[] = [];
1291
-
1292
- lines.push(' // MARK: - Duration Tokens');
1293
- lines.push(' ');
1294
- lines.push(' /// Animation duration values in seconds (TimeInterval)');
1295
- lines.push(' public enum Duration {');
1296
-
1297
- for (const [name, token] of Object.entries(durationTokens)) {
1298
- const swiftName = this.toSwiftConstantName(name);
1299
- const valueInSeconds = token.platforms.ios.value; // Already converted to seconds in token definition
1300
- const comment = ` /// ${name}: ${valueInSeconds}s (${token.baseValue}ms)`;
1301
- lines.push(comment);
1302
- lines.push(` public static let ${swiftName}: TimeInterval = ${valueInSeconds}`);
1303
- }
1304
-
1305
- lines.push(' }');
1306
- lines.push(' ');
1307
-
1308
- return lines.join('\n');
1309
- }
1310
-
1311
- /**
1312
- * Generate easing token Swift constants
1313
- *
1314
- * Generates Swift constants for animation easing tokens using Animation.timingCurve().
1315
- * Format: let easingStandard = Animation.timingCurve(0.4, 0.0, 0.2, 1.0)
1316
- *
1317
- * Converts cubic-bezier CSS format to Swift Animation.timingCurve format.
1318
- *
1319
- * Requirements: 2.6, 6.2, 6.6
1320
- *
1321
- * @param easingTokens - Easing primitive tokens from token system
1322
- * @returns Swift constant declarations
1323
- */
1324
- generateEasingTokens(easingTokens: Record<string, any>): string {
1325
- const lines: string[] = [];
1326
- const hasLinear = Object.values(easingTokens).some((t: any) => t.easingType === 'linear');
1327
-
1328
- lines.push(' // MARK: - Easing Tokens');
1329
- lines.push(' ');
1330
-
1331
- if (hasLinear) {
1332
- lines.push(' /// Piecewise linear easing via CustomAnimation (iOS 17+)');
1333
- lines.push(' struct PiecewiseLinearEasing: CustomAnimation {');
1334
- lines.push(' let stops: [(time: Double, progress: Double)]');
1335
- lines.push(' let duration: Double');
1336
- lines.push(' func animate<V>(value: V, time: TimeInterval, context: inout AnimationContext<V>) -> V? where V: VectorArithmetic {');
1337
- lines.push(' let t = min(time / duration, 1.0)');
1338
- lines.push(' guard t < 1.0 else { return nil }');
1339
- lines.push(' var lo = 0, hi = stops.count - 1');
1340
- lines.push(' while lo < hi - 1 { let mid = (lo + hi) / 2; if stops[mid].time <= t { lo = mid } else { hi = mid } }');
1341
- lines.push(' let seg = stops[lo], next = stops[hi]');
1342
- lines.push(' let frac = next.time > seg.time ? (t - seg.time) / (next.time - seg.time) : 1.0');
1343
- lines.push(' let progress = seg.progress + (next.progress - seg.progress) * frac');
1344
- lines.push(' return value.scaled(by: progress)');
1345
- lines.push(' }');
1346
- lines.push(' }');
1347
- lines.push(' ');
1348
- }
1349
-
1350
- lines.push(' /// Animation easing curves');
1351
- lines.push(' public enum Easing {');
1352
-
1353
- for (const [name, token] of Object.entries(easingTokens)) {
1354
- const swiftName = this.toSwiftConstantName(name);
1355
- if (token.easingType === 'linear' && token.stops) {
1356
- const stops = (token.stops as Array<[number, number]>)
1357
- .map(([time, progress]) => `(${time}, ${progress})`).join(', ');
1358
- const dur = (token.easingDuration / 1000).toFixed(2);
1359
- lines.push(` /// ${name}: piecewise linear (${(token.stops as Array<[number, number]>).length} stops, ${token.easingDuration}ms)`);
1360
- lines.push(` public static let ${swiftName} = Animation(PiecewiseLinearEasing(stops: [${stops}], duration: ${dur}))`);
1361
- } else {
1362
- const cubicBezier = token.platforms.ios.value;
1363
- const match = cubicBezier.match(/cubic-bezier\(([\d.]+),\s*([\d.]+),\s*([\d.]+),\s*([\d.]+)\)/);
1364
- if (match) {
1365
- const [, p1, p2, p3, p4] = match;
1366
- lines.push(` /// ${name}: Animation.timingCurve(${p1}, ${p2}, ${p3}, ${p4})`);
1367
- lines.push(` public static let ${swiftName} = Animation.timingCurve(${p1}, ${p2}, ${p3}, ${p4})`);
1368
- }
1369
- }
1370
- }
1371
-
1372
- lines.push(' }');
1373
- lines.push(' ');
1374
-
1375
- return lines.join('\n');
1376
- }
1377
-
1378
- /**
1379
- * Generate scale token Swift constants
1380
- *
1381
- * Generates Swift constants for transform scale tokens.
1382
- * Format: let scale088: CGFloat = 0.88
1383
- *
1384
- * Scale tokens are unitless factors that should be applied to base values.
1385
- * When applying scale tokens to base values during token generation,
1386
- * use unitConverter.applyScaleWithRounding() to ensure whole pixel values.
1387
- *
1388
- * Example:
1389
- * const baseSize = 16;
1390
- * const scaledSize = unitConverter.applyScaleWithRounding(baseSize, 0.88);
1391
- * // Result: 14 (16 × 0.88 = 14.08 → rounds to 14)
1392
- *
1393
- * In Swift, components should apply rounding when using scale tokens:
1394
- * let scaledSize = round(baseSize * Tokens.Scale.scale088)
1395
- *
1396
- * Requirements: 3.1, 4.2, 4.3, 6.2
1397
- *
1398
- * @param scaleTokens - Scale primitive tokens from token system
1399
- * @returns Swift constant declarations
1400
- */
1401
- generateScaleTokens(scaleTokens: Record<string, any>): string {
1402
- const lines: string[] = [];
1403
-
1404
- lines.push(' // MARK: - Scale Tokens');
1405
- lines.push(' ');
1406
- lines.push(' /// Transform scale factors (unitless)');
1407
- lines.push(' /// When applying to base values, use round() for whole pixels');
1408
- lines.push(' public enum Scale {');
1409
-
1410
- for (const [name, token] of Object.entries(scaleTokens)) {
1411
- const swiftName = this.toSwiftConstantName(name);
1412
- const value = token.platforms.ios.value;
1413
- const comment = ` /// ${name}: ${value}`;
1414
- lines.push(comment);
1415
- lines.push(` public static let ${swiftName}: CGFloat = ${value}`);
1416
- }
1417
-
1418
- lines.push(' }');
1419
- lines.push(' ');
1420
-
1421
- return lines.join('\n');
1422
- }
1423
-
1424
- /**
1425
- * Generate semantic motion token Swift constants
1426
- *
1427
- * Generates Swift structs for semantic motion tokens that compose
1428
- * primitive duration, easing, and scale tokens.
1429
- *
1430
- * Format:
1431
- * struct MotionFloatLabel {
1432
- * let duration = Duration.duration250
1433
- * let easing = Easing.easingStandard
1434
- * }
1435
- *
1436
- * Requirements: 5.1, 5.2, 6.5
1437
- *
1438
- * @param motionTokens - Semantic motion tokens from token system
1439
- * @returns Swift struct declarations
1440
- */
1441
- generateSemanticMotionTokens(motionTokens: Record<string, any>): string {
1442
- const lines: string[] = [];
1443
-
1444
- lines.push(' // MARK: - Semantic Motion Tokens');
1445
- lines.push(' ');
1446
- lines.push(' /// Composed motion styles for specific animation contexts');
1447
-
1448
- for (const [name, token] of Object.entries(motionTokens)) {
1449
- const structName = this.toSwiftTypeName(name);
1450
- const { duration, easing, scale } = token.primitiveReferences;
1451
-
1452
- lines.push(' ');
1453
- lines.push(` /// ${token.description}`);
1454
- lines.push(` public struct ${structName} {`);
1455
-
1456
- // Generate duration reference
1457
- const durationSwiftName = this.toSwiftConstantName(duration);
1458
- lines.push(` public static let duration = Duration.${durationSwiftName}`);
1459
-
1460
- // Generate easing reference
1461
- const easingSwiftName = this.toSwiftConstantName(easing);
1462
- lines.push(` public static let easing = Easing.${easingSwiftName}`);
1463
-
1464
- // Generate scale reference if present
1465
- if (scale) {
1466
- const scaleSwiftName = this.toSwiftConstantName(scale);
1467
- lines.push(` public static let scale = Scale.${scaleSwiftName}`);
1468
- }
1469
-
1470
- lines.push(' }');
1471
- }
1472
-
1473
- lines.push(' ');
1474
-
1475
- return lines.join('\n');
1476
- }
1477
-
1478
- /**
1479
- * Convert token name to Swift type name (PascalCase)
1480
- *
1481
- * Converts names like "motion.floatLabel" to "MotionFloatLabel"
1482
- * Used for struct and enum names.
1483
- */
1484
- private toSwiftTypeName(name: string): string {
1485
- return name
1486
- .split('.')
1487
- .map(part => part.charAt(0).toUpperCase() + part.slice(1))
1488
- .join('');
1489
- }
1490
-
1491
- /**
1492
- * Generate basic test file for Swift Package
1493
- */
1494
- private generateTestFile(): string {
1495
- const lines: string[] = [];
1496
-
1497
- lines.push('//');
1498
- lines.push(`// ${this.buildConfig.productName}Tests.swift`);
1499
- lines.push('// DesignerPunk Design System');
1500
- lines.push('//');
1501
- lines.push('// Basic tests for design system package');
1502
- lines.push('//');
1503
- lines.push('');
1504
- lines.push('import XCTest');
1505
- lines.push(`@testable import ${this.buildConfig.productName}`);
1506
- lines.push('');
1507
- lines.push(`final class ${this.buildConfig.productName}Tests: XCTestCase {`);
1508
- lines.push(' ');
1509
- lines.push(' func testDesignSystemVersion() {');
1510
- lines.push(' XCTAssertEqual(DesignerPunk.version, "1.0.0")');
1511
- lines.push(' }');
1512
- lines.push(' ');
1513
- lines.push(' func testDesignSystemPlatform() {');
1514
- lines.push(' XCTAssertEqual(DesignerPunk.platform, "iOS")');
1515
- lines.push(' }');
1516
- lines.push(' ');
1517
- lines.push(' func testTokensExist() {');
1518
- lines.push(' // Verify token constants are accessible');
1519
- lines.push(' XCTAssertGreaterThan(Tokens.Spacing.space100, 0)');
1520
- lines.push(' }');
1521
- lines.push('}');
1522
- lines.push('');
1523
-
1524
- return lines.join('\n');
1525
- }
1526
-
1527
- /**
1528
- * Validate Package.swift manifest syntax
1529
- *
1530
- * Validates that Package.swift has:
1531
- * - swift-tools-version declaration
1532
- * - import PackageDescription
1533
- * - Package definition with required fields
1534
- *
1535
- * Requirements: 2.1, 2.7, 5.1
1536
- */
1537
- validatePackageManifest(manifest: string): {
1538
- valid: boolean;
1539
- errors: string[];
1540
- warnings: string[];
1541
- } {
1542
- const errors: string[] = [];
1543
- const warnings: string[] = [];
1544
-
1545
- // Check for swift-tools-version
1546
- if (!manifest.includes('swift-tools-version')) {
1547
- errors.push('Missing swift-tools-version declaration');
1548
- }
1549
-
1550
- // Check for import PackageDescription
1551
- if (!manifest.includes('import PackageDescription')) {
1552
- errors.push('Missing import PackageDescription');
1553
- }
1554
-
1555
- // Check for Package definition
1556
- if (!manifest.includes('let package = Package(')) {
1557
- errors.push('Missing Package definition');
1558
- }
1559
-
1560
- // Check for required Package fields
1561
- if (!manifest.includes('name:')) {
1562
- errors.push('Missing package name');
1563
- }
1564
-
1565
- if (!manifest.includes('platforms:')) {
1566
- warnings.push('Missing platforms specification');
1567
- }
1568
-
1569
- if (!manifest.includes('products:')) {
1570
- errors.push('Missing products specification');
1571
- }
1572
-
1573
- if (!manifest.includes('targets:')) {
1574
- errors.push('Missing targets specification');
1575
- }
1576
-
1577
- // Check for balanced parentheses
1578
- const openParens = (manifest.match(/\(/g) || []).length;
1579
- const closeParens = (manifest.match(/\)/g) || []).length;
1580
- if (openParens !== closeParens) {
1581
- errors.push(`Unbalanced parentheses: ${openParens} open, ${closeParens} close`);
1582
- }
1583
-
1584
- // Check for balanced brackets
1585
- const openBrackets = (manifest.match(/\[/g) || []).length;
1586
- const closeBrackets = (manifest.match(/\]/g) || []).length;
1587
- if (openBrackets !== closeBrackets) {
1588
- errors.push(`Unbalanced brackets: ${openBrackets} open, ${closeBrackets} close`);
1589
- }
1590
-
1591
- return {
1592
- valid: errors.length === 0,
1593
- errors,
1594
- warnings
1595
- };
1596
- }
1597
-
1598
- /**
1599
- * Validate Swift Package structure
1600
- *
1601
- * Validates that the package has:
1602
- * - Package.swift manifest
1603
- * - Sources directory
1604
- * - Tests directory
1605
- * - Main module file
1606
- *
1607
- * Requirements: 2.1, 2.5, 5.1
1608
- */
1609
- validatePackageStructure(packagePath: string): {
1610
- valid: boolean;
1611
- errors: string[];
1612
- warnings: string[];
1613
- hasPackageManifest: boolean;
1614
- hasSourcesDirectory: boolean;
1615
- hasTestsDirectory: boolean;
1616
- hasMainModule: boolean;
1617
- } {
1618
- const errors: string[] = [];
1619
- const warnings: string[] = [];
1620
-
1621
- let hasPackageManifest = false;
1622
- let hasSourcesDirectory = false;
1623
- let hasTestsDirectory = false;
1624
- let hasMainModule = false;
1625
-
1626
- try {
1627
- // Check for Package.swift
1628
- const manifestPath = path.join(packagePath, 'Package.swift');
1629
- try {
1630
- fsSync.accessSync(manifestPath);
1631
- hasPackageManifest = true;
1632
- } catch {
1633
- errors.push('Missing Package.swift manifest');
1634
- }
1635
-
1636
- // Check for Sources directory
1637
- const sourcesPath = path.join(packagePath, 'Sources');
1638
- try {
1639
- fsSync.accessSync(sourcesPath);
1640
- hasSourcesDirectory = true;
1641
- } catch {
1642
- errors.push('Missing Sources directory');
1643
- }
1644
-
1645
- // Check for Tests directory
1646
- const testsPath = path.join(packagePath, 'Tests');
1647
- try {
1648
- fsSync.accessSync(testsPath);
1649
- hasTestsDirectory = true;
1650
- } catch {
1651
- warnings.push('Missing Tests directory');
1652
- }
1653
-
1654
- // Check for main module
1655
- const modulePath = path.join(packagePath, 'Sources', this.buildConfig.productName);
1656
- try {
1657
- fsSync.accessSync(modulePath);
1658
- hasMainModule = true;
1659
- } catch {
1660
- errors.push(`Missing main module at Sources/${this.buildConfig.productName}`);
1661
- }
1662
- } catch (error) {
1663
- errors.push(`Error validating package structure: ${error instanceof Error ? error.message : 'Unknown error'}`);
1664
- }
1665
-
1666
- return {
1667
- valid: errors.length === 0,
1668
- errors,
1669
- warnings,
1670
- hasPackageManifest,
1671
- hasSourcesDirectory,
1672
- hasTestsDirectory,
1673
- hasMainModule
1674
- };
1675
- }
1676
-
1677
- /**
1678
- * Validate iOS-specific optimizations
1679
- *
1680
- * Validates that components use:
1681
- * - SwiftUI framework
1682
- * - CGFloat for numeric values
1683
- * - Color extension for hex colors
1684
- * - Proper token references
1685
- *
1686
- * Requirements: 2.7, 5.1
1687
- */
1688
- validateiOSOptimizations(componentCode: string): {
1689
- valid: boolean;
1690
- errors: string[];
1691
- warnings: string[];
1692
- usesSwiftUI: boolean;
1693
- usesCGFloat: boolean;
1694
- usesColorExtension: boolean;
1695
- } {
1696
- const errors: string[] = [];
1697
- const warnings: string[] = [];
1698
-
1699
- // Check for SwiftUI import
1700
- const usesSwiftUI = componentCode.includes('import SwiftUI');
1701
- if (!usesSwiftUI) {
1702
- errors.push('Component does not import SwiftUI');
1703
- }
1704
-
1705
- // Check for View protocol conformance
1706
- if (!componentCode.includes(': View')) {
1707
- errors.push('Component does not conform to View protocol');
1708
- }
1709
-
1710
- // Check for body property
1711
- if (!componentCode.includes('var body: some View')) {
1712
- errors.push('Component missing body property');
1713
- }
1714
-
1715
- // Check for CGFloat usage
1716
- const usesCGFloat = componentCode.includes('CGFloat');
1717
- if (!usesCGFloat) {
1718
- warnings.push('Component does not use CGFloat for numeric values');
1719
- }
1720
-
1721
- // Check for Color extension usage
1722
- const usesColorExtension = componentCode.includes('Color(hex:');
1723
-
1724
- // Check for token references
1725
- if (!componentCode.includes('Tokens.')) {
1726
- warnings.push('Component does not reference design system tokens');
1727
- }
1728
-
1729
- // Check for proper SwiftUI structure
1730
- if (usesSwiftUI) {
1731
- if (!componentCode.includes('public struct') && !componentCode.includes('struct')) {
1732
- errors.push('Component should be defined as a struct');
1733
- }
1734
- }
1735
-
1736
- return {
1737
- valid: errors.length === 0,
1738
- errors,
1739
- warnings,
1740
- usesSwiftUI,
1741
- usesCGFloat,
1742
- usesColorExtension
1743
- };
1744
- }
1745
- }
1746
-