@payloadcms/richtext-lexical 3.0.0-canary.b8dd0db → 3.0.0-canary.bb00d64
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/rscEntry.d.ts +12 -0
- package/dist/cell/rscEntry.d.ts.map +1 -0
- package/dist/cell/rscEntry.js +82 -0
- package/dist/cell/rscEntry.js.map +1 -0
- package/dist/exports/client/Field-LKCJPU2R.js +2 -0
- package/dist/exports/client/Field-LKCJPU2R.js.map +7 -0
- package/dist/exports/client/RelationshipComponent-IMM4CFBE.js +2 -0
- package/dist/exports/client/RelationshipComponent-IMM4CFBE.js.map +7 -0
- package/dist/exports/client/bundled.css +1 -1
- package/dist/exports/client/chunk-5PBXL4HT.js +2 -0
- package/dist/exports/client/chunk-5PBXL4HT.js.map +7 -0
- package/dist/exports/client/chunk-NNE6RSU5.js +2 -0
- package/dist/exports/client/chunk-NNE6RSU5.js.map +7 -0
- package/dist/exports/client/{chunk-LGUXX2QH.js → chunk-O4IOO4EU.js} +2 -2
- package/dist/exports/client/{chunk-LGUXX2QH.js.map → chunk-O4IOO4EU.js.map} +2 -2
- package/dist/exports/client/chunk-PDAZFJVO.js +2 -0
- package/dist/exports/client/chunk-PDAZFJVO.js.map +7 -0
- package/dist/exports/client/chunk-PSABE6CO.js +2 -0
- package/dist/exports/client/chunk-PSABE6CO.js.map +7 -0
- package/dist/exports/client/{chunk-V2LKLT2F.js → chunk-XCEM47RI.js} +3 -3
- package/dist/exports/client/{chunk-V2LKLT2F.js.map → chunk-XCEM47RI.js.map} +3 -3
- package/dist/exports/client/chunk-ZFVIUTHB.js +2 -0
- package/dist/exports/client/chunk-ZFVIUTHB.js.map +7 -0
- package/dist/exports/client/{chunk-OKMIHD2R.js → chunk-ZOYGBIAN.js} +2 -2
- package/dist/exports/client/{chunk-OKMIHD2R.js.map → chunk-ZOYGBIAN.js.map} +2 -2
- package/dist/exports/client/component-4OBXHYCD.js +2 -0
- package/dist/exports/client/component-4OBXHYCD.js.map +7 -0
- package/dist/exports/client/component-ANB7VZLA.js +2 -0
- package/dist/exports/client/component-ANB7VZLA.js.map +7 -0
- package/dist/exports/client/component-P25AKAUU.js +2 -0
- package/dist/exports/client/component-P25AKAUU.js.map +7 -0
- package/dist/exports/client/componentInline-N5LJ2LY2.js +2 -0
- package/dist/exports/client/componentInline-N5LJ2LY2.js.map +7 -0
- package/dist/exports/client/index.d.ts +3 -4
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +7 -7
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/server/rsc.d.ts +3 -0
- package/dist/exports/server/rsc.d.ts.map +1 -0
- package/dist/exports/server/rsc.js +3 -0
- package/dist/exports/server/rsc.js.map +1 -0
- package/dist/features/align/client/index.d.ts +1 -4
- package/dist/features/align/client/index.d.ts.map +1 -1
- package/dist/features/blockquote/client/index.d.ts +1 -4
- package/dist/features/blockquote/client/index.d.ts.map +1 -1
- package/dist/features/blockquote/markdownTransformer.js.map +1 -1
- package/dist/features/blockquote/server/index.d.ts +1 -1
- package/dist/features/blockquote/server/index.d.ts.map +1 -1
- package/dist/features/blockquote/server/index.js +5 -1
- package/dist/features/blockquote/server/index.js.map +1 -1
- package/dist/features/blocks/client/component/BlockContent.d.ts +1 -0
- package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
- package/dist/features/blocks/client/component/BlockContent.js +28 -28
- package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
- package/dist/features/blocks/client/component/index.d.ts +1 -1
- package/dist/features/blocks/client/component/index.d.ts.map +1 -1
- package/dist/features/blocks/client/component/index.js +94 -55
- package/dist/features/blocks/client/component/index.js.map +1 -1
- package/dist/features/blocks/client/componentInline/index.d.ts +1 -1
- package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
- package/dist/features/blocks/client/componentInline/index.js +27 -29
- package/dist/features/blocks/client/componentInline/index.js.map +1 -1
- package/dist/features/blocks/client/index.d.ts +1 -4
- package/dist/features/blocks/client/index.d.ts.map +1 -1
- package/dist/features/blocks/client/index.js +35 -23
- package/dist/features/blocks/client/index.js.map +1 -1
- package/dist/features/blocks/client/nodes/BlocksNode.d.ts +2 -2
- package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
- package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
- package/dist/features/blocks/client/plugin/index.d.ts +2 -2
- package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
- package/dist/features/blocks/client/plugin/index.js +96 -93
- package/dist/features/blocks/client/plugin/index.js.map +1 -1
- package/dist/features/blocks/server/index.d.ts.map +1 -1
- package/dist/features/blocks/server/index.js +41 -27
- package/dist/features/blocks/server/index.js.map +1 -1
- package/dist/features/blocks/server/nodes/BlocksNode.d.ts +11 -5
- package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
- package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
- package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts +3 -3
- package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -1
- package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
- package/dist/features/blocks/server/validate.d.ts.map +1 -1
- package/dist/features/blocks/server/validate.js +8 -5
- package/dist/features/blocks/server/validate.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 +4 -0
- package/dist/features/converters/html/converter/converters/paragraph.js.map +1 -1
- package/dist/features/converters/html/converter/converters/text.d.ts.map +1 -1
- package/dist/features/converters/html/converter/converters/text.js +2 -1
- package/dist/features/converters/html/converter/converters/text.js.map +1 -1
- package/dist/features/converters/html/converter/index.d.ts +11 -7
- package/dist/features/converters/html/converter/index.d.ts.map +1 -1
- package/dist/features/converters/html/converter/index.js +17 -1
- package/dist/features/converters/html/converter/index.js.map +1 -1
- package/dist/features/converters/html/converter/types.d.ts +3 -1
- 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/field/index.d.ts.map +1 -1
- package/dist/features/converters/html/field/index.js +7 -1
- package/dist/features/converters/html/field/index.js.map +1 -1
- package/dist/features/debug/testRecorder/client/index.d.ts +1 -4
- package/dist/features/debug/testRecorder/client/index.d.ts.map +1 -1
- package/dist/features/debug/testRecorder/client/plugin/index.js +180 -345
- package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
- package/dist/features/debug/treeView/client/index.d.ts +1 -4
- package/dist/features/debug/treeView/client/index.d.ts.map +1 -1
- package/dist/features/experimental_table/client/index.d.ts +1 -1
- package/dist/features/experimental_table/client/index.d.ts.map +1 -1
- package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -1
- package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +250 -488
- package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
- package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -1
- package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +39 -39
- package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
- package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts +1 -1
- package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -1
- package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +60 -124
- package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
- package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +1 -1
- package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +52 -50
- package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
- package/dist/features/experimental_table/client/utils/debounce.js +4 -4
- package/dist/features/experimental_table/client/utils/debounce.js.map +1 -1
- package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
- package/dist/features/experimental_table/server/index.d.ts.map +1 -1
- package/dist/features/experimental_table/server/index.js +20 -4
- package/dist/features/experimental_table/server/index.js.map +1 -1
- package/dist/features/format/bold/feature.client.d.ts +1 -4
- package/dist/features/format/bold/feature.client.d.ts.map +1 -1
- package/dist/features/format/inlineCode/feature.client.d.ts +1 -4
- package/dist/features/format/inlineCode/feature.client.d.ts.map +1 -1
- package/dist/features/format/italic/feature.client.d.ts +1 -4
- package/dist/features/format/italic/feature.client.d.ts.map +1 -1
- package/dist/features/format/strikethrough/feature.client.d.ts +1 -4
- package/dist/features/format/strikethrough/feature.client.d.ts.map +1 -1
- package/dist/features/format/subscript/feature.client.d.ts +1 -4
- package/dist/features/format/subscript/feature.client.d.ts.map +1 -1
- package/dist/features/format/superscript/feature.client.d.ts +1 -4
- package/dist/features/format/superscript/feature.client.d.ts.map +1 -1
- package/dist/features/format/underline/feature.client.d.ts +1 -4
- package/dist/features/format/underline/feature.client.d.ts.map +1 -1
- package/dist/features/heading/client/index.d.ts +1 -4
- package/dist/features/heading/client/index.d.ts.map +1 -1
- package/dist/features/heading/server/index.d.ts.map +1 -1
- package/dist/features/heading/server/index.js +4 -0
- package/dist/features/heading/server/index.js.map +1 -1
- package/dist/features/horizontalRule/client/component/index.d.ts +1 -1
- package/dist/features/horizontalRule/client/component/index.d.ts.map +1 -1
- package/dist/features/horizontalRule/client/component/index.js +12 -9
- package/dist/features/horizontalRule/client/component/index.js.map +1 -1
- package/dist/features/horizontalRule/client/index.d.ts +1 -4
- package/dist/features/horizontalRule/client/index.d.ts.map +1 -1
- package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +2 -2
- package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
- package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +1 -1
- package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
- package/dist/features/indent/client/index.d.ts +1 -4
- package/dist/features/indent/client/index.d.ts.map +1 -1
- package/dist/features/indent/client/index.js +2 -1
- package/dist/features/indent/client/index.js.map +1 -1
- package/dist/features/link/client/index.d.ts +1 -13
- package/dist/features/link/client/index.d.ts.map +1 -1
- package/dist/features/link/client/index.js +2 -2
- package/dist/features/link/client/index.js.map +1 -1
- package/dist/features/link/client/plugins/autoLink/index.d.ts +1 -1
- package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -1
- package/dist/features/link/client/plugins/autoLink/index.js +3 -1
- package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
- package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
- package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +21 -20
- package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
- package/dist/features/link/client/plugins/floatingLinkEditor/index.d.ts.map +1 -1
- package/dist/features/link/client/plugins/floatingLinkEditor/index.js +1 -1
- package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -1
- package/dist/features/link/nodes/AutoLinkNode.js +2 -2
- package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
- package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
- package/dist/features/link/nodes/LinkNode.js +12 -7
- package/dist/features/link/nodes/LinkNode.js.map +1 -1
- package/dist/features/link/nodes/types.d.ts +3 -3
- 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/server/baseFields.d.ts +1 -1
- package/dist/features/link/server/baseFields.d.ts.map +1 -1
- package/dist/features/link/server/baseFields.js +15 -3
- package/dist/features/link/server/baseFields.js.map +1 -1
- package/dist/features/link/server/index.d.ts.map +1 -1
- package/dist/features/link/server/index.js +17 -4
- package/dist/features/link/server/index.js.map +1 -1
- package/dist/features/link/server/transformExtraFields.d.ts +1 -1
- package/dist/features/link/server/transformExtraFields.d.ts.map +1 -1
- package/dist/features/link/server/transformExtraFields.js.map +1 -1
- package/dist/features/link/server/validate.d.ts.map +1 -1
- package/dist/features/link/server/validate.js +8 -5
- package/dist/features/link/server/validate.js.map +1 -1
- package/dist/features/lists/checklist/client/index.d.ts +1 -4
- package/dist/features/lists/checklist/client/index.d.ts.map +1 -1
- package/dist/features/lists/htmlConverter.d.ts.map +1 -1
- package/dist/features/lists/htmlConverter.js +8 -0
- package/dist/features/lists/htmlConverter.js.map +1 -1
- package/dist/features/lists/orderedList/client/index.d.ts +1 -4
- package/dist/features/lists/orderedList/client/index.d.ts.map +1 -1
- package/dist/features/lists/shared/markdown.js.map +1 -1
- package/dist/features/lists/unorderedList/client/index.d.ts +1 -4
- package/dist/features/lists/unorderedList/client/index.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/index.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +1 -0
- package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/feature.client.d.ts +1 -4
- package/dist/features/migrations/lexicalPluginToLexical/feature.client.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
- package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
- package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.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/feature.client.d.ts +1 -4
- package/dist/features/migrations/slateToLexical/feature.client.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/feature.client.js +1 -3
- package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
- package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts +1 -1
- package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
- package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
- package/dist/features/paragraph/client/index.d.ts +1 -4
- package/dist/features/paragraph/client/index.d.ts.map +1 -1
- package/dist/features/paragraph/server/index.d.ts +1 -1
- package/dist/features/paragraph/server/index.d.ts.map +1 -1
- package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
- package/dist/features/relationship/client/components/RelationshipComponent.js +42 -29
- package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
- package/dist/features/relationship/client/drawer/index.d.ts.map +1 -1
- package/dist/features/relationship/client/drawer/index.js +27 -26
- package/dist/features/relationship/client/drawer/index.js.map +1 -1
- package/dist/features/relationship/client/index.d.ts +2 -17
- package/dist/features/relationship/client/index.d.ts.map +1 -1
- package/dist/features/relationship/client/nodes/RelationshipNode.d.ts +1 -1
- package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
- package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
- package/dist/features/relationship/client/plugins/index.js +1 -1
- package/dist/features/relationship/client/plugins/index.js.map +1 -1
- package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js +1 -1
- package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js.map +1 -1
- package/dist/features/relationship/server/index.d.ts +1 -1
- package/dist/features/relationship/server/index.d.ts.map +1 -1
- package/dist/features/relationship/server/index.js +50 -40
- package/dist/features/relationship/server/index.js.map +1 -1
- package/dist/features/relationship/server/nodes/RelationshipNode.d.ts +8 -6
- package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
- package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
- package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
- package/dist/features/toolbars/fixed/client/Toolbar/index.js +93 -66
- package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
- package/dist/features/toolbars/fixed/client/index.d.ts +1 -4
- package/dist/features/toolbars/fixed/client/index.d.ts.map +1 -1
- package/dist/features/toolbars/inline/client/Toolbar/index.js +43 -46
- package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
- package/dist/features/toolbars/inline/client/index.d.ts +1 -4
- package/dist/features/toolbars/inline/client/index.d.ts.map +1 -1
- package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
- package/dist/features/toolbars/shared/ToolbarButton/index.js +4 -1
- package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
- package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts +2 -2
- package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
- package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +12 -6
- package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
- package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts +4 -5
- package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
- package/dist/features/toolbars/shared/ToolbarDropdown/index.js +119 -116
- package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
- package/dist/features/toolbars/types.d.ts +23 -11
- package/dist/features/toolbars/types.d.ts.map +1 -1
- package/dist/features/toolbars/types.js.map +1 -1
- package/dist/features/typesClient.d.ts +10 -11
- package/dist/features/typesClient.d.ts.map +1 -1
- package/dist/features/typesClient.js.map +1 -1
- package/dist/features/typesServer.d.ts +17 -26
- package/dist/features/typesServer.d.ts.map +1 -1
- package/dist/features/typesServer.js.map +1 -1
- package/dist/features/upload/client/component/index.d.ts.map +1 -1
- package/dist/features/upload/client/component/index.js +69 -58
- package/dist/features/upload/client/component/index.js.map +1 -1
- package/dist/features/upload/client/drawer/index.d.ts.map +1 -1
- package/dist/features/upload/client/drawer/index.js +34 -32
- package/dist/features/upload/client/drawer/index.js.map +1 -1
- package/dist/features/upload/client/feature.client.d.ts +1 -4
- package/dist/features/upload/client/feature.client.d.ts.map +1 -1
- package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
- package/dist/features/upload/client/nodes/UploadNode.js +1 -1
- package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
- package/dist/features/upload/client/plugin/index.js +1 -1
- package/dist/features/upload/client/plugin/index.js.map +1 -1
- package/dist/features/upload/server/feature.server.d.ts.map +1 -1
- package/dist/features/upload/server/feature.server.js +17 -8
- package/dist/features/upload/server/feature.server.js.map +1 -1
- package/dist/features/upload/server/nodes/UploadNode.d.ts +9 -7
- package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
- package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
- package/dist/features/upload/server/validate.d.ts.map +1 -1
- package/dist/features/upload/server/validate.js +7 -4
- package/dist/features/upload/server/validate.js.map +1 -1
- package/dist/field/Field.d.ts.map +1 -1
- package/dist/field/Field.js +29 -44
- package/dist/field/Field.js.map +1 -1
- package/dist/field/bundled.css +1 -1
- package/dist/field/index.d.ts.map +1 -1
- package/dist/field/index.js +63 -73
- package/dist/field/index.js.map +1 -1
- package/dist/field/rscEntry.d.ts +9 -0
- package/dist/field/rscEntry.d.ts.map +1 -0
- package/dist/field/rscEntry.js +37 -0
- package/dist/field/rscEntry.js.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +94 -103
- package/dist/index.js.map +1 -1
- package/dist/lexical/EditorPlugin.d.ts.map +1 -1
- package/dist/lexical/EditorPlugin.js +2 -1
- package/dist/lexical/EditorPlugin.js.map +1 -1
- package/dist/lexical/LexicalEditor.d.ts +1 -1
- package/dist/lexical/LexicalEditor.d.ts.map +1 -1
- package/dist/lexical/LexicalEditor.js +10 -10
- package/dist/lexical/LexicalEditor.js.map +1 -1
- package/dist/lexical/LexicalProvider.d.ts +2 -2
- package/dist/lexical/LexicalProvider.d.ts.map +1 -1
- package/dist/lexical/LexicalProvider.js +9 -7
- package/dist/lexical/LexicalProvider.js.map +1 -1
- package/dist/lexical/config/client/EditorConfigProvider.d.ts +6 -5
- package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
- package/dist/lexical/config/client/EditorConfigProvider.js +13 -12
- package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
- package/dist/lexical/config/client/loader.d.ts +1 -3
- package/dist/lexical/config/client/loader.d.ts.map +1 -1
- package/dist/lexical/config/client/loader.js +7 -19
- 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 -4
- package/dist/lexical/config/client/sanitize.js.map +1 -1
- package/dist/lexical/config/server/loader.d.ts +2 -1
- package/dist/lexical/config/server/loader.d.ts.map +1 -1
- package/dist/lexical/config/server/loader.js +2 -0
- 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 +12 -11
- package/dist/lexical/config/server/sanitize.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 +82 -113
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +2 -2
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +2 -2
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +3 -2
- 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 +24 -30
- package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
- package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
- package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +93 -130
- package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +119 -137
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.d.ts.map +1 -1
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +16 -32
- package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
- package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.d.ts.map +1 -1
- package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +3 -1
- package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -1
- package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.d.ts.map +1 -1
- package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js +3 -4
- package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
- package/dist/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
- package/dist/lexical/plugins/handles/utils/setHandlePosition.js +4 -6
- package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
- package/dist/lexical/theme/EditorTheme.d.ts.map +1 -1
- package/dist/lexical/theme/EditorTheme.js +1 -2
- package/dist/lexical/theme/EditorTheme.js.map +1 -1
- package/dist/lexical/ui/icons/Caret/index.svg +2 -2
- package/dist/lexical/utils/nodeFormat.d.ts +2 -2
- package/dist/lexical/utils/nodeFormat.d.ts.map +1 -1
- package/dist/lexical/utils/nodeFormat.js.map +1 -1
- package/dist/lexical/utils/rect.d.ts +4 -4
- package/dist/lexical/utils/rect.d.ts.map +1 -1
- package/dist/lexical/utils/rect.js.map +1 -1
- package/dist/lexical/utils/setFloatingElemPosition.d.ts +1 -1
- package/dist/lexical/utils/setFloatingElemPosition.d.ts.map +1 -1
- package/dist/lexical/utils/setFloatingElemPosition.js +1 -1
- package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
- package/dist/lexical/utils/url.d.ts +5 -0
- package/dist/lexical/utils/url.d.ts.map +1 -1
- package/dist/lexical/utils/url.js +25 -5
- package/dist/lexical/utils/url.js.map +1 -1
- package/dist/populateGraphQL/populate.d.ts +3 -2
- package/dist/populateGraphQL/populate.d.ts.map +1 -1
- package/dist/populateGraphQL/populate.js +3 -1
- package/dist/populateGraphQL/populate.js.map +1 -1
- package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts +1 -1
- package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
- package/dist/populateGraphQL/populateLexicalPopulationPromises.js +5 -4
- package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
- package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
- package/dist/types.d.ts +20 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/createClientFeature.d.ts +3 -5
- package/dist/utilities/createClientFeature.d.ts.map +1 -1
- package/dist/utilities/createClientFeature.js +1 -4
- package/dist/utilities/createClientFeature.js.map +1 -1
- package/dist/utilities/createServerFeature.d.ts +1 -0
- package/dist/utilities/createServerFeature.d.ts.map +1 -1
- package/dist/utilities/createServerFeature.js +2 -0
- package/dist/utilities/createServerFeature.js.map +1 -1
- package/dist/utilities/fieldsDrawer/Drawer.d.ts +1 -0
- package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -1
- package/dist/utilities/fieldsDrawer/Drawer.js +68 -27
- package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
- package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/utilities/fieldsDrawer/DrawerContent.js +115 -139
- package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
- package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts +13 -0
- package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts.map +1 -0
- package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +129 -0
- package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -0
- package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts +10 -0
- package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts.map +1 -0
- package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +136 -0
- package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -0
- package/dist/utilities/fieldsDrawer/useLexicalListDrawer.d.ts +16 -0
- package/dist/utilities/fieldsDrawer/useLexicalListDrawer.d.ts.map +1 -0
- package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js +144 -0
- package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -0
- package/dist/utilities/generateImportMap.d.ts.map +1 -1
- package/dist/utilities/generateImportMap.js +2 -3
- package/dist/utilities/generateImportMap.js.map +1 -1
- package/dist/utilities/generateSchemaMap.d.ts.map +1 -1
- package/dist/utilities/generateSchemaMap.js +13 -10
- package/dist/utilities/generateSchemaMap.js.map +1 -1
- package/dist/utilities/initLexicalFeatures.d.ts +18 -0
- package/dist/utilities/initLexicalFeatures.d.ts.map +1 -0
- package/dist/utilities/initLexicalFeatures.js +95 -0
- package/dist/utilities/initLexicalFeatures.js.map +1 -0
- package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts +1 -1
- package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts.map +1 -1
- package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +1 -1
- package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
- package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts +1 -1
- package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -1
- package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +5 -1
- package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
- package/dist/utilities/useLexicalFeature.d.ts.map +1 -1
- package/dist/utilities/useLexicalFeature.js +12 -4
- package/dist/utilities/useLexicalFeature.js.map +1 -1
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +2 -2
- 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 +4 -4
- package/dist/validate/validateNodes.js.map +1 -1
- package/package.json +51 -49
- package/dist/cell/index.d.ts +0 -9
- package/dist/cell/index.d.ts.map +0 -1
- package/dist/cell/index.js +0 -135
- package/dist/cell/index.js.map +0 -1
- package/dist/exports/client/Field-63NGLPJB.js +0 -2
- package/dist/exports/client/Field-63NGLPJB.js.map +0 -7
- package/dist/exports/client/RelationshipComponent-3QWBV4GT.js +0 -2
- package/dist/exports/client/RelationshipComponent-3QWBV4GT.js.map +0 -7
- package/dist/exports/client/chunk-G5DTIOPI.js +0 -2
- package/dist/exports/client/chunk-G5DTIOPI.js.map +0 -7
- package/dist/exports/client/chunk-NI6Z4GBD.js +0 -2
- package/dist/exports/client/chunk-NI6Z4GBD.js.map +0 -7
- package/dist/exports/client/chunk-TO2W7Q2G.js +0 -2
- package/dist/exports/client/chunk-TO2W7Q2G.js.map +0 -7
- package/dist/exports/client/component-3OFD6Q4Z.js +0 -2
- package/dist/exports/client/component-3OFD6Q4Z.js.map +0 -7
- package/dist/exports/client/component-LCAAX56T.js +0 -2
- package/dist/exports/client/component-LCAAX56T.js.map +0 -7
- package/dist/exports/client/component-LLWMZU6K.js +0 -2
- package/dist/exports/client/component-LLWMZU6K.js.map +0 -7
- package/dist/exports/client/componentInline-72VZAAHP.js +0 -2
- package/dist/exports/client/componentInline-72VZAAHP.js.map +0 -7
- package/dist/features/createClientComponent.d.ts +0 -7
- package/dist/features/createClientComponent.d.ts.map +0 -1
- package/dist/features/createClientComponent.js +0 -13
- package/dist/features/createClientComponent.js.map +0 -1
- package/dist/features/createFeaturePropComponent.d.ts +0 -6
- package/dist/features/createFeaturePropComponent.d.ts.map +0 -1
- package/dist/features/createFeaturePropComponent.js +0 -19
- package/dist/features/createFeaturePropComponent.js.map +0 -1
- package/dist/utilities/generateComponentMap.d.ts +0 -6
- package/dist/utilities/generateComponentMap.d.ts.map +0 -1
- package/dist/utilities/generateComponentMap.js +0 -99
- package/dist/utilities/generateComponentMap.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Collapsible","Form","Pill","RenderComponent","SectionTitle","ShimmerEffect","useConfig","useDocumentInfo","useFieldProps","useFormSubmitted","useTranslation","React","useCallback","useEffect","useMemo","useState","baseClass","getTranslation","getFormState","v4","uuid","useEditorConfigContext","BlockContent","BlockComponent","props","formData","nodeKey","config","submitted","id","path","schemaPath","field","parentLexicalRichTextField","initialState","setInitialState","richTextComponentMap","schemaFieldsPath","blockType","componentMapRenderedBlockPath","blocksField","get","clientBlock","blocks","find","block","slug","awaitInitialState","state","apiRoute","routes","api","body","data","operation","serverURL","blockName","initialValue","passesCondition","valid","value","onChange","formState","prevFormState","i18n","classNames","filter","Boolean","join","formContent","_jsx","beforeSubmit","fields","formSchema","className","collapsibleStyle","header","admin","components","Label","clientProps","blockKind","mappedComponent","_jsxs","pillStyle","labels","singular","readOnly","height"],"sources":["../../../../../src/features/blocks/client/component/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\n\nimport {\n Collapsible,\n Form,\n Pill,\n RenderComponent,\n SectionTitle,\n ShimmerEffect,\n useConfig,\n useDocumentInfo,\n useFieldProps,\n useFormSubmitted,\n useTranslation,\n} from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nconst baseClass = 'lexical-block'\nimport type { BlockFieldClient, FormState } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport { v4 as uuid } from 'uuid'\n\nimport type { BlockFields } from '../../server/nodes/BlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { BlockContent } from './BlockContent.js'\nimport './index.scss'\n\ntype Props = {\n readonly children?: React.ReactNode\n readonly formData: BlockFields\n readonly nodeKey?: string\n}\n\nexport const BlockComponent: React.FC<Props> = (props) => {\n const { formData, nodeKey } = props\n const { config } = useConfig()\n const submitted = useFormSubmitted()\n const { id } = useDocumentInfo()\n const { path, schemaPath } = useFieldProps()\n const { field: parentLexicalRichTextField } = useEditorConfigContext()\n\n const [initialState, setInitialState] = useState<FormState | false>(false)\n const {\n field: { richTextComponentMap },\n } = useEditorConfigContext()\n\n const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.lexical_blocks.${formData.blockType}`\n\n const componentMapRenderedBlockPath = `lexical_internal_feature.blocks.fields.lexical_blocks`\n const blocksField: BlockFieldClient = richTextComponentMap.get(componentMapRenderedBlockPath)[0]\n\n const clientBlock = blocksField.blocks.find((block) => block.slug === formData.blockType)\n\n // Field Schema\n useEffect(() => {\n const awaitInitialState = async () => {\n const state = await getFormState({\n apiRoute: config.routes.api,\n body: {\n id,\n data: formData,\n operation: 'update',\n schemaPath: schemaFieldsPath,\n },\n serverURL: config.serverURL,\n })\n\n if (state) {\n state.blockName = {\n initialValue: '',\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n }\n\n setInitialState(state)\n }\n }\n\n if (formData) {\n void awaitInitialState()\n }\n }, [config.routes.api, config.serverURL, schemaFieldsPath, id]) // DO NOT ADD FORMDATA HERE! Adding formData will kick you out of sub block editors while writing.\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const formState = await getFormState({\n apiRoute: config.routes.api,\n body: {\n id,\n formState: prevFormState,\n operation: 'update',\n schemaPath: schemaFieldsPath,\n },\n serverURL: config.serverURL,\n })\n\n formState.blockName = {\n initialValue: '',\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n }\n\n return formState\n },\n\n [config.routes.api, config.serverURL, id, schemaFieldsPath, formData.blockName],\n )\n const { i18n } = useTranslation()\n\n const classNames = [`${baseClass}__row`, `${baseClass}__row--no-errors`].filter(Boolean).join(' ')\n\n // Memoized Form JSX\n const formContent = useMemo(() => {\n return clientBlock && initialState !== false ? (\n <Form\n beforeSubmit={[onChange]}\n fields={clientBlock.fields}\n initialState={initialState}\n onChange={[onChange]}\n submitted={submitted}\n uuid={uuid()}\n >\n <BlockContent\n baseClass={baseClass}\n clientBlock={clientBlock}\n field={parentLexicalRichTextField}\n formData={formData}\n formSchema={clientBlock.fields}\n nodeKey={nodeKey}\n path={`${path}.lexical_internal_feature.blocks.${formData.blockType}`}\n schemaPath={schemaFieldsPath}\n />\n </Form>\n ) : (\n <Collapsible\n className={classNames}\n collapsibleStyle=\"default\"\n header={\n clientBlock?.admin?.components?.Label ? (\n <RenderComponent\n clientProps={{ blockKind: 'lexicalBlock', formData }}\n mappedComponent={clientBlock.admin.components.Label}\n />\n ) : (\n <div className={`${baseClass}__block-header`}>\n <div>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`}\n pillStyle=\"white\"\n >\n {clientBlock && typeof clientBlock.labels.singular === 'string'\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock.slug}\n </Pill>\n <SectionTitle\n path=\"blockName\"\n readOnly={parentLexicalRichTextField?.admin?.readOnly}\n />\n </div>\n </div>\n )\n }\n key={0}\n >\n <ShimmerEffect height=\"35vh\" />\n </Collapsible>\n )\n }, [\n clientBlock,\n initialState,\n onChange,\n submitted,\n parentLexicalRichTextField,\n nodeKey,\n path,\n schemaFieldsPath,\n classNames,\n i18n,\n ])\n\n return <div className={baseClass + ' ' + baseClass + '-' + formData.blockType}>{formContent}</div>\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Collapsible","Form","Pill","SectionTitle","ShimmerEffect","useDocumentInfo","useFormSubmitted","useServerFunctions","useTranslation","React","useCallback","useEffect","useMemo","useRef","useState","baseClass","getTranslation","v4","uuid","useEditorConfigContext","BlockContent","BlockComponent","props","formData","nodeKey","submitted","id","collectionSlug","globalSlug","fieldProps","featureClientSchemaMap","field","parentLexicalRichTextField","path","schemaPath","abortControllerRef","AbortController","docPermissions","getDocPreferences","getFormState","initialState","setInitialState","schemaFieldsPath","blockType","componentMapRenderedBlockPath","clientSchemaMap","blocksField","clientBlock","blocks","i18n","abortController","awaitInitialState","state","data","docPreferences","doNotAbort","operation","renderAllFields","signal","blockName","initialValue","passesCondition","valid","value","abort","_err","onChange","formState","prevFormState","current","newFormState","classNames","filter","Boolean","join","Label","admin","components","formContent","_jsx","beforeSubmit","fields","formSchema","className","collapsibleStyle","header","_jsxs","pillStyle","labels","singular","slug","readOnly","height"],"sources":["../../../../../src/features/blocks/client/component/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n Collapsible,\n Form,\n Pill,\n SectionTitle,\n ShimmerEffect,\n useDocumentInfo,\n useFormSubmitted,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nconst baseClass = 'lexical-block'\nimport { getTranslation } from '@payloadcms/translations'\nimport { type BlocksFieldClient, type FormState } from 'payload'\nimport { v4 as uuid } from 'uuid'\n\nimport type { BlockFields } from '../../server/nodes/BlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { BlockContent } from './BlockContent.js'\nimport './index.scss'\n\ntype Props = {\n readonly children?: React.ReactNode\n readonly formData: BlockFields\n readonly nodeKey: string\n}\n\nexport const BlockComponent: React.FC<Props> = (props) => {\n const { formData, nodeKey } = props\n const submitted = useFormSubmitted()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const {\n fieldProps: { featureClientSchemaMap, field: parentLexicalRichTextField, path, schemaPath },\n } = useEditorConfigContext()\n const abortControllerRef = useRef(new AbortController())\n const { docPermissions, getDocPreferences } = useDocumentInfo()\n\n const { getFormState } = useServerFunctions()\n\n const [initialState, setInitialState] = useState<false | FormState | undefined>(false)\n\n const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.${formData.blockType}.fields`\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.${formData.blockType}`\n\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient = clientSchemaMap[\n componentMapRenderedBlockPath\n ][0] as BlocksFieldClient\n\n const clientBlock = blocksField.blocks[0]\n\n const { i18n } = useTranslation()\n\n // Field Schema\n useEffect(() => {\n const abortController = new AbortController()\n\n const awaitInitialState = async () => {\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: formData,\n docPermissions,\n docPreferences: await getDocPreferences(),\n doNotAbort: true,\n globalSlug,\n operation: 'update',\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: abortController.signal,\n })\n\n if (state) {\n state.blockName = {\n initialValue: '',\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n }\n\n setInitialState(state)\n }\n }\n\n if (formData) {\n void awaitInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }, [\n getFormState,\n schemaFieldsPath,\n id,\n collectionSlug,\n globalSlug,\n getDocPreferences,\n docPermissions,\n ]) // DO NOT ADD FORMDATA HERE! Adding formData will kick you out of sub block editors while writing.\n\n const onChange = useCallback(\n async ({ formState: prevFormState }) => {\n if (abortControllerRef.current) {\n try {\n abortControllerRef.current.abort()\n } catch (_err) {\n // swallow error\n }\n }\n\n const abortController = new AbortController()\n abortControllerRef.current = abortController\n\n const { state: newFormState } = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences: await getDocPreferences(),\n doNotAbort: true,\n formState: prevFormState,\n globalSlug,\n operation: 'update',\n schemaPath: schemaFieldsPath,\n signal: abortController.signal,\n })\n\n if (!newFormState) {\n return prevFormState\n }\n\n newFormState.blockName = {\n initialValue: '',\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n }\n\n return newFormState\n },\n\n [\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n getDocPreferences,\n globalSlug,\n schemaFieldsPath,\n formData.blockName,\n ],\n )\n\n // cleanup effect\n useEffect(() => {\n const abortController = abortControllerRef.current\n\n return () => {\n try {\n abortController.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }, [])\n\n const classNames = [`${baseClass}__row`, `${baseClass}__row--no-errors`].filter(Boolean).join(' ')\n\n const Label = clientBlock?.admin?.components?.Label\n\n // Memoized Form JSX\n const formContent = useMemo(() => {\n return clientBlock && initialState !== false ? (\n <Form\n beforeSubmit={[onChange]}\n fields={clientBlock.fields}\n initialState={initialState}\n onChange={[onChange]}\n submitted={submitted}\n uuid={uuid()}\n >\n <BlockContent\n baseClass={baseClass}\n clientBlock={clientBlock}\n field={parentLexicalRichTextField}\n formData={formData}\n formSchema={clientBlock.fields}\n nodeKey={nodeKey}\n path={`${path}.lexical_internal_feature.blocks.${formData.blockType}`}\n schemaPath={schemaFieldsPath}\n />\n </Form>\n ) : (\n <Collapsible\n className={classNames}\n collapsibleStyle=\"default\"\n header={\n clientBlock?.admin?.components?.Label ? (\n Label\n ) : (\n <div className={`${baseClass}__block-header`}>\n <div>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`}\n pillStyle=\"white\"\n >\n {clientBlock && typeof clientBlock.labels?.singular === 'string'\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock?.slug}\n </Pill>\n <SectionTitle\n path=\"blockName\"\n readOnly={parentLexicalRichTextField?.admin?.readOnly || false}\n />\n </div>\n </div>\n )\n }\n key={0}\n >\n <ShimmerEffect height=\"35vh\" />\n </Collapsible>\n )\n }, [\n clientBlock,\n initialState,\n onChange,\n submitted,\n parentLexicalRichTextField,\n nodeKey,\n path,\n schemaFieldsPath,\n classNames,\n i18n,\n ]) // DO NOT ADD FORMDATA HERE! Adding formData will kick you out of sub block editors while writing.\n\n return <div className={baseClass + ' ' + baseClass + '-' + formData.blockType}>{formContent}</div>\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@ import type { InlineBlockFields } from '../nodes/InlineBlocksNode.js';
|
|
|
3
3
|
import './index.scss';
|
|
4
4
|
type Props = {
|
|
5
5
|
readonly formData: InlineBlockFields;
|
|
6
|
-
readonly nodeKey
|
|
6
|
+
readonly nodeKey: string;
|
|
7
7
|
};
|
|
8
8
|
export declare const InlineBlockComponent: React.FC<Props>;
|
|
9
9
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/componentInline/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAoB7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKrE,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,QAAQ,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/componentInline/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAoB7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKrE,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiIhD,CAAA"}
|
|
@@ -7,7 +7,7 @@ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext
|
|
|
7
7
|
import { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection';
|
|
8
8
|
import { mergeRegister } from '@lexical/utils';
|
|
9
9
|
import { getTranslation } from '@payloadcms/translations';
|
|
10
|
-
import { Button,
|
|
10
|
+
import { Button, useTranslation } from '@payloadcms/ui';
|
|
11
11
|
import { $getNodeByKey, $getSelection, $isNodeSelection, CLICK_COMMAND, COMMAND_PRIORITY_LOW, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND } from 'lexical';
|
|
12
12
|
import { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js';
|
|
13
13
|
import { $isInlineBlockNode } from '../nodes/InlineBlocksNode.js';
|
|
@@ -23,34 +23,37 @@ export const InlineBlockComponent = props => {
|
|
|
23
23
|
t
|
|
24
24
|
} = useTranslation();
|
|
25
25
|
const {
|
|
26
|
-
|
|
26
|
+
fieldProps: {
|
|
27
|
+
featureClientSchemaMap,
|
|
28
|
+
readOnly,
|
|
29
|
+
schemaPath
|
|
30
|
+
}
|
|
27
31
|
} = useEditorConfigContext();
|
|
28
32
|
const inlineBlockElemElemRef = useRef(null);
|
|
29
33
|
const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey);
|
|
30
|
-
const {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
} = useEditorConfigContext();
|
|
35
|
-
const componentMapRenderedBlockPath = `lexical_internal_feature.blocks.fields.lexical_inline_blocks`;
|
|
36
|
-
const blocksField = richTextComponentMap.get(componentMapRenderedBlockPath)[0];
|
|
37
|
-
const clientBlock = blocksField.blocks.find(block => block.slug === formData.blockType);
|
|
34
|
+
const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${formData.blockType}`;
|
|
35
|
+
const clientSchemaMap = featureClientSchemaMap['blocks'];
|
|
36
|
+
const blocksField = clientSchemaMap[componentMapRenderedBlockPath][0];
|
|
37
|
+
const clientBlock = blocksField.blocks[0];
|
|
38
38
|
const removeInlineBlock = useCallback(() => {
|
|
39
39
|
editor.update(() => {
|
|
40
|
-
$getNodeByKey(nodeKey)
|
|
40
|
+
$getNodeByKey(nodeKey)?.remove();
|
|
41
41
|
});
|
|
42
42
|
}, [editor, nodeKey]);
|
|
43
43
|
const $onDelete = useCallback(event => {
|
|
44
|
-
|
|
44
|
+
const deleteSelection = $getSelection();
|
|
45
|
+
if (isSelected && $isNodeSelection(deleteSelection)) {
|
|
45
46
|
event.preventDefault();
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
editor.update(() => {
|
|
48
|
+
deleteSelection.getNodes().forEach(node => {
|
|
49
|
+
if ($isInlineBlockNode(node)) {
|
|
50
|
+
node.remove();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
51
54
|
}
|
|
52
55
|
return false;
|
|
53
|
-
}, [
|
|
56
|
+
}, [editor, isSelected]);
|
|
54
57
|
const onClick = useCallback(payload => {
|
|
55
58
|
const event_0 = payload;
|
|
56
59
|
// Check if inlineBlockElemElemRef.target or anything WITHIN inlineBlockElemElemRef.target was clicked
|
|
@@ -70,24 +73,19 @@ export const InlineBlockComponent = props => {
|
|
|
70
73
|
useEffect(() => {
|
|
71
74
|
return mergeRegister(editor.registerCommand(CLICK_COMMAND, onClick, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW));
|
|
72
75
|
}, [clearSelection, editor, isSelected, nodeKey, $onDelete, setSelected, onClick]);
|
|
73
|
-
const blockDisplayName = clientBlock?.labels?.singular ? getTranslation(clientBlock.labels.singular, i18n) : clientBlock
|
|
76
|
+
const blockDisplayName = clientBlock?.labels?.singular ? getTranslation(clientBlock.labels.singular, i18n) : clientBlock?.slug;
|
|
77
|
+
const Label = clientBlock?.admin?.components?.Label;
|
|
74
78
|
return /*#__PURE__*/_jsxs("div", {
|
|
75
79
|
className: [baseClass, baseClass + '-' + formData.blockType, isSelected && `${baseClass}--selected`].filter(Boolean).join(' '),
|
|
76
80
|
ref: inlineBlockElemElemRef,
|
|
77
|
-
children: [
|
|
78
|
-
|
|
79
|
-
blockKind: 'lexicalInlineBlock',
|
|
80
|
-
formData
|
|
81
|
-
},
|
|
82
|
-
mappedComponent: clientBlock.admin.components.Label
|
|
83
|
-
}) : /*#__PURE__*/_jsx("div", {
|
|
84
|
-
children: getTranslation(clientBlock.labels?.singular, i18n)
|
|
81
|
+
children: [Label ? Label : /*#__PURE__*/_jsx("div", {
|
|
82
|
+
children: getTranslation(clientBlock.labels.singular, i18n)
|
|
85
83
|
}), editor.isEditable() && /*#__PURE__*/_jsxs("div", {
|
|
86
84
|
className: `${baseClass}__actions`,
|
|
87
85
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
88
86
|
buttonStyle: "icon-label",
|
|
89
87
|
className: `${baseClass}__editButton`,
|
|
90
|
-
disabled:
|
|
88
|
+
disabled: readOnly,
|
|
91
89
|
el: "div",
|
|
92
90
|
icon: "edit",
|
|
93
91
|
onClick: () => {
|
|
@@ -104,7 +102,7 @@ export const InlineBlockComponent = props => {
|
|
|
104
102
|
}), /*#__PURE__*/_jsx(Button, {
|
|
105
103
|
buttonStyle: "icon-label",
|
|
106
104
|
className: `${baseClass}__removeButton`,
|
|
107
|
-
disabled:
|
|
105
|
+
disabled: readOnly,
|
|
108
106
|
icon: "x",
|
|
109
107
|
onClick: e => {
|
|
110
108
|
e.preventDefault();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useEffect","useRef","baseClass","useLexicalComposerContext","useLexicalNodeSelection","mergeRegister","getTranslation","Button","RenderComponent","useTranslation","$getNodeByKey","$getSelection","$isNodeSelection","CLICK_COMMAND","COMMAND_PRIORITY_LOW","KEY_BACKSPACE_COMMAND","KEY_DELETE_COMMAND","useEditorConfigContext","$isInlineBlockNode","OPEN_INLINE_BLOCK_DRAWER_COMMAND","InlineBlockComponent","props","formData","nodeKey","editor","i18n","t","field","inlineBlockElemElemRef","isSelected","setSelected","clearSelection","richTextComponentMap","componentMapRenderedBlockPath","blocksField","get","clientBlock","blocks","find","block","slug","blockType","removeInlineBlock","update","remove","$onDelete","event","preventDefault","node","onClick","payload","target","current","contains","shiftKey","registerCommand","blockDisplayName","labels","singular","_jsxs","className","filter","Boolean","join","ref","admin","components","Label","_jsx","clientProps","blockKind","mappedComponent","isEditable","buttonStyle","disabled","readOnly","el","icon","dispatchCommand","fields","round","size","tooltip","label","e"],"sources":["../../../../../src/features/blocks/client/componentInline/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useRef } from 'react'\nconst baseClass = 'inline-block'\n\nimport type { BlockFieldClient } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection'\nimport { mergeRegister } from '@lexical/utils'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, RenderComponent, useTranslation } from '@payloadcms/ui'\nimport {\n $getNodeByKey,\n $getSelection,\n $isNodeSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n} from 'lexical'\n\nimport type { InlineBlockFields } from '../nodes/InlineBlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { $isInlineBlockNode } from '../nodes/InlineBlocksNode.js'\nimport { OPEN_INLINE_BLOCK_DRAWER_COMMAND } from '../plugin/commands.js'\nimport './index.scss'\n\ntype Props = {\n readonly formData: InlineBlockFields\n readonly nodeKey?: string\n}\n\nexport const InlineBlockComponent: React.FC<Props> = (props) => {\n const { formData, nodeKey } = props\n const [editor] = useLexicalComposerContext()\n const { i18n, t } = useTranslation<object, string>()\n const { field } = useEditorConfigContext()\n const inlineBlockElemElemRef = useRef<HTMLDivElement | null>(null)\n const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey)\n\n const {\n field: { richTextComponentMap },\n } = useEditorConfigContext()\n\n const componentMapRenderedBlockPath = `lexical_internal_feature.blocks.fields.lexical_inline_blocks`\n const blocksField: BlockFieldClient = richTextComponentMap.get(componentMapRenderedBlockPath)[0]\n const clientBlock = blocksField.blocks.find((block) => block.slug === formData.blockType)\n\n const removeInlineBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey).remove()\n })\n }, [editor, nodeKey])\n\n const $onDelete = useCallback(\n (event: KeyboardEvent) => {\n if (isSelected && $isNodeSelection($getSelection())) {\n event.preventDefault()\n const node = $getNodeByKey(nodeKey)\n if ($isInlineBlockNode(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 inlineBlockElemElemRef.target or anything WITHIN inlineBlockElemElemRef.target was clicked\n if (\n event.target === inlineBlockElemElemRef.current ||\n inlineBlockElemElemRef.current?.contains(event.target as Node)\n ) {\n if (event.shiftKey) {\n setSelected(!isSelected)\n } else {\n if (!isSelected) {\n clearSelection()\n setSelected(true)\n }\n }\n return true\n }\n\n return false\n },\n [isSelected, setSelected, clearSelection],\n )\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand<MouseEvent>(CLICK_COMMAND, onClick, COMMAND_PRIORITY_LOW),\n\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n )\n }, [clearSelection, editor, isSelected, nodeKey, $onDelete, setSelected, onClick])\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock.slug\n\n return (\n <div\n className={[\n baseClass,\n baseClass + '-' + formData.blockType,\n isSelected && `${baseClass}--selected`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={inlineBlockElemElemRef}\n >\n {clientBlock?.admin?.components?.Label ? (\n <RenderComponent\n clientProps={{ blockKind: 'lexicalInlineBlock', formData }}\n mappedComponent={clientBlock.admin.components.Label}\n />\n ) : (\n <div>{getTranslation(clientBlock.labels?.singular, i18n)}</div>\n )}\n {editor.isEditable() && (\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__editButton`}\n disabled={field?.admin?.readOnly}\n el=\"div\"\n icon=\"edit\"\n onClick={() => {\n editor.dispatchCommand(OPEN_INLINE_BLOCK_DRAWER_COMMAND, {\n fields: formData,\n nodeKey,\n })\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:edit', { label: blockDisplayName })}\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={field?.admin?.readOnly}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeInlineBlock()\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:remove', { label: blockDisplayName })}\n />\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useEffect","useRef","baseClass","useLexicalComposerContext","useLexicalNodeSelection","mergeRegister","getTranslation","Button","useTranslation","$getNodeByKey","$getSelection","$isNodeSelection","CLICK_COMMAND","COMMAND_PRIORITY_LOW","KEY_BACKSPACE_COMMAND","KEY_DELETE_COMMAND","useEditorConfigContext","$isInlineBlockNode","OPEN_INLINE_BLOCK_DRAWER_COMMAND","InlineBlockComponent","props","formData","nodeKey","editor","i18n","t","fieldProps","featureClientSchemaMap","readOnly","schemaPath","inlineBlockElemElemRef","isSelected","setSelected","clearSelection","componentMapRenderedBlockPath","blockType","clientSchemaMap","blocksField","clientBlock","blocks","removeInlineBlock","update","remove","$onDelete","event","deleteSelection","preventDefault","getNodes","forEach","node","onClick","payload","target","current","contains","shiftKey","registerCommand","blockDisplayName","labels","singular","slug","Label","admin","components","_jsxs","className","filter","Boolean","join","ref","_jsx","isEditable","buttonStyle","disabled","el","icon","dispatchCommand","fields","round","size","tooltip","label","e"],"sources":["../../../../../src/features/blocks/client/componentInline/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useRef } from 'react'\nconst baseClass = 'inline-block'\n\nimport type { BlocksFieldClient } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection'\nimport { mergeRegister } from '@lexical/utils'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, useTranslation } from '@payloadcms/ui'\nimport {\n $getNodeByKey,\n $getSelection,\n $isNodeSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n} from 'lexical'\n\nimport type { InlineBlockFields } from '../nodes/InlineBlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { $isInlineBlockNode } from '../nodes/InlineBlocksNode.js'\nimport { OPEN_INLINE_BLOCK_DRAWER_COMMAND } from '../plugin/commands.js'\nimport './index.scss'\n\ntype Props = {\n readonly formData: InlineBlockFields\n readonly nodeKey: string\n}\n\nexport const InlineBlockComponent: React.FC<Props> = (props) => {\n const { formData, nodeKey } = props\n const [editor] = useLexicalComposerContext()\n const { i18n, t } = useTranslation<object, string>()\n const {\n fieldProps: { featureClientSchemaMap, readOnly, schemaPath },\n } = useEditorConfigContext()\n const inlineBlockElemElemRef = useRef<HTMLDivElement | null>(null)\n const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey)\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${formData.blockType}`\n\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient = clientSchemaMap[\n componentMapRenderedBlockPath\n ][0] as BlocksFieldClient\n\n const clientBlock = blocksField.blocks[0]\n\n const removeInlineBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey)?.remove()\n })\n }, [editor, nodeKey])\n\n const $onDelete = useCallback(\n (event: KeyboardEvent) => {\n const deleteSelection = $getSelection()\n if (isSelected && $isNodeSelection(deleteSelection)) {\n event.preventDefault()\n editor.update(() => {\n deleteSelection.getNodes().forEach((node) => {\n if ($isInlineBlockNode(node)) {\n node.remove()\n }\n })\n })\n }\n return false\n },\n [editor, isSelected],\n )\n const onClick = useCallback(\n (payload: MouseEvent) => {\n const event = payload\n // Check if inlineBlockElemElemRef.target or anything WITHIN inlineBlockElemElemRef.target was clicked\n if (\n event.target === inlineBlockElemElemRef.current ||\n inlineBlockElemElemRef.current?.contains(event.target as Node)\n ) {\n if (event.shiftKey) {\n setSelected(!isSelected)\n } else {\n if (!isSelected) {\n clearSelection()\n setSelected(true)\n }\n }\n return true\n }\n\n return false\n },\n [isSelected, setSelected, clearSelection],\n )\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand<MouseEvent>(CLICK_COMMAND, onClick, COMMAND_PRIORITY_LOW),\n\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n )\n }, [clearSelection, editor, isSelected, nodeKey, $onDelete, setSelected, onClick])\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock?.slug\n\n const Label = clientBlock?.admin?.components?.Label\n\n return (\n <div\n className={[\n baseClass,\n baseClass + '-' + formData.blockType,\n isSelected && `${baseClass}--selected`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={inlineBlockElemElemRef}\n >\n {Label ? Label : <div>{getTranslation(clientBlock.labels!.singular, i18n)}</div>}\n {editor.isEditable() && (\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__editButton`}\n disabled={readOnly}\n el=\"div\"\n icon=\"edit\"\n onClick={() => {\n editor.dispatchCommand(OPEN_INLINE_BLOCK_DRAWER_COMMAND, {\n fields: formData,\n nodeKey,\n })\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:edit', { label: blockDisplayName })}\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={readOnly}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeInlineBlock()\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:remove', { label: blockDisplayName })}\n />\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ;AACtD,MAAMC,SAAA,GAAY;AAIlB,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,uBAAuB,QAAQ;AACxC,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,EAAEC,cAAc,QAAQ;AACvC,SACEC,aAAa,EACbC,aAAa,EACbC,gBAAgB,EAChBC,aAAa,EACbC,oBAAoB,EACpBC,qBAAqB,EACrBC,kBAAkB,QACb;AAIP,SAASC,sBAAsB,QAAQ;AACvC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,gCAAgC,QAAQ;AAQjD,OAAO,MAAMC,oBAAA,GAAyCC,KAAA;EACpD,MAAM;IAAEC,QAAQ;IAAEC;EAAO,CAAE,GAAGF,KAAA;EAC9B,MAAM,CAACG,MAAA,CAAO,GAAGpB,yBAAA;EACjB,MAAM;IAAEqB,IAAI;IAAEC;EAAC,CAAE,GAAGjB,cAAA;EACpB,MAAM;IACJkB,UAAA,EAAY;MAAEC,sBAAsB;MAAEC,QAAQ;MAAEC;IAAU;EAAE,CAC7D,GAAGb,sBAAA;EACJ,MAAMc,sBAAA,GAAyB7B,MAAA,CAA8B;EAC7D,MAAM,CAAC8B,UAAA,EAAYC,WAAA,EAAaC,cAAA,CAAe,GAAG7B,uBAAA,CAAwBkB,OAAA;EAE1E,MAAMY,6BAAA,GAAgC,GAAGL,UAAA,0DAAoER,QAAA,CAASc,SAAS,EAAE;EAEjI,MAAMC,eAAA,GAAkBT,sBAAsB,CAAC,SAAS;EAExD,MAAMU,WAAA,GAAiCD,eAAe,CACpDF,6BAAA,CACD,CAAC,EAAE;EAEJ,MAAMI,WAAA,GAAcD,WAAA,CAAYE,MAAM,CAAC,EAAE;EAEzC,MAAMC,iBAAA,GAAoBzC,WAAA,CAAY;IACpCwB,MAAA,CAAOkB,MAAM,CAAC;MACZhC,aAAA,CAAca,OAAA,GAAUoB,MAAA;IAC1B;EACF,GAAG,CAACnB,MAAA,EAAQD,OAAA,CAAQ;EAEpB,MAAMqB,SAAA,GAAY5C,WAAA,CACf6C,KAAA;IACC,MAAMC,eAAA,GAAkBnC,aAAA;IACxB,IAAIqB,UAAA,IAAcpB,gBAAA,CAAiBkC,eAAA,GAAkB;MACnDD,KAAA,CAAME,cAAc;MACpBvB,MAAA,CAAOkB,MAAM,CAAC;QACZI,eAAA,CAAgBE,QAAQ,GAAGC,OAAO,CAAEC,IAAA;UAClC,IAAIhC,kBAAA,CAAmBgC,IAAA,GAAO;YAC5BA,IAAA,CAAKP,MAAM;UACb;QACF;MACF;IACF;IACA,OAAO;EACT,GACA,CAACnB,MAAA,EAAQQ,UAAA,CAAW;EAEtB,MAAMmB,OAAA,GAAUnD,WAAA,CACboD,OAAA;IACC,MAAMP,OAAA,GAAQO,OAAA;IACd;IACA,IACEP,OAAA,CAAMQ,MAAM,KAAKtB,sBAAA,CAAuBuB,OAAO,IAC/CvB,sBAAA,CAAuBuB,OAAO,EAAEC,QAAA,CAASV,OAAA,CAAMQ,MAAM,GACrD;MACA,IAAIR,OAAA,CAAMW,QAAQ,EAAE;QAClBvB,WAAA,CAAY,CAACD,UAAA;MACf,OAAO;QACL,IAAI,CAACA,UAAA,EAAY;UACfE,cAAA;UACAD,WAAA,CAAY;QACd;MACF;MACA,OAAO;IACT;IAEA,OAAO;EACT,GACA,CAACD,UAAA,EAAYC,WAAA,EAAaC,cAAA,CAAe;EAG3CjC,SAAA,CAAU;IACR,OAAOK,aAAA,CACLkB,MAAA,CAAOiC,eAAe,CAAa5C,aAAA,EAAesC,OAAA,EAASrC,oBAAA,GAE3DU,MAAA,CAAOiC,eAAe,CAACzC,kBAAA,EAAoB4B,SAAA,EAAW9B,oBAAA,GACtDU,MAAA,CAAOiC,eAAe,CAAC1C,qBAAA,EAAuB6B,SAAA,EAAW9B,oBAAA;EAE7D,GAAG,CAACoB,cAAA,EAAgBV,MAAA,EAAQQ,UAAA,EAAYT,OAAA,EAASqB,SAAA,EAAWX,WAAA,EAAakB,OAAA,CAAQ;EAEjF,MAAMO,gBAAA,GAAmBnB,WAAA,EAAaoB,MAAA,EAAQC,QAAA,GAC1CrD,cAAA,CAAegC,WAAA,CAAYoB,MAAM,CAACC,QAAQ,EAAEnC,IAAA,IAC5Cc,WAAA,EAAasB,IAAA;EAEjB,MAAMC,KAAA,GAAQvB,WAAA,EAAawB,KAAA,EAAOC,UAAA,EAAYF,KAAA;EAE9C,oBACEG,KAAA,CAAC;IACCC,SAAA,EAAW,CACT/D,SAAA,EACAA,SAAA,GAAY,MAAMmB,QAAA,CAASc,SAAS,EACpCJ,UAAA,IAAc,GAAG7B,SAAA,YAAqB,CACvC,CACEgE,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;IACRC,GAAA,EAAKvC,sBAAA;eAEJ+B,KAAA,GAAQA,KAAA,gBAAQS,IAAA,CAAC;gBAAKhE,cAAA,CAAegC,WAAA,CAAYoB,MAAM,CAAEC,QAAQ,EAAEnC,IAAA;QACnED,MAAA,CAAOgD,UAAU,mBAChBP,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAG/D,SAAA,WAAoB;8BACrCoE,IAAA,CAAC/D,MAAA;QACCiE,WAAA,EAAY;QACZP,SAAA,EAAW,GAAG/D,SAAA,cAAuB;QACrCuE,QAAA,EAAU7C,QAAA;QACV8C,EAAA,EAAG;QACHC,IAAA,EAAK;QACLzB,OAAA,EAASA,CAAA;UACP3B,MAAA,CAAOqD,eAAe,CAAC1D,gCAAA,EAAkC;YACvD2D,MAAA,EAAQxD,QAAA;YACRC;UACF;QACF;QACAwD,KAAK;QACLC,IAAA,EAAK;QACLC,OAAA,EAASvD,CAAA,CAAE,oCAAoC;UAAEwD,KAAA,EAAOxB;QAAiB;uBAE3Ea,IAAA,CAAC/D,MAAA;QACCiE,WAAA,EAAY;QACZP,SAAA,EAAW,GAAG/D,SAAA,gBAAyB;QACvCuE,QAAA,EAAU7C,QAAA;QACV+C,IAAA,EAAK;QACLzB,OAAA,EAAUgC,CAAA;UACRA,CAAA,CAAEpC,cAAc;UAChBN,iBAAA;QACF;QACAsC,KAAK;QACLC,IAAA,EAAK;QACLC,OAAA,EAASvD,CAAA,CAAE,sCAAsC;UAAEwD,KAAA,EAAOxB;QAAiB;;;;AAMvF","ignoreList":[]}
|
|
@@ -2,8 +2,5 @@ export type BlocksFeatureClientProps = {
|
|
|
2
2
|
clientBlockSlugs: string[];
|
|
3
3
|
clientInlineBlockSlugs: string[];
|
|
4
4
|
};
|
|
5
|
-
export declare const BlocksFeatureClient: import("
|
|
6
|
-
featureKey: string;
|
|
7
|
-
order: number;
|
|
8
|
-
} & BlocksFeatureClientProps>;
|
|
5
|
+
export declare const BlocksFeatureClient: import("../../typesClient.js").FeatureProviderProviderClient<BlocksFeatureClientProps, UnSanitizedClientProps>;
|
|
9
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/client/index.tsx"],"names":[],"mappings":"AAiBA,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,sBAAsB,EAAE,MAAM,EAAE,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/client/index.tsx"],"names":[],"mappings":"AAiBA,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,sBAAsB,EAAE,MAAM,EAAE,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,mBAAmB,gHAkL7B,CAAA"}
|
|
@@ -8,6 +8,7 @@ import { BlockNode } from './nodes/BlocksNode.js';
|
|
|
8
8
|
import { InlineBlockNode } from './nodes/InlineBlocksNode.js';
|
|
9
9
|
import { INSERT_BLOCK_COMMAND, OPEN_INLINE_BLOCK_DRAWER_COMMAND } from './plugin/commands.js';
|
|
10
10
|
import { BlocksPlugin } from './plugin/index.js';
|
|
11
|
+
// @ts-expect-error - TODO: fix this
|
|
11
12
|
export const BlocksFeatureClient = createClientFeature(({
|
|
12
13
|
props
|
|
13
14
|
}) => ({
|
|
@@ -25,20 +26,24 @@ export const BlocksFeatureClient = createClientFeature(({
|
|
|
25
26
|
key: 'block-' + blockSlug,
|
|
26
27
|
keywords: ['block', 'blocks', blockSlug],
|
|
27
28
|
label: ({
|
|
29
|
+
featureClientSchemaMap,
|
|
28
30
|
i18n,
|
|
29
|
-
|
|
31
|
+
schemaPath
|
|
30
32
|
}) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
33
|
+
if (!featureClientSchemaMap) {
|
|
34
|
+
return blockSlug;
|
|
35
|
+
}
|
|
36
|
+
const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.${blockSlug}`;
|
|
37
|
+
const clientSchemaMap = featureClientSchemaMap['blocks'];
|
|
38
|
+
const blocksField = clientSchemaMap[componentMapRenderedBlockPath][0];
|
|
39
|
+
const clientBlock = blocksField.blocks[0];
|
|
40
|
+
const blockDisplayName = clientBlock?.labels?.singular ? getTranslation(clientBlock.labels.singular, i18n) : clientBlock?.slug;
|
|
35
41
|
return blockDisplayName;
|
|
36
42
|
},
|
|
37
43
|
onSelect: ({
|
|
38
44
|
editor
|
|
39
45
|
}) => {
|
|
40
46
|
editor.dispatchCommand(INSERT_BLOCK_COMMAND, {
|
|
41
|
-
id: null,
|
|
42
47
|
blockName: '',
|
|
43
48
|
blockType: blockSlug
|
|
44
49
|
});
|
|
@@ -58,13 +63,15 @@ export const BlocksFeatureClient = createClientFeature(({
|
|
|
58
63
|
key: 'inlineBlocks-' + inlineBlockSlug,
|
|
59
64
|
keywords: ['inlineBlock', 'inline block', inlineBlockSlug],
|
|
60
65
|
label: ({
|
|
66
|
+
featureClientSchemaMap,
|
|
61
67
|
i18n,
|
|
62
|
-
|
|
68
|
+
schemaPath
|
|
63
69
|
}) => {
|
|
64
|
-
const componentMapRenderedBlockPath =
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
const
|
|
70
|
+
const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${inlineBlockSlug}`;
|
|
71
|
+
const clientSchemaMap = featureClientSchemaMap['blocks'];
|
|
72
|
+
const blocksField = clientSchemaMap[componentMapRenderedBlockPath][0];
|
|
73
|
+
const clientBlock = blocksField.blocks[0];
|
|
74
|
+
const blockDisplayName = clientBlock?.labels?.singular ? getTranslation(clientBlock.labels.singular, i18n) : clientBlock?.slug;
|
|
68
75
|
return blockDisplayName;
|
|
69
76
|
},
|
|
70
77
|
onSelect: ({
|
|
@@ -72,7 +79,6 @@ export const BlocksFeatureClient = createClientFeature(({
|
|
|
72
79
|
}) => {
|
|
73
80
|
editor.dispatchCommand(OPEN_INLINE_BLOCK_DRAWER_COMMAND, {
|
|
74
81
|
fields: {
|
|
75
|
-
id: null,
|
|
76
82
|
blockName: '',
|
|
77
83
|
blockType: inlineBlockSlug
|
|
78
84
|
}
|
|
@@ -98,20 +104,21 @@ export const BlocksFeatureClient = createClientFeature(({
|
|
|
98
104
|
isActive: undefined,
|
|
99
105
|
key: 'block-' + blockSlug,
|
|
100
106
|
label: ({
|
|
107
|
+
featureClientSchemaMap,
|
|
101
108
|
i18n,
|
|
102
|
-
|
|
109
|
+
schemaPath
|
|
103
110
|
}) => {
|
|
104
|
-
const componentMapRenderedBlockPath =
|
|
105
|
-
const
|
|
106
|
-
const
|
|
107
|
-
const
|
|
111
|
+
const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.${blockSlug}`;
|
|
112
|
+
const clientSchemaMap = featureClientSchemaMap['blocks'];
|
|
113
|
+
const blocksField = clientSchemaMap[componentMapRenderedBlockPath][0];
|
|
114
|
+
const clientBlock = blocksField.blocks[0];
|
|
115
|
+
const blockDisplayName = clientBlock?.labels?.singular ? getTranslation(clientBlock.labels.singular, i18n) : clientBlock?.slug;
|
|
108
116
|
return blockDisplayName;
|
|
109
117
|
},
|
|
110
118
|
onSelect: ({
|
|
111
119
|
editor
|
|
112
120
|
}) => {
|
|
113
121
|
editor.dispatchCommand(INSERT_BLOCK_COMMAND, {
|
|
114
|
-
id: null,
|
|
115
122
|
blockName: '',
|
|
116
123
|
blockType: blockSlug
|
|
117
124
|
});
|
|
@@ -130,13 +137,18 @@ export const BlocksFeatureClient = createClientFeature(({
|
|
|
130
137
|
isActive: undefined,
|
|
131
138
|
key: 'inlineBlock-' + inlineBlockSlug,
|
|
132
139
|
label: ({
|
|
140
|
+
featureClientSchemaMap,
|
|
133
141
|
i18n,
|
|
134
|
-
|
|
142
|
+
schemaPath
|
|
135
143
|
}) => {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
const
|
|
144
|
+
if (!featureClientSchemaMap) {
|
|
145
|
+
return inlineBlockSlug;
|
|
146
|
+
}
|
|
147
|
+
const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${inlineBlockSlug}`;
|
|
148
|
+
const clientSchemaMap = featureClientSchemaMap['blocks'];
|
|
149
|
+
const blocksField = clientSchemaMap[componentMapRenderedBlockPath][0];
|
|
150
|
+
const clientBlock = blocksField.blocks[0];
|
|
151
|
+
const blockDisplayName = clientBlock?.labels?.singular ? getTranslation(clientBlock.labels.singular, i18n) : clientBlock?.slug;
|
|
140
152
|
return blockDisplayName;
|
|
141
153
|
},
|
|
142
154
|
onSelect: ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","BlockIcon","InlineBlocksIcon","createClientFeature","BlockNode","InlineBlockNode","INSERT_BLOCK_COMMAND","OPEN_INLINE_BLOCK_DRAWER_COMMAND","BlocksPlugin","BlocksFeatureClient","props","nodes","plugins","Component","position","sanitizedClientFeatureProps","slashMenu","groups","clientBlockSlugs","length","items","map","blockSlug","Icon","key","keywords","label","i18n","richTextComponentMap","componentMapRenderedBlockPath","blocksField","get","clientBlock","blocks","find","_block","slug","blockDisplayName","labels","singular","onSelect","editor","dispatchCommand","id","blockName","blockType","t","clientInlineBlockSlugs","inlineBlockSlug","fields","filter","Boolean","toolbarFixed","type","ChildComponent","index","isActive","undefined","order"],"sources":["../../../../src/features/blocks/client/index.tsx"],"sourcesContent":["'use client'\n\nimport type { BlockFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { SlashMenuItem } from '../../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nimport type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nimport { BlockIcon } from '../../../lexical/ui/icons/Block/index.js'\nimport { InlineBlocksIcon } from '../../../lexical/ui/icons/InlineBlocks/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { BlockNode } from './nodes/BlocksNode.js'\nimport { InlineBlockNode } from './nodes/InlineBlocksNode.js'\nimport { INSERT_BLOCK_COMMAND, OPEN_INLINE_BLOCK_DRAWER_COMMAND } from './plugin/commands.js'\nimport { BlocksPlugin } from './plugin/index.js'\n\nexport type BlocksFeatureClientProps = {\n clientBlockSlugs: string[]\n clientInlineBlockSlugs: string[]\n}\n\nexport const BlocksFeatureClient = createClientFeature<BlocksFeatureClientProps>(({ props }) => ({\n nodes: [BlockNode, InlineBlockNode],\n plugins: [\n {\n Component: BlocksPlugin,\n position: 'normal',\n },\n ],\n sanitizedClientFeatureProps: props,\n slashMenu: {\n groups: [\n props.clientBlockSlugs?.length\n ? {\n items: props.clientBlockSlugs.map((blockSlug) => {\n return {\n Icon: BlockIcon,\n key: 'block-' + blockSlug,\n keywords: ['block', 'blocks', blockSlug],\n label: ({ i18n, richTextComponentMap }) => {\n const componentMapRenderedBlockPath = `lexical_internal_feature.blocks.fields.lexical_blocks`\n const blocksField: BlockFieldClient = richTextComponentMap.get(\n componentMapRenderedBlockPath,\n )[0]\n\n const clientBlock = blocksField.blocks.find((_block) => _block.slug === blockSlug)\n\n const blockDisplayName = clientBlock.labels.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n id: null,\n blockName: '',\n blockType: blockSlug,\n })\n },\n } as SlashMenuItem\n }),\n key: 'blocks',\n label: ({ i18n }) => {\n return i18n.t('lexical:blocks:label')\n },\n }\n : null,\n props.clientInlineBlockSlugs?.length\n ? {\n items: props.clientInlineBlockSlugs.map((inlineBlockSlug) => {\n return {\n Icon: InlineBlocksIcon,\n key: 'inlineBlocks-' + inlineBlockSlug,\n keywords: ['inlineBlock', 'inline block', inlineBlockSlug],\n label: ({ i18n, richTextComponentMap }) => {\n const componentMapRenderedBlockPath = `lexical_internal_feature.blocks.fields.lexical_inline_blocks`\n\n const blocksField: BlockFieldClient = richTextComponentMap.get(\n componentMapRenderedBlockPath,\n )[0]\n\n const clientBlock = blocksField.blocks.find(\n (_block) => _block.slug === inlineBlockSlug,\n )\n\n const blockDisplayName = clientBlock.labels.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_INLINE_BLOCK_DRAWER_COMMAND, {\n fields: {\n id: null,\n blockName: '',\n blockType: inlineBlockSlug,\n },\n })\n },\n } as SlashMenuItem\n }),\n key: 'inlineBlocks',\n label: ({ i18n }) => {\n return i18n.t('lexical:blocks:inlineBlocks:label')\n },\n }\n : null,\n ].filter(Boolean),\n },\n toolbarFixed: {\n groups: [\n props.clientBlockSlugs?.length\n ? {\n type: 'dropdown',\n ChildComponent: BlockIcon,\n items: props.clientBlockSlugs.map((blockSlug, index) => {\n return {\n ChildComponent: BlockIcon,\n isActive: undefined, // At this point, we would be inside a sub-richtext-editor. And at this point this will be run against the focused sub-editor, not the parent editor which has the actual block. Thus, no point in running this\n key: 'block-' + blockSlug,\n label: ({ i18n, richTextComponentMap }) => {\n const componentMapRenderedBlockPath = `lexical_internal_feature.blocks.fields.lexical_blocks`\n const blocksField: BlockFieldClient = richTextComponentMap.get(\n componentMapRenderedBlockPath,\n )[0]\n\n const clientBlock = blocksField.blocks.find((_block) => _block.slug === blockSlug)\n\n const blockDisplayName = clientBlock.labels.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n id: null,\n blockName: '',\n blockType: blockSlug,\n })\n },\n order: index,\n } as ToolbarGroupItem\n }),\n key: 'blocks',\n order: 20,\n }\n : null,\n props.clientInlineBlockSlugs?.length\n ? {\n type: 'dropdown',\n ChildComponent: InlineBlocksIcon,\n items: props.clientInlineBlockSlugs.map((inlineBlockSlug, index) => {\n return {\n ChildComponent: InlineBlocksIcon,\n isActive: undefined,\n key: 'inlineBlock-' + inlineBlockSlug,\n label: ({ i18n, richTextComponentMap }) => {\n const componentMapRenderedBlockPath = `lexical_internal_feature.blocks.fields.lexical_inline_blocks`\n const blocksField: BlockFieldClient = richTextComponentMap.get(\n componentMapRenderedBlockPath,\n )[0]\n\n const clientBlock = blocksField.blocks.find(\n (_block) => _block.slug === inlineBlockSlug,\n )\n\n const blockDisplayName = clientBlock.labels.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_INLINE_BLOCK_DRAWER_COMMAND, {\n fields: {\n blockType: inlineBlockSlug,\n },\n })\n },\n order: index,\n } as ToolbarGroupItem\n }),\n key: 'inlineBlocks',\n order: 25,\n }\n : null,\n ].filter(Boolean) as ToolbarGroup[],\n },\n}))\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","BlockIcon","InlineBlocksIcon","createClientFeature","BlockNode","InlineBlockNode","INSERT_BLOCK_COMMAND","OPEN_INLINE_BLOCK_DRAWER_COMMAND","BlocksPlugin","BlocksFeatureClient","props","nodes","plugins","Component","position","sanitizedClientFeatureProps","slashMenu","groups","clientBlockSlugs","length","items","map","blockSlug","Icon","key","keywords","label","featureClientSchemaMap","i18n","schemaPath","componentMapRenderedBlockPath","clientSchemaMap","blocksField","clientBlock","blocks","blockDisplayName","labels","singular","slug","onSelect","editor","dispatchCommand","blockName","blockType","t","clientInlineBlockSlugs","inlineBlockSlug","fields","filter","Boolean","toolbarFixed","type","ChildComponent","index","isActive","undefined","order"],"sources":["../../../../src/features/blocks/client/index.tsx"],"sourcesContent":["'use client'\n\nimport type { BlocksFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { SlashMenuItem } from '../../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nimport type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nimport { BlockIcon } from '../../../lexical/ui/icons/Block/index.js'\nimport { InlineBlocksIcon } from '../../../lexical/ui/icons/InlineBlocks/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { BlockNode } from './nodes/BlocksNode.js'\nimport { InlineBlockNode } from './nodes/InlineBlocksNode.js'\nimport { INSERT_BLOCK_COMMAND, OPEN_INLINE_BLOCK_DRAWER_COMMAND } from './plugin/commands.js'\nimport { BlocksPlugin } from './plugin/index.js'\n\nexport type BlocksFeatureClientProps = {\n clientBlockSlugs: string[]\n clientInlineBlockSlugs: string[]\n}\n// @ts-expect-error - TODO: fix this\nexport const BlocksFeatureClient = createClientFeature<BlocksFeatureClientProps>(({ props }) => ({\n nodes: [BlockNode, InlineBlockNode],\n plugins: [\n {\n Component: BlocksPlugin,\n position: 'normal',\n },\n ],\n sanitizedClientFeatureProps: props,\n slashMenu: {\n groups: [\n props.clientBlockSlugs?.length\n ? {\n items: props.clientBlockSlugs.map((blockSlug) => {\n return {\n Icon: BlockIcon,\n key: 'block-' + blockSlug,\n keywords: ['block', 'blocks', blockSlug],\n label: ({ featureClientSchemaMap, i18n, schemaPath }) => {\n if (!featureClientSchemaMap) {\n return blockSlug\n }\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.${blockSlug}`\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient = clientSchemaMap[\n componentMapRenderedBlockPath\n ][0] as BlocksFieldClient\n\n const clientBlock = blocksField.blocks[0]\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n blockName: '',\n blockType: blockSlug,\n })\n },\n } as SlashMenuItem\n }),\n key: 'blocks',\n label: ({ i18n }) => {\n return i18n.t('lexical:blocks:label')\n },\n }\n : null,\n props.clientInlineBlockSlugs?.length\n ? {\n items: props.clientInlineBlockSlugs.map((inlineBlockSlug) => {\n return {\n Icon: InlineBlocksIcon,\n key: 'inlineBlocks-' + inlineBlockSlug,\n keywords: ['inlineBlock', 'inline block', inlineBlockSlug],\n label: ({ featureClientSchemaMap, i18n, schemaPath }) => {\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${inlineBlockSlug}`\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient = clientSchemaMap[\n componentMapRenderedBlockPath\n ][0] as BlocksFieldClient\n\n const clientBlock = blocksField.blocks[0]\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_INLINE_BLOCK_DRAWER_COMMAND, {\n fields: {\n blockName: '',\n blockType: inlineBlockSlug,\n },\n })\n },\n } as SlashMenuItem\n }),\n key: 'inlineBlocks',\n label: ({ i18n }) => {\n return i18n.t('lexical:blocks:inlineBlocks:label')\n },\n }\n : null,\n ].filter(Boolean),\n },\n toolbarFixed: {\n groups: [\n props.clientBlockSlugs?.length\n ? {\n type: 'dropdown',\n ChildComponent: BlockIcon,\n items: props.clientBlockSlugs.map((blockSlug, index) => {\n return {\n ChildComponent: BlockIcon,\n isActive: undefined, // At this point, we would be inside a sub-richtext-editor. And at this point this will be run against the focused sub-editor, not the parent editor which has the actual block. Thus, no point in running this\n key: 'block-' + blockSlug,\n label: ({ featureClientSchemaMap, i18n, schemaPath }) => {\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.${blockSlug}`\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient = clientSchemaMap[\n componentMapRenderedBlockPath\n ][0] as BlocksFieldClient\n\n const clientBlock = blocksField.blocks[0]\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n blockName: '',\n blockType: blockSlug,\n })\n },\n order: index,\n } as ToolbarGroupItem\n }),\n key: 'blocks',\n order: 20,\n }\n : null,\n props.clientInlineBlockSlugs?.length\n ? {\n type: 'dropdown',\n ChildComponent: InlineBlocksIcon,\n items: props.clientInlineBlockSlugs.map((inlineBlockSlug, index) => {\n return {\n ChildComponent: InlineBlocksIcon,\n isActive: undefined,\n key: 'inlineBlock-' + inlineBlockSlug,\n label: ({ featureClientSchemaMap, i18n, schemaPath }) => {\n if (!featureClientSchemaMap) {\n return inlineBlockSlug\n }\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${inlineBlockSlug}`\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient = clientSchemaMap[\n componentMapRenderedBlockPath\n ][0] as BlocksFieldClient\n\n const clientBlock = blocksField.blocks[0]\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_INLINE_BLOCK_DRAWER_COMMAND, {\n fields: {\n blockType: inlineBlockSlug,\n },\n })\n },\n order: index,\n } as ToolbarGroupItem\n }),\n key: 'inlineBlocks',\n order: 25,\n }\n : null,\n ].filter(Boolean) as ToolbarGroup[],\n },\n}))\n"],"mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ;AAK/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,oBAAoB,EAAEC,gCAAgC,QAAQ;AACvE,SAASC,YAAY,QAAQ;AAM7B;AACA,OAAO,MAAMC,mBAAA,GAAsBN,mBAAA,CAA8C,CAAC;EAAEO;AAAK,CAAE,MAAM;EAC/FC,KAAA,EAAO,CAACP,SAAA,EAAWC,eAAA,CAAgB;EACnCO,OAAA,EAAS,CACP;IACEC,SAAA,EAAWL,YAAA;IACXM,QAAA,EAAU;EACZ,EACD;EACDC,2BAAA,EAA6BL,KAAA;EAC7BM,SAAA,EAAW;IACTC,MAAA,EAAQ,CACNP,KAAA,CAAMQ,gBAAgB,EAAEC,MAAA,GACpB;MACEC,KAAA,EAAOV,KAAA,CAAMQ,gBAAgB,CAACG,GAAG,CAAEC,SAAA;QACjC,OAAO;UACLC,IAAA,EAAMtB,SAAA;UACNuB,GAAA,EAAK,WAAWF,SAAA;UAChBG,QAAA,EAAU,CAAC,SAAS,UAAUH,SAAA,CAAU;UACxCI,KAAA,EAAOA,CAAC;YAAEC,sBAAsB;YAAEC,IAAI;YAAEC;UAAU,CAAE;YAClD,IAAI,CAACF,sBAAA,EAAwB;cAC3B,OAAOL,SAAA;YACT;YAEA,MAAMQ,6BAAA,GAAgC,GAAGD,UAAA,mDAA6DP,SAAA,EAAW;YACjH,MAAMS,eAAA,GAAkBJ,sBAAsB,CAAC,SAAS;YAExD,MAAMK,WAAA,GAAiCD,eAAe,CACpDD,6BAAA,CACD,CAAC,EAAE;YAEJ,MAAMG,WAAA,GAAcD,WAAA,CAAYE,MAAM,CAAC,EAAE;YAEzC,MAAMC,gBAAA,GAAmBF,WAAA,EAAaG,MAAA,EAAQC,QAAA,GAC1CrC,cAAA,CAAeiC,WAAA,CAAYG,MAAM,CAACC,QAAQ,EAAET,IAAA,IAC5CK,WAAA,EAAaK,IAAA;YAEjB,OAAOH,gBAAA;UACT;UACAI,QAAA,EAAUA,CAAC;YAAEC;UAAM,CAAE;YACnBA,MAAA,CAAOC,eAAe,CAACnC,oBAAA,EAAsB;cAC3CoC,SAAA,EAAW;cACXC,SAAA,EAAWrB;YACb;UACF;QACF;MACF;MACAE,GAAA,EAAK;MACLE,KAAA,EAAOA,CAAC;QAAEE;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKgB,CAAC,CAAC;MAChB;IACF,IACA,MACJlC,KAAA,CAAMmC,sBAAsB,EAAE1B,MAAA,GAC1B;MACEC,KAAA,EAAOV,KAAA,CAAMmC,sBAAsB,CAACxB,GAAG,CAAEyB,eAAA;QACvC,OAAO;UACLvB,IAAA,EAAMrB,gBAAA;UACNsB,GAAA,EAAK,kBAAkBsB,eAAA;UACvBrB,QAAA,EAAU,CAAC,eAAe,gBAAgBqB,eAAA,CAAgB;UAC1DpB,KAAA,EAAOA,CAAC;YAAEC,sBAAsB;YAAEC,IAAI;YAAEC;UAAU,CAAE;YAClD,MAAMC,6BAAA,GAAgC,GAAGD,UAAA,0DAAoEiB,eAAA,EAAiB;YAC9H,MAAMf,eAAA,GAAkBJ,sBAAsB,CAAC,SAAS;YAExD,MAAMK,WAAA,GAAiCD,eAAe,CACpDD,6BAAA,CACD,CAAC,EAAE;YAEJ,MAAMG,WAAA,GAAcD,WAAA,CAAYE,MAAM,CAAC,EAAE;YAEzC,MAAMC,gBAAA,GAAmBF,WAAA,EAAaG,MAAA,EAAQC,QAAA,GAC1CrC,cAAA,CAAeiC,WAAA,CAAYG,MAAM,CAACC,QAAQ,EAAET,IAAA,IAC5CK,WAAA,EAAaK,IAAA;YAEjB,OAAOH,gBAAA;UACT;UACAI,QAAA,EAAUA,CAAC;YAAEC;UAAM,CAAE;YACnBA,MAAA,CAAOC,eAAe,CAAClC,gCAAA,EAAkC;cACvDwC,MAAA,EAAQ;gBACNL,SAAA,EAAW;gBACXC,SAAA,EAAWG;cACb;YACF;UACF;QACF;MACF;MACAtB,GAAA,EAAK;MACLE,KAAA,EAAOA,CAAC;QAAEE;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKgB,CAAC,CAAC;MAChB;IACF,IACA,KACL,CAACI,MAAM,CAACC,OAAA;EACX;EACAC,YAAA,EAAc;IACZjC,MAAA,EAAQ,CACNP,KAAA,CAAMQ,gBAAgB,EAAEC,MAAA,GACpB;MACEgC,IAAA,EAAM;MACNC,cAAA,EAAgBnD,SAAA;MAChBmB,KAAA,EAAOV,KAAA,CAAMQ,gBAAgB,CAACG,GAAG,CAAC,CAACC,SAAA,EAAW+B,KAAA;QAC5C,OAAO;UACLD,cAAA,EAAgBnD,SAAA;UAChBqD,QAAA,EAAUC,SAAA;UACV/B,GAAA,EAAK,WAAWF,SAAA;UAChBI,KAAA,EAAOA,CAAC;YAAEC,sBAAsB;YAAEC,IAAI;YAAEC;UAAU,CAAE;YAClD,MAAMC,6BAAA,GAAgC,GAAGD,UAAA,mDAA6DP,SAAA,EAAW;YACjH,MAAMS,eAAA,GAAkBJ,sBAAsB,CAAC,SAAS;YAExD,MAAMK,WAAA,GAAiCD,eAAe,CACpDD,6BAAA,CACD,CAAC,EAAE;YAEJ,MAAMG,WAAA,GAAcD,WAAA,CAAYE,MAAM,CAAC,EAAE;YAEzC,MAAMC,gBAAA,GAAmBF,WAAA,EAAaG,MAAA,EAAQC,QAAA,GAC1CrC,cAAA,CAAeiC,WAAA,CAAYG,MAAM,CAACC,QAAQ,EAAET,IAAA,IAC5CK,WAAA,EAAaK,IAAA;YAEjB,OAAOH,gBAAA;UACT;UACAI,QAAA,EAAUA,CAAC;YAAEC;UAAM,CAAE;YACnBA,MAAA,CAAOC,eAAe,CAACnC,oBAAA,EAAsB;cAC3CoC,SAAA,EAAW;cACXC,SAAA,EAAWrB;YACb;UACF;UACAkC,KAAA,EAAOH;QACT;MACF;MACA7B,GAAA,EAAK;MACLgC,KAAA,EAAO;IACT,IACA,MACJ9C,KAAA,CAAMmC,sBAAsB,EAAE1B,MAAA,GAC1B;MACEgC,IAAA,EAAM;MACNC,cAAA,EAAgBlD,gBAAA;MAChBkB,KAAA,EAAOV,KAAA,CAAMmC,sBAAsB,CAACxB,GAAG,CAAC,CAACyB,eAAA,EAAiBO,KAAA;QACxD,OAAO;UACLD,cAAA,EAAgBlD,gBAAA;UAChBoD,QAAA,EAAUC,SAAA;UACV/B,GAAA,EAAK,iBAAiBsB,eAAA;UACtBpB,KAAA,EAAOA,CAAC;YAAEC,sBAAsB;YAAEC,IAAI;YAAEC;UAAU,CAAE;YAClD,IAAI,CAACF,sBAAA,EAAwB;cAC3B,OAAOmB,eAAA;YACT;YAEA,MAAMhB,6BAAA,GAAgC,GAAGD,UAAA,0DAAoEiB,eAAA,EAAiB;YAC9H,MAAMf,eAAA,GAAkBJ,sBAAsB,CAAC,SAAS;YAExD,MAAMK,WAAA,GAAiCD,eAAe,CACpDD,6BAAA,CACD,CAAC,EAAE;YAEJ,MAAMG,WAAA,GAAcD,WAAA,CAAYE,MAAM,CAAC,EAAE;YAEzC,MAAMC,gBAAA,GAAmBF,WAAA,EAAaG,MAAA,EAAQC,QAAA,GAC1CrC,cAAA,CAAeiC,WAAA,CAAYG,MAAM,CAACC,QAAQ,EAAET,IAAA,IAC5CK,WAAA,EAAaK,IAAA;YAEjB,OAAOH,gBAAA;UACT;UACAI,QAAA,EAAUA,CAAC;YAAEC;UAAM,CAAE;YACnBA,MAAA,CAAOC,eAAe,CAAClC,gCAAA,EAAkC;cACvDwC,MAAA,EAAQ;gBACNJ,SAAA,EAAWG;cACb;YACF;UACF;UACAU,KAAA,EAAOH;QACT;MACF;MACA7B,GAAA,EAAK;MACLgC,KAAA,EAAO;IACT,IACA,KACL,CAACR,MAAM,CAACC,OAAA;EACX;AACF","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EditorConfig, LexicalEditor, LexicalNode } from 'lexical';
|
|
2
2
|
import { type JSX } from 'react';
|
|
3
|
-
import type {
|
|
3
|
+
import type { BlockFieldsOptionalID, SerializedBlockNode } from '../../server/nodes/BlocksNode.js';
|
|
4
4
|
import { ServerBlockNode } from '../../server/nodes/BlocksNode.js';
|
|
5
5
|
export declare class BlockNode extends ServerBlockNode {
|
|
6
6
|
static clone(node: ServerBlockNode): ServerBlockNode;
|
|
@@ -9,6 +9,6 @@ export declare class BlockNode extends ServerBlockNode {
|
|
|
9
9
|
decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element;
|
|
10
10
|
exportJSON(): SerializedBlockNode;
|
|
11
11
|
}
|
|
12
|
-
export declare function $createBlockNode(fields:
|
|
12
|
+
export declare function $createBlockNode(fields: BlockFieldsOptionalID): BlockNode;
|
|
13
13
|
export declare function $isBlockNode(node: BlockNode | LexicalNode | null | undefined): node is BlockNode;
|
|
14
14
|
//# sourceMappingURL=BlocksNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlocksNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/nodes/BlocksNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAGvE,OAAc,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"BlocksNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/nodes/BlocksNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAGvE,OAAc,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAEV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAQlE,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe;IAIpD,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IAgBjE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO;IAIlE,UAAU,IAAI,mBAAmB;CAGlC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAOzE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,SAAS,CAEhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlocksNode.js","names":["ObjectID","React","ServerBlockNode","BlockComponent","lazy","then","module","default","BlockNode","clone","node","getType","importJSON","serializedNode","version","fields","data","$createBlockNode","setFormat","format","decorate","editor","config","_jsx","formData","getFields","nodeKey","getKey","exportJSON","id","toHexString","$isBlockNode"],"sources":["../../../../../src/features/blocks/client/nodes/BlocksNode.tsx"],"sourcesContent":["'use client'\nimport type { EditorConfig, LexicalEditor, LexicalNode } from 'lexical'\n\nimport ObjectID from 'bson-objectid'\nimport React, { type JSX } from 'react'\n\nimport type {
|
|
1
|
+
{"version":3,"file":"BlocksNode.js","names":["ObjectID","React","ServerBlockNode","BlockComponent","lazy","then","module","default","BlockNode","clone","node","getType","importJSON","serializedNode","version","fields","data","$createBlockNode","setFormat","format","decorate","editor","config","_jsx","formData","getFields","nodeKey","getKey","exportJSON","id","toHexString","$isBlockNode"],"sources":["../../../../../src/features/blocks/client/nodes/BlocksNode.tsx"],"sourcesContent":["'use client'\nimport type { EditorConfig, LexicalEditor, LexicalNode } from 'lexical'\n\nimport ObjectID from 'bson-objectid'\nimport React, { type JSX } from 'react'\n\nimport type {\n BlockFields,\n BlockFieldsOptionalID,\n SerializedBlockNode,\n} from '../../server/nodes/BlocksNode.js'\n\nimport { ServerBlockNode } from '../../server/nodes/BlocksNode.js'\n\nconst BlockComponent = React.lazy(() =>\n import('../component/index.js').then((module) => ({\n default: module.BlockComponent,\n })),\n)\n\nexport class BlockNode extends ServerBlockNode {\n static clone(node: ServerBlockNode): ServerBlockNode {\n return super.clone(node)\n }\n\n static getType(): string {\n return super.getType()\n }\n\n static importJSON(serializedNode: SerializedBlockNode): BlockNode {\n if (serializedNode.version === 1) {\n // Convert (version 1 had the fields wrapped in another, unnecessary data property)\n serializedNode = {\n ...serializedNode,\n fields: {\n ...(serializedNode as any).fields.data,\n },\n version: 2,\n }\n }\n const node = $createBlockNode(serializedNode.fields)\n node.setFormat(serializedNode.format)\n return node\n }\n\n decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element {\n return <BlockComponent formData={this.getFields()} nodeKey={this.getKey()} />\n }\n\n exportJSON(): SerializedBlockNode {\n return super.exportJSON()\n }\n}\n\nexport function $createBlockNode(fields: BlockFieldsOptionalID): BlockNode {\n return new BlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n })\n}\n\nexport function $isBlockNode(node: BlockNode | LexicalNode | null | undefined): node is BlockNode {\n return node instanceof BlockNode\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,QAAA,MAAc;AACrB,OAAOC,KAAA,MAAyB;AAQhC,SAASC,eAAe,QAAQ;AAEhC,MAAMC,cAAA,gBAAiBF,KAAA,CAAMG,IAAI,CAAC,MAChC,MAAM,CAAC,yBAAyBC,IAAI,CAAEC,MAAA,KAAY;EAChDC,OAAA,EAASD,MAAA,CAAOH;AAClB;AAGF,OAAO,MAAMK,SAAA,SAAkBN,eAAA;EAC7B,OAAOO,MAAMC,IAAqB,EAAmB;IACnD,OAAO,KAAK,CAACD,KAAA,CAAMC,IAAA;EACrB;EAEA,OAAOC,QAAA,EAAkB;IACvB,OAAO,KAAK,CAACA,OAAA;EACf;EAEA,OAAOC,WAAWC,cAAmC,EAAa;IAChE,IAAIA,cAAA,CAAeC,OAAO,KAAK,GAAG;MAChC;MACAD,cAAA,GAAiB;QACf,GAAGA,cAAc;QACjBE,MAAA,EAAQ;UACN,GAAGF,cAAC,CAAuBE,MAAM,CAACC;QACpC;QACAF,OAAA,EAAS;MACX;IACF;IACA,MAAMJ,IAAA,GAAOO,gBAAA,CAAiBJ,cAAA,CAAeE,MAAM;IACnDL,IAAA,CAAKQ,SAAS,CAACL,cAAA,CAAeM,MAAM;IACpC,OAAOT,IAAA;EACT;EAEAU,SAASC,MAAqB,EAAEC,MAAoB,EAAe;IACjE,oBAAOC,IAAA,CAACpB,cAAA;MAAeqB,QAAA,EAAU,IAAI,CAACC,SAAS;MAAIC,OAAA,EAAS,IAAI,CAACC,MAAM;;EACzE;EAEAC,WAAA,EAAkC;IAChC,OAAO,KAAK,CAACA,UAAA;EACf;AACF;AAEA,OAAO,SAASX,iBAAiBF,MAA6B;EAC5D,OAAO,IAAIP,SAAA,CAAU;IACnBO,MAAA,EAAQ;MACN,GAAGA,MAAM;MACTc,EAAA,EAAId,MAAA,EAAQc,EAAA,IAAM,IAAI7B,QAAA,CAASO,OAAO,GAAGuB,WAAW;IACtD;EACF;AACF;AAEA,OAAO,SAASC,aAAarB,IAAgD;EAC3E,OAAOA,IAAA,YAAgBF,SAAA;AACzB","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PluginComponent } from '../../../typesClient.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { BlockFieldsOptionalID } from '../../server/nodes/BlocksNode.js';
|
|
3
3
|
import type { BlocksFeatureClientProps } from '../index.js';
|
|
4
|
-
export type InsertBlockPayload =
|
|
4
|
+
export type InsertBlockPayload = BlockFieldsOptionalID;
|
|
5
5
|
export declare const BlocksPlugin: PluginComponent<BlocksFeatureClientProps>;
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/plugin/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/plugin/index.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAe,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC1F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAa3D,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAA;AAEtD,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,wBAAwB,CA8JlE,CAAA"}
|