@delmaredigital/payload-puck 0.6.10 → 0.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -1
- package/dist/admin/EditWithPuckButton.d.ts +1 -1
- package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
- package/dist/admin/EditWithPuckButton.js +65 -25
- package/dist/admin/EditWithPuckButton.js.map +1 -1
- package/dist/admin/EditWithPuckCell.js +43 -13
- package/dist/admin/EditWithPuckCell.js.map +1 -1
- package/dist/admin/PuckEditorView.d.ts +1 -1
- package/dist/admin/PuckEditorView.d.ts.map +1 -1
- package/dist/admin/PuckEditorView.js +118 -32
- package/dist/admin/PuckEditorView.js.map +1 -1
- package/dist/admin/client.d.ts +2 -2
- package/dist/admin/client.d.ts.map +1 -1
- package/dist/admin/client.js +4 -4
- package/dist/admin/client.js.map +1 -1
- package/dist/admin/generateAdminComponents.js +7 -7
- package/dist/admin/generateAdminComponents.js.map +1 -1
- package/dist/admin/index.d.ts +5 -5
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +3 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/ai/collections/AiContext.js +56 -29
- package/dist/ai/collections/AiContext.js.map +1 -1
- package/dist/ai/collections/AiPrompts.js +24 -19
- package/dist/ai/collections/AiPrompts.js.map +1 -1
- package/dist/ai/createAiApiRoutes.js +28 -19
- package/dist/ai/createAiApiRoutes.js.map +1 -1
- package/dist/ai/createAiGenerate.js +7 -8
- package/dist/ai/createAiGenerate.js.map +1 -1
- package/dist/ai/createAiPlugin.js +7 -9
- package/dist/ai/createAiPlugin.js.map +1 -1
- package/dist/ai/hooks/useAiContext.js +50 -39
- package/dist/ai/hooks/useAiContext.js.map +1 -1
- package/dist/ai/hooks/useAiPrompts.js +33 -25
- package/dist/ai/hooks/useAiPrompts.js.map +1 -1
- package/dist/ai/index.js +9 -10
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/plugins/ContextEditorPanel.d.ts +1 -1
- package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -1
- package/dist/ai/plugins/ContextEditorPanel.js +399 -107
- package/dist/ai/plugins/ContextEditorPanel.js.map +1 -1
- package/dist/ai/plugins/PromptEditorPanel.d.ts +1 -1
- package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -1
- package/dist/ai/plugins/PromptEditorPanel.js +237 -51
- package/dist/ai/plugins/PromptEditorPanel.js.map +1 -1
- package/dist/ai/plugins/contextEditorPlugin.js +12 -5
- package/dist/ai/plugins/contextEditorPlugin.js.map +1 -1
- package/dist/ai/plugins/promptApiRoutes.js +119 -50
- package/dist/ai/plugins/promptApiRoutes.js.map +1 -1
- package/dist/ai/plugins/promptEditorPlugin.js +12 -5
- package/dist/ai/plugins/promptEditorPlugin.js.map +1 -1
- package/dist/ai/presets/componentAiDefaults.js +108 -83
- package/dist/ai/presets/componentAiDefaults.js.map +1 -1
- package/dist/ai/presets/index.js +12 -18
- package/dist/ai/presets/index.js.map +1 -1
- package/dist/ai/presets/instructions/interactive.js +85 -75
- package/dist/ai/presets/instructions/interactive.js.map +1 -1
- package/dist/ai/presets/instructions/layout.js +122 -117
- package/dist/ai/presets/instructions/layout.js.map +1 -1
- package/dist/ai/presets/instructions/media.js +31 -29
- package/dist/ai/presets/instructions/media.js.map +1 -1
- package/dist/ai/presets/instructions/pagePatterns.js +4 -6
- package/dist/ai/presets/instructions/pagePatterns.js.map +1 -1
- package/dist/ai/presets/instructions/schemas.js +495 -137
- package/dist/ai/presets/instructions/schemas.js.map +1 -1
- package/dist/ai/presets/instructions/typography.js +38 -33
- package/dist/ai/presets/instructions/typography.js.map +1 -1
- package/dist/ai/tools/index.js +92 -55
- package/dist/ai/tools/index.js.map +1 -1
- package/dist/ai/types.js +7 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/utils/injectAiConfig.js +33 -40
- package/dist/ai/utils/injectAiConfig.js.map +1 -1
- package/dist/api/createPuckApiRoutes.d.ts +1 -1
- package/dist/api/createPuckApiRoutes.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutes.js +123 -65
- package/dist/api/createPuckApiRoutes.js.map +1 -1
- package/dist/api/createPuckApiRoutesVersions.d.ts +1 -1
- package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutesVersions.js +88 -37
- package/dist/api/createPuckApiRoutesVersions.js.map +1 -1
- package/dist/api/createPuckApiRoutesWithId.d.ts +1 -1
- package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutesWithId.js +166 -72
- package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
- package/dist/api/index.d.ts +5 -5
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +6 -6
- package/dist/api/index.js.map +1 -1
- package/dist/api/payload-config.d.js +15 -0
- package/dist/api/payload-config.d.js.map +1 -0
- package/dist/api/types.js +4 -1
- package/dist/api/types.js.map +1 -1
- package/dist/api/utils/mapRootProps.d.ts +1 -1
- package/dist/api/utils/mapRootProps.d.ts.map +1 -1
- package/dist/api/utils/mapRootProps.js +77 -44
- package/dist/api/utils/mapRootProps.js.map +1 -1
- package/dist/collections/Templates.js +24 -20
- package/dist/collections/Templates.js.map +1 -1
- package/dist/components/AccordionClient.d.ts +2 -2
- package/dist/components/AccordionClient.d.ts.map +1 -1
- package/dist/components/AccordionClient.js +81 -22
- package/dist/components/AccordionClient.js.map +1 -1
- package/dist/components/AnimatedWrapper.d.ts +2 -2
- package/dist/components/AnimatedWrapper.d.ts.map +1 -1
- package/dist/components/AnimatedWrapper.js +31 -16
- package/dist/components/AnimatedWrapper.js.map +1 -1
- package/dist/components/exports.js +2 -2
- package/dist/components/exports.js.map +1 -1
- package/dist/components/index.d.ts +5 -5
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +7 -7
- package/dist/components/index.js.map +1 -1
- package/dist/components/interactive/Accordion.d.ts +1 -1
- package/dist/components/interactive/Accordion.d.ts.map +1 -1
- package/dist/components/interactive/Accordion.js +149 -55
- package/dist/components/interactive/Accordion.js.map +1 -1
- package/dist/components/interactive/Accordion.server.d.ts +1 -1
- package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
- package/dist/components/interactive/Accordion.server.js +25 -7
- package/dist/components/interactive/Accordion.server.js.map +1 -1
- package/dist/components/interactive/Button.d.ts +3 -3
- package/dist/components/interactive/Button.d.ts.map +1 -1
- package/dist/components/interactive/Button.js +89 -43
- package/dist/components/interactive/Button.js.map +1 -1
- package/dist/components/interactive/Button.server.d.ts +2 -2
- package/dist/components/interactive/Button.server.d.ts.map +1 -1
- package/dist/components/interactive/Button.server.js +40 -20
- package/dist/components/interactive/Button.server.js.map +1 -1
- package/dist/components/interactive/Card.d.ts +3 -3
- package/dist/components/interactive/Card.d.ts.map +1 -1
- package/dist/components/interactive/Card.js +131 -39
- package/dist/components/interactive/Card.js.map +1 -1
- package/dist/components/interactive/Card.server.d.ts +3 -3
- package/dist/components/interactive/Card.server.d.ts.map +1 -1
- package/dist/components/interactive/Card.server.js +72 -11
- package/dist/components/interactive/Card.server.js.map +1 -1
- package/dist/components/interactive/Divider.d.ts +1 -1
- package/dist/components/interactive/Divider.d.ts.map +1 -1
- package/dist/components/interactive/Divider.js +54 -26
- package/dist/components/interactive/Divider.js.map +1 -1
- package/dist/components/interactive/Divider.server.d.ts +1 -1
- package/dist/components/interactive/Divider.server.d.ts.map +1 -1
- package/dist/components/interactive/Divider.server.js +28 -12
- package/dist/components/interactive/Divider.server.js.map +1 -1
- package/dist/components/interactive/index.d.ts +4 -4
- package/dist/components/interactive/index.d.ts.map +1 -1
- package/dist/components/interactive/index.js +5 -5
- package/dist/components/interactive/index.js.map +1 -1
- package/dist/components/layout/Container.d.ts +1 -1
- package/dist/components/layout/Container.d.ts.map +1 -1
- package/dist/components/layout/Container.js +101 -47
- package/dist/components/layout/Container.js.map +1 -1
- package/dist/components/layout/Container.server.d.ts +1 -1
- package/dist/components/layout/Container.server.d.ts.map +1 -1
- package/dist/components/layout/Container.server.js +67 -19
- package/dist/components/layout/Container.server.js.map +1 -1
- package/dist/components/layout/Flex.d.ts +2 -2
- package/dist/components/layout/Flex.d.ts.map +1 -1
- package/dist/components/layout/Flex.js +124 -55
- package/dist/components/layout/Flex.js.map +1 -1
- package/dist/components/layout/Flex.server.d.ts +1 -1
- package/dist/components/layout/Flex.server.d.ts.map +1 -1
- package/dist/components/layout/Flex.server.js +50 -14
- package/dist/components/layout/Flex.server.js.map +1 -1
- package/dist/components/layout/Grid.d.ts +1 -1
- package/dist/components/layout/Grid.d.ts.map +1 -1
- package/dist/components/layout/Grid.js +93 -44
- package/dist/components/layout/Grid.js.map +1 -1
- package/dist/components/layout/Grid.server.d.ts +1 -1
- package/dist/components/layout/Grid.server.d.ts.map +1 -1
- package/dist/components/layout/Grid.server.js +56 -14
- package/dist/components/layout/Grid.server.js.map +1 -1
- package/dist/components/layout/Section.d.ts +1 -1
- package/dist/components/layout/Section.d.ts.map +1 -1
- package/dist/components/layout/Section.js +147 -64
- package/dist/components/layout/Section.js.map +1 -1
- package/dist/components/layout/Section.server.d.ts +1 -1
- package/dist/components/layout/Section.server.d.ts.map +1 -1
- package/dist/components/layout/Section.server.js +92 -28
- package/dist/components/layout/Section.server.js.map +1 -1
- package/dist/components/layout/Spacer.d.ts +1 -1
- package/dist/components/layout/Spacer.d.ts.map +1 -1
- package/dist/components/layout/Spacer.js +80 -30
- package/dist/components/layout/Spacer.js.map +1 -1
- package/dist/components/layout/Spacer.server.d.ts +1 -1
- package/dist/components/layout/Spacer.server.d.ts.map +1 -1
- package/dist/components/layout/Spacer.server.js +31 -9
- package/dist/components/layout/Spacer.server.js.map +1 -1
- package/dist/components/layout/Template.d.ts +1 -1
- package/dist/components/layout/Template.d.ts.map +1 -1
- package/dist/components/layout/Template.js +58 -30
- package/dist/components/layout/Template.js.map +1 -1
- package/dist/components/layout/Template.server.d.ts +1 -1
- package/dist/components/layout/Template.server.d.ts.map +1 -1
- package/dist/components/layout/Template.server.js +43 -11
- package/dist/components/layout/Template.server.js.map +1 -1
- package/dist/components/layout/index.d.ts +8 -8
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/index.js +8 -8
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/media/Image.d.ts +3 -3
- package/dist/components/media/Image.d.ts.map +1 -1
- package/dist/components/media/Image.js +122 -39
- package/dist/components/media/Image.js.map +1 -1
- package/dist/components/media/Image.server.d.ts +3 -3
- package/dist/components/media/Image.server.d.ts.map +1 -1
- package/dist/components/media/Image.server.js +76 -13
- package/dist/components/media/Image.server.js.map +1 -1
- package/dist/components/media/index.d.ts +1 -1
- package/dist/components/media/index.d.ts.map +1 -1
- package/dist/components/media/index.js +2 -2
- package/dist/components/media/index.js.map +1 -1
- package/dist/components/typography/Heading.d.ts +2 -2
- package/dist/components/typography/Heading.d.ts.map +1 -1
- package/dist/components/typography/Heading.js +45 -25
- package/dist/components/typography/Heading.js.map +1 -1
- package/dist/components/typography/Heading.server.d.ts +2 -2
- package/dist/components/typography/Heading.server.d.ts.map +1 -1
- package/dist/components/typography/Heading.server.js +16 -10
- package/dist/components/typography/Heading.server.js.map +1 -1
- package/dist/components/typography/RichText.editor.d.ts +1 -1
- package/dist/components/typography/RichText.editor.d.ts.map +1 -1
- package/dist/components/typography/RichText.editor.js +44 -19
- package/dist/components/typography/RichText.editor.js.map +1 -1
- package/dist/components/typography/RichText.server.d.ts +2 -2
- package/dist/components/typography/RichText.server.d.ts.map +1 -1
- package/dist/components/typography/RichText.server.js +33 -14
- package/dist/components/typography/RichText.server.js.map +1 -1
- package/dist/components/typography/Text.d.ts +2 -2
- package/dist/components/typography/Text.d.ts.map +1 -1
- package/dist/components/typography/Text.js +49 -23
- package/dist/components/typography/Text.js.map +1 -1
- package/dist/components/typography/Text.server.d.ts +2 -2
- package/dist/components/typography/Text.server.d.ts.map +1 -1
- package/dist/components/typography/Text.server.js +21 -8
- package/dist/components/typography/Text.server.js.map +1 -1
- package/dist/components/typography/index.d.ts +4 -4
- package/dist/components/typography/index.d.ts.map +1 -1
- package/dist/components/typography/index.js +5 -5
- package/dist/components/typography/index.js.map +1 -1
- package/dist/config/config.editor.d.ts +3 -3
- package/dist/config/config.editor.d.ts.map +1 -1
- package/dist/config/config.editor.js +119 -54
- package/dist/config/config.editor.js.map +1 -1
- package/dist/config/index.d.ts +4 -4
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +62 -35
- package/dist/config/index.js.map +1 -1
- package/dist/config/merge.d.ts +1 -1
- package/dist/config/merge.d.ts.map +1 -1
- package/dist/config/merge.js +23 -26
- package/dist/config/merge.js.map +1 -1
- package/dist/config/presets.d.ts +4 -4
- package/dist/config/presets.js +195 -75
- package/dist/config/presets.js.map +1 -1
- package/dist/config/types.js +6 -2
- package/dist/config/types.js.map +1 -1
- package/dist/editor/PuckEditor.d.ts +12 -4
- package/dist/editor/PuckEditor.d.ts.map +1 -1
- package/dist/editor/PuckEditor.js +168 -67
- package/dist/editor/PuckEditor.js.map +1 -1
- package/dist/editor/PuckEditorImpl.client.d.ts +4 -4
- package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
- package/dist/editor/PuckEditorImpl.client.js +304 -152
- package/dist/editor/PuckEditorImpl.client.js.map +1 -1
- package/dist/editor/components/DarkModeStyles.js +11 -12
- package/dist/editor/components/DarkModeStyles.js.map +1 -1
- package/dist/editor/components/HeaderActions.js +308 -64
- package/dist/editor/components/HeaderActions.js.map +1 -1
- package/dist/editor/components/IframeWrapper.d.ts +1 -1
- package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
- package/dist/editor/components/IframeWrapper.js +82 -58
- package/dist/editor/components/IframeWrapper.js.map +1 -1
- package/dist/editor/components/LoadingState.d.ts +1 -1
- package/dist/editor/components/LoadingState.d.ts.map +1 -1
- package/dist/editor/components/LoadingState.js +17 -3
- package/dist/editor/components/LoadingState.js.map +1 -1
- package/dist/editor/components/PreviewModal.js +234 -78
- package/dist/editor/components/PreviewModal.js.map +1 -1
- package/dist/editor/components/PreviewModeToggle.js +43 -15
- package/dist/editor/components/PreviewModeToggle.js.map +1 -1
- package/dist/editor/components/VersionHistory.js +219 -71
- package/dist/editor/components/VersionHistory.js.map +1 -1
- package/dist/editor/hooks/useDarkMode.js +36 -23
- package/dist/editor/hooks/useDarkMode.js.map +1 -1
- package/dist/editor/hooks/useUnsavedChanges.js +8 -8
- package/dist/editor/hooks/useUnsavedChanges.js.map +1 -1
- package/dist/editor/index.js +5 -6
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/plugins/VersionHistoryPanel.js +236 -75
- package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -1
- package/dist/editor/plugins/index.js +4 -4
- package/dist/editor/plugins/index.js.map +1 -1
- package/dist/editor/plugins/versionHistoryPlugin.js +10 -8
- package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -1
- package/dist/editor/utils/detectPageTree.js +5 -5
- package/dist/editor/utils/detectPageTree.js.map +1 -1
- package/dist/editor/utils/index.js +1 -0
- package/dist/editor/utils/index.js.map +1 -1
- package/dist/editor/utils/injectPageTreeFields.js +13 -9
- package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
- package/dist/endpoints/ai.js +58 -34
- package/dist/endpoints/ai.js.map +1 -1
- package/dist/endpoints/context.js +86 -40
- package/dist/endpoints/context.js.map +1 -1
- package/dist/endpoints/index.js +153 -76
- package/dist/endpoints/index.js.map +1 -1
- package/dist/endpoints/postcss.d.js +5 -0
- package/dist/endpoints/postcss.d.js.map +1 -0
- package/dist/endpoints/prompts.js +81 -39
- package/dist/endpoints/prompts.js.map +1 -1
- package/dist/endpoints/styles.js +34 -36
- package/dist/endpoints/styles.js.map +1 -1
- package/dist/exports/client.js +2 -2
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/rsc.js +2 -2
- package/dist/exports/rsc.js.map +1 -1
- package/dist/fields/AlignmentField.d.ts +1 -1
- package/dist/fields/AlignmentField.d.ts.map +1 -1
- package/dist/fields/AlignmentField.js +93 -30
- package/dist/fields/AlignmentField.js.map +1 -1
- package/dist/fields/AnimationField.d.ts +2 -2
- package/dist/fields/AnimationField.d.ts.map +1 -1
- package/dist/fields/AnimationField.js +558 -84
- package/dist/fields/AnimationField.js.map +1 -1
- package/dist/fields/BackgroundField.d.ts +2 -2
- package/dist/fields/BackgroundField.d.ts.map +1 -1
- package/dist/fields/BackgroundField.js +754 -120
- package/dist/fields/BackgroundField.js.map +1 -1
- package/dist/fields/BorderField.d.ts +2 -2
- package/dist/fields/BorderField.d.ts.map +1 -1
- package/dist/fields/BorderField.js +275 -73
- package/dist/fields/BorderField.js.map +1 -1
- package/dist/fields/ColorPickerField.d.ts +2 -2
- package/dist/fields/ColorPickerField.d.ts.map +1 -1
- package/dist/fields/ColorPickerField.js +210 -68
- package/dist/fields/ColorPickerField.js.map +1 -1
- package/dist/fields/ContentAlignmentField.d.ts +1 -1
- package/dist/fields/ContentAlignmentField.d.ts.map +1 -1
- package/dist/fields/ContentAlignmentField.js +161 -75
- package/dist/fields/ContentAlignmentField.js.map +1 -1
- package/dist/fields/DimensionsField.d.ts +2 -2
- package/dist/fields/DimensionsField.d.ts.map +1 -1
- package/dist/fields/DimensionsField.js +575 -146
- package/dist/fields/DimensionsField.js.map +1 -1
- package/dist/fields/FlexAlignmentField.d.ts +2 -2
- package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
- package/dist/fields/FlexAlignmentField.js +189 -51
- package/dist/fields/FlexAlignmentField.js.map +1 -1
- package/dist/fields/FolderPickerField.d.ts +8 -1
- package/dist/fields/FolderPickerField.d.ts.map +1 -1
- package/dist/fields/FolderPickerField.js +288 -75
- package/dist/fields/FolderPickerField.js.map +1 -1
- package/dist/fields/GradientEditor.d.ts +2 -2
- package/dist/fields/GradientEditor.d.ts.map +1 -1
- package/dist/fields/GradientEditor.js +462 -86
- package/dist/fields/GradientEditor.js.map +1 -1
- package/dist/fields/LockedField.d.ts +15 -2
- package/dist/fields/LockedField.d.ts.map +1 -1
- package/dist/fields/LockedField.js +180 -49
- package/dist/fields/LockedField.js.map +1 -1
- package/dist/fields/MarginField.d.ts +2 -2
- package/dist/fields/MarginField.d.ts.map +1 -1
- package/dist/fields/MarginField.js +144 -46
- package/dist/fields/MarginField.js.map +1 -1
- package/dist/fields/MediaField.d.ts +1 -1
- package/dist/fields/MediaField.d.ts.map +1 -1
- package/dist/fields/MediaField.js +688 -186
- package/dist/fields/MediaField.js.map +1 -1
- package/dist/fields/PaddingField.d.ts +2 -2
- package/dist/fields/PaddingField.d.ts.map +1 -1
- package/dist/fields/PaddingField.js +144 -46
- package/dist/fields/PaddingField.js.map +1 -1
- package/dist/fields/PageSegmentField.d.ts +15 -2
- package/dist/fields/PageSegmentField.d.ts.map +1 -1
- package/dist/fields/PageSegmentField.js +156 -54
- package/dist/fields/PageSegmentField.js.map +1 -1
- package/dist/fields/ResetField.d.ts +1 -1
- package/dist/fields/ResetField.d.ts.map +1 -1
- package/dist/fields/ResetField.js +59 -31
- package/dist/fields/ResetField.js.map +1 -1
- package/dist/fields/ResponsiveField.d.ts +1 -1
- package/dist/fields/ResponsiveField.d.ts.map +1 -1
- package/dist/fields/ResponsiveField.js +233 -90
- package/dist/fields/ResponsiveField.js.map +1 -1
- package/dist/fields/ResponsiveVisibilityField.d.ts +2 -2
- package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
- package/dist/fields/ResponsiveVisibilityField.js +119 -36
- package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
- package/dist/fields/SizeField.d.ts +3 -3
- package/dist/fields/SizeField.d.ts.map +1 -1
- package/dist/fields/SizeField.js +226 -52
- package/dist/fields/SizeField.js.map +1 -1
- package/dist/fields/SlugPreviewField.d.ts +8 -1
- package/dist/fields/SlugPreviewField.d.ts.map +1 -1
- package/dist/fields/SlugPreviewField.js +65 -16
- package/dist/fields/SlugPreviewField.js.map +1 -1
- package/dist/fields/TemplateField.d.ts +1 -1
- package/dist/fields/TemplateField.d.ts.map +1 -1
- package/dist/fields/TemplateField.js +362 -120
- package/dist/fields/TemplateField.js.map +1 -1
- package/dist/fields/TransformField.d.ts +2 -2
- package/dist/fields/TransformField.d.ts.map +1 -1
- package/dist/fields/TransformField.js +517 -81
- package/dist/fields/TransformField.js.map +1 -1
- package/dist/fields/VerticalAlignmentField.d.ts +1 -1
- package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
- package/dist/fields/VerticalAlignmentField.js +93 -30
- package/dist/fields/VerticalAlignmentField.js.map +1 -1
- package/dist/fields/WidthField.d.ts +2 -2
- package/dist/fields/WidthField.d.ts.map +1 -1
- package/dist/fields/WidthField.js +278 -81
- package/dist/fields/WidthField.js.map +1 -1
- package/dist/fields/index.d.ts +41 -41
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +37 -43
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts +13 -2
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.js +212 -47
- package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
- package/dist/fields/richtext/controls/DropdownPortal.d.ts +2 -2
- package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -1
- package/dist/fields/richtext/controls/DropdownPortal.js +36 -4
- package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -1
- package/dist/fields/richtext/controls/FontSizeControl.d.ts +9 -1
- package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/FontSizeControl.js +109 -24
- package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
- package/dist/fields/richtext/controls/HighlightControl.d.ts +12 -1
- package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/HighlightControl.js +54 -17
- package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
- package/dist/fields/richtext/controls/index.d.ts +5 -5
- package/dist/fields/richtext/controls/index.d.ts.map +1 -1
- package/dist/fields/richtext/controls/index.js +8 -11
- package/dist/fields/richtext/controls/index.js.map +1 -1
- package/dist/fields/richtext/controls/shared.js +108 -63
- package/dist/fields/richtext/controls/shared.js.map +1 -1
- package/dist/fields/richtext/createRichTextField.d.ts +18 -4
- package/dist/fields/richtext/createRichTextField.d.ts.map +1 -1
- package/dist/fields/richtext/createRichTextField.js +113 -26
- package/dist/fields/richtext/createRichTextField.js.map +1 -1
- package/dist/fields/richtext/extensions/FontSize.js +26 -20
- package/dist/fields/richtext/extensions/FontSize.js.map +1 -1
- package/dist/fields/richtext/extensions/index.d.ts +1 -1
- package/dist/fields/richtext/extensions/index.d.ts.map +1 -1
- package/dist/fields/richtext/extensions/index.js +2 -2
- package/dist/fields/richtext/extensions/index.js.map +1 -1
- package/dist/fields/richtext/index.d.ts +6 -6
- package/dist/fields/richtext/index.d.ts.map +1 -1
- package/dist/fields/richtext/index.js +8 -8
- package/dist/fields/richtext/index.js.map +1 -1
- package/dist/fields/shared.d.ts +1 -1
- package/dist/fields/shared.d.ts.map +1 -1
- package/dist/fields/shared.js +915 -478
- package/dist/fields/shared.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useResponsiveStyles.d.ts +1 -1
- package/dist/hooks/useResponsiveStyles.d.ts.map +1 -1
- package/dist/hooks/useResponsiveStyles.js +36 -32
- package/dist/hooks/useResponsiveStyles.js.map +1 -1
- package/dist/hooks/useScrollAnimation.js +26 -24
- package/dist/hooks/useScrollAnimation.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/layouts/LayoutWrapper.d.ts +3 -3
- package/dist/layouts/LayoutWrapper.d.ts.map +1 -1
- package/dist/layouts/LayoutWrapper.js +115 -51
- package/dist/layouts/LayoutWrapper.js.map +1 -1
- package/dist/layouts/defaults.d.ts +1 -1
- package/dist/layouts/defaults.d.ts.map +1 -1
- package/dist/layouts/defaults.js +23 -31
- package/dist/layouts/defaults.js.map +1 -1
- package/dist/layouts/index.d.ts +4 -4
- package/dist/layouts/index.d.ts.map +1 -1
- package/dist/layouts/index.js +5 -4
- package/dist/layouts/index.js.map +1 -1
- package/dist/layouts/types.js +4 -2
- package/dist/layouts/types.js.map +1 -1
- package/dist/layouts/utils.d.ts +1 -1
- package/dist/layouts/utils.d.ts.map +1 -1
- package/dist/layouts/utils.js +32 -40
- package/dist/layouts/utils.js.map +1 -1
- package/dist/next/index.js +31 -34
- package/dist/next/index.js.map +1 -1
- package/dist/plugin/collections/Pages.d.ts +2 -2
- package/dist/plugin/collections/Pages.d.ts.map +1 -1
- package/dist/plugin/collections/Pages.js +46 -43
- package/dist/plugin/collections/Pages.js.map +1 -1
- package/dist/plugin/fields/index.d.ts +3 -3
- package/dist/plugin/fields/index.d.ts.map +1 -1
- package/dist/plugin/fields/index.js +100 -78
- package/dist/plugin/fields/index.js.map +1 -1
- package/dist/plugin/fields/types.d.ts +1 -1
- package/dist/plugin/fields/types.d.ts.map +1 -1
- package/dist/plugin/fields/types.js +26 -2
- package/dist/plugin/fields/types.js.map +1 -1
- package/dist/plugin/hooks/index.d.ts +1 -1
- package/dist/plugin/hooks/index.d.ts.map +1 -1
- package/dist/plugin/hooks/index.js +2 -2
- package/dist/plugin/hooks/index.js.map +1 -1
- package/dist/plugin/hooks/isHomepageUnique.js +28 -19
- package/dist/plugin/hooks/isHomepageUnique.js.map +1 -1
- package/dist/plugin/index.d.ts +8 -8
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +192 -188
- package/dist/plugin/index.js.map +1 -1
- package/dist/render/HybridPageRenderer.d.ts +2 -2
- package/dist/render/HybridPageRenderer.d.ts.map +1 -1
- package/dist/render/HybridPageRenderer.js +58 -10
- package/dist/render/HybridPageRenderer.js.map +1 -1
- package/dist/render/PageRenderer.d.ts +2 -2
- package/dist/render/PageRenderer.d.ts.map +1 -1
- package/dist/render/PageRenderer.js +31 -14
- package/dist/render/PageRenderer.js.map +1 -1
- package/dist/render/PuckEditor.client.d.ts +1 -1
- package/dist/render/PuckEditor.client.d.ts.map +1 -1
- package/dist/render/PuckEditor.client.js +33 -16
- package/dist/render/PuckEditor.client.js.map +1 -1
- package/dist/render/index.d.ts +5 -5
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +5 -6
- package/dist/render/index.js.map +1 -1
- package/dist/styles/puck-dark-mode.css +101 -0
- package/dist/theme/context.d.ts +2 -2
- package/dist/theme/context.d.ts.map +1 -1
- package/dist/theme/context.js +21 -18
- package/dist/theme/context.js.map +1 -1
- package/dist/theme/defaults.d.ts +1 -1
- package/dist/theme/defaults.d.ts.map +1 -1
- package/dist/theme/defaults.js +83 -37
- package/dist/theme/defaults.js.map +1 -1
- package/dist/theme/example.d.ts +1 -1
- package/dist/theme/example.d.ts.map +1 -1
- package/dist/theme/example.js +68 -30
- package/dist/theme/example.js.map +1 -1
- package/dist/theme/index.d.ts +5 -5
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +6 -5
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/types.js +6 -2
- package/dist/theme/types.js.map +1 -1
- package/dist/theme/utils.d.ts +1 -1
- package/dist/theme/utils.d.ts.map +1 -1
- package/dist/theme/utils.js +24 -25
- package/dist/theme/utils.js.map +1 -1
- package/dist/types/index.d.ts +42 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +13 -22
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/migration.d.ts +1 -1
- package/dist/utils/migration.d.ts.map +1 -1
- package/dist/utils/migration.js +43 -49
- package/dist/utils/migration.js.map +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +36 -43
- package/dist/utils/validation.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/dist/views/PuckConfigContext.d.ts +1 -1
- package/dist/views/PuckConfigContext.d.ts.map +1 -1
- package/dist/views/PuckConfigContext.js +25 -10
- package/dist/views/PuckConfigContext.js.map +1 -1
- package/dist/views/PuckEditorView.d.ts +1 -1
- package/dist/views/PuckEditorView.d.ts.map +1 -1
- package/dist/views/PuckEditorView.js +137 -41
- package/dist/views/PuckEditorView.js.map +1 -1
- package/dist/views/index.js +2 -2
- package/dist/views/index.js.map +1 -1
- package/package.json +62 -42
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextEditorPanel.js","sourceRoot":"","sources":["../../../src/ai/plugins/ContextEditorPanel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/ai/plugins/ContextEditorPanel.tsx"],"sourcesContent":["'use client'\n\nimport { useState, useEffect, useCallback } from 'react'\nimport { Plus, Pencil, Trash2, ChevronUp, ChevronDown, Save, X, Eye, EyeOff } from 'lucide-react'\nimport type { AiContext, ContextEditorPluginOptions } from '../types.js'\nimport { dispatchContextUpdated } from '../hooks/useAiContext.js'\n\ninterface ContextEditorPanelProps extends ContextEditorPluginOptions {}\n\nconst CATEGORY_OPTIONS = [\n { label: 'Brand Guidelines', value: 'brand' },\n { label: 'Tone of Voice', value: 'tone' },\n { label: 'Product Information', value: 'product' },\n { label: 'Industry Context', value: 'industry' },\n { label: 'Technical Requirements', value: 'technical' },\n { label: 'Page Patterns', value: 'patterns' },\n { label: 'Other', value: 'other' },\n]\n\n/**\n * Panel component for managing AI context in the Puck editor sidebar\n */\nexport function ContextEditorPanel({\n apiEndpoint = '/api/puck/ai-context',\n canEdit = true,\n canCreate = true,\n canDelete = true,\n}: ContextEditorPanelProps) {\n const [context, setContext] = useState<AiContext[]>([])\n const [loading, setLoading] = useState(true)\n const [error, setError] = useState<string | null>(null)\n const [editingContext, setEditingContext] = useState<Partial<AiContext> | null>(null)\n const [saving, setSaving] = useState(false)\n\n // Fetch context on mount (include all, both enabled and disabled)\n const fetchContext = useCallback(async () => {\n try {\n setLoading(true)\n setError(null)\n const response = await fetch(`${apiEndpoint}?all=true`)\n\n if (!response.ok) {\n throw new Error('Failed to fetch context')\n }\n\n const data = await response.json()\n setContext(data.docs || [])\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load context')\n } finally {\n setLoading(false)\n }\n }, [apiEndpoint])\n\n useEffect(() => {\n fetchContext()\n }, [fetchContext])\n\n // Save context (create or update)\n const handleSave = async () => {\n if (!editingContext) return\n\n try {\n setSaving(true)\n setError(null)\n\n const isNew = !editingContext.id\n const url = isNew ? apiEndpoint : `${apiEndpoint}/${editingContext.id}`\n const method = isNew ? 'POST' : 'PATCH'\n\n const response = await fetch(url, {\n method,\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n name: editingContext.name,\n content: editingContext.content,\n category: editingContext.category,\n enabled: editingContext.enabled ?? true,\n order: editingContext.order ?? 0,\n }),\n })\n\n if (!response.ok) {\n throw new Error('Failed to save context')\n }\n\n setEditingContext(null)\n await fetchContext()\n dispatchContextUpdated()\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to save context')\n } finally {\n setSaving(false)\n }\n }\n\n // Toggle enabled state\n const handleToggleEnabled = async (entry: AiContext) => {\n try {\n setError(null)\n const response = await fetch(`${apiEndpoint}/${entry.id}`, {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ enabled: !entry.enabled }),\n })\n\n if (!response.ok) {\n throw new Error('Failed to update context')\n }\n\n await fetchContext()\n dispatchContextUpdated()\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to update context')\n }\n }\n\n // Delete context\n const handleDelete = async (id: string) => {\n if (!confirm('Are you sure you want to delete this context entry?')) return\n\n try {\n setError(null)\n const response = await fetch(`${apiEndpoint}/${id}`, {\n method: 'DELETE',\n })\n\n if (!response.ok) {\n throw new Error('Failed to delete context')\n }\n\n await fetchContext()\n dispatchContextUpdated()\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to delete context')\n }\n }\n\n // Move context entry up (swap order with previous entry)\n const handleMoveUp = async (entry: AiContext, index: number) => {\n if (index === 0) return // Already at top\n\n try {\n setError(null)\n const prevEntry = context[index - 1]\n\n // Swap order values\n await Promise.all([\n fetch(`${apiEndpoint}/${entry.id}`, {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ order: prevEntry.order }),\n }),\n fetch(`${apiEndpoint}/${prevEntry.id}`, {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ order: entry.order }),\n }),\n ])\n\n await fetchContext()\n dispatchContextUpdated()\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to reorder context')\n }\n }\n\n // Move context entry down (swap order with next entry)\n const handleMoveDown = async (entry: AiContext, index: number) => {\n if (index >= context.length - 1) return // Already at bottom\n\n try {\n setError(null)\n const nextEntry = context[index + 1]\n\n // Swap order values\n await Promise.all([\n fetch(`${apiEndpoint}/${entry.id}`, {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ order: nextEntry.order }),\n }),\n fetch(`${apiEndpoint}/${nextEntry.id}`, {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ order: entry.order }),\n }),\n ])\n\n await fetchContext()\n dispatchContextUpdated()\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to reorder context')\n }\n }\n\n // Styles (matching PromptEditorPanel)\n const styles = {\n container: {\n padding: '16px',\n display: 'flex',\n flexDirection: 'column' as const,\n gap: '12px',\n height: '100%',\n overflowY: 'auto' as const,\n },\n header: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: '8px',\n },\n title: {\n fontSize: '14px',\n fontWeight: 600,\n color: 'var(--puck-color-grey-01)',\n margin: 0,\n },\n addButton: {\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n padding: '6px 12px',\n fontSize: '13px',\n fontWeight: 500,\n color: 'var(--puck-color-azure-04)',\n backgroundColor: 'var(--puck-color-azure-12)',\n border: 'none',\n borderRadius: '4px',\n cursor: 'pointer',\n },\n contextItem: {\n display: 'flex',\n alignItems: 'flex-start',\n gap: '8px',\n padding: '12px',\n backgroundColor: 'var(--puck-color-grey-12)',\n borderRadius: '6px',\n border: '1px solid var(--puck-color-grey-09)',\n },\n contextItemDisabled: {\n opacity: 0.6,\n },\n contextContent: {\n flex: 1,\n minWidth: 0,\n },\n contextName: {\n fontSize: '13px',\n fontWeight: 500,\n color: 'var(--puck-color-grey-02)',\n marginBottom: '2px',\n },\n contextCategory: {\n fontSize: '11px',\n color: 'var(--puck-color-grey-05)',\n marginBottom: '4px',\n textTransform: 'uppercase' as const,\n letterSpacing: '0.5px',\n },\n contextPreview: {\n fontSize: '12px',\n color: 'var(--puck-color-grey-04)',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap' as const,\n },\n contextActions: {\n display: 'flex',\n gap: '4px',\n },\n iconButton: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '28px',\n height: '28px',\n padding: 0,\n backgroundColor: 'transparent',\n border: 'none',\n borderRadius: '4px',\n cursor: 'pointer',\n color: 'var(--puck-color-grey-05)',\n },\n form: {\n display: 'flex',\n flexDirection: 'column' as const,\n gap: '12px',\n padding: '16px',\n backgroundColor: 'var(--puck-color-grey-11)',\n borderRadius: '6px',\n border: '1px solid var(--puck-color-grey-08)',\n },\n formField: {\n display: 'flex',\n flexDirection: 'column' as const,\n gap: '4px',\n },\n formLabel: {\n fontSize: '12px',\n fontWeight: 500,\n color: 'var(--puck-color-grey-03)',\n },\n formInput: {\n padding: '8px 12px',\n fontSize: '13px',\n backgroundColor: 'var(--puck-color-white)',\n border: '1px solid var(--puck-color-grey-08)',\n borderRadius: '4px',\n color: 'var(--puck-color-grey-02)',\n },\n formSelect: {\n padding: '8px 12px',\n fontSize: '13px',\n backgroundColor: 'var(--puck-color-white)',\n border: '1px solid var(--puck-color-grey-08)',\n borderRadius: '4px',\n color: 'var(--puck-color-grey-02)',\n },\n formTextarea: {\n padding: '8px 12px',\n fontSize: '13px',\n backgroundColor: 'var(--puck-color-white)',\n border: '1px solid var(--puck-color-grey-08)',\n borderRadius: '4px',\n color: 'var(--puck-color-grey-02)',\n resize: 'vertical' as const,\n minHeight: '120px',\n fontFamily: 'monospace',\n },\n formCheckbox: {\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n },\n formActions: {\n display: 'flex',\n gap: '8px',\n justifyContent: 'flex-end',\n },\n saveButton: {\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n padding: '8px 16px',\n fontSize: '13px',\n fontWeight: 500,\n color: 'white',\n backgroundColor: 'var(--puck-color-azure-04)',\n border: 'none',\n borderRadius: '4px',\n cursor: 'pointer',\n },\n cancelButton: {\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n padding: '8px 16px',\n fontSize: '13px',\n fontWeight: 500,\n color: 'var(--puck-color-grey-04)',\n backgroundColor: 'var(--puck-color-grey-10)',\n border: 'none',\n borderRadius: '4px',\n cursor: 'pointer',\n },\n errorMessage: {\n padding: '12px',\n backgroundColor: 'var(--puck-color-red-11)',\n border: '1px solid var(--puck-color-red-08)',\n borderRadius: '4px',\n color: 'var(--puck-color-red-04)',\n fontSize: '13px',\n },\n emptyState: {\n textAlign: 'center' as const,\n padding: '24px',\n color: 'var(--puck-color-grey-05)',\n fontSize: '13px',\n },\n loading: {\n textAlign: 'center' as const,\n padding: '24px',\n color: 'var(--puck-color-grey-05)',\n fontSize: '13px',\n },\n helpText: {\n fontSize: '11px',\n color: 'var(--puck-color-grey-05)',\n marginTop: '2px',\n },\n }\n\n // Render loading state\n if (loading) {\n return (\n <div style={styles.container}>\n <div style={styles.loading}>Loading context...</div>\n </div>\n )\n }\n\n // Render edit form\n if (editingContext) {\n return (\n <div style={styles.container}>\n <div style={styles.form}>\n <div style={styles.formField}>\n <label style={styles.formLabel}>Name</label>\n <input\n type=\"text\"\n style={styles.formInput}\n value={editingContext.name || ''}\n onChange={(e) =>\n setEditingContext({ ...editingContext, name: e.target.value })\n }\n placeholder=\"e.g., Brand Guidelines\"\n />\n </div>\n\n <div style={styles.formField}>\n <label style={styles.formLabel}>Category</label>\n <select\n style={styles.formSelect}\n value={editingContext.category || ''}\n onChange={(e) =>\n setEditingContext({\n ...editingContext,\n category: e.target.value as AiContext['category'],\n })\n }\n >\n <option value=\"\">Select a category...</option>\n {CATEGORY_OPTIONS.map((opt) => (\n <option key={opt.value} value={opt.value}>\n {opt.label}\n </option>\n ))}\n </select>\n </div>\n\n <div style={styles.formField}>\n <label style={styles.formLabel}>Content</label>\n <textarea\n style={styles.formTextarea}\n value={editingContext.content || ''}\n onChange={(e) =>\n setEditingContext({ ...editingContext, content: e.target.value })\n }\n placeholder=\"Enter markdown content for the AI to use...\"\n />\n <div style={styles.helpText}>\n Use markdown formatting. This content will be included in AI prompts.\n </div>\n </div>\n\n <div style={styles.formField}>\n <label style={styles.formCheckbox}>\n <input\n type=\"checkbox\"\n checked={editingContext.enabled ?? true}\n onChange={(e) =>\n setEditingContext({ ...editingContext, enabled: e.target.checked })\n }\n />\n <span style={styles.formLabel}>Enabled</span>\n </label>\n </div>\n\n {error && <div style={styles.errorMessage}>{error}</div>}\n\n <div style={styles.formActions}>\n <button\n type=\"button\"\n style={styles.cancelButton}\n onClick={() => setEditingContext(null)}\n disabled={saving}\n >\n <X size={14} />\n Cancel\n </button>\n <button\n type=\"button\"\n style={styles.saveButton}\n onClick={handleSave}\n disabled={saving || !editingContext.name || !editingContext.content}\n >\n <Save size={14} />\n {saving ? 'Saving...' : 'Save'}\n </button>\n </div>\n </div>\n </div>\n )\n }\n\n // Render context list\n return (\n <div style={styles.container}>\n <div style={styles.header}>\n <h3 style={styles.title}>AI Context</h3>\n {canCreate && (\n <button\n type=\"button\"\n style={styles.addButton}\n onClick={() =>\n setEditingContext({ name: '', content: '', enabled: true, order: 0 })\n }\n >\n <Plus size={14} />\n Add\n </button>\n )}\n </div>\n\n {error && <div style={styles.errorMessage}>{error}</div>}\n\n {context.length === 0 ? (\n <div style={styles.emptyState}>\n No context entries yet.\n {canCreate && ' Click \"Add\" to create one.'}\n </div>\n ) : (\n context.map((entry, index) => (\n <div\n key={entry.id}\n style={{\n ...styles.contextItem,\n ...(entry.enabled ? {} : styles.contextItemDisabled),\n }}\n >\n <div style={{ display: 'flex', flexDirection: 'column', gap: '2px' }}>\n <button\n type=\"button\"\n style={{\n ...styles.iconButton,\n width: '20px',\n height: '20px',\n opacity: index === 0 ? 0.3 : 1,\n cursor: index === 0 ? 'default' : 'pointer',\n }}\n onClick={() => handleMoveUp(entry, index)}\n disabled={index === 0}\n title=\"Move up\"\n >\n <ChevronUp size={14} />\n </button>\n <button\n type=\"button\"\n style={{\n ...styles.iconButton,\n width: '20px',\n height: '20px',\n opacity: index >= context.length - 1 ? 0.3 : 1,\n cursor: index >= context.length - 1 ? 'default' : 'pointer',\n }}\n onClick={() => handleMoveDown(entry, index)}\n disabled={index >= context.length - 1}\n title=\"Move down\"\n >\n <ChevronDown size={14} />\n </button>\n </div>\n <div style={styles.contextContent}>\n <div style={styles.contextName}>{entry.name}</div>\n {entry.category && (\n <div style={styles.contextCategory}>\n {CATEGORY_OPTIONS.find((o) => o.value === entry.category)?.label ||\n entry.category}\n </div>\n )}\n <div style={styles.contextPreview}>\n {entry.content.slice(0, 100)}\n {entry.content.length > 100 ? '...' : ''}\n </div>\n </div>\n <div style={styles.contextActions}>\n {canEdit && (\n <button\n type=\"button\"\n style={styles.iconButton}\n onClick={() => handleToggleEnabled(entry)}\n title={entry.enabled ? 'Disable context' : 'Enable context'}\n >\n {entry.enabled ? <Eye size={14} /> : <EyeOff size={14} />}\n </button>\n )}\n {canEdit && (\n <button\n type=\"button\"\n style={styles.iconButton}\n onClick={() => setEditingContext(entry)}\n title=\"Edit context\"\n >\n <Pencil size={14} />\n </button>\n )}\n {canDelete && (\n <button\n type=\"button\"\n style={styles.iconButton}\n onClick={() => handleDelete(entry.id)}\n title=\"Delete context\"\n >\n <Trash2 size={14} />\n </button>\n )}\n </div>\n </div>\n ))\n )}\n </div>\n )\n}\n"],"names":["useState","useEffect","useCallback","Plus","Pencil","Trash2","ChevronUp","ChevronDown","Save","X","Eye","EyeOff","dispatchContextUpdated","CATEGORY_OPTIONS","label","value","ContextEditorPanel","apiEndpoint","canEdit","canCreate","canDelete","context","setContext","loading","setLoading","error","setError","editingContext","setEditingContext","saving","setSaving","fetchContext","response","fetch","ok","Error","data","json","docs","err","message","handleSave","isNew","id","url","method","headers","body","JSON","stringify","name","content","category","enabled","order","handleToggleEnabled","entry","handleDelete","confirm","handleMoveUp","index","prevEntry","Promise","all","handleMoveDown","length","nextEntry","styles","container","padding","display","flexDirection","gap","height","overflowY","header","justifyContent","alignItems","marginBottom","title","fontSize","fontWeight","color","margin","addButton","backgroundColor","border","borderRadius","cursor","contextItem","contextItemDisabled","opacity","contextContent","flex","minWidth","contextName","contextCategory","textTransform","letterSpacing","contextPreview","overflow","textOverflow","whiteSpace","contextActions","iconButton","width","form","formField","formLabel","formInput","formSelect","formTextarea","resize","minHeight","fontFamily","formCheckbox","formActions","saveButton","cancelButton","errorMessage","emptyState","textAlign","helpText","marginTop","div","style","input","type","onChange","e","target","placeholder","select","option","map","opt","textarea","checked","span","button","onClick","disabled","size","h3","find","o","slice"],"mappings":"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"}
|
|
@@ -4,6 +4,6 @@ interface PromptEditorPanelProps extends PromptEditorPluginOptions {
|
|
|
4
4
|
/**
|
|
5
5
|
* Panel component for managing AI prompts in the Puck editor sidebar
|
|
6
6
|
*/
|
|
7
|
-
export declare function PromptEditorPanel({ apiEndpoint, canEdit, canCreate, canDelete, }: PromptEditorPanelProps): import("react
|
|
7
|
+
export declare function PromptEditorPanel({ apiEndpoint, canEdit, canCreate, canDelete, }: PromptEditorPanelProps): import("react").JSX.Element;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=PromptEditorPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptEditorPanel.d.ts","sourceRoot":"","sources":["../../../src/ai/plugins/PromptEditorPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAY,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAGtE,UAAU,sBAAuB,SAAQ,yBAAyB;CAAG;AAErE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,WAAoC,EACpC,OAAc,EACd,SAAgB,EAChB,SAAgB,GACjB,EAAE,sBAAsB
|
|
1
|
+
{"version":3,"file":"PromptEditorPanel.d.ts","sourceRoot":"","sources":["../../../src/ai/plugins/PromptEditorPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAY,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAGtE,UAAU,sBAAuB,SAAQ,yBAAyB;CAAG;AAErE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,WAAoC,EACpC,OAAc,EACd,SAAgB,EAChB,SAAgB,GACjB,EAAE,sBAAsB,+BA8YxB"}
|
|
@@ -5,15 +5,14 @@ import { Plus, Pencil, Trash2, GripVertical, Save, X } from 'lucide-react';
|
|
|
5
5
|
import { dispatchPromptsUpdated } from '../hooks/useAiPrompts.js';
|
|
6
6
|
/**
|
|
7
7
|
* Panel component for managing AI prompts in the Puck editor sidebar
|
|
8
|
-
*/
|
|
9
|
-
export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdit = true, canCreate = true, canDelete = true, }) {
|
|
8
|
+
*/ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdit = true, canCreate = true, canDelete = true }) {
|
|
10
9
|
const [prompts, setPrompts] = useState([]);
|
|
11
10
|
const [loading, setLoading] = useState(true);
|
|
12
11
|
const [error, setError] = useState(null);
|
|
13
12
|
const [editingPrompt, setEditingPrompt] = useState(null);
|
|
14
13
|
const [saving, setSaving] = useState(false);
|
|
15
14
|
// Fetch prompts on mount
|
|
16
|
-
const fetchPrompts = useCallback(async ()
|
|
15
|
+
const fetchPrompts = useCallback(async ()=>{
|
|
17
16
|
try {
|
|
18
17
|
setLoading(true);
|
|
19
18
|
setError(null);
|
|
@@ -23,21 +22,22 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
23
22
|
}
|
|
24
23
|
const data = await response.json();
|
|
25
24
|
setPrompts(data.docs || []);
|
|
26
|
-
}
|
|
27
|
-
catch (err) {
|
|
25
|
+
} catch (err) {
|
|
28
26
|
setError(err instanceof Error ? err.message : 'Failed to load prompts');
|
|
29
|
-
}
|
|
30
|
-
finally {
|
|
27
|
+
} finally{
|
|
31
28
|
setLoading(false);
|
|
32
29
|
}
|
|
33
|
-
}, [
|
|
34
|
-
|
|
30
|
+
}, [
|
|
31
|
+
apiEndpoint
|
|
32
|
+
]);
|
|
33
|
+
useEffect(()=>{
|
|
35
34
|
fetchPrompts();
|
|
36
|
-
}, [
|
|
35
|
+
}, [
|
|
36
|
+
fetchPrompts
|
|
37
|
+
]);
|
|
37
38
|
// Save prompt (create or update)
|
|
38
|
-
const handleSave = async ()
|
|
39
|
-
if (!editingPrompt)
|
|
40
|
-
return;
|
|
39
|
+
const handleSave = async ()=>{
|
|
40
|
+
if (!editingPrompt) return;
|
|
41
41
|
try {
|
|
42
42
|
setSaving(true);
|
|
43
43
|
setError(null);
|
|
@@ -46,13 +46,15 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
46
46
|
const method = isNew ? 'POST' : 'PATCH';
|
|
47
47
|
const response = await fetch(url, {
|
|
48
48
|
method,
|
|
49
|
-
headers: {
|
|
49
|
+
headers: {
|
|
50
|
+
'Content-Type': 'application/json'
|
|
51
|
+
},
|
|
50
52
|
body: JSON.stringify({
|
|
51
53
|
label: editingPrompt.label,
|
|
52
54
|
prompt: editingPrompt.prompt,
|
|
53
55
|
category: editingPrompt.category,
|
|
54
|
-
order: editingPrompt.order
|
|
55
|
-
})
|
|
56
|
+
order: editingPrompt.order
|
|
57
|
+
})
|
|
56
58
|
});
|
|
57
59
|
if (!response.ok) {
|
|
58
60
|
throw new Error('Failed to save prompt');
|
|
@@ -61,22 +63,19 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
61
63
|
await fetchPrompts();
|
|
62
64
|
// Notify AI plugin to refresh its prompts
|
|
63
65
|
dispatchPromptsUpdated();
|
|
64
|
-
}
|
|
65
|
-
catch (err) {
|
|
66
|
+
} catch (err) {
|
|
66
67
|
setError(err instanceof Error ? err.message : 'Failed to save prompt');
|
|
67
|
-
}
|
|
68
|
-
finally {
|
|
68
|
+
} finally{
|
|
69
69
|
setSaving(false);
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
// Delete prompt
|
|
73
|
-
const handleDelete = async (id)
|
|
74
|
-
if (!confirm('Are you sure you want to delete this prompt?'))
|
|
75
|
-
return;
|
|
73
|
+
const handleDelete = async (id)=>{
|
|
74
|
+
if (!confirm('Are you sure you want to delete this prompt?')) return;
|
|
76
75
|
try {
|
|
77
76
|
setError(null);
|
|
78
77
|
const response = await fetch(`${apiEndpoint}/${id}`, {
|
|
79
|
-
method: 'DELETE'
|
|
78
|
+
method: 'DELETE'
|
|
80
79
|
});
|
|
81
80
|
if (!response.ok) {
|
|
82
81
|
throw new Error('Failed to delete prompt');
|
|
@@ -84,8 +83,7 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
84
83
|
await fetchPrompts();
|
|
85
84
|
// Notify AI plugin to refresh its prompts
|
|
86
85
|
dispatchPromptsUpdated();
|
|
87
|
-
}
|
|
88
|
-
catch (err) {
|
|
86
|
+
} catch (err) {
|
|
89
87
|
setError(err instanceof Error ? err.message : 'Failed to delete prompt');
|
|
90
88
|
}
|
|
91
89
|
};
|
|
@@ -97,19 +95,19 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
97
95
|
flexDirection: 'column',
|
|
98
96
|
gap: '12px',
|
|
99
97
|
height: '100%',
|
|
100
|
-
overflowY: 'auto'
|
|
98
|
+
overflowY: 'auto'
|
|
101
99
|
},
|
|
102
100
|
header: {
|
|
103
101
|
display: 'flex',
|
|
104
102
|
justifyContent: 'space-between',
|
|
105
103
|
alignItems: 'center',
|
|
106
|
-
marginBottom: '8px'
|
|
104
|
+
marginBottom: '8px'
|
|
107
105
|
},
|
|
108
106
|
title: {
|
|
109
107
|
fontSize: '14px',
|
|
110
108
|
fontWeight: 600,
|
|
111
109
|
color: 'var(--puck-color-grey-01)',
|
|
112
|
-
margin: 0
|
|
110
|
+
margin: 0
|
|
113
111
|
},
|
|
114
112
|
addButton: {
|
|
115
113
|
display: 'flex',
|
|
@@ -122,7 +120,7 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
122
120
|
backgroundColor: 'var(--puck-color-azure-12)',
|
|
123
121
|
border: 'none',
|
|
124
122
|
borderRadius: '4px',
|
|
125
|
-
cursor: 'pointer'
|
|
123
|
+
cursor: 'pointer'
|
|
126
124
|
},
|
|
127
125
|
promptItem: {
|
|
128
126
|
display: 'flex',
|
|
@@ -131,28 +129,28 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
131
129
|
padding: '12px',
|
|
132
130
|
backgroundColor: 'var(--puck-color-grey-12)',
|
|
133
131
|
borderRadius: '6px',
|
|
134
|
-
border: '1px solid var(--puck-color-grey-09)'
|
|
132
|
+
border: '1px solid var(--puck-color-grey-09)'
|
|
135
133
|
},
|
|
136
134
|
promptContent: {
|
|
137
135
|
flex: 1,
|
|
138
|
-
minWidth: 0
|
|
136
|
+
minWidth: 0
|
|
139
137
|
},
|
|
140
138
|
promptLabel: {
|
|
141
139
|
fontSize: '13px',
|
|
142
140
|
fontWeight: 500,
|
|
143
141
|
color: 'var(--puck-color-grey-02)',
|
|
144
|
-
marginBottom: '4px'
|
|
142
|
+
marginBottom: '4px'
|
|
145
143
|
},
|
|
146
144
|
promptText: {
|
|
147
145
|
fontSize: '12px',
|
|
148
146
|
color: 'var(--puck-color-grey-04)',
|
|
149
147
|
overflow: 'hidden',
|
|
150
148
|
textOverflow: 'ellipsis',
|
|
151
|
-
whiteSpace: 'nowrap'
|
|
149
|
+
whiteSpace: 'nowrap'
|
|
152
150
|
},
|
|
153
151
|
promptActions: {
|
|
154
152
|
display: 'flex',
|
|
155
|
-
gap: '4px'
|
|
153
|
+
gap: '4px'
|
|
156
154
|
},
|
|
157
155
|
iconButton: {
|
|
158
156
|
display: 'flex',
|
|
@@ -165,7 +163,7 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
165
163
|
border: 'none',
|
|
166
164
|
borderRadius: '4px',
|
|
167
165
|
cursor: 'pointer',
|
|
168
|
-
color: 'var(--puck-color-grey-05)'
|
|
166
|
+
color: 'var(--puck-color-grey-05)'
|
|
169
167
|
},
|
|
170
168
|
form: {
|
|
171
169
|
display: 'flex',
|
|
@@ -174,17 +172,17 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
174
172
|
padding: '16px',
|
|
175
173
|
backgroundColor: 'var(--puck-color-grey-11)',
|
|
176
174
|
borderRadius: '6px',
|
|
177
|
-
border: '1px solid var(--puck-color-grey-08)'
|
|
175
|
+
border: '1px solid var(--puck-color-grey-08)'
|
|
178
176
|
},
|
|
179
177
|
formField: {
|
|
180
178
|
display: 'flex',
|
|
181
179
|
flexDirection: 'column',
|
|
182
|
-
gap: '4px'
|
|
180
|
+
gap: '4px'
|
|
183
181
|
},
|
|
184
182
|
formLabel: {
|
|
185
183
|
fontSize: '12px',
|
|
186
184
|
fontWeight: 500,
|
|
187
|
-
color: 'var(--puck-color-grey-03)'
|
|
185
|
+
color: 'var(--puck-color-grey-03)'
|
|
188
186
|
},
|
|
189
187
|
formInput: {
|
|
190
188
|
padding: '8px 12px',
|
|
@@ -192,7 +190,7 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
192
190
|
backgroundColor: 'var(--puck-color-white)',
|
|
193
191
|
border: '1px solid var(--puck-color-grey-08)',
|
|
194
192
|
borderRadius: '4px',
|
|
195
|
-
color: 'var(--puck-color-grey-02)'
|
|
193
|
+
color: 'var(--puck-color-grey-02)'
|
|
196
194
|
},
|
|
197
195
|
formTextarea: {
|
|
198
196
|
padding: '8px 12px',
|
|
@@ -202,12 +200,12 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
202
200
|
borderRadius: '4px',
|
|
203
201
|
color: 'var(--puck-color-grey-02)',
|
|
204
202
|
resize: 'vertical',
|
|
205
|
-
minHeight: '80px'
|
|
203
|
+
minHeight: '80px'
|
|
206
204
|
},
|
|
207
205
|
formActions: {
|
|
208
206
|
display: 'flex',
|
|
209
207
|
gap: '8px',
|
|
210
|
-
justifyContent: 'flex-end'
|
|
208
|
+
justifyContent: 'flex-end'
|
|
211
209
|
},
|
|
212
210
|
saveButton: {
|
|
213
211
|
display: 'flex',
|
|
@@ -220,7 +218,7 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
220
218
|
backgroundColor: 'var(--puck-color-azure-04)',
|
|
221
219
|
border: 'none',
|
|
222
220
|
borderRadius: '4px',
|
|
223
|
-
cursor: 'pointer'
|
|
221
|
+
cursor: 'pointer'
|
|
224
222
|
},
|
|
225
223
|
cancelButton: {
|
|
226
224
|
display: 'flex',
|
|
@@ -233,7 +231,7 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
233
231
|
backgroundColor: 'var(--puck-color-grey-10)',
|
|
234
232
|
border: 'none',
|
|
235
233
|
borderRadius: '4px',
|
|
236
|
-
cursor: 'pointer'
|
|
234
|
+
cursor: 'pointer'
|
|
237
235
|
},
|
|
238
236
|
errorMessage: {
|
|
239
237
|
padding: '12px',
|
|
@@ -241,30 +239,218 @@ export function PromptEditorPanel({ apiEndpoint = '/api/puck/ai-prompts', canEdi
|
|
|
241
239
|
border: '1px solid var(--puck-color-red-08)',
|
|
242
240
|
borderRadius: '4px',
|
|
243
241
|
color: 'var(--puck-color-red-04)',
|
|
244
|
-
fontSize: '13px'
|
|
242
|
+
fontSize: '13px'
|
|
245
243
|
},
|
|
246
244
|
emptyState: {
|
|
247
245
|
textAlign: 'center',
|
|
248
246
|
padding: '24px',
|
|
249
247
|
color: 'var(--puck-color-grey-05)',
|
|
250
|
-
fontSize: '13px'
|
|
248
|
+
fontSize: '13px'
|
|
251
249
|
},
|
|
252
250
|
loading: {
|
|
253
251
|
textAlign: 'center',
|
|
254
252
|
padding: '24px',
|
|
255
253
|
color: 'var(--puck-color-grey-05)',
|
|
256
|
-
fontSize: '13px'
|
|
257
|
-
}
|
|
254
|
+
fontSize: '13px'
|
|
255
|
+
}
|
|
258
256
|
};
|
|
259
257
|
// Render loading state
|
|
260
258
|
if (loading) {
|
|
261
|
-
return
|
|
259
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
260
|
+
style: styles.container,
|
|
261
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
262
|
+
style: styles.loading,
|
|
263
|
+
children: "Loading prompts..."
|
|
264
|
+
})
|
|
265
|
+
});
|
|
262
266
|
}
|
|
263
267
|
// Render edit form
|
|
264
268
|
if (editingPrompt) {
|
|
265
|
-
return
|
|
269
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
270
|
+
style: styles.container,
|
|
271
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
272
|
+
style: styles.form,
|
|
273
|
+
children: [
|
|
274
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
275
|
+
style: styles.formField,
|
|
276
|
+
children: [
|
|
277
|
+
/*#__PURE__*/ _jsx("label", {
|
|
278
|
+
style: styles.formLabel,
|
|
279
|
+
children: "Label"
|
|
280
|
+
}),
|
|
281
|
+
/*#__PURE__*/ _jsx("input", {
|
|
282
|
+
type: "text",
|
|
283
|
+
style: styles.formInput,
|
|
284
|
+
value: editingPrompt.label || '',
|
|
285
|
+
onChange: (e)=>setEditingPrompt({
|
|
286
|
+
...editingPrompt,
|
|
287
|
+
label: e.target.value
|
|
288
|
+
}),
|
|
289
|
+
placeholder: "e.g., Landing page"
|
|
290
|
+
})
|
|
291
|
+
]
|
|
292
|
+
}),
|
|
293
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
294
|
+
style: styles.formField,
|
|
295
|
+
children: [
|
|
296
|
+
/*#__PURE__*/ _jsx("label", {
|
|
297
|
+
style: styles.formLabel,
|
|
298
|
+
children: "Prompt"
|
|
299
|
+
}),
|
|
300
|
+
/*#__PURE__*/ _jsx("textarea", {
|
|
301
|
+
style: styles.formTextarea,
|
|
302
|
+
value: editingPrompt.prompt || '',
|
|
303
|
+
onChange: (e)=>setEditingPrompt({
|
|
304
|
+
...editingPrompt,
|
|
305
|
+
prompt: e.target.value
|
|
306
|
+
}),
|
|
307
|
+
placeholder: "e.g., Create a landing page about our product..."
|
|
308
|
+
})
|
|
309
|
+
]
|
|
310
|
+
}),
|
|
311
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
312
|
+
style: styles.formField,
|
|
313
|
+
children: [
|
|
314
|
+
/*#__PURE__*/ _jsx("label", {
|
|
315
|
+
style: styles.formLabel,
|
|
316
|
+
children: "Category (optional)"
|
|
317
|
+
}),
|
|
318
|
+
/*#__PURE__*/ _jsx("input", {
|
|
319
|
+
type: "text",
|
|
320
|
+
style: styles.formInput,
|
|
321
|
+
value: editingPrompt.category || '',
|
|
322
|
+
onChange: (e)=>setEditingPrompt({
|
|
323
|
+
...editingPrompt,
|
|
324
|
+
category: e.target.value
|
|
325
|
+
}),
|
|
326
|
+
placeholder: "e.g., Marketing"
|
|
327
|
+
})
|
|
328
|
+
]
|
|
329
|
+
}),
|
|
330
|
+
error && /*#__PURE__*/ _jsx("div", {
|
|
331
|
+
style: styles.errorMessage,
|
|
332
|
+
children: error
|
|
333
|
+
}),
|
|
334
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
335
|
+
style: styles.formActions,
|
|
336
|
+
children: [
|
|
337
|
+
/*#__PURE__*/ _jsxs("button", {
|
|
338
|
+
type: "button",
|
|
339
|
+
style: styles.cancelButton,
|
|
340
|
+
onClick: ()=>setEditingPrompt(null),
|
|
341
|
+
disabled: saving,
|
|
342
|
+
children: [
|
|
343
|
+
/*#__PURE__*/ _jsx(X, {
|
|
344
|
+
size: 14
|
|
345
|
+
}),
|
|
346
|
+
"Cancel"
|
|
347
|
+
]
|
|
348
|
+
}),
|
|
349
|
+
/*#__PURE__*/ _jsxs("button", {
|
|
350
|
+
type: "button",
|
|
351
|
+
style: styles.saveButton,
|
|
352
|
+
onClick: handleSave,
|
|
353
|
+
disabled: saving || !editingPrompt.label || !editingPrompt.prompt,
|
|
354
|
+
children: [
|
|
355
|
+
/*#__PURE__*/ _jsx(Save, {
|
|
356
|
+
size: 14
|
|
357
|
+
}),
|
|
358
|
+
saving ? 'Saving...' : 'Save'
|
|
359
|
+
]
|
|
360
|
+
})
|
|
361
|
+
]
|
|
362
|
+
})
|
|
363
|
+
]
|
|
364
|
+
})
|
|
365
|
+
});
|
|
266
366
|
}
|
|
267
367
|
// Render prompt list
|
|
268
|
-
return
|
|
368
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
369
|
+
style: styles.container,
|
|
370
|
+
children: [
|
|
371
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
372
|
+
style: styles.header,
|
|
373
|
+
children: [
|
|
374
|
+
/*#__PURE__*/ _jsx("h3", {
|
|
375
|
+
style: styles.title,
|
|
376
|
+
children: "Example Prompts"
|
|
377
|
+
}),
|
|
378
|
+
canCreate && /*#__PURE__*/ _jsxs("button", {
|
|
379
|
+
type: "button",
|
|
380
|
+
style: styles.addButton,
|
|
381
|
+
onClick: ()=>setEditingPrompt({
|
|
382
|
+
label: '',
|
|
383
|
+
prompt: ''
|
|
384
|
+
}),
|
|
385
|
+
children: [
|
|
386
|
+
/*#__PURE__*/ _jsx(Plus, {
|
|
387
|
+
size: 14
|
|
388
|
+
}),
|
|
389
|
+
"Add"
|
|
390
|
+
]
|
|
391
|
+
})
|
|
392
|
+
]
|
|
393
|
+
}),
|
|
394
|
+
error && /*#__PURE__*/ _jsx("div", {
|
|
395
|
+
style: styles.errorMessage,
|
|
396
|
+
children: error
|
|
397
|
+
}),
|
|
398
|
+
prompts.length === 0 ? /*#__PURE__*/ _jsxs("div", {
|
|
399
|
+
style: styles.emptyState,
|
|
400
|
+
children: [
|
|
401
|
+
"No prompts yet.",
|
|
402
|
+
canCreate && ' Click "Add" to create one.'
|
|
403
|
+
]
|
|
404
|
+
}) : prompts.map((prompt)=>/*#__PURE__*/ _jsxs("div", {
|
|
405
|
+
style: styles.promptItem,
|
|
406
|
+
children: [
|
|
407
|
+
/*#__PURE__*/ _jsx(GripVertical, {
|
|
408
|
+
size: 16,
|
|
409
|
+
style: {
|
|
410
|
+
color: 'var(--puck-color-grey-07)',
|
|
411
|
+
cursor: 'grab'
|
|
412
|
+
}
|
|
413
|
+
}),
|
|
414
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
415
|
+
style: styles.promptContent,
|
|
416
|
+
children: [
|
|
417
|
+
/*#__PURE__*/ _jsx("div", {
|
|
418
|
+
style: styles.promptLabel,
|
|
419
|
+
children: prompt.label
|
|
420
|
+
}),
|
|
421
|
+
/*#__PURE__*/ _jsx("div", {
|
|
422
|
+
style: styles.promptText,
|
|
423
|
+
children: prompt.prompt
|
|
424
|
+
})
|
|
425
|
+
]
|
|
426
|
+
}),
|
|
427
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
428
|
+
style: styles.promptActions,
|
|
429
|
+
children: [
|
|
430
|
+
canEdit && /*#__PURE__*/ _jsx("button", {
|
|
431
|
+
type: "button",
|
|
432
|
+
style: styles.iconButton,
|
|
433
|
+
onClick: ()=>setEditingPrompt(prompt),
|
|
434
|
+
title: "Edit prompt",
|
|
435
|
+
children: /*#__PURE__*/ _jsx(Pencil, {
|
|
436
|
+
size: 14
|
|
437
|
+
})
|
|
438
|
+
}),
|
|
439
|
+
canDelete && /*#__PURE__*/ _jsx("button", {
|
|
440
|
+
type: "button",
|
|
441
|
+
style: styles.iconButton,
|
|
442
|
+
onClick: ()=>handleDelete(prompt.id),
|
|
443
|
+
title: "Delete prompt",
|
|
444
|
+
children: /*#__PURE__*/ _jsx(Trash2, {
|
|
445
|
+
size: 14
|
|
446
|
+
})
|
|
447
|
+
})
|
|
448
|
+
]
|
|
449
|
+
})
|
|
450
|
+
]
|
|
451
|
+
}, prompt.id))
|
|
452
|
+
]
|
|
453
|
+
});
|
|
269
454
|
}
|
|
455
|
+
|
|
270
456
|
//# sourceMappingURL=PromptEditorPanel.js.map
|