@payloadcms/richtext-lexical 3.29.0-internal.2984e42 → 3.29.0-internal.37e46b5
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-FLAQN6LU.js +2 -0
- package/dist/exports/client/Field-FLAQN6LU.js.map +7 -0
- package/dist/exports/client/{RelationshipComponent-APF3CN47.js → RelationshipComponent-JPESGV4Q.js} +2 -2
- package/dist/exports/client/bundled.css +1 -1
- package/dist/exports/client/chunk-3LGFOM34.js +2 -0
- package/dist/exports/client/chunk-3LGFOM34.js.map +7 -0
- package/dist/exports/client/{chunk-Y2GOLUGU.js → chunk-PUXDVIHC.js} +2 -2
- package/dist/exports/client/chunk-QBDC3MVG.js +2 -0
- package/dist/exports/client/chunk-QBDC3MVG.js.map +7 -0
- package/dist/exports/client/{component-Y3OSWJM5.js → component-P5K7Z5NW.js} +2 -2
- package/dist/exports/client/componentInline-IBB73SHH.js +2 -0
- package/dist/exports/client/index.js +10 -10
- package/dist/exports/client/index.js.map +3 -3
- package/dist/exports/html/index.d.ts +15 -15
- package/dist/exports/html/index.d.ts.map +1 -1
- package/dist/exports/html/index.js +13 -13
- package/dist/exports/html/index.js.map +1 -1
- package/dist/exports/html-async/index.d.ts +15 -15
- package/dist/exports/html-async/index.d.ts.map +1 -1
- package/dist/exports/html-async/index.js +13 -13
- package/dist/exports/html-async/index.js.map +1 -1
- package/dist/exports/react/index.d.ts +15 -15
- package/dist/exports/react/index.d.ts.map +1 -1
- package/dist/exports/react/index.js +14 -14
- package/dist/exports/react/index.js.map +1 -1
- package/dist/features/blockquote/server/index.js +1 -1
- package/dist/features/blockquote/server/index.js.map +1 -1
- package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
- package/dist/features/blocks/client/component/BlockContent.js +4 -2
- package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
- package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
- package/dist/features/blocks/client/componentInline/index.js +4 -2
- package/dist/features/blocks/client/componentInline/index.js.map +1 -1
- package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.d.ts.map +1 -1
- package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js +1 -1
- package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js.map +1 -1
- package/dist/features/converters/html/async/converters/blockquote.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/blockquote.js.map +1 -0
- package/dist/features/converters/html/async/converters/heading.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/heading.js.map +1 -0
- package/dist/features/converters/html/async/converters/horizontalRule.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/horizontalRule.js.map +1 -0
- package/dist/features/converters/html/async/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/linebreak.js.map +1 -0
- package/dist/features/converters/html/async/converters/link.d.ts.map +1 -0
- package/dist/features/converters/{lexicalToHtml → html}/async/converters/link.js +12 -4
- package/dist/features/converters/html/async/converters/link.js.map +1 -0
- package/dist/features/converters/html/async/converters/list.d.ts.map +1 -0
- package/dist/features/converters/{lexicalToHtml → html}/async/converters/list.js +1 -1
- package/dist/features/converters/html/async/converters/list.js.map +1 -0
- package/dist/features/converters/html/async/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/paragraph.js.map +1 -0
- package/dist/features/converters/html/async/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/tab.js.map +1 -0
- package/dist/features/converters/html/async/converters/table.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/table.js.map +1 -0
- package/dist/features/converters/html/async/converters/text.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/text.js.map +1 -0
- package/dist/features/converters/html/async/converters/upload.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/upload.js.map +1 -0
- package/dist/features/converters/html/async/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/html/async/defaultConverters.js.map +1 -0
- package/dist/features/converters/html/async/field/index.d.ts.map +1 -0
- package/dist/features/converters/{lexicalToHtml → html}/async/field/index.js +11 -11
- package/dist/features/converters/html/async/field/index.js.map +1 -0
- package/dist/features/converters/html/async/index.d.ts.map +1 -0
- package/dist/features/converters/html/async/index.js.map +1 -0
- package/dist/features/converters/html/async/types.d.ts.map +1 -0
- package/dist/features/converters/html/async/types.js.map +1 -0
- package/dist/features/converters/html/shared/findConverterForNode.d.ts.map +1 -0
- package/dist/features/converters/html/shared/findConverterForNode.js.map +1 -0
- package/dist/features/converters/html/shared/types.d.ts.map +1 -0
- package/dist/features/converters/html/shared/types.js.map +1 -0
- package/dist/features/converters/html/sync/converters/blockquote.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/blockquote.js.map +1 -0
- package/dist/features/converters/html/sync/converters/heading.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/heading.js.map +1 -0
- package/dist/features/converters/html/sync/converters/horizontalRule.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/horizontalRule.js.map +1 -0
- package/dist/features/converters/html/sync/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/linebreak.js.map +1 -0
- package/dist/features/converters/html/sync/converters/link.d.ts.map +1 -0
- package/dist/features/converters/{lexicalToHtml → html}/sync/converters/link.js +12 -4
- package/dist/features/converters/html/sync/converters/link.js.map +1 -0
- package/dist/features/converters/html/sync/converters/list.d.ts.map +1 -0
- package/dist/features/converters/{lexicalToHtml → html}/sync/converters/list.js +1 -1
- package/dist/features/converters/html/sync/converters/list.js.map +1 -0
- package/dist/features/converters/html/sync/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/paragraph.js.map +1 -0
- package/dist/features/converters/html/sync/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/tab.js.map +1 -0
- package/dist/features/converters/html/sync/converters/table.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/table.js.map +1 -0
- package/dist/features/converters/html/sync/converters/text.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/text.js.map +1 -0
- package/dist/features/converters/html/sync/converters/upload.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/upload.js.map +1 -0
- package/dist/features/converters/html/sync/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/html/sync/defaultConverters.js.map +1 -0
- package/dist/features/converters/html/sync/index.d.ts.map +1 -0
- package/dist/features/converters/html/sync/index.js.map +1 -0
- package/dist/features/converters/html/sync/types.d.ts.map +1 -0
- package/dist/features/converters/html/sync/types.js.map +1 -0
- package/dist/features/converters/htmlToLexical/index.d.ts.map +1 -1
- package/dist/features/converters/htmlToLexical/index.js +1 -0
- package/dist/features/converters/htmlToLexical/index.js.map +1 -1
- package/dist/features/converters/html_deprecated/converter/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/linebreak.js.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/paragraph.js.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/tab.js.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/text.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/text.js.map +1 -0
- package/dist/features/converters/html_deprecated/converter/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/defaultConverters.js.map +1 -0
- package/dist/features/converters/html_deprecated/converter/index.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/index.js.map +1 -0
- package/dist/features/converters/html_deprecated/converter/types.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/types.js.map +1 -0
- package/dist/features/converters/html_deprecated/field/index.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/field/index.js.map +1 -0
- package/dist/features/converters/html_deprecated/index.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/index.js.map +1 -0
- package/dist/features/converters/jsx/Component/index.d.ts.map +1 -0
- package/dist/features/converters/jsx/Component/index.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/blockquote.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/blockquote.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/heading.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/heading.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/horizontalRule.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/horizontalRule.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/linebreak.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/link.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/link.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/list.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/list.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/paragraph.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/tab.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/table.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/table.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/text.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/text.js.map +1 -0
- package/dist/features/converters/jsx/converter/converters/upload.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/upload.js.map +1 -0
- package/dist/features/converters/jsx/converter/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/defaultConverters.js.map +1 -0
- package/dist/features/converters/jsx/converter/index.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/index.js.map +1 -0
- package/dist/features/converters/jsx/converter/types.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/types.js.map +1 -0
- package/dist/features/converters/utilities/payloadPopulateFn.d.ts +1 -1
- package/dist/features/converters/utilities/payloadPopulateFn.d.ts.map +1 -1
- package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
- package/dist/features/converters/utilities/restPopulateFn.d.ts +1 -1
- package/dist/features/converters/utilities/restPopulateFn.d.ts.map +1 -1
- package/dist/features/converters/utilities/restPopulateFn.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.d.ts +0 -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 +1 -5
- package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
- package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +3 -3
- package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
- package/dist/features/experimental_table/server/index.js +1 -1
- package/dist/features/experimental_table/server/index.js.map +1 -1
- package/dist/features/heading/server/index.js +1 -1
- package/dist/features/heading/server/index.js.map +1 -1
- package/dist/features/indent/client/IndentPlugin.d.ts.map +1 -1
- package/dist/features/indent/client/IndentPlugin.js +6 -26
- package/dist/features/indent/client/IndentPlugin.js.map +1 -1
- package/dist/features/indent/server/index.d.ts +0 -7
- package/dist/features/indent/server/index.d.ts.map +1 -1
- package/dist/features/indent/server/index.js.map +1 -1
- package/dist/features/link/server/index.d.ts.map +1 -1
- package/dist/features/link/server/index.js +7 -3
- package/dist/features/link/server/index.js.map +1 -1
- package/dist/features/lists/htmlConverter.d.ts +1 -1
- package/dist/features/lists/htmlConverter.d.ts.map +1 -1
- package/dist/features/lists/htmlConverter.js +1 -1
- package/dist/features/lists/htmlConverter.js.map +1 -1
- package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +2 -2
- package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
- package/dist/features/typesServer.d.ts +1 -1
- package/dist/features/typesServer.d.ts.map +1 -1
- package/dist/features/typesServer.js.map +1 -1
- package/dist/field/Field.d.ts.map +1 -1
- package/dist/field/Field.js +3 -2
- package/dist/field/Field.js.map +1 -1
- package/dist/field/bundled.css +1 -1
- package/dist/index.d.ts +11 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -12
- package/dist/index.js.map +1 -1
- package/dist/lexical/config/client/EditorConfigProvider.js +4 -4
- package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
- package/dist/nodeTypes.d.ts +1 -1
- package/dist/nodeTypes.d.ts.map +1 -1
- package/dist/nodeTypes.js.map +1 -1
- package/package.json +18 -23
- package/dist/exports/client/Field-5SZDDPZE.js +0 -2
- package/dist/exports/client/Field-5SZDDPZE.js.map +0 -7
- package/dist/exports/client/chunk-46KMRCKV.js +0 -2
- package/dist/exports/client/chunk-46KMRCKV.js.map +0 -7
- package/dist/exports/client/chunk-BZZVLW4U.js +0 -2
- package/dist/exports/client/chunk-BZZVLW4U.js.map +0 -7
- package/dist/exports/client/componentInline-ZB4EY7EQ.js +0 -2
- package/dist/exports/plaintext/index.d.ts +0 -3
- package/dist/exports/plaintext/index.d.ts.map +0 -1
- package/dist/exports/plaintext/index.js +0 -2
- package/dist/exports/plaintext/index.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/blockquote.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/heading.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/linebreak.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/link.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/paragraph.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/tab.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/tab.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/table.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/table.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/text.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/text.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/upload.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/defaultConverters.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/field/index.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/field/index.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/index.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/index.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/types.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/async/types.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/shared/types.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/shared/types.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/heading.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/link.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/tab.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/table.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/text.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/upload.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/defaultConverters.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/index.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/index.js.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml/sync/types.js.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/index.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/types.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/field/index.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/field/index.js.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/index.d.ts.map +0 -1
- package/dist/features/converters/lexicalToHtml_deprecated/index.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/Component/index.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/link.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/link.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/tab.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/tab.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/table.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/table.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/text.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/text.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/defaultConverters.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/index.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/index.js.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +0 -1
- package/dist/features/converters/lexicalToJSX/converter/types.js.map +0 -1
- package/dist/features/converters/lexicalToMarkdown/index.d.ts +0 -7
- package/dist/features/converters/lexicalToMarkdown/index.d.ts.map +0 -1
- package/dist/features/converters/lexicalToMarkdown/index.js +0 -24
- package/dist/features/converters/lexicalToMarkdown/index.js.map +0 -1
- package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +0 -84
- package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +0 -1
- package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.d.ts +0 -7
- package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.d.ts.map +0 -1
- package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js +0 -15
- package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +0 -1
- package/dist/features/converters/lexicalToPlaintext/shared/types.d.ts +0 -5
- package/dist/features/converters/lexicalToPlaintext/shared/types.d.ts.map +0 -1
- package/dist/features/converters/lexicalToPlaintext/shared/types.js +0 -2
- package/dist/features/converters/lexicalToPlaintext/shared/types.js.map +0 -1
- package/dist/features/converters/lexicalToPlaintext/sync/index.d.ts +0 -22
- package/dist/features/converters/lexicalToPlaintext/sync/index.d.ts.map +0 -1
- package/dist/features/converters/lexicalToPlaintext/sync/index.js +0 -79
- package/dist/features/converters/lexicalToPlaintext/sync/index.js.map +0 -1
- package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts +0 -60
- package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts.map +0 -1
- package/dist/features/converters/lexicalToPlaintext/sync/types.js +0 -2
- package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +0 -1
- package/dist/features/converters/markdownToLexical/index.d.ts +0 -8
- package/dist/features/converters/markdownToLexical/index.d.ts.map +0 -1
- package/dist/features/converters/markdownToLexical/index.js +0 -21
- package/dist/features/converters/markdownToLexical/index.js.map +0 -1
- /package/dist/exports/client/{RelationshipComponent-APF3CN47.js.map → RelationshipComponent-JPESGV4Q.js.map} +0 -0
- /package/dist/exports/client/{chunk-Y2GOLUGU.js.map → chunk-PUXDVIHC.js.map} +0 -0
- /package/dist/exports/client/{component-Y3OSWJM5.js.map → component-P5K7Z5NW.js.map} +0 -0
- /package/dist/exports/client/{componentInline-ZB4EY7EQ.js.map → componentInline-IBB73SHH.js.map} +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/blockquote.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/blockquote.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/heading.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/heading.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/horizontalRule.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/horizontalRule.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/linebreak.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/linebreak.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/link.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/list.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/paragraph.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/paragraph.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/tab.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/tab.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/table.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/table.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/text.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/text.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/upload.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/converters/upload.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/defaultConverters.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/defaultConverters.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/field/index.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/index.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/index.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/types.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/async/types.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/shared/findConverterForNode.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/shared/findConverterForNode.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/shared/types.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/shared/types.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/blockquote.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/blockquote.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/heading.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/heading.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/horizontalRule.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/horizontalRule.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/linebreak.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/linebreak.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/link.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/list.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/paragraph.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/paragraph.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/tab.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/tab.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/table.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/table.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/text.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/text.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/upload.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/converters/upload.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/defaultConverters.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/defaultConverters.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/index.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/index.js +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/types.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml → html}/sync/types.js +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/converters/linebreak.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/converters/linebreak.js +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/converters/paragraph.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/converters/paragraph.js +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/converters/tab.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/converters/tab.js +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/converters/text.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/converters/text.js +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/defaultConverters.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/defaultConverters.js +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/index.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/index.js +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/types.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/converter/types.js +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/field/index.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/field/index.js +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/index.d.ts +0 -0
- /package/dist/features/converters/{lexicalToHtml_deprecated → html_deprecated}/index.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/Component/index.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/Component/index.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/blockquote.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/blockquote.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/heading.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/heading.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/horizontalRule.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/horizontalRule.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/linebreak.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/linebreak.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/link.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/link.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/list.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/list.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/paragraph.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/paragraph.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/tab.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/tab.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/table.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/table.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/text.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/text.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/upload.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/converters/upload.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/defaultConverters.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/defaultConverters.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/index.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/index.js +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/types.d.ts +0 -0
- /package/dist/features/converters/{lexicalToJSX → jsx}/converter/types.js +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as M}from"react/jsx-runtime";import{useLexicalComposerContext as b}from"@lexical/react/LexicalComposerContext.js";import{useEditDepth as v}from"@payloadcms/ui";import"react";import{createContext as S,useContext as k,useMemo as P,useRef as g,useState as s}from"react";function j(){return Math.random().toString(36).substring(2,12)+Math.random().toString(36).substring(2,12)}var w=S({editorConfig:null,fieldProps:null,uuid:null}),H=({children:o,editorConfig:c,editorContainerRef:d,fieldProps:a,parentContext:n})=>{let[f]=b(),[l]=s(()=>j()),r=g(new Map),[m,C]=s(null),i=g(new Set),[E,p]=s(),h=v(),x=P(()=>({blurEditor:t=>{i.current.clear()},childrenEditors:r,createdInlineBlock:E,editDepth:h,editor:f,editorConfig:c,editorContainerRef:d,fieldProps:a,focusedEditor:m,focusEditor:t=>{let e=t.uuid;i.current.has(e)||(i.current.add(e),C(t),n?.uuid&&n.focusEditor(t),r.current.forEach(u=>{u.focusEditor(t)}),i.current.clear())},parentEditor:n,registerChild:(t,e)=>{if(!r.current.has(t)){let u=new Map(r.current);u.set(t,e),r.current=u}},setCreatedInlineBlock:p,unregisterChild:t=>{if(r.current.has(t)){let e=new Map(r.current);e.delete(t),r.current=e}},uuid:l}),[E,p,f,r,c,d,h,a,m,n,l]);return M(w.Provider,{value:x,children:o})},I=()=>{let o=k(w);if(o===void 0)throw new Error("useEditorConfigContext must be used within an EditorConfigProvider");return o};export{H as a,I as b};
|
|
2
|
+
//# sourceMappingURL=chunk-3LGFOM34.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lexical/config/client/EditorConfigProvider.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport type { LexicalEditor } from 'lexical'\nimport type { MarkRequired } from 'ts-essentials'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useEditDepth } from '@payloadcms/ui'\nimport * as React from 'react'\nimport { createContext, useContext, useMemo, useRef, useState } from 'react'\n\nimport type { InlineBlockNode } from '../../../features/blocks/client/nodes/InlineBlocksNode.js'\nimport type { LexicalRichTextFieldProps } from '../../../types.js'\nimport type { SanitizedClientEditorConfig } from '../types.js'\n\n// Should always produce a 20 character pseudo-random string\nfunction generateQuickGuid(): string {\n return Math.random().toString(36).substring(2, 12) + Math.random().toString(36).substring(2, 12)\n}\n\nexport interface EditorConfigContextType {\n // Editor focus handling\n blurEditor: (editorContext: EditorConfigContextType) => void\n childrenEditors: React.RefObject<Map<string, EditorConfigContextType>>\n createdInlineBlock?: InlineBlockNode\n editDepth: number\n editor: LexicalEditor\n editorConfig: SanitizedClientEditorConfig\n editorContainerRef: React.RefObject<HTMLDivElement>\n fieldProps: MarkRequired<LexicalRichTextFieldProps, 'path' | 'schemaPath'>\n focusedEditor: EditorConfigContextType | null\n // Editor focus handling\n focusEditor: (editorContext: EditorConfigContextType) => void\n parentEditor: EditorConfigContextType\n registerChild: (uuid: string, editorContext: EditorConfigContextType) => void\n setCreatedInlineBlock?: React.Dispatch<React.SetStateAction<InlineBlockNode | undefined>>\n unregisterChild?: (uuid: string) => void\n uuid: string\n}\n\n// @ts-expect-error: TODO: Fix this\nconst Context: React.Context<EditorConfigContextType> = createContext({\n editorConfig: null,\n fieldProps: null,\n uuid: null,\n})\n\nexport const EditorConfigProvider = ({\n children,\n editorConfig,\n editorContainerRef,\n fieldProps,\n parentContext,\n}: {\n children: React.ReactNode\n editorConfig: SanitizedClientEditorConfig\n editorContainerRef: React.RefObject<HTMLDivElement | null>\n\n fieldProps: LexicalRichTextFieldProps\n parentContext?: EditorConfigContextType\n}): React.ReactNode => {\n const [editor] = useLexicalComposerContext()\n // State to store the UUID\n const [uuid] = useState(() => generateQuickGuid())\n\n const childrenEditors = useRef<Map<string, EditorConfigContextType>>(new Map())\n const [focusedEditor, setFocusedEditor] = useState<EditorConfigContextType | null>(null)\n const focusHistory = useRef<Set<string>>(new Set())\n const [createdInlineBlock, setCreatedInlineBlock] = useState<InlineBlockNode>()\n\n const editDepth = useEditDepth()\n\n const editorContext = useMemo(\n () =>\n ({\n blurEditor: (editorContext: EditorConfigContextType) => {\n //setFocusedEditor(null) // Clear focused editor\n focusHistory.current.clear() // Reset focus history when focus is lost\n },\n childrenEditors,\n createdInlineBlock,\n editDepth,\n editor,\n editorConfig,\n editorContainerRef,\n fieldProps,\n focusedEditor,\n focusEditor: (editorContext: EditorConfigContextType) => {\n const editorUUID = editorContext.uuid\n\n // Avoid recursion by checking if this editor is already focused in this cycle\n if (focusHistory.current.has(editorUUID)) {\n return\n }\n\n // Add this editor to the history to prevent future recursions in this cycle\n focusHistory.current.add(editorUUID)\n setFocusedEditor(editorContext)\n\n // Propagate focus event to parent and children, ensuring they do not refocus this editor\n if (parentContext?.uuid) {\n parentContext.focusEditor(editorContext)\n }\n childrenEditors.current.forEach((childEditor) => {\n childEditor.focusEditor(editorContext)\n })\n\n focusHistory.current.clear()\n },\n parentEditor: parentContext,\n registerChild: (childUUID, childEditorContext) => {\n if (!childrenEditors.current.has(childUUID)) {\n const newMap = new Map(childrenEditors.current)\n newMap.set(childUUID, childEditorContext)\n childrenEditors.current = newMap\n }\n },\n setCreatedInlineBlock,\n unregisterChild: (childUUID) => {\n if (childrenEditors.current.has(childUUID)) {\n const newMap = new Map(childrenEditors.current)\n newMap.delete(childUUID)\n childrenEditors.current = newMap\n }\n },\n\n uuid,\n }) as EditorConfigContextType,\n [\n createdInlineBlock,\n setCreatedInlineBlock,\n editor,\n childrenEditors,\n editorConfig,\n editorContainerRef,\n editDepth,\n fieldProps,\n focusedEditor,\n parentContext,\n uuid,\n ],\n )\n\n return <Context.Provider value={editorContext}>{children}</Context.Provider>\n}\n\nexport const useEditorConfigContext = (): EditorConfigContextType => {\n const context = useContext(Context)\n if (context === undefined) {\n throw new Error('useEditorConfigContext must be used within an EditorConfigProvider')\n }\n return context\n}\n"],
|
|
5
|
+
"mappings": "wCAKA,OAASA,6BAAAA,MAAiC,2CAC1C,OAASC,gBAAAA,MAAoB,iBAC7B,MAAuB,QACvB,OAASC,iBAAAA,EAAeC,cAAAA,EAAYC,WAAAA,EAASC,UAAAA,EAAQC,YAAAA,MAAgB,QAOrE,SAASC,GAAA,CACP,OAAOC,KAAKC,OAAM,EAAGC,SAAS,EAAA,EAAIC,UAAU,EAAG,EAAA,EAAMH,KAAKC,OAAM,EAAGC,SAAS,EAAA,EAAIC,UAAU,EAAG,EAAA,CAC/F,CAuBA,IAAMC,EAAkDV,EAAc,CACpEW,aAAc,KACdC,WAAY,KACZC,KAAM,IACR,CAAA,EAEaC,EAAuBA,CAAC,CACnCC,SAAAA,EACAJ,aAAAA,EACAK,mBAAAA,EACAJ,WAAAA,EACAK,cAAAA,CAAa,IAQd,CACC,GAAM,CAACC,CAAA,EAAUpB,EAAA,EAEX,CAACe,CAAA,EAAQT,EAAS,IAAMC,EAAA,CAAA,EAExBc,EAAkBhB,EAA6C,IAAIiB,GAAA,EACnE,CAACC,EAAeC,CAAA,EAAoBlB,EAAyC,IAAA,EAC7EmB,EAAepB,EAAoB,IAAIqB,GAAA,EACvC,CAACC,EAAoBC,CAAA,EAAyBtB,EAAA,EAE9CuB,EAAY5B,EAAA,EAEZ6B,EAAgB1B,EACpB,KACG,CACC2B,WAAaD,GAAA,CAEXL,EAAaO,QAAQC,MAAK,CAC5B,EACAZ,gBAAAA,EACAM,mBAAAA,EACAE,UAAAA,EACAT,OAAAA,EACAP,aAAAA,EACAK,mBAAAA,EACAJ,WAAAA,EACAS,cAAAA,EACAW,YAAcJ,GAAA,CACZ,IAAMK,EAAaL,EAAcf,KAG7BU,EAAaO,QAAQI,IAAID,CAAA,IAK7BV,EAAaO,QAAQK,IAAIF,CAAA,EACzBX,EAAiBM,CAAA,EAGbX,GAAeJ,MACjBI,EAAce,YAAYJ,CAAA,EAE5BT,EAAgBW,QAAQM,QAASC,GAAA,CAC/BA,EAAYL,YAAYJ,CAAA,CAC1B,CAAA,EAEAL,EAAaO,QAAQC,MAAK,EAC5B,EACAO,aAAcrB,EACdsB,cAAeA,CAACC,EAAWC,IAAA,CACzB,GAAI,CAACtB,EAAgBW,QAAQI,IAAIM,CAAA,EAAY,CAC3C,IAAME,EAAS,IAAItB,IAAID,EAAgBW,OAAO,EAC9CY,EAAOC,IAAIH,EAAWC,CAAA,EACtBtB,EAAgBW,QAAUY,CAC5B,CACF,EACAhB,sBAAAA,EACAkB,gBAAkBJ,GAAA,CAChB,GAAIrB,EAAgBW,QAAQI,IAAIM,CAAA,EAAY,CAC1C,IAAME,EAAS,IAAItB,IAAID,EAAgBW,OAAO,EAC9CY,EAAOG,OAAOL,CAAA,EACdrB,EAAgBW,QAAUY,CAC5B,CACF,EAEA7B,KAAAA,CACF,GACF,CACEY,EACAC,EACAR,EACAC,EACAR,EACAK,EACAW,EACAf,EACAS,EACAJ,EACAJ,CAAA,CACD,EAGH,OAAOiC,EAACpC,EAAQqC,SAAQ,CAACC,MAAOpB,WAAgBb,GAClD,EAEakC,EAAyBA,IAAA,CACpC,IAAAC,EAAgBjD,EAAAS,CAAW,EAAA,GACvBwC,IAAAC,OAAY,MAAA,IAAAC,MACE,oEAAA,EAAA,OAEXF,CAAA",
|
|
6
|
+
"names": ["useLexicalComposerContext", "useEditDepth", "createContext", "useContext", "useMemo", "useRef", "useState", "generateQuickGuid", "Math", "random", "toString", "substring", "Context", "editorConfig", "fieldProps", "uuid", "EditorConfigProvider", "children", "editorContainerRef", "parentContext", "editor", "childrenEditors", "Map", "focusedEditor", "setFocusedEditor", "focusHistory", "Set", "createdInlineBlock", "setCreatedInlineBlock", "editDepth", "editorContext", "blurEditor", "current", "clear", "focusEditor", "editorUUID", "has", "add", "forEach", "childEditor", "parentEditor", "registerChild", "childUUID", "childEditorContext", "newMap", "set", "unregisterChild", "delete", "_jsx", "Provider", "value", "useEditorConfigContext", "context", "undefined", "Error"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as E}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as E}from"./chunk-3LGFOM34.js";import{c as q}from"react/compiler-runtime";import{jsx as x}from"react/jsx-runtime";import{Drawer as z,EditDepthProvider as G,useModal as J}from"@payloadcms/ui";import"react";import{jsx as y,jsxs as M}from"react/jsx-runtime";import{Form as v,FormSubmit as T,RenderFields as $,useDocumentForm as N,useDocumentInfo as W,useServerFunctions as k,useTranslation as B}from"@payloadcms/ui";import{abortAndIgnore as R}from"@payloadcms/ui/shared";import{deepCopyObjectSimpleWithoutReactComponents as I}from"payload/shared";import{useCallback as H,useEffect as j,useRef as L,useState as U}from"react";import{v4 as V}from"uuid";var O=({data:i,featureKey:e,fieldMapOverride:o,handleDrawerSubmit:n,schemaFieldsPathOverride:t,schemaPath:d,schemaPathSuffix:f})=>{let{t:p}=B(),{id:l,collectionSlug:c,getDocPreferences:u,globalSlug:a}=W(),{fields:s}=N(),m=L(new AbortController),[r,h]=U(!1),{fieldProps:{featureClientSchemaMap:w,permissions:A}}=E(),{getFormState:g}=k(),S=t??`${d}.lexical_internal_feature.${e}${f?`.${f}`:""}`,b=o??w[e]?.[S];j(()=>{let C=new AbortController;return(async()=>{let{state:_}=await g({id:l,collectionSlug:c,data:i??{},docPermissions:{fields:!0},docPreferences:await u(),documentFormState:I(s),globalSlug:a,initialBlockData:i,operation:"update",renderAllFields:!0,schemaPath:S,signal:C.signal});h(_)})(),()=>{R(C)}},[S,l,i,g,c,a,u,s]);let F=H(async({formState:C})=>{R(m.current);let P=new AbortController;m.current=P;let{state:_}=await g({id:l,collectionSlug:c,docPermissions:{fields:!0},docPreferences:await u(),documentFormState:I(s),formState:C,globalSlug:a,initialBlockFormState:C,operation:"update",schemaPath:S,signal:P.signal});return _||C},[g,l,c,u,s,a,S]);return j(()=>()=>{R(m.current)},[]),r===!1?null:M(v,{beforeSubmit:[F],disableValidationOnSubmit:!0,fields:Array.isArray(b)?b:[],initialState:r,onChange:[F],onSubmit:n,uuid:V(),children:[y($,{fields:Array.isArray(b)?b:[],forceRender:!0,parentIndexPath:"",parentPath:"",parentSchemaPath:S,permissions:A,readOnly:!1}),y(T,{children:p("fields:saveChanges")})]})};var ge=i=>{let e=q(15),{className:o,data:n,drawerSlug:t,drawerTitle:d,featureKey:f,fieldMapOverride:p,handleDrawerSubmit:l,schemaFieldsPathOverride:c,schemaPath:u,schemaPathSuffix:a}=i,{closeModal:s}=J(),m=d??"",r;e[0]!==s||e[1]!==t||e[2]!==l?(r=(w,A)=>{s(t),setTimeout(()=>{l(w,A)},1)},e[0]=s,e[1]=t,e[2]=l,e[3]=r):r=e[3];let h;return e[4]!==o||e[5]!==n||e[6]!==t||e[7]!==f||e[8]!==p||e[9]!==c||e[10]!==u||e[11]!==a||e[12]!==m||e[13]!==r?(h=x(G,{children:x(z,{className:o,slug:t,title:m,children:x(O,{data:n,featureKey:f,fieldMapOverride:p,handleDrawerSubmit:r,schemaFieldsPathOverride:c,schemaPath:u,schemaPathSuffix:a})})}),e[4]=o,e[5]=n,e[6]=t,e[7]=f,e[8]=p,e[9]=c,e[10]=u,e[11]=a,e[12]=m,e[13]=r,e[14]=h):h=e[14],h};import{c as K}from"react/compiler-runtime";import{jsx as Q}from"react/jsx-runtime";import{useAuth as X,useConfig as Y,useEntityVisibility as Z}from"@payloadcms/ui";import*as D from"react";var ee=(i,e)=>i.filter(({slug:o,admin:{enableRichTextRelationship:n},upload:t})=>e?.visibleEntities.collections.includes(o)?e?.uploads?n&&!!t:t?!1:n:!1),Ae=i=>{let e=K(20),o,n,t,d;e[0]!==i?({children:n,FallbackComponent:o,uploads:d,...t}=i,e[0]=i,e[1]=o,e[2]=n,e[3]=t,e[4]=d):(o=e[1],n=e[2],t=e[3],d=e[4]);let f=d===void 0?!1:d,{config:p}=Y(),{collections:l}=p,{user:c}=X(),{visibleEntities:u}=Z(),a;e[5]!==l||e[6]!==f||e[7]!==c||e[8]!==u?(a=()=>ee(l,{uploads:f,user:c,visibleEntities:u}).map(te),e[5]=l,e[6]=f,e[7]=c,e[8]=u,e[9]=a):a=e[9];let[s]=D.useState(a);if(!s.length){let r;return e[10]!==o||e[11]!==t?(r=o?Q(o,{...t}):null,e[10]=o,e[11]=t,e[12]=r):r=e[12],r}let m;if(e[13]!==n||e[14]!==s||e[15]!==t){let r;e[17]!==s||e[18]!==t?(r={...t,enabledCollectionSlugs:s},e[17]=s,e[18]=t,e[19]=r):r=e[19],m=D.cloneElement(n,r),e[13]=n,e[14]=s,e[15]=t,e[16]=m}else m=e[16];return m};function te(i){let{slug:e}=i;return e}import{createCommand as re}from"lexical";var xe=re("INSERT_UPLOAD_WITH_DRAWER_COMMAND");export{ge as a,Ae as b,xe as c};
|
|
2
|
+
//# sourceMappingURL=chunk-PUXDVIHC.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as ie}from"./chunk-INBEEENE.js";import{b as se}from"./chunk-3LGFOM34.js";import{jsx as o,jsxs as p,Fragment as Ie}from"react/jsx-runtime";import T,{createContext as ve,useCallback as j,useEffect as v,useMemo as N,useRef as x}from"react";import{useLexicalComposerContext as Ne}from"@lexical/react/LexicalComposerContext";import{getTranslation as ce}from"@payloadcms/translations";import{Button as ae,Drawer as Te,EditDepthProvider as $e,Form as Pe,formatDrawerSlug as Oe,FormSubmit as Re,RenderFields as Ee,ShimmerEffect as Le,useConfig as Me,useDocumentForm as je,useDocumentInfo as Ae,useEditDepth as Je,useServerFunctions as Ke,useTranslation as ze}from"@payloadcms/ui";import{abortAndIgnore as A}from"@payloadcms/ui/shared";import{$getNodeByKey as J}from"lexical";import{deepCopyObjectSimpleWithoutReactComponents as K,reduceFieldsToValues as He}from"payload/shared";import{v4 as Ve}from"uuid";import{jsx as Se}from"react/jsx-runtime";import ye from"bson-objectid";import Fe from"react";import xe from"bson-objectid";import{DecoratorNode as _e}from"lexical";var B=class extends _e{__cacheBuster;__fields;constructor({cacheBuster:e,fields:t,key:r}){super(r),this.__fields=t,this.__cacheBuster=e||0}static clone(e){return new this({cacheBuster:e.__cacheBuster,fields:e.__fields,key:e.__key})}static getType(){return"inlineBlock"}static importDOM(){return{}}static importJSON(e){return Ce(e.fields)}static isInline(){return!1}canIndent(){return!0}createDOM(){let e=document.createElement("span");return e.classList.add("inline-block-container"),e}decorate(e,t){return null}exportDOM(){let e=document.createElement("span");e.classList.add("inline-block-container");let t=document.createTextNode(this.getTextContent());return e.append(t),{element:e}}exportJSON(){return{type:"inlineBlock",fields:this.getFields(),version:1}}getCacheBuster(){return this.getLatest().__cacheBuster}getFields(){return this.getLatest().__fields}getTextContent(){return"Block Field"}isInline(){return!0}setFields(e,t){let r=this.getWritable();r.__fields=e,t||r.__cacheBuster++}updateDOM(){return!1}};function Ce(l){return new B({fields:{...l,id:l?.id||new xe.default().toHexString()}})}var De=Fe.lazy(()=>import("./componentInline-IBB73SHH.js").then(l=>({default:l.InlineBlockComponent}))),I=class extends B{static clone(e){return super.clone(e)}static getType(){return super.getType()}static importJSON(e){return we(e.fields)}decorate(e,t){return Se(De,{cacheBuster:this.getCacheBuster(),formData:this.getFields(),nodeKey:this.getKey()})}exportJSON(){return super.exportJSON()}};function we(l){return new I({fields:{...l,id:l?.id||new ye.default().toHexString()}})}function M(l){return l instanceof I}var m="inline-block",ue=ve({initialState:!1}),ft=()=>T.useContext(ue),pt=l=>{let{cacheBuster:e,formData:t,nodeKey:r}=l,[a]=Ne(),{i18n:$,t:d}=ze(),{createdInlineBlock:z,fieldProps:{featureClientSchemaMap:de,initialLexicalFormState:me,permissions:fe,readOnly:_,schemaPath:H},setCreatedInlineBlock:V,uuid:pe}=se(),{fields:C}=je(),{getFormState:S}=Ke(),be=Je(),W=x(!1),[u,q]=T.useState(()=>me?.[t.id]?.formState),G=x(!1),Q=x(e);v(()=>{G.current?(Q.current!==e&&q(!1),Q.current=e):G.current=!0},[e]);let[P,U]=T.useState(u?._components?.customComponents?.BlockLabel),[X,Y]=T.useState(u?._components?.customComponents?.Block),Z=Oe({slug:`lexical-inlineBlocks-create-${pe}-${t.id}`,depth:be}),{toggleDrawer:b}=ie(Z,!0),ke=x(null),{id:y,collectionSlug:F,getDocPreferences:D,globalSlug:w}=Ae(),{config:he}=Me(),ge=`${H}.lexical_internal_feature.blocks.lexical_inline_blocks.${t.blockType}`,k=de.blocks?.[ge]?.[0],i=k.blockReferences?typeof k?.blockReferences?.[0]=="string"?he.blocksMap[k?.blockReferences?.[0]]:k?.blockReferences?.[0]:k?.blocks?.[0],ee=i?.fields??[];v(()=>{!W.current&&z?.getKey()===r&&(ee.length>2&&b(),V?.(void 0),W.current=!0)},[ee.length,z,r,V,b]);let te=j(()=>{a.update(()=>{J(r)?.remove()})},[a,r]),h=i?.labels?.singular?ce(i?.labels.singular,$):i?.slug,O=x(new AbortController),g=`${H}.lexical_internal_feature.blocks.lexical_inline_blocks.${i?.slug}.fields`;v(()=>{let n=new AbortController;return t&&!u&&(async()=>{let{state:s}=await S({id:y,collectionSlug:F,data:t,docPermissions:{fields:!0},docPreferences:await D(),documentFormState:K(C),globalSlug:w,initialBlockData:t,initialBlockFormState:t,operation:"update",renderAllFields:!0,schemaPath:g,signal:n.signal});if(s){let f=He(K(s),!0);a.update(()=>{let L=J(r);if(L&&M(L)){let le=f;le.blockType=t.blockType,L.setFields(le,!0)}}),q(s),U(s._components?.customComponents?.BlockLabel),Y(s._components?.customComponents?.Block)}})(),()=>{A(n)}},[S,a,r,g,y,t,u,F,w,D,C]);let ne=j(async({formState:n,submit:c})=>{A(O.current);let s=new AbortController;O.current=s;let{state:f}=await S({id:y,collectionSlug:F,docPermissions:{fields:!0},docPreferences:await D(),documentFormState:K(C),formState:n,globalSlug:w,initialBlockFormState:n,operation:"update",renderAllFields:!!c,schemaPath:g,signal:s.signal});return f?(c&&(U(f._components?.customComponents?.BlockLabel),Y(f._components?.customComponents?.Block)),f):n},[S,y,F,D,C,w,g]);v(()=>()=>{A(O.current)},[]);let Be=j((n,c)=>{c.blockType=t.blockType,a.update(()=>{let s=J(r);s&&M(s)&&s.setFields(c,!0)})},[a,r,t]),R=N(()=>()=>o(ae,{buttonStyle:"icon-label",className:`${m}__removeButton`,disabled:_,icon:"x",onClick:n=>{n.preventDefault(),te()},round:!0,size:"small",tooltip:d("lexical:blocks:inlineBlocks:remove",{label:h})}),[h,_,te,d]),oe=N(()=>()=>o(ae,{buttonStyle:"icon-label",className:`${m}__editButton`,disabled:_,el:"button",icon:"edit",onClick:()=>{b()},round:!0,size:"small",tooltip:d("lexical:blocks:inlineBlocks:edit",{label:h})}),[h,_,d,b]),E=N(()=>({children:n,className:c})=>o("div",{className:[m,m+"-"+t.blockType,c].filter(Boolean).join(" "),ref:ke,children:n}),[t.blockType]),re=N(()=>P?()=>P:()=>o("div",{children:i?.labels?ce(i?.labels.singular,$):""}),[P,i?.labels,$]);return i?p(Pe,{beforeSubmit:[async({formState:n})=>await ne({formState:n,submit:!0})],disableValidationOnSubmit:!0,el:"div",fields:i?.fields,initialState:u||{},onChange:[ne],onSubmit:(n,c)=>{Be(n,c),b()},uuid:Ve(),children:[o($e,{children:o(Te,{className:"",slug:Z,title:d(`lexical:blocks:inlineBlocks:${t?.id?"edit":"create"}`,{label:h??d("lexical:blocks:inlineBlocks:label")}),children:u?p(Ie,{children:[o(Ee,{fields:i?.fields,forceRender:!0,parentIndexPath:"",parentPath:"",parentSchemaPath:g,permissions:fe,readOnly:!1}),o(Re,{programmaticSubmit:!0,children:d("fields:saveChanges")})]}):null})}),X?o(ue.Provider,{value:{EditButton:oe,initialState:u,InlineBlockContainer:E,Label:re,nodeKey:r,RemoveButton:R},children:X}):p(E,{children:[u?o(re,{}):o(Le,{height:"15px",width:"40px"}),a.isEditable()?p("div",{className:`${m}__actions`,children:[o(oe,{}),o(R,{})]}):null]})]}):p(E,{className:`${m}-not-found`,children:[p("span",{children:["Error: Block '",t.blockType,"' not found"]}),a.isEditable()?o("div",{className:`${m}__actions`,children:o(R,{})}):null]})};export{ft as a,pt as b,I as c,we as d,M as e};
|
|
2
|
+
//# sourceMappingURL=chunk-QBDC3MVG.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/features/blocks/client/componentInline/index.tsx", "../../../src/features/blocks/client/nodes/InlineBlocksNode.tsx", "../../../src/features/blocks/server/nodes/InlineBlocksNode.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport React, { createContext, useCallback, useEffect, useMemo, useRef } from 'react'\nconst baseClass = 'inline-block'\n\nimport type { BlocksFieldClient, ClientBlock, Data, FormState } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n Drawer,\n EditDepthProvider,\n Form,\n formatDrawerSlug,\n FormSubmit,\n RenderFields,\n ShimmerEffect,\n useConfig,\n useDocumentForm,\n useDocumentInfo,\n useEditDepth,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport { $getNodeByKey } from 'lexical'\n\nimport './index.scss'\n\nimport { deepCopyObjectSimpleWithoutReactComponents, reduceFieldsToValues } from 'payload/shared'\nimport { v4 as uuid } from 'uuid'\n\nimport type { InlineBlockFields } from '../../server/nodes/InlineBlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useLexicalDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport { $isInlineBlockNode } from '../nodes/InlineBlocksNode.js'\n\ntype Props = {\n /**\n * Can be modified by the node in order to trigger the re-fetch of the initial state based on the\n * formData. This is useful when node.setFields() is explicitly called from outside of the form - in\n * this case, the new field state is likely not reflected in the form state, so we need to re-fetch\n */\n readonly cacheBuster: number\n readonly formData: InlineBlockFields\n readonly nodeKey: string\n}\n\ntype InlineBlockComponentContextType = {\n EditButton?: React.FC\n initialState: false | FormState | undefined\n InlineBlockContainer?: React.FC<{ children: React.ReactNode }>\n Label?: React.FC\n nodeKey?: string\n RemoveButton?: React.FC\n}\n\nconst InlineBlockComponentContext = createContext<InlineBlockComponentContextType>({\n initialState: false,\n})\n\nexport const useInlineBlockComponentContext = () => React.useContext(InlineBlockComponentContext)\n\nexport const InlineBlockComponent: React.FC<Props> = (props) => {\n const { cacheBuster, formData, nodeKey } = props\n\n const [editor] = useLexicalComposerContext()\n const { i18n, t } = useTranslation<object, string>()\n const {\n createdInlineBlock,\n fieldProps: {\n featureClientSchemaMap,\n initialLexicalFormState,\n permissions,\n readOnly,\n schemaPath,\n },\n setCreatedInlineBlock,\n uuid: uuidFromContext,\n } = useEditorConfigContext()\n const { fields: parentDocumentFields } = useDocumentForm()\n\n const { getFormState } = useServerFunctions()\n const editDepth = useEditDepth()\n const firstTimeDrawer = useRef(false)\n\n const [initialState, setInitialState] = React.useState<false | FormState | undefined>(\n () => initialLexicalFormState?.[formData.id]?.formState,\n )\n\n const hasMounted = useRef(false)\n const prevCacheBuster = useRef(cacheBuster)\n useEffect(() => {\n if (hasMounted.current) {\n if (prevCacheBuster.current !== cacheBuster) {\n setInitialState(false)\n }\n prevCacheBuster.current = cacheBuster\n } else {\n hasMounted.current = true\n }\n }, [cacheBuster])\n\n const [CustomLabel, setCustomLabel] = React.useState<React.ReactNode | undefined>(\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n initialState?.['_components']?.customComponents?.BlockLabel,\n )\n\n const [CustomBlock, setCustomBlock] = React.useState<React.ReactNode | undefined>(\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n initialState?.['_components']?.customComponents?.Block,\n )\n\n const drawerSlug = formatDrawerSlug({\n slug: `lexical-inlineBlocks-create-${uuidFromContext}-${formData.id}`,\n depth: editDepth,\n })\n const { toggleDrawer } = useLexicalDrawer(drawerSlug, true)\n\n const inlineBlockElemElemRef = useRef<HTMLDivElement | null>(null)\n const { id, collectionSlug, getDocPreferences, globalSlug } = useDocumentInfo()\n const { config } = useConfig()\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: ClientBlock | undefined = blocksField.blockReferences\n ? typeof blocksField?.blockReferences?.[0] === 'string'\n ? config.blocksMap[blocksField?.blockReferences?.[0]]\n : blocksField?.blockReferences?.[0]\n : blocksField?.blocks?.[0]\n\n const clientBlockFields = clientBlock?.fields ?? []\n\n // Open drawer on \"mount\"\n useEffect(() => {\n if (!firstTimeDrawer.current && createdInlineBlock?.getKey() === nodeKey) {\n // > 2 because they always have \"id\" and \"blockName\" fields\n if (clientBlockFields.length > 2) {\n toggleDrawer()\n }\n setCreatedInlineBlock?.(undefined)\n firstTimeDrawer.current = true\n }\n }, [clientBlockFields.length, createdInlineBlock, nodeKey, setCreatedInlineBlock, toggleDrawer])\n\n const removeInlineBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey)?.remove()\n })\n }, [editor, nodeKey])\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock?.labels.singular, i18n)\n : clientBlock?.slug\n\n const onChangeAbortControllerRef = useRef(new AbortController())\n const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${clientBlock?.slug}.fields`\n\n // Initial state for newly created blocks\n useEffect(() => {\n const abortController = new AbortController()\n\n const awaitInitialState = async () => {\n /*\n * This will only run if a new block is created. For all existing blocks that are loaded when the document is loaded, or when the form is saved,\n * this is not run, as the lexical field RSC will fetch the state server-side and pass it to the client. That way, we avoid unnecessary client-side\n * requests. Though for newly created blocks, we need to fetch the state client-side, as the server doesn't know about the block yet.\n */\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: formData,\n docPermissions: { fields: true },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields),\n globalSlug,\n initialBlockData: formData,\n initialBlockFormState: formData,\n operation: 'update',\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: abortController.signal,\n })\n\n if (state) {\n const newFormStateData: InlineBlockFields = reduceFieldsToValues(\n deepCopyObjectSimpleWithoutReactComponents(state),\n true,\n ) as InlineBlockFields\n\n // Things like default values may come back from the server => update the node with the new data\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isInlineBlockNode(node)) {\n const newData = newFormStateData\n newData.blockType = formData.blockType\n\n node.setFields(newData, true)\n }\n })\n\n setInitialState(state)\n setCustomLabel(state['_components']?.customComponents?.BlockLabel)\n setCustomBlock(state['_components']?.customComponents?.Block)\n }\n }\n\n if (formData && !initialState) {\n void awaitInitialState()\n }\n\n return () => {\n abortAndIgnore(abortController)\n }\n }, [\n getFormState,\n editor,\n nodeKey,\n schemaFieldsPath,\n id,\n formData,\n initialState,\n collectionSlug,\n globalSlug,\n getDocPreferences,\n parentDocumentFields,\n ])\n\n /**\n * HANDLE ONCHANGE\n */\n const onChange = useCallback(\n async ({ formState: prevFormState, submit }: { formState: FormState; submit?: boolean }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields),\n formState: prevFormState,\n globalSlug,\n initialBlockFormState: prevFormState,\n operation: 'update',\n renderAllFields: submit ? true : false,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!state) {\n return prevFormState\n }\n\n if (submit) {\n setCustomLabel(state['_components']?.customComponents?.BlockLabel)\n setCustomBlock(state['_components']?.customComponents?.Block)\n }\n\n return state\n },\n [\n getFormState,\n id,\n collectionSlug,\n getDocPreferences,\n parentDocumentFields,\n globalSlug,\n schemaFieldsPath,\n ],\n )\n // cleanup effect\n useEffect(() => {\n return () => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [])\n\n /**\n * HANDLE FORM SUBMIT\n */\n const onFormSubmit = useCallback(\n (formState: FormState, newData: Data) => {\n newData.blockType = formData.blockType\n\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isInlineBlockNode(node)) {\n node.setFields(newData as InlineBlockFields, true)\n }\n })\n },\n [editor, nodeKey, formData],\n )\n\n const RemoveButton = useMemo(\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 ),\n [blockDisplayName, readOnly, removeInlineBlock, t],\n )\n\n const EditButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__editButton`}\n disabled={readOnly}\n el=\"button\"\n icon=\"edit\"\n onClick={() => {\n toggleDrawer()\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:edit', { label: blockDisplayName })}\n />\n ),\n [blockDisplayName, readOnly, t, toggleDrawer],\n )\n\n const InlineBlockContainer = useMemo(\n () =>\n ({ children, className }: { children: React.ReactNode; className?: string }) => (\n <div\n className={[baseClass, baseClass + '-' + formData.blockType, className]\n .filter(Boolean)\n .join(' ')}\n ref={inlineBlockElemElemRef}\n >\n {children}\n </div>\n ),\n [formData.blockType],\n )\n\n const Label = useMemo(() => {\n if (CustomLabel) {\n return () => CustomLabel\n } else {\n return () => (\n <div>{clientBlock?.labels ? getTranslation(clientBlock?.labels.singular, i18n) : ''}</div>\n )\n }\n }, [CustomLabel, clientBlock?.labels, i18n])\n\n if (!clientBlock) {\n return (\n <InlineBlockContainer className={`${baseClass}-not-found`}>\n <span>Error: Block '{formData.blockType}' not found</span>\n {editor.isEditable() ? (\n <div className={`${baseClass}__actions`}>\n <RemoveButton />\n </div>\n ) : null}\n </InlineBlockContainer>\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 onChange({ formState, submit: true })\n },\n ]}\n disableValidationOnSubmit\n el=\"div\"\n fields={clientBlock?.fields}\n initialState={initialState || {}}\n onChange={[onChange]}\n onSubmit={(formState, data) => {\n onFormSubmit(formState, data)\n toggleDrawer()\n }}\n uuid={uuid()}\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 ? (\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 {CustomBlock ? (\n <InlineBlockComponentContext.Provider\n value={{\n EditButton,\n initialState,\n InlineBlockContainer,\n Label,\n nodeKey,\n RemoveButton,\n }}\n >\n {CustomBlock}\n </InlineBlockComponentContext.Provider>\n ) : (\n <InlineBlockContainer>\n {initialState ? <Label /> : <ShimmerEffect height=\"15px\" width=\"40px\" />}\n {editor.isEditable() ? (\n <div className={`${baseClass}__actions`}>\n <EditButton />\n <RemoveButton />\n </div>\n ) : null}\n </InlineBlockContainer>\n )}\n </Form>\n )\n}\n", "'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 InlineBlockFields,\n SerializedInlineBlockNode,\n} from '../../server/nodes/InlineBlocksNode.js'\n\nimport { ServerInlineBlockNode } from '../../server/nodes/InlineBlocksNode.js'\n\nconst InlineBlockComponent = React.lazy(() =>\n import('../componentInline/index.js').then((module) => ({\n default: module.InlineBlockComponent,\n })),\n)\n\nexport class InlineBlockNode extends ServerInlineBlockNode {\n static override clone(node: ServerInlineBlockNode): ServerInlineBlockNode {\n return super.clone(node)\n }\n\n static override getType(): string {\n return super.getType()\n }\n\n static override importJSON(serializedNode: SerializedInlineBlockNode): InlineBlockNode {\n const node = $createInlineBlockNode(serializedNode.fields)\n return node\n }\n\n override decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element {\n return (\n <InlineBlockComponent\n cacheBuster={this.getCacheBuster()}\n formData={this.getFields()}\n nodeKey={this.getKey()}\n />\n )\n }\n\n override exportJSON(): SerializedInlineBlockNode {\n return super.exportJSON()\n }\n}\n\nexport function $createInlineBlockNode(fields: Exclude<InlineBlockFields, 'id'>): InlineBlockNode {\n return new InlineBlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n })\n}\n\nexport function $isInlineBlockNode(\n node: InlineBlockNode | LexicalNode | null | undefined,\n): node is InlineBlockNode {\n return node instanceof InlineBlockNode\n}\n", "import type {\n DOMConversionMap,\n DOMExportOutput,\n EditorConfig,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n SerializedLexicalNode,\n Spread,\n} from 'lexical'\nimport type { JsonObject } from 'payload'\nimport type React from 'react'\nimport type { JSX } from 'react'\n\nimport ObjectID from 'bson-objectid'\nimport { DecoratorNode } from 'lexical'\n\nexport type InlineBlockFields<TInlineBlockFields extends JsonObject = JsonObject> = {\n blockType: string\n id: string\n} & TInlineBlockFields\n\nexport type SerializedInlineBlockNode<TBlockFields extends JsonObject = JsonObject> = Spread<\n {\n children?: never // required so that our typed editor state doesn't automatically add children\n fields: InlineBlockFields<TBlockFields>\n type: 'inlineBlock'\n },\n SerializedLexicalNode\n>\n\nexport class ServerInlineBlockNode extends DecoratorNode<null | React.ReactElement> {\n __cacheBuster: number\n __fields: InlineBlockFields\n\n constructor({\n cacheBuster,\n fields,\n key,\n }: {\n cacheBuster?: number\n fields: InlineBlockFields\n key?: NodeKey\n }) {\n super(key)\n this.__fields = fields\n this.__cacheBuster = cacheBuster || 0\n }\n\n static override clone(node: ServerInlineBlockNode): ServerInlineBlockNode {\n return new this({\n cacheBuster: node.__cacheBuster,\n fields: node.__fields,\n key: node.__key,\n })\n }\n\n static override getType(): string {\n return 'inlineBlock'\n }\n\n static override importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {}\n }\n\n static override importJSON(serializedNode: SerializedInlineBlockNode): ServerInlineBlockNode {\n const node = $createServerInlineBlockNode(serializedNode.fields)\n return node\n }\n\n static isInline(): false {\n return false\n }\n\n canIndent() {\n return true\n }\n override createDOM() {\n const element = document.createElement('span')\n element.classList.add('inline-block-container')\n\n return element\n }\n\n override decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element | null {\n return null\n }\n\n override exportDOM(): DOMExportOutput {\n const element = document.createElement('span')\n element.classList.add('inline-block-container')\n\n const text = document.createTextNode(this.getTextContent())\n element.append(text)\n return { element }\n }\n\n override exportJSON(): SerializedInlineBlockNode {\n return {\n type: 'inlineBlock',\n fields: this.getFields(),\n version: 1,\n }\n }\n\n getCacheBuster(): number {\n return this.getLatest().__cacheBuster\n }\n\n getFields(): InlineBlockFields {\n return this.getLatest().__fields\n }\n\n override getTextContent(): string {\n return `Block Field`\n }\n\n override isInline() {\n return true\n }\n\n setFields(fields: InlineBlockFields, preventFormStateUpdate?: boolean): void {\n const writable = this.getWritable()\n writable.__fields = fields\n if (!preventFormStateUpdate) {\n writable.__cacheBuster++\n }\n }\n\n override updateDOM(): boolean {\n return false\n }\n}\n\nexport function $createServerInlineBlockNode(\n fields: Exclude<InlineBlockFields, 'id'>,\n): ServerInlineBlockNode {\n return new ServerInlineBlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n })\n}\n\nexport function $isServerInlineBlockNode(\n node: LexicalNode | null | ServerInlineBlockNode | undefined,\n): node is ServerInlineBlockNode {\n return node instanceof ServerInlineBlockNode\n}\n"],
|
|
5
|
+
"mappings": "mJAEA,OAAOA,GAASC,iBAAAA,GAAeC,eAAAA,EAAaC,aAAAA,EAAWC,WAAAA,EAASC,UAAAA,MAAc,QAK9E,OAASC,6BAAAA,OAAiC,wCAC1C,OAASC,kBAAAA,OAAsB,2BAC/B,OACEC,UAAAA,GACAC,UAAAA,GACAC,qBAAAA,GACAC,QAAAA,GACAC,oBAAAA,GACAC,cAAAA,GACAC,gBAAAA,GACAC,iBAAAA,GACAC,aAAAA,GACAC,mBAAAA,GACAC,mBAAAA,GACAC,gBAAAA,GACAC,sBAAAA,GACAC,kBAAAA,OACK,iBACP,OAASC,kBAAAA,MAAsB,wBAC/B,OAASC,iBAAAA,MAAqB,UAI9B,OAASC,8CAAAA,EAA4CC,wBAAAA,OAA4B,iBACjF,OAASC,MAAMC,OAAY,gDC5B3B,OAAOC,OAAc,gBACrB,OAAOC,OAAyB,QCUhC,OAAOC,OAAc,gBACrB,OAASC,iBAAAA,OAAqB,UAgBvB,IAAMC,EAAN,cAAoCD,EAAA,CACzCE,cACAC,SAEAC,YAAY,CACVC,YAAAA,EACAC,OAAAA,EACAC,IAAAA,CAAG,EAKF,CACD,MAAMA,CAAA,EACN,KAAKJ,SAAWG,EAChB,KAAKJ,cAAgBG,GAAe,CACtC,CAEA,OAAgBG,MAAMC,EAAoD,CACxE,OAAO,IAAI,KAAK,CACdJ,YAAaI,EAAKP,cAClBI,OAAQG,EAAKN,SACbI,IAAKE,EAAKC,KACZ,CAAA,CACF,CAEA,OAAgBC,SAAkB,CAChC,MAAO,aACT,CAEA,OAAgBC,WAAqD,CACnE,MAAO,CAAC,CACV,CAEA,OAAgBC,WAAWC,EAAkE,CAE3F,OADaC,GAA6BD,EAAeR,MAAM,CAEjE,CAEA,OAAOU,UAAkB,CACvB,MAAO,EACT,CAEAC,WAAY,CACV,MAAO,EACT,CACSC,WAAY,CACnB,IAAMC,EAAUC,SAASC,cAAc,MAAA,EACvCF,OAAAA,EAAQG,UAAUC,IAAI,wBAAA,EAEfJ,CACT,CAESK,SAASC,EAAuBC,EAA0C,CACjF,OAAO,IACT,CAESC,WAA6B,CACpC,IAAMR,EAAUC,SAASC,cAAc,MAAA,EACvCF,EAAQG,UAAUC,IAAI,wBAAA,EAEtB,IAAMK,EAAOR,SAASS,eAAe,KAAKC,eAAc,CAAA,EACxDX,OAAAA,EAAQY,OAAOH,CAAA,EACR,CAAET,QAAAA,CAAQ,CACnB,CAESa,YAAwC,CAC/C,MAAO,CACLC,KAAM,cACN3B,OAAQ,KAAK4B,UAAS,EACtBC,QAAS,CACX,CACF,CAEAC,gBAAyB,CACvB,OAAO,KAAKC,UAAS,EAAGnC,aAC1B,CAEAgC,WAA+B,CAC7B,OAAO,KAAKG,UAAS,EAAGlC,QAC1B,CAES2B,gBAAyB,CAChC,MAAO,aACT,CAESd,UAAW,CAClB,MAAO,EACT,CAEAsB,UAAUhC,EAA2BiC,EAAwC,CAC3E,IAAMC,EAAW,KAAKC,YAAW,EACjCD,EAASrC,SAAWG,EACfiC,GACHC,EAAStC,eAEb,CAESwC,WAAqB,CAC5B,MAAO,EACT,CACF,EAEO,SAAS3B,GACdT,EAAwC,CAExC,OAAO,IAAIL,EAAsB,CAC/BK,OAAQ,CACN,GAAGA,EACHqC,GAAIrC,GAAQqC,IAAM,IAAI5C,GAAS6C,QAAO,EAAGC,YAAW,CACtD,CACF,CAAA,CACF,CDlIA,IAAMC,GAAuBC,GAAMC,KAAK,IACtC,OAAO,+BAAA,EAA+BC,KAAMC,IAAY,CACtDC,QAASD,EAAOJ,oBAClB,EAAA,CAAA,EAGWM,EAAN,cAA8BC,CAAA,CACnC,OAAgBC,MAAMC,EAAoD,CACxE,OAAO,MAAMD,MAAMC,CAAA,CACrB,CAEA,OAAgBC,SAAkB,CAChC,OAAO,MAAMA,QAAA,CACf,CAEA,OAAgBC,WAAWC,EAA4D,CAErF,OADaC,GAAuBD,EAAeE,MAAM,CAE3D,CAESC,SAASC,EAAuBC,EAAmC,CAC1E,OACEC,GAAClB,GAAA,CACCmB,YAAa,KAAKC,eAAc,EAChCC,SAAU,KAAKC,UAAS,EACxBC,QAAS,KAAKC,OAAM,GAG1B,CAESC,YAAwC,CAC/C,OAAO,MAAMA,WAAA,CACf,CACF,EAEO,SAASZ,GAAuBC,EAAwC,CAC7E,OAAO,IAAIR,EAAgB,CACzBQ,OAAQ,CACN,GAAGA,EACHY,GAAIZ,GAAQY,IAAM,IAAIC,GAAStB,QAAO,EAAGuB,YAAW,CACtD,CACF,CAAA,CACF,CAEO,SAASC,EACdpB,EAAsD,CAEtD,OAAOA,aAAgBH,CACzB,CD1DA,IAAMwB,EAAY,eAwDZC,GAA8BC,GAA+C,CACjFC,aAAc,EAChB,CAAA,EAEaC,GAAiCA,IAAMC,EAAAC,WAAAL,EAAiB,EAExDM,GAAyCC,GAAA,CACpD,GAAM,CAAEC,YAAAA,EAAaC,SAAAA,EAAUC,QAAAA,CAAO,EAAKH,EAErC,CAACI,CAAA,EAAUC,GAAA,EACX,CAAEC,KAAAA,EAAMC,EAAAA,CAAC,EAAKC,GAAA,EACd,CACJC,mBAAAA,EACAC,WAAY,CACVC,uBAAAA,GACAC,wBAAAA,GACAC,YAAAA,GACAC,SAAAA,EACAC,WAAAA,CAAU,EAEZC,sBAAAA,EACAC,KAAMC,EAAe,EACnBC,GAAA,EACE,CAAEC,OAAQC,CAAoB,EAAKC,GAAA,EAEnC,CAAEC,aAAAA,CAAY,EAAKC,GAAA,EACnBC,GAAYC,GAAA,EACZC,EAAkBC,EAAO,EAAA,EAEzB,CAACjC,EAAckC,CAAA,EAAmBhC,EAAMiC,SAC5C,IAAMlB,KAA0BV,EAAS6B,EAAE,GAAGC,SAAA,EAG1CC,EAAaL,EAAO,EAAA,EACpBM,EAAkBN,EAAO3B,CAAA,EAC/BkC,EAAU,IAAA,CACJF,EAAWG,SACTF,EAAgBE,UAAYnC,GAC9B4B,EAAgB,EAAA,EAElBK,EAAgBE,QAAUnC,GAE1BgC,EAAWG,QAAU,EAEzB,EAAG,CAACnC,CAAA,CAAY,EAEhB,GAAM,CAACoC,EAAaC,CAAA,EAAkBzC,EAAMiC,SAE1CnC,GAAe,aAAgB4C,kBAAkBC,UAAA,EAG7C,CAACC,EAAaC,CAAA,EAAkB7C,EAAMiC,SAE1CnC,GAAe,aAAgB4C,kBAAkBI,KAAA,EAG7CC,EAAaC,GAAiB,CAClCC,KAAM,+BAA+B5B,EAAA,IAAmBhB,EAAS6B,EAAE,GACnEgB,MAAOtB,EACT,CAAA,EACM,CAAEuB,aAAAA,CAAY,EAAKC,GAAiBL,EAAY,EAAA,EAEhDM,GAAyBtB,EAA8B,IAAA,EACvD,CAAEG,GAAAA,EAAIoB,eAAAA,EAAgBC,kBAAAA,EAAmBC,WAAAA,CAAU,EAAKC,GAAA,EACxD,CAAEC,OAAAA,EAAM,EAAKC,GAAA,EAEbC,GAAgC,GAAG1C,CAAA,0DAAoEb,EAASwD,SAAS,GAIzHC,EAFkBhD,GAAuB,SAG7C8C,EAAA,IACE,CAAA,EAEEG,EAAuCD,EAAYE,gBACrD,OAAOF,GAAaE,kBAAkB,CAAA,GAAO,SAC3CN,GAAOO,UAAUH,GAAaE,kBAAkB,CAAA,CAAE,EAClDF,GAAaE,kBAAkB,CAAA,EACjCF,GAAaI,SAAS,CAAA,EAEpBC,GAAoBJ,GAAaxC,QAAU,CAAA,EAGjDe,EAAU,IAAA,CACJ,CAACR,EAAgBS,SAAW3B,GAAoBwD,OAAA,IAAa9D,IAE3D6D,GAAkBE,OAAS,GAC7BlB,EAAA,EAEFhC,IAAwBmD,MAAA,EACxBxC,EAAgBS,QAAU,GAE9B,EAAG,CAAC4B,GAAkBE,OAAQzD,EAAoBN,EAASa,EAAuBgC,CAAA,CAAa,EAE/F,IAAMoB,GAAoBC,EAAY,IAAA,CACpCjE,EAAOkE,OAAO,IAAA,CACZC,EAAcpE,CAAA,GAAUqE,OAAA,CAC1B,CAAA,CACF,EAAG,CAACpE,EAAQD,CAAA,CAAQ,EAEdsE,EAAmBb,GAAac,QAAQC,SAC1CC,GAAehB,GAAac,OAAOC,SAAUrE,CAAA,EAC7CsD,GAAad,KAEX+B,EAA6BjD,EAAO,IAAIkD,eAAA,EACxCC,EAAmB,GAAGhE,CAAA,0DAAoE6C,GAAad,IAAA,UAG7GX,EAAU,IAAA,CACR,IAAM6C,EAAkB,IAAIF,gBA+C5B,OAAI5E,GAAY,CAACP,IA7CS,SAAA,CAMxB,GAAM,CAAEsF,MAAAA,CAAK,EAAK,MAAM1D,EAAa,CACnCQ,GAAAA,EACAoB,eAAAA,EACA+B,KAAMhF,EACNiF,eAAgB,CAAE/D,OAAQ,EAAK,EAC/BgE,eAAgB,MAAMhC,EAAA,EACtBiC,kBAAmBC,EAA2CjE,CAAA,EAC9DgC,WAAAA,EACAkC,iBAAkBrF,EAClBsF,sBAAuBtF,EACvBuF,UAAW,SACXC,gBAAiB,GACjB3E,WAAYgE,EACZY,OAAQX,EAAgBW,MAC1B,CAAA,EAEA,GAAIV,EAAO,CACT,IAAMW,EAAsCC,GAC1CP,EAA2CL,CAAA,EAC3C,EAAA,EAIF7E,EAAOkE,OAAO,IAAA,CACZ,IAAMwB,EAAOvB,EAAcpE,CAAA,EAC3B,GAAI2F,GAAQC,EAAmBD,CAAA,EAAO,CACpC,IAAME,GAAUJ,EAChBI,GAAQtC,UAAYxD,EAASwD,UAE7BoC,EAAKG,UAAUD,GAAS,EAAA,CAC1B,CACF,CAAA,EAEAnE,EAAgBoD,CAAA,EAChB3C,EAAe2C,EAAM,aAAgB1C,kBAAkBC,UAAA,EACvDE,EAAeuC,EAAM,aAAgB1C,kBAAkBI,KAAA,CACzD,CACF,GAGO,EAGA,IAAA,CACLuD,EAAelB,CAAA,CACjB,CACF,EAAG,CACDzD,EACAnB,EACAD,EACA4E,EACAhD,EACA7B,EACAP,EACAwD,EACAE,EACAD,EACA/B,CAAA,CACD,EAKD,IAAM8E,GAAW9B,EACf,MAAO,CAAErC,UAAWoE,EAAeC,OAAAA,CAAM,IAA8C,CACrFH,EAAerB,EAA2BzC,OAAO,EAEjD,IAAMkE,EAAa,IAAIxB,gBACvBD,EAA2BzC,QAAUkE,EAErC,GAAM,CAAErB,MAAAA,CAAK,EAAK,MAAM1D,EAAa,CACnCQ,GAAAA,EACAoB,eAAAA,EACAgC,eAAgB,CACd/D,OAAQ,EACV,EACAgE,eAAgB,MAAMhC,EAAA,EACtBiC,kBAAmBC,EAA2CjE,CAAA,EAC9DW,UAAWoE,EACX/C,WAAAA,EACAmC,sBAAuBY,EACvBX,UAAW,SACXC,gBAAiBW,EAAAA,EACjBtF,WAAYgE,EACZY,OAAQW,EAAWX,MACrB,CAAA,EAEA,OAAKV,GAIDoB,IACF/D,EAAe2C,EAAM,aAAgB1C,kBAAkBC,UAAA,EACvDE,EAAeuC,EAAM,aAAgB1C,kBAAkBI,KAAA,GAGlDsC,GAREmB,CASX,EACA,CACE7E,EACAQ,EACAoB,EACAC,EACA/B,EACAgC,EACA0B,CAAA,CACD,EAGH5C,EAAU,IACD,IAAA,CACL+D,EAAerB,EAA2BzC,OAAO,CACnD,EACC,CAAA,CAAE,EAKL,IAAMmE,GAAelC,EACnB,CAACrC,EAAsBgE,IAAA,CACrBA,EAAQtC,UAAYxD,EAASwD,UAE7BtD,EAAOkE,OAAO,IAAA,CACZ,IAAMwB,EAAOvB,EAAcpE,CAAA,EACvB2F,GAAQC,EAAmBD,CAAA,GAC7BA,EAAKG,UAAUD,EAA8B,EAAA,CAEjD,CAAA,CACF,EACA,CAAC5F,EAAQD,EAASD,CAAA,CAAS,EAGvBsG,EAAeC,EACnB,IAAM,IACJC,EAACC,GAAA,CACCC,YAAY,aACZC,UAAW,GAAGrH,CAAA,iBACdsH,SAAUhG,EACViG,KAAK,IACLC,QAAUC,GAAA,CACRA,EAAEC,eAAc,EAChB9C,GAAA,CACF,EACA+C,MAAK,GACLC,KAAK,QACLC,QAAS9G,EAAE,qCAAsC,CAAE+G,MAAO7C,CAAiB,CAAA,IAG/E,CAACA,EAAkB3D,EAAUsD,GAAmB7D,CAAA,CAAE,EAG9CgH,GAAad,EACjB,IAAM,IACJC,EAACC,GAAA,CACCC,YAAY,aACZC,UAAW,GAAGrH,CAAA,eACdsH,SAAUhG,EACV0G,GAAG,SACHT,KAAK,OACLC,QAASA,IAAA,CACPhE,EAAA,CACF,EACAmE,MAAK,GACLC,KAAK,QACLC,QAAS9G,EAAE,mCAAoC,CAAE+G,MAAO7C,CAAiB,CAAA,IAG7E,CAACA,EAAkB3D,EAAUP,EAAGyC,CAAA,CAAa,EAGzCyE,EAAuBhB,EAC3B,IACE,CAAC,CAAEiB,SAAAA,EAAUb,UAAAA,CAAS,IACpBH,EAAC,MAAA,CACCG,UAAW,CAACrH,EAAWA,EAAY,IAAMU,EAASwD,UAAWmD,CAAA,EAC1Dc,OAAOC,OAAA,EACPC,KAAK,GAAA,EACRC,IAAK5E,YAEJwE,IAGP,CAACxH,EAASwD,SAAS,CAAC,EAGhBqE,GAAQtB,EAAQ,IAChBpE,EACK,IAAMA,EAEN,IACLqE,EAAC,MAAA,UAAK9C,GAAac,OAASE,GAAehB,GAAac,OAAOC,SAAUrE,CAAA,EAAQ,KAGpF,CAAC+B,EAAauB,GAAac,OAAQpE,CAAA,CAAK,EAE3C,OAAKsD,EAcHoE,EAACC,GAAA,CACCC,aAAc,CACZ,MAAO,CAAElG,UAAAA,CAAS,IAET,MAAMmE,GAAS,CAAEnE,UAAAA,EAAWqE,OAAQ,EAAK,CAAA,CAClD,EAEF8B,0BAAyB,GACzBX,GAAG,MACHpG,OAAQwC,GAAaxC,OACrBzB,aAAcA,GAAgB,CAAC,EAC/BwG,SAAU,CAACA,EAAA,EACXiC,SAAUA,CAACpG,EAAWkD,IAAA,CACpBqB,GAAavE,EAAWkD,CAAA,EACxBlC,EAAA,CACF,EACA/B,KAAMA,GAAA,YAENyF,EAAC2B,GAAA,UACC3B,EAAC4B,GAAA,CACCzB,UAAW,GACX/D,KAAMF,EACN2F,MAAOhI,EAAE,+BAA+BL,GAAU6B,GAAK,OAAS,QAAA,GAAY,CAC1EuF,MAAO7C,GAAoBlE,EAAE,mCAAA,CAC/B,CAAA,WAECZ,EACCqI,EAAAQ,GAAA,WACE9B,EAAC+B,GAAA,CACCrH,OAAQwC,GAAaxC,OACrBsH,YAAW,GACXC,gBAAgB,GAChBC,WAAW,GACXC,iBAAkB9D,EAClBlE,YAAaA,GACbC,SAAU,KAEZ4F,EAACoC,GAAA,CAAWC,mBAAoB,YAAOxI,EAAE,oBAAA,OAEzC,SAGPkC,EACCiE,EAACjH,GAA4BuJ,SAAQ,CACnCC,MAAO,CACL1B,WAAAA,GACA5H,aAAAA,EACA8H,qBAAAA,EACAM,MAAAA,GACA5H,QAAAA,EACAqG,aAAAA,CACF,WAEC/D,IAGHuF,EAACP,EAAA,WACE9H,EAAe+G,EAACqB,GAAA,CAAA,CAAA,EAAWrB,EAACwC,GAAA,CAAcC,OAAO,OAAOC,MAAM,SAC9DhJ,EAAOiJ,WAAU,EAChBrB,EAAC,MAAA,CAAInB,UAAW,GAAGrH,CAAA,sBACjBkH,EAACa,GAAA,CAAA,CAAA,EACDb,EAACF,EAAA,CAAA,CAAA,CAAA,IAED,IAAA,OA3ERwB,EAACP,EAAA,CAAqBZ,UAAW,GAAGrH,CAAA,uBAClCwI,EAAC,OAAA,WAAK,iBAAe9H,EAASwD,UAAU,aAAA,IACvCtD,EAAOiJ,WAAU,EAChB3C,EAAC,MAAA,CAAIG,UAAW,GAAGrH,CAAA,qBACjBkH,EAACF,EAAA,CAAA,CAAA,IAED,IAAA,GA0EZ",
|
|
6
|
+
"names": ["React", "createContext", "useCallback", "useEffect", "useMemo", "useRef", "useLexicalComposerContext", "getTranslation", "Button", "Drawer", "EditDepthProvider", "Form", "formatDrawerSlug", "FormSubmit", "RenderFields", "ShimmerEffect", "useConfig", "useDocumentForm", "useDocumentInfo", "useEditDepth", "useServerFunctions", "useTranslation", "abortAndIgnore", "$getNodeByKey", "deepCopyObjectSimpleWithoutReactComponents", "reduceFieldsToValues", "v4", "uuid", "ObjectID", "React", "ObjectID", "DecoratorNode", "ServerInlineBlockNode", "__cacheBuster", "__fields", "constructor", "cacheBuster", "fields", "key", "clone", "node", "__key", "getType", "importDOM", "importJSON", "serializedNode", "$createServerInlineBlockNode", "isInline", "canIndent", "createDOM", "element", "document", "createElement", "classList", "add", "decorate", "editor", "config", "exportDOM", "text", "createTextNode", "getTextContent", "append", "exportJSON", "type", "getFields", "version", "getCacheBuster", "getLatest", "setFields", "preventFormStateUpdate", "writable", "getWritable", "updateDOM", "id", "default", "toHexString", "InlineBlockComponent", "React", "lazy", "then", "module", "default", "InlineBlockNode", "ServerInlineBlockNode", "clone", "node", "getType", "importJSON", "serializedNode", "$createInlineBlockNode", "fields", "decorate", "editor", "config", "_jsx", "cacheBuster", "getCacheBuster", "formData", "getFields", "nodeKey", "getKey", "exportJSON", "id", "ObjectID", "toHexString", "$isInlineBlockNode", "baseClass", "InlineBlockComponentContext", "createContext", "initialState", "useInlineBlockComponentContext", "React", "useContext", "InlineBlockComponent", "props", "cacheBuster", "formData", "nodeKey", "editor", "useLexicalComposerContext", "i18n", "t", "useTranslation", "createdInlineBlock", "fieldProps", "featureClientSchemaMap", "initialLexicalFormState", "permissions", "readOnly", "schemaPath", "setCreatedInlineBlock", "uuid", "uuidFromContext", "useEditorConfigContext", "fields", "parentDocumentFields", "useDocumentForm", "getFormState", "useServerFunctions", "editDepth", "useEditDepth", "firstTimeDrawer", "useRef", "setInitialState", "useState", "id", "formState", "hasMounted", "prevCacheBuster", "useEffect", "current", "CustomLabel", "setCustomLabel", "customComponents", "BlockLabel", "CustomBlock", "setCustomBlock", "Block", "drawerSlug", "formatDrawerSlug", "slug", "depth", "toggleDrawer", "useLexicalDrawer", "inlineBlockElemElemRef", "collectionSlug", "getDocPreferences", "globalSlug", "useDocumentInfo", "config", "useConfig", "componentMapRenderedBlockPath", "blockType", "blocksField", "clientBlock", "blockReferences", "blocksMap", "blocks", "clientBlockFields", "getKey", "length", "undefined", "removeInlineBlock", "useCallback", "update", "$getNodeByKey", "remove", "blockDisplayName", "labels", "singular", "getTranslation", "onChangeAbortControllerRef", "AbortController", "schemaFieldsPath", "abortController", "state", "data", "docPermissions", "docPreferences", "documentFormState", "deepCopyObjectSimpleWithoutReactComponents", "initialBlockData", "initialBlockFormState", "operation", "renderAllFields", "signal", "newFormStateData", "reduceFieldsToValues", "node", "$isInlineBlockNode", "newData", "setFields", "abortAndIgnore", "onChange", "prevFormState", "submit", "controller", "onFormSubmit", "RemoveButton", "useMemo", "_jsx", "Button", "buttonStyle", "className", "disabled", "icon", "onClick", "e", "preventDefault", "round", "size", "tooltip", "label", "EditButton", "el", "InlineBlockContainer", "children", "filter", "Boolean", "join", "ref", "Label", "_jsxs", "Form", "beforeSubmit", "disableValidationOnSubmit", "onSubmit", "EditDepthProvider", "Drawer", "title", "_Fragment", "RenderFields", "forceRender", "parentIndexPath", "parentPath", "parentSchemaPath", "FormSubmit", "programmaticSubmit", "Provider", "value", "ShimmerEffect", "height", "width", "isEditable"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{a as R,b as S,c as E}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=component-
|
|
1
|
+
"use client";import{a as R,b as S,c as E}from"./chunk-PUXDVIHC.js";import{a as N}from"./chunk-INBEEENE.js";import{a as $}from"./chunk-F26IQ5RE.js";import{b as p}from"./chunk-3LGFOM34.js";import{jsx as e,jsxs as i}from"react/jsx-runtime";import{useLexicalComposerContext as X}from"@lexical/react/LexicalComposerContext.js";import{getTranslation as y}from"@payloadcms/translations";import{Button as h,File as Y,formatDrawerSlug as Z,useConfig as ee,useEditDepth as te,usePayloadAPI as oe,useTranslation as ae}from"@payloadcms/ui";import{$getNodeByKey as P}from"lexical";import{useCallback as f,useId as le,useReducer as se,useRef as re,useState as ie}from"react";var t="lexical-upload",U={depth:0},ne=n=>{let{data:{fields:L,relationTo:g,value:l},nodeKey:s}=n;if(typeof l=="object")throw new Error("Upload value should be a string or number. The Lexical Upload component should not receive the populated value object.");let{config:{routes:{api:F},serverURL:T},getEntityConfig:j}=ee(),B=re(null),{uuid:I}=p(),k=te(),[o]=X(),{editorConfig:A,fieldProps:{readOnly:u,schemaPath:K}}=p(),{i18n:b,t:d}=ae(),[_,M]=se(r=>r+1,0),[a]=ie(()=>j({collectionSlug:g})),O=le(),w=Z({slug:"lexical-upload-drawer-"+I+O,depth:k}),{toggleDrawer:W}=N(w,!0),{closeDocumentDrawer:D,DocumentDrawer:z,DocumentDrawerToggler:H}=$({id:l,collectionSlug:a.slug}),[{data:c},{setParams:x}]=oe(`${T}${F}/${a.slug}/${l}`,{initialParams:U}),C=c?.thumbnailURL||c?.url,q=f(()=>{o.update(()=>{P(s)?.remove()})},[o,s]),G=f(r=>{x({...U,cacheBust:_}),M(),D()},[x,_,D]),v=A?.resolvedFeatureMap?.get("upload")?.sanitizedClientFeatureProps.collections?.[a.slug]?.hasExtraFields,J=f((r,Q)=>{o.update(()=>{let m=P(s);if(m){let V={...m.getData(),fields:Q};m.setData(V)}})},[o,s]);return i("div",{className:t,contentEditable:!1,ref:B,children:[i("div",{className:`${t}__card`,children:[i("div",{className:`${t}__topRow`,children:[e("div",{className:`${t}__thumbnail`,children:C?e("img",{alt:c?.filename,"data-lexical-upload-id":l,"data-lexical-upload-relation-to":g,src:C}):e(Y,{})}),i("div",{className:`${t}__topRowRightPanel`,children:[e("div",{className:`${t}__collectionLabel`,children:y(a.labels.singular,b)}),o.isEditable()&&i("div",{className:`${t}__actions`,children:[v?e(h,{buttonStyle:"icon-label",className:`${t}__upload-drawer-toggler`,disabled:u,el:"button",icon:"edit",onClick:()=>{W()},round:!0,tooltip:d("fields:editRelationship")}):null,e(h,{buttonStyle:"icon-label",className:`${t}__swap-drawer-toggler`,disabled:u,el:"button",icon:"swap",onClick:()=>{o.dispatchCommand(E,{replace:{nodeKey:s}})},round:!0,tooltip:d("fields:swapUpload")}),e(h,{buttonStyle:"icon-label",className:`${t}__removeButton`,disabled:u,icon:"x",onClick:r=>{r.preventDefault(),q()},round:!0,tooltip:d("fields:removeUpload")})]})]})]}),e("div",{className:`${t}__bottomRow`,children:e(H,{className:`${t}__doc-drawer-toggler`,children:e("strong",{children:c?.filename})})})]}),l?e(z,{onSave:G}):null,v?e(R,{data:L,drawerSlug:w,drawerTitle:d("general:editLabel",{label:y(a.labels.singular,b)}),featureKey:"upload",handleDrawerSubmit:J,schemaPath:K,schemaPathSuffix:a.slug}):null]})},Ce=n=>e(S,{...n,uploads:!0,children:e(ne,{...n})});export{Ce as UploadComponent};
|
|
2
|
+
//# sourceMappingURL=component-P5K7Z5NW.js.map
|