@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.
- package/README.md +50 -1
- package/dist/admin/EditWithPuckButton.d.ts +1 -1
- package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
- package/dist/admin/EditWithPuckButton.js +65 -25
- package/dist/admin/EditWithPuckButton.js.map +1 -1
- package/dist/admin/EditWithPuckCell.js +43 -13
- package/dist/admin/EditWithPuckCell.js.map +1 -1
- package/dist/admin/PuckEditorView.d.ts +1 -1
- package/dist/admin/PuckEditorView.d.ts.map +1 -1
- package/dist/admin/PuckEditorView.js +118 -32
- package/dist/admin/PuckEditorView.js.map +1 -1
- package/dist/admin/client.d.ts +2 -2
- package/dist/admin/client.d.ts.map +1 -1
- package/dist/admin/client.js +4 -4
- package/dist/admin/client.js.map +1 -1
- package/dist/admin/generateAdminComponents.js +7 -7
- package/dist/admin/generateAdminComponents.js.map +1 -1
- package/dist/admin/index.d.ts +5 -5
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +3 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/ai/collections/AiContext.js +56 -29
- package/dist/ai/collections/AiContext.js.map +1 -1
- package/dist/ai/collections/AiPrompts.js +24 -19
- package/dist/ai/collections/AiPrompts.js.map +1 -1
- package/dist/ai/createAiApiRoutes.js +28 -19
- package/dist/ai/createAiApiRoutes.js.map +1 -1
- package/dist/ai/createAiGenerate.js +7 -8
- package/dist/ai/createAiGenerate.js.map +1 -1
- package/dist/ai/createAiPlugin.js +7 -9
- package/dist/ai/createAiPlugin.js.map +1 -1
- package/dist/ai/hooks/useAiContext.js +50 -39
- package/dist/ai/hooks/useAiContext.js.map +1 -1
- package/dist/ai/hooks/useAiPrompts.js +33 -25
- package/dist/ai/hooks/useAiPrompts.js.map +1 -1
- package/dist/ai/index.js +9 -10
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/plugins/ContextEditorPanel.d.ts +1 -1
- package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -1
- package/dist/ai/plugins/ContextEditorPanel.js +399 -107
- package/dist/ai/plugins/ContextEditorPanel.js.map +1 -1
- package/dist/ai/plugins/PromptEditorPanel.d.ts +1 -1
- package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -1
- package/dist/ai/plugins/PromptEditorPanel.js +237 -51
- package/dist/ai/plugins/PromptEditorPanel.js.map +1 -1
- package/dist/ai/plugins/contextEditorPlugin.js +12 -5
- package/dist/ai/plugins/contextEditorPlugin.js.map +1 -1
- package/dist/ai/plugins/promptApiRoutes.js +119 -50
- package/dist/ai/plugins/promptApiRoutes.js.map +1 -1
- package/dist/ai/plugins/promptEditorPlugin.js +12 -5
- package/dist/ai/plugins/promptEditorPlugin.js.map +1 -1
- package/dist/ai/presets/componentAiDefaults.js +108 -83
- package/dist/ai/presets/componentAiDefaults.js.map +1 -1
- package/dist/ai/presets/index.js +12 -18
- package/dist/ai/presets/index.js.map +1 -1
- package/dist/ai/presets/instructions/interactive.js +85 -75
- package/dist/ai/presets/instructions/interactive.js.map +1 -1
- package/dist/ai/presets/instructions/layout.js +122 -117
- package/dist/ai/presets/instructions/layout.js.map +1 -1
- package/dist/ai/presets/instructions/media.js +31 -29
- package/dist/ai/presets/instructions/media.js.map +1 -1
- package/dist/ai/presets/instructions/pagePatterns.js +4 -6
- package/dist/ai/presets/instructions/pagePatterns.js.map +1 -1
- package/dist/ai/presets/instructions/schemas.js +495 -137
- package/dist/ai/presets/instructions/schemas.js.map +1 -1
- package/dist/ai/presets/instructions/typography.js +38 -33
- package/dist/ai/presets/instructions/typography.js.map +1 -1
- package/dist/ai/tools/index.js +92 -55
- package/dist/ai/tools/index.js.map +1 -1
- package/dist/ai/types.js +7 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/utils/injectAiConfig.js +33 -40
- package/dist/ai/utils/injectAiConfig.js.map +1 -1
- package/dist/api/createPuckApiRoutes.d.ts +1 -1
- package/dist/api/createPuckApiRoutes.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutes.js +123 -65
- package/dist/api/createPuckApiRoutes.js.map +1 -1
- package/dist/api/createPuckApiRoutesVersions.d.ts +1 -1
- package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutesVersions.js +88 -37
- package/dist/api/createPuckApiRoutesVersions.js.map +1 -1
- package/dist/api/createPuckApiRoutesWithId.d.ts +1 -1
- package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutesWithId.js +166 -72
- package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
- package/dist/api/index.d.ts +5 -5
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +6 -6
- package/dist/api/index.js.map +1 -1
- package/dist/api/payload-config.d.js +15 -0
- package/dist/api/payload-config.d.js.map +1 -0
- package/dist/api/types.js +4 -1
- package/dist/api/types.js.map +1 -1
- package/dist/api/utils/mapRootProps.d.ts +1 -1
- package/dist/api/utils/mapRootProps.d.ts.map +1 -1
- package/dist/api/utils/mapRootProps.js +77 -44
- package/dist/api/utils/mapRootProps.js.map +1 -1
- package/dist/collections/Templates.js +24 -20
- package/dist/collections/Templates.js.map +1 -1
- package/dist/components/AccordionClient.d.ts +2 -2
- package/dist/components/AccordionClient.d.ts.map +1 -1
- package/dist/components/AccordionClient.js +81 -22
- package/dist/components/AccordionClient.js.map +1 -1
- package/dist/components/AnimatedWrapper.d.ts +2 -2
- package/dist/components/AnimatedWrapper.d.ts.map +1 -1
- package/dist/components/AnimatedWrapper.js +31 -16
- package/dist/components/AnimatedWrapper.js.map +1 -1
- package/dist/components/exports.js +2 -2
- package/dist/components/exports.js.map +1 -1
- package/dist/components/index.d.ts +5 -5
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +7 -7
- package/dist/components/index.js.map +1 -1
- package/dist/components/interactive/Accordion.d.ts +1 -1
- package/dist/components/interactive/Accordion.d.ts.map +1 -1
- package/dist/components/interactive/Accordion.js +149 -55
- package/dist/components/interactive/Accordion.js.map +1 -1
- package/dist/components/interactive/Accordion.server.d.ts +1 -1
- package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
- package/dist/components/interactive/Accordion.server.js +25 -7
- package/dist/components/interactive/Accordion.server.js.map +1 -1
- package/dist/components/interactive/Button.d.ts +3 -3
- package/dist/components/interactive/Button.d.ts.map +1 -1
- package/dist/components/interactive/Button.js +89 -43
- package/dist/components/interactive/Button.js.map +1 -1
- package/dist/components/interactive/Button.server.d.ts +2 -2
- package/dist/components/interactive/Button.server.d.ts.map +1 -1
- package/dist/components/interactive/Button.server.js +40 -20
- package/dist/components/interactive/Button.server.js.map +1 -1
- package/dist/components/interactive/Card.d.ts +3 -3
- package/dist/components/interactive/Card.d.ts.map +1 -1
- package/dist/components/interactive/Card.js +131 -39
- package/dist/components/interactive/Card.js.map +1 -1
- package/dist/components/interactive/Card.server.d.ts +3 -3
- package/dist/components/interactive/Card.server.d.ts.map +1 -1
- package/dist/components/interactive/Card.server.js +72 -11
- package/dist/components/interactive/Card.server.js.map +1 -1
- package/dist/components/interactive/Divider.d.ts +1 -1
- package/dist/components/interactive/Divider.d.ts.map +1 -1
- package/dist/components/interactive/Divider.js +54 -26
- package/dist/components/interactive/Divider.js.map +1 -1
- package/dist/components/interactive/Divider.server.d.ts +1 -1
- package/dist/components/interactive/Divider.server.d.ts.map +1 -1
- package/dist/components/interactive/Divider.server.js +28 -12
- package/dist/components/interactive/Divider.server.js.map +1 -1
- package/dist/components/interactive/index.d.ts +4 -4
- package/dist/components/interactive/index.d.ts.map +1 -1
- package/dist/components/interactive/index.js +5 -5
- package/dist/components/interactive/index.js.map +1 -1
- package/dist/components/layout/Container.d.ts +1 -1
- package/dist/components/layout/Container.d.ts.map +1 -1
- package/dist/components/layout/Container.js +101 -47
- package/dist/components/layout/Container.js.map +1 -1
- package/dist/components/layout/Container.server.d.ts +1 -1
- package/dist/components/layout/Container.server.d.ts.map +1 -1
- package/dist/components/layout/Container.server.js +67 -19
- package/dist/components/layout/Container.server.js.map +1 -1
- package/dist/components/layout/Flex.d.ts +2 -2
- package/dist/components/layout/Flex.d.ts.map +1 -1
- package/dist/components/layout/Flex.js +124 -55
- package/dist/components/layout/Flex.js.map +1 -1
- package/dist/components/layout/Flex.server.d.ts +1 -1
- package/dist/components/layout/Flex.server.d.ts.map +1 -1
- package/dist/components/layout/Flex.server.js +50 -14
- package/dist/components/layout/Flex.server.js.map +1 -1
- package/dist/components/layout/Grid.d.ts +1 -1
- package/dist/components/layout/Grid.d.ts.map +1 -1
- package/dist/components/layout/Grid.js +93 -44
- package/dist/components/layout/Grid.js.map +1 -1
- package/dist/components/layout/Grid.server.d.ts +1 -1
- package/dist/components/layout/Grid.server.d.ts.map +1 -1
- package/dist/components/layout/Grid.server.js +56 -14
- package/dist/components/layout/Grid.server.js.map +1 -1
- package/dist/components/layout/Section.d.ts +1 -1
- package/dist/components/layout/Section.d.ts.map +1 -1
- package/dist/components/layout/Section.js +147 -64
- package/dist/components/layout/Section.js.map +1 -1
- package/dist/components/layout/Section.server.d.ts +1 -1
- package/dist/components/layout/Section.server.d.ts.map +1 -1
- package/dist/components/layout/Section.server.js +92 -28
- package/dist/components/layout/Section.server.js.map +1 -1
- package/dist/components/layout/Spacer.d.ts +1 -1
- package/dist/components/layout/Spacer.d.ts.map +1 -1
- package/dist/components/layout/Spacer.js +80 -30
- package/dist/components/layout/Spacer.js.map +1 -1
- package/dist/components/layout/Spacer.server.d.ts +1 -1
- package/dist/components/layout/Spacer.server.d.ts.map +1 -1
- package/dist/components/layout/Spacer.server.js +31 -9
- package/dist/components/layout/Spacer.server.js.map +1 -1
- package/dist/components/layout/Template.d.ts +1 -1
- package/dist/components/layout/Template.d.ts.map +1 -1
- package/dist/components/layout/Template.js +58 -30
- package/dist/components/layout/Template.js.map +1 -1
- package/dist/components/layout/Template.server.d.ts +1 -1
- package/dist/components/layout/Template.server.d.ts.map +1 -1
- package/dist/components/layout/Template.server.js +43 -11
- package/dist/components/layout/Template.server.js.map +1 -1
- package/dist/components/layout/index.d.ts +8 -8
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/index.js +8 -8
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/media/Image.d.ts +3 -3
- package/dist/components/media/Image.d.ts.map +1 -1
- package/dist/components/media/Image.js +122 -39
- package/dist/components/media/Image.js.map +1 -1
- package/dist/components/media/Image.server.d.ts +3 -3
- package/dist/components/media/Image.server.d.ts.map +1 -1
- package/dist/components/media/Image.server.js +76 -13
- package/dist/components/media/Image.server.js.map +1 -1
- package/dist/components/media/index.d.ts +1 -1
- package/dist/components/media/index.d.ts.map +1 -1
- package/dist/components/media/index.js +2 -2
- package/dist/components/media/index.js.map +1 -1
- package/dist/components/typography/Heading.d.ts +2 -2
- package/dist/components/typography/Heading.d.ts.map +1 -1
- package/dist/components/typography/Heading.js +45 -25
- package/dist/components/typography/Heading.js.map +1 -1
- package/dist/components/typography/Heading.server.d.ts +2 -2
- package/dist/components/typography/Heading.server.d.ts.map +1 -1
- package/dist/components/typography/Heading.server.js +16 -10
- package/dist/components/typography/Heading.server.js.map +1 -1
- package/dist/components/typography/RichText.editor.d.ts +1 -1
- package/dist/components/typography/RichText.editor.d.ts.map +1 -1
- package/dist/components/typography/RichText.editor.js +44 -19
- package/dist/components/typography/RichText.editor.js.map +1 -1
- package/dist/components/typography/RichText.server.d.ts +2 -2
- package/dist/components/typography/RichText.server.d.ts.map +1 -1
- package/dist/components/typography/RichText.server.js +33 -14
- package/dist/components/typography/RichText.server.js.map +1 -1
- package/dist/components/typography/Text.d.ts +2 -2
- package/dist/components/typography/Text.d.ts.map +1 -1
- package/dist/components/typography/Text.js +49 -23
- package/dist/components/typography/Text.js.map +1 -1
- package/dist/components/typography/Text.server.d.ts +2 -2
- package/dist/components/typography/Text.server.d.ts.map +1 -1
- package/dist/components/typography/Text.server.js +21 -8
- package/dist/components/typography/Text.server.js.map +1 -1
- package/dist/components/typography/index.d.ts +4 -4
- package/dist/components/typography/index.d.ts.map +1 -1
- package/dist/components/typography/index.js +5 -5
- package/dist/components/typography/index.js.map +1 -1
- package/dist/config/config.editor.d.ts +3 -3
- package/dist/config/config.editor.d.ts.map +1 -1
- package/dist/config/config.editor.js +119 -54
- package/dist/config/config.editor.js.map +1 -1
- package/dist/config/index.d.ts +4 -4
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +62 -35
- package/dist/config/index.js.map +1 -1
- package/dist/config/merge.d.ts +1 -1
- package/dist/config/merge.d.ts.map +1 -1
- package/dist/config/merge.js +23 -26
- package/dist/config/merge.js.map +1 -1
- package/dist/config/presets.d.ts +4 -4
- package/dist/config/presets.js +195 -75
- package/dist/config/presets.js.map +1 -1
- package/dist/config/types.js +6 -2
- package/dist/config/types.js.map +1 -1
- package/dist/editor/PuckEditor.d.ts +4 -4
- package/dist/editor/PuckEditor.d.ts.map +1 -1
- package/dist/editor/PuckEditor.js +162 -70
- package/dist/editor/PuckEditor.js.map +1 -1
- package/dist/editor/PuckEditorImpl.client.d.ts +4 -4
- package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
- package/dist/editor/PuckEditorImpl.client.js +304 -152
- package/dist/editor/PuckEditorImpl.client.js.map +1 -1
- package/dist/editor/components/DarkModeStyles.js +11 -12
- package/dist/editor/components/DarkModeStyles.js.map +1 -1
- package/dist/editor/components/HeaderActions.js +308 -64
- package/dist/editor/components/HeaderActions.js.map +1 -1
- package/dist/editor/components/IframeWrapper.d.ts +1 -1
- package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
- package/dist/editor/components/IframeWrapper.js +82 -58
- package/dist/editor/components/IframeWrapper.js.map +1 -1
- package/dist/editor/components/LoadingState.d.ts +1 -1
- package/dist/editor/components/LoadingState.d.ts.map +1 -1
- package/dist/editor/components/LoadingState.js +17 -3
- package/dist/editor/components/LoadingState.js.map +1 -1
- package/dist/editor/components/PreviewModal.js +234 -78
- package/dist/editor/components/PreviewModal.js.map +1 -1
- package/dist/editor/components/PreviewModeToggle.js +43 -15
- package/dist/editor/components/PreviewModeToggle.js.map +1 -1
- package/dist/editor/components/VersionHistory.js +219 -71
- package/dist/editor/components/VersionHistory.js.map +1 -1
- package/dist/editor/hooks/useDarkMode.js +36 -23
- package/dist/editor/hooks/useDarkMode.js.map +1 -1
- package/dist/editor/hooks/useUnsavedChanges.js +8 -8
- package/dist/editor/hooks/useUnsavedChanges.js.map +1 -1
- package/dist/editor/index.js +5 -6
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/plugins/VersionHistoryPanel.js +236 -75
- package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -1
- package/dist/editor/plugins/index.js +4 -4
- package/dist/editor/plugins/index.js.map +1 -1
- package/dist/editor/plugins/versionHistoryPlugin.js +10 -8
- package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -1
- package/dist/editor/utils/detectPageTree.js +5 -5
- package/dist/editor/utils/detectPageTree.js.map +1 -1
- package/dist/editor/utils/index.js +1 -0
- package/dist/editor/utils/index.js.map +1 -1
- package/dist/editor/utils/injectPageTreeFields.js +13 -9
- package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
- package/dist/endpoints/ai.js +58 -34
- package/dist/endpoints/ai.js.map +1 -1
- package/dist/endpoints/context.js +86 -40
- package/dist/endpoints/context.js.map +1 -1
- package/dist/endpoints/index.js +153 -76
- package/dist/endpoints/index.js.map +1 -1
- package/dist/endpoints/postcss.d.js +5 -0
- package/dist/endpoints/postcss.d.js.map +1 -0
- package/dist/endpoints/prompts.js +81 -39
- package/dist/endpoints/prompts.js.map +1 -1
- package/dist/endpoints/styles.js +34 -36
- package/dist/endpoints/styles.js.map +1 -1
- package/dist/exports/client.js +2 -2
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/rsc.js +2 -2
- package/dist/exports/rsc.js.map +1 -1
- package/dist/fields/AlignmentField.d.ts +1 -1
- package/dist/fields/AlignmentField.d.ts.map +1 -1
- package/dist/fields/AlignmentField.js +93 -30
- package/dist/fields/AlignmentField.js.map +1 -1
- package/dist/fields/AnimationField.d.ts +2 -2
- package/dist/fields/AnimationField.d.ts.map +1 -1
- package/dist/fields/AnimationField.js +558 -84
- package/dist/fields/AnimationField.js.map +1 -1
- package/dist/fields/BackgroundField.d.ts +2 -2
- package/dist/fields/BackgroundField.d.ts.map +1 -1
- package/dist/fields/BackgroundField.js +754 -120
- package/dist/fields/BackgroundField.js.map +1 -1
- package/dist/fields/BorderField.d.ts +2 -2
- package/dist/fields/BorderField.d.ts.map +1 -1
- package/dist/fields/BorderField.js +275 -73
- package/dist/fields/BorderField.js.map +1 -1
- package/dist/fields/ColorPickerField.d.ts +2 -2
- package/dist/fields/ColorPickerField.d.ts.map +1 -1
- package/dist/fields/ColorPickerField.js +210 -68
- package/dist/fields/ColorPickerField.js.map +1 -1
- package/dist/fields/ContentAlignmentField.d.ts +1 -1
- package/dist/fields/ContentAlignmentField.d.ts.map +1 -1
- package/dist/fields/ContentAlignmentField.js +161 -75
- package/dist/fields/ContentAlignmentField.js.map +1 -1
- package/dist/fields/DimensionsField.d.ts +2 -2
- package/dist/fields/DimensionsField.d.ts.map +1 -1
- package/dist/fields/DimensionsField.js +575 -146
- package/dist/fields/DimensionsField.js.map +1 -1
- package/dist/fields/FlexAlignmentField.d.ts +2 -2
- package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
- package/dist/fields/FlexAlignmentField.js +189 -51
- package/dist/fields/FlexAlignmentField.js.map +1 -1
- package/dist/fields/FolderPickerField.d.ts +8 -1
- package/dist/fields/FolderPickerField.d.ts.map +1 -1
- package/dist/fields/FolderPickerField.js +288 -75
- package/dist/fields/FolderPickerField.js.map +1 -1
- package/dist/fields/GradientEditor.d.ts +2 -2
- package/dist/fields/GradientEditor.d.ts.map +1 -1
- package/dist/fields/GradientEditor.js +462 -86
- package/dist/fields/GradientEditor.js.map +1 -1
- package/dist/fields/LockedField.d.ts +15 -2
- package/dist/fields/LockedField.d.ts.map +1 -1
- package/dist/fields/LockedField.js +180 -49
- package/dist/fields/LockedField.js.map +1 -1
- package/dist/fields/MarginField.d.ts +2 -2
- package/dist/fields/MarginField.d.ts.map +1 -1
- package/dist/fields/MarginField.js +144 -46
- package/dist/fields/MarginField.js.map +1 -1
- package/dist/fields/MediaField.d.ts +1 -1
- package/dist/fields/MediaField.d.ts.map +1 -1
- package/dist/fields/MediaField.js +688 -186
- package/dist/fields/MediaField.js.map +1 -1
- package/dist/fields/PaddingField.d.ts +2 -2
- package/dist/fields/PaddingField.d.ts.map +1 -1
- package/dist/fields/PaddingField.js +144 -46
- package/dist/fields/PaddingField.js.map +1 -1
- package/dist/fields/PageSegmentField.d.ts +15 -2
- package/dist/fields/PageSegmentField.d.ts.map +1 -1
- package/dist/fields/PageSegmentField.js +156 -54
- package/dist/fields/PageSegmentField.js.map +1 -1
- package/dist/fields/ResetField.d.ts +1 -1
- package/dist/fields/ResetField.d.ts.map +1 -1
- package/dist/fields/ResetField.js +59 -31
- package/dist/fields/ResetField.js.map +1 -1
- package/dist/fields/ResponsiveField.d.ts +1 -1
- package/dist/fields/ResponsiveField.d.ts.map +1 -1
- package/dist/fields/ResponsiveField.js +233 -90
- package/dist/fields/ResponsiveField.js.map +1 -1
- package/dist/fields/ResponsiveVisibilityField.d.ts +2 -2
- package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
- package/dist/fields/ResponsiveVisibilityField.js +119 -36
- package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
- package/dist/fields/SizeField.d.ts +3 -3
- package/dist/fields/SizeField.d.ts.map +1 -1
- package/dist/fields/SizeField.js +226 -52
- package/dist/fields/SizeField.js.map +1 -1
- package/dist/fields/SlugPreviewField.d.ts +8 -1
- package/dist/fields/SlugPreviewField.d.ts.map +1 -1
- package/dist/fields/SlugPreviewField.js +65 -16
- package/dist/fields/SlugPreviewField.js.map +1 -1
- package/dist/fields/TemplateField.d.ts +1 -1
- package/dist/fields/TemplateField.d.ts.map +1 -1
- package/dist/fields/TemplateField.js +362 -120
- package/dist/fields/TemplateField.js.map +1 -1
- package/dist/fields/TransformField.d.ts +2 -2
- package/dist/fields/TransformField.d.ts.map +1 -1
- package/dist/fields/TransformField.js +517 -81
- package/dist/fields/TransformField.js.map +1 -1
- package/dist/fields/VerticalAlignmentField.d.ts +1 -1
- package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
- package/dist/fields/VerticalAlignmentField.js +93 -30
- package/dist/fields/VerticalAlignmentField.js.map +1 -1
- package/dist/fields/WidthField.d.ts +2 -2
- package/dist/fields/WidthField.d.ts.map +1 -1
- package/dist/fields/WidthField.js +278 -81
- package/dist/fields/WidthField.js.map +1 -1
- package/dist/fields/index.d.ts +41 -41
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +37 -43
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts +13 -2
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.js +212 -47
- package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
- package/dist/fields/richtext/controls/DropdownPortal.d.ts +2 -2
- package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -1
- package/dist/fields/richtext/controls/DropdownPortal.js +36 -4
- package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -1
- package/dist/fields/richtext/controls/FontSizeControl.d.ts +9 -1
- package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/FontSizeControl.js +109 -24
- package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
- package/dist/fields/richtext/controls/HighlightControl.d.ts +12 -1
- package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/HighlightControl.js +54 -17
- package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
- package/dist/fields/richtext/controls/index.d.ts +5 -5
- package/dist/fields/richtext/controls/index.d.ts.map +1 -1
- package/dist/fields/richtext/controls/index.js +8 -11
- package/dist/fields/richtext/controls/index.js.map +1 -1
- package/dist/fields/richtext/controls/shared.js +108 -63
- package/dist/fields/richtext/controls/shared.js.map +1 -1
- package/dist/fields/richtext/createRichTextField.d.ts +18 -4
- package/dist/fields/richtext/createRichTextField.d.ts.map +1 -1
- package/dist/fields/richtext/createRichTextField.js +113 -26
- package/dist/fields/richtext/createRichTextField.js.map +1 -1
- package/dist/fields/richtext/extensions/FontSize.js +26 -20
- package/dist/fields/richtext/extensions/FontSize.js.map +1 -1
- package/dist/fields/richtext/extensions/index.d.ts +1 -1
- package/dist/fields/richtext/extensions/index.d.ts.map +1 -1
- package/dist/fields/richtext/extensions/index.js +2 -2
- package/dist/fields/richtext/extensions/index.js.map +1 -1
- package/dist/fields/richtext/index.d.ts +6 -6
- package/dist/fields/richtext/index.d.ts.map +1 -1
- package/dist/fields/richtext/index.js +8 -8
- package/dist/fields/richtext/index.js.map +1 -1
- package/dist/fields/shared.d.ts +1 -1
- package/dist/fields/shared.d.ts.map +1 -1
- package/dist/fields/shared.js +915 -478
- package/dist/fields/shared.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useResponsiveStyles.d.ts +1 -1
- package/dist/hooks/useResponsiveStyles.d.ts.map +1 -1
- package/dist/hooks/useResponsiveStyles.js +36 -32
- package/dist/hooks/useResponsiveStyles.js.map +1 -1
- package/dist/hooks/useScrollAnimation.js +26 -24
- package/dist/hooks/useScrollAnimation.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/layouts/LayoutWrapper.d.ts +3 -3
- package/dist/layouts/LayoutWrapper.d.ts.map +1 -1
- package/dist/layouts/LayoutWrapper.js +115 -51
- package/dist/layouts/LayoutWrapper.js.map +1 -1
- package/dist/layouts/defaults.d.ts +1 -1
- package/dist/layouts/defaults.d.ts.map +1 -1
- package/dist/layouts/defaults.js +23 -31
- package/dist/layouts/defaults.js.map +1 -1
- package/dist/layouts/index.d.ts +4 -4
- package/dist/layouts/index.d.ts.map +1 -1
- package/dist/layouts/index.js +5 -4
- package/dist/layouts/index.js.map +1 -1
- package/dist/layouts/types.js +4 -2
- package/dist/layouts/types.js.map +1 -1
- package/dist/layouts/utils.d.ts +1 -1
- package/dist/layouts/utils.d.ts.map +1 -1
- package/dist/layouts/utils.js +32 -40
- package/dist/layouts/utils.js.map +1 -1
- package/dist/next/index.js +31 -34
- package/dist/next/index.js.map +1 -1
- package/dist/plugin/collections/Pages.d.ts +2 -2
- package/dist/plugin/collections/Pages.d.ts.map +1 -1
- package/dist/plugin/collections/Pages.js +46 -43
- package/dist/plugin/collections/Pages.js.map +1 -1
- package/dist/plugin/fields/index.d.ts +3 -3
- package/dist/plugin/fields/index.d.ts.map +1 -1
- package/dist/plugin/fields/index.js +100 -78
- package/dist/plugin/fields/index.js.map +1 -1
- package/dist/plugin/fields/types.d.ts +1 -1
- package/dist/plugin/fields/types.d.ts.map +1 -1
- package/dist/plugin/fields/types.js +26 -2
- package/dist/plugin/fields/types.js.map +1 -1
- package/dist/plugin/hooks/index.d.ts +1 -1
- package/dist/plugin/hooks/index.d.ts.map +1 -1
- package/dist/plugin/hooks/index.js +2 -2
- package/dist/plugin/hooks/index.js.map +1 -1
- package/dist/plugin/hooks/isHomepageUnique.js +28 -19
- package/dist/plugin/hooks/isHomepageUnique.js.map +1 -1
- package/dist/plugin/index.d.ts +8 -8
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +190 -188
- package/dist/plugin/index.js.map +1 -1
- package/dist/render/HybridPageRenderer.d.ts +2 -2
- package/dist/render/HybridPageRenderer.d.ts.map +1 -1
- package/dist/render/HybridPageRenderer.js +58 -10
- package/dist/render/HybridPageRenderer.js.map +1 -1
- package/dist/render/PageRenderer.d.ts +2 -2
- package/dist/render/PageRenderer.d.ts.map +1 -1
- package/dist/render/PageRenderer.js +31 -14
- package/dist/render/PageRenderer.js.map +1 -1
- package/dist/render/PuckEditor.client.d.ts +1 -1
- package/dist/render/PuckEditor.client.d.ts.map +1 -1
- package/dist/render/PuckEditor.client.js +33 -16
- package/dist/render/PuckEditor.client.js.map +1 -1
- package/dist/render/index.d.ts +5 -5
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +5 -6
- package/dist/render/index.js.map +1 -1
- package/dist/styles/puck-dark-mode.css +101 -0
- package/dist/theme/context.d.ts +2 -2
- package/dist/theme/context.d.ts.map +1 -1
- package/dist/theme/context.js +21 -18
- package/dist/theme/context.js.map +1 -1
- package/dist/theme/defaults.d.ts +1 -1
- package/dist/theme/defaults.d.ts.map +1 -1
- package/dist/theme/defaults.js +83 -37
- package/dist/theme/defaults.js.map +1 -1
- package/dist/theme/example.d.ts +1 -1
- package/dist/theme/example.d.ts.map +1 -1
- package/dist/theme/example.js +68 -30
- package/dist/theme/example.js.map +1 -1
- package/dist/theme/index.d.ts +5 -5
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +6 -5
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/types.js +6 -2
- package/dist/theme/types.js.map +1 -1
- package/dist/theme/utils.d.ts +1 -1
- package/dist/theme/utils.d.ts.map +1 -1
- package/dist/theme/utils.js +24 -25
- package/dist/theme/utils.js.map +1 -1
- package/dist/types/index.d.ts +6 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +13 -22
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/migration.d.ts +1 -1
- package/dist/utils/migration.d.ts.map +1 -1
- package/dist/utils/migration.js +43 -49
- package/dist/utils/migration.js.map +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +36 -43
- package/dist/utils/validation.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/dist/views/PuckConfigContext.d.ts +1 -1
- package/dist/views/PuckConfigContext.d.ts.map +1 -1
- package/dist/views/PuckConfigContext.js +25 -10
- package/dist/views/PuckConfigContext.js.map +1 -1
- package/dist/views/PuckEditorView.d.ts +1 -1
- package/dist/views/PuckEditorView.d.ts.map +1 -1
- package/dist/views/PuckEditorView.js +106 -38
- package/dist/views/PuckEditorView.js.map +1 -1
- package/dist/views/index.js +2 -2
- package/dist/views/index.js.map +1 -1
- package/package.json +62 -42
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { backgroundSchema, borderSchema, responsivePaddingSchema, responsiveDimensionsSchema, animationSchema, visibilitySchema, justifyContentSchema, alignItemsSchema
|
|
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
|
-
|
|
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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"}
|