@payloadcms/richtext-lexical 3.27.0 → 3.28.0-canary.36921bd
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/index.d.ts +1 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +9 -9
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/html/index.d.ts +16 -0
- package/dist/exports/html/index.d.ts.map +1 -0
- package/dist/exports/html/index.js +14 -0
- package/dist/exports/html/index.js.map +1 -0
- package/dist/exports/html-async/index.d.ts +16 -0
- package/dist/exports/html-async/index.d.ts.map +1 -0
- package/dist/exports/html-async/index.js +14 -0
- package/dist/exports/html-async/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/converters/html/async/converters/blockquote.d.ts +4 -0
- package/dist/features/converters/html/async/converters/blockquote.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/blockquote.js +13 -0
- package/dist/features/converters/html/async/converters/blockquote.js.map +1 -0
- package/dist/features/converters/html/async/converters/heading.d.ts +4 -0
- package/dist/features/converters/html/async/converters/heading.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/heading.js +13 -0
- package/dist/features/converters/html/async/converters/heading.js.map +1 -0
- package/dist/features/converters/html/async/converters/horizontalRule.d.ts +4 -0
- package/dist/features/converters/html/async/converters/horizontalRule.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/horizontalRule.js +4 -0
- package/dist/features/converters/html/async/converters/horizontalRule.js.map +1 -0
- package/dist/features/converters/html/async/converters/linebreak.d.ts +4 -0
- package/dist/features/converters/html/async/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/linebreak.js +4 -0
- package/dist/features/converters/html/async/converters/linebreak.js.map +1 -0
- package/dist/features/converters/html/async/converters/link.d.ts +9 -0
- package/dist/features/converters/html/async/converters/link.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/link.js +51 -0
- package/dist/features/converters/html/async/converters/link.js.map +1 -0
- package/dist/features/converters/html/async/converters/list.d.ts +4 -0
- package/dist/features/converters/html/async/converters/list.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/list.js +46 -0
- package/dist/features/converters/html/async/converters/list.js.map +1 -0
- package/dist/features/converters/html/async/converters/paragraph.d.ts +4 -0
- package/dist/features/converters/html/async/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/paragraph.js +16 -0
- package/dist/features/converters/html/async/converters/paragraph.js.map +1 -0
- package/dist/features/converters/html/async/converters/tab.d.ts +4 -0
- package/dist/features/converters/html/async/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/tab.js +4 -0
- package/dist/features/converters/html/async/converters/tab.js.map +1 -0
- package/dist/features/converters/html/async/converters/table.d.ts +4 -0
- package/dist/features/converters/html/async/converters/table.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/table.js +55 -0
- package/dist/features/converters/html/async/converters/table.js.map +1 -0
- package/dist/features/converters/html/async/converters/text.d.ts +4 -0
- package/dist/features/converters/html/async/converters/text.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/text.js +31 -0
- package/dist/features/converters/html/async/converters/text.js.map +1 -0
- package/dist/features/converters/html/async/converters/upload.d.ts +4 -0
- package/dist/features/converters/html/async/converters/upload.d.ts.map +1 -0
- package/dist/features/converters/html/async/converters/upload.js +66 -0
- package/dist/features/converters/html/async/converters/upload.js.map +1 -0
- package/dist/features/converters/html/async/defaultConverters.d.ts +4 -0
- package/dist/features/converters/html/async/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/html/async/defaultConverters.js +25 -0
- package/dist/features/converters/html/async/defaultConverters.js.map +1 -0
- package/dist/features/converters/html/async/field/index.d.ts +33 -0
- package/dist/features/converters/html/async/field/index.d.ts.map +1 -0
- package/dist/features/converters/html/async/field/index.js +67 -0
- package/dist/features/converters/html/async/field/index.js.map +1 -0
- package/dist/features/converters/html/async/index.d.ts +34 -0
- package/dist/features/converters/html/async/index.d.ts.map +1 -0
- package/dist/features/converters/html/async/index.js +107 -0
- package/dist/features/converters/html/async/index.js.map +1 -0
- package/dist/features/converters/html/async/types.d.ts +82 -0
- package/dist/features/converters/html/async/types.d.ts.map +1 -0
- package/dist/features/converters/html/async/types.js.map +1 -0
- package/dist/features/converters/html/shared/findConverterForNode.d.ts +15 -0
- package/dist/features/converters/html/shared/findConverterForNode.d.ts.map +1 -0
- package/dist/features/converters/html/shared/findConverterForNode.js +64 -0
- package/dist/features/converters/html/shared/findConverterForNode.js.map +1 -0
- package/dist/features/converters/html/shared/types.d.ts +9 -0
- package/dist/features/converters/html/shared/types.d.ts.map +1 -0
- package/dist/features/converters/html/shared/types.js.map +1 -0
- package/dist/features/converters/html/sync/converters/blockquote.d.ts +4 -0
- package/dist/features/converters/html/sync/converters/blockquote.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/blockquote.js +13 -0
- package/dist/features/converters/html/sync/converters/blockquote.js.map +1 -0
- package/dist/features/converters/html/sync/converters/heading.d.ts +4 -0
- package/dist/features/converters/html/sync/converters/heading.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/heading.js +13 -0
- package/dist/features/converters/html/sync/converters/heading.js.map +1 -0
- package/dist/features/converters/html/sync/converters/horizontalRule.d.ts +4 -0
- package/dist/features/converters/html/sync/converters/horizontalRule.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/horizontalRule.js +4 -0
- package/dist/features/converters/html/sync/converters/horizontalRule.js.map +1 -0
- package/dist/features/converters/html/sync/converters/linebreak.d.ts +4 -0
- package/dist/features/converters/html/sync/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/linebreak.js +4 -0
- package/dist/features/converters/html/sync/converters/linebreak.js.map +1 -0
- package/dist/features/converters/html/sync/converters/link.d.ts +8 -0
- package/dist/features/converters/html/sync/converters/link.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/link.js +49 -0
- package/dist/features/converters/html/sync/converters/link.js.map +1 -0
- package/dist/features/converters/html/sync/converters/list.d.ts +4 -0
- package/dist/features/converters/html/sync/converters/list.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/list.js +46 -0
- package/dist/features/converters/html/sync/converters/list.js.map +1 -0
- package/dist/features/converters/html/sync/converters/paragraph.d.ts +4 -0
- package/dist/features/converters/html/sync/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/paragraph.js +16 -0
- package/dist/features/converters/html/sync/converters/paragraph.js.map +1 -0
- package/dist/features/converters/html/sync/converters/tab.d.ts +4 -0
- package/dist/features/converters/html/sync/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/tab.js +4 -0
- package/dist/features/converters/html/sync/converters/tab.js.map +1 -0
- package/dist/features/converters/html/sync/converters/table.d.ts +4 -0
- package/dist/features/converters/html/sync/converters/table.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/table.js +55 -0
- package/dist/features/converters/html/sync/converters/table.js.map +1 -0
- package/dist/features/converters/html/sync/converters/text.d.ts +4 -0
- package/dist/features/converters/html/sync/converters/text.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/text.js +31 -0
- package/dist/features/converters/html/sync/converters/text.js.map +1 -0
- package/dist/features/converters/html/sync/converters/upload.d.ts +4 -0
- package/dist/features/converters/html/sync/converters/upload.d.ts.map +1 -0
- package/dist/features/converters/html/sync/converters/upload.js +59 -0
- package/dist/features/converters/html/sync/converters/upload.js.map +1 -0
- package/dist/features/converters/html/sync/defaultConverters.d.ts +4 -0
- package/dist/features/converters/html/sync/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/html/sync/defaultConverters.js +25 -0
- package/dist/features/converters/html/sync/defaultConverters.js.map +1 -0
- package/dist/features/converters/html/sync/index.d.ts +32 -0
- package/dist/features/converters/html/sync/index.d.ts.map +1 -0
- package/dist/features/converters/html/sync/index.js +102 -0
- package/dist/features/converters/html/sync/index.js.map +1 -0
- package/dist/features/converters/html/sync/types.d.ts +74 -0
- package/dist/features/converters/html/sync/types.d.ts.map +1 -0
- package/dist/features/converters/html/sync/types.js +2 -0
- package/dist/features/converters/html/sync/types.js.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/linebreak.js.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/paragraph.js.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/tab.js.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/text.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/converters/text.js.map +1 -0
- package/dist/features/converters/{html → html_deprecated}/converter/defaultConverters.d.ts +3 -0
- package/dist/features/converters/html_deprecated/converter/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/{html → html_deprecated}/converter/defaultConverters.js +3 -0
- package/dist/features/converters/html_deprecated/converter/defaultConverters.js.map +1 -0
- package/dist/features/converters/{html → html_deprecated}/converter/index.d.ts +9 -0
- package/dist/features/converters/html_deprecated/converter/index.d.ts.map +1 -0
- package/dist/features/converters/{html → html_deprecated}/converter/index.js +6 -0
- package/dist/features/converters/html_deprecated/converter/index.js.map +1 -0
- package/dist/features/converters/{html → html_deprecated}/converter/types.d.ts +3 -0
- package/dist/features/converters/html_deprecated/converter/types.d.ts.map +1 -0
- package/dist/features/converters/html_deprecated/converter/types.js +2 -0
- package/dist/features/converters/html_deprecated/converter/types.js.map +1 -0
- package/dist/features/converters/{html → html_deprecated}/field/index.d.ts +7 -3
- package/dist/features/converters/html_deprecated/field/index.d.ts.map +1 -0
- package/dist/features/converters/{html → html_deprecated}/field/index.js +6 -2
- package/dist/features/converters/html_deprecated/field/index.js.map +1 -0
- package/dist/features/converters/{html → html_deprecated}/index.d.ts +3 -0
- package/dist/features/converters/html_deprecated/index.d.ts.map +1 -0
- package/dist/features/converters/{html → html_deprecated}/index.js +3 -0
- package/dist/features/converters/html_deprecated/index.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx/Component}/index.d.ts +2 -2
- package/dist/{exports/react/components/RichText → features/converters/jsx/Component}/index.d.ts.map +1 -1
- package/dist/{exports/react/components/RichText → features/converters/jsx/Component}/index.js +2 -2
- package/dist/features/converters/jsx/Component/index.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/blockquote.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/blockquote.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/blockquote.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/heading.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/heading.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/heading.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/horizontalRule.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/horizontalRule.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/horizontalRule.js +5 -0
- package/dist/features/converters/jsx/converter/converters/horizontalRule.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/linebreak.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/linebreak.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/linebreak.js +5 -0
- package/dist/features/converters/jsx/converter/converters/linebreak.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/link.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/link.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/link.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/list.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/list.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/list.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/paragraph.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/paragraph.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/paragraph.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/tab.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/tab.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/tab.js +4 -0
- package/dist/features/converters/jsx/converter/converters/tab.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/table.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/table.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/converters/table.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/text.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/text.d.ts.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/text.js +1 -1
- package/dist/features/converters/jsx/converter/converters/text.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/upload.d.ts +1 -1
- package/dist/features/converters/jsx/converter/converters/upload.d.ts.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/upload.js +2 -1
- package/dist/features/converters/jsx/converter/converters/upload.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/defaultConverters.d.ts +1 -1
- package/dist/features/converters/jsx/converter/defaultConverters.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/defaultConverters.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/index.d.ts +2 -2
- package/dist/features/converters/jsx/converter/index.d.ts.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/index.js +29 -43
- package/dist/features/converters/jsx/converter/index.js.map +1 -0
- package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/types.d.ts +3 -3
- package/dist/features/converters/jsx/converter/types.d.ts.map +1 -0
- package/dist/features/converters/jsx/converter/types.js +2 -0
- package/dist/features/converters/jsx/converter/types.js.map +1 -0
- package/dist/features/converters/utilities/payloadPopulateFn.d.ts +31 -0
- package/dist/features/converters/utilities/payloadPopulateFn.d.ts.map +1 -0
- package/dist/features/converters/utilities/payloadPopulateFn.js +42 -0
- package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -0
- package/dist/features/converters/utilities/restPopulateFn.d.ts +11 -0
- package/dist/features/converters/utilities/restPopulateFn.d.ts.map +1 -0
- package/dist/features/converters/utilities/restPopulateFn.js +33 -0
- package/dist/features/converters/utilities/restPopulateFn.js.map +1 -0
- 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/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 +6 -1
- package/dist/features/typesServer.d.ts.map +1 -1
- package/dist/features/typesServer.js.map +1 -1
- package/dist/index.d.ts +12 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -8
- package/dist/index.js.map +1 -1
- package/dist/populateGraphQL/populate.d.ts +5 -5
- package/dist/populateGraphQL/populate.d.ts.map +1 -1
- package/dist/populateGraphQL/populate.js.map +1 -1
- package/package.json +17 -6
- package/dist/exports/react/components/RichText/converter/converters/blockquote.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/blockquote.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/heading.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/heading.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/horizontalRule.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/horizontalRule.js +0 -7
- package/dist/exports/react/components/RichText/converter/converters/horizontalRule.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/linebreak.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/linebreak.js +0 -7
- package/dist/exports/react/components/RichText/converter/converters/linebreak.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/link.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/link.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/list.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/list.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/paragraph.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/paragraph.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/tab.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/tab.js +0 -9
- package/dist/exports/react/components/RichText/converter/converters/tab.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/table.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/table.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/text.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/text.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/upload.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/converters/upload.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/defaultConverters.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/defaultConverters.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/index.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/index.js.map +0 -1
- package/dist/exports/react/components/RichText/converter/types.d.ts.map +0 -1
- package/dist/exports/react/components/RichText/converter/types.js.map +0 -1
- package/dist/exports/react/components/RichText/index.js.map +0 -1
- package/dist/features/converters/html/converter/converters/linebreak.d.ts.map +0 -1
- package/dist/features/converters/html/converter/converters/linebreak.js.map +0 -1
- package/dist/features/converters/html/converter/converters/paragraph.d.ts.map +0 -1
- package/dist/features/converters/html/converter/converters/paragraph.js.map +0 -1
- package/dist/features/converters/html/converter/converters/tab.d.ts.map +0 -1
- package/dist/features/converters/html/converter/converters/tab.js.map +0 -1
- package/dist/features/converters/html/converter/converters/text.d.ts.map +0 -1
- package/dist/features/converters/html/converter/converters/text.js.map +0 -1
- package/dist/features/converters/html/converter/defaultConverters.d.ts.map +0 -1
- package/dist/features/converters/html/converter/defaultConverters.js.map +0 -1
- package/dist/features/converters/html/converter/index.d.ts.map +0 -1
- package/dist/features/converters/html/converter/index.js.map +0 -1
- package/dist/features/converters/html/converter/types.d.ts.map +0 -1
- package/dist/features/converters/html/converter/types.js.map +0 -1
- package/dist/features/converters/html/field/index.d.ts.map +0 -1
- package/dist/features/converters/html/field/index.js.map +0 -1
- package/dist/features/converters/html/index.d.ts.map +0 -1
- package/dist/features/converters/html/index.js.map +0 -1
- /package/dist/{exports/react/components/RichText/converter → features/converters/html/async}/types.js +0 -0
- /package/dist/features/converters/html/{converter → shared}/types.js +0 -0
- /package/dist/features/converters/{html → html_deprecated}/converter/converters/linebreak.d.ts +0 -0
- /package/dist/features/converters/{html → html_deprecated}/converter/converters/linebreak.js +0 -0
- /package/dist/features/converters/{html → html_deprecated}/converter/converters/paragraph.d.ts +0 -0
- /package/dist/features/converters/{html → html_deprecated}/converter/converters/paragraph.js +0 -0
- /package/dist/features/converters/{html → html_deprecated}/converter/converters/tab.d.ts +0 -0
- /package/dist/features/converters/{html → html_deprecated}/converter/converters/tab.js +0 -0
- /package/dist/features/converters/{html → html_deprecated}/converter/converters/text.d.ts +0 -0
- /package/dist/features/converters/{html → html_deprecated}/converter/converters/text.js +0 -0
- /package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/blockquote.js +0 -0
- /package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/heading.js +0 -0
- /package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/link.js +0 -0
- /package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/list.js +0 -0
- /package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/paragraph.js +0 -0
- /package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/converters/table.js +0 -0
- /package/dist/{exports/react/components/RichText → features/converters/jsx}/converter/defaultConverters.js +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export const TableHTMLConverterAsync = {
|
|
2
|
+
table: async ({
|
|
3
|
+
node,
|
|
4
|
+
nodesToHTML,
|
|
5
|
+
providedStyleTag
|
|
6
|
+
}) => {
|
|
7
|
+
const children = (await nodesToHTML({
|
|
8
|
+
nodes: node.children
|
|
9
|
+
})).join('');
|
|
10
|
+
return `<div${providedStyleTag} class="lexical-table-container">
|
|
11
|
+
<table class="lexical-table" style="border-collapse: collapse;">
|
|
12
|
+
<tbody>${children}</tbody>
|
|
13
|
+
</table>
|
|
14
|
+
</div>`;
|
|
15
|
+
},
|
|
16
|
+
tablecell: async ({
|
|
17
|
+
node,
|
|
18
|
+
nodesToHTML,
|
|
19
|
+
providedCSSString
|
|
20
|
+
}) => {
|
|
21
|
+
const children = (await nodesToHTML({
|
|
22
|
+
nodes: node.children
|
|
23
|
+
})).join('');
|
|
24
|
+
const TagName = node.headerState > 0 ? 'th' : 'td';
|
|
25
|
+
const headerStateClass = `lexical-table-cell-header-${node.headerState}`;
|
|
26
|
+
let style = 'border: 1px solid #ccc; padding: 8px;' + providedCSSString;
|
|
27
|
+
if (node.backgroundColor) {
|
|
28
|
+
style += ` background-color: ${node.backgroundColor};`;
|
|
29
|
+
}
|
|
30
|
+
const colSpanAttr = node.colSpan && node.colSpan > 1 ? ` colspan="${node.colSpan}"` : '';
|
|
31
|
+
const rowSpanAttr = node.rowSpan && node.rowSpan > 1 ? ` rowspan="${node.rowSpan}"` : '';
|
|
32
|
+
return `<${TagName}
|
|
33
|
+
class="lexical-table-cell ${headerStateClass}"
|
|
34
|
+
${colSpanAttr}
|
|
35
|
+
${rowSpanAttr}
|
|
36
|
+
style="${style}"
|
|
37
|
+
>
|
|
38
|
+
${children}
|
|
39
|
+
</${TagName}>
|
|
40
|
+
`;
|
|
41
|
+
},
|
|
42
|
+
tablerow: async ({
|
|
43
|
+
node,
|
|
44
|
+
nodesToHTML,
|
|
45
|
+
providedStyleTag
|
|
46
|
+
}) => {
|
|
47
|
+
const children = (await nodesToHTML({
|
|
48
|
+
nodes: node.children
|
|
49
|
+
})).join('');
|
|
50
|
+
return `<tr${providedStyleTag} class="lexical-table-row">
|
|
51
|
+
${children}
|
|
52
|
+
</tr>`;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","names":["TableHTMLConverterAsync","table","node","nodesToHTML","providedStyleTag","children","nodes","join","tablecell","providedCSSString","TagName","headerState","headerStateClass","style","backgroundColor","colSpanAttr","colSpan","rowSpanAttr","rowSpan","tablerow"],"sources":["../../../../../../src/features/converters/html/async/converters/table.ts"],"sourcesContent":["import type {\n SerializedTableCellNode,\n SerializedTableNode,\n SerializedTableRowNode,\n} from '../../../../../nodeTypes.js'\nimport type { HTMLConvertersAsync } from '../types.js'\n\nexport const TableHTMLConverterAsync: HTMLConvertersAsync<\n SerializedTableCellNode | SerializedTableNode | SerializedTableRowNode\n> = {\n table: async ({ node, nodesToHTML, providedStyleTag }) => {\n const children = (\n await nodesToHTML({\n nodes: node.children,\n })\n ).join('')\n\n return `<div${providedStyleTag} class=\"lexical-table-container\">\n <table class=\"lexical-table\" style=\"border-collapse: collapse;\">\n <tbody>${children}</tbody>\n </table>\n </div>`\n },\n\n tablecell: async ({ node, nodesToHTML, providedCSSString }) => {\n const children = (\n await nodesToHTML({\n nodes: node.children,\n })\n ).join('')\n\n const TagName = node.headerState > 0 ? 'th' : 'td'\n const headerStateClass = `lexical-table-cell-header-${node.headerState}`\n\n let style = 'border: 1px solid #ccc; padding: 8px;' + providedCSSString\n if (node.backgroundColor) {\n style += ` background-color: ${node.backgroundColor};`\n }\n\n const colSpanAttr = node.colSpan && node.colSpan > 1 ? ` colspan=\"${node.colSpan}\"` : ''\n const rowSpanAttr = node.rowSpan && node.rowSpan > 1 ? ` rowspan=\"${node.rowSpan}\"` : ''\n\n return `<${TagName}\n class=\"lexical-table-cell ${headerStateClass}\"\n ${colSpanAttr}\n ${rowSpanAttr}\n style=\"${style}\"\n >\n ${children}\n </${TagName}>\n `\n },\n\n tablerow: async ({ node, nodesToHTML, providedStyleTag }) => {\n const children = (\n await nodesToHTML({\n nodes: node.children,\n })\n ).join('')\n\n return `<tr${providedStyleTag} class=\"lexical-table-row\">\n ${children}\n </tr>`\n },\n}\n"],"mappings":"AAOA,OAAO,MAAMA,uBAAA,GAET;EACFC,KAAA,EAAO,MAAAA,CAAO;IAAEC,IAAI;IAAEC,WAAW;IAAEC;EAAgB,CAAE;IACnD,MAAMC,QAAA,GAAW,CACf,MAAMF,WAAA,CAAY;MAChBG,KAAA,EAAOJ,IAAA,CAAKG;IACd,EAAC,EACDE,IAAI,CAAC;IAEP,OAAO,OAAOH,gBAAA;;mBAECC,QAAA;;aAEN;EACX;EAEAG,SAAA,EAAW,MAAAA,CAAO;IAAEN,IAAI;IAAEC,WAAW;IAAEM;EAAiB,CAAE;IACxD,MAAMJ,QAAA,GAAW,CACf,MAAMF,WAAA,CAAY;MAChBG,KAAA,EAAOJ,IAAA,CAAKG;IACd,EAAC,EACDE,IAAI,CAAC;IAEP,MAAMG,OAAA,GAAUR,IAAA,CAAKS,WAAW,GAAG,IAAI,OAAO;IAC9C,MAAMC,gBAAA,GAAmB,6BAA6BV,IAAA,CAAKS,WAAW,EAAE;IAExE,IAAIE,KAAA,GAAQ,0CAA0CJ,iBAAA;IACtD,IAAIP,IAAA,CAAKY,eAAe,EAAE;MACxBD,KAAA,IAAS,sBAAsBX,IAAA,CAAKY,eAAe,GAAG;IACxD;IAEA,MAAMC,WAAA,GAAcb,IAAA,CAAKc,OAAO,IAAId,IAAA,CAAKc,OAAO,GAAG,IAAI,aAAad,IAAA,CAAKc,OAAO,GAAG,GAAG;IACtF,MAAMC,WAAA,GAAcf,IAAA,CAAKgB,OAAO,IAAIhB,IAAA,CAAKgB,OAAO,GAAG,IAAI,aAAahB,IAAA,CAAKgB,OAAO,GAAG,GAAG;IAEtF,OAAO,IAAIR,OAAA;oCACqBE,gBAAA;UAC1BG,WAAA;UACAE,WAAA;iBACOJ,KAAA;;UAEPR,QAAA;UACAK,OAAA;KACL;EACH;EAEAS,QAAA,EAAU,MAAAA,CAAO;IAAEjB,IAAI;IAAEC,WAAW;IAAEC;EAAgB,CAAE;IACtD,MAAMC,QAAA,GAAW,CACf,MAAMF,WAAA,CAAY;MAChBG,KAAA,EAAOJ,IAAA,CAAKG;IACd,EAAC,EACDE,IAAI,CAAC;IAEP,OAAO,MAAMH,gBAAA;UACPC,QAAA;YACE;EACV;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/html/async/converters/text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAItD,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,CAAC,kBAAkB,CA4B1E,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { NodeFormat } from '../../../../../lexical/utils/nodeFormat.js';
|
|
2
|
+
export const TextHTMLConverterAsync = {
|
|
3
|
+
text: ({
|
|
4
|
+
node
|
|
5
|
+
}) => {
|
|
6
|
+
let text = node.text;
|
|
7
|
+
if (node.format & NodeFormat.IS_BOLD) {
|
|
8
|
+
text = `<strong>${text}</strong>`;
|
|
9
|
+
}
|
|
10
|
+
if (node.format & NodeFormat.IS_ITALIC) {
|
|
11
|
+
text = `<em>${text}</em>`;
|
|
12
|
+
}
|
|
13
|
+
if (node.format & NodeFormat.IS_STRIKETHROUGH) {
|
|
14
|
+
text = `<span style="text-decoration: line-through;">${text}</span>`;
|
|
15
|
+
}
|
|
16
|
+
if (node.format & NodeFormat.IS_UNDERLINE) {
|
|
17
|
+
text = `<span style="text-decoration: underline;">${text}</span>`;
|
|
18
|
+
}
|
|
19
|
+
if (node.format & NodeFormat.IS_CODE) {
|
|
20
|
+
text = `<code>${text}</code>`;
|
|
21
|
+
}
|
|
22
|
+
if (node.format & NodeFormat.IS_SUBSCRIPT) {
|
|
23
|
+
text = `<sub>${text}</sub>`;
|
|
24
|
+
}
|
|
25
|
+
if (node.format & NodeFormat.IS_SUPERSCRIPT) {
|
|
26
|
+
text = `<sup>${text}</sup>`;
|
|
27
|
+
}
|
|
28
|
+
return text;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","names":["NodeFormat","TextHTMLConverterAsync","text","node","format","IS_BOLD","IS_ITALIC","IS_STRIKETHROUGH","IS_UNDERLINE","IS_CODE","IS_SUBSCRIPT","IS_SUPERSCRIPT"],"sources":["../../../../../../src/features/converters/html/async/converters/text.ts"],"sourcesContent":["import type { SerializedTextNode } from '../../../../../nodeTypes.js'\nimport type { HTMLConvertersAsync } from '../types.js'\n\nimport { NodeFormat } from '../../../../../lexical/utils/nodeFormat.js'\n\nexport const TextHTMLConverterAsync: HTMLConvertersAsync<SerializedTextNode> = {\n text: ({ node }) => {\n let text = 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=\"text-decoration: line-through;\">${text}</span>`\n }\n if (node.format & NodeFormat.IS_UNDERLINE) {\n text = `<span style=\"text-decoration: 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":"AAGA,SAASA,UAAU,QAAQ;AAE3B,OAAO,MAAMC,sBAAA,GAAkE;EAC7EC,IAAA,EAAMA,CAAC;IAAEC;EAAI,CAAE;IACb,IAAID,IAAA,GAAOC,IAAA,CAAKD,IAAI;IAEpB,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWK,OAAO,EAAE;MACpCH,IAAA,GAAO,WAAWA,IAAA,WAAe;IACnC;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWM,SAAS,EAAE;MACtCJ,IAAA,GAAO,OAAOA,IAAA,OAAW;IAC3B;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWO,gBAAgB,EAAE;MAC7CL,IAAA,GAAO,gDAAgDA,IAAA,SAAa;IACtE;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWQ,YAAY,EAAE;MACzCN,IAAA,GAAO,6CAA6CA,IAAA,SAAa;IACnE;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWS,OAAO,EAAE;MACpCP,IAAA,GAAO,SAASA,IAAA,SAAa;IAC/B;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWU,YAAY,EAAE;MACzCR,IAAA,GAAO,QAAQA,IAAA,QAAY;IAC7B;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWW,cAAc,EAAE;MAC3CT,IAAA,GAAO,QAAQA,IAAA,QAAY;IAC7B;IAEA,OAAOA,IAAA;EACT;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/html/async/converters/upload.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,CAAC,oBAAoB,CAgF9E,CAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export const UploadHTMLConverterAsync = {
|
|
2
|
+
upload: async ({
|
|
3
|
+
node,
|
|
4
|
+
populate,
|
|
5
|
+
providedStyleTag
|
|
6
|
+
}) => {
|
|
7
|
+
const uploadNode = node;
|
|
8
|
+
let uploadDoc = undefined;
|
|
9
|
+
// If there's no valid upload data, populate return an empty string
|
|
10
|
+
if (typeof uploadNode.value !== 'object') {
|
|
11
|
+
if (!populate) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
uploadDoc = await populate({
|
|
15
|
+
id: uploadNode.value,
|
|
16
|
+
collectionSlug: uploadNode.relationTo
|
|
17
|
+
});
|
|
18
|
+
} else {
|
|
19
|
+
uploadDoc = uploadNode.value;
|
|
20
|
+
}
|
|
21
|
+
if (!uploadDoc) {
|
|
22
|
+
return '';
|
|
23
|
+
}
|
|
24
|
+
const url = uploadDoc.url;
|
|
25
|
+
// 1) If upload is NOT an image, return a link
|
|
26
|
+
if (!uploadDoc.mimeType.startsWith('image')) {
|
|
27
|
+
return `<a${providedStyleTag} href="${url}" rel="noopener noreferrer">${uploadDoc.filename}</a$>`;
|
|
28
|
+
}
|
|
29
|
+
// 2) If image has no different sizes, return a simple <img />
|
|
30
|
+
if (!uploadDoc.sizes || !Object.keys(uploadDoc.sizes).length) {
|
|
31
|
+
return `
|
|
32
|
+
<img${providedStyleTag}
|
|
33
|
+
alt="${uploadDoc.filename}"
|
|
34
|
+
height="${uploadDoc.height}"
|
|
35
|
+
src="${url}"
|
|
36
|
+
width="${uploadDoc.width}"
|
|
37
|
+
/>
|
|
38
|
+
`;
|
|
39
|
+
}
|
|
40
|
+
// 3) If image has different sizes, build a <picture> element with <source> tags
|
|
41
|
+
let pictureHTML = '';
|
|
42
|
+
for (const size in uploadDoc.sizes) {
|
|
43
|
+
const imageSize = uploadDoc.sizes[size];
|
|
44
|
+
if (!imageSize || !imageSize.width || !imageSize.height || !imageSize.mimeType || !imageSize.filesize || !imageSize.filename || !imageSize.url) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
pictureHTML += `
|
|
48
|
+
<source
|
|
49
|
+
media="(max-width: ${imageSize.width}px)"
|
|
50
|
+
srcset="${imageSize.url}"
|
|
51
|
+
type="${imageSize.mimeType}"
|
|
52
|
+
/>
|
|
53
|
+
`;
|
|
54
|
+
}
|
|
55
|
+
pictureHTML += `
|
|
56
|
+
<img
|
|
57
|
+
alt="${uploadDoc.filename}"
|
|
58
|
+
height="${uploadDoc.height}"
|
|
59
|
+
src="${url}"
|
|
60
|
+
width="${uploadDoc.width}"
|
|
61
|
+
/>
|
|
62
|
+
`;
|
|
63
|
+
return `<picture${providedStyleTag}>${pictureHTML}</picture$>`;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.js","names":["UploadHTMLConverterAsync","upload","node","populate","providedStyleTag","uploadNode","uploadDoc","undefined","value","id","collectionSlug","relationTo","url","mimeType","startsWith","filename","sizes","Object","keys","length","height","width","pictureHTML","size","imageSize","filesize"],"sources":["../../../../../../src/features/converters/html/async/converters/upload.ts"],"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 { HTMLConvertersAsync } from '../types.js'\n\nexport const UploadHTMLConverterAsync: HTMLConvertersAsync<SerializedUploadNode> = {\n upload: async ({ node, populate, providedStyleTag }) => {\n const uploadNode = node as UploadDataImproved\n\n let uploadDoc: (FileData & TypeWithID) | undefined = undefined\n\n // If there's no valid upload data, populate return an empty string\n if (typeof uploadNode.value !== 'object') {\n if (!populate) {\n return ''\n }\n uploadDoc = await populate<FileData & TypeWithID>({\n id: uploadNode.value,\n collectionSlug: uploadNode.relationTo,\n })\n } else {\n uploadDoc = uploadNode.value as unknown as FileData & TypeWithID\n }\n\n if (!uploadDoc) {\n return ''\n }\n\n const url = uploadDoc.url\n\n // 1) If upload is NOT an image, return a link\n if (!uploadDoc.mimeType.startsWith('image')) {\n return `<a${providedStyleTag} href=\"${url}\" rel=\"noopener noreferrer\">${uploadDoc.filename}</a$>`\n }\n\n // 2) If image has no different sizes, return a simple <img />\n if (!uploadDoc.sizes || !Object.keys(uploadDoc.sizes).length) {\n return `\n <img${providedStyleTag}\n alt=\"${uploadDoc.filename}\"\n height=\"${uploadDoc.height}\"\n src=\"${url}\"\n width=\"${uploadDoc.width}\"\n />\n `\n }\n\n // 3) If image has different sizes, build a <picture> element with <source> tags\n let pictureHTML = ''\n\n for (const size in uploadDoc.sizes) {\n const imageSize = uploadDoc.sizes[size] as FileSizeImproved\n\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\n pictureHTML += `\n <source\n media=\"(max-width: ${imageSize.width}px)\"\n srcset=\"${imageSize.url}\"\n type=\"${imageSize.mimeType}\"\n />\n `\n }\n\n pictureHTML += `\n <img\n alt=\"${uploadDoc.filename}\"\n height=\"${uploadDoc.height}\"\n src=\"${url}\"\n width=\"${uploadDoc.width}\"\n />\n `\n\n return `<picture${providedStyleTag}>${pictureHTML}</picture$>`\n },\n}\n"],"mappings":"AAMA,OAAO,MAAMA,wBAAA,GAAsE;EACjFC,MAAA,EAAQ,MAAAA,CAAO;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAgB,CAAE;IACjD,MAAMC,UAAA,GAAaH,IAAA;IAEnB,IAAII,SAAA,GAAiDC,SAAA;IAErD;IACA,IAAI,OAAOF,UAAA,CAAWG,KAAK,KAAK,UAAU;MACxC,IAAI,CAACL,QAAA,EAAU;QACb,OAAO;MACT;MACAG,SAAA,GAAY,MAAMH,QAAA,CAAgC;QAChDM,EAAA,EAAIJ,UAAA,CAAWG,KAAK;QACpBE,cAAA,EAAgBL,UAAA,CAAWM;MAC7B;IACF,OAAO;MACLL,SAAA,GAAYD,UAAA,CAAWG,KAAK;IAC9B;IAEA,IAAI,CAACF,SAAA,EAAW;MACd,OAAO;IACT;IAEA,MAAMM,GAAA,GAAMN,SAAA,CAAUM,GAAG;IAEzB;IACA,IAAI,CAACN,SAAA,CAAUO,QAAQ,CAACC,UAAU,CAAC,UAAU;MAC3C,OAAO,KAAKV,gBAAA,UAA0BQ,GAAA,+BAAkCN,SAAA,CAAUS,QAAQ,OAAO;IACnG;IAEA;IACA,IAAI,CAACT,SAAA,CAAUU,KAAK,IAAI,CAACC,MAAA,CAAOC,IAAI,CAACZ,SAAA,CAAUU,KAAK,EAAEG,MAAM,EAAE;MAC5D,OAAO;cACCf,gBAAA;iBACGE,SAAA,CAAUS,QAAQ;oBACfT,SAAA,CAAUc,MAAM;iBACnBR,GAAA;mBACEN,SAAA,CAAUe,KAAK;;OAE3B;IACH;IAEA;IACA,IAAIC,WAAA,GAAc;IAElB,KAAK,MAAMC,IAAA,IAAQjB,SAAA,CAAUU,KAAK,EAAE;MAClC,MAAMQ,SAAA,GAAYlB,SAAA,CAAUU,KAAK,CAACO,IAAA,CAAK;MAEvC,IACE,CAACC,SAAA,IACD,CAACA,SAAA,CAAUH,KAAK,IAChB,CAACG,SAAA,CAAUJ,MAAM,IACjB,CAACI,SAAA,CAAUX,QAAQ,IACnB,CAACW,SAAA,CAAUC,QAAQ,IACnB,CAACD,SAAA,CAAUT,QAAQ,IACnB,CAACS,SAAA,CAAUZ,GAAG,EACd;QACA;MACF;MAEAU,WAAA,IAAe;;+BAEUE,SAAA,CAAUH,KAAK;oBAC1BG,SAAA,CAAUZ,GAAG;kBACfY,SAAA,CAAUX,QAAQ;;OAE7B;IACH;IAEAS,WAAA,IAAe;;eAEJhB,SAAA,CAAUS,QAAQ;kBACfT,SAAA,CAAUc,MAAM;eACnBR,GAAA;iBACEN,SAAA,CAAUe,KAAK;;KAE3B;IAED,OAAO,WAAWjB,gBAAA,IAAoBkB,WAAA,aAAwB;EAChE;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultConverters.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/html/async/defaultConverters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAcrD,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,CAAC,gBAAgB,CAY5E,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BlockquoteHTMLConverterAsync } from './converters/blockquote.js';
|
|
2
|
+
import { HeadingHTMLConverterAsync } from './converters/heading.js';
|
|
3
|
+
import { HorizontalRuleHTMLConverterAsync } from './converters/horizontalRule.js';
|
|
4
|
+
import { LinebreakHTMLConverterAsync } from './converters/linebreak.js';
|
|
5
|
+
import { LinkHTMLConverterAsync } from './converters/link.js';
|
|
6
|
+
import { ListHTMLConverterAsync } from './converters/list.js';
|
|
7
|
+
import { ParagraphHTMLConverterAsync } from './converters/paragraph.js';
|
|
8
|
+
import { TabHTMLConverterAsync } from './converters/tab.js';
|
|
9
|
+
import { TableHTMLConverterAsync } from './converters/table.js';
|
|
10
|
+
import { TextHTMLConverterAsync } from './converters/text.js';
|
|
11
|
+
import { UploadHTMLConverterAsync } from './converters/upload.js';
|
|
12
|
+
export const defaultHTMLConvertersAsync = {
|
|
13
|
+
...ParagraphHTMLConverterAsync,
|
|
14
|
+
...TextHTMLConverterAsync,
|
|
15
|
+
...LinebreakHTMLConverterAsync,
|
|
16
|
+
...BlockquoteHTMLConverterAsync,
|
|
17
|
+
...TableHTMLConverterAsync,
|
|
18
|
+
...HeadingHTMLConverterAsync,
|
|
19
|
+
...HorizontalRuleHTMLConverterAsync,
|
|
20
|
+
...ListHTMLConverterAsync,
|
|
21
|
+
...LinkHTMLConverterAsync({}),
|
|
22
|
+
...UploadHTMLConverterAsync,
|
|
23
|
+
...TabHTMLConverterAsync
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=defaultConverters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultConverters.js","names":["BlockquoteHTMLConverterAsync","HeadingHTMLConverterAsync","HorizontalRuleHTMLConverterAsync","LinebreakHTMLConverterAsync","LinkHTMLConverterAsync","ListHTMLConverterAsync","ParagraphHTMLConverterAsync","TabHTMLConverterAsync","TableHTMLConverterAsync","TextHTMLConverterAsync","UploadHTMLConverterAsync","defaultHTMLConvertersAsync"],"sources":["../../../../../src/features/converters/html/async/defaultConverters.ts"],"sourcesContent":["import type { DefaultNodeTypes } from '../../../../nodeTypes.js'\nimport type { HTMLConvertersAsync } from './types.js'\n\nimport { BlockquoteHTMLConverterAsync } from './converters/blockquote.js'\nimport { HeadingHTMLConverterAsync } from './converters/heading.js'\nimport { HorizontalRuleHTMLConverterAsync } from './converters/horizontalRule.js'\nimport { LinebreakHTMLConverterAsync } from './converters/linebreak.js'\nimport { LinkHTMLConverterAsync } from './converters/link.js'\nimport { ListHTMLConverterAsync } from './converters/list.js'\nimport { ParagraphHTMLConverterAsync } from './converters/paragraph.js'\nimport { TabHTMLConverterAsync } from './converters/tab.js'\nimport { TableHTMLConverterAsync } from './converters/table.js'\nimport { TextHTMLConverterAsync } from './converters/text.js'\nimport { UploadHTMLConverterAsync } from './converters/upload.js'\n\nexport const defaultHTMLConvertersAsync: HTMLConvertersAsync<DefaultNodeTypes> = {\n ...ParagraphHTMLConverterAsync,\n ...TextHTMLConverterAsync,\n ...LinebreakHTMLConverterAsync,\n ...BlockquoteHTMLConverterAsync,\n ...TableHTMLConverterAsync,\n ...HeadingHTMLConverterAsync,\n ...HorizontalRuleHTMLConverterAsync,\n ...ListHTMLConverterAsync,\n ...LinkHTMLConverterAsync({}),\n ...UploadHTMLConverterAsync,\n ...TabHTMLConverterAsync,\n}\n"],"mappings":"AAGA,SAASA,4BAA4B,QAAQ;AAC7C,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,gCAAgC,QAAQ;AACjD,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,sBAAsB,QAAQ;AACvC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,qBAAqB,QAAQ;AACtC,SAASC,uBAAuB,QAAQ;AACxC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,wBAAwB,QAAQ;AAEzC,OAAO,MAAMC,0BAAA,GAAoE;EAC/E,GAAGL,2BAA2B;EAC9B,GAAGG,sBAAsB;EACzB,GAAGN,2BAA2B;EAC9B,GAAGH,4BAA4B;EAC/B,GAAGQ,uBAAuB;EAC1B,GAAGP,yBAAyB;EAC5B,GAAGC,gCAAgC;EACnC,GAAGG,sBAAsB;EACzB,GAAGD,sBAAA,CAAuB,CAAC,EAAE;EAC7B,GAAGM,wBAAwB;EAC3B,GAAGH;AACL","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Field } from 'payload';
|
|
2
|
+
import type { HTMLConvertersAsync, HTMLConvertersFunctionAsync } from '../types.js';
|
|
3
|
+
type Args = {
|
|
4
|
+
converters?: HTMLConvertersAsync | HTMLConvertersFunctionAsync;
|
|
5
|
+
/**
|
|
6
|
+
* Whether the lexicalHTML field should be hidden in the admin panel
|
|
7
|
+
*
|
|
8
|
+
* @default true
|
|
9
|
+
*/
|
|
10
|
+
hidden?: boolean;
|
|
11
|
+
htmlFieldName: string;
|
|
12
|
+
/**
|
|
13
|
+
* A string which matches the lexical field name you want to convert to HTML.
|
|
14
|
+
*
|
|
15
|
+
* This has to be a sibling field of this lexicalHTML field - otherwise, it won't be able to find the lexical field.
|
|
16
|
+
**/
|
|
17
|
+
lexicalFieldName: string;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the HTML should be stored in the database
|
|
20
|
+
*
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
storeInDB?: boolean;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* Field that converts a sibling lexical field to HTML
|
|
28
|
+
*
|
|
29
|
+
* @todo will be renamed to lexicalHTML in 4.0, replacing the deprecated `lexicalHTML` converter
|
|
30
|
+
*/
|
|
31
|
+
export declare const lexicalHTMLField: (args: Args) => Field;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/html/async/field/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAKnF,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,mBAAmB,GAAG,2BAA2B,CAAA;IAC9D;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB;;;;QAII;IACJ,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,KAuD9C,CAAA"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { getPayloadPopulateFn } from '../../../utilities/payloadPopulateFn.js';
|
|
2
|
+
import { convertLexicalToHTMLAsync } from '../index.js';
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* Field that converts a sibling lexical field to HTML
|
|
6
|
+
*
|
|
7
|
+
* @todo will be renamed to lexicalHTML in 4.0, replacing the deprecated `lexicalHTML` converter
|
|
8
|
+
*/
|
|
9
|
+
export const lexicalHTMLField = args => {
|
|
10
|
+
const {
|
|
11
|
+
converters,
|
|
12
|
+
hidden = true,
|
|
13
|
+
htmlFieldName,
|
|
14
|
+
lexicalFieldName,
|
|
15
|
+
storeInDB = false
|
|
16
|
+
} = args;
|
|
17
|
+
return {
|
|
18
|
+
name: htmlFieldName,
|
|
19
|
+
type: 'code',
|
|
20
|
+
admin: {
|
|
21
|
+
editorOptions: {
|
|
22
|
+
language: 'html'
|
|
23
|
+
},
|
|
24
|
+
hidden
|
|
25
|
+
},
|
|
26
|
+
hooks: {
|
|
27
|
+
afterRead: [async ({
|
|
28
|
+
currentDepth,
|
|
29
|
+
depth,
|
|
30
|
+
draft,
|
|
31
|
+
overrideAccess,
|
|
32
|
+
req,
|
|
33
|
+
showHiddenFields,
|
|
34
|
+
siblingData
|
|
35
|
+
}) => {
|
|
36
|
+
const lexicalFieldData = siblingData[lexicalFieldName];
|
|
37
|
+
if (!lexicalFieldData) {
|
|
38
|
+
return '';
|
|
39
|
+
}
|
|
40
|
+
const htmlPopulateFn = await getPayloadPopulateFn({
|
|
41
|
+
currentDepth: currentDepth ?? 0,
|
|
42
|
+
depth: depth ?? req.payload.config.defaultDepth,
|
|
43
|
+
draft: draft ?? false,
|
|
44
|
+
overrideAccess: overrideAccess ?? false,
|
|
45
|
+
req,
|
|
46
|
+
showHiddenFields: showHiddenFields ?? false
|
|
47
|
+
});
|
|
48
|
+
return await convertLexicalToHTMLAsync({
|
|
49
|
+
converters,
|
|
50
|
+
data: lexicalFieldData,
|
|
51
|
+
populate: htmlPopulateFn
|
|
52
|
+
});
|
|
53
|
+
}],
|
|
54
|
+
beforeChange: [({
|
|
55
|
+
siblingData,
|
|
56
|
+
value
|
|
57
|
+
}) => {
|
|
58
|
+
if (storeInDB) {
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
delete siblingData[htmlFieldName];
|
|
62
|
+
return null;
|
|
63
|
+
}]
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["getPayloadPopulateFn","convertLexicalToHTMLAsync","lexicalHTMLField","args","converters","hidden","htmlFieldName","lexicalFieldName","storeInDB","name","type","admin","editorOptions","language","hooks","afterRead","currentDepth","depth","draft","overrideAccess","req","showHiddenFields","siblingData","lexicalFieldData","htmlPopulateFn","payload","config","defaultDepth","data","populate","beforeChange","value"],"sources":["../../../../../../src/features/converters/html/async/field/index.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { Field } from 'payload'\n\nimport type { HTMLConvertersAsync, HTMLConvertersFunctionAsync } from '../types.js'\n\nimport { getPayloadPopulateFn } from '../../../utilities/payloadPopulateFn.js'\nimport { convertLexicalToHTMLAsync } from '../index.js'\n\ntype Args = {\n converters?: HTMLConvertersAsync | HTMLConvertersFunctionAsync\n /**\n * Whether the lexicalHTML field should be hidden in the admin panel\n *\n * @default true\n */\n hidden?: boolean\n htmlFieldName: string\n /**\n * A string which matches the lexical field name you want to convert to HTML.\n *\n * This has to be a sibling field of this lexicalHTML field - otherwise, it won't be able to find the lexical field.\n **/\n lexicalFieldName: string\n /**\n * Whether the HTML should be stored in the database\n *\n * @default false\n */\n storeInDB?: boolean\n}\n\n/**\n *\n * Field that converts a sibling lexical field to HTML\n *\n * @todo will be renamed to lexicalHTML in 4.0, replacing the deprecated `lexicalHTML` converter\n */\nexport const lexicalHTMLField: (args: Args) => Field = (args) => {\n const { converters, hidden = true, htmlFieldName, lexicalFieldName, storeInDB = false } = args\n return {\n name: htmlFieldName,\n type: 'code',\n admin: {\n editorOptions: {\n language: 'html',\n },\n hidden,\n },\n hooks: {\n afterRead: [\n async ({\n currentDepth,\n depth,\n draft,\n overrideAccess,\n req,\n showHiddenFields,\n siblingData,\n }) => {\n const lexicalFieldData: SerializedEditorState = siblingData[lexicalFieldName]\n\n if (!lexicalFieldData) {\n return ''\n }\n\n const htmlPopulateFn = await getPayloadPopulateFn({\n currentDepth: currentDepth ?? 0,\n depth: depth ?? req.payload.config.defaultDepth,\n draft: draft ?? false,\n overrideAccess: overrideAccess ?? false,\n req,\n showHiddenFields: showHiddenFields ?? false,\n })\n\n return await convertLexicalToHTMLAsync({\n converters,\n data: lexicalFieldData,\n populate: htmlPopulateFn,\n })\n },\n ],\n beforeChange: [\n ({ siblingData, value }) => {\n if (storeInDB) {\n return value\n }\n delete siblingData[htmlFieldName]\n return null\n },\n ],\n },\n }\n}\n"],"mappings":"AAKA,SAASA,oBAAoB,QAAQ;AACrC,SAASC,yBAAyB,QAAQ;AAyB1C;;;;;;AAMA,OAAO,MAAMC,gBAAA,GAA2CC,IAAA;EACtD,MAAM;IAAEC,UAAU;IAAEC,MAAA,GAAS,IAAI;IAAEC,aAAa;IAAEC,gBAAgB;IAAEC,SAAA,GAAY;EAAK,CAAE,GAAGL,IAAA;EAC1F,OAAO;IACLM,IAAA,EAAMH,aAAA;IACNI,IAAA,EAAM;IACNC,KAAA,EAAO;MACLC,aAAA,EAAe;QACbC,QAAA,EAAU;MACZ;MACAR;IACF;IACAS,KAAA,EAAO;MACLC,SAAA,EAAW,CACT,OAAO;QACLC,YAAY;QACZC,KAAK;QACLC,KAAK;QACLC,cAAc;QACdC,GAAG;QACHC,gBAAgB;QAChBC;MAAW,CACZ;QACC,MAAMC,gBAAA,GAA0CD,WAAW,CAACf,gBAAA,CAAiB;QAE7E,IAAI,CAACgB,gBAAA,EAAkB;UACrB,OAAO;QACT;QAEA,MAAMC,cAAA,GAAiB,MAAMxB,oBAAA,CAAqB;UAChDgB,YAAA,EAAcA,YAAA,IAAgB;UAC9BC,KAAA,EAAOA,KAAA,IAASG,GAAA,CAAIK,OAAO,CAACC,MAAM,CAACC,YAAY;UAC/CT,KAAA,EAAOA,KAAA,IAAS;UAChBC,cAAA,EAAgBA,cAAA,IAAkB;UAClCC,GAAA;UACAC,gBAAA,EAAkBA,gBAAA,IAAoB;QACxC;QAEA,OAAO,MAAMpB,yBAAA,CAA0B;UACrCG,UAAA;UACAwB,IAAA,EAAML,gBAAA;UACNM,QAAA,EAAUL;QACZ;MACF,EACD;MACDM,YAAA,EAAc,CACZ,CAAC;QAAER,WAAW;QAAES;MAAK,CAAE;QACrB,IAAIvB,SAAA,EAAW;UACb,OAAOuB,KAAA;QACT;QACA,OAAOT,WAAW,CAAChB,aAAA,CAAc;QACjC,OAAO;MACT;IAEJ;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SerializedEditorState, SerializedLexicalNode } from 'lexical';
|
|
2
|
+
import type { SerializedLexicalNodeWithParent } from '../shared/types.js';
|
|
3
|
+
import type { HTMLConvertersAsync, HTMLConvertersFunctionAsync, HTMLPopulateFn } from './types.js';
|
|
4
|
+
export type ConvertLexicalToHTMLAsyncArgs = {
|
|
5
|
+
/**
|
|
6
|
+
* Override class names for the container.
|
|
7
|
+
*/
|
|
8
|
+
className?: string;
|
|
9
|
+
converters?: HTMLConvertersAsync | HTMLConvertersFunctionAsync;
|
|
10
|
+
data: SerializedEditorState;
|
|
11
|
+
/**
|
|
12
|
+
* If true, removes the container div wrapper.
|
|
13
|
+
*/
|
|
14
|
+
disableContainer?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* If true, disables indentation globally. If an array, disables for specific node `type` values.
|
|
17
|
+
*/
|
|
18
|
+
disableIndent?: boolean | string[];
|
|
19
|
+
/**
|
|
20
|
+
* If true, disables text alignment globally. If an array, disables for specific node `type` values.
|
|
21
|
+
*/
|
|
22
|
+
disableTextAlign?: boolean | string[];
|
|
23
|
+
populate?: HTMLPopulateFn;
|
|
24
|
+
};
|
|
25
|
+
export declare function convertLexicalToHTMLAsync({ className, converters, data, disableContainer, disableIndent, disableTextAlign, populate, }: ConvertLexicalToHTMLAsyncArgs): Promise<string>;
|
|
26
|
+
export declare function convertLexicalNodesToHTMLAsync({ converters, disableIndent, disableTextAlign, nodes, parent, populate, }: {
|
|
27
|
+
converters: HTMLConvertersAsync;
|
|
28
|
+
disableIndent?: boolean | string[];
|
|
29
|
+
disableTextAlign?: boolean | string[];
|
|
30
|
+
nodes: SerializedLexicalNode[];
|
|
31
|
+
parent: SerializedLexicalNodeWithParent;
|
|
32
|
+
populate?: HTMLPopulateFn;
|
|
33
|
+
}): Promise<string[]>;
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/html/async/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAEV,mBAAmB,EACnB,2BAA2B,EAC3B,cAAc,EACf,MAAM,YAAY,CAAA;AAMnB,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,mBAAmB,GAAG,2BAA2B,CAAA;IAC9D,IAAI,EAAE,qBAAqB,CAAA;IAC3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IAClC;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,wBAAsB,yBAAyB,CAAC,EAC9C,SAAS,EACT,UAAU,EACV,IAAI,EACJ,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,EAAE,6BAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCjD;AAED,wBAAsB,8BAA8B,CAAC,EACnD,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,mBAAmB,CAAA;IAC/B,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;IACvC,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2DpB"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable no-console */import { hasText } from '../../../../validate/hasText.js';
|
|
2
|
+
import { findConverterForNode } from '../shared/findConverterForNode.js';
|
|
3
|
+
import { defaultHTMLConvertersAsync } from './defaultConverters.js';
|
|
4
|
+
export async function convertLexicalToHTMLAsync({
|
|
5
|
+
className,
|
|
6
|
+
converters,
|
|
7
|
+
data,
|
|
8
|
+
disableContainer,
|
|
9
|
+
disableIndent,
|
|
10
|
+
disableTextAlign,
|
|
11
|
+
populate
|
|
12
|
+
}) {
|
|
13
|
+
if (hasText(data)) {
|
|
14
|
+
let finalConverters = {};
|
|
15
|
+
if (converters) {
|
|
16
|
+
if (typeof converters === 'function') {
|
|
17
|
+
finalConverters = converters({
|
|
18
|
+
defaultConverters: defaultHTMLConvertersAsync
|
|
19
|
+
});
|
|
20
|
+
} else {
|
|
21
|
+
finalConverters = converters;
|
|
22
|
+
}
|
|
23
|
+
} else {
|
|
24
|
+
finalConverters = defaultHTMLConvertersAsync;
|
|
25
|
+
}
|
|
26
|
+
const html = (await convertLexicalNodesToHTMLAsync({
|
|
27
|
+
converters: finalConverters,
|
|
28
|
+
disableIndent,
|
|
29
|
+
disableTextAlign,
|
|
30
|
+
nodes: data?.root?.children,
|
|
31
|
+
parent: data?.root,
|
|
32
|
+
populate
|
|
33
|
+
})).join('');
|
|
34
|
+
if (disableContainer) {
|
|
35
|
+
return html;
|
|
36
|
+
} else {
|
|
37
|
+
return `<div class="${className ?? 'payload-richtext'}">${html}</div>`;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (disableContainer) {
|
|
41
|
+
return '';
|
|
42
|
+
} else {
|
|
43
|
+
return `<div class="${className ?? 'payload-richtext'}"></div>`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export async function convertLexicalNodesToHTMLAsync({
|
|
47
|
+
converters,
|
|
48
|
+
disableIndent,
|
|
49
|
+
disableTextAlign,
|
|
50
|
+
nodes,
|
|
51
|
+
parent,
|
|
52
|
+
populate
|
|
53
|
+
}) {
|
|
54
|
+
const unknownConverter = converters.unknown;
|
|
55
|
+
const htmlArray = [];
|
|
56
|
+
let i = -1;
|
|
57
|
+
for (const node of nodes) {
|
|
58
|
+
i++;
|
|
59
|
+
const {
|
|
60
|
+
converterForNode,
|
|
61
|
+
providedCSSString,
|
|
62
|
+
providedStyleTag
|
|
63
|
+
} = findConverterForNode({
|
|
64
|
+
converters,
|
|
65
|
+
disableIndent,
|
|
66
|
+
disableTextAlign,
|
|
67
|
+
node,
|
|
68
|
+
unknownConverter
|
|
69
|
+
});
|
|
70
|
+
try {
|
|
71
|
+
let nodeHTML;
|
|
72
|
+
if (converterForNode) {
|
|
73
|
+
const converted = typeof converterForNode === 'function' ? await converterForNode({
|
|
74
|
+
childIndex: i,
|
|
75
|
+
converters,
|
|
76
|
+
node,
|
|
77
|
+
populate,
|
|
78
|
+
nodesToHTML: async args => {
|
|
79
|
+
return await convertLexicalNodesToHTMLAsync({
|
|
80
|
+
converters: args.converters ?? converters,
|
|
81
|
+
disableIndent: args.disableIndent ?? disableIndent,
|
|
82
|
+
disableTextAlign: args.disableTextAlign ?? disableTextAlign,
|
|
83
|
+
nodes: args.nodes,
|
|
84
|
+
parent: args.parent ?? {
|
|
85
|
+
...node,
|
|
86
|
+
parent
|
|
87
|
+
},
|
|
88
|
+
populate
|
|
89
|
+
});
|
|
90
|
+
},
|
|
91
|
+
parent,
|
|
92
|
+
providedCSSString,
|
|
93
|
+
providedStyleTag
|
|
94
|
+
}) : converterForNode;
|
|
95
|
+
nodeHTML = converted;
|
|
96
|
+
} else {
|
|
97
|
+
nodeHTML = '<span>unknown node</span>';
|
|
98
|
+
}
|
|
99
|
+
htmlArray.push(nodeHTML);
|
|
100
|
+
} catch (error) {
|
|
101
|
+
console.error('Error converting lexical node to HTML:', error, 'node:', node);
|
|
102
|
+
htmlArray.push('');
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return htmlArray.filter(Boolean);
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["hasText","findConverterForNode","defaultHTMLConvertersAsync","convertLexicalToHTMLAsync","className","converters","data","disableContainer","disableIndent","disableTextAlign","populate","finalConverters","defaultConverters","html","convertLexicalNodesToHTMLAsync","nodes","root","children","parent","join","unknownConverter","unknown","htmlArray","i","node","converterForNode","providedCSSString","providedStyleTag","nodeHTML","converted","childIndex","nodesToHTML","args","push","error","console","filter","Boolean"],"sources":["../../../../../src/features/converters/html/async/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-console */\nimport type { SerializedEditorState, SerializedLexicalNode } from 'lexical'\n\nimport type { SerializedLexicalNodeWithParent } from '../shared/types.js'\nimport type {\n HTMLConverterAsync,\n HTMLConvertersAsync,\n HTMLConvertersFunctionAsync,\n HTMLPopulateFn,\n} from './types.js'\n\nimport { hasText } from '../../../../validate/hasText.js'\nimport { findConverterForNode } from '../shared/findConverterForNode.js'\nimport { defaultHTMLConvertersAsync } from './defaultConverters.js'\n\nexport type ConvertLexicalToHTMLAsyncArgs = {\n /**\n * Override class names for the container.\n */\n className?: string\n converters?: HTMLConvertersAsync | HTMLConvertersFunctionAsync\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 populate?: HTMLPopulateFn\n}\n\nexport async function convertLexicalToHTMLAsync({\n className,\n converters,\n data,\n disableContainer,\n disableIndent,\n disableTextAlign,\n populate,\n}: ConvertLexicalToHTMLAsyncArgs): Promise<string> {\n if (hasText(data)) {\n let finalConverters: HTMLConvertersAsync = {}\n if (converters) {\n if (typeof converters === 'function') {\n finalConverters = converters({ defaultConverters: defaultHTMLConvertersAsync })\n } else {\n finalConverters = converters\n }\n } else {\n finalConverters = defaultHTMLConvertersAsync\n }\n\n const html = (\n await convertLexicalNodesToHTMLAsync({\n converters: finalConverters,\n disableIndent,\n disableTextAlign,\n nodes: data?.root?.children,\n parent: data?.root,\n populate,\n })\n ).join('')\n\n if (disableContainer) {\n return html\n } else {\n return `<div class=\"${className ?? 'payload-richtext'}\">${html}</div>`\n }\n }\n if (disableContainer) {\n return ''\n } else {\n return `<div class=\"${className ?? 'payload-richtext'}\"></div>`\n }\n}\n\nexport async function convertLexicalNodesToHTMLAsync({\n converters,\n disableIndent,\n disableTextAlign,\n nodes,\n parent,\n populate,\n}: {\n converters: HTMLConvertersAsync\n disableIndent?: boolean | string[]\n disableTextAlign?: boolean | string[]\n nodes: SerializedLexicalNode[]\n parent: SerializedLexicalNodeWithParent\n populate?: HTMLPopulateFn\n}): Promise<string[]> {\n const unknownConverter: HTMLConverterAsync<any> = converters.unknown as HTMLConverterAsync<any>\n\n const htmlArray: string[] = []\n\n let i = -1\n for (const node of nodes) {\n i++\n const { converterForNode, providedCSSString, providedStyleTag } = findConverterForNode({\n converters,\n disableIndent,\n disableTextAlign,\n node,\n unknownConverter,\n })\n\n try {\n let nodeHTML: string\n\n if (converterForNode) {\n const converted =\n typeof converterForNode === 'function'\n ? await converterForNode({\n childIndex: i,\n converters,\n node,\n populate,\n\n nodesToHTML: async (args) => {\n return await convertLexicalNodesToHTMLAsync({\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 populate,\n })\n },\n parent,\n providedCSSString,\n providedStyleTag,\n })\n : converterForNode\n nodeHTML = converted\n } else {\n nodeHTML = '<span>unknown node</span>'\n }\n\n htmlArray.push(nodeHTML)\n } catch (error) {\n console.error('Error converting lexical node to HTML:', error, 'node:', node)\n htmlArray.push('')\n }\n }\n\n return htmlArray.filter(Boolean)\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { SerializedLexicalNode } from 'lexical';
|
|
2
|
+
import type { SelectType, TypeWithID } from 'payload';
|
|
3
|
+
import type { DefaultNodeTypes, SerializedBlockNode, SerializedInlineBlockNode } from '../../../../nodeTypes.js';
|
|
4
|
+
import type { SerializedLexicalNodeWithParent } from '../shared/types.js';
|
|
5
|
+
export type HTMLPopulateArguments = {
|
|
6
|
+
collectionSlug: string;
|
|
7
|
+
id: number | string;
|
|
8
|
+
select?: SelectType;
|
|
9
|
+
};
|
|
10
|
+
export type HTMLPopulateFn = <TData extends object = TypeWithID>(args: HTMLPopulateArguments) => Promise<TData | undefined>;
|
|
11
|
+
export type HTMLConverterAsync<T extends {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
type?: string;
|
|
14
|
+
} = SerializedLexicalNode> = ((args: {
|
|
15
|
+
childIndex: number;
|
|
16
|
+
converters: HTMLConvertersAsync;
|
|
17
|
+
node: T;
|
|
18
|
+
nodesToHTML: (args: {
|
|
19
|
+
converters?: HTMLConvertersAsync;
|
|
20
|
+
disableIndent?: boolean | string[];
|
|
21
|
+
disableTextAlign?: boolean | string[];
|
|
22
|
+
nodes: SerializedLexicalNode[];
|
|
23
|
+
parent?: SerializedLexicalNodeWithParent;
|
|
24
|
+
}) => Promise<string[]>;
|
|
25
|
+
parent: SerializedLexicalNodeWithParent;
|
|
26
|
+
populate?: HTMLPopulateFn;
|
|
27
|
+
providedCSSString: string;
|
|
28
|
+
providedStyleTag: string;
|
|
29
|
+
}) => Promise<string> | string) | string;
|
|
30
|
+
export type HTMLConvertersAsync<T extends {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
type?: string;
|
|
33
|
+
} = DefaultNodeTypes | SerializedBlockNode<{
|
|
34
|
+
blockName?: null | string;
|
|
35
|
+
blockType: string;
|
|
36
|
+
}> | SerializedInlineBlockNode<{
|
|
37
|
+
blockName?: null | string;
|
|
38
|
+
blockType: string;
|
|
39
|
+
}>> = {
|
|
40
|
+
[key: string]: {
|
|
41
|
+
[blockSlug: string]: HTMLConverterAsync<any>;
|
|
42
|
+
} | HTMLConverterAsync<any> | undefined;
|
|
43
|
+
} & {
|
|
44
|
+
[nodeType in Exclude<NonNullable<T['type']>, 'block' | 'inlineBlock'>]?: HTMLConverterAsync<Extract<T, {
|
|
45
|
+
type: nodeType;
|
|
46
|
+
}>>;
|
|
47
|
+
} & {
|
|
48
|
+
blocks?: {
|
|
49
|
+
[K in Extract<Extract<T, {
|
|
50
|
+
type: 'block';
|
|
51
|
+
}> extends SerializedBlockNode<infer B> ? B extends {
|
|
52
|
+
blockType: string;
|
|
53
|
+
} ? B['blockType'] : never : never, string>]?: HTMLConverterAsync<Extract<T, {
|
|
54
|
+
type: 'block';
|
|
55
|
+
}> extends SerializedBlockNode<infer B> ? SerializedBlockNode<Extract<B, {
|
|
56
|
+
blockType: K;
|
|
57
|
+
}>> : SerializedBlockNode>;
|
|
58
|
+
};
|
|
59
|
+
inlineBlocks?: {
|
|
60
|
+
[K in Extract<Extract<T, {
|
|
61
|
+
type: 'inlineBlock';
|
|
62
|
+
}> extends SerializedInlineBlockNode<infer B> ? B extends {
|
|
63
|
+
blockType: string;
|
|
64
|
+
} ? B['blockType'] : never : never, string>]?: HTMLConverterAsync<Extract<T, {
|
|
65
|
+
type: 'inlineBlock';
|
|
66
|
+
}> extends SerializedInlineBlockNode<infer B> ? SerializedInlineBlockNode<Extract<B, {
|
|
67
|
+
blockType: K;
|
|
68
|
+
}>> : SerializedInlineBlockNode>;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
export type HTMLConvertersFunctionAsync<T extends {
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
type?: string;
|
|
74
|
+
} = DefaultNodeTypes | SerializedBlockNode<{
|
|
75
|
+
blockName?: null | string;
|
|
76
|
+
}> | SerializedInlineBlockNode<{
|
|
77
|
+
blockName?: null | string;
|
|
78
|
+
blockType: string;
|
|
79
|
+
}>> = (args: {
|
|
80
|
+
defaultConverters: HTMLConvertersAsync<DefaultNodeTypes>;
|
|
81
|
+
}) => HTMLConvertersAsync<T>;
|
|
82
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/html/async/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/features/converters/html/async/types.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type { SelectType, TypeWithID } from 'payload'\n\nimport type {\n DefaultNodeTypes,\n SerializedBlockNode,\n SerializedInlineBlockNode,\n} from '../../../../nodeTypes.js'\nimport type { SerializedLexicalNodeWithParent } from '../shared/types.js'\nexport type HTMLPopulateArguments = {\n collectionSlug: string\n id: number | string\n select?: SelectType\n}\n\nexport type HTMLPopulateFn = <TData extends object = TypeWithID>(\n args: HTMLPopulateArguments,\n) => Promise<TData | undefined>\n\nexport type HTMLConverterAsync<\n T extends { [key: string]: any; type?: string } = SerializedLexicalNode,\n> =\n | ((args: {\n childIndex: number\n converters: HTMLConvertersAsync\n node: T\n nodesToHTML: (args: {\n converters?: HTMLConvertersAsync\n disableIndent?: boolean | string[]\n disableTextAlign?: boolean | string[]\n nodes: SerializedLexicalNode[]\n parent?: SerializedLexicalNodeWithParent\n }) => Promise<string[]>\n parent: SerializedLexicalNodeWithParent\n populate?: HTMLPopulateFn\n providedCSSString: string\n providedStyleTag: string\n }) => Promise<string> | string)\n | string\n\nexport type HTMLConvertersAsync<\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]: HTMLConverterAsync<any>\n }\n | HTMLConverterAsync<any>\n | undefined\n} & {\n [nodeType in Exclude<NonNullable<T['type']>, 'block' | 'inlineBlock'>]?: HTMLConverterAsync<\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 >]?: HTMLConverterAsync<\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 >]?: HTMLConverterAsync<\n Extract<T, { type: 'inlineBlock' }> extends SerializedInlineBlockNode<infer B>\n ? SerializedInlineBlockNode<Extract<B, { blockType: K }>>\n : SerializedInlineBlockNode\n >\n }\n}\n\nexport type HTMLConvertersFunctionAsync<\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: HTMLConvertersAsync<DefaultNodeTypes> }) => HTMLConvertersAsync<T>\n"],"mappings":"AAuFA","ignoreList":[]}
|