@delmaredigital/payload-puck 0.6.10 → 0.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -1
- package/dist/admin/EditWithPuckButton.d.ts +1 -1
- package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
- package/dist/admin/EditWithPuckButton.js +65 -25
- package/dist/admin/EditWithPuckButton.js.map +1 -1
- package/dist/admin/EditWithPuckCell.js +43 -13
- package/dist/admin/EditWithPuckCell.js.map +1 -1
- package/dist/admin/PuckEditorView.d.ts +1 -1
- package/dist/admin/PuckEditorView.d.ts.map +1 -1
- package/dist/admin/PuckEditorView.js +118 -32
- package/dist/admin/PuckEditorView.js.map +1 -1
- package/dist/admin/client.d.ts +2 -2
- package/dist/admin/client.d.ts.map +1 -1
- package/dist/admin/client.js +4 -4
- package/dist/admin/client.js.map +1 -1
- package/dist/admin/generateAdminComponents.js +7 -7
- package/dist/admin/generateAdminComponents.js.map +1 -1
- package/dist/admin/index.d.ts +5 -5
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +3 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/ai/collections/AiContext.js +56 -29
- package/dist/ai/collections/AiContext.js.map +1 -1
- package/dist/ai/collections/AiPrompts.js +24 -19
- package/dist/ai/collections/AiPrompts.js.map +1 -1
- package/dist/ai/createAiApiRoutes.js +28 -19
- package/dist/ai/createAiApiRoutes.js.map +1 -1
- package/dist/ai/createAiGenerate.js +7 -8
- package/dist/ai/createAiGenerate.js.map +1 -1
- package/dist/ai/createAiPlugin.js +7 -9
- package/dist/ai/createAiPlugin.js.map +1 -1
- package/dist/ai/hooks/useAiContext.js +50 -39
- package/dist/ai/hooks/useAiContext.js.map +1 -1
- package/dist/ai/hooks/useAiPrompts.js +33 -25
- package/dist/ai/hooks/useAiPrompts.js.map +1 -1
- package/dist/ai/index.js +9 -10
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/plugins/ContextEditorPanel.d.ts +1 -1
- package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -1
- package/dist/ai/plugins/ContextEditorPanel.js +399 -107
- package/dist/ai/plugins/ContextEditorPanel.js.map +1 -1
- package/dist/ai/plugins/PromptEditorPanel.d.ts +1 -1
- package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -1
- package/dist/ai/plugins/PromptEditorPanel.js +237 -51
- package/dist/ai/plugins/PromptEditorPanel.js.map +1 -1
- package/dist/ai/plugins/contextEditorPlugin.js +12 -5
- package/dist/ai/plugins/contextEditorPlugin.js.map +1 -1
- package/dist/ai/plugins/promptApiRoutes.js +119 -50
- package/dist/ai/plugins/promptApiRoutes.js.map +1 -1
- package/dist/ai/plugins/promptEditorPlugin.js +12 -5
- package/dist/ai/plugins/promptEditorPlugin.js.map +1 -1
- package/dist/ai/presets/componentAiDefaults.js +108 -83
- package/dist/ai/presets/componentAiDefaults.js.map +1 -1
- package/dist/ai/presets/index.js +12 -18
- package/dist/ai/presets/index.js.map +1 -1
- package/dist/ai/presets/instructions/interactive.js +85 -75
- package/dist/ai/presets/instructions/interactive.js.map +1 -1
- package/dist/ai/presets/instructions/layout.js +122 -117
- package/dist/ai/presets/instructions/layout.js.map +1 -1
- package/dist/ai/presets/instructions/media.js +31 -29
- package/dist/ai/presets/instructions/media.js.map +1 -1
- package/dist/ai/presets/instructions/pagePatterns.js +4 -6
- package/dist/ai/presets/instructions/pagePatterns.js.map +1 -1
- package/dist/ai/presets/instructions/schemas.js +495 -137
- package/dist/ai/presets/instructions/schemas.js.map +1 -1
- package/dist/ai/presets/instructions/typography.js +38 -33
- package/dist/ai/presets/instructions/typography.js.map +1 -1
- package/dist/ai/tools/index.js +92 -55
- package/dist/ai/tools/index.js.map +1 -1
- package/dist/ai/types.js +7 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/utils/injectAiConfig.js +33 -40
- package/dist/ai/utils/injectAiConfig.js.map +1 -1
- package/dist/api/createPuckApiRoutes.d.ts +1 -1
- package/dist/api/createPuckApiRoutes.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutes.js +123 -65
- package/dist/api/createPuckApiRoutes.js.map +1 -1
- package/dist/api/createPuckApiRoutesVersions.d.ts +1 -1
- package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutesVersions.js +88 -37
- package/dist/api/createPuckApiRoutesVersions.js.map +1 -1
- package/dist/api/createPuckApiRoutesWithId.d.ts +1 -1
- package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutesWithId.js +166 -72
- package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
- package/dist/api/index.d.ts +5 -5
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +6 -6
- package/dist/api/index.js.map +1 -1
- package/dist/api/payload-config.d.js +15 -0
- package/dist/api/payload-config.d.js.map +1 -0
- package/dist/api/types.js +4 -1
- package/dist/api/types.js.map +1 -1
- package/dist/api/utils/mapRootProps.d.ts +1 -1
- package/dist/api/utils/mapRootProps.d.ts.map +1 -1
- package/dist/api/utils/mapRootProps.js +77 -44
- package/dist/api/utils/mapRootProps.js.map +1 -1
- package/dist/collections/Templates.js +24 -20
- package/dist/collections/Templates.js.map +1 -1
- package/dist/components/AccordionClient.d.ts +2 -2
- package/dist/components/AccordionClient.d.ts.map +1 -1
- package/dist/components/AccordionClient.js +81 -22
- package/dist/components/AccordionClient.js.map +1 -1
- package/dist/components/AnimatedWrapper.d.ts +2 -2
- package/dist/components/AnimatedWrapper.d.ts.map +1 -1
- package/dist/components/AnimatedWrapper.js +31 -16
- package/dist/components/AnimatedWrapper.js.map +1 -1
- package/dist/components/exports.js +2 -2
- package/dist/components/exports.js.map +1 -1
- package/dist/components/index.d.ts +5 -5
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +7 -7
- package/dist/components/index.js.map +1 -1
- package/dist/components/interactive/Accordion.d.ts +1 -1
- package/dist/components/interactive/Accordion.d.ts.map +1 -1
- package/dist/components/interactive/Accordion.js +149 -55
- package/dist/components/interactive/Accordion.js.map +1 -1
- package/dist/components/interactive/Accordion.server.d.ts +1 -1
- package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
- package/dist/components/interactive/Accordion.server.js +25 -7
- package/dist/components/interactive/Accordion.server.js.map +1 -1
- package/dist/components/interactive/Button.d.ts +3 -3
- package/dist/components/interactive/Button.d.ts.map +1 -1
- package/dist/components/interactive/Button.js +89 -43
- package/dist/components/interactive/Button.js.map +1 -1
- package/dist/components/interactive/Button.server.d.ts +2 -2
- package/dist/components/interactive/Button.server.d.ts.map +1 -1
- package/dist/components/interactive/Button.server.js +40 -20
- package/dist/components/interactive/Button.server.js.map +1 -1
- package/dist/components/interactive/Card.d.ts +3 -3
- package/dist/components/interactive/Card.d.ts.map +1 -1
- package/dist/components/interactive/Card.js +131 -39
- package/dist/components/interactive/Card.js.map +1 -1
- package/dist/components/interactive/Card.server.d.ts +3 -3
- package/dist/components/interactive/Card.server.d.ts.map +1 -1
- package/dist/components/interactive/Card.server.js +72 -11
- package/dist/components/interactive/Card.server.js.map +1 -1
- package/dist/components/interactive/Divider.d.ts +1 -1
- package/dist/components/interactive/Divider.d.ts.map +1 -1
- package/dist/components/interactive/Divider.js +54 -26
- package/dist/components/interactive/Divider.js.map +1 -1
- package/dist/components/interactive/Divider.server.d.ts +1 -1
- package/dist/components/interactive/Divider.server.d.ts.map +1 -1
- package/dist/components/interactive/Divider.server.js +28 -12
- package/dist/components/interactive/Divider.server.js.map +1 -1
- package/dist/components/interactive/index.d.ts +4 -4
- package/dist/components/interactive/index.d.ts.map +1 -1
- package/dist/components/interactive/index.js +5 -5
- package/dist/components/interactive/index.js.map +1 -1
- package/dist/components/layout/Container.d.ts +1 -1
- package/dist/components/layout/Container.d.ts.map +1 -1
- package/dist/components/layout/Container.js +101 -47
- package/dist/components/layout/Container.js.map +1 -1
- package/dist/components/layout/Container.server.d.ts +1 -1
- package/dist/components/layout/Container.server.d.ts.map +1 -1
- package/dist/components/layout/Container.server.js +67 -19
- package/dist/components/layout/Container.server.js.map +1 -1
- package/dist/components/layout/Flex.d.ts +2 -2
- package/dist/components/layout/Flex.d.ts.map +1 -1
- package/dist/components/layout/Flex.js +124 -55
- package/dist/components/layout/Flex.js.map +1 -1
- package/dist/components/layout/Flex.server.d.ts +1 -1
- package/dist/components/layout/Flex.server.d.ts.map +1 -1
- package/dist/components/layout/Flex.server.js +50 -14
- package/dist/components/layout/Flex.server.js.map +1 -1
- package/dist/components/layout/Grid.d.ts +1 -1
- package/dist/components/layout/Grid.d.ts.map +1 -1
- package/dist/components/layout/Grid.js +93 -44
- package/dist/components/layout/Grid.js.map +1 -1
- package/dist/components/layout/Grid.server.d.ts +1 -1
- package/dist/components/layout/Grid.server.d.ts.map +1 -1
- package/dist/components/layout/Grid.server.js +56 -14
- package/dist/components/layout/Grid.server.js.map +1 -1
- package/dist/components/layout/Section.d.ts +1 -1
- package/dist/components/layout/Section.d.ts.map +1 -1
- package/dist/components/layout/Section.js +147 -64
- package/dist/components/layout/Section.js.map +1 -1
- package/dist/components/layout/Section.server.d.ts +1 -1
- package/dist/components/layout/Section.server.d.ts.map +1 -1
- package/dist/components/layout/Section.server.js +92 -28
- package/dist/components/layout/Section.server.js.map +1 -1
- package/dist/components/layout/Spacer.d.ts +1 -1
- package/dist/components/layout/Spacer.d.ts.map +1 -1
- package/dist/components/layout/Spacer.js +80 -30
- package/dist/components/layout/Spacer.js.map +1 -1
- package/dist/components/layout/Spacer.server.d.ts +1 -1
- package/dist/components/layout/Spacer.server.d.ts.map +1 -1
- package/dist/components/layout/Spacer.server.js +31 -9
- package/dist/components/layout/Spacer.server.js.map +1 -1
- package/dist/components/layout/Template.d.ts +1 -1
- package/dist/components/layout/Template.d.ts.map +1 -1
- package/dist/components/layout/Template.js +58 -30
- package/dist/components/layout/Template.js.map +1 -1
- package/dist/components/layout/Template.server.d.ts +1 -1
- package/dist/components/layout/Template.server.d.ts.map +1 -1
- package/dist/components/layout/Template.server.js +43 -11
- package/dist/components/layout/Template.server.js.map +1 -1
- package/dist/components/layout/index.d.ts +8 -8
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/index.js +8 -8
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/media/Image.d.ts +3 -3
- package/dist/components/media/Image.d.ts.map +1 -1
- package/dist/components/media/Image.js +122 -39
- package/dist/components/media/Image.js.map +1 -1
- package/dist/components/media/Image.server.d.ts +3 -3
- package/dist/components/media/Image.server.d.ts.map +1 -1
- package/dist/components/media/Image.server.js +76 -13
- package/dist/components/media/Image.server.js.map +1 -1
- package/dist/components/media/index.d.ts +1 -1
- package/dist/components/media/index.d.ts.map +1 -1
- package/dist/components/media/index.js +2 -2
- package/dist/components/media/index.js.map +1 -1
- package/dist/components/typography/Heading.d.ts +2 -2
- package/dist/components/typography/Heading.d.ts.map +1 -1
- package/dist/components/typography/Heading.js +45 -25
- package/dist/components/typography/Heading.js.map +1 -1
- package/dist/components/typography/Heading.server.d.ts +2 -2
- package/dist/components/typography/Heading.server.d.ts.map +1 -1
- package/dist/components/typography/Heading.server.js +16 -10
- package/dist/components/typography/Heading.server.js.map +1 -1
- package/dist/components/typography/RichText.editor.d.ts +1 -1
- package/dist/components/typography/RichText.editor.d.ts.map +1 -1
- package/dist/components/typography/RichText.editor.js +44 -19
- package/dist/components/typography/RichText.editor.js.map +1 -1
- package/dist/components/typography/RichText.server.d.ts +2 -2
- package/dist/components/typography/RichText.server.d.ts.map +1 -1
- package/dist/components/typography/RichText.server.js +33 -14
- package/dist/components/typography/RichText.server.js.map +1 -1
- package/dist/components/typography/Text.d.ts +2 -2
- package/dist/components/typography/Text.d.ts.map +1 -1
- package/dist/components/typography/Text.js +49 -23
- package/dist/components/typography/Text.js.map +1 -1
- package/dist/components/typography/Text.server.d.ts +2 -2
- package/dist/components/typography/Text.server.d.ts.map +1 -1
- package/dist/components/typography/Text.server.js +21 -8
- package/dist/components/typography/Text.server.js.map +1 -1
- package/dist/components/typography/index.d.ts +4 -4
- package/dist/components/typography/index.d.ts.map +1 -1
- package/dist/components/typography/index.js +5 -5
- package/dist/components/typography/index.js.map +1 -1
- package/dist/config/config.editor.d.ts +3 -3
- package/dist/config/config.editor.d.ts.map +1 -1
- package/dist/config/config.editor.js +119 -54
- package/dist/config/config.editor.js.map +1 -1
- package/dist/config/index.d.ts +4 -4
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +62 -35
- package/dist/config/index.js.map +1 -1
- package/dist/config/merge.d.ts +1 -1
- package/dist/config/merge.d.ts.map +1 -1
- package/dist/config/merge.js +23 -26
- package/dist/config/merge.js.map +1 -1
- package/dist/config/presets.d.ts +4 -4
- package/dist/config/presets.js +195 -75
- package/dist/config/presets.js.map +1 -1
- package/dist/config/types.js +6 -2
- package/dist/config/types.js.map +1 -1
- package/dist/editor/PuckEditor.d.ts +12 -4
- package/dist/editor/PuckEditor.d.ts.map +1 -1
- package/dist/editor/PuckEditor.js +168 -67
- package/dist/editor/PuckEditor.js.map +1 -1
- package/dist/editor/PuckEditorImpl.client.d.ts +4 -4
- package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
- package/dist/editor/PuckEditorImpl.client.js +304 -152
- package/dist/editor/PuckEditorImpl.client.js.map +1 -1
- package/dist/editor/components/DarkModeStyles.js +11 -12
- package/dist/editor/components/DarkModeStyles.js.map +1 -1
- package/dist/editor/components/HeaderActions.js +308 -64
- package/dist/editor/components/HeaderActions.js.map +1 -1
- package/dist/editor/components/IframeWrapper.d.ts +1 -1
- package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
- package/dist/editor/components/IframeWrapper.js +82 -58
- package/dist/editor/components/IframeWrapper.js.map +1 -1
- package/dist/editor/components/LoadingState.d.ts +1 -1
- package/dist/editor/components/LoadingState.d.ts.map +1 -1
- package/dist/editor/components/LoadingState.js +17 -3
- package/dist/editor/components/LoadingState.js.map +1 -1
- package/dist/editor/components/PreviewModal.js +234 -78
- package/dist/editor/components/PreviewModal.js.map +1 -1
- package/dist/editor/components/PreviewModeToggle.js +43 -15
- package/dist/editor/components/PreviewModeToggle.js.map +1 -1
- package/dist/editor/components/VersionHistory.js +219 -71
- package/dist/editor/components/VersionHistory.js.map +1 -1
- package/dist/editor/hooks/useDarkMode.js +36 -23
- package/dist/editor/hooks/useDarkMode.js.map +1 -1
- package/dist/editor/hooks/useUnsavedChanges.js +8 -8
- package/dist/editor/hooks/useUnsavedChanges.js.map +1 -1
- package/dist/editor/index.js +5 -6
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/plugins/VersionHistoryPanel.js +236 -75
- package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -1
- package/dist/editor/plugins/index.js +4 -4
- package/dist/editor/plugins/index.js.map +1 -1
- package/dist/editor/plugins/versionHistoryPlugin.js +10 -8
- package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -1
- package/dist/editor/utils/detectPageTree.js +5 -5
- package/dist/editor/utils/detectPageTree.js.map +1 -1
- package/dist/editor/utils/index.js +1 -0
- package/dist/editor/utils/index.js.map +1 -1
- package/dist/editor/utils/injectPageTreeFields.js +13 -9
- package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
- package/dist/endpoints/ai.js +58 -34
- package/dist/endpoints/ai.js.map +1 -1
- package/dist/endpoints/context.js +86 -40
- package/dist/endpoints/context.js.map +1 -1
- package/dist/endpoints/index.js +153 -76
- package/dist/endpoints/index.js.map +1 -1
- package/dist/endpoints/postcss.d.js +5 -0
- package/dist/endpoints/postcss.d.js.map +1 -0
- package/dist/endpoints/prompts.js +81 -39
- package/dist/endpoints/prompts.js.map +1 -1
- package/dist/endpoints/styles.js +34 -36
- package/dist/endpoints/styles.js.map +1 -1
- package/dist/exports/client.js +2 -2
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/rsc.js +2 -2
- package/dist/exports/rsc.js.map +1 -1
- package/dist/fields/AlignmentField.d.ts +1 -1
- package/dist/fields/AlignmentField.d.ts.map +1 -1
- package/dist/fields/AlignmentField.js +93 -30
- package/dist/fields/AlignmentField.js.map +1 -1
- package/dist/fields/AnimationField.d.ts +2 -2
- package/dist/fields/AnimationField.d.ts.map +1 -1
- package/dist/fields/AnimationField.js +558 -84
- package/dist/fields/AnimationField.js.map +1 -1
- package/dist/fields/BackgroundField.d.ts +2 -2
- package/dist/fields/BackgroundField.d.ts.map +1 -1
- package/dist/fields/BackgroundField.js +754 -120
- package/dist/fields/BackgroundField.js.map +1 -1
- package/dist/fields/BorderField.d.ts +2 -2
- package/dist/fields/BorderField.d.ts.map +1 -1
- package/dist/fields/BorderField.js +275 -73
- package/dist/fields/BorderField.js.map +1 -1
- package/dist/fields/ColorPickerField.d.ts +2 -2
- package/dist/fields/ColorPickerField.d.ts.map +1 -1
- package/dist/fields/ColorPickerField.js +210 -68
- package/dist/fields/ColorPickerField.js.map +1 -1
- package/dist/fields/ContentAlignmentField.d.ts +1 -1
- package/dist/fields/ContentAlignmentField.d.ts.map +1 -1
- package/dist/fields/ContentAlignmentField.js +161 -75
- package/dist/fields/ContentAlignmentField.js.map +1 -1
- package/dist/fields/DimensionsField.d.ts +2 -2
- package/dist/fields/DimensionsField.d.ts.map +1 -1
- package/dist/fields/DimensionsField.js +575 -146
- package/dist/fields/DimensionsField.js.map +1 -1
- package/dist/fields/FlexAlignmentField.d.ts +2 -2
- package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
- package/dist/fields/FlexAlignmentField.js +189 -51
- package/dist/fields/FlexAlignmentField.js.map +1 -1
- package/dist/fields/FolderPickerField.d.ts +8 -1
- package/dist/fields/FolderPickerField.d.ts.map +1 -1
- package/dist/fields/FolderPickerField.js +288 -75
- package/dist/fields/FolderPickerField.js.map +1 -1
- package/dist/fields/GradientEditor.d.ts +2 -2
- package/dist/fields/GradientEditor.d.ts.map +1 -1
- package/dist/fields/GradientEditor.js +462 -86
- package/dist/fields/GradientEditor.js.map +1 -1
- package/dist/fields/LockedField.d.ts +15 -2
- package/dist/fields/LockedField.d.ts.map +1 -1
- package/dist/fields/LockedField.js +180 -49
- package/dist/fields/LockedField.js.map +1 -1
- package/dist/fields/MarginField.d.ts +2 -2
- package/dist/fields/MarginField.d.ts.map +1 -1
- package/dist/fields/MarginField.js +144 -46
- package/dist/fields/MarginField.js.map +1 -1
- package/dist/fields/MediaField.d.ts +1 -1
- package/dist/fields/MediaField.d.ts.map +1 -1
- package/dist/fields/MediaField.js +688 -186
- package/dist/fields/MediaField.js.map +1 -1
- package/dist/fields/PaddingField.d.ts +2 -2
- package/dist/fields/PaddingField.d.ts.map +1 -1
- package/dist/fields/PaddingField.js +144 -46
- package/dist/fields/PaddingField.js.map +1 -1
- package/dist/fields/PageSegmentField.d.ts +15 -2
- package/dist/fields/PageSegmentField.d.ts.map +1 -1
- package/dist/fields/PageSegmentField.js +156 -54
- package/dist/fields/PageSegmentField.js.map +1 -1
- package/dist/fields/ResetField.d.ts +1 -1
- package/dist/fields/ResetField.d.ts.map +1 -1
- package/dist/fields/ResetField.js +59 -31
- package/dist/fields/ResetField.js.map +1 -1
- package/dist/fields/ResponsiveField.d.ts +1 -1
- package/dist/fields/ResponsiveField.d.ts.map +1 -1
- package/dist/fields/ResponsiveField.js +233 -90
- package/dist/fields/ResponsiveField.js.map +1 -1
- package/dist/fields/ResponsiveVisibilityField.d.ts +2 -2
- package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
- package/dist/fields/ResponsiveVisibilityField.js +119 -36
- package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
- package/dist/fields/SizeField.d.ts +3 -3
- package/dist/fields/SizeField.d.ts.map +1 -1
- package/dist/fields/SizeField.js +226 -52
- package/dist/fields/SizeField.js.map +1 -1
- package/dist/fields/SlugPreviewField.d.ts +8 -1
- package/dist/fields/SlugPreviewField.d.ts.map +1 -1
- package/dist/fields/SlugPreviewField.js +65 -16
- package/dist/fields/SlugPreviewField.js.map +1 -1
- package/dist/fields/TemplateField.d.ts +1 -1
- package/dist/fields/TemplateField.d.ts.map +1 -1
- package/dist/fields/TemplateField.js +362 -120
- package/dist/fields/TemplateField.js.map +1 -1
- package/dist/fields/TransformField.d.ts +2 -2
- package/dist/fields/TransformField.d.ts.map +1 -1
- package/dist/fields/TransformField.js +517 -81
- package/dist/fields/TransformField.js.map +1 -1
- package/dist/fields/VerticalAlignmentField.d.ts +1 -1
- package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
- package/dist/fields/VerticalAlignmentField.js +93 -30
- package/dist/fields/VerticalAlignmentField.js.map +1 -1
- package/dist/fields/WidthField.d.ts +2 -2
- package/dist/fields/WidthField.d.ts.map +1 -1
- package/dist/fields/WidthField.js +278 -81
- package/dist/fields/WidthField.js.map +1 -1
- package/dist/fields/index.d.ts +41 -41
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +37 -43
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts +13 -2
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.js +212 -47
- package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
- package/dist/fields/richtext/controls/DropdownPortal.d.ts +2 -2
- package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -1
- package/dist/fields/richtext/controls/DropdownPortal.js +36 -4
- package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -1
- package/dist/fields/richtext/controls/FontSizeControl.d.ts +9 -1
- package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/FontSizeControl.js +109 -24
- package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
- package/dist/fields/richtext/controls/HighlightControl.d.ts +12 -1
- package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/HighlightControl.js +54 -17
- package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
- package/dist/fields/richtext/controls/index.d.ts +5 -5
- package/dist/fields/richtext/controls/index.d.ts.map +1 -1
- package/dist/fields/richtext/controls/index.js +8 -11
- package/dist/fields/richtext/controls/index.js.map +1 -1
- package/dist/fields/richtext/controls/shared.js +108 -63
- package/dist/fields/richtext/controls/shared.js.map +1 -1
- package/dist/fields/richtext/createRichTextField.d.ts +18 -4
- package/dist/fields/richtext/createRichTextField.d.ts.map +1 -1
- package/dist/fields/richtext/createRichTextField.js +113 -26
- package/dist/fields/richtext/createRichTextField.js.map +1 -1
- package/dist/fields/richtext/extensions/FontSize.js +26 -20
- package/dist/fields/richtext/extensions/FontSize.js.map +1 -1
- package/dist/fields/richtext/extensions/index.d.ts +1 -1
- package/dist/fields/richtext/extensions/index.d.ts.map +1 -1
- package/dist/fields/richtext/extensions/index.js +2 -2
- package/dist/fields/richtext/extensions/index.js.map +1 -1
- package/dist/fields/richtext/index.d.ts +6 -6
- package/dist/fields/richtext/index.d.ts.map +1 -1
- package/dist/fields/richtext/index.js +8 -8
- package/dist/fields/richtext/index.js.map +1 -1
- package/dist/fields/shared.d.ts +1 -1
- package/dist/fields/shared.d.ts.map +1 -1
- package/dist/fields/shared.js +915 -478
- package/dist/fields/shared.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useResponsiveStyles.d.ts +1 -1
- package/dist/hooks/useResponsiveStyles.d.ts.map +1 -1
- package/dist/hooks/useResponsiveStyles.js +36 -32
- package/dist/hooks/useResponsiveStyles.js.map +1 -1
- package/dist/hooks/useScrollAnimation.js +26 -24
- package/dist/hooks/useScrollAnimation.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/layouts/LayoutWrapper.d.ts +3 -3
- package/dist/layouts/LayoutWrapper.d.ts.map +1 -1
- package/dist/layouts/LayoutWrapper.js +115 -51
- package/dist/layouts/LayoutWrapper.js.map +1 -1
- package/dist/layouts/defaults.d.ts +1 -1
- package/dist/layouts/defaults.d.ts.map +1 -1
- package/dist/layouts/defaults.js +23 -31
- package/dist/layouts/defaults.js.map +1 -1
- package/dist/layouts/index.d.ts +4 -4
- package/dist/layouts/index.d.ts.map +1 -1
- package/dist/layouts/index.js +5 -4
- package/dist/layouts/index.js.map +1 -1
- package/dist/layouts/types.js +4 -2
- package/dist/layouts/types.js.map +1 -1
- package/dist/layouts/utils.d.ts +1 -1
- package/dist/layouts/utils.d.ts.map +1 -1
- package/dist/layouts/utils.js +32 -40
- package/dist/layouts/utils.js.map +1 -1
- package/dist/next/index.js +31 -34
- package/dist/next/index.js.map +1 -1
- package/dist/plugin/collections/Pages.d.ts +2 -2
- package/dist/plugin/collections/Pages.d.ts.map +1 -1
- package/dist/plugin/collections/Pages.js +46 -43
- package/dist/plugin/collections/Pages.js.map +1 -1
- package/dist/plugin/fields/index.d.ts +3 -3
- package/dist/plugin/fields/index.d.ts.map +1 -1
- package/dist/plugin/fields/index.js +100 -78
- package/dist/plugin/fields/index.js.map +1 -1
- package/dist/plugin/fields/types.d.ts +1 -1
- package/dist/plugin/fields/types.d.ts.map +1 -1
- package/dist/plugin/fields/types.js +26 -2
- package/dist/plugin/fields/types.js.map +1 -1
- package/dist/plugin/hooks/index.d.ts +1 -1
- package/dist/plugin/hooks/index.d.ts.map +1 -1
- package/dist/plugin/hooks/index.js +2 -2
- package/dist/plugin/hooks/index.js.map +1 -1
- package/dist/plugin/hooks/isHomepageUnique.js +28 -19
- package/dist/plugin/hooks/isHomepageUnique.js.map +1 -1
- package/dist/plugin/index.d.ts +8 -8
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +192 -188
- package/dist/plugin/index.js.map +1 -1
- package/dist/render/HybridPageRenderer.d.ts +2 -2
- package/dist/render/HybridPageRenderer.d.ts.map +1 -1
- package/dist/render/HybridPageRenderer.js +58 -10
- package/dist/render/HybridPageRenderer.js.map +1 -1
- package/dist/render/PageRenderer.d.ts +2 -2
- package/dist/render/PageRenderer.d.ts.map +1 -1
- package/dist/render/PageRenderer.js +31 -14
- package/dist/render/PageRenderer.js.map +1 -1
- package/dist/render/PuckEditor.client.d.ts +1 -1
- package/dist/render/PuckEditor.client.d.ts.map +1 -1
- package/dist/render/PuckEditor.client.js +33 -16
- package/dist/render/PuckEditor.client.js.map +1 -1
- package/dist/render/index.d.ts +5 -5
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +5 -6
- package/dist/render/index.js.map +1 -1
- package/dist/styles/puck-dark-mode.css +101 -0
- package/dist/theme/context.d.ts +2 -2
- package/dist/theme/context.d.ts.map +1 -1
- package/dist/theme/context.js +21 -18
- package/dist/theme/context.js.map +1 -1
- package/dist/theme/defaults.d.ts +1 -1
- package/dist/theme/defaults.d.ts.map +1 -1
- package/dist/theme/defaults.js +83 -37
- package/dist/theme/defaults.js.map +1 -1
- package/dist/theme/example.d.ts +1 -1
- package/dist/theme/example.d.ts.map +1 -1
- package/dist/theme/example.js +68 -30
- package/dist/theme/example.js.map +1 -1
- package/dist/theme/index.d.ts +5 -5
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +6 -5
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/types.js +6 -2
- package/dist/theme/types.js.map +1 -1
- package/dist/theme/utils.d.ts +1 -1
- package/dist/theme/utils.d.ts.map +1 -1
- package/dist/theme/utils.js +24 -25
- package/dist/theme/utils.js.map +1 -1
- package/dist/types/index.d.ts +42 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +13 -22
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/migration.d.ts +1 -1
- package/dist/utils/migration.d.ts.map +1 -1
- package/dist/utils/migration.js +43 -49
- package/dist/utils/migration.js.map +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +36 -43
- package/dist/utils/validation.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/dist/views/PuckConfigContext.d.ts +1 -1
- package/dist/views/PuckConfigContext.d.ts.map +1 -1
- package/dist/views/PuckConfigContext.js +25 -10
- package/dist/views/PuckConfigContext.js.map +1 -1
- package/dist/views/PuckEditorView.d.ts +1 -1
- package/dist/views/PuckEditorView.d.ts.map +1 -1
- package/dist/views/PuckEditorView.js +137 -41
- package/dist/views/PuckEditorView.js.map +1 -1
- package/dist/views/index.js +2 -2
- package/dist/views/index.js.map +1 -1
- package/package.json +62 -42
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
1
|
+
/**
|
|
2
|
+
* Card Component - Puck Configuration
|
|
3
|
+
*
|
|
4
|
+
* Content card with image, heading, and text.
|
|
5
|
+
*/ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { shadowField, shadowMap, cn, marginValueToCSS, paddingValueToCSS, backgroundValueToCSS, borderValueToCSS, dimensionsValueToCSS, transformValueToCSS } from '../../fields/shared.js';
|
|
7
|
+
import { AnimatedWrapper } from '../AnimatedWrapper.js';
|
|
8
|
+
import { createMarginField } from '../../fields/MarginField.js';
|
|
9
|
+
import { createPaddingField } from '../../fields/PaddingField.js';
|
|
10
|
+
import { createResetField } from '../../fields/ResetField.js';
|
|
11
|
+
import { createBackgroundField } from '../../fields/BackgroundField.js';
|
|
12
|
+
import { createBorderField } from '../../fields/BorderField.js';
|
|
13
|
+
import { createDimensionsField } from '../../fields/DimensionsField.js';
|
|
14
|
+
import { createAlignmentField } from '../../fields/AlignmentField.js';
|
|
15
|
+
import { createAnimationField } from '../../fields/AnimationField.js';
|
|
16
|
+
import { createTransformField } from '../../fields/TransformField.js';
|
|
13
17
|
// Default content padding for card (replaces hardcoded p-4)
|
|
14
18
|
const DEFAULT_CONTENT_PADDING = {
|
|
15
19
|
top: 16,
|
|
@@ -17,7 +21,7 @@ const DEFAULT_CONTENT_PADDING = {
|
|
|
17
21
|
bottom: 16,
|
|
18
22
|
left: 16,
|
|
19
23
|
unit: 'px',
|
|
20
|
-
linked: true
|
|
24
|
+
linked: true
|
|
21
25
|
};
|
|
22
26
|
const defaultProps = {
|
|
23
27
|
image: null,
|
|
@@ -33,54 +37,87 @@ const defaultProps = {
|
|
|
33
37
|
alignment: null,
|
|
34
38
|
transform: null,
|
|
35
39
|
animation: null,
|
|
36
|
-
contentPadding: DEFAULT_CONTENT_PADDING
|
|
40
|
+
contentPadding: DEFAULT_CONTENT_PADDING
|
|
37
41
|
};
|
|
38
42
|
export const CardConfig = {
|
|
39
43
|
label: 'Card',
|
|
40
44
|
fields: {
|
|
41
|
-
_reset: createResetField({
|
|
45
|
+
_reset: createResetField({
|
|
46
|
+
defaultProps
|
|
47
|
+
}),
|
|
42
48
|
image: {
|
|
43
49
|
type: 'object',
|
|
44
50
|
label: 'Image',
|
|
45
51
|
objectFields: {
|
|
46
|
-
id: {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
id: {
|
|
53
|
+
type: 'text',
|
|
54
|
+
label: 'Media ID'
|
|
55
|
+
},
|
|
56
|
+
url: {
|
|
57
|
+
type: 'text',
|
|
58
|
+
label: 'URL'
|
|
59
|
+
},
|
|
60
|
+
alt: {
|
|
61
|
+
type: 'text',
|
|
62
|
+
label: 'Alt Text'
|
|
63
|
+
}
|
|
64
|
+
}
|
|
50
65
|
},
|
|
51
66
|
heading: {
|
|
52
67
|
type: 'text',
|
|
53
|
-
label: 'Heading'
|
|
68
|
+
label: 'Heading'
|
|
54
69
|
},
|
|
55
70
|
text: {
|
|
56
71
|
type: 'textarea',
|
|
57
|
-
label: 'Text'
|
|
72
|
+
label: 'Text'
|
|
58
73
|
},
|
|
59
74
|
link: {
|
|
60
75
|
type: 'text',
|
|
61
|
-
label: 'Link URL'
|
|
76
|
+
label: 'Link URL'
|
|
62
77
|
},
|
|
63
78
|
openInNewTab: {
|
|
64
79
|
type: 'radio',
|
|
65
80
|
label: 'Open in New Tab',
|
|
66
81
|
options: [
|
|
67
|
-
{
|
|
68
|
-
|
|
69
|
-
|
|
82
|
+
{
|
|
83
|
+
label: 'Yes',
|
|
84
|
+
value: true
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
label: 'No',
|
|
88
|
+
value: false
|
|
89
|
+
}
|
|
90
|
+
]
|
|
70
91
|
},
|
|
71
92
|
shadow: shadowField,
|
|
72
|
-
background: createBackgroundField({
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
93
|
+
background: createBackgroundField({
|
|
94
|
+
label: 'Background'
|
|
95
|
+
}),
|
|
96
|
+
border: createBorderField({
|
|
97
|
+
label: 'Border'
|
|
98
|
+
}),
|
|
99
|
+
dimensions: createDimensionsField({
|
|
100
|
+
label: 'Dimensions'
|
|
101
|
+
}),
|
|
102
|
+
alignment: createAlignmentField({
|
|
103
|
+
label: 'Alignment'
|
|
104
|
+
}),
|
|
105
|
+
transform: createTransformField({
|
|
106
|
+
label: 'Transform'
|
|
107
|
+
}),
|
|
108
|
+
animation: createAnimationField({
|
|
109
|
+
label: 'Animation'
|
|
110
|
+
}),
|
|
78
111
|
// Spacing (grouped at bottom)
|
|
79
|
-
margin: createMarginField({
|
|
80
|
-
|
|
112
|
+
margin: createMarginField({
|
|
113
|
+
label: 'Margin'
|
|
114
|
+
}),
|
|
115
|
+
contentPadding: createPaddingField({
|
|
116
|
+
label: 'Content Padding'
|
|
117
|
+
})
|
|
81
118
|
},
|
|
82
119
|
defaultProps,
|
|
83
|
-
render: ({ image, heading, text, link, openInNewTab, shadow, background, dimensions, alignment, margin, border, transform, animation, contentPadding })
|
|
120
|
+
render: ({ image, heading, text, link, openInNewTab, shadow, background, dimensions, alignment, margin, border, transform, animation, contentPadding })=>{
|
|
84
121
|
// Check if border has radius, if so don't apply rounded-lg
|
|
85
122
|
const hasBorderRadius = border?.radius && border.radius > 0;
|
|
86
123
|
const cardClasses = cn('overflow-hidden transition-all bg-card', !hasBorderRadius && 'rounded-lg', shadowMap[shadow] || '', link && 'hover:shadow-lg cursor-pointer');
|
|
@@ -104,7 +141,7 @@ export const CardConfig = {
|
|
|
104
141
|
// Card background styles from BackgroundValue
|
|
105
142
|
const backgroundStyles = backgroundValueToCSS(background);
|
|
106
143
|
const cardStyle = {
|
|
107
|
-
...backgroundStyles
|
|
144
|
+
...backgroundStyles
|
|
108
145
|
};
|
|
109
146
|
// Note: bg-card class handles default background (theme-aware)
|
|
110
147
|
// Apply border to card
|
|
@@ -118,11 +155,66 @@ export const CardConfig = {
|
|
|
118
155
|
if (contentPaddingCSS) {
|
|
119
156
|
contentStyle.padding = contentPaddingCSS;
|
|
120
157
|
}
|
|
121
|
-
const cardContent =
|
|
158
|
+
const cardContent = /*#__PURE__*/ _jsxs("div", {
|
|
159
|
+
className: cardClasses,
|
|
160
|
+
style: cardStyle,
|
|
161
|
+
children: [
|
|
162
|
+
image?.url ? /*#__PURE__*/ _jsx("div", {
|
|
163
|
+
className: "relative aspect-video w-full overflow-hidden",
|
|
164
|
+
children: /*#__PURE__*/ _jsx("img", {
|
|
165
|
+
src: image.url,
|
|
166
|
+
alt: image.alt || heading || '',
|
|
167
|
+
className: "w-full h-full object-cover"
|
|
168
|
+
})
|
|
169
|
+
}) : /*#__PURE__*/ _jsx("div", {
|
|
170
|
+
className: "aspect-video w-full bg-muted flex items-center justify-center",
|
|
171
|
+
children: /*#__PURE__*/ _jsx("span", {
|
|
172
|
+
className: "text-muted-foreground",
|
|
173
|
+
children: "No image"
|
|
174
|
+
})
|
|
175
|
+
}),
|
|
176
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
177
|
+
style: contentStyle,
|
|
178
|
+
children: [
|
|
179
|
+
heading && /*#__PURE__*/ _jsx("h3", {
|
|
180
|
+
className: "text-lg font-semibold text-foreground mb-2",
|
|
181
|
+
children: heading
|
|
182
|
+
}),
|
|
183
|
+
text && /*#__PURE__*/ _jsx("p", {
|
|
184
|
+
className: "text-muted-foreground text-sm",
|
|
185
|
+
children: text
|
|
186
|
+
})
|
|
187
|
+
]
|
|
188
|
+
})
|
|
189
|
+
]
|
|
190
|
+
});
|
|
122
191
|
if (link) {
|
|
123
|
-
return
|
|
192
|
+
return /*#__PURE__*/ _jsx(AnimatedWrapper, {
|
|
193
|
+
animation: animation,
|
|
194
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
195
|
+
className: alignmentClasses,
|
|
196
|
+
children: /*#__PURE__*/ _jsx("a", {
|
|
197
|
+
href: link,
|
|
198
|
+
target: openInNewTab ? '_blank' : undefined,
|
|
199
|
+
rel: openInNewTab ? 'noopener noreferrer' : undefined,
|
|
200
|
+
className: "block",
|
|
201
|
+
style: wrapperStyle,
|
|
202
|
+
children: cardContent
|
|
203
|
+
})
|
|
204
|
+
})
|
|
205
|
+
});
|
|
124
206
|
}
|
|
125
|
-
return
|
|
126
|
-
|
|
207
|
+
return /*#__PURE__*/ _jsx(AnimatedWrapper, {
|
|
208
|
+
animation: animation,
|
|
209
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
210
|
+
className: alignmentClasses,
|
|
211
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
212
|
+
style: wrapperStyle,
|
|
213
|
+
children: cardContent
|
|
214
|
+
})
|
|
215
|
+
})
|
|
216
|
+
});
|
|
217
|
+
}
|
|
127
218
|
};
|
|
219
|
+
|
|
128
220
|
//# sourceMappingURL=Card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/interactive/Card.tsx"],"names":[],"mappings":";AAOA,OAAO,EACL,WAAW,EACX,SAAS,EACT,EAAE,EACF,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,GAOpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAkB,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAGlE,4DAA4D;AAC5D,MAAM,uBAAuB,GAAiB;IAC5C,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI;CACb,CAAA;AAmBD,MAAM,YAAY,GAAc;IAC9B,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE,kCAAkC;IACxC,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,uBAAuB,EAAE,0CAA0C;CACpF,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAoB;IACzC,KAAK,EAAE,MAAM;IACb,MAAM,EAAE;QACN,MAAM,EAAE,gBAAgB,CAAC,EAAE,YAAY,EAAE,CAAC;QAC1C,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,OAAO;YACd,YAAY,EAAE;gBACZ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;gBACnC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;aACzC;SACF;QACD,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,SAAS;SACjB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,MAAM;SACd;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,UAAU;SAClB;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;gBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;aAC9B;SACF;QACD,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,qBAAqB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAC1D,MAAM,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC9C,UAAU,EAAE,qBAAqB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAC1D,SAAS,EAAE,oBAAoB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACvD,SAAS,EAAE,oBAAoB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACvD,SAAS,EAAE,oBAAoB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACvD,8BAA8B;QAC9B,MAAM,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC9C,cAAc,EAAE,kBAAkB,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;KACjE;IACD,YAAY;IACZ,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE;QACxJ,2DAA2D;QAC3D,MAAM,eAAe,GAAG,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAC3D,MAAM,WAAW,GAAG,EAAE,CACpB,wCAAwC,EACxC,CAAC,eAAe,IAAI,YAAY,EAChC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EACvB,IAAI,IAAI,gCAAgC,CACzC,CAAA;QAED,wEAAwE;QACxE,MAAM,YAAY,GAAwB,EAAE,CAAA;QAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,MAAM,GAAG,SAAS,CAAA;QACjC,CAAC;QACD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;QACzD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;QAC/C,CAAC;QACD,MAAM,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;QAC9C,CAAC;QAED,gCAAgC;QAChC,MAAM,cAAc,GAAG,SAAS,IAAI,MAAM,CAAA;QAC1C,MAAM,gBAAgB,GAAG,EAAE,CACzB,MAAM,EACN,cAAc,KAAK,MAAM,IAAI,eAAe,EAC5C,cAAc,KAAK,QAAQ,IAAI,gBAAgB,EAC/C,cAAc,KAAK,OAAO,IAAI,aAAa,CAC5C,CAAA;QAED,8CAA8C;QAC9C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;QACzD,MAAM,SAAS,GAAwB;YACrC,GAAG,gBAAgB;SACpB,CAAA;QACD,+DAA+D;QAC/D,uBAAuB;QACvB,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC7C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACxC,CAAC;QAED,kDAAkD;QAClD,MAAM,YAAY,GAAwB,EAAE,CAAA;QAC5C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;QAC3D,IAAI,iBAAiB,EAAE,CAAC;YACtB,YAAY,CAAC,OAAO,GAAG,iBAAiB,CAAA;QAC1C,CAAC;QAED,MAAM,WAAW,GAAG,CAClB,eAAK,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,aAE1C,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CACZ,cAAK,SAAS,EAAC,8CAA8C,YAE3D,cACE,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,OAAO,IAAI,EAAE,EAC/B,SAAS,EAAC,4BAA4B,GACtC,GACE,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,+DAA+D,YAC5E,eAAM,SAAS,EAAC,uBAAuB,yBAAgB,GACnD,CACP,EAGD,eAAK,KAAK,EAAE,YAAY,aACrB,OAAO,IAAI,CACV,aAAI,SAAS,EAAC,4CAA4C,YAAE,OAAO,GAAM,CAC1E,EACA,IAAI,IAAI,YAAG,SAAS,EAAC,+BAA+B,YAAE,IAAI,GAAK,IAC5D,IACF,CACP,CAAA;QAED,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CACL,KAAC,eAAe,IAAC,SAAS,EAAE,SAAS,YACnC,cAAK,SAAS,EAAE,gBAAgB,YAC9B,YACE,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC3C,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,EACrD,SAAS,EAAC,OAAO,EACjB,KAAK,EAAE,YAAY,YAElB,WAAW,GACV,GACA,GACU,CACnB,CAAA;QACH,CAAC;QAED,OAAO,CACL,KAAC,eAAe,IAAC,SAAS,EAAE,SAAS,YACnC,cAAK,SAAS,EAAE,gBAAgB,YAC9B,cAAK,KAAK,EAAE,YAAY,YAAG,WAAW,GAAO,GACzC,GACU,CACnB,CAAA;IACH,CAAC;CACF,CAAA"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/interactive/Card.tsx"],"sourcesContent":["/**\n * Card Component - Puck Configuration\n *\n * Content card with image, heading, and text.\n */\n\nimport type { ComponentConfig } from '@puckeditor/core'\nimport {\n shadowField,\n shadowMap,\n cn,\n marginValueToCSS,\n paddingValueToCSS,\n backgroundValueToCSS,\n borderValueToCSS,\n dimensionsValueToCSS,\n transformValueToCSS,\n type PaddingValue,\n type BackgroundValue,\n type BorderValue,\n type DimensionsValue,\n type AnimationValue,\n type TransformValue,\n} from '../../fields/shared.js'\nimport { AnimatedWrapper } from '../AnimatedWrapper.js'\nimport { createMarginField } from '../../fields/MarginField.js'\nimport { createPaddingField } from '../../fields/PaddingField.js'\nimport { createResetField } from '../../fields/ResetField.js'\nimport { createBackgroundField } from '../../fields/BackgroundField.js'\nimport { createBorderField } from '../../fields/BorderField.js'\nimport { createDimensionsField } from '../../fields/DimensionsField.js'\nimport { createAlignmentField, type Alignment } from '../../fields/AlignmentField.js'\nimport { createAnimationField } from '../../fields/AnimationField.js'\nimport { createTransformField } from '../../fields/TransformField.js'\nimport type { MediaReference } from '../../fields/MediaField.js'\n\n// Default content padding for card (replaces hardcoded p-4)\nconst DEFAULT_CONTENT_PADDING: PaddingValue = {\n top: 16,\n right: 16,\n bottom: 16,\n left: 16,\n unit: 'px',\n linked: true,\n}\n\nexport interface CardProps {\n image: MediaReference | null\n heading: string\n text: string\n link: string\n openInNewTab: boolean\n shadow: string\n margin: PaddingValue | null\n background: BackgroundValue | null\n border: BorderValue | null\n dimensions: DimensionsValue | null\n alignment: Alignment | null\n transform: TransformValue | null\n animation: AnimationValue | null\n contentPadding: PaddingValue | null // Renamed from customPadding for clarity\n}\n\nconst defaultProps: CardProps = {\n image: null,\n heading: 'Card Heading',\n text: 'Card description text goes here.',\n link: '',\n openInNewTab: false,\n shadow: 'md',\n margin: null,\n background: null,\n border: null,\n dimensions: null,\n alignment: null,\n transform: null,\n animation: null,\n contentPadding: DEFAULT_CONTENT_PADDING, // Default 16px padding, visible in editor\n}\n\nexport const CardConfig: ComponentConfig = {\n label: 'Card',\n fields: {\n _reset: createResetField({ defaultProps }),\n image: {\n type: 'object',\n label: 'Image',\n objectFields: {\n id: { type: 'text', label: 'Media ID' },\n url: { type: 'text', label: 'URL' },\n alt: { type: 'text', label: 'Alt Text' },\n },\n },\n heading: {\n type: 'text',\n label: 'Heading',\n },\n text: {\n type: 'textarea',\n label: 'Text',\n },\n link: {\n type: 'text',\n label: 'Link URL',\n },\n openInNewTab: {\n type: 'radio',\n label: 'Open in New Tab',\n options: [\n { label: 'Yes', value: true },\n { label: 'No', value: false },\n ],\n },\n shadow: shadowField,\n background: createBackgroundField({ label: 'Background' }),\n border: createBorderField({ label: 'Border' }),\n dimensions: createDimensionsField({ label: 'Dimensions' }),\n alignment: createAlignmentField({ label: 'Alignment' }),\n transform: createTransformField({ label: 'Transform' }),\n animation: createAnimationField({ label: 'Animation' }),\n // Spacing (grouped at bottom)\n margin: createMarginField({ label: 'Margin' }),\n contentPadding: createPaddingField({ label: 'Content Padding' }),\n },\n defaultProps,\n render: ({ image, heading, text, link, openInNewTab, shadow, background, dimensions, alignment, margin, border, transform, animation, contentPadding }) => {\n // Check if border has radius, if so don't apply rounded-lg\n const hasBorderRadius = border?.radius && border.radius > 0\n const cardClasses = cn(\n 'overflow-hidden transition-all bg-card',\n !hasBorderRadius && 'rounded-lg',\n shadowMap[shadow] || '',\n link && 'hover:shadow-lg cursor-pointer'\n )\n\n // Wrapper style for margin, dimensions, alignment, transform, animation\n const wrapperStyle: React.CSSProperties = {}\n const marginCSS = marginValueToCSS(margin)\n if (marginCSS) {\n wrapperStyle.margin = marginCSS\n }\n const dimensionsStyles = dimensionsValueToCSS(dimensions)\n if (dimensionsStyles) {\n Object.assign(wrapperStyle, dimensionsStyles)\n }\n const transformStyles = transformValueToCSS(transform)\n if (transformStyles) {\n Object.assign(wrapperStyle, transformStyles)\n }\n\n // Alignment classes for wrapper\n const alignmentValue = alignment ?? 'left'\n const alignmentClasses = cn(\n 'flex',\n alignmentValue === 'left' && 'justify-start',\n alignmentValue === 'center' && 'justify-center',\n alignmentValue === 'right' && 'justify-end'\n )\n\n // Card background styles from BackgroundValue\n const backgroundStyles = backgroundValueToCSS(background)\n const cardStyle: React.CSSProperties = {\n ...backgroundStyles,\n }\n // Note: bg-card class handles default background (theme-aware)\n // Apply border to card\n const borderStyles = borderValueToCSS(border)\n if (borderStyles) {\n Object.assign(cardStyle, borderStyles)\n }\n\n // Content section style with configurable padding\n const contentStyle: React.CSSProperties = {}\n const contentPaddingCSS = paddingValueToCSS(contentPadding)\n if (contentPaddingCSS) {\n contentStyle.padding = contentPaddingCSS\n }\n\n const cardContent = (\n <div className={cardClasses} style={cardStyle}>\n {/* Image */}\n {image?.url ? (\n <div className=\"relative aspect-video w-full overflow-hidden\">\n {/* eslint-disable-next-line @next/next/no-img-element */}\n <img\n src={image.url}\n alt={image.alt || heading || ''}\n className=\"w-full h-full object-cover\"\n />\n </div>\n ) : (\n <div className=\"aspect-video w-full bg-muted flex items-center justify-center\">\n <span className=\"text-muted-foreground\">No image</span>\n </div>\n )}\n\n {/* Content */}\n <div style={contentStyle}>\n {heading && (\n <h3 className=\"text-lg font-semibold text-foreground mb-2\">{heading}</h3>\n )}\n {text && <p className=\"text-muted-foreground text-sm\">{text}</p>}\n </div>\n </div>\n )\n\n if (link) {\n return (\n <AnimatedWrapper animation={animation}>\n <div className={alignmentClasses}>\n <a\n href={link}\n target={openInNewTab ? '_blank' : undefined}\n rel={openInNewTab ? 'noopener noreferrer' : undefined}\n className=\"block\"\n style={wrapperStyle}\n >\n {cardContent}\n </a>\n </div>\n </AnimatedWrapper>\n )\n }\n\n return (\n <AnimatedWrapper animation={animation}>\n <div className={alignmentClasses}>\n <div style={wrapperStyle}>{cardContent}</div>\n </div>\n </AnimatedWrapper>\n )\n },\n}\n"],"names":["shadowField","shadowMap","cn","marginValueToCSS","paddingValueToCSS","backgroundValueToCSS","borderValueToCSS","dimensionsValueToCSS","transformValueToCSS","AnimatedWrapper","createMarginField","createPaddingField","createResetField","createBackgroundField","createBorderField","createDimensionsField","createAlignmentField","createAnimationField","createTransformField","DEFAULT_CONTENT_PADDING","top","right","bottom","left","unit","linked","defaultProps","image","heading","text","link","openInNewTab","shadow","margin","background","border","dimensions","alignment","transform","animation","contentPadding","CardConfig","label","fields","_reset","type","objectFields","id","url","alt","options","value","render","hasBorderRadius","radius","cardClasses","wrapperStyle","marginCSS","dimensionsStyles","Object","assign","transformStyles","alignmentValue","alignmentClasses","backgroundStyles","cardStyle","borderStyles","contentStyle","contentPaddingCSS","padding","cardContent","div","className","style","img","src","span","h3","p","a","href","target","undefined","rel"],"mappings":"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"}
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* Safe for use in server components.
|
|
7
7
|
*/
|
|
8
8
|
import type { ComponentConfig } from '@puckeditor/core';
|
|
9
|
-
import { type PaddingValue, type BackgroundValue, type BorderValue, type DimensionsValue, type AnimationValue, type TransformValue } from '../../fields/shared';
|
|
10
|
-
import type { MediaReference } from '../../fields/MediaField';
|
|
11
|
-
import type { Alignment } from '../../fields/AlignmentField';
|
|
9
|
+
import { type PaddingValue, type BackgroundValue, type BorderValue, type DimensionsValue, type AnimationValue, type TransformValue } from '../../fields/shared.js';
|
|
10
|
+
import type { MediaReference } from '../../fields/MediaField.js';
|
|
11
|
+
import type { Alignment } from '../../fields/AlignmentField.js';
|
|
12
12
|
export interface CardProps {
|
|
13
13
|
image: MediaReference | null;
|
|
14
14
|
heading: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.server.d.ts","sourceRoot":"","sources":["../../../src/components/interactive/Card.server.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"Card.server.d.ts","sourceRoot":"","sources":["../../../src/components/interactive/Card.server.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAY/D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,OAAO,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,eAAe,GAAG,IAAI,CAAA;IAClC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,eAAe,GAAG,IAAI,CAAA;IAClC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;IAC3B,SAAS,EAAE,cAAc,GAAG,IAAI,CAAA;IAChC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAA;IAChC,cAAc,EAAE,YAAY,GAAG,IAAI,CAAA;CACpC;AAmBD,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,SAAS,CA8GjD,CAAA"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Card Component - Server-safe Puck Configuration
|
|
3
|
+
*
|
|
4
|
+
* Content card with image, heading, and text.
|
|
5
|
+
* This version contains only the render function and types - no fields.
|
|
6
|
+
* Safe for use in server components.
|
|
7
|
+
*/ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { shadowMap, cn, marginValueToCSS, paddingValueToCSS, backgroundValueToCSS, borderValueToCSS, dimensionsValueToCSS, transformValueToCSS } from '../../fields/shared.js';
|
|
9
|
+
import { AnimatedWrapper } from '../AnimatedWrapper.js';
|
|
4
10
|
// Default content padding for card (replaces hardcoded p-4)
|
|
5
11
|
const DEFAULT_CONTENT_PADDING = {
|
|
6
12
|
top: 16,
|
|
@@ -8,7 +14,7 @@ const DEFAULT_CONTENT_PADDING = {
|
|
|
8
14
|
bottom: 16,
|
|
9
15
|
left: 16,
|
|
10
16
|
unit: 'px',
|
|
11
|
-
linked: true
|
|
17
|
+
linked: true
|
|
12
18
|
};
|
|
13
19
|
const defaultProps = {
|
|
14
20
|
image: null,
|
|
@@ -24,12 +30,12 @@ const defaultProps = {
|
|
|
24
30
|
alignment: null,
|
|
25
31
|
transform: null,
|
|
26
32
|
animation: null,
|
|
27
|
-
contentPadding: DEFAULT_CONTENT_PADDING
|
|
33
|
+
contentPadding: DEFAULT_CONTENT_PADDING
|
|
28
34
|
};
|
|
29
35
|
export const CardConfig = {
|
|
30
36
|
label: 'Card',
|
|
31
37
|
defaultProps,
|
|
32
|
-
render: ({ image, heading, text, link, openInNewTab, shadow, background, dimensions, alignment, margin, border, transform, animation, contentPadding })
|
|
38
|
+
render: ({ image, heading, text, link, openInNewTab, shadow, background, dimensions, alignment, margin, border, transform, animation, contentPadding })=>{
|
|
33
39
|
// Check if border has radius, if so don't apply rounded-lg
|
|
34
40
|
const hasBorderRadius = border?.radius && border.radius > 0;
|
|
35
41
|
const cardClasses = cn('overflow-hidden transition-all bg-card', !hasBorderRadius && 'rounded-lg', shadowMap[shadow] || '', link && 'hover:shadow-lg cursor-pointer');
|
|
@@ -53,7 +59,7 @@ export const CardConfig = {
|
|
|
53
59
|
// Card background styles from BackgroundValue
|
|
54
60
|
const backgroundStyles = backgroundValueToCSS(background);
|
|
55
61
|
const cardStyle = {
|
|
56
|
-
...backgroundStyles
|
|
62
|
+
...backgroundStyles
|
|
57
63
|
};
|
|
58
64
|
// Note: bg-card class handles default background (theme-aware)
|
|
59
65
|
// Apply border to card
|
|
@@ -67,11 +73,66 @@ export const CardConfig = {
|
|
|
67
73
|
if (contentPaddingCSS) {
|
|
68
74
|
contentStyle.padding = contentPaddingCSS;
|
|
69
75
|
}
|
|
70
|
-
const cardContent =
|
|
76
|
+
const cardContent = /*#__PURE__*/ _jsxs("div", {
|
|
77
|
+
className: cardClasses,
|
|
78
|
+
style: cardStyle,
|
|
79
|
+
children: [
|
|
80
|
+
image?.url ? /*#__PURE__*/ _jsx("div", {
|
|
81
|
+
className: "relative aspect-video w-full overflow-hidden",
|
|
82
|
+
children: /*#__PURE__*/ _jsx("img", {
|
|
83
|
+
src: image.url,
|
|
84
|
+
alt: image.alt || heading || '',
|
|
85
|
+
className: "w-full h-full object-cover"
|
|
86
|
+
})
|
|
87
|
+
}) : /*#__PURE__*/ _jsx("div", {
|
|
88
|
+
className: "aspect-video w-full bg-muted flex items-center justify-center",
|
|
89
|
+
children: /*#__PURE__*/ _jsx("span", {
|
|
90
|
+
className: "text-muted-foreground",
|
|
91
|
+
children: "No image"
|
|
92
|
+
})
|
|
93
|
+
}),
|
|
94
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
95
|
+
style: contentStyle,
|
|
96
|
+
children: [
|
|
97
|
+
heading && /*#__PURE__*/ _jsx("h3", {
|
|
98
|
+
className: "text-lg font-semibold text-foreground mb-2",
|
|
99
|
+
children: heading
|
|
100
|
+
}),
|
|
101
|
+
text && /*#__PURE__*/ _jsx("p", {
|
|
102
|
+
className: "text-muted-foreground text-sm",
|
|
103
|
+
children: text
|
|
104
|
+
})
|
|
105
|
+
]
|
|
106
|
+
})
|
|
107
|
+
]
|
|
108
|
+
});
|
|
71
109
|
if (link) {
|
|
72
|
-
return
|
|
110
|
+
return /*#__PURE__*/ _jsx(AnimatedWrapper, {
|
|
111
|
+
animation: animation,
|
|
112
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
113
|
+
className: alignmentClasses,
|
|
114
|
+
children: /*#__PURE__*/ _jsx("a", {
|
|
115
|
+
href: link,
|
|
116
|
+
target: openInNewTab ? '_blank' : undefined,
|
|
117
|
+
rel: openInNewTab ? 'noopener noreferrer' : undefined,
|
|
118
|
+
className: "block",
|
|
119
|
+
style: wrapperStyle,
|
|
120
|
+
children: cardContent
|
|
121
|
+
})
|
|
122
|
+
})
|
|
123
|
+
});
|
|
73
124
|
}
|
|
74
|
-
return
|
|
75
|
-
|
|
125
|
+
return /*#__PURE__*/ _jsx(AnimatedWrapper, {
|
|
126
|
+
animation: animation,
|
|
127
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
128
|
+
className: alignmentClasses,
|
|
129
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
130
|
+
style: wrapperStyle,
|
|
131
|
+
children: cardContent
|
|
132
|
+
})
|
|
133
|
+
})
|
|
134
|
+
});
|
|
135
|
+
}
|
|
76
136
|
};
|
|
137
|
+
|
|
77
138
|
//# sourceMappingURL=Card.server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/interactive/Card.server.tsx"],"sourcesContent":["/**\n * Card Component - Server-safe Puck Configuration\n *\n * Content card with image, heading, and text.\n * This version contains only the render function and types - no fields.\n * Safe for use in server components.\n */\n\nimport type { ComponentConfig } from '@puckeditor/core'\nimport {\n shadowMap,\n cn,\n marginValueToCSS,\n paddingValueToCSS,\n backgroundValueToCSS,\n borderValueToCSS,\n dimensionsValueToCSS,\n transformValueToCSS,\n type PaddingValue,\n type BackgroundValue,\n type BorderValue,\n type DimensionsValue,\n type AnimationValue,\n type TransformValue,\n} from '../../fields/shared.js'\nimport { AnimatedWrapper } from '../AnimatedWrapper.js'\nimport type { MediaReference } from '../../fields/MediaField.js'\nimport type { Alignment } from '../../fields/AlignmentField.js'\n\n// Default content padding for card (replaces hardcoded p-4)\nconst DEFAULT_CONTENT_PADDING: PaddingValue = {\n top: 16,\n right: 16,\n bottom: 16,\n left: 16,\n unit: 'px',\n linked: true,\n}\n\nexport interface CardProps {\n image: MediaReference | null\n heading: string\n text: string\n link: string\n openInNewTab: boolean\n shadow: string\n margin: PaddingValue | null\n background: BackgroundValue | null\n border: BorderValue | null\n dimensions: DimensionsValue | null\n alignment: Alignment | null\n transform: TransformValue | null\n animation: AnimationValue | null\n contentPadding: PaddingValue | null\n}\n\nconst defaultProps: CardProps = {\n image: null,\n heading: 'Card Heading',\n text: 'Card description text goes here.',\n link: '',\n openInNewTab: false,\n shadow: 'md',\n margin: null,\n background: null,\n border: null,\n dimensions: null,\n alignment: null,\n transform: null,\n animation: null,\n contentPadding: DEFAULT_CONTENT_PADDING, // Default 16px padding\n}\n\nexport const CardConfig: ComponentConfig<CardProps> = {\n label: 'Card',\n defaultProps,\n render: ({ image, heading, text, link, openInNewTab, shadow, background, dimensions, alignment, margin, border, transform, animation, contentPadding }) => {\n // Check if border has radius, if so don't apply rounded-lg\n const hasBorderRadius = border?.radius && border.radius > 0\n const cardClasses = cn(\n 'overflow-hidden transition-all bg-card',\n !hasBorderRadius && 'rounded-lg',\n shadowMap[shadow] || '',\n link && 'hover:shadow-lg cursor-pointer'\n )\n\n // Wrapper style for margin, dimensions, alignment, transform, animation\n const wrapperStyle: React.CSSProperties = {}\n const marginCSS = marginValueToCSS(margin)\n if (marginCSS) {\n wrapperStyle.margin = marginCSS\n }\n const dimensionsStyles = dimensionsValueToCSS(dimensions)\n if (dimensionsStyles) {\n Object.assign(wrapperStyle, dimensionsStyles)\n }\n const transformStyles = transformValueToCSS(transform)\n if (transformStyles) {\n Object.assign(wrapperStyle, transformStyles)\n }\n\n // Alignment classes for wrapper\n const alignmentValue = alignment ?? 'left'\n const alignmentClasses = cn(\n 'flex',\n alignmentValue === 'left' && 'justify-start',\n alignmentValue === 'center' && 'justify-center',\n alignmentValue === 'right' && 'justify-end'\n )\n\n // Card background styles from BackgroundValue\n const backgroundStyles = backgroundValueToCSS(background)\n const cardStyle: React.CSSProperties = {\n ...backgroundStyles,\n }\n // Note: bg-card class handles default background (theme-aware)\n // Apply border to card\n const borderStyles = borderValueToCSS(border)\n if (borderStyles) {\n Object.assign(cardStyle, borderStyles)\n }\n\n // Content section style with configurable padding\n const contentStyle: React.CSSProperties = {}\n const contentPaddingCSS = paddingValueToCSS(contentPadding)\n if (contentPaddingCSS) {\n contentStyle.padding = contentPaddingCSS\n }\n\n const cardContent = (\n <div className={cardClasses} style={cardStyle}>\n {/* Image */}\n {image?.url ? (\n <div className=\"relative aspect-video w-full overflow-hidden\">\n {/* eslint-disable-next-line @next/next/no-img-element */}\n <img\n src={image.url}\n alt={image.alt || heading || ''}\n className=\"w-full h-full object-cover\"\n />\n </div>\n ) : (\n <div className=\"aspect-video w-full bg-muted flex items-center justify-center\">\n <span className=\"text-muted-foreground\">No image</span>\n </div>\n )}\n\n {/* Content */}\n <div style={contentStyle}>\n {heading && (\n <h3 className=\"text-lg font-semibold text-foreground mb-2\">{heading}</h3>\n )}\n {text && <p className=\"text-muted-foreground text-sm\">{text}</p>}\n </div>\n </div>\n )\n\n if (link) {\n return (\n <AnimatedWrapper animation={animation}>\n <div className={alignmentClasses}>\n <a\n href={link}\n target={openInNewTab ? '_blank' : undefined}\n rel={openInNewTab ? 'noopener noreferrer' : undefined}\n className=\"block\"\n style={wrapperStyle}\n >\n {cardContent}\n </a>\n </div>\n </AnimatedWrapper>\n )\n }\n\n return (\n <AnimatedWrapper animation={animation}>\n <div className={alignmentClasses}>\n <div style={wrapperStyle}>{cardContent}</div>\n </div>\n </AnimatedWrapper>\n )\n },\n}\n"],"names":["shadowMap","cn","marginValueToCSS","paddingValueToCSS","backgroundValueToCSS","borderValueToCSS","dimensionsValueToCSS","transformValueToCSS","AnimatedWrapper","DEFAULT_CONTENT_PADDING","top","right","bottom","left","unit","linked","defaultProps","image","heading","text","link","openInNewTab","shadow","margin","background","border","dimensions","alignment","transform","animation","contentPadding","CardConfig","label","render","hasBorderRadius","radius","cardClasses","wrapperStyle","marginCSS","dimensionsStyles","Object","assign","transformStyles","alignmentValue","alignmentClasses","backgroundStyles","cardStyle","borderStyles","contentStyle","contentPaddingCSS","padding","cardContent","div","className","style","url","img","src","alt","span","h3","p","a","href","target","undefined","rel"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Horizontal line separator with customizable style.
|
|
5
5
|
*/
|
|
6
6
|
import type { ComponentConfig } from '@puckeditor/core';
|
|
7
|
-
import { type PaddingValue, type ColorValue, type DimensionsValue, type AnimationValue, type TransformValue } from '../../fields/shared';
|
|
7
|
+
import { type PaddingValue, type ColorValue, type DimensionsValue, type AnimationValue, type TransformValue } from '../../fields/shared.js';
|
|
8
8
|
export interface DividerProps {
|
|
9
9
|
style: string;
|
|
10
10
|
color: ColorValue | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../src/components/interactive/Divider.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../src/components/interactive/Divider.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAA;AAoB/B,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,eAAe,GAAG,IAAI,CAAA;IAClC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAA;IAChC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAA;IAChC,aAAa,EAAE,YAAY,GAAG,IAAI,CAAA;CACnC;AAYD,eAAO,MAAM,aAAa,EAAE,eAqD3B,CAAA"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
/**
|
|
2
|
+
* Divider Component - Puck Configuration
|
|
3
|
+
*
|
|
4
|
+
* Horizontal line separator with customizable style.
|
|
5
|
+
*/ import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
import { dividerStyleField, dividerStyleMap, cn, marginValueToCSS, paddingValueToCSS, colorValueToCSS, dimensionsValueToCSS, transformValueToCSS } from '../../fields/shared.js';
|
|
7
|
+
import { AnimatedWrapper } from '../AnimatedWrapper.js';
|
|
8
|
+
import { createMarginField } from '../../fields/MarginField.js';
|
|
9
|
+
import { createPaddingField } from '../../fields/PaddingField.js';
|
|
10
|
+
import { createColorPickerField } from '../../fields/ColorPickerField.js';
|
|
11
|
+
import { createDimensionsField } from '../../fields/DimensionsField.js';
|
|
12
|
+
import { createAnimationField } from '../../fields/AnimationField.js';
|
|
13
|
+
import { createTransformField } from '../../fields/TransformField.js';
|
|
14
|
+
import { createResetField } from '../../fields/ResetField.js';
|
|
11
15
|
// Default padding with standard horizontal spacing (replaces hardcoded px-4)
|
|
12
16
|
const DEFAULT_PADDING = {
|
|
13
17
|
top: 0,
|
|
@@ -15,7 +19,7 @@ const DEFAULT_PADDING = {
|
|
|
15
19
|
bottom: 0,
|
|
16
20
|
left: 16,
|
|
17
21
|
unit: 'px',
|
|
18
|
-
linked: false
|
|
22
|
+
linked: false
|
|
19
23
|
};
|
|
20
24
|
const defaultProps = {
|
|
21
25
|
style: 'solid',
|
|
@@ -24,26 +28,40 @@ const defaultProps = {
|
|
|
24
28
|
dimensions: null,
|
|
25
29
|
transform: null,
|
|
26
30
|
animation: null,
|
|
27
|
-
customPadding: DEFAULT_PADDING
|
|
31
|
+
customPadding: DEFAULT_PADDING
|
|
28
32
|
};
|
|
29
33
|
export const DividerConfig = {
|
|
30
34
|
label: 'Divider',
|
|
31
35
|
fields: {
|
|
32
|
-
_reset: createResetField({
|
|
36
|
+
_reset: createResetField({
|
|
37
|
+
defaultProps
|
|
38
|
+
}),
|
|
33
39
|
style: dividerStyleField,
|
|
34
|
-
color: createColorPickerField({
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
color: createColorPickerField({
|
|
41
|
+
label: 'Color'
|
|
42
|
+
}),
|
|
43
|
+
dimensions: createDimensionsField({
|
|
44
|
+
label: 'Dimensions'
|
|
45
|
+
}),
|
|
46
|
+
transform: createTransformField({
|
|
47
|
+
label: 'Transform'
|
|
48
|
+
}),
|
|
49
|
+
animation: createAnimationField({
|
|
50
|
+
label: 'Animation'
|
|
51
|
+
}),
|
|
38
52
|
// Spacing (grouped at bottom)
|
|
39
|
-
margin: createMarginField({
|
|
40
|
-
|
|
53
|
+
margin: createMarginField({
|
|
54
|
+
label: 'Margin'
|
|
55
|
+
}),
|
|
56
|
+
customPadding: createPaddingField({
|
|
57
|
+
label: 'Padding'
|
|
58
|
+
})
|
|
41
59
|
},
|
|
42
60
|
defaultProps,
|
|
43
|
-
render: ({ style, color, dimensions, margin, transform, animation, customPadding })
|
|
61
|
+
render: ({ style, color, dimensions, margin, transform, animation, customPadding })=>{
|
|
44
62
|
const dimensionsStyles = dimensionsValueToCSS(dimensions);
|
|
45
63
|
const wrapperStyle = {
|
|
46
|
-
...dimensionsStyles
|
|
64
|
+
...dimensionsStyles
|
|
47
65
|
};
|
|
48
66
|
const marginCSS = marginValueToCSS(margin);
|
|
49
67
|
if (marginCSS) {
|
|
@@ -59,10 +77,20 @@ export const DividerConfig = {
|
|
|
59
77
|
}
|
|
60
78
|
// Only set color if explicitly provided, otherwise use CSS variable
|
|
61
79
|
const customColor = colorValueToCSS(color);
|
|
62
|
-
const hrStyle = customColor
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return
|
|
66
|
-
|
|
80
|
+
const hrStyle = customColor ? {
|
|
81
|
+
borderColor: customColor
|
|
82
|
+
} : undefined;
|
|
83
|
+
return /*#__PURE__*/ _jsx(AnimatedWrapper, {
|
|
84
|
+
animation: animation,
|
|
85
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
86
|
+
style: Object.keys(wrapperStyle).length > 0 ? wrapperStyle : undefined,
|
|
87
|
+
children: /*#__PURE__*/ _jsx("hr", {
|
|
88
|
+
className: cn('border-t border-border', dividerStyleMap[style] || dividerStyleMap.solid),
|
|
89
|
+
style: hrStyle
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
});
|
|
93
|
+
}
|
|
67
94
|
};
|
|
95
|
+
|
|
68
96
|
//# sourceMappingURL=Divider.js.map
|