@delmaredigital/payload-puck 0.6.12 → 0.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. package/README.md +50 -1
  2. package/dist/admin/EditWithPuckButton.d.ts +1 -1
  3. package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
  4. package/dist/admin/EditWithPuckButton.js +65 -25
  5. package/dist/admin/EditWithPuckButton.js.map +1 -1
  6. package/dist/admin/EditWithPuckCell.js +43 -13
  7. package/dist/admin/EditWithPuckCell.js.map +1 -1
  8. package/dist/admin/PuckEditorView.d.ts +1 -1
  9. package/dist/admin/PuckEditorView.d.ts.map +1 -1
  10. package/dist/admin/PuckEditorView.js +118 -32
  11. package/dist/admin/PuckEditorView.js.map +1 -1
  12. package/dist/admin/client.d.ts +2 -2
  13. package/dist/admin/client.d.ts.map +1 -1
  14. package/dist/admin/client.js +4 -4
  15. package/dist/admin/client.js.map +1 -1
  16. package/dist/admin/generateAdminComponents.js +7 -7
  17. package/dist/admin/generateAdminComponents.js.map +1 -1
  18. package/dist/admin/index.d.ts +5 -5
  19. package/dist/admin/index.d.ts.map +1 -1
  20. package/dist/admin/index.js +3 -2
  21. package/dist/admin/index.js.map +1 -1
  22. package/dist/ai/collections/AiContext.js +56 -29
  23. package/dist/ai/collections/AiContext.js.map +1 -1
  24. package/dist/ai/collections/AiPrompts.js +24 -19
  25. package/dist/ai/collections/AiPrompts.js.map +1 -1
  26. package/dist/ai/createAiApiRoutes.js +28 -19
  27. package/dist/ai/createAiApiRoutes.js.map +1 -1
  28. package/dist/ai/createAiGenerate.js +7 -8
  29. package/dist/ai/createAiGenerate.js.map +1 -1
  30. package/dist/ai/createAiPlugin.js +7 -9
  31. package/dist/ai/createAiPlugin.js.map +1 -1
  32. package/dist/ai/hooks/useAiContext.js +50 -39
  33. package/dist/ai/hooks/useAiContext.js.map +1 -1
  34. package/dist/ai/hooks/useAiPrompts.js +33 -25
  35. package/dist/ai/hooks/useAiPrompts.js.map +1 -1
  36. package/dist/ai/index.js +9 -10
  37. package/dist/ai/index.js.map +1 -1
  38. package/dist/ai/plugins/ContextEditorPanel.d.ts +1 -1
  39. package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -1
  40. package/dist/ai/plugins/ContextEditorPanel.js +399 -107
  41. package/dist/ai/plugins/ContextEditorPanel.js.map +1 -1
  42. package/dist/ai/plugins/PromptEditorPanel.d.ts +1 -1
  43. package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -1
  44. package/dist/ai/plugins/PromptEditorPanel.js +237 -51
  45. package/dist/ai/plugins/PromptEditorPanel.js.map +1 -1
  46. package/dist/ai/plugins/contextEditorPlugin.js +12 -5
  47. package/dist/ai/plugins/contextEditorPlugin.js.map +1 -1
  48. package/dist/ai/plugins/promptApiRoutes.js +119 -50
  49. package/dist/ai/plugins/promptApiRoutes.js.map +1 -1
  50. package/dist/ai/plugins/promptEditorPlugin.js +12 -5
  51. package/dist/ai/plugins/promptEditorPlugin.js.map +1 -1
  52. package/dist/ai/presets/componentAiDefaults.js +108 -83
  53. package/dist/ai/presets/componentAiDefaults.js.map +1 -1
  54. package/dist/ai/presets/index.js +12 -18
  55. package/dist/ai/presets/index.js.map +1 -1
  56. package/dist/ai/presets/instructions/interactive.js +85 -75
  57. package/dist/ai/presets/instructions/interactive.js.map +1 -1
  58. package/dist/ai/presets/instructions/layout.js +122 -117
  59. package/dist/ai/presets/instructions/layout.js.map +1 -1
  60. package/dist/ai/presets/instructions/media.js +31 -29
  61. package/dist/ai/presets/instructions/media.js.map +1 -1
  62. package/dist/ai/presets/instructions/pagePatterns.js +4 -6
  63. package/dist/ai/presets/instructions/pagePatterns.js.map +1 -1
  64. package/dist/ai/presets/instructions/schemas.js +495 -137
  65. package/dist/ai/presets/instructions/schemas.js.map +1 -1
  66. package/dist/ai/presets/instructions/typography.js +38 -33
  67. package/dist/ai/presets/instructions/typography.js.map +1 -1
  68. package/dist/ai/tools/index.js +92 -55
  69. package/dist/ai/tools/index.js.map +1 -1
  70. package/dist/ai/types.js +7 -1
  71. package/dist/ai/types.js.map +1 -1
  72. package/dist/ai/utils/injectAiConfig.js +33 -40
  73. package/dist/ai/utils/injectAiConfig.js.map +1 -1
  74. package/dist/api/createPuckApiRoutes.d.ts +1 -1
  75. package/dist/api/createPuckApiRoutes.d.ts.map +1 -1
  76. package/dist/api/createPuckApiRoutes.js +123 -65
  77. package/dist/api/createPuckApiRoutes.js.map +1 -1
  78. package/dist/api/createPuckApiRoutesVersions.d.ts +1 -1
  79. package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -1
  80. package/dist/api/createPuckApiRoutesVersions.js +88 -37
  81. package/dist/api/createPuckApiRoutesVersions.js.map +1 -1
  82. package/dist/api/createPuckApiRoutesWithId.d.ts +1 -1
  83. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
  84. package/dist/api/createPuckApiRoutesWithId.js +166 -72
  85. package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
  86. package/dist/api/index.d.ts +5 -5
  87. package/dist/api/index.d.ts.map +1 -1
  88. package/dist/api/index.js +6 -6
  89. package/dist/api/index.js.map +1 -1
  90. package/dist/api/payload-config.d.js +15 -0
  91. package/dist/api/payload-config.d.js.map +1 -0
  92. package/dist/api/types.js +4 -1
  93. package/dist/api/types.js.map +1 -1
  94. package/dist/api/utils/mapRootProps.d.ts +1 -1
  95. package/dist/api/utils/mapRootProps.d.ts.map +1 -1
  96. package/dist/api/utils/mapRootProps.js +77 -44
  97. package/dist/api/utils/mapRootProps.js.map +1 -1
  98. package/dist/collections/Templates.js +24 -20
  99. package/dist/collections/Templates.js.map +1 -1
  100. package/dist/components/AccordionClient.d.ts +2 -2
  101. package/dist/components/AccordionClient.d.ts.map +1 -1
  102. package/dist/components/AccordionClient.js +81 -22
  103. package/dist/components/AccordionClient.js.map +1 -1
  104. package/dist/components/AnimatedWrapper.d.ts +2 -2
  105. package/dist/components/AnimatedWrapper.d.ts.map +1 -1
  106. package/dist/components/AnimatedWrapper.js +31 -16
  107. package/dist/components/AnimatedWrapper.js.map +1 -1
  108. package/dist/components/exports.js +2 -2
  109. package/dist/components/exports.js.map +1 -1
  110. package/dist/components/index.d.ts +5 -5
  111. package/dist/components/index.d.ts.map +1 -1
  112. package/dist/components/index.js +7 -7
  113. package/dist/components/index.js.map +1 -1
  114. package/dist/components/interactive/Accordion.d.ts +1 -1
  115. package/dist/components/interactive/Accordion.d.ts.map +1 -1
  116. package/dist/components/interactive/Accordion.js +149 -55
  117. package/dist/components/interactive/Accordion.js.map +1 -1
  118. package/dist/components/interactive/Accordion.server.d.ts +1 -1
  119. package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
  120. package/dist/components/interactive/Accordion.server.js +25 -7
  121. package/dist/components/interactive/Accordion.server.js.map +1 -1
  122. package/dist/components/interactive/Button.d.ts +3 -3
  123. package/dist/components/interactive/Button.d.ts.map +1 -1
  124. package/dist/components/interactive/Button.js +89 -43
  125. package/dist/components/interactive/Button.js.map +1 -1
  126. package/dist/components/interactive/Button.server.d.ts +2 -2
  127. package/dist/components/interactive/Button.server.d.ts.map +1 -1
  128. package/dist/components/interactive/Button.server.js +40 -20
  129. package/dist/components/interactive/Button.server.js.map +1 -1
  130. package/dist/components/interactive/Card.d.ts +3 -3
  131. package/dist/components/interactive/Card.d.ts.map +1 -1
  132. package/dist/components/interactive/Card.js +131 -39
  133. package/dist/components/interactive/Card.js.map +1 -1
  134. package/dist/components/interactive/Card.server.d.ts +3 -3
  135. package/dist/components/interactive/Card.server.d.ts.map +1 -1
  136. package/dist/components/interactive/Card.server.js +72 -11
  137. package/dist/components/interactive/Card.server.js.map +1 -1
  138. package/dist/components/interactive/Divider.d.ts +1 -1
  139. package/dist/components/interactive/Divider.d.ts.map +1 -1
  140. package/dist/components/interactive/Divider.js +54 -26
  141. package/dist/components/interactive/Divider.js.map +1 -1
  142. package/dist/components/interactive/Divider.server.d.ts +1 -1
  143. package/dist/components/interactive/Divider.server.d.ts.map +1 -1
  144. package/dist/components/interactive/Divider.server.js +28 -12
  145. package/dist/components/interactive/Divider.server.js.map +1 -1
  146. package/dist/components/interactive/index.d.ts +4 -4
  147. package/dist/components/interactive/index.d.ts.map +1 -1
  148. package/dist/components/interactive/index.js +5 -5
  149. package/dist/components/interactive/index.js.map +1 -1
  150. package/dist/components/layout/Container.d.ts +1 -1
  151. package/dist/components/layout/Container.d.ts.map +1 -1
  152. package/dist/components/layout/Container.js +101 -47
  153. package/dist/components/layout/Container.js.map +1 -1
  154. package/dist/components/layout/Container.server.d.ts +1 -1
  155. package/dist/components/layout/Container.server.d.ts.map +1 -1
  156. package/dist/components/layout/Container.server.js +67 -19
  157. package/dist/components/layout/Container.server.js.map +1 -1
  158. package/dist/components/layout/Flex.d.ts +2 -2
  159. package/dist/components/layout/Flex.d.ts.map +1 -1
  160. package/dist/components/layout/Flex.js +124 -55
  161. package/dist/components/layout/Flex.js.map +1 -1
  162. package/dist/components/layout/Flex.server.d.ts +1 -1
  163. package/dist/components/layout/Flex.server.d.ts.map +1 -1
  164. package/dist/components/layout/Flex.server.js +50 -14
  165. package/dist/components/layout/Flex.server.js.map +1 -1
  166. package/dist/components/layout/Grid.d.ts +1 -1
  167. package/dist/components/layout/Grid.d.ts.map +1 -1
  168. package/dist/components/layout/Grid.js +93 -44
  169. package/dist/components/layout/Grid.js.map +1 -1
  170. package/dist/components/layout/Grid.server.d.ts +1 -1
  171. package/dist/components/layout/Grid.server.d.ts.map +1 -1
  172. package/dist/components/layout/Grid.server.js +56 -14
  173. package/dist/components/layout/Grid.server.js.map +1 -1
  174. package/dist/components/layout/Section.d.ts +1 -1
  175. package/dist/components/layout/Section.d.ts.map +1 -1
  176. package/dist/components/layout/Section.js +147 -64
  177. package/dist/components/layout/Section.js.map +1 -1
  178. package/dist/components/layout/Section.server.d.ts +1 -1
  179. package/dist/components/layout/Section.server.d.ts.map +1 -1
  180. package/dist/components/layout/Section.server.js +92 -28
  181. package/dist/components/layout/Section.server.js.map +1 -1
  182. package/dist/components/layout/Spacer.d.ts +1 -1
  183. package/dist/components/layout/Spacer.d.ts.map +1 -1
  184. package/dist/components/layout/Spacer.js +80 -30
  185. package/dist/components/layout/Spacer.js.map +1 -1
  186. package/dist/components/layout/Spacer.server.d.ts +1 -1
  187. package/dist/components/layout/Spacer.server.d.ts.map +1 -1
  188. package/dist/components/layout/Spacer.server.js +31 -9
  189. package/dist/components/layout/Spacer.server.js.map +1 -1
  190. package/dist/components/layout/Template.d.ts +1 -1
  191. package/dist/components/layout/Template.d.ts.map +1 -1
  192. package/dist/components/layout/Template.js +58 -30
  193. package/dist/components/layout/Template.js.map +1 -1
  194. package/dist/components/layout/Template.server.d.ts +1 -1
  195. package/dist/components/layout/Template.server.d.ts.map +1 -1
  196. package/dist/components/layout/Template.server.js +43 -11
  197. package/dist/components/layout/Template.server.js.map +1 -1
  198. package/dist/components/layout/index.d.ts +8 -8
  199. package/dist/components/layout/index.d.ts.map +1 -1
  200. package/dist/components/layout/index.js +8 -8
  201. package/dist/components/layout/index.js.map +1 -1
  202. package/dist/components/media/Image.d.ts +3 -3
  203. package/dist/components/media/Image.d.ts.map +1 -1
  204. package/dist/components/media/Image.js +122 -39
  205. package/dist/components/media/Image.js.map +1 -1
  206. package/dist/components/media/Image.server.d.ts +3 -3
  207. package/dist/components/media/Image.server.d.ts.map +1 -1
  208. package/dist/components/media/Image.server.js +76 -13
  209. package/dist/components/media/Image.server.js.map +1 -1
  210. package/dist/components/media/index.d.ts +1 -1
  211. package/dist/components/media/index.d.ts.map +1 -1
  212. package/dist/components/media/index.js +2 -2
  213. package/dist/components/media/index.js.map +1 -1
  214. package/dist/components/typography/Heading.d.ts +2 -2
  215. package/dist/components/typography/Heading.d.ts.map +1 -1
  216. package/dist/components/typography/Heading.js +45 -25
  217. package/dist/components/typography/Heading.js.map +1 -1
  218. package/dist/components/typography/Heading.server.d.ts +2 -2
  219. package/dist/components/typography/Heading.server.d.ts.map +1 -1
  220. package/dist/components/typography/Heading.server.js +16 -10
  221. package/dist/components/typography/Heading.server.js.map +1 -1
  222. package/dist/components/typography/RichText.editor.d.ts +1 -1
  223. package/dist/components/typography/RichText.editor.d.ts.map +1 -1
  224. package/dist/components/typography/RichText.editor.js +44 -19
  225. package/dist/components/typography/RichText.editor.js.map +1 -1
  226. package/dist/components/typography/RichText.server.d.ts +2 -2
  227. package/dist/components/typography/RichText.server.d.ts.map +1 -1
  228. package/dist/components/typography/RichText.server.js +33 -14
  229. package/dist/components/typography/RichText.server.js.map +1 -1
  230. package/dist/components/typography/Text.d.ts +2 -2
  231. package/dist/components/typography/Text.d.ts.map +1 -1
  232. package/dist/components/typography/Text.js +49 -23
  233. package/dist/components/typography/Text.js.map +1 -1
  234. package/dist/components/typography/Text.server.d.ts +2 -2
  235. package/dist/components/typography/Text.server.d.ts.map +1 -1
  236. package/dist/components/typography/Text.server.js +21 -8
  237. package/dist/components/typography/Text.server.js.map +1 -1
  238. package/dist/components/typography/index.d.ts +4 -4
  239. package/dist/components/typography/index.d.ts.map +1 -1
  240. package/dist/components/typography/index.js +5 -5
  241. package/dist/components/typography/index.js.map +1 -1
  242. package/dist/config/config.editor.d.ts +3 -3
  243. package/dist/config/config.editor.d.ts.map +1 -1
  244. package/dist/config/config.editor.js +119 -54
  245. package/dist/config/config.editor.js.map +1 -1
  246. package/dist/config/index.d.ts +4 -4
  247. package/dist/config/index.d.ts.map +1 -1
  248. package/dist/config/index.js +62 -35
  249. package/dist/config/index.js.map +1 -1
  250. package/dist/config/merge.d.ts +1 -1
  251. package/dist/config/merge.d.ts.map +1 -1
  252. package/dist/config/merge.js +23 -26
  253. package/dist/config/merge.js.map +1 -1
  254. package/dist/config/presets.d.ts +4 -4
  255. package/dist/config/presets.js +195 -75
  256. package/dist/config/presets.js.map +1 -1
  257. package/dist/config/types.js +6 -2
  258. package/dist/config/types.js.map +1 -1
  259. package/dist/editor/PuckEditor.d.ts +4 -4
  260. package/dist/editor/PuckEditor.d.ts.map +1 -1
  261. package/dist/editor/PuckEditor.js +162 -70
  262. package/dist/editor/PuckEditor.js.map +1 -1
  263. package/dist/editor/PuckEditorImpl.client.d.ts +4 -4
  264. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
  265. package/dist/editor/PuckEditorImpl.client.js +304 -152
  266. package/dist/editor/PuckEditorImpl.client.js.map +1 -1
  267. package/dist/editor/components/DarkModeStyles.js +11 -12
  268. package/dist/editor/components/DarkModeStyles.js.map +1 -1
  269. package/dist/editor/components/HeaderActions.js +308 -64
  270. package/dist/editor/components/HeaderActions.js.map +1 -1
  271. package/dist/editor/components/IframeWrapper.d.ts +1 -1
  272. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  273. package/dist/editor/components/IframeWrapper.js +82 -58
  274. package/dist/editor/components/IframeWrapper.js.map +1 -1
  275. package/dist/editor/components/LoadingState.d.ts +1 -1
  276. package/dist/editor/components/LoadingState.d.ts.map +1 -1
  277. package/dist/editor/components/LoadingState.js +17 -3
  278. package/dist/editor/components/LoadingState.js.map +1 -1
  279. package/dist/editor/components/PreviewModal.js +234 -78
  280. package/dist/editor/components/PreviewModal.js.map +1 -1
  281. package/dist/editor/components/PreviewModeToggle.js +43 -15
  282. package/dist/editor/components/PreviewModeToggle.js.map +1 -1
  283. package/dist/editor/components/VersionHistory.js +219 -71
  284. package/dist/editor/components/VersionHistory.js.map +1 -1
  285. package/dist/editor/hooks/useDarkMode.js +36 -23
  286. package/dist/editor/hooks/useDarkMode.js.map +1 -1
  287. package/dist/editor/hooks/useUnsavedChanges.js +8 -8
  288. package/dist/editor/hooks/useUnsavedChanges.js.map +1 -1
  289. package/dist/editor/index.js +5 -6
  290. package/dist/editor/index.js.map +1 -1
  291. package/dist/editor/plugins/VersionHistoryPanel.js +236 -75
  292. package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -1
  293. package/dist/editor/plugins/index.js +4 -4
  294. package/dist/editor/plugins/index.js.map +1 -1
  295. package/dist/editor/plugins/versionHistoryPlugin.js +10 -8
  296. package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -1
  297. package/dist/editor/utils/detectPageTree.js +5 -5
  298. package/dist/editor/utils/detectPageTree.js.map +1 -1
  299. package/dist/editor/utils/index.js +1 -0
  300. package/dist/editor/utils/index.js.map +1 -1
  301. package/dist/editor/utils/injectPageTreeFields.js +13 -9
  302. package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
  303. package/dist/endpoints/ai.js +58 -34
  304. package/dist/endpoints/ai.js.map +1 -1
  305. package/dist/endpoints/context.js +86 -40
  306. package/dist/endpoints/context.js.map +1 -1
  307. package/dist/endpoints/index.js +153 -76
  308. package/dist/endpoints/index.js.map +1 -1
  309. package/dist/endpoints/postcss.d.js +5 -0
  310. package/dist/endpoints/postcss.d.js.map +1 -0
  311. package/dist/endpoints/prompts.js +81 -39
  312. package/dist/endpoints/prompts.js.map +1 -1
  313. package/dist/endpoints/styles.js +34 -36
  314. package/dist/endpoints/styles.js.map +1 -1
  315. package/dist/exports/client.js +2 -2
  316. package/dist/exports/client.js.map +1 -1
  317. package/dist/exports/rsc.js +2 -2
  318. package/dist/exports/rsc.js.map +1 -1
  319. package/dist/fields/AlignmentField.d.ts +1 -1
  320. package/dist/fields/AlignmentField.d.ts.map +1 -1
  321. package/dist/fields/AlignmentField.js +93 -30
  322. package/dist/fields/AlignmentField.js.map +1 -1
  323. package/dist/fields/AnimationField.d.ts +2 -2
  324. package/dist/fields/AnimationField.d.ts.map +1 -1
  325. package/dist/fields/AnimationField.js +558 -84
  326. package/dist/fields/AnimationField.js.map +1 -1
  327. package/dist/fields/BackgroundField.d.ts +2 -2
  328. package/dist/fields/BackgroundField.d.ts.map +1 -1
  329. package/dist/fields/BackgroundField.js +754 -120
  330. package/dist/fields/BackgroundField.js.map +1 -1
  331. package/dist/fields/BorderField.d.ts +2 -2
  332. package/dist/fields/BorderField.d.ts.map +1 -1
  333. package/dist/fields/BorderField.js +275 -73
  334. package/dist/fields/BorderField.js.map +1 -1
  335. package/dist/fields/ColorPickerField.d.ts +2 -2
  336. package/dist/fields/ColorPickerField.d.ts.map +1 -1
  337. package/dist/fields/ColorPickerField.js +210 -68
  338. package/dist/fields/ColorPickerField.js.map +1 -1
  339. package/dist/fields/ContentAlignmentField.d.ts +1 -1
  340. package/dist/fields/ContentAlignmentField.d.ts.map +1 -1
  341. package/dist/fields/ContentAlignmentField.js +161 -75
  342. package/dist/fields/ContentAlignmentField.js.map +1 -1
  343. package/dist/fields/DimensionsField.d.ts +2 -2
  344. package/dist/fields/DimensionsField.d.ts.map +1 -1
  345. package/dist/fields/DimensionsField.js +575 -146
  346. package/dist/fields/DimensionsField.js.map +1 -1
  347. package/dist/fields/FlexAlignmentField.d.ts +2 -2
  348. package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
  349. package/dist/fields/FlexAlignmentField.js +189 -51
  350. package/dist/fields/FlexAlignmentField.js.map +1 -1
  351. package/dist/fields/FolderPickerField.d.ts +8 -1
  352. package/dist/fields/FolderPickerField.d.ts.map +1 -1
  353. package/dist/fields/FolderPickerField.js +288 -75
  354. package/dist/fields/FolderPickerField.js.map +1 -1
  355. package/dist/fields/GradientEditor.d.ts +2 -2
  356. package/dist/fields/GradientEditor.d.ts.map +1 -1
  357. package/dist/fields/GradientEditor.js +462 -86
  358. package/dist/fields/GradientEditor.js.map +1 -1
  359. package/dist/fields/LockedField.d.ts +15 -2
  360. package/dist/fields/LockedField.d.ts.map +1 -1
  361. package/dist/fields/LockedField.js +180 -49
  362. package/dist/fields/LockedField.js.map +1 -1
  363. package/dist/fields/MarginField.d.ts +2 -2
  364. package/dist/fields/MarginField.d.ts.map +1 -1
  365. package/dist/fields/MarginField.js +144 -46
  366. package/dist/fields/MarginField.js.map +1 -1
  367. package/dist/fields/MediaField.d.ts +1 -1
  368. package/dist/fields/MediaField.d.ts.map +1 -1
  369. package/dist/fields/MediaField.js +688 -186
  370. package/dist/fields/MediaField.js.map +1 -1
  371. package/dist/fields/PaddingField.d.ts +2 -2
  372. package/dist/fields/PaddingField.d.ts.map +1 -1
  373. package/dist/fields/PaddingField.js +144 -46
  374. package/dist/fields/PaddingField.js.map +1 -1
  375. package/dist/fields/PageSegmentField.d.ts +15 -2
  376. package/dist/fields/PageSegmentField.d.ts.map +1 -1
  377. package/dist/fields/PageSegmentField.js +156 -54
  378. package/dist/fields/PageSegmentField.js.map +1 -1
  379. package/dist/fields/ResetField.d.ts +1 -1
  380. package/dist/fields/ResetField.d.ts.map +1 -1
  381. package/dist/fields/ResetField.js +59 -31
  382. package/dist/fields/ResetField.js.map +1 -1
  383. package/dist/fields/ResponsiveField.d.ts +1 -1
  384. package/dist/fields/ResponsiveField.d.ts.map +1 -1
  385. package/dist/fields/ResponsiveField.js +233 -90
  386. package/dist/fields/ResponsiveField.js.map +1 -1
  387. package/dist/fields/ResponsiveVisibilityField.d.ts +2 -2
  388. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
  389. package/dist/fields/ResponsiveVisibilityField.js +119 -36
  390. package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
  391. package/dist/fields/SizeField.d.ts +3 -3
  392. package/dist/fields/SizeField.d.ts.map +1 -1
  393. package/dist/fields/SizeField.js +226 -52
  394. package/dist/fields/SizeField.js.map +1 -1
  395. package/dist/fields/SlugPreviewField.d.ts +8 -1
  396. package/dist/fields/SlugPreviewField.d.ts.map +1 -1
  397. package/dist/fields/SlugPreviewField.js +65 -16
  398. package/dist/fields/SlugPreviewField.js.map +1 -1
  399. package/dist/fields/TemplateField.d.ts +1 -1
  400. package/dist/fields/TemplateField.d.ts.map +1 -1
  401. package/dist/fields/TemplateField.js +362 -120
  402. package/dist/fields/TemplateField.js.map +1 -1
  403. package/dist/fields/TransformField.d.ts +2 -2
  404. package/dist/fields/TransformField.d.ts.map +1 -1
  405. package/dist/fields/TransformField.js +517 -81
  406. package/dist/fields/TransformField.js.map +1 -1
  407. package/dist/fields/VerticalAlignmentField.d.ts +1 -1
  408. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
  409. package/dist/fields/VerticalAlignmentField.js +93 -30
  410. package/dist/fields/VerticalAlignmentField.js.map +1 -1
  411. package/dist/fields/WidthField.d.ts +2 -2
  412. package/dist/fields/WidthField.d.ts.map +1 -1
  413. package/dist/fields/WidthField.js +278 -81
  414. package/dist/fields/WidthField.js.map +1 -1
  415. package/dist/fields/index.d.ts +41 -41
  416. package/dist/fields/index.d.ts.map +1 -1
  417. package/dist/fields/index.js +37 -43
  418. package/dist/fields/index.js.map +1 -1
  419. package/dist/fields/richtext/controls/ColorPickerControl.d.ts +13 -2
  420. package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
  421. package/dist/fields/richtext/controls/ColorPickerControl.js +212 -47
  422. package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
  423. package/dist/fields/richtext/controls/DropdownPortal.d.ts +2 -2
  424. package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -1
  425. package/dist/fields/richtext/controls/DropdownPortal.js +36 -4
  426. package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -1
  427. package/dist/fields/richtext/controls/FontSizeControl.d.ts +9 -1
  428. package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
  429. package/dist/fields/richtext/controls/FontSizeControl.js +109 -24
  430. package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
  431. package/dist/fields/richtext/controls/HighlightControl.d.ts +12 -1
  432. package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
  433. package/dist/fields/richtext/controls/HighlightControl.js +54 -17
  434. package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
  435. package/dist/fields/richtext/controls/index.d.ts +5 -5
  436. package/dist/fields/richtext/controls/index.d.ts.map +1 -1
  437. package/dist/fields/richtext/controls/index.js +8 -11
  438. package/dist/fields/richtext/controls/index.js.map +1 -1
  439. package/dist/fields/richtext/controls/shared.js +108 -63
  440. package/dist/fields/richtext/controls/shared.js.map +1 -1
  441. package/dist/fields/richtext/createRichTextField.d.ts +18 -4
  442. package/dist/fields/richtext/createRichTextField.d.ts.map +1 -1
  443. package/dist/fields/richtext/createRichTextField.js +113 -26
  444. package/dist/fields/richtext/createRichTextField.js.map +1 -1
  445. package/dist/fields/richtext/extensions/FontSize.js +26 -20
  446. package/dist/fields/richtext/extensions/FontSize.js.map +1 -1
  447. package/dist/fields/richtext/extensions/index.d.ts +1 -1
  448. package/dist/fields/richtext/extensions/index.d.ts.map +1 -1
  449. package/dist/fields/richtext/extensions/index.js +2 -2
  450. package/dist/fields/richtext/extensions/index.js.map +1 -1
  451. package/dist/fields/richtext/index.d.ts +6 -6
  452. package/dist/fields/richtext/index.d.ts.map +1 -1
  453. package/dist/fields/richtext/index.js +8 -8
  454. package/dist/fields/richtext/index.js.map +1 -1
  455. package/dist/fields/shared.d.ts +1 -1
  456. package/dist/fields/shared.d.ts.map +1 -1
  457. package/dist/fields/shared.js +915 -478
  458. package/dist/fields/shared.js.map +1 -1
  459. package/dist/hooks/index.d.ts +2 -2
  460. package/dist/hooks/index.d.ts.map +1 -1
  461. package/dist/hooks/index.js +3 -3
  462. package/dist/hooks/index.js.map +1 -1
  463. package/dist/hooks/useResponsiveStyles.d.ts +1 -1
  464. package/dist/hooks/useResponsiveStyles.d.ts.map +1 -1
  465. package/dist/hooks/useResponsiveStyles.js +36 -32
  466. package/dist/hooks/useResponsiveStyles.js.map +1 -1
  467. package/dist/hooks/useScrollAnimation.js +26 -24
  468. package/dist/hooks/useScrollAnimation.js.map +1 -1
  469. package/dist/index.d.ts +4 -4
  470. package/dist/index.d.ts.map +1 -1
  471. package/dist/index.js +5 -5
  472. package/dist/index.js.map +1 -1
  473. package/dist/layouts/LayoutWrapper.d.ts +3 -3
  474. package/dist/layouts/LayoutWrapper.d.ts.map +1 -1
  475. package/dist/layouts/LayoutWrapper.js +115 -51
  476. package/dist/layouts/LayoutWrapper.js.map +1 -1
  477. package/dist/layouts/defaults.d.ts +1 -1
  478. package/dist/layouts/defaults.d.ts.map +1 -1
  479. package/dist/layouts/defaults.js +23 -31
  480. package/dist/layouts/defaults.js.map +1 -1
  481. package/dist/layouts/index.d.ts +4 -4
  482. package/dist/layouts/index.d.ts.map +1 -1
  483. package/dist/layouts/index.js +5 -4
  484. package/dist/layouts/index.js.map +1 -1
  485. package/dist/layouts/types.js +4 -2
  486. package/dist/layouts/types.js.map +1 -1
  487. package/dist/layouts/utils.d.ts +1 -1
  488. package/dist/layouts/utils.d.ts.map +1 -1
  489. package/dist/layouts/utils.js +32 -40
  490. package/dist/layouts/utils.js.map +1 -1
  491. package/dist/next/index.js +31 -34
  492. package/dist/next/index.js.map +1 -1
  493. package/dist/plugin/collections/Pages.d.ts +2 -2
  494. package/dist/plugin/collections/Pages.d.ts.map +1 -1
  495. package/dist/plugin/collections/Pages.js +46 -43
  496. package/dist/plugin/collections/Pages.js.map +1 -1
  497. package/dist/plugin/fields/index.d.ts +3 -3
  498. package/dist/plugin/fields/index.d.ts.map +1 -1
  499. package/dist/plugin/fields/index.js +100 -78
  500. package/dist/plugin/fields/index.js.map +1 -1
  501. package/dist/plugin/fields/types.d.ts +1 -1
  502. package/dist/plugin/fields/types.d.ts.map +1 -1
  503. package/dist/plugin/fields/types.js +26 -2
  504. package/dist/plugin/fields/types.js.map +1 -1
  505. package/dist/plugin/hooks/index.d.ts +1 -1
  506. package/dist/plugin/hooks/index.d.ts.map +1 -1
  507. package/dist/plugin/hooks/index.js +2 -2
  508. package/dist/plugin/hooks/index.js.map +1 -1
  509. package/dist/plugin/hooks/isHomepageUnique.js +28 -19
  510. package/dist/plugin/hooks/isHomepageUnique.js.map +1 -1
  511. package/dist/plugin/index.d.ts +8 -8
  512. package/dist/plugin/index.d.ts.map +1 -1
  513. package/dist/plugin/index.js +190 -188
  514. package/dist/plugin/index.js.map +1 -1
  515. package/dist/render/HybridPageRenderer.d.ts +2 -2
  516. package/dist/render/HybridPageRenderer.d.ts.map +1 -1
  517. package/dist/render/HybridPageRenderer.js +58 -10
  518. package/dist/render/HybridPageRenderer.js.map +1 -1
  519. package/dist/render/PageRenderer.d.ts +2 -2
  520. package/dist/render/PageRenderer.d.ts.map +1 -1
  521. package/dist/render/PageRenderer.js +31 -14
  522. package/dist/render/PageRenderer.js.map +1 -1
  523. package/dist/render/PuckEditor.client.d.ts +1 -1
  524. package/dist/render/PuckEditor.client.d.ts.map +1 -1
  525. package/dist/render/PuckEditor.client.js +33 -16
  526. package/dist/render/PuckEditor.client.js.map +1 -1
  527. package/dist/render/index.d.ts +5 -5
  528. package/dist/render/index.d.ts.map +1 -1
  529. package/dist/render/index.js +5 -6
  530. package/dist/render/index.js.map +1 -1
  531. package/dist/styles/puck-dark-mode.css +101 -0
  532. package/dist/theme/context.d.ts +2 -2
  533. package/dist/theme/context.d.ts.map +1 -1
  534. package/dist/theme/context.js +21 -18
  535. package/dist/theme/context.js.map +1 -1
  536. package/dist/theme/defaults.d.ts +1 -1
  537. package/dist/theme/defaults.d.ts.map +1 -1
  538. package/dist/theme/defaults.js +83 -37
  539. package/dist/theme/defaults.js.map +1 -1
  540. package/dist/theme/example.d.ts +1 -1
  541. package/dist/theme/example.d.ts.map +1 -1
  542. package/dist/theme/example.js +68 -30
  543. package/dist/theme/example.js.map +1 -1
  544. package/dist/theme/index.d.ts +5 -5
  545. package/dist/theme/index.d.ts.map +1 -1
  546. package/dist/theme/index.js +6 -5
  547. package/dist/theme/index.js.map +1 -1
  548. package/dist/theme/types.js +6 -2
  549. package/dist/theme/types.js.map +1 -1
  550. package/dist/theme/utils.d.ts +1 -1
  551. package/dist/theme/utils.d.ts.map +1 -1
  552. package/dist/theme/utils.js +24 -25
  553. package/dist/theme/utils.js.map +1 -1
  554. package/dist/types/index.d.ts +6 -6
  555. package/dist/types/index.d.ts.map +1 -1
  556. package/dist/types/index.js +3 -1
  557. package/dist/types/index.js.map +1 -1
  558. package/dist/utils/index.d.ts +2 -2
  559. package/dist/utils/index.d.ts.map +1 -1
  560. package/dist/utils/index.js +13 -22
  561. package/dist/utils/index.js.map +1 -1
  562. package/dist/utils/migration.d.ts +1 -1
  563. package/dist/utils/migration.d.ts.map +1 -1
  564. package/dist/utils/migration.js +43 -49
  565. package/dist/utils/migration.js.map +1 -1
  566. package/dist/utils/validation.d.ts +1 -1
  567. package/dist/utils/validation.d.ts.map +1 -1
  568. package/dist/utils/validation.js +36 -43
  569. package/dist/utils/validation.js.map +1 -1
  570. package/dist/version.d.ts +1 -1
  571. package/dist/version.js +2 -1
  572. package/dist/version.js.map +1 -1
  573. package/dist/views/PuckConfigContext.d.ts +1 -1
  574. package/dist/views/PuckConfigContext.d.ts.map +1 -1
  575. package/dist/views/PuckConfigContext.js +25 -10
  576. package/dist/views/PuckConfigContext.js.map +1 -1
  577. package/dist/views/PuckEditorView.d.ts +1 -1
  578. package/dist/views/PuckEditorView.d.ts.map +1 -1
  579. package/dist/views/PuckEditorView.js +106 -38
  580. package/dist/views/PuckEditorView.js.map +1 -1
  581. package/dist/views/index.js +2 -2
  582. package/dist/views/index.js.map +1 -1
  583. package/package.json +62 -42
@@ -1,4 +1,4 @@
1
- import { backgroundSchema, borderSchema, responsivePaddingSchema, responsiveDimensionsSchema, animationSchema, visibilitySchema, justifyContentSchema, alignItemsSchema, } from './schemas.js';
1
+ import { backgroundSchema, borderSchema, responsivePaddingSchema, responsiveDimensionsSchema, animationSchema, visibilitySchema, justifyContentSchema, alignItemsSchema } from './schemas.js';
2
2
  /**
3
3
  * Comprehensive AI instructions for layout components
4
4
  *
@@ -7,8 +7,7 @@ import { backgroundSchema, borderSchema, responsivePaddingSchema, responsiveDime
7
7
  * - How to nest and compose layouts
8
8
  * - Correct field names and recommended values
9
9
  * - Common page structure patterns
10
- */
11
- export const layoutInstructions = {
10
+ */ export const layoutInstructions = {
12
11
  Section: {
13
12
  ai: {
14
13
  instructions: `Section component - the primary building block for page sections.
@@ -42,24 +41,24 @@ RECOMMENDED VALUES:
42
41
  COMPOSITION:
43
42
  - Section > Container (for text-heavy content)
44
43
  - Section > Flex (for grouped elements)
45
- - Section > Grid (for card layouts)`,
44
+ - Section > Grid (for card layouts)`
46
45
  },
47
46
  fields: {
48
47
  content: {
49
48
  ai: {
50
49
  required: true,
51
- instructions: 'Slot for child components. Add Container, Flex, Grid, or individual components here.',
52
- },
50
+ instructions: 'Slot for child components. Add Container, Flex, Grid, or individual components here.'
51
+ }
53
52
  },
54
53
  semanticElement: {
55
54
  ai: {
56
- instructions: "HTML element type. Use 'section' (default) for most cases, 'header' for page header, 'footer' for page footer, 'main' for primary content.",
57
- },
55
+ instructions: "HTML element type. Use 'section' (default) for most cases, 'header' for page header, 'footer' for page footer, 'main' for primary content."
56
+ }
58
57
  },
59
58
  id: {
60
59
  ai: {
61
- instructions: 'Optional ID for anchor links. Use lowercase-with-dashes format, e.g., "features", "about-us", "contact".',
62
- },
60
+ instructions: 'Optional ID for anchor links. Use lowercase-with-dashes format, e.g., "features", "about-us", "contact".'
61
+ }
63
62
  },
64
63
  sectionBackground: {
65
64
  ai: {
@@ -67,67 +66,67 @@ COMPOSITION:
67
66
  Use for: Hero sections (dark/gradient), CTA sections (brand color), alternating section backgrounds.
68
67
  Example solid: { type: 'solid', solid: { hex: '#1e293b' } }
69
68
  Example gradient: { type: 'gradient', gradient: { type: 'linear', angle: 135, stops: [{ color: { hex: '#3b82f6' }, position: 0 }, { color: { hex: '#8b5cf6' }, position: 100 }] } }`,
70
- schema: backgroundSchema,
71
- },
69
+ schema: backgroundSchema
70
+ }
72
71
  },
73
72
  sectionPadding: {
74
73
  ai: {
75
74
  instructions: `Vertical/horizontal padding for the section. Controls breathing room.
76
75
  Hero sections: 80-96px top/bottom. Standard sections: 48-64px. Dense: 32-48px.
77
76
  Example: { xs: { top: 64, right: 0, bottom: 64, left: 0, unit: 'px', linked: false } }`,
78
- schema: responsivePaddingSchema,
79
- },
77
+ schema: responsivePaddingSchema
78
+ }
80
79
  },
81
80
  sectionMargin: {
82
81
  ai: {
83
82
  instructions: `Margin around the section. Usually leave null - use sectionPadding for internal spacing.`,
84
- schema: responsivePaddingSchema,
85
- },
83
+ schema: responsivePaddingSchema
84
+ }
86
85
  },
87
86
  contentDimensions: {
88
87
  ai: {
89
88
  instructions: `Inner content width constraints. Default is 1200px max-width centered.
90
89
  Example: { xs: { mode: 'contained', maxWidth: { value: 1200, unit: 'px', enabled: true }, alignment: 'center' } }
91
90
  Use narrower (800-900px) for text-heavy content like blog posts.`,
92
- schema: responsiveDimensionsSchema,
93
- },
91
+ schema: responsiveDimensionsSchema
92
+ }
94
93
  },
95
94
  contentBackground: {
96
95
  ai: {
97
96
  instructions: `Background for the inner content area (not full-width). Use for card-like treatments within sections.
98
97
  Example: { type: 'solid', solid: { hex: '#ffffff' } }`,
99
- schema: backgroundSchema,
100
- },
98
+ schema: backgroundSchema
99
+ }
101
100
  },
102
101
  contentPadding: {
103
102
  ai: {
104
103
  instructions: `Padding for the inner content area.
105
104
  Example: { xs: { top: 24, right: 24, bottom: 24, left: 24, unit: 'px', linked: true } }`,
106
- schema: responsivePaddingSchema,
107
- },
105
+ schema: responsivePaddingSchema
106
+ }
108
107
  },
109
108
  contentBorder: {
110
109
  ai: {
111
110
  instructions: `Border for the inner content area. Use for card-like treatments.
112
111
  Example: { style: 'solid', width: 1, color: { hex: '#e5e7eb' }, radius: 8, sides: { top: true, right: true, bottom: true, left: true } }`,
113
- schema: borderSchema,
114
- },
112
+ schema: borderSchema
113
+ }
115
114
  },
116
115
  animation: {
117
116
  ai: {
118
117
  instructions: `Entrance animation for the section. Use sparingly for key sections like heroes.
119
118
  Example: { mode: 'preset', entrance: 'fade-up', entranceDuration: 600, triggerOnScroll: true, triggerOnce: true }`,
120
- schema: animationSchema,
121
- },
119
+ schema: animationSchema
120
+ }
122
121
  },
123
122
  visibility: {
124
123
  ai: {
125
124
  instructions: `Show/hide at different breakpoints.
126
125
  Example: { xs: true, sm: true, md: true, lg: true, xl: true }`,
127
- schema: visibilitySchema,
128
- },
129
- },
130
- },
126
+ schema: visibilitySchema
127
+ }
128
+ }
129
+ }
131
130
  },
132
131
  Container: {
133
132
  ai: {
@@ -155,70 +154,70 @@ WHEN NOT TO USE:
155
154
 
156
155
  COMPOSITION:
157
156
  - Section > Container > Heading + Text (for centered text blocks)
158
- - Section > Container > RichText (for long-form content)`,
157
+ - Section > Container > RichText (for long-form content)`
159
158
  },
160
159
  fields: {
161
160
  content: {
162
161
  ai: {
163
162
  required: true,
164
- instructions: 'Slot for child components.',
165
- },
163
+ instructions: 'Slot for child components.'
164
+ }
166
165
  },
167
166
  semanticElement: {
168
167
  ai: {
169
- instructions: "HTML element type: 'div' (default), 'article', 'aside', 'section'.",
170
- },
168
+ instructions: "HTML element type: 'div' (default), 'article', 'aside', 'section'."
169
+ }
171
170
  },
172
171
  background: {
173
172
  ai: {
174
173
  instructions: `Background color, gradient, or image. Use for card-like content blocks or visual emphasis.
175
174
  Example: { type: 'solid', solid: { hex: '#f8fafc' } }`,
176
- schema: backgroundSchema,
177
- },
175
+ schema: backgroundSchema
176
+ }
178
177
  },
179
178
  border: {
180
179
  ai: {
181
180
  instructions: `Border styling. Use for card treatments or visual separation.
182
181
  Example: { style: 'solid', width: 1, color: { hex: '#e5e7eb' }, radius: 12, sides: { top: true, right: true, bottom: true, left: true } }`,
183
- schema: borderSchema,
184
- },
182
+ schema: borderSchema
183
+ }
185
184
  },
186
185
  padding: {
187
186
  ai: {
188
187
  instructions: `Internal padding.
189
188
  Example: { xs: { top: 24, right: 24, bottom: 24, left: 24, unit: 'px', linked: true } }`,
190
- schema: responsivePaddingSchema,
191
- },
189
+ schema: responsivePaddingSchema
190
+ }
192
191
  },
193
192
  dimensions: {
194
193
  ai: {
195
194
  instructions: `Width/height constraints.
196
195
  Example: { xs: { mode: 'contained', maxWidth: { value: 800, unit: 'px', enabled: true }, alignment: 'center' } }`,
197
- schema: responsiveDimensionsSchema,
198
- },
196
+ schema: responsiveDimensionsSchema
197
+ }
199
198
  },
200
199
  margin: {
201
200
  ai: {
202
201
  instructions: `Margin outside the container.
203
202
  Example: { xs: { top: 0, right: 0, bottom: 24, left: 0, unit: 'px', linked: false } }`,
204
- schema: responsivePaddingSchema,
205
- },
203
+ schema: responsivePaddingSchema
204
+ }
206
205
  },
207
206
  animation: {
208
207
  ai: {
209
208
  instructions: `Entrance animation for the container. Use for key content blocks.
210
209
  Example: { mode: 'preset', entrance: 'fade-up', entranceDuration: 500, triggerOnScroll: true, triggerOnce: true }`,
211
- schema: animationSchema,
212
- },
210
+ schema: animationSchema
211
+ }
213
212
  },
214
213
  visibility: {
215
214
  ai: {
216
215
  instructions: `Show/hide at different breakpoints.
217
216
  Example: { xs: true, sm: true, md: true, lg: true, xl: true }`,
218
- schema: visibilitySchema,
219
- },
220
- },
221
- },
217
+ schema: visibilitySchema
218
+ }
219
+ }
220
+ }
222
221
  },
223
222
  Flex: {
224
223
  ai: {
@@ -249,97 +248,97 @@ RECOMMENDED VALUES:
249
248
  COMPOSITION:
250
249
  - Section > Flex (column, center) > Content (for centered section content)
251
250
  - Flex (row) > Button + Button (for button groups)
252
- - Grid > Flex (column) > Content (for grid item content)`,
251
+ - Grid > Flex (column) > Content (for grid item content)`
253
252
  },
254
253
  fields: {
255
254
  content: {
256
255
  ai: {
257
256
  required: true,
258
- instructions: 'Slot for child components. Cannot contain Section components.',
259
- },
257
+ instructions: 'Slot for child components. Cannot contain Section components.'
258
+ }
260
259
  },
261
260
  direction: {
262
261
  ai: {
263
- instructions: "'row' for horizontal layout, 'column' for vertical stacking. Default: row.",
264
- },
262
+ instructions: "'row' for horizontal layout, 'column' for vertical stacking. Default: row."
263
+ }
265
264
  },
266
265
  justifyContent: {
267
266
  ai: {
268
267
  instructions: "Controls horizontal distribution: 'flex-start', 'center', 'flex-end', 'space-between', 'space-around'.",
269
- schema: justifyContentSchema,
270
- },
268
+ schema: justifyContentSchema
269
+ }
271
270
  },
272
271
  alignItems: {
273
272
  ai: {
274
273
  instructions: "Controls vertical alignment: 'flex-start', 'center', 'flex-end', 'stretch'.",
275
- schema: alignItemsSchema,
276
- },
274
+ schema: alignItemsSchema
275
+ }
277
276
  },
278
277
  gap: {
279
278
  ai: {
280
- instructions: 'Space between items in pixels. Common values: 8, 16, 24, 32.',
281
- },
279
+ instructions: 'Space between items in pixels. Common values: 8, 16, 24, 32.'
280
+ }
282
281
  },
283
282
  wrap: {
284
283
  ai: {
285
- instructions: "'wrap' allows items to wrap to new lines, 'nowrap' keeps them on one line.",
286
- },
284
+ instructions: "'wrap' allows items to wrap to new lines, 'nowrap' keeps them on one line."
285
+ }
287
286
  },
288
287
  semanticElement: {
289
288
  ai: {
290
- instructions: "'div' (default), 'nav' for navigation, 'ul'/'ol' for lists.",
291
- },
289
+ instructions: "'div' (default), 'nav' for navigation, 'ul'/'ol' for lists."
290
+ }
292
291
  },
293
292
  background: {
294
293
  ai: {
295
294
  instructions: `Background for the flex container. Use for grouped content with visual separation.
296
295
  Example: { type: 'solid', solid: { hex: '#f1f5f9' } }`,
297
- schema: backgroundSchema,
298
- },
296
+ schema: backgroundSchema
297
+ }
299
298
  },
300
299
  border: {
301
300
  ai: {
302
301
  instructions: `Border styling for the flex container.
303
302
  Example: { style: 'solid', width: 1, color: { hex: '#e2e8f0' }, radius: 8, sides: { top: true, right: true, bottom: true, left: true } }`,
304
- schema: borderSchema,
305
- },
303
+ schema: borderSchema
304
+ }
306
305
  },
307
306
  customPadding: {
308
307
  ai: {
309
308
  instructions: `Padding inside the flex container.
310
309
  Example: { xs: { top: 16, right: 16, bottom: 16, left: 16, unit: 'px', linked: true } }`,
311
- schema: responsivePaddingSchema,
312
- },
310
+ schema: responsivePaddingSchema
311
+ }
313
312
  },
314
313
  margin: {
315
314
  ai: {
316
315
  instructions: `Margin outside the flex container.
317
316
  Example: { xs: { top: 0, right: 0, bottom: 24, left: 0, unit: 'px', linked: false } }`,
318
- schema: responsivePaddingSchema,
319
- },
317
+ schema: responsivePaddingSchema
318
+ }
320
319
  },
321
320
  dimensions: {
322
321
  ai: {
323
322
  instructions: `Width/height constraints for the flex container.
324
323
  Example: { xs: { mode: 'contained', maxWidth: { value: 600, unit: 'px', enabled: true }, alignment: 'center' } }`,
325
- schema: responsiveDimensionsSchema,
326
- },
324
+ schema: responsiveDimensionsSchema
325
+ }
327
326
  },
328
327
  animation: {
329
328
  ai: {
330
329
  instructions: `Entrance animation for the flex container. Use for key content groups.
331
330
  Example: { mode: 'preset', entrance: 'fade-up', entranceDuration: 500, triggerOnScroll: true, triggerOnce: true }`,
332
- schema: animationSchema,
333
- },
331
+ schema: animationSchema
332
+ }
334
333
  },
335
334
  visibility: {
336
335
  ai: {
337
336
  instructions: `Show/hide at different breakpoints.
338
337
  Example: { xs: true, sm: true, md: true, lg: true, xl: true }`,
339
- schema: visibilitySchema,
340
- },
341
- },
342
- },
338
+ schema: visibilitySchema
339
+ }
340
+ }
341
+ }
343
342
  },
344
343
  Grid: {
345
344
  ai: {
@@ -367,80 +366,80 @@ RECOMMENDED VALUES:
367
366
 
368
367
  COMPOSITION:
369
368
  - Section > Grid > Cards (for feature/team sections)
370
- - Section > Heading + Grid > Items (for titled grid sections)`,
369
+ - Section > Heading + Grid > Items (for titled grid sections)`
371
370
  },
372
371
  fields: {
373
372
  content: {
374
373
  ai: {
375
374
  required: true,
376
- instructions: 'Slot for child components (usually Cards). Cannot contain Section components.',
377
- },
375
+ instructions: 'Slot for child components (usually Cards). Cannot contain Section components.'
376
+ }
378
377
  },
379
378
  numColumns: {
380
379
  ai: {
381
- instructions: 'Number of columns (1-12). Common: 2, 3, or 4. Default: 3.',
382
- },
380
+ instructions: 'Number of columns (1-12). Common: 2, 3, or 4. Default: 3.'
381
+ }
383
382
  },
384
383
  gap: {
385
384
  ai: {
386
- instructions: 'Space between grid items in pixels. Common: 16, 24, 32. Default: 16.',
387
- },
385
+ instructions: 'Space between grid items in pixels. Common: 16, 24, 32. Default: 16.'
386
+ }
388
387
  },
389
388
  semanticElement: {
390
389
  ai: {
391
- instructions: "'div' (default), 'ul' or 'ol' for list semantics.",
392
- },
390
+ instructions: "'div' (default), 'ul' or 'ol' for list semantics."
391
+ }
393
392
  },
394
393
  background: {
395
394
  ai: {
396
395
  instructions: `Background for the grid container. Use for grouped content with visual emphasis.
397
396
  Example: { type: 'solid', solid: { hex: '#fafafa' } }`,
398
- schema: backgroundSchema,
399
- },
397
+ schema: backgroundSchema
398
+ }
400
399
  },
401
400
  border: {
402
401
  ai: {
403
402
  instructions: `Border styling for the grid container.
404
403
  Example: { style: 'solid', width: 1, color: { hex: '#e5e7eb' }, radius: 16, sides: { top: true, right: true, bottom: true, left: true } }`,
405
- schema: borderSchema,
406
- },
404
+ schema: borderSchema
405
+ }
407
406
  },
408
407
  customPadding: {
409
408
  ai: {
410
409
  instructions: `Padding inside the grid container.
411
410
  Example: { xs: { top: 24, right: 24, bottom: 24, left: 24, unit: 'px', linked: true } }`,
412
- schema: responsivePaddingSchema,
413
- },
411
+ schema: responsivePaddingSchema
412
+ }
414
413
  },
415
414
  margin: {
416
415
  ai: {
417
416
  instructions: `Margin outside the grid container.
418
417
  Example: { xs: { top: 0, right: 0, bottom: 24, left: 0, unit: 'px', linked: false } }`,
419
- schema: responsivePaddingSchema,
420
- },
418
+ schema: responsivePaddingSchema
419
+ }
421
420
  },
422
421
  dimensions: {
423
422
  ai: {
424
423
  instructions: `Width/height constraints for the grid container.
425
424
  Example: { xs: { mode: 'contained', maxWidth: { value: 1000, unit: 'px', enabled: true }, alignment: 'center' } }`,
426
- schema: responsiveDimensionsSchema,
427
- },
425
+ schema: responsiveDimensionsSchema
426
+ }
428
427
  },
429
428
  animation: {
430
429
  ai: {
431
430
  instructions: `Entrance animation for the grid container. Use for key content groups.
432
431
  Example: { mode: 'preset', entrance: 'fade-up', entranceDuration: 500, triggerOnScroll: true, triggerOnce: true }`,
433
- schema: animationSchema,
434
- },
432
+ schema: animationSchema
433
+ }
435
434
  },
436
435
  visibility: {
437
436
  ai: {
438
437
  instructions: `Show/hide at different breakpoints.
439
438
  Example: { xs: true, sm: true, md: true, lg: true, xl: true }`,
440
- schema: visibilitySchema,
441
- },
442
- },
443
- },
439
+ schema: visibilitySchema
440
+ }
441
+ }
442
+ }
444
443
  },
445
444
  Spacer: {
446
445
  ai: {
@@ -463,24 +462,30 @@ WHEN TO USE:
463
462
 
464
463
  WHEN NOT TO USE:
465
464
  - Don't overuse - proper component spacing should suffice
466
- - Not for separating sections (use Section padding instead)`,
465
+ - Not for separating sections (use Section padding instead)`
467
466
  },
468
467
  fields: {
469
468
  size: {
470
469
  ai: {
471
- instructions: 'Space in pixels: 8, 16, 24, 32 (small), 48, 64 (medium), 80, 96, 128 (large).',
472
- },
470
+ instructions: 'Space in pixels: 8, 16, 24, 32 (small), 48, 64 (medium), 80, 96, 128 (large).'
471
+ }
473
472
  },
474
473
  direction: {
475
474
  ai: {
476
- instructions: "'vertical' (default), 'horizontal', or 'both'.",
477
- },
478
- },
479
- },
480
- },
475
+ instructions: "'vertical' (default), 'horizontal', or 'both'."
476
+ }
477
+ }
478
+ }
479
+ }
481
480
  };
482
481
  /**
483
482
  * Layout component names for reference
484
- */
485
- export const layoutComponents = ['Section', 'Container', 'Flex', 'Grid', 'Spacer'];
483
+ */ export const layoutComponents = [
484
+ 'Section',
485
+ 'Container',
486
+ 'Flex',
487
+ 'Grid',
488
+ 'Spacer'
489
+ ];
490
+
486
491
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../src/ai/presets/instructions/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/ai/presets/instructions/layout.ts"],"sourcesContent":["import type { ComponentAiOverrides } from '../../types.js'\nimport {\n backgroundSchema,\n borderSchema,\n responsivePaddingSchema,\n responsiveDimensionsSchema,\n animationSchema,\n visibilitySchema,\n justifyContentSchema,\n alignItemsSchema,\n} from './schemas.js'\n\n/**\n * Comprehensive AI instructions for layout components\n *\n * These instructions teach the AI:\n * - When to use each layout component\n * - How to nest and compose layouts\n * - Correct field names and recommended values\n * - Common page structure patterns\n */\n\nexport const layoutInstructions: ComponentAiOverrides = {\n Section: {\n ai: {\n instructions: `Section component - the primary building block for page sections.\n\nPURPOSE:\n- Creates distinct page sections with full-width backgrounds\n- Two-layer architecture: outer section (full-bleed) + inner content (constrained)\n- Every major page section should be wrapped in a Section\n\nARCHITECTURE:\n- Outer layer (section): Full viewport width, holds background color/image\n- Inner layer (content): Constrained max-width, centered, holds actual content\n\nUSAGE GUIDELINES:\n- Use Section as the outermost wrapper for every page section\n- NEVER nest Section inside Flex or Grid (only at root level)\n- Set sectionBackground for full-width colored backgrounds\n- Use contentDimensions to control inner content width (default: 1200px)\n\nCOMMON PATTERNS:\n- Hero Section: Dark/gradient sectionBackground, large sectionPadding\n- Feature Section: Light/white background, medium padding\n- CTA Section: Contrasting accent color background\n- Alternating sections: Alternate background colors for visual rhythm\n\nRECOMMENDED VALUES:\n- sectionPadding: { xs: { top: 48, right: 0, bottom: 48, left: 0, unit: 'px', linked: false } } for standard sections\n- sectionPadding: { xs: { top: 80, right: 0, bottom: 80, left: 0, unit: 'px', linked: false } } for hero sections\n- contentDimensions: { xs: { mode: 'contained', maxWidth: { value: 1200, unit: 'px', enabled: true }, alignment: 'center' } }\n\nCOMPOSITION:\n- Section > Container (for text-heavy content)\n- Section > Flex (for grouped elements)\n- Section > Grid (for card layouts)`,\n },\n fields: {\n content: {\n ai: {\n required: true,\n instructions:\n 'Slot for child components. Add Container, Flex, Grid, or individual components here.',\n },\n },\n semanticElement: {\n ai: {\n instructions:\n \"HTML element type. Use 'section' (default) for most cases, 'header' for page header, 'footer' for page footer, 'main' for primary content.\",\n },\n },\n id: {\n ai: {\n instructions:\n 'Optional ID for anchor links. Use lowercase-with-dashes format, e.g., \"features\", \"about-us\", \"contact\".',\n },\n },\n sectionBackground: {\n ai: {\n instructions: `Full-width background for the section. Supports solid colors and gradients.\nUse for: Hero sections (dark/gradient), CTA sections (brand color), alternating section backgrounds.\nExample solid: { type: 'solid', solid: { hex: '#1e293b' } }\nExample gradient: { type: 'gradient', gradient: { type: 'linear', angle: 135, stops: [{ color: { hex: '#3b82f6' }, position: 0 }, { color: { hex: '#8b5cf6' }, position: 100 }] } }`,\n schema: backgroundSchema,\n },\n },\n sectionPadding: {\n ai: {\n instructions: `Vertical/horizontal padding for the section. Controls breathing room.\nHero sections: 80-96px top/bottom. Standard sections: 48-64px. Dense: 32-48px.\nExample: { xs: { top: 64, right: 0, bottom: 64, left: 0, unit: 'px', linked: false } }`,\n schema: responsivePaddingSchema,\n },\n },\n sectionMargin: {\n ai: {\n instructions: `Margin around the section. Usually leave null - use sectionPadding for internal spacing.`,\n schema: responsivePaddingSchema,\n },\n },\n contentDimensions: {\n ai: {\n instructions: `Inner content width constraints. Default is 1200px max-width centered.\nExample: { xs: { mode: 'contained', maxWidth: { value: 1200, unit: 'px', enabled: true }, alignment: 'center' } }\nUse narrower (800-900px) for text-heavy content like blog posts.`,\n schema: responsiveDimensionsSchema,\n },\n },\n contentBackground: {\n ai: {\n instructions: `Background for the inner content area (not full-width). Use for card-like treatments within sections.\nExample: { type: 'solid', solid: { hex: '#ffffff' } }`,\n schema: backgroundSchema,\n },\n },\n contentPadding: {\n ai: {\n instructions: `Padding for the inner content area.\nExample: { xs: { top: 24, right: 24, bottom: 24, left: 24, unit: 'px', linked: true } }`,\n schema: responsivePaddingSchema,\n },\n },\n contentBorder: {\n ai: {\n instructions: `Border for the inner content area. Use for card-like treatments.\nExample: { style: 'solid', width: 1, color: { hex: '#e5e7eb' }, radius: 8, sides: { top: true, right: true, bottom: true, left: true } }`,\n schema: borderSchema,\n },\n },\n animation: {\n ai: {\n instructions: `Entrance animation for the section. Use sparingly for key sections like heroes.\nExample: { mode: 'preset', entrance: 'fade-up', entranceDuration: 600, triggerOnScroll: true, triggerOnce: true }`,\n schema: animationSchema,\n },\n },\n visibility: {\n ai: {\n instructions: `Show/hide at different breakpoints.\nExample: { xs: true, sm: true, md: true, lg: true, xl: true }`,\n schema: visibilitySchema,\n },\n },\n },\n },\n\n Container: {\n ai: {\n instructions: `Container component for grouping and constraining content width.\n\nPURPOSE:\n- Constrains content to a maximum width\n- Groups related elements together\n- Provides padding/margin around content blocks\n\nUSAGE GUIDELINES:\n- Use inside Section when you need additional grouping\n- Useful for text-heavy content that needs width constraints\n- Not always needed - Section already constrains content width\n\nWHEN TO USE:\n- Long-form text content (blog posts, about page)\n- When you need nested width constraints\n- To add background/border to a content group within a Section\n\nWHEN NOT TO USE:\n- For simple layouts - Section alone is sufficient\n- For card grids - use Grid instead\n- For horizontal layouts - use Flex instead\n\nCOMPOSITION:\n- Section > Container > Heading + Text (for centered text blocks)\n- Section > Container > RichText (for long-form content)`,\n },\n fields: {\n content: {\n ai: {\n required: true,\n instructions: 'Slot for child components.',\n },\n },\n semanticElement: {\n ai: {\n instructions: \"HTML element type: 'div' (default), 'article', 'aside', 'section'.\",\n },\n },\n background: {\n ai: {\n instructions: `Background color, gradient, or image. Use for card-like content blocks or visual emphasis.\nExample: { type: 'solid', solid: { hex: '#f8fafc' } }`,\n schema: backgroundSchema,\n },\n },\n border: {\n ai: {\n instructions: `Border styling. Use for card treatments or visual separation.\nExample: { style: 'solid', width: 1, color: { hex: '#e5e7eb' }, radius: 12, sides: { top: true, right: true, bottom: true, left: true } }`,\n schema: borderSchema,\n },\n },\n padding: {\n ai: {\n instructions: `Internal padding.\nExample: { xs: { top: 24, right: 24, bottom: 24, left: 24, unit: 'px', linked: true } }`,\n schema: responsivePaddingSchema,\n },\n },\n dimensions: {\n ai: {\n instructions: `Width/height constraints.\nExample: { xs: { mode: 'contained', maxWidth: { value: 800, unit: 'px', enabled: true }, alignment: 'center' } }`,\n schema: responsiveDimensionsSchema,\n },\n },\n margin: {\n ai: {\n instructions: `Margin outside the container.\nExample: { xs: { top: 0, right: 0, bottom: 24, left: 0, unit: 'px', linked: false } }`,\n schema: responsivePaddingSchema,\n },\n },\n animation: {\n ai: {\n instructions: `Entrance animation for the container. Use for key content blocks.\nExample: { mode: 'preset', entrance: 'fade-up', entranceDuration: 500, triggerOnScroll: true, triggerOnce: true }`,\n schema: animationSchema,\n },\n },\n visibility: {\n ai: {\n instructions: `Show/hide at different breakpoints.\nExample: { xs: true, sm: true, md: true, lg: true, xl: true }`,\n schema: visibilitySchema,\n },\n },\n },\n },\n\n Flex: {\n ai: {\n instructions: `Flex component for flexible row/column layouts.\n\nPURPOSE:\n- Horizontal or vertical arrangements of elements\n- Button groups, icon rows, horizontal lists\n- Centering and distributing content\n\nUSAGE GUIDELINES:\n- Use direction: 'row' for horizontal layouts (buttons side-by-side)\n- Use direction: 'column' for vertical stacking (heading + text + button)\n- NEVER place Section inside Flex\n\nCOMMON PATTERNS:\n- Button Group: Flex (row, gap: 16) > Button + Button\n- Hero Content: Flex (column, center) > Heading + Text + Flex(row) with Buttons\n- Feature Item: Flex (column) > Image + Heading + Text\n- Navigation: Flex (row, space-between) > Logo + Flex(row) with nav links\n\nRECOMMENDED VALUES:\n- gap: 8 (tight), 16 (compact), 24 (comfortable), 32 (spacious)\n- direction: 'row' for horizontal, 'column' for vertical\n- justifyContent: 'center' (centered), 'space-between' (spread out)\n- alignItems: 'center' (vertically centered in row mode)\n\nCOMPOSITION:\n- Section > Flex (column, center) > Content (for centered section content)\n- Flex (row) > Button + Button (for button groups)\n- Grid > Flex (column) > Content (for grid item content)`,\n },\n fields: {\n content: {\n ai: {\n required: true,\n instructions: 'Slot for child components. Cannot contain Section components.',\n },\n },\n direction: {\n ai: {\n instructions: \"'row' for horizontal layout, 'column' for vertical stacking. Default: row.\",\n },\n },\n justifyContent: {\n ai: {\n instructions:\n \"Controls horizontal distribution: 'flex-start', 'center', 'flex-end', 'space-between', 'space-around'.\",\n schema: justifyContentSchema,\n },\n },\n alignItems: {\n ai: {\n instructions:\n \"Controls vertical alignment: 'flex-start', 'center', 'flex-end', 'stretch'.\",\n schema: alignItemsSchema,\n },\n },\n gap: {\n ai: {\n instructions: 'Space between items in pixels. Common values: 8, 16, 24, 32.',\n },\n },\n wrap: {\n ai: {\n instructions: \"'wrap' allows items to wrap to new lines, 'nowrap' keeps them on one line.\",\n },\n },\n semanticElement: {\n ai: {\n instructions: \"'div' (default), 'nav' for navigation, 'ul'/'ol' for lists.\",\n },\n },\n background: {\n ai: {\n instructions: `Background for the flex container. Use for grouped content with visual separation.\nExample: { type: 'solid', solid: { hex: '#f1f5f9' } }`,\n schema: backgroundSchema,\n },\n },\n border: {\n ai: {\n instructions: `Border styling for the flex container.\nExample: { style: 'solid', width: 1, color: { hex: '#e2e8f0' }, radius: 8, sides: { top: true, right: true, bottom: true, left: true } }`,\n schema: borderSchema,\n },\n },\n customPadding: {\n ai: {\n instructions: `Padding inside the flex container.\nExample: { xs: { top: 16, right: 16, bottom: 16, left: 16, unit: 'px', linked: true } }`,\n schema: responsivePaddingSchema,\n },\n },\n margin: {\n ai: {\n instructions: `Margin outside the flex container.\nExample: { xs: { top: 0, right: 0, bottom: 24, left: 0, unit: 'px', linked: false } }`,\n schema: responsivePaddingSchema,\n },\n },\n dimensions: {\n ai: {\n instructions: `Width/height constraints for the flex container.\nExample: { xs: { mode: 'contained', maxWidth: { value: 600, unit: 'px', enabled: true }, alignment: 'center' } }`,\n schema: responsiveDimensionsSchema,\n },\n },\n animation: {\n ai: {\n instructions: `Entrance animation for the flex container. Use for key content groups.\nExample: { mode: 'preset', entrance: 'fade-up', entranceDuration: 500, triggerOnScroll: true, triggerOnce: true }`,\n schema: animationSchema,\n },\n },\n visibility: {\n ai: {\n instructions: `Show/hide at different breakpoints.\nExample: { xs: true, sm: true, md: true, lg: true, xl: true }`,\n schema: visibilitySchema,\n },\n },\n },\n },\n\n Grid: {\n ai: {\n instructions: `Grid component for multi-column card/item layouts.\n\nPURPOSE:\n- Display items in a responsive grid\n- Feature cards, team members, product listings\n- Image galleries, testimonial grids\n\nUSAGE GUIDELINES:\n- Use for 2-4 column layouts with equal-width items\n- Grid automatically stacks to single column on mobile\n- NEVER place Section inside Grid\n\nCOMMON PATTERNS:\n- Feature Grid: Grid (3 columns) > Card + Card + Card\n- Team Grid: Grid (4 columns) > Card + Card + Card + Card\n- Pricing Grid: Grid (3 columns) > Card (pricing tier) x 3\n- Gallery: Grid (2-3 columns) > Image + Image + Image\n\nRECOMMENDED VALUES:\n- numColumns: 2 (comparison), 3 (features/pricing), 4 (team/gallery)\n- gap: 16 (tight), 24 (comfortable), 32 (spacious)\n\nCOMPOSITION:\n- Section > Grid > Cards (for feature/team sections)\n- Section > Heading + Grid > Items (for titled grid sections)`,\n },\n fields: {\n content: {\n ai: {\n required: true,\n instructions:\n 'Slot for child components (usually Cards). Cannot contain Section components.',\n },\n },\n numColumns: {\n ai: {\n instructions: 'Number of columns (1-12). Common: 2, 3, or 4. Default: 3.',\n },\n },\n gap: {\n ai: {\n instructions: 'Space between grid items in pixels. Common: 16, 24, 32. Default: 16.',\n },\n },\n semanticElement: {\n ai: {\n instructions: \"'div' (default), 'ul' or 'ol' for list semantics.\",\n },\n },\n background: {\n ai: {\n instructions: `Background for the grid container. Use for grouped content with visual emphasis.\nExample: { type: 'solid', solid: { hex: '#fafafa' } }`,\n schema: backgroundSchema,\n },\n },\n border: {\n ai: {\n instructions: `Border styling for the grid container.\nExample: { style: 'solid', width: 1, color: { hex: '#e5e7eb' }, radius: 16, sides: { top: true, right: true, bottom: true, left: true } }`,\n schema: borderSchema,\n },\n },\n customPadding: {\n ai: {\n instructions: `Padding inside the grid container.\nExample: { xs: { top: 24, right: 24, bottom: 24, left: 24, unit: 'px', linked: true } }`,\n schema: responsivePaddingSchema,\n },\n },\n margin: {\n ai: {\n instructions: `Margin outside the grid container.\nExample: { xs: { top: 0, right: 0, bottom: 24, left: 0, unit: 'px', linked: false } }`,\n schema: responsivePaddingSchema,\n },\n },\n dimensions: {\n ai: {\n instructions: `Width/height constraints for the grid container.\nExample: { xs: { mode: 'contained', maxWidth: { value: 1000, unit: 'px', enabled: true }, alignment: 'center' } }`,\n schema: responsiveDimensionsSchema,\n },\n },\n animation: {\n ai: {\n instructions: `Entrance animation for the grid container. Use for key content groups.\nExample: { mode: 'preset', entrance: 'fade-up', entranceDuration: 500, triggerOnScroll: true, triggerOnce: true }`,\n schema: animationSchema,\n },\n },\n visibility: {\n ai: {\n instructions: `Show/hide at different breakpoints.\nExample: { xs: true, sm: true, md: true, lg: true, xl: true }`,\n schema: visibilitySchema,\n },\n },\n },\n },\n\n Spacer: {\n ai: {\n instructions: `Spacer component for adding vertical/horizontal space.\n\nPURPOSE:\n- Add breathing room between components\n- Create visual separation without borders\n- Fine-tune spacing beyond component margins\n\nUSAGE GUIDELINES:\n- Use sparingly - prefer component margin/padding when possible\n- Good for adding extra space between sections or within sections\n- Available sizes: 8, 16, 24, 32, 48, 64, 80, 96, 128 pixels\n\nWHEN TO USE:\n- Extra space between a heading and content\n- Separation between distinct content groups\n- When section padding alone isn't enough\n\nWHEN NOT TO USE:\n- Don't overuse - proper component spacing should suffice\n- Not for separating sections (use Section padding instead)`,\n },\n fields: {\n size: {\n ai: {\n instructions:\n 'Space in pixels: 8, 16, 24, 32 (small), 48, 64 (medium), 80, 96, 128 (large).',\n },\n },\n direction: {\n ai: {\n instructions: \"'vertical' (default), 'horizontal', or 'both'.\",\n },\n },\n },\n },\n}\n\n/**\n * Layout component names for reference\n */\nexport const layoutComponents = ['Section', 'Container', 'Flex', 'Grid', 'Spacer'] as const\n"],"names":["backgroundSchema","borderSchema","responsivePaddingSchema","responsiveDimensionsSchema","animationSchema","visibilitySchema","justifyContentSchema","alignItemsSchema","layoutInstructions","Section","ai","instructions","fields","content","required","semanticElement","id","sectionBackground","schema","sectionPadding","sectionMargin","contentDimensions","contentBackground","contentPadding","contentBorder","animation","visibility","Container","background","border","padding","dimensions","margin","Flex","direction","justifyContent","alignItems","gap","wrap","customPadding","Grid","numColumns","Spacer","size","layoutComponents"],"mappings":"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"}