@delmaredigital/payload-puck 0.6.10 → 0.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -1
- package/dist/admin/EditWithPuckButton.d.ts +1 -1
- package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
- package/dist/admin/EditWithPuckButton.js +65 -25
- package/dist/admin/EditWithPuckButton.js.map +1 -1
- package/dist/admin/EditWithPuckCell.js +43 -13
- package/dist/admin/EditWithPuckCell.js.map +1 -1
- package/dist/admin/PuckEditorView.d.ts +1 -1
- package/dist/admin/PuckEditorView.d.ts.map +1 -1
- package/dist/admin/PuckEditorView.js +118 -32
- package/dist/admin/PuckEditorView.js.map +1 -1
- package/dist/admin/client.d.ts +2 -2
- package/dist/admin/client.d.ts.map +1 -1
- package/dist/admin/client.js +4 -4
- package/dist/admin/client.js.map +1 -1
- package/dist/admin/generateAdminComponents.js +7 -7
- package/dist/admin/generateAdminComponents.js.map +1 -1
- package/dist/admin/index.d.ts +5 -5
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +3 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/ai/collections/AiContext.js +56 -29
- package/dist/ai/collections/AiContext.js.map +1 -1
- package/dist/ai/collections/AiPrompts.js +24 -19
- package/dist/ai/collections/AiPrompts.js.map +1 -1
- package/dist/ai/createAiApiRoutes.js +28 -19
- package/dist/ai/createAiApiRoutes.js.map +1 -1
- package/dist/ai/createAiGenerate.js +7 -8
- package/dist/ai/createAiGenerate.js.map +1 -1
- package/dist/ai/createAiPlugin.js +7 -9
- package/dist/ai/createAiPlugin.js.map +1 -1
- package/dist/ai/hooks/useAiContext.js +50 -39
- package/dist/ai/hooks/useAiContext.js.map +1 -1
- package/dist/ai/hooks/useAiPrompts.js +33 -25
- package/dist/ai/hooks/useAiPrompts.js.map +1 -1
- package/dist/ai/index.js +9 -10
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/plugins/ContextEditorPanel.d.ts +1 -1
- package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -1
- package/dist/ai/plugins/ContextEditorPanel.js +399 -107
- package/dist/ai/plugins/ContextEditorPanel.js.map +1 -1
- package/dist/ai/plugins/PromptEditorPanel.d.ts +1 -1
- package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -1
- package/dist/ai/plugins/PromptEditorPanel.js +237 -51
- package/dist/ai/plugins/PromptEditorPanel.js.map +1 -1
- package/dist/ai/plugins/contextEditorPlugin.js +12 -5
- package/dist/ai/plugins/contextEditorPlugin.js.map +1 -1
- package/dist/ai/plugins/promptApiRoutes.js +119 -50
- package/dist/ai/plugins/promptApiRoutes.js.map +1 -1
- package/dist/ai/plugins/promptEditorPlugin.js +12 -5
- package/dist/ai/plugins/promptEditorPlugin.js.map +1 -1
- package/dist/ai/presets/componentAiDefaults.js +108 -83
- package/dist/ai/presets/componentAiDefaults.js.map +1 -1
- package/dist/ai/presets/index.js +12 -18
- package/dist/ai/presets/index.js.map +1 -1
- package/dist/ai/presets/instructions/interactive.js +85 -75
- package/dist/ai/presets/instructions/interactive.js.map +1 -1
- package/dist/ai/presets/instructions/layout.js +122 -117
- package/dist/ai/presets/instructions/layout.js.map +1 -1
- package/dist/ai/presets/instructions/media.js +31 -29
- package/dist/ai/presets/instructions/media.js.map +1 -1
- package/dist/ai/presets/instructions/pagePatterns.js +4 -6
- package/dist/ai/presets/instructions/pagePatterns.js.map +1 -1
- package/dist/ai/presets/instructions/schemas.js +495 -137
- package/dist/ai/presets/instructions/schemas.js.map +1 -1
- package/dist/ai/presets/instructions/typography.js +38 -33
- package/dist/ai/presets/instructions/typography.js.map +1 -1
- package/dist/ai/tools/index.js +92 -55
- package/dist/ai/tools/index.js.map +1 -1
- package/dist/ai/types.js +7 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/utils/injectAiConfig.js +33 -40
- package/dist/ai/utils/injectAiConfig.js.map +1 -1
- package/dist/api/createPuckApiRoutes.d.ts +1 -1
- package/dist/api/createPuckApiRoutes.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutes.js +123 -65
- package/dist/api/createPuckApiRoutes.js.map +1 -1
- package/dist/api/createPuckApiRoutesVersions.d.ts +1 -1
- package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutesVersions.js +88 -37
- package/dist/api/createPuckApiRoutesVersions.js.map +1 -1
- package/dist/api/createPuckApiRoutesWithId.d.ts +1 -1
- package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutesWithId.js +166 -72
- package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
- package/dist/api/index.d.ts +5 -5
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +6 -6
- package/dist/api/index.js.map +1 -1
- package/dist/api/payload-config.d.js +15 -0
- package/dist/api/payload-config.d.js.map +1 -0
- package/dist/api/types.js +4 -1
- package/dist/api/types.js.map +1 -1
- package/dist/api/utils/mapRootProps.d.ts +1 -1
- package/dist/api/utils/mapRootProps.d.ts.map +1 -1
- package/dist/api/utils/mapRootProps.js +77 -44
- package/dist/api/utils/mapRootProps.js.map +1 -1
- package/dist/collections/Templates.js +24 -20
- package/dist/collections/Templates.js.map +1 -1
- package/dist/components/AccordionClient.d.ts +2 -2
- package/dist/components/AccordionClient.d.ts.map +1 -1
- package/dist/components/AccordionClient.js +81 -22
- package/dist/components/AccordionClient.js.map +1 -1
- package/dist/components/AnimatedWrapper.d.ts +2 -2
- package/dist/components/AnimatedWrapper.d.ts.map +1 -1
- package/dist/components/AnimatedWrapper.js +31 -16
- package/dist/components/AnimatedWrapper.js.map +1 -1
- package/dist/components/exports.js +2 -2
- package/dist/components/exports.js.map +1 -1
- package/dist/components/index.d.ts +5 -5
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +7 -7
- package/dist/components/index.js.map +1 -1
- package/dist/components/interactive/Accordion.d.ts +1 -1
- package/dist/components/interactive/Accordion.d.ts.map +1 -1
- package/dist/components/interactive/Accordion.js +149 -55
- package/dist/components/interactive/Accordion.js.map +1 -1
- package/dist/components/interactive/Accordion.server.d.ts +1 -1
- package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
- package/dist/components/interactive/Accordion.server.js +25 -7
- package/dist/components/interactive/Accordion.server.js.map +1 -1
- package/dist/components/interactive/Button.d.ts +3 -3
- package/dist/components/interactive/Button.d.ts.map +1 -1
- package/dist/components/interactive/Button.js +89 -43
- package/dist/components/interactive/Button.js.map +1 -1
- package/dist/components/interactive/Button.server.d.ts +2 -2
- package/dist/components/interactive/Button.server.d.ts.map +1 -1
- package/dist/components/interactive/Button.server.js +40 -20
- package/dist/components/interactive/Button.server.js.map +1 -1
- package/dist/components/interactive/Card.d.ts +3 -3
- package/dist/components/interactive/Card.d.ts.map +1 -1
- package/dist/components/interactive/Card.js +131 -39
- package/dist/components/interactive/Card.js.map +1 -1
- package/dist/components/interactive/Card.server.d.ts +3 -3
- package/dist/components/interactive/Card.server.d.ts.map +1 -1
- package/dist/components/interactive/Card.server.js +72 -11
- package/dist/components/interactive/Card.server.js.map +1 -1
- package/dist/components/interactive/Divider.d.ts +1 -1
- package/dist/components/interactive/Divider.d.ts.map +1 -1
- package/dist/components/interactive/Divider.js +54 -26
- package/dist/components/interactive/Divider.js.map +1 -1
- package/dist/components/interactive/Divider.server.d.ts +1 -1
- package/dist/components/interactive/Divider.server.d.ts.map +1 -1
- package/dist/components/interactive/Divider.server.js +28 -12
- package/dist/components/interactive/Divider.server.js.map +1 -1
- package/dist/components/interactive/index.d.ts +4 -4
- package/dist/components/interactive/index.d.ts.map +1 -1
- package/dist/components/interactive/index.js +5 -5
- package/dist/components/interactive/index.js.map +1 -1
- package/dist/components/layout/Container.d.ts +1 -1
- package/dist/components/layout/Container.d.ts.map +1 -1
- package/dist/components/layout/Container.js +101 -47
- package/dist/components/layout/Container.js.map +1 -1
- package/dist/components/layout/Container.server.d.ts +1 -1
- package/dist/components/layout/Container.server.d.ts.map +1 -1
- package/dist/components/layout/Container.server.js +67 -19
- package/dist/components/layout/Container.server.js.map +1 -1
- package/dist/components/layout/Flex.d.ts +2 -2
- package/dist/components/layout/Flex.d.ts.map +1 -1
- package/dist/components/layout/Flex.js +124 -55
- package/dist/components/layout/Flex.js.map +1 -1
- package/dist/components/layout/Flex.server.d.ts +1 -1
- package/dist/components/layout/Flex.server.d.ts.map +1 -1
- package/dist/components/layout/Flex.server.js +50 -14
- package/dist/components/layout/Flex.server.js.map +1 -1
- package/dist/components/layout/Grid.d.ts +1 -1
- package/dist/components/layout/Grid.d.ts.map +1 -1
- package/dist/components/layout/Grid.js +93 -44
- package/dist/components/layout/Grid.js.map +1 -1
- package/dist/components/layout/Grid.server.d.ts +1 -1
- package/dist/components/layout/Grid.server.d.ts.map +1 -1
- package/dist/components/layout/Grid.server.js +56 -14
- package/dist/components/layout/Grid.server.js.map +1 -1
- package/dist/components/layout/Section.d.ts +1 -1
- package/dist/components/layout/Section.d.ts.map +1 -1
- package/dist/components/layout/Section.js +147 -64
- package/dist/components/layout/Section.js.map +1 -1
- package/dist/components/layout/Section.server.d.ts +1 -1
- package/dist/components/layout/Section.server.d.ts.map +1 -1
- package/dist/components/layout/Section.server.js +92 -28
- package/dist/components/layout/Section.server.js.map +1 -1
- package/dist/components/layout/Spacer.d.ts +1 -1
- package/dist/components/layout/Spacer.d.ts.map +1 -1
- package/dist/components/layout/Spacer.js +80 -30
- package/dist/components/layout/Spacer.js.map +1 -1
- package/dist/components/layout/Spacer.server.d.ts +1 -1
- package/dist/components/layout/Spacer.server.d.ts.map +1 -1
- package/dist/components/layout/Spacer.server.js +31 -9
- package/dist/components/layout/Spacer.server.js.map +1 -1
- package/dist/components/layout/Template.d.ts +1 -1
- package/dist/components/layout/Template.d.ts.map +1 -1
- package/dist/components/layout/Template.js +58 -30
- package/dist/components/layout/Template.js.map +1 -1
- package/dist/components/layout/Template.server.d.ts +1 -1
- package/dist/components/layout/Template.server.d.ts.map +1 -1
- package/dist/components/layout/Template.server.js +43 -11
- package/dist/components/layout/Template.server.js.map +1 -1
- package/dist/components/layout/index.d.ts +8 -8
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/index.js +8 -8
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/media/Image.d.ts +3 -3
- package/dist/components/media/Image.d.ts.map +1 -1
- package/dist/components/media/Image.js +122 -39
- package/dist/components/media/Image.js.map +1 -1
- package/dist/components/media/Image.server.d.ts +3 -3
- package/dist/components/media/Image.server.d.ts.map +1 -1
- package/dist/components/media/Image.server.js +76 -13
- package/dist/components/media/Image.server.js.map +1 -1
- package/dist/components/media/index.d.ts +1 -1
- package/dist/components/media/index.d.ts.map +1 -1
- package/dist/components/media/index.js +2 -2
- package/dist/components/media/index.js.map +1 -1
- package/dist/components/typography/Heading.d.ts +2 -2
- package/dist/components/typography/Heading.d.ts.map +1 -1
- package/dist/components/typography/Heading.js +45 -25
- package/dist/components/typography/Heading.js.map +1 -1
- package/dist/components/typography/Heading.server.d.ts +2 -2
- package/dist/components/typography/Heading.server.d.ts.map +1 -1
- package/dist/components/typography/Heading.server.js +16 -10
- package/dist/components/typography/Heading.server.js.map +1 -1
- package/dist/components/typography/RichText.editor.d.ts +1 -1
- package/dist/components/typography/RichText.editor.d.ts.map +1 -1
- package/dist/components/typography/RichText.editor.js +44 -19
- package/dist/components/typography/RichText.editor.js.map +1 -1
- package/dist/components/typography/RichText.server.d.ts +2 -2
- package/dist/components/typography/RichText.server.d.ts.map +1 -1
- package/dist/components/typography/RichText.server.js +33 -14
- package/dist/components/typography/RichText.server.js.map +1 -1
- package/dist/components/typography/Text.d.ts +2 -2
- package/dist/components/typography/Text.d.ts.map +1 -1
- package/dist/components/typography/Text.js +49 -23
- package/dist/components/typography/Text.js.map +1 -1
- package/dist/components/typography/Text.server.d.ts +2 -2
- package/dist/components/typography/Text.server.d.ts.map +1 -1
- package/dist/components/typography/Text.server.js +21 -8
- package/dist/components/typography/Text.server.js.map +1 -1
- package/dist/components/typography/index.d.ts +4 -4
- package/dist/components/typography/index.d.ts.map +1 -1
- package/dist/components/typography/index.js +5 -5
- package/dist/components/typography/index.js.map +1 -1
- package/dist/config/config.editor.d.ts +3 -3
- package/dist/config/config.editor.d.ts.map +1 -1
- package/dist/config/config.editor.js +119 -54
- package/dist/config/config.editor.js.map +1 -1
- package/dist/config/index.d.ts +4 -4
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +62 -35
- package/dist/config/index.js.map +1 -1
- package/dist/config/merge.d.ts +1 -1
- package/dist/config/merge.d.ts.map +1 -1
- package/dist/config/merge.js +23 -26
- package/dist/config/merge.js.map +1 -1
- package/dist/config/presets.d.ts +4 -4
- package/dist/config/presets.js +195 -75
- package/dist/config/presets.js.map +1 -1
- package/dist/config/types.js +6 -2
- package/dist/config/types.js.map +1 -1
- package/dist/editor/PuckEditor.d.ts +12 -4
- package/dist/editor/PuckEditor.d.ts.map +1 -1
- package/dist/editor/PuckEditor.js +168 -67
- package/dist/editor/PuckEditor.js.map +1 -1
- package/dist/editor/PuckEditorImpl.client.d.ts +4 -4
- package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
- package/dist/editor/PuckEditorImpl.client.js +304 -152
- package/dist/editor/PuckEditorImpl.client.js.map +1 -1
- package/dist/editor/components/DarkModeStyles.js +11 -12
- package/dist/editor/components/DarkModeStyles.js.map +1 -1
- package/dist/editor/components/HeaderActions.js +308 -64
- package/dist/editor/components/HeaderActions.js.map +1 -1
- package/dist/editor/components/IframeWrapper.d.ts +1 -1
- package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
- package/dist/editor/components/IframeWrapper.js +82 -58
- package/dist/editor/components/IframeWrapper.js.map +1 -1
- package/dist/editor/components/LoadingState.d.ts +1 -1
- package/dist/editor/components/LoadingState.d.ts.map +1 -1
- package/dist/editor/components/LoadingState.js +17 -3
- package/dist/editor/components/LoadingState.js.map +1 -1
- package/dist/editor/components/PreviewModal.js +234 -78
- package/dist/editor/components/PreviewModal.js.map +1 -1
- package/dist/editor/components/PreviewModeToggle.js +43 -15
- package/dist/editor/components/PreviewModeToggle.js.map +1 -1
- package/dist/editor/components/VersionHistory.js +219 -71
- package/dist/editor/components/VersionHistory.js.map +1 -1
- package/dist/editor/hooks/useDarkMode.js +36 -23
- package/dist/editor/hooks/useDarkMode.js.map +1 -1
- package/dist/editor/hooks/useUnsavedChanges.js +8 -8
- package/dist/editor/hooks/useUnsavedChanges.js.map +1 -1
- package/dist/editor/index.js +5 -6
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/plugins/VersionHistoryPanel.js +236 -75
- package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -1
- package/dist/editor/plugins/index.js +4 -4
- package/dist/editor/plugins/index.js.map +1 -1
- package/dist/editor/plugins/versionHistoryPlugin.js +10 -8
- package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -1
- package/dist/editor/utils/detectPageTree.js +5 -5
- package/dist/editor/utils/detectPageTree.js.map +1 -1
- package/dist/editor/utils/index.js +1 -0
- package/dist/editor/utils/index.js.map +1 -1
- package/dist/editor/utils/injectPageTreeFields.js +13 -9
- package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
- package/dist/endpoints/ai.js +58 -34
- package/dist/endpoints/ai.js.map +1 -1
- package/dist/endpoints/context.js +86 -40
- package/dist/endpoints/context.js.map +1 -1
- package/dist/endpoints/index.js +153 -76
- package/dist/endpoints/index.js.map +1 -1
- package/dist/endpoints/postcss.d.js +5 -0
- package/dist/endpoints/postcss.d.js.map +1 -0
- package/dist/endpoints/prompts.js +81 -39
- package/dist/endpoints/prompts.js.map +1 -1
- package/dist/endpoints/styles.js +34 -36
- package/dist/endpoints/styles.js.map +1 -1
- package/dist/exports/client.js +2 -2
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/rsc.js +2 -2
- package/dist/exports/rsc.js.map +1 -1
- package/dist/fields/AlignmentField.d.ts +1 -1
- package/dist/fields/AlignmentField.d.ts.map +1 -1
- package/dist/fields/AlignmentField.js +93 -30
- package/dist/fields/AlignmentField.js.map +1 -1
- package/dist/fields/AnimationField.d.ts +2 -2
- package/dist/fields/AnimationField.d.ts.map +1 -1
- package/dist/fields/AnimationField.js +558 -84
- package/dist/fields/AnimationField.js.map +1 -1
- package/dist/fields/BackgroundField.d.ts +2 -2
- package/dist/fields/BackgroundField.d.ts.map +1 -1
- package/dist/fields/BackgroundField.js +754 -120
- package/dist/fields/BackgroundField.js.map +1 -1
- package/dist/fields/BorderField.d.ts +2 -2
- package/dist/fields/BorderField.d.ts.map +1 -1
- package/dist/fields/BorderField.js +275 -73
- package/dist/fields/BorderField.js.map +1 -1
- package/dist/fields/ColorPickerField.d.ts +2 -2
- package/dist/fields/ColorPickerField.d.ts.map +1 -1
- package/dist/fields/ColorPickerField.js +210 -68
- package/dist/fields/ColorPickerField.js.map +1 -1
- package/dist/fields/ContentAlignmentField.d.ts +1 -1
- package/dist/fields/ContentAlignmentField.d.ts.map +1 -1
- package/dist/fields/ContentAlignmentField.js +161 -75
- package/dist/fields/ContentAlignmentField.js.map +1 -1
- package/dist/fields/DimensionsField.d.ts +2 -2
- package/dist/fields/DimensionsField.d.ts.map +1 -1
- package/dist/fields/DimensionsField.js +575 -146
- package/dist/fields/DimensionsField.js.map +1 -1
- package/dist/fields/FlexAlignmentField.d.ts +2 -2
- package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
- package/dist/fields/FlexAlignmentField.js +189 -51
- package/dist/fields/FlexAlignmentField.js.map +1 -1
- package/dist/fields/FolderPickerField.d.ts +8 -1
- package/dist/fields/FolderPickerField.d.ts.map +1 -1
- package/dist/fields/FolderPickerField.js +288 -75
- package/dist/fields/FolderPickerField.js.map +1 -1
- package/dist/fields/GradientEditor.d.ts +2 -2
- package/dist/fields/GradientEditor.d.ts.map +1 -1
- package/dist/fields/GradientEditor.js +462 -86
- package/dist/fields/GradientEditor.js.map +1 -1
- package/dist/fields/LockedField.d.ts +15 -2
- package/dist/fields/LockedField.d.ts.map +1 -1
- package/dist/fields/LockedField.js +180 -49
- package/dist/fields/LockedField.js.map +1 -1
- package/dist/fields/MarginField.d.ts +2 -2
- package/dist/fields/MarginField.d.ts.map +1 -1
- package/dist/fields/MarginField.js +144 -46
- package/dist/fields/MarginField.js.map +1 -1
- package/dist/fields/MediaField.d.ts +1 -1
- package/dist/fields/MediaField.d.ts.map +1 -1
- package/dist/fields/MediaField.js +688 -186
- package/dist/fields/MediaField.js.map +1 -1
- package/dist/fields/PaddingField.d.ts +2 -2
- package/dist/fields/PaddingField.d.ts.map +1 -1
- package/dist/fields/PaddingField.js +144 -46
- package/dist/fields/PaddingField.js.map +1 -1
- package/dist/fields/PageSegmentField.d.ts +15 -2
- package/dist/fields/PageSegmentField.d.ts.map +1 -1
- package/dist/fields/PageSegmentField.js +156 -54
- package/dist/fields/PageSegmentField.js.map +1 -1
- package/dist/fields/ResetField.d.ts +1 -1
- package/dist/fields/ResetField.d.ts.map +1 -1
- package/dist/fields/ResetField.js +59 -31
- package/dist/fields/ResetField.js.map +1 -1
- package/dist/fields/ResponsiveField.d.ts +1 -1
- package/dist/fields/ResponsiveField.d.ts.map +1 -1
- package/dist/fields/ResponsiveField.js +233 -90
- package/dist/fields/ResponsiveField.js.map +1 -1
- package/dist/fields/ResponsiveVisibilityField.d.ts +2 -2
- package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
- package/dist/fields/ResponsiveVisibilityField.js +119 -36
- package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
- package/dist/fields/SizeField.d.ts +3 -3
- package/dist/fields/SizeField.d.ts.map +1 -1
- package/dist/fields/SizeField.js +226 -52
- package/dist/fields/SizeField.js.map +1 -1
- package/dist/fields/SlugPreviewField.d.ts +8 -1
- package/dist/fields/SlugPreviewField.d.ts.map +1 -1
- package/dist/fields/SlugPreviewField.js +65 -16
- package/dist/fields/SlugPreviewField.js.map +1 -1
- package/dist/fields/TemplateField.d.ts +1 -1
- package/dist/fields/TemplateField.d.ts.map +1 -1
- package/dist/fields/TemplateField.js +362 -120
- package/dist/fields/TemplateField.js.map +1 -1
- package/dist/fields/TransformField.d.ts +2 -2
- package/dist/fields/TransformField.d.ts.map +1 -1
- package/dist/fields/TransformField.js +517 -81
- package/dist/fields/TransformField.js.map +1 -1
- package/dist/fields/VerticalAlignmentField.d.ts +1 -1
- package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
- package/dist/fields/VerticalAlignmentField.js +93 -30
- package/dist/fields/VerticalAlignmentField.js.map +1 -1
- package/dist/fields/WidthField.d.ts +2 -2
- package/dist/fields/WidthField.d.ts.map +1 -1
- package/dist/fields/WidthField.js +278 -81
- package/dist/fields/WidthField.js.map +1 -1
- package/dist/fields/index.d.ts +41 -41
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +37 -43
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts +13 -2
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.js +212 -47
- package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
- package/dist/fields/richtext/controls/DropdownPortal.d.ts +2 -2
- package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -1
- package/dist/fields/richtext/controls/DropdownPortal.js +36 -4
- package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -1
- package/dist/fields/richtext/controls/FontSizeControl.d.ts +9 -1
- package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/FontSizeControl.js +109 -24
- package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
- package/dist/fields/richtext/controls/HighlightControl.d.ts +12 -1
- package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/HighlightControl.js +54 -17
- package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
- package/dist/fields/richtext/controls/index.d.ts +5 -5
- package/dist/fields/richtext/controls/index.d.ts.map +1 -1
- package/dist/fields/richtext/controls/index.js +8 -11
- package/dist/fields/richtext/controls/index.js.map +1 -1
- package/dist/fields/richtext/controls/shared.js +108 -63
- package/dist/fields/richtext/controls/shared.js.map +1 -1
- package/dist/fields/richtext/createRichTextField.d.ts +18 -4
- package/dist/fields/richtext/createRichTextField.d.ts.map +1 -1
- package/dist/fields/richtext/createRichTextField.js +113 -26
- package/dist/fields/richtext/createRichTextField.js.map +1 -1
- package/dist/fields/richtext/extensions/FontSize.js +26 -20
- package/dist/fields/richtext/extensions/FontSize.js.map +1 -1
- package/dist/fields/richtext/extensions/index.d.ts +1 -1
- package/dist/fields/richtext/extensions/index.d.ts.map +1 -1
- package/dist/fields/richtext/extensions/index.js +2 -2
- package/dist/fields/richtext/extensions/index.js.map +1 -1
- package/dist/fields/richtext/index.d.ts +6 -6
- package/dist/fields/richtext/index.d.ts.map +1 -1
- package/dist/fields/richtext/index.js +8 -8
- package/dist/fields/richtext/index.js.map +1 -1
- package/dist/fields/shared.d.ts +1 -1
- package/dist/fields/shared.d.ts.map +1 -1
- package/dist/fields/shared.js +915 -478
- package/dist/fields/shared.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useResponsiveStyles.d.ts +1 -1
- package/dist/hooks/useResponsiveStyles.d.ts.map +1 -1
- package/dist/hooks/useResponsiveStyles.js +36 -32
- package/dist/hooks/useResponsiveStyles.js.map +1 -1
- package/dist/hooks/useScrollAnimation.js +26 -24
- package/dist/hooks/useScrollAnimation.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/layouts/LayoutWrapper.d.ts +3 -3
- package/dist/layouts/LayoutWrapper.d.ts.map +1 -1
- package/dist/layouts/LayoutWrapper.js +115 -51
- package/dist/layouts/LayoutWrapper.js.map +1 -1
- package/dist/layouts/defaults.d.ts +1 -1
- package/dist/layouts/defaults.d.ts.map +1 -1
- package/dist/layouts/defaults.js +23 -31
- package/dist/layouts/defaults.js.map +1 -1
- package/dist/layouts/index.d.ts +4 -4
- package/dist/layouts/index.d.ts.map +1 -1
- package/dist/layouts/index.js +5 -4
- package/dist/layouts/index.js.map +1 -1
- package/dist/layouts/types.js +4 -2
- package/dist/layouts/types.js.map +1 -1
- package/dist/layouts/utils.d.ts +1 -1
- package/dist/layouts/utils.d.ts.map +1 -1
- package/dist/layouts/utils.js +32 -40
- package/dist/layouts/utils.js.map +1 -1
- package/dist/next/index.js +31 -34
- package/dist/next/index.js.map +1 -1
- package/dist/plugin/collections/Pages.d.ts +2 -2
- package/dist/plugin/collections/Pages.d.ts.map +1 -1
- package/dist/plugin/collections/Pages.js +46 -43
- package/dist/plugin/collections/Pages.js.map +1 -1
- package/dist/plugin/fields/index.d.ts +3 -3
- package/dist/plugin/fields/index.d.ts.map +1 -1
- package/dist/plugin/fields/index.js +100 -78
- package/dist/plugin/fields/index.js.map +1 -1
- package/dist/plugin/fields/types.d.ts +1 -1
- package/dist/plugin/fields/types.d.ts.map +1 -1
- package/dist/plugin/fields/types.js +26 -2
- package/dist/plugin/fields/types.js.map +1 -1
- package/dist/plugin/hooks/index.d.ts +1 -1
- package/dist/plugin/hooks/index.d.ts.map +1 -1
- package/dist/plugin/hooks/index.js +2 -2
- package/dist/plugin/hooks/index.js.map +1 -1
- package/dist/plugin/hooks/isHomepageUnique.js +28 -19
- package/dist/plugin/hooks/isHomepageUnique.js.map +1 -1
- package/dist/plugin/index.d.ts +8 -8
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +192 -188
- package/dist/plugin/index.js.map +1 -1
- package/dist/render/HybridPageRenderer.d.ts +2 -2
- package/dist/render/HybridPageRenderer.d.ts.map +1 -1
- package/dist/render/HybridPageRenderer.js +58 -10
- package/dist/render/HybridPageRenderer.js.map +1 -1
- package/dist/render/PageRenderer.d.ts +2 -2
- package/dist/render/PageRenderer.d.ts.map +1 -1
- package/dist/render/PageRenderer.js +31 -14
- package/dist/render/PageRenderer.js.map +1 -1
- package/dist/render/PuckEditor.client.d.ts +1 -1
- package/dist/render/PuckEditor.client.d.ts.map +1 -1
- package/dist/render/PuckEditor.client.js +33 -16
- package/dist/render/PuckEditor.client.js.map +1 -1
- package/dist/render/index.d.ts +5 -5
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +5 -6
- package/dist/render/index.js.map +1 -1
- package/dist/styles/puck-dark-mode.css +101 -0
- package/dist/theme/context.d.ts +2 -2
- package/dist/theme/context.d.ts.map +1 -1
- package/dist/theme/context.js +21 -18
- package/dist/theme/context.js.map +1 -1
- package/dist/theme/defaults.d.ts +1 -1
- package/dist/theme/defaults.d.ts.map +1 -1
- package/dist/theme/defaults.js +83 -37
- package/dist/theme/defaults.js.map +1 -1
- package/dist/theme/example.d.ts +1 -1
- package/dist/theme/example.d.ts.map +1 -1
- package/dist/theme/example.js +68 -30
- package/dist/theme/example.js.map +1 -1
- package/dist/theme/index.d.ts +5 -5
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +6 -5
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/types.js +6 -2
- package/dist/theme/types.js.map +1 -1
- package/dist/theme/utils.d.ts +1 -1
- package/dist/theme/utils.d.ts.map +1 -1
- package/dist/theme/utils.js +24 -25
- package/dist/theme/utils.js.map +1 -1
- package/dist/types/index.d.ts +42 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +13 -22
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/migration.d.ts +1 -1
- package/dist/utils/migration.d.ts.map +1 -1
- package/dist/utils/migration.js +43 -49
- package/dist/utils/migration.js.map +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +36 -43
- package/dist/utils/validation.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/dist/views/PuckConfigContext.d.ts +1 -1
- package/dist/views/PuckConfigContext.d.ts.map +1 -1
- package/dist/views/PuckConfigContext.js +25 -10
- package/dist/views/PuckConfigContext.js.map +1 -1
- package/dist/views/PuckEditorView.d.ts +1 -1
- package/dist/views/PuckEditorView.d.ts.map +1 -1
- package/dist/views/PuckEditorView.js +137 -41
- package/dist/views/PuckEditorView.js.map +1 -1
- package/dist/views/index.js +2 -2
- package/dist/views/index.js.map +1 -1
- package/package.json +62 -42
package/dist/plugin/index.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import { generatePagesCollection } from './collections/Pages';
|
|
2
|
-
import { TemplatesCollection } from '../collections/Templates';
|
|
1
|
+
import { generatePagesCollection } from './collections/Pages.js';
|
|
2
|
+
import { TemplatesCollection } from '../collections/Templates.js';
|
|
3
3
|
import { AiPromptsCollection } from '../ai/collections/AiPrompts.js';
|
|
4
4
|
import { AiContextCollection } from '../ai/collections/AiContext.js';
|
|
5
|
-
import { getPuckFields } from './fields';
|
|
6
|
-
import { createIsHomepageUniqueHook } from './hooks/isHomepageUnique';
|
|
7
|
-
import { createListHandler, createCreateHandler, createGetHandler, createUpdateHandler, createDeleteHandler, createVersionsHandler, createRestoreHandler
|
|
5
|
+
import { getPuckFields } from './fields/index.js';
|
|
6
|
+
import { createIsHomepageUniqueHook } from './hooks/isHomepageUnique.js';
|
|
7
|
+
import { createListHandler, createCreateHandler, createGetHandler, createUpdateHandler, createDeleteHandler, createVersionsHandler, createRestoreHandler } from '../endpoints/index.js';
|
|
8
8
|
import { createStylesHandler, PUCK_STYLES_ENDPOINT } from '../endpoints/styles.js';
|
|
9
9
|
import { createAiEndpointHandler } from '../endpoints/ai.js';
|
|
10
|
-
import { createPromptsListHandler, createPromptsCreateHandler, createPromptsUpdateHandler, createPromptsDeleteHandler
|
|
11
|
-
import { createContextListHandler, createContextCreateHandler, createContextUpdateHandler, createContextDeleteHandler
|
|
10
|
+
import { createPromptsListHandler, createPromptsCreateHandler, createPromptsUpdateHandler, createPromptsDeleteHandler } from '../endpoints/prompts.js';
|
|
11
|
+
import { createContextListHandler, createContextCreateHandler, createContextUpdateHandler, createContextDeleteHandler } from '../endpoints/context.js';
|
|
12
12
|
/**
|
|
13
13
|
* Get all field names from a collection's fields array (including nested group fields and tabs)
|
|
14
|
-
*/
|
|
15
|
-
function getExistingFieldNames(fields) {
|
|
14
|
+
*/ function getExistingFieldNames(fields) {
|
|
16
15
|
const names = new Set();
|
|
17
16
|
function addFieldNames(fieldsToCheck) {
|
|
18
|
-
for (const field of fieldsToCheck)
|
|
17
|
+
for (const field of fieldsToCheck){
|
|
19
18
|
// Add the field name if it has one
|
|
20
19
|
if ('name' in field && field.name) {
|
|
21
20
|
names.add(field.name);
|
|
@@ -26,7 +25,7 @@ function getExistingFieldNames(fields) {
|
|
|
26
25
|
}
|
|
27
26
|
// Check fields inside tabs
|
|
28
27
|
if (field.type === 'tabs' && 'tabs' in field && Array.isArray(field.tabs)) {
|
|
29
|
-
for (const tab of field.tabs)
|
|
28
|
+
for (const tab of field.tabs){
|
|
30
29
|
if ('fields' in tab && Array.isArray(tab.fields)) {
|
|
31
30
|
addFieldNames(tab.fields);
|
|
32
31
|
}
|
|
@@ -39,38 +38,38 @@ function getExistingFieldNames(fields) {
|
|
|
39
38
|
}
|
|
40
39
|
/**
|
|
41
40
|
* Filter out fields that already exist in the target collection
|
|
42
|
-
*/
|
|
43
|
-
|
|
44
|
-
return fieldsToAdd.filter((field) => {
|
|
41
|
+
*/ function filterExistingFields(fieldsToAdd, existingNames) {
|
|
42
|
+
return fieldsToAdd.filter((field)=>{
|
|
45
43
|
if ('name' in field && field.name) {
|
|
46
44
|
return !existingNames.has(field.name);
|
|
47
45
|
}
|
|
48
|
-
return true
|
|
46
|
+
return true // Keep fields without names (like UI fields)
|
|
47
|
+
;
|
|
49
48
|
});
|
|
50
49
|
}
|
|
51
50
|
/**
|
|
52
51
|
* Generates the UI field configuration for the Edit with Puck button
|
|
53
|
-
*/
|
|
54
|
-
|
|
55
|
-
const { editorPathPattern = '/pages/{id}/edit', buttonLabel = 'Visual Editor', buttonPosition, // undefined = main area (default), 'sidebar' = sidebar
|
|
56
|
-
} = adminConfig;
|
|
52
|
+
*/ function generatePuckEditField(collectionSlug, adminConfig = {}) {
|
|
53
|
+
const { editorPathPattern = '/pages/{id}/edit', buttonLabel = 'Visual Editor', buttonPosition } = adminConfig;
|
|
57
54
|
return {
|
|
58
55
|
name: 'puckEdit',
|
|
59
56
|
type: 'ui',
|
|
60
57
|
admin: {
|
|
61
58
|
// Only set position if explicitly specified (sidebar)
|
|
62
59
|
// undefined means main form area in Payload
|
|
63
|
-
...
|
|
60
|
+
...buttonPosition && {
|
|
61
|
+
position: buttonPosition
|
|
62
|
+
},
|
|
64
63
|
components: {
|
|
65
64
|
Field: '@delmaredigital/payload-puck/admin/client#EditWithPuckButton',
|
|
66
|
-
Cell: '@delmaredigital/payload-puck/admin/client#EditWithPuckCell'
|
|
65
|
+
Cell: '@delmaredigital/payload-puck/admin/client#EditWithPuckCell'
|
|
67
66
|
},
|
|
68
67
|
custom: {
|
|
69
68
|
collectionSlug,
|
|
70
69
|
editorPathPattern,
|
|
71
|
-
label: buttonLabel
|
|
72
|
-
}
|
|
73
|
-
}
|
|
70
|
+
label: buttonLabel
|
|
71
|
+
}
|
|
72
|
+
}
|
|
74
73
|
};
|
|
75
74
|
}
|
|
76
75
|
/**
|
|
@@ -105,10 +104,8 @@ function generatePuckEditField(collectionSlug, adminConfig = {}) {
|
|
|
105
104
|
* ],
|
|
106
105
|
* })
|
|
107
106
|
* ```
|
|
108
|
-
*/
|
|
109
|
-
|
|
110
|
-
const { pagesCollection = 'pages', autoGenerateCollection = true, admin: pluginAdminConfig = {}, enableAdminView = true, adminViewPath = '/puck-editor', enableEndpoints = true, pageTreeIntegration, // No default - undefined means auto-detect
|
|
111
|
-
editorStylesheet, editorStylesheetUrls = [], editorStylesheetCompiled, ai: aiConfig, } = options;
|
|
107
|
+
*/ export function createPuckPlugin(options = {}) {
|
|
108
|
+
const { pagesCollection = 'pages', autoGenerateCollection = true, admin: pluginAdminConfig = {}, enableAdminView = true, adminViewPath = '/puck-editor', enableEndpoints = true, pageTreeIntegration, editorStylesheet, editorStylesheetUrls = [], editorStylesheetCompiled, ai: aiConfig, previewUrl } = options;
|
|
112
109
|
const { addEditButton = true } = pluginAdminConfig;
|
|
113
110
|
// Parse page-tree integration config
|
|
114
111
|
// - undefined: auto-detect at runtime (null stored, view will check for pageSegment field)
|
|
@@ -119,58 +116,64 @@ export function createPuckPlugin(options = {}) {
|
|
|
119
116
|
if (pageTreeIntegration === undefined) {
|
|
120
117
|
// Not specified - store null to trigger auto-detection in the view
|
|
121
118
|
pageTreeConfig = null;
|
|
122
|
-
}
|
|
123
|
-
else if (pageTreeIntegration === false) {
|
|
119
|
+
} else if (pageTreeIntegration === false) {
|
|
124
120
|
// Explicitly disabled - store false to prevent auto-detection
|
|
125
121
|
pageTreeConfig = false;
|
|
126
|
-
}
|
|
127
|
-
else if (pageTreeIntegration === true) {
|
|
122
|
+
} else if (pageTreeIntegration === true) {
|
|
128
123
|
// Explicitly enabled with defaults
|
|
129
124
|
pageTreeConfig = {
|
|
130
125
|
folderSlug: 'payload-folders',
|
|
131
126
|
segmentFieldName: 'pathSegment',
|
|
132
127
|
pageSegmentFieldName: 'pageSegment',
|
|
133
|
-
folderFieldName: 'folder'
|
|
128
|
+
folderFieldName: 'folder'
|
|
134
129
|
};
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
130
|
+
} else {
|
|
137
131
|
// Custom config object
|
|
138
132
|
pageTreeConfig = {
|
|
139
133
|
folderSlug: pageTreeIntegration.folderSlug ?? 'payload-folders',
|
|
140
134
|
segmentFieldName: pageTreeIntegration.segmentFieldName ?? 'pathSegment',
|
|
141
135
|
pageSegmentFieldName: pageTreeIntegration.pageSegmentFieldName ?? 'pageSegment',
|
|
142
|
-
folderFieldName: pageTreeIntegration.folderFieldName ?? 'folder'
|
|
136
|
+
folderFieldName: pageTreeIntegration.folderFieldName ?? 'folder'
|
|
143
137
|
};
|
|
144
138
|
}
|
|
145
|
-
return (incomingConfig)
|
|
139
|
+
return (incomingConfig)=>{
|
|
146
140
|
// Generate Pages collection if auto-generate is enabled
|
|
147
141
|
let collections = incomingConfig.collections || [];
|
|
148
142
|
// Always add the Templates collection if it doesn't exist
|
|
149
|
-
const templatesCollectionExists = collections.some((c)
|
|
143
|
+
const templatesCollectionExists = collections.some((c)=>c.slug === 'puck-templates');
|
|
150
144
|
if (!templatesCollectionExists) {
|
|
151
|
-
collections = [
|
|
145
|
+
collections = [
|
|
146
|
+
...collections,
|
|
147
|
+
TemplatesCollection
|
|
148
|
+
];
|
|
152
149
|
}
|
|
153
150
|
// Add AI Prompts collection if AI is enabled with promptsCollection
|
|
154
151
|
if (aiConfig?.enabled && aiConfig?.promptsCollection) {
|
|
155
|
-
const aiPromptsExists = collections.some((c)
|
|
152
|
+
const aiPromptsExists = collections.some((c)=>c.slug === 'puck-ai-prompts');
|
|
156
153
|
if (!aiPromptsExists) {
|
|
157
|
-
collections = [
|
|
154
|
+
collections = [
|
|
155
|
+
...collections,
|
|
156
|
+
AiPromptsCollection
|
|
157
|
+
];
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
// Add AI Context collection if AI is enabled with contextCollection
|
|
161
161
|
if (aiConfig?.enabled && aiConfig?.contextCollection) {
|
|
162
|
-
const aiContextExists = collections.some((c)
|
|
162
|
+
const aiContextExists = collections.some((c)=>c.slug === 'puck-ai-context');
|
|
163
163
|
if (!aiContextExists) {
|
|
164
|
-
collections = [
|
|
164
|
+
collections = [
|
|
165
|
+
...collections,
|
|
166
|
+
AiContextCollection
|
|
167
|
+
];
|
|
165
168
|
}
|
|
166
169
|
}
|
|
167
170
|
if (autoGenerateCollection) {
|
|
168
171
|
// Check if collection already exists
|
|
169
|
-
const existingCollectionIndex = collections.findIndex((c)
|
|
172
|
+
const existingCollectionIndex = collections.findIndex((c)=>c.slug === pagesCollection);
|
|
170
173
|
// Generate the edit button field if enabled
|
|
171
|
-
const editButtonField = addEditButton
|
|
172
|
-
|
|
173
|
-
|
|
174
|
+
const editButtonField = addEditButton ? [
|
|
175
|
+
generatePuckEditField(pagesCollection, pluginAdminConfig)
|
|
176
|
+
] : [];
|
|
174
177
|
if (existingCollectionIndex >= 0) {
|
|
175
178
|
// Collection exists - only add Puck fields that don't already exist
|
|
176
179
|
const existingCollection = collections[existingCollectionIndex];
|
|
@@ -186,7 +189,7 @@ export function createPuckPlugin(options = {}) {
|
|
|
186
189
|
includeEditorVersion: !existingFieldNames.has('editorVersion'),
|
|
187
190
|
includePageLayout: !existingFieldNames.has('pageLayout'),
|
|
188
191
|
includeIsHomepage: shouldAddIsHomepage,
|
|
189
|
-
layouts: options.layouts
|
|
192
|
+
layouts: options.layouts
|
|
190
193
|
});
|
|
191
194
|
// Filter out any remaining duplicates (e.g., puckData if user already has it)
|
|
192
195
|
const fieldsToAdd = filterExistingFields(puckFields, existingFieldNames);
|
|
@@ -194,48 +197,51 @@ export function createPuckPlugin(options = {}) {
|
|
|
194
197
|
const editFieldsToAdd = existingFieldNames.has('puckEdit') ? [] : editButtonField;
|
|
195
198
|
// Merge hooks - add isHomepage uniqueness hook if we're adding the field
|
|
196
199
|
const existingHooks = existingCollection.hooks || {};
|
|
197
|
-
const mergedHooks = shouldAddIsHomepage
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
}
|
|
205
|
-
: existingHooks;
|
|
200
|
+
const mergedHooks = shouldAddIsHomepage ? {
|
|
201
|
+
...existingHooks,
|
|
202
|
+
beforeChange: [
|
|
203
|
+
createIsHomepageUniqueHook(),
|
|
204
|
+
...existingHooks.beforeChange ?? []
|
|
205
|
+
]
|
|
206
|
+
} : existingHooks;
|
|
206
207
|
collections = [
|
|
207
208
|
...collections.slice(0, existingCollectionIndex),
|
|
208
209
|
{
|
|
209
210
|
...existingCollection,
|
|
210
211
|
// Ensure drafts are enabled for Puck
|
|
211
|
-
versions: typeof existingCollection.versions === 'object'
|
|
212
|
-
|
|
213
|
-
|
|
212
|
+
versions: typeof existingCollection.versions === 'object' ? {
|
|
213
|
+
drafts: true,
|
|
214
|
+
...existingCollection.versions
|
|
215
|
+
} : existingCollection.versions ?? {
|
|
216
|
+
drafts: true
|
|
217
|
+
},
|
|
214
218
|
hooks: mergedHooks,
|
|
215
219
|
fields: [
|
|
216
220
|
...existingFields,
|
|
217
221
|
...fieldsToAdd,
|
|
218
|
-
...editFieldsToAdd
|
|
219
|
-
]
|
|
222
|
+
...editFieldsToAdd
|
|
223
|
+
]
|
|
220
224
|
},
|
|
221
|
-
...collections.slice(existingCollectionIndex + 1)
|
|
225
|
+
...collections.slice(existingCollectionIndex + 1)
|
|
222
226
|
];
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
227
|
+
} else {
|
|
225
228
|
// Add new collection with edit button field
|
|
226
229
|
const generatedCollection = generatePagesCollection(pagesCollection, options);
|
|
227
230
|
collections = [
|
|
228
231
|
...collections,
|
|
229
232
|
{
|
|
230
233
|
...generatedCollection,
|
|
231
|
-
fields: [
|
|
232
|
-
|
|
234
|
+
fields: [
|
|
235
|
+
...generatedCollection.fields,
|
|
236
|
+
...editButtonField
|
|
237
|
+
]
|
|
238
|
+
}
|
|
233
239
|
];
|
|
234
240
|
}
|
|
235
241
|
}
|
|
236
242
|
// Build the admin config with view registration
|
|
237
243
|
const payloadAdminConfig = {
|
|
238
|
-
...incomingConfig.admin
|
|
244
|
+
...incomingConfig.admin
|
|
239
245
|
};
|
|
240
246
|
// Register the Puck editor admin view if enabled
|
|
241
247
|
if (enableAdminView) {
|
|
@@ -245,138 +251,135 @@ export function createPuckPlugin(options = {}) {
|
|
|
245
251
|
...payloadAdminConfig.components?.views,
|
|
246
252
|
puckEditor: {
|
|
247
253
|
Component: '@delmaredigital/payload-puck/rsc#PuckEditorView',
|
|
248
|
-
path: `${adminViewPath}/:segments
|
|
249
|
-
}
|
|
250
|
-
}
|
|
254
|
+
path: `${adminViewPath}/:segments*`
|
|
255
|
+
}
|
|
256
|
+
}
|
|
251
257
|
};
|
|
252
258
|
}
|
|
253
259
|
// Register API endpoints if enabled
|
|
254
|
-
const puckCollections = [
|
|
255
|
-
|
|
260
|
+
const puckCollections = [
|
|
261
|
+
pagesCollection
|
|
262
|
+
];
|
|
263
|
+
const endpointOptions = {
|
|
264
|
+
collections: puckCollections
|
|
265
|
+
};
|
|
256
266
|
// Build styles endpoint URL list for PuckConfigProvider
|
|
257
267
|
// In production, prefer the pre-compiled static CSS file if provided
|
|
258
268
|
// In development, use runtime compilation endpoint for hot reload
|
|
259
269
|
const isProduction = process.env.NODE_ENV === 'production';
|
|
260
270
|
const useCompiledCss = isProduction && editorStylesheetCompiled;
|
|
261
271
|
const editorStylesheets = [
|
|
262
|
-
...
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
...editorStylesheetUrls
|
|
272
|
+
...useCompiledCss ? [
|
|
273
|
+
editorStylesheetCompiled
|
|
274
|
+
] : editorStylesheet ? [
|
|
275
|
+
PUCK_STYLES_ENDPOINT
|
|
276
|
+
] : [],
|
|
277
|
+
...editorStylesheetUrls
|
|
268
278
|
];
|
|
269
|
-
const endpoints = enableEndpoints
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
...(editorStylesheet
|
|
274
|
-
? [
|
|
275
|
-
{
|
|
276
|
-
path: '/puck/styles',
|
|
277
|
-
method: 'get',
|
|
278
|
-
handler: createStylesHandler(editorStylesheet),
|
|
279
|
-
},
|
|
280
|
-
]
|
|
281
|
-
: []),
|
|
282
|
-
// AI endpoint (exact match, before parameterized routes)
|
|
283
|
-
...(aiConfig?.enabled
|
|
284
|
-
? [
|
|
285
|
-
{
|
|
286
|
-
path: '/puck/ai',
|
|
287
|
-
method: 'post',
|
|
288
|
-
handler: createAiEndpointHandler({ context: aiConfig.context, tools: aiConfig.tools }),
|
|
289
|
-
},
|
|
290
|
-
]
|
|
291
|
-
: []),
|
|
292
|
-
// AI Prompts CRUD endpoints (exact match, before parameterized routes)
|
|
293
|
-
...(aiConfig?.enabled && aiConfig?.promptsCollection
|
|
294
|
-
? [
|
|
295
|
-
{
|
|
296
|
-
path: '/puck/ai-prompts',
|
|
297
|
-
method: 'get',
|
|
298
|
-
handler: createPromptsListHandler(),
|
|
299
|
-
},
|
|
300
|
-
{
|
|
301
|
-
path: '/puck/ai-prompts',
|
|
302
|
-
method: 'post',
|
|
303
|
-
handler: createPromptsCreateHandler(),
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
path: '/puck/ai-prompts/:id',
|
|
307
|
-
method: 'patch',
|
|
308
|
-
handler: createPromptsUpdateHandler(),
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
path: '/puck/ai-prompts/:id',
|
|
312
|
-
method: 'delete',
|
|
313
|
-
handler: createPromptsDeleteHandler(),
|
|
314
|
-
},
|
|
315
|
-
]
|
|
316
|
-
: []),
|
|
317
|
-
// AI Context CRUD endpoints (exact match, before parameterized routes)
|
|
318
|
-
...(aiConfig?.enabled && aiConfig?.contextCollection
|
|
319
|
-
? [
|
|
320
|
-
{
|
|
321
|
-
path: '/puck/ai-context',
|
|
322
|
-
method: 'get',
|
|
323
|
-
handler: createContextListHandler(),
|
|
324
|
-
},
|
|
325
|
-
{
|
|
326
|
-
path: '/puck/ai-context',
|
|
327
|
-
method: 'post',
|
|
328
|
-
handler: createContextCreateHandler(),
|
|
329
|
-
},
|
|
330
|
-
{
|
|
331
|
-
path: '/puck/ai-context/:id',
|
|
332
|
-
method: 'patch',
|
|
333
|
-
handler: createContextUpdateHandler(),
|
|
334
|
-
},
|
|
335
|
-
{
|
|
336
|
-
path: '/puck/ai-context/:id',
|
|
337
|
-
method: 'delete',
|
|
338
|
-
handler: createContextDeleteHandler(),
|
|
339
|
-
},
|
|
340
|
-
]
|
|
341
|
-
: []),
|
|
342
|
-
// Collection endpoints (parameterized routes)
|
|
279
|
+
const endpoints = enableEndpoints ? [
|
|
280
|
+
...incomingConfig.endpoints || [],
|
|
281
|
+
// Styles endpoint MUST be first - exact match before parameterized routes
|
|
282
|
+
...editorStylesheet ? [
|
|
343
283
|
{
|
|
344
|
-
path: '/puck
|
|
284
|
+
path: '/puck/styles',
|
|
345
285
|
method: 'get',
|
|
346
|
-
handler:
|
|
347
|
-
}
|
|
286
|
+
handler: createStylesHandler(editorStylesheet)
|
|
287
|
+
}
|
|
288
|
+
] : [],
|
|
289
|
+
// AI endpoint (exact match, before parameterized routes)
|
|
290
|
+
...aiConfig?.enabled ? [
|
|
348
291
|
{
|
|
349
|
-
path: '/puck
|
|
292
|
+
path: '/puck/ai',
|
|
350
293
|
method: 'post',
|
|
351
|
-
handler:
|
|
352
|
-
|
|
294
|
+
handler: createAiEndpointHandler({
|
|
295
|
+
context: aiConfig.context,
|
|
296
|
+
tools: aiConfig.tools
|
|
297
|
+
})
|
|
298
|
+
}
|
|
299
|
+
] : [],
|
|
300
|
+
// AI Prompts CRUD endpoints (exact match, before parameterized routes)
|
|
301
|
+
...aiConfig?.enabled && aiConfig?.promptsCollection ? [
|
|
353
302
|
{
|
|
354
|
-
path: '/puck
|
|
303
|
+
path: '/puck/ai-prompts',
|
|
355
304
|
method: 'get',
|
|
356
|
-
handler:
|
|
305
|
+
handler: createPromptsListHandler()
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
path: '/puck/ai-prompts',
|
|
309
|
+
method: 'post',
|
|
310
|
+
handler: createPromptsCreateHandler()
|
|
357
311
|
},
|
|
358
312
|
{
|
|
359
|
-
path: '/puck/:
|
|
313
|
+
path: '/puck/ai-prompts/:id',
|
|
360
314
|
method: 'patch',
|
|
361
|
-
handler:
|
|
315
|
+
handler: createPromptsUpdateHandler()
|
|
362
316
|
},
|
|
363
317
|
{
|
|
364
|
-
path: '/puck/:
|
|
318
|
+
path: '/puck/ai-prompts/:id',
|
|
365
319
|
method: 'delete',
|
|
366
|
-
handler:
|
|
367
|
-
}
|
|
320
|
+
handler: createPromptsDeleteHandler()
|
|
321
|
+
}
|
|
322
|
+
] : [],
|
|
323
|
+
// AI Context CRUD endpoints (exact match, before parameterized routes)
|
|
324
|
+
...aiConfig?.enabled && aiConfig?.contextCollection ? [
|
|
368
325
|
{
|
|
369
|
-
path: '/puck
|
|
326
|
+
path: '/puck/ai-context',
|
|
370
327
|
method: 'get',
|
|
371
|
-
handler:
|
|
328
|
+
handler: createContextListHandler()
|
|
372
329
|
},
|
|
373
330
|
{
|
|
374
|
-
path: '/puck
|
|
331
|
+
path: '/puck/ai-context',
|
|
375
332
|
method: 'post',
|
|
376
|
-
handler:
|
|
333
|
+
handler: createContextCreateHandler()
|
|
377
334
|
},
|
|
378
|
-
|
|
379
|
-
|
|
335
|
+
{
|
|
336
|
+
path: '/puck/ai-context/:id',
|
|
337
|
+
method: 'patch',
|
|
338
|
+
handler: createContextUpdateHandler()
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
path: '/puck/ai-context/:id',
|
|
342
|
+
method: 'delete',
|
|
343
|
+
handler: createContextDeleteHandler()
|
|
344
|
+
}
|
|
345
|
+
] : [],
|
|
346
|
+
// Collection endpoints (parameterized routes)
|
|
347
|
+
{
|
|
348
|
+
path: '/puck/:collection',
|
|
349
|
+
method: 'get',
|
|
350
|
+
handler: createListHandler(endpointOptions)
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
path: '/puck/:collection',
|
|
354
|
+
method: 'post',
|
|
355
|
+
handler: createCreateHandler(endpointOptions)
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
path: '/puck/:collection/:id',
|
|
359
|
+
method: 'get',
|
|
360
|
+
handler: createGetHandler(endpointOptions)
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
path: '/puck/:collection/:id',
|
|
364
|
+
method: 'patch',
|
|
365
|
+
handler: createUpdateHandler(endpointOptions)
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
path: '/puck/:collection/:id',
|
|
369
|
+
method: 'delete',
|
|
370
|
+
handler: createDeleteHandler(endpointOptions)
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
path: '/puck/:collection/:id/versions',
|
|
374
|
+
method: 'get',
|
|
375
|
+
handler: createVersionsHandler(endpointOptions)
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
path: '/puck/:collection/:id/restore',
|
|
379
|
+
method: 'post',
|
|
380
|
+
handler: createRestoreHandler(endpointOptions)
|
|
381
|
+
}
|
|
382
|
+
] : incomingConfig.endpoints || [];
|
|
380
383
|
return {
|
|
381
384
|
...incomingConfig,
|
|
382
385
|
admin: payloadAdminConfig,
|
|
@@ -392,36 +395,37 @@ export function createPuckPlugin(options = {}) {
|
|
|
392
395
|
pageTree: pageTreeConfig,
|
|
393
396
|
// Editor stylesheets for iframe
|
|
394
397
|
editorStylesheets: editorStylesheets.length > 0 ? editorStylesheets : undefined,
|
|
398
|
+
// Preview URL configuration
|
|
399
|
+
previewUrl,
|
|
395
400
|
// AI configuration
|
|
396
|
-
ai: aiConfig?.enabled
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
: undefined,
|
|
405
|
-
},
|
|
401
|
+
ai: aiConfig?.enabled ? {
|
|
402
|
+
enabled: true,
|
|
403
|
+
context: aiConfig.context,
|
|
404
|
+
examplePrompts: aiConfig.examplePrompts,
|
|
405
|
+
promptsCollection: aiConfig.promptsCollection,
|
|
406
|
+
contextCollection: aiConfig.contextCollection
|
|
407
|
+
} : undefined
|
|
408
|
+
}
|
|
406
409
|
},
|
|
407
|
-
onInit: async (payload)
|
|
410
|
+
onInit: async (payload)=>{
|
|
408
411
|
// Call existing onInit if present
|
|
409
412
|
if (incomingConfig.onInit) {
|
|
410
413
|
await incomingConfig.onInit(payload);
|
|
411
414
|
}
|
|
412
|
-
}
|
|
415
|
+
}
|
|
413
416
|
};
|
|
414
417
|
};
|
|
415
418
|
}
|
|
416
419
|
// Re-export collection utilities
|
|
417
|
-
export { generatePagesCollection } from './collections/Pages';
|
|
418
|
-
export { TemplatesCollection } from '../collections/Templates';
|
|
420
|
+
export { generatePagesCollection } from './collections/Pages.js';
|
|
421
|
+
export { TemplatesCollection } from '../collections/Templates.js';
|
|
419
422
|
// Re-export field utilities for hybrid collection integration
|
|
420
|
-
export { getPuckFields, getPuckCollectionConfig, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup
|
|
423
|
+
export { getPuckFields, getPuckCollectionConfig, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup } from './fields/index.js';
|
|
421
424
|
// Export the edit button generator for hybrid collections
|
|
422
425
|
export { generatePuckEditField };
|
|
423
426
|
// Export styles endpoint constant
|
|
424
427
|
export { PUCK_STYLES_ENDPOINT } from '../endpoints/styles.js';
|
|
425
428
|
// Re-export hooks for hybrid collection integration
|
|
426
|
-
export { createIsHomepageUniqueHook, unsetHomepage, HomepageConflictError
|
|
429
|
+
export { createIsHomepageUniqueHook, unsetHomepage, HomepageConflictError } from './hooks/index.js';
|
|
430
|
+
|
|
427
431
|
//# sourceMappingURL=index.js.map
|