@delmaredigital/payload-puck 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/README.md +349 -1370
  2. package/dist/admin/EditWithPuckButton.d.ts +74 -0
  3. package/dist/admin/EditWithPuckButton.d.ts.map +1 -0
  4. package/dist/admin/EditWithPuckButton.js +114 -0
  5. package/dist/admin/EditWithPuckButton.js.map +1 -0
  6. package/dist/admin/EditWithPuckCell.d.ts +43 -0
  7. package/dist/admin/EditWithPuckCell.d.ts.map +1 -0
  8. package/dist/admin/EditWithPuckCell.js +66 -0
  9. package/dist/admin/EditWithPuckCell.js.map +1 -0
  10. package/dist/admin/PuckEditorView.d.ts +85 -0
  11. package/dist/admin/PuckEditorView.d.ts.map +1 -0
  12. package/dist/admin/PuckEditorView.js +135 -0
  13. package/dist/admin/PuckEditorView.js.map +1 -0
  14. package/dist/admin/client.d.ts +8 -104
  15. package/dist/admin/client.d.ts.map +1 -0
  16. package/dist/admin/client.js +14 -176
  17. package/dist/admin/client.js.map +1 -0
  18. package/dist/admin/generateAdminComponents.d.ts +51 -0
  19. package/dist/admin/generateAdminComponents.d.ts.map +1 -0
  20. package/dist/admin/generateAdminComponents.js +42 -0
  21. package/dist/admin/generateAdminComponents.js.map +1 -0
  22. package/dist/admin/index.d.ts +14 -150
  23. package/dist/admin/index.d.ts.map +1 -0
  24. package/dist/admin/index.js +17 -30
  25. package/dist/admin/index.js.map +1 -0
  26. package/dist/api/createPuckApiRoutes.d.ts +31 -0
  27. package/dist/api/createPuckApiRoutes.d.ts.map +1 -0
  28. package/dist/api/createPuckApiRoutes.js +193 -0
  29. package/dist/api/createPuckApiRoutes.js.map +1 -0
  30. package/dist/api/createPuckApiRoutesVersions.d.ts +28 -0
  31. package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -0
  32. package/dist/api/createPuckApiRoutesVersions.js +144 -0
  33. package/dist/api/createPuckApiRoutesVersions.js.map +1 -0
  34. package/dist/api/createPuckApiRoutesWithId.d.ts +34 -0
  35. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -0
  36. package/dist/api/createPuckApiRoutesWithId.js +251 -0
  37. package/dist/api/createPuckApiRoutesWithId.js.map +1 -0
  38. package/dist/api/index.d.ts +11 -431
  39. package/dist/api/index.d.ts.map +1 -0
  40. package/dist/api/index.js +40 -587
  41. package/dist/api/index.js.map +1 -0
  42. package/dist/api/types.d.ts +302 -0
  43. package/dist/api/types.d.ts.map +1 -0
  44. package/dist/api/types.js +2 -0
  45. package/dist/api/types.js.map +1 -0
  46. package/dist/api/utils/mapRootProps.d.ts +76 -0
  47. package/dist/api/utils/mapRootProps.d.ts.map +1 -0
  48. package/dist/api/utils/mapRootProps.js +169 -0
  49. package/dist/api/utils/mapRootProps.js.map +1 -0
  50. package/dist/collections/Templates.d.ts +9 -0
  51. package/dist/collections/Templates.d.ts.map +1 -0
  52. package/dist/collections/Templates.js +62 -0
  53. package/dist/collections/Templates.js.map +1 -0
  54. package/dist/components/AccordionClient.d.ts +20 -0
  55. package/dist/components/AccordionClient.d.ts.map +1 -0
  56. package/dist/components/AccordionClient.js +67 -0
  57. package/dist/components/AccordionClient.js.map +1 -0
  58. package/dist/components/AnimatedWrapper.d.ts +33 -0
  59. package/dist/components/AnimatedWrapper.d.ts.map +1 -0
  60. package/dist/components/AnimatedWrapper.js +61 -0
  61. package/dist/components/AnimatedWrapper.js.map +1 -0
  62. package/dist/components/exports.d.ts +54 -0
  63. package/dist/components/exports.d.ts.map +1 -0
  64. package/dist/components/exports.js +71 -0
  65. package/dist/components/exports.js.map +1 -0
  66. package/dist/components/index.d.ts +8 -216
  67. package/dist/components/index.d.ts.map +1 -0
  68. package/dist/components/index.js +15 -9262
  69. package/dist/components/index.js.map +1 -0
  70. package/dist/components/interactive/Accordion.d.ts +28 -0
  71. package/dist/components/interactive/Accordion.d.ts.map +1 -0
  72. package/dist/components/interactive/Accordion.js +159 -0
  73. package/dist/components/interactive/Accordion.js.map +1 -0
  74. package/dist/components/interactive/Accordion.server.d.ts +29 -0
  75. package/dist/components/interactive/Accordion.server.d.ts.map +1 -0
  76. package/dist/components/interactive/Accordion.server.js +30 -0
  77. package/dist/components/interactive/Accordion.server.js.map +1 -0
  78. package/dist/components/interactive/Button.d.ts +26 -0
  79. package/dist/components/interactive/Button.d.ts.map +1 -0
  80. package/dist/components/interactive/Button.js +133 -0
  81. package/dist/components/interactive/Button.js.map +1 -0
  82. package/dist/components/interactive/Button.server.d.ts +28 -0
  83. package/dist/components/interactive/Button.server.d.ts.map +1 -0
  84. package/dist/components/interactive/Button.server.js +96 -0
  85. package/dist/components/interactive/Button.server.js.map +1 -0
  86. package/dist/components/interactive/Card.d.ts +27 -0
  87. package/dist/components/interactive/Card.d.ts.map +1 -0
  88. package/dist/components/interactive/Card.js +128 -0
  89. package/dist/components/interactive/Card.js.map +1 -0
  90. package/dist/components/interactive/Card.server.d.ts +29 -0
  91. package/dist/components/interactive/Card.server.d.ts.map +1 -0
  92. package/dist/components/interactive/Card.server.js +77 -0
  93. package/dist/components/interactive/Card.server.js.map +1 -0
  94. package/dist/components/interactive/Divider.d.ts +18 -0
  95. package/dist/components/interactive/Divider.d.ts.map +1 -0
  96. package/dist/components/interactive/Divider.js +68 -0
  97. package/dist/components/interactive/Divider.js.map +1 -0
  98. package/dist/components/interactive/Divider.server.d.ts +20 -0
  99. package/dist/components/interactive/Divider.server.d.ts.map +1 -0
  100. package/dist/components/interactive/Divider.server.js +50 -0
  101. package/dist/components/interactive/Divider.server.js.map +1 -0
  102. package/dist/components/interactive/index.d.ts +10 -0
  103. package/dist/components/interactive/index.d.ts.map +1 -0
  104. package/dist/components/interactive/index.js +10 -0
  105. package/dist/components/interactive/index.js.map +1 -0
  106. package/dist/components/layout/Container.d.ts +29 -0
  107. package/dist/components/layout/Container.d.ts.map +1 -0
  108. package/dist/components/layout/Container.js +166 -0
  109. package/dist/components/layout/Container.js.map +1 -0
  110. package/dist/components/layout/Container.server.d.ts +32 -0
  111. package/dist/components/layout/Container.server.d.ts.map +1 -0
  112. package/dist/components/layout/Container.server.js +105 -0
  113. package/dist/components/layout/Container.server.js.map +1 -0
  114. package/dist/components/layout/Flex.d.ts +36 -0
  115. package/dist/components/layout/Flex.d.ts.map +1 -0
  116. package/dist/components/layout/Flex.js +183 -0
  117. package/dist/components/layout/Flex.js.map +1 -0
  118. package/dist/components/layout/Flex.server.d.ts +36 -0
  119. package/dist/components/layout/Flex.server.d.ts.map +1 -0
  120. package/dist/components/layout/Flex.server.js +97 -0
  121. package/dist/components/layout/Flex.server.js.map +1 -0
  122. package/dist/components/layout/Grid.d.ts +31 -0
  123. package/dist/components/layout/Grid.d.ts.map +1 -0
  124. package/dist/components/layout/Grid.js +164 -0
  125. package/dist/components/layout/Grid.js.map +1 -0
  126. package/dist/components/layout/Grid.server.d.ts +32 -0
  127. package/dist/components/layout/Grid.server.d.ts.map +1 -0
  128. package/dist/components/layout/Grid.server.js +92 -0
  129. package/dist/components/layout/Grid.server.js.map +1 -0
  130. package/dist/components/layout/Section.d.ts +35 -0
  131. package/dist/components/layout/Section.d.ts.map +1 -0
  132. package/dist/components/layout/Section.js +212 -0
  133. package/dist/components/layout/Section.js.map +1 -0
  134. package/dist/components/layout/Section.server.d.ts +35 -0
  135. package/dist/components/layout/Section.server.d.ts.map +1 -0
  136. package/dist/components/layout/Section.server.js +144 -0
  137. package/dist/components/layout/Section.server.js.map +1 -0
  138. package/dist/components/layout/Spacer.d.ts +18 -0
  139. package/dist/components/layout/Spacer.d.ts.map +1 -0
  140. package/dist/components/layout/Spacer.js +99 -0
  141. package/dist/components/layout/Spacer.js.map +1 -0
  142. package/dist/components/layout/Spacer.server.d.ts +21 -0
  143. package/dist/components/layout/Spacer.server.d.ts.map +1 -0
  144. package/dist/components/layout/Spacer.server.js +61 -0
  145. package/dist/components/layout/Spacer.server.js.map +1 -0
  146. package/dist/components/layout/Template.d.ts +35 -0
  147. package/dist/components/layout/Template.d.ts.map +1 -0
  148. package/dist/components/layout/Template.js +124 -0
  149. package/dist/components/layout/Template.js.map +1 -0
  150. package/dist/components/layout/Template.server.d.ts +32 -0
  151. package/dist/components/layout/Template.server.d.ts.map +1 -0
  152. package/dist/components/layout/Template.server.js +75 -0
  153. package/dist/components/layout/Template.server.js.map +1 -0
  154. package/dist/components/layout/index.d.ts +14 -0
  155. package/dist/components/layout/index.d.ts.map +1 -0
  156. package/dist/components/layout/index.js +13 -0
  157. package/dist/components/layout/index.js.map +1 -0
  158. package/dist/components/media/Image.d.ts +30 -0
  159. package/dist/components/media/Image.d.ts.map +1 -0
  160. package/dist/components/media/Image.js +123 -0
  161. package/dist/components/media/Image.js.map +1 -0
  162. package/dist/components/media/Image.server.d.ts +28 -0
  163. package/dist/components/media/Image.server.d.ts.map +1 -0
  164. package/dist/components/media/Image.server.js +76 -0
  165. package/dist/components/media/Image.server.js.map +1 -0
  166. package/dist/components/media/index.d.ts +7 -0
  167. package/dist/components/media/index.d.ts.map +1 -0
  168. package/dist/components/media/index.js +7 -0
  169. package/dist/components/media/index.js.map +1 -0
  170. package/dist/components/typography/Heading.d.ts +21 -0
  171. package/dist/components/typography/Heading.d.ts.map +1 -0
  172. package/dist/components/typography/Heading.js +71 -0
  173. package/dist/components/typography/Heading.js.map +1 -0
  174. package/dist/components/typography/Heading.server.d.ts +21 -0
  175. package/dist/components/typography/Heading.server.d.ts.map +1 -0
  176. package/dist/components/typography/Heading.server.js +49 -0
  177. package/dist/components/typography/Heading.server.js.map +1 -0
  178. package/dist/components/typography/RichText.d.ts +20 -0
  179. package/dist/components/typography/RichText.d.ts.map +1 -0
  180. package/dist/components/typography/RichText.editor.d.ts +11 -0
  181. package/dist/components/typography/RichText.editor.d.ts.map +1 -0
  182. package/dist/components/typography/RichText.editor.js +67 -0
  183. package/dist/components/typography/RichText.editor.js.map +1 -0
  184. package/dist/components/typography/RichText.js +73 -0
  185. package/dist/components/typography/RichText.js.map +1 -0
  186. package/dist/components/typography/RichText.server.d.ts +22 -0
  187. package/dist/components/typography/RichText.server.d.ts.map +1 -0
  188. package/dist/components/typography/RichText.server.js +52 -0
  189. package/dist/components/typography/RichText.server.js.map +1 -0
  190. package/dist/components/typography/Text.d.ts +20 -0
  191. package/dist/components/typography/Text.d.ts.map +1 -0
  192. package/dist/components/typography/Text.js +61 -0
  193. package/dist/components/typography/Text.js.map +1 -0
  194. package/dist/components/typography/Text.server.d.ts +21 -0
  195. package/dist/components/typography/Text.server.d.ts.map +1 -0
  196. package/dist/components/typography/Text.server.js +39 -0
  197. package/dist/components/typography/Text.server.js.map +1 -0
  198. package/dist/components/typography/index.d.ts +10 -0
  199. package/dist/components/typography/index.d.ts.map +1 -0
  200. package/dist/components/typography/index.js +10 -0
  201. package/dist/components/typography/index.js.map +1 -0
  202. package/dist/config/config.editor.d.ts +15 -56
  203. package/dist/config/config.editor.d.ts.map +1 -0
  204. package/dist/config/config.editor.js +125 -9462
  205. package/dist/config/config.editor.js.map +1 -0
  206. package/dist/config/index.d.ts +7 -33
  207. package/dist/config/index.d.ts.map +1 -0
  208. package/dist/config/index.js +110 -2119
  209. package/dist/config/index.js.map +1 -0
  210. package/dist/config/merge.d.ts +23 -0
  211. package/dist/config/merge.d.ts.map +1 -0
  212. package/dist/config/merge.js +80 -0
  213. package/dist/config/merge.js.map +1 -0
  214. package/dist/config/presets.d.ts +342 -0
  215. package/dist/config/presets.d.ts.map +1 -0
  216. package/dist/config/presets.js +247 -0
  217. package/dist/config/presets.js.map +1 -0
  218. package/dist/editor/PuckEditor.client.d.ts +131 -0
  219. package/dist/editor/PuckEditor.client.d.ts.map +1 -0
  220. package/dist/editor/PuckEditor.client.js +42 -0
  221. package/dist/editor/PuckEditor.client.js.map +1 -0
  222. package/dist/editor/PuckEditorCore.client.d.ts +141 -0
  223. package/dist/editor/PuckEditorCore.client.d.ts.map +1 -0
  224. package/dist/editor/PuckEditorCore.client.js +306 -0
  225. package/dist/editor/PuckEditorCore.client.js.map +1 -0
  226. package/dist/editor/components/HeaderActions.d.ts +109 -0
  227. package/dist/editor/components/HeaderActions.d.ts.map +1 -0
  228. package/dist/editor/components/HeaderActions.js +254 -0
  229. package/dist/editor/components/HeaderActions.js.map +1 -0
  230. package/dist/editor/components/IframeWrapper.d.ts +77 -0
  231. package/dist/editor/components/IframeWrapper.d.ts.map +1 -0
  232. package/dist/editor/components/IframeWrapper.js +257 -0
  233. package/dist/editor/components/IframeWrapper.js.map +1 -0
  234. package/dist/editor/components/LoadingState.d.ts +14 -0
  235. package/dist/editor/components/LoadingState.d.ts.map +1 -0
  236. package/dist/editor/components/LoadingState.js +12 -0
  237. package/dist/editor/components/LoadingState.js.map +1 -0
  238. package/dist/editor/components/PreviewModal.d.ts +54 -0
  239. package/dist/editor/components/PreviewModal.d.ts.map +1 -0
  240. package/dist/editor/components/PreviewModal.js +298 -0
  241. package/dist/editor/components/PreviewModal.js.map +1 -0
  242. package/dist/editor/components/VersionHistory.d.ts +44 -0
  243. package/dist/editor/components/VersionHistory.d.ts.map +1 -0
  244. package/dist/editor/components/VersionHistory.js +308 -0
  245. package/dist/editor/components/VersionHistory.js.map +1 -0
  246. package/dist/editor/hooks/useUnsavedChanges.d.ts +27 -0
  247. package/dist/editor/hooks/useUnsavedChanges.d.ts.map +1 -0
  248. package/dist/editor/hooks/useUnsavedChanges.js +55 -0
  249. package/dist/editor/hooks/useUnsavedChanges.js.map +1 -0
  250. package/dist/editor/index.d.ts +16 -756
  251. package/dist/editor/index.d.ts.map +1 -0
  252. package/dist/editor/index.js +49 -4625
  253. package/dist/editor/index.js.map +1 -0
  254. package/dist/editor/plugins/index.d.ts +12 -0
  255. package/dist/editor/plugins/index.d.ts.map +1 -0
  256. package/dist/editor/plugins/index.js +12 -0
  257. package/dist/editor/plugins/index.js.map +1 -0
  258. package/dist/endpoints/index.d.ts +46 -0
  259. package/dist/endpoints/index.d.ts.map +1 -0
  260. package/dist/endpoints/index.js +204 -0
  261. package/dist/endpoints/index.js.map +1 -0
  262. package/dist/exports/client.d.ts +19 -0
  263. package/dist/exports/client.d.ts.map +1 -0
  264. package/dist/exports/client.js +21 -0
  265. package/dist/exports/client.js.map +1 -0
  266. package/dist/exports/rsc.d.ts +19 -0
  267. package/dist/exports/rsc.d.ts.map +1 -0
  268. package/dist/exports/rsc.js +19 -0
  269. package/dist/exports/rsc.js.map +1 -0
  270. package/dist/fields/AlignmentField.d.ts +36 -0
  271. package/dist/fields/AlignmentField.d.ts.map +1 -0
  272. package/dist/fields/AlignmentField.js +120 -0
  273. package/dist/fields/AlignmentField.js.map +1 -0
  274. package/dist/fields/AnimationField.d.ts +44 -0
  275. package/dist/fields/AnimationField.d.ts.map +1 -0
  276. package/dist/fields/AnimationField.js +329 -0
  277. package/dist/fields/AnimationField.js.map +1 -0
  278. package/dist/fields/BackgroundField.d.ts +40 -0
  279. package/dist/fields/BackgroundField.d.ts.map +1 -0
  280. package/dist/fields/BackgroundField.js +413 -0
  281. package/dist/fields/BackgroundField.js.map +1 -0
  282. package/dist/fields/BorderField.d.ts +29 -0
  283. package/dist/fields/BorderField.d.ts.map +1 -0
  284. package/dist/fields/BorderField.js +264 -0
  285. package/dist/fields/BorderField.js.map +1 -0
  286. package/dist/fields/ColorPickerField.d.ts +43 -0
  287. package/dist/fields/ColorPickerField.d.ts.map +1 -0
  288. package/dist/fields/ColorPickerField.js +285 -0
  289. package/dist/fields/ColorPickerField.js.map +1 -0
  290. package/dist/fields/DimensionsField.d.ts +43 -0
  291. package/dist/fields/DimensionsField.d.ts.map +1 -0
  292. package/dist/fields/DimensionsField.js +532 -0
  293. package/dist/fields/DimensionsField.js.map +1 -0
  294. package/dist/fields/FlexAlignmentField.d.ts +61 -0
  295. package/dist/fields/FlexAlignmentField.d.ts.map +1 -0
  296. package/dist/fields/FlexAlignmentField.js +166 -0
  297. package/dist/fields/FlexAlignmentField.js.map +1 -0
  298. package/dist/fields/FolderPickerField.d.ts +17 -0
  299. package/dist/fields/FolderPickerField.d.ts.map +1 -0
  300. package/dist/fields/FolderPickerField.js +282 -0
  301. package/dist/fields/FolderPickerField.js.map +1 -0
  302. package/dist/fields/GradientEditor.d.ts +22 -0
  303. package/dist/fields/GradientEditor.d.ts.map +1 -0
  304. package/dist/fields/GradientEditor.js +322 -0
  305. package/dist/fields/GradientEditor.js.map +1 -0
  306. package/dist/fields/LockedField.d.ts +67 -0
  307. package/dist/fields/LockedField.d.ts.map +1 -0
  308. package/dist/fields/LockedField.js +170 -0
  309. package/dist/fields/LockedField.js.map +1 -0
  310. package/dist/fields/MarginField.d.ts +31 -0
  311. package/dist/fields/MarginField.d.ts.map +1 -0
  312. package/dist/fields/MarginField.js +233 -0
  313. package/dist/fields/MarginField.js.map +1 -0
  314. package/dist/fields/MediaField.d.ts +33 -0
  315. package/dist/fields/MediaField.d.ts.map +1 -0
  316. package/dist/fields/MediaField.js +677 -0
  317. package/dist/fields/MediaField.js.map +1 -0
  318. package/dist/fields/PaddingField.d.ts +29 -0
  319. package/dist/fields/PaddingField.d.ts.map +1 -0
  320. package/dist/fields/PaddingField.js +232 -0
  321. package/dist/fields/PaddingField.js.map +1 -0
  322. package/dist/fields/PageSegmentField.d.ts +17 -0
  323. package/dist/fields/PageSegmentField.d.ts.map +1 -0
  324. package/dist/fields/PageSegmentField.js +92 -0
  325. package/dist/fields/PageSegmentField.js.map +1 -0
  326. package/dist/fields/ResetField.d.ts +27 -0
  327. package/dist/fields/ResetField.d.ts.map +1 -0
  328. package/dist/fields/ResetField.js +122 -0
  329. package/dist/fields/ResetField.js.map +1 -0
  330. package/dist/fields/ResponsiveField.d.ts +38 -0
  331. package/dist/fields/ResponsiveField.d.ts.map +1 -0
  332. package/dist/fields/ResponsiveField.js +275 -0
  333. package/dist/fields/ResponsiveField.js.map +1 -0
  334. package/dist/fields/ResponsiveVisibilityField.d.ts +34 -0
  335. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -0
  336. package/dist/fields/ResponsiveVisibilityField.js +145 -0
  337. package/dist/fields/ResponsiveVisibilityField.js.map +1 -0
  338. package/dist/fields/SizeField.d.ts +54 -0
  339. package/dist/fields/SizeField.d.ts.map +1 -0
  340. package/dist/fields/SizeField.js +255 -0
  341. package/dist/fields/SizeField.js.map +1 -0
  342. package/dist/fields/SlugPreviewField.d.ts +16 -0
  343. package/dist/fields/SlugPreviewField.d.ts.map +1 -0
  344. package/dist/fields/SlugPreviewField.js +49 -0
  345. package/dist/fields/SlugPreviewField.js.map +1 -0
  346. package/dist/fields/TemplateField.d.ts +31 -0
  347. package/dist/fields/TemplateField.d.ts.map +1 -0
  348. package/dist/fields/TemplateField.js +428 -0
  349. package/dist/fields/TemplateField.js.map +1 -0
  350. package/dist/fields/TiptapField.d.ts +40 -0
  351. package/dist/fields/TiptapField.d.ts.map +1 -0
  352. package/dist/fields/TiptapField.js +857 -0
  353. package/dist/fields/TiptapField.js.map +1 -0
  354. package/dist/fields/TiptapModal.d.ts +10 -0
  355. package/dist/fields/TiptapModal.d.ts.map +1 -0
  356. package/dist/fields/TiptapModal.js +114 -0
  357. package/dist/fields/TiptapModal.js.map +1 -0
  358. package/dist/fields/TiptapModalField.d.ts +23 -0
  359. package/dist/fields/TiptapModalField.d.ts.map +1 -0
  360. package/dist/fields/TiptapModalField.js +55 -0
  361. package/dist/fields/TiptapModalField.js.map +1 -0
  362. package/dist/fields/TransformField.d.ts +31 -0
  363. package/dist/fields/TransformField.d.ts.map +1 -0
  364. package/dist/fields/TransformField.js +384 -0
  365. package/dist/fields/TransformField.js.map +1 -0
  366. package/dist/fields/VerticalAlignmentField.d.ts +35 -0
  367. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -0
  368. package/dist/fields/VerticalAlignmentField.js +120 -0
  369. package/dist/fields/VerticalAlignmentField.js.map +1 -0
  370. package/dist/fields/WidthField.d.ts +28 -0
  371. package/dist/fields/WidthField.d.ts.map +1 -0
  372. package/dist/fields/WidthField.js +339 -0
  373. package/dist/fields/WidthField.js.map +1 -0
  374. package/dist/fields/index.d.ts +44 -559
  375. package/dist/fields/index.d.ts.map +1 -0
  376. package/dist/fields/index.js +91 -7704
  377. package/dist/fields/index.js.map +1 -0
  378. package/dist/fields/richtext-output.css +219 -0
  379. package/dist/{shared-X9UpCJKW.d.mts → fields/shared.d.ts} +111 -132
  380. package/dist/fields/shared.d.ts.map +1 -0
  381. package/dist/fields/shared.js +1542 -0
  382. package/dist/fields/shared.js.map +1 -0
  383. package/dist/fields/{index.css → tiptap-styles.css} +75 -166
  384. package/dist/hooks/index.d.ts +8 -0
  385. package/dist/hooks/index.d.ts.map +1 -0
  386. package/dist/hooks/index.js +8 -0
  387. package/dist/hooks/index.js.map +1 -0
  388. package/dist/hooks/useResponsiveStyles.d.ts +51 -0
  389. package/dist/hooks/useResponsiveStyles.d.ts.map +1 -0
  390. package/dist/hooks/useResponsiveStyles.js +149 -0
  391. package/dist/hooks/useResponsiveStyles.js.map +1 -0
  392. package/dist/hooks/useScrollAnimation.d.ts +56 -0
  393. package/dist/hooks/useScrollAnimation.d.ts.map +1 -0
  394. package/dist/hooks/useScrollAnimation.js +116 -0
  395. package/dist/hooks/useScrollAnimation.js.map +1 -0
  396. package/dist/index.d.ts +66 -6
  397. package/dist/index.d.ts.map +1 -0
  398. package/dist/index.js +67 -568
  399. package/dist/index.js.map +1 -0
  400. package/dist/layouts/LayoutWrapper.d.ts +33 -0
  401. package/dist/layouts/LayoutWrapper.d.ts.map +1 -0
  402. package/dist/layouts/LayoutWrapper.js +112 -0
  403. package/dist/layouts/LayoutWrapper.js.map +1 -0
  404. package/dist/layouts/defaults.d.ts +40 -0
  405. package/dist/layouts/defaults.d.ts.map +1 -0
  406. package/dist/layouts/defaults.js +106 -0
  407. package/dist/layouts/defaults.js.map +1 -0
  408. package/dist/layouts/index.d.ts +27 -94
  409. package/dist/layouts/index.d.ts.map +1 -0
  410. package/dist/layouts/index.js +30 -393
  411. package/dist/layouts/index.js.map +1 -0
  412. package/dist/{types-D7D3rZ1J.d.ts → layouts/types.d.ts} +8 -11
  413. package/dist/layouts/types.d.ts.map +1 -0
  414. package/dist/layouts/types.js +7 -0
  415. package/dist/layouts/types.js.map +1 -0
  416. package/dist/layouts/utils.d.ts +42 -0
  417. package/dist/layouts/utils.d.ts.map +1 -0
  418. package/dist/layouts/utils.js +83 -0
  419. package/dist/layouts/utils.js.map +1 -0
  420. package/dist/plugin/collections/Pages.d.ts +8 -0
  421. package/dist/plugin/collections/Pages.d.ts.map +1 -0
  422. package/dist/plugin/collections/Pages.js +117 -0
  423. package/dist/plugin/collections/Pages.js.map +1 -0
  424. package/dist/plugin/fields/index.d.ts +153 -0
  425. package/dist/plugin/fields/index.d.ts.map +1 -0
  426. package/dist/plugin/fields/index.js +364 -0
  427. package/dist/plugin/fields/index.js.map +1 -0
  428. package/dist/plugin/fields/types.d.ts +108 -0
  429. package/dist/plugin/fields/types.d.ts.map +1 -0
  430. package/dist/plugin/fields/types.js +7 -0
  431. package/dist/plugin/fields/types.js.map +1 -0
  432. package/dist/plugin/index.d.ts +13 -255
  433. package/dist/plugin/index.d.ts.map +1 -0
  434. package/dist/plugin/index.js +276 -553
  435. package/dist/plugin/index.js.map +1 -0
  436. package/dist/render/HybridPageRenderer.d.ts +85 -0
  437. package/dist/render/HybridPageRenderer.d.ts.map +1 -0
  438. package/dist/render/HybridPageRenderer.js +29 -0
  439. package/dist/render/HybridPageRenderer.js.map +1 -0
  440. package/dist/render/PageRenderer.d.ts +51 -0
  441. package/dist/render/PageRenderer.d.ts.map +1 -0
  442. package/dist/render/PageRenderer.js +61 -0
  443. package/dist/render/PageRenderer.js.map +1 -0
  444. package/dist/render/PuckEditor.client.d.ts +66 -0
  445. package/dist/render/PuckEditor.client.d.ts.map +1 -0
  446. package/dist/render/PuckEditor.client.js +66 -0
  447. package/dist/render/PuckEditor.client.js.map +1 -0
  448. package/dist/render/index.d.ts +8 -106
  449. package/dist/render/index.d.ts.map +1 -0
  450. package/dist/render/index.js +10 -2253
  451. package/dist/render/index.js.map +1 -0
  452. package/dist/theme/context.d.ts +59 -0
  453. package/dist/theme/context.d.ts.map +1 -0
  454. package/dist/theme/context.js +73 -0
  455. package/dist/theme/context.js.map +1 -0
  456. package/dist/theme/defaults.d.ts +39 -0
  457. package/dist/theme/defaults.d.ts.map +1 -0
  458. package/dist/theme/defaults.js +72 -0
  459. package/dist/theme/defaults.js.map +1 -0
  460. package/dist/theme/example.d.ts +30 -0
  461. package/dist/theme/example.d.ts.map +1 -0
  462. package/dist/theme/example.js +89 -0
  463. package/dist/theme/example.js.map +1 -0
  464. package/dist/theme/index.d.ts +17 -140
  465. package/dist/theme/index.d.ts.map +1 -0
  466. package/dist/theme/index.js +34 -200
  467. package/dist/theme/index.js.map +1 -0
  468. package/dist/{types-_6MvjyKv.d.ts → theme/types.d.ts} +8 -9
  469. package/dist/theme/types.d.ts.map +1 -0
  470. package/dist/theme/types.js +9 -0
  471. package/dist/theme/types.js.map +1 -0
  472. package/dist/theme/utils.d.ts +30 -0
  473. package/dist/theme/utils.d.ts.map +1 -0
  474. package/dist/theme/utils.js +84 -0
  475. package/dist/theme/utils.js.map +1 -0
  476. package/dist/{index-CQu6SzDg.d.mts → types/index.d.ts} +120 -115
  477. package/dist/types/index.d.ts.map +1 -0
  478. package/dist/types/index.js +2 -0
  479. package/dist/types/index.js.map +1 -0
  480. package/dist/utils/index.d.ts +23 -257
  481. package/dist/utils/index.d.ts.map +1 -0
  482. package/dist/utils/index.js +56 -425
  483. package/dist/utils/index.js.map +1 -0
  484. package/dist/utils/{index.d.mts → migration.d.ts} +16 -112
  485. package/dist/utils/migration.d.ts.map +1 -0
  486. package/dist/utils/migration.js +309 -0
  487. package/dist/utils/migration.js.map +1 -0
  488. package/dist/utils/validation.d.ts +89 -0
  489. package/dist/utils/validation.d.ts.map +1 -0
  490. package/dist/utils/validation.js +247 -0
  491. package/dist/utils/validation.js.map +1 -0
  492. package/dist/views/PuckConfigContext.d.ts +71 -0
  493. package/dist/views/PuckConfigContext.d.ts.map +1 -0
  494. package/dist/views/PuckConfigContext.js +45 -0
  495. package/dist/views/PuckConfigContext.js.map +1 -0
  496. package/dist/views/PuckEditorClient.d.ts +73 -0
  497. package/dist/views/PuckEditorClient.d.ts.map +1 -0
  498. package/dist/views/PuckEditorClient.js +130 -0
  499. package/dist/views/PuckEditorClient.js.map +1 -0
  500. package/dist/views/PuckEditorView.d.ts +19 -0
  501. package/dist/views/PuckEditorView.d.ts.map +1 -0
  502. package/dist/views/PuckEditorView.js +106 -0
  503. package/dist/views/PuckEditorView.js.map +1 -0
  504. package/dist/views/index.d.ts +10 -0
  505. package/dist/views/index.d.ts.map +1 -0
  506. package/dist/views/index.js +10 -0
  507. package/dist/views/index.js.map +1 -0
  508. package/package.json +51 -74
  509. package/dist/AccordionClient.d.mts +0 -24
  510. package/dist/AccordionClient.d.ts +0 -24
  511. package/dist/AccordionClient.js +0 -786
  512. package/dist/AccordionClient.mjs +0 -784
  513. package/dist/AnimatedWrapper.d.mts +0 -30
  514. package/dist/AnimatedWrapper.d.ts +0 -30
  515. package/dist/AnimatedWrapper.js +0 -379
  516. package/dist/AnimatedWrapper.mjs +0 -377
  517. package/dist/admin/client.d.mts +0 -108
  518. package/dist/admin/client.mjs +0 -173
  519. package/dist/admin/index.d.mts +0 -157
  520. package/dist/admin/index.mjs +0 -29
  521. package/dist/api/index.d.mts +0 -460
  522. package/dist/api/index.mjs +0 -578
  523. package/dist/components/index.css +0 -339
  524. package/dist/components/index.d.mts +0 -219
  525. package/dist/components/index.mjs +0 -9216
  526. package/dist/config/config.editor.css +0 -339
  527. package/dist/config/config.editor.d.mts +0 -153
  528. package/dist/config/config.editor.mjs +0 -9445
  529. package/dist/config/index.d.mts +0 -68
  530. package/dist/config/index.mjs +0 -2099
  531. package/dist/editor/index.d.mts +0 -784
  532. package/dist/editor/index.mjs +0 -4592
  533. package/dist/fields/index.d.mts +0 -600
  534. package/dist/fields/index.mjs +0 -7588
  535. package/dist/index-CoUQnyC3.d.ts +0 -327
  536. package/dist/index.d.mts +0 -6
  537. package/dist/index.mjs +0 -555
  538. package/dist/layouts/index.d.mts +0 -96
  539. package/dist/layouts/index.mjs +0 -378
  540. package/dist/plugin/index.d.mts +0 -289
  541. package/dist/plugin/index.mjs +0 -555
  542. package/dist/render/index.d.mts +0 -109
  543. package/dist/render/index.mjs +0 -2231
  544. package/dist/shared-X9UpCJKW.d.ts +0 -548
  545. package/dist/theme/index.d.mts +0 -155
  546. package/dist/theme/index.mjs +0 -186
  547. package/dist/types-D7D3rZ1J.d.mts +0 -116
  548. package/dist/types-_6MvjyKv.d.mts +0 -104
  549. package/dist/utils/index.mjs +0 -412
  550. package/dist/utils-DaRs9t0J.d.mts +0 -85
  551. package/dist/utils-gAvt0Vhw.d.ts +0 -85
  552. package/examples/README.md +0 -247
  553. package/examples/api/puck/pages/[id]/route.ts +0 -64
  554. package/examples/api/puck/pages/[id]/versions/route.ts +0 -47
  555. package/examples/api/puck/pages/route.ts +0 -45
  556. package/examples/app/(frontend)/page.tsx +0 -94
  557. package/examples/app/(manage)/layout.tsx +0 -31
  558. package/examples/app/[...slug]/page.tsx +0 -101
  559. package/examples/app/pages/[id]/edit/page.tsx +0 -148
  560. package/examples/components/CustomBanner.tsx +0 -368
  561. package/examples/config/custom-config.ts +0 -223
  562. package/examples/config/payload.config.example.ts +0 -64
  563. package/examples/lib/puck-layouts.ts +0 -258
  564. package/examples/lib/puck-theme.ts +0 -94
  565. package/examples/styles/puck-theme.css +0 -171
@@ -0,0 +1,413 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * BackgroundField - Custom Puck field for unified background selection
5
+ *
6
+ * This component provides a tabbed interface for selecting:
7
+ * - None: No background
8
+ * - Solid: Single color with opacity
9
+ * - Gradient: Linear or radial gradients with multiple stops
10
+ * - Image: Background image from media library with sizing options
11
+ */
12
+ import { useCallback, memo } from 'react';
13
+ import { X } from 'lucide-react';
14
+ import { backgroundValueToCSS, getBackgroundImageOpacity } from './shared';
15
+ import { ColorPickerField } from './ColorPickerField';
16
+ import { MediaField } from './MediaField';
17
+ import { GradientEditor } from './GradientEditor';
18
+ // =============================================================================
19
+ // Default Values
20
+ // =============================================================================
21
+ const DEFAULT_VALUE = {
22
+ type: 'none',
23
+ solid: null,
24
+ gradient: null,
25
+ image: null,
26
+ };
27
+ const DEFAULT_GRADIENT = {
28
+ type: 'linear',
29
+ angle: 90,
30
+ stops: [
31
+ { color: { hex: '#000000', opacity: 100 }, position: 0 },
32
+ { color: { hex: '#ffffff', opacity: 100 }, position: 100 },
33
+ ],
34
+ radialShape: 'circle',
35
+ radialPosition: 'center',
36
+ };
37
+ const DEFAULT_IMAGE = {
38
+ media: null,
39
+ size: 'cover',
40
+ position: 'center',
41
+ repeat: 'no-repeat',
42
+ attachment: 'scroll',
43
+ opacity: 100,
44
+ mask: undefined,
45
+ };
46
+ const DEFAULT_MASK = {
47
+ enabled: false,
48
+ direction: 'to-bottom',
49
+ startOpacity: 100,
50
+ endOpacity: 0,
51
+ startPosition: 0,
52
+ endPosition: 100,
53
+ };
54
+ const DEFAULT_OVERLAY = {
55
+ enabled: false,
56
+ type: 'solid',
57
+ solid: { hex: '#000000', opacity: 50 },
58
+ gradient: null,
59
+ };
60
+ // =============================================================================
61
+ // Styles
62
+ // =============================================================================
63
+ const styles = {
64
+ container: {
65
+ display: 'flex',
66
+ flexDirection: 'column',
67
+ gap: '12px',
68
+ },
69
+ header: {
70
+ display: 'flex',
71
+ alignItems: 'center',
72
+ justifyContent: 'space-between',
73
+ },
74
+ label: {
75
+ fontSize: '14px',
76
+ fontWeight: 500,
77
+ color: 'var(--theme-elevation-800)',
78
+ },
79
+ clearButton: {
80
+ display: 'flex',
81
+ alignItems: 'center',
82
+ justifyContent: 'center',
83
+ width: '24px',
84
+ height: '24px',
85
+ padding: 0,
86
+ border: 'none',
87
+ borderRadius: '4px',
88
+ backgroundColor: 'transparent',
89
+ color: 'var(--theme-elevation-500)',
90
+ cursor: 'pointer',
91
+ },
92
+ tabContainer: {
93
+ display: 'flex',
94
+ gap: '4px',
95
+ padding: '4px',
96
+ backgroundColor: 'var(--theme-elevation-50)',
97
+ borderRadius: '8px',
98
+ },
99
+ tabButton: {
100
+ flex: 1,
101
+ padding: '6px 12px',
102
+ fontSize: '12px',
103
+ fontWeight: 500,
104
+ border: 'none',
105
+ borderRadius: '6px',
106
+ backgroundColor: 'transparent',
107
+ color: 'var(--theme-elevation-500)',
108
+ cursor: 'pointer',
109
+ },
110
+ tabButtonActive: {
111
+ flex: 1,
112
+ padding: '6px 12px',
113
+ fontSize: '12px',
114
+ fontWeight: 500,
115
+ border: 'none',
116
+ borderRadius: '6px',
117
+ backgroundColor: 'var(--theme-elevation-800)',
118
+ color: 'var(--theme-bg)',
119
+ cursor: 'pointer',
120
+ },
121
+ tabButtonDisabled: {
122
+ opacity: 0.5,
123
+ cursor: 'not-allowed',
124
+ },
125
+ previewContainer: {
126
+ position: 'relative',
127
+ height: '64px',
128
+ borderRadius: '6px',
129
+ border: '1px solid var(--theme-elevation-150)',
130
+ overflow: 'hidden',
131
+ },
132
+ previewEmpty: {
133
+ height: '100%',
134
+ display: 'flex',
135
+ alignItems: 'center',
136
+ justifyContent: 'center',
137
+ fontSize: '12px',
138
+ color: 'var(--theme-elevation-500)',
139
+ backgroundColor: 'var(--theme-elevation-50)',
140
+ },
141
+ checkerboard: {
142
+ position: 'absolute',
143
+ inset: 0,
144
+ backgroundImage: 'linear-gradient(45deg, #e0e0e0 25%, transparent 25%), linear-gradient(-45deg, #e0e0e0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e0e0e0 75%), linear-gradient(-45deg, transparent 75%, #e0e0e0 75%)',
145
+ backgroundSize: '12px 12px',
146
+ backgroundPosition: '0 0, 0 6px, 6px -6px, -6px 0px',
147
+ },
148
+ contentContainer: {
149
+ minHeight: '100px',
150
+ },
151
+ emptyContent: {
152
+ display: 'flex',
153
+ alignItems: 'center',
154
+ justifyContent: 'center',
155
+ height: '96px',
156
+ fontSize: '14px',
157
+ color: 'var(--theme-elevation-500)',
158
+ },
159
+ imageOptionsContainer: {
160
+ display: 'flex',
161
+ flexDirection: 'column',
162
+ gap: '16px',
163
+ },
164
+ optionsSection: {
165
+ display: 'flex',
166
+ flexDirection: 'column',
167
+ gap: '12px',
168
+ paddingTop: '8px',
169
+ borderTop: '1px solid var(--theme-elevation-150)',
170
+ },
171
+ optionRow: {
172
+ display: 'flex',
173
+ alignItems: 'center',
174
+ gap: '8px',
175
+ },
176
+ optionLabel: {
177
+ fontSize: '12px',
178
+ color: 'var(--theme-elevation-500)',
179
+ width: '80px',
180
+ flexShrink: 0,
181
+ },
182
+ optionLabelSmall: {
183
+ fontSize: '12px',
184
+ color: 'var(--theme-elevation-500)',
185
+ width: '48px',
186
+ flexShrink: 0,
187
+ },
188
+ select: {
189
+ flex: 1,
190
+ height: '32px',
191
+ padding: '0 8px',
192
+ fontSize: '12px',
193
+ border: '1px solid var(--theme-elevation-150)',
194
+ borderRadius: '4px',
195
+ backgroundColor: 'var(--theme-input-bg)',
196
+ color: 'var(--theme-elevation-800)',
197
+ cursor: 'pointer',
198
+ },
199
+ selectSmall: {
200
+ flex: 1,
201
+ minWidth: 0,
202
+ height: '28px',
203
+ padding: '0 8px',
204
+ fontSize: '12px',
205
+ border: '1px solid var(--theme-elevation-150)',
206
+ borderRadius: '4px',
207
+ backgroundColor: 'var(--theme-input-bg)',
208
+ color: 'var(--theme-elevation-800)',
209
+ cursor: 'pointer',
210
+ },
211
+ slider: {
212
+ flex: 1,
213
+ minWidth: 0,
214
+ height: '6px',
215
+ accentColor: 'var(--theme-elevation-800)',
216
+ cursor: 'pointer',
217
+ },
218
+ sliderValue: {
219
+ fontSize: '12px',
220
+ fontFamily: 'monospace',
221
+ color: 'var(--theme-elevation-500)',
222
+ width: '32px',
223
+ textAlign: 'right',
224
+ flexShrink: 0,
225
+ },
226
+ checkboxRow: {
227
+ display: 'flex',
228
+ alignItems: 'center',
229
+ gap: '8px',
230
+ cursor: 'pointer',
231
+ },
232
+ checkbox: {
233
+ width: '16px',
234
+ height: '16px',
235
+ accentColor: 'var(--theme-elevation-800)',
236
+ cursor: 'pointer',
237
+ },
238
+ checkboxLabel: {
239
+ fontSize: '12px',
240
+ color: 'var(--theme-elevation-500)',
241
+ },
242
+ maskSection: {
243
+ display: 'flex',
244
+ flexDirection: 'column',
245
+ gap: '8px',
246
+ paddingLeft: '24px',
247
+ },
248
+ overlaySection: {
249
+ display: 'flex',
250
+ flexDirection: 'column',
251
+ gap: '12px',
252
+ paddingTop: '12px',
253
+ },
254
+ };
255
+ function TabButton({ active, onClick, disabled, children }) {
256
+ return (_jsx("button", { type: "button", onClick: onClick, disabled: disabled, style: {
257
+ ...(active ? styles.tabButtonActive : styles.tabButton),
258
+ ...(disabled ? styles.tabButtonDisabled : {}),
259
+ }, children: children }));
260
+ }
261
+ function BackgroundPreview({ value }) {
262
+ const style = backgroundValueToCSS(value);
263
+ const imageOpacity = getBackgroundImageOpacity(value);
264
+ const hasBackground = value.type !== 'none' && Object.keys(style).length > 0;
265
+ return (_jsxs("div", { style: styles.previewContainer, children: [hasBackground && _jsx("div", { style: styles.checkerboard }), hasBackground && (_jsx("div", { style: {
266
+ position: 'absolute',
267
+ inset: 0,
268
+ ...style,
269
+ opacity: imageOpacity !== undefined ? imageOpacity : 1,
270
+ } })), !hasBackground && (_jsx("div", { style: styles.previewEmpty, children: "No background" }))] }));
271
+ }
272
+ function ImageOptionsInner({ value, onChange, readOnly, apiEndpoint }) {
273
+ const handleMediaChange = useCallback((media) => {
274
+ onChange({ ...value, media });
275
+ }, [value, onChange]);
276
+ const handleSizeChange = useCallback((size) => {
277
+ onChange({ ...value, size });
278
+ }, [value, onChange]);
279
+ const handlePositionChange = useCallback((position) => {
280
+ onChange({ ...value, position });
281
+ }, [value, onChange]);
282
+ const handleRepeatChange = useCallback((repeat) => {
283
+ onChange({ ...value, repeat });
284
+ }, [value, onChange]);
285
+ const handleAttachmentChange = useCallback((attachment) => {
286
+ onChange({ ...value, attachment });
287
+ }, [value, onChange]);
288
+ const handleOpacityChange = useCallback((e) => {
289
+ const opacity = parseInt(e.target.value, 10);
290
+ onChange({ ...value, opacity });
291
+ }, [value, onChange]);
292
+ const handleMaskToggle = useCallback((checked) => {
293
+ if (checked) {
294
+ onChange({ ...value, mask: { ...DEFAULT_MASK, enabled: true } });
295
+ }
296
+ else {
297
+ onChange({ ...value, mask: undefined });
298
+ }
299
+ }, [value, onChange]);
300
+ const handleMaskDirectionChange = useCallback((direction) => {
301
+ const currentMask = value.mask || DEFAULT_MASK;
302
+ onChange({ ...value, mask: { ...currentMask, direction, enabled: true } });
303
+ }, [value, onChange]);
304
+ const handleMaskStartPositionChange = useCallback((e) => {
305
+ const startPosition = parseInt(e.target.value, 10);
306
+ const currentMask = value.mask || DEFAULT_MASK;
307
+ onChange({ ...value, mask: { ...currentMask, startPosition, enabled: true } });
308
+ }, [value, onChange]);
309
+ const handleMaskEndPositionChange = useCallback((e) => {
310
+ const endPosition = parseInt(e.target.value, 10);
311
+ const currentMask = value.mask || DEFAULT_MASK;
312
+ onChange({ ...value, mask: { ...currentMask, endPosition, enabled: true } });
313
+ }, [value, onChange]);
314
+ const opacity = value.opacity ?? 100;
315
+ const maskEnabled = value.mask?.enabled ?? false;
316
+ return (_jsxs("div", { style: styles.imageOptionsContainer, children: [_jsx(MediaField, { value: value.media, onChange: handleMediaChange, readOnly: readOnly, apiEndpoint: apiEndpoint }), value.media && (_jsxs("div", { style: styles.optionsSection, children: [_jsxs("div", { style: styles.optionRow, children: [_jsx("label", { style: styles.optionLabel, children: "Opacity" }), _jsx("input", { type: "range", min: "0", max: "100", value: opacity, onChange: handleOpacityChange, disabled: readOnly, style: styles.slider }), _jsxs("span", { style: styles.sliderValue, children: [opacity, "%"] })] }), _jsxs("div", { style: styles.optionRow, children: [_jsx("label", { style: styles.optionLabel, children: "Size" }), _jsxs("select", { value: value.size, onChange: (e) => handleSizeChange(e.target.value), disabled: readOnly, style: styles.select, children: [_jsx("option", { value: "cover", children: "Cover" }), _jsx("option", { value: "contain", children: "Contain" }), _jsx("option", { value: "auto", children: "Auto" })] })] }), _jsxs("div", { style: styles.optionRow, children: [_jsx("label", { style: styles.optionLabel, children: "Position" }), _jsxs("select", { value: value.position, onChange: (e) => handlePositionChange(e.target.value), disabled: readOnly, style: styles.select, children: [_jsx("option", { value: "center", children: "Center" }), _jsx("option", { value: "top", children: "Top" }), _jsx("option", { value: "bottom", children: "Bottom" }), _jsx("option", { value: "left", children: "Left" }), _jsx("option", { value: "right", children: "Right" }), _jsx("option", { value: "top-left", children: "Top Left" }), _jsx("option", { value: "top-right", children: "Top Right" }), _jsx("option", { value: "bottom-left", children: "Bottom Left" }), _jsx("option", { value: "bottom-right", children: "Bottom Right" })] })] }), _jsxs("div", { style: styles.optionRow, children: [_jsx("label", { style: styles.optionLabel, children: "Repeat" }), _jsxs("select", { value: value.repeat, onChange: (e) => handleRepeatChange(e.target.value), disabled: readOnly, style: styles.select, children: [_jsx("option", { value: "no-repeat", children: "No Repeat" }), _jsx("option", { value: "repeat", children: "Repeat" }), _jsx("option", { value: "repeat-x", children: "Repeat X" }), _jsx("option", { value: "repeat-y", children: "Repeat Y" })] })] }), _jsxs("div", { style: styles.optionRow, children: [_jsx("label", { style: styles.optionLabel, children: "Attachment" }), _jsxs("select", { value: value.attachment, onChange: (e) => handleAttachmentChange(e.target.value), disabled: readOnly, style: styles.select, children: [_jsx("option", { value: "scroll", children: "Scroll" }), _jsx("option", { value: "fixed", children: "Fixed" })] })] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '8px', paddingTop: '12px' }, children: [_jsxs("label", { style: styles.checkboxRow, children: [_jsx("input", { type: "checkbox", checked: maskEnabled, onChange: (e) => handleMaskToggle(e.target.checked), disabled: readOnly, style: styles.checkbox }), _jsx("span", { style: styles.checkboxLabel, children: "Fade to transparent" })] }), maskEnabled && (_jsxs("div", { style: styles.maskSection, children: [_jsxs("div", { style: styles.optionRow, children: [_jsx("label", { style: styles.optionLabelSmall, children: "Dir" }), _jsxs("select", { value: value.mask?.direction || 'to-bottom', onChange: (e) => handleMaskDirectionChange(e.target.value), disabled: readOnly, style: styles.selectSmall, children: [_jsx("option", { value: "to-top", children: "To Top" }), _jsx("option", { value: "to-bottom", children: "To Bottom" }), _jsx("option", { value: "to-left", children: "To Left" }), _jsx("option", { value: "to-right", children: "To Right" }), _jsx("option", { value: "to-top-left", children: "To Top Left" }), _jsx("option", { value: "to-top-right", children: "To Top Right" }), _jsx("option", { value: "to-bottom-left", children: "To Bottom Left" }), _jsx("option", { value: "to-bottom-right", children: "To Bottom Right" }), _jsx("option", { value: "from-center", children: "From Center (Radial)" })] })] }), _jsxs("div", { style: styles.optionRow, children: [_jsx("label", { style: styles.optionLabelSmall, children: "Start" }), _jsx("input", { type: "range", min: "0", max: "100", value: value.mask?.startPosition ?? 0, onChange: handleMaskStartPositionChange, disabled: readOnly, style: styles.slider }), _jsxs("span", { style: styles.sliderValue, children: [value.mask?.startPosition ?? 0, "%"] })] }), _jsxs("div", { style: styles.optionRow, children: [_jsx("label", { style: styles.optionLabelSmall, children: "End" }), _jsx("input", { type: "range", min: "0", max: "100", value: value.mask?.endPosition ?? 100, onChange: handleMaskEndPositionChange, disabled: readOnly, style: styles.slider }), _jsxs("span", { style: styles.sliderValue, children: [value.mask?.endPosition ?? 100, "%"] })] })] }))] })] }))] }));
317
+ }
318
+ const ImageOptions = memo(ImageOptionsInner);
319
+ // =============================================================================
320
+ // BackgroundField Component
321
+ // =============================================================================
322
+ function BackgroundFieldInner({ value, onChange, label, readOnly, apiEndpoint = '/api/media', showOpacity = true, colorPresets, }) {
323
+ const currentValue = value || DEFAULT_VALUE;
324
+ const currentType = currentValue.type;
325
+ // Handle type change
326
+ const handleTypeChange = useCallback((type) => {
327
+ const newValue = {
328
+ ...currentValue,
329
+ type,
330
+ };
331
+ // Initialize defaults for the new type if needed
332
+ if (type === 'gradient' && !newValue.gradient) {
333
+ newValue.gradient = DEFAULT_GRADIENT;
334
+ }
335
+ if (type === 'image' && !newValue.image) {
336
+ newValue.image = DEFAULT_IMAGE;
337
+ }
338
+ onChange(newValue);
339
+ }, [currentValue, onChange]);
340
+ // Handle solid color change
341
+ const handleSolidChange = useCallback((solid) => {
342
+ onChange({ ...currentValue, solid });
343
+ }, [currentValue, onChange]);
344
+ // Handle gradient change
345
+ const handleGradientChange = useCallback((gradient) => {
346
+ onChange({ ...currentValue, gradient });
347
+ }, [currentValue, onChange]);
348
+ // Handle image change
349
+ const handleImageChange = useCallback((image) => {
350
+ onChange({ ...currentValue, image });
351
+ }, [currentValue, onChange]);
352
+ // Handle overlay toggle
353
+ const handleOverlayToggle = useCallback((checked) => {
354
+ if (checked) {
355
+ onChange({ ...currentValue, overlay: { ...DEFAULT_OVERLAY, enabled: true } });
356
+ }
357
+ else {
358
+ onChange({ ...currentValue, overlay: { ...DEFAULT_OVERLAY, enabled: false } });
359
+ }
360
+ }, [currentValue, onChange]);
361
+ // Handle overlay type change
362
+ const handleOverlayTypeChange = useCallback((type) => {
363
+ const currentOverlay = currentValue.overlay || DEFAULT_OVERLAY;
364
+ onChange({
365
+ ...currentValue,
366
+ overlay: {
367
+ ...currentOverlay,
368
+ type,
369
+ enabled: true,
370
+ // Initialize gradient if switching to gradient and not set
371
+ gradient: type === 'gradient' && !currentOverlay.gradient ? DEFAULT_GRADIENT : currentOverlay.gradient,
372
+ },
373
+ });
374
+ }, [currentValue, onChange]);
375
+ // Handle overlay solid color change
376
+ const handleOverlaySolidChange = useCallback((solid) => {
377
+ const currentOverlay = currentValue.overlay || DEFAULT_OVERLAY;
378
+ onChange({
379
+ ...currentValue,
380
+ overlay: { ...currentOverlay, solid, enabled: true },
381
+ });
382
+ }, [currentValue, onChange]);
383
+ // Handle overlay gradient change
384
+ const handleOverlayGradientChange = useCallback((gradient) => {
385
+ const currentOverlay = currentValue.overlay || DEFAULT_OVERLAY;
386
+ onChange({
387
+ ...currentValue,
388
+ overlay: { ...currentOverlay, gradient, enabled: true },
389
+ });
390
+ }, [currentValue, onChange]);
391
+ // Handle clear
392
+ const handleClear = useCallback(() => {
393
+ onChange(null);
394
+ }, [onChange]);
395
+ const overlayEnabled = currentValue.overlay?.enabled ?? false;
396
+ const overlayType = currentValue.overlay?.type ?? 'solid';
397
+ return (_jsxs("div", { className: "puck-field", style: styles.container, children: [_jsxs("div", { style: styles.header, children: [label && _jsx("label", { style: styles.label, children: label }), value && !readOnly && (_jsx("button", { type: "button", onClick: handleClear, title: "Clear background", style: styles.clearButton, children: _jsx(X, { style: { width: '16px', height: '16px' } }) }))] }), _jsx(BackgroundPreview, { value: currentValue }), _jsxs("div", { style: styles.tabContainer, children: [_jsx(TabButton, { active: currentType === 'none', onClick: () => handleTypeChange('none'), disabled: readOnly, children: "None" }), _jsx(TabButton, { active: currentType === 'solid', onClick: () => handleTypeChange('solid'), disabled: readOnly, children: "Solid" }), _jsx(TabButton, { active: currentType === 'gradient', onClick: () => handleTypeChange('gradient'), disabled: readOnly, children: "Gradient" }), _jsx(TabButton, { active: currentType === 'image', onClick: () => handleTypeChange('image'), disabled: readOnly, children: "Image" })] }), _jsxs("div", { style: styles.contentContainer, children: [currentType === 'none' && (_jsx("div", { style: styles.emptyContent, children: "No background selected" })), currentType === 'solid' && (_jsx(ColorPickerField, { value: currentValue.solid || null, onChange: handleSolidChange, readOnly: readOnly, showOpacity: showOpacity, presets: colorPresets })), currentType === 'gradient' && (_jsx(GradientEditor, { value: currentValue.gradient || null, onChange: handleGradientChange, readOnly: readOnly })), currentType === 'image' && (_jsxs("div", { style: styles.imageOptionsContainer, children: [_jsx(ImageOptions, { value: currentValue.image || DEFAULT_IMAGE, onChange: handleImageChange, readOnly: readOnly, apiEndpoint: apiEndpoint }), currentValue.image?.media && (_jsxs("div", { style: styles.overlaySection, children: [_jsxs("label", { style: styles.checkboxRow, children: [_jsx("input", { type: "checkbox", checked: overlayEnabled, onChange: (e) => handleOverlayToggle(e.target.checked), disabled: readOnly, style: styles.checkbox }), _jsx("span", { style: styles.checkboxLabel, children: "Enable overlay" })] }), overlayEnabled && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '12px' }, children: [_jsxs("div", { style: styles.tabContainer, children: [_jsx(TabButton, { active: overlayType === 'solid', onClick: () => handleOverlayTypeChange('solid'), disabled: readOnly, children: "Solid Color" }), _jsx(TabButton, { active: overlayType === 'gradient', onClick: () => handleOverlayTypeChange('gradient'), disabled: readOnly, children: "Gradient" })] }), overlayType === 'solid' ? (_jsx(ColorPickerField, { value: currentValue.overlay?.solid || null, onChange: handleOverlaySolidChange, readOnly: readOnly, showOpacity: true })) : (_jsx(GradientEditor, { value: currentValue.overlay?.gradient || null, onChange: handleOverlayGradientChange, readOnly: readOnly }))] }))] }))] }))] })] }));
398
+ }
399
+ export const BackgroundField = memo(BackgroundFieldInner);
400
+ // =============================================================================
401
+ // Field Configuration Factory
402
+ // =============================================================================
403
+ /**
404
+ * Creates a Puck field configuration for background selection
405
+ */
406
+ export function createBackgroundField(config = {}) {
407
+ return {
408
+ type: 'custom',
409
+ label: config.label,
410
+ render: ({ value, onChange, readOnly }) => (_jsx(BackgroundField, { value: value, onChange: onChange, label: config.label, readOnly: readOnly, apiEndpoint: config.apiEndpoint, showOpacity: config.showOpacity, colorPresets: config.colorPresets })),
411
+ };
412
+ }
413
+ //# sourceMappingURL=BackgroundField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundField.js","sourceRoot":"","sources":["../../src/fields/BackgroundField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * BorderField - Custom Puck field for border styling
3
+ *
4
+ * This component provides:
5
+ * - Border width input (px)
6
+ * - Border color picker (reuses ColorPickerField)
7
+ * - Border radius input
8
+ * - Border style selector (solid, dashed, dotted, none)
9
+ * - Per-side toggles (top, right, bottom, left)
10
+ */
11
+ import React from 'react';
12
+ import type { CustomField } from '@measured/puck';
13
+ import type { BorderValue } from './shared';
14
+ interface BorderFieldProps {
15
+ value: BorderValue | null;
16
+ onChange: (value: BorderValue | null) => void;
17
+ label?: string;
18
+ readOnly?: boolean;
19
+ }
20
+ declare function BorderFieldInner({ value, onChange, label, readOnly, }: BorderFieldProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare const BorderField: React.MemoExoticComponent<typeof BorderFieldInner>;
22
+ /**
23
+ * Creates a Puck field configuration for border styling
24
+ */
25
+ export declare function createBorderField(config: {
26
+ label?: string;
27
+ }): CustomField<BorderValue | null>;
28
+ export {};
29
+ //# sourceMappingURL=BorderField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BorderField.d.ts","sourceRoot":"","sources":["../../src/fields/BorderField.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAgD,MAAM,OAAO,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AASjD,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,UAAU,CAAA;AAQvD,UAAU,gBAAgB;IACxB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAiKD,iBAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,gBAAgB,2CAqMlB;AAED,eAAO,MAAM,WAAW,oDAAyB,CAAA;AAMjD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,CAalC"}