@baseplate-dev/project-builder-lib 0.1.1

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 (569) hide show
  1. package/LICENSE +390 -0
  2. package/dist/compiler/admin-crud-input-spec.d.ts +26 -0
  3. package/dist/compiler/admin-crud-input-spec.d.ts.map +1 -0
  4. package/dist/compiler/admin-crud-input-spec.js +29 -0
  5. package/dist/compiler/admin-crud-input-spec.js.map +1 -0
  6. package/dist/compiler/app-compiler-spec.d.ts +36 -0
  7. package/dist/compiler/app-compiler-spec.d.ts.map +1 -0
  8. package/dist/compiler/app-compiler-spec.js +42 -0
  9. package/dist/compiler/app-compiler-spec.js.map +1 -0
  10. package/dist/compiler/index.d.ts +5 -0
  11. package/dist/compiler/index.d.ts.map +1 -0
  12. package/dist/compiler/index.js +4 -0
  13. package/dist/compiler/index.js.map +1 -0
  14. package/dist/compiler/model-transformer-compiler-spec.d.ts +25 -0
  15. package/dist/compiler/model-transformer-compiler-spec.d.ts.map +1 -0
  16. package/dist/compiler/model-transformer-compiler-spec.js +29 -0
  17. package/dist/compiler/model-transformer-compiler-spec.js.map +1 -0
  18. package/dist/compiler/types.d.ts +2 -0
  19. package/dist/compiler/types.d.ts.map +1 -0
  20. package/dist/compiler/types.js +2 -0
  21. package/dist/compiler/types.js.map +1 -0
  22. package/dist/constants/colors.d.ts +294 -0
  23. package/dist/constants/colors.d.ts.map +1 -0
  24. package/dist/constants/colors.js +307 -0
  25. package/dist/constants/colors.js.map +1 -0
  26. package/dist/constants/index.d.ts +3 -0
  27. package/dist/constants/index.d.ts.map +1 -0
  28. package/dist/constants/index.js +3 -0
  29. package/dist/constants/index.js.map +1 -0
  30. package/dist/constants/theme-colors.d.ts +397 -0
  31. package/dist/constants/theme-colors.d.ts.map +1 -0
  32. package/dist/constants/theme-colors.js +247 -0
  33. package/dist/constants/theme-colors.js.map +1 -0
  34. package/dist/definition/apps/app-utils.d.ts +11 -0
  35. package/dist/definition/apps/app-utils.d.ts.map +1 -0
  36. package/dist/definition/apps/app-utils.js +30 -0
  37. package/dist/definition/apps/app-utils.js.map +1 -0
  38. package/dist/definition/feature/feature-utils.d.ts +27 -0
  39. package/dist/definition/feature/feature-utils.d.ts.map +1 -0
  40. package/dist/definition/feature/feature-utils.js +81 -0
  41. package/dist/definition/feature/feature-utils.js.map +1 -0
  42. package/dist/definition/index.d.ts +10 -0
  43. package/dist/definition/index.d.ts.map +1 -0
  44. package/dist/definition/index.js +10 -0
  45. package/dist/definition/index.js.map +1 -0
  46. package/dist/definition/model/enum-utils.d.ts +9 -0
  47. package/dist/definition/model/enum-utils.d.ts.map +1 -0
  48. package/dist/definition/model/enum-utils.js +15 -0
  49. package/dist/definition/model/enum-utils.js.map +1 -0
  50. package/dist/definition/model/model-field-utils.d.ts +17 -0
  51. package/dist/definition/model/model-field-utils.d.ts.map +1 -0
  52. package/dist/definition/model/model-field-utils.js +85 -0
  53. package/dist/definition/model/model-field-utils.js.map +1 -0
  54. package/dist/definition/model/model-transformer-utils.d.ts +11 -0
  55. package/dist/definition/model/model-transformer-utils.d.ts.map +1 -0
  56. package/dist/definition/model/model-transformer-utils.js +13 -0
  57. package/dist/definition/model/model-transformer-utils.js.map +1 -0
  58. package/dist/definition/model/model-utils.d.ts +32 -0
  59. package/dist/definition/model/model-utils.d.ts.map +1 -0
  60. package/dist/definition/model/model-utils.js +59 -0
  61. package/dist/definition/model/model-utils.js.map +1 -0
  62. package/dist/definition/plugins/index.d.ts +2 -0
  63. package/dist/definition/plugins/index.d.ts.map +1 -0
  64. package/dist/definition/plugins/index.js +2 -0
  65. package/dist/definition/plugins/index.js.map +1 -0
  66. package/dist/definition/plugins/plugin-utils.d.ts +14 -0
  67. package/dist/definition/plugins/plugin-utils.d.ts.map +1 -0
  68. package/dist/definition/plugins/plugin-utils.js +44 -0
  69. package/dist/definition/plugins/plugin-utils.js.map +1 -0
  70. package/dist/definition/project-definition-container.d.ts +65 -0
  71. package/dist/definition/project-definition-container.d.ts.map +1 -0
  72. package/dist/definition/project-definition-container.js +118 -0
  73. package/dist/definition/project-definition-container.js.map +1 -0
  74. package/dist/definition/project-definition-container.test-helper.d.ts +5 -0
  75. package/dist/definition/project-definition-container.test-helper.d.ts.map +1 -0
  76. package/dist/definition/project-definition-container.test-helper.js +36 -0
  77. package/dist/definition/project-definition-container.test-helper.js.map +1 -0
  78. package/dist/feature-flags/flags.d.ts +3 -0
  79. package/dist/feature-flags/flags.d.ts.map +1 -0
  80. package/dist/feature-flags/flags.js +2 -0
  81. package/dist/feature-flags/flags.js.map +1 -0
  82. package/dist/feature-flags/index.d.ts +2 -0
  83. package/dist/feature-flags/index.d.ts.map +1 -0
  84. package/dist/feature-flags/index.js +2 -0
  85. package/dist/feature-flags/index.js.map +1 -0
  86. package/dist/index.d.ts +14 -0
  87. package/dist/index.js +13 -0
  88. package/dist/index.js.map +1 -0
  89. package/dist/migrations/index.d.ts +15 -0
  90. package/dist/migrations/index.d.ts.map +1 -0
  91. package/dist/migrations/index.js +68 -0
  92. package/dist/migrations/index.js.map +1 -0
  93. package/dist/migrations/migration-005-primaryUniqueRefs.d.ts +37 -0
  94. package/dist/migrations/migration-005-primaryUniqueRefs.d.ts.map +1 -0
  95. package/dist/migrations/migration-005-primaryUniqueRefs.js +40 -0
  96. package/dist/migrations/migration-005-primaryUniqueRefs.js.map +1 -0
  97. package/dist/migrations/migration-006-individual-service-controllers.d.ts +42 -0
  98. package/dist/migrations/migration-006-individual-service-controllers.d.ts.map +1 -0
  99. package/dist/migrations/migration-006-individual-service-controllers.js +31 -0
  100. package/dist/migrations/migration-006-individual-service-controllers.js.map +1 -0
  101. package/dist/migrations/migration-007-model-graphql.d.ts +59 -0
  102. package/dist/migrations/migration-007-model-graphql.d.ts.map +1 -0
  103. package/dist/migrations/migration-007-model-graphql.js +62 -0
  104. package/dist/migrations/migration-007-model-graphql.js.map +1 -0
  105. package/dist/migrations/migration-008-anonymous-public-role.d.ts +22 -0
  106. package/dist/migrations/migration-008-anonymous-public-role.d.ts.map +1 -0
  107. package/dist/migrations/migration-008-anonymous-public-role.js +52 -0
  108. package/dist/migrations/migration-008-anonymous-public-role.js.map +1 -0
  109. package/dist/migrations/migration-009-rename-refs.d.ts +2 -0
  110. package/dist/migrations/migration-009-rename-refs.d.ts.map +1 -0
  111. package/dist/migrations/migration-009-rename-refs.js +59 -0
  112. package/dist/migrations/migration-009-rename-refs.js.map +1 -0
  113. package/dist/migrations/migration-010-hex-to-oklch.d.ts +2 -0
  114. package/dist/migrations/migration-010-hex-to-oklch.d.ts.map +1 -0
  115. package/dist/migrations/migration-010-hex-to-oklch.js +24 -0
  116. package/dist/migrations/migration-010-hex-to-oklch.js.map +1 -0
  117. package/dist/migrations/migration-011-plugin-id.d.ts +2 -0
  118. package/dist/migrations/migration-011-plugin-id.d.ts.map +1 -0
  119. package/dist/migrations/migration-011-plugin-id.js +10 -0
  120. package/dist/migrations/migration-011-plugin-id.js.map +1 -0
  121. package/dist/migrations/migration-012-migrate-auth-config.d.ts +36 -0
  122. package/dist/migrations/migration-012-migrate-auth-config.d.ts.map +1 -0
  123. package/dist/migrations/migration-012-migrate-auth-config.js +48 -0
  124. package/dist/migrations/migration-012-migrate-auth-config.js.map +1 -0
  125. package/dist/migrations/migration-013-move-general-settings.d.ts +38 -0
  126. package/dist/migrations/migration-013-move-general-settings.d.ts.map +1 -0
  127. package/dist/migrations/migration-013-move-general-settings.js +22 -0
  128. package/dist/migrations/migration-013-move-general-settings.js.map +1 -0
  129. package/dist/migrations/migration-014-migrate-plugin-ids.d.ts +21 -0
  130. package/dist/migrations/migration-014-migrate-plugin-ids.d.ts.map +1 -0
  131. package/dist/migrations/migration-014-migrate-plugin-ids.js +32 -0
  132. package/dist/migrations/migration-014-migrate-plugin-ids.js.map +1 -0
  133. package/dist/migrations/transform-json-path.d.ts +13 -0
  134. package/dist/migrations/transform-json-path.d.ts.map +1 -0
  135. package/dist/migrations/transform-json-path.js +66 -0
  136. package/dist/migrations/transform-json-path.js.map +1 -0
  137. package/dist/migrations/types.d.ts +29 -0
  138. package/dist/migrations/types.d.ts.map +1 -0
  139. package/dist/migrations/types.js +4 -0
  140. package/dist/migrations/types.js.map +1 -0
  141. package/dist/migrations/utils.d.ts +3 -0
  142. package/dist/migrations/utils.d.ts.map +1 -0
  143. package/dist/migrations/utils.js +10 -0
  144. package/dist/migrations/utils.js.map +1 -0
  145. package/dist/parser/index.d.ts +3 -0
  146. package/dist/parser/index.d.ts.map +1 -0
  147. package/dist/parser/index.js +2 -0
  148. package/dist/parser/index.js.map +1 -0
  149. package/dist/parser/parser.d.ts +35 -0
  150. package/dist/parser/parser.d.ts.map +1 -0
  151. package/dist/parser/parser.js +84 -0
  152. package/dist/parser/parser.js.map +1 -0
  153. package/dist/parser/types.d.ts +8 -0
  154. package/dist/parser/types.d.ts.map +1 -0
  155. package/dist/parser/types.js +2 -0
  156. package/dist/parser/types.js.map +1 -0
  157. package/dist/plugin-tools/index.d.ts +2 -0
  158. package/dist/plugin-tools/index.d.ts.map +1 -0
  159. package/dist/plugin-tools/index.js +2 -0
  160. package/dist/plugin-tools/index.js.map +1 -0
  161. package/dist/plugin-tools/plugin-loader.d.ts +16 -0
  162. package/dist/plugin-tools/plugin-loader.d.ts.map +1 -0
  163. package/dist/plugin-tools/plugin-loader.js +166 -0
  164. package/dist/plugin-tools/plugin-loader.js.map +1 -0
  165. package/dist/plugins/imports/index.d.ts +3 -0
  166. package/dist/plugins/imports/index.d.ts.map +1 -0
  167. package/dist/plugins/imports/index.js +3 -0
  168. package/dist/plugins/imports/index.js.map +1 -0
  169. package/dist/plugins/imports/loader.d.ts +23 -0
  170. package/dist/plugins/imports/loader.d.ts.map +1 -0
  171. package/dist/plugins/imports/loader.js +81 -0
  172. package/dist/plugins/imports/loader.js.map +1 -0
  173. package/dist/plugins/imports/types.d.ts +27 -0
  174. package/dist/plugins/imports/types.d.ts.map +1 -0
  175. package/dist/plugins/imports/types.js +4 -0
  176. package/dist/plugins/imports/types.js.map +1 -0
  177. package/dist/plugins/index.d.ts +7 -0
  178. package/dist/plugins/index.d.ts.map +1 -0
  179. package/dist/plugins/index.js +7 -0
  180. package/dist/plugins/index.js.map +1 -0
  181. package/dist/plugins/manifest/manifest.d.ts +13 -0
  182. package/dist/plugins/manifest/manifest.d.ts.map +1 -0
  183. package/dist/plugins/manifest/manifest.js +6 -0
  184. package/dist/plugins/manifest/manifest.js.map +1 -0
  185. package/dist/plugins/metadata/index.d.ts +2 -0
  186. package/dist/plugins/metadata/index.d.ts.map +1 -0
  187. package/dist/plugins/metadata/index.js +2 -0
  188. package/dist/plugins/metadata/index.js.map +1 -0
  189. package/dist/plugins/metadata/types.d.ts +163 -0
  190. package/dist/plugins/metadata/types.d.ts.map +1 -0
  191. package/dist/plugins/metadata/types.js +59 -0
  192. package/dist/plugins/metadata/types.js.map +1 -0
  193. package/dist/plugins/migrations/index.d.ts +2 -0
  194. package/dist/plugins/migrations/index.d.ts.map +1 -0
  195. package/dist/plugins/migrations/index.js +2 -0
  196. package/dist/plugins/migrations/index.js.map +1 -0
  197. package/dist/plugins/migrations/run-migrations.d.ts +4 -0
  198. package/dist/plugins/migrations/run-migrations.d.ts.map +1 -0
  199. package/dist/plugins/migrations/run-migrations.js +30 -0
  200. package/dist/plugins/migrations/run-migrations.js.map +1 -0
  201. package/dist/plugins/schema/common.d.ts +6 -0
  202. package/dist/plugins/schema/common.d.ts.map +1 -0
  203. package/dist/plugins/schema/common.js +2 -0
  204. package/dist/plugins/schema/common.js.map +1 -0
  205. package/dist/plugins/schema/index.d.ts +4 -0
  206. package/dist/plugins/schema/index.d.ts.map +1 -0
  207. package/dist/plugins/schema/index.js +4 -0
  208. package/dist/plugins/schema/index.js.map +1 -0
  209. package/dist/plugins/schema/parser.d.ts +19 -0
  210. package/dist/plugins/schema/parser.d.ts.map +1 -0
  211. package/dist/plugins/schema/parser.js +41 -0
  212. package/dist/plugins/schema/parser.js.map +1 -0
  213. package/dist/plugins/schema/store.d.ts +8 -0
  214. package/dist/plugins/schema/store.d.ts.map +1 -0
  215. package/dist/plugins/schema/store.js +21 -0
  216. package/dist/plugins/schema/store.js.map +1 -0
  217. package/dist/plugins/schema/zod-with-plugins.d.ts +12 -0
  218. package/dist/plugins/schema/zod-with-plugins.d.ts.map +1 -0
  219. package/dist/plugins/schema/zod-with-plugins.js +26 -0
  220. package/dist/plugins/schema/zod-with-plugins.js.map +1 -0
  221. package/dist/plugins/spec/auth-config-spec.d.ts +21 -0
  222. package/dist/plugins/spec/auth-config-spec.d.ts.map +1 -0
  223. package/dist/plugins/spec/auth-config-spec.js +6 -0
  224. package/dist/plugins/spec/auth-config-spec.js.map +1 -0
  225. package/dist/plugins/spec/config-spec.d.ts +31 -0
  226. package/dist/plugins/spec/config-spec.d.ts.map +1 -0
  227. package/dist/plugins/spec/config-spec.js +58 -0
  228. package/dist/plugins/spec/config-spec.js.map +1 -0
  229. package/dist/plugins/spec/index.d.ts +5 -0
  230. package/dist/plugins/spec/index.d.ts.map +1 -0
  231. package/dist/plugins/spec/index.js +5 -0
  232. package/dist/plugins/spec/index.js.map +1 -0
  233. package/dist/plugins/spec/types.d.ts +29 -0
  234. package/dist/plugins/spec/types.d.ts.map +1 -0
  235. package/dist/plugins/spec/types.js +17 -0
  236. package/dist/plugins/spec/types.js.map +1 -0
  237. package/dist/plugins/spec/web-config-spec.d.ts +22 -0
  238. package/dist/plugins/spec/web-config-spec.d.ts.map +1 -0
  239. package/dist/plugins/spec/web-config-spec.js +23 -0
  240. package/dist/plugins/spec/web-config-spec.js.map +1 -0
  241. package/dist/references/deserialize-schema.d.ts +4 -0
  242. package/dist/references/deserialize-schema.d.ts.map +1 -0
  243. package/dist/references/deserialize-schema.js +68 -0
  244. package/dist/references/deserialize-schema.js.map +1 -0
  245. package/dist/references/fix-ref-deletions.d.ts +22 -0
  246. package/dist/references/fix-ref-deletions.d.ts.map +1 -0
  247. package/dist/references/fix-ref-deletions.js +99 -0
  248. package/dist/references/fix-ref-deletions.js.map +1 -0
  249. package/dist/references/index.d.ts +6 -0
  250. package/dist/references/index.d.ts.map +1 -0
  251. package/dist/references/index.js +6 -0
  252. package/dist/references/index.js.map +1 -0
  253. package/dist/references/parse-schema-with-references.d.ts +14 -0
  254. package/dist/references/parse-schema-with-references.d.ts.map +1 -0
  255. package/dist/references/parse-schema-with-references.js +16 -0
  256. package/dist/references/parse-schema-with-references.js.map +1 -0
  257. package/dist/references/ref-builder.d.ts +346 -0
  258. package/dist/references/ref-builder.d.ts.map +1 -0
  259. package/dist/references/ref-builder.js +494 -0
  260. package/dist/references/ref-builder.js.map +1 -0
  261. package/dist/references/resolve-zod-ref-payload-names.d.ts +26 -0
  262. package/dist/references/resolve-zod-ref-payload-names.d.ts.map +1 -0
  263. package/dist/references/resolve-zod-ref-payload-names.js +52 -0
  264. package/dist/references/resolve-zod-ref-payload-names.js.map +1 -0
  265. package/dist/references/serialize-schema.d.ts +5 -0
  266. package/dist/references/serialize-schema.d.ts.map +1 -0
  267. package/dist/references/serialize-schema.js +22 -0
  268. package/dist/references/serialize-schema.js.map +1 -0
  269. package/dist/references/types.d.ts +126 -0
  270. package/dist/references/types.d.ts.map +1 -0
  271. package/dist/references/types.js +59 -0
  272. package/dist/references/types.js.map +1 -0
  273. package/dist/schema/apps/admin/app.d.ts +1144 -0
  274. package/dist/schema/apps/admin/app.d.ts.map +1 -0
  275. package/dist/schema/apps/admin/app.js +27 -0
  276. package/dist/schema/apps/admin/app.js.map +1 -0
  277. package/dist/schema/apps/admin/index.d.ts +3 -0
  278. package/dist/schema/apps/admin/index.d.ts.map +1 -0
  279. package/dist/schema/apps/admin/index.js +3 -0
  280. package/dist/schema/apps/admin/index.js.map +1 -0
  281. package/dist/schema/apps/admin/sections/base.d.ts +9 -0
  282. package/dist/schema/apps/admin/sections/base.d.ts.map +1 -0
  283. package/dist/schema/apps/admin/sections/base.js +15 -0
  284. package/dist/schema/apps/admin/sections/base.js.map +1 -0
  285. package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.d.ts +11 -0
  286. package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.d.ts.map +1 -0
  287. package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.js +11 -0
  288. package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.js.map +1 -0
  289. package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.d.ts +17 -0
  290. package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.d.ts.map +1 -0
  291. package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.js +30 -0
  292. package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.js.map +1 -0
  293. package/dist/schema/apps/admin/sections/crud-form/built-in-input.d.ts +138 -0
  294. package/dist/schema/apps/admin/sections/crud-form/built-in-input.d.ts.map +1 -0
  295. package/dist/schema/apps/admin/sections/crud-form/built-in-input.js +101 -0
  296. package/dist/schema/apps/admin/sections/crud-form/built-in-input.js.map +1 -0
  297. package/dist/schema/apps/admin/sections/crud-form/index.d.ts +5 -0
  298. package/dist/schema/apps/admin/sections/crud-form/index.d.ts.map +1 -0
  299. package/dist/schema/apps/admin/sections/crud-form/index.js +5 -0
  300. package/dist/schema/apps/admin/sections/crud-form/index.js.map +1 -0
  301. package/dist/schema/apps/admin/sections/crud-form/types.d.ts +19 -0
  302. package/dist/schema/apps/admin/sections/crud-form/types.d.ts.map +1 -0
  303. package/dist/schema/apps/admin/sections/crud-form/types.js +14 -0
  304. package/dist/schema/apps/admin/sections/crud-form/types.js.map +1 -0
  305. package/dist/schema/apps/admin/sections/crud.d.ts +988 -0
  306. package/dist/schema/apps/admin/sections/crud.d.ts.map +1 -0
  307. package/dist/schema/apps/admin/sections/crud.js +101 -0
  308. package/dist/schema/apps/admin/sections/crud.js.map +1 -0
  309. package/dist/schema/apps/admin/sections/index.d.ts +5 -0
  310. package/dist/schema/apps/admin/sections/index.d.ts.map +1 -0
  311. package/dist/schema/apps/admin/sections/index.js +5 -0
  312. package/dist/schema/apps/admin/sections/index.js.map +1 -0
  313. package/dist/schema/apps/admin/sections/types.d.ts +2 -0
  314. package/dist/schema/apps/admin/sections/types.d.ts.map +1 -0
  315. package/dist/schema/apps/admin/sections/types.js +6 -0
  316. package/dist/schema/apps/admin/sections/types.js.map +1 -0
  317. package/dist/schema/apps/backend/index.d.ts +49 -0
  318. package/dist/schema/apps/backend/index.d.ts.map +1 -0
  319. package/dist/schema/apps/backend/index.js +15 -0
  320. package/dist/schema/apps/backend/index.js.map +1 -0
  321. package/dist/schema/apps/base.d.ts +25 -0
  322. package/dist/schema/apps/base.d.ts.map +1 -0
  323. package/dist/schema/apps/base.js +16 -0
  324. package/dist/schema/apps/base.js.map +1 -0
  325. package/dist/schema/apps/index.d.ts +6 -0
  326. package/dist/schema/apps/index.d.ts.map +1 -0
  327. package/dist/schema/apps/index.js +6 -0
  328. package/dist/schema/apps/index.js.map +1 -0
  329. package/dist/schema/apps/types.d.ts +6 -0
  330. package/dist/schema/apps/types.d.ts.map +1 -0
  331. package/dist/schema/apps/types.js +6 -0
  332. package/dist/schema/apps/types.js.map +1 -0
  333. package/dist/schema/apps/web/index.d.ts +49 -0
  334. package/dist/schema/apps/web/index.d.ts.map +1 -0
  335. package/dist/schema/apps/web/index.js +22 -0
  336. package/dist/schema/apps/web/index.js.map +1 -0
  337. package/dist/schema/auth/index.d.ts +2 -0
  338. package/dist/schema/auth/index.d.ts.map +1 -0
  339. package/dist/schema/auth/index.js +3 -0
  340. package/dist/schema/auth/index.js.map +1 -0
  341. package/dist/schema/creator/index.d.ts +2 -0
  342. package/dist/schema/creator/index.d.ts.map +1 -0
  343. package/dist/schema/creator/index.js +2 -0
  344. package/dist/schema/creator/index.js.map +1 -0
  345. package/dist/schema/creator/schema-creator.d.ts +4 -0
  346. package/dist/schema/creator/schema-creator.d.ts.map +1 -0
  347. package/dist/schema/creator/schema-creator.js +4 -0
  348. package/dist/schema/creator/schema-creator.js.map +1 -0
  349. package/dist/schema/creator/types.d.ts +14 -0
  350. package/dist/schema/creator/types.d.ts.map +1 -0
  351. package/dist/schema/creator/types.js +2 -0
  352. package/dist/schema/creator/types.js.map +1 -0
  353. package/dist/schema/features/feature.d.ts +33 -0
  354. package/dist/schema/features/feature.d.ts.map +1 -0
  355. package/dist/schema/features/feature.js +21 -0
  356. package/dist/schema/features/feature.js.map +1 -0
  357. package/dist/schema/features/index.d.ts +3 -0
  358. package/dist/schema/features/index.d.ts.map +1 -0
  359. package/dist/schema/features/index.js +3 -0
  360. package/dist/schema/features/index.js.map +1 -0
  361. package/dist/schema/features/theme.d.ts +208 -0
  362. package/dist/schema/features/theme.d.ts.map +1 -0
  363. package/dist/schema/features/theme.js +34 -0
  364. package/dist/schema/features/theme.js.map +1 -0
  365. package/dist/schema/index.d.ts +11 -0
  366. package/dist/schema/index.d.ts.map +1 -0
  367. package/dist/schema/index.js +11 -0
  368. package/dist/schema/index.js.map +1 -0
  369. package/dist/schema/models/enums.d.ts +97 -0
  370. package/dist/schema/models/enums.d.ts.map +1 -0
  371. package/dist/schema/models/enums.js +25 -0
  372. package/dist/schema/models/enums.js.map +1 -0
  373. package/dist/schema/models/graphql.d.ts +181 -0
  374. package/dist/schema/models/graphql.d.ts.map +1 -0
  375. package/dist/schema/models/graphql.js +96 -0
  376. package/dist/schema/models/graphql.js.map +1 -0
  377. package/dist/schema/models/index.d.ts +1692 -0
  378. package/dist/schema/models/index.d.ts.map +1 -0
  379. package/dist/schema/models/index.js +220 -0
  380. package/dist/schema/models/index.js.map +1 -0
  381. package/dist/schema/models/mocks.d.ts +6 -0
  382. package/dist/schema/models/mocks.d.ts.map +1 -0
  383. package/dist/schema/models/mocks.js +55 -0
  384. package/dist/schema/models/mocks.js.map +1 -0
  385. package/dist/schema/models/transformers/built-in-transformers.d.ts +71 -0
  386. package/dist/schema/models/transformers/built-in-transformers.d.ts.map +1 -0
  387. package/dist/schema/models/transformers/built-in-transformers.js +59 -0
  388. package/dist/schema/models/transformers/built-in-transformers.js.map +1 -0
  389. package/dist/schema/models/transformers/index.d.ts +5 -0
  390. package/dist/schema/models/transformers/index.d.ts.map +1 -0
  391. package/dist/schema/models/transformers/index.js +5 -0
  392. package/dist/schema/models/transformers/index.js.map +1 -0
  393. package/dist/schema/models/transformers/model-transformer-spec.d.ts +17 -0
  394. package/dist/schema/models/transformers/model-transformer-spec.d.ts.map +1 -0
  395. package/dist/schema/models/transformers/model-transformer-spec.js +40 -0
  396. package/dist/schema/models/transformers/model-transformer-spec.js.map +1 -0
  397. package/dist/schema/models/transformers/transformers.d.ts +11 -0
  398. package/dist/schema/models/transformers/transformers.d.ts.map +1 -0
  399. package/dist/schema/models/transformers/transformers.js +11 -0
  400. package/dist/schema/models/transformers/transformers.js.map +1 -0
  401. package/dist/schema/models/transformers/types.d.ts +23 -0
  402. package/dist/schema/models/transformers/types.d.ts.map +1 -0
  403. package/dist/schema/models/transformers/types.js +12 -0
  404. package/dist/schema/models/transformers/types.js.map +1 -0
  405. package/dist/schema/models/types.d.ts +9 -0
  406. package/dist/schema/models/types.d.ts.map +1 -0
  407. package/dist/schema/models/types.js +14 -0
  408. package/dist/schema/models/types.js.map +1 -0
  409. package/dist/schema/plugins/definition.d.ts +128 -0
  410. package/dist/schema/plugins/definition.d.ts.map +1 -0
  411. package/dist/schema/plugins/definition.js +28 -0
  412. package/dist/schema/plugins/definition.js.map +1 -0
  413. package/dist/schema/plugins/entity-types.d.ts +2 -0
  414. package/dist/schema/plugins/entity-types.d.ts.map +1 -0
  415. package/dist/schema/plugins/entity-types.js +3 -0
  416. package/dist/schema/plugins/entity-types.js.map +1 -0
  417. package/dist/schema/plugins/index.d.ts +3 -0
  418. package/dist/schema/plugins/index.d.ts.map +1 -0
  419. package/dist/schema/plugins/index.js +3 -0
  420. package/dist/schema/plugins/index.js.map +1 -0
  421. package/dist/schema/project-definition.d.ts +2877 -0
  422. package/dist/schema/project-definition.d.ts.map +1 -0
  423. package/dist/schema/project-definition.js +34 -0
  424. package/dist/schema/project-definition.js.map +1 -0
  425. package/dist/schema/settings.d.ts +228 -0
  426. package/dist/schema/settings.d.ts.map +1 -0
  427. package/dist/schema/settings.js +32 -0
  428. package/dist/schema/settings.js.map +1 -0
  429. package/dist/schema/template-extractor/index.d.ts +25 -0
  430. package/dist/schema/template-extractor/index.d.ts.map +1 -0
  431. package/dist/schema/template-extractor/index.js +18 -0
  432. package/dist/schema/template-extractor/index.js.map +1 -0
  433. package/dist/schema/utils/validation.d.ts +8 -0
  434. package/dist/schema/utils/validation.d.ts.map +1 -0
  435. package/dist/schema/utils/validation.js +18 -0
  436. package/dist/schema/utils/validation.js.map +1 -0
  437. package/dist/tools/index.d.ts +2 -0
  438. package/dist/tools/index.d.ts.map +1 -0
  439. package/dist/tools/index.js +2 -0
  440. package/dist/tools/index.js.map +1 -0
  441. package/dist/tools/model-merger/index.d.ts +2 -0
  442. package/dist/tools/model-merger/index.d.ts.map +1 -0
  443. package/dist/tools/model-merger/index.js +2 -0
  444. package/dist/tools/model-merger/index.js.map +1 -0
  445. package/dist/tools/model-merger/model-merger.d.ts +376 -0
  446. package/dist/tools/model-merger/model-merger.d.ts.map +1 -0
  447. package/dist/tools/model-merger/model-merger.js +229 -0
  448. package/dist/tools/model-merger/model-merger.js.map +1 -0
  449. package/dist/types/field-types.d.ts +3 -0
  450. package/dist/types/field-types.d.ts.map +1 -0
  451. package/dist/types/field-types.js +13 -0
  452. package/dist/types/field-types.js.map +1 -0
  453. package/dist/types/files.d.ts +8 -0
  454. package/dist/types/files.d.ts.map +1 -0
  455. package/dist/types/files.js +2 -0
  456. package/dist/types/files.js.map +1 -0
  457. package/dist/utils/color-conversions.d.ts +20 -0
  458. package/dist/utils/color-conversions.d.ts.map +1 -0
  459. package/dist/utils/color-conversions.js +38 -0
  460. package/dist/utils/color-conversions.js.map +1 -0
  461. package/dist/utils/color-names.d.ts +18 -0
  462. package/dist/utils/color-names.d.ts.map +1 -0
  463. package/dist/utils/color-names.js +54 -0
  464. package/dist/utils/color-names.js.map +1 -0
  465. package/dist/utils/definition-diff/definition-diff.d.ts +68 -0
  466. package/dist/utils/definition-diff/definition-diff.d.ts.map +1 -0
  467. package/dist/utils/definition-diff/definition-diff.js +149 -0
  468. package/dist/utils/definition-diff/definition-diff.js.map +1 -0
  469. package/dist/utils/definition-diff/index.d.ts +2 -0
  470. package/dist/utils/definition-diff/index.d.ts.map +1 -0
  471. package/dist/utils/definition-diff/index.js +2 -0
  472. package/dist/utils/definition-diff/index.js.map +1 -0
  473. package/dist/utils/index.d.ts +6 -0
  474. package/dist/utils/index.d.ts.map +1 -0
  475. package/dist/utils/index.js +6 -0
  476. package/dist/utils/index.js.map +1 -0
  477. package/dist/utils/path.d.ts +5 -0
  478. package/dist/utils/path.d.ts.map +1 -0
  479. package/dist/utils/path.js +27 -0
  480. package/dist/utils/path.js.map +1 -0
  481. package/dist/utils/strip.d.ts +18 -0
  482. package/dist/utils/strip.d.ts.map +1 -0
  483. package/dist/utils/strip.js +37 -0
  484. package/dist/utils/strip.js.map +1 -0
  485. package/dist/utils/theme.d.ts +10 -0
  486. package/dist/utils/theme.d.ts.map +1 -0
  487. package/dist/utils/theme.js +58 -0
  488. package/dist/utils/theme.js.map +1 -0
  489. package/dist/web/components/FeatureComboboxField.d.ts +17 -0
  490. package/dist/web/components/FeatureComboboxField.d.ts.map +1 -0
  491. package/dist/web/components/FeatureComboboxField.js +38 -0
  492. package/dist/web/components/FeatureComboboxField.js.map +1 -0
  493. package/dist/web/components/ModelComboboxField.d.ts +17 -0
  494. package/dist/web/components/ModelComboboxField.d.ts.map +1 -0
  495. package/dist/web/components/ModelComboboxField.js +38 -0
  496. package/dist/web/components/ModelComboboxField.js.map +1 -0
  497. package/dist/web/components/ModelMergerResultAlert.d.ts +8 -0
  498. package/dist/web/components/ModelMergerResultAlert.d.ts.map +1 -0
  499. package/dist/web/components/ModelMergerResultAlert.js +10 -0
  500. package/dist/web/components/ModelMergerResultAlert.js.map +1 -0
  501. package/dist/web/components/index.d.ts +4 -0
  502. package/dist/web/components/index.d.ts.map +1 -0
  503. package/dist/web/components/index.js +4 -0
  504. package/dist/web/components/index.js.map +1 -0
  505. package/dist/web/contexts/error-handler.d.ts +7 -0
  506. package/dist/web/contexts/error-handler.d.ts.map +1 -0
  507. package/dist/web/contexts/error-handler.js +3 -0
  508. package/dist/web/contexts/error-handler.js.map +1 -0
  509. package/dist/web/contexts/index.d.ts +2 -0
  510. package/dist/web/contexts/index.d.ts.map +1 -0
  511. package/dist/web/contexts/index.js +2 -0
  512. package/dist/web/contexts/index.js.map +1 -0
  513. package/dist/web/hooks/index.d.ts +8 -0
  514. package/dist/web/hooks/index.d.ts.map +1 -0
  515. package/dist/web/hooks/index.js +8 -0
  516. package/dist/web/hooks/index.js.map +1 -0
  517. package/dist/web/hooks/useBlockDirtyFormNavigate.d.ts +3 -0
  518. package/dist/web/hooks/useBlockDirtyFormNavigate.d.ts.map +1 -0
  519. package/dist/web/hooks/useBlockDirtyFormNavigate.js +14 -0
  520. package/dist/web/hooks/useBlockDirtyFormNavigate.js.map +1 -0
  521. package/dist/web/hooks/useBlockUnsavedChangesNavigate.d.ts +7 -0
  522. package/dist/web/hooks/useBlockUnsavedChangesNavigate.d.ts.map +1 -0
  523. package/dist/web/hooks/useBlockUnsavedChangesNavigate.js +47 -0
  524. package/dist/web/hooks/useBlockUnsavedChangesNavigate.js.map +1 -0
  525. package/dist/web/hooks/useBlockerDialog.d.ts +44 -0
  526. package/dist/web/hooks/useBlockerDialog.d.ts.map +1 -0
  527. package/dist/web/hooks/useBlockerDialog.js +77 -0
  528. package/dist/web/hooks/useBlockerDialog.js.map +1 -0
  529. package/dist/web/hooks/useErrorHandler.d.ts +3 -0
  530. package/dist/web/hooks/useErrorHandler.d.ts.map +1 -0
  531. package/dist/web/hooks/useErrorHandler.js +10 -0
  532. package/dist/web/hooks/useErrorHandler.js.map +1 -0
  533. package/dist/web/hooks/usePluginEnhancedSchema.d.ts +4 -0
  534. package/dist/web/hooks/usePluginEnhancedSchema.d.ts.map +1 -0
  535. package/dist/web/hooks/usePluginEnhancedSchema.js +8 -0
  536. package/dist/web/hooks/usePluginEnhancedSchema.js.map +1 -0
  537. package/dist/web/hooks/useProjectDefinition.d.ts +65 -0
  538. package/dist/web/hooks/useProjectDefinition.d.ts.map +1 -0
  539. package/dist/web/hooks/useProjectDefinition.js +10 -0
  540. package/dist/web/hooks/useProjectDefinition.js.map +1 -0
  541. package/dist/web/hooks/useResettableForm.d.ts +3 -0
  542. package/dist/web/hooks/useResettableForm.d.ts.map +1 -0
  543. package/dist/web/hooks/useResettableForm.js +29 -0
  544. package/dist/web/hooks/useResettableForm.js.map +1 -0
  545. package/dist/web/index.d.ts +6 -0
  546. package/dist/web/index.d.ts.map +1 -0
  547. package/dist/web/index.js +6 -0
  548. package/dist/web/index.js.map +1 -0
  549. package/dist/web/specs/admin-crud-input-web-spec.d.ts +36 -0
  550. package/dist/web/specs/admin-crud-input-web-spec.d.ts.map +1 -0
  551. package/dist/web/specs/admin-crud-input-web-spec.js +35 -0
  552. package/dist/web/specs/admin-crud-input-web-spec.js.map +1 -0
  553. package/dist/web/specs/index.d.ts +3 -0
  554. package/dist/web/specs/index.d.ts.map +1 -0
  555. package/dist/web/specs/index.js +3 -0
  556. package/dist/web/specs/index.js.map +1 -0
  557. package/dist/web/specs/model-transformer-web-spec.d.ts +40 -0
  558. package/dist/web/specs/model-transformer-web-spec.d.ts.map +1 -0
  559. package/dist/web/specs/model-transformer-web-spec.js +35 -0
  560. package/dist/web/specs/model-transformer-web-spec.js.map +1 -0
  561. package/dist/web/utils/form.d.ts +2 -0
  562. package/dist/web/utils/form.d.ts.map +1 -0
  563. package/dist/web/utils/form.js +6 -0
  564. package/dist/web/utils/form.js.map +1 -0
  565. package/dist/web/utils/index.d.ts +2 -0
  566. package/dist/web/utils/index.d.ts.map +1 -0
  567. package/dist/web/utils/index.js +2 -0
  568. package/dist/web/utils/index.js.map +1 -0
  569. package/package.json +78 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/types/files.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import type { Oklch } from 'culori';
2
+ /**
3
+ * Parse an OKLCH color string into an Oklch object.
4
+ * @param oklch - The OKLCH color string in format "oklch(l c h [/ a])" (e.g. "oklch(0.5 0.2 180 / 0.3)")
5
+ * @returns The Oklch object
6
+ */
7
+ export declare function parseOklch(color: string): Oklch;
8
+ /**
9
+ * Convert an OKLCH color string to a hex color.
10
+ * @param oklch - The OKLCH color string in format "l c h" (e.g. "0.5 0.2 180")
11
+ * @returns The hex color string
12
+ */
13
+ export declare function convertOklchToHex(oklch: string | Oklch): string;
14
+ /**
15
+ * Convert a hex color to an OKLCH color string.
16
+ * @param hex - The hex color string
17
+ * @returns The OKLCH color string in format "oklch(l c h [/ a])"
18
+ */
19
+ export declare function convertHexToOklch(hex: string): string;
20
+ //# sourceMappingURL=color-conversions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-conversions.d.ts","sourceRoot":"","sources":["../../src/utils/color-conversions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAIpC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAM/C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAK/D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASrD"}
@@ -0,0 +1,38 @@
1
+ import { converter, formatHex, parse } from 'culori';
2
+ /**
3
+ * Parse an OKLCH color string into an Oklch object.
4
+ * @param oklch - The OKLCH color string in format "oklch(l c h [/ a])" (e.g. "oklch(0.5 0.2 180 / 0.3)")
5
+ * @returns The Oklch object
6
+ */
7
+ export function parseOklch(color) {
8
+ const parsedColor = parse(color);
9
+ if (!parsedColor || parsedColor.mode !== 'oklch') {
10
+ throw new Error(`Invalid OKLCH color string: ${color}`);
11
+ }
12
+ return parsedColor;
13
+ }
14
+ /**
15
+ * Convert an OKLCH color string to a hex color.
16
+ * @param oklch - The OKLCH color string in format "l c h" (e.g. "0.5 0.2 180")
17
+ * @returns The hex color string
18
+ */
19
+ export function convertOklchToHex(oklch) {
20
+ const color = typeof oklch === 'string' ? parseOklch(oklch) : oklch;
21
+ const convert = converter('rgb');
22
+ const rgb = convert(color);
23
+ return formatHex(rgb);
24
+ }
25
+ /**
26
+ * Convert a hex color to an OKLCH color string.
27
+ * @param hex - The hex color string
28
+ * @returns The OKLCH color string in format "oklch(l c h [/ a])"
29
+ */
30
+ export function convertHexToOklch(hex) {
31
+ const convert = converter('oklch');
32
+ const oklch = convert(hex);
33
+ if (!oklch) {
34
+ return 'oklch(0 0 0)';
35
+ }
36
+ return `oklch(${oklch.l.toFixed(3)} ${oklch.c.toFixed(3)} ${oklch.h?.toFixed(3) ?? 0}${oklch.alpha === undefined ? '' : `/ ${oklch.alpha.toFixed(3)}`})`;
37
+ }
38
+ //# sourceMappingURL=color-conversions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-conversions.js","sourceRoot":"","sources":["../../src/utils/color-conversions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAClF,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAC9D,GAAG,CAAC;AACN,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Convert a color name to a hex color. Can be one of the following:
3
+ * - A fixed color name (e.g. 'white', 'black').
4
+ * - A color palette name (e.g. 'slate-500', 'gray-300').
5
+ * - A hex color (e.g. '#ff0000').
6
+ * - A OKLCH color (e.g. 'oklch(0.5 0.2 180 / 0.3)').
7
+ *
8
+ * @param color - The color name to convert.
9
+ * @returns The OKLCH color.
10
+ */
11
+ export declare function convertColorNameToOklch(color: string): string;
12
+ /**
13
+ * Convert an OKLCH color to a color name.
14
+ * @param oklch - The OKLCH color to convert.
15
+ * @returns The color name.
16
+ */
17
+ export declare function convertOklchToColorName(oklch: string): string;
18
+ //# sourceMappingURL=color-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-names.d.ts","sourceRoot":"","sources":["../../src/utils/color-names.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiB7D;AAmBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7D"}
@@ -0,0 +1,54 @@
1
+ import { COLOR_PALETTES, FIXED_COLOR_MAPPINGS } from '#src/constants/colors.js';
2
+ import { convertOklchToHex } from './color-conversions.js';
3
+ /**
4
+ * Convert a color name to a hex color. Can be one of the following:
5
+ * - A fixed color name (e.g. 'white', 'black').
6
+ * - A color palette name (e.g. 'slate-500', 'gray-300').
7
+ * - A hex color (e.g. '#ff0000').
8
+ * - A OKLCH color (e.g. 'oklch(0.5 0.2 180 / 0.3)').
9
+ *
10
+ * @param color - The color name to convert.
11
+ * @returns The OKLCH color.
12
+ */
13
+ export function convertColorNameToOklch(color) {
14
+ const fixedColorMapping = FIXED_COLOR_MAPPINGS[color];
15
+ if (fixedColorMapping) {
16
+ return fixedColorMapping;
17
+ }
18
+ const colorComponents = color.split('-');
19
+ if (colorComponents.length === 2) {
20
+ const paletteName = colorComponents[0];
21
+ if (Object.prototype.hasOwnProperty.call(COLOR_PALETTES, paletteName)) {
22
+ const palette = COLOR_PALETTES[colorComponents[0]];
23
+ const shade = palette[colorComponents[1]];
24
+ if (shade) {
25
+ return shade;
26
+ }
27
+ }
28
+ }
29
+ return color;
30
+ }
31
+ let reverseColorMapping = null;
32
+ function getReverseColorMapping() {
33
+ if (!reverseColorMapping) {
34
+ reverseColorMapping = {};
35
+ for (const [key, value] of Object.entries(FIXED_COLOR_MAPPINGS)) {
36
+ reverseColorMapping[value] = key;
37
+ }
38
+ for (const [paletteName, palette] of Object.entries(COLOR_PALETTES)) {
39
+ for (const [shade, hex] of Object.entries(palette)) {
40
+ reverseColorMapping[hex] = `${paletteName}-${shade}`;
41
+ }
42
+ }
43
+ }
44
+ return reverseColorMapping;
45
+ }
46
+ /**
47
+ * Convert an OKLCH color to a color name.
48
+ * @param oklch - The OKLCH color to convert.
49
+ * @returns The color name.
50
+ */
51
+ export function convertOklchToColorName(oklch) {
52
+ return getReverseColorMapping()[oklch] ?? convertOklchToHex(oklch);
53
+ }
54
+ //# sourceMappingURL=color-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-names.js","sourceRoot":"","sources":["../../src/utils/color-names.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC;YACtE,MAAM,OAAO,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC,CAAqB,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAiB,CAAC,CAAC;YAC1D,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,IAAI,mBAAmB,GAAkC,IAAI,CAAC;AAE9D,SAAS,sBAAsB;IAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,mBAAmB,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAChE,mBAAmB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACpE,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,mBAAmB,CAAC,GAAG,CAAC,GAAG,GAAG,WAAW,IAAI,KAAK,EAAE,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,sBAAsB,EAAE,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Allows diffing of arbitrary JSON objects.
3
+ */
4
+ import type { Get, Paths } from 'type-fest';
5
+ export interface DefinitionDiffOperation<T = unknown> {
6
+ type: 'add' | 'update' | 'remove';
7
+ key: string;
8
+ item: T;
9
+ }
10
+ declare abstract class DefinitionDiffField<T = unknown> {
11
+ /**
12
+ * The name of the field to be presented to the user.
13
+ */
14
+ readonly name: string;
15
+ constructor(
16
+ /**
17
+ * The name of the field to be presented to the user.
18
+ */
19
+ name: string);
20
+ abstract diff(current: T, desired: T): DefinitionDiffOperation[];
21
+ abstract apply(current: T, diff: DefinitionDiffOperation[]): T;
22
+ }
23
+ interface DefinitionDiffKeyedArrayFieldOptions {
24
+ /**
25
+ * Whether to allow removing items from the array.
26
+ */
27
+ allowRemove?: boolean;
28
+ /**
29
+ * Ignore fields that should be ignored when diffing. Defaults to `['id']`.
30
+ */
31
+ ignoreFields?: readonly string[];
32
+ }
33
+ /**
34
+ * A field that is an array of objects with a unique key.
35
+ */
36
+ export declare class DefinitionDiffKeyedArrayField<T extends Record<string, unknown>[]> extends DefinitionDiffField<T> {
37
+ readonly getKey: (item: T[number]) => string;
38
+ readonly options: DefinitionDiffKeyedArrayFieldOptions;
39
+ constructor(name: string, getKey: (item: T[number]) => string, options?: DefinitionDiffKeyedArrayFieldOptions);
40
+ diff(current: T | undefined, desired: T | undefined): DefinitionDiffOperation[];
41
+ apply(current: T | undefined, diff: DefinitionDiffOperation[]): T;
42
+ }
43
+ /**
44
+ * A field that is a replacement for the entire object or array.
45
+ */
46
+ export declare class DefinitionDiffReplacementField<T = unknown> extends DefinitionDiffField<T> {
47
+ diff(current: T, desired: T): DefinitionDiffOperation[];
48
+ apply(current: T, diff: DefinitionDiffOperation[]): T;
49
+ }
50
+ type ConvertToTemplateString<T> = T extends number ? `${T}` : T;
51
+ export type DefinitionDiffConfig<T> = Partial<{
52
+ [K in Paths<T, {
53
+ maxRecursionDepth: 2;
54
+ }>]: DefinitionDiffField<Exclude<Get<T, ConvertToTemplateString<K>>, undefined>>;
55
+ }>;
56
+ export type DefinitionDiffOutput<TConfiguration extends DefinitionDiffConfig<unknown>> = Partial<Record<keyof TConfiguration, DefinitionDiffOperation[]>>;
57
+ export declare function createDefinitionDiffConfig<TValue>(config: DefinitionDiffConfig<TValue>): DefinitionDiffConfig<TValue>;
58
+ type InferDefinitionDiffInputFromConfig<TConfig extends DefinitionDiffConfig<unknown>> = TConfig extends DefinitionDiffConfig<infer T> ? T : never;
59
+ /**
60
+ * Creates a diff between two objects.
61
+ */
62
+ export declare function createDefinitionDiff<TConfig extends DefinitionDiffConfig<unknown>>(current: InferDefinitionDiffInputFromConfig<TConfig>, desired: InferDefinitionDiffInputFromConfig<TConfig>, configuration: TConfig): DefinitionDiffOutput<TConfig> | undefined;
63
+ /**
64
+ * Applies a diff to an object.
65
+ */
66
+ export declare function applyDefinitionDiff<TInput, TConfig extends DefinitionDiffConfig<unknown>>(current: TInput, diff: DefinitionDiffOutput<TConfig>, configuration: TConfig): TInput;
67
+ export {};
68
+ //# sourceMappingURL=definition-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-diff.d.ts","sourceRoot":"","sources":["../../../src/utils/definition-diff/definition-diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Allows diffing of arbitrary JSON objects.
3
+ */
4
+ import { cloneDeep, mapValues, omit, toMerged } from 'es-toolkit';
5
+ import { get, isMatch, set } from 'es-toolkit/compat';
6
+ class DefinitionDiffField {
7
+ constructor(
8
+ /**
9
+ * The name of the field to be presented to the user.
10
+ */
11
+ name) {
12
+ Object.defineProperty(this, "name", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: name
17
+ });
18
+ }
19
+ }
20
+ /**
21
+ * A field that is an array of objects with a unique key.
22
+ */
23
+ export class DefinitionDiffKeyedArrayField extends DefinitionDiffField {
24
+ constructor(name, getKey, options = {}) {
25
+ super(name);
26
+ Object.defineProperty(this, "getKey", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: getKey
31
+ });
32
+ Object.defineProperty(this, "options", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: options
37
+ });
38
+ this.getKey = getKey;
39
+ }
40
+ diff(current, desired) {
41
+ const currentValue = current ?? [];
42
+ const desiredValue = desired ?? [];
43
+ if (!Array.isArray(currentValue) || !Array.isArray(desiredValue)) {
44
+ throw new TypeError('Current and desired must be arrays');
45
+ }
46
+ const ops = [];
47
+ const { allowRemove, ignoreFields = ['id'] } = this.options;
48
+ const currentByKey = new Map(currentValue.map((item) => [this.getKey(item), item]));
49
+ const desiredByKey = new Map(desiredValue.map((item) => [this.getKey(item), item]));
50
+ for (const [key, desiredItem] of desiredByKey) {
51
+ const currentItem = currentByKey.get(key);
52
+ if (!currentItem) {
53
+ ops.push({ type: 'add', key, item: desiredItem });
54
+ continue;
55
+ }
56
+ if (!isMatch(omit(currentItem, ignoreFields), omit(desiredItem, ignoreFields))) {
57
+ ops.push({ type: 'update', key, item: desiredItem });
58
+ }
59
+ }
60
+ if (allowRemove) {
61
+ for (const [key, currentItem] of currentByKey) {
62
+ if (!desiredByKey.has(key)) {
63
+ ops.push({ type: 'remove', key, item: currentItem });
64
+ }
65
+ }
66
+ }
67
+ return ops;
68
+ }
69
+ apply(current, diff) {
70
+ const patch = diff;
71
+ const currentValue = current ?? [];
72
+ if (!Array.isArray(currentValue)) {
73
+ throw new TypeError('Current must be array');
74
+ }
75
+ const items = [...currentValue];
76
+ for (const { type, key, item } of patch) {
77
+ const index = items.findIndex((i) => this.getKey(i) === key);
78
+ switch (type) {
79
+ case 'add': {
80
+ items.push(item);
81
+ break;
82
+ }
83
+ case 'update': {
84
+ if (index === -1) {
85
+ throw new Error(`Cannot apply patch. Item with key "${key}" not found.`);
86
+ }
87
+ // Preserve existing id if present.
88
+ items[index] = toMerged(items[index], item);
89
+ break;
90
+ }
91
+ case 'remove': {
92
+ if (index !== -1) {
93
+ items.splice(index, 1);
94
+ }
95
+ break;
96
+ }
97
+ }
98
+ }
99
+ return items;
100
+ }
101
+ }
102
+ /**
103
+ * A field that is a replacement for the entire object or array.
104
+ */
105
+ export class DefinitionDiffReplacementField extends DefinitionDiffField {
106
+ diff(current, desired) {
107
+ if (!isMatch(current, desired)) {
108
+ return [{ type: 'update', key: '*', item: desired }];
109
+ }
110
+ return [];
111
+ }
112
+ apply(current, diff) {
113
+ if (diff.length === 0)
114
+ return current;
115
+ return diff[0].item;
116
+ }
117
+ }
118
+ export function createDefinitionDiffConfig(config) {
119
+ return config;
120
+ }
121
+ /**
122
+ * Creates a diff between two objects.
123
+ */
124
+ export function createDefinitionDiff(current, desired, configuration) {
125
+ const ops = mapValues(configuration, (field, key) => {
126
+ if (!field)
127
+ return [];
128
+ return field.diff(get(current, key), get(desired, key));
129
+ });
130
+ if (Object.values(ops).every((ops) => ops.length === 0)) {
131
+ return undefined;
132
+ }
133
+ return ops;
134
+ }
135
+ /**
136
+ * Applies a diff to an object.
137
+ */
138
+ export function applyDefinitionDiff(current, diff, configuration) {
139
+ const clonedCurrent = cloneDeep(current);
140
+ for (const [key, ops] of Object.entries(diff)) {
141
+ if (!ops)
142
+ continue;
143
+ const field = configuration[key];
144
+ const currentValue = get(clonedCurrent, key);
145
+ set(clonedCurrent, key, field.apply(currentValue, ops));
146
+ }
147
+ return clonedCurrent;
148
+ }
149
+ //# sourceMappingURL=definition-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-diff.js","sourceRoot":"","sources":["../../../src/utils/definition-diff/definition-diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './definition-diff.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/definition-diff/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './definition-diff.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/definition-diff/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './color-conversions.js';
2
+ export * from './color-names.js';
3
+ export * from './definition-diff/index.js';
4
+ export * from './strip.js';
5
+ export * from './theme.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './color-conversions.js';
2
+ export * from './color-names.js';
3
+ export * from './definition-diff/index.js';
4
+ export * from './strip.js';
5
+ export * from './theme.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Computes the relative path from one path to another.
3
+ */
4
+ export declare function computeRelativePath(fromPath: string, toPath: string): string;
5
+ //# sourceMappingURL=path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAsB5E"}
@@ -0,0 +1,27 @@
1
+ function cleanAndSplitPath(path) {
2
+ return path
3
+ .replace(/^\./, '')
4
+ .split('/')
5
+ .filter((segment) => segment !== '');
6
+ }
7
+ /**
8
+ * Computes the relative path from one path to another.
9
+ */
10
+ export function computeRelativePath(fromPath, toPath) {
11
+ const fromSegments = cleanAndSplitPath(fromPath);
12
+ const toSegments = cleanAndSplitPath(toPath);
13
+ // Remove the common segments from the beginning
14
+ while (fromSegments.length > 0 &&
15
+ toSegments.length > 0 &&
16
+ fromSegments[0] === toSegments[0]) {
17
+ fromSegments.shift();
18
+ toSegments.shift();
19
+ }
20
+ // Add the necessary number of '../' to go up the directory hierarchy
21
+ const numParentDirs = fromSegments.length;
22
+ const parentDirs = Array.from({ length: numParentDirs }).fill('..');
23
+ // Construct the relative path
24
+ const relativePath = [...parentDirs, ...toSegments].join('/');
25
+ return relativePath;
26
+ }
27
+ //# sourceMappingURL=path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"AAAA,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,MAAc;IAClE,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE7C,gDAAgD;IAChD,OACE,YAAY,CAAC,MAAM,GAAG,CAAC;QACvB,UAAU,CAAC,MAAM,GAAG,CAAC;QACrB,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EACjC,CAAC;QACD,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,qEAAqE;IACrE,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpE,8BAA8B;IAC9B,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9D,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { GeneratorDescriptorChildren } from '@baseplate-dev/sync';
2
+ /**
3
+ * Strip object of any values that are empty arrays, empty objects, null, or undefined
4
+ */
5
+ export declare function stripEmptyGeneratorChildren(children: GeneratorDescriptorChildren): GeneratorDescriptorChildren;
6
+ /**
7
+ * Strip object of any values that are undefined
8
+ */
9
+ export declare function stripUndefinedValues<T>(obj: Record<string, T | undefined>): Record<string, T>;
10
+ /**
11
+ * Returns undefined if the value is an empty object (as defined by all values are undefined)/array/null, otherwise return value.
12
+ */
13
+ export declare function undefinedIfEmpty<T>(value: T): T | undefined;
14
+ /**
15
+ * Returns undefined if the value is falsy, otherwise return value.
16
+ */
17
+ export declare function undefinedIfFalsy<T>(value: T): T | undefined;
18
+ //# sourceMappingURL=strip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../src/utils/strip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAIvE;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,2BAA2B,GACpC,2BAA2B,CAM7B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAEnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAc3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAG3D"}
@@ -0,0 +1,37 @@
1
+ import { pickBy } from 'es-toolkit';
2
+ /**
3
+ * Strip object of any values that are empty arrays, empty objects, null, or undefined
4
+ */
5
+ export function stripEmptyGeneratorChildren(children) {
6
+ return pickBy(children, (value) => value !== undefined && !(Array.isArray(value) && value.length === 0));
7
+ }
8
+ /**
9
+ * Strip object of any values that are undefined
10
+ */
11
+ export function stripUndefinedValues(obj) {
12
+ return pickBy(obj, (value) => value !== undefined);
13
+ }
14
+ /**
15
+ * Returns undefined if the value is an empty object (as defined by all values are undefined)/array/null, otherwise return value.
16
+ */
17
+ export function undefinedIfEmpty(value) {
18
+ if (value === null)
19
+ return undefined;
20
+ if (Array.isArray(value) && value.length === 0) {
21
+ return undefined;
22
+ }
23
+ if (typeof value === 'object' &&
24
+ Object.keys(value).every((key) => value[key] === undefined)) {
25
+ return undefined;
26
+ }
27
+ return value;
28
+ }
29
+ /**
30
+ * Returns undefined if the value is falsy, otherwise return value.
31
+ */
32
+ export function undefinedIfFalsy(value) {
33
+ if (!value)
34
+ return undefined;
35
+ return value;
36
+ }
37
+ //# sourceMappingURL=strip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strip.js","sourceRoot":"","sources":["../../src/utils/strip.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAqC;IAErC,OAAO,MAAM,CACX,QAAQ,EACR,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAkC;IAElC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAsB,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAI,KAAQ;IAC1C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CACtB,CAAC,GAAG,EAAE,EAAE,CAAE,KAAiC,CAAC,GAAG,CAAC,KAAK,SAAS,CAC/D,EACD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAI,KAAQ;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ThemeColorKey } from '#src/constants/theme-colors.js';
2
+ import type { PalettesConfig, ThemeColorsConfig, ThemeConfig } from '#src/schema/features/theme.js';
3
+ export declare function getDefaultThemeColorFromShade(palettes: PalettesConfig, mode: 'light' | 'dark', themeColorKey: ThemeColorKey): string | undefined;
4
+ export declare function generateThemeColorsFromShade(palettes: PalettesConfig, mode: 'light' | 'dark', previousValues?: {
5
+ palettes: PalettesConfig;
6
+ config: ThemeColorsConfig;
7
+ }): ThemeColorsConfig;
8
+ export declare function generateCssFromThemeConfig(config: ThemeColorsConfig): Record<string, string>;
9
+ export declare function generateDefaultTheme(): ThemeConfig;
10
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/utils/theme.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,aAAa,EACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,WAAW,EACZ,MAAM,+BAA+B,CAAC;AAmBvC,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,OAAO,GAAG,MAAM,EACtB,aAAa,EAAE,aAAa,GAC3B,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,OAAO,GAAG,MAAM,EACtB,cAAc,CAAC,EAAE;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GACA,iBAAiB,CAqBnB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,iBAAiB,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAED,wBAAgB,oBAAoB,IAAI,WAAW,CAiBlD"}
@@ -0,0 +1,58 @@
1
+ import { dasherize, underscore } from 'inflection';
2
+ import { COLOR_PALETTES } from '#src/constants/colors.js';
3
+ import { THEME_COLORS } from '#src/constants/theme-colors.js';
4
+ import { convertColorNameToOklch } from '#src/utils/color-names.js';
5
+ function getDefaultOklch(palettes, color) {
6
+ if ('color' in color) {
7
+ return convertColorNameToOklch(color.color);
8
+ }
9
+ if ('primaryShade' in color) {
10
+ return palettes.primary.shades[color.primaryShade];
11
+ }
12
+ return palettes.base.shades[color.baseShade];
13
+ }
14
+ export function getDefaultThemeColorFromShade(palettes, mode, themeColorKey) {
15
+ const defaultColorConfig = THEME_COLORS[themeColorKey][mode === 'light' ? 'lightDefault' : 'darkDefault'];
16
+ return getDefaultOklch(palettes, defaultColorConfig);
17
+ }
18
+ export function generateThemeColorsFromShade(palettes, mode, previousValues) {
19
+ const result = {};
20
+ for (const [key, config] of Object.entries(THEME_COLORS)) {
21
+ const themeColorKey = key;
22
+ const defaultColorConfig = mode === 'light' ? config.lightDefault : config.darkDefault;
23
+ const newDefaultColor = getDefaultOklch(palettes, defaultColorConfig);
24
+ const previousDefaultColor = previousValues?.config[themeColorKey] &&
25
+ getDefaultOklch(previousValues.palettes, defaultColorConfig);
26
+ const previousValue = previousValues?.config[themeColorKey];
27
+ result[themeColorKey] =
28
+ !newDefaultColor ||
29
+ (previousValue && previousDefaultColor !== previousValue)
30
+ ? previousValue
31
+ : newDefaultColor;
32
+ }
33
+ return result;
34
+ }
35
+ export function generateCssFromThemeConfig(config) {
36
+ return Object.fromEntries(Object.entries(config).map(([key, value]) => [
37
+ `--${dasherize(underscore(key))}`,
38
+ value,
39
+ ]));
40
+ }
41
+ export function generateDefaultTheme() {
42
+ const slatePalette = {
43
+ paletteName: 'slate',
44
+ shades: COLOR_PALETTES.slate,
45
+ };
46
+ const slatePalettes = {
47
+ base: slatePalette,
48
+ primary: slatePalette,
49
+ };
50
+ return {
51
+ palettes: slatePalettes,
52
+ colors: {
53
+ light: generateThemeColorsFromShade(slatePalettes, 'light'),
54
+ dark: generateThemeColorsFromShade(slatePalettes, 'dark'),
55
+ },
56
+ };
57
+ }
58
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/utils/theme.ts"],"names":[],"mappings":"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"}