@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,29 +1,34 @@
1
1
  /**
2
2
  * Collection slug for AI prompts
3
3
  * Matches the auto-generated collection from createPuckPlugin
4
- */
5
- const COLLECTION = 'puck-ai-prompts';
4
+ */ const COLLECTION = 'puck-ai-prompts';
6
5
  /**
7
6
  * List all AI prompts, sorted by order
8
7
  *
9
8
  * GET /api/puck/ai-prompts
10
- */
11
- export function createPromptsListHandler() {
12
- return async (req) => {
9
+ */ export function createPromptsListHandler() {
10
+ return async (req)=>{
13
11
  if (!req.user) {
14
- return Response.json({ error: 'Unauthorized' }, { status: 401 });
12
+ return Response.json({
13
+ error: 'Unauthorized'
14
+ }, {
15
+ status: 401
16
+ });
15
17
  }
16
18
  try {
17
19
  const result = await req.payload.find({
18
20
  collection: COLLECTION,
19
21
  sort: 'order',
20
- limit: 100, // Reasonable limit for prompts
22
+ limit: 100
21
23
  });
22
24
  return Response.json(result);
23
- }
24
- catch (e) {
25
+ } catch (e) {
25
26
  console.error('[payload-puck] Error listing prompts:', e);
26
- return Response.json({ error: e instanceof Error ? e.message : 'Failed to list prompts' }, { status: 500 });
27
+ return Response.json({
28
+ error: e instanceof Error ? e.message : 'Failed to list prompts'
29
+ }, {
30
+ status: 500
31
+ });
27
32
  }
28
33
  };
29
34
  }
@@ -32,26 +37,36 @@ export function createPromptsListHandler() {
32
37
  *
33
38
  * POST /api/puck/ai-prompts
34
39
  * Body: { label: string, prompt: string, category?: string, order?: number }
35
- */
36
- export function createPromptsCreateHandler() {
37
- return async (req) => {
40
+ */ export function createPromptsCreateHandler() {
41
+ return async (req)=>{
38
42
  if (!req.user) {
39
- return Response.json({ error: 'Unauthorized' }, { status: 401 });
43
+ return Response.json({
44
+ error: 'Unauthorized'
45
+ }, {
46
+ status: 401
47
+ });
40
48
  }
41
49
  try {
42
50
  const data = await req.json?.();
43
51
  if (!data) {
44
- return Response.json({ error: 'Request body is required' }, { status: 400 });
52
+ return Response.json({
53
+ error: 'Request body is required'
54
+ }, {
55
+ status: 400
56
+ });
45
57
  }
46
58
  const doc = await req.payload.create({
47
59
  collection: COLLECTION,
48
- data,
60
+ data
49
61
  });
50
62
  return Response.json(doc);
51
- }
52
- catch (e) {
63
+ } catch (e) {
53
64
  console.error('[payload-puck] Error creating prompt:', e);
54
- return Response.json({ error: e instanceof Error ? e.message : 'Failed to create prompt' }, { status: 500 });
65
+ return Response.json({
66
+ error: e instanceof Error ? e.message : 'Failed to create prompt'
67
+ }, {
68
+ status: 500
69
+ });
55
70
  }
56
71
  };
57
72
  }
@@ -60,31 +75,45 @@ export function createPromptsCreateHandler() {
60
75
  *
61
76
  * PATCH /api/puck/ai-prompts/:id
62
77
  * Body: { label?: string, prompt?: string, category?: string, order?: number }
63
- */
64
- export function createPromptsUpdateHandler() {
65
- return async (req) => {
78
+ */ export function createPromptsUpdateHandler() {
79
+ return async (req)=>{
66
80
  if (!req.user) {
67
- return Response.json({ error: 'Unauthorized' }, { status: 401 });
81
+ return Response.json({
82
+ error: 'Unauthorized'
83
+ }, {
84
+ status: 401
85
+ });
68
86
  }
69
87
  const id = req.routeParams?.id;
70
88
  if (!id) {
71
- return Response.json({ error: 'Prompt ID is required' }, { status: 400 });
89
+ return Response.json({
90
+ error: 'Prompt ID is required'
91
+ }, {
92
+ status: 400
93
+ });
72
94
  }
73
95
  try {
74
96
  const data = await req.json?.();
75
97
  if (!data) {
76
- return Response.json({ error: 'Request body is required' }, { status: 400 });
98
+ return Response.json({
99
+ error: 'Request body is required'
100
+ }, {
101
+ status: 400
102
+ });
77
103
  }
78
104
  const doc = await req.payload.update({
79
105
  collection: COLLECTION,
80
106
  id,
81
- data,
107
+ data
82
108
  });
83
109
  return Response.json(doc);
84
- }
85
- catch (e) {
110
+ } catch (e) {
86
111
  console.error('[payload-puck] Error updating prompt:', e);
87
- return Response.json({ error: e instanceof Error ? e.message : 'Failed to update prompt' }, { status: 500 });
112
+ return Response.json({
113
+ error: e instanceof Error ? e.message : 'Failed to update prompt'
114
+ }, {
115
+ status: 500
116
+ });
88
117
  }
89
118
  };
90
119
  }
@@ -92,27 +121,40 @@ export function createPromptsUpdateHandler() {
92
121
  * Delete an AI prompt
93
122
  *
94
123
  * DELETE /api/puck/ai-prompts/:id
95
- */
96
- export function createPromptsDeleteHandler() {
97
- return async (req) => {
124
+ */ export function createPromptsDeleteHandler() {
125
+ return async (req)=>{
98
126
  if (!req.user) {
99
- return Response.json({ error: 'Unauthorized' }, { status: 401 });
127
+ return Response.json({
128
+ error: 'Unauthorized'
129
+ }, {
130
+ status: 401
131
+ });
100
132
  }
101
133
  const id = req.routeParams?.id;
102
134
  if (!id) {
103
- return Response.json({ error: 'Prompt ID is required' }, { status: 400 });
135
+ return Response.json({
136
+ error: 'Prompt ID is required'
137
+ }, {
138
+ status: 400
139
+ });
104
140
  }
105
141
  try {
106
142
  await req.payload.delete({
107
143
  collection: COLLECTION,
108
- id,
144
+ id
109
145
  });
110
- return Response.json({ success: true });
111
- }
112
- catch (e) {
146
+ return Response.json({
147
+ success: true
148
+ });
149
+ } catch (e) {
113
150
  console.error('[payload-puck] Error deleting prompt:', e);
114
- return Response.json({ error: e instanceof Error ? e.message : 'Failed to delete prompt' }, { status: 500 });
151
+ return Response.json({
152
+ error: e instanceof Error ? e.message : 'Failed to delete prompt'
153
+ }, {
154
+ status: 500
155
+ });
115
156
  }
116
157
  };
117
158
  }
159
+
118
160
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/endpoints/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/endpoints/prompts.ts"],"sourcesContent":["import type { PayloadHandler } from 'payload'\n\n/**\n * Collection slug for AI prompts\n * Matches the auto-generated collection from createPuckPlugin\n */\nconst COLLECTION = 'puck-ai-prompts'\n\n/**\n * List all AI prompts, sorted by order\n *\n * GET /api/puck/ai-prompts\n */\nexport function createPromptsListHandler(): PayloadHandler {\n return async (req) => {\n if (!req.user) {\n return Response.json({ error: 'Unauthorized' }, { status: 401 })\n }\n\n try {\n const result = await req.payload.find({\n collection: COLLECTION,\n sort: 'order',\n limit: 100, // Reasonable limit for prompts\n })\n return Response.json(result)\n } catch (e) {\n console.error('[payload-puck] Error listing prompts:', e)\n return Response.json(\n { error: e instanceof Error ? e.message : 'Failed to list prompts' },\n { status: 500 }\n )\n }\n }\n}\n\n/**\n * Create a new AI prompt\n *\n * POST /api/puck/ai-prompts\n * Body: { label: string, prompt: string, category?: string, order?: number }\n */\nexport function createPromptsCreateHandler(): PayloadHandler {\n return async (req) => {\n if (!req.user) {\n return Response.json({ error: 'Unauthorized' }, { status: 401 })\n }\n\n try {\n const data = await req.json?.()\n if (!data) {\n return Response.json({ error: 'Request body is required' }, { status: 400 })\n }\n\n const doc = await req.payload.create({\n collection: COLLECTION,\n data,\n })\n return Response.json(doc)\n } catch (e) {\n console.error('[payload-puck] Error creating prompt:', e)\n return Response.json(\n { error: e instanceof Error ? e.message : 'Failed to create prompt' },\n { status: 500 }\n )\n }\n }\n}\n\n/**\n * Update an existing AI prompt\n *\n * PATCH /api/puck/ai-prompts/:id\n * Body: { label?: string, prompt?: string, category?: string, order?: number }\n */\nexport function createPromptsUpdateHandler(): PayloadHandler {\n return async (req) => {\n if (!req.user) {\n return Response.json({ error: 'Unauthorized' }, { status: 401 })\n }\n\n const id = req.routeParams?.id as string\n if (!id) {\n return Response.json({ error: 'Prompt ID is required' }, { status: 400 })\n }\n\n try {\n const data = await req.json?.()\n if (!data) {\n return Response.json({ error: 'Request body is required' }, { status: 400 })\n }\n\n const doc = await req.payload.update({\n collection: COLLECTION,\n id,\n data,\n })\n return Response.json(doc)\n } catch (e) {\n console.error('[payload-puck] Error updating prompt:', e)\n return Response.json(\n { error: e instanceof Error ? e.message : 'Failed to update prompt' },\n { status: 500 }\n )\n }\n }\n}\n\n/**\n * Delete an AI prompt\n *\n * DELETE /api/puck/ai-prompts/:id\n */\nexport function createPromptsDeleteHandler(): PayloadHandler {\n return async (req) => {\n if (!req.user) {\n return Response.json({ error: 'Unauthorized' }, { status: 401 })\n }\n\n const id = req.routeParams?.id as string\n if (!id) {\n return Response.json({ error: 'Prompt ID is required' }, { status: 400 })\n }\n\n try {\n await req.payload.delete({\n collection: COLLECTION,\n id,\n })\n return Response.json({ success: true })\n } catch (e) {\n console.error('[payload-puck] Error deleting prompt:', e)\n return Response.json(\n { error: e instanceof Error ? e.message : 'Failed to delete prompt' },\n { status: 500 }\n )\n }\n }\n}\n"],"names":["COLLECTION","createPromptsListHandler","req","user","Response","json","error","status","result","payload","find","collection","sort","limit","e","console","Error","message","createPromptsCreateHandler","data","doc","create","createPromptsUpdateHandler","id","routeParams","update","createPromptsDeleteHandler","delete","success"],"mappings":"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"}
@@ -4,24 +4,21 @@
4
4
  * Compiles and serves CSS for the editor iframe.
5
5
  * Uses the consumer's PostCSS/Tailwind installation via peer dependencies.
6
6
  * Loads the project's postcss.config.js for proper plugin configuration.
7
- */
8
- import { readFileSync, statSync, existsSync } from 'fs';
7
+ */ import { readFileSync, statSync, existsSync } from 'fs';
9
8
  import { join } from 'path';
10
9
  const cssCache = new Map();
11
10
  /**
12
11
  * Compile CSS using PostCSS with the project's configuration
13
12
  * Loads postcss.config.js from project root for proper plugin setup
14
13
  * Falls back to minimal Tailwind-only config if no config file found
15
- */
16
- async function compileCss(css, filePath) {
14
+ */ async function compileCss(css, filePath) {
17
15
  try {
18
16
  // Dynamic import to use consumer's PostCSS installation
19
17
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
18
  let postcss;
21
19
  try {
22
20
  postcss = (await import(/* webpackIgnore: true */ 'postcss')).default;
23
- }
24
- catch {
21
+ } catch {
25
22
  console.warn('[payload-puck] PostCSS not found. CSS will not be processed. Install postcss as a dependency.');
26
23
  return css;
27
24
  }
@@ -33,9 +30,7 @@ async function compileCss(css, filePath) {
33
30
  try {
34
31
  // Dynamic import of postcss-load-config (optional peer dependency)
35
32
  // This package is commonly installed alongside PostCSS
36
- const loadConfigModule = await import(
37
- /* webpackIgnore: true */
38
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
33
+ const loadConfigModule = await import(/* webpackIgnore: true */ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
39
34
  // @ts-ignore - optional dependency may not have types
40
35
  'postcss-load-config');
41
36
  const postcssLoadConfig = loadConfigModule.default;
@@ -43,32 +38,34 @@ async function compileCss(css, filePath) {
43
38
  const { plugins } = await postcssLoadConfig({}, process.cwd());
44
39
  processor = postcss(plugins);
45
40
  usedProjectConfig = true;
46
- }
47
- catch {
41
+ } catch {
48
42
  // postcss-load-config not available or no config found - this is fine
49
43
  // Fall back to direct Tailwind import silently
50
44
  // Try Tailwind v4 first (@tailwindcss/postcss)
51
45
  try {
52
46
  const tailwindcss = (await import(/* webpackIgnore: true */ '@tailwindcss/postcss')).default;
53
- processor = postcss([tailwindcss]);
54
- }
55
- catch {
47
+ processor = postcss([
48
+ tailwindcss
49
+ ]);
50
+ } catch {
56
51
  // Fall back to Tailwind v3 (tailwindcss)
57
52
  try {
58
53
  const tailwindcss = (await import(/* webpackIgnore: true */ 'tailwindcss')).default;
59
- processor = postcss([tailwindcss]);
60
- }
61
- catch {
54
+ processor = postcss([
55
+ tailwindcss
56
+ ]);
57
+ } catch {
62
58
  // No Tailwind available - just return the CSS as-is
63
59
  console.warn('[payload-puck] No Tailwind CSS installation found. CSS will not be processed.');
64
60
  return css;
65
61
  }
66
62
  }
67
63
  }
68
- const result = await processor.process(css, { from: filePath });
64
+ const result = await processor.process(css, {
65
+ from: filePath
66
+ });
69
67
  return result.css;
70
- }
71
- catch (error) {
68
+ } catch (error) {
72
69
  console.error('[payload-puck] CSS compilation error:', error);
73
70
  throw error;
74
71
  }
@@ -78,9 +75,8 @@ async function compileCss(css, filePath) {
78
75
  *
79
76
  * @param cssFilePath - Path to CSS file relative to project root
80
77
  * @returns PayloadHandler that serves compiled CSS
81
- */
82
- export function createStylesHandler(cssFilePath) {
83
- return async () => {
78
+ */ export function createStylesHandler(cssFilePath) {
79
+ return async ()=>{
84
80
  try {
85
81
  const fullPath = join(process.cwd(), cssFilePath);
86
82
  // Check if file exists
@@ -89,8 +85,8 @@ export function createStylesHandler(cssFilePath) {
89
85
  return new Response(`/* CSS file not found: ${cssFilePath} */`, {
90
86
  status: 404,
91
87
  headers: {
92
- 'Content-Type': 'text/css',
93
- },
88
+ 'Content-Type': 'text/css'
89
+ }
94
90
  });
95
91
  }
96
92
  // Get file modification time for cache invalidation
@@ -103,36 +99,38 @@ export function createStylesHandler(cssFilePath) {
103
99
  headers: {
104
100
  'Content-Type': 'text/css',
105
101
  'Cache-Control': 'public, max-age=31536000, immutable',
106
- 'X-Puck-Cache': 'hit',
107
- },
102
+ 'X-Puck-Cache': 'hit'
103
+ }
108
104
  });
109
105
  }
110
106
  // Read and compile CSS
111
107
  const rawCss = readFileSync(fullPath, 'utf-8');
112
108
  const compiledCss = await compileCss(rawCss, fullPath);
113
109
  // Update cache
114
- cssCache.set(cssFilePath, { css: compiledCss, mtime });
110
+ cssCache.set(cssFilePath, {
111
+ css: compiledCss,
112
+ mtime
113
+ });
115
114
  return new Response(compiledCss, {
116
115
  headers: {
117
116
  'Content-Type': 'text/css',
118
117
  'Cache-Control': 'public, max-age=31536000, immutable',
119
- 'X-Puck-Cache': 'miss',
120
- },
118
+ 'X-Puck-Cache': 'miss'
119
+ }
121
120
  });
122
- }
123
- catch (error) {
121
+ } catch (error) {
124
122
  console.error('[payload-puck] Styles endpoint error:', error);
125
123
  return new Response(`/* Error compiling CSS: ${error instanceof Error ? error.message : 'Unknown error'} */`, {
126
124
  status: 500,
127
125
  headers: {
128
- 'Content-Type': 'text/css',
129
- },
126
+ 'Content-Type': 'text/css'
127
+ }
130
128
  });
131
129
  }
132
130
  };
133
131
  }
134
132
  /**
135
133
  * Helper constant for the styles endpoint URL
136
- */
137
- export const PUCK_STYLES_ENDPOINT = '/api/puck/styles';
134
+ */ export const PUCK_STYLES_ENDPOINT = '/api/puck/styles';
135
+
138
136
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/endpoints/styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/endpoints/styles.ts"],"sourcesContent":["/**\n * Styles Endpoint Handler\n *\n * Compiles and serves CSS for the editor iframe.\n * Uses the consumer's PostCSS/Tailwind installation via peer dependencies.\n * Loads the project's postcss.config.js for proper plugin configuration.\n */\n\nimport type { PayloadHandler } from 'payload'\nimport { readFileSync, statSync, existsSync } from 'fs'\nimport { join } from 'path'\n\n// Cache compiled CSS in memory with file modification time tracking\ninterface CssCache {\n css: string\n mtime: number\n}\n\nconst cssCache = new Map<string, CssCache>()\n\n/**\n * Compile CSS using PostCSS with the project's configuration\n * Loads postcss.config.js from project root for proper plugin setup\n * Falls back to minimal Tailwind-only config if no config file found\n */\nasync function compileCss(css: string, filePath: string): Promise<string> {\n try {\n // Dynamic import to use consumer's PostCSS installation\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let postcss: any\n try {\n postcss = (await import(/* webpackIgnore: true */ 'postcss')).default\n } catch {\n console.warn(\n '[payload-puck] PostCSS not found. CSS will not be processed. Install postcss as a dependency.'\n )\n return css\n }\n\n // Try to load the project's postcss.config.js using postcss-load-config\n // This ensures all plugins (typography, etc.) are properly loaded\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let processor: any\n let usedProjectConfig = false\n try {\n // Dynamic import of postcss-load-config (optional peer dependency)\n // This package is commonly installed alongside PostCSS\n const loadConfigModule = await import(\n /* webpackIgnore: true */\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - optional dependency may not have types\n 'postcss-load-config'\n )\n const postcssLoadConfig = loadConfigModule.default\n // Load config from project root (where postcss.config.js lives)\n const { plugins } = await postcssLoadConfig({}, process.cwd())\n processor = postcss(plugins)\n usedProjectConfig = true\n } catch {\n // postcss-load-config not available or no config found - this is fine\n // Fall back to direct Tailwind import silently\n\n // Try Tailwind v4 first (@tailwindcss/postcss)\n try {\n const tailwindcss = (\n await import(/* webpackIgnore: true */ '@tailwindcss/postcss')\n ).default\n processor = postcss([tailwindcss])\n } catch {\n // Fall back to Tailwind v3 (tailwindcss)\n try {\n const tailwindcss = (\n await import(/* webpackIgnore: true */ 'tailwindcss')\n ).default\n processor = postcss([tailwindcss])\n } catch {\n // No Tailwind available - just return the CSS as-is\n console.warn(\n '[payload-puck] No Tailwind CSS installation found. CSS will not be processed.'\n )\n return css\n }\n }\n }\n\n const result = await processor.process(css, { from: filePath })\n return result.css\n } catch (error) {\n console.error('[payload-puck] CSS compilation error:', error)\n throw error\n }\n}\n\n/**\n * Creates a handler that serves compiled CSS for the editor iframe\n *\n * @param cssFilePath - Path to CSS file relative to project root\n * @returns PayloadHandler that serves compiled CSS\n */\nexport function createStylesHandler(cssFilePath: string): PayloadHandler {\n return async () => {\n try {\n const fullPath = join(process.cwd(), cssFilePath)\n\n // Check if file exists\n if (!existsSync(fullPath)) {\n console.error(`[payload-puck] CSS file not found: ${fullPath}`)\n return new Response(`/* CSS file not found: ${cssFilePath} */`, {\n status: 404,\n headers: {\n 'Content-Type': 'text/css',\n },\n })\n }\n\n // Get file modification time for cache invalidation\n const stats = statSync(fullPath)\n const mtime = stats.mtimeMs\n\n // Check cache\n const cached = cssCache.get(cssFilePath)\n if (cached && cached.mtime === mtime) {\n return new Response(cached.css, {\n headers: {\n 'Content-Type': 'text/css',\n 'Cache-Control': 'public, max-age=31536000, immutable',\n 'X-Puck-Cache': 'hit',\n },\n })\n }\n\n // Read and compile CSS\n const rawCss = readFileSync(fullPath, 'utf-8')\n const compiledCss = await compileCss(rawCss, fullPath)\n\n // Update cache\n cssCache.set(cssFilePath, { css: compiledCss, mtime })\n\n return new Response(compiledCss, {\n headers: {\n 'Content-Type': 'text/css',\n 'Cache-Control': 'public, max-age=31536000, immutable',\n 'X-Puck-Cache': 'miss',\n },\n })\n } catch (error) {\n console.error('[payload-puck] Styles endpoint error:', error)\n return new Response(\n `/* Error compiling CSS: ${error instanceof Error ? error.message : 'Unknown error'} */`,\n {\n status: 500,\n headers: {\n 'Content-Type': 'text/css',\n },\n }\n )\n }\n }\n}\n\n/**\n * Helper constant for the styles endpoint URL\n */\nexport const PUCK_STYLES_ENDPOINT = '/api/puck/styles'\n"],"names":["readFileSync","statSync","existsSync","join","cssCache","Map","compileCss","css","filePath","postcss","default","console","warn","processor","usedProjectConfig","loadConfigModule","postcssLoadConfig","plugins","process","cwd","tailwindcss","result","from","error","createStylesHandler","cssFilePath","fullPath","Response","status","headers","stats","mtime","mtimeMs","cached","get","rawCss","compiledCss","set","Error","message","PUCK_STYLES_ENDPOINT"],"mappings":"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"}
@@ -9,8 +9,7 @@
9
9
  * ```tsx
10
10
  * import { PuckEditor, PuckConfigProvider } from '@delmaredigital/payload-puck/client'
11
11
  * ```
12
- */
13
- // Main editor component
12
+ */ // Main editor component
14
13
  export { PuckEditor } from '../editor/PuckEditor.js';
15
14
  // Context (optional - for multi-editor apps sharing config)
16
15
  export { PuckConfigProvider, usePuckConfig } from '../views/PuckConfigContext.js';
@@ -19,4 +18,5 @@ export { EditWithPuckButton, EditWithPuckLink } from '../admin/EditWithPuckButto
19
18
  // Page-tree utilities
20
19
  export { injectPageTreeFields } from '../editor/utils/injectPageTreeFields.js';
21
20
  export { detectPageTree, hasPageTreeFields } from '../editor/utils/detectPageTree.js';
21
+
22
22
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;;;;;;;;GAUG;AAEH,wBAAwB;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAGpD,4DAA4D;AAC5D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAGjF,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGrF,sBAAsB;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA"}
1
+ {"version":3,"sources":["../../src/exports/client.ts"],"sourcesContent":["'use client'\n\n/**\n * Client component exports for Payload admin and custom UIs\n *\n * These components require 'use client' and can use React hooks.\n * Import via: '@delmaredigital/payload-puck/client'\n *\n * @example\n * ```tsx\n * import { PuckEditor, PuckConfigProvider } from '@delmaredigital/payload-puck/client'\n * ```\n */\n\n// Main editor component\nexport { PuckEditor } from '../editor/PuckEditor.js'\nexport type { PuckEditorProps } from '../editor/PuckEditor.js'\n\n// Context (optional - for multi-editor apps sharing config)\nexport { PuckConfigProvider, usePuckConfig } from '../views/PuckConfigContext.js'\nexport type { PuckConfigProviderProps, PuckConfigContextValue } from '../views/PuckConfigContext.js'\n\n// Admin components\nexport { EditWithPuckButton, EditWithPuckLink } from '../admin/EditWithPuckButton.js'\nexport type { EditWithPuckButtonProps } from '../admin/EditWithPuckButton.js'\n\n// Page-tree utilities\nexport { injectPageTreeFields } from '../editor/utils/injectPageTreeFields.js'\nexport { detectPageTree, hasPageTreeFields } from '../editor/utils/detectPageTree.js'\n"],"names":["PuckEditor","PuckConfigProvider","usePuckConfig","EditWithPuckButton","EditWithPuckLink","injectPageTreeFields","detectPageTree","hasPageTreeFields"],"mappings":"AAAA;AAEA;;;;;;;;;;CAUC,GAED,wBAAwB;AACxB,SAASA,UAAU,QAAQ,0BAAyB;AAGpD,4DAA4D;AAC5D,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,gCAA+B;AAGjF,mBAAmB;AACnB,SAASC,kBAAkB,EAAEC,gBAAgB,QAAQ,iCAAgC;AAGrF,sBAAsB;AACtB,SAASC,oBAAoB,QAAQ,0CAAyC;AAC9E,SAASC,cAAc,EAAEC,iBAAiB,QAAQ,oCAAmC"}
@@ -14,6 +14,6 @@
14
14
  * },
15
15
  * }
16
16
  * ```
17
- */
18
- export { PuckEditorView } from '../views/PuckEditorView.js';
17
+ */ export { PuckEditorView } from '../views/PuckEditorView.js';
18
+
19
19
  //# sourceMappingURL=rsc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rsc.js","sourceRoot":"","sources":["../../src/exports/rsc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"sources":["../../src/exports/rsc.ts"],"sourcesContent":["/**\n * RSC (React Server Component) exports for Payload admin views\n *\n * These components are server-rendered and should be imported via:\n * '@delmaredigital/payload-puck/rsc#ComponentName'\n *\n * @example\n * ```ts\n * // In plugin config:\n * config.admin.components.views = {\n * puckEditor: {\n * Component: '@delmaredigital/payload-puck/rsc#PuckEditorView',\n * path: '/puck-editor/:segments*',\n * },\n * }\n * ```\n */\n\nexport { PuckEditorView } from '../views/PuckEditorView.js'\n"],"names":["PuckEditorView"],"mappings":"AAAA;;;;;;;;;;;;;;;;CAgBC,GAED,SAASA,cAAc,QAAQ,6BAA4B"}
@@ -15,7 +15,7 @@ interface AlignmentFieldProps {
15
15
  /** Default value when cleared or initially null */
16
16
  defaultValue?: Alignment;
17
17
  }
18
- declare function AlignmentFieldInner({ value, onChange, label, readOnly, defaultValue, }: AlignmentFieldProps): import("react/jsx-runtime").JSX.Element;
18
+ declare function AlignmentFieldInner({ value, onChange, label, readOnly, defaultValue, }: AlignmentFieldProps): React.JSX.Element;
19
19
  export declare const AlignmentField: React.MemoExoticComponent<typeof AlignmentFieldInner>;
20
20
  interface CreateAlignmentFieldConfig {
21
21
  label?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"AlignmentField.d.ts","sourceRoot":"","sources":["../../src/fields/AlignmentField.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAgD,MAAM,OAAO,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAYnD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEnD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAA;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mDAAmD;IACnD,YAAY,CAAC,EAAE,SAAS,CAAA;CACzB;AA4ED,iBAAS,mBAAmB,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,KAAmB,EACnB,QAAQ,EACR,YAAqB,GACtB,EAAE,mBAAmB,2CA2DrB;AAED,eAAO,MAAM,cAAc,uDAA4B,CAAA;AAMvD,UAAU,0BAA0B;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,SAAS,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,GAAE,0BAA+B,GACtC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,CAc/B"}
1
+ {"version":3,"file":"AlignmentField.d.ts","sourceRoot":"","sources":["../../src/fields/AlignmentField.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAgD,MAAM,OAAO,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAYnD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEnD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAA;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mDAAmD;IACnD,YAAY,CAAC,EAAE,SAAS,CAAA;CACzB;AA4ED,iBAAS,mBAAmB,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,KAAmB,EACnB,QAAQ,EACR,YAAqB,GACtB,EAAE,mBAAmB,qBA2DrB;AAED,eAAO,MAAM,cAAc,uDAA4B,CAAA;AAMvD,UAAU,0BAA0B;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,SAAS,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,GAAE,0BAA+B,GACtC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,CAc/B"}