@payloadcms/richtext-lexical 4.0.0-internal.a0ef1b8 → 4.0.0-internal.a2d053c

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 (870) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/exports/client/Field-334JNLRF.js +2 -0
  3. package/dist/exports/client/Field-334JNLRF.js.map +7 -0
  4. package/dist/exports/client/{RelationshipComponent-YCPAKOL7.js → RelationshipComponent-TVK6I4W4.js} +2 -2
  5. package/dist/exports/client/chunk-BEKGION5.js +2 -0
  6. package/dist/exports/client/chunk-BEKGION5.js.map +7 -0
  7. package/dist/exports/client/{chunk-WSAPGI3Z.js → chunk-EA5BHQ2T.js} +1 -1
  8. package/dist/exports/client/{chunk-WSAPGI3Z.js.map → chunk-EA5BHQ2T.js.map} +1 -1
  9. package/dist/exports/client/chunk-FAJJXXCW.js +2 -0
  10. package/dist/exports/client/chunk-FAJJXXCW.js.map +7 -0
  11. package/dist/exports/client/{chunk-5VIL27GI.js → chunk-IYBYNEKX.js} +1 -1
  12. package/dist/exports/client/{chunk-5VIL27GI.js.map → chunk-IYBYNEKX.js.map} +1 -1
  13. package/dist/exports/client/chunk-SE5IITBK.js +2 -0
  14. package/dist/exports/client/chunk-SE5IITBK.js.map +7 -0
  15. package/dist/exports/client/component-QENB4QTS.js +2 -0
  16. package/dist/exports/client/component-QENB4QTS.js.map +7 -0
  17. package/dist/exports/client/componentInline-AU7IBNY7.js +2 -0
  18. package/dist/exports/client/index.d.ts +1 -3
  19. package/dist/exports/client/index.d.ts.map +1 -1
  20. package/dist/exports/client/index.js +23 -24
  21. package/dist/exports/client/index.js.map +4 -4
  22. package/dist/features/align/client/index.js.map +1 -1
  23. package/dist/features/align/client/toolbarAlignGroup.d.ts.map +1 -1
  24. package/dist/features/blockquote/client/index.js +2 -2
  25. package/dist/features/blockquote/client/index.js.map +1 -1
  26. package/dist/features/blockquote/server/index.js +2 -2
  27. package/dist/features/blockquote/server/index.js.map +1 -1
  28. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  29. package/dist/features/blocks/client/component/BlockReordering/index.d.ts +11 -0
  30. package/dist/features/blocks/client/component/BlockReordering/index.d.ts.map +1 -0
  31. package/dist/features/blocks/client/component/BlockReordering/index.js +18 -0
  32. package/dist/features/blocks/client/component/BlockReordering/index.js.map +1 -0
  33. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -1
  34. package/dist/features/blocks/client/component/components/BlockEditButton.js.map +1 -1
  35. package/dist/features/blocks/client/component/components/BlockRemoveButton.js.map +1 -1
  36. package/dist/features/blocks/client/component/index.css +2 -2
  37. package/dist/features/blocks/client/component/index.d.ts +0 -6
  38. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  39. package/dist/features/blocks/client/component/index.js +199 -108
  40. package/dist/features/blocks/client/component/index.js.map +1 -1
  41. package/dist/features/blocks/client/component/useBlockReordering.d.ts +16 -0
  42. package/dist/features/blocks/client/component/useBlockReordering.d.ts.map +1 -0
  43. package/dist/features/blocks/client/component/useBlockReordering.js +178 -0
  44. package/dist/features/blocks/client/component/useBlockReordering.js.map +1 -0
  45. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts.map +1 -1
  46. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -1
  47. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js.map +1 -1
  48. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js.map +1 -1
  49. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js.map +1 -1
  50. package/dist/features/blocks/client/componentInline/index.css +8 -9
  51. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  52. package/dist/features/blocks/client/componentInline/index.js +34 -31
  53. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  54. package/dist/features/blocks/client/getBlockImageComponent.d.ts +1 -1
  55. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.d.ts +9 -0
  56. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.d.ts.map +1 -0
  57. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.js +95 -0
  58. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.js.map +1 -0
  59. package/dist/features/blocks/client/index.d.ts.map +1 -1
  60. package/dist/features/blocks/client/index.js +4 -2
  61. package/dist/features/blocks/client/index.js.map +1 -1
  62. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts +1 -1
  63. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts.map +1 -1
  64. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +1 -1
  65. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  66. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts +1 -1
  67. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts.map +1 -1
  68. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +5 -2
  69. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  70. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts +1 -2
  71. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts.map +1 -1
  72. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  73. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  74. package/dist/features/blocks/client/nodes/BlocksNode.js +0 -10
  75. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  76. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -1
  77. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  78. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +121 -78
  79. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  80. package/dist/features/blocks/premade/CodeBlock/Component/Code.js +142 -87
  81. package/dist/features/blocks/premade/CodeBlock/Component/Code.js.map +1 -1
  82. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.css +1 -1
  83. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.css +2 -4
  84. package/dist/features/blocks/premade/CodeBlock/Component/index.css +5 -5
  85. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -1
  86. package/dist/features/blocks/server/index.d.ts.map +1 -1
  87. package/dist/features/blocks/server/index.js +6 -8
  88. package/dist/features/blocks/server/index.js.map +1 -1
  89. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts +1 -1
  90. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts.map +1 -1
  91. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  92. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  93. package/dist/features/blocks/server/nodes/BlocksNode.js +1 -12
  94. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  95. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -1
  96. package/dist/features/blocks/server/nodes/InlineBlocksNode.js +2 -2
  97. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  98. package/dist/features/blocks/server/schema.d.ts +2 -0
  99. package/dist/features/blocks/server/schema.d.ts.map +1 -1
  100. package/dist/features/blocks/server/schema.js +10 -11
  101. package/dist/features/blocks/server/schema.js.map +1 -1
  102. package/dist/features/blocks/server/validate.d.ts.map +1 -1
  103. package/dist/features/blocks/server/validate.js +1 -1
  104. package/dist/features/blocks/server/validate.js.map +1 -1
  105. package/dist/features/converters/htmlToLexical/index.d.ts.map +1 -1
  106. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +1 -1
  107. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  108. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +1 -1
  109. package/dist/features/converters/lexicalToHtml/async/converters/list.js +4 -3
  110. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  111. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +3 -3
  112. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  113. package/dist/features/converters/lexicalToHtml/shared/cssColors.d.ts.map +1 -1
  114. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.d.ts.map +1 -1
  115. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +3 -2
  116. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  117. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +1 -1
  118. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  119. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +1 -1
  120. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +4 -3
  121. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  122. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +3 -3
  123. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  124. package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +1 -1
  125. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  126. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +1 -1
  127. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +2 -1
  128. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  129. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +1 -1
  130. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +2 -1
  131. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  132. package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts.map +1 -1
  133. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +4 -5
  134. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  135. package/dist/features/converters/lexicalToMarkdown/index.d.ts.map +1 -1
  136. package/dist/features/converters/lexicalToMarkdown/index.js +1 -1
  137. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  138. package/dist/features/converters/markdownToLexical/index.d.ts.map +1 -1
  139. package/dist/features/converters/markdownToLexical/index.js +5 -2
  140. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  141. package/dist/features/converters/utilities/payloadPopulateFn.d.ts.map +1 -1
  142. package/dist/features/converters/utilities/payloadPopulateFn.js +4 -2
  143. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  144. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  145. package/dist/features/debug/jsxConverter/client/plugin/style.css +2 -2
  146. package/dist/features/debug/testRecorder/client/plugin/index.css +0 -1
  147. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  148. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -1
  149. package/dist/features/format/bold/feature.client.js +1 -1
  150. package/dist/features/format/bold/feature.client.js.map +1 -1
  151. package/dist/features/format/bold/feature.server.d.ts.map +1 -1
  152. package/dist/features/format/bold/feature.server.js +1 -1
  153. package/dist/features/format/bold/feature.server.js.map +1 -1
  154. package/dist/features/format/inlineCode/feature.client.js +1 -1
  155. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  156. package/dist/features/format/inlineCode/feature.server.d.ts.map +1 -1
  157. package/dist/features/format/inlineCode/feature.server.js +1 -1
  158. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  159. package/dist/features/format/italic/feature.client.js +1 -1
  160. package/dist/features/format/italic/feature.client.js.map +1 -1
  161. package/dist/features/format/italic/feature.server.d.ts.map +1 -1
  162. package/dist/features/format/italic/feature.server.js +1 -1
  163. package/dist/features/format/italic/feature.server.js.map +1 -1
  164. package/dist/features/format/shared/toolbarFormatGroup.d.ts.map +1 -1
  165. package/dist/features/format/strikethrough/feature.client.js +1 -1
  166. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  167. package/dist/features/format/strikethrough/feature.server.d.ts.map +1 -1
  168. package/dist/features/format/strikethrough/feature.server.js +1 -1
  169. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  170. package/dist/features/heading/client/index.js +2 -2
  171. package/dist/features/heading/client/index.js.map +1 -1
  172. package/dist/features/heading/constants.d.ts +2 -0
  173. package/dist/features/heading/constants.d.ts.map +1 -0
  174. package/dist/features/heading/constants.js +2 -0
  175. package/dist/features/heading/constants.js.map +1 -0
  176. package/dist/features/heading/markdownTransformer.d.ts +2 -2
  177. package/dist/features/heading/markdownTransformer.d.ts.map +1 -1
  178. package/dist/features/heading/markdownTransformer.js +6 -19
  179. package/dist/features/heading/markdownTransformer.js.map +1 -1
  180. package/dist/features/heading/server/index.d.ts.map +1 -1
  181. package/dist/features/heading/server/index.js +7 -3
  182. package/dist/features/heading/server/index.js.map +1 -1
  183. package/dist/features/heading/server/schema.d.ts.map +1 -1
  184. package/dist/features/heading/server/validate.d.ts +6 -0
  185. package/dist/features/heading/server/validate.d.ts.map +1 -0
  186. package/dist/features/heading/server/validate.js +15 -0
  187. package/dist/features/heading/server/validate.js.map +1 -0
  188. package/dist/features/horizontalRule/client/index.js +2 -2
  189. package/dist/features/horizontalRule/client/index.js.map +1 -1
  190. package/dist/features/horizontalRule/client/markdownTransformer.d.ts +2 -2
  191. package/dist/features/horizontalRule/client/markdownTransformer.d.ts.map +1 -1
  192. package/dist/features/horizontalRule/client/markdownTransformer.js +1 -1
  193. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  194. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +12 -2
  195. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  196. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +18 -1
  197. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  198. package/dist/features/horizontalRule/client/plugin/index.css +2 -2
  199. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  200. package/dist/features/horizontalRule/server/index.js +2 -2
  201. package/dist/features/horizontalRule/server/index.js.map +1 -1
  202. package/dist/features/horizontalRule/server/markdownTransformer.d.ts +2 -2
  203. package/dist/features/horizontalRule/server/markdownTransformer.d.ts.map +1 -1
  204. package/dist/features/horizontalRule/server/markdownTransformer.js +1 -1
  205. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  206. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +1 -1
  207. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  208. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +3 -3
  209. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  210. package/dist/features/horizontalRule/server/schema.d.ts +1 -0
  211. package/dist/features/horizontalRule/server/schema.d.ts.map +1 -1
  212. package/dist/features/horizontalRule/server/schema.js +6 -5
  213. package/dist/features/horizontalRule/server/schema.js.map +1 -1
  214. package/dist/features/indent/client/IndentPlugin.d.ts.map +1 -1
  215. package/dist/features/indent/client/IndentPlugin.js +122 -1
  216. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  217. package/dist/features/indent/client/index.d.ts.map +1 -1
  218. package/dist/features/indent/client/index.js +0 -2
  219. package/dist/features/indent/client/index.js.map +1 -1
  220. package/dist/features/indent/client/toolbarIndentGroup.d.ts.map +1 -1
  221. package/dist/features/indent/server/i18n.d.ts.map +1 -1
  222. package/dist/features/indent/server/i18n.js +74 -37
  223. package/dist/features/indent/server/i18n.js.map +1 -1
  224. package/dist/features/link/client/index.js +2 -2
  225. package/dist/features/link/client/index.js.map +1 -1
  226. package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -1
  227. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  228. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  229. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +20 -9
  230. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  231. package/dist/features/link/client/plugins/floatingLinkEditor/index.css +7 -13
  232. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  233. package/dist/features/link/markdownTransformer.d.ts +4 -4
  234. package/dist/features/link/markdownTransformer.d.ts.map +1 -1
  235. package/dist/features/link/markdownTransformer.js +4 -4
  236. package/dist/features/link/markdownTransformer.js.map +1 -1
  237. package/dist/features/link/nodes/AutoLinkNode.d.ts +1 -1
  238. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  239. package/dist/features/link/nodes/AutoLinkNode.js +2 -10
  240. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  241. package/dist/features/link/nodes/LinkNode.d.ts +1 -1
  242. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  243. package/dist/features/link/nodes/LinkNode.js +2 -15
  244. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  245. package/dist/features/link/server/baseFields.d.ts.map +1 -1
  246. package/dist/features/link/server/baseFields.js.map +1 -1
  247. package/dist/features/link/server/graphQLPopulationPromise.d.ts.map +1 -1
  248. package/dist/features/link/server/index.js +4 -4
  249. package/dist/features/link/server/index.js.map +1 -1
  250. package/dist/features/link/server/schema.d.ts.map +1 -1
  251. package/dist/features/link/server/schema.js +4 -2
  252. package/dist/features/link/server/schema.js.map +1 -1
  253. package/dist/features/link/server/validate.d.ts.map +1 -1
  254. package/dist/features/link/server/validate.js +1 -1
  255. package/dist/features/link/server/validate.js.map +1 -1
  256. package/dist/features/lists/checklist/client/index.js +1 -1
  257. package/dist/features/lists/checklist/client/index.js.map +1 -1
  258. package/dist/features/lists/checklist/server/index.d.ts.map +1 -1
  259. package/dist/features/lists/checklist/server/index.js +6 -3
  260. package/dist/features/lists/checklist/server/index.js.map +1 -1
  261. package/dist/features/lists/orderedList/client/index.js +1 -1
  262. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  263. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -1
  264. package/dist/features/lists/orderedList/server/index.js +6 -3
  265. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  266. package/dist/features/lists/shared/constants.d.ts +2 -0
  267. package/dist/features/lists/shared/constants.d.ts.map +1 -0
  268. package/dist/features/lists/shared/constants.js +2 -0
  269. package/dist/features/lists/shared/constants.js.map +1 -0
  270. package/dist/features/lists/shared/schema.d.ts.map +1 -1
  271. package/dist/features/lists/shared/schema.js.map +1 -1
  272. package/dist/features/lists/shared/validate.d.ts +5 -0
  273. package/dist/features/lists/shared/validate.d.ts.map +1 -0
  274. package/dist/features/lists/shared/validate.js +15 -0
  275. package/dist/features/lists/shared/validate.js.map +1 -0
  276. package/dist/features/lists/unorderedList/client/index.js +1 -1
  277. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  278. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -1
  279. package/dist/features/lists/unorderedList/server/index.js +6 -3
  280. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  281. package/dist/features/relationship/client/components/index.css +3 -6
  282. package/dist/features/relationship/client/drawer/index.d.ts.map +1 -1
  283. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  284. package/dist/features/relationship/client/index.d.ts +2 -2
  285. package/dist/features/relationship/client/index.d.ts.map +1 -1
  286. package/dist/features/relationship/client/index.js.map +1 -1
  287. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
  288. package/dist/features/relationship/client/nodes/RelationshipNode.js +0 -3
  289. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  290. package/dist/features/relationship/client/plugins/index.d.ts +2 -2
  291. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  292. package/dist/features/relationship/client/plugins/index.js +27 -31
  293. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  294. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts +2 -4
  295. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -1
  296. package/dist/features/relationship/client/utils/useEnabledRelationships.js +53 -20
  297. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  298. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +2 -2
  299. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -1
  300. package/dist/features/relationship/server/graphQLPopulationPromise.js +2 -2
  301. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  302. package/dist/features/relationship/server/index.d.ts +8 -1
  303. package/dist/features/relationship/server/index.d.ts.map +1 -1
  304. package/dist/features/relationship/server/index.js +28 -11
  305. package/dist/features/relationship/server/index.js.map +1 -1
  306. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  307. package/dist/features/relationship/server/nodes/RelationshipNode.js +1 -5
  308. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  309. package/dist/features/relationship/server/schema.d.ts +6 -5
  310. package/dist/features/relationship/server/schema.d.ts.map +1 -1
  311. package/dist/features/relationship/server/schema.js +31 -17
  312. package/dist/features/relationship/server/schema.js.map +1 -1
  313. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts +1 -6
  314. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts.map +1 -1
  315. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js +1 -5
  316. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js.map +1 -1
  317. package/dist/features/shared/toolbar/addDropdownGroup.d.ts.map +1 -1
  318. package/dist/features/shared/toolbar/featureButtonsGroup.d.ts.map +1 -1
  319. package/dist/features/shared/toolbar/textDropdownGroup.d.ts.map +1 -1
  320. package/dist/features/table/client/index.d.ts.map +1 -0
  321. package/dist/features/{experimental_table → table}/client/index.js +2 -2
  322. package/dist/features/table/client/index.js.map +1 -0
  323. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts +8 -0
  324. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts.map +1 -0
  325. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js +19 -0
  326. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js.map +1 -0
  327. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.css +1 -2
  328. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -0
  329. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.js +17 -44
  330. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.js.map +1 -0
  331. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -0
  332. package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.js +47 -24
  333. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.js.map +1 -0
  334. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -0
  335. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -0
  336. package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.css +0 -3
  337. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +1 -0
  338. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.js.map +1 -0
  339. package/dist/features/table/client/plugins/TablePlugin/index.d.ts.map +1 -0
  340. package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.js +54 -18
  341. package/dist/features/table/client/plugins/TablePlugin/index.js.map +1 -0
  342. package/dist/features/table/client/utils/debounce.d.ts.map +1 -0
  343. package/dist/features/table/client/utils/debounce.js.map +1 -0
  344. package/dist/features/table/client/utils/useDebounce.d.ts.map +1 -0
  345. package/dist/features/table/client/utils/useDebounce.js.map +1 -0
  346. package/dist/features/table/markdownTransformer.d.ts +5 -0
  347. package/dist/features/table/markdownTransformer.d.ts.map +1 -0
  348. package/dist/features/{experimental_table → table}/markdownTransformer.js +6 -3
  349. package/dist/features/table/markdownTransformer.js.map +1 -0
  350. package/dist/features/table/server/index.d.ts +3 -0
  351. package/dist/features/table/server/index.d.ts.map +1 -0
  352. package/dist/features/{experimental_table → table}/server/index.js +6 -6
  353. package/dist/features/table/server/index.js.map +1 -0
  354. package/dist/features/table/server/schema.d.ts.map +1 -0
  355. package/dist/features/table/server/schema.js.map +1 -0
  356. package/dist/features/textState/defaultColors.js +1 -1
  357. package/dist/features/textState/defaultColors.js.map +1 -1
  358. package/dist/features/textState/feature.client.js +1 -1
  359. package/dist/features/textState/feature.client.js.map +1 -1
  360. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts +8 -0
  361. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts.map +1 -0
  362. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js +80 -0
  363. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js.map +1 -0
  364. package/dist/features/toolbars/fixed/client/Toolbar/index.css +80 -8
  365. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  366. package/dist/features/toolbars/fixed/client/Toolbar/index.js +145 -71
  367. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  368. package/dist/features/toolbars/inline/client/Toolbar/index.css +2 -14
  369. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -1
  370. package/dist/features/toolbars/inline/client/Toolbar/index.js +84 -37
  371. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  372. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  373. package/dist/features/toolbars/shared/ToolbarButton/index.js +27 -2
  374. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  375. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  376. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +199 -81
  377. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  378. package/dist/features/toolbars/shared/ToolbarDropdown/index.css +23 -25
  379. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  380. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +22 -6
  381. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  382. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.d.ts +5 -0
  383. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.d.ts.map +1 -0
  384. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.js +109 -0
  385. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.js.map +1 -0
  386. package/dist/features/toolbars/shared/useToolbarStates.d.ts.map +1 -1
  387. package/dist/features/toolbars/shared/useToolbarStates.js +3 -1
  388. package/dist/features/toolbars/shared/useToolbarStates.js.map +1 -1
  389. package/dist/features/typesClient.d.ts +1 -1
  390. package/dist/features/typesClient.d.ts.map +1 -1
  391. package/dist/features/typesClient.js.map +1 -1
  392. package/dist/features/typesServer.d.ts +19 -14
  393. package/dist/features/typesServer.d.ts.map +1 -1
  394. package/dist/features/typesServer.js.map +1 -1
  395. package/dist/features/upload/client/component/index.css +9 -11
  396. package/dist/features/upload/client/component/index.js +2 -1
  397. package/dist/features/upload/client/component/index.js.map +1 -1
  398. package/dist/features/upload/client/drawer/index.d.ts.map +1 -1
  399. package/dist/features/upload/client/drawer/index.js.map +1 -1
  400. package/dist/features/upload/client/index.d.ts +3 -2
  401. package/dist/features/upload/client/index.d.ts.map +1 -1
  402. package/dist/features/upload/client/index.js.map +1 -1
  403. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  404. package/dist/features/upload/client/nodes/UploadNode.js +0 -7
  405. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  406. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  407. package/dist/features/upload/client/plugin/index.js +53 -56
  408. package/dist/features/upload/client/plugin/index.js.map +1 -1
  409. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +2 -2
  410. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -1
  411. package/dist/features/upload/server/graphQLPopulationPromise.js +1 -1
  412. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  413. package/dist/features/upload/server/index.d.ts +7 -3
  414. package/dist/features/upload/server/index.d.ts.map +1 -1
  415. package/dist/features/upload/server/index.js +22 -18
  416. package/dist/features/upload/server/index.js.map +1 -1
  417. package/dist/features/upload/server/markdownTransformer.d.ts +2 -2
  418. package/dist/features/upload/server/markdownTransformer.d.ts.map +1 -1
  419. package/dist/features/upload/server/markdownTransformer.js +1 -1
  420. package/dist/features/upload/server/markdownTransformer.js.map +1 -1
  421. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  422. package/dist/features/upload/server/nodes/UploadNode.js +1 -9
  423. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  424. package/dist/features/upload/server/schema.d.ts +6 -18
  425. package/dist/features/upload/server/schema.d.ts.map +1 -1
  426. package/dist/features/upload/server/schema.js +34 -16
  427. package/dist/features/upload/server/schema.js.map +1 -1
  428. package/dist/features/upload/server/validate.d.ts +2 -2
  429. package/dist/features/upload/server/validate.d.ts.map +1 -1
  430. package/dist/features/upload/server/validate.js +4 -1
  431. package/dist/features/upload/server/validate.js.map +1 -1
  432. package/dist/field/Diff/converters/listitem/index.d.ts.map +1 -1
  433. package/dist/field/Diff/converters/listitem/index.js +2 -1
  434. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  435. package/dist/field/Diff/converters/relationship/index.css +0 -1
  436. package/dist/field/Diff/converters/unknown/index.css +1 -2
  437. package/dist/field/Diff/converters/upload/index.css +0 -1
  438. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  439. package/dist/field/Diff/index.css +0 -2
  440. package/dist/field/Diff/index.d.ts +3 -2
  441. package/dist/field/Diff/index.d.ts.map +1 -1
  442. package/dist/field/Diff/index.js +3 -2
  443. package/dist/field/Diff/index.js.map +1 -1
  444. package/dist/field/Field.d.ts.map +1 -1
  445. package/dist/field/Field.js +26 -16
  446. package/dist/field/Field.js.map +1 -1
  447. package/dist/field/RenderLexical/index.d.ts +3 -1
  448. package/dist/field/RenderLexical/index.d.ts.map +1 -1
  449. package/dist/field/RenderLexical/index.js +23 -23
  450. package/dist/field/RenderLexical/index.js.map +1 -1
  451. package/dist/field/ViewSelector.css +1 -1
  452. package/dist/field/ViewSelector.d.ts.map +1 -1
  453. package/dist/field/ViewSelector.js +13 -4
  454. package/dist/field/ViewSelector.js.map +1 -1
  455. package/dist/field/bundled.css +1 -1
  456. package/dist/field/index.css +7 -5
  457. package/dist/field/index.js.map +1 -1
  458. package/dist/field/rscEntry.d.ts +2 -2
  459. package/dist/field/rscEntry.d.ts.map +1 -1
  460. package/dist/field/rscEntry.js.map +1 -1
  461. package/dist/i18n.d.ts.map +1 -1
  462. package/dist/i18n.js +112 -0
  463. package/dist/i18n.js.map +1 -1
  464. package/dist/index.d.ts +6 -6
  465. package/dist/index.d.ts.map +1 -1
  466. package/dist/index.js +33 -54
  467. package/dist/index.js.map +1 -1
  468. package/dist/lexical/LexicalEditor.css +30 -19
  469. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  470. package/dist/lexical/LexicalEditor.js +62 -99
  471. package/dist/lexical/LexicalEditor.js.map +1 -1
  472. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  473. package/dist/lexical/LexicalProvider.js +7 -22
  474. package/dist/lexical/LexicalProvider.js.map +1 -1
  475. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  476. package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
  477. package/dist/lexical/config/server/loader.d.ts +1 -1
  478. package/dist/lexical/config/server/loader.d.ts.map +1 -1
  479. package/dist/lexical/config/server/loader.js +2 -2
  480. package/dist/lexical/config/server/loader.js.map +1 -1
  481. package/dist/lexical/config/server/sanitize.d.ts +1 -1
  482. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  483. package/dist/lexical/config/server/sanitize.js +2 -2
  484. package/dist/lexical/config/server/sanitize.js.map +1 -1
  485. package/dist/lexical/plugins/ClipboardPlugin/index.js.map +1 -1
  486. package/dist/lexical/plugins/DecoratorPlugin/index.css +1 -1
  487. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts.map +1 -1
  488. package/dist/lexical/plugins/DecoratorPlugin/index.js +24 -21
  489. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  490. package/dist/lexical/plugins/InsertParagraphAtEnd/index.css +18 -25
  491. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts.map +1 -1
  492. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +27 -14
  493. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  494. package/dist/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  495. package/dist/lexical/plugins/MarkdownShortcut/index.js +1 -1
  496. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  497. package/dist/lexical/plugins/NodeViewOverridePlugin/index.d.ts.map +1 -1
  498. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js +21 -0
  499. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js.map +1 -1
  500. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +0 -1
  501. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  502. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +236 -108
  503. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  504. package/dist/lexical/plugins/SlashMenu/index.css +1 -7
  505. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
  506. package/dist/lexical/plugins/TextPlugin/index.js.map +1 -1
  507. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.css +2 -1
  508. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +2 -2
  509. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  510. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts.map +1 -1
  511. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.css +21 -3
  512. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  513. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +140 -38
  514. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  515. package/dist/lexical/plugins/handles/DraggableBlockPlugin/moveBlock.d.ts +7 -0
  516. package/dist/lexical/plugins/handles/DraggableBlockPlugin/moveBlock.d.ts.map +1 -0
  517. package/dist/lexical/plugins/handles/DraggableBlockPlugin/moveBlock.js +15 -0
  518. package/dist/lexical/plugins/handles/DraggableBlockPlugin/moveBlock.js.map +1 -0
  519. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts +7 -0
  520. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts.map +1 -0
  521. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js +62 -0
  522. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js.map +1 -0
  523. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts.map +1 -1
  524. package/dist/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
  525. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +2 -0
  526. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  527. package/dist/lexical/theme/EditorTheme.css +18 -21
  528. package/dist/lexical/ui/ContentEditable.css +22 -17
  529. package/dist/lexical/ui/ContentEditable.d.ts +2 -1
  530. package/dist/lexical/ui/ContentEditable.d.ts.map +1 -1
  531. package/dist/lexical/ui/ContentEditable.js +32 -11
  532. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  533. package/dist/lexical/ui/icons/H3/index.d.ts.map +1 -1
  534. package/dist/lexical/ui/icons/H3/index.js +13 -6
  535. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  536. package/dist/lexical/ui/icons/H4/index.d.ts.map +1 -1
  537. package/dist/lexical/ui/icons/H4/index.js +13 -6
  538. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  539. package/dist/lexical/ui/icons/H5/index.d.ts.map +1 -1
  540. package/dist/lexical/ui/icons/H5/index.js +13 -6
  541. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  542. package/dist/lexical/ui/icons/H6/index.d.ts.map +1 -1
  543. package/dist/lexical/ui/icons/H6/index.js +13 -6
  544. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  545. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts +17 -0
  546. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts.map +1 -0
  547. package/dist/lexical/utils/markdown/convertFromMarkdownString.js +27 -0
  548. package/dist/lexical/utils/markdown/convertFromMarkdownString.js.map +1 -0
  549. package/dist/lexical/utils/markdown/createBlockNode.d.ts +2 -2
  550. package/dist/lexical/utils/markdown/createBlockNode.d.ts.map +1 -1
  551. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  552. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts +25 -0
  553. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts.map +1 -0
  554. package/dist/lexical/utils/markdown/normalizeMarkdown.js +91 -0
  555. package/dist/lexical/utils/markdown/normalizeMarkdown.js.map +1 -0
  556. package/dist/lexical/utils/nodeFormat.d.ts.map +1 -1
  557. package/dist/lexical/utils/nodeFormat.js +0 -2
  558. package/dist/lexical/utils/nodeFormat.js.map +1 -1
  559. package/dist/lexical/utils/point.d.ts.map +1 -1
  560. package/dist/lexical/utils/rect.d.ts.map +1 -1
  561. package/dist/lexical/utils/url.d.ts.map +1 -1
  562. package/dist/lexical/utils/url.js +1 -1
  563. package/dist/lexical/utils/url.js.map +1 -1
  564. package/dist/lexical-proxy/@lexical-markdown.d.ts +1 -1
  565. package/dist/lexical-proxy/@lexical-markdown.d.ts.map +1 -1
  566. package/dist/lexical-proxy/@lexical-markdown.js +1 -1
  567. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  568. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts +2 -0
  569. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts.map +1 -0
  570. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js +2 -0
  571. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js.map +1 -0
  572. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts +2 -0
  573. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts.map +1 -0
  574. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js +2 -0
  575. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js.map +1 -0
  576. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts +2 -0
  577. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts.map +1 -0
  578. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js +2 -0
  579. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js.map +1 -0
  580. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts +2 -0
  581. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts.map +1 -0
  582. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js +2 -0
  583. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js.map +1 -0
  584. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts +2 -0
  585. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts.map +1 -0
  586. package/dist/lexical-proxy/@lexical-react/ReactExtension.js +2 -0
  587. package/dist/lexical-proxy/@lexical-react/ReactExtension.js.map +1 -0
  588. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts +2 -0
  589. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts.map +1 -0
  590. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js +2 -0
  591. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js.map +1 -0
  592. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts +2 -0
  593. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts.map +1 -0
  594. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js +2 -0
  595. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js.map +1 -0
  596. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts +2 -0
  597. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts.map +1 -0
  598. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js +2 -0
  599. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js.map +1 -0
  600. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts +2 -0
  601. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts.map +1 -0
  602. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js +2 -0
  603. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js.map +1 -0
  604. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts +2 -0
  605. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts.map +1 -0
  606. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js +2 -0
  607. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js.map +1 -0
  608. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts +2 -0
  609. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts.map +1 -0
  610. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js +2 -0
  611. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js.map +1 -0
  612. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts +2 -0
  613. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts.map +1 -0
  614. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js +2 -0
  615. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js.map +1 -0
  616. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts +2 -0
  617. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts.map +1 -0
  618. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js +2 -0
  619. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js.map +1 -0
  620. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts +2 -0
  621. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts.map +1 -0
  622. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js +2 -0
  623. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js.map +1 -0
  624. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts +2 -0
  625. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts.map +1 -0
  626. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js +2 -0
  627. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js.map +1 -0
  628. package/dist/populateGraphQL/populate.js.map +1 -1
  629. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
  630. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts.map +1 -1
  631. package/dist/presets/llmInstructions.d.ts +2 -0
  632. package/dist/presets/llmInstructions.d.ts.map +1 -0
  633. package/dist/presets/llmInstructions.js +13 -0
  634. package/dist/presets/llmInstructions.js.map +1 -0
  635. package/dist/types/builtInNodes.d.ts +1 -1
  636. package/dist/types/builtInNodes.d.ts.map +1 -1
  637. package/dist/types/builtInNodes.js +8 -3
  638. package/dist/types/builtInNodes.js.map +1 -1
  639. package/dist/types/index.d.ts +4 -7
  640. package/dist/types/index.d.ts.map +1 -1
  641. package/dist/types/index.js.map +1 -1
  642. package/dist/types/jsonSchemaHelpers.d.ts +5 -1
  643. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -1
  644. package/dist/types/jsonSchemaHelpers.js +7 -2
  645. package/dist/types/jsonSchemaHelpers.js.map +1 -1
  646. package/dist/types/nodeTypes.d.ts +6 -1
  647. package/dist/types/nodeTypes.d.ts.map +1 -1
  648. package/dist/types/nodeTypes.js.map +1 -1
  649. package/dist/types/schema.d.ts.map +1 -1
  650. package/dist/types/schema.js +12 -5
  651. package/dist/types/schema.js.map +1 -1
  652. package/dist/utilities/applyBaseFilterToFields.d.ts.map +1 -1
  653. package/dist/utilities/applyBaseFilterToFields.js +1 -2
  654. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  655. package/dist/utilities/buildEditorState.d.ts.map +1 -1
  656. package/dist/utilities/buildEditorState.js.map +1 -1
  657. package/dist/utilities/buildInitialState.d.ts +3 -2
  658. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  659. package/dist/utilities/buildInitialState.js +1 -0
  660. package/dist/utilities/buildInitialState.js.map +1 -1
  661. package/dist/utilities/createServerFeature.d.ts +1 -1
  662. package/dist/utilities/createServerFeature.d.ts.map +1 -1
  663. package/dist/utilities/createServerFeature.js +2 -2
  664. package/dist/utilities/createServerFeature.js.map +1 -1
  665. package/dist/utilities/editorConfigFactory.d.ts +6 -6
  666. package/dist/utilities/editorConfigFactory.d.ts.map +1 -1
  667. package/dist/utilities/editorConfigFactory.js +9 -9
  668. package/dist/utilities/editorConfigFactory.js.map +1 -1
  669. package/dist/utilities/fieldsDrawer/Drawer.js +36 -36
  670. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  671. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  672. package/dist/utilities/fieldsDrawer/DrawerContent.js +6 -9
  673. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  674. package/dist/utilities/fieldsDrawer/index.css +4 -4
  675. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts +1 -1
  676. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts.map +1 -1
  677. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js.map +1 -1
  678. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts.map +1 -1
  679. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  680. package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts.map +1 -1
  681. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  682. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.d.ts.map +1 -1
  683. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -1
  684. package/dist/utilities/generateImportMap.d.ts +3 -3
  685. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  686. package/dist/utilities/generateImportMap.js +3 -7
  687. package/dist/utilities/generateImportMap.js.map +1 -1
  688. package/dist/utilities/generateSchemaMap.d.ts +1 -1
  689. package/dist/utilities/generateSchemaMap.d.ts.map +1 -1
  690. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts +2 -2
  691. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts.map +1 -1
  692. package/dist/utilities/getDefaultSanitizedEditorConfig.js +6 -17
  693. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  694. package/dist/utilities/initLexicalFeatures.d.ts.map +1 -1
  695. package/dist/utilities/initLexicalFeatures.js +38 -4
  696. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  697. package/dist/utilities/recurseNodeTree.d.ts.map +1 -1
  698. package/dist/utilities/upgradeLexicalData/index.js +6 -3
  699. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  700. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -1
  701. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +1 -1
  702. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  703. package/dist/utilities/useLexicalFeature.d.ts.map +1 -1
  704. package/dist/utilities/useLexicalFeature.js +15 -6
  705. package/dist/utilities/useLexicalFeature.js.map +1 -1
  706. package/dist/utilities/useRunDeprioritized.js.map +1 -1
  707. package/dist/validate/hasText.d.ts +2 -2
  708. package/dist/validate/hasText.d.ts.map +1 -1
  709. package/dist/validate/hasText.js.map +1 -1
  710. package/dist/validate/index.d.ts +1 -1
  711. package/dist/validate/index.d.ts.map +1 -1
  712. package/package.json +124 -59
  713. package/dist/@types/assets.d.js +0 -2
  714. package/dist/@types/assets.d.js.map +0 -1
  715. package/dist/dependencyChecker.spec.js +0 -16
  716. package/dist/dependencyChecker.spec.js.map +0 -1
  717. package/dist/exports/client/Field-VYBSMSRY.js +0 -2
  718. package/dist/exports/client/Field-VYBSMSRY.js.map +0 -7
  719. package/dist/exports/client/bundled.css +0 -1
  720. package/dist/exports/client/chunk-LH634DPU.js +0 -12
  721. package/dist/exports/client/chunk-LH634DPU.js.map +0 -7
  722. package/dist/exports/client/chunk-UD4DQ4AK.js +0 -2
  723. package/dist/exports/client/chunk-UD4DQ4AK.js.map +0 -7
  724. package/dist/exports/client/chunk-ZYXHC5CY.js +0 -2
  725. package/dist/exports/client/chunk-ZYXHC5CY.js.map +0 -7
  726. package/dist/exports/client/component-PHZQBOJE.js +0 -2
  727. package/dist/exports/client/component-PHZQBOJE.js.map +0 -7
  728. package/dist/exports/client/componentInline-R3EPNYWF.js +0 -2
  729. package/dist/exports/server/rsc.browser.d.ts +0 -11
  730. package/dist/exports/server/rsc.browser.d.ts.map +0 -1
  731. package/dist/exports/server/rsc.browser.js +0 -10
  732. package/dist/exports/server/rsc.browser.js.map +0 -1
  733. package/dist/features/blockquote/markdownTransformer.d.ts +0 -3
  734. package/dist/features/blockquote/markdownTransformer.d.ts.map +0 -1
  735. package/dist/features/blockquote/markdownTransformer.js +0 -33
  736. package/dist/features/blockquote/markdownTransformer.js.map +0 -1
  737. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts +0 -11
  738. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts.map +0 -1
  739. package/dist/features/blocks/client/component/removeEmptyArrayValues.js +0 -20
  740. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +0 -1
  741. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +0 -180
  742. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +0 -1
  743. package/dist/features/experimental_table/client/index.d.ts.map +0 -1
  744. package/dist/features/experimental_table/client/index.js.map +0 -1
  745. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +0 -1
  746. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +0 -1
  747. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +0 -1
  748. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +0 -1
  749. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +0 -1
  750. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +0 -1
  751. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +0 -1
  752. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.js.map +0 -1
  753. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +0 -1
  754. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +0 -1
  755. package/dist/features/experimental_table/client/utils/debounce.d.ts.map +0 -1
  756. package/dist/features/experimental_table/client/utils/debounce.js.map +0 -1
  757. package/dist/features/experimental_table/client/utils/useDebounce.d.ts.map +0 -1
  758. package/dist/features/experimental_table/client/utils/useDebounce.js.map +0 -1
  759. package/dist/features/experimental_table/markdownTransformer.d.ts +0 -5
  760. package/dist/features/experimental_table/markdownTransformer.d.ts.map +0 -1
  761. package/dist/features/experimental_table/markdownTransformer.js.map +0 -1
  762. package/dist/features/experimental_table/server/index.d.ts +0 -3
  763. package/dist/features/experimental_table/server/index.d.ts.map +0 -1
  764. package/dist/features/experimental_table/server/index.js.map +0 -1
  765. package/dist/features/experimental_table/server/schema.d.ts.map +0 -1
  766. package/dist/features/experimental_table/server/schema.js.map +0 -1
  767. package/dist/features/format/bold/markdownTransformers.d.ts +0 -6
  768. package/dist/features/format/bold/markdownTransformers.d.ts.map +0 -1
  769. package/dist/features/format/bold/markdownTransformers.js +0 -23
  770. package/dist/features/format/bold/markdownTransformers.js.map +0 -1
  771. package/dist/features/format/inlineCode/markdownTransformers.d.ts +0 -3
  772. package/dist/features/format/inlineCode/markdownTransformers.d.ts.map +0 -1
  773. package/dist/features/format/inlineCode/markdownTransformers.js +0 -6
  774. package/dist/features/format/inlineCode/markdownTransformers.js.map +0 -1
  775. package/dist/features/format/italic/markdownTransformers.d.ts +0 -4
  776. package/dist/features/format/italic/markdownTransformers.d.ts.map +0 -1
  777. package/dist/features/format/italic/markdownTransformers.js +0 -12
  778. package/dist/features/format/italic/markdownTransformers.js.map +0 -1
  779. package/dist/features/format/strikethrough/markdownTransformers.d.ts +0 -3
  780. package/dist/features/format/strikethrough/markdownTransformers.d.ts.map +0 -1
  781. package/dist/features/format/strikethrough/markdownTransformers.js +0 -6
  782. package/dist/features/format/strikethrough/markdownTransformers.js.map +0 -1
  783. package/dist/features/link/markdownTransformer.spec.js +0 -195
  784. package/dist/features/link/markdownTransformer.spec.js.map +0 -1
  785. package/dist/features/lists/checklist/markdownTransformers.d.ts +0 -3
  786. package/dist/features/lists/checklist/markdownTransformers.d.ts.map +0 -1
  787. package/dist/features/lists/checklist/markdownTransformers.js +0 -12
  788. package/dist/features/lists/checklist/markdownTransformers.js.map +0 -1
  789. package/dist/features/lists/orderedList/markdownTransformer.d.ts +0 -3
  790. package/dist/features/lists/orderedList/markdownTransformer.d.ts.map +0 -1
  791. package/dist/features/lists/orderedList/markdownTransformer.js +0 -12
  792. package/dist/features/lists/orderedList/markdownTransformer.js.map +0 -1
  793. package/dist/features/lists/shared/markdown.d.ts +0 -6
  794. package/dist/features/lists/shared/markdown.d.ts.map +0 -1
  795. package/dist/features/lists/shared/markdown.js +0 -57
  796. package/dist/features/lists/shared/markdown.js.map +0 -1
  797. package/dist/features/lists/unorderedList/markdownTransformer.d.ts +0 -3
  798. package/dist/features/lists/unorderedList/markdownTransformer.d.ts.map +0 -1
  799. package/dist/features/lists/unorderedList/markdownTransformer.js +0 -12
  800. package/dist/features/lists/unorderedList/markdownTransformer.js.map +0 -1
  801. package/dist/field/clientEntry.d.ts +0 -29
  802. package/dist/field/clientEntry.d.ts.map +0 -1
  803. package/dist/field/clientEntry.js +0 -86
  804. package/dist/field/clientEntry.js.map +0 -1
  805. package/dist/lexical/utils/guard.d.ts +0 -5
  806. package/dist/lexical/utils/guard.d.ts.map +0 -1
  807. package/dist/lexical/utils/guard.js +0 -9
  808. package/dist/lexical/utils/guard.js.map +0 -1
  809. package/dist/lexical/utils/url.spec.js +0 -114
  810. package/dist/lexical/utils/url.spec.js.map +0 -1
  811. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts +0 -2
  812. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts.map +0 -1
  813. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +0 -2
  814. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +0 -1
  815. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts +0 -14
  816. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts.map +0 -1
  817. package/dist/packages/@lexical/markdown/MarkdownExport.js +0 -213
  818. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +0 -1
  819. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts +0 -19
  820. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts.map +0 -1
  821. package/dist/packages/@lexical/markdown/MarkdownImport.js +0 -198
  822. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +0 -1
  823. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts +0 -11
  824. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts.map +0 -1
  825. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +0 -304
  826. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +0 -1
  827. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts +0 -147
  828. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts.map +0 -1
  829. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +0 -268
  830. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +0 -1
  831. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts +0 -22
  832. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts.map +0 -1
  833. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +0 -91
  834. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +0 -1
  835. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts +0 -21
  836. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts.map +0 -1
  837. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +0 -54
  838. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +0 -1
  839. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts +0 -18
  840. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts.map +0 -1
  841. package/dist/packages/@lexical/markdown/importTextTransformers.js +0 -54
  842. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +0 -1
  843. package/dist/packages/@lexical/markdown/index.d.ts +0 -29
  844. package/dist/packages/@lexical/markdown/index.d.ts.map +0 -1
  845. package/dist/packages/@lexical/markdown/index.js +0 -39
  846. package/dist/packages/@lexical/markdown/index.js.map +0 -1
  847. package/dist/packages/@lexical/markdown/utils.d.ts +0 -34
  848. package/dist/packages/@lexical/markdown/utils.d.ts.map +0 -1
  849. package/dist/packages/@lexical/markdown/utils.js +0 -267
  850. package/dist/packages/@lexical/markdown/utils.js.map +0 -1
  851. package/dist/utilities/jsx/jsx.spec.js +0 -178
  852. package/dist/utilities/jsx/jsx.spec.js.map +0 -1
  853. /package/dist/exports/client/{RelationshipComponent-YCPAKOL7.js.map → RelationshipComponent-TVK6I4W4.js.map} +0 -0
  854. /package/dist/exports/client/{componentInline-R3EPNYWF.js.map → componentInline-AU7IBNY7.js.map} +0 -0
  855. /package/dist/features/{experimental_table → table}/client/index.d.ts +0 -0
  856. /package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.d.ts +0 -0
  857. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.css +0 -0
  858. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.d.ts +0 -0
  859. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.d.ts +0 -0
  860. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.js +0 -0
  861. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.d.ts +0 -0
  862. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.js +0 -0
  863. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.css +0 -0
  864. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.d.ts +0 -0
  865. /package/dist/features/{experimental_table → table}/client/utils/debounce.d.ts +0 -0
  866. /package/dist/features/{experimental_table → table}/client/utils/debounce.js +0 -0
  867. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.d.ts +0 -0
  868. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.js +0 -0
  869. /package/dist/features/{experimental_table → table}/server/schema.d.ts +0 -0
  870. /package/dist/features/{experimental_table → table}/server/schema.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"getLexicalToMarkdown.js","names":["createHeadlessEditor","$convertToMarkdownString","getLexicalToMarkdown","allNodes","allTransformers","lexicalToMarkdown","editorState","headlessEditor","nodes","setEditorState","parseEditorState","e","console","error","markdown","getEditorState","read"],"sources":["../../../../../src/features/blocks/client/markdown/getLexicalToMarkdown.ts"],"sourcesContent":["import type { Klass, LexicalNode, LexicalNodeReplacement } from 'lexical'\n\nimport { createHeadlessEditor } from '@lexical/headless'\n\nimport {\n $convertToMarkdownString,\n type Transformer,\n} from '../../../../packages/@lexical/markdown/index.js'\n\nexport function getLexicalToMarkdown(\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>,\n allTransformers: Transformer[],\n): (args: { editorState: Record<string, any> }) => string {\n const lexicalToMarkdown = ({ editorState }: { editorState: Record<string, any> }): string => {\n const headlessEditor = createHeadlessEditor({\n nodes: allNodes,\n })\n\n try {\n headlessEditor.setEditorState(headlessEditor.parseEditorState(editorState as any)) // This should commit the editor state immediately\n } catch (e) {\n console.error('getLexicalToMarkdown: ERROR parsing editor state', e)\n }\n\n let markdown: string = ''\n headlessEditor.getEditorState().read(() => {\n markdown = $convertToMarkdownString(allTransformers)\n })\n\n return markdown\n }\n return lexicalToMarkdown\n}\n"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ;AAErC,SACEC,wBAAwB,QAEnB;AAEP,OAAO,SAASC,qBACdC,QAA4D,EAC5DC,eAA8B;EAE9B,MAAMC,iBAAA,GAAoBA,CAAC;IAAEC;EAAW,CAAwC;IAC9E,MAAMC,cAAA,GAAiBP,oBAAA,CAAqB;MAC1CQ,KAAA,EAAOL;IACT;IAEA,IAAI;MACFI,cAAA,CAAeE,cAAc,CAACF,cAAA,CAAeG,gBAAgB,CAACJ,WAAA,IAAqB;IACrF,EAAE,OAAOK,CAAA,EAAG;MACVC,OAAA,CAAQC,KAAK,CAAC,oDAAoDF,CAAA;IACpE;IAEA,IAAIG,QAAA,GAAmB;IACvBP,cAAA,CAAeQ,cAAc,GAAGC,IAAI,CAAC;MACnCF,QAAA,GAAWb,wBAAA,CAAyBG,eAAA;IACtC;IAEA,OAAOU,QAAA;EACT;EACA,OAAOT,iBAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getLexicalToMarkdown.js","names":["createHeadlessEditor","$convertToMarkdownString","getLexicalToMarkdown","allNodes","allTransformers","lexicalToMarkdown","editorState","headlessEditor","nodes","setEditorState","parseEditorState","e","console","error","markdown","getEditorState","read"],"sources":["../../../../../src/features/blocks/client/markdown/getLexicalToMarkdown.ts"],"sourcesContent":["import type { Klass, LexicalNode, LexicalNodeReplacement } from 'lexical'\n\nimport { createHeadlessEditor } from '@lexical/headless'\nimport { $convertToMarkdownString, type Transformer } from '@lexical/markdown'\n\nexport function getLexicalToMarkdown(\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>,\n allTransformers: Transformer[],\n): (args: { editorState: Record<string, any> }) => string {\n const lexicalToMarkdown = ({ editorState }: { editorState: Record<string, any> }): string => {\n const headlessEditor = createHeadlessEditor({\n nodes: allNodes,\n })\n\n try {\n headlessEditor.setEditorState(headlessEditor.parseEditorState(editorState as any)) // This should commit the editor state immediately\n } catch (e) {\n console.error('getLexicalToMarkdown: ERROR parsing editor state', e)\n }\n\n let markdown: string = ''\n headlessEditor.getEditorState().read(() => {\n markdown = $convertToMarkdownString(allTransformers)\n })\n\n return markdown\n }\n return lexicalToMarkdown\n}\n"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ;AACrC,SAASC,wBAAwB,QAA0B;AAE3D,OAAO,SAASC,qBACdC,QAA4D,EAC5DC,eAA8B;EAE9B,MAAMC,iBAAA,GAAoBA,CAAC;IAAEC;EAAW,CAAwC;IAC9E,MAAMC,cAAA,GAAiBP,oBAAA,CAAqB;MAC1CQ,KAAA,EAAOL;IACT;IAEA,IAAI;MACFI,cAAA,CAAeE,cAAc,CAACF,cAAA,CAAeG,gBAAgB,CAACJ,WAAA,IAAqB;IACrF,EAAE,OAAOK,CAAA,EAAG;MACVC,OAAA,CAAQC,KAAK,CAAC,oDAAoDF,CAAA;IACpE;IAEA,IAAIG,QAAA,GAAmB;IACvBP,cAAA,CAAeQ,cAAc,GAAGC,IAAI,CAAC;MACnCF,QAAA,GAAWb,wBAAA,CAAyBG,eAAA;IACtC;IAEA,OAAOU,QAAA;EACT;EACA,OAAOT,iBAAA;AACT","ignoreList":[]}
@@ -1,5 +1,5 @@
1
+ import type { Transformer } from '@lexical/markdown';
1
2
  import type { Klass, LexicalNode, LexicalNodeReplacement, SerializedEditorState } from 'lexical';
2
- import { type Transformer } from '../../../../packages/@lexical/markdown/index.js';
3
3
  export declare function getMarkdownToLexical(allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>, allTransformers: Transformer[]): (args: {
4
4
  markdown: string;
5
5
  }) => SerializedEditorState;
@@ -1 +1 @@
1
- {"version":3,"file":"getMarkdownToLexical.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/markdown/getMarkdownToLexical.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAIhG,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,iDAAiD,CAAA;AAExD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,sBAAsB,CAAC,EAC5D,eAAe,EAAE,WAAW,EAAE,GAC7B,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,qBAAqB,CAkBvD"}
1
+ {"version":3,"file":"getMarkdownToLexical.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/markdown/getMarkdownToLexical.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAMhG,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,sBAAsB,CAAC,EAC5D,eAAe,EAAE,WAAW,EAAE,GAC7B,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,qBAAqB,CAqBvD"}
@@ -1,5 +1,5 @@
1
1
  import { createHeadlessEditor } from '@lexical/headless';
2
- import { $convertFromMarkdownString } from '../../../../packages/@lexical/markdown/index.js';
2
+ import { $convertFromMarkdownString } from '../../../../lexical/utils/markdown/convertFromMarkdownString.js';
3
3
  export function getMarkdownToLexical(allNodes, allTransformers) {
4
4
  const markdownToLexical = ({
5
5
  markdown
@@ -8,7 +8,10 @@ export function getMarkdownToLexical(allNodes, allTransformers) {
8
8
  nodes: allNodes
9
9
  });
10
10
  headlessEditor.update(() => {
11
- $convertFromMarkdownString(markdown, allTransformers);
11
+ // shouldMergeAdjacentLines is true to preserve how Payload parses block
12
+ // content (multi-line tags, soft-wrapped lines). The exported
13
+ // $convertFromMarkdownString now defaults to false to match upstream.
14
+ $convertFromMarkdownString(markdown, allTransformers, undefined, false, true);
12
15
  }, {
13
16
  discrete: true
14
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"getMarkdownToLexical.js","names":["createHeadlessEditor","$convertFromMarkdownString","getMarkdownToLexical","allNodes","allTransformers","markdownToLexical","markdown","headlessEditor","nodes","update","discrete","editorJSON","getEditorState","toJSON"],"sources":["../../../../../src/features/blocks/client/markdown/getMarkdownToLexical.ts"],"sourcesContent":["import type { Klass, LexicalNode, LexicalNodeReplacement, SerializedEditorState } from 'lexical'\n\nimport { createHeadlessEditor } from '@lexical/headless'\n\nimport {\n $convertFromMarkdownString,\n type Transformer,\n} from '../../../../packages/@lexical/markdown/index.js'\n\nexport function getMarkdownToLexical(\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>,\n allTransformers: Transformer[],\n): (args: { markdown: string }) => SerializedEditorState {\n const markdownToLexical = ({ markdown }: { markdown: string }): SerializedEditorState => {\n const headlessEditor = createHeadlessEditor({\n nodes: allNodes,\n })\n\n headlessEditor.update(\n () => {\n $convertFromMarkdownString(markdown, allTransformers)\n },\n { discrete: true },\n )\n\n const editorJSON = headlessEditor.getEditorState().toJSON()\n\n return editorJSON\n }\n return markdownToLexical\n}\n"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ;AAErC,SACEC,0BAA0B,QAErB;AAEP,OAAO,SAASC,qBACdC,QAA4D,EAC5DC,eAA8B;EAE9B,MAAMC,iBAAA,GAAoBA,CAAC;IAAEC;EAAQ,CAAwB;IAC3D,MAAMC,cAAA,GAAiBP,oBAAA,CAAqB;MAC1CQ,KAAA,EAAOL;IACT;IAEAI,cAAA,CAAeE,MAAM,CACnB;MACER,0BAAA,CAA2BK,QAAA,EAAUF,eAAA;IACvC,GACA;MAAEM,QAAA,EAAU;IAAK;IAGnB,MAAMC,UAAA,GAAaJ,cAAA,CAAeK,cAAc,GAAGC,MAAM;IAEzD,OAAOF,UAAA;EACT;EACA,OAAON,iBAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getMarkdownToLexical.js","names":["createHeadlessEditor","$convertFromMarkdownString","getMarkdownToLexical","allNodes","allTransformers","markdownToLexical","markdown","headlessEditor","nodes","update","undefined","discrete","editorJSON","getEditorState","toJSON"],"sources":["../../../../../src/features/blocks/client/markdown/getMarkdownToLexical.ts"],"sourcesContent":["import type { Transformer } from '@lexical/markdown'\nimport type { Klass, LexicalNode, LexicalNodeReplacement, SerializedEditorState } from 'lexical'\n\nimport { createHeadlessEditor } from '@lexical/headless'\n\nimport { $convertFromMarkdownString } from '../../../../lexical/utils/markdown/convertFromMarkdownString.js'\n\nexport function getMarkdownToLexical(\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>,\n allTransformers: Transformer[],\n): (args: { markdown: string }) => SerializedEditorState {\n const markdownToLexical = ({ markdown }: { markdown: string }): SerializedEditorState => {\n const headlessEditor = createHeadlessEditor({\n nodes: allNodes,\n })\n\n headlessEditor.update(\n () => {\n // shouldMergeAdjacentLines is true to preserve how Payload parses block\n // content (multi-line tags, soft-wrapped lines). The exported\n // $convertFromMarkdownString now defaults to false to match upstream.\n $convertFromMarkdownString(markdown, allTransformers, undefined, false, true)\n },\n { discrete: true },\n )\n\n const editorJSON = headlessEditor.getEditorState().toJSON()\n\n return editorJSON\n }\n return markdownToLexical\n}\n"],"mappings":"AAGA,SAASA,oBAAoB,QAAQ;AAErC,SAASC,0BAA0B,QAAQ;AAE3C,OAAO,SAASC,qBACdC,QAA4D,EAC5DC,eAA8B;EAE9B,MAAMC,iBAAA,GAAoBA,CAAC;IAAEC;EAAQ,CAAwB;IAC3D,MAAMC,cAAA,GAAiBP,oBAAA,CAAqB;MAC1CQ,KAAA,EAAOL;IACT;IAEAI,cAAA,CAAeE,MAAM,CACnB;MACE;MACA;MACA;MACAR,0BAAA,CAA2BK,QAAA,EAAUF,eAAA,EAAiBM,SAAA,EAAW,OAAO;IAC1E,GACA;MAAEC,QAAA,EAAU;IAAK;IAGnB,MAAMC,UAAA,GAAaL,cAAA,CAAeM,cAAc,GAAGC,MAAM;IAEzD,OAAOF,UAAA;EACT;EACA,OAAOP,iBAAA;AACT","ignoreList":[]}
@@ -1,7 +1,6 @@
1
+ import type { MultilineElementTransformer, TextMatchTransformer, Transformer } from '@lexical/markdown';
1
2
  import type { ClientBlock } from 'payload';
2
3
  import { type Klass, type LexicalNode, type LexicalNodeReplacement } from 'lexical';
3
- import type { Transformer } from '../../../../packages/@lexical/markdown/index.js';
4
- import type { MultilineElementTransformer, TextMatchTransformer } from '../../../../packages/@lexical/markdown/MarkdownTransformers.js';
5
4
  export declare const getBlockMarkdownTransformers: ({ blocks, inlineBlocks, }: {
6
5
  blocks: ClientBlock[];
7
6
  inlineBlocks: ClientBlock[];
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/markdown/markdownTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAE5B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAA;AAClF,OAAO,KAAK,EACV,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,gEAAgE,CAAA;AAqBvE,eAAO,MAAM,4BAA4B,GAAI,2BAG1C;IACD,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,YAAY,EAAE,WAAW,EAAE,CAAA;CAC5B,KAAG,CAAC,CAAC,KAAK,EAAE;IACX,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,sBAAsB,CAAC,CAAA;IAC5D,eAAe,EAAE,WAAW,EAAE,CAAA;CAC/B,KAAK,2BAA2B,GAAG,oBAAoB,CAAC,EA8BxD,CAAA"}
1
+ {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/markdown/markdownTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,oBAAoB,EACpB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAE5B,MAAM,SAAS,CAAA;AAqBhB,eAAO,MAAM,4BAA4B,8BAGtC;IACD,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,YAAY,EAAE,WAAW,EAAE,CAAA;CAC5B,KAAG,CAAC,CAAC,KAAK,EAAE;IACX,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,sBAAsB,CAAC,CAAA;IAC5D,eAAe,EAAE,WAAW,EAAE,CAAA;CAC/B,KAAK,2BAA2B,GAAG,oBAAoB,CAAC,EA8BxD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.js","names":["$parseSerializedNode","extractPropsFromJSXPropsString","propsToJSXString","linesFromStartToContentAndPropsString","$createBlockNode","$isBlockNode","BlockNode","$createInlineBlockNode","$isInlineBlockNode","InlineBlockNode","getLexicalToMarkdown","getMarkdownToLexical","createTagRegexes","tagName","escapedTagName","replace","regExpEnd","RegExp","regExpStart","getBlockMarkdownTransformers","blocks","inlineBlocks","length","transformers","block","transformer","getMarkdownTransformerForBlock","concat","isInlineBlock","jsx","regex","slug","toReturn","push","allNodes","allTransformers","type","dependencies","export","node","getFields","blockType","toLowerCase","nodeFields","lexicalToMarkdown","exportResult","fields","hasProps","props","Object","keys","children","getEndIndex","match","endlineLastCharIndex","isEndOptional","lines","getTextContent","regexpEndRegex","startLineIndex","startMatch","trimChildren","importRegExp","customStartRegex","regExp","content","propsString","index","import","markdownToLexical","blockFields","closeMatch","htmlToLexical","openMatch","inlineBlockNode","sanitizedChildren","includes","child","split","sanitizedChild","doNotTrimChildren","handleImportAfterStartMatch","customEndRegex","undefined","rootNode","optional","afterEndLine","beforeStartLine","unsanitizedContent","endLineIndex","endsWith","slice","startsWith","prevNodes","nextNodes","markdown","root","firstPrevNode","append","lastChild","getChildren","linesInBetween","line","childrenString","join","trim"],"sources":["../../../../../src/features/blocks/client/markdown/markdownTransformer.ts"],"sourcesContent":["import type { ClientBlock } from 'payload'\n\nimport {\n $parseSerializedNode,\n type ElementNode,\n type Klass,\n type LexicalNode,\n type LexicalNodeReplacement,\n type SerializedLexicalNode,\n} from 'lexical'\n\nimport type { Transformer } from '../../../../packages/@lexical/markdown/index.js'\nimport type {\n MultilineElementTransformer,\n TextMatchTransformer,\n} from '../../../../packages/@lexical/markdown/MarkdownTransformers.js'\n\nimport { extractPropsFromJSXPropsString } from '../../../../utilities/jsx/extractPropsFromJSXPropsString.js'\nimport { propsToJSXString } from '../../../../utilities/jsx/jsx.js'\nimport { linesFromStartToContentAndPropsString } from '../../server/markdown/linesFromMatchToContentAndPropsString.js'\nimport { $createBlockNode, $isBlockNode, BlockNode } from '../nodes/BlocksNode.js'\nimport {\n $createInlineBlockNode,\n $isInlineBlockNode,\n InlineBlockNode,\n} from '../nodes/InlineBlocksNode.js'\nimport { getLexicalToMarkdown } from './getLexicalToMarkdown.js'\nimport { getMarkdownToLexical } from './getMarkdownToLexical.js'\n\nfunction createTagRegexes(tagName: string) {\n const escapedTagName = tagName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n return {\n regExpEnd: new RegExp(`</(${escapedTagName})\\\\s*>|<${escapedTagName}[^>]*?/>`, 'i'),\n regExpStart: new RegExp(`<(${escapedTagName})([^>]*?)\\\\s*(/?)>`, 'i'),\n }\n}\nexport const getBlockMarkdownTransformers = ({\n blocks,\n inlineBlocks,\n}: {\n blocks: ClientBlock[]\n inlineBlocks: ClientBlock[]\n}): ((props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n}) => MultilineElementTransformer | TextMatchTransformer)[] => {\n if (!blocks?.length && !inlineBlocks?.length) {\n return []\n }\n let transformers: ((props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer)[] = []\n\n if (blocks?.length) {\n for (const block of blocks) {\n const transformer = getMarkdownTransformerForBlock(block, false)\n\n if (transformer) {\n transformers = transformers.concat(transformer)\n }\n }\n }\n\n if (inlineBlocks?.length) {\n for (const block of inlineBlocks) {\n const transformer = getMarkdownTransformerForBlock(block, true)\n\n if (transformer) {\n transformers = transformers.concat(transformer)\n }\n }\n }\n\n return transformers\n}\n\nfunction getMarkdownTransformerForBlock(\n block: ClientBlock,\n isInlineBlock: boolean,\n): Array<\n (props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer\n> | null {\n if (!block.jsx) {\n return null\n }\n const regex = createTagRegexes(block.slug)\n const toReturn: Array<\n (props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer\n > = []\n\n if (isInlineBlock) {\n toReturn.push(({ allNodes, allTransformers }) => ({\n type: 'text-match',\n dependencies: [InlineBlockNode],\n export: (node) => {\n if (!$isInlineBlockNode(node)) {\n return null\n }\n\n if (node.getFields()?.blockType?.toLowerCase() !== block.slug.toLowerCase()) {\n return null\n }\n\n const nodeFields = node.getFields()\n const lexicalToMarkdown = getLexicalToMarkdown(allNodes, allTransformers)\n\n const exportResult = block.jsx!.export({\n fields: nodeFields,\n lexicalToMarkdown,\n })\n if (exportResult === false) {\n return null\n }\n if (typeof exportResult === 'string') {\n return exportResult\n }\n\n const hasProps = exportResult.props && Object.keys(exportResult.props)?.length > 0\n const props = exportResult.props ?? {}\n\n if (exportResult?.children?.length) {\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}>${exportResult.children}</${nodeFields.blockType}>`\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}/>`\n },\n getEndIndex: (node, match) => {\n const { endlineLastCharIndex } = linesFromStartToContentAndPropsString({\n isEndOptional: false,\n lines: [node.getTextContent()],\n regexpEndRegex: regex.regExpEnd,\n startLineIndex: 0,\n startMatch: match,\n trimChildren: false,\n })\n\n return endlineLastCharIndex\n },\n importRegExp: block.jsx?.customStartRegex ?? regex.regExpStart,\n regExp: /___ignoreignoreignore___/g,\n replace(node, match) {\n const { content, propsString } = linesFromStartToContentAndPropsString({\n isEndOptional: false,\n lines: [node.getTextContent()],\n regexpEndRegex: regex.regExpEnd,\n startLineIndex: 0,\n startMatch: {\n ...match,\n index: 0,\n },\n trimChildren: false,\n })\n\n if (!block?.jsx?.import) {\n // No multiline transformer handled this line successfully\n return\n }\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: content,\n closeMatch: null,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: match,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return\n }\n\n const inlineBlockNode = $createInlineBlockNode({\n blockType: block.slug,\n ...(blockFields as any),\n })\n\n node.replace(inlineBlockNode)\n },\n }))\n\n return toReturn\n }\n\n toReturn.push(({ allNodes, allTransformers }) => ({\n dependencies: [BlockNode],\n export: (node) => {\n if (!$isBlockNode(node)) {\n return null\n }\n\n if (node.getFields()?.blockType?.toLowerCase() !== block.slug.toLowerCase()) {\n return null\n }\n\n const nodeFields = node.getFields()\n const lexicalToMarkdown = getLexicalToMarkdown(allNodes, allTransformers)\n\n const exportResult = block.jsx!.export({\n fields: nodeFields,\n lexicalToMarkdown,\n })\n if (exportResult === false) {\n return null\n }\n if (typeof exportResult === 'string') {\n return exportResult\n }\n\n const hasProps = exportResult.props && Object.keys(exportResult.props)?.length > 0\n const props = exportResult.props ?? {}\n\n if (exportResult?.children?.length) {\n const children = exportResult.children\n let sanitizedChildren = ''\n\n // Ensure it has a leftpad of at least 2 spaces. The data is saved without those spaces, so we can just blindly add it to every child\n if (children.includes('\\n')) {\n for (const child of children.split('\\n')) {\n let sanitizedChild = ''\n if (!block?.jsx?.doNotTrimChildren && child !== '') {\n sanitizedChild = ' '\n }\n sanitizedChild += child + '\\n'\n\n sanitizedChildren += sanitizedChild\n }\n } else {\n sanitizedChildren = (block?.jsx?.doNotTrimChildren ? '' : ' ') + children + '\\n'\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}>\\n${sanitizedChildren}</${nodeFields.blockType}>`\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}/>`\n },\n handleImportAfterStartMatch: block.jsx?.customEndRegex\n ? undefined\n : ({ lines, rootNode, startLineIndex, startMatch, transformer }) => {\n const regexpEndRegex: RegExp | undefined =\n typeof transformer.regExpEnd === 'object' && 'regExp' in transformer.regExpEnd\n ? transformer.regExpEnd.regExp\n : transformer.regExpEnd\n\n const isEndOptional =\n transformer.regExpEnd &&\n typeof transformer.regExpEnd === 'object' &&\n 'optional' in transformer.regExpEnd\n ? transformer.regExpEnd.optional\n : !transformer.regExpEnd\n\n const {\n afterEndLine,\n beforeStartLine,\n content: unsanitizedContent,\n endLineIndex,\n propsString,\n } = linesFromStartToContentAndPropsString({\n isEndOptional,\n lines,\n regexpEndRegex,\n startLineIndex,\n startMatch,\n trimChildren: false,\n })\n\n let content = ''\n\n if (block?.jsx?.doNotTrimChildren) {\n content = unsanitizedContent.endsWith('\\n')\n ? unsanitizedContent.slice(0, -1)\n : unsanitizedContent\n } else {\n // Ensure it has a leftpad of at least 2 spaces. The data is saved without those spaces, so we can just blindly add it to every child\n if (unsanitizedContent.includes('\\n')) {\n const split = unsanitizedContent.split('\\n')\n let index = 0\n for (const child of split) {\n index++\n\n if (child.startsWith(' ')) {\n content += child.slice(2)\n } else {\n // If one child is misaligned, skip aligning completely, unless it's just empty\n if (child === '') {\n content += child\n } else {\n content = unsanitizedContent.endsWith('\\n')\n ? unsanitizedContent.slice(0, -1)\n : unsanitizedContent\n break\n }\n }\n\n content += index === split.length ? '' : '\\n'\n }\n } else {\n content =\n (!unsanitizedContent.startsWith(' ')\n ? unsanitizedContent\n : unsanitizedContent.slice(2)) + '\\n'\n }\n }\n\n if (!block?.jsx?.import) {\n // No multiline transformer handled this line successfully\n return [false, startLineIndex]\n }\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: content,\n closeMatch: null,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: startMatch,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return [false, startLineIndex]\n }\n\n const node = $createBlockNode({\n ...blockFields,\n blockType: block.slug,\n })\n\n if (node) {\n // Now handle beforeStartLine and afterEndLine. If those are not empty, we need to add them as text nodes before and after the block node.\n // However, those themselves can contain other markdown matches, so we need to parse them as well.\n // Example where this is needed: \"Hello <InlineCode>inline code</InlineCode> test.\"\n let prevNodes: null | SerializedLexicalNode[] = null\n let nextNodes: null | SerializedLexicalNode[] = null\n // TODO: Might not need this prevNodes and nextNodes handling if inline nodes are handled by textmatch transformers\n\n if (beforeStartLine?.length) {\n prevNodes = markdownToLexical({ markdown: beforeStartLine })?.root?.children ?? []\n\n const firstPrevNode = prevNodes?.[0]\n if (firstPrevNode) {\n rootNode.append($parseSerializedNode(firstPrevNode))\n }\n }\n\n rootNode.append(node)\n\n if (afterEndLine?.length) {\n nextNodes = markdownToLexical({ markdown: afterEndLine })?.root?.children\n const lastChild = rootNode.getChildren()[rootNode.getChildren().length - 1]\n\n const children = ($parseSerializedNode(nextNodes[0]!) as ElementNode)?.getChildren()\n if (children?.length) {\n for (const child of children) {\n ;(lastChild as ElementNode).append(child)\n }\n }\n }\n }\n\n return [true, endLineIndex]\n },\n regExpEnd: block.jsx?.customEndRegex ?? regex.regExpEnd,\n regExpStart: block.jsx?.customStartRegex ?? regex.regExpStart,\n // This replace is ONLY run for ``` code blocks (so any blocks with custom start and end regexes). For others, we use the special JSX handling above:\n type: 'multiline-element',\n replace: (rootNode, children, openMatch, closeMatch, linesInBetween) => {\n if (block?.jsx?.import) {\n if (!linesInBetween) {\n // convert children to linesInBetween\n let line = ''\n if (children) {\n for (const child of children) {\n line += child.getTextContent()\n }\n }\n\n linesInBetween = [line]\n }\n\n let childrenString = ''\n if (block?.jsx?.doNotTrimChildren) {\n childrenString = linesInBetween.join('\\n')\n } else {\n childrenString = linesInBetween.join('\\n').trim()\n }\n\n const propsString = openMatch[1]?.trim()\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: childrenString,\n closeMatch: closeMatch as RegExpMatchArray,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: openMatch as RegExpMatchArray,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return false\n }\n\n const node = $createBlockNode({\n ...blockFields,\n blockType: block.slug,\n })\n\n if (node) {\n rootNode.append(node)\n }\n\n return\n }\n return false // Run next transformer\n },\n }))\n\n return toReturn\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"markdownTransformer.js","names":["$parseSerializedNode","extractPropsFromJSXPropsString","propsToJSXString","linesFromStartToContentAndPropsString","$createBlockNode","$isBlockNode","BlockNode","$createInlineBlockNode","$isInlineBlockNode","InlineBlockNode","getLexicalToMarkdown","getMarkdownToLexical","createTagRegexes","tagName","escapedTagName","replace","regExpEnd","RegExp","regExpStart","getBlockMarkdownTransformers","blocks","inlineBlocks","length","transformers","block","transformer","getMarkdownTransformerForBlock","concat","isInlineBlock","jsx","regex","slug","toReturn","push","allNodes","allTransformers","type","dependencies","export","node","getFields","blockType","toLowerCase","nodeFields","lexicalToMarkdown","exportResult","fields","hasProps","props","Object","keys","children","getEndIndex","match","endlineLastCharIndex","isEndOptional","lines","getTextContent","regexpEndRegex","startLineIndex","startMatch","trimChildren","importRegExp","customStartRegex","regExp","content","propsString","index","import","markdownToLexical","blockFields","closeMatch","htmlToLexical","openMatch","inlineBlockNode","sanitizedChildren","includes","child","split","sanitizedChild","doNotTrimChildren","handleImportAfterStartMatch","customEndRegex","undefined","rootNode","optional","afterEndLine","beforeStartLine","unsanitizedContent","endLineIndex","endsWith","slice","startsWith","prevNodes","nextNodes","markdown","root","firstPrevNode","append","lastChild","getChildren","linesInBetween","line","childrenString","join","trim"],"sources":["../../../../../src/features/blocks/client/markdown/markdownTransformer.ts"],"sourcesContent":["import type {\n MultilineElementTransformer,\n TextMatchTransformer,\n Transformer,\n} from '@lexical/markdown'\nimport type { ClientBlock } from 'payload'\n\nimport {\n $parseSerializedNode,\n type ElementNode,\n type Klass,\n type LexicalNode,\n type LexicalNodeReplacement,\n type SerializedLexicalNode,\n} from 'lexical'\n\nimport { extractPropsFromJSXPropsString } from '../../../../utilities/jsx/extractPropsFromJSXPropsString.js'\nimport { propsToJSXString } from '../../../../utilities/jsx/jsx.js'\nimport { linesFromStartToContentAndPropsString } from '../../server/markdown/linesFromMatchToContentAndPropsString.js'\nimport { $createBlockNode, $isBlockNode, BlockNode } from '../nodes/BlocksNode.js'\nimport {\n $createInlineBlockNode,\n $isInlineBlockNode,\n InlineBlockNode,\n} from '../nodes/InlineBlocksNode.js'\nimport { getLexicalToMarkdown } from './getLexicalToMarkdown.js'\nimport { getMarkdownToLexical } from './getMarkdownToLexical.js'\n\nfunction createTagRegexes(tagName: string) {\n const escapedTagName = tagName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n return {\n regExpEnd: new RegExp(`</(${escapedTagName})\\\\s*>|<${escapedTagName}[^>]*?/>`, 'i'),\n regExpStart: new RegExp(`<(${escapedTagName})([^>]*?)\\\\s*(/?)>`, 'i'),\n }\n}\nexport const getBlockMarkdownTransformers = ({\n blocks,\n inlineBlocks,\n}: {\n blocks: ClientBlock[]\n inlineBlocks: ClientBlock[]\n}): ((props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n}) => MultilineElementTransformer | TextMatchTransformer)[] => {\n if (!blocks?.length && !inlineBlocks?.length) {\n return []\n }\n let transformers: ((props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer)[] = []\n\n if (blocks?.length) {\n for (const block of blocks) {\n const transformer = getMarkdownTransformerForBlock(block, false)\n\n if (transformer) {\n transformers = transformers.concat(transformer)\n }\n }\n }\n\n if (inlineBlocks?.length) {\n for (const block of inlineBlocks) {\n const transformer = getMarkdownTransformerForBlock(block, true)\n\n if (transformer) {\n transformers = transformers.concat(transformer)\n }\n }\n }\n\n return transformers\n}\n\nfunction getMarkdownTransformerForBlock(\n block: ClientBlock,\n isInlineBlock: boolean,\n): Array<\n (props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer\n> | null {\n if (!block.jsx) {\n return null\n }\n const regex = createTagRegexes(block.slug)\n const toReturn: Array<\n (props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer\n > = []\n\n if (isInlineBlock) {\n toReturn.push(({ allNodes, allTransformers }) => ({\n type: 'text-match',\n dependencies: [InlineBlockNode],\n export: (node) => {\n if (!$isInlineBlockNode(node)) {\n return null\n }\n\n if (node.getFields()?.blockType?.toLowerCase() !== block.slug.toLowerCase()) {\n return null\n }\n\n const nodeFields = node.getFields()\n const lexicalToMarkdown = getLexicalToMarkdown(allNodes, allTransformers)\n\n const exportResult = block.jsx!.export({\n fields: nodeFields,\n lexicalToMarkdown,\n })\n if (exportResult === false) {\n return null\n }\n if (typeof exportResult === 'string') {\n return exportResult\n }\n\n const hasProps = exportResult.props && Object.keys(exportResult.props)?.length > 0\n const props = exportResult.props ?? {}\n\n if (exportResult?.children?.length) {\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}>${exportResult.children}</${nodeFields.blockType}>`\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}/>`\n },\n getEndIndex: (node, match) => {\n const { endlineLastCharIndex } = linesFromStartToContentAndPropsString({\n isEndOptional: false,\n lines: [node.getTextContent()],\n regexpEndRegex: regex.regExpEnd,\n startLineIndex: 0,\n startMatch: match,\n trimChildren: false,\n })\n\n return endlineLastCharIndex\n },\n importRegExp: block.jsx?.customStartRegex ?? regex.regExpStart,\n regExp: /___ignoreignoreignore___/g,\n replace(node, match) {\n const { content, propsString } = linesFromStartToContentAndPropsString({\n isEndOptional: false,\n lines: [node.getTextContent()],\n regexpEndRegex: regex.regExpEnd,\n startLineIndex: 0,\n startMatch: {\n ...match,\n index: 0,\n },\n trimChildren: false,\n })\n\n if (!block?.jsx?.import) {\n // No multiline transformer handled this line successfully\n return\n }\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: content,\n closeMatch: null,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: match,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return\n }\n\n const inlineBlockNode = $createInlineBlockNode({\n blockType: block.slug,\n ...(blockFields as any),\n })\n\n node.replace(inlineBlockNode)\n },\n }))\n\n return toReturn\n }\n\n toReturn.push(({ allNodes, allTransformers }) => ({\n dependencies: [BlockNode],\n export: (node) => {\n if (!$isBlockNode(node)) {\n return null\n }\n\n if (node.getFields()?.blockType?.toLowerCase() !== block.slug.toLowerCase()) {\n return null\n }\n\n const nodeFields = node.getFields()\n const lexicalToMarkdown = getLexicalToMarkdown(allNodes, allTransformers)\n\n const exportResult = block.jsx!.export({\n fields: nodeFields,\n lexicalToMarkdown,\n })\n if (exportResult === false) {\n return null\n }\n if (typeof exportResult === 'string') {\n return exportResult\n }\n\n const hasProps = exportResult.props && Object.keys(exportResult.props)?.length > 0\n const props = exportResult.props ?? {}\n\n if (exportResult?.children?.length) {\n const children = exportResult.children\n let sanitizedChildren = ''\n\n // Ensure it has a leftpad of at least 2 spaces. The data is saved without those spaces, so we can just blindly add it to every child\n if (children.includes('\\n')) {\n for (const child of children.split('\\n')) {\n let sanitizedChild = ''\n if (!block?.jsx?.doNotTrimChildren && child !== '') {\n sanitizedChild = ' '\n }\n sanitizedChild += child + '\\n'\n\n sanitizedChildren += sanitizedChild\n }\n } else {\n sanitizedChildren = (block?.jsx?.doNotTrimChildren ? '' : ' ') + children + '\\n'\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}>\\n${sanitizedChildren}</${nodeFields.blockType}>`\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}/>`\n },\n handleImportAfterStartMatch: block.jsx?.customEndRegex\n ? undefined\n : ({ lines, rootNode, startLineIndex, startMatch, transformer }) => {\n const regexpEndRegex: RegExp | undefined =\n typeof transformer.regExpEnd === 'object' && 'regExp' in transformer.regExpEnd\n ? transformer.regExpEnd.regExp\n : transformer.regExpEnd\n\n const isEndOptional =\n transformer.regExpEnd &&\n typeof transformer.regExpEnd === 'object' &&\n 'optional' in transformer.regExpEnd\n ? transformer.regExpEnd.optional\n : !transformer.regExpEnd\n\n const {\n afterEndLine,\n beforeStartLine,\n content: unsanitizedContent,\n endLineIndex,\n propsString,\n } = linesFromStartToContentAndPropsString({\n isEndOptional,\n lines,\n regexpEndRegex,\n startLineIndex,\n startMatch,\n trimChildren: false,\n })\n\n let content = ''\n\n if (block?.jsx?.doNotTrimChildren) {\n content = unsanitizedContent.endsWith('\\n')\n ? unsanitizedContent.slice(0, -1)\n : unsanitizedContent\n } else {\n // Ensure it has a leftpad of at least 2 spaces. The data is saved without those spaces, so we can just blindly add it to every child\n if (unsanitizedContent.includes('\\n')) {\n const split = unsanitizedContent.split('\\n')\n let index = 0\n for (const child of split) {\n index++\n\n if (child.startsWith(' ')) {\n content += child.slice(2)\n } else {\n // If one child is misaligned, skip aligning completely, unless it's just empty\n if (child === '') {\n content += child\n } else {\n content = unsanitizedContent.endsWith('\\n')\n ? unsanitizedContent.slice(0, -1)\n : unsanitizedContent\n break\n }\n }\n\n content += index === split.length ? '' : '\\n'\n }\n } else {\n content =\n (!unsanitizedContent.startsWith(' ')\n ? unsanitizedContent\n : unsanitizedContent.slice(2)) + '\\n'\n }\n }\n\n if (!block?.jsx?.import) {\n // No multiline transformer handled this line successfully\n return [false, startLineIndex]\n }\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: content,\n closeMatch: null,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: startMatch,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return [false, startLineIndex]\n }\n\n const node = $createBlockNode({\n ...blockFields,\n blockType: block.slug,\n })\n\n if (node) {\n // Now handle beforeStartLine and afterEndLine. If those are not empty, we need to add them as text nodes before and after the block node.\n // However, those themselves can contain other markdown matches, so we need to parse them as well.\n // Example where this is needed: \"Hello <InlineCode>inline code</InlineCode> test.\"\n let prevNodes: null | SerializedLexicalNode[] = null\n let nextNodes: null | SerializedLexicalNode[] = null\n // TODO: Might not need this prevNodes and nextNodes handling if inline nodes are handled by textmatch transformers\n\n if (beforeStartLine?.length) {\n prevNodes = markdownToLexical({ markdown: beforeStartLine })?.root?.children ?? []\n\n const firstPrevNode = prevNodes?.[0]\n if (firstPrevNode) {\n rootNode.append($parseSerializedNode(firstPrevNode))\n }\n }\n\n rootNode.append(node)\n\n if (afterEndLine?.length) {\n nextNodes = markdownToLexical({ markdown: afterEndLine })?.root?.children\n const lastChild = rootNode.getChildren()[rootNode.getChildren().length - 1]\n\n const children = ($parseSerializedNode(nextNodes[0]!) as ElementNode)?.getChildren()\n if (children?.length) {\n for (const child of children) {\n ;(lastChild as ElementNode).append(child)\n }\n }\n }\n }\n\n return [true, endLineIndex]\n },\n regExpEnd: block.jsx?.customEndRegex ?? regex.regExpEnd,\n regExpStart: block.jsx?.customStartRegex ?? regex.regExpStart,\n // This replace is ONLY run for ``` code blocks (so any blocks with custom start and end regexes). For others, we use the special JSX handling above:\n type: 'multiline-element',\n replace: (rootNode, children, openMatch, closeMatch, linesInBetween) => {\n if (block?.jsx?.import) {\n if (!linesInBetween) {\n // convert children to linesInBetween\n let line = ''\n if (children) {\n for (const child of children) {\n line += child.getTextContent()\n }\n }\n\n linesInBetween = [line]\n }\n\n let childrenString = ''\n if (block?.jsx?.doNotTrimChildren) {\n childrenString = linesInBetween.join('\\n')\n } else {\n childrenString = linesInBetween.join('\\n').trim()\n }\n\n const propsString = openMatch[1]?.trim()\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: childrenString,\n closeMatch: closeMatch as RegExpMatchArray,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: openMatch as RegExpMatchArray,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return false\n }\n\n const node = $createBlockNode({\n ...blockFields,\n blockType: block.slug,\n })\n\n if (node) {\n rootNode.append(node)\n }\n\n return\n }\n return false // Run next transformer\n },\n }))\n\n return toReturn\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/nodes/BlocksNode.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAExF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAGlE,MAAM,MAAM,qBAAqB,GAAG,CAClC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC,EAClD,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC,KAC/C,GAAG,CAAC,OAAO,CAAA;AAEhB,qBAAa,SAAU,SAAQ,eAAe;WAC5B,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe;WAI7C,OAAO,IAAI,MAAM;WAIjB,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IAgBjE,QAAQ,CACf,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,GAChF,UAAU,CAAC,qBAAqB,CAAC;IAa3B,UAAU,IAAI,mBAAmB;CAG3C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CASzE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,SAAS,CAEhG"}
1
+ {"version":3,"file":"BlocksNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/nodes/BlocksNode.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAExF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAGlE,MAAM,MAAM,qBAAqB,GAAG,CAClC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC,EAClD,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC,KAC/C,GAAG,CAAC,OAAO,CAAA;AAEhB,qBAAa,SAAU,SAAQ,eAAe;IAC5C,OAAgB,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAE5D;IAED,OAAgB,OAAO,IAAI,MAAM,CAEhC;IAED,OAAgB,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS,CAIzE;IAEQ,QAAQ,CACf,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,GAChF,UAAU,CAAC,qBAAqB,CAAC,CAWnC;IAEQ,UAAU,IAAI,mBAAmB,CAEzC;CACF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CASzE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,SAAS,CAEhG"}
@@ -14,16 +14,6 @@ export class BlockNode extends ServerBlockNode {
14
14
  return super.getType();
15
15
  }
16
16
  static importJSON(serializedNode) {
17
- if (serializedNode.version === 1) {
18
- // Convert (version 1 had the fields wrapped in another, unnecessary data property)
19
- serializedNode = {
20
- ...serializedNode,
21
- fields: {
22
- ...serializedNode.fields.data
23
- },
24
- version: 2
25
- };
26
- }
27
17
  const node = $createBlockNode(serializedNode.fields);
28
18
  node.setFormat(serializedNode.format);
29
19
  return node;
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksNode.js","names":["ObjectID","$applyNodeReplacement","React","ServerBlockNode","BlockComponent","BlockNode","clone","node","getType","importJSON","serializedNode","version","fields","data","$createBlockNode","setFormat","format","decorate","_editor","config","CustomBlock","CustomLabel","_jsx","cacheBuster","getCacheBuster","className","theme","block","formData","getFields","nodeKey","getKey","exportJSON","id","default","toHexString","$isBlockNode"],"sources":["../../../../../src/features/blocks/client/nodes/BlocksNode.tsx"],"sourcesContent":["'use client'\nimport ObjectID from 'bson-objectid'\nimport {\n $applyNodeReplacement,\n type EditorConfig,\n type LexicalEditor,\n type LexicalNode,\n} from 'lexical'\nimport React, { type JSX } from 'react'\n\nimport type { ViewMapBlockComponentProps } from '../../../../types/index.js'\nimport type { BlockFieldsOptionalID, SerializedBlockNode } from '../../server/schema.js'\n\nimport { ServerBlockNode } from '../../server/nodes/BlocksNode.js'\nimport { BlockComponent } from '../component/index.js'\n\nexport type BlockDecorateFunction = (\n editor: LexicalEditor,\n config: EditorConfig,\n CustomBlock?: React.FC<ViewMapBlockComponentProps>,\n CustomLabel?: React.FC<ViewMapBlockComponentProps>,\n) => JSX.Element\n\nexport class BlockNode extends ServerBlockNode {\n static override clone(node: ServerBlockNode): ServerBlockNode {\n return super.clone(node)\n }\n\n static override getType(): string {\n return super.getType()\n }\n\n static override importJSON(serializedNode: SerializedBlockNode): BlockNode {\n if (serializedNode.version === 1) {\n // Convert (version 1 had the fields wrapped in another, unnecessary data property)\n serializedNode = {\n ...serializedNode,\n fields: {\n ...(serializedNode as any).fields.data,\n },\n version: 2,\n }\n }\n const node = $createBlockNode(serializedNode.fields)\n node.setFormat(serializedNode.format)\n return node\n }\n\n override decorate(\n ...[_editor, config, CustomBlock, CustomLabel]: Parameters<BlockDecorateFunction>\n ): ReturnType<BlockDecorateFunction> {\n return (\n <BlockComponent\n cacheBuster={this.getCacheBuster()}\n className={config.theme.block ?? 'LexicalEditorTheme__block'}\n CustomBlock={CustomBlock}\n CustomLabel={CustomLabel}\n formData={this.getFields()}\n nodeKey={this.getKey()}\n />\n )\n }\n\n override exportJSON(): SerializedBlockNode {\n return super.exportJSON()\n }\n}\n\nexport function $createBlockNode(fields: BlockFieldsOptionalID): BlockNode {\n return $applyNodeReplacement(\n new BlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n }),\n )\n}\n\nexport function $isBlockNode(node: BlockNode | LexicalNode | null | undefined): node is BlockNode {\n return node instanceof BlockNode\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,QAAA,MAAc;AACrB,SACEC,qBAAqB,QAIhB;AACP,OAAOC,KAAA,MAAyB;AAKhC,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAS/B,OAAO,MAAMC,SAAA,SAAkBF,eAAA;EAC7B,OAAgBG,MAAMC,IAAqB,EAAmB;IAC5D,OAAO,KAAK,CAACD,KAAA,CAAMC,IAAA;EACrB;EAEA,OAAgBC,QAAA,EAAkB;IAChC,OAAO,KAAK,CAACA,OAAA;EACf;EAEA,OAAgBC,WAAWC,cAAmC,EAAa;IACzE,IAAIA,cAAA,CAAeC,OAAO,KAAK,GAAG;MAChC;MACAD,cAAA,GAAiB;QACf,GAAGA,cAAc;QACjBE,MAAA,EAAQ;UACN,GAAGF,cAAC,CAAuBE,MAAM,CAACC;QACpC;QACAF,OAAA,EAAS;MACX;IACF;IACA,MAAMJ,IAAA,GAAOO,gBAAA,CAAiBJ,cAAA,CAAeE,MAAM;IACnDL,IAAA,CAAKQ,SAAS,CAACL,cAAA,CAAeM,MAAM;IACpC,OAAOT,IAAA;EACT;EAESU,SACP,GAAG,CAACC,OAAA,EAASC,MAAA,EAAQC,WAAA,EAAaC,WAAA,CAAY,EACX;IACnC,oBACEC,IAAA,CAAClB,cAAA;MACCmB,WAAA,EAAa,IAAI,CAACC,cAAc;MAChCC,SAAA,EAAWN,MAAA,CAAOO,KAAK,CAACC,KAAK,IAAI;MACjCP,WAAA,EAAaA,WAAA;MACbC,WAAA,EAAaA,WAAA;MACbO,QAAA,EAAU,IAAI,CAACC,SAAS;MACxBC,OAAA,EAAS,IAAI,CAACC,MAAM;;EAG1B;EAESC,WAAA,EAAkC;IACzC,OAAO,KAAK,CAACA,UAAA;EACf;AACF;AAEA,OAAO,SAASlB,iBAAiBF,MAA6B;EAC5D,OAAOX,qBAAA,CACL,IAAII,SAAA,CAAU;IACZO,MAAA,EAAQ;MACN,GAAGA,MAAM;MACTqB,EAAA,EAAIrB,MAAA,EAAQqB,EAAA,IAAM,IAAIjC,QAAA,CAASkC,OAAO,GAAGC,WAAW;IACtD;EACF;AAEJ;AAEA,OAAO,SAASC,aAAa7B,IAAgD;EAC3E,OAAOA,IAAA,YAAgBF,SAAA;AACzB","ignoreList":[]}
1
+ {"version":3,"file":"BlocksNode.js","names":["ObjectID","$applyNodeReplacement","React","ServerBlockNode","BlockComponent","BlockNode","clone","node","getType","importJSON","serializedNode","$createBlockNode","fields","setFormat","format","decorate","_editor","config","CustomBlock","CustomLabel","_jsx","cacheBuster","getCacheBuster","className","theme","block","formData","getFields","nodeKey","getKey","exportJSON","id","default","toHexString","$isBlockNode"],"sources":["../../../../../src/features/blocks/client/nodes/BlocksNode.tsx"],"sourcesContent":["'use client'\nimport ObjectID from 'bson-objectid'\nimport {\n $applyNodeReplacement,\n type EditorConfig,\n type LexicalEditor,\n type LexicalNode,\n} from 'lexical'\nimport React, { type JSX } from 'react'\n\nimport type { ViewMapBlockComponentProps } from '../../../../types/index.js'\nimport type { BlockFieldsOptionalID, SerializedBlockNode } from '../../server/schema.js'\n\nimport { ServerBlockNode } from '../../server/nodes/BlocksNode.js'\nimport { BlockComponent } from '../component/index.js'\n\nexport type BlockDecorateFunction = (\n editor: LexicalEditor,\n config: EditorConfig,\n CustomBlock?: React.FC<ViewMapBlockComponentProps>,\n CustomLabel?: React.FC<ViewMapBlockComponentProps>,\n) => JSX.Element\n\nexport class BlockNode extends ServerBlockNode {\n static override clone(node: ServerBlockNode): ServerBlockNode {\n return super.clone(node)\n }\n\n static override getType(): string {\n return super.getType()\n }\n\n static override importJSON(serializedNode: SerializedBlockNode): BlockNode {\n const node = $createBlockNode(serializedNode.fields)\n node.setFormat(serializedNode.format)\n return node\n }\n\n override decorate(\n ...[_editor, config, CustomBlock, CustomLabel]: Parameters<BlockDecorateFunction>\n ): ReturnType<BlockDecorateFunction> {\n return (\n <BlockComponent\n cacheBuster={this.getCacheBuster()}\n className={config.theme.block ?? 'LexicalEditorTheme__block'}\n CustomBlock={CustomBlock}\n CustomLabel={CustomLabel}\n formData={this.getFields()}\n nodeKey={this.getKey()}\n />\n )\n }\n\n override exportJSON(): SerializedBlockNode {\n return super.exportJSON()\n }\n}\n\nexport function $createBlockNode(fields: BlockFieldsOptionalID): BlockNode {\n return $applyNodeReplacement(\n new BlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n }),\n )\n}\n\nexport function $isBlockNode(node: BlockNode | LexicalNode | null | undefined): node is BlockNode {\n return node instanceof BlockNode\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,QAAA,MAAc;AACrB,SACEC,qBAAqB,QAIhB;AACP,OAAOC,KAAA,MAAyB;AAKhC,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAS/B,OAAO,MAAMC,SAAA,SAAkBF,eAAA;EAC7B,OAAgBG,MAAMC,IAAqB,EAAmB;IAC5D,OAAO,KAAK,CAACD,KAAA,CAAMC,IAAA;EACrB;EAEA,OAAgBC,QAAA,EAAkB;IAChC,OAAO,KAAK,CAACA,OAAA;EACf;EAEA,OAAgBC,WAAWC,cAAmC,EAAa;IACzE,MAAMH,IAAA,GAAOI,gBAAA,CAAiBD,cAAA,CAAeE,MAAM;IACnDL,IAAA,CAAKM,SAAS,CAACH,cAAA,CAAeI,MAAM;IACpC,OAAOP,IAAA;EACT;EAESQ,SACP,GAAG,CAACC,OAAA,EAASC,MAAA,EAAQC,WAAA,EAAaC,WAAA,CAAY,EACX;IACnC,oBACEC,IAAA,CAAChB,cAAA;MACCiB,WAAA,EAAa,IAAI,CAACC,cAAc;MAChCC,SAAA,EAAWN,MAAA,CAAOO,KAAK,CAACC,KAAK,IAAI;MACjCP,WAAA,EAAaA,WAAA;MACbC,WAAA,EAAaA,WAAA;MACbO,QAAA,EAAU,IAAI,CAACC,SAAS;MACxBC,OAAA,EAAS,IAAI,CAACC,MAAM;;EAG1B;EAESC,WAAA,EAAkC;IACzC,OAAO,KAAK,CAACA,UAAA;EACf;AACF;AAEA,OAAO,SAASnB,iBAAiBC,MAA6B;EAC5D,OAAOX,qBAAA,CACL,IAAII,SAAA,CAAU;IACZO,MAAA,EAAQ;MACN,GAAGA,MAAM;MACTmB,EAAA,EAAInB,MAAA,EAAQmB,EAAA,IAAM,IAAI/B,QAAA,CAASgC,OAAO,GAAGC,WAAW;IACtD;EACF;AAEJ;AAEA,OAAO,SAASC,aAAa3B,IAAgD;EAC3E,OAAOA,IAAA,YAAgBF,SAAA;AACzB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"InlineBlocksNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/nodes/InlineBlocksNode.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAE1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAQ9E,MAAM,MAAM,2BAA2B,GAAG,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAAC,EACxD,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAAC,KACrD,GAAG,CAAC,OAAO,CAAA;AAEhB,qBAAa,eAAgB,SAAQ,qBAAqB;WACxC,KAAK,CAAC,IAAI,EAAE,qBAAqB,GAAG,qBAAqB;WAIzD,OAAO,IAAI,MAAM;WAIjB,UAAU,CAAC,cAAc,EAAE,yBAAyB,GAAG,eAAe;IAK7E,QAAQ,CACf,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,2BAA2B,CAAC,GACtF,UAAU,CAAC,2BAA2B,CAAC;IAajC,UAAU,IAAI,yBAAyB;CAGjD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,eAAe,CAShG;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GACrD,IAAI,IAAI,eAAe,CAEzB"}
1
+ {"version":3,"file":"InlineBlocksNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/nodes/InlineBlocksNode.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAE1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAQ9E,MAAM,MAAM,2BAA2B,GAAG,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAAC,EACxD,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAAC,KACrD,GAAG,CAAC,OAAO,CAAA;AAEhB,qBAAa,eAAgB,SAAQ,qBAAqB;IACxD,OAAgB,KAAK,CAAC,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,CAExE;IAED,OAAgB,OAAO,IAAI,MAAM,CAEhC;IAED,OAAgB,UAAU,CAAC,cAAc,EAAE,yBAAyB,GAAG,eAAe,CAGrF;IAEQ,QAAQ,CACf,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,2BAA2B,CAAC,GACtF,UAAU,CAAC,2BAA2B,CAAC,CAWzC;IAEQ,UAAU,IAAI,yBAAyB,CAE/C;CACF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,eAAe,CAShG;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GACrD,IAAI,IAAI,eAAe,CAEzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$insertNodeToNearestRoot","$wrapNodeInElement","mergeRegister","formatDrawerSlug","useEditDepth","$createParagraphNode","$getNodeByKey","$getPreviousSelection","$getSelection","$insertNodes","$isParagraphNode","$isRangeSelection","$isRootOrShadowRoot","COMMAND_PRIORITY_EDITOR","useEffect","useState","useEditorConfigContext","useLexicalDrawer","$createBlockNode","BlockNode","$createInlineBlockNode","$isInlineBlockNode","INSERT_BLOCK_COMMAND","INSERT_INLINE_BLOCK_COMMAND","BlocksPlugin","$","editor","targetNodeKey","setTargetNodeKey","setCreatedInlineBlock","uuid","editDepth","t0","t1","slug","depth","drawerSlug","toggleDrawer","t2","hasNodes","Error","registerCommand","payload","update","selection","blockNode","focus","focusNode","getNode","__first","remove","fields","node","setFields","inlineBlockNode","getParentOrThrow","selectEnd","t3"],"sources":["../../../../../src/features/blocks/client/plugin/index.tsx"],"sourcesContent":["'use client'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $insertNodeToNearestRoot, $wrapNodeInElement, mergeRegister } from '@lexical/utils'\nimport { formatDrawerSlug, useEditDepth } from '@payloadcms/ui'\nimport {\n $createParagraphNode,\n $getNodeByKey,\n $getPreviousSelection,\n $getSelection,\n $insertNodes,\n $isParagraphNode,\n $isRangeSelection,\n $isRootOrShadowRoot,\n COMMAND_PRIORITY_EDITOR,\n} from 'lexical'\nimport { useEffect, useState } from 'react'\n\nimport type { PluginComponent } from '../../../typesClient.js'\nimport type { BlockFields, BlockFieldsOptionalID } from '../../server/schema.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useLexicalDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport { $createBlockNode, BlockNode } from '../nodes/BlocksNode.js'\nimport { $createInlineBlockNode, $isInlineBlockNode } from '../nodes/InlineBlocksNode.js'\nimport { INSERT_BLOCK_COMMAND, INSERT_INLINE_BLOCK_COMMAND } from './commands.js'\n\nexport type InsertBlockPayload = BlockFieldsOptionalID\n\nexport const BlocksPlugin: PluginComponent = () => {\n const [editor] = useLexicalComposerContext()\n\n const [targetNodeKey, setTargetNodeKey] = useState<null | string>(null)\n\n const { setCreatedInlineBlock, uuid } = useEditorConfigContext()\n const editDepth = useEditDepth()\n\n const drawerSlug = formatDrawerSlug({\n slug: `lexical-inlineBlocks-create-` + uuid,\n depth: editDepth,\n })\n\n const { toggleDrawer } = useLexicalDrawer(drawerSlug, true)\n\n useEffect(() => {\n if (!editor.hasNodes([BlockNode])) {\n throw new Error('BlocksPlugin: BlocksNode not registered on editor')\n }\n\n return mergeRegister(\n editor.registerCommand<InsertBlockPayload>(\n INSERT_BLOCK_COMMAND,\n (payload: InsertBlockPayload) => {\n editor.update(() => {\n const selection = $getSelection() || $getPreviousSelection()\n\n if ($isRangeSelection(selection)) {\n const blockNode = $createBlockNode(payload)\n\n // we need to get the focus node before inserting the block node, as $insertNodeToNearestRoot can change the focus node\n const { focus } = selection\n const focusNode = focus.getNode()\n // Insert blocks node BEFORE potentially removing focusNode, as $insertNodeToNearestRoot errors if the focusNode doesn't exist\n $insertNodeToNearestRoot(blockNode)\n\n // Delete the node it it's an empty paragraph\n if ($isParagraphNode(focusNode) && !focusNode.__first) {\n focusNode.remove()\n }\n }\n })\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n ),\n editor.registerCommand(\n INSERT_INLINE_BLOCK_COMMAND,\n (fields) => {\n if (targetNodeKey) {\n const node = $getNodeByKey(targetNodeKey)\n\n if (!node || !$isInlineBlockNode(node)) {\n return false\n }\n\n node.setFields(fields as BlockFields)\n\n setTargetNodeKey(null)\n return true\n }\n\n const inlineBlockNode = $createInlineBlockNode(fields as BlockFields)\n setCreatedInlineBlock?.(inlineBlockNode)\n $insertNodes([inlineBlockNode])\n if ($isRootOrShadowRoot(inlineBlockNode.getParentOrThrow())) {\n $wrapNodeInElement(inlineBlockNode, $createParagraphNode).selectEnd()\n }\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n ),\n )\n }, [editor, setCreatedInlineBlock, targetNodeKey, toggleDrawer])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$insertNodeToNearestRoot","$wrapNodeInElement","mergeRegister","formatDrawerSlug","useEditDepth","$createParagraphNode","$getNodeByKey","$getPreviousSelection","$getSelection","$insertNodes","$isParagraphNode","$isRangeSelection","$isRootOrShadowRoot","COMMAND_PRIORITY_EDITOR","useEffect","useState","useEditorConfigContext","useLexicalDrawer","$createBlockNode","BlockNode","$createInlineBlockNode","$isInlineBlockNode","INSERT_BLOCK_COMMAND","INSERT_INLINE_BLOCK_COMMAND","BlocksPlugin","$","editor","targetNodeKey","setTargetNodeKey","setCreatedInlineBlock","uuid","editDepth","t0","t1","slug","depth","drawerSlug","toggleDrawer","t2","hasNodes","Error","registerCommand","payload","update","selection","blockNode","focus","focusNode","getNode","__first","remove","fields","node","setFields","inlineBlockNode","getParentOrThrow","selectEnd","t3"],"sources":["../../../../../src/features/blocks/client/plugin/index.tsx"],"sourcesContent":["'use client'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $insertNodeToNearestRoot, $wrapNodeInElement, mergeRegister } from '@lexical/utils'\nimport { formatDrawerSlug, useEditDepth } from '@payloadcms/ui'\nimport {\n $createParagraphNode,\n $getNodeByKey,\n $getPreviousSelection,\n $getSelection,\n $insertNodes,\n $isParagraphNode,\n $isRangeSelection,\n $isRootOrShadowRoot,\n COMMAND_PRIORITY_EDITOR,\n} from 'lexical'\nimport { useEffect, useState } from 'react'\n\nimport type { PluginComponent } from '../../../typesClient.js'\nimport type { BlockFields, BlockFieldsOptionalID } from '../../server/schema.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useLexicalDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport { $createBlockNode, BlockNode } from '../nodes/BlocksNode.js'\nimport { $createInlineBlockNode, $isInlineBlockNode } from '../nodes/InlineBlocksNode.js'\nimport { INSERT_BLOCK_COMMAND, INSERT_INLINE_BLOCK_COMMAND } from './commands.js'\n\nexport type InsertBlockPayload = BlockFieldsOptionalID\n\nexport const BlocksPlugin: PluginComponent = () => {\n const [editor] = useLexicalComposerContext()\n\n const [targetNodeKey, setTargetNodeKey] = useState<null | string>(null)\n\n const { setCreatedInlineBlock, uuid } = useEditorConfigContext()\n const editDepth = useEditDepth()\n\n const drawerSlug = formatDrawerSlug({\n slug: `lexical-inlineBlocks-create-` + uuid,\n depth: editDepth,\n })\n\n const { toggleDrawer } = useLexicalDrawer(drawerSlug, true)\n\n useEffect(() => {\n if (!editor.hasNodes([BlockNode])) {\n throw new Error('BlocksPlugin: BlocksNode not registered on editor')\n }\n\n return mergeRegister(\n editor.registerCommand<InsertBlockPayload>(\n INSERT_BLOCK_COMMAND,\n (payload: InsertBlockPayload) => {\n editor.update(() => {\n const selection = $getSelection() || $getPreviousSelection()\n\n if ($isRangeSelection(selection)) {\n const blockNode = $createBlockNode(payload)\n\n // we need to get the focus node before inserting the block node, as $insertNodeToNearestRoot can change the focus node\n const { focus } = selection\n const focusNode = focus.getNode()\n // Insert blocks node BEFORE potentially removing focusNode, as $insertNodeToNearestRoot errors if the focusNode doesn't exist\n $insertNodeToNearestRoot(blockNode)\n\n // Delete the node it it's an empty paragraph\n if ($isParagraphNode(focusNode) && !focusNode.__first) {\n focusNode.remove()\n }\n }\n })\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n ),\n editor.registerCommand(\n INSERT_INLINE_BLOCK_COMMAND,\n (fields) => {\n if (targetNodeKey) {\n const node = $getNodeByKey(targetNodeKey)\n\n if (!node || !$isInlineBlockNode(node)) {\n return false\n }\n\n node.setFields(fields as BlockFields)\n\n setTargetNodeKey(null)\n return true\n }\n\n const inlineBlockNode = $createInlineBlockNode(fields as BlockFields)\n setCreatedInlineBlock?.(inlineBlockNode)\n $insertNodes([inlineBlockNode])\n if ($isRootOrShadowRoot(inlineBlockNode.getParentOrThrow())) {\n $wrapNodeInElement(inlineBlockNode, $createParagraphNode).selectEnd()\n }\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n ),\n )\n }, [editor, setCreatedInlineBlock, targetNodeKey, toggleDrawer])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
5
  import './index.css';
5
6
  import { useLexicalEditable } from '@lexical/react/useLexicalEditable';
@@ -12,6 +13,7 @@ import { defaultLanguages } from './defaultLanguages.js';
12
13
  import { FloatingCollapse } from './FloatingCollapse/index.js';
13
14
  const baseClass = 'payload-richtext-code-block';
14
15
  export const CodeBlockBlockComponent = args => {
16
+ const $ = _c(15);
15
17
  const {
16
18
  languages: languagesFromProps
17
19
  } = args;
@@ -29,90 +31,131 @@ export const CodeBlockBlockComponent = args => {
29
31
  } = useTranslation();
30
32
  const {
31
33
  codeField
32
- } = useFormFields(([fields]) => ({
33
- codeField: fields?.code
34
- }));
34
+ } = useFormFields(_temp);
35
+ let t0;
36
+ if ($[0] !== setModified) {
37
+ t0 = t1 => {
38
+ const [fields_0, dispatch] = t1;
39
+ return {
40
+ selectedLanguageField: fields_0?.language,
41
+ setSelectedLanguage: language => {
42
+ dispatch({
43
+ type: "UPDATE",
44
+ path: "language",
45
+ value: language
46
+ });
47
+ setModified(true);
48
+ }
49
+ };
50
+ };
51
+ $[0] = setModified;
52
+ $[1] = t0;
53
+ } else {
54
+ t0 = $[1];
55
+ }
35
56
  const {
36
57
  selectedLanguageField,
37
58
  setSelectedLanguage
38
- } = useFormFields(([fields_0, dispatch]) => ({
39
- selectedLanguageField: fields_0?.language,
40
- setSelectedLanguage: language => {
41
- dispatch({
42
- type: 'UPDATE',
43
- path: 'language',
44
- value: language
45
- });
46
- setModified(true);
47
- }
48
- }));
59
+ } = useFormFields(t0);
49
60
  const selectedLanguageLabel = languages[selectedLanguageField?.value];
50
61
  const isEditable = useLexicalEditable();
51
- const languageEntries = React.useMemo(() => {
52
- return Object.entries(languages).map(([languageCode, languageLabel]) => ({
53
- name: `${languageCode} ${languageLabel}`,
54
- Component: /*#__PURE__*/_jsx(PopupList.Button, {
55
- active: false,
56
- disabled: false,
57
- onClick: () => {
58
- setSelectedLanguage(languageCode);
59
- },
60
- children: /*#__PURE__*/_jsx("span", {
61
- className: `${baseClass}__language-code`,
62
- "data-language": languageCode,
63
- children: languageLabel
62
+ let t1;
63
+ if ($[2] !== languages || $[3] !== setSelectedLanguage) {
64
+ t1 = Object.entries(languages).map(t2 => {
65
+ const [languageCode, languageLabel] = t2;
66
+ return {
67
+ name: `${languageCode} ${languageLabel}`,
68
+ Component: _jsx(PopupList.Button, {
69
+ active: false,
70
+ disabled: false,
71
+ onClick: () => {
72
+ setSelectedLanguage(languageCode);
73
+ },
74
+ children: _jsx("span", {
75
+ className: `${baseClass}__language-code`,
76
+ "data-language": languageCode,
77
+ children: languageLabel
78
+ })
64
79
  })
80
+ };
81
+ });
82
+ $[2] = languages;
83
+ $[3] = setSelectedLanguage;
84
+ $[4] = t1;
85
+ } else {
86
+ t1 = $[4];
87
+ }
88
+ const languageEntries = t1;
89
+ let t2;
90
+ if ($[5] !== BlockCollapsible || $[6] !== RemoveButton || $[7] !== codeField?.value || $[8] !== formSchema || $[9] !== isEditable || $[10] !== languageEntries || $[11] !== selectedLanguageField?.value || $[12] !== selectedLanguageLabel || $[13] !== t) {
91
+ t2 = _jsx(BlockCollapsible, {
92
+ Actions: _jsxs("div", {
93
+ className: `${baseClass}__actions`,
94
+ children: [_jsx(Combobox, {
95
+ "aria-label": t("general:language"),
96
+ button: _jsxs("div", {
97
+ className: `${baseClass}__language-selector-button`,
98
+ "data-selected-language": selectedLanguageField?.value,
99
+ children: [_jsx("span", {
100
+ children: selectedLanguageLabel
101
+ }), _jsx(ChevronIcon, {
102
+ className: `${baseClass}__chevron`
103
+ })]
104
+ }),
105
+ buttonType: "custom",
106
+ className: `${baseClass}__language-selector`,
107
+ disabled: !isEditable,
108
+ entries: languageEntries,
109
+ horizontalAlign: "right",
110
+ minEntriesForSearch: 8,
111
+ searchPlaceholder: t("fields:searchForLanguage"),
112
+ showScrollbar: true,
113
+ size: "large"
114
+ }), _jsx(CopyToClipboard, {
115
+ value: codeField?.value ?? ""
116
+ }), _jsx(Collapse, {}), isEditable && _jsx(RemoveButton, {})]
117
+ }),
118
+ className: baseClass,
119
+ collapsibleProps: {
120
+ AfterCollapsible: _jsx(FloatingCollapse, {}),
121
+ disableHeaderToggle: true,
122
+ disableToggleIndicator: true
123
+ },
124
+ Pill: _jsx("div", {
125
+ className: `${baseClass}__pill`,
126
+ children: _jsx(CodeBlockIcon, {})
127
+ }),
128
+ showDragHandle: false,
129
+ showRowNumber: false,
130
+ children: _jsx(RenderFields, {
131
+ fields: formSchema,
132
+ forceRender: true,
133
+ parentIndexPath: "",
134
+ parentPath: "",
135
+ parentSchemaPath: "",
136
+ permissions: true,
137
+ readOnly: !isEditable
65
138
  })
66
- }));
67
- }, [languages, setSelectedLanguage]);
68
- return /*#__PURE__*/_jsx(BlockCollapsible, {
69
- Actions: /*#__PURE__*/_jsxs("div", {
70
- className: `${baseClass}__actions`,
71
- children: [/*#__PURE__*/_jsx(Combobox, {
72
- "aria-label": t('general:language'),
73
- button: /*#__PURE__*/_jsxs("div", {
74
- className: `${baseClass}__language-selector-button`,
75
- "data-selected-language": selectedLanguageField?.value,
76
- children: [/*#__PURE__*/_jsx("span", {
77
- children: selectedLanguageLabel
78
- }), /*#__PURE__*/_jsx(ChevronIcon, {
79
- className: `${baseClass}__chevron`
80
- })]
81
- }),
82
- buttonType: "custom",
83
- className: `${baseClass}__language-selector`,
84
- disabled: !isEditable,
85
- entries: languageEntries,
86
- horizontalAlign: "right",
87
- minEntriesForSearch: 8,
88
- searchPlaceholder: t('fields:searchForLanguage'),
89
- showScrollbar: true,
90
- size: "large"
91
- }), /*#__PURE__*/_jsx(CopyToClipboard, {
92
- value: codeField?.value ?? ''
93
- }), /*#__PURE__*/_jsx(Collapse, {}), isEditable && /*#__PURE__*/_jsx(RemoveButton, {})]
94
- }),
95
- className: baseClass,
96
- collapsibleProps: {
97
- AfterCollapsible: /*#__PURE__*/_jsx(FloatingCollapse, {}),
98
- disableHeaderToggle: true,
99
- disableToggleIndicator: true
100
- },
101
- Pill: /*#__PURE__*/_jsx("div", {
102
- className: `${baseClass}__pill`,
103
- children: /*#__PURE__*/_jsx(CodeBlockIcon, {})
104
- }),
105
- showDragHandle: false,
106
- showRowNumber: false,
107
- children: /*#__PURE__*/_jsx(RenderFields, {
108
- fields: formSchema,
109
- forceRender: true,
110
- parentIndexPath: "",
111
- parentPath: '',
112
- parentSchemaPath: "",
113
- permissions: true,
114
- readOnly: !isEditable
115
- })
116
- });
139
+ });
140
+ $[5] = BlockCollapsible;
141
+ $[6] = RemoveButton;
142
+ $[7] = codeField?.value;
143
+ $[8] = formSchema;
144
+ $[9] = isEditable;
145
+ $[10] = languageEntries;
146
+ $[11] = selectedLanguageField?.value;
147
+ $[12] = selectedLanguageLabel;
148
+ $[13] = t;
149
+ $[14] = t2;
150
+ } else {
151
+ t2 = $[14];
152
+ }
153
+ return t2;
117
154
  };
155
+ function _temp(t0) {
156
+ const [fields] = t0;
157
+ return {
158
+ codeField: fields?.code
159
+ };
160
+ }
118
161
  //# sourceMappingURL=Block.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Block.js","names":["useLexicalEditable","ChevronIcon","Combobox","CopyToClipboard","PopupList","RenderFields","useForm","useFormFields","useTranslation","React","CodeBlockIcon","useBlockComponentContext","Collapse","defaultLanguages","FloatingCollapse","baseClass","CodeBlockBlockComponent","args","languages","languagesFromProps","BlockCollapsible","formSchema","RemoveButton","setModified","t","codeField","fields","code","selectedLanguageField","setSelectedLanguage","dispatch","language","type","path","value","selectedLanguageLabel","isEditable","languageEntries","useMemo","Object","entries","map","languageCode","languageLabel","name","Component","_jsx","Button","active","disabled","onClick","className","Actions","_jsxs","button","buttonType","horizontalAlign","minEntriesForSearch","searchPlaceholder","showScrollbar","size","collapsibleProps","AfterCollapsible","disableHeaderToggle","disableToggleIndicator","Pill","showDragHandle","showRowNumber","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","readOnly"],"sources":["../../../../../../src/features/blocks/premade/CodeBlock/Component/Block.tsx"],"sourcesContent":["'use client'\nimport type { ComboboxEntry } from '@payloadcms/ui'\nimport type {} from 'payload'\n\nimport './index.css'\n\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport {\n ChevronIcon,\n Combobox,\n CopyToClipboard,\n PopupList,\n RenderFields,\n useForm,\n useFormFields,\n useTranslation,\n} from '@payloadcms/ui'\nimport React from 'react'\n\nimport type { AdditionalCodeComponentProps } from './Code.js'\n\nimport { CodeBlockIcon } from '../../../../../lexical/ui/icons/CodeBlock/index.js'\nimport { useBlockComponentContext } from '../../../client/component/BlockContent.js'\nimport { Collapse } from './Collapse/index.js'\nimport { defaultLanguages } from './defaultLanguages.js'\nimport { FloatingCollapse } from './FloatingCollapse/index.js'\n\nconst baseClass = 'payload-richtext-code-block'\nexport const CodeBlockBlockComponent: React.FC<Pick<AdditionalCodeComponentProps, 'languages'>> = (\n args,\n) => {\n const { languages: languagesFromProps } = args\n const languages = languagesFromProps || defaultLanguages\n\n const { BlockCollapsible, formSchema, RemoveButton } = useBlockComponentContext()\n const { setModified } = useForm()\n const { t } = useTranslation()\n\n const { codeField } = useFormFields(([fields]) => ({\n codeField: fields?.code,\n }))\n\n const { selectedLanguageField, setSelectedLanguage } = useFormFields(([fields, dispatch]) => ({\n selectedLanguageField: fields?.language,\n setSelectedLanguage: (language: string) => {\n dispatch({\n type: 'UPDATE',\n path: 'language',\n value: language,\n })\n setModified(true)\n },\n }))\n\n const selectedLanguageLabel = languages[selectedLanguageField?.value as keyof typeof languages]\n\n const isEditable = useLexicalEditable()\n\n const languageEntries = React.useMemo<ComboboxEntry[]>(() => {\n return Object.entries(languages).map(([languageCode, languageLabel]) => ({\n name: `${languageCode} ${languageLabel}`,\n Component: (\n <PopupList.Button\n active={false}\n disabled={false}\n onClick={() => {\n setSelectedLanguage(languageCode)\n }}\n >\n <span className={`${baseClass}__language-code`} data-language={languageCode}>\n {languageLabel}\n </span>\n </PopupList.Button>\n ),\n }))\n }, [languages, setSelectedLanguage])\n\n return (\n <BlockCollapsible\n Actions={\n <div className={`${baseClass}__actions`}>\n <Combobox\n aria-label={t('general:language')}\n button={\n <div\n className={`${baseClass}__language-selector-button`}\n data-selected-language={selectedLanguageField?.value}\n >\n <span>{selectedLanguageLabel}</span>\n <ChevronIcon className={`${baseClass}__chevron`} />\n </div>\n }\n buttonType=\"custom\"\n className={`${baseClass}__language-selector`}\n disabled={!isEditable}\n entries={languageEntries}\n horizontalAlign=\"right\"\n minEntriesForSearch={8}\n searchPlaceholder={t('fields:searchForLanguage')}\n showScrollbar\n size=\"large\"\n />\n <CopyToClipboard value={(codeField?.value as string) ?? ''} />\n\n <Collapse />\n\n {isEditable && <RemoveButton />}\n </div>\n }\n className={baseClass}\n collapsibleProps={{\n AfterCollapsible: <FloatingCollapse />,\n disableHeaderToggle: true,\n disableToggleIndicator: true,\n }}\n Pill={\n <div className={`${baseClass}__pill`}>\n <CodeBlockIcon />\n </div>\n }\n showDragHandle={false}\n showRowNumber={false}\n >\n <RenderFields\n fields={formSchema}\n forceRender={true}\n parentIndexPath=\"\"\n parentPath={''}\n parentSchemaPath=\"\"\n permissions={true}\n readOnly={!isEditable}\n />\n </BlockCollapsible>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Block.js","names":["c","_c","useLexicalEditable","ChevronIcon","Combobox","CopyToClipboard","PopupList","RenderFields","useForm","useFormFields","useTranslation","React","CodeBlockIcon","useBlockComponentContext","Collapse","defaultLanguages","FloatingCollapse","baseClass","CodeBlockBlockComponent","args","$","languages","languagesFromProps","BlockCollapsible","formSchema","RemoveButton","setModified","t","codeField","_temp","t0","t1","fields_0","dispatch","selectedLanguageField","fields","language","setSelectedLanguage","type","path","value","selectedLanguageLabel","isEditable","Object","entries","map","t2","languageCode","languageLabel","name","Component","_jsx","Button","active","disabled","onClick","children","className","languageEntries","Actions","_jsxs","button","horizontalAlign","minEntriesForSearch","searchPlaceholder","showScrollbar","size","collapsibleProps","AfterCollapsible","disableHeaderToggle","disableToggleIndicator","Pill","showRowNumber","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","readOnly","code"],"sources":["../../../../../../src/features/blocks/premade/CodeBlock/Component/Block.tsx"],"sourcesContent":["'use client'\nimport type { ComboboxEntry } from '@payloadcms/ui'\nimport type {} from 'payload'\n\nimport './index.css'\n\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport {\n ChevronIcon,\n Combobox,\n CopyToClipboard,\n PopupList,\n RenderFields,\n useForm,\n useFormFields,\n useTranslation,\n} from '@payloadcms/ui'\nimport React from 'react'\n\nimport type { AdditionalCodeComponentProps } from './Code.js'\n\nimport { CodeBlockIcon } from '../../../../../lexical/ui/icons/CodeBlock/index.js'\nimport { useBlockComponentContext } from '../../../client/component/BlockContent.js'\nimport { Collapse } from './Collapse/index.js'\nimport { defaultLanguages } from './defaultLanguages.js'\nimport { FloatingCollapse } from './FloatingCollapse/index.js'\n\nconst baseClass = 'payload-richtext-code-block'\nexport const CodeBlockBlockComponent: React.FC<Pick<AdditionalCodeComponentProps, 'languages'>> = (\n args,\n) => {\n const { languages: languagesFromProps } = args\n const languages = languagesFromProps || defaultLanguages\n\n const { BlockCollapsible, formSchema, RemoveButton } = useBlockComponentContext()\n const { setModified } = useForm()\n const { t } = useTranslation()\n\n const { codeField } = useFormFields(([fields]) => ({\n codeField: fields?.code,\n }))\n\n const { selectedLanguageField, setSelectedLanguage } = useFormFields(([fields, dispatch]) => ({\n selectedLanguageField: fields?.language,\n setSelectedLanguage: (language: string) => {\n dispatch({\n type: 'UPDATE',\n path: 'language',\n value: language,\n })\n setModified(true)\n },\n }))\n\n const selectedLanguageLabel = languages[selectedLanguageField?.value as keyof typeof languages]\n\n const isEditable = useLexicalEditable()\n\n const languageEntries = React.useMemo<ComboboxEntry[]>(() => {\n return Object.entries(languages).map(([languageCode, languageLabel]) => ({\n name: `${languageCode} ${languageLabel}`,\n Component: (\n <PopupList.Button\n active={false}\n disabled={false}\n onClick={() => {\n setSelectedLanguage(languageCode)\n }}\n >\n <span className={`${baseClass}__language-code`} data-language={languageCode}>\n {languageLabel}\n </span>\n </PopupList.Button>\n ),\n }))\n }, [languages, setSelectedLanguage])\n\n return (\n <BlockCollapsible\n Actions={\n <div className={`${baseClass}__actions`}>\n <Combobox\n aria-label={t('general:language')}\n button={\n <div\n className={`${baseClass}__language-selector-button`}\n data-selected-language={selectedLanguageField?.value}\n >\n <span>{selectedLanguageLabel}</span>\n <ChevronIcon className={`${baseClass}__chevron`} />\n </div>\n }\n buttonType=\"custom\"\n className={`${baseClass}__language-selector`}\n disabled={!isEditable}\n entries={languageEntries}\n horizontalAlign=\"right\"\n minEntriesForSearch={8}\n searchPlaceholder={t('fields:searchForLanguage')}\n showScrollbar\n size=\"large\"\n />\n <CopyToClipboard value={(codeField?.value as string) ?? ''} />\n\n <Collapse />\n\n {isEditable && <RemoveButton />}\n </div>\n }\n className={baseClass}\n collapsibleProps={{\n AfterCollapsible: <FloatingCollapse />,\n disableHeaderToggle: true,\n disableToggleIndicator: true,\n }}\n Pill={\n <div className={`${baseClass}__pill`}>\n <CodeBlockIcon />\n </div>\n }\n showDragHandle={false}\n showRowNumber={false}\n >\n <RenderFields\n fields={formSchema}\n forceRender={true}\n parentIndexPath=\"\"\n parentPath={''}\n parentSchemaPath=\"\"\n permissions={true}\n readOnly={!isEditable}\n />\n </BlockCollapsible>\n )\n}\n"],"mappings":"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","ignoreList":[]}