@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
|
@@ -4,13 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Uses IntersectionObserver to detect when an element enters the viewport.
|
|
6
6
|
* Perfect for triggering entrance animations, lazy loading, or scroll-based effects.
|
|
7
|
-
*/
|
|
8
|
-
import { useRef, useState, useEffect, useCallback } from 'react';
|
|
7
|
+
*/ import { useRef, useState, useEffect, useCallback } from 'react';
|
|
9
8
|
// =============================================================================
|
|
10
9
|
// Hook Implementation
|
|
11
10
|
// =============================================================================
|
|
12
11
|
export function useScrollAnimation(options = {}) {
|
|
13
|
-
const { triggerOnScroll = true, threshold = 0.1, once = true, rootMargin = '0px', delay = 0
|
|
12
|
+
const { triggerOnScroll = true, threshold = 0.1, once = true, rootMargin = '0px', delay = 0 } = options;
|
|
14
13
|
const ref = useRef(null);
|
|
15
14
|
// Always start with isInView: false to allow initial → animate transition
|
|
16
15
|
const [isInView, setIsInView] = useState(false);
|
|
@@ -18,7 +17,7 @@ export function useScrollAnimation(options = {}) {
|
|
|
18
17
|
const timeoutRef = useRef(null);
|
|
19
18
|
const hasMountedRef = useRef(false);
|
|
20
19
|
// Reset function
|
|
21
|
-
const reset = useCallback(()
|
|
20
|
+
const reset = useCallback(()=>{
|
|
22
21
|
setIsInView(false);
|
|
23
22
|
setHasAnimated(false);
|
|
24
23
|
hasMountedRef.current = false;
|
|
@@ -27,24 +26,22 @@ export function useScrollAnimation(options = {}) {
|
|
|
27
26
|
timeoutRef.current = null;
|
|
28
27
|
}
|
|
29
28
|
}, []);
|
|
30
|
-
useEffect(()
|
|
29
|
+
useEffect(()=>{
|
|
31
30
|
// If not triggering on scroll, animate immediately after mount
|
|
32
31
|
// Use requestAnimationFrame to ensure the initial state is rendered first
|
|
33
32
|
if (!triggerOnScroll) {
|
|
34
33
|
// Skip if already mounted (prevents re-triggering on re-renders)
|
|
35
|
-
if (hasMountedRef.current)
|
|
36
|
-
return;
|
|
34
|
+
if (hasMountedRef.current) return;
|
|
37
35
|
hasMountedRef.current = true;
|
|
38
36
|
// Use double RAF to ensure browser has painted initial state
|
|
39
|
-
requestAnimationFrame(()
|
|
40
|
-
requestAnimationFrame(()
|
|
37
|
+
requestAnimationFrame(()=>{
|
|
38
|
+
requestAnimationFrame(()=>{
|
|
41
39
|
if (delay > 0) {
|
|
42
|
-
timeoutRef.current = setTimeout(()
|
|
40
|
+
timeoutRef.current = setTimeout(()=>{
|
|
43
41
|
setIsInView(true);
|
|
44
42
|
setHasAnimated(true);
|
|
45
43
|
}, delay);
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
44
|
+
} else {
|
|
48
45
|
setIsInView(true);
|
|
49
46
|
setHasAnimated(true);
|
|
50
47
|
}
|
|
@@ -57,26 +54,24 @@ export function useScrollAnimation(options = {}) {
|
|
|
57
54
|
return;
|
|
58
55
|
}
|
|
59
56
|
const element = ref.current;
|
|
60
|
-
if (!element)
|
|
61
|
-
return;
|
|
57
|
+
if (!element) return;
|
|
62
58
|
// Check if IntersectionObserver is available (SSR safety)
|
|
63
59
|
if (typeof IntersectionObserver === 'undefined') {
|
|
64
60
|
setIsInView(true);
|
|
65
61
|
setHasAnimated(true);
|
|
66
62
|
return;
|
|
67
63
|
}
|
|
68
|
-
const observer = new IntersectionObserver((entries)
|
|
64
|
+
const observer = new IntersectionObserver((entries)=>{
|
|
69
65
|
const [entry] = entries;
|
|
70
66
|
const inView = entry.isIntersecting;
|
|
71
67
|
if (inView) {
|
|
72
68
|
if (delay > 0) {
|
|
73
69
|
// Apply delay before setting isInView
|
|
74
|
-
timeoutRef.current = setTimeout(()
|
|
70
|
+
timeoutRef.current = setTimeout(()=>{
|
|
75
71
|
setIsInView(true);
|
|
76
72
|
setHasAnimated(true);
|
|
77
73
|
}, delay);
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
74
|
+
} else {
|
|
80
75
|
setIsInView(true);
|
|
81
76
|
setHasAnimated(true);
|
|
82
77
|
}
|
|
@@ -84,8 +79,7 @@ export function useScrollAnimation(options = {}) {
|
|
|
84
79
|
if (once) {
|
|
85
80
|
observer.disconnect();
|
|
86
81
|
}
|
|
87
|
-
}
|
|
88
|
-
else if (!once) {
|
|
82
|
+
} else if (!once) {
|
|
89
83
|
// Only update isInView to false if not in once mode
|
|
90
84
|
if (timeoutRef.current) {
|
|
91
85
|
clearTimeout(timeoutRef.current);
|
|
@@ -95,22 +89,30 @@ export function useScrollAnimation(options = {}) {
|
|
|
95
89
|
}
|
|
96
90
|
}, {
|
|
97
91
|
threshold,
|
|
98
|
-
rootMargin
|
|
92
|
+
rootMargin
|
|
99
93
|
});
|
|
100
94
|
observer.observe(element);
|
|
101
|
-
return ()
|
|
95
|
+
return ()=>{
|
|
102
96
|
observer.disconnect();
|
|
103
97
|
if (timeoutRef.current) {
|
|
104
98
|
clearTimeout(timeoutRef.current);
|
|
105
99
|
timeoutRef.current = null;
|
|
106
100
|
}
|
|
107
101
|
};
|
|
108
|
-
}, [
|
|
102
|
+
}, [
|
|
103
|
+
triggerOnScroll,
|
|
104
|
+
threshold,
|
|
105
|
+
once,
|
|
106
|
+
rootMargin,
|
|
107
|
+
delay,
|
|
108
|
+
hasAnimated
|
|
109
|
+
]);
|
|
109
110
|
return {
|
|
110
111
|
ref,
|
|
111
112
|
isInView,
|
|
112
113
|
hasAnimated,
|
|
113
|
-
reset
|
|
114
|
+
reset
|
|
114
115
|
};
|
|
115
116
|
}
|
|
117
|
+
|
|
116
118
|
//# sourceMappingURL=useScrollAnimation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useScrollAnimation.ts"],"sourcesContent":["'use client'\n\n/**\n * useScrollAnimation - Hook for scroll-triggered animations\n *\n * Uses IntersectionObserver to detect when an element enters the viewport.\n * Perfect for triggering entrance animations, lazy loading, or scroll-based effects.\n */\n\nimport { useRef, useState, useEffect, useCallback } from 'react'\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface UseScrollAnimationOptions {\n /**\n * Whether to trigger animation on scroll into view.\n * If false, isInView will always be true.\n * @default true\n */\n triggerOnScroll?: boolean\n\n /**\n * Threshold for intersection (0-1).\n * 0 = trigger as soon as any pixel is visible.\n * 1 = trigger only when fully visible.\n * @default 0.1\n */\n threshold?: number\n\n /**\n * Whether to only trigger once.\n * If true, hasAnimated will stay true after first trigger.\n * @default true\n */\n once?: boolean\n\n /**\n * Root margin for intersection observer.\n * Allows triggering before/after the element enters the viewport.\n * @example \"-50px\" // Trigger 50px before entering viewport\n * @example \"100px 0px\" // 100px top/bottom, 0px left/right\n * @default \"0px\"\n */\n rootMargin?: string\n\n /**\n * Delay in milliseconds before setting isInView to true.\n * Useful for staggering animations.\n * @default 0\n */\n delay?: number\n}\n\nexport interface UseScrollAnimationResult<T extends HTMLElement = HTMLElement> {\n /**\n * Ref to attach to the element you want to observe\n */\n ref: React.RefObject<T | null>\n\n /**\n * Whether the element is currently in view\n */\n isInView: boolean\n\n /**\n * Whether the element has ever been in view\n * (useful for once-only animations)\n */\n hasAnimated: boolean\n\n /**\n * Manually reset the animation state\n */\n reset: () => void\n}\n\n// =============================================================================\n// Hook Implementation\n// =============================================================================\n\nexport function useScrollAnimation<T extends HTMLElement = HTMLElement>(\n options: UseScrollAnimationOptions = {}\n): UseScrollAnimationResult<T> {\n const {\n triggerOnScroll = true,\n threshold = 0.1,\n once = true,\n rootMargin = '0px',\n delay = 0,\n } = options\n\n const ref = useRef<T | null>(null)\n // Always start with isInView: false to allow initial → animate transition\n const [isInView, setIsInView] = useState(false)\n const [hasAnimated, setHasAnimated] = useState(false)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const hasMountedRef = useRef(false)\n\n // Reset function\n const reset = useCallback(() => {\n setIsInView(false)\n setHasAnimated(false)\n hasMountedRef.current = false\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n }, [])\n\n useEffect(() => {\n // If not triggering on scroll, animate immediately after mount\n // Use requestAnimationFrame to ensure the initial state is rendered first\n if (!triggerOnScroll) {\n // Skip if already mounted (prevents re-triggering on re-renders)\n if (hasMountedRef.current) return\n hasMountedRef.current = true\n\n // Use double RAF to ensure browser has painted initial state\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (delay > 0) {\n timeoutRef.current = setTimeout(() => {\n setIsInView(true)\n setHasAnimated(true)\n }, delay)\n } else {\n setIsInView(true)\n setHasAnimated(true)\n }\n })\n })\n return\n }\n\n // If once mode and already animated, skip observer setup\n if (once && hasAnimated) {\n return\n }\n\n const element = ref.current\n if (!element) return\n\n // Check if IntersectionObserver is available (SSR safety)\n if (typeof IntersectionObserver === 'undefined') {\n setIsInView(true)\n setHasAnimated(true)\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n const [entry] = entries\n const inView = entry.isIntersecting\n\n if (inView) {\n if (delay > 0) {\n // Apply delay before setting isInView\n timeoutRef.current = setTimeout(() => {\n setIsInView(true)\n setHasAnimated(true)\n }, delay)\n } else {\n setIsInView(true)\n setHasAnimated(true)\n }\n\n // If once mode, disconnect observer after triggering\n if (once) {\n observer.disconnect()\n }\n } else if (!once) {\n // Only update isInView to false if not in once mode\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n setIsInView(false)\n }\n },\n {\n threshold,\n rootMargin,\n }\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n }\n }, [triggerOnScroll, threshold, once, rootMargin, delay, hasAnimated])\n\n return {\n ref,\n isInView,\n hasAnimated,\n reset,\n }\n}\n"],"names":["useRef","useState","useEffect","useCallback","useScrollAnimation","options","triggerOnScroll","threshold","once","rootMargin","delay","ref","isInView","setIsInView","hasAnimated","setHasAnimated","timeoutRef","hasMountedRef","reset","current","clearTimeout","requestAnimationFrame","setTimeout","element","IntersectionObserver","observer","entries","entry","inView","isIntersecting","disconnect","observe"],"mappings":"AAAA;AAEA;;;;;CAKC,GAED,SAASA,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,QAAQ,QAAO;AAqEhE,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,OAAO,SAASC,mBACdC,UAAqC,CAAC,CAAC;IAEvC,MAAM,EACJC,kBAAkB,IAAI,EACtBC,YAAY,GAAG,EACfC,OAAO,IAAI,EACXC,aAAa,KAAK,EAClBC,QAAQ,CAAC,EACV,GAAGL;IAEJ,MAAMM,MAAMX,OAAiB;IAC7B,0EAA0E;IAC1E,MAAM,CAACY,UAAUC,YAAY,GAAGZ,SAAS;IACzC,MAAM,CAACa,aAAaC,eAAe,GAAGd,SAAS;IAC/C,MAAMe,aAAahB,OAA6C;IAChE,MAAMiB,gBAAgBjB,OAAO;IAE7B,iBAAiB;IACjB,MAAMkB,QAAQf,YAAY;QACxBU,YAAY;QACZE,eAAe;QACfE,cAAcE,OAAO,GAAG;QACxB,IAAIH,WAAWG,OAAO,EAAE;YACtBC,aAAaJ,WAAWG,OAAO;YAC/BH,WAAWG,OAAO,GAAG;QACvB;IACF,GAAG,EAAE;IAELjB,UAAU;QACR,+DAA+D;QAC/D,0EAA0E;QAC1E,IAAI,CAACI,iBAAiB;YACpB,iEAAiE;YACjE,IAAIW,cAAcE,OAAO,EAAE;YAC3BF,cAAcE,OAAO,GAAG;YAExB,6DAA6D;YAC7DE,sBAAsB;gBACpBA,sBAAsB;oBACpB,IAAIX,QAAQ,GAAG;wBACbM,WAAWG,OAAO,GAAGG,WAAW;4BAC9BT,YAAY;4BACZE,eAAe;wBACjB,GAAGL;oBACL,OAAO;wBACLG,YAAY;wBACZE,eAAe;oBACjB;gBACF;YACF;YACA;QACF;QAEA,yDAAyD;QACzD,IAAIP,QAAQM,aAAa;YACvB;QACF;QAEA,MAAMS,UAAUZ,IAAIQ,OAAO;QAC3B,IAAI,CAACI,SAAS;QAEd,0DAA0D;QAC1D,IAAI,OAAOC,yBAAyB,aAAa;YAC/CX,YAAY;YACZE,eAAe;YACf;QACF;QAEA,MAAMU,WAAW,IAAID,qBACnB,CAACE;YACC,MAAM,CAACC,MAAM,GAAGD;YAChB,MAAME,SAASD,MAAME,cAAc;YAEnC,IAAID,QAAQ;gBACV,IAAIlB,QAAQ,GAAG;oBACb,sCAAsC;oBACtCM,WAAWG,OAAO,GAAGG,WAAW;wBAC9BT,YAAY;wBACZE,eAAe;oBACjB,GAAGL;gBACL,OAAO;oBACLG,YAAY;oBACZE,eAAe;gBACjB;gBAEA,qDAAqD;gBACrD,IAAIP,MAAM;oBACRiB,SAASK,UAAU;gBACrB;YACF,OAAO,IAAI,CAACtB,MAAM;gBAChB,oDAAoD;gBACpD,IAAIQ,WAAWG,OAAO,EAAE;oBACtBC,aAAaJ,WAAWG,OAAO;oBAC/BH,WAAWG,OAAO,GAAG;gBACvB;gBACAN,YAAY;YACd;QACF,GACA;YACEN;YACAE;QACF;QAGFgB,SAASM,OAAO,CAACR;QAEjB,OAAO;YACLE,SAASK,UAAU;YACnB,IAAId,WAAWG,OAAO,EAAE;gBACtBC,aAAaJ,WAAWG,OAAO;gBAC/BH,WAAWG,OAAO,GAAG;YACvB;QACF;IACF,GAAG;QAACb;QAAiBC;QAAWC;QAAMC;QAAYC;QAAOI;KAAY;IAErE,OAAO;QACLH;QACAC;QACAE;QACAI;IACF;AACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
* })
|
|
60
60
|
* ```
|
|
61
61
|
*/
|
|
62
|
-
export * from './types';
|
|
63
|
-
export { createPuckPlugin, generatePagesCollection, generatePuckEditField, TemplatesCollection, } from './plugin';
|
|
64
|
-
export { getPuckFields, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup, } from './plugin';
|
|
65
|
-
export type { GetPuckFieldsOptions } from './plugin/fields/types';
|
|
62
|
+
export * from './types/index.js';
|
|
63
|
+
export { createPuckPlugin, generatePagesCollection, generatePuckEditField, TemplatesCollection, } from './plugin/index.js';
|
|
64
|
+
export { getPuckFields, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup, } from './plugin/index.js';
|
|
65
|
+
export type { GetPuckFieldsOptions } from './plugin/fields/types.js';
|
|
66
66
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAGH,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAGH,cAAc,kBAAkB,CAAA;AAGhC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAG1B,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -58,11 +58,11 @@
|
|
|
58
58
|
* },
|
|
59
59
|
* })
|
|
60
60
|
* ```
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
|
-
export * from './types';
|
|
61
|
+
*/ // Re-export all types
|
|
62
|
+
export * from './types/index.js';
|
|
64
63
|
// Re-export plugin utilities
|
|
65
|
-
export { createPuckPlugin, generatePagesCollection, generatePuckEditField, TemplatesCollection
|
|
64
|
+
export { createPuckPlugin, generatePagesCollection, generatePuckEditField, TemplatesCollection } from './plugin/index.js';
|
|
66
65
|
// Re-export field utilities for hybrid collection integration
|
|
67
|
-
export { getPuckFields, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup
|
|
66
|
+
export { getPuckFields, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup } from './plugin/index.js';
|
|
67
|
+
|
|
68
68
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @delmaredigital/payload-puck\n *\n * A portable PayloadCMS plugin for Puck visual page builder integration.\n *\n * @example\n * ```typescript\n * // In payload.config.ts\n * import { createPuckPlugin } from '@delmaredigital/payload-puck/plugin'\n *\n * export default buildConfig({\n * plugins: [\n * createPuckPlugin({\n * pagesCollection: 'pages',\n * }),\n * ],\n * })\n * ```\n *\n * @example\n * ```typescript\n * // Using config for rendering\n * import { baseConfig } from '@delmaredigital/payload-puck/config'\n * import { PageRenderer } from '@delmaredigital/payload-puck/render'\n *\n * <PageRenderer data={page.puckData} config={baseConfig} />\n * ```\n *\n * @example\n * ```typescript\n * // Merging custom components\n * import { mergeConfigs, editorConfig } from '@delmaredigital/payload-puck/config/editor'\n *\n * const customConfig = mergeConfigs({\n * base: editorConfig,\n * components: {\n * CustomHero: myHeroConfig,\n * },\n * categories: {\n * custom: { title: 'Custom', components: ['CustomHero'] },\n * },\n * })\n * ```\n *\n * @example\n * ```typescript\n * // Creating API routes\n * // src/app/api/puck/pages/route.ts\n * import { createPuckApiRoutes } from '@delmaredigital/payload-puck/api'\n *\n * export const { GET, POST } = createPuckApiRoutes({\n * auth: {\n * authenticate: async (request) => {\n * const session = await getSession(request)\n * if (!session?.user) return { authenticated: false }\n * return { authenticated: true, user: session.user }\n * },\n * },\n * })\n * ```\n */\n\n// Re-export all types\nexport * from './types/index.js'\n\n// Re-export plugin utilities\nexport {\n createPuckPlugin,\n generatePagesCollection,\n generatePuckEditField,\n TemplatesCollection,\n} from './plugin/index.js'\n\n// Re-export field utilities for hybrid collection integration\nexport {\n getPuckFields,\n puckDataField,\n editorVersionField,\n createEditorVersionField,\n pageLayoutField,\n createPageLayoutField,\n isHomepageField,\n seoFieldGroup,\n conversionFieldGroup,\n} from './plugin/index.js'\n\n// Re-export field types\nexport type { GetPuckFieldsOptions } from './plugin/fields/types.js'\n"],"names":["createPuckPlugin","generatePagesCollection","generatePuckEditField","TemplatesCollection","getPuckFields","puckDataField","editorVersionField","createEditorVersionField","pageLayoutField","createPageLayoutField","isHomepageField","seoFieldGroup","conversionFieldGroup"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DC,GAED,sBAAsB;AACtB,cAAc,mBAAkB;AAEhC,6BAA6B;AAC7B,SACEA,gBAAgB,EAChBC,uBAAuB,EACvBC,qBAAqB,EACrBC,mBAAmB,QACd,oBAAmB;AAE1B,8DAA8D;AAC9D,SACEC,aAAa,EACbC,aAAa,EACbC,kBAAkB,EAClBC,wBAAwB,EACxBC,eAAe,EACfC,qBAAqB,EACrBC,eAAe,EACfC,aAAa,EACbC,oBAAoB,QACf,oBAAmB"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Wraps page content with layout-specific styling and structure.
|
|
5
5
|
*/
|
|
6
6
|
import type { ReactNode } from 'react';
|
|
7
|
-
import type { LayoutDefinition } from './types';
|
|
8
|
-
import { type BackgroundValue } from '../fields/shared';
|
|
7
|
+
import type { LayoutDefinition } from './types.js';
|
|
8
|
+
import { type BackgroundValue } from '../fields/shared.js';
|
|
9
9
|
/**
|
|
10
10
|
* Page-level overrides for layout settings
|
|
11
11
|
*/
|
|
@@ -29,5 +29,5 @@ export interface LayoutWrapperProps {
|
|
|
29
29
|
/**
|
|
30
30
|
* Applies layout configuration to page content
|
|
31
31
|
*/
|
|
32
|
-
export declare function LayoutWrapper({ children, layout, className, overrides }: LayoutWrapperProps): import("react
|
|
32
|
+
export declare function LayoutWrapper({ children, layout, className, overrides }: LayoutWrapperProps): import("react").JSX.Element;
|
|
33
33
|
//# sourceMappingURL=LayoutWrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutWrapper.d.ts","sourceRoot":"","sources":["../../src/layouts/LayoutWrapper.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,OAAO,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"LayoutWrapper.d.ts","sourceRoot":"","sources":["../../src/layouts/LayoutWrapper.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,OAAO,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEhF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAA;IACxC,iFAAiF;IACjF,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAA;IACxC,wDAAwD;IACxD,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IACnC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,SAAS,CAAC,EAAE,aAAa,CAAA;CAC1B;AAeD;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,kBAAkB,+BA8J3F"}
|
|
@@ -1,112 +1,176 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Layout Wrapper Component
|
|
3
|
+
*
|
|
4
|
+
* Wraps page content with layout-specific styling and structure.
|
|
5
|
+
*/ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
6
|
+
import { backgroundValueToCSS } from '../fields/shared.js';
|
|
3
7
|
/**
|
|
4
8
|
* Styles for sticky footer layout - pushes footer to bottom of viewport
|
|
5
|
-
*/
|
|
6
|
-
const stickyFooterContainerStyle = {
|
|
9
|
+
*/ const stickyFooterContainerStyle = {
|
|
7
10
|
minHeight: '100vh',
|
|
8
11
|
display: 'flex',
|
|
9
|
-
flexDirection: 'column'
|
|
12
|
+
flexDirection: 'column'
|
|
10
13
|
};
|
|
11
14
|
const stickyFooterMainStyle = {
|
|
12
|
-
flex: 1
|
|
15
|
+
flex: 1
|
|
13
16
|
};
|
|
14
17
|
/**
|
|
15
18
|
* Applies layout configuration to page content
|
|
16
|
-
*/
|
|
17
|
-
export function LayoutWrapper({ children, layout, className, overrides }) {
|
|
19
|
+
*/ export function LayoutWrapper({ children, layout, className, overrides }) {
|
|
18
20
|
// No layout - render children directly (but still apply background if set)
|
|
19
21
|
if (!layout) {
|
|
20
22
|
if (overrides?.background) {
|
|
21
23
|
const bgStyles = backgroundValueToCSS(overrides.background);
|
|
22
|
-
return _jsx("div", {
|
|
24
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
25
|
+
style: {
|
|
26
|
+
minHeight: '100vh',
|
|
27
|
+
...bgStyles
|
|
28
|
+
},
|
|
29
|
+
children: children
|
|
30
|
+
});
|
|
23
31
|
}
|
|
24
|
-
return _jsx(_Fragment, {
|
|
32
|
+
return /*#__PURE__*/ _jsx(_Fragment, {
|
|
33
|
+
children: children
|
|
34
|
+
});
|
|
25
35
|
}
|
|
26
36
|
// Get header/footer components
|
|
27
37
|
const Header = layout.header;
|
|
28
38
|
const Footer = layout.footer;
|
|
29
39
|
// Determine header/footer visibility based on overrides
|
|
30
|
-
const shouldShowHeader = overrides?.showHeader === 'hide'
|
|
31
|
-
|
|
32
|
-
: overrides?.showHeader === 'show'
|
|
33
|
-
? true
|
|
34
|
-
: !!Header;
|
|
35
|
-
const shouldShowFooter = overrides?.showFooter === 'hide'
|
|
36
|
-
? false
|
|
37
|
-
: overrides?.showFooter === 'show'
|
|
38
|
-
? true
|
|
39
|
-
: !!Footer;
|
|
40
|
+
const shouldShowHeader = overrides?.showHeader === 'hide' ? false : overrides?.showHeader === 'show' ? true : !!Header;
|
|
41
|
+
const shouldShowFooter = overrides?.showFooter === 'hide' ? false : overrides?.showFooter === 'show' ? true : !!Footer;
|
|
40
42
|
// Sticky footer is enabled by default - check for explicit false
|
|
41
43
|
const useStickyFooter = layout.stickyFooter !== false;
|
|
42
44
|
// Calculate main content style with sticky header offset
|
|
43
45
|
const mainStyle = {
|
|
44
|
-
...
|
|
45
|
-
|
|
46
|
+
...layout.stickyHeaderHeight && shouldShowHeader ? {
|
|
47
|
+
paddingTop: layout.stickyHeaderHeight
|
|
48
|
+
} : {},
|
|
49
|
+
...useStickyFooter ? stickyFooterMainStyle : {}
|
|
46
50
|
};
|
|
47
51
|
// Build outer container background styles
|
|
48
52
|
// Page override takes precedence, then falls back to layout wrapper background
|
|
49
53
|
const wrapperStyles = layout.styles?.wrapper;
|
|
50
|
-
const outerBackgroundStyles = overrides?.background
|
|
51
|
-
?
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
: {}),
|
|
59
|
-
};
|
|
54
|
+
const outerBackgroundStyles = overrides?.background ? backgroundValueToCSS(overrides.background) : {
|
|
55
|
+
...wrapperStyles?.background !== undefined ? {
|
|
56
|
+
background: wrapperStyles.background
|
|
57
|
+
} : {},
|
|
58
|
+
...wrapperStyles?.backgroundAttachment !== undefined ? {
|
|
59
|
+
backgroundAttachment: wrapperStyles.backgroundAttachment
|
|
60
|
+
} : {}
|
|
61
|
+
};
|
|
60
62
|
// Get effective max width (override or layout default)
|
|
61
|
-
const effectiveMaxWidth = overrides?.maxWidth && overrides.maxWidth !== 'default'
|
|
62
|
-
? overrides.maxWidth
|
|
63
|
-
: layout.maxWidth;
|
|
63
|
+
const effectiveMaxWidth = overrides?.maxWidth && overrides.maxWidth !== 'default' ? overrides.maxWidth : layout.maxWidth;
|
|
64
64
|
// Helper to wrap content with sticky footer container if needed
|
|
65
|
-
const wrapWithStickyFooter = (content)
|
|
65
|
+
const wrapWithStickyFooter = (content)=>{
|
|
66
66
|
if (useStickyFooter) {
|
|
67
|
-
return
|
|
67
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
68
|
+
style: {
|
|
69
|
+
...stickyFooterContainerStyle,
|
|
70
|
+
...outerBackgroundStyles
|
|
71
|
+
},
|
|
72
|
+
children: content
|
|
73
|
+
});
|
|
68
74
|
}
|
|
69
75
|
// Non-sticky-footer: still apply background if set
|
|
70
76
|
const hasBackground = Object.keys(outerBackgroundStyles).length > 0;
|
|
71
77
|
if (hasBackground) {
|
|
72
|
-
return _jsx("div", {
|
|
78
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
79
|
+
style: {
|
|
80
|
+
minHeight: '100vh',
|
|
81
|
+
...outerBackgroundStyles
|
|
82
|
+
},
|
|
83
|
+
children: content
|
|
84
|
+
});
|
|
73
85
|
}
|
|
74
|
-
return _jsx(_Fragment, {
|
|
86
|
+
return /*#__PURE__*/ _jsx(_Fragment, {
|
|
87
|
+
children: content
|
|
88
|
+
});
|
|
75
89
|
};
|
|
76
90
|
// Custom wrapper component takes precedence
|
|
77
91
|
if (layout.wrapper) {
|
|
78
92
|
const CustomWrapper = layout.wrapper;
|
|
79
|
-
return wrapWithStickyFooter(_jsxs(_Fragment, {
|
|
93
|
+
return wrapWithStickyFooter(/*#__PURE__*/ _jsxs(_Fragment, {
|
|
94
|
+
children: [
|
|
95
|
+
shouldShowHeader && Header && /*#__PURE__*/ _jsx(Header, {}),
|
|
96
|
+
/*#__PURE__*/ _jsx("main", {
|
|
97
|
+
style: Object.keys(mainStyle).length > 0 ? mainStyle : undefined,
|
|
98
|
+
children: /*#__PURE__*/ _jsx(CustomWrapper, {
|
|
99
|
+
children: children
|
|
100
|
+
})
|
|
101
|
+
}),
|
|
102
|
+
shouldShowFooter && Footer && /*#__PURE__*/ _jsx(Footer, {})
|
|
103
|
+
]
|
|
104
|
+
}));
|
|
80
105
|
}
|
|
81
106
|
// Build wrapper styles
|
|
82
107
|
const wrapperStyle = {
|
|
83
|
-
...layout.styles?.wrapper
|
|
108
|
+
...layout.styles?.wrapper
|
|
84
109
|
};
|
|
85
110
|
// Build container styles with effective max width
|
|
86
111
|
const containerStyle = {
|
|
87
|
-
...
|
|
88
|
-
|
|
112
|
+
...effectiveMaxWidth && !layout.fullWidth ? {
|
|
113
|
+
maxWidth: effectiveMaxWidth
|
|
114
|
+
} : {},
|
|
115
|
+
...layout.styles?.container
|
|
89
116
|
};
|
|
90
117
|
// Build content styles
|
|
91
118
|
const contentStyle = {
|
|
92
|
-
...layout.styles?.content
|
|
119
|
+
...layout.styles?.content
|
|
93
120
|
};
|
|
94
121
|
// Build data attributes
|
|
95
122
|
const dataAttrs = {
|
|
96
123
|
'data-layout': layout.value,
|
|
97
|
-
...layout.dataAttributes
|
|
124
|
+
...layout.dataAttributes
|
|
98
125
|
};
|
|
99
126
|
// For landing/full-width layouts, render without container constraints
|
|
100
127
|
if (layout.fullWidth) {
|
|
101
|
-
return wrapWithStickyFooter(_jsxs(_Fragment, {
|
|
128
|
+
return wrapWithStickyFooter(/*#__PURE__*/ _jsxs(_Fragment, {
|
|
129
|
+
children: [
|
|
130
|
+
shouldShowHeader && Header && /*#__PURE__*/ _jsx(Header, {}),
|
|
131
|
+
/*#__PURE__*/ _jsx("main", {
|
|
132
|
+
className: [
|
|
133
|
+
layout.classes?.wrapper,
|
|
134
|
+
className
|
|
135
|
+
].filter(Boolean).join(' ') || undefined,
|
|
136
|
+
style: {
|
|
102
137
|
...mainStyle,
|
|
103
|
-
...
|
|
104
|
-
},
|
|
138
|
+
...Object.keys(wrapperStyle).length > 0 ? wrapperStyle : {}
|
|
139
|
+
},
|
|
140
|
+
...dataAttrs,
|
|
141
|
+
children: children
|
|
142
|
+
}),
|
|
143
|
+
shouldShowFooter && Footer && /*#__PURE__*/ _jsx(Footer, {})
|
|
144
|
+
]
|
|
145
|
+
}));
|
|
105
146
|
}
|
|
106
147
|
// Standard layout with container
|
|
107
|
-
return wrapWithStickyFooter(_jsxs(_Fragment, {
|
|
148
|
+
return wrapWithStickyFooter(/*#__PURE__*/ _jsxs(_Fragment, {
|
|
149
|
+
children: [
|
|
150
|
+
shouldShowHeader && Header && /*#__PURE__*/ _jsx(Header, {}),
|
|
151
|
+
/*#__PURE__*/ _jsx("main", {
|
|
152
|
+
className: layout.classes?.wrapper || undefined,
|
|
153
|
+
style: {
|
|
108
154
|
...mainStyle,
|
|
109
|
-
...
|
|
110
|
-
},
|
|
155
|
+
...Object.keys(wrapperStyle).length > 0 ? wrapperStyle : {}
|
|
156
|
+
},
|
|
157
|
+
...dataAttrs,
|
|
158
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
159
|
+
className: [
|
|
160
|
+
layout.classes?.container,
|
|
161
|
+
className
|
|
162
|
+
].filter(Boolean).join(' ') || undefined,
|
|
163
|
+
style: Object.keys(containerStyle).length > 0 ? containerStyle : undefined,
|
|
164
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
165
|
+
className: layout.classes?.content || undefined,
|
|
166
|
+
style: Object.keys(contentStyle).length > 0 ? contentStyle : undefined,
|
|
167
|
+
children: children
|
|
168
|
+
})
|
|
169
|
+
})
|
|
170
|
+
}),
|
|
171
|
+
shouldShowFooter && Footer && /*#__PURE__*/ _jsx(Footer, {})
|
|
172
|
+
]
|
|
173
|
+
}));
|
|
111
174
|
}
|
|
175
|
+
|
|
112
176
|
//# sourceMappingURL=LayoutWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutWrapper.js","sourceRoot":"","sources":["../../src/layouts/LayoutWrapper.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/layouts/LayoutWrapper.tsx"],"sourcesContent":["/**\n * Layout Wrapper Component\n *\n * Wraps page content with layout-specific styling and structure.\n */\n\nimport type { ReactNode, CSSProperties } from 'react'\nimport type { LayoutDefinition } from './types.js'\nimport { backgroundValueToCSS, type BackgroundValue } from '../fields/shared.js'\n\n/**\n * Page-level overrides for layout settings\n */\nexport interface PageOverrides {\n /** Override header visibility: 'default' uses layout, 'show'/'hide' overrides */\n showHeader?: 'default' | 'show' | 'hide'\n /** Override footer visibility: 'default' uses layout, 'show'/'hide' overrides */\n showFooter?: 'default' | 'show' | 'hide'\n /** Page background (overrides any layout background) */\n background?: BackgroundValue | null\n /** Page max width: 'default' uses layout, otherwise uses the value */\n maxWidth?: string\n}\n\nexport interface LayoutWrapperProps {\n children: ReactNode\n layout?: LayoutDefinition\n className?: string\n /** Page-level overrides from Puck root props */\n overrides?: PageOverrides\n}\n\n/**\n * Styles for sticky footer layout - pushes footer to bottom of viewport\n */\nconst stickyFooterContainerStyle: CSSProperties = {\n minHeight: '100vh',\n display: 'flex',\n flexDirection: 'column',\n}\n\nconst stickyFooterMainStyle: CSSProperties = {\n flex: 1,\n}\n\n/**\n * Applies layout configuration to page content\n */\nexport function LayoutWrapper({ children, layout, className, overrides }: LayoutWrapperProps) {\n // No layout - render children directly (but still apply background if set)\n if (!layout) {\n if (overrides?.background) {\n const bgStyles = backgroundValueToCSS(overrides.background)\n return <div style={{ minHeight: '100vh', ...bgStyles }}>{children}</div>\n }\n return <>{children}</>\n }\n\n // Get header/footer components\n const Header = layout.header\n const Footer = layout.footer\n\n // Determine header/footer visibility based on overrides\n const shouldShowHeader =\n overrides?.showHeader === 'hide'\n ? false\n : overrides?.showHeader === 'show'\n ? true\n : !!Header\n\n const shouldShowFooter =\n overrides?.showFooter === 'hide'\n ? false\n : overrides?.showFooter === 'show'\n ? true\n : !!Footer\n\n // Sticky footer is enabled by default - check for explicit false\n const useStickyFooter = layout.stickyFooter !== false\n\n // Calculate main content style with sticky header offset\n const mainStyle: CSSProperties = {\n ...(layout.stickyHeaderHeight && shouldShowHeader ? { paddingTop: layout.stickyHeaderHeight } : {}),\n ...(useStickyFooter ? stickyFooterMainStyle : {}),\n }\n\n // Build outer container background styles\n // Page override takes precedence, then falls back to layout wrapper background\n const wrapperStyles = layout.styles?.wrapper\n const outerBackgroundStyles: CSSProperties = overrides?.background\n ? backgroundValueToCSS(overrides.background)\n : {\n ...(wrapperStyles?.background !== undefined\n ? { background: wrapperStyles.background }\n : {}),\n ...(wrapperStyles?.backgroundAttachment !== undefined\n ? { backgroundAttachment: wrapperStyles.backgroundAttachment }\n : {}),\n }\n\n // Get effective max width (override or layout default)\n const effectiveMaxWidth =\n overrides?.maxWidth && overrides.maxWidth !== 'default'\n ? overrides.maxWidth\n : layout.maxWidth\n\n // Helper to wrap content with sticky footer container if needed\n const wrapWithStickyFooter = (content: ReactNode) => {\n if (useStickyFooter) {\n return (\n <div style={{ ...stickyFooterContainerStyle, ...outerBackgroundStyles }}>\n {content}\n </div>\n )\n }\n // Non-sticky-footer: still apply background if set\n const hasBackground = Object.keys(outerBackgroundStyles).length > 0\n if (hasBackground) {\n return <div style={{ minHeight: '100vh', ...outerBackgroundStyles }}>{content}</div>\n }\n return <>{content}</>\n }\n\n // Custom wrapper component takes precedence\n if (layout.wrapper) {\n const CustomWrapper = layout.wrapper\n return wrapWithStickyFooter(\n <>\n {shouldShowHeader && Header && <Header />}\n <main style={Object.keys(mainStyle).length > 0 ? mainStyle : undefined}>\n <CustomWrapper>{children}</CustomWrapper>\n </main>\n {shouldShowFooter && Footer && <Footer />}\n </>\n )\n }\n\n // Build wrapper styles\n const wrapperStyle: CSSProperties = {\n ...layout.styles?.wrapper,\n }\n\n // Build container styles with effective max width\n const containerStyle: CSSProperties = {\n ...(effectiveMaxWidth && !layout.fullWidth ? { maxWidth: effectiveMaxWidth } : {}),\n ...layout.styles?.container,\n }\n\n // Build content styles\n const contentStyle: CSSProperties = {\n ...layout.styles?.content,\n }\n\n // Build data attributes\n const dataAttrs: Record<string, string> = {\n 'data-layout': layout.value,\n ...layout.dataAttributes,\n }\n\n // For landing/full-width layouts, render without container constraints\n if (layout.fullWidth) {\n return wrapWithStickyFooter(\n <>\n {shouldShowHeader && Header && <Header />}\n <main\n className={[layout.classes?.wrapper, className].filter(Boolean).join(' ') || undefined}\n style={{\n ...mainStyle,\n ...(Object.keys(wrapperStyle).length > 0 ? wrapperStyle : {}),\n }}\n {...dataAttrs}\n >\n {children}\n </main>\n {shouldShowFooter && Footer && <Footer />}\n </>\n )\n }\n\n // Standard layout with container\n return wrapWithStickyFooter(\n <>\n {shouldShowHeader && Header && <Header />}\n <main\n className={layout.classes?.wrapper || undefined}\n style={{\n ...mainStyle,\n ...(Object.keys(wrapperStyle).length > 0 ? wrapperStyle : {}),\n }}\n {...dataAttrs}\n >\n <div\n className={[layout.classes?.container, className].filter(Boolean).join(' ') || undefined}\n style={Object.keys(containerStyle).length > 0 ? containerStyle : undefined}\n >\n <div\n className={layout.classes?.content || undefined}\n style={Object.keys(contentStyle).length > 0 ? contentStyle : undefined}\n >\n {children}\n </div>\n </div>\n </main>\n {shouldShowFooter && Footer && <Footer />}\n </>\n )\n}\n"],"names":["backgroundValueToCSS","stickyFooterContainerStyle","minHeight","display","flexDirection","stickyFooterMainStyle","flex","LayoutWrapper","children","layout","className","overrides","background","bgStyles","div","style","Header","header","Footer","footer","shouldShowHeader","showHeader","shouldShowFooter","showFooter","useStickyFooter","stickyFooter","mainStyle","stickyHeaderHeight","paddingTop","wrapperStyles","styles","wrapper","outerBackgroundStyles","undefined","backgroundAttachment","effectiveMaxWidth","maxWidth","wrapWithStickyFooter","content","hasBackground","Object","keys","length","CustomWrapper","main","wrapperStyle","containerStyle","fullWidth","container","contentStyle","dataAttrs","value","dataAttributes","classes","filter","Boolean","join"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* These provide sensible defaults for common page layout patterns.
|
|
5
5
|
* Users can override or extend these in their own configuration.
|
|
6
6
|
*/
|
|
7
|
-
import type { LayoutDefinition, LayoutConfig } from './types';
|
|
7
|
+
import type { LayoutDefinition, LayoutConfig } from './types.js';
|
|
8
8
|
/**
|
|
9
9
|
* Default layout - standard content width with padding
|
|
10
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/layouts/defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/layouts/defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEhE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,gBAW3B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,gBAU3B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBAW7B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,gBAW1B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,gBAWxB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,EAI7C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,EAM9C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAGnC,CAAA"}
|