@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":"index.js","names":["c","_c","useLexicalComposerContext","$createParagraphNode","$createTextNode","$getRoot","getDOMSelection","React","useCallback","useEffect","useLayoutEffect","useRef","useState","IS_APPLE","copy","text","textArea","document","createElement","value","style","position","opacity","body","appendChild","focus","select","result","execCommand","console","log","error","removeChild","download","filename","a","setAttribute","encodeURIComponent","display","click","formatStep","step","formatOneStep","name","x","y","anchorPath","toString","anchorOffset","focusPath","focusOffset","formattedStep","count","join","isSelectAll","event","key","toLowerCase","metaKey","ctrlKey","sanitizeSelection","selection","anchorNode","focusNode","getPathFromNodeToEditor","node","rootElement","currentNode","path","undefined","unshift","Array","from","parentNode","childNodes","indexOf","keyPresses","Set","useTestRecorder","editor","steps","setSteps","isRecording","setIsRecording","setCurrentInnerHTML","templatedTest","setTemplatedTest","previousSelectionRef","skipNextSelectionChangeRef","preRef","getCurrentEditor","generateTestContent","getRootElement","browserSelection","_window","contains","map","pushStep","currentSteps","currentIndex","length","lastStep","slice","onKeyDown","has","onKeyUp","registerRootListener","prevRootElement","removeEventListener","addEventListener","current","scrollTo","scrollHeight","testContent","removeUpdateListener","registerUpdateListener","dirtyElements","dirtyLeaves","editorState","currentSelection","_selection","previousSelection","skipNextSelectionChange","size","innerHTML","toggleEditorSelection","currentEditor","update","root","clear","append","currentIsRecording","onSnapshotClick","onCopyClick","onDownloadClick","button","_jsx","className","id","onClick","e","preventDefault","title","type","output","_jsxs","ref","TestRecorderPlugin","$","testRecorderButton","testRecorderOutput","t0","Fragment","children"],"sources":["../../../../../../src/features/debug/testRecorder/client/plugin/index.tsx"],"sourcesContent":["'use client'\nimport type { BaseSelection, LexicalEditor } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $createParagraphNode, $createTextNode, $getRoot, getDOMSelection } from 'lexical'\nimport * as React from 'react'\nimport { type JSX, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react'\n\nimport type { PluginComponent } from '../../../../typesClient.js'\n\nimport { IS_APPLE } from '../../../../../lexical/utils/environment.js'\nimport './index.css'\n\nconst copy = (text: null | string) => {\n const textArea = document.createElement('textarea')\n textArea.value = text || ''\n textArea.style.position = 'absolute'\n textArea.style.opacity = '0'\n document.body?.appendChild(textArea)\n textArea.focus()\n textArea.select()\n try {\n const result = document.execCommand('copy')\n // eslint-disable-next-line no-console\n console.log(result)\n } catch (error) {\n console.error(error)\n }\n document.body?.removeChild(textArea)\n}\n\nconst download = (filename: string, text: null | string) => {\n const a = document.createElement('a')\n a.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text || ''))\n a.setAttribute('download', filename)\n a.style.display = 'none'\n document.body?.appendChild(a)\n a.click()\n document.body?.removeChild(a)\n}\n\nconst formatStep = (step: Step) => {\n const formatOneStep = (name: string, value: Step['value']) => {\n switch (name) {\n case 'click': {\n return ` await page.mouse.click(${value.x}, ${value.y});`\n }\n case 'keydown': {\n return ` await page.keyboard.keydown('${value}');`\n }\n case 'keyup': {\n return ` await page.keyboard.keyup('${value}');`\n }\n case 'press': {\n return ` await page.keyboard.press('${value}');`\n }\n case 'selectAll': {\n return ` await selectAll(page);`\n }\n case 'snapshot': {\n return ` await assertHTMLSnapshot(page);\n await assertSelection(page, {\n anchorPath: [${value.anchorPath.toString()}],\n anchorOffset: ${value.anchorOffset},\n focusPath: [${value.focusPath.toString()}],\n focusOffset: ${value.focusOffset},\n });\n`\n }\n case 'type': {\n return ` await page.keyboard.type('${value}');`\n }\n default:\n return ``\n }\n }\n const formattedStep = formatOneStep(step.name, step.value)\n switch (step.count) {\n case 1:\n return formattedStep\n case 2:\n return [formattedStep, formattedStep].join(`\\n`)\n default:\n return ` await repeat(${step.count}, async () => {\n ${formattedStep}\n );`\n }\n}\n\nexport function isSelectAll(event: KeyboardEvent): boolean {\n return event.key.toLowerCase() === 'a' && (IS_APPLE ? event.metaKey : event.ctrlKey)\n}\n\n// stolen from LexicalSelection-test\nfunction sanitizeSelection(selection: Selection) {\n const { anchorNode, focusNode } = selection\n let { anchorOffset, focusOffset } = selection\n if (anchorOffset !== 0) {\n anchorOffset--\n }\n if (focusOffset !== 0) {\n focusOffset--\n }\n return { anchorNode, anchorOffset, focusNode, focusOffset }\n}\n\nfunction getPathFromNodeToEditor(node: Node, rootElement: HTMLElement | null) {\n let currentNode: Node | null | undefined = node\n const path: number[] = []\n while (currentNode !== rootElement) {\n if (currentNode !== null && currentNode !== undefined) {\n path.unshift(\n Array.from(currentNode?.parentNode?.childNodes ?? []).indexOf(currentNode as ChildNode),\n )\n }\n currentNode = currentNode?.parentNode\n }\n return path\n}\n\nconst keyPresses = new Set([\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'Backspace',\n 'Delete',\n 'Enter',\n 'Escape',\n])\n\ntype Step = {\n count: number\n name: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any\n}\n\ntype Steps = Step[]\n\nfunction useTestRecorder(editor: LexicalEditor): [JSX.Element, JSX.Element | null] {\n const [steps, setSteps] = useState<Steps>([])\n const [isRecording, setIsRecording] = useState(false)\n const [, setCurrentInnerHTML] = useState('')\n const [templatedTest, setTemplatedTest] = useState('')\n const previousSelectionRef = useRef<BaseSelection | null>(null)\n const skipNextSelectionChangeRef = useRef(false)\n const preRef = useRef<HTMLPreElement>(null)\n\n const getCurrentEditor = useCallback(() => {\n return editor\n }, [editor])\n\n const generateTestContent = useCallback(() => {\n const rootElement = editor.getRootElement()\n const browserSelection = getDOMSelection(editor._window)\n\n if (\n rootElement == null ||\n browserSelection == null ||\n browserSelection.anchorNode == null ||\n browserSelection.focusNode == null ||\n !rootElement.contains(browserSelection.anchorNode) ||\n !rootElement.contains(browserSelection.focusNode)\n ) {\n return null\n }\n\n return `\nimport {\n initializeE2E,\n assertHTMLSnapshot,\n assertSelection,\n repeat,\n} from '../utils';\nimport {selectAll} from '../keyboardShortcuts';\nimport { RangeSelection } from 'lexical';\nimport { NodeSelection } from 'lexical';\n\ndescribe('Test case', () => {\n initializeE2E((e2e) => {\n it('Should pass this test', async () => {\n const {page} = e2e;\n\n await page.focus('div[contenteditable=\"true\"]');\n${steps.map(formatStep).join(`\\n`)}\n });\n});\n `\n }, [editor, steps])\n\n // just a wrapper around inserting new actions so that we can\n // coalesce some actions like insertText/moveNativeSelection\n const pushStep = useCallback(\n (name: string, value: Step['value']) => {\n setSteps((currentSteps) => {\n // trying to group steps\n const currentIndex = steps.length - 1\n const lastStep = steps[currentIndex]\n if (lastStep) {\n if (lastStep.name === name) {\n if (name === 'type') {\n // for typing events we just append the text\n return [\n ...steps.slice(0, currentIndex),\n { ...lastStep, value: lastStep.value + value },\n ]\n } else {\n // for other events we bump the counter if their values are the same\n if (lastStep.value === value) {\n return [...steps.slice(0, currentIndex), { ...lastStep, count: lastStep.count + 1 }]\n }\n }\n }\n }\n // could not group, just append a new one\n return [...currentSteps, { name, count: 1, value }]\n })\n },\n [steps, setSteps],\n )\n\n useLayoutEffect(() => {\n const onKeyDown = (event: KeyboardEvent) => {\n if (!isRecording) {\n return\n }\n const key = event.key\n if (isSelectAll(event)) {\n pushStep('selectAll', '')\n } else if (keyPresses.has(key)) {\n pushStep('press', event.key)\n } else if ([...key].length > 1) {\n pushStep('keydown', event.key)\n } else {\n pushStep('type', event.key)\n }\n }\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!isRecording) {\n return\n }\n const key = event.key\n if (!keyPresses.has(key) && [...key].length > 1) {\n pushStep('keyup', event.key)\n }\n }\n\n return editor.registerRootListener(\n (rootElement: HTMLElement | null, prevRootElement: HTMLElement | null) => {\n if (prevRootElement !== null) {\n prevRootElement.removeEventListener('keydown', onKeyDown)\n prevRootElement.removeEventListener('keyup', onKeyUp)\n }\n if (rootElement !== null) {\n rootElement.addEventListener('keydown', onKeyDown)\n rootElement.addEventListener('keyup', onKeyUp)\n }\n },\n )\n }, [editor, isRecording, pushStep])\n\n useLayoutEffect(() => {\n if (preRef.current) {\n preRef.current.scrollTo(0, preRef.current.scrollHeight)\n }\n }, [generateTestContent])\n\n useEffect(() => {\n if (steps) {\n const testContent = generateTestContent()\n if (testContent !== null) {\n setTemplatedTest(testContent)\n }\n if (preRef.current) {\n preRef.current.scrollTo(0, preRef.current.scrollHeight)\n }\n }\n }, [generateTestContent, steps])\n\n useEffect(() => {\n const removeUpdateListener = editor.registerUpdateListener(\n ({ dirtyElements, dirtyLeaves, editorState }) => {\n if (!isRecording) {\n return\n }\n const currentSelection = editorState._selection\n const previousSelection = previousSelectionRef.current\n const skipNextSelectionChange = skipNextSelectionChangeRef.current\n if (previousSelection !== currentSelection) {\n if (dirtyLeaves.size === 0 && dirtyElements.size === 0 && !skipNextSelectionChange) {\n const browserSelection = getDOMSelection(editor._window)\n if (\n browserSelection &&\n (browserSelection.anchorNode == null || browserSelection.focusNode == null)\n ) {\n return\n }\n }\n previousSelectionRef.current = currentSelection\n }\n skipNextSelectionChangeRef.current = false\n const testContent = generateTestContent()\n if (testContent !== null) {\n setTemplatedTest(testContent)\n }\n },\n )\n return removeUpdateListener\n }, [editor, generateTestContent, isRecording, pushStep])\n\n // save innerHTML\n useEffect(() => {\n if (!isRecording) {\n return\n }\n const removeUpdateListener = editor.registerUpdateListener(() => {\n const rootElement = editor.getRootElement()\n if (rootElement !== null) {\n setCurrentInnerHTML(rootElement?.innerHTML)\n }\n })\n return removeUpdateListener\n }, [editor, isRecording])\n\n // clear editor and start recording\n const toggleEditorSelection = useCallback(\n (currentEditor: LexicalEditor) => {\n if (!isRecording) {\n currentEditor.update(() => {\n const root = $getRoot()\n root.clear()\n const text = $createTextNode()\n root.append($createParagraphNode().append(text))\n text.select()\n })\n setSteps([])\n }\n setIsRecording((currentIsRecording) => !currentIsRecording)\n },\n [isRecording],\n )\n\n const onSnapshotClick = useCallback(() => {\n if (!isRecording) {\n return\n }\n const browserSelection = getDOMSelection(editor._window)\n if (\n browserSelection === null ||\n browserSelection.anchorNode == null ||\n browserSelection.focusNode == null\n ) {\n return\n }\n const { anchorNode, anchorOffset, focusNode, focusOffset } = sanitizeSelection(browserSelection)\n const rootElement = getCurrentEditor().getRootElement()\n let anchorPath\n if (anchorNode !== null) {\n anchorPath = getPathFromNodeToEditor(anchorNode, rootElement)\n }\n let focusPath\n if (focusNode !== null) {\n focusPath = getPathFromNodeToEditor(focusNode, rootElement)\n }\n pushStep('snapshot', {\n anchorNode,\n anchorOffset,\n anchorPath,\n focusNode,\n focusOffset,\n focusPath,\n })\n }, [pushStep, isRecording, getCurrentEditor])\n\n const onCopyClick = useCallback(() => {\n copy(generateTestContent())\n }, [generateTestContent])\n\n const onDownloadClick = useCallback(() => {\n download('test.js', generateTestContent())\n }, [generateTestContent])\n\n const button = (\n <button\n className={`editor-dev-button ${isRecording ? 'active' : ''}`}\n id=\"test-recorder-button\"\n onClick={(e) => {\n toggleEditorSelection(getCurrentEditor())\n e.preventDefault()\n }}\n title={isRecording ? 'Disable test recorder' : 'Enable test recorder'}\n type=\"button\"\n >\n {isRecording ? 'Disable test recorder' : 'Enable test recorder'}\n </button>\n )\n const output = isRecording ? (\n <div className=\"test-recorder-output\">\n <div className=\"test-recorder-toolbar\">\n <button\n className=\"test-recorder-button\"\n id=\"test-recorder-button-snapshot\"\n onClick={(e) => {\n onSnapshotClick()\n e.preventDefault()\n }}\n title=\"Insert snapshot\"\n type=\"button\"\n >\n Insert Snapshot\n </button>\n <button\n className=\"test-recorder-button\"\n id=\"test-recorder-button-copy\"\n onClick={(e) => {\n onCopyClick()\n e.preventDefault()\n }}\n title=\"Copy to clipboard\"\n type=\"button\"\n >\n Copy\n </button>\n <button\n className=\"test-recorder-button\"\n id=\"test-recorder-button-download\"\n onClick={(e) => {\n onDownloadClick()\n e.preventDefault()\n }}\n title=\"Download as a file\"\n type=\"button\"\n >\n Download\n </button>\n </div>\n <pre id=\"test-recorder\" ref={preRef}>\n {templatedTest}\n </pre>\n </div>\n ) : null\n\n return [button, output]\n}\nexport const TestRecorderPlugin: PluginComponent<undefined> = () => {\n const [editor] = useLexicalComposerContext()\n const [testRecorderButton, testRecorderOutput] = useTestRecorder(editor)\n\n return (\n <React.Fragment>\n <p>HI</p>\n {testRecorderButton}\n {testRecorderOutput}\n <p>DONE</p>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$createParagraphNode","$createTextNode","$getRoot","getDOMSelection","React","useCallback","useEffect","useLayoutEffect","useRef","useState","IS_APPLE","copy","text","textArea","document","createElement","value","style","position","opacity","body","appendChild","focus","select","result","execCommand","console","log","error","removeChild","download","filename","a","setAttribute","encodeURIComponent","display","click","formatStep","step","formatOneStep","name","x","y","anchorPath","toString","anchorOffset","focusPath","focusOffset","formattedStep","count","join","isSelectAll","event","key","toLowerCase","metaKey","ctrlKey","sanitizeSelection","selection","anchorNode","focusNode","getPathFromNodeToEditor","node","rootElement","currentNode","path","undefined","unshift","Array","from","parentNode","childNodes","indexOf","keyPresses","Set","useTestRecorder","editor","steps","setSteps","isRecording","setIsRecording","setCurrentInnerHTML","templatedTest","setTemplatedTest","previousSelectionRef","skipNextSelectionChangeRef","preRef","getCurrentEditor","generateTestContent","getRootElement","browserSelection","_window","contains","map","pushStep","currentSteps","currentIndex","length","lastStep","slice","onKeyDown","has","onKeyUp","registerRootListener","prevRootElement","removeEventListener","addEventListener","current","scrollTo","scrollHeight","testContent","removeUpdateListener","registerUpdateListener","dirtyElements","dirtyLeaves","editorState","currentSelection","_selection","previousSelection","skipNextSelectionChange","size","innerHTML","toggleEditorSelection","currentEditor","update","root","clear","append","currentIsRecording","onSnapshotClick","onCopyClick","onDownloadClick","button","_jsx","className","id","onClick","e","preventDefault","title","type","output","_jsxs","ref","TestRecorderPlugin","$","testRecorderButton","testRecorderOutput","t0","Fragment","children"],"sources":["../../../../../../src/features/debug/testRecorder/client/plugin/index.tsx"],"sourcesContent":["'use client'\nimport type { BaseSelection, LexicalEditor } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $createParagraphNode, $createTextNode, $getRoot, getDOMSelection } from 'lexical'\nimport * as React from 'react'\nimport { type JSX, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react'\n\nimport type { PluginComponent } from '../../../../typesClient.js'\n\nimport { IS_APPLE } from '../../../../../lexical/utils/environment.js'\nimport './index.css'\n\nconst copy = (text: null | string) => {\n const textArea = document.createElement('textarea')\n textArea.value = text || ''\n textArea.style.position = 'absolute'\n textArea.style.opacity = '0'\n document.body?.appendChild(textArea)\n textArea.focus()\n textArea.select()\n try {\n const result = document.execCommand('copy')\n // eslint-disable-next-line no-console\n console.log(result)\n } catch (error) {\n console.error(error)\n }\n document.body?.removeChild(textArea)\n}\n\nconst download = (filename: string, text: null | string) => {\n const a = document.createElement('a')\n a.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text || ''))\n a.setAttribute('download', filename)\n a.style.display = 'none'\n document.body?.appendChild(a)\n a.click()\n document.body?.removeChild(a)\n}\n\nconst formatStep = (step: Step) => {\n const formatOneStep = (name: string, value: Step['value']) => {\n switch (name) {\n case 'click': {\n return ` await page.mouse.click(${value.x}, ${value.y});`\n }\n case 'keydown': {\n return ` await page.keyboard.keydown('${value}');`\n }\n case 'keyup': {\n return ` await page.keyboard.keyup('${value}');`\n }\n case 'press': {\n return ` await page.keyboard.press('${value}');`\n }\n case 'selectAll': {\n return ` await selectAll(page);`\n }\n case 'snapshot': {\n return ` await assertHTMLSnapshot(page);\n await assertSelection(page, {\n anchorPath: [${value.anchorPath.toString()}],\n anchorOffset: ${value.anchorOffset},\n focusPath: [${value.focusPath.toString()}],\n focusOffset: ${value.focusOffset},\n });\n`\n }\n case 'type': {\n return ` await page.keyboard.type('${value}');`\n }\n default:\n return ``\n }\n }\n const formattedStep = formatOneStep(step.name, step.value)\n switch (step.count) {\n case 1:\n return formattedStep\n case 2:\n return [formattedStep, formattedStep].join(`\\n`)\n default:\n return ` await repeat(${step.count}, async () => {\n ${formattedStep}\n );`\n }\n}\n\nexport function isSelectAll(event: KeyboardEvent): boolean {\n return event.key.toLowerCase() === 'a' && (IS_APPLE ? event.metaKey : event.ctrlKey)\n}\n\n// stolen from LexicalSelection-test\nfunction sanitizeSelection(selection: Selection) {\n const { anchorNode, focusNode } = selection\n let { anchorOffset, focusOffset } = selection\n if (anchorOffset !== 0) {\n anchorOffset--\n }\n if (focusOffset !== 0) {\n focusOffset--\n }\n return { anchorNode, anchorOffset, focusNode, focusOffset }\n}\n\nfunction getPathFromNodeToEditor(node: Node, rootElement: HTMLElement | null) {\n let currentNode: Node | null | undefined = node\n const path: number[] = []\n while (currentNode !== rootElement) {\n if (currentNode !== null && currentNode !== undefined) {\n path.unshift(\n Array.from(currentNode?.parentNode?.childNodes ?? []).indexOf(currentNode as ChildNode),\n )\n }\n currentNode = currentNode?.parentNode\n }\n return path\n}\n\nconst keyPresses = new Set([\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'Backspace',\n 'Delete',\n 'Enter',\n 'Escape',\n])\n\ntype Step = {\n count: number\n name: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any\n}\n\ntype Steps = Step[]\n\nfunction useTestRecorder(editor: LexicalEditor): [JSX.Element, JSX.Element | null] {\n const [steps, setSteps] = useState<Steps>([])\n const [isRecording, setIsRecording] = useState(false)\n const [, setCurrentInnerHTML] = useState('')\n const [templatedTest, setTemplatedTest] = useState('')\n const previousSelectionRef = useRef<BaseSelection | null>(null)\n const skipNextSelectionChangeRef = useRef(false)\n const preRef = useRef<HTMLPreElement>(null)\n\n const getCurrentEditor = useCallback(() => {\n return editor\n }, [editor])\n\n const generateTestContent = useCallback(() => {\n const rootElement = editor.getRootElement()\n const browserSelection = getDOMSelection(editor._window)\n\n if (\n rootElement == null ||\n browserSelection == null ||\n browserSelection.anchorNode == null ||\n browserSelection.focusNode == null ||\n !rootElement.contains(browserSelection.anchorNode) ||\n !rootElement.contains(browserSelection.focusNode)\n ) {\n return null\n }\n\n return `\nimport {\n initializeE2E,\n assertHTMLSnapshot,\n assertSelection,\n repeat,\n} from '../utils';\nimport {selectAll} from '../keyboardShortcuts';\nimport { RangeSelection } from 'lexical';\nimport { NodeSelection } from 'lexical';\n\ndescribe('Test case', () => {\n initializeE2E((e2e) => {\n it('Should pass this test', async () => {\n const {page} = e2e;\n\n await page.focus('div[contenteditable=\"true\"]');\n${steps.map(formatStep).join(`\\n`)}\n });\n});\n `\n }, [editor, steps])\n\n // just a wrapper around inserting new actions so that we can\n // coalesce some actions like insertText/moveNativeSelection\n const pushStep = useCallback(\n (name: string, value: Step['value']) => {\n setSteps((currentSteps) => {\n // trying to group steps\n const currentIndex = steps.length - 1\n const lastStep = steps[currentIndex]\n if (lastStep) {\n if (lastStep.name === name) {\n if (name === 'type') {\n // for typing events we just append the text\n return [\n ...steps.slice(0, currentIndex),\n { ...lastStep, value: lastStep.value + value },\n ]\n } else {\n // for other events we bump the counter if their values are the same\n if (lastStep.value === value) {\n return [...steps.slice(0, currentIndex), { ...lastStep, count: lastStep.count + 1 }]\n }\n }\n }\n }\n // could not group, just append a new one\n return [...currentSteps, { name, count: 1, value }]\n })\n },\n [steps, setSteps],\n )\n\n useLayoutEffect(() => {\n const onKeyDown = (event: KeyboardEvent) => {\n if (!isRecording) {\n return\n }\n const key = event.key\n if (isSelectAll(event)) {\n pushStep('selectAll', '')\n } else if (keyPresses.has(key)) {\n pushStep('press', event.key)\n } else if ([...key].length > 1) {\n pushStep('keydown', event.key)\n } else {\n pushStep('type', event.key)\n }\n }\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!isRecording) {\n return\n }\n const key = event.key\n if (!keyPresses.has(key) && [...key].length > 1) {\n pushStep('keyup', event.key)\n }\n }\n\n return editor.registerRootListener(\n (rootElement: HTMLElement | null, prevRootElement: HTMLElement | null) => {\n if (prevRootElement !== null) {\n prevRootElement.removeEventListener('keydown', onKeyDown)\n prevRootElement.removeEventListener('keyup', onKeyUp)\n }\n if (rootElement !== null) {\n rootElement.addEventListener('keydown', onKeyDown)\n rootElement.addEventListener('keyup', onKeyUp)\n }\n },\n )\n }, [editor, isRecording, pushStep])\n\n useLayoutEffect(() => {\n if (preRef.current) {\n preRef.current.scrollTo(0, preRef.current.scrollHeight)\n }\n }, [generateTestContent])\n\n useEffect(() => {\n if (steps) {\n const testContent = generateTestContent()\n if (testContent !== null) {\n setTemplatedTest(testContent)\n }\n if (preRef.current) {\n preRef.current.scrollTo(0, preRef.current.scrollHeight)\n }\n }\n }, [generateTestContent, steps])\n\n useEffect(() => {\n const removeUpdateListener = editor.registerUpdateListener(\n ({ dirtyElements, dirtyLeaves, editorState }) => {\n if (!isRecording) {\n return\n }\n const currentSelection = editorState._selection\n const previousSelection = previousSelectionRef.current\n const skipNextSelectionChange = skipNextSelectionChangeRef.current\n if (previousSelection !== currentSelection) {\n if (dirtyLeaves.size === 0 && dirtyElements.size === 0 && !skipNextSelectionChange) {\n const browserSelection = getDOMSelection(editor._window)\n if (\n browserSelection &&\n (browserSelection.anchorNode == null || browserSelection.focusNode == null)\n ) {\n return\n }\n }\n previousSelectionRef.current = currentSelection\n }\n skipNextSelectionChangeRef.current = false\n const testContent = generateTestContent()\n if (testContent !== null) {\n setTemplatedTest(testContent)\n }\n },\n )\n return removeUpdateListener\n }, [editor, generateTestContent, isRecording, pushStep])\n\n // save innerHTML\n useEffect(() => {\n if (!isRecording) {\n return\n }\n const removeUpdateListener = editor.registerUpdateListener(() => {\n const rootElement = editor.getRootElement()\n if (rootElement !== null) {\n setCurrentInnerHTML(rootElement?.innerHTML)\n }\n })\n return removeUpdateListener\n }, [editor, isRecording])\n\n // clear editor and start recording\n const toggleEditorSelection = useCallback(\n (currentEditor: LexicalEditor) => {\n if (!isRecording) {\n currentEditor.update(() => {\n const root = $getRoot()\n root.clear()\n const text = $createTextNode()\n root.append($createParagraphNode().append(text))\n text.select()\n })\n setSteps([])\n }\n setIsRecording((currentIsRecording) => !currentIsRecording)\n },\n [isRecording],\n )\n\n const onSnapshotClick = useCallback(() => {\n if (!isRecording) {\n return\n }\n const browserSelection = getDOMSelection(editor._window)\n if (\n browserSelection === null ||\n browserSelection.anchorNode == null ||\n browserSelection.focusNode == null\n ) {\n return\n }\n const { anchorNode, anchorOffset, focusNode, focusOffset } = sanitizeSelection(browserSelection)\n const rootElement = getCurrentEditor().getRootElement()\n let anchorPath\n if (anchorNode !== null) {\n anchorPath = getPathFromNodeToEditor(anchorNode, rootElement)\n }\n let focusPath\n if (focusNode !== null) {\n focusPath = getPathFromNodeToEditor(focusNode, rootElement)\n }\n pushStep('snapshot', {\n anchorNode,\n anchorOffset,\n anchorPath,\n focusNode,\n focusOffset,\n focusPath,\n })\n }, [pushStep, isRecording, getCurrentEditor])\n\n const onCopyClick = useCallback(() => {\n copy(generateTestContent())\n }, [generateTestContent])\n\n const onDownloadClick = useCallback(() => {\n download('test.js', generateTestContent())\n }, [generateTestContent])\n\n const button = (\n <button\n className={`editor-dev-button ${isRecording ? 'active' : ''}`}\n id=\"test-recorder-button\"\n onClick={(e) => {\n toggleEditorSelection(getCurrentEditor())\n e.preventDefault()\n }}\n title={isRecording ? 'Disable test recorder' : 'Enable test recorder'}\n type=\"button\"\n >\n {isRecording ? 'Disable test recorder' : 'Enable test recorder'}\n </button>\n )\n const output = isRecording ? (\n <div className=\"test-recorder-output\">\n <div className=\"test-recorder-toolbar\">\n <button\n className=\"test-recorder-button\"\n id=\"test-recorder-button-snapshot\"\n onClick={(e) => {\n onSnapshotClick()\n e.preventDefault()\n }}\n title=\"Insert snapshot\"\n type=\"button\"\n >\n Insert Snapshot\n </button>\n <button\n className=\"test-recorder-button\"\n id=\"test-recorder-button-copy\"\n onClick={(e) => {\n onCopyClick()\n e.preventDefault()\n }}\n title=\"Copy to clipboard\"\n type=\"button\"\n >\n Copy\n </button>\n <button\n className=\"test-recorder-button\"\n id=\"test-recorder-button-download\"\n onClick={(e) => {\n onDownloadClick()\n e.preventDefault()\n }}\n title=\"Download as a file\"\n type=\"button\"\n >\n Download\n </button>\n </div>\n <pre id=\"test-recorder\" ref={preRef}>\n {templatedTest}\n </pre>\n </div>\n ) : null\n\n return [button, output]\n}\nexport const TestRecorderPlugin: PluginComponent<undefined> = () => {\n const [editor] = useLexicalComposerContext()\n const [testRecorderButton, testRecorderOutput] = useTestRecorder(editor)\n\n return (\n <React.Fragment>\n <p>HI</p>\n {testRecorderButton}\n {testRecorderOutput}\n <p>DONE</p>\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,oBAAoB,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,eAAe,QAAQ;AACjF,YAAYC,KAAA,MAAW;AACvB,SAAmBC,WAAW,EAAEC,SAAS,EAAEC,eAAe,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAIpF,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,IAAA,GAAQC,IAAA;EACZ,MAAMC,QAAA,GAAWC,QAAA,CAASC,aAAa,CAAC;EACxCF,QAAA,CAASG,KAAK,GAAGJ,IAAA,IAAQ;EACzBC,QAAA,CAASI,KAAK,CAACC,QAAQ,GAAG;EAC1BL,QAAA,CAASI,KAAK,CAACE,OAAO,GAAG;EACzBL,QAAA,CAASM,IAAI,EAAEC,WAAA,CAAYR,QAAA;EAC3BA,QAAA,CAASS,KAAK;EACdT,QAAA,CAASU,MAAM;EACf,IAAI;IACF,MAAMC,MAAA,GAASV,QAAA,CAASW,WAAW,CAAC;IACpC;IACAC,OAAA,CAAQC,GAAG,CAACH,MAAA;EACd,EAAE,OAAOI,KAAA,EAAO;IACdF,OAAA,CAAQE,KAAK,CAACA,KAAA;EAChB;EACAd,QAAA,CAASM,IAAI,EAAES,WAAA,CAAYhB,QAAA;AAC7B;AAEA,MAAMiB,QAAA,GAAWA,CAACC,QAAA,EAAkBnB,IAAA;EAClC,MAAMoB,CAAA,GAAIlB,QAAA,CAASC,aAAa,CAAC;EACjCiB,CAAA,CAAEC,YAAY,CAAC,QAAQ,mCAAmCC,kBAAA,CAAmBtB,IAAA,IAAQ;EACrFoB,CAAA,CAAEC,YAAY,CAAC,YAAYF,QAAA;EAC3BC,CAAA,CAAEf,KAAK,CAACkB,OAAO,GAAG;EAClBrB,QAAA,CAASM,IAAI,EAAEC,WAAA,CAAYW,CAAA;EAC3BA,CAAA,CAAEI,KAAK;EACPtB,QAAA,CAASM,IAAI,EAAES,WAAA,CAAYG,CAAA;AAC7B;AAEA,MAAMK,UAAA,GAAcC,IAAA;EAClB,MAAMC,aAAA,GAAgBA,CAACC,IAAA,EAAcxB,KAAA;IACnC,QAAQwB,IAAA;MACN,KAAK;QAAS;UACZ,OAAO,gCAAgCxB,KAAA,CAAMyB,CAAC,KAAKzB,KAAA,CAAM0B,CAAC,IAAI;QAChE;MACA,KAAK;QAAW;UACd,OAAO,sCAAsC1B,KAAA,KAAU;QACzD;MACA,KAAK;QAAS;UACZ,OAAO,oCAAoCA,KAAA,KAAU;QACvD;MACA,KAAK;QAAS;UACZ,OAAO,oCAAoCA,KAAA,KAAU;QACvD;MACA,KAAK;QAAa;UAChB,OAAO,8BAA8B;QACvC;MACA,KAAK;QAAY;UACf,OAAO;;uBAEQA,KAAA,CAAM2B,UAAU,CAACC,QAAQ;wBACxB5B,KAAA,CAAM6B,YAAY;sBACpB7B,KAAA,CAAM8B,SAAS,CAACF,QAAQ;uBACvB5B,KAAA,CAAM+B,WAAW;;AAExC,CAAC;QACK;MACA,KAAK;QAAQ;UACX,OAAO,mCAAmC/B,KAAA,KAAU;QACtD;MACA;QACE,OAAO,EAAE;IACb;EACF;EACA,MAAMgC,aAAA,GAAgBT,aAAA,CAAcD,IAAA,CAAKE,IAAI,EAAEF,IAAA,CAAKtB,KAAK;EACzD,QAAQsB,IAAA,CAAKW,KAAK;IAChB,KAAK;MACH,OAAOD,aAAA;IACT,KAAK;MACH,OAAO,CAACA,aAAA,EAAeA,aAAA,CAAc,CAACE,IAAI,CAAC,IAAI;IACjD;MACE,OAAO,sBAAsBZ,IAAA,CAAKW,KAAK;IACzCD,aAAA;SACK;EACP;AACF;AAEA,OAAO,SAASG,YAAYC,KAAoB;EAC9C,OAAOA,KAAA,CAAMC,GAAG,CAACC,WAAW,OAAO,QAAQ5C,QAAA,GAAW0C,KAAA,CAAMG,OAAO,GAAGH,KAAA,CAAMI,OAAO,CAAD;AACpF;AAEA;AACA,SAASC,kBAAkBC,SAAoB;EAC7C,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAE,GAAGF,SAAA;EAClC,IAAI;IAAEb,YAAY;IAAEE;EAAW,CAAE,GAAGW,SAAA;EACpC,IAAIb,YAAA,KAAiB,GAAG;IACtBA,YAAA;EACF;EACA,IAAIE,WAAA,KAAgB,GAAG;IACrBA,WAAA;EACF;EACA,OAAO;IAAEY,UAAA;IAAYd,YAAA;IAAce,SAAA;IAAWb;EAAY;AAC5D;AAEA,SAASc,wBAAwBC,IAAU,EAAEC,WAA+B;EAC1E,IAAIC,WAAA,GAAuCF,IAAA;EAC3C,MAAMG,IAAA,GAAiB,EAAE;EACzB,OAAOD,WAAA,KAAgBD,WAAA,EAAa;IAClC,IAAIC,WAAA,KAAgB,QAAQA,WAAA,KAAgBE,SAAA,EAAW;MACrDD,IAAA,CAAKE,OAAO,CACVC,KAAA,CAAMC,IAAI,CAACL,WAAA,EAAaM,UAAA,EAAYC,UAAA,IAAc,EAAE,EAAEC,OAAO,CAACR,WAAA;IAElE;IACAA,WAAA,GAAcA,WAAA,EAAaM,UAAA;EAC7B;EACA,OAAOL,IAAA;AACT;AAEA,MAAMQ,UAAA,GAAa,IAAIC,GAAA,CAAI,CACzB,aACA,aACA,cACA,WACA,aACA,UACA,SACA,SACD;AAWD,SAASC,gBAAgBC,MAAqB;EAC5C,MAAM,CAACC,KAAA,EAAOC,QAAA,CAAS,GAAGrE,QAAA,CAAgB,EAAE;EAC5C,MAAM,CAACsE,WAAA,EAAaC,cAAA,CAAe,GAAGvE,QAAA,CAAS;EAC/C,MAAM,GAAGwE,mBAAA,CAAoB,GAAGxE,QAAA,CAAS;EACzC,MAAM,CAACyE,aAAA,EAAeC,gBAAA,CAAiB,GAAG1E,QAAA,CAAS;EACnD,MAAM2E,oBAAA,GAAuB5E,MAAA,CAA6B;EAC1D,MAAM6E,0BAAA,GAA6B7E,MAAA,CAAO;EAC1C,MAAM8E,MAAA,GAAS9E,MAAA,CAAuB;EAEtC,MAAM+E,gBAAA,GAAmBlF,WAAA,CAAY;IACnC,OAAOuE,MAAA;EACT,GAAG,CAACA,MAAA,CAAO;EAEX,MAAMY,mBAAA,GAAsBnF,WAAA,CAAY;IACtC,MAAM0D,WAAA,GAAca,MAAA,CAAOa,cAAc;IACzC,MAAMC,gBAAA,GAAmBvF,eAAA,CAAgByE,MAAA,CAAOe,OAAO;IAEvD,IACE5B,WAAA,IAAe,QACf2B,gBAAA,IAAoB,QACpBA,gBAAA,CAAiB/B,UAAU,IAAI,QAC/B+B,gBAAA,CAAiB9B,SAAS,IAAI,QAC9B,CAACG,WAAA,CAAY6B,QAAQ,CAACF,gBAAA,CAAiB/B,UAAU,KACjD,CAACI,WAAA,CAAY6B,QAAQ,CAACF,gBAAA,CAAiB9B,SAAS,GAChD;MACA,OAAO;IACT;IAEA,OAAO;;;;;;;;;;;;;;;;;AAiBX,EAAEiB,KAAA,CAAMgB,GAAG,CAACxD,UAAA,EAAYa,IAAI,CAAC,IAAI;;;KAG5B;EACH,GAAG,CAAC0B,MAAA,EAAQC,KAAA,CAAM;EAElB;EACA;EACA,MAAMiB,QAAA,GAAWzF,WAAA,CACf,CAACmC,IAAA,EAAcxB,KAAA;IACb8D,QAAA,CAAUiB,YAAA;MACR;MACA,MAAMC,YAAA,GAAenB,KAAA,CAAMoB,MAAM,GAAG;MACpC,MAAMC,QAAA,GAAWrB,KAAK,CAACmB,YAAA,CAAa;MACpC,IAAIE,QAAA,EAAU;QACZ,IAAIA,QAAA,CAAS1D,IAAI,KAAKA,IAAA,EAAM;UAC1B,IAAIA,IAAA,KAAS,QAAQ;YACnB;YACA,OAAO,C,GACFqC,KAAA,CAAMsB,KAAK,CAAC,GAAGH,YAAA,GAClB;cAAE,GAAGE,QAAQ;cAAElF,KAAA,EAAOkF,QAAA,CAASlF,KAAK,GAAGA;YAAM,EAC9C;UACH,OAAO;YACL;YACA,IAAIkF,QAAA,CAASlF,KAAK,KAAKA,KAAA,EAAO;cAC5B,OAAO,C,GAAI6D,KAAA,CAAMsB,KAAK,CAAC,GAAGH,YAAA,GAAe;gBAAE,GAAGE,QAAQ;gBAAEjD,KAAA,EAAOiD,QAAA,CAASjD,KAAK,GAAG;cAAE,EAAE;YACtF;UACF;QACF;MACF;MACA;MACA,OAAO,C,GAAI8C,YAAA,EAAc;QAAEvD,IAAA;QAAMS,KAAA,EAAO;QAAGjC;MAAM,EAAE;IACrD;EACF,GACA,CAAC6D,KAAA,EAAOC,QAAA,CAAS;EAGnBvE,eAAA,CAAgB;IACd,MAAM6F,SAAA,GAAahD,KAAA;MACjB,IAAI,CAAC2B,WAAA,EAAa;QAChB;MACF;MACA,MAAM1B,GAAA,GAAMD,KAAA,CAAMC,GAAG;MACrB,IAAIF,WAAA,CAAYC,KAAA,GAAQ;QACtB0C,QAAA,CAAS,aAAa;MACxB,OAAO,IAAIrB,UAAA,CAAW4B,GAAG,CAAChD,GAAA,GAAM;QAC9ByC,QAAA,CAAS,SAAS1C,KAAA,CAAMC,GAAG;MAC7B,OAAO,IAAI,C,GAAIA,GAAA,CAAI,CAAC4C,MAAM,GAAG,GAAG;QAC9BH,QAAA,CAAS,WAAW1C,KAAA,CAAMC,GAAG;MAC/B,OAAO;QACLyC,QAAA,CAAS,QAAQ1C,KAAA,CAAMC,GAAG;MAC5B;IACF;IAEA,MAAMiD,OAAA,GAAWlD,OAAA;MACf,IAAI,CAAC2B,WAAA,EAAa;QAChB;MACF;MACA,MAAM1B,KAAA,GAAMD,OAAA,CAAMC,GAAG;MACrB,IAAI,CAACoB,UAAA,CAAW4B,GAAG,CAAChD,KAAA,KAAQ,C,GAAIA,KAAA,CAAI,CAAC4C,MAAM,GAAG,GAAG;QAC/CH,QAAA,CAAS,SAAS1C,OAAA,CAAMC,GAAG;MAC7B;IACF;IAEA,OAAOuB,MAAA,CAAO2B,oBAAoB,CAChC,CAACxC,aAAA,EAAiCyC,eAAA;MAChC,IAAIA,eAAA,KAAoB,MAAM;QAC5BA,eAAA,CAAgBC,mBAAmB,CAAC,WAAWL,SAAA;QAC/CI,eAAA,CAAgBC,mBAAmB,CAAC,SAASH,OAAA;MAC/C;MACA,IAAIvC,aAAA,KAAgB,MAAM;QACxBA,aAAA,CAAY2C,gBAAgB,CAAC,WAAWN,SAAA;QACxCrC,aAAA,CAAY2C,gBAAgB,CAAC,SAASJ,OAAA;MACxC;IACF;EAEJ,GAAG,CAAC1B,MAAA,EAAQG,WAAA,EAAae,QAAA,CAAS;EAElCvF,eAAA,CAAgB;IACd,IAAI+E,MAAA,CAAOqB,OAAO,EAAE;MAClBrB,MAAA,CAAOqB,OAAO,CAACC,QAAQ,CAAC,GAAGtB,MAAA,CAAOqB,OAAO,CAACE,YAAY;IACxD;EACF,GAAG,CAACrB,mBAAA,CAAoB;EAExBlF,SAAA,CAAU;IACR,IAAIuE,KAAA,EAAO;MACT,MAAMiC,WAAA,GAActB,mBAAA;MACpB,IAAIsB,WAAA,KAAgB,MAAM;QACxB3B,gBAAA,CAAiB2B,WAAA;MACnB;MACA,IAAIxB,MAAA,CAAOqB,OAAO,EAAE;QAClBrB,MAAA,CAAOqB,OAAO,CAACC,QAAQ,CAAC,GAAGtB,MAAA,CAAOqB,OAAO,CAACE,YAAY;MACxD;IACF;EACF,GAAG,CAACrB,mBAAA,EAAqBX,KAAA,CAAM;EAE/BvE,SAAA,CAAU;IACR,MAAMyG,oBAAA,GAAuBnC,MAAA,CAAOoC,sBAAsB,CACxD,CAAC;MAAEC,aAAa;MAAEC,WAAW;MAAEC;IAAW,CAAE;MAC1C,IAAI,CAACpC,WAAA,EAAa;QAChB;MACF;MACA,MAAMqC,gBAAA,GAAmBD,WAAA,CAAYE,UAAU;MAC/C,MAAMC,iBAAA,GAAoBlC,oBAAA,CAAqBuB,OAAO;MACtD,MAAMY,uBAAA,GAA0BlC,0BAAA,CAA2BsB,OAAO;MAClE,IAAIW,iBAAA,KAAsBF,gBAAA,EAAkB;QAC1C,IAAIF,WAAA,CAAYM,IAAI,KAAK,KAAKP,aAAA,CAAcO,IAAI,KAAK,KAAK,CAACD,uBAAA,EAAyB;UAClF,MAAM7B,kBAAA,GAAmBvF,eAAA,CAAgByE,MAAA,CAAOe,OAAO;UACvD,IACED,kBAAA,KACCA,kBAAA,CAAiB/B,UAAU,IAAI,QAAQ+B,kBAAA,CAAiB9B,SAAS,IAAI,IAAG,GACzE;YACA;UACF;QACF;QACAwB,oBAAA,CAAqBuB,OAAO,GAAGS,gBAAA;MACjC;MACA/B,0BAAA,CAA2BsB,OAAO,GAAG;MACrC,MAAMG,aAAA,GAActB,mBAAA;MACpB,IAAIsB,aAAA,KAAgB,MAAM;QACxB3B,gBAAA,CAAiB2B,aAAA;MACnB;IACF;IAEF,OAAOC,oBAAA;EACT,GAAG,CAACnC,MAAA,EAAQY,mBAAA,EAAqBT,WAAA,EAAae,QAAA,CAAS;EAEvD;EACAxF,SAAA,CAAU;IACR,IAAI,CAACyE,WAAA,EAAa;MAChB;IACF;IACA,MAAMgC,sBAAA,GAAuBnC,MAAA,CAAOoC,sBAAsB,CAAC;MACzD,MAAMjD,aAAA,GAAca,MAAA,CAAOa,cAAc;MACzC,IAAI1B,aAAA,KAAgB,MAAM;QACxBkB,mBAAA,CAAoBlB,aAAA,EAAa0D,SAAA;MACnC;IACF;IACA,OAAOV,sBAAA;EACT,GAAG,CAACnC,MAAA,EAAQG,WAAA,CAAY;EAExB;EACA,MAAM2C,qBAAA,GAAwBrH,WAAA,CAC3BsH,aAAA;IACC,IAAI,CAAC5C,WAAA,EAAa;MAChB4C,aAAA,CAAcC,MAAM,CAAC;QACnB,MAAMC,IAAA,GAAO3H,QAAA;QACb2H,IAAA,CAAKC,KAAK;QACV,MAAMlH,IAAA,GAAOX,eAAA;QACb4H,IAAA,CAAKE,MAAM,CAAC/H,oBAAA,GAAuB+H,MAAM,CAACnH,IAAA;QAC1CA,IAAA,CAAKW,MAAM;MACb;MACAuD,QAAA,CAAS,EAAE;IACb;IACAE,cAAA,CAAgBgD,kBAAA,IAAuB,CAACA,kBAAA;EAC1C,GACA,CAACjD,WAAA,CAAY;EAGf,MAAMkD,eAAA,GAAkB5H,WAAA,CAAY;IAClC,IAAI,CAAC0E,WAAA,EAAa;MAChB;IACF;IACA,MAAMW,kBAAA,GAAmBvF,eAAA,CAAgByE,MAAA,CAAOe,OAAO;IACvD,IACED,kBAAA,KAAqB,QACrBA,kBAAA,CAAiB/B,UAAU,IAAI,QAC/B+B,kBAAA,CAAiB9B,SAAS,IAAI,MAC9B;MACA;IACF;IACA,MAAM;MAAED,UAAU;MAAEd,YAAY;MAAEe,SAAS;MAAEb;IAAW,CAAE,GAAGU,iBAAA,CAAkBiC,kBAAA;IAC/E,MAAM3B,aAAA,GAAcwB,gBAAA,GAAmBE,cAAc;IACrD,IAAI9C,UAAA;IACJ,IAAIgB,UAAA,KAAe,MAAM;MACvBhB,UAAA,GAAakB,uBAAA,CAAwBF,UAAA,EAAYI,aAAA;IACnD;IACA,IAAIjB,SAAA;IACJ,IAAIc,SAAA,KAAc,MAAM;MACtBd,SAAA,GAAYe,uBAAA,CAAwBD,SAAA,EAAWG,aAAA;IACjD;IACA+B,QAAA,CAAS,YAAY;MACnBnC,UAAA;MACAd,YAAA;MACAF,UAAA;MACAiB,SAAA;MACAb,WAAA;MACAD;IACF;EACF,GAAG,CAACgD,QAAA,EAAUf,WAAA,EAAaQ,gBAAA,CAAiB;EAE5C,MAAM2C,WAAA,GAAc7H,WAAA,CAAY;IAC9BM,IAAA,CAAK6E,mBAAA;EACP,GAAG,CAACA,mBAAA,CAAoB;EAExB,MAAM2C,eAAA,GAAkB9H,WAAA,CAAY;IAClCyB,QAAA,CAAS,WAAW0D,mBAAA;EACtB,GAAG,CAACA,mBAAA,CAAoB;EAExB,MAAM4C,MAAA,gBACJC,IAAA,CAAC;IACCC,SAAA,EAAW,qBAAqBvD,WAAA,GAAc,WAAW,IAAI;IAC7DwD,EAAA,EAAG;IACHC,OAAA,EAAUC,CAAA;MACRf,qBAAA,CAAsBnC,gBAAA;MACtBkD,CAAA,CAAEC,cAAc;IAClB;IACAC,KAAA,EAAO5D,WAAA,GAAc,0BAA0B;IAC/C6D,IAAA,EAAK;cAEJ7D,WAAA,GAAc,0BAA0B;;EAG7C,MAAM8D,MAAA,GAAS9D,WAAA,gBACb+D,KAAA,CAAC;IAAIR,SAAA,EAAU;4BACbQ,KAAA,CAAC;MAAIR,SAAA,EAAU;8BACbD,IAAA,CAAC;QACCC,SAAA,EAAU;QACVC,EAAA,EAAG;QACHC,OAAA,EAAUC,GAAA;UACRR,eAAA;UACAQ,GAAA,CAAEC,cAAc;QAClB;QACAC,KAAA,EAAM;QACNC,IAAA,EAAK;kBACN;uBAGDP,IAAA,CAAC;QACCC,SAAA,EAAU;QACVC,EAAA,EAAG;QACHC,OAAA,EAAUC,GAAA;UACRP,WAAA;UACAO,GAAA,CAAEC,cAAc;QAClB;QACAC,KAAA,EAAM;QACNC,IAAA,EAAK;kBACN;uBAGDP,IAAA,CAAC;QACCC,SAAA,EAAU;QACVC,EAAA,EAAG;QACHC,OAAA,EAAUC,GAAA;UACRN,eAAA;UACAM,GAAA,CAAEC,cAAc;QAClB;QACAC,KAAA,EAAM;QACNC,IAAA,EAAK;kBACN;;qBAIHP,IAAA,CAAC;MAAIE,EAAA,EAAG;MAAgBQ,GAAA,EAAKzD,MAAA;gBAC1BJ;;OAGH;EAEJ,OAAO,CAACkD,MAAA,EAAQS,MAAA,CAAO;AACzB;AACA,OAAO,MAAMG,kBAAA,GAAiDA,CAAA;EAAA,MAAAC,CAAA,GAAAnJ,EAAA;EAC5D,OAAA8E,MAAA,IAAiB7E,yBAAA;EACjB,OAAAmJ,kBAAA,EAAAC,kBAAA,IAAiDxE,eAAA,CAAgBC,MAAA;EAAA,IAAAwE,EAAA;EAAA,IAAAH,CAAA,QAAAC,kBAAA,IAAAD,CAAA,QAAAE,kBAAA;IAG/DC,EAAA,GAAAN,KAAA,CAAC1I,KAAA,CAAAiJ,QAAc;MAAAC,QAAA,E,CACbjB,IAAA,CAAC;QAAAiB,QAAA,EAAE;UACFJ,kBAAA,EACAC,kBAAA,EACDd,IAAA,CAAC;QAAAiB,QAAA,EAAE;;;;;;;;;SAJLF,E;CAOJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","TreeView","React","TreeViewPlugin","$","editor","t0","_jsx","timeTravelButtonClassName","timeTravelPanelButtonClassName","timeTravelPanelClassName","timeTravelPanelSliderClassName","treeTypeButtonClassName","viewClassName"],"sources":["../../../../../../src/features/debug/treeView/client/plugin/index.tsx"],"sourcesContent":["'use client'\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { TreeView } from '@lexical/react/LexicalTreeView.js'\nimport * as React from 'react'\n\nimport type { PluginComponent } from '../../../../typesClient.js'\n\nimport './index.css'\n\nexport const TreeViewPlugin: PluginComponent<undefined> = () => {\n const [editor] = useLexicalComposerContext()\n return (\n <TreeView\n editor={editor}\n timeTravelButtonClassName=\"debug-timetravel-button\"\n timeTravelPanelButtonClassName=\"debug-timetravel-panel-button\"\n timeTravelPanelClassName=\"debug-timetravel-panel\"\n timeTravelPanelSliderClassName=\"debug-timetravel-panel-slider\"\n treeTypeButtonClassName=\"debug-treetype-button\"\n viewClassName=\"tree-view-output\"\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,QAAQ,QAAQ;AACzB,YAAYC,KAAA,MAAW;AAIvB,OAAO;AAEP,OAAO,MAAMC,cAAA,GAA6CA,CAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACxD,OAAAM,MAAA,IAAiBL,yBAAA;EAAA,IAAAM,EAAA;EAAA,IAAAF,CAAA,QAAAC,MAAA;IAEfC,EAAA,GAAAC,IAAA,CAAAN,QAAA;MAAAI,MAAA;MAAAG,yBAAA,EAE4B;MAAAC,8BAAA,EACK;MAAAC,wBAAA,EACN;MAAAC,8BAAA,EACM;MAAAC,uBAAA,EACP;MAAAC,aAAA,EACV;IAAA,C;;;;;;SAPhBP,E;CAUJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","TreeView","React","TreeViewPlugin","$","editor","t0","_jsx","timeTravelButtonClassName","timeTravelPanelButtonClassName","timeTravelPanelClassName","timeTravelPanelSliderClassName","treeTypeButtonClassName","viewClassName"],"sources":["../../../../../../src/features/debug/treeView/client/plugin/index.tsx"],"sourcesContent":["'use client'\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { TreeView } from '@lexical/react/LexicalTreeView.js'\nimport * as React from 'react'\n\nimport type { PluginComponent } from '../../../../typesClient.js'\n\nimport './index.css'\n\nexport const TreeViewPlugin: PluginComponent<undefined> = () => {\n const [editor] = useLexicalComposerContext()\n return (\n <TreeView\n editor={editor}\n timeTravelButtonClassName=\"debug-timetravel-button\"\n timeTravelPanelButtonClassName=\"debug-timetravel-panel-button\"\n timeTravelPanelClassName=\"debug-timetravel-panel\"\n timeTravelPanelSliderClassName=\"debug-timetravel-panel-slider\"\n treeTypeButtonClassName=\"debug-treetype-button\"\n viewClassName=\"tree-view-output\"\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,QAAQ,QAAQ;AACzB,YAAYC,KAAA,MAAW;AAIvB,OAAO;AAEP,OAAO,MAAMC,cAAA,GAA6CA,CAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACxD,OAAAM,MAAA,IAAiBL,yBAAA;EAAA,IAAAM,EAAA;EAAA,IAAAF,CAAA,QAAAC,MAAA;IAEfC,EAAA,GAAAC,IAAA,CAACN,QAAA;MAAAI,MAAA;MAAAG,yBAAA,EAE2B;MAAAC,8BAAA,EACK;MAAAC,wBAAA,EACN;MAAAC,8BAAA,EACM;MAAAC,uBAAA,EACP;MAAAC,aAAA,EACV;;;;;;;SAPhBP,E;CAUJ","ignoreList":[]}
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
 
3
+ import { BOLD_ITALIC_STAR, BOLD_ITALIC_UNDERSCORE, BOLD_STAR, BOLD_UNDERSCORE } from '@lexical/markdown';
3
4
  import { $isTableSelection } from '@lexical/table';
4
5
  import { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical';
5
6
  import { BoldIcon } from '../../../lexical/ui/icons/Bold/index.js';
6
7
  import { createClientFeature } from '../../../utilities/createClientFeature.js';
7
8
  import { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js';
8
- import { BOLD_ITALIC_STAR, BOLD_ITALIC_UNDERSCORE, BOLD_STAR, BOLD_UNDERSCORE } from './markdownTransformers.js';
9
9
  const toolbarGroups = [toolbarFormatGroupWithItems([{
10
10
  ChildComponent: BoldIcon,
11
11
  isActive: ({
@@ -1 +1 @@
1
- {"version":3,"file":"feature.client.js","names":["$isTableSelection","$isRangeSelection","FORMAT_TEXT_COMMAND","BoldIcon","createClientFeature","toolbarFormatGroupWithItems","BOLD_ITALIC_STAR","BOLD_ITALIC_UNDERSCORE","BOLD_STAR","BOLD_UNDERSCORE","toolbarGroups","ChildComponent","isActive","selection","hasFormat","key","onSelect","editor","dispatchCommand","order","BoldFeatureClient","featureProviderMap","markdownTransformers","get","push","enableFormats","toolbarFixed","groups","toolbarInline"],"sources":["../../../../src/features/format/bold/feature.client.tsx"],"sourcesContent":["'use client'\nimport { $isTableSelection } from '@lexical/table'\nimport { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\n\nimport { BoldIcon } from '../../../lexical/ui/icons/Bold/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js'\nimport {\n BOLD_ITALIC_STAR,\n BOLD_ITALIC_UNDERSCORE,\n BOLD_STAR,\n BOLD_UNDERSCORE,\n} from './markdownTransformers.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarFormatGroupWithItems([\n {\n ChildComponent: BoldIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection) || $isTableSelection(selection)) {\n return selection.hasFormat('bold')\n }\n return false\n },\n key: 'bold',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold')\n },\n order: 1,\n },\n ]),\n]\n\nexport const BoldFeatureClient = createClientFeature(({ featureProviderMap }) => {\n const markdownTransformers = [BOLD_STAR, BOLD_UNDERSCORE]\n if (featureProviderMap.get('italic')) {\n markdownTransformers.push(BOLD_ITALIC_UNDERSCORE, BOLD_ITALIC_STAR)\n }\n\n return {\n enableFormats: ['bold'],\n markdownTransformers,\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n }\n})\n"],"mappings":"AAAA;;AACA,SAASA,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ;AAIvD,SAASC,QAAQ,QAAQ;AACzB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,2BAA2B,QAAQ;AAC5C,SACEC,gBAAgB,EAChBC,sBAAsB,EACtBC,SAAS,EACTC,eAAe,QACV;AAEP,MAAMC,aAAA,GAAgC,CACpCL,2BAAA,CAA4B,CAC1B;EACEM,cAAA,EAAgBR,QAAA;EAChBS,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAIZ,iBAAA,CAAkBY,SAAA,KAAcb,iBAAA,CAAkBa,SAAA,GAAY;MAChE,OAAOA,SAAA,CAAUC,SAAS,CAAC;IAC7B;IACA,OAAO;EACT;EACAC,GAAA,EAAK;EACLC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAAChB,mBAAA,EAAqB;EAC9C;EACAiB,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,iBAAA,GAAoBhB,mBAAA,CAAoB,CAAC;EAAEiB;AAAkB,CAAE;EAC1E,MAAMC,oBAAA,GAAuB,CAACd,SAAA,EAAWC,eAAA,CAAgB;EACzD,IAAIY,kBAAA,CAAmBE,GAAG,CAAC,WAAW;IACpCD,oBAAA,CAAqBE,IAAI,CAACjB,sBAAA,EAAwBD,gBAAA;EACpD;EAEA,OAAO;IACLmB,aAAA,EAAe,CAAC,OAAO;IACvBH,oBAAA;IACAI,YAAA,EAAc;MACZC,MAAA,EAAQjB;IACV;IACAkB,aAAA,EAAe;MACbD,MAAA,EAAQjB;IACV;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"feature.client.js","names":["BOLD_ITALIC_STAR","BOLD_ITALIC_UNDERSCORE","BOLD_STAR","BOLD_UNDERSCORE","$isTableSelection","$isRangeSelection","FORMAT_TEXT_COMMAND","BoldIcon","createClientFeature","toolbarFormatGroupWithItems","toolbarGroups","ChildComponent","isActive","selection","hasFormat","key","onSelect","editor","dispatchCommand","order","BoldFeatureClient","featureProviderMap","markdownTransformers","get","push","enableFormats","toolbarFixed","groups","toolbarInline"],"sources":["../../../../src/features/format/bold/feature.client.tsx"],"sourcesContent":["'use client'\nimport {\n BOLD_ITALIC_STAR,\n BOLD_ITALIC_UNDERSCORE,\n BOLD_STAR,\n BOLD_UNDERSCORE,\n} from '@lexical/markdown'\nimport { $isTableSelection } from '@lexical/table'\nimport { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\n\nimport { BoldIcon } from '../../../lexical/ui/icons/Bold/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarFormatGroupWithItems([\n {\n ChildComponent: BoldIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection) || $isTableSelection(selection)) {\n return selection.hasFormat('bold')\n }\n return false\n },\n key: 'bold',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold')\n },\n order: 1,\n },\n ]),\n]\n\nexport const BoldFeatureClient = createClientFeature(({ featureProviderMap }) => {\n const markdownTransformers = [BOLD_STAR, BOLD_UNDERSCORE]\n if (featureProviderMap.get('italic')) {\n markdownTransformers.push(BOLD_ITALIC_UNDERSCORE, BOLD_ITALIC_STAR)\n }\n\n return {\n enableFormats: ['bold'],\n markdownTransformers,\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n }\n})\n"],"mappings":"AAAA;;AACA,SACEA,gBAAgB,EAChBC,sBAAsB,EACtBC,SAAS,EACTC,eAAe,QACV;AACP,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ;AAIvD,SAASC,QAAQ,QAAQ;AACzB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,2BAA2B,QAAQ;AAE5C,MAAMC,aAAA,GAAgC,CACpCD,2BAAA,CAA4B,CAC1B;EACEE,cAAA,EAAgBJ,QAAA;EAChBK,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAIR,iBAAA,CAAkBQ,SAAA,KAAcT,iBAAA,CAAkBS,SAAA,GAAY;MAChE,OAAOA,SAAA,CAAUC,SAAS,CAAC;IAC7B;IACA,OAAO;EACT;EACAC,GAAA,EAAK;EACLC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAACZ,mBAAA,EAAqB;EAC9C;EACAa,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,iBAAA,GAAoBZ,mBAAA,CAAoB,CAAC;EAAEa;AAAkB,CAAE;EAC1E,MAAMC,oBAAA,GAAuB,CAACpB,SAAA,EAAWC,eAAA,CAAgB;EACzD,IAAIkB,kBAAA,CAAmBE,GAAG,CAAC,WAAW;IACpCD,oBAAA,CAAqBE,IAAI,CAACvB,sBAAA,EAAwBD,gBAAA;EACpD;EAEA,OAAO;IACLyB,aAAA,EAAe,CAAC,OAAO;IACvBH,oBAAA;IACAI,YAAA,EAAc;MACZC,MAAA,EAAQjB;IACV;IACAkB,aAAA,EAAe;MACbD,MAAA,EAAQjB;IACV;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/format/bold/feature.server.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,WAAW,+FActB,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/format/bold/feature.server.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,WAAW,+FActB,CAAA"}
@@ -1,5 +1,5 @@
1
+ import { BOLD_ITALIC_STAR, BOLD_ITALIC_UNDERSCORE, BOLD_STAR, BOLD_UNDERSCORE } from '@lexical/markdown';
1
2
  import { createServerFeature } from '../../../utilities/createServerFeature.js';
2
- import { BOLD_ITALIC_STAR, BOLD_ITALIC_UNDERSCORE, BOLD_STAR, BOLD_UNDERSCORE } from './markdownTransformers.js';
3
3
  export const BoldFeature = createServerFeature({
4
4
  dependenciesSoft: ['italic'],
5
5
  feature: ({
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.js","names":["createServerFeature","BOLD_ITALIC_STAR","BOLD_ITALIC_UNDERSCORE","BOLD_STAR","BOLD_UNDERSCORE","BoldFeature","dependenciesSoft","feature","featureProviderMap","markdownTransformers","get","push","ClientFeature","key"],"sources":["../../../../src/features/format/bold/feature.server.ts"],"sourcesContent":["import { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport {\n BOLD_ITALIC_STAR,\n BOLD_ITALIC_UNDERSCORE,\n BOLD_STAR,\n BOLD_UNDERSCORE,\n} from './markdownTransformers.js'\n\nexport const BoldFeature = createServerFeature({\n dependenciesSoft: ['italic'],\n feature: ({ featureProviderMap }) => {\n const markdownTransformers = [BOLD_STAR, BOLD_UNDERSCORE]\n if (featureProviderMap.get('italic')) {\n markdownTransformers.push(BOLD_ITALIC_UNDERSCORE, BOLD_ITALIC_STAR)\n }\n\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#BoldFeatureClient',\n markdownTransformers,\n }\n },\n key: 'bold',\n})\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AACpC,SACEC,gBAAgB,EAChBC,sBAAsB,EACtBC,SAAS,EACTC,eAAe,QACV;AAEP,OAAO,MAAMC,WAAA,GAAcL,mBAAA,CAAoB;EAC7CM,gBAAA,EAAkB,CAAC,SAAS;EAC5BC,OAAA,EAASA,CAAC;IAAEC;EAAkB,CAAE;IAC9B,MAAMC,oBAAA,GAAuB,CAACN,SAAA,EAAWC,eAAA,CAAgB;IACzD,IAAII,kBAAA,CAAmBE,GAAG,CAAC,WAAW;MACpCD,oBAAA,CAAqBE,IAAI,CAACT,sBAAA,EAAwBD,gBAAA;IACpD;IAEA,OAAO;MACLW,aAAA,EAAe;MACfH;IACF;EACF;EACAI,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"feature.server.js","names":["BOLD_ITALIC_STAR","BOLD_ITALIC_UNDERSCORE","BOLD_STAR","BOLD_UNDERSCORE","createServerFeature","BoldFeature","dependenciesSoft","feature","featureProviderMap","markdownTransformers","get","push","ClientFeature","key"],"sources":["../../../../src/features/format/bold/feature.server.ts"],"sourcesContent":["import {\n BOLD_ITALIC_STAR,\n BOLD_ITALIC_UNDERSCORE,\n BOLD_STAR,\n BOLD_UNDERSCORE,\n} from '@lexical/markdown'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\n\nexport const BoldFeature = createServerFeature({\n dependenciesSoft: ['italic'],\n feature: ({ featureProviderMap }) => {\n const markdownTransformers = [BOLD_STAR, BOLD_UNDERSCORE]\n if (featureProviderMap.get('italic')) {\n markdownTransformers.push(BOLD_ITALIC_UNDERSCORE, BOLD_ITALIC_STAR)\n }\n\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#BoldFeatureClient',\n markdownTransformers,\n }\n },\n key: 'bold',\n})\n"],"mappings":"AAAA,SACEA,gBAAgB,EAChBC,sBAAsB,EACtBC,SAAS,EACTC,eAAe,QACV;AAEP,SAASC,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,WAAA,GAAcD,mBAAA,CAAoB;EAC7CE,gBAAA,EAAkB,CAAC,SAAS;EAC5BC,OAAA,EAASA,CAAC;IAAEC;EAAkB,CAAE;IAC9B,MAAMC,oBAAA,GAAuB,CAACP,SAAA,EAAWC,eAAA,CAAgB;IACzD,IAAIK,kBAAA,CAAmBE,GAAG,CAAC,WAAW;MACpCD,oBAAA,CAAqBE,IAAI,CAACV,sBAAA,EAAwBD,gBAAA;IACpD;IAEA,OAAO;MACLY,aAAA,EAAe;MACfH;IACF;EACF;EACAI,GAAA,EAAK;AACP","ignoreList":[]}
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
 
3
+ import { INLINE_CODE } from '@lexical/markdown';
3
4
  import { $isTableSelection } from '@lexical/table';
4
5
  import { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical';
5
6
  import { CodeIcon } from '../../../lexical/ui/icons/Code/index.js';
6
7
  import { createClientFeature } from '../../../utilities/createClientFeature.js';
7
8
  import { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js';
8
- import { INLINE_CODE } from './markdownTransformers.js';
9
9
  const toolbarGroups = [toolbarFormatGroupWithItems([{
10
10
  ChildComponent: CodeIcon,
11
11
  isActive: ({
@@ -1 +1 @@
1
- {"version":3,"file":"feature.client.js","names":["$isTableSelection","$isRangeSelection","FORMAT_TEXT_COMMAND","CodeIcon","createClientFeature","toolbarFormatGroupWithItems","INLINE_CODE","toolbarGroups","ChildComponent","isActive","selection","hasFormat","key","onSelect","editor","dispatchCommand","order","InlineCodeFeatureClient","enableFormats","markdownTransformers","toolbarFixed","groups","toolbarInline"],"sources":["../../../../src/features/format/inlineCode/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { $isTableSelection } from '@lexical/table'\nimport { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\n\nimport { CodeIcon } from '../../../lexical/ui/icons/Code/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js'\nimport { INLINE_CODE } from './markdownTransformers.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarFormatGroupWithItems([\n {\n ChildComponent: CodeIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection) || $isTableSelection(selection)) {\n return selection.hasFormat('code')\n }\n return false\n },\n key: 'inlineCode',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'code')\n },\n order: 7,\n },\n ]),\n]\n\nexport const InlineCodeFeatureClient = createClientFeature({\n enableFormats: ['code'],\n markdownTransformers: [INLINE_CODE],\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ;AAIvD,SAASC,QAAQ,QAAQ;AACzB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,WAAW,QAAQ;AAE5B,MAAMC,aAAA,GAAgC,CACpCF,2BAAA,CAA4B,CAC1B;EACEG,cAAA,EAAgBL,QAAA;EAChBM,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAIT,iBAAA,CAAkBS,SAAA,KAAcV,iBAAA,CAAkBU,SAAA,GAAY;MAChE,OAAOA,SAAA,CAAUC,SAAS,CAAC;IAC7B;IACA,OAAO;EACT;EACAC,GAAA,EAAK;EACLC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAACb,mBAAA,EAAqB;EAC9C;EACAc,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,uBAAA,GAA0Bb,mBAAA,CAAoB;EACzDc,aAAA,EAAe,CAAC,OAAO;EACvBC,oBAAA,EAAsB,CAACb,WAAA,CAAY;EACnCc,YAAA,EAAc;IACZC,MAAA,EAAQd;EACV;EACAe,aAAA,EAAe;IACbD,MAAA,EAAQd;EACV;AACF","ignoreList":[]}
1
+ {"version":3,"file":"feature.client.js","names":["INLINE_CODE","$isTableSelection","$isRangeSelection","FORMAT_TEXT_COMMAND","CodeIcon","createClientFeature","toolbarFormatGroupWithItems","toolbarGroups","ChildComponent","isActive","selection","hasFormat","key","onSelect","editor","dispatchCommand","order","InlineCodeFeatureClient","enableFormats","markdownTransformers","toolbarFixed","groups","toolbarInline"],"sources":["../../../../src/features/format/inlineCode/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { INLINE_CODE } from '@lexical/markdown'\nimport { $isTableSelection } from '@lexical/table'\nimport { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\n\nimport { CodeIcon } from '../../../lexical/ui/icons/Code/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarFormatGroupWithItems([\n {\n ChildComponent: CodeIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection) || $isTableSelection(selection)) {\n return selection.hasFormat('code')\n }\n return false\n },\n key: 'inlineCode',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'code')\n },\n order: 7,\n },\n ]),\n]\n\nexport const InlineCodeFeatureClient = createClientFeature({\n enableFormats: ['code'],\n markdownTransformers: [INLINE_CODE],\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,WAAW,QAAQ;AAC5B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ;AAIvD,SAASC,QAAQ,QAAQ;AACzB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,2BAA2B,QAAQ;AAE5C,MAAMC,aAAA,GAAgC,CACpCD,2BAAA,CAA4B,CAC1B;EACEE,cAAA,EAAgBJ,QAAA;EAChBK,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAIR,iBAAA,CAAkBQ,SAAA,KAAcT,iBAAA,CAAkBS,SAAA,GAAY;MAChE,OAAOA,SAAA,CAAUC,SAAS,CAAC;IAC7B;IACA,OAAO;EACT;EACAC,GAAA,EAAK;EACLC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAACZ,mBAAA,EAAqB;EAC9C;EACAa,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,uBAAA,GAA0BZ,mBAAA,CAAoB;EACzDa,aAAA,EAAe,CAAC,OAAO;EACvBC,oBAAA,EAAsB,CAACnB,WAAA,CAAY;EACnCoB,YAAA,EAAc;IACZC,MAAA,EAAQd;EACV;EACAe,aAAA,EAAe;IACbD,MAAA,EAAQd;EACV;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/format/inlineCode/feature.server.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,+FAM5B,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/format/inlineCode/feature.server.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,+FAM5B,CAAA"}
@@ -1,5 +1,5 @@
1
+ import { INLINE_CODE } from '@lexical/markdown';
1
2
  import { createServerFeature } from '../../../utilities/createServerFeature.js';
2
- import { INLINE_CODE } from './markdownTransformers.js';
3
3
  export const InlineCodeFeature = createServerFeature({
4
4
  feature: {
5
5
  ClientFeature: '@payloadcms/richtext-lexical/client#InlineCodeFeatureClient',
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.js","names":["createServerFeature","INLINE_CODE","InlineCodeFeature","feature","ClientFeature","markdownTransformers","key"],"sources":["../../../../src/features/format/inlineCode/feature.server.ts"],"sourcesContent":["import { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { INLINE_CODE } from './markdownTransformers.js'\n\nexport const InlineCodeFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#InlineCodeFeatureClient',\n markdownTransformers: [INLINE_CODE],\n },\n key: 'inlineCode',\n})\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AACpC,SAASC,WAAW,QAAQ;AAE5B,OAAO,MAAMC,iBAAA,GAAoBF,mBAAA,CAAoB;EACnDG,OAAA,EAAS;IACPC,aAAA,EAAe;IACfC,oBAAA,EAAsB,CAACJ,WAAA;EACzB;EACAK,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"feature.server.js","names":["INLINE_CODE","createServerFeature","InlineCodeFeature","feature","ClientFeature","markdownTransformers","key"],"sources":["../../../../src/features/format/inlineCode/feature.server.ts"],"sourcesContent":["import { INLINE_CODE } from '@lexical/markdown'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\n\nexport const InlineCodeFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#InlineCodeFeatureClient',\n markdownTransformers: [INLINE_CODE],\n },\n key: 'inlineCode',\n})\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ;AAE5B,SAASC,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,iBAAA,GAAoBD,mBAAA,CAAoB;EACnDE,OAAA,EAAS;IACPC,aAAA,EAAe;IACfC,oBAAA,EAAsB,CAACL,WAAA;EACzB;EACAM,GAAA,EAAK;AACP","ignoreList":[]}
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
 
3
+ import { ITALIC_STAR, ITALIC_UNDERSCORE } from '@lexical/markdown';
3
4
  import { $isTableSelection } from '@lexical/table';
4
5
  import { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical';
5
6
  import { ItalicIcon } from '../../../lexical/ui/icons/Italic/index.js';
6
7
  import { createClientFeature } from '../../../utilities/createClientFeature.js';
7
8
  import { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js';
8
- import { ITALIC_STAR, ITALIC_UNDERSCORE } from './markdownTransformers.js';
9
9
  const toolbarGroups = [toolbarFormatGroupWithItems([{
10
10
  ChildComponent: ItalicIcon,
11
11
  isActive: ({
@@ -1 +1 @@
1
- {"version":3,"file":"feature.client.js","names":["$isTableSelection","$isRangeSelection","FORMAT_TEXT_COMMAND","ItalicIcon","createClientFeature","toolbarFormatGroupWithItems","ITALIC_STAR","ITALIC_UNDERSCORE","toolbarGroups","ChildComponent","isActive","selection","hasFormat","key","onSelect","editor","dispatchCommand","order","ItalicFeatureClient","enableFormats","markdownTransformers","toolbarFixed","groups","toolbarInline"],"sources":["../../../../src/features/format/italic/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { $isTableSelection } from '@lexical/table'\nimport { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\n\nimport { ItalicIcon } from '../../../lexical/ui/icons/Italic/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js'\nimport { ITALIC_STAR, ITALIC_UNDERSCORE } from './markdownTransformers.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarFormatGroupWithItems([\n {\n ChildComponent: ItalicIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection) || $isTableSelection(selection)) {\n return selection.hasFormat('italic')\n }\n return false\n },\n key: 'italic',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic')\n },\n order: 2,\n },\n ]),\n]\n\nexport const ItalicFeatureClient = createClientFeature({\n enableFormats: ['italic'],\n markdownTransformers: [ITALIC_STAR, ITALIC_UNDERSCORE],\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ;AAIvD,SAASC,UAAU,QAAQ;AAC3B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,WAAW,EAAEC,iBAAiB,QAAQ;AAE/C,MAAMC,aAAA,GAAgC,CACpCH,2BAAA,CAA4B,CAC1B;EACEI,cAAA,EAAgBN,UAAA;EAChBO,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAIV,iBAAA,CAAkBU,SAAA,KAAcX,iBAAA,CAAkBW,SAAA,GAAY;MAChE,OAAOA,SAAA,CAAUC,SAAS,CAAC;IAC7B;IACA,OAAO;EACT;EACAC,GAAA,EAAK;EACLC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAACd,mBAAA,EAAqB;EAC9C;EACAe,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,mBAAA,GAAsBd,mBAAA,CAAoB;EACrDe,aAAA,EAAe,CAAC,SAAS;EACzBC,oBAAA,EAAsB,CAACd,WAAA,EAAaC,iBAAA,CAAkB;EACtDc,YAAA,EAAc;IACZC,MAAA,EAAQd;EACV;EACAe,aAAA,EAAe;IACbD,MAAA,EAAQd;EACV;AACF","ignoreList":[]}
1
+ {"version":3,"file":"feature.client.js","names":["ITALIC_STAR","ITALIC_UNDERSCORE","$isTableSelection","$isRangeSelection","FORMAT_TEXT_COMMAND","ItalicIcon","createClientFeature","toolbarFormatGroupWithItems","toolbarGroups","ChildComponent","isActive","selection","hasFormat","key","onSelect","editor","dispatchCommand","order","ItalicFeatureClient","enableFormats","markdownTransformers","toolbarFixed","groups","toolbarInline"],"sources":["../../../../src/features/format/italic/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { ITALIC_STAR, ITALIC_UNDERSCORE } from '@lexical/markdown'\nimport { $isTableSelection } from '@lexical/table'\nimport { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\n\nimport { ItalicIcon } from '../../../lexical/ui/icons/Italic/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarFormatGroupWithItems([\n {\n ChildComponent: ItalicIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection) || $isTableSelection(selection)) {\n return selection.hasFormat('italic')\n }\n return false\n },\n key: 'italic',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic')\n },\n order: 2,\n },\n ]),\n]\n\nexport const ItalicFeatureClient = createClientFeature({\n enableFormats: ['italic'],\n markdownTransformers: [ITALIC_STAR, ITALIC_UNDERSCORE],\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,WAAW,EAAEC,iBAAiB,QAAQ;AAC/C,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ;AAIvD,SAASC,UAAU,QAAQ;AAC3B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,2BAA2B,QAAQ;AAE5C,MAAMC,aAAA,GAAgC,CACpCD,2BAAA,CAA4B,CAC1B;EACEE,cAAA,EAAgBJ,UAAA;EAChBK,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAIR,iBAAA,CAAkBQ,SAAA,KAAcT,iBAAA,CAAkBS,SAAA,GAAY;MAChE,OAAOA,SAAA,CAAUC,SAAS,CAAC;IAC7B;IACA,OAAO;EACT;EACAC,GAAA,EAAK;EACLC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAACZ,mBAAA,EAAqB;EAC9C;EACAa,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,mBAAA,GAAsBZ,mBAAA,CAAoB;EACrDa,aAAA,EAAe,CAAC,SAAS;EACzBC,oBAAA,EAAsB,CAACpB,WAAA,EAAaC,iBAAA,CAAkB;EACtDoB,YAAA,EAAc;IACZC,MAAA,EAAQd;EACV;EACAe,aAAA,EAAe;IACbD,MAAA,EAAQd;EACV;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/format/italic/feature.server.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,+FAMxB,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/format/italic/feature.server.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,+FAMxB,CAAA"}
@@ -1,5 +1,5 @@
1
+ import { ITALIC_STAR, ITALIC_UNDERSCORE } from '@lexical/markdown';
1
2
  import { createServerFeature } from '../../../utilities/createServerFeature.js';
2
- import { ITALIC_STAR, ITALIC_UNDERSCORE } from './markdownTransformers.js';
3
3
  export const ItalicFeature = createServerFeature({
4
4
  feature: {
5
5
  ClientFeature: '@payloadcms/richtext-lexical/client#ItalicFeatureClient',
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.js","names":["createServerFeature","ITALIC_STAR","ITALIC_UNDERSCORE","ItalicFeature","feature","ClientFeature","markdownTransformers","key"],"sources":["../../../../src/features/format/italic/feature.server.ts"],"sourcesContent":["import { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { ITALIC_STAR, ITALIC_UNDERSCORE } from './markdownTransformers.js'\n\nexport const ItalicFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#ItalicFeatureClient',\n markdownTransformers: [ITALIC_STAR, ITALIC_UNDERSCORE],\n },\n key: 'italic',\n})\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AACpC,SAASC,WAAW,EAAEC,iBAAiB,QAAQ;AAE/C,OAAO,MAAMC,aAAA,GAAgBH,mBAAA,CAAoB;EAC/CI,OAAA,EAAS;IACPC,aAAA,EAAe;IACfC,oBAAA,EAAsB,CAACL,WAAA,EAAaC,iBAAA;EACtC;EACAK,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"feature.server.js","names":["ITALIC_STAR","ITALIC_UNDERSCORE","createServerFeature","ItalicFeature","feature","ClientFeature","markdownTransformers","key"],"sources":["../../../../src/features/format/italic/feature.server.ts"],"sourcesContent":["import { ITALIC_STAR, ITALIC_UNDERSCORE } from '@lexical/markdown'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\n\nexport const ItalicFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#ItalicFeatureClient',\n markdownTransformers: [ITALIC_STAR, ITALIC_UNDERSCORE],\n },\n key: 'italic',\n})\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,iBAAiB,QAAQ;AAE/C,SAASC,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,aAAA,GAAgBD,mBAAA,CAAoB;EAC/CE,OAAA,EAAS;IACPC,aAAA,EAAe;IACfC,oBAAA,EAAsB,CAACN,WAAA,EAAaC,iBAAA;EACtC;EACAM,GAAA,EAAK;AACP","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"toolbarFormatGroup.d.ts","sourceRoot":"","sources":["../../../../src/features/format/shared/toolbarFormatGroup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE7E,eAAO,MAAM,2BAA2B,GAAI,OAAO,gBAAgB,EAAE,KAAG,YAOvE,CAAA"}
1
+ {"version":3,"file":"toolbarFormatGroup.d.ts","sourceRoot":"","sources":["../../../../src/features/format/shared/toolbarFormatGroup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE7E,eAAO,MAAM,2BAA2B,UAAW,gBAAgB,EAAE,KAAG,YAOvE,CAAA"}
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
 
3
+ import { STRIKETHROUGH } from '@lexical/markdown';
3
4
  import { $isTableSelection } from '@lexical/table';
4
5
  import { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical';
5
6
  import { StrikethroughIcon } from '../../../lexical/ui/icons/Strikethrough/index.js';
6
7
  import { createClientFeature } from '../../../utilities/createClientFeature.js';
7
8
  import { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js';
8
- import { STRIKETHROUGH } from './markdownTransformers.js';
9
9
  const toolbarGroups = [toolbarFormatGroupWithItems([{
10
10
  ChildComponent: StrikethroughIcon,
11
11
  isActive: ({
@@ -1 +1 @@
1
- {"version":3,"file":"feature.client.js","names":["$isTableSelection","$isRangeSelection","FORMAT_TEXT_COMMAND","StrikethroughIcon","createClientFeature","toolbarFormatGroupWithItems","STRIKETHROUGH","toolbarGroups","ChildComponent","isActive","selection","hasFormat","key","onSelect","editor","dispatchCommand","order","StrikethroughFeatureClient","enableFormats","markdownTransformers","toolbarFixed","groups","toolbarInline"],"sources":["../../../../src/features/format/strikethrough/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { $isTableSelection } from '@lexical/table'\nimport { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical'\n\nimport { StrikethroughIcon } from '../../../lexical/ui/icons/Strikethrough/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js'\nimport { STRIKETHROUGH } from './markdownTransformers.js'\n\nconst toolbarGroups = [\n toolbarFormatGroupWithItems([\n {\n ChildComponent: StrikethroughIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection) || $isTableSelection(selection)) {\n return selection.hasFormat('strikethrough')\n }\n return false\n },\n key: 'strikethrough',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'strikethrough')\n },\n order: 4,\n },\n ]),\n]\n\nexport const StrikethroughFeatureClient = createClientFeature({\n enableFormats: ['strikethrough'],\n markdownTransformers: [STRIKETHROUGH],\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ;AAEvD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,aAAa,QAAQ;AAE9B,MAAMC,aAAA,GAAgB,CACpBF,2BAAA,CAA4B,CAC1B;EACEG,cAAA,EAAgBL,iBAAA;EAChBM,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAIT,iBAAA,CAAkBS,SAAA,KAAcV,iBAAA,CAAkBU,SAAA,GAAY;MAChE,OAAOA,SAAA,CAAUC,SAAS,CAAC;IAC7B;IACA,OAAO;EACT;EACAC,GAAA,EAAK;EACLC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAACb,mBAAA,EAAqB;EAC9C;EACAc,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,0BAAA,GAA6Bb,mBAAA,CAAoB;EAC5Dc,aAAA,EAAe,CAAC,gBAAgB;EAChCC,oBAAA,EAAsB,CAACb,aAAA,CAAc;EACrCc,YAAA,EAAc;IACZC,MAAA,EAAQd;EACV;EACAe,aAAA,EAAe;IACbD,MAAA,EAAQd;EACV;AACF","ignoreList":[]}
1
+ {"version":3,"file":"feature.client.js","names":["STRIKETHROUGH","$isTableSelection","$isRangeSelection","FORMAT_TEXT_COMMAND","StrikethroughIcon","createClientFeature","toolbarFormatGroupWithItems","toolbarGroups","ChildComponent","isActive","selection","hasFormat","key","onSelect","editor","dispatchCommand","order","StrikethroughFeatureClient","enableFormats","markdownTransformers","toolbarFixed","groups","toolbarInline"],"sources":["../../../../src/features/format/strikethrough/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { STRIKETHROUGH } from '@lexical/markdown'\nimport { $isTableSelection } from '@lexical/table'\nimport { $isRangeSelection, FORMAT_TEXT_COMMAND } from 'lexical'\n\nimport { StrikethroughIcon } from '../../../lexical/ui/icons/Strikethrough/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { toolbarFormatGroupWithItems } from '../shared/toolbarFormatGroup.js'\n\nconst toolbarGroups = [\n toolbarFormatGroupWithItems([\n {\n ChildComponent: StrikethroughIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection) || $isTableSelection(selection)) {\n return selection.hasFormat('strikethrough')\n }\n return false\n },\n key: 'strikethrough',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'strikethrough')\n },\n order: 4,\n },\n ]),\n]\n\nexport const StrikethroughFeatureClient = createClientFeature({\n enableFormats: ['strikethrough'],\n markdownTransformers: [STRIKETHROUGH],\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ;AAEvD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,2BAA2B,QAAQ;AAE5C,MAAMC,aAAA,GAAgB,CACpBD,2BAAA,CAA4B,CAC1B;EACEE,cAAA,EAAgBJ,iBAAA;EAChBK,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAIR,iBAAA,CAAkBQ,SAAA,KAAcT,iBAAA,CAAkBS,SAAA,GAAY;MAChE,OAAOA,SAAA,CAAUC,SAAS,CAAC;IAC7B;IACA,OAAO;EACT;EACAC,GAAA,EAAK;EACLC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAACZ,mBAAA,EAAqB;EAC9C;EACAa,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,0BAAA,GAA6BZ,mBAAA,CAAoB;EAC5Da,aAAA,EAAe,CAAC,gBAAgB;EAChCC,oBAAA,EAAsB,CAACnB,aAAA,CAAc;EACrCoB,YAAA,EAAc;IACZC,MAAA,EAAQd;EACV;EACAe,aAAA,EAAe;IACbD,MAAA,EAAQd;EACV;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/format/strikethrough/feature.server.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,+FAO/B,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/format/strikethrough/feature.server.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,+FAO/B,CAAA"}
@@ -1,5 +1,5 @@
1
+ import { STRIKETHROUGH } from '@lexical/markdown';
1
2
  import { createServerFeature } from '../../../utilities/createServerFeature.js';
2
- import { STRIKETHROUGH } from './markdownTransformers.js';
3
3
  export const StrikethroughFeature = createServerFeature({
4
4
  feature: {
5
5
  ClientFeature: '@payloadcms/richtext-lexical/client#StrikethroughFeatureClient',
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.js","names":["createServerFeature","STRIKETHROUGH","StrikethroughFeature","feature","ClientFeature","markdownTransformers","key"],"sources":["../../../../src/features/format/strikethrough/feature.server.ts"],"sourcesContent":["import { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { STRIKETHROUGH } from './markdownTransformers.js'\n\nexport const StrikethroughFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#StrikethroughFeatureClient',\n\n markdownTransformers: [STRIKETHROUGH],\n },\n key: 'strikethrough',\n})\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AACpC,SAASC,aAAa,QAAQ;AAE9B,OAAO,MAAMC,oBAAA,GAAuBF,mBAAA,CAAoB;EACtDG,OAAA,EAAS;IACPC,aAAA,EAAe;IAEfC,oBAAA,EAAsB,CAACJ,aAAA;EACzB;EACAK,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"feature.server.js","names":["STRIKETHROUGH","createServerFeature","StrikethroughFeature","feature","ClientFeature","markdownTransformers","key"],"sources":["../../../../src/features/format/strikethrough/feature.server.ts"],"sourcesContent":["import { STRIKETHROUGH } from '@lexical/markdown'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\n\nexport const StrikethroughFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#StrikethroughFeatureClient',\n\n markdownTransformers: [STRIKETHROUGH],\n },\n key: 'strikethrough',\n})\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ;AAE9B,SAASC,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,oBAAA,GAAuBD,mBAAA,CAAoB;EACtDE,OAAA,EAAS;IACPC,aAAA,EAAe;IAEfC,oBAAA,EAAsB,CAACL,aAAA;EACzB;EACAM,GAAA,EAAK;AACP","ignoreList":[]}
@@ -15,7 +15,7 @@ import { H6Icon } from '../../../lexical/ui/icons/H6/index.js';
15
15
  import { createClientFeature } from '../../../utilities/createClientFeature.js';
16
16
  import { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js';
17
17
  import { toolbarTextDropdownGroupWithItems } from '../../shared/toolbar/textDropdownGroup.js';
18
- import { MarkdownTransformer } from '../markdownTransformer.js';
18
+ import { PAYLOAD_HEADING } from '../markdownTransformer.js';
19
19
  const $setHeading = headingSize => {
20
20
  const selection = $getSelection();
21
21
  $setBlocksType(selection, () => $createHeadingNode(headingSize));
@@ -74,7 +74,7 @@ export const HeadingFeatureClient = createClientFeature(({
74
74
  };
75
75
  }))];
76
76
  return {
77
- markdownTransformers: [MarkdownTransformer(enabledHeadingSizes)],
77
+ markdownTransformers: [PAYLOAD_HEADING(enabledHeadingSizes)],
78
78
  nodes: [HeadingNode],
79
79
  plugins: [{
80
80
  Component: HeadingPlugin,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$createHeadingNode","$isHeadingNode","HeadingNode","$setBlocksType","$getSelection","$isRangeSelection","useEffect","H1Icon","H2Icon","H3Icon","H4Icon","H5Icon","H6Icon","createClientFeature","slashMenuBasicGroupWithItems","toolbarTextDropdownGroupWithItems","MarkdownTransformer","$setHeading","headingSize","selection","iconImports","h1","h2","h3","h4","h5","h6","HeadingFeatureClient","props","enabledHeadingSizes","toolbarGroups","map","i","ChildComponent","isActive","node","getNodes","getTag","parent","getParent","key","label","i18n","t","headingLevel","charAt","onSelect","editor","update","order","markdownTransformers","nodes","plugins","Component","HeadingPlugin","position","sanitizedClientFeatureProps","slashMenu","groups","length","Icon","keywords","toolbarFixed","toolbarInline","t0","$","clientProps","t1","t2","undefined","t3","at","lowestAllowed","t4","t5","registerNodeTransform","includes","setTag"],"sources":["../../../../src/features/heading/client/index.tsx"],"sourcesContent":["'use client'\n\nimport type { HeadingTagType } from '@lexical/rich-text'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { $createHeadingNode, $isHeadingNode, HeadingNode } from '@lexical/rich-text'\nimport { $setBlocksType } from '@lexical/selection'\nimport { $getSelection, $isRangeSelection } from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\nimport type { PluginComponent } from '../../typesClient.js'\nimport type { HeadingFeatureProps } from '../server/index.js'\n\nimport { H1Icon } from '../../../lexical/ui/icons/H1/index.js'\nimport { H2Icon } from '../../../lexical/ui/icons/H2/index.js'\nimport { H3Icon } from '../../../lexical/ui/icons/H3/index.js'\nimport { H4Icon } from '../../../lexical/ui/icons/H4/index.js'\nimport { H5Icon } from '../../../lexical/ui/icons/H5/index.js'\nimport { H6Icon } from '../../../lexical/ui/icons/H6/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js'\nimport { toolbarTextDropdownGroupWithItems } from '../../shared/toolbar/textDropdownGroup.js'\nimport { MarkdownTransformer } from '../markdownTransformer.js'\n\nconst $setHeading = (headingSize: HeadingTagType) => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createHeadingNode(headingSize))\n}\n\nconst iconImports = {\n h1: H1Icon,\n h2: H2Icon,\n h3: H3Icon,\n h4: H4Icon,\n h5: H5Icon,\n h6: H6Icon,\n}\n\nexport const HeadingFeatureClient = createClientFeature<HeadingFeatureProps>(({ props }) => {\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = props\n\n const toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems(\n enabledHeadingSizes.map((headingSize, i) => {\n return {\n ChildComponent: iconImports[headingSize],\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isHeadingNode(node) && node.getTag() === headingSize) {\n continue\n }\n\n const parent = node.getParent()\n if ($isHeadingNode(parent) && parent.getTag() === headingSize) {\n continue\n }\n\n return false\n }\n return true\n },\n key: headingSize,\n label: ({ i18n }) => {\n return i18n.t('lexical:heading:label', { headingLevel: headingSize.charAt(1) })\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n $setHeading(headingSize)\n })\n },\n order: i + 2,\n }\n }),\n ),\n ]\n\n return {\n markdownTransformers: [MarkdownTransformer(enabledHeadingSizes)],\n nodes: [HeadingNode],\n plugins: [\n {\n Component: HeadingPlugin,\n position: 'normal',\n },\n ],\n sanitizedClientFeatureProps: props,\n slashMenu: {\n groups: enabledHeadingSizes?.length\n ? [\n slashMenuBasicGroupWithItems(\n enabledHeadingSizes.map((headingSize) => {\n return {\n Icon: iconImports[headingSize],\n key: `heading-${headingSize.charAt(1)}`,\n keywords: ['heading', headingSize],\n label: ({ i18n }) => {\n return i18n.t('lexical:heading:label', {\n headingLevel: headingSize.charAt(1),\n })\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n $setHeading(headingSize)\n })\n },\n }\n }),\n ),\n ]\n : [],\n },\n toolbarFixed: {\n groups: enabledHeadingSizes?.length ? toolbarGroups : [],\n },\n toolbarInline: {\n groups: enabledHeadingSizes?.length ? toolbarGroups : [],\n },\n }\n})\n\nconst HeadingPlugin: PluginComponent<HeadingFeatureProps> = ({ clientProps }) => {\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = clientProps\n const lowestAllowed = enabledHeadingSizes.at(-1)\n const [editor] = useLexicalComposerContext()\n\n useEffect(() => {\n if (!lowestAllowed || enabledHeadingSizes.length === 6) {\n return\n }\n return editor.registerNodeTransform(HeadingNode, (node) => {\n if (!enabledHeadingSizes.includes(node.getTag())) {\n node.setTag(lowestAllowed)\n }\n })\n }, [editor, enabledHeadingSizes, lowestAllowed])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$createHeadingNode","$isHeadingNode","HeadingNode","$setBlocksType","$getSelection","$isRangeSelection","useEffect","H1Icon","H2Icon","H3Icon","H4Icon","H5Icon","H6Icon","createClientFeature","slashMenuBasicGroupWithItems","toolbarTextDropdownGroupWithItems","PAYLOAD_HEADING","$setHeading","headingSize","selection","iconImports","h1","h2","h3","h4","h5","h6","HeadingFeatureClient","props","enabledHeadingSizes","toolbarGroups","map","i","ChildComponent","isActive","node","getNodes","getTag","parent","getParent","key","label","i18n","t","headingLevel","charAt","onSelect","editor","update","order","markdownTransformers","nodes","plugins","Component","HeadingPlugin","position","sanitizedClientFeatureProps","slashMenu","groups","length","Icon","keywords","toolbarFixed","toolbarInline","t0","$","clientProps","t1","t2","undefined","t3","at","lowestAllowed","t4","t5","registerNodeTransform","includes","setTag"],"sources":["../../../../src/features/heading/client/index.tsx"],"sourcesContent":["'use client'\n\nimport type { HeadingTagType } from '@lexical/rich-text'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { $createHeadingNode, $isHeadingNode, HeadingNode } from '@lexical/rich-text'\nimport { $setBlocksType } from '@lexical/selection'\nimport { $getSelection, $isRangeSelection } from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\nimport type { PluginComponent } from '../../typesClient.js'\nimport type { HeadingFeatureProps } from '../server/index.js'\n\nimport { H1Icon } from '../../../lexical/ui/icons/H1/index.js'\nimport { H2Icon } from '../../../lexical/ui/icons/H2/index.js'\nimport { H3Icon } from '../../../lexical/ui/icons/H3/index.js'\nimport { H4Icon } from '../../../lexical/ui/icons/H4/index.js'\nimport { H5Icon } from '../../../lexical/ui/icons/H5/index.js'\nimport { H6Icon } from '../../../lexical/ui/icons/H6/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js'\nimport { toolbarTextDropdownGroupWithItems } from '../../shared/toolbar/textDropdownGroup.js'\nimport { PAYLOAD_HEADING } from '../markdownTransformer.js'\n\nconst $setHeading = (headingSize: HeadingTagType) => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createHeadingNode(headingSize))\n}\n\nconst iconImports = {\n h1: H1Icon,\n h2: H2Icon,\n h3: H3Icon,\n h4: H4Icon,\n h5: H5Icon,\n h6: H6Icon,\n}\n\nexport const HeadingFeatureClient = createClientFeature<HeadingFeatureProps>(({ props }) => {\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = props\n\n const toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems(\n enabledHeadingSizes.map((headingSize, i) => {\n return {\n ChildComponent: iconImports[headingSize],\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isHeadingNode(node) && node.getTag() === headingSize) {\n continue\n }\n\n const parent = node.getParent()\n if ($isHeadingNode(parent) && parent.getTag() === headingSize) {\n continue\n }\n\n return false\n }\n return true\n },\n key: headingSize,\n label: ({ i18n }) => {\n return i18n.t('lexical:heading:label', { headingLevel: headingSize.charAt(1) })\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n $setHeading(headingSize)\n })\n },\n order: i + 2,\n }\n }),\n ),\n ]\n\n return {\n markdownTransformers: [PAYLOAD_HEADING(enabledHeadingSizes)],\n nodes: [HeadingNode],\n plugins: [\n {\n Component: HeadingPlugin,\n position: 'normal',\n },\n ],\n sanitizedClientFeatureProps: props,\n slashMenu: {\n groups: enabledHeadingSizes?.length\n ? [\n slashMenuBasicGroupWithItems(\n enabledHeadingSizes.map((headingSize) => {\n return {\n Icon: iconImports[headingSize],\n key: `heading-${headingSize.charAt(1)}`,\n keywords: ['heading', headingSize],\n label: ({ i18n }) => {\n return i18n.t('lexical:heading:label', {\n headingLevel: headingSize.charAt(1),\n })\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n $setHeading(headingSize)\n })\n },\n }\n }),\n ),\n ]\n : [],\n },\n toolbarFixed: {\n groups: enabledHeadingSizes?.length ? toolbarGroups : [],\n },\n toolbarInline: {\n groups: enabledHeadingSizes?.length ? toolbarGroups : [],\n },\n }\n})\n\nconst HeadingPlugin: PluginComponent<HeadingFeatureProps> = ({ clientProps }) => {\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = clientProps\n const lowestAllowed = enabledHeadingSizes.at(-1)\n const [editor] = useLexicalComposerContext()\n\n useEffect(() => {\n if (!lowestAllowed || enabledHeadingSizes.length === 6) {\n return\n }\n return editor.registerNodeTransform(HeadingNode, (node) => {\n if (!enabledHeadingSizes.includes(node.getTag())) {\n node.setTag(lowestAllowed)\n }\n })\n }, [editor, enabledHeadingSizes, lowestAllowed])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,kBAAkB,EAAEC,cAAc,EAAEC,WAAW,QAAQ;AAChE,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,EAAEC,iBAAiB,QAAQ;AACjD,SAASC,SAAS,QAAQ;AAM1B,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,iCAAiC,QAAQ;AAClD,SAASC,eAAe,QAAQ;AAEhC,MAAMC,WAAA,GAAeC,WAAA;EACnB,MAAMC,SAAA,GAAYf,aAAA;EAClBD,cAAA,CAAegB,SAAA,EAAW,MAAMnB,kBAAA,CAAmBkB,WAAA;AACrD;AAEA,MAAME,WAAA,GAAc;EAClBC,EAAA,EAAId,MAAA;EACJe,EAAA,EAAId,MAAA;EACJe,EAAA,EAAId,MAAA;EACJe,EAAA,EAAId,MAAA;EACJe,EAAA,EAAId,MAAA;EACJe,EAAA,EAAId;AACN;AAEA,OAAO,MAAMe,oBAAA,GAAuBd,mBAAA,CAAyC,CAAC;EAAEe;AAAK,CAAE;EACrF,MAAM;IAAEC,mBAAA,GAAsB,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM;EAAK,CAAE,GAAGD,KAAA;EAEvE,MAAME,aAAA,GAAgC,CACpCf,iCAAA,CACEc,mBAAA,CAAoBE,GAAG,CAAC,CAACb,WAAA,EAAac,CAAA;IACpC,OAAO;MACLC,cAAA,EAAgBb,WAAW,CAACF,WAAA,CAAY;MACxCgB,QAAA,EAAUA,CAAC;QAAEf;MAAS,CAAE;QACtB,IAAI,CAACd,iBAAA,CAAkBc,SAAA,GAAY;UACjC,OAAO;QACT;QACA,KAAK,MAAMgB,IAAA,IAAQhB,SAAA,CAAUiB,QAAQ,IAAI;UACvC,IAAInC,cAAA,CAAekC,IAAA,KAASA,IAAA,CAAKE,MAAM,OAAOnB,WAAA,EAAa;YACzD;UACF;UAEA,MAAMoB,MAAA,GAASH,IAAA,CAAKI,SAAS;UAC7B,IAAItC,cAAA,CAAeqC,MAAA,KAAWA,MAAA,CAAOD,MAAM,OAAOnB,WAAA,EAAa;YAC7D;UACF;UAEA,OAAO;QACT;QACA,OAAO;MACT;MACAsB,GAAA,EAAKtB,WAAA;MACLuB,KAAA,EAAOA,CAAC;QAAEC;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKC,CAAC,CAAC,yBAAyB;UAAEC,YAAA,EAAc1B,WAAA,CAAY2B,MAAM,CAAC;QAAG;MAC/E;MACAC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,MAAM,CAAC;UACZ/B,WAAA,CAAYC,WAAA;QACd;MACF;MACA+B,KAAA,EAAOjB,CAAA,GAAI;IACb;EACF,IAEH;EAED,OAAO;IACLkB,oBAAA,EAAsB,CAAClC,eAAA,CAAgBa,mBAAA,EAAqB;IAC5DsB,KAAA,EAAO,CAACjD,WAAA,CAAY;IACpBkD,OAAA,EAAS,CACP;MACEC,SAAA,EAAWC,aAAA;MACXC,QAAA,EAAU;IACZ,EACD;IACDC,2BAAA,EAA6B5B,KAAA;IAC7B6B,SAAA,EAAW;MACTC,MAAA,EAAQ7B,mBAAA,EAAqB8B,MAAA,GACzB,CACE7C,4BAAA,CACEe,mBAAA,CAAoBE,GAAG,CAAEb,WAAA;QACvB,OAAO;UACL0C,IAAA,EAAMxC,WAAW,CAACF,WAAA,CAAY;UAC9BsB,GAAA,EAAK,WAAWtB,WAAA,CAAY2B,MAAM,CAAC,IAAI;UACvCgB,QAAA,EAAU,CAAC,WAAW3C,WAAA,CAAY;UAClCuB,KAAA,EAAOA,CAAC;YAAEC;UAAI,CAAE;YACd,OAAOA,IAAA,CAAKC,CAAC,CAAC,yBAAyB;cACrCC,YAAA,EAAc1B,WAAA,CAAY2B,MAAM,CAAC;YACnC;UACF;UACAC,QAAA,EAAUA,CAAC;YAAEC;UAAM,CAAE;YACnBA,MAAA,CAAOC,MAAM,CAAC;cACZ/B,WAAA,CAAYC,WAAA;YACd;UACF;QACF;MACF,IAEH,GACD;IACN;IACA4C,YAAA,EAAc;MACZJ,MAAA,EAAQ7B,mBAAA,EAAqB8B,MAAA,GAAS7B,aAAA,GAAgB;IACxD;IACAiC,aAAA,EAAe;MACbL,MAAA,EAAQ7B,mBAAA,EAAqB8B,MAAA,GAAS7B,aAAA,GAAgB;IACxD;EACF;AACF;AAEA,MAAMwB,aAAA,GAAsDU,EAAA;EAAA,MAAAC,CAAA,GAAAnE,EAAA;EAAC;IAAAoE;EAAA,IAAAF,EAAe;EAC1E;IAAAnC,mBAAA,EAAAsC;EAAA,IAAuED,WAAA;EAAA,IAAAE,EAAA;EAAA,IAAAH,CAAA,QAAAE,EAAA;IAA/DC,EAAA,GAAAD,EAA0D,KAA1DE,SAA0D,GAA1D,CAAuB,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,GAA1DF,EAA0D;IAAAF,CAAA,MAAAE,EAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAA1D,MAAApC,mBAAA,GAAAuC,EAA0D;EAAA,IAAAE,EAAA;EAAA,IAAAL,CAAA,QAAApC,mBAAA;IAC5CyC,EAAA,GAAAzC,mBAAA,CAAA0C,EAAsB,CAAC,EAAC;IAAAN,CAAA,MAAApC,mBAAA;IAAAoC,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAA9C,MAAAO,aAAA,GAAsBF,EAAwB;EAC9C,OAAAvB,MAAA,IAAiBhD,yBAAA;EAAA,IAAA0E,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAT,CAAA,QAAAlB,MAAA,IAAAkB,CAAA,QAAApC,mBAAA,IAAAoC,CAAA,QAAAO,aAAA;IAEPC,EAAA,GAAAA,CAAA;MACR,IAAI,CAACD,aAAgD,IAA/B3C,mBAAA,CAAA8B,MAA0B,KAAK;QAAA;MAAA;MAErD,OACOZ,MAAA,CAAA4B,qBAA4B,CAACzE,WAAA,EAAaiC,IAAA;QAC/C,IAAI,CAACN,mBAAA,CAAA+C,QAA4B,CAACzC,IAAA,CAAAE,MAAW;UAC3CF,IAAA,CAAA0C,MAAW,CAACL,aAAA;QAAA;MACd,CACF;IAAA,CACF;IAAGE,EAAA,IAAC3B,MAAA,EAAQlB,mBAAA,EAAqB2C,aAAA,CAAc;IAAAP,CAAA,MAAAlB,MAAA;IAAAkB,CAAA,MAAApC,mBAAA;IAAAoC,CAAA,MAAAO,aAAA;IAAAP,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAS,EAAA;EAAA;IAAAD,EAAA,GAAAR,CAAA;IAAAS,EAAA,GAAAT,CAAA;EAAA;EAT/C3D,SAAA,CAAUmE,EASV,EAAGC,EAA4C;EAAA,OAExC;AAAA,CACT","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare const ALLOWED_HEADING_TAGS: Set<string>;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/features/heading/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,aAAgD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const ALLOWED_HEADING_TAGS = new Set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6']);
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["ALLOWED_HEADING_TAGS","Set"],"sources":["../../../src/features/heading/constants.ts"],"sourcesContent":["export const ALLOWED_HEADING_TAGS = new Set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6'])\n"],"mappings":"AAAA,OAAO,MAAMA,oBAAA,GAAuB,IAAIC,GAAA,CAAI,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK","ignoreList":[]}
@@ -1,4 +1,4 @@
1
+ import type { ElementTransformer } from '@lexical/markdown';
1
2
  import type { HeadingTagType } from '@lexical/rich-text';
2
- import type { ElementTransformer } from '../../packages/@lexical/markdown/MarkdownTransformers.js';
3
- export declare const MarkdownTransformer: (enabledHeadingSizes: HeadingTagType[]) => ElementTransformer;
3
+ export declare const PAYLOAD_HEADING: (enabledHeadingSizes: HeadingTagType[]) => ElementTransformer;
4
4
  //# sourceMappingURL=markdownTransformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../src/features/heading/markdownTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAIlG,eAAO,MAAM,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,KAAK,kBA0B5E,CAAA"}
1
+ {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../src/features/heading/markdownTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAKxD,eAAO,MAAM,eAAe,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,KAAK,kBAaxE,CAAA"}
@@ -1,26 +1,13 @@
1
- import { $createHeadingNode, $isHeadingNode, HeadingNode } from '@lexical/rich-text';
2
- import { createBlockNode } from '../../lexical/utils/markdown/createBlockNode.js';
3
- export const MarkdownTransformer = enabledHeadingSizes => {
1
+ // eslint-disable-next-line payload/no-conflicting-lexical-markdown-imports -- PAYLOAD_HEADING intentionally extends upstream HEADING, overriding only its regExp to respect the enabled heading levels
2
+ import { HEADING } from '@lexical/markdown';
3
+ export const PAYLOAD_HEADING = enabledHeadingSizes => {
4
4
  // Convert enabledHeadingSizes to a list of numbers (1 for h1, 2 for h2, etc.)
5
5
  const enabledSizes = enabledHeadingSizes.map(tag => Number(tag.slice(1)));
6
- // Create a regex pattern that matches any of the enabled sizes
6
+ // Only the heading levels enabled in the config should be matched on import.
7
7
  const pattern = `^(${enabledSizes.map(size => `#{${size}}`).join('|')})\\s`;
8
- const regExp = new RegExp(pattern);
9
8
  return {
10
- type: 'element',
11
- dependencies: [HeadingNode],
12
- export: (node, exportChildren) => {
13
- if (!$isHeadingNode(node)) {
14
- return null;
15
- }
16
- const level = Number(node.getTag().slice(1));
17
- return '#'.repeat(level) + ' ' + exportChildren(node);
18
- },
19
- regExp,
20
- replace: createBlockNode(match => {
21
- const tag = 'h' + match[1]?.length;
22
- return $createHeadingNode(tag);
23
- })
9
+ ...HEADING,
10
+ regExp: new RegExp(pattern)
24
11
  };
25
12
  };
26
13
  //# sourceMappingURL=markdownTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.js","names":["$createHeadingNode","$isHeadingNode","HeadingNode","createBlockNode","MarkdownTransformer","enabledHeadingSizes","enabledSizes","map","tag","Number","slice","pattern","size","join","regExp","RegExp","type","dependencies","export","node","exportChildren","level","getTag","repeat","replace","match","length"],"sources":["../../../src/features/heading/markdownTransformer.ts"],"sourcesContent":["import type { HeadingTagType } from '@lexical/rich-text'\n\nimport { $createHeadingNode, $isHeadingNode, HeadingNode } from '@lexical/rich-text'\n\nimport type { ElementTransformer } from '../../packages/@lexical/markdown/MarkdownTransformers.js'\n\nimport { createBlockNode } from '../../lexical/utils/markdown/createBlockNode.js'\n\nexport const MarkdownTransformer: (enabledHeadingSizes: HeadingTagType[]) => ElementTransformer = (\n enabledHeadingSizes,\n) => {\n // Convert enabledHeadingSizes to a list of numbers (1 for h1, 2 for h2, etc.)\n const enabledSizes = enabledHeadingSizes.map((tag) => Number(tag.slice(1)))\n\n // Create a regex pattern that matches any of the enabled sizes\n const pattern = `^(${enabledSizes.map((size) => `#{${size}}`).join('|')})\\\\s`\n const regExp = new RegExp(pattern)\n\n return {\n type: 'element',\n dependencies: [HeadingNode],\n export: (node, exportChildren) => {\n if (!$isHeadingNode(node)) {\n return null\n }\n const level = Number(node.getTag().slice(1))\n return '#'.repeat(level) + ' ' + exportChildren(node)\n },\n regExp,\n replace: createBlockNode((match) => {\n const tag = ('h' + match[1]?.length) as HeadingTagType\n return $createHeadingNode(tag)\n }),\n }\n}\n"],"mappings":"AAEA,SAASA,kBAAkB,EAAEC,cAAc,EAAEC,WAAW,QAAQ;AAIhE,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,mBAAA,GACXC,mBAAA;EAEA;EACA,MAAMC,YAAA,GAAeD,mBAAA,CAAoBE,GAAG,CAAEC,GAAA,IAAQC,MAAA,CAAOD,GAAA,CAAIE,KAAK,CAAC;EAEvE;EACA,MAAMC,OAAA,GAAU,KAAKL,YAAA,CAAaC,GAAG,CAAEK,IAAA,IAAS,KAAKA,IAAA,GAAO,EAAEC,IAAI,CAAC,UAAU;EAC7E,MAAMC,MAAA,GAAS,IAAIC,MAAA,CAAOJ,OAAA;EAE1B,OAAO;IACLK,IAAA,EAAM;IACNC,YAAA,EAAc,CAACf,WAAA,CAAY;IAC3BgB,MAAA,EAAQA,CAACC,IAAA,EAAMC,cAAA;MACb,IAAI,CAACnB,cAAA,CAAekB,IAAA,GAAO;QACzB,OAAO;MACT;MACA,MAAME,KAAA,GAAQZ,MAAA,CAAOU,IAAA,CAAKG,MAAM,GAAGZ,KAAK,CAAC;MACzC,OAAO,IAAIa,MAAM,CAACF,KAAA,IAAS,MAAMD,cAAA,CAAeD,IAAA;IAClD;IACAL,MAAA;IACAU,OAAA,EAASrB,eAAA,CAAiBsB,KAAA;MACxB,MAAMjB,GAAA,GAAO,MAAMiB,KAAK,CAAC,EAAE,EAAEC,MAAA;MAC7B,OAAO1B,kBAAA,CAAmBQ,GAAA;IAC5B;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"markdownTransformer.js","names":["HEADING","PAYLOAD_HEADING","enabledHeadingSizes","enabledSizes","map","tag","Number","slice","pattern","size","join","regExp","RegExp"],"sources":["../../../src/features/heading/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer } from '@lexical/markdown'\nimport type { HeadingTagType } from '@lexical/rich-text'\n\n// eslint-disable-next-line payload/no-conflicting-lexical-markdown-imports -- PAYLOAD_HEADING intentionally extends upstream HEADING, overriding only its regExp to respect the enabled heading levels\nimport { HEADING } from '@lexical/markdown'\n\nexport const PAYLOAD_HEADING: (enabledHeadingSizes: HeadingTagType[]) => ElementTransformer = (\n enabledHeadingSizes,\n) => {\n // Convert enabledHeadingSizes to a list of numbers (1 for h1, 2 for h2, etc.)\n const enabledSizes = enabledHeadingSizes.map((tag) => Number(tag.slice(1)))\n\n // Only the heading levels enabled in the config should be matched on import.\n const pattern = `^(${enabledSizes.map((size) => `#{${size}}`).join('|')})\\\\s`\n\n return {\n ...HEADING,\n regExp: new RegExp(pattern),\n }\n}\n"],"mappings":"AAGA;AACA,SAASA,OAAO,QAAQ;AAExB,OAAO,MAAMC,eAAA,GACXC,mBAAA;EAEA;EACA,MAAMC,YAAA,GAAeD,mBAAA,CAAoBE,GAAG,CAAEC,GAAA,IAAQC,MAAA,CAAOD,GAAA,CAAIE,KAAK,CAAC;EAEvE;EACA,MAAMC,OAAA,GAAU,KAAKL,YAAA,CAAaC,GAAG,CAAEK,IAAA,IAAS,KAAKA,IAAA,GAAO,EAAEC,IAAI,CAAC,UAAU;EAE7E,OAAO;IACL,GAAGV,OAAO;IACVW,MAAA,EAAQ,IAAIC,MAAA,CAAOJ,OAAA;EACrB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/heading/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAUxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,MAAM,MAAM,mBAAmB,GAAG;IAChC,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,cAAc,6HA8BzB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/heading/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAWxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,MAAM,MAAM,mBAAmB,GAAG;IAChC,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,cAAc,6HA+BzB,CAAA"}
@@ -1,9 +1,10 @@
1
1
  import { HeadingNode } from '@lexical/rich-text';
2
2
  import { createServerFeature } from '../../../utilities/createServerFeature.js';
3
3
  import { createNode } from '../../typeUtilities.js';
4
- import { MarkdownTransformer } from '../markdownTransformer.js';
4
+ import { PAYLOAD_HEADING } from '../markdownTransformer.js';
5
5
  import { i18n } from './i18n.js';
6
6
  import { createHeadingJSONSchema } from './schema.js';
7
+ import { headingValidation } from './validate.js';
7
8
  export const HeadingFeature = createServerFeature({
8
9
  feature: ({
9
10
  props
@@ -19,10 +20,13 @@ export const HeadingFeature = createServerFeature({
19
20
  ClientFeature: '@payloadcms/richtext-lexical/client#HeadingFeatureClient',
20
21
  clientFeatureProps: props,
21
22
  i18n,
22
- markdownTransformers: enabledHeadingSizes.length > 0 ? [MarkdownTransformer(enabledHeadingSizes)] : [],
23
+ markdownTransformers: enabledHeadingSizes.length > 0 ? [PAYLOAD_HEADING(enabledHeadingSizes)] : [],
23
24
  nodes: [createNode({
24
25
  jsonSchema: createHeadingJSONSchema(enabledHeadingSizes),
25
- node: HeadingNode
26
+ node: HeadingNode,
27
+ validations: [headingValidation({
28
+ enabledHeadingSizes
29
+ })]
26
30
  })],
27
31
  sanitizedServerFeatureProps: props
28
32
  };