@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
package/dist/plugin/index.mjs
DELETED
|
@@ -1,555 +0,0 @@
|
|
|
1
|
-
// src/layouts/defaults.ts
|
|
2
|
-
var defaultLayout = {
|
|
3
|
-
value: "default",
|
|
4
|
-
label: "Default",
|
|
5
|
-
description: "Standard page layout with contained content width",
|
|
6
|
-
classes: {
|
|
7
|
-
wrapper: "",
|
|
8
|
-
container: "mx-auto px-4 sm:px-6 lg:px-8",
|
|
9
|
-
content: ""
|
|
10
|
-
},
|
|
11
|
-
maxWidth: "1200px",
|
|
12
|
-
fullWidth: false
|
|
13
|
-
};
|
|
14
|
-
var landingLayout = {
|
|
15
|
-
value: "landing",
|
|
16
|
-
label: "Landing",
|
|
17
|
-
description: "Full-width sections with no global container constraints",
|
|
18
|
-
classes: {
|
|
19
|
-
wrapper: "",
|
|
20
|
-
container: "",
|
|
21
|
-
content: ""
|
|
22
|
-
},
|
|
23
|
-
fullWidth: true
|
|
24
|
-
};
|
|
25
|
-
var fullWidthLayout = {
|
|
26
|
-
value: "full-width",
|
|
27
|
-
label: "Full Width",
|
|
28
|
-
description: "Content spans the full viewport width",
|
|
29
|
-
classes: {
|
|
30
|
-
wrapper: "w-full",
|
|
31
|
-
container: "w-full",
|
|
32
|
-
content: ""
|
|
33
|
-
},
|
|
34
|
-
maxWidth: "100%",
|
|
35
|
-
fullWidth: true
|
|
36
|
-
};
|
|
37
|
-
var DEFAULT_LAYOUTS = [
|
|
38
|
-
defaultLayout,
|
|
39
|
-
landingLayout,
|
|
40
|
-
fullWidthLayout
|
|
41
|
-
];
|
|
42
|
-
|
|
43
|
-
// src/layouts/utils.ts
|
|
44
|
-
function layoutsToPayloadOptions(layouts) {
|
|
45
|
-
return layouts.map(({ value, label }) => ({
|
|
46
|
-
label,
|
|
47
|
-
value
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// src/plugin/fields/index.ts
|
|
52
|
-
var puckDataField = {
|
|
53
|
-
name: "puckData",
|
|
54
|
-
type: "json",
|
|
55
|
-
admin: {
|
|
56
|
-
hidden: true,
|
|
57
|
-
description: "Puck editor data - managed via visual editor"
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
function createEditorVersionField(defaultValue = "puck", sidebar = true, legacyBlocksFieldName = "layout") {
|
|
61
|
-
return {
|
|
62
|
-
name: "editorVersion",
|
|
63
|
-
type: "select",
|
|
64
|
-
// NO defaultValue here - we use the hook to intelligently detect the value
|
|
65
|
-
// This prevents migrations from blindly setting 'puck' on legacy pages
|
|
66
|
-
options: [
|
|
67
|
-
{ label: "Legacy (Payload Blocks)", value: "legacy" },
|
|
68
|
-
{ label: "Puck Visual Editor", value: "puck" }
|
|
69
|
-
],
|
|
70
|
-
admin: {
|
|
71
|
-
position: sidebar ? "sidebar" : void 0,
|
|
72
|
-
description: "Which editor was used to create this page"
|
|
73
|
-
},
|
|
74
|
-
hooks: {
|
|
75
|
-
beforeValidate: [
|
|
76
|
-
({ value, data, operation }) => {
|
|
77
|
-
if (value) return value;
|
|
78
|
-
const legacyBlocks = data?.[legacyBlocksFieldName];
|
|
79
|
-
const hasLegacyBlocks = Array.isArray(legacyBlocks) && legacyBlocks.length > 0;
|
|
80
|
-
const puckData = data?.puckData;
|
|
81
|
-
const hasPuckData = puckData?.content && Array.isArray(puckData.content) && puckData.content.length > 0;
|
|
82
|
-
if (hasLegacyBlocks && !hasPuckData) {
|
|
83
|
-
return "legacy";
|
|
84
|
-
}
|
|
85
|
-
if (hasPuckData) {
|
|
86
|
-
return "puck";
|
|
87
|
-
}
|
|
88
|
-
return defaultValue;
|
|
89
|
-
}
|
|
90
|
-
]
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
var editorVersionField = createEditorVersionField("puck", true);
|
|
95
|
-
function createPageLayoutField(layouts = DEFAULT_LAYOUTS, sidebar = true) {
|
|
96
|
-
return {
|
|
97
|
-
name: "pageLayout",
|
|
98
|
-
type: "select",
|
|
99
|
-
required: true,
|
|
100
|
-
defaultValue: "default",
|
|
101
|
-
options: layoutsToPayloadOptions(layouts),
|
|
102
|
-
admin: {
|
|
103
|
-
position: sidebar ? "sidebar" : void 0,
|
|
104
|
-
description: "Overall page structure and layout style"
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
var pageLayoutField = createPageLayoutField();
|
|
109
|
-
var isHomepageField = {
|
|
110
|
-
name: "isHomepage",
|
|
111
|
-
type: "checkbox",
|
|
112
|
-
defaultValue: false,
|
|
113
|
-
admin: {
|
|
114
|
-
position: "sidebar",
|
|
115
|
-
description: "Mark this page as the homepage"
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
var seoFieldGroup = {
|
|
119
|
-
name: "meta",
|
|
120
|
-
type: "group",
|
|
121
|
-
label: "SEO",
|
|
122
|
-
admin: {
|
|
123
|
-
position: "sidebar"
|
|
124
|
-
},
|
|
125
|
-
fields: [
|
|
126
|
-
{
|
|
127
|
-
name: "title",
|
|
128
|
-
type: "text",
|
|
129
|
-
label: "Meta Title",
|
|
130
|
-
admin: {
|
|
131
|
-
description: "Override the page title for search engines"
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
name: "description",
|
|
136
|
-
type: "textarea",
|
|
137
|
-
label: "Meta Description",
|
|
138
|
-
admin: {
|
|
139
|
-
description: "Description shown in search engine results"
|
|
140
|
-
}
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
name: "image",
|
|
144
|
-
type: "upload",
|
|
145
|
-
relationTo: "media",
|
|
146
|
-
label: "Open Graph Image",
|
|
147
|
-
admin: {
|
|
148
|
-
description: "Image shown when sharing on social media"
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
name: "noindex",
|
|
153
|
-
type: "checkbox",
|
|
154
|
-
label: "No Index",
|
|
155
|
-
defaultValue: false,
|
|
156
|
-
admin: {
|
|
157
|
-
description: "Prevent search engines from indexing this page"
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
name: "nofollow",
|
|
162
|
-
type: "checkbox",
|
|
163
|
-
label: "No Follow",
|
|
164
|
-
defaultValue: false,
|
|
165
|
-
admin: {
|
|
166
|
-
description: "Prevent search engines from following links on this page"
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
name: "excludeFromSitemap",
|
|
171
|
-
type: "checkbox",
|
|
172
|
-
label: "Exclude from Sitemap",
|
|
173
|
-
defaultValue: false,
|
|
174
|
-
admin: {
|
|
175
|
-
description: "Exclude this page from the XML sitemap"
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
]
|
|
179
|
-
};
|
|
180
|
-
var DEFAULT_CONVERSION_TYPES = [
|
|
181
|
-
{ label: "Lead", value: "lead" },
|
|
182
|
-
{ label: "Registration", value: "registration" },
|
|
183
|
-
{ label: "Purchase", value: "purchase" },
|
|
184
|
-
{ label: "Donation", value: "donation" },
|
|
185
|
-
{ label: "Newsletter Signup", value: "newsletter" },
|
|
186
|
-
{ label: "Contact Form", value: "contact" },
|
|
187
|
-
{ label: "Custom", value: "custom" }
|
|
188
|
-
];
|
|
189
|
-
function createConversionFieldGroup(conversionTypes = DEFAULT_CONVERSION_TYPES, sidebar = true) {
|
|
190
|
-
return {
|
|
191
|
-
name: "conversionTracking",
|
|
192
|
-
type: "group",
|
|
193
|
-
label: "Conversion Tracking",
|
|
194
|
-
admin: {
|
|
195
|
-
position: sidebar ? "sidebar" : void 0,
|
|
196
|
-
description: "Configure conversion tracking for analytics"
|
|
197
|
-
},
|
|
198
|
-
fields: [
|
|
199
|
-
{
|
|
200
|
-
name: "isConversionPage",
|
|
201
|
-
type: "checkbox",
|
|
202
|
-
label: "Is Conversion Page",
|
|
203
|
-
defaultValue: false,
|
|
204
|
-
admin: {
|
|
205
|
-
description: "Check this if this page represents a completed conversion (e.g., thank you page)"
|
|
206
|
-
}
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
name: "conversionType",
|
|
210
|
-
type: "select",
|
|
211
|
-
label: "Conversion Type",
|
|
212
|
-
options: conversionTypes,
|
|
213
|
-
admin: {
|
|
214
|
-
description: "Type of conversion this page represents",
|
|
215
|
-
condition: (data, siblingData) => siblingData?.isConversionPage === true
|
|
216
|
-
}
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
name: "conversionValue",
|
|
220
|
-
type: "number",
|
|
221
|
-
label: "Conversion Value",
|
|
222
|
-
defaultValue: 0,
|
|
223
|
-
admin: {
|
|
224
|
-
description: "Monetary value of this conversion (0 for non-monetary conversions)",
|
|
225
|
-
condition: (data, siblingData) => siblingData?.isConversionPage === true
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
]
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
var conversionFieldGroup = createConversionFieldGroup();
|
|
232
|
-
function getPuckFields(options = {}) {
|
|
233
|
-
const {
|
|
234
|
-
includeSEO = true,
|
|
235
|
-
includeConversion = false,
|
|
236
|
-
includeEditorVersion = true,
|
|
237
|
-
includePageLayout = true,
|
|
238
|
-
includeIsHomepage = false,
|
|
239
|
-
layouts = DEFAULT_LAYOUTS,
|
|
240
|
-
defaultEditorVersion = "puck",
|
|
241
|
-
legacyBlocksFieldName = "layout",
|
|
242
|
-
sidebarPosition = true,
|
|
243
|
-
conversionTypeOptions
|
|
244
|
-
} = options;
|
|
245
|
-
const fields = [];
|
|
246
|
-
fields.push(puckDataField);
|
|
247
|
-
if (includeEditorVersion) {
|
|
248
|
-
fields.push(createEditorVersionField(defaultEditorVersion, sidebarPosition, legacyBlocksFieldName));
|
|
249
|
-
}
|
|
250
|
-
if (includePageLayout) {
|
|
251
|
-
fields.push(createPageLayoutField(layouts, sidebarPosition));
|
|
252
|
-
}
|
|
253
|
-
if (includeIsHomepage) {
|
|
254
|
-
fields.push(isHomepageField);
|
|
255
|
-
}
|
|
256
|
-
if (includeSEO) {
|
|
257
|
-
fields.push(seoFieldGroup);
|
|
258
|
-
}
|
|
259
|
-
if (includeConversion) {
|
|
260
|
-
fields.push(createConversionFieldGroup(conversionTypeOptions, sidebarPosition));
|
|
261
|
-
}
|
|
262
|
-
return fields;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
// src/plugin/collections/Pages.ts
|
|
266
|
-
var defaultAccess = () => true;
|
|
267
|
-
function generatePagesCollection(slug, options) {
|
|
268
|
-
const {
|
|
269
|
-
collectionOverrides = {},
|
|
270
|
-
access = {},
|
|
271
|
-
layouts = DEFAULT_LAYOUTS,
|
|
272
|
-
additionalFields = []
|
|
273
|
-
} = options;
|
|
274
|
-
const baseFields = [
|
|
275
|
-
// Core Fields (title and slug with duplication hooks - unique to collection generation)
|
|
276
|
-
{
|
|
277
|
-
name: "title",
|
|
278
|
-
type: "text",
|
|
279
|
-
required: true,
|
|
280
|
-
hooks: {
|
|
281
|
-
beforeDuplicate: [
|
|
282
|
-
({ value }) => {
|
|
283
|
-
if (!value) return value;
|
|
284
|
-
const copyMatch = value.match(/^(.+) \(Copy(?: (\d+))?\)$/);
|
|
285
|
-
if (copyMatch) {
|
|
286
|
-
const baseName = copyMatch[1];
|
|
287
|
-
const copyNum = copyMatch[2] ? parseInt(copyMatch[2], 10) + 1 : 2;
|
|
288
|
-
return `${baseName} (Copy ${copyNum})`;
|
|
289
|
-
}
|
|
290
|
-
return `${value} (Copy)`;
|
|
291
|
-
}
|
|
292
|
-
]
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
{
|
|
296
|
-
name: "slug",
|
|
297
|
-
type: "text",
|
|
298
|
-
required: true,
|
|
299
|
-
unique: true,
|
|
300
|
-
index: true,
|
|
301
|
-
admin: {
|
|
302
|
-
position: "sidebar",
|
|
303
|
-
description: "URL path for this page (auto-generated from title)"
|
|
304
|
-
},
|
|
305
|
-
hooks: {
|
|
306
|
-
beforeValidate: [
|
|
307
|
-
({ data, value }) => {
|
|
308
|
-
if (data && !value && data.title) {
|
|
309
|
-
return data.title.toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").trim();
|
|
310
|
-
}
|
|
311
|
-
return value;
|
|
312
|
-
}
|
|
313
|
-
],
|
|
314
|
-
beforeDuplicate: [
|
|
315
|
-
({ value }) => {
|
|
316
|
-
if (!value) return value;
|
|
317
|
-
const copyMatch = value.match(/^(.+)-copy(?:-(\d+))?$/);
|
|
318
|
-
if (copyMatch) {
|
|
319
|
-
const baseName = copyMatch[1];
|
|
320
|
-
const copyNum = copyMatch[2] ? parseInt(copyMatch[2], 10) + 1 : 2;
|
|
321
|
-
return `${baseName}-copy-${copyNum}`;
|
|
322
|
-
}
|
|
323
|
-
return `${value}-copy`;
|
|
324
|
-
}
|
|
325
|
-
]
|
|
326
|
-
}
|
|
327
|
-
},
|
|
328
|
-
// Page Layout
|
|
329
|
-
createPageLayoutField(layouts, true),
|
|
330
|
-
// Editor Version
|
|
331
|
-
createEditorVersionField("puck", true),
|
|
332
|
-
// Homepage Flag
|
|
333
|
-
isHomepageField,
|
|
334
|
-
// Puck Data (hidden - managed via visual editor)
|
|
335
|
-
puckDataField,
|
|
336
|
-
// SEO Fields
|
|
337
|
-
seoFieldGroup,
|
|
338
|
-
// Conversion Tracking Fields
|
|
339
|
-
conversionFieldGroup,
|
|
340
|
-
// Additional fields from options
|
|
341
|
-
...additionalFields
|
|
342
|
-
];
|
|
343
|
-
return {
|
|
344
|
-
slug,
|
|
345
|
-
admin: {
|
|
346
|
-
useAsTitle: "title",
|
|
347
|
-
group: "Content",
|
|
348
|
-
defaultColumns: ["title", "slug", "_status", "updatedAt"],
|
|
349
|
-
...collectionOverrides.admin ?? {}
|
|
350
|
-
},
|
|
351
|
-
access: {
|
|
352
|
-
read: access.read ?? defaultAccess,
|
|
353
|
-
create: access.create ?? defaultAccess,
|
|
354
|
-
update: access.update ?? defaultAccess,
|
|
355
|
-
delete: access.delete ?? defaultAccess,
|
|
356
|
-
...collectionOverrides.access ?? {}
|
|
357
|
-
},
|
|
358
|
-
versions: typeof collectionOverrides.versions === "object" ? { drafts: true, ...collectionOverrides.versions } : { drafts: true },
|
|
359
|
-
fields: baseFields,
|
|
360
|
-
...collectionOverrides,
|
|
361
|
-
// Ensure fields aren't overwritten by collectionOverrides
|
|
362
|
-
...collectionOverrides.fields && {
|
|
363
|
-
fields: [...baseFields, ...collectionOverrides.fields]
|
|
364
|
-
}
|
|
365
|
-
};
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
// src/collections/Templates.ts
|
|
369
|
-
var TemplatesCollection = {
|
|
370
|
-
slug: "puck-templates",
|
|
371
|
-
admin: {
|
|
372
|
-
useAsTitle: "name",
|
|
373
|
-
group: "Puck",
|
|
374
|
-
defaultColumns: ["name", "category", "updatedAt"],
|
|
375
|
-
description: "Reusable component templates for the visual editor"
|
|
376
|
-
},
|
|
377
|
-
access: {
|
|
378
|
-
read: () => true,
|
|
379
|
-
create: ({ req }) => !!req.user,
|
|
380
|
-
update: ({ req }) => !!req.user,
|
|
381
|
-
delete: ({ req }) => !!req.user
|
|
382
|
-
},
|
|
383
|
-
fields: [
|
|
384
|
-
{
|
|
385
|
-
name: "name",
|
|
386
|
-
type: "text",
|
|
387
|
-
required: true,
|
|
388
|
-
admin: {
|
|
389
|
-
description: "A descriptive name for this template"
|
|
390
|
-
}
|
|
391
|
-
},
|
|
392
|
-
{
|
|
393
|
-
name: "description",
|
|
394
|
-
type: "textarea",
|
|
395
|
-
admin: {
|
|
396
|
-
description: "Optional description of what this template contains"
|
|
397
|
-
}
|
|
398
|
-
},
|
|
399
|
-
{
|
|
400
|
-
name: "category",
|
|
401
|
-
type: "text",
|
|
402
|
-
admin: {
|
|
403
|
-
description: 'Category for organizing templates (e.g., "Hero", "Footer", "CTA")'
|
|
404
|
-
}
|
|
405
|
-
},
|
|
406
|
-
{
|
|
407
|
-
name: "content",
|
|
408
|
-
type: "json",
|
|
409
|
-
required: true,
|
|
410
|
-
admin: {
|
|
411
|
-
description: "Serialized Puck component data"
|
|
412
|
-
}
|
|
413
|
-
},
|
|
414
|
-
{
|
|
415
|
-
name: "thumbnail",
|
|
416
|
-
type: "text",
|
|
417
|
-
admin: {
|
|
418
|
-
description: "Optional thumbnail URL for template preview"
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
],
|
|
422
|
-
timestamps: true
|
|
423
|
-
};
|
|
424
|
-
|
|
425
|
-
// src/plugin/index.ts
|
|
426
|
-
function getExistingFieldNames(fields) {
|
|
427
|
-
const names = /* @__PURE__ */ new Set();
|
|
428
|
-
function addFieldNames(fieldsToCheck) {
|
|
429
|
-
for (const field of fieldsToCheck) {
|
|
430
|
-
if ("name" in field && field.name) {
|
|
431
|
-
names.add(field.name);
|
|
432
|
-
}
|
|
433
|
-
if ("fields" in field && Array.isArray(field.fields)) {
|
|
434
|
-
addFieldNames(field.fields);
|
|
435
|
-
}
|
|
436
|
-
if (field.type === "tabs" && "tabs" in field && Array.isArray(field.tabs)) {
|
|
437
|
-
for (const tab of field.tabs) {
|
|
438
|
-
if ("fields" in tab && Array.isArray(tab.fields)) {
|
|
439
|
-
addFieldNames(tab.fields);
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
addFieldNames(fields);
|
|
446
|
-
return names;
|
|
447
|
-
}
|
|
448
|
-
function filterExistingFields(fieldsToAdd, existingNames) {
|
|
449
|
-
return fieldsToAdd.filter((field) => {
|
|
450
|
-
if ("name" in field && field.name) {
|
|
451
|
-
return !existingNames.has(field.name);
|
|
452
|
-
}
|
|
453
|
-
return true;
|
|
454
|
-
});
|
|
455
|
-
}
|
|
456
|
-
function generatePuckEditField(collectionSlug, adminConfig = {}) {
|
|
457
|
-
const {
|
|
458
|
-
editorPathPattern = "/pages/{id}/edit",
|
|
459
|
-
buttonLabel = "Edit with Puck",
|
|
460
|
-
buttonPosition
|
|
461
|
-
// undefined = main area (default), 'sidebar' = sidebar
|
|
462
|
-
} = adminConfig;
|
|
463
|
-
return {
|
|
464
|
-
name: "puckEdit",
|
|
465
|
-
type: "ui",
|
|
466
|
-
admin: {
|
|
467
|
-
// Only set position if explicitly specified (sidebar)
|
|
468
|
-
// undefined means main form area in Payload
|
|
469
|
-
...buttonPosition && { position: buttonPosition },
|
|
470
|
-
components: {
|
|
471
|
-
Field: "@delmaredigital/payload-puck/admin/client#EditWithPuckButton",
|
|
472
|
-
Cell: "@delmaredigital/payload-puck/admin/client#EditWithPuckCell"
|
|
473
|
-
},
|
|
474
|
-
custom: {
|
|
475
|
-
collectionSlug,
|
|
476
|
-
editorPathPattern,
|
|
477
|
-
label: buttonLabel
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
};
|
|
481
|
-
}
|
|
482
|
-
function createPuckPlugin(options = {}) {
|
|
483
|
-
const {
|
|
484
|
-
pagesCollection = "pages",
|
|
485
|
-
autoGenerateCollection = true,
|
|
486
|
-
admin: adminConfig = {}
|
|
487
|
-
} = options;
|
|
488
|
-
const { addEditButton = true } = adminConfig;
|
|
489
|
-
return (incomingConfig) => {
|
|
490
|
-
let collections = incomingConfig.collections || [];
|
|
491
|
-
const templatesCollectionExists = collections.some(
|
|
492
|
-
(c) => c.slug === "puck-templates"
|
|
493
|
-
);
|
|
494
|
-
if (!templatesCollectionExists) {
|
|
495
|
-
collections = [...collections, TemplatesCollection];
|
|
496
|
-
}
|
|
497
|
-
if (autoGenerateCollection) {
|
|
498
|
-
const existingCollectionIndex = collections.findIndex(
|
|
499
|
-
(c) => c.slug === pagesCollection
|
|
500
|
-
);
|
|
501
|
-
const editButtonField = addEditButton ? [generatePuckEditField(pagesCollection, adminConfig)] : [];
|
|
502
|
-
if (existingCollectionIndex >= 0) {
|
|
503
|
-
const existingCollection = collections[existingCollectionIndex];
|
|
504
|
-
const existingFields = existingCollection.fields || [];
|
|
505
|
-
const existingFieldNames = getExistingFieldNames(existingFields);
|
|
506
|
-
const puckFields = getPuckFields({
|
|
507
|
-
includeSEO: !existingFieldNames.has("meta"),
|
|
508
|
-
includeConversion: !existingFieldNames.has("conversionTracking"),
|
|
509
|
-
includeEditorVersion: !existingFieldNames.has("editorVersion"),
|
|
510
|
-
includePageLayout: !existingFieldNames.has("pageLayout"),
|
|
511
|
-
includeIsHomepage: !existingFieldNames.has("isHomepage"),
|
|
512
|
-
layouts: options.layouts
|
|
513
|
-
});
|
|
514
|
-
const fieldsToAdd = filterExistingFields(puckFields, existingFieldNames);
|
|
515
|
-
const editFieldsToAdd = existingFieldNames.has("puckEdit") ? [] : editButtonField;
|
|
516
|
-
collections = [
|
|
517
|
-
...collections.slice(0, existingCollectionIndex),
|
|
518
|
-
{
|
|
519
|
-
...existingCollection,
|
|
520
|
-
// Ensure drafts are enabled for Puck
|
|
521
|
-
versions: typeof existingCollection.versions === "object" ? { drafts: true, ...existingCollection.versions } : existingCollection.versions ?? { drafts: true },
|
|
522
|
-
fields: [
|
|
523
|
-
...existingFields,
|
|
524
|
-
...fieldsToAdd,
|
|
525
|
-
...editFieldsToAdd
|
|
526
|
-
]
|
|
527
|
-
},
|
|
528
|
-
...collections.slice(existingCollectionIndex + 1)
|
|
529
|
-
];
|
|
530
|
-
} else {
|
|
531
|
-
const generatedCollection = generatePagesCollection(pagesCollection, options);
|
|
532
|
-
collections = [
|
|
533
|
-
...collections,
|
|
534
|
-
{
|
|
535
|
-
...generatedCollection,
|
|
536
|
-
fields: [...generatedCollection.fields, ...editButtonField]
|
|
537
|
-
}
|
|
538
|
-
];
|
|
539
|
-
}
|
|
540
|
-
}
|
|
541
|
-
return {
|
|
542
|
-
...incomingConfig,
|
|
543
|
-
collections,
|
|
544
|
-
onInit: async (payload) => {
|
|
545
|
-
if (incomingConfig.onInit) {
|
|
546
|
-
await incomingConfig.onInit(payload);
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
};
|
|
550
|
-
};
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
export { TemplatesCollection, conversionFieldGroup, createEditorVersionField, createPageLayoutField, createPuckPlugin, editorVersionField, generatePagesCollection, generatePuckEditField, getPuckFields, isHomepageField, pageLayoutField, puckDataField, seoFieldGroup };
|
|
554
|
-
//# sourceMappingURL=index.mjs.map
|
|
555
|
-
//# sourceMappingURL=index.mjs.map
|
package/dist/render/index.d.mts
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { Data, Config } from '@measured/puck';
|
|
3
|
-
import { L as LayoutDefinition } from '../types-D7D3rZ1J.mjs';
|
|
4
|
-
import { ReactNode } from 'react';
|
|
5
|
-
|
|
6
|
-
interface PageRendererProps {
|
|
7
|
-
/**
|
|
8
|
-
* Puck data to render
|
|
9
|
-
*/
|
|
10
|
-
data: Data;
|
|
11
|
-
/**
|
|
12
|
-
* Puck configuration to use
|
|
13
|
-
* @default baseConfig
|
|
14
|
-
*/
|
|
15
|
-
config?: Config;
|
|
16
|
-
/**
|
|
17
|
-
* Optional wrapper component (takes precedence over layout)
|
|
18
|
-
*/
|
|
19
|
-
wrapper?: React.ComponentType<{
|
|
20
|
-
children: React.ReactNode;
|
|
21
|
-
}>;
|
|
22
|
-
/**
|
|
23
|
-
* Optional className for the wrapper
|
|
24
|
-
*/
|
|
25
|
-
className?: string;
|
|
26
|
-
/**
|
|
27
|
-
* Available layouts for this page
|
|
28
|
-
* @default DEFAULT_LAYOUTS
|
|
29
|
-
*/
|
|
30
|
-
layouts?: LayoutDefinition[];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Renders a Puck page using the provided data and configuration
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```tsx
|
|
37
|
-
* import { PageRenderer } from '@delmaredigital/payload-puck/render'
|
|
38
|
-
* import { baseConfig } from '@delmaredigital/payload-puck/config'
|
|
39
|
-
* import { ThemeProvider } from '@delmaredigital/payload-puck/theme'
|
|
40
|
-
*
|
|
41
|
-
* export default async function Page({ params }) {
|
|
42
|
-
* const page = await getPage(params.slug)
|
|
43
|
-
*
|
|
44
|
-
* // Wrap with ThemeProvider if using theming
|
|
45
|
-
* return (
|
|
46
|
-
* <ThemeProvider theme={myTheme}>
|
|
47
|
-
* <PageRenderer data={page.puckData} config={baseConfig} />
|
|
48
|
-
* </ThemeProvider>
|
|
49
|
-
* )
|
|
50
|
-
* }
|
|
51
|
-
* ```
|
|
52
|
-
*/
|
|
53
|
-
declare function PageRenderer({ data, config, wrapper: Wrapper, className, layouts, }: PageRendererProps): react_jsx_runtime.JSX.Element;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Page data shape for hybrid rendering
|
|
57
|
-
*/
|
|
58
|
-
interface HybridPageData {
|
|
59
|
-
/**
|
|
60
|
-
* Which editor was used to create the page
|
|
61
|
-
* - 'puck': Page was created/edited with Puck visual editor
|
|
62
|
-
* - 'legacy': Page uses traditional Payload block fields
|
|
63
|
-
*/
|
|
64
|
-
editorVersion?: 'legacy' | 'puck';
|
|
65
|
-
/**
|
|
66
|
-
* Puck editor data (for pages with editorVersion: 'puck')
|
|
67
|
-
*/
|
|
68
|
-
puckData?: Data | null;
|
|
69
|
-
/**
|
|
70
|
-
* Legacy blocks array (for pages with editorVersion: 'legacy')
|
|
71
|
-
* The field name varies by project (e.g., 'layout', 'blocks', 'content')
|
|
72
|
-
*/
|
|
73
|
-
[key: string]: unknown;
|
|
74
|
-
}
|
|
75
|
-
interface HybridPageRendererProps extends Omit<PageRendererProps, 'data'> {
|
|
76
|
-
/**
|
|
77
|
-
* Page document containing editorVersion, puckData, and optionally legacy blocks
|
|
78
|
-
*/
|
|
79
|
-
page: HybridPageData;
|
|
80
|
-
/**
|
|
81
|
-
* Render function for legacy Payload blocks.
|
|
82
|
-
* Called when editorVersion is 'legacy' or when puckData is not available.
|
|
83
|
-
*
|
|
84
|
-
* @param blocks - The legacy blocks array from the page
|
|
85
|
-
* @returns React node to render
|
|
86
|
-
*/
|
|
87
|
-
legacyRenderer: (blocks: unknown[]) => ReactNode;
|
|
88
|
-
/**
|
|
89
|
-
* Name of the field containing legacy blocks
|
|
90
|
-
* @default 'layout'
|
|
91
|
-
*/
|
|
92
|
-
legacyBlocksField?: string;
|
|
93
|
-
/**
|
|
94
|
-
* Fallback content when no content is available
|
|
95
|
-
* @default <div>No content available</div>
|
|
96
|
-
*/
|
|
97
|
-
fallback?: ReactNode;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Renders a page using either Puck or legacy Payload blocks
|
|
101
|
-
*
|
|
102
|
-
* Decision logic:
|
|
103
|
-
* 1. If editorVersion is 'puck' AND puckData has content → render with PageRenderer
|
|
104
|
-
* 2. If legacy blocks exist → render with legacyRenderer
|
|
105
|
-
* 3. Otherwise → render fallback
|
|
106
|
-
*/
|
|
107
|
-
declare function HybridPageRenderer({ page, legacyRenderer, legacyBlocksField, fallback, config, layouts, wrapper, className, }: HybridPageRendererProps): react_jsx_runtime.JSX.Element;
|
|
108
|
-
|
|
109
|
-
export { type HybridPageData, HybridPageRenderer, type HybridPageRendererProps, PageRenderer, type PageRendererProps };
|