@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,"file":"presets.js","sourceRoot":"","sources":["../../src/config/presets.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AA4BZ,2BAA2B;AAC3B,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,GAChB,MAAM,0BAA0B,CAAA;AAEjC,yCAAyC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE;QACN,gCAAgC;QAChC,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,MAAe;YACrB,KAAK,EAAE,YAAY;SACpB;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;aAC7C;SACF;QACD,uBAAuB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE,OAAgB;YACtB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACjC;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAgB;YACtB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACjC;SACF;QACD,cAAc,EAAE,qBAAqB,CAAC;YACpC,KAAK,EAAE,iBAAiB;SACzB,CAAC;QACF,YAAY,EAAE;YACZ,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;gBAC3C,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC3C,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACjD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;aACvC;SACF;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,SAAS;KACxB;IACD,MAAM,EAAE,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC,4BAAG,QAAQ,GAAI;CACnE,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE;QACN,gBAAgB;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,MAAe;YACrB,KAAK,EAAE,YAAY;SACpB;QACD,4BAA4B;QAC5B,MAAM,EAAE,uBAAuB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACpD,WAAW,EAAE,4BAA4B,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QACpE,IAAI,EAAE,sBAAsB,CAAC;YAC3B,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,2CAA2C;SAClD,CAAC;QACF,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB;QAChB,UAAU,EAAE;YACV,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;aAC7C;SACF;QACD,uBAAuB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE,OAAgB;YACtB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACjC;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAgB;YACtB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACjC;SACF;QACD,cAAc,EAAE,qBAAqB,CAAC;YACpC,KAAK,EAAE,iBAAiB;SACzB,CAAC;QACF,YAAY,EAAE;YACZ,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;gBAC3C,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC3C,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACjD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;aACvC;SACF;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,SAAS;KACxB;IACD,MAAM,EAAE,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC,4BAAG,QAAQ,GAAI;CACnE,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE;QACV,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;YAC1E,eAAe,EAAE,IAAI;SACtB;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;SAC5C;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,CAAC,OAAO,CAAC;SACtB;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;SACvD;KACF;IACD,UAAU,EAAE;QACV,SAAS;QACT,SAAS,EAAE,eAAuC;QAClD,IAAI,EAAE,UAAkC;QACxC,IAAI,EAAE,UAAkC;QACxC,OAAO,EAAE,aAAqC;QAC9C,MAAM,EAAE,YAAoC;QAC5C,QAAQ,EAAE,cAAsC;QAChD,aAAa;QACb,OAAO,EAAE,aAAqC;QAC9C,IAAI,EAAE,UAAkC;QACxC,QAAQ,EAAE,oBAA4C;QACtD,QAAQ;QACR,KAAK,EAAE,WAAmC;QAC1C,cAAc;QACd,MAAM,EAAE,YAAoC;QAC5C,IAAI,EAAE,UAAkC;QACxC,OAAO,EAAE,aAAqC;QAC9C,SAAS,EAAE,eAAuC;KACnD;CACmB,CAAA;AAEtB;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE;QACV,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;SACnD;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,aAAqC;QAC9C,OAAO,EAAE,aAAqC;QAC9C,IAAI,EAAE,UAAkC;QACxC,KAAK,EAAE,WAAmC;QAC1C,MAAM,EAAE,YAAoC;KAC7C;CACmB,CAAA;AAEtB,yDAAyD;AACzD,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"sources":["../../src/config/presets.tsx"],"sourcesContent":["'use client'\n\n/**\n * Pre-built Puck configuration presets\n *\n * These presets provide ready-to-use configurations that can be extended\n * with custom components.\n *\n * @example\n * ```tsx\n * import { fullConfig, extendConfig } from '@delmaredigital/payload-puck/config'\n * import { MyHeroConfig } from '@/components/puck/Hero'\n *\n * export const puckConfig = extendConfig({\n * base: fullConfig,\n * components: {\n * Hero: MyHeroConfig,\n * },\n * categories: {\n * custom: { title: 'Custom', components: ['Hero'] },\n * },\n * })\n * ```\n */\n\nimport type { Config as PuckConfig, ComponentConfig } from '@puckeditor/core'\nimport type { ReactNode } from 'react'\n\n// Import component configs\nimport {\n ContainerConfig,\n FlexConfig,\n GridConfig,\n SectionConfig,\n SpacerConfig,\n TemplateConfig,\n HeadingConfig,\n TextConfig,\n RichTextEditorConfig,\n ImageConfig,\n ButtonConfig,\n CardConfig,\n DividerConfig,\n AccordionConfig,\n} from '../components/exports.js'\n\n// Import field factories for root config\nimport { createBackgroundField } from '../fields/BackgroundField.js'\nimport { lockedSlugField, lockedHomepageField } from '../fields/LockedField.js'\nimport { createFolderPickerField } from '../fields/FolderPickerField.js'\nimport { createLockedPageSegmentField } from '../fields/PageSegmentField.js'\nimport { createSlugPreviewField } from '../fields/SlugPreviewField.js'\n\n/**\n * Default root configuration used by presets\n */\nexport const defaultRoot = {\n fields: {\n // Page identity (locked fields)\n slug: lockedSlugField,\n isHomepage: lockedHomepageField,\n // Page settings\n title: {\n type: 'text' as const,\n label: 'Page Title',\n },\n pageLayout: {\n type: 'select' as const,\n label: 'Page Layout',\n options: [\n { label: 'Default', value: 'default' },\n { label: 'Landing', value: 'landing' },\n { label: 'Full Width', value: 'full-width' },\n ],\n },\n // Page-level overrides\n showHeader: {\n type: 'radio' as const,\n label: 'Show Header',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Show', value: 'show' },\n { label: 'Hide', value: 'hide' },\n ],\n },\n showFooter: {\n type: 'radio' as const,\n label: 'Show Footer',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Show', value: 'show' },\n { label: 'Hide', value: 'hide' },\n ],\n },\n pageBackground: createBackgroundField({\n label: 'Page Background',\n }),\n pageMaxWidth: {\n type: 'select' as const,\n label: 'Page Width',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Narrow (720px)', value: '720px' },\n { label: 'Standard (1000px)', value: '1000px' },\n { label: 'Wide (1200px)', value: '1200px' },\n { label: 'Extra Wide (1400px)', value: '1400px' },\n { label: 'Full Width', value: '100%' },\n ],\n },\n },\n defaultProps: {\n slug: '',\n isHomepage: false,\n title: 'New Page',\n pageLayout: 'default',\n showHeader: 'default',\n showFooter: 'default',\n pageBackground: null,\n pageMaxWidth: 'default',\n },\n render: ({ children }: { children: ReactNode }) => <>{children}</>,\n}\n\n/**\n * Root configuration for use with @delmaredigital/payload-page-tree\n *\n * Replaces the standard locked slug field with:\n * - Folder picker (select which folder the page belongs to)\n * - Page segment (editable URL segment for this page)\n * - Slug preview (read-only computed URL)\n *\n * @example\n * ```tsx\n * import { pageTreeRoot, fullConfig, extendConfig } from '@delmaredigital/payload-puck/config'\n *\n * export const puckConfig = extendConfig({\n * base: fullConfig,\n * root: pageTreeRoot,\n * })\n * ```\n */\nexport const pageTreeRoot = {\n fields: {\n // Page identity\n title: {\n type: 'text' as const,\n label: 'Page Title',\n },\n // Page-tree specific fields\n folder: createFolderPickerField({ label: 'Folder' }),\n pageSegment: createLockedPageSegmentField({ label: 'Page Segment' }),\n slug: createSlugPreviewField({\n label: 'URL Slug',\n hint: 'Auto-generated from folder + page segment',\n }),\n isHomepage: lockedHomepageField,\n // Page settings\n pageLayout: {\n type: 'select' as const,\n label: 'Page Layout',\n options: [\n { label: 'Default', value: 'default' },\n { label: 'Landing', value: 'landing' },\n { label: 'Full Width', value: 'full-width' },\n ],\n },\n // Page-level overrides\n showHeader: {\n type: 'radio' as const,\n label: 'Show Header',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Show', value: 'show' },\n { label: 'Hide', value: 'hide' },\n ],\n },\n showFooter: {\n type: 'radio' as const,\n label: 'Show Footer',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Show', value: 'show' },\n { label: 'Hide', value: 'hide' },\n ],\n },\n pageBackground: createBackgroundField({\n label: 'Page Background',\n }),\n pageMaxWidth: {\n type: 'select' as const,\n label: 'Page Width',\n options: [\n { label: 'Use Layout Default', value: 'default' },\n { label: 'Narrow (720px)', value: '720px' },\n { label: 'Standard (1000px)', value: '1000px' },\n { label: 'Wide (1200px)', value: '1200px' },\n { label: 'Extra Wide (1400px)', value: '1400px' },\n { label: 'Full Width', value: '100%' },\n ],\n },\n },\n defaultProps: {\n title: 'New Page',\n folder: null,\n pageSegment: '',\n slug: '',\n isHomepage: false,\n pageLayout: 'default',\n showHeader: 'default',\n showFooter: 'default',\n pageBackground: null,\n pageMaxWidth: 'default',\n },\n render: ({ children }: { children: ReactNode }) => <>{children}</>,\n}\n\n/**\n * Full configuration with all built-in components\n *\n * Use this as a base and extend with custom components via `extendConfig()`.\n */\nexport const fullConfig = {\n root: defaultRoot,\n categories: {\n layout: {\n title: 'Layout',\n components: ['Container', 'Flex', 'Grid', 'Section', 'Spacer', 'Template'],\n defaultExpanded: true,\n },\n typography: {\n title: 'Typography',\n components: ['Heading', 'Text', 'RichText'],\n },\n media: {\n title: 'Media',\n components: ['Image'],\n },\n interactive: {\n title: 'Interactive',\n components: ['Button', 'Card', 'Divider', 'Accordion'],\n },\n },\n components: {\n // Layout\n Container: ContainerConfig as ComponentConfig<any>,\n Flex: FlexConfig as ComponentConfig<any>,\n Grid: GridConfig as ComponentConfig<any>,\n Section: SectionConfig as ComponentConfig<any>,\n Spacer: SpacerConfig as ComponentConfig<any>,\n Template: TemplateConfig as ComponentConfig<any>,\n // Typography\n Heading: HeadingConfig as ComponentConfig<any>,\n Text: TextConfig as ComponentConfig<any>,\n RichText: RichTextEditorConfig as ComponentConfig<any>,\n // Media\n Image: ImageConfig as ComponentConfig<any>,\n // Interactive\n Button: ButtonConfig as ComponentConfig<any>,\n Card: CardConfig as ComponentConfig<any>,\n Divider: DividerConfig as ComponentConfig<any>,\n Accordion: AccordionConfig as ComponentConfig<any>,\n },\n} satisfies PuckConfig\n\n/**\n * Minimal configuration with essential components only\n *\n * Good for simple landing pages or when you want a cleaner editor sidebar.\n */\nexport const minimalConfig = {\n root: defaultRoot,\n categories: {\n layout: {\n title: 'Layout',\n components: ['Section'],\n defaultExpanded: true,\n },\n content: {\n title: 'Content',\n components: ['Heading', 'Text', 'Image', 'Button'],\n },\n },\n components: {\n Section: SectionConfig as ComponentConfig<any>,\n Heading: HeadingConfig as ComponentConfig<any>,\n Text: TextConfig as ComponentConfig<any>,\n Image: ImageConfig as ComponentConfig<any>,\n Button: ButtonConfig as ComponentConfig<any>,\n },\n} satisfies PuckConfig\n\n// Re-export mergeConfigs as extendConfig for convenience\nexport { mergeConfigs, mergeConfigs as extendConfig } from './merge.js'\n"],"names":["ContainerConfig","FlexConfig","GridConfig","SectionConfig","SpacerConfig","TemplateConfig","HeadingConfig","TextConfig","RichTextEditorConfig","ImageConfig","ButtonConfig","CardConfig","DividerConfig","AccordionConfig","createBackgroundField","lockedSlugField","lockedHomepageField","createFolderPickerField","createLockedPageSegmentField","createSlugPreviewField","defaultRoot","fields","slug","isHomepage","title","type","label","pageLayout","options","value","showHeader","showFooter","pageBackground","pageMaxWidth","defaultProps","render","children","pageTreeRoot","folder","pageSegment","hint","fullConfig","root","categories","layout","components","defaultExpanded","typography","media","interactive","Container","Flex","Grid","Section","Spacer","Template","Heading","Text","RichText","Image","Button","Card","Divider","Accordion","minimalConfig","content","mergeConfigs","extendConfig"],"mappings":"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"}
|
package/dist/config/types.js
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* These types are designed for server-side rendering where field definitions
|
|
5
5
|
* are not needed (only the render function matters).
|
|
6
|
-
*/
|
|
7
|
-
|
|
6
|
+
*/ /**
|
|
7
|
+
* Server-safe root configuration
|
|
8
|
+
*
|
|
9
|
+
* Use this for the root config in server-side Puck configurations.
|
|
10
|
+
*/ export { };
|
|
11
|
+
|
|
8
12
|
//# sourceMappingURL=types.js.map
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/config/types.ts"],"sourcesContent":["/**\n * Server-specific Puck configuration types\n *\n * These types are designed for server-side rendering where field definitions\n * are not needed (only the render function matters).\n */\n\nimport type { ReactNode } from 'react'\n\n/**\n * Slot field definition - the only field type needed in server configs\n *\n * When a component has child content (slots), Puck needs the slot field\n * defined so it can transform the slot data into a renderable component.\n */\nexport interface SlotField {\n type: 'slot'\n}\n\n/**\n * Server-safe component configuration\n *\n * Use this type for component configs in `.server.tsx` files.\n * Unlike Puck's full `ComponentConfig`, this type:\n * - Makes `fields` truly optional (no TypeScript pressure to define them)\n * - Only expects slot fields when components have child content\n * - Focuses on what servers actually need: `render` and `defaultProps`\n *\n * @example\n * ```tsx\n * // Component WITHOUT slots - no fields needed\n * import type { ServerComponentConfig } from '@delmaredigital/payload-puck/config'\n *\n * export const ButtonConfig: ServerComponentConfig<ButtonProps> = {\n * label: 'Button',\n * defaultProps,\n * render: ({ text, link }) => <a href={link}>{text}</a>\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Component WITH slots - only slot field needed\n * import type { ServerComponentConfig } from '@delmaredigital/payload-puck/config'\n *\n * export const SectionConfig: ServerComponentConfig<SectionProps> = {\n * label: 'Section',\n * fields: { content: { type: 'slot' } },\n * defaultProps,\n * render: ({ content: Content }) => <section><Content /></section>\n * }\n * ```\n */\nexport interface ServerComponentConfig<Props = Record<string, unknown>> {\n /**\n * Display label for the component in the editor sidebar\n */\n label?: string\n\n /**\n * Default prop values for new instances of this component\n */\n defaultProps?: Props\n\n /**\n * Slot fields only - define these when your component has child content areas\n *\n * For server configs, you only need to define slot fields. Other field types\n * (text, number, select, etc.) are only used by the editor and can be omitted.\n *\n * @example\n * ```tsx\n * fields: {\n * content: { type: 'slot' }, // Main content area\n * sidebar: { type: 'slot' }, // Optional sidebar slot\n * }\n * ```\n */\n fields?: Record<string, SlotField>\n\n /**\n * Render function for the component\n *\n * This is called during server-side rendering. Must be a pure function\n * without React hooks or client-side interactivity.\n *\n * Slot props are transformed by Puck into renderable components.\n */\n render: (props: Props & { puck?: { isEditing?: boolean }; id?: string }) => ReactNode\n}\n\n/**\n * Server-safe root configuration\n *\n * Use this for the root config in server-side Puck configurations.\n */\nexport interface ServerRootConfig<\n Props extends Record<string, unknown> = Record<string, unknown>,\n> {\n /**\n * Default prop values for the root\n */\n defaultProps?: Partial<Props>\n\n /**\n * Root fields are not needed for server rendering\n */\n fields?: never\n\n /**\n * Render function for the root wrapper\n */\n render: (props: Props & { children: ReactNode }) => ReactNode\n}\n"],"names":[],"mappings":"AAAA;;;;;CAKC,GAsFD;;;;CAIC,GACD,WAiBC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Config as PuckConfig, Data, Plugin as PuckPlugin, Overrides as PuckOverrides } from '@puckeditor/core';
|
|
2
2
|
import type { ReactNode } from 'react';
|
|
3
|
-
import type { LayoutStyle } from './components/IframeWrapper';
|
|
4
|
-
import type { ThemeConfig } from '../theme';
|
|
5
|
-
import type { LayoutDefinition } from '../layouts';
|
|
3
|
+
import type { LayoutStyle } from './components/IframeWrapper.js';
|
|
4
|
+
import type { ThemeConfig } from '../theme/index.js';
|
|
5
|
+
import type { LayoutDefinition } from '../layouts/index.js';
|
|
6
6
|
import type { AiExamplePrompt, ComponentAiOverrides } from '../ai/types.js';
|
|
7
7
|
export interface PuckEditorProps {
|
|
8
8
|
/**
|
|
@@ -39,6 +39,14 @@ export interface PuckEditorProps {
|
|
|
39
39
|
* Preview URL or function to generate preview URL from slug
|
|
40
40
|
*/
|
|
41
41
|
previewUrl?: string | ((slug: string) => string);
|
|
42
|
+
/**
|
|
43
|
+
* URL prefix for preview (e.g., '/acme' for org-scoped pages).
|
|
44
|
+
* When provided, the preview URL will be built as:
|
|
45
|
+
* - Homepage: `{prefix}`
|
|
46
|
+
* - Regular pages: `{prefix}/{slug}`
|
|
47
|
+
* This is useful for Server Components where functions can't be passed.
|
|
48
|
+
*/
|
|
49
|
+
previewUrlPrefix?: string;
|
|
42
50
|
/**
|
|
43
51
|
* Whether to enable viewport switching
|
|
44
52
|
* @default true
|
|
@@ -270,5 +278,5 @@ export interface PuckEditorProps {
|
|
|
270
278
|
* />
|
|
271
279
|
* ```
|
|
272
280
|
*/
|
|
273
|
-
export declare function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, enableViewports, plugins, layouts: layoutsProp, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides, onSaveSuccess, onSaveError, onChange, initialStatus, theme: themeProp, hasPageTree, folder, pageSegment, editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, enableAi, aiOptions, aiExamplePrompts, hasPromptsCollection, hasContextCollection, aiComponentInstructions, experimentalFullScreenCanvas, autoDetectDarkMode, showPreviewDarkModeToggle, initialPreviewDarkMode, }: PuckEditorProps): import("react
|
|
281
|
+
export declare function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, previewUrlPrefix, enableViewports, plugins, layouts: layoutsProp, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides, onSaveSuccess, onSaveError, onChange, initialStatus, theme: themeProp, hasPageTree, folder, pageSegment, editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, enableAi, aiOptions, aiExamplePrompts, hasPromptsCollection, hasContextCollection, aiComponentInstructions, experimentalFullScreenCanvas, autoDetectDarkMode, showPreviewDarkModeToggle, initialPreviewDarkMode, }: PuckEditorProps): import("react").JSX.Element;
|
|
274
282
|
//# sourceMappingURL=PuckEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuckEditor.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,UAAU,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACpH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PuckEditor.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
4
|
import dynamic from 'next/dynamic';
|
|
5
|
-
import { LoadingState } from './components/LoadingState';
|
|
5
|
+
import { LoadingState } from './components/LoadingState.js';
|
|
6
6
|
import { injectPageTreeFields } from './utils/injectPageTreeFields.js';
|
|
7
7
|
import { hasPageTreeFields } from './utils/detectPageTree.js';
|
|
8
8
|
import { usePuckConfig } from '../views/PuckConfigContext.js';
|
|
@@ -10,9 +10,9 @@ import { injectAiConfig, hasAiConfig } from '../ai/utils/injectAiConfig.js';
|
|
|
10
10
|
import { comprehensiveComponentAiConfig } from '../ai/presets/index.js';
|
|
11
11
|
// Dynamic import with ssr: false to prevent hydration mismatch
|
|
12
12
|
// Puck generates random IDs for drag-and-drop that differ between server/client
|
|
13
|
-
const PuckEditorImpl = dynamic(()
|
|
13
|
+
const PuckEditorImpl = dynamic(()=>import('./PuckEditorImpl.client.js').then((mod)=>mod.PuckEditorImpl), {
|
|
14
14
|
ssr: false,
|
|
15
|
-
loading: ()
|
|
15
|
+
loading: ()=>/*#__PURE__*/ _jsx(LoadingState, {})
|
|
16
16
|
});
|
|
17
17
|
/**
|
|
18
18
|
* Puck Editor - The primary editor component
|
|
@@ -61,34 +61,34 @@ const PuckEditorImpl = dynamic(() => import('./PuckEditorImpl.client').then((mod
|
|
|
61
61
|
* pageSegment={page.pageSegment}
|
|
62
62
|
* />
|
|
63
63
|
* ```
|
|
64
|
-
*/
|
|
65
|
-
|
|
66
|
-
//
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp,
|
|
70
|
-
// AI integration props
|
|
71
|
-
enableAi = false, aiOptions, aiExamplePrompts, hasPromptsCollection = false, hasContextCollection = false, aiComponentInstructions, experimentalFullScreenCanvas = false,
|
|
72
|
-
// Dark mode props
|
|
73
|
-
autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkMode = false, }) {
|
|
64
|
+
*/ export function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, previewUrlPrefix, enableViewports, plugins, layouts: layoutsProp, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides, onSaveSuccess, onSaveError, onChange, initialStatus, theme: themeProp, // Page-tree props
|
|
65
|
+
hasPageTree = false, folder, pageSegment, // Editor iframe styling props
|
|
66
|
+
editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, // AI integration props
|
|
67
|
+
enableAi = false, aiOptions, aiExamplePrompts, hasPromptsCollection = false, hasContextCollection = false, aiComponentInstructions, experimentalFullScreenCanvas = false, // Dark mode props
|
|
68
|
+
autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkMode = false }) {
|
|
74
69
|
// Get config from context as fallback
|
|
75
|
-
const { config: configFromContext, layouts: layoutsFromContext, theme: themeFromContext, plugins: pluginsFromContext, editorStylesheets: editorStylesheetsFromContext, editorCss: editorCssFromContext
|
|
70
|
+
const { config: configFromContext, layouts: layoutsFromContext, theme: themeFromContext, plugins: pluginsFromContext, editorStylesheets: editorStylesheetsFromContext, editorCss: editorCssFromContext } = usePuckConfig();
|
|
76
71
|
// Use prop config if provided, otherwise fall back to context
|
|
77
72
|
const baseConfig = configProp || configFromContext;
|
|
78
73
|
const theme = themeProp || themeFromContext;
|
|
79
74
|
// Merge plugins from props and context
|
|
80
75
|
// Props take precedence and are added first, context plugins follow
|
|
81
|
-
const mergedPlugins = useMemo(()
|
|
76
|
+
const mergedPlugins = useMemo(()=>{
|
|
82
77
|
// If plugins prop is false, disable all plugins (including context ones)
|
|
83
|
-
if (plugins === false)
|
|
84
|
-
return false;
|
|
78
|
+
if (plugins === false) return false;
|
|
85
79
|
// If plugins prop is provided (not undefined), it takes precedence
|
|
86
80
|
// But also include context plugins
|
|
87
81
|
const propPlugins = plugins || [];
|
|
88
82
|
const contextPlugins = pluginsFromContext || [];
|
|
89
|
-
const combined = [
|
|
83
|
+
const combined = [
|
|
84
|
+
...propPlugins,
|
|
85
|
+
...contextPlugins
|
|
86
|
+
];
|
|
90
87
|
return combined.length > 0 ? combined : undefined;
|
|
91
|
-
}, [
|
|
88
|
+
}, [
|
|
89
|
+
plugins,
|
|
90
|
+
pluginsFromContext
|
|
91
|
+
]);
|
|
92
92
|
// Props take precedence over context for editor stylesheets
|
|
93
93
|
const editorStylesheets = editorStylesheetsProp || editorStylesheetsFromContext;
|
|
94
94
|
const editorCss = editorCssProp || editorCssFromContext;
|
|
@@ -96,20 +96,16 @@ autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkM
|
|
|
96
96
|
// Props may have metadata (value, label, editorBackground) but no React components
|
|
97
97
|
// Context may have React components (header, footer) that can't be serialized through props
|
|
98
98
|
// Merge by matching on 'value', combining properties, preferring context for components
|
|
99
|
-
const layouts = useMemo(()
|
|
99
|
+
const layouts = useMemo(()=>{
|
|
100
100
|
// If no layouts from either source, return undefined
|
|
101
|
-
if (!layoutsProp && !layoutsFromContext)
|
|
102
|
-
return undefined;
|
|
101
|
+
if (!layoutsProp && !layoutsFromContext) return undefined;
|
|
103
102
|
// If only one source, use it
|
|
104
|
-
if (!layoutsProp)
|
|
105
|
-
|
|
106
|
-
if (!layoutsFromContext)
|
|
107
|
-
return layoutsProp;
|
|
103
|
+
if (!layoutsProp) return layoutsFromContext;
|
|
104
|
+
if (!layoutsFromContext) return layoutsProp;
|
|
108
105
|
// Merge: for each prop layout, find matching context layout and combine
|
|
109
|
-
return layoutsProp.map((propLayout)
|
|
110
|
-
const contextLayout = layoutsFromContext.find((c)
|
|
111
|
-
if (!contextLayout)
|
|
112
|
-
return propLayout;
|
|
106
|
+
return layoutsProp.map((propLayout)=>{
|
|
107
|
+
const contextLayout = layoutsFromContext.find((c)=>c.value === propLayout.value);
|
|
108
|
+
if (!contextLayout) return propLayout;
|
|
113
109
|
// Combine: prop values first, then context values (context provides components)
|
|
114
110
|
return {
|
|
115
111
|
...propLayout,
|
|
@@ -120,21 +116,24 @@ autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkM
|
|
|
120
116
|
editorBackground: propLayout.editorBackground || contextLayout.editorBackground,
|
|
121
117
|
editorDarkMode: propLayout.editorDarkMode ?? contextLayout.editorDarkMode,
|
|
122
118
|
stickyHeaderHeight: propLayout.stickyHeaderHeight ?? contextLayout.stickyHeaderHeight,
|
|
123
|
-
styles: propLayout.styles || contextLayout.styles
|
|
119
|
+
styles: propLayout.styles || contextLayout.styles
|
|
124
120
|
};
|
|
125
121
|
});
|
|
126
|
-
}, [
|
|
122
|
+
}, [
|
|
123
|
+
layoutsProp,
|
|
124
|
+
layoutsFromContext
|
|
125
|
+
]);
|
|
127
126
|
// Conditionally inject page-tree fields and AI config into config
|
|
128
|
-
const finalConfig = useMemo(()
|
|
129
|
-
if (!baseConfig)
|
|
130
|
-
return null;
|
|
127
|
+
const finalConfig = useMemo(()=>{
|
|
128
|
+
if (!baseConfig) return null;
|
|
131
129
|
let config = baseConfig;
|
|
132
130
|
// Inject AI component instructions when AI is enabled
|
|
133
131
|
if (enableAi && !hasAiConfig(config)) {
|
|
134
132
|
// Merge comprehensive instructions with user-provided overrides
|
|
135
|
-
const mergedAiConfig = aiComponentInstructions
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
const mergedAiConfig = aiComponentInstructions ? {
|
|
134
|
+
...comprehensiveComponentAiConfig,
|
|
135
|
+
...aiComponentInstructions
|
|
136
|
+
} : comprehensiveComponentAiConfig;
|
|
138
137
|
config = injectAiConfig(config, mergedAiConfig);
|
|
139
138
|
}
|
|
140
139
|
// Inject page-tree fields if enabled
|
|
@@ -142,11 +141,15 @@ autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkM
|
|
|
142
141
|
config = injectPageTreeFields(config);
|
|
143
142
|
}
|
|
144
143
|
return config;
|
|
145
|
-
}, [
|
|
144
|
+
}, [
|
|
145
|
+
baseConfig,
|
|
146
|
+
hasPageTree,
|
|
147
|
+
enableAi,
|
|
148
|
+
aiComponentInstructions
|
|
149
|
+
]);
|
|
146
150
|
// Merge page-tree initial values into initialData
|
|
147
|
-
const finalInitialData = useMemo(()
|
|
148
|
-
if (!hasPageTree)
|
|
149
|
-
return initialData;
|
|
151
|
+
const finalInitialData = useMemo(()=>{
|
|
152
|
+
if (!hasPageTree) return initialData;
|
|
150
153
|
return {
|
|
151
154
|
...initialData,
|
|
152
155
|
root: {
|
|
@@ -154,67 +157,165 @@ autoDetectDarkMode = true, showPreviewDarkModeToggle = true, initialPreviewDarkM
|
|
|
154
157
|
props: {
|
|
155
158
|
...initialData.root?.props,
|
|
156
159
|
// Only set if provided and hasPageTree is true
|
|
157
|
-
...
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
160
|
+
...folder !== undefined && {
|
|
161
|
+
folder
|
|
162
|
+
},
|
|
163
|
+
...pageSegment !== undefined && {
|
|
164
|
+
pageSegment
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
161
168
|
};
|
|
162
|
-
}, [
|
|
169
|
+
}, [
|
|
170
|
+
initialData,
|
|
171
|
+
hasPageTree,
|
|
172
|
+
folder,
|
|
173
|
+
pageSegment
|
|
174
|
+
]);
|
|
163
175
|
// Show error if no config available
|
|
164
176
|
if (!finalConfig) {
|
|
165
|
-
return
|
|
177
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
178
|
+
style: {
|
|
166
179
|
display: 'flex',
|
|
167
180
|
flexDirection: 'column',
|
|
168
181
|
alignItems: 'center',
|
|
169
182
|
justifyContent: 'center',
|
|
170
183
|
height: 'calc(100vh - 120px)',
|
|
171
184
|
padding: '40px',
|
|
172
|
-
textAlign: 'center'
|
|
173
|
-
},
|
|
185
|
+
textAlign: 'center'
|
|
186
|
+
},
|
|
187
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
188
|
+
style: {
|
|
174
189
|
backgroundColor: 'var(--theme-elevation-50)',
|
|
175
190
|
border: '1px solid var(--theme-elevation-150)',
|
|
176
191
|
borderRadius: '8px',
|
|
177
192
|
padding: '32px 48px',
|
|
178
|
-
maxWidth: '560px'
|
|
179
|
-
},
|
|
193
|
+
maxWidth: '560px'
|
|
194
|
+
},
|
|
195
|
+
children: [
|
|
196
|
+
/*#__PURE__*/ _jsx("h2", {
|
|
197
|
+
style: {
|
|
180
198
|
color: 'var(--theme-elevation-800)',
|
|
181
199
|
fontSize: '18px',
|
|
182
200
|
fontWeight: 600,
|
|
183
|
-
margin: '0 0 12px 0'
|
|
184
|
-
},
|
|
201
|
+
margin: '0 0 12px 0'
|
|
202
|
+
},
|
|
203
|
+
children: "Puck Configuration Required"
|
|
204
|
+
}),
|
|
205
|
+
/*#__PURE__*/ _jsxs("p", {
|
|
206
|
+
style: {
|
|
185
207
|
color: 'var(--theme-elevation-500)',
|
|
186
208
|
fontSize: '14px',
|
|
187
209
|
lineHeight: 1.6,
|
|
188
|
-
margin: '0 0 16px 0'
|
|
189
|
-
},
|
|
210
|
+
margin: '0 0 16px 0'
|
|
211
|
+
},
|
|
212
|
+
children: [
|
|
213
|
+
"Either pass ",
|
|
214
|
+
/*#__PURE__*/ _jsx("code", {
|
|
215
|
+
style: {
|
|
216
|
+
backgroundColor: 'var(--theme-elevation-100)',
|
|
217
|
+
padding: '2px 6px',
|
|
218
|
+
borderRadius: '4px',
|
|
219
|
+
fontSize: '13px'
|
|
220
|
+
},
|
|
221
|
+
children: "config"
|
|
222
|
+
}),
|
|
223
|
+
" prop directly, or wrap your application with",
|
|
224
|
+
' ',
|
|
225
|
+
/*#__PURE__*/ _jsx("code", {
|
|
226
|
+
style: {
|
|
227
|
+
backgroundColor: 'var(--theme-elevation-100)',
|
|
228
|
+
padding: '2px 6px',
|
|
229
|
+
borderRadius: '4px',
|
|
230
|
+
fontSize: '13px'
|
|
231
|
+
},
|
|
232
|
+
children: "PuckConfigProvider"
|
|
233
|
+
})
|
|
234
|
+
]
|
|
235
|
+
}),
|
|
236
|
+
/*#__PURE__*/ _jsx("pre", {
|
|
237
|
+
style: {
|
|
190
238
|
backgroundColor: 'var(--theme-elevation-100)',
|
|
191
239
|
padding: '16px',
|
|
192
240
|
borderRadius: '6px',
|
|
193
241
|
fontSize: '12px',
|
|
194
242
|
textAlign: 'left',
|
|
195
243
|
overflow: 'auto',
|
|
196
|
-
margin: 0
|
|
197
|
-
},
|
|
244
|
+
margin: 0
|
|
245
|
+
},
|
|
246
|
+
children: `// Option 1: Pass config directly
|
|
198
247
|
<PuckEditor config={editorConfig} ... />
|
|
199
248
|
|
|
200
249
|
// Option 2: Use context provider
|
|
201
250
|
<PuckConfigProvider config={editorConfig}>
|
|
202
251
|
<PuckEditor ... />
|
|
203
|
-
</PuckConfigProvider>`
|
|
252
|
+
</PuckConfigProvider>`
|
|
253
|
+
})
|
|
254
|
+
]
|
|
255
|
+
})
|
|
256
|
+
});
|
|
204
257
|
}
|
|
205
258
|
// Merge example prompts from plugin config and aiOptions prop
|
|
206
|
-
const mergedAiOptions = useMemo(()
|
|
207
|
-
if (!enableAi)
|
|
208
|
-
return undefined;
|
|
259
|
+
const mergedAiOptions = useMemo(()=>{
|
|
260
|
+
if (!enableAi) return undefined;
|
|
209
261
|
const mergedPrompts = [
|
|
210
|
-
...
|
|
211
|
-
...
|
|
262
|
+
...aiExamplePrompts || [],
|
|
263
|
+
...aiOptions?.examplePrompts || []
|
|
212
264
|
];
|
|
213
265
|
return {
|
|
214
266
|
host: aiOptions?.host || '/api/puck/ai',
|
|
215
|
-
examplePrompts: mergedPrompts.length > 0 ? mergedPrompts : undefined
|
|
267
|
+
examplePrompts: mergedPrompts.length > 0 ? mergedPrompts : undefined
|
|
216
268
|
};
|
|
217
|
-
}, [
|
|
218
|
-
|
|
269
|
+
}, [
|
|
270
|
+
enableAi,
|
|
271
|
+
aiExamplePrompts,
|
|
272
|
+
aiOptions
|
|
273
|
+
]);
|
|
274
|
+
// Compute preview URL from prefix (for Server Component compatibility)
|
|
275
|
+
// previewUrlPrefix takes precedence if provided
|
|
276
|
+
const finalPreviewUrl = useMemo(()=>{
|
|
277
|
+
if (previewUrlPrefix) {
|
|
278
|
+
// Convert prefix to a function that builds the full URL
|
|
279
|
+
return (slug)=>slug ? `${previewUrlPrefix}/${slug}` : previewUrlPrefix;
|
|
280
|
+
}
|
|
281
|
+
return previewUrl;
|
|
282
|
+
}, [
|
|
283
|
+
previewUrlPrefix,
|
|
284
|
+
previewUrl
|
|
285
|
+
]);
|
|
286
|
+
return /*#__PURE__*/ _jsx(PuckEditorImpl, {
|
|
287
|
+
pageId: pageId,
|
|
288
|
+
initialData: finalInitialData,
|
|
289
|
+
config: finalConfig,
|
|
290
|
+
pageTitle: pageTitle,
|
|
291
|
+
pageSlug: pageSlug,
|
|
292
|
+
apiEndpoint: apiEndpoint,
|
|
293
|
+
backUrl: backUrl,
|
|
294
|
+
previewUrl: finalPreviewUrl,
|
|
295
|
+
enableViewports: enableViewports,
|
|
296
|
+
plugins: mergedPlugins,
|
|
297
|
+
layouts: layouts,
|
|
298
|
+
layoutStyles: layoutStyles,
|
|
299
|
+
layoutKey: layoutKey,
|
|
300
|
+
headerActionsStart: headerActionsStart,
|
|
301
|
+
headerActionsEnd: headerActionsEnd,
|
|
302
|
+
overrides: overrides,
|
|
303
|
+
onSaveSuccess: onSaveSuccess,
|
|
304
|
+
onSaveError: onSaveError,
|
|
305
|
+
onChange: onChange,
|
|
306
|
+
initialStatus: initialStatus,
|
|
307
|
+
theme: theme,
|
|
308
|
+
editorStylesheets: editorStylesheets,
|
|
309
|
+
editorCss: editorCss,
|
|
310
|
+
enableAi: enableAi,
|
|
311
|
+
aiOptions: mergedAiOptions,
|
|
312
|
+
hasPromptsCollection: hasPromptsCollection,
|
|
313
|
+
hasContextCollection: hasContextCollection,
|
|
314
|
+
experimentalFullScreenCanvas: experimentalFullScreenCanvas,
|
|
315
|
+
autoDetectDarkMode: autoDetectDarkMode,
|
|
316
|
+
showPreviewDarkModeToggle: showPreviewDarkModeToggle,
|
|
317
|
+
initialPreviewDarkMode: initialPreviewDarkMode
|
|
318
|
+
});
|
|
219
319
|
}
|
|
320
|
+
|
|
220
321
|
//# sourceMappingURL=PuckEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuckEditor.js","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,OAAO,MAAM,cAAc,CAAA;AAOlC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AAEvE,+DAA+D;AAC/D,gFAAgF;AAChF,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EACzE;IACE,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,GAAG,EAAE,CAAC,KAAC,YAAY,KAAG;CAChC,CACF,CAAA;AAiPD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,MAAM,EACN,WAAW,EACX,MAAM,EAAE,UAAU,EAClB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,UAAU,EACV,eAAe,EACf,OAAO,EACP,OAAO,EAAE,WAAW,EACpB,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,KAAK,EAAE,SAAS;AAChB,kBAAkB;AAClB,WAAW,GAAG,KAAK,EACnB,MAAM,EACN,WAAW;AACX,8BAA8B;AAC9B,iBAAiB,EAAE,qBAAqB,EACxC,SAAS,EAAE,aAAa;AACxB,uBAAuB;AACvB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,gBAAgB,EAChB,oBAAoB,GAAG,KAAK,EAC5B,oBAAoB,GAAG,KAAK,EAC5B,uBAAuB,EACvB,4BAA4B,GAAG,KAAK;AACpC,kBAAkB;AAClB,kBAAkB,GAAG,IAAI,EACzB,yBAAyB,GAAG,IAAI,EAChC,sBAAsB,GAAG,KAAK,GACd;IAChB,sCAAsC;IACtC,MAAM,EACJ,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,kBAAkB,EAC3B,iBAAiB,EAAE,4BAA4B,EAC/C,SAAS,EAAE,oBAAoB,GAChC,GAAG,aAAa,EAAE,CAAA;IAEnB,8DAA8D;IAC9D,MAAM,UAAU,GAAG,UAAU,IAAI,iBAAiB,CAAA;IAClD,MAAM,KAAK,GAAG,SAAS,IAAI,gBAAgB,CAAA;IAE3C,uCAAuC;IACvC,oEAAoE;IACpE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,yEAAyE;QACzE,IAAI,OAAO,KAAK,KAAK;YAAE,OAAO,KAAK,CAAA;QACnC,mEAAmE;QACnE,mCAAmC;QACnC,MAAM,WAAW,GAAG,OAAO,IAAI,EAAE,CAAA;QACjC,MAAM,cAAc,GAAG,kBAAkB,IAAI,EAAE,CAAA;QAC/C,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC,CAAA;QACpD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IACnD,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAEjC,4DAA4D;IAC5D,MAAM,iBAAiB,GAAG,qBAAqB,IAAI,4BAA4B,CAAA;IAC/E,MAAM,SAAS,GAAG,aAAa,IAAI,oBAAoB,CAAA;IAEvD,uCAAuC;IACvC,mFAAmF;IACnF,4FAA4F;IAC5F,wFAAwF;IACxF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,qDAAqD;QACrD,IAAI,CAAC,WAAW,IAAI,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAA;QACzD,6BAA6B;QAC7B,IAAI,CAAC,WAAW;YAAE,OAAO,kBAAkB,CAAA;QAC3C,IAAI,CAAC,kBAAkB;YAAE,OAAO,WAAW,CAAA;QAE3C,wEAAwE;QACxE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YACpC,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,CAAC,CAAA;YAClF,IAAI,CAAC,aAAa;gBAAE,OAAO,UAAU,CAAA;YAErC,gFAAgF;YAChF,OAAO;gBACL,GAAG,UAAU;gBACb,qFAAqF;gBACrF,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;gBACjD,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;gBACjD,qDAAqD;gBACrD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,IAAI,aAAa,CAAC,gBAAgB;gBAC/E,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc;gBACzE,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,aAAa,CAAC,kBAAkB;gBACrF,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;aAClD,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAErC,kEAAkE;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAE5B,IAAI,MAAM,GAAG,UAAU,CAAA;QAEvB,sDAAsD;QACtD,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,gEAAgE;YAChE,MAAM,cAAc,GAAG,uBAAuB;gBAC5C,CAAC,CAAC,EAAE,GAAG,8BAA8B,EAAE,GAAG,uBAAuB,EAAE;gBACnE,CAAC,CAAC,8BAA8B,CAAA;YAElC,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QACjD,CAAC;QAED,qCAAqC;QACrC,IAAI,WAAW,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACvC,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,uBAAuB,CAAC,CAAC,CAAA;IAEhE,kDAAkD;IAClD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC,WAAW;YAAE,OAAO,WAAW,CAAA;QAEpC,OAAO;YACL,GAAG,WAAW;YACd,IAAI,EAAE;gBACJ,GAAG,WAAW,CAAC,IAAI;gBACnB,KAAK,EAAE;oBACL,GAAI,WAAW,CAAC,IAAY,EAAE,KAAK;oBACnC,+CAA+C;oBAC/C,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;oBACvC,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;iBAClD;aACF;SACF,CAAA;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;IAEnD,oCAAoC;IACpC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CACL,cACE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,QAAQ;gBACvB,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,MAAM,EAAE,qBAAqB;gBAC7B,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,QAAQ;aACpB,YAED,eACE,KAAK,EAAE;oBACL,eAAe,EAAE,2BAA2B;oBAC5C,MAAM,EAAE,sCAAsC;oBAC9C,YAAY,EAAE,KAAK;oBACnB,OAAO,EAAE,WAAW;oBACpB,QAAQ,EAAE,OAAO;iBAClB,aAED,aACE,KAAK,EAAE;4BACL,KAAK,EAAE,4BAA4B;4BACnC,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,GAAG;4BACf,MAAM,EAAE,YAAY;yBACrB,4CAGE,EACL,aACE,KAAK,EAAE;4BACL,KAAK,EAAE,4BAA4B;4BACnC,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,GAAG;4BACf,MAAM,EAAE,YAAY;yBACrB,6BAEW,eAAM,KAAK,EAAE,EAAE,eAAe,EAAE,4BAA4B,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAe,mDAA8C,GAAG,EACrM,eAAM,KAAK,EAAE,EAAE,eAAe,EAAE,4BAA4B,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,mCAA2B,IAClJ,EACJ,cACE,KAAK,EAAE;4BACL,eAAe,EAAE,4BAA4B;4BAC7C,OAAO,EAAE,MAAM;4BACf,YAAY,EAAE,KAAK;4BACnB,QAAQ,EAAE,MAAM;4BAChB,SAAS,EAAE,MAAM;4BACjB,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,CAAC;yBACV,YAEZ;;;;;;sBAMqB,GACN,IACF,GACF,CACP,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAA;QAE/B,MAAM,aAAa,GAAG;YACpB,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,EAAE,cAAc,IAAI,EAAE,CAAC;SACrC,CAAA;QAED,OAAO;YACL,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,cAAc;YACvC,cAAc,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;SACrE,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAA;IAE3C,OAAO,CACL,KAAC,cAAc,IACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,eAAe,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,oBAAoB,EAAE,oBAAoB,EAC1C,4BAA4B,EAAE,4BAA4B,EAC1D,kBAAkB,EAAE,kBAAkB,EACtC,yBAAyB,EAAE,yBAAyB,EACpD,sBAAsB,EAAE,sBAAsB,GAC9C,CACH,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"sources":["../../src/editor/PuckEditor.tsx"],"sourcesContent":["'use client'\n\nimport { useMemo } from 'react'\nimport dynamic from 'next/dynamic'\nimport type { Config as PuckConfig, Data, Plugin as PuckPlugin, Overrides as PuckOverrides } from '@puckeditor/core'\nimport type { ReactNode } from 'react'\nimport type { LayoutStyle } from './components/IframeWrapper.js'\nimport type { ThemeConfig } from '../theme/index.js'\nimport type { LayoutDefinition } from '../layouts/index.js'\nimport type { AiExamplePrompt, ComponentAiOverrides } from '../ai/types.js'\nimport { LoadingState } from './components/LoadingState.js'\nimport { injectPageTreeFields } from './utils/injectPageTreeFields.js'\nimport { hasPageTreeFields } from './utils/detectPageTree.js'\nimport { usePuckConfig } from '../views/PuckConfigContext.js'\nimport { injectAiConfig, hasAiConfig } from '../ai/utils/injectAiConfig.js'\nimport { comprehensiveComponentAiConfig } from '../ai/presets/index.js'\n\n// Dynamic import with ssr: false to prevent hydration mismatch\n// Puck generates random IDs for drag-and-drop that differ between server/client\nconst PuckEditorImpl = dynamic(\n () => import('./PuckEditorImpl.client.js').then((mod) => mod.PuckEditorImpl),\n {\n ssr: false,\n loading: () => <LoadingState />,\n }\n)\n\nexport interface PuckEditorProps {\n /**\n * Page ID for save operations\n */\n pageId: string\n /**\n * Initial Puck data to load\n */\n initialData: Data\n /**\n * Puck configuration with components and settings.\n * If not provided, will attempt to read from PuckConfigContext.\n */\n config?: PuckConfig\n /**\n * Page title for display\n */\n pageTitle: string\n /**\n * Page slug for preview URL\n */\n pageSlug: string\n /**\n * API endpoint for save operations\n * @default '/api/puck/pages'\n */\n apiEndpoint?: string\n /**\n * URL to navigate to when back button is clicked\n */\n backUrl?: string\n /**\n * Preview URL or function to generate preview URL from slug\n */\n previewUrl?: string | ((slug: string) => string)\n /**\n * URL prefix for preview (e.g., '/acme' for org-scoped pages).\n * When provided, the preview URL will be built as:\n * - Homepage: `{prefix}`\n * - Regular pages: `{prefix}/{slug}`\n * This is useful for Server Components where functions can't be passed.\n */\n previewUrlPrefix?: string\n /**\n * Whether to enable viewport switching\n * @default true\n */\n enableViewports?: boolean\n /**\n * Additional Puck plugins to use.\n * The headingAnalyzer plugin is included by default.\n * Set to `false` to disable all default plugins.\n */\n plugins?: PuckPlugin[] | false\n /**\n * Layout definitions for the editor preview.\n * The editor reads header, footer, editorBackground, and editorDarkMode\n * from the layout definition matching the selected pageLayout.\n */\n layouts?: LayoutDefinition[]\n /**\n * Layout style configurations for theme-aware preview\n * @deprecated Use `layouts` prop instead. layoutStyles will be removed in a future version.\n */\n layoutStyles?: Record<string, LayoutStyle>\n /**\n * Key in root.props to read layout value from\n * @default 'pageLayout'\n */\n layoutKey?: string\n /**\n * Custom actions to render at the start of the header\n */\n headerActionsStart?: ReactNode\n /**\n * Custom actions to render at the end of the header\n */\n headerActionsEnd?: ReactNode\n /**\n * Puck overrides to merge with defaults\n */\n overrides?: Partial<PuckOverrides>\n /**\n * Callback on successful save\n */\n onSaveSuccess?: (data: Data) => void\n /**\n * Callback on save error\n */\n onSaveError?: (error: Error) => void\n /**\n * Callback when data changes\n */\n onChange?: (data: Data) => void\n /**\n * Initial document status from Payload (_status field)\n * Automatically populated when using PuckEditorView\n */\n initialStatus?: 'draft' | 'published'\n /**\n * Theme configuration for customizing component styles\n * When provided, components will use themed styles\n */\n theme?: ThemeConfig\n\n // Page-tree integration props\n\n /**\n * Enable page-tree integration (folder picker, page segment, computed slug).\n * When true, injects folder/pageSegment/slug fields into root config.\n * Requires @delmaredigital/payload-page-tree plugin to be installed.\n * @default false\n */\n hasPageTree?: boolean\n /**\n * Initial folder ID for page-tree integration.\n * Only used when hasPageTree is true.\n */\n folder?: string | null\n /**\n * Initial page segment for page-tree integration.\n * Only used when hasPageTree is true.\n */\n pageSegment?: string\n\n // Editor iframe styling props\n\n /**\n * Stylesheet URLs to inject into the editor iframe.\n * Use this to provide frontend CSS (Tailwind, CSS variables, etc.)\n * that header/footer components need for proper styling.\n * Takes precedence over stylesheets from PuckConfigProvider.\n *\n * @example\n * ```tsx\n * <PuckEditor\n * editorStylesheets={['/editor-styles.css']}\n * // ...\n * />\n * ```\n */\n editorStylesheets?: string[]\n /**\n * Raw CSS to inject into the editor iframe.\n * Useful for CSS variables or style overrides.\n * Takes precedence over CSS from PuckConfigProvider.\n *\n * @example\n * ```tsx\n * <PuckEditor\n * editorCss=\":root { --primary: blue; }\"\n * // ...\n * />\n * ```\n */\n editorCss?: string\n\n // AI integration props\n\n /**\n * Enable AI features in the editor.\n * When true, adds the AI chat plugin to the editor.\n * Requires @puckeditor/plugin-ai to be installed and\n * PUCK_API_KEY environment variable to be set.\n * @default false\n */\n enableAi?: boolean\n\n /**\n * AI plugin configuration options.\n * Only used when enableAi is true.\n */\n aiOptions?: {\n /**\n * API host for AI requests.\n * @default '/api/puck/ai'\n */\n host?: string\n /**\n * Example prompts to show in the chat interface.\n * Users can click these to quickly send common prompts.\n */\n examplePrompts?: AiExamplePrompt[]\n }\n\n /**\n * Example prompts from plugin config.\n * These are merged with aiOptions.examplePrompts if both are provided.\n * Typically set automatically by PuckEditorView from plugin config.\n */\n aiExamplePrompts?: AiExamplePrompt[]\n\n /**\n * Whether the puck-ai-prompts collection is enabled.\n * When true, the prompt editor plugin is added to the plugin rail.\n * Typically set automatically by PuckEditorView from plugin config.\n */\n hasPromptsCollection?: boolean\n\n /**\n * Whether the puck-ai-context collection is enabled.\n * When true, the context editor plugin is added to the plugin rail.\n * Typically set automatically by PuckEditorView from plugin config.\n */\n hasContextCollection?: boolean\n\n /**\n * Custom component AI instructions to override or extend defaults.\n * When AI is enabled, built-in component instructions are auto-applied.\n * Use this to customize instructions for your brand/use case.\n * Typically set automatically by PuckEditorView from plugin config.\n */\n aiComponentInstructions?: ComponentAiOverrides\n\n /**\n * Enable experimental full screen canvas mode.\n * When enabled, the canvas takes up the full viewport with a floating viewport switcher.\n * This is an experimental Puck feature.\n * @default false\n */\n experimentalFullScreenCanvas?: boolean\n\n // Dark mode props\n\n /**\n * Auto-detect dark mode from PayloadCMS admin.\n * When true (default), dark mode CSS is automatically injected when Payload is in dark mode.\n * Set to false to disable automatic dark mode detection.\n * @default true\n */\n autoDetectDarkMode?: boolean\n\n /**\n * Show the preview dark mode toggle near the viewport switcher.\n * Allows toggling the preview iframe between light/dark modes independently.\n * @default true\n */\n showPreviewDarkModeToggle?: boolean\n\n /**\n * Initial state for the preview dark mode toggle.\n * Only used when showPreviewDarkModeToggle is true.\n * @default false (light mode)\n */\n initialPreviewDarkMode?: boolean\n}\n\n/**\n * Puck Editor - The primary editor component\n *\n * A full-featured visual page builder with:\n * - Save draft and publish functionality\n * - Unsaved changes tracking with beforeunload warning\n * - Interactive/Edit mode toggle\n * - Theme-aware preview backgrounds\n * - Responsive viewport switching\n * - Optional page-tree integration (folder-based URL structure)\n *\n * @example Basic usage\n * ```tsx\n * 'use client'\n *\n * import { PuckEditor } from '@delmaredigital/payload-puck/editor'\n * import { editorConfig } from '@delmaredigital/payload-puck/config/editor'\n *\n * export function PageEditor({ page }) {\n * return (\n * <PuckEditor\n * pageId={page.id}\n * initialData={page.puckData}\n * config={editorConfig}\n * pageTitle={page.title}\n * pageSlug={page.slug}\n * apiEndpoint=\"/api/puck/pages\"\n * backUrl=\"/admin/pages\"\n * />\n * )\n * }\n * ```\n *\n * @example With page-tree integration\n * ```tsx\n * <PuckEditor\n * pageId={page.id}\n * initialData={page.puckData}\n * config={editorConfig}\n * pageTitle={page.title}\n * pageSlug={page.slug}\n * apiEndpoint=\"/api/puck/pages\"\n * hasPageTree={true}\n * folder={page.folder}\n * pageSegment={page.pageSegment}\n * />\n * ```\n */\nexport function PuckEditor({\n pageId,\n initialData,\n config: configProp,\n pageTitle,\n pageSlug,\n apiEndpoint,\n backUrl,\n previewUrl,\n previewUrlPrefix,\n enableViewports,\n plugins,\n layouts: layoutsProp,\n layoutStyles,\n layoutKey,\n headerActionsStart,\n headerActionsEnd,\n overrides,\n onSaveSuccess,\n onSaveError,\n onChange,\n initialStatus,\n theme: themeProp,\n // Page-tree props\n hasPageTree = false,\n folder,\n pageSegment,\n // Editor iframe styling props\n editorStylesheets: editorStylesheetsProp,\n editorCss: editorCssProp,\n // AI integration props\n enableAi = false,\n aiOptions,\n aiExamplePrompts,\n hasPromptsCollection = false,\n hasContextCollection = false,\n aiComponentInstructions,\n experimentalFullScreenCanvas = false,\n // Dark mode props\n autoDetectDarkMode = true,\n showPreviewDarkModeToggle = true,\n initialPreviewDarkMode = false,\n}: PuckEditorProps) {\n // Get config from context as fallback\n const {\n config: configFromContext,\n layouts: layoutsFromContext,\n theme: themeFromContext,\n plugins: pluginsFromContext,\n editorStylesheets: editorStylesheetsFromContext,\n editorCss: editorCssFromContext,\n } = usePuckConfig()\n\n // Use prop config if provided, otherwise fall back to context\n const baseConfig = configProp || configFromContext\n const theme = themeProp || themeFromContext\n\n // Merge plugins from props and context\n // Props take precedence and are added first, context plugins follow\n const mergedPlugins = useMemo(() => {\n // If plugins prop is false, disable all plugins (including context ones)\n if (plugins === false) return false\n // If plugins prop is provided (not undefined), it takes precedence\n // But also include context plugins\n const propPlugins = plugins || []\n const contextPlugins = pluginsFromContext || []\n const combined = [...propPlugins, ...contextPlugins]\n return combined.length > 0 ? combined : undefined\n }, [plugins, pluginsFromContext])\n\n // Props take precedence over context for editor stylesheets\n const editorStylesheets = editorStylesheetsProp || editorStylesheetsFromContext\n const editorCss = editorCssProp || editorCssFromContext\n\n // Merge layouts from props and context\n // Props may have metadata (value, label, editorBackground) but no React components\n // Context may have React components (header, footer) that can't be serialized through props\n // Merge by matching on 'value', combining properties, preferring context for components\n const layouts = useMemo(() => {\n // If no layouts from either source, return undefined\n if (!layoutsProp && !layoutsFromContext) return undefined\n // If only one source, use it\n if (!layoutsProp) return layoutsFromContext\n if (!layoutsFromContext) return layoutsProp\n\n // Merge: for each prop layout, find matching context layout and combine\n return layoutsProp.map((propLayout) => {\n const contextLayout = layoutsFromContext.find((c) => c.value === propLayout.value)\n if (!contextLayout) return propLayout\n\n // Combine: prop values first, then context values (context provides components)\n return {\n ...propLayout,\n // Context provides React components (these can't be serialized through server props)\n header: propLayout.header || contextLayout.header,\n footer: propLayout.footer || contextLayout.footer,\n // Context may also provide other values not in props\n editorBackground: propLayout.editorBackground || contextLayout.editorBackground,\n editorDarkMode: propLayout.editorDarkMode ?? contextLayout.editorDarkMode,\n stickyHeaderHeight: propLayout.stickyHeaderHeight ?? contextLayout.stickyHeaderHeight,\n styles: propLayout.styles || contextLayout.styles,\n }\n })\n }, [layoutsProp, layoutsFromContext])\n\n // Conditionally inject page-tree fields and AI config into config\n const finalConfig = useMemo(() => {\n if (!baseConfig) return null\n\n let config = baseConfig\n\n // Inject AI component instructions when AI is enabled\n if (enableAi && !hasAiConfig(config)) {\n // Merge comprehensive instructions with user-provided overrides\n const mergedAiConfig = aiComponentInstructions\n ? { ...comprehensiveComponentAiConfig, ...aiComponentInstructions }\n : comprehensiveComponentAiConfig\n\n config = injectAiConfig(config, mergedAiConfig)\n }\n\n // Inject page-tree fields if enabled\n if (hasPageTree && !hasPageTreeFields(config)) {\n config = injectPageTreeFields(config)\n }\n\n return config\n }, [baseConfig, hasPageTree, enableAi, aiComponentInstructions])\n\n // Merge page-tree initial values into initialData\n const finalInitialData = useMemo(() => {\n if (!hasPageTree) return initialData\n\n return {\n ...initialData,\n root: {\n ...initialData.root,\n props: {\n ...(initialData.root as any)?.props,\n // Only set if provided and hasPageTree is true\n ...(folder !== undefined && { folder }),\n ...(pageSegment !== undefined && { pageSegment }),\n },\n },\n }\n }, [initialData, hasPageTree, folder, pageSegment])\n\n // Show error if no config available\n if (!finalConfig) {\n return (\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n height: 'calc(100vh - 120px)',\n padding: '40px',\n textAlign: 'center',\n }}\n >\n <div\n style={{\n backgroundColor: 'var(--theme-elevation-50)',\n border: '1px solid var(--theme-elevation-150)',\n borderRadius: '8px',\n padding: '32px 48px',\n maxWidth: '560px',\n }}\n >\n <h2\n style={{\n color: 'var(--theme-elevation-800)',\n fontSize: '18px',\n fontWeight: 600,\n margin: '0 0 12px 0',\n }}\n >\n Puck Configuration Required\n </h2>\n <p\n style={{\n color: 'var(--theme-elevation-500)',\n fontSize: '14px',\n lineHeight: 1.6,\n margin: '0 0 16px 0',\n }}\n >\n Either pass <code style={{ backgroundColor: 'var(--theme-elevation-100)', padding: '2px 6px', borderRadius: '4px', fontSize: '13px' }}>config</code> prop directly, or wrap your application with{' '}\n <code style={{ backgroundColor: 'var(--theme-elevation-100)', padding: '2px 6px', borderRadius: '4px', fontSize: '13px' }}>PuckConfigProvider</code>\n </p>\n <pre\n style={{\n backgroundColor: 'var(--theme-elevation-100)',\n padding: '16px',\n borderRadius: '6px',\n fontSize: '12px',\n textAlign: 'left',\n overflow: 'auto',\n margin: 0,\n }}\n >\n{`// Option 1: Pass config directly\n<PuckEditor config={editorConfig} ... />\n\n// Option 2: Use context provider\n<PuckConfigProvider config={editorConfig}>\n <PuckEditor ... />\n</PuckConfigProvider>`}\n </pre>\n </div>\n </div>\n )\n }\n\n // Merge example prompts from plugin config and aiOptions prop\n const mergedAiOptions = useMemo(() => {\n if (!enableAi) return undefined\n\n const mergedPrompts = [\n ...(aiExamplePrompts || []),\n ...(aiOptions?.examplePrompts || []),\n ]\n\n return {\n host: aiOptions?.host || '/api/puck/ai',\n examplePrompts: mergedPrompts.length > 0 ? mergedPrompts : undefined,\n }\n }, [enableAi, aiExamplePrompts, aiOptions])\n\n // Compute preview URL from prefix (for Server Component compatibility)\n // previewUrlPrefix takes precedence if provided\n const finalPreviewUrl = useMemo(() => {\n if (previewUrlPrefix) {\n // Convert prefix to a function that builds the full URL\n return (slug: string) => (slug ? `${previewUrlPrefix}/${slug}` : previewUrlPrefix)\n }\n return previewUrl\n }, [previewUrlPrefix, previewUrl])\n\n return (\n <PuckEditorImpl\n pageId={pageId}\n initialData={finalInitialData}\n config={finalConfig}\n pageTitle={pageTitle}\n pageSlug={pageSlug}\n apiEndpoint={apiEndpoint}\n backUrl={backUrl}\n previewUrl={finalPreviewUrl}\n enableViewports={enableViewports}\n plugins={mergedPlugins}\n layouts={layouts}\n layoutStyles={layoutStyles}\n layoutKey={layoutKey}\n headerActionsStart={headerActionsStart}\n headerActionsEnd={headerActionsEnd}\n overrides={overrides}\n onSaveSuccess={onSaveSuccess}\n onSaveError={onSaveError}\n onChange={onChange}\n initialStatus={initialStatus}\n theme={theme}\n editorStylesheets={editorStylesheets}\n editorCss={editorCss}\n enableAi={enableAi}\n aiOptions={mergedAiOptions}\n hasPromptsCollection={hasPromptsCollection}\n hasContextCollection={hasContextCollection}\n experimentalFullScreenCanvas={experimentalFullScreenCanvas}\n autoDetectDarkMode={autoDetectDarkMode}\n showPreviewDarkModeToggle={showPreviewDarkModeToggle}\n initialPreviewDarkMode={initialPreviewDarkMode}\n />\n )\n}\n"],"names":["useMemo","dynamic","LoadingState","injectPageTreeFields","hasPageTreeFields","usePuckConfig","injectAiConfig","hasAiConfig","comprehensiveComponentAiConfig","PuckEditorImpl","then","mod","ssr","loading","PuckEditor","pageId","initialData","config","configProp","pageTitle","pageSlug","apiEndpoint","backUrl","previewUrl","previewUrlPrefix","enableViewports","plugins","layouts","layoutsProp","layoutStyles","layoutKey","headerActionsStart","headerActionsEnd","overrides","onSaveSuccess","onSaveError","onChange","initialStatus","theme","themeProp","hasPageTree","folder","pageSegment","editorStylesheets","editorStylesheetsProp","editorCss","editorCssProp","enableAi","aiOptions","aiExamplePrompts","hasPromptsCollection","hasContextCollection","aiComponentInstructions","experimentalFullScreenCanvas","autoDetectDarkMode","showPreviewDarkModeToggle","initialPreviewDarkMode","configFromContext","layoutsFromContext","themeFromContext","pluginsFromContext","editorStylesheetsFromContext","editorCssFromContext","baseConfig","mergedPlugins","propPlugins","contextPlugins","combined","length","undefined","map","propLayout","contextLayout","find","c","value","header","footer","editorBackground","editorDarkMode","stickyHeaderHeight","styles","finalConfig","mergedAiConfig","finalInitialData","root","props","div","style","display","flexDirection","alignItems","justifyContent","height","padding","textAlign","backgroundColor","border","borderRadius","maxWidth","h2","color","fontSize","fontWeight","margin","p","lineHeight","code","pre","overflow","mergedAiOptions","mergedPrompts","examplePrompts","host","finalPreviewUrl","slug"],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ import '@puckeditor/core/puck.css';
|
|
|
4
4
|
import '@puckeditor/plugin-heading-analyzer/dist/index.css';
|
|
5
5
|
import '@puckeditor/plugin-ai/styles.css';
|
|
6
6
|
import './ai-plugin-overrides.css';
|
|
7
|
-
import { type LayoutStyle } from './components/IframeWrapper';
|
|
8
|
-
import { type ThemeConfig } from '../theme';
|
|
9
|
-
import type { LayoutDefinition } from '../layouts';
|
|
7
|
+
import { type LayoutStyle } from './components/IframeWrapper.js';
|
|
8
|
+
import { type ThemeConfig } from '../theme/index.js';
|
|
9
|
+
import type { LayoutDefinition } from '../layouts/index.js';
|
|
10
10
|
import type { AiExamplePrompt } from '../ai/types.js';
|
|
11
11
|
export interface PuckEditorImplProps {
|
|
12
12
|
/**
|
|
@@ -179,5 +179,5 @@ export interface PuckEditorImplProps {
|
|
|
179
179
|
* Internal implementation component - use PuckEditor instead.
|
|
180
180
|
* @internal
|
|
181
181
|
*/
|
|
182
|
-
export declare function PuckEditorImpl({ pageId, initialData, config, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, enableViewports, plugins, layouts, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides: customOverrides, onSaveSuccess, onSaveError, onChange: onChangeProp, initialStatus, theme, editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, enableAi, aiOptions, hasPromptsCollection, hasContextCollection, experimentalFullScreenCanvas, autoDetectDarkMode, showPreviewDarkModeToggle, initialPreviewDarkMode, }: PuckEditorImplProps): import("react
|
|
182
|
+
export declare function PuckEditorImpl({ pageId, initialData, config, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, enableViewports, plugins, layouts, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides: customOverrides, onSaveSuccess, onSaveError, onChange: onChangeProp, initialStatus, theme, editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, enableAi, aiOptions, hasPromptsCollection, hasContextCollection, experimentalFullScreenCanvas, autoDetectDarkMode, showPreviewDarkModeToggle, initialPreviewDarkMode, }: PuckEditorImplProps): import("react").JSX.Element;
|
|
183
183
|
//# sourceMappingURL=PuckEditorImpl.client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuckEditorImpl.client.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditorImpl.client.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA0C,KAAK,SAAS,EAAiB,MAAM,OAAO,CAAA;AAE7F,OAAO,EAAQ,KAAK,MAAM,IAAI,UAAU,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,IAAI,UAAU,EAAE,KAAK,SAAS,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACzI,OAAO,2BAA2B,CAAA;AAElC,OAAO,oDAAoD,CAAA;AAE3D,OAAO,kCAAkC,CAAA;AACzC,OAAO,2BAA2B,CAAA;AAIlC,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PuckEditorImpl.client.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditorImpl.client.tsx"],"names":[],"mappings":"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"}
|