@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
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/config/presets.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/config/presets.tsx"],"sourcesContent":["'use client'\n\n/**\n * Pre-built Puck configuration presets\n *\n * These presets provide ready-to-use configurations that can be extended\n * with custom components.\n *\n * @example\n * ```tsx\n * import { fullConfig, extendConfig } from '@delmaredigital/payload-puck/config'\n * import { MyHeroConfig } from '@/components/puck/Hero'\n *\n * export const puckConfig = extendConfig({\n * base: fullConfig,\n * components: {\n * Hero: MyHeroConfig,\n * },\n * categories: {\n * custom: { title: 'Custom', components: ['Hero'] },\n * },\n * })\n * ```\n */\n\nimport type { Config as PuckConfig, ComponentConfig } from '@puckeditor/core'\nimport type { ReactNode } from 'react'\n\n// Import component configs\nimport {\n ContainerConfig,\n FlexConfig,\n GridConfig,\n SectionConfig,\n SpacerConfig,\n TemplateConfig,\n HeadingConfig,\n TextConfig,\n RichTextEditorConfig,\n ImageConfig,\n ButtonConfig,\n CardConfig,\n DividerConfig,\n AccordionConfig,\n} from '../components/exports.js'\n\n// Import field factories for root config\nimport { createBackgroundField } from '../fields/BackgroundField.js'\nimport { lockedSlugField, lockedHomepageField } from '../fields/LockedField.js'\nimport { createFolderPickerField } from '../fields/FolderPickerField.js'\nimport { createLockedPageSegmentField } from '../fields/PageSegmentField.js'\nimport { createSlugPreviewField } from '../fields/SlugPreviewField.js'\n\n/**\n * Default root configuration used by presets\n */\nexport const defaultRoot = {\n fields: {\n // Page identity (locked fields)\n slug: lockedSlugField,\n isHomepage: lockedHomepageField,\n // Page settings\n title: {\n type: 'text' as const,\n label: 'Page Title',\n },\n pageLayout: {\n type: 'select' as const,\n label: 'Page Layout',\n options: [\n { label: 'Default', value: 'default' },\n { label: 'Landing', value: 'landing' },\n { label: 'Full Width', value: 'full-width' },\n ],\n },\n // Page-level overrides\n showHeader: {\n type: 'radio' as const,\n label: 'Show Header',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Show', value: 'show' },\n { label: 'Hide', value: 'hide' },\n ],\n },\n showFooter: {\n type: 'radio' as const,\n label: 'Show Footer',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Show', value: 'show' },\n { label: 'Hide', value: 'hide' },\n ],\n },\n pageBackground: createBackgroundField({\n label: 'Page Background',\n }),\n pageMaxWidth: {\n type: 'select' as const,\n label: 'Page Width',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Narrow (720px)', value: '720px' },\n { label: 'Standard (1000px)', value: '1000px' },\n { label: 'Wide (1200px)', value: '1200px' },\n { label: 'Extra Wide (1400px)', value: '1400px' },\n { label: 'Full Width', value: '100%' },\n ],\n },\n },\n defaultProps: {\n slug: '',\n isHomepage: false,\n title: 'New Page',\n pageLayout: 'default',\n showHeader: 'default',\n showFooter: 'default',\n pageBackground: null,\n pageMaxWidth: 'default',\n },\n render: ({ children }: { children: ReactNode }) => <>{children}</>,\n}\n\n/**\n * Root configuration for use with @delmaredigital/payload-page-tree\n *\n * Replaces the standard locked slug field with:\n * - Folder picker (select which folder the page belongs to)\n * - Page segment (editable URL segment for this page)\n * - Slug preview (read-only computed URL)\n *\n * @example\n * ```tsx\n * import { pageTreeRoot, fullConfig, extendConfig } from '@delmaredigital/payload-puck/config'\n *\n * export const puckConfig = extendConfig({\n * base: fullConfig,\n * root: pageTreeRoot,\n * })\n * ```\n */\nexport const pageTreeRoot = {\n fields: {\n // Page identity\n title: {\n type: 'text' as const,\n label: 'Page Title',\n },\n // Page-tree specific fields\n folder: createFolderPickerField({ label: 'Folder' }),\n pageSegment: createLockedPageSegmentField({ label: 'Page Segment' }),\n slug: createSlugPreviewField({\n label: 'URL Slug',\n hint: 'Auto-generated from folder + page segment',\n }),\n isHomepage: lockedHomepageField,\n // Page settings\n pageLayout: {\n type: 'select' as const,\n label: 'Page Layout',\n options: [\n { label: 'Default', value: 'default' },\n { label: 'Landing', value: 'landing' },\n { label: 'Full Width', value: 'full-width' },\n ],\n },\n // Page-level overrides\n showHeader: {\n type: 'radio' as const,\n label: 'Show Header',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Show', value: 'show' },\n { label: 'Hide', value: 'hide' },\n ],\n },\n showFooter: {\n type: 'radio' as const,\n label: 'Show Footer',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Show', value: 'show' },\n { label: 'Hide', value: 'hide' },\n ],\n },\n pageBackground: createBackgroundField({\n label: 'Page Background',\n }),\n pageMaxWidth: {\n type: 'select' as const,\n label: 'Page Width',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Narrow (720px)', value: '720px' },\n { label: 'Standard (1000px)', value: '1000px' },\n { label: 'Wide (1200px)', value: '1200px' },\n { label: 'Extra Wide (1400px)', value: '1400px' },\n { label: 'Full Width', value: '100%' },\n ],\n },\n },\n defaultProps: {\n title: 'New Page',\n folder: null,\n pageSegment: '',\n slug: '',\n isHomepage: false,\n pageLayout: 'default',\n showHeader: 'default',\n showFooter: 'default',\n pageBackground: null,\n pageMaxWidth: 'default',\n },\n render: ({ children }: { children: ReactNode }) => <>{children}</>,\n}\n\n/**\n * Full configuration with all built-in components\n *\n * Use this as a base and extend with custom components via `extendConfig()`.\n */\nexport const fullConfig = {\n root: defaultRoot,\n categories: {\n layout: {\n title: 'Layout',\n components: ['Container', 'Flex', 'Grid', 'Section', 'Spacer', 'Template'],\n defaultExpanded: true,\n },\n typography: {\n title: 'Typography',\n components: ['Heading', 'Text', 'RichText'],\n },\n media: {\n title: 'Media',\n components: ['Image'],\n },\n interactive: {\n title: 'Interactive',\n components: ['Button', 'Card', 'Divider', 'Accordion'],\n },\n },\n components: {\n // Layout\n Container: ContainerConfig as ComponentConfig<any>,\n Flex: FlexConfig as ComponentConfig<any>,\n Grid: GridConfig as ComponentConfig<any>,\n Section: SectionConfig as ComponentConfig<any>,\n Spacer: SpacerConfig as ComponentConfig<any>,\n Template: TemplateConfig as ComponentConfig<any>,\n // Typography\n Heading: HeadingConfig as ComponentConfig<any>,\n Text: TextConfig as ComponentConfig<any>,\n RichText: RichTextEditorConfig as ComponentConfig<any>,\n // Media\n Image: ImageConfig as ComponentConfig<any>,\n // Interactive\n Button: ButtonConfig as ComponentConfig<any>,\n Card: CardConfig as ComponentConfig<any>,\n Divider: DividerConfig as ComponentConfig<any>,\n Accordion: AccordionConfig as ComponentConfig<any>,\n },\n} satisfies PuckConfig\n\n/**\n * Minimal configuration with essential components only\n *\n * Good for simple landing pages or when you want a cleaner editor sidebar.\n */\nexport const minimalConfig = {\n root: defaultRoot,\n categories: {\n layout: {\n title: 'Layout',\n components: ['Section'],\n defaultExpanded: true,\n },\n content: {\n title: 'Content',\n components: ['Heading', 'Text', 'Image', 'Button'],\n },\n },\n components: {\n Section: SectionConfig as ComponentConfig<any>,\n Heading: HeadingConfig as ComponentConfig<any>,\n Text: TextConfig as ComponentConfig<any>,\n Image: ImageConfig as ComponentConfig<any>,\n Button: ButtonConfig as ComponentConfig<any>,\n },\n} satisfies PuckConfig\n\n// Re-export mergeConfigs as extendConfig for convenience\nexport { mergeConfigs, mergeConfigs as extendConfig } from './merge.js'\n"],"names":["ContainerConfig","FlexConfig","GridConfig","SectionConfig","SpacerConfig","TemplateConfig","HeadingConfig","TextConfig","RichTextEditorConfig","ImageConfig","ButtonConfig","CardConfig","DividerConfig","AccordionConfig","createBackgroundField","lockedSlugField","lockedHomepageField","createFolderPickerField","createLockedPageSegmentField","createSlugPreviewField","defaultRoot","fields","slug","isHomepage","title","type","label","pageLayout","options","value","showHeader","showFooter","pageBackground","pageMaxWidth","defaultProps","render","children","pageTreeRoot","folder","pageSegment","hint","fullConfig","root","categories","layout","components","defaultExpanded","typography","media","interactive","Container","Flex","Grid","Section","Spacer","Template","Heading","Text","RichText","Image","Button","Card","Divider","Accordion","minimalConfig","content","mergeConfigs","extendConfig"],"mappings":"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"}
@@ -3,6 +3,10 @@
3
3
  *
4
4
  * These types are designed for server-side rendering where field definitions
5
5
  * are not needed (only the render function matters).
6
- */
7
- export {};
6
+ */ /**
7
+ * Server-safe root configuration
8
+ *
9
+ * Use this for the root config in server-side Puck configurations.
10
+ */ export { };
11
+
8
12
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
1
+ {"version":3,"sources":["../../src/config/types.ts"],"sourcesContent":["/**\n * Server-specific Puck configuration types\n *\n * These types are designed for server-side rendering where field definitions\n * are not needed (only the render function matters).\n */\n\nimport type { ReactNode } from 'react'\n\n/**\n * Slot field definition - the only field type needed in server configs\n *\n * When a component has child content (slots), Puck needs the slot field\n * defined so it can transform the slot data into a renderable component.\n */\nexport interface SlotField {\n type: 'slot'\n}\n\n/**\n * Server-safe component configuration\n *\n * Use this type for component configs in `.server.tsx` files.\n * Unlike Puck's full `ComponentConfig`, this type:\n * - Makes `fields` truly optional (no TypeScript pressure to define them)\n * - Only expects slot fields when components have child content\n * - Focuses on what servers actually need: `render` and `defaultProps`\n *\n * @example\n * ```tsx\n * // Component WITHOUT slots - no fields needed\n * import type { ServerComponentConfig } from '@delmaredigital/payload-puck/config'\n *\n * export const ButtonConfig: ServerComponentConfig<ButtonProps> = {\n * label: 'Button',\n * defaultProps,\n * render: ({ text, link }) => <a href={link}>{text}</a>\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Component WITH slots - only slot field needed\n * import type { ServerComponentConfig } from '@delmaredigital/payload-puck/config'\n *\n * export const SectionConfig: ServerComponentConfig<SectionProps> = {\n * label: 'Section',\n * fields: { content: { type: 'slot' } },\n * defaultProps,\n * render: ({ content: Content }) => <section><Content /></section>\n * }\n * ```\n */\nexport interface ServerComponentConfig<Props = Record<string, unknown>> {\n /**\n * Display label for the component in the editor sidebar\n */\n label?: string\n\n /**\n * Default prop values for new instances of this component\n */\n defaultProps?: Props\n\n /**\n * Slot fields only - define these when your component has child content areas\n *\n * For server configs, you only need to define slot fields. Other field types\n * (text, number, select, etc.) are only used by the editor and can be omitted.\n *\n * @example\n * ```tsx\n * fields: {\n * content: { type: 'slot' }, // Main content area\n * sidebar: { type: 'slot' }, // Optional sidebar slot\n * }\n * ```\n */\n fields?: Record<string, SlotField>\n\n /**\n * Render function for the component\n *\n * This is called during server-side rendering. Must be a pure function\n * without React hooks or client-side interactivity.\n *\n * Slot props are transformed by Puck into renderable components.\n */\n render: (props: Props & { puck?: { isEditing?: boolean }; id?: string }) => ReactNode\n}\n\n/**\n * Server-safe root configuration\n *\n * Use this for the root config in server-side Puck configurations.\n */\nexport interface ServerRootConfig<\n Props extends Record<string, unknown> = Record<string, unknown>,\n> {\n /**\n * Default prop values for the root\n */\n defaultProps?: Partial<Props>\n\n /**\n * Root fields are not needed for server rendering\n */\n fields?: never\n\n /**\n * Render function for the root wrapper\n */\n render: (props: Props & { children: ReactNode }) => ReactNode\n}\n"],"names":[],"mappings":"AAAA;;;;;CAKC,GAsFD;;;;CAIC,GACD,WAiBC"}
@@ -1,8 +1,8 @@
1
1
  import type { Config as PuckConfig, Data, Plugin as PuckPlugin, Overrides as PuckOverrides } from '@puckeditor/core';
2
2
  import type { ReactNode } from 'react';
3
- import type { LayoutStyle } from './components/IframeWrapper';
4
- import type { ThemeConfig } from '../theme';
5
- import type { LayoutDefinition } from '../layouts';
3
+ import type { LayoutStyle } from './components/IframeWrapper.js';
4
+ import type { ThemeConfig } from '../theme/index.js';
5
+ import type { LayoutDefinition } from '../layouts/index.js';
6
6
  import type { AiExamplePrompt, ComponentAiOverrides } from '../ai/types.js';
7
7
  export interface PuckEditorProps {
8
8
  /**
@@ -278,5 +278,5 @@ export interface PuckEditorProps {
278
278
  * />
279
279
  * ```
280
280
  */
281
- export declare function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, previewUrlPrefix, enableViewports, plugins, layouts: layoutsProp, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides, onSaveSuccess, onSaveError, onChange, initialStatus, theme: themeProp, hasPageTree, folder, pageSegment, editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, enableAi, aiOptions, aiExamplePrompts, hasPromptsCollection, hasContextCollection, aiComponentInstructions, experimentalFullScreenCanvas, autoDetectDarkMode, showPreviewDarkModeToggle, initialPreviewDarkMode, }: PuckEditorProps): import("react/jsx-runtime").JSX.Element;
281
+ export declare function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, previewUrlPrefix, enableViewports, plugins, layouts: layoutsProp, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides, onSaveSuccess, onSaveError, onChange, initialStatus, theme: themeProp, hasPageTree, folder, pageSegment, editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, enableAi, aiOptions, aiExamplePrompts, hasPromptsCollection, hasContextCollection, aiComponentInstructions, experimentalFullScreenCanvas, autoDetectDarkMode, showPreviewDarkModeToggle, initialPreviewDarkMode, }: PuckEditorProps): import("react").JSX.Element;
282
282
  //# sourceMappingURL=PuckEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PuckEditor.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PuckEditor.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,UAAU,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACpH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAkB3E,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,WAAW,EAAE,IAAI,CAAA;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IAChD;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE,SAAS,CAAA;IAC9B;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAClC;;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;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;IACrC;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;IAInB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAIpB;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAIlB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE;QACV;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QACb;;;WAGG;QACH,cAAc,CAAC,EAAE,eAAe,EAAE,CAAA;KACnC,CAAA;IAED;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IAEpC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,oBAAoB,CAAA;IAE9C;;;;;OAKG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAA;IAItC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAE5B;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;IAEnC;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,WAAW,EACX,MAAM,EAAE,UAAU,EAClB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,OAAO,EAAE,WAAW,EACpB,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,KAAK,EAAE,SAAS,EAEhB,WAAmB,EACnB,MAAM,EACN,WAAW,EAEX,iBAAiB,EAAE,qBAAqB,EACxC,SAAS,EAAE,aAAa,EAExB,QAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,oBAA4B,EAC5B,oBAA4B,EAC5B,uBAAuB,EACvB,4BAAoC,EAEpC,kBAAyB,EACzB,yBAAgC,EAChC,sBAA8B,GAC/B,EAAE,eAAe,+BAyOjB"}
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useMemo } from 'react';
4
4
  import dynamic from 'next/dynamic';
5
- import { LoadingState } from './components/LoadingState';
5
+ import { LoadingState } from './components/LoadingState.js';
6
6
  import { injectPageTreeFields } from './utils/injectPageTreeFields.js';
7
7
  import { hasPageTreeFields } from './utils/detectPageTree.js';
8
8
  import { usePuckConfig } from '../views/PuckConfigContext.js';
@@ -10,9 +10,9 @@ import { injectAiConfig, hasAiConfig } from '../ai/utils/injectAiConfig.js';
10
10
  import { comprehensiveComponentAiConfig } from '../ai/presets/index.js';
11
11
  // Dynamic import with ssr: false to prevent hydration mismatch
12
12
  // Puck generates random IDs for drag-and-drop that differ between server/client
13
- const PuckEditorImpl = dynamic(() => import('./PuckEditorImpl.client').then((mod) => mod.PuckEditorImpl), {
13
+ const PuckEditorImpl = dynamic(()=>import('./PuckEditorImpl.client.js').then((mod)=>mod.PuckEditorImpl), {
14
14
  ssr: false,
15
- loading: () => _jsx(LoadingState, {}),
15
+ loading: ()=>/*#__PURE__*/ _jsx(LoadingState, {})
16
16
  });
17
17
  /**
18
18
  * Puck Editor - The primary editor component
@@ -61,34 +61,34 @@ const PuckEditorImpl = dynamic(() => import('./PuckEditorImpl.client').then((mod
61
61
  * pageSegment={page.pageSegment}
62
62
  * />
63
63
  * ```
64
- */
65
- export function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, previewUrlPrefix, enableViewports, plugins, layouts: layoutsProp, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides, onSaveSuccess, onSaveError, onChange, initialStatus, theme: themeProp,
66
- // Page-tree props
67
- hasPageTree = false, folder, pageSegment,
68
- // Editor iframe styling props
69
- editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp,
70
- // AI integration props
71
- enableAi = false, aiOptions, aiExamplePrompts, hasPromptsCollection = false, hasContextCollection = false, aiComponentInstructions, experimentalFullScreenCanvas = false,
72
- // Dark mode props
73
- autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkMode = false, }) {
64
+ */ export function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, previewUrlPrefix, enableViewports, plugins, layouts: layoutsProp, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides, onSaveSuccess, onSaveError, onChange, initialStatus, theme: themeProp, // Page-tree props
65
+ hasPageTree = false, folder, pageSegment, // Editor iframe styling props
66
+ editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, // AI integration props
67
+ enableAi = false, aiOptions, aiExamplePrompts, hasPromptsCollection = false, hasContextCollection = false, aiComponentInstructions, experimentalFullScreenCanvas = false, // Dark mode props
68
+ autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkMode = false }) {
74
69
  // Get config from context as fallback
75
- const { config: configFromContext, layouts: layoutsFromContext, theme: themeFromContext, plugins: pluginsFromContext, editorStylesheets: editorStylesheetsFromContext, editorCss: editorCssFromContext, } = usePuckConfig();
70
+ const { config: configFromContext, layouts: layoutsFromContext, theme: themeFromContext, plugins: pluginsFromContext, editorStylesheets: editorStylesheetsFromContext, editorCss: editorCssFromContext } = usePuckConfig();
76
71
  // Use prop config if provided, otherwise fall back to context
77
72
  const baseConfig = configProp || configFromContext;
78
73
  const theme = themeProp || themeFromContext;
79
74
  // Merge plugins from props and context
80
75
  // Props take precedence and are added first, context plugins follow
81
- const mergedPlugins = useMemo(() => {
76
+ const mergedPlugins = useMemo(()=>{
82
77
  // If plugins prop is false, disable all plugins (including context ones)
83
- if (plugins === false)
84
- return false;
78
+ if (plugins === false) return false;
85
79
  // If plugins prop is provided (not undefined), it takes precedence
86
80
  // But also include context plugins
87
81
  const propPlugins = plugins || [];
88
82
  const contextPlugins = pluginsFromContext || [];
89
- const combined = [...propPlugins, ...contextPlugins];
83
+ const combined = [
84
+ ...propPlugins,
85
+ ...contextPlugins
86
+ ];
90
87
  return combined.length > 0 ? combined : undefined;
91
- }, [plugins, pluginsFromContext]);
88
+ }, [
89
+ plugins,
90
+ pluginsFromContext
91
+ ]);
92
92
  // Props take precedence over context for editor stylesheets
93
93
  const editorStylesheets = editorStylesheetsProp || editorStylesheetsFromContext;
94
94
  const editorCss = editorCssProp || editorCssFromContext;
@@ -96,20 +96,16 @@ autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkM
96
96
  // Props may have metadata (value, label, editorBackground) but no React components
97
97
  // Context may have React components (header, footer) that can't be serialized through props
98
98
  // Merge by matching on 'value', combining properties, preferring context for components
99
- const layouts = useMemo(() => {
99
+ const layouts = useMemo(()=>{
100
100
  // If no layouts from either source, return undefined
101
- if (!layoutsProp && !layoutsFromContext)
102
- return undefined;
101
+ if (!layoutsProp && !layoutsFromContext) return undefined;
103
102
  // If only one source, use it
104
- if (!layoutsProp)
105
- return layoutsFromContext;
106
- if (!layoutsFromContext)
107
- return layoutsProp;
103
+ if (!layoutsProp) return layoutsFromContext;
104
+ if (!layoutsFromContext) return layoutsProp;
108
105
  // Merge: for each prop layout, find matching context layout and combine
109
- return layoutsProp.map((propLayout) => {
110
- const contextLayout = layoutsFromContext.find((c) => c.value === propLayout.value);
111
- if (!contextLayout)
112
- return propLayout;
106
+ return layoutsProp.map((propLayout)=>{
107
+ const contextLayout = layoutsFromContext.find((c)=>c.value === propLayout.value);
108
+ if (!contextLayout) return propLayout;
113
109
  // Combine: prop values first, then context values (context provides components)
114
110
  return {
115
111
  ...propLayout,
@@ -120,21 +116,24 @@ autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkM
120
116
  editorBackground: propLayout.editorBackground || contextLayout.editorBackground,
121
117
  editorDarkMode: propLayout.editorDarkMode ?? contextLayout.editorDarkMode,
122
118
  stickyHeaderHeight: propLayout.stickyHeaderHeight ?? contextLayout.stickyHeaderHeight,
123
- styles: propLayout.styles || contextLayout.styles,
119
+ styles: propLayout.styles || contextLayout.styles
124
120
  };
125
121
  });
126
- }, [layoutsProp, layoutsFromContext]);
122
+ }, [
123
+ layoutsProp,
124
+ layoutsFromContext
125
+ ]);
127
126
  // Conditionally inject page-tree fields and AI config into config
128
- const finalConfig = useMemo(() => {
129
- if (!baseConfig)
130
- return null;
127
+ const finalConfig = useMemo(()=>{
128
+ if (!baseConfig) return null;
131
129
  let config = baseConfig;
132
130
  // Inject AI component instructions when AI is enabled
133
131
  if (enableAi && !hasAiConfig(config)) {
134
132
  // Merge comprehensive instructions with user-provided overrides
135
- const mergedAiConfig = aiComponentInstructions
136
- ? { ...comprehensiveComponentAiConfig, ...aiComponentInstructions }
137
- : comprehensiveComponentAiConfig;
133
+ const mergedAiConfig = aiComponentInstructions ? {
134
+ ...comprehensiveComponentAiConfig,
135
+ ...aiComponentInstructions
136
+ } : comprehensiveComponentAiConfig;
138
137
  config = injectAiConfig(config, mergedAiConfig);
139
138
  }
140
139
  // Inject page-tree fields if enabled
@@ -142,11 +141,15 @@ autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkM
142
141
  config = injectPageTreeFields(config);
143
142
  }
144
143
  return config;
145
- }, [baseConfig, hasPageTree, enableAi, aiComponentInstructions]);
144
+ }, [
145
+ baseConfig,
146
+ hasPageTree,
147
+ enableAi,
148
+ aiComponentInstructions
149
+ ]);
146
150
  // Merge page-tree initial values into initialData
147
- const finalInitialData = useMemo(() => {
148
- if (!hasPageTree)
149
- return initialData;
151
+ const finalInitialData = useMemo(()=>{
152
+ if (!hasPageTree) return initialData;
150
153
  return {
151
154
  ...initialData,
152
155
  root: {
@@ -154,76 +157,165 @@ autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkM
154
157
  props: {
155
158
  ...initialData.root?.props,
156
159
  // Only set if provided and hasPageTree is true
157
- ...(folder !== undefined && { folder }),
158
- ...(pageSegment !== undefined && { pageSegment }),
159
- },
160
- },
160
+ ...folder !== undefined && {
161
+ folder
162
+ },
163
+ ...pageSegment !== undefined && {
164
+ pageSegment
165
+ }
166
+ }
167
+ }
161
168
  };
162
- }, [initialData, hasPageTree, folder, pageSegment]);
169
+ }, [
170
+ initialData,
171
+ hasPageTree,
172
+ folder,
173
+ pageSegment
174
+ ]);
163
175
  // Show error if no config available
164
176
  if (!finalConfig) {
165
- return (_jsx("div", { style: {
177
+ return /*#__PURE__*/ _jsx("div", {
178
+ style: {
166
179
  display: 'flex',
167
180
  flexDirection: 'column',
168
181
  alignItems: 'center',
169
182
  justifyContent: 'center',
170
183
  height: 'calc(100vh - 120px)',
171
184
  padding: '40px',
172
- textAlign: 'center',
173
- }, children: _jsxs("div", { style: {
185
+ textAlign: 'center'
186
+ },
187
+ children: /*#__PURE__*/ _jsxs("div", {
188
+ style: {
174
189
  backgroundColor: 'var(--theme-elevation-50)',
175
190
  border: '1px solid var(--theme-elevation-150)',
176
191
  borderRadius: '8px',
177
192
  padding: '32px 48px',
178
- maxWidth: '560px',
179
- }, children: [_jsx("h2", { style: {
193
+ maxWidth: '560px'
194
+ },
195
+ children: [
196
+ /*#__PURE__*/ _jsx("h2", {
197
+ style: {
180
198
  color: 'var(--theme-elevation-800)',
181
199
  fontSize: '18px',
182
200
  fontWeight: 600,
183
- margin: '0 0 12px 0',
184
- }, children: "Puck Configuration Required" }), _jsxs("p", { style: {
201
+ margin: '0 0 12px 0'
202
+ },
203
+ children: "Puck Configuration Required"
204
+ }),
205
+ /*#__PURE__*/ _jsxs("p", {
206
+ style: {
185
207
  color: 'var(--theme-elevation-500)',
186
208
  fontSize: '14px',
187
209
  lineHeight: 1.6,
188
- margin: '0 0 16px 0',
189
- }, children: ["Either pass ", _jsx("code", { style: { backgroundColor: 'var(--theme-elevation-100)', padding: '2px 6px', borderRadius: '4px', fontSize: '13px' }, children: "config" }), " prop directly, or wrap your application with", ' ', _jsx("code", { style: { backgroundColor: 'var(--theme-elevation-100)', padding: '2px 6px', borderRadius: '4px', fontSize: '13px' }, children: "PuckConfigProvider" })] }), _jsx("pre", { style: {
210
+ margin: '0 0 16px 0'
211
+ },
212
+ children: [
213
+ "Either pass ",
214
+ /*#__PURE__*/ _jsx("code", {
215
+ style: {
216
+ backgroundColor: 'var(--theme-elevation-100)',
217
+ padding: '2px 6px',
218
+ borderRadius: '4px',
219
+ fontSize: '13px'
220
+ },
221
+ children: "config"
222
+ }),
223
+ " prop directly, or wrap your application with",
224
+ ' ',
225
+ /*#__PURE__*/ _jsx("code", {
226
+ style: {
227
+ backgroundColor: 'var(--theme-elevation-100)',
228
+ padding: '2px 6px',
229
+ borderRadius: '4px',
230
+ fontSize: '13px'
231
+ },
232
+ children: "PuckConfigProvider"
233
+ })
234
+ ]
235
+ }),
236
+ /*#__PURE__*/ _jsx("pre", {
237
+ style: {
190
238
  backgroundColor: 'var(--theme-elevation-100)',
191
239
  padding: '16px',
192
240
  borderRadius: '6px',
193
241
  fontSize: '12px',
194
242
  textAlign: 'left',
195
243
  overflow: 'auto',
196
- margin: 0,
197
- }, children: `// Option 1: Pass config directly
244
+ margin: 0
245
+ },
246
+ children: `// Option 1: Pass config directly
198
247
  <PuckEditor config={editorConfig} ... />
199
248
 
200
249
  // Option 2: Use context provider
201
250
  <PuckConfigProvider config={editorConfig}>
202
251
  <PuckEditor ... />
203
- </PuckConfigProvider>` })] }) }));
252
+ </PuckConfigProvider>`
253
+ })
254
+ ]
255
+ })
256
+ });
204
257
  }
205
258
  // Merge example prompts from plugin config and aiOptions prop
206
- const mergedAiOptions = useMemo(() => {
207
- if (!enableAi)
208
- return undefined;
259
+ const mergedAiOptions = useMemo(()=>{
260
+ if (!enableAi) return undefined;
209
261
  const mergedPrompts = [
210
- ...(aiExamplePrompts || []),
211
- ...(aiOptions?.examplePrompts || []),
262
+ ...aiExamplePrompts || [],
263
+ ...aiOptions?.examplePrompts || []
212
264
  ];
213
265
  return {
214
266
  host: aiOptions?.host || '/api/puck/ai',
215
- examplePrompts: mergedPrompts.length > 0 ? mergedPrompts : undefined,
267
+ examplePrompts: mergedPrompts.length > 0 ? mergedPrompts : undefined
216
268
  };
217
- }, [enableAi, aiExamplePrompts, aiOptions]);
269
+ }, [
270
+ enableAi,
271
+ aiExamplePrompts,
272
+ aiOptions
273
+ ]);
218
274
  // Compute preview URL from prefix (for Server Component compatibility)
219
275
  // previewUrlPrefix takes precedence if provided
220
- const finalPreviewUrl = useMemo(() => {
276
+ const finalPreviewUrl = useMemo(()=>{
221
277
  if (previewUrlPrefix) {
222
278
  // Convert prefix to a function that builds the full URL
223
- return (slug) => (slug ? `${previewUrlPrefix}/${slug}` : previewUrlPrefix);
279
+ return (slug)=>slug ? `${previewUrlPrefix}/${slug}` : previewUrlPrefix;
224
280
  }
225
281
  return previewUrl;
226
- }, [previewUrlPrefix, previewUrl]);
227
- return (_jsx(PuckEditorImpl, { pageId: pageId, initialData: finalInitialData, config: finalConfig, pageTitle: pageTitle, pageSlug: pageSlug, apiEndpoint: apiEndpoint, backUrl: backUrl, previewUrl: finalPreviewUrl, enableViewports: enableViewports, plugins: mergedPlugins, layouts: layouts, layoutStyles: layoutStyles, layoutKey: layoutKey, headerActionsStart: headerActionsStart, headerActionsEnd: headerActionsEnd, overrides: overrides, onSaveSuccess: onSaveSuccess, onSaveError: onSaveError, onChange: onChange, initialStatus: initialStatus, theme: theme, editorStylesheets: editorStylesheets, editorCss: editorCss, enableAi: enableAi, aiOptions: mergedAiOptions, hasPromptsCollection: hasPromptsCollection, hasContextCollection: hasContextCollection, experimentalFullScreenCanvas: experimentalFullScreenCanvas, autoDetectDarkMode: autoDetectDarkMode, showPreviewDarkModeToggle: showPreviewDarkModeToggle, initialPreviewDarkMode: initialPreviewDarkMode }));
282
+ }, [
283
+ previewUrlPrefix,
284
+ previewUrl
285
+ ]);
286
+ return /*#__PURE__*/ _jsx(PuckEditorImpl, {
287
+ pageId: pageId,
288
+ initialData: finalInitialData,
289
+ config: finalConfig,
290
+ pageTitle: pageTitle,
291
+ pageSlug: pageSlug,
292
+ apiEndpoint: apiEndpoint,
293
+ backUrl: backUrl,
294
+ previewUrl: finalPreviewUrl,
295
+ enableViewports: enableViewports,
296
+ plugins: mergedPlugins,
297
+ layouts: layouts,
298
+ layoutStyles: layoutStyles,
299
+ layoutKey: layoutKey,
300
+ headerActionsStart: headerActionsStart,
301
+ headerActionsEnd: headerActionsEnd,
302
+ overrides: overrides,
303
+ onSaveSuccess: onSaveSuccess,
304
+ onSaveError: onSaveError,
305
+ onChange: onChange,
306
+ initialStatus: initialStatus,
307
+ theme: theme,
308
+ editorStylesheets: editorStylesheets,
309
+ editorCss: editorCss,
310
+ enableAi: enableAi,
311
+ aiOptions: mergedAiOptions,
312
+ hasPromptsCollection: hasPromptsCollection,
313
+ hasContextCollection: hasContextCollection,
314
+ experimentalFullScreenCanvas: experimentalFullScreenCanvas,
315
+ autoDetectDarkMode: autoDetectDarkMode,
316
+ showPreviewDarkModeToggle: showPreviewDarkModeToggle,
317
+ initialPreviewDarkMode: initialPreviewDarkMode
318
+ });
228
319
  }
320
+
229
321
  //# sourceMappingURL=PuckEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PuckEditor.js","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/editor/PuckEditor.tsx"],"sourcesContent":["'use client'\n\nimport { useMemo } from 'react'\nimport dynamic from 'next/dynamic'\nimport type { Config as PuckConfig, Data, Plugin as PuckPlugin, Overrides as PuckOverrides } from '@puckeditor/core'\nimport type { ReactNode } from 'react'\nimport type { LayoutStyle } from './components/IframeWrapper.js'\nimport type { ThemeConfig } from '../theme/index.js'\nimport type { LayoutDefinition } from '../layouts/index.js'\nimport type { AiExamplePrompt, ComponentAiOverrides } from '../ai/types.js'\nimport { LoadingState } from './components/LoadingState.js'\nimport { injectPageTreeFields } from './utils/injectPageTreeFields.js'\nimport { hasPageTreeFields } from './utils/detectPageTree.js'\nimport { usePuckConfig } from '../views/PuckConfigContext.js'\nimport { injectAiConfig, hasAiConfig } from '../ai/utils/injectAiConfig.js'\nimport { comprehensiveComponentAiConfig } from '../ai/presets/index.js'\n\n// Dynamic import with ssr: false to prevent hydration mismatch\n// Puck generates random IDs for drag-and-drop that differ between server/client\nconst PuckEditorImpl = dynamic(\n () => import('./PuckEditorImpl.client.js').then((mod) => mod.PuckEditorImpl),\n {\n ssr: false,\n loading: () => <LoadingState />,\n }\n)\n\nexport interface PuckEditorProps {\n /**\n * Page ID for save operations\n */\n pageId: string\n /**\n * Initial Puck data to load\n */\n initialData: Data\n /**\n * Puck configuration with components and settings.\n * If not provided, will attempt to read from PuckConfigContext.\n */\n config?: PuckConfig\n /**\n * Page title for display\n */\n pageTitle: string\n /**\n * Page slug for preview URL\n */\n pageSlug: string\n /**\n * API endpoint for save operations\n * @default '/api/puck/pages'\n */\n apiEndpoint?: string\n /**\n * URL to navigate to when back button is clicked\n */\n backUrl?: string\n /**\n * Preview URL or function to generate preview URL from slug\n */\n previewUrl?: string | ((slug: string) => string)\n /**\n * URL prefix for preview (e.g., '/acme' for org-scoped pages).\n * When provided, the preview URL will be built as:\n * - Homepage: `{prefix}`\n * - Regular pages: `{prefix}/{slug}`\n * This is useful for Server Components where functions can't be passed.\n */\n previewUrlPrefix?: string\n /**\n * Whether to enable viewport switching\n * @default true\n */\n enableViewports?: boolean\n /**\n * Additional Puck plugins to use.\n * The headingAnalyzer plugin is included by default.\n * Set to `false` to disable all default plugins.\n */\n plugins?: PuckPlugin[] | false\n /**\n * Layout definitions for the editor preview.\n * The editor reads header, footer, editorBackground, and editorDarkMode\n * from the layout definition matching the selected pageLayout.\n */\n layouts?: LayoutDefinition[]\n /**\n * Layout style configurations for theme-aware preview\n * @deprecated Use `layouts` prop instead. layoutStyles will be removed in a future version.\n */\n layoutStyles?: Record<string, LayoutStyle>\n /**\n * Key in root.props to read layout value from\n * @default 'pageLayout'\n */\n layoutKey?: string\n /**\n * Custom actions to render at the start of the header\n */\n headerActionsStart?: ReactNode\n /**\n * Custom actions to render at the end of the header\n */\n headerActionsEnd?: ReactNode\n /**\n * Puck overrides to merge with defaults\n */\n overrides?: Partial<PuckOverrides>\n /**\n * Callback on successful save\n */\n onSaveSuccess?: (data: Data) => void\n /**\n * Callback on save error\n */\n onSaveError?: (error: Error) => void\n /**\n * Callback when data changes\n */\n onChange?: (data: Data) => void\n /**\n * Initial document status from Payload (_status field)\n * Automatically populated when using PuckEditorView\n */\n initialStatus?: 'draft' | 'published'\n /**\n * Theme configuration for customizing component styles\n * When provided, components will use themed styles\n */\n theme?: ThemeConfig\n\n // Page-tree integration props\n\n /**\n * Enable page-tree integration (folder picker, page segment, computed slug).\n * When true, injects folder/pageSegment/slug fields into root config.\n * Requires @delmaredigital/payload-page-tree plugin to be installed.\n * @default false\n */\n hasPageTree?: boolean\n /**\n * Initial folder ID for page-tree integration.\n * Only used when hasPageTree is true.\n */\n folder?: string | null\n /**\n * Initial page segment for page-tree integration.\n * Only used when hasPageTree is true.\n */\n pageSegment?: string\n\n // Editor iframe styling props\n\n /**\n * Stylesheet URLs to inject into the editor iframe.\n * Use this to provide frontend CSS (Tailwind, CSS variables, etc.)\n * that header/footer components need for proper styling.\n * Takes precedence over stylesheets from PuckConfigProvider.\n *\n * @example\n * ```tsx\n * <PuckEditor\n * editorStylesheets={['/editor-styles.css']}\n * // ...\n * />\n * ```\n */\n editorStylesheets?: string[]\n /**\n * Raw CSS to inject into the editor iframe.\n * Useful for CSS variables or style overrides.\n * Takes precedence over CSS from PuckConfigProvider.\n *\n * @example\n * ```tsx\n * <PuckEditor\n * editorCss=\":root { --primary: blue; }\"\n * // ...\n * />\n * ```\n */\n editorCss?: string\n\n // AI integration props\n\n /**\n * Enable AI features in the editor.\n * When true, adds the AI chat plugin to the editor.\n * Requires @puckeditor/plugin-ai to be installed and\n * PUCK_API_KEY environment variable to be set.\n * @default false\n */\n enableAi?: boolean\n\n /**\n * AI plugin configuration options.\n * Only used when enableAi is true.\n */\n aiOptions?: {\n /**\n * API host for AI requests.\n * @default '/api/puck/ai'\n */\n host?: string\n /**\n * Example prompts to show in the chat interface.\n * Users can click these to quickly send common prompts.\n */\n examplePrompts?: AiExamplePrompt[]\n }\n\n /**\n * Example prompts from plugin config.\n * These are merged with aiOptions.examplePrompts if both are provided.\n * Typically set automatically by PuckEditorView from plugin config.\n */\n aiExamplePrompts?: AiExamplePrompt[]\n\n /**\n * Whether the puck-ai-prompts collection is enabled.\n * When true, the prompt editor plugin is added to the plugin rail.\n * Typically set automatically by PuckEditorView from plugin config.\n */\n hasPromptsCollection?: boolean\n\n /**\n * Whether the puck-ai-context collection is enabled.\n * When true, the context editor plugin is added to the plugin rail.\n * Typically set automatically by PuckEditorView from plugin config.\n */\n hasContextCollection?: boolean\n\n /**\n * Custom component AI instructions to override or extend defaults.\n * When AI is enabled, built-in component instructions are auto-applied.\n * Use this to customize instructions for your brand/use case.\n * Typically set automatically by PuckEditorView from plugin config.\n */\n aiComponentInstructions?: ComponentAiOverrides\n\n /**\n * Enable experimental full screen canvas mode.\n * When enabled, the canvas takes up the full viewport with a floating viewport switcher.\n * This is an experimental Puck feature.\n * @default false\n */\n experimentalFullScreenCanvas?: boolean\n\n // Dark mode props\n\n /**\n * Auto-detect dark mode from PayloadCMS admin.\n * When true (default), dark mode CSS is automatically injected when Payload is in dark mode.\n * Set to false to disable automatic dark mode detection.\n * @default true\n */\n autoDetectDarkMode?: boolean\n\n /**\n * Show the preview dark mode toggle near the viewport switcher.\n * Allows toggling the preview iframe between light/dark modes independently.\n * @default true\n */\n showPreviewDarkModeToggle?: boolean\n\n /**\n * Initial state for the preview dark mode toggle.\n * Only used when showPreviewDarkModeToggle is true.\n * @default false (light mode)\n */\n initialPreviewDarkMode?: boolean\n}\n\n/**\n * Puck Editor - The primary editor component\n *\n * A full-featured visual page builder with:\n * - Save draft and publish functionality\n * - Unsaved changes tracking with beforeunload warning\n * - Interactive/Edit mode toggle\n * - Theme-aware preview backgrounds\n * - Responsive viewport switching\n * - Optional page-tree integration (folder-based URL structure)\n *\n * @example Basic usage\n * ```tsx\n * 'use client'\n *\n * import { PuckEditor } from '@delmaredigital/payload-puck/editor'\n * import { editorConfig } from '@delmaredigital/payload-puck/config/editor'\n *\n * export function PageEditor({ page }) {\n * return (\n * <PuckEditor\n * pageId={page.id}\n * initialData={page.puckData}\n * config={editorConfig}\n * pageTitle={page.title}\n * pageSlug={page.slug}\n * apiEndpoint=\"/api/puck/pages\"\n * backUrl=\"/admin/pages\"\n * />\n * )\n * }\n * ```\n *\n * @example With page-tree integration\n * ```tsx\n * <PuckEditor\n * pageId={page.id}\n * initialData={page.puckData}\n * config={editorConfig}\n * pageTitle={page.title}\n * pageSlug={page.slug}\n * apiEndpoint=\"/api/puck/pages\"\n * hasPageTree={true}\n * folder={page.folder}\n * pageSegment={page.pageSegment}\n * />\n * ```\n */\nexport function PuckEditor({\n pageId,\n initialData,\n config: configProp,\n pageTitle,\n pageSlug,\n apiEndpoint,\n backUrl,\n previewUrl,\n previewUrlPrefix,\n enableViewports,\n plugins,\n layouts: layoutsProp,\n layoutStyles,\n layoutKey,\n headerActionsStart,\n headerActionsEnd,\n overrides,\n onSaveSuccess,\n onSaveError,\n onChange,\n initialStatus,\n theme: themeProp,\n // Page-tree props\n hasPageTree = false,\n folder,\n pageSegment,\n // Editor iframe styling props\n editorStylesheets: editorStylesheetsProp,\n editorCss: editorCssProp,\n // AI integration props\n enableAi = false,\n aiOptions,\n aiExamplePrompts,\n hasPromptsCollection = false,\n hasContextCollection = false,\n aiComponentInstructions,\n experimentalFullScreenCanvas = false,\n // Dark mode props\n autoDetectDarkMode = true,\n showPreviewDarkModeToggle = true,\n initialPreviewDarkMode = false,\n}: PuckEditorProps) {\n // Get config from context as fallback\n const {\n config: configFromContext,\n layouts: layoutsFromContext,\n theme: themeFromContext,\n plugins: pluginsFromContext,\n editorStylesheets: editorStylesheetsFromContext,\n editorCss: editorCssFromContext,\n } = usePuckConfig()\n\n // Use prop config if provided, otherwise fall back to context\n const baseConfig = configProp || configFromContext\n const theme = themeProp || themeFromContext\n\n // Merge plugins from props and context\n // Props take precedence and are added first, context plugins follow\n const mergedPlugins = useMemo(() => {\n // If plugins prop is false, disable all plugins (including context ones)\n if (plugins === false) return false\n // If plugins prop is provided (not undefined), it takes precedence\n // But also include context plugins\n const propPlugins = plugins || []\n const contextPlugins = pluginsFromContext || []\n const combined = [...propPlugins, ...contextPlugins]\n return combined.length > 0 ? combined : undefined\n }, [plugins, pluginsFromContext])\n\n // Props take precedence over context for editor stylesheets\n const editorStylesheets = editorStylesheetsProp || editorStylesheetsFromContext\n const editorCss = editorCssProp || editorCssFromContext\n\n // Merge layouts from props and context\n // Props may have metadata (value, label, editorBackground) but no React components\n // Context may have React components (header, footer) that can't be serialized through props\n // Merge by matching on 'value', combining properties, preferring context for components\n const layouts = useMemo(() => {\n // If no layouts from either source, return undefined\n if (!layoutsProp && !layoutsFromContext) return undefined\n // If only one source, use it\n if (!layoutsProp) return layoutsFromContext\n if (!layoutsFromContext) return layoutsProp\n\n // Merge: for each prop layout, find matching context layout and combine\n return layoutsProp.map((propLayout) => {\n const contextLayout = layoutsFromContext.find((c) => c.value === propLayout.value)\n if (!contextLayout) return propLayout\n\n // Combine: prop values first, then context values (context provides components)\n return {\n ...propLayout,\n // Context provides React components (these can't be serialized through server props)\n header: propLayout.header || contextLayout.header,\n footer: propLayout.footer || contextLayout.footer,\n // Context may also provide other values not in props\n editorBackground: propLayout.editorBackground || contextLayout.editorBackground,\n editorDarkMode: propLayout.editorDarkMode ?? contextLayout.editorDarkMode,\n stickyHeaderHeight: propLayout.stickyHeaderHeight ?? contextLayout.stickyHeaderHeight,\n styles: propLayout.styles || contextLayout.styles,\n }\n })\n }, [layoutsProp, layoutsFromContext])\n\n // Conditionally inject page-tree fields and AI config into config\n const finalConfig = useMemo(() => {\n if (!baseConfig) return null\n\n let config = baseConfig\n\n // Inject AI component instructions when AI is enabled\n if (enableAi && !hasAiConfig(config)) {\n // Merge comprehensive instructions with user-provided overrides\n const mergedAiConfig = aiComponentInstructions\n ? { ...comprehensiveComponentAiConfig, ...aiComponentInstructions }\n : comprehensiveComponentAiConfig\n\n config = injectAiConfig(config, mergedAiConfig)\n }\n\n // Inject page-tree fields if enabled\n if (hasPageTree && !hasPageTreeFields(config)) {\n config = injectPageTreeFields(config)\n }\n\n return config\n }, [baseConfig, hasPageTree, enableAi, aiComponentInstructions])\n\n // Merge page-tree initial values into initialData\n const finalInitialData = useMemo(() => {\n if (!hasPageTree) return initialData\n\n return {\n ...initialData,\n root: {\n ...initialData.root,\n props: {\n ...(initialData.root as any)?.props,\n // Only set if provided and hasPageTree is true\n ...(folder !== undefined && { folder }),\n ...(pageSegment !== undefined && { pageSegment }),\n },\n },\n }\n }, [initialData, hasPageTree, folder, pageSegment])\n\n // Show error if no config available\n if (!finalConfig) {\n return (\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n height: 'calc(100vh - 120px)',\n padding: '40px',\n textAlign: 'center',\n }}\n >\n <div\n style={{\n backgroundColor: 'var(--theme-elevation-50)',\n border: '1px solid var(--theme-elevation-150)',\n borderRadius: '8px',\n padding: '32px 48px',\n maxWidth: '560px',\n }}\n >\n <h2\n style={{\n color: 'var(--theme-elevation-800)',\n fontSize: '18px',\n fontWeight: 600,\n margin: '0 0 12px 0',\n }}\n >\n Puck Configuration Required\n </h2>\n <p\n style={{\n color: 'var(--theme-elevation-500)',\n fontSize: '14px',\n lineHeight: 1.6,\n margin: '0 0 16px 0',\n }}\n >\n Either pass <code style={{ backgroundColor: 'var(--theme-elevation-100)', padding: '2px 6px', borderRadius: '4px', fontSize: '13px' }}>config</code> prop directly, or wrap your application with{' '}\n <code style={{ backgroundColor: 'var(--theme-elevation-100)', padding: '2px 6px', borderRadius: '4px', fontSize: '13px' }}>PuckConfigProvider</code>\n </p>\n <pre\n style={{\n backgroundColor: 'var(--theme-elevation-100)',\n padding: '16px',\n borderRadius: '6px',\n fontSize: '12px',\n textAlign: 'left',\n overflow: 'auto',\n margin: 0,\n }}\n >\n{`// Option 1: Pass config directly\n<PuckEditor config={editorConfig} ... />\n\n// Option 2: Use context provider\n<PuckConfigProvider config={editorConfig}>\n <PuckEditor ... />\n</PuckConfigProvider>`}\n </pre>\n </div>\n </div>\n )\n }\n\n // Merge example prompts from plugin config and aiOptions prop\n const mergedAiOptions = useMemo(() => {\n if (!enableAi) return undefined\n\n const mergedPrompts = [\n ...(aiExamplePrompts || []),\n ...(aiOptions?.examplePrompts || []),\n ]\n\n return {\n host: aiOptions?.host || '/api/puck/ai',\n examplePrompts: mergedPrompts.length > 0 ? mergedPrompts : undefined,\n }\n }, [enableAi, aiExamplePrompts, aiOptions])\n\n // Compute preview URL from prefix (for Server Component compatibility)\n // previewUrlPrefix takes precedence if provided\n const finalPreviewUrl = useMemo(() => {\n if (previewUrlPrefix) {\n // Convert prefix to a function that builds the full URL\n return (slug: string) => (slug ? `${previewUrlPrefix}/${slug}` : previewUrlPrefix)\n }\n return previewUrl\n }, [previewUrlPrefix, previewUrl])\n\n return (\n <PuckEditorImpl\n pageId={pageId}\n initialData={finalInitialData}\n config={finalConfig}\n pageTitle={pageTitle}\n pageSlug={pageSlug}\n apiEndpoint={apiEndpoint}\n backUrl={backUrl}\n previewUrl={finalPreviewUrl}\n enableViewports={enableViewports}\n plugins={mergedPlugins}\n layouts={layouts}\n layoutStyles={layoutStyles}\n layoutKey={layoutKey}\n headerActionsStart={headerActionsStart}\n headerActionsEnd={headerActionsEnd}\n overrides={overrides}\n onSaveSuccess={onSaveSuccess}\n onSaveError={onSaveError}\n onChange={onChange}\n initialStatus={initialStatus}\n theme={theme}\n editorStylesheets={editorStylesheets}\n editorCss={editorCss}\n enableAi={enableAi}\n aiOptions={mergedAiOptions}\n hasPromptsCollection={hasPromptsCollection}\n hasContextCollection={hasContextCollection}\n experimentalFullScreenCanvas={experimentalFullScreenCanvas}\n autoDetectDarkMode={autoDetectDarkMode}\n showPreviewDarkModeToggle={showPreviewDarkModeToggle}\n initialPreviewDarkMode={initialPreviewDarkMode}\n />\n )\n}\n"],"names":["useMemo","dynamic","LoadingState","injectPageTreeFields","hasPageTreeFields","usePuckConfig","injectAiConfig","hasAiConfig","comprehensiveComponentAiConfig","PuckEditorImpl","then","mod","ssr","loading","PuckEditor","pageId","initialData","config","configProp","pageTitle","pageSlug","apiEndpoint","backUrl","previewUrl","previewUrlPrefix","enableViewports","plugins","layouts","layoutsProp","layoutStyles","layoutKey","headerActionsStart","headerActionsEnd","overrides","onSaveSuccess","onSaveError","onChange","initialStatus","theme","themeProp","hasPageTree","folder","pageSegment","editorStylesheets","editorStylesheetsProp","editorCss","editorCssProp","enableAi","aiOptions","aiExamplePrompts","hasPromptsCollection","hasContextCollection","aiComponentInstructions","experimentalFullScreenCanvas","autoDetectDarkMode","showPreviewDarkModeToggle","initialPreviewDarkMode","configFromContext","layoutsFromContext","themeFromContext","pluginsFromContext","editorStylesheetsFromContext","editorCssFromContext","baseConfig","mergedPlugins","propPlugins","contextPlugins","combined","length","undefined","map","propLayout","contextLayout","find","c","value","header","footer","editorBackground","editorDarkMode","stickyHeaderHeight","styles","finalConfig","mergedAiConfig","finalInitialData","root","props","div","style","display","flexDirection","alignItems","justifyContent","height","padding","textAlign","backgroundColor","border","borderRadius","maxWidth","h2","color","fontSize","fontWeight","margin","p","lineHeight","code","pre","overflow","mergedAiOptions","mergedPrompts","examplePrompts","host","finalPreviewUrl","slug"],"mappings":"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"}
@@ -4,9 +4,9 @@ import '@puckeditor/core/puck.css';
4
4
  import '@puckeditor/plugin-heading-analyzer/dist/index.css';
5
5
  import '@puckeditor/plugin-ai/styles.css';
6
6
  import './ai-plugin-overrides.css';
7
- import { type LayoutStyle } from './components/IframeWrapper';
8
- import { type ThemeConfig } from '../theme';
9
- import type { LayoutDefinition } from '../layouts';
7
+ import { type LayoutStyle } from './components/IframeWrapper.js';
8
+ import { type ThemeConfig } from '../theme/index.js';
9
+ import type { LayoutDefinition } from '../layouts/index.js';
10
10
  import type { AiExamplePrompt } from '../ai/types.js';
11
11
  export interface PuckEditorImplProps {
12
12
  /**
@@ -179,5 +179,5 @@ export interface PuckEditorImplProps {
179
179
  * Internal implementation component - use PuckEditor instead.
180
180
  * @internal
181
181
  */
182
- export declare function PuckEditorImpl({ pageId, initialData, config, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, enableViewports, plugins, layouts, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides: customOverrides, onSaveSuccess, onSaveError, onChange: onChangeProp, initialStatus, theme, editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, enableAi, aiOptions, hasPromptsCollection, hasContextCollection, experimentalFullScreenCanvas, autoDetectDarkMode, showPreviewDarkModeToggle, initialPreviewDarkMode, }: PuckEditorImplProps): import("react/jsx-runtime").JSX.Element;
182
+ export declare function PuckEditorImpl({ pageId, initialData, config, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, enableViewports, plugins, layouts, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides: customOverrides, onSaveSuccess, onSaveError, onChange: onChangeProp, initialStatus, theme, editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, enableAi, aiOptions, hasPromptsCollection, hasContextCollection, experimentalFullScreenCanvas, autoDetectDarkMode, showPreviewDarkModeToggle, initialPreviewDarkMode, }: PuckEditorImplProps): import("react").JSX.Element;
183
183
  //# sourceMappingURL=PuckEditorImpl.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PuckEditorImpl.client.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditorImpl.client.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PuckEditorImpl.client.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditorImpl.client.tsx"],"names":[],"mappings":"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"}