@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,254 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { memo, useCallback } from 'react';
4
+ import { createUsePuck } from '@measured/puck';
5
+ import { ArrowLeft, Save, ExternalLink, Loader2, Check, MousePointerClick, MousePointer, Upload, AlertTriangle, Eye, } from 'lucide-react';
6
+ import { VersionHistory } from './VersionHistory.js';
7
+ // Create usePuck hook for accessing editor state
8
+ const usePuck = createUsePuck();
9
+ // Shared styles
10
+ const styles = {
11
+ buttonBase: {
12
+ display: 'inline-flex',
13
+ alignItems: 'center',
14
+ whiteSpace: 'nowrap',
15
+ fontSize: '14px',
16
+ fontWeight: 500,
17
+ borderRadius: '6px',
18
+ transition: 'background-color 0.15s, border-color 0.15s',
19
+ cursor: 'pointer',
20
+ border: 'none',
21
+ },
22
+ buttonSecondary: {
23
+ padding: '6px 12px',
24
+ backgroundColor: 'var(--theme-bg)',
25
+ color: 'var(--theme-elevation-700)',
26
+ border: '1px solid var(--theme-elevation-200)',
27
+ },
28
+ buttonPrimary: {
29
+ padding: '6px 12px',
30
+ backgroundColor: 'var(--theme-elevation-900)',
31
+ color: 'var(--theme-bg)',
32
+ border: '1px solid var(--theme-elevation-900)',
33
+ },
34
+ buttonDisabled: {
35
+ opacity: 0.5,
36
+ cursor: 'not-allowed',
37
+ },
38
+ icon: {
39
+ width: '16px',
40
+ height: '16px',
41
+ marginRight: '4px',
42
+ flexShrink: 0,
43
+ },
44
+ iconSmall: {
45
+ width: '14px',
46
+ height: '14px',
47
+ },
48
+ badge: {
49
+ padding: '4px 10px',
50
+ borderRadius: '9999px',
51
+ fontSize: '12px',
52
+ fontWeight: 500,
53
+ whiteSpace: 'nowrap',
54
+ },
55
+ badgePublished: {
56
+ backgroundColor: 'var(--theme-success-100)',
57
+ color: 'var(--theme-success-700)',
58
+ border: '1px solid var(--theme-success-200)',
59
+ },
60
+ badgeUnpublished: {
61
+ backgroundColor: 'var(--theme-warning-100)',
62
+ color: 'var(--theme-warning-700)',
63
+ border: '1px solid var(--theme-warning-200)',
64
+ },
65
+ badgeDraft: {
66
+ backgroundColor: 'var(--theme-elevation-100)',
67
+ color: 'var(--theme-elevation-600)',
68
+ border: '1px solid var(--theme-elevation-200)',
69
+ },
70
+ statusText: {
71
+ fontSize: '12px',
72
+ color: 'var(--theme-elevation-500)',
73
+ display: 'flex',
74
+ alignItems: 'center',
75
+ gap: '4px',
76
+ whiteSpace: 'nowrap',
77
+ },
78
+ unsavedText: {
79
+ fontSize: '12px',
80
+ color: 'var(--theme-warning-600)',
81
+ fontWeight: 500,
82
+ whiteSpace: 'nowrap',
83
+ },
84
+ versionText: {
85
+ fontSize: '10px',
86
+ color: 'var(--theme-elevation-400)',
87
+ fontFamily: 'monospace',
88
+ },
89
+ errorButton: {
90
+ display: 'flex',
91
+ alignItems: 'center',
92
+ gap: '6px',
93
+ padding: '6px 10px',
94
+ backgroundColor: 'var(--theme-error-50)',
95
+ border: '1px solid var(--theme-error-200)',
96
+ borderRadius: '6px',
97
+ color: 'var(--theme-error-700)',
98
+ fontSize: '12px',
99
+ fontWeight: 500,
100
+ cursor: 'pointer',
101
+ },
102
+ modalOverlay: {
103
+ position: 'fixed',
104
+ inset: 0,
105
+ zIndex: 9999,
106
+ display: 'flex',
107
+ alignItems: 'center',
108
+ justifyContent: 'center',
109
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
110
+ },
111
+ modalContainer: {
112
+ backgroundColor: 'var(--theme-bg)',
113
+ borderRadius: '8px',
114
+ boxShadow: '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
115
+ maxWidth: '448px',
116
+ width: '100%',
117
+ margin: '0 16px',
118
+ overflow: 'hidden',
119
+ },
120
+ modalHeader: {
121
+ display: 'flex',
122
+ alignItems: 'center',
123
+ gap: '12px',
124
+ padding: '16px 20px',
125
+ borderBottom: '1px solid var(--theme-elevation-150)',
126
+ backgroundColor: 'var(--theme-error-50)',
127
+ },
128
+ modalIconWrapper: {
129
+ flexShrink: 0,
130
+ width: '40px',
131
+ height: '40px',
132
+ borderRadius: '50%',
133
+ backgroundColor: 'var(--theme-error-100)',
134
+ display: 'flex',
135
+ alignItems: 'center',
136
+ justifyContent: 'center',
137
+ },
138
+ modalTitle: {
139
+ fontSize: '16px',
140
+ fontWeight: 600,
141
+ color: 'var(--theme-elevation-900)',
142
+ margin: 0,
143
+ },
144
+ modalSubtitle: {
145
+ fontSize: '14px',
146
+ color: 'var(--theme-elevation-500)',
147
+ margin: 0,
148
+ },
149
+ modalBody: {
150
+ padding: '16px 20px',
151
+ },
152
+ modalBodyText: {
153
+ fontSize: '14px',
154
+ color: 'var(--theme-elevation-700)',
155
+ margin: 0,
156
+ },
157
+ modalFooter: {
158
+ padding: '16px 20px',
159
+ backgroundColor: 'var(--theme-elevation-50)',
160
+ borderTop: '1px solid var(--theme-elevation-150)',
161
+ display: 'flex',
162
+ justifyContent: 'flex-end',
163
+ },
164
+ toggleContainer: {
165
+ display: 'flex',
166
+ gap: '4px',
167
+ },
168
+ toggleButton: {
169
+ display: 'inline-flex',
170
+ alignItems: 'center',
171
+ gap: '4px',
172
+ fontSize: '12px',
173
+ fontWeight: 500,
174
+ borderRadius: '4px',
175
+ transition: 'background-color 0.15s',
176
+ padding: '6px 10px',
177
+ cursor: 'pointer',
178
+ },
179
+ toggleActive: {
180
+ backgroundColor: 'var(--theme-elevation-900)',
181
+ color: 'var(--theme-bg)',
182
+ border: '1px solid var(--theme-elevation-900)',
183
+ },
184
+ toggleInactive: {
185
+ backgroundColor: 'var(--theme-elevation-100)',
186
+ color: 'var(--theme-elevation-500)',
187
+ border: '1px solid var(--theme-elevation-200)',
188
+ },
189
+ };
190
+ /**
191
+ * Custom header actions component for the Puck editor
192
+ *
193
+ * Provides standard actions: Back, Edit/Interactive toggle, View Page, Save Draft
194
+ * Also displays save status and last saved time.
195
+ */
196
+ export const HeaderActions = memo(function HeaderActions({ children, onBack, onPreview, onSave, onPublish, isSaving, hasUnsavedChanges, lastSaved, documentStatus, wasPublished, actionsStart, actionsEnd, showSaveDraft = true, showViewPage = true, showInteractiveToggle = false, showPreviewButton = true, onOpenPreview, showVersionHistory = true, pageId, apiEndpoint = '/api/puck/pages', saveError, onDismissError, }) {
197
+ const appState = usePuck((s) => s.appState);
198
+ const dispatch = usePuck((s) => s.dispatch);
199
+ const isInteractive = appState.ui.previewMode === 'interactive';
200
+ const togglePreviewMode = useCallback(() => {
201
+ dispatch({
202
+ type: 'setUi',
203
+ ui: {
204
+ previewMode: isInteractive ? 'edit' : 'interactive',
205
+ },
206
+ });
207
+ }, [dispatch, isInteractive]);
208
+ const handleSaveClick = useCallback(() => {
209
+ onSave(appState.data);
210
+ }, [onSave, appState.data]);
211
+ const handlePublishClick = useCallback(() => {
212
+ if (onPublish) {
213
+ onPublish(appState.data);
214
+ }
215
+ }, [onPublish, appState.data]);
216
+ return (_jsxs(_Fragment, { children: [actionsStart, _jsxs("button", { type: "button", onClick: onBack, style: { ...styles.buttonBase, ...styles.buttonSecondary }, children: [_jsx(ArrowLeft, { style: styles.icon }), "Back"] }), _jsx("span", { style: styles.versionText, children: "v0.3.0" }), documentStatus && (() => {
217
+ const isPublished = documentStatus === 'published';
218
+ const hasUnpublishedChanges = documentStatus === 'draft' && wasPublished;
219
+ let badgeLabel;
220
+ let badgeStyle;
221
+ if (isPublished) {
222
+ badgeLabel = 'Published';
223
+ badgeStyle = { ...styles.badge, ...styles.badgePublished };
224
+ }
225
+ else if (hasUnpublishedChanges) {
226
+ badgeLabel = 'Unpublished Changes';
227
+ badgeStyle = { ...styles.badge, ...styles.badgeUnpublished };
228
+ }
229
+ else {
230
+ badgeLabel = 'Draft';
231
+ badgeStyle = { ...styles.badge, ...styles.badgeDraft };
232
+ }
233
+ return _jsx("span", { style: badgeStyle, children: badgeLabel });
234
+ })(), showInteractiveToggle && (_jsxs("div", { style: styles.toggleContainer, children: [_jsxs("button", { type: "button", onClick: () => isInteractive && togglePreviewMode(), style: {
235
+ ...styles.toggleButton,
236
+ ...(!isInteractive ? styles.toggleActive : styles.toggleInactive),
237
+ }, children: [_jsx(MousePointer, { style: styles.iconSmall }), "Edit"] }), _jsxs("button", { type: "button", onClick: () => !isInteractive && togglePreviewMode(), style: {
238
+ ...styles.toggleButton,
239
+ ...(isInteractive ? styles.toggleActive : styles.toggleInactive),
240
+ }, children: [_jsx(MousePointerClick, { style: styles.iconSmall }), "Interactive"] })] })), lastSaved && !saveError && (_jsxs("span", { style: styles.statusText, children: [_jsx(Check, { style: { width: '12px', height: '12px', flexShrink: 0 } }), "Saved ", lastSaved.toLocaleTimeString()] })), hasUnsavedChanges && !saveError && (_jsx("span", { style: styles.unsavedText, children: "Unsaved" })), saveError && (_jsxs("button", { type: "button", onClick: () => { }, style: styles.errorButton, children: [_jsx(AlertTriangle, { style: { width: '16px', height: '16px', color: 'var(--theme-error-500)', flexShrink: 0 } }), "Error"] })), saveError && (_jsx("div", { style: styles.modalOverlay, onClick: onDismissError, children: _jsxs("div", { style: styles.modalContainer, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { style: styles.modalHeader, children: [_jsx("div", { style: styles.modalIconWrapper, children: _jsx(AlertTriangle, { style: { width: '20px', height: '20px', color: 'var(--theme-error-600)' } }) }), _jsxs("div", { children: [_jsx("h3", { style: styles.modalTitle, children: "Save Failed" }), _jsx("p", { style: styles.modalSubtitle, children: "Unable to save your changes" })] })] }), _jsx("div", { style: styles.modalBody, children: _jsx("p", { style: styles.modalBodyText, children: saveError }) }), _jsx("div", { style: styles.modalFooter, children: _jsx("button", { type: "button", onClick: onDismissError, style: { ...styles.buttonBase, ...styles.buttonPrimary }, children: "Close" }) })] }) })), showPreviewButton && onOpenPreview && (_jsxs("button", { type: "button", onClick: onOpenPreview, disabled: isSaving, style: {
241
+ ...styles.buttonBase,
242
+ ...styles.buttonPrimary,
243
+ ...(isSaving ? styles.buttonDisabled : {}),
244
+ }, children: [_jsx(Eye, { style: styles.icon }), "Preview"] })), showViewPage && (_jsxs("button", { type: "button", onClick: onPreview, style: { ...styles.buttonBase, ...styles.buttonSecondary }, children: [_jsx(ExternalLink, { style: styles.icon }), "View"] })), showVersionHistory && pageId && (_jsx(VersionHistory, { pageId: pageId, apiEndpoint: apiEndpoint, disabled: isSaving })), showSaveDraft && (_jsxs("button", { type: "button", onClick: handleSaveClick, disabled: isSaving || !hasUnsavedChanges, style: {
245
+ ...styles.buttonBase,
246
+ ...styles.buttonSecondary,
247
+ ...((isSaving || !hasUnsavedChanges) ? styles.buttonDisabled : {}),
248
+ }, children: [isSaving ? (_jsx(Loader2, { style: { ...styles.icon, animation: 'spin 1s linear infinite' } })) : (_jsx(Save, { style: styles.icon })), "Save"] })), onPublish && (_jsxs("button", { type: "button", onClick: handlePublishClick, disabled: isSaving, style: {
249
+ ...styles.buttonBase,
250
+ ...styles.buttonPrimary,
251
+ ...(isSaving ? styles.buttonDisabled : {}),
252
+ }, children: [isSaving ? (_jsx(Loader2, { style: { ...styles.icon, animation: 'spin 1s linear infinite' } })) : (_jsx(Upload, { style: styles.icon })), "Publish"] })), actionsEnd, !onPublish && children] }));
253
+ });
254
+ //# sourceMappingURL=HeaderActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderActions.js","sourceRoot":"","sources":["../../../src/editor/components/HeaderActions.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { type ReactNode, type ComponentType } from 'react';
2
+ import type { LayoutDefinition } from '../../layouts';
3
+ /**
4
+ * Layout style configuration for theme-aware preview
5
+ * @deprecated Use LayoutDefinition with editorBackground and editorDarkMode instead
6
+ */
7
+ export interface LayoutStyle {
8
+ /**
9
+ * CSS background value (color, gradient, etc.)
10
+ */
11
+ background: string;
12
+ /**
13
+ * Whether this layout uses dark mode styling
14
+ */
15
+ isDark: boolean;
16
+ /**
17
+ * Header component to render above the page content in the editor preview
18
+ */
19
+ header?: ComponentType;
20
+ /**
21
+ * Footer component to render below the page content in the editor preview
22
+ */
23
+ footer?: ComponentType;
24
+ }
25
+ export interface IframeWrapperProps {
26
+ children: ReactNode;
27
+ /**
28
+ * The iframe document to apply styles to
29
+ */
30
+ document?: Document;
31
+ /**
32
+ * Layout definitions - the primary way to configure layouts.
33
+ * Reads header, footer, editorBackground, and editorDarkMode from each layout.
34
+ */
35
+ layouts?: LayoutDefinition[];
36
+ /**
37
+ * Layout style configurations keyed by layout value
38
+ * @deprecated Use `layouts` prop instead
39
+ */
40
+ layoutStyles?: Record<string, LayoutStyle>;
41
+ /**
42
+ * Key in root.props to read layout value from
43
+ * @default 'pageLayout'
44
+ */
45
+ layoutKey?: string;
46
+ /**
47
+ * Default layout to use if none specified
48
+ * @default 'default'
49
+ */
50
+ defaultLayout?: string;
51
+ }
52
+ /**
53
+ * Theme-aware iframe wrapper component
54
+ *
55
+ * Uses usePuck to read the pageLayout from root.props and applies
56
+ * appropriate background and theme class to the preview iframe.
57
+ *
58
+ * @example
59
+ * ```tsx
60
+ * // Using layouts (recommended)
61
+ * const overrides = {
62
+ * iframe: ({ children, document }) => (
63
+ * <IframeWrapper
64
+ * document={document}
65
+ * layouts={[
66
+ * { value: 'default', label: 'Default', header: Header, footer: Footer },
67
+ * { value: 'landing', label: 'Landing', editorBackground: '#f8fafc' },
68
+ * ]}
69
+ * >
70
+ * {children}
71
+ * </IframeWrapper>
72
+ * ),
73
+ * }
74
+ * ```
75
+ */
76
+ export declare const IframeWrapper: import("react").NamedExoticComponent<IframeWrapperProps>;
77
+ //# sourceMappingURL=IframeWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IframeWrapper.d.ts","sourceRoot":"","sources":["../../../src/editor/components/IframeWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA4B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAA;AAEpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAMrD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAaD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAUD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,aAAa,0DAgQxB,CAAA"}
@@ -0,0 +1,257 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { memo, useEffect, useMemo } from 'react';
4
+ import { createUsePuck } from '@measured/puck';
5
+ import { backgroundValueToCSS } from '../../fields/shared';
6
+ // Create usePuck hook for accessing editor state
7
+ const usePuck = createUsePuck();
8
+ /**
9
+ * Default layout config
10
+ */
11
+ const DEFAULT_LAYOUT_CONFIG = {
12
+ background: '#ffffff',
13
+ isDark: false,
14
+ };
15
+ /**
16
+ * Theme-aware iframe wrapper component
17
+ *
18
+ * Uses usePuck to read the pageLayout from root.props and applies
19
+ * appropriate background and theme class to the preview iframe.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * // Using layouts (recommended)
24
+ * const overrides = {
25
+ * iframe: ({ children, document }) => (
26
+ * <IframeWrapper
27
+ * document={document}
28
+ * layouts={[
29
+ * { value: 'default', label: 'Default', header: Header, footer: Footer },
30
+ * { value: 'landing', label: 'Landing', editorBackground: '#f8fafc' },
31
+ * ]}
32
+ * >
33
+ * {children}
34
+ * </IframeWrapper>
35
+ * ),
36
+ * }
37
+ * ```
38
+ */
39
+ export const IframeWrapper = memo(function IframeWrapper({ children, document: iframeDoc, layouts, layoutStyles, layoutKey = 'pageLayout', defaultLayout = 'default', }) {
40
+ const appState = usePuck((s) => s.appState);
41
+ // Check if we're in interactive mode (links should be clickable)
42
+ const isInteractive = appState.ui.previewMode === 'interactive';
43
+ // Read layout value and page-level overrides from root props
44
+ const rootProps = appState.data.root?.props;
45
+ const layoutValue = rootProps?.[layoutKey] || defaultLayout;
46
+ // Page-level overrides
47
+ const showHeaderOverride = rootProps?.showHeader;
48
+ const showFooterOverride = rootProps?.showFooter;
49
+ const pageBackground = rootProps?.pageBackground;
50
+ // Convert layouts array to config map, or use deprecated layoutStyles
51
+ const layoutConfigMap = useMemo(() => {
52
+ // If layouts prop provided, convert to internal format
53
+ if (layouts) {
54
+ const map = {};
55
+ for (const layout of layouts) {
56
+ map[layout.value] = {
57
+ background: layout.editorBackground ?? '#ffffff',
58
+ isDark: layout.editorDarkMode ?? false,
59
+ header: layout.header,
60
+ footer: layout.footer,
61
+ stickyHeaderHeight: layout.stickyHeaderHeight,
62
+ };
63
+ }
64
+ return map;
65
+ }
66
+ // Fall back to deprecated layoutStyles if provided
67
+ if (layoutStyles) {
68
+ return layoutStyles;
69
+ }
70
+ // Default fallback
71
+ return { default: DEFAULT_LAYOUT_CONFIG };
72
+ }, [layouts, layoutStyles]);
73
+ // Get config for current layout
74
+ const layoutConfig = layoutConfigMap[layoutValue] || layoutConfigMap[defaultLayout] || DEFAULT_LAYOUT_CONFIG;
75
+ useEffect(() => {
76
+ if (!iframeDoc)
77
+ return;
78
+ const body = iframeDoc.body;
79
+ const html = iframeDoc.documentElement;
80
+ // Apply background - page-level override takes precedence
81
+ if (pageBackground) {
82
+ const bgStyles = backgroundValueToCSS(pageBackground);
83
+ // Clear previous background styles
84
+ body.style.background = '';
85
+ body.style.backgroundColor = '';
86
+ body.style.backgroundImage = '';
87
+ // Apply new styles
88
+ Object.assign(body.style, bgStyles);
89
+ }
90
+ else {
91
+ body.style.background = layoutConfig.background;
92
+ }
93
+ body.style.backgroundAttachment = 'fixed';
94
+ body.style.minHeight = '100vh';
95
+ // Apply theme class for dark/light mode
96
+ if (layoutConfig.isDark) {
97
+ html.classList.add('dark');
98
+ html.classList.remove('light');
99
+ body.style.color = '#ffffff';
100
+ }
101
+ else {
102
+ html.classList.remove('dark');
103
+ html.classList.add('light');
104
+ body.style.color = '#1f2937'; // gray-800
105
+ }
106
+ // Inject richtext-output styles into the iframe for proper heading/list rendering
107
+ const RICHTEXT_STYLES_ID = 'puck-richtext-output-styles';
108
+ if (!iframeDoc.getElementById(RICHTEXT_STYLES_ID)) {
109
+ const style = iframeDoc.createElement('style');
110
+ style.id = RICHTEXT_STYLES_ID;
111
+ style.textContent = `
112
+ /* Rich Text Output Styles for Puck Preview */
113
+ .richtext-output {
114
+ font-size: 1.125rem;
115
+ line-height: 1.75;
116
+ color: inherit;
117
+ }
118
+ .richtext-output h1 {
119
+ margin-top: 2rem;
120
+ margin-bottom: 1rem;
121
+ font-weight: 700;
122
+ font-size: 2.25rem;
123
+ line-height: 1.2;
124
+ }
125
+ .richtext-output h1:first-child { margin-top: 0; }
126
+ .richtext-output h2 {
127
+ margin-top: 2rem;
128
+ margin-bottom: 1rem;
129
+ font-weight: 700;
130
+ font-size: 1.875rem;
131
+ line-height: 1.25;
132
+ }
133
+ .richtext-output h2:first-child { margin-top: 0; }
134
+ .richtext-output h3 {
135
+ margin-top: 2rem;
136
+ margin-bottom: 1rem;
137
+ font-weight: 700;
138
+ font-size: 1.5rem;
139
+ line-height: 1.3;
140
+ }
141
+ .richtext-output h3:first-child { margin-top: 0; }
142
+ .richtext-output h4 {
143
+ margin-top: 2rem;
144
+ margin-bottom: 1rem;
145
+ font-weight: 700;
146
+ font-size: 1.25rem;
147
+ line-height: 1.35;
148
+ }
149
+ .richtext-output h4:first-child { margin-top: 0; }
150
+ .richtext-output p {
151
+ margin-bottom: 1.25rem;
152
+ }
153
+ .richtext-output p:last-child { margin-bottom: 0; }
154
+ .richtext-output ul {
155
+ margin-bottom: 1.25rem;
156
+ padding-left: 2rem;
157
+ list-style-type: disc !important;
158
+ }
159
+ .richtext-output ol {
160
+ margin-bottom: 1.25rem;
161
+ padding-left: 2rem;
162
+ list-style-type: decimal !important;
163
+ }
164
+ .richtext-output li {
165
+ margin-bottom: 0.5rem;
166
+ display: list-item !important;
167
+ }
168
+ .richtext-output li::marker {
169
+ color: currentColor;
170
+ }
171
+ .richtext-output ul ul,
172
+ .richtext-output ol ul {
173
+ list-style-type: circle !important;
174
+ margin-top: 0.5rem;
175
+ margin-bottom: 0;
176
+ }
177
+ .richtext-output ul ul ul,
178
+ .richtext-output ol ul ul {
179
+ list-style-type: square !important;
180
+ }
181
+ .richtext-output ol ol,
182
+ .richtext-output ul ol {
183
+ list-style-type: lower-alpha !important;
184
+ margin-top: 0.5rem;
185
+ margin-bottom: 0;
186
+ }
187
+ .richtext-output blockquote {
188
+ margin: 1.5rem 0;
189
+ padding-left: 1.5rem;
190
+ border-left: 4px solid #e5e7eb;
191
+ font-style: italic;
192
+ }
193
+ .richtext-output a {
194
+ color: #2563eb;
195
+ text-decoration: underline;
196
+ }
197
+ .richtext-output a:hover { opacity: 0.8; }
198
+ .richtext-output code {
199
+ background-color: #f3f4f6;
200
+ padding: 0.125rem 0.25rem;
201
+ border-radius: 0.25rem;
202
+ font-size: 0.875rem;
203
+ }
204
+ .richtext-output mark {
205
+ background-color: #fef08a;
206
+ padding: 0.125rem 0.25rem;
207
+ border-radius: 0.125rem;
208
+ }
209
+ .richtext-output s,
210
+ .richtext-output strike {
211
+ text-decoration: line-through;
212
+ }
213
+ @media (max-width: 768px) {
214
+ .richtext-output { font-size: 1rem; }
215
+ .richtext-output h1 { font-size: 1.875rem; }
216
+ .richtext-output h2 { font-size: 1.5rem; }
217
+ .richtext-output h3 { font-size: 1.25rem; }
218
+ }
219
+ `;
220
+ iframeDoc.head.appendChild(style);
221
+ }
222
+ }, [iframeDoc, layoutConfig, pageBackground]);
223
+ // Get header/footer components from layout config
224
+ const LayoutHeader = layoutConfig.header;
225
+ const LayoutFooter = layoutConfig.footer;
226
+ // Determine header/footer visibility based on page-level overrides
227
+ // 'default' or undefined = use layout setting
228
+ // 'show' = always show (even if layout doesn't have one - use layout's component)
229
+ // 'hide' = always hide
230
+ const shouldShowHeader = showHeaderOverride === 'hide'
231
+ ? false
232
+ : showHeaderOverride === 'show'
233
+ ? !!LayoutHeader
234
+ : !!LayoutHeader;
235
+ const shouldShowFooter = showFooterOverride === 'hide'
236
+ ? false
237
+ : showFooterOverride === 'show'
238
+ ? !!LayoutFooter
239
+ : !!LayoutFooter;
240
+ // If we have header or footer to show, wrap in flex container to ensure proper layout
241
+ if (shouldShowHeader || shouldShowFooter) {
242
+ // Calculate content padding for sticky headers (only if header is actually shown)
243
+ const contentStyle = {
244
+ flex: 1,
245
+ position: 'relative',
246
+ // Add padding-top for sticky headers so content doesn't render behind them
247
+ ...(shouldShowHeader && layoutConfig.stickyHeaderHeight && { paddingTop: layoutConfig.stickyHeaderHeight }),
248
+ };
249
+ // Disable pointer events on header/footer in edit mode to prevent accidental clicks
250
+ const headerFooterStyle = isInteractive
251
+ ? {}
252
+ : { pointerEvents: 'none' };
253
+ return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', minHeight: '100vh' }, children: [shouldShowHeader && LayoutHeader && (_jsx("div", { style: headerFooterStyle, children: _jsx(LayoutHeader, {}) })), _jsx("div", { style: contentStyle, children: children }), shouldShowFooter && LayoutFooter && (_jsx("div", { style: headerFooterStyle, children: _jsx(LayoutFooter, {}) }))] }));
254
+ }
255
+ return _jsx(_Fragment, { children: children });
256
+ });
257
+ //# sourceMappingURL=IframeWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IframeWrapper.js","sourceRoot":"","sources":["../../../src/editor/components/IframeWrapper.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface LoadingStateProps {
2
+ /**
3
+ * Loading message to display
4
+ * @default 'Loading editor...'
5
+ */
6
+ message?: string;
7
+ }
8
+ /**
9
+ * Loading indicator shown while the Puck editor is being loaded
10
+ *
11
+ * Used as the fallback for dynamic import with ssr: false
12
+ */
13
+ export declare function LoadingState({ message }: LoadingStateProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=LoadingState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingState.d.ts","sourceRoot":"","sources":["../../../src/editor/components/LoadingState.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,OAA6B,EAAE,EAAE,iBAAiB,2CAShF"}
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Loader2 } from 'lucide-react';
4
+ /**
5
+ * Loading indicator shown while the Puck editor is being loaded
6
+ *
7
+ * Used as the fallback for dynamic import with ssr: false
8
+ */
9
+ export function LoadingState({ message = 'Loading editor...' }) {
10
+ return (_jsx("div", { className: "h-screen flex items-center justify-center bg-gray-50", children: _jsxs("div", { className: "text-center", children: [_jsx(Loader2, { className: "h-8 w-8 animate-spin text-gray-600 mx-auto mb-4" }), _jsx("p", { className: "text-gray-600", children: message })] }) }));
11
+ }
12
+ //# sourceMappingURL=LoadingState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingState.js","sourceRoot":"","sources":["../../../src/editor/components/LoadingState.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAUtC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,OAAO,GAAG,mBAAmB,EAAqB;IAC/E,OAAO,CACL,cAAK,SAAS,EAAC,sDAAsD,YACnE,eAAK,SAAS,EAAC,aAAa,aAC1B,KAAC,OAAO,IAAC,SAAS,EAAC,iDAAiD,GAAG,EACvE,YAAG,SAAS,EAAC,eAAe,YAAE,OAAO,GAAK,IACtC,GACF,CACP,CAAA;AACH,CAAC"}