@delmaredigital/payload-puck 0.6.10 → 0.6.13

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 (583) hide show
  1. package/README.md +79 -1
  2. package/dist/admin/EditWithPuckButton.d.ts +1 -1
  3. package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
  4. package/dist/admin/EditWithPuckButton.js +65 -25
  5. package/dist/admin/EditWithPuckButton.js.map +1 -1
  6. package/dist/admin/EditWithPuckCell.js +43 -13
  7. package/dist/admin/EditWithPuckCell.js.map +1 -1
  8. package/dist/admin/PuckEditorView.d.ts +1 -1
  9. package/dist/admin/PuckEditorView.d.ts.map +1 -1
  10. package/dist/admin/PuckEditorView.js +118 -32
  11. package/dist/admin/PuckEditorView.js.map +1 -1
  12. package/dist/admin/client.d.ts +2 -2
  13. package/dist/admin/client.d.ts.map +1 -1
  14. package/dist/admin/client.js +4 -4
  15. package/dist/admin/client.js.map +1 -1
  16. package/dist/admin/generateAdminComponents.js +7 -7
  17. package/dist/admin/generateAdminComponents.js.map +1 -1
  18. package/dist/admin/index.d.ts +5 -5
  19. package/dist/admin/index.d.ts.map +1 -1
  20. package/dist/admin/index.js +3 -2
  21. package/dist/admin/index.js.map +1 -1
  22. package/dist/ai/collections/AiContext.js +56 -29
  23. package/dist/ai/collections/AiContext.js.map +1 -1
  24. package/dist/ai/collections/AiPrompts.js +24 -19
  25. package/dist/ai/collections/AiPrompts.js.map +1 -1
  26. package/dist/ai/createAiApiRoutes.js +28 -19
  27. package/dist/ai/createAiApiRoutes.js.map +1 -1
  28. package/dist/ai/createAiGenerate.js +7 -8
  29. package/dist/ai/createAiGenerate.js.map +1 -1
  30. package/dist/ai/createAiPlugin.js +7 -9
  31. package/dist/ai/createAiPlugin.js.map +1 -1
  32. package/dist/ai/hooks/useAiContext.js +50 -39
  33. package/dist/ai/hooks/useAiContext.js.map +1 -1
  34. package/dist/ai/hooks/useAiPrompts.js +33 -25
  35. package/dist/ai/hooks/useAiPrompts.js.map +1 -1
  36. package/dist/ai/index.js +9 -10
  37. package/dist/ai/index.js.map +1 -1
  38. package/dist/ai/plugins/ContextEditorPanel.d.ts +1 -1
  39. package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -1
  40. package/dist/ai/plugins/ContextEditorPanel.js +399 -107
  41. package/dist/ai/plugins/ContextEditorPanel.js.map +1 -1
  42. package/dist/ai/plugins/PromptEditorPanel.d.ts +1 -1
  43. package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -1
  44. package/dist/ai/plugins/PromptEditorPanel.js +237 -51
  45. package/dist/ai/plugins/PromptEditorPanel.js.map +1 -1
  46. package/dist/ai/plugins/contextEditorPlugin.js +12 -5
  47. package/dist/ai/plugins/contextEditorPlugin.js.map +1 -1
  48. package/dist/ai/plugins/promptApiRoutes.js +119 -50
  49. package/dist/ai/plugins/promptApiRoutes.js.map +1 -1
  50. package/dist/ai/plugins/promptEditorPlugin.js +12 -5
  51. package/dist/ai/plugins/promptEditorPlugin.js.map +1 -1
  52. package/dist/ai/presets/componentAiDefaults.js +108 -83
  53. package/dist/ai/presets/componentAiDefaults.js.map +1 -1
  54. package/dist/ai/presets/index.js +12 -18
  55. package/dist/ai/presets/index.js.map +1 -1
  56. package/dist/ai/presets/instructions/interactive.js +85 -75
  57. package/dist/ai/presets/instructions/interactive.js.map +1 -1
  58. package/dist/ai/presets/instructions/layout.js +122 -117
  59. package/dist/ai/presets/instructions/layout.js.map +1 -1
  60. package/dist/ai/presets/instructions/media.js +31 -29
  61. package/dist/ai/presets/instructions/media.js.map +1 -1
  62. package/dist/ai/presets/instructions/pagePatterns.js +4 -6
  63. package/dist/ai/presets/instructions/pagePatterns.js.map +1 -1
  64. package/dist/ai/presets/instructions/schemas.js +495 -137
  65. package/dist/ai/presets/instructions/schemas.js.map +1 -1
  66. package/dist/ai/presets/instructions/typography.js +38 -33
  67. package/dist/ai/presets/instructions/typography.js.map +1 -1
  68. package/dist/ai/tools/index.js +92 -55
  69. package/dist/ai/tools/index.js.map +1 -1
  70. package/dist/ai/types.js +7 -1
  71. package/dist/ai/types.js.map +1 -1
  72. package/dist/ai/utils/injectAiConfig.js +33 -40
  73. package/dist/ai/utils/injectAiConfig.js.map +1 -1
  74. package/dist/api/createPuckApiRoutes.d.ts +1 -1
  75. package/dist/api/createPuckApiRoutes.d.ts.map +1 -1
  76. package/dist/api/createPuckApiRoutes.js +123 -65
  77. package/dist/api/createPuckApiRoutes.js.map +1 -1
  78. package/dist/api/createPuckApiRoutesVersions.d.ts +1 -1
  79. package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -1
  80. package/dist/api/createPuckApiRoutesVersions.js +88 -37
  81. package/dist/api/createPuckApiRoutesVersions.js.map +1 -1
  82. package/dist/api/createPuckApiRoutesWithId.d.ts +1 -1
  83. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
  84. package/dist/api/createPuckApiRoutesWithId.js +166 -72
  85. package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
  86. package/dist/api/index.d.ts +5 -5
  87. package/dist/api/index.d.ts.map +1 -1
  88. package/dist/api/index.js +6 -6
  89. package/dist/api/index.js.map +1 -1
  90. package/dist/api/payload-config.d.js +15 -0
  91. package/dist/api/payload-config.d.js.map +1 -0
  92. package/dist/api/types.js +4 -1
  93. package/dist/api/types.js.map +1 -1
  94. package/dist/api/utils/mapRootProps.d.ts +1 -1
  95. package/dist/api/utils/mapRootProps.d.ts.map +1 -1
  96. package/dist/api/utils/mapRootProps.js +77 -44
  97. package/dist/api/utils/mapRootProps.js.map +1 -1
  98. package/dist/collections/Templates.js +24 -20
  99. package/dist/collections/Templates.js.map +1 -1
  100. package/dist/components/AccordionClient.d.ts +2 -2
  101. package/dist/components/AccordionClient.d.ts.map +1 -1
  102. package/dist/components/AccordionClient.js +81 -22
  103. package/dist/components/AccordionClient.js.map +1 -1
  104. package/dist/components/AnimatedWrapper.d.ts +2 -2
  105. package/dist/components/AnimatedWrapper.d.ts.map +1 -1
  106. package/dist/components/AnimatedWrapper.js +31 -16
  107. package/dist/components/AnimatedWrapper.js.map +1 -1
  108. package/dist/components/exports.js +2 -2
  109. package/dist/components/exports.js.map +1 -1
  110. package/dist/components/index.d.ts +5 -5
  111. package/dist/components/index.d.ts.map +1 -1
  112. package/dist/components/index.js +7 -7
  113. package/dist/components/index.js.map +1 -1
  114. package/dist/components/interactive/Accordion.d.ts +1 -1
  115. package/dist/components/interactive/Accordion.d.ts.map +1 -1
  116. package/dist/components/interactive/Accordion.js +149 -55
  117. package/dist/components/interactive/Accordion.js.map +1 -1
  118. package/dist/components/interactive/Accordion.server.d.ts +1 -1
  119. package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
  120. package/dist/components/interactive/Accordion.server.js +25 -7
  121. package/dist/components/interactive/Accordion.server.js.map +1 -1
  122. package/dist/components/interactive/Button.d.ts +3 -3
  123. package/dist/components/interactive/Button.d.ts.map +1 -1
  124. package/dist/components/interactive/Button.js +89 -43
  125. package/dist/components/interactive/Button.js.map +1 -1
  126. package/dist/components/interactive/Button.server.d.ts +2 -2
  127. package/dist/components/interactive/Button.server.d.ts.map +1 -1
  128. package/dist/components/interactive/Button.server.js +40 -20
  129. package/dist/components/interactive/Button.server.js.map +1 -1
  130. package/dist/components/interactive/Card.d.ts +3 -3
  131. package/dist/components/interactive/Card.d.ts.map +1 -1
  132. package/dist/components/interactive/Card.js +131 -39
  133. package/dist/components/interactive/Card.js.map +1 -1
  134. package/dist/components/interactive/Card.server.d.ts +3 -3
  135. package/dist/components/interactive/Card.server.d.ts.map +1 -1
  136. package/dist/components/interactive/Card.server.js +72 -11
  137. package/dist/components/interactive/Card.server.js.map +1 -1
  138. package/dist/components/interactive/Divider.d.ts +1 -1
  139. package/dist/components/interactive/Divider.d.ts.map +1 -1
  140. package/dist/components/interactive/Divider.js +54 -26
  141. package/dist/components/interactive/Divider.js.map +1 -1
  142. package/dist/components/interactive/Divider.server.d.ts +1 -1
  143. package/dist/components/interactive/Divider.server.d.ts.map +1 -1
  144. package/dist/components/interactive/Divider.server.js +28 -12
  145. package/dist/components/interactive/Divider.server.js.map +1 -1
  146. package/dist/components/interactive/index.d.ts +4 -4
  147. package/dist/components/interactive/index.d.ts.map +1 -1
  148. package/dist/components/interactive/index.js +5 -5
  149. package/dist/components/interactive/index.js.map +1 -1
  150. package/dist/components/layout/Container.d.ts +1 -1
  151. package/dist/components/layout/Container.d.ts.map +1 -1
  152. package/dist/components/layout/Container.js +101 -47
  153. package/dist/components/layout/Container.js.map +1 -1
  154. package/dist/components/layout/Container.server.d.ts +1 -1
  155. package/dist/components/layout/Container.server.d.ts.map +1 -1
  156. package/dist/components/layout/Container.server.js +67 -19
  157. package/dist/components/layout/Container.server.js.map +1 -1
  158. package/dist/components/layout/Flex.d.ts +2 -2
  159. package/dist/components/layout/Flex.d.ts.map +1 -1
  160. package/dist/components/layout/Flex.js +124 -55
  161. package/dist/components/layout/Flex.js.map +1 -1
  162. package/dist/components/layout/Flex.server.d.ts +1 -1
  163. package/dist/components/layout/Flex.server.d.ts.map +1 -1
  164. package/dist/components/layout/Flex.server.js +50 -14
  165. package/dist/components/layout/Flex.server.js.map +1 -1
  166. package/dist/components/layout/Grid.d.ts +1 -1
  167. package/dist/components/layout/Grid.d.ts.map +1 -1
  168. package/dist/components/layout/Grid.js +93 -44
  169. package/dist/components/layout/Grid.js.map +1 -1
  170. package/dist/components/layout/Grid.server.d.ts +1 -1
  171. package/dist/components/layout/Grid.server.d.ts.map +1 -1
  172. package/dist/components/layout/Grid.server.js +56 -14
  173. package/dist/components/layout/Grid.server.js.map +1 -1
  174. package/dist/components/layout/Section.d.ts +1 -1
  175. package/dist/components/layout/Section.d.ts.map +1 -1
  176. package/dist/components/layout/Section.js +147 -64
  177. package/dist/components/layout/Section.js.map +1 -1
  178. package/dist/components/layout/Section.server.d.ts +1 -1
  179. package/dist/components/layout/Section.server.d.ts.map +1 -1
  180. package/dist/components/layout/Section.server.js +92 -28
  181. package/dist/components/layout/Section.server.js.map +1 -1
  182. package/dist/components/layout/Spacer.d.ts +1 -1
  183. package/dist/components/layout/Spacer.d.ts.map +1 -1
  184. package/dist/components/layout/Spacer.js +80 -30
  185. package/dist/components/layout/Spacer.js.map +1 -1
  186. package/dist/components/layout/Spacer.server.d.ts +1 -1
  187. package/dist/components/layout/Spacer.server.d.ts.map +1 -1
  188. package/dist/components/layout/Spacer.server.js +31 -9
  189. package/dist/components/layout/Spacer.server.js.map +1 -1
  190. package/dist/components/layout/Template.d.ts +1 -1
  191. package/dist/components/layout/Template.d.ts.map +1 -1
  192. package/dist/components/layout/Template.js +58 -30
  193. package/dist/components/layout/Template.js.map +1 -1
  194. package/dist/components/layout/Template.server.d.ts +1 -1
  195. package/dist/components/layout/Template.server.d.ts.map +1 -1
  196. package/dist/components/layout/Template.server.js +43 -11
  197. package/dist/components/layout/Template.server.js.map +1 -1
  198. package/dist/components/layout/index.d.ts +8 -8
  199. package/dist/components/layout/index.d.ts.map +1 -1
  200. package/dist/components/layout/index.js +8 -8
  201. package/dist/components/layout/index.js.map +1 -1
  202. package/dist/components/media/Image.d.ts +3 -3
  203. package/dist/components/media/Image.d.ts.map +1 -1
  204. package/dist/components/media/Image.js +122 -39
  205. package/dist/components/media/Image.js.map +1 -1
  206. package/dist/components/media/Image.server.d.ts +3 -3
  207. package/dist/components/media/Image.server.d.ts.map +1 -1
  208. package/dist/components/media/Image.server.js +76 -13
  209. package/dist/components/media/Image.server.js.map +1 -1
  210. package/dist/components/media/index.d.ts +1 -1
  211. package/dist/components/media/index.d.ts.map +1 -1
  212. package/dist/components/media/index.js +2 -2
  213. package/dist/components/media/index.js.map +1 -1
  214. package/dist/components/typography/Heading.d.ts +2 -2
  215. package/dist/components/typography/Heading.d.ts.map +1 -1
  216. package/dist/components/typography/Heading.js +45 -25
  217. package/dist/components/typography/Heading.js.map +1 -1
  218. package/dist/components/typography/Heading.server.d.ts +2 -2
  219. package/dist/components/typography/Heading.server.d.ts.map +1 -1
  220. package/dist/components/typography/Heading.server.js +16 -10
  221. package/dist/components/typography/Heading.server.js.map +1 -1
  222. package/dist/components/typography/RichText.editor.d.ts +1 -1
  223. package/dist/components/typography/RichText.editor.d.ts.map +1 -1
  224. package/dist/components/typography/RichText.editor.js +44 -19
  225. package/dist/components/typography/RichText.editor.js.map +1 -1
  226. package/dist/components/typography/RichText.server.d.ts +2 -2
  227. package/dist/components/typography/RichText.server.d.ts.map +1 -1
  228. package/dist/components/typography/RichText.server.js +33 -14
  229. package/dist/components/typography/RichText.server.js.map +1 -1
  230. package/dist/components/typography/Text.d.ts +2 -2
  231. package/dist/components/typography/Text.d.ts.map +1 -1
  232. package/dist/components/typography/Text.js +49 -23
  233. package/dist/components/typography/Text.js.map +1 -1
  234. package/dist/components/typography/Text.server.d.ts +2 -2
  235. package/dist/components/typography/Text.server.d.ts.map +1 -1
  236. package/dist/components/typography/Text.server.js +21 -8
  237. package/dist/components/typography/Text.server.js.map +1 -1
  238. package/dist/components/typography/index.d.ts +4 -4
  239. package/dist/components/typography/index.d.ts.map +1 -1
  240. package/dist/components/typography/index.js +5 -5
  241. package/dist/components/typography/index.js.map +1 -1
  242. package/dist/config/config.editor.d.ts +3 -3
  243. package/dist/config/config.editor.d.ts.map +1 -1
  244. package/dist/config/config.editor.js +119 -54
  245. package/dist/config/config.editor.js.map +1 -1
  246. package/dist/config/index.d.ts +4 -4
  247. package/dist/config/index.d.ts.map +1 -1
  248. package/dist/config/index.js +62 -35
  249. package/dist/config/index.js.map +1 -1
  250. package/dist/config/merge.d.ts +1 -1
  251. package/dist/config/merge.d.ts.map +1 -1
  252. package/dist/config/merge.js +23 -26
  253. package/dist/config/merge.js.map +1 -1
  254. package/dist/config/presets.d.ts +4 -4
  255. package/dist/config/presets.js +195 -75
  256. package/dist/config/presets.js.map +1 -1
  257. package/dist/config/types.js +6 -2
  258. package/dist/config/types.js.map +1 -1
  259. package/dist/editor/PuckEditor.d.ts +12 -4
  260. package/dist/editor/PuckEditor.d.ts.map +1 -1
  261. package/dist/editor/PuckEditor.js +168 -67
  262. package/dist/editor/PuckEditor.js.map +1 -1
  263. package/dist/editor/PuckEditorImpl.client.d.ts +4 -4
  264. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
  265. package/dist/editor/PuckEditorImpl.client.js +304 -152
  266. package/dist/editor/PuckEditorImpl.client.js.map +1 -1
  267. package/dist/editor/components/DarkModeStyles.js +11 -12
  268. package/dist/editor/components/DarkModeStyles.js.map +1 -1
  269. package/dist/editor/components/HeaderActions.js +308 -64
  270. package/dist/editor/components/HeaderActions.js.map +1 -1
  271. package/dist/editor/components/IframeWrapper.d.ts +1 -1
  272. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  273. package/dist/editor/components/IframeWrapper.js +82 -58
  274. package/dist/editor/components/IframeWrapper.js.map +1 -1
  275. package/dist/editor/components/LoadingState.d.ts +1 -1
  276. package/dist/editor/components/LoadingState.d.ts.map +1 -1
  277. package/dist/editor/components/LoadingState.js +17 -3
  278. package/dist/editor/components/LoadingState.js.map +1 -1
  279. package/dist/editor/components/PreviewModal.js +234 -78
  280. package/dist/editor/components/PreviewModal.js.map +1 -1
  281. package/dist/editor/components/PreviewModeToggle.js +43 -15
  282. package/dist/editor/components/PreviewModeToggle.js.map +1 -1
  283. package/dist/editor/components/VersionHistory.js +219 -71
  284. package/dist/editor/components/VersionHistory.js.map +1 -1
  285. package/dist/editor/hooks/useDarkMode.js +36 -23
  286. package/dist/editor/hooks/useDarkMode.js.map +1 -1
  287. package/dist/editor/hooks/useUnsavedChanges.js +8 -8
  288. package/dist/editor/hooks/useUnsavedChanges.js.map +1 -1
  289. package/dist/editor/index.js +5 -6
  290. package/dist/editor/index.js.map +1 -1
  291. package/dist/editor/plugins/VersionHistoryPanel.js +236 -75
  292. package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -1
  293. package/dist/editor/plugins/index.js +4 -4
  294. package/dist/editor/plugins/index.js.map +1 -1
  295. package/dist/editor/plugins/versionHistoryPlugin.js +10 -8
  296. package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -1
  297. package/dist/editor/utils/detectPageTree.js +5 -5
  298. package/dist/editor/utils/detectPageTree.js.map +1 -1
  299. package/dist/editor/utils/index.js +1 -0
  300. package/dist/editor/utils/index.js.map +1 -1
  301. package/dist/editor/utils/injectPageTreeFields.js +13 -9
  302. package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
  303. package/dist/endpoints/ai.js +58 -34
  304. package/dist/endpoints/ai.js.map +1 -1
  305. package/dist/endpoints/context.js +86 -40
  306. package/dist/endpoints/context.js.map +1 -1
  307. package/dist/endpoints/index.js +153 -76
  308. package/dist/endpoints/index.js.map +1 -1
  309. package/dist/endpoints/postcss.d.js +5 -0
  310. package/dist/endpoints/postcss.d.js.map +1 -0
  311. package/dist/endpoints/prompts.js +81 -39
  312. package/dist/endpoints/prompts.js.map +1 -1
  313. package/dist/endpoints/styles.js +34 -36
  314. package/dist/endpoints/styles.js.map +1 -1
  315. package/dist/exports/client.js +2 -2
  316. package/dist/exports/client.js.map +1 -1
  317. package/dist/exports/rsc.js +2 -2
  318. package/dist/exports/rsc.js.map +1 -1
  319. package/dist/fields/AlignmentField.d.ts +1 -1
  320. package/dist/fields/AlignmentField.d.ts.map +1 -1
  321. package/dist/fields/AlignmentField.js +93 -30
  322. package/dist/fields/AlignmentField.js.map +1 -1
  323. package/dist/fields/AnimationField.d.ts +2 -2
  324. package/dist/fields/AnimationField.d.ts.map +1 -1
  325. package/dist/fields/AnimationField.js +558 -84
  326. package/dist/fields/AnimationField.js.map +1 -1
  327. package/dist/fields/BackgroundField.d.ts +2 -2
  328. package/dist/fields/BackgroundField.d.ts.map +1 -1
  329. package/dist/fields/BackgroundField.js +754 -120
  330. package/dist/fields/BackgroundField.js.map +1 -1
  331. package/dist/fields/BorderField.d.ts +2 -2
  332. package/dist/fields/BorderField.d.ts.map +1 -1
  333. package/dist/fields/BorderField.js +275 -73
  334. package/dist/fields/BorderField.js.map +1 -1
  335. package/dist/fields/ColorPickerField.d.ts +2 -2
  336. package/dist/fields/ColorPickerField.d.ts.map +1 -1
  337. package/dist/fields/ColorPickerField.js +210 -68
  338. package/dist/fields/ColorPickerField.js.map +1 -1
  339. package/dist/fields/ContentAlignmentField.d.ts +1 -1
  340. package/dist/fields/ContentAlignmentField.d.ts.map +1 -1
  341. package/dist/fields/ContentAlignmentField.js +161 -75
  342. package/dist/fields/ContentAlignmentField.js.map +1 -1
  343. package/dist/fields/DimensionsField.d.ts +2 -2
  344. package/dist/fields/DimensionsField.d.ts.map +1 -1
  345. package/dist/fields/DimensionsField.js +575 -146
  346. package/dist/fields/DimensionsField.js.map +1 -1
  347. package/dist/fields/FlexAlignmentField.d.ts +2 -2
  348. package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
  349. package/dist/fields/FlexAlignmentField.js +189 -51
  350. package/dist/fields/FlexAlignmentField.js.map +1 -1
  351. package/dist/fields/FolderPickerField.d.ts +8 -1
  352. package/dist/fields/FolderPickerField.d.ts.map +1 -1
  353. package/dist/fields/FolderPickerField.js +288 -75
  354. package/dist/fields/FolderPickerField.js.map +1 -1
  355. package/dist/fields/GradientEditor.d.ts +2 -2
  356. package/dist/fields/GradientEditor.d.ts.map +1 -1
  357. package/dist/fields/GradientEditor.js +462 -86
  358. package/dist/fields/GradientEditor.js.map +1 -1
  359. package/dist/fields/LockedField.d.ts +15 -2
  360. package/dist/fields/LockedField.d.ts.map +1 -1
  361. package/dist/fields/LockedField.js +180 -49
  362. package/dist/fields/LockedField.js.map +1 -1
  363. package/dist/fields/MarginField.d.ts +2 -2
  364. package/dist/fields/MarginField.d.ts.map +1 -1
  365. package/dist/fields/MarginField.js +144 -46
  366. package/dist/fields/MarginField.js.map +1 -1
  367. package/dist/fields/MediaField.d.ts +1 -1
  368. package/dist/fields/MediaField.d.ts.map +1 -1
  369. package/dist/fields/MediaField.js +688 -186
  370. package/dist/fields/MediaField.js.map +1 -1
  371. package/dist/fields/PaddingField.d.ts +2 -2
  372. package/dist/fields/PaddingField.d.ts.map +1 -1
  373. package/dist/fields/PaddingField.js +144 -46
  374. package/dist/fields/PaddingField.js.map +1 -1
  375. package/dist/fields/PageSegmentField.d.ts +15 -2
  376. package/dist/fields/PageSegmentField.d.ts.map +1 -1
  377. package/dist/fields/PageSegmentField.js +156 -54
  378. package/dist/fields/PageSegmentField.js.map +1 -1
  379. package/dist/fields/ResetField.d.ts +1 -1
  380. package/dist/fields/ResetField.d.ts.map +1 -1
  381. package/dist/fields/ResetField.js +59 -31
  382. package/dist/fields/ResetField.js.map +1 -1
  383. package/dist/fields/ResponsiveField.d.ts +1 -1
  384. package/dist/fields/ResponsiveField.d.ts.map +1 -1
  385. package/dist/fields/ResponsiveField.js +233 -90
  386. package/dist/fields/ResponsiveField.js.map +1 -1
  387. package/dist/fields/ResponsiveVisibilityField.d.ts +2 -2
  388. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
  389. package/dist/fields/ResponsiveVisibilityField.js +119 -36
  390. package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
  391. package/dist/fields/SizeField.d.ts +3 -3
  392. package/dist/fields/SizeField.d.ts.map +1 -1
  393. package/dist/fields/SizeField.js +226 -52
  394. package/dist/fields/SizeField.js.map +1 -1
  395. package/dist/fields/SlugPreviewField.d.ts +8 -1
  396. package/dist/fields/SlugPreviewField.d.ts.map +1 -1
  397. package/dist/fields/SlugPreviewField.js +65 -16
  398. package/dist/fields/SlugPreviewField.js.map +1 -1
  399. package/dist/fields/TemplateField.d.ts +1 -1
  400. package/dist/fields/TemplateField.d.ts.map +1 -1
  401. package/dist/fields/TemplateField.js +362 -120
  402. package/dist/fields/TemplateField.js.map +1 -1
  403. package/dist/fields/TransformField.d.ts +2 -2
  404. package/dist/fields/TransformField.d.ts.map +1 -1
  405. package/dist/fields/TransformField.js +517 -81
  406. package/dist/fields/TransformField.js.map +1 -1
  407. package/dist/fields/VerticalAlignmentField.d.ts +1 -1
  408. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
  409. package/dist/fields/VerticalAlignmentField.js +93 -30
  410. package/dist/fields/VerticalAlignmentField.js.map +1 -1
  411. package/dist/fields/WidthField.d.ts +2 -2
  412. package/dist/fields/WidthField.d.ts.map +1 -1
  413. package/dist/fields/WidthField.js +278 -81
  414. package/dist/fields/WidthField.js.map +1 -1
  415. package/dist/fields/index.d.ts +41 -41
  416. package/dist/fields/index.d.ts.map +1 -1
  417. package/dist/fields/index.js +37 -43
  418. package/dist/fields/index.js.map +1 -1
  419. package/dist/fields/richtext/controls/ColorPickerControl.d.ts +13 -2
  420. package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
  421. package/dist/fields/richtext/controls/ColorPickerControl.js +212 -47
  422. package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
  423. package/dist/fields/richtext/controls/DropdownPortal.d.ts +2 -2
  424. package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -1
  425. package/dist/fields/richtext/controls/DropdownPortal.js +36 -4
  426. package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -1
  427. package/dist/fields/richtext/controls/FontSizeControl.d.ts +9 -1
  428. package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
  429. package/dist/fields/richtext/controls/FontSizeControl.js +109 -24
  430. package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
  431. package/dist/fields/richtext/controls/HighlightControl.d.ts +12 -1
  432. package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
  433. package/dist/fields/richtext/controls/HighlightControl.js +54 -17
  434. package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
  435. package/dist/fields/richtext/controls/index.d.ts +5 -5
  436. package/dist/fields/richtext/controls/index.d.ts.map +1 -1
  437. package/dist/fields/richtext/controls/index.js +8 -11
  438. package/dist/fields/richtext/controls/index.js.map +1 -1
  439. package/dist/fields/richtext/controls/shared.js +108 -63
  440. package/dist/fields/richtext/controls/shared.js.map +1 -1
  441. package/dist/fields/richtext/createRichTextField.d.ts +18 -4
  442. package/dist/fields/richtext/createRichTextField.d.ts.map +1 -1
  443. package/dist/fields/richtext/createRichTextField.js +113 -26
  444. package/dist/fields/richtext/createRichTextField.js.map +1 -1
  445. package/dist/fields/richtext/extensions/FontSize.js +26 -20
  446. package/dist/fields/richtext/extensions/FontSize.js.map +1 -1
  447. package/dist/fields/richtext/extensions/index.d.ts +1 -1
  448. package/dist/fields/richtext/extensions/index.d.ts.map +1 -1
  449. package/dist/fields/richtext/extensions/index.js +2 -2
  450. package/dist/fields/richtext/extensions/index.js.map +1 -1
  451. package/dist/fields/richtext/index.d.ts +6 -6
  452. package/dist/fields/richtext/index.d.ts.map +1 -1
  453. package/dist/fields/richtext/index.js +8 -8
  454. package/dist/fields/richtext/index.js.map +1 -1
  455. package/dist/fields/shared.d.ts +1 -1
  456. package/dist/fields/shared.d.ts.map +1 -1
  457. package/dist/fields/shared.js +915 -478
  458. package/dist/fields/shared.js.map +1 -1
  459. package/dist/hooks/index.d.ts +2 -2
  460. package/dist/hooks/index.d.ts.map +1 -1
  461. package/dist/hooks/index.js +3 -3
  462. package/dist/hooks/index.js.map +1 -1
  463. package/dist/hooks/useResponsiveStyles.d.ts +1 -1
  464. package/dist/hooks/useResponsiveStyles.d.ts.map +1 -1
  465. package/dist/hooks/useResponsiveStyles.js +36 -32
  466. package/dist/hooks/useResponsiveStyles.js.map +1 -1
  467. package/dist/hooks/useScrollAnimation.js +26 -24
  468. package/dist/hooks/useScrollAnimation.js.map +1 -1
  469. package/dist/index.d.ts +4 -4
  470. package/dist/index.d.ts.map +1 -1
  471. package/dist/index.js +5 -5
  472. package/dist/index.js.map +1 -1
  473. package/dist/layouts/LayoutWrapper.d.ts +3 -3
  474. package/dist/layouts/LayoutWrapper.d.ts.map +1 -1
  475. package/dist/layouts/LayoutWrapper.js +115 -51
  476. package/dist/layouts/LayoutWrapper.js.map +1 -1
  477. package/dist/layouts/defaults.d.ts +1 -1
  478. package/dist/layouts/defaults.d.ts.map +1 -1
  479. package/dist/layouts/defaults.js +23 -31
  480. package/dist/layouts/defaults.js.map +1 -1
  481. package/dist/layouts/index.d.ts +4 -4
  482. package/dist/layouts/index.d.ts.map +1 -1
  483. package/dist/layouts/index.js +5 -4
  484. package/dist/layouts/index.js.map +1 -1
  485. package/dist/layouts/types.js +4 -2
  486. package/dist/layouts/types.js.map +1 -1
  487. package/dist/layouts/utils.d.ts +1 -1
  488. package/dist/layouts/utils.d.ts.map +1 -1
  489. package/dist/layouts/utils.js +32 -40
  490. package/dist/layouts/utils.js.map +1 -1
  491. package/dist/next/index.js +31 -34
  492. package/dist/next/index.js.map +1 -1
  493. package/dist/plugin/collections/Pages.d.ts +2 -2
  494. package/dist/plugin/collections/Pages.d.ts.map +1 -1
  495. package/dist/plugin/collections/Pages.js +46 -43
  496. package/dist/plugin/collections/Pages.js.map +1 -1
  497. package/dist/plugin/fields/index.d.ts +3 -3
  498. package/dist/plugin/fields/index.d.ts.map +1 -1
  499. package/dist/plugin/fields/index.js +100 -78
  500. package/dist/plugin/fields/index.js.map +1 -1
  501. package/dist/plugin/fields/types.d.ts +1 -1
  502. package/dist/plugin/fields/types.d.ts.map +1 -1
  503. package/dist/plugin/fields/types.js +26 -2
  504. package/dist/plugin/fields/types.js.map +1 -1
  505. package/dist/plugin/hooks/index.d.ts +1 -1
  506. package/dist/plugin/hooks/index.d.ts.map +1 -1
  507. package/dist/plugin/hooks/index.js +2 -2
  508. package/dist/plugin/hooks/index.js.map +1 -1
  509. package/dist/plugin/hooks/isHomepageUnique.js +28 -19
  510. package/dist/plugin/hooks/isHomepageUnique.js.map +1 -1
  511. package/dist/plugin/index.d.ts +8 -8
  512. package/dist/plugin/index.d.ts.map +1 -1
  513. package/dist/plugin/index.js +192 -188
  514. package/dist/plugin/index.js.map +1 -1
  515. package/dist/render/HybridPageRenderer.d.ts +2 -2
  516. package/dist/render/HybridPageRenderer.d.ts.map +1 -1
  517. package/dist/render/HybridPageRenderer.js +58 -10
  518. package/dist/render/HybridPageRenderer.js.map +1 -1
  519. package/dist/render/PageRenderer.d.ts +2 -2
  520. package/dist/render/PageRenderer.d.ts.map +1 -1
  521. package/dist/render/PageRenderer.js +31 -14
  522. package/dist/render/PageRenderer.js.map +1 -1
  523. package/dist/render/PuckEditor.client.d.ts +1 -1
  524. package/dist/render/PuckEditor.client.d.ts.map +1 -1
  525. package/dist/render/PuckEditor.client.js +33 -16
  526. package/dist/render/PuckEditor.client.js.map +1 -1
  527. package/dist/render/index.d.ts +5 -5
  528. package/dist/render/index.d.ts.map +1 -1
  529. package/dist/render/index.js +5 -6
  530. package/dist/render/index.js.map +1 -1
  531. package/dist/styles/puck-dark-mode.css +101 -0
  532. package/dist/theme/context.d.ts +2 -2
  533. package/dist/theme/context.d.ts.map +1 -1
  534. package/dist/theme/context.js +21 -18
  535. package/dist/theme/context.js.map +1 -1
  536. package/dist/theme/defaults.d.ts +1 -1
  537. package/dist/theme/defaults.d.ts.map +1 -1
  538. package/dist/theme/defaults.js +83 -37
  539. package/dist/theme/defaults.js.map +1 -1
  540. package/dist/theme/example.d.ts +1 -1
  541. package/dist/theme/example.d.ts.map +1 -1
  542. package/dist/theme/example.js +68 -30
  543. package/dist/theme/example.js.map +1 -1
  544. package/dist/theme/index.d.ts +5 -5
  545. package/dist/theme/index.d.ts.map +1 -1
  546. package/dist/theme/index.js +6 -5
  547. package/dist/theme/index.js.map +1 -1
  548. package/dist/theme/types.js +6 -2
  549. package/dist/theme/types.js.map +1 -1
  550. package/dist/theme/utils.d.ts +1 -1
  551. package/dist/theme/utils.d.ts.map +1 -1
  552. package/dist/theme/utils.js +24 -25
  553. package/dist/theme/utils.js.map +1 -1
  554. package/dist/types/index.d.ts +42 -6
  555. package/dist/types/index.d.ts.map +1 -1
  556. package/dist/types/index.js +3 -1
  557. package/dist/types/index.js.map +1 -1
  558. package/dist/utils/index.d.ts +2 -2
  559. package/dist/utils/index.d.ts.map +1 -1
  560. package/dist/utils/index.js +13 -22
  561. package/dist/utils/index.js.map +1 -1
  562. package/dist/utils/migration.d.ts +1 -1
  563. package/dist/utils/migration.d.ts.map +1 -1
  564. package/dist/utils/migration.js +43 -49
  565. package/dist/utils/migration.js.map +1 -1
  566. package/dist/utils/validation.d.ts +1 -1
  567. package/dist/utils/validation.d.ts.map +1 -1
  568. package/dist/utils/validation.js +36 -43
  569. package/dist/utils/validation.js.map +1 -1
  570. package/dist/version.d.ts +1 -1
  571. package/dist/version.js +2 -1
  572. package/dist/version.js.map +1 -1
  573. package/dist/views/PuckConfigContext.d.ts +1 -1
  574. package/dist/views/PuckConfigContext.d.ts.map +1 -1
  575. package/dist/views/PuckConfigContext.js +25 -10
  576. package/dist/views/PuckConfigContext.js.map +1 -1
  577. package/dist/views/PuckEditorView.d.ts +1 -1
  578. package/dist/views/PuckEditorView.d.ts.map +1 -1
  579. package/dist/views/PuckEditorView.js +137 -41
  580. package/dist/views/PuckEditorView.js.map +1 -1
  581. package/dist/views/index.js +2 -2
  582. package/dist/views/index.js.map +1 -1
  583. package/package.json +62 -42
@@ -3,238 +3,596 @@
3
3
  *
4
4
  * Puck Cloud requires JSON schemas for custom fields to know what format to generate.
5
5
  * These schemas are used across all component instruction files.
6
- */
7
- // =============================================================================
6
+ */ // =============================================================================
8
7
  // Basic Types
9
8
  // =============================================================================
10
- /** JSON Schema for ColorValue */
11
- export const colorSchema = {
9
+ /** JSON Schema for ColorValue */ export const colorSchema = {
12
10
  type: 'object',
13
11
  properties: {
14
- hex: { type: 'string', description: 'Hex color code, e.g., "#3b82f6"' },
15
- opacity: { type: 'number', minimum: 0, maximum: 100, description: 'Opacity 0-100, default 100' },
12
+ hex: {
13
+ type: 'string',
14
+ description: 'Hex color code, e.g., "#3b82f6"'
15
+ },
16
+ opacity: {
17
+ type: 'number',
18
+ minimum: 0,
19
+ maximum: 100,
20
+ description: 'Opacity 0-100, default 100'
21
+ }
16
22
  },
17
- required: ['hex'],
23
+ required: [
24
+ 'hex'
25
+ ]
18
26
  };
19
- /** JSON Schema for Alignment (text alignment) */
20
- export const alignmentSchema = {
27
+ /** JSON Schema for Alignment (text alignment) */ export const alignmentSchema = {
21
28
  type: 'string',
22
- enum: ['left', 'center', 'right'],
23
- description: "Text/content alignment: 'left', 'center', or 'right'",
29
+ enum: [
30
+ 'left',
31
+ 'center',
32
+ 'right'
33
+ ],
34
+ description: "Text/content alignment: 'left', 'center', or 'right'"
24
35
  };
25
- /** JSON Schema for JustifyContent (flex) */
26
- export const justifyContentSchema = {
36
+ /** JSON Schema for JustifyContent (flex) */ export const justifyContentSchema = {
27
37
  type: 'string',
28
- enum: ['flex-start', 'center', 'flex-end', 'space-between', 'space-around'],
29
- description: 'Main-axis distribution: flex-start (default), center, flex-end, space-between, space-around',
38
+ enum: [
39
+ 'flex-start',
40
+ 'center',
41
+ 'flex-end',
42
+ 'space-between',
43
+ 'space-around'
44
+ ],
45
+ description: 'Main-axis distribution: flex-start (default), center, flex-end, space-between, space-around'
30
46
  };
31
- /** JSON Schema for AlignItems (flex) */
32
- export const alignItemsSchema = {
47
+ /** JSON Schema for AlignItems (flex) */ export const alignItemsSchema = {
33
48
  type: 'string',
34
- enum: ['flex-start', 'center', 'flex-end', 'stretch'],
35
- description: 'Cross-axis alignment: flex-start, center, flex-end, stretch',
49
+ enum: [
50
+ 'flex-start',
51
+ 'center',
52
+ 'flex-end',
53
+ 'stretch'
54
+ ],
55
+ description: 'Cross-axis alignment: flex-start, center, flex-end, stretch'
36
56
  };
37
57
  // =============================================================================
38
58
  // Padding/Margin Types
39
59
  // =============================================================================
40
- /** JSON Schema for PaddingValue (also used for margin) */
41
- export const paddingSchema = {
60
+ /** JSON Schema for PaddingValue (also used for margin) */ export const paddingSchema = {
42
61
  type: 'object',
43
62
  properties: {
44
- top: { type: 'number', description: 'Top padding in units' },
45
- right: { type: 'number', description: 'Right padding in units' },
46
- bottom: { type: 'number', description: 'Bottom padding in units' },
47
- left: { type: 'number', description: 'Left padding in units' },
48
- unit: { type: 'string', enum: ['px', 'rem', 'em', '%'], description: 'Unit for all values' },
49
- linked: { type: 'boolean', description: 'Whether all sides sync together' },
63
+ top: {
64
+ type: 'number',
65
+ description: 'Top padding in units'
66
+ },
67
+ right: {
68
+ type: 'number',
69
+ description: 'Right padding in units'
70
+ },
71
+ bottom: {
72
+ type: 'number',
73
+ description: 'Bottom padding in units'
74
+ },
75
+ left: {
76
+ type: 'number',
77
+ description: 'Left padding in units'
78
+ },
79
+ unit: {
80
+ type: 'string',
81
+ enum: [
82
+ 'px',
83
+ 'rem',
84
+ 'em',
85
+ '%'
86
+ ],
87
+ description: 'Unit for all values'
88
+ },
89
+ linked: {
90
+ type: 'boolean',
91
+ description: 'Whether all sides sync together'
92
+ }
50
93
  },
51
- required: ['top', 'right', 'bottom', 'left', 'unit'],
94
+ required: [
95
+ 'top',
96
+ 'right',
97
+ 'bottom',
98
+ 'left',
99
+ 'unit'
100
+ ]
52
101
  };
53
- /** JSON Schema for ResponsiveValue<PaddingValue> */
54
- export const responsivePaddingSchema = {
102
+ /** JSON Schema for ResponsiveValue<PaddingValue> */ export const responsivePaddingSchema = {
55
103
  type: 'object',
56
104
  properties: {
57
- xs: { ...paddingSchema, description: 'Base (mobile) value - required' },
58
- sm: { ...paddingSchema, description: 'Small screens (640px+) - optional override' },
59
- md: { ...paddingSchema, description: 'Medium screens (768px+) - optional override' },
60
- lg: { ...paddingSchema, description: 'Large screens (1024px+) - optional override' },
61
- xl: { ...paddingSchema, description: 'Extra large screens (1280px+) - optional override' },
105
+ xs: {
106
+ ...paddingSchema,
107
+ description: 'Base (mobile) value - required'
108
+ },
109
+ sm: {
110
+ ...paddingSchema,
111
+ description: 'Small screens (640px+) - optional override'
112
+ },
113
+ md: {
114
+ ...paddingSchema,
115
+ description: 'Medium screens (768px+) - optional override'
116
+ },
117
+ lg: {
118
+ ...paddingSchema,
119
+ description: 'Large screens (1024px+) - optional override'
120
+ },
121
+ xl: {
122
+ ...paddingSchema,
123
+ description: 'Extra large screens (1280px+) - optional override'
124
+ }
62
125
  },
63
- required: ['xs'],
126
+ required: [
127
+ 'xs'
128
+ ]
64
129
  };
65
130
  // =============================================================================
66
131
  // Dimensions Types
67
132
  // =============================================================================
68
- /** JSON Schema for DimensionConstraint */
69
- export const dimensionConstraintSchema = {
133
+ /** JSON Schema for DimensionConstraint */ export const dimensionConstraintSchema = {
70
134
  type: 'object',
71
135
  properties: {
72
- value: { type: 'number', description: 'Numeric value' },
73
- unit: { type: 'string', enum: ['px', 'rem', '%', 'vw', 'vh'], description: 'CSS unit' },
74
- enabled: { type: 'boolean', description: 'Whether this constraint is active' },
136
+ value: {
137
+ type: 'number',
138
+ description: 'Numeric value'
139
+ },
140
+ unit: {
141
+ type: 'string',
142
+ enum: [
143
+ 'px',
144
+ 'rem',
145
+ '%',
146
+ 'vw',
147
+ 'vh'
148
+ ],
149
+ description: 'CSS unit'
150
+ },
151
+ enabled: {
152
+ type: 'boolean',
153
+ description: 'Whether this constraint is active'
154
+ }
75
155
  },
76
- required: ['value', 'unit', 'enabled'],
156
+ required: [
157
+ 'value',
158
+ 'unit',
159
+ 'enabled'
160
+ ]
77
161
  };
78
- /** JSON Schema for DimensionsValue */
79
- export const dimensionsSchema = {
162
+ /** JSON Schema for DimensionsValue */ export const dimensionsSchema = {
80
163
  type: 'object',
81
164
  properties: {
82
- mode: { type: 'string', enum: ['full', 'contained', 'custom'], description: 'Width mode' },
83
- alignment: { type: 'string', enum: ['left', 'center', 'right'], description: 'Content alignment' },
84
- maxWidth: { ...dimensionConstraintSchema, description: 'Maximum width constraint' },
85
- minWidth: { ...dimensionConstraintSchema, description: 'Minimum width constraint (optional)' },
86
- minHeight: { ...dimensionConstraintSchema, description: 'Minimum height constraint (optional)' },
87
- maxHeight: { ...dimensionConstraintSchema, description: 'Maximum height constraint (optional)' },
165
+ mode: {
166
+ type: 'string',
167
+ enum: [
168
+ 'full',
169
+ 'contained',
170
+ 'custom'
171
+ ],
172
+ description: 'Width mode'
173
+ },
174
+ alignment: {
175
+ type: 'string',
176
+ enum: [
177
+ 'left',
178
+ 'center',
179
+ 'right'
180
+ ],
181
+ description: 'Content alignment'
182
+ },
183
+ maxWidth: {
184
+ ...dimensionConstraintSchema,
185
+ description: 'Maximum width constraint'
186
+ },
187
+ minWidth: {
188
+ ...dimensionConstraintSchema,
189
+ description: 'Minimum width constraint (optional)'
190
+ },
191
+ minHeight: {
192
+ ...dimensionConstraintSchema,
193
+ description: 'Minimum height constraint (optional)'
194
+ },
195
+ maxHeight: {
196
+ ...dimensionConstraintSchema,
197
+ description: 'Maximum height constraint (optional)'
198
+ }
88
199
  },
89
- required: ['mode', 'alignment', 'maxWidth'],
200
+ required: [
201
+ 'mode',
202
+ 'alignment',
203
+ 'maxWidth'
204
+ ]
90
205
  };
91
- /** JSON Schema for ResponsiveValue<DimensionsValue> */
92
- export const responsiveDimensionsSchema = {
206
+ /** JSON Schema for ResponsiveValue<DimensionsValue> */ export const responsiveDimensionsSchema = {
93
207
  type: 'object',
94
208
  properties: {
95
- xs: { ...dimensionsSchema, description: 'Base (mobile) value - required' },
96
- sm: { ...dimensionsSchema, description: 'Small screens (640px+) - optional override' },
97
- md: { ...dimensionsSchema, description: 'Medium screens (768px+) - optional override' },
98
- lg: { ...dimensionsSchema, description: 'Large screens (1024px+) - optional override' },
99
- xl: { ...dimensionsSchema, description: 'Extra large screens (1280px+) - optional override' },
209
+ xs: {
210
+ ...dimensionsSchema,
211
+ description: 'Base (mobile) value - required'
212
+ },
213
+ sm: {
214
+ ...dimensionsSchema,
215
+ description: 'Small screens (640px+) - optional override'
216
+ },
217
+ md: {
218
+ ...dimensionsSchema,
219
+ description: 'Medium screens (768px+) - optional override'
220
+ },
221
+ lg: {
222
+ ...dimensionsSchema,
223
+ description: 'Large screens (1024px+) - optional override'
224
+ },
225
+ xl: {
226
+ ...dimensionsSchema,
227
+ description: 'Extra large screens (1280px+) - optional override'
228
+ }
100
229
  },
101
- required: ['xs'],
230
+ required: [
231
+ 'xs'
232
+ ]
102
233
  };
103
234
  // =============================================================================
104
235
  // Background Types
105
236
  // =============================================================================
106
- /** JSON Schema for GradientStop */
107
- export const gradientStopSchema = {
237
+ /** JSON Schema for GradientStop */ export const gradientStopSchema = {
108
238
  type: 'object',
109
239
  properties: {
110
240
  color: colorSchema,
111
- position: { type: 'number', minimum: 0, maximum: 100, description: 'Position 0-100%' },
241
+ position: {
242
+ type: 'number',
243
+ minimum: 0,
244
+ maximum: 100,
245
+ description: 'Position 0-100%'
246
+ }
112
247
  },
113
- required: ['color', 'position'],
248
+ required: [
249
+ 'color',
250
+ 'position'
251
+ ]
114
252
  };
115
- /** JSON Schema for GradientValue */
116
- export const gradientSchema = {
253
+ /** JSON Schema for GradientValue */ export const gradientSchema = {
117
254
  type: 'object',
118
255
  properties: {
119
- type: { type: 'string', enum: ['linear', 'radial'], description: 'Gradient type' },
120
- angle: { type: 'number', minimum: 0, maximum: 360, description: 'Angle in degrees (linear)' },
121
- stops: { type: 'array', items: gradientStopSchema, description: 'Color stops' },
122
- radialShape: { type: 'string', enum: ['circle', 'ellipse'], description: 'Radial shape' },
123
- radialPosition: { type: 'string', enum: ['center', 'top', 'bottom', 'left', 'right'] },
256
+ type: {
257
+ type: 'string',
258
+ enum: [
259
+ 'linear',
260
+ 'radial'
261
+ ],
262
+ description: 'Gradient type'
263
+ },
264
+ angle: {
265
+ type: 'number',
266
+ minimum: 0,
267
+ maximum: 360,
268
+ description: 'Angle in degrees (linear)'
269
+ },
270
+ stops: {
271
+ type: 'array',
272
+ items: gradientStopSchema,
273
+ description: 'Color stops'
274
+ },
275
+ radialShape: {
276
+ type: 'string',
277
+ enum: [
278
+ 'circle',
279
+ 'ellipse'
280
+ ],
281
+ description: 'Radial shape'
282
+ },
283
+ radialPosition: {
284
+ type: 'string',
285
+ enum: [
286
+ 'center',
287
+ 'top',
288
+ 'bottom',
289
+ 'left',
290
+ 'right'
291
+ ]
292
+ }
124
293
  },
125
- required: ['type', 'stops'],
294
+ required: [
295
+ 'type',
296
+ 'stops'
297
+ ]
126
298
  };
127
- /** JSON Schema for BackgroundValue */
128
- export const backgroundSchema = {
299
+ /** JSON Schema for BackgroundValue */ export const backgroundSchema = {
129
300
  type: 'object',
130
301
  properties: {
131
- type: { type: 'string', enum: ['none', 'solid', 'gradient', 'image'], description: 'Background type' },
132
- solid: { ...colorSchema, description: 'Solid color (when type="solid")' },
133
- gradient: { ...gradientSchema, description: 'Gradient (when type="gradient")' },
134
- // Note: image backgrounds require media selection, AI should use solid/gradient
302
+ type: {
303
+ type: 'string',
304
+ enum: [
305
+ 'none',
306
+ 'solid',
307
+ 'gradient',
308
+ 'image'
309
+ ],
310
+ description: 'Background type'
311
+ },
312
+ solid: {
313
+ ...colorSchema,
314
+ description: 'Solid color (when type="solid")'
315
+ },
316
+ gradient: {
317
+ ...gradientSchema,
318
+ description: 'Gradient (when type="gradient")'
319
+ }
135
320
  },
136
- required: ['type'],
321
+ required: [
322
+ 'type'
323
+ ]
137
324
  };
138
325
  // =============================================================================
139
326
  // Border Types
140
327
  // =============================================================================
141
- /** JSON Schema for BorderValue */
142
- export const borderSchema = {
328
+ /** JSON Schema for BorderValue */ export const borderSchema = {
143
329
  type: 'object',
144
330
  properties: {
145
- style: { type: 'string', enum: ['none', 'solid', 'dashed', 'dotted'], description: 'Border style' },
146
- width: { type: 'number', description: 'Border width in pixels' },
147
- color: { ...colorSchema, description: 'Border color' },
148
- radius: { type: 'number', description: 'Border radius in pixels' },
331
+ style: {
332
+ type: 'string',
333
+ enum: [
334
+ 'none',
335
+ 'solid',
336
+ 'dashed',
337
+ 'dotted'
338
+ ],
339
+ description: 'Border style'
340
+ },
341
+ width: {
342
+ type: 'number',
343
+ description: 'Border width in pixels'
344
+ },
345
+ color: {
346
+ ...colorSchema,
347
+ description: 'Border color'
348
+ },
349
+ radius: {
350
+ type: 'number',
351
+ description: 'Border radius in pixels'
352
+ },
149
353
  sides: {
150
354
  type: 'object',
151
355
  properties: {
152
- top: { type: 'boolean' },
153
- right: { type: 'boolean' },
154
- bottom: { type: 'boolean' },
155
- left: { type: 'boolean' },
356
+ top: {
357
+ type: 'boolean'
358
+ },
359
+ right: {
360
+ type: 'boolean'
361
+ },
362
+ bottom: {
363
+ type: 'boolean'
364
+ },
365
+ left: {
366
+ type: 'boolean'
367
+ }
156
368
  },
157
- description: 'Which sides have borders',
158
- },
369
+ description: 'Which sides have borders'
370
+ }
159
371
  },
160
- required: ['style', 'width', 'radius', 'sides'],
372
+ required: [
373
+ 'style',
374
+ 'width',
375
+ 'radius',
376
+ 'sides'
377
+ ]
161
378
  };
162
379
  // =============================================================================
163
380
  // Animation Types
164
381
  // =============================================================================
165
- /** JSON Schema for AnimationValue (simplified for AI) */
166
- export const animationSchema = {
382
+ /** JSON Schema for AnimationValue (simplified for AI) */ export const animationSchema = {
167
383
  type: 'object',
168
384
  properties: {
169
- mode: { type: 'string', enum: ['preset', 'custom'], description: 'Animation mode' },
385
+ mode: {
386
+ type: 'string',
387
+ enum: [
388
+ 'preset',
389
+ 'custom'
390
+ ],
391
+ description: 'Animation mode'
392
+ },
170
393
  entrance: {
171
394
  type: 'string',
172
- enum: ['none', 'fade-in', 'fade-up', 'fade-down', 'fade-left', 'fade-right', 'fade-scale',
173
- 'scale-in', 'scale-up', 'scale-down', 'slide-up', 'slide-down', 'slide-left', 'slide-right'],
174
- description: 'Entrance animation preset',
395
+ enum: [
396
+ 'none',
397
+ 'fade-in',
398
+ 'fade-up',
399
+ 'fade-down',
400
+ 'fade-left',
401
+ 'fade-right',
402
+ 'fade-scale',
403
+ 'scale-in',
404
+ 'scale-up',
405
+ 'scale-down',
406
+ 'slide-up',
407
+ 'slide-down',
408
+ 'slide-left',
409
+ 'slide-right'
410
+ ],
411
+ description: 'Entrance animation preset'
175
412
  },
176
- entranceDuration: { type: 'number', description: 'Duration in ms, default 500' },
177
- entranceDelay: { type: 'number', description: 'Delay in ms, default 0' },
178
- triggerOnScroll: { type: 'boolean', description: 'Trigger when scrolled into view' },
179
- triggerOnce: { type: 'boolean', description: 'Only animate once' },
180
- },
413
+ entranceDuration: {
414
+ type: 'number',
415
+ description: 'Duration in ms, default 500'
416
+ },
417
+ entranceDelay: {
418
+ type: 'number',
419
+ description: 'Delay in ms, default 0'
420
+ },
421
+ triggerOnScroll: {
422
+ type: 'boolean',
423
+ description: 'Trigger when scrolled into view'
424
+ },
425
+ triggerOnce: {
426
+ type: 'boolean',
427
+ description: 'Only animate once'
428
+ }
429
+ }
181
430
  };
182
431
  // =============================================================================
183
432
  // Visibility Types
184
433
  // =============================================================================
185
- /** JSON Schema for VisibilityValue */
186
- export const visibilitySchema = {
434
+ /** JSON Schema for VisibilityValue */ export const visibilitySchema = {
187
435
  type: 'object',
188
436
  properties: {
189
- xs: { type: 'boolean', description: 'Visible on mobile (default true)' },
190
- sm: { type: 'boolean', description: 'Visible on small screens 640px+' },
191
- md: { type: 'boolean', description: 'Visible on medium screens 768px+' },
192
- lg: { type: 'boolean', description: 'Visible on large screens 1024px+' },
193
- xl: { type: 'boolean', description: 'Visible on extra large screens 1280px+' },
437
+ xs: {
438
+ type: 'boolean',
439
+ description: 'Visible on mobile (default true)'
440
+ },
441
+ sm: {
442
+ type: 'boolean',
443
+ description: 'Visible on small screens 640px+'
444
+ },
445
+ md: {
446
+ type: 'boolean',
447
+ description: 'Visible on medium screens 768px+'
448
+ },
449
+ lg: {
450
+ type: 'boolean',
451
+ description: 'Visible on large screens 1024px+'
452
+ },
453
+ xl: {
454
+ type: 'boolean',
455
+ description: 'Visible on extra large screens 1280px+'
456
+ }
194
457
  },
195
- required: ['xs'],
458
+ required: [
459
+ 'xs'
460
+ ]
196
461
  };
197
462
  // =============================================================================
198
463
  // Size Types (for Button, etc.)
199
464
  // =============================================================================
200
- /** JSON Schema for SizeValue */
201
- export const sizeSchema = {
465
+ /** JSON Schema for SizeValue */ export const sizeSchema = {
202
466
  type: 'object',
203
467
  properties: {
204
- mode: { type: 'string', enum: ['sm', 'default', 'lg', 'custom'], description: 'Size preset or custom' },
205
- height: { type: 'number', description: 'Custom height in units (only when mode="custom")' },
206
- paddingX: { type: 'number', description: 'Custom horizontal padding (only when mode="custom")' },
207
- paddingY: { type: 'number', description: 'Custom vertical padding (only when mode="custom")' },
208
- fontSize: { type: 'number', description: 'Custom font size (only when mode="custom")' },
209
- unit: { type: 'string', enum: ['px', 'rem'], description: 'Unit for custom values' },
468
+ mode: {
469
+ type: 'string',
470
+ enum: [
471
+ 'sm',
472
+ 'default',
473
+ 'lg',
474
+ 'custom'
475
+ ],
476
+ description: 'Size preset or custom'
477
+ },
478
+ height: {
479
+ type: 'number',
480
+ description: 'Custom height in units (only when mode="custom")'
481
+ },
482
+ paddingX: {
483
+ type: 'number',
484
+ description: 'Custom horizontal padding (only when mode="custom")'
485
+ },
486
+ paddingY: {
487
+ type: 'number',
488
+ description: 'Custom vertical padding (only when mode="custom")'
489
+ },
490
+ fontSize: {
491
+ type: 'number',
492
+ description: 'Custom font size (only when mode="custom")'
493
+ },
494
+ unit: {
495
+ type: 'string',
496
+ enum: [
497
+ 'px',
498
+ 'rem'
499
+ ],
500
+ description: 'Unit for custom values'
501
+ }
210
502
  },
211
- required: ['mode'],
503
+ required: [
504
+ 'mode'
505
+ ]
212
506
  };
213
507
  // =============================================================================
214
508
  // Transform Types
215
509
  // =============================================================================
216
- /** JSON Schema for TransformValue */
217
- export const transformSchema = {
510
+ /** JSON Schema for TransformValue */ export const transformSchema = {
218
511
  type: 'object',
219
512
  properties: {
220
- rotate: { type: 'number', minimum: -360, maximum: 360, description: 'Rotation in degrees' },
221
- scaleX: { type: 'number', minimum: 0.1, maximum: 3, description: 'Horizontal scale factor' },
222
- scaleY: { type: 'number', minimum: 0.1, maximum: 3, description: 'Vertical scale factor' },
223
- scaleLocked: { type: 'boolean', description: 'Lock X and Y scale together' },
224
- skewX: { type: 'number', minimum: -45, maximum: 45, description: 'Horizontal skew in degrees' },
225
- skewY: { type: 'number', minimum: -45, maximum: 45, description: 'Vertical skew in degrees' },
226
- translateX: { type: 'number', description: 'Horizontal translation' },
227
- translateY: { type: 'number', description: 'Vertical translation' },
228
- translateUnit: { type: 'string', enum: ['px', 'rem', '%'], description: 'Unit for translation' },
513
+ rotate: {
514
+ type: 'number',
515
+ minimum: -360,
516
+ maximum: 360,
517
+ description: 'Rotation in degrees'
518
+ },
519
+ scaleX: {
520
+ type: 'number',
521
+ minimum: 0.1,
522
+ maximum: 3,
523
+ description: 'Horizontal scale factor'
524
+ },
525
+ scaleY: {
526
+ type: 'number',
527
+ minimum: 0.1,
528
+ maximum: 3,
529
+ description: 'Vertical scale factor'
530
+ },
531
+ scaleLocked: {
532
+ type: 'boolean',
533
+ description: 'Lock X and Y scale together'
534
+ },
535
+ skewX: {
536
+ type: 'number',
537
+ minimum: -45,
538
+ maximum: 45,
539
+ description: 'Horizontal skew in degrees'
540
+ },
541
+ skewY: {
542
+ type: 'number',
543
+ minimum: -45,
544
+ maximum: 45,
545
+ description: 'Vertical skew in degrees'
546
+ },
547
+ translateX: {
548
+ type: 'number',
549
+ description: 'Horizontal translation'
550
+ },
551
+ translateY: {
552
+ type: 'number',
553
+ description: 'Vertical translation'
554
+ },
555
+ translateUnit: {
556
+ type: 'string',
557
+ enum: [
558
+ 'px',
559
+ 'rem',
560
+ '%'
561
+ ],
562
+ description: 'Unit for translation'
563
+ },
229
564
  origin: {
230
565
  type: 'string',
231
- enum: ['center', 'top', 'bottom', 'left', 'right', 'top-left', 'top-right', 'bottom-left', 'bottom-right'],
232
- description: 'Transform origin point',
566
+ enum: [
567
+ 'center',
568
+ 'top',
569
+ 'bottom',
570
+ 'left',
571
+ 'right',
572
+ 'top-left',
573
+ 'top-right',
574
+ 'bottom-left',
575
+ 'bottom-right'
576
+ ],
577
+ description: 'Transform origin point'
233
578
  },
234
- enable3D: { type: 'boolean', description: 'Enable 3D transforms' },
235
- perspective: { type: 'number', description: '3D perspective in pixels' },
236
- rotateX: { type: 'number', description: '3D rotation around X axis' },
237
- rotateY: { type: 'number', description: '3D rotation around Y axis' },
238
- },
579
+ enable3D: {
580
+ type: 'boolean',
581
+ description: 'Enable 3D transforms'
582
+ },
583
+ perspective: {
584
+ type: 'number',
585
+ description: '3D perspective in pixels'
586
+ },
587
+ rotateX: {
588
+ type: 'number',
589
+ description: '3D rotation around X axis'
590
+ },
591
+ rotateY: {
592
+ type: 'number',
593
+ description: '3D rotation around Y axis'
594
+ }
595
+ }
239
596
  };
597
+
240
598
  //# sourceMappingURL=schemas.js.map