@delmaredigital/payload-puck 0.3.1 → 0.6.0

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 (467) hide show
  1. package/README.md +396 -19
  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 +2 -2
  5. package/dist/admin/EditWithPuckButton.js.map +1 -1
  6. package/dist/admin/EditWithPuckCell.js +1 -1
  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 +1 -1
  11. package/dist/admin/PuckEditorView.js.map +1 -1
  12. package/dist/admin/generateAdminComponents.d.ts +1 -1
  13. package/dist/admin/generateAdminComponents.js +1 -1
  14. package/dist/admin/generateAdminComponents.js.map +1 -1
  15. package/dist/ai/collections/AiContext.d.ts +16 -0
  16. package/dist/ai/collections/AiContext.d.ts.map +1 -0
  17. package/dist/ai/collections/AiContext.js +87 -0
  18. package/dist/ai/collections/AiContext.js.map +1 -0
  19. package/dist/ai/collections/AiPrompts.d.ts +10 -0
  20. package/dist/ai/collections/AiPrompts.d.ts.map +1 -0
  21. package/dist/ai/collections/AiPrompts.js +63 -0
  22. package/dist/ai/collections/AiPrompts.js.map +1 -0
  23. package/dist/ai/createAiApiRoutes.d.ts +40 -0
  24. package/dist/ai/createAiApiRoutes.d.ts.map +1 -0
  25. package/dist/ai/createAiApiRoutes.js +106 -0
  26. package/dist/ai/createAiApiRoutes.js.map +1 -0
  27. package/dist/ai/createAiGenerate.d.ts +65 -0
  28. package/dist/ai/createAiGenerate.d.ts.map +1 -0
  29. package/dist/ai/createAiGenerate.js +106 -0
  30. package/dist/ai/createAiGenerate.js.map +1 -0
  31. package/dist/ai/createAiPlugin.d.ts +39 -0
  32. package/dist/ai/createAiPlugin.d.ts.map +1 -0
  33. package/dist/ai/createAiPlugin.js +61 -0
  34. package/dist/ai/createAiPlugin.js.map +1 -0
  35. package/dist/ai/hooks/useAiContext.d.ts +63 -0
  36. package/dist/ai/hooks/useAiContext.d.ts.map +1 -0
  37. package/dist/ai/hooks/useAiContext.js +146 -0
  38. package/dist/ai/hooks/useAiContext.js.map +1 -0
  39. package/dist/ai/hooks/useAiPrompts.d.ts +25 -0
  40. package/dist/ai/hooks/useAiPrompts.d.ts.map +1 -0
  41. package/dist/ai/hooks/useAiPrompts.js +74 -0
  42. package/dist/ai/hooks/useAiPrompts.js.map +1 -0
  43. package/dist/ai/index.d.ts +51 -0
  44. package/dist/ai/index.d.ts.map +1 -0
  45. package/dist/ai/index.js +69 -0
  46. package/dist/ai/index.js.map +1 -0
  47. package/dist/ai/plugins/ContextEditorPanel.d.ts +9 -0
  48. package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -0
  49. package/dist/ai/plugins/ContextEditorPanel.js +399 -0
  50. package/dist/ai/plugins/ContextEditorPanel.js.map +1 -0
  51. package/dist/ai/plugins/PromptEditorPanel.d.ts +9 -0
  52. package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -0
  53. package/dist/ai/plugins/PromptEditorPanel.js +270 -0
  54. package/dist/ai/plugins/PromptEditorPanel.js.map +1 -0
  55. package/dist/ai/plugins/contextEditorPlugin.d.ts +30 -0
  56. package/dist/ai/plugins/contextEditorPlugin.d.ts.map +1 -0
  57. package/dist/ai/plugins/contextEditorPlugin.js +40 -0
  58. package/dist/ai/plugins/contextEditorPlugin.js.map +1 -0
  59. package/dist/ai/plugins/promptApiRoutes.d.ts +68 -0
  60. package/dist/ai/plugins/promptApiRoutes.d.ts.map +1 -0
  61. package/dist/ai/plugins/promptApiRoutes.js +181 -0
  62. package/dist/ai/plugins/promptApiRoutes.js.map +1 -0
  63. package/dist/ai/plugins/promptEditorPlugin.d.ts +29 -0
  64. package/dist/ai/plugins/promptEditorPlugin.d.ts.map +1 -0
  65. package/dist/ai/plugins/promptEditorPlugin.js +39 -0
  66. package/dist/ai/plugins/promptEditorPlugin.js.map +1 -0
  67. package/dist/ai/presets/componentAiDefaults.d.ts +40 -0
  68. package/dist/ai/presets/componentAiDefaults.d.ts.map +1 -0
  69. package/dist/ai/presets/componentAiDefaults.js +239 -0
  70. package/dist/ai/presets/componentAiDefaults.js.map +1 -0
  71. package/dist/ai/presets/index.d.ts +94 -0
  72. package/dist/ai/presets/index.d.ts.map +1 -0
  73. package/dist/ai/presets/index.js +110 -0
  74. package/dist/ai/presets/index.js.map +1 -0
  75. package/dist/ai/presets/instructions/interactive.d.ts +15 -0
  76. package/dist/ai/presets/instructions/interactive.d.ts.map +1 -0
  77. package/dist/ai/presets/instructions/interactive.js +334 -0
  78. package/dist/ai/presets/instructions/interactive.js.map +1 -0
  79. package/dist/ai/presets/instructions/layout.d.ts +16 -0
  80. package/dist/ai/presets/instructions/layout.d.ts.map +1 -0
  81. package/dist/ai/presets/instructions/layout.js +486 -0
  82. package/dist/ai/presets/instructions/layout.js.map +1 -0
  83. package/dist/ai/presets/instructions/media.d.ts +15 -0
  84. package/dist/ai/presets/instructions/media.d.ts.map +1 -0
  85. package/dist/ai/presets/instructions/media.js +136 -0
  86. package/dist/ai/presets/instructions/media.js.map +1 -0
  87. package/dist/ai/presets/instructions/pagePatterns.d.ts +20 -0
  88. package/dist/ai/presets/instructions/pagePatterns.d.ts.map +1 -0
  89. package/dist/ai/presets/instructions/pagePatterns.js +290 -0
  90. package/dist/ai/presets/instructions/pagePatterns.js.map +1 -0
  91. package/dist/ai/presets/instructions/schemas.d.ts +1247 -0
  92. package/dist/ai/presets/instructions/schemas.d.ts.map +1 -0
  93. package/dist/ai/presets/instructions/schemas.js +240 -0
  94. package/dist/ai/presets/instructions/schemas.js.map +1 -0
  95. package/dist/ai/presets/instructions/typography.d.ts +16 -0
  96. package/dist/ai/presets/instructions/typography.d.ts.map +1 -0
  97. package/dist/ai/presets/instructions/typography.js +192 -0
  98. package/dist/ai/presets/instructions/typography.js.map +1 -0
  99. package/dist/ai/tools/index.d.ts +116 -0
  100. package/dist/ai/tools/index.d.ts.map +1 -0
  101. package/dist/ai/tools/index.js +214 -0
  102. package/dist/ai/tools/index.js.map +1 -0
  103. package/dist/ai/types.d.ts +507 -0
  104. package/dist/ai/types.d.ts.map +1 -0
  105. package/dist/ai/types.js +2 -0
  106. package/dist/ai/types.js.map +1 -0
  107. package/dist/ai/utils/injectAiConfig.d.ts +67 -0
  108. package/dist/ai/utils/injectAiConfig.d.ts.map +1 -0
  109. package/dist/ai/utils/injectAiConfig.js +216 -0
  110. package/dist/ai/utils/injectAiConfig.js.map +1 -0
  111. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
  112. package/dist/api/createPuckApiRoutesWithId.js +12 -5
  113. package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
  114. package/dist/api/types.d.ts +1 -1
  115. package/dist/api/types.d.ts.map +1 -1
  116. package/dist/components/exports.d.ts +1 -1
  117. package/dist/components/exports.d.ts.map +1 -1
  118. package/dist/components/exports.js +1 -1
  119. package/dist/components/exports.js.map +1 -1
  120. package/dist/components/interactive/Accordion.d.ts +1 -1
  121. package/dist/components/interactive/Accordion.d.ts.map +1 -1
  122. package/dist/components/interactive/Accordion.js +4 -4
  123. package/dist/components/interactive/Accordion.js.map +1 -1
  124. package/dist/components/interactive/Accordion.server.d.ts +1 -1
  125. package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
  126. package/dist/components/interactive/Button.d.ts +1 -1
  127. package/dist/components/interactive/Button.d.ts.map +1 -1
  128. package/dist/components/interactive/Button.server.d.ts +2 -3
  129. package/dist/components/interactive/Button.server.d.ts.map +1 -1
  130. package/dist/components/interactive/Button.server.js +1 -2
  131. package/dist/components/interactive/Button.server.js.map +1 -1
  132. package/dist/components/interactive/Card.d.ts +1 -1
  133. package/dist/components/interactive/Card.d.ts.map +1 -1
  134. package/dist/components/interactive/Card.server.d.ts +1 -1
  135. package/dist/components/interactive/Card.server.d.ts.map +1 -1
  136. package/dist/components/interactive/Divider.d.ts +1 -1
  137. package/dist/components/interactive/Divider.d.ts.map +1 -1
  138. package/dist/components/interactive/Divider.server.d.ts +1 -1
  139. package/dist/components/interactive/Divider.server.d.ts.map +1 -1
  140. package/dist/components/layout/Container.d.ts +3 -1
  141. package/dist/components/layout/Container.d.ts.map +1 -1
  142. package/dist/components/layout/Container.js +16 -2
  143. package/dist/components/layout/Container.js.map +1 -1
  144. package/dist/components/layout/Container.server.d.ts +3 -1
  145. package/dist/components/layout/Container.server.d.ts.map +1 -1
  146. package/dist/components/layout/Container.server.js +5 -2
  147. package/dist/components/layout/Container.server.js.map +1 -1
  148. package/dist/components/layout/Flex.d.ts +3 -1
  149. package/dist/components/layout/Flex.d.ts.map +1 -1
  150. package/dist/components/layout/Flex.js +18 -2
  151. package/dist/components/layout/Flex.js.map +1 -1
  152. package/dist/components/layout/Flex.server.d.ts +3 -1
  153. package/dist/components/layout/Flex.server.d.ts.map +1 -1
  154. package/dist/components/layout/Flex.server.js +5 -2
  155. package/dist/components/layout/Flex.server.js.map +1 -1
  156. package/dist/components/layout/Grid.d.ts +3 -1
  157. package/dist/components/layout/Grid.d.ts.map +1 -1
  158. package/dist/components/layout/Grid.js +15 -2
  159. package/dist/components/layout/Grid.js.map +1 -1
  160. package/dist/components/layout/Grid.server.d.ts +3 -1
  161. package/dist/components/layout/Grid.server.d.ts.map +1 -1
  162. package/dist/components/layout/Grid.server.js +5 -2
  163. package/dist/components/layout/Grid.server.js.map +1 -1
  164. package/dist/components/layout/Section.d.ts +3 -1
  165. package/dist/components/layout/Section.d.ts.map +1 -1
  166. package/dist/components/layout/Section.js +32 -5
  167. package/dist/components/layout/Section.js.map +1 -1
  168. package/dist/components/layout/Section.server.d.ts +3 -1
  169. package/dist/components/layout/Section.server.d.ts.map +1 -1
  170. package/dist/components/layout/Section.server.js +16 -4
  171. package/dist/components/layout/Section.server.js.map +1 -1
  172. package/dist/components/layout/Spacer.d.ts +1 -1
  173. package/dist/components/layout/Spacer.d.ts.map +1 -1
  174. package/dist/components/layout/Spacer.server.d.ts +1 -1
  175. package/dist/components/layout/Spacer.server.d.ts.map +1 -1
  176. package/dist/components/layout/Template.d.ts +1 -1
  177. package/dist/components/layout/Template.d.ts.map +1 -1
  178. package/dist/components/layout/Template.server.d.ts +1 -1
  179. package/dist/components/layout/Template.server.d.ts.map +1 -1
  180. package/dist/components/media/Image.d.ts +1 -1
  181. package/dist/components/media/Image.d.ts.map +1 -1
  182. package/dist/components/media/Image.server.d.ts +1 -1
  183. package/dist/components/media/Image.server.d.ts.map +1 -1
  184. package/dist/components/typography/Heading.d.ts +1 -1
  185. package/dist/components/typography/Heading.d.ts.map +1 -1
  186. package/dist/components/typography/Heading.server.d.ts +1 -1
  187. package/dist/components/typography/Heading.server.d.ts.map +1 -1
  188. package/dist/components/typography/RichText.editor.d.ts +15 -2
  189. package/dist/components/typography/RichText.editor.d.ts.map +1 -1
  190. package/dist/components/typography/RichText.editor.js +18 -11
  191. package/dist/components/typography/RichText.editor.js.map +1 -1
  192. package/dist/components/typography/RichText.server.d.ts +3 -2
  193. package/dist/components/typography/RichText.server.d.ts.map +1 -1
  194. package/dist/components/typography/RichText.server.js +10 -5
  195. package/dist/components/typography/RichText.server.js.map +1 -1
  196. package/dist/components/typography/Text.d.ts +1 -1
  197. package/dist/components/typography/Text.d.ts.map +1 -1
  198. package/dist/components/typography/Text.server.d.ts +1 -1
  199. package/dist/components/typography/Text.server.d.ts.map +1 -1
  200. package/dist/components/typography/index.d.ts +1 -1
  201. package/dist/components/typography/index.d.ts.map +1 -1
  202. package/dist/components/typography/index.js +1 -1
  203. package/dist/components/typography/index.js.map +1 -1
  204. package/dist/config/config.editor.d.ts +4 -4
  205. package/dist/config/config.editor.d.ts.map +1 -1
  206. package/dist/config/index.d.ts +1 -1
  207. package/dist/config/index.d.ts.map +1 -1
  208. package/dist/config/merge.d.ts +4 -4
  209. package/dist/config/merge.d.ts.map +1 -1
  210. package/dist/config/merge.js +3 -3
  211. package/dist/config/presets.d.ts +15 -15
  212. package/dist/config/presets.d.ts.map +1 -1
  213. package/dist/editor/PuckEditor.d.ts +255 -0
  214. package/dist/editor/PuckEditor.d.ts.map +1 -0
  215. package/dist/editor/PuckEditor.js +205 -0
  216. package/dist/editor/PuckEditor.js.map +1 -0
  217. package/dist/editor/{PuckEditorCore.client.d.ts → PuckEditorImpl.client.d.ts} +53 -30
  218. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -0
  219. package/dist/editor/{PuckEditorCore.client.js → PuckEditorImpl.client.js} +194 -39
  220. package/dist/editor/PuckEditorImpl.client.js.map +1 -0
  221. package/dist/editor/ai-plugin-overrides.css +20 -0
  222. package/dist/editor/components/HeaderActions.d.ts +7 -2
  223. package/dist/editor/components/HeaderActions.d.ts.map +1 -1
  224. package/dist/editor/components/HeaderActions.js +18 -4
  225. package/dist/editor/components/HeaderActions.js.map +1 -1
  226. package/dist/editor/components/IframeWrapper.d.ts +13 -0
  227. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  228. package/dist/editor/components/IframeWrapper.js +60 -4
  229. package/dist/editor/components/IframeWrapper.js.map +1 -1
  230. package/dist/editor/components/PreviewModal.d.ts +9 -1
  231. package/dist/editor/components/PreviewModal.d.ts.map +1 -1
  232. package/dist/editor/components/PreviewModal.js +36 -1
  233. package/dist/editor/components/PreviewModal.js.map +1 -1
  234. package/dist/editor/index.d.ts +34 -19
  235. package/dist/editor/index.d.ts.map +1 -1
  236. package/dist/editor/index.js +37 -21
  237. package/dist/editor/index.js.map +1 -1
  238. package/dist/editor/plugins/VersionHistoryPanel.d.ts +43 -0
  239. package/dist/editor/plugins/VersionHistoryPanel.d.ts.map +1 -0
  240. package/dist/editor/plugins/VersionHistoryPanel.js +303 -0
  241. package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -0
  242. package/dist/editor/plugins/index.d.ts +6 -3
  243. package/dist/editor/plugins/index.d.ts.map +1 -1
  244. package/dist/editor/plugins/index.js +7 -3
  245. package/dist/editor/plugins/index.js.map +1 -1
  246. package/dist/editor/plugins/versionHistoryPlugin.d.ts +37 -0
  247. package/dist/editor/plugins/versionHistoryPlugin.d.ts.map +1 -0
  248. package/dist/editor/plugins/versionHistoryPlugin.js +36 -0
  249. package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -0
  250. package/dist/editor/utils/detectPageTree.d.ts +22 -0
  251. package/dist/editor/utils/detectPageTree.d.ts.map +1 -0
  252. package/dist/editor/utils/detectPageTree.js +36 -0
  253. package/dist/editor/utils/detectPageTree.js.map +1 -0
  254. package/dist/editor/utils/index.d.ts +3 -0
  255. package/dist/editor/utils/index.d.ts.map +1 -0
  256. package/dist/editor/utils/index.js +3 -0
  257. package/dist/editor/utils/index.js.map +1 -0
  258. package/dist/editor/utils/injectPageTreeFields.d.ts +10 -0
  259. package/dist/editor/utils/injectPageTreeFields.d.ts.map +1 -0
  260. package/dist/editor/utils/injectPageTreeFields.js +35 -0
  261. package/dist/editor/utils/injectPageTreeFields.js.map +1 -0
  262. package/dist/endpoints/ai.d.ts +36 -0
  263. package/dist/endpoints/ai.d.ts.map +1 -0
  264. package/dist/endpoints/ai.js +315 -0
  265. package/dist/endpoints/ai.js.map +1 -0
  266. package/dist/endpoints/context.d.ts +30 -0
  267. package/dist/endpoints/context.d.ts.map +1 -0
  268. package/dist/endpoints/context.js +123 -0
  269. package/dist/endpoints/context.js.map +1 -0
  270. package/dist/endpoints/prompts.d.ts +28 -0
  271. package/dist/endpoints/prompts.d.ts.map +1 -0
  272. package/dist/endpoints/prompts.js +118 -0
  273. package/dist/endpoints/prompts.js.map +1 -0
  274. package/dist/endpoints/styles.d.ts +19 -0
  275. package/dist/endpoints/styles.d.ts.map +1 -0
  276. package/dist/endpoints/styles.js +116 -0
  277. package/dist/endpoints/styles.js.map +1 -0
  278. package/dist/exports/client.d.ts +7 -6
  279. package/dist/exports/client.d.ts.map +1 -1
  280. package/dist/exports/client.js +9 -8
  281. package/dist/exports/client.js.map +1 -1
  282. package/dist/fields/AlignmentField.d.ts +1 -1
  283. package/dist/fields/AlignmentField.d.ts.map +1 -1
  284. package/dist/fields/AlignmentField.js +1 -0
  285. package/dist/fields/AlignmentField.js.map +1 -1
  286. package/dist/fields/AnimationField.d.ts +1 -1
  287. package/dist/fields/AnimationField.d.ts.map +1 -1
  288. package/dist/fields/BackgroundField.d.ts +1 -1
  289. package/dist/fields/BackgroundField.d.ts.map +1 -1
  290. package/dist/fields/BackgroundField.js +9 -4
  291. package/dist/fields/BackgroundField.js.map +1 -1
  292. package/dist/fields/BorderField.d.ts +1 -1
  293. package/dist/fields/BorderField.d.ts.map +1 -1
  294. package/dist/fields/BorderField.js +1 -0
  295. package/dist/fields/BorderField.js.map +1 -1
  296. package/dist/fields/ColorPickerField.d.ts +1 -1
  297. package/dist/fields/ColorPickerField.d.ts.map +1 -1
  298. package/dist/fields/ColorPickerField.js +4 -2
  299. package/dist/fields/ColorPickerField.js.map +1 -1
  300. package/dist/fields/ContentAlignmentField.d.ts +66 -0
  301. package/dist/fields/ContentAlignmentField.d.ts.map +1 -0
  302. package/dist/fields/ContentAlignmentField.js +255 -0
  303. package/dist/fields/ContentAlignmentField.js.map +1 -0
  304. package/dist/fields/DimensionsField.d.ts +1 -1
  305. package/dist/fields/DimensionsField.d.ts.map +1 -1
  306. package/dist/fields/DimensionsField.js +8 -2
  307. package/dist/fields/DimensionsField.js.map +1 -1
  308. package/dist/fields/FlexAlignmentField.d.ts +1 -1
  309. package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
  310. package/dist/fields/FolderPickerField.d.ts +1 -1
  311. package/dist/fields/FolderPickerField.d.ts.map +1 -1
  312. package/dist/fields/GradientEditor.d.ts.map +1 -1
  313. package/dist/fields/GradientEditor.js +3 -0
  314. package/dist/fields/GradientEditor.js.map +1 -1
  315. package/dist/fields/LockedField.d.ts +1 -1
  316. package/dist/fields/LockedField.d.ts.map +1 -1
  317. package/dist/fields/MarginField.d.ts +1 -1
  318. package/dist/fields/MarginField.d.ts.map +1 -1
  319. package/dist/fields/MediaField.d.ts +1 -1
  320. package/dist/fields/MediaField.d.ts.map +1 -1
  321. package/dist/fields/MediaField.js +3 -2
  322. package/dist/fields/MediaField.js.map +1 -1
  323. package/dist/fields/PaddingField.d.ts +1 -1
  324. package/dist/fields/PaddingField.d.ts.map +1 -1
  325. package/dist/fields/PageSegmentField.d.ts +1 -1
  326. package/dist/fields/PageSegmentField.d.ts.map +1 -1
  327. package/dist/fields/ResetField.d.ts +1 -1
  328. package/dist/fields/ResetField.d.ts.map +1 -1
  329. package/dist/fields/ResetField.js +1 -1
  330. package/dist/fields/ResetField.js.map +1 -1
  331. package/dist/fields/ResponsiveField.d.ts +1 -1
  332. package/dist/fields/ResponsiveField.d.ts.map +1 -1
  333. package/dist/fields/ResponsiveField.js +5 -2
  334. package/dist/fields/ResponsiveField.js.map +1 -1
  335. package/dist/fields/ResponsiveVisibilityField.d.ts +1 -1
  336. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
  337. package/dist/fields/ResponsiveVisibilityField.js +4 -3
  338. package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
  339. package/dist/fields/SizeField.d.ts +3 -25
  340. package/dist/fields/SizeField.d.ts.map +1 -1
  341. package/dist/fields/SizeField.js +8 -34
  342. package/dist/fields/SizeField.js.map +1 -1
  343. package/dist/fields/SlugPreviewField.d.ts +1 -1
  344. package/dist/fields/SlugPreviewField.d.ts.map +1 -1
  345. package/dist/fields/TemplateField.d.ts +1 -1
  346. package/dist/fields/TemplateField.d.ts.map +1 -1
  347. package/dist/fields/TemplateField.js +1 -1
  348. package/dist/fields/TemplateField.js.map +1 -1
  349. package/dist/fields/TransformField.d.ts +1 -1
  350. package/dist/fields/TransformField.d.ts.map +1 -1
  351. package/dist/fields/TransformField.js +2 -0
  352. package/dist/fields/TransformField.js.map +1 -1
  353. package/dist/fields/VerticalAlignmentField.d.ts +1 -1
  354. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
  355. package/dist/fields/WidthField.d.ts +1 -1
  356. package/dist/fields/WidthField.d.ts.map +1 -1
  357. package/dist/fields/index.d.ts +8 -36
  358. package/dist/fields/index.d.ts.map +1 -1
  359. package/dist/fields/index.js +20 -78
  360. package/dist/fields/index.js.map +1 -1
  361. package/dist/fields/richtext/controls/ColorPickerControl.d.ts +16 -0
  362. package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -0
  363. package/dist/fields/richtext/controls/ColorPickerControl.js +116 -0
  364. package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -0
  365. package/dist/fields/richtext/controls/DropdownPortal.d.ts +17 -0
  366. package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -0
  367. package/dist/fields/richtext/controls/DropdownPortal.js +90 -0
  368. package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -0
  369. package/dist/fields/richtext/controls/FontSizeControl.d.ts +8 -0
  370. package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -0
  371. package/dist/fields/richtext/controls/FontSizeControl.js +62 -0
  372. package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -0
  373. package/dist/fields/richtext/controls/HighlightControl.d.ts +9 -0
  374. package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -0
  375. package/dist/fields/richtext/controls/HighlightControl.js +44 -0
  376. package/dist/fields/richtext/controls/HighlightControl.js.map +1 -0
  377. package/dist/fields/richtext/controls/index.d.ts +11 -0
  378. package/dist/fields/richtext/controls/index.d.ts.map +1 -0
  379. package/dist/fields/richtext/controls/index.js +16 -0
  380. package/dist/fields/richtext/controls/index.js.map +1 -0
  381. package/dist/fields/richtext/controls/shared.d.ts +97 -0
  382. package/dist/fields/richtext/controls/shared.d.ts.map +1 -0
  383. package/dist/fields/richtext/controls/shared.js +344 -0
  384. package/dist/fields/richtext/controls/shared.js.map +1 -0
  385. package/dist/fields/richtext/createRichTextField.d.ts +165 -0
  386. package/dist/fields/richtext/createRichTextField.d.ts.map +1 -0
  387. package/dist/fields/richtext/createRichTextField.js +139 -0
  388. package/dist/fields/richtext/createRichTextField.js.map +1 -0
  389. package/dist/fields/richtext/extensions/FontSize.d.ts +23 -0
  390. package/dist/fields/richtext/extensions/FontSize.d.ts.map +1 -0
  391. package/dist/fields/richtext/extensions/FontSize.js +47 -0
  392. package/dist/fields/richtext/extensions/FontSize.js.map +1 -0
  393. package/dist/fields/richtext/extensions/index.d.ts +5 -0
  394. package/dist/fields/richtext/extensions/index.d.ts.map +1 -0
  395. package/dist/fields/richtext/extensions/index.js +5 -0
  396. package/dist/fields/richtext/extensions/index.js.map +1 -0
  397. package/dist/fields/richtext/index.d.ts +14 -0
  398. package/dist/fields/richtext/index.d.ts.map +1 -0
  399. package/dist/fields/richtext/index.js +19 -0
  400. package/dist/fields/richtext/index.js.map +1 -0
  401. package/dist/fields/richtext/richtext-menu.css +50 -0
  402. package/dist/fields/shared.d.ts +27 -1
  403. package/dist/fields/shared.d.ts.map +1 -1
  404. package/dist/fields/shared.js +34 -0
  405. package/dist/fields/shared.js.map +1 -1
  406. package/dist/layouts/types.d.ts +30 -0
  407. package/dist/layouts/types.d.ts.map +1 -1
  408. package/dist/plugin/index.d.ts +1 -0
  409. package/dist/plugin/index.d.ts.map +1 -1
  410. package/dist/plugin/index.js +112 -2
  411. package/dist/plugin/index.js.map +1 -1
  412. package/dist/render/HybridPageRenderer.d.ts +1 -1
  413. package/dist/render/HybridPageRenderer.d.ts.map +1 -1
  414. package/dist/render/PageRenderer.d.ts +1 -1
  415. package/dist/render/PageRenderer.d.ts.map +1 -1
  416. package/dist/render/PageRenderer.js +1 -1
  417. package/dist/render/PageRenderer.js.map +1 -1
  418. package/dist/render/PuckEditor.client.d.ts +2 -2
  419. package/dist/render/PuckEditor.client.d.ts.map +1 -1
  420. package/dist/render/PuckEditor.client.js +2 -2
  421. package/dist/render/PuckEditor.client.js.map +1 -1
  422. package/dist/types/index.d.ts +37 -12
  423. package/dist/types/index.d.ts.map +1 -1
  424. package/dist/version.d.ts +2 -0
  425. package/dist/version.d.ts.map +1 -0
  426. package/dist/version.js +3 -0
  427. package/dist/version.js.map +1 -0
  428. package/dist/views/PuckConfigContext.d.ts +56 -2
  429. package/dist/views/PuckConfigContext.d.ts.map +1 -1
  430. package/dist/views/PuckConfigContext.js +6 -3
  431. package/dist/views/PuckConfigContext.js.map +1 -1
  432. package/dist/views/PuckEditorView.d.ts.map +1 -1
  433. package/dist/views/PuckEditorView.js +29 -2
  434. package/dist/views/PuckEditorView.js.map +1 -1
  435. package/dist/views/index.d.ts +0 -2
  436. package/dist/views/index.d.ts.map +1 -1
  437. package/dist/views/index.js +0 -2
  438. package/dist/views/index.js.map +1 -1
  439. package/package.json +42 -12
  440. package/dist/components/typography/RichText.d.ts +0 -20
  441. package/dist/components/typography/RichText.d.ts.map +0 -1
  442. package/dist/components/typography/RichText.js +0 -73
  443. package/dist/components/typography/RichText.js.map +0 -1
  444. package/dist/editor/PuckEditor.client.d.ts +0 -131
  445. package/dist/editor/PuckEditor.client.d.ts.map +0 -1
  446. package/dist/editor/PuckEditor.client.js +0 -42
  447. package/dist/editor/PuckEditor.client.js.map +0 -1
  448. package/dist/editor/PuckEditorCore.client.d.ts.map +0 -1
  449. package/dist/editor/PuckEditorCore.client.js.map +0 -1
  450. package/dist/fields/TiptapField.d.ts +0 -40
  451. package/dist/fields/TiptapField.d.ts.map +0 -1
  452. package/dist/fields/TiptapField.js +0 -857
  453. package/dist/fields/TiptapField.js.map +0 -1
  454. package/dist/fields/TiptapModal.d.ts +0 -10
  455. package/dist/fields/TiptapModal.d.ts.map +0 -1
  456. package/dist/fields/TiptapModal.js +0 -114
  457. package/dist/fields/TiptapModal.js.map +0 -1
  458. package/dist/fields/TiptapModalField.d.ts +0 -23
  459. package/dist/fields/TiptapModalField.d.ts.map +0 -1
  460. package/dist/fields/TiptapModalField.js +0 -55
  461. package/dist/fields/TiptapModalField.js.map +0 -1
  462. package/dist/fields/richtext-output.css +0 -219
  463. package/dist/fields/tiptap-styles.css +0 -248
  464. package/dist/views/PuckEditorClient.d.ts +0 -73
  465. package/dist/views/PuckEditorClient.d.ts.map +0 -1
  466. package/dist/views/PuckEditorClient.js +0 -130
  467. package/dist/views/PuckEditorClient.js.map +0 -1
@@ -1,14 +1,14 @@
1
- import type { Config as PuckConfig } from '@measured/puck';
1
+ import type { Config as PuckConfig } from '@puckeditor/core';
2
2
  import type { MergeConfigOptions } from '../types';
3
3
  /**
4
4
  * Merges Puck configurations together
5
5
  *
6
6
  * @example
7
7
  * ```typescript
8
- * import { mergeConfigs, baseConfig } from '@delmaredigital/payload-puck/config'
8
+ * import { extendConfig, fullConfig } from '@delmaredigital/payload-puck/config/editor'
9
9
  *
10
- * const customConfig = mergeConfigs({
11
- * base: baseConfig,
10
+ * const puckConfig = extendConfig({
11
+ * base: fullConfig,
12
12
  * components: {
13
13
  * CustomHero: myHeroConfig,
14
14
  * },
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU,CAkEpE"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU,CAkEpE"}
@@ -3,10 +3,10 @@
3
3
  *
4
4
  * @example
5
5
  * ```typescript
6
- * import { mergeConfigs, baseConfig } from '@delmaredigital/payload-puck/config'
6
+ * import { extendConfig, fullConfig } from '@delmaredigital/payload-puck/config/editor'
7
7
  *
8
- * const customConfig = mergeConfigs({
9
- * base: baseConfig,
8
+ * const puckConfig = extendConfig({
9
+ * base: fullConfig,
10
10
  * components: {
11
11
  * CustomHero: myHeroConfig,
12
12
  * },
@@ -20,15 +20,15 @@
20
20
  * })
21
21
  * ```
22
22
  */
23
- import type { ComponentConfig } from '@measured/puck';
23
+ import type { ComponentConfig } from '@puckeditor/core';
24
24
  import type { ReactNode } from 'react';
25
25
  /**
26
26
  * Default root configuration used by presets
27
27
  */
28
28
  export declare const defaultRoot: {
29
29
  fields: {
30
- slug: import("@measured/puck").CustomField<string>;
31
- isHomepage: import("@measured/puck").CustomField<boolean>;
30
+ slug: import("@puckeditor/core").CustomField<string>;
31
+ isHomepage: import("@puckeditor/core").CustomField<boolean>;
32
32
  title: {
33
33
  type: "text";
34
34
  label: string;
@@ -57,7 +57,7 @@ export declare const defaultRoot: {
57
57
  value: string;
58
58
  }[];
59
59
  };
60
- pageBackground: import("@measured/puck").CustomField<import("../fields/shared.js").BackgroundValue | null>;
60
+ pageBackground: import("@puckeditor/core").CustomField<import("../fields/shared.js").BackgroundValue | null>;
61
61
  pageMaxWidth: {
62
62
  type: "select";
63
63
  label: string;
@@ -105,10 +105,10 @@ export declare const pageTreeRoot: {
105
105
  type: "text";
106
106
  label: string;
107
107
  };
108
- folder: import("@measured/puck").CustomField<string | null>;
109
- pageSegment: import("@measured/puck").CustomField<string>;
110
- slug: import("@measured/puck").CustomField<string>;
111
- isHomepage: import("@measured/puck").CustomField<boolean>;
108
+ folder: import("@puckeditor/core").CustomField<string | null>;
109
+ pageSegment: import("@puckeditor/core").CustomField<string>;
110
+ slug: import("@puckeditor/core").CustomField<string>;
111
+ isHomepage: import("@puckeditor/core").CustomField<boolean>;
112
112
  pageLayout: {
113
113
  type: "select";
114
114
  label: string;
@@ -133,7 +133,7 @@ export declare const pageTreeRoot: {
133
133
  value: string;
134
134
  }[];
135
135
  };
136
- pageBackground: import("@measured/puck").CustomField<import("../fields/shared.js").BackgroundValue | null>;
136
+ pageBackground: import("@puckeditor/core").CustomField<import("../fields/shared.js").BackgroundValue | null>;
137
137
  pageMaxWidth: {
138
138
  type: "select";
139
139
  label: string;
@@ -167,8 +167,8 @@ export declare const pageTreeRoot: {
167
167
  export declare const fullConfig: {
168
168
  root: {
169
169
  fields: {
170
- slug: import("@measured/puck").CustomField<string>;
171
- isHomepage: import("@measured/puck").CustomField<boolean>;
170
+ slug: import("@puckeditor/core").CustomField<string>;
171
+ isHomepage: import("@puckeditor/core").CustomField<boolean>;
172
172
  title: {
173
173
  type: "text";
174
174
  label: string;
@@ -197,7 +197,7 @@ export declare const fullConfig: {
197
197
  value: string;
198
198
  }[];
199
199
  };
200
- pageBackground: import("@measured/puck").CustomField<import("../fields/shared.js").BackgroundValue | null>;
200
+ pageBackground: import("@puckeditor/core").CustomField<import("../fields/shared.js").BackgroundValue | null>;
201
201
  pageMaxWidth: {
202
202
  type: "select";
203
203
  label: string;
@@ -265,8 +265,8 @@ export declare const fullConfig: {
265
265
  export declare const minimalConfig: {
266
266
  root: {
267
267
  fields: {
268
- slug: import("@measured/puck").CustomField<string>;
269
- isHomepage: import("@measured/puck").CustomField<boolean>;
268
+ slug: import("@puckeditor/core").CustomField<string>;
269
+ isHomepage: import("@puckeditor/core").CustomField<boolean>;
270
270
  title: {
271
271
  type: "text";
272
272
  label: string;
@@ -295,7 +295,7 @@ export declare const minimalConfig: {
295
295
  value: string;
296
296
  }[];
297
297
  };
298
- pageBackground: import("@measured/puck").CustomField<import("../fields/shared.js").BackgroundValue | null>;
298
+ pageBackground: import("@puckeditor/core").CustomField<import("../fields/shared.js").BackgroundValue | null>;
299
299
  pageMaxWidth: {
300
300
  type: "select";
301
301
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/config/presets.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAwB,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AA2BtC;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAgEC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE;CAC/C,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAwEA;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE;CAC/C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BArGE;YAAE,QAAQ,EAAE,SAAS,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;mBA4Hd,eAAe,CAAC,GAAG,CAAC;cAC9B,eAAe,CAAC,GAAG,CAAC;cACpB,eAAe,CAAC,GAAG,CAAC;iBACd,eAAe,CAAC,GAAG,CAAC;gBACtB,eAAe,CAAC,GAAG,CAAC;kBAChB,eAAe,CAAC,GAAG,CAAC;iBAEtB,eAAe,CAAC,GAAG,CAAC;cAC1B,eAAe,CAAC,GAAG,CAAC;kBACN,eAAe,CAAC,GAAG,CAAC;eAEhC,eAAe,CAAC,GAAG,CAAC;gBAElB,eAAe,CAAC,GAAG,CAAC;cACxB,eAAe,CAAC,GAAG,CAAC;iBACd,eAAe,CAAC,GAAG,CAAC;mBAChB,eAAe,CAAC,GAAG,CAAC;;CAEhC,CAAA;AAEtB;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BArJD;YAAE,QAAQ,EAAE,SAAS,CAAA;SAAE;;;;;;;;;;;;;;iBAmKlB,eAAe,CAAC,GAAG,CAAC;iBACpB,eAAe,CAAC,GAAG,CAAC;cAC1B,eAAe,CAAC,GAAG,CAAC;eAClB,eAAe,CAAC,GAAG,CAAC;gBAClB,eAAe,CAAC,GAAG,CAAC;;CAE1B,CAAA;AAGtB,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/config/presets.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAwB,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AA2BtC;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAgEC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE;CAC/C,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAwEA;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE;CAC/C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BArGE;YAAE,QAAQ,EAAE,SAAS,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;mBA4Hd,eAAe,CAAC,GAAG,CAAC;cAC9B,eAAe,CAAC,GAAG,CAAC;cACpB,eAAe,CAAC,GAAG,CAAC;iBACd,eAAe,CAAC,GAAG,CAAC;gBACtB,eAAe,CAAC,GAAG,CAAC;kBAChB,eAAe,CAAC,GAAG,CAAC;iBAEtB,eAAe,CAAC,GAAG,CAAC;cAC1B,eAAe,CAAC,GAAG,CAAC;kBACN,eAAe,CAAC,GAAG,CAAC;eAEhC,eAAe,CAAC,GAAG,CAAC;gBAElB,eAAe,CAAC,GAAG,CAAC;cACxB,eAAe,CAAC,GAAG,CAAC;iBACd,eAAe,CAAC,GAAG,CAAC;mBAChB,eAAe,CAAC,GAAG,CAAC;;CAEhC,CAAA;AAEtB;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BArJD;YAAE,QAAQ,EAAE,SAAS,CAAA;SAAE;;;;;;;;;;;;;;iBAmKlB,eAAe,CAAC,GAAG,CAAC;iBACpB,eAAe,CAAC,GAAG,CAAC;cAC1B,eAAe,CAAC,GAAG,CAAC;eAClB,eAAe,CAAC,GAAG,CAAC;gBAClB,eAAe,CAAC,GAAG,CAAC;;CAE1B,CAAA;AAGtB,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,255 @@
1
+ import type { Config as PuckConfig, Data, Plugin as PuckPlugin, Overrides as PuckOverrides } from '@puckeditor/core';
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';
6
+ import type { AiExamplePrompt, ComponentAiOverrides } from '../ai/types.js';
7
+ export interface PuckEditorProps {
8
+ /**
9
+ * Page ID for save operations
10
+ */
11
+ pageId: string;
12
+ /**
13
+ * Initial Puck data to load
14
+ */
15
+ initialData: Data;
16
+ /**
17
+ * Puck configuration with components and settings.
18
+ * If not provided, will attempt to read from PuckConfigContext.
19
+ */
20
+ config?: PuckConfig;
21
+ /**
22
+ * Page title for display
23
+ */
24
+ pageTitle: string;
25
+ /**
26
+ * Page slug for preview URL
27
+ */
28
+ pageSlug: string;
29
+ /**
30
+ * API endpoint for save operations
31
+ * @default '/api/puck/pages'
32
+ */
33
+ apiEndpoint?: string;
34
+ /**
35
+ * URL to navigate to when back button is clicked
36
+ */
37
+ backUrl?: string;
38
+ /**
39
+ * Preview URL or function to generate preview URL from slug
40
+ */
41
+ previewUrl?: string | ((slug: string) => string);
42
+ /**
43
+ * Whether to enable viewport switching
44
+ * @default true
45
+ */
46
+ enableViewports?: boolean;
47
+ /**
48
+ * Additional Puck plugins to use.
49
+ * The headingAnalyzer plugin is included by default.
50
+ * Set to `false` to disable all default plugins.
51
+ */
52
+ plugins?: PuckPlugin[] | false;
53
+ /**
54
+ * Layout definitions for the editor preview.
55
+ * The editor reads header, footer, editorBackground, and editorDarkMode
56
+ * from the layout definition matching the selected pageLayout.
57
+ */
58
+ layouts?: LayoutDefinition[];
59
+ /**
60
+ * Layout style configurations for theme-aware preview
61
+ * @deprecated Use `layouts` prop instead. layoutStyles will be removed in a future version.
62
+ */
63
+ layoutStyles?: Record<string, LayoutStyle>;
64
+ /**
65
+ * Key in root.props to read layout value from
66
+ * @default 'pageLayout'
67
+ */
68
+ layoutKey?: string;
69
+ /**
70
+ * Custom actions to render at the start of the header
71
+ */
72
+ headerActionsStart?: ReactNode;
73
+ /**
74
+ * Custom actions to render at the end of the header
75
+ */
76
+ headerActionsEnd?: ReactNode;
77
+ /**
78
+ * Puck overrides to merge with defaults
79
+ */
80
+ overrides?: Partial<PuckOverrides>;
81
+ /**
82
+ * Callback on successful save
83
+ */
84
+ onSaveSuccess?: (data: Data) => void;
85
+ /**
86
+ * Callback on save error
87
+ */
88
+ onSaveError?: (error: Error) => void;
89
+ /**
90
+ * Callback when data changes
91
+ */
92
+ onChange?: (data: Data) => void;
93
+ /**
94
+ * Initial document status from Payload (_status field)
95
+ * Automatically populated when using PuckEditorView
96
+ */
97
+ initialStatus?: 'draft' | 'published';
98
+ /**
99
+ * Theme configuration for customizing component styles
100
+ * When provided, components will use themed styles
101
+ */
102
+ theme?: ThemeConfig;
103
+ /**
104
+ * Enable page-tree integration (folder picker, page segment, computed slug).
105
+ * When true, injects folder/pageSegment/slug fields into root config.
106
+ * Requires @delmaredigital/payload-page-tree plugin to be installed.
107
+ * @default false
108
+ */
109
+ hasPageTree?: boolean;
110
+ /**
111
+ * Initial folder ID for page-tree integration.
112
+ * Only used when hasPageTree is true.
113
+ */
114
+ folder?: string | null;
115
+ /**
116
+ * Initial page segment for page-tree integration.
117
+ * Only used when hasPageTree is true.
118
+ */
119
+ pageSegment?: string;
120
+ /**
121
+ * Stylesheet URLs to inject into the editor iframe.
122
+ * Use this to provide frontend CSS (Tailwind, CSS variables, etc.)
123
+ * that header/footer components need for proper styling.
124
+ * Takes precedence over stylesheets from PuckConfigProvider.
125
+ *
126
+ * @example
127
+ * ```tsx
128
+ * <PuckEditor
129
+ * editorStylesheets={['/editor-styles.css']}
130
+ * // ...
131
+ * />
132
+ * ```
133
+ */
134
+ editorStylesheets?: string[];
135
+ /**
136
+ * Raw CSS to inject into the editor iframe.
137
+ * Useful for CSS variables or style overrides.
138
+ * Takes precedence over CSS from PuckConfigProvider.
139
+ *
140
+ * @example
141
+ * ```tsx
142
+ * <PuckEditor
143
+ * editorCss=":root { --primary: blue; }"
144
+ * // ...
145
+ * />
146
+ * ```
147
+ */
148
+ editorCss?: string;
149
+ /**
150
+ * Enable AI features in the editor.
151
+ * When true, adds the AI chat plugin to the editor.
152
+ * Requires @puckeditor/plugin-ai to be installed and
153
+ * PUCK_API_KEY environment variable to be set.
154
+ * @default false
155
+ */
156
+ enableAi?: boolean;
157
+ /**
158
+ * AI plugin configuration options.
159
+ * Only used when enableAi is true.
160
+ */
161
+ aiOptions?: {
162
+ /**
163
+ * API host for AI requests.
164
+ * @default '/api/puck/ai'
165
+ */
166
+ host?: string;
167
+ /**
168
+ * Example prompts to show in the chat interface.
169
+ * Users can click these to quickly send common prompts.
170
+ */
171
+ examplePrompts?: AiExamplePrompt[];
172
+ };
173
+ /**
174
+ * Example prompts from plugin config.
175
+ * These are merged with aiOptions.examplePrompts if both are provided.
176
+ * Typically set automatically by PuckEditorView from plugin config.
177
+ */
178
+ aiExamplePrompts?: AiExamplePrompt[];
179
+ /**
180
+ * Whether the puck-ai-prompts collection is enabled.
181
+ * When true, the prompt editor plugin is added to the plugin rail.
182
+ * Typically set automatically by PuckEditorView from plugin config.
183
+ */
184
+ hasPromptsCollection?: boolean;
185
+ /**
186
+ * Whether the puck-ai-context collection is enabled.
187
+ * When true, the context editor plugin is added to the plugin rail.
188
+ * Typically set automatically by PuckEditorView from plugin config.
189
+ */
190
+ hasContextCollection?: boolean;
191
+ /**
192
+ * Custom component AI instructions to override or extend defaults.
193
+ * When AI is enabled, built-in component instructions are auto-applied.
194
+ * Use this to customize instructions for your brand/use case.
195
+ * Typically set automatically by PuckEditorView from plugin config.
196
+ */
197
+ aiComponentInstructions?: ComponentAiOverrides;
198
+ /**
199
+ * Enable experimental full screen canvas mode.
200
+ * When enabled, the canvas takes up the full viewport with a floating viewport switcher.
201
+ * This is an experimental Puck feature.
202
+ * @default false
203
+ */
204
+ experimentalFullScreenCanvas?: boolean;
205
+ }
206
+ /**
207
+ * Puck Editor - The primary editor component
208
+ *
209
+ * A full-featured visual page builder with:
210
+ * - Save draft and publish functionality
211
+ * - Unsaved changes tracking with beforeunload warning
212
+ * - Interactive/Edit mode toggle
213
+ * - Theme-aware preview backgrounds
214
+ * - Responsive viewport switching
215
+ * - Optional page-tree integration (folder-based URL structure)
216
+ *
217
+ * @example Basic usage
218
+ * ```tsx
219
+ * 'use client'
220
+ *
221
+ * import { PuckEditor } from '@delmaredigital/payload-puck/editor'
222
+ * import { editorConfig } from '@delmaredigital/payload-puck/config/editor'
223
+ *
224
+ * export function PageEditor({ page }) {
225
+ * return (
226
+ * <PuckEditor
227
+ * pageId={page.id}
228
+ * initialData={page.puckData}
229
+ * config={editorConfig}
230
+ * pageTitle={page.title}
231
+ * pageSlug={page.slug}
232
+ * apiEndpoint="/api/puck/pages"
233
+ * backUrl="/admin/pages"
234
+ * />
235
+ * )
236
+ * }
237
+ * ```
238
+ *
239
+ * @example With page-tree integration
240
+ * ```tsx
241
+ * <PuckEditor
242
+ * pageId={page.id}
243
+ * initialData={page.puckData}
244
+ * config={editorConfig}
245
+ * pageTitle={page.title}
246
+ * pageSlug={page.slug}
247
+ * apiEndpoint="/api/puck/pages"
248
+ * hasPageTree={true}
249
+ * folder={page.folder}
250
+ * pageSegment={page.pageSegment}
251
+ * />
252
+ * ```
253
+ */
254
+ export declare function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, 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, }: PuckEditorProps): import("react/jsx-runtime").JSX.Element;
255
+ //# sourceMappingURL=PuckEditor.d.ts.map
@@ -0,0 +1 @@
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,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,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;;;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;CACvC;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,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,GACrC,EAAE,eAAe,2CA8MjB"}
@@ -0,0 +1,205 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useMemo } from 'react';
4
+ import dynamic from 'next/dynamic';
5
+ import { LoadingState } from './components/LoadingState';
6
+ import { injectPageTreeFields } from './utils/injectPageTreeFields.js';
7
+ import { hasPageTreeFields } from './utils/detectPageTree.js';
8
+ import { usePuckConfig } from '../views/PuckConfigContext.js';
9
+ import { injectAiConfig, hasAiConfig } from '../ai/utils/injectAiConfig.js';
10
+ import { comprehensiveComponentAiConfig } from '../ai/presets/index.js';
11
+ // Dynamic import with ssr: false to prevent hydration mismatch
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), {
14
+ ssr: false,
15
+ loading: () => _jsx(LoadingState, {}),
16
+ });
17
+ /**
18
+ * Puck Editor - The primary editor component
19
+ *
20
+ * A full-featured visual page builder with:
21
+ * - Save draft and publish functionality
22
+ * - Unsaved changes tracking with beforeunload warning
23
+ * - Interactive/Edit mode toggle
24
+ * - Theme-aware preview backgrounds
25
+ * - Responsive viewport switching
26
+ * - Optional page-tree integration (folder-based URL structure)
27
+ *
28
+ * @example Basic usage
29
+ * ```tsx
30
+ * 'use client'
31
+ *
32
+ * import { PuckEditor } from '@delmaredigital/payload-puck/editor'
33
+ * import { editorConfig } from '@delmaredigital/payload-puck/config/editor'
34
+ *
35
+ * export function PageEditor({ page }) {
36
+ * return (
37
+ * <PuckEditor
38
+ * pageId={page.id}
39
+ * initialData={page.puckData}
40
+ * config={editorConfig}
41
+ * pageTitle={page.title}
42
+ * pageSlug={page.slug}
43
+ * apiEndpoint="/api/puck/pages"
44
+ * backUrl="/admin/pages"
45
+ * />
46
+ * )
47
+ * }
48
+ * ```
49
+ *
50
+ * @example With page-tree integration
51
+ * ```tsx
52
+ * <PuckEditor
53
+ * pageId={page.id}
54
+ * initialData={page.puckData}
55
+ * config={editorConfig}
56
+ * pageTitle={page.title}
57
+ * pageSlug={page.slug}
58
+ * apiEndpoint="/api/puck/pages"
59
+ * hasPageTree={true}
60
+ * folder={page.folder}
61
+ * pageSegment={page.pageSegment}
62
+ * />
63
+ * ```
64
+ */
65
+ export function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, 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
+ // Get config from context as fallback
73
+ const { config: configFromContext, layouts: layoutsFromContext, theme: themeFromContext, editorStylesheets: editorStylesheetsFromContext, editorCss: editorCssFromContext, } = usePuckConfig();
74
+ // Use prop config if provided, otherwise fall back to context
75
+ const baseConfig = configProp || configFromContext;
76
+ const theme = themeProp || themeFromContext;
77
+ // Props take precedence over context for editor stylesheets
78
+ const editorStylesheets = editorStylesheetsProp || editorStylesheetsFromContext;
79
+ const editorCss = editorCssProp || editorCssFromContext;
80
+ // Merge layouts from props and context
81
+ // Props may have metadata (value, label, editorBackground) but no React components
82
+ // Context may have React components (header, footer) that can't be serialized through props
83
+ // Merge by matching on 'value', combining properties, preferring context for components
84
+ const layouts = useMemo(() => {
85
+ // If no layouts from either source, return undefined
86
+ if (!layoutsProp && !layoutsFromContext)
87
+ return undefined;
88
+ // If only one source, use it
89
+ if (!layoutsProp)
90
+ return layoutsFromContext;
91
+ if (!layoutsFromContext)
92
+ return layoutsProp;
93
+ // Merge: for each prop layout, find matching context layout and combine
94
+ return layoutsProp.map((propLayout) => {
95
+ const contextLayout = layoutsFromContext.find((c) => c.value === propLayout.value);
96
+ if (!contextLayout)
97
+ return propLayout;
98
+ // Combine: prop values first, then context values (context provides components)
99
+ return {
100
+ ...propLayout,
101
+ // Context provides React components (these can't be serialized through server props)
102
+ header: propLayout.header || contextLayout.header,
103
+ footer: propLayout.footer || contextLayout.footer,
104
+ // Context may also provide other values not in props
105
+ editorBackground: propLayout.editorBackground || contextLayout.editorBackground,
106
+ editorDarkMode: propLayout.editorDarkMode ?? contextLayout.editorDarkMode,
107
+ stickyHeaderHeight: propLayout.stickyHeaderHeight ?? contextLayout.stickyHeaderHeight,
108
+ styles: propLayout.styles || contextLayout.styles,
109
+ };
110
+ });
111
+ }, [layoutsProp, layoutsFromContext]);
112
+ // Conditionally inject page-tree fields and AI config into config
113
+ const finalConfig = useMemo(() => {
114
+ if (!baseConfig)
115
+ return null;
116
+ let config = baseConfig;
117
+ // Inject AI component instructions when AI is enabled
118
+ if (enableAi && !hasAiConfig(config)) {
119
+ // Merge comprehensive instructions with user-provided overrides
120
+ const mergedAiConfig = aiComponentInstructions
121
+ ? { ...comprehensiveComponentAiConfig, ...aiComponentInstructions }
122
+ : comprehensiveComponentAiConfig;
123
+ config = injectAiConfig(config, mergedAiConfig);
124
+ }
125
+ // Inject page-tree fields if enabled
126
+ if (hasPageTree && !hasPageTreeFields(config)) {
127
+ config = injectPageTreeFields(config);
128
+ }
129
+ return config;
130
+ }, [baseConfig, hasPageTree, enableAi, aiComponentInstructions]);
131
+ // Merge page-tree initial values into initialData
132
+ const finalInitialData = useMemo(() => {
133
+ if (!hasPageTree)
134
+ return initialData;
135
+ return {
136
+ ...initialData,
137
+ root: {
138
+ ...initialData.root,
139
+ props: {
140
+ ...initialData.root?.props,
141
+ // Only set if provided and hasPageTree is true
142
+ ...(folder !== undefined && { folder }),
143
+ ...(pageSegment !== undefined && { pageSegment }),
144
+ },
145
+ },
146
+ };
147
+ }, [initialData, hasPageTree, folder, pageSegment]);
148
+ // Show error if no config available
149
+ if (!finalConfig) {
150
+ return (_jsx("div", { style: {
151
+ display: 'flex',
152
+ flexDirection: 'column',
153
+ alignItems: 'center',
154
+ justifyContent: 'center',
155
+ height: 'calc(100vh - 120px)',
156
+ padding: '40px',
157
+ textAlign: 'center',
158
+ }, children: _jsxs("div", { style: {
159
+ backgroundColor: 'var(--theme-elevation-50)',
160
+ border: '1px solid var(--theme-elevation-150)',
161
+ borderRadius: '8px',
162
+ padding: '32px 48px',
163
+ maxWidth: '560px',
164
+ }, children: [_jsx("h2", { style: {
165
+ color: 'var(--theme-elevation-800)',
166
+ fontSize: '18px',
167
+ fontWeight: 600,
168
+ margin: '0 0 12px 0',
169
+ }, children: "Puck Configuration Required" }), _jsxs("p", { style: {
170
+ color: 'var(--theme-elevation-500)',
171
+ fontSize: '14px',
172
+ lineHeight: 1.6,
173
+ margin: '0 0 16px 0',
174
+ }, 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: {
175
+ backgroundColor: 'var(--theme-elevation-100)',
176
+ padding: '16px',
177
+ borderRadius: '6px',
178
+ fontSize: '12px',
179
+ textAlign: 'left',
180
+ overflow: 'auto',
181
+ margin: 0,
182
+ }, children: `// Option 1: Pass config directly
183
+ <PuckEditor config={editorConfig} ... />
184
+
185
+ // Option 2: Use context provider
186
+ <PuckConfigProvider config={editorConfig}>
187
+ <PuckEditor ... />
188
+ </PuckConfigProvider>` })] }) }));
189
+ }
190
+ // Merge example prompts from plugin config and aiOptions prop
191
+ const mergedAiOptions = useMemo(() => {
192
+ if (!enableAi)
193
+ return undefined;
194
+ const mergedPrompts = [
195
+ ...(aiExamplePrompts || []),
196
+ ...(aiOptions?.examplePrompts || []),
197
+ ];
198
+ return {
199
+ host: aiOptions?.host || '/api/puck/ai',
200
+ examplePrompts: mergedPrompts.length > 0 ? mergedPrompts : undefined,
201
+ };
202
+ }, [enableAi, aiExamplePrompts, aiOptions]);
203
+ return (_jsx(PuckEditorImpl, { pageId: pageId, initialData: finalInitialData, config: finalConfig, pageTitle: pageTitle, pageSlug: pageSlug, apiEndpoint: apiEndpoint, backUrl: backUrl, previewUrl: previewUrl, enableViewports: enableViewports, plugins: plugins, 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 }));
204
+ }
205
+ //# sourceMappingURL=PuckEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PuckEditor.js","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"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"}