@payloadcms/richtext-lexical 3.29.0-canary.5 → 3.29.0-canary.6
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-5SZDDPZE.js +2 -0
- package/dist/exports/client/Field-5SZDDPZE.js.map +7 -0
- package/dist/exports/client/bundled.css +1 -1
- 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/plaintext/index.d.ts +3 -0
- package/dist/exports/plaintext/index.d.ts.map +1 -0
- package/dist/exports/plaintext/index.js +2 -0
- package/dist/exports/plaintext/index.js.map +1 -0
- 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/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/htmlToLexical/index.d.ts.map +1 -1
- package/dist/features/converters/htmlToLexical/index.js +0 -1
- package/dist/features/converters/htmlToLexical/index.js.map +1 -1
- package/dist/features/converters/lexicalToHtml/async/converters/blockquote.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/heading.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/link.d.ts.map +1 -0
- package/dist/features/converters/{html → lexicalToHtml}/async/converters/link.js +4 -8
- package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/tab.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/table.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/table.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/text.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/text.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/upload.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/field/index.d.ts.map +1 -0
- package/dist/features/converters/{html → lexicalToHtml}/async/field/index.js +11 -11
- package/dist/features/converters/lexicalToHtml/async/field/index.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/index.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/index.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/types.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/shared/types.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/shared/types.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/heading.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/link.d.ts.map +1 -0
- package/dist/features/converters/{html → lexicalToHtml}/sync/converters/link.js +4 -8
- package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/table.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/text.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/upload.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/index.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/index.js.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/index.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/types.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/field/index.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/field/index.js.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/index.d.ts.map +1 -0
- package/dist/features/converters/lexicalToHtml_deprecated/index.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/link.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/link.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/tab.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/table.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/table.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/text.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/text.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/index.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +1 -0
- package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -0
- package/dist/features/converters/lexicalToMarkdown/index.d.ts +7 -0
- package/dist/features/converters/lexicalToMarkdown/index.d.ts.map +1 -0
- package/dist/features/converters/lexicalToMarkdown/index.js +24 -0
- package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -0
- package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +84 -0
- package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +1 -0
- package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.d.ts +7 -0
- package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.d.ts.map +1 -0
- package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js +15 -0
- package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +1 -0
- package/dist/features/converters/lexicalToPlaintext/shared/types.d.ts +5 -0
- package/dist/features/converters/lexicalToPlaintext/shared/types.d.ts.map +1 -0
- package/dist/features/converters/lexicalToPlaintext/shared/types.js +2 -0
- package/dist/features/converters/lexicalToPlaintext/shared/types.js.map +1 -0
- package/dist/features/converters/lexicalToPlaintext/sync/index.d.ts +22 -0
- package/dist/features/converters/lexicalToPlaintext/sync/index.d.ts.map +1 -0
- package/dist/features/converters/lexicalToPlaintext/sync/index.js +79 -0
- package/dist/features/converters/lexicalToPlaintext/sync/index.js.map +1 -0
- package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts +60 -0
- package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts.map +1 -0
- package/dist/features/converters/lexicalToPlaintext/sync/types.js +2 -0
- package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -0
- package/dist/features/converters/markdownToLexical/index.d.ts +8 -0
- package/dist/features/converters/markdownToLexical/index.d.ts.map +1 -0
- package/dist/features/converters/markdownToLexical/index.js +21 -0
- package/dist/features/converters/markdownToLexical/index.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 +1 -0
- package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -1
- package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +5 -1
- package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/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 +26 -6
- package/dist/features/indent/client/IndentPlugin.js.map +1 -1
- package/dist/features/indent/server/index.d.ts +7 -0
- 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.js +1 -1
- 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/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 +2 -3
- package/dist/field/Field.js.map +1 -1
- package/dist/field/bundled.css +1 -1
- package/dist/index.d.ts +13 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -10
- package/dist/index.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 +23 -18
- package/dist/exports/client/Field-IUDF2DGI.js +0 -2
- package/dist/exports/client/Field-IUDF2DGI.js.map +0 -7
- package/dist/features/converters/html/async/converters/blockquote.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/blockquote.js.map +0 -1
- package/dist/features/converters/html/async/converters/heading.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/heading.js.map +0 -1
- package/dist/features/converters/html/async/converters/horizontalRule.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/horizontalRule.js.map +0 -1
- package/dist/features/converters/html/async/converters/linebreak.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/linebreak.js.map +0 -1
- package/dist/features/converters/html/async/converters/link.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/link.js.map +0 -1
- package/dist/features/converters/html/async/converters/list.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/list.js.map +0 -1
- package/dist/features/converters/html/async/converters/paragraph.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/paragraph.js.map +0 -1
- package/dist/features/converters/html/async/converters/tab.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/tab.js.map +0 -1
- package/dist/features/converters/html/async/converters/table.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/table.js.map +0 -1
- package/dist/features/converters/html/async/converters/text.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/text.js.map +0 -1
- package/dist/features/converters/html/async/converters/upload.d.ts.map +0 -1
- package/dist/features/converters/html/async/converters/upload.js.map +0 -1
- package/dist/features/converters/html/async/defaultConverters.d.ts.map +0 -1
- package/dist/features/converters/html/async/defaultConverters.js.map +0 -1
- package/dist/features/converters/html/async/field/index.d.ts.map +0 -1
- package/dist/features/converters/html/async/field/index.js.map +0 -1
- package/dist/features/converters/html/async/index.d.ts.map +0 -1
- package/dist/features/converters/html/async/index.js.map +0 -1
- package/dist/features/converters/html/async/types.d.ts.map +0 -1
- package/dist/features/converters/html/async/types.js.map +0 -1
- package/dist/features/converters/html/shared/findConverterForNode.d.ts.map +0 -1
- package/dist/features/converters/html/shared/findConverterForNode.js.map +0 -1
- package/dist/features/converters/html/shared/types.d.ts.map +0 -1
- package/dist/features/converters/html/shared/types.js.map +0 -1
- package/dist/features/converters/html/sync/converters/blockquote.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/blockquote.js.map +0 -1
- package/dist/features/converters/html/sync/converters/heading.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/heading.js.map +0 -1
- package/dist/features/converters/html/sync/converters/horizontalRule.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/horizontalRule.js.map +0 -1
- package/dist/features/converters/html/sync/converters/linebreak.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/linebreak.js.map +0 -1
- package/dist/features/converters/html/sync/converters/link.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/link.js.map +0 -1
- package/dist/features/converters/html/sync/converters/list.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/list.js.map +0 -1
- package/dist/features/converters/html/sync/converters/paragraph.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/paragraph.js.map +0 -1
- package/dist/features/converters/html/sync/converters/tab.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/tab.js.map +0 -1
- package/dist/features/converters/html/sync/converters/table.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/table.js.map +0 -1
- package/dist/features/converters/html/sync/converters/text.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/text.js.map +0 -1
- package/dist/features/converters/html/sync/converters/upload.d.ts.map +0 -1
- package/dist/features/converters/html/sync/converters/upload.js.map +0 -1
- package/dist/features/converters/html/sync/defaultConverters.d.ts.map +0 -1
- package/dist/features/converters/html/sync/defaultConverters.js.map +0 -1
- package/dist/features/converters/html/sync/index.d.ts.map +0 -1
- package/dist/features/converters/html/sync/index.js.map +0 -1
- package/dist/features/converters/html/sync/types.d.ts.map +0 -1
- package/dist/features/converters/html/sync/types.js.map +0 -1
- package/dist/features/converters/html_deprecated/converter/converters/linebreak.d.ts.map +0 -1
- package/dist/features/converters/html_deprecated/converter/converters/linebreak.js.map +0 -1
- package/dist/features/converters/html_deprecated/converter/converters/paragraph.d.ts.map +0 -1
- package/dist/features/converters/html_deprecated/converter/converters/paragraph.js.map +0 -1
- package/dist/features/converters/html_deprecated/converter/converters/tab.d.ts.map +0 -1
- package/dist/features/converters/html_deprecated/converter/converters/tab.js.map +0 -1
- package/dist/features/converters/html_deprecated/converter/converters/text.d.ts.map +0 -1
- package/dist/features/converters/html_deprecated/converter/converters/text.js.map +0 -1
- package/dist/features/converters/html_deprecated/converter/defaultConverters.d.ts.map +0 -1
- package/dist/features/converters/html_deprecated/converter/defaultConverters.js.map +0 -1
- package/dist/features/converters/html_deprecated/converter/index.d.ts.map +0 -1
- package/dist/features/converters/html_deprecated/converter/index.js.map +0 -1
- package/dist/features/converters/html_deprecated/converter/types.d.ts.map +0 -1
- package/dist/features/converters/html_deprecated/converter/types.js.map +0 -1
- package/dist/features/converters/html_deprecated/field/index.d.ts.map +0 -1
- package/dist/features/converters/html_deprecated/field/index.js.map +0 -1
- package/dist/features/converters/html_deprecated/index.d.ts.map +0 -1
- package/dist/features/converters/html_deprecated/index.js.map +0 -1
- package/dist/features/converters/jsx/Component/index.d.ts.map +0 -1
- package/dist/features/converters/jsx/Component/index.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/blockquote.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/blockquote.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/heading.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/heading.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/horizontalRule.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/horizontalRule.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/linebreak.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/linebreak.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/link.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/link.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/list.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/list.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/paragraph.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/paragraph.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/tab.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/tab.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/table.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/table.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/text.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/text.js.map +0 -1
- package/dist/features/converters/jsx/converter/converters/upload.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/converters/upload.js.map +0 -1
- package/dist/features/converters/jsx/converter/defaultConverters.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/defaultConverters.js.map +0 -1
- package/dist/features/converters/jsx/converter/index.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/index.js.map +0 -1
- package/dist/features/converters/jsx/converter/types.d.ts.map +0 -1
- package/dist/features/converters/jsx/converter/types.js.map +0 -1
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/blockquote.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/blockquote.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/heading.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/heading.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/horizontalRule.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/horizontalRule.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/linebreak.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/linebreak.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/link.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/list.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/list.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/paragraph.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/paragraph.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/tab.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/tab.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/table.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/table.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/text.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/text.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/upload.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/converters/upload.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/defaultConverters.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/defaultConverters.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/field/index.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/index.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/index.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/types.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/async/types.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/shared/findConverterForNode.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/shared/findConverterForNode.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/shared/types.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/shared/types.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/blockquote.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/blockquote.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/heading.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/heading.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/horizontalRule.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/horizontalRule.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/linebreak.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/linebreak.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/link.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/list.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/list.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/paragraph.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/paragraph.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/tab.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/tab.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/table.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/table.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/text.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/text.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/upload.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/upload.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/defaultConverters.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/defaultConverters.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/index.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/index.js +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/types.d.ts +0 -0
- /package/dist/features/converters/{html → lexicalToHtml}/sync/types.js +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/linebreak.d.ts +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/linebreak.js +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/paragraph.d.ts +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/paragraph.js +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/tab.d.ts +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/tab.js +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/text.d.ts +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/text.js +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/defaultConverters.d.ts +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/defaultConverters.js +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/index.d.ts +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/index.js +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/types.d.ts +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/types.js +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/field/index.d.ts +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/field/index.js +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/index.d.ts +0 -0
- /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/index.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/Component/index.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/Component/index.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/blockquote.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/blockquote.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/heading.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/heading.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/horizontalRule.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/horizontalRule.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/linebreak.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/linebreak.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/link.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/link.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/list.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/list.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/paragraph.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/paragraph.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/tab.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/tab.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/table.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/table.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/text.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/text.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/upload.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/upload.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/defaultConverters.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/defaultConverters.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/index.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/index.js +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/types.d.ts +0 -0
- /package/dist/features/converters/{jsx → lexicalToJSX}/converter/types.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","defaultJSXConverters","convertLexicalToJSX","RichText","className","converters","data","editorState","disableContainer","disableIndent","disableTextAlign","finalConverters","defaultConverters","content","Array","isArray","_jsx","_Fragment"],"sources":["../../../../../src/features/converters/lexicalToJSX/Component/index.tsx"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\n\nimport React from 'react'\n\nimport type {\n DefaultNodeTypes,\n SerializedBlockNode,\n SerializedInlineBlockNode,\n} from '../../../../nodeTypes.js'\nimport type { JSXConverters } from '../converter/types.js'\n\nimport { defaultJSXConverters } from '../converter/defaultConverters.js'\nimport { convertLexicalToJSX } from '../converter/index.js'\n\nexport type JSXConvertersFunction<\n T extends { [key: string]: any; type?: string } =\n | DefaultNodeTypes\n | SerializedBlockNode<{ blockName?: null | string }>\n | SerializedInlineBlockNode<{ blockName?: null | string; blockType: string }>,\n> = (args: { defaultConverters: JSXConverters<DefaultNodeTypes> }) => JSXConverters<T>\n\ntype RichTextProps = {\n /**\n * Override class names for the container.\n */\n className?: string\n /**\n * Custom converters to transform your nodes to JSX. Can be an object or a function that receives the default converters.\n */\n converters?: JSXConverters | JSXConvertersFunction\n /**\n * Serialized editor state to render.\n */\n data: SerializedEditorState\n /**\n * If true, removes the container div wrapper.\n */\n disableContainer?: boolean\n /**\n * If true, disables indentation globally. If an array, disables for specific node `type` values.\n */\n disableIndent?: boolean | string[]\n /**\n * If true, disables text alignment globally. If an array, disables for specific node `type` values.\n */\n disableTextAlign?: boolean | string[]\n}\n\nexport const RichText: React.FC<RichTextProps> = ({\n className,\n converters,\n data: editorState,\n disableContainer,\n disableIndent,\n disableTextAlign,\n}) => {\n if (!editorState) {\n return null\n }\n\n let finalConverters: JSXConverters = {}\n if (converters) {\n if (typeof converters === 'function') {\n finalConverters = converters({ defaultConverters: defaultJSXConverters })\n } else {\n finalConverters = converters\n }\n } else {\n finalConverters = defaultJSXConverters\n }\n\n const content =\n editorState &&\n !Array.isArray(editorState) &&\n typeof editorState === 'object' &&\n 'root' in editorState &&\n convertLexicalToJSX({\n converters: finalConverters,\n data: editorState,\n disableIndent,\n disableTextAlign,\n })\n\n if (disableContainer) {\n return <>{content}</>\n }\n\n return <div className={className ?? 'payload-richtext'}>{content}</div>\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AASlB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,mBAAmB,QAAQ;AAoCpC,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,SAAS;EACTC,UAAU;EACVC,IAAA,EAAMC,WAAW;EACjBC,gBAAgB;EAChBC,aAAa;EACbC;AAAgB,CACjB;EACC,IAAI,CAACH,WAAA,EAAa;IAChB,OAAO;EACT;EAEA,IAAII,eAAA,GAAiC,CAAC;EACtC,IAAIN,UAAA,EAAY;IACd,IAAI,OAAOA,UAAA,KAAe,YAAY;MACpCM,eAAA,GAAkBN,UAAA,CAAW;QAAEO,iBAAA,EAAmBX;MAAqB;IACzE,OAAO;MACLU,eAAA,GAAkBN,UAAA;IACpB;EACF,OAAO;IACLM,eAAA,GAAkBV,oBAAA;EACpB;EAEA,MAAMY,OAAA,GACJN,WAAA,IACA,CAACO,KAAA,CAAMC,OAAO,CAACR,WAAA,KACf,OAAOA,WAAA,KAAgB,YACvB,UAAUA,WAAA,IACVL,mBAAA,CAAoB;IAClBG,UAAA,EAAYM,eAAA;IACZL,IAAA,EAAMC,WAAA;IACNE,aAAA;IACAC;EACF;EAEF,IAAIF,gBAAA,EAAkB;IACpB,oBAAOQ,IAAA,CAAAC,SAAA;gBAAGJ;;EACZ;EAEA,oBAAOG,IAAA,CAAC;IAAIZ,SAAA,EAAWA,SAAA,IAAa;cAAqBS;;AAC3D","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockquote.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/blockquote.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,mBAAmB,CAQrE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockquote.js","names":["BlockquoteJSXConverter","quote","node","nodesToJSX","children","nodes","_jsx"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/blockquote.tsx"],"sourcesContent":["import type { SerializedQuoteNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const BlockquoteJSXConverter: JSXConverters<SerializedQuoteNode> = {\n quote: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n return <blockquote>{children}</blockquote>\n },\n}\n"],"mappings":";AAGA,OAAO,MAAMA,sBAAA,GAA6D;EACxEC,KAAA,EAAOA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAC1B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,oBAAOE,IAAA,CAAC;gBAAYF;;EACtB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAUpE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heading.js","names":["HeadingJSXConverter","heading","node","nodesToJSX","children","nodes","NodeTag","tag","_jsx"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/heading.tsx"],"sourcesContent":["import type { SerializedHeadingNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const HeadingJSXConverter: JSXConverters<SerializedHeadingNode> = {\n heading: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n const NodeTag = node.tag\n\n return <NodeTag>{children}</NodeTag>\n },\n}\n"],"mappings":";AAGA,OAAO,MAAMA,mBAAA,GAA4D;EACvEC,OAAA,EAASA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAC5B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,MAAME,OAAA,GAAUJ,IAAA,CAAKK,GAAG;IAExB,oBAAOC,IAAA,CAACF,OAAA;gBAASF;;EACnB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"horizontalRule.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/horizontalRule.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,4BAA4B,CAElF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"horizontalRule.js","names":["HorizontalRuleJSXConverter","horizontalrule","_jsx"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/horizontalRule.tsx"],"sourcesContent":["import type { SerializedHorizontalRuleNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\nexport const HorizontalRuleJSXConverter: JSXConverters<SerializedHorizontalRuleNode> = {\n horizontalrule: <hr />,\n}\n"],"mappings":";AAEA,OAAO,MAAMA,0BAAA,GAA0E;EACrFC,cAAA,eAAgBC,IAAA,CAAC;AACnB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linebreak.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/linebreak.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAExE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linebreak.js","names":["LinebreakJSXConverter","linebreak","_jsx"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/linebreak.tsx"],"sourcesContent":["import type { SerializedLineBreakNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const LinebreakJSXConverter: JSXConverters<SerializedLineBreakNode> = {\n linebreak: <br />,\n}\n"],"mappings":";AAGA,OAAO,MAAMA,qBAAA,GAAgE;EAC3EC,SAAA,eAAWC,IAAA,CAAC;AACd","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,gBAAgB,EAAE,CAAC,IAAI,EAAE;IACpC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,kBAAkB,CAAA;KAAE,KAAK,MAAM,CAAA;CACvE,KAAK,aAAa,CAAC,sBAAsB,GAAG,kBAAkB,CAyC7D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.js","names":["LinkJSXConverter","internalDocToHref","autolink","node","nodesToJSX","children","nodes","rel","fields","newTab","undefined","target","_jsx","href","url","link","linkType","linkNode","console","error"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/link.tsx"],"sourcesContent":["import type { SerializedAutoLinkNode, SerializedLinkNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const LinkJSXConverter: (args: {\n internalDocToHref?: (args: { linkNode: SerializedLinkNode }) => string\n}) => JSXConverters<SerializedAutoLinkNode | SerializedLinkNode> = ({ internalDocToHref }) => ({\n autolink: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n const rel: string | undefined = node.fields.newTab ? 'noopener noreferrer' : undefined\n const target: string | undefined = node.fields.newTab ? '_blank' : undefined\n\n return (\n <a href={node.fields.url} {...{ rel, target }}>\n {children}\n </a>\n )\n },\n link: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n const rel: string | undefined = node.fields.newTab ? 'noopener noreferrer' : undefined\n const target: string | undefined = node.fields.newTab ? '_blank' : undefined\n\n let href: string = node.fields.url ?? ''\n if (node.fields.linkType === 'internal') {\n if (internalDocToHref) {\n href = internalDocToHref({ linkNode: node })\n } else {\n console.error(\n 'Lexical => JSX converter: Link converter: found internal link, but internalDocToHref is not provided',\n )\n href = '#' // fallback\n }\n }\n\n return (\n <a href={href} {...{ rel, target }}>\n {children}\n </a>\n )\n },\n})\n"],"mappings":";AAGA,OAAO,MAAMA,gBAAA,GAEsDA,CAAC;EAAEC;AAAiB,CAAE,MAAM;EAC7FC,QAAA,EAAUA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAC7B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,MAAME,GAAA,GAA0BJ,IAAA,CAAKK,MAAM,CAACC,MAAM,GAAG,wBAAwBC,SAAA;IAC7E,MAAMC,MAAA,GAA6BR,IAAA,CAAKK,MAAM,CAACC,MAAM,GAAG,WAAWC,SAAA;IAEnE,oBACEE,IAAA,CAAC;MAAEC,IAAA,EAAMV,IAAA,CAAKK,MAAM,CAACM,GAAG;MAAQP,GAAA;MAAKI,MAAA;gBAClCN;;EAGP;EACAU,IAAA,EAAMA,CAAC;IAAEZ,IAAI;IAAEC;EAAU,CAAE;IACzB,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,MAAME,GAAA,GAA0BJ,IAAA,CAAKK,MAAM,CAACC,MAAM,GAAG,wBAAwBC,SAAA;IAC7E,MAAMC,MAAA,GAA6BR,IAAA,CAAKK,MAAM,CAACC,MAAM,GAAG,WAAWC,SAAA;IAEnE,IAAIG,IAAA,GAAeV,IAAA,CAAKK,MAAM,CAACM,GAAG,IAAI;IACtC,IAAIX,IAAA,CAAKK,MAAM,CAACQ,QAAQ,KAAK,YAAY;MACvC,IAAIf,iBAAA,EAAmB;QACrBY,IAAA,GAAOZ,iBAAA,CAAkB;UAAEgB,QAAA,EAAUd;QAAK;MAC5C,OAAO;QACLe,OAAA,CAAQC,KAAK,CACX;QAEFN,IAAA,GAAO,IAAI;QAAA;MACb;IACF;IAEA,oBACED,IAAA,CAAC;MAAEC,IAAA,EAAMA,IAAA;MAAYN,GAAA;MAAKI,MAAA;gBACvBN;;EAGP;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/list.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,sBAAsB,GAAG,kBAAkB,CAqDvF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","names":["v4","uuidv4","ListJSXConverter","list","node","nodesToJSX","children","nodes","NodeTag","tag","_jsx","className","listType","listitem","parent","hasSubLists","some","child","type","uuid","checked","role","style","listStyleType","tabIndex","value","_jsxs","_Fragment","id","readOnly","htmlFor","undefined"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/list.tsx"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid'\n\nimport type { SerializedListItemNode, SerializedListNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const ListJSXConverter: JSXConverters<SerializedListItemNode | SerializedListNode> = {\n list: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n const NodeTag = node.tag\n\n return <NodeTag className={`list-${node?.listType}`}>{children}</NodeTag>\n },\n listitem: ({ node, nodesToJSX, parent }) => {\n const hasSubLists = node.children.some((child) => child.type === 'list')\n\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n if ('listType' in parent && parent?.listType === 'check') {\n const uuid = uuidv4()\n\n return (\n <li\n aria-checked={node.checked ? 'true' : 'false'}\n className={`list-item-checkbox${node.checked ? ' list-item-checkbox-checked' : ' list-item-checkbox-unchecked'}${hasSubLists ? ' nestedListItem' : ''}`}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n role=\"checkbox\"\n style={{ listStyleType: 'none' }}\n tabIndex={-1}\n value={node?.value}\n >\n {hasSubLists ? (\n children\n ) : (\n <>\n <input checked={node.checked} id={uuid} readOnly={true} type=\"checkbox\" />\n <label htmlFor={uuid}>{children}</label>\n <br />\n </>\n )}\n </li>\n )\n } else {\n return (\n <li\n className={`${hasSubLists ? 'nestedListItem' : ''}`}\n style={hasSubLists ? { listStyleType: 'none' } : undefined}\n value={node?.value}\n >\n {children}\n </li>\n )\n }\n },\n}\n"],"mappings":";AAAA,SAASA,EAAA,IAAMC,MAAM,QAAQ;AAK7B,OAAO,MAAMC,gBAAA,GAA+E;EAC1FC,IAAA,EAAMA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IACzB,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,MAAME,OAAA,GAAUJ,IAAA,CAAKK,GAAG;IAExB,oBAAOC,IAAA,CAACF,OAAA;MAAQG,SAAA,EAAW,QAAQP,IAAA,EAAMQ,QAAA,EAAU;gBAAGN;;EACxD;EACAO,QAAA,EAAUA,CAAC;IAAET,IAAI;IAAEC,UAAU;IAAES;EAAM,CAAE;IACrC,MAAMC,WAAA,GAAcX,IAAA,CAAKE,QAAQ,CAACU,IAAI,CAAEC,KAAA,IAAUA,KAAA,CAAMC,IAAI,KAAK;IAEjE,MAAMZ,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,IAAI,cAAcQ,MAAA,IAAUA,MAAA,EAAQF,QAAA,KAAa,SAAS;MACxD,MAAMO,IAAA,GAAOlB,MAAA;MAEb,oBACES,IAAA,CAAC;QACC,gBAAcN,IAAA,CAAKgB,OAAO,GAAG,SAAS;QACtCT,SAAA,EAAW,qBAAqBP,IAAA,CAAKgB,OAAO,GAAG,gCAAgC,kCAAkCL,WAAA,GAAc,oBAAoB,IAAI;QACvJ;QACAM,IAAA,EAAK;QACLC,KAAA,EAAO;UAAEC,aAAA,EAAe;QAAO;QAC/BC,QAAA,EAAU,CAAC;QACXC,KAAA,EAAOrB,IAAA,EAAMqB,KAAA;kBAEZV,WAAA,GACCT,QAAA,gBAEAoB,KAAA,CAAAC,SAAA;kCACEjB,IAAA,CAAC;YAAMU,OAAA,EAAShB,IAAA,CAAKgB,OAAO;YAAEQ,EAAA,EAAIT,IAAA;YAAMU,QAAA,EAAU;YAAMX,IAAA,EAAK;2BAC7DR,IAAA,CAAC;YAAMoB,OAAA,EAASX,IAAA;sBAAOb;2BACvBI,IAAA,CAAC;;;IAKX,OAAO;MACL,oBACEA,IAAA,CAAC;QACCC,SAAA,EAAW,GAAGI,WAAA,GAAc,mBAAmB,IAAI;QACnDO,KAAA,EAAOP,WAAA,GAAc;UAAEQ,aAAA,EAAe;QAAO,IAAIQ,SAAA;QACjDN,KAAA,EAAOrB,IAAA,EAAMqB,KAAA;kBAEZnB;;IAGP;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/paragraph.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAgBxE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paragraph.js","names":["ParagraphJSXConverter","paragraph","node","nodesToJSX","children","nodes","length","_jsx"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/paragraph.tsx"],"sourcesContent":["import type { SerializedParagraphNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const ParagraphJSXConverter: JSXConverters<SerializedParagraphNode> = {\n paragraph: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n if (!children?.length) {\n return (\n <p>\n <br />\n </p>\n )\n }\n\n return <p>{children}</p>\n },\n}\n"],"mappings":";AAGA,OAAO,MAAMA,qBAAA,GAAgE;EAC3EC,SAAA,EAAWA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAC9B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,IAAI,CAACA,QAAA,EAAUE,MAAA,EAAQ;MACrB,oBACEC,IAAA,CAAC;kBACC,aAAAA,IAAA,CAAC;;IAGP;IAEA,oBAAOA,IAAA,CAAC;gBAAGH;;EACb;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAE5D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.js","names":["TabJSXConverter","tab"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/tab.tsx"],"sourcesContent":["import type { SerializedTabNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const TabJSXConverter: JSXConverters<SerializedTabNode> = {\n tab: '\\t',\n}\n"],"mappings":"AAGA,OAAO,MAAMA,eAAA,GAAoD;EAC/DC,GAAA,EAAK;AACP","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAC3C,uBAAuB,GAAG,mBAAmB,GAAG,sBAAsB,CAgDvE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","names":["TableJSXConverter","table","node","nodesToJSX","children","nodes","_jsx","className","style","borderCollapse","tablecell","TagName","headerState","headerStateClass","backgroundColor","undefined","border","padding","colSpan","rowSpan","tablerow"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/table.tsx"],"sourcesContent":["import type {\n SerializedTableCellNode,\n SerializedTableNode,\n SerializedTableRowNode,\n} from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const TableJSXConverter: JSXConverters<\n SerializedTableCellNode | SerializedTableNode | SerializedTableRowNode\n> = {\n table: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n return (\n <div className=\"lexical-table-container\">\n <table className=\"lexical-table\" style={{ borderCollapse: 'collapse' }}>\n <tbody>{children}</tbody>\n </table>\n </div>\n )\n },\n tablecell: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n const TagName = node.headerState > 0 ? 'th' : 'td' // Use capital letter to denote a component\n const headerStateClass = `lexical-table-cell-header-${node.headerState}`\n const style = {\n backgroundColor: node.backgroundColor || undefined, // Use undefined to avoid setting the style property if not needed\n border: '1px solid #ccc',\n padding: '8px',\n }\n\n // Note: JSX does not support setting attributes directly as strings, so you must convert the colSpan and rowSpan to numbers\n const colSpan = node.colSpan && node.colSpan > 1 ? node.colSpan : undefined\n const rowSpan = node.rowSpan && node.rowSpan > 1 ? node.rowSpan : undefined\n\n return (\n <TagName\n className={`lexical-table-cell ${headerStateClass}`}\n colSpan={colSpan} // colSpan and rowSpan will only be added if they are not null\n rowSpan={rowSpan}\n style={style}\n >\n {children}\n </TagName>\n )\n },\n tablerow: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n return <tr className=\"lexical-table-row\">{children}</tr>\n },\n}\n"],"mappings":";AAOA,OAAO,MAAMA,iBAAA,GAET;EACFC,KAAA,EAAOA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAC1B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IACA,oBACEE,IAAA,CAAC;MAAIC,SAAA,EAAU;gBACb,aAAAD,IAAA,CAAC;QAAMC,SAAA,EAAU;QAAgBC,KAAA,EAAO;UAAEC,cAAA,EAAgB;QAAW;kBACnE,aAAAH,IAAA,CAAC;oBAAOF;;;;EAIhB;EACAM,SAAA,EAAWA,CAAC;IAAER,IAAI;IAAEC;EAAU,CAAE;IAC9B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,MAAMO,OAAA,GAAUT,IAAA,CAAKU,WAAW,GAAG,IAAI,OAAO,KAAK;IAAA;IACnD,MAAMC,gBAAA,GAAmB,6BAA6BX,IAAA,CAAKU,WAAW,EAAE;IACxE,MAAMJ,KAAA,GAAQ;MACZM,eAAA,EAAiBZ,IAAA,CAAKY,eAAe,IAAIC,SAAA;MACzCC,MAAA,EAAQ;MACRC,OAAA,EAAS;IACX;IAEA;IACA,MAAMC,OAAA,GAAUhB,IAAA,CAAKgB,OAAO,IAAIhB,IAAA,CAAKgB,OAAO,GAAG,IAAIhB,IAAA,CAAKgB,OAAO,GAAGH,SAAA;IAClE,MAAMI,OAAA,GAAUjB,IAAA,CAAKiB,OAAO,IAAIjB,IAAA,CAAKiB,OAAO,GAAG,IAAIjB,IAAA,CAAKiB,OAAO,GAAGJ,SAAA;IAElE,oBACET,IAAA,CAACK,OAAA;MACCJ,SAAA,EAAW,sBAAsBM,gBAAA,EAAkB;MACnDK,OAAA,EAASA,OAAA;MACTC,OAAA,EAASA,OAAA;MACTX,KAAA,EAAOA,KAAA;gBAENJ;;EAGP;EACAgB,QAAA,EAAUA,CAAC;IAAElB,IAAI;IAAEC;EAAU,CAAE;IAC7B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IACA,oBAAOE,IAAA,CAAC;MAAGC,SAAA,EAAU;gBAAqBH;;EAC5C;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/text.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIhD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CA4B9D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","names":["React","NodeFormat","TextJSXConverter","text","node","format","IS_BOLD","_jsx","IS_ITALIC","IS_STRIKETHROUGH","style","textDecoration","IS_UNDERLINE","IS_CODE","IS_SUBSCRIPT","IS_SUPERSCRIPT"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/text.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { SerializedTextNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nimport { NodeFormat } from '../../../../../lexical/utils/nodeFormat.js'\n\nexport const TextJSXConverter: JSXConverters<SerializedTextNode> = {\n text: ({ node }) => {\n let text: React.ReactNode = node.text\n\n if (node.format & NodeFormat.IS_BOLD) {\n text = <strong>{text}</strong>\n }\n if (node.format & NodeFormat.IS_ITALIC) {\n text = <em>{text}</em>\n }\n if (node.format & NodeFormat.IS_STRIKETHROUGH) {\n text = <span style={{ textDecoration: 'line-through' }}>{text}</span>\n }\n if (node.format & NodeFormat.IS_UNDERLINE) {\n text = <span style={{ textDecoration: 'underline' }}>{text}</span>\n }\n if (node.format & NodeFormat.IS_CODE) {\n text = <code>{text}</code>\n }\n if (node.format & NodeFormat.IS_SUBSCRIPT) {\n text = <sub>{text}</sub>\n }\n if (node.format & NodeFormat.IS_SUPERSCRIPT) {\n text = <sup>{text}</sup>\n }\n\n return text\n },\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAKlB,SAASC,UAAU,QAAQ;AAE3B,OAAO,MAAMC,gBAAA,GAAsD;EACjEC,IAAA,EAAMA,CAAC;IAAEC;EAAI,CAAE;IACb,IAAID,IAAA,GAAwBC,IAAA,CAAKD,IAAI;IAErC,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWK,OAAO,EAAE;MACpCH,IAAA,gBAAOI,IAAA,CAAC;kBAAQJ;;IAClB;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWO,SAAS,EAAE;MACtCL,IAAA,gBAAOI,IAAA,CAAC;kBAAIJ;;IACd;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWQ,gBAAgB,EAAE;MAC7CN,IAAA,gBAAOI,IAAA,CAAC;QAAKG,KAAA,EAAO;UAAEC,cAAA,EAAgB;QAAe;kBAAIR;;IAC3D;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWW,YAAY,EAAE;MACzCT,IAAA,gBAAOI,IAAA,CAAC;QAAKG,KAAA,EAAO;UAAEC,cAAA,EAAgB;QAAY;kBAAIR;;IACxD;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWY,OAAO,EAAE;MACpCV,IAAA,gBAAOI,IAAA,CAAC;kBAAMJ;;IAChB;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWa,YAAY,EAAE;MACzCX,IAAA,gBAAOI,IAAA,CAAC;kBAAKJ;;IACf;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWc,cAAc,EAAE;MAC3CZ,IAAA,gBAAOI,IAAA,CAAC;kBAAKJ;;IACf;IAEA,OAAOA,IAAA;EACT;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/upload.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,oBAAoB,CA8ElE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.js","names":["UploadJSXConverter","upload","node","uploadNode","value","uploadDoc","url","mimeType","startsWith","_jsx","href","rel","filename","sizes","Object","keys","length","alt","height","src","width","pictureJSX","size","imageSize","filesize","imageSizeURL","push","media","srcSet","type"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/upload.tsx"],"sourcesContent":["import type { FileData, FileSizeImproved, TypeWithID } from 'payload'\n\nimport type { SerializedUploadNode } from '../../../../../nodeTypes.js'\nimport type { UploadDataImproved } from '../../../../upload/server/nodes/UploadNode.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const UploadJSXConverter: JSXConverters<SerializedUploadNode> = {\n upload: ({ node }) => {\n // TO-DO (v4): SerializedUploadNode should use UploadData_P4\n const uploadNode = node as UploadDataImproved\n if (typeof uploadNode.value !== 'object') {\n return null\n }\n\n \n const uploadDoc = uploadNode.value as FileData & TypeWithID\n\n const url = uploadDoc.url\n\n /**\n * If the upload is not an image, return a link to the upload\n */\n if (!uploadDoc.mimeType.startsWith('image')) {\n return (\n <a href={url} rel=\"noopener noreferrer\">\n {uploadDoc.filename}\n </a>\n )\n }\n\n /**\n * If the upload is a simple image with no different sizes, return a simple img tag\n */\n if (!uploadDoc.sizes || !Object.keys(uploadDoc.sizes).length) {\n return (\n <img alt={uploadDoc.filename} height={uploadDoc.height} src={url} width={uploadDoc.width} />\n )\n }\n\n /**\n * If the upload is an image with different sizes, return a picture element\n */\n const pictureJSX: React.ReactNode[] = []\n\n // Iterate through each size in the data.sizes object\n for (const size in uploadDoc.sizes) {\n const imageSize = uploadDoc.sizes[size] as FileSizeImproved\n\n // Skip if any property of the size object is null\n if (\n !imageSize ||\n !imageSize.width ||\n !imageSize.height ||\n !imageSize.mimeType ||\n !imageSize.filesize ||\n !imageSize.filename ||\n !imageSize.url\n ) {\n continue\n }\n const imageSizeURL = imageSize?.url\n\n pictureJSX.push(\n <source\n key={size}\n media={`(max-width: ${imageSize.width}px)`}\n srcSet={imageSizeURL}\n type={imageSize.mimeType}\n />,\n )\n }\n\n // Add the default img tag\n pictureJSX.push(\n <img\n alt={uploadDoc?.filename}\n height={uploadDoc?.height}\n key={'image'}\n src={url}\n width={uploadDoc?.width}\n />,\n )\n return <picture>{pictureJSX}</picture>\n },\n}\n"],"mappings":";AAMA,OAAO,MAAMA,kBAAA,GAA0D;EACrEC,MAAA,EAAQA,CAAC;IAAEC;EAAI,CAAE;IACf;IACA,MAAMC,UAAA,GAAaD,IAAA;IACnB,IAAI,OAAOC,UAAA,CAAWC,KAAK,KAAK,UAAU;MACxC,OAAO;IACT;IAGA,MAAMC,SAAA,GAAYF,UAAA,CAAWC,KAAK;IAElC,MAAME,GAAA,GAAMD,SAAA,CAAUC,GAAG;IAEzB;;;IAGA,IAAI,CAACD,SAAA,CAAUE,QAAQ,CAACC,UAAU,CAAC,UAAU;MAC3C,oBACEC,IAAA,CAAC;QAAEC,IAAA,EAAMJ,GAAA;QAAKK,GAAA,EAAI;kBACfN,SAAA,CAAUO;;IAGjB;IAEA;;;IAGA,IAAI,CAACP,SAAA,CAAUQ,KAAK,IAAI,CAACC,MAAA,CAAOC,IAAI,CAACV,SAAA,CAAUQ,KAAK,EAAEG,MAAM,EAAE;MAC5D,oBACEP,IAAA,CAAC;QAAIQ,GAAA,EAAKZ,SAAA,CAAUO,QAAQ;QAAEM,MAAA,EAAQb,SAAA,CAAUa,MAAM;QAAEC,GAAA,EAAKb,GAAA;QAAKc,KAAA,EAAOf,SAAA,CAAUe;;IAEvF;IAEA;;;IAGA,MAAMC,UAAA,GAAgC,EAAE;IAExC;IACA,KAAK,MAAMC,IAAA,IAAQjB,SAAA,CAAUQ,KAAK,EAAE;MAClC,MAAMU,SAAA,GAAYlB,SAAA,CAAUQ,KAAK,CAACS,IAAA,CAAK;MAEvC;MACA,IACE,CAACC,SAAA,IACD,CAACA,SAAA,CAAUH,KAAK,IAChB,CAACG,SAAA,CAAUL,MAAM,IACjB,CAACK,SAAA,CAAUhB,QAAQ,IACnB,CAACgB,SAAA,CAAUC,QAAQ,IACnB,CAACD,SAAA,CAAUX,QAAQ,IACnB,CAACW,SAAA,CAAUjB,GAAG,EACd;QACA;MACF;MACA,MAAMmB,YAAA,GAAeF,SAAA,EAAWjB,GAAA;MAEhCe,UAAA,CAAWK,IAAI,cACbjB,IAAA,CAAC;QAECkB,KAAA,EAAO,eAAeJ,SAAA,CAAUH,KAAK,KAAK;QAC1CQ,MAAA,EAAQH,YAAA;QACRI,IAAA,EAAMN,SAAA,CAAUhB;SAHXe,IAAA;IAMX;IAEA;IACAD,UAAA,CAAWK,IAAI,cACbjB,IAAA,CAAC;MACCQ,GAAA,EAAKZ,SAAA,EAAWO,QAAA;MAChBM,MAAA,EAAQb,SAAA,EAAWa,MAAA;MAEnBC,GAAA,EAAKb,GAAA;MACLc,KAAA,EAAOf,SAAA,EAAWe;OAFb;IAKT,oBAAOX,IAAA,CAAC;gBAASY;;EACnB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultConverters.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToJSX/converter/defaultConverters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAc/C,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,gBAAgB,CAYhE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultConverters.js","names":["BlockquoteJSXConverter","HeadingJSXConverter","HorizontalRuleJSXConverter","LinebreakJSXConverter","LinkJSXConverter","ListJSXConverter","ParagraphJSXConverter","TabJSXConverter","TableJSXConverter","TextJSXConverter","UploadJSXConverter","defaultJSXConverters"],"sources":["../../../../../src/features/converters/lexicalToJSX/converter/defaultConverters.ts"],"sourcesContent":["import type { DefaultNodeTypes } from '../../../../nodeTypes.js'\nimport type { JSXConverters } from './types.js'\n\nimport { BlockquoteJSXConverter } from './converters/blockquote.js'\nimport { HeadingJSXConverter } from './converters/heading.js'\nimport { HorizontalRuleJSXConverter } from './converters/horizontalRule.js'\nimport { LinebreakJSXConverter } from './converters/linebreak.js'\nimport { LinkJSXConverter } from './converters/link.js'\nimport { ListJSXConverter } from './converters/list.js'\nimport { ParagraphJSXConverter } from './converters/paragraph.js'\nimport { TabJSXConverter } from './converters/tab.js'\nimport { TableJSXConverter } from './converters/table.js'\nimport { TextJSXConverter } from './converters/text.js'\nimport { UploadJSXConverter } from './converters/upload.js'\n\nexport const defaultJSXConverters: JSXConverters<DefaultNodeTypes> = {\n ...ParagraphJSXConverter,\n ...TextJSXConverter,\n ...LinebreakJSXConverter,\n ...BlockquoteJSXConverter,\n ...TableJSXConverter,\n ...HeadingJSXConverter,\n ...HorizontalRuleJSXConverter,\n ...ListJSXConverter,\n ...LinkJSXConverter({}),\n ...UploadJSXConverter,\n ...TabJSXConverter,\n}\n"],"mappings":"AAGA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,qBAAqB,QAAQ;AACtC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,eAAe,QAAQ;AAChC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,oBAAA,GAAwD;EACnE,GAAGL,qBAAqB;EACxB,GAAGG,gBAAgB;EACnB,GAAGN,qBAAqB;EACxB,GAAGH,sBAAsB;EACzB,GAAGQ,iBAAiB;EACpB,GAAGP,mBAAmB;EACtB,GAAGC,0BAA0B;EAC7B,GAAGG,gBAAgB;EACnB,GAAGD,gBAAA,CAAiB,CAAC,EAAE;EACvB,GAAGM,kBAAkB;EACrB,GAAGH;AACL","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToJSX/converter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAgB,aAAa,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAI9F,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,aAAa,CAAA;IACzB,IAAI,EAAE,qBAAqB,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IAClC,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;CACtC,CAAA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,IAAI,EACJ,aAAa,EACb,gBAAgB,GACjB,EAAE,uBAAuB,GAAG,KAAK,CAAC,SAAS,CAW3C;AAED,wBAAgB,wBAAwB,CAAC,EACvC,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,KAAK,EACL,MAAM,GACP,EAAE;IACD,UAAU,EAAE,aAAa,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IAClC,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IACrC,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,MAAM,EAAE,+BAA+B,CAAA;CACxC,GAAG,KAAK,CAAC,SAAS,EAAE,CA+HpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","hasText","convertLexicalToJSX","converters","data","disableIndent","disableTextAlign","convertLexicalNodesToJSX","nodes","root","children","parent","_jsx","_Fragment","unknownConverter","unknown","jsxArray","map","node","i","converterForNode","type","blocks","fields","blockType","console","error","inlineBlocks","reactNode","converted","childIndex","nodesToJSX","args","style","Array","isArray","includes","format","textAlign","indent","paddingInlineStart","Number","isValidElement","newStyle","props","cloneElement","key","filter","Boolean"],"sources":["../../../../../src/features/converters/lexicalToJSX/converter/index.tsx"],"sourcesContent":["import type { SerializedEditorState, SerializedLexicalNode } from 'lexical'\n\nimport React from 'react'\n\nimport type { SerializedBlockNode, SerializedInlineBlockNode } from '../../../../nodeTypes.js'\nimport type { JSXConverter, JSXConverters, SerializedLexicalNodeWithParent } from './types.js'\n\nimport { hasText } from '../../../../validate/hasText.js'\n\nexport type ConvertLexicalToJSXArgs = {\n converters: JSXConverters\n data: SerializedEditorState\n disableIndent?: boolean | string[]\n disableTextAlign?: boolean | string[]\n}\n\nexport function convertLexicalToJSX({\n converters,\n data,\n disableIndent,\n disableTextAlign,\n}: ConvertLexicalToJSXArgs): React.ReactNode {\n if (hasText(data)) {\n return convertLexicalNodesToJSX({\n converters,\n disableIndent,\n disableTextAlign,\n nodes: data?.root?.children,\n parent: data?.root,\n })\n }\n return <></>\n}\n\nexport function convertLexicalNodesToJSX({\n converters,\n disableIndent,\n disableTextAlign,\n nodes,\n parent,\n}: {\n converters: JSXConverters\n disableIndent?: boolean | string[]\n disableTextAlign?: boolean | string[]\n nodes: SerializedLexicalNode[]\n parent: SerializedLexicalNodeWithParent\n}): React.ReactNode[] {\n const unknownConverter: JSXConverter<any> = converters.unknown as JSXConverter<any>\n\n const jsxArray: React.ReactNode[] = nodes.map((node, i) => {\n let converterForNode: JSXConverter<any> | undefined\n if (node.type === 'block') {\n converterForNode = converters?.blocks?.[(node as SerializedBlockNode)?.fields?.blockType]\n if (!converterForNode) {\n console.error(\n `Lexical => JSX converter: Blocks converter: found ${(node as SerializedBlockNode)?.fields?.blockType} block, but no converter is provided`,\n )\n }\n } else if (node.type === 'inlineBlock') {\n converterForNode =\n converters?.inlineBlocks?.[(node as SerializedInlineBlockNode)?.fields?.blockType]\n if (!converterForNode) {\n console.error(\n `Lexical => JSX converter: Inline Blocks converter: found ${(node as SerializedInlineBlockNode)?.fields?.blockType} inline block, but no converter is provided`,\n )\n }\n } else {\n converterForNode = converters[node.type] as JSXConverter<any>\n }\n\n try {\n if (!converterForNode && unknownConverter) {\n converterForNode = unknownConverter\n }\n\n let reactNode: React.ReactNode\n if (converterForNode) {\n const converted =\n typeof converterForNode === 'function'\n ? converterForNode({\n childIndex: i,\n converters,\n node,\n nodesToJSX: (args) => {\n return convertLexicalNodesToJSX({\n converters: args.converters ?? converters,\n disableIndent: args.disableIndent ?? disableIndent,\n disableTextAlign: args.disableTextAlign ?? disableTextAlign,\n nodes: args.nodes,\n parent: args.parent ?? {\n ...node,\n parent,\n },\n })\n },\n parent,\n })\n : converterForNode\n reactNode = converted\n } else {\n reactNode = <span key={i}>unknown node</span>\n }\n\n const style: React.CSSProperties = {}\n\n // Check if disableTextAlign is not true and does not include node type\n if (\n !disableTextAlign &&\n (!Array.isArray(disableTextAlign) || !disableTextAlign?.includes(node.type))\n ) {\n if ('format' in node && node.format) {\n switch (node.format) {\n case 'center':\n style.textAlign = 'center'\n break\n case 'end':\n style.textAlign = 'right'\n break\n case 'justify':\n style.textAlign = 'justify'\n break\n case 'left':\n //style.textAlign = 'left'\n // Do nothing, as left is the default\n break\n case 'right':\n style.textAlign = 'right'\n break\n case 'start':\n style.textAlign = 'left'\n break\n }\n }\n }\n\n if (\n !disableIndent &&\n (!Array.isArray(disableIndent) || !disableIndent?.includes(node.type))\n ) {\n if ('indent' in node && node.indent && node.type !== 'listitem') {\n style.paddingInlineStart = `${Number(node.indent) * 2}em`\n }\n }\n\n if (React.isValidElement(reactNode)) {\n // Inject style into reactNode\n if (style.textAlign || style.paddingInlineStart) {\n const newStyle = {\n ...style,\n // @ts-expect-error type better later\n ...(reactNode?.props?.style ?? {}),\n // reactNode style comes after, thus a textAlign specified in the converter has priority over the one we inject here\n }\n\n return React.cloneElement(reactNode, {\n key: i,\n // @ts-expect-error type better later\n style: newStyle,\n })\n }\n return React.cloneElement(reactNode, {\n key: i,\n })\n }\n\n return reactNode\n } catch (error) {\n console.error('Error converting lexical node to JSX:', error, 'node:', node)\n return null\n }\n })\n\n return jsxArray.filter(Boolean)\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToJSX/converter/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/features/converters/lexicalToJSX/converter/types.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\n\nimport type {\n DefaultNodeTypes,\n SerializedBlockNode,\n SerializedInlineBlockNode,\n} from '../../../../nodeTypes.js'\nexport type JSXConverter<T extends { [key: string]: any; type?: string } = SerializedLexicalNode> =\n | ((args: {\n childIndex: number\n converters: JSXConverters\n node: T\n nodesToJSX: (args: {\n converters?: JSXConverters\n disableIndent?: boolean | string[]\n disableTextAlign?: boolean | string[]\n nodes: SerializedLexicalNode[]\n parent?: SerializedLexicalNodeWithParent\n }) => React.ReactNode[]\n parent: SerializedLexicalNodeWithParent\n }) => React.ReactNode)\n | React.ReactNode\n\nexport type JSXConverters<\n T extends { [key: string]: any; type?: string } =\n | DefaultNodeTypes\n | SerializedBlockNode<{ blockName?: null | string; blockType: string }> // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n | SerializedInlineBlockNode<{ blockName?: null | string; blockType: string }>, // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n> = {\n [key: string]:\n | {\n [blockSlug: string]: JSXConverter<any>\n }\n | JSXConverter<any>\n | undefined\n} & {\n [nodeType in Exclude<NonNullable<T['type']>, 'block' | 'inlineBlock'>]?: JSXConverter<\n Extract<T, { type: nodeType }>\n >\n} & {\n blocks?: {\n [K in Extract<\n Extract<T, { type: 'block' }> extends SerializedBlockNode<infer B>\n ? B extends { blockType: string }\n ? B['blockType']\n : never\n : never,\n string\n >]?: JSXConverter<\n Extract<T, { type: 'block' }> extends SerializedBlockNode<infer B>\n ? SerializedBlockNode<Extract<B, { blockType: K }>>\n : SerializedBlockNode\n >\n }\n inlineBlocks?: {\n [K in Extract<\n Extract<T, { type: 'inlineBlock' }> extends SerializedInlineBlockNode<infer B>\n ? B extends { blockType: string }\n ? B['blockType']\n : never\n : never,\n string\n >]?: JSXConverter<\n Extract<T, { type: 'inlineBlock' }> extends SerializedInlineBlockNode<infer B>\n ? SerializedInlineBlockNode<Extract<B, { blockType: K }>>\n : SerializedInlineBlockNode\n >\n }\n}\nexport type SerializedLexicalNodeWithParent = {\n parent?: SerializedLexicalNode\n} & SerializedLexicalNode\n"],"mappings":"AAqEA","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SerializedEditorState } from 'lexical';
|
|
2
|
+
import type { SanitizedServerEditorConfig } from '../../../lexical/config/types.js';
|
|
3
|
+
export declare const convertLexicalToMarkdown: ({ data, editorConfig, }: {
|
|
4
|
+
data: SerializedEditorState;
|
|
5
|
+
editorConfig: SanitizedServerEditorConfig;
|
|
6
|
+
}) => string;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/converters/lexicalToMarkdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAIpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAKnF,eAAO,MAAM,wBAAwB,4BAGlC;IACD,IAAI,EAAE,qBAAqB,CAAA;IAC3B,YAAY,EAAE,2BAA2B,CAAA;CAC1C,KAAG,MAoBH,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createHeadlessEditor } from '@lexical/headless';
|
|
2
|
+
import { getEnabledNodes } from '../../../lexical/nodes/index.js';
|
|
3
|
+
import { $convertToMarkdownString } from '../../../packages/@lexical/markdown/index.js';
|
|
4
|
+
export const convertLexicalToMarkdown = ({
|
|
5
|
+
data,
|
|
6
|
+
editorConfig
|
|
7
|
+
}) => {
|
|
8
|
+
const headlessEditor = createHeadlessEditor({
|
|
9
|
+
nodes: getEnabledNodes({
|
|
10
|
+
editorConfig
|
|
11
|
+
})
|
|
12
|
+
});
|
|
13
|
+
headlessEditor.update(() => {
|
|
14
|
+
headlessEditor.setEditorState(headlessEditor.parseEditorState(data));
|
|
15
|
+
}, {
|
|
16
|
+
discrete: true
|
|
17
|
+
});
|
|
18
|
+
let markdown = '';
|
|
19
|
+
headlessEditor.getEditorState().read(() => {
|
|
20
|
+
markdown = $convertToMarkdownString(editorConfig?.features?.markdownTransformers);
|
|
21
|
+
});
|
|
22
|
+
return markdown;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["createHeadlessEditor","getEnabledNodes","$convertToMarkdownString","convertLexicalToMarkdown","data","editorConfig","headlessEditor","nodes","update","setEditorState","parseEditorState","discrete","markdown","getEditorState","read","features","markdownTransformers"],"sources":["../../../../src/features/converters/lexicalToMarkdown/index.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\n\nimport { createHeadlessEditor } from '@lexical/headless'\n\nimport type { SanitizedServerEditorConfig } from '../../../lexical/config/types.js'\n\nimport { getEnabledNodes } from '../../../lexical/nodes/index.js'\nimport { $convertToMarkdownString } from '../../../packages/@lexical/markdown/index.js'\n\nexport const convertLexicalToMarkdown = ({\n data,\n editorConfig,\n}: {\n data: SerializedEditorState\n editorConfig: SanitizedServerEditorConfig\n}): string => {\n const headlessEditor = createHeadlessEditor({\n nodes: getEnabledNodes({\n editorConfig,\n }),\n })\n\n headlessEditor.update(\n () => {\n headlessEditor.setEditorState(headlessEditor.parseEditorState(data))\n },\n { discrete: true },\n )\n\n let markdown: string = ''\n headlessEditor.getEditorState().read(() => {\n markdown = $convertToMarkdownString(editorConfig?.features?.markdownTransformers)\n })\n\n return markdown\n}\n"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ;AAIrC,SAASC,eAAe,QAAQ;AAChC,SAASC,wBAAwB,QAAQ;AAEzC,OAAO,MAAMC,wBAAA,GAA2BA,CAAC;EACvCC,IAAI;EACJC;AAAY,CAIb;EACC,MAAMC,cAAA,GAAiBN,oBAAA,CAAqB;IAC1CO,KAAA,EAAON,eAAA,CAAgB;MACrBI;IACF;EACF;EAEAC,cAAA,CAAeE,MAAM,CACnB;IACEF,cAAA,CAAeG,cAAc,CAACH,cAAA,CAAeI,gBAAgB,CAACN,IAAA;EAChE,GACA;IAAEO,QAAA,EAAU;EAAK;EAGnB,IAAIC,QAAA,GAAmB;EACvBN,cAAA,CAAeO,cAAc,GAAGC,IAAI,CAAC;IACnCF,QAAA,GAAWV,wBAAA,CAAyBG,YAAA,EAAcU,QAAA,EAAUC,oBAAA;EAC9D;EAEA,OAAOJ,QAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { convertLexicalToPlaintext } from './sync/index.js';
|
|
2
|
+
function textNode(text, bold) {
|
|
3
|
+
return {
|
|
4
|
+
type: 'text',
|
|
5
|
+
detail: 0,
|
|
6
|
+
format: bold ? 1 : 0,
|
|
7
|
+
mode: 'normal',
|
|
8
|
+
style: '',
|
|
9
|
+
text,
|
|
10
|
+
version: 1
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function linebreakNode() {
|
|
14
|
+
return {
|
|
15
|
+
type: 'linebreak',
|
|
16
|
+
version: 1
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function tabNode() {
|
|
20
|
+
return {
|
|
21
|
+
type: 'tab',
|
|
22
|
+
detail: 0,
|
|
23
|
+
format: 0,
|
|
24
|
+
mode: 'normal',
|
|
25
|
+
style: '',
|
|
26
|
+
text: '',
|
|
27
|
+
version: 1
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function paragraphNode(children) {
|
|
31
|
+
return {
|
|
32
|
+
type: 'paragraph',
|
|
33
|
+
children,
|
|
34
|
+
direction: 'ltr',
|
|
35
|
+
format: '',
|
|
36
|
+
indent: 0,
|
|
37
|
+
textFormat: 0,
|
|
38
|
+
version: 1
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function rootNode(nodes) {
|
|
42
|
+
return {
|
|
43
|
+
root: {
|
|
44
|
+
type: 'root',
|
|
45
|
+
children: nodes,
|
|
46
|
+
direction: 'ltr',
|
|
47
|
+
format: '',
|
|
48
|
+
indent: 0,
|
|
49
|
+
version: 1
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
describe('convertLexicalToPlaintext', () => {
|
|
54
|
+
it('ensure paragraph with text is correctly converted', () => {
|
|
55
|
+
const data = rootNode([paragraphNode([textNode('Basic Text')])]);
|
|
56
|
+
const plaintext = convertLexicalToPlaintext({
|
|
57
|
+
data
|
|
58
|
+
});
|
|
59
|
+
console.log('plaintext', plaintext);
|
|
60
|
+
expect(plaintext).toBe('Basic Text');
|
|
61
|
+
});
|
|
62
|
+
it('ensure paragraph with multiple text nodes is correctly converted', () => {
|
|
63
|
+
const data = rootNode([paragraphNode([textNode('Basic Text'), textNode(' Bold', true), textNode(' Text')])]);
|
|
64
|
+
const plaintext = convertLexicalToPlaintext({
|
|
65
|
+
data
|
|
66
|
+
});
|
|
67
|
+
expect(plaintext).toBe('Basic Text Bold Text');
|
|
68
|
+
});
|
|
69
|
+
it('ensure linebreaks are converted correctly', () => {
|
|
70
|
+
const data = rootNode([paragraphNode([textNode('Basic Text'), linebreakNode(), textNode('Next Line')])]);
|
|
71
|
+
const plaintext = convertLexicalToPlaintext({
|
|
72
|
+
data
|
|
73
|
+
});
|
|
74
|
+
expect(plaintext).toBe('Basic Text\nNext Line');
|
|
75
|
+
});
|
|
76
|
+
it('ensure tabs are converted correctly', () => {
|
|
77
|
+
const data = rootNode([paragraphNode([textNode('Basic Text'), tabNode(), textNode('Next Line')])]);
|
|
78
|
+
const plaintext = convertLexicalToPlaintext({
|
|
79
|
+
data
|
|
80
|
+
});
|
|
81
|
+
expect(plaintext).toBe('Basic Text\tNext Line');
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=convertLexicalToPlaintext.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertLexicalToPlaintext.spec.js","names":["convertLexicalToPlaintext","textNode","text","bold","type","detail","format","mode","style","version","linebreakNode","tabNode","paragraphNode","children","direction","indent","textFormat","rootNode","nodes","root","describe","it","data","plaintext","console","log","expect","toBe"],"sources":["../../../../src/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.ts"],"sourcesContent":["import type {\n DefaultNodeTypes,\n DefaultTypedEditorState,\n SerializedTabNode,\n SerializedParagraphNode,\n SerializedTextNode,\n SerializedLineBreakNode,\n} from '../../../nodeTypes.js'\nimport { convertLexicalToPlaintext } from './sync/index.js'\n\nfunction textNode(text: string, bold?: boolean): SerializedTextNode {\n return {\n type: 'text',\n detail: 0,\n format: bold ? 1 : 0,\n mode: 'normal',\n style: '',\n text,\n version: 1,\n }\n}\n\nfunction linebreakNode(): SerializedLineBreakNode {\n return {\n type: 'linebreak',\n version: 1,\n }\n}\n\nfunction tabNode(): SerializedTabNode {\n return {\n type: 'tab',\n detail: 0,\n format: 0,\n mode: 'normal',\n style: '',\n text: '',\n version: 1,\n }\n}\n\nfunction paragraphNode(children: DefaultNodeTypes[]): SerializedParagraphNode {\n return {\n type: 'paragraph',\n children,\n direction: 'ltr',\n format: '',\n indent: 0,\n textFormat: 0,\n version: 1,\n }\n}\n\nfunction rootNode(nodes: DefaultNodeTypes[]): DefaultTypedEditorState {\n return {\n root: {\n type: 'root',\n children: nodes,\n direction: 'ltr',\n format: '',\n indent: 0,\n version: 1,\n },\n }\n}\n\ndescribe('convertLexicalToPlaintext', () => {\n it('ensure paragraph with text is correctly converted', () => {\n const data: DefaultTypedEditorState = rootNode([paragraphNode([textNode('Basic Text')])])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n console.log('plaintext', plaintext)\n expect(plaintext).toBe('Basic Text')\n })\n\n it('ensure paragraph with multiple text nodes is correctly converted', () => {\n const data: DefaultTypedEditorState = rootNode([\n paragraphNode([textNode('Basic Text'), textNode(' Bold', true), textNode(' Text')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic Text Bold Text')\n })\n\n it('ensure linebreaks are converted correctly', () => {\n const data: DefaultTypedEditorState = rootNode([\n paragraphNode([textNode('Basic Text'), linebreakNode(), textNode('Next Line')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic Text\\nNext Line')\n })\n\n it('ensure tabs are converted correctly', () => {\n const data: DefaultTypedEditorState = rootNode([\n paragraphNode([textNode('Basic Text'), tabNode(), textNode('Next Line')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic Text\\tNext Line')\n })\n})\n"],"mappings":"AAQA,SAASA,yBAAyB,QAAQ;AAE1C,SAASC,SAASC,IAAY,EAAEC,IAAc;EAC5C,OAAO;IACLC,IAAA,EAAM;IACNC,MAAA,EAAQ;IACRC,MAAA,EAAQH,IAAA,GAAO,IAAI;IACnBI,IAAA,EAAM;IACNC,KAAA,EAAO;IACPN,IAAA;IACAO,OAAA,EAAS;EACX;AACF;AAEA,SAASC,cAAA;EACP,OAAO;IACLN,IAAA,EAAM;IACNK,OAAA,EAAS;EACX;AACF;AAEA,SAASE,QAAA;EACP,OAAO;IACLP,IAAA,EAAM;IACNC,MAAA,EAAQ;IACRC,MAAA,EAAQ;IACRC,IAAA,EAAM;IACNC,KAAA,EAAO;IACPN,IAAA,EAAM;IACNO,OAAA,EAAS;EACX;AACF;AAEA,SAASG,cAAcC,QAA4B;EACjD,OAAO;IACLT,IAAA,EAAM;IACNS,QAAA;IACAC,SAAA,EAAW;IACXR,MAAA,EAAQ;IACRS,MAAA,EAAQ;IACRC,UAAA,EAAY;IACZP,OAAA,EAAS;EACX;AACF;AAEA,SAASQ,SAASC,KAAyB;EACzC,OAAO;IACLC,IAAA,EAAM;MACJf,IAAA,EAAM;MACNS,QAAA,EAAUK,KAAA;MACVJ,SAAA,EAAW;MACXR,MAAA,EAAQ;MACRS,MAAA,EAAQ;MACRN,OAAA,EAAS;IACX;EACF;AACF;AAEAW,QAAA,CAAS,6BAA6B;EACpCC,EAAA,CAAG,qDAAqD;IACtD,MAAMC,IAAA,GAAgCL,QAAA,CAAS,CAACL,aAAA,CAAc,CAACX,QAAA,CAAS,cAAc,EAAE;IAExF,MAAMsB,SAAA,GAAYvB,yBAAA,CAA0B;MAC1CsB;IACF;IAEAE,OAAA,CAAQC,GAAG,CAAC,aAAaF,SAAA;IACzBG,MAAA,CAAOH,SAAA,EAAWI,IAAI,CAAC;EACzB;EAEAN,EAAA,CAAG,oEAAoE;IACrE,MAAMC,IAAA,GAAgCL,QAAA,CAAS,CAC7CL,aAAA,CAAc,CAACX,QAAA,CAAS,eAAeA,QAAA,CAAS,SAAS,OAAOA,QAAA,CAAS,SAAS,EACnF;IAED,MAAMsB,SAAA,GAAYvB,yBAAA,CAA0B;MAC1CsB;IACF;IAEAI,MAAA,CAAOH,SAAA,EAAWI,IAAI,CAAC;EACzB;EAEAN,EAAA,CAAG,6CAA6C;IAC9C,MAAMC,IAAA,GAAgCL,QAAA,CAAS,CAC7CL,aAAA,CAAc,CAACX,QAAA,CAAS,eAAeS,aAAA,IAAiBT,QAAA,CAAS,aAAa,EAC/E;IAED,MAAMsB,SAAA,GAAYvB,yBAAA,CAA0B;MAC1CsB;IACF;IAEAI,MAAA,CAAOH,SAAA,EAAWI,IAAI,CAAC;EACzB;EAEAN,EAAA,CAAG,uCAAuC;IACxC,MAAMC,IAAA,GAAgCL,QAAA,CAAS,CAC7CL,aAAA,CAAc,CAACX,QAAA,CAAS,eAAeU,OAAA,IAAWV,QAAA,CAAS,aAAa,EACzE;IAED,MAAMsB,SAAA,GAAYvB,yBAAA,CAA0B;MAC1CsB;IACF;IAEAI,MAAA,CAAOH,SAAA,EAAWI,IAAI,CAAC;EACzB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SerializedLexicalNode } from 'lexical';
|
|
2
|
+
import type { PlaintextConverter, PlaintextConverters } from '../sync/types.js';
|
|
3
|
+
export declare function findConverterForNode<TConverters extends PlaintextConverters, TConverter extends PlaintextConverter<any>>({ converters, node, }: {
|
|
4
|
+
converters: TConverters;
|
|
5
|
+
node: SerializedLexicalNode;
|
|
6
|
+
}): TConverter | undefined;
|
|
7
|
+
//# sourceMappingURL=findConverterForNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findConverterForNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToPlaintext/shared/findConverterForNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAGpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE/E,wBAAgB,oBAAoB,CAClC,WAAW,SAAS,mBAAmB,EACvC,UAAU,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAC1C,EACA,UAAU,EAEV,IAAI,GACL,EAAE;IACD,UAAU,EAAE,WAAW,CAAA;IACvB,IAAI,EAAE,qBAAqB,CAAA;CAC5B,GAAG,UAAU,GAAG,SAAS,CAezB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function findConverterForNode({
|
|
2
|
+
converters,
|
|
3
|
+
node
|
|
4
|
+
}) {
|
|
5
|
+
let converterForNode;
|
|
6
|
+
if (node.type === 'block') {
|
|
7
|
+
converterForNode = converters?.blocks?.[node?.fields?.blockType];
|
|
8
|
+
} else if (node.type === 'inlineBlock') {
|
|
9
|
+
converterForNode = converters?.inlineBlocks?.[node?.fields?.blockType];
|
|
10
|
+
} else {
|
|
11
|
+
converterForNode = converters[node.type];
|
|
12
|
+
}
|
|
13
|
+
return converterForNode;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=findConverterForNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findConverterForNode.js","names":["findConverterForNode","converters","node","converterForNode","type","blocks","fields","blockType","inlineBlocks"],"sources":["../../../../../src/features/converters/lexicalToPlaintext/shared/findConverterForNode.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\n\nimport type { SerializedBlockNode, SerializedInlineBlockNode } from '../../../../nodeTypes.js'\nimport type { PlaintextConverter, PlaintextConverters } from '../sync/types.js'\n\nexport function findConverterForNode<\n TConverters extends PlaintextConverters,\n TConverter extends PlaintextConverter<any>,\n>({\n converters,\n\n node,\n}: {\n converters: TConverters\n node: SerializedLexicalNode\n}): TConverter | undefined {\n let converterForNode: TConverter | undefined\n if (node.type === 'block') {\n converterForNode = converters?.blocks?.[\n (node as SerializedBlockNode)?.fields?.blockType\n ] as TConverter\n } else if (node.type === 'inlineBlock') {\n converterForNode = converters?.inlineBlocks?.[\n (node as SerializedInlineBlockNode)?.fields?.blockType\n ] as TConverter\n } else {\n converterForNode = converters[node.type] as TConverter\n }\n\n return converterForNode\n}\n"],"mappings":"AAKA,OAAO,SAASA,qBAGd;EACAC,UAAU;EAEVC;AAAI,CAIL;EACC,IAAIC,gBAAA;EACJ,IAAID,IAAA,CAAKE,IAAI,KAAK,SAAS;IACzBD,gBAAA,GAAmBF,UAAA,EAAYI,MAAA,GAC5BH,IAAA,EAA8BI,MAAA,EAAQC,SAAA,CACxC;EACH,OAAO,IAAIL,IAAA,CAAKE,IAAI,KAAK,eAAe;IACtCD,gBAAA,GAAmBF,UAAA,EAAYO,YAAA,GAC5BN,IAAA,EAAoCI,MAAA,EAAQC,SAAA,CAC9C;EACH,OAAO;IACLJ,gBAAA,GAAmBF,UAAU,CAACC,IAAA,CAAKE,IAAI,CAAC;EAC1C;EAEA,OAAOD,gBAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToPlaintext/shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,CAAC,EAAE,qBAAqB,CAAA;CAC/B,GAAG,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/features/converters/lexicalToPlaintext/shared/types.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nexport type SerializedLexicalNodeWithParent = {\n parent?: SerializedLexicalNode\n} & SerializedLexicalNode\n"],"mappings":"AACA","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SerializedEditorState, SerializedLexicalNode } from 'lexical';
|
|
2
|
+
import type { SerializedLexicalNodeWithParent } from '../shared/types.js';
|
|
3
|
+
import type { PlaintextConverters } from './types.js';
|
|
4
|
+
export type ConvertLexicalToPlaintextArgs = {
|
|
5
|
+
/**
|
|
6
|
+
* A map of node types to their corresponding plaintext converter functions.
|
|
7
|
+
* This is optional - if not provided, the following heuristic will be used:
|
|
8
|
+
*
|
|
9
|
+
* - If the node has a `text` property, it will be used as the plaintext.
|
|
10
|
+
* - If the node has a `children` property, the children will be recursively converted to plaintext.
|
|
11
|
+
* - If the node has neither, it will be ignored.
|
|
12
|
+
**/
|
|
13
|
+
converters?: PlaintextConverters;
|
|
14
|
+
data: SerializedEditorState;
|
|
15
|
+
};
|
|
16
|
+
export declare function convertLexicalToPlaintext({ converters, data, }: ConvertLexicalToPlaintextArgs): string;
|
|
17
|
+
export declare function convertLexicalNodesToPlaintext({ converters, nodes, parent, }: {
|
|
18
|
+
converters: PlaintextConverters;
|
|
19
|
+
nodes: SerializedLexicalNode[];
|
|
20
|
+
parent: SerializedLexicalNodeWithParent;
|
|
21
|
+
}): string[];
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToPlaintext/sync/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKrD,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;;;;QAOI;IACJ,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC,IAAI,EAAE,qBAAqB,CAAA;CAC5B,CAAA;AAED,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,IAAI,GACL,EAAE,6BAA6B,GAAG,MAAM,CAWxC;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,UAAU,EACV,KAAK,EACL,MAAM,GACP,EAAE;IACD,UAAU,EAAE,mBAAmB,CAAA;IAC/B,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,MAAM,EAAE,+BAA+B,CAAA;CACxC,GAAG,MAAM,EAAE,CAoEX"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/* eslint-disable no-console */import { hasText } from '../../../../validate/hasText.js';
|
|
2
|
+
import { findConverterForNode } from '../shared/findConverterForNode.js';
|
|
3
|
+
export function convertLexicalToPlaintext({
|
|
4
|
+
converters,
|
|
5
|
+
data
|
|
6
|
+
}) {
|
|
7
|
+
if (hasText(data)) {
|
|
8
|
+
const plaintext = convertLexicalNodesToPlaintext({
|
|
9
|
+
converters: converters ?? {},
|
|
10
|
+
nodes: data?.root?.children,
|
|
11
|
+
parent: data?.root
|
|
12
|
+
}).join('');
|
|
13
|
+
return plaintext;
|
|
14
|
+
}
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
export function convertLexicalNodesToPlaintext({
|
|
18
|
+
converters,
|
|
19
|
+
nodes,
|
|
20
|
+
parent
|
|
21
|
+
}) {
|
|
22
|
+
const plainTextArray = [];
|
|
23
|
+
let i = -1;
|
|
24
|
+
for (const node of nodes) {
|
|
25
|
+
i++;
|
|
26
|
+
const converter = findConverterForNode({
|
|
27
|
+
converters,
|
|
28
|
+
node
|
|
29
|
+
});
|
|
30
|
+
if (converter) {
|
|
31
|
+
try {
|
|
32
|
+
const converted = typeof converter === 'function' ? converter({
|
|
33
|
+
childIndex: i,
|
|
34
|
+
converters,
|
|
35
|
+
node,
|
|
36
|
+
nodesToPlaintext: args => {
|
|
37
|
+
return convertLexicalNodesToPlaintext({
|
|
38
|
+
converters: args.converters ?? converters,
|
|
39
|
+
nodes: args.nodes,
|
|
40
|
+
parent: args.parent ?? {
|
|
41
|
+
...node,
|
|
42
|
+
parent
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
parent
|
|
47
|
+
}) : converter;
|
|
48
|
+
if (converted && typeof converted === 'string') {
|
|
49
|
+
plainTextArray.push(converted);
|
|
50
|
+
}
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.error('Error converting lexical node to plaintext:', error, 'node:', node);
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
// Default plaintext converter heuristic
|
|
56
|
+
if (node.type === 'paragraph') {
|
|
57
|
+
if (plainTextArray?.length) {
|
|
58
|
+
// Only add a new line if there is already text in the array
|
|
59
|
+
plainTextArray.push('\n\n');
|
|
60
|
+
}
|
|
61
|
+
} else if (node.type === 'linebreak') {
|
|
62
|
+
plainTextArray.push('\n');
|
|
63
|
+
} else if (node.type === 'tab') {
|
|
64
|
+
plainTextArray.push('\t');
|
|
65
|
+
} else if ('text' in node && node.text) {
|
|
66
|
+
plainTextArray.push(node.text);
|
|
67
|
+
}
|
|
68
|
+
if ('children' in node && node.children) {
|
|
69
|
+
plainTextArray.push(...convertLexicalNodesToPlaintext({
|
|
70
|
+
converters,
|
|
71
|
+
nodes: node.children,
|
|
72
|
+
parent: node
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return plainTextArray.filter(Boolean);
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["hasText","findConverterForNode","convertLexicalToPlaintext","converters","data","plaintext","convertLexicalNodesToPlaintext","nodes","root","children","parent","join","plainTextArray","i","node","converter","converted","childIndex","nodesToPlaintext","args","push","error","console","type","length","text","filter","Boolean"],"sources":["../../../../../src/features/converters/lexicalToPlaintext/sync/index.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport type { SerializedEditorState, SerializedLexicalNode } from 'lexical'\n\nimport type { SerializedLexicalNodeWithParent } from '../shared/types.js'\nimport type { PlaintextConverters } from './types.js'\n\nimport { hasText } from '../../../../validate/hasText.js'\nimport { findConverterForNode } from '../shared/findConverterForNode.js'\n\nexport type ConvertLexicalToPlaintextArgs = {\n /**\n * A map of node types to their corresponding plaintext converter functions.\n * This is optional - if not provided, the following heuristic will be used:\n *\n * - If the node has a `text` property, it will be used as the plaintext.\n * - If the node has a `children` property, the children will be recursively converted to plaintext.\n * - If the node has neither, it will be ignored.\n **/\n converters?: PlaintextConverters\n data: SerializedEditorState\n}\n\nexport function convertLexicalToPlaintext({\n converters,\n data,\n}: ConvertLexicalToPlaintextArgs): string {\n if (hasText(data)) {\n const plaintext = convertLexicalNodesToPlaintext({\n converters: converters ?? {},\n nodes: data?.root?.children,\n parent: data?.root,\n }).join('')\n\n return plaintext\n }\n return ''\n}\n\nexport function convertLexicalNodesToPlaintext({\n converters,\n nodes,\n parent,\n}: {\n converters: PlaintextConverters\n nodes: SerializedLexicalNode[]\n parent: SerializedLexicalNodeWithParent\n}): string[] {\n const plainTextArray: string[] = []\n\n let i = -1\n for (const node of nodes) {\n i++\n\n const converter = findConverterForNode({\n converters,\n node,\n })\n\n if (converter) {\n try {\n const converted =\n typeof converter === 'function'\n ? converter({\n childIndex: i,\n converters,\n node,\n nodesToPlaintext: (args) => {\n return convertLexicalNodesToPlaintext({\n converters: args.converters ?? converters,\n nodes: args.nodes,\n parent: args.parent ?? {\n ...node,\n parent,\n },\n })\n },\n parent,\n })\n : converter\n\n if (converted && typeof converted === 'string') {\n plainTextArray.push(converted)\n }\n } catch (error) {\n console.error('Error converting lexical node to plaintext:', error, 'node:', node)\n }\n } else {\n // Default plaintext converter heuristic\n if (node.type === 'paragraph') {\n if (plainTextArray?.length) {\n // Only add a new line if there is already text in the array\n plainTextArray.push('\\n\\n')\n }\n } else if (node.type === 'linebreak') {\n plainTextArray.push('\\n')\n } else if (node.type === 'tab') {\n plainTextArray.push('\\t')\n } else if ('text' in node && node.text) {\n plainTextArray.push(node.text as string)\n }\n\n if ('children' in node && node.children) {\n plainTextArray.push(\n ...convertLexicalNodesToPlaintext({\n converters,\n nodes: node.children as SerializedLexicalNode[],\n parent: node,\n }),\n )\n }\n }\n }\n\n return plainTextArray.filter(Boolean)\n}\n"],"mappings":"AAAA,+BAMA,SAASA,OAAO,QAAQ;AACxB,SAASC,oBAAoB,QAAQ;AAerC,OAAO,SAASC,0BAA0B;EACxCC,UAAU;EACVC;AAAI,CAC0B;EAC9B,IAAIJ,OAAA,CAAQI,IAAA,GAAO;IACjB,MAAMC,SAAA,GAAYC,8BAAA,CAA+B;MAC/CH,UAAA,EAAYA,UAAA,IAAc,CAAC;MAC3BI,KAAA,EAAOH,IAAA,EAAMI,IAAA,EAAMC,QAAA;MACnBC,MAAA,EAAQN,IAAA,EAAMI;IAChB,GAAGG,IAAI,CAAC;IAER,OAAON,SAAA;EACT;EACA,OAAO;AACT;AAEA,OAAO,SAASC,+BAA+B;EAC7CH,UAAU;EACVI,KAAK;EACLG;AAAM,CAKP;EACC,MAAME,cAAA,GAA2B,EAAE;EAEnC,IAAIC,CAAA,GAAI,CAAC;EACT,KAAK,MAAMC,IAAA,IAAQP,KAAA,EAAO;IACxBM,CAAA;IAEA,MAAME,SAAA,GAAYd,oBAAA,CAAqB;MACrCE,UAAA;MACAW;IACF;IAEA,IAAIC,SAAA,EAAW;MACb,IAAI;QACF,MAAMC,SAAA,GACJ,OAAOD,SAAA,KAAc,aACjBA,SAAA,CAAU;UACRE,UAAA,EAAYJ,CAAA;UACZV,UAAA;UACAW,IAAA;UACAI,gBAAA,EAAmBC,IAAA;YACjB,OAAOb,8BAAA,CAA+B;cACpCH,UAAA,EAAYgB,IAAA,CAAKhB,UAAU,IAAIA,UAAA;cAC/BI,KAAA,EAAOY,IAAA,CAAKZ,KAAK;cACjBG,MAAA,EAAQS,IAAA,CAAKT,MAAM,IAAI;gBACrB,GAAGI,IAAI;gBACPJ;cACF;YACF;UACF;UACAA;QACF,KACAK,SAAA;QAEN,IAAIC,SAAA,IAAa,OAAOA,SAAA,KAAc,UAAU;UAC9CJ,cAAA,CAAeQ,IAAI,CAACJ,SAAA;QACtB;MACF,EAAE,OAAOK,KAAA,EAAO;QACdC,OAAA,CAAQD,KAAK,CAAC,+CAA+CA,KAAA,EAAO,SAASP,IAAA;MAC/E;IACF,OAAO;MACL;MACA,IAAIA,IAAA,CAAKS,IAAI,KAAK,aAAa;QAC7B,IAAIX,cAAA,EAAgBY,MAAA,EAAQ;UAC1B;UACAZ,cAAA,CAAeQ,IAAI,CAAC;QACtB;MACF,OAAO,IAAIN,IAAA,CAAKS,IAAI,KAAK,aAAa;QACpCX,cAAA,CAAeQ,IAAI,CAAC;MACtB,OAAO,IAAIN,IAAA,CAAKS,IAAI,KAAK,OAAO;QAC9BX,cAAA,CAAeQ,IAAI,CAAC;MACtB,OAAO,IAAI,UAAUN,IAAA,IAAQA,IAAA,CAAKW,IAAI,EAAE;QACtCb,cAAA,CAAeQ,IAAI,CAACN,IAAA,CAAKW,IAAI;MAC/B;MAEA,IAAI,cAAcX,IAAA,IAAQA,IAAA,CAAKL,QAAQ,EAAE;QACvCG,cAAA,CAAeQ,IAAI,IACdd,8BAAA,CAA+B;UAChCH,UAAA;UACAI,KAAA,EAAOO,IAAA,CAAKL,QAAQ;UACpBC,MAAA,EAAQI;QACV;MAEJ;IACF;EACF;EAEA,OAAOF,cAAA,CAAec,MAAM,CAACC,OAAA;AAC/B","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { SerializedLexicalNode } from 'lexical';
|
|
2
|
+
import type { DefaultNodeTypes, SerializedBlockNode, SerializedInlineBlockNode } from '../../../../nodeTypes.js';
|
|
3
|
+
import type { SerializedLexicalNodeWithParent } from '../shared/types.js';
|
|
4
|
+
export type PlaintextConverter<T extends {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
type?: string;
|
|
7
|
+
} = SerializedLexicalNode> = ((args: {
|
|
8
|
+
childIndex: number;
|
|
9
|
+
converters: PlaintextConverters;
|
|
10
|
+
node: T;
|
|
11
|
+
nodesToPlaintext: (args: {
|
|
12
|
+
converters?: PlaintextConverters;
|
|
13
|
+
nodes: SerializedLexicalNode[];
|
|
14
|
+
parent?: SerializedLexicalNodeWithParent;
|
|
15
|
+
}) => string[];
|
|
16
|
+
parent: SerializedLexicalNodeWithParent;
|
|
17
|
+
}) => string) | string;
|
|
18
|
+
export type DefaultPlaintextNodeTypes = DefaultNodeTypes | SerializedBlockNode<{
|
|
19
|
+
blockName?: null | string;
|
|
20
|
+
blockType: string;
|
|
21
|
+
}> | SerializedInlineBlockNode<{
|
|
22
|
+
blockName?: null | string;
|
|
23
|
+
blockType: string;
|
|
24
|
+
}>;
|
|
25
|
+
export type PlaintextConverters<T extends {
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
type?: string;
|
|
28
|
+
} = DefaultPlaintextNodeTypes> = {
|
|
29
|
+
[key: string]: {
|
|
30
|
+
[blockSlug: string]: PlaintextConverter<any>;
|
|
31
|
+
} | PlaintextConverter<any> | undefined;
|
|
32
|
+
} & {
|
|
33
|
+
[nodeType in Exclude<NonNullable<T['type']>, 'block' | 'inlineBlock'>]?: PlaintextConverter<Extract<T, {
|
|
34
|
+
type: nodeType;
|
|
35
|
+
}>>;
|
|
36
|
+
} & {
|
|
37
|
+
blocks?: {
|
|
38
|
+
[K in Extract<Extract<T, {
|
|
39
|
+
type: 'block';
|
|
40
|
+
}> extends SerializedBlockNode<infer B> ? B extends {
|
|
41
|
+
blockType: string;
|
|
42
|
+
} ? B['blockType'] : never : never, string>]?: PlaintextConverter<Extract<T, {
|
|
43
|
+
type: 'block';
|
|
44
|
+
}> extends SerializedBlockNode<infer B> ? SerializedBlockNode<Extract<B, {
|
|
45
|
+
blockType: K;
|
|
46
|
+
}>> : SerializedBlockNode>;
|
|
47
|
+
};
|
|
48
|
+
inlineBlocks?: {
|
|
49
|
+
[K in Extract<Extract<T, {
|
|
50
|
+
type: 'inlineBlock';
|
|
51
|
+
}> extends SerializedInlineBlockNode<infer B> ? B extends {
|
|
52
|
+
blockType: string;
|
|
53
|
+
} ? B['blockType'] : never : never, string>]?: PlaintextConverter<Extract<T, {
|
|
54
|
+
type: 'inlineBlock';
|
|
55
|
+
}> extends SerializedInlineBlockNode<infer B> ? SerializedInlineBlockNode<Extract<B, {
|
|
56
|
+
blockType: K;
|
|
57
|
+
}>> : SerializedInlineBlockNode>;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToPlaintext/sync/types.ts"],"names":[],"mappings":"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"}
|