@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
@@ -9,20 +9,18 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  * - Opacity slider (0-100%)
10
10
  * - Preview swatch
11
11
  * - Optional preset color swatches
12
- */
13
- import { useState, useCallback, memo } from 'react';
12
+ */ import React, { useState, useCallback, memo } from 'react';
14
13
  import { X } from 'lucide-react';
15
- import { useTheme } from '../theme';
14
+ import { useTheme } from '../theme/index.js';
16
15
  // =============================================================================
17
16
  // Utility Functions
18
17
  // =============================================================================
19
18
  /**
20
19
  * Validates and normalizes a hex color string
21
- */
22
- function normalizeHex(hex) {
20
+ */ function normalizeHex(hex) {
23
21
  let clean = hex.replace(/^#/, '');
24
22
  if (clean.length === 3) {
25
- clean = clean.split('').map(c => c + c).join('');
23
+ clean = clean.split('').map((c)=>c + c).join('');
26
24
  }
27
25
  if (!/^[0-9A-Fa-f]{6}$/.test(clean)) {
28
26
  return '';
@@ -31,8 +29,7 @@ function normalizeHex(hex) {
31
29
  }
32
30
  /**
33
31
  * Converts hex + opacity to rgba CSS string
34
- */
35
- export function colorToRgba(hex, opacity) {
32
+ */ export function colorToRgba(hex, opacity) {
36
33
  const clean = hex.replace(/^#/, '');
37
34
  const r = parseInt(clean.substring(0, 2), 16);
38
35
  const g = parseInt(clean.substring(2, 4), 16);
@@ -46,19 +43,19 @@ const styles = {
46
43
  container: {
47
44
  display: 'flex',
48
45
  flexDirection: 'column',
49
- gap: '12px',
46
+ gap: '12px'
50
47
  },
51
48
  label: {
52
49
  display: 'block',
53
50
  fontSize: '14px',
54
51
  fontWeight: 500,
55
- color: 'var(--theme-elevation-800)',
52
+ color: 'var(--theme-elevation-800)'
56
53
  },
57
54
  row: {
58
55
  display: 'flex',
59
56
  alignItems: 'center',
60
57
  flexWrap: 'wrap',
61
- gap: '8px',
58
+ gap: '8px'
62
59
  },
63
60
  colorInput: {
64
61
  width: '40px',
@@ -66,7 +63,7 @@ const styles = {
66
63
  padding: 0,
67
64
  border: '1px solid var(--theme-elevation-150)',
68
65
  borderRadius: '6px',
69
- cursor: 'pointer',
66
+ cursor: 'pointer'
70
67
  },
71
68
  hexInput: {
72
69
  flex: '1 1 80px',
@@ -78,7 +75,7 @@ const styles = {
78
75
  border: '1px solid var(--theme-elevation-150)',
79
76
  borderRadius: '6px',
80
77
  backgroundColor: 'var(--theme-input-bg)',
81
- color: 'var(--theme-elevation-800)',
78
+ color: 'var(--theme-elevation-800)'
82
79
  },
83
80
  previewSwatch: {
84
81
  width: '40px',
@@ -87,7 +84,7 @@ const styles = {
87
84
  border: '1px solid var(--theme-elevation-150)',
88
85
  flexShrink: 0,
89
86
  position: 'relative',
90
- overflow: 'hidden',
87
+ overflow: 'hidden'
91
88
  },
92
89
  checkerboard: {
93
90
  position: 'absolute',
@@ -95,11 +92,11 @@ const styles = {
95
92
  backgroundImage: 'linear-gradient(45deg, #d0d0d0 25%, transparent 25%), linear-gradient(-45deg, #d0d0d0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #d0d0d0 75%), linear-gradient(-45deg, transparent 75%, #d0d0d0 75%)',
96
93
  backgroundSize: '8px 8px',
97
94
  backgroundPosition: '0 0, 0 4px, 4px -4px, -4px 0px',
98
- backgroundColor: '#f0f0f0',
95
+ backgroundColor: '#f0f0f0'
99
96
  },
100
97
  colorOverlay: {
101
98
  position: 'absolute',
102
- inset: 0,
99
+ inset: 0
103
100
  },
104
101
  clearButton: {
105
102
  display: 'flex',
@@ -113,33 +110,33 @@ const styles = {
113
110
  backgroundColor: 'transparent',
114
111
  color: 'var(--theme-elevation-500)',
115
112
  cursor: 'pointer',
116
- flexShrink: 0,
113
+ flexShrink: 0
117
114
  },
118
115
  opacitySection: {
119
116
  display: 'flex',
120
117
  flexDirection: 'column',
121
- gap: '4px',
118
+ gap: '4px'
122
119
  },
123
120
  opacityHeader: {
124
121
  display: 'flex',
125
122
  alignItems: 'center',
126
- justifyContent: 'space-between',
123
+ justifyContent: 'space-between'
127
124
  },
128
125
  opacityLabel: {
129
126
  fontSize: '12px',
130
- color: 'var(--theme-elevation-500)',
127
+ color: 'var(--theme-elevation-500)'
131
128
  },
132
129
  opacityValue: {
133
130
  fontSize: '12px',
134
131
  fontFamily: 'monospace',
135
- color: 'var(--theme-elevation-500)',
132
+ color: 'var(--theme-elevation-500)'
136
133
  },
137
134
  opacitySlider: {
138
135
  position: 'relative',
139
136
  height: '12px',
140
137
  borderRadius: '6px',
141
138
  overflow: 'hidden',
142
- border: '1px solid var(--theme-elevation-150)',
139
+ border: '1px solid var(--theme-elevation-150)'
143
140
  },
144
141
  opacityInput: {
145
142
  position: 'absolute',
@@ -148,7 +145,7 @@ const styles = {
148
145
  height: '100%',
149
146
  opacity: 0,
150
147
  cursor: 'pointer',
151
- margin: 0,
148
+ margin: 0
152
149
  },
153
150
  opacityThumb: {
154
151
  position: 'absolute',
@@ -159,21 +156,21 @@ const styles = {
159
156
  border: '1px solid var(--theme-elevation-400)',
160
157
  borderRadius: '2px',
161
158
  boxShadow: '0 1px 2px rgba(0,0,0,0.1)',
162
- pointerEvents: 'none',
159
+ pointerEvents: 'none'
163
160
  },
164
161
  presetsSection: {
165
162
  display: 'flex',
166
163
  flexDirection: 'column',
167
- gap: '8px',
164
+ gap: '8px'
168
165
  },
169
166
  presetsLabel: {
170
167
  fontSize: '12px',
171
- color: 'var(--theme-elevation-500)',
168
+ color: 'var(--theme-elevation-500)'
172
169
  },
173
170
  presetsGrid: {
174
171
  display: 'flex',
175
172
  flexWrap: 'wrap',
176
- gap: '6px',
173
+ gap: '6px'
177
174
  },
178
175
  presetButton: {
179
176
  width: '24px',
@@ -182,7 +179,7 @@ const styles = {
182
179
  borderRadius: '4px',
183
180
  cursor: 'pointer',
184
181
  border: '1px solid var(--theme-elevation-150)',
185
- outline: 'none',
182
+ outline: 'none'
186
183
  },
187
184
  presetButtonSelected: {
188
185
  width: '24px',
@@ -192,96 +189,241 @@ const styles = {
192
189
  cursor: 'pointer',
193
190
  border: '2px solid var(--theme-elevation-800)',
194
191
  outline: '2px solid var(--theme-elevation-300)',
195
- outlineOffset: '2px',
196
- },
192
+ outlineOffset: '2px'
193
+ }
197
194
  };
198
195
  // =============================================================================
199
196
  // ColorPickerField Component
200
197
  // =============================================================================
201
- function ColorPickerFieldInner({ value, onChange, label, readOnly, showOpacity = true, presets, }) {
198
+ function ColorPickerFieldInner({ value, onChange, label, readOnly, showOpacity = true, presets }) {
202
199
  // Use theme presets if none provided
203
200
  const theme = useTheme();
204
201
  const resolvedPresets = presets ?? theme.colorPresets;
205
202
  const [hexInput, setHexInput] = useState(value?.hex || '');
206
- const handleColorChange = useCallback((e) => {
203
+ const handleColorChange = useCallback((e)=>{
207
204
  const newHex = e.target.value;
208
205
  onChange({
209
206
  hex: newHex,
210
- opacity: value?.opacity ?? 100,
207
+ opacity: value?.opacity ?? 100
211
208
  });
212
209
  setHexInput(newHex);
213
- }, [onChange, value?.opacity]);
214
- const handleHexInputChange = useCallback((e) => {
210
+ }, [
211
+ onChange,
212
+ value?.opacity
213
+ ]);
214
+ const handleHexInputChange = useCallback((e)=>{
215
215
  const input = e.target.value;
216
216
  setHexInput(input);
217
217
  const normalized = normalizeHex(input);
218
218
  if (normalized) {
219
219
  onChange({
220
220
  hex: normalized,
221
- opacity: value?.opacity ?? 100,
221
+ opacity: value?.opacity ?? 100
222
222
  });
223
223
  }
224
- }, [onChange, value?.opacity]);
225
- const handleHexInputBlur = useCallback(() => {
224
+ }, [
225
+ onChange,
226
+ value?.opacity
227
+ ]);
228
+ const handleHexInputBlur = useCallback(()=>{
226
229
  if (value?.hex) {
227
230
  setHexInput(value.hex);
228
231
  }
229
- }, [value?.hex]);
230
- const handleOpacityChange = useCallback((e) => {
232
+ }, [
233
+ value?.hex
234
+ ]);
235
+ const handleOpacityChange = useCallback((e)=>{
231
236
  const newOpacity = parseInt(e.target.value, 10);
232
237
  if (value?.hex) {
233
238
  onChange({
234
239
  hex: value.hex,
235
- opacity: newOpacity,
240
+ opacity: newOpacity
236
241
  });
237
242
  }
238
- }, [onChange, value?.hex]);
239
- const handlePresetClick = useCallback((preset) => {
243
+ }, [
244
+ onChange,
245
+ value?.hex
246
+ ]);
247
+ const handlePresetClick = useCallback((preset)=>{
240
248
  onChange({
241
249
  hex: preset.hex,
242
- opacity: value?.opacity ?? 100,
250
+ opacity: value?.opacity ?? 100
243
251
  });
244
252
  setHexInput(preset.hex);
245
- }, [onChange, value?.opacity]);
246
- const handleClear = useCallback(() => {
253
+ }, [
254
+ onChange,
255
+ value?.opacity
256
+ ]);
257
+ const handleClear = useCallback(()=>{
247
258
  onChange(null);
248
259
  setHexInput('');
249
- }, [onChange]);
250
- const previewColor = value?.hex
251
- ? colorToRgba(value.hex, value.opacity ?? 100)
252
- : 'transparent';
253
- return (_jsxs("div", { className: "puck-field", style: styles.container, children: [label && (_jsx("label", { style: styles.label, children: label })), _jsxs("div", { style: styles.row, children: [_jsx("input", { type: "color", value: value?.hex || '#000000', onChange: handleColorChange, disabled: readOnly, style: {
260
+ }, [
261
+ onChange
262
+ ]);
263
+ const previewColor = value?.hex ? colorToRgba(value.hex, value.opacity ?? 100) : 'transparent';
264
+ return /*#__PURE__*/ _jsxs("div", {
265
+ className: "puck-field",
266
+ style: styles.container,
267
+ children: [
268
+ label && /*#__PURE__*/ _jsx("label", {
269
+ style: styles.label,
270
+ children: label
271
+ }),
272
+ /*#__PURE__*/ _jsxs("div", {
273
+ style: styles.row,
274
+ children: [
275
+ /*#__PURE__*/ _jsx("input", {
276
+ type: "color",
277
+ value: value?.hex || '#000000',
278
+ onChange: handleColorChange,
279
+ disabled: readOnly,
280
+ style: {
254
281
  ...styles.colorInput,
255
- ...(readOnly ? { cursor: 'not-allowed', opacity: 0.5 } : {}),
256
- } }), _jsx("input", { type: "text", value: hexInput, onChange: handleHexInputChange, onBlur: handleHexInputBlur, placeholder: "#000000", disabled: readOnly, style: styles.hexInput }), _jsxs("div", { style: styles.previewSwatch, title: value?.hex ? `${value.hex} at ${value.opacity ?? 100}% opacity` : 'No color selected', children: [_jsx("div", { style: styles.checkerboard }), _jsx("div", { style: { ...styles.colorOverlay, backgroundColor: previewColor } })] }), value && !readOnly && (_jsx("button", { type: "button", onClick: handleClear, title: "Clear color", style: styles.clearButton, children: _jsx(X, { style: { width: '16px', height: '16px' } }) }))] }), showOpacity && value?.hex && (_jsxs("div", { style: styles.opacitySection, children: [_jsxs("div", { style: styles.opacityHeader, children: [_jsx("label", { style: styles.opacityLabel, children: "Opacity" }), _jsxs("span", { style: styles.opacityValue, children: [value.opacity ?? 100, "%"] })] }), _jsxs("div", { style: styles.opacitySlider, children: [_jsx("div", { style: styles.checkerboard }), _jsx("div", { style: {
282
+ ...readOnly ? {
283
+ cursor: 'not-allowed',
284
+ opacity: 0.5
285
+ } : {}
286
+ }
287
+ }),
288
+ /*#__PURE__*/ _jsx("input", {
289
+ type: "text",
290
+ value: hexInput,
291
+ onChange: handleHexInputChange,
292
+ onBlur: handleHexInputBlur,
293
+ placeholder: "#000000",
294
+ disabled: readOnly,
295
+ style: styles.hexInput
296
+ }),
297
+ /*#__PURE__*/ _jsxs("div", {
298
+ style: styles.previewSwatch,
299
+ title: value?.hex ? `${value.hex} at ${value.opacity ?? 100}% opacity` : 'No color selected',
300
+ children: [
301
+ /*#__PURE__*/ _jsx("div", {
302
+ style: styles.checkerboard
303
+ }),
304
+ /*#__PURE__*/ _jsx("div", {
305
+ style: {
306
+ ...styles.colorOverlay,
307
+ backgroundColor: previewColor
308
+ }
309
+ })
310
+ ]
311
+ }),
312
+ value && !readOnly && /*#__PURE__*/ _jsx("button", {
313
+ type: "button",
314
+ onClick: handleClear,
315
+ title: "Clear color",
316
+ style: styles.clearButton,
317
+ children: /*#__PURE__*/ _jsx(X, {
318
+ style: {
319
+ width: '16px',
320
+ height: '16px'
321
+ }
322
+ })
323
+ })
324
+ ]
325
+ }),
326
+ showOpacity && value?.hex && /*#__PURE__*/ _jsxs("div", {
327
+ style: styles.opacitySection,
328
+ children: [
329
+ /*#__PURE__*/ _jsxs("div", {
330
+ style: styles.opacityHeader,
331
+ children: [
332
+ /*#__PURE__*/ _jsx("label", {
333
+ style: styles.opacityLabel,
334
+ children: "Opacity"
335
+ }),
336
+ /*#__PURE__*/ _jsxs("span", {
337
+ style: styles.opacityValue,
338
+ children: [
339
+ value.opacity ?? 100,
340
+ "%"
341
+ ]
342
+ })
343
+ ]
344
+ }),
345
+ /*#__PURE__*/ _jsxs("div", {
346
+ style: styles.opacitySlider,
347
+ children: [
348
+ /*#__PURE__*/ _jsx("div", {
349
+ style: styles.checkerboard
350
+ }),
351
+ /*#__PURE__*/ _jsx("div", {
352
+ style: {
257
353
  ...styles.colorOverlay,
258
- background: `linear-gradient(to right, transparent 0%, ${value.hex} 100%)`,
259
- } }), _jsx("input", { type: "range", min: "0", max: "100", value: value.opacity ?? 100, onChange: handleOpacityChange, disabled: readOnly, style: {
354
+ background: `linear-gradient(to right, transparent 0%, ${value.hex} 100%)`
355
+ }
356
+ }),
357
+ /*#__PURE__*/ _jsx("input", {
358
+ type: "range",
359
+ min: "0",
360
+ max: "100",
361
+ value: value.opacity ?? 100,
362
+ onChange: handleOpacityChange,
363
+ disabled: readOnly,
364
+ style: {
260
365
  ...styles.opacityInput,
261
- ...(readOnly ? { cursor: 'not-allowed' } : {}),
262
- } }), _jsx("div", { style: {
366
+ ...readOnly ? {
367
+ cursor: 'not-allowed'
368
+ } : {}
369
+ }
370
+ }),
371
+ /*#__PURE__*/ _jsx("div", {
372
+ style: {
263
373
  ...styles.opacityThumb,
264
- left: `calc(${value.opacity ?? 100}% - 2px)`,
265
- } })] })] })), resolvedPresets.length > 0 && !readOnly && (_jsxs("div", { style: styles.presetsSection, children: [_jsx("label", { style: styles.presetsLabel, children: "Presets" }), _jsx("div", { style: styles.presetsGrid, children: resolvedPresets.map((preset) => {
374
+ left: `calc(${value.opacity ?? 100}% - 2px)`
375
+ }
376
+ })
377
+ ]
378
+ })
379
+ ]
380
+ }),
381
+ resolvedPresets.length > 0 && !readOnly && /*#__PURE__*/ _jsxs("div", {
382
+ style: styles.presetsSection,
383
+ children: [
384
+ /*#__PURE__*/ _jsx("label", {
385
+ style: styles.presetsLabel,
386
+ children: "Presets"
387
+ }),
388
+ /*#__PURE__*/ _jsx("div", {
389
+ style: styles.presetsGrid,
390
+ children: resolvedPresets.map((preset)=>{
266
391
  const isSelected = value?.hex?.toLowerCase() === preset.hex.toLowerCase();
267
- return (_jsx("button", { type: "button", onClick: () => handlePresetClick(preset), style: {
268
- ...(isSelected ? styles.presetButtonSelected : styles.presetButton),
269
- backgroundColor: preset.hex,
270
- }, title: preset.label }, preset.hex));
271
- }) })] }))] }));
392
+ return /*#__PURE__*/ _jsx("button", {
393
+ type: "button",
394
+ onClick: ()=>handlePresetClick(preset),
395
+ style: {
396
+ ...isSelected ? styles.presetButtonSelected : styles.presetButton,
397
+ backgroundColor: preset.hex
398
+ },
399
+ title: preset.label
400
+ }, preset.hex);
401
+ })
402
+ })
403
+ ]
404
+ })
405
+ ]
406
+ });
272
407
  }
273
- export const ColorPickerField = memo(ColorPickerFieldInner);
408
+ export const ColorPickerField = /*#__PURE__*/ memo(ColorPickerFieldInner);
274
409
  // =============================================================================
275
410
  // Field Configuration Factory
276
411
  // =============================================================================
277
412
  /**
278
413
  * Creates a Puck field configuration for color selection
279
- */
280
- export function createColorPickerField(config) {
414
+ */ export function createColorPickerField(config) {
281
415
  return {
282
416
  type: 'custom',
283
417
  label: config.label,
284
- render: ({ value, onChange, readOnly }) => (_jsx(ColorPickerField, { value: value, onChange: onChange, label: config.label, readOnly: readOnly, showOpacity: config.showOpacity, presets: config.presets })),
418
+ render: ({ value, onChange, readOnly })=>/*#__PURE__*/ _jsx(ColorPickerField, {
419
+ value: value,
420
+ onChange: onChange,
421
+ label: config.label,
422
+ readOnly: readOnly,
423
+ showOpacity: config.showOpacity,
424
+ presets: config.presets
425
+ })
285
426
  };
286
427
  }
428
+
287
429
  //# sourceMappingURL=ColorPickerField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPickerField.js","sourceRoot":"","sources":["../../src/fields/ColorPickerField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/fields/ColorPickerField.tsx"],"sourcesContent":["'use client'\n\n/**\n * ColorPickerField - Custom Puck field for selecting colors with opacity\n *\n * This component provides a color picker with:\n * - Native color input for visual picking\n * - Hex input for direct entry\n * - Opacity slider (0-100%)\n * - Preview swatch\n * - Optional preset color swatches\n */\n\nimport React, { useState, useCallback, memo, type CSSProperties } from 'react'\nimport type { CustomField } from '@puckeditor/core'\nimport { X } from 'lucide-react'\nimport type { ColorValue } from './shared.js'\nimport { useTheme } from '../theme/index.js'\n\n// =============================================================================\n// Types\n// =============================================================================\n\ninterface ColorPickerFieldProps {\n value: ColorValue | null\n onChange: (value: ColorValue | null) => void\n label?: string\n readOnly?: boolean\n showOpacity?: boolean\n presets?: Array<{ hex: string; label: string }>\n}\n\n// =============================================================================\n// Utility Functions\n// =============================================================================\n\n/**\n * Validates and normalizes a hex color string\n */\nfunction normalizeHex(hex: string): string {\n let clean = hex.replace(/^#/, '')\n\n if (clean.length === 3) {\n clean = clean.split('').map(c => c + c).join('')\n }\n\n if (!/^[0-9A-Fa-f]{6}$/.test(clean)) {\n return ''\n }\n\n return `#${clean.toLowerCase()}`\n}\n\n/**\n * Converts hex + opacity to rgba CSS string\n */\nexport function colorToRgba(hex: string, opacity: number): string {\n const clean = hex.replace(/^#/, '')\n const r = parseInt(clean.substring(0, 2), 16)\n const g = parseInt(clean.substring(2, 4), 16)\n const b = parseInt(clean.substring(4, 6), 16)\n return `rgba(${r}, ${g}, ${b}, ${opacity / 100})`\n}\n\n// =============================================================================\n// Styles\n// =============================================================================\n\nconst styles = {\n container: {\n display: 'flex',\n flexDirection: 'column',\n gap: '12px',\n } as CSSProperties,\n label: {\n display: 'block',\n fontSize: '14px',\n fontWeight: 500,\n color: 'var(--theme-elevation-800)',\n } as CSSProperties,\n row: {\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n gap: '8px',\n } as CSSProperties,\n colorInput: {\n width: '40px',\n height: '40px',\n padding: 0,\n border: '1px solid var(--theme-elevation-150)',\n borderRadius: '6px',\n cursor: 'pointer',\n } as CSSProperties,\n hexInput: {\n flex: '1 1 80px',\n minWidth: 0,\n height: '40px',\n padding: '0 12px',\n fontSize: '14px',\n fontFamily: 'monospace',\n border: '1px solid var(--theme-elevation-150)',\n borderRadius: '6px',\n backgroundColor: 'var(--theme-input-bg)',\n color: 'var(--theme-elevation-800)',\n } as CSSProperties,\n previewSwatch: {\n width: '40px',\n height: '40px',\n borderRadius: '6px',\n border: '1px solid var(--theme-elevation-150)',\n flexShrink: 0,\n position: 'relative',\n overflow: 'hidden',\n } as CSSProperties,\n checkerboard: {\n position: 'absolute',\n inset: 0,\n backgroundImage:\n 'linear-gradient(45deg, #d0d0d0 25%, transparent 25%), linear-gradient(-45deg, #d0d0d0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #d0d0d0 75%), linear-gradient(-45deg, transparent 75%, #d0d0d0 75%)',\n backgroundSize: '8px 8px',\n backgroundPosition: '0 0, 0 4px, 4px -4px, -4px 0px',\n backgroundColor: '#f0f0f0',\n } as CSSProperties,\n colorOverlay: {\n position: 'absolute',\n inset: 0,\n } as CSSProperties,\n clearButton: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '32px',\n height: '32px',\n padding: 0,\n border: 'none',\n borderRadius: '4px',\n backgroundColor: 'transparent',\n color: 'var(--theme-elevation-500)',\n cursor: 'pointer',\n flexShrink: 0,\n } as CSSProperties,\n opacitySection: {\n display: 'flex',\n flexDirection: 'column',\n gap: '4px',\n } as CSSProperties,\n opacityHeader: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n } as CSSProperties,\n opacityLabel: {\n fontSize: '12px',\n color: 'var(--theme-elevation-500)',\n } as CSSProperties,\n opacityValue: {\n fontSize: '12px',\n fontFamily: 'monospace',\n color: 'var(--theme-elevation-500)',\n } as CSSProperties,\n opacitySlider: {\n position: 'relative',\n height: '12px',\n borderRadius: '6px',\n overflow: 'hidden',\n border: '1px solid var(--theme-elevation-150)',\n } as CSSProperties,\n opacityInput: {\n position: 'absolute',\n inset: 0,\n width: '100%',\n height: '100%',\n opacity: 0,\n cursor: 'pointer',\n margin: 0,\n } as CSSProperties,\n opacityThumb: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n width: '4px',\n backgroundColor: 'white',\n border: '1px solid var(--theme-elevation-400)',\n borderRadius: '2px',\n boxShadow: '0 1px 2px rgba(0,0,0,0.1)',\n pointerEvents: 'none',\n } as CSSProperties,\n presetsSection: {\n display: 'flex',\n flexDirection: 'column',\n gap: '8px',\n } as CSSProperties,\n presetsLabel: {\n fontSize: '12px',\n color: 'var(--theme-elevation-500)',\n } as CSSProperties,\n presetsGrid: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: '6px',\n } as CSSProperties,\n presetButton: {\n width: '24px',\n height: '24px',\n padding: 0,\n borderRadius: '4px',\n cursor: 'pointer',\n border: '1px solid var(--theme-elevation-150)',\n outline: 'none',\n } as CSSProperties,\n presetButtonSelected: {\n width: '24px',\n height: '24px',\n padding: 0,\n borderRadius: '4px',\n cursor: 'pointer',\n border: '2px solid var(--theme-elevation-800)',\n outline: '2px solid var(--theme-elevation-300)',\n outlineOffset: '2px',\n } as CSSProperties,\n}\n\n// =============================================================================\n// ColorPickerField Component\n// =============================================================================\n\nfunction ColorPickerFieldInner({\n value,\n onChange,\n label,\n readOnly,\n showOpacity = true,\n presets,\n}: ColorPickerFieldProps) {\n // Use theme presets if none provided\n const theme = useTheme()\n const resolvedPresets = presets ?? theme.colorPresets\n const [hexInput, setHexInput] = useState(value?.hex || '')\n\n const handleColorChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const newHex = e.target.value\n onChange({\n hex: newHex,\n opacity: value?.opacity ?? 100,\n })\n setHexInput(newHex)\n }, [onChange, value?.opacity])\n\n const handleHexInputChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const input = e.target.value\n setHexInput(input)\n\n const normalized = normalizeHex(input)\n if (normalized) {\n onChange({\n hex: normalized,\n opacity: value?.opacity ?? 100,\n })\n }\n }, [onChange, value?.opacity])\n\n const handleHexInputBlur = useCallback(() => {\n if (value?.hex) {\n setHexInput(value.hex)\n }\n }, [value?.hex])\n\n const handleOpacityChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const newOpacity = parseInt(e.target.value, 10)\n if (value?.hex) {\n onChange({\n hex: value.hex,\n opacity: newOpacity,\n })\n }\n }, [onChange, value?.hex])\n\n const handlePresetClick = useCallback((preset: { hex: string; label: string }) => {\n onChange({\n hex: preset.hex,\n opacity: value?.opacity ?? 100,\n })\n setHexInput(preset.hex)\n }, [onChange, value?.opacity])\n\n const handleClear = useCallback(() => {\n onChange(null)\n setHexInput('')\n }, [onChange])\n\n const previewColor = value?.hex\n ? colorToRgba(value.hex, value.opacity ?? 100)\n : 'transparent'\n\n return (\n <div className=\"puck-field\" style={styles.container}>\n {label && (\n <label style={styles.label}>\n {label}\n </label>\n )}\n\n {/* Color picker and hex input row */}\n <div style={styles.row}>\n {/* Native color picker */}\n <input\n type=\"color\"\n value={value?.hex || '#000000'}\n onChange={handleColorChange}\n disabled={readOnly}\n style={{\n ...styles.colorInput,\n ...(readOnly ? { cursor: 'not-allowed', opacity: 0.5 } : {}),\n }}\n />\n\n {/* Hex input */}\n <input\n type=\"text\"\n value={hexInput}\n onChange={handleHexInputChange}\n onBlur={handleHexInputBlur}\n placeholder=\"#000000\"\n disabled={readOnly}\n style={styles.hexInput}\n />\n\n {/* Preview swatch with checkerboard for transparency */}\n <div\n style={styles.previewSwatch as CSSProperties}\n title={value?.hex ? `${value.hex} at ${value.opacity ?? 100}% opacity` : 'No color selected'}\n >\n <div style={styles.checkerboard as CSSProperties} />\n <div style={{ ...styles.colorOverlay as CSSProperties, backgroundColor: previewColor }} />\n </div>\n\n {/* Clear button */}\n {value && !readOnly && (\n <button\n type=\"button\"\n onClick={handleClear}\n title=\"Clear color\"\n style={styles.clearButton}\n >\n <X style={{ width: '16px', height: '16px' }} />\n </button>\n )}\n </div>\n\n {/* Opacity slider */}\n {showOpacity && value?.hex && (\n <div style={styles.opacitySection as CSSProperties}>\n <div style={styles.opacityHeader}>\n <label style={styles.opacityLabel}>Opacity</label>\n <span style={styles.opacityValue}>{value.opacity ?? 100}%</span>\n </div>\n {/* Custom opacity slider with checkerboard + color gradient */}\n <div style={styles.opacitySlider as CSSProperties}>\n {/* Checkerboard background */}\n <div style={styles.checkerboard as CSSProperties} />\n {/* Color gradient from transparent to solid */}\n <div\n style={{\n ...styles.colorOverlay as CSSProperties,\n background: `linear-gradient(to right, transparent 0%, ${value.hex} 100%)`,\n }}\n />\n {/* Range input overlay */}\n <input\n type=\"range\"\n min=\"0\"\n max=\"100\"\n value={value.opacity ?? 100}\n onChange={handleOpacityChange}\n disabled={readOnly}\n style={{\n ...styles.opacityInput as CSSProperties,\n ...(readOnly ? { cursor: 'not-allowed' } : {}),\n }}\n />\n {/* Thumb indicator */}\n <div\n style={{\n ...styles.opacityThumb as CSSProperties,\n left: `calc(${value.opacity ?? 100}% - 2px)`,\n }}\n />\n </div>\n </div>\n )}\n\n {/* Preset swatches */}\n {resolvedPresets.length > 0 && !readOnly && (\n <div style={styles.presetsSection as CSSProperties}>\n <label style={styles.presetsLabel}>Presets</label>\n <div style={styles.presetsGrid}>\n {resolvedPresets.map((preset) => {\n const isSelected = value?.hex?.toLowerCase() === preset.hex.toLowerCase()\n return (\n <button\n key={preset.hex}\n type=\"button\"\n onClick={() => handlePresetClick(preset)}\n style={{\n ...(isSelected ? styles.presetButtonSelected : styles.presetButton),\n backgroundColor: preset.hex,\n }}\n title={preset.label}\n />\n )\n })}\n </div>\n </div>\n )}\n </div>\n )\n}\n\nexport const ColorPickerField = memo(ColorPickerFieldInner)\n\n// =============================================================================\n// Field Configuration Factory\n// =============================================================================\n\n/**\n * Creates a Puck field configuration for color selection\n */\nexport function createColorPickerField(config: {\n label?: string\n showOpacity?: boolean\n presets?: Array<{ hex: string; label: string }>\n}): CustomField<ColorValue | null> {\n return {\n type: 'custom',\n label: config.label,\n render: ({ value, onChange, readOnly }) => (\n <ColorPickerField\n value={value}\n onChange={onChange}\n label={config.label}\n readOnly={readOnly}\n showOpacity={config.showOpacity}\n presets={config.presets}\n />\n ),\n }\n}\n"],"names":["React","useState","useCallback","memo","X","useTheme","normalizeHex","hex","clean","replace","length","split","map","c","join","test","toLowerCase","colorToRgba","opacity","r","parseInt","substring","g","b","styles","container","display","flexDirection","gap","label","fontSize","fontWeight","color","row","alignItems","flexWrap","colorInput","width","height","padding","border","borderRadius","cursor","hexInput","flex","minWidth","fontFamily","backgroundColor","previewSwatch","flexShrink","position","overflow","checkerboard","inset","backgroundImage","backgroundSize","backgroundPosition","colorOverlay","clearButton","justifyContent","opacitySection","opacityHeader","opacityLabel","opacityValue","opacitySlider","opacityInput","margin","opacityThumb","top","bottom","boxShadow","pointerEvents","presetsSection","presetsLabel","presetsGrid","presetButton","outline","presetButtonSelected","outlineOffset","ColorPickerFieldInner","value","onChange","readOnly","showOpacity","presets","theme","resolvedPresets","colorPresets","setHexInput","handleColorChange","e","newHex","target","handleHexInputChange","input","normalized","handleHexInputBlur","handleOpacityChange","newOpacity","handlePresetClick","preset","handleClear","previewColor","div","className","style","type","disabled","onBlur","placeholder","title","button","onClick","span","background","min","max","left","isSelected","ColorPickerField","createColorPickerField","config","render"],"mappings":"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"}
@@ -25,7 +25,7 @@ interface ContentAlignmentFieldProps {
25
25
  /** Default alignment when null */
26
26
  defaultValue?: ContentAlignmentValue;
27
27
  }
28
- declare function ContentAlignmentFieldInner({ value, onChange, label, readOnly, defaultValue, }: ContentAlignmentFieldProps): import("react/jsx-runtime").JSX.Element;
28
+ declare function ContentAlignmentFieldInner({ value, onChange, label, readOnly, defaultValue, }: ContentAlignmentFieldProps): React.JSX.Element;
29
29
  export declare const ContentAlignmentField: React.MemoExoticComponent<typeof ContentAlignmentFieldInner>;
30
30
  /**
31
31
  * Convert ContentAlignmentValue to Flexbox CSS properties
@@ -1 +1 @@
1
- {"version":3,"file":"ContentAlignmentField.d.ts","sourceRoot":"","sources":["../../src/fields/ContentAlignmentField.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAgD,MAAM,OAAO,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAOnD,2BAA2B;AAC3B,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAExD,yBAAyB;AACzB,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEtD,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,eAAe,CAAA;IAC3B,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED,wCAAwC;AACxC,MAAM,MAAM,aAAa,GACrB,UAAU,GAAG,YAAY,GAAG,WAAW,GACvC,aAAa,GAAG,QAAQ,GAAG,cAAc,GACzC,aAAa,GAAG,eAAe,GAAG,cAAc,CAAA;AAEpD,UAAU,0BAA0B;IAClC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAA;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kCAAkC;IAClC,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACrC;AAkID,iBAAS,0BAA0B,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,KAA2B,EAC3B,QAAQ,EACR,YAAgC,GACjC,EAAE,0BAA0B,2CA2E5B;AAED,eAAO,MAAM,qBAAqB,8DAAmC,CAAA;AAMrE;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAClD,KAAK,CAAC,aAAa,CAmBrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAClD,KAAK,CAAC,aAAa,CAarB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAClD,KAAK,CAAC,aAAa,CAYrB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAClD,MAAM,CAgBR;AAMD,UAAU,iCAAiC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,GAAE,iCAAsC,GAC7C,WAAW,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAc3C"}
1
+ {"version":3,"file":"ContentAlignmentField.d.ts","sourceRoot":"","sources":["../../src/fields/ContentAlignmentField.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAgD,MAAM,OAAO,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAOnD,2BAA2B;AAC3B,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAExD,yBAAyB;AACzB,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEtD,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,eAAe,CAAA;IAC3B,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED,wCAAwC;AACxC,MAAM,MAAM,aAAa,GACrB,UAAU,GAAG,YAAY,GAAG,WAAW,GACvC,aAAa,GAAG,QAAQ,GAAG,cAAc,GACzC,aAAa,GAAG,eAAe,GAAG,cAAc,CAAA;AAEpD,UAAU,0BAA0B;IAClC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAA;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kCAAkC;IAClC,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACrC;AAkID,iBAAS,0BAA0B,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,KAA2B,EAC3B,QAAQ,EACR,YAAgC,GACjC,EAAE,0BAA0B,qBA2E5B;AAED,eAAO,MAAM,qBAAqB,8DAAmC,CAAA;AAMrE;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAClD,KAAK,CAAC,aAAa,CAmBrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAClD,KAAK,CAAC,aAAa,CAarB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAClD,KAAK,CAAC,aAAa,CAYrB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAClD,MAAM,CAgBR;AAMD,UAAU,iCAAiC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,GAAE,iCAAsC,GAC7C,WAAW,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAc3C"}