@payloadcms/richtext-lexical 3.0.0-canary.3bd3027 → 3.0.0-canary.483db21
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/cell/index.d.ts +2 -2
- package/dist/cell/index.d.ts.map +1 -1
- package/dist/cell/index.js +2 -2
- package/dist/cell/index.js.map +1 -1
- package/dist/exports/client/Field-5GGTGCKC.js +2 -0
- package/dist/exports/client/Field-5GGTGCKC.js.map +7 -0
- package/dist/exports/client/RelationshipComponent-ZR2OCBGL.js +2 -0
- package/dist/exports/client/RelationshipComponent-ZR2OCBGL.js.map +7 -0
- package/dist/exports/client/bundled.css +1 -1
- package/dist/exports/client/{chunk-OSR74ZNW.js → chunk-6QXGZYUK.js} +2 -2
- package/dist/exports/client/chunk-6QXGZYUK.js.map +7 -0
- package/dist/exports/client/chunk-EBB2CEB6.js +2 -0
- package/dist/exports/client/chunk-EBB2CEB6.js.map +7 -0
- package/dist/exports/client/chunk-IPCJ5EVK.js +2 -0
- package/dist/exports/client/chunk-IPCJ5EVK.js.map +7 -0
- package/dist/exports/client/{chunk-3K3B6PJM.js → chunk-IWZVO3AI.js} +2 -2
- package/dist/exports/client/chunk-IWZVO3AI.js.map +7 -0
- package/dist/exports/client/{chunk-MLIITFAS.js → chunk-Q5DYR7MH.js} +2 -2
- package/dist/exports/client/chunk-Q5DYR7MH.js.map +7 -0
- package/dist/exports/client/chunk-VUVXZJJR.js +2 -0
- package/dist/exports/client/chunk-VUVXZJJR.js.map +7 -0
- package/dist/exports/client/component-D4GWDXK5.js +2 -0
- package/dist/exports/client/component-D4GWDXK5.js.map +7 -0
- package/dist/exports/client/component-KA7FDRMA.js +2 -0
- package/dist/exports/client/component-KA7FDRMA.js.map +7 -0
- package/dist/exports/client/{component-QWIGEOVD.js → component-VM36FRT2.js} +2 -2
- package/dist/exports/client/componentInline-6EKPZSCV.js +2 -0
- package/dist/exports/client/componentInline-6EKPZSCV.js.map +7 -0
- package/dist/exports/client/index.d.ts +17 -6
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +8 -6
- package/dist/exports/client/index.js.map +4 -4
- package/dist/features/align/feature.client.js.map +1 -1
- package/dist/features/align/feature.server.d.ts +1 -1
- package/dist/features/align/feature.server.d.ts.map +1 -1
- package/dist/features/align/feature.server.js.map +1 -1
- package/dist/features/align/i18n.js.map +1 -1
- package/dist/features/align/toolbarAlignGroup.js.map +1 -1
- package/dist/features/blockquote/feature.client.js.map +1 -1
- package/dist/features/blockquote/feature.server.d.ts +6 -1
- package/dist/features/blockquote/feature.server.d.ts.map +1 -1
- package/dist/features/blockquote/feature.server.js +5 -2
- package/dist/features/blockquote/feature.server.js.map +1 -1
- package/dist/features/blockquote/i18n.js.map +1 -1
- package/dist/features/blockquote/markdownTransformer.js.map +1 -1
- package/dist/features/blocks/component/BlockContent.d.ts +5 -5
- package/dist/features/blocks/component/BlockContent.d.ts.map +1 -1
- package/dist/features/blocks/component/BlockContent.js +7 -4
- package/dist/features/blocks/component/BlockContent.js.map +1 -1
- package/dist/features/blocks/component/FormSavePlugin.js +1 -1
- package/dist/features/blocks/component/FormSavePlugin.js.map +1 -1
- package/dist/features/blocks/component/index.d.ts +0 -4
- package/dist/features/blocks/component/index.d.ts.map +1 -1
- package/dist/features/blocks/component/index.js +10 -6
- package/dist/features/blocks/component/index.js.map +1 -1
- package/dist/features/blocks/component/removeEmptyArrayValues.js.map +1 -1
- package/dist/features/blocks/componentInline/index.d.ts +10 -0
- package/dist/features/blocks/componentInline/index.d.ts.map +1 -0
- package/dist/features/blocks/componentInline/index.js +133 -0
- package/dist/features/blocks/componentInline/index.js.map +1 -0
- package/dist/features/blocks/feature.client.d.ts +6 -2
- package/dist/features/blocks/feature.client.d.ts.map +1 -1
- package/dist/features/blocks/feature.client.js +70 -8
- package/dist/features/blocks/feature.client.js.map +1 -1
- package/dist/features/blocks/feature.server.d.ts +3 -2
- package/dist/features/blocks/feature.server.d.ts.map +1 -1
- package/dist/features/blocks/feature.server.js +100 -45
- package/dist/features/blocks/feature.server.js.map +1 -1
- package/dist/features/blocks/graphQLPopulationPromise.d.ts +4 -3
- package/dist/features/blocks/graphQLPopulationPromise.d.ts.map +1 -1
- package/dist/features/blocks/graphQLPopulationPromise.js +2 -2
- package/dist/features/blocks/graphQLPopulationPromise.js.map +1 -1
- package/dist/features/blocks/i18n.d.ts.map +1 -1
- package/dist/features/blocks/i18n.js +192 -0
- package/dist/features/blocks/i18n.js.map +1 -1
- package/dist/features/blocks/nodes/BlocksNode.d.ts +7 -5
- package/dist/features/blocks/nodes/BlocksNode.d.ts.map +1 -1
- package/dist/features/blocks/nodes/BlocksNode.js +3 -3
- package/dist/features/blocks/nodes/BlocksNode.js.map +1 -1
- package/dist/features/blocks/nodes/InlineBlocksNode.d.ts +39 -0
- package/dist/features/blocks/nodes/InlineBlocksNode.d.ts.map +1 -0
- package/dist/features/blocks/nodes/InlineBlocksNode.js +94 -0
- package/dist/features/blocks/nodes/InlineBlocksNode.js.map +1 -0
- package/dist/features/blocks/plugin/commands.d.ts +5 -0
- package/dist/features/blocks/plugin/commands.d.ts.map +1 -1
- package/dist/features/blocks/plugin/commands.js +2 -0
- package/dist/features/blocks/plugin/commands.js.map +1 -1
- package/dist/features/blocks/plugin/index.d.ts +1 -1
- package/dist/features/blocks/plugin/index.d.ts.map +1 -1
- package/dist/features/blocks/plugin/index.js +76 -7
- package/dist/features/blocks/plugin/index.js.map +1 -1
- package/dist/features/blocks/validate.d.ts +4 -3
- package/dist/features/blocks/validate.d.ts.map +1 -1
- package/dist/features/blocks/validate.js +4 -3
- package/dist/features/blocks/validate.js.map +1 -1
- package/dist/features/converters/html/converter/converters/linebreak.js.map +1 -1
- package/dist/features/converters/html/converter/converters/paragraph.d.ts.map +1 -1
- package/dist/features/converters/html/converter/converters/paragraph.js +5 -2
- package/dist/features/converters/html/converter/converters/paragraph.js.map +1 -1
- package/dist/features/converters/html/converter/converters/text.js.map +1 -1
- package/dist/features/converters/html/converter/defaultConverters.js.map +1 -1
- package/dist/features/converters/html/converter/index.d.ts +8 -2
- package/dist/features/converters/html/converter/index.d.ts.map +1 -1
- package/dist/features/converters/html/converter/index.js +14 -5
- package/dist/features/converters/html/converter/index.js.map +1 -1
- package/dist/features/converters/html/converter/types.d.ts +7 -4
- package/dist/features/converters/html/converter/types.d.ts.map +1 -1
- package/dist/features/converters/html/converter/types.js.map +1 -1
- package/dist/features/converters/html/feature.server.d.ts +3 -3
- package/dist/features/converters/html/feature.server.d.ts.map +1 -1
- package/dist/features/converters/html/feature.server.js.map +1 -1
- package/dist/features/converters/html/field/index.d.ts.map +1 -1
- package/dist/features/converters/html/field/index.js +5 -2
- package/dist/features/converters/html/field/index.js.map +1 -1
- package/dist/features/createClientComponent.d.ts +2 -1
- package/dist/features/createClientComponent.d.ts.map +1 -1
- package/dist/features/createClientComponent.js.map +1 -1
- package/dist/features/createFeaturePropComponent.js +1 -1
- package/dist/features/createFeaturePropComponent.js.map +1 -1
- package/dist/features/debug/testRecorder/feature.client.js.map +1 -1
- package/dist/features/debug/testRecorder/feature.server.d.ts +1 -1
- package/dist/features/debug/testRecorder/feature.server.d.ts.map +1 -1
- package/dist/features/debug/testRecorder/feature.server.js.map +1 -1
- package/dist/features/debug/testRecorder/plugin/index.d.ts +1 -1
- package/dist/features/debug/testRecorder/plugin/index.d.ts.map +1 -1
- package/dist/features/debug/testRecorder/plugin/index.js.map +1 -1
- package/dist/features/debug/treeView/feature.client.js.map +1 -1
- package/dist/features/debug/treeView/feature.server.d.ts +1 -1
- package/dist/features/debug/treeView/feature.server.d.ts.map +1 -1
- package/dist/features/debug/treeView/feature.server.js.map +1 -1
- package/dist/features/debug/treeView/plugin/index.d.ts +1 -1
- package/dist/features/debug/treeView/plugin/index.d.ts.map +1 -1
- package/dist/features/debug/treeView/plugin/index.js.map +1 -1
- package/dist/features/experimental_table/feature.client.d.ts +2 -0
- package/dist/features/experimental_table/feature.client.d.ts.map +1 -0
- package/dist/features/experimental_table/feature.client.js +71 -0
- package/dist/features/experimental_table/feature.client.js.map +1 -0
- package/dist/features/experimental_table/feature.server.d.ts +13 -0
- package/dist/features/experimental_table/feature.server.d.ts.map +1 -0
- package/dist/features/experimental_table/feature.server.js +125 -0
- package/dist/features/experimental_table/feature.server.js.map +1 -0
- package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.d.ts +4 -0
- package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.d.ts.map +1 -0
- package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.js +604 -0
- package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.js.map +1 -0
- package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.d.ts +3 -0
- package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.d.ts.map +1 -0
- package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.js +327 -0
- package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.js.map +1 -0
- package/dist/features/experimental_table/plugins/TableHoverActionsPlugin/index.d.ts +12 -0
- package/dist/features/experimental_table/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -0
- package/dist/features/experimental_table/plugins/TableHoverActionsPlugin/index.js +181 -0
- package/dist/features/experimental_table/plugins/TableHoverActionsPlugin/index.js.map +1 -0
- package/dist/features/experimental_table/plugins/TablePlugin/index.d.ts +24 -0
- package/dist/features/experimental_table/plugins/TablePlugin/index.d.ts.map +1 -0
- package/dist/features/experimental_table/plugins/TablePlugin/index.js +98 -0
- package/dist/features/experimental_table/plugins/TablePlugin/index.js.map +1 -0
- package/dist/features/experimental_table/utils/debounce.d.ts +61 -0
- package/dist/features/experimental_table/utils/debounce.d.ts.map +1 -0
- package/dist/features/experimental_table/utils/debounce.js +202 -0
- package/dist/features/experimental_table/utils/debounce.js.map +1 -0
- package/dist/features/experimental_table/utils/useDebounce.d.ts +6 -0
- package/dist/features/experimental_table/utils/useDebounce.d.ts.map +1 -0
- package/dist/features/experimental_table/utils/useDebounce.js +18 -0
- package/dist/features/experimental_table/utils/useDebounce.js.map +1 -0
- package/dist/features/format/bold/feature.client.js.map +1 -1
- package/dist/features/format/bold/feature.server.d.ts +1 -1
- package/dist/features/format/bold/feature.server.d.ts.map +1 -1
- package/dist/features/format/bold/feature.server.js.map +1 -1
- package/dist/features/format/bold/markdownTransformers.js.map +1 -1
- package/dist/features/format/inlineCode/feature.client.js.map +1 -1
- package/dist/features/format/inlineCode/feature.server.d.ts +1 -1
- package/dist/features/format/inlineCode/feature.server.d.ts.map +1 -1
- package/dist/features/format/inlineCode/feature.server.js.map +1 -1
- package/dist/features/format/inlineCode/markdownTransformers.js.map +1 -1
- package/dist/features/format/italic/feature.client.js.map +1 -1
- package/dist/features/format/italic/feature.server.d.ts +1 -1
- package/dist/features/format/italic/feature.server.d.ts.map +1 -1
- package/dist/features/format/italic/feature.server.js.map +1 -1
- package/dist/features/format/italic/markdownTransformers.js.map +1 -1
- package/dist/features/format/shared/toolbarFormatGroup.js.map +1 -1
- package/dist/features/format/strikethrough/feature.client.js.map +1 -1
- package/dist/features/format/strikethrough/feature.server.d.ts +1 -1
- package/dist/features/format/strikethrough/feature.server.d.ts.map +1 -1
- package/dist/features/format/strikethrough/feature.server.js.map +1 -1
- package/dist/features/format/strikethrough/markdownTransformers.js.map +1 -1
- package/dist/features/format/subscript/feature.client.js.map +1 -1
- package/dist/features/format/subscript/feature.server.d.ts +1 -1
- package/dist/features/format/subscript/feature.server.d.ts.map +1 -1
- package/dist/features/format/subscript/feature.server.js.map +1 -1
- package/dist/features/format/superscript/feature.client.js.map +1 -1
- package/dist/features/format/superscript/feature.server.d.ts +1 -1
- package/dist/features/format/superscript/feature.server.d.ts.map +1 -1
- package/dist/features/format/superscript/feature.server.js.map +1 -1
- package/dist/features/format/underline/feature.client.js.map +1 -1
- package/dist/features/format/underline/feature.server.d.ts +1 -1
- package/dist/features/format/underline/feature.server.d.ts.map +1 -1
- package/dist/features/format/underline/feature.server.js.map +1 -1
- package/dist/features/heading/feature.client.js.map +1 -1
- package/dist/features/heading/feature.server.d.ts +6 -2
- package/dist/features/heading/feature.server.d.ts.map +1 -1
- package/dist/features/heading/feature.server.js +5 -2
- package/dist/features/heading/feature.server.js.map +1 -1
- package/dist/features/heading/i18n.js +2 -2
- package/dist/features/heading/i18n.js.map +1 -1
- package/dist/features/heading/markdownTransformer.js.map +1 -1
- package/dist/features/horizontalRule/component/index.js.map +1 -1
- package/dist/features/horizontalRule/feature.client.js.map +1 -1
- package/dist/features/horizontalRule/feature.server.d.ts +1 -1
- package/dist/features/horizontalRule/feature.server.d.ts.map +1 -1
- package/dist/features/horizontalRule/feature.server.js.map +1 -1
- package/dist/features/horizontalRule/i18n.js.map +1 -1
- package/dist/features/horizontalRule/markdownTransformer.js.map +1 -1
- package/dist/features/horizontalRule/nodes/HorizontalRuleNode.d.ts +5 -2
- package/dist/features/horizontalRule/nodes/HorizontalRuleNode.d.ts.map +1 -1
- package/dist/features/horizontalRule/nodes/HorizontalRuleNode.js.map +1 -1
- package/dist/features/horizontalRule/plugin/index.d.ts +1 -1
- package/dist/features/horizontalRule/plugin/index.d.ts.map +1 -1
- package/dist/features/horizontalRule/plugin/index.js.map +1 -1
- package/dist/features/indent/feature.client.js.map +1 -1
- package/dist/features/indent/feature.server.d.ts +1 -1
- package/dist/features/indent/feature.server.d.ts.map +1 -1
- package/dist/features/indent/feature.server.js.map +1 -1
- package/dist/features/indent/i18n.js.map +1 -1
- package/dist/features/indent/toolbarIndentGroup.js.map +1 -1
- package/dist/features/link/drawer/baseFields.d.ts +2 -2
- package/dist/features/link/drawer/baseFields.d.ts.map +1 -1
- package/dist/features/link/drawer/baseFields.js.map +1 -1
- package/dist/features/link/feature.client.d.ts +2 -2
- package/dist/features/link/feature.client.js.map +1 -1
- package/dist/features/link/feature.server.d.ts +6 -6
- package/dist/features/link/feature.server.d.ts.map +1 -1
- package/dist/features/link/feature.server.js +12 -16
- package/dist/features/link/feature.server.js.map +1 -1
- package/dist/features/link/graphQLPopulationPromise.d.ts +1 -1
- package/dist/features/link/graphQLPopulationPromise.d.ts.map +1 -1
- package/dist/features/link/graphQLPopulationPromise.js.map +1 -1
- package/dist/features/link/i18n.js.map +1 -1
- package/dist/features/link/markdownTransformer.js.map +1 -1
- package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
- package/dist/features/link/nodes/AutoLinkNode.js +7 -1
- package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
- package/dist/features/link/nodes/LinkNode.js +1 -2
- package/dist/features/link/nodes/LinkNode.js.map +1 -1
- package/dist/features/link/nodes/types.d.ts +10 -6
- package/dist/features/link/nodes/types.d.ts.map +1 -1
- package/dist/features/link/nodes/types.js.map +1 -1
- package/dist/features/link/plugins/autoLink/index.d.ts +1 -1
- package/dist/features/link/plugins/autoLink/index.d.ts.map +1 -1
- package/dist/features/link/plugins/autoLink/index.js +21 -5
- package/dist/features/link/plugins/autoLink/index.js.map +1 -1
- package/dist/features/link/plugins/clickableLink/index.d.ts +1 -1
- package/dist/features/link/plugins/clickableLink/index.d.ts.map +1 -1
- package/dist/features/link/plugins/clickableLink/index.js.map +1 -1
- package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
- package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
- package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +11 -7
- package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
- package/dist/features/link/plugins/floatingLinkEditor/index.d.ts +1 -1
- package/dist/features/link/plugins/floatingLinkEditor/index.d.ts.map +1 -1
- package/dist/features/link/plugins/floatingLinkEditor/index.js.map +1 -1
- package/dist/features/link/plugins/floatingLinkEditor/types.js.map +1 -1
- package/dist/features/link/plugins/floatingLinkEditor/utilities.d.ts +2 -2
- package/dist/features/link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -1
- package/dist/features/link/plugins/floatingLinkEditor/utilities.js.map +1 -1
- package/dist/features/link/plugins/link/index.d.ts +1 -1
- package/dist/features/link/plugins/link/index.d.ts.map +1 -1
- package/dist/features/link/plugins/link/index.js.map +1 -1
- package/dist/features/link/validate.d.ts +1 -1
- package/dist/features/link/validate.d.ts.map +1 -1
- package/dist/features/link/validate.js +2 -1
- package/dist/features/link/validate.js.map +1 -1
- package/dist/features/lists/checklist/feature.client.js.map +1 -1
- package/dist/features/lists/checklist/feature.server.d.ts +1 -1
- package/dist/features/lists/checklist/feature.server.d.ts.map +1 -1
- package/dist/features/lists/checklist/feature.server.js.map +1 -1
- package/dist/features/lists/checklist/i18n.js.map +1 -1
- package/dist/features/lists/checklist/markdownTransformers.js.map +1 -1
- package/dist/features/lists/checklist/plugin/index.d.ts +1 -1
- package/dist/features/lists/checklist/plugin/index.d.ts.map +1 -1
- package/dist/features/lists/checklist/plugin/index.js.map +1 -1
- package/dist/features/lists/htmlConverter.d.ts +1 -1
- package/dist/features/lists/htmlConverter.d.ts.map +1 -1
- package/dist/features/lists/htmlConverter.js +10 -4
- package/dist/features/lists/htmlConverter.js.map +1 -1
- package/dist/features/lists/orderedList/feature.client.js.map +1 -1
- package/dist/features/lists/orderedList/feature.server.d.ts +1 -2
- package/dist/features/lists/orderedList/feature.server.d.ts.map +1 -1
- package/dist/features/lists/orderedList/feature.server.js.map +1 -1
- package/dist/features/lists/orderedList/i18n.js.map +1 -1
- package/dist/features/lists/orderedList/markdownTransformer.js.map +1 -1
- package/dist/features/lists/plugin/index.d.ts +11 -1
- package/dist/features/lists/plugin/index.d.ts.map +1 -1
- package/dist/features/lists/plugin/index.js.map +1 -1
- package/dist/features/lists/shared/markdown.js.map +1 -1
- package/dist/features/lists/shared/slashMenuListGroup.js.map +1 -1
- package/dist/features/lists/unorderedList/feature.client.js.map +1 -1
- package/dist/features/lists/unorderedList/feature.server.d.ts +1 -1
- package/dist/features/lists/unorderedList/feature.server.d.ts.map +1 -1
- package/dist/features/lists/unorderedList/feature.server.js.map +1 -1
- package/dist/features/lists/unorderedList/i18n.js.map +1 -1
- package/dist/features/lists/unorderedList/markdownTransformer.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/client.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/index.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/client.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/index.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/types.d.ts +2 -2
- package/dist/features/migrations/lexicalPluginToLexical/converter/types.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/feature.client.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/feature.server.d.ts +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/feature.server.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/blockquote/client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/blockquote/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/heading/client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/heading/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/indent/client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/indent/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/link/client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/link/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/listItem/client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/listItem/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/orderedList/client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/orderedList/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/relationship/client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/relationship/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unknown/client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unknown/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/upload/client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/upload/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/defaultConverters.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/index.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/index.js +1 -0
- package/dist/features/migrations/slateToLexical/converter/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/types.js.map +1 -1
- package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/feature.server.d.ts +3 -1
- package/dist/features/migrations/slateToLexical/feature.server.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/feature.server.js +3 -1
- package/dist/features/migrations/slateToLexical/feature.server.js.map +1 -1
- package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
- package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
- package/dist/features/paragraph/feature.client.js.map +1 -1
- package/dist/features/paragraph/feature.server.d.ts +1 -1
- package/dist/features/paragraph/feature.server.d.ts.map +1 -1
- package/dist/features/paragraph/feature.server.js.map +1 -1
- package/dist/features/paragraph/i18n.js.map +1 -1
- package/dist/features/relationship/drawer/commands.js.map +1 -1
- package/dist/features/relationship/drawer/index.js.map +1 -1
- package/dist/features/relationship/feature.client.d.ts +6 -6
- package/dist/features/relationship/feature.client.js.map +1 -1
- package/dist/features/relationship/feature.server.d.ts +6 -5
- package/dist/features/relationship/feature.server.d.ts.map +1 -1
- package/dist/features/relationship/feature.server.js.map +1 -1
- package/dist/features/relationship/graphQLPopulationPromise.d.ts +1 -1
- package/dist/features/relationship/graphQLPopulationPromise.d.ts.map +1 -1
- package/dist/features/relationship/graphQLPopulationPromise.js.map +1 -1
- package/dist/features/relationship/i18n.js.map +1 -1
- package/dist/features/relationship/nodes/RelationshipNode.d.ts +6 -2
- package/dist/features/relationship/nodes/RelationshipNode.d.ts.map +1 -1
- package/dist/features/relationship/nodes/RelationshipNode.js +1 -1
- package/dist/features/relationship/nodes/RelationshipNode.js.map +1 -1
- package/dist/features/relationship/nodes/components/RelationshipComponent.d.ts +0 -1
- package/dist/features/relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
- package/dist/features/relationship/nodes/components/RelationshipComponent.js +2 -3
- package/dist/features/relationship/nodes/components/RelationshipComponent.js.map +1 -1
- package/dist/features/relationship/plugins/index.d.ts +1 -1
- package/dist/features/relationship/plugins/index.d.ts.map +1 -1
- package/dist/features/relationship/plugins/index.js.map +1 -1
- package/dist/features/relationship/utils/EnabledRelationshipsCondition.js.map +1 -1
- package/dist/features/shared/slashMenu/basicGroup.js.map +1 -1
- package/dist/features/shared/toolbar/addDropdownGroup.js.map +1 -1
- package/dist/features/shared/toolbar/featureButtonsGroup.js.map +1 -1
- package/dist/features/shared/toolbar/textDropdownGroup.js.map +1 -1
- package/dist/features/toolbars/fixed/Toolbar/index.d.ts +1 -1
- package/dist/features/toolbars/fixed/Toolbar/index.d.ts.map +1 -1
- package/dist/features/toolbars/fixed/Toolbar/index.js.map +1 -1
- package/dist/features/toolbars/fixed/feature.client.d.ts +1 -1
- package/dist/features/toolbars/fixed/feature.client.d.ts.map +1 -1
- package/dist/features/toolbars/fixed/feature.client.js +8 -15
- package/dist/features/toolbars/fixed/feature.client.js.map +1 -1
- package/dist/features/toolbars/fixed/feature.server.d.ts +1 -2
- package/dist/features/toolbars/fixed/feature.server.d.ts.map +1 -1
- package/dist/features/toolbars/fixed/feature.server.js +16 -18
- package/dist/features/toolbars/fixed/feature.server.js.map +1 -1
- package/dist/features/toolbars/inline/Toolbar/index.d.ts +1 -1
- package/dist/features/toolbars/inline/Toolbar/index.d.ts.map +1 -1
- package/dist/features/toolbars/inline/Toolbar/index.js.map +1 -1
- package/dist/features/toolbars/inline/feature.client.d.ts +1 -1
- package/dist/features/toolbars/inline/feature.client.d.ts.map +1 -1
- package/dist/features/toolbars/inline/feature.client.js +9 -16
- package/dist/features/toolbars/inline/feature.client.js.map +1 -1
- package/dist/features/toolbars/inline/feature.server.d.ts +1 -2
- package/dist/features/toolbars/inline/feature.server.d.ts.map +1 -1
- package/dist/features/toolbars/inline/feature.server.js +8 -11
- package/dist/features/toolbars/inline/feature.server.js.map +1 -1
- package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
- package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
- package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +0 -1
- package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
- package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
- package/dist/features/toolbars/types.d.ts +37 -5
- package/dist/features/toolbars/types.d.ts.map +1 -1
- package/dist/features/toolbars/types.js.map +1 -1
- package/dist/features/typeUtilities.d.ts +1 -1
- package/dist/features/typeUtilities.d.ts.map +1 -1
- package/dist/features/typeUtilities.js.map +1 -1
- package/dist/features/typesClient.d.ts +186 -0
- package/dist/features/typesClient.d.ts.map +1 -0
- package/dist/features/typesClient.js +3 -0
- package/dist/features/typesClient.js.map +1 -0
- package/dist/features/{types.d.ts → typesServer.d.ts} +50 -202
- package/dist/features/typesServer.d.ts.map +1 -0
- package/dist/features/typesServer.js +3 -0
- package/dist/features/typesServer.js.map +1 -0
- package/dist/features/upload/component/index.d.ts.map +1 -1
- package/dist/features/upload/component/index.js +34 -11
- package/dist/features/upload/component/index.js.map +1 -1
- package/dist/features/upload/drawer/commands.js.map +1 -1
- package/dist/features/upload/drawer/index.js.map +1 -1
- package/dist/features/upload/feature.client.d.ts +1 -1
- package/dist/features/upload/feature.client.d.ts.map +1 -1
- package/dist/features/upload/feature.client.js +62 -69
- package/dist/features/upload/feature.client.js.map +1 -1
- package/dist/features/upload/feature.server.d.ts +3 -4
- package/dist/features/upload/feature.server.d.ts.map +1 -1
- package/dist/features/upload/feature.server.js +157 -169
- package/dist/features/upload/feature.server.js.map +1 -1
- package/dist/features/upload/graphQLPopulationPromise.d.ts +1 -1
- package/dist/features/upload/graphQLPopulationPromise.d.ts.map +1 -1
- package/dist/features/upload/graphQLPopulationPromise.js.map +1 -1
- package/dist/features/upload/i18n.js.map +1 -1
- package/dist/features/upload/nodes/UploadNode.d.ts +7 -5
- package/dist/features/upload/nodes/UploadNode.d.ts.map +1 -1
- package/dist/features/upload/nodes/UploadNode.js +1 -2
- package/dist/features/upload/nodes/UploadNode.js.map +1 -1
- package/dist/features/upload/plugin/index.d.ts +1 -1
- package/dist/features/upload/plugin/index.d.ts.map +1 -1
- package/dist/features/upload/plugin/index.js.map +1 -1
- package/dist/features/upload/validate.d.ts +1 -1
- package/dist/features/upload/validate.d.ts.map +1 -1
- package/dist/features/upload/validate.js +1 -0
- package/dist/features/upload/validate.js.map +1 -1
- package/dist/field/Field.d.ts +3 -3
- package/dist/field/Field.d.ts.map +1 -1
- package/dist/field/Field.js +14 -12
- package/dist/field/Field.js.map +1 -1
- package/dist/field/index.d.ts +3 -3
- package/dist/field/index.d.ts.map +1 -1
- package/dist/field/index.js +11 -9
- package/dist/field/index.js.map +1 -1
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts +14 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -16
- package/dist/index.js.map +1 -1
- package/dist/lexical/EditorPlugin.d.ts +1 -1
- package/dist/lexical/EditorPlugin.d.ts.map +1 -1
- package/dist/lexical/EditorPlugin.js.map +1 -1
- package/dist/lexical/LexicalEditor.d.ts +2 -2
- package/dist/lexical/LexicalEditor.d.ts.map +1 -1
- package/dist/lexical/LexicalEditor.js +0 -6
- package/dist/lexical/LexicalEditor.js.map +1 -1
- package/dist/lexical/LexicalProvider.d.ts +3 -3
- package/dist/lexical/LexicalProvider.d.ts.map +1 -1
- package/dist/lexical/LexicalProvider.js +26 -6
- package/dist/lexical/LexicalProvider.js.map +1 -1
- package/dist/lexical/config/client/EditorConfigProvider.d.ts +5 -5
- package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
- package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
- package/dist/lexical/config/client/default.js.map +1 -1
- package/dist/lexical/config/client/loader.d.ts +1 -1
- package/dist/lexical/config/client/loader.d.ts.map +1 -1
- package/dist/lexical/config/client/loader.js.map +1 -1
- package/dist/lexical/config/client/sanitize.d.ts +1 -1
- package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
- package/dist/lexical/config/client/sanitize.js +4 -0
- package/dist/lexical/config/client/sanitize.js.map +1 -1
- package/dist/lexical/config/server/default.d.ts +2 -2
- package/dist/lexical/config/server/default.d.ts.map +1 -1
- package/dist/lexical/config/server/default.js.map +1 -1
- package/dist/lexical/config/server/loader.d.ts +1 -1
- package/dist/lexical/config/server/loader.d.ts.map +1 -1
- package/dist/lexical/config/server/loader.js.map +1 -1
- package/dist/lexical/config/server/sanitize.d.ts +1 -1
- package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
- package/dist/lexical/config/server/sanitize.js.map +1 -1
- package/dist/lexical/config/types.d.ts +4 -3
- package/dist/lexical/config/types.d.ts.map +1 -1
- package/dist/lexical/config/types.js.map +1 -1
- package/dist/lexical/nodes/index.js.map +1 -1
- package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +4 -4
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +0 -2
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +0 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +1 -20
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +23 -8
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
- package/dist/lexical/plugins/SlashMenu/index.js +43 -41
- package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
- package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
- package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -1
- package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -1
- package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js.map +1 -1
- package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
- package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
- package/dist/lexical/plugins/handles/utils/isOnHandleElement.js.map +1 -1
- package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
- package/dist/lexical/theme/EditorTheme.js.map +1 -1
- package/dist/lexical/ui/ContentEditable.d.ts.map +1 -1
- package/dist/lexical/ui/ContentEditable.js +8 -1
- package/dist/lexical/ui/ContentEditable.js.map +1 -1
- package/dist/lexical/ui/icons/AI/index.js.map +1 -1
- package/dist/lexical/ui/icons/Add/index.js.map +1 -1
- package/dist/lexical/ui/icons/AlignCenter/index.js.map +1 -1
- package/dist/lexical/ui/icons/AlignJustify/index.js.map +1 -1
- package/dist/lexical/ui/icons/AlignLeft/index.js.map +1 -1
- package/dist/lexical/ui/icons/AlignRight/index.js.map +1 -1
- package/dist/lexical/ui/icons/Block/index.js.map +1 -1
- package/dist/lexical/ui/icons/Blockquote/index.js.map +1 -1
- package/dist/lexical/ui/icons/Bold/index.js.map +1 -1
- package/dist/lexical/ui/icons/Checklist/index.js.map +1 -1
- package/dist/lexical/ui/icons/Code/index.js.map +1 -1
- package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
- package/dist/lexical/ui/icons/H1/index.js.map +1 -1
- package/dist/lexical/ui/icons/H2/index.js.map +1 -1
- package/dist/lexical/ui/icons/H3/index.js.map +1 -1
- package/dist/lexical/ui/icons/H4/index.js.map +1 -1
- package/dist/lexical/ui/icons/H5/index.js.map +1 -1
- package/dist/lexical/ui/icons/H6/index.js.map +1 -1
- package/dist/lexical/ui/icons/HorizontalRule/index.js.map +1 -1
- package/dist/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
- package/dist/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
- package/dist/lexical/ui/icons/InlineBlocks/index.d.ts +3 -0
- package/dist/lexical/ui/icons/InlineBlocks/index.d.ts.map +1 -0
- package/dist/lexical/ui/icons/InlineBlocks/index.js +20 -0
- package/dist/lexical/ui/icons/InlineBlocks/index.js.map +1 -0
- package/dist/lexical/ui/icons/Italic/index.js.map +1 -1
- package/dist/lexical/ui/icons/Link/index.js.map +1 -1
- package/dist/lexical/ui/icons/Meatballs/index.d.ts +3 -0
- package/dist/lexical/ui/icons/Meatballs/index.d.ts.map +1 -0
- package/dist/lexical/ui/icons/Meatballs/index.js +25 -0
- package/dist/lexical/ui/icons/Meatballs/index.js.map +1 -0
- package/dist/lexical/ui/icons/OrderedList/index.js.map +1 -1
- package/dist/lexical/ui/icons/Relationship/index.js.map +1 -1
- package/dist/lexical/ui/icons/Strikethrough/index.js.map +1 -1
- package/dist/lexical/ui/icons/Subscript/index.js.map +1 -1
- package/dist/lexical/ui/icons/Superscript/index.js.map +1 -1
- package/dist/lexical/ui/icons/Table/index.d.ts +3 -0
- package/dist/lexical/ui/icons/Table/index.d.ts.map +1 -0
- package/dist/lexical/ui/icons/Table/index.js +20 -0
- package/dist/lexical/ui/icons/Table/index.js.map +1 -0
- package/dist/lexical/ui/icons/Text/index.js.map +1 -1
- package/dist/lexical/ui/icons/Underline/index.js.map +1 -1
- package/dist/lexical/ui/icons/UnorderedList/index.js.map +1 -1
- package/dist/lexical/ui/icons/Upload/index.js +1 -1
- package/dist/lexical/ui/icons/Upload/index.js.map +1 -1
- package/dist/lexical/utils/canUseDOM.js.map +1 -1
- package/dist/lexical/utils/environment.js.map +1 -1
- package/dist/lexical/utils/getDOMRangeRect.js.map +1 -1
- package/dist/lexical/utils/getSelectedNode.js.map +1 -1
- package/dist/lexical/utils/guard.js.map +1 -1
- package/dist/lexical/utils/invariant.js.map +1 -1
- package/dist/lexical/utils/joinClasses.js.map +1 -1
- package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
- package/dist/lexical/utils/nodeFormat.js.map +1 -1
- package/dist/lexical/utils/point.js.map +1 -1
- package/dist/lexical/utils/rect.js.map +1 -1
- package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
- package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js.map +1 -1
- package/dist/lexical/utils/swipe.js.map +1 -1
- package/dist/lexical/utils/url.js.map +1 -1
- package/dist/nodeTypes.d.ts +32 -0
- package/dist/nodeTypes.d.ts.map +1 -0
- package/dist/nodeTypes.js +3 -0
- package/dist/nodeTypes.js.map +1 -0
- package/dist/populateGraphQL/defaultValue.d.ts.map +1 -1
- package/dist/populateGraphQL/defaultValue.js +1 -0
- package/dist/populateGraphQL/defaultValue.js.map +1 -1
- package/dist/populateGraphQL/populate.d.ts +4 -4
- package/dist/populateGraphQL/populate.d.ts.map +1 -1
- package/dist/populateGraphQL/populate.js.map +1 -1
- package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts +3 -3
- package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
- package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
- package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts +4 -4
- package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts.map +1 -1
- package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
- package/dist/types.d.ts +6 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/createClientFeature.d.ts +1 -1
- package/dist/utilities/createClientFeature.d.ts.map +1 -1
- package/dist/utilities/createClientFeature.js.map +1 -1
- package/dist/utilities/createServerFeature.d.ts +3 -3
- package/dist/utilities/createServerFeature.d.ts.map +1 -1
- package/dist/utilities/createServerFeature.js.map +1 -1
- package/dist/utilities/fieldsDrawer/Drawer.d.ts +18 -0
- package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -0
- package/dist/utilities/fieldsDrawer/Drawer.js +26 -0
- package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -0
- package/dist/utilities/fieldsDrawer/DrawerContent.d.ts +4 -0
- package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -0
- package/dist/utilities/fieldsDrawer/DrawerContent.js +90 -0
- package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -0
- package/dist/utilities/forEachNodeRecursively.js.map +1 -1
- package/dist/utilities/generateComponentMap.d.ts +1 -1
- package/dist/utilities/generateComponentMap.d.ts.map +1 -1
- package/dist/utilities/generateComponentMap.js +6 -4
- package/dist/utilities/generateComponentMap.js.map +1 -1
- package/dist/utilities/generateSchemaMap.d.ts +1 -1
- package/dist/utilities/generateSchemaMap.d.ts.map +1 -1
- package/dist/utilities/generateSchemaMap.js +10 -1
- package/dist/utilities/generateSchemaMap.js.map +1 -1
- package/dist/utilities/migrateSlateToLexical/index.d.ts +15 -0
- package/dist/utilities/migrateSlateToLexical/index.d.ts.map +1 -0
- package/dist/utilities/migrateSlateToLexical/index.js +105 -0
- package/dist/utilities/migrateSlateToLexical/index.js.map +1 -0
- package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts +9 -0
- package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts.map +1 -0
- package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +77 -0
- package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -0
- package/dist/utilities/recurseNodeTree.js.map +1 -1
- package/dist/utilities/upgradeLexicalData/index.d.ts +11 -0
- package/dist/utilities/upgradeLexicalData/index.d.ts.map +1 -0
- package/dist/utilities/upgradeLexicalData/index.js +101 -0
- package/dist/utilities/upgradeLexicalData/index.js.map +1 -0
- package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts +9 -0
- package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -0
- package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +74 -0
- package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -0
- package/dist/utilities/useLexicalFeature.d.ts +1 -1
- package/dist/utilities/useLexicalFeature.d.ts.map +1 -1
- package/dist/utilities/useLexicalFeature.js.map +1 -1
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/validateNodes.d.ts +2 -2
- package/dist/validate/validateNodes.d.ts.map +1 -1
- package/dist/validate/validateNodes.js.map +1 -1
- package/package.json +44 -43
- package/dist/exports/client/Field-YMWNSE3A.js +0 -2
- package/dist/exports/client/Field-YMWNSE3A.js.map +0 -7
- package/dist/exports/client/RelationshipComponent-5OU5HATX.js +0 -2
- package/dist/exports/client/RelationshipComponent-5OU5HATX.js.map +0 -7
- package/dist/exports/client/chunk-3K3B6PJM.js.map +0 -7
- package/dist/exports/client/chunk-MLIITFAS.js.map +0 -7
- package/dist/exports/client/chunk-OSR74ZNW.js.map +0 -7
- package/dist/exports/client/chunk-WDKKMO4H.js +0 -2
- package/dist/exports/client/chunk-WDKKMO4H.js.map +0 -7
- package/dist/exports/client/chunk-ZITHDR53.js +0 -2
- package/dist/exports/client/chunk-ZITHDR53.js.map +0 -7
- package/dist/exports/client/component-IAKI3GRY.js +0 -2
- package/dist/exports/client/component-IAKI3GRY.js.map +0 -7
- package/dist/exports/client/component-W3PV5MJ7.js +0 -2
- package/dist/exports/client/component-W3PV5MJ7.js.map +0 -7
- package/dist/features/blocks/drawer/index.d.ts +0 -9
- package/dist/features/blocks/drawer/index.d.ts.map +0 -1
- package/dist/features/blocks/drawer/index.js +0 -78
- package/dist/features/blocks/drawer/index.js.map +0 -1
- package/dist/features/link/drawer/index.d.ts +0 -5
- package/dist/features/link/drawer/index.d.ts.map +0 -1
- package/dist/features/link/drawer/index.js +0 -94
- package/dist/features/link/drawer/index.js.map +0 -1
- package/dist/features/link/drawer/types.d.ts +0 -10
- package/dist/features/link/drawer/types.d.ts.map +0 -1
- package/dist/features/link/drawer/types.js +0 -3
- package/dist/features/link/drawer/types.js.map +0 -1
- package/dist/features/types.d.ts.map +0 -1
- package/dist/features/types.js +0 -3
- package/dist/features/types.js.map +0 -1
- package/dist/features/upload/component/ExtraFieldsDrawer/index.d.ts +0 -12
- package/dist/features/upload/component/ExtraFieldsDrawer/index.d.ts.map +0 -1
- package/dist/features/upload/component/ExtraFieldsDrawer/index.js +0 -123
- package/dist/features/upload/component/ExtraFieldsDrawer/index.js.map +0 -1
- package/dist/lexical/utils/cloneDeep.d.ts +0 -2
- package/dist/lexical/utils/cloneDeep.d.ts.map +0 -1
- package/dist/lexical/utils/cloneDeep.js +0 -50
- package/dist/lexical/utils/cloneDeep.js.map +0 -1
- /package/dist/exports/client/{component-QWIGEOVD.js.map → component-VM36FRT2.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphQLPopulationPromise.d.ts","sourceRoot":"","sources":["../../../src/features/relationship/graphQLPopulationPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"graphQLPopulationPromise.d.ts","sourceRoot":"","sources":["../../../src/features/relationship/graphQLPopulationPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAI7E,eAAO,MAAM,gCAAgC,UACpC,wBAAwB,KAC9B,iBAAiB,CAAC,0BAA0B,CAwC9C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/features/relationship/graphQLPopulationPromise.ts"],"sourcesContent":["import type { PopulationPromise } from '../
|
|
1
|
+
{"version":3,"sources":["../../../src/features/relationship/graphQLPopulationPromise.ts"],"sourcesContent":["import type { PopulationPromise } from '../typesServer.js'\nimport type { RelationshipFeatureProps } from './feature.server.js'\nimport type { SerializedRelationshipNode } from './nodes/RelationshipNode.js'\n\nimport { populate } from '../../populateGraphQL/populate.js'\n\nexport const relationshipPopulationPromiseHOC = (\n props: RelationshipFeatureProps,\n): PopulationPromise<SerializedRelationshipNode> => {\n const relationshipPopulationPromise: PopulationPromise<SerializedRelationshipNode> = ({\n currentDepth,\n depth,\n draft,\n node,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n }) => {\n if (node?.value) {\n // @ts-expect-error\n const id = node?.value?.id || node?.value // for backwards-compatibility\n\n const collection = req.payload.collections[node?.relationTo]\n\n if (collection) {\n const populateDepth =\n props?.maxDepth !== undefined && props?.maxDepth < depth ? props?.maxDepth : depth\n\n populationPromises.push(\n populate({\n id,\n collectionSlug: collection.config.slug,\n currentDepth,\n data: node,\n depth: populateDepth,\n draft,\n key: 'value',\n overrideAccess,\n req,\n showHiddenFields,\n }),\n )\n }\n }\n }\n\n return relationshipPopulationPromise\n}\n"],"names":["populate","relationshipPopulationPromiseHOC","props","relationshipPopulationPromise","currentDepth","depth","draft","node","overrideAccess","populationPromises","req","showHiddenFields","value","id","collection","payload","collections","relationTo","populateDepth","maxDepth","undefined","push","collectionSlug","config","slug","data","key"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,oCAAmC;AAE5D,OAAO,MAAMC,mCAAmC,CAC9CC;IAEA,MAAMC,gCAA+E,CAAC,EACpFC,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,IAAI,EACJC,cAAc,EACdC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EACjB;QACC,IAAIJ,MAAMK,OAAO;YACf,mBAAmB;YACnB,MAAMC,KAAKN,MAAMK,OAAOC,MAAMN,MAAMK,MAAM,8BAA8B;;YAExE,MAAME,aAAaJ,IAAIK,OAAO,CAACC,WAAW,CAACT,MAAMU,WAAW;YAE5D,IAAIH,YAAY;gBACd,MAAMI,gBACJhB,OAAOiB,aAAaC,aAAalB,OAAOiB,WAAWd,QAAQH,OAAOiB,WAAWd;gBAE/EI,mBAAmBY,IAAI,CACrBrB,SAAS;oBACPa;oBACAS,gBAAgBR,WAAWS,MAAM,CAACC,IAAI;oBACtCpB;oBACAqB,MAAMlB;oBACNF,OAAOa;oBACPZ;oBACAoB,KAAK;oBACLlB;oBACAE;oBACAC;gBACF;YAEJ;QACF;IACF;IAEA,OAAOR;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/features/relationship/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'العلاقة',\n },\n az: {\n label: 'Münasibət',\n },\n bg: {\n label: 'Връзка',\n },\n cs: {\n label: 'Vztah',\n },\n de: {\n label: 'Beziehung',\n },\n en: {\n label: 'Relationship',\n },\n es: {\n label: 'Relación',\n },\n fa: {\n label: 'روابط',\n },\n fr: {\n label: 'Relation',\n },\n he: {\n label: 'יחסים',\n },\n hr: {\n label: 'Odnos',\n },\n hu: {\n label: 'Kapcsolat',\n },\n it: {\n label: 'Relazione',\n },\n ja: {\n label: '関係性',\n },\n ko: {\n label: '관계',\n },\n my: {\n label: 'Hubungan',\n },\n nb: {\n label: 'Forhold',\n },\n nl: {\n label: 'Relatie',\n },\n pl: {\n label: 'Relacja',\n },\n pt: {\n label: 'Relacionamento',\n },\n ro: {\n label: 'Relație',\n },\n rs: {\n label: 'Veza',\n },\n 'rs-latin': {\n label: 'Odnos',\n },\n ru: {\n label: 'Отношения',\n },\n sk: {\n label: 'Vzťah',\n },\n sv: {\n label: 'Relation',\n },\n th: {\n label: 'ความสัมพันธ์',\n },\n tr: {\n label: 'İlişki',\n },\n uk: {\n label: 'Стосунки',\n },\n vi: {\n label: 'Mối quan hệ',\n },\n zh: {\n label: '关系',\n },\n 'zh-TW': {\n label: '關係',\n },\n}\n"],"names":["i18n","ar","label","az","bg","cs","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/features/relationship/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'العلاقة',\n },\n az: {\n label: 'Münasibət',\n },\n bg: {\n label: 'Връзка',\n },\n cs: {\n label: 'Vztah',\n },\n de: {\n label: 'Beziehung',\n },\n en: {\n label: 'Relationship',\n },\n es: {\n label: 'Relación',\n },\n fa: {\n label: 'روابط',\n },\n fr: {\n label: 'Relation',\n },\n he: {\n label: 'יחסים',\n },\n hr: {\n label: 'Odnos',\n },\n hu: {\n label: 'Kapcsolat',\n },\n it: {\n label: 'Relazione',\n },\n ja: {\n label: '関係性',\n },\n ko: {\n label: '관계',\n },\n my: {\n label: 'Hubungan',\n },\n nb: {\n label: 'Forhold',\n },\n nl: {\n label: 'Relatie',\n },\n pl: {\n label: 'Relacja',\n },\n pt: {\n label: 'Relacionamento',\n },\n ro: {\n label: 'Relație',\n },\n rs: {\n label: 'Veza',\n },\n 'rs-latin': {\n label: 'Odnos',\n },\n ru: {\n label: 'Отношения',\n },\n sk: {\n label: 'Vzťah',\n },\n sv: {\n label: 'Relation',\n },\n th: {\n label: 'ความสัมพันธ์',\n },\n tr: {\n label: 'İlişki',\n },\n uk: {\n label: 'Стосунки',\n },\n vi: {\n label: 'Mối quan hệ',\n },\n zh: {\n label: '关系',\n },\n 'zh-TW': {\n label: '關係',\n },\n}\n"],"names":["i18n","ar","label","az","bg","cs","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"mappings":"AAEA,OAAO,MAAMA,OAAkC;IAC7CC,IAAI;QACFC,OAAO;IACT;IACAC,IAAI;QACFD,OAAO;IACT;IACAE,IAAI;QACFF,OAAO;IACT;IACAG,IAAI;QACFH,OAAO;IACT;IACAI,IAAI;QACFJ,OAAO;IACT;IACAK,IAAI;QACFL,OAAO;IACT;IACAM,IAAI;QACFN,OAAO;IACT;IACAO,IAAI;QACFP,OAAO;IACT;IACAQ,IAAI;QACFR,OAAO;IACT;IACAS,IAAI;QACFT,OAAO;IACT;IACAU,IAAI;QACFV,OAAO;IACT;IACAW,IAAI;QACFX,OAAO;IACT;IACAY,IAAI;QACFZ,OAAO;IACT;IACAa,IAAI;QACFb,OAAO;IACT;IACAc,IAAI;QACFd,OAAO;IACT;IACAe,IAAI;QACFf,OAAO;IACT;IACAgB,IAAI;QACFhB,OAAO;IACT;IACAiB,IAAI;QACFjB,OAAO;IACT;IACAkB,IAAI;QACFlB,OAAO;IACT;IACAmB,IAAI;QACFnB,OAAO;IACT;IACAoB,IAAI;QACFpB,OAAO;IACT;IACAqB,IAAI;QACFrB,OAAO;IACT;IACA,YAAY;QACVA,OAAO;IACT;IACAsB,IAAI;QACFtB,OAAO;IACT;IACAuB,IAAI;QACFvB,OAAO;IACT;IACAwB,IAAI;QACFxB,OAAO;IACT;IACAyB,IAAI;QACFzB,OAAO;IACT;IACA0B,IAAI;QACF1B,OAAO;IACT;IACA2B,IAAI;QACF3B,OAAO;IACT;IACA4B,IAAI;QACF5B,OAAO;IACT;IACA6B,IAAI;QACF7B,OAAO;IACT;IACA,SAAS;QACPA,OAAO;IACT;AACF,EAAC"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js';
|
|
2
2
|
import type { DOMConversionMap, DOMExportOutput, EditorConfig, ElementFormatType, LexicalEditor, LexicalNode, NodeKey, Spread } from 'lexical';
|
|
3
|
+
import type { CollectionSlug } from 'payload';
|
|
3
4
|
import type { JSX } from 'react';
|
|
4
5
|
import { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js';
|
|
5
6
|
export type RelationshipData = {
|
|
6
|
-
relationTo:
|
|
7
|
+
relationTo: CollectionSlug;
|
|
7
8
|
value: number | string;
|
|
8
9
|
};
|
|
9
|
-
export type SerializedRelationshipNode =
|
|
10
|
+
export type SerializedRelationshipNode = {
|
|
11
|
+
children?: never;
|
|
12
|
+
type: 'relationship';
|
|
13
|
+
} & Spread<RelationshipData, SerializedDecoratorBlockNode>;
|
|
10
14
|
export declare class RelationshipNode extends DecoratorBlockNode {
|
|
11
15
|
__data: RelationshipData;
|
|
12
16
|
constructor({ data, format, key, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationshipNode.d.ts","sourceRoot":"","sources":["../../../../src/features/relationship/nodes/RelationshipNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAC/F,OAAO,KAAK,EACV,gBAAgB,EAEhB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,OAAO,EACP,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAShF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"RelationshipNode.d.ts","sourceRoot":"","sources":["../../../../src/features/relationship/nodes/RelationshipNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAC/F,OAAO,KAAK,EACV,gBAAgB,EAEhB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,OAAO,EACP,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAShF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,cAAc,CAAA;IAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;CACrB,GAAG,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,CAAA;AAgB1D,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,MAAM,EAAE,gBAAgB,CAAA;gBAEZ,EACV,IAAI,EACJ,MAAM,EACN,GAAG,GACJ,EAAE;QACD,IAAI,EAAE,gBAAgB,CAAA;QACtB,MAAM,CAAC,EAAE,iBAAiB,CAAA;QAC1B,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;IAQtD,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;IAiB3D,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,0BAA0B,GAAG,gBAAgB;IAc/E,MAAM,CAAC,QAAQ,IAAI,KAAK;IAIxB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO;IAUlE,SAAS,IAAI,eAAe;IAU5B,UAAU,IAAI,0BAA0B;IASxC,OAAO,IAAI,gBAAgB;IAI3B,cAAc,IAAI,MAAM;IAIxB,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;CAItC;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAIhF;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI,GAAG,SAAS,GACtD,IAAI,IAAI,gBAAgB,CAE1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/relationship/nodes/RelationshipNode.tsx"],"sourcesContent":["import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport type {\n DOMConversionMap,\n DOMConversionOutput,\n DOMExportOutput,\n EditorConfig,\n ElementFormatType,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n Spread,\n} from 'lexical'\nimport type { JSX } from 'react'\n\nimport { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport * as React from 'react'\n\nconst RelationshipComponent = React.lazy(() =>\n import('./components/RelationshipComponent.js').then((module) => ({\n default: module.RelationshipComponent,\n })),\n)\n\nexport type RelationshipData = {\n relationTo:
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/relationship/nodes/RelationshipNode.tsx"],"sourcesContent":["import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport type {\n DOMConversionMap,\n DOMConversionOutput,\n DOMExportOutput,\n EditorConfig,\n ElementFormatType,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n Spread,\n} from 'lexical'\nimport type { CollectionSlug } from 'payload'\nimport type { JSX } from 'react'\n\nimport { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport * as React from 'react'\n\nconst RelationshipComponent = React.lazy(() =>\n import('./components/RelationshipComponent.js').then((module) => ({\n default: module.RelationshipComponent,\n })),\n)\n\nexport type RelationshipData = {\n relationTo: CollectionSlug\n value: number | string\n}\n\nexport type SerializedRelationshipNode = {\n children?: never // required so that our typed editor state doesn't automatically add children\n type: 'relationship'\n} & Spread<RelationshipData, SerializedDecoratorBlockNode>\n\nfunction $relationshipElementToNode(domNode: HTMLDivElement): DOMConversionOutput | null {\n const id = domNode.getAttribute('data-lexical-relationship-id')\n const relationTo = domNode.getAttribute('data-lexical-relationship-relationTo')\n\n if (id != null && relationTo != null) {\n const node = $createRelationshipNode({\n relationTo,\n value: id,\n })\n return { node }\n }\n return null\n}\n\nexport class RelationshipNode extends DecoratorBlockNode {\n __data: RelationshipData\n\n constructor({\n data,\n format,\n key,\n }: {\n data: RelationshipData\n format?: ElementFormatType\n key?: NodeKey\n }) {\n super(format, key)\n this.__data = data\n }\n\n static clone(node: RelationshipNode): RelationshipNode {\n return new RelationshipNode({\n data: node.__data,\n format: node.__format,\n key: node.__key,\n })\n }\n\n static getType(): string {\n return 'relationship'\n }\n\n static importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {\n div: (domNode: HTMLDivElement) => {\n if (\n !domNode.hasAttribute('data-lexical-relationship-relationTo') ||\n !domNode.hasAttribute('data-lexical-relationship-id')\n ) {\n return null\n }\n return {\n conversion: $relationshipElementToNode,\n priority: 2,\n }\n },\n }\n }\n\n static importJSON(serializedNode: SerializedRelationshipNode): RelationshipNode {\n if (serializedNode.version === 1 && (serializedNode?.value as unknown as { id: string })?.id) {\n serializedNode.value = (serializedNode.value as unknown as { id: string }).id\n }\n\n const importedData: RelationshipData = {\n relationTo: serializedNode.relationTo,\n value: serializedNode.value,\n }\n const node = $createRelationshipNode(importedData)\n node.setFormat(serializedNode.format)\n return node\n }\n\n static isInline(): false {\n return false\n }\n\n decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element {\n return (\n <RelationshipComponent\n className={config.theme.relationship ?? 'LexicalEditorTheme__relationship'}\n data={this.__data}\n format={this.__format}\n nodeKey={this.getKey()}\n />\n )\n }\n exportDOM(): DOMExportOutput {\n const element = document.createElement('div')\n element.setAttribute('data-lexical-relationship-id', String(this.__data?.value))\n element.setAttribute('data-lexical-relationship-relationTo', this.__data?.relationTo)\n\n const text = document.createTextNode(this.getTextContent())\n element.append(text)\n return { element }\n }\n\n exportJSON(): SerializedRelationshipNode {\n return {\n ...super.exportJSON(),\n ...this.getData(),\n type: 'relationship',\n version: 2,\n }\n }\n\n getData(): RelationshipData {\n return this.getLatest().__data\n }\n\n getTextContent(): string {\n return `${this.__data?.relationTo} relation to ${this.__data?.value}`\n }\n\n setData(data: RelationshipData): void {\n const writable = this.getWritable()\n writable.__data = data\n }\n}\n\nexport function $createRelationshipNode(data: RelationshipData): RelationshipNode {\n return new RelationshipNode({\n data,\n })\n}\n\nexport function $isRelationshipNode(\n node: LexicalNode | RelationshipNode | null | undefined,\n): node is RelationshipNode {\n return node instanceof RelationshipNode\n}\n"],"names":["DecoratorBlockNode","React","RelationshipComponent","lazy","then","module","default","$relationshipElementToNode","domNode","id","getAttribute","relationTo","node","$createRelationshipNode","value","RelationshipNode","__data","constructor","data","format","key","clone","__format","__key","getType","importDOM","div","hasAttribute","conversion","priority","importJSON","serializedNode","version","importedData","setFormat","isInline","decorate","editor","config","className","theme","relationship","nodeKey","getKey","exportDOM","element","document","createElement","setAttribute","String","text","createTextNode","getTextContent","append","exportJSON","getData","type","getLatest","setData","writable","getWritable","$isRelationshipNode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationshipComponent.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/nodes/components/RelationshipComponent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAgBhD,OAAO,KAA+D,MAAM,OAAO,CAAA;AAEnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAK9D,OAAO,cAAc,CAAA;AAQrB,KAAK,KAAK,GAAG;IACX,
|
|
1
|
+
{"version":3,"file":"RelationshipComponent.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/nodes/components/RelationshipComponent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAgBhD,OAAO,KAA+D,MAAM,OAAO,CAAA;AAEnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAK9D,OAAO,cAAc,CAAA;AAQrB,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,gBAAgB,CAAA;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AA4JD,eAAO,MAAM,qBAAqB,UAAW,KAAK,KAAG,KAAK,CAAC,SAE1D,CAAA"}
|
|
@@ -15,7 +15,7 @@ const initialParams = {
|
|
|
15
15
|
depth: 0
|
|
16
16
|
};
|
|
17
17
|
const Component = (props)=>{
|
|
18
|
-
const {
|
|
18
|
+
const { data: { relationTo, value: id }, nodeKey } = props;
|
|
19
19
|
const relationshipElemRef = useRef(null);
|
|
20
20
|
const [editor] = useLexicalComposerContext();
|
|
21
21
|
const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey);
|
|
@@ -158,8 +158,7 @@ const Component = (props)=>{
|
|
|
158
158
|
}),
|
|
159
159
|
id && /*#__PURE__*/ _jsx(DocumentDrawer, {
|
|
160
160
|
onSave: updateRelationship
|
|
161
|
-
})
|
|
162
|
-
children
|
|
161
|
+
})
|
|
163
162
|
]
|
|
164
163
|
});
|
|
165
164
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/features/relationship/nodes/components/RelationshipComponent.tsx"],"sourcesContent":["'use client'\nimport type { ElementFormatType } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection.js'\nimport { mergeRegister } from '@lexical/utils'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, useConfig, useDocumentDrawer, usePayloadAPI, 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'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { RelationshipData } from '../RelationshipNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND } from '../../drawer/commands.js'\nimport { $isRelationshipNode } from '../RelationshipNode.js'\nimport './index.scss'\n\nconst baseClass = 'lexical-relationship'\n\nconst initialParams = {\n depth: 0,\n}\n\ntype Props = {\n children?: React.ReactNode\n className?: string\n data: RelationshipData\n format?: ElementFormatType\n nodeKey?: string\n}\n\nconst Component: React.FC<Props> = (props) => {\n const {\n children,\n data: { relationTo, value: id },\n nodeKey,\n } = props\n\n const relationshipElemRef = useRef<HTMLDivElement | null>(null)\n\n const [editor] = useLexicalComposerContext()\n const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey)\n const { field } = useEditorConfigContext()\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const [relatedCollection, setRelatedCollection] = useState(() =>\n collections.find((coll) => coll.slug === relationTo),\n )\n\n const { i18n, t } = useTranslation()\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0)\n const [{ data }, { setParams }] = usePayloadAPI(\n `${serverURL}${api}/${relatedCollection.slug}/${id}`,\n { initialParams },\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n id,\n collectionSlug: relatedCollection.slug,\n })\n\n const removeRelationship = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey).remove()\n })\n }, [editor, nodeKey])\n\n const updateRelationship = React.useCallback(\n ({ doc }) => {\n setParams({\n ...initialParams,\n cacheBust, // do this to get the usePayloadAPI to re-fetch the data even though the URL string hasn't changed\n })\n\n closeDrawer()\n dispatchCacheBust()\n },\n [cacheBust, setParams, closeDrawer],\n )\n\n const $onDelete = useCallback(\n (payload: KeyboardEvent) => {\n if (isSelected && $isNodeSelection($getSelection())) {\n const event: KeyboardEvent = payload\n event.preventDefault()\n const node = $getNodeByKey(nodeKey)\n if ($isRelationshipNode(node)) {\n node.remove()\n return true\n }\n }\n return false\n },\n [isSelected, nodeKey],\n )\n const onClick = useCallback(\n (payload: MouseEvent) => {\n const event = payload\n // Check if relationshipElemRef.target or anything WITHIN relationshipElemRef.target was clicked\n if (\n event.target === relationshipElemRef.current ||\n relationshipElemRef.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 return (\n <div\n className={[baseClass, isSelected && `${baseClass}--selected`].filter(Boolean).join(' ')}\n contentEditable={false}\n ref={relationshipElemRef}\n >\n <div className={`${baseClass}__wrap`}>\n <p className={`${baseClass}__label`}>\n {t('fields:labelRelationship', {\n label: getTranslation(relatedCollection.labels.singular, i18n),\n })}\n </p>\n <DocumentDrawerToggler className={`${baseClass}__doc-drawer-toggler`}>\n <p className={`${baseClass}__title`}>\n {data ? data[relatedCollection?.admin?.useAsTitle || 'id'] : id}\n </p>\n </DocumentDrawerToggler>\n </div>\n {editor.isEditable() && (\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__swapButton`}\n disabled={field?.readOnly}\n el=\"div\"\n icon=\"swap\"\n onClick={() => {\n editor.dispatchCommand(INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND, {\n replace: { nodeKey },\n })\n }}\n round\n tooltip={t('fields:swapRelationship')}\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={field?.readOnly}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeRelationship()\n }}\n round\n tooltip={t('fields:removeRelationship')}\n />\n </div>\n )}\n\n {id && <DocumentDrawer onSave={updateRelationship} />}\n {children}\n </div>\n )\n}\n\nexport const RelationshipComponent = (props: Props): React.ReactNode => {\n return <Component {...props} />\n}\n"],"names":["useLexicalComposerContext","useLexicalNodeSelection","mergeRegister","getTranslation","Button","useConfig","useDocumentDrawer","usePayloadAPI","useTranslation","$getNodeByKey","$getSelection","$isNodeSelection","CLICK_COMMAND","COMMAND_PRIORITY_LOW","KEY_BACKSPACE_COMMAND","KEY_DELETE_COMMAND","React","useCallback","useEffect","useReducer","useRef","useState","useEditorConfigContext","INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND","$isRelationshipNode","baseClass","initialParams","depth","Component","props","children","data","relationTo","value","id","nodeKey","relationshipElemRef","editor","isSelected","setSelected","clearSelection","field","collections","routes","api","serverURL","relatedCollection","setRelatedCollection","find","coll","slug","i18n","t","cacheBust","dispatchCacheBust","state","setParams","DocumentDrawer","DocumentDrawerToggler","closeDrawer","collectionSlug","removeRelationship","update","remove","updateRelationship","doc","$onDelete","payload","event","preventDefault","node","onClick","target","current","contains","shiftKey","registerCommand","div","className","filter","Boolean","join","contentEditable","ref","p","label","labels","singular","admin","useAsTitle","isEditable","buttonStyle","disabled","readOnly","el","icon","dispatchCommand","replace","round","tooltip","e","onSave","RelationshipComponent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/features/relationship/nodes/components/RelationshipComponent.tsx"],"sourcesContent":["'use client'\nimport type { ElementFormatType } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection.js'\nimport { mergeRegister } from '@lexical/utils'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, useConfig, useDocumentDrawer, usePayloadAPI, 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'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { RelationshipData } from '../RelationshipNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND } from '../../drawer/commands.js'\nimport { $isRelationshipNode } from '../RelationshipNode.js'\nimport './index.scss'\n\nconst baseClass = 'lexical-relationship'\n\nconst initialParams = {\n depth: 0,\n}\n\ntype Props = {\n className?: string\n data: RelationshipData\n format?: ElementFormatType\n nodeKey?: string\n}\n\nconst Component: React.FC<Props> = (props) => {\n const {\n data: { relationTo, value: id },\n nodeKey,\n } = props\n\n const relationshipElemRef = useRef<HTMLDivElement | null>(null)\n\n const [editor] = useLexicalComposerContext()\n const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey)\n const { field } = useEditorConfigContext()\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const [relatedCollection, setRelatedCollection] = useState(() =>\n collections.find((coll) => coll.slug === relationTo),\n )\n\n const { i18n, t } = useTranslation()\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0)\n const [{ data }, { setParams }] = usePayloadAPI(\n `${serverURL}${api}/${relatedCollection.slug}/${id}`,\n { initialParams },\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n id,\n collectionSlug: relatedCollection.slug,\n })\n\n const removeRelationship = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey).remove()\n })\n }, [editor, nodeKey])\n\n const updateRelationship = React.useCallback(\n ({ doc }) => {\n setParams({\n ...initialParams,\n cacheBust, // do this to get the usePayloadAPI to re-fetch the data even though the URL string hasn't changed\n })\n\n closeDrawer()\n dispatchCacheBust()\n },\n [cacheBust, setParams, closeDrawer],\n )\n\n const $onDelete = useCallback(\n (payload: KeyboardEvent) => {\n if (isSelected && $isNodeSelection($getSelection())) {\n const event: KeyboardEvent = payload\n event.preventDefault()\n const node = $getNodeByKey(nodeKey)\n if ($isRelationshipNode(node)) {\n node.remove()\n return true\n }\n }\n return false\n },\n [isSelected, nodeKey],\n )\n const onClick = useCallback(\n (payload: MouseEvent) => {\n const event = payload\n // Check if relationshipElemRef.target or anything WITHIN relationshipElemRef.target was clicked\n if (\n event.target === relationshipElemRef.current ||\n relationshipElemRef.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 return (\n <div\n className={[baseClass, isSelected && `${baseClass}--selected`].filter(Boolean).join(' ')}\n contentEditable={false}\n ref={relationshipElemRef}\n >\n <div className={`${baseClass}__wrap`}>\n <p className={`${baseClass}__label`}>\n {t('fields:labelRelationship', {\n label: getTranslation(relatedCollection.labels.singular, i18n),\n })}\n </p>\n <DocumentDrawerToggler className={`${baseClass}__doc-drawer-toggler`}>\n <p className={`${baseClass}__title`}>\n {data ? data[relatedCollection?.admin?.useAsTitle || 'id'] : id}\n </p>\n </DocumentDrawerToggler>\n </div>\n {editor.isEditable() && (\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__swapButton`}\n disabled={field?.readOnly}\n el=\"div\"\n icon=\"swap\"\n onClick={() => {\n editor.dispatchCommand(INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND, {\n replace: { nodeKey },\n })\n }}\n round\n tooltip={t('fields:swapRelationship')}\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={field?.readOnly}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeRelationship()\n }}\n round\n tooltip={t('fields:removeRelationship')}\n />\n </div>\n )}\n\n {id && <DocumentDrawer onSave={updateRelationship} />}\n </div>\n )\n}\n\nexport const RelationshipComponent = (props: Props): React.ReactNode => {\n return <Component {...props} />\n}\n"],"names":["useLexicalComposerContext","useLexicalNodeSelection","mergeRegister","getTranslation","Button","useConfig","useDocumentDrawer","usePayloadAPI","useTranslation","$getNodeByKey","$getSelection","$isNodeSelection","CLICK_COMMAND","COMMAND_PRIORITY_LOW","KEY_BACKSPACE_COMMAND","KEY_DELETE_COMMAND","React","useCallback","useEffect","useReducer","useRef","useState","useEditorConfigContext","INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND","$isRelationshipNode","baseClass","initialParams","depth","Component","props","data","relationTo","value","id","nodeKey","relationshipElemRef","editor","isSelected","setSelected","clearSelection","field","collections","routes","api","serverURL","relatedCollection","setRelatedCollection","find","coll","slug","i18n","t","cacheBust","dispatchCacheBust","state","setParams","DocumentDrawer","DocumentDrawerToggler","closeDrawer","collectionSlug","removeRelationship","update","remove","updateRelationship","doc","$onDelete","payload","event","preventDefault","node","onClick","target","current","contains","shiftKey","registerCommand","div","className","filter","Boolean","join","contentEditable","ref","p","label","labels","singular","admin","useAsTitle","isEditable","buttonStyle","disabled","readOnly","el","icon","dispatchCommand","replace","round","tooltip","e","onSave","RelationshipComponent"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LexicalCommand } from 'lexical';
|
|
2
|
-
import type { PluginComponent } from '../../
|
|
2
|
+
import type { PluginComponent } from '../../typesClient.js';
|
|
3
3
|
import type { RelationshipFeatureProps } from '../feature.server.js';
|
|
4
4
|
import type { RelationshipData } from '../nodes/RelationshipNode.js';
|
|
5
5
|
export declare const INSERT_RELATIONSHIP_COMMAND: LexicalCommand<RelationshipData>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/relationship/plugins/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAe7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/relationship/plugins/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAe7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAKpE,eAAO,MAAM,2BAA2B,EAAE,cAAc,CAAC,gBAAgB,CAExE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAAC,wBAAwB,CAqDxE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/relationship/plugins/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalCommand } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $insertNodeToNearestRoot } from '@lexical/utils'\nimport { useConfig } from '@payloadcms/ui'\nimport {\n $getPreviousSelection,\n $getSelection,\n $isParagraphNode,\n $isRangeSelection,\n COMMAND_PRIORITY_EDITOR,\n createCommand,\n} from 'lexical'\nimport React, { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/relationship/plugins/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalCommand } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $insertNodeToNearestRoot } from '@lexical/utils'\nimport { useConfig } from '@payloadcms/ui'\nimport {\n $getPreviousSelection,\n $getSelection,\n $isParagraphNode,\n $isRangeSelection,\n COMMAND_PRIORITY_EDITOR,\n createCommand,\n} from 'lexical'\nimport React, { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../typesClient.js'\nimport type { RelationshipFeatureProps } from '../feature.server.js'\nimport type { RelationshipData } from '../nodes/RelationshipNode.js'\n\nimport { RelationshipDrawer } from '../drawer/index.js'\nimport { $createRelationshipNode, RelationshipNode } from '../nodes/RelationshipNode.js'\n\nexport const INSERT_RELATIONSHIP_COMMAND: LexicalCommand<RelationshipData> = createCommand(\n 'INSERT_RELATIONSHIP_COMMAND',\n)\n\nexport const RelationshipPlugin: PluginComponent<RelationshipFeatureProps> = ({ clientProps }) => {\n const [editor] = useLexicalComposerContext()\n const { collections } = useConfig()\n\n let enabledRelations: string[] = null\n\n if (clientProps?.enabledCollections) {\n enabledRelations = clientProps?.enabledCollections\n } else if (clientProps?.disabledCollections) {\n enabledRelations = collections\n .filter(({ slug }) => !clientProps?.disabledCollections?.includes(slug))\n .map(({ slug }) => slug)\n }\n\n useEffect(() => {\n if (!editor.hasNodes([RelationshipNode])) {\n throw new Error('RelationshipPlugin: RelationshipNode not registered on editor')\n }\n\n return editor.registerCommand<RelationshipData>(\n INSERT_RELATIONSHIP_COMMAND,\n (payload) => {\n const selection = $getSelection() || $getPreviousSelection()\n\n if ($isRangeSelection(selection)) {\n const relationshipNode = $createRelationshipNode(payload)\n // Insert relationship node BEFORE potentially removing focusNode, as $insertNodeToNearestRoot errors if the focusNode doesn't exist\n $insertNodeToNearestRoot(relationshipNode)\n\n const { focus } = selection\n const focusNode = focus.getNode()\n\n // First, delete currently selected node if it's an empty paragraph and if there are sufficient\n // paragraph nodes (more than 1) left in the parent node, so that we don't \"trap\" the user\n if (\n $isParagraphNode(focusNode) &&\n focusNode.getTextContentSize() === 0 &&\n focusNode\n .getParent()\n .getChildren()\n .filter((node) => $isParagraphNode(node)).length > 1\n ) {\n focusNode.remove()\n }\n }\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n )\n }, [editor])\n\n return <RelationshipDrawer enabledCollectionSlugs={enabledRelations} />\n}\n"],"names":["useLexicalComposerContext","$insertNodeToNearestRoot","useConfig","$getPreviousSelection","$getSelection","$isParagraphNode","$isRangeSelection","COMMAND_PRIORITY_EDITOR","createCommand","React","useEffect","RelationshipDrawer","$createRelationshipNode","RelationshipNode","INSERT_RELATIONSHIP_COMMAND","RelationshipPlugin","clientProps","editor","collections","enabledRelations","enabledCollections","disabledCollections","filter","slug","includes","map","hasNodes","Error","registerCommand","payload","selection","relationshipNode","focus","focusNode","getNode","getTextContentSize","getParent","getChildren","node","length","remove","enabledCollectionSlugs"],"mappings":"AAAA;;AAGA,SAASA,yBAAyB,QAAQ,2CAA0C;AACpF,SAASC,wBAAwB,QAAQ,iBAAgB;AACzD,SAASC,SAAS,QAAQ,iBAAgB;AAC1C,SACEC,qBAAqB,EACrBC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,EACjBC,uBAAuB,EACvBC,aAAa,QACR,UAAS;AAChB,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAMxC,SAASC,kBAAkB,QAAQ,qBAAoB;AACvD,SAASC,uBAAuB,EAAEC,gBAAgB,QAAQ,+BAA8B;AAExF,OAAO,MAAMC,8BAAgEN,cAC3E,+BACD;AAED,OAAO,MAAMO,qBAAgE,CAAC,EAAEC,WAAW,EAAE;IAC3F,MAAM,CAACC,OAAO,GAAGjB;IACjB,MAAM,EAAEkB,WAAW,EAAE,GAAGhB;IAExB,IAAIiB,mBAA6B;IAEjC,IAAIH,aAAaI,oBAAoB;QACnCD,mBAAmBH,aAAaI;IAClC,OAAO,IAAIJ,aAAaK,qBAAqB;QAC3CF,mBAAmBD,YAChBI,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAK,CAACP,aAAaK,qBAAqBG,SAASD,OACjEE,GAAG,CAAC,CAAC,EAAEF,IAAI,EAAE,GAAKA;IACvB;IAEAb,UAAU;QACR,IAAI,CAACO,OAAOS,QAAQ,CAAC;YAACb;SAAiB,GAAG;YACxC,MAAM,IAAIc,MAAM;QAClB;QAEA,OAAOV,OAAOW,eAAe,CAC3Bd,6BACA,CAACe;YACC,MAAMC,YAAY1B,mBAAmBD;YAErC,IAAIG,kBAAkBwB,YAAY;gBAChC,MAAMC,mBAAmBnB,wBAAwBiB;gBACjD,oIAAoI;gBACpI5B,yBAAyB8B;gBAEzB,MAAM,EAAEC,KAAK,EAAE,GAAGF;gBAClB,MAAMG,YAAYD,MAAME,OAAO;gBAE/B,+FAA+F;gBAC/F,0FAA0F;gBAC1F,IACE7B,iBAAiB4B,cACjBA,UAAUE,kBAAkB,OAAO,KACnCF,UACGG,SAAS,GACTC,WAAW,GACXf,MAAM,CAAC,CAACgB,OAASjC,iBAAiBiC,OAAOC,MAAM,GAAG,GACrD;oBACAN,UAAUO,MAAM;gBAClB;YACF;YAEA,OAAO;QACT,GACAjC;IAEJ,GAAG;QAACU;KAAO;IAEX,qBAAO,KAACN;QAAmB8B,wBAAwBtB;;AACrD,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/relationship/utils/EnabledRelationshipsCondition.tsx"],"sourcesContent":["import type { ClientCollectionConfig, ClientUser, VisibleEntities } from 'payload'\n\nimport { useAuth, useConfig, useEntityVisibility } from '@payloadcms/ui'\nimport * as React from 'react'\n\ntype Options = {\n uploads: boolean\n user: ClientUser\n visibleEntities: VisibleEntities\n}\n\ntype FilteredCollectionsT = (\n collections: ClientCollectionConfig[],\n options?: Options,\n) => ClientCollectionConfig[]\n\nconst filterRichTextCollections: FilteredCollectionsT = (collections, options) => {\n return collections.filter(({ slug, admin: { enableRichTextRelationship }, upload }) => {\n if (!options.visibleEntities.collections.includes(slug)) {\n return false\n }\n\n if (options?.uploads) {\n return enableRichTextRelationship && Boolean(upload) === true\n }\n\n return upload ? false : enableRichTextRelationship\n })\n}\n\nexport const EnabledRelationshipsCondition: React.FC<any> = (props) => {\n const { children, uploads = false, ...rest } = props\n const { collections } = useConfig()\n const { user } = useAuth()\n const { visibleEntities } = useEntityVisibility()\n\n const [enabledCollectionSlugs] = React.useState(() =>\n filterRichTextCollections(collections, { uploads, user, visibleEntities }).map(\n ({ slug }) => slug,\n ),\n )\n\n if (!enabledCollectionSlugs.length) {\n return null\n }\n\n return React.cloneElement(children, { ...rest, enabledCollectionSlugs })\n}\n"],"names":["useAuth","useConfig","useEntityVisibility","React","filterRichTextCollections","collections","options","filter","slug","admin","enableRichTextRelationship","upload","visibleEntities","includes","uploads","Boolean","EnabledRelationshipsCondition","props","children","rest","user","enabledCollectionSlugs","useState","map","length","cloneElement"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/relationship/utils/EnabledRelationshipsCondition.tsx"],"sourcesContent":["import type { ClientCollectionConfig, ClientUser, VisibleEntities } from 'payload'\n\nimport { useAuth, useConfig, useEntityVisibility } from '@payloadcms/ui'\nimport * as React from 'react'\n\ntype Options = {\n uploads: boolean\n user: ClientUser\n visibleEntities: VisibleEntities\n}\n\ntype FilteredCollectionsT = (\n collections: ClientCollectionConfig[],\n options?: Options,\n) => ClientCollectionConfig[]\n\nconst filterRichTextCollections: FilteredCollectionsT = (collections, options) => {\n return collections.filter(({ slug, admin: { enableRichTextRelationship }, upload }) => {\n if (!options.visibleEntities.collections.includes(slug)) {\n return false\n }\n\n if (options?.uploads) {\n return enableRichTextRelationship && Boolean(upload) === true\n }\n\n return upload ? false : enableRichTextRelationship\n })\n}\n\nexport const EnabledRelationshipsCondition: React.FC<any> = (props) => {\n const { children, uploads = false, ...rest } = props\n const { collections } = useConfig()\n const { user } = useAuth()\n const { visibleEntities } = useEntityVisibility()\n\n const [enabledCollectionSlugs] = React.useState(() =>\n filterRichTextCollections(collections, { uploads, user, visibleEntities }).map(\n ({ slug }) => slug,\n ),\n )\n\n if (!enabledCollectionSlugs.length) {\n return null\n }\n\n return React.cloneElement(children, { ...rest, enabledCollectionSlugs })\n}\n"],"names":["useAuth","useConfig","useEntityVisibility","React","filterRichTextCollections","collections","options","filter","slug","admin","enableRichTextRelationship","upload","visibleEntities","includes","uploads","Boolean","EnabledRelationshipsCondition","props","children","rest","user","enabledCollectionSlugs","useState","map","length","cloneElement"],"mappings":"AAEA,SAASA,OAAO,EAAEC,SAAS,EAAEC,mBAAmB,QAAQ,iBAAgB;AACxE,YAAYC,WAAW,QAAO;AAa9B,MAAMC,4BAAkD,CAACC,aAAaC;IACpE,OAAOD,YAAYE,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAEC,0BAA0B,EAAE,EAAEC,MAAM,EAAE;QAChF,IAAI,CAACL,QAAQM,eAAe,CAACP,WAAW,CAACQ,QAAQ,CAACL,OAAO;YACvD,OAAO;QACT;QAEA,IAAIF,SAASQ,SAAS;YACpB,OAAOJ,8BAA8BK,QAAQJ,YAAY;QAC3D;QAEA,OAAOA,SAAS,QAAQD;IAC1B;AACF;AAEA,OAAO,MAAMM,gCAA+C,CAACC;IAC3D,MAAM,EAAEC,QAAQ,EAAEJ,UAAU,KAAK,EAAE,GAAGK,MAAM,GAAGF;IAC/C,MAAM,EAAEZ,WAAW,EAAE,GAAGJ;IACxB,MAAM,EAAEmB,IAAI,EAAE,GAAGpB;IACjB,MAAM,EAAEY,eAAe,EAAE,GAAGV;IAE5B,MAAM,CAACmB,uBAAuB,GAAGlB,MAAMmB,QAAQ,CAAC,IAC9ClB,0BAA0BC,aAAa;YAAES;YAASM;YAAMR;QAAgB,GAAGW,GAAG,CAC5E,CAAC,EAAEf,IAAI,EAAE,GAAKA;IAIlB,IAAI,CAACa,uBAAuBG,MAAM,EAAE;QAClC,OAAO;IACT;IAEA,qBAAOrB,MAAMsB,YAAY,CAACP,UAAU;QAAE,GAAGC,IAAI;QAAEE;IAAuB;AACxE,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/shared/slashMenu/basicGroup.ts"],"sourcesContent":["import type {\n SlashMenuGroup,\n SlashMenuItem,\n} from '../../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\n\nexport function slashMenuBasicGroupWithItems(items: SlashMenuItem[]): SlashMenuGroup {\n return {\n items,\n key: 'basic',\n label: ({ i18n }) => {\n return i18n.t('lexical:general:slashMenuBasicGroupLabel')\n },\n }\n}\n"],"names":["slashMenuBasicGroupWithItems","items","key","label","i18n","t"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/shared/slashMenu/basicGroup.ts"],"sourcesContent":["import type {\n SlashMenuGroup,\n SlashMenuItem,\n} from '../../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\n\nexport function slashMenuBasicGroupWithItems(items: SlashMenuItem[]): SlashMenuGroup {\n return {\n items,\n key: 'basic',\n label: ({ i18n }) => {\n return i18n.t('lexical:general:slashMenuBasicGroupLabel')\n },\n }\n}\n"],"names":["slashMenuBasicGroupWithItems","items","key","label","i18n","t"],"mappings":"AAKA,OAAO,SAASA,6BAA6BC,KAAsB;IACjE,OAAO;QACLA;QACAC,KAAK;QACLC,OAAO,CAAC,EAAEC,IAAI,EAAE;YACd,OAAOA,KAAKC,CAAC,CAAC;QAChB;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/shared/toolbar/addDropdownGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nimport { AddIcon } from '../../../lexical/ui/icons/Add/index.js'\n\nexport const toolbarAddDropdownGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'dropdown',\n ChildComponent: AddIcon,\n items,\n key: 'add',\n order: 10,\n }\n}\n"],"names":["AddIcon","toolbarAddDropdownGroupWithItems","items","type","ChildComponent","key","order"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/shared/toolbar/addDropdownGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nimport { AddIcon } from '../../../lexical/ui/icons/Add/index.js'\n\nexport const toolbarAddDropdownGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'dropdown',\n ChildComponent: AddIcon,\n items,\n key: 'add',\n order: 10,\n }\n}\n"],"names":["AddIcon","toolbarAddDropdownGroupWithItems","items","type","ChildComponent","key","order"],"mappings":"AAEA,SAASA,OAAO,QAAQ,yCAAwC;AAEhE,OAAO,MAAMC,mCAAmC,CAACC;IAC/C,OAAO;QACLC,MAAM;QACNC,gBAAgBJ;QAChBE;QACAG,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/shared/toolbar/featureButtonsGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nexport const toolbarFeatureButtonsGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'buttons',\n items,\n key: 'features',\n order: 50,\n }\n}\n"],"names":["toolbarFeatureButtonsGroupWithItems","items","type","key","order"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/shared/toolbar/featureButtonsGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nexport const toolbarFeatureButtonsGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'buttons',\n items,\n key: 'features',\n order: 50,\n }\n}\n"],"names":["toolbarFeatureButtonsGroupWithItems","items","type","key","order"],"mappings":"AAEA,OAAO,MAAMA,sCAAsC,CAACC;IAClD,OAAO;QACLC,MAAM;QACND;QACAE,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/shared/toolbar/textDropdownGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nimport { TextIcon } from '../../../lexical/ui/icons/Text/index.js'\n\nexport const toolbarTextDropdownGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'dropdown',\n ChildComponent: TextIcon,\n items,\n key: 'text',\n order: 25,\n }\n}\n"],"names":["TextIcon","toolbarTextDropdownGroupWithItems","items","type","ChildComponent","key","order"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/shared/toolbar/textDropdownGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nimport { TextIcon } from '../../../lexical/ui/icons/Text/index.js'\n\nexport const toolbarTextDropdownGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'dropdown',\n ChildComponent: TextIcon,\n items,\n key: 'text',\n order: 25,\n }\n}\n"],"names":["TextIcon","toolbarTextDropdownGroupWithItems","items","type","ChildComponent","key","order"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,0CAAyC;AAElE,OAAO,MAAMC,oCAAoC,CAACC;IAChD,OAAO;QACLC,MAAM;QACNC,gBAAgBJ;QAChBE;QACAG,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PluginComponentWithAnchor } from '../../../
|
|
1
|
+
import type { PluginComponentWithAnchor } from '../../../typesClient.js';
|
|
2
2
|
import type { FixedToolbarFeatureProps } from '../feature.server.js';
|
|
3
3
|
import './index.scss';
|
|
4
4
|
export declare const FixedToolbarPlugin: PluginComponentWithAnchor<FixedToolbarFeatureProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/toolbars/fixed/Toolbar/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/toolbars/fixed/Toolbar/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAKpE,OAAO,cAAc,CAAA;AAuOrB,eAAO,MAAM,kBAAkB,EAAE,yBAAyB,CAAC,wBAAwB,CAqClF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/features/toolbars/fixed/Toolbar/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useScrollInfo, useThrottledEffect, useTranslation } from '@payloadcms/ui'\nimport * as React from 'react'\nimport { useMemo } from 'react'\n\nimport type { EditorConfigContextType } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport type { SanitizedClientEditorConfig } from '../../../../lexical/config/types.js'\nimport type { PluginComponentWithAnchor } from '../../../types.js'\nimport type { ToolbarGroup, ToolbarGroupItem } from '../../types.js'\nimport type { FixedToolbarFeatureProps } from '../feature.server.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { ToolbarButton } from '../../shared/ToolbarButton/index.js'\nimport { ToolbarDropdown } from '../../shared/ToolbarDropdown/index.js'\nimport './index.scss'\n\nfunction ButtonGroupItem({\n anchorElem,\n editor,\n item,\n}: {\n anchorElem: HTMLElement\n editor: LexicalEditor\n item: ToolbarGroupItem\n}): React.ReactNode {\n if (item.Component) {\n return (\n item?.Component && (\n <item.Component anchorElem={anchorElem} editor={editor} item={item} key={item.key} />\n )\n )\n }\n\n return (\n <ToolbarButton editor={editor} item={item} key={item.key}>\n {item?.ChildComponent && <item.ChildComponent />}\n </ToolbarButton>\n )\n}\n\nfunction ToolbarGroupComponent({\n anchorElem,\n editor,\n editorConfig,\n group,\n index,\n}: {\n anchorElem: HTMLElement\n editor: LexicalEditor\n editorConfig: SanitizedClientEditorConfig\n group: ToolbarGroup\n index: number\n}): React.ReactNode {\n const { i18n } = useTranslation()\n\n const [dropdownLabel, setDropdownLabel] = React.useState<null | string>(null)\n const [DropdownIcon, setDropdownIcon] = React.useState<React.FC | null>(null)\n\n React.useEffect(() => {\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent)\n } else {\n setDropdownIcon(null)\n }\n }, [group])\n\n const onActiveChange = ({ activeItems }: { activeItems: ToolbarGroupItem[] }) => {\n if (!activeItems.length) {\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent)\n setDropdownLabel(null)\n } else {\n setDropdownIcon(null)\n setDropdownLabel(null)\n }\n return\n }\n const item = activeItems[0]\n\n let label = item.key\n if (item.label) {\n label = typeof item.label === 'function' ? item.label({ i18n }) : item.label\n }\n // Crop title to max. 25 characters\n if (label.length > 25) {\n label = label.substring(0, 25) + '...'\n }\n setDropdownLabel(label)\n setDropdownIcon(() => item.ChildComponent)\n }\n\n return (\n <div className={`fixed-toolbar__group fixed-toolbar__group-${group.key}`} key={group.key}>\n {group.type === 'dropdown' &&\n group.items.length &&\n (DropdownIcon ? (\n <ToolbarDropdown\n Icon={DropdownIcon}\n anchorElem={anchorElem}\n editor={editor}\n groupKey={group.key}\n items={group.items}\n itemsContainerClassNames={['fixed-toolbar__dropdown-items']}\n label={dropdownLabel}\n maxActiveItems={1}\n onActiveChange={onActiveChange}\n />\n ) : (\n <ToolbarDropdown\n anchorElem={anchorElem}\n editor={editor}\n groupKey={group.key}\n items={group.items}\n itemsContainerClassNames={['fixed-toolbar__dropdown-items']}\n label={dropdownLabel}\n maxActiveItems={1}\n onActiveChange={onActiveChange}\n />\n ))}\n {group.type === 'buttons' &&\n group.items.length &&\n group.items.map((item) => {\n return (\n <ButtonGroupItem anchorElem={anchorElem} editor={editor} item={item} key={item.key} />\n )\n })}\n {index < editorConfig.features.toolbarFixed?.groups.length - 1 && <div className=\"divider\" />}\n </div>\n )\n}\n\nfunction FixedToolbar({\n anchorElem,\n clientProps,\n editor,\n editorConfig,\n parentWithFixedToolbar,\n}: {\n anchorElem: HTMLElement\n clientProps?: FixedToolbarFeatureProps\n editor: LexicalEditor\n editorConfig: SanitizedClientEditorConfig\n parentWithFixedToolbar: EditorConfigContextType | false\n}): React.ReactNode {\n const currentToolbarRef = React.useRef<HTMLDivElement>(null)\n\n const { y } = useScrollInfo()\n\n // Memoize the parent toolbar element\n const parentToolbarElem = useMemo(() => {\n if (!parentWithFixedToolbar || clientProps?.disableIfParentHasFixedToolbar) {\n return null\n }\n\n const parentEditorElem = parentWithFixedToolbar.editorContainerRef.current\n let sibling = parentEditorElem.previousElementSibling\n while (sibling) {\n if (sibling.classList.contains('fixed-toolbar')) {\n return sibling\n }\n sibling = sibling.previousElementSibling\n }\n return null\n }, [clientProps?.disableIfParentHasFixedToolbar, parentWithFixedToolbar])\n\n useThrottledEffect(\n () => {\n if (!parentToolbarElem) {\n // this also checks for clientProps?.disableIfParentHasFixedToolbar indirectly, see the parentToolbarElem useMemo\n return\n }\n const currentToolbarElem = currentToolbarRef.current\n if (!currentToolbarElem) {\n return\n }\n\n const currentRect = currentToolbarElem.getBoundingClientRect()\n const parentRect = parentToolbarElem.getBoundingClientRect()\n\n // we only need to check for vertical overlap\n const overlapping = !(\n currentRect.bottom < parentRect.top || currentRect.top > parentRect.bottom\n )\n\n if (overlapping) {\n currentToolbarRef.current.className = 'fixed-toolbar fixed-toolbar--overlapping'\n parentToolbarElem.className = 'fixed-toolbar fixed-toolbar--hide'\n } else {\n if (!currentToolbarRef.current.classList.contains('fixed-toolbar--overlapping')) {\n return\n }\n currentToolbarRef.current.className = 'fixed-toolbar'\n parentToolbarElem.className = 'fixed-toolbar'\n }\n },\n 50,\n [currentToolbarRef, parentToolbarElem, y],\n )\n\n return (\n <div\n className=\"fixed-toolbar\"\n onFocus={(event) => {\n // Prevent other focus events being triggered. Otherwise, if this was to be clicked while in a child editor,\n // the parent editor will be focused, and the child editor will lose focus.\n event.stopPropagation()\n }}\n ref={currentToolbarRef}\n >\n {editor.isEditable() && (\n <React.Fragment>\n {editorConfig?.features &&\n editorConfig.features?.toolbarFixed?.groups.map((group, i) => {\n return (\n <ToolbarGroupComponent\n anchorElem={anchorElem}\n editor={editor}\n editorConfig={editorConfig}\n group={group}\n index={i}\n key={group.key}\n />\n )\n })}\n </React.Fragment>\n )}\n </div>\n )\n}\n\nconst getParentEditorWithFixedToolbar = (\n editorConfigContext: EditorConfigContextType,\n): EditorConfigContextType | false => {\n if (editorConfigContext.parentEditor?.editorConfig) {\n if (editorConfigContext.parentEditor?.editorConfig.resolvedFeatureMap.has('toolbarFixed')) {\n return editorConfigContext.parentEditor\n } else {\n if (editorConfigContext.parentEditor) {\n return getParentEditorWithFixedToolbar(editorConfigContext.parentEditor)\n }\n }\n }\n return false\n}\n\nexport const FixedToolbarPlugin: PluginComponentWithAnchor<FixedToolbarFeatureProps> = ({\n anchorElem,\n clientProps,\n}) => {\n const [currentEditor] = useLexicalComposerContext()\n const editorConfigContext = useEditorConfigContext()\n\n const { editorConfig: currentEditorConfig } = editorConfigContext\n\n const editor = clientProps.applyToFocusedEditor\n ? editorConfigContext.focusedEditor?.editor || currentEditor\n : currentEditor\n\n const editorConfig = clientProps.applyToFocusedEditor\n ? editorConfigContext.focusedEditor?.editorConfig || currentEditorConfig\n : currentEditorConfig\n\n const parentWithFixedToolbar = getParentEditorWithFixedToolbar(editorConfigContext)\n\n if (clientProps?.disableIfParentHasFixedToolbar) {\n if (parentWithFixedToolbar) {\n return null\n }\n }\n\n if (!editorConfig?.features?.toolbarFixed?.groups?.length) {\n return null\n }\n\n return (\n <FixedToolbar\n anchorElem={anchorElem}\n editor={editor}\n editorConfig={editorConfig}\n parentWithFixedToolbar={parentWithFixedToolbar}\n />\n )\n}\n"],"names":["useLexicalComposerContext","useScrollInfo","useThrottledEffect","useTranslation","React","useMemo","useEditorConfigContext","ToolbarButton","ToolbarDropdown","ButtonGroupItem","anchorElem","editor","item","Component","key","ChildComponent","ToolbarGroupComponent","editorConfig","group","index","i18n","dropdownLabel","setDropdownLabel","useState","DropdownIcon","setDropdownIcon","useEffect","type","items","length","onActiveChange","activeItems","label","substring","div","className","Icon","groupKey","itemsContainerClassNames","maxActiveItems","map","features","toolbarFixed","groups","FixedToolbar","clientProps","parentWithFixedToolbar","currentToolbarRef","useRef","y","parentToolbarElem","disableIfParentHasFixedToolbar","parentEditorElem","editorContainerRef","current","sibling","previousElementSibling","classList","contains","currentToolbarElem","currentRect","getBoundingClientRect","parentRect","overlapping","bottom","top","onFocus","event","stopPropagation","ref","isEditable","Fragment","i","getParentEditorWithFixedToolbar","editorConfigContext","parentEditor","resolvedFeatureMap","has","FixedToolbarPlugin","currentEditor","currentEditorConfig","applyToFocusedEditor","focusedEditor"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,SAASA,yBAAyB,QAAQ,2CAA0C;AACpF,SAASC,aAAa,EAAEC,kBAAkB,EAAEC,cAAc,QAAQ,iBAAgB;AAClF,YAAYC,WAAW,QAAO;AAC9B,SAASC,OAAO,QAAQ,QAAO;AAQ/B,SAASC,sBAAsB,QAAQ,4DAA2D;AAClG,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AAGvE,SAASC,gBAAgB,EACvBC,UAAU,EACVC,MAAM,EACNC,IAAI,EAKL;IACC,IAAIA,KAAKC,SAAS,EAAE;QAClB,OACED,MAAMC,2BACJ,KAACD,KAAKC,SAAS;YAACH,YAAYA;YAAYC,QAAQA;YAAQC,MAAMA;WAAWA,KAAKE,GAAG;IAGvF;IAEA,qBACE,KAACP;QAAcI,QAAQA;QAAQC,MAAMA;kBAClCA,MAAMG,gCAAkB,KAACH,KAAKG,cAAc;OADCH,KAAKE,GAAG;AAI5D;AAEA,SAASE,sBAAsB,EAC7BN,UAAU,EACVC,MAAM,EACNM,YAAY,EACZC,KAAK,EACLC,KAAK,EAON;IACC,MAAM,EAAEC,IAAI,EAAE,GAAGjB;IAEjB,MAAM,CAACkB,eAAeC,iBAAiB,GAAGlB,MAAMmB,QAAQ,CAAgB;IACxE,MAAM,CAACC,cAAcC,gBAAgB,GAAGrB,MAAMmB,QAAQ,CAAkB;IAExEnB,MAAMsB,SAAS,CAAC;QACd,IAAIR,OAAOS,SAAS,cAAcT,MAAMU,KAAK,CAACC,MAAM,IAAIX,MAAMH,cAAc,EAAE;YAC5EU,gBAAgB,IAAMP,MAAMH,cAAc;QAC5C,OAAO;YACLU,gBAAgB;QAClB;IACF,GAAG;QAACP;KAAM;IAEV,MAAMY,iBAAiB,CAAC,EAAEC,WAAW,EAAuC;QAC1E,IAAI,CAACA,YAAYF,MAAM,EAAE;YACvB,IAAIX,OAAOS,SAAS,cAAcT,MAAMU,KAAK,CAACC,MAAM,IAAIX,MAAMH,cAAc,EAAE;gBAC5EU,gBAAgB,IAAMP,MAAMH,cAAc;gBAC1CO,iBAAiB;YACnB,OAAO;gBACLG,gBAAgB;gBAChBH,iBAAiB;YACnB;YACA;QACF;QACA,MAAMV,OAAOmB,WAAW,CAAC,EAAE;QAE3B,IAAIC,QAAQpB,KAAKE,GAAG;QACpB,IAAIF,KAAKoB,KAAK,EAAE;YACdA,QAAQ,OAAOpB,KAAKoB,KAAK,KAAK,aAAapB,KAAKoB,KAAK,CAAC;gBAAEZ;YAAK,KAAKR,KAAKoB,KAAK;QAC9E;QACA,mCAAmC;QACnC,IAAIA,MAAMH,MAAM,GAAG,IAAI;YACrBG,QAAQA,MAAMC,SAAS,CAAC,GAAG,MAAM;QACnC;QACAX,iBAAiBU;QACjBP,gBAAgB,IAAMb,KAAKG,cAAc;IAC3C;IAEA,qBACE,MAACmB;QAAIC,WAAW,CAAC,0CAA0C,EAAEjB,MAAMJ,GAAG,CAAC,CAAC;;YACrEI,MAAMS,IAAI,KAAK,cACdT,MAAMU,KAAK,CAACC,MAAM,IACjBL,CAAAA,6BACC,KAAChB;gBACC4B,MAAMZ;gBACNd,YAAYA;gBACZC,QAAQA;gBACR0B,UAAUnB,MAAMJ,GAAG;gBACnBc,OAAOV,MAAMU,KAAK;gBAClBU,0BAA0B;oBAAC;iBAAgC;gBAC3DN,OAAOX;gBACPkB,gBAAgB;gBAChBT,gBAAgBA;+BAGlB,KAACtB;gBACCE,YAAYA;gBACZC,QAAQA;gBACR0B,UAAUnB,MAAMJ,GAAG;gBACnBc,OAAOV,MAAMU,KAAK;gBAClBU,0BAA0B;oBAAC;iBAAgC;gBAC3DN,OAAOX;gBACPkB,gBAAgB;gBAChBT,gBAAgBA;cAEpB;YACDZ,MAAMS,IAAI,KAAK,aACdT,MAAMU,KAAK,CAACC,MAAM,IAClBX,MAAMU,KAAK,CAACY,GAAG,CAAC,CAAC5B;gBACf,qBACE,KAACH;oBAAgBC,YAAYA;oBAAYC,QAAQA;oBAAQC,MAAMA;mBAAWA,KAAKE,GAAG;YAEtF;YACDK,QAAQF,aAAawB,QAAQ,CAACC,YAAY,EAAEC,OAAOd,SAAS,mBAAK,KAACK;gBAAIC,WAAU;;;OAlCJjB,MAAMJ,GAAG;AAqC5F;AAEA,SAAS8B,aAAa,EACpBlC,UAAU,EACVmC,WAAW,EACXlC,MAAM,EACNM,YAAY,EACZ6B,sBAAsB,EAOvB;IACC,MAAMC,oBAAoB3C,MAAM4C,MAAM,CAAiB;IAEvD,MAAM,EAAEC,CAAC,EAAE,GAAGhD;IAEd,qCAAqC;IACrC,MAAMiD,oBAAoB7C,QAAQ;QAChC,IAAI,CAACyC,0BAA0BD,aAAaM,gCAAgC;YAC1E,OAAO;QACT;QAEA,MAAMC,mBAAmBN,uBAAuBO,kBAAkB,CAACC,OAAO;QAC1E,IAAIC,UAAUH,iBAAiBI,sBAAsB;QACrD,MAAOD,QAAS;YACd,IAAIA,QAAQE,SAAS,CAACC,QAAQ,CAAC,kBAAkB;gBAC/C,OAAOH;YACT;YACAA,UAAUA,QAAQC,sBAAsB;QAC1C;QACA,OAAO;IACT,GAAG;QAACX,aAAaM;QAAgCL;KAAuB;IAExE5C,mBACE;QACE,IAAI,CAACgD,mBAAmB;YACtB,iHAAiH;YACjH;QACF;QACA,MAAMS,qBAAqBZ,kBAAkBO,OAAO;QACpD,IAAI,CAACK,oBAAoB;YACvB;QACF;QAEA,MAAMC,cAAcD,mBAAmBE,qBAAqB;QAC5D,MAAMC,aAAaZ,kBAAkBW,qBAAqB;QAE1D,6CAA6C;QAC7C,MAAME,cAAc,CAClBH,CAAAA,YAAYI,MAAM,GAAGF,WAAWG,GAAG,IAAIL,YAAYK,GAAG,GAAGH,WAAWE,MAAM,AAAD;QAG3E,IAAID,aAAa;YACfhB,kBAAkBO,OAAO,CAACnB,SAAS,GAAG;YACtCe,kBAAkBf,SAAS,GAAG;QAChC,OAAO;YACL,IAAI,CAACY,kBAAkBO,OAAO,CAACG,SAAS,CAACC,QAAQ,CAAC,+BAA+B;gBAC/E;YACF;YACAX,kBAAkBO,OAAO,CAACnB,SAAS,GAAG;YACtCe,kBAAkBf,SAAS,GAAG;QAChC;IACF,GACA,IACA;QAACY;QAAmBG;QAAmBD;KAAE;IAG3C,qBACE,KAACf;QACCC,WAAU;QACV+B,SAAS,CAACC;YACR,4GAA4G;YAC5G,2EAA2E;YAC3EA,MAAMC,eAAe;QACvB;QACAC,KAAKtB;kBAEJpC,OAAO2D,UAAU,oBAChB,KAAClE,MAAMmE,QAAQ;sBACZtD,cAAcwB,YACbxB,aAAawB,QAAQ,EAAEC,cAAcC,OAAOH,IAAI,CAACtB,OAAOsD;gBACtD,qBACE,KAACxD;oBACCN,YAAYA;oBACZC,QAAQA;oBACRM,cAAcA;oBACdC,OAAOA;oBACPC,OAAOqD;mBACFtD,MAAMJ,GAAG;YAGpB;;;AAKZ;AAEA,MAAM2D,kCAAkC,CACtCC;IAEA,IAAIA,oBAAoBC,YAAY,EAAE1D,cAAc;QAClD,IAAIyD,oBAAoBC,YAAY,EAAE1D,aAAa2D,mBAAmBC,IAAI,iBAAiB;YACzF,OAAOH,oBAAoBC,YAAY;QACzC,OAAO;YACL,IAAID,oBAAoBC,YAAY,EAAE;gBACpC,OAAOF,gCAAgCC,oBAAoBC,YAAY;YACzE;QACF;IACF;IACA,OAAO;AACT;AAEA,OAAO,MAAMG,qBAA0E,CAAC,EACtFpE,UAAU,EACVmC,WAAW,EACZ;IACC,MAAM,CAACkC,cAAc,GAAG/E;IACxB,MAAM0E,sBAAsBpE;IAE5B,MAAM,EAAEW,cAAc+D,mBAAmB,EAAE,GAAGN;IAE9C,MAAM/D,SAASkC,YAAYoC,oBAAoB,GAC3CP,oBAAoBQ,aAAa,EAAEvE,UAAUoE,gBAC7CA;IAEJ,MAAM9D,eAAe4B,YAAYoC,oBAAoB,GACjDP,oBAAoBQ,aAAa,EAAEjE,gBAAgB+D,sBACnDA;IAEJ,MAAMlC,yBAAyB2B,gCAAgCC;IAE/D,IAAI7B,aAAaM,gCAAgC;QAC/C,IAAIL,wBAAwB;YAC1B,OAAO;QACT;IACF;IAEA,IAAI,CAAC7B,cAAcwB,UAAUC,cAAcC,QAAQd,QAAQ;QACzD,OAAO;IACT;IAEA,qBACE,KAACe;QACClC,YAAYA;QACZC,QAAQA;QACRM,cAAcA;QACd6B,wBAAwBA;;AAG9B,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/features/toolbars/fixed/Toolbar/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useScrollInfo, useThrottledEffect, useTranslation } from '@payloadcms/ui'\nimport * as React from 'react'\nimport { useMemo } from 'react'\n\nimport type { EditorConfigContextType } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport type { SanitizedClientEditorConfig } from '../../../../lexical/config/types.js'\nimport type { PluginComponentWithAnchor } from '../../../typesClient.js'\nimport type { ToolbarGroup, ToolbarGroupItem } from '../../types.js'\nimport type { FixedToolbarFeatureProps } from '../feature.server.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { ToolbarButton } from '../../shared/ToolbarButton/index.js'\nimport { ToolbarDropdown } from '../../shared/ToolbarDropdown/index.js'\nimport './index.scss'\n\nfunction ButtonGroupItem({\n anchorElem,\n editor,\n item,\n}: {\n anchorElem: HTMLElement\n editor: LexicalEditor\n item: ToolbarGroupItem\n}): React.ReactNode {\n if (item.Component) {\n return (\n item?.Component && (\n <item.Component anchorElem={anchorElem} editor={editor} item={item} key={item.key} />\n )\n )\n }\n\n return (\n <ToolbarButton editor={editor} item={item} key={item.key}>\n {item?.ChildComponent && <item.ChildComponent />}\n </ToolbarButton>\n )\n}\n\nfunction ToolbarGroupComponent({\n anchorElem,\n editor,\n editorConfig,\n group,\n index,\n}: {\n anchorElem: HTMLElement\n editor: LexicalEditor\n editorConfig: SanitizedClientEditorConfig\n group: ToolbarGroup\n index: number\n}): React.ReactNode {\n const { i18n } = useTranslation()\n\n const [dropdownLabel, setDropdownLabel] = React.useState<null | string>(null)\n const [DropdownIcon, setDropdownIcon] = React.useState<React.FC | null>(null)\n\n React.useEffect(() => {\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent)\n } else {\n setDropdownIcon(null)\n }\n }, [group])\n\n const onActiveChange = ({ activeItems }: { activeItems: ToolbarGroupItem[] }) => {\n if (!activeItems.length) {\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent)\n setDropdownLabel(null)\n } else {\n setDropdownIcon(null)\n setDropdownLabel(null)\n }\n return\n }\n const item = activeItems[0]\n\n let label = item.key\n if (item.label) {\n label = typeof item.label === 'function' ? item.label({ i18n }) : item.label\n }\n // Crop title to max. 25 characters\n if (label.length > 25) {\n label = label.substring(0, 25) + '...'\n }\n setDropdownLabel(label)\n setDropdownIcon(() => item.ChildComponent)\n }\n\n return (\n <div className={`fixed-toolbar__group fixed-toolbar__group-${group.key}`} key={group.key}>\n {group.type === 'dropdown' &&\n group.items.length &&\n (DropdownIcon ? (\n <ToolbarDropdown\n Icon={DropdownIcon}\n anchorElem={anchorElem}\n editor={editor}\n groupKey={group.key}\n items={group.items}\n itemsContainerClassNames={['fixed-toolbar__dropdown-items']}\n label={dropdownLabel}\n maxActiveItems={1}\n onActiveChange={onActiveChange}\n />\n ) : (\n <ToolbarDropdown\n anchorElem={anchorElem}\n editor={editor}\n groupKey={group.key}\n items={group.items}\n itemsContainerClassNames={['fixed-toolbar__dropdown-items']}\n label={dropdownLabel}\n maxActiveItems={1}\n onActiveChange={onActiveChange}\n />\n ))}\n {group.type === 'buttons' &&\n group.items.length &&\n group.items.map((item) => {\n return (\n <ButtonGroupItem anchorElem={anchorElem} editor={editor} item={item} key={item.key} />\n )\n })}\n {index < editorConfig.features.toolbarFixed?.groups.length - 1 && <div className=\"divider\" />}\n </div>\n )\n}\n\nfunction FixedToolbar({\n anchorElem,\n clientProps,\n editor,\n editorConfig,\n parentWithFixedToolbar,\n}: {\n anchorElem: HTMLElement\n clientProps?: FixedToolbarFeatureProps\n editor: LexicalEditor\n editorConfig: SanitizedClientEditorConfig\n parentWithFixedToolbar: EditorConfigContextType | false\n}): React.ReactNode {\n const currentToolbarRef = React.useRef<HTMLDivElement>(null)\n\n const { y } = useScrollInfo()\n\n // Memoize the parent toolbar element\n const parentToolbarElem = useMemo(() => {\n if (!parentWithFixedToolbar || clientProps?.disableIfParentHasFixedToolbar) {\n return null\n }\n\n const parentEditorElem = parentWithFixedToolbar.editorContainerRef.current\n let sibling = parentEditorElem.previousElementSibling\n while (sibling) {\n if (sibling.classList.contains('fixed-toolbar')) {\n return sibling\n }\n sibling = sibling.previousElementSibling\n }\n return null\n }, [clientProps?.disableIfParentHasFixedToolbar, parentWithFixedToolbar])\n\n useThrottledEffect(\n () => {\n if (!parentToolbarElem) {\n // this also checks for clientProps?.disableIfParentHasFixedToolbar indirectly, see the parentToolbarElem useMemo\n return\n }\n const currentToolbarElem = currentToolbarRef.current\n if (!currentToolbarElem) {\n return\n }\n\n const currentRect = currentToolbarElem.getBoundingClientRect()\n const parentRect = parentToolbarElem.getBoundingClientRect()\n\n // we only need to check for vertical overlap\n const overlapping = !(\n currentRect.bottom < parentRect.top || currentRect.top > parentRect.bottom\n )\n\n if (overlapping) {\n currentToolbarRef.current.className = 'fixed-toolbar fixed-toolbar--overlapping'\n parentToolbarElem.className = 'fixed-toolbar fixed-toolbar--hide'\n } else {\n if (!currentToolbarRef.current.classList.contains('fixed-toolbar--overlapping')) {\n return\n }\n currentToolbarRef.current.className = 'fixed-toolbar'\n parentToolbarElem.className = 'fixed-toolbar'\n }\n },\n 50,\n [currentToolbarRef, parentToolbarElem, y],\n )\n\n return (\n <div\n className=\"fixed-toolbar\"\n onFocus={(event) => {\n // Prevent other focus events being triggered. Otherwise, if this was to be clicked while in a child editor,\n // the parent editor will be focused, and the child editor will lose focus.\n event.stopPropagation()\n }}\n ref={currentToolbarRef}\n >\n {editor.isEditable() && (\n <React.Fragment>\n {editorConfig?.features &&\n editorConfig.features?.toolbarFixed?.groups.map((group, i) => {\n return (\n <ToolbarGroupComponent\n anchorElem={anchorElem}\n editor={editor}\n editorConfig={editorConfig}\n group={group}\n index={i}\n key={group.key}\n />\n )\n })}\n </React.Fragment>\n )}\n </div>\n )\n}\n\nconst getParentEditorWithFixedToolbar = (\n editorConfigContext: EditorConfigContextType,\n): EditorConfigContextType | false => {\n if (editorConfigContext.parentEditor?.editorConfig) {\n if (editorConfigContext.parentEditor?.editorConfig.resolvedFeatureMap.has('toolbarFixed')) {\n return editorConfigContext.parentEditor\n } else {\n if (editorConfigContext.parentEditor) {\n return getParentEditorWithFixedToolbar(editorConfigContext.parentEditor)\n }\n }\n }\n return false\n}\n\nexport const FixedToolbarPlugin: PluginComponentWithAnchor<FixedToolbarFeatureProps> = ({\n anchorElem,\n clientProps,\n}) => {\n const [currentEditor] = useLexicalComposerContext()\n const editorConfigContext = useEditorConfigContext()\n\n const { editorConfig: currentEditorConfig } = editorConfigContext\n\n const editor = clientProps.applyToFocusedEditor\n ? editorConfigContext.focusedEditor?.editor || currentEditor\n : currentEditor\n\n const editorConfig = clientProps.applyToFocusedEditor\n ? editorConfigContext.focusedEditor?.editorConfig || currentEditorConfig\n : currentEditorConfig\n\n const parentWithFixedToolbar = getParentEditorWithFixedToolbar(editorConfigContext)\n\n if (clientProps?.disableIfParentHasFixedToolbar) {\n if (parentWithFixedToolbar) {\n return null\n }\n }\n\n if (!editorConfig?.features?.toolbarFixed?.groups?.length) {\n return null\n }\n\n return (\n <FixedToolbar\n anchorElem={anchorElem}\n editor={editor}\n editorConfig={editorConfig}\n parentWithFixedToolbar={parentWithFixedToolbar}\n />\n )\n}\n"],"names":["useLexicalComposerContext","useScrollInfo","useThrottledEffect","useTranslation","React","useMemo","useEditorConfigContext","ToolbarButton","ToolbarDropdown","ButtonGroupItem","anchorElem","editor","item","Component","key","ChildComponent","ToolbarGroupComponent","editorConfig","group","index","i18n","dropdownLabel","setDropdownLabel","useState","DropdownIcon","setDropdownIcon","useEffect","type","items","length","onActiveChange","activeItems","label","substring","div","className","Icon","groupKey","itemsContainerClassNames","maxActiveItems","map","features","toolbarFixed","groups","FixedToolbar","clientProps","parentWithFixedToolbar","currentToolbarRef","useRef","y","parentToolbarElem","disableIfParentHasFixedToolbar","parentEditorElem","editorContainerRef","current","sibling","previousElementSibling","classList","contains","currentToolbarElem","currentRect","getBoundingClientRect","parentRect","overlapping","bottom","top","onFocus","event","stopPropagation","ref","isEditable","Fragment","i","getParentEditorWithFixedToolbar","editorConfigContext","parentEditor","resolvedFeatureMap","has","FixedToolbarPlugin","currentEditor","currentEditorConfig","applyToFocusedEditor","focusedEditor"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FixedToolbarFeatureProps } from './feature.server.js';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const FixedToolbarFeatureClient: import("react").FC<{
|
|
3
3
|
featureKey: string;
|
|
4
4
|
order: number;
|
|
5
5
|
} & FixedToolbarFeatureProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature.client.d.ts","sourceRoot":"","sources":["../../../../src/features/toolbars/fixed/feature.client.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"feature.client.d.ts","sourceRoot":"","sources":["../../../../src/features/toolbars/fixed/feature.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAKnE,eAAO,MAAM,yBAAyB;;;6BAOpC,CAAA"}
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { createClientFeature } from '../../../utilities/createClientFeature.js';
|
|
3
3
|
import { FixedToolbarPlugin } from './Toolbar/index.js';
|
|
4
|
-
const FixedToolbarFeatureClient = (
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
{
|
|
10
|
-
Component: FixedToolbarPlugin,
|
|
11
|
-
position: 'aboveContainer'
|
|
12
|
-
}
|
|
13
|
-
],
|
|
14
|
-
sanitizedClientFeatureProps: props
|
|
4
|
+
export const FixedToolbarFeatureClient = createClientFeature({
|
|
5
|
+
plugins: [
|
|
6
|
+
{
|
|
7
|
+
Component: FixedToolbarPlugin,
|
|
8
|
+
position: 'aboveContainer'
|
|
15
9
|
}
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
export const FixedToolbarFeatureClientComponent = createClientComponent(FixedToolbarFeatureClient);
|
|
10
|
+
]
|
|
11
|
+
});
|
|
19
12
|
|
|
20
13
|
//# sourceMappingURL=feature.client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/toolbars/fixed/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/toolbars/fixed/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport type { FixedToolbarFeatureProps } from './feature.server.js'\n\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { FixedToolbarPlugin } from './Toolbar/index.js'\n\nexport const FixedToolbarFeatureClient = createClientFeature<FixedToolbarFeatureProps>({\n plugins: [\n {\n Component: FixedToolbarPlugin,\n position: 'aboveContainer',\n },\n ],\n})\n"],"names":["createClientFeature","FixedToolbarPlugin","FixedToolbarFeatureClient","plugins","Component","position"],"mappings":"AAAA;AAIA,SAASA,mBAAmB,QAAQ,4CAA2C;AAC/E,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,OAAO,MAAMC,4BAA4BF,oBAA8C;IACrFG,SAAS;QACP;YACEC,WAAWH;YACXI,UAAU;QACZ;KACD;AACH,GAAE"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { FeatureProviderProviderServer } from '../../types.js';
|
|
2
1
|
export type FixedToolbarFeatureProps = {
|
|
3
2
|
/**
|
|
4
3
|
* @default false
|
|
@@ -15,5 +14,5 @@ export type FixedToolbarFeatureProps = {
|
|
|
15
14
|
*/
|
|
16
15
|
disableIfParentHasFixedToolbar?: boolean;
|
|
17
16
|
};
|
|
18
|
-
export declare const FixedToolbarFeature: FeatureProviderProviderServer<FixedToolbarFeatureProps, FixedToolbarFeatureProps, FixedToolbarFeatureProps>;
|
|
17
|
+
export declare const FixedToolbarFeature: import("../../typesServer.js").FeatureProviderProviderServer<FixedToolbarFeatureProps, FixedToolbarFeatureProps, FixedToolbarFeatureProps>;
|
|
19
18
|
//# sourceMappingURL=feature.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/toolbars/fixed/feature.server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/toolbars/fixed/feature.server.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;OAIG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,mBAAmB,4IAsB9B,CAAA"}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
// eslint-disable-next-line payload/no-imports-from-exports-dir
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
};
|
|
2
|
+
import { FixedToolbarFeatureClient } from '../../../exports/client/index.js';
|
|
3
|
+
import { createServerFeature } from '../../../utilities/createServerFeature.js';
|
|
4
|
+
export const FixedToolbarFeature = createServerFeature({
|
|
5
|
+
feature: ({ props })=>{
|
|
6
|
+
const sanitizedProps = {
|
|
7
|
+
applyToFocusedEditor: props?.applyToFocusedEditor === undefined ? false : props.applyToFocusedEditor,
|
|
8
|
+
disableIfParentHasFixedToolbar: props?.disableIfParentHasFixedToolbar === undefined ? false : props.disableIfParentHasFixedToolbar
|
|
9
|
+
};
|
|
10
|
+
return {
|
|
11
|
+
ClientFeature: FixedToolbarFeatureClient,
|
|
12
|
+
clientFeatureProps: sanitizedProps,
|
|
13
|
+
sanitizedServerFeatureProps: sanitizedProps
|
|
14
|
+
};
|
|
15
|
+
},
|
|
16
|
+
key: 'toolbarFixed'
|
|
17
|
+
});
|
|
20
18
|
|
|
21
19
|
//# sourceMappingURL=feature.server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/toolbars/fixed/feature.server.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/toolbars/fixed/feature.server.ts"],"sourcesContent":["// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { FixedToolbarFeatureClient } from '../../../exports/client/index.js'\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\n\nexport type FixedToolbarFeatureProps = {\n /**\n * @default false\n *\n * If this is enabled, the toolbar will apply to the focused editor, not the editor with the FixedToolbarFeature.\n *\n * This means that if the editor has a child-editor, and the child-editor is focused, the toolbar will apply to the child-editor, not the parent editor with this feature added.\n */\n applyToFocusedEditor?: boolean\n /**\n * @default false\n *\n * If there is a parent editor with a fixed toolbar, this will disable the toolbar for this editor.\n */\n disableIfParentHasFixedToolbar?: boolean\n}\n\nexport const FixedToolbarFeature = createServerFeature<\n FixedToolbarFeatureProps,\n FixedToolbarFeatureProps,\n FixedToolbarFeatureProps\n>({\n feature: ({ props }) => {\n const sanitizedProps: FixedToolbarFeatureProps = {\n applyToFocusedEditor:\n props?.applyToFocusedEditor === undefined ? false : props.applyToFocusedEditor,\n disableIfParentHasFixedToolbar:\n props?.disableIfParentHasFixedToolbar === undefined\n ? false\n : props.disableIfParentHasFixedToolbar,\n }\n\n return {\n ClientFeature: FixedToolbarFeatureClient,\n clientFeatureProps: sanitizedProps,\n sanitizedServerFeatureProps: sanitizedProps,\n }\n },\n key: 'toolbarFixed',\n})\n"],"names":["FixedToolbarFeatureClient","createServerFeature","FixedToolbarFeature","feature","props","sanitizedProps","applyToFocusedEditor","undefined","disableIfParentHasFixedToolbar","ClientFeature","clientFeatureProps","sanitizedServerFeatureProps","key"],"mappings":"AAAA,+DAA+D;AAC/D,SAASA,yBAAyB,QAAQ,mCAAkC;AAC5E,SAASC,mBAAmB,QAAQ,4CAA2C;AAmB/E,OAAO,MAAMC,sBAAsBD,oBAIjC;IACAE,SAAS,CAAC,EAAEC,KAAK,EAAE;QACjB,MAAMC,iBAA2C;YAC/CC,sBACEF,OAAOE,yBAAyBC,YAAY,QAAQH,MAAME,oBAAoB;YAChFE,gCACEJ,OAAOI,mCAAmCD,YACtC,QACAH,MAAMI,8BAA8B;QAC5C;QAEA,OAAO;YACLC,eAAeT;YACfU,oBAAoBL;YACpBM,6BAA6BN;QAC/B;IACF;IACAO,KAAK;AACP,GAAE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PluginComponentWithAnchor } from '../../../
|
|
1
|
+
import type { PluginComponentWithAnchor } from '../../../typesClient.js';
|
|
2
2
|
import './index.scss';
|
|
3
3
|
export declare const InlineToolbarPlugin: PluginComponentWithAnchor<undefined>;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/toolbars/inline/Toolbar/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/toolbars/inline/Toolbar/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAQxE,OAAO,cAAc,CAAA;AAqXrB,eAAO,MAAM,mBAAmB,EAAE,yBAAyB,CAAC,SAAS,CAIpE,CAAA"}
|