@delmaredigital/payload-puck 0.6.10 → 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 +79 -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 +12 -4
  260. package/dist/editor/PuckEditor.d.ts.map +1 -1
  261. package/dist/editor/PuckEditor.js +168 -67
  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 +192 -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 +42 -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 +137 -41
  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
@@ -4,25 +4,45 @@ import { useState, useEffect, useCallback } from 'react';
4
4
  import { Plus, Pencil, Trash2, ChevronUp, ChevronDown, Save, X, Eye, EyeOff } from 'lucide-react';
5
5
  import { dispatchContextUpdated } from '../hooks/useAiContext.js';
6
6
  const CATEGORY_OPTIONS = [
7
- { label: 'Brand Guidelines', value: 'brand' },
8
- { label: 'Tone of Voice', value: 'tone' },
9
- { label: 'Product Information', value: 'product' },
10
- { label: 'Industry Context', value: 'industry' },
11
- { label: 'Technical Requirements', value: 'technical' },
12
- { label: 'Page Patterns', value: 'patterns' },
13
- { label: 'Other', value: 'other' },
7
+ {
8
+ label: 'Brand Guidelines',
9
+ value: 'brand'
10
+ },
11
+ {
12
+ label: 'Tone of Voice',
13
+ value: 'tone'
14
+ },
15
+ {
16
+ label: 'Product Information',
17
+ value: 'product'
18
+ },
19
+ {
20
+ label: 'Industry Context',
21
+ value: 'industry'
22
+ },
23
+ {
24
+ label: 'Technical Requirements',
25
+ value: 'technical'
26
+ },
27
+ {
28
+ label: 'Page Patterns',
29
+ value: 'patterns'
30
+ },
31
+ {
32
+ label: 'Other',
33
+ value: 'other'
34
+ }
14
35
  ];
15
36
  /**
16
37
  * Panel component for managing AI context in the Puck editor sidebar
17
- */
18
- export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEdit = true, canCreate = true, canDelete = true, }) {
38
+ */ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEdit = true, canCreate = true, canDelete = true }) {
19
39
  const [context, setContext] = useState([]);
20
40
  const [loading, setLoading] = useState(true);
21
41
  const [error, setError] = useState(null);
22
42
  const [editingContext, setEditingContext] = useState(null);
23
43
  const [saving, setSaving] = useState(false);
24
44
  // Fetch context on mount (include all, both enabled and disabled)
25
- const fetchContext = useCallback(async () => {
45
+ const fetchContext = useCallback(async ()=>{
26
46
  try {
27
47
  setLoading(true);
28
48
  setError(null);
@@ -32,21 +52,22 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
32
52
  }
33
53
  const data = await response.json();
34
54
  setContext(data.docs || []);
35
- }
36
- catch (err) {
55
+ } catch (err) {
37
56
  setError(err instanceof Error ? err.message : 'Failed to load context');
38
- }
39
- finally {
57
+ } finally{
40
58
  setLoading(false);
41
59
  }
42
- }, [apiEndpoint]);
43
- useEffect(() => {
60
+ }, [
61
+ apiEndpoint
62
+ ]);
63
+ useEffect(()=>{
44
64
  fetchContext();
45
- }, [fetchContext]);
65
+ }, [
66
+ fetchContext
67
+ ]);
46
68
  // Save context (create or update)
47
- const handleSave = async () => {
48
- if (!editingContext)
49
- return;
69
+ const handleSave = async ()=>{
70
+ if (!editingContext) return;
50
71
  try {
51
72
  setSaving(true);
52
73
  setError(null);
@@ -55,14 +76,16 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
55
76
  const method = isNew ? 'POST' : 'PATCH';
56
77
  const response = await fetch(url, {
57
78
  method,
58
- headers: { 'Content-Type': 'application/json' },
79
+ headers: {
80
+ 'Content-Type': 'application/json'
81
+ },
59
82
  body: JSON.stringify({
60
83
  name: editingContext.name,
61
84
  content: editingContext.content,
62
85
  category: editingContext.category,
63
86
  enabled: editingContext.enabled ?? true,
64
- order: editingContext.order ?? 0,
65
- }),
87
+ order: editingContext.order ?? 0
88
+ })
66
89
  });
67
90
  if (!response.ok) {
68
91
  throw new Error('Failed to save context');
@@ -70,56 +93,54 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
70
93
  setEditingContext(null);
71
94
  await fetchContext();
72
95
  dispatchContextUpdated();
73
- }
74
- catch (err) {
96
+ } catch (err) {
75
97
  setError(err instanceof Error ? err.message : 'Failed to save context');
76
- }
77
- finally {
98
+ } finally{
78
99
  setSaving(false);
79
100
  }
80
101
  };
81
102
  // Toggle enabled state
82
- const handleToggleEnabled = async (entry) => {
103
+ const handleToggleEnabled = async (entry)=>{
83
104
  try {
84
105
  setError(null);
85
106
  const response = await fetch(`${apiEndpoint}/${entry.id}`, {
86
107
  method: 'PATCH',
87
- headers: { 'Content-Type': 'application/json' },
88
- body: JSON.stringify({ enabled: !entry.enabled }),
108
+ headers: {
109
+ 'Content-Type': 'application/json'
110
+ },
111
+ body: JSON.stringify({
112
+ enabled: !entry.enabled
113
+ })
89
114
  });
90
115
  if (!response.ok) {
91
116
  throw new Error('Failed to update context');
92
117
  }
93
118
  await fetchContext();
94
119
  dispatchContextUpdated();
95
- }
96
- catch (err) {
120
+ } catch (err) {
97
121
  setError(err instanceof Error ? err.message : 'Failed to update context');
98
122
  }
99
123
  };
100
124
  // Delete context
101
- const handleDelete = async (id) => {
102
- if (!confirm('Are you sure you want to delete this context entry?'))
103
- return;
125
+ const handleDelete = async (id)=>{
126
+ if (!confirm('Are you sure you want to delete this context entry?')) return;
104
127
  try {
105
128
  setError(null);
106
129
  const response = await fetch(`${apiEndpoint}/${id}`, {
107
- method: 'DELETE',
130
+ method: 'DELETE'
108
131
  });
109
132
  if (!response.ok) {
110
133
  throw new Error('Failed to delete context');
111
134
  }
112
135
  await fetchContext();
113
136
  dispatchContextUpdated();
114
- }
115
- catch (err) {
137
+ } catch (err) {
116
138
  setError(err instanceof Error ? err.message : 'Failed to delete context');
117
139
  }
118
140
  };
119
141
  // Move context entry up (swap order with previous entry)
120
- const handleMoveUp = async (entry, index) => {
121
- if (index === 0)
122
- return; // Already at top
142
+ const handleMoveUp = async (entry, index)=>{
143
+ if (index === 0) return; // Already at top
123
144
  try {
124
145
  setError(null);
125
146
  const prevEntry = context[index - 1];
@@ -127,26 +148,32 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
127
148
  await Promise.all([
128
149
  fetch(`${apiEndpoint}/${entry.id}`, {
129
150
  method: 'PATCH',
130
- headers: { 'Content-Type': 'application/json' },
131
- body: JSON.stringify({ order: prevEntry.order }),
151
+ headers: {
152
+ 'Content-Type': 'application/json'
153
+ },
154
+ body: JSON.stringify({
155
+ order: prevEntry.order
156
+ })
132
157
  }),
133
158
  fetch(`${apiEndpoint}/${prevEntry.id}`, {
134
159
  method: 'PATCH',
135
- headers: { 'Content-Type': 'application/json' },
136
- body: JSON.stringify({ order: entry.order }),
137
- }),
160
+ headers: {
161
+ 'Content-Type': 'application/json'
162
+ },
163
+ body: JSON.stringify({
164
+ order: entry.order
165
+ })
166
+ })
138
167
  ]);
139
168
  await fetchContext();
140
169
  dispatchContextUpdated();
141
- }
142
- catch (err) {
170
+ } catch (err) {
143
171
  setError(err instanceof Error ? err.message : 'Failed to reorder context');
144
172
  }
145
173
  };
146
174
  // Move context entry down (swap order with next entry)
147
- const handleMoveDown = async (entry, index) => {
148
- if (index >= context.length - 1)
149
- return; // Already at bottom
175
+ const handleMoveDown = async (entry, index)=>{
176
+ if (index >= context.length - 1) return; // Already at bottom
150
177
  try {
151
178
  setError(null);
152
179
  const nextEntry = context[index + 1];
@@ -154,19 +181,26 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
154
181
  await Promise.all([
155
182
  fetch(`${apiEndpoint}/${entry.id}`, {
156
183
  method: 'PATCH',
157
- headers: { 'Content-Type': 'application/json' },
158
- body: JSON.stringify({ order: nextEntry.order }),
184
+ headers: {
185
+ 'Content-Type': 'application/json'
186
+ },
187
+ body: JSON.stringify({
188
+ order: nextEntry.order
189
+ })
159
190
  }),
160
191
  fetch(`${apiEndpoint}/${nextEntry.id}`, {
161
192
  method: 'PATCH',
162
- headers: { 'Content-Type': 'application/json' },
163
- body: JSON.stringify({ order: entry.order }),
164
- }),
193
+ headers: {
194
+ 'Content-Type': 'application/json'
195
+ },
196
+ body: JSON.stringify({
197
+ order: entry.order
198
+ })
199
+ })
165
200
  ]);
166
201
  await fetchContext();
167
202
  dispatchContextUpdated();
168
- }
169
- catch (err) {
203
+ } catch (err) {
170
204
  setError(err instanceof Error ? err.message : 'Failed to reorder context');
171
205
  }
172
206
  };
@@ -178,19 +212,19 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
178
212
  flexDirection: 'column',
179
213
  gap: '12px',
180
214
  height: '100%',
181
- overflowY: 'auto',
215
+ overflowY: 'auto'
182
216
  },
183
217
  header: {
184
218
  display: 'flex',
185
219
  justifyContent: 'space-between',
186
220
  alignItems: 'center',
187
- marginBottom: '8px',
221
+ marginBottom: '8px'
188
222
  },
189
223
  title: {
190
224
  fontSize: '14px',
191
225
  fontWeight: 600,
192
226
  color: 'var(--puck-color-grey-01)',
193
- margin: 0,
227
+ margin: 0
194
228
  },
195
229
  addButton: {
196
230
  display: 'flex',
@@ -203,7 +237,7 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
203
237
  backgroundColor: 'var(--puck-color-azure-12)',
204
238
  border: 'none',
205
239
  borderRadius: '4px',
206
- cursor: 'pointer',
240
+ cursor: 'pointer'
207
241
  },
208
242
  contextItem: {
209
243
  display: 'flex',
@@ -212,38 +246,38 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
212
246
  padding: '12px',
213
247
  backgroundColor: 'var(--puck-color-grey-12)',
214
248
  borderRadius: '6px',
215
- border: '1px solid var(--puck-color-grey-09)',
249
+ border: '1px solid var(--puck-color-grey-09)'
216
250
  },
217
251
  contextItemDisabled: {
218
- opacity: 0.6,
252
+ opacity: 0.6
219
253
  },
220
254
  contextContent: {
221
255
  flex: 1,
222
- minWidth: 0,
256
+ minWidth: 0
223
257
  },
224
258
  contextName: {
225
259
  fontSize: '13px',
226
260
  fontWeight: 500,
227
261
  color: 'var(--puck-color-grey-02)',
228
- marginBottom: '2px',
262
+ marginBottom: '2px'
229
263
  },
230
264
  contextCategory: {
231
265
  fontSize: '11px',
232
266
  color: 'var(--puck-color-grey-05)',
233
267
  marginBottom: '4px',
234
268
  textTransform: 'uppercase',
235
- letterSpacing: '0.5px',
269
+ letterSpacing: '0.5px'
236
270
  },
237
271
  contextPreview: {
238
272
  fontSize: '12px',
239
273
  color: 'var(--puck-color-grey-04)',
240
274
  overflow: 'hidden',
241
275
  textOverflow: 'ellipsis',
242
- whiteSpace: 'nowrap',
276
+ whiteSpace: 'nowrap'
243
277
  },
244
278
  contextActions: {
245
279
  display: 'flex',
246
- gap: '4px',
280
+ gap: '4px'
247
281
  },
248
282
  iconButton: {
249
283
  display: 'flex',
@@ -256,7 +290,7 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
256
290
  border: 'none',
257
291
  borderRadius: '4px',
258
292
  cursor: 'pointer',
259
- color: 'var(--puck-color-grey-05)',
293
+ color: 'var(--puck-color-grey-05)'
260
294
  },
261
295
  form: {
262
296
  display: 'flex',
@@ -265,17 +299,17 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
265
299
  padding: '16px',
266
300
  backgroundColor: 'var(--puck-color-grey-11)',
267
301
  borderRadius: '6px',
268
- border: '1px solid var(--puck-color-grey-08)',
302
+ border: '1px solid var(--puck-color-grey-08)'
269
303
  },
270
304
  formField: {
271
305
  display: 'flex',
272
306
  flexDirection: 'column',
273
- gap: '4px',
307
+ gap: '4px'
274
308
  },
275
309
  formLabel: {
276
310
  fontSize: '12px',
277
311
  fontWeight: 500,
278
- color: 'var(--puck-color-grey-03)',
312
+ color: 'var(--puck-color-grey-03)'
279
313
  },
280
314
  formInput: {
281
315
  padding: '8px 12px',
@@ -283,7 +317,7 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
283
317
  backgroundColor: 'var(--puck-color-white)',
284
318
  border: '1px solid var(--puck-color-grey-08)',
285
319
  borderRadius: '4px',
286
- color: 'var(--puck-color-grey-02)',
320
+ color: 'var(--puck-color-grey-02)'
287
321
  },
288
322
  formSelect: {
289
323
  padding: '8px 12px',
@@ -291,7 +325,7 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
291
325
  backgroundColor: 'var(--puck-color-white)',
292
326
  border: '1px solid var(--puck-color-grey-08)',
293
327
  borderRadius: '4px',
294
- color: 'var(--puck-color-grey-02)',
328
+ color: 'var(--puck-color-grey-02)'
295
329
  },
296
330
  formTextarea: {
297
331
  padding: '8px 12px',
@@ -302,17 +336,17 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
302
336
  color: 'var(--puck-color-grey-02)',
303
337
  resize: 'vertical',
304
338
  minHeight: '120px',
305
- fontFamily: 'monospace',
339
+ fontFamily: 'monospace'
306
340
  },
307
341
  formCheckbox: {
308
342
  display: 'flex',
309
343
  alignItems: 'center',
310
- gap: '8px',
344
+ gap: '8px'
311
345
  },
312
346
  formActions: {
313
347
  display: 'flex',
314
348
  gap: '8px',
315
- justifyContent: 'flex-end',
349
+ justifyContent: 'flex-end'
316
350
  },
317
351
  saveButton: {
318
352
  display: 'flex',
@@ -325,7 +359,7 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
325
359
  backgroundColor: 'var(--puck-color-azure-04)',
326
360
  border: 'none',
327
361
  borderRadius: '4px',
328
- cursor: 'pointer',
362
+ cursor: 'pointer'
329
363
  },
330
364
  cancelButton: {
331
365
  display: 'flex',
@@ -338,7 +372,7 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
338
372
  backgroundColor: 'var(--puck-color-grey-10)',
339
373
  border: 'none',
340
374
  borderRadius: '4px',
341
- cursor: 'pointer',
375
+ cursor: 'pointer'
342
376
  },
343
377
  errorMessage: {
344
378
  padding: '12px',
@@ -346,54 +380,312 @@ export function ContextEditorPanel({ apiEndpoint = '/api/puck/ai-context', canEd
346
380
  border: '1px solid var(--puck-color-red-08)',
347
381
  borderRadius: '4px',
348
382
  color: 'var(--puck-color-red-04)',
349
- fontSize: '13px',
383
+ fontSize: '13px'
350
384
  },
351
385
  emptyState: {
352
386
  textAlign: 'center',
353
387
  padding: '24px',
354
388
  color: 'var(--puck-color-grey-05)',
355
- fontSize: '13px',
389
+ fontSize: '13px'
356
390
  },
357
391
  loading: {
358
392
  textAlign: 'center',
359
393
  padding: '24px',
360
394
  color: 'var(--puck-color-grey-05)',
361
- fontSize: '13px',
395
+ fontSize: '13px'
362
396
  },
363
397
  helpText: {
364
398
  fontSize: '11px',
365
399
  color: 'var(--puck-color-grey-05)',
366
- marginTop: '2px',
367
- },
400
+ marginTop: '2px'
401
+ }
368
402
  };
369
403
  // Render loading state
370
404
  if (loading) {
371
- return (_jsx("div", { style: styles.container, children: _jsx("div", { style: styles.loading, children: "Loading context..." }) }));
405
+ return /*#__PURE__*/ _jsx("div", {
406
+ style: styles.container,
407
+ children: /*#__PURE__*/ _jsx("div", {
408
+ style: styles.loading,
409
+ children: "Loading context..."
410
+ })
411
+ });
372
412
  }
373
413
  // Render edit form
374
414
  if (editingContext) {
375
- return (_jsx("div", { style: styles.container, children: _jsxs("div", { style: styles.form, children: [_jsxs("div", { style: styles.formField, children: [_jsx("label", { style: styles.formLabel, children: "Name" }), _jsx("input", { type: "text", style: styles.formInput, value: editingContext.name || '', onChange: (e) => setEditingContext({ ...editingContext, name: e.target.value }), placeholder: "e.g., Brand Guidelines" })] }), _jsxs("div", { style: styles.formField, children: [_jsx("label", { style: styles.formLabel, children: "Category" }), _jsxs("select", { style: styles.formSelect, value: editingContext.category || '', onChange: (e) => setEditingContext({
376
- ...editingContext,
377
- category: e.target.value,
378
- }), children: [_jsx("option", { value: "", children: "Select a category..." }), CATEGORY_OPTIONS.map((opt) => (_jsx("option", { value: opt.value, children: opt.label }, opt.value)))] })] }), _jsxs("div", { style: styles.formField, children: [_jsx("label", { style: styles.formLabel, children: "Content" }), _jsx("textarea", { style: styles.formTextarea, value: editingContext.content || '', onChange: (e) => setEditingContext({ ...editingContext, content: e.target.value }), placeholder: "Enter markdown content for the AI to use..." }), _jsx("div", { style: styles.helpText, children: "Use markdown formatting. This content will be included in AI prompts." })] }), _jsx("div", { style: styles.formField, children: _jsxs("label", { style: styles.formCheckbox, children: [_jsx("input", { type: "checkbox", checked: editingContext.enabled ?? true, onChange: (e) => setEditingContext({ ...editingContext, enabled: e.target.checked }) }), _jsx("span", { style: styles.formLabel, children: "Enabled" })] }) }), error && _jsx("div", { style: styles.errorMessage, children: error }), _jsxs("div", { style: styles.formActions, children: [_jsxs("button", { type: "button", style: styles.cancelButton, onClick: () => setEditingContext(null), disabled: saving, children: [_jsx(X, { size: 14 }), "Cancel"] }), _jsxs("button", { type: "button", style: styles.saveButton, onClick: handleSave, disabled: saving || !editingContext.name || !editingContext.content, children: [_jsx(Save, { size: 14 }), saving ? 'Saving...' : 'Save'] })] })] }) }));
415
+ return /*#__PURE__*/ _jsx("div", {
416
+ style: styles.container,
417
+ children: /*#__PURE__*/ _jsxs("div", {
418
+ style: styles.form,
419
+ children: [
420
+ /*#__PURE__*/ _jsxs("div", {
421
+ style: styles.formField,
422
+ children: [
423
+ /*#__PURE__*/ _jsx("label", {
424
+ style: styles.formLabel,
425
+ children: "Name"
426
+ }),
427
+ /*#__PURE__*/ _jsx("input", {
428
+ type: "text",
429
+ style: styles.formInput,
430
+ value: editingContext.name || '',
431
+ onChange: (e)=>setEditingContext({
432
+ ...editingContext,
433
+ name: e.target.value
434
+ }),
435
+ placeholder: "e.g., Brand Guidelines"
436
+ })
437
+ ]
438
+ }),
439
+ /*#__PURE__*/ _jsxs("div", {
440
+ style: styles.formField,
441
+ children: [
442
+ /*#__PURE__*/ _jsx("label", {
443
+ style: styles.formLabel,
444
+ children: "Category"
445
+ }),
446
+ /*#__PURE__*/ _jsxs("select", {
447
+ style: styles.formSelect,
448
+ value: editingContext.category || '',
449
+ onChange: (e)=>setEditingContext({
450
+ ...editingContext,
451
+ category: e.target.value
452
+ }),
453
+ children: [
454
+ /*#__PURE__*/ _jsx("option", {
455
+ value: "",
456
+ children: "Select a category..."
457
+ }),
458
+ CATEGORY_OPTIONS.map((opt)=>/*#__PURE__*/ _jsx("option", {
459
+ value: opt.value,
460
+ children: opt.label
461
+ }, opt.value))
462
+ ]
463
+ })
464
+ ]
465
+ }),
466
+ /*#__PURE__*/ _jsxs("div", {
467
+ style: styles.formField,
468
+ children: [
469
+ /*#__PURE__*/ _jsx("label", {
470
+ style: styles.formLabel,
471
+ children: "Content"
472
+ }),
473
+ /*#__PURE__*/ _jsx("textarea", {
474
+ style: styles.formTextarea,
475
+ value: editingContext.content || '',
476
+ onChange: (e)=>setEditingContext({
477
+ ...editingContext,
478
+ content: e.target.value
479
+ }),
480
+ placeholder: "Enter markdown content for the AI to use..."
481
+ }),
482
+ /*#__PURE__*/ _jsx("div", {
483
+ style: styles.helpText,
484
+ children: "Use markdown formatting. This content will be included in AI prompts."
485
+ })
486
+ ]
487
+ }),
488
+ /*#__PURE__*/ _jsx("div", {
489
+ style: styles.formField,
490
+ children: /*#__PURE__*/ _jsxs("label", {
491
+ style: styles.formCheckbox,
492
+ children: [
493
+ /*#__PURE__*/ _jsx("input", {
494
+ type: "checkbox",
495
+ checked: editingContext.enabled ?? true,
496
+ onChange: (e)=>setEditingContext({
497
+ ...editingContext,
498
+ enabled: e.target.checked
499
+ })
500
+ }),
501
+ /*#__PURE__*/ _jsx("span", {
502
+ style: styles.formLabel,
503
+ children: "Enabled"
504
+ })
505
+ ]
506
+ })
507
+ }),
508
+ error && /*#__PURE__*/ _jsx("div", {
509
+ style: styles.errorMessage,
510
+ children: error
511
+ }),
512
+ /*#__PURE__*/ _jsxs("div", {
513
+ style: styles.formActions,
514
+ children: [
515
+ /*#__PURE__*/ _jsxs("button", {
516
+ type: "button",
517
+ style: styles.cancelButton,
518
+ onClick: ()=>setEditingContext(null),
519
+ disabled: saving,
520
+ children: [
521
+ /*#__PURE__*/ _jsx(X, {
522
+ size: 14
523
+ }),
524
+ "Cancel"
525
+ ]
526
+ }),
527
+ /*#__PURE__*/ _jsxs("button", {
528
+ type: "button",
529
+ style: styles.saveButton,
530
+ onClick: handleSave,
531
+ disabled: saving || !editingContext.name || !editingContext.content,
532
+ children: [
533
+ /*#__PURE__*/ _jsx(Save, {
534
+ size: 14
535
+ }),
536
+ saving ? 'Saving...' : 'Save'
537
+ ]
538
+ })
539
+ ]
540
+ })
541
+ ]
542
+ })
543
+ });
379
544
  }
380
545
  // Render context list
381
- return (_jsxs("div", { style: styles.container, children: [_jsxs("div", { style: styles.header, children: [_jsx("h3", { style: styles.title, children: "AI Context" }), canCreate && (_jsxs("button", { type: "button", style: styles.addButton, onClick: () => setEditingContext({ name: '', content: '', enabled: true, order: 0 }), children: [_jsx(Plus, { size: 14 }), "Add"] }))] }), error && _jsx("div", { style: styles.errorMessage, children: error }), context.length === 0 ? (_jsxs("div", { style: styles.emptyState, children: ["No context entries yet.", canCreate && ' Click "Add" to create one.'] })) : (context.map((entry, index) => (_jsxs("div", { style: {
382
- ...styles.contextItem,
383
- ...(entry.enabled ? {} : styles.contextItemDisabled),
384
- }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '2px' }, children: [_jsx("button", { type: "button", style: {
385
- ...styles.iconButton,
386
- width: '20px',
387
- height: '20px',
388
- opacity: index === 0 ? 0.3 : 1,
389
- cursor: index === 0 ? 'default' : 'pointer',
390
- }, onClick: () => handleMoveUp(entry, index), disabled: index === 0, title: "Move up", children: _jsx(ChevronUp, { size: 14 }) }), _jsx("button", { type: "button", style: {
391
- ...styles.iconButton,
392
- width: '20px',
393
- height: '20px',
394
- opacity: index >= context.length - 1 ? 0.3 : 1,
395
- cursor: index >= context.length - 1 ? 'default' : 'pointer',
396
- }, onClick: () => handleMoveDown(entry, index), disabled: index >= context.length - 1, title: "Move down", children: _jsx(ChevronDown, { size: 14 }) })] }), _jsxs("div", { style: styles.contextContent, children: [_jsx("div", { style: styles.contextName, children: entry.name }), entry.category && (_jsx("div", { style: styles.contextCategory, children: CATEGORY_OPTIONS.find((o) => o.value === entry.category)?.label ||
397
- entry.category })), _jsxs("div", { style: styles.contextPreview, children: [entry.content.slice(0, 100), entry.content.length > 100 ? '...' : ''] })] }), _jsxs("div", { style: styles.contextActions, children: [canEdit && (_jsx("button", { type: "button", style: styles.iconButton, onClick: () => handleToggleEnabled(entry), title: entry.enabled ? 'Disable context' : 'Enable context', children: entry.enabled ? _jsx(Eye, { size: 14 }) : _jsx(EyeOff, { size: 14 }) })), canEdit && (_jsx("button", { type: "button", style: styles.iconButton, onClick: () => setEditingContext(entry), title: "Edit context", children: _jsx(Pencil, { size: 14 }) })), canDelete && (_jsx("button", { type: "button", style: styles.iconButton, onClick: () => handleDelete(entry.id), title: "Delete context", children: _jsx(Trash2, { size: 14 }) }))] })] }, entry.id))))] }));
546
+ return /*#__PURE__*/ _jsxs("div", {
547
+ style: styles.container,
548
+ children: [
549
+ /*#__PURE__*/ _jsxs("div", {
550
+ style: styles.header,
551
+ children: [
552
+ /*#__PURE__*/ _jsx("h3", {
553
+ style: styles.title,
554
+ children: "AI Context"
555
+ }),
556
+ canCreate && /*#__PURE__*/ _jsxs("button", {
557
+ type: "button",
558
+ style: styles.addButton,
559
+ onClick: ()=>setEditingContext({
560
+ name: '',
561
+ content: '',
562
+ enabled: true,
563
+ order: 0
564
+ }),
565
+ children: [
566
+ /*#__PURE__*/ _jsx(Plus, {
567
+ size: 14
568
+ }),
569
+ "Add"
570
+ ]
571
+ })
572
+ ]
573
+ }),
574
+ error && /*#__PURE__*/ _jsx("div", {
575
+ style: styles.errorMessage,
576
+ children: error
577
+ }),
578
+ context.length === 0 ? /*#__PURE__*/ _jsxs("div", {
579
+ style: styles.emptyState,
580
+ children: [
581
+ "No context entries yet.",
582
+ canCreate && ' Click "Add" to create one.'
583
+ ]
584
+ }) : context.map((entry, index)=>/*#__PURE__*/ _jsxs("div", {
585
+ style: {
586
+ ...styles.contextItem,
587
+ ...entry.enabled ? {} : styles.contextItemDisabled
588
+ },
589
+ children: [
590
+ /*#__PURE__*/ _jsxs("div", {
591
+ style: {
592
+ display: 'flex',
593
+ flexDirection: 'column',
594
+ gap: '2px'
595
+ },
596
+ children: [
597
+ /*#__PURE__*/ _jsx("button", {
598
+ type: "button",
599
+ style: {
600
+ ...styles.iconButton,
601
+ width: '20px',
602
+ height: '20px',
603
+ opacity: index === 0 ? 0.3 : 1,
604
+ cursor: index === 0 ? 'default' : 'pointer'
605
+ },
606
+ onClick: ()=>handleMoveUp(entry, index),
607
+ disabled: index === 0,
608
+ title: "Move up",
609
+ children: /*#__PURE__*/ _jsx(ChevronUp, {
610
+ size: 14
611
+ })
612
+ }),
613
+ /*#__PURE__*/ _jsx("button", {
614
+ type: "button",
615
+ style: {
616
+ ...styles.iconButton,
617
+ width: '20px',
618
+ height: '20px',
619
+ opacity: index >= context.length - 1 ? 0.3 : 1,
620
+ cursor: index >= context.length - 1 ? 'default' : 'pointer'
621
+ },
622
+ onClick: ()=>handleMoveDown(entry, index),
623
+ disabled: index >= context.length - 1,
624
+ title: "Move down",
625
+ children: /*#__PURE__*/ _jsx(ChevronDown, {
626
+ size: 14
627
+ })
628
+ })
629
+ ]
630
+ }),
631
+ /*#__PURE__*/ _jsxs("div", {
632
+ style: styles.contextContent,
633
+ children: [
634
+ /*#__PURE__*/ _jsx("div", {
635
+ style: styles.contextName,
636
+ children: entry.name
637
+ }),
638
+ entry.category && /*#__PURE__*/ _jsx("div", {
639
+ style: styles.contextCategory,
640
+ children: CATEGORY_OPTIONS.find((o)=>o.value === entry.category)?.label || entry.category
641
+ }),
642
+ /*#__PURE__*/ _jsxs("div", {
643
+ style: styles.contextPreview,
644
+ children: [
645
+ entry.content.slice(0, 100),
646
+ entry.content.length > 100 ? '...' : ''
647
+ ]
648
+ })
649
+ ]
650
+ }),
651
+ /*#__PURE__*/ _jsxs("div", {
652
+ style: styles.contextActions,
653
+ children: [
654
+ canEdit && /*#__PURE__*/ _jsx("button", {
655
+ type: "button",
656
+ style: styles.iconButton,
657
+ onClick: ()=>handleToggleEnabled(entry),
658
+ title: entry.enabled ? 'Disable context' : 'Enable context',
659
+ children: entry.enabled ? /*#__PURE__*/ _jsx(Eye, {
660
+ size: 14
661
+ }) : /*#__PURE__*/ _jsx(EyeOff, {
662
+ size: 14
663
+ })
664
+ }),
665
+ canEdit && /*#__PURE__*/ _jsx("button", {
666
+ type: "button",
667
+ style: styles.iconButton,
668
+ onClick: ()=>setEditingContext(entry),
669
+ title: "Edit context",
670
+ children: /*#__PURE__*/ _jsx(Pencil, {
671
+ size: 14
672
+ })
673
+ }),
674
+ canDelete && /*#__PURE__*/ _jsx("button", {
675
+ type: "button",
676
+ style: styles.iconButton,
677
+ onClick: ()=>handleDelete(entry.id),
678
+ title: "Delete context",
679
+ children: /*#__PURE__*/ _jsx(Trash2, {
680
+ size: 14
681
+ })
682
+ })
683
+ ]
684
+ })
685
+ ]
686
+ }, entry.id))
687
+ ]
688
+ });
398
689
  }
690
+
399
691
  //# sourceMappingURL=ContextEditorPanel.js.map