@delmaredigital/payload-puck 0.1.3 → 0.3.0
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 +293 -1237
- package/dist/admin/EditWithPuckButton.d.ts +74 -0
- package/dist/admin/EditWithPuckButton.d.ts.map +1 -0
- package/dist/admin/EditWithPuckButton.js +114 -0
- package/dist/admin/EditWithPuckButton.js.map +1 -0
- package/dist/admin/EditWithPuckCell.d.ts +43 -0
- package/dist/admin/EditWithPuckCell.d.ts.map +1 -0
- package/dist/admin/EditWithPuckCell.js +66 -0
- package/dist/admin/EditWithPuckCell.js.map +1 -0
- package/dist/admin/PuckEditorView.d.ts +85 -0
- package/dist/admin/PuckEditorView.d.ts.map +1 -0
- package/dist/admin/PuckEditorView.js +135 -0
- package/dist/admin/PuckEditorView.js.map +1 -0
- package/dist/admin/client.d.ts +8 -104
- package/dist/admin/client.d.ts.map +1 -0
- package/dist/admin/client.js +14 -176
- package/dist/admin/client.js.map +1 -0
- package/dist/admin/generateAdminComponents.d.ts +51 -0
- package/dist/admin/generateAdminComponents.d.ts.map +1 -0
- package/dist/admin/generateAdminComponents.js +42 -0
- package/dist/admin/generateAdminComponents.js.map +1 -0
- package/dist/admin/index.d.ts +14 -150
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +17 -30
- package/dist/admin/index.js.map +1 -0
- package/dist/api/createPuckApiRoutes.d.ts +31 -0
- package/dist/api/createPuckApiRoutes.d.ts.map +1 -0
- package/dist/api/createPuckApiRoutes.js +193 -0
- package/dist/api/createPuckApiRoutes.js.map +1 -0
- package/dist/api/createPuckApiRoutesVersions.d.ts +28 -0
- package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -0
- package/dist/api/createPuckApiRoutesVersions.js +144 -0
- package/dist/api/createPuckApiRoutesVersions.js.map +1 -0
- package/dist/api/createPuckApiRoutesWithId.d.ts +34 -0
- package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -0
- package/dist/api/createPuckApiRoutesWithId.js +251 -0
- package/dist/api/createPuckApiRoutesWithId.js.map +1 -0
- package/dist/api/index.d.ts +11 -431
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +40 -587
- package/dist/api/index.js.map +1 -0
- package/dist/api/types.d.ts +302 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +2 -0
- package/dist/api/types.js.map +1 -0
- package/dist/api/utils/mapRootProps.d.ts +76 -0
- package/dist/api/utils/mapRootProps.d.ts.map +1 -0
- package/dist/api/utils/mapRootProps.js +169 -0
- package/dist/api/utils/mapRootProps.js.map +1 -0
- package/dist/collections/Templates.d.ts +9 -0
- package/dist/collections/Templates.d.ts.map +1 -0
- package/dist/collections/Templates.js +62 -0
- package/dist/collections/Templates.js.map +1 -0
- package/dist/components/AccordionClient.d.ts +20 -0
- package/dist/components/AccordionClient.d.ts.map +1 -0
- package/dist/components/AccordionClient.js +67 -0
- package/dist/components/AccordionClient.js.map +1 -0
- package/dist/components/AnimatedWrapper.d.ts +33 -0
- package/dist/components/AnimatedWrapper.d.ts.map +1 -0
- package/dist/components/AnimatedWrapper.js +61 -0
- package/dist/components/AnimatedWrapper.js.map +1 -0
- package/dist/components/exports.d.ts +54 -0
- package/dist/components/exports.d.ts.map +1 -0
- package/dist/components/exports.js +71 -0
- package/dist/components/exports.js.map +1 -0
- package/dist/components/index.d.ts +8 -219
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +15 -9155
- package/dist/components/index.js.map +1 -0
- package/dist/components/interactive/Accordion.d.ts +28 -0
- package/dist/components/interactive/Accordion.d.ts.map +1 -0
- package/dist/components/interactive/Accordion.js +159 -0
- package/dist/components/interactive/Accordion.js.map +1 -0
- package/dist/components/interactive/Accordion.server.d.ts +29 -0
- package/dist/components/interactive/Accordion.server.d.ts.map +1 -0
- package/dist/components/interactive/Accordion.server.js +30 -0
- package/dist/components/interactive/Accordion.server.js.map +1 -0
- package/dist/components/interactive/Button.d.ts +26 -0
- package/dist/components/interactive/Button.d.ts.map +1 -0
- package/dist/components/interactive/Button.js +133 -0
- package/dist/components/interactive/Button.js.map +1 -0
- package/dist/components/interactive/Button.server.d.ts +28 -0
- package/dist/components/interactive/Button.server.d.ts.map +1 -0
- package/dist/components/interactive/Button.server.js +96 -0
- package/dist/components/interactive/Button.server.js.map +1 -0
- package/dist/components/interactive/Card.d.ts +27 -0
- package/dist/components/interactive/Card.d.ts.map +1 -0
- package/dist/components/interactive/Card.js +128 -0
- package/dist/components/interactive/Card.js.map +1 -0
- package/dist/components/interactive/Card.server.d.ts +29 -0
- package/dist/components/interactive/Card.server.d.ts.map +1 -0
- package/dist/components/interactive/Card.server.js +77 -0
- package/dist/components/interactive/Card.server.js.map +1 -0
- package/dist/components/interactive/Divider.d.ts +18 -0
- package/dist/components/interactive/Divider.d.ts.map +1 -0
- package/dist/components/interactive/Divider.js +68 -0
- package/dist/components/interactive/Divider.js.map +1 -0
- package/dist/components/interactive/Divider.server.d.ts +20 -0
- package/dist/components/interactive/Divider.server.d.ts.map +1 -0
- package/dist/components/interactive/Divider.server.js +50 -0
- package/dist/components/interactive/Divider.server.js.map +1 -0
- package/dist/components/interactive/index.d.ts +10 -0
- package/dist/components/interactive/index.d.ts.map +1 -0
- package/dist/components/interactive/index.js +10 -0
- package/dist/components/interactive/index.js.map +1 -0
- package/dist/components/layout/Container.d.ts +29 -0
- package/dist/components/layout/Container.d.ts.map +1 -0
- package/dist/components/layout/Container.js +166 -0
- package/dist/components/layout/Container.js.map +1 -0
- package/dist/components/layout/Container.server.d.ts +32 -0
- package/dist/components/layout/Container.server.d.ts.map +1 -0
- package/dist/components/layout/Container.server.js +105 -0
- package/dist/components/layout/Container.server.js.map +1 -0
- package/dist/components/layout/Flex.d.ts +36 -0
- package/dist/components/layout/Flex.d.ts.map +1 -0
- package/dist/components/layout/Flex.js +183 -0
- package/dist/components/layout/Flex.js.map +1 -0
- package/dist/components/layout/Flex.server.d.ts +36 -0
- package/dist/components/layout/Flex.server.d.ts.map +1 -0
- package/dist/components/layout/Flex.server.js +97 -0
- package/dist/components/layout/Flex.server.js.map +1 -0
- package/dist/components/layout/Grid.d.ts +31 -0
- package/dist/components/layout/Grid.d.ts.map +1 -0
- package/dist/components/layout/Grid.js +164 -0
- package/dist/components/layout/Grid.js.map +1 -0
- package/dist/components/layout/Grid.server.d.ts +32 -0
- package/dist/components/layout/Grid.server.d.ts.map +1 -0
- package/dist/components/layout/Grid.server.js +92 -0
- package/dist/components/layout/Grid.server.js.map +1 -0
- package/dist/components/layout/Section.d.ts +35 -0
- package/dist/components/layout/Section.d.ts.map +1 -0
- package/dist/components/layout/Section.js +212 -0
- package/dist/components/layout/Section.js.map +1 -0
- package/dist/components/layout/Section.server.d.ts +35 -0
- package/dist/components/layout/Section.server.d.ts.map +1 -0
- package/dist/components/layout/Section.server.js +144 -0
- package/dist/components/layout/Section.server.js.map +1 -0
- package/dist/components/layout/Spacer.d.ts +18 -0
- package/dist/components/layout/Spacer.d.ts.map +1 -0
- package/dist/components/layout/Spacer.js +99 -0
- package/dist/components/layout/Spacer.js.map +1 -0
- package/dist/components/layout/Spacer.server.d.ts +21 -0
- package/dist/components/layout/Spacer.server.d.ts.map +1 -0
- package/dist/components/layout/Spacer.server.js +61 -0
- package/dist/components/layout/Spacer.server.js.map +1 -0
- package/dist/components/layout/Template.d.ts +35 -0
- package/dist/components/layout/Template.d.ts.map +1 -0
- package/dist/components/layout/Template.js +124 -0
- package/dist/components/layout/Template.js.map +1 -0
- package/dist/components/layout/Template.server.d.ts +32 -0
- package/dist/components/layout/Template.server.d.ts.map +1 -0
- package/dist/components/layout/Template.server.js +75 -0
- package/dist/components/layout/Template.server.js.map +1 -0
- package/dist/components/layout/index.d.ts +14 -0
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/layout/index.js +13 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/media/Image.d.ts +30 -0
- package/dist/components/media/Image.d.ts.map +1 -0
- package/dist/components/media/Image.js +123 -0
- package/dist/components/media/Image.js.map +1 -0
- package/dist/components/media/Image.server.d.ts +28 -0
- package/dist/components/media/Image.server.d.ts.map +1 -0
- package/dist/components/media/Image.server.js +76 -0
- package/dist/components/media/Image.server.js.map +1 -0
- package/dist/components/media/index.d.ts +7 -0
- package/dist/components/media/index.d.ts.map +1 -0
- package/dist/components/media/index.js +7 -0
- package/dist/components/media/index.js.map +1 -0
- package/dist/components/typography/Heading.d.ts +21 -0
- package/dist/components/typography/Heading.d.ts.map +1 -0
- package/dist/components/typography/Heading.js +71 -0
- package/dist/components/typography/Heading.js.map +1 -0
- package/dist/components/typography/Heading.server.d.ts +21 -0
- package/dist/components/typography/Heading.server.d.ts.map +1 -0
- package/dist/components/typography/Heading.server.js +49 -0
- package/dist/components/typography/Heading.server.js.map +1 -0
- package/dist/components/typography/RichText.d.ts +20 -0
- package/dist/components/typography/RichText.d.ts.map +1 -0
- package/dist/components/typography/RichText.editor.d.ts +11 -0
- package/dist/components/typography/RichText.editor.d.ts.map +1 -0
- package/dist/components/typography/RichText.editor.js +67 -0
- package/dist/components/typography/RichText.editor.js.map +1 -0
- package/dist/components/typography/RichText.js +73 -0
- package/dist/components/typography/RichText.js.map +1 -0
- package/dist/components/typography/RichText.server.d.ts +22 -0
- package/dist/components/typography/RichText.server.d.ts.map +1 -0
- package/dist/components/typography/RichText.server.js +52 -0
- package/dist/components/typography/RichText.server.js.map +1 -0
- package/dist/components/typography/Text.d.ts +20 -0
- package/dist/components/typography/Text.d.ts.map +1 -0
- package/dist/components/typography/Text.js +61 -0
- package/dist/components/typography/Text.js.map +1 -0
- package/dist/components/typography/Text.server.d.ts +21 -0
- package/dist/components/typography/Text.server.d.ts.map +1 -0
- package/dist/components/typography/Text.server.js +39 -0
- package/dist/components/typography/Text.server.js.map +1 -0
- package/dist/components/typography/index.d.ts +10 -0
- package/dist/components/typography/index.d.ts.map +1 -0
- package/dist/components/typography/index.js +10 -0
- package/dist/components/typography/index.js.map +1 -0
- package/dist/config/config.editor.d.ts +15 -56
- package/dist/config/config.editor.d.ts.map +1 -0
- package/dist/config/config.editor.js +125 -9364
- package/dist/config/config.editor.js.map +1 -0
- package/dist/config/index.d.ts +7 -33
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +110 -2028
- package/dist/config/index.js.map +1 -0
- package/dist/config/merge.d.ts +23 -0
- package/dist/config/merge.d.ts.map +1 -0
- package/dist/config/merge.js +80 -0
- package/dist/config/merge.js.map +1 -0
- package/dist/config/presets.d.ts +342 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/presets.js +247 -0
- package/dist/config/presets.js.map +1 -0
- package/dist/editor/PuckEditor.client.d.ts +131 -0
- package/dist/editor/PuckEditor.client.d.ts.map +1 -0
- package/dist/editor/PuckEditor.client.js +42 -0
- package/dist/editor/PuckEditor.client.js.map +1 -0
- package/dist/editor/PuckEditorCore.client.d.ts +141 -0
- package/dist/editor/PuckEditorCore.client.d.ts.map +1 -0
- package/dist/editor/PuckEditorCore.client.js +306 -0
- package/dist/editor/PuckEditorCore.client.js.map +1 -0
- package/dist/editor/components/HeaderActions.d.ts +109 -0
- package/dist/editor/components/HeaderActions.d.ts.map +1 -0
- package/dist/editor/components/HeaderActions.js +254 -0
- package/dist/editor/components/HeaderActions.js.map +1 -0
- package/dist/editor/components/IframeWrapper.d.ts +77 -0
- package/dist/editor/components/IframeWrapper.d.ts.map +1 -0
- package/dist/editor/components/IframeWrapper.js +257 -0
- package/dist/editor/components/IframeWrapper.js.map +1 -0
- package/dist/editor/components/LoadingState.d.ts +14 -0
- package/dist/editor/components/LoadingState.d.ts.map +1 -0
- package/dist/editor/components/LoadingState.js +12 -0
- package/dist/editor/components/LoadingState.js.map +1 -0
- package/dist/editor/components/PreviewModal.d.ts +54 -0
- package/dist/editor/components/PreviewModal.d.ts.map +1 -0
- package/dist/editor/components/PreviewModal.js +298 -0
- package/dist/editor/components/PreviewModal.js.map +1 -0
- package/dist/editor/components/VersionHistory.d.ts +44 -0
- package/dist/editor/components/VersionHistory.d.ts.map +1 -0
- package/dist/editor/components/VersionHistory.js +308 -0
- package/dist/editor/components/VersionHistory.js.map +1 -0
- package/dist/editor/hooks/useUnsavedChanges.d.ts +27 -0
- package/dist/editor/hooks/useUnsavedChanges.d.ts.map +1 -0
- package/dist/editor/hooks/useUnsavedChanges.js +55 -0
- package/dist/editor/hooks/useUnsavedChanges.js.map +1 -0
- package/dist/editor/index.d.ts +16 -756
- package/dist/editor/index.d.ts.map +1 -0
- package/dist/editor/index.js +49 -4533
- package/dist/editor/index.js.map +1 -0
- package/dist/editor/plugins/index.d.ts +12 -0
- package/dist/editor/plugins/index.d.ts.map +1 -0
- package/dist/editor/plugins/index.js +12 -0
- package/dist/editor/plugins/index.js.map +1 -0
- package/dist/endpoints/index.d.ts +46 -0
- package/dist/endpoints/index.d.ts.map +1 -0
- package/dist/endpoints/index.js +204 -0
- package/dist/endpoints/index.js.map +1 -0
- package/dist/exports/client.d.ts +19 -0
- package/dist/exports/client.d.ts.map +1 -0
- package/dist/exports/client.js +21 -0
- package/dist/exports/client.js.map +1 -0
- package/dist/exports/rsc.d.ts +19 -0
- package/dist/exports/rsc.d.ts.map +1 -0
- package/dist/exports/rsc.js +19 -0
- package/dist/exports/rsc.js.map +1 -0
- package/dist/fields/AlignmentField.d.ts +36 -0
- package/dist/fields/AlignmentField.d.ts.map +1 -0
- package/dist/fields/AlignmentField.js +120 -0
- package/dist/fields/AlignmentField.js.map +1 -0
- package/dist/fields/AnimationField.d.ts +44 -0
- package/dist/fields/AnimationField.d.ts.map +1 -0
- package/dist/fields/AnimationField.js +329 -0
- package/dist/fields/AnimationField.js.map +1 -0
- package/dist/fields/BackgroundField.d.ts +40 -0
- package/dist/fields/BackgroundField.d.ts.map +1 -0
- package/dist/fields/BackgroundField.js +413 -0
- package/dist/fields/BackgroundField.js.map +1 -0
- package/dist/fields/BorderField.d.ts +29 -0
- package/dist/fields/BorderField.d.ts.map +1 -0
- package/dist/fields/BorderField.js +264 -0
- package/dist/fields/BorderField.js.map +1 -0
- package/dist/fields/ColorPickerField.d.ts +43 -0
- package/dist/fields/ColorPickerField.d.ts.map +1 -0
- package/dist/fields/ColorPickerField.js +285 -0
- package/dist/fields/ColorPickerField.js.map +1 -0
- package/dist/fields/DimensionsField.d.ts +43 -0
- package/dist/fields/DimensionsField.d.ts.map +1 -0
- package/dist/fields/DimensionsField.js +532 -0
- package/dist/fields/DimensionsField.js.map +1 -0
- package/dist/fields/FlexAlignmentField.d.ts +61 -0
- package/dist/fields/FlexAlignmentField.d.ts.map +1 -0
- package/dist/fields/FlexAlignmentField.js +166 -0
- package/dist/fields/FlexAlignmentField.js.map +1 -0
- package/dist/fields/FolderPickerField.d.ts +17 -0
- package/dist/fields/FolderPickerField.d.ts.map +1 -0
- package/dist/fields/FolderPickerField.js +282 -0
- package/dist/fields/FolderPickerField.js.map +1 -0
- package/dist/fields/GradientEditor.d.ts +22 -0
- package/dist/fields/GradientEditor.d.ts.map +1 -0
- package/dist/fields/GradientEditor.js +322 -0
- package/dist/fields/GradientEditor.js.map +1 -0
- package/dist/fields/LockedField.d.ts +67 -0
- package/dist/fields/LockedField.d.ts.map +1 -0
- package/dist/fields/LockedField.js +170 -0
- package/dist/fields/LockedField.js.map +1 -0
- package/dist/fields/MarginField.d.ts +31 -0
- package/dist/fields/MarginField.d.ts.map +1 -0
- package/dist/fields/MarginField.js +233 -0
- package/dist/fields/MarginField.js.map +1 -0
- package/dist/fields/MediaField.d.ts +33 -0
- package/dist/fields/MediaField.d.ts.map +1 -0
- package/dist/fields/MediaField.js +677 -0
- package/dist/fields/MediaField.js.map +1 -0
- package/dist/fields/PaddingField.d.ts +29 -0
- package/dist/fields/PaddingField.d.ts.map +1 -0
- package/dist/fields/PaddingField.js +232 -0
- package/dist/fields/PaddingField.js.map +1 -0
- package/dist/fields/PageSegmentField.d.ts +17 -0
- package/dist/fields/PageSegmentField.d.ts.map +1 -0
- package/dist/fields/PageSegmentField.js +92 -0
- package/dist/fields/PageSegmentField.js.map +1 -0
- package/dist/fields/ResetField.d.ts +27 -0
- package/dist/fields/ResetField.d.ts.map +1 -0
- package/dist/fields/ResetField.js +122 -0
- package/dist/fields/ResetField.js.map +1 -0
- package/dist/fields/ResponsiveField.d.ts +38 -0
- package/dist/fields/ResponsiveField.d.ts.map +1 -0
- package/dist/fields/ResponsiveField.js +275 -0
- package/dist/fields/ResponsiveField.js.map +1 -0
- package/dist/fields/ResponsiveVisibilityField.d.ts +34 -0
- package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -0
- package/dist/fields/ResponsiveVisibilityField.js +145 -0
- package/dist/fields/ResponsiveVisibilityField.js.map +1 -0
- package/dist/fields/SizeField.d.ts +54 -0
- package/dist/fields/SizeField.d.ts.map +1 -0
- package/dist/fields/SizeField.js +255 -0
- package/dist/fields/SizeField.js.map +1 -0
- package/dist/fields/SlugPreviewField.d.ts +16 -0
- package/dist/fields/SlugPreviewField.d.ts.map +1 -0
- package/dist/fields/SlugPreviewField.js +49 -0
- package/dist/fields/SlugPreviewField.js.map +1 -0
- package/dist/fields/TemplateField.d.ts +31 -0
- package/dist/fields/TemplateField.d.ts.map +1 -0
- package/dist/fields/TemplateField.js +428 -0
- package/dist/fields/TemplateField.js.map +1 -0
- package/dist/fields/TiptapField.d.ts +40 -0
- package/dist/fields/TiptapField.d.ts.map +1 -0
- package/dist/fields/TiptapField.js +857 -0
- package/dist/fields/TiptapField.js.map +1 -0
- package/dist/fields/TiptapModal.d.ts +10 -0
- package/dist/fields/TiptapModal.d.ts.map +1 -0
- package/dist/fields/TiptapModal.js +114 -0
- package/dist/fields/TiptapModal.js.map +1 -0
- package/dist/fields/TiptapModalField.d.ts +23 -0
- package/dist/fields/TiptapModalField.d.ts.map +1 -0
- package/dist/fields/TiptapModalField.js +55 -0
- package/dist/fields/TiptapModalField.js.map +1 -0
- package/dist/fields/TransformField.d.ts +31 -0
- package/dist/fields/TransformField.d.ts.map +1 -0
- package/dist/fields/TransformField.js +384 -0
- package/dist/fields/TransformField.js.map +1 -0
- package/dist/fields/VerticalAlignmentField.d.ts +35 -0
- package/dist/fields/VerticalAlignmentField.d.ts.map +1 -0
- package/dist/fields/VerticalAlignmentField.js +120 -0
- package/dist/fields/VerticalAlignmentField.js.map +1 -0
- package/dist/fields/WidthField.d.ts +28 -0
- package/dist/fields/WidthField.d.ts.map +1 -0
- package/dist/fields/WidthField.js +339 -0
- package/dist/fields/WidthField.js.map +1 -0
- package/dist/fields/index.d.ts +44 -559
- package/dist/fields/index.d.ts.map +1 -0
- package/dist/fields/index.js +91 -7685
- package/dist/fields/index.js.map +1 -0
- package/dist/fields/richtext-output.css +219 -0
- package/dist/{shared-DeNKN95N.d.mts → fields/shared.d.ts} +114 -133
- package/dist/fields/shared.d.ts.map +1 -0
- package/dist/fields/shared.js +1542 -0
- package/dist/fields/shared.js.map +1 -0
- package/dist/fields/{index.css → tiptap-styles.css} +75 -166
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +8 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useResponsiveStyles.d.ts +51 -0
- package/dist/hooks/useResponsiveStyles.d.ts.map +1 -0
- package/dist/hooks/useResponsiveStyles.js +149 -0
- package/dist/hooks/useResponsiveStyles.js.map +1 -0
- package/dist/hooks/useScrollAnimation.d.ts +56 -0
- package/dist/hooks/useScrollAnimation.d.ts.map +1 -0
- package/dist/hooks/useScrollAnimation.js +116 -0
- package/dist/hooks/useScrollAnimation.js.map +1 -0
- package/dist/index.d.ts +66 -6
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +67 -568
- package/dist/index.js.map +1 -0
- package/dist/layouts/LayoutWrapper.d.ts +33 -0
- package/dist/layouts/LayoutWrapper.d.ts.map +1 -0
- package/dist/layouts/LayoutWrapper.js +112 -0
- package/dist/layouts/LayoutWrapper.js.map +1 -0
- package/dist/layouts/defaults.d.ts +40 -0
- package/dist/layouts/defaults.d.ts.map +1 -0
- package/dist/layouts/defaults.js +106 -0
- package/dist/layouts/defaults.js.map +1 -0
- package/dist/layouts/index.d.ts +27 -94
- package/dist/layouts/index.d.ts.map +1 -0
- package/dist/layouts/index.js +30 -393
- package/dist/layouts/index.js.map +1 -0
- package/dist/{types-D7D3rZ1J.d.ts → layouts/types.d.ts} +8 -11
- package/dist/layouts/types.d.ts.map +1 -0
- package/dist/layouts/types.js +7 -0
- package/dist/layouts/types.js.map +1 -0
- package/dist/layouts/utils.d.ts +42 -0
- package/dist/layouts/utils.d.ts.map +1 -0
- package/dist/layouts/utils.js +83 -0
- package/dist/layouts/utils.js.map +1 -0
- package/dist/plugin/collections/Pages.d.ts +8 -0
- package/dist/plugin/collections/Pages.d.ts.map +1 -0
- package/dist/plugin/collections/Pages.js +117 -0
- package/dist/plugin/collections/Pages.js.map +1 -0
- package/dist/plugin/fields/index.d.ts +153 -0
- package/dist/plugin/fields/index.d.ts.map +1 -0
- package/dist/plugin/fields/index.js +364 -0
- package/dist/plugin/fields/index.js.map +1 -0
- package/dist/plugin/fields/types.d.ts +108 -0
- package/dist/plugin/fields/types.d.ts.map +1 -0
- package/dist/plugin/fields/types.js +7 -0
- package/dist/plugin/fields/types.js.map +1 -0
- package/dist/plugin/index.d.ts +13 -255
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +276 -553
- package/dist/plugin/index.js.map +1 -0
- package/dist/render/HybridPageRenderer.d.ts +85 -0
- package/dist/render/HybridPageRenderer.d.ts.map +1 -0
- package/dist/render/HybridPageRenderer.js +29 -0
- package/dist/render/HybridPageRenderer.js.map +1 -0
- package/dist/render/PageRenderer.d.ts +51 -0
- package/dist/render/PageRenderer.d.ts.map +1 -0
- package/dist/render/PageRenderer.js +61 -0
- package/dist/render/PageRenderer.js.map +1 -0
- package/dist/render/PuckEditor.client.d.ts +66 -0
- package/dist/render/PuckEditor.client.d.ts.map +1 -0
- package/dist/render/PuckEditor.client.js +66 -0
- package/dist/render/PuckEditor.client.js.map +1 -0
- package/dist/render/index.d.ts +8 -106
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +10 -2162
- package/dist/render/index.js.map +1 -0
- package/dist/theme/context.d.ts +59 -0
- package/dist/theme/context.d.ts.map +1 -0
- package/dist/theme/context.js +73 -0
- package/dist/theme/context.js.map +1 -0
- package/dist/theme/defaults.d.ts +39 -0
- package/dist/theme/defaults.d.ts.map +1 -0
- package/dist/theme/defaults.js +72 -0
- package/dist/theme/defaults.js.map +1 -0
- package/dist/theme/example.d.ts +30 -0
- package/dist/theme/example.d.ts.map +1 -0
- package/dist/theme/example.js +89 -0
- package/dist/theme/example.js.map +1 -0
- package/dist/theme/index.d.ts +17 -140
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +34 -200
- package/dist/theme/index.js.map +1 -0
- package/dist/{types-_6MvjyKv.d.ts → theme/types.d.ts} +8 -9
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/theme/types.js +9 -0
- package/dist/theme/types.js.map +1 -0
- package/dist/theme/utils.d.ts +30 -0
- package/dist/theme/utils.d.ts.map +1 -0
- package/dist/theme/utils.js +84 -0
- package/dist/theme/utils.js.map +1 -0
- package/dist/{index-CQu6SzDg.d.mts → types/index.d.ts} +120 -115
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +23 -257
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +56 -425
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/{index.d.mts → migration.d.ts} +16 -112
- package/dist/utils/migration.d.ts.map +1 -0
- package/dist/utils/migration.js +309 -0
- package/dist/utils/migration.js.map +1 -0
- package/dist/utils/validation.d.ts +89 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +247 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/views/PuckConfigContext.d.ts +71 -0
- package/dist/views/PuckConfigContext.d.ts.map +1 -0
- package/dist/views/PuckConfigContext.js +45 -0
- package/dist/views/PuckConfigContext.js.map +1 -0
- package/dist/views/PuckEditorClient.d.ts +73 -0
- package/dist/views/PuckEditorClient.d.ts.map +1 -0
- package/dist/views/PuckEditorClient.js +130 -0
- package/dist/views/PuckEditorClient.js.map +1 -0
- package/dist/views/PuckEditorView.d.ts +19 -0
- package/dist/views/PuckEditorView.d.ts.map +1 -0
- package/dist/views/PuckEditorView.js +106 -0
- package/dist/views/PuckEditorView.js.map +1 -0
- package/dist/views/index.d.ts +10 -0
- package/dist/views/index.d.ts.map +1 -0
- package/dist/views/index.js +10 -0
- package/dist/views/index.js.map +1 -0
- package/package.json +50 -72
- package/dist/AccordionClient.d.mts +0 -24
- package/dist/AccordionClient.d.ts +0 -24
- package/dist/AccordionClient.js +0 -786
- package/dist/AccordionClient.mjs +0 -784
- package/dist/AnimatedWrapper.d.mts +0 -30
- package/dist/AnimatedWrapper.d.ts +0 -30
- package/dist/AnimatedWrapper.js +0 -379
- package/dist/AnimatedWrapper.mjs +0 -377
- package/dist/admin/client.d.mts +0 -108
- package/dist/admin/client.mjs +0 -173
- package/dist/admin/index.d.mts +0 -157
- package/dist/admin/index.mjs +0 -29
- package/dist/api/index.d.mts +0 -460
- package/dist/api/index.mjs +0 -578
- package/dist/components/index.css +0 -339
- package/dist/components/index.d.mts +0 -222
- package/dist/components/index.mjs +0 -9109
- package/dist/config/config.editor.css +0 -339
- package/dist/config/config.editor.d.mts +0 -153
- package/dist/config/config.editor.mjs +0 -9347
- package/dist/config/index.d.mts +0 -68
- package/dist/config/index.mjs +0 -2008
- package/dist/editor/index.d.mts +0 -784
- package/dist/editor/index.mjs +0 -4500
- package/dist/fields/index.d.mts +0 -600
- package/dist/fields/index.mjs +0 -7569
- package/dist/index-CoUQnyC3.d.ts +0 -327
- package/dist/index.d.mts +0 -6
- package/dist/index.mjs +0 -555
- package/dist/layouts/index.d.mts +0 -96
- package/dist/layouts/index.mjs +0 -378
- package/dist/plugin/index.d.mts +0 -289
- package/dist/plugin/index.mjs +0 -555
- package/dist/render/index.d.mts +0 -109
- package/dist/render/index.mjs +0 -2140
- package/dist/shared-DeNKN95N.d.ts +0 -546
- package/dist/theme/index.d.mts +0 -155
- package/dist/theme/index.mjs +0 -186
- package/dist/types-D7D3rZ1J.d.mts +0 -116
- package/dist/types-_6MvjyKv.d.mts +0 -104
- package/dist/utils/index.mjs +0 -412
- package/dist/utils-DaRs9t0J.d.mts +0 -85
- package/dist/utils-gAvt0Vhw.d.ts +0 -85
- package/examples/README.md +0 -247
- package/examples/api/puck/pages/[id]/route.ts +0 -64
- package/examples/api/puck/pages/[id]/versions/route.ts +0 -47
- package/examples/api/puck/pages/route.ts +0 -45
- package/examples/app/(frontend)/page.tsx +0 -94
- package/examples/app/(manage)/layout.tsx +0 -31
- package/examples/app/[...slug]/page.tsx +0 -101
- package/examples/app/pages/[id]/edit/page.tsx +0 -148
- package/examples/components/CustomBanner.tsx +0 -368
- package/examples/config/custom-config.ts +0 -223
- package/examples/config/payload.config.example.ts +0 -64
- package/examples/lib/puck-layouts.ts +0 -258
- package/examples/lib/puck-theme.ts +0 -94
- package/examples/styles/puck-theme.css +0 -171
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { memo, useCallback } from 'react';
|
|
4
|
+
import { createUsePuck } from '@measured/puck';
|
|
5
|
+
import { ArrowLeft, Save, ExternalLink, Loader2, Check, MousePointerClick, MousePointer, Upload, AlertTriangle, Eye, } from 'lucide-react';
|
|
6
|
+
import { VersionHistory } from './VersionHistory.js';
|
|
7
|
+
// Create usePuck hook for accessing editor state
|
|
8
|
+
const usePuck = createUsePuck();
|
|
9
|
+
// Shared styles
|
|
10
|
+
const styles = {
|
|
11
|
+
buttonBase: {
|
|
12
|
+
display: 'inline-flex',
|
|
13
|
+
alignItems: 'center',
|
|
14
|
+
whiteSpace: 'nowrap',
|
|
15
|
+
fontSize: '14px',
|
|
16
|
+
fontWeight: 500,
|
|
17
|
+
borderRadius: '6px',
|
|
18
|
+
transition: 'background-color 0.15s, border-color 0.15s',
|
|
19
|
+
cursor: 'pointer',
|
|
20
|
+
border: 'none',
|
|
21
|
+
},
|
|
22
|
+
buttonSecondary: {
|
|
23
|
+
padding: '6px 12px',
|
|
24
|
+
backgroundColor: 'var(--theme-bg)',
|
|
25
|
+
color: 'var(--theme-elevation-700)',
|
|
26
|
+
border: '1px solid var(--theme-elevation-200)',
|
|
27
|
+
},
|
|
28
|
+
buttonPrimary: {
|
|
29
|
+
padding: '6px 12px',
|
|
30
|
+
backgroundColor: 'var(--theme-elevation-900)',
|
|
31
|
+
color: 'var(--theme-bg)',
|
|
32
|
+
border: '1px solid var(--theme-elevation-900)',
|
|
33
|
+
},
|
|
34
|
+
buttonDisabled: {
|
|
35
|
+
opacity: 0.5,
|
|
36
|
+
cursor: 'not-allowed',
|
|
37
|
+
},
|
|
38
|
+
icon: {
|
|
39
|
+
width: '16px',
|
|
40
|
+
height: '16px',
|
|
41
|
+
marginRight: '4px',
|
|
42
|
+
flexShrink: 0,
|
|
43
|
+
},
|
|
44
|
+
iconSmall: {
|
|
45
|
+
width: '14px',
|
|
46
|
+
height: '14px',
|
|
47
|
+
},
|
|
48
|
+
badge: {
|
|
49
|
+
padding: '4px 10px',
|
|
50
|
+
borderRadius: '9999px',
|
|
51
|
+
fontSize: '12px',
|
|
52
|
+
fontWeight: 500,
|
|
53
|
+
whiteSpace: 'nowrap',
|
|
54
|
+
},
|
|
55
|
+
badgePublished: {
|
|
56
|
+
backgroundColor: 'var(--theme-success-100)',
|
|
57
|
+
color: 'var(--theme-success-700)',
|
|
58
|
+
border: '1px solid var(--theme-success-200)',
|
|
59
|
+
},
|
|
60
|
+
badgeUnpublished: {
|
|
61
|
+
backgroundColor: 'var(--theme-warning-100)',
|
|
62
|
+
color: 'var(--theme-warning-700)',
|
|
63
|
+
border: '1px solid var(--theme-warning-200)',
|
|
64
|
+
},
|
|
65
|
+
badgeDraft: {
|
|
66
|
+
backgroundColor: 'var(--theme-elevation-100)',
|
|
67
|
+
color: 'var(--theme-elevation-600)',
|
|
68
|
+
border: '1px solid var(--theme-elevation-200)',
|
|
69
|
+
},
|
|
70
|
+
statusText: {
|
|
71
|
+
fontSize: '12px',
|
|
72
|
+
color: 'var(--theme-elevation-500)',
|
|
73
|
+
display: 'flex',
|
|
74
|
+
alignItems: 'center',
|
|
75
|
+
gap: '4px',
|
|
76
|
+
whiteSpace: 'nowrap',
|
|
77
|
+
},
|
|
78
|
+
unsavedText: {
|
|
79
|
+
fontSize: '12px',
|
|
80
|
+
color: 'var(--theme-warning-600)',
|
|
81
|
+
fontWeight: 500,
|
|
82
|
+
whiteSpace: 'nowrap',
|
|
83
|
+
},
|
|
84
|
+
versionText: {
|
|
85
|
+
fontSize: '10px',
|
|
86
|
+
color: 'var(--theme-elevation-400)',
|
|
87
|
+
fontFamily: 'monospace',
|
|
88
|
+
},
|
|
89
|
+
errorButton: {
|
|
90
|
+
display: 'flex',
|
|
91
|
+
alignItems: 'center',
|
|
92
|
+
gap: '6px',
|
|
93
|
+
padding: '6px 10px',
|
|
94
|
+
backgroundColor: 'var(--theme-error-50)',
|
|
95
|
+
border: '1px solid var(--theme-error-200)',
|
|
96
|
+
borderRadius: '6px',
|
|
97
|
+
color: 'var(--theme-error-700)',
|
|
98
|
+
fontSize: '12px',
|
|
99
|
+
fontWeight: 500,
|
|
100
|
+
cursor: 'pointer',
|
|
101
|
+
},
|
|
102
|
+
modalOverlay: {
|
|
103
|
+
position: 'fixed',
|
|
104
|
+
inset: 0,
|
|
105
|
+
zIndex: 9999,
|
|
106
|
+
display: 'flex',
|
|
107
|
+
alignItems: 'center',
|
|
108
|
+
justifyContent: 'center',
|
|
109
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
110
|
+
},
|
|
111
|
+
modalContainer: {
|
|
112
|
+
backgroundColor: 'var(--theme-bg)',
|
|
113
|
+
borderRadius: '8px',
|
|
114
|
+
boxShadow: '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
|
|
115
|
+
maxWidth: '448px',
|
|
116
|
+
width: '100%',
|
|
117
|
+
margin: '0 16px',
|
|
118
|
+
overflow: 'hidden',
|
|
119
|
+
},
|
|
120
|
+
modalHeader: {
|
|
121
|
+
display: 'flex',
|
|
122
|
+
alignItems: 'center',
|
|
123
|
+
gap: '12px',
|
|
124
|
+
padding: '16px 20px',
|
|
125
|
+
borderBottom: '1px solid var(--theme-elevation-150)',
|
|
126
|
+
backgroundColor: 'var(--theme-error-50)',
|
|
127
|
+
},
|
|
128
|
+
modalIconWrapper: {
|
|
129
|
+
flexShrink: 0,
|
|
130
|
+
width: '40px',
|
|
131
|
+
height: '40px',
|
|
132
|
+
borderRadius: '50%',
|
|
133
|
+
backgroundColor: 'var(--theme-error-100)',
|
|
134
|
+
display: 'flex',
|
|
135
|
+
alignItems: 'center',
|
|
136
|
+
justifyContent: 'center',
|
|
137
|
+
},
|
|
138
|
+
modalTitle: {
|
|
139
|
+
fontSize: '16px',
|
|
140
|
+
fontWeight: 600,
|
|
141
|
+
color: 'var(--theme-elevation-900)',
|
|
142
|
+
margin: 0,
|
|
143
|
+
},
|
|
144
|
+
modalSubtitle: {
|
|
145
|
+
fontSize: '14px',
|
|
146
|
+
color: 'var(--theme-elevation-500)',
|
|
147
|
+
margin: 0,
|
|
148
|
+
},
|
|
149
|
+
modalBody: {
|
|
150
|
+
padding: '16px 20px',
|
|
151
|
+
},
|
|
152
|
+
modalBodyText: {
|
|
153
|
+
fontSize: '14px',
|
|
154
|
+
color: 'var(--theme-elevation-700)',
|
|
155
|
+
margin: 0,
|
|
156
|
+
},
|
|
157
|
+
modalFooter: {
|
|
158
|
+
padding: '16px 20px',
|
|
159
|
+
backgroundColor: 'var(--theme-elevation-50)',
|
|
160
|
+
borderTop: '1px solid var(--theme-elevation-150)',
|
|
161
|
+
display: 'flex',
|
|
162
|
+
justifyContent: 'flex-end',
|
|
163
|
+
},
|
|
164
|
+
toggleContainer: {
|
|
165
|
+
display: 'flex',
|
|
166
|
+
gap: '4px',
|
|
167
|
+
},
|
|
168
|
+
toggleButton: {
|
|
169
|
+
display: 'inline-flex',
|
|
170
|
+
alignItems: 'center',
|
|
171
|
+
gap: '4px',
|
|
172
|
+
fontSize: '12px',
|
|
173
|
+
fontWeight: 500,
|
|
174
|
+
borderRadius: '4px',
|
|
175
|
+
transition: 'background-color 0.15s',
|
|
176
|
+
padding: '6px 10px',
|
|
177
|
+
cursor: 'pointer',
|
|
178
|
+
},
|
|
179
|
+
toggleActive: {
|
|
180
|
+
backgroundColor: 'var(--theme-elevation-900)',
|
|
181
|
+
color: 'var(--theme-bg)',
|
|
182
|
+
border: '1px solid var(--theme-elevation-900)',
|
|
183
|
+
},
|
|
184
|
+
toggleInactive: {
|
|
185
|
+
backgroundColor: 'var(--theme-elevation-100)',
|
|
186
|
+
color: 'var(--theme-elevation-500)',
|
|
187
|
+
border: '1px solid var(--theme-elevation-200)',
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Custom header actions component for the Puck editor
|
|
192
|
+
*
|
|
193
|
+
* Provides standard actions: Back, Edit/Interactive toggle, View Page, Save Draft
|
|
194
|
+
* Also displays save status and last saved time.
|
|
195
|
+
*/
|
|
196
|
+
export const HeaderActions = memo(function HeaderActions({ children, onBack, onPreview, onSave, onPublish, isSaving, hasUnsavedChanges, lastSaved, documentStatus, wasPublished, actionsStart, actionsEnd, showSaveDraft = true, showViewPage = true, showInteractiveToggle = false, showPreviewButton = true, onOpenPreview, showVersionHistory = true, pageId, apiEndpoint = '/api/puck/pages', saveError, onDismissError, }) {
|
|
197
|
+
const appState = usePuck((s) => s.appState);
|
|
198
|
+
const dispatch = usePuck((s) => s.dispatch);
|
|
199
|
+
const isInteractive = appState.ui.previewMode === 'interactive';
|
|
200
|
+
const togglePreviewMode = useCallback(() => {
|
|
201
|
+
dispatch({
|
|
202
|
+
type: 'setUi',
|
|
203
|
+
ui: {
|
|
204
|
+
previewMode: isInteractive ? 'edit' : 'interactive',
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
}, [dispatch, isInteractive]);
|
|
208
|
+
const handleSaveClick = useCallback(() => {
|
|
209
|
+
onSave(appState.data);
|
|
210
|
+
}, [onSave, appState.data]);
|
|
211
|
+
const handlePublishClick = useCallback(() => {
|
|
212
|
+
if (onPublish) {
|
|
213
|
+
onPublish(appState.data);
|
|
214
|
+
}
|
|
215
|
+
}, [onPublish, appState.data]);
|
|
216
|
+
return (_jsxs(_Fragment, { children: [actionsStart, _jsxs("button", { type: "button", onClick: onBack, style: { ...styles.buttonBase, ...styles.buttonSecondary }, children: [_jsx(ArrowLeft, { style: styles.icon }), "Back"] }), _jsx("span", { style: styles.versionText, children: "v0.3.0" }), documentStatus && (() => {
|
|
217
|
+
const isPublished = documentStatus === 'published';
|
|
218
|
+
const hasUnpublishedChanges = documentStatus === 'draft' && wasPublished;
|
|
219
|
+
let badgeLabel;
|
|
220
|
+
let badgeStyle;
|
|
221
|
+
if (isPublished) {
|
|
222
|
+
badgeLabel = 'Published';
|
|
223
|
+
badgeStyle = { ...styles.badge, ...styles.badgePublished };
|
|
224
|
+
}
|
|
225
|
+
else if (hasUnpublishedChanges) {
|
|
226
|
+
badgeLabel = 'Unpublished Changes';
|
|
227
|
+
badgeStyle = { ...styles.badge, ...styles.badgeUnpublished };
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
badgeLabel = 'Draft';
|
|
231
|
+
badgeStyle = { ...styles.badge, ...styles.badgeDraft };
|
|
232
|
+
}
|
|
233
|
+
return _jsx("span", { style: badgeStyle, children: badgeLabel });
|
|
234
|
+
})(), showInteractiveToggle && (_jsxs("div", { style: styles.toggleContainer, children: [_jsxs("button", { type: "button", onClick: () => isInteractive && togglePreviewMode(), style: {
|
|
235
|
+
...styles.toggleButton,
|
|
236
|
+
...(!isInteractive ? styles.toggleActive : styles.toggleInactive),
|
|
237
|
+
}, children: [_jsx(MousePointer, { style: styles.iconSmall }), "Edit"] }), _jsxs("button", { type: "button", onClick: () => !isInteractive && togglePreviewMode(), style: {
|
|
238
|
+
...styles.toggleButton,
|
|
239
|
+
...(isInteractive ? styles.toggleActive : styles.toggleInactive),
|
|
240
|
+
}, children: [_jsx(MousePointerClick, { style: styles.iconSmall }), "Interactive"] })] })), lastSaved && !saveError && (_jsxs("span", { style: styles.statusText, children: [_jsx(Check, { style: { width: '12px', height: '12px', flexShrink: 0 } }), "Saved ", lastSaved.toLocaleTimeString()] })), hasUnsavedChanges && !saveError && (_jsx("span", { style: styles.unsavedText, children: "Unsaved" })), saveError && (_jsxs("button", { type: "button", onClick: () => { }, style: styles.errorButton, children: [_jsx(AlertTriangle, { style: { width: '16px', height: '16px', color: 'var(--theme-error-500)', flexShrink: 0 } }), "Error"] })), saveError && (_jsx("div", { style: styles.modalOverlay, onClick: onDismissError, children: _jsxs("div", { style: styles.modalContainer, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { style: styles.modalHeader, children: [_jsx("div", { style: styles.modalIconWrapper, children: _jsx(AlertTriangle, { style: { width: '20px', height: '20px', color: 'var(--theme-error-600)' } }) }), _jsxs("div", { children: [_jsx("h3", { style: styles.modalTitle, children: "Save Failed" }), _jsx("p", { style: styles.modalSubtitle, children: "Unable to save your changes" })] })] }), _jsx("div", { style: styles.modalBody, children: _jsx("p", { style: styles.modalBodyText, children: saveError }) }), _jsx("div", { style: styles.modalFooter, children: _jsx("button", { type: "button", onClick: onDismissError, style: { ...styles.buttonBase, ...styles.buttonPrimary }, children: "Close" }) })] }) })), showPreviewButton && onOpenPreview && (_jsxs("button", { type: "button", onClick: onOpenPreview, disabled: isSaving, style: {
|
|
241
|
+
...styles.buttonBase,
|
|
242
|
+
...styles.buttonPrimary,
|
|
243
|
+
...(isSaving ? styles.buttonDisabled : {}),
|
|
244
|
+
}, children: [_jsx(Eye, { style: styles.icon }), "Preview"] })), showViewPage && (_jsxs("button", { type: "button", onClick: onPreview, style: { ...styles.buttonBase, ...styles.buttonSecondary }, children: [_jsx(ExternalLink, { style: styles.icon }), "View"] })), showVersionHistory && pageId && (_jsx(VersionHistory, { pageId: pageId, apiEndpoint: apiEndpoint, disabled: isSaving })), showSaveDraft && (_jsxs("button", { type: "button", onClick: handleSaveClick, disabled: isSaving || !hasUnsavedChanges, style: {
|
|
245
|
+
...styles.buttonBase,
|
|
246
|
+
...styles.buttonSecondary,
|
|
247
|
+
...((isSaving || !hasUnsavedChanges) ? styles.buttonDisabled : {}),
|
|
248
|
+
}, children: [isSaving ? (_jsx(Loader2, { style: { ...styles.icon, animation: 'spin 1s linear infinite' } })) : (_jsx(Save, { style: styles.icon })), "Save"] })), onPublish && (_jsxs("button", { type: "button", onClick: handlePublishClick, disabled: isSaving, style: {
|
|
249
|
+
...styles.buttonBase,
|
|
250
|
+
...styles.buttonPrimary,
|
|
251
|
+
...(isSaving ? styles.buttonDisabled : {}),
|
|
252
|
+
}, children: [isSaving ? (_jsx(Loader2, { style: { ...styles.icon, animation: 'spin 1s linear infinite' } })) : (_jsx(Upload, { style: styles.icon })), "Publish"] })), actionsEnd, !onPublish && children] }));
|
|
253
|
+
});
|
|
254
|
+
//# sourceMappingURL=HeaderActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderActions.js","sourceRoot":"","sources":["../../../src/editor/components/HeaderActions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { type ReactNode, type ComponentType } from 'react';
|
|
2
|
+
import type { LayoutDefinition } from '../../layouts';
|
|
3
|
+
/**
|
|
4
|
+
* Layout style configuration for theme-aware preview
|
|
5
|
+
* @deprecated Use LayoutDefinition with editorBackground and editorDarkMode instead
|
|
6
|
+
*/
|
|
7
|
+
export interface LayoutStyle {
|
|
8
|
+
/**
|
|
9
|
+
* CSS background value (color, gradient, etc.)
|
|
10
|
+
*/
|
|
11
|
+
background: string;
|
|
12
|
+
/**
|
|
13
|
+
* Whether this layout uses dark mode styling
|
|
14
|
+
*/
|
|
15
|
+
isDark: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Header component to render above the page content in the editor preview
|
|
18
|
+
*/
|
|
19
|
+
header?: ComponentType;
|
|
20
|
+
/**
|
|
21
|
+
* Footer component to render below the page content in the editor preview
|
|
22
|
+
*/
|
|
23
|
+
footer?: ComponentType;
|
|
24
|
+
}
|
|
25
|
+
export interface IframeWrapperProps {
|
|
26
|
+
children: ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* The iframe document to apply styles to
|
|
29
|
+
*/
|
|
30
|
+
document?: Document;
|
|
31
|
+
/**
|
|
32
|
+
* Layout definitions - the primary way to configure layouts.
|
|
33
|
+
* Reads header, footer, editorBackground, and editorDarkMode from each layout.
|
|
34
|
+
*/
|
|
35
|
+
layouts?: LayoutDefinition[];
|
|
36
|
+
/**
|
|
37
|
+
* Layout style configurations keyed by layout value
|
|
38
|
+
* @deprecated Use `layouts` prop instead
|
|
39
|
+
*/
|
|
40
|
+
layoutStyles?: Record<string, LayoutStyle>;
|
|
41
|
+
/**
|
|
42
|
+
* Key in root.props to read layout value from
|
|
43
|
+
* @default 'pageLayout'
|
|
44
|
+
*/
|
|
45
|
+
layoutKey?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Default layout to use if none specified
|
|
48
|
+
* @default 'default'
|
|
49
|
+
*/
|
|
50
|
+
defaultLayout?: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Theme-aware iframe wrapper component
|
|
54
|
+
*
|
|
55
|
+
* Uses usePuck to read the pageLayout from root.props and applies
|
|
56
|
+
* appropriate background and theme class to the preview iframe.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```tsx
|
|
60
|
+
* // Using layouts (recommended)
|
|
61
|
+
* const overrides = {
|
|
62
|
+
* iframe: ({ children, document }) => (
|
|
63
|
+
* <IframeWrapper
|
|
64
|
+
* document={document}
|
|
65
|
+
* layouts={[
|
|
66
|
+
* { value: 'default', label: 'Default', header: Header, footer: Footer },
|
|
67
|
+
* { value: 'landing', label: 'Landing', editorBackground: '#f8fafc' },
|
|
68
|
+
* ]}
|
|
69
|
+
* >
|
|
70
|
+
* {children}
|
|
71
|
+
* </IframeWrapper>
|
|
72
|
+
* ),
|
|
73
|
+
* }
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare const IframeWrapper: import("react").NamedExoticComponent<IframeWrapperProps>;
|
|
77
|
+
//# sourceMappingURL=IframeWrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IframeWrapper.d.ts","sourceRoot":"","sources":["../../../src/editor/components/IframeWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA4B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAA;AAEpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAMrD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAaD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAUD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,aAAa,0DAgQxB,CAAA"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { memo, useEffect, useMemo } from 'react';
|
|
4
|
+
import { createUsePuck } from '@measured/puck';
|
|
5
|
+
import { backgroundValueToCSS } from '../../fields/shared';
|
|
6
|
+
// Create usePuck hook for accessing editor state
|
|
7
|
+
const usePuck = createUsePuck();
|
|
8
|
+
/**
|
|
9
|
+
* Default layout config
|
|
10
|
+
*/
|
|
11
|
+
const DEFAULT_LAYOUT_CONFIG = {
|
|
12
|
+
background: '#ffffff',
|
|
13
|
+
isDark: false,
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Theme-aware iframe wrapper component
|
|
17
|
+
*
|
|
18
|
+
* Uses usePuck to read the pageLayout from root.props and applies
|
|
19
|
+
* appropriate background and theme class to the preview iframe.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* // Using layouts (recommended)
|
|
24
|
+
* const overrides = {
|
|
25
|
+
* iframe: ({ children, document }) => (
|
|
26
|
+
* <IframeWrapper
|
|
27
|
+
* document={document}
|
|
28
|
+
* layouts={[
|
|
29
|
+
* { value: 'default', label: 'Default', header: Header, footer: Footer },
|
|
30
|
+
* { value: 'landing', label: 'Landing', editorBackground: '#f8fafc' },
|
|
31
|
+
* ]}
|
|
32
|
+
* >
|
|
33
|
+
* {children}
|
|
34
|
+
* </IframeWrapper>
|
|
35
|
+
* ),
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export const IframeWrapper = memo(function IframeWrapper({ children, document: iframeDoc, layouts, layoutStyles, layoutKey = 'pageLayout', defaultLayout = 'default', }) {
|
|
40
|
+
const appState = usePuck((s) => s.appState);
|
|
41
|
+
// Check if we're in interactive mode (links should be clickable)
|
|
42
|
+
const isInteractive = appState.ui.previewMode === 'interactive';
|
|
43
|
+
// Read layout value and page-level overrides from root props
|
|
44
|
+
const rootProps = appState.data.root?.props;
|
|
45
|
+
const layoutValue = rootProps?.[layoutKey] || defaultLayout;
|
|
46
|
+
// Page-level overrides
|
|
47
|
+
const showHeaderOverride = rootProps?.showHeader;
|
|
48
|
+
const showFooterOverride = rootProps?.showFooter;
|
|
49
|
+
const pageBackground = rootProps?.pageBackground;
|
|
50
|
+
// Convert layouts array to config map, or use deprecated layoutStyles
|
|
51
|
+
const layoutConfigMap = useMemo(() => {
|
|
52
|
+
// If layouts prop provided, convert to internal format
|
|
53
|
+
if (layouts) {
|
|
54
|
+
const map = {};
|
|
55
|
+
for (const layout of layouts) {
|
|
56
|
+
map[layout.value] = {
|
|
57
|
+
background: layout.editorBackground ?? '#ffffff',
|
|
58
|
+
isDark: layout.editorDarkMode ?? false,
|
|
59
|
+
header: layout.header,
|
|
60
|
+
footer: layout.footer,
|
|
61
|
+
stickyHeaderHeight: layout.stickyHeaderHeight,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return map;
|
|
65
|
+
}
|
|
66
|
+
// Fall back to deprecated layoutStyles if provided
|
|
67
|
+
if (layoutStyles) {
|
|
68
|
+
return layoutStyles;
|
|
69
|
+
}
|
|
70
|
+
// Default fallback
|
|
71
|
+
return { default: DEFAULT_LAYOUT_CONFIG };
|
|
72
|
+
}, [layouts, layoutStyles]);
|
|
73
|
+
// Get config for current layout
|
|
74
|
+
const layoutConfig = layoutConfigMap[layoutValue] || layoutConfigMap[defaultLayout] || DEFAULT_LAYOUT_CONFIG;
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (!iframeDoc)
|
|
77
|
+
return;
|
|
78
|
+
const body = iframeDoc.body;
|
|
79
|
+
const html = iframeDoc.documentElement;
|
|
80
|
+
// Apply background - page-level override takes precedence
|
|
81
|
+
if (pageBackground) {
|
|
82
|
+
const bgStyles = backgroundValueToCSS(pageBackground);
|
|
83
|
+
// Clear previous background styles
|
|
84
|
+
body.style.background = '';
|
|
85
|
+
body.style.backgroundColor = '';
|
|
86
|
+
body.style.backgroundImage = '';
|
|
87
|
+
// Apply new styles
|
|
88
|
+
Object.assign(body.style, bgStyles);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
body.style.background = layoutConfig.background;
|
|
92
|
+
}
|
|
93
|
+
body.style.backgroundAttachment = 'fixed';
|
|
94
|
+
body.style.minHeight = '100vh';
|
|
95
|
+
// Apply theme class for dark/light mode
|
|
96
|
+
if (layoutConfig.isDark) {
|
|
97
|
+
html.classList.add('dark');
|
|
98
|
+
html.classList.remove('light');
|
|
99
|
+
body.style.color = '#ffffff';
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
html.classList.remove('dark');
|
|
103
|
+
html.classList.add('light');
|
|
104
|
+
body.style.color = '#1f2937'; // gray-800
|
|
105
|
+
}
|
|
106
|
+
// Inject richtext-output styles into the iframe for proper heading/list rendering
|
|
107
|
+
const RICHTEXT_STYLES_ID = 'puck-richtext-output-styles';
|
|
108
|
+
if (!iframeDoc.getElementById(RICHTEXT_STYLES_ID)) {
|
|
109
|
+
const style = iframeDoc.createElement('style');
|
|
110
|
+
style.id = RICHTEXT_STYLES_ID;
|
|
111
|
+
style.textContent = `
|
|
112
|
+
/* Rich Text Output Styles for Puck Preview */
|
|
113
|
+
.richtext-output {
|
|
114
|
+
font-size: 1.125rem;
|
|
115
|
+
line-height: 1.75;
|
|
116
|
+
color: inherit;
|
|
117
|
+
}
|
|
118
|
+
.richtext-output h1 {
|
|
119
|
+
margin-top: 2rem;
|
|
120
|
+
margin-bottom: 1rem;
|
|
121
|
+
font-weight: 700;
|
|
122
|
+
font-size: 2.25rem;
|
|
123
|
+
line-height: 1.2;
|
|
124
|
+
}
|
|
125
|
+
.richtext-output h1:first-child { margin-top: 0; }
|
|
126
|
+
.richtext-output h2 {
|
|
127
|
+
margin-top: 2rem;
|
|
128
|
+
margin-bottom: 1rem;
|
|
129
|
+
font-weight: 700;
|
|
130
|
+
font-size: 1.875rem;
|
|
131
|
+
line-height: 1.25;
|
|
132
|
+
}
|
|
133
|
+
.richtext-output h2:first-child { margin-top: 0; }
|
|
134
|
+
.richtext-output h3 {
|
|
135
|
+
margin-top: 2rem;
|
|
136
|
+
margin-bottom: 1rem;
|
|
137
|
+
font-weight: 700;
|
|
138
|
+
font-size: 1.5rem;
|
|
139
|
+
line-height: 1.3;
|
|
140
|
+
}
|
|
141
|
+
.richtext-output h3:first-child { margin-top: 0; }
|
|
142
|
+
.richtext-output h4 {
|
|
143
|
+
margin-top: 2rem;
|
|
144
|
+
margin-bottom: 1rem;
|
|
145
|
+
font-weight: 700;
|
|
146
|
+
font-size: 1.25rem;
|
|
147
|
+
line-height: 1.35;
|
|
148
|
+
}
|
|
149
|
+
.richtext-output h4:first-child { margin-top: 0; }
|
|
150
|
+
.richtext-output p {
|
|
151
|
+
margin-bottom: 1.25rem;
|
|
152
|
+
}
|
|
153
|
+
.richtext-output p:last-child { margin-bottom: 0; }
|
|
154
|
+
.richtext-output ul {
|
|
155
|
+
margin-bottom: 1.25rem;
|
|
156
|
+
padding-left: 2rem;
|
|
157
|
+
list-style-type: disc !important;
|
|
158
|
+
}
|
|
159
|
+
.richtext-output ol {
|
|
160
|
+
margin-bottom: 1.25rem;
|
|
161
|
+
padding-left: 2rem;
|
|
162
|
+
list-style-type: decimal !important;
|
|
163
|
+
}
|
|
164
|
+
.richtext-output li {
|
|
165
|
+
margin-bottom: 0.5rem;
|
|
166
|
+
display: list-item !important;
|
|
167
|
+
}
|
|
168
|
+
.richtext-output li::marker {
|
|
169
|
+
color: currentColor;
|
|
170
|
+
}
|
|
171
|
+
.richtext-output ul ul,
|
|
172
|
+
.richtext-output ol ul {
|
|
173
|
+
list-style-type: circle !important;
|
|
174
|
+
margin-top: 0.5rem;
|
|
175
|
+
margin-bottom: 0;
|
|
176
|
+
}
|
|
177
|
+
.richtext-output ul ul ul,
|
|
178
|
+
.richtext-output ol ul ul {
|
|
179
|
+
list-style-type: square !important;
|
|
180
|
+
}
|
|
181
|
+
.richtext-output ol ol,
|
|
182
|
+
.richtext-output ul ol {
|
|
183
|
+
list-style-type: lower-alpha !important;
|
|
184
|
+
margin-top: 0.5rem;
|
|
185
|
+
margin-bottom: 0;
|
|
186
|
+
}
|
|
187
|
+
.richtext-output blockquote {
|
|
188
|
+
margin: 1.5rem 0;
|
|
189
|
+
padding-left: 1.5rem;
|
|
190
|
+
border-left: 4px solid #e5e7eb;
|
|
191
|
+
font-style: italic;
|
|
192
|
+
}
|
|
193
|
+
.richtext-output a {
|
|
194
|
+
color: #2563eb;
|
|
195
|
+
text-decoration: underline;
|
|
196
|
+
}
|
|
197
|
+
.richtext-output a:hover { opacity: 0.8; }
|
|
198
|
+
.richtext-output code {
|
|
199
|
+
background-color: #f3f4f6;
|
|
200
|
+
padding: 0.125rem 0.25rem;
|
|
201
|
+
border-radius: 0.25rem;
|
|
202
|
+
font-size: 0.875rem;
|
|
203
|
+
}
|
|
204
|
+
.richtext-output mark {
|
|
205
|
+
background-color: #fef08a;
|
|
206
|
+
padding: 0.125rem 0.25rem;
|
|
207
|
+
border-radius: 0.125rem;
|
|
208
|
+
}
|
|
209
|
+
.richtext-output s,
|
|
210
|
+
.richtext-output strike {
|
|
211
|
+
text-decoration: line-through;
|
|
212
|
+
}
|
|
213
|
+
@media (max-width: 768px) {
|
|
214
|
+
.richtext-output { font-size: 1rem; }
|
|
215
|
+
.richtext-output h1 { font-size: 1.875rem; }
|
|
216
|
+
.richtext-output h2 { font-size: 1.5rem; }
|
|
217
|
+
.richtext-output h3 { font-size: 1.25rem; }
|
|
218
|
+
}
|
|
219
|
+
`;
|
|
220
|
+
iframeDoc.head.appendChild(style);
|
|
221
|
+
}
|
|
222
|
+
}, [iframeDoc, layoutConfig, pageBackground]);
|
|
223
|
+
// Get header/footer components from layout config
|
|
224
|
+
const LayoutHeader = layoutConfig.header;
|
|
225
|
+
const LayoutFooter = layoutConfig.footer;
|
|
226
|
+
// Determine header/footer visibility based on page-level overrides
|
|
227
|
+
// 'default' or undefined = use layout setting
|
|
228
|
+
// 'show' = always show (even if layout doesn't have one - use layout's component)
|
|
229
|
+
// 'hide' = always hide
|
|
230
|
+
const shouldShowHeader = showHeaderOverride === 'hide'
|
|
231
|
+
? false
|
|
232
|
+
: showHeaderOverride === 'show'
|
|
233
|
+
? !!LayoutHeader
|
|
234
|
+
: !!LayoutHeader;
|
|
235
|
+
const shouldShowFooter = showFooterOverride === 'hide'
|
|
236
|
+
? false
|
|
237
|
+
: showFooterOverride === 'show'
|
|
238
|
+
? !!LayoutFooter
|
|
239
|
+
: !!LayoutFooter;
|
|
240
|
+
// If we have header or footer to show, wrap in flex container to ensure proper layout
|
|
241
|
+
if (shouldShowHeader || shouldShowFooter) {
|
|
242
|
+
// Calculate content padding for sticky headers (only if header is actually shown)
|
|
243
|
+
const contentStyle = {
|
|
244
|
+
flex: 1,
|
|
245
|
+
position: 'relative',
|
|
246
|
+
// Add padding-top for sticky headers so content doesn't render behind them
|
|
247
|
+
...(shouldShowHeader && layoutConfig.stickyHeaderHeight && { paddingTop: layoutConfig.stickyHeaderHeight }),
|
|
248
|
+
};
|
|
249
|
+
// Disable pointer events on header/footer in edit mode to prevent accidental clicks
|
|
250
|
+
const headerFooterStyle = isInteractive
|
|
251
|
+
? {}
|
|
252
|
+
: { pointerEvents: 'none' };
|
|
253
|
+
return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', minHeight: '100vh' }, children: [shouldShowHeader && LayoutHeader && (_jsx("div", { style: headerFooterStyle, children: _jsx(LayoutHeader, {}) })), _jsx("div", { style: contentStyle, children: children }), shouldShowFooter && LayoutFooter && (_jsx("div", { style: headerFooterStyle, children: _jsx(LayoutFooter, {}) }))] }));
|
|
254
|
+
}
|
|
255
|
+
return _jsx(_Fragment, { children: children });
|
|
256
|
+
});
|
|
257
|
+
//# sourceMappingURL=IframeWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IframeWrapper.js","sourceRoot":"","sources":["../../../src/editor/components/IframeWrapper.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAsC,MAAM,OAAO,CAAA;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,OAAO,EAAE,oBAAoB,EAAwB,MAAM,qBAAqB,CAAA;AAEhF,iDAAiD;AACjD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;AAgE/B;;GAEG;AACH,MAAM,qBAAqB,GAAyB;IAClD,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,KAAK;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,aAAa,CAAC,EACvD,QAAQ,EACR,QAAQ,EAAE,SAAS,EACnB,OAAO,EACP,YAAY,EACZ,SAAS,GAAG,YAAY,EACxB,aAAa,GAAG,SAAS,GACN;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAE3C,iEAAiE;IACjE,MAAM,aAAa,GAAG,QAAQ,CAAC,EAAE,CAAC,WAAW,KAAK,aAAa,CAAA;IAE/D,6DAA6D;IAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAA4C,CAAA;IAClF,MAAM,WAAW,GAAI,SAAS,EAAE,CAAC,SAAS,CAAY,IAAI,aAAa,CAAA;IAEvE,uBAAuB;IACvB,MAAM,kBAAkB,GAAG,SAAS,EAAE,UAAqD,CAAA;IAC3F,MAAM,kBAAkB,GAAG,SAAS,EAAE,UAAqD,CAAA;IAC3F,MAAM,cAAc,GAAG,SAAS,EAAE,cAAoD,CAAA;IAEtF,sEAAsE;IACtE,MAAM,eAAe,GAAG,OAAO,CAAuC,GAAG,EAAE;QACzE,uDAAuD;QACvD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,GAAG,GAAyC,EAAE,CAAA;YACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;oBAClB,UAAU,EAAE,MAAM,CAAC,gBAAgB,IAAI,SAAS;oBAChD,MAAM,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;oBACtC,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;iBAC9C,CAAA;YACH,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,mDAAmD;QACnD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,mBAAmB;QACnB,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAA;IAC3C,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;IAE3B,gCAAgC;IAChC,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAA;IAE5G,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAM;QAEtB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,eAAe,CAAA;QAEtC,0DAA0D;QAC1D,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAA;YACrD,mCAAmC;YACnC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAA;YAC1B,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAA;YAC/B,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAA;YAC/B,mBAAmB;YACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAA;QACjD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAA;QACzC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAA;QAE9B,wCAAwC;QACxC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA,CAAC,WAAW;QAC1C,CAAC;QAED,kFAAkF;QAClF,MAAM,kBAAkB,GAAG,6BAA6B,CAAA;QACxD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YAC9C,KAAK,CAAC,EAAE,GAAG,kBAAkB,CAAA;YAC7B,KAAK,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4GnB,CAAA;YACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAA;IAE7C,kDAAkD;IAClD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAA;IACxC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAA;IAExC,mEAAmE;IACnE,8CAA8C;IAC9C,kFAAkF;IAClF,uBAAuB;IACvB,MAAM,gBAAgB,GACpB,kBAAkB,KAAK,MAAM;QAC3B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,kBAAkB,KAAK,MAAM;YAC7B,CAAC,CAAC,CAAC,CAAC,YAAY;YAChB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;IAEtB,MAAM,gBAAgB,GACpB,kBAAkB,KAAK,MAAM;QAC3B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,kBAAkB,KAAK,MAAM;YAC7B,CAAC,CAAC,CAAC,CAAC,YAAY;YAChB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;IAEtB,sFAAsF;IACtF,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;QACzC,kFAAkF;QAClF,MAAM,YAAY,GAAwB;YACxC,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,UAAU;YACpB,2EAA2E;YAC3E,GAAG,CAAC,gBAAgB,IAAI,YAAY,CAAC,kBAAkB,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,kBAAkB,EAAE,CAAC;SAC5G,CAAA;QAED,oFAAoF;QACpF,MAAM,iBAAiB,GAAwB,aAAa;YAC1D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAA;QAE7B,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,aACzE,gBAAgB,IAAI,YAAY,IAAI,CACnC,cAAK,KAAK,EAAE,iBAAiB,YAC3B,KAAC,YAAY,KAAG,GACZ,CACP,EACD,cAAK,KAAK,EAAE,YAAY,YAAG,QAAQ,GAAO,EACzC,gBAAgB,IAAI,YAAY,IAAI,CACnC,cAAK,KAAK,EAAE,iBAAiB,YAC3B,KAAC,YAAY,KAAG,GACZ,CACP,IACG,CACP,CAAA;IACH,CAAC;IAED,OAAO,4BAAG,QAAQ,GAAI,CAAA;AACxB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface LoadingStateProps {
|
|
2
|
+
/**
|
|
3
|
+
* Loading message to display
|
|
4
|
+
* @default 'Loading editor...'
|
|
5
|
+
*/
|
|
6
|
+
message?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Loading indicator shown while the Puck editor is being loaded
|
|
10
|
+
*
|
|
11
|
+
* Used as the fallback for dynamic import with ssr: false
|
|
12
|
+
*/
|
|
13
|
+
export declare function LoadingState({ message }: LoadingStateProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=LoadingState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingState.d.ts","sourceRoot":"","sources":["../../../src/editor/components/LoadingState.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,OAA6B,EAAE,EAAE,iBAAiB,2CAShF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Loader2 } from 'lucide-react';
|
|
4
|
+
/**
|
|
5
|
+
* Loading indicator shown while the Puck editor is being loaded
|
|
6
|
+
*
|
|
7
|
+
* Used as the fallback for dynamic import with ssr: false
|
|
8
|
+
*/
|
|
9
|
+
export function LoadingState({ message = 'Loading editor...' }) {
|
|
10
|
+
return (_jsx("div", { className: "h-screen flex items-center justify-center bg-gray-50", children: _jsxs("div", { className: "text-center", children: [_jsx(Loader2, { className: "h-8 w-8 animate-spin text-gray-600 mx-auto mb-4" }), _jsx("p", { className: "text-gray-600", children: message })] }) }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=LoadingState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingState.js","sourceRoot":"","sources":["../../../src/editor/components/LoadingState.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAUtC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,OAAO,GAAG,mBAAmB,EAAqB;IAC/E,OAAO,CACL,cAAK,SAAS,EAAC,sDAAsD,YACnE,eAAK,SAAS,EAAC,aAAa,aAC1B,KAAC,OAAO,IAAC,SAAS,EAAC,iDAAiD,GAAG,EACvE,YAAG,SAAS,EAAC,eAAe,YAAE,OAAO,GAAK,IACtC,GACF,CACP,CAAA;AACH,CAAC"}
|