@payloadcms/richtext-lexical 3.0.0-beta.133 → 3.0.0-beta.135
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/dist/exports/client/Field-KKSJXHR7.js +2 -0
- package/dist/exports/client/Field-KKSJXHR7.js.map +7 -0
- package/dist/exports/client/bundled.css +1 -1
- package/dist/exports/client/chunk-2CYU43GM.js +2 -0
- package/dist/exports/client/chunk-2CYU43GM.js.map +7 -0
- package/dist/exports/client/chunk-C7S3V4EB.js +2 -0
- package/dist/exports/client/chunk-C7S3V4EB.js.map +7 -0
- package/dist/exports/client/chunk-QPPOQTHD.js +2 -0
- package/dist/exports/client/{chunk-OOBB5GCO.js.map → chunk-QPPOQTHD.js.map} +3 -3
- package/dist/exports/client/chunk-U7O7EYCP.js +2 -0
- package/dist/exports/client/chunk-U7O7EYCP.js.map +7 -0
- package/dist/exports/client/component-H3EYQ5KG.js +2 -0
- package/dist/exports/client/{component-YICNYPTU.js.map → component-H3EYQ5KG.js.map} +1 -1
- package/dist/exports/client/componentInline-ZGO3K4TA.js +2 -0
- package/dist/exports/client/componentInline-ZGO3K4TA.js.map +7 -0
- package/dist/exports/client/index.d.ts +7 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +15 -13
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/server/ast/mdx.d.ts +7 -0
- package/dist/exports/server/ast/mdx.d.ts.map +1 -0
- package/dist/exports/server/ast/mdx.js +37 -0
- package/dist/exports/server/ast/mdx.js.map +1 -0
- package/dist/exports/shared.d.ts +4 -0
- package/dist/exports/shared.d.ts.map +1 -0
- package/dist/exports/shared.js +4 -0
- package/dist/exports/shared.js.map +1 -0
- package/dist/features/blocks/client/component/BlockContent.d.ts +34 -9
- package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
- package/dist/features/blocks/client/component/BlockContent.js +63 -158
- package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
- package/dist/features/blocks/client/component/components/BlockCollapsible.d.ts +11 -0
- package/dist/features/blocks/client/component/components/BlockCollapsible.d.ts.map +1 -0
- package/dist/features/blocks/client/component/components/BlockCollapsible.js +37 -0
- package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -0
- package/dist/features/blocks/client/component/components/BlockEditButton.d.ts +3 -0
- package/dist/features/blocks/client/component/components/BlockEditButton.d.ts.map +1 -0
- package/dist/features/blocks/client/component/components/BlockEditButton.js +22 -0
- package/dist/features/blocks/client/component/components/BlockEditButton.js.map +1 -0
- package/dist/features/blocks/client/component/components/BlockRemoveButton.d.ts +3 -0
- package/dist/features/blocks/client/component/components/BlockRemoveButton.d.ts.map +1 -0
- package/dist/features/blocks/client/component/components/BlockRemoveButton.js +22 -0
- package/dist/features/blocks/client/component/components/BlockRemoveButton.js.map +1 -0
- package/dist/features/blocks/client/component/index.d.ts.map +1 -1
- package/dist/features/blocks/client/component/index.js +242 -63
- package/dist/features/blocks/client/component/index.js.map +1 -1
- package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts +5 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts.map +1 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js +28 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.d.ts +3 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.d.ts.map +1 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js +22 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js.map +1 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.d.ts +3 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.d.ts.map +1 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js +22 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js.map +1 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.d.ts +3 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.d.ts.map +1 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js +22 -0
- package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js.map +1 -0
- package/dist/features/blocks/client/componentInline/index.d.ts +13 -1
- package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
- package/dist/features/blocks/client/componentInline/index.js +219 -43
- package/dist/features/blocks/client/componentInline/index.js.map +1 -1
- package/dist/features/blocks/client/index.d.ts +1 -5
- package/dist/features/blocks/client/index.d.ts.map +1 -1
- package/dist/features/blocks/client/index.js +138 -157
- package/dist/features/blocks/client/index.js.map +1 -1
- package/dist/features/blocks/client/markdownTransformer.d.ts +16 -0
- package/dist/features/blocks/client/markdownTransformer.d.ts.map +1 -0
- package/dist/features/blocks/client/markdownTransformer.js +144 -0
- package/dist/features/blocks/client/markdownTransformer.js.map +1 -0
- package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
- package/dist/features/blocks/client/nodes/BlocksNode.js +1 -3
- package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
- package/dist/features/blocks/client/plugin/commands.d.ts +0 -4
- package/dist/features/blocks/client/plugin/commands.d.ts.map +1 -1
- package/dist/features/blocks/client/plugin/commands.js +0 -1
- package/dist/features/blocks/client/plugin/commands.js.map +1 -1
- package/dist/features/blocks/client/plugin/index.d.ts +1 -2
- package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
- package/dist/features/blocks/client/plugin/index.js +28 -135
- package/dist/features/blocks/client/plugin/index.js.map +1 -1
- package/dist/features/blocks/server/index.d.ts +1 -2
- package/dist/features/blocks/server/index.d.ts.map +1 -1
- package/dist/features/blocks/server/index.js +33 -10
- package/dist/features/blocks/server/index.js.map +1 -1
- package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.d.ts +22 -0
- package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.d.ts.map +1 -0
- package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js +136 -0
- package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js.map +1 -0
- package/dist/features/blocks/server/markdownTransformer.d.ts +22 -0
- package/dist/features/blocks/server/markdownTransformer.d.ts.map +1 -0
- package/dist/features/blocks/server/markdownTransformer.js +400 -0
- package/dist/features/blocks/server/markdownTransformer.js.map +1 -0
- package/dist/features/experimental_table/client/index.d.ts.map +1 -1
- package/dist/features/experimental_table/client/index.js +2 -0
- package/dist/features/experimental_table/client/index.js.map +1 -1
- package/dist/features/experimental_table/markdownTransformer.d.ts +5 -0
- package/dist/features/experimental_table/markdownTransformer.d.ts.map +1 -0
- package/dist/features/experimental_table/markdownTransformer.js +127 -0
- package/dist/features/experimental_table/markdownTransformer.js.map +1 -0
- package/dist/features/experimental_table/server/index.d.ts.map +1 -1
- package/dist/features/experimental_table/server/index.js +2 -0
- package/dist/features/experimental_table/server/index.js.map +1 -1
- package/dist/features/typesClient.d.ts +12 -19
- package/dist/features/typesClient.d.ts.map +1 -1
- package/dist/features/typesClient.js.map +1 -1
- package/dist/features/typesServer.d.ts +6 -2
- package/dist/features/typesServer.d.ts.map +1 -1
- package/dist/features/typesServer.js.map +1 -1
- package/dist/field/Field.d.ts.map +1 -1
- package/dist/field/Field.js +10 -21
- package/dist/field/Field.js.map +1 -1
- package/dist/field/bundled.css +1 -1
- package/dist/field/index.d.ts.map +1 -1
- package/dist/field/index.js +23 -14
- package/dist/field/index.js.map +1 -1
- package/dist/field/rscEntry.d.ts.map +1 -1
- package/dist/field/rscEntry.js +23 -1
- package/dist/field/rscEntry.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/lexical/LexicalProvider.d.ts.map +1 -1
- package/dist/lexical/LexicalProvider.js +9 -18
- package/dist/lexical/LexicalProvider.js.map +1 -1
- package/dist/lexical/config/client/loader.d.ts +6 -1
- package/dist/lexical/config/client/loader.d.ts.map +1 -1
- package/dist/lexical/config/client/loader.js +6 -0
- package/dist/lexical/config/client/loader.js.map +1 -1
- package/dist/lexical/config/client/sanitize.js +15 -14
- package/dist/lexical/config/client/sanitize.js.map +1 -1
- package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
- package/dist/lexical/config/server/sanitize.js +15 -2
- package/dist/lexical/config/server/sanitize.js.map +1 -1
- package/dist/lexical/nodes/index.d.ts +4 -0
- package/dist/lexical/nodes/index.d.ts.map +1 -1
- package/dist/lexical/nodes/index.js +8 -1
- package/dist/lexical/nodes/index.js.map +1 -1
- package/dist/lexical-proxy/@lexical-headless.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-headless.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-headless.js +2 -0
- package/dist/lexical-proxy/@lexical-headless.js.map +1 -0
- package/dist/lexical-proxy/@lexical-link.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-link.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-link.js +2 -0
- package/dist/lexical-proxy/@lexical-link.js.map +1 -0
- package/dist/lexical-proxy/@lexical-list.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-list.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-list.js +2 -0
- package/dist/lexical-proxy/@lexical-list.js.map +1 -0
- package/dist/lexical-proxy/@lexical-mark.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-mark.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-mark.js +2 -0
- package/dist/lexical-proxy/@lexical-mark.js.map +1 -0
- package/dist/lexical-proxy/@lexical-markdown.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-markdown.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-markdown.js +2 -0
- package/dist/lexical-proxy/@lexical-markdown.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalComposer.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalComposer.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalComposer.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalComposer.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTreeView.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTreeView.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js +2 -0
- package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalEditable.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalEditable.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js +2 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js +2 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js +2 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js +2 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js.map +1 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js +2 -0
- package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js.map +1 -0
- package/dist/lexical-proxy/@lexical-rich-text.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-rich-text.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-rich-text.js +2 -0
- package/dist/lexical-proxy/@lexical-rich-text.js.map +1 -0
- package/dist/lexical-proxy/@lexical-selection.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-selection.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-selection.js +2 -0
- package/dist/lexical-proxy/@lexical-selection.js.map +1 -0
- package/dist/lexical-proxy/@lexical-utils.d.ts +2 -0
- package/dist/lexical-proxy/@lexical-utils.d.ts.map +1 -0
- package/dist/lexical-proxy/@lexical-utils.js +2 -0
- package/dist/lexical-proxy/@lexical-utils.js.map +1 -0
- package/dist/lexical-proxy/lexical.d.ts +2 -0
- package/dist/lexical-proxy/lexical.d.ts.map +1 -0
- package/dist/lexical-proxy/lexical.js +2 -0
- package/dist/lexical-proxy/lexical.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/buildInitialState.d.ts +27 -0
- package/dist/utilities/buildInitialState.d.ts.map +1 -0
- package/dist/utilities/buildInitialState.js +53 -0
- package/dist/utilities/buildInitialState.js.map +1 -0
- package/dist/utilities/createClientFeature.d.ts +5 -0
- package/dist/utilities/createClientFeature.d.ts.map +1 -1
- package/dist/utilities/createClientFeature.js +6 -0
- package/dist/utilities/createClientFeature.js.map +1 -1
- package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/utilities/fieldsDrawer/DrawerContent.js +8 -5
- package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
- package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts.map +1 -1
- package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +8 -8
- package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
- package/dist/utilities/initLexicalFeatures.d.ts.map +1 -1
- package/dist/utilities/initLexicalFeatures.js +3 -2
- package/dist/utilities/initLexicalFeatures.js.map +1 -1
- package/dist/utilities/jsx/collectTopLevelJSXInLines.d.ts +52 -0
- package/dist/utilities/jsx/collectTopLevelJSXInLines.d.ts.map +1 -0
- package/dist/utilities/jsx/collectTopLevelJSXInLines.js +79 -0
- package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -0
- package/dist/utilities/jsx/extractPropsFromJSXPropsString.d.ts +12 -0
- package/dist/utilities/jsx/extractPropsFromJSXPropsString.d.ts.map +1 -0
- package/dist/utilities/jsx/extractPropsFromJSXPropsString.js +125 -0
- package/dist/utilities/jsx/extractPropsFromJSXPropsString.js.map +1 -0
- package/dist/utilities/jsx/jsx.d.ts +26 -0
- package/dist/utilities/jsx/jsx.d.ts.map +1 -0
- package/dist/utilities/jsx/jsx.js +105 -0
- package/dist/utilities/jsx/jsx.js.map +1 -0
- package/dist/utilities/jsx/jsx.spec.d.ts +2 -0
- package/dist/utilities/jsx/jsx.spec.d.ts.map +1 -0
- package/dist/utilities/jsx/jsx.spec.js +142 -0
- package/dist/utilities/jsx/jsx.spec.js.map +1 -0
- package/dist/utilities/jsx/lexicalMarkdownCopy.d.ts +11 -0
- package/dist/utilities/jsx/lexicalMarkdownCopy.d.ts.map +1 -0
- package/dist/utilities/jsx/lexicalMarkdownCopy.js +61 -0
- package/dist/utilities/jsx/lexicalMarkdownCopy.js.map +1 -0
- package/package.json +284 -7
- package/dist/exports/client/Field-GWJ72IYP.js +0 -2
- package/dist/exports/client/Field-GWJ72IYP.js.map +0 -7
- package/dist/exports/client/chunk-D7PD5DUW.js +0 -2
- package/dist/exports/client/chunk-D7PD5DUW.js.map +0 -7
- package/dist/exports/client/chunk-OOBB5GCO.js +0 -2
- package/dist/exports/client/chunk-XDEGE6I5.js +0 -2
- package/dist/exports/client/chunk-XDEGE6I5.js.map +0 -7
- package/dist/exports/client/chunk-YGRKYSDC.js +0 -2
- package/dist/exports/client/chunk-YGRKYSDC.js.map +0 -7
- package/dist/exports/client/component-KLNTKKNE.js +0 -2
- package/dist/exports/client/component-KLNTKKNE.js.map +0 -7
- package/dist/exports/client/component-YICNYPTU.js +0 -2
- package/dist/exports/client/componentInline-6RPSMLNJ.js +0 -2
- package/dist/exports/client/componentInline-6RPSMLNJ.js.map +0 -7
- package/dist/features/blocks/client/component/FormSavePlugin.d.ts +0 -11
- package/dist/features/blocks/client/component/FormSavePlugin.d.ts.map +0 -1
- package/dist/features/blocks/client/component/FormSavePlugin.js +0 -53
- package/dist/features/blocks/client/component/FormSavePlugin.js.map +0 -1
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/features/blocks/client/component/index.tsx", "../../../src/features/blocks/client/component/BlockContent.tsx", "../../../src/features/blocks/client/component/FormSavePlugin.tsx", "../../../src/features/blocks/client/component/removeEmptyArrayValues.ts"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport {\n Collapsible,\n Form,\n Pill,\n SectionTitle,\n ShimmerEffect,\n useDocumentInfo,\n useFormSubmitted,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nconst baseClass = 'lexical-block'\nimport { getTranslation } from '@payloadcms/translations'\nimport { type BlocksFieldClient, type FormState } from 'payload'\nimport { v4 as uuid } from 'uuid'\n\nimport type { BlockFields } from '../../server/nodes/BlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { BlockContent } from './BlockContent.js'\nimport './index.scss'\n\ntype Props = {\n readonly children?: React.ReactNode\n readonly formData: BlockFields\n readonly nodeKey: string\n}\n\nexport const BlockComponent: React.FC<Props> = (props) => {\n const { formData, nodeKey } = props\n const submitted = useFormSubmitted()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const {\n fieldProps: { featureClientSchemaMap, field: parentLexicalRichTextField, path, schemaPath },\n } = useEditorConfigContext()\n const onChangeAbortControllerRef = useRef(new AbortController())\n const { docPermissions, getDocPreferences } = useDocumentInfo()\n\n const { getFormState } = useServerFunctions()\n\n const [initialState, setInitialState] = useState<false | FormState | undefined>(false)\n\n const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.${formData.blockType}.fields`\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.${formData.blockType}`\n\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient = clientSchemaMap[\n componentMapRenderedBlockPath\n ][0] as BlocksFieldClient\n\n const clientBlock = blocksField.blocks[0]\n\n const { i18n } = useTranslation()\n\n // Field Schema\n useEffect(() => {\n const abortController = new AbortController()\n\n const awaitInitialState = async () => {\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: formData,\n docPermissions: { fields: true },\n docPreferences: await getDocPreferences(),\n globalSlug,\n operation: 'update',\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: abortController.signal,\n })\n\n if (state) {\n state.blockName = {\n initialValue: '',\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n }\n\n setInitialState(state)\n }\n }\n\n if (formData) {\n void awaitInitialState()\n }\n\n return () => {\n abortAndIgnore(abortController)\n }\n }, [\n getFormState,\n schemaFieldsPath,\n id,\n collectionSlug,\n globalSlug,\n getDocPreferences,\n // DO NOT ADD FORMDATA HERE! Adding formData will kick you out of sub block editors while writing.\n ])\n\n const onChange = useCallback(\n async ({ formState: prevFormState }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state: newFormState } = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences: await getDocPreferences(),\n formState: prevFormState,\n globalSlug,\n operation: 'update',\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!newFormState) {\n return prevFormState\n }\n\n newFormState.blockName = {\n initialValue: '',\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n }\n\n return newFormState\n },\n\n [\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n getDocPreferences,\n globalSlug,\n schemaFieldsPath,\n formData.blockName,\n ],\n )\n\n useEffect(() => {\n return () => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [])\n\n const classNames = [`${baseClass}__row`, `${baseClass}__row--no-errors`].filter(Boolean).join(' ')\n\n const Label = clientBlock?.admin?.components?.Label\n\n // Memoized Form JSX\n const formContent = useMemo(() => {\n return clientBlock && initialState !== false ? (\n <Form\n beforeSubmit={[onChange]}\n fields={clientBlock.fields}\n initialState={initialState}\n onChange={[onChange]}\n submitted={submitted}\n uuid={uuid()}\n >\n <BlockContent\n baseClass={baseClass}\n clientBlock={clientBlock}\n field={parentLexicalRichTextField}\n formData={formData}\n formSchema={clientBlock.fields}\n nodeKey={nodeKey}\n path={`${path}.lexical_internal_feature.blocks.${formData.blockType}`}\n schemaPath={schemaFieldsPath}\n />\n </Form>\n ) : (\n <Collapsible\n className={classNames}\n collapsibleStyle=\"default\"\n header={\n clientBlock?.admin?.components?.Label ? (\n Label\n ) : (\n <div className={`${baseClass}__block-header`}>\n <div>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`}\n pillStyle=\"white\"\n >\n {clientBlock && typeof clientBlock.labels?.singular === 'string'\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock?.slug}\n </Pill>\n <SectionTitle\n path=\"blockName\"\n readOnly={parentLexicalRichTextField?.admin?.readOnly || false}\n />\n </div>\n </div>\n )\n }\n key={0}\n >\n <ShimmerEffect height=\"35vh\" />\n </Collapsible>\n )\n }, [\n clientBlock,\n initialState,\n onChange,\n submitted,\n parentLexicalRichTextField,\n nodeKey,\n path,\n schemaFieldsPath,\n classNames,\n i18n,\n // DO NOT ADD FORMDATA HERE! Adding formData will kick you out of sub block editors while writing.\n ])\n\n return <div className={baseClass + ' ' + baseClass + '-' + formData.blockType}>{formContent}</div>\n}\n", "'use client'\nimport type { ClientBlock, ClientField, CollapsedPreferences, FormState } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n Collapsible,\n ErrorPill,\n Pill,\n RenderFields,\n SectionTitle,\n useDocumentInfo,\n useFormSubmitted,\n useTranslation,\n} from '@payloadcms/ui'\nimport { dequal } from 'dequal/lite'\nimport { $getNodeByKey } from 'lexical'\nimport React, { useCallback, useEffect } from 'react'\n\nimport type { LexicalRichTextFieldProps } from '../../../../types.js'\nimport type { BlockFields } from '../../server/nodes/BlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { $isBlockNode } from '../nodes/BlocksNode.js'\nimport { FormSavePlugin } from './FormSavePlugin.js'\n\ntype Props = {\n baseClass: string\n clientBlock: ClientBlock\n field: LexicalRichTextFieldProps['field']\n formData: BlockFields\n formSchema: ClientField[]\n Label?: React.ReactNode\n nodeKey: string\n path: string\n schemaPath: string\n}\n\n// Recursively remove all undefined values from even being present in formData, as they will\n// cause isDeepEqual to return false if, for example, formData has a key that fields.data\n// does not have, even if it's undefined.\n// Currently, this happens if a block has another sub-blocks field. Inside formData, that sub-blocks field has an undefined blockName property.\n// Inside of fields.data however, that sub-blocks blockName property does not exist at all.\nfunction removeUndefinedAndNullAndEmptyArraysRecursively(obj: object) {\n for (const key in obj) {\n const value = obj[key]\n if (Array.isArray(value) && !value?.length) {\n delete obj[key]\n } else if (value && typeof value === 'object') {\n removeUndefinedAndNullAndEmptyArraysRecursively(value)\n } else if (value === undefined || value === null) {\n delete obj[key]\n }\n }\n}\n\n/**\n * The actual content of the Block. This should be INSIDE a Form component,\n * scoped to the block. All format operations in here are thus scoped to the block's form, and\n * not the whole document.\n */\nexport const BlockContent: React.FC<Props> = (props) => {\n const { baseClass, clientBlock, field, formSchema, Label, nodeKey } = props\n let { formData } = props\n\n const { i18n } = useTranslation()\n const [editor] = useLexicalComposerContext()\n // Used for saving collapsed to preferences (and gettin' it from there again)\n // Remember, these preferences are scoped to the whole document, not just this form. This\n // is important to consider for the data path used in setDocFieldPreferences\n const { getDocPreferences, setDocFieldPreferences } = useDocumentInfo()\n\n const [isCollapsed, setIsCollapsed] = React.useState<boolean>()\n\n useEffect(() => {\n void getDocPreferences().then((currentDocPreferences) => {\n const currentFieldPreferences = currentDocPreferences?.fields[field.name]\n const collapsedArray = currentFieldPreferences?.collapsed\n setIsCollapsed(collapsedArray ? collapsedArray.includes(formData.id) : false)\n })\n }, [field.name, formData.id, getDocPreferences])\n\n const hasSubmitted = useFormSubmitted()\n\n const [errorCount, setErrorCount] = React.useState(0)\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const onFormChange = useCallback(\n ({\n fullFieldsWithValues,\n newFormData,\n }: {\n fullFieldsWithValues: FormState\n newFormData: BlockFields\n }) => {\n newFormData.id = formData.id\n newFormData.blockType = formData.blockType\n\n removeUndefinedAndNullAndEmptyArraysRecursively(newFormData)\n removeUndefinedAndNullAndEmptyArraysRecursively(formData)\n\n // Only update if the data has actually changed. Otherwise, we may be triggering an unnecessary value change,\n // which would trigger the \"Leave without saving\" dialog unnecessarily\n if (!dequal(formData, newFormData)) {\n // Running this in the next tick in the meantime fixes this issue: https://github.com/payloadcms/payload/issues/4108\n // I don't know why. When this is called immediately, it might focus out of a nested lexical editor field if an update is made there.\n // My hypothesis is that the nested editor might not have fully finished its update cycle yet. By updating in the next tick, we\n // ensure that the nested editor has finished its update cycle before we update the block node.\n setTimeout(() => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isBlockNode(node)) {\n formData = newFormData\n node.setFields(newFormData)\n }\n })\n }, 0)\n }\n\n // update error count\n if (hasSubmitted) {\n let rowErrorCount = 0\n for (const formField of Object.values(fullFieldsWithValues)) {\n if (formField?.valid === false) {\n rowErrorCount++\n }\n }\n setErrorCount(rowErrorCount)\n }\n },\n [editor, nodeKey, hasSubmitted, formData],\n )\n\n const onCollapsedChange = useCallback(\n (changedCollapsed: boolean) => {\n void getDocPreferences().then((currentDocPreferences) => {\n const currentFieldPreferences = currentDocPreferences?.fields[field.name]\n\n const collapsedArray = currentFieldPreferences?.collapsed\n\n const newCollapsed: CollapsedPreferences =\n collapsedArray && collapsedArray?.length ? collapsedArray : []\n\n if (changedCollapsed) {\n if (!newCollapsed.includes(formData.id)) {\n newCollapsed.push(formData.id)\n }\n } else {\n if (newCollapsed.includes(formData.id)) {\n newCollapsed.splice(newCollapsed.indexOf(formData.id), 1)\n }\n }\n\n setDocFieldPreferences(field.name, {\n collapsed: newCollapsed,\n hello: 'hi',\n })\n })\n },\n [getDocPreferences, field.name, setDocFieldPreferences, formData.id],\n )\n\n const removeBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey)?.remove()\n })\n }, [editor, nodeKey])\n\n if (typeof isCollapsed !== 'boolean') {\n return null\n }\n\n return (\n <React.Fragment>\n <Collapsible\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n Label || (\n <div className={`${baseClass}__block-header`}>\n <div>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`}\n pillStyle=\"white\"\n >\n {typeof clientBlock?.labels?.singular === 'string'\n ? getTranslation(clientBlock?.labels.singular, i18n)\n : clientBlock.slug}\n </Pill>\n <SectionTitle path=\"blockName\" readOnly={field?.admin?.readOnly || false} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n {editor.isEditable() && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={field?.admin?.readOnly}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeBlock()\n }}\n round\n tooltip=\"Remove Block\"\n />\n )}\n </div>\n )\n }\n isCollapsed={isCollapsed}\n key={0}\n onToggle={(incomingCollapsedState) => {\n onCollapsedChange(incomingCollapsedState)\n setIsCollapsed(incomingCollapsedState)\n }}\n >\n <RenderFields\n fields={formSchema}\n forceRender={true}\n parentIndexPath=\"\"\n parentPath={''}\n parentSchemaPath=\"\"\n permissions={true}\n />\n </Collapsible>\n\n <FormSavePlugin onChange={onFormChange} />\n </React.Fragment>\n )\n}\n", "'use client'\nimport type { Data, FormState } from 'payload'\nimport type React from 'react'\n\nimport { useAllFormFields } from '@payloadcms/ui'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport { useEffect } from 'react'\n\nimport { removeEmptyArrayValues } from './removeEmptyArrayValues.js'\n\ntype Props = {\n onChange?: ({\n fullFieldsWithValues,\n newFormData,\n }: {\n fullFieldsWithValues: FormState\n newFormData: Data\n }) => void\n}\n\nexport const FormSavePlugin: React.FC<Props> = (props) => {\n const { onChange } = props\n\n const [_fields] = useAllFormFields()\n\n const fields = removeEmptyArrayValues({ fields: _fields })\n\n // Pass in fields, and indicate if you'd like to \"unflatten\" field data.\n // The result below will reflect the data stored in the form at the given time\n const newFormData = reduceFieldsToValues(fields, true)\n\n useEffect(() => {\n if (onChange) {\n onChange({ fullFieldsWithValues: fields, newFormData })\n }\n }, [newFormData, onChange, fields])\n\n return null\n}\n", "'use client'\nimport type { FormState } from 'payload'\n\n/**\n * By default, if an array field is empty, it will be included in the form state with a value of 0.\n * We do not need this behavior here, By setting `disableFormData` to true, we can prevent the field from being included in the form state\n * like that.\n * @param fields form state\n */\nexport function removeEmptyArrayValues({ fields }: { fields: FormState }): FormState {\n for (const key in fields) {\n const field = fields[key]\n if (Array.isArray(field.rows) && 'value' in field) {\n field.disableFormData = true\n }\n }\n return fields\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Collapsible", "Form", "Pill", "SectionTitle", "ShimmerEffect", "useDocumentInfo", "useFormSubmitted", "useServerFunctions", "useTranslation", "abortAndIgnore", "useCallback", "useEffect", "useMemo", "useRef", "useState", "getTranslation", "v4", "uuid", "useLexicalComposerContext", "getTranslation", "Button", "Collapsible", "ErrorPill", "Pill", "RenderFields", "SectionTitle", "useDocumentInfo", "useFormSubmitted", "useTranslation", "dequal", "$getNodeByKey", "React", "useCallback", "useEffect", "c", "_c", "useAllFormFields", "reduceFieldsToValues", "useEffect", "removeEmptyArrayValues", "fields", "key", "field", "Array", "isArray", "rows", "disableFormData", "FormSavePlugin", "props", "$", "_c", "onChange", "_fields", "useAllFormFields", "t0", "fields", "removeEmptyArrayValues", "reduceFieldsToValues", "newFormData", "t1", "t2", "fullFieldsWithValues", "useEffect", "removeUndefinedAndNullAndEmptyArraysRecursively", "obj", "key", "value", "Array", "isArray", "length", "BlockContent", "props", "baseClass", "clientBlock", "field", "formSchema", "Label", "nodeKey", "formData", "i18n", "useTranslation", "editor", "useLexicalComposerContext", "getDocPreferences", "setDocFieldPreferences", "useDocumentInfo", "isCollapsed", "setIsCollapsed", "React", "useState", "useEffect", "then", "currentDocPreferences", "collapsedArray", "fields", "name", "collapsed", "includes", "id", "hasSubmitted", "useFormSubmitted", "errorCount", "setErrorCount", "fieldHasErrors", "classNames", "filter", "Boolean", "join", "onFormChange", "useCallback", "fullFieldsWithValues", "newFormData", "blockType", "dequal", "setTimeout", "update", "node", "$getNodeByKey", "$isBlockNode", "setFields", "rowErrorCount", "formField", "Object", "values", "valid", "onCollapsedChange", "changedCollapsed", "newCollapsed", "push", "splice", "indexOf", "hello", "removeBlock", "remove", "_jsxs", "Fragment", "_jsx", "Collapsible", "className", "collapsibleStyle", "header", "Pill", "pillStyle", "labels", "singular", "getTranslation", "slug", "SectionTitle", "path", "readOnly", "admin", "ErrorPill", "count", "withMessage", "isEditable", "Button", "buttonStyle", "disabled", "icon", "onClick", "e", "preventDefault", "round", "tooltip", "onToggle", "incomingCollapsedState", "RenderFields", "forceRender", "parentIndexPath", "parentPath", "parentSchemaPath", "permissions", "FormSavePlugin", "onChange", "baseClass", "BlockComponent", "props", "formData", "nodeKey", "submitted", "useFormSubmitted", "id", "collectionSlug", "globalSlug", "useDocumentInfo", "fieldProps", "featureClientSchemaMap", "field", "parentLexicalRichTextField", "path", "schemaPath", "useEditorConfigContext", "onChangeAbortControllerRef", "useRef", "AbortController", "docPermissions", "getDocPreferences", "getFormState", "useServerFunctions", "initialState", "setInitialState", "useState", "schemaFieldsPath", "blockType", "componentMapRenderedBlockPath", "clientBlock", "blocks", "i18n", "useTranslation", "useEffect", "abortController", "state", "data", "fields", "docPreferences", "operation", "renderAllFields", "signal", "blockName", "initialValue", "passesCondition", "valid", "value", "abortAndIgnore", "onChange", "useCallback", "formState", "prevFormState", "current", "controller", "newFormState", "classNames", "filter", "Boolean", "join", "Label", "admin", "components", "formContent", "useMemo", "_jsx", "Form", "beforeSubmit", "uuid", "BlockContent", "formSchema", "Collapsible", "className", "collapsibleStyle", "header", "_jsxs", "Pill", "pillStyle", "labels", "singular", "getTranslation", "slug", "SectionTitle", "readOnly", "ShimmerEffect", "height"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{a as y,b as M,c as A,d as T,g as O}from"./chunk-XDEGE6I5.js";import{a as U}from"./chunk-5PBXL4HT.js";import{b}from"./chunk-CUIBIFW2.js";import{jsx as e,jsxs as c}from"react/jsx-runtime";import{useLexicalComposerContext as ae}from"@lexical/react/LexicalComposerContext.js";import{useLexicalNodeSelection as le}from"@lexical/react/useLexicalNodeSelection.js";import{mergeRegister as re}from"@lexical/utils";import{getTranslation as F}from"@payloadcms/translations";import{Button as C,File as se,formatDrawerSlug as ie,useConfig as ne,useEditDepth as ce,usePayloadAPI as de,useTranslation as ue}from"@payloadcms/ui";import{$getNodeByKey as I,$getSelection as me,$isNodeSelection as pe,CLICK_COMMAND as fe,COMMAND_PRIORITY_LOW as w,KEY_BACKSPACE_COMMAND as ge,KEY_DELETE_COMMAND as he}from"lexical";import{useCallback as f,useEffect as _e,useId as De,useReducer as be,useRef as Ce,useState as we}from"react";var o="lexical-upload",K={depth:0},Ne=d=>{let{data:{fields:j,relationTo:N,value:n},nodeKey:l}=d;if(typeof n=="object")throw new Error("Upload value should be a string or number. The Lexical Upload component should not receive the populated value object.");let{config:{collections:B,routes:{api:k},serverURL:W}}=ne(),g=Ce(null),{uuid:Y}=b(),z=ce(),[a]=ae(),[r,h,x]=le(l),{editorConfig:H,fieldProps:{readOnly:_,schemaPath:q}}=b(),{i18n:S,t:u}=ue(),[$,G]=be(t=>t+1,0),[s]=we(()=>B.find(t=>t.slug===N)),J=De(),v=ie({slug:"lexical-upload-drawer-"+Y+J,depth:z}),{toggleDrawer:Q}=M(v,!0),{closeDocumentDrawer:E,DocumentDrawer:V,DocumentDrawerToggler:X}=U({id:n,collectionSlug:s.slug}),[{data:m},{setParams:R}]=de(`${W}${k}/${s.slug}/${n}`,{initialParams:K}),L=m?.thumbnailURL||m?.url,Z=f(()=>{a.update(()=>{I(l)?.remove()})},[a,l]),ee=f(t=>{R({...K,cacheBust:$}),G(),E()},[R,$,E]),D=f(t=>{let p=me();return r&&pe(p)&&(t.preventDefault(),a.update(()=>{p.getNodes().forEach(i=>{O(i)&&i.remove()})})),!1},[a,r]);_e(()=>re(a.registerCommand(fe,t=>t.target===g.current||g.current?.contains(t.target)?(t.shiftKey?h(!r):r||(x(),h(!0)),!0):!1,w),a.registerCommand(he,D,w),a.registerCommand(ge,D,w)),[x,a,r,l,D,h]);let P=H?.resolvedFeatureMap?.get("upload")?.sanitizedClientFeatureProps.collections?.[s.slug]?.hasExtraFields,te=f((t,p)=>{a.update(()=>{let i=I(l);if(i){let oe={...i.getData(),fields:p};i.setData(oe)}})},[a,l]);return c("div",{className:[o,r&&`${o}--selected`].filter(Boolean).join(" "),contentEditable:!1,ref:g,children:[c("div",{className:`${o}__card`,children:[c("div",{className:`${o}__topRow`,children:[e("div",{className:`${o}__thumbnail`,children:L?e("img",{alt:m?.filename,"data-lexical-upload-id":n,"data-lexical-upload-relation-to":N,src:L}):e(se,{})}),c("div",{className:`${o}__topRowRightPanel`,children:[e("div",{className:`${o}__collectionLabel`,children:F(s.labels.singular,S)}),a.isEditable()&&c("div",{className:`${o}__actions`,children:[P?e(C,{buttonStyle:"icon-label",className:`${o}__upload-drawer-toggler`,disabled:_,el:"button",icon:"edit",onClick:()=>{Q()},round:!0,tooltip:u("fields:editRelationship")}):null,e(C,{buttonStyle:"icon-label",className:`${o}__swap-drawer-toggler`,disabled:_,el:"button",icon:"swap",onClick:()=>{a.dispatchCommand(T,{replace:{nodeKey:l}})},round:!0,tooltip:u("fields:swapUpload")}),e(C,{buttonStyle:"icon-label",className:`${o}__removeButton`,disabled:_,icon:"x",onClick:t=>{t.preventDefault(),Z()},round:!0,tooltip:u("fields:removeUpload")})]})]})]}),e("div",{className:`${o}__bottomRow`,children:e(X,{className:`${o}__doc-drawer-toggler`,children:e("strong",{children:m?.filename})})})]}),n?e(V,{onSave:ee}):null,P?e(y,{data:j,drawerSlug:v,drawerTitle:u("general:editLabel",{label:F(s.labels.singular,S)}),featureKey:"upload",handleDrawerSubmit:te,schemaPath:q,schemaPathSuffix:s.slug}):null]})},Ke=d=>e(A,{...d,uploads:!0,children:e(Ne,{...d})});export{Ke as UploadComponent};
|
|
2
|
-
//# sourceMappingURL=component-YICNYPTU.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{c as x,f as M}from"./chunk-YGRKYSDC.js";import{b as E}from"./chunk-CUIBIFW2.js";import{jsx as u,jsxs as S}from"react/jsx-runtime";import{useCallback as f,useEffect as R,useRef as A}from"react";import{useLexicalComposerContext as I}from"@lexical/react/LexicalComposerContext";import{useLexicalNodeSelection as K}from"@lexical/react/useLexicalNodeSelection";import{mergeRegister as P}from"@lexical/utils";import{getTranslation as h}from"@payloadcms/translations";import{Button as v,useTranslation as T}from"@payloadcms/ui";import{$getNodeByKey as j,$getSelection as Y,$isNodeSelection as z,CLICK_COMMAND as F,COMMAND_PRIORITY_LOW as p,KEY_BACKSPACE_COMMAND as W,KEY_DELETE_COMMAND as q}from"lexical";var l="inline-block",ie=D=>{let{formData:r,nodeKey:n}=D,[e]=I(),{i18n:b,t:C}=T(),{fieldProps:{featureClientSchemaMap:$,readOnly:k,schemaPath:y}}=E(),a=A(null),[o,c,m]=K(n),O=`${y}.lexical_internal_feature.blocks.lexical_inline_blocks.${r.blockType}`,i=$.blocks[O][0].blocks[0],L=f(()=>{e.update(()=>{j(n)?.remove()})},[e,n]),d=f(s=>{let t=Y();return o&&z(t)&&(s.preventDefault(),e.update(()=>{t.getNodes().forEach(B=>{M(B)&&B.remove()})})),!1},[e,o]),_=f(s=>{let t=s;return t.target===a.current||a.current?.contains(t.target)?(t.shiftKey?c(!o):o||(m(),c(!0)),!0):!1},[o,c,m]);R(()=>P(e.registerCommand(F,_,p),e.registerCommand(q,d,p),e.registerCommand(W,d,p)),[m,e,o,n,d,c,_]);let N=i?.labels?.singular?h(i.labels.singular,b):i?.slug,g=i?.admin?.components?.Label;return S("div",{className:[l,l+"-"+r.blockType,o&&`${l}--selected`].filter(Boolean).join(" "),ref:a,children:[g||u("div",{children:h(i.labels.singular,b)}),e.isEditable()&&S("div",{className:`${l}__actions`,children:[u(v,{buttonStyle:"icon-label",className:`${l}__editButton`,disabled:k,el:"div",icon:"edit",onClick:()=>{e.dispatchCommand(x,{fields:r,nodeKey:n})},round:!0,size:"small",tooltip:C("lexical:blocks:inlineBlocks:edit",{label:N})}),u(v,{buttonStyle:"icon-label",className:`${l}__removeButton`,disabled:k,icon:"x",onClick:s=>{s.preventDefault(),L()},round:!0,size:"small",tooltip:C("lexical:blocks:inlineBlocks:remove",{label:N})})]})]})};export{ie as InlineBlockComponent};
|
|
2
|
-
//# sourceMappingURL=componentInline-6RPSMLNJ.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/features/blocks/client/componentInline/index.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport React, { useCallback, useEffect, useRef } from 'react'\nconst baseClass = 'inline-block'\n\nimport type { BlocksFieldClient } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection'\nimport { mergeRegister } from '@lexical/utils'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, useTranslation } from '@payloadcms/ui'\nimport {\n $getNodeByKey,\n $getSelection,\n $isNodeSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n} from 'lexical'\n\nimport type { InlineBlockFields } from '../nodes/InlineBlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { $isInlineBlockNode } from '../nodes/InlineBlocksNode.js'\nimport { OPEN_INLINE_BLOCK_DRAWER_COMMAND } from '../plugin/commands.js'\nimport './index.scss'\n\ntype Props = {\n readonly formData: InlineBlockFields\n readonly nodeKey: string\n}\n\nexport const InlineBlockComponent: React.FC<Props> = (props) => {\n const { formData, nodeKey } = props\n const [editor] = useLexicalComposerContext()\n const { i18n, t } = useTranslation<object, string>()\n const {\n fieldProps: { featureClientSchemaMap, readOnly, schemaPath },\n } = useEditorConfigContext()\n const inlineBlockElemElemRef = useRef<HTMLDivElement | null>(null)\n const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey)\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${formData.blockType}`\n\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient = clientSchemaMap[\n componentMapRenderedBlockPath\n ][0] as BlocksFieldClient\n\n const clientBlock = blocksField.blocks[0]\n\n const removeInlineBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey)?.remove()\n })\n }, [editor, nodeKey])\n\n const $onDelete = useCallback(\n (event: KeyboardEvent) => {\n const deleteSelection = $getSelection()\n if (isSelected && $isNodeSelection(deleteSelection)) {\n event.preventDefault()\n editor.update(() => {\n deleteSelection.getNodes().forEach((node) => {\n if ($isInlineBlockNode(node)) {\n node.remove()\n }\n })\n })\n }\n return false\n },\n [editor, isSelected],\n )\n const onClick = useCallback(\n (payload: MouseEvent) => {\n const event = payload\n // Check if inlineBlockElemElemRef.target or anything WITHIN inlineBlockElemElemRef.target was clicked\n if (\n event.target === inlineBlockElemElemRef.current ||\n inlineBlockElemElemRef.current?.contains(event.target as Node)\n ) {\n if (event.shiftKey) {\n setSelected(!isSelected)\n } else {\n if (!isSelected) {\n clearSelection()\n setSelected(true)\n }\n }\n return true\n }\n\n return false\n },\n [isSelected, setSelected, clearSelection],\n )\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand<MouseEvent>(CLICK_COMMAND, onClick, COMMAND_PRIORITY_LOW),\n\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n )\n }, [clearSelection, editor, isSelected, nodeKey, $onDelete, setSelected, onClick])\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock?.slug\n\n const Label = clientBlock?.admin?.components?.Label\n\n return (\n <div\n className={[\n baseClass,\n baseClass + '-' + formData.blockType,\n isSelected && `${baseClass}--selected`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={inlineBlockElemElemRef}\n >\n {Label ? Label : <div>{getTranslation(clientBlock.labels!.singular, i18n)}</div>}\n {editor.isEditable() && (\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__editButton`}\n disabled={readOnly}\n el=\"div\"\n icon=\"edit\"\n onClick={() => {\n editor.dispatchCommand(OPEN_INLINE_BLOCK_DRAWER_COMMAND, {\n fields: formData,\n nodeKey,\n })\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:edit', { label: blockDisplayName })}\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={readOnly}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeInlineBlock()\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:remove', { label: blockDisplayName })}\n />\n </div>\n )}\n </div>\n )\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["useCallback", "useEffect", "useRef", "useLexicalComposerContext", "useLexicalNodeSelection", "mergeRegister", "getTranslation", "Button", "useTranslation", "$getNodeByKey", "$getSelection", "$isNodeSelection", "CLICK_COMMAND", "COMMAND_PRIORITY_LOW", "KEY_BACKSPACE_COMMAND", "KEY_DELETE_COMMAND", "baseClass", "InlineBlockComponent", "props", "formData", "nodeKey", "editor", "useLexicalComposerContext", "i18n", "t", "useTranslation", "fieldProps", "featureClientSchemaMap", "readOnly", "schemaPath", "useEditorConfigContext", "inlineBlockElemElemRef", "useRef", "isSelected", "setSelected", "clearSelection", "useLexicalNodeSelection", "componentMapRenderedBlockPath", "blockType", "clientBlock", "blocks", "removeInlineBlock", "useCallback", "update", "$getNodeByKey", "remove", "$onDelete", "event", "deleteSelection", "$getSelection", "$isNodeSelection", "preventDefault", "getNodes", "forEach", "node", "$isInlineBlockNode", "onClick", "payload", "target", "current", "contains", "shiftKey", "useEffect", "mergeRegister", "registerCommand", "CLICK_COMMAND", "COMMAND_PRIORITY_LOW", "KEY_DELETE_COMMAND", "KEY_BACKSPACE_COMMAND", "blockDisplayName", "labels", "singular", "getTranslation", "slug", "Label", "admin", "components", "_jsxs", "className", "filter", "Boolean", "join", "ref", "_jsx", "isEditable", "Button", "buttonStyle", "disabled", "el", "icon", "dispatchCommand", "OPEN_INLINE_BLOCK_DRAWER_COMMAND", "fields", "round", "size", "tooltip", "label", "e"]
|
|
7
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Data, FormState } from 'payload';
|
|
2
|
-
import type React from 'react';
|
|
3
|
-
type Props = {
|
|
4
|
-
onChange?: ({ fullFieldsWithValues, newFormData, }: {
|
|
5
|
-
fullFieldsWithValues: FormState;
|
|
6
|
-
newFormData: Data;
|
|
7
|
-
}) => void;
|
|
8
|
-
};
|
|
9
|
-
export declare const FormSavePlugin: React.FC<Props>;
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=FormSavePlugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormSavePlugin.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/component/FormSavePlugin.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,CAAC,EACV,oBAAoB,EACpB,WAAW,GACZ,EAAE;QACD,oBAAoB,EAAE,SAAS,CAAA;QAC/B,WAAW,EAAE,IAAI,CAAA;KAClB,KAAK,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkB1C,CAAA"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { useAllFormFields } from '@payloadcms/ui';
|
|
5
|
-
import { reduceFieldsToValues } from 'payload/shared';
|
|
6
|
-
import { useEffect } from 'react';
|
|
7
|
-
import { removeEmptyArrayValues } from './removeEmptyArrayValues.js';
|
|
8
|
-
export const FormSavePlugin = props => {
|
|
9
|
-
const $ = _c(8);
|
|
10
|
-
const {
|
|
11
|
-
onChange
|
|
12
|
-
} = props;
|
|
13
|
-
const [_fields] = useAllFormFields();
|
|
14
|
-
let t0;
|
|
15
|
-
let fields;
|
|
16
|
-
if ($[0] !== _fields) {
|
|
17
|
-
fields = removeEmptyArrayValues({
|
|
18
|
-
fields: _fields
|
|
19
|
-
});
|
|
20
|
-
t0 = reduceFieldsToValues(fields, true);
|
|
21
|
-
$[0] = _fields;
|
|
22
|
-
$[1] = t0;
|
|
23
|
-
$[2] = fields;
|
|
24
|
-
} else {
|
|
25
|
-
t0 = $[1];
|
|
26
|
-
fields = $[2];
|
|
27
|
-
}
|
|
28
|
-
const newFormData = t0;
|
|
29
|
-
let t1;
|
|
30
|
-
let t2;
|
|
31
|
-
if ($[3] !== onChange || $[4] !== fields || $[5] !== newFormData) {
|
|
32
|
-
t1 = () => {
|
|
33
|
-
if (onChange) {
|
|
34
|
-
onChange({
|
|
35
|
-
fullFieldsWithValues: fields,
|
|
36
|
-
newFormData
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
t2 = [newFormData, onChange, fields];
|
|
41
|
-
$[3] = onChange;
|
|
42
|
-
$[4] = fields;
|
|
43
|
-
$[5] = newFormData;
|
|
44
|
-
$[6] = t1;
|
|
45
|
-
$[7] = t2;
|
|
46
|
-
} else {
|
|
47
|
-
t1 = $[6];
|
|
48
|
-
t2 = $[7];
|
|
49
|
-
}
|
|
50
|
-
useEffect(t1, t2);
|
|
51
|
-
return null;
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=FormSavePlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormSavePlugin.js","names":["c","_c","useAllFormFields","reduceFieldsToValues","useEffect","removeEmptyArrayValues","FormSavePlugin","props","$","onChange","_fields","t0","fields","newFormData","t1","t2","fullFieldsWithValues"],"sources":["../../../../../src/features/blocks/client/component/FormSavePlugin.tsx"],"sourcesContent":["'use client'\nimport type { Data, FormState } from 'payload'\nimport type React from 'react'\n\nimport { useAllFormFields } from '@payloadcms/ui'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport { useEffect } from 'react'\n\nimport { removeEmptyArrayValues } from './removeEmptyArrayValues.js'\n\ntype Props = {\n onChange?: ({\n fullFieldsWithValues,\n newFormData,\n }: {\n fullFieldsWithValues: FormState\n newFormData: Data\n }) => void\n}\n\nexport const FormSavePlugin: React.FC<Props> = (props) => {\n const { onChange } = props\n\n const [_fields] = useAllFormFields()\n\n const fields = removeEmptyArrayValues({ fields: _fields })\n\n // Pass in fields, and indicate if you'd like to \"unflatten\" field data.\n // The result below will reflect the data stored in the form at the given time\n const newFormData = reduceFieldsToValues(fields, true)\n\n useEffect(() => {\n if (onChange) {\n onChange({ fullFieldsWithValues: fields, newFormData })\n }\n }, [newFormData, onChange, fields])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,gBAAgB,QAAQ;AACjC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,SAAS,QAAQ;AAE1B,SAASC,sBAAsB,QAAQ;AAYvC,OAAO,MAAMC,cAAA,GAAkCC,KAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAC7C;IAAAQ;EAAA,IAAqBF,KAAA;EAErB,OAAAG,OAAA,IAAkBR,gBAAA;EAAA,IAAAS,EAAA;EAAA,IAAAC,MAAA;EAAA,IAAAJ,CAAA,QAAAE,OAAA;IAElBE,MAAA,GAAeP,sBAAA;MAAAO,MAAA,EAAiCF;IAAA,CAAQ;IAIpCC,EAAA,GAAAR,oBAAA,CAAqBS,MAAA,MAAQ;IAAAJ,CAAA,MAAAE,OAAA;IAAAF,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAI,MAAA;EAAA;IAAAD,EAAA,GAAAH,CAAA;IAAAI,MAAA,GAAAJ,CAAA;EAAA;EAAjD,MAAAK,WAAA,GAAoBF,EAA6B;EAAA,IAAAG,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAI,MAAA,IAAAJ,CAAA,QAAAK,WAAA;IAEvCC,EAAA,GAAAA,CAAA;MAAA,IACJL,QAAA;QACFA,QAAA;UAAAO,oBAAA,EAAiCJ,MAAA;UAAAC;QAAA,CAAoB;MAAA;IAAA;IAEtDE,EAAA,IAACF,WAAA,EAAaJ,QAAA,EAAUG,MAAA;IAAOJ,CAAA,MAAAC,QAAA;IAAAD,CAAA,MAAAI,MAAA;IAAAJ,CAAA,MAAAK,WAAA;IAAAL,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAD,EAAA,GAAAN,CAAA;IAAAO,EAAA,GAAAP,CAAA;EAAA;EAJlCJ,SAAA,CAAUU,EAIV,EAAGC,EAA+B;EAAA;AAAA,CAGpC","ignoreList":[]}
|