@payloadcms/richtext-lexical 3.2.3-canary.673b4b5 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/exports/client/{Field-JP7H7AZE.js → Field-KHGUSLMB.js} +2 -2
- package/dist/exports/client/{Field-JP7H7AZE.js.map → Field-KHGUSLMB.js.map} +2 -2
- package/dist/exports/client/{RelationshipComponent-XOQBVKA3.js → RelationshipComponent-F77EQHRG.js} +2 -2
- package/dist/exports/client/bundled.css +1 -1
- package/dist/exports/client/{chunk-H6YVKFZN.js → chunk-4J2ONJMB.js} +2 -2
- package/dist/exports/client/chunk-4J2ONJMB.js.map +7 -0
- package/dist/exports/client/{chunk-XCEM47RI.js → chunk-AXXPUMFU.js} +2 -2
- package/dist/exports/client/{chunk-5PBXL4HT.js → chunk-F26IQ5RE.js} +2 -2
- package/dist/exports/client/{chunk-5PBXL4HT.js.map → chunk-F26IQ5RE.js.map} +1 -1
- package/dist/exports/client/chunk-H3D3IU3G.js +2 -0
- package/dist/exports/client/{chunk-DOK5S7LE.js.map → chunk-H3D3IU3G.js.map} +2 -2
- package/dist/exports/client/{chunk-2CYU43GM.js → chunk-INBEEENE.js} +2 -2
- package/dist/exports/client/{chunk-2CYU43GM.js.map → chunk-INBEEENE.js.map} +1 -1
- package/dist/exports/client/{chunk-ZTAS32RX.js → chunk-PGMIO4IN.js} +2 -2
- package/dist/exports/client/{chunk-2L2Z4JHF.js → chunk-XOABLBHB.js} +2 -2
- package/dist/exports/client/{chunk-2L2Z4JHF.js.map → chunk-XOABLBHB.js.map} +1 -1
- package/dist/exports/client/{component-D6PKVJ2K.js → component-NSAU5Y76.js} +2 -2
- package/dist/exports/client/component-SX36AJXS.js +2 -0
- package/dist/exports/client/{component-ANB7VZLA.js.map → component-SX36AJXS.js.map} +2 -2
- package/dist/exports/client/componentInline-B5YNOX32.js +2 -0
- package/dist/exports/client/index.d.ts +0 -4
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +17 -17
- package/dist/exports/client/index.js.map +4 -4
- package/dist/features/align/server/i18n.d.ts.map +1 -1
- package/dist/features/align/server/i18n.js +0 -6
- package/dist/features/align/server/i18n.js.map +1 -1
- package/dist/features/blockquote/server/i18n.d.ts.map +1 -1
- package/dist/features/blockquote/server/i18n.js +0 -3
- package/dist/features/blockquote/server/i18n.js.map +1 -1
- package/dist/features/blocks/client/component/BlockContent.js +8 -8
- package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
- package/dist/features/blocks/client/component/components/BlockCollapsible.js +5 -5
- package/dist/features/blocks/client/component/components/BlockCollapsible.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.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.map +1 -1
- package/dist/features/blocks/client/index.d.ts.map +1 -1
- package/dist/features/blocks/client/index.js +4 -65
- 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 +1 -1
- package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
- package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts +2 -2
- package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -1
- package/dist/features/blocks/client/nodes/InlineBlocksNode.js +1 -1
- package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
- package/dist/features/blocks/client/plugin/commands.d.ts +1 -12
- package/dist/features/blocks/client/plugin/commands.d.ts.map +1 -1
- package/dist/features/blocks/client/plugin/commands.js +0 -2
- package/dist/features/blocks/client/plugin/commands.js.map +1 -1
- package/dist/features/blocks/client/plugin/index.d.ts +1 -1
- package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
- package/dist/features/blocks/client/plugin/index.js +41 -33
- package/dist/features/blocks/client/plugin/index.js.map +1 -1
- package/dist/features/blocks/server/graphQLPopulationPromise.d.ts +3 -4
- package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -1
- package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
- package/dist/features/blocks/server/i18n.d.ts.map +1 -1
- package/dist/features/blocks/server/i18n.js +33 -144
- package/dist/features/blocks/server/i18n.js.map +1 -1
- package/dist/features/blocks/server/index.d.ts +1 -5
- package/dist/features/blocks/server/index.d.ts.map +1 -1
- package/dist/features/blocks/server/index.js +2 -82
- package/dist/features/blocks/server/index.js.map +1 -1
- package/dist/features/blocks/server/markdownTransformer.js +2 -2
- package/dist/features/blocks/server/markdownTransformer.js.map +1 -1
- package/dist/features/blocks/server/nodes/{BlockNode.d.ts → BlocksNode.d.ts} +2 -2
- package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -0
- package/dist/features/blocks/server/nodes/{BlockNode.js → BlocksNode.js} +1 -1
- package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -0
- package/dist/features/blocks/server/nodes/{InlineBlockNode.d.ts → InlineBlocksNode.d.ts} +1 -1
- package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -0
- package/dist/features/blocks/server/nodes/{InlineBlockNode.js → InlineBlocksNode.js} +1 -1
- package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -0
- package/dist/features/blocks/server/validate.d.ts +3 -4
- package/dist/features/blocks/server/validate.d.ts.map +1 -1
- package/dist/features/blocks/server/validate.js.map +1 -1
- package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +3 -3
- package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
- package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +3 -3
- package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
- package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +6 -6
- package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
- package/dist/features/experimental_table/client/utils/useDebounce.js +3 -3
- package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
- package/dist/features/heading/server/i18n.d.ts.map +1 -1
- package/dist/features/heading/server/i18n.js +0 -3
- package/dist/features/heading/server/i18n.js.map +1 -1
- package/dist/features/horizontalRule/client/component/index.js +19 -18
- package/dist/features/horizontalRule/client/component/index.js.map +1 -1
- package/dist/features/horizontalRule/client/plugin/index.js +13 -12
- package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
- package/dist/features/horizontalRule/server/i18n.d.ts.map +1 -1
- package/dist/features/horizontalRule/server/i18n.js +0 -3
- package/dist/features/horizontalRule/server/i18n.js.map +1 -1
- package/dist/features/indent/client/plugins/index.js +3 -3
- package/dist/features/indent/client/plugins/index.js.map +1 -1
- package/dist/features/indent/server/i18n.d.ts.map +1 -1
- package/dist/features/indent/server/i18n.js +0 -4
- package/dist/features/indent/server/i18n.js.map +1 -1
- package/dist/features/link/client/plugins/autoLink/index.js +3 -3
- package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
- package/dist/features/link/client/plugins/link/index.js +9 -5
- package/dist/features/link/client/plugins/link/index.js.map +1 -1
- package/dist/features/link/server/i18n.d.ts.map +1 -1
- package/dist/features/link/server/i18n.js +0 -4
- package/dist/features/link/server/i18n.js.map +1 -1
- package/dist/features/lists/checklist/server/i18n.d.ts.map +1 -1
- package/dist/features/lists/checklist/server/i18n.js +0 -3
- package/dist/features/lists/checklist/server/i18n.js.map +1 -1
- package/dist/features/lists/orderedList/server/i18n.d.ts.map +1 -1
- package/dist/features/lists/orderedList/server/i18n.js +0 -3
- package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
- package/dist/features/lists/unorderedList/server/i18n.d.ts.map +1 -1
- package/dist/features/lists/unorderedList/server/i18n.js +0 -3
- package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
- package/dist/features/paragraph/server/i18n.d.ts.map +1 -1
- package/dist/features/paragraph/server/i18n.js +0 -4
- package/dist/features/paragraph/server/i18n.js.map +1 -1
- package/dist/features/relationship/client/drawer/index.js +13 -13
- package/dist/features/relationship/client/drawer/index.js.map +1 -1
- package/dist/features/relationship/client/plugins/index.js +23 -19
- package/dist/features/relationship/client/plugins/index.js.map +1 -1
- package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js +19 -18
- package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js.map +1 -1
- package/dist/features/relationship/server/i18n.d.ts.map +1 -1
- package/dist/features/relationship/server/i18n.js +0 -3
- package/dist/features/relationship/server/i18n.js.map +1 -1
- package/dist/features/toolbars/fixed/client/Toolbar/index.js +39 -31
- package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
- package/dist/features/toolbars/inline/client/Toolbar/index.js +31 -23
- package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
- package/dist/features/toolbars/shared/ToolbarButton/index.js +27 -26
- package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
- package/dist/features/toolbars/shared/ToolbarDropdown/index.js +36 -36
- package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
- package/dist/features/typesClient.d.ts +2 -3
- package/dist/features/typesClient.d.ts.map +1 -1
- package/dist/features/typesClient.js.map +1 -1
- package/dist/features/typesServer.d.ts +1 -8
- package/dist/features/typesServer.d.ts.map +1 -1
- package/dist/features/typesServer.js.map +1 -1
- package/dist/features/upload/client/drawer/index.js +3 -3
- package/dist/features/upload/client/drawer/index.js.map +1 -1
- package/dist/features/upload/client/plugin/index.js +6 -3
- package/dist/features/upload/client/plugin/index.js.map +1 -1
- package/dist/features/upload/server/i18n.d.ts.map +1 -1
- package/dist/features/upload/server/i18n.js +0 -3
- package/dist/features/upload/server/i18n.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 +17 -20
- package/dist/field/index.js.map +1 -1
- package/dist/field/rscEntry.js +0 -2
- package/dist/field/rscEntry.js.map +1 -1
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +0 -6
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lexical/LexicalEditor.js +15 -15
- package/dist/lexical/LexicalEditor.js.map +1 -1
- package/dist/lexical/config/client/loader.d.ts +1 -2
- package/dist/lexical/config/client/loader.d.ts.map +1 -1
- package/dist/lexical/config/client/loader.js +0 -2
- package/dist/lexical/config/client/loader.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +17 -17
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +17 -17
- package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
- package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +4 -4
- package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
- package/dist/lexical/plugins/TextPlugin/index.js +3 -3
- package/dist/lexical/plugins/TextPlugin/index.js.map +1 -1
- package/dist/lexical/ui/ContentEditable.js +3 -3
- package/dist/lexical/ui/ContentEditable.js.map +1 -1
- package/dist/nodeTypes.d.ts +2 -2
- package/dist/nodeTypes.d.ts.map +1 -1
- package/dist/nodeTypes.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/createClientFeature.d.ts +0 -1
- package/dist/utilities/createClientFeature.d.ts.map +1 -1
- package/dist/utilities/createClientFeature.js +0 -2
- package/dist/utilities/createClientFeature.js.map +1 -1
- package/dist/utilities/fieldsDrawer/Drawer.js +11 -11
- package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
- package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +10 -10
- package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
- package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +14 -14
- package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
- package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js +11 -11
- package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -1
- package/dist/utilities/generateImportMap.d.ts.map +1 -1
- package/dist/utilities/generateImportMap.js +2 -5
- package/dist/utilities/generateImportMap.js.map +1 -1
- package/dist/utilities/initLexicalFeatures.d.ts +0 -1
- package/dist/utilities/initLexicalFeatures.d.ts.map +1 -1
- package/dist/utilities/initLexicalFeatures.js +1 -18
- package/dist/utilities/initLexicalFeatures.js.map +1 -1
- package/package.json +15 -15
- package/dist/exports/client/chunk-DOK5S7LE.js +0 -2
- package/dist/exports/client/chunk-H6YVKFZN.js.map +0 -7
- package/dist/exports/client/component-ANB7VZLA.js +0 -2
- package/dist/exports/client/componentInline-WMS3WMBA.js +0 -2
- package/dist/features/blocks/WrapperBlockNode.d.ts +0 -1151
- package/dist/features/blocks/WrapperBlockNode.d.ts.map +0 -1
- package/dist/features/blocks/WrapperBlockNode.js +0 -113
- package/dist/features/blocks/WrapperBlockNode.js.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/index.d.ts +0 -23
- package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/index.d.ts.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/index.js +0 -330
- package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/index.js.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.d.ts +0 -22
- package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.d.ts.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.js +0 -169
- package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.js.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockContainer.d.ts +0 -5
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockContainer.d.ts.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockContainer.js +0 -28
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockContainer.js.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockEditButton.d.ts +0 -3
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockEditButton.d.ts.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockEditButton.js +0 -22
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockEditButton.js.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockLabel.d.ts +0 -3
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockLabel.d.ts.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockLabel.js +0 -22
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockLabel.js.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockRemoveButton.d.ts +0 -3
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockRemoveButton.d.ts.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockRemoveButton.js +0 -22
- package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockRemoveButton.js.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/index.d.ts +0 -9
- package/dist/features/blocks/client/plugin/wrapperBlocks/index.d.ts.map +0 -1
- package/dist/features/blocks/client/plugin/wrapperBlocks/index.js +0 -111
- package/dist/features/blocks/client/plugin/wrapperBlocks/index.js.map +0 -1
- package/dist/features/blocks/server/nodes/BlockNode.d.ts.map +0 -1
- package/dist/features/blocks/server/nodes/BlockNode.js.map +0 -1
- package/dist/features/blocks/server/nodes/InlineBlockNode.d.ts.map +0 -1
- package/dist/features/blocks/server/nodes/InlineBlockNode.js.map +0 -1
- /package/dist/exports/client/{RelationshipComponent-XOQBVKA3.js.map → RelationshipComponent-F77EQHRG.js.map} +0 -0
- /package/dist/exports/client/{chunk-XCEM47RI.js.map → chunk-AXXPUMFU.js.map} +0 -0
- /package/dist/exports/client/{chunk-ZTAS32RX.js.map → chunk-PGMIO4IN.js.map} +0 -0
- /package/dist/exports/client/{component-D6PKVJ2K.js.map → component-NSAU5Y76.js.map} +0 -0
- /package/dist/exports/client/{componentInline-WMS3WMBA.js.map → componentInline-B5YNOX32.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WrapperBlockNode.d.ts","sourceRoot":"","sources":["../../../src/features/blocks/WrapperBlockNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,WAAW,IAAI,eAAe,EAC9B,aAAa,EACb,WAAW,EACX,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,OAAO,EAAqC,WAAW,EAAE,MAAM,SAAS,CAAA;AAGxE,MAAM,MAAM,kBAAkB,CAAC,mBAAmB,SAAS,UAAU,GAAG,UAAU,IAAI;IACpF,sBAAsB;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;CACX,GAAG,mBAAmB,CAAA;AAEvB,MAAM,MAAM,0BAA0B,CACpC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,EACvD,YAAY,SAAS,UAAU,GAAG,UAAU,IAC1C,MAAM,CACR;IACE,MAAM,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAA;IACxC,IAAI,EAAE,cAAc,CAAA;CACrB,EACD,qBAAqB,CAAC,CAAC,CAAC,CACzB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,aAAa,CAAA;IACrB,YAAY,EAAE,YAAY,CAAA;IAC1B,IAAI,EAAE,oBAAoB,CAAA;CAC3B,KAAK,WAAW,CAAA;AAEjB,MAAM,MAAM,MAAM,GAAG;IACnB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAAA;CACvC,CAAA;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAyI3C;IACH,uBAAuB,EAAE,CAAC,MAAM,EAAE,kBAAkB;kBAxI1C,kBAAkB;sBA2Bd,KAAK;8BAIG,KAAK;+BAIJ,KAAK;2BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;qBAIxD,eAAe;sBASd,0BAA0B;gCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;qBAeG,kBAAkB;kCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;oBAU9E,IAAI;0BAIE,kBAAkB,GAAG,IAAI;oDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4BuE,CAAA;IACjF,mBAAmB,EAAE,CACnB,IAAI,EAAE,WAAW,GAAG,IAAI;8BAxIG;YAAE,MAAM,EAAE,kBAAkB,CAAC;YAAC,GAAG,CAAC,EAAE,OAAO,CAAA;SAAE;sBAFhE,kBAAkB;0BA2Bd,KAAK;kCAIG,KAAK;mCAIJ,KAAK;+BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;yBAIxD,eAAe;0BASd,0BAA0B;oCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;yBAeG,kBAAkB;sCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;wBAU9E,IAAI;8BAIE,kBAAkB,GAAG,IAAI;wDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA5GA,kBAAkB;0BA2Bd,KAAK;kCAIG,KAAK;mCAIJ,KAAK;+BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;yBAIxD,eAAe;0BASd,0BAA0B;oCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;yBAeG,kBAAkB;sCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;wBAU9E,IAAI;8BAIE,kBAAkB,GAAG,IAAI;wDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA5GA,kBAAkB;0BA2Bd,KAAK;kCAIG,KAAK;mCAIJ,KAAK;+BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;yBAIxD,eAAe;0BASd,0BAA0B;oCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;yBAeG,kBAAkB;sCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;wBAU9E,IAAI;8BAIE,kBAAkB,GAAG,IAAI;wDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA9FQ,MAAM;qBAIJ,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;mCAIzB,0BAA0B;sBAtBlD,kBAAkB;0BA2Bd,KAAK;kCAIG,KAAK;mCAIJ,KAAK;+BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;yBAIxD,eAAe;0BASd,0BAA0B;oCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;yBAeG,kBAAkB;sCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;wBAU9E,IAAI;8BAIE,kBAAkB,GAAG,IAAI;wDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8B6C,SAAS,KAC3D,IAAI;kBA3IC,kBAAkB;sBA2Bd,KAAK;8BAIG,KAAK;+BAIJ,KAAK;2BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;qBAIxD,eAAe;sBASd,0BAA0B;gCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;qBAeG,kBAAkB;kCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;oBAU9E,IAAI;0BAIE,kBAAkB,GAAG,IAAI;oDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BmB,CAAA;IAC7B,gBAAgB;8BA1Ia;YAAE,MAAM,EAAE,kBAAkB,CAAC;YAAC,GAAG,CAAC,EAAE,OAAO,CAAA;SAAE;sBAFhE,kBAAkB;0BA2Bd,KAAK;kCAIG,KAAK;mCAIJ,KAAK;+BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;yBAIxD,eAAe;0BASd,0BAA0B;oCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;yBAeG,kBAAkB;sCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;wBAU9E,IAAI;8BAIE,kBAAkB,GAAG,IAAI;wDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA5GA,kBAAkB;0BA2Bd,KAAK;kCAIG,KAAK;mCAIJ,KAAK;+BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;yBAIxD,eAAe;0BASd,0BAA0B;oCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;yBAeG,kBAAkB;sCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;wBAU9E,IAAI;8BAIE,kBAAkB,GAAG,IAAI;wDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA5GA,kBAAkB;0BA2Bd,KAAK;kCAIG,KAAK;mCAIJ,KAAK;+BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;yBAIxD,eAAe;0BASd,0BAA0B;oCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;yBAeG,kBAAkB;sCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;wBAU9E,IAAI;8BAIE,kBAAkB,GAAG,IAAI;wDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA9FQ,MAAM;qBAIJ,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;mCAIzB,0BAA0B;sBAtBlD,kBAAkB;0BA2Bd,KAAK;kCAIG,KAAK;mCAIJ,KAAK;+BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;yBAIxD,eAAe;0BASd,0BAA0B;oCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;yBAeG,kBAAkB;sCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;wBAU9E,IAAI;8BAIE,kBAAkB,GAAG,IAAI;wDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgC+B;IACzC,wBAAwB;kBA7Id,kBAAkB;sBA2Bd,KAAK;8BAIG,KAAK;+BAIJ,KAAK;2BAIT,YAAY,WAAW,aAAa,GAAG,WAAW;qBAIxD,eAAe;sBASd,0BAA0B;gCAU/B,WAAW,aACP,aAAa,eACX,OAAO,GAAG,MAAM,GAC5B,OAAO;qBAeG,kBAAkB;kCAGL,cAAc,+BAA4B,eAAe,GAAG,IAAI;oBAU9E,IAAI;0BAIE,kBAAkB,GAAG,IAAI;oDASjC,iBAAiB,UACjB,YAAY,GACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCwC;CACnD,CACF;AAID,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC3C,OAAO,mBAAmB,CAC3B,CAAC,0BAA0B,CAAC,CAAA;AAE7B,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAA;AAEhG,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAC/C,OAAO,mBAAmB,CAC3B,CAAC,yBAAyB,CAAC,CAAA"}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import ObjectID from 'bson-objectid';
|
|
2
|
-
import { $isElementNode, $isRangeSelection, ElementNode } from 'lexical';
|
|
3
|
-
import { deepCopyObjectSimple } from 'payload/shared';
|
|
4
|
-
export function getWrapperBlockNode(domMap) {
|
|
5
|
-
class WrapperBlockNode extends ElementNode {
|
|
6
|
-
__fields;
|
|
7
|
-
constructor({
|
|
8
|
-
fields,
|
|
9
|
-
key
|
|
10
|
-
}) {
|
|
11
|
-
super(key);
|
|
12
|
-
this.__fields = fields;
|
|
13
|
-
}
|
|
14
|
-
static clone(node) {
|
|
15
|
-
return new this({
|
|
16
|
-
fields: node.__fields,
|
|
17
|
-
key: node.__key
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
static getType() {
|
|
21
|
-
return 'wrapperBlock';
|
|
22
|
-
}
|
|
23
|
-
static importDOM() {
|
|
24
|
-
return {};
|
|
25
|
-
}
|
|
26
|
-
static importJSON(serializedNode) {
|
|
27
|
-
const node = $createWrapperBlockNode(serializedNode.fields);
|
|
28
|
-
return node;
|
|
29
|
-
}
|
|
30
|
-
canBeEmpty() {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
canInsertTextAfter() {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
canInsertTextBefore() {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
createDOM(_config, _editor) {
|
|
40
|
-
return domMap[this.__fields.blockType]({
|
|
41
|
-
editor: _editor,
|
|
42
|
-
editorConfig: _config,
|
|
43
|
-
node: this
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
exportDOM() {
|
|
47
|
-
const element = document.createElement('span');
|
|
48
|
-
element.classList.add('wrapper-block-container');
|
|
49
|
-
const text = document.createTextNode(this.getTextContent());
|
|
50
|
-
element.append(text);
|
|
51
|
-
return {
|
|
52
|
-
element
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
exportJSON() {
|
|
56
|
-
return {
|
|
57
|
-
...super.exportJSON(),
|
|
58
|
-
type: 'wrapperBlock',
|
|
59
|
-
fields: this.getFields(),
|
|
60
|
-
version: 1
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
extractWithChild(child, selection, destination) {
|
|
64
|
-
if (!$isRangeSelection(selection)) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
const anchorNode = selection.anchor.getNode();
|
|
68
|
-
const focusNode = selection.focus.getNode();
|
|
69
|
-
return this.isParentOf(anchorNode) && this.isParentOf(focusNode) && selection.getTextContent().length > 0;
|
|
70
|
-
}
|
|
71
|
-
getFields() {
|
|
72
|
-
return this.getLatest().__fields;
|
|
73
|
-
}
|
|
74
|
-
insertNewAfter(selection, restoreSelection = true) {
|
|
75
|
-
const element = this.getParentOrThrow().insertNewAfter(selection, restoreSelection);
|
|
76
|
-
if ($isElementNode(element)) {
|
|
77
|
-
const wrapperBlockNode = $createWrapperBlockNode(this.__fields);
|
|
78
|
-
element.append(wrapperBlockNode);
|
|
79
|
-
return wrapperBlockNode;
|
|
80
|
-
}
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
isInline() {
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
setFields(fields) {
|
|
87
|
-
const fieldsCopy = deepCopyObjectSimple(fields);
|
|
88
|
-
const writable = this.getWritable();
|
|
89
|
-
writable.__fields = fieldsCopy;
|
|
90
|
-
}
|
|
91
|
-
updateDOM(prevNode, anchor, config) {
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
function $createWrapperBlockNode(fields) {
|
|
96
|
-
return new WrapperBlockNode({
|
|
97
|
-
fields: {
|
|
98
|
-
...fields,
|
|
99
|
-
id: fields?.id || new ObjectID.default().toHexString()
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
function $isWrapperBlockNode(node) {
|
|
104
|
-
return node instanceof WrapperBlockNode;
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
$createWrapperBlockNode,
|
|
108
|
-
$isWrapperBlockNode,
|
|
109
|
-
WrapperBlockNode,
|
|
110
|
-
WrapperBlockNodeInstance: null
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=WrapperBlockNode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WrapperBlockNode.js","names":["ObjectID","$isElementNode","$isRangeSelection","ElementNode","deepCopyObjectSimple","getWrapperBlockNode","domMap","WrapperBlockNode","__fields","constructor","fields","key","clone","node","__key","getType","importDOM","importJSON","serializedNode","$createWrapperBlockNode","canBeEmpty","canInsertTextAfter","canInsertTextBefore","createDOM","_config","_editor","blockType","editor","editorConfig","exportDOM","element","document","createElement","classList","add","text","createTextNode","getTextContent","append","exportJSON","type","getFields","version","extractWithChild","child","selection","destination","anchorNode","anchor","getNode","focusNode","focus","isParentOf","length","getLatest","insertNewAfter","restoreSelection","getParentOrThrow","wrapperBlockNode","isInline","setFields","fieldsCopy","writable","getWritable","updateDOM","prevNode","config","id","default","toHexString","$isWrapperBlockNode","WrapperBlockNodeInstance"],"sources":["../../../src/features/blocks/WrapperBlockNode.ts"],"sourcesContent":["import type {\n BaseSelection,\n DOMConversionMap,\n DOMExportOutput,\n EditorConfig,\n ElementNode as ElementNodeType,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n RangeSelection,\n SerializedElementNode,\n SerializedLexicalNode,\n Spread,\n} from 'lexical'\nimport type { JsonObject } from 'payload'\n\nimport ObjectID from 'bson-objectid'\nimport { $isElementNode, $isRangeSelection, ElementNode } from 'lexical'\nimport { deepCopyObjectSimple } from 'payload/shared'\n\nexport type WrapperBlockFields<TWrapperBlockFields extends JsonObject = JsonObject> = {\n /** Block form data */\n [key: string]: any\n blockType: string\n id: string\n} & TWrapperBlockFields\n\nexport type SerializedWrapperBlockNode<\n T extends SerializedLexicalNode = SerializedLexicalNode,\n TBlockFields extends JsonObject = JsonObject,\n> = Spread<\n {\n fields: WrapperBlockFields<TBlockFields>\n type: 'wrapperBlock'\n },\n SerializedElementNode<T>\n>\n\nexport type CreateDOMFunction = (args: {\n editor: LexicalEditor\n editorConfig: EditorConfig\n node: WrapperBlockNodeType\n}) => HTMLElement\n\nexport type DOMMap = {\n [blockType: string]: CreateDOMFunction\n}\n\nexport function getWrapperBlockNode(domMap: DOMMap) {\n class WrapperBlockNode extends ElementNode {\n __fields: WrapperBlockFields\n\n constructor({ fields, key }: { fields: WrapperBlockFields; key?: NodeKey }) {\n super(key)\n this.__fields = fields\n }\n\n static clone(node: WrapperBlockNode): WrapperBlockNode {\n return new this({\n fields: node.__fields,\n key: node.__key,\n })\n }\n\n static getType(): string {\n return 'wrapperBlock'\n }\n\n static importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {}\n }\n\n static importJSON(serializedNode: SerializedWrapperBlockNode): WrapperBlockNode {\n const node = $createWrapperBlockNode(serializedNode.fields)\n return node\n }\n\n canBeEmpty(): false {\n return false\n }\n\n canInsertTextAfter(): false {\n return false\n }\n\n canInsertTextBefore(): false {\n return false\n }\n\n createDOM(_config: EditorConfig, _editor: LexicalEditor): HTMLElement {\n return domMap[this.__fields.blockType]({ editor: _editor, editorConfig: _config, node: this })\n }\n\n exportDOM(): DOMExportOutput {\n const element = document.createElement('span')\n element.classList.add('wrapper-block-container')\n\n const text = document.createTextNode(this.getTextContent())\n element.append(text)\n return { element }\n }\n\n exportJSON(): SerializedWrapperBlockNode {\n return {\n ...super.exportJSON(),\n type: 'wrapperBlock',\n fields: this.getFields(),\n version: 1,\n }\n }\n\n extractWithChild(\n child: LexicalNode,\n selection: BaseSelection,\n destination: 'clone' | 'html',\n ): boolean {\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n const anchorNode = selection.anchor.getNode()\n const focusNode = selection.focus.getNode()\n\n return (\n this.isParentOf(anchorNode) &&\n this.isParentOf(focusNode) &&\n selection.getTextContent().length > 0\n )\n }\n\n getFields(): WrapperBlockFields {\n return this.getLatest().__fields\n }\n insertNewAfter(selection: RangeSelection, restoreSelection = true): ElementNodeType | null {\n const element = this.getParentOrThrow().insertNewAfter(selection, restoreSelection)\n if ($isElementNode(element)) {\n const wrapperBlockNode = $createWrapperBlockNode(this.__fields)\n element.append(wrapperBlockNode)\n return wrapperBlockNode\n }\n return null\n }\n\n isInline(): true {\n return true\n }\n\n setFields(fields: WrapperBlockFields): void {\n const fieldsCopy = deepCopyObjectSimple(fields)\n\n const writable = this.getWritable()\n writable.__fields = fieldsCopy\n }\n\n updateDOM(\n prevNode: WrapperBlockNode,\n anchor: HTMLAnchorElement,\n config: EditorConfig,\n ): boolean {\n return true\n }\n }\n\n function $createWrapperBlockNode(fields: Exclude<WrapperBlockFields, 'id'>): WrapperBlockNode {\n return new WrapperBlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n })\n }\n\n function $isWrapperBlockNode(\n node: LexicalNode | null | typeof WrapperBlockNode | undefined,\n ): node is WrapperBlockNode {\n return node instanceof WrapperBlockNode\n }\n\n type WrapperBlockNodeInstance = InstanceType<typeof WrapperBlockNode>\n\n return {\n $createWrapperBlockNode,\n $isWrapperBlockNode,\n WrapperBlockNode,\n WrapperBlockNodeInstance: null as unknown as WrapperBlockNodeInstance,\n } as {\n $createWrapperBlockNode: (fields: WrapperBlockFields) => WrapperBlockNodeInstance\n $isWrapperBlockNode: (\n node: LexicalNode | null | typeof WrapperBlockNode | undefined,\n ) => node is WrapperBlockNode\n WrapperBlockNode: typeof WrapperBlockNode\n WrapperBlockNodeInstance: WrapperBlockNodeInstance\n }\n}\n\n//export type WrapperBlockNodeType = ReturnType<typeof getWrapperBlockNode>['WrapperBlockNode']\n\nexport type WrapperBlockNodeType = ReturnType<\n typeof getWrapperBlockNode\n>['WrapperBlockNodeInstance']\n\nexport type IsWrapperBlockNodeFn = ReturnType<typeof getWrapperBlockNode>['$isWrapperBlockNode']\n\nexport type CreateWrapperBlockNodeFn = ReturnType<\n typeof getWrapperBlockNode\n>['$createWrapperBlockNode']\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { FormState } from 'payload';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import type { WrapperBlockFields, WrapperBlockNodeType } from '../../../../WrapperBlockNode.js';
|
|
4
|
-
import type { AdditionalWrapperBlocksPluginArgs } from '../index.js';
|
|
5
|
-
type WrapperBlockComponentContextType = {
|
|
6
|
-
EditButton?: React.FC;
|
|
7
|
-
formData: ({
|
|
8
|
-
text: string;
|
|
9
|
-
} & WrapperBlockFields) | undefined;
|
|
10
|
-
initialState: false | FormState | undefined;
|
|
11
|
-
Label?: React.FC;
|
|
12
|
-
RemoveButton?: React.FC;
|
|
13
|
-
WrapperBlockContainer?: React.FC<{
|
|
14
|
-
children: React.ReactNode;
|
|
15
|
-
}>;
|
|
16
|
-
wrapperBlockNode?: WrapperBlockNodeType;
|
|
17
|
-
};
|
|
18
|
-
export declare const useWrapperBlockComponentContext: () => WrapperBlockComponentContextType;
|
|
19
|
-
export declare function BlockEditor({ $createWrapperBlockNode, $isWrapperBlockNode, anchorElem, }: {
|
|
20
|
-
anchorElem: HTMLElement;
|
|
21
|
-
} & AdditionalWrapperBlocksPluginArgs): React.ReactNode;
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/blocks/client/plugin/wrapperBlocks/BlockEditor/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkC,SAAS,EAAE,MAAM,SAAS,CAAA;AA2BxE,OAAO,KAA2E,MAAM,OAAO,CAAA;AAG/F,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAC/F,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAA;AAYpE,KAAK,gCAAgC,GAAG;IACtC,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACrB,QAAQ,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,kBAAkB,CAAC,GAAG,SAAS,CAAA;IAC7D,YAAY,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAA;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACvB,qBAAqB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAA;IAC/D,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;CACxC,CAAA;AAOD,eAAO,MAAM,+BAA+B,wCAAuD,CAAA;AAEnG,wBAAgB,WAAW,CAAC,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,GACX,EAAE;IAAE,UAAU,EAAE,WAAW,CAAA;CAAE,GAAG,iCAAiC,GAAG,KAAK,CAAC,SAAS,CAqYnF"}
|
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
4
|
-
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
|
|
5
|
-
import { $findMatchingParent, mergeRegister } from '@lexical/utils';
|
|
6
|
-
import { getTranslation } from '@payloadcms/translations';
|
|
7
|
-
import { CloseMenuIcon, Drawer, EditDepthProvider, EditIcon, Form, formatDrawerSlug, FormSubmit, RenderFields, useEditDepth, useTranslation } from '@payloadcms/ui';
|
|
8
|
-
import { $getSelection, $isLineBreakNode, $isRangeSelection, COMMAND_PRIORITY_HIGH, COMMAND_PRIORITY_LOW, KEY_ESCAPE_COMMAND, SELECTION_CHANGE_COMMAND } from 'lexical';
|
|
9
|
-
import { reduceFieldsToValues } from 'payload/shared';
|
|
10
|
-
import React, { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
11
|
-
import { v4 as uuid } from 'uuid';
|
|
12
|
-
import { useEditorConfigContext } from '../../../../../../lexical/config/client/EditorConfigProvider.js';
|
|
13
|
-
import { getSelectedNode } from '../../../../../../lexical/utils/getSelectedNode.js';
|
|
14
|
-
import { setFloatingElemPositionForLinkEditor } from '../../../../../../lexical/utils/setFloatingElemPositionForLinkEditor.js';
|
|
15
|
-
import { useLexicalDrawer } from '../../../../../../utilities/fieldsDrawer/useLexicalDrawer.js';
|
|
16
|
-
import { INSERT_WRAPPER_BLOCK_COMMAND, TOGGLE_WRAPPER_BLOCK_WITH_MODAL_COMMAND } from '../../commands.js';
|
|
17
|
-
import { useLexicalFormState } from './useLexicalFormState.js';
|
|
18
|
-
const WrapperBlockComponentContext = /*#__PURE__*/createContext({
|
|
19
|
-
formData: undefined,
|
|
20
|
-
initialState: false
|
|
21
|
-
});
|
|
22
|
-
export const useWrapperBlockComponentContext = () => {
|
|
23
|
-
return React.useContext(WrapperBlockComponentContext);
|
|
24
|
-
};
|
|
25
|
-
export function BlockEditor({
|
|
26
|
-
$createWrapperBlockNode,
|
|
27
|
-
$isWrapperBlockNode,
|
|
28
|
-
anchorElem
|
|
29
|
-
}) {
|
|
30
|
-
const [editor] = useLexicalComposerContext();
|
|
31
|
-
const [wrapperBlockNode, setWrapperBlockNode] = useState();
|
|
32
|
-
const editorRef = useRef(null);
|
|
33
|
-
const [wrapperBlockComponent, setWrapperBlockComponent] = useState(null);
|
|
34
|
-
const [wrapperBlockLabelComponent, setWrapperBlockLabelComponent] = useState(null);
|
|
35
|
-
const [clientBlock, setClientBlock] = useState(null);
|
|
36
|
-
const {
|
|
37
|
-
fieldProps: {
|
|
38
|
-
featureClientSchemaMap,
|
|
39
|
-
permissions,
|
|
40
|
-
schemaPath
|
|
41
|
-
},
|
|
42
|
-
uuid: uuidFromContext
|
|
43
|
-
} = useEditorConfigContext();
|
|
44
|
-
const [formData, setFormData] = useState();
|
|
45
|
-
const {
|
|
46
|
-
i18n,
|
|
47
|
-
t
|
|
48
|
-
} = useTranslation();
|
|
49
|
-
const [schemaFieldsPath, setSchemaFieldsPath] = React.useState(null);
|
|
50
|
-
const {
|
|
51
|
-
initialState,
|
|
52
|
-
loadInitialState,
|
|
53
|
-
onFormChange
|
|
54
|
-
} = useLexicalFormState({
|
|
55
|
-
onReceiveRenderedFields: ({
|
|
56
|
-
state
|
|
57
|
-
}) => {
|
|
58
|
-
setWrapperBlockComponent(state['_components']?.customComponents?.Block);
|
|
59
|
-
setWrapperBlockLabelComponent(state['_components']?.customComponents?.BlockLabel);
|
|
60
|
-
},
|
|
61
|
-
schemaFieldsPath
|
|
62
|
-
});
|
|
63
|
-
const editDepth = useEditDepth();
|
|
64
|
-
const [isWrapperBlockNode, setIsWrapperBlockNode] = useState(false);
|
|
65
|
-
const [selectedNodes, setSelectedNodes] = useState([]);
|
|
66
|
-
const drawerSlug = formatDrawerSlug({
|
|
67
|
-
slug: `lexical-rich-text-wrapper-block-` + uuidFromContext,
|
|
68
|
-
depth: editDepth
|
|
69
|
-
});
|
|
70
|
-
const {
|
|
71
|
-
toggleDrawer
|
|
72
|
-
} = useLexicalDrawer(drawerSlug);
|
|
73
|
-
const hideBlockPopup = useCallback(() => {
|
|
74
|
-
if (!isWrapperBlockNode) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
setIsWrapperBlockNode(false);
|
|
78
|
-
if (editorRef && editorRef.current) {
|
|
79
|
-
editorRef.current.style.opacity = '0';
|
|
80
|
-
editorRef.current.style.transform = 'translate(-10000px, -10000px)';
|
|
81
|
-
}
|
|
82
|
-
setWrapperBlockNode(null);
|
|
83
|
-
setWrapperBlockComponent(null);
|
|
84
|
-
setWrapperBlockLabelComponent(null);
|
|
85
|
-
setClientBlock(null);
|
|
86
|
-
setSelectedNodes([]);
|
|
87
|
-
setFormData(undefined);
|
|
88
|
-
setSchemaFieldsPath(null);
|
|
89
|
-
}, [isWrapperBlockNode]);
|
|
90
|
-
const $updateBlockPopup = useCallback(() => {
|
|
91
|
-
const selection = $getSelection();
|
|
92
|
-
let selectedNodeDomRect;
|
|
93
|
-
if (!$isRangeSelection(selection) || !selection) {
|
|
94
|
-
void hideBlockPopup();
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
// Handle the data displayed in the popup & drawer when you click on a wrapper block
|
|
98
|
-
const focusNode = getSelectedNode(selection);
|
|
99
|
-
selectedNodeDomRect = editor.getElementByKey(focusNode.getKey())?.getBoundingClientRect();
|
|
100
|
-
const focusWrapperBlockParent = $findMatchingParent(focusNode, $isWrapperBlockNode);
|
|
101
|
-
// Prevent wrapper block modal from showing if selection spans further than the wrapper block: https://github.com/facebook/lexical/issues/4064
|
|
102
|
-
const badNode = selection.getNodes().filter(node => !$isLineBreakNode(node)).find(node_0 => {
|
|
103
|
-
const wrapperBlockNode_0 = $findMatchingParent(node_0, $isWrapperBlockNode);
|
|
104
|
-
return focusWrapperBlockParent && !focusWrapperBlockParent.is(wrapperBlockNode_0) || wrapperBlockNode_0 && !wrapperBlockNode_0.is(focusWrapperBlockParent);
|
|
105
|
-
});
|
|
106
|
-
if (focusWrapperBlockParent == null || badNode) {
|
|
107
|
-
hideBlockPopup();
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
const editorElem = editorRef.current;
|
|
111
|
-
const nativeSelection = window.getSelection();
|
|
112
|
-
const {
|
|
113
|
-
activeElement
|
|
114
|
-
} = document;
|
|
115
|
-
if (editorElem === null) {
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
const rootElement = editor.getRootElement();
|
|
119
|
-
if (nativeSelection !== null && rootElement !== null && rootElement.contains(nativeSelection.anchorNode)) {
|
|
120
|
-
if (!selectedNodeDomRect) {
|
|
121
|
-
// Get the DOM rect of the selected node using the native selection. This sometimes produces the wrong
|
|
122
|
-
// result, which is why we use lexical's selection preferably.
|
|
123
|
-
selectedNodeDomRect = nativeSelection.getRangeAt(0).getBoundingClientRect();
|
|
124
|
-
}
|
|
125
|
-
if (selectedNodeDomRect != null) {
|
|
126
|
-
selectedNodeDomRect.y += 40;
|
|
127
|
-
setFloatingElemPositionForLinkEditor(selectedNodeDomRect, editorElem, anchorElem);
|
|
128
|
-
const fields = focusWrapperBlockParent.getFields();
|
|
129
|
-
// Initial state:
|
|
130
|
-
const data = {
|
|
131
|
-
...fields,
|
|
132
|
-
text: focusWrapperBlockParent.getTextContent()
|
|
133
|
-
};
|
|
134
|
-
const schemaFieldsPath_ = `${schemaPath}.lexical_internal_feature.blocks.lexical_wrapper_blocks.${data.blockType}.fields`;
|
|
135
|
-
if (schemaFieldsPath_ === schemaFieldsPath && data.id === formData?.id) {
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
setWrapperBlockNode(focusWrapperBlockParent);
|
|
139
|
-
const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_wrapper_blocks.${data.blockType}`;
|
|
140
|
-
setSchemaFieldsPath(schemaFieldsPath_);
|
|
141
|
-
setFormData(data);
|
|
142
|
-
setIsWrapperBlockNode(true);
|
|
143
|
-
setSelectedNodes(selection ? selection?.getNodes() : []);
|
|
144
|
-
const clientSchemaMap = featureClientSchemaMap['blocks'];
|
|
145
|
-
const blocksField = clientSchemaMap[componentMapRenderedBlockPath][0];
|
|
146
|
-
const clientBlock_0 = blocksField.blocks[0];
|
|
147
|
-
setClientBlock(clientBlock_0);
|
|
148
|
-
loadInitialState({
|
|
149
|
-
formData: data,
|
|
150
|
-
schemaFieldsPath: schemaFieldsPath_
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
} else if (activeElement == null || activeElement.className !== 'wraper-block-popup__content') {
|
|
154
|
-
hideBlockPopup();
|
|
155
|
-
}
|
|
156
|
-
return true;
|
|
157
|
-
}, [editor, $isWrapperBlockNode, hideBlockPopup, anchorElem, schemaPath, schemaFieldsPath, formData?.id, featureClientSchemaMap, loadInitialState]);
|
|
158
|
-
useEffect(() => {
|
|
159
|
-
return mergeRegister(editor.registerCommand(TOGGLE_WRAPPER_BLOCK_WITH_MODAL_COMMAND, payload => {
|
|
160
|
-
if (!payload) {
|
|
161
|
-
return false;
|
|
162
|
-
}
|
|
163
|
-
editor.dispatchCommand(INSERT_WRAPPER_BLOCK_COMMAND, payload.fields);
|
|
164
|
-
// Now, open the modal
|
|
165
|
-
$updateBlockPopup();
|
|
166
|
-
toggleDrawer();
|
|
167
|
-
return true;
|
|
168
|
-
}, COMMAND_PRIORITY_LOW));
|
|
169
|
-
}, [editor, $updateBlockPopup, toggleDrawer, drawerSlug]);
|
|
170
|
-
useEffect(() => {
|
|
171
|
-
const scrollerElem = anchorElem.parentElement;
|
|
172
|
-
const update = () => {
|
|
173
|
-
editor.getEditorState().read(() => {
|
|
174
|
-
void $updateBlockPopup();
|
|
175
|
-
});
|
|
176
|
-
};
|
|
177
|
-
window.addEventListener('resize', update);
|
|
178
|
-
if (scrollerElem != null) {
|
|
179
|
-
scrollerElem.addEventListener('scroll', update);
|
|
180
|
-
}
|
|
181
|
-
return () => {
|
|
182
|
-
window.removeEventListener('resize', update);
|
|
183
|
-
if (scrollerElem != null) {
|
|
184
|
-
scrollerElem.removeEventListener('scroll', update);
|
|
185
|
-
}
|
|
186
|
-
};
|
|
187
|
-
}, [anchorElem.parentElement, editor, $updateBlockPopup]);
|
|
188
|
-
useEffect(() => {
|
|
189
|
-
return mergeRegister(editor.registerUpdateListener(({
|
|
190
|
-
editorState
|
|
191
|
-
}) => {
|
|
192
|
-
editorState.read(() => {
|
|
193
|
-
void $updateBlockPopup();
|
|
194
|
-
});
|
|
195
|
-
}), editor.registerCommand(SELECTION_CHANGE_COMMAND, () => {
|
|
196
|
-
void $updateBlockPopup();
|
|
197
|
-
return true;
|
|
198
|
-
}, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_ESCAPE_COMMAND, () => {
|
|
199
|
-
if (isWrapperBlockNode) {
|
|
200
|
-
hideBlockPopup();
|
|
201
|
-
return true;
|
|
202
|
-
}
|
|
203
|
-
return false;
|
|
204
|
-
}, COMMAND_PRIORITY_HIGH));
|
|
205
|
-
}, [editor, $updateBlockPopup, isWrapperBlockNode, hideBlockPopup]);
|
|
206
|
-
/**
|
|
207
|
-
* HANDLE FORM SUBMIT
|
|
208
|
-
*/
|
|
209
|
-
const onFormSubmit = useCallback(formState => {
|
|
210
|
-
const newData = reduceFieldsToValues(formState);
|
|
211
|
-
newData.blockType = formData?.blockType;
|
|
212
|
-
editor.update(() => {
|
|
213
|
-
if (wrapperBlockNode && $isWrapperBlockNode(wrapperBlockNode)) {
|
|
214
|
-
wrapperBlockNode.setFields(newData);
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
}, [formData?.blockType, editor, wrapperBlockNode, $isWrapperBlockNode]);
|
|
218
|
-
const blockDisplayName = clientBlock?.labels?.singular ? getTranslation(clientBlock.labels.singular, i18n) : clientBlock?.slug;
|
|
219
|
-
const EditButton = useMemo(() => () => /*#__PURE__*/_jsx("button", {
|
|
220
|
-
"aria-label": "Edit Wrapper Block",
|
|
221
|
-
className: "wrapper-block-popup__edit",
|
|
222
|
-
onClick: () => {
|
|
223
|
-
toggleDrawer();
|
|
224
|
-
},
|
|
225
|
-
onMouseDown: event => {
|
|
226
|
-
event.preventDefault();
|
|
227
|
-
},
|
|
228
|
-
tabIndex: 0,
|
|
229
|
-
type: "button",
|
|
230
|
-
children: /*#__PURE__*/_jsx(EditIcon, {})
|
|
231
|
-
}), [toggleDrawer]);
|
|
232
|
-
const RemoveButton = useMemo(() => () => /*#__PURE__*/_jsx("button", {
|
|
233
|
-
"aria-label": "Remove Wrapper Block",
|
|
234
|
-
className: "wrapper-block-popup__remove",
|
|
235
|
-
onClick: () => {
|
|
236
|
-
editor.dispatchCommand(INSERT_WRAPPER_BLOCK_COMMAND, null);
|
|
237
|
-
},
|
|
238
|
-
onMouseDown: event_0 => {
|
|
239
|
-
event_0.preventDefault();
|
|
240
|
-
},
|
|
241
|
-
tabIndex: 0,
|
|
242
|
-
type: "button",
|
|
243
|
-
children: /*#__PURE__*/_jsx(CloseMenuIcon, {})
|
|
244
|
-
}), [editor]);
|
|
245
|
-
const Label = useMemo(() => {
|
|
246
|
-
if (wrapperBlockLabelComponent) {
|
|
247
|
-
return () => wrapperBlockLabelComponent;
|
|
248
|
-
} else {
|
|
249
|
-
return () => blockDisplayName;
|
|
250
|
-
}
|
|
251
|
-
}, [blockDisplayName, wrapperBlockLabelComponent]);
|
|
252
|
-
const WrapperBlockContainer = useMemo(() => {
|
|
253
|
-
return ({
|
|
254
|
-
children
|
|
255
|
-
}) => {
|
|
256
|
-
return /*#__PURE__*/_jsx("div", {
|
|
257
|
-
className: "wrapper-block-popup__wrapper",
|
|
258
|
-
children: /*#__PURE__*/_jsx("div", {
|
|
259
|
-
className: "wrapper-block-popup__content",
|
|
260
|
-
children: children
|
|
261
|
-
})
|
|
262
|
-
});
|
|
263
|
-
};
|
|
264
|
-
}, []);
|
|
265
|
-
return /*#__PURE__*/_jsxs(Form, {
|
|
266
|
-
beforeSubmit: [async ({
|
|
267
|
-
formState: formState_0
|
|
268
|
-
}) => {
|
|
269
|
-
// This is only called when form is submitted from drawer
|
|
270
|
-
return await onFormChange({
|
|
271
|
-
formState: formState_0,
|
|
272
|
-
submit: true
|
|
273
|
-
});
|
|
274
|
-
}],
|
|
275
|
-
disableValidationOnSubmit: true,
|
|
276
|
-
fields: clientBlock?.fields ?? [],
|
|
277
|
-
initialState: initialState ?? {},
|
|
278
|
-
onChange: [onFormChange],
|
|
279
|
-
onSubmit: formState_1 => {
|
|
280
|
-
onFormSubmit(formState_1);
|
|
281
|
-
toggleDrawer();
|
|
282
|
-
},
|
|
283
|
-
uuid: uuid(),
|
|
284
|
-
children: [/*#__PURE__*/_jsx("div", {
|
|
285
|
-
className: "wrapper-block-popup",
|
|
286
|
-
ref: editorRef,
|
|
287
|
-
children: wrapperBlockComponent ? /*#__PURE__*/_jsx(WrapperBlockComponentContext.Provider, {
|
|
288
|
-
value: {
|
|
289
|
-
EditButton,
|
|
290
|
-
formData,
|
|
291
|
-
initialState,
|
|
292
|
-
Label,
|
|
293
|
-
RemoveButton,
|
|
294
|
-
WrapperBlockContainer,
|
|
295
|
-
wrapperBlockNode: wrapperBlockNode
|
|
296
|
-
},
|
|
297
|
-
children: wrapperBlockComponent
|
|
298
|
-
}) : /*#__PURE__*/_jsxs(WrapperBlockContainer, {
|
|
299
|
-
children: [/*#__PURE__*/_jsx(Label, {}), editor.isEditable() && /*#__PURE__*/_jsxs(React.Fragment, {
|
|
300
|
-
children: [/*#__PURE__*/_jsx(EditButton, {}), /*#__PURE__*/_jsx(RemoveButton, {})]
|
|
301
|
-
})]
|
|
302
|
-
})
|
|
303
|
-
}), /*#__PURE__*/_jsx(EditDepthProvider, {
|
|
304
|
-
children: /*#__PURE__*/_jsx(Drawer, {
|
|
305
|
-
className: '',
|
|
306
|
-
slug: drawerSlug,
|
|
307
|
-
title: t(`lexical:blocks:inlineBlocks:${formData?.id ? 'edit' : 'create'}`, {
|
|
308
|
-
label: blockDisplayName ?? t('lexical:blocks:inlineBlocks:label')
|
|
309
|
-
}),
|
|
310
|
-
children: initialState && clientBlock && schemaFieldsPath ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
311
|
-
children: [/*#__PURE__*/_jsx(RenderFields, {
|
|
312
|
-
fields: clientBlock.fields,
|
|
313
|
-
forceRender: true,
|
|
314
|
-
parentIndexPath: "",
|
|
315
|
-
parentPath: "" // See Blocks feature path for details as for why this is empty
|
|
316
|
-
,
|
|
317
|
-
|
|
318
|
-
parentSchemaPath: schemaFieldsPath,
|
|
319
|
-
permissions: permissions,
|
|
320
|
-
readOnly: false
|
|
321
|
-
}), /*#__PURE__*/_jsx(FormSubmit, {
|
|
322
|
-
programmaticSubmit: true,
|
|
323
|
-
children: t('fields:saveChanges')
|
|
324
|
-
})]
|
|
325
|
-
}) : null
|
|
326
|
-
})
|
|
327
|
-
})]
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useLexicalComposerContext","$findMatchingParent","mergeRegister","getTranslation","CloseMenuIcon","Drawer","EditDepthProvider","EditIcon","Form","formatDrawerSlug","FormSubmit","RenderFields","useEditDepth","useTranslation","$getSelection","$isLineBreakNode","$isRangeSelection","COMMAND_PRIORITY_HIGH","COMMAND_PRIORITY_LOW","KEY_ESCAPE_COMMAND","SELECTION_CHANGE_COMMAND","reduceFieldsToValues","React","createContext","useCallback","useEffect","useMemo","useRef","useState","v4","uuid","useEditorConfigContext","getSelectedNode","setFloatingElemPositionForLinkEditor","useLexicalDrawer","INSERT_WRAPPER_BLOCK_COMMAND","TOGGLE_WRAPPER_BLOCK_WITH_MODAL_COMMAND","useLexicalFormState","WrapperBlockComponentContext","formData","undefined","initialState","useWrapperBlockComponentContext","useContext","BlockEditor","$createWrapperBlockNode","$isWrapperBlockNode","anchorElem","editor","wrapperBlockNode","setWrapperBlockNode","editorRef","wrapperBlockComponent","setWrapperBlockComponent","wrapperBlockLabelComponent","setWrapperBlockLabelComponent","clientBlock","setClientBlock","fieldProps","featureClientSchemaMap","permissions","schemaPath","uuidFromContext","setFormData","i18n","t","schemaFieldsPath","setSchemaFieldsPath","loadInitialState","onFormChange","onReceiveRenderedFields","state","customComponents","Block","BlockLabel","editDepth","isWrapperBlockNode","setIsWrapperBlockNode","selectedNodes","setSelectedNodes","drawerSlug","slug","depth","toggleDrawer","hideBlockPopup","current","style","opacity","transform","$updateBlockPopup","selection","selectedNodeDomRect","focusNode","getElementByKey","getKey","getBoundingClientRect","focusWrapperBlockParent","badNode","getNodes","filter","node","find","is","editorElem","nativeSelection","window","getSelection","activeElement","document","rootElement","getRootElement","contains","anchorNode","getRangeAt","y","fields","getFields","data","text","getTextContent","schemaFieldsPath_","blockType","id","componentMapRenderedBlockPath","clientSchemaMap","blocksField","blocks","className","registerCommand","payload","dispatchCommand","scrollerElem","parentElement","update","getEditorState","read","addEventListener","removeEventListener","registerUpdateListener","editorState","onFormSubmit","formState","newData","setFields","blockDisplayName","labels","singular","EditButton","_jsx","onClick","onMouseDown","event","preventDefault","tabIndex","type","RemoveButton","Label","WrapperBlockContainer","children","_jsxs","beforeSubmit","submit","disableValidationOnSubmit","onChange","onSubmit","ref","Provider","value","isEditable","Fragment","title","label","_Fragment","forceRender","parentIndexPath","parentPath","parentSchemaPath","readOnly","programmaticSubmit"],"sources":["../../../../../../../src/features/blocks/client/plugin/wrapperBlocks/BlockEditor/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalNode } from 'lexical'\nimport type { BlocksFieldClient, ClientBlock, FormState } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n CloseMenuIcon,\n Drawer,\n EditDepthProvider,\n EditIcon,\n Form,\n formatDrawerSlug,\n FormSubmit,\n RenderFields,\n useEditDepth,\n useTranslation,\n} from '@payloadcms/ui'\nimport {\n $getSelection,\n $isLineBreakNode,\n $isRangeSelection,\n COMMAND_PRIORITY_HIGH,\n COMMAND_PRIORITY_LOW,\n KEY_ESCAPE_COMMAND,\n SELECTION_CHANGE_COMMAND,\n} from 'lexical'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport type { WrapperBlockFields, WrapperBlockNodeType } from '../../../../WrapperBlockNode.js'\nimport type { AdditionalWrapperBlocksPluginArgs } from '../index.js'\n\nimport { useEditorConfigContext } from '../../../../../../lexical/config/client/EditorConfigProvider.js'\nimport { getSelectedNode } from '../../../../../../lexical/utils/getSelectedNode.js'\nimport { setFloatingElemPositionForLinkEditor } from '../../../../../../lexical/utils/setFloatingElemPositionForLinkEditor.js'\nimport { useLexicalDrawer } from '../../../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport {\n INSERT_WRAPPER_BLOCK_COMMAND,\n TOGGLE_WRAPPER_BLOCK_WITH_MODAL_COMMAND,\n} from '../../commands.js'\nimport { useLexicalFormState } from './useLexicalFormState.js'\n\ntype WrapperBlockComponentContextType = {\n EditButton?: React.FC\n formData: ({ text: string } & WrapperBlockFields) | undefined\n initialState: false | FormState | undefined\n Label?: React.FC\n RemoveButton?: React.FC\n WrapperBlockContainer?: React.FC<{ children: React.ReactNode }>\n wrapperBlockNode?: WrapperBlockNodeType\n}\n\nconst WrapperBlockComponentContext = createContext<WrapperBlockComponentContextType>({\n formData: undefined,\n initialState: false,\n})\n\nexport const useWrapperBlockComponentContext = () => React.useContext(WrapperBlockComponentContext)\n\nexport function BlockEditor({\n $createWrapperBlockNode,\n $isWrapperBlockNode,\n anchorElem,\n}: { anchorElem: HTMLElement } & AdditionalWrapperBlocksPluginArgs): React.ReactNode {\n const [editor] = useLexicalComposerContext()\n const [wrapperBlockNode, setWrapperBlockNode] = useState<null | WrapperBlockNodeType>()\n\n const editorRef = useRef<HTMLDivElement | null>(null)\n const [wrapperBlockComponent, setWrapperBlockComponent] = useState<null | React.ReactNode>(null)\n const [wrapperBlockLabelComponent, setWrapperBlockLabelComponent] =\n useState<null | React.ReactNode>(null)\n const [clientBlock, setClientBlock] = useState<ClientBlock | null>(null)\n\n const {\n fieldProps: { featureClientSchemaMap, permissions, schemaPath },\n uuid: uuidFromContext,\n } = useEditorConfigContext()\n\n const [formData, setFormData] = useState<({ text: string } & WrapperBlockFields) | undefined>()\n const { i18n, t } = useTranslation<object, string>()\n const [schemaFieldsPath, setSchemaFieldsPath] = React.useState<null | string>(null)\n\n const { initialState, loadInitialState, onFormChange } = useLexicalFormState({\n onReceiveRenderedFields: ({ state }) => {\n setWrapperBlockComponent(state['_components']?.customComponents?.Block)\n setWrapperBlockLabelComponent(state['_components']?.customComponents?.BlockLabel)\n },\n schemaFieldsPath,\n })\n\n const editDepth = useEditDepth()\n const [isWrapperBlockNode, setIsWrapperBlockNode] = useState(false)\n const [selectedNodes, setSelectedNodes] = useState<LexicalNode[]>([])\n\n const drawerSlug = formatDrawerSlug({\n slug: `lexical-rich-text-wrapper-block-` + uuidFromContext,\n depth: editDepth,\n })\n\n const { toggleDrawer } = useLexicalDrawer(drawerSlug)\n\n const hideBlockPopup = useCallback(() => {\n if (!isWrapperBlockNode) {\n return\n }\n setIsWrapperBlockNode(false)\n if (editorRef && editorRef.current) {\n editorRef.current.style.opacity = '0'\n editorRef.current.style.transform = 'translate(-10000px, -10000px)'\n }\n setWrapperBlockNode(null)\n setWrapperBlockComponent(null)\n setWrapperBlockLabelComponent(null)\n setClientBlock(null)\n setSelectedNodes([])\n setFormData(undefined)\n setSchemaFieldsPath(null)\n }, [isWrapperBlockNode])\n\n const $updateBlockPopup = useCallback(() => {\n const selection = $getSelection()\n let selectedNodeDomRect: DOMRect | undefined\n\n if (!$isRangeSelection(selection) || !selection) {\n void hideBlockPopup()\n return\n }\n\n // Handle the data displayed in the popup & drawer when you click on a wrapper block\n const focusNode = getSelectedNode(selection)\n selectedNodeDomRect = editor.getElementByKey(focusNode.getKey())?.getBoundingClientRect()\n const focusWrapperBlockParent = $findMatchingParent(focusNode, $isWrapperBlockNode)\n\n // Prevent wrapper block modal from showing if selection spans further than the wrapper block: https://github.com/facebook/lexical/issues/4064\n const badNode = selection\n .getNodes()\n .filter((node) => !$isLineBreakNode(node))\n .find((node) => {\n const wrapperBlockNode = $findMatchingParent(node, $isWrapperBlockNode)\n return (\n (focusWrapperBlockParent && !focusWrapperBlockParent.is(wrapperBlockNode)) ||\n (wrapperBlockNode && !wrapperBlockNode.is(focusWrapperBlockParent))\n )\n })\n\n if (focusWrapperBlockParent == null || badNode) {\n hideBlockPopup()\n return\n }\n\n const editorElem = editorRef.current\n const nativeSelection = window.getSelection()\n const { activeElement } = document\n\n if (editorElem === null) {\n return\n }\n\n const rootElement = editor.getRootElement()\n\n if (\n nativeSelection !== null &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n if (!selectedNodeDomRect) {\n // Get the DOM rect of the selected node using the native selection. This sometimes produces the wrong\n // result, which is why we use lexical's selection preferably.\n selectedNodeDomRect = nativeSelection.getRangeAt(0).getBoundingClientRect()\n }\n\n if (selectedNodeDomRect != null) {\n selectedNodeDomRect.y += 40\n setFloatingElemPositionForLinkEditor(selectedNodeDomRect, editorElem, anchorElem)\n\n const fields = focusWrapperBlockParent.getFields()\n\n // Initial state:\n const data: { text: string } & WrapperBlockFields = {\n ...fields,\n text: focusWrapperBlockParent.getTextContent(),\n }\n const schemaFieldsPath_ = `${schemaPath}.lexical_internal_feature.blocks.lexical_wrapper_blocks.${data.blockType}.fields`\n\n if (schemaFieldsPath_ === schemaFieldsPath && data.id === formData?.id) {\n return false\n }\n\n setWrapperBlockNode(focusWrapperBlockParent)\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_wrapper_blocks.${data.blockType}`\n\n setSchemaFieldsPath(schemaFieldsPath_)\n\n setFormData(data)\n setIsWrapperBlockNode(true)\n setSelectedNodes(selection ? selection?.getNodes() : [])\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 setClientBlock(clientBlock)\n\n loadInitialState({ formData: data, schemaFieldsPath: schemaFieldsPath_ })\n }\n } else if (activeElement == null || activeElement.className !== 'wraper-block-popup__content') {\n hideBlockPopup()\n }\n\n return true\n }, [\n editor,\n $isWrapperBlockNode,\n hideBlockPopup,\n anchorElem,\n schemaPath,\n schemaFieldsPath,\n formData?.id,\n featureClientSchemaMap,\n loadInitialState,\n ])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n TOGGLE_WRAPPER_BLOCK_WITH_MODAL_COMMAND,\n (payload) => {\n if (!payload) {\n return false\n }\n editor.dispatchCommand(INSERT_WRAPPER_BLOCK_COMMAND, payload.fields)\n\n // Now, open the modal\n $updateBlockPopup()\n toggleDrawer()\n\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n )\n }, [editor, $updateBlockPopup, toggleDrawer, drawerSlug])\n\n useEffect(() => {\n const scrollerElem = anchorElem.parentElement\n\n const update = (): void => {\n editor.getEditorState().read(() => {\n void $updateBlockPopup()\n })\n }\n\n window.addEventListener('resize', update)\n\n if (scrollerElem != null) {\n scrollerElem.addEventListener('scroll', update)\n }\n\n return () => {\n window.removeEventListener('resize', update)\n\n if (scrollerElem != null) {\n scrollerElem.removeEventListener('scroll', update)\n }\n }\n }, [anchorElem.parentElement, editor, $updateBlockPopup])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n void $updateBlockPopup()\n })\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n void $updateBlockPopup()\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ESCAPE_COMMAND,\n () => {\n if (isWrapperBlockNode) {\n hideBlockPopup()\n\n return true\n }\n return false\n },\n COMMAND_PRIORITY_HIGH,\n ),\n )\n }, [editor, $updateBlockPopup, isWrapperBlockNode, hideBlockPopup])\n\n /**\n * HANDLE FORM SUBMIT\n */\n const onFormSubmit = useCallback(\n (formState: FormState) => {\n const newData: any = reduceFieldsToValues(formState)\n newData.blockType = formData?.blockType\n editor.update(() => {\n if (wrapperBlockNode && $isWrapperBlockNode(wrapperBlockNode)) {\n wrapperBlockNode.setFields(newData)\n }\n })\n },\n [formData?.blockType, editor, wrapperBlockNode, $isWrapperBlockNode],\n )\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock?.slug\n\n const EditButton = useMemo(\n () => () => (\n <button\n aria-label=\"Edit Wrapper Block\"\n className=\"wrapper-block-popup__edit\"\n onClick={() => {\n toggleDrawer()\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n }}\n tabIndex={0}\n type=\"button\"\n >\n <EditIcon />\n </button>\n ),\n [toggleDrawer],\n )\n\n const RemoveButton = useMemo(\n () => () => (\n <button\n aria-label=\"Remove Wrapper Block\"\n className=\"wrapper-block-popup__remove\"\n onClick={() => {\n editor.dispatchCommand(INSERT_WRAPPER_BLOCK_COMMAND, null)\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n }}\n tabIndex={0}\n type=\"button\"\n >\n <CloseMenuIcon />\n </button>\n ),\n [editor],\n )\n\n const Label = useMemo(() => {\n if (wrapperBlockLabelComponent) {\n return () => wrapperBlockLabelComponent\n } else {\n return () => blockDisplayName\n }\n }, [blockDisplayName, wrapperBlockLabelComponent])\n\n const WrapperBlockContainer = useMemo(() => {\n return ({ children }: { children: React.ReactNode }) => {\n return (\n <div className=\"wrapper-block-popup__wrapper\">\n <div className=\"wrapper-block-popup__content\">{children}</div>\n </div>\n )\n }\n }, [])\n\n return (\n <Form\n beforeSubmit={[\n async ({ formState }) => {\n // This is only called when form is submitted from drawer\n return await onFormChange({ formState, submit: true })\n },\n ]}\n disableValidationOnSubmit\n fields={clientBlock?.fields ?? []}\n initialState={initialState ?? {}}\n onChange={[onFormChange]}\n onSubmit={(formState) => {\n onFormSubmit(formState)\n toggleDrawer()\n }}\n uuid={uuid()}\n >\n <div className=\"wrapper-block-popup\" ref={editorRef}>\n {wrapperBlockComponent ? (\n <WrapperBlockComponentContext.Provider\n value={{\n EditButton,\n formData,\n initialState,\n Label,\n RemoveButton,\n WrapperBlockContainer,\n wrapperBlockNode: wrapperBlockNode!,\n }}\n >\n {wrapperBlockComponent}\n </WrapperBlockComponentContext.Provider>\n ) : (\n <WrapperBlockContainer>\n <Label />\n {editor.isEditable() && (\n <React.Fragment>\n <EditButton />\n <RemoveButton />\n </React.Fragment>\n )}\n </WrapperBlockContainer>\n )}\n </div>\n\n <EditDepthProvider>\n <Drawer\n className={''}\n slug={drawerSlug}\n title={t(`lexical:blocks:inlineBlocks:${formData?.id ? 'edit' : 'create'}`, {\n label: blockDisplayName ?? t('lexical:blocks:inlineBlocks:label'),\n })}\n >\n {initialState && clientBlock && schemaFieldsPath ? (\n <>\n <RenderFields\n fields={clientBlock.fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\" // See Blocks feature path for details as for why this is empty\n parentSchemaPath={schemaFieldsPath}\n permissions={permissions}\n readOnly={false}\n />\n <FormSubmit programmaticSubmit={true}>{t('fields:saveChanges')}</FormSubmit>\n </>\n ) : null}\n </Drawer>\n </EditDepthProvider>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { FormState } from 'payload';
|
|
2
|
-
import type { WrapperBlockFields } from '../../../../WrapperBlockNode.js';
|
|
3
|
-
export type Props = {
|
|
4
|
-
onReceiveRenderedFields: (args: {
|
|
5
|
-
state: FormState;
|
|
6
|
-
}) => void;
|
|
7
|
-
schemaFieldsPath: null | string;
|
|
8
|
-
};
|
|
9
|
-
export declare const useLexicalFormState: (props: Props) => {
|
|
10
|
-
initialState?: FormState;
|
|
11
|
-
loadInitialState: (args: {
|
|
12
|
-
formData: {
|
|
13
|
-
text: string;
|
|
14
|
-
} & WrapperBlockFields;
|
|
15
|
-
schemaFieldsPath: string;
|
|
16
|
-
}) => void;
|
|
17
|
-
onFormChange: (args: {
|
|
18
|
-
formState: FormState;
|
|
19
|
-
submit?: boolean;
|
|
20
|
-
}) => Promise<FormState>;
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=useLexicalFormState.d.ts.map
|
package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useLexicalFormState.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAMxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEzE,MAAM,MAAM,KAAK,GAAG;IAClB,uBAAuB,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE,KAAK,IAAI,CAAA;IAC7D,gBAAgB,EAAE,IAAI,GAAG,MAAM,CAAA;CAChC,CAAA;AACD,eAAO,MAAM,mBAAmB,UACvB,KAAK,KACX;IACD,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,gBAAgB,EAAE,CAAC,IAAI,EAAE;QACvB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,kBAAkB,CAAA;QAC/C,gBAAgB,EAAE,MAAM,CAAA;KACzB,KAAK,IAAI,CAAA;IACV,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;CAmIvF,CAAA"}
|