@delmaredigital/payload-puck 0.1.3 → 0.3.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 (565) hide show
  1. package/README.md +293 -1237
  2. package/dist/admin/EditWithPuckButton.d.ts +74 -0
  3. package/dist/admin/EditWithPuckButton.d.ts.map +1 -0
  4. package/dist/admin/EditWithPuckButton.js +114 -0
  5. package/dist/admin/EditWithPuckButton.js.map +1 -0
  6. package/dist/admin/EditWithPuckCell.d.ts +43 -0
  7. package/dist/admin/EditWithPuckCell.d.ts.map +1 -0
  8. package/dist/admin/EditWithPuckCell.js +66 -0
  9. package/dist/admin/EditWithPuckCell.js.map +1 -0
  10. package/dist/admin/PuckEditorView.d.ts +85 -0
  11. package/dist/admin/PuckEditorView.d.ts.map +1 -0
  12. package/dist/admin/PuckEditorView.js +135 -0
  13. package/dist/admin/PuckEditorView.js.map +1 -0
  14. package/dist/admin/client.d.ts +8 -104
  15. package/dist/admin/client.d.ts.map +1 -0
  16. package/dist/admin/client.js +14 -176
  17. package/dist/admin/client.js.map +1 -0
  18. package/dist/admin/generateAdminComponents.d.ts +51 -0
  19. package/dist/admin/generateAdminComponents.d.ts.map +1 -0
  20. package/dist/admin/generateAdminComponents.js +42 -0
  21. package/dist/admin/generateAdminComponents.js.map +1 -0
  22. package/dist/admin/index.d.ts +14 -150
  23. package/dist/admin/index.d.ts.map +1 -0
  24. package/dist/admin/index.js +17 -30
  25. package/dist/admin/index.js.map +1 -0
  26. package/dist/api/createPuckApiRoutes.d.ts +31 -0
  27. package/dist/api/createPuckApiRoutes.d.ts.map +1 -0
  28. package/dist/api/createPuckApiRoutes.js +193 -0
  29. package/dist/api/createPuckApiRoutes.js.map +1 -0
  30. package/dist/api/createPuckApiRoutesVersions.d.ts +28 -0
  31. package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -0
  32. package/dist/api/createPuckApiRoutesVersions.js +144 -0
  33. package/dist/api/createPuckApiRoutesVersions.js.map +1 -0
  34. package/dist/api/createPuckApiRoutesWithId.d.ts +34 -0
  35. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -0
  36. package/dist/api/createPuckApiRoutesWithId.js +251 -0
  37. package/dist/api/createPuckApiRoutesWithId.js.map +1 -0
  38. package/dist/api/index.d.ts +11 -431
  39. package/dist/api/index.d.ts.map +1 -0
  40. package/dist/api/index.js +40 -587
  41. package/dist/api/index.js.map +1 -0
  42. package/dist/api/types.d.ts +302 -0
  43. package/dist/api/types.d.ts.map +1 -0
  44. package/dist/api/types.js +2 -0
  45. package/dist/api/types.js.map +1 -0
  46. package/dist/api/utils/mapRootProps.d.ts +76 -0
  47. package/dist/api/utils/mapRootProps.d.ts.map +1 -0
  48. package/dist/api/utils/mapRootProps.js +169 -0
  49. package/dist/api/utils/mapRootProps.js.map +1 -0
  50. package/dist/collections/Templates.d.ts +9 -0
  51. package/dist/collections/Templates.d.ts.map +1 -0
  52. package/dist/collections/Templates.js +62 -0
  53. package/dist/collections/Templates.js.map +1 -0
  54. package/dist/components/AccordionClient.d.ts +20 -0
  55. package/dist/components/AccordionClient.d.ts.map +1 -0
  56. package/dist/components/AccordionClient.js +67 -0
  57. package/dist/components/AccordionClient.js.map +1 -0
  58. package/dist/components/AnimatedWrapper.d.ts +33 -0
  59. package/dist/components/AnimatedWrapper.d.ts.map +1 -0
  60. package/dist/components/AnimatedWrapper.js +61 -0
  61. package/dist/components/AnimatedWrapper.js.map +1 -0
  62. package/dist/components/exports.d.ts +54 -0
  63. package/dist/components/exports.d.ts.map +1 -0
  64. package/dist/components/exports.js +71 -0
  65. package/dist/components/exports.js.map +1 -0
  66. package/dist/components/index.d.ts +8 -219
  67. package/dist/components/index.d.ts.map +1 -0
  68. package/dist/components/index.js +15 -9155
  69. package/dist/components/index.js.map +1 -0
  70. package/dist/components/interactive/Accordion.d.ts +28 -0
  71. package/dist/components/interactive/Accordion.d.ts.map +1 -0
  72. package/dist/components/interactive/Accordion.js +159 -0
  73. package/dist/components/interactive/Accordion.js.map +1 -0
  74. package/dist/components/interactive/Accordion.server.d.ts +29 -0
  75. package/dist/components/interactive/Accordion.server.d.ts.map +1 -0
  76. package/dist/components/interactive/Accordion.server.js +30 -0
  77. package/dist/components/interactive/Accordion.server.js.map +1 -0
  78. package/dist/components/interactive/Button.d.ts +26 -0
  79. package/dist/components/interactive/Button.d.ts.map +1 -0
  80. package/dist/components/interactive/Button.js +133 -0
  81. package/dist/components/interactive/Button.js.map +1 -0
  82. package/dist/components/interactive/Button.server.d.ts +28 -0
  83. package/dist/components/interactive/Button.server.d.ts.map +1 -0
  84. package/dist/components/interactive/Button.server.js +96 -0
  85. package/dist/components/interactive/Button.server.js.map +1 -0
  86. package/dist/components/interactive/Card.d.ts +27 -0
  87. package/dist/components/interactive/Card.d.ts.map +1 -0
  88. package/dist/components/interactive/Card.js +128 -0
  89. package/dist/components/interactive/Card.js.map +1 -0
  90. package/dist/components/interactive/Card.server.d.ts +29 -0
  91. package/dist/components/interactive/Card.server.d.ts.map +1 -0
  92. package/dist/components/interactive/Card.server.js +77 -0
  93. package/dist/components/interactive/Card.server.js.map +1 -0
  94. package/dist/components/interactive/Divider.d.ts +18 -0
  95. package/dist/components/interactive/Divider.d.ts.map +1 -0
  96. package/dist/components/interactive/Divider.js +68 -0
  97. package/dist/components/interactive/Divider.js.map +1 -0
  98. package/dist/components/interactive/Divider.server.d.ts +20 -0
  99. package/dist/components/interactive/Divider.server.d.ts.map +1 -0
  100. package/dist/components/interactive/Divider.server.js +50 -0
  101. package/dist/components/interactive/Divider.server.js.map +1 -0
  102. package/dist/components/interactive/index.d.ts +10 -0
  103. package/dist/components/interactive/index.d.ts.map +1 -0
  104. package/dist/components/interactive/index.js +10 -0
  105. package/dist/components/interactive/index.js.map +1 -0
  106. package/dist/components/layout/Container.d.ts +29 -0
  107. package/dist/components/layout/Container.d.ts.map +1 -0
  108. package/dist/components/layout/Container.js +166 -0
  109. package/dist/components/layout/Container.js.map +1 -0
  110. package/dist/components/layout/Container.server.d.ts +32 -0
  111. package/dist/components/layout/Container.server.d.ts.map +1 -0
  112. package/dist/components/layout/Container.server.js +105 -0
  113. package/dist/components/layout/Container.server.js.map +1 -0
  114. package/dist/components/layout/Flex.d.ts +36 -0
  115. package/dist/components/layout/Flex.d.ts.map +1 -0
  116. package/dist/components/layout/Flex.js +183 -0
  117. package/dist/components/layout/Flex.js.map +1 -0
  118. package/dist/components/layout/Flex.server.d.ts +36 -0
  119. package/dist/components/layout/Flex.server.d.ts.map +1 -0
  120. package/dist/components/layout/Flex.server.js +97 -0
  121. package/dist/components/layout/Flex.server.js.map +1 -0
  122. package/dist/components/layout/Grid.d.ts +31 -0
  123. package/dist/components/layout/Grid.d.ts.map +1 -0
  124. package/dist/components/layout/Grid.js +164 -0
  125. package/dist/components/layout/Grid.js.map +1 -0
  126. package/dist/components/layout/Grid.server.d.ts +32 -0
  127. package/dist/components/layout/Grid.server.d.ts.map +1 -0
  128. package/dist/components/layout/Grid.server.js +92 -0
  129. package/dist/components/layout/Grid.server.js.map +1 -0
  130. package/dist/components/layout/Section.d.ts +35 -0
  131. package/dist/components/layout/Section.d.ts.map +1 -0
  132. package/dist/components/layout/Section.js +212 -0
  133. package/dist/components/layout/Section.js.map +1 -0
  134. package/dist/components/layout/Section.server.d.ts +35 -0
  135. package/dist/components/layout/Section.server.d.ts.map +1 -0
  136. package/dist/components/layout/Section.server.js +144 -0
  137. package/dist/components/layout/Section.server.js.map +1 -0
  138. package/dist/components/layout/Spacer.d.ts +18 -0
  139. package/dist/components/layout/Spacer.d.ts.map +1 -0
  140. package/dist/components/layout/Spacer.js +99 -0
  141. package/dist/components/layout/Spacer.js.map +1 -0
  142. package/dist/components/layout/Spacer.server.d.ts +21 -0
  143. package/dist/components/layout/Spacer.server.d.ts.map +1 -0
  144. package/dist/components/layout/Spacer.server.js +61 -0
  145. package/dist/components/layout/Spacer.server.js.map +1 -0
  146. package/dist/components/layout/Template.d.ts +35 -0
  147. package/dist/components/layout/Template.d.ts.map +1 -0
  148. package/dist/components/layout/Template.js +124 -0
  149. package/dist/components/layout/Template.js.map +1 -0
  150. package/dist/components/layout/Template.server.d.ts +32 -0
  151. package/dist/components/layout/Template.server.d.ts.map +1 -0
  152. package/dist/components/layout/Template.server.js +75 -0
  153. package/dist/components/layout/Template.server.js.map +1 -0
  154. package/dist/components/layout/index.d.ts +14 -0
  155. package/dist/components/layout/index.d.ts.map +1 -0
  156. package/dist/components/layout/index.js +13 -0
  157. package/dist/components/layout/index.js.map +1 -0
  158. package/dist/components/media/Image.d.ts +30 -0
  159. package/dist/components/media/Image.d.ts.map +1 -0
  160. package/dist/components/media/Image.js +123 -0
  161. package/dist/components/media/Image.js.map +1 -0
  162. package/dist/components/media/Image.server.d.ts +28 -0
  163. package/dist/components/media/Image.server.d.ts.map +1 -0
  164. package/dist/components/media/Image.server.js +76 -0
  165. package/dist/components/media/Image.server.js.map +1 -0
  166. package/dist/components/media/index.d.ts +7 -0
  167. package/dist/components/media/index.d.ts.map +1 -0
  168. package/dist/components/media/index.js +7 -0
  169. package/dist/components/media/index.js.map +1 -0
  170. package/dist/components/typography/Heading.d.ts +21 -0
  171. package/dist/components/typography/Heading.d.ts.map +1 -0
  172. package/dist/components/typography/Heading.js +71 -0
  173. package/dist/components/typography/Heading.js.map +1 -0
  174. package/dist/components/typography/Heading.server.d.ts +21 -0
  175. package/dist/components/typography/Heading.server.d.ts.map +1 -0
  176. package/dist/components/typography/Heading.server.js +49 -0
  177. package/dist/components/typography/Heading.server.js.map +1 -0
  178. package/dist/components/typography/RichText.d.ts +20 -0
  179. package/dist/components/typography/RichText.d.ts.map +1 -0
  180. package/dist/components/typography/RichText.editor.d.ts +11 -0
  181. package/dist/components/typography/RichText.editor.d.ts.map +1 -0
  182. package/dist/components/typography/RichText.editor.js +67 -0
  183. package/dist/components/typography/RichText.editor.js.map +1 -0
  184. package/dist/components/typography/RichText.js +73 -0
  185. package/dist/components/typography/RichText.js.map +1 -0
  186. package/dist/components/typography/RichText.server.d.ts +22 -0
  187. package/dist/components/typography/RichText.server.d.ts.map +1 -0
  188. package/dist/components/typography/RichText.server.js +52 -0
  189. package/dist/components/typography/RichText.server.js.map +1 -0
  190. package/dist/components/typography/Text.d.ts +20 -0
  191. package/dist/components/typography/Text.d.ts.map +1 -0
  192. package/dist/components/typography/Text.js +61 -0
  193. package/dist/components/typography/Text.js.map +1 -0
  194. package/dist/components/typography/Text.server.d.ts +21 -0
  195. package/dist/components/typography/Text.server.d.ts.map +1 -0
  196. package/dist/components/typography/Text.server.js +39 -0
  197. package/dist/components/typography/Text.server.js.map +1 -0
  198. package/dist/components/typography/index.d.ts +10 -0
  199. package/dist/components/typography/index.d.ts.map +1 -0
  200. package/dist/components/typography/index.js +10 -0
  201. package/dist/components/typography/index.js.map +1 -0
  202. package/dist/config/config.editor.d.ts +15 -56
  203. package/dist/config/config.editor.d.ts.map +1 -0
  204. package/dist/config/config.editor.js +125 -9364
  205. package/dist/config/config.editor.js.map +1 -0
  206. package/dist/config/index.d.ts +7 -33
  207. package/dist/config/index.d.ts.map +1 -0
  208. package/dist/config/index.js +110 -2028
  209. package/dist/config/index.js.map +1 -0
  210. package/dist/config/merge.d.ts +23 -0
  211. package/dist/config/merge.d.ts.map +1 -0
  212. package/dist/config/merge.js +80 -0
  213. package/dist/config/merge.js.map +1 -0
  214. package/dist/config/presets.d.ts +342 -0
  215. package/dist/config/presets.d.ts.map +1 -0
  216. package/dist/config/presets.js +247 -0
  217. package/dist/config/presets.js.map +1 -0
  218. package/dist/editor/PuckEditor.client.d.ts +131 -0
  219. package/dist/editor/PuckEditor.client.d.ts.map +1 -0
  220. package/dist/editor/PuckEditor.client.js +42 -0
  221. package/dist/editor/PuckEditor.client.js.map +1 -0
  222. package/dist/editor/PuckEditorCore.client.d.ts +141 -0
  223. package/dist/editor/PuckEditorCore.client.d.ts.map +1 -0
  224. package/dist/editor/PuckEditorCore.client.js +306 -0
  225. package/dist/editor/PuckEditorCore.client.js.map +1 -0
  226. package/dist/editor/components/HeaderActions.d.ts +109 -0
  227. package/dist/editor/components/HeaderActions.d.ts.map +1 -0
  228. package/dist/editor/components/HeaderActions.js +254 -0
  229. package/dist/editor/components/HeaderActions.js.map +1 -0
  230. package/dist/editor/components/IframeWrapper.d.ts +77 -0
  231. package/dist/editor/components/IframeWrapper.d.ts.map +1 -0
  232. package/dist/editor/components/IframeWrapper.js +257 -0
  233. package/dist/editor/components/IframeWrapper.js.map +1 -0
  234. package/dist/editor/components/LoadingState.d.ts +14 -0
  235. package/dist/editor/components/LoadingState.d.ts.map +1 -0
  236. package/dist/editor/components/LoadingState.js +12 -0
  237. package/dist/editor/components/LoadingState.js.map +1 -0
  238. package/dist/editor/components/PreviewModal.d.ts +54 -0
  239. package/dist/editor/components/PreviewModal.d.ts.map +1 -0
  240. package/dist/editor/components/PreviewModal.js +298 -0
  241. package/dist/editor/components/PreviewModal.js.map +1 -0
  242. package/dist/editor/components/VersionHistory.d.ts +44 -0
  243. package/dist/editor/components/VersionHistory.d.ts.map +1 -0
  244. package/dist/editor/components/VersionHistory.js +308 -0
  245. package/dist/editor/components/VersionHistory.js.map +1 -0
  246. package/dist/editor/hooks/useUnsavedChanges.d.ts +27 -0
  247. package/dist/editor/hooks/useUnsavedChanges.d.ts.map +1 -0
  248. package/dist/editor/hooks/useUnsavedChanges.js +55 -0
  249. package/dist/editor/hooks/useUnsavedChanges.js.map +1 -0
  250. package/dist/editor/index.d.ts +16 -756
  251. package/dist/editor/index.d.ts.map +1 -0
  252. package/dist/editor/index.js +49 -4533
  253. package/dist/editor/index.js.map +1 -0
  254. package/dist/editor/plugins/index.d.ts +12 -0
  255. package/dist/editor/plugins/index.d.ts.map +1 -0
  256. package/dist/editor/plugins/index.js +12 -0
  257. package/dist/editor/plugins/index.js.map +1 -0
  258. package/dist/endpoints/index.d.ts +46 -0
  259. package/dist/endpoints/index.d.ts.map +1 -0
  260. package/dist/endpoints/index.js +204 -0
  261. package/dist/endpoints/index.js.map +1 -0
  262. package/dist/exports/client.d.ts +19 -0
  263. package/dist/exports/client.d.ts.map +1 -0
  264. package/dist/exports/client.js +21 -0
  265. package/dist/exports/client.js.map +1 -0
  266. package/dist/exports/rsc.d.ts +19 -0
  267. package/dist/exports/rsc.d.ts.map +1 -0
  268. package/dist/exports/rsc.js +19 -0
  269. package/dist/exports/rsc.js.map +1 -0
  270. package/dist/fields/AlignmentField.d.ts +36 -0
  271. package/dist/fields/AlignmentField.d.ts.map +1 -0
  272. package/dist/fields/AlignmentField.js +120 -0
  273. package/dist/fields/AlignmentField.js.map +1 -0
  274. package/dist/fields/AnimationField.d.ts +44 -0
  275. package/dist/fields/AnimationField.d.ts.map +1 -0
  276. package/dist/fields/AnimationField.js +329 -0
  277. package/dist/fields/AnimationField.js.map +1 -0
  278. package/dist/fields/BackgroundField.d.ts +40 -0
  279. package/dist/fields/BackgroundField.d.ts.map +1 -0
  280. package/dist/fields/BackgroundField.js +413 -0
  281. package/dist/fields/BackgroundField.js.map +1 -0
  282. package/dist/fields/BorderField.d.ts +29 -0
  283. package/dist/fields/BorderField.d.ts.map +1 -0
  284. package/dist/fields/BorderField.js +264 -0
  285. package/dist/fields/BorderField.js.map +1 -0
  286. package/dist/fields/ColorPickerField.d.ts +43 -0
  287. package/dist/fields/ColorPickerField.d.ts.map +1 -0
  288. package/dist/fields/ColorPickerField.js +285 -0
  289. package/dist/fields/ColorPickerField.js.map +1 -0
  290. package/dist/fields/DimensionsField.d.ts +43 -0
  291. package/dist/fields/DimensionsField.d.ts.map +1 -0
  292. package/dist/fields/DimensionsField.js +532 -0
  293. package/dist/fields/DimensionsField.js.map +1 -0
  294. package/dist/fields/FlexAlignmentField.d.ts +61 -0
  295. package/dist/fields/FlexAlignmentField.d.ts.map +1 -0
  296. package/dist/fields/FlexAlignmentField.js +166 -0
  297. package/dist/fields/FlexAlignmentField.js.map +1 -0
  298. package/dist/fields/FolderPickerField.d.ts +17 -0
  299. package/dist/fields/FolderPickerField.d.ts.map +1 -0
  300. package/dist/fields/FolderPickerField.js +282 -0
  301. package/dist/fields/FolderPickerField.js.map +1 -0
  302. package/dist/fields/GradientEditor.d.ts +22 -0
  303. package/dist/fields/GradientEditor.d.ts.map +1 -0
  304. package/dist/fields/GradientEditor.js +322 -0
  305. package/dist/fields/GradientEditor.js.map +1 -0
  306. package/dist/fields/LockedField.d.ts +67 -0
  307. package/dist/fields/LockedField.d.ts.map +1 -0
  308. package/dist/fields/LockedField.js +170 -0
  309. package/dist/fields/LockedField.js.map +1 -0
  310. package/dist/fields/MarginField.d.ts +31 -0
  311. package/dist/fields/MarginField.d.ts.map +1 -0
  312. package/dist/fields/MarginField.js +233 -0
  313. package/dist/fields/MarginField.js.map +1 -0
  314. package/dist/fields/MediaField.d.ts +33 -0
  315. package/dist/fields/MediaField.d.ts.map +1 -0
  316. package/dist/fields/MediaField.js +677 -0
  317. package/dist/fields/MediaField.js.map +1 -0
  318. package/dist/fields/PaddingField.d.ts +29 -0
  319. package/dist/fields/PaddingField.d.ts.map +1 -0
  320. package/dist/fields/PaddingField.js +232 -0
  321. package/dist/fields/PaddingField.js.map +1 -0
  322. package/dist/fields/PageSegmentField.d.ts +17 -0
  323. package/dist/fields/PageSegmentField.d.ts.map +1 -0
  324. package/dist/fields/PageSegmentField.js +92 -0
  325. package/dist/fields/PageSegmentField.js.map +1 -0
  326. package/dist/fields/ResetField.d.ts +27 -0
  327. package/dist/fields/ResetField.d.ts.map +1 -0
  328. package/dist/fields/ResetField.js +122 -0
  329. package/dist/fields/ResetField.js.map +1 -0
  330. package/dist/fields/ResponsiveField.d.ts +38 -0
  331. package/dist/fields/ResponsiveField.d.ts.map +1 -0
  332. package/dist/fields/ResponsiveField.js +275 -0
  333. package/dist/fields/ResponsiveField.js.map +1 -0
  334. package/dist/fields/ResponsiveVisibilityField.d.ts +34 -0
  335. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -0
  336. package/dist/fields/ResponsiveVisibilityField.js +145 -0
  337. package/dist/fields/ResponsiveVisibilityField.js.map +1 -0
  338. package/dist/fields/SizeField.d.ts +54 -0
  339. package/dist/fields/SizeField.d.ts.map +1 -0
  340. package/dist/fields/SizeField.js +255 -0
  341. package/dist/fields/SizeField.js.map +1 -0
  342. package/dist/fields/SlugPreviewField.d.ts +16 -0
  343. package/dist/fields/SlugPreviewField.d.ts.map +1 -0
  344. package/dist/fields/SlugPreviewField.js +49 -0
  345. package/dist/fields/SlugPreviewField.js.map +1 -0
  346. package/dist/fields/TemplateField.d.ts +31 -0
  347. package/dist/fields/TemplateField.d.ts.map +1 -0
  348. package/dist/fields/TemplateField.js +428 -0
  349. package/dist/fields/TemplateField.js.map +1 -0
  350. package/dist/fields/TiptapField.d.ts +40 -0
  351. package/dist/fields/TiptapField.d.ts.map +1 -0
  352. package/dist/fields/TiptapField.js +857 -0
  353. package/dist/fields/TiptapField.js.map +1 -0
  354. package/dist/fields/TiptapModal.d.ts +10 -0
  355. package/dist/fields/TiptapModal.d.ts.map +1 -0
  356. package/dist/fields/TiptapModal.js +114 -0
  357. package/dist/fields/TiptapModal.js.map +1 -0
  358. package/dist/fields/TiptapModalField.d.ts +23 -0
  359. package/dist/fields/TiptapModalField.d.ts.map +1 -0
  360. package/dist/fields/TiptapModalField.js +55 -0
  361. package/dist/fields/TiptapModalField.js.map +1 -0
  362. package/dist/fields/TransformField.d.ts +31 -0
  363. package/dist/fields/TransformField.d.ts.map +1 -0
  364. package/dist/fields/TransformField.js +384 -0
  365. package/dist/fields/TransformField.js.map +1 -0
  366. package/dist/fields/VerticalAlignmentField.d.ts +35 -0
  367. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -0
  368. package/dist/fields/VerticalAlignmentField.js +120 -0
  369. package/dist/fields/VerticalAlignmentField.js.map +1 -0
  370. package/dist/fields/WidthField.d.ts +28 -0
  371. package/dist/fields/WidthField.d.ts.map +1 -0
  372. package/dist/fields/WidthField.js +339 -0
  373. package/dist/fields/WidthField.js.map +1 -0
  374. package/dist/fields/index.d.ts +44 -559
  375. package/dist/fields/index.d.ts.map +1 -0
  376. package/dist/fields/index.js +91 -7685
  377. package/dist/fields/index.js.map +1 -0
  378. package/dist/fields/richtext-output.css +219 -0
  379. package/dist/{shared-DeNKN95N.d.mts → fields/shared.d.ts} +114 -133
  380. package/dist/fields/shared.d.ts.map +1 -0
  381. package/dist/fields/shared.js +1542 -0
  382. package/dist/fields/shared.js.map +1 -0
  383. package/dist/fields/{index.css → tiptap-styles.css} +75 -166
  384. package/dist/hooks/index.d.ts +8 -0
  385. package/dist/hooks/index.d.ts.map +1 -0
  386. package/dist/hooks/index.js +8 -0
  387. package/dist/hooks/index.js.map +1 -0
  388. package/dist/hooks/useResponsiveStyles.d.ts +51 -0
  389. package/dist/hooks/useResponsiveStyles.d.ts.map +1 -0
  390. package/dist/hooks/useResponsiveStyles.js +149 -0
  391. package/dist/hooks/useResponsiveStyles.js.map +1 -0
  392. package/dist/hooks/useScrollAnimation.d.ts +56 -0
  393. package/dist/hooks/useScrollAnimation.d.ts.map +1 -0
  394. package/dist/hooks/useScrollAnimation.js +116 -0
  395. package/dist/hooks/useScrollAnimation.js.map +1 -0
  396. package/dist/index.d.ts +66 -6
  397. package/dist/index.d.ts.map +1 -0
  398. package/dist/index.js +67 -568
  399. package/dist/index.js.map +1 -0
  400. package/dist/layouts/LayoutWrapper.d.ts +33 -0
  401. package/dist/layouts/LayoutWrapper.d.ts.map +1 -0
  402. package/dist/layouts/LayoutWrapper.js +112 -0
  403. package/dist/layouts/LayoutWrapper.js.map +1 -0
  404. package/dist/layouts/defaults.d.ts +40 -0
  405. package/dist/layouts/defaults.d.ts.map +1 -0
  406. package/dist/layouts/defaults.js +106 -0
  407. package/dist/layouts/defaults.js.map +1 -0
  408. package/dist/layouts/index.d.ts +27 -94
  409. package/dist/layouts/index.d.ts.map +1 -0
  410. package/dist/layouts/index.js +30 -393
  411. package/dist/layouts/index.js.map +1 -0
  412. package/dist/{types-D7D3rZ1J.d.ts → layouts/types.d.ts} +8 -11
  413. package/dist/layouts/types.d.ts.map +1 -0
  414. package/dist/layouts/types.js +7 -0
  415. package/dist/layouts/types.js.map +1 -0
  416. package/dist/layouts/utils.d.ts +42 -0
  417. package/dist/layouts/utils.d.ts.map +1 -0
  418. package/dist/layouts/utils.js +83 -0
  419. package/dist/layouts/utils.js.map +1 -0
  420. package/dist/plugin/collections/Pages.d.ts +8 -0
  421. package/dist/plugin/collections/Pages.d.ts.map +1 -0
  422. package/dist/plugin/collections/Pages.js +117 -0
  423. package/dist/plugin/collections/Pages.js.map +1 -0
  424. package/dist/plugin/fields/index.d.ts +153 -0
  425. package/dist/plugin/fields/index.d.ts.map +1 -0
  426. package/dist/plugin/fields/index.js +364 -0
  427. package/dist/plugin/fields/index.js.map +1 -0
  428. package/dist/plugin/fields/types.d.ts +108 -0
  429. package/dist/plugin/fields/types.d.ts.map +1 -0
  430. package/dist/plugin/fields/types.js +7 -0
  431. package/dist/plugin/fields/types.js.map +1 -0
  432. package/dist/plugin/index.d.ts +13 -255
  433. package/dist/plugin/index.d.ts.map +1 -0
  434. package/dist/plugin/index.js +276 -553
  435. package/dist/plugin/index.js.map +1 -0
  436. package/dist/render/HybridPageRenderer.d.ts +85 -0
  437. package/dist/render/HybridPageRenderer.d.ts.map +1 -0
  438. package/dist/render/HybridPageRenderer.js +29 -0
  439. package/dist/render/HybridPageRenderer.js.map +1 -0
  440. package/dist/render/PageRenderer.d.ts +51 -0
  441. package/dist/render/PageRenderer.d.ts.map +1 -0
  442. package/dist/render/PageRenderer.js +61 -0
  443. package/dist/render/PageRenderer.js.map +1 -0
  444. package/dist/render/PuckEditor.client.d.ts +66 -0
  445. package/dist/render/PuckEditor.client.d.ts.map +1 -0
  446. package/dist/render/PuckEditor.client.js +66 -0
  447. package/dist/render/PuckEditor.client.js.map +1 -0
  448. package/dist/render/index.d.ts +8 -106
  449. package/dist/render/index.d.ts.map +1 -0
  450. package/dist/render/index.js +10 -2162
  451. package/dist/render/index.js.map +1 -0
  452. package/dist/theme/context.d.ts +59 -0
  453. package/dist/theme/context.d.ts.map +1 -0
  454. package/dist/theme/context.js +73 -0
  455. package/dist/theme/context.js.map +1 -0
  456. package/dist/theme/defaults.d.ts +39 -0
  457. package/dist/theme/defaults.d.ts.map +1 -0
  458. package/dist/theme/defaults.js +72 -0
  459. package/dist/theme/defaults.js.map +1 -0
  460. package/dist/theme/example.d.ts +30 -0
  461. package/dist/theme/example.d.ts.map +1 -0
  462. package/dist/theme/example.js +89 -0
  463. package/dist/theme/example.js.map +1 -0
  464. package/dist/theme/index.d.ts +17 -140
  465. package/dist/theme/index.d.ts.map +1 -0
  466. package/dist/theme/index.js +34 -200
  467. package/dist/theme/index.js.map +1 -0
  468. package/dist/{types-_6MvjyKv.d.ts → theme/types.d.ts} +8 -9
  469. package/dist/theme/types.d.ts.map +1 -0
  470. package/dist/theme/types.js +9 -0
  471. package/dist/theme/types.js.map +1 -0
  472. package/dist/theme/utils.d.ts +30 -0
  473. package/dist/theme/utils.d.ts.map +1 -0
  474. package/dist/theme/utils.js +84 -0
  475. package/dist/theme/utils.js.map +1 -0
  476. package/dist/{index-CQu6SzDg.d.mts → types/index.d.ts} +120 -115
  477. package/dist/types/index.d.ts.map +1 -0
  478. package/dist/types/index.js +2 -0
  479. package/dist/types/index.js.map +1 -0
  480. package/dist/utils/index.d.ts +23 -257
  481. package/dist/utils/index.d.ts.map +1 -0
  482. package/dist/utils/index.js +56 -425
  483. package/dist/utils/index.js.map +1 -0
  484. package/dist/utils/{index.d.mts → migration.d.ts} +16 -112
  485. package/dist/utils/migration.d.ts.map +1 -0
  486. package/dist/utils/migration.js +309 -0
  487. package/dist/utils/migration.js.map +1 -0
  488. package/dist/utils/validation.d.ts +89 -0
  489. package/dist/utils/validation.d.ts.map +1 -0
  490. package/dist/utils/validation.js +247 -0
  491. package/dist/utils/validation.js.map +1 -0
  492. package/dist/views/PuckConfigContext.d.ts +71 -0
  493. package/dist/views/PuckConfigContext.d.ts.map +1 -0
  494. package/dist/views/PuckConfigContext.js +45 -0
  495. package/dist/views/PuckConfigContext.js.map +1 -0
  496. package/dist/views/PuckEditorClient.d.ts +73 -0
  497. package/dist/views/PuckEditorClient.d.ts.map +1 -0
  498. package/dist/views/PuckEditorClient.js +130 -0
  499. package/dist/views/PuckEditorClient.js.map +1 -0
  500. package/dist/views/PuckEditorView.d.ts +19 -0
  501. package/dist/views/PuckEditorView.d.ts.map +1 -0
  502. package/dist/views/PuckEditorView.js +106 -0
  503. package/dist/views/PuckEditorView.js.map +1 -0
  504. package/dist/views/index.d.ts +10 -0
  505. package/dist/views/index.d.ts.map +1 -0
  506. package/dist/views/index.js +10 -0
  507. package/dist/views/index.js.map +1 -0
  508. package/package.json +50 -72
  509. package/dist/AccordionClient.d.mts +0 -24
  510. package/dist/AccordionClient.d.ts +0 -24
  511. package/dist/AccordionClient.js +0 -786
  512. package/dist/AccordionClient.mjs +0 -784
  513. package/dist/AnimatedWrapper.d.mts +0 -30
  514. package/dist/AnimatedWrapper.d.ts +0 -30
  515. package/dist/AnimatedWrapper.js +0 -379
  516. package/dist/AnimatedWrapper.mjs +0 -377
  517. package/dist/admin/client.d.mts +0 -108
  518. package/dist/admin/client.mjs +0 -173
  519. package/dist/admin/index.d.mts +0 -157
  520. package/dist/admin/index.mjs +0 -29
  521. package/dist/api/index.d.mts +0 -460
  522. package/dist/api/index.mjs +0 -578
  523. package/dist/components/index.css +0 -339
  524. package/dist/components/index.d.mts +0 -222
  525. package/dist/components/index.mjs +0 -9109
  526. package/dist/config/config.editor.css +0 -339
  527. package/dist/config/config.editor.d.mts +0 -153
  528. package/dist/config/config.editor.mjs +0 -9347
  529. package/dist/config/index.d.mts +0 -68
  530. package/dist/config/index.mjs +0 -2008
  531. package/dist/editor/index.d.mts +0 -784
  532. package/dist/editor/index.mjs +0 -4500
  533. package/dist/fields/index.d.mts +0 -600
  534. package/dist/fields/index.mjs +0 -7569
  535. package/dist/index-CoUQnyC3.d.ts +0 -327
  536. package/dist/index.d.mts +0 -6
  537. package/dist/index.mjs +0 -555
  538. package/dist/layouts/index.d.mts +0 -96
  539. package/dist/layouts/index.mjs +0 -378
  540. package/dist/plugin/index.d.mts +0 -289
  541. package/dist/plugin/index.mjs +0 -555
  542. package/dist/render/index.d.mts +0 -109
  543. package/dist/render/index.mjs +0 -2140
  544. package/dist/shared-DeNKN95N.d.ts +0 -546
  545. package/dist/theme/index.d.mts +0 -155
  546. package/dist/theme/index.mjs +0 -186
  547. package/dist/types-D7D3rZ1J.d.mts +0 -116
  548. package/dist/types-_6MvjyKv.d.mts +0 -104
  549. package/dist/utils/index.mjs +0 -412
  550. package/dist/utils-DaRs9t0J.d.mts +0 -85
  551. package/dist/utils-gAvt0Vhw.d.ts +0 -85
  552. package/examples/README.md +0 -247
  553. package/examples/api/puck/pages/[id]/route.ts +0 -64
  554. package/examples/api/puck/pages/[id]/versions/route.ts +0 -47
  555. package/examples/api/puck/pages/route.ts +0 -45
  556. package/examples/app/(frontend)/page.tsx +0 -94
  557. package/examples/app/(manage)/layout.tsx +0 -31
  558. package/examples/app/[...slug]/page.tsx +0 -101
  559. package/examples/app/pages/[id]/edit/page.tsx +0 -148
  560. package/examples/components/CustomBanner.tsx +0 -368
  561. package/examples/config/custom-config.ts +0 -223
  562. package/examples/config/payload.config.example.ts +0 -64
  563. package/examples/lib/puck-layouts.ts +0 -258
  564. package/examples/lib/puck-theme.ts +0 -94
  565. package/examples/styles/puck-theme.css +0 -171
@@ -0,0 +1,117 @@
1
+ import { DEFAULT_LAYOUTS } from '../../layouts/defaults';
2
+ import { puckDataField, createEditorVersionField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup, } from '../fields';
3
+ /**
4
+ * Default access function - allows all
5
+ */
6
+ const defaultAccess = () => true;
7
+ /**
8
+ * Generates a Pages collection configuration for Puck
9
+ */
10
+ export function generatePagesCollection(slug, options) {
11
+ const { collectionOverrides = {}, access = {}, layouts = DEFAULT_LAYOUTS, additionalFields = [], } = options;
12
+ const baseFields = [
13
+ // Core Fields (title and slug with duplication hooks - unique to collection generation)
14
+ {
15
+ name: 'title',
16
+ type: 'text',
17
+ required: true,
18
+ hooks: {
19
+ beforeDuplicate: [
20
+ ({ value }) => {
21
+ if (!value)
22
+ return value;
23
+ const copyMatch = value.match(/^(.+) \(Copy(?: (\d+))?\)$/);
24
+ if (copyMatch) {
25
+ const baseName = copyMatch[1];
26
+ const copyNum = copyMatch[2] ? parseInt(copyMatch[2], 10) + 1 : 2;
27
+ return `${baseName} (Copy ${copyNum})`;
28
+ }
29
+ return `${value} (Copy)`;
30
+ },
31
+ ],
32
+ },
33
+ },
34
+ {
35
+ name: 'slug',
36
+ type: 'text',
37
+ required: true,
38
+ unique: true,
39
+ index: true,
40
+ admin: {
41
+ position: 'sidebar',
42
+ description: 'URL path for this page (auto-generated from title)',
43
+ },
44
+ hooks: {
45
+ beforeValidate: [
46
+ ({ data, value }) => {
47
+ if (data && !value && data.title) {
48
+ return data.title
49
+ .toLowerCase()
50
+ .replace(/[^\w\s-]/g, '')
51
+ .replace(/\s+/g, '-')
52
+ .replace(/-+/g, '-')
53
+ .trim();
54
+ }
55
+ return value;
56
+ },
57
+ ],
58
+ beforeDuplicate: [
59
+ ({ value }) => {
60
+ if (!value)
61
+ return value;
62
+ const copyMatch = value.match(/^(.+)-copy(?:-(\d+))?$/);
63
+ if (copyMatch) {
64
+ const baseName = copyMatch[1];
65
+ const copyNum = copyMatch[2] ? parseInt(copyMatch[2], 10) + 1 : 2;
66
+ return `${baseName}-copy-${copyNum}`;
67
+ }
68
+ return `${value}-copy`;
69
+ },
70
+ ],
71
+ },
72
+ },
73
+ // Page Layout
74
+ createPageLayoutField(layouts, true),
75
+ // Editor Version
76
+ createEditorVersionField('puck', true),
77
+ // Homepage Flag
78
+ isHomepageField,
79
+ // Puck Data (hidden - managed via visual editor)
80
+ puckDataField,
81
+ // SEO Fields
82
+ seoFieldGroup,
83
+ // Conversion Tracking Fields
84
+ conversionFieldGroup,
85
+ // Additional fields from options
86
+ ...additionalFields,
87
+ ];
88
+ return {
89
+ slug,
90
+ admin: {
91
+ useAsTitle: 'title',
92
+ group: 'Content',
93
+ defaultColumns: ['title', 'slug', '_status', 'updatedAt'],
94
+ ...(collectionOverrides.admin ?? {}),
95
+ },
96
+ access: {
97
+ read: access.read ?? defaultAccess,
98
+ create: access.create ?? defaultAccess,
99
+ update: access.update ?? defaultAccess,
100
+ delete: access.delete ?? defaultAccess,
101
+ ...(collectionOverrides.access ?? {}),
102
+ },
103
+ versions: typeof collectionOverrides.versions === 'object'
104
+ ? { drafts: true, ...collectionOverrides.versions }
105
+ : { drafts: true },
106
+ fields: baseFields,
107
+ ...collectionOverrides,
108
+ // Ensure fields aren't overwritten by collectionOverrides
109
+ ...(collectionOverrides.fields && {
110
+ fields: [...baseFields, ...collectionOverrides.fields],
111
+ }),
112
+ };
113
+ }
114
+ // Note: puckDataField is now exported from '../fields' for hybrid collection integration
115
+ // Re-export for backwards compatibility
116
+ export { puckDataField } from '../fields';
117
+ //# sourceMappingURL=Pages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pages.js","sourceRoot":"","sources":["../../../src/plugin/collections/Pages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Puck Field Utilities
3
+ *
4
+ * Provides reusable field definitions for adding Puck support to existing collections.
5
+ * Use getPuckFields() for easy integration, or import individual fields for granular control.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Option 1: Use getPuckFields() for recommended defaults
10
+ * import { getPuckFields } from '@delmaredigital/payload-puck'
11
+ *
12
+ * const Pages: CollectionConfig = {
13
+ * slug: 'pages',
14
+ * fields: [
15
+ * // Your existing fields...
16
+ * ...getPuckFields({ includeSEO: false }),
17
+ * ],
18
+ * }
19
+ *
20
+ * // Option 2: Import individual fields
21
+ * import { puckDataField, editorVersionField } from '@delmaredigital/payload-puck'
22
+ *
23
+ * const Pages: CollectionConfig = {
24
+ * slug: 'pages',
25
+ * fields: [
26
+ * // Your existing fields...
27
+ * puckDataField,
28
+ * editorVersionField,
29
+ * ],
30
+ * }
31
+ * ```
32
+ */
33
+ import type { Field } from 'payload';
34
+ import type { GetPuckFieldsOptions, ConversionTypeOption } from './types';
35
+ import type { LayoutDefinition } from '../../layouts/types';
36
+ /**
37
+ * Puck data field - stores the visual editor JSON data.
38
+ * This field is always hidden in the admin UI as it's managed via the visual editor.
39
+ */
40
+ export declare const puckDataField: Field;
41
+ /**
42
+ * Creates an editor version field with smart detection for hybrid setups.
43
+ *
44
+ * The field uses a beforeValidate hook to intelligently determine the editor version:
45
+ * - New pages: Default to 'puck' (or custom defaultValue)
46
+ * - Existing pages with legacy blocks but no puckData: Set to 'legacy'
47
+ * - Existing pages with puckData: Set to 'puck'
48
+ *
49
+ * This prevents existing legacy content from being incorrectly marked as 'puck'
50
+ * when the field is first added to a collection.
51
+ *
52
+ * @param defaultValue - The default editor version for NEW pages ('puck' or 'legacy')
53
+ * @param sidebar - Whether to position in the sidebar (default: true)
54
+ * @param legacyBlocksFieldName - Name of the legacy blocks field to check (default: 'layout')
55
+ */
56
+ export declare function createEditorVersionField(defaultValue?: 'legacy' | 'puck', sidebar?: boolean, legacyBlocksFieldName?: string): Field;
57
+ /**
58
+ * Pre-configured editor version field with 'puck' as default.
59
+ * Use createEditorVersionField() for custom configuration.
60
+ */
61
+ export declare const editorVersionField: Field;
62
+ /**
63
+ * Creates a page layout field with custom layouts.
64
+ *
65
+ * @param layouts - Array of layout definitions (defaults to DEFAULT_LAYOUTS)
66
+ * @param sidebar - Whether to position in the sidebar (default: true)
67
+ */
68
+ export declare function createPageLayoutField(layouts?: LayoutDefinition[], sidebar?: boolean): Field;
69
+ /**
70
+ * Pre-configured page layout field with DEFAULT_LAYOUTS.
71
+ * Use createPageLayoutField() for custom layouts.
72
+ */
73
+ export declare const pageLayoutField: Field;
74
+ /**
75
+ * Homepage flag field - marks a page as the site homepage.
76
+ */
77
+ export declare const isHomepageField: Field;
78
+ /**
79
+ * SEO/Meta field group with all metadata fields.
80
+ * Uses the official @payloadcms/plugin-seo convention: meta.title, meta.description
81
+ *
82
+ * Includes: title, description, image, noindex, nofollow, excludeFromSitemap
83
+ */
84
+ export declare const seoFieldGroup: Field;
85
+ /**
86
+ * Default conversion type options
87
+ */
88
+ export declare const DEFAULT_CONVERSION_TYPES: ConversionTypeOption[];
89
+ /**
90
+ * Creates a conversion tracking field group with custom options.
91
+ *
92
+ * @param conversionTypes - Custom conversion type options (defaults to DEFAULT_CONVERSION_TYPES)
93
+ * @param sidebar - Whether to position in the sidebar (default: true)
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * // Use default conversion types
98
+ * ...getPuckFields({ includeConversion: true })
99
+ *
100
+ * // Use custom conversion types
101
+ * ...getPuckFields({
102
+ * includeConversion: true,
103
+ * conversionTypeOptions: [
104
+ * { label: 'Registration', value: 'registration' },
105
+ * { label: 'Donation', value: 'donation' },
106
+ * { label: 'Course Start', value: 'course_start' },
107
+ * { label: 'Custom', value: 'custom' },
108
+ * ],
109
+ * })
110
+ * ```
111
+ */
112
+ export declare function createConversionFieldGroup(conversionTypes?: ConversionTypeOption[], sidebar?: boolean): Field;
113
+ /**
114
+ * Pre-configured conversion tracking field group with default options.
115
+ * Use createConversionFieldGroup() for custom conversion types.
116
+ */
117
+ export declare const conversionFieldGroup: Field;
118
+ /**
119
+ * Returns an array of Puck-related field definitions for hybrid collection integration.
120
+ *
121
+ * Use this when you have an existing collection with legacy Payload blocks and want
122
+ * to ADD Puck support without replacing your entire collection configuration.
123
+ *
124
+ * @param options - Configuration options for which fields to include
125
+ * @returns Array of Field definitions to spread into your collection's fields array
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * import { getPuckFields } from '@delmaredigital/payload-puck'
130
+ *
131
+ * export const Pages: CollectionConfig = {
132
+ * slug: 'pages',
133
+ * fields: [
134
+ * // Your existing fields
135
+ * { name: 'title', type: 'text', required: true },
136
+ * { name: 'slug', type: 'text', required: true },
137
+ *
138
+ * // Legacy Payload blocks (keep these!)
139
+ * { name: 'layout', type: 'blocks', blocks: [...] },
140
+ *
141
+ * // Add Puck fields for hybrid editing
142
+ * ...getPuckFields({
143
+ * includeSEO: false, // You have your own SEO fields
144
+ * includeConversion: true, // Include conversion tracking
145
+ * includeEditorVersion: true,
146
+ * }),
147
+ * ],
148
+ * }
149
+ * ```
150
+ */
151
+ export declare function getPuckFields(options?: GetPuckFieldsOptions): Field[];
152
+ export type { GetPuckFieldsOptions, ConversionTypeOption } from './types';
153
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAQ3D;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAO3B,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,GAAE,QAAQ,GAAG,MAAe,EACxC,OAAO,GAAE,OAAc,EACvB,qBAAqB,GAAE,MAAiB,GACvC,KAAK,CA6CP;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAA8C,CAAA;AAE/E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,gBAAgB,EAAoB,EAC7C,OAAO,GAAE,OAAc,GACtB,KAAK,CAYP;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAA+B,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAQ7B,CAAA;AAMD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,KA6D3B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,oBAAoB,EAQ1D,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,GAAE,oBAAoB,EAA6B,EAClE,OAAO,GAAE,OAAc,GACtB,KAAK,CA0CP;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAoC,CAAA;AAMvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,KAAK,EAAE,CA8CzE;AAGD,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,364 @@
1
+ /**
2
+ * Puck Field Utilities
3
+ *
4
+ * Provides reusable field definitions for adding Puck support to existing collections.
5
+ * Use getPuckFields() for easy integration, or import individual fields for granular control.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Option 1: Use getPuckFields() for recommended defaults
10
+ * import { getPuckFields } from '@delmaredigital/payload-puck'
11
+ *
12
+ * const Pages: CollectionConfig = {
13
+ * slug: 'pages',
14
+ * fields: [
15
+ * // Your existing fields...
16
+ * ...getPuckFields({ includeSEO: false }),
17
+ * ],
18
+ * }
19
+ *
20
+ * // Option 2: Import individual fields
21
+ * import { puckDataField, editorVersionField } from '@delmaredigital/payload-puck'
22
+ *
23
+ * const Pages: CollectionConfig = {
24
+ * slug: 'pages',
25
+ * fields: [
26
+ * // Your existing fields...
27
+ * puckDataField,
28
+ * editorVersionField,
29
+ * ],
30
+ * }
31
+ * ```
32
+ */
33
+ import { DEFAULT_LAYOUTS } from '../../layouts/defaults';
34
+ import { layoutsToPayloadOptions } from '../../layouts/utils';
35
+ // =============================================================================
36
+ // Core Fields
37
+ // =============================================================================
38
+ /**
39
+ * Puck data field - stores the visual editor JSON data.
40
+ * This field is always hidden in the admin UI as it's managed via the visual editor.
41
+ */
42
+ export const puckDataField = {
43
+ name: 'puckData',
44
+ type: 'json',
45
+ admin: {
46
+ hidden: true,
47
+ description: 'Puck editor data - managed via visual editor',
48
+ },
49
+ };
50
+ /**
51
+ * Creates an editor version field with smart detection for hybrid setups.
52
+ *
53
+ * The field uses a beforeValidate hook to intelligently determine the editor version:
54
+ * - New pages: Default to 'puck' (or custom defaultValue)
55
+ * - Existing pages with legacy blocks but no puckData: Set to 'legacy'
56
+ * - Existing pages with puckData: Set to 'puck'
57
+ *
58
+ * This prevents existing legacy content from being incorrectly marked as 'puck'
59
+ * when the field is first added to a collection.
60
+ *
61
+ * @param defaultValue - The default editor version for NEW pages ('puck' or 'legacy')
62
+ * @param sidebar - Whether to position in the sidebar (default: true)
63
+ * @param legacyBlocksFieldName - Name of the legacy blocks field to check (default: 'layout')
64
+ */
65
+ export function createEditorVersionField(defaultValue = 'puck', sidebar = true, legacyBlocksFieldName = 'layout') {
66
+ return {
67
+ name: 'editorVersion',
68
+ type: 'select',
69
+ // NO defaultValue here - we use the hook to intelligently detect the value
70
+ // This prevents migrations from blindly setting 'puck' on legacy pages
71
+ options: [
72
+ { label: 'Legacy (Payload Blocks)', value: 'legacy' },
73
+ { label: 'Puck Visual Editor', value: 'puck' },
74
+ ],
75
+ admin: {
76
+ position: sidebar ? 'sidebar' : undefined,
77
+ description: 'Which editor was used to create this page',
78
+ },
79
+ hooks: {
80
+ beforeValidate: [
81
+ ({ value, data, operation }) => {
82
+ // If value is explicitly set (and not null/undefined), keep it
83
+ if (value)
84
+ return value;
85
+ // Detect based on content - works for both new and existing documents
86
+ const legacyBlocks = data?.[legacyBlocksFieldName];
87
+ const hasLegacyBlocks = Array.isArray(legacyBlocks) && legacyBlocks.length > 0;
88
+ const puckData = data?.puckData;
89
+ const hasPuckData = puckData?.content && Array.isArray(puckData.content) && puckData.content.length > 0;
90
+ // If has legacy blocks but no puck data, it's a legacy page
91
+ if (hasLegacyBlocks && !hasPuckData) {
92
+ return 'legacy';
93
+ }
94
+ // If has puck data, it's a puck page
95
+ if (hasPuckData) {
96
+ return 'puck';
97
+ }
98
+ // For new documents with no content yet, use configured default
99
+ // For existing documents with no content, also use default
100
+ return defaultValue;
101
+ },
102
+ ],
103
+ },
104
+ };
105
+ }
106
+ /**
107
+ * Pre-configured editor version field with 'puck' as default.
108
+ * Use createEditorVersionField() for custom configuration.
109
+ */
110
+ export const editorVersionField = createEditorVersionField('puck', true);
111
+ /**
112
+ * Creates a page layout field with custom layouts.
113
+ *
114
+ * @param layouts - Array of layout definitions (defaults to DEFAULT_LAYOUTS)
115
+ * @param sidebar - Whether to position in the sidebar (default: true)
116
+ */
117
+ export function createPageLayoutField(layouts = DEFAULT_LAYOUTS, sidebar = true) {
118
+ return {
119
+ name: 'pageLayout',
120
+ type: 'select',
121
+ required: true,
122
+ defaultValue: 'default',
123
+ options: layoutsToPayloadOptions(layouts),
124
+ admin: {
125
+ position: sidebar ? 'sidebar' : undefined,
126
+ description: 'Overall page structure and layout style',
127
+ },
128
+ };
129
+ }
130
+ /**
131
+ * Pre-configured page layout field with DEFAULT_LAYOUTS.
132
+ * Use createPageLayoutField() for custom layouts.
133
+ */
134
+ export const pageLayoutField = createPageLayoutField();
135
+ /**
136
+ * Homepage flag field - marks a page as the site homepage.
137
+ */
138
+ export const isHomepageField = {
139
+ name: 'isHomepage',
140
+ type: 'checkbox',
141
+ defaultValue: false,
142
+ admin: {
143
+ position: 'sidebar',
144
+ description: 'Mark this page as the homepage',
145
+ },
146
+ };
147
+ // =============================================================================
148
+ // Field Groups
149
+ // =============================================================================
150
+ /**
151
+ * SEO/Meta field group with all metadata fields.
152
+ * Uses the official @payloadcms/plugin-seo convention: meta.title, meta.description
153
+ *
154
+ * Includes: title, description, image, noindex, nofollow, excludeFromSitemap
155
+ */
156
+ export const seoFieldGroup = {
157
+ name: 'meta',
158
+ type: 'group',
159
+ label: 'SEO',
160
+ admin: {
161
+ position: 'sidebar',
162
+ },
163
+ fields: [
164
+ {
165
+ name: 'title',
166
+ type: 'text',
167
+ label: 'Meta Title',
168
+ admin: {
169
+ description: 'Override the page title for search engines',
170
+ },
171
+ },
172
+ {
173
+ name: 'description',
174
+ type: 'textarea',
175
+ label: 'Meta Description',
176
+ admin: {
177
+ description: 'Description shown in search engine results',
178
+ },
179
+ },
180
+ {
181
+ name: 'image',
182
+ type: 'upload',
183
+ relationTo: 'media',
184
+ label: 'Open Graph Image',
185
+ admin: {
186
+ description: 'Image shown when sharing on social media',
187
+ },
188
+ },
189
+ {
190
+ name: 'noindex',
191
+ type: 'checkbox',
192
+ label: 'No Index',
193
+ defaultValue: false,
194
+ admin: {
195
+ description: 'Prevent search engines from indexing this page',
196
+ },
197
+ },
198
+ {
199
+ name: 'nofollow',
200
+ type: 'checkbox',
201
+ label: 'No Follow',
202
+ defaultValue: false,
203
+ admin: {
204
+ description: 'Prevent search engines from following links on this page',
205
+ },
206
+ },
207
+ {
208
+ name: 'excludeFromSitemap',
209
+ type: 'checkbox',
210
+ label: 'Exclude from Sitemap',
211
+ defaultValue: false,
212
+ admin: {
213
+ description: 'Exclude this page from the XML sitemap',
214
+ },
215
+ },
216
+ ],
217
+ };
218
+ /**
219
+ * Default conversion type options
220
+ */
221
+ export const DEFAULT_CONVERSION_TYPES = [
222
+ { label: 'Lead', value: 'lead' },
223
+ { label: 'Registration', value: 'registration' },
224
+ { label: 'Purchase', value: 'purchase' },
225
+ { label: 'Donation', value: 'donation' },
226
+ { label: 'Newsletter Signup', value: 'newsletter' },
227
+ { label: 'Contact Form', value: 'contact' },
228
+ { label: 'Custom', value: 'custom' },
229
+ ];
230
+ /**
231
+ * Creates a conversion tracking field group with custom options.
232
+ *
233
+ * @param conversionTypes - Custom conversion type options (defaults to DEFAULT_CONVERSION_TYPES)
234
+ * @param sidebar - Whether to position in the sidebar (default: true)
235
+ *
236
+ * @example
237
+ * ```typescript
238
+ * // Use default conversion types
239
+ * ...getPuckFields({ includeConversion: true })
240
+ *
241
+ * // Use custom conversion types
242
+ * ...getPuckFields({
243
+ * includeConversion: true,
244
+ * conversionTypeOptions: [
245
+ * { label: 'Registration', value: 'registration' },
246
+ * { label: 'Donation', value: 'donation' },
247
+ * { label: 'Course Start', value: 'course_start' },
248
+ * { label: 'Custom', value: 'custom' },
249
+ * ],
250
+ * })
251
+ * ```
252
+ */
253
+ export function createConversionFieldGroup(conversionTypes = DEFAULT_CONVERSION_TYPES, sidebar = true) {
254
+ return {
255
+ name: 'conversionTracking',
256
+ type: 'group',
257
+ label: 'Conversion Tracking',
258
+ admin: {
259
+ position: sidebar ? 'sidebar' : undefined,
260
+ description: 'Configure conversion tracking for analytics',
261
+ },
262
+ fields: [
263
+ {
264
+ name: 'isConversionPage',
265
+ type: 'checkbox',
266
+ label: 'Is Conversion Page',
267
+ defaultValue: false,
268
+ admin: {
269
+ description: 'Check this if this page represents a completed conversion (e.g., thank you page)',
270
+ },
271
+ },
272
+ {
273
+ name: 'conversionType',
274
+ type: 'select',
275
+ label: 'Conversion Type',
276
+ options: conversionTypes,
277
+ admin: {
278
+ description: 'Type of conversion this page represents',
279
+ condition: (data, siblingData) => siblingData?.isConversionPage === true,
280
+ },
281
+ },
282
+ {
283
+ name: 'conversionValue',
284
+ type: 'number',
285
+ label: 'Conversion Value',
286
+ defaultValue: 0,
287
+ admin: {
288
+ description: 'Monetary value of this conversion (0 for non-monetary conversions)',
289
+ condition: (data, siblingData) => siblingData?.isConversionPage === true,
290
+ },
291
+ },
292
+ ],
293
+ };
294
+ }
295
+ /**
296
+ * Pre-configured conversion tracking field group with default options.
297
+ * Use createConversionFieldGroup() for custom conversion types.
298
+ */
299
+ export const conversionFieldGroup = createConversionFieldGroup();
300
+ // =============================================================================
301
+ // Main Utility Function
302
+ // =============================================================================
303
+ /**
304
+ * Returns an array of Puck-related field definitions for hybrid collection integration.
305
+ *
306
+ * Use this when you have an existing collection with legacy Payload blocks and want
307
+ * to ADD Puck support without replacing your entire collection configuration.
308
+ *
309
+ * @param options - Configuration options for which fields to include
310
+ * @returns Array of Field definitions to spread into your collection's fields array
311
+ *
312
+ * @example
313
+ * ```typescript
314
+ * import { getPuckFields } from '@delmaredigital/payload-puck'
315
+ *
316
+ * export const Pages: CollectionConfig = {
317
+ * slug: 'pages',
318
+ * fields: [
319
+ * // Your existing fields
320
+ * { name: 'title', type: 'text', required: true },
321
+ * { name: 'slug', type: 'text', required: true },
322
+ *
323
+ * // Legacy Payload blocks (keep these!)
324
+ * { name: 'layout', type: 'blocks', blocks: [...] },
325
+ *
326
+ * // Add Puck fields for hybrid editing
327
+ * ...getPuckFields({
328
+ * includeSEO: false, // You have your own SEO fields
329
+ * includeConversion: true, // Include conversion tracking
330
+ * includeEditorVersion: true,
331
+ * }),
332
+ * ],
333
+ * }
334
+ * ```
335
+ */
336
+ export function getPuckFields(options = {}) {
337
+ const { includeSEO = true, includeConversion = false, includeEditorVersion = true, includePageLayout = true, includeIsHomepage = false, layouts = DEFAULT_LAYOUTS, defaultEditorVersion = 'puck', legacyBlocksFieldName = 'layout', sidebarPosition = true, conversionTypeOptions, } = options;
338
+ const fields = [];
339
+ // Core puckData field (always included - this is essential for Puck)
340
+ fields.push(puckDataField);
341
+ // Editor version field (discriminator for hybrid rendering)
342
+ // Uses smart detection to preserve legacy pages when field is first added
343
+ if (includeEditorVersion) {
344
+ fields.push(createEditorVersionField(defaultEditorVersion, sidebarPosition, legacyBlocksFieldName));
345
+ }
346
+ // Page layout field
347
+ if (includePageLayout) {
348
+ fields.push(createPageLayoutField(layouts, sidebarPosition));
349
+ }
350
+ // Homepage flag
351
+ if (includeIsHomepage) {
352
+ fields.push(isHomepageField);
353
+ }
354
+ // SEO group
355
+ if (includeSEO) {
356
+ fields.push(seoFieldGroup);
357
+ }
358
+ // Conversion tracking group (with optional custom conversion types)
359
+ if (includeConversion) {
360
+ fields.push(createConversionFieldGroup(conversionTypeOptions, sidebarPosition));
361
+ }
362
+ return fields;
363
+ }
364
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/fields/index.ts"],"names":[],"mappings":"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"}