@delmaredigital/payload-puck 0.6.12 → 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 +50 -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 +4 -4
  260. package/dist/editor/PuckEditor.d.ts.map +1 -1
  261. package/dist/editor/PuckEditor.js +162 -70
  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 +190 -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 +6 -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 +106 -38
  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
package/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  A PayloadCMS plugin for integrating [Puck](https://puckeditor.com) visual page builder. Build pages visually with drag-and-drop components while leveraging Payload's content management capabilities.
4
4
 
5
+ [![Demo](https://img.shields.io/badge/Demo-Live-blue)](https://demo.delmaredigital.com)
6
+ [![Starter Template](https://img.shields.io/badge/Starter-Template-green)](https://github.com/delmaredigital/dd-starter)
7
+ [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fdelmaredigital%2Fdd-starter&project-name=my-payload-site&build-command=pnpm%20run%20ci&env=PAYLOAD_SECRET,BETTER_AUTH_SECRET&stores=%5B%7B%22type%22%3A%22integration%22%2C%22protocol%22%3A%22storage%22%2C%22productSlug%22%3A%22neon%22%2C%22integrationSlug%22%3A%22neon%22%7D%2C%7B%22type%22%3A%22blob%22%7D%5D)
8
+
5
9
  ---
6
10
 
7
11
  ## Table of Contents
@@ -20,6 +24,7 @@ A PayloadCMS plugin for integrating [Puck](https://puckeditor.com) visual page b
20
24
  - [Page-Tree Integration](#page-tree-integration)
21
25
  - [Hybrid Integration](#hybrid-integration)
22
26
  - [AI Integration](#ai-integration)
27
+ - [Plugin Order](#plugin-order)
23
28
  - [Advanced Configuration](#advanced-configuration)
24
29
  - [License](#license)
25
30
 
@@ -959,6 +964,8 @@ function useDetectTheme() {
959
964
 
960
965
  When `@delmaredigital/payload-page-tree` is detected, the plugin automatically adds folder management to the Puck sidebar.
961
966
 
967
+ > **⚠️ Plugin Order:** When using both plugins with `autoGenerateCollection: true`, Puck must run BEFORE page-tree. See [Plugin Order](#plugin-order).
968
+
962
969
  ### How It Works
963
970
 
964
971
  The plugin checks if your collection has a `pageSegment` field (page-tree's signature). When detected:
@@ -1306,6 +1313,48 @@ import {
1306
1313
 
1307
1314
  ---
1308
1315
 
1316
+ ## Plugin Order
1317
+
1318
+ When using `autoGenerateCollection: true` (the default) with `@delmaredigital/payload-page-tree`, **plugin order matters**.
1319
+
1320
+ ### The Issue
1321
+
1322
+ The page-tree plugin validates configured collections when it initializes. If Puck hasn't created the collection yet, page-tree won't see it and will skip adding its fields (folder relationships, slug generation, etc.).
1323
+
1324
+ ### Correct Order
1325
+
1326
+ ```typescript
1327
+ // ✅ CORRECT: Puck creates the collection before page-tree runs
1328
+ export const plugins = [
1329
+ createPuckPlugin({ pagesCollection: 'pages' }), // Creates Pages first
1330
+ pageTreePlugin({ collections: ['pages'] }), // Now sees Pages
1331
+ ]
1332
+
1333
+ // ❌ WRONG: page-tree runs before Pages exists
1334
+ export const plugins = [
1335
+ pageTreePlugin({ collections: ['pages'] }), // Pages doesn't exist!
1336
+ createPuckPlugin({ pagesCollection: 'pages' }), // Creates Pages too late
1337
+ ]
1338
+ ```
1339
+
1340
+ ### When Order Doesn't Matter
1341
+
1342
+ If you define your collection manually (with `autoGenerateCollection: false`), order doesn't matter because the collection already exists in your config:
1343
+
1344
+ ```typescript
1345
+ export default buildConfig({
1346
+ collections: [Pages], // Collection exists before plugins run
1347
+ plugins: [
1348
+ pageTreePlugin({ collections: ['pages'] }),
1349
+ createPuckPlugin({ pagesCollection: 'pages', autoGenerateCollection: false }),
1350
+ ],
1351
+ })
1352
+ ```
1353
+
1354
+ See also: [payload-page-tree Plugin Order documentation](https://github.com/delmaredigital/payload-page-tree#plugin-order-critical)
1355
+
1356
+ ---
1357
+
1309
1358
  ## Advanced Configuration
1310
1359
 
1311
1360
  ### Plugin Options
@@ -1313,7 +1362,7 @@ import {
1313
1362
  | Option | Default | Description |
1314
1363
  |--------|---------|-------------|
1315
1364
  | `pagesCollection` | `'pages'` | Collection slug to use for pages |
1316
- | `autoGenerateCollection` | `true` | Create the collection if it doesn't exist, or add Puck fields to existing |
1365
+ | `autoGenerateCollection` | `true` | Create the collection if it doesn't exist, or add Puck fields to existing (see [Plugin Order](#plugin-order)) |
1317
1366
  | `enableEndpoints` | `true` | Register API endpoints at `/api/puck/:collection` for the editor |
1318
1367
  | `enableAdminView` | `true` | Register the Puck editor view in Payload admin |
1319
1368
  | `adminViewPath` | `'/puck-editor'` | Path for the editor (full path: `/admin/puck-editor/:collection/:id`) |
@@ -69,6 +69,6 @@ export declare const EditWithPuckButton: UIFieldClientComponent;
69
69
  export declare function EditWithPuckLink({ id, collectionSlug, editorPathPattern, label, iconOnly, }: EditWithPuckButtonProps & {
70
70
  id: string;
71
71
  adminRoute?: string;
72
- }): import("react/jsx-runtime").JSX.Element;
72
+ }): import("react").JSX.Element;
73
73
  export default EditWithPuckButton;
74
74
  //# sourceMappingURL=EditWithPuckButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditWithPuckButton.d.ts","sourceRoot":"","sources":["../../src/admin/EditWithPuckButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAwBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,kBAAkB,EAAE,sBA4DhC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,cAAwB,EACxB,iBAAiB,EACjB,KAAuB,EACvB,QAAgB,GACjB,EAAE,uBAAuB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,2CAkC/D;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"EditWithPuckButton.d.ts","sourceRoot":"","sources":["../../src/admin/EditWithPuckButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAwBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,kBAAkB,EAAE,sBA4DhC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,cAAwB,EACxB,iBAAiB,EACjB,KAAuB,EACvB,QAAgB,GACjB,EAAE,uBAAuB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,+BAkC/D;AAED,eAAe,kBAAkB,CAAA"}
@@ -3,9 +3,26 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useDocumentInfo, useConfig } from '@payloadcms/ui';
4
4
  /**
5
5
  * Pencil/Edit icon component
6
- */
7
- function PuckIcon({ size = 18 }) {
8
- return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }), _jsx("path", { d: "M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z" })] }));
6
+ */ function PuckIcon({ size = 18 }) {
7
+ return /*#__PURE__*/ _jsxs("svg", {
8
+ xmlns: "http://www.w3.org/2000/svg",
9
+ width: size,
10
+ height: size,
11
+ viewBox: "0 0 24 24",
12
+ fill: "none",
13
+ stroke: "currentColor",
14
+ strokeWidth: "2",
15
+ strokeLinecap: "round",
16
+ strokeLinejoin: "round",
17
+ children: [
18
+ /*#__PURE__*/ _jsx("path", {
19
+ d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"
20
+ }),
21
+ /*#__PURE__*/ _jsx("path", {
22
+ d: "M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z"
23
+ })
24
+ ]
25
+ });
9
26
  }
10
27
  /**
11
28
  * Edit with Puck button for use in Payload admin document edit views
@@ -30,8 +47,7 @@ function PuckIcon({ size = 18 }) {
30
47
  * },
31
48
  * }
32
49
  * ```
33
- */
34
- export const EditWithPuckButton = (props) => {
50
+ */ export const EditWithPuckButton = (props)=>{
35
51
  // Get document and config context from Payload
36
52
  const { id, collectionSlug } = useDocumentInfo();
37
53
  const { config } = useConfig();
@@ -46,18 +62,21 @@ export const EditWithPuckButton = (props) => {
46
62
  let editorPath;
47
63
  if (customProps?.editorPathPattern) {
48
64
  // Custom pattern provided (for backwards compatibility)
49
- editorPath = customProps.editorPathPattern
50
- .replace('{id}', String(id))
51
- .replace('{collection}', collection);
52
- }
53
- else {
65
+ editorPath = customProps.editorPathPattern.replace('{id}', String(id)).replace('{collection}', collection);
66
+ } else {
54
67
  // Default: use admin view
55
68
  editorPath = `${adminRoute}/puck-editor/${collection}/${id}`;
56
69
  }
57
70
  if (!id) {
58
71
  return null;
59
72
  }
60
- return (_jsx("div", { style: { marginBottom: '1rem' }, children: _jsxs("a", { href: editorPath, style: {
73
+ return /*#__PURE__*/ _jsx("div", {
74
+ style: {
75
+ marginBottom: '1rem'
76
+ },
77
+ children: /*#__PURE__*/ _jsxs("a", {
78
+ href: editorPath,
79
+ style: {
61
80
  display: 'inline-flex',
62
81
  alignItems: 'center',
63
82
  gap: '8px',
@@ -68,12 +87,23 @@ export const EditWithPuckButton = (props) => {
68
87
  textDecoration: 'none',
69
88
  fontSize: '14px',
70
89
  fontWeight: 500,
71
- transition: 'background-color 0.15s, opacity 0.15s',
72
- }, onMouseEnter: (e) => {
90
+ transition: 'background-color 0.15s, opacity 0.15s'
91
+ },
92
+ onMouseEnter: (e)=>{
73
93
  e.currentTarget.style.opacity = '0.9';
74
- }, onMouseLeave: (e) => {
94
+ },
95
+ onMouseLeave: (e)=>{
75
96
  e.currentTarget.style.opacity = '1';
76
- }, title: iconOnly ? label : undefined, children: [_jsx(PuckIcon, { size: iconOnly ? 20 : 18 }), !iconOnly && label] }) }));
97
+ },
98
+ title: iconOnly ? label : undefined,
99
+ children: [
100
+ /*#__PURE__*/ _jsx(PuckIcon, {
101
+ size: iconOnly ? 20 : 18
102
+ }),
103
+ !iconOnly && label
104
+ ]
105
+ })
106
+ });
77
107
  };
78
108
  /**
79
109
  * Standalone version of the button that doesn't rely on Payload context
@@ -86,13 +116,12 @@ export const EditWithPuckButton = (props) => {
86
116
  * adminRoute="/admin"
87
117
  * />
88
118
  * ```
89
- */
90
- export function EditWithPuckLink({ id, collectionSlug = 'pages', editorPathPattern, label = 'Visual Editor', iconOnly = false, }) {
119
+ */ export function EditWithPuckLink({ id, collectionSlug = 'pages', editorPathPattern, label = 'Visual Editor', iconOnly = false }) {
91
120
  // Build path - prefer admin view by default
92
- const path = editorPathPattern
93
- ? editorPathPattern.replace('{id}', id).replace('{collection}', collectionSlug)
94
- : `/admin/puck-editor/${collectionSlug}/${id}`;
95
- return (_jsxs("a", { href: path, style: {
121
+ const path = editorPathPattern ? editorPathPattern.replace('{id}', id).replace('{collection}', collectionSlug) : `/admin/puck-editor/${collectionSlug}/${id}`;
122
+ return /*#__PURE__*/ _jsxs("a", {
123
+ href: path,
124
+ style: {
96
125
  display: 'inline-flex',
97
126
  alignItems: 'center',
98
127
  gap: '8px',
@@ -103,12 +132,23 @@ export function EditWithPuckLink({ id, collectionSlug = 'pages', editorPathPatte
103
132
  textDecoration: 'none',
104
133
  fontSize: '14px',
105
134
  fontWeight: 500,
106
- transition: 'opacity 0.15s',
107
- }, onMouseEnter: (e) => {
135
+ transition: 'opacity 0.15s'
136
+ },
137
+ onMouseEnter: (e)=>{
108
138
  e.currentTarget.style.opacity = '0.9';
109
- }, onMouseLeave: (e) => {
139
+ },
140
+ onMouseLeave: (e)=>{
110
141
  e.currentTarget.style.opacity = '1';
111
- }, title: iconOnly ? label : undefined, children: [_jsx(PuckIcon, { size: iconOnly ? 20 : 18 }), !iconOnly && label] }));
142
+ },
143
+ title: iconOnly ? label : undefined,
144
+ children: [
145
+ /*#__PURE__*/ _jsx(PuckIcon, {
146
+ size: iconOnly ? 20 : 18
147
+ }),
148
+ !iconOnly && label
149
+ ]
150
+ });
112
151
  }
113
152
  export default EditWithPuckButton;
153
+
114
154
  //# sourceMappingURL=EditWithPuckButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditWithPuckButton.js","sourceRoot":"","sources":["../../src/admin/EditWithPuckButton.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/admin/EditWithPuckButton.tsx"],"sourcesContent":["'use client'\n\nimport type { UIFieldClientComponent } from 'payload'\nimport { useDocumentInfo, useConfig } from '@payloadcms/ui'\n\n/**\n * Props for EditWithPuckButton when used standalone\n */\nexport interface EditWithPuckButtonProps {\n /**\n * Document ID to edit\n */\n id?: string\n /**\n * Collection slug\n * @default 'pages'\n */\n collectionSlug?: string\n /**\n * Custom path pattern for the Puck editor\n * Use {id} as placeholder for the document ID, {collection} for collection slug\n * @default Uses admin view: '/admin/puck-editor/{collection}/{id}'\n */\n editorPathPattern?: string\n /**\n * Button label\n * @default 'Visual Editor'\n */\n label?: string\n /**\n * Whether to show as icon only\n * @default false\n */\n iconOnly?: boolean\n}\n\n/**\n * Pencil/Edit icon component\n */\nfunction PuckIcon({ size = 18 }: { size?: number }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\" />\n <path d=\"M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z\" />\n </svg>\n )\n}\n\n/**\n * Edit with Puck button for use in Payload admin document edit views\n *\n * Links to the Puck editor admin view. The editor is integrated directly\n * into Payload's admin UI.\n *\n * @example\n * ```tsx\n * // In your Payload collection config:\n * {\n * name: 'puckEdit',\n * type: 'ui',\n * admin: {\n * position: 'sidebar',\n * components: {\n * Field: '@delmaredigital/payload-puck/admin/client#EditWithPuckButton',\n * },\n * custom: {\n * label: 'Visual Editor',\n * },\n * },\n * }\n * ```\n */\nexport const EditWithPuckButton: UIFieldClientComponent = (props) => {\n // Get document and config context from Payload\n const { id, collectionSlug } = useDocumentInfo()\n const { config } = useConfig()\n\n // Extract custom props passed via field config\n const customProps = (props as any)?.field?.custom as EditWithPuckButtonProps | undefined\n const label = customProps?.label || 'Visual Editor'\n const iconOnly = customProps?.iconOnly || false\n const collection = customProps?.collectionSlug || collectionSlug || 'pages'\n\n // Get admin route from config\n const adminRoute = config.routes?.admin || '/admin'\n\n // Build editor URL - defaults to admin view\n let editorPath: string\n if (customProps?.editorPathPattern) {\n // Custom pattern provided (for backwards compatibility)\n editorPath = customProps.editorPathPattern\n .replace('{id}', String(id))\n .replace('{collection}', collection)\n } else {\n // Default: use admin view\n editorPath = `${adminRoute}/puck-editor/${collection}/${id}`\n }\n\n if (!id) {\n return null\n }\n\n return (\n <div style={{ marginBottom: '1rem' }}>\n <a\n href={editorPath}\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n padding: iconOnly ? '8px' : '10px 16px',\n backgroundColor: 'var(--theme-success-500, #22c55e)',\n color: 'white',\n borderRadius: '6px',\n textDecoration: 'none',\n fontSize: '14px',\n fontWeight: 500,\n transition: 'background-color 0.15s, opacity 0.15s',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.opacity = '0.9'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.opacity = '1'\n }}\n title={iconOnly ? label : undefined}\n >\n <PuckIcon size={iconOnly ? 20 : 18} />\n {!iconOnly && label}\n </a>\n </div>\n )\n}\n\n/**\n * Standalone version of the button that doesn't rely on Payload context\n *\n * @example\n * ```tsx\n * <EditWithPuckLink\n * id=\"123\"\n * collectionSlug=\"pages\"\n * adminRoute=\"/admin\"\n * />\n * ```\n */\nexport function EditWithPuckLink({\n id,\n collectionSlug = 'pages',\n editorPathPattern,\n label = 'Visual Editor',\n iconOnly = false,\n}: EditWithPuckButtonProps & { id: string; adminRoute?: string }) {\n // Build path - prefer admin view by default\n const path = editorPathPattern\n ? editorPathPattern.replace('{id}', id).replace('{collection}', collectionSlug)\n : `/admin/puck-editor/${collectionSlug}/${id}`\n\n return (\n <a\n href={path}\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n padding: iconOnly ? '8px' : '10px 16px',\n backgroundColor: 'var(--theme-success-500, #22c55e)',\n color: 'white',\n borderRadius: '6px',\n textDecoration: 'none',\n fontSize: '14px',\n fontWeight: 500,\n transition: 'opacity 0.15s',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.opacity = '0.9'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.opacity = '1'\n }}\n title={iconOnly ? label : undefined}\n >\n <PuckIcon size={iconOnly ? 20 : 18} />\n {!iconOnly && label}\n </a>\n )\n}\n\nexport default EditWithPuckButton\n"],"names":["useDocumentInfo","useConfig","PuckIcon","size","svg","xmlns","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","path","d","EditWithPuckButton","props","id","collectionSlug","config","customProps","field","custom","label","iconOnly","collection","adminRoute","routes","admin","editorPath","editorPathPattern","replace","String","div","style","marginBottom","a","href","display","alignItems","gap","padding","backgroundColor","color","borderRadius","textDecoration","fontSize","fontWeight","transition","onMouseEnter","e","currentTarget","opacity","onMouseLeave","title","undefined","EditWithPuckLink"],"mappings":"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"}
@@ -2,9 +2,26 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /**
4
4
  * Pencil/Edit icon component
5
- */
6
- function PuckIcon({ size = 16 }) {
7
- return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }), _jsx("path", { d: "M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z" })] }));
5
+ */ function PuckIcon({ size = 16 }) {
6
+ return /*#__PURE__*/ _jsxs("svg", {
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ width: size,
9
+ height: size,
10
+ viewBox: "0 0 24 24",
11
+ fill: "none",
12
+ stroke: "currentColor",
13
+ strokeWidth: "2",
14
+ strokeLinecap: "round",
15
+ strokeLinejoin: "round",
16
+ children: [
17
+ /*#__PURE__*/ _jsx("path", {
18
+ d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"
19
+ }),
20
+ /*#__PURE__*/ _jsx("path", {
21
+ d: "M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z"
22
+ })
23
+ ]
24
+ });
8
25
  }
9
26
  /**
10
27
  * Custom cell component that renders an "Edit with Puck" button in list views
@@ -28,8 +45,7 @@ function PuckIcon({ size = 16 }) {
28
45
  * },
29
46
  * }
30
47
  * ```
31
- */
32
- export const EditWithPuckCell = ({ rowData, field, collectionSlug: contextCollectionSlug, }) => {
48
+ */ export const EditWithPuckCell = ({ rowData, field, collectionSlug: contextCollectionSlug })=>{
33
49
  // Get document ID from row data
34
50
  const id = rowData?.id;
35
51
  // Get custom config from field
@@ -39,10 +55,11 @@ export const EditWithPuckCell = ({ rowData, field, collectionSlug: contextCollec
39
55
  return null;
40
56
  }
41
57
  // Build editor URL
42
- const editorPath = customConfig?.editorPathPattern
43
- ? customConfig.editorPathPattern.replace('{id}', id).replace('{collectionSlug}', collectionSlug)
44
- : `/admin/puck/${collectionSlug}/${id}/edit`;
45
- return (_jsxs("a", { href: editorPath, onClick: (e) => e.stopPropagation(), style: {
58
+ const editorPath = customConfig?.editorPathPattern ? customConfig.editorPathPattern.replace('{id}', id).replace('{collectionSlug}', collectionSlug) : `/admin/puck/${collectionSlug}/${id}/edit`;
59
+ return /*#__PURE__*/ _jsxs("a", {
60
+ href: editorPath,
61
+ onClick: (e)=>e.stopPropagation(),
62
+ style: {
46
63
  display: 'inline-flex',
47
64
  alignItems: 'center',
48
65
  justifyContent: 'center',
@@ -55,12 +72,25 @@ export const EditWithPuckCell = ({ rowData, field, collectionSlug: contextCollec
55
72
  fontWeight: 500,
56
73
  gap: '4px',
57
74
  transition: 'background-color 0.2s',
58
- whiteSpace: 'nowrap',
59
- }, onMouseEnter: (e) => {
75
+ whiteSpace: 'nowrap'
76
+ },
77
+ onMouseEnter: (e)=>{
60
78
  e.currentTarget.style.backgroundColor = '#1d4ed8';
61
- }, onMouseLeave: (e) => {
79
+ },
80
+ onMouseLeave: (e)=>{
62
81
  e.currentTarget.style.backgroundColor = '#2563eb';
63
- }, title: "Visual Editor", children: [_jsx(PuckIcon, { size: 14 }), _jsx("span", { children: "Visual Editor" })] }));
82
+ },
83
+ title: "Visual Editor",
84
+ children: [
85
+ /*#__PURE__*/ _jsx(PuckIcon, {
86
+ size: 14
87
+ }),
88
+ /*#__PURE__*/ _jsx("span", {
89
+ children: "Visual Editor"
90
+ })
91
+ ]
92
+ });
64
93
  };
65
94
  export default EditWithPuckCell;
95
+
66
96
  //# sourceMappingURL=EditWithPuckCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditWithPuckCell.js","sourceRoot":"","sources":["../../src/admin/EditWithPuckCell.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAqBZ;;GAEG;AACH,SAAS,QAAQ,CAAC,EAAE,IAAI,GAAG,EAAE,EAAqB;IAChD,OAAO,CACL,eACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,aAEtB,eAAM,CAAC,EAAC,4DAA4D,GAAG,EACvE,eAAM,CAAC,EAAC,qDAAqD,GAAG,IAC5D,CACP,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwC,CAAC,EACpE,OAAO,EACP,KAAK,EACL,cAAc,EAAE,qBAAqB,GACtC,EAAE,EAAE;IACH,gCAAgC;IAChC,MAAM,EAAE,GAAG,OAAO,EAAE,EAAwB,CAAA;IAE5C,+BAA+B;IAC/B,MAAM,YAAY,GAAI,KAAa,EAAE,MAA4C,CAAA;IACjF,MAAM,cAAc,GAAG,YAAY,EAAE,cAAc,IAAI,qBAAqB,IAAI,OAAO,CAAA;IAEvF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mBAAmB;IACnB,MAAM,UAAU,GAAG,YAAY,EAAE,iBAAiB;QAChD,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC;QAChG,CAAC,CAAC,eAAe,cAAc,IAAI,EAAE,OAAO,CAAA;IAE9C,OAAO,CACL,aACE,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,OAAO,EAAE,UAAU;YACnB,eAAe,EAAE,SAAS;YAC1B,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,MAAM;YACtB,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,GAAG;YACf,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,uBAAuB;YACnC,UAAU,EAAE,QAAQ;SACrB,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAA;QACnD,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAA;QACnD,CAAC,EACD,KAAK,EAAC,eAAe,aAErB,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,EACtB,2CAA0B,IACxB,CACL,CAAA;AACH,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"sources":["../../src/admin/EditWithPuckCell.tsx"],"sourcesContent":["'use client'\n\nimport type { DefaultCellComponentProps } from 'payload'\n\n/**\n * Props for configuring the EditWithPuckCell component\n */\nexport interface EditWithPuckCellConfig {\n /**\n * Collection slug for building the editor URL\n * @default 'pages'\n */\n collectionSlug?: string\n /**\n * Custom editor path pattern\n * Use {id} as placeholder for the document ID\n * @default '/admin/puck/{collectionSlug}/{id}/edit'\n */\n editorPathPattern?: string\n}\n\n/**\n * Pencil/Edit icon component\n */\nfunction PuckIcon({ size = 16 }: { size?: number }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\" />\n <path d=\"M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z\" />\n </svg>\n )\n}\n\n/**\n * Custom cell component that renders an \"Edit with Puck\" button in list views\n *\n * Add this to a UI field in your collection to show the visual editor button\n * in the list view table.\n *\n * @example\n * ```ts\n * // In your collection config:\n * {\n * name: 'puckEdit',\n * type: 'ui',\n * admin: {\n * components: {\n * Cell: '@delmaredigital/payload-puck/admin#EditWithPuckCell',\n * },\n * custom: {\n * collectionSlug: 'pages',\n * },\n * },\n * }\n * ```\n */\nexport const EditWithPuckCell: React.FC<DefaultCellComponentProps> = ({\n rowData,\n field,\n collectionSlug: contextCollectionSlug,\n}) => {\n // Get document ID from row data\n const id = rowData?.id as string | undefined\n\n // Get custom config from field\n const customConfig = (field as any)?.custom as EditWithPuckCellConfig | undefined\n const collectionSlug = customConfig?.collectionSlug || contextCollectionSlug || 'pages'\n\n if (!id) {\n return null\n }\n\n // Build editor URL\n const editorPath = customConfig?.editorPathPattern\n ? customConfig.editorPathPattern.replace('{id}', id).replace('{collectionSlug}', collectionSlug)\n : `/admin/puck/${collectionSlug}/${id}/edit`\n\n return (\n <a\n href={editorPath}\n onClick={(e) => e.stopPropagation()}\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '6px 10px',\n backgroundColor: '#2563eb',\n color: '#fff',\n borderRadius: '4px',\n textDecoration: 'none',\n fontSize: '12px',\n fontWeight: 500,\n gap: '4px',\n transition: 'background-color 0.2s',\n whiteSpace: 'nowrap',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = '#1d4ed8'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = '#2563eb'\n }}\n title=\"Visual Editor\"\n >\n <PuckIcon size={14} />\n <span>Visual Editor</span>\n </a>\n )\n}\n\nexport default EditWithPuckCell\n"],"names":["PuckIcon","size","svg","xmlns","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","path","d","EditWithPuckCell","rowData","field","collectionSlug","contextCollectionSlug","id","customConfig","custom","editorPath","editorPathPattern","replace","a","href","onClick","e","stopPropagation","style","display","alignItems","justifyContent","padding","backgroundColor","color","borderRadius","textDecoration","fontSize","fontWeight","gap","transition","whiteSpace","onMouseEnter","currentTarget","onMouseLeave","title","span"],"mappings":"AAAA;;AAqBA;;CAEC,GACD,SAASA,SAAS,EAAEC,OAAO,EAAE,EAAqB;IAChD,qBACE,MAACC;QACCC,OAAM;QACNC,OAAOH;QACPI,QAAQJ;QACRK,SAAQ;QACRC,MAAK;QACLC,QAAO;QACPC,aAAY;QACZC,eAAc;QACdC,gBAAe;;0BAEf,KAACC;gBAAKC,GAAE;;0BACR,KAACD;gBAAKC,GAAE;;;;AAGd;AAEA;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,MAAMC,mBAAwD,CAAC,EACpEC,OAAO,EACPC,KAAK,EACLC,gBAAgBC,qBAAqB,EACtC;IACC,gCAAgC;IAChC,MAAMC,KAAKJ,SAASI;IAEpB,+BAA+B;IAC/B,MAAMC,eAAgBJ,OAAeK;IACrC,MAAMJ,iBAAiBG,cAAcH,kBAAkBC,yBAAyB;IAEhF,IAAI,CAACC,IAAI;QACP,OAAO;IACT;IAEA,mBAAmB;IACnB,MAAMG,aAAaF,cAAcG,oBAC7BH,aAAaG,iBAAiB,CAACC,OAAO,CAAC,QAAQL,IAAIK,OAAO,CAAC,oBAAoBP,kBAC/E,CAAC,YAAY,EAAEA,eAAe,CAAC,EAAEE,GAAG,KAAK,CAAC;IAE9C,qBACE,MAACM;QACCC,MAAMJ;QACNK,SAAS,CAACC,IAAMA,EAAEC,eAAe;QACjCC,OAAO;YACLC,SAAS;YACTC,YAAY;YACZC,gBAAgB;YAChBC,SAAS;YACTC,iBAAiB;YACjBC,OAAO;YACPC,cAAc;YACdC,gBAAgB;YAChBC,UAAU;YACVC,YAAY;YACZC,KAAK;YACLC,YAAY;YACZC,YAAY;QACd;QACAC,cAAc,CAAChB;YACbA,EAAEiB,aAAa,CAACf,KAAK,CAACK,eAAe,GAAG;QAC1C;QACAW,cAAc,CAAClB;YACbA,EAAEiB,aAAa,CAACf,KAAK,CAACK,eAAe,GAAG;QAC1C;QACAY,OAAM;;0BAEN,KAAC/C;gBAASC,MAAM;;0BAChB,KAAC+C;0BAAK;;;;AAGZ,EAAC;AAED,eAAelC,iBAAgB"}
@@ -80,6 +80,6 @@ export interface PuckEditorViewProps {
80
80
  * }
81
81
  * ```
82
82
  */
83
- export declare function PuckEditorView({ config, collectionSlug, apiBasePath, backUrl, previewUrl, layoutStyles, layoutKey, plugins, onSaveSuccess, onSaveError, }: PuckEditorViewProps): import("react/jsx-runtime").JSX.Element;
83
+ export declare function PuckEditorView({ config, collectionSlug, apiBasePath, backUrl, previewUrl, layoutStyles, layoutKey, plugins, onSaveSuccess, onSaveError, }: PuckEditorViewProps): import("react").JSX.Element;
84
84
  export default PuckEditorView;
85
85
  //# sourceMappingURL=PuckEditorView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PuckEditorView.d.ts","sourceRoot":"","sources":["../../src/admin/PuckEditorView.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IAChD;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACtE;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC9B;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACrC;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,cAAwB,EACxB,WAAyB,EACzB,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAwB,EACxB,OAAO,EACP,aAAa,EACb,WAAW,GACZ,EAAE,mBAAmB,2CAkKrB;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"PuckEditorView.d.ts","sourceRoot":"","sources":["../../src/admin/PuckEditorView.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IAChD;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACtE;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC9B;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACrC;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,cAAwB,EACxB,WAAyB,EACzB,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAwB,EACxB,OAAO,EACP,aAAa,EACb,WAAW,GACZ,EAAE,mBAAmB,+BAkKrB;AAED,eAAe,cAAc,CAAA"}
@@ -28,8 +28,7 @@ import { useParams, useSearchParams } from 'next/navigation';
28
28
  * )
29
29
  * }
30
30
  * ```
31
- */
32
- export function PuckEditorView({ config, collectionSlug = 'pages', apiBasePath = '/api/puck', backUrl, previewUrl, layoutStyles, layoutKey = 'pageLayout', plugins, onSaveSuccess, onSaveError, }) {
31
+ */ export function PuckEditorView({ config, collectionSlug = 'pages', apiBasePath = '/api/puck', backUrl, previewUrl, layoutStyles, layoutKey = 'pageLayout', plugins, onSaveSuccess, onSaveError }) {
33
32
  const params = useParams();
34
33
  const searchParams = useSearchParams();
35
34
  // Get page ID from route params or search params
@@ -39,12 +38,12 @@ export function PuckEditorView({ config, collectionSlug = 'pages', apiBasePath =
39
38
  const [error, setError] = useState(null);
40
39
  const [PuckEditor, setPuckEditor] = useState(null);
41
40
  // Dynamically import PuckEditor to avoid SSR issues
42
- useEffect(() => {
43
- import('../editor/PuckEditor').then((mod) => {
44
- setPuckEditor(() => mod.PuckEditor);
41
+ useEffect(()=>{
42
+ import('../editor/PuckEditor.js').then((mod)=>{
43
+ setPuckEditor(()=>mod.PuckEditor);
45
44
  });
46
45
  }, []);
47
- useEffect(() => {
46
+ useEffect(()=>{
48
47
  async function fetchPage() {
49
48
  if (!pageId) {
50
49
  setError('No page ID provided');
@@ -55,81 +54,168 @@ export function PuckEditorView({ config, collectionSlug = 'pages', apiBasePath =
55
54
  setLoading(true);
56
55
  const response = await fetch(`${apiBasePath}/${collectionSlug}/${pageId}`);
57
56
  if (!response.ok) {
58
- const data = await response.json().catch(() => ({}));
57
+ const data = await response.json().catch(()=>({}));
59
58
  throw new Error(data.error || `Failed to fetch page: ${response.status}`);
60
59
  }
61
60
  const data = await response.json();
62
61
  setPage(data.doc);
63
- }
64
- catch (err) {
62
+ } catch (err) {
65
63
  setError(err instanceof Error ? err.message : 'An error occurred');
66
- }
67
- finally {
64
+ } finally{
68
65
  setLoading(false);
69
66
  }
70
67
  }
71
68
  fetchPage();
72
- }, [pageId, apiBasePath, collectionSlug]);
69
+ }, [
70
+ pageId,
71
+ apiBasePath,
72
+ collectionSlug
73
+ ]);
73
74
  const computedBackUrl = backUrl || `/admin/collections/${collectionSlug}`;
74
75
  if (loading || !PuckEditor) {
75
- return (_jsx("div", { style: {
76
+ return /*#__PURE__*/ _jsx("div", {
77
+ style: {
76
78
  display: 'flex',
77
79
  height: '100vh',
78
80
  alignItems: 'center',
79
81
  justifyContent: 'center',
80
82
  backgroundColor: '#0f0f0f',
81
- color: '#fff',
82
- }, children: _jsxs("div", { style: { textAlign: 'center' }, children: [_jsx("div", { style: {
83
+ color: '#fff'
84
+ },
85
+ children: /*#__PURE__*/ _jsxs("div", {
86
+ style: {
87
+ textAlign: 'center'
88
+ },
89
+ children: [
90
+ /*#__PURE__*/ _jsx("div", {
91
+ style: {
83
92
  width: '32px',
84
93
  height: '32px',
85
94
  border: '3px solid #333',
86
95
  borderTopColor: '#fff',
87
96
  borderRadius: '50%',
88
97
  animation: 'spin 1s linear infinite',
89
- margin: '0 auto 16px',
90
- } }), _jsx("p", { style: { color: '#888' }, children: "Loading editor..." }), _jsx("style", { children: `
98
+ margin: '0 auto 16px'
99
+ }
100
+ }),
101
+ /*#__PURE__*/ _jsx("p", {
102
+ style: {
103
+ color: '#888'
104
+ },
105
+ children: "Loading editor..."
106
+ }),
107
+ /*#__PURE__*/ _jsx("style", {
108
+ children: `
91
109
  @keyframes spin {
92
110
  to { transform: rotate(360deg); }
93
111
  }
94
- ` })] }) }));
112
+ `
113
+ })
114
+ ]
115
+ })
116
+ });
95
117
  }
96
118
  if (error) {
97
- return (_jsx("div", { style: {
119
+ return /*#__PURE__*/ _jsx("div", {
120
+ style: {
98
121
  display: 'flex',
99
122
  height: '100vh',
100
123
  alignItems: 'center',
101
124
  justifyContent: 'center',
102
125
  backgroundColor: '#0f0f0f',
103
- color: '#fff',
104
- }, children: _jsxs("div", { style: { textAlign: 'center' }, children: [_jsx("p", { style: { color: '#f87171', marginBottom: '16px' }, children: error }), _jsxs("a", { href: computedBackUrl, style: {
126
+ color: '#fff'
127
+ },
128
+ children: /*#__PURE__*/ _jsxs("div", {
129
+ style: {
130
+ textAlign: 'center'
131
+ },
132
+ children: [
133
+ /*#__PURE__*/ _jsx("p", {
134
+ style: {
135
+ color: '#f87171',
136
+ marginBottom: '16px'
137
+ },
138
+ children: error
139
+ }),
140
+ /*#__PURE__*/ _jsxs("a", {
141
+ href: computedBackUrl,
142
+ style: {
105
143
  color: '#60a5fa',
106
- textDecoration: 'underline',
107
- }, children: ["Back to ", collectionSlug] })] }) }));
144
+ textDecoration: 'underline'
145
+ },
146
+ children: [
147
+ "Back to ",
148
+ collectionSlug
149
+ ]
150
+ })
151
+ ]
152
+ })
153
+ });
108
154
  }
109
155
  if (!page) {
110
- return (_jsx("div", { style: {
156
+ return /*#__PURE__*/ _jsx("div", {
157
+ style: {
111
158
  display: 'flex',
112
159
  height: '100vh',
113
160
  alignItems: 'center',
114
161
  justifyContent: 'center',
115
162
  backgroundColor: '#0f0f0f',
116
- color: '#fff',
117
- }, children: _jsxs("div", { style: { textAlign: 'center' }, children: [_jsx("p", { style: { color: '#888', marginBottom: '16px' }, children: "Page not found" }), _jsxs("a", { href: computedBackUrl, style: {
163
+ color: '#fff'
164
+ },
165
+ children: /*#__PURE__*/ _jsxs("div", {
166
+ style: {
167
+ textAlign: 'center'
168
+ },
169
+ children: [
170
+ /*#__PURE__*/ _jsx("p", {
171
+ style: {
172
+ color: '#888',
173
+ marginBottom: '16px'
174
+ },
175
+ children: "Page not found"
176
+ }),
177
+ /*#__PURE__*/ _jsxs("a", {
178
+ href: computedBackUrl,
179
+ style: {
118
180
  color: '#60a5fa',
119
- textDecoration: 'underline',
120
- }, children: ["Back to ", collectionSlug] })] }) }));
181
+ textDecoration: 'underline'
182
+ },
183
+ children: [
184
+ "Back to ",
185
+ collectionSlug
186
+ ]
187
+ })
188
+ ]
189
+ })
190
+ });
121
191
  }
122
192
  // Default puck data if none exists
123
193
  const initialData = page.puckData || {
124
194
  root: {
125
195
  props: {
126
- title: page.title || 'New Page',
127
- },
196
+ title: page.title || 'New Page'
197
+ }
128
198
  },
129
199
  content: [],
130
- zones: {},
200
+ zones: {}
131
201
  };
132
- return (_jsx(PuckEditor, { pageId: page.id, initialData: initialData, config: config, pageTitle: page.title, pageSlug: page.slug, apiEndpoint: `${apiBasePath}/${collectionSlug}`, backUrl: computedBackUrl, previewUrl: previewUrl, layoutStyles: layoutStyles, layoutKey: layoutKey, plugins: plugins, onSaveSuccess: onSaveSuccess, onSaveError: onSaveError, initialStatus: page._status }));
202
+ return /*#__PURE__*/ _jsx(PuckEditor, {
203
+ pageId: page.id,
204
+ initialData: initialData,
205
+ config: config,
206
+ pageTitle: page.title,
207
+ pageSlug: page.slug,
208
+ apiEndpoint: `${apiBasePath}/${collectionSlug}`,
209
+ backUrl: computedBackUrl,
210
+ previewUrl: previewUrl,
211
+ layoutStyles: layoutStyles,
212
+ layoutKey: layoutKey,
213
+ plugins: plugins,
214
+ onSaveSuccess: onSaveSuccess,
215
+ onSaveError: onSaveError,
216
+ initialStatus: page._status
217
+ });
133
218
  }
134
219
  export default PuckEditorView;
220
+
135
221
  //# sourceMappingURL=PuckEditorView.js.map