@calibrate-ds/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (529) hide show
  1. package/dist/__tests__/check-component.test.d.ts +2 -0
  2. package/dist/__tests__/check-component.test.d.ts.map +1 -0
  3. package/dist/__tests__/check-component.test.js +103 -0
  4. package/dist/__tests__/check-component.test.js.map +1 -0
  5. package/dist/__tests__/compare-components.test.d.ts +2 -0
  6. package/dist/__tests__/compare-components.test.d.ts.map +1 -0
  7. package/dist/__tests__/compare-components.test.js +145 -0
  8. package/dist/__tests__/compare-components.test.js.map +1 -0
  9. package/dist/__tests__/naming-strategy.test.d.ts +2 -0
  10. package/dist/__tests__/naming-strategy.test.d.ts.map +1 -0
  11. package/dist/__tests__/naming-strategy.test.js +71 -0
  12. package/dist/__tests__/naming-strategy.test.js.map +1 -0
  13. package/dist/ai/index.d.ts +3 -0
  14. package/dist/ai/index.d.ts.map +1 -0
  15. package/dist/ai/index.js +3 -0
  16. package/dist/ai/index.js.map +1 -0
  17. package/dist/ai/provider.d.ts +14 -0
  18. package/dist/ai/provider.d.ts.map +1 -0
  19. package/dist/ai/provider.js +63 -0
  20. package/dist/ai/provider.js.map +1 -0
  21. package/dist/ai/resolve-provider.d.ts +3 -0
  22. package/dist/ai/resolve-provider.d.ts.map +1 -0
  23. package/dist/ai/resolve-provider.js +61 -0
  24. package/dist/ai/resolve-provider.js.map +1 -0
  25. package/dist/bootstrap/generate-library-files.d.ts +7 -0
  26. package/dist/bootstrap/generate-library-files.d.ts.map +1 -0
  27. package/dist/bootstrap/generate-library-files.js +97 -0
  28. package/dist/bootstrap/generate-library-files.js.map +1 -0
  29. package/dist/bootstrap/index.d.ts +4 -0
  30. package/dist/bootstrap/index.d.ts.map +1 -0
  31. package/dist/bootstrap/index.js +4 -0
  32. package/dist/bootstrap/index.js.map +1 -0
  33. package/dist/bootstrap/types.d.ts +27 -0
  34. package/dist/bootstrap/types.d.ts.map +1 -0
  35. package/dist/bootstrap/types.js +2 -0
  36. package/dist/bootstrap/types.js.map +1 -0
  37. package/dist/bootstrap/write-library-bootstrap.d.ts +7 -0
  38. package/dist/bootstrap/write-library-bootstrap.d.ts.map +1 -0
  39. package/dist/bootstrap/write-library-bootstrap.js +35 -0
  40. package/dist/bootstrap/write-library-bootstrap.js.map +1 -0
  41. package/dist/config/config-schema.d.ts +131 -0
  42. package/dist/config/config-schema.d.ts.map +1 -0
  43. package/dist/config/config-schema.js +93 -0
  44. package/dist/config/config-schema.js.map +1 -0
  45. package/dist/config/index.d.ts +3 -0
  46. package/dist/config/index.d.ts.map +1 -0
  47. package/dist/config/index.js +3 -0
  48. package/dist/config/index.js.map +1 -0
  49. package/dist/config/load-config.d.ts +7 -0
  50. package/dist/config/load-config.d.ts.map +1 -0
  51. package/dist/config/load-config.js +63 -0
  52. package/dist/config/load-config.js.map +1 -0
  53. package/dist/context/compressed-context.d.ts +3 -0
  54. package/dist/context/compressed-context.d.ts.map +1 -0
  55. package/dist/context/compressed-context.js +145 -0
  56. package/dist/context/compressed-context.js.map +1 -0
  57. package/dist/context/context-index.d.ts +18 -0
  58. package/dist/context/context-index.d.ts.map +1 -0
  59. package/dist/context/context-index.js +59 -0
  60. package/dist/context/context-index.js.map +1 -0
  61. package/dist/context/export-context.d.ts +61 -0
  62. package/dist/context/export-context.d.ts.map +1 -0
  63. package/dist/context/export-context.js +191 -0
  64. package/dist/context/export-context.js.map +1 -0
  65. package/dist/context/get-component-context.d.ts +3 -0
  66. package/dist/context/get-component-context.d.ts.map +1 -0
  67. package/dist/context/get-component-context.js +898 -0
  68. package/dist/context/get-component-context.js.map +1 -0
  69. package/dist/context/hashing.d.ts +14 -0
  70. package/dist/context/hashing.d.ts.map +1 -0
  71. package/dist/context/hashing.js +53 -0
  72. package/dist/context/hashing.js.map +1 -0
  73. package/dist/context/metadata-extraction.d.ts +15 -0
  74. package/dist/context/metadata-extraction.d.ts.map +1 -0
  75. package/dist/context/metadata-extraction.js +47 -0
  76. package/dist/context/metadata-extraction.js.map +1 -0
  77. package/dist/design-tool/figma-adapter.d.ts +20 -0
  78. package/dist/design-tool/figma-adapter.d.ts.map +1 -0
  79. package/dist/design-tool/figma-adapter.js +46 -0
  80. package/dist/design-tool/figma-adapter.js.map +1 -0
  81. package/dist/design-tool/index.d.ts +4 -0
  82. package/dist/design-tool/index.d.ts.map +1 -0
  83. package/dist/design-tool/index.js +3 -0
  84. package/dist/design-tool/index.js.map +1 -0
  85. package/dist/design-tool/registry.d.ts +12 -0
  86. package/dist/design-tool/registry.d.ts.map +1 -0
  87. package/dist/design-tool/registry.js +23 -0
  88. package/dist/design-tool/registry.js.map +1 -0
  89. package/dist/design-tool/types.d.ts +28 -0
  90. package/dist/design-tool/types.d.ts.map +1 -0
  91. package/dist/design-tool/types.js +2 -0
  92. package/dist/design-tool/types.js.map +1 -0
  93. package/dist/diff/compare-components.d.ts +3 -0
  94. package/dist/diff/compare-components.d.ts.map +1 -0
  95. package/dist/diff/compare-components.js +198 -0
  96. package/dist/diff/compare-components.js.map +1 -0
  97. package/dist/diff/compare-dependencies.d.ts +3 -0
  98. package/dist/diff/compare-dependencies.d.ts.map +1 -0
  99. package/dist/diff/compare-dependencies.js +30 -0
  100. package/dist/diff/compare-dependencies.js.map +1 -0
  101. package/dist/diff/compare-tokens.d.ts +3 -0
  102. package/dist/diff/compare-tokens.d.ts.map +1 -0
  103. package/dist/diff/compare-tokens.js +52 -0
  104. package/dist/diff/compare-tokens.js.map +1 -0
  105. package/dist/diff/compute-design-diff.d.ts +3 -0
  106. package/dist/diff/compute-design-diff.d.ts.map +1 -0
  107. package/dist/diff/compute-design-diff.js +27 -0
  108. package/dist/diff/compute-design-diff.js.map +1 -0
  109. package/dist/diff/format-diff-summary.d.ts +3 -0
  110. package/dist/diff/format-diff-summary.d.ts.map +1 -0
  111. package/dist/diff/format-diff-summary.js +59 -0
  112. package/dist/diff/format-diff-summary.js.map +1 -0
  113. package/dist/diff/index.d.ts +6 -0
  114. package/dist/diff/index.d.ts.map +1 -0
  115. package/dist/diff/index.js +6 -0
  116. package/dist/diff/index.js.map +1 -0
  117. package/dist/docs/generate-component-doc.d.ts +34 -0
  118. package/dist/docs/generate-component-doc.d.ts.map +1 -0
  119. package/dist/docs/generate-component-doc.js +269 -0
  120. package/dist/docs/generate-component-doc.js.map +1 -0
  121. package/dist/docs/generate-component-stories.d.ts +3 -0
  122. package/dist/docs/generate-component-stories.d.ts.map +1 -0
  123. package/dist/docs/generate-component-stories.js +116 -0
  124. package/dist/docs/generate-component-stories.js.map +1 -0
  125. package/dist/docs/generate-system-doc.d.ts +23 -0
  126. package/dist/docs/generate-system-doc.d.ts.map +1 -0
  127. package/dist/docs/generate-system-doc.js +337 -0
  128. package/dist/docs/generate-system-doc.js.map +1 -0
  129. package/dist/docs/index.d.ts +5 -0
  130. package/dist/docs/index.d.ts.map +1 -0
  131. package/dist/docs/index.js +5 -0
  132. package/dist/docs/index.js.map +1 -0
  133. package/dist/docs/setup-storybook.d.ts +26 -0
  134. package/dist/docs/setup-storybook.d.ts.map +1 -0
  135. package/dist/docs/setup-storybook.js +216 -0
  136. package/dist/docs/setup-storybook.js.map +1 -0
  137. package/dist/doctor/check-component.d.ts +5 -0
  138. package/dist/doctor/check-component.d.ts.map +1 -0
  139. package/dist/doctor/check-component.js +120 -0
  140. package/dist/doctor/check-component.js.map +1 -0
  141. package/dist/doctor/check-config.d.ts +4 -0
  142. package/dist/doctor/check-config.d.ts.map +1 -0
  143. package/dist/doctor/check-config.js +65 -0
  144. package/dist/doctor/check-config.js.map +1 -0
  145. package/dist/doctor/check-tokens.d.ts +4 -0
  146. package/dist/doctor/check-tokens.d.ts.map +1 -0
  147. package/dist/doctor/check-tokens.js +17 -0
  148. package/dist/doctor/check-tokens.js.map +1 -0
  149. package/dist/doctor/index.d.ts +5 -0
  150. package/dist/doctor/index.d.ts.map +1 -0
  151. package/dist/doctor/index.js +5 -0
  152. package/dist/doctor/index.js.map +1 -0
  153. package/dist/doctor/types.d.ts +30 -0
  154. package/dist/doctor/types.d.ts.map +1 -0
  155. package/dist/doctor/types.js +2 -0
  156. package/dist/doctor/types.js.map +1 -0
  157. package/dist/filesystem/ensure-dir.d.ts +5 -0
  158. package/dist/filesystem/ensure-dir.d.ts.map +1 -0
  159. package/dist/filesystem/ensure-dir.js +17 -0
  160. package/dist/filesystem/ensure-dir.js.map +1 -0
  161. package/dist/filesystem/index.d.ts +6 -0
  162. package/dist/filesystem/index.d.ts.map +1 -0
  163. package/dist/filesystem/index.js +6 -0
  164. package/dist/filesystem/index.js.map +1 -0
  165. package/dist/filesystem/resolve-component-path.d.ts +10 -0
  166. package/dist/filesystem/resolve-component-path.d.ts.map +1 -0
  167. package/dist/filesystem/resolve-component-path.js +32 -0
  168. package/dist/filesystem/resolve-component-path.js.map +1 -0
  169. package/dist/filesystem/resolve-ds-paths.d.ts +15 -0
  170. package/dist/filesystem/resolve-ds-paths.d.ts.map +1 -0
  171. package/dist/filesystem/resolve-ds-paths.js +51 -0
  172. package/dist/filesystem/resolve-ds-paths.js.map +1 -0
  173. package/dist/filesystem/workspace-root.d.ts +6 -0
  174. package/dist/filesystem/workspace-root.d.ts.map +1 -0
  175. package/dist/filesystem/workspace-root.js +21 -0
  176. package/dist/filesystem/workspace-root.js.map +1 -0
  177. package/dist/filesystem/write-json.d.ts +6 -0
  178. package/dist/filesystem/write-json.d.ts.map +1 -0
  179. package/dist/filesystem/write-json.js +10 -0
  180. package/dist/filesystem/write-json.js.map +1 -0
  181. package/dist/filesystem/write-text.d.ts +10 -0
  182. package/dist/filesystem/write-text.d.ts.map +1 -0
  183. package/dist/filesystem/write-text.js +22 -0
  184. package/dist/filesystem/write-text.js.map +1 -0
  185. package/dist/generators/components/generate-component-css.d.ts +6 -0
  186. package/dist/generators/components/generate-component-css.d.ts.map +1 -0
  187. package/dist/generators/components/generate-component-css.js +92 -0
  188. package/dist/generators/components/generate-component-css.js.map +1 -0
  189. package/dist/generators/components/generate-component-file.d.ts +8 -0
  190. package/dist/generators/components/generate-component-file.d.ts.map +1 -0
  191. package/dist/generators/components/generate-component-file.js +209 -0
  192. package/dist/generators/components/generate-component-file.js.map +1 -0
  193. package/dist/generators/components/generate-composite-file.d.ts +3 -0
  194. package/dist/generators/components/generate-composite-file.d.ts.map +1 -0
  195. package/dist/generators/components/generate-composite-file.js +77 -0
  196. package/dist/generators/components/generate-composite-file.js.map +1 -0
  197. package/dist/generators/components/generate-composite-types.d.ts +7 -0
  198. package/dist/generators/components/generate-composite-types.d.ts.map +1 -0
  199. package/dist/generators/components/generate-composite-types.js +43 -0
  200. package/dist/generators/components/generate-composite-types.js.map +1 -0
  201. package/dist/generators/components/generate-types-file.d.ts +8 -0
  202. package/dist/generators/components/generate-types-file.d.ts.map +1 -0
  203. package/dist/generators/components/generate-types-file.js +64 -0
  204. package/dist/generators/components/generate-types-file.js.map +1 -0
  205. package/dist/generators/components/helpers.d.ts +33 -0
  206. package/dist/generators/components/helpers.d.ts.map +1 -0
  207. package/dist/generators/components/helpers.js +124 -0
  208. package/dist/generators/components/helpers.js.map +1 -0
  209. package/dist/generators/components/index.d.ts +9 -0
  210. package/dist/generators/components/index.d.ts.map +1 -0
  211. package/dist/generators/components/index.js +10 -0
  212. package/dist/generators/components/index.js.map +1 -0
  213. package/dist/generators/components/layout-jsx.d.ts +14 -0
  214. package/dist/generators/components/layout-jsx.d.ts.map +1 -0
  215. package/dist/generators/components/layout-jsx.js +271 -0
  216. package/dist/generators/components/layout-jsx.js.map +1 -0
  217. package/dist/generators/components/prune-components.d.ts +15 -0
  218. package/dist/generators/components/prune-components.d.ts.map +1 -0
  219. package/dist/generators/components/prune-components.js +88 -0
  220. package/dist/generators/components/prune-components.js.map +1 -0
  221. package/dist/generators/components/token-helpers.d.ts +32 -0
  222. package/dist/generators/components/token-helpers.d.ts.map +1 -0
  223. package/dist/generators/components/token-helpers.js +188 -0
  224. package/dist/generators/components/token-helpers.js.map +1 -0
  225. package/dist/generators/components/write-components.d.ts +17 -0
  226. package/dist/generators/components/write-components.d.ts.map +1 -0
  227. package/dist/generators/components/write-components.js +212 -0
  228. package/dist/generators/components/write-components.js.map +1 -0
  229. package/dist/generators/components/write-composites.d.ts +4 -0
  230. package/dist/generators/components/write-composites.d.ts.map +1 -0
  231. package/dist/generators/components/write-composites.js +116 -0
  232. package/dist/generators/components/write-composites.js.map +1 -0
  233. package/dist/generators/composites/generate-composite-file.d.ts +3 -0
  234. package/dist/generators/composites/generate-composite-file.d.ts.map +1 -0
  235. package/dist/generators/composites/generate-composite-file.js +101 -0
  236. package/dist/generators/composites/generate-composite-file.js.map +1 -0
  237. package/dist/generators/composites/generate-composite-types.d.ts +7 -0
  238. package/dist/generators/composites/generate-composite-types.d.ts.map +1 -0
  239. package/dist/generators/composites/generate-composite-types.js +43 -0
  240. package/dist/generators/composites/generate-composite-types.js.map +1 -0
  241. package/dist/generators/composites/index.d.ts +4 -0
  242. package/dist/generators/composites/index.d.ts.map +1 -0
  243. package/dist/generators/composites/index.js +4 -0
  244. package/dist/generators/composites/index.js.map +1 -0
  245. package/dist/generators/composites/write-composites.d.ts +4 -0
  246. package/dist/generators/composites/write-composites.d.ts.map +1 -0
  247. package/dist/generators/composites/write-composites.js +116 -0
  248. package/dist/generators/composites/write-composites.js.map +1 -0
  249. package/dist/generators/registry.d.ts +9 -0
  250. package/dist/generators/registry.d.ts.map +1 -0
  251. package/dist/generators/registry.js +11 -0
  252. package/dist/generators/registry.js.map +1 -0
  253. package/dist/generators/scaffold/generate-placeholder-component-content.d.ts +9 -0
  254. package/dist/generators/scaffold/generate-placeholder-component-content.d.ts.map +1 -0
  255. package/dist/generators/scaffold/generate-placeholder-component-content.js +68 -0
  256. package/dist/generators/scaffold/generate-placeholder-component-content.js.map +1 -0
  257. package/dist/generators/scaffold/index.d.ts +3 -0
  258. package/dist/generators/scaffold/index.d.ts.map +1 -0
  259. package/dist/generators/scaffold/index.js +3 -0
  260. package/dist/generators/scaffold/index.js.map +1 -0
  261. package/dist/generators/scaffold/write-scaffold.d.ts +14 -0
  262. package/dist/generators/scaffold/write-scaffold.d.ts.map +1 -0
  263. package/dist/generators/scaffold/write-scaffold.js +87 -0
  264. package/dist/generators/scaffold/write-scaffold.js.map +1 -0
  265. package/dist/generators/tokens/generate-token-css.d.ts +6 -0
  266. package/dist/generators/tokens/generate-token-css.d.ts.map +1 -0
  267. package/dist/generators/tokens/generate-token-css.js +31 -0
  268. package/dist/generators/tokens/generate-token-css.js.map +1 -0
  269. package/dist/generators/tokens/generate-token-file-content.d.ts +6 -0
  270. package/dist/generators/tokens/generate-token-file-content.d.ts.map +1 -0
  271. package/dist/generators/tokens/generate-token-file-content.js +27 -0
  272. package/dist/generators/tokens/generate-token-file-content.js.map +1 -0
  273. package/dist/generators/tokens/index.d.ts +3 -0
  274. package/dist/generators/tokens/index.d.ts.map +1 -0
  275. package/dist/generators/tokens/index.js +3 -0
  276. package/dist/generators/tokens/index.js.map +1 -0
  277. package/dist/generators/tokens/write-tokens.d.ts +14 -0
  278. package/dist/generators/tokens/write-tokens.d.ts.map +1 -0
  279. package/dist/generators/tokens/write-tokens.js +96 -0
  280. package/dist/generators/tokens/write-tokens.js.map +1 -0
  281. package/dist/generators/types.d.ts +11 -0
  282. package/dist/generators/types.d.ts.map +1 -0
  283. package/dist/generators/types.js +2 -0
  284. package/dist/generators/types.js.map +1 -0
  285. package/dist/icons/enrich-icon-svgs.d.ts +10 -0
  286. package/dist/icons/enrich-icon-svgs.d.ts.map +1 -0
  287. package/dist/icons/enrich-icon-svgs.js +88 -0
  288. package/dist/icons/enrich-icon-svgs.js.map +1 -0
  289. package/dist/index.d.ts +31 -0
  290. package/dist/index.d.ts.map +1 -0
  291. package/dist/index.js +31 -0
  292. package/dist/index.js.map +1 -0
  293. package/dist/manifest/index.d.ts +8 -0
  294. package/dist/manifest/index.d.ts.map +1 -0
  295. package/dist/manifest/index.js +80 -0
  296. package/dist/manifest/index.js.map +1 -0
  297. package/dist/mappings/build-file-mappings.d.ts +6 -0
  298. package/dist/mappings/build-file-mappings.d.ts.map +1 -0
  299. package/dist/mappings/build-file-mappings.js +37 -0
  300. package/dist/mappings/build-file-mappings.js.map +1 -0
  301. package/dist/mappings/index.d.ts +3 -0
  302. package/dist/mappings/index.d.ts.map +1 -0
  303. package/dist/mappings/index.js +3 -0
  304. package/dist/mappings/index.js.map +1 -0
  305. package/dist/mappings/naming-strategy.d.ts +20 -0
  306. package/dist/mappings/naming-strategy.d.ts.map +1 -0
  307. package/dist/mappings/naming-strategy.js +78 -0
  308. package/dist/mappings/naming-strategy.js.map +1 -0
  309. package/dist/model/build-design-system-model.d.ts +7 -0
  310. package/dist/model/build-design-system-model.d.ts.map +1 -0
  311. package/dist/model/build-design-system-model.js +78 -0
  312. package/dist/model/build-design-system-model.js.map +1 -0
  313. package/dist/model/index.d.ts +2 -0
  314. package/dist/model/index.d.ts.map +1 -0
  315. package/dist/model/index.js +2 -0
  316. package/dist/model/index.js.map +1 -0
  317. package/dist/model/resolve-component.d.ts +11 -0
  318. package/dist/model/resolve-component.d.ts.map +1 -0
  319. package/dist/model/resolve-component.js +110 -0
  320. package/dist/model/resolve-component.js.map +1 -0
  321. package/dist/normalizer/classify-entities.d.ts +12 -0
  322. package/dist/normalizer/classify-entities.d.ts.map +1 -0
  323. package/dist/normalizer/classify-entities.js +62 -0
  324. package/dist/normalizer/classify-entities.js.map +1 -0
  325. package/dist/normalizer/helpers.d.ts +13 -0
  326. package/dist/normalizer/helpers.d.ts.map +1 -0
  327. package/dist/normalizer/helpers.js +27 -0
  328. package/dist/normalizer/helpers.js.map +1 -0
  329. package/dist/normalizer/index.d.ts +7 -0
  330. package/dist/normalizer/index.d.ts.map +1 -0
  331. package/dist/normalizer/index.js +7 -0
  332. package/dist/normalizer/index.js.map +1 -0
  333. package/dist/normalizer/instance-resolver.d.ts +13 -0
  334. package/dist/normalizer/instance-resolver.d.ts.map +1 -0
  335. package/dist/normalizer/instance-resolver.js +747 -0
  336. package/dist/normalizer/instance-resolver.js.map +1 -0
  337. package/dist/normalizer/layout-tree.d.ts +12 -0
  338. package/dist/normalizer/layout-tree.d.ts.map +1 -0
  339. package/dist/normalizer/layout-tree.js +312 -0
  340. package/dist/normalizer/layout-tree.js.map +1 -0
  341. package/dist/normalizer/naming.d.ts +11 -0
  342. package/dist/normalizer/naming.d.ts.map +1 -0
  343. package/dist/normalizer/naming.js +44 -0
  344. package/dist/normalizer/naming.js.map +1 -0
  345. package/dist/normalizer/normalize-components.d.ts +13 -0
  346. package/dist/normalizer/normalize-components.d.ts.map +1 -0
  347. package/dist/normalizer/normalize-components.js +520 -0
  348. package/dist/normalizer/normalize-components.js.map +1 -0
  349. package/dist/normalizer/normalize-composites.d.ts +8 -0
  350. package/dist/normalizer/normalize-composites.d.ts.map +1 -0
  351. package/dist/normalizer/normalize-composites.js +22 -0
  352. package/dist/normalizer/normalize-composites.js.map +1 -0
  353. package/dist/normalizer/normalize-instances.d.ts +9 -0
  354. package/dist/normalizer/normalize-instances.d.ts.map +1 -0
  355. package/dist/normalizer/normalize-instances.js +32 -0
  356. package/dist/normalizer/normalize-instances.js.map +1 -0
  357. package/dist/normalizer/types.d.ts +22 -0
  358. package/dist/normalizer/types.d.ts.map +1 -0
  359. package/dist/normalizer/types.js +2 -0
  360. package/dist/normalizer/types.js.map +1 -0
  361. package/dist/normalizer/variant-diff.d.ts +101 -0
  362. package/dist/normalizer/variant-diff.d.ts.map +1 -0
  363. package/dist/normalizer/variant-diff.js +307 -0
  364. package/dist/normalizer/variant-diff.js.map +1 -0
  365. package/dist/plan/implementation-plan.d.ts +28 -0
  366. package/dist/plan/implementation-plan.d.ts.map +1 -0
  367. package/dist/plan/implementation-plan.js +60 -0
  368. package/dist/plan/implementation-plan.js.map +1 -0
  369. package/dist/plan/index.d.ts +3 -0
  370. package/dist/plan/index.d.ts.map +1 -0
  371. package/dist/plan/index.js +3 -0
  372. package/dist/plan/index.js.map +1 -0
  373. package/dist/plan/resolve-affected-files.d.ts +11 -0
  374. package/dist/plan/resolve-affected-files.d.ts.map +1 -0
  375. package/dist/plan/resolve-affected-files.js +73 -0
  376. package/dist/plan/resolve-affected-files.js.map +1 -0
  377. package/dist/prompt/generate-component-prompt.d.ts +6 -0
  378. package/dist/prompt/generate-component-prompt.d.ts.map +1 -0
  379. package/dist/prompt/generate-component-prompt.js +1644 -0
  380. package/dist/prompt/generate-component-prompt.js.map +1 -0
  381. package/dist/registry/ai-provider-registry.d.ts +7 -0
  382. package/dist/registry/ai-provider-registry.d.ts.map +1 -0
  383. package/dist/registry/ai-provider-registry.js +21 -0
  384. package/dist/registry/ai-provider-registry.js.map +1 -0
  385. package/dist/registry/build-component-registry.d.ts +6 -0
  386. package/dist/registry/build-component-registry.d.ts.map +1 -0
  387. package/dist/registry/build-component-registry.js +43 -0
  388. package/dist/registry/build-component-registry.js.map +1 -0
  389. package/dist/registry/build-dependency-graph.d.ts +7 -0
  390. package/dist/registry/build-dependency-graph.d.ts.map +1 -0
  391. package/dist/registry/build-dependency-graph.js +36 -0
  392. package/dist/registry/build-dependency-graph.js.map +1 -0
  393. package/dist/registry/generator-registry.d.ts +12 -0
  394. package/dist/registry/generator-registry.d.ts.map +1 -0
  395. package/dist/registry/generator-registry.js +22 -0
  396. package/dist/registry/generator-registry.js.map +1 -0
  397. package/dist/registry/index.d.ts +3 -0
  398. package/dist/registry/index.d.ts.map +1 -0
  399. package/dist/registry/index.js +3 -0
  400. package/dist/registry/index.js.map +1 -0
  401. package/dist/scaffold-plan/build-scaffold-plan.d.ts +16 -0
  402. package/dist/scaffold-plan/build-scaffold-plan.d.ts.map +1 -0
  403. package/dist/scaffold-plan/build-scaffold-plan.js +91 -0
  404. package/dist/scaffold-plan/build-scaffold-plan.js.map +1 -0
  405. package/dist/scaffold-plan/index.d.ts +2 -0
  406. package/dist/scaffold-plan/index.d.ts.map +1 -0
  407. package/dist/scaffold-plan/index.js +2 -0
  408. package/dist/scaffold-plan/index.js.map +1 -0
  409. package/dist/scanner/collect-components.d.ts +10 -0
  410. package/dist/scanner/collect-components.d.ts.map +1 -0
  411. package/dist/scanner/collect-components.js +103 -0
  412. package/dist/scanner/collect-components.js.map +1 -0
  413. package/dist/scanner/collect-instances.d.ts +6 -0
  414. package/dist/scanner/collect-instances.d.ts.map +1 -0
  415. package/dist/scanner/collect-instances.js +31 -0
  416. package/dist/scanner/collect-instances.js.map +1 -0
  417. package/dist/scanner/index.d.ts +6 -0
  418. package/dist/scanner/index.d.ts.map +1 -0
  419. package/dist/scanner/index.js +6 -0
  420. package/dist/scanner/index.js.map +1 -0
  421. package/dist/scanner/scan-file.d.ts +6 -0
  422. package/dist/scanner/scan-file.d.ts.map +1 -0
  423. package/dist/scanner/scan-file.js +28 -0
  424. package/dist/scanner/scan-file.js.map +1 -0
  425. package/dist/scanner/traverse-nodes.d.ts +15 -0
  426. package/dist/scanner/traverse-nodes.d.ts.map +1 -0
  427. package/dist/scanner/traverse-nodes.js +18 -0
  428. package/dist/scanner/traverse-nodes.js.map +1 -0
  429. package/dist/scanner/types.d.ts +89 -0
  430. package/dist/scanner/types.d.ts.map +1 -0
  431. package/dist/scanner/types.js +2 -0
  432. package/dist/scanner/types.js.map +1 -0
  433. package/dist/snapshots/index.d.ts +6 -0
  434. package/dist/snapshots/index.d.ts.map +1 -0
  435. package/dist/snapshots/index.js +6 -0
  436. package/dist/snapshots/index.js.map +1 -0
  437. package/dist/snapshots/load-imported-tokens.d.ts +8 -0
  438. package/dist/snapshots/load-imported-tokens.d.ts.map +1 -0
  439. package/dist/snapshots/load-imported-tokens.js +27 -0
  440. package/dist/snapshots/load-imported-tokens.js.map +1 -0
  441. package/dist/snapshots/load-latest-snapshot.d.ts +3 -0
  442. package/dist/snapshots/load-latest-snapshot.d.ts.map +1 -0
  443. package/dist/snapshots/load-latest-snapshot.js +16 -0
  444. package/dist/snapshots/load-latest-snapshot.js.map +1 -0
  445. package/dist/snapshots/load-previous-snapshot.d.ts +7 -0
  446. package/dist/snapshots/load-previous-snapshot.d.ts.map +1 -0
  447. package/dist/snapshots/load-previous-snapshot.js +39 -0
  448. package/dist/snapshots/load-previous-snapshot.js.map +1 -0
  449. package/dist/snapshots/save-imported-tokens.d.ts +4 -0
  450. package/dist/snapshots/save-imported-tokens.d.ts.map +1 -0
  451. package/dist/snapshots/save-imported-tokens.js +16 -0
  452. package/dist/snapshots/save-imported-tokens.js.map +1 -0
  453. package/dist/snapshots/save-snapshot.d.ts +3 -0
  454. package/dist/snapshots/save-snapshot.d.ts.map +1 -0
  455. package/dist/snapshots/save-snapshot.js +49 -0
  456. package/dist/snapshots/save-snapshot.js.map +1 -0
  457. package/dist/test-null-safety.d.ts +2 -0
  458. package/dist/test-null-safety.d.ts.map +1 -0
  459. package/dist/test-null-safety.js +67 -0
  460. package/dist/test-null-safety.js.map +1 -0
  461. package/dist/test-regex.d.ts +2 -0
  462. package/dist/test-regex.d.ts.map +1 -0
  463. package/dist/test-regex.js +25 -0
  464. package/dist/test-regex.js.map +1 -0
  465. package/dist/test-token-resolution.d.ts +2 -0
  466. package/dist/test-token-resolution.d.ts.map +1 -0
  467. package/dist/test-token-resolution.js +54 -0
  468. package/dist/test-token-resolution.js.map +1 -0
  469. package/dist/test-typography.d.ts +2 -0
  470. package/dist/test-typography.d.ts.map +1 -0
  471. package/dist/test-typography.js +69 -0
  472. package/dist/test-typography.js.map +1 -0
  473. package/dist/tokens/adapters/generic-adapter.d.ts +13 -0
  474. package/dist/tokens/adapters/generic-adapter.d.ts.map +1 -0
  475. package/dist/tokens/adapters/generic-adapter.js +74 -0
  476. package/dist/tokens/adapters/generic-adapter.js.map +1 -0
  477. package/dist/tokens/adapters/index.d.ts +3 -0
  478. package/dist/tokens/adapters/index.d.ts.map +1 -0
  479. package/dist/tokens/adapters/index.js +3 -0
  480. package/dist/tokens/adapters/index.js.map +1 -0
  481. package/dist/tokens/adapters/ptb-adapter.d.ts +13 -0
  482. package/dist/tokens/adapters/ptb-adapter.d.ts.map +1 -0
  483. package/dist/tokens/adapters/ptb-adapter.js +13 -0
  484. package/dist/tokens/adapters/ptb-adapter.js.map +1 -0
  485. package/dist/tokens/build-token-model.d.ts +12 -0
  486. package/dist/tokens/build-token-model.d.ts.map +1 -0
  487. package/dist/tokens/build-token-model.js +50 -0
  488. package/dist/tokens/build-token-model.js.map +1 -0
  489. package/dist/tokens/classify-token-kind.d.ts +7 -0
  490. package/dist/tokens/classify-token-kind.d.ts.map +1 -0
  491. package/dist/tokens/classify-token-kind.js +24 -0
  492. package/dist/tokens/classify-token-kind.js.map +1 -0
  493. package/dist/tokens/detect-format.d.ts +6 -0
  494. package/dist/tokens/detect-format.d.ts.map +1 -0
  495. package/dist/tokens/detect-format.js +23 -0
  496. package/dist/tokens/detect-format.js.map +1 -0
  497. package/dist/tokens/import-schema.d.ts +111 -0
  498. package/dist/tokens/import-schema.d.ts.map +1 -0
  499. package/dist/tokens/import-schema.js +45 -0
  500. package/dist/tokens/import-schema.js.map +1 -0
  501. package/dist/tokens/import-tokens.d.ts +16 -0
  502. package/dist/tokens/import-tokens.d.ts.map +1 -0
  503. package/dist/tokens/import-tokens.js +40 -0
  504. package/dist/tokens/import-tokens.js.map +1 -0
  505. package/dist/tokens/index.d.ts +12 -0
  506. package/dist/tokens/index.d.ts.map +1 -0
  507. package/dist/tokens/index.js +12 -0
  508. package/dist/tokens/index.js.map +1 -0
  509. package/dist/tokens/naming.d.ts +19 -0
  510. package/dist/tokens/naming.d.ts.map +1 -0
  511. package/dist/tokens/naming.js +27 -0
  512. package/dist/tokens/naming.js.map +1 -0
  513. package/dist/tokens/normalize-token-collections.d.ts +7 -0
  514. package/dist/tokens/normalize-token-collections.d.ts.map +1 -0
  515. package/dist/tokens/normalize-token-collections.js +68 -0
  516. package/dist/tokens/normalize-token-collections.js.map +1 -0
  517. package/dist/tokens/resolution.d.ts +7 -0
  518. package/dist/tokens/resolution.d.ts.map +1 -0
  519. package/dist/tokens/resolution.js +223 -0
  520. package/dist/tokens/resolution.js.map +1 -0
  521. package/dist/tokens/resolve-token-source.d.ts +12 -0
  522. package/dist/tokens/resolve-token-source.d.ts.map +1 -0
  523. package/dist/tokens/resolve-token-source.js +37 -0
  524. package/dist/tokens/resolve-token-source.js.map +1 -0
  525. package/dist/tokens/types.d.ts +40 -0
  526. package/dist/tokens/types.d.ts.map +1 -0
  527. package/dist/tokens/types.js +2 -0
  528. package/dist/tokens/types.js.map +1 -0
  529. package/package.json +34 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-snapshot.js","sourceRoot":"","sources":["../../src/snapshots/save-snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-null-safety.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-null-safety.d.ts","sourceRoot":"","sources":["../src/test-null-safety.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ import { resolveInstanceRecipe } from "./normalizer/instance-resolver.js";
2
+ // Malformed text node with NO name
3
+ const brokenTextNode = {
4
+ type: "leaf",
5
+ role: "text",
6
+ visible: true,
7
+ textContent: "Hello",
8
+ };
9
+ // Malformed instance node missing most metadata
10
+ const brokenInstanceNode = {
11
+ type: "leaf",
12
+ role: "instance",
13
+ componentId: "comp-btn",
14
+ variantSelection: null,
15
+ propertyOverrides: undefined,
16
+ rawStyles: null,
17
+ };
18
+ const componentsMock = [
19
+ {
20
+ id: "comp-btn",
21
+ name: "Button",
22
+ kind: { value: "canonical" },
23
+ properties: [{ name: "btn-text" }]
24
+ }
25
+ ];
26
+ async function test() {
27
+ console.log("Evaluating Malformed Instance Node...");
28
+ let passed = true;
29
+ try {
30
+ const recipe = resolveInstanceRecipe(brokenInstanceNode, componentsMock);
31
+ if (recipe?.resolvedProps) {
32
+ console.log("✅ Passed instance enrichment without throwing!");
33
+ }
34
+ else {
35
+ console.log("❌ Failed to emit resolvedProps fallback.");
36
+ passed = false;
37
+ }
38
+ }
39
+ catch (e) {
40
+ console.error("❌ Threw error on brokenInstanceNode:", e);
41
+ passed = false;
42
+ }
43
+ console.log("Evaluating Invocation Contract Fallbacks...");
44
+ try {
45
+ const recipe2 = resolveInstanceRecipe({ componentId: "comp-btn", name: undefined }, componentsMock);
46
+ if (recipe2?.invocationContract) {
47
+ console.log("✅ Passed invocation contract fallback without throwing!");
48
+ }
49
+ else {
50
+ console.log("❌ Failed to emit invocationContract fallback.");
51
+ passed = false;
52
+ }
53
+ }
54
+ catch (e) {
55
+ console.error("❌ Threw error on invocation contract:", e);
56
+ passed = false;
57
+ }
58
+ if (passed) {
59
+ console.log("✅ Zero-Inference Safeties passed!");
60
+ process.exit(0);
61
+ }
62
+ else {
63
+ process.exit(1);
64
+ }
65
+ }
66
+ test();
67
+ //# sourceMappingURL=test-null-safety.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-null-safety.js","sourceRoot":"","sources":["../src/test-null-safety.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,mCAAmC;AACnC,MAAM,cAAc,GAAQ;IACxB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,OAAO;CACvB,CAAC;AAEF,gDAAgD;AAChD,MAAM,kBAAkB,GAAQ;IAC5B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,UAAU;IACvB,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,SAAS;IAC5B,SAAS,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,cAAc,GAA0B;IAC1C;QACI,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAS;QACnC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAS,CAAC;KAC5C;CACJ,CAAC;AAEF,KAAK,UAAU,IAAI;IAEf,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,MAAM,GAAG,KAAK,CAAC;QACnB,CAAC;IACL,CAAC;IAAC,OAAM,CAAC,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAS,EAAE,cAAc,CAAC,CAAC;QAC3G,IAAI,OAAO,EAAE,kBAAkB,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,MAAM,GAAG,KAAK,CAAC;QACnB,CAAC;IACL,CAAC;IAAC,OAAM,CAAC,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-regex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-regex.d.ts","sourceRoot":"","sources":["../src/test-regex.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import fs from "node:fs/promises";
2
+ async function test() {
3
+ const filePath = "/Users/deepadalja/Documents/prompt-to-both/packages/ui/src/components/btn/Button.tsx";
4
+ const content = await fs.readFile(filePath, "utf-8");
5
+ console.log("FILE CONTENT:\n", content);
6
+ const match = content.match(/PTB_METADATA:\s*({[\s\S]*?})\s*(?:\*\/)/);
7
+ if (match) {
8
+ console.log("MATCH 1 (JSON RAW):\n", match[1]);
9
+ let jsonString = match[1];
10
+ jsonString = jsonString.replace(/^\s*\*\s?/gm, "");
11
+ console.log("JSON STRIPPED:\n", jsonString);
12
+ try {
13
+ const parsed = JSON.parse(jsonString);
14
+ console.log("PARSED SUCCESS:", parsed);
15
+ }
16
+ catch (e) {
17
+ console.log("PARSED FAILED:", e);
18
+ }
19
+ }
20
+ else {
21
+ console.log("NO MATCH FOUND");
22
+ }
23
+ }
24
+ test();
25
+ //# sourceMappingURL=test-regex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-regex.js","sourceRoot":"","sources":["../src/test-regex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,KAAK,UAAU,IAAI;IACf,MAAM,QAAQ,GAAG,sFAAsF,CAAC;IACxG,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACvE,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-token-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-token-resolution.d.ts","sourceRoot":"","sources":["../src/test-token-resolution.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ import { resolveTokenBinding } from "./tokens/resolution.js";
2
+ const mockCollections = [
3
+ {
4
+ id: "col_1",
5
+ name: "Primitives",
6
+ tokens: [
7
+ {
8
+ id: "VariableID:1",
9
+ name: "Red 500",
10
+ value: "#ff0000",
11
+ type: "color"
12
+ }
13
+ ]
14
+ },
15
+ {
16
+ id: "col_2",
17
+ name: "Semantic",
18
+ tokens: [
19
+ {
20
+ id: "VariableID:2",
21
+ name: "Brand Primary",
22
+ value: "{Red 500}",
23
+ type: "color",
24
+ aliasTargetId: "VariableID:1"
25
+ }
26
+ ]
27
+ },
28
+ {
29
+ id: "col_3",
30
+ name: "Text",
31
+ tokens: [
32
+ {
33
+ id: "VariableID:3",
34
+ name: "Text Body",
35
+ value: "{Brand Primary}",
36
+ type: "color",
37
+ aliasTargetId: "VariableID:2"
38
+ }
39
+ ]
40
+ }
41
+ ];
42
+ const result = resolveTokenBinding("VariableID:3", mockCollections);
43
+ console.log("RESOLUTION RESULT:");
44
+ console.log(JSON.stringify(result, null, 2));
45
+ if (result &&
46
+ result.resolvedTokenName === "Red 500" &&
47
+ result.cssVar === "--ptb-primitives-red-500" &&
48
+ result.resolutionPath.length === 3) {
49
+ console.log("\n✅ SUCCESS: Alias chain resolved correctly.");
50
+ }
51
+ else {
52
+ console.log("\n❌ FAILED: Resolution incorrect.");
53
+ }
54
+ //# sourceMappingURL=test-token-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-token-resolution.js","sourceRoot":"","sources":["../src/test-token-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,eAAe,GAAU;IAC3B;QACI,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACJ;gBACI,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,OAAO;aAChB;SACJ;KACJ;IACD;QACI,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACJ;gBACI,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,OAAO;gBACb,aAAa,EAAE,cAAc;aAChC;SACJ;KACJ;IACD;QACI,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACJ;gBACI,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,OAAO;gBACb,aAAa,EAAE,cAAc;aAChC;SACJ;KACJ;CACJ,CAAC;AAEF,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AACpE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAE7C,IAAI,MAAM;IACN,MAAM,CAAC,iBAAiB,KAAK,SAAS;IACtC,MAAM,CAAC,MAAM,KAAK,0BAA0B;IAC5C,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;AAChE,CAAC;KAAM,CAAC;IACJ,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-typography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-typography.d.ts","sourceRoot":"","sources":["../src/test-typography.ts"],"names":[],"mappings":""}
@@ -0,0 +1,69 @@
1
+ import { getComponentContext } from "./context/get-component-context.js";
2
+ const mockModel = {
3
+ version: "1",
4
+ tokens: [
5
+ {
6
+ name: "Typography",
7
+ id: "typ-col",
8
+ tokens: [
9
+ { id: "VariableID:30:1005", name: "Body Size", type: "dimension", value: "16px" },
10
+ { id: "VariableID:30:1006", name: "Body Weight", type: "number", value: 500 }
11
+ ]
12
+ }
13
+ ],
14
+ components: [
15
+ {
16
+ id: "comp-1",
17
+ name: "TextNodeComponent",
18
+ renderTree: {
19
+ type: "container",
20
+ children: [
21
+ {
22
+ type: "leaf",
23
+ name: "Notification Title",
24
+ role: "text",
25
+ visible: true,
26
+ textContent: "Hello World",
27
+ rawStyles: {
28
+ textStyle: {
29
+ fontSize: 16,
30
+ lineHeightPx: 24,
31
+ fontWeight: 500,
32
+ fontFamily: "Inter",
33
+ letterSpacing: -0.2
34
+ }
35
+ },
36
+ boundVariables: {
37
+ fontSize: { id: "VariableID:30:1005" },
38
+ fontWeight: { id: "VariableID:30:1006" } // Bound!
39
+ }
40
+ }
41
+ ]
42
+ }
43
+ }
44
+ ]
45
+ };
46
+ async function test() {
47
+ const config = { framework: { name: "react" } };
48
+ const context = await getComponentContext("comp-1", mockModel, config);
49
+ // Look at text node outputs
50
+ const textNode = context?.renderTree?.children?.[0];
51
+ console.log("Text Node Typography Contract:");
52
+ console.log(JSON.stringify(textNode?.typographyContract, null, 2));
53
+ const contract = textNode?.typographyContract;
54
+ // Size and Weight are bound variables!
55
+ const fontSizeBound = contract?.fontSize?.sourceVariableId === "VariableID:30:1005" || contract?.fontSize?.cssVar;
56
+ // Line height and family are fallback variables from textStyle!
57
+ const lineFallback = contract?.lineHeight?.cssValue === "24px" && contract?.lineHeight?.cssVar === undefined;
58
+ const familyFallback = contract?.fontFamily?.cssValue === "Inter" && contract?.fontFamily?.cssVar === undefined;
59
+ if (fontSizeBound && lineFallback && familyFallback) {
60
+ console.log("✅ Typography binding test passed.");
61
+ process.exit(0);
62
+ }
63
+ else {
64
+ console.log("❌ Typography binding test failed.");
65
+ process.exit(1);
66
+ }
67
+ }
68
+ test();
69
+ //# sourceMappingURL=test-typography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-typography.js","sourceRoot":"","sources":["../src/test-typography.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,SAAS,GAAQ;IACnB,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,YAAY;YAClB,EAAE,EAAE,SAAS;YACb,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE;gBACjF,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;aAChF;SACJ;KACJ;IACD,UAAU,EAAE;QACR;YACI,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE;gBACR,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,IAAI;wBACb,WAAW,EAAE,aAAa;wBAC1B,SAAS,EAAE;4BACP,SAAS,EAAE;gCACP,QAAQ,EAAE,EAAE;gCACZ,YAAY,EAAE,EAAE;gCAChB,UAAU,EAAE,GAAG;gCACf,UAAU,EAAE,OAAO;gCACnB,aAAa,EAAE,CAAC,GAAG;6BACtB;yBACJ;wBACD,cAAc,EAAE;4BACZ,QAAQ,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE;4BACtC,UAAU,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,SAAS;yBACrD;qBACJ;iBACJ;aACJ;SACJ;KACJ;CACJ,CAAC;AAEF,KAAK,UAAU,IAAI;IACf,MAAM,MAAM,GAAQ,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEvE,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,QAAQ,GAAG,QAAQ,EAAE,kBAAkB,CAAC;IAE9C,uCAAuC;IACvC,MAAM,aAAa,GAAG,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,KAAK,oBAAoB,IAAI,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;IAClH,gEAAgE;IAChE,MAAM,YAAY,GAAG,QAAQ,EAAE,UAAU,EAAE,QAAQ,KAAK,MAAM,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC;IAC7G,MAAM,cAAc,GAAG,QAAQ,EAAE,UAAU,EAAE,QAAQ,KAAK,OAAO,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC;IAEhH,IAAI,aAAa,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { CanonicalTokenExport } from "../import-schema.js";
2
+ /**
3
+ * Normalizes a generic JSON tokens `collections` export.
4
+ * Safely infers modes and token schemas where strict formatting may be loose.
5
+ */
6
+ export declare function adaptGenericTokenExportToCanonical(data: any): {
7
+ success: true;
8
+ data: CanonicalTokenExport;
9
+ } | {
10
+ success: false;
11
+ issues: any;
12
+ };
13
+ //# sourceMappingURL=generic-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-adapter.d.ts","sourceRoot":"","sources":["../../../src/tokens/adapters/generic-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAqC,MAAM,qBAAqB,CAAC;AAEnG;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAgF7I"}
@@ -0,0 +1,74 @@
1
+ import { GenericTokenExportSchema } from "../import-schema.js";
2
+ /**
3
+ * Normalizes a generic JSON tokens `collections` export.
4
+ * Safely infers modes and token schemas where strict formatting may be loose.
5
+ */
6
+ export function adaptGenericTokenExportToCanonical(data) {
7
+ const validation = GenericTokenExportSchema.safeParse(data);
8
+ if (!validation.success) {
9
+ return { success: false, issues: validation.error.issues };
10
+ }
11
+ const genericData = validation.data;
12
+ const collections = [];
13
+ let generatedCollectionIndex = 0;
14
+ for (const rawCol of genericData.collections) {
15
+ generatedCollectionIndex++;
16
+ // Ensure collection ID & name exist
17
+ const colId = "id" in rawCol ? String(rawCol.id) : `gen-collection-${generatedCollectionIndex}`;
18
+ const colName = rawCol.name || `Collection ${generatedCollectionIndex}`;
19
+ // Ensure modes array shapes properly map
20
+ const modes = Array.isArray(rawCol.modes) ? rawCol.modes.map((m, idx) => ({
21
+ id: m?.id ? String(m.id) : `mode-${idx}`,
22
+ name: m?.name ? String(m.name) : `Mode ${idx}`
23
+ })) : [{ id: "mode-0", name: "Default" }];
24
+ const tokens = [];
25
+ const rawTokensOrVars = Array.isArray(rawCol.tokens) ? rawCol.tokens : Array.isArray(rawCol.variables) ? rawCol.variables : [];
26
+ let generatedTokenIndex = 0;
27
+ for (const t of rawTokensOrVars) {
28
+ generatedTokenIndex++;
29
+ const tokenId = t?.id ? String(t.id) : `gen-token-${colId}-${generatedTokenIndex}`;
30
+ const tokenName = t?.name ? String(t.name) : `Token ${generatedTokenIndex}`;
31
+ // We safely coerce `valuesByMode` back to standard object maps, or dump root value to mode 0.
32
+ const valuesByMode = {};
33
+ if (t && typeof t.valuesByMode === "object" && t.valuesByMode !== null) {
34
+ // It already provides valuesByMode mapping roughly. Map it blindly cleanly.
35
+ for (const modeKey of Object.keys(t.valuesByMode)) {
36
+ const modeObj = t.valuesByMode[modeKey];
37
+ // If mode mapping doesn't have a 'type', assume it's just 'string' dynamically
38
+ valuesByMode[modeKey] = {
39
+ type: modeObj?.type || "unknown",
40
+ value: modeObj?.value !== undefined ? modeObj.value : modeObj
41
+ };
42
+ }
43
+ }
44
+ else if (t && typeof t.value !== "undefined") {
45
+ // Flat generic structure: { "name": "...", "value": "..." } maps cleanly to Default Mode 0.
46
+ valuesByMode[modes[0].id] = { type: t.type || "unknown", value: t.value };
47
+ }
48
+ tokens.push({
49
+ id: tokenId,
50
+ name: tokenName,
51
+ codeName: t?.codeName ? String(t.codeName) : undefined,
52
+ resolvedType: t?.resolvedType ? String(t.resolvedType) : "UNKNOWN",
53
+ valuesByMode
54
+ });
55
+ }
56
+ collections.push({
57
+ id: colId,
58
+ name: colName,
59
+ kind: rawCol.kind ? String(rawCol.kind) : "other",
60
+ modes,
61
+ tokens
62
+ });
63
+ }
64
+ const mappedExport = {
65
+ version: "1.0.0",
66
+ source: {
67
+ tool: "generic-import-adapter",
68
+ exportedAt: new Date().toISOString()
69
+ },
70
+ collections
71
+ };
72
+ return { success: true, data: mappedExport };
73
+ }
74
+ //# sourceMappingURL=generic-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-adapter.js","sourceRoot":"","sources":["../../../src/tokens/adapters/generic-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./ptb-adapter.js";
2
+ export * from "./generic-adapter.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tokens/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./ptb-adapter.js";
2
+ export * from "./generic-adapter.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tokens/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { CanonicalTokenExport } from "../import-schema.js";
2
+ /**
3
+ * Validates and maps a known PTB Token format export into the standard internal
4
+ * Canonical Token Export schema (since they currently natively share identical schemas).
5
+ */
6
+ export declare function adaptPTBTokenExportToCanonical(data: any): {
7
+ success: true;
8
+ data: CanonicalTokenExport;
9
+ } | {
10
+ success: false;
11
+ issues: any;
12
+ };
13
+ //# sourceMappingURL=ptb-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptb-adapter.d.ts","sourceRoot":"","sources":["../../../src/tokens/adapters/ptb-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,GAAG,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAQzI"}
@@ -0,0 +1,13 @@
1
+ import { PTBTokenExportSchema } from "../import-schema.js";
2
+ /**
3
+ * Validates and maps a known PTB Token format export into the standard internal
4
+ * Canonical Token Export schema (since they currently natively share identical schemas).
5
+ */
6
+ export function adaptPTBTokenExportToCanonical(data) {
7
+ const validation = PTBTokenExportSchema.safeParse(data);
8
+ if (!validation.success) {
9
+ return { success: false, issues: validation.error.issues };
10
+ }
11
+ return { success: true, data: validation.data };
12
+ }
13
+ //# sourceMappingURL=ptb-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptb-adapter.js","sourceRoot":"","sources":["../../../src/tokens/adapters/ptb-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACpD,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC/D,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;AACpD,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { TokenCollection } from "@calibrate-ds/shared-types";
2
+ import type { CanonicalTokenExport } from "./import-schema.js";
3
+ /**
4
+ * Public orchestrator to convert Figma REST Variables to TokenCollections array.
5
+ */
6
+ export declare function buildTokenModel(variablesData: any): TokenCollection[];
7
+ /**
8
+ * Normalizes a Canonical JSON Export back into a native System Model TokenCollections array
9
+ * matching the identical shape outputting from REST variables.
10
+ */
11
+ export declare function adaptCanonicalToTokenCollections(exportData: CanonicalTokenExport): TokenCollection[];
12
+ //# sourceMappingURL=build-token-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-token-model.d.ts","sourceRoot":"","sources":["../../src/tokens/build-token-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,4BAA4B,CAAC;AAE/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;GAEG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,GAAG,GAAG,eAAe,EAAE,CAMrE;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,oBAAoB,GAAG,eAAe,EAAE,CAwCpG"}
@@ -0,0 +1,50 @@
1
+ import { normalizeTokenCollections } from "./normalize-token-collections.js";
2
+ /**
3
+ * Public orchestrator to convert Figma REST Variables to TokenCollections array.
4
+ */
5
+ export function buildTokenModel(variablesData) {
6
+ if (!variablesData || !variablesData.meta) {
7
+ return [];
8
+ }
9
+ return normalizeTokenCollections(variablesData.meta);
10
+ }
11
+ /**
12
+ * Normalizes a Canonical JSON Export back into a native System Model TokenCollections array
13
+ * matching the identical shape outputting from REST variables.
14
+ */
15
+ export function adaptCanonicalToTokenCollections(exportData) {
16
+ return exportData.collections.map((col) => {
17
+ const tokens = col.tokens.map((t) => {
18
+ const firstModeId = col.modes[0]?.id || "";
19
+ const modeVal = t.valuesByMode[firstModeId] || Object.values(t.valuesByMode)[0] || { type: "unknown", value: "" };
20
+ const typeString = typeof modeVal.type === "string" ? modeVal.type : "other";
21
+ // Detect alias references in both formats the Figma plugin may emit:
22
+ // PTB schema: { type: "VARIABLE_ALIAS", value: "VariableID:30:592" }
23
+ // Raw Figma API: { type: "VARIABLE_ALIAS", id: "VariableID:30:592" }
24
+ let aliasTargetId;
25
+ if (modeVal.type === "VARIABLE_ALIAS") {
26
+ const rawAliasId = (typeof modeVal.value === "string" ? modeVal.value : null) ??
27
+ modeVal.id ??
28
+ (typeof modeVal.value === "object" && modeVal.value !== null ? modeVal.value.id : null) ??
29
+ "";
30
+ if (rawAliasId) {
31
+ aliasTargetId = rawAliasId.replace(/^VariableID:/i, "");
32
+ }
33
+ }
34
+ const token = {
35
+ id: t.id,
36
+ name: t.name,
37
+ type: typeString,
38
+ value: modeVal.value,
39
+ ...(aliasTargetId ? { aliasTargetId } : {}),
40
+ };
41
+ return token;
42
+ });
43
+ return {
44
+ id: col.id,
45
+ name: col.name,
46
+ tokens,
47
+ };
48
+ });
49
+ }
50
+ //# sourceMappingURL=build-token-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-token-model.js","sourceRoot":"","sources":["../../src/tokens/build-token-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG7E;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,aAAkB;IAC9C,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,yBAAyB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,UAAgC;IAC7E,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtC,MAAM,MAAM,GAAkB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/C,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAElH,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAE7E,qEAAqE;YACrE,0EAA0E;YAC1E,uEAAuE;YACvE,IAAI,aAAiC,CAAC;YACtC,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACpC,MAAM,UAAU,GACZ,CAAC,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxD,OAAe,CAAC,EAAyB;oBAC3C,CAAC,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,OAAO,CAAC,KAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBAChG,EAAE,CAAC;gBACP,IAAI,UAAU,EAAE,CAAC;oBACb,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAgB;gBACvB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,UAAiC;gBACvC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C,CAAC;YAEF,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM;SACT,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DesignToken } from "@calibrate-ds/shared-types";
2
+ /**
3
+ * Classifies a token collection or individual token into a specific functional category
4
+ * based on simple naming heuristics.
5
+ */
6
+ export declare function classifyTokenKind(name: string): DesignToken["type"];
7
+ //# sourceMappingURL=classify-token-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify-token-kind.d.ts","sourceRoot":"","sources":["../../src/tokens/classify-token-kind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAwBnE"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Classifies a token collection or individual token into a specific functional category
3
+ * based on simple naming heuristics.
4
+ */
5
+ export function classifyTokenKind(name) {
6
+ const lowerName = name.toLowerCase();
7
+ if (lowerName.includes("color") || lowerName.includes("paint") || lowerName.includes("palette") || lowerName.includes("theme")) {
8
+ return "color";
9
+ }
10
+ if (lowerName.includes("space") || lowerName.includes("spacing") || lowerName.includes("margin") || lowerName.includes("padding") || lowerName.includes("gap")) {
11
+ return "spacing";
12
+ }
13
+ if (lowerName.includes("type") || lowerName.includes("font") || lowerName.includes("text") || lowerName.includes("typography")) {
14
+ return "typography";
15
+ }
16
+ if (lowerName.includes("radius") || lowerName.includes("corner") || lowerName.includes("border-radius")) {
17
+ return "radius";
18
+ }
19
+ if (lowerName.includes("shadow") || lowerName.includes("elevation")) {
20
+ return "shadow";
21
+ }
22
+ return "other";
23
+ }
24
+ //# sourceMappingURL=classify-token-kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify-token-kind.js","sourceRoot":"","sources":["../../src/tokens/classify-token-kind.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7H,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7J,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7H,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACtG,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAClE,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type ImportFormat = "ptb" | "generic" | "unknown";
2
+ /**
3
+ * Inspects a parsed JSON object to infer its token export schema format.
4
+ */
5
+ export declare function detectImportFormat(data: any): ImportFormat;
6
+ //# sourceMappingURL=detect-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-format.d.ts","sourceRoot":"","sources":["../../src/tokens/detect-format.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,YAAY,CAuB1D"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Inspects a parsed JSON object to infer its token export schema format.
3
+ */
4
+ export function detectImportFormat(data) {
5
+ if (!data || typeof data !== "object") {
6
+ return "unknown";
7
+ }
8
+ // 1. PTB Exporter Signature
9
+ // Identified by strict 'version' string and internal 'source.tool' attribution
10
+ if (typeof data.version === "string" &&
11
+ data.source &&
12
+ typeof data.source.tool === "string" &&
13
+ Array.isArray(data.collections)) {
14
+ return "ptb";
15
+ }
16
+ // 2. Generic Collection Signature
17
+ // Identified by a loose 'collections' array at the root
18
+ if (Array.isArray(data.collections)) {
19
+ return "generic";
20
+ }
21
+ return "unknown";
22
+ }
23
+ //# sourceMappingURL=detect-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-format.js","sourceRoot":"","sources":["../../src/tokens/detect-format.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAS;IACxC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,4BAA4B;IAC5B,+EAA+E;IAC/E,IACI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAChC,IAAI,CAAC,MAAM;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;QACpC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EACjC,CAAC;QACC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kCAAkC;IAClC,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}