@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
package/dist/index.js
CHANGED
|
@@ -743,15 +743,18 @@ export { AlignFeature } from './features/align/server/index.js';
|
|
|
743
743
|
export { BlockquoteFeature } from './features/blockquote/server/index.js';
|
|
744
744
|
export { BlocksFeature } from './features/blocks/server/index.js';
|
|
745
745
|
export { $createServerBlockNode, $isServerBlockNode, ServerBlockNode } from './features/blocks/server/nodes/BlocksNode.js';
|
|
746
|
-
export {
|
|
747
|
-
export {
|
|
748
|
-
export {
|
|
749
|
-
export {
|
|
750
|
-
export {
|
|
751
|
-
export {
|
|
752
|
-
export {
|
|
753
|
-
export {
|
|
746
|
+
export { lexicalHTMLField } from './features/converters/html/async/field/index.js';
|
|
747
|
+
export { LinebreakHTMLConverter } from './features/converters/html_deprecated/converter/converters/linebreak.js';
|
|
748
|
+
export { ParagraphHTMLConverter } from './features/converters/html_deprecated/converter/converters/paragraph.js';
|
|
749
|
+
export { TabHTMLConverter } from './features/converters/html_deprecated/converter/converters/tab.js';
|
|
750
|
+
export { TextHTMLConverter } from './features/converters/html_deprecated/converter/converters/text.js';
|
|
751
|
+
export { defaultHTMLConverters } from './features/converters/html_deprecated/converter/defaultConverters.js';
|
|
752
|
+
export { convertLexicalNodesToHTML, convertLexicalToHTML } from './features/converters/html_deprecated/converter/index.js';
|
|
753
|
+
export { consolidateHTMLConverters, lexicalHTML } from './features/converters/html_deprecated/field/index.js';
|
|
754
|
+
export { HTMLConverterFeature } from './features/converters/html_deprecated/index.js';
|
|
754
755
|
export { convertHTMLToLexical } from './features/converters/htmlToLexical/index.js';
|
|
756
|
+
export { getPayloadPopulateFn } from './features/converters/utilities/payloadPopulateFn.js';
|
|
757
|
+
export { getRestPopulateFn } from './features/converters/utilities/restPopulateFn.js';
|
|
755
758
|
export { TestRecorderFeature } from './features/debug/testRecorder/server/index.js';
|
|
756
759
|
export { TreeViewFeature } from './features/debug/treeView/server/index.js';
|
|
757
760
|
export { EXPERIMENTAL_TableFeature } from './features/experimental_table/server/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["afterChangeTraverseFields","afterReadTraverseFields","beforeChangeTraverseFields","beforeValidateTraverseFields","checkDependencies","withNullableJSONSchemaType","getDefaultSanitizedEditorConfig","i18n","defaultEditorFeatures","populateLexicalPopulationPromises","featuresInputToEditorConfig","getGenerateImportMap","getGenerateSchemaMap","recurseNodeTree","richTextValidateHOC","checkedDependencies","lexicalTargetVersion","lexicalEditor","args","process","env","NODE_ENV","PAYLOAD_DISABLE_DEPENDENCY_CHECKER","dependencyGroups","name","dependencies","targetVersion","config","isRoot","parentIsLocalized","features","resolvedFeatureMap","finalSanitizedEditorConfig","lexical","result","sanitizedConfig","featureI18n","lang","general","CellComponent","path","serverProps","admin","sanitizedEditorConfig","editorConfig","FieldComponent","generateImportMap","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","size","editorPopulationPromises","hooks","afterChange","collection","_context","data","global","indexPath","operation","originalDoc","previousDoc","previousValue","schemaPath","value","length","hook","nodeHooks","getSubFields","nodeIDMap","previousNodeIDMap","originalNodeIDMap","internal","richText","join","Object","keys","nodes","root","children","id","node","entries","afterChangeHooks","afterChangeHooksForNode","get","type","console","warn","originalNode","parentRichTextFieldPath","parentRichTextFieldSchemaPath","previousNode","subFieldFn","subFieldDataFn","getSubFieldsData","subFields","nodeSiblingData","nodeSiblingDoc","nodePreviousSiblingDoc","blockData","doc","fields","parentIndexPath","localized","parentPath","parentSchemaPath","previousSiblingDoc","siblingData","afterRead","fallbackLocale","locale","populate","triggerAccessControl","triggerHooks","flattenedNodes","afterReadHooks","afterReadHooksForNode","populateArg","beforeChange","docWithLocales","errors","fieldLabelPath","mergeLocaleActions","siblingDocWithLocales","skipValidation","originalNodeWithLocalesIDMap","beforeChangeHooks","beforeChangeHooksForNode","originalNodeWithLocales","nodeSiblingDocWithLocales","newOriginalNodeIDMap","previousOriginalValue","beforeValidate","beforeValidateHooks","beforeValidateHooksForNode","outputSchema","collectionIDFieldTypes","interfaceNameDefinitions","isRequired","properties","additionalProperties","items","version","required","direction","oneOf","enum","format","indent","modifyOutputSchema","generatedTypes","modifyOutputSchemas","currentSchema","validate","AlignFeature","BlockquoteFeature","BlocksFeature","$createServerBlockNode","$isServerBlockNode","ServerBlockNode","LinebreakHTMLConverter","ParagraphHTMLConverter","TabHTMLConverter","TextHTMLConverter","defaultHTMLConverters","convertLexicalNodesToHTML","convertLexicalToHTML","consolidateHTMLConverters","lexicalHTML","HTMLConverterFeature","convertHTMLToLexical","TestRecorderFeature","TreeViewFeature","EXPERIMENTAL_TableFeature","BoldFeature","InlineCodeFeature","ItalicFeature","StrikethroughFeature","SubscriptFeature","SuperscriptFeature","UnderlineFeature","HeadingFeature","HorizontalRuleFeature","IndentFeature","AutoLinkNode","LinkNode","LinkFeature","ChecklistFeature","OrderedListFeature","UnorderedListFeature","ParagraphFeature","RelationshipFeature","RelationshipServerNode","FixedToolbarFeature","InlineToolbarFeature","createNode","UploadFeature","UploadServerNode","defaultEditorConfig","defaultEditorLexicalConfig","loadFeatures","sortFeaturesForOptimalLoading","sanitizeServerEditorConfig","sanitizeServerFeatures","getEnabledNodes","getEnabledNodesFromServerNodes","DETAIL_TYPE_TO_DETAIL","DOUBLE_LINE_BREAK","ELEMENT_FORMAT_TO_TYPE","ELEMENT_TYPE_TO_FORMAT","IS_ALL_FORMATTING","LTR_REGEX","NodeFormat","NON_BREAKING_SPACE","RTL_REGEX","TEXT_MODE_TO_TYPE","TEXT_TYPE_TO_FORMAT","TEXT_TYPE_TO_MODE","sanitizeUrl","validateUrl","$convertFromMarkdownString","defaultRichTextValue","createServerFeature","editorConfigFactory","extractPropsFromJSXPropsString","extractFrontmatter","frontmatterToObject","objectToFrontmatter","propsToJSXString","upgradeLexicalData"],"sources":["../src/index.ts"],"sourcesContent":["import type { JSONSchema4 } from 'json-schema'\nimport type { SerializedEditorState, SerializedLexicalNode } from 'lexical'\n\nimport {\n afterChangeTraverseFields,\n afterReadTraverseFields,\n beforeChangeTraverseFields,\n beforeValidateTraverseFields,\n checkDependencies,\n withNullableJSONSchemaType,\n} from 'payload'\n\nimport type { FeatureProviderServer, ResolvedServerFeatureMap } from './features/typesServer.js'\nimport type { SanitizedServerEditorConfig } from './lexical/config/types.js'\nimport type { AdapterProps, LexicalEditorProps, LexicalRichTextAdapterProvider } from './types.js'\n\nimport { getDefaultSanitizedEditorConfig } from './getDefaultSanitizedEditorConfig.js'\nimport { i18n } from './i18n.js'\nimport { defaultEditorFeatures } from './lexical/config/server/default.js'\nimport { populateLexicalPopulationPromises } from './populateGraphQL/populateLexicalPopulationPromises.js'\nimport { featuresInputToEditorConfig } from './utilities/editorConfigFactory.js'\nimport { getGenerateImportMap } from './utilities/generateImportMap.js'\nimport { getGenerateSchemaMap } from './utilities/generateSchemaMap.js'\nimport { recurseNodeTree } from './utilities/recurseNodeTree.js'\nimport { richTextValidateHOC } from './validate/index.js'\n\nlet checkedDependencies = false\n\nexport const lexicalTargetVersion = '0.21.0'\n\nexport function lexicalEditor(args?: LexicalEditorProps): LexicalRichTextAdapterProvider {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' &&\n !checkedDependencies\n ) {\n checkedDependencies = true\n void checkDependencies({\n dependencyGroups: [\n {\n name: 'lexical',\n dependencies: [\n 'lexical',\n '@lexical/headless',\n '@lexical/link',\n '@lexical/list',\n '@lexical/mark',\n '@lexical/react',\n '@lexical/rich-text',\n '@lexical/selection',\n '@lexical/utils',\n ],\n targetVersion: lexicalTargetVersion,\n },\n ],\n })\n }\n return async ({ config, isRoot, parentIsLocalized }) => {\n let features: FeatureProviderServer<unknown, unknown, unknown>[] = []\n let resolvedFeatureMap: ResolvedServerFeatureMap\n\n let finalSanitizedEditorConfig: SanitizedServerEditorConfig // For server only\n if (!args || (!args.features && !args.lexical)) {\n finalSanitizedEditorConfig = await getDefaultSanitizedEditorConfig({\n config,\n parentIsLocalized,\n })\n\n features = defaultEditorFeatures\n\n resolvedFeatureMap = finalSanitizedEditorConfig.resolvedFeatureMap\n } else {\n const result = await featuresInputToEditorConfig({\n config,\n features: args?.features,\n isRoot,\n lexical: args?.lexical,\n parentIsLocalized,\n })\n finalSanitizedEditorConfig = result.sanitizedConfig\n features = result.features\n resolvedFeatureMap = result.resolvedFeatureMap\n }\n\n const featureI18n = finalSanitizedEditorConfig.features.i18n\n for (const lang in i18n) {\n if (!featureI18n[lang as keyof typeof featureI18n]) {\n featureI18n[lang as keyof typeof featureI18n] = {\n lexical: {},\n }\n }\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n featureI18n[lang].lexical.general = i18n[lang]\n }\n\n return {\n CellComponent: {\n path: '@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell',\n serverProps: {\n admin: args?.admin,\n sanitizedEditorConfig: finalSanitizedEditorConfig,\n },\n },\n editorConfig: finalSanitizedEditorConfig,\n features,\n FieldComponent: {\n path: '@payloadcms/richtext-lexical/rsc#RscEntryLexicalField',\n serverProps: {\n admin: args?.admin,\n sanitizedEditorConfig: finalSanitizedEditorConfig,\n },\n },\n generateImportMap: getGenerateImportMap({\n resolvedFeatureMap,\n }),\n generateSchemaMap: getGenerateSchemaMap({\n resolvedFeatureMap,\n }),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n parentIsLocalized,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n // check if there are any features with nodes which have populationPromises for this field\n if (finalSanitizedEditorConfig?.features?.graphQLPopulationPromises?.size) {\n populateLexicalPopulationPromises({\n context,\n currentDepth: currentDepth ?? 0,\n depth,\n draft,\n editorPopulationPromises: finalSanitizedEditorConfig.features.graphQLPopulationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n parentIsLocalized,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: {\n afterChange: [\n async (args) => {\n const {\n collection,\n context: _context,\n data,\n field,\n global,\n indexPath,\n operation,\n originalDoc,\n parentIsLocalized,\n path,\n previousDoc,\n previousValue,\n req,\n schemaPath,\n } = args\n\n let { value } = args\n if (finalSanitizedEditorConfig?.features?.hooks?.afterChange?.length) {\n for (const hook of finalSanitizedEditorConfig.features.hooks.afterChange) {\n value = await hook(args)\n }\n }\n if (\n !finalSanitizedEditorConfig.features.nodeHooks?.afterChange?.size &&\n !finalSanitizedEditorConfig.features.getSubFields?.size\n ) {\n return value\n }\n // TO-DO: We should not use context, as it is intended for external use only\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const context: any = _context\n const nodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n const previousNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n /**\n * Get the originalNodeIDMap from the beforeValidate hook, which is always run before this hook.\n */\n const originalNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = context?.internal?.richText?.[path.join('.')]?.originalNodeIDMap\n\n if (!originalNodeIDMap || !Object.keys(originalNodeIDMap).length || !value) {\n return value\n }\n\n recurseNodeTree({\n nodeIDMap,\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n recurseNodeTree({\n nodeIDMap: previousNodeIDMap,\n nodes: (previousValue as SerializedEditorState)?.root?.children ?? [],\n })\n\n // eslint-disable-next-line prefer-const\n for (let [id, node] of Object.entries(nodeIDMap)) {\n const afterChangeHooks = finalSanitizedEditorConfig.features.nodeHooks?.afterChange\n const afterChangeHooksForNode = afterChangeHooks?.get(node.type)\n if (afterChangeHooksForNode) {\n for (const hook of afterChangeHooksForNode) {\n if (!originalNodeIDMap[id]) {\n console.warn(\n '(afterChange) No original node found for node with id',\n id,\n 'node:',\n node,\n 'path',\n path.join('.'),\n )\n continue\n }\n node = await hook({\n context,\n node,\n operation,\n originalNode: originalNodeIDMap[id],\n parentRichTextFieldPath: path,\n parentRichTextFieldSchemaPath: schemaPath,\n\n previousNode: previousNodeIDMap[id]!,\n req,\n })\n }\n }\n const subFieldFn = finalSanitizedEditorConfig.features.getSubFields?.get(node.type)\n const subFieldDataFn = finalSanitizedEditorConfig.features.getSubFieldsData?.get(\n node.type,\n )\n\n if (subFieldFn && subFieldDataFn) {\n const subFields = subFieldFn({ node, req })\n const nodeSiblingData = subFieldDataFn({ node, req }) ?? {}\n\n const nodeSiblingDoc = subFieldDataFn({ node: originalNodeIDMap[id]!, req }) ?? {}\n const nodePreviousSiblingDoc =\n subFieldDataFn({ node: previousNodeIDMap[id]!, req }) ?? {}\n\n if (subFields?.length) {\n await afterChangeTraverseFields({\n blockData: nodeSiblingData,\n collection,\n context,\n data: data ?? {},\n doc: originalDoc,\n fields: subFields,\n global,\n operation,\n parentIndexPath: indexPath.join('-'),\n parentIsLocalized: parentIsLocalized || field.localized || false,\n parentPath: path.join('.'),\n parentSchemaPath: schemaPath.join('.'),\n previousDoc,\n previousSiblingDoc: { ...nodePreviousSiblingDoc },\n req,\n siblingData: nodeSiblingData || {},\n siblingDoc: { ...nodeSiblingDoc },\n })\n }\n }\n }\n return value\n },\n ],\n afterRead: [\n /**\n * afterRead hooks do not receive the originalNode. Thus, they can run on all nodes, not just nodes with an ID.\n */\n async (args) => {\n const {\n collection,\n context: context,\n currentDepth,\n depth,\n draft,\n fallbackLocale,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n global,\n indexPath,\n locale,\n originalDoc,\n overrideAccess,\n parentIsLocalized,\n path,\n populate,\n populationPromises,\n req,\n schemaPath,\n showHiddenFields,\n triggerAccessControl,\n triggerHooks,\n } = args\n\n let { value } = args\n\n if (finalSanitizedEditorConfig?.features?.hooks?.afterRead?.length) {\n for (const hook of finalSanitizedEditorConfig.features.hooks.afterRead) {\n value = await hook(args)\n }\n }\n\n if (\n !finalSanitizedEditorConfig.features.nodeHooks?.afterRead?.size &&\n !finalSanitizedEditorConfig.features.getSubFields?.size\n ) {\n return value\n }\n const flattenedNodes: SerializedLexicalNode[] = []\n\n recurseNodeTree({\n flattenedNodes,\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n for (let node of flattenedNodes) {\n const afterReadHooks = finalSanitizedEditorConfig.features.nodeHooks?.afterRead\n const afterReadHooksForNode = afterReadHooks?.get(node.type)\n if (afterReadHooksForNode) {\n for (const hook of afterReadHooksForNode) {\n node = await hook({\n context,\n currentDepth: currentDepth!,\n depth: depth!,\n draft: draft!,\n fallbackLocale: fallbackLocale!,\n fieldPromises: fieldPromises!,\n findMany: findMany!,\n flattenLocales: flattenLocales!,\n locale: locale!,\n node,\n overrideAccess: overrideAccess!,\n parentRichTextFieldPath: path,\n parentRichTextFieldSchemaPath: schemaPath,\n populateArg: populate,\n populationPromises: populationPromises!,\n req,\n showHiddenFields: showHiddenFields!,\n triggerAccessControl: triggerAccessControl!,\n triggerHooks: triggerHooks!,\n })\n }\n }\n const subFieldFn = finalSanitizedEditorConfig.features.getSubFields?.get(node.type)\n const subFieldDataFn = finalSanitizedEditorConfig.features.getSubFieldsData?.get(\n node.type,\n )\n\n if (subFieldFn && subFieldDataFn) {\n const subFields = subFieldFn({ node, req })\n const nodeSiblingData = subFieldDataFn({ node, req }) ?? {}\n\n if (subFields?.length) {\n afterReadTraverseFields({\n blockData: nodeSiblingData,\n collection,\n context,\n currentDepth: currentDepth!,\n depth: depth!,\n doc: originalDoc,\n draft: draft!,\n fallbackLocale: fallbackLocale!,\n fieldPromises: fieldPromises!,\n fields: subFields,\n findMany: findMany!,\n flattenLocales: flattenLocales!,\n global,\n locale: locale!,\n overrideAccess: overrideAccess!,\n parentIndexPath: indexPath.join('-'),\n parentIsLocalized: parentIsLocalized || field.localized || false,\n parentPath: path.join('.'),\n parentSchemaPath: schemaPath.join('.'),\n populate,\n populationPromises: populationPromises!,\n req,\n showHiddenFields: showHiddenFields!,\n siblingDoc: nodeSiblingData,\n triggerAccessControl,\n triggerHooks,\n })\n }\n }\n }\n\n return value\n },\n ],\n beforeChange: [\n async (args) => {\n const {\n collection,\n context: _context,\n data,\n docWithLocales,\n errors,\n field,\n fieldLabelPath,\n global,\n indexPath,\n mergeLocaleActions,\n operation,\n originalDoc,\n parentIsLocalized,\n path,\n previousValue,\n req,\n schemaPath,\n siblingData,\n siblingDocWithLocales,\n skipValidation,\n } = args\n\n let { value } = args\n\n if (finalSanitizedEditorConfig?.features?.hooks?.beforeChange?.length) {\n for (const hook of finalSanitizedEditorConfig.features.hooks.beforeChange) {\n value = await hook(args)\n }\n }\n\n if (\n !finalSanitizedEditorConfig.features.nodeHooks?.beforeChange?.size &&\n !finalSanitizedEditorConfig.features.getSubFields?.size\n ) {\n return value\n }\n\n // TO-DO: We should not use context, as it is intended for external use only\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const context: any = _context\n const nodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n /**\n * Get the originalNodeIDMap from the beforeValidate hook, which is always run before this hook.\n */\n const originalNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = context?.internal?.richText?.[path.join('.')]?.originalNodeIDMap\n\n if (!originalNodeIDMap || !Object.keys(originalNodeIDMap).length || !value) {\n return value\n }\n const previousNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n const originalNodeWithLocalesIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n recurseNodeTree({\n nodeIDMap,\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n recurseNodeTree({\n nodeIDMap: previousNodeIDMap,\n nodes: (previousValue as SerializedEditorState)?.root?.children ?? [],\n })\n if (field.name && siblingDocWithLocales?.[field.name]) {\n recurseNodeTree({\n nodeIDMap: originalNodeWithLocalesIDMap,\n nodes:\n (siblingDocWithLocales[field.name] as SerializedEditorState)?.root?.children ??\n [],\n })\n }\n\n // eslint-disable-next-line prefer-const\n for (let [id, node] of Object.entries(nodeIDMap)) {\n const beforeChangeHooks = finalSanitizedEditorConfig.features.nodeHooks?.beforeChange\n const beforeChangeHooksForNode = beforeChangeHooks?.get(node.type)\n if (beforeChangeHooksForNode) {\n for (const hook of beforeChangeHooksForNode) {\n if (!originalNodeIDMap[id]) {\n console.warn(\n '(beforeChange) No original node found for node with id',\n id,\n 'node:',\n node,\n 'path',\n path.join('.'),\n )\n continue\n }\n node = await hook({\n context,\n errors: errors!,\n mergeLocaleActions: mergeLocaleActions!,\n node,\n operation: operation!,\n originalNode: originalNodeIDMap[id],\n originalNodeWithLocales: originalNodeWithLocalesIDMap[id],\n parentRichTextFieldPath: path,\n parentRichTextFieldSchemaPath: schemaPath,\n\n previousNode: previousNodeIDMap[id]!,\n req,\n skipValidation: skipValidation!,\n })\n }\n }\n\n const subFieldFn = finalSanitizedEditorConfig.features.getSubFields?.get(node.type)\n const subFieldDataFn = finalSanitizedEditorConfig.features.getSubFieldsData?.get(\n node.type,\n )\n\n if (subFieldFn && subFieldDataFn) {\n const subFields = subFieldFn({ node, req })\n const nodeSiblingData = subFieldDataFn({ node, req }) ?? {}\n const nodeSiblingDocWithLocales =\n subFieldDataFn({\n node: originalNodeWithLocalesIDMap[id]!,\n req,\n }) ?? {}\n const nodePreviousSiblingDoc =\n subFieldDataFn({ node: previousNodeIDMap[id]!, req }) ?? {}\n\n if (subFields?.length) {\n await beforeChangeTraverseFields({\n id,\n blockData: nodeSiblingData,\n collection,\n context,\n data: data ?? {},\n doc: originalDoc ?? {},\n docWithLocales: docWithLocales ?? {},\n errors: errors!,\n fieldLabelPath,\n fields: subFields,\n global,\n mergeLocaleActions: mergeLocaleActions!,\n operation: operation!,\n parentIndexPath: indexPath.join('-'),\n parentIsLocalized: parentIsLocalized || field.localized || false,\n parentPath: path.join('.'),\n parentSchemaPath: schemaPath.join('.'),\n req,\n siblingData: nodeSiblingData,\n siblingDoc: nodePreviousSiblingDoc,\n siblingDocWithLocales: nodeSiblingDocWithLocales ?? {},\n skipValidation,\n })\n }\n }\n }\n\n /**\n * within the beforeChange hook, id's may be re-generated.\n * Example:\n * 1. Seed data contains IDs for block feature blocks.\n * 2. Those are used in beforeValidate\n * 3. in beforeChange, those IDs are regenerated, because you cannot provide IDs during document creation. See baseIDField beforeChange hook for reasoning\n * 4. Thus, in order for all post-beforeChange hooks to receive the correct ID, we need to update the originalNodeIDMap with the new ID's, by regenerating the nodeIDMap.\n * The reason this is not generated for every hook, is to save on performance. We know we only really have to generate it in beforeValidate, which is the first hook,\n * and in beforeChange, which is where modifications to the provided IDs can occur.\n */\n const newOriginalNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n const previousOriginalValue = siblingData[field.name!]\n\n recurseNodeTree({\n nodeIDMap: newOriginalNodeIDMap,\n nodes: (previousOriginalValue as SerializedEditorState)?.root?.children ?? [],\n })\n\n if (!context.internal) {\n // Add to context, for other hooks to use\n context.internal = {}\n }\n if (!context.internal.richText) {\n context.internal.richText = {}\n }\n context.internal.richText[path.join('.')] = {\n originalNodeIDMap: newOriginalNodeIDMap,\n }\n\n return value\n },\n ],\n beforeValidate: [\n async (args) => {\n const {\n collection,\n context,\n data,\n field,\n global,\n indexPath,\n operation,\n originalDoc,\n overrideAccess,\n parentIsLocalized,\n path,\n previousValue,\n req,\n schemaPath,\n } = args\n\n let { value } = args\n if (finalSanitizedEditorConfig?.features?.hooks?.beforeValidate?.length) {\n for (const hook of finalSanitizedEditorConfig.features.hooks.beforeValidate) {\n value = await hook(args)\n }\n }\n\n // return value if there are NO hooks\n if (\n !finalSanitizedEditorConfig.features.nodeHooks?.beforeValidate?.size &&\n !finalSanitizedEditorConfig.features.nodeHooks?.afterChange?.size &&\n !finalSanitizedEditorConfig.features.nodeHooks?.beforeChange?.size &&\n !finalSanitizedEditorConfig.features.getSubFields?.size\n ) {\n return value\n }\n\n /**\n * beforeValidate is the first field hook which runs. This is where we can create the node map, which can then be used in the other hooks.\n *\n */\n\n /**\n * flattenedNodes contains all nodes in the editor, in the order they appear in the editor. They will be used for the following hooks:\n * - afterRead\n *\n * The other hooks require nodes to have IDs, which is why those are ran only from the nodeIDMap. They require IDs because they have both doc/siblingDoc and data/siblingData, and\n * thus require a reliable way to match new node data to old node data. Given that node positions can change in between hooks, this is only reliably possible for nodes which are saved with\n * an ID.\n */\n //const flattenedNodes: SerializedLexicalNode[] = []\n\n /**\n * Only nodes with id's (so, nodes with hooks added to them) will be added to the nodeIDMap. They will be used for the following hooks:\n * - afterChange\n * - beforeChange\n * - beforeValidate\n *\n * Other hooks are handled by the flattenedNodes. All nodes in the nodeIDMap are part of flattenedNodes.\n */\n\n const originalNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n recurseNodeTree({\n nodeIDMap: originalNodeIDMap,\n nodes: (previousValue as SerializedEditorState)?.root?.children ?? [],\n })\n\n if (!context.internal) {\n // Add to context, for other hooks to use\n context.internal = {}\n }\n if (!(context as any).internal.richText) {\n ;(context as any).internal.richText = {}\n }\n ;(context as any).internal.richText[path.join('.')] = {\n originalNodeIDMap,\n }\n\n /**\n * Now that the maps for all hooks are set up, we can run the validate hook\n */\n if (!finalSanitizedEditorConfig.features.nodeHooks?.beforeValidate?.size) {\n return value\n }\n const nodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n recurseNodeTree({\n //flattenedNodes,\n nodeIDMap,\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n // eslint-disable-next-line prefer-const\n for (let [id, node] of Object.entries(nodeIDMap)) {\n const beforeValidateHooks =\n finalSanitizedEditorConfig.features.nodeHooks.beforeValidate\n const beforeValidateHooksForNode = beforeValidateHooks?.get(node.type)\n if (beforeValidateHooksForNode) {\n for (const hook of beforeValidateHooksForNode) {\n if (!originalNodeIDMap[id]) {\n console.warn(\n '(beforeValidate) No original node found for node with id',\n id,\n 'node:',\n node,\n 'path',\n path.join('.'),\n )\n continue\n }\n node = await hook({\n context,\n node,\n operation,\n originalNode: originalNodeIDMap[id],\n overrideAccess: overrideAccess!,\n parentRichTextFieldPath: path,\n parentRichTextFieldSchemaPath: schemaPath,\n req,\n })\n }\n }\n const subFieldFn = finalSanitizedEditorConfig.features.getSubFields?.get(node.type)\n const subFieldDataFn = finalSanitizedEditorConfig.features.getSubFieldsData?.get(\n node.type,\n )\n\n if (subFieldFn && subFieldDataFn) {\n const subFields = subFieldFn({ node, req })\n const nodeSiblingData = subFieldDataFn({ node, req }) ?? {}\n\n const nodeSiblingDoc = subFieldDataFn({ node: originalNodeIDMap[id]!, req }) ?? {}\n\n if (subFields?.length) {\n await beforeValidateTraverseFields({\n id,\n blockData: nodeSiblingData,\n collection,\n context,\n data,\n doc: originalDoc,\n fields: subFields,\n global,\n operation,\n overrideAccess: overrideAccess!,\n parentIndexPath: indexPath.join('-'),\n parentIsLocalized: parentIsLocalized || field.localized || false,\n parentPath: path.join('.'),\n parentSchemaPath: schemaPath.join('.'),\n req,\n siblingData: nodeSiblingData,\n siblingDoc: nodeSiblingDoc,\n })\n }\n }\n }\n\n return value\n },\n ],\n },\n i18n: featureI18n,\n outputSchema: ({\n collectionIDFieldTypes,\n config,\n field,\n i18n,\n interfaceNameDefinitions,\n isRequired,\n }) => {\n let outputSchema: JSONSchema4 = {\n // This schema matches the SerializedEditorState type so far, that it's possible to cast SerializedEditorState to this schema without any errors.\n // In the future, we should\n // 1) allow recursive children\n // 2) Pass in all the different types for every node added to the editorconfig. This can be done with refs in the schema.\n type: withNullableJSONSchemaType('object', isRequired),\n properties: {\n root: {\n type: 'object',\n additionalProperties: false,\n properties: {\n type: {\n type: 'string',\n },\n children: {\n type: 'array',\n items: {\n type: 'object',\n additionalProperties: true,\n properties: {\n type: {\n type: 'string',\n },\n version: {\n type: 'integer',\n },\n },\n required: ['type', 'version'],\n },\n },\n direction: {\n oneOf: [\n {\n enum: ['ltr', 'rtl'],\n },\n {\n type: 'null',\n },\n ],\n },\n format: {\n type: 'string',\n enum: ['left', 'start', 'center', 'right', 'end', 'justify', ''], // ElementFormatType, since the root node is an element\n },\n indent: {\n type: 'integer',\n },\n version: {\n type: 'integer',\n },\n },\n required: ['children', 'direction', 'format', 'indent', 'type', 'version'],\n },\n },\n required: ['root'],\n }\n for (const modifyOutputSchema of finalSanitizedEditorConfig.features.generatedTypes\n .modifyOutputSchemas) {\n outputSchema = modifyOutputSchema({\n collectionIDFieldTypes,\n config,\n currentSchema: outputSchema,\n field,\n i18n,\n interfaceNameDefinitions,\n isRequired,\n })\n }\n\n return outputSchema\n },\n validate: richTextValidateHOC({\n editorConfig: finalSanitizedEditorConfig,\n }),\n }\n }\n}\n\nexport { AlignFeature } from './features/align/server/index.js'\nexport { BlockquoteFeature } from './features/blockquote/server/index.js'\nexport { BlocksFeature, type BlocksFeatureProps } from './features/blocks/server/index.js'\nexport {\n $createServerBlockNode,\n $isServerBlockNode,\n type BlockFields,\n ServerBlockNode,\n} from './features/blocks/server/nodes/BlocksNode.js'\n\nexport { LinebreakHTMLConverter } from './features/converters/html/converter/converters/linebreak.js'\nexport { ParagraphHTMLConverter } from './features/converters/html/converter/converters/paragraph.js'\n\nexport { TabHTMLConverter } from './features/converters/html/converter/converters/tab.js'\n\nexport { TextHTMLConverter } from './features/converters/html/converter/converters/text.js'\nexport { defaultHTMLConverters } from './features/converters/html/converter/defaultConverters.js'\nexport {\n convertLexicalNodesToHTML,\n convertLexicalToHTML,\n} from './features/converters/html/converter/index.js'\n\nexport type { HTMLConverter } from './features/converters/html/converter/types.js'\nexport { consolidateHTMLConverters, lexicalHTML } from './features/converters/html/field/index.js'\nexport {\n HTMLConverterFeature,\n type HTMLConverterFeatureProps,\n} from './features/converters/html/index.js'\nexport { convertHTMLToLexical } from './features/converters/htmlToLexical/index.js'\nexport { TestRecorderFeature } from './features/debug/testRecorder/server/index.js'\nexport { TreeViewFeature } from './features/debug/treeView/server/index.js'\nexport { EXPERIMENTAL_TableFeature } from './features/experimental_table/server/index.js'\nexport { BoldFeature } from './features/format/bold/feature.server.js'\nexport { InlineCodeFeature } from './features/format/inlineCode/feature.server.js'\n\nexport { ItalicFeature } from './features/format/italic/feature.server.js'\nexport { StrikethroughFeature } from './features/format/strikethrough/feature.server.js'\nexport { SubscriptFeature } from './features/format/subscript/feature.server.js'\nexport { SuperscriptFeature } from './features/format/superscript/feature.server.js'\nexport { UnderlineFeature } from './features/format/underline/feature.server.js'\nexport { HeadingFeature, type HeadingFeatureProps } from './features/heading/server/index.js'\nexport { HorizontalRuleFeature } from './features/horizontalRule/server/index.js'\n\nexport { IndentFeature } from './features/indent/server/index.js'\n\nexport { AutoLinkNode } from './features/link/nodes/AutoLinkNode.js'\nexport { LinkNode } from './features/link/nodes/LinkNode.js'\nexport type { LinkFields } from './features/link/nodes/types.js'\nexport { LinkFeature, type LinkFeatureServerProps } from './features/link/server/index.js'\nexport { ChecklistFeature } from './features/lists/checklist/server/index.js'\nexport { OrderedListFeature } from './features/lists/orderedList/server/index.js'\n\nexport { UnorderedListFeature } from './features/lists/unorderedList/server/index.js'\n\nexport type {\n SlateNode,\n SlateNodeConverter,\n} from './features/migrations/slateToLexical/converter/types.js'\nexport { ParagraphFeature } from './features/paragraph/server/index.js'\nexport {\n RelationshipFeature,\n type RelationshipFeatureProps,\n} from './features/relationship/server/index.js'\n\nexport {\n type RelationshipData,\n RelationshipServerNode,\n} from './features/relationship/server/nodes/RelationshipNode.js'\nexport { FixedToolbarFeature } from './features/toolbars/fixed/server/index.js'\n\nexport { InlineToolbarFeature } from './features/toolbars/inline/server/index.js'\nexport type { ToolbarGroup, ToolbarGroupItem } from './features/toolbars/types.js'\nexport type {\n BaseClientFeatureProps,\n ClientFeature,\n ClientFeatureProviderMap,\n FeatureProviderClient,\n FeatureProviderProviderClient,\n PluginComponent,\n PluginComponentWithAnchor,\n ResolvedClientFeature,\n ResolvedClientFeatureMap,\n SanitizedClientFeatures,\n SanitizedPlugin,\n} from './features/typesClient.js'\n\nexport type {\n AfterChangeNodeHook,\n AfterChangeNodeHookArgs,\n AfterReadNodeHook,\n AfterReadNodeHookArgs,\n BaseNodeHookArgs,\n BeforeChangeNodeHook,\n BeforeChangeNodeHookArgs,\n BeforeValidateNodeHook,\n BeforeValidateNodeHookArgs,\n FeatureProviderProviderServer,\n FeatureProviderServer,\n NodeValidation,\n NodeWithHooks,\n PopulationPromise,\n ResolvedServerFeature,\n ResolvedServerFeatureMap,\n SanitizedServerFeatures,\n ServerFeature,\n ServerFeatureProviderMap,\n} from './features/typesServer.js'\n\nexport { createNode } from './features/typeUtilities.js' // Only useful in feature.server.ts\n\nexport { UploadFeature } from './features/upload/server/feature.server.js'\nexport type { UploadFeatureProps } from './features/upload/server/feature.server.js'\n\nexport { type UploadData, UploadServerNode } from './features/upload/server/nodes/UploadNode.js'\nexport type { EditorConfigContextType } from './lexical/config/client/EditorConfigProvider.js'\n\nexport {\n defaultEditorConfig,\n defaultEditorFeatures,\n defaultEditorLexicalConfig,\n} from './lexical/config/server/default.js'\nexport { loadFeatures, sortFeaturesForOptimalLoading } from './lexical/config/server/loader.js'\n\nexport {\n sanitizeServerEditorConfig,\n sanitizeServerFeatures,\n} from './lexical/config/server/sanitize.js'\nexport type {\n ClientEditorConfig,\n SanitizedClientEditorConfig,\n SanitizedServerEditorConfig,\n ServerEditorConfig,\n} from './lexical/config/types.js'\nexport type { AdapterProps }\n\nexport { getEnabledNodes, getEnabledNodesFromServerNodes } from './lexical/nodes/index.js'\n\nexport type {\n SlashMenuGroup,\n SlashMenuItem,\n} from './lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nexport {\n DETAIL_TYPE_TO_DETAIL,\n DOUBLE_LINE_BREAK,\n ELEMENT_FORMAT_TO_TYPE,\n ELEMENT_TYPE_TO_FORMAT,\n IS_ALL_FORMATTING,\n LTR_REGEX,\n NodeFormat,\n NON_BREAKING_SPACE,\n RTL_REGEX,\n TEXT_MODE_TO_TYPE,\n TEXT_TYPE_TO_FORMAT,\n TEXT_TYPE_TO_MODE,\n} from './lexical/utils/nodeFormat.js'\n\nexport { sanitizeUrl, validateUrl } from './lexical/utils/url.js'\n\nexport type * from './nodeTypes.js'\n\nexport { $convertFromMarkdownString } from './packages/@lexical/markdown/index.js'\nexport { defaultRichTextValue } from './populateGraphQL/defaultValue.js'\nexport { populate } from './populateGraphQL/populate.js'\n\nexport type { LexicalEditorProps, LexicalFieldAdminProps, LexicalRichTextAdapter } from './types.js'\n\nexport { createServerFeature } from './utilities/createServerFeature.js'\nexport { editorConfigFactory } from './utilities/editorConfigFactory.js'\nexport type { FieldsDrawerProps } from './utilities/fieldsDrawer/Drawer.js'\nexport { extractPropsFromJSXPropsString } from './utilities/jsx/extractPropsFromJSXPropsString.js'\n\nexport {\n extractFrontmatter,\n frontmatterToObject,\n objectToFrontmatter,\n propsToJSXString,\n} from './utilities/jsx/jsx.js'\nexport { upgradeLexicalData } from './utilities/upgradeLexicalData/index.js'\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["afterChangeTraverseFields","afterReadTraverseFields","beforeChangeTraverseFields","beforeValidateTraverseFields","checkDependencies","withNullableJSONSchemaType","getDefaultSanitizedEditorConfig","i18n","defaultEditorFeatures","populateLexicalPopulationPromises","featuresInputToEditorConfig","getGenerateImportMap","getGenerateSchemaMap","recurseNodeTree","richTextValidateHOC","checkedDependencies","lexicalTargetVersion","lexicalEditor","args","process","env","NODE_ENV","PAYLOAD_DISABLE_DEPENDENCY_CHECKER","dependencyGroups","name","dependencies","targetVersion","config","isRoot","parentIsLocalized","features","resolvedFeatureMap","finalSanitizedEditorConfig","lexical","result","sanitizedConfig","featureI18n","lang","general","CellComponent","path","serverProps","admin","sanitizedEditorConfig","editorConfig","FieldComponent","generateImportMap","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","size","editorPopulationPromises","hooks","afterChange","collection","_context","data","global","indexPath","operation","originalDoc","previousDoc","previousValue","schemaPath","value","length","hook","nodeHooks","getSubFields","nodeIDMap","previousNodeIDMap","originalNodeIDMap","internal","richText","join","Object","keys","nodes","root","children","id","node","entries","afterChangeHooks","afterChangeHooksForNode","get","type","console","warn","originalNode","parentRichTextFieldPath","parentRichTextFieldSchemaPath","previousNode","subFieldFn","subFieldDataFn","getSubFieldsData","subFields","nodeSiblingData","nodeSiblingDoc","nodePreviousSiblingDoc","blockData","doc","fields","parentIndexPath","localized","parentPath","parentSchemaPath","previousSiblingDoc","siblingData","afterRead","fallbackLocale","locale","populate","triggerAccessControl","triggerHooks","flattenedNodes","afterReadHooks","afterReadHooksForNode","populateArg","beforeChange","docWithLocales","errors","fieldLabelPath","mergeLocaleActions","siblingDocWithLocales","skipValidation","originalNodeWithLocalesIDMap","beforeChangeHooks","beforeChangeHooksForNode","originalNodeWithLocales","nodeSiblingDocWithLocales","newOriginalNodeIDMap","previousOriginalValue","beforeValidate","beforeValidateHooks","beforeValidateHooksForNode","outputSchema","collectionIDFieldTypes","interfaceNameDefinitions","isRequired","properties","additionalProperties","items","version","required","direction","oneOf","enum","format","indent","modifyOutputSchema","generatedTypes","modifyOutputSchemas","currentSchema","validate","AlignFeature","BlockquoteFeature","BlocksFeature","$createServerBlockNode","$isServerBlockNode","ServerBlockNode","lexicalHTMLField","LinebreakHTMLConverter","ParagraphHTMLConverter","TabHTMLConverter","TextHTMLConverter","defaultHTMLConverters","convertLexicalNodesToHTML","convertLexicalToHTML","consolidateHTMLConverters","lexicalHTML","HTMLConverterFeature","convertHTMLToLexical","getPayloadPopulateFn","getRestPopulateFn","TestRecorderFeature","TreeViewFeature","EXPERIMENTAL_TableFeature","BoldFeature","InlineCodeFeature","ItalicFeature","StrikethroughFeature","SubscriptFeature","SuperscriptFeature","UnderlineFeature","HeadingFeature","HorizontalRuleFeature","IndentFeature","AutoLinkNode","LinkNode","LinkFeature","ChecklistFeature","OrderedListFeature","UnorderedListFeature","ParagraphFeature","RelationshipFeature","RelationshipServerNode","FixedToolbarFeature","InlineToolbarFeature","createNode","UploadFeature","UploadServerNode","defaultEditorConfig","defaultEditorLexicalConfig","loadFeatures","sortFeaturesForOptimalLoading","sanitizeServerEditorConfig","sanitizeServerFeatures","getEnabledNodes","getEnabledNodesFromServerNodes","DETAIL_TYPE_TO_DETAIL","DOUBLE_LINE_BREAK","ELEMENT_FORMAT_TO_TYPE","ELEMENT_TYPE_TO_FORMAT","IS_ALL_FORMATTING","LTR_REGEX","NodeFormat","NON_BREAKING_SPACE","RTL_REGEX","TEXT_MODE_TO_TYPE","TEXT_TYPE_TO_FORMAT","TEXT_TYPE_TO_MODE","sanitizeUrl","validateUrl","$convertFromMarkdownString","defaultRichTextValue","createServerFeature","editorConfigFactory","extractPropsFromJSXPropsString","extractFrontmatter","frontmatterToObject","objectToFrontmatter","propsToJSXString","upgradeLexicalData"],"sources":["../src/index.ts"],"sourcesContent":["import type { JSONSchema4 } from 'json-schema'\nimport type { SerializedEditorState, SerializedLexicalNode } from 'lexical'\n\nimport {\n afterChangeTraverseFields,\n afterReadTraverseFields,\n beforeChangeTraverseFields,\n beforeValidateTraverseFields,\n checkDependencies,\n withNullableJSONSchemaType,\n} from 'payload'\n\nimport type { FeatureProviderServer, ResolvedServerFeatureMap } from './features/typesServer.js'\nimport type { SanitizedServerEditorConfig } from './lexical/config/types.js'\nimport type { AdapterProps, LexicalEditorProps, LexicalRichTextAdapterProvider } from './types.js'\n\nimport { getDefaultSanitizedEditorConfig } from './getDefaultSanitizedEditorConfig.js'\nimport { i18n } from './i18n.js'\nimport { defaultEditorFeatures } from './lexical/config/server/default.js'\nimport { populateLexicalPopulationPromises } from './populateGraphQL/populateLexicalPopulationPromises.js'\nimport { featuresInputToEditorConfig } from './utilities/editorConfigFactory.js'\nimport { getGenerateImportMap } from './utilities/generateImportMap.js'\nimport { getGenerateSchemaMap } from './utilities/generateSchemaMap.js'\nimport { recurseNodeTree } from './utilities/recurseNodeTree.js'\nimport { richTextValidateHOC } from './validate/index.js'\n\nlet checkedDependencies = false\n\nexport const lexicalTargetVersion = '0.21.0'\n\nexport function lexicalEditor(args?: LexicalEditorProps): LexicalRichTextAdapterProvider {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' &&\n !checkedDependencies\n ) {\n checkedDependencies = true\n void checkDependencies({\n dependencyGroups: [\n {\n name: 'lexical',\n dependencies: [\n 'lexical',\n '@lexical/headless',\n '@lexical/link',\n '@lexical/list',\n '@lexical/mark',\n '@lexical/react',\n '@lexical/rich-text',\n '@lexical/selection',\n '@lexical/utils',\n ],\n targetVersion: lexicalTargetVersion,\n },\n ],\n })\n }\n return async ({ config, isRoot, parentIsLocalized }) => {\n let features: FeatureProviderServer<unknown, unknown, unknown>[] = []\n let resolvedFeatureMap: ResolvedServerFeatureMap\n\n let finalSanitizedEditorConfig: SanitizedServerEditorConfig // For server only\n if (!args || (!args.features && !args.lexical)) {\n finalSanitizedEditorConfig = await getDefaultSanitizedEditorConfig({\n config,\n parentIsLocalized,\n })\n\n features = defaultEditorFeatures\n\n resolvedFeatureMap = finalSanitizedEditorConfig.resolvedFeatureMap\n } else {\n const result = await featuresInputToEditorConfig({\n config,\n features: args?.features,\n isRoot,\n lexical: args?.lexical,\n parentIsLocalized,\n })\n finalSanitizedEditorConfig = result.sanitizedConfig\n features = result.features\n resolvedFeatureMap = result.resolvedFeatureMap\n }\n\n const featureI18n = finalSanitizedEditorConfig.features.i18n\n for (const lang in i18n) {\n if (!featureI18n[lang as keyof typeof featureI18n]) {\n featureI18n[lang as keyof typeof featureI18n] = {\n lexical: {},\n }\n }\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n featureI18n[lang].lexical.general = i18n[lang]\n }\n\n return {\n CellComponent: {\n path: '@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell',\n serverProps: {\n admin: args?.admin,\n sanitizedEditorConfig: finalSanitizedEditorConfig,\n },\n },\n editorConfig: finalSanitizedEditorConfig,\n features,\n FieldComponent: {\n path: '@payloadcms/richtext-lexical/rsc#RscEntryLexicalField',\n serverProps: {\n admin: args?.admin,\n sanitizedEditorConfig: finalSanitizedEditorConfig,\n },\n },\n generateImportMap: getGenerateImportMap({\n resolvedFeatureMap,\n }),\n generateSchemaMap: getGenerateSchemaMap({\n resolvedFeatureMap,\n }),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n parentIsLocalized,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n // check if there are any features with nodes which have populationPromises for this field\n if (finalSanitizedEditorConfig?.features?.graphQLPopulationPromises?.size) {\n populateLexicalPopulationPromises({\n context,\n currentDepth: currentDepth ?? 0,\n depth,\n draft,\n editorPopulationPromises: finalSanitizedEditorConfig.features.graphQLPopulationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n parentIsLocalized,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: {\n afterChange: [\n async (args) => {\n const {\n collection,\n context: _context,\n data,\n field,\n global,\n indexPath,\n operation,\n originalDoc,\n parentIsLocalized,\n path,\n previousDoc,\n previousValue,\n req,\n schemaPath,\n } = args\n\n let { value } = args\n if (finalSanitizedEditorConfig?.features?.hooks?.afterChange?.length) {\n for (const hook of finalSanitizedEditorConfig.features.hooks.afterChange) {\n value = await hook(args)\n }\n }\n if (\n !finalSanitizedEditorConfig.features.nodeHooks?.afterChange?.size &&\n !finalSanitizedEditorConfig.features.getSubFields?.size\n ) {\n return value\n }\n // TO-DO: We should not use context, as it is intended for external use only\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const context: any = _context\n const nodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n const previousNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n /**\n * Get the originalNodeIDMap from the beforeValidate hook, which is always run before this hook.\n */\n const originalNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = context?.internal?.richText?.[path.join('.')]?.originalNodeIDMap\n\n if (!originalNodeIDMap || !Object.keys(originalNodeIDMap).length || !value) {\n return value\n }\n\n recurseNodeTree({\n nodeIDMap,\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n recurseNodeTree({\n nodeIDMap: previousNodeIDMap,\n nodes: (previousValue as SerializedEditorState)?.root?.children ?? [],\n })\n\n // eslint-disable-next-line prefer-const\n for (let [id, node] of Object.entries(nodeIDMap)) {\n const afterChangeHooks = finalSanitizedEditorConfig.features.nodeHooks?.afterChange\n const afterChangeHooksForNode = afterChangeHooks?.get(node.type)\n if (afterChangeHooksForNode) {\n for (const hook of afterChangeHooksForNode) {\n if (!originalNodeIDMap[id]) {\n console.warn(\n '(afterChange) No original node found for node with id',\n id,\n 'node:',\n node,\n 'path',\n path.join('.'),\n )\n continue\n }\n node = await hook({\n context,\n node,\n operation,\n originalNode: originalNodeIDMap[id],\n parentRichTextFieldPath: path,\n parentRichTextFieldSchemaPath: schemaPath,\n\n previousNode: previousNodeIDMap[id]!,\n req,\n })\n }\n }\n const subFieldFn = finalSanitizedEditorConfig.features.getSubFields?.get(node.type)\n const subFieldDataFn = finalSanitizedEditorConfig.features.getSubFieldsData?.get(\n node.type,\n )\n\n if (subFieldFn && subFieldDataFn) {\n const subFields = subFieldFn({ node, req })\n const nodeSiblingData = subFieldDataFn({ node, req }) ?? {}\n\n const nodeSiblingDoc = subFieldDataFn({ node: originalNodeIDMap[id]!, req }) ?? {}\n const nodePreviousSiblingDoc =\n subFieldDataFn({ node: previousNodeIDMap[id]!, req }) ?? {}\n\n if (subFields?.length) {\n await afterChangeTraverseFields({\n blockData: nodeSiblingData,\n collection,\n context,\n data: data ?? {},\n doc: originalDoc,\n fields: subFields,\n global,\n operation,\n parentIndexPath: indexPath.join('-'),\n parentIsLocalized: parentIsLocalized || field.localized || false,\n parentPath: path.join('.'),\n parentSchemaPath: schemaPath.join('.'),\n previousDoc,\n previousSiblingDoc: { ...nodePreviousSiblingDoc },\n req,\n siblingData: nodeSiblingData || {},\n siblingDoc: { ...nodeSiblingDoc },\n })\n }\n }\n }\n return value\n },\n ],\n afterRead: [\n /**\n * afterRead hooks do not receive the originalNode. Thus, they can run on all nodes, not just nodes with an ID.\n */\n async (args) => {\n const {\n collection,\n context: context,\n currentDepth,\n depth,\n draft,\n fallbackLocale,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n global,\n indexPath,\n locale,\n originalDoc,\n overrideAccess,\n parentIsLocalized,\n path,\n populate,\n populationPromises,\n req,\n schemaPath,\n showHiddenFields,\n triggerAccessControl,\n triggerHooks,\n } = args\n\n let { value } = args\n\n if (finalSanitizedEditorConfig?.features?.hooks?.afterRead?.length) {\n for (const hook of finalSanitizedEditorConfig.features.hooks.afterRead) {\n value = await hook(args)\n }\n }\n\n if (\n !finalSanitizedEditorConfig.features.nodeHooks?.afterRead?.size &&\n !finalSanitizedEditorConfig.features.getSubFields?.size\n ) {\n return value\n }\n const flattenedNodes: SerializedLexicalNode[] = []\n\n recurseNodeTree({\n flattenedNodes,\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n for (let node of flattenedNodes) {\n const afterReadHooks = finalSanitizedEditorConfig.features.nodeHooks?.afterRead\n const afterReadHooksForNode = afterReadHooks?.get(node.type)\n if (afterReadHooksForNode) {\n for (const hook of afterReadHooksForNode) {\n node = await hook({\n context,\n currentDepth: currentDepth!,\n depth: depth!,\n draft: draft!,\n fallbackLocale: fallbackLocale!,\n fieldPromises: fieldPromises!,\n findMany: findMany!,\n flattenLocales: flattenLocales!,\n locale: locale!,\n node,\n overrideAccess: overrideAccess!,\n parentRichTextFieldPath: path,\n parentRichTextFieldSchemaPath: schemaPath,\n populateArg: populate,\n populationPromises: populationPromises!,\n req,\n showHiddenFields: showHiddenFields!,\n triggerAccessControl: triggerAccessControl!,\n triggerHooks: triggerHooks!,\n })\n }\n }\n const subFieldFn = finalSanitizedEditorConfig.features.getSubFields?.get(node.type)\n const subFieldDataFn = finalSanitizedEditorConfig.features.getSubFieldsData?.get(\n node.type,\n )\n\n if (subFieldFn && subFieldDataFn) {\n const subFields = subFieldFn({ node, req })\n const nodeSiblingData = subFieldDataFn({ node, req }) ?? {}\n\n if (subFields?.length) {\n afterReadTraverseFields({\n blockData: nodeSiblingData,\n collection,\n context,\n currentDepth: currentDepth!,\n depth: depth!,\n doc: originalDoc,\n draft: draft!,\n fallbackLocale: fallbackLocale!,\n fieldPromises: fieldPromises!,\n fields: subFields,\n findMany: findMany!,\n flattenLocales: flattenLocales!,\n global,\n locale: locale!,\n overrideAccess: overrideAccess!,\n parentIndexPath: indexPath.join('-'),\n parentIsLocalized: parentIsLocalized || field.localized || false,\n parentPath: path.join('.'),\n parentSchemaPath: schemaPath.join('.'),\n populate,\n populationPromises: populationPromises!,\n req,\n showHiddenFields: showHiddenFields!,\n siblingDoc: nodeSiblingData,\n triggerAccessControl,\n triggerHooks,\n })\n }\n }\n }\n\n return value\n },\n ],\n beforeChange: [\n async (args) => {\n const {\n collection,\n context: _context,\n data,\n docWithLocales,\n errors,\n field,\n fieldLabelPath,\n global,\n indexPath,\n mergeLocaleActions,\n operation,\n originalDoc,\n parentIsLocalized,\n path,\n previousValue,\n req,\n schemaPath,\n siblingData,\n siblingDocWithLocales,\n skipValidation,\n } = args\n\n let { value } = args\n\n if (finalSanitizedEditorConfig?.features?.hooks?.beforeChange?.length) {\n for (const hook of finalSanitizedEditorConfig.features.hooks.beforeChange) {\n value = await hook(args)\n }\n }\n\n if (\n !finalSanitizedEditorConfig.features.nodeHooks?.beforeChange?.size &&\n !finalSanitizedEditorConfig.features.getSubFields?.size\n ) {\n return value\n }\n\n // TO-DO: We should not use context, as it is intended for external use only\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const context: any = _context\n const nodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n /**\n * Get the originalNodeIDMap from the beforeValidate hook, which is always run before this hook.\n */\n const originalNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = context?.internal?.richText?.[path.join('.')]?.originalNodeIDMap\n\n if (!originalNodeIDMap || !Object.keys(originalNodeIDMap).length || !value) {\n return value\n }\n const previousNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n const originalNodeWithLocalesIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n recurseNodeTree({\n nodeIDMap,\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n recurseNodeTree({\n nodeIDMap: previousNodeIDMap,\n nodes: (previousValue as SerializedEditorState)?.root?.children ?? [],\n })\n if (field.name && siblingDocWithLocales?.[field.name]) {\n recurseNodeTree({\n nodeIDMap: originalNodeWithLocalesIDMap,\n nodes:\n (siblingDocWithLocales[field.name] as SerializedEditorState)?.root?.children ??\n [],\n })\n }\n\n // eslint-disable-next-line prefer-const\n for (let [id, node] of Object.entries(nodeIDMap)) {\n const beforeChangeHooks = finalSanitizedEditorConfig.features.nodeHooks?.beforeChange\n const beforeChangeHooksForNode = beforeChangeHooks?.get(node.type)\n if (beforeChangeHooksForNode) {\n for (const hook of beforeChangeHooksForNode) {\n if (!originalNodeIDMap[id]) {\n console.warn(\n '(beforeChange) No original node found for node with id',\n id,\n 'node:',\n node,\n 'path',\n path.join('.'),\n )\n continue\n }\n node = await hook({\n context,\n errors: errors!,\n mergeLocaleActions: mergeLocaleActions!,\n node,\n operation: operation!,\n originalNode: originalNodeIDMap[id],\n originalNodeWithLocales: originalNodeWithLocalesIDMap[id],\n parentRichTextFieldPath: path,\n parentRichTextFieldSchemaPath: schemaPath,\n\n previousNode: previousNodeIDMap[id]!,\n req,\n skipValidation: skipValidation!,\n })\n }\n }\n\n const subFieldFn = finalSanitizedEditorConfig.features.getSubFields?.get(node.type)\n const subFieldDataFn = finalSanitizedEditorConfig.features.getSubFieldsData?.get(\n node.type,\n )\n\n if (subFieldFn && subFieldDataFn) {\n const subFields = subFieldFn({ node, req })\n const nodeSiblingData = subFieldDataFn({ node, req }) ?? {}\n const nodeSiblingDocWithLocales =\n subFieldDataFn({\n node: originalNodeWithLocalesIDMap[id]!,\n req,\n }) ?? {}\n const nodePreviousSiblingDoc =\n subFieldDataFn({ node: previousNodeIDMap[id]!, req }) ?? {}\n\n if (subFields?.length) {\n await beforeChangeTraverseFields({\n id,\n blockData: nodeSiblingData,\n collection,\n context,\n data: data ?? {},\n doc: originalDoc ?? {},\n docWithLocales: docWithLocales ?? {},\n errors: errors!,\n fieldLabelPath,\n fields: subFields,\n global,\n mergeLocaleActions: mergeLocaleActions!,\n operation: operation!,\n parentIndexPath: indexPath.join('-'),\n parentIsLocalized: parentIsLocalized || field.localized || false,\n parentPath: path.join('.'),\n parentSchemaPath: schemaPath.join('.'),\n req,\n siblingData: nodeSiblingData,\n siblingDoc: nodePreviousSiblingDoc,\n siblingDocWithLocales: nodeSiblingDocWithLocales ?? {},\n skipValidation,\n })\n }\n }\n }\n\n /**\n * within the beforeChange hook, id's may be re-generated.\n * Example:\n * 1. Seed data contains IDs for block feature blocks.\n * 2. Those are used in beforeValidate\n * 3. in beforeChange, those IDs are regenerated, because you cannot provide IDs during document creation. See baseIDField beforeChange hook for reasoning\n * 4. Thus, in order for all post-beforeChange hooks to receive the correct ID, we need to update the originalNodeIDMap with the new ID's, by regenerating the nodeIDMap.\n * The reason this is not generated for every hook, is to save on performance. We know we only really have to generate it in beforeValidate, which is the first hook,\n * and in beforeChange, which is where modifications to the provided IDs can occur.\n */\n const newOriginalNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n const previousOriginalValue = siblingData[field.name!]\n\n recurseNodeTree({\n nodeIDMap: newOriginalNodeIDMap,\n nodes: (previousOriginalValue as SerializedEditorState)?.root?.children ?? [],\n })\n\n if (!context.internal) {\n // Add to context, for other hooks to use\n context.internal = {}\n }\n if (!context.internal.richText) {\n context.internal.richText = {}\n }\n context.internal.richText[path.join('.')] = {\n originalNodeIDMap: newOriginalNodeIDMap,\n }\n\n return value\n },\n ],\n beforeValidate: [\n async (args) => {\n const {\n collection,\n context,\n data,\n field,\n global,\n indexPath,\n operation,\n originalDoc,\n overrideAccess,\n parentIsLocalized,\n path,\n previousValue,\n req,\n schemaPath,\n } = args\n\n let { value } = args\n if (finalSanitizedEditorConfig?.features?.hooks?.beforeValidate?.length) {\n for (const hook of finalSanitizedEditorConfig.features.hooks.beforeValidate) {\n value = await hook(args)\n }\n }\n\n // return value if there are NO hooks\n if (\n !finalSanitizedEditorConfig.features.nodeHooks?.beforeValidate?.size &&\n !finalSanitizedEditorConfig.features.nodeHooks?.afterChange?.size &&\n !finalSanitizedEditorConfig.features.nodeHooks?.beforeChange?.size &&\n !finalSanitizedEditorConfig.features.getSubFields?.size\n ) {\n return value\n }\n\n /**\n * beforeValidate is the first field hook which runs. This is where we can create the node map, which can then be used in the other hooks.\n *\n */\n\n /**\n * flattenedNodes contains all nodes in the editor, in the order they appear in the editor. They will be used for the following hooks:\n * - afterRead\n *\n * The other hooks require nodes to have IDs, which is why those are ran only from the nodeIDMap. They require IDs because they have both doc/siblingDoc and data/siblingData, and\n * thus require a reliable way to match new node data to old node data. Given that node positions can change in between hooks, this is only reliably possible for nodes which are saved with\n * an ID.\n */\n //const flattenedNodes: SerializedLexicalNode[] = []\n\n /**\n * Only nodes with id's (so, nodes with hooks added to them) will be added to the nodeIDMap. They will be used for the following hooks:\n * - afterChange\n * - beforeChange\n * - beforeValidate\n *\n * Other hooks are handled by the flattenedNodes. All nodes in the nodeIDMap are part of flattenedNodes.\n */\n\n const originalNodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n\n recurseNodeTree({\n nodeIDMap: originalNodeIDMap,\n nodes: (previousValue as SerializedEditorState)?.root?.children ?? [],\n })\n\n if (!context.internal) {\n // Add to context, for other hooks to use\n context.internal = {}\n }\n if (!(context as any).internal.richText) {\n ;(context as any).internal.richText = {}\n }\n ;(context as any).internal.richText[path.join('.')] = {\n originalNodeIDMap,\n }\n\n /**\n * Now that the maps for all hooks are set up, we can run the validate hook\n */\n if (!finalSanitizedEditorConfig.features.nodeHooks?.beforeValidate?.size) {\n return value\n }\n const nodeIDMap: {\n [key: string]: SerializedLexicalNode\n } = {}\n recurseNodeTree({\n //flattenedNodes,\n nodeIDMap,\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n // eslint-disable-next-line prefer-const\n for (let [id, node] of Object.entries(nodeIDMap)) {\n const beforeValidateHooks =\n finalSanitizedEditorConfig.features.nodeHooks.beforeValidate\n const beforeValidateHooksForNode = beforeValidateHooks?.get(node.type)\n if (beforeValidateHooksForNode) {\n for (const hook of beforeValidateHooksForNode) {\n if (!originalNodeIDMap[id]) {\n console.warn(\n '(beforeValidate) No original node found for node with id',\n id,\n 'node:',\n node,\n 'path',\n path.join('.'),\n )\n continue\n }\n node = await hook({\n context,\n node,\n operation,\n originalNode: originalNodeIDMap[id],\n overrideAccess: overrideAccess!,\n parentRichTextFieldPath: path,\n parentRichTextFieldSchemaPath: schemaPath,\n req,\n })\n }\n }\n const subFieldFn = finalSanitizedEditorConfig.features.getSubFields?.get(node.type)\n const subFieldDataFn = finalSanitizedEditorConfig.features.getSubFieldsData?.get(\n node.type,\n )\n\n if (subFieldFn && subFieldDataFn) {\n const subFields = subFieldFn({ node, req })\n const nodeSiblingData = subFieldDataFn({ node, req }) ?? {}\n\n const nodeSiblingDoc = subFieldDataFn({ node: originalNodeIDMap[id]!, req }) ?? {}\n\n if (subFields?.length) {\n await beforeValidateTraverseFields({\n id,\n blockData: nodeSiblingData,\n collection,\n context,\n data,\n doc: originalDoc,\n fields: subFields,\n global,\n operation,\n overrideAccess: overrideAccess!,\n parentIndexPath: indexPath.join('-'),\n parentIsLocalized: parentIsLocalized || field.localized || false,\n parentPath: path.join('.'),\n parentSchemaPath: schemaPath.join('.'),\n req,\n siblingData: nodeSiblingData,\n siblingDoc: nodeSiblingDoc,\n })\n }\n }\n }\n\n return value\n },\n ],\n },\n i18n: featureI18n,\n outputSchema: ({\n collectionIDFieldTypes,\n config,\n field,\n i18n,\n interfaceNameDefinitions,\n isRequired,\n }) => {\n let outputSchema: JSONSchema4 = {\n // This schema matches the SerializedEditorState type so far, that it's possible to cast SerializedEditorState to this schema without any errors.\n // In the future, we should\n // 1) allow recursive children\n // 2) Pass in all the different types for every node added to the editorconfig. This can be done with refs in the schema.\n type: withNullableJSONSchemaType('object', isRequired),\n properties: {\n root: {\n type: 'object',\n additionalProperties: false,\n properties: {\n type: {\n type: 'string',\n },\n children: {\n type: 'array',\n items: {\n type: 'object',\n additionalProperties: true,\n properties: {\n type: {\n type: 'string',\n },\n version: {\n type: 'integer',\n },\n },\n required: ['type', 'version'],\n },\n },\n direction: {\n oneOf: [\n {\n enum: ['ltr', 'rtl'],\n },\n {\n type: 'null',\n },\n ],\n },\n format: {\n type: 'string',\n enum: ['left', 'start', 'center', 'right', 'end', 'justify', ''], // ElementFormatType, since the root node is an element\n },\n indent: {\n type: 'integer',\n },\n version: {\n type: 'integer',\n },\n },\n required: ['children', 'direction', 'format', 'indent', 'type', 'version'],\n },\n },\n required: ['root'],\n }\n for (const modifyOutputSchema of finalSanitizedEditorConfig.features.generatedTypes\n .modifyOutputSchemas) {\n outputSchema = modifyOutputSchema({\n collectionIDFieldTypes,\n config,\n currentSchema: outputSchema,\n field,\n i18n,\n interfaceNameDefinitions,\n isRequired,\n })\n }\n\n return outputSchema\n },\n validate: richTextValidateHOC({\n editorConfig: finalSanitizedEditorConfig,\n }),\n }\n }\n}\n\nexport { AlignFeature } from './features/align/server/index.js'\nexport { BlockquoteFeature } from './features/blockquote/server/index.js'\nexport { BlocksFeature, type BlocksFeatureProps } from './features/blocks/server/index.js'\nexport {\n $createServerBlockNode,\n $isServerBlockNode,\n type BlockFields,\n ServerBlockNode,\n} from './features/blocks/server/nodes/BlocksNode.js'\n\nexport { lexicalHTMLField } from './features/converters/html/async/field/index.js'\n\nexport { LinebreakHTMLConverter } from './features/converters/html_deprecated/converter/converters/linebreak.js'\nexport { ParagraphHTMLConverter } from './features/converters/html_deprecated/converter/converters/paragraph.js'\n\nexport { TabHTMLConverter } from './features/converters/html_deprecated/converter/converters/tab.js'\n\nexport { TextHTMLConverter } from './features/converters/html_deprecated/converter/converters/text.js'\nexport { defaultHTMLConverters } from './features/converters/html_deprecated/converter/defaultConverters.js'\nexport {\n convertLexicalNodesToHTML,\n convertLexicalToHTML,\n} from './features/converters/html_deprecated/converter/index.js'\n\nexport type { HTMLConverter } from './features/converters/html_deprecated/converter/types.js'\nexport {\n consolidateHTMLConverters,\n lexicalHTML,\n} from './features/converters/html_deprecated/field/index.js'\nexport {\n HTMLConverterFeature,\n type HTMLConverterFeatureProps,\n} from './features/converters/html_deprecated/index.js'\nexport { convertHTMLToLexical } from './features/converters/htmlToLexical/index.js'\nexport { getPayloadPopulateFn } from './features/converters/utilities/payloadPopulateFn.js'\nexport { getRestPopulateFn } from './features/converters/utilities/restPopulateFn.js'\nexport { TestRecorderFeature } from './features/debug/testRecorder/server/index.js'\nexport { TreeViewFeature } from './features/debug/treeView/server/index.js'\nexport { EXPERIMENTAL_TableFeature } from './features/experimental_table/server/index.js'\nexport { BoldFeature } from './features/format/bold/feature.server.js'\nexport { InlineCodeFeature } from './features/format/inlineCode/feature.server.js'\n\nexport { ItalicFeature } from './features/format/italic/feature.server.js'\nexport { StrikethroughFeature } from './features/format/strikethrough/feature.server.js'\nexport { SubscriptFeature } from './features/format/subscript/feature.server.js'\nexport { SuperscriptFeature } from './features/format/superscript/feature.server.js'\nexport { UnderlineFeature } from './features/format/underline/feature.server.js'\nexport { HeadingFeature, type HeadingFeatureProps } from './features/heading/server/index.js'\nexport { HorizontalRuleFeature } from './features/horizontalRule/server/index.js'\n\nexport { IndentFeature } from './features/indent/server/index.js'\n\nexport { AutoLinkNode } from './features/link/nodes/AutoLinkNode.js'\nexport { LinkNode } from './features/link/nodes/LinkNode.js'\nexport type { LinkFields } from './features/link/nodes/types.js'\nexport { LinkFeature, type LinkFeatureServerProps } from './features/link/server/index.js'\nexport { ChecklistFeature } from './features/lists/checklist/server/index.js'\nexport { OrderedListFeature } from './features/lists/orderedList/server/index.js'\n\nexport { UnorderedListFeature } from './features/lists/unorderedList/server/index.js'\n\nexport type {\n SlateNode,\n SlateNodeConverter,\n} from './features/migrations/slateToLexical/converter/types.js'\nexport { ParagraphFeature } from './features/paragraph/server/index.js'\nexport {\n RelationshipFeature,\n type RelationshipFeatureProps,\n} from './features/relationship/server/index.js'\n\nexport {\n type RelationshipData,\n RelationshipServerNode,\n} from './features/relationship/server/nodes/RelationshipNode.js'\nexport { FixedToolbarFeature } from './features/toolbars/fixed/server/index.js'\n\nexport { InlineToolbarFeature } from './features/toolbars/inline/server/index.js'\nexport type { ToolbarGroup, ToolbarGroupItem } from './features/toolbars/types.js'\nexport type {\n BaseClientFeatureProps,\n ClientFeature,\n ClientFeatureProviderMap,\n FeatureProviderClient,\n FeatureProviderProviderClient,\n PluginComponent,\n PluginComponentWithAnchor,\n ResolvedClientFeature,\n ResolvedClientFeatureMap,\n SanitizedClientFeatures,\n SanitizedPlugin,\n} from './features/typesClient.js'\n\nexport type {\n AfterChangeNodeHook,\n AfterChangeNodeHookArgs,\n AfterReadNodeHook,\n AfterReadNodeHookArgs,\n BaseNodeHookArgs,\n BeforeChangeNodeHook,\n BeforeChangeNodeHookArgs,\n BeforeValidateNodeHook,\n BeforeValidateNodeHookArgs,\n FeatureProviderProviderServer,\n FeatureProviderServer,\n NodeValidation,\n NodeWithHooks,\n PopulationPromise,\n ResolvedServerFeature,\n ResolvedServerFeatureMap,\n SanitizedServerFeatures,\n ServerFeature,\n ServerFeatureProviderMap,\n} from './features/typesServer.js'\n\nexport { createNode } from './features/typeUtilities.js' // Only useful in feature.server.ts\n\nexport { UploadFeature } from './features/upload/server/feature.server.js'\nexport type { UploadFeatureProps } from './features/upload/server/feature.server.js'\n\nexport { type UploadData, UploadServerNode } from './features/upload/server/nodes/UploadNode.js'\nexport type { EditorConfigContextType } from './lexical/config/client/EditorConfigProvider.js'\n\nexport {\n defaultEditorConfig,\n defaultEditorFeatures,\n defaultEditorLexicalConfig,\n} from './lexical/config/server/default.js'\nexport { loadFeatures, sortFeaturesForOptimalLoading } from './lexical/config/server/loader.js'\n\nexport {\n sanitizeServerEditorConfig,\n sanitizeServerFeatures,\n} from './lexical/config/server/sanitize.js'\nexport type {\n ClientEditorConfig,\n SanitizedClientEditorConfig,\n SanitizedServerEditorConfig,\n ServerEditorConfig,\n} from './lexical/config/types.js'\nexport type { AdapterProps }\n\nexport { getEnabledNodes, getEnabledNodesFromServerNodes } from './lexical/nodes/index.js'\n\nexport type {\n SlashMenuGroup,\n SlashMenuItem,\n} from './lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nexport {\n DETAIL_TYPE_TO_DETAIL,\n DOUBLE_LINE_BREAK,\n ELEMENT_FORMAT_TO_TYPE,\n ELEMENT_TYPE_TO_FORMAT,\n IS_ALL_FORMATTING,\n LTR_REGEX,\n NodeFormat,\n NON_BREAKING_SPACE,\n RTL_REGEX,\n TEXT_MODE_TO_TYPE,\n TEXT_TYPE_TO_FORMAT,\n TEXT_TYPE_TO_MODE,\n} from './lexical/utils/nodeFormat.js'\n\nexport { sanitizeUrl, validateUrl } from './lexical/utils/url.js'\n\nexport type * from './nodeTypes.js'\n\nexport { $convertFromMarkdownString } from './packages/@lexical/markdown/index.js'\nexport { defaultRichTextValue } from './populateGraphQL/defaultValue.js'\nexport { populate } from './populateGraphQL/populate.js'\n\nexport type { LexicalEditorProps, LexicalFieldAdminProps, LexicalRichTextAdapter } from './types.js'\n\nexport { createServerFeature } from './utilities/createServerFeature.js'\nexport { editorConfigFactory } from './utilities/editorConfigFactory.js'\n\nexport type { FieldsDrawerProps } from './utilities/fieldsDrawer/Drawer.js'\nexport { extractPropsFromJSXPropsString } from './utilities/jsx/extractPropsFromJSXPropsString.js'\n\nexport {\n extractFrontmatter,\n frontmatterToObject,\n objectToFrontmatter,\n propsToJSXString,\n} from './utilities/jsx/jsx.js'\n\nexport { upgradeLexicalData } from './utilities/upgradeLexicalData/index.js'\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { PayloadRequest, SelectType } from 'payload';
|
|
2
|
-
type
|
|
2
|
+
type PopulateArguments = {
|
|
3
|
+
collectionSlug: string;
|
|
3
4
|
currentDepth?: number;
|
|
4
5
|
data: unknown;
|
|
5
6
|
depth: number;
|
|
6
7
|
draft: boolean;
|
|
8
|
+
id: number | string;
|
|
7
9
|
key: number | string;
|
|
8
10
|
overrideAccess: boolean;
|
|
9
11
|
req: PayloadRequest;
|
|
10
12
|
select?: SelectType;
|
|
11
13
|
showHiddenFields: boolean;
|
|
12
14
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
id: number | string;
|
|
16
|
-
} & Arguments) => Promise<void>;
|
|
15
|
+
type PopulateFn = (args: PopulateArguments) => Promise<void>;
|
|
16
|
+
export declare const populate: PopulateFn;
|
|
17
17
|
export {};
|
|
18
18
|
//# sourceMappingURL=populate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../src/populateGraphQL/populate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIzD,KAAK,
|
|
1
|
+
{"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../src/populateGraphQL/populate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIzD,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAE5D,eAAO,MAAM,QAAQ,EAAE,UA0CtB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populate.js","names":["createDataloaderCacheKey","populate","id","collectionSlug","currentDepth","data","depth","draft","key","overrideAccess","req","select","showHiddenFields","shouldPopulate","dataRef","doc","payloadDataLoader","load","docID","fallbackLocale","locale","transactionID"],"sources":["../../src/populateGraphQL/populate.ts"],"sourcesContent":["import type { PayloadRequest, SelectType } from 'payload'\n\nimport { createDataloaderCacheKey } from 'payload'\n\ntype
|
|
1
|
+
{"version":3,"file":"populate.js","names":["createDataloaderCacheKey","populate","id","collectionSlug","currentDepth","data","depth","draft","key","overrideAccess","req","select","showHiddenFields","shouldPopulate","dataRef","doc","payloadDataLoader","load","docID","fallbackLocale","locale","transactionID"],"sources":["../../src/populateGraphQL/populate.ts"],"sourcesContent":["import type { PayloadRequest, SelectType } from 'payload'\n\nimport { createDataloaderCacheKey } from 'payload'\n\ntype PopulateArguments = {\n collectionSlug: string\n currentDepth?: number\n data: unknown\n depth: number\n draft: boolean\n id: number | string\n key: number | string\n overrideAccess: boolean\n req: PayloadRequest\n select?: SelectType\n showHiddenFields: boolean\n}\n\ntype PopulateFn = (args: PopulateArguments) => Promise<void>\n\nexport const populate: PopulateFn = async ({\n id,\n collectionSlug,\n currentDepth,\n data,\n depth,\n draft,\n key,\n overrideAccess,\n req,\n select,\n showHiddenFields,\n}) => {\n const shouldPopulate = depth && currentDepth! <= depth\n // usually depth is checked within recursivelyPopulateFieldsForGraphQL. But since this populate function can be called outside of that (in rest afterRead node hooks) we need to check here too\n if (!shouldPopulate) {\n return\n }\n\n const dataRef = data as Record<string, unknown>\n\n const doc = await req.payloadDataLoader?.load(\n createDataloaderCacheKey({\n collectionSlug,\n currentDepth: currentDepth! + 1,\n depth,\n docID: id as string,\n draft,\n fallbackLocale: req.fallbackLocale!,\n locale: req.locale!,\n overrideAccess,\n select,\n showHiddenFields,\n transactionID: req.transactionID!,\n }),\n )\n\n if (doc) {\n dataRef[key] = doc\n } else {\n dataRef[key] = null\n }\n}\n"],"mappings":"AAEA,SAASA,wBAAwB,QAAQ;AAkBzC,OAAO,MAAMC,QAAA,GAAuB,MAAAA,CAAO;EACzCC,EAAE;EACFC,cAAc;EACdC,YAAY;EACZC,IAAI;EACJC,KAAK;EACLC,KAAK;EACLC,GAAG;EACHC,cAAc;EACdC,GAAG;EACHC,MAAM;EACNC;AAAgB,CACjB;EACC,MAAMC,cAAA,GAAiBP,KAAA,IAASF,YAAA,IAAiBE,KAAA;EACjD;EACA,IAAI,CAACO,cAAA,EAAgB;IACnB;EACF;EAEA,MAAMC,OAAA,GAAUT,IAAA;EAEhB,MAAMU,GAAA,GAAM,MAAML,GAAA,CAAIM,iBAAiB,EAAEC,IAAA,CACvCjB,wBAAA,CAAyB;IACvBG,cAAA;IACAC,YAAA,EAAcA,YAAA,GAAgB;IAC9BE,KAAA;IACAY,KAAA,EAAOhB,EAAA;IACPK,KAAA;IACAY,cAAA,EAAgBT,GAAA,CAAIS,cAAc;IAClCC,MAAA,EAAQV,GAAA,CAAIU,MAAM;IAClBX,cAAA;IACAE,MAAA;IACAC,gBAAA;IACAS,aAAA,EAAeX,GAAA,CAAIW;EACrB;EAGF,IAAIN,GAAA,EAAK;IACPD,OAAO,CAACN,GAAA,CAAI,GAAGO,GAAA;EACjB,OAAO;IACLD,OAAO,CAACN,GAAA,CAAI,GAAG;EACjB;AACF","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/richtext-lexical",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.28.0-canary.36921bd",
|
|
4
4
|
"description": "The officially supported Lexical richtext adapter for Payload",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -35,6 +35,16 @@
|
|
|
35
35
|
"types": "./dist/exports/react/index.d.ts",
|
|
36
36
|
"default": "./dist/exports/react/index.js"
|
|
37
37
|
},
|
|
38
|
+
"./html": {
|
|
39
|
+
"import": "./dist/exports/html/index.js",
|
|
40
|
+
"types": "./dist/exports/html/index.d.ts",
|
|
41
|
+
"default": "./dist/exports/html/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./html-async": {
|
|
44
|
+
"import": "./dist/exports/html-async/index.js",
|
|
45
|
+
"types": "./dist/exports/html-async/index.d.ts",
|
|
46
|
+
"default": "./dist/exports/html-async/index.js"
|
|
47
|
+
},
|
|
38
48
|
"./rsc": {
|
|
39
49
|
"import": "./dist/exports/server/rsc.js",
|
|
40
50
|
"types": "./dist/exports/server/rsc.d.ts",
|
|
@@ -350,11 +360,12 @@
|
|
|
350
360
|
"mdast-util-from-markdown": "2.0.2",
|
|
351
361
|
"mdast-util-mdx-jsx": "3.1.3",
|
|
352
362
|
"micromark-extension-mdx-jsx": "3.0.1",
|
|
363
|
+
"qs-esm": "7.0.2",
|
|
353
364
|
"react-error-boundary": "4.1.2",
|
|
354
365
|
"ts-essentials": "10.0.3",
|
|
355
366
|
"uuid": "10.0.0",
|
|
356
|
-
"@payloadcms/translations": "3.
|
|
357
|
-
"@payloadcms/ui": "3.
|
|
367
|
+
"@payloadcms/translations": "3.28.0-canary.36921bd",
|
|
368
|
+
"@payloadcms/ui": "3.28.0-canary.36921bd"
|
|
358
369
|
},
|
|
359
370
|
"devDependencies": {
|
|
360
371
|
"@babel/cli": "7.26.4",
|
|
@@ -375,15 +386,15 @@
|
|
|
375
386
|
"eslint-plugin-react-compiler": "19.0.0-beta-714736e-20250131",
|
|
376
387
|
"swc-plugin-transform-remove-imports": "3.1.0",
|
|
377
388
|
"@payloadcms/eslint-config": "3.9.0",
|
|
378
|
-
"payload": "3.
|
|
389
|
+
"payload": "3.28.0-canary.36921bd"
|
|
379
390
|
},
|
|
380
391
|
"peerDependencies": {
|
|
381
392
|
"@faceless-ui/modal": "3.0.0-beta.2",
|
|
382
393
|
"@faceless-ui/scroll-info": "2.0.0",
|
|
383
394
|
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
384
395
|
"react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
385
|
-
"@payloadcms/next": "3.
|
|
386
|
-
"payload": "3.
|
|
396
|
+
"@payloadcms/next": "3.28.0-canary.36921bd",
|
|
397
|
+
"payload": "3.28.0-canary.36921bd"
|
|
387
398
|
},
|
|
388
399
|
"engines": {
|
|
389
400
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blockquote.d.ts","sourceRoot":"","sources":["../../../../../../../src/exports/react/components/RichText/converter/converters/blockquote.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,mBAAmB,CAQrE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blockquote.js","names":["BlockquoteJSXConverter","quote","node","nodesToJSX","children","nodes","_jsx"],"sources":["../../../../../../../src/exports/react/components/RichText/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":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../../../../../src/exports/react/components/RichText/converter/converters/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAUpE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"heading.js","names":["HeadingJSXConverter","heading","node","nodesToJSX","children","nodes","NodeTag","tag","_jsx"],"sources":["../../../../../../../src/exports/react/components/RichText/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":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"horizontalRule.d.ts","sourceRoot":"","sources":["../../../../../../../src/exports/react/components/RichText/converter/converters/horizontalRule.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,4BAA4B,CAIlF,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"horizontalRule.js","names":["HorizontalRuleJSXConverter","horizontalrule","_jsx"],"sources":["../../../../../../../src/exports/react/components/RichText/converter/converters/horizontalRule.tsx"],"sourcesContent":["import type { SerializedHorizontalRuleNode } from '../../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\nexport const HorizontalRuleJSXConverter: JSXConverters<SerializedHorizontalRuleNode> = {\n horizontalrule: () => {\n return <hr />\n },\n}\n"],"mappings":";AAEA,OAAO,MAAMA,0BAAA,GAA0E;EACrFC,cAAA,EAAgBA,CAAA;IACd,oBAAOC,IAAA,CAAC;EACV;AACF","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linebreak.d.ts","sourceRoot":"","sources":["../../../../../../../src/exports/react/components/RichText/converter/converters/linebreak.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAIxE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linebreak.js","names":["LinebreakJSXConverter","linebreak","_jsx"],"sources":["../../../../../../../src/exports/react/components/RichText/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: () => {\n return <br />\n },\n}\n"],"mappings":";AAGA,OAAO,MAAMA,qBAAA,GAAgE;EAC3EC,SAAA,EAAWA,CAAA;IACT,oBAAOC,IAAA,CAAC;EACV;AACF","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../../../src/exports/react/components/RichText/converter/converters/link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAChG,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"}
|
|
@@ -1 +0,0 @@
|
|
|
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/exports/react/components/RichText/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":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../../src/exports/react/components/RichText/converter/converters/list.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAChG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,sBAAsB,GAAG,kBAAkB,CAqDvF,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
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/exports/react/components/RichText/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":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../../../../../../src/exports/react/components/RichText/converter/converters/paragraph.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAgBxE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paragraph.js","names":["ParagraphJSXConverter","paragraph","node","nodesToJSX","children","nodes","length","_jsx"],"sources":["../../../../../../../src/exports/react/components/RichText/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":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../../../../../src/exports/react/components/RichText/converter/converters/tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAK5D,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab.js","names":["TabJSXConverter","tab","node","text"],"sources":["../../../../../../../src/exports/react/components/RichText/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: ({ node }) => {\n // Tab\n return node.text\n },\n}\n"],"mappings":"AAGA,OAAO,MAAMA,eAAA,GAAoD;EAC/DC,GAAA,EAAKA,CAAC;IAAEC;EAAI,CAAE;IACZ;IACA,OAAOA,IAAA,CAAKC,IAAI;EAClB;AACF","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../../../../src/exports/react/components/RichText/converter/converters/table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAC3C,uBAAuB,GAAG,mBAAmB,GAAG,sBAAsB,CAgDvE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
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/exports/react/components/RichText/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":[]}
|