@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,149 @@
1
+ 'use client';
2
+ /**
3
+ * useResponsiveStyles - Runtime breakpoint detection for responsive values
4
+ *
5
+ * Returns the appropriate value for the current viewport width.
6
+ * Enables live preview in the Puck editor when resizing.
7
+ */
8
+ import { useState, useEffect, useCallback } from 'react';
9
+ import { BREAKPOINTS, isResponsiveValue } from '../fields/shared';
10
+ // =============================================================================
11
+ // Helper Functions
12
+ // =============================================================================
13
+ /**
14
+ * Gets the current breakpoint based on window width
15
+ */
16
+ function getCurrentBreakpoint() {
17
+ if (typeof window === 'undefined')
18
+ return 'xs';
19
+ const width = window.innerWidth;
20
+ // Check breakpoints from largest to smallest
21
+ for (let i = BREAKPOINTS.length - 1; i >= 0; i--) {
22
+ const bp = BREAKPOINTS[i];
23
+ if (bp.minWidth !== null && width >= bp.minWidth) {
24
+ return bp.key;
25
+ }
26
+ }
27
+ return 'xs';
28
+ }
29
+ /**
30
+ * Gets the effective value for a breakpoint with mobile-first cascade
31
+ * Falls back through smaller breakpoints to xs base
32
+ */
33
+ function getValueForBreakpoint(value, breakpoint) {
34
+ // For xs, return xs value directly (it's required)
35
+ if (breakpoint === 'xs') {
36
+ return value.xs;
37
+ }
38
+ // Check if this breakpoint has an explicit value
39
+ const explicitValue = value[breakpoint];
40
+ if (explicitValue !== undefined) {
41
+ return explicitValue;
42
+ }
43
+ // Cascade down to find the nearest defined value (mobile-first)
44
+ const breakpointOrder = ['xl', 'lg', 'md', 'sm', 'xs'];
45
+ const currentIndex = breakpointOrder.indexOf(breakpoint);
46
+ for (let i = currentIndex + 1; i < breakpointOrder.length; i++) {
47
+ const bp = breakpointOrder[i];
48
+ const bpValue = value[bp];
49
+ if (bpValue !== undefined) {
50
+ return bpValue;
51
+ }
52
+ }
53
+ // Fallback to xs base (always exists in valid ResponsiveValue)
54
+ return value.xs;
55
+ }
56
+ // =============================================================================
57
+ // Hook: useCurrentBreakpoint
58
+ // =============================================================================
59
+ /**
60
+ * Returns the current breakpoint based on window width.
61
+ * Updates when window is resized.
62
+ */
63
+ export function useCurrentBreakpoint(options = {}) {
64
+ const { listenToResize = true, debounceDelay = 100 } = options;
65
+ const [breakpoint, setBreakpoint] = useState(() => getCurrentBreakpoint());
66
+ useEffect(() => {
67
+ if (!listenToResize || typeof window === 'undefined')
68
+ return;
69
+ let timeoutId = null;
70
+ const handleResize = () => {
71
+ if (timeoutId)
72
+ clearTimeout(timeoutId);
73
+ timeoutId = setTimeout(() => {
74
+ setBreakpoint(getCurrentBreakpoint());
75
+ }, debounceDelay);
76
+ };
77
+ window.addEventListener('resize', handleResize);
78
+ // Initial check
79
+ setBreakpoint(getCurrentBreakpoint());
80
+ return () => {
81
+ window.removeEventListener('resize', handleResize);
82
+ if (timeoutId)
83
+ clearTimeout(timeoutId);
84
+ };
85
+ }, [listenToResize, debounceDelay]);
86
+ return breakpoint;
87
+ }
88
+ // =============================================================================
89
+ // Hook: useResponsiveValue
90
+ // =============================================================================
91
+ /**
92
+ * Returns the appropriate value from a ResponsiveValue based on current viewport.
93
+ *
94
+ * @param value - The responsive or non-responsive value
95
+ * @param defaultValue - Default value if null/undefined
96
+ * @param options - Configuration options
97
+ *
98
+ * @example
99
+ * ```tsx
100
+ * function MyComponent({ padding }: { padding: ResponsiveValue<PaddingValue> | PaddingValue | null }) {
101
+ * const effectivePadding = useResponsiveValue(padding, DEFAULT_PADDING)
102
+ * // effectivePadding will be the appropriate value for current viewport
103
+ * }
104
+ * ```
105
+ */
106
+ export function useResponsiveValue(value, defaultValue, options = {}) {
107
+ const currentBreakpoint = useCurrentBreakpoint(options);
108
+ return useCallback(() => {
109
+ // Handle null/undefined
110
+ if (value === null || value === undefined) {
111
+ return defaultValue;
112
+ }
113
+ // If not a responsive value, return as-is
114
+ if (!isResponsiveValue(value)) {
115
+ return value;
116
+ }
117
+ // Get value for current breakpoint with mobile-first cascade
118
+ return getValueForBreakpoint(value, currentBreakpoint);
119
+ }, [value, defaultValue, currentBreakpoint])();
120
+ }
121
+ // =============================================================================
122
+ // Hook: useResponsiveStyles (Main Export)
123
+ // =============================================================================
124
+ /**
125
+ * Converts a responsive value to CSS properties for the current viewport.
126
+ * Useful for applying styles dynamically in the editor.
127
+ *
128
+ * @param value - The responsive or non-responsive value
129
+ * @param converter - Function to convert value to CSS properties
130
+ * @param defaultValue - Default value if null/undefined
131
+ * @param options - Configuration options
132
+ *
133
+ * @example
134
+ * ```tsx
135
+ * function MyComponent({ dimensions }: Props) {
136
+ * const styles = useResponsiveStyles(
137
+ * dimensions,
138
+ * dimensionsValueToCSS,
139
+ * DEFAULT_DIMENSIONS
140
+ * )
141
+ * return <div style={styles}>...</div>
142
+ * }
143
+ * ```
144
+ */
145
+ export function useResponsiveStyles(value, converter, defaultValue, options = {}) {
146
+ const effectiveValue = useResponsiveValue(value, defaultValue, options);
147
+ return converter(effectiveValue) || {};
148
+ }
149
+ //# sourceMappingURL=useResponsiveStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResponsiveStyles.js","sourceRoot":"","sources":["../../src/hooks/useResponsiveStyles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ export interface UseScrollAnimationOptions {
2
+ /**
3
+ * Whether to trigger animation on scroll into view.
4
+ * If false, isInView will always be true.
5
+ * @default true
6
+ */
7
+ triggerOnScroll?: boolean;
8
+ /**
9
+ * Threshold for intersection (0-1).
10
+ * 0 = trigger as soon as any pixel is visible.
11
+ * 1 = trigger only when fully visible.
12
+ * @default 0.1
13
+ */
14
+ threshold?: number;
15
+ /**
16
+ * Whether to only trigger once.
17
+ * If true, hasAnimated will stay true after first trigger.
18
+ * @default true
19
+ */
20
+ once?: boolean;
21
+ /**
22
+ * Root margin for intersection observer.
23
+ * Allows triggering before/after the element enters the viewport.
24
+ * @example "-50px" // Trigger 50px before entering viewport
25
+ * @example "100px 0px" // 100px top/bottom, 0px left/right
26
+ * @default "0px"
27
+ */
28
+ rootMargin?: string;
29
+ /**
30
+ * Delay in milliseconds before setting isInView to true.
31
+ * Useful for staggering animations.
32
+ * @default 0
33
+ */
34
+ delay?: number;
35
+ }
36
+ export interface UseScrollAnimationResult<T extends HTMLElement = HTMLElement> {
37
+ /**
38
+ * Ref to attach to the element you want to observe
39
+ */
40
+ ref: React.RefObject<T | null>;
41
+ /**
42
+ * Whether the element is currently in view
43
+ */
44
+ isInView: boolean;
45
+ /**
46
+ * Whether the element has ever been in view
47
+ * (useful for once-only animations)
48
+ */
49
+ hasAnimated: boolean;
50
+ /**
51
+ * Manually reset the animation state
52
+ */
53
+ reset: () => void;
54
+ }
55
+ export declare function useScrollAnimation<T extends HTMLElement = HTMLElement>(options?: UseScrollAnimationOptions): UseScrollAnimationResult<T>;
56
+ //# sourceMappingURL=useScrollAnimation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollAnimation.d.ts","sourceRoot":"","sources":["../../src/hooks/useScrollAnimation.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC3E;;OAEG;IACH,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAE9B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IAEjB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAMD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EACpE,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CAAC,CAAC,CAAC,CAwH7B"}
@@ -0,0 +1,116 @@
1
+ 'use client';
2
+ /**
3
+ * useScrollAnimation - Hook for scroll-triggered animations
4
+ *
5
+ * Uses IntersectionObserver to detect when an element enters the viewport.
6
+ * Perfect for triggering entrance animations, lazy loading, or scroll-based effects.
7
+ */
8
+ import { useRef, useState, useEffect, useCallback } from 'react';
9
+ // =============================================================================
10
+ // Hook Implementation
11
+ // =============================================================================
12
+ export function useScrollAnimation(options = {}) {
13
+ const { triggerOnScroll = true, threshold = 0.1, once = true, rootMargin = '0px', delay = 0, } = options;
14
+ const ref = useRef(null);
15
+ // Always start with isInView: false to allow initial → animate transition
16
+ const [isInView, setIsInView] = useState(false);
17
+ const [hasAnimated, setHasAnimated] = useState(false);
18
+ const timeoutRef = useRef(null);
19
+ const hasMountedRef = useRef(false);
20
+ // Reset function
21
+ const reset = useCallback(() => {
22
+ setIsInView(false);
23
+ setHasAnimated(false);
24
+ hasMountedRef.current = false;
25
+ if (timeoutRef.current) {
26
+ clearTimeout(timeoutRef.current);
27
+ timeoutRef.current = null;
28
+ }
29
+ }, []);
30
+ useEffect(() => {
31
+ // If not triggering on scroll, animate immediately after mount
32
+ // Use requestAnimationFrame to ensure the initial state is rendered first
33
+ if (!triggerOnScroll) {
34
+ // Skip if already mounted (prevents re-triggering on re-renders)
35
+ if (hasMountedRef.current)
36
+ return;
37
+ hasMountedRef.current = true;
38
+ // Use double RAF to ensure browser has painted initial state
39
+ requestAnimationFrame(() => {
40
+ requestAnimationFrame(() => {
41
+ if (delay > 0) {
42
+ timeoutRef.current = setTimeout(() => {
43
+ setIsInView(true);
44
+ setHasAnimated(true);
45
+ }, delay);
46
+ }
47
+ else {
48
+ setIsInView(true);
49
+ setHasAnimated(true);
50
+ }
51
+ });
52
+ });
53
+ return;
54
+ }
55
+ // If once mode and already animated, skip observer setup
56
+ if (once && hasAnimated) {
57
+ return;
58
+ }
59
+ const element = ref.current;
60
+ if (!element)
61
+ return;
62
+ // Check if IntersectionObserver is available (SSR safety)
63
+ if (typeof IntersectionObserver === 'undefined') {
64
+ setIsInView(true);
65
+ setHasAnimated(true);
66
+ return;
67
+ }
68
+ const observer = new IntersectionObserver((entries) => {
69
+ const [entry] = entries;
70
+ const inView = entry.isIntersecting;
71
+ if (inView) {
72
+ if (delay > 0) {
73
+ // Apply delay before setting isInView
74
+ timeoutRef.current = setTimeout(() => {
75
+ setIsInView(true);
76
+ setHasAnimated(true);
77
+ }, delay);
78
+ }
79
+ else {
80
+ setIsInView(true);
81
+ setHasAnimated(true);
82
+ }
83
+ // If once mode, disconnect observer after triggering
84
+ if (once) {
85
+ observer.disconnect();
86
+ }
87
+ }
88
+ else if (!once) {
89
+ // Only update isInView to false if not in once mode
90
+ if (timeoutRef.current) {
91
+ clearTimeout(timeoutRef.current);
92
+ timeoutRef.current = null;
93
+ }
94
+ setIsInView(false);
95
+ }
96
+ }, {
97
+ threshold,
98
+ rootMargin,
99
+ });
100
+ observer.observe(element);
101
+ return () => {
102
+ observer.disconnect();
103
+ if (timeoutRef.current) {
104
+ clearTimeout(timeoutRef.current);
105
+ timeoutRef.current = null;
106
+ }
107
+ };
108
+ }, [triggerOnScroll, threshold, once, rootMargin, delay, hasAnimated]);
109
+ return {
110
+ ref,
111
+ isInView,
112
+ hasAnimated,
113
+ reset,
114
+ };
115
+ }
116
+ //# sourceMappingURL=useScrollAnimation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollAnimation.js","sourceRoot":"","sources":["../../src/hooks/useScrollAnimation.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,66 @@
1
- export { j as ColorPickerFieldProps, C as ConversionType, E as EditorVersion, i as MediaFieldProps, M as MediaObject, b as MergeConfigOptions, g as PageConversionTracking, h as PageDocument, e as PageMeta, f as PageSEO, d as PuckAdminConfig, P as PuckPageData, c as PuckPluginOptions, a as PuckRootProps, S as SharedComponentProps, k as ThemeConfig, T as TiptapFieldProps } from './index-CoUQnyC3.js';
2
- export { GetPuckFieldsOptions, TemplatesCollection, conversionFieldGroup, createEditorVersionField, createPageLayoutField, createPuckPlugin, editorVersionField, generatePagesCollection, generatePuckEditField, getPuckFields, isHomepageField, pageLayoutField, puckDataField, seoFieldGroup } from './plugin/index.js';
3
- export { Config as PuckConfig, Data as PuckData } from '@measured/puck';
4
- import 'payload';
5
- import './types-D7D3rZ1J.js';
6
- import 'react';
1
+ /**
2
+ * @delmaredigital/payload-puck
3
+ *
4
+ * A portable PayloadCMS plugin for Puck visual page builder integration.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * // In payload.config.ts
9
+ * import { createPuckPlugin } from '@delmaredigital/payload-puck/plugin'
10
+ *
11
+ * export default buildConfig({
12
+ * plugins: [
13
+ * createPuckPlugin({
14
+ * pagesCollection: 'pages',
15
+ * }),
16
+ * ],
17
+ * })
18
+ * ```
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * // Using config for rendering
23
+ * import { baseConfig } from '@delmaredigital/payload-puck/config'
24
+ * import { PageRenderer } from '@delmaredigital/payload-puck/render'
25
+ *
26
+ * <PageRenderer data={page.puckData} config={baseConfig} />
27
+ * ```
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * // Merging custom components
32
+ * import { mergeConfigs, editorConfig } from '@delmaredigital/payload-puck/config/editor'
33
+ *
34
+ * const customConfig = mergeConfigs({
35
+ * base: editorConfig,
36
+ * components: {
37
+ * CustomHero: myHeroConfig,
38
+ * },
39
+ * categories: {
40
+ * custom: { title: 'Custom', components: ['CustomHero'] },
41
+ * },
42
+ * })
43
+ * ```
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * // Creating API routes
48
+ * // src/app/api/puck/pages/route.ts
49
+ * import { createPuckApiRoutes } from '@delmaredigital/payload-puck/api'
50
+ *
51
+ * export const { GET, POST } = createPuckApiRoutes({
52
+ * auth: {
53
+ * authenticate: async (request) => {
54
+ * const session = await getSession(request)
55
+ * if (!session?.user) return { authenticated: false }
56
+ * return { authenticated: true, user: session.user }
57
+ * },
58
+ * },
59
+ * })
60
+ * ```
61
+ */
62
+ export * from './types';
63
+ export { createPuckPlugin, generatePagesCollection, generatePuckEditField, TemplatesCollection, } from './plugin';
64
+ export { getPuckFields, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup, } from './plugin';
65
+ export type { GetPuckFieldsOptions } from './plugin/fields/types';
66
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAGH,cAAc,SAAS,CAAA;AAGvB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,UAAU,CAAA;AAGjB,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA"}