@delmaredigital/payload-puck 0.6.12 → 0.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. package/README.md +50 -1
  2. package/dist/admin/EditWithPuckButton.d.ts +1 -1
  3. package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
  4. package/dist/admin/EditWithPuckButton.js +65 -25
  5. package/dist/admin/EditWithPuckButton.js.map +1 -1
  6. package/dist/admin/EditWithPuckCell.js +43 -13
  7. package/dist/admin/EditWithPuckCell.js.map +1 -1
  8. package/dist/admin/PuckEditorView.d.ts +1 -1
  9. package/dist/admin/PuckEditorView.d.ts.map +1 -1
  10. package/dist/admin/PuckEditorView.js +118 -32
  11. package/dist/admin/PuckEditorView.js.map +1 -1
  12. package/dist/admin/client.d.ts +2 -2
  13. package/dist/admin/client.d.ts.map +1 -1
  14. package/dist/admin/client.js +4 -4
  15. package/dist/admin/client.js.map +1 -1
  16. package/dist/admin/generateAdminComponents.js +7 -7
  17. package/dist/admin/generateAdminComponents.js.map +1 -1
  18. package/dist/admin/index.d.ts +5 -5
  19. package/dist/admin/index.d.ts.map +1 -1
  20. package/dist/admin/index.js +3 -2
  21. package/dist/admin/index.js.map +1 -1
  22. package/dist/ai/collections/AiContext.js +56 -29
  23. package/dist/ai/collections/AiContext.js.map +1 -1
  24. package/dist/ai/collections/AiPrompts.js +24 -19
  25. package/dist/ai/collections/AiPrompts.js.map +1 -1
  26. package/dist/ai/createAiApiRoutes.js +28 -19
  27. package/dist/ai/createAiApiRoutes.js.map +1 -1
  28. package/dist/ai/createAiGenerate.js +7 -8
  29. package/dist/ai/createAiGenerate.js.map +1 -1
  30. package/dist/ai/createAiPlugin.js +7 -9
  31. package/dist/ai/createAiPlugin.js.map +1 -1
  32. package/dist/ai/hooks/useAiContext.js +50 -39
  33. package/dist/ai/hooks/useAiContext.js.map +1 -1
  34. package/dist/ai/hooks/useAiPrompts.js +33 -25
  35. package/dist/ai/hooks/useAiPrompts.js.map +1 -1
  36. package/dist/ai/index.js +9 -10
  37. package/dist/ai/index.js.map +1 -1
  38. package/dist/ai/plugins/ContextEditorPanel.d.ts +1 -1
  39. package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -1
  40. package/dist/ai/plugins/ContextEditorPanel.js +399 -107
  41. package/dist/ai/plugins/ContextEditorPanel.js.map +1 -1
  42. package/dist/ai/plugins/PromptEditorPanel.d.ts +1 -1
  43. package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -1
  44. package/dist/ai/plugins/PromptEditorPanel.js +237 -51
  45. package/dist/ai/plugins/PromptEditorPanel.js.map +1 -1
  46. package/dist/ai/plugins/contextEditorPlugin.js +12 -5
  47. package/dist/ai/plugins/contextEditorPlugin.js.map +1 -1
  48. package/dist/ai/plugins/promptApiRoutes.js +119 -50
  49. package/dist/ai/plugins/promptApiRoutes.js.map +1 -1
  50. package/dist/ai/plugins/promptEditorPlugin.js +12 -5
  51. package/dist/ai/plugins/promptEditorPlugin.js.map +1 -1
  52. package/dist/ai/presets/componentAiDefaults.js +108 -83
  53. package/dist/ai/presets/componentAiDefaults.js.map +1 -1
  54. package/dist/ai/presets/index.js +12 -18
  55. package/dist/ai/presets/index.js.map +1 -1
  56. package/dist/ai/presets/instructions/interactive.js +85 -75
  57. package/dist/ai/presets/instructions/interactive.js.map +1 -1
  58. package/dist/ai/presets/instructions/layout.js +122 -117
  59. package/dist/ai/presets/instructions/layout.js.map +1 -1
  60. package/dist/ai/presets/instructions/media.js +31 -29
  61. package/dist/ai/presets/instructions/media.js.map +1 -1
  62. package/dist/ai/presets/instructions/pagePatterns.js +4 -6
  63. package/dist/ai/presets/instructions/pagePatterns.js.map +1 -1
  64. package/dist/ai/presets/instructions/schemas.js +495 -137
  65. package/dist/ai/presets/instructions/schemas.js.map +1 -1
  66. package/dist/ai/presets/instructions/typography.js +38 -33
  67. package/dist/ai/presets/instructions/typography.js.map +1 -1
  68. package/dist/ai/tools/index.js +92 -55
  69. package/dist/ai/tools/index.js.map +1 -1
  70. package/dist/ai/types.js +7 -1
  71. package/dist/ai/types.js.map +1 -1
  72. package/dist/ai/utils/injectAiConfig.js +33 -40
  73. package/dist/ai/utils/injectAiConfig.js.map +1 -1
  74. package/dist/api/createPuckApiRoutes.d.ts +1 -1
  75. package/dist/api/createPuckApiRoutes.d.ts.map +1 -1
  76. package/dist/api/createPuckApiRoutes.js +123 -65
  77. package/dist/api/createPuckApiRoutes.js.map +1 -1
  78. package/dist/api/createPuckApiRoutesVersions.d.ts +1 -1
  79. package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -1
  80. package/dist/api/createPuckApiRoutesVersions.js +88 -37
  81. package/dist/api/createPuckApiRoutesVersions.js.map +1 -1
  82. package/dist/api/createPuckApiRoutesWithId.d.ts +1 -1
  83. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
  84. package/dist/api/createPuckApiRoutesWithId.js +166 -72
  85. package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
  86. package/dist/api/index.d.ts +5 -5
  87. package/dist/api/index.d.ts.map +1 -1
  88. package/dist/api/index.js +6 -6
  89. package/dist/api/index.js.map +1 -1
  90. package/dist/api/payload-config.d.js +15 -0
  91. package/dist/api/payload-config.d.js.map +1 -0
  92. package/dist/api/types.js +4 -1
  93. package/dist/api/types.js.map +1 -1
  94. package/dist/api/utils/mapRootProps.d.ts +1 -1
  95. package/dist/api/utils/mapRootProps.d.ts.map +1 -1
  96. package/dist/api/utils/mapRootProps.js +77 -44
  97. package/dist/api/utils/mapRootProps.js.map +1 -1
  98. package/dist/collections/Templates.js +24 -20
  99. package/dist/collections/Templates.js.map +1 -1
  100. package/dist/components/AccordionClient.d.ts +2 -2
  101. package/dist/components/AccordionClient.d.ts.map +1 -1
  102. package/dist/components/AccordionClient.js +81 -22
  103. package/dist/components/AccordionClient.js.map +1 -1
  104. package/dist/components/AnimatedWrapper.d.ts +2 -2
  105. package/dist/components/AnimatedWrapper.d.ts.map +1 -1
  106. package/dist/components/AnimatedWrapper.js +31 -16
  107. package/dist/components/AnimatedWrapper.js.map +1 -1
  108. package/dist/components/exports.js +2 -2
  109. package/dist/components/exports.js.map +1 -1
  110. package/dist/components/index.d.ts +5 -5
  111. package/dist/components/index.d.ts.map +1 -1
  112. package/dist/components/index.js +7 -7
  113. package/dist/components/index.js.map +1 -1
  114. package/dist/components/interactive/Accordion.d.ts +1 -1
  115. package/dist/components/interactive/Accordion.d.ts.map +1 -1
  116. package/dist/components/interactive/Accordion.js +149 -55
  117. package/dist/components/interactive/Accordion.js.map +1 -1
  118. package/dist/components/interactive/Accordion.server.d.ts +1 -1
  119. package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
  120. package/dist/components/interactive/Accordion.server.js +25 -7
  121. package/dist/components/interactive/Accordion.server.js.map +1 -1
  122. package/dist/components/interactive/Button.d.ts +3 -3
  123. package/dist/components/interactive/Button.d.ts.map +1 -1
  124. package/dist/components/interactive/Button.js +89 -43
  125. package/dist/components/interactive/Button.js.map +1 -1
  126. package/dist/components/interactive/Button.server.d.ts +2 -2
  127. package/dist/components/interactive/Button.server.d.ts.map +1 -1
  128. package/dist/components/interactive/Button.server.js +40 -20
  129. package/dist/components/interactive/Button.server.js.map +1 -1
  130. package/dist/components/interactive/Card.d.ts +3 -3
  131. package/dist/components/interactive/Card.d.ts.map +1 -1
  132. package/dist/components/interactive/Card.js +131 -39
  133. package/dist/components/interactive/Card.js.map +1 -1
  134. package/dist/components/interactive/Card.server.d.ts +3 -3
  135. package/dist/components/interactive/Card.server.d.ts.map +1 -1
  136. package/dist/components/interactive/Card.server.js +72 -11
  137. package/dist/components/interactive/Card.server.js.map +1 -1
  138. package/dist/components/interactive/Divider.d.ts +1 -1
  139. package/dist/components/interactive/Divider.d.ts.map +1 -1
  140. package/dist/components/interactive/Divider.js +54 -26
  141. package/dist/components/interactive/Divider.js.map +1 -1
  142. package/dist/components/interactive/Divider.server.d.ts +1 -1
  143. package/dist/components/interactive/Divider.server.d.ts.map +1 -1
  144. package/dist/components/interactive/Divider.server.js +28 -12
  145. package/dist/components/interactive/Divider.server.js.map +1 -1
  146. package/dist/components/interactive/index.d.ts +4 -4
  147. package/dist/components/interactive/index.d.ts.map +1 -1
  148. package/dist/components/interactive/index.js +5 -5
  149. package/dist/components/interactive/index.js.map +1 -1
  150. package/dist/components/layout/Container.d.ts +1 -1
  151. package/dist/components/layout/Container.d.ts.map +1 -1
  152. package/dist/components/layout/Container.js +101 -47
  153. package/dist/components/layout/Container.js.map +1 -1
  154. package/dist/components/layout/Container.server.d.ts +1 -1
  155. package/dist/components/layout/Container.server.d.ts.map +1 -1
  156. package/dist/components/layout/Container.server.js +67 -19
  157. package/dist/components/layout/Container.server.js.map +1 -1
  158. package/dist/components/layout/Flex.d.ts +2 -2
  159. package/dist/components/layout/Flex.d.ts.map +1 -1
  160. package/dist/components/layout/Flex.js +124 -55
  161. package/dist/components/layout/Flex.js.map +1 -1
  162. package/dist/components/layout/Flex.server.d.ts +1 -1
  163. package/dist/components/layout/Flex.server.d.ts.map +1 -1
  164. package/dist/components/layout/Flex.server.js +50 -14
  165. package/dist/components/layout/Flex.server.js.map +1 -1
  166. package/dist/components/layout/Grid.d.ts +1 -1
  167. package/dist/components/layout/Grid.d.ts.map +1 -1
  168. package/dist/components/layout/Grid.js +93 -44
  169. package/dist/components/layout/Grid.js.map +1 -1
  170. package/dist/components/layout/Grid.server.d.ts +1 -1
  171. package/dist/components/layout/Grid.server.d.ts.map +1 -1
  172. package/dist/components/layout/Grid.server.js +56 -14
  173. package/dist/components/layout/Grid.server.js.map +1 -1
  174. package/dist/components/layout/Section.d.ts +1 -1
  175. package/dist/components/layout/Section.d.ts.map +1 -1
  176. package/dist/components/layout/Section.js +147 -64
  177. package/dist/components/layout/Section.js.map +1 -1
  178. package/dist/components/layout/Section.server.d.ts +1 -1
  179. package/dist/components/layout/Section.server.d.ts.map +1 -1
  180. package/dist/components/layout/Section.server.js +92 -28
  181. package/dist/components/layout/Section.server.js.map +1 -1
  182. package/dist/components/layout/Spacer.d.ts +1 -1
  183. package/dist/components/layout/Spacer.d.ts.map +1 -1
  184. package/dist/components/layout/Spacer.js +80 -30
  185. package/dist/components/layout/Spacer.js.map +1 -1
  186. package/dist/components/layout/Spacer.server.d.ts +1 -1
  187. package/dist/components/layout/Spacer.server.d.ts.map +1 -1
  188. package/dist/components/layout/Spacer.server.js +31 -9
  189. package/dist/components/layout/Spacer.server.js.map +1 -1
  190. package/dist/components/layout/Template.d.ts +1 -1
  191. package/dist/components/layout/Template.d.ts.map +1 -1
  192. package/dist/components/layout/Template.js +58 -30
  193. package/dist/components/layout/Template.js.map +1 -1
  194. package/dist/components/layout/Template.server.d.ts +1 -1
  195. package/dist/components/layout/Template.server.d.ts.map +1 -1
  196. package/dist/components/layout/Template.server.js +43 -11
  197. package/dist/components/layout/Template.server.js.map +1 -1
  198. package/dist/components/layout/index.d.ts +8 -8
  199. package/dist/components/layout/index.d.ts.map +1 -1
  200. package/dist/components/layout/index.js +8 -8
  201. package/dist/components/layout/index.js.map +1 -1
  202. package/dist/components/media/Image.d.ts +3 -3
  203. package/dist/components/media/Image.d.ts.map +1 -1
  204. package/dist/components/media/Image.js +122 -39
  205. package/dist/components/media/Image.js.map +1 -1
  206. package/dist/components/media/Image.server.d.ts +3 -3
  207. package/dist/components/media/Image.server.d.ts.map +1 -1
  208. package/dist/components/media/Image.server.js +76 -13
  209. package/dist/components/media/Image.server.js.map +1 -1
  210. package/dist/components/media/index.d.ts +1 -1
  211. package/dist/components/media/index.d.ts.map +1 -1
  212. package/dist/components/media/index.js +2 -2
  213. package/dist/components/media/index.js.map +1 -1
  214. package/dist/components/typography/Heading.d.ts +2 -2
  215. package/dist/components/typography/Heading.d.ts.map +1 -1
  216. package/dist/components/typography/Heading.js +45 -25
  217. package/dist/components/typography/Heading.js.map +1 -1
  218. package/dist/components/typography/Heading.server.d.ts +2 -2
  219. package/dist/components/typography/Heading.server.d.ts.map +1 -1
  220. package/dist/components/typography/Heading.server.js +16 -10
  221. package/dist/components/typography/Heading.server.js.map +1 -1
  222. package/dist/components/typography/RichText.editor.d.ts +1 -1
  223. package/dist/components/typography/RichText.editor.d.ts.map +1 -1
  224. package/dist/components/typography/RichText.editor.js +44 -19
  225. package/dist/components/typography/RichText.editor.js.map +1 -1
  226. package/dist/components/typography/RichText.server.d.ts +2 -2
  227. package/dist/components/typography/RichText.server.d.ts.map +1 -1
  228. package/dist/components/typography/RichText.server.js +33 -14
  229. package/dist/components/typography/RichText.server.js.map +1 -1
  230. package/dist/components/typography/Text.d.ts +2 -2
  231. package/dist/components/typography/Text.d.ts.map +1 -1
  232. package/dist/components/typography/Text.js +49 -23
  233. package/dist/components/typography/Text.js.map +1 -1
  234. package/dist/components/typography/Text.server.d.ts +2 -2
  235. package/dist/components/typography/Text.server.d.ts.map +1 -1
  236. package/dist/components/typography/Text.server.js +21 -8
  237. package/dist/components/typography/Text.server.js.map +1 -1
  238. package/dist/components/typography/index.d.ts +4 -4
  239. package/dist/components/typography/index.d.ts.map +1 -1
  240. package/dist/components/typography/index.js +5 -5
  241. package/dist/components/typography/index.js.map +1 -1
  242. package/dist/config/config.editor.d.ts +3 -3
  243. package/dist/config/config.editor.d.ts.map +1 -1
  244. package/dist/config/config.editor.js +119 -54
  245. package/dist/config/config.editor.js.map +1 -1
  246. package/dist/config/index.d.ts +4 -4
  247. package/dist/config/index.d.ts.map +1 -1
  248. package/dist/config/index.js +62 -35
  249. package/dist/config/index.js.map +1 -1
  250. package/dist/config/merge.d.ts +1 -1
  251. package/dist/config/merge.d.ts.map +1 -1
  252. package/dist/config/merge.js +23 -26
  253. package/dist/config/merge.js.map +1 -1
  254. package/dist/config/presets.d.ts +4 -4
  255. package/dist/config/presets.js +195 -75
  256. package/dist/config/presets.js.map +1 -1
  257. package/dist/config/types.js +6 -2
  258. package/dist/config/types.js.map +1 -1
  259. package/dist/editor/PuckEditor.d.ts +4 -4
  260. package/dist/editor/PuckEditor.d.ts.map +1 -1
  261. package/dist/editor/PuckEditor.js +162 -70
  262. package/dist/editor/PuckEditor.js.map +1 -1
  263. package/dist/editor/PuckEditorImpl.client.d.ts +4 -4
  264. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
  265. package/dist/editor/PuckEditorImpl.client.js +304 -152
  266. package/dist/editor/PuckEditorImpl.client.js.map +1 -1
  267. package/dist/editor/components/DarkModeStyles.js +11 -12
  268. package/dist/editor/components/DarkModeStyles.js.map +1 -1
  269. package/dist/editor/components/HeaderActions.js +308 -64
  270. package/dist/editor/components/HeaderActions.js.map +1 -1
  271. package/dist/editor/components/IframeWrapper.d.ts +1 -1
  272. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  273. package/dist/editor/components/IframeWrapper.js +82 -58
  274. package/dist/editor/components/IframeWrapper.js.map +1 -1
  275. package/dist/editor/components/LoadingState.d.ts +1 -1
  276. package/dist/editor/components/LoadingState.d.ts.map +1 -1
  277. package/dist/editor/components/LoadingState.js +17 -3
  278. package/dist/editor/components/LoadingState.js.map +1 -1
  279. package/dist/editor/components/PreviewModal.js +234 -78
  280. package/dist/editor/components/PreviewModal.js.map +1 -1
  281. package/dist/editor/components/PreviewModeToggle.js +43 -15
  282. package/dist/editor/components/PreviewModeToggle.js.map +1 -1
  283. package/dist/editor/components/VersionHistory.js +219 -71
  284. package/dist/editor/components/VersionHistory.js.map +1 -1
  285. package/dist/editor/hooks/useDarkMode.js +36 -23
  286. package/dist/editor/hooks/useDarkMode.js.map +1 -1
  287. package/dist/editor/hooks/useUnsavedChanges.js +8 -8
  288. package/dist/editor/hooks/useUnsavedChanges.js.map +1 -1
  289. package/dist/editor/index.js +5 -6
  290. package/dist/editor/index.js.map +1 -1
  291. package/dist/editor/plugins/VersionHistoryPanel.js +236 -75
  292. package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -1
  293. package/dist/editor/plugins/index.js +4 -4
  294. package/dist/editor/plugins/index.js.map +1 -1
  295. package/dist/editor/plugins/versionHistoryPlugin.js +10 -8
  296. package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -1
  297. package/dist/editor/utils/detectPageTree.js +5 -5
  298. package/dist/editor/utils/detectPageTree.js.map +1 -1
  299. package/dist/editor/utils/index.js +1 -0
  300. package/dist/editor/utils/index.js.map +1 -1
  301. package/dist/editor/utils/injectPageTreeFields.js +13 -9
  302. package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
  303. package/dist/endpoints/ai.js +58 -34
  304. package/dist/endpoints/ai.js.map +1 -1
  305. package/dist/endpoints/context.js +86 -40
  306. package/dist/endpoints/context.js.map +1 -1
  307. package/dist/endpoints/index.js +153 -76
  308. package/dist/endpoints/index.js.map +1 -1
  309. package/dist/endpoints/postcss.d.js +5 -0
  310. package/dist/endpoints/postcss.d.js.map +1 -0
  311. package/dist/endpoints/prompts.js +81 -39
  312. package/dist/endpoints/prompts.js.map +1 -1
  313. package/dist/endpoints/styles.js +34 -36
  314. package/dist/endpoints/styles.js.map +1 -1
  315. package/dist/exports/client.js +2 -2
  316. package/dist/exports/client.js.map +1 -1
  317. package/dist/exports/rsc.js +2 -2
  318. package/dist/exports/rsc.js.map +1 -1
  319. package/dist/fields/AlignmentField.d.ts +1 -1
  320. package/dist/fields/AlignmentField.d.ts.map +1 -1
  321. package/dist/fields/AlignmentField.js +93 -30
  322. package/dist/fields/AlignmentField.js.map +1 -1
  323. package/dist/fields/AnimationField.d.ts +2 -2
  324. package/dist/fields/AnimationField.d.ts.map +1 -1
  325. package/dist/fields/AnimationField.js +558 -84
  326. package/dist/fields/AnimationField.js.map +1 -1
  327. package/dist/fields/BackgroundField.d.ts +2 -2
  328. package/dist/fields/BackgroundField.d.ts.map +1 -1
  329. package/dist/fields/BackgroundField.js +754 -120
  330. package/dist/fields/BackgroundField.js.map +1 -1
  331. package/dist/fields/BorderField.d.ts +2 -2
  332. package/dist/fields/BorderField.d.ts.map +1 -1
  333. package/dist/fields/BorderField.js +275 -73
  334. package/dist/fields/BorderField.js.map +1 -1
  335. package/dist/fields/ColorPickerField.d.ts +2 -2
  336. package/dist/fields/ColorPickerField.d.ts.map +1 -1
  337. package/dist/fields/ColorPickerField.js +210 -68
  338. package/dist/fields/ColorPickerField.js.map +1 -1
  339. package/dist/fields/ContentAlignmentField.d.ts +1 -1
  340. package/dist/fields/ContentAlignmentField.d.ts.map +1 -1
  341. package/dist/fields/ContentAlignmentField.js +161 -75
  342. package/dist/fields/ContentAlignmentField.js.map +1 -1
  343. package/dist/fields/DimensionsField.d.ts +2 -2
  344. package/dist/fields/DimensionsField.d.ts.map +1 -1
  345. package/dist/fields/DimensionsField.js +575 -146
  346. package/dist/fields/DimensionsField.js.map +1 -1
  347. package/dist/fields/FlexAlignmentField.d.ts +2 -2
  348. package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
  349. package/dist/fields/FlexAlignmentField.js +189 -51
  350. package/dist/fields/FlexAlignmentField.js.map +1 -1
  351. package/dist/fields/FolderPickerField.d.ts +8 -1
  352. package/dist/fields/FolderPickerField.d.ts.map +1 -1
  353. package/dist/fields/FolderPickerField.js +288 -75
  354. package/dist/fields/FolderPickerField.js.map +1 -1
  355. package/dist/fields/GradientEditor.d.ts +2 -2
  356. package/dist/fields/GradientEditor.d.ts.map +1 -1
  357. package/dist/fields/GradientEditor.js +462 -86
  358. package/dist/fields/GradientEditor.js.map +1 -1
  359. package/dist/fields/LockedField.d.ts +15 -2
  360. package/dist/fields/LockedField.d.ts.map +1 -1
  361. package/dist/fields/LockedField.js +180 -49
  362. package/dist/fields/LockedField.js.map +1 -1
  363. package/dist/fields/MarginField.d.ts +2 -2
  364. package/dist/fields/MarginField.d.ts.map +1 -1
  365. package/dist/fields/MarginField.js +144 -46
  366. package/dist/fields/MarginField.js.map +1 -1
  367. package/dist/fields/MediaField.d.ts +1 -1
  368. package/dist/fields/MediaField.d.ts.map +1 -1
  369. package/dist/fields/MediaField.js +688 -186
  370. package/dist/fields/MediaField.js.map +1 -1
  371. package/dist/fields/PaddingField.d.ts +2 -2
  372. package/dist/fields/PaddingField.d.ts.map +1 -1
  373. package/dist/fields/PaddingField.js +144 -46
  374. package/dist/fields/PaddingField.js.map +1 -1
  375. package/dist/fields/PageSegmentField.d.ts +15 -2
  376. package/dist/fields/PageSegmentField.d.ts.map +1 -1
  377. package/dist/fields/PageSegmentField.js +156 -54
  378. package/dist/fields/PageSegmentField.js.map +1 -1
  379. package/dist/fields/ResetField.d.ts +1 -1
  380. package/dist/fields/ResetField.d.ts.map +1 -1
  381. package/dist/fields/ResetField.js +59 -31
  382. package/dist/fields/ResetField.js.map +1 -1
  383. package/dist/fields/ResponsiveField.d.ts +1 -1
  384. package/dist/fields/ResponsiveField.d.ts.map +1 -1
  385. package/dist/fields/ResponsiveField.js +233 -90
  386. package/dist/fields/ResponsiveField.js.map +1 -1
  387. package/dist/fields/ResponsiveVisibilityField.d.ts +2 -2
  388. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
  389. package/dist/fields/ResponsiveVisibilityField.js +119 -36
  390. package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
  391. package/dist/fields/SizeField.d.ts +3 -3
  392. package/dist/fields/SizeField.d.ts.map +1 -1
  393. package/dist/fields/SizeField.js +226 -52
  394. package/dist/fields/SizeField.js.map +1 -1
  395. package/dist/fields/SlugPreviewField.d.ts +8 -1
  396. package/dist/fields/SlugPreviewField.d.ts.map +1 -1
  397. package/dist/fields/SlugPreviewField.js +65 -16
  398. package/dist/fields/SlugPreviewField.js.map +1 -1
  399. package/dist/fields/TemplateField.d.ts +1 -1
  400. package/dist/fields/TemplateField.d.ts.map +1 -1
  401. package/dist/fields/TemplateField.js +362 -120
  402. package/dist/fields/TemplateField.js.map +1 -1
  403. package/dist/fields/TransformField.d.ts +2 -2
  404. package/dist/fields/TransformField.d.ts.map +1 -1
  405. package/dist/fields/TransformField.js +517 -81
  406. package/dist/fields/TransformField.js.map +1 -1
  407. package/dist/fields/VerticalAlignmentField.d.ts +1 -1
  408. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
  409. package/dist/fields/VerticalAlignmentField.js +93 -30
  410. package/dist/fields/VerticalAlignmentField.js.map +1 -1
  411. package/dist/fields/WidthField.d.ts +2 -2
  412. package/dist/fields/WidthField.d.ts.map +1 -1
  413. package/dist/fields/WidthField.js +278 -81
  414. package/dist/fields/WidthField.js.map +1 -1
  415. package/dist/fields/index.d.ts +41 -41
  416. package/dist/fields/index.d.ts.map +1 -1
  417. package/dist/fields/index.js +37 -43
  418. package/dist/fields/index.js.map +1 -1
  419. package/dist/fields/richtext/controls/ColorPickerControl.d.ts +13 -2
  420. package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
  421. package/dist/fields/richtext/controls/ColorPickerControl.js +212 -47
  422. package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
  423. package/dist/fields/richtext/controls/DropdownPortal.d.ts +2 -2
  424. package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -1
  425. package/dist/fields/richtext/controls/DropdownPortal.js +36 -4
  426. package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -1
  427. package/dist/fields/richtext/controls/FontSizeControl.d.ts +9 -1
  428. package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
  429. package/dist/fields/richtext/controls/FontSizeControl.js +109 -24
  430. package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
  431. package/dist/fields/richtext/controls/HighlightControl.d.ts +12 -1
  432. package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
  433. package/dist/fields/richtext/controls/HighlightControl.js +54 -17
  434. package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
  435. package/dist/fields/richtext/controls/index.d.ts +5 -5
  436. package/dist/fields/richtext/controls/index.d.ts.map +1 -1
  437. package/dist/fields/richtext/controls/index.js +8 -11
  438. package/dist/fields/richtext/controls/index.js.map +1 -1
  439. package/dist/fields/richtext/controls/shared.js +108 -63
  440. package/dist/fields/richtext/controls/shared.js.map +1 -1
  441. package/dist/fields/richtext/createRichTextField.d.ts +18 -4
  442. package/dist/fields/richtext/createRichTextField.d.ts.map +1 -1
  443. package/dist/fields/richtext/createRichTextField.js +113 -26
  444. package/dist/fields/richtext/createRichTextField.js.map +1 -1
  445. package/dist/fields/richtext/extensions/FontSize.js +26 -20
  446. package/dist/fields/richtext/extensions/FontSize.js.map +1 -1
  447. package/dist/fields/richtext/extensions/index.d.ts +1 -1
  448. package/dist/fields/richtext/extensions/index.d.ts.map +1 -1
  449. package/dist/fields/richtext/extensions/index.js +2 -2
  450. package/dist/fields/richtext/extensions/index.js.map +1 -1
  451. package/dist/fields/richtext/index.d.ts +6 -6
  452. package/dist/fields/richtext/index.d.ts.map +1 -1
  453. package/dist/fields/richtext/index.js +8 -8
  454. package/dist/fields/richtext/index.js.map +1 -1
  455. package/dist/fields/shared.d.ts +1 -1
  456. package/dist/fields/shared.d.ts.map +1 -1
  457. package/dist/fields/shared.js +915 -478
  458. package/dist/fields/shared.js.map +1 -1
  459. package/dist/hooks/index.d.ts +2 -2
  460. package/dist/hooks/index.d.ts.map +1 -1
  461. package/dist/hooks/index.js +3 -3
  462. package/dist/hooks/index.js.map +1 -1
  463. package/dist/hooks/useResponsiveStyles.d.ts +1 -1
  464. package/dist/hooks/useResponsiveStyles.d.ts.map +1 -1
  465. package/dist/hooks/useResponsiveStyles.js +36 -32
  466. package/dist/hooks/useResponsiveStyles.js.map +1 -1
  467. package/dist/hooks/useScrollAnimation.js +26 -24
  468. package/dist/hooks/useScrollAnimation.js.map +1 -1
  469. package/dist/index.d.ts +4 -4
  470. package/dist/index.d.ts.map +1 -1
  471. package/dist/index.js +5 -5
  472. package/dist/index.js.map +1 -1
  473. package/dist/layouts/LayoutWrapper.d.ts +3 -3
  474. package/dist/layouts/LayoutWrapper.d.ts.map +1 -1
  475. package/dist/layouts/LayoutWrapper.js +115 -51
  476. package/dist/layouts/LayoutWrapper.js.map +1 -1
  477. package/dist/layouts/defaults.d.ts +1 -1
  478. package/dist/layouts/defaults.d.ts.map +1 -1
  479. package/dist/layouts/defaults.js +23 -31
  480. package/dist/layouts/defaults.js.map +1 -1
  481. package/dist/layouts/index.d.ts +4 -4
  482. package/dist/layouts/index.d.ts.map +1 -1
  483. package/dist/layouts/index.js +5 -4
  484. package/dist/layouts/index.js.map +1 -1
  485. package/dist/layouts/types.js +4 -2
  486. package/dist/layouts/types.js.map +1 -1
  487. package/dist/layouts/utils.d.ts +1 -1
  488. package/dist/layouts/utils.d.ts.map +1 -1
  489. package/dist/layouts/utils.js +32 -40
  490. package/dist/layouts/utils.js.map +1 -1
  491. package/dist/next/index.js +31 -34
  492. package/dist/next/index.js.map +1 -1
  493. package/dist/plugin/collections/Pages.d.ts +2 -2
  494. package/dist/plugin/collections/Pages.d.ts.map +1 -1
  495. package/dist/plugin/collections/Pages.js +46 -43
  496. package/dist/plugin/collections/Pages.js.map +1 -1
  497. package/dist/plugin/fields/index.d.ts +3 -3
  498. package/dist/plugin/fields/index.d.ts.map +1 -1
  499. package/dist/plugin/fields/index.js +100 -78
  500. package/dist/plugin/fields/index.js.map +1 -1
  501. package/dist/plugin/fields/types.d.ts +1 -1
  502. package/dist/plugin/fields/types.d.ts.map +1 -1
  503. package/dist/plugin/fields/types.js +26 -2
  504. package/dist/plugin/fields/types.js.map +1 -1
  505. package/dist/plugin/hooks/index.d.ts +1 -1
  506. package/dist/plugin/hooks/index.d.ts.map +1 -1
  507. package/dist/plugin/hooks/index.js +2 -2
  508. package/dist/plugin/hooks/index.js.map +1 -1
  509. package/dist/plugin/hooks/isHomepageUnique.js +28 -19
  510. package/dist/plugin/hooks/isHomepageUnique.js.map +1 -1
  511. package/dist/plugin/index.d.ts +8 -8
  512. package/dist/plugin/index.d.ts.map +1 -1
  513. package/dist/plugin/index.js +190 -188
  514. package/dist/plugin/index.js.map +1 -1
  515. package/dist/render/HybridPageRenderer.d.ts +2 -2
  516. package/dist/render/HybridPageRenderer.d.ts.map +1 -1
  517. package/dist/render/HybridPageRenderer.js +58 -10
  518. package/dist/render/HybridPageRenderer.js.map +1 -1
  519. package/dist/render/PageRenderer.d.ts +2 -2
  520. package/dist/render/PageRenderer.d.ts.map +1 -1
  521. package/dist/render/PageRenderer.js +31 -14
  522. package/dist/render/PageRenderer.js.map +1 -1
  523. package/dist/render/PuckEditor.client.d.ts +1 -1
  524. package/dist/render/PuckEditor.client.d.ts.map +1 -1
  525. package/dist/render/PuckEditor.client.js +33 -16
  526. package/dist/render/PuckEditor.client.js.map +1 -1
  527. package/dist/render/index.d.ts +5 -5
  528. package/dist/render/index.d.ts.map +1 -1
  529. package/dist/render/index.js +5 -6
  530. package/dist/render/index.js.map +1 -1
  531. package/dist/styles/puck-dark-mode.css +101 -0
  532. package/dist/theme/context.d.ts +2 -2
  533. package/dist/theme/context.d.ts.map +1 -1
  534. package/dist/theme/context.js +21 -18
  535. package/dist/theme/context.js.map +1 -1
  536. package/dist/theme/defaults.d.ts +1 -1
  537. package/dist/theme/defaults.d.ts.map +1 -1
  538. package/dist/theme/defaults.js +83 -37
  539. package/dist/theme/defaults.js.map +1 -1
  540. package/dist/theme/example.d.ts +1 -1
  541. package/dist/theme/example.d.ts.map +1 -1
  542. package/dist/theme/example.js +68 -30
  543. package/dist/theme/example.js.map +1 -1
  544. package/dist/theme/index.d.ts +5 -5
  545. package/dist/theme/index.d.ts.map +1 -1
  546. package/dist/theme/index.js +6 -5
  547. package/dist/theme/index.js.map +1 -1
  548. package/dist/theme/types.js +6 -2
  549. package/dist/theme/types.js.map +1 -1
  550. package/dist/theme/utils.d.ts +1 -1
  551. package/dist/theme/utils.d.ts.map +1 -1
  552. package/dist/theme/utils.js +24 -25
  553. package/dist/theme/utils.js.map +1 -1
  554. package/dist/types/index.d.ts +6 -6
  555. package/dist/types/index.d.ts.map +1 -1
  556. package/dist/types/index.js +3 -1
  557. package/dist/types/index.js.map +1 -1
  558. package/dist/utils/index.d.ts +2 -2
  559. package/dist/utils/index.d.ts.map +1 -1
  560. package/dist/utils/index.js +13 -22
  561. package/dist/utils/index.js.map +1 -1
  562. package/dist/utils/migration.d.ts +1 -1
  563. package/dist/utils/migration.d.ts.map +1 -1
  564. package/dist/utils/migration.js +43 -49
  565. package/dist/utils/migration.js.map +1 -1
  566. package/dist/utils/validation.d.ts +1 -1
  567. package/dist/utils/validation.d.ts.map +1 -1
  568. package/dist/utils/validation.js +36 -43
  569. package/dist/utils/validation.js.map +1 -1
  570. package/dist/version.d.ts +1 -1
  571. package/dist/version.js +2 -1
  572. package/dist/version.js.map +1 -1
  573. package/dist/views/PuckConfigContext.d.ts +1 -1
  574. package/dist/views/PuckConfigContext.d.ts.map +1 -1
  575. package/dist/views/PuckConfigContext.js +25 -10
  576. package/dist/views/PuckConfigContext.js.map +1 -1
  577. package/dist/views/PuckEditorView.d.ts +1 -1
  578. package/dist/views/PuckEditorView.d.ts.map +1 -1
  579. package/dist/views/PuckEditorView.js +106 -38
  580. package/dist/views/PuckEditorView.js.map +1 -1
  581. package/dist/views/index.js +2 -2
  582. package/dist/views/index.js.map +1 -1
  583. package/package.json +62 -42
@@ -3,104 +3,96 @@
3
3
  *
4
4
  * These provide sensible defaults for common page layout patterns.
5
5
  * Users can override or extend these in their own configuration.
6
- */
7
- /**
6
+ */ /**
8
7
  * Default layout - standard content width with padding
9
- */
10
- export const defaultLayout = {
8
+ */ export const defaultLayout = {
11
9
  value: 'default',
12
10
  label: 'Default',
13
11
  description: 'Standard page layout with contained content width',
14
12
  classes: {
15
13
  wrapper: '',
16
14
  container: 'mx-auto px-4 sm:px-6 lg:px-8',
17
- content: '',
15
+ content: ''
18
16
  },
19
17
  maxWidth: '1200px',
20
- fullWidth: false,
18
+ fullWidth: false
21
19
  };
22
20
  /**
23
21
  * Landing layout - optimized for marketing/landing pages
24
- */
25
- export const landingLayout = {
22
+ */ export const landingLayout = {
26
23
  value: 'landing',
27
24
  label: 'Landing',
28
25
  description: 'Full-width sections with no global container constraints',
29
26
  classes: {
30
27
  wrapper: '',
31
28
  container: '',
32
- content: '',
29
+ content: ''
33
30
  },
34
- fullWidth: true,
31
+ fullWidth: true
35
32
  };
36
33
  /**
37
34
  * Full width layout - edge-to-edge content
38
- */
39
- export const fullWidthLayout = {
35
+ */ export const fullWidthLayout = {
40
36
  value: 'full-width',
41
37
  label: 'Full Width',
42
38
  description: 'Content spans the full viewport width',
43
39
  classes: {
44
40
  wrapper: 'w-full',
45
41
  container: 'w-full',
46
- content: '',
42
+ content: ''
47
43
  },
48
44
  maxWidth: '100%',
49
- fullWidth: true,
45
+ fullWidth: true
50
46
  };
51
47
  /**
52
48
  * Narrow layout - ideal for blog posts and articles
53
- */
54
- export const narrowLayout = {
49
+ */ export const narrowLayout = {
55
50
  value: 'narrow',
56
51
  label: 'Narrow',
57
52
  description: 'Narrow content width for optimal reading experience',
58
53
  classes: {
59
54
  wrapper: '',
60
55
  container: 'mx-auto px-4 sm:px-6',
61
- content: '',
56
+ content: ''
62
57
  },
63
58
  maxWidth: '768px',
64
- fullWidth: false,
59
+ fullWidth: false
65
60
  };
66
61
  /**
67
62
  * Wide layout - extra wide content area
68
- */
69
- export const wideLayout = {
63
+ */ export const wideLayout = {
70
64
  value: 'wide',
71
65
  label: 'Wide',
72
66
  description: 'Wider content area for dashboards or galleries',
73
67
  classes: {
74
68
  wrapper: '',
75
69
  container: 'mx-auto px-4 sm:px-6 lg:px-8',
76
- content: '',
70
+ content: ''
77
71
  },
78
72
  maxWidth: '1440px',
79
- fullWidth: false,
73
+ fullWidth: false
80
74
  };
81
75
  /**
82
76
  * Default layouts included with the plugin
83
- */
84
- export const DEFAULT_LAYOUTS = [
77
+ */ export const DEFAULT_LAYOUTS = [
85
78
  defaultLayout,
86
79
  landingLayout,
87
- fullWidthLayout,
80
+ fullWidthLayout
88
81
  ];
89
82
  /**
90
83
  * Extended layouts for users who want more options
91
- */
92
- export const EXTENDED_LAYOUTS = [
84
+ */ export const EXTENDED_LAYOUTS = [
93
85
  defaultLayout,
94
86
  landingLayout,
95
87
  fullWidthLayout,
96
88
  narrowLayout,
97
- wideLayout,
89
+ wideLayout
98
90
  ];
99
91
  /**
100
92
  * Default layout configuration
101
- */
102
- export const DEFAULT_LAYOUT_CONFIG = {
93
+ */ export const DEFAULT_LAYOUT_CONFIG = {
103
94
  layouts: DEFAULT_LAYOUTS,
104
- defaultLayout: 'default',
95
+ defaultLayout: 'default'
105
96
  };
97
+
106
98
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/layouts/defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,mDAAmD;IAChE,OAAO,EAAE;QACP,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,8BAA8B;QACzC,OAAO,EAAE,EAAE;KACZ;IACD,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,KAAK;CACjB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,0DAA0D;IACvE,OAAO,EAAE;QACP,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;KACZ;IACD,SAAS,EAAE,IAAI;CAChB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,uCAAuC;IACpD,OAAO,EAAE;QACP,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,EAAE;KACZ;IACD,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,IAAI;CAChB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,qDAAqD;IAClE,OAAO,EAAE;QACP,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE,EAAE;KACZ;IACD,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,KAAK;CACjB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAqB;IAC1C,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,gDAAgD;IAC7D,OAAO,EAAE;QACP,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,8BAA8B;QACzC,OAAO,EAAE,EAAE;KACZ;IACD,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,KAAK;CACjB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAuB;IACjD,aAAa;IACb,aAAa;IACb,eAAe;CAChB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD,aAAa;IACb,aAAa;IACb,eAAe;IACf,YAAY;IACZ,UAAU;CACX,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,OAAO,EAAE,eAAe;IACxB,aAAa,EAAE,SAAS;CACzB,CAAA"}
1
+ {"version":3,"sources":["../../src/layouts/defaults.ts"],"sourcesContent":["/**\n * Default Layout Definitions\n *\n * These provide sensible defaults for common page layout patterns.\n * Users can override or extend these in their own configuration.\n */\n\nimport type { LayoutDefinition, LayoutConfig } from './types.js'\n\n/**\n * Default layout - standard content width with padding\n */\nexport const defaultLayout: LayoutDefinition = {\n value: 'default',\n label: 'Default',\n description: 'Standard page layout with contained content width',\n classes: {\n wrapper: '',\n container: 'mx-auto px-4 sm:px-6 lg:px-8',\n content: '',\n },\n maxWidth: '1200px',\n fullWidth: false,\n}\n\n/**\n * Landing layout - optimized for marketing/landing pages\n */\nexport const landingLayout: LayoutDefinition = {\n value: 'landing',\n label: 'Landing',\n description: 'Full-width sections with no global container constraints',\n classes: {\n wrapper: '',\n container: '',\n content: '',\n },\n fullWidth: true,\n}\n\n/**\n * Full width layout - edge-to-edge content\n */\nexport const fullWidthLayout: LayoutDefinition = {\n value: 'full-width',\n label: 'Full Width',\n description: 'Content spans the full viewport width',\n classes: {\n wrapper: 'w-full',\n container: 'w-full',\n content: '',\n },\n maxWidth: '100%',\n fullWidth: true,\n}\n\n/**\n * Narrow layout - ideal for blog posts and articles\n */\nexport const narrowLayout: LayoutDefinition = {\n value: 'narrow',\n label: 'Narrow',\n description: 'Narrow content width for optimal reading experience',\n classes: {\n wrapper: '',\n container: 'mx-auto px-4 sm:px-6',\n content: '',\n },\n maxWidth: '768px',\n fullWidth: false,\n}\n\n/**\n * Wide layout - extra wide content area\n */\nexport const wideLayout: LayoutDefinition = {\n value: 'wide',\n label: 'Wide',\n description: 'Wider content area for dashboards or galleries',\n classes: {\n wrapper: '',\n container: 'mx-auto px-4 sm:px-6 lg:px-8',\n content: '',\n },\n maxWidth: '1440px',\n fullWidth: false,\n}\n\n/**\n * Default layouts included with the plugin\n */\nexport const DEFAULT_LAYOUTS: LayoutDefinition[] = [\n defaultLayout,\n landingLayout,\n fullWidthLayout,\n]\n\n/**\n * Extended layouts for users who want more options\n */\nexport const EXTENDED_LAYOUTS: LayoutDefinition[] = [\n defaultLayout,\n landingLayout,\n fullWidthLayout,\n narrowLayout,\n wideLayout,\n]\n\n/**\n * Default layout configuration\n */\nexport const DEFAULT_LAYOUT_CONFIG: LayoutConfig = {\n layouts: DEFAULT_LAYOUTS,\n defaultLayout: 'default',\n}\n"],"names":["defaultLayout","value","label","description","classes","wrapper","container","content","maxWidth","fullWidth","landingLayout","fullWidthLayout","narrowLayout","wideLayout","DEFAULT_LAYOUTS","EXTENDED_LAYOUTS","DEFAULT_LAYOUT_CONFIG","layouts"],"mappings":"AAAA;;;;;CAKC,GAID;;CAEC,GACD,OAAO,MAAMA,gBAAkC;IAC7CC,OAAO;IACPC,OAAO;IACPC,aAAa;IACbC,SAAS;QACPC,SAAS;QACTC,WAAW;QACXC,SAAS;IACX;IACAC,UAAU;IACVC,WAAW;AACb,EAAC;AAED;;CAEC,GACD,OAAO,MAAMC,gBAAkC;IAC7CT,OAAO;IACPC,OAAO;IACPC,aAAa;IACbC,SAAS;QACPC,SAAS;QACTC,WAAW;QACXC,SAAS;IACX;IACAE,WAAW;AACb,EAAC;AAED;;CAEC,GACD,OAAO,MAAME,kBAAoC;IAC/CV,OAAO;IACPC,OAAO;IACPC,aAAa;IACbC,SAAS;QACPC,SAAS;QACTC,WAAW;QACXC,SAAS;IACX;IACAC,UAAU;IACVC,WAAW;AACb,EAAC;AAED;;CAEC,GACD,OAAO,MAAMG,eAAiC;IAC5CX,OAAO;IACPC,OAAO;IACPC,aAAa;IACbC,SAAS;QACPC,SAAS;QACTC,WAAW;QACXC,SAAS;IACX;IACAC,UAAU;IACVC,WAAW;AACb,EAAC;AAED;;CAEC,GACD,OAAO,MAAMI,aAA+B;IAC1CZ,OAAO;IACPC,OAAO;IACPC,aAAa;IACbC,SAAS;QACPC,SAAS;QACTC,WAAW;QACXC,SAAS;IACX;IACAC,UAAU;IACVC,WAAW;AACb,EAAC;AAED;;CAEC,GACD,OAAO,MAAMK,kBAAsC;IACjDd;IACAU;IACAC;CACD,CAAA;AAED;;CAEC,GACD,OAAO,MAAMI,mBAAuC;IAClDf;IACAU;IACAC;IACAC;IACAC;CACD,CAAA;AAED;;CAEC,GACD,OAAO,MAAMG,wBAAsC;IACjDC,SAASH;IACTd,eAAe;AACjB,EAAC"}
@@ -22,8 +22,8 @@
22
22
  * ])
23
23
  * ```
24
24
  */
25
- export type { LayoutOption, LayoutClasses, LayoutStyles, LayoutDefinition, LayoutConfig, LayoutWrapperProps, } from './types';
26
- export { defaultLayout, landingLayout, fullWidthLayout, narrowLayout, wideLayout, DEFAULT_LAYOUTS, EXTENDED_LAYOUTS, DEFAULT_LAYOUT_CONFIG, } from './defaults';
27
- export { resolveLayoutConfig, getLayout, layoutsToOptions, layoutsToPayloadOptions, createLayout, mergeLayouts, createRenderLayouts, } from './utils';
28
- export { LayoutWrapper, type LayoutWrapperProps as LayoutWrapperComponentProps, type PageOverrides } from './LayoutWrapper';
25
+ export type { LayoutOption, LayoutClasses, LayoutStyles, LayoutDefinition, LayoutConfig, LayoutWrapperProps, } from './types.js';
26
+ export { defaultLayout, landingLayout, fullWidthLayout, narrowLayout, wideLayout, DEFAULT_LAYOUTS, EXTENDED_LAYOUTS, DEFAULT_LAYOUT_CONFIG, } from './defaults.js';
27
+ export { resolveLayoutConfig, getLayout, layoutsToOptions, layoutsToPayloadOptions, createLayout, mergeLayouts, createRenderLayouts, } from './utils.js';
28
+ export { LayoutWrapper, type LayoutWrapperProps as LayoutWrapperComponentProps, type PageOverrides } from './LayoutWrapper.js';
29
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layouts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,YAAY,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,IAAI,2BAA2B,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layouts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,YAAY,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,IAAI,2BAA2B,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA"}
@@ -21,11 +21,12 @@
21
21
  * }),
22
22
  * ])
23
23
  * ```
24
- */
24
+ */ // Types
25
25
  // Defaults
26
- export { defaultLayout, landingLayout, fullWidthLayout, narrowLayout, wideLayout, DEFAULT_LAYOUTS, EXTENDED_LAYOUTS, DEFAULT_LAYOUT_CONFIG, } from './defaults';
26
+ export { defaultLayout, landingLayout, fullWidthLayout, narrowLayout, wideLayout, DEFAULT_LAYOUTS, EXTENDED_LAYOUTS, DEFAULT_LAYOUT_CONFIG } from './defaults.js';
27
27
  // Utilities
28
- export { resolveLayoutConfig, getLayout, layoutsToOptions, layoutsToPayloadOptions, createLayout, mergeLayouts, createRenderLayouts, } from './utils';
28
+ export { resolveLayoutConfig, getLayout, layoutsToOptions, layoutsToPayloadOptions, createLayout, mergeLayouts, createRenderLayouts } from './utils.js';
29
29
  // Components
30
- export { LayoutWrapper } from './LayoutWrapper';
30
+ export { LayoutWrapper } from './LayoutWrapper.js';
31
+
31
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layouts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAYH,WAAW;AACX,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,YAAY,CAAA;AAEnB,YAAY;AACZ,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,SAAS,CAAA;AAEhB,aAAa;AACb,OAAO,EAAE,aAAa,EAA8E,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"sources":["../../src/layouts/index.ts"],"sourcesContent":["/**\n * Layouts Module\n *\n * Dynamic page layout system for payload-puck.\n *\n * @example\n * ```tsx\n * import {\n * DEFAULT_LAYOUTS,\n * createLayout,\n * mergeLayouts,\n * } from '@delmaredigital/payload-puck/layouts'\n *\n * // Create custom layouts\n * const customLayouts = mergeLayouts(DEFAULT_LAYOUTS, [\n * createLayout({\n * value: 'blog',\n * label: 'Blog Post',\n * maxWidth: '720px',\n * classes: { container: 'mx-auto px-4 prose' },\n * }),\n * ])\n * ```\n */\n\n// Types\nexport type {\n LayoutOption,\n LayoutClasses,\n LayoutStyles,\n LayoutDefinition,\n LayoutConfig,\n LayoutWrapperProps,\n} from './types.js'\n\n// Defaults\nexport {\n defaultLayout,\n landingLayout,\n fullWidthLayout,\n narrowLayout,\n wideLayout,\n DEFAULT_LAYOUTS,\n EXTENDED_LAYOUTS,\n DEFAULT_LAYOUT_CONFIG,\n} from './defaults.js'\n\n// Utilities\nexport {\n resolveLayoutConfig,\n getLayout,\n layoutsToOptions,\n layoutsToPayloadOptions,\n createLayout,\n mergeLayouts,\n createRenderLayouts,\n} from './utils.js'\n\n// Components\nexport { LayoutWrapper, type LayoutWrapperProps as LayoutWrapperComponentProps, type PageOverrides } from './LayoutWrapper.js'\n"],"names":["defaultLayout","landingLayout","fullWidthLayout","narrowLayout","wideLayout","DEFAULT_LAYOUTS","EXTENDED_LAYOUTS","DEFAULT_LAYOUT_CONFIG","resolveLayoutConfig","getLayout","layoutsToOptions","layoutsToPayloadOptions","createLayout","mergeLayouts","createRenderLayouts","LayoutWrapper"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;CAuBC,GAED,QAAQ;AAUR,WAAW;AACX,SACEA,aAAa,EACbC,aAAa,EACbC,eAAe,EACfC,YAAY,EACZC,UAAU,EACVC,eAAe,EACfC,gBAAgB,EAChBC,qBAAqB,QAChB,gBAAe;AAEtB,YAAY;AACZ,SACEC,mBAAmB,EACnBC,SAAS,EACTC,gBAAgB,EAChBC,uBAAuB,EACvBC,YAAY,EACZC,YAAY,EACZC,mBAAmB,QACd,aAAY;AAEnB,aAAa;AACb,SAASC,aAAa,QAAoF,qBAAoB"}
@@ -2,6 +2,8 @@
2
2
  * Layout System Types
3
3
  *
4
4
  * Defines the structure for page layouts that affect how content is rendered.
5
- */
6
- export {};
5
+ */ /**
6
+ * Props passed to a custom layout wrapper component
7
+ */ export { };
8
+
7
9
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/layouts/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
1
+ {"version":3,"sources":["../../src/layouts/types.ts"],"sourcesContent":["/**\n * Layout System Types\n *\n * Defines the structure for page layouts that affect how content is rendered.\n */\n\nimport type { ReactNode, CSSProperties, ComponentType } from 'react'\n\n/**\n * A layout option shown in the Puck editor's layout selector\n */\nexport interface LayoutOption {\n /** Unique identifier for the layout */\n value: string\n /** Display name in the editor */\n label: string\n /** Optional description shown in the editor */\n description?: string\n}\n\n/**\n * CSS class configuration for a layout\n */\nexport interface LayoutClasses {\n /** Classes applied to the outermost wrapper */\n wrapper?: string\n /** Classes applied to the main content container */\n container?: string\n /** Classes applied to the content area */\n content?: string\n}\n\n/**\n * Style configuration for a layout\n */\nexport interface LayoutStyles {\n /** Styles applied to the outermost wrapper */\n wrapper?: CSSProperties\n /** Styles applied to the main content container */\n container?: CSSProperties\n /** Styles applied to the content area */\n content?: CSSProperties\n}\n\n/**\n * Complete layout definition\n */\nexport interface LayoutDefinition extends LayoutOption {\n /** CSS classes to apply */\n classes?: LayoutClasses\n /** Inline styles to apply */\n styles?: LayoutStyles\n /** Custom wrapper component (overrides default rendering) */\n wrapper?: React.ComponentType<{ children: ReactNode }>\n /** Max width constraint (e.g., '1200px', '100%') */\n maxWidth?: string\n /** Whether the layout uses full viewport width */\n fullWidth?: boolean\n /** Additional data attributes to add */\n dataAttributes?: Record<string, string>\n /**\n * Header component to render above the page content.\n *\n * **Editor vs Render considerations:**\n * - Include in layouts for `PuckConfigProvider` so the editor iframe shows realistic preview\n * - For `PageRenderer`/`HybridPageRenderer`, consider using `createRenderLayouts()` to strip\n * header/footer if your host app's root layout already provides them (avoids double headers)\n *\n * @see createRenderLayouts\n */\n header?: ComponentType\n /**\n * Footer component to render below the page content.\n *\n * **Editor vs Render considerations:**\n * - Include in layouts for `PuckConfigProvider` so the editor iframe shows realistic preview\n * - For `PageRenderer`/`HybridPageRenderer`, consider using `createRenderLayouts()` to strip\n * header/footer if your host app's root layout already provides them (avoids double footers)\n *\n * @see createRenderLayouts\n */\n footer?: ComponentType\n /**\n * Background color/gradient for the editor preview.\n * Applied to the iframe body in the Puck editor.\n * @default '#ffffff'\n */\n editorBackground?: string\n /**\n * Whether this layout uses dark mode styling in the editor preview.\n * Controls text color and theme class on the iframe.\n * @default false\n */\n editorDarkMode?: boolean\n /**\n * Height of a sticky/fixed header in pixels.\n * Used to add padding-top to the content area in the editor preview\n * so content doesn't render behind the header.\n * @example 64 // for a 64px tall sticky header\n */\n stickyHeaderHeight?: number\n /**\n * Whether to push the footer to the bottom of the viewport.\n * Uses flexbox to ensure the footer stays at the bottom even when\n * page content is minimal. Set to `false` to allow footer to flow\n * naturally after content.\n * @default true\n */\n stickyFooter?: boolean\n /**\n * Additional stylesheet URLs to inject into the editor iframe for this layout.\n * Merged with stylesheets from PuckConfigProvider.\n * Use this for layout-specific styles that differ from the global editor styles.\n *\n * @example\n * ```tsx\n * {\n * value: 'landing',\n * label: 'Landing',\n * editorStylesheets: ['/landing-styles.css'],\n * }\n * ```\n */\n editorStylesheets?: string[]\n /**\n * Additional CSS to inject into the editor iframe for this layout.\n * Merged with CSS from PuckConfigProvider.\n * Use this for layout-specific CSS variables or style overrides.\n *\n * @example\n * ```tsx\n * {\n * value: 'dark-theme',\n * label: 'Dark Theme',\n * editorCss: ':root { --background: #1a1a1a; }',\n * }\n * ```\n */\n editorCss?: string\n}\n\n/**\n * Layout configuration passed to the plugin/renderer\n */\nexport interface LayoutConfig {\n /** Available layouts */\n layouts: LayoutDefinition[]\n /** Default layout value to use */\n defaultLayout?: string\n}\n\n/**\n * Props passed to a custom layout wrapper component\n */\nexport interface LayoutWrapperProps {\n children: ReactNode\n layout: LayoutDefinition\n pageTitle?: string\n}\n"],"names":[],"mappings":"AAAA;;;;CAIC,GAmJD;;CAEC,GACD,WAIC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Functions for working with layout configurations.
5
5
  */
6
- import type { LayoutDefinition, LayoutConfig, LayoutOption } from './types';
6
+ import type { LayoutDefinition, LayoutConfig, LayoutOption } from './types.js';
7
7
  /**
8
8
  * Resolves a layout config, merging with defaults if needed
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/layouts/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3E;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAOhF;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,SAAY,GACnB,gBAAgB,GAAG,SAAS,CAW9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE,CAM5E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EAAE,GAC1B,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAKzC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,GACA,gBAAgB,CAIlB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,gBAAgB,EAAE,EACxB,MAAM,EAAE,gBAAgB,EAAE,EAC1B,OAAO,CAAC,EAAE;IACR,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB,GACA,gBAAgB,EAAE,CAuBpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAEzF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/layouts/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9E;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAOhF;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,SAAY,GACnB,gBAAgB,GAAG,SAAS,CAW9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE,CAM5E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EAAE,GAC1B,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAKzC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,GACA,gBAAgB,CAIlB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,gBAAgB,EAAE,EACxB,MAAM,EAAE,gBAAgB,EAAE,EAC1B,OAAO,CAAC,EAAE;IACR,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB,GACA,gBAAgB,EAAE,CAuBpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAEzF"}
@@ -2,79 +2,71 @@
2
2
  * Layout Utilities
3
3
  *
4
4
  * Functions for working with layout configurations.
5
- */
6
- import { DEFAULT_LAYOUTS, DEFAULT_LAYOUT_CONFIG } from './defaults';
5
+ */ import { DEFAULT_LAYOUTS, DEFAULT_LAYOUT_CONFIG } from './defaults.js';
7
6
  /**
8
7
  * Resolves a layout config, merging with defaults if needed
9
- */
10
- export function resolveLayoutConfig(config) {
11
- if (!config)
12
- return DEFAULT_LAYOUT_CONFIG;
8
+ */ export function resolveLayoutConfig(config) {
9
+ if (!config) return DEFAULT_LAYOUT_CONFIG;
13
10
  return {
14
11
  layouts: config.layouts ?? DEFAULT_LAYOUTS,
15
- defaultLayout: config.defaultLayout ?? 'default',
12
+ defaultLayout: config.defaultLayout ?? 'default'
16
13
  };
17
14
  }
18
15
  /**
19
16
  * Gets a layout definition by value
20
- */
21
- export function getLayout(layouts, value, fallback = 'default') {
22
- const layout = layouts.find((l) => l.value === value);
23
- if (layout)
24
- return layout;
17
+ */ export function getLayout(layouts, value, fallback = 'default') {
18
+ const layout = layouts.find((l)=>l.value === value);
19
+ if (layout) return layout;
25
20
  // Try fallback
26
21
  if (value !== fallback) {
27
- return layouts.find((l) => l.value === fallback);
22
+ return layouts.find((l)=>l.value === fallback);
28
23
  }
29
24
  // Return first layout if nothing matches
30
25
  return layouts[0];
31
26
  }
32
27
  /**
33
28
  * Converts layout definitions to Puck select options
34
- */
35
- export function layoutsToOptions(layouts) {
36
- return layouts.map(({ value, label, description }) => ({
37
- value,
38
- label,
39
- description,
40
- }));
29
+ */ export function layoutsToOptions(layouts) {
30
+ return layouts.map(({ value, label, description })=>({
31
+ value,
32
+ label,
33
+ description
34
+ }));
41
35
  }
42
36
  /**
43
37
  * Converts layout definitions to Payload select options
44
- */
45
- export function layoutsToPayloadOptions(layouts) {
46
- return layouts.map(({ value, label }) => ({
47
- label,
48
- value,
49
- }));
38
+ */ export function layoutsToPayloadOptions(layouts) {
39
+ return layouts.map(({ value, label })=>({
40
+ label,
41
+ value
42
+ }));
50
43
  }
51
44
  /**
52
45
  * Creates a custom layout definition
53
- */
54
- export function createLayout(config) {
46
+ */ export function createLayout(config) {
55
47
  return {
56
- ...config,
48
+ ...config
57
49
  };
58
50
  }
59
51
  /**
60
52
  * Merges layout configurations
61
- */
62
- export function mergeLayouts(base, custom, options) {
53
+ */ export function mergeLayouts(base, custom, options) {
63
54
  if (options?.replace) {
64
55
  return custom;
65
56
  }
66
- let result = [...base];
57
+ let result = [
58
+ ...base
59
+ ];
67
60
  // Exclude specified layouts
68
61
  if (options?.exclude) {
69
- result = result.filter((l) => !options.exclude.includes(l.value));
62
+ result = result.filter((l)=>!options.exclude.includes(l.value));
70
63
  }
71
64
  // Merge/override with custom layouts
72
- for (const customLayout of custom) {
73
- const existingIndex = result.findIndex((l) => l.value === customLayout.value);
65
+ for (const customLayout of custom){
66
+ const existingIndex = result.findIndex((l)=>l.value === customLayout.value);
74
67
  if (existingIndex >= 0) {
75
68
  result[existingIndex] = customLayout;
76
- }
77
- else {
69
+ } else {
78
70
  result.push(customLayout);
79
71
  }
80
72
  }
@@ -113,8 +105,8 @@ export function mergeLayouts(base, custom, options) {
113
105
  *
114
106
  * @param editorLayouts - Layouts configured for the Puck editor (with header/footer)
115
107
  * @returns Layouts without header/footer components, suitable for PageRenderer/HybridPageRenderer
116
- */
117
- export function createRenderLayouts(editorLayouts) {
118
- return editorLayouts.map(({ header, footer, ...rest }) => rest);
108
+ */ export function createRenderLayouts(editorLayouts) {
109
+ return editorLayouts.map(({ header, footer, ...rest })=>rest);
119
110
  }
111
+
120
112
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/layouts/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/layouts/utils.ts"],"sourcesContent":["/**\n * Layout Utilities\n *\n * Functions for working with layout configurations.\n */\n\nimport type { LayoutDefinition, LayoutConfig, LayoutOption } from './types.js'\nimport { DEFAULT_LAYOUTS, DEFAULT_LAYOUT_CONFIG } from './defaults.js'\n\n/**\n * Resolves a layout config, merging with defaults if needed\n */\nexport function resolveLayoutConfig(config?: Partial<LayoutConfig>): LayoutConfig {\n if (!config) return DEFAULT_LAYOUT_CONFIG\n\n return {\n layouts: config.layouts ?? DEFAULT_LAYOUTS,\n defaultLayout: config.defaultLayout ?? 'default',\n }\n}\n\n/**\n * Gets a layout definition by value\n */\nexport function getLayout(\n layouts: LayoutDefinition[],\n value: string,\n fallback = 'default'\n): LayoutDefinition | undefined {\n const layout = layouts.find((l) => l.value === value)\n if (layout) return layout\n\n // Try fallback\n if (value !== fallback) {\n return layouts.find((l) => l.value === fallback)\n }\n\n // Return first layout if nothing matches\n return layouts[0]\n}\n\n/**\n * Converts layout definitions to Puck select options\n */\nexport function layoutsToOptions(layouts: LayoutDefinition[]): LayoutOption[] {\n return layouts.map(({ value, label, description }) => ({\n value,\n label,\n description,\n }))\n}\n\n/**\n * Converts layout definitions to Payload select options\n */\nexport function layoutsToPayloadOptions(\n layouts: LayoutDefinition[]\n): Array<{ label: string; value: string }> {\n return layouts.map(({ value, label }) => ({\n label,\n value,\n }))\n}\n\n/**\n * Creates a custom layout definition\n */\nexport function createLayout(\n config: Omit<LayoutDefinition, 'value' | 'label'> & {\n value: string\n label: string\n }\n): LayoutDefinition {\n return {\n ...config,\n }\n}\n\n/**\n * Merges layout configurations\n */\nexport function mergeLayouts(\n base: LayoutDefinition[],\n custom: LayoutDefinition[],\n options?: {\n /** Replace base layouts instead of merging */\n replace?: boolean\n /** Exclude these layout values from base */\n exclude?: string[]\n }\n): LayoutDefinition[] {\n if (options?.replace) {\n return custom\n }\n\n let result = [...base]\n\n // Exclude specified layouts\n if (options?.exclude) {\n result = result.filter((l) => !options.exclude!.includes(l.value))\n }\n\n // Merge/override with custom layouts\n for (const customLayout of custom) {\n const existingIndex = result.findIndex((l) => l.value === customLayout.value)\n if (existingIndex >= 0) {\n result[existingIndex] = customLayout\n } else {\n result.push(customLayout)\n }\n }\n\n return result\n}\n\n/**\n * Creates render-ready layouts by stripping header/footer components.\n *\n * Use this when your host application already provides a global header/footer\n * via its root layout (e.g., Next.js layout.tsx), and you want to avoid\n * double headers/footers when rendering Puck pages.\n *\n * **Why this exists:**\n * - Editor layouts need header/footer components for realistic preview in the Puck editor iframe\n * - Render layouts typically should NOT include header/footer since the host app provides them\n *\n * @example\n * ```tsx\n * // In your host app's page renderer:\n * import { HybridPageRenderer, createRenderLayouts } from '@delmaredigital/payload-puck/render'\n * import { siteLayouts } from '@/lib/puck-layouts' // layouts with header/footer for editor\n *\n * // Strip header/footer for rendering (host app layout provides them)\n * const renderLayouts = createRenderLayouts(siteLayouts)\n *\n * export function PageRenderer({ page }) {\n * return (\n * <HybridPageRenderer\n * page={page}\n * layouts={renderLayouts}\n * legacyRenderer={(blocks) => <BlockRenderer blocks={blocks} />}\n * />\n * )\n * }\n * ```\n *\n * @param editorLayouts - Layouts configured for the Puck editor (with header/footer)\n * @returns Layouts without header/footer components, suitable for PageRenderer/HybridPageRenderer\n */\nexport function createRenderLayouts(editorLayouts: LayoutDefinition[]): LayoutDefinition[] {\n return editorLayouts.map(({ header, footer, ...rest }) => rest)\n}\n"],"names":["DEFAULT_LAYOUTS","DEFAULT_LAYOUT_CONFIG","resolveLayoutConfig","config","layouts","defaultLayout","getLayout","value","fallback","layout","find","l","layoutsToOptions","map","label","description","layoutsToPayloadOptions","createLayout","mergeLayouts","base","custom","options","replace","result","exclude","filter","includes","customLayout","existingIndex","findIndex","push","createRenderLayouts","editorLayouts","header","footer","rest"],"mappings":"AAAA;;;;CAIC,GAGD,SAASA,eAAe,EAAEC,qBAAqB,QAAQ,gBAAe;AAEtE;;CAEC,GACD,OAAO,SAASC,oBAAoBC,MAA8B;IAChE,IAAI,CAACA,QAAQ,OAAOF;IAEpB,OAAO;QACLG,SAASD,OAAOC,OAAO,IAAIJ;QAC3BK,eAAeF,OAAOE,aAAa,IAAI;IACzC;AACF;AAEA;;CAEC,GACD,OAAO,SAASC,UACdF,OAA2B,EAC3BG,KAAa,EACbC,WAAW,SAAS;IAEpB,MAAMC,SAASL,QAAQM,IAAI,CAAC,CAACC,IAAMA,EAAEJ,KAAK,KAAKA;IAC/C,IAAIE,QAAQ,OAAOA;IAEnB,eAAe;IACf,IAAIF,UAAUC,UAAU;QACtB,OAAOJ,QAAQM,IAAI,CAAC,CAACC,IAAMA,EAAEJ,KAAK,KAAKC;IACzC;IAEA,yCAAyC;IACzC,OAAOJ,OAAO,CAAC,EAAE;AACnB;AAEA;;CAEC,GACD,OAAO,SAASQ,iBAAiBR,OAA2B;IAC1D,OAAOA,QAAQS,GAAG,CAAC,CAAC,EAAEN,KAAK,EAAEO,KAAK,EAAEC,WAAW,EAAE,GAAM,CAAA;YACrDR;YACAO;YACAC;QACF,CAAA;AACF;AAEA;;CAEC,GACD,OAAO,SAASC,wBACdZ,OAA2B;IAE3B,OAAOA,QAAQS,GAAG,CAAC,CAAC,EAAEN,KAAK,EAAEO,KAAK,EAAE,GAAM,CAAA;YACxCA;YACAP;QACF,CAAA;AACF;AAEA;;CAEC,GACD,OAAO,SAASU,aACdd,MAGC;IAED,OAAO;QACL,GAAGA,MAAM;IACX;AACF;AAEA;;CAEC,GACD,OAAO,SAASe,aACdC,IAAwB,EACxBC,MAA0B,EAC1BC,OAKC;IAED,IAAIA,SAASC,SAAS;QACpB,OAAOF;IACT;IAEA,IAAIG,SAAS;WAAIJ;KAAK;IAEtB,4BAA4B;IAC5B,IAAIE,SAASG,SAAS;QACpBD,SAASA,OAAOE,MAAM,CAAC,CAACd,IAAM,CAACU,QAAQG,OAAO,CAAEE,QAAQ,CAACf,EAAEJ,KAAK;IAClE;IAEA,qCAAqC;IACrC,KAAK,MAAMoB,gBAAgBP,OAAQ;QACjC,MAAMQ,gBAAgBL,OAAOM,SAAS,CAAC,CAAClB,IAAMA,EAAEJ,KAAK,KAAKoB,aAAapB,KAAK;QAC5E,IAAIqB,iBAAiB,GAAG;YACtBL,MAAM,CAACK,cAAc,GAAGD;QAC1B,OAAO;YACLJ,OAAOO,IAAI,CAACH;QACd;IACF;IAEA,OAAOJ;AACT;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCC,GACD,OAAO,SAASQ,oBAAoBC,aAAiC;IACnE,OAAOA,cAAcnB,GAAG,CAAC,CAAC,EAAEoB,MAAM,EAAEC,MAAM,EAAE,GAAGC,MAAM,GAAKA;AAC5D"}
@@ -15,23 +15,19 @@
15
15
  * cssInput: 'src/app/(frontend)/globals.css',
16
16
  * })(withPayload(nextConfig))
17
17
  * ```
18
- */
19
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
18
+ */ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
20
19
  import { dirname, resolve } from 'path';
21
20
  /**
22
21
  * Default output filename for compiled CSS
23
- */
24
- export const PUCK_CSS_OUTPUT_DEFAULT = 'puck-editor-styles.css';
22
+ */ export const PUCK_CSS_OUTPUT_DEFAULT = 'puck-editor-styles.css';
25
23
  /**
26
24
  * Compile CSS using PostCSS with the project's configuration
27
- */
28
- async function compileCss(css, filePath) {
25
+ */ async function compileCss(css, filePath) {
29
26
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
27
  let postcss;
31
28
  try {
32
29
  postcss = (await import('postcss')).default;
33
- }
34
- catch {
30
+ } catch {
35
31
  console.warn('[payload-puck] PostCSS not found. CSS will not be compiled.');
36
32
  return css;
37
33
  }
@@ -43,41 +39,42 @@ async function compileCss(css, filePath) {
43
39
  const postcssLoadConfig = loadConfigModule.default;
44
40
  const { plugins } = await postcssLoadConfig({}, process.cwd());
45
41
  processor = postcss(plugins);
46
- }
47
- catch {
42
+ } catch {
48
43
  // Fall back to direct Tailwind import
49
44
  try {
50
45
  const tailwindcss = (await import('@tailwindcss/postcss')).default;
51
- processor = postcss([tailwindcss]);
52
- }
53
- catch {
46
+ processor = postcss([
47
+ tailwindcss
48
+ ]);
49
+ } catch {
54
50
  try {
55
51
  const tailwindcss = (await import('tailwindcss')).default;
56
- processor = postcss([tailwindcss]);
57
- }
58
- catch {
52
+ processor = postcss([
53
+ tailwindcss
54
+ ]);
55
+ } catch {
59
56
  console.warn('[payload-puck] No Tailwind CSS found. CSS will not be compiled.');
60
57
  return css;
61
58
  }
62
59
  }
63
60
  }
64
- const result = await processor.process(css, { from: filePath });
61
+ const result = await processor.process(css, {
62
+ from: filePath
63
+ });
65
64
  return result.css;
66
65
  }
67
66
  /**
68
67
  * Webpack plugin that compiles CSS at build time
69
- */
70
- class PuckCSSWebpackPlugin {
68
+ */ class PuckCSSWebpackPlugin {
71
69
  options;
72
70
  compiled = false;
73
- constructor(options) {
71
+ constructor(options){
74
72
  this.options = options;
75
73
  }
76
74
  apply(compiler) {
77
- compiler.hooks.beforeCompile.tapPromise('PuckCSSWebpackPlugin', async () => {
75
+ compiler.hooks.beforeCompile.tapPromise('PuckCSSWebpackPlugin', async ()=>{
78
76
  // Only compile once per build
79
- if (this.compiled)
80
- return;
77
+ if (this.compiled) return;
81
78
  this.compiled = true;
82
79
  const { cssInput, cssOutput, skipInDev } = this.options;
83
80
  // Skip in development if configured
@@ -101,13 +98,14 @@ class PuckCSSWebpackPlugin {
101
98
  // Ensure public directory exists
102
99
  const outputDir = dirname(outputPath);
103
100
  if (!existsSync(outputDir)) {
104
- mkdirSync(outputDir, { recursive: true });
101
+ mkdirSync(outputDir, {
102
+ recursive: true
103
+ });
105
104
  }
106
105
  // Write compiled CSS
107
106
  writeFileSync(outputPath, compiledCss, 'utf-8');
108
107
  console.log(`[payload-puck] CSS compiled successfully (${(compiledCss.length / 1024).toFixed(1)}KB)`);
109
- }
110
- catch (error) {
108
+ } catch (error) {
111
109
  console.error('[payload-puck] CSS compilation failed:', error);
112
110
  }
113
111
  });
@@ -127,17 +125,16 @@ class PuckCSSWebpackPlugin {
127
125
  * cssInput: 'src/app/(frontend)/globals.css',
128
126
  * })(nextConfig)
129
127
  * ```
130
- */
131
- export function withPuckCSS(options) {
128
+ */ export function withPuckCSS(options) {
132
129
  const resolvedOptions = {
133
130
  cssInput: options.cssInput,
134
131
  cssOutput: options.cssOutput ?? PUCK_CSS_OUTPUT_DEFAULT,
135
- skipInDev: options.skipInDev ?? true,
132
+ skipInDev: options.skipInDev ?? true
136
133
  };
137
- return (nextConfig) => {
134
+ return (nextConfig)=>{
138
135
  return {
139
136
  ...nextConfig,
140
- webpack: (webpackConfig, context) => {
137
+ webpack: (webpackConfig, context)=>{
141
138
  // Add our CSS compilation plugin
142
139
  webpackConfig.plugins = webpackConfig.plugins || [];
143
140
  webpackConfig.plugins.push(new PuckCSSWebpackPlugin(resolvedOptions));
@@ -146,15 +143,15 @@ export function withPuckCSS(options) {
146
143
  return nextConfig.webpack(webpackConfig, context);
147
144
  }
148
145
  return webpackConfig;
149
- },
146
+ }
150
147
  };
151
148
  };
152
149
  }
153
150
  /**
154
151
  * Get the URL path for the compiled CSS file
155
152
  * Use this in your plugin configuration
156
- */
157
- export function getPuckCSSPath(cssOutput) {
153
+ */ export function getPuckCSSPath(cssOutput) {
158
154
  return `/${cssOutput ?? PUCK_CSS_OUTPUT_DEFAULT}`;
159
155
  }
156
+
160
157
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/next/index.ts"],"sourcesContent":["/**\n * Next.js Configuration Wrapper for Puck CSS\n *\n * Compiles CSS at build time using the project's PostCSS/Tailwind configuration.\n * This ensures the editor iframe styles work in production (Vercel, etc.) where\n * source files aren't available at runtime.\n *\n * @example\n * ```js\n * // next.config.js\n * import { withPuckCSS } from '@delmaredigital/payload-puck/next'\n * import { withPayload } from '@payloadcms/next/withPayload'\n *\n * export default withPuckCSS({\n * cssInput: 'src/app/(frontend)/globals.css',\n * })(withPayload(nextConfig))\n * ```\n */\n\nimport type { NextConfig } from 'next'\nimport { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs'\nimport { dirname, join, resolve } from 'path'\n\n/**\n * Options for the withPuckCSS wrapper\n */\nexport interface WithPuckCSSOptions {\n /**\n * Path to the source CSS file (relative to project root)\n * @example 'src/app/(frontend)/globals.css'\n */\n cssInput: string\n\n /**\n * Output path for compiled CSS (relative to public/)\n * @default 'puck-editor-styles.css'\n */\n cssOutput?: string\n\n /**\n * Whether to skip compilation in development\n * @default true\n */\n skipInDev?: boolean\n}\n\n/**\n * Default output filename for compiled CSS\n */\nexport const PUCK_CSS_OUTPUT_DEFAULT = 'puck-editor-styles.css'\n\n/**\n * Compile CSS using PostCSS with the project's configuration\n */\nasync function compileCss(css: string, filePath: string): Promise<string> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let postcss: any\n try {\n postcss = (await import('postcss')).default\n } catch {\n console.warn('[payload-puck] PostCSS not found. CSS will not be compiled.')\n return css\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let processor: any\n\n try {\n // Try to load project's postcss.config.js\n const loadConfigModule = await import('postcss-load-config')\n const postcssLoadConfig = loadConfigModule.default\n const { plugins } = await postcssLoadConfig({}, process.cwd())\n processor = postcss(plugins)\n } catch {\n // Fall back to direct Tailwind import\n try {\n const tailwindcss = (await import('@tailwindcss/postcss')).default\n processor = postcss([tailwindcss])\n } catch {\n try {\n const tailwindcss = (await import('tailwindcss')).default\n processor = postcss([tailwindcss])\n } catch {\n console.warn('[payload-puck] No Tailwind CSS found. CSS will not be compiled.')\n return css\n }\n }\n }\n\n const result = await processor.process(css, { from: filePath })\n return result.css\n}\n\n/**\n * Webpack plugin that compiles CSS at build time\n */\nclass PuckCSSWebpackPlugin {\n private options: Required<WithPuckCSSOptions>\n private compiled = false\n\n constructor(options: Required<WithPuckCSSOptions>) {\n this.options = options\n }\n\n apply(compiler: { hooks: { beforeCompile: { tapPromise: (name: string, fn: () => Promise<void>) => void } } }) {\n compiler.hooks.beforeCompile.tapPromise('PuckCSSWebpackPlugin', async () => {\n // Only compile once per build\n if (this.compiled) return\n this.compiled = true\n\n const { cssInput, cssOutput, skipInDev } = this.options\n\n // Skip in development if configured\n if (skipInDev && process.env.NODE_ENV === 'development') {\n console.log('[payload-puck] Skipping CSS compilation in development')\n return\n }\n\n const inputPath = resolve(process.cwd(), cssInput)\n const outputPath = resolve(process.cwd(), 'public', cssOutput)\n\n // Check if source file exists\n if (!existsSync(inputPath)) {\n console.error(`[payload-puck] CSS source file not found: ${inputPath}`)\n return\n }\n\n try {\n console.log(`[payload-puck] Compiling CSS: ${cssInput} -> public/${cssOutput}`)\n\n // Read source CSS\n const rawCss = readFileSync(inputPath, 'utf-8')\n\n // Compile with PostCSS/Tailwind\n const compiledCss = await compileCss(rawCss, inputPath)\n\n // Ensure public directory exists\n const outputDir = dirname(outputPath)\n if (!existsSync(outputDir)) {\n mkdirSync(outputDir, { recursive: true })\n }\n\n // Write compiled CSS\n writeFileSync(outputPath, compiledCss, 'utf-8')\n\n console.log(`[payload-puck] CSS compiled successfully (${(compiledCss.length / 1024).toFixed(1)}KB)`)\n } catch (error) {\n console.error('[payload-puck] CSS compilation failed:', error)\n }\n })\n }\n}\n\n/**\n * Next.js configuration wrapper that compiles Puck editor CSS at build time\n *\n * @param options - Configuration options\n * @returns A function that wraps your Next.js config\n *\n * @example\n * ```js\n * import { withPuckCSS } from '@delmaredigital/payload-puck/next'\n *\n * export default withPuckCSS({\n * cssInput: 'src/app/(frontend)/globals.css',\n * })(nextConfig)\n * ```\n */\nexport function withPuckCSS(options: WithPuckCSSOptions) {\n const resolvedOptions: Required<WithPuckCSSOptions> = {\n cssInput: options.cssInput,\n cssOutput: options.cssOutput ?? PUCK_CSS_OUTPUT_DEFAULT,\n skipInDev: options.skipInDev ?? true,\n }\n\n return (nextConfig: NextConfig): NextConfig => {\n return {\n ...nextConfig,\n webpack: (webpackConfig, context) => {\n // Add our CSS compilation plugin\n webpackConfig.plugins = webpackConfig.plugins || []\n webpackConfig.plugins.push(new PuckCSSWebpackPlugin(resolvedOptions))\n\n // Call existing webpack config if present\n if (typeof nextConfig.webpack === 'function') {\n return nextConfig.webpack(webpackConfig, context)\n }\n\n return webpackConfig\n },\n }\n }\n}\n\n/**\n * Get the URL path for the compiled CSS file\n * Use this in your plugin configuration\n */\nexport function getPuckCSSPath(cssOutput?: string): string {\n return `/${cssOutput ?? PUCK_CSS_OUTPUT_DEFAULT}`\n}\n"],"names":["existsSync","mkdirSync","readFileSync","writeFileSync","dirname","resolve","PUCK_CSS_OUTPUT_DEFAULT","compileCss","css","filePath","postcss","default","console","warn","processor","loadConfigModule","postcssLoadConfig","plugins","process","cwd","tailwindcss","result","from","PuckCSSWebpackPlugin","options","compiled","apply","compiler","hooks","beforeCompile","tapPromise","cssInput","cssOutput","skipInDev","env","NODE_ENV","log","inputPath","outputPath","error","rawCss","compiledCss","outputDir","recursive","length","toFixed","withPuckCSS","resolvedOptions","nextConfig","webpack","webpackConfig","context","push","getPuckCSSPath"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { CollectionConfig } from 'payload';
2
- import type { PuckPluginOptions } from '../../types';
2
+ import type { PuckPluginOptions } from '../../types/index.js';
3
3
  /**
4
4
  * Generates a Pages collection configuration for Puck
5
5
  */
6
6
  export declare function generatePagesCollection(slug: string, options: PuckPluginOptions): CollectionConfig;
7
- export { puckDataField } from '../fields';
7
+ export { puckDataField } from '../fields/index.js';
8
8
  //# sourceMappingURL=Pages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pages.d.ts","sourceRoot":"","sources":["../../../src/plugin/collections/Pages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAkBpD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CAuIlB;AAID,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"Pages.d.ts","sourceRoot":"","sources":["../../../src/plugin/collections/Pages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAkB7D;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CAuIlB;AAID,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA"}