@payloadcms/richtext-lexical 3.29.0-canary.5 → 3.29.0-canary.7

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.
Files changed (435) hide show
  1. package/dist/exports/client/Field-5SZDDPZE.js +2 -0
  2. package/dist/exports/client/Field-5SZDDPZE.js.map +7 -0
  3. package/dist/exports/client/bundled.css +1 -1
  4. package/dist/exports/client/index.js +10 -10
  5. package/dist/exports/client/index.js.map +3 -3
  6. package/dist/exports/html/index.d.ts +15 -15
  7. package/dist/exports/html/index.d.ts.map +1 -1
  8. package/dist/exports/html/index.js +13 -13
  9. package/dist/exports/html/index.js.map +1 -1
  10. package/dist/exports/html-async/index.d.ts +15 -15
  11. package/dist/exports/html-async/index.d.ts.map +1 -1
  12. package/dist/exports/html-async/index.js +13 -13
  13. package/dist/exports/html-async/index.js.map +1 -1
  14. package/dist/exports/plaintext/index.d.ts +3 -0
  15. package/dist/exports/plaintext/index.d.ts.map +1 -0
  16. package/dist/exports/plaintext/index.js +2 -0
  17. package/dist/exports/plaintext/index.js.map +1 -0
  18. package/dist/exports/react/index.d.ts +15 -15
  19. package/dist/exports/react/index.d.ts.map +1 -1
  20. package/dist/exports/react/index.js +14 -14
  21. package/dist/exports/react/index.js.map +1 -1
  22. package/dist/features/blockquote/server/index.js +1 -1
  23. package/dist/features/blockquote/server/index.js.map +1 -1
  24. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.d.ts.map +1 -1
  25. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js +1 -1
  26. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js.map +1 -1
  27. package/dist/features/converters/htmlToLexical/index.d.ts.map +1 -1
  28. package/dist/features/converters/htmlToLexical/index.js +0 -1
  29. package/dist/features/converters/htmlToLexical/index.js.map +1 -1
  30. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.d.ts.map +1 -0
  31. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js.map +1 -0
  32. package/dist/features/converters/lexicalToHtml/async/converters/heading.d.ts.map +1 -0
  33. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -0
  34. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.d.ts.map +1 -0
  35. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js.map +1 -0
  36. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.d.ts.map +1 -0
  37. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js.map +1 -0
  38. package/dist/features/converters/lexicalToHtml/async/converters/link.d.ts.map +1 -0
  39. package/dist/features/converters/{html → lexicalToHtml}/async/converters/link.js +4 -12
  40. package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +1 -0
  41. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +1 -0
  42. package/dist/features/converters/{html → lexicalToHtml}/async/converters/list.js +1 -1
  43. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -0
  44. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.d.ts.map +1 -0
  45. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js.map +1 -0
  46. package/dist/features/converters/lexicalToHtml/async/converters/tab.d.ts.map +1 -0
  47. package/dist/features/converters/lexicalToHtml/async/converters/tab.js.map +1 -0
  48. package/dist/features/converters/lexicalToHtml/async/converters/table.d.ts.map +1 -0
  49. package/dist/features/converters/lexicalToHtml/async/converters/table.js.map +1 -0
  50. package/dist/features/converters/lexicalToHtml/async/converters/text.d.ts.map +1 -0
  51. package/dist/features/converters/lexicalToHtml/async/converters/text.js.map +1 -0
  52. package/dist/features/converters/lexicalToHtml/async/converters/upload.d.ts.map +1 -0
  53. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -0
  54. package/dist/features/converters/lexicalToHtml/async/defaultConverters.d.ts.map +1 -0
  55. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +1 -0
  56. package/dist/features/converters/lexicalToHtml/async/field/index.d.ts.map +1 -0
  57. package/dist/features/converters/{html → lexicalToHtml}/async/field/index.js +11 -11
  58. package/dist/features/converters/lexicalToHtml/async/field/index.js.map +1 -0
  59. package/dist/features/converters/lexicalToHtml/async/index.d.ts.map +1 -0
  60. package/dist/features/converters/lexicalToHtml/async/index.js.map +1 -0
  61. package/dist/features/converters/lexicalToHtml/async/types.d.ts.map +1 -0
  62. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -0
  63. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.d.ts.map +1 -0
  64. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -0
  65. package/dist/features/converters/lexicalToHtml/shared/types.d.ts.map +1 -0
  66. package/dist/features/converters/lexicalToHtml/shared/types.js.map +1 -0
  67. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.d.ts.map +1 -0
  68. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +1 -0
  69. package/dist/features/converters/lexicalToHtml/sync/converters/heading.d.ts.map +1 -0
  70. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -0
  71. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.d.ts.map +1 -0
  72. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +1 -0
  73. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.d.ts.map +1 -0
  74. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +1 -0
  75. package/dist/features/converters/lexicalToHtml/sync/converters/link.d.ts.map +1 -0
  76. package/dist/features/converters/{html → lexicalToHtml}/sync/converters/link.js +4 -12
  77. package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +1 -0
  78. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +1 -0
  79. package/dist/features/converters/{html → lexicalToHtml}/sync/converters/list.js +1 -1
  80. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -0
  81. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.d.ts.map +1 -0
  82. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +1 -0
  83. package/dist/features/converters/lexicalToHtml/sync/converters/tab.d.ts.map +1 -0
  84. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +1 -0
  85. package/dist/features/converters/lexicalToHtml/sync/converters/table.d.ts.map +1 -0
  86. package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +1 -0
  87. package/dist/features/converters/lexicalToHtml/sync/converters/text.d.ts.map +1 -0
  88. package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +1 -0
  89. package/dist/features/converters/lexicalToHtml/sync/converters/upload.d.ts.map +1 -0
  90. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -0
  91. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.d.ts.map +1 -0
  92. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js.map +1 -0
  93. package/dist/features/converters/lexicalToHtml/sync/index.d.ts.map +1 -0
  94. package/dist/features/converters/lexicalToHtml/sync/index.js.map +1 -0
  95. package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +1 -0
  96. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -0
  97. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.d.ts.map +1 -0
  98. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js.map +1 -0
  99. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.d.ts.map +1 -0
  100. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js.map +1 -0
  101. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.d.ts.map +1 -0
  102. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js.map +1 -0
  103. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.d.ts.map +1 -0
  104. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js.map +1 -0
  105. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.d.ts.map +1 -0
  106. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js.map +1 -0
  107. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.d.ts.map +1 -0
  108. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js.map +1 -0
  109. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.d.ts.map +1 -0
  110. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js.map +1 -0
  111. package/dist/features/converters/lexicalToHtml_deprecated/field/index.d.ts.map +1 -0
  112. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js.map +1 -0
  113. package/dist/features/converters/lexicalToHtml_deprecated/index.d.ts.map +1 -0
  114. package/dist/features/converters/lexicalToHtml_deprecated/index.js.map +1 -0
  115. package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +1 -0
  116. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -0
  117. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.d.ts.map +1 -0
  118. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js.map +1 -0
  119. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +1 -0
  120. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -0
  121. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.d.ts.map +1 -0
  122. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js.map +1 -0
  123. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.d.ts.map +1 -0
  124. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js.map +1 -0
  125. package/dist/features/converters/lexicalToJSX/converter/converters/link.d.ts.map +1 -0
  126. package/dist/features/converters/lexicalToJSX/converter/converters/link.js.map +1 -0
  127. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +1 -0
  128. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -0
  129. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.d.ts.map +1 -0
  130. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js.map +1 -0
  131. package/dist/features/converters/lexicalToJSX/converter/converters/tab.d.ts.map +1 -0
  132. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js.map +1 -0
  133. package/dist/features/converters/lexicalToJSX/converter/converters/table.d.ts.map +1 -0
  134. package/dist/features/converters/lexicalToJSX/converter/converters/table.js.map +1 -0
  135. package/dist/features/converters/lexicalToJSX/converter/converters/text.d.ts.map +1 -0
  136. package/dist/features/converters/lexicalToJSX/converter/converters/text.js.map +1 -0
  137. package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts.map +1 -0
  138. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -0
  139. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.d.ts.map +1 -0
  140. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +1 -0
  141. package/dist/features/converters/lexicalToJSX/converter/index.d.ts.map +1 -0
  142. package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -0
  143. package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +1 -0
  144. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -0
  145. package/dist/features/converters/lexicalToMarkdown/index.d.ts +7 -0
  146. package/dist/features/converters/lexicalToMarkdown/index.d.ts.map +1 -0
  147. package/dist/features/converters/lexicalToMarkdown/index.js +24 -0
  148. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -0
  149. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +84 -0
  150. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +1 -0
  151. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.d.ts +7 -0
  152. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.d.ts.map +1 -0
  153. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js +15 -0
  154. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +1 -0
  155. package/dist/features/converters/lexicalToPlaintext/shared/types.d.ts +5 -0
  156. package/dist/features/converters/lexicalToPlaintext/shared/types.d.ts.map +1 -0
  157. package/dist/features/converters/lexicalToPlaintext/shared/types.js +2 -0
  158. package/dist/features/converters/lexicalToPlaintext/shared/types.js.map +1 -0
  159. package/dist/features/converters/lexicalToPlaintext/sync/index.d.ts +22 -0
  160. package/dist/features/converters/lexicalToPlaintext/sync/index.d.ts.map +1 -0
  161. package/dist/features/converters/lexicalToPlaintext/sync/index.js +79 -0
  162. package/dist/features/converters/lexicalToPlaintext/sync/index.js.map +1 -0
  163. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts +60 -0
  164. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts.map +1 -0
  165. package/dist/features/converters/lexicalToPlaintext/sync/types.js +2 -0
  166. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -0
  167. package/dist/features/converters/markdownToLexical/index.d.ts +8 -0
  168. package/dist/features/converters/markdownToLexical/index.d.ts.map +1 -0
  169. package/dist/features/converters/markdownToLexical/index.js +21 -0
  170. package/dist/features/converters/markdownToLexical/index.js.map +1 -0
  171. package/dist/features/converters/utilities/payloadPopulateFn.d.ts +1 -1
  172. package/dist/features/converters/utilities/payloadPopulateFn.d.ts.map +1 -1
  173. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  174. package/dist/features/converters/utilities/restPopulateFn.d.ts +1 -1
  175. package/dist/features/converters/utilities/restPopulateFn.d.ts.map +1 -1
  176. package/dist/features/converters/utilities/restPopulateFn.js.map +1 -1
  177. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +3 -3
  178. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  179. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts +1 -0
  180. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -1
  181. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +5 -1
  182. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  183. package/dist/features/experimental_table/server/index.js +1 -1
  184. package/dist/features/experimental_table/server/index.js.map +1 -1
  185. package/dist/features/heading/server/index.js +1 -1
  186. package/dist/features/heading/server/index.js.map +1 -1
  187. package/dist/features/indent/client/IndentPlugin.d.ts.map +1 -1
  188. package/dist/features/indent/client/IndentPlugin.js +26 -6
  189. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  190. package/dist/features/indent/client/index.d.ts +2 -1
  191. package/dist/features/indent/client/index.d.ts.map +1 -1
  192. package/dist/features/indent/client/index.js +41 -19
  193. package/dist/features/indent/client/index.js.map +1 -1
  194. package/dist/features/indent/server/index.d.ts +7 -0
  195. package/dist/features/indent/server/index.d.ts.map +1 -1
  196. package/dist/features/indent/server/index.js.map +1 -1
  197. package/dist/features/link/server/index.d.ts.map +1 -1
  198. package/dist/features/link/server/index.js +3 -7
  199. package/dist/features/link/server/index.js.map +1 -1
  200. package/dist/features/lists/htmlConverter.d.ts +1 -1
  201. package/dist/features/lists/htmlConverter.d.ts.map +1 -1
  202. package/dist/features/lists/htmlConverter.js +1 -1
  203. package/dist/features/lists/htmlConverter.js.map +1 -1
  204. package/dist/features/typesServer.d.ts +1 -1
  205. package/dist/features/typesServer.d.ts.map +1 -1
  206. package/dist/features/typesServer.js.map +1 -1
  207. package/dist/field/Field.d.ts.map +1 -1
  208. package/dist/field/Field.js +2 -3
  209. package/dist/field/Field.js.map +1 -1
  210. package/dist/field/bundled.css +1 -1
  211. package/dist/index.d.ts +13 -11
  212. package/dist/index.d.ts.map +1 -1
  213. package/dist/index.js +12 -10
  214. package/dist/index.js.map +1 -1
  215. package/dist/nodeTypes.d.ts +1 -1
  216. package/dist/nodeTypes.d.ts.map +1 -1
  217. package/dist/nodeTypes.js.map +1 -1
  218. package/package.json +24 -19
  219. package/dist/exports/client/Field-IUDF2DGI.js +0 -2
  220. package/dist/exports/client/Field-IUDF2DGI.js.map +0 -7
  221. package/dist/features/converters/html/async/converters/blockquote.d.ts.map +0 -1
  222. package/dist/features/converters/html/async/converters/blockquote.js.map +0 -1
  223. package/dist/features/converters/html/async/converters/heading.d.ts.map +0 -1
  224. package/dist/features/converters/html/async/converters/heading.js.map +0 -1
  225. package/dist/features/converters/html/async/converters/horizontalRule.d.ts.map +0 -1
  226. package/dist/features/converters/html/async/converters/horizontalRule.js.map +0 -1
  227. package/dist/features/converters/html/async/converters/linebreak.d.ts.map +0 -1
  228. package/dist/features/converters/html/async/converters/linebreak.js.map +0 -1
  229. package/dist/features/converters/html/async/converters/link.d.ts.map +0 -1
  230. package/dist/features/converters/html/async/converters/link.js.map +0 -1
  231. package/dist/features/converters/html/async/converters/list.d.ts.map +0 -1
  232. package/dist/features/converters/html/async/converters/list.js.map +0 -1
  233. package/dist/features/converters/html/async/converters/paragraph.d.ts.map +0 -1
  234. package/dist/features/converters/html/async/converters/paragraph.js.map +0 -1
  235. package/dist/features/converters/html/async/converters/tab.d.ts.map +0 -1
  236. package/dist/features/converters/html/async/converters/tab.js.map +0 -1
  237. package/dist/features/converters/html/async/converters/table.d.ts.map +0 -1
  238. package/dist/features/converters/html/async/converters/table.js.map +0 -1
  239. package/dist/features/converters/html/async/converters/text.d.ts.map +0 -1
  240. package/dist/features/converters/html/async/converters/text.js.map +0 -1
  241. package/dist/features/converters/html/async/converters/upload.d.ts.map +0 -1
  242. package/dist/features/converters/html/async/converters/upload.js.map +0 -1
  243. package/dist/features/converters/html/async/defaultConverters.d.ts.map +0 -1
  244. package/dist/features/converters/html/async/defaultConverters.js.map +0 -1
  245. package/dist/features/converters/html/async/field/index.d.ts.map +0 -1
  246. package/dist/features/converters/html/async/field/index.js.map +0 -1
  247. package/dist/features/converters/html/async/index.d.ts.map +0 -1
  248. package/dist/features/converters/html/async/index.js.map +0 -1
  249. package/dist/features/converters/html/async/types.d.ts.map +0 -1
  250. package/dist/features/converters/html/async/types.js.map +0 -1
  251. package/dist/features/converters/html/shared/findConverterForNode.d.ts.map +0 -1
  252. package/dist/features/converters/html/shared/findConverterForNode.js.map +0 -1
  253. package/dist/features/converters/html/shared/types.d.ts.map +0 -1
  254. package/dist/features/converters/html/shared/types.js.map +0 -1
  255. package/dist/features/converters/html/sync/converters/blockquote.d.ts.map +0 -1
  256. package/dist/features/converters/html/sync/converters/blockquote.js.map +0 -1
  257. package/dist/features/converters/html/sync/converters/heading.d.ts.map +0 -1
  258. package/dist/features/converters/html/sync/converters/heading.js.map +0 -1
  259. package/dist/features/converters/html/sync/converters/horizontalRule.d.ts.map +0 -1
  260. package/dist/features/converters/html/sync/converters/horizontalRule.js.map +0 -1
  261. package/dist/features/converters/html/sync/converters/linebreak.d.ts.map +0 -1
  262. package/dist/features/converters/html/sync/converters/linebreak.js.map +0 -1
  263. package/dist/features/converters/html/sync/converters/link.d.ts.map +0 -1
  264. package/dist/features/converters/html/sync/converters/link.js.map +0 -1
  265. package/dist/features/converters/html/sync/converters/list.d.ts.map +0 -1
  266. package/dist/features/converters/html/sync/converters/list.js.map +0 -1
  267. package/dist/features/converters/html/sync/converters/paragraph.d.ts.map +0 -1
  268. package/dist/features/converters/html/sync/converters/paragraph.js.map +0 -1
  269. package/dist/features/converters/html/sync/converters/tab.d.ts.map +0 -1
  270. package/dist/features/converters/html/sync/converters/tab.js.map +0 -1
  271. package/dist/features/converters/html/sync/converters/table.d.ts.map +0 -1
  272. package/dist/features/converters/html/sync/converters/table.js.map +0 -1
  273. package/dist/features/converters/html/sync/converters/text.d.ts.map +0 -1
  274. package/dist/features/converters/html/sync/converters/text.js.map +0 -1
  275. package/dist/features/converters/html/sync/converters/upload.d.ts.map +0 -1
  276. package/dist/features/converters/html/sync/converters/upload.js.map +0 -1
  277. package/dist/features/converters/html/sync/defaultConverters.d.ts.map +0 -1
  278. package/dist/features/converters/html/sync/defaultConverters.js.map +0 -1
  279. package/dist/features/converters/html/sync/index.d.ts.map +0 -1
  280. package/dist/features/converters/html/sync/index.js.map +0 -1
  281. package/dist/features/converters/html/sync/types.d.ts.map +0 -1
  282. package/dist/features/converters/html/sync/types.js.map +0 -1
  283. package/dist/features/converters/html_deprecated/converter/converters/linebreak.d.ts.map +0 -1
  284. package/dist/features/converters/html_deprecated/converter/converters/linebreak.js.map +0 -1
  285. package/dist/features/converters/html_deprecated/converter/converters/paragraph.d.ts.map +0 -1
  286. package/dist/features/converters/html_deprecated/converter/converters/paragraph.js.map +0 -1
  287. package/dist/features/converters/html_deprecated/converter/converters/tab.d.ts.map +0 -1
  288. package/dist/features/converters/html_deprecated/converter/converters/tab.js.map +0 -1
  289. package/dist/features/converters/html_deprecated/converter/converters/text.d.ts.map +0 -1
  290. package/dist/features/converters/html_deprecated/converter/converters/text.js.map +0 -1
  291. package/dist/features/converters/html_deprecated/converter/defaultConverters.d.ts.map +0 -1
  292. package/dist/features/converters/html_deprecated/converter/defaultConverters.js.map +0 -1
  293. package/dist/features/converters/html_deprecated/converter/index.d.ts.map +0 -1
  294. package/dist/features/converters/html_deprecated/converter/index.js.map +0 -1
  295. package/dist/features/converters/html_deprecated/converter/types.d.ts.map +0 -1
  296. package/dist/features/converters/html_deprecated/converter/types.js.map +0 -1
  297. package/dist/features/converters/html_deprecated/field/index.d.ts.map +0 -1
  298. package/dist/features/converters/html_deprecated/field/index.js.map +0 -1
  299. package/dist/features/converters/html_deprecated/index.d.ts.map +0 -1
  300. package/dist/features/converters/html_deprecated/index.js.map +0 -1
  301. package/dist/features/converters/jsx/Component/index.d.ts.map +0 -1
  302. package/dist/features/converters/jsx/Component/index.js.map +0 -1
  303. package/dist/features/converters/jsx/converter/converters/blockquote.d.ts.map +0 -1
  304. package/dist/features/converters/jsx/converter/converters/blockquote.js.map +0 -1
  305. package/dist/features/converters/jsx/converter/converters/heading.d.ts.map +0 -1
  306. package/dist/features/converters/jsx/converter/converters/heading.js.map +0 -1
  307. package/dist/features/converters/jsx/converter/converters/horizontalRule.d.ts.map +0 -1
  308. package/dist/features/converters/jsx/converter/converters/horizontalRule.js.map +0 -1
  309. package/dist/features/converters/jsx/converter/converters/linebreak.d.ts.map +0 -1
  310. package/dist/features/converters/jsx/converter/converters/linebreak.js.map +0 -1
  311. package/dist/features/converters/jsx/converter/converters/link.d.ts.map +0 -1
  312. package/dist/features/converters/jsx/converter/converters/link.js.map +0 -1
  313. package/dist/features/converters/jsx/converter/converters/list.d.ts.map +0 -1
  314. package/dist/features/converters/jsx/converter/converters/list.js.map +0 -1
  315. package/dist/features/converters/jsx/converter/converters/paragraph.d.ts.map +0 -1
  316. package/dist/features/converters/jsx/converter/converters/paragraph.js.map +0 -1
  317. package/dist/features/converters/jsx/converter/converters/tab.d.ts.map +0 -1
  318. package/dist/features/converters/jsx/converter/converters/tab.js.map +0 -1
  319. package/dist/features/converters/jsx/converter/converters/table.d.ts.map +0 -1
  320. package/dist/features/converters/jsx/converter/converters/table.js.map +0 -1
  321. package/dist/features/converters/jsx/converter/converters/text.d.ts.map +0 -1
  322. package/dist/features/converters/jsx/converter/converters/text.js.map +0 -1
  323. package/dist/features/converters/jsx/converter/converters/upload.d.ts.map +0 -1
  324. package/dist/features/converters/jsx/converter/converters/upload.js.map +0 -1
  325. package/dist/features/converters/jsx/converter/defaultConverters.d.ts.map +0 -1
  326. package/dist/features/converters/jsx/converter/defaultConverters.js.map +0 -1
  327. package/dist/features/converters/jsx/converter/index.d.ts.map +0 -1
  328. package/dist/features/converters/jsx/converter/index.js.map +0 -1
  329. package/dist/features/converters/jsx/converter/types.d.ts.map +0 -1
  330. package/dist/features/converters/jsx/converter/types.js.map +0 -1
  331. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/blockquote.d.ts +0 -0
  332. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/blockquote.js +0 -0
  333. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/heading.d.ts +0 -0
  334. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/heading.js +0 -0
  335. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/horizontalRule.d.ts +0 -0
  336. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/horizontalRule.js +0 -0
  337. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/linebreak.d.ts +0 -0
  338. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/linebreak.js +0 -0
  339. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/link.d.ts +0 -0
  340. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/list.d.ts +0 -0
  341. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/paragraph.d.ts +0 -0
  342. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/paragraph.js +0 -0
  343. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/tab.d.ts +0 -0
  344. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/tab.js +0 -0
  345. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/table.d.ts +0 -0
  346. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/table.js +0 -0
  347. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/text.d.ts +0 -0
  348. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/text.js +0 -0
  349. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/upload.d.ts +0 -0
  350. /package/dist/features/converters/{html → lexicalToHtml}/async/converters/upload.js +0 -0
  351. /package/dist/features/converters/{html → lexicalToHtml}/async/defaultConverters.d.ts +0 -0
  352. /package/dist/features/converters/{html → lexicalToHtml}/async/defaultConverters.js +0 -0
  353. /package/dist/features/converters/{html → lexicalToHtml}/async/field/index.d.ts +0 -0
  354. /package/dist/features/converters/{html → lexicalToHtml}/async/index.d.ts +0 -0
  355. /package/dist/features/converters/{html → lexicalToHtml}/async/index.js +0 -0
  356. /package/dist/features/converters/{html → lexicalToHtml}/async/types.d.ts +0 -0
  357. /package/dist/features/converters/{html → lexicalToHtml}/async/types.js +0 -0
  358. /package/dist/features/converters/{html → lexicalToHtml}/shared/findConverterForNode.d.ts +0 -0
  359. /package/dist/features/converters/{html → lexicalToHtml}/shared/findConverterForNode.js +0 -0
  360. /package/dist/features/converters/{html → lexicalToHtml}/shared/types.d.ts +0 -0
  361. /package/dist/features/converters/{html → lexicalToHtml}/shared/types.js +0 -0
  362. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/blockquote.d.ts +0 -0
  363. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/blockquote.js +0 -0
  364. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/heading.d.ts +0 -0
  365. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/heading.js +0 -0
  366. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/horizontalRule.d.ts +0 -0
  367. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/horizontalRule.js +0 -0
  368. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/linebreak.d.ts +0 -0
  369. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/linebreak.js +0 -0
  370. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/link.d.ts +0 -0
  371. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/list.d.ts +0 -0
  372. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/paragraph.d.ts +0 -0
  373. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/paragraph.js +0 -0
  374. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/tab.d.ts +0 -0
  375. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/tab.js +0 -0
  376. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/table.d.ts +0 -0
  377. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/table.js +0 -0
  378. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/text.d.ts +0 -0
  379. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/text.js +0 -0
  380. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/upload.d.ts +0 -0
  381. /package/dist/features/converters/{html → lexicalToHtml}/sync/converters/upload.js +0 -0
  382. /package/dist/features/converters/{html → lexicalToHtml}/sync/defaultConverters.d.ts +0 -0
  383. /package/dist/features/converters/{html → lexicalToHtml}/sync/defaultConverters.js +0 -0
  384. /package/dist/features/converters/{html → lexicalToHtml}/sync/index.d.ts +0 -0
  385. /package/dist/features/converters/{html → lexicalToHtml}/sync/index.js +0 -0
  386. /package/dist/features/converters/{html → lexicalToHtml}/sync/types.d.ts +0 -0
  387. /package/dist/features/converters/{html → lexicalToHtml}/sync/types.js +0 -0
  388. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/linebreak.d.ts +0 -0
  389. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/linebreak.js +0 -0
  390. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/paragraph.d.ts +0 -0
  391. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/paragraph.js +0 -0
  392. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/tab.d.ts +0 -0
  393. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/tab.js +0 -0
  394. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/text.d.ts +0 -0
  395. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/converters/text.js +0 -0
  396. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/defaultConverters.d.ts +0 -0
  397. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/defaultConverters.js +0 -0
  398. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/index.d.ts +0 -0
  399. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/index.js +0 -0
  400. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/types.d.ts +0 -0
  401. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/converter/types.js +0 -0
  402. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/field/index.d.ts +0 -0
  403. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/field/index.js +0 -0
  404. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/index.d.ts +0 -0
  405. /package/dist/features/converters/{html_deprecated → lexicalToHtml_deprecated}/index.js +0 -0
  406. /package/dist/features/converters/{jsx → lexicalToJSX}/Component/index.d.ts +0 -0
  407. /package/dist/features/converters/{jsx → lexicalToJSX}/Component/index.js +0 -0
  408. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/blockquote.d.ts +0 -0
  409. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/blockquote.js +0 -0
  410. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/heading.d.ts +0 -0
  411. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/heading.js +0 -0
  412. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/horizontalRule.d.ts +0 -0
  413. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/horizontalRule.js +0 -0
  414. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/linebreak.d.ts +0 -0
  415. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/linebreak.js +0 -0
  416. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/link.d.ts +0 -0
  417. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/link.js +0 -0
  418. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/list.d.ts +0 -0
  419. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/list.js +0 -0
  420. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/paragraph.d.ts +0 -0
  421. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/paragraph.js +0 -0
  422. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/tab.d.ts +0 -0
  423. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/tab.js +0 -0
  424. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/table.d.ts +0 -0
  425. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/table.js +0 -0
  426. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/text.d.ts +0 -0
  427. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/text.js +0 -0
  428. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/upload.d.ts +0 -0
  429. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/converters/upload.js +0 -0
  430. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/defaultConverters.d.ts +0 -0
  431. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/defaultConverters.js +0 -0
  432. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/index.d.ts +0 -0
  433. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/index.js +0 -0
  434. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/types.d.ts +0 -0
  435. /package/dist/features/converters/{jsx → lexicalToJSX}/converter/types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["defaultHTMLConverters","convertLexicalToHTML","consolidateHTMLConverters","editorConfig","htmlConverterFeature","resolvedFeatureMap","get","htmlConverterFeatureProps","sanitizedServerFeatureProps","defaultConvertersWithConvertersFromFeatures","converter","features","converters","html","push","finalConverters","defaultConverters","foundNodeTypes","filteredConverters","reverse","nodeTypes","length","newConverter","filter","nodeType","includes","lexicalHTML","lexicalFieldName","args","name","hidden","storeInDB","type","admin","editorOptions","language","hooks","afterRead","currentDepth","depth","draft","field","overrideAccess","req","showHiddenFields","siblingData","siblingFields","Error","lexicalField","find","lexicalFieldData","config","editor","has","data","beforeChange","value"],"sources":["../../../../../src/features/converters/lexicalToHtml_deprecated/field/index.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { Field, RichTextField } from 'payload'\n\nimport type { SanitizedServerEditorConfig } from '../../../../lexical/config/types.js'\nimport type { AdapterProps, LexicalRichTextAdapter } from '../../../../types.js'\nimport type { HTMLConverter } from '../converter/types.js'\nimport type { HTMLConverterFeatureProps } from '../index.js'\n\nimport { defaultHTMLConverters } from '../converter/defaultConverters.js'\nimport { convertLexicalToHTML } from '../converter/index.js'\n\ntype Args = {\n /**\n * Whether the lexicalHTML field should be hidden in the admin panel\n *\n * @default true\n */\n hidden?: boolean\n name: string\n /**\n * Whether the HTML should be stored in the database\n *\n * @default false\n */\n storeInDB?: boolean\n}\n\n/**\n * Combines the default HTML converters with HTML converters found in the features, and with HTML converters configured in the htmlConverter feature.\n *\n * @deprecated - will be removed in 4.0\n * @param editorConfig\n */\nexport const consolidateHTMLConverters = ({\n editorConfig,\n}: {\n editorConfig: SanitizedServerEditorConfig\n}): HTMLConverter[] => {\n const htmlConverterFeature = editorConfig.resolvedFeatureMap.get('htmlConverter')\n const htmlConverterFeatureProps: HTMLConverterFeatureProps =\n htmlConverterFeature?.sanitizedServerFeatureProps\n\n const defaultConvertersWithConvertersFromFeatures = [...defaultHTMLConverters]\n\n for (const converter of editorConfig.features.converters.html) {\n defaultConvertersWithConvertersFromFeatures.push(converter)\n }\n\n const finalConverters =\n htmlConverterFeatureProps?.converters &&\n typeof htmlConverterFeatureProps?.converters === 'function'\n ? htmlConverterFeatureProps.converters({\n defaultConverters: defaultConvertersWithConvertersFromFeatures,\n })\n : (htmlConverterFeatureProps?.converters as HTMLConverter[]) ||\n defaultConvertersWithConvertersFromFeatures\n\n // filter converters by nodeTypes. The last converter in the list wins. If there are multiple converters for the same nodeType, the last one will be used and the node types will be removed from\n // previous converters. If previous converters do not have any nodeTypes left, they will be removed from the list.\n // This guarantees that user-added converters which are added after the default ones will always have precedence\n const foundNodeTypes: string[] = []\n const filteredConverters: HTMLConverter[] = []\n for (const converter of finalConverters.reverse()) {\n if (!converter.nodeTypes?.length) {\n continue\n }\n const newConverter: HTMLConverter = {\n converter: converter.converter,\n nodeTypes: [...converter.nodeTypes],\n }\n newConverter.nodeTypes = newConverter.nodeTypes.filter((nodeType) => {\n if (foundNodeTypes.includes(nodeType)) {\n return false\n }\n foundNodeTypes.push(nodeType)\n return true\n })\n\n if (newConverter.nodeTypes.length) {\n filteredConverters.push(newConverter)\n }\n }\n\n return filteredConverters\n}\n\n/**\n * @deprecated - will be removed in 4.0\n */\nexport const lexicalHTML: (\n /**\n * A string which matches the lexical field name you want to convert to HTML.\n *\n * This has to be a sibling field of this lexicalHTML field - otherwise, it won't be able to find the lexical field.\n **/\n lexicalFieldName: string,\n args: Args,\n) => Field = (lexicalFieldName, args) => {\n const { name = 'lexicalHTML', hidden = true, storeInDB = false } = args\n return {\n name,\n type: 'code',\n admin: {\n editorOptions: {\n language: 'html',\n },\n hidden,\n },\n hooks: {\n afterRead: [\n async ({\n currentDepth,\n depth,\n draft,\n field,\n overrideAccess,\n req,\n showHiddenFields,\n siblingData,\n siblingFields,\n }) => {\n if (!siblingFields) {\n throw new Error(\n `Could not find sibling fields of current lexicalHTML field with name ${field?.name}`,\n )\n }\n\n const lexicalField: RichTextField<SerializedEditorState, AdapterProps> =\n siblingFields.find(\n (field) => 'name' in field && field.name === lexicalFieldName,\n ) as RichTextField<SerializedEditorState, AdapterProps>\n\n const lexicalFieldData: SerializedEditorState = siblingData[lexicalFieldName]\n\n if (!lexicalFieldData) {\n return ''\n }\n\n if (!lexicalField) {\n throw new Error(\n 'You cannot use the lexicalHTML field because the referenced lexical field was not found',\n )\n }\n\n const config = (lexicalField?.editor as LexicalRichTextAdapter)?.editorConfig\n\n if (!config) {\n throw new Error(\n 'The linked lexical field does not have an editorConfig. This is needed for the lexicalHTML field.',\n )\n }\n\n if (!config?.resolvedFeatureMap?.has('htmlConverter')) {\n throw new Error(\n 'You cannot use the lexicalHTML field because the linked lexical field does not have a HTMLConverterFeature',\n )\n }\n\n const finalConverters = consolidateHTMLConverters({\n editorConfig: config,\n })\n\n return await convertLexicalToHTML({\n converters: finalConverters,\n currentDepth,\n data: lexicalFieldData,\n depth,\n draft,\n overrideAccess,\n req,\n showHiddenFields,\n })\n },\n ],\n beforeChange: [\n ({ siblingData, value }) => {\n if (storeInDB) {\n return value\n }\n delete siblingData[name]\n return null\n },\n ],\n },\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/converters/lexicalToHtml_deprecated/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAIzD,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EACP,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE;QAAE,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;KAAE,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,GAC9F,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;CACzB,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,oBAAoB,+HAG/B,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["createServerFeature","HTMLConverterFeature","feature","key"],"sources":["../../../../src/features/converters/lexicalToHtml_deprecated/index.ts"],"sourcesContent":["import type { HTMLConverter } from './converter/types.js'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\n\nexport type HTMLConverterFeatureProps = {\n converters?:\n | (({ defaultConverters }: { defaultConverters: HTMLConverter<any>[] }) => HTMLConverter<any>[])\n | HTMLConverter<any>[]\n}\n\n// This is just used to save the props on the richText field\n/**\n * @deprecated - will be removed in 4.0\n */\nexport const HTMLConverterFeature = createServerFeature<HTMLConverterFeatureProps>({\n feature: {},\n key: 'htmlConverter',\n})\n"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ;AAQpC;AACA;;;AAGA,OAAO,MAAMC,oBAAA,GAAuBD,mBAAA,CAA+C;EACjFE,OAAA,EAAS,CAAC;EACVC,GAAA,EAAK;AACP","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToJSX/Component/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAK1D,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,gBAAgB,GAChB,mBAAmB,CAAC;IAAE,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,CAAC,GAClD,yBAAyB,CAAC;IAAE,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,IAC7E,CAAC,IAAI,EAAE;IAAE,iBAAiB,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAA;CAAE,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;AAEtF,KAAK,aAAa,GAAG;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,GAAG,qBAAqB,CAAA;IAClD;;OAEG;IACH,IAAI,EAAE,qBAAqB,CAAA;IAC3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IAClC;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAwC5C,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","defaultJSXConverters","convertLexicalToJSX","RichText","className","converters","data","editorState","disableContainer","disableIndent","disableTextAlign","finalConverters","defaultConverters","content","Array","isArray","_jsx","_Fragment"],"sources":["../../../../../src/features/converters/lexicalToJSX/Component/index.tsx"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\n\nimport React from 'react'\n\nimport type {\n DefaultNodeTypes,\n SerializedBlockNode,\n SerializedInlineBlockNode,\n} from '../../../../nodeTypes.js'\nimport type { JSXConverters } from '../converter/types.js'\n\nimport { defaultJSXConverters } from '../converter/defaultConverters.js'\nimport { convertLexicalToJSX } from '../converter/index.js'\n\nexport type JSXConvertersFunction<\n T extends { [key: string]: any; type?: string } =\n | DefaultNodeTypes\n | SerializedBlockNode<{ blockName?: null | string }>\n | SerializedInlineBlockNode<{ blockName?: null | string; blockType: string }>,\n> = (args: { defaultConverters: JSXConverters<DefaultNodeTypes> }) => JSXConverters<T>\n\ntype RichTextProps = {\n /**\n * Override class names for the container.\n */\n className?: string\n /**\n * Custom converters to transform your nodes to JSX. Can be an object or a function that receives the default converters.\n */\n converters?: JSXConverters | JSXConvertersFunction\n /**\n * Serialized editor state to render.\n */\n data: SerializedEditorState\n /**\n * If true, removes the container div wrapper.\n */\n disableContainer?: boolean\n /**\n * If true, disables indentation globally. If an array, disables for specific node `type` values.\n */\n disableIndent?: boolean | string[]\n /**\n * If true, disables text alignment globally. If an array, disables for specific node `type` values.\n */\n disableTextAlign?: boolean | string[]\n}\n\nexport const RichText: React.FC<RichTextProps> = ({\n className,\n converters,\n data: editorState,\n disableContainer,\n disableIndent,\n disableTextAlign,\n}) => {\n if (!editorState) {\n return null\n }\n\n let finalConverters: JSXConverters = {}\n if (converters) {\n if (typeof converters === 'function') {\n finalConverters = converters({ defaultConverters: defaultJSXConverters })\n } else {\n finalConverters = converters\n }\n } else {\n finalConverters = defaultJSXConverters\n }\n\n const content =\n editorState &&\n !Array.isArray(editorState) &&\n typeof editorState === 'object' &&\n 'root' in editorState &&\n convertLexicalToJSX({\n converters: finalConverters,\n data: editorState,\n disableIndent,\n disableTextAlign,\n })\n\n if (disableContainer) {\n return <>{content}</>\n }\n\n return <div className={className ?? 'payload-richtext'}>{content}</div>\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AASlB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,mBAAmB,QAAQ;AAoCpC,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,SAAS;EACTC,UAAU;EACVC,IAAA,EAAMC,WAAW;EACjBC,gBAAgB;EAChBC,aAAa;EACbC;AAAgB,CACjB;EACC,IAAI,CAACH,WAAA,EAAa;IAChB,OAAO;EACT;EAEA,IAAII,eAAA,GAAiC,CAAC;EACtC,IAAIN,UAAA,EAAY;IACd,IAAI,OAAOA,UAAA,KAAe,YAAY;MACpCM,eAAA,GAAkBN,UAAA,CAAW;QAAEO,iBAAA,EAAmBX;MAAqB;IACzE,OAAO;MACLU,eAAA,GAAkBN,UAAA;IACpB;EACF,OAAO;IACLM,eAAA,GAAkBV,oBAAA;EACpB;EAEA,MAAMY,OAAA,GACJN,WAAA,IACA,CAACO,KAAA,CAAMC,OAAO,CAACR,WAAA,KACf,OAAOA,WAAA,KAAgB,YACvB,UAAUA,WAAA,IACVL,mBAAA,CAAoB;IAClBG,UAAA,EAAYM,eAAA;IACZL,IAAA,EAAMC,WAAA;IACNE,aAAA;IACAC;EACF;EAEF,IAAIF,gBAAA,EAAkB;IACpB,oBAAOQ,IAAA,CAAAC,SAAA;gBAAGJ;;EACZ;EAEA,oBAAOG,IAAA,CAAC;IAAIZ,SAAA,EAAWA,SAAA,IAAa;cAAqBS;;AAC3D","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockquote.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/blockquote.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,mBAAmB,CAQrE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockquote.js","names":["BlockquoteJSXConverter","quote","node","nodesToJSX","children","nodes","_jsx"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/blockquote.tsx"],"sourcesContent":["import type { SerializedQuoteNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const BlockquoteJSXConverter: JSXConverters<SerializedQuoteNode> = {\n quote: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n return <blockquote>{children}</blockquote>\n },\n}\n"],"mappings":";AAGA,OAAO,MAAMA,sBAAA,GAA6D;EACxEC,KAAA,EAAOA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAC1B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,oBAAOE,IAAA,CAAC;gBAAYF;;EACtB;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAUpE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heading.js","names":["HeadingJSXConverter","heading","node","nodesToJSX","children","nodes","NodeTag","tag","_jsx"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/heading.tsx"],"sourcesContent":["import type { SerializedHeadingNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const HeadingJSXConverter: JSXConverters<SerializedHeadingNode> = {\n heading: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n const NodeTag = node.tag\n\n return <NodeTag>{children}</NodeTag>\n },\n}\n"],"mappings":";AAGA,OAAO,MAAMA,mBAAA,GAA4D;EACvEC,OAAA,EAASA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAC5B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,MAAME,OAAA,GAAUJ,IAAA,CAAKK,GAAG;IAExB,oBAAOC,IAAA,CAACF,OAAA;gBAASF;;EACnB;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizontalRule.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/horizontalRule.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,4BAA4B,CAElF,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizontalRule.js","names":["HorizontalRuleJSXConverter","horizontalrule","_jsx"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/horizontalRule.tsx"],"sourcesContent":["import type { SerializedHorizontalRuleNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\nexport const HorizontalRuleJSXConverter: JSXConverters<SerializedHorizontalRuleNode> = {\n horizontalrule: <hr />,\n}\n"],"mappings":";AAEA,OAAO,MAAMA,0BAAA,GAA0E;EACrFC,cAAA,eAAgBC,IAAA,CAAC;AACnB","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linebreak.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/linebreak.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAExE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linebreak.js","names":["LinebreakJSXConverter","linebreak","_jsx"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/linebreak.tsx"],"sourcesContent":["import type { SerializedLineBreakNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const LinebreakJSXConverter: JSXConverters<SerializedLineBreakNode> = {\n linebreak: <br />,\n}\n"],"mappings":";AAGA,OAAO,MAAMA,qBAAA,GAAgE;EAC3EC,SAAA,eAAWC,IAAA,CAAC;AACd","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,gBAAgB,EAAE,CAAC,IAAI,EAAE;IACpC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,kBAAkB,CAAA;KAAE,KAAK,MAAM,CAAA;CACvE,KAAK,aAAa,CAAC,sBAAsB,GAAG,kBAAkB,CAyC7D,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","names":["LinkJSXConverter","internalDocToHref","autolink","node","nodesToJSX","children","nodes","rel","fields","newTab","undefined","target","_jsx","href","url","link","linkType","linkNode","console","error"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/link.tsx"],"sourcesContent":["import type { SerializedAutoLinkNode, SerializedLinkNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const LinkJSXConverter: (args: {\n internalDocToHref?: (args: { linkNode: SerializedLinkNode }) => string\n}) => JSXConverters<SerializedAutoLinkNode | SerializedLinkNode> = ({ internalDocToHref }) => ({\n autolink: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n const rel: string | undefined = node.fields.newTab ? 'noopener noreferrer' : undefined\n const target: string | undefined = node.fields.newTab ? '_blank' : undefined\n\n return (\n <a href={node.fields.url} {...{ rel, target }}>\n {children}\n </a>\n )\n },\n link: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n const rel: string | undefined = node.fields.newTab ? 'noopener noreferrer' : undefined\n const target: string | undefined = node.fields.newTab ? '_blank' : undefined\n\n let href: string = node.fields.url ?? ''\n if (node.fields.linkType === 'internal') {\n if (internalDocToHref) {\n href = internalDocToHref({ linkNode: node })\n } else {\n console.error(\n 'Lexical => JSX converter: Link converter: found internal link, but internalDocToHref is not provided',\n )\n href = '#' // fallback\n }\n }\n\n return (\n <a href={href} {...{ rel, target }}>\n {children}\n </a>\n )\n },\n})\n"],"mappings":";AAGA,OAAO,MAAMA,gBAAA,GAEsDA,CAAC;EAAEC;AAAiB,CAAE,MAAM;EAC7FC,QAAA,EAAUA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAC7B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,MAAME,GAAA,GAA0BJ,IAAA,CAAKK,MAAM,CAACC,MAAM,GAAG,wBAAwBC,SAAA;IAC7E,MAAMC,MAAA,GAA6BR,IAAA,CAAKK,MAAM,CAACC,MAAM,GAAG,WAAWC,SAAA;IAEnE,oBACEE,IAAA,CAAC;MAAEC,IAAA,EAAMV,IAAA,CAAKK,MAAM,CAACM,GAAG;MAAQP,GAAA;MAAKI,MAAA;gBAClCN;;EAGP;EACAU,IAAA,EAAMA,CAAC;IAAEZ,IAAI;IAAEC;EAAU,CAAE;IACzB,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,MAAME,GAAA,GAA0BJ,IAAA,CAAKK,MAAM,CAACC,MAAM,GAAG,wBAAwBC,SAAA;IAC7E,MAAMC,MAAA,GAA6BR,IAAA,CAAKK,MAAM,CAACC,MAAM,GAAG,WAAWC,SAAA;IAEnE,IAAIG,IAAA,GAAeV,IAAA,CAAKK,MAAM,CAACM,GAAG,IAAI;IACtC,IAAIX,IAAA,CAAKK,MAAM,CAACQ,QAAQ,KAAK,YAAY;MACvC,IAAIf,iBAAA,EAAmB;QACrBY,IAAA,GAAOZ,iBAAA,CAAkB;UAAEgB,QAAA,EAAUd;QAAK;MAC5C,OAAO;QACLe,OAAA,CAAQC,KAAK,CACX;QAEFN,IAAA,GAAO,IAAI;QAAA;MACb;IACF;IAEA,oBACED,IAAA,CAAC;MAAEC,IAAA,EAAMA,IAAA;MAAYN,GAAA;MAAKI,MAAA;gBACvBN;;EAGP;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/list.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,sBAAsB,GAAG,kBAAkB,CAqDvF,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","names":["v4","uuidv4","ListJSXConverter","list","node","nodesToJSX","children","nodes","NodeTag","tag","_jsx","className","listType","listitem","parent","hasSubLists","some","child","type","uuid","checked","role","style","listStyleType","tabIndex","value","_jsxs","_Fragment","id","readOnly","htmlFor","undefined"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/list.tsx"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid'\n\nimport type { SerializedListItemNode, SerializedListNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const ListJSXConverter: JSXConverters<SerializedListItemNode | SerializedListNode> = {\n list: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n const NodeTag = node.tag\n\n return <NodeTag className={`list-${node?.listType}`}>{children}</NodeTag>\n },\n listitem: ({ node, nodesToJSX, parent }) => {\n const hasSubLists = node.children.some((child) => child.type === 'list')\n\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n if ('listType' in parent && parent?.listType === 'check') {\n const uuid = uuidv4()\n\n return (\n <li\n aria-checked={node.checked ? 'true' : 'false'}\n className={`list-item-checkbox${node.checked ? ' list-item-checkbox-checked' : ' list-item-checkbox-unchecked'}${hasSubLists ? ' nestedListItem' : ''}`}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n role=\"checkbox\"\n style={{ listStyleType: 'none' }}\n tabIndex={-1}\n value={node?.value}\n >\n {hasSubLists ? (\n children\n ) : (\n <>\n <input checked={node.checked} id={uuid} readOnly={true} type=\"checkbox\" />\n <label htmlFor={uuid}>{children}</label>\n <br />\n </>\n )}\n </li>\n )\n } else {\n return (\n <li\n className={`${hasSubLists ? 'nestedListItem' : ''}`}\n style={hasSubLists ? { listStyleType: 'none' } : undefined}\n value={node?.value}\n >\n {children}\n </li>\n )\n }\n },\n}\n"],"mappings":";AAAA,SAASA,EAAA,IAAMC,MAAM,QAAQ;AAK7B,OAAO,MAAMC,gBAAA,GAA+E;EAC1FC,IAAA,EAAMA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IACzB,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,MAAME,OAAA,GAAUJ,IAAA,CAAKK,GAAG;IAExB,oBAAOC,IAAA,CAACF,OAAA;MAAQG,SAAA,EAAW,QAAQP,IAAA,EAAMQ,QAAA,EAAU;gBAAGN;;EACxD;EACAO,QAAA,EAAUA,CAAC;IAAET,IAAI;IAAEC,UAAU;IAAES;EAAM,CAAE;IACrC,MAAMC,WAAA,GAAcX,IAAA,CAAKE,QAAQ,CAACU,IAAI,CAAEC,KAAA,IAAUA,KAAA,CAAMC,IAAI,KAAK;IAEjE,MAAMZ,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,IAAI,cAAcQ,MAAA,IAAUA,MAAA,EAAQF,QAAA,KAAa,SAAS;MACxD,MAAMO,IAAA,GAAOlB,MAAA;MAEb,oBACES,IAAA,CAAC;QACC,gBAAcN,IAAA,CAAKgB,OAAO,GAAG,SAAS;QACtCT,SAAA,EAAW,qBAAqBP,IAAA,CAAKgB,OAAO,GAAG,gCAAgC,kCAAkCL,WAAA,GAAc,oBAAoB,IAAI;QACvJ;QACAM,IAAA,EAAK;QACLC,KAAA,EAAO;UAAEC,aAAA,EAAe;QAAO;QAC/BC,QAAA,EAAU,CAAC;QACXC,KAAA,EAAOrB,IAAA,EAAMqB,KAAA;kBAEZV,WAAA,GACCT,QAAA,gBAEAoB,KAAA,CAAAC,SAAA;kCACEjB,IAAA,CAAC;YAAMU,OAAA,EAAShB,IAAA,CAAKgB,OAAO;YAAEQ,EAAA,EAAIT,IAAA;YAAMU,QAAA,EAAU;YAAMX,IAAA,EAAK;2BAC7DR,IAAA,CAAC;YAAMoB,OAAA,EAASX,IAAA;sBAAOb;2BACvBI,IAAA,CAAC;;;IAKX,OAAO;MACL,oBACEA,IAAA,CAAC;QACCC,SAAA,EAAW,GAAGI,WAAA,GAAc,mBAAmB,IAAI;QACnDO,KAAA,EAAOP,WAAA,GAAc;UAAEQ,aAAA,EAAe;QAAO,IAAIQ,SAAA;QACjDN,KAAA,EAAOrB,IAAA,EAAMqB,KAAA;kBAEZnB;;IAGP;EACF;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/paragraph.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAgBxE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paragraph.js","names":["ParagraphJSXConverter","paragraph","node","nodesToJSX","children","nodes","length","_jsx"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/paragraph.tsx"],"sourcesContent":["import type { SerializedParagraphNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const ParagraphJSXConverter: JSXConverters<SerializedParagraphNode> = {\n paragraph: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n if (!children?.length) {\n return (\n <p>\n <br />\n </p>\n )\n }\n\n return <p>{children}</p>\n },\n}\n"],"mappings":";AAGA,OAAO,MAAMA,qBAAA,GAAgE;EAC3EC,SAAA,EAAWA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAC9B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,IAAI,CAACA,QAAA,EAAUE,MAAA,EAAQ;MACrB,oBACEC,IAAA,CAAC;kBACC,aAAAA,IAAA,CAAC;;IAGP;IAEA,oBAAOA,IAAA,CAAC;gBAAGH;;EACb;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAE5D,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.js","names":["TabJSXConverter","tab"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/tab.tsx"],"sourcesContent":["import type { SerializedTabNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const TabJSXConverter: JSXConverters<SerializedTabNode> = {\n tab: '\\t',\n}\n"],"mappings":"AAGA,OAAO,MAAMA,eAAA,GAAoD;EAC/DC,GAAA,EAAK;AACP","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAC3C,uBAAuB,GAAG,mBAAmB,GAAG,sBAAsB,CAgDvE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","names":["TableJSXConverter","table","node","nodesToJSX","children","nodes","_jsx","className","style","borderCollapse","tablecell","TagName","headerState","headerStateClass","backgroundColor","undefined","border","padding","colSpan","rowSpan","tablerow"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/table.tsx"],"sourcesContent":["import type {\n SerializedTableCellNode,\n SerializedTableNode,\n SerializedTableRowNode,\n} from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const TableJSXConverter: JSXConverters<\n SerializedTableCellNode | SerializedTableNode | SerializedTableRowNode\n> = {\n table: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n return (\n <div className=\"lexical-table-container\">\n <table className=\"lexical-table\" style={{ borderCollapse: 'collapse' }}>\n <tbody>{children}</tbody>\n </table>\n </div>\n )\n },\n tablecell: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n\n const TagName = node.headerState > 0 ? 'th' : 'td' // Use capital letter to denote a component\n const headerStateClass = `lexical-table-cell-header-${node.headerState}`\n const style = {\n backgroundColor: node.backgroundColor || undefined, // Use undefined to avoid setting the style property if not needed\n border: '1px solid #ccc',\n padding: '8px',\n }\n\n // Note: JSX does not support setting attributes directly as strings, so you must convert the colSpan and rowSpan to numbers\n const colSpan = node.colSpan && node.colSpan > 1 ? node.colSpan : undefined\n const rowSpan = node.rowSpan && node.rowSpan > 1 ? node.rowSpan : undefined\n\n return (\n <TagName\n className={`lexical-table-cell ${headerStateClass}`}\n colSpan={colSpan} // colSpan and rowSpan will only be added if they are not null\n rowSpan={rowSpan}\n style={style}\n >\n {children}\n </TagName>\n )\n },\n tablerow: ({ node, nodesToJSX }) => {\n const children = nodesToJSX({\n nodes: node.children,\n })\n return <tr className=\"lexical-table-row\">{children}</tr>\n },\n}\n"],"mappings":";AAOA,OAAO,MAAMA,iBAAA,GAET;EACFC,KAAA,EAAOA,CAAC;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAC1B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IACA,oBACEE,IAAA,CAAC;MAAIC,SAAA,EAAU;gBACb,aAAAD,IAAA,CAAC;QAAMC,SAAA,EAAU;QAAgBC,KAAA,EAAO;UAAEC,cAAA,EAAgB;QAAW;kBACnE,aAAAH,IAAA,CAAC;oBAAOF;;;;EAIhB;EACAM,SAAA,EAAWA,CAAC;IAAER,IAAI;IAAEC;EAAU,CAAE;IAC9B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IAEA,MAAMO,OAAA,GAAUT,IAAA,CAAKU,WAAW,GAAG,IAAI,OAAO,KAAK;IAAA;IACnD,MAAMC,gBAAA,GAAmB,6BAA6BX,IAAA,CAAKU,WAAW,EAAE;IACxE,MAAMJ,KAAA,GAAQ;MACZM,eAAA,EAAiBZ,IAAA,CAAKY,eAAe,IAAIC,SAAA;MACzCC,MAAA,EAAQ;MACRC,OAAA,EAAS;IACX;IAEA;IACA,MAAMC,OAAA,GAAUhB,IAAA,CAAKgB,OAAO,IAAIhB,IAAA,CAAKgB,OAAO,GAAG,IAAIhB,IAAA,CAAKgB,OAAO,GAAGH,SAAA;IAClE,MAAMI,OAAA,GAAUjB,IAAA,CAAKiB,OAAO,IAAIjB,IAAA,CAAKiB,OAAO,GAAG,IAAIjB,IAAA,CAAKiB,OAAO,GAAGJ,SAAA;IAElE,oBACET,IAAA,CAACK,OAAA;MACCJ,SAAA,EAAW,sBAAsBM,gBAAA,EAAkB;MACnDK,OAAA,EAASA,OAAA;MACTC,OAAA,EAASA,OAAA;MACTX,KAAA,EAAOA,KAAA;gBAENJ;;EAGP;EACAgB,QAAA,EAAUA,CAAC;IAAElB,IAAI;IAAEC;EAAU,CAAE;IAC7B,MAAMC,QAAA,GAAWD,UAAA,CAAW;MAC1BE,KAAA,EAAOH,IAAA,CAAKE;IACd;IACA,oBAAOE,IAAA,CAAC;MAAGC,SAAA,EAAU;gBAAqBH;;EAC5C;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/text.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIhD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CA4B9D,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","names":["React","NodeFormat","TextJSXConverter","text","node","format","IS_BOLD","_jsx","IS_ITALIC","IS_STRIKETHROUGH","style","textDecoration","IS_UNDERLINE","IS_CODE","IS_SUBSCRIPT","IS_SUPERSCRIPT"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/text.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { SerializedTextNode } from '../../../../../nodeTypes.js'\nimport type { JSXConverters } from '../types.js'\n\nimport { NodeFormat } from '../../../../../lexical/utils/nodeFormat.js'\n\nexport const TextJSXConverter: JSXConverters<SerializedTextNode> = {\n text: ({ node }) => {\n let text: React.ReactNode = node.text\n\n if (node.format & NodeFormat.IS_BOLD) {\n text = <strong>{text}</strong>\n }\n if (node.format & NodeFormat.IS_ITALIC) {\n text = <em>{text}</em>\n }\n if (node.format & NodeFormat.IS_STRIKETHROUGH) {\n text = <span style={{ textDecoration: 'line-through' }}>{text}</span>\n }\n if (node.format & NodeFormat.IS_UNDERLINE) {\n text = <span style={{ textDecoration: 'underline' }}>{text}</span>\n }\n if (node.format & NodeFormat.IS_CODE) {\n text = <code>{text}</code>\n }\n if (node.format & NodeFormat.IS_SUBSCRIPT) {\n text = <sub>{text}</sub>\n }\n if (node.format & NodeFormat.IS_SUPERSCRIPT) {\n text = <sup>{text}</sup>\n }\n\n return text\n },\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAKlB,SAASC,UAAU,QAAQ;AAE3B,OAAO,MAAMC,gBAAA,GAAsD;EACjEC,IAAA,EAAMA,CAAC;IAAEC;EAAI,CAAE;IACb,IAAID,IAAA,GAAwBC,IAAA,CAAKD,IAAI;IAErC,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWK,OAAO,EAAE;MACpCH,IAAA,gBAAOI,IAAA,CAAC;kBAAQJ;;IAClB;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWO,SAAS,EAAE;MACtCL,IAAA,gBAAOI,IAAA,CAAC;kBAAIJ;;IACd;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWQ,gBAAgB,EAAE;MAC7CN,IAAA,gBAAOI,IAAA,CAAC;QAAKG,KAAA,EAAO;UAAEC,cAAA,EAAgB;QAAe;kBAAIR;;IAC3D;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWW,YAAY,EAAE;MACzCT,IAAA,gBAAOI,IAAA,CAAC;QAAKG,KAAA,EAAO;UAAEC,cAAA,EAAgB;QAAY;kBAAIR;;IACxD;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWY,OAAO,EAAE;MACpCV,IAAA,gBAAOI,IAAA,CAAC;kBAAMJ;;IAChB;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWa,YAAY,EAAE;MACzCX,IAAA,gBAAOI,IAAA,CAAC;kBAAKJ;;IACf;IACA,IAAIC,IAAA,CAAKC,MAAM,GAAGJ,UAAA,CAAWc,cAAc,EAAE;MAC3CZ,IAAA,gBAAOI,IAAA,CAAC;kBAAKJ;;IACf;IAEA,OAAOA,IAAA;EACT;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/upload.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,oBAAoB,CA6ElE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","names":["UploadJSXConverter","upload","node","uploadNode","value","uploadDoc","url","mimeType","startsWith","_jsx","href","rel","filename","sizes","Object","keys","length","alt","height","src","width","pictureJSX","size","imageSize","filesize","imageSizeURL","push","media","srcSet","type"],"sources":["../../../../../../src/features/converters/lexicalToJSX/converter/converters/upload.tsx"],"sourcesContent":["import type { FileData, FileSizeImproved, TypeWithID } from 'payload'\n\nimport type { SerializedUploadNode } from '../../../../../nodeTypes.js'\nimport type { UploadDataImproved } from '../../../../upload/server/nodes/UploadNode.js'\nimport type { JSXConverters } from '../types.js'\n\nexport const UploadJSXConverter: JSXConverters<SerializedUploadNode> = {\n upload: ({ node }) => {\n // TO-DO (v4): SerializedUploadNode should use UploadData_P4\n const uploadNode = node as UploadDataImproved\n if (typeof uploadNode.value !== 'object') {\n return null\n }\n\n const uploadDoc = uploadNode.value as FileData & TypeWithID\n\n const url = uploadDoc.url\n\n /**\n * If the upload is not an image, return a link to the upload\n */\n if (!uploadDoc.mimeType.startsWith('image')) {\n return (\n <a href={url} rel=\"noopener noreferrer\">\n {uploadDoc.filename}\n </a>\n )\n }\n\n /**\n * If the upload is a simple image with no different sizes, return a simple img tag\n */\n if (!uploadDoc.sizes || !Object.keys(uploadDoc.sizes).length) {\n return (\n <img alt={uploadDoc.filename} height={uploadDoc.height} src={url} width={uploadDoc.width} />\n )\n }\n\n /**\n * If the upload is an image with different sizes, return a picture element\n */\n const pictureJSX: React.ReactNode[] = []\n\n // Iterate through each size in the data.sizes object\n for (const size in uploadDoc.sizes) {\n const imageSize = uploadDoc.sizes[size] as FileSizeImproved\n\n // Skip if any property of the size object is null\n if (\n !imageSize ||\n !imageSize.width ||\n !imageSize.height ||\n !imageSize.mimeType ||\n !imageSize.filesize ||\n !imageSize.filename ||\n !imageSize.url\n ) {\n continue\n }\n const imageSizeURL = imageSize?.url\n\n pictureJSX.push(\n <source\n key={size}\n media={`(max-width: ${imageSize.width}px)`}\n srcSet={imageSizeURL}\n type={imageSize.mimeType}\n />,\n )\n }\n\n // Add the default img tag\n pictureJSX.push(\n <img\n alt={uploadDoc?.filename}\n height={uploadDoc?.height}\n key={'image'}\n src={url}\n width={uploadDoc?.width}\n />,\n )\n return <picture>{pictureJSX}</picture>\n },\n}\n"],"mappings":";AAMA,OAAO,MAAMA,kBAAA,GAA0D;EACrEC,MAAA,EAAQA,CAAC;IAAEC;EAAI,CAAE;IACf;IACA,MAAMC,UAAA,GAAaD,IAAA;IACnB,IAAI,OAAOC,UAAA,CAAWC,KAAK,KAAK,UAAU;MACxC,OAAO;IACT;IAEA,MAAMC,SAAA,GAAYF,UAAA,CAAWC,KAAK;IAElC,MAAME,GAAA,GAAMD,SAAA,CAAUC,GAAG;IAEzB;;;IAGA,IAAI,CAACD,SAAA,CAAUE,QAAQ,CAACC,UAAU,CAAC,UAAU;MAC3C,oBACEC,IAAA,CAAC;QAAEC,IAAA,EAAMJ,GAAA;QAAKK,GAAA,EAAI;kBACfN,SAAA,CAAUO;;IAGjB;IAEA;;;IAGA,IAAI,CAACP,SAAA,CAAUQ,KAAK,IAAI,CAACC,MAAA,CAAOC,IAAI,CAACV,SAAA,CAAUQ,KAAK,EAAEG,MAAM,EAAE;MAC5D,oBACEP,IAAA,CAAC;QAAIQ,GAAA,EAAKZ,SAAA,CAAUO,QAAQ;QAAEM,MAAA,EAAQb,SAAA,CAAUa,MAAM;QAAEC,GAAA,EAAKb,GAAA;QAAKc,KAAA,EAAOf,SAAA,CAAUe;;IAEvF;IAEA;;;IAGA,MAAMC,UAAA,GAAgC,EAAE;IAExC;IACA,KAAK,MAAMC,IAAA,IAAQjB,SAAA,CAAUQ,KAAK,EAAE;MAClC,MAAMU,SAAA,GAAYlB,SAAA,CAAUQ,KAAK,CAACS,IAAA,CAAK;MAEvC;MACA,IACE,CAACC,SAAA,IACD,CAACA,SAAA,CAAUH,KAAK,IAChB,CAACG,SAAA,CAAUL,MAAM,IACjB,CAACK,SAAA,CAAUhB,QAAQ,IACnB,CAACgB,SAAA,CAAUC,QAAQ,IACnB,CAACD,SAAA,CAAUX,QAAQ,IACnB,CAACW,SAAA,CAAUjB,GAAG,EACd;QACA;MACF;MACA,MAAMmB,YAAA,GAAeF,SAAA,EAAWjB,GAAA;MAEhCe,UAAA,CAAWK,IAAI,cACbjB,IAAA,CAAC;QAECkB,KAAA,EAAO,eAAeJ,SAAA,CAAUH,KAAK,KAAK;QAC1CQ,MAAA,EAAQH,YAAA;QACRI,IAAA,EAAMN,SAAA,CAAUhB;SAHXe,IAAA;IAMX;IAEA;IACAD,UAAA,CAAWK,IAAI,cACbjB,IAAA,CAAC;MACCQ,GAAA,EAAKZ,SAAA,EAAWO,QAAA;MAChBM,MAAA,EAAQb,SAAA,EAAWa,MAAA;MAEnBC,GAAA,EAAKb,GAAA;MACLc,KAAA,EAAOf,SAAA,EAAWe;OAFb;IAKT,oBAAOX,IAAA,CAAC;gBAASY;;EACnB;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultConverters.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToJSX/converter/defaultConverters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAc/C,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,gBAAgB,CAYhE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultConverters.js","names":["BlockquoteJSXConverter","HeadingJSXConverter","HorizontalRuleJSXConverter","LinebreakJSXConverter","LinkJSXConverter","ListJSXConverter","ParagraphJSXConverter","TabJSXConverter","TableJSXConverter","TextJSXConverter","UploadJSXConverter","defaultJSXConverters"],"sources":["../../../../../src/features/converters/lexicalToJSX/converter/defaultConverters.ts"],"sourcesContent":["import type { DefaultNodeTypes } from '../../../../nodeTypes.js'\nimport type { JSXConverters } from './types.js'\n\nimport { BlockquoteJSXConverter } from './converters/blockquote.js'\nimport { HeadingJSXConverter } from './converters/heading.js'\nimport { HorizontalRuleJSXConverter } from './converters/horizontalRule.js'\nimport { LinebreakJSXConverter } from './converters/linebreak.js'\nimport { LinkJSXConverter } from './converters/link.js'\nimport { ListJSXConverter } from './converters/list.js'\nimport { ParagraphJSXConverter } from './converters/paragraph.js'\nimport { TabJSXConverter } from './converters/tab.js'\nimport { TableJSXConverter } from './converters/table.js'\nimport { TextJSXConverter } from './converters/text.js'\nimport { UploadJSXConverter } from './converters/upload.js'\n\nexport const defaultJSXConverters: JSXConverters<DefaultNodeTypes> = {\n ...ParagraphJSXConverter,\n ...TextJSXConverter,\n ...LinebreakJSXConverter,\n ...BlockquoteJSXConverter,\n ...TableJSXConverter,\n ...HeadingJSXConverter,\n ...HorizontalRuleJSXConverter,\n ...ListJSXConverter,\n ...LinkJSXConverter({}),\n ...UploadJSXConverter,\n ...TabJSXConverter,\n}\n"],"mappings":"AAGA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,qBAAqB,QAAQ;AACtC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,eAAe,QAAQ;AAChC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,oBAAA,GAAwD;EACnE,GAAGL,qBAAqB;EACxB,GAAGG,gBAAgB;EACnB,GAAGN,qBAAqB;EACxB,GAAGH,sBAAsB;EACzB,GAAGQ,iBAAiB;EACpB,GAAGP,mBAAmB;EACtB,GAAGC,0BAA0B;EAC7B,GAAGG,gBAAgB;EACnB,GAAGD,gBAAA,CAAiB,CAAC,EAAE;EACvB,GAAGM,kBAAkB;EACrB,GAAGH;AACL","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToJSX/converter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAgB,aAAa,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAI9F,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,aAAa,CAAA;IACzB,IAAI,EAAE,qBAAqB,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IAClC,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;CACtC,CAAA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,IAAI,EACJ,aAAa,EACb,gBAAgB,GACjB,EAAE,uBAAuB,GAAG,KAAK,CAAC,SAAS,CAW3C;AAED,wBAAgB,wBAAwB,CAAC,EACvC,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,KAAK,EACL,MAAM,GACP,EAAE;IACD,UAAU,EAAE,aAAa,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IAClC,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IACrC,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,MAAM,EAAE,+BAA+B,CAAA;CACxC,GAAG,KAAK,CAAC,SAAS,EAAE,CA+HpB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","hasText","convertLexicalToJSX","converters","data","disableIndent","disableTextAlign","convertLexicalNodesToJSX","nodes","root","children","parent","_jsx","_Fragment","unknownConverter","unknown","jsxArray","map","node","i","converterForNode","type","blocks","fields","blockType","console","error","inlineBlocks","reactNode","converted","childIndex","nodesToJSX","args","style","Array","isArray","includes","format","textAlign","indent","paddingInlineStart","Number","isValidElement","newStyle","props","cloneElement","key","filter","Boolean"],"sources":["../../../../../src/features/converters/lexicalToJSX/converter/index.tsx"],"sourcesContent":["import type { SerializedEditorState, SerializedLexicalNode } from 'lexical'\n\nimport React from 'react'\n\nimport type { SerializedBlockNode, SerializedInlineBlockNode } from '../../../../nodeTypes.js'\nimport type { JSXConverter, JSXConverters, SerializedLexicalNodeWithParent } from './types.js'\n\nimport { hasText } from '../../../../validate/hasText.js'\n\nexport type ConvertLexicalToJSXArgs = {\n converters: JSXConverters\n data: SerializedEditorState\n disableIndent?: boolean | string[]\n disableTextAlign?: boolean | string[]\n}\n\nexport function convertLexicalToJSX({\n converters,\n data,\n disableIndent,\n disableTextAlign,\n}: ConvertLexicalToJSXArgs): React.ReactNode {\n if (hasText(data)) {\n return convertLexicalNodesToJSX({\n converters,\n disableIndent,\n disableTextAlign,\n nodes: data?.root?.children,\n parent: data?.root,\n })\n }\n return <></>\n}\n\nexport function convertLexicalNodesToJSX({\n converters,\n disableIndent,\n disableTextAlign,\n nodes,\n parent,\n}: {\n converters: JSXConverters\n disableIndent?: boolean | string[]\n disableTextAlign?: boolean | string[]\n nodes: SerializedLexicalNode[]\n parent: SerializedLexicalNodeWithParent\n}): React.ReactNode[] {\n const unknownConverter: JSXConverter<any> = converters.unknown as JSXConverter<any>\n\n const jsxArray: React.ReactNode[] = nodes.map((node, i) => {\n let converterForNode: JSXConverter<any> | undefined\n if (node.type === 'block') {\n converterForNode = converters?.blocks?.[(node as SerializedBlockNode)?.fields?.blockType]\n if (!converterForNode) {\n console.error(\n `Lexical => JSX converter: Blocks converter: found ${(node as SerializedBlockNode)?.fields?.blockType} block, but no converter is provided`,\n )\n }\n } else if (node.type === 'inlineBlock') {\n converterForNode =\n converters?.inlineBlocks?.[(node as SerializedInlineBlockNode)?.fields?.blockType]\n if (!converterForNode) {\n console.error(\n `Lexical => JSX converter: Inline Blocks converter: found ${(node as SerializedInlineBlockNode)?.fields?.blockType} inline block, but no converter is provided`,\n )\n }\n } else {\n converterForNode = converters[node.type] as JSXConverter<any>\n }\n\n try {\n if (!converterForNode && unknownConverter) {\n converterForNode = unknownConverter\n }\n\n let reactNode: React.ReactNode\n if (converterForNode) {\n const converted =\n typeof converterForNode === 'function'\n ? converterForNode({\n childIndex: i,\n converters,\n node,\n nodesToJSX: (args) => {\n return convertLexicalNodesToJSX({\n converters: args.converters ?? converters,\n disableIndent: args.disableIndent ?? disableIndent,\n disableTextAlign: args.disableTextAlign ?? disableTextAlign,\n nodes: args.nodes,\n parent: args.parent ?? {\n ...node,\n parent,\n },\n })\n },\n parent,\n })\n : converterForNode\n reactNode = converted\n } else {\n reactNode = <span key={i}>unknown node</span>\n }\n\n const style: React.CSSProperties = {}\n\n // Check if disableTextAlign is not true and does not include node type\n if (\n !disableTextAlign &&\n (!Array.isArray(disableTextAlign) || !disableTextAlign?.includes(node.type))\n ) {\n if ('format' in node && node.format) {\n switch (node.format) {\n case 'center':\n style.textAlign = 'center'\n break\n case 'end':\n style.textAlign = 'right'\n break\n case 'justify':\n style.textAlign = 'justify'\n break\n case 'left':\n //style.textAlign = 'left'\n // Do nothing, as left is the default\n break\n case 'right':\n style.textAlign = 'right'\n break\n case 'start':\n style.textAlign = 'left'\n break\n }\n }\n }\n\n if (\n !disableIndent &&\n (!Array.isArray(disableIndent) || !disableIndent?.includes(node.type))\n ) {\n if ('indent' in node && node.indent && node.type !== 'listitem') {\n style.paddingInlineStart = `${Number(node.indent) * 2}em`\n }\n }\n\n if (React.isValidElement(reactNode)) {\n // Inject style into reactNode\n if (style.textAlign || style.paddingInlineStart) {\n const newStyle = {\n ...style,\n // @ts-expect-error type better later\n ...(reactNode?.props?.style ?? {}),\n // reactNode style comes after, thus a textAlign specified in the converter has priority over the one we inject here\n }\n\n return React.cloneElement(reactNode, {\n key: i,\n // @ts-expect-error type better later\n style: newStyle,\n })\n }\n return React.cloneElement(reactNode, {\n key: i,\n })\n }\n\n return reactNode\n } catch (error) {\n console.error('Error converting lexical node to JSX:', error, 'node:', node)\n return null\n }\n })\n\n return jsxArray.filter(Boolean)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToJSX/converter/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/features/converters/lexicalToJSX/converter/types.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\n\nimport type {\n DefaultNodeTypes,\n SerializedBlockNode,\n SerializedInlineBlockNode,\n} from '../../../../nodeTypes.js'\nexport type JSXConverter<T extends { [key: string]: any; type?: string } = SerializedLexicalNode> =\n | ((args: {\n childIndex: number\n converters: JSXConverters\n node: T\n nodesToJSX: (args: {\n converters?: JSXConverters\n disableIndent?: boolean | string[]\n disableTextAlign?: boolean | string[]\n nodes: SerializedLexicalNode[]\n parent?: SerializedLexicalNodeWithParent\n }) => React.ReactNode[]\n parent: SerializedLexicalNodeWithParent\n }) => React.ReactNode)\n | React.ReactNode\n\nexport type JSXConverters<\n T extends { [key: string]: any; type?: string } =\n | DefaultNodeTypes\n | SerializedBlockNode<{ blockName?: null | string; blockType: string }> // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n | SerializedInlineBlockNode<{ blockName?: null | string; blockType: string }>, // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n> = {\n [key: string]:\n | {\n [blockSlug: string]: JSXConverter<any>\n }\n | JSXConverter<any>\n | undefined\n} & {\n [nodeType in Exclude<NonNullable<T['type']>, 'block' | 'inlineBlock'>]?: JSXConverter<\n Extract<T, { type: nodeType }>\n >\n} & {\n blocks?: {\n [K in Extract<\n Extract<T, { type: 'block' }> extends SerializedBlockNode<infer B>\n ? B extends { blockType: string }\n ? B['blockType']\n : never\n : never,\n string\n >]?: JSXConverter<\n Extract<T, { type: 'block' }> extends SerializedBlockNode<infer B>\n ? SerializedBlockNode<Extract<B, { blockType: K }>>\n : SerializedBlockNode\n >\n }\n inlineBlocks?: {\n [K in Extract<\n Extract<T, { type: 'inlineBlock' }> extends SerializedInlineBlockNode<infer B>\n ? B extends { blockType: string }\n ? B['blockType']\n : never\n : never,\n string\n >]?: JSXConverter<\n Extract<T, { type: 'inlineBlock' }> extends SerializedInlineBlockNode<infer B>\n ? SerializedInlineBlockNode<Extract<B, { blockType: K }>>\n : SerializedInlineBlockNode\n >\n }\n}\nexport type SerializedLexicalNodeWithParent = {\n parent?: SerializedLexicalNode\n} & SerializedLexicalNode\n"],"mappings":"AAqEA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { SerializedEditorState } from 'lexical';
2
+ import type { SanitizedServerEditorConfig } from '../../../lexical/config/types.js';
3
+ export declare const convertLexicalToMarkdown: ({ data, editorConfig, }: {
4
+ data: SerializedEditorState;
5
+ editorConfig: SanitizedServerEditorConfig;
6
+ }) => string;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/converters/lexicalToMarkdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAIpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAKnF,eAAO,MAAM,wBAAwB,4BAGlC;IACD,IAAI,EAAE,qBAAqB,CAAA;IAC3B,YAAY,EAAE,2BAA2B,CAAA;CAC1C,KAAG,MAoBH,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { createHeadlessEditor } from '@lexical/headless';
2
+ import { getEnabledNodes } from '../../../lexical/nodes/index.js';
3
+ import { $convertToMarkdownString } from '../../../packages/@lexical/markdown/index.js';
4
+ export const convertLexicalToMarkdown = ({
5
+ data,
6
+ editorConfig
7
+ }) => {
8
+ const headlessEditor = createHeadlessEditor({
9
+ nodes: getEnabledNodes({
10
+ editorConfig
11
+ })
12
+ });
13
+ headlessEditor.update(() => {
14
+ headlessEditor.setEditorState(headlessEditor.parseEditorState(data));
15
+ }, {
16
+ discrete: true
17
+ });
18
+ let markdown = '';
19
+ headlessEditor.getEditorState().read(() => {
20
+ markdown = $convertToMarkdownString(editorConfig?.features?.markdownTransformers);
21
+ });
22
+ return markdown;
23
+ };
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["createHeadlessEditor","getEnabledNodes","$convertToMarkdownString","convertLexicalToMarkdown","data","editorConfig","headlessEditor","nodes","update","setEditorState","parseEditorState","discrete","markdown","getEditorState","read","features","markdownTransformers"],"sources":["../../../../src/features/converters/lexicalToMarkdown/index.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\n\nimport { createHeadlessEditor } from '@lexical/headless'\n\nimport type { SanitizedServerEditorConfig } from '../../../lexical/config/types.js'\n\nimport { getEnabledNodes } from '../../../lexical/nodes/index.js'\nimport { $convertToMarkdownString } from '../../../packages/@lexical/markdown/index.js'\n\nexport const convertLexicalToMarkdown = ({\n data,\n editorConfig,\n}: {\n data: SerializedEditorState\n editorConfig: SanitizedServerEditorConfig\n}): string => {\n const headlessEditor = createHeadlessEditor({\n nodes: getEnabledNodes({\n editorConfig,\n }),\n })\n\n headlessEditor.update(\n () => {\n headlessEditor.setEditorState(headlessEditor.parseEditorState(data))\n },\n { discrete: true },\n )\n\n let markdown: string = ''\n headlessEditor.getEditorState().read(() => {\n markdown = $convertToMarkdownString(editorConfig?.features?.markdownTransformers)\n })\n\n return markdown\n}\n"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ;AAIrC,SAASC,eAAe,QAAQ;AAChC,SAASC,wBAAwB,QAAQ;AAEzC,OAAO,MAAMC,wBAAA,GAA2BA,CAAC;EACvCC,IAAI;EACJC;AAAY,CAIb;EACC,MAAMC,cAAA,GAAiBN,oBAAA,CAAqB;IAC1CO,KAAA,EAAON,eAAA,CAAgB;MACrBI;IACF;EACF;EAEAC,cAAA,CAAeE,MAAM,CACnB;IACEF,cAAA,CAAeG,cAAc,CAACH,cAAA,CAAeI,gBAAgB,CAACN,IAAA;EAChE,GACA;IAAEO,QAAA,EAAU;EAAK;EAGnB,IAAIC,QAAA,GAAmB;EACvBN,cAAA,CAAeO,cAAc,GAAGC,IAAI,CAAC;IACnCF,QAAA,GAAWV,wBAAA,CAAyBG,YAAA,EAAcU,QAAA,EAAUC,oBAAA;EAC9D;EAEA,OAAOJ,QAAA;AACT","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ import { convertLexicalToPlaintext } from './sync/index.js';
2
+ function textNode(text, bold) {
3
+ return {
4
+ type: 'text',
5
+ detail: 0,
6
+ format: bold ? 1 : 0,
7
+ mode: 'normal',
8
+ style: '',
9
+ text,
10
+ version: 1
11
+ };
12
+ }
13
+ function linebreakNode() {
14
+ return {
15
+ type: 'linebreak',
16
+ version: 1
17
+ };
18
+ }
19
+ function tabNode() {
20
+ return {
21
+ type: 'tab',
22
+ detail: 0,
23
+ format: 0,
24
+ mode: 'normal',
25
+ style: '',
26
+ text: '',
27
+ version: 1
28
+ };
29
+ }
30
+ function paragraphNode(children) {
31
+ return {
32
+ type: 'paragraph',
33
+ children,
34
+ direction: 'ltr',
35
+ format: '',
36
+ indent: 0,
37
+ textFormat: 0,
38
+ version: 1
39
+ };
40
+ }
41
+ function rootNode(nodes) {
42
+ return {
43
+ root: {
44
+ type: 'root',
45
+ children: nodes,
46
+ direction: 'ltr',
47
+ format: '',
48
+ indent: 0,
49
+ version: 1
50
+ }
51
+ };
52
+ }
53
+ describe('convertLexicalToPlaintext', () => {
54
+ it('ensure paragraph with text is correctly converted', () => {
55
+ const data = rootNode([paragraphNode([textNode('Basic Text')])]);
56
+ const plaintext = convertLexicalToPlaintext({
57
+ data
58
+ });
59
+ console.log('plaintext', plaintext);
60
+ expect(plaintext).toBe('Basic Text');
61
+ });
62
+ it('ensure paragraph with multiple text nodes is correctly converted', () => {
63
+ const data = rootNode([paragraphNode([textNode('Basic Text'), textNode(' Bold', true), textNode(' Text')])]);
64
+ const plaintext = convertLexicalToPlaintext({
65
+ data
66
+ });
67
+ expect(plaintext).toBe('Basic Text Bold Text');
68
+ });
69
+ it('ensure linebreaks are converted correctly', () => {
70
+ const data = rootNode([paragraphNode([textNode('Basic Text'), linebreakNode(), textNode('Next Line')])]);
71
+ const plaintext = convertLexicalToPlaintext({
72
+ data
73
+ });
74
+ expect(plaintext).toBe('Basic Text\nNext Line');
75
+ });
76
+ it('ensure tabs are converted correctly', () => {
77
+ const data = rootNode([paragraphNode([textNode('Basic Text'), tabNode(), textNode('Next Line')])]);
78
+ const plaintext = convertLexicalToPlaintext({
79
+ data
80
+ });
81
+ expect(plaintext).toBe('Basic Text\tNext Line');
82
+ });
83
+ });
84
+ //# sourceMappingURL=convertLexicalToPlaintext.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertLexicalToPlaintext.spec.js","names":["convertLexicalToPlaintext","textNode","text","bold","type","detail","format","mode","style","version","linebreakNode","tabNode","paragraphNode","children","direction","indent","textFormat","rootNode","nodes","root","describe","it","data","plaintext","console","log","expect","toBe"],"sources":["../../../../src/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.ts"],"sourcesContent":["import type {\n DefaultNodeTypes,\n DefaultTypedEditorState,\n SerializedTabNode,\n SerializedParagraphNode,\n SerializedTextNode,\n SerializedLineBreakNode,\n} from '../../../nodeTypes.js'\nimport { convertLexicalToPlaintext } from './sync/index.js'\n\nfunction textNode(text: string, bold?: boolean): SerializedTextNode {\n return {\n type: 'text',\n detail: 0,\n format: bold ? 1 : 0,\n mode: 'normal',\n style: '',\n text,\n version: 1,\n }\n}\n\nfunction linebreakNode(): SerializedLineBreakNode {\n return {\n type: 'linebreak',\n version: 1,\n }\n}\n\nfunction tabNode(): SerializedTabNode {\n return {\n type: 'tab',\n detail: 0,\n format: 0,\n mode: 'normal',\n style: '',\n text: '',\n version: 1,\n }\n}\n\nfunction paragraphNode(children: DefaultNodeTypes[]): SerializedParagraphNode {\n return {\n type: 'paragraph',\n children,\n direction: 'ltr',\n format: '',\n indent: 0,\n textFormat: 0,\n version: 1,\n }\n}\n\nfunction rootNode(nodes: DefaultNodeTypes[]): DefaultTypedEditorState {\n return {\n root: {\n type: 'root',\n children: nodes,\n direction: 'ltr',\n format: '',\n indent: 0,\n version: 1,\n },\n }\n}\n\ndescribe('convertLexicalToPlaintext', () => {\n it('ensure paragraph with text is correctly converted', () => {\n const data: DefaultTypedEditorState = rootNode([paragraphNode([textNode('Basic Text')])])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n console.log('plaintext', plaintext)\n expect(plaintext).toBe('Basic Text')\n })\n\n it('ensure paragraph with multiple text nodes is correctly converted', () => {\n const data: DefaultTypedEditorState = rootNode([\n paragraphNode([textNode('Basic Text'), textNode(' Bold', true), textNode(' Text')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic Text Bold Text')\n })\n\n it('ensure linebreaks are converted correctly', () => {\n const data: DefaultTypedEditorState = rootNode([\n paragraphNode([textNode('Basic Text'), linebreakNode(), textNode('Next Line')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic Text\\nNext Line')\n })\n\n it('ensure tabs are converted correctly', () => {\n const data: DefaultTypedEditorState = rootNode([\n paragraphNode([textNode('Basic Text'), tabNode(), textNode('Next Line')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic Text\\tNext Line')\n })\n})\n"],"mappings":"AAQA,SAASA,yBAAyB,QAAQ;AAE1C,SAASC,SAASC,IAAY,EAAEC,IAAc;EAC5C,OAAO;IACLC,IAAA,EAAM;IACNC,MAAA,EAAQ;IACRC,MAAA,EAAQH,IAAA,GAAO,IAAI;IACnBI,IAAA,EAAM;IACNC,KAAA,EAAO;IACPN,IAAA;IACAO,OAAA,EAAS;EACX;AACF;AAEA,SAASC,cAAA;EACP,OAAO;IACLN,IAAA,EAAM;IACNK,OAAA,EAAS;EACX;AACF;AAEA,SAASE,QAAA;EACP,OAAO;IACLP,IAAA,EAAM;IACNC,MAAA,EAAQ;IACRC,MAAA,EAAQ;IACRC,IAAA,EAAM;IACNC,KAAA,EAAO;IACPN,IAAA,EAAM;IACNO,OAAA,EAAS;EACX;AACF;AAEA,SAASG,cAAcC,QAA4B;EACjD,OAAO;IACLT,IAAA,EAAM;IACNS,QAAA;IACAC,SAAA,EAAW;IACXR,MAAA,EAAQ;IACRS,MAAA,EAAQ;IACRC,UAAA,EAAY;IACZP,OAAA,EAAS;EACX;AACF;AAEA,SAASQ,SAASC,KAAyB;EACzC,OAAO;IACLC,IAAA,EAAM;MACJf,IAAA,EAAM;MACNS,QAAA,EAAUK,KAAA;MACVJ,SAAA,EAAW;MACXR,MAAA,EAAQ;MACRS,MAAA,EAAQ;MACRN,OAAA,EAAS;IACX;EACF;AACF;AAEAW,QAAA,CAAS,6BAA6B;EACpCC,EAAA,CAAG,qDAAqD;IACtD,MAAMC,IAAA,GAAgCL,QAAA,CAAS,CAACL,aAAA,CAAc,CAACX,QAAA,CAAS,cAAc,EAAE;IAExF,MAAMsB,SAAA,GAAYvB,yBAAA,CAA0B;MAC1CsB;IACF;IAEAE,OAAA,CAAQC,GAAG,CAAC,aAAaF,SAAA;IACzBG,MAAA,CAAOH,SAAA,EAAWI,IAAI,CAAC;EACzB;EAEAN,EAAA,CAAG,oEAAoE;IACrE,MAAMC,IAAA,GAAgCL,QAAA,CAAS,CAC7CL,aAAA,CAAc,CAACX,QAAA,CAAS,eAAeA,QAAA,CAAS,SAAS,OAAOA,QAAA,CAAS,SAAS,EACnF;IAED,MAAMsB,SAAA,GAAYvB,yBAAA,CAA0B;MAC1CsB;IACF;IAEAI,MAAA,CAAOH,SAAA,EAAWI,IAAI,CAAC;EACzB;EAEAN,EAAA,CAAG,6CAA6C;IAC9C,MAAMC,IAAA,GAAgCL,QAAA,CAAS,CAC7CL,aAAA,CAAc,CAACX,QAAA,CAAS,eAAeS,aAAA,IAAiBT,QAAA,CAAS,aAAa,EAC/E;IAED,MAAMsB,SAAA,GAAYvB,yBAAA,CAA0B;MAC1CsB;IACF;IAEAI,MAAA,CAAOH,SAAA,EAAWI,IAAI,CAAC;EACzB;EAEAN,EAAA,CAAG,uCAAuC;IACxC,MAAMC,IAAA,GAAgCL,QAAA,CAAS,CAC7CL,aAAA,CAAc,CAACX,QAAA,CAAS,eAAeU,OAAA,IAAWV,QAAA,CAAS,aAAa,EACzE;IAED,MAAMsB,SAAA,GAAYvB,yBAAA,CAA0B;MAC1CsB;IACF;IAEAI,MAAA,CAAOH,SAAA,EAAWI,IAAI,CAAC;EACzB;AACF","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { SerializedLexicalNode } from 'lexical';
2
+ import type { PlaintextConverter, PlaintextConverters } from '../sync/types.js';
3
+ export declare function findConverterForNode<TConverters extends PlaintextConverters, TConverter extends PlaintextConverter<any>>({ converters, node, }: {
4
+ converters: TConverters;
5
+ node: SerializedLexicalNode;
6
+ }): TConverter | undefined;
7
+ //# sourceMappingURL=findConverterForNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findConverterForNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToPlaintext/shared/findConverterForNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAGpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE/E,wBAAgB,oBAAoB,CAClC,WAAW,SAAS,mBAAmB,EACvC,UAAU,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAC1C,EACA,UAAU,EAEV,IAAI,GACL,EAAE;IACD,UAAU,EAAE,WAAW,CAAA;IACvB,IAAI,EAAE,qBAAqB,CAAA;CAC5B,GAAG,UAAU,GAAG,SAAS,CAezB"}
@@ -0,0 +1,15 @@
1
+ export function findConverterForNode({
2
+ converters,
3
+ node
4
+ }) {
5
+ let converterForNode;
6
+ if (node.type === 'block') {
7
+ converterForNode = converters?.blocks?.[node?.fields?.blockType];
8
+ } else if (node.type === 'inlineBlock') {
9
+ converterForNode = converters?.inlineBlocks?.[node?.fields?.blockType];
10
+ } else {
11
+ converterForNode = converters[node.type];
12
+ }
13
+ return converterForNode;
14
+ }
15
+ //# sourceMappingURL=findConverterForNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findConverterForNode.js","names":["findConverterForNode","converters","node","converterForNode","type","blocks","fields","blockType","inlineBlocks"],"sources":["../../../../../src/features/converters/lexicalToPlaintext/shared/findConverterForNode.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\n\nimport type { SerializedBlockNode, SerializedInlineBlockNode } from '../../../../nodeTypes.js'\nimport type { PlaintextConverter, PlaintextConverters } from '../sync/types.js'\n\nexport function findConverterForNode<\n TConverters extends PlaintextConverters,\n TConverter extends PlaintextConverter<any>,\n>({\n converters,\n\n node,\n}: {\n converters: TConverters\n node: SerializedLexicalNode\n}): TConverter | undefined {\n let converterForNode: TConverter | undefined\n if (node.type === 'block') {\n converterForNode = converters?.blocks?.[\n (node as SerializedBlockNode)?.fields?.blockType\n ] as TConverter\n } else if (node.type === 'inlineBlock') {\n converterForNode = converters?.inlineBlocks?.[\n (node as SerializedInlineBlockNode)?.fields?.blockType\n ] as TConverter\n } else {\n converterForNode = converters[node.type] as TConverter\n }\n\n return converterForNode\n}\n"],"mappings":"AAKA,OAAO,SAASA,qBAGd;EACAC,UAAU;EAEVC;AAAI,CAIL;EACC,IAAIC,gBAAA;EACJ,IAAID,IAAA,CAAKE,IAAI,KAAK,SAAS;IACzBD,gBAAA,GAAmBF,UAAA,EAAYI,MAAA,GAC5BH,IAAA,EAA8BI,MAAA,EAAQC,SAAA,CACxC;EACH,OAAO,IAAIL,IAAA,CAAKE,IAAI,KAAK,eAAe;IACtCD,gBAAA,GAAmBF,UAAA,EAAYO,YAAA,GAC5BN,IAAA,EAAoCI,MAAA,EAAQC,SAAA,CAC9C;EACH,OAAO;IACLJ,gBAAA,GAAmBF,UAAU,CAACC,IAAA,CAAKE,IAAI,CAAC;EAC1C;EAEA,OAAOD,gBAAA;AACT","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import type { SerializedLexicalNode } from 'lexical';
2
+ export type SerializedLexicalNodeWithParent = {
3
+ parent?: SerializedLexicalNode;
4
+ } & SerializedLexicalNode;
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToPlaintext/shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,CAAC,EAAE,qBAAqB,CAAA;CAC/B,GAAG,qBAAqB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/features/converters/lexicalToPlaintext/shared/types.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nexport type SerializedLexicalNodeWithParent = {\n parent?: SerializedLexicalNode\n} & SerializedLexicalNode\n"],"mappings":"AACA","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ import type { SerializedEditorState, SerializedLexicalNode } from 'lexical';
2
+ import type { SerializedLexicalNodeWithParent } from '../shared/types.js';
3
+ import type { PlaintextConverters } from './types.js';
4
+ export type ConvertLexicalToPlaintextArgs = {
5
+ /**
6
+ * A map of node types to their corresponding plaintext converter functions.
7
+ * This is optional - if not provided, the following heuristic will be used:
8
+ *
9
+ * - If the node has a `text` property, it will be used as the plaintext.
10
+ * - If the node has a `children` property, the children will be recursively converted to plaintext.
11
+ * - If the node has neither, it will be ignored.
12
+ **/
13
+ converters?: PlaintextConverters;
14
+ data: SerializedEditorState;
15
+ };
16
+ export declare function convertLexicalToPlaintext({ converters, data, }: ConvertLexicalToPlaintextArgs): string;
17
+ export declare function convertLexicalNodesToPlaintext({ converters, nodes, parent, }: {
18
+ converters: PlaintextConverters;
19
+ nodes: SerializedLexicalNode[];
20
+ parent: SerializedLexicalNodeWithParent;
21
+ }): string[];
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/lexicalToPlaintext/sync/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKrD,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;;;;QAOI;IACJ,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC,IAAI,EAAE,qBAAqB,CAAA;CAC5B,CAAA;AAED,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,IAAI,GACL,EAAE,6BAA6B,GAAG,MAAM,CAWxC;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,UAAU,EACV,KAAK,EACL,MAAM,GACP,EAAE;IACD,UAAU,EAAE,mBAAmB,CAAA;IAC/B,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,MAAM,EAAE,+BAA+B,CAAA;CACxC,GAAG,MAAM,EAAE,CAoEX"}
@@ -0,0 +1,79 @@
1
+ /* eslint-disable no-console */import { hasText } from '../../../../validate/hasText.js';
2
+ import { findConverterForNode } from '../shared/findConverterForNode.js';
3
+ export function convertLexicalToPlaintext({
4
+ converters,
5
+ data
6
+ }) {
7
+ if (hasText(data)) {
8
+ const plaintext = convertLexicalNodesToPlaintext({
9
+ converters: converters ?? {},
10
+ nodes: data?.root?.children,
11
+ parent: data?.root
12
+ }).join('');
13
+ return plaintext;
14
+ }
15
+ return '';
16
+ }
17
+ export function convertLexicalNodesToPlaintext({
18
+ converters,
19
+ nodes,
20
+ parent
21
+ }) {
22
+ const plainTextArray = [];
23
+ let i = -1;
24
+ for (const node of nodes) {
25
+ i++;
26
+ const converter = findConverterForNode({
27
+ converters,
28
+ node
29
+ });
30
+ if (converter) {
31
+ try {
32
+ const converted = typeof converter === 'function' ? converter({
33
+ childIndex: i,
34
+ converters,
35
+ node,
36
+ nodesToPlaintext: args => {
37
+ return convertLexicalNodesToPlaintext({
38
+ converters: args.converters ?? converters,
39
+ nodes: args.nodes,
40
+ parent: args.parent ?? {
41
+ ...node,
42
+ parent
43
+ }
44
+ });
45
+ },
46
+ parent
47
+ }) : converter;
48
+ if (converted && typeof converted === 'string') {
49
+ plainTextArray.push(converted);
50
+ }
51
+ } catch (error) {
52
+ console.error('Error converting lexical node to plaintext:', error, 'node:', node);
53
+ }
54
+ } else {
55
+ // Default plaintext converter heuristic
56
+ if (node.type === 'paragraph') {
57
+ if (plainTextArray?.length) {
58
+ // Only add a new line if there is already text in the array
59
+ plainTextArray.push('\n\n');
60
+ }
61
+ } else if (node.type === 'linebreak') {
62
+ plainTextArray.push('\n');
63
+ } else if (node.type === 'tab') {
64
+ plainTextArray.push('\t');
65
+ } else if ('text' in node && node.text) {
66
+ plainTextArray.push(node.text);
67
+ }
68
+ if ('children' in node && node.children) {
69
+ plainTextArray.push(...convertLexicalNodesToPlaintext({
70
+ converters,
71
+ nodes: node.children,
72
+ parent: node
73
+ }));
74
+ }
75
+ }
76
+ }
77
+ return plainTextArray.filter(Boolean);
78
+ }
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["hasText","findConverterForNode","convertLexicalToPlaintext","converters","data","plaintext","convertLexicalNodesToPlaintext","nodes","root","children","parent","join","plainTextArray","i","node","converter","converted","childIndex","nodesToPlaintext","args","push","error","console","type","length","text","filter","Boolean"],"sources":["../../../../../src/features/converters/lexicalToPlaintext/sync/index.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport type { SerializedEditorState, SerializedLexicalNode } from 'lexical'\n\nimport type { SerializedLexicalNodeWithParent } from '../shared/types.js'\nimport type { PlaintextConverters } from './types.js'\n\nimport { hasText } from '../../../../validate/hasText.js'\nimport { findConverterForNode } from '../shared/findConverterForNode.js'\n\nexport type ConvertLexicalToPlaintextArgs = {\n /**\n * A map of node types to their corresponding plaintext converter functions.\n * This is optional - if not provided, the following heuristic will be used:\n *\n * - If the node has a `text` property, it will be used as the plaintext.\n * - If the node has a `children` property, the children will be recursively converted to plaintext.\n * - If the node has neither, it will be ignored.\n **/\n converters?: PlaintextConverters\n data: SerializedEditorState\n}\n\nexport function convertLexicalToPlaintext({\n converters,\n data,\n}: ConvertLexicalToPlaintextArgs): string {\n if (hasText(data)) {\n const plaintext = convertLexicalNodesToPlaintext({\n converters: converters ?? {},\n nodes: data?.root?.children,\n parent: data?.root,\n }).join('')\n\n return plaintext\n }\n return ''\n}\n\nexport function convertLexicalNodesToPlaintext({\n converters,\n nodes,\n parent,\n}: {\n converters: PlaintextConverters\n nodes: SerializedLexicalNode[]\n parent: SerializedLexicalNodeWithParent\n}): string[] {\n const plainTextArray: string[] = []\n\n let i = -1\n for (const node of nodes) {\n i++\n\n const converter = findConverterForNode({\n converters,\n node,\n })\n\n if (converter) {\n try {\n const converted =\n typeof converter === 'function'\n ? converter({\n childIndex: i,\n converters,\n node,\n nodesToPlaintext: (args) => {\n return convertLexicalNodesToPlaintext({\n converters: args.converters ?? converters,\n nodes: args.nodes,\n parent: args.parent ?? {\n ...node,\n parent,\n },\n })\n },\n parent,\n })\n : converter\n\n if (converted && typeof converted === 'string') {\n plainTextArray.push(converted)\n }\n } catch (error) {\n console.error('Error converting lexical node to plaintext:', error, 'node:', node)\n }\n } else {\n // Default plaintext converter heuristic\n if (node.type === 'paragraph') {\n if (plainTextArray?.length) {\n // Only add a new line if there is already text in the array\n plainTextArray.push('\\n\\n')\n }\n } else if (node.type === 'linebreak') {\n plainTextArray.push('\\n')\n } else if (node.type === 'tab') {\n plainTextArray.push('\\t')\n } else if ('text' in node && node.text) {\n plainTextArray.push(node.text as string)\n }\n\n if ('children' in node && node.children) {\n plainTextArray.push(\n ...convertLexicalNodesToPlaintext({\n converters,\n nodes: node.children as SerializedLexicalNode[],\n parent: node,\n }),\n )\n }\n }\n }\n\n return plainTextArray.filter(Boolean)\n}\n"],"mappings":"AAAA,+BAMA,SAASA,OAAO,QAAQ;AACxB,SAASC,oBAAoB,QAAQ;AAerC,OAAO,SAASC,0BAA0B;EACxCC,UAAU;EACVC;AAAI,CAC0B;EAC9B,IAAIJ,OAAA,CAAQI,IAAA,GAAO;IACjB,MAAMC,SAAA,GAAYC,8BAAA,CAA+B;MAC/CH,UAAA,EAAYA,UAAA,IAAc,CAAC;MAC3BI,KAAA,EAAOH,IAAA,EAAMI,IAAA,EAAMC,QAAA;MACnBC,MAAA,EAAQN,IAAA,EAAMI;IAChB,GAAGG,IAAI,CAAC;IAER,OAAON,SAAA;EACT;EACA,OAAO;AACT;AAEA,OAAO,SAASC,+BAA+B;EAC7CH,UAAU;EACVI,KAAK;EACLG;AAAM,CAKP;EACC,MAAME,cAAA,GAA2B,EAAE;EAEnC,IAAIC,CAAA,GAAI,CAAC;EACT,KAAK,MAAMC,IAAA,IAAQP,KAAA,EAAO;IACxBM,CAAA;IAEA,MAAME,SAAA,GAAYd,oBAAA,CAAqB;MACrCE,UAAA;MACAW;IACF;IAEA,IAAIC,SAAA,EAAW;MACb,IAAI;QACF,MAAMC,SAAA,GACJ,OAAOD,SAAA,KAAc,aACjBA,SAAA,CAAU;UACRE,UAAA,EAAYJ,CAAA;UACZV,UAAA;UACAW,IAAA;UACAI,gBAAA,EAAmBC,IAAA;YACjB,OAAOb,8BAAA,CAA+B;cACpCH,UAAA,EAAYgB,IAAA,CAAKhB,UAAU,IAAIA,UAAA;cAC/BI,KAAA,EAAOY,IAAA,CAAKZ,KAAK;cACjBG,MAAA,EAAQS,IAAA,CAAKT,MAAM,IAAI;gBACrB,GAAGI,IAAI;gBACPJ;cACF;YACF;UACF;UACAA;QACF,KACAK,SAAA;QAEN,IAAIC,SAAA,IAAa,OAAOA,SAAA,KAAc,UAAU;UAC9CJ,cAAA,CAAeQ,IAAI,CAACJ,SAAA;QACtB;MACF,EAAE,OAAOK,KAAA,EAAO;QACdC,OAAA,CAAQD,KAAK,CAAC,+CAA+CA,KAAA,EAAO,SAASP,IAAA;MAC/E;IACF,OAAO;MACL;MACA,IAAIA,IAAA,CAAKS,IAAI,KAAK,aAAa;QAC7B,IAAIX,cAAA,EAAgBY,MAAA,EAAQ;UAC1B;UACAZ,cAAA,CAAeQ,IAAI,CAAC;QACtB;MACF,OAAO,IAAIN,IAAA,CAAKS,IAAI,KAAK,aAAa;QACpCX,cAAA,CAAeQ,IAAI,CAAC;MACtB,OAAO,IAAIN,IAAA,CAAKS,IAAI,KAAK,OAAO;QAC9BX,cAAA,CAAeQ,IAAI,CAAC;MACtB,OAAO,IAAI,UAAUN,IAAA,IAAQA,IAAA,CAAKW,IAAI,EAAE;QACtCb,cAAA,CAAeQ,IAAI,CAACN,IAAA,CAAKW,IAAI;MAC/B;MAEA,IAAI,cAAcX,IAAA,IAAQA,IAAA,CAAKL,QAAQ,EAAE;QACvCG,cAAA,CAAeQ,IAAI,IACdd,8BAAA,CAA+B;UAChCH,UAAA;UACAI,KAAA,EAAOO,IAAA,CAAKL,QAAQ;UACpBC,MAAA,EAAQI;QACV;MAEJ;IACF;EACF;EAEA,OAAOF,cAAA,CAAec,MAAM,CAACC,OAAA;AAC/B","ignoreList":[]}