@delmaredigital/payload-puck 0.6.10 → 0.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -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 +12 -4
- package/dist/editor/PuckEditor.d.ts.map +1 -1
- package/dist/editor/PuckEditor.js +168 -67
- 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 +192 -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 +42 -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 +137 -41
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/layout/Grid.server.tsx"],"sourcesContent":["/**\n * Grid Component - Server-safe Puck Configuration\n *\n * CSS Grid layout following official Puck demo patterns.\n * Responsive: stacks on mobile (flex column), grid on desktop (md+).\n * Uses Tailwind classes for layout, inline styles for dynamic user values.\n *\n * This is a server-safe version with NO fields property (only slot for content).\n * For the full editor version with fields, use Grid.tsx\n *\n * Responsive Controls:\n * - dimensions: Different dimensions at different breakpoints\n * - customPadding: Different padding at different breakpoints\n * - margin: Different margins at different breakpoints\n * - visibility: Show/hide at different breakpoints\n */\n\nimport type { ComponentConfig } from '@puckeditor/core'\nimport {\n cn,\n dimensionsValueToCSS,\n marginValueToCSS,\n paddingValueToCSS,\n borderValueToCSS,\n backgroundValueToCSS,\n responsiveValueToCSS,\n visibilityValueToCSS,\n type PaddingValue,\n type BorderValue,\n type DimensionsValue,\n type BackgroundValue,\n type AnimationValue,\n type ResponsiveValue,\n type VisibilityValue,\n} from '../../fields/shared.js'\nimport { AnimatedWrapper } from '../AnimatedWrapper.js'\n\n// Simple ID generator for server-side rendering\nlet idCounter = 0\nfunction generateUniqueId(): string {\n return `g${(++idCounter).toString(36)}${Math.random().toString(36).slice(2, 6)}`\n}\n\nexport type GridSemanticElement = 'div' | 'ul' | 'ol'\n\nexport interface GridProps {\n content: unknown\n semanticElement: GridSemanticElement\n numColumns: number\n gap: number\n // Background\n background: BackgroundValue | null\n // Advanced custom options\n customPadding: ResponsiveValue<PaddingValue> | PaddingValue | null\n dimensions: ResponsiveValue<DimensionsValue> | DimensionsValue | null\n border: BorderValue | null\n margin: ResponsiveValue<PaddingValue> | PaddingValue | null\n animation: AnimationValue | null\n // Responsive visibility\n visibility: VisibilityValue | null\n}\n\nconst defaultProps: GridProps = {\n content: [],\n semanticElement: 'div',\n numColumns: 3,\n gap: 24,\n background: null,\n customPadding: null,\n dimensions: null,\n border: null,\n margin: null,\n animation: null,\n visibility: null,\n}\n\nexport const GridConfig: ComponentConfig = {\n label: 'Grid',\n fields: {\n content: { type: 'slot' },\n },\n defaultProps,\n render: ({\n content: Content,\n semanticElement = 'div',\n numColumns,\n gap,\n background,\n customPadding,\n dimensions,\n border,\n margin,\n animation,\n visibility,\n }) => {\n // Dynamic element based on semanticElement prop\n const Wrapper = semanticElement as React.ElementType\n\n // Generate unique IDs for CSS targeting (server-safe)\n const uniqueId = generateUniqueId()\n const wrapperClass = `puck-grid-${uniqueId}`\n const contentClass = `puck-grid-content-${uniqueId}`\n\n // Collect all media query CSS\n const mediaQueries: string[] = []\n\n // Generate styles from BackgroundValue\n const backgroundStyles = backgroundValueToCSS(background)\n\n // Build wrapper styles\n const wrapperStyles: React.CSSProperties = {\n ...backgroundStyles,\n }\n\n // Add padding with responsive support\n const paddingResult = responsiveValueToCSS(\n customPadding,\n (v) => ({ padding: paddingValueToCSS(v) }),\n wrapperClass\n )\n Object.assign(wrapperStyles, paddingResult.baseStyles)\n if (paddingResult.mediaQueryCSS) {\n mediaQueries.push(paddingResult.mediaQueryCSS)\n }\n\n // Add border if set\n const borderStyles = borderValueToCSS(border)\n if (borderStyles) {\n Object.assign(wrapperStyles, borderStyles)\n }\n\n // Add margin with responsive support\n const marginResult = responsiveValueToCSS(\n margin,\n (v) => ({ margin: marginValueToCSS(v) }),\n wrapperClass\n )\n Object.assign(wrapperStyles, marginResult.baseStyles)\n if (marginResult.mediaQueryCSS) {\n mediaQueries.push(marginResult.mediaQueryCSS)\n }\n\n // Use dimensions with responsive support\n const dimensionsResult = responsiveValueToCSS(\n dimensions,\n dimensionsValueToCSS,\n contentClass\n )\n\n // Visibility media queries\n const visibilityCSS = visibilityValueToCSS(visibility, wrapperClass)\n if (visibilityCSS) {\n mediaQueries.push(visibilityCSS)\n }\n\n // Tailwind classes for responsive grid: flex column on mobile, grid on md+\n const contentClasses = cn(\n 'flex flex-col w-full',\n 'md:grid',\n contentClass,\n )\n\n // Dynamic styles that need inline (user-controlled values: gap, columns)\n const contentStyles: React.CSSProperties = {\n gap,\n ...dimensionsResult.baseStyles,\n }\n if (dimensionsResult.mediaQueryCSS) {\n mediaQueries.push(dimensionsResult.mediaQueryCSS)\n }\n\n // Grid template columns must be inline since numColumns is dynamic\n const gridStyles: React.CSSProperties = {\n ...contentStyles,\n '--grid-cols': numColumns,\n } as React.CSSProperties\n\n // Combine all media queries\n const allMediaQueryCSS = mediaQueries.join('\\n')\n\n // Type assertion for Puck slot content - cast to any to avoid complex React type issues\n const ContentSlot = Content as any\n\n return (\n <AnimatedWrapper animation={animation}>\n {allMediaQueryCSS && <style>{allMediaQueryCSS}</style>}\n <Wrapper className={wrapperClass} style={wrapperStyles}>\n <ContentSlot className={contentClasses} style={gridStyles} />\n <style>{`\n @media (min-width: 768px) {\n .flex.md\\\\:grid {\n grid-template-columns: repeat(var(--grid-cols), 1fr);\n }\n }\n `}</style>\n </Wrapper>\n </AnimatedWrapper>\n )\n },\n}\n"],"names":["cn","dimensionsValueToCSS","marginValueToCSS","paddingValueToCSS","borderValueToCSS","backgroundValueToCSS","responsiveValueToCSS","visibilityValueToCSS","AnimatedWrapper","idCounter","generateUniqueId","toString","Math","random","slice","defaultProps","content","semanticElement","numColumns","gap","background","customPadding","dimensions","border","margin","animation","visibility","GridConfig","label","fields","type","render","Content","Wrapper","uniqueId","wrapperClass","contentClass","mediaQueries","backgroundStyles","wrapperStyles","paddingResult","v","padding","Object","assign","baseStyles","mediaQueryCSS","push","borderStyles","marginResult","dimensionsResult","visibilityCSS","contentClasses","contentStyles","gridStyles","allMediaQueryCSS","join","ContentSlot","style","className"],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* - visibility: Show/hide at different breakpoints
|
|
17
17
|
*/
|
|
18
18
|
import type { ComponentConfig } from '@puckeditor/core';
|
|
19
|
-
import { type PaddingValue, type BorderValue, type DimensionsValue, type BackgroundValue, type AnimationValue, type ResponsiveValue, type VisibilityValue } from '../../fields/shared';
|
|
19
|
+
import { type PaddingValue, type BorderValue, type DimensionsValue, type BackgroundValue, type AnimationValue, type ResponsiveValue, type VisibilityValue } from '../../fields/shared.js';
|
|
20
20
|
export type SemanticElement = 'section' | 'article' | 'aside' | 'nav' | 'div' | 'header' | 'footer' | 'main';
|
|
21
21
|
export interface SectionProps {
|
|
22
22
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Section.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,
|
|
1
|
+
{"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Section.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAA;AAiD/B,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE5G,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,eAAe,CAAA;IAEhC,iBAAiB,EAAE,eAAe,GAAG,IAAI,CAAA;IACzC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAA;IACjC,cAAc,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,IAAI,CAAA;IACnE,aAAa,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,IAAI,CAAA;IAElE,iBAAiB,EAAE,eAAe,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,IAAI,CAAA;IAC5E,iBAAiB,EAAE,eAAe,GAAG,IAAI,CAAA;IACzC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAA;IACjC,cAAc,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,IAAI,CAAA;IAEnE,SAAS,EAAE,cAAc,GAAG,IAAI,CAAA;IAChC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAA;CACnC;AAqBD,eAAO,MAAM,aAAa,EAAE,eA8N3B,CAAA"}
|
|
@@ -15,19 +15,18 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
15
15
|
* - contentPadding: Different content padding at different breakpoints
|
|
16
16
|
* - sectionMargin: Different margins at different breakpoints
|
|
17
17
|
* - visibility: Show/hide at different breakpoints
|
|
18
|
-
*/
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import { createResponsiveVisibilityField } from '../../fields/ResponsiveVisibilityField';
|
|
18
|
+
*/ import { useId } from 'react';
|
|
19
|
+
import { cn, dimensionsValueToCSS, marginValueToCSS, paddingValueToCSS, borderValueToCSS, backgroundValueToCSS, responsiveValueToCSS, visibilityValueToCSS } from '../../fields/shared.js';
|
|
20
|
+
import { AnimatedWrapper } from '../AnimatedWrapper.js';
|
|
21
|
+
import { createPaddingField } from '../../fields/PaddingField.js';
|
|
22
|
+
import { createBorderField } from '../../fields/BorderField.js';
|
|
23
|
+
import { createDimensionsField } from '../../fields/DimensionsField.js';
|
|
24
|
+
import { createMarginField } from '../../fields/MarginField.js';
|
|
25
|
+
import { createResetField } from '../../fields/ResetField.js';
|
|
26
|
+
import { createBackgroundField } from '../../fields/BackgroundField.js';
|
|
27
|
+
import { createAnimationField } from '../../fields/AnimationField.js';
|
|
28
|
+
import { createResponsiveField } from '../../fields/ResponsiveField.js';
|
|
29
|
+
import { createResponsiveVisibilityField } from '../../fields/ResponsiveVisibilityField.js';
|
|
31
30
|
// Default padding (none) - used for margin fields
|
|
32
31
|
const DEFAULT_PADDING = {
|
|
33
32
|
top: 0,
|
|
@@ -35,7 +34,7 @@ const DEFAULT_PADDING = {
|
|
|
35
34
|
bottom: 0,
|
|
36
35
|
left: 0,
|
|
37
36
|
unit: 'px',
|
|
38
|
-
linked: true
|
|
37
|
+
linked: true
|
|
39
38
|
};
|
|
40
39
|
// Default section padding - standard vertical spacing for sections
|
|
41
40
|
const DEFAULT_SECTION_PADDING = {
|
|
@@ -44,13 +43,17 @@ const DEFAULT_SECTION_PADDING = {
|
|
|
44
43
|
bottom: 48,
|
|
45
44
|
left: 0,
|
|
46
45
|
unit: 'px',
|
|
47
|
-
linked: false
|
|
46
|
+
linked: false
|
|
48
47
|
};
|
|
49
48
|
// Default content dimensions - 1200px max-width centered
|
|
50
49
|
const DEFAULT_CONTENT_DIMENSIONS = {
|
|
51
50
|
mode: 'contained',
|
|
52
51
|
alignment: 'center',
|
|
53
|
-
maxWidth: {
|
|
52
|
+
maxWidth: {
|
|
53
|
+
value: 1200,
|
|
54
|
+
unit: 'px',
|
|
55
|
+
enabled: true
|
|
56
|
+
}
|
|
54
57
|
};
|
|
55
58
|
// Default content padding with standard horizontal spacing
|
|
56
59
|
const DEFAULT_CONTENT_PADDING = {
|
|
@@ -59,7 +62,7 @@ const DEFAULT_CONTENT_PADDING = {
|
|
|
59
62
|
bottom: 0,
|
|
60
63
|
left: 16,
|
|
61
64
|
unit: 'px',
|
|
62
|
-
linked: false
|
|
65
|
+
linked: false
|
|
63
66
|
};
|
|
64
67
|
const defaultProps = {
|
|
65
68
|
id: '',
|
|
@@ -68,77 +71,121 @@ const defaultProps = {
|
|
|
68
71
|
// Section layer defaults - padding gives sections proper spacing
|
|
69
72
|
sectionBackground: null,
|
|
70
73
|
sectionBorder: null,
|
|
71
|
-
sectionPadding: {
|
|
74
|
+
sectionPadding: {
|
|
75
|
+
xs: DEFAULT_SECTION_PADDING
|
|
76
|
+
},
|
|
72
77
|
sectionMargin: null,
|
|
73
78
|
// Content layer defaults - 1200px max-width so two-layer design is immediately visible
|
|
74
|
-
contentDimensions: {
|
|
79
|
+
contentDimensions: {
|
|
80
|
+
xs: DEFAULT_CONTENT_DIMENSIONS
|
|
81
|
+
},
|
|
75
82
|
contentBackground: null,
|
|
76
83
|
contentBorder: null,
|
|
77
|
-
contentPadding: {
|
|
84
|
+
contentPadding: {
|
|
85
|
+
xs: DEFAULT_CONTENT_PADDING
|
|
86
|
+
},
|
|
78
87
|
// Other
|
|
79
88
|
animation: null,
|
|
80
|
-
visibility: null
|
|
89
|
+
visibility: null
|
|
81
90
|
};
|
|
82
91
|
export const SectionConfig = {
|
|
83
92
|
label: 'Section',
|
|
84
93
|
fields: {
|
|
85
|
-
_reset: createResetField({
|
|
94
|
+
_reset: createResetField({
|
|
95
|
+
defaultProps
|
|
96
|
+
}),
|
|
86
97
|
// Visibility first
|
|
87
|
-
visibility: createResponsiveVisibilityField({
|
|
98
|
+
visibility: createResponsiveVisibilityField({
|
|
99
|
+
label: 'Visibility'
|
|
100
|
+
}),
|
|
88
101
|
// Semantic element selection
|
|
89
102
|
semanticElement: {
|
|
90
103
|
type: 'select',
|
|
91
104
|
label: 'HTML Element',
|
|
92
105
|
options: [
|
|
93
|
-
{
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
{
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
106
|
+
{
|
|
107
|
+
label: 'Section',
|
|
108
|
+
value: 'section'
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
label: 'Article',
|
|
112
|
+
value: 'article'
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
label: 'Aside',
|
|
116
|
+
value: 'aside'
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
label: 'Nav',
|
|
120
|
+
value: 'nav'
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
label: 'Header',
|
|
124
|
+
value: 'header'
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
label: 'Footer',
|
|
128
|
+
value: 'footer'
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
label: 'Main',
|
|
132
|
+
value: 'main'
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
label: 'Div',
|
|
136
|
+
value: 'div'
|
|
137
|
+
}
|
|
138
|
+
]
|
|
102
139
|
},
|
|
103
140
|
// Section ID for anchors
|
|
104
141
|
id: {
|
|
105
142
|
type: 'text',
|
|
106
|
-
label: 'Section ID'
|
|
143
|
+
label: 'Section ID'
|
|
107
144
|
},
|
|
108
145
|
content: {
|
|
109
|
-
type: 'slot'
|
|
146
|
+
type: 'slot'
|
|
110
147
|
},
|
|
111
148
|
// Section layer (outer)
|
|
112
|
-
sectionBackground: createBackgroundField({
|
|
113
|
-
|
|
149
|
+
sectionBackground: createBackgroundField({
|
|
150
|
+
label: 'Section Background'
|
|
151
|
+
}),
|
|
152
|
+
sectionBorder: createBorderField({
|
|
153
|
+
label: 'Section Border'
|
|
154
|
+
}),
|
|
114
155
|
sectionPadding: createResponsiveField({
|
|
115
156
|
label: 'Section Padding',
|
|
116
|
-
innerField: (config)
|
|
117
|
-
defaultValue: DEFAULT_PADDING
|
|
157
|
+
innerField: (config)=>createPaddingField(config),
|
|
158
|
+
defaultValue: DEFAULT_PADDING
|
|
118
159
|
}),
|
|
119
160
|
sectionMargin: createResponsiveField({
|
|
120
161
|
label: 'Section Margin',
|
|
121
|
-
innerField: (config)
|
|
122
|
-
defaultValue: DEFAULT_PADDING
|
|
162
|
+
innerField: (config)=>createMarginField(config),
|
|
163
|
+
defaultValue: DEFAULT_PADDING
|
|
123
164
|
}),
|
|
124
165
|
// Content layer (inner)
|
|
125
166
|
contentDimensions: createResponsiveField({
|
|
126
167
|
label: 'Content Dimensions',
|
|
127
|
-
innerField: (config)
|
|
128
|
-
defaultValue: DEFAULT_CONTENT_DIMENSIONS
|
|
168
|
+
innerField: (config)=>createDimensionsField(config),
|
|
169
|
+
defaultValue: DEFAULT_CONTENT_DIMENSIONS
|
|
170
|
+
}),
|
|
171
|
+
contentBackground: createBackgroundField({
|
|
172
|
+
label: 'Content Background'
|
|
173
|
+
}),
|
|
174
|
+
contentBorder: createBorderField({
|
|
175
|
+
label: 'Content Border'
|
|
129
176
|
}),
|
|
130
|
-
contentBackground: createBackgroundField({ label: 'Content Background' }),
|
|
131
|
-
contentBorder: createBorderField({ label: 'Content Border' }),
|
|
132
177
|
contentPadding: createResponsiveField({
|
|
133
178
|
label: 'Content Padding',
|
|
134
|
-
innerField: (config)
|
|
135
|
-
defaultValue: DEFAULT_PADDING
|
|
179
|
+
innerField: (config)=>createPaddingField(config),
|
|
180
|
+
defaultValue: DEFAULT_PADDING
|
|
136
181
|
}),
|
|
137
182
|
// Animation
|
|
138
|
-
animation: createAnimationField({
|
|
183
|
+
animation: createAnimationField({
|
|
184
|
+
label: 'Animation'
|
|
185
|
+
})
|
|
139
186
|
},
|
|
140
187
|
defaultProps,
|
|
141
|
-
render: ({ id, content: Content, semanticElement = 'section', sectionBackground, sectionBorder, sectionPadding, sectionMargin, contentDimensions, contentBackground, contentBorder, contentPadding, animation, visibility
|
|
188
|
+
render: ({ id, content: Content, semanticElement = 'section', sectionBackground, sectionBorder, sectionPadding, sectionMargin, contentDimensions, contentBackground, contentBorder, contentPadding, animation, visibility })=>{
|
|
142
189
|
// Dynamic element based on semanticElement prop
|
|
143
190
|
const Wrapper = semanticElement;
|
|
144
191
|
// Generate unique IDs for CSS targeting
|
|
@@ -151,7 +198,7 @@ export const SectionConfig = {
|
|
|
151
198
|
// === Section layer styles (outer, full-width) ===
|
|
152
199
|
const sectionBackgroundStyles = backgroundValueToCSS(sectionBackground);
|
|
153
200
|
const sectionStyles = {
|
|
154
|
-
...sectionBackgroundStyles
|
|
201
|
+
...sectionBackgroundStyles
|
|
155
202
|
};
|
|
156
203
|
// Section border
|
|
157
204
|
const sectionBorderStyles = borderValueToCSS(sectionBorder);
|
|
@@ -159,13 +206,17 @@ export const SectionConfig = {
|
|
|
159
206
|
Object.assign(sectionStyles, sectionBorderStyles);
|
|
160
207
|
}
|
|
161
208
|
// Section padding with responsive support
|
|
162
|
-
const sectionPaddingResult = responsiveValueToCSS(sectionPadding, (v)
|
|
209
|
+
const sectionPaddingResult = responsiveValueToCSS(sectionPadding, (v)=>({
|
|
210
|
+
padding: paddingValueToCSS(v)
|
|
211
|
+
}), sectionClass);
|
|
163
212
|
Object.assign(sectionStyles, sectionPaddingResult.baseStyles);
|
|
164
213
|
if (sectionPaddingResult.mediaQueryCSS) {
|
|
165
214
|
mediaQueries.push(sectionPaddingResult.mediaQueryCSS);
|
|
166
215
|
}
|
|
167
216
|
// Section margin with responsive support
|
|
168
|
-
const sectionMarginResult = responsiveValueToCSS(sectionMargin, (v)
|
|
217
|
+
const sectionMarginResult = responsiveValueToCSS(sectionMargin, (v)=>({
|
|
218
|
+
margin: marginValueToCSS(v)
|
|
219
|
+
}), sectionClass);
|
|
169
220
|
Object.assign(sectionStyles, sectionMarginResult.baseStyles);
|
|
170
221
|
if (sectionMarginResult.mediaQueryCSS) {
|
|
171
222
|
mediaQueries.push(sectionMarginResult.mediaQueryCSS);
|
|
@@ -178,7 +229,7 @@ export const SectionConfig = {
|
|
|
178
229
|
// === Content layer styles (inner, constrained) ===
|
|
179
230
|
const contentBackgroundStyles = backgroundValueToCSS(contentBackground);
|
|
180
231
|
const contentStyles = {
|
|
181
|
-
...contentBackgroundStyles
|
|
232
|
+
...contentBackgroundStyles
|
|
182
233
|
};
|
|
183
234
|
// Content dimensions with responsive support
|
|
184
235
|
const contentDimensionsResult = responsiveValueToCSS(contentDimensions, dimensionsValueToCSS, contentClass);
|
|
@@ -187,15 +238,13 @@ export const SectionConfig = {
|
|
|
187
238
|
mediaQueries.push(contentDimensionsResult.mediaQueryCSS);
|
|
188
239
|
}
|
|
189
240
|
// Check if minHeight is set - if so, we need flex layout to make slot expand
|
|
190
|
-
const hasMinHeight = (()
|
|
191
|
-
if (!contentDimensions)
|
|
192
|
-
return false;
|
|
241
|
+
const hasMinHeight = (()=>{
|
|
242
|
+
if (!contentDimensions) return false;
|
|
193
243
|
// Check if it's a responsive value
|
|
194
244
|
if (typeof contentDimensions === 'object' && 'xs' in contentDimensions) {
|
|
195
245
|
const responsiveDims = contentDimensions;
|
|
196
|
-
return Object.values(responsiveDims).some((v)
|
|
197
|
-
if (!v || typeof v !== 'object')
|
|
198
|
-
return false;
|
|
246
|
+
return Object.values(responsiveDims).some((v)=>{
|
|
247
|
+
if (!v || typeof v !== 'object') return false;
|
|
199
248
|
const dim = v;
|
|
200
249
|
return dim.minHeight?.enabled && dim.minHeight?.value > 0;
|
|
201
250
|
});
|
|
@@ -215,7 +264,9 @@ export const SectionConfig = {
|
|
|
215
264
|
Object.assign(contentStyles, contentBorderStyles);
|
|
216
265
|
}
|
|
217
266
|
// Content padding with responsive support
|
|
218
|
-
const contentPaddingResult = responsiveValueToCSS(contentPadding, (v)
|
|
267
|
+
const contentPaddingResult = responsiveValueToCSS(contentPadding, (v)=>({
|
|
268
|
+
padding: paddingValueToCSS(v)
|
|
269
|
+
}), contentClass);
|
|
219
270
|
Object.assign(contentStyles, contentPaddingResult.baseStyles);
|
|
220
271
|
if (contentPaddingResult.mediaQueryCSS) {
|
|
221
272
|
mediaQueries.push(contentPaddingResult.mediaQueryCSS);
|
|
@@ -227,13 +278,45 @@ export const SectionConfig = {
|
|
|
227
278
|
// Combine all media queries
|
|
228
279
|
const allMediaQueryCSS = mediaQueries.join('\n');
|
|
229
280
|
// When minHeight is set, wrap Content to ensure slot expands
|
|
230
|
-
const renderContent = ()
|
|
281
|
+
const renderContent = ()=>{
|
|
231
282
|
if (hasMinHeight) {
|
|
232
|
-
return
|
|
283
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
284
|
+
style: {
|
|
285
|
+
flex: 1,
|
|
286
|
+
display: 'flex',
|
|
287
|
+
flexDirection: 'column',
|
|
288
|
+
minHeight: 0
|
|
289
|
+
},
|
|
290
|
+
children: /*#__PURE__*/ _jsx(Content, {
|
|
291
|
+
style: {
|
|
292
|
+
flex: 1
|
|
293
|
+
}
|
|
294
|
+
})
|
|
295
|
+
});
|
|
233
296
|
}
|
|
234
|
-
return _jsx(Content, {});
|
|
297
|
+
return /*#__PURE__*/ _jsx(Content, {});
|
|
235
298
|
};
|
|
236
|
-
return
|
|
237
|
-
|
|
299
|
+
return /*#__PURE__*/ _jsxs(AnimatedWrapper, {
|
|
300
|
+
animation: animation,
|
|
301
|
+
children: [
|
|
302
|
+
allMediaQueryCSS && /*#__PURE__*/ _jsx("style", {
|
|
303
|
+
children: allMediaQueryCSS
|
|
304
|
+
}),
|
|
305
|
+
/*#__PURE__*/ _jsx(Wrapper, {
|
|
306
|
+
id: id || undefined,
|
|
307
|
+
className: sectionClasses,
|
|
308
|
+
style: sectionStyles,
|
|
309
|
+
children: hasContentStyles ? /*#__PURE__*/ _jsx("div", {
|
|
310
|
+
className: contentClasses,
|
|
311
|
+
style: contentStyles,
|
|
312
|
+
children: renderContent()
|
|
313
|
+
}) : /*#__PURE__*/ _jsx(Content, {
|
|
314
|
+
className: contentClasses
|
|
315
|
+
})
|
|
316
|
+
})
|
|
317
|
+
]
|
|
318
|
+
});
|
|
319
|
+
}
|
|
238
320
|
};
|
|
321
|
+
|
|
239
322
|
//# sourceMappingURL=Section.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Section.js","sourceRoot":"","sources":["../../../src/components/layout/Section.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/layout/Section.tsx"],"sourcesContent":["/**\n * Section Component - Puck Configuration\n *\n * Full-width section with two-layer architecture:\n * - Section layer (outer): Full-bleed background, border, padding, margin\n * - Content layer (inner): Constrained content area with max-width, background, border, padding\n *\n * This design enables common patterns like hero sections with full-bleed backgrounds\n * but centered content.\n *\n * Responsive Controls:\n * - contentDimensions: Different max-width/min-height at different breakpoints\n * - sectionPadding: Different section padding at different breakpoints\n * - contentPadding: Different content padding at different breakpoints\n * - sectionMargin: Different margins at different breakpoints\n * - visibility: Show/hide at different breakpoints\n */\n\nimport { useId } from 'react'\nimport type { ComponentConfig } from '@puckeditor/core'\nimport {\n cn,\n dimensionsValueToCSS,\n marginValueToCSS,\n paddingValueToCSS,\n borderValueToCSS,\n backgroundValueToCSS,\n responsiveValueToCSS,\n visibilityValueToCSS,\n type PaddingValue,\n type BorderValue,\n type DimensionsValue,\n type BackgroundValue,\n type AnimationValue,\n type ResponsiveValue,\n type VisibilityValue,\n} from '../../fields/shared.js'\nimport { AnimatedWrapper } from '../AnimatedWrapper.js'\nimport { createPaddingField } from '../../fields/PaddingField.js'\nimport { createBorderField } from '../../fields/BorderField.js'\nimport { createDimensionsField } from '../../fields/DimensionsField.js'\nimport { createMarginField } from '../../fields/MarginField.js'\nimport { createResetField } from '../../fields/ResetField.js'\nimport { createBackgroundField } from '../../fields/BackgroundField.js'\nimport { createAnimationField } from '../../fields/AnimationField.js'\nimport { createResponsiveField } from '../../fields/ResponsiveField.js'\nimport { createResponsiveVisibilityField } from '../../fields/ResponsiveVisibilityField.js'\n\n// Default padding (none) - used for margin fields\nconst DEFAULT_PADDING: PaddingValue = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n unit: 'px',\n linked: true,\n}\n\n// Default section padding - standard vertical spacing for sections\nconst DEFAULT_SECTION_PADDING: PaddingValue = {\n top: 48,\n right: 0,\n bottom: 48,\n left: 0,\n unit: 'px',\n linked: false,\n}\n\n// Default content dimensions - 1200px max-width centered\nconst DEFAULT_CONTENT_DIMENSIONS: DimensionsValue = {\n mode: 'contained',\n alignment: 'center',\n maxWidth: { value: 1200, unit: 'px', enabled: true },\n}\n\n// Default content padding with standard horizontal spacing\nconst DEFAULT_CONTENT_PADDING: PaddingValue = {\n top: 0,\n right: 16,\n bottom: 0,\n left: 16,\n unit: 'px',\n linked: false,\n}\n\nexport type SemanticElement = 'section' | 'article' | 'aside' | 'nav' | 'div' | 'header' | 'footer' | 'main'\n\nexport interface SectionProps {\n id: string\n content: unknown\n semanticElement: SemanticElement\n // Section layer (outer, full-width)\n sectionBackground: BackgroundValue | null\n sectionBorder: BorderValue | null\n sectionPadding: ResponsiveValue<PaddingValue> | PaddingValue | null\n sectionMargin: ResponsiveValue<PaddingValue> | PaddingValue | null\n // Content layer (inner, constrained)\n contentDimensions: ResponsiveValue<DimensionsValue> | DimensionsValue | null\n contentBackground: BackgroundValue | null\n contentBorder: BorderValue | null\n contentPadding: ResponsiveValue<PaddingValue> | PaddingValue | null\n // Other\n animation: AnimationValue | null\n visibility: VisibilityValue | null\n}\n\nconst defaultProps: SectionProps = {\n id: '',\n content: [],\n semanticElement: 'section',\n // Section layer defaults - padding gives sections proper spacing\n sectionBackground: null,\n sectionBorder: null,\n sectionPadding: { xs: DEFAULT_SECTION_PADDING },\n sectionMargin: null,\n // Content layer defaults - 1200px max-width so two-layer design is immediately visible\n contentDimensions: { xs: DEFAULT_CONTENT_DIMENSIONS },\n contentBackground: null,\n contentBorder: null,\n contentPadding: { xs: DEFAULT_CONTENT_PADDING },\n // Other\n animation: null,\n visibility: null,\n}\n\nexport const SectionConfig: ComponentConfig = {\n label: 'Section',\n fields: {\n _reset: createResetField({ defaultProps }),\n // Visibility first\n visibility: createResponsiveVisibilityField({ label: 'Visibility' }),\n // Semantic element selection\n semanticElement: {\n type: 'select',\n label: 'HTML Element',\n options: [\n { label: 'Section', value: 'section' },\n { label: 'Article', value: 'article' },\n { label: 'Aside', value: 'aside' },\n { label: 'Nav', value: 'nav' },\n { label: 'Header', value: 'header' },\n { label: 'Footer', value: 'footer' },\n { label: 'Main', value: 'main' },\n { label: 'Div', value: 'div' },\n ],\n },\n // Section ID for anchors\n id: {\n type: 'text',\n label: 'Section ID',\n },\n content: {\n type: 'slot',\n },\n // Section layer (outer)\n sectionBackground: createBackgroundField({ label: 'Section Background' }),\n sectionBorder: createBorderField({ label: 'Section Border' }),\n sectionPadding: createResponsiveField({\n label: 'Section Padding',\n innerField: (config) => createPaddingField(config),\n defaultValue: DEFAULT_PADDING,\n }),\n sectionMargin: createResponsiveField({\n label: 'Section Margin',\n innerField: (config) => createMarginField(config),\n defaultValue: DEFAULT_PADDING,\n }),\n // Content layer (inner)\n contentDimensions: createResponsiveField({\n label: 'Content Dimensions',\n innerField: (config) => createDimensionsField(config),\n defaultValue: DEFAULT_CONTENT_DIMENSIONS,\n }),\n contentBackground: createBackgroundField({ label: 'Content Background' }),\n contentBorder: createBorderField({ label: 'Content Border' }),\n contentPadding: createResponsiveField({\n label: 'Content Padding',\n innerField: (config) => createPaddingField(config),\n defaultValue: DEFAULT_PADDING,\n }),\n // Animation\n animation: createAnimationField({ label: 'Animation' }),\n },\n defaultProps,\n render: ({\n id,\n content: Content,\n semanticElement = 'section',\n sectionBackground,\n sectionBorder,\n sectionPadding,\n sectionMargin,\n contentDimensions,\n contentBackground,\n contentBorder,\n contentPadding,\n animation,\n visibility,\n }) => {\n // Dynamic element based on semanticElement prop\n const Wrapper = semanticElement as React.ElementType\n // Generate unique IDs for CSS targeting\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const uniqueId = useId().replace(/:/g, '')\n const sectionClass = `puck-section-${uniqueId}`\n const contentClass = `puck-section-content-${uniqueId}`\n\n // Collect all media query CSS\n const mediaQueries: string[] = []\n\n // === Section layer styles (outer, full-width) ===\n const sectionBackgroundStyles = backgroundValueToCSS(sectionBackground)\n const sectionStyles: React.CSSProperties = {\n ...sectionBackgroundStyles,\n }\n\n // Section border\n const sectionBorderStyles = borderValueToCSS(sectionBorder)\n if (sectionBorderStyles) {\n Object.assign(sectionStyles, sectionBorderStyles)\n }\n\n // Section padding with responsive support\n const sectionPaddingResult = responsiveValueToCSS(\n sectionPadding,\n (v) => ({ padding: paddingValueToCSS(v) }),\n sectionClass\n )\n Object.assign(sectionStyles, sectionPaddingResult.baseStyles)\n if (sectionPaddingResult.mediaQueryCSS) {\n mediaQueries.push(sectionPaddingResult.mediaQueryCSS)\n }\n\n // Section margin with responsive support\n const sectionMarginResult = responsiveValueToCSS(\n sectionMargin,\n (v) => ({ margin: marginValueToCSS(v) }),\n sectionClass\n )\n Object.assign(sectionStyles, sectionMarginResult.baseStyles)\n if (sectionMarginResult.mediaQueryCSS) {\n mediaQueries.push(sectionMarginResult.mediaQueryCSS)\n }\n\n // Visibility media queries\n const visibilityCSS = visibilityValueToCSS(visibility, sectionClass)\n if (visibilityCSS) {\n mediaQueries.push(visibilityCSS)\n }\n\n // === Content layer styles (inner, constrained) ===\n const contentBackgroundStyles = backgroundValueToCSS(contentBackground)\n const contentStyles: React.CSSProperties = {\n ...contentBackgroundStyles,\n }\n\n // Content dimensions with responsive support\n const contentDimensionsResult = responsiveValueToCSS(\n contentDimensions,\n dimensionsValueToCSS,\n contentClass\n )\n Object.assign(contentStyles, contentDimensionsResult.baseStyles)\n if (contentDimensionsResult.mediaQueryCSS) {\n mediaQueries.push(contentDimensionsResult.mediaQueryCSS)\n }\n\n // Check if minHeight is set - if so, we need flex layout to make slot expand\n const hasMinHeight = (() => {\n if (!contentDimensions) return false\n // Check if it's a responsive value\n if (typeof contentDimensions === 'object' && 'xs' in contentDimensions) {\n const responsiveDims = contentDimensions as ResponsiveValue<DimensionsValue>\n return Object.values(responsiveDims).some((v) => {\n if (!v || typeof v !== 'object') return false\n const dim = v as DimensionsValue\n return dim.minHeight?.enabled && dim.minHeight?.value > 0\n })\n }\n // Non-responsive value\n const dim = contentDimensions as DimensionsValue\n return dim.minHeight?.enabled && dim.minHeight?.value > 0\n })()\n\n // Add flex layout when minHeight is set to make content stretch\n if (hasMinHeight) {\n contentStyles.display = 'flex'\n contentStyles.flexDirection = 'column'\n }\n\n // Content border\n const contentBorderStyles = borderValueToCSS(contentBorder)\n if (contentBorderStyles) {\n Object.assign(contentStyles, contentBorderStyles)\n }\n\n // Content padding with responsive support\n const contentPaddingResult = responsiveValueToCSS(\n contentPadding,\n (v) => ({ padding: paddingValueToCSS(v) }),\n contentClass\n )\n Object.assign(contentStyles, contentPaddingResult.baseStyles)\n if (contentPaddingResult.mediaQueryCSS) {\n mediaQueries.push(contentPaddingResult.mediaQueryCSS)\n }\n\n const sectionClasses = cn('relative w-full', sectionClass)\n const contentClasses = cn('relative z-10', contentClass)\n\n // Check if we have any content styling\n const hasContentStyles = Object.keys(contentStyles).length > 0\n\n // Combine all media queries\n const allMediaQueryCSS = mediaQueries.join('\\n')\n\n // When minHeight is set, wrap Content to ensure slot expands\n const renderContent = () => {\n if (hasMinHeight) {\n return (\n <div style={{ flex: 1, display: 'flex', flexDirection: 'column', minHeight: 0 }}>\n <Content style={{ flex: 1 }} />\n </div>\n )\n }\n return <Content />\n }\n\n return (\n <AnimatedWrapper animation={animation}>\n {allMediaQueryCSS && <style>{allMediaQueryCSS}</style>}\n <Wrapper\n id={id || undefined}\n className={sectionClasses}\n style={sectionStyles}\n >\n {hasContentStyles ? (\n <div className={contentClasses} style={contentStyles}>\n {renderContent()}\n </div>\n ) : (\n <Content className={contentClasses} />\n )}\n </Wrapper>\n </AnimatedWrapper>\n )\n },\n}\n"],"names":["useId","cn","dimensionsValueToCSS","marginValueToCSS","paddingValueToCSS","borderValueToCSS","backgroundValueToCSS","responsiveValueToCSS","visibilityValueToCSS","AnimatedWrapper","createPaddingField","createBorderField","createDimensionsField","createMarginField","createResetField","createBackgroundField","createAnimationField","createResponsiveField","createResponsiveVisibilityField","DEFAULT_PADDING","top","right","bottom","left","unit","linked","DEFAULT_SECTION_PADDING","DEFAULT_CONTENT_DIMENSIONS","mode","alignment","maxWidth","value","enabled","DEFAULT_CONTENT_PADDING","defaultProps","id","content","semanticElement","sectionBackground","sectionBorder","sectionPadding","xs","sectionMargin","contentDimensions","contentBackground","contentBorder","contentPadding","animation","visibility","SectionConfig","label","fields","_reset","type","options","innerField","config","defaultValue","render","Content","Wrapper","uniqueId","replace","sectionClass","contentClass","mediaQueries","sectionBackgroundStyles","sectionStyles","sectionBorderStyles","Object","assign","sectionPaddingResult","v","padding","baseStyles","mediaQueryCSS","push","sectionMarginResult","margin","visibilityCSS","contentBackgroundStyles","contentStyles","contentDimensionsResult","hasMinHeight","responsiveDims","values","some","dim","minHeight","display","flexDirection","contentBorderStyles","contentPaddingResult","sectionClasses","contentClasses","hasContentStyles","keys","length","allMediaQueryCSS","join","renderContent","div","style","flex","undefined","className"],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* - visibility: Show/hide at different breakpoints
|
|
17
17
|
*/
|
|
18
18
|
import type { ComponentConfig } from '@puckeditor/core';
|
|
19
|
-
import { type PaddingValue, type BorderValue, type DimensionsValue, type BackgroundValue, type AnimationValue, type ResponsiveValue, type VisibilityValue } from '../../fields/shared';
|
|
19
|
+
import { type PaddingValue, type BorderValue, type DimensionsValue, type BackgroundValue, type AnimationValue, type ResponsiveValue, type VisibilityValue } from '../../fields/shared.js';
|
|
20
20
|
export type SemanticElement = 'section' | 'article' | 'aside' | 'nav' | 'div' | 'header' | 'footer' | 'main';
|
|
21
21
|
export interface SectionProps {
|
|
22
22
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Section.server.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Section.server.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,
|
|
1
|
+
{"version":3,"file":"Section.server.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Section.server.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAA;AAoC/B,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE5G,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,eAAe,CAAA;IAEhC,iBAAiB,EAAE,eAAe,GAAG,IAAI,CAAA;IACzC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAA;IACjC,cAAc,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,IAAI,CAAA;IACnE,aAAa,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,IAAI,CAAA;IAElE,iBAAiB,EAAE,eAAe,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,IAAI,CAAA;IAC5E,iBAAiB,EAAE,eAAe,GAAG,IAAI,CAAA;IACzC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAA;IACjC,cAAc,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,IAAI,CAAA;IAEnE,SAAS,EAAE,cAAc,GAAG,IAAI,CAAA;IAChC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAA;CACnC;AAqBD,eAAO,MAAM,aAAa,EAAE,eA2K3B,CAAA"}
|