@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
@@ -21,28 +21,43 @@ import { jsx as _jsx } from "react/jsx-runtime";
21
21
  * )
22
22
  * }
23
23
  * ```
24
- */
25
- import { createContext, useContext, useMemo } from 'react';
26
- const PuckConfigContext = createContext({
27
- config: null,
24
+ */ import { createContext, useContext, useMemo } from 'react';
25
+ const PuckConfigContext = /*#__PURE__*/ createContext({
26
+ config: null
28
27
  });
29
28
  /**
30
29
  * Provider component that makes Puck configuration available to the editor
31
- */
32
- export function PuckConfigProvider({ config, layouts, theme, plugins, editorStylesheets, editorCss, children, }) {
30
+ */ export function PuckConfigProvider({ config, layouts, theme, plugins, editorStylesheets, editorCss, children }) {
33
31
  // Memoize context value to prevent unnecessary re-renders of consumers
34
32
  // when the provider re-renders but the values haven't changed
35
- const contextValue = useMemo(() => ({ config, layouts, theme, plugins, editorStylesheets, editorCss }), [config, layouts, theme, plugins, editorStylesheets, editorCss]);
36
- return (_jsx(PuckConfigContext.Provider, { value: contextValue, children: children }));
33
+ const contextValue = useMemo(()=>({
34
+ config,
35
+ layouts,
36
+ theme,
37
+ plugins,
38
+ editorStylesheets,
39
+ editorCss
40
+ }), [
41
+ config,
42
+ layouts,
43
+ theme,
44
+ plugins,
45
+ editorStylesheets,
46
+ editorCss
47
+ ]);
48
+ return /*#__PURE__*/ _jsx(PuckConfigContext.Provider, {
49
+ value: contextValue,
50
+ children: children
51
+ });
37
52
  }
38
53
  /**
39
54
  * Hook to access the Puck configuration
40
55
  *
41
56
  * @throws If used outside of a PuckConfigProvider
42
- */
43
- export function usePuckConfig() {
57
+ */ export function usePuckConfig() {
44
58
  const context = useContext(PuckConfigContext);
45
59
  return context;
46
60
  }
47
61
  export default PuckConfigContext;
62
+
48
63
  //# sourceMappingURL=PuckConfigContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PuckConfigContext.js","sourceRoot":"","sources":["../../src/views/PuckConfigContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;AA+D1E,MAAM,iBAAiB,GAAG,aAAa,CAAyB;IAC9D,MAAM,EAAE,IAAI;CACb,CAAC,CAAA;AAgEF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,QAAQ,GACgB;IACxB,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EACzE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAChE,CAAA;IAED,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC5C,QAAQ,GACkB,CAC9B,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC7C,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"sources":["../../src/views/PuckConfigContext.tsx"],"sourcesContent":["'use client'\n\n/**\n * PuckConfigContext - Context for providing Puck configuration to the editor\n *\n * Since Puck configs contain React components, they cannot be serialized\n * from server to client. This context allows the consuming application\n * to provide the config at the client level.\n *\n * @example\n * ```tsx\n * // In your app's layout or provider setup:\n * import { PuckConfigProvider } from '@delmaredigital/payload-puck/client'\n * import { editorConfig } from '@delmaredigital/payload-puck/config/editor'\n *\n * export function Providers({ children }) {\n * return (\n * <PuckConfigProvider config={editorConfig}>\n * {children}\n * </PuckConfigProvider>\n * )\n * }\n * ```\n */\n\nimport { createContext, useContext, useMemo, type ReactNode } from 'react'\nimport type { Config as PuckConfig, Plugin as PuckPlugin } from '@puckeditor/core'\nimport type { LayoutDefinition } from '../layouts/index.js'\nimport type { ThemeConfig } from '../theme/index.js'\n\nexport interface PuckConfigContextValue {\n /**\n * The Puck configuration with component definitions\n */\n config: PuckConfig | null\n /**\n * Layout definitions for the editor preview\n */\n layouts?: LayoutDefinition[]\n /**\n * Theme configuration for component styling\n */\n theme?: ThemeConfig\n /**\n * Additional Puck plugins to use in the editor.\n * These plugins will be merged with the default plugins (heading analyzer, version history).\n * Use this to add custom plugin rail panels for your specific use cases.\n *\n * @example\n * ```tsx\n * import { createGalleryPickerPlugin } from '@/puck/plugins'\n *\n * <PuckConfigProvider\n * config={editorConfig}\n * plugins={[createGalleryPickerPlugin()]}\n * >\n * ```\n */\n plugins?: PuckPlugin[]\n /**\n * Stylesheet URLs to inject into the editor iframe.\n * Use this to provide your frontend CSS (Tailwind, CSS variables, etc.)\n * that header/footer components need for proper styling.\n *\n * @example\n * ```tsx\n * <PuckConfigProvider\n * config={editorConfig}\n * editorStylesheets={['/editor-styles.css']}\n * >\n * ```\n */\n editorStylesheets?: string[]\n /**\n * Raw CSS to inject into the editor iframe.\n * Useful for CSS variables or small style overrides.\n *\n * @example\n * ```tsx\n * <PuckConfigProvider\n * config={editorConfig}\n * editorCss=\":root { --primary: blue; }\"\n * >\n * ```\n */\n editorCss?: string\n}\n\nconst PuckConfigContext = createContext<PuckConfigContextValue>({\n config: null,\n})\n\nexport interface PuckConfigProviderProps {\n /**\n * The Puck configuration with component definitions\n */\n config: PuckConfig\n /**\n * Layout definitions for the editor preview\n */\n layouts?: LayoutDefinition[]\n /**\n * Theme configuration for component styling\n */\n theme?: ThemeConfig\n /**\n * Additional Puck plugins to use in the editor.\n * These plugins will be merged with the default plugins (heading analyzer, version history).\n * Use this to add custom plugin rail panels for your specific use cases.\n *\n * @example\n * ```tsx\n * import { createGalleryPickerPlugin } from '@/puck/plugins'\n *\n * <PuckConfigProvider\n * config={editorConfig}\n * plugins={[createGalleryPickerPlugin()]}\n * >\n * ```\n */\n plugins?: PuckPlugin[]\n /**\n * Stylesheet URLs to inject into the editor iframe.\n * Use this to provide your frontend CSS (Tailwind, CSS variables, etc.)\n * that header/footer components need for proper styling.\n *\n * @example\n * ```tsx\n * <PuckConfigProvider\n * config={editorConfig}\n * editorStylesheets={['/editor-styles.css']}\n * >\n * ```\n */\n editorStylesheets?: string[]\n /**\n * Raw CSS to inject into the editor iframe.\n * Useful for CSS variables or small style overrides.\n *\n * @example\n * ```tsx\n * <PuckConfigProvider\n * config={editorConfig}\n * editorCss=\":root { --primary: blue; }\"\n * >\n * ```\n */\n editorCss?: string\n /**\n * Children to render\n */\n children: ReactNode\n}\n\n/**\n * Provider component that makes Puck configuration available to the editor\n */\nexport function PuckConfigProvider({\n config,\n layouts,\n theme,\n plugins,\n editorStylesheets,\n editorCss,\n children,\n}: PuckConfigProviderProps) {\n // Memoize context value to prevent unnecessary re-renders of consumers\n // when the provider re-renders but the values haven't changed\n const contextValue = useMemo<PuckConfigContextValue>(\n () => ({ config, layouts, theme, plugins, editorStylesheets, editorCss }),\n [config, layouts, theme, plugins, editorStylesheets, editorCss]\n )\n\n return (\n <PuckConfigContext.Provider value={contextValue}>\n {children}\n </PuckConfigContext.Provider>\n )\n}\n\n/**\n * Hook to access the Puck configuration\n *\n * @throws If used outside of a PuckConfigProvider\n */\nexport function usePuckConfig(): PuckConfigContextValue {\n const context = useContext(PuckConfigContext)\n return context\n}\n\nexport default PuckConfigContext\n"],"names":["createContext","useContext","useMemo","PuckConfigContext","config","PuckConfigProvider","layouts","theme","plugins","editorStylesheets","editorCss","children","contextValue","Provider","value","usePuckConfig","context"],"mappings":"AAAA;;AAEA;;;;;;;;;;;;;;;;;;;;;CAqBC,GAED,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAwB,QAAO;AA+D1E,MAAMC,kCAAoBH,cAAsC;IAC9DI,QAAQ;AACV;AAgEA;;CAEC,GACD,OAAO,SAASC,mBAAmB,EACjCD,MAAM,EACNE,OAAO,EACPC,KAAK,EACLC,OAAO,EACPC,iBAAiB,EACjBC,SAAS,EACTC,QAAQ,EACgB;IACxB,uEAAuE;IACvE,8DAA8D;IAC9D,MAAMC,eAAeV,QACnB,IAAO,CAAA;YAAEE;YAAQE;YAASC;YAAOC;YAASC;YAAmBC;QAAU,CAAA,GACvE;QAACN;QAAQE;QAASC;QAAOC;QAASC;QAAmBC;KAAU;IAGjE,qBACE,KAACP,kBAAkBU,QAAQ;QAACC,OAAOF;kBAChCD;;AAGP;AAEA;;;;CAIC,GACD,OAAO,SAASI;IACd,MAAMC,UAAUf,WAAWE;IAC3B,OAAOa;AACT;AAEA,eAAeb,kBAAiB"}
@@ -14,6 +14,6 @@ export interface PuckEditorViewProps extends AdminViewProps {
14
14
  *
15
15
  * URL pattern: /admin/puck-editor/:collection/:id
16
16
  */
17
- export declare function PuckEditorView({ initPageResult, params, searchParams, }: PuckEditorViewProps): Promise<import("react/jsx-runtime").JSX.Element>;
17
+ export declare function PuckEditorView({ initPageResult, params, searchParams, }: PuckEditorViewProps): Promise<import("react").JSX.Element>;
18
18
  export default PuckEditorView;
19
19
  //# sourceMappingURL=PuckEditorView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PuckEditorView.d.ts","sourceRoot":"","sources":["../../src/views/PuckEditorView.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,SAAS,CAAA;AAMrD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;CAE1D;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,EACnC,cAAc,EACd,MAAM,EACN,YAAY,GACb,EAAE,mBAAmB,oDAuMrB;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"PuckEditorView.d.ts","sourceRoot":"","sources":["../../src/views/PuckEditorView.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,SAAS,CAAA;AAMrD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;CAE1D;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,EACnC,cAAc,EACd,MAAM,EACN,YAAY,GACb,EAAE,mBAAmB,wCAsOrB;AAED,eAAe,cAAc,CAAA"}
@@ -1,4 +1,11 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ /**
2
+ * PuckEditorView - React Server Component for Payload Admin
3
+ *
4
+ * This is the admin view that wraps the Puck editor within Payload's admin layout.
5
+ * It fetches page data server-side and passes it to the client component.
6
+ *
7
+ * Registered as a custom view via config.admin.components.views
8
+ */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
9
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
10
  import { getVisibleEntities } from '@payloadcms/ui/shared';
4
11
  import { PuckEditor } from '../editor/PuckEditor.js';
@@ -7,8 +14,7 @@ import { mapPayloadFieldsToRootProps } from '../api/utils/mapRootProps.js';
7
14
  * Server Component that renders the Puck editor within Payload admin
8
15
  *
9
16
  * URL pattern: /admin/puck-editor/:collection/:id
10
- */
11
- export async function PuckEditorView({ initPageResult, params, searchParams, }) {
17
+ */ export async function PuckEditorView({ initPageResult, params, searchParams }) {
12
18
  const { req } = initPageResult;
13
19
  const { payload } = req;
14
20
  // Get admin route from config
@@ -21,37 +27,81 @@ export async function PuckEditorView({ initPageResult, params, searchParams, })
21
27
  const collection = segments?.[1] || 'pages';
22
28
  const pageId = segments?.[2];
23
29
  if (!pageId) {
24
- return (_jsx(DefaultTemplate, { i18n: req.i18n, locale: req.locale, params: params, payload: payload, permissions: initPageResult.permissions, searchParams: searchParams, user: req.user ?? undefined, visibleEntities: getVisibleEntities({ req }), children: _jsx("div", { style: {
30
+ return /*#__PURE__*/ _jsx(DefaultTemplate, {
31
+ i18n: req.i18n,
32
+ locale: req.locale,
33
+ params: params,
34
+ payload: payload,
35
+ permissions: initPageResult.permissions,
36
+ searchParams: searchParams,
37
+ user: req.user ?? undefined,
38
+ visibleEntities: getVisibleEntities({
39
+ req
40
+ }),
41
+ children: /*#__PURE__*/ _jsx("div", {
42
+ style: {
25
43
  display: 'flex',
26
44
  alignItems: 'center',
27
45
  justifyContent: 'center',
28
46
  height: '50vh',
29
- color: 'var(--theme-elevation-500)',
30
- }, children: _jsx("p", { children: "No page ID provided. Please navigate from the collection view." }) }) }));
47
+ color: 'var(--theme-elevation-500)'
48
+ },
49
+ children: /*#__PURE__*/ _jsx("p", {
50
+ children: "No page ID provided. Please navigate from the collection view."
51
+ })
52
+ })
53
+ });
31
54
  }
55
+ // Get visible entities for the sidebar navigation
56
+ const visibleEntities = getVisibleEntities({
57
+ req
58
+ });
59
+ // Get puck config from plugin custom settings
60
+ const puckConfig = payload.config.custom?.puck?.config;
61
+ const layouts = payload.config.custom?.puck?.layouts;
62
+ const explicitPageTreeConfig = payload.config.custom?.puck?.pageTree;
63
+ const aiConfig = payload.config.custom?.puck?.ai;
64
+ const editorStylesheets = payload.config.custom?.puck?.editorStylesheets;
65
+ const previewUrlConfig = payload.config.custom?.puck?.previewUrl;
32
66
  // Fetch the page data
67
+ // Use depth: 1 if previewUrl is a function (may need relationship data like organization)
33
68
  let page = null;
34
69
  let error = null;
70
+ const needsRelationships = typeof previewUrlConfig === 'function';
35
71
  try {
36
72
  page = await payload.findByID({
37
73
  collection: collection,
38
74
  id: pageId,
39
- draft: true, // Always get draft for editing
40
- depth: 0,
75
+ draft: true,
76
+ depth: needsRelationships ? 1 : 0
41
77
  });
42
- }
43
- catch (err) {
78
+ } catch (err) {
44
79
  console.error('[PuckEditorView] Error fetching page:', err);
45
80
  error = err instanceof Error ? err.message : 'Failed to load page';
46
81
  }
47
- // Get visible entities for the sidebar navigation
48
- const visibleEntities = getVisibleEntities({ req });
49
- // Get puck config from plugin custom settings
50
- const puckConfig = payload.config.custom?.puck?.config;
51
- const layouts = payload.config.custom?.puck?.layouts;
52
- const explicitPageTreeConfig = payload.config.custom?.puck?.pageTree;
53
- const aiConfig = payload.config.custom?.puck?.ai;
54
- const editorStylesheets = payload.config.custom?.puck?.editorStylesheets;
82
+ // Compute preview URL prefix from config
83
+ // Note: Functions can't be passed to client components, so we extract a string prefix here.
84
+ // The client reconstructs the URL function as: (slug) => slug ? `${prefix}/${slug}` : prefix
85
+ //
86
+ // IMPORTANT: When the config returns a function, we call it with '' to get the prefix.
87
+ // This relies on the function using the pattern: (slug) => slug ? `/${org}/${slug}` : `/${org}`
88
+ // See PuckPluginOptions.previewUrl JSDoc in src/types/index.ts for details.
89
+ let previewUrlPrefix;
90
+ if (previewUrlConfig && page) {
91
+ if (typeof previewUrlConfig === 'function') {
92
+ const result = previewUrlConfig(page);
93
+ if (typeof result === 'string') {
94
+ // Function returned a string prefix directly (e.g., '/acme')
95
+ previewUrlPrefix = result;
96
+ } else if (typeof result === 'function') {
97
+ // Function returned a slug-to-URL function - call with '' to extract prefix
98
+ // e.g., (slug) => slug ? `/acme/${slug}` : `/acme` called with '' returns '/acme'
99
+ previewUrlPrefix = result('');
100
+ }
101
+ } else {
102
+ previewUrlPrefix = previewUrlConfig;
103
+ }
104
+ }
55
105
  // Fetch AI prompts from collection if enabled
56
106
  let aiExamplePrompts = aiConfig?.examplePrompts || [];
57
107
  if (aiConfig?.enabled && aiConfig?.promptsCollection) {
@@ -59,16 +109,18 @@ export async function PuckEditorView({ initPageResult, params, searchParams, })
59
109
  const promptsResult = await payload.find({
60
110
  collection: 'puck-ai-prompts',
61
111
  sort: 'order',
62
- limit: 50,
112
+ limit: 50
63
113
  });
64
114
  // Merge collection prompts with config prompts (collection prompts first)
65
- const collectionPrompts = promptsResult.docs.map((doc) => ({
66
- label: doc.label,
67
- prompt: doc.prompt,
68
- }));
69
- aiExamplePrompts = [...collectionPrompts, ...aiExamplePrompts];
70
- }
71
- catch (e) {
115
+ const collectionPrompts = promptsResult.docs.map((doc)=>({
116
+ label: doc.label,
117
+ prompt: doc.prompt
118
+ }));
119
+ aiExamplePrompts = [
120
+ ...collectionPrompts,
121
+ ...aiExamplePrompts
122
+ ];
123
+ } catch (e) {
72
124
  // Collection might not exist yet, that's ok
73
125
  console.warn('[PuckEditorView] Could not fetch AI prompts:', e);
74
126
  }
@@ -81,27 +133,30 @@ export async function PuckEditorView({ initPageResult, params, searchParams, })
81
133
  if (explicitPageTreeConfig === false) {
82
134
  // Explicitly disabled
83
135
  pageTreeConfig = null;
84
- }
85
- else if (explicitPageTreeConfig) {
136
+ } else if (explicitPageTreeConfig) {
86
137
  // Use explicit config
87
138
  pageTreeConfig = explicitPageTreeConfig;
88
- }
89
- else {
139
+ } else {
90
140
  // Auto-detect: check if collection has pageSegment field
91
141
  const collectionConfig = payload.collections[collection]?.config;
92
- const hasPageTreeFields = collectionConfig?.fields?.some((field) => field.name === 'pageSegment');
142
+ const hasPageTreeFields = collectionConfig?.fields?.some((field)=>field.name === 'pageSegment');
93
143
  if (hasPageTreeFields) {
94
144
  pageTreeConfig = {
95
145
  folderSlug: 'payload-folders',
96
146
  pageSegmentFieldName: 'pageSegment',
97
- folderFieldName: 'folder',
147
+ folderFieldName: 'folder'
98
148
  };
99
149
  }
100
150
  }
101
151
  // Build back URL to collection
102
152
  const backUrl = `${adminRoute}/collections/${collection}/${pageId}`;
103
153
  // Build initial data, syncing Payload fields to root.props
104
- let initialData = page?.puckData || { content: [], root: { props: {} } };
154
+ let initialData = page?.puckData || {
155
+ content: [],
156
+ root: {
157
+ props: {}
158
+ }
159
+ };
105
160
  if (page) {
106
161
  // Map Payload document fields to root.props format
107
162
  // This ensures fields like title, slug, isHomepage, pageLayout are synced
@@ -117,23 +172,64 @@ export async function PuckEditorView({ initPageResult, params, searchParams, })
117
172
  ...initialData.root,
118
173
  props: {
119
174
  ...initialData.root?.props,
120
- ...syncedRootProps,
121
- },
122
- },
175
+ ...syncedRootProps
176
+ }
177
+ }
123
178
  };
124
179
  }
125
- return (_jsx(DefaultTemplate, { i18n: req.i18n, locale: req.locale, params: params, payload: payload, permissions: initPageResult.permissions, searchParams: searchParams, user: req.user ?? undefined, visibleEntities: visibleEntities, children: error ? (_jsx("div", { style: {
180
+ return /*#__PURE__*/ _jsx(DefaultTemplate, {
181
+ i18n: req.i18n,
182
+ locale: req.locale,
183
+ params: params,
184
+ payload: payload,
185
+ permissions: initPageResult.permissions,
186
+ searchParams: searchParams,
187
+ user: req.user ?? undefined,
188
+ visibleEntities: visibleEntities,
189
+ children: error ? /*#__PURE__*/ _jsx("div", {
190
+ style: {
126
191
  display: 'flex',
127
192
  alignItems: 'center',
128
193
  justifyContent: 'center',
129
194
  height: '50vh',
130
- color: 'var(--theme-error-500)',
131
- }, children: _jsxs("p", { children: ["Error: ", error] }) })) : (_jsx("div", { style: {
195
+ color: 'var(--theme-error-500)'
196
+ },
197
+ children: /*#__PURE__*/ _jsxs("p", {
198
+ children: [
199
+ "Error: ",
200
+ error
201
+ ]
202
+ })
203
+ }) : /*#__PURE__*/ _jsx("div", {
204
+ style: {
132
205
  // Take up full available height within the admin template
133
206
  height: 'calc(100vh - 60px)',
134
207
  display: 'flex',
135
- flexDirection: 'column',
136
- }, children: _jsx(PuckEditor, { pageId: pageId, initialData: initialData, pageTitle: page?.title || 'Untitled', pageSlug: page?.slug || '', apiEndpoint: `/api/puck/${collection}`, initialStatus: page?._status, backUrl: backUrl, layouts: layouts, hasPageTree: !!pageTreeConfig, folder: pageTreeConfig ? (typeof page?.folder === 'object' ? page?.folder?.id : page?.folder) : undefined, pageSegment: pageTreeConfig ? page?.pageSegment : undefined, enableAi: aiConfig?.enabled, aiExamplePrompts: aiExamplePrompts, hasPromptsCollection: !!aiConfig?.promptsCollection, hasContextCollection: !!aiConfig?.contextCollection, aiComponentInstructions: aiConfig?.componentInstructions, editorStylesheets: editorStylesheets }) })) }));
208
+ flexDirection: 'column'
209
+ },
210
+ children: /*#__PURE__*/ _jsx(PuckEditor, {
211
+ pageId: pageId,
212
+ initialData: initialData,
213
+ pageTitle: page?.title || 'Untitled',
214
+ pageSlug: page?.slug || '',
215
+ apiEndpoint: `/api/puck/${collection}`,
216
+ initialStatus: page?._status,
217
+ backUrl: backUrl,
218
+ previewUrlPrefix: previewUrlPrefix,
219
+ layouts: layouts,
220
+ hasPageTree: !!pageTreeConfig,
221
+ folder: pageTreeConfig ? typeof page?.folder === 'object' ? page?.folder?.id : page?.folder : undefined,
222
+ pageSegment: pageTreeConfig ? page?.pageSegment : undefined,
223
+ enableAi: aiConfig?.enabled,
224
+ aiExamplePrompts: aiExamplePrompts,
225
+ hasPromptsCollection: !!aiConfig?.promptsCollection,
226
+ hasContextCollection: !!aiConfig?.contextCollection,
227
+ aiComponentInstructions: aiConfig?.componentInstructions,
228
+ editorStylesheets: editorStylesheets
229
+ })
230
+ })
231
+ });
137
232
  }
138
233
  export default PuckEditorView;
234
+
139
235
  //# sourceMappingURL=PuckEditorView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PuckEditorView.js","sourceRoot":"","sources":["../../src/views/PuckEditorView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/views/PuckEditorView.tsx"],"sourcesContent":["/**\n * PuckEditorView - React Server Component for Payload Admin\n *\n * This is the admin view that wraps the Puck editor within Payload's admin layout.\n * It fetches page data server-side and passes it to the client component.\n *\n * Registered as a custom view via config.admin.components.views\n */\n\nimport type { AdminViewProps, Locale } from 'payload'\nimport { DefaultTemplate } from '@payloadcms/next/templates'\nimport { getVisibleEntities } from '@payloadcms/ui/shared'\nimport { PuckEditor } from '../editor/PuckEditor.js'\nimport { mapPayloadFieldsToRootProps } from '../api/utils/mapRootProps.js'\n\nexport interface PuckEditorViewProps extends AdminViewProps {\n // Additional props can be passed via plugin config\n}\n\n/**\n * Server Component that renders the Puck editor within Payload admin\n *\n * URL pattern: /admin/puck-editor/:collection/:id\n */\nexport async function PuckEditorView({\n initPageResult,\n params,\n searchParams,\n}: PuckEditorViewProps) {\n const { req } = initPageResult\n const { payload } = req\n\n // Get admin route from config\n const adminRoute = req.payload.config.routes?.admin || '/admin'\n\n // Parse segments from URL: /admin/puck-editor/:collection/:id\n // params.segments contains the full path after /admin/, e.g. ['puck-editor', 'pages', '1']\n // We need to skip the route prefix ('puck-editor') to get collection and id\n const segments = (await params)?.segments as string[] | undefined\n // segments[0] = 'puck-editor' (route prefix), segments[1] = collection, segments[2] = id\n const collection = segments?.[1] || 'pages'\n const pageId = segments?.[2]\n\n if (!pageId) {\n return (\n <DefaultTemplate\n i18n={req.i18n}\n locale={req.locale as Locale | undefined}\n params={params}\n payload={payload}\n permissions={initPageResult.permissions}\n searchParams={searchParams}\n user={req.user ?? undefined}\n visibleEntities={getVisibleEntities({ req })}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '50vh',\n color: 'var(--theme-elevation-500)',\n }}\n >\n <p>No page ID provided. Please navigate from the collection view.</p>\n </div>\n </DefaultTemplate>\n )\n }\n\n // Get visible entities for the sidebar navigation\n const visibleEntities = getVisibleEntities({ req })\n\n // Get puck config from plugin custom settings\n const puckConfig = (payload.config as any).custom?.puck?.config\n const layouts = (payload.config as any).custom?.puck?.layouts\n const explicitPageTreeConfig = (payload.config as any).custom?.puck?.pageTree\n const aiConfig = (payload.config as any).custom?.puck?.ai\n const editorStylesheets = (payload.config as any).custom?.puck?.editorStylesheets as string[] | undefined\n const previewUrlConfig = (payload.config as any).custom?.puck?.previewUrl as\n | string\n | ((page: any) => string | ((slug: string) => string))\n | undefined\n\n // Fetch the page data\n // Use depth: 1 if previewUrl is a function (may need relationship data like organization)\n let page: any = null\n let error: string | null = null\n const needsRelationships = typeof previewUrlConfig === 'function'\n\n try {\n page = await payload.findByID({\n collection: collection as any,\n id: pageId,\n draft: true, // Always get draft for editing\n depth: needsRelationships ? 1 : 0,\n })\n } catch (err) {\n console.error('[PuckEditorView] Error fetching page:', err)\n error = err instanceof Error ? err.message : 'Failed to load page'\n }\n\n // Compute preview URL prefix from config\n // Note: Functions can't be passed to client components, so we extract a string prefix here.\n // The client reconstructs the URL function as: (slug) => slug ? `${prefix}/${slug}` : prefix\n //\n // IMPORTANT: When the config returns a function, we call it with '' to get the prefix.\n // This relies on the function using the pattern: (slug) => slug ? `/${org}/${slug}` : `/${org}`\n // See PuckPluginOptions.previewUrl JSDoc in src/types/index.ts for details.\n let previewUrlPrefix: string | undefined\n if (previewUrlConfig && page) {\n if (typeof previewUrlConfig === 'function') {\n const result = previewUrlConfig(page)\n if (typeof result === 'string') {\n // Function returned a string prefix directly (e.g., '/acme')\n previewUrlPrefix = result\n } else if (typeof result === 'function') {\n // Function returned a slug-to-URL function - call with '' to extract prefix\n // e.g., (slug) => slug ? `/acme/${slug}` : `/acme` called with '' returns '/acme'\n previewUrlPrefix = result('')\n }\n } else {\n previewUrlPrefix = previewUrlConfig\n }\n }\n\n // Fetch AI prompts from collection if enabled\n let aiExamplePrompts = aiConfig?.examplePrompts || []\n if (aiConfig?.enabled && aiConfig?.promptsCollection) {\n try {\n const promptsResult = await payload.find({\n collection: 'puck-ai-prompts' as any,\n sort: 'order',\n limit: 50,\n })\n // Merge collection prompts with config prompts (collection prompts first)\n const collectionPrompts = promptsResult.docs.map((doc: any) => ({\n label: doc.label,\n prompt: doc.prompt,\n }))\n aiExamplePrompts = [...collectionPrompts, ...aiExamplePrompts]\n } catch (e) {\n // Collection might not exist yet, that's ok\n console.warn('[PuckEditorView] Could not fetch AI prompts:', e)\n }\n }\n\n // Determine page-tree config:\n // 1. If explicitly set to false in plugin options, disable\n // 2. If explicit config provided, use it\n // 3. Otherwise, auto-detect by checking for pageSegment field (added by page-tree plugin)\n let pageTreeConfig = null\n if (explicitPageTreeConfig === false) {\n // Explicitly disabled\n pageTreeConfig = null\n } else if (explicitPageTreeConfig) {\n // Use explicit config\n pageTreeConfig = explicitPageTreeConfig\n } else {\n // Auto-detect: check if collection has pageSegment field\n const collectionConfig = payload.collections[collection]?.config\n const hasPageTreeFields = collectionConfig?.fields?.some(\n (field: any) => field.name === 'pageSegment'\n )\n if (hasPageTreeFields) {\n pageTreeConfig = {\n folderSlug: 'payload-folders',\n pageSegmentFieldName: 'pageSegment',\n folderFieldName: 'folder',\n }\n }\n }\n\n // Build back URL to collection\n const backUrl = `${adminRoute}/collections/${collection}/${pageId}`\n\n // Build initial data, syncing Payload fields to root.props\n let initialData = page?.puckData || { content: [], root: { props: {} } }\n\n if (page) {\n // Map Payload document fields to root.props format\n // This ensures fields like title, slug, isHomepage, pageLayout are synced\n const syncedRootProps = mapPayloadFieldsToRootProps(page as Record<string, unknown>)\n\n // Handle folder ID specially (could be object or string)\n if (pageTreeConfig && page.folder !== undefined) {\n const folderId = typeof page.folder === 'object' ? page.folder?.id : page.folder\n syncedRootProps.folder = folderId || null\n }\n\n initialData = {\n ...initialData,\n root: {\n ...initialData.root,\n props: {\n ...initialData.root?.props,\n ...syncedRootProps,\n },\n },\n }\n }\n\n return (\n <DefaultTemplate\n i18n={req.i18n}\n locale={req.locale as Locale | undefined}\n params={params}\n payload={payload}\n permissions={initPageResult.permissions}\n searchParams={searchParams}\n user={req.user ?? undefined}\n visibleEntities={visibleEntities}\n >\n {error ? (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '50vh',\n color: 'var(--theme-error-500)',\n }}\n >\n <p>Error: {error}</p>\n </div>\n ) : (\n <div\n style={{\n // Take up full available height within the admin template\n height: 'calc(100vh - 60px)',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <PuckEditor\n pageId={pageId}\n initialData={initialData}\n pageTitle={page?.title || 'Untitled'}\n pageSlug={page?.slug || ''}\n apiEndpoint={`/api/puck/${collection}`}\n initialStatus={page?._status}\n backUrl={backUrl}\n previewUrlPrefix={previewUrlPrefix}\n layouts={layouts}\n hasPageTree={!!pageTreeConfig}\n folder={pageTreeConfig ? (typeof page?.folder === 'object' ? page?.folder?.id : page?.folder) : undefined}\n pageSegment={pageTreeConfig ? page?.pageSegment : undefined}\n enableAi={aiConfig?.enabled}\n aiExamplePrompts={aiExamplePrompts}\n hasPromptsCollection={!!aiConfig?.promptsCollection}\n hasContextCollection={!!aiConfig?.contextCollection}\n aiComponentInstructions={aiConfig?.componentInstructions}\n editorStylesheets={editorStylesheets}\n />\n </div>\n )}\n </DefaultTemplate>\n )\n}\n\nexport default PuckEditorView\n"],"names":["DefaultTemplate","getVisibleEntities","PuckEditor","mapPayloadFieldsToRootProps","PuckEditorView","initPageResult","params","searchParams","req","payload","adminRoute","config","routes","admin","segments","collection","pageId","i18n","locale","permissions","user","undefined","visibleEntities","div","style","display","alignItems","justifyContent","height","color","p","puckConfig","custom","puck","layouts","explicitPageTreeConfig","pageTree","aiConfig","ai","editorStylesheets","previewUrlConfig","previewUrl","page","error","needsRelationships","findByID","id","draft","depth","err","console","Error","message","previewUrlPrefix","result","aiExamplePrompts","examplePrompts","enabled","promptsCollection","promptsResult","find","sort","limit","collectionPrompts","docs","map","doc","label","prompt","e","warn","pageTreeConfig","collectionConfig","collections","hasPageTreeFields","fields","some","field","name","folderSlug","pageSegmentFieldName","folderFieldName","backUrl","initialData","puckData","content","root","props","syncedRootProps","folder","folderId","flexDirection","pageTitle","title","pageSlug","slug","apiEndpoint","initialStatus","_status","hasPageTree","pageSegment","enableAi","hasPromptsCollection","hasContextCollection","contextCollection","aiComponentInstructions","componentInstructions"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Views module - Payload admin view components
3
- */
4
- // Server component (RSC)
3
+ */ // Server component (RSC)
5
4
  export { PuckEditorView } from './PuckEditorView.js';
6
5
  // Context
7
6
  export { PuckConfigProvider, usePuckConfig } from './PuckConfigContext.js';
7
+
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/views/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,UAAU;AACV,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"sources":["../../src/views/index.ts"],"sourcesContent":["/**\n * Views module - Payload admin view components\n */\n\n// Server component (RSC)\nexport { PuckEditorView } from './PuckEditorView.js'\nexport type { PuckEditorViewProps } from './PuckEditorView.js'\n\n// Context\nexport { PuckConfigProvider, usePuckConfig } from './PuckConfigContext.js'\nexport type { PuckConfigProviderProps, PuckConfigContextValue } from './PuckConfigContext.js'\n"],"names":["PuckEditorView","PuckConfigProvider","usePuckConfig"],"mappings":"AAAA;;CAEC,GAED,yBAAyB;AACzB,SAASA,cAAc,QAAQ,sBAAqB;AAGpD,UAAU;AACV,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,yBAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delmaredigital/payload-puck",
3
- "version": "0.6.10",
3
+ "version": "0.6.13",
4
4
  "description": "Puck visual page builder plugin for Payload CMS",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -9,67 +9,82 @@
9
9
  "exports": {
10
10
  ".": {
11
11
  "import": "./dist/index.js",
12
- "types": "./dist/index.d.ts"
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/index.js"
13
14
  },
14
15
  "./plugin": {
15
16
  "import": "./dist/plugin/index.js",
16
- "types": "./dist/plugin/index.d.ts"
17
+ "types": "./dist/plugin/index.d.ts",
18
+ "default": "./dist/plugin/index.js"
17
19
  },
18
20
  "./config": {
19
21
  "import": "./dist/config/index.js",
20
- "types": "./dist/config/index.d.ts"
22
+ "types": "./dist/config/index.d.ts",
23
+ "default": "./dist/config/index.js"
21
24
  },
22
25
  "./config/editor": {
23
26
  "import": "./dist/config/config.editor.js",
24
- "types": "./dist/config/config.editor.d.ts"
27
+ "types": "./dist/config/config.editor.d.ts",
28
+ "default": "./dist/config/config.editor.js"
25
29
  },
26
30
  "./render": {
27
31
  "import": "./dist/render/index.js",
28
- "types": "./dist/render/index.d.ts"
32
+ "types": "./dist/render/index.d.ts",
33
+ "default": "./dist/render/index.js"
29
34
  },
30
35
  "./client": {
31
36
  "import": "./dist/exports/client.js",
32
- "types": "./dist/exports/client.d.ts"
37
+ "types": "./dist/exports/client.d.ts",
38
+ "default": "./dist/exports/client.js"
33
39
  },
34
40
  "./rsc": {
35
41
  "import": "./dist/exports/rsc.js",
36
- "types": "./dist/exports/rsc.d.ts"
42
+ "types": "./dist/exports/rsc.d.ts",
43
+ "default": "./dist/exports/rsc.js"
37
44
  },
38
45
  "./layouts": {
39
46
  "import": "./dist/layouts/index.js",
40
- "types": "./dist/layouts/index.d.ts"
47
+ "types": "./dist/layouts/index.d.ts",
48
+ "default": "./dist/layouts/index.js"
41
49
  },
42
50
  "./api": {
43
51
  "import": "./dist/api/index.js",
44
- "types": "./dist/api/index.d.ts"
52
+ "types": "./dist/api/index.d.ts",
53
+ "default": "./dist/api/index.js"
45
54
  },
46
55
  "./admin/client": {
47
56
  "import": "./dist/admin/client.js",
48
- "types": "./dist/admin/client.d.ts"
57
+ "types": "./dist/admin/client.d.ts",
58
+ "default": "./dist/admin/client.js"
49
59
  },
50
60
  "./theme": {
51
61
  "import": "./dist/theme/index.js",
52
- "types": "./dist/theme/index.d.ts"
62
+ "types": "./dist/theme/index.d.ts",
63
+ "default": "./dist/theme/index.js"
53
64
  },
54
65
  "./components": {
55
66
  "import": "./dist/components/exports.js",
56
- "types": "./dist/components/exports.d.ts"
67
+ "types": "./dist/components/exports.d.ts",
68
+ "default": "./dist/components/exports.js"
57
69
  },
58
70
  "./fields": {
59
71
  "import": "./dist/fields/index.js",
60
- "types": "./dist/fields/index.d.ts"
72
+ "types": "./dist/fields/index.d.ts",
73
+ "default": "./dist/fields/index.js"
61
74
  },
62
75
  "./editor": {
63
76
  "import": "./dist/editor/index.js",
64
- "types": "./dist/editor/index.d.ts"
77
+ "types": "./dist/editor/index.d.ts",
78
+ "default": "./dist/editor/index.js"
65
79
  },
66
80
  "./ai": {
67
81
  "import": "./dist/ai/index.js",
68
- "types": "./dist/ai/index.d.ts"
82
+ "types": "./dist/ai/index.d.ts",
83
+ "default": "./dist/ai/index.js"
69
84
  },
70
85
  "./next": {
71
- "types": "./dist/next/index.d.ts",
72
86
  "import": "./dist/next/index.js",
87
+ "types": "./dist/next/index.d.ts",
73
88
  "default": "./dist/next/index.js"
74
89
  }
75
90
  },
@@ -77,12 +92,14 @@
77
92
  "dist"
78
93
  ],
79
94
  "scripts": {
80
- "dev-publish": "pnpm version prerelease --preid=dev && pnpm build && pnpm publish --registry http://localhost:4873",
95
+ "dev-publish": "pnpm version prerelease --preid=dev --no-git-tag-version && pnpm build && pnpm publish --registry http://localhost:4873 --no-git-checks",
81
96
  "generate-version": "node scripts/generate-version.js",
82
97
  "prebuild": "pnpm generate-version",
83
- "build": "tsc && pnpm copy:css",
84
- "copy:css": "cp src/fields/*.css dist/fields/ 2>/dev/null || true && mkdir -p dist/fields/richtext && cp src/fields/richtext/*.css dist/fields/richtext/ 2>/dev/null || true && cp src/editor/*.css dist/editor/ 2>/dev/null || true",
85
- "dev": "pnpm generate-version && tsc --watch",
98
+ "build": "pnpm build:swc && pnpm build:types && pnpm copyfiles",
99
+ "build:swc": "swc ./src -d ./dist --strip-leading-paths",
100
+ "build:types": "tsc --outDir dist",
101
+ "copyfiles": "copyfiles -u 1 \"src/**/*.css\" dist",
102
+ "dev": "pnpm generate-version && swc ./src -d ./dist --strip-leading-paths --watch",
86
103
  "typecheck": "tsc --noEmit",
87
104
  "clean": "rm -rf dist",
88
105
  "prepublishOnly": "pnpm build"
@@ -126,32 +143,35 @@
126
143
  "dependencies": {
127
144
  "@puckeditor/cloud-client": "^0.5.0",
128
145
  "@puckeditor/plugin-ai": "^0.5.0",
129
- "@puckeditor/plugin-heading-analyzer": "^0.21.0",
146
+ "@puckeditor/plugin-heading-analyzer": "^0.21.1",
130
147
  "@radix-ui/react-popover": "^1.1.15",
131
- "@tiptap/core": "^3.14.0",
132
- "@tiptap/extension-color": "^3.14.0",
133
- "@tiptap/extension-highlight": "^3.14.0",
134
- "@tiptap/extension-link": "^3.14.0",
135
- "@tiptap/extension-subscript": "^3.15.3",
136
- "@tiptap/extension-superscript": "^3.15.3",
137
- "@tiptap/extension-text-align": "^3.14.0",
138
- "@tiptap/extension-text-style": "^3.14.0",
139
- "@tiptap/extension-underline": "^3.14.0",
140
- "@tiptap/react": "^3.14.0",
141
- "@tiptap/starter-kit": "^3.14.0",
142
- "html-react-parser": "^5.2.11",
148
+ "@tiptap/core": "^3.18.0",
149
+ "@tiptap/extension-color": "^3.18.0",
150
+ "@tiptap/extension-highlight": "^3.18.0",
151
+ "@tiptap/extension-link": "^3.18.0",
152
+ "@tiptap/extension-subscript": "^3.18.0",
153
+ "@tiptap/extension-superscript": "^3.18.0",
154
+ "@tiptap/extension-text-align": "^3.18.0",
155
+ "@tiptap/extension-text-style": "^3.18.0",
156
+ "@tiptap/extension-underline": "^3.18.0",
157
+ "@tiptap/react": "^3.18.0",
158
+ "@tiptap/starter-kit": "^3.18.0",
159
+ "html-react-parser": "^5.2.13",
143
160
  "lucide-react": "^0.469.0"
144
161
  },
145
162
  "devDependencies": {
146
- "@payloadcms/next": "^3.69.0",
147
- "@payloadcms/ui": "^3.69.0",
148
- "@puckeditor/core": "^0.21.0",
149
- "@types/node": "^25.0.3",
150
- "@types/react": "^19.2.7",
163
+ "@payloadcms/next": "^3.73.0",
164
+ "@payloadcms/ui": "^3.73.0",
165
+ "@puckeditor/core": "^0.21.1",
166
+ "@swc/cli": "^0.6.0",
167
+ "@swc/core": "^1.15.11",
168
+ "@types/node": "^25.1.0",
169
+ "@types/react": "^19.2.10",
151
170
  "@types/react-dom": "^19.2.3",
152
- "next": "^16.1.1",
153
- "payload": "^3.69.0",
154
- "react": "^19.2.3",
171
+ "copyfiles": "^2.4.1",
172
+ "next": "^16.1.6",
173
+ "payload": "^3.73.0",
174
+ "react": "^19.2.4",
155
175
  "typescript": "^5.9.3"
156
176
  },
157
177
  "keywords": [