@delmaredigital/payload-puck 0.3.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/README.md +396 -19
  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 +2 -2
  5. package/dist/admin/EditWithPuckButton.js.map +1 -1
  6. package/dist/admin/EditWithPuckCell.js +1 -1
  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 +1 -1
  11. package/dist/admin/PuckEditorView.js.map +1 -1
  12. package/dist/admin/generateAdminComponents.d.ts +1 -1
  13. package/dist/admin/generateAdminComponents.js +1 -1
  14. package/dist/admin/generateAdminComponents.js.map +1 -1
  15. package/dist/ai/collections/AiContext.d.ts +16 -0
  16. package/dist/ai/collections/AiContext.d.ts.map +1 -0
  17. package/dist/ai/collections/AiContext.js +87 -0
  18. package/dist/ai/collections/AiContext.js.map +1 -0
  19. package/dist/ai/collections/AiPrompts.d.ts +10 -0
  20. package/dist/ai/collections/AiPrompts.d.ts.map +1 -0
  21. package/dist/ai/collections/AiPrompts.js +63 -0
  22. package/dist/ai/collections/AiPrompts.js.map +1 -0
  23. package/dist/ai/createAiApiRoutes.d.ts +40 -0
  24. package/dist/ai/createAiApiRoutes.d.ts.map +1 -0
  25. package/dist/ai/createAiApiRoutes.js +106 -0
  26. package/dist/ai/createAiApiRoutes.js.map +1 -0
  27. package/dist/ai/createAiGenerate.d.ts +65 -0
  28. package/dist/ai/createAiGenerate.d.ts.map +1 -0
  29. package/dist/ai/createAiGenerate.js +106 -0
  30. package/dist/ai/createAiGenerate.js.map +1 -0
  31. package/dist/ai/createAiPlugin.d.ts +39 -0
  32. package/dist/ai/createAiPlugin.d.ts.map +1 -0
  33. package/dist/ai/createAiPlugin.js +61 -0
  34. package/dist/ai/createAiPlugin.js.map +1 -0
  35. package/dist/ai/hooks/useAiContext.d.ts +63 -0
  36. package/dist/ai/hooks/useAiContext.d.ts.map +1 -0
  37. package/dist/ai/hooks/useAiContext.js +146 -0
  38. package/dist/ai/hooks/useAiContext.js.map +1 -0
  39. package/dist/ai/hooks/useAiPrompts.d.ts +25 -0
  40. package/dist/ai/hooks/useAiPrompts.d.ts.map +1 -0
  41. package/dist/ai/hooks/useAiPrompts.js +74 -0
  42. package/dist/ai/hooks/useAiPrompts.js.map +1 -0
  43. package/dist/ai/index.d.ts +51 -0
  44. package/dist/ai/index.d.ts.map +1 -0
  45. package/dist/ai/index.js +69 -0
  46. package/dist/ai/index.js.map +1 -0
  47. package/dist/ai/plugins/ContextEditorPanel.d.ts +9 -0
  48. package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -0
  49. package/dist/ai/plugins/ContextEditorPanel.js +399 -0
  50. package/dist/ai/plugins/ContextEditorPanel.js.map +1 -0
  51. package/dist/ai/plugins/PromptEditorPanel.d.ts +9 -0
  52. package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -0
  53. package/dist/ai/plugins/PromptEditorPanel.js +270 -0
  54. package/dist/ai/plugins/PromptEditorPanel.js.map +1 -0
  55. package/dist/ai/plugins/contextEditorPlugin.d.ts +30 -0
  56. package/dist/ai/plugins/contextEditorPlugin.d.ts.map +1 -0
  57. package/dist/ai/plugins/contextEditorPlugin.js +40 -0
  58. package/dist/ai/plugins/contextEditorPlugin.js.map +1 -0
  59. package/dist/ai/plugins/promptApiRoutes.d.ts +68 -0
  60. package/dist/ai/plugins/promptApiRoutes.d.ts.map +1 -0
  61. package/dist/ai/plugins/promptApiRoutes.js +181 -0
  62. package/dist/ai/plugins/promptApiRoutes.js.map +1 -0
  63. package/dist/ai/plugins/promptEditorPlugin.d.ts +29 -0
  64. package/dist/ai/plugins/promptEditorPlugin.d.ts.map +1 -0
  65. package/dist/ai/plugins/promptEditorPlugin.js +39 -0
  66. package/dist/ai/plugins/promptEditorPlugin.js.map +1 -0
  67. package/dist/ai/presets/componentAiDefaults.d.ts +40 -0
  68. package/dist/ai/presets/componentAiDefaults.d.ts.map +1 -0
  69. package/dist/ai/presets/componentAiDefaults.js +239 -0
  70. package/dist/ai/presets/componentAiDefaults.js.map +1 -0
  71. package/dist/ai/presets/index.d.ts +94 -0
  72. package/dist/ai/presets/index.d.ts.map +1 -0
  73. package/dist/ai/presets/index.js +110 -0
  74. package/dist/ai/presets/index.js.map +1 -0
  75. package/dist/ai/presets/instructions/interactive.d.ts +15 -0
  76. package/dist/ai/presets/instructions/interactive.d.ts.map +1 -0
  77. package/dist/ai/presets/instructions/interactive.js +334 -0
  78. package/dist/ai/presets/instructions/interactive.js.map +1 -0
  79. package/dist/ai/presets/instructions/layout.d.ts +16 -0
  80. package/dist/ai/presets/instructions/layout.d.ts.map +1 -0
  81. package/dist/ai/presets/instructions/layout.js +486 -0
  82. package/dist/ai/presets/instructions/layout.js.map +1 -0
  83. package/dist/ai/presets/instructions/media.d.ts +15 -0
  84. package/dist/ai/presets/instructions/media.d.ts.map +1 -0
  85. package/dist/ai/presets/instructions/media.js +136 -0
  86. package/dist/ai/presets/instructions/media.js.map +1 -0
  87. package/dist/ai/presets/instructions/pagePatterns.d.ts +20 -0
  88. package/dist/ai/presets/instructions/pagePatterns.d.ts.map +1 -0
  89. package/dist/ai/presets/instructions/pagePatterns.js +290 -0
  90. package/dist/ai/presets/instructions/pagePatterns.js.map +1 -0
  91. package/dist/ai/presets/instructions/schemas.d.ts +1247 -0
  92. package/dist/ai/presets/instructions/schemas.d.ts.map +1 -0
  93. package/dist/ai/presets/instructions/schemas.js +240 -0
  94. package/dist/ai/presets/instructions/schemas.js.map +1 -0
  95. package/dist/ai/presets/instructions/typography.d.ts +16 -0
  96. package/dist/ai/presets/instructions/typography.d.ts.map +1 -0
  97. package/dist/ai/presets/instructions/typography.js +192 -0
  98. package/dist/ai/presets/instructions/typography.js.map +1 -0
  99. package/dist/ai/tools/index.d.ts +116 -0
  100. package/dist/ai/tools/index.d.ts.map +1 -0
  101. package/dist/ai/tools/index.js +214 -0
  102. package/dist/ai/tools/index.js.map +1 -0
  103. package/dist/ai/types.d.ts +507 -0
  104. package/dist/ai/types.d.ts.map +1 -0
  105. package/dist/ai/types.js +2 -0
  106. package/dist/ai/types.js.map +1 -0
  107. package/dist/ai/utils/injectAiConfig.d.ts +67 -0
  108. package/dist/ai/utils/injectAiConfig.d.ts.map +1 -0
  109. package/dist/ai/utils/injectAiConfig.js +216 -0
  110. package/dist/ai/utils/injectAiConfig.js.map +1 -0
  111. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
  112. package/dist/api/createPuckApiRoutesWithId.js +12 -5
  113. package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
  114. package/dist/api/types.d.ts +1 -1
  115. package/dist/api/types.d.ts.map +1 -1
  116. package/dist/components/exports.d.ts +1 -1
  117. package/dist/components/exports.d.ts.map +1 -1
  118. package/dist/components/exports.js +1 -1
  119. package/dist/components/exports.js.map +1 -1
  120. package/dist/components/interactive/Accordion.d.ts +1 -1
  121. package/dist/components/interactive/Accordion.d.ts.map +1 -1
  122. package/dist/components/interactive/Accordion.js +4 -4
  123. package/dist/components/interactive/Accordion.js.map +1 -1
  124. package/dist/components/interactive/Accordion.server.d.ts +1 -1
  125. package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
  126. package/dist/components/interactive/Button.d.ts +1 -1
  127. package/dist/components/interactive/Button.d.ts.map +1 -1
  128. package/dist/components/interactive/Button.server.d.ts +2 -3
  129. package/dist/components/interactive/Button.server.d.ts.map +1 -1
  130. package/dist/components/interactive/Button.server.js +1 -2
  131. package/dist/components/interactive/Button.server.js.map +1 -1
  132. package/dist/components/interactive/Card.d.ts +1 -1
  133. package/dist/components/interactive/Card.d.ts.map +1 -1
  134. package/dist/components/interactive/Card.server.d.ts +1 -1
  135. package/dist/components/interactive/Card.server.d.ts.map +1 -1
  136. package/dist/components/interactive/Divider.d.ts +1 -1
  137. package/dist/components/interactive/Divider.d.ts.map +1 -1
  138. package/dist/components/interactive/Divider.server.d.ts +1 -1
  139. package/dist/components/interactive/Divider.server.d.ts.map +1 -1
  140. package/dist/components/layout/Container.d.ts +3 -1
  141. package/dist/components/layout/Container.d.ts.map +1 -1
  142. package/dist/components/layout/Container.js +16 -2
  143. package/dist/components/layout/Container.js.map +1 -1
  144. package/dist/components/layout/Container.server.d.ts +3 -1
  145. package/dist/components/layout/Container.server.d.ts.map +1 -1
  146. package/dist/components/layout/Container.server.js +5 -2
  147. package/dist/components/layout/Container.server.js.map +1 -1
  148. package/dist/components/layout/Flex.d.ts +3 -1
  149. package/dist/components/layout/Flex.d.ts.map +1 -1
  150. package/dist/components/layout/Flex.js +18 -2
  151. package/dist/components/layout/Flex.js.map +1 -1
  152. package/dist/components/layout/Flex.server.d.ts +3 -1
  153. package/dist/components/layout/Flex.server.d.ts.map +1 -1
  154. package/dist/components/layout/Flex.server.js +5 -2
  155. package/dist/components/layout/Flex.server.js.map +1 -1
  156. package/dist/components/layout/Grid.d.ts +3 -1
  157. package/dist/components/layout/Grid.d.ts.map +1 -1
  158. package/dist/components/layout/Grid.js +15 -2
  159. package/dist/components/layout/Grid.js.map +1 -1
  160. package/dist/components/layout/Grid.server.d.ts +3 -1
  161. package/dist/components/layout/Grid.server.d.ts.map +1 -1
  162. package/dist/components/layout/Grid.server.js +5 -2
  163. package/dist/components/layout/Grid.server.js.map +1 -1
  164. package/dist/components/layout/Section.d.ts +3 -1
  165. package/dist/components/layout/Section.d.ts.map +1 -1
  166. package/dist/components/layout/Section.js +32 -5
  167. package/dist/components/layout/Section.js.map +1 -1
  168. package/dist/components/layout/Section.server.d.ts +3 -1
  169. package/dist/components/layout/Section.server.d.ts.map +1 -1
  170. package/dist/components/layout/Section.server.js +16 -4
  171. package/dist/components/layout/Section.server.js.map +1 -1
  172. package/dist/components/layout/Spacer.d.ts +1 -1
  173. package/dist/components/layout/Spacer.d.ts.map +1 -1
  174. package/dist/components/layout/Spacer.server.d.ts +1 -1
  175. package/dist/components/layout/Spacer.server.d.ts.map +1 -1
  176. package/dist/components/layout/Template.d.ts +1 -1
  177. package/dist/components/layout/Template.d.ts.map +1 -1
  178. package/dist/components/layout/Template.server.d.ts +1 -1
  179. package/dist/components/layout/Template.server.d.ts.map +1 -1
  180. package/dist/components/media/Image.d.ts +1 -1
  181. package/dist/components/media/Image.d.ts.map +1 -1
  182. package/dist/components/media/Image.server.d.ts +1 -1
  183. package/dist/components/media/Image.server.d.ts.map +1 -1
  184. package/dist/components/typography/Heading.d.ts +1 -1
  185. package/dist/components/typography/Heading.d.ts.map +1 -1
  186. package/dist/components/typography/Heading.server.d.ts +1 -1
  187. package/dist/components/typography/Heading.server.d.ts.map +1 -1
  188. package/dist/components/typography/RichText.editor.d.ts +15 -2
  189. package/dist/components/typography/RichText.editor.d.ts.map +1 -1
  190. package/dist/components/typography/RichText.editor.js +18 -11
  191. package/dist/components/typography/RichText.editor.js.map +1 -1
  192. package/dist/components/typography/RichText.server.d.ts +3 -2
  193. package/dist/components/typography/RichText.server.d.ts.map +1 -1
  194. package/dist/components/typography/RichText.server.js +10 -5
  195. package/dist/components/typography/RichText.server.js.map +1 -1
  196. package/dist/components/typography/Text.d.ts +1 -1
  197. package/dist/components/typography/Text.d.ts.map +1 -1
  198. package/dist/components/typography/Text.server.d.ts +1 -1
  199. package/dist/components/typography/Text.server.d.ts.map +1 -1
  200. package/dist/components/typography/index.d.ts +1 -1
  201. package/dist/components/typography/index.d.ts.map +1 -1
  202. package/dist/components/typography/index.js +1 -1
  203. package/dist/components/typography/index.js.map +1 -1
  204. package/dist/config/config.editor.d.ts +4 -4
  205. package/dist/config/config.editor.d.ts.map +1 -1
  206. package/dist/config/index.d.ts +1 -1
  207. package/dist/config/index.d.ts.map +1 -1
  208. package/dist/config/merge.d.ts +4 -4
  209. package/dist/config/merge.d.ts.map +1 -1
  210. package/dist/config/merge.js +3 -3
  211. package/dist/config/presets.d.ts +15 -15
  212. package/dist/config/presets.d.ts.map +1 -1
  213. package/dist/editor/PuckEditor.d.ts +255 -0
  214. package/dist/editor/PuckEditor.d.ts.map +1 -0
  215. package/dist/editor/PuckEditor.js +205 -0
  216. package/dist/editor/PuckEditor.js.map +1 -0
  217. package/dist/editor/{PuckEditorCore.client.d.ts → PuckEditorImpl.client.d.ts} +53 -30
  218. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -0
  219. package/dist/editor/{PuckEditorCore.client.js → PuckEditorImpl.client.js} +194 -39
  220. package/dist/editor/PuckEditorImpl.client.js.map +1 -0
  221. package/dist/editor/ai-plugin-overrides.css +20 -0
  222. package/dist/editor/components/HeaderActions.d.ts +7 -2
  223. package/dist/editor/components/HeaderActions.d.ts.map +1 -1
  224. package/dist/editor/components/HeaderActions.js +18 -4
  225. package/dist/editor/components/HeaderActions.js.map +1 -1
  226. package/dist/editor/components/IframeWrapper.d.ts +13 -0
  227. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  228. package/dist/editor/components/IframeWrapper.js +60 -4
  229. package/dist/editor/components/IframeWrapper.js.map +1 -1
  230. package/dist/editor/components/PreviewModal.d.ts +9 -1
  231. package/dist/editor/components/PreviewModal.d.ts.map +1 -1
  232. package/dist/editor/components/PreviewModal.js +36 -1
  233. package/dist/editor/components/PreviewModal.js.map +1 -1
  234. package/dist/editor/index.d.ts +34 -19
  235. package/dist/editor/index.d.ts.map +1 -1
  236. package/dist/editor/index.js +37 -21
  237. package/dist/editor/index.js.map +1 -1
  238. package/dist/editor/plugins/VersionHistoryPanel.d.ts +43 -0
  239. package/dist/editor/plugins/VersionHistoryPanel.d.ts.map +1 -0
  240. package/dist/editor/plugins/VersionHistoryPanel.js +303 -0
  241. package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -0
  242. package/dist/editor/plugins/index.d.ts +6 -3
  243. package/dist/editor/plugins/index.d.ts.map +1 -1
  244. package/dist/editor/plugins/index.js +7 -3
  245. package/dist/editor/plugins/index.js.map +1 -1
  246. package/dist/editor/plugins/versionHistoryPlugin.d.ts +37 -0
  247. package/dist/editor/plugins/versionHistoryPlugin.d.ts.map +1 -0
  248. package/dist/editor/plugins/versionHistoryPlugin.js +36 -0
  249. package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -0
  250. package/dist/editor/utils/detectPageTree.d.ts +22 -0
  251. package/dist/editor/utils/detectPageTree.d.ts.map +1 -0
  252. package/dist/editor/utils/detectPageTree.js +36 -0
  253. package/dist/editor/utils/detectPageTree.js.map +1 -0
  254. package/dist/editor/utils/index.d.ts +3 -0
  255. package/dist/editor/utils/index.d.ts.map +1 -0
  256. package/dist/editor/utils/index.js +3 -0
  257. package/dist/editor/utils/index.js.map +1 -0
  258. package/dist/editor/utils/injectPageTreeFields.d.ts +10 -0
  259. package/dist/editor/utils/injectPageTreeFields.d.ts.map +1 -0
  260. package/dist/editor/utils/injectPageTreeFields.js +35 -0
  261. package/dist/editor/utils/injectPageTreeFields.js.map +1 -0
  262. package/dist/endpoints/ai.d.ts +36 -0
  263. package/dist/endpoints/ai.d.ts.map +1 -0
  264. package/dist/endpoints/ai.js +315 -0
  265. package/dist/endpoints/ai.js.map +1 -0
  266. package/dist/endpoints/context.d.ts +30 -0
  267. package/dist/endpoints/context.d.ts.map +1 -0
  268. package/dist/endpoints/context.js +123 -0
  269. package/dist/endpoints/context.js.map +1 -0
  270. package/dist/endpoints/prompts.d.ts +28 -0
  271. package/dist/endpoints/prompts.d.ts.map +1 -0
  272. package/dist/endpoints/prompts.js +118 -0
  273. package/dist/endpoints/prompts.js.map +1 -0
  274. package/dist/endpoints/styles.d.ts +19 -0
  275. package/dist/endpoints/styles.d.ts.map +1 -0
  276. package/dist/endpoints/styles.js +116 -0
  277. package/dist/endpoints/styles.js.map +1 -0
  278. package/dist/exports/client.d.ts +7 -6
  279. package/dist/exports/client.d.ts.map +1 -1
  280. package/dist/exports/client.js +9 -8
  281. package/dist/exports/client.js.map +1 -1
  282. package/dist/fields/AlignmentField.d.ts +1 -1
  283. package/dist/fields/AlignmentField.d.ts.map +1 -1
  284. package/dist/fields/AlignmentField.js +1 -0
  285. package/dist/fields/AlignmentField.js.map +1 -1
  286. package/dist/fields/AnimationField.d.ts +1 -1
  287. package/dist/fields/AnimationField.d.ts.map +1 -1
  288. package/dist/fields/BackgroundField.d.ts +1 -1
  289. package/dist/fields/BackgroundField.d.ts.map +1 -1
  290. package/dist/fields/BackgroundField.js +9 -4
  291. package/dist/fields/BackgroundField.js.map +1 -1
  292. package/dist/fields/BorderField.d.ts +1 -1
  293. package/dist/fields/BorderField.d.ts.map +1 -1
  294. package/dist/fields/BorderField.js +1 -0
  295. package/dist/fields/BorderField.js.map +1 -1
  296. package/dist/fields/ColorPickerField.d.ts +1 -1
  297. package/dist/fields/ColorPickerField.d.ts.map +1 -1
  298. package/dist/fields/ColorPickerField.js +4 -2
  299. package/dist/fields/ColorPickerField.js.map +1 -1
  300. package/dist/fields/ContentAlignmentField.d.ts +66 -0
  301. package/dist/fields/ContentAlignmentField.d.ts.map +1 -0
  302. package/dist/fields/ContentAlignmentField.js +255 -0
  303. package/dist/fields/ContentAlignmentField.js.map +1 -0
  304. package/dist/fields/DimensionsField.d.ts +1 -1
  305. package/dist/fields/DimensionsField.d.ts.map +1 -1
  306. package/dist/fields/DimensionsField.js +8 -2
  307. package/dist/fields/DimensionsField.js.map +1 -1
  308. package/dist/fields/FlexAlignmentField.d.ts +1 -1
  309. package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
  310. package/dist/fields/FolderPickerField.d.ts +1 -1
  311. package/dist/fields/FolderPickerField.d.ts.map +1 -1
  312. package/dist/fields/GradientEditor.d.ts.map +1 -1
  313. package/dist/fields/GradientEditor.js +3 -0
  314. package/dist/fields/GradientEditor.js.map +1 -1
  315. package/dist/fields/LockedField.d.ts +1 -1
  316. package/dist/fields/LockedField.d.ts.map +1 -1
  317. package/dist/fields/MarginField.d.ts +1 -1
  318. package/dist/fields/MarginField.d.ts.map +1 -1
  319. package/dist/fields/MediaField.d.ts +1 -1
  320. package/dist/fields/MediaField.d.ts.map +1 -1
  321. package/dist/fields/MediaField.js +3 -2
  322. package/dist/fields/MediaField.js.map +1 -1
  323. package/dist/fields/PaddingField.d.ts +1 -1
  324. package/dist/fields/PaddingField.d.ts.map +1 -1
  325. package/dist/fields/PageSegmentField.d.ts +1 -1
  326. package/dist/fields/PageSegmentField.d.ts.map +1 -1
  327. package/dist/fields/ResetField.d.ts +1 -1
  328. package/dist/fields/ResetField.d.ts.map +1 -1
  329. package/dist/fields/ResetField.js +1 -1
  330. package/dist/fields/ResetField.js.map +1 -1
  331. package/dist/fields/ResponsiveField.d.ts +1 -1
  332. package/dist/fields/ResponsiveField.d.ts.map +1 -1
  333. package/dist/fields/ResponsiveField.js +5 -2
  334. package/dist/fields/ResponsiveField.js.map +1 -1
  335. package/dist/fields/ResponsiveVisibilityField.d.ts +1 -1
  336. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
  337. package/dist/fields/ResponsiveVisibilityField.js +4 -3
  338. package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
  339. package/dist/fields/SizeField.d.ts +3 -25
  340. package/dist/fields/SizeField.d.ts.map +1 -1
  341. package/dist/fields/SizeField.js +8 -34
  342. package/dist/fields/SizeField.js.map +1 -1
  343. package/dist/fields/SlugPreviewField.d.ts +1 -1
  344. package/dist/fields/SlugPreviewField.d.ts.map +1 -1
  345. package/dist/fields/TemplateField.d.ts +1 -1
  346. package/dist/fields/TemplateField.d.ts.map +1 -1
  347. package/dist/fields/TemplateField.js +1 -1
  348. package/dist/fields/TemplateField.js.map +1 -1
  349. package/dist/fields/TransformField.d.ts +1 -1
  350. package/dist/fields/TransformField.d.ts.map +1 -1
  351. package/dist/fields/TransformField.js +2 -0
  352. package/dist/fields/TransformField.js.map +1 -1
  353. package/dist/fields/VerticalAlignmentField.d.ts +1 -1
  354. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
  355. package/dist/fields/WidthField.d.ts +1 -1
  356. package/dist/fields/WidthField.d.ts.map +1 -1
  357. package/dist/fields/index.d.ts +8 -36
  358. package/dist/fields/index.d.ts.map +1 -1
  359. package/dist/fields/index.js +20 -78
  360. package/dist/fields/index.js.map +1 -1
  361. package/dist/fields/richtext/controls/ColorPickerControl.d.ts +16 -0
  362. package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -0
  363. package/dist/fields/richtext/controls/ColorPickerControl.js +116 -0
  364. package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -0
  365. package/dist/fields/richtext/controls/DropdownPortal.d.ts +17 -0
  366. package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -0
  367. package/dist/fields/richtext/controls/DropdownPortal.js +90 -0
  368. package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -0
  369. package/dist/fields/richtext/controls/FontSizeControl.d.ts +8 -0
  370. package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -0
  371. package/dist/fields/richtext/controls/FontSizeControl.js +62 -0
  372. package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -0
  373. package/dist/fields/richtext/controls/HighlightControl.d.ts +9 -0
  374. package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -0
  375. package/dist/fields/richtext/controls/HighlightControl.js +44 -0
  376. package/dist/fields/richtext/controls/HighlightControl.js.map +1 -0
  377. package/dist/fields/richtext/controls/index.d.ts +11 -0
  378. package/dist/fields/richtext/controls/index.d.ts.map +1 -0
  379. package/dist/fields/richtext/controls/index.js +16 -0
  380. package/dist/fields/richtext/controls/index.js.map +1 -0
  381. package/dist/fields/richtext/controls/shared.d.ts +97 -0
  382. package/dist/fields/richtext/controls/shared.d.ts.map +1 -0
  383. package/dist/fields/richtext/controls/shared.js +344 -0
  384. package/dist/fields/richtext/controls/shared.js.map +1 -0
  385. package/dist/fields/richtext/createRichTextField.d.ts +165 -0
  386. package/dist/fields/richtext/createRichTextField.d.ts.map +1 -0
  387. package/dist/fields/richtext/createRichTextField.js +139 -0
  388. package/dist/fields/richtext/createRichTextField.js.map +1 -0
  389. package/dist/fields/richtext/extensions/FontSize.d.ts +23 -0
  390. package/dist/fields/richtext/extensions/FontSize.d.ts.map +1 -0
  391. package/dist/fields/richtext/extensions/FontSize.js +47 -0
  392. package/dist/fields/richtext/extensions/FontSize.js.map +1 -0
  393. package/dist/fields/richtext/extensions/index.d.ts +5 -0
  394. package/dist/fields/richtext/extensions/index.d.ts.map +1 -0
  395. package/dist/fields/richtext/extensions/index.js +5 -0
  396. package/dist/fields/richtext/extensions/index.js.map +1 -0
  397. package/dist/fields/richtext/index.d.ts +14 -0
  398. package/dist/fields/richtext/index.d.ts.map +1 -0
  399. package/dist/fields/richtext/index.js +19 -0
  400. package/dist/fields/richtext/index.js.map +1 -0
  401. package/dist/fields/richtext/richtext-menu.css +50 -0
  402. package/dist/fields/shared.d.ts +27 -1
  403. package/dist/fields/shared.d.ts.map +1 -1
  404. package/dist/fields/shared.js +34 -0
  405. package/dist/fields/shared.js.map +1 -1
  406. package/dist/layouts/types.d.ts +30 -0
  407. package/dist/layouts/types.d.ts.map +1 -1
  408. package/dist/plugin/index.d.ts +1 -0
  409. package/dist/plugin/index.d.ts.map +1 -1
  410. package/dist/plugin/index.js +112 -2
  411. package/dist/plugin/index.js.map +1 -1
  412. package/dist/render/HybridPageRenderer.d.ts +1 -1
  413. package/dist/render/HybridPageRenderer.d.ts.map +1 -1
  414. package/dist/render/PageRenderer.d.ts +1 -1
  415. package/dist/render/PageRenderer.d.ts.map +1 -1
  416. package/dist/render/PageRenderer.js +1 -1
  417. package/dist/render/PageRenderer.js.map +1 -1
  418. package/dist/render/PuckEditor.client.d.ts +2 -2
  419. package/dist/render/PuckEditor.client.d.ts.map +1 -1
  420. package/dist/render/PuckEditor.client.js +2 -2
  421. package/dist/render/PuckEditor.client.js.map +1 -1
  422. package/dist/types/index.d.ts +37 -12
  423. package/dist/types/index.d.ts.map +1 -1
  424. package/dist/version.d.ts +2 -0
  425. package/dist/version.d.ts.map +1 -0
  426. package/dist/version.js +3 -0
  427. package/dist/version.js.map +1 -0
  428. package/dist/views/PuckConfigContext.d.ts +56 -2
  429. package/dist/views/PuckConfigContext.d.ts.map +1 -1
  430. package/dist/views/PuckConfigContext.js +6 -3
  431. package/dist/views/PuckConfigContext.js.map +1 -1
  432. package/dist/views/PuckEditorView.d.ts.map +1 -1
  433. package/dist/views/PuckEditorView.js +29 -2
  434. package/dist/views/PuckEditorView.js.map +1 -1
  435. package/dist/views/index.d.ts +0 -2
  436. package/dist/views/index.d.ts.map +1 -1
  437. package/dist/views/index.js +0 -2
  438. package/dist/views/index.js.map +1 -1
  439. package/package.json +42 -12
  440. package/dist/components/typography/RichText.d.ts +0 -20
  441. package/dist/components/typography/RichText.d.ts.map +0 -1
  442. package/dist/components/typography/RichText.js +0 -73
  443. package/dist/components/typography/RichText.js.map +0 -1
  444. package/dist/editor/PuckEditor.client.d.ts +0 -131
  445. package/dist/editor/PuckEditor.client.d.ts.map +0 -1
  446. package/dist/editor/PuckEditor.client.js +0 -42
  447. package/dist/editor/PuckEditor.client.js.map +0 -1
  448. package/dist/editor/PuckEditorCore.client.d.ts.map +0 -1
  449. package/dist/editor/PuckEditorCore.client.js.map +0 -1
  450. package/dist/fields/TiptapField.d.ts +0 -40
  451. package/dist/fields/TiptapField.d.ts.map +0 -1
  452. package/dist/fields/TiptapField.js +0 -857
  453. package/dist/fields/TiptapField.js.map +0 -1
  454. package/dist/fields/TiptapModal.d.ts +0 -10
  455. package/dist/fields/TiptapModal.d.ts.map +0 -1
  456. package/dist/fields/TiptapModal.js +0 -114
  457. package/dist/fields/TiptapModal.js.map +0 -1
  458. package/dist/fields/TiptapModalField.d.ts +0 -23
  459. package/dist/fields/TiptapModalField.d.ts.map +0 -1
  460. package/dist/fields/TiptapModalField.js +0 -55
  461. package/dist/fields/TiptapModalField.js.map +0 -1
  462. package/dist/fields/richtext-output.css +0 -219
  463. package/dist/fields/tiptap-styles.css +0 -248
  464. package/dist/views/PuckEditorClient.d.ts +0 -73
  465. package/dist/views/PuckEditorClient.d.ts.map +0 -1
  466. package/dist/views/PuckEditorClient.js +0 -130
  467. package/dist/views/PuckEditorClient.js.map +0 -1
@@ -0,0 +1,61 @@
1
+ 'use client';
2
+ /**
3
+ * Creates a Puck AI plugin for the editor
4
+ *
5
+ * Wraps @puckeditor/plugin-ai with sensible defaults for payload-puck.
6
+ * This factory allows for runtime-configurable prompts (from database, API, etc.).
7
+ *
8
+ * @example Basic usage
9
+ * ```tsx
10
+ * import { createAiPlugin } from '@delmaredigital/payload-puck/ai'
11
+ *
12
+ * const aiPlugin = createAiPlugin({
13
+ * host: '/api/puck',
14
+ * examplePrompts: [
15
+ * { label: 'Landing page', prompt: 'Create a landing page about our product' },
16
+ * ],
17
+ * })
18
+ *
19
+ * <PuckEditor plugins={[aiPlugin]} />
20
+ * ```
21
+ *
22
+ * @example With runtime prompts from database
23
+ * ```tsx
24
+ * // Fetch prompts from Payload
25
+ * const prompts = await payload.find({ collection: 'puck-ai-prompts' })
26
+ *
27
+ * const aiPlugin = createAiPlugin({
28
+ * examplePrompts: prompts.docs.map(p => ({
29
+ * label: p.label,
30
+ * prompt: p.prompt,
31
+ * })),
32
+ * })
33
+ *
34
+ * <PuckEditor plugins={[aiPlugin]} />
35
+ * ```
36
+ */
37
+ export function createAiPlugin(options = {}) {
38
+ const { host = '/api/puck', examplePrompts, onSubmit } = options;
39
+ // Dynamic import to avoid build errors if plugin-ai not installed
40
+ // Also allows for tree-shaking when AI is not used
41
+ try {
42
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
43
+ const { createAiPlugin: createPuckAiPlugin } = require('@puckeditor/plugin-ai');
44
+ return createPuckAiPlugin({
45
+ host,
46
+ chat: {
47
+ examplePrompts,
48
+ onSubmit,
49
+ },
50
+ });
51
+ }
52
+ catch (e) {
53
+ // Return a placeholder plugin if @puckeditor/plugin-ai is not installed
54
+ console.warn('[payload-puck] AI plugin requested but @puckeditor/plugin-ai not installed. ' +
55
+ 'Install it with: pnpm add @puckeditor/plugin-ai');
56
+ return {
57
+ name: 'ai-placeholder',
58
+ };
59
+ }
60
+ }
61
+ //# sourceMappingURL=createAiPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAiPlugin.js","sourceRoot":"","sources":["../../src/ai/createAiPlugin.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAKZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,cAAc,CAAC,UAA2B,EAAE;IAC1D,MAAM,EAAE,IAAI,GAAG,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAEhE,kEAAkE;IAClE,mDAAmD;IACnD,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;QAE/E,OAAO,kBAAkB,CAAC;YACxB,IAAI;YACJ,IAAI,EAAE;gBACJ,cAAc;gBACd,QAAQ;aACT;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,wEAAwE;QACxE,OAAO,CAAC,IAAI,CACV,8EAA8E;YAC5E,iDAAiD,CACpD,CAAA;QAED,OAAO;YACL,IAAI,EAAE,gBAAgB;SACvB,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { AiContext } from '../types.js';
2
+ /** Event name for context updates */
3
+ export declare const AI_CONTEXT_UPDATED_EVENT = "puck:ai-context-updated";
4
+ /**
5
+ * Dispatches an event to notify that AI context has been updated
6
+ * Call this after creating, editing, or deleting a context entry
7
+ */
8
+ export declare function dispatchContextUpdated(): void;
9
+ export interface UseAiContextOptions {
10
+ /**
11
+ * API endpoint to fetch context from
12
+ * @default '/api/puck/ai-context'
13
+ */
14
+ apiEndpoint?: string;
15
+ /**
16
+ * Whether to enable fetching
17
+ * @default true
18
+ */
19
+ enabled?: boolean;
20
+ /**
21
+ * Whether to include disabled entries
22
+ * @default false
23
+ */
24
+ includeDisabled?: boolean;
25
+ }
26
+ export interface UseAiContextReturn {
27
+ /** Array of context entries */
28
+ context: AiContext[];
29
+ /** Loading state */
30
+ loading: boolean;
31
+ /** Error message if any */
32
+ error: string | null;
33
+ /** Refetch context entries */
34
+ refetch: () => Promise<void>;
35
+ /** Create a new context entry */
36
+ create: (data: Omit<AiContext, 'id' | 'createdAt' | 'updatedAt'>) => Promise<AiContext | null>;
37
+ /** Update an existing context entry */
38
+ update: (id: string, data: Partial<AiContext>) => Promise<AiContext | null>;
39
+ /** Delete a context entry */
40
+ remove: (id: string) => Promise<boolean>;
41
+ }
42
+ /**
43
+ * Hook to fetch and manage AI context entries client-side
44
+ *
45
+ * When context is updated via the context editor panel, this hook will
46
+ * automatically refetch to stay in sync.
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * const { context, loading, create, update, remove } = useAiContext()
51
+ *
52
+ * // Create a new context entry
53
+ * await create({ name: 'Brand Guidelines', content: '...', enabled: true })
54
+ *
55
+ * // Update an entry
56
+ * await update(context[0].id, { content: 'Updated content' })
57
+ *
58
+ * // Delete an entry
59
+ * await remove(context[0].id)
60
+ * ```
61
+ */
62
+ export declare function useAiContext(options?: UseAiContextOptions): UseAiContextReturn;
63
+ //# sourceMappingURL=useAiContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAiContext.d.ts","sourceRoot":"","sources":["../../../src/ai/hooks/useAiContext.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,qCAAqC;AACrC,eAAO,MAAM,wBAAwB,4BAA4B,CAAA;AAEjE;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,iCAAiC;IACjC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IAC9F,uCAAuC;IACvC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IAC3E,6BAA6B;IAC7B,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACzC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,kBAAkB,CA4IlF"}
@@ -0,0 +1,146 @@
1
+ 'use client';
2
+ import { useState, useEffect, useCallback } from 'react';
3
+ /** Event name for context updates */
4
+ export const AI_CONTEXT_UPDATED_EVENT = 'puck:ai-context-updated';
5
+ /**
6
+ * Dispatches an event to notify that AI context has been updated
7
+ * Call this after creating, editing, or deleting a context entry
8
+ */
9
+ export function dispatchContextUpdated() {
10
+ if (typeof window !== 'undefined') {
11
+ window.dispatchEvent(new CustomEvent(AI_CONTEXT_UPDATED_EVENT));
12
+ }
13
+ }
14
+ /**
15
+ * Hook to fetch and manage AI context entries client-side
16
+ *
17
+ * When context is updated via the context editor panel, this hook will
18
+ * automatically refetch to stay in sync.
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * const { context, loading, create, update, remove } = useAiContext()
23
+ *
24
+ * // Create a new context entry
25
+ * await create({ name: 'Brand Guidelines', content: '...', enabled: true })
26
+ *
27
+ * // Update an entry
28
+ * await update(context[0].id, { content: 'Updated content' })
29
+ *
30
+ * // Delete an entry
31
+ * await remove(context[0].id)
32
+ * ```
33
+ */
34
+ export function useAiContext(options = {}) {
35
+ const { apiEndpoint = '/api/puck/ai-context', enabled = true, includeDisabled = false, } = options;
36
+ const [context, setContext] = useState([]);
37
+ const [loading, setLoading] = useState(true);
38
+ const [error, setError] = useState(null);
39
+ const fetchContext = useCallback(async () => {
40
+ if (!enabled) {
41
+ setLoading(false);
42
+ return;
43
+ }
44
+ try {
45
+ setLoading(true);
46
+ setError(null);
47
+ const url = includeDisabled ? `${apiEndpoint}?all=true` : apiEndpoint;
48
+ const response = await fetch(url);
49
+ if (!response.ok) {
50
+ throw new Error('Failed to fetch context');
51
+ }
52
+ const data = await response.json();
53
+ setContext(data.docs || []);
54
+ }
55
+ catch (err) {
56
+ setError(err instanceof Error ? err.message : 'Failed to load context');
57
+ setContext([]);
58
+ }
59
+ finally {
60
+ setLoading(false);
61
+ }
62
+ }, [apiEndpoint, enabled, includeDisabled]);
63
+ // Create a new context entry
64
+ const create = useCallback(async (data) => {
65
+ try {
66
+ const response = await fetch(apiEndpoint, {
67
+ method: 'POST',
68
+ headers: { 'Content-Type': 'application/json' },
69
+ body: JSON.stringify(data),
70
+ });
71
+ if (!response.ok) {
72
+ throw new Error('Failed to create context entry');
73
+ }
74
+ const newEntry = await response.json();
75
+ dispatchContextUpdated();
76
+ return newEntry;
77
+ }
78
+ catch (err) {
79
+ setError(err instanceof Error ? err.message : 'Failed to create context entry');
80
+ return null;
81
+ }
82
+ }, [apiEndpoint]);
83
+ // Update an existing context entry
84
+ const update = useCallback(async (id, data) => {
85
+ try {
86
+ const response = await fetch(`${apiEndpoint}/${id}`, {
87
+ method: 'PATCH',
88
+ headers: { 'Content-Type': 'application/json' },
89
+ body: JSON.stringify(data),
90
+ });
91
+ if (!response.ok) {
92
+ throw new Error('Failed to update context entry');
93
+ }
94
+ const updatedEntry = await response.json();
95
+ dispatchContextUpdated();
96
+ return updatedEntry;
97
+ }
98
+ catch (err) {
99
+ setError(err instanceof Error ? err.message : 'Failed to update context entry');
100
+ return null;
101
+ }
102
+ }, [apiEndpoint]);
103
+ // Delete a context entry
104
+ const remove = useCallback(async (id) => {
105
+ try {
106
+ const response = await fetch(`${apiEndpoint}/${id}`, {
107
+ method: 'DELETE',
108
+ });
109
+ if (!response.ok) {
110
+ throw new Error('Failed to delete context entry');
111
+ }
112
+ dispatchContextUpdated();
113
+ return true;
114
+ }
115
+ catch (err) {
116
+ setError(err instanceof Error ? err.message : 'Failed to delete context entry');
117
+ return false;
118
+ }
119
+ }, [apiEndpoint]);
120
+ // Initial fetch
121
+ useEffect(() => {
122
+ fetchContext();
123
+ }, [fetchContext]);
124
+ // Listen for context updates
125
+ useEffect(() => {
126
+ if (!enabled)
127
+ return;
128
+ const handleUpdate = () => {
129
+ fetchContext();
130
+ };
131
+ window.addEventListener(AI_CONTEXT_UPDATED_EVENT, handleUpdate);
132
+ return () => {
133
+ window.removeEventListener(AI_CONTEXT_UPDATED_EVENT, handleUpdate);
134
+ };
135
+ }, [enabled, fetchContext]);
136
+ return {
137
+ context,
138
+ loading,
139
+ error,
140
+ refetch: fetchContext,
141
+ create,
142
+ update,
143
+ remove,
144
+ };
145
+ }
146
+ //# sourceMappingURL=useAiContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAiContext.js","sourceRoot":"","sources":["../../../src/ai/hooks/useAiContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { AiExamplePrompt } from '../types.js';
2
+ /** Event name for prompt updates */
3
+ export declare const AI_PROMPTS_UPDATED_EVENT = "puck:ai-prompts-updated";
4
+ /**
5
+ * Dispatches an event to notify that AI prompts have been updated
6
+ * Call this after creating, editing, or deleting a prompt
7
+ */
8
+ export declare function dispatchPromptsUpdated(): void;
9
+ /**
10
+ * Hook to fetch AI prompts client-side with auto-refresh support
11
+ *
12
+ * When prompts are updated via the prompt editor panel, this hook will
13
+ * automatically refetch to stay in sync.
14
+ *
15
+ * @param apiEndpoint - API endpoint to fetch prompts from
16
+ * @param enabled - Whether to enable fetching (default: true)
17
+ * @returns Object with prompts array and loading state
18
+ */
19
+ export declare function useAiPrompts(apiEndpoint?: string, enabled?: boolean): {
20
+ prompts: AiExamplePrompt[];
21
+ loading: boolean;
22
+ error: string | null;
23
+ refetch: () => Promise<void>;
24
+ };
25
+ //# sourceMappingURL=useAiPrompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAiPrompts.d.ts","sourceRoot":"","sources":["../../../src/ai/hooks/useAiPrompts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,oCAAoC;AACpC,eAAO,MAAM,wBAAwB,4BAA4B,CAAA;AAEjE;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,WAAW,GAAE,MAA+B,EAC5C,OAAO,GAAE,OAAc,GACtB;IACD,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B,CA0DA"}
@@ -0,0 +1,74 @@
1
+ 'use client';
2
+ import { useState, useEffect, useCallback } from 'react';
3
+ /** Event name for prompt updates */
4
+ export const AI_PROMPTS_UPDATED_EVENT = 'puck:ai-prompts-updated';
5
+ /**
6
+ * Dispatches an event to notify that AI prompts have been updated
7
+ * Call this after creating, editing, or deleting a prompt
8
+ */
9
+ export function dispatchPromptsUpdated() {
10
+ if (typeof window !== 'undefined') {
11
+ window.dispatchEvent(new CustomEvent(AI_PROMPTS_UPDATED_EVENT));
12
+ }
13
+ }
14
+ /**
15
+ * Hook to fetch AI prompts client-side with auto-refresh support
16
+ *
17
+ * When prompts are updated via the prompt editor panel, this hook will
18
+ * automatically refetch to stay in sync.
19
+ *
20
+ * @param apiEndpoint - API endpoint to fetch prompts from
21
+ * @param enabled - Whether to enable fetching (default: true)
22
+ * @returns Object with prompts array and loading state
23
+ */
24
+ export function useAiPrompts(apiEndpoint = '/api/puck/ai-prompts', enabled = true) {
25
+ const [prompts, setPrompts] = useState([]);
26
+ const [loading, setLoading] = useState(true);
27
+ const [error, setError] = useState(null);
28
+ const fetchPrompts = useCallback(async () => {
29
+ if (!enabled) {
30
+ setLoading(false);
31
+ return;
32
+ }
33
+ try {
34
+ setLoading(true);
35
+ setError(null);
36
+ const response = await fetch(apiEndpoint);
37
+ if (!response.ok) {
38
+ throw new Error('Failed to fetch prompts');
39
+ }
40
+ const data = await response.json();
41
+ // Transform API response to AiExamplePrompt format
42
+ const fetchedPrompts = (data.docs || []).map((doc) => ({
43
+ label: doc.label,
44
+ prompt: doc.prompt,
45
+ }));
46
+ setPrompts(fetchedPrompts);
47
+ }
48
+ catch (err) {
49
+ setError(err instanceof Error ? err.message : 'Failed to load prompts');
50
+ setPrompts([]);
51
+ }
52
+ finally {
53
+ setLoading(false);
54
+ }
55
+ }, [apiEndpoint, enabled]);
56
+ // Initial fetch
57
+ useEffect(() => {
58
+ fetchPrompts();
59
+ }, [fetchPrompts]);
60
+ // Listen for prompt updates
61
+ useEffect(() => {
62
+ if (!enabled)
63
+ return;
64
+ const handleUpdate = () => {
65
+ fetchPrompts();
66
+ };
67
+ window.addEventListener(AI_PROMPTS_UPDATED_EVENT, handleUpdate);
68
+ return () => {
69
+ window.removeEventListener(AI_PROMPTS_UPDATED_EVENT, handleUpdate);
70
+ };
71
+ }, [enabled, fetchPrompts]);
72
+ return { prompts, loading, error, refetch: fetchPrompts };
73
+ }
74
+ //# sourceMappingURL=useAiPrompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAiPrompts.js","sourceRoot":"","sources":["../../../src/ai/hooks/useAiPrompts.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGxD,oCAAoC;AACpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAA;AAEjE;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAA;IACjE,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,cAAsB,sBAAsB,EAC5C,UAAmB,IAAI;IAOvB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAA;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEvD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,QAAQ,CAAC,IAAI,CAAC,CAAA;YAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAA;YAEzC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YAC5C,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAClC,mDAAmD;YACnD,MAAM,cAAc,GAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAC7D,CAAC,GAAsC,EAAE,EAAE,CAAC,CAAC;gBAC3C,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CACH,CAAA;YACD,UAAU,CAAC,cAAc,CAAC,CAAA;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAA;YACvE,UAAU,CAAC,EAAE,CAAC,CAAA;QAChB,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;IAE1B,gBAAgB;IAChB,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,EAAE,CAAA;IAChB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,4BAA4B;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,YAAY,EAAE,CAAA;QAChB,CAAC,CAAA;QAED,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAA;QAC/D,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAA;QACpE,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;IAE3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;AAC3D,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @delmaredigital/payload-puck/ai
3
+ *
4
+ * AI integration for the Puck visual editor.
5
+ *
6
+ * This module provides:
7
+ * - Server-side API route handlers for Puck AI chat
8
+ * - Headless page generation for programmatic workflows
9
+ * - Client-side AI plugin factory
10
+ * - Prompt editor plugin for managing prompts in the editor
11
+ * - Utilities for adding AI metadata to component configs
12
+ *
13
+ * @example Quick Start
14
+ * ```typescript
15
+ * // 1. Create API route for AI chat
16
+ * // app/api/puck/[...all]/route.ts
17
+ * import { createPuckAiApiRoutes } from '@delmaredigital/payload-puck/ai'
18
+ *
19
+ * export const POST = createPuckAiApiRoutes({
20
+ * payloadConfig: config,
21
+ * auth: { authenticate: async (req) => ... },
22
+ * ai: { context: 'We are Acme Corp...' },
23
+ * })
24
+ *
25
+ * // 2. Enable AI in the editor
26
+ * <PuckEditor enableAi={true} />
27
+ *
28
+ * // Or use the factory for custom prompts
29
+ * import { createAiPlugin } from '@delmaredigital/payload-puck/ai'
30
+ * const aiPlugin = createAiPlugin({ examplePrompts: [...] })
31
+ * <PuckEditor plugins={[aiPlugin]} />
32
+ * ```
33
+ *
34
+ * @packageDocumentation
35
+ */
36
+ export { createPuckAiApiRoutes } from './createAiApiRoutes.js';
37
+ export { createAiGenerate } from './createAiGenerate.js';
38
+ export { createPromptApiRoutes, createPromptApiRoutesWithId, type PromptApiRoutesConfig, } from './plugins/promptApiRoutes.js';
39
+ export { createAiPlugin } from './createAiPlugin.js';
40
+ export { createPromptEditorPlugin } from './plugins/promptEditorPlugin.js';
41
+ export { PromptEditorPanel } from './plugins/PromptEditorPanel.js';
42
+ export { createContextEditorPlugin } from './plugins/contextEditorPlugin.js';
43
+ export { ContextEditorPanel } from './plugins/ContextEditorPanel.js';
44
+ export { useAiPrompts, dispatchPromptsUpdated, AI_PROMPTS_UPDATED_EVENT, } from './hooks/useAiPrompts.js';
45
+ export { useAiContext, dispatchContextUpdated, AI_CONTEXT_UPDATED_EVENT, type UseAiContextOptions, type UseAiContextReturn, } from './hooks/useAiContext.js';
46
+ export { createPayloadTools, createTool, type PayloadToolsConfig, } from './tools/index.js';
47
+ export { injectAiConfig, hasAiConfig } from './utils/injectAiConfig.js';
48
+ export { defaultComponentAiConfig, minimalComponentAiConfig, } from './presets/componentAiDefaults.js';
49
+ export { comprehensiveComponentAiConfig, pagePatternSystemContext, pagePatternContext, componentFieldReference, allComponents, componentNames, typographyInstructions, layoutInstructions, interactiveInstructions, mediaInstructions, } from './presets/index.js';
50
+ export type { AiTool, AiToolContext, AiOptions, AiFieldConfig, AiComponentConfig, PuckAiRoutesConfig, PuckAiRouteHandlers, AiGenerateConfig, AiGenerateOptions, AiGenerateFunction, AiPluginOptions, AiExamplePrompt, PromptEditorPluginOptions, ComponentAiOverrides, AiPrompt, AiContext, ContextEditorPluginOptions, PuckPluginAiConfig, } from './types.js';
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAMH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,8BAA8B,CAAA;AAMrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAMpE,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAA;AAMhC,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAA;AAMzB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAGvE,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kCAAkC,CAAA;AAGzC,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,cAAc,EAEd,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAM3B,YAAY,EAEV,MAAM,EACN,aAAa,EAEb,SAAS,EACT,aAAa,EACb,iBAAiB,EAEjB,kBAAkB,EAClB,mBAAmB,EAEnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAElB,eAAe,EACf,eAAe,EACf,yBAAyB,EAEzB,oBAAoB,EAEpB,QAAQ,EAER,SAAS,EACT,0BAA0B,EAE1B,kBAAkB,GACnB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @delmaredigital/payload-puck/ai
3
+ *
4
+ * AI integration for the Puck visual editor.
5
+ *
6
+ * This module provides:
7
+ * - Server-side API route handlers for Puck AI chat
8
+ * - Headless page generation for programmatic workflows
9
+ * - Client-side AI plugin factory
10
+ * - Prompt editor plugin for managing prompts in the editor
11
+ * - Utilities for adding AI metadata to component configs
12
+ *
13
+ * @example Quick Start
14
+ * ```typescript
15
+ * // 1. Create API route for AI chat
16
+ * // app/api/puck/[...all]/route.ts
17
+ * import { createPuckAiApiRoutes } from '@delmaredigital/payload-puck/ai'
18
+ *
19
+ * export const POST = createPuckAiApiRoutes({
20
+ * payloadConfig: config,
21
+ * auth: { authenticate: async (req) => ... },
22
+ * ai: { context: 'We are Acme Corp...' },
23
+ * })
24
+ *
25
+ * // 2. Enable AI in the editor
26
+ * <PuckEditor enableAi={true} />
27
+ *
28
+ * // Or use the factory for custom prompts
29
+ * import { createAiPlugin } from '@delmaredigital/payload-puck/ai'
30
+ * const aiPlugin = createAiPlugin({ examplePrompts: [...] })
31
+ * <PuckEditor plugins={[aiPlugin]} />
32
+ * ```
33
+ *
34
+ * @packageDocumentation
35
+ */
36
+ // =============================================================================
37
+ // Server-side exports (API route factories)
38
+ // =============================================================================
39
+ export { createPuckAiApiRoutes } from './createAiApiRoutes.js';
40
+ export { createAiGenerate } from './createAiGenerate.js';
41
+ export { createPromptApiRoutes, createPromptApiRoutesWithId, } from './plugins/promptApiRoutes.js';
42
+ // =============================================================================
43
+ // Client-side exports (plugins)
44
+ // =============================================================================
45
+ export { createAiPlugin } from './createAiPlugin.js';
46
+ export { createPromptEditorPlugin } from './plugins/promptEditorPlugin.js';
47
+ export { PromptEditorPanel } from './plugins/PromptEditorPanel.js';
48
+ export { createContextEditorPlugin } from './plugins/contextEditorPlugin.js';
49
+ export { ContextEditorPanel } from './plugins/ContextEditorPanel.js';
50
+ // =============================================================================
51
+ // Client-side exports (hooks)
52
+ // =============================================================================
53
+ export { useAiPrompts, dispatchPromptsUpdated, AI_PROMPTS_UPDATED_EVENT, } from './hooks/useAiPrompts.js';
54
+ export { useAiContext, dispatchContextUpdated, AI_CONTEXT_UPDATED_EVENT, } from './hooks/useAiContext.js';
55
+ // =============================================================================
56
+ // AI Tools
57
+ // =============================================================================
58
+ export { createPayloadTools, createTool, } from './tools/index.js';
59
+ // =============================================================================
60
+ // Configuration utilities
61
+ // =============================================================================
62
+ export { injectAiConfig, hasAiConfig } from './utils/injectAiConfig.js';
63
+ // Legacy exports for backward compatibility
64
+ export { defaultComponentAiConfig, minimalComponentAiConfig, } from './presets/componentAiDefaults.js';
65
+ // New comprehensive AI config exports
66
+ export { comprehensiveComponentAiConfig, pagePatternSystemContext, pagePatternContext, componentFieldReference, allComponents, componentNames,
67
+ // Individual instruction modules for advanced usage
68
+ typographyInstructions, layoutInstructions, interactiveInstructions, mediaInstructions, } from './presets/index.js';
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAE5B,MAAM,8BAA8B,CAAA;AAErC,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,wBAAwB,GAGzB,MAAM,yBAAyB,CAAA;AAEhC,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF,OAAO,EACL,kBAAkB,EAClB,UAAU,GAEX,MAAM,kBAAkB,CAAA;AAEzB,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvE,4CAA4C;AAC5C,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kCAAkC,CAAA;AAEzC,sCAAsC;AACtC,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,cAAc;AACd,oDAAoD;AACpD,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { ContextEditorPluginOptions } from '../types.js';
2
+ interface ContextEditorPanelProps extends ContextEditorPluginOptions {
3
+ }
4
+ /**
5
+ * Panel component for managing AI context in the Puck editor sidebar
6
+ */
7
+ export declare function ContextEditorPanel({ apiEndpoint, canEdit, canCreate, canDelete, }: ContextEditorPanelProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=ContextEditorPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextEditorPanel.d.ts","sourceRoot":"","sources":["../../../src/ai/plugins/ContextEditorPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAa,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAGxE,UAAU,uBAAwB,SAAQ,0BAA0B;CAAG;AAYvE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,WAAoC,EACpC,OAAc,EACd,SAAgB,EAChB,SAAgB,GACjB,EAAE,uBAAuB,2CA0kBzB"}