@delmaredigital/payload-puck 0.6.12 → 0.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. package/README.md +50 -1
  2. package/dist/admin/EditWithPuckButton.d.ts +1 -1
  3. package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
  4. package/dist/admin/EditWithPuckButton.js +65 -25
  5. package/dist/admin/EditWithPuckButton.js.map +1 -1
  6. package/dist/admin/EditWithPuckCell.js +43 -13
  7. package/dist/admin/EditWithPuckCell.js.map +1 -1
  8. package/dist/admin/PuckEditorView.d.ts +1 -1
  9. package/dist/admin/PuckEditorView.d.ts.map +1 -1
  10. package/dist/admin/PuckEditorView.js +118 -32
  11. package/dist/admin/PuckEditorView.js.map +1 -1
  12. package/dist/admin/client.d.ts +2 -2
  13. package/dist/admin/client.d.ts.map +1 -1
  14. package/dist/admin/client.js +4 -4
  15. package/dist/admin/client.js.map +1 -1
  16. package/dist/admin/generateAdminComponents.js +7 -7
  17. package/dist/admin/generateAdminComponents.js.map +1 -1
  18. package/dist/admin/index.d.ts +5 -5
  19. package/dist/admin/index.d.ts.map +1 -1
  20. package/dist/admin/index.js +3 -2
  21. package/dist/admin/index.js.map +1 -1
  22. package/dist/ai/collections/AiContext.js +56 -29
  23. package/dist/ai/collections/AiContext.js.map +1 -1
  24. package/dist/ai/collections/AiPrompts.js +24 -19
  25. package/dist/ai/collections/AiPrompts.js.map +1 -1
  26. package/dist/ai/createAiApiRoutes.js +28 -19
  27. package/dist/ai/createAiApiRoutes.js.map +1 -1
  28. package/dist/ai/createAiGenerate.js +7 -8
  29. package/dist/ai/createAiGenerate.js.map +1 -1
  30. package/dist/ai/createAiPlugin.js +7 -9
  31. package/dist/ai/createAiPlugin.js.map +1 -1
  32. package/dist/ai/hooks/useAiContext.js +50 -39
  33. package/dist/ai/hooks/useAiContext.js.map +1 -1
  34. package/dist/ai/hooks/useAiPrompts.js +33 -25
  35. package/dist/ai/hooks/useAiPrompts.js.map +1 -1
  36. package/dist/ai/index.js +9 -10
  37. package/dist/ai/index.js.map +1 -1
  38. package/dist/ai/plugins/ContextEditorPanel.d.ts +1 -1
  39. package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -1
  40. package/dist/ai/plugins/ContextEditorPanel.js +399 -107
  41. package/dist/ai/plugins/ContextEditorPanel.js.map +1 -1
  42. package/dist/ai/plugins/PromptEditorPanel.d.ts +1 -1
  43. package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -1
  44. package/dist/ai/plugins/PromptEditorPanel.js +237 -51
  45. package/dist/ai/plugins/PromptEditorPanel.js.map +1 -1
  46. package/dist/ai/plugins/contextEditorPlugin.js +12 -5
  47. package/dist/ai/plugins/contextEditorPlugin.js.map +1 -1
  48. package/dist/ai/plugins/promptApiRoutes.js +119 -50
  49. package/dist/ai/plugins/promptApiRoutes.js.map +1 -1
  50. package/dist/ai/plugins/promptEditorPlugin.js +12 -5
  51. package/dist/ai/plugins/promptEditorPlugin.js.map +1 -1
  52. package/dist/ai/presets/componentAiDefaults.js +108 -83
  53. package/dist/ai/presets/componentAiDefaults.js.map +1 -1
  54. package/dist/ai/presets/index.js +12 -18
  55. package/dist/ai/presets/index.js.map +1 -1
  56. package/dist/ai/presets/instructions/interactive.js +85 -75
  57. package/dist/ai/presets/instructions/interactive.js.map +1 -1
  58. package/dist/ai/presets/instructions/layout.js +122 -117
  59. package/dist/ai/presets/instructions/layout.js.map +1 -1
  60. package/dist/ai/presets/instructions/media.js +31 -29
  61. package/dist/ai/presets/instructions/media.js.map +1 -1
  62. package/dist/ai/presets/instructions/pagePatterns.js +4 -6
  63. package/dist/ai/presets/instructions/pagePatterns.js.map +1 -1
  64. package/dist/ai/presets/instructions/schemas.js +495 -137
  65. package/dist/ai/presets/instructions/schemas.js.map +1 -1
  66. package/dist/ai/presets/instructions/typography.js +38 -33
  67. package/dist/ai/presets/instructions/typography.js.map +1 -1
  68. package/dist/ai/tools/index.js +92 -55
  69. package/dist/ai/tools/index.js.map +1 -1
  70. package/dist/ai/types.js +7 -1
  71. package/dist/ai/types.js.map +1 -1
  72. package/dist/ai/utils/injectAiConfig.js +33 -40
  73. package/dist/ai/utils/injectAiConfig.js.map +1 -1
  74. package/dist/api/createPuckApiRoutes.d.ts +1 -1
  75. package/dist/api/createPuckApiRoutes.d.ts.map +1 -1
  76. package/dist/api/createPuckApiRoutes.js +123 -65
  77. package/dist/api/createPuckApiRoutes.js.map +1 -1
  78. package/dist/api/createPuckApiRoutesVersions.d.ts +1 -1
  79. package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -1
  80. package/dist/api/createPuckApiRoutesVersions.js +88 -37
  81. package/dist/api/createPuckApiRoutesVersions.js.map +1 -1
  82. package/dist/api/createPuckApiRoutesWithId.d.ts +1 -1
  83. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
  84. package/dist/api/createPuckApiRoutesWithId.js +166 -72
  85. package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
  86. package/dist/api/index.d.ts +5 -5
  87. package/dist/api/index.d.ts.map +1 -1
  88. package/dist/api/index.js +6 -6
  89. package/dist/api/index.js.map +1 -1
  90. package/dist/api/payload-config.d.js +15 -0
  91. package/dist/api/payload-config.d.js.map +1 -0
  92. package/dist/api/types.js +4 -1
  93. package/dist/api/types.js.map +1 -1
  94. package/dist/api/utils/mapRootProps.d.ts +1 -1
  95. package/dist/api/utils/mapRootProps.d.ts.map +1 -1
  96. package/dist/api/utils/mapRootProps.js +77 -44
  97. package/dist/api/utils/mapRootProps.js.map +1 -1
  98. package/dist/collections/Templates.js +24 -20
  99. package/dist/collections/Templates.js.map +1 -1
  100. package/dist/components/AccordionClient.d.ts +2 -2
  101. package/dist/components/AccordionClient.d.ts.map +1 -1
  102. package/dist/components/AccordionClient.js +81 -22
  103. package/dist/components/AccordionClient.js.map +1 -1
  104. package/dist/components/AnimatedWrapper.d.ts +2 -2
  105. package/dist/components/AnimatedWrapper.d.ts.map +1 -1
  106. package/dist/components/AnimatedWrapper.js +31 -16
  107. package/dist/components/AnimatedWrapper.js.map +1 -1
  108. package/dist/components/exports.js +2 -2
  109. package/dist/components/exports.js.map +1 -1
  110. package/dist/components/index.d.ts +5 -5
  111. package/dist/components/index.d.ts.map +1 -1
  112. package/dist/components/index.js +7 -7
  113. package/dist/components/index.js.map +1 -1
  114. package/dist/components/interactive/Accordion.d.ts +1 -1
  115. package/dist/components/interactive/Accordion.d.ts.map +1 -1
  116. package/dist/components/interactive/Accordion.js +149 -55
  117. package/dist/components/interactive/Accordion.js.map +1 -1
  118. package/dist/components/interactive/Accordion.server.d.ts +1 -1
  119. package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
  120. package/dist/components/interactive/Accordion.server.js +25 -7
  121. package/dist/components/interactive/Accordion.server.js.map +1 -1
  122. package/dist/components/interactive/Button.d.ts +3 -3
  123. package/dist/components/interactive/Button.d.ts.map +1 -1
  124. package/dist/components/interactive/Button.js +89 -43
  125. package/dist/components/interactive/Button.js.map +1 -1
  126. package/dist/components/interactive/Button.server.d.ts +2 -2
  127. package/dist/components/interactive/Button.server.d.ts.map +1 -1
  128. package/dist/components/interactive/Button.server.js +40 -20
  129. package/dist/components/interactive/Button.server.js.map +1 -1
  130. package/dist/components/interactive/Card.d.ts +3 -3
  131. package/dist/components/interactive/Card.d.ts.map +1 -1
  132. package/dist/components/interactive/Card.js +131 -39
  133. package/dist/components/interactive/Card.js.map +1 -1
  134. package/dist/components/interactive/Card.server.d.ts +3 -3
  135. package/dist/components/interactive/Card.server.d.ts.map +1 -1
  136. package/dist/components/interactive/Card.server.js +72 -11
  137. package/dist/components/interactive/Card.server.js.map +1 -1
  138. package/dist/components/interactive/Divider.d.ts +1 -1
  139. package/dist/components/interactive/Divider.d.ts.map +1 -1
  140. package/dist/components/interactive/Divider.js +54 -26
  141. package/dist/components/interactive/Divider.js.map +1 -1
  142. package/dist/components/interactive/Divider.server.d.ts +1 -1
  143. package/dist/components/interactive/Divider.server.d.ts.map +1 -1
  144. package/dist/components/interactive/Divider.server.js +28 -12
  145. package/dist/components/interactive/Divider.server.js.map +1 -1
  146. package/dist/components/interactive/index.d.ts +4 -4
  147. package/dist/components/interactive/index.d.ts.map +1 -1
  148. package/dist/components/interactive/index.js +5 -5
  149. package/dist/components/interactive/index.js.map +1 -1
  150. package/dist/components/layout/Container.d.ts +1 -1
  151. package/dist/components/layout/Container.d.ts.map +1 -1
  152. package/dist/components/layout/Container.js +101 -47
  153. package/dist/components/layout/Container.js.map +1 -1
  154. package/dist/components/layout/Container.server.d.ts +1 -1
  155. package/dist/components/layout/Container.server.d.ts.map +1 -1
  156. package/dist/components/layout/Container.server.js +67 -19
  157. package/dist/components/layout/Container.server.js.map +1 -1
  158. package/dist/components/layout/Flex.d.ts +2 -2
  159. package/dist/components/layout/Flex.d.ts.map +1 -1
  160. package/dist/components/layout/Flex.js +124 -55
  161. package/dist/components/layout/Flex.js.map +1 -1
  162. package/dist/components/layout/Flex.server.d.ts +1 -1
  163. package/dist/components/layout/Flex.server.d.ts.map +1 -1
  164. package/dist/components/layout/Flex.server.js +50 -14
  165. package/dist/components/layout/Flex.server.js.map +1 -1
  166. package/dist/components/layout/Grid.d.ts +1 -1
  167. package/dist/components/layout/Grid.d.ts.map +1 -1
  168. package/dist/components/layout/Grid.js +93 -44
  169. package/dist/components/layout/Grid.js.map +1 -1
  170. package/dist/components/layout/Grid.server.d.ts +1 -1
  171. package/dist/components/layout/Grid.server.d.ts.map +1 -1
  172. package/dist/components/layout/Grid.server.js +56 -14
  173. package/dist/components/layout/Grid.server.js.map +1 -1
  174. package/dist/components/layout/Section.d.ts +1 -1
  175. package/dist/components/layout/Section.d.ts.map +1 -1
  176. package/dist/components/layout/Section.js +147 -64
  177. package/dist/components/layout/Section.js.map +1 -1
  178. package/dist/components/layout/Section.server.d.ts +1 -1
  179. package/dist/components/layout/Section.server.d.ts.map +1 -1
  180. package/dist/components/layout/Section.server.js +92 -28
  181. package/dist/components/layout/Section.server.js.map +1 -1
  182. package/dist/components/layout/Spacer.d.ts +1 -1
  183. package/dist/components/layout/Spacer.d.ts.map +1 -1
  184. package/dist/components/layout/Spacer.js +80 -30
  185. package/dist/components/layout/Spacer.js.map +1 -1
  186. package/dist/components/layout/Spacer.server.d.ts +1 -1
  187. package/dist/components/layout/Spacer.server.d.ts.map +1 -1
  188. package/dist/components/layout/Spacer.server.js +31 -9
  189. package/dist/components/layout/Spacer.server.js.map +1 -1
  190. package/dist/components/layout/Template.d.ts +1 -1
  191. package/dist/components/layout/Template.d.ts.map +1 -1
  192. package/dist/components/layout/Template.js +58 -30
  193. package/dist/components/layout/Template.js.map +1 -1
  194. package/dist/components/layout/Template.server.d.ts +1 -1
  195. package/dist/components/layout/Template.server.d.ts.map +1 -1
  196. package/dist/components/layout/Template.server.js +43 -11
  197. package/dist/components/layout/Template.server.js.map +1 -1
  198. package/dist/components/layout/index.d.ts +8 -8
  199. package/dist/components/layout/index.d.ts.map +1 -1
  200. package/dist/components/layout/index.js +8 -8
  201. package/dist/components/layout/index.js.map +1 -1
  202. package/dist/components/media/Image.d.ts +3 -3
  203. package/dist/components/media/Image.d.ts.map +1 -1
  204. package/dist/components/media/Image.js +122 -39
  205. package/dist/components/media/Image.js.map +1 -1
  206. package/dist/components/media/Image.server.d.ts +3 -3
  207. package/dist/components/media/Image.server.d.ts.map +1 -1
  208. package/dist/components/media/Image.server.js +76 -13
  209. package/dist/components/media/Image.server.js.map +1 -1
  210. package/dist/components/media/index.d.ts +1 -1
  211. package/dist/components/media/index.d.ts.map +1 -1
  212. package/dist/components/media/index.js +2 -2
  213. package/dist/components/media/index.js.map +1 -1
  214. package/dist/components/typography/Heading.d.ts +2 -2
  215. package/dist/components/typography/Heading.d.ts.map +1 -1
  216. package/dist/components/typography/Heading.js +45 -25
  217. package/dist/components/typography/Heading.js.map +1 -1
  218. package/dist/components/typography/Heading.server.d.ts +2 -2
  219. package/dist/components/typography/Heading.server.d.ts.map +1 -1
  220. package/dist/components/typography/Heading.server.js +16 -10
  221. package/dist/components/typography/Heading.server.js.map +1 -1
  222. package/dist/components/typography/RichText.editor.d.ts +1 -1
  223. package/dist/components/typography/RichText.editor.d.ts.map +1 -1
  224. package/dist/components/typography/RichText.editor.js +44 -19
  225. package/dist/components/typography/RichText.editor.js.map +1 -1
  226. package/dist/components/typography/RichText.server.d.ts +2 -2
  227. package/dist/components/typography/RichText.server.d.ts.map +1 -1
  228. package/dist/components/typography/RichText.server.js +33 -14
  229. package/dist/components/typography/RichText.server.js.map +1 -1
  230. package/dist/components/typography/Text.d.ts +2 -2
  231. package/dist/components/typography/Text.d.ts.map +1 -1
  232. package/dist/components/typography/Text.js +49 -23
  233. package/dist/components/typography/Text.js.map +1 -1
  234. package/dist/components/typography/Text.server.d.ts +2 -2
  235. package/dist/components/typography/Text.server.d.ts.map +1 -1
  236. package/dist/components/typography/Text.server.js +21 -8
  237. package/dist/components/typography/Text.server.js.map +1 -1
  238. package/dist/components/typography/index.d.ts +4 -4
  239. package/dist/components/typography/index.d.ts.map +1 -1
  240. package/dist/components/typography/index.js +5 -5
  241. package/dist/components/typography/index.js.map +1 -1
  242. package/dist/config/config.editor.d.ts +3 -3
  243. package/dist/config/config.editor.d.ts.map +1 -1
  244. package/dist/config/config.editor.js +119 -54
  245. package/dist/config/config.editor.js.map +1 -1
  246. package/dist/config/index.d.ts +4 -4
  247. package/dist/config/index.d.ts.map +1 -1
  248. package/dist/config/index.js +62 -35
  249. package/dist/config/index.js.map +1 -1
  250. package/dist/config/merge.d.ts +1 -1
  251. package/dist/config/merge.d.ts.map +1 -1
  252. package/dist/config/merge.js +23 -26
  253. package/dist/config/merge.js.map +1 -1
  254. package/dist/config/presets.d.ts +4 -4
  255. package/dist/config/presets.js +195 -75
  256. package/dist/config/presets.js.map +1 -1
  257. package/dist/config/types.js +6 -2
  258. package/dist/config/types.js.map +1 -1
  259. package/dist/editor/PuckEditor.d.ts +4 -4
  260. package/dist/editor/PuckEditor.d.ts.map +1 -1
  261. package/dist/editor/PuckEditor.js +162 -70
  262. package/dist/editor/PuckEditor.js.map +1 -1
  263. package/dist/editor/PuckEditorImpl.client.d.ts +4 -4
  264. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
  265. package/dist/editor/PuckEditorImpl.client.js +304 -152
  266. package/dist/editor/PuckEditorImpl.client.js.map +1 -1
  267. package/dist/editor/components/DarkModeStyles.js +11 -12
  268. package/dist/editor/components/DarkModeStyles.js.map +1 -1
  269. package/dist/editor/components/HeaderActions.js +308 -64
  270. package/dist/editor/components/HeaderActions.js.map +1 -1
  271. package/dist/editor/components/IframeWrapper.d.ts +1 -1
  272. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  273. package/dist/editor/components/IframeWrapper.js +82 -58
  274. package/dist/editor/components/IframeWrapper.js.map +1 -1
  275. package/dist/editor/components/LoadingState.d.ts +1 -1
  276. package/dist/editor/components/LoadingState.d.ts.map +1 -1
  277. package/dist/editor/components/LoadingState.js +17 -3
  278. package/dist/editor/components/LoadingState.js.map +1 -1
  279. package/dist/editor/components/PreviewModal.js +234 -78
  280. package/dist/editor/components/PreviewModal.js.map +1 -1
  281. package/dist/editor/components/PreviewModeToggle.js +43 -15
  282. package/dist/editor/components/PreviewModeToggle.js.map +1 -1
  283. package/dist/editor/components/VersionHistory.js +219 -71
  284. package/dist/editor/components/VersionHistory.js.map +1 -1
  285. package/dist/editor/hooks/useDarkMode.js +36 -23
  286. package/dist/editor/hooks/useDarkMode.js.map +1 -1
  287. package/dist/editor/hooks/useUnsavedChanges.js +8 -8
  288. package/dist/editor/hooks/useUnsavedChanges.js.map +1 -1
  289. package/dist/editor/index.js +5 -6
  290. package/dist/editor/index.js.map +1 -1
  291. package/dist/editor/plugins/VersionHistoryPanel.js +236 -75
  292. package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -1
  293. package/dist/editor/plugins/index.js +4 -4
  294. package/dist/editor/plugins/index.js.map +1 -1
  295. package/dist/editor/plugins/versionHistoryPlugin.js +10 -8
  296. package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -1
  297. package/dist/editor/utils/detectPageTree.js +5 -5
  298. package/dist/editor/utils/detectPageTree.js.map +1 -1
  299. package/dist/editor/utils/index.js +1 -0
  300. package/dist/editor/utils/index.js.map +1 -1
  301. package/dist/editor/utils/injectPageTreeFields.js +13 -9
  302. package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
  303. package/dist/endpoints/ai.js +58 -34
  304. package/dist/endpoints/ai.js.map +1 -1
  305. package/dist/endpoints/context.js +86 -40
  306. package/dist/endpoints/context.js.map +1 -1
  307. package/dist/endpoints/index.js +153 -76
  308. package/dist/endpoints/index.js.map +1 -1
  309. package/dist/endpoints/postcss.d.js +5 -0
  310. package/dist/endpoints/postcss.d.js.map +1 -0
  311. package/dist/endpoints/prompts.js +81 -39
  312. package/dist/endpoints/prompts.js.map +1 -1
  313. package/dist/endpoints/styles.js +34 -36
  314. package/dist/endpoints/styles.js.map +1 -1
  315. package/dist/exports/client.js +2 -2
  316. package/dist/exports/client.js.map +1 -1
  317. package/dist/exports/rsc.js +2 -2
  318. package/dist/exports/rsc.js.map +1 -1
  319. package/dist/fields/AlignmentField.d.ts +1 -1
  320. package/dist/fields/AlignmentField.d.ts.map +1 -1
  321. package/dist/fields/AlignmentField.js +93 -30
  322. package/dist/fields/AlignmentField.js.map +1 -1
  323. package/dist/fields/AnimationField.d.ts +2 -2
  324. package/dist/fields/AnimationField.d.ts.map +1 -1
  325. package/dist/fields/AnimationField.js +558 -84
  326. package/dist/fields/AnimationField.js.map +1 -1
  327. package/dist/fields/BackgroundField.d.ts +2 -2
  328. package/dist/fields/BackgroundField.d.ts.map +1 -1
  329. package/dist/fields/BackgroundField.js +754 -120
  330. package/dist/fields/BackgroundField.js.map +1 -1
  331. package/dist/fields/BorderField.d.ts +2 -2
  332. package/dist/fields/BorderField.d.ts.map +1 -1
  333. package/dist/fields/BorderField.js +275 -73
  334. package/dist/fields/BorderField.js.map +1 -1
  335. package/dist/fields/ColorPickerField.d.ts +2 -2
  336. package/dist/fields/ColorPickerField.d.ts.map +1 -1
  337. package/dist/fields/ColorPickerField.js +210 -68
  338. package/dist/fields/ColorPickerField.js.map +1 -1
  339. package/dist/fields/ContentAlignmentField.d.ts +1 -1
  340. package/dist/fields/ContentAlignmentField.d.ts.map +1 -1
  341. package/dist/fields/ContentAlignmentField.js +161 -75
  342. package/dist/fields/ContentAlignmentField.js.map +1 -1
  343. package/dist/fields/DimensionsField.d.ts +2 -2
  344. package/dist/fields/DimensionsField.d.ts.map +1 -1
  345. package/dist/fields/DimensionsField.js +575 -146
  346. package/dist/fields/DimensionsField.js.map +1 -1
  347. package/dist/fields/FlexAlignmentField.d.ts +2 -2
  348. package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
  349. package/dist/fields/FlexAlignmentField.js +189 -51
  350. package/dist/fields/FlexAlignmentField.js.map +1 -1
  351. package/dist/fields/FolderPickerField.d.ts +8 -1
  352. package/dist/fields/FolderPickerField.d.ts.map +1 -1
  353. package/dist/fields/FolderPickerField.js +288 -75
  354. package/dist/fields/FolderPickerField.js.map +1 -1
  355. package/dist/fields/GradientEditor.d.ts +2 -2
  356. package/dist/fields/GradientEditor.d.ts.map +1 -1
  357. package/dist/fields/GradientEditor.js +462 -86
  358. package/dist/fields/GradientEditor.js.map +1 -1
  359. package/dist/fields/LockedField.d.ts +15 -2
  360. package/dist/fields/LockedField.d.ts.map +1 -1
  361. package/dist/fields/LockedField.js +180 -49
  362. package/dist/fields/LockedField.js.map +1 -1
  363. package/dist/fields/MarginField.d.ts +2 -2
  364. package/dist/fields/MarginField.d.ts.map +1 -1
  365. package/dist/fields/MarginField.js +144 -46
  366. package/dist/fields/MarginField.js.map +1 -1
  367. package/dist/fields/MediaField.d.ts +1 -1
  368. package/dist/fields/MediaField.d.ts.map +1 -1
  369. package/dist/fields/MediaField.js +688 -186
  370. package/dist/fields/MediaField.js.map +1 -1
  371. package/dist/fields/PaddingField.d.ts +2 -2
  372. package/dist/fields/PaddingField.d.ts.map +1 -1
  373. package/dist/fields/PaddingField.js +144 -46
  374. package/dist/fields/PaddingField.js.map +1 -1
  375. package/dist/fields/PageSegmentField.d.ts +15 -2
  376. package/dist/fields/PageSegmentField.d.ts.map +1 -1
  377. package/dist/fields/PageSegmentField.js +156 -54
  378. package/dist/fields/PageSegmentField.js.map +1 -1
  379. package/dist/fields/ResetField.d.ts +1 -1
  380. package/dist/fields/ResetField.d.ts.map +1 -1
  381. package/dist/fields/ResetField.js +59 -31
  382. package/dist/fields/ResetField.js.map +1 -1
  383. package/dist/fields/ResponsiveField.d.ts +1 -1
  384. package/dist/fields/ResponsiveField.d.ts.map +1 -1
  385. package/dist/fields/ResponsiveField.js +233 -90
  386. package/dist/fields/ResponsiveField.js.map +1 -1
  387. package/dist/fields/ResponsiveVisibilityField.d.ts +2 -2
  388. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
  389. package/dist/fields/ResponsiveVisibilityField.js +119 -36
  390. package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
  391. package/dist/fields/SizeField.d.ts +3 -3
  392. package/dist/fields/SizeField.d.ts.map +1 -1
  393. package/dist/fields/SizeField.js +226 -52
  394. package/dist/fields/SizeField.js.map +1 -1
  395. package/dist/fields/SlugPreviewField.d.ts +8 -1
  396. package/dist/fields/SlugPreviewField.d.ts.map +1 -1
  397. package/dist/fields/SlugPreviewField.js +65 -16
  398. package/dist/fields/SlugPreviewField.js.map +1 -1
  399. package/dist/fields/TemplateField.d.ts +1 -1
  400. package/dist/fields/TemplateField.d.ts.map +1 -1
  401. package/dist/fields/TemplateField.js +362 -120
  402. package/dist/fields/TemplateField.js.map +1 -1
  403. package/dist/fields/TransformField.d.ts +2 -2
  404. package/dist/fields/TransformField.d.ts.map +1 -1
  405. package/dist/fields/TransformField.js +517 -81
  406. package/dist/fields/TransformField.js.map +1 -1
  407. package/dist/fields/VerticalAlignmentField.d.ts +1 -1
  408. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
  409. package/dist/fields/VerticalAlignmentField.js +93 -30
  410. package/dist/fields/VerticalAlignmentField.js.map +1 -1
  411. package/dist/fields/WidthField.d.ts +2 -2
  412. package/dist/fields/WidthField.d.ts.map +1 -1
  413. package/dist/fields/WidthField.js +278 -81
  414. package/dist/fields/WidthField.js.map +1 -1
  415. package/dist/fields/index.d.ts +41 -41
  416. package/dist/fields/index.d.ts.map +1 -1
  417. package/dist/fields/index.js +37 -43
  418. package/dist/fields/index.js.map +1 -1
  419. package/dist/fields/richtext/controls/ColorPickerControl.d.ts +13 -2
  420. package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
  421. package/dist/fields/richtext/controls/ColorPickerControl.js +212 -47
  422. package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
  423. package/dist/fields/richtext/controls/DropdownPortal.d.ts +2 -2
  424. package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -1
  425. package/dist/fields/richtext/controls/DropdownPortal.js +36 -4
  426. package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -1
  427. package/dist/fields/richtext/controls/FontSizeControl.d.ts +9 -1
  428. package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
  429. package/dist/fields/richtext/controls/FontSizeControl.js +109 -24
  430. package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
  431. package/dist/fields/richtext/controls/HighlightControl.d.ts +12 -1
  432. package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
  433. package/dist/fields/richtext/controls/HighlightControl.js +54 -17
  434. package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
  435. package/dist/fields/richtext/controls/index.d.ts +5 -5
  436. package/dist/fields/richtext/controls/index.d.ts.map +1 -1
  437. package/dist/fields/richtext/controls/index.js +8 -11
  438. package/dist/fields/richtext/controls/index.js.map +1 -1
  439. package/dist/fields/richtext/controls/shared.js +108 -63
  440. package/dist/fields/richtext/controls/shared.js.map +1 -1
  441. package/dist/fields/richtext/createRichTextField.d.ts +18 -4
  442. package/dist/fields/richtext/createRichTextField.d.ts.map +1 -1
  443. package/dist/fields/richtext/createRichTextField.js +113 -26
  444. package/dist/fields/richtext/createRichTextField.js.map +1 -1
  445. package/dist/fields/richtext/extensions/FontSize.js +26 -20
  446. package/dist/fields/richtext/extensions/FontSize.js.map +1 -1
  447. package/dist/fields/richtext/extensions/index.d.ts +1 -1
  448. package/dist/fields/richtext/extensions/index.d.ts.map +1 -1
  449. package/dist/fields/richtext/extensions/index.js +2 -2
  450. package/dist/fields/richtext/extensions/index.js.map +1 -1
  451. package/dist/fields/richtext/index.d.ts +6 -6
  452. package/dist/fields/richtext/index.d.ts.map +1 -1
  453. package/dist/fields/richtext/index.js +8 -8
  454. package/dist/fields/richtext/index.js.map +1 -1
  455. package/dist/fields/shared.d.ts +1 -1
  456. package/dist/fields/shared.d.ts.map +1 -1
  457. package/dist/fields/shared.js +915 -478
  458. package/dist/fields/shared.js.map +1 -1
  459. package/dist/hooks/index.d.ts +2 -2
  460. package/dist/hooks/index.d.ts.map +1 -1
  461. package/dist/hooks/index.js +3 -3
  462. package/dist/hooks/index.js.map +1 -1
  463. package/dist/hooks/useResponsiveStyles.d.ts +1 -1
  464. package/dist/hooks/useResponsiveStyles.d.ts.map +1 -1
  465. package/dist/hooks/useResponsiveStyles.js +36 -32
  466. package/dist/hooks/useResponsiveStyles.js.map +1 -1
  467. package/dist/hooks/useScrollAnimation.js +26 -24
  468. package/dist/hooks/useScrollAnimation.js.map +1 -1
  469. package/dist/index.d.ts +4 -4
  470. package/dist/index.d.ts.map +1 -1
  471. package/dist/index.js +5 -5
  472. package/dist/index.js.map +1 -1
  473. package/dist/layouts/LayoutWrapper.d.ts +3 -3
  474. package/dist/layouts/LayoutWrapper.d.ts.map +1 -1
  475. package/dist/layouts/LayoutWrapper.js +115 -51
  476. package/dist/layouts/LayoutWrapper.js.map +1 -1
  477. package/dist/layouts/defaults.d.ts +1 -1
  478. package/dist/layouts/defaults.d.ts.map +1 -1
  479. package/dist/layouts/defaults.js +23 -31
  480. package/dist/layouts/defaults.js.map +1 -1
  481. package/dist/layouts/index.d.ts +4 -4
  482. package/dist/layouts/index.d.ts.map +1 -1
  483. package/dist/layouts/index.js +5 -4
  484. package/dist/layouts/index.js.map +1 -1
  485. package/dist/layouts/types.js +4 -2
  486. package/dist/layouts/types.js.map +1 -1
  487. package/dist/layouts/utils.d.ts +1 -1
  488. package/dist/layouts/utils.d.ts.map +1 -1
  489. package/dist/layouts/utils.js +32 -40
  490. package/dist/layouts/utils.js.map +1 -1
  491. package/dist/next/index.js +31 -34
  492. package/dist/next/index.js.map +1 -1
  493. package/dist/plugin/collections/Pages.d.ts +2 -2
  494. package/dist/plugin/collections/Pages.d.ts.map +1 -1
  495. package/dist/plugin/collections/Pages.js +46 -43
  496. package/dist/plugin/collections/Pages.js.map +1 -1
  497. package/dist/plugin/fields/index.d.ts +3 -3
  498. package/dist/plugin/fields/index.d.ts.map +1 -1
  499. package/dist/plugin/fields/index.js +100 -78
  500. package/dist/plugin/fields/index.js.map +1 -1
  501. package/dist/plugin/fields/types.d.ts +1 -1
  502. package/dist/plugin/fields/types.d.ts.map +1 -1
  503. package/dist/plugin/fields/types.js +26 -2
  504. package/dist/plugin/fields/types.js.map +1 -1
  505. package/dist/plugin/hooks/index.d.ts +1 -1
  506. package/dist/plugin/hooks/index.d.ts.map +1 -1
  507. package/dist/plugin/hooks/index.js +2 -2
  508. package/dist/plugin/hooks/index.js.map +1 -1
  509. package/dist/plugin/hooks/isHomepageUnique.js +28 -19
  510. package/dist/plugin/hooks/isHomepageUnique.js.map +1 -1
  511. package/dist/plugin/index.d.ts +8 -8
  512. package/dist/plugin/index.d.ts.map +1 -1
  513. package/dist/plugin/index.js +190 -188
  514. package/dist/plugin/index.js.map +1 -1
  515. package/dist/render/HybridPageRenderer.d.ts +2 -2
  516. package/dist/render/HybridPageRenderer.d.ts.map +1 -1
  517. package/dist/render/HybridPageRenderer.js +58 -10
  518. package/dist/render/HybridPageRenderer.js.map +1 -1
  519. package/dist/render/PageRenderer.d.ts +2 -2
  520. package/dist/render/PageRenderer.d.ts.map +1 -1
  521. package/dist/render/PageRenderer.js +31 -14
  522. package/dist/render/PageRenderer.js.map +1 -1
  523. package/dist/render/PuckEditor.client.d.ts +1 -1
  524. package/dist/render/PuckEditor.client.d.ts.map +1 -1
  525. package/dist/render/PuckEditor.client.js +33 -16
  526. package/dist/render/PuckEditor.client.js.map +1 -1
  527. package/dist/render/index.d.ts +5 -5
  528. package/dist/render/index.d.ts.map +1 -1
  529. package/dist/render/index.js +5 -6
  530. package/dist/render/index.js.map +1 -1
  531. package/dist/styles/puck-dark-mode.css +101 -0
  532. package/dist/theme/context.d.ts +2 -2
  533. package/dist/theme/context.d.ts.map +1 -1
  534. package/dist/theme/context.js +21 -18
  535. package/dist/theme/context.js.map +1 -1
  536. package/dist/theme/defaults.d.ts +1 -1
  537. package/dist/theme/defaults.d.ts.map +1 -1
  538. package/dist/theme/defaults.js +83 -37
  539. package/dist/theme/defaults.js.map +1 -1
  540. package/dist/theme/example.d.ts +1 -1
  541. package/dist/theme/example.d.ts.map +1 -1
  542. package/dist/theme/example.js +68 -30
  543. package/dist/theme/example.js.map +1 -1
  544. package/dist/theme/index.d.ts +5 -5
  545. package/dist/theme/index.d.ts.map +1 -1
  546. package/dist/theme/index.js +6 -5
  547. package/dist/theme/index.js.map +1 -1
  548. package/dist/theme/types.js +6 -2
  549. package/dist/theme/types.js.map +1 -1
  550. package/dist/theme/utils.d.ts +1 -1
  551. package/dist/theme/utils.d.ts.map +1 -1
  552. package/dist/theme/utils.js +24 -25
  553. package/dist/theme/utils.js.map +1 -1
  554. package/dist/types/index.d.ts +6 -6
  555. package/dist/types/index.d.ts.map +1 -1
  556. package/dist/types/index.js +3 -1
  557. package/dist/types/index.js.map +1 -1
  558. package/dist/utils/index.d.ts +2 -2
  559. package/dist/utils/index.d.ts.map +1 -1
  560. package/dist/utils/index.js +13 -22
  561. package/dist/utils/index.js.map +1 -1
  562. package/dist/utils/migration.d.ts +1 -1
  563. package/dist/utils/migration.d.ts.map +1 -1
  564. package/dist/utils/migration.js +43 -49
  565. package/dist/utils/migration.js.map +1 -1
  566. package/dist/utils/validation.d.ts +1 -1
  567. package/dist/utils/validation.d.ts.map +1 -1
  568. package/dist/utils/validation.js +36 -43
  569. package/dist/utils/validation.js.map +1 -1
  570. package/dist/version.d.ts +1 -1
  571. package/dist/version.js +2 -1
  572. package/dist/version.js.map +1 -1
  573. package/dist/views/PuckConfigContext.d.ts +1 -1
  574. package/dist/views/PuckConfigContext.d.ts.map +1 -1
  575. package/dist/views/PuckConfigContext.js +25 -10
  576. package/dist/views/PuckConfigContext.js.map +1 -1
  577. package/dist/views/PuckEditorView.d.ts +1 -1
  578. package/dist/views/PuckEditorView.d.ts.map +1 -1
  579. package/dist/views/PuckEditorView.js +106 -38
  580. package/dist/views/PuckEditorView.js.map +1 -1
  581. package/dist/views/index.js +2 -2
  582. package/dist/views/index.js.map +1 -1
  583. package/package.json +62 -42
@@ -1 +1 @@
1
- {"version":3,"file":"VersionHistory.js","sourceRoot":"","sources":["../../../src/editor/components/VersionHistory.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/editor/components/VersionHistory.tsx"],"sourcesContent":["'use client'\n\nimport { useState, useCallback, useEffect, useRef, memo, type CSSProperties } from 'react'\nimport {\n History,\n Loader2,\n Check,\n RotateCcw,\n X,\n ChevronDown,\n} from 'lucide-react'\n\n/**\n * Version entry from Payload's versions system\n */\nexport interface PageVersion {\n id: string\n parent: string\n version: {\n title?: string\n slug?: string\n _status?: 'draft' | 'published'\n updatedAt: string\n createdAt: string\n }\n createdAt: string\n updatedAt: string\n autosave?: boolean\n latest?: boolean\n}\n\nexport interface VersionHistoryProps {\n /**\n * Page ID to fetch versions for\n */\n pageId: string\n /**\n * API endpoint base path\n * @default '/api/puck/pages'\n */\n apiEndpoint?: string\n /**\n * Callback when a version is restored\n */\n onRestore?: (version: PageVersion) => void\n /**\n * Whether restore operations are disabled\n */\n disabled?: boolean\n}\n\n// Shared styles\nconst styles = {\n container: {\n position: 'relative',\n } as CSSProperties,\n button: {\n display: 'inline-flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n padding: '6px 12px',\n fontSize: '14px',\n fontWeight: 500,\n borderRadius: '6px',\n transition: 'background-color 0.15s',\n backgroundColor: 'var(--theme-bg)',\n color: 'var(--theme-elevation-700)',\n border: '1px solid var(--theme-elevation-200)',\n cursor: 'pointer',\n } as CSSProperties,\n buttonDisabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n } as CSSProperties,\n icon: {\n width: '16px',\n height: '16px',\n marginRight: '4px',\n flexShrink: 0,\n } as CSSProperties,\n iconSmall: {\n width: '12px',\n height: '12px',\n marginLeft: '4px',\n flexShrink: 0,\n } as CSSProperties,\n dropdown: {\n position: 'absolute',\n top: '100%',\n right: 0,\n marginTop: '4px',\n backgroundColor: 'var(--theme-bg)',\n border: '1px solid var(--theme-elevation-200)',\n borderRadius: '8px',\n boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n zIndex: 50,\n width: '320px',\n maxHeight: '400px',\n overflow: 'hidden',\n } as CSSProperties,\n header: {\n borderBottom: '1px solid var(--theme-elevation-200)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '12px 16px',\n } as CSSProperties,\n headerTitle: {\n fontWeight: 500,\n fontSize: '14px',\n color: 'var(--theme-elevation-900)',\n } as CSSProperties,\n closeButton: {\n color: 'var(--theme-elevation-400)',\n transition: 'color 0.15s',\n padding: '4px',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n } as CSSProperties,\n content: {\n maxHeight: '340px',\n overflowY: 'auto',\n } as CSSProperties,\n loadingContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '32px',\n } as CSSProperties,\n loadingIcon: {\n width: '20px',\n height: '20px',\n color: 'var(--theme-elevation-400)',\n animation: 'spin 1s linear infinite',\n } as CSSProperties,\n errorText: {\n fontSize: '14px',\n color: 'var(--theme-error-600)',\n padding: '16px',\n textAlign: 'center',\n } as CSSProperties,\n emptyText: {\n fontSize: '14px',\n color: 'var(--theme-elevation-500)',\n padding: '16px',\n textAlign: 'center',\n } as CSSProperties,\n listContainer: {\n padding: '8px',\n } as CSSProperties,\n versionItem: {\n borderRadius: '6px',\n transition: 'background-color 0.15s',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '10px 12px',\n gap: '12px',\n } as CSSProperties,\n versionInfo: {\n flex: 1,\n minWidth: 0,\n } as CSSProperties,\n versionHeader: {\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n } as CSSProperties,\n versionDate: {\n fontSize: '14px',\n fontWeight: 500,\n color: 'var(--theme-elevation-900)',\n } as CSSProperties,\n badgeCurrent: {\n fontSize: '12px',\n fontWeight: 500,\n borderRadius: '9999px',\n padding: '2px 8px',\n backgroundColor: 'var(--theme-elevation-100)',\n color: 'var(--theme-elevation-700)',\n } as CSSProperties,\n badgePublished: {\n fontSize: '12px',\n fontWeight: 500,\n borderRadius: '9999px',\n padding: '2px 8px',\n backgroundColor: 'var(--theme-success-100)',\n color: 'var(--theme-success-700)',\n } as CSSProperties,\n autosaveText: {\n fontSize: '12px',\n color: 'var(--theme-elevation-400)',\n } as CSSProperties,\n versionDetails: {\n fontSize: '12px',\n color: 'var(--theme-elevation-500)',\n marginTop: '2px',\n } as CSSProperties,\n restoreButton: {\n fontSize: '12px',\n fontWeight: 500,\n color: 'var(--theme-elevation-700)',\n transition: 'color 0.15s',\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n padding: '4px 8px',\n flexShrink: 0,\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n } as CSSProperties,\n restoreButtonDisabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n } as CSSProperties,\n checkIcon: {\n width: '16px',\n height: '16px',\n color: 'var(--theme-elevation-400)',\n flexShrink: 0,\n } as CSSProperties,\n}\n\n/**\n * Version history dropdown for the Puck editor\n *\n * Shows a list of previous versions with the ability to restore them.\n */\nexport const VersionHistory = memo(function VersionHistory({\n pageId,\n apiEndpoint = '/api/puck/pages',\n onRestore,\n disabled,\n}: VersionHistoryProps) {\n const [isOpen, setIsOpen] = useState(false)\n const [isLoading, setIsLoading] = useState(false)\n const [isRestoring, setIsRestoring] = useState(false)\n const [versions, setVersions] = useState<PageVersion[]>([])\n const [error, setError] = useState<string | null>(null)\n const [isAvailable, setIsAvailable] = useState<boolean | null>(null)\n const [hoveredIndex, setHoveredIndex] = useState<number | null>(null)\n const dropdownRef = useRef<HTMLDivElement>(null)\n\n // Check if versions endpoint is available on mount\n useEffect(() => {\n async function checkAvailability() {\n try {\n const response = await fetch(`${apiEndpoint}/${pageId}/versions?limit=1`, {\n method: 'GET',\n })\n setIsAvailable(response.status !== 404)\n } catch {\n setIsAvailable(false)\n }\n }\n checkAvailability()\n }, [apiEndpoint, pageId])\n\n // Close on outside click\n useEffect(() => {\n function handleClickOutside(event: MouseEvent) {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n setIsOpen(false)\n }\n }\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [])\n\n // Fetch versions when dropdown opens\n const fetchVersions = useCallback(async () => {\n setIsLoading(true)\n setError(null)\n try {\n const response = await fetch(`${apiEndpoint}/${pageId}/versions?limit=20`)\n if (!response.ok) {\n throw new Error('Failed to fetch versions')\n }\n const data = await response.json()\n setVersions(data.docs || [])\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load versions')\n console.error('Error fetching versions:', err)\n } finally {\n setIsLoading(false)\n }\n }, [apiEndpoint, pageId])\n\n // Fetch versions when opening\n useEffect(() => {\n if (isOpen) {\n fetchVersions()\n }\n }, [isOpen, fetchVersions])\n\n // Handle version restore\n const handleRestore = useCallback(\n async (version: PageVersion) => {\n if (!confirm(`Restore this version from ${formatDate(version.updatedAt)}? This will overwrite current changes.`)) {\n return\n }\n\n setIsRestoring(true)\n try {\n const response = await fetch(`${apiEndpoint}/${pageId}/versions`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ versionId: version.id }),\n })\n\n if (!response.ok) {\n throw new Error('Failed to restore version')\n }\n\n onRestore?.(version)\n setIsOpen(false)\n window.location.reload()\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to restore version')\n console.error('Error restoring version:', err)\n } finally {\n setIsRestoring(false)\n }\n },\n [apiEndpoint, pageId, onRestore]\n )\n\n // Format date for display\n function formatDate(dateStr: string): string {\n const date = new Date(dateStr)\n const now = new Date()\n const diffMs = now.getTime() - date.getTime()\n const diffMins = Math.floor(diffMs / 60000)\n const diffHours = Math.floor(diffMs / 3600000)\n const diffDays = Math.floor(diffMs / 86400000)\n\n if (diffMins < 1) return 'Just now'\n if (diffMins < 60) return `${diffMins}m ago`\n if (diffHours < 24) return `${diffHours}h ago`\n if (diffDays < 7) return `${diffDays}d ago`\n return date.toLocaleDateString()\n }\n\n // Format time for display\n function formatTime(dateStr: string): string {\n const date = new Date(dateStr)\n return date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })\n }\n\n // Don't render if versions endpoint is not available or still checking\n if (isAvailable !== true) {\n return null\n }\n\n return (\n <div ref={dropdownRef} style={styles.container}>\n {/* Trigger button */}\n <button\n type=\"button\"\n onClick={() => setIsOpen(!isOpen)}\n disabled={disabled}\n style={{\n ...styles.button,\n ...(disabled ? styles.buttonDisabled : {}),\n }}\n >\n <History style={styles.icon} />\n History\n <ChevronDown style={styles.iconSmall} />\n </button>\n\n {/* Dropdown panel */}\n {isOpen && (\n <div style={styles.dropdown}>\n {/* Header */}\n <div style={styles.header}>\n <span style={styles.headerTitle}>Version History</span>\n <button\n type=\"button\"\n onClick={() => setIsOpen(false)}\n style={styles.closeButton}\n >\n <X style={{ width: '16px', height: '16px' }} />\n </button>\n </div>\n\n {/* Content */}\n <div style={styles.content}>\n {isLoading ? (\n <div style={styles.loadingContainer}>\n <Loader2 style={styles.loadingIcon} />\n </div>\n ) : error ? (\n <div style={styles.errorText as CSSProperties}>\n {error}\n </div>\n ) : versions.length === 0 ? (\n <div style={styles.emptyText as CSSProperties}>\n No version history available\n </div>\n ) : (\n <div style={styles.listContainer}>\n {versions.map((version, index) => (\n <div\n key={version.id}\n style={{\n ...styles.versionItem,\n backgroundColor: hoveredIndex === index ? 'var(--theme-elevation-50)' : 'transparent',\n }}\n onMouseEnter={() => setHoveredIndex(index)}\n onMouseLeave={() => setHoveredIndex(null)}\n >\n {/* Version info */}\n <div style={styles.versionInfo}>\n <div style={styles.versionHeader}>\n <span style={styles.versionDate}>\n {formatDate(version.updatedAt)}\n </span>\n {index === 0 && (\n <span style={styles.badgeCurrent}>\n Current\n </span>\n )}\n {version.version._status === 'published' && (\n <span style={styles.badgePublished}>\n Published\n </span>\n )}\n {version.autosave && (\n <span style={styles.autosaveText} title=\"Autosaved\">\n (auto)\n </span>\n )}\n </div>\n <div style={styles.versionDetails}>\n {formatTime(version.updatedAt)}\n {version.version.title && (\n <span> &middot; {version.version.title}</span>\n )}\n </div>\n </div>\n\n {/* Restore button (not for current version) */}\n {index > 0 && (\n <button\n type=\"button\"\n onClick={() => handleRestore(version)}\n disabled={isRestoring}\n style={{\n ...styles.restoreButton,\n ...(isRestoring ? styles.restoreButtonDisabled : {}),\n }}\n >\n {isRestoring ? (\n <Loader2 style={{ width: '12px', height: '12px', animation: 'spin 1s linear infinite' }} />\n ) : (\n <RotateCcw style={{ width: '12px', height: '12px' }} />\n )}\n Restore\n </button>\n )}\n\n {/* Current indicator */}\n {index === 0 && (\n <span style={{ flexShrink: 0 }}>\n <Check style={styles.checkIcon} />\n </span>\n )}\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n )\n})\n"],"names":["useState","useCallback","useEffect","useRef","memo","History","Loader2","Check","RotateCcw","X","ChevronDown","styles","container","position","button","display","alignItems","whiteSpace","padding","fontSize","fontWeight","borderRadius","transition","backgroundColor","color","border","cursor","buttonDisabled","opacity","icon","width","height","marginRight","flexShrink","iconSmall","marginLeft","dropdown","top","right","marginTop","boxShadow","zIndex","maxHeight","overflow","header","borderBottom","justifyContent","headerTitle","closeButton","background","content","overflowY","loadingContainer","loadingIcon","animation","errorText","textAlign","emptyText","listContainer","versionItem","gap","versionInfo","flex","minWidth","versionHeader","versionDate","badgeCurrent","badgePublished","autosaveText","versionDetails","restoreButton","restoreButtonDisabled","checkIcon","VersionHistory","pageId","apiEndpoint","onRestore","disabled","isOpen","setIsOpen","isLoading","setIsLoading","isRestoring","setIsRestoring","versions","setVersions","error","setError","isAvailable","setIsAvailable","hoveredIndex","setHoveredIndex","dropdownRef","checkAvailability","response","fetch","method","status","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","fetchVersions","ok","Error","data","json","docs","err","message","console","handleRestore","version","confirm","formatDate","updatedAt","headers","body","JSON","stringify","versionId","id","window","location","reload","dateStr","date","Date","now","diffMs","getTime","diffMins","Math","floor","diffHours","diffDays","toLocaleDateString","formatTime","toLocaleTimeString","hour","minute","div","ref","style","type","onClick","span","length","map","index","onMouseEnter","onMouseLeave","_status","autosave","title"],"mappings":"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"}
@@ -17,44 +17,52 @@ import { useState, useEffect, useCallback } from 'react';
17
17
  * // Apply dark mode styles
18
18
  * }
19
19
  * ```
20
- */
21
- export function useDarkMode() {
20
+ */ export function useDarkMode() {
22
21
  const [state, setState] = useState({
23
22
  isDarkMode: false,
24
- source: 'none',
23
+ source: 'none'
25
24
  });
26
25
  // Check for dark mode class on document element
27
- const checkDarkModeClass = useCallback(() => {
28
- if (typeof document === 'undefined')
29
- return false;
26
+ const checkDarkModeClass = useCallback(()=>{
27
+ if (typeof document === 'undefined') return false;
30
28
  return document.documentElement.classList.contains('dark');
31
29
  }, []);
32
30
  // Check for OS dark mode preference
33
- const checkMediaQuery = useCallback(() => {
34
- if (typeof window === 'undefined')
35
- return false;
31
+ const checkMediaQuery = useCallback(()=>{
32
+ if (typeof window === 'undefined') return false;
36
33
  return window.matchMedia('(prefers-color-scheme: dark)').matches;
37
34
  }, []);
38
35
  // Compute current dark mode state
39
- const computeState = useCallback(() => {
36
+ const computeState = useCallback(()=>{
40
37
  // Priority 1: Check for .dark class (PayloadCMS)
41
38
  if (checkDarkModeClass()) {
42
- return { isDarkMode: true, source: 'class' };
39
+ return {
40
+ isDarkMode: true,
41
+ source: 'class'
42
+ };
43
43
  }
44
44
  // Priority 2: Check OS preference
45
45
  if (checkMediaQuery()) {
46
- return { isDarkMode: true, source: 'media-query' };
46
+ return {
47
+ isDarkMode: true,
48
+ source: 'media-query'
49
+ };
47
50
  }
48
- return { isDarkMode: false, source: 'none' };
49
- }, [checkDarkModeClass, checkMediaQuery]);
50
- useEffect(() => {
51
+ return {
52
+ isDarkMode: false,
53
+ source: 'none'
54
+ };
55
+ }, [
56
+ checkDarkModeClass,
57
+ checkMediaQuery
58
+ ]);
59
+ useEffect(()=>{
51
60
  // Set initial state
52
61
  setState(computeState());
53
62
  // Watch for class changes on document element
54
- const observer = new MutationObserver((mutations) => {
55
- for (const mutation of mutations) {
56
- if (mutation.type === 'attributes' &&
57
- mutation.attributeName === 'class') {
63
+ const observer = new MutationObserver((mutations)=>{
64
+ for (const mutation of mutations){
65
+ if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
58
66
  setState(computeState());
59
67
  break;
60
68
  }
@@ -62,19 +70,24 @@ export function useDarkMode() {
62
70
  });
63
71
  observer.observe(document.documentElement, {
64
72
  attributes: true,
65
- attributeFilter: ['class'],
73
+ attributeFilter: [
74
+ 'class'
75
+ ]
66
76
  });
67
77
  // Watch for OS preference changes
68
78
  const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
69
- const handleMediaChange = () => {
79
+ const handleMediaChange = ()=>{
70
80
  setState(computeState());
71
81
  };
72
82
  mediaQuery.addEventListener('change', handleMediaChange);
73
- return () => {
83
+ return ()=>{
74
84
  observer.disconnect();
75
85
  mediaQuery.removeEventListener('change', handleMediaChange);
76
86
  };
77
- }, [computeState]);
87
+ }, [
88
+ computeState
89
+ ]);
78
90
  return state;
79
91
  }
92
+
80
93
  //# sourceMappingURL=useDarkMode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDarkMode.js","sourceRoot":"","sources":["../../../src/editor/hooks/useDarkMode.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAqBxD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAoB;QACpD,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,MAAM;KACf,CAAC,CAAA;IAEF,gDAAgD;IAChD,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAY,EAAE;QACnD,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAO,KAAK,CAAA;QACjD,OAAO,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC5D,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,oCAAoC;IACpC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAY,EAAE;QAChD,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,KAAK,CAAA;QAC/C,OAAO,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAA;IAClE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,kCAAkC;IAClC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAsB,EAAE;QACvD,iDAAiD;QACjD,IAAI,kBAAkB,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QAC9C,CAAC;QAED,kCAAkC;QAClC,IAAI,eAAe,EAAE,EAAE,CAAC;YACtB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;QACpD,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9C,CAAC,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAA;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,oBAAoB;QACpB,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;QAExB,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;YAClD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IACE,QAAQ,CAAC,IAAI,KAAK,YAAY;oBAC9B,QAAQ,CAAC,aAAa,KAAK,OAAO,EAClC,CAAC;oBACD,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;oBACxB,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE;YACzC,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAA;QAEF,kCAAkC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAA;QACpE,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC7B,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;QAC1B,CAAC,CAAA;QACD,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;QAExD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,UAAU,EAAE,CAAA;YACrB,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;QAC7D,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"sources":["../../../src/editor/hooks/useDarkMode.ts"],"sourcesContent":["'use client'\n\nimport { useState, useEffect, useCallback } from 'react'\n\n/**\n * Source of dark mode detection\n */\nexport type DarkModeSource = 'class' | 'media-query' | 'none'\n\n/**\n * Return type for useDarkMode hook\n */\nexport interface UseDarkModeReturn {\n /**\n * Whether dark mode is currently active\n */\n isDarkMode: boolean\n /**\n * How dark mode was detected\n */\n source: DarkModeSource\n}\n\n/**\n * Detects dark mode state from PayloadCMS admin or OS preferences.\n *\n * Detection priority:\n * 1. `.dark` class on `document.documentElement` (PayloadCMS admin)\n * 2. `prefers-color-scheme: dark` media query (OS preference)\n *\n * Uses MutationObserver to track class changes in real-time.\n *\n * @example\n * ```tsx\n * const { isDarkMode, source } = useDarkMode()\n *\n * if (isDarkMode) {\n * // Apply dark mode styles\n * }\n * ```\n */\nexport function useDarkMode(): UseDarkModeReturn {\n const [state, setState] = useState<UseDarkModeReturn>({\n isDarkMode: false,\n source: 'none',\n })\n\n // Check for dark mode class on document element\n const checkDarkModeClass = useCallback((): boolean => {\n if (typeof document === 'undefined') return false\n return document.documentElement.classList.contains('dark')\n }, [])\n\n // Check for OS dark mode preference\n const checkMediaQuery = useCallback((): boolean => {\n if (typeof window === 'undefined') return false\n return window.matchMedia('(prefers-color-scheme: dark)').matches\n }, [])\n\n // Compute current dark mode state\n const computeState = useCallback((): UseDarkModeReturn => {\n // Priority 1: Check for .dark class (PayloadCMS)\n if (checkDarkModeClass()) {\n return { isDarkMode: true, source: 'class' }\n }\n\n // Priority 2: Check OS preference\n if (checkMediaQuery()) {\n return { isDarkMode: true, source: 'media-query' }\n }\n\n return { isDarkMode: false, source: 'none' }\n }, [checkDarkModeClass, checkMediaQuery])\n\n useEffect(() => {\n // Set initial state\n setState(computeState())\n\n // Watch for class changes on document element\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'class'\n ) {\n setState(computeState())\n break\n }\n }\n })\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['class'],\n })\n\n // Watch for OS preference changes\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n const handleMediaChange = () => {\n setState(computeState())\n }\n mediaQuery.addEventListener('change', handleMediaChange)\n\n return () => {\n observer.disconnect()\n mediaQuery.removeEventListener('change', handleMediaChange)\n }\n }, [computeState])\n\n return state\n}\n"],"names":["useState","useEffect","useCallback","useDarkMode","state","setState","isDarkMode","source","checkDarkModeClass","document","documentElement","classList","contains","checkMediaQuery","window","matchMedia","matches","computeState","observer","MutationObserver","mutations","mutation","type","attributeName","observe","attributes","attributeFilter","mediaQuery","handleMediaChange","addEventListener","disconnect","removeEventListener"],"mappings":"AAAA;AAEA,SAASA,QAAQ,EAAEC,SAAS,EAAEC,WAAW,QAAQ,QAAO;AAqBxD;;;;;;;;;;;;;;;;;CAiBC,GACD,OAAO,SAASC;IACd,MAAM,CAACC,OAAOC,SAAS,GAAGL,SAA4B;QACpDM,YAAY;QACZC,QAAQ;IACV;IAEA,gDAAgD;IAChD,MAAMC,qBAAqBN,YAAY;QACrC,IAAI,OAAOO,aAAa,aAAa,OAAO;QAC5C,OAAOA,SAASC,eAAe,CAACC,SAAS,CAACC,QAAQ,CAAC;IACrD,GAAG,EAAE;IAEL,oCAAoC;IACpC,MAAMC,kBAAkBX,YAAY;QAClC,IAAI,OAAOY,WAAW,aAAa,OAAO;QAC1C,OAAOA,OAAOC,UAAU,CAAC,gCAAgCC,OAAO;IAClE,GAAG,EAAE;IAEL,kCAAkC;IAClC,MAAMC,eAAef,YAAY;QAC/B,iDAAiD;QACjD,IAAIM,sBAAsB;YACxB,OAAO;gBAAEF,YAAY;gBAAMC,QAAQ;YAAQ;QAC7C;QAEA,kCAAkC;QAClC,IAAIM,mBAAmB;YACrB,OAAO;gBAAEP,YAAY;gBAAMC,QAAQ;YAAc;QACnD;QAEA,OAAO;YAAED,YAAY;YAAOC,QAAQ;QAAO;IAC7C,GAAG;QAACC;QAAoBK;KAAgB;IAExCZ,UAAU;QACR,oBAAoB;QACpBI,SAASY;QAET,8CAA8C;QAC9C,MAAMC,WAAW,IAAIC,iBAAiB,CAACC;YACrC,KAAK,MAAMC,YAAYD,UAAW;gBAChC,IACEC,SAASC,IAAI,KAAK,gBAClBD,SAASE,aAAa,KAAK,SAC3B;oBACAlB,SAASY;oBACT;gBACF;YACF;QACF;QAEAC,SAASM,OAAO,CAACf,SAASC,eAAe,EAAE;YACzCe,YAAY;YACZC,iBAAiB;gBAAC;aAAQ;QAC5B;QAEA,kCAAkC;QAClC,MAAMC,aAAab,OAAOC,UAAU,CAAC;QACrC,MAAMa,oBAAoB;YACxBvB,SAASY;QACX;QACAU,WAAWE,gBAAgB,CAAC,UAAUD;QAEtC,OAAO;YACLV,SAASY,UAAU;YACnBH,WAAWI,mBAAmB,CAAC,UAAUH;QAC3C;IACF,GAAG;QAACX;KAAa;IAEjB,OAAOb;AACT"}
@@ -19,16 +19,15 @@ import { useState, useEffect, useCallback, useRef } from 'react';
19
19
  * markClean()
20
20
  * }
21
21
  * ```
22
- */
23
- export function useUnsavedChanges() {
22
+ */ export function useUnsavedChanges() {
24
23
  const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false);
25
24
  // Use a ref to track the latest value for the beforeunload handler
26
25
  // This ensures the handler always checks the current value, not a stale closure
27
26
  const hasUnsavedChangesRef = useRef(hasUnsavedChanges);
28
27
  hasUnsavedChangesRef.current = hasUnsavedChanges;
29
28
  // Register beforeunload handler once (uses ref for latest value)
30
- useEffect(() => {
31
- const handleBeforeUnload = (e) => {
29
+ useEffect(()=>{
30
+ const handleBeforeUnload = (e)=>{
32
31
  if (hasUnsavedChangesRef.current) {
33
32
  e.preventDefault();
34
33
  // Modern browsers ignore custom messages but still show a warning
@@ -36,20 +35,21 @@ export function useUnsavedChanges() {
36
35
  }
37
36
  };
38
37
  window.addEventListener('beforeunload', handleBeforeUnload);
39
- return () => window.removeEventListener('beforeunload', handleBeforeUnload);
38
+ return ()=>window.removeEventListener('beforeunload', handleBeforeUnload);
40
39
  }, []);
41
- const markClean = useCallback(() => {
40
+ const markClean = useCallback(()=>{
42
41
  hasUnsavedChangesRef.current = false; // Update ref immediately for beforeunload
43
42
  setHasUnsavedChanges(false);
44
43
  }, []);
45
- const markDirty = useCallback(() => {
44
+ const markDirty = useCallback(()=>{
46
45
  hasUnsavedChangesRef.current = true; // Update ref immediately for beforeunload
47
46
  setHasUnsavedChanges(true);
48
47
  }, []);
49
48
  return {
50
49
  hasUnsavedChanges,
51
50
  markClean,
52
- markDirty,
51
+ markDirty
53
52
  };
54
53
  }
54
+
55
55
  //# sourceMappingURL=useUnsavedChanges.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUnsavedChanges.js","sourceRoot":"","sources":["../../../src/editor/hooks/useUnsavedChanges.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAQhE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjE,mEAAmE;IACnE,gFAAgF;IAChF,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACtD,oBAAoB,CAAC,OAAO,GAAG,iBAAiB,CAAA;IAEhD,iEAAiE;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,kBAAkB,GAAG,CAAC,CAAoB,EAAE,EAAE;YAClD,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;gBACjC,CAAC,CAAC,cAAc,EAAE,CAAA;gBAClB,kEAAkE;gBAClE,CAAC,CAAC,WAAW,GAAG,EAAE,CAAA;YACpB,CAAC;QACH,CAAC,CAAA;QAED,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;QAC3D,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;IAC7E,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,oBAAoB,CAAC,OAAO,GAAG,KAAK,CAAA,CAAC,0CAA0C;QAC/E,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAA,CAAC,0CAA0C;QAC9E,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO;QACL,iBAAiB;QACjB,SAAS;QACT,SAAS;KACV,CAAA;AACH,CAAC"}
1
+ {"version":3,"sources":["../../../src/editor/hooks/useUnsavedChanges.ts"],"sourcesContent":["'use client'\n\nimport { useState, useEffect, useCallback, useRef } from 'react'\n\nexport interface UseUnsavedChangesReturn {\n hasUnsavedChanges: boolean\n markClean: () => void\n markDirty: () => void\n}\n\n/**\n * Hook to track unsaved changes and warn before navigation\n *\n * Registers a beforeunload handler to prevent accidental navigation\n * when there are unsaved changes.\n *\n * @example\n * ```tsx\n * const { hasUnsavedChanges, markClean, markDirty } = useUnsavedChanges()\n *\n * const handleChange = () => {\n * markDirty()\n * }\n *\n * const handleSave = async () => {\n * await save()\n * markClean()\n * }\n * ```\n */\nexport function useUnsavedChanges(): UseUnsavedChangesReturn {\n const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false)\n\n // Use a ref to track the latest value for the beforeunload handler\n // This ensures the handler always checks the current value, not a stale closure\n const hasUnsavedChangesRef = useRef(hasUnsavedChanges)\n hasUnsavedChangesRef.current = hasUnsavedChanges\n\n // Register beforeunload handler once (uses ref for latest value)\n useEffect(() => {\n const handleBeforeUnload = (e: BeforeUnloadEvent) => {\n if (hasUnsavedChangesRef.current) {\n e.preventDefault()\n // Modern browsers ignore custom messages but still show a warning\n e.returnValue = ''\n }\n }\n\n window.addEventListener('beforeunload', handleBeforeUnload)\n return () => window.removeEventListener('beforeunload', handleBeforeUnload)\n }, [])\n\n const markClean = useCallback(() => {\n hasUnsavedChangesRef.current = false // Update ref immediately for beforeunload\n setHasUnsavedChanges(false)\n }, [])\n\n const markDirty = useCallback(() => {\n hasUnsavedChangesRef.current = true // Update ref immediately for beforeunload\n setHasUnsavedChanges(true)\n }, [])\n\n return {\n hasUnsavedChanges,\n markClean,\n markDirty,\n }\n}\n"],"names":["useState","useEffect","useCallback","useRef","useUnsavedChanges","hasUnsavedChanges","setHasUnsavedChanges","hasUnsavedChangesRef","current","handleBeforeUnload","e","preventDefault","returnValue","window","addEventListener","removeEventListener","markClean","markDirty"],"mappings":"AAAA;AAEA,SAASA,QAAQ,EAAEC,SAAS,EAAEC,WAAW,EAAEC,MAAM,QAAQ,QAAO;AAQhE;;;;;;;;;;;;;;;;;;;CAmBC,GACD,OAAO,SAASC;IACd,MAAM,CAACC,mBAAmBC,qBAAqB,GAAGN,SAAS;IAE3D,mEAAmE;IACnE,gFAAgF;IAChF,MAAMO,uBAAuBJ,OAAOE;IACpCE,qBAAqBC,OAAO,GAAGH;IAE/B,iEAAiE;IACjEJ,UAAU;QACR,MAAMQ,qBAAqB,CAACC;YAC1B,IAAIH,qBAAqBC,OAAO,EAAE;gBAChCE,EAAEC,cAAc;gBAChB,kEAAkE;gBAClED,EAAEE,WAAW,GAAG;YAClB;QACF;QAEAC,OAAOC,gBAAgB,CAAC,gBAAgBL;QACxC,OAAO,IAAMI,OAAOE,mBAAmB,CAAC,gBAAgBN;IAC1D,GAAG,EAAE;IAEL,MAAMO,YAAYd,YAAY;QAC5BK,qBAAqBC,OAAO,GAAG,OAAM,0CAA0C;QAC/EF,qBAAqB;IACvB,GAAG,EAAE;IAEL,MAAMW,YAAYf,YAAY;QAC5BK,qBAAqBC,OAAO,GAAG,MAAK,0CAA0C;QAC9EF,qBAAqB;IACvB,GAAG,EAAE;IAEL,OAAO;QACLD;QACAW;QACAC;IACF;AACF"}
@@ -41,22 +41,20 @@
41
41
  * pageSegment={page.pageSegment}
42
42
  * />
43
43
  * ```
44
- */
45
- // Main editor component
44
+ */ // Main editor component
46
45
  export { PuckEditor } from './PuckEditor.js';
47
46
  // Ready-to-use editor page component (auto-fetches page data from route params)
48
47
  export { PuckEditorView } from '../admin/PuckEditorView.js';
49
48
  // Sub-components for advanced customization
50
49
  export { HeaderActions } from './components/HeaderActions.js';
51
- export { IframeWrapper, PuckPreviewThemeContext, usePuckPreviewTheme, } from './components/IframeWrapper.js';
50
+ export { IframeWrapper, PuckPreviewThemeContext, usePuckPreviewTheme } from './components/IframeWrapper.js';
52
51
  export { LoadingState } from './components/LoadingState.js';
53
52
  export { PreviewModal } from './components/PreviewModal.js';
54
53
  export { DarkModeStyles } from './components/DarkModeStyles.js';
55
54
  export { PreviewModeToggle } from './components/PreviewModeToggle.js';
56
55
  /**
57
56
  * @deprecated Use createVersionHistoryPlugin instead. VersionHistory has moved to the plugin rail.
58
- */
59
- export { VersionHistory } from './components/VersionHistory.js';
57
+ */ export { VersionHistory } from './components/VersionHistory.js';
60
58
  // Utilities
61
59
  export { injectPageTreeFields } from './utils/injectPageTreeFields.js';
62
60
  export { detectPageTree, hasPageTreeFields } from './utils/detectPageTree.js';
@@ -65,5 +63,6 @@ export { useUnsavedChanges } from './hooks/useUnsavedChanges.js';
65
63
  export { useDarkMode } from './hooks/useDarkMode.js';
66
64
  // Plugins
67
65
  export { headingAnalyzer } from './plugins/index.js';
68
- export { createVersionHistoryPlugin, VersionHistoryPanel, } from './plugins/index.js';
66
+ export { createVersionHistoryPlugin, VersionHistoryPanel } from './plugins/index.js';
67
+
69
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,wBAAwB;AACxB,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAA;AAElE,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAA4B,MAAM,4BAA4B,CAAA;AAErF,4CAA4C;AAC5C,OAAO,EAAE,aAAa,EAA2B,MAAM,+BAA+B,CAAA;AACtF,OAAO,EACL,aAAa,EAGb,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,YAAY,EAA0B,MAAM,8BAA8B,CAAA;AACnF,OAAO,EAAE,YAAY,EAA0B,MAAM,8BAA8B,CAAA;AACnF,OAAO,EAAE,cAAc,EAA4B,MAAM,gCAAgC,CAAA;AACzF,OAAO,EAAE,iBAAiB,EAA+B,MAAM,mCAAmC,CAAA;AAClG;;GAEG;AACH,OAAO,EAAE,cAAc,EAA8C,MAAM,gCAAgC,CAAA;AAE3G,YAAY;AACZ,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7E,QAAQ;AACR,OAAO,EAAE,iBAAiB,EAAgC,MAAM,8BAA8B,CAAA;AAC9F,OAAO,EAAE,WAAW,EAA+C,MAAM,wBAAwB,CAAA;AAEjG,UAAU;AACV,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EACL,0BAA0B,EAE1B,mBAAmB,GAEpB,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"sources":["../../src/editor/index.ts"],"sourcesContent":["'use client'\n\n/**\n * @delmaredigital/payload-puck/editor\n *\n * Full-featured Puck editor component with built-in page-tree support,\n * dynamic loading, unsaved changes tracking, and theme-aware preview.\n *\n * @example Basic usage\n * ```tsx\n * 'use client'\n *\n * import { PuckEditor } from '@delmaredigital/payload-puck/editor'\n * import { editorConfig } from '@delmaredigital/payload-puck/config/editor'\n *\n * export function PageEditor({ page }) {\n * return (\n * <PuckEditor\n * pageId={page.id}\n * initialData={page.puckData}\n * config={editorConfig}\n * pageTitle={page.title}\n * pageSlug={page.slug}\n * apiEndpoint=\"/api/puck/pages\"\n * backUrl=\"/admin/pages\"\n * />\n * )\n * }\n * ```\n *\n * @example With page-tree integration\n * ```tsx\n * <PuckEditor\n * pageId={page.id}\n * initialData={page.puckData}\n * config={editorConfig}\n * pageTitle={page.title}\n * pageSlug={page.slug}\n * apiEndpoint=\"/api/puck/pages\"\n * hasPageTree={true}\n * folder={page.folder}\n * pageSegment={page.pageSegment}\n * />\n * ```\n */\n\n// Main editor component\nexport { PuckEditor, type PuckEditorProps } from './PuckEditor.js'\n\n// Ready-to-use editor page component (auto-fetches page data from route params)\nexport { PuckEditorView, type PuckEditorViewProps } from '../admin/PuckEditorView.js'\n\n// Sub-components for advanced customization\nexport { HeaderActions, type HeaderActionsProps } from './components/HeaderActions.js'\nexport {\n IframeWrapper,\n type IframeWrapperProps,\n type LayoutStyle,\n PuckPreviewThemeContext,\n usePuckPreviewTheme,\n} from './components/IframeWrapper.js'\nexport { LoadingState, type LoadingStateProps } from './components/LoadingState.js'\nexport { PreviewModal, type PreviewModalProps } from './components/PreviewModal.js'\nexport { DarkModeStyles, type DarkModeStylesProps } from './components/DarkModeStyles.js'\nexport { PreviewModeToggle, type PreviewModeToggleProps } from './components/PreviewModeToggle.js'\n/**\n * @deprecated Use createVersionHistoryPlugin instead. VersionHistory has moved to the plugin rail.\n */\nexport { VersionHistory, type VersionHistoryProps, type PageVersion } from './components/VersionHistory.js'\n\n// Utilities\nexport { injectPageTreeFields } from './utils/injectPageTreeFields.js'\nexport { detectPageTree, hasPageTreeFields } from './utils/detectPageTree.js'\n\n// Hooks\nexport { useUnsavedChanges, type UseUnsavedChangesReturn } from './hooks/useUnsavedChanges.js'\nexport { useDarkMode, type UseDarkModeReturn, type DarkModeSource } from './hooks/useDarkMode.js'\n\n// Plugins\nexport { headingAnalyzer } from './plugins/index.js'\nexport {\n createVersionHistoryPlugin,\n type VersionHistoryPluginOptions,\n VersionHistoryPanel,\n type VersionHistoryPanelProps,\n} from './plugins/index.js'\n"],"names":["PuckEditor","PuckEditorView","HeaderActions","IframeWrapper","PuckPreviewThemeContext","usePuckPreviewTheme","LoadingState","PreviewModal","DarkModeStyles","PreviewModeToggle","VersionHistory","injectPageTreeFields","detectPageTree","hasPageTreeFields","useUnsavedChanges","useDarkMode","headingAnalyzer","createVersionHistoryPlugin","VersionHistoryPanel"],"mappings":"AAAA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CC,GAED,wBAAwB;AACxB,SAASA,UAAU,QAA8B,kBAAiB;AAElE,gFAAgF;AAChF,SAASC,cAAc,QAAkC,6BAA4B;AAErF,4CAA4C;AAC5C,SAASC,aAAa,QAAiC,gCAA+B;AACtF,SACEC,aAAa,EAGbC,uBAAuB,EACvBC,mBAAmB,QACd,gCAA+B;AACtC,SAASC,YAAY,QAAgC,+BAA8B;AACnF,SAASC,YAAY,QAAgC,+BAA8B;AACnF,SAASC,cAAc,QAAkC,iCAAgC;AACzF,SAASC,iBAAiB,QAAqC,oCAAmC;AAClG;;CAEC,GACD,SAASC,cAAc,QAAoD,iCAAgC;AAE3G,YAAY;AACZ,SAASC,oBAAoB,QAAQ,kCAAiC;AACtE,SAASC,cAAc,EAAEC,iBAAiB,QAAQ,4BAA2B;AAE7E,QAAQ;AACR,SAASC,iBAAiB,QAAsC,+BAA8B;AAC9F,SAASC,WAAW,QAAqD,yBAAwB;AAEjG,UAAU;AACV,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SACEC,0BAA0B,EAE1BC,mBAAmB,QAEd,qBAAoB"}