@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,32 @@
1
+ import * as path from "node:path";
2
+ import { createNamingStrategy } from "../mappings/naming-strategy.js";
3
+ /**
4
+ * Resolves the expected filesystem path for a component's generated artifact folder.
5
+ */
6
+ export function resolveComponentFolder(component, config) {
7
+ const { componentsDir } = config.output;
8
+ const naming = createNamingStrategy(config.naming);
9
+ const folderName = naming.formatFolderName(component.name);
10
+ let targetDir = componentsDir;
11
+ if (component.categoryPath) {
12
+ targetDir = path.posix.join(targetDir, naming.formatFolderName(component.categoryPath));
13
+ }
14
+ targetDir = path.posix.join(targetDir, folderName);
15
+ // Ensure we return a path relative to the process CWD or absolute if it was absolute
16
+ return targetDir.startsWith("./") ? targetDir.slice(2) : targetDir;
17
+ }
18
+ /**
19
+ * Resolves the expected filenames for a component's generated artifacts.
20
+ */
21
+ export function resolveComponentFiles(component, config) {
22
+ const folder = resolveComponentFolder(component, config);
23
+ const naming = createNamingStrategy(config.naming);
24
+ const componentName = naming.formatComponentName(component.name);
25
+ return [
26
+ path.join(folder, `${componentName}.tsx`),
27
+ path.join(folder, `${componentName}.types.ts`),
28
+ path.join(folder, `${componentName}.module.css`),
29
+ path.join(folder, "index.ts")
30
+ ];
31
+ }
32
+ //# sourceMappingURL=resolve-component-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-component-path.js","sourceRoot":"","sources":["../../src/filesystem/resolve-component-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAA8B,EAAE,MAAiB;IACpF,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE3D,IAAI,SAAS,GAAG,aAAa,CAAC;IAC9B,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QACzB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEnD,qFAAqF;IACrF,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAA8B,EAAE,MAAiB;IACnF,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEjE,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,MAAM,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,WAAW,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,aAAa,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;KAChC,CAAC;AACN,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { PTBConfig } from "@calibrate-ds/shared-types";
2
+ export interface ResolvedDSPaths {
3
+ workspaceRoot: string;
4
+ packageRoot: string;
5
+ componentsDir: string;
6
+ tokensDir: string;
7
+ metadataDir: string;
8
+ }
9
+ /**
10
+ * Provides a single source of truth for Design System output paths natively analyzing
11
+ * whether the workspace config implies a strict library boundary or a unified application map.
12
+ * This explicitly detects discrepancies where `ptb init --with-library` ran after the config was made.
13
+ */
14
+ export declare function resolveDSPaths(config: PTBConfig): ResolvedDSPaths;
15
+ //# sourceMappingURL=resolve-ds-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-ds-paths.d.ts","sourceRoot":"","sources":["../../src/filesystem/resolve-ds-paths.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,eAAe,CAiDjE"}
@@ -0,0 +1,51 @@
1
+ import * as path from "node:path";
2
+ import * as fs from "node:fs";
3
+ import { findWorkspaceRoot } from "./workspace-root.js";
4
+ /**
5
+ * Provides a single source of truth for Design System output paths natively analyzing
6
+ * whether the workspace config implies a strict library boundary or a unified application map.
7
+ * This explicitly detects discrepancies where `ptb init --with-library` ran after the config was made.
8
+ */
9
+ export function resolveDSPaths(config) {
10
+ const workspaceRoot = config.project.rootDir || findWorkspaceRoot();
11
+ const rootDir = workspaceRoot;
12
+ // Explicitly grab the config boundaries
13
+ let configuredComponentsDir = config.output.componentsDir;
14
+ let configuredTokensDir = config.output.tokensDir;
15
+ // Detect if we are in "library mode" (e.g. outputs point specifically to a packages/ folder inside a monorepo)
16
+ let isLibraryMode = configuredComponentsDir.startsWith("packages/");
17
+ // If config doesn't say library mode, check the filesystem (in case they ran --with-library on a stale config)
18
+ if (!isLibraryMode) {
19
+ const defaultLibraryMeta = path.join(rootDir, "packages/ui/package.json");
20
+ if (fs.existsSync(defaultLibraryMeta)) {
21
+ isLibraryMode = true;
22
+ // If they are strictly on default simple paths, magically bridge them to the library structure outputs
23
+ if (configuredComponentsDir === "src/components/ui") {
24
+ configuredComponentsDir = "packages/ui/src/components";
25
+ }
26
+ if (configuredTokensDir === "src/tokens") {
27
+ configuredTokensDir = "packages/ui/src/tokens";
28
+ }
29
+ }
30
+ }
31
+ let packageRoot = rootDir;
32
+ if (isLibraryMode) {
33
+ // Extract the library name prefix smartly: `packages/ui/src/components` -> `packages/ui`
34
+ const parts = configuredComponentsDir.split("/");
35
+ if (parts.length >= 2) {
36
+ packageRoot = path.resolve(rootDir, parts[0], parts[1]);
37
+ }
38
+ }
39
+ // Natively bind to exact values configured rather than internally transforming/nesting!
40
+ const componentsDir = path.resolve(rootDir, configuredComponentsDir);
41
+ const tokensDir = path.resolve(rootDir, configuredTokensDir);
42
+ const metadataDir = path.resolve(rootDir, config.output.metadataDir || ".ptb");
43
+ return {
44
+ workspaceRoot,
45
+ packageRoot,
46
+ componentsDir,
47
+ tokensDir,
48
+ metadataDir
49
+ };
50
+ }
51
+ //# sourceMappingURL=resolve-ds-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-ds-paths.js","sourceRoot":"","sources":["../../src/filesystem/resolve-ds-paths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAWxD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiB;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACpE,MAAM,OAAO,GAAG,aAAa,CAAC;IAE9B,wCAAwC;IACxC,IAAI,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1D,IAAI,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAElD,+GAA+G;IAC/G,IAAI,aAAa,GAAG,uBAAuB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAEpE,+GAA+G;IAC/G,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QAC1E,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpC,aAAa,GAAG,IAAI,CAAC;YAErB,uGAAuG;YACvG,IAAI,uBAAuB,KAAK,mBAAmB,EAAE,CAAC;gBAClD,uBAAuB,GAAG,4BAA4B,CAAC;YAC3D,CAAC;YACD,IAAI,mBAAmB,KAAK,YAAY,EAAE,CAAC;gBACvC,mBAAmB,GAAG,wBAAwB,CAAC;YACnD,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,WAAW,GAAG,OAAO,CAAC;IAE1B,IAAI,aAAa,EAAE,CAAC;QAChB,yFAAyF;QACzF,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED,wFAAwF;IACxF,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC;IAE/E,OAAO;QACH,aAAa;QACb,WAAW;QACX,aAAa;QACb,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Searches upwards from the current directory to find the workspace root.
3
+ * The workspace root is defined as the first parent directory containing a .ptb folder.
4
+ */
5
+ export declare function findWorkspaceRoot(startDir?: string): string;
6
+ //# sourceMappingURL=workspace-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-root.d.ts","sourceRoot":"","sources":["../../src/filesystem/workspace-root.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAe1E"}
@@ -0,0 +1,21 @@
1
+ import * as path from "node:path";
2
+ import * as fs from "node:fs";
3
+ /**
4
+ * Searches upwards from the current directory to find the workspace root.
5
+ * The workspace root is defined as the first parent directory containing a .ptb folder.
6
+ */
7
+ export function findWorkspaceRoot(startDir = process.cwd()) {
8
+ let current = path.resolve(startDir);
9
+ while (true) {
10
+ if (fs.existsSync(path.join(current, ".ptb"))) {
11
+ return current;
12
+ }
13
+ const parent = path.dirname(current);
14
+ if (parent === current) {
15
+ // Reached root of filesystem without finding .ptb
16
+ return path.resolve(startDir);
17
+ }
18
+ current = parent;
19
+ }
20
+ }
21
+ //# sourceMappingURL=workspace-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-root.js","sourceRoot":"","sources":["../../src/filesystem/workspace-root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB,OAAO,CAAC,GAAG,EAAE;IAC9D,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACrB,kDAAkD;YAClD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACrB,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Safely writes a beautifully formatted JSON file.
3
+ * Automatically overwrites.
4
+ */
5
+ export declare function writeJson(filePath: string, data: any): Promise<void>;
6
+ //# sourceMappingURL=write-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-json.d.ts","sourceRoot":"","sources":["../../src/filesystem/write-json.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1E"}
@@ -0,0 +1,10 @@
1
+ import * as fs from "node:fs/promises";
2
+ /**
3
+ * Safely writes a beautifully formatted JSON file.
4
+ * Automatically overwrites.
5
+ */
6
+ export async function writeJson(filePath, data) {
7
+ const content = JSON.stringify(data, null, 2) + "\n";
8
+ await fs.writeFile(filePath, content, "utf-8");
9
+ }
10
+ //# sourceMappingURL=write-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-json.js","sourceRoot":"","sources":["../../src/filesystem/write-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAS;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACrD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,10 @@
1
+ type WriteTextOptions = {
2
+ overwrite?: boolean;
3
+ };
4
+ /**
5
+ * Safely writes text to a file.
6
+ * Defaults to NOT overwriting if the file already exists to protect user logic.
7
+ */
8
+ export declare function writeText(filePath: string, content: string, options?: WriteTextOptions): Promise<boolean>;
9
+ export {};
10
+ //# sourceMappingURL=write-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-text.d.ts","sourceRoot":"","sources":["../../src/filesystem/write-text.ts"],"names":[],"mappings":"AAEA,KAAK,gBAAgB,GAAG;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAuC,GACjD,OAAO,CAAC,OAAO,CAAC,CAgBlB"}
@@ -0,0 +1,22 @@
1
+ import * as fs from "node:fs/promises";
2
+ /**
3
+ * Safely writes text to a file.
4
+ * Defaults to NOT overwriting if the file already exists to protect user logic.
5
+ */
6
+ export async function writeText(filePath, content, options = { overwrite: false }) {
7
+ if (!options.overwrite) {
8
+ try {
9
+ await fs.stat(filePath);
10
+ // File exists and overwrite is false -> skip
11
+ return false;
12
+ }
13
+ catch {
14
+ // File does not exist -> proceed
15
+ }
16
+ }
17
+ // Ensure file ends with newline
18
+ const safeContent = content.endsWith("\n") ? content : content + "\n";
19
+ await fs.writeFile(filePath, safeContent, "utf-8");
20
+ return true;
21
+ }
22
+ //# sourceMappingURL=write-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-text.js","sourceRoot":"","sources":["../../src/filesystem/write-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAMvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,QAAgB,EAChB,OAAe,EACf,UAA4B,EAAE,SAAS,EAAE,KAAK,EAAE;IAEhD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,6CAA6C;YAC7C,OAAO,KAAK,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACL,iCAAiC;QACrC,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtE,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ComponentDefinition } from "@ptb/shared-types";
2
+ /**
3
+ * Builds .module.css structure abstracting component `.root` classes natively interpreting style hooks matching variants intuitively inherently.
4
+ */
5
+ export declare function generateComponentCss(component: ComponentDefinition): string;
6
+ //# sourceMappingURL=generate-component-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-component-css.d.ts","sourceRoot":"","sources":["../../../src/generators/components/generate-component-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA4B7D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM,CAmE3E"}
@@ -0,0 +1,92 @@
1
+ import { normalizePropName } from "./helpers.js";
2
+ /**
3
+ * Normalizes CSS custom variables reliably.
4
+ */
5
+ function normalizeCssVarName(name) {
6
+ return name.toLowerCase()
7
+ .replace(/[^a-z0-9]+/g, "-")
8
+ .replace(/(^-|-$)/g, "");
9
+ }
10
+ /**
11
+ * Maps Prompt-to-Both internal style slots into valid Web CSS property equivalents natively.
12
+ */
13
+ const CSS_PROPERTY_MAP = {
14
+ spacingX: "padding-inline",
15
+ spacingY: "padding-block",
16
+ borderRadius: "border-radius",
17
+ radius: "border-radius",
18
+ border: "border",
19
+ color: "color",
20
+ text: "color",
21
+ fill: "color",
22
+ background: "background",
23
+ iconColor: "color"
24
+ };
25
+ /**
26
+ * Builds .module.css structure abstracting component `.root` classes natively interpreting style hooks matching variants intuitively inherently.
27
+ */
28
+ export function generateComponentCss(component) {
29
+ let cssContent = `.root {\n`;
30
+ // Extract core generic flex-behaviors organically.
31
+ cssContent += ` display: flex;\n`;
32
+ if (component.layout) {
33
+ if (component.layout.mode === "horizontal") {
34
+ cssContent += ` flex-direction: row;\n`;
35
+ }
36
+ else if (component.layout.mode === "vertical") {
37
+ cssContent += ` flex-direction: column;\n`;
38
+ }
39
+ if (component.layout.gap)
40
+ cssContent += ` gap: ${component.layout.gap}px;\n`;
41
+ if (component.layout.padding) {
42
+ const { top = 0, right = 0, bottom = 0, left = 0 } = component.layout.padding;
43
+ if (top === bottom && right === left && top === right) {
44
+ cssContent += ` padding: ${top}px;\n`;
45
+ }
46
+ else if (top === bottom && right === left) {
47
+ cssContent += ` padding: ${top}px ${right}px;\n`;
48
+ }
49
+ else {
50
+ cssContent += ` padding: ${top}px ${right}px ${bottom}px ${left}px;\n`;
51
+ }
52
+ }
53
+ // Typical defaults mapping align Main and Cross generic behaviors
54
+ if (component.layout.alignMain) {
55
+ cssContent += ` justify-content: ${component.layout.alignMain === "center" ? "center" : component.layout.alignMain === "spaceBetween" ? "space-between" : "flex-start"};\n`;
56
+ }
57
+ if (component.layout.alignCross) {
58
+ cssContent += ` align-items: ${component.layout.alignCross === "center" ? "center" : "flex-start"};\n`;
59
+ }
60
+ }
61
+ // Connect standard properties gracefully catching styles inherently natively replacing specific values with matching Figma explicit definitions.
62
+ if (component.styleMetadata) {
63
+ for (const [key, val] of Object.entries(component.styleMetadata)) {
64
+ const cssProperty = CSS_PROPERTY_MAP[key] || normalizeCssVarName(key);
65
+ // Extrapolate explicit Custom Token definitions matching `{<tokenId>}`
66
+ if (typeof val === "string" && val.startsWith("{") && val.endsWith("}")) {
67
+ const tokenAlias = val.slice(1, -1);
68
+ cssContent += ` ${cssProperty}: var(--ptb-${normalizeCssVarName(tokenAlias)});\n`;
69
+ }
70
+ else {
71
+ const formatValue = typeof val === "number" && cssProperty !== "opacity" ? `${val}px` : val;
72
+ cssContent += ` ${cssProperty}: ${formatValue};\n`;
73
+ }
74
+ }
75
+ }
76
+ cssContent += `}\n`;
77
+ // Extrapolate explicit CSS states structurally generating variants natively safely
78
+ if (component.properties) {
79
+ const enumProps = component.properties.filter(p => p.type === "enum" && p.options);
80
+ for (const p of enumProps) {
81
+ const safeName = normalizePropName(p.name);
82
+ for (const opt of (p.options || [])) {
83
+ // Determine explicit basic specific mappings cleanly inherently
84
+ cssContent += `\n.root[data-${safeName.toLowerCase()}="${opt}"] {\n`;
85
+ cssContent += ` /* Variant overrides for ${safeName}=${opt} */\n`;
86
+ cssContent += `}\n`;
87
+ }
88
+ }
89
+ }
90
+ return cssContent;
91
+ }
92
+ //# sourceMappingURL=generate-component-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-component-css.js","sourceRoot":"","sources":["../../../src/generators/components/generate-component-css.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ComponentDefinition, PTBConfig, DesignSystemModel } from "@ptb/shared-types";
2
+ /**
3
+ * Writes the structural boilerplate for a strictly validated React Component mapped
4
+ * functionally tracking properties natively against standard `data-` mappings.
5
+ * Automatically injects structural token dependencies based on categorical mappings.
6
+ */
7
+ export declare function generateComponentFile(component: ComponentDefinition, config: PTBConfig, model: DesignSystemModel): string;
8
+ //# sourceMappingURL=generate-component-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-component-file.d.ts","sourceRoot":"","sources":["../../../src/generators/components/generate-component-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAmB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM5G;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,iBAAiB,GACzB,MAAM,CAiOR"}
@@ -0,0 +1,209 @@
1
+ import { createNamingStrategy } from "../../mappings/naming-strategy.js";
2
+ import { normalizePropName, inferBaseElement, sanitizeOptionName, getCssModuleImportPath } from "./helpers.js";
3
+ import { inferRelevantTokenCollections, resolveRelativeTokenImport, formatCollectionImportName, inferStyleSlots, selectTokensForSlots } from "./token-helpers.js";
4
+ import { generateLayoutJSX } from "./layout-jsx.js";
5
+ /**
6
+ * Writes the structural boilerplate for a strictly validated React Component mapped
7
+ * functionally tracking properties natively against standard `data-` mappings.
8
+ * Automatically injects structural token dependencies based on categorical mappings.
9
+ */
10
+ export function generateComponentFile(component, config, model) {
11
+ const namingStrategy = createNamingStrategy(config.naming);
12
+ const componentName = namingStrategy.formatComponentName(component.name);
13
+ const typesImport = config.framework.typescript
14
+ ? `import type { ${componentName}Props } from "./${componentName}.types.js";`
15
+ : "";
16
+ const stylesImport = `import styles from "${getCssModuleImportPath(componentName)}";`;
17
+ // 1. Resolve Tokens Structural Semantics
18
+ const availableTokens = model.tokens || [];
19
+ const relevantTokens = inferRelevantTokenCollections(component.name, component.categoryPath || "", availableTokens);
20
+ let tokenImportsBlock = "";
21
+ let tokenRefsBlock = "";
22
+ let styleIntentsBlock = "";
23
+ if (relevantTokens.length > 0) {
24
+ tokenImportsBlock = relevantTokens.map(collection => {
25
+ const importName = `${formatCollectionImportName(collection.name)}Tokens`;
26
+ const importPath = resolveRelativeTokenImport(collection.name);
27
+ return `import { ${importName} } from "${importPath}";`;
28
+ }).join("\n");
29
+ tokenRefsBlock = `
30
+ /**
31
+ * Structural Token references mapping the component intent natively.
32
+ * Generated statically by Prompt-to-Both mimicking Figma styles structurally.
33
+ */
34
+ export const ${componentName}TokenRefs = {
35
+ ${relevantTokens.map(t => ` ${formatCollectionImportName(t.name)}: ${formatCollectionImportName(t.name)}Tokens,`).join("\n")}
36
+ } as const;
37
+ `;
38
+ // Style Intents
39
+ const styleSlots = inferStyleSlots(component.name, component.categoryPath || "");
40
+ const styleTokensMap = selectTokensForSlots(styleSlots, relevantTokens, component.styleMetadata);
41
+ if (Object.keys(styleTokensMap).length > 0) {
42
+ styleIntentsBlock = `
43
+ /**
44
+ * Expressive Style Intent describing the explicit structural mappings to actual UI design tokens.
45
+ * This metadata connects the visual hierarchy to abstract definitions visually.
46
+ */
47
+ export const ${componentName}StyleTokens = {
48
+ ${Object.entries(styleTokensMap).map(([slot, exactRef]) => ` ${slot}: ${exactRef},`).join("\n")}
49
+ } as const;
50
+ `;
51
+ }
52
+ }
53
+ const { tag } = inferBaseElement(component.name, component.categoryPath || "");
54
+ const isVoidElement = ["img", "input", "br", "hr"].includes(tag);
55
+ const propsDef = config.framework.typescript
56
+ ? `{ className, ...props }: ${componentName}Props`
57
+ : `{ className, ...props }`;
58
+ let returnBlock = "";
59
+ // Build base properties to pass towards the root node seamlessly
60
+ let dataAtts = "";
61
+ let destructuredVariants = "";
62
+ if (component.properties && component.properties.length > 0) {
63
+ dataAtts = component.properties
64
+ .filter(p => p.type === "enum" || p.type === "boolean")
65
+ .map(p => {
66
+ const cleanName = normalizePropName(p.name);
67
+ return `data-${cleanName.toLowerCase()}={${cleanName}}`;
68
+ }).join("\n ");
69
+ destructuredVariants = component.properties.map(p => normalizePropName(p.name)).join(", ");
70
+ }
71
+ else if (component.variants && component.variants.length > 0) {
72
+ dataAtts = component.variants.map(v => {
73
+ const cleanName = normalizePropName(v.name);
74
+ return `data-${cleanName.toLowerCase()}={${cleanName}}`;
75
+ }).join("\n ");
76
+ destructuredVariants = component.variants.map(v => normalizePropName(v.name)).join(", ");
77
+ }
78
+ const propsWithVariantsDef = destructuredVariants
79
+ ? (config.framework.typescript ? `{ className, ${destructuredVariants}, ...props }: ${componentName}Props` : `{ className, ${destructuredVariants}, ...props }`)
80
+ : propsDef;
81
+ // We build the `{...props}` explicit string matching exactly what the generator requires native to React
82
+ let allPropsStr = dataAtts
83
+ ? `className={[styles.root, className].filter(Boolean).join(" ")}\n ${dataAtts}\n {...props}`
84
+ : `className={[styles.root, className].filter(Boolean).join(" ")} {...props}`;
85
+ // 2. Extrapolate ARIA Attributes organically mapping strict Property States securely!
86
+ let ariaStr = "";
87
+ if (component.properties) {
88
+ let ariaAttrs = [];
89
+ // Find literal Text Fallbacks inherently mapping labels
90
+ const textProp = component.properties.find(p => p.type === "text");
91
+ if (textProp) {
92
+ ariaAttrs.push(`aria-label={${normalizePropName(textProp.name)}}`);
93
+ }
94
+ // Catch Strict Semantic States inherently mapping visual toggles securely
95
+ for (const p of component.properties) {
96
+ const isEnum = p.type === "enum";
97
+ const isBool = p.type === "boolean";
98
+ if (isEnum || isBool) {
99
+ const safeName = normalizePropName(p.name);
100
+ const safeNameLower = safeName.toLowerCase();
101
+ const optionsStr = isEnum ? (p.options || []).map(opt => opt.toLowerCase()) : [];
102
+ if (safeNameLower === "disabled" || optionsStr.includes("disabled")) {
103
+ ariaAttrs.push(`aria-disabled={${isEnum ? `${safeName} === "Disabled"` : safeName}}`);
104
+ }
105
+ if (tag === "button" && (safeNameLower === "pressed" || optionsStr.includes("pressed"))) {
106
+ ariaAttrs.push(`aria-pressed={${isEnum ? `${safeName} === "Pressed"` : safeName}}`);
107
+ }
108
+ if (tag === "input" && (safeNameLower === "error" || safeNameLower === "invalid" || optionsStr.includes("error"))) {
109
+ ariaAttrs.push(`aria-invalid={${isEnum ? `${safeName} === "Error"` : safeName}}`);
110
+ }
111
+ if (tag !== "input" && (safeNameLower === "selected" || optionsStr.includes("selected"))) {
112
+ ariaAttrs.push(`aria-selected={${isEnum ? `${safeName} === "Selected"` : safeName}}`);
113
+ }
114
+ }
115
+ }
116
+ if (ariaAttrs.length > 0) {
117
+ ariaStr = ariaAttrs.join("\n ");
118
+ }
119
+ }
120
+ // Attach Aria Attributes onto standard property chains effortlessly!
121
+ if (ariaStr) {
122
+ allPropsStr = `${ariaStr}\n ${allPropsStr}`;
123
+ }
124
+ let implementationBody = "";
125
+ // 3. Consume Normalized Layout Tree recursively if available!
126
+ let dependencies = new Map();
127
+ if (component.layoutTree) {
128
+ // We evaluate `{...props}` mapping inside our string builder natively dynamically!
129
+ const result = generateLayoutJSX(component.layoutTree, component, model, namingStrategy, 3);
130
+ const childJSX = result.jsx;
131
+ const { tag } = inferBaseElement(component.name, component.categoryPath || "");
132
+ if (tag === "button") {
133
+ // Safely Wrap Semantic Native Button directly seamlessly!
134
+ implementationBody = ` <button ${allPropsStr}>\n${childJSX}\n </button>`;
135
+ }
136
+ else if (tag === "input") {
137
+ const isCheckbox = component.name.toLowerCase().includes("checkbox");
138
+ const inputType = isCheckbox ? "checkbox" : "text";
139
+ // Safely Wrap Semantic Native Input directly seamlessly!
140
+ implementationBody = ` <label className={className}>\n <input type="${inputType}" ${ariaStr} {...props} />\n${childJSX}\n </label>`;
141
+ }
142
+ else {
143
+ // Standard generic fallback explicitly wrapping layout configurations inside semantic standard wrappers seamlessly
144
+ implementationBody = ` <div ${allPropsStr}>\n${result.jsx}\n </div>`;
145
+ }
146
+ dependencies = result.dependencies;
147
+ }
148
+ else {
149
+ // 4. Fallback Legacy Skeletons (no layout metadata) natively
150
+ const { tag } = inferBaseElement(component.name, component.categoryPath || "");
151
+ const isVoidElement = ["img", "input", "br", "hr"].includes(tag);
152
+ if (isVoidElement) {
153
+ implementationBody = ` <${tag} ${allPropsStr} />`;
154
+ }
155
+ else {
156
+ implementationBody = ` <${tag} ${allPropsStr}>
157
+ {/* Implementation details modeled inside Prompt-to-Both generated safely */}
158
+ {props.children}
159
+ </${tag}>`;
160
+ }
161
+ }
162
+ // 4. Generate Localized Variant Map configurations safely
163
+ let variantDefinitions = "";
164
+ if (component.properties && component.properties.length > 0) {
165
+ const enumProps = component.properties.filter(p => p.type === "enum" && p.options && p.options.length > 0);
166
+ if (enumProps.length > 0) {
167
+ const variantLines = enumProps.map(p => {
168
+ const safeName = normalizePropName(p.name);
169
+ const safeOptions = p.options.map(opt => `"${sanitizeOptionName(opt)}"`).join(", ");
170
+ return ` ${safeName}: [${safeOptions}],`;
171
+ });
172
+ variantDefinitions = `const ${componentName.charAt(0).toLowerCase() + componentName.slice(1)}Variants = {\n${variantLines.join("\n")}\n} as const;\n\n`;
173
+ }
174
+ }
175
+ else if (component.variants && component.variants.length > 0) {
176
+ // Legacy fallback
177
+ const variantLines = component.variants.map(v => {
178
+ const safeName = normalizePropName(v.name);
179
+ const safeOptions = (v.options || []).map(opt => `"${sanitizeOptionName(opt)}"`).join(", ");
180
+ return ` ${safeName}: [${safeOptions}],`;
181
+ });
182
+ variantDefinitions = `const ${componentName.charAt(0).toLowerCase() + componentName.slice(1)}Variants = {\n${variantLines.join("\n")}\n} as const;\n\n`;
183
+ }
184
+ returnBlock = `${variantDefinitions}export function ${componentName}(${propsWithVariantsDef}) {
185
+ return (
186
+ ${implementationBody}
187
+ );
188
+ }`;
189
+ const outputChunks = [
190
+ `import * as React from "react";`,
191
+ ];
192
+ const layoutImportsBlock = Array.from(dependencies.entries()).map(([importPath, symbolName]) => {
193
+ return `import { ${symbolName} } from "${importPath}.js";`;
194
+ }).join("\n");
195
+ if (typesImport)
196
+ outputChunks.push(typesImport);
197
+ outputChunks.push(stylesImport);
198
+ if (tokenImportsBlock)
199
+ outputChunks.push(tokenImportsBlock);
200
+ if (layoutImportsBlock)
201
+ outputChunks.push(layoutImportsBlock);
202
+ if (tokenRefsBlock)
203
+ outputChunks.push(tokenRefsBlock.trim());
204
+ if (styleIntentsBlock)
205
+ outputChunks.push(styleIntentsBlock.trim());
206
+ outputChunks.push(returnBlock);
207
+ return outputChunks.join("\n\n") + "\n";
208
+ }
209
+ //# sourceMappingURL=generate-component-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-component-file.js","sourceRoot":"","sources":["../../../src/generators/components/generate-component-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ComponentDefinition, DesignSystemModel, PTBConfig } from "@ptb/shared-types";
2
+ export declare function generateCompositeFile(component: ComponentDefinition, model: DesignSystemModel, config: PTBConfig): string;
3
+ //# sourceMappingURL=generate-composite-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-composite-file.d.ts","sourceRoot":"","sources":["../../../src/generators/components/generate-composite-file.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAQ3F,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,SAAS,GAClB,MAAM,CAiFR"}