@payloadcms/richtext-lexical 3.70.0-canary.9 → 3.71.0-internal-debug.80dab4c

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 (1056) hide show
  1. package/dist/cell/rscEntry.js +74 -72
  2. package/dist/cell/rscEntry.js.map +1 -1
  3. package/dist/dependencyChecker.spec.js +8 -7
  4. package/dist/dependencyChecker.spec.js.map +1 -1
  5. package/dist/exports/client/index.js +85 -65
  6. package/dist/exports/client/index.js.map +1 -7
  7. package/dist/exports/cssEntry.js +1 -0
  8. package/dist/exports/cssEntry.js.map +1 -1
  9. package/dist/exports/html/index.js +1 -0
  10. package/dist/exports/html/index.js.map +1 -1
  11. package/dist/exports/html-async/index.js +1 -0
  12. package/dist/exports/html-async/index.js.map +1 -1
  13. package/dist/exports/plaintext/index.js +1 -0
  14. package/dist/exports/plaintext/index.js.map +1 -1
  15. package/dist/exports/react/index.js +1 -0
  16. package/dist/exports/react/index.js.map +1 -1
  17. package/dist/exports/server/ast/mdx.js +37 -35
  18. package/dist/exports/server/ast/mdx.js.map +1 -1
  19. package/dist/exports/server/migrate.js +1 -0
  20. package/dist/exports/server/migrate.js.map +1 -1
  21. package/dist/exports/server/rsc.js +1 -0
  22. package/dist/exports/server/rsc.js.map +1 -1
  23. package/dist/exports/shared.js +1 -0
  24. package/dist/exports/shared.js.map +1 -1
  25. package/dist/features/align/client/index.js +168 -195
  26. package/dist/features/align/client/index.js.map +1 -1
  27. package/dist/features/align/client/toolbarAlignGroup.js +9 -9
  28. package/dist/features/align/client/toolbarAlignGroup.js.map +1 -1
  29. package/dist/features/align/server/i18n.js +223 -222
  30. package/dist/features/align/server/i18n.js.map +1 -1
  31. package/dist/features/align/server/index.js +6 -5
  32. package/dist/features/align/server/index.js.map +1 -1
  33. package/dist/features/blockquote/client/index.js +65 -60
  34. package/dist/features/blockquote/client/index.js.map +1 -1
  35. package/dist/features/blockquote/markdownTransformer.js +33 -28
  36. package/dist/features/blockquote/markdownTransformer.js.map +1 -1
  37. package/dist/features/blockquote/server/i18n.js +112 -111
  38. package/dist/features/blockquote/server/i18n.js.map +1 -1
  39. package/dist/features/blockquote/server/index.js +47 -48
  40. package/dist/features/blockquote/server/index.js.map +1 -1
  41. package/dist/features/blocks/client/component/BlockContent.js +95 -69
  42. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  43. package/dist/features/blocks/client/component/components/BlockCollapsible.js +13 -14
  44. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -1
  45. package/dist/features/blocks/client/component/components/BlockEditButton.js +9 -17
  46. package/dist/features/blocks/client/component/components/BlockEditButton.js.map +1 -1
  47. package/dist/features/blocks/client/component/components/BlockRemoveButton.js +9 -17
  48. package/dist/features/blocks/client/component/components/BlockRemoveButton.js.map +1 -1
  49. package/dist/features/blocks/client/component/index.js +553 -410
  50. package/dist/features/blocks/client/component/index.js.map +1 -1
  51. package/dist/features/blocks/client/component/index.scss +188 -0
  52. package/dist/features/blocks/client/component/removeEmptyArrayValues.js +8 -11
  53. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +1 -1
  54. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js +11 -23
  55. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -1
  56. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js +9 -17
  57. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js.map +1 -1
  58. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js +9 -17
  59. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js.map +1 -1
  60. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js +9 -17
  61. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js.map +1 -1
  62. package/dist/features/blocks/client/componentInline/index.js +468 -340
  63. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  64. package/dist/features/blocks/client/componentInline/index.scss +100 -0
  65. package/dist/features/blocks/client/getBlockImageComponent.js +17 -12
  66. package/dist/features/blocks/client/getBlockImageComponent.js.map +1 -1
  67. package/dist/features/blocks/client/index.js +141 -146
  68. package/dist/features/blocks/client/index.js.map +1 -1
  69. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +18 -18
  70. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  71. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +14 -15
  72. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  73. package/dist/features/blocks/client/markdown/markdownTransformer.js +328 -330
  74. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  75. package/dist/features/blocks/client/nodes/BlocksNode.js +44 -40
  76. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  77. package/dist/features/blocks/client/nodes/InlineBlocksNode.js +37 -33
  78. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
  79. package/dist/features/blocks/client/plugin/commands.js +1 -1
  80. package/dist/features/blocks/client/plugin/commands.js.map +1 -1
  81. package/dist/features/blocks/client/plugin/index.js +59 -87
  82. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  83. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +158 -101
  84. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  85. package/dist/features/blocks/premade/CodeBlock/Component/Code.js +119 -93
  86. package/dist/features/blocks/premade/CodeBlock/Component/Code.js.map +1 -1
  87. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js +19 -11
  88. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js.map +1 -1
  89. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.scss +6 -0
  90. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js +32 -20
  91. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js.map +1 -1
  92. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.scss +29 -0
  93. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js +84 -83
  94. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js.map +1 -1
  95. package/dist/features/blocks/premade/CodeBlock/Component/index.scss +97 -0
  96. package/dist/features/blocks/premade/CodeBlock/converter.js +36 -40
  97. package/dist/features/blocks/premade/CodeBlock/converter.js.map +1 -1
  98. package/dist/features/blocks/premade/CodeBlock/converterClient.js +1 -1
  99. package/dist/features/blocks/premade/CodeBlock/converterClient.js.map +1 -1
  100. package/dist/features/blocks/premade/CodeBlock/index.js +49 -49
  101. package/dist/features/blocks/premade/CodeBlock/index.js.map +1 -1
  102. package/dist/features/blocks/server/graphQLPopulationPromise.js +29 -44
  103. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  104. package/dist/features/blocks/server/i18n.js +334 -333
  105. package/dist/features/blocks/server/i18n.js.map +1 -1
  106. package/dist/features/blocks/server/index.d.ts +33 -1
  107. package/dist/features/blocks/server/index.d.ts.map +1 -1
  108. package/dist/features/blocks/server/index.js +238 -218
  109. package/dist/features/blocks/server/index.js.map +1 -1
  110. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js +123 -122
  111. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js.map +1 -1
  112. package/dist/features/blocks/server/markdown/markdownTransformer.js +347 -349
  113. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  114. package/dist/features/blocks/server/nodes/BlocksNode.js +86 -90
  115. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  116. package/dist/features/blocks/server/nodes/InlineBlocksNode.js +84 -87
  117. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  118. package/dist/features/blocks/server/validate.js +42 -55
  119. package/dist/features/blocks/server/validate.js.map +1 -1
  120. package/dist/features/converters/htmlToLexical/index.js +21 -24
  121. package/dist/features/converters/htmlToLexical/index.js.map +1 -1
  122. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js +7 -10
  123. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js.map +1 -1
  124. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +7 -10
  125. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  126. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js +2 -1
  127. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js.map +1 -1
  128. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js +2 -1
  129. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js.map +1 -1
  130. package/dist/features/converters/lexicalToHtml/async/converters/link.js +28 -37
  131. package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +1 -1
  132. package/dist/features/converters/lexicalToHtml/async/converters/list.js +18 -26
  133. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  134. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js +9 -12
  135. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js.map +1 -1
  136. package/dist/features/converters/lexicalToHtml/async/converters/tab.js +2 -1
  137. package/dist/features/converters/lexicalToHtml/async/converters/tab.js.map +1 -1
  138. package/dist/features/converters/lexicalToHtml/async/converters/table.js +27 -38
  139. package/dist/features/converters/lexicalToHtml/async/converters/table.js.map +1 -1
  140. package/dist/features/converters/lexicalToHtml/async/converters/text.js +25 -26
  141. package/dist/features/converters/lexicalToHtml/async/converters/text.js.map +1 -1
  142. package/dist/features/converters/lexicalToHtml/async/converters/upload.d.ts.map +1 -1
  143. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +43 -45
  144. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  145. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js +12 -11
  146. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +1 -1
  147. package/dist/features/converters/lexicalToHtml/async/field/index.js +56 -56
  148. package/dist/features/converters/lexicalToHtml/async/field/index.js.map +1 -1
  149. package/dist/features/converters/lexicalToHtml/async/index.js +87 -97
  150. package/dist/features/converters/lexicalToHtml/async/index.js.map +1 -1
  151. package/dist/features/converters/lexicalToHtml/async/types.js +4 -1
  152. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  153. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +57 -62
  154. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  155. package/dist/features/converters/lexicalToHtml/shared/types.js +2 -1
  156. package/dist/features/converters/lexicalToHtml/shared/types.js.map +1 -1
  157. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js +7 -10
  158. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +1 -1
  159. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +7 -10
  160. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  161. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js +2 -1
  162. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +1 -1
  163. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js +2 -1
  164. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +1 -1
  165. package/dist/features/converters/lexicalToHtml/sync/converters/link.js +27 -35
  166. package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +1 -1
  167. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +18 -26
  168. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  169. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js +9 -12
  170. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +1 -1
  171. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js +2 -1
  172. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +1 -1
  173. package/dist/features/converters/lexicalToHtml/sync/converters/table.js +27 -38
  174. package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +1 -1
  175. package/dist/features/converters/lexicalToHtml/sync/converters/text.js +25 -26
  176. package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +1 -1
  177. package/dist/features/converters/lexicalToHtml/sync/converters/upload.d.ts.map +1 -1
  178. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +37 -38
  179. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  180. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js +12 -11
  181. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js.map +1 -1
  182. package/dist/features/converters/lexicalToHtml/sync/index.js +84 -92
  183. package/dist/features/converters/lexicalToHtml/sync/index.js.map +1 -1
  184. package/dist/features/converters/lexicalToHtml/sync/types.js +4 -1
  185. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  186. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js +7 -4
  187. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js.map +1 -1
  188. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js +29 -34
  189. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js.map +1 -1
  190. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js +7 -6
  191. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js.map +1 -1
  192. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js +29 -28
  193. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js.map +1 -1
  194. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js +7 -2
  195. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js.map +1 -1
  196. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js +84 -84
  197. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js.map +1 -1
  198. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js +6 -1
  199. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js.map +1 -1
  200. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js +107 -107
  201. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js.map +1 -1
  202. package/dist/features/converters/lexicalToHtml_deprecated/index.js +4 -4
  203. package/dist/features/converters/lexicalToHtml_deprecated/index.js.map +1 -1
  204. package/dist/features/converters/lexicalToJSX/Component/index.js +46 -36
  205. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  206. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js +14 -12
  207. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js.map +1 -1
  208. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +15 -13
  209. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  210. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js +7 -2
  211. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js.map +1 -1
  212. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js +7 -2
  213. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js.map +1 -1
  214. package/dist/features/converters/lexicalToJSX/converter/converters/link.js +49 -47
  215. package/dist/features/converters/lexicalToJSX/converter/converters/link.js.map +1 -1
  216. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +78 -56
  217. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  218. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js +26 -16
  219. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js.map +1 -1
  220. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js +2 -1
  221. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js.map +1 -1
  222. package/dist/features/converters/lexicalToJSX/converter/converters/table.js +73 -59
  223. package/dist/features/converters/lexicalToJSX/converter/converters/table.js.map +1 -1
  224. package/dist/features/converters/lexicalToJSX/converter/converters/text.js +74 -47
  225. package/dist/features/converters/lexicalToJSX/converter/converters/text.js.map +1 -1
  226. package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts.map +1 -1
  227. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +77 -60
  228. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  229. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js +12 -11
  230. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +1 -1
  231. package/dist/features/converters/lexicalToJSX/converter/index.js +123 -128
  232. package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -1
  233. package/dist/features/converters/lexicalToJSX/converter/types.js +4 -1
  234. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  235. package/dist/features/converters/lexicalToMarkdown/index.js +17 -19
  236. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  237. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +223 -146
  238. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +1 -1
  239. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js +11 -13
  240. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +1 -1
  241. package/dist/features/converters/lexicalToPlaintext/shared/types.js +2 -1
  242. package/dist/features/converters/lexicalToPlaintext/shared/types.js.map +1 -1
  243. package/dist/features/converters/lexicalToPlaintext/sync/index.js +83 -82
  244. package/dist/features/converters/lexicalToPlaintext/sync/index.js.map +1 -1
  245. package/dist/features/converters/lexicalToPlaintext/sync/types.js +3 -1
  246. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  247. package/dist/features/converters/markdownToLexical/index.js +14 -16
  248. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  249. package/dist/features/converters/utilities/payloadPopulateFn.js +37 -38
  250. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  251. package/dist/features/converters/utilities/restPopulateFn.js +24 -30
  252. package/dist/features/converters/utilities/restPopulateFn.js.map +1 -1
  253. package/dist/features/debug/jsxConverter/client/index.js +7 -5
  254. package/dist/features/debug/jsxConverter/client/index.js.map +1 -1
  255. package/dist/features/debug/jsxConverter/client/plugin/index.js +27 -47
  256. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  257. package/dist/features/debug/jsxConverter/client/plugin/style.scss +12 -0
  258. package/dist/features/debug/jsxConverter/server/index.js +5 -4
  259. package/dist/features/debug/jsxConverter/server/index.js.map +1 -1
  260. package/dist/features/debug/testRecorder/client/index.js +7 -5
  261. package/dist/features/debug/testRecorder/client/index.js.map +1 -1
  262. package/dist/features/debug/testRecorder/client/plugin/index.js +456 -365
  263. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  264. package/dist/features/debug/testRecorder/client/plugin/index.scss +53 -0
  265. package/dist/features/debug/testRecorder/server/index.js +5 -4
  266. package/dist/features/debug/testRecorder/server/index.js.map +1 -1
  267. package/dist/features/debug/treeView/client/index.js +7 -5
  268. package/dist/features/debug/treeView/client/index.js.map +1 -1
  269. package/dist/features/debug/treeView/client/plugin/index.js +18 -23
  270. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -1
  271. package/dist/features/debug/treeView/client/plugin/index.scss +80 -0
  272. package/dist/features/debug/treeView/server/index.js +5 -4
  273. package/dist/features/debug/treeView/server/index.js.map +1 -1
  274. package/dist/features/experimental_table/client/index.js +61 -42
  275. package/dist/features/experimental_table/client/index.js.map +1 -1
  276. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +752 -517
  277. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  278. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.scss +87 -0
  279. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +350 -316
  280. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  281. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.scss +11 -0
  282. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +215 -225
  283. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  284. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +104 -133
  285. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
  286. package/dist/features/experimental_table/client/plugins/TablePlugin/index.scss +233 -0
  287. package/dist/features/experimental_table/client/utils/debounce.js +89 -107
  288. package/dist/features/experimental_table/client/utils/debounce.js.map +1 -1
  289. package/dist/features/experimental_table/client/utils/useDebounce.js +21 -39
  290. package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
  291. package/dist/features/experimental_table/markdownTransformer.js +123 -118
  292. package/dist/features/experimental_table/markdownTransformer.js.map +1 -1
  293. package/dist/features/experimental_table/server/index.js +125 -143
  294. package/dist/features/experimental_table/server/index.js.map +1 -1
  295. package/dist/features/format/bold/feature.client.js +38 -35
  296. package/dist/features/format/bold/feature.client.js.map +1 -1
  297. package/dist/features/format/bold/feature.server.js +18 -14
  298. package/dist/features/format/bold/feature.server.js.map +1 -1
  299. package/dist/features/format/bold/markdownTransformers.js +25 -14
  300. package/dist/features/format/bold/markdownTransformers.js.map +1 -1
  301. package/dist/features/format/inlineCode/feature.client.js +31 -27
  302. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  303. package/dist/features/format/inlineCode/feature.server.js +8 -5
  304. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  305. package/dist/features/format/inlineCode/markdownTransformers.js +6 -3
  306. package/dist/features/format/inlineCode/markdownTransformers.js.map +1 -1
  307. package/dist/features/format/italic/feature.client.js +32 -27
  308. package/dist/features/format/italic/feature.client.js.map +1 -1
  309. package/dist/features/format/italic/feature.server.js +9 -5
  310. package/dist/features/format/italic/feature.server.js.map +1 -1
  311. package/dist/features/format/italic/markdownTransformers.js +12 -7
  312. package/dist/features/format/italic/markdownTransformers.js.map +1 -1
  313. package/dist/features/format/shared/toolbarFormatGroup.js +8 -8
  314. package/dist/features/format/shared/toolbarFormatGroup.js.map +1 -1
  315. package/dist/features/format/strikethrough/feature.client.js +31 -27
  316. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  317. package/dist/features/format/strikethrough/feature.server.js +8 -5
  318. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  319. package/dist/features/format/strikethrough/markdownTransformers.js +6 -3
  320. package/dist/features/format/strikethrough/markdownTransformers.js.map +1 -1
  321. package/dist/features/format/subscript/feature.client.js +28 -26
  322. package/dist/features/format/subscript/feature.client.js.map +1 -1
  323. package/dist/features/format/subscript/feature.server.js +5 -4
  324. package/dist/features/format/subscript/feature.server.js.map +1 -1
  325. package/dist/features/format/superscript/feature.client.js +28 -26
  326. package/dist/features/format/superscript/feature.client.js.map +1 -1
  327. package/dist/features/format/superscript/feature.server.js +5 -4
  328. package/dist/features/format/superscript/feature.server.js.map +1 -1
  329. package/dist/features/format/underline/feature.client.js +28 -26
  330. package/dist/features/format/underline/feature.client.js.map +1 -1
  331. package/dist/features/format/underline/feature.server.js +5 -4
  332. package/dist/features/format/underline/feature.server.js.map +1 -1
  333. package/dist/features/heading/client/index.js +121 -142
  334. package/dist/features/heading/client/index.js.map +1 -1
  335. package/dist/features/heading/markdownTransformer.js +25 -22
  336. package/dist/features/heading/markdownTransformer.js.map +1 -1
  337. package/dist/features/heading/server/i18n.js +112 -111
  338. package/dist/features/heading/server/i18n.js.map +1 -1
  339. package/dist/features/heading/server/index.js +62 -60
  340. package/dist/features/heading/server/index.js.map +1 -1
  341. package/dist/features/horizontalRule/client/index.js +57 -48
  342. package/dist/features/horizontalRule/client/index.js.map +1 -1
  343. package/dist/features/horizontalRule/client/markdownTransformer.js +18 -15
  344. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  345. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +25 -27
  346. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  347. package/dist/features/horizontalRule/client/plugin/index.js +21 -32
  348. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  349. package/dist/features/horizontalRule/client/plugin/index.scss +23 -0
  350. package/dist/features/horizontalRule/server/i18n.js +112 -111
  351. package/dist/features/horizontalRule/server/i18n.js.map +1 -1
  352. package/dist/features/horizontalRule/server/index.js +24 -17
  353. package/dist/features/horizontalRule/server/index.js.map +1 -1
  354. package/dist/features/horizontalRule/server/markdownTransformer.js +18 -15
  355. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  356. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +69 -72
  357. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  358. package/dist/features/indent/client/IndentPlugin.js +78 -78
  359. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  360. package/dist/features/indent/client/index.js +68 -77
  361. package/dist/features/indent/client/index.js.map +1 -1
  362. package/dist/features/indent/client/toolbarIndentGroup.js +8 -8
  363. package/dist/features/indent/client/toolbarIndentGroup.js.map +1 -1
  364. package/dist/features/indent/server/i18n.js +149 -148
  365. package/dist/features/indent/server/i18n.js.map +1 -1
  366. package/dist/features/indent/server/index.js +18 -11
  367. package/dist/features/indent/server/index.js.map +1 -1
  368. package/dist/features/link/client/index.js +83 -80
  369. package/dist/features/link/client/index.js.map +1 -1
  370. package/dist/features/link/client/plugins/autoLink/index.js +280 -273
  371. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  372. package/dist/features/link/client/plugins/clickableLink/index.js +8 -4
  373. package/dist/features/link/client/plugins/clickableLink/index.js.map +1 -1
  374. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js +1 -1
  375. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
  376. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +378 -297
  377. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  378. package/dist/features/link/client/plugins/floatingLinkEditor/index.js +12 -9
  379. package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -1
  380. package/dist/features/link/client/plugins/floatingLinkEditor/index.scss +92 -0
  381. package/dist/features/link/client/plugins/floatingLinkEditor/types.js +6 -1
  382. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -1
  383. package/dist/features/link/client/plugins/link/index.js +53 -68
  384. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  385. package/dist/features/link/markdownTransformer.js +34 -33
  386. package/dist/features/link/markdownTransformer.js.map +1 -1
  387. package/dist/features/link/nodes/AutoLinkNode.js +56 -58
  388. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  389. package/dist/features/link/nodes/LinkNode.js +286 -288
  390. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  391. package/dist/features/link/nodes/types.js +6 -1
  392. package/dist/features/link/nodes/types.js.map +1 -1
  393. package/dist/features/link/server/baseFields.js +115 -140
  394. package/dist/features/link/server/baseFields.js.map +1 -1
  395. package/dist/features/link/server/graphQLPopulationPromise.js +29 -45
  396. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -1
  397. package/dist/features/link/server/i18n.js +149 -148
  398. package/dist/features/link/server/i18n.js.map +1 -1
  399. package/dist/features/link/server/index.js +156 -143
  400. package/dist/features/link/server/index.js.map +1 -1
  401. package/dist/features/link/server/transformExtraFields.js +15 -15
  402. package/dist/features/link/server/transformExtraFields.js.map +1 -1
  403. package/dist/features/link/server/validate.js +35 -46
  404. package/dist/features/link/server/validate.js.map +1 -1
  405. package/dist/features/lists/checklist/client/index.js +86 -78
  406. package/dist/features/lists/checklist/client/index.js.map +1 -1
  407. package/dist/features/lists/checklist/client/plugin/index.js +8 -4
  408. package/dist/features/lists/checklist/client/plugin/index.js.map +1 -1
  409. package/dist/features/lists/checklist/markdownTransformers.js +11 -7
  410. package/dist/features/lists/checklist/markdownTransformers.js.map +1 -1
  411. package/dist/features/lists/checklist/server/i18n.js +112 -111
  412. package/dist/features/lists/checklist/server/i18n.js.map +1 -1
  413. package/dist/features/lists/checklist/server/index.js +26 -21
  414. package/dist/features/lists/checklist/server/index.js.map +1 -1
  415. package/dist/features/lists/htmlConverter.js +47 -62
  416. package/dist/features/lists/htmlConverter.js.map +1 -1
  417. package/dist/features/lists/orderedList/client/index.js +78 -72
  418. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  419. package/dist/features/lists/orderedList/markdownTransformer.js +11 -7
  420. package/dist/features/lists/orderedList/markdownTransformer.js.map +1 -1
  421. package/dist/features/lists/orderedList/server/i18n.js +112 -111
  422. package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
  423. package/dist/features/lists/orderedList/server/index.js +26 -21
  424. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  425. package/dist/features/lists/plugin/index.js +8 -4
  426. package/dist/features/lists/plugin/index.js.map +1 -1
  427. package/dist/features/lists/shared/markdown.js +49 -48
  428. package/dist/features/lists/shared/markdown.js.map +1 -1
  429. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js +10 -9
  430. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js.map +1 -1
  431. package/dist/features/lists/shared/slashMenuListGroup.js +8 -9
  432. package/dist/features/lists/shared/slashMenuListGroup.js.map +1 -1
  433. package/dist/features/lists/unorderedList/client/index.js +76 -68
  434. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  435. package/dist/features/lists/unorderedList/markdownTransformer.js +11 -7
  436. package/dist/features/lists/unorderedList/markdownTransformer.js.map +1 -1
  437. package/dist/features/lists/unorderedList/server/i18n.js +112 -111
  438. package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
  439. package/dist/features/lists/unorderedList/server/index.js +24 -17
  440. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  441. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +17 -18
  442. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +1 -1
  443. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +29 -30
  444. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +1 -1
  445. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +20 -21
  446. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -1
  447. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +19 -21
  448. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -1
  449. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +17 -18
  450. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -1
  451. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +23 -24
  452. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +1 -1
  453. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +21 -20
  454. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  455. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +10 -1
  456. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +1 -1
  457. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +64 -70
  458. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
  459. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js +2 -1
  460. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -1
  461. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js +7 -5
  462. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js.map +1 -1
  463. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js +43 -42
  464. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
  465. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +21 -11
  466. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  467. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +65 -66
  468. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  469. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +16 -0
  470. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +19 -19
  471. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
  472. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js +26 -20
  473. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
  474. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js +30 -28
  475. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +1 -1
  476. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js +27 -26
  477. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
  478. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js +21 -22
  479. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
  480. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +22 -22
  481. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
  482. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js +13 -12
  483. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  484. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js +23 -23
  485. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
  486. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +22 -22
  487. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
  488. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js +16 -15
  489. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  490. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js +13 -1
  491. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js.map +1 -1
  492. package/dist/features/migrations/slateToLexical/converter/index.js +110 -117
  493. package/dist/features/migrations/slateToLexical/converter/index.js.map +1 -1
  494. package/dist/features/migrations/slateToLexical/converter/types.js +2 -1
  495. package/dist/features/migrations/slateToLexical/converter/types.js.map +1 -1
  496. package/dist/features/migrations/slateToLexical/feature.client.js +7 -5
  497. package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
  498. package/dist/features/migrations/slateToLexical/feature.server.js +54 -45
  499. package/dist/features/migrations/slateToLexical/feature.server.js.map +1 -1
  500. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +21 -11
  501. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  502. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +65 -66
  503. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  504. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.scss +16 -0
  505. package/dist/features/paragraph/client/index.js +61 -58
  506. package/dist/features/paragraph/client/index.js.map +1 -1
  507. package/dist/features/paragraph/server/i18n.js +149 -148
  508. package/dist/features/paragraph/server/i18n.js.map +1 -1
  509. package/dist/features/paragraph/server/index.js +7 -6
  510. package/dist/features/paragraph/server/index.js.map +1 -1
  511. package/dist/features/relationship/client/components/RelationshipComponent.js +147 -118
  512. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  513. package/dist/features/relationship/client/components/index.scss +95 -0
  514. package/dist/features/relationship/client/drawer/commands.js +1 -0
  515. package/dist/features/relationship/client/drawer/commands.js.map +1 -1
  516. package/dist/features/relationship/client/drawer/index.js +81 -132
  517. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  518. package/dist/features/relationship/client/index.js +59 -53
  519. package/dist/features/relationship/client/index.js.map +1 -1
  520. package/dist/features/relationship/client/nodes/RelationshipNode.js +64 -60
  521. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  522. package/dist/features/relationship/client/plugins/index.js +39 -69
  523. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  524. package/dist/features/relationship/client/utils/useEnabledRelationships.js +48 -58
  525. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  526. package/dist/features/relationship/server/graphQLPopulationPromise.js +26 -34
  527. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  528. package/dist/features/relationship/server/i18n.js +112 -111
  529. package/dist/features/relationship/server/i18n.js.map +1 -1
  530. package/dist/features/relationship/server/index.js +64 -59
  531. package/dist/features/relationship/server/index.js.map +1 -1
  532. package/dist/features/relationship/server/nodes/RelationshipNode.js +92 -95
  533. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  534. package/dist/features/shared/slashMenu/basicGroup.js +8 -9
  535. package/dist/features/shared/slashMenu/basicGroup.js.map +1 -1
  536. package/dist/features/shared/toolbar/addDropdownGroup.js +9 -8
  537. package/dist/features/shared/toolbar/addDropdownGroup.js.map +1 -1
  538. package/dist/features/shared/toolbar/featureButtonsGroup.js +8 -7
  539. package/dist/features/shared/toolbar/featureButtonsGroup.js.map +1 -1
  540. package/dist/features/shared/toolbar/textDropdownGroup.js +9 -8
  541. package/dist/features/shared/toolbar/textDropdownGroup.js.map +1 -1
  542. package/dist/features/textState/defaultColors.js +370 -370
  543. package/dist/features/textState/defaultColors.js.map +1 -1
  544. package/dist/features/textState/feature.client.js +77 -64
  545. package/dist/features/textState/feature.client.js.map +1 -1
  546. package/dist/features/textState/feature.server.js +46 -14
  547. package/dist/features/textState/feature.server.js.map +1 -1
  548. package/dist/features/textState/i18n.js +112 -111
  549. package/dist/features/textState/i18n.js.map +1 -1
  550. package/dist/features/textState/textState.js +64 -62
  551. package/dist/features/textState/textState.js.map +1 -1
  552. package/dist/features/toolbars/fixed/client/Toolbar/index.js +263 -297
  553. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  554. package/dist/features/toolbars/fixed/client/Toolbar/index.scss +113 -0
  555. package/dist/features/toolbars/fixed/client/index.js +7 -5
  556. package/dist/features/toolbars/fixed/client/index.js.map +1 -1
  557. package/dist/features/toolbars/fixed/server/index.js +32 -16
  558. package/dist/features/toolbars/fixed/server/index.js.map +1 -1
  559. package/dist/features/toolbars/inline/client/Toolbar/index.js +343 -366
  560. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  561. package/dist/features/toolbars/inline/client/Toolbar/index.scss +58 -0
  562. package/dist/features/toolbars/inline/client/index.js +7 -5
  563. package/dist/features/toolbars/inline/client/index.js.map +1 -1
  564. package/dist/features/toolbars/inline/server/index.js +5 -4
  565. package/dist/features/toolbars/inline/server/index.js.map +1 -1
  566. package/dist/features/toolbars/shared/ToolbarButton/index.js +103 -145
  567. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  568. package/dist/features/toolbars/shared/ToolbarButton/index.scss +46 -0
  569. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +264 -208
  570. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  571. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +172 -176
  572. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  573. package/dist/features/toolbars/shared/ToolbarDropdown/index.scss +129 -0
  574. package/dist/features/toolbars/types.js +29 -1
  575. package/dist/features/toolbars/types.js.map +1 -1
  576. package/dist/features/typeUtilities.js +3 -2
  577. package/dist/features/typeUtilities.js.map +1 -1
  578. package/dist/features/typesClient.js +61 -1
  579. package/dist/features/typesClient.js.map +1 -1
  580. package/dist/features/typesServer.js +90 -1
  581. package/dist/features/typesServer.js.map +1 -1
  582. package/dist/features/upload/client/component/index.js +242 -189
  583. package/dist/features/upload/client/component/index.js.map +1 -1
  584. package/dist/features/upload/client/component/index.scss +191 -0
  585. package/dist/features/upload/client/component/pending/index.js +19 -10
  586. package/dist/features/upload/client/component/pending/index.js.map +1 -1
  587. package/dist/features/upload/client/drawer/commands.js +1 -1
  588. package/dist/features/upload/client/drawer/commands.js.map +1 -1
  589. package/dist/features/upload/client/drawer/index.js +83 -132
  590. package/dist/features/upload/client/drawer/index.js.map +1 -1
  591. package/dist/features/upload/client/index.js +61 -51
  592. package/dist/features/upload/client/index.js.map +1 -1
  593. package/dist/features/upload/client/nodes/UploadNode.js +67 -61
  594. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  595. package/dist/features/upload/client/plugin/index.js +290 -331
  596. package/dist/features/upload/client/plugin/index.js.map +1 -1
  597. package/dist/features/upload/server/graphQLPopulationPromise.js +48 -63
  598. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  599. package/dist/features/upload/server/i18n.js +112 -111
  600. package/dist/features/upload/server/i18n.js.map +1 -1
  601. package/dist/features/upload/server/index.d.ts.map +1 -1
  602. package/dist/features/upload/server/index.js +197 -206
  603. package/dist/features/upload/server/index.js.map +1 -1
  604. package/dist/features/upload/server/nodes/UploadNode.js +115 -99
  605. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  606. package/dist/features/upload/server/nodes/conversions.js +41 -40
  607. package/dist/features/upload/server/nodes/conversions.js.map +1 -1
  608. package/dist/features/upload/server/validate.js +48 -62
  609. package/dist/features/upload/server/validate.js.map +1 -1
  610. package/dist/field/Diff/converters/link.js +32 -41
  611. package/dist/field/Diff/converters/link.js.map +1 -1
  612. package/dist/field/Diff/converters/listitem/index.js +75 -55
  613. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  614. package/dist/field/Diff/converters/listitem/index.scss +47 -0
  615. package/dist/field/Diff/converters/relationship/index.js +85 -63
  616. package/dist/field/Diff/converters/relationship/index.js.map +1 -1
  617. package/dist/field/Diff/converters/relationship/index.scss +73 -0
  618. package/dist/field/Diff/converters/unknown/index.js +64 -41
  619. package/dist/field/Diff/converters/unknown/index.js.map +1 -1
  620. package/dist/field/Diff/converters/unknown/index.scss +40 -0
  621. package/dist/field/Diff/converters/upload/index.d.ts.map +1 -1
  622. package/dist/field/Diff/converters/upload/index.js +122 -69
  623. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  624. package/dist/field/Diff/converters/upload/index.scss +115 -0
  625. package/dist/field/Diff/index.js +59 -66
  626. package/dist/field/Diff/index.js.map +1 -1
  627. package/dist/field/Diff/index.scss +102 -0
  628. package/dist/field/Field.js +226 -167
  629. package/dist/field/Field.js.map +1 -1
  630. package/dist/field/RenderLexical/index.js +123 -119
  631. package/dist/field/RenderLexical/index.js.map +1 -1
  632. package/dist/field/bundled.css +0 -1
  633. package/dist/field/index.js +61 -97
  634. package/dist/field/index.js.map +1 -1
  635. package/dist/field/index.scss +41 -0
  636. package/dist/field/rscEntry.js +86 -84
  637. package/dist/field/rscEntry.js.map +1 -1
  638. package/dist/i18n.js +223 -222
  639. package/dist/i18n.js.map +1 -1
  640. package/dist/index.d.ts +2 -1
  641. package/dist/index.d.ts.map +1 -1
  642. package/dist/index.js +639 -704
  643. package/dist/index.js.map +1 -1
  644. package/dist/lexical/EditorPlugin.js +21 -17
  645. package/dist/lexical/EditorPlugin.js.map +1 -1
  646. package/dist/lexical/LexicalEditor.js +274 -171
  647. package/dist/lexical/LexicalEditor.js.map +1 -1
  648. package/dist/lexical/LexicalEditor.scss +54 -0
  649. package/dist/lexical/LexicalProvider.js +109 -86
  650. package/dist/lexical/LexicalProvider.js.map +1 -1
  651. package/dist/lexical/config/client/EditorConfigProvider.js +94 -81
  652. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  653. package/dist/lexical/config/client/default.js +3 -3
  654. package/dist/lexical/config/client/default.js.map +1 -1
  655. package/dist/lexical/config/client/loader.js +30 -38
  656. package/dist/lexical/config/client/loader.js.map +1 -1
  657. package/dist/lexical/config/client/sanitize.js +188 -187
  658. package/dist/lexical/config/client/sanitize.js.map +1 -1
  659. package/dist/lexical/config/server/default.js +27 -5
  660. package/dist/lexical/config/server/default.js.map +1 -1
  661. package/dist/lexical/config/server/loader.js +105 -106
  662. package/dist/lexical/config/server/loader.js.map +1 -1
  663. package/dist/lexical/config/server/sanitize.js +114 -113
  664. package/dist/lexical/config/server/sanitize.js.map +1 -1
  665. package/dist/lexical/config/types.js +4 -1
  666. package/dist/lexical/config/types.js.map +1 -1
  667. package/dist/lexical/nodes/index.js +12 -15
  668. package/dist/lexical/nodes/index.js.map +1 -1
  669. package/dist/lexical/plugins/ClipboardPlugin/index.js +66 -70
  670. package/dist/lexical/plugins/ClipboardPlugin/index.js.map +1 -1
  671. package/dist/lexical/plugins/DecoratorPlugin/index.js +208 -225
  672. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  673. package/dist/lexical/plugins/DecoratorPlugin/index.scss +13 -0
  674. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +42 -41
  675. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  676. package/dist/lexical/plugins/InsertParagraphAtEnd/index.scss +54 -0
  677. package/dist/lexical/plugins/MarkdownShortcut/index.js +11 -23
  678. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  679. package/dist/lexical/plugins/NormalizeSelection/index.js +21 -19
  680. package/dist/lexical/plugins/NormalizeSelection/index.js.map +1 -1
  681. package/dist/lexical/plugins/SelectAllPlugin/index.js +19 -17
  682. package/dist/lexical/plugins/SelectAllPlugin/index.js.map +1 -1
  683. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +399 -420
  684. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  685. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +164 -155
  686. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  687. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +10 -1
  688. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  689. package/dist/lexical/plugins/SlashMenu/index.js +204 -181
  690. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  691. package/dist/lexical/plugins/SlashMenu/index.scss +68 -0
  692. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +28 -41
  693. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
  694. package/dist/lexical/plugins/TextPlugin/index.js +27 -42
  695. package/dist/lexical/plugins/TextPlugin/index.js.map +1 -1
  696. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +145 -130
  697. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  698. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +35 -0
  699. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +10 -10
  700. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
  701. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +10 -10
  702. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
  703. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +23 -26
  704. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
  705. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +325 -317
  706. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  707. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.scss +80 -0
  708. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +86 -98
  709. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  710. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js +16 -22
  711. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -1
  712. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +29 -19
  713. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -1
  714. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js +11 -14
  715. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js.map +1 -1
  716. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js +122 -133
  717. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
  718. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +2 -2
  719. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
  720. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js +2 -2
  721. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js.map +1 -1
  722. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +29 -24
  723. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  724. package/dist/lexical/theme/EditorTheme.js +72 -65
  725. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  726. package/dist/lexical/theme/EditorTheme.scss +357 -0
  727. package/dist/lexical/ui/ContentEditable.js +22 -35
  728. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  729. package/dist/lexical/ui/ContentEditable.scss +105 -0
  730. package/dist/lexical/ui/icons/AI/index.js +58 -31
  731. package/dist/lexical/ui/icons/AI/index.js.map +1 -1
  732. package/dist/lexical/ui/icons/Add/index.js +31 -16
  733. package/dist/lexical/ui/icons/Add/index.js.map +1 -1
  734. package/dist/lexical/ui/icons/AlignCenter/index.js +45 -25
  735. package/dist/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  736. package/dist/lexical/ui/icons/AlignJustify/index.js +45 -25
  737. package/dist/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  738. package/dist/lexical/ui/icons/AlignLeft/index.js +45 -25
  739. package/dist/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  740. package/dist/lexical/ui/icons/AlignRight/index.js +45 -25
  741. package/dist/lexical/ui/icons/AlignRight/index.js.map +1 -1
  742. package/dist/lexical/ui/icons/Block/index.js +54 -34
  743. package/dist/lexical/ui/icons/Block/index.js.map +1 -1
  744. package/dist/lexical/ui/icons/Blockquote/index.js +24 -16
  745. package/dist/lexical/ui/icons/Blockquote/index.js.map +1 -1
  746. package/dist/lexical/ui/icons/Bold/index.js +24 -16
  747. package/dist/lexical/ui/icons/Bold/index.js.map +1 -1
  748. package/dist/lexical/ui/icons/Checklist/index.js +39 -24
  749. package/dist/lexical/ui/icons/Checklist/index.js.map +1 -1
  750. package/dist/lexical/ui/icons/Code/index.js +34 -19
  751. package/dist/lexical/ui/icons/Code/index.js.map +1 -1
  752. package/dist/lexical/ui/icons/CodeBlock/index.js +22 -14
  753. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  754. package/dist/lexical/ui/icons/Collapse/index.js +23 -15
  755. package/dist/lexical/ui/icons/Collapse/index.js.map +1 -1
  756. package/dist/lexical/ui/icons/H1/index.js +24 -16
  757. package/dist/lexical/ui/icons/H1/index.js.map +1 -1
  758. package/dist/lexical/ui/icons/H2/index.js +24 -16
  759. package/dist/lexical/ui/icons/H2/index.js.map +1 -1
  760. package/dist/lexical/ui/icons/H3/index.js +24 -16
  761. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  762. package/dist/lexical/ui/icons/H4/index.js +24 -16
  763. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  764. package/dist/lexical/ui/icons/H5/index.js +24 -16
  765. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  766. package/dist/lexical/ui/icons/H6/index.js +24 -16
  767. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  768. package/dist/lexical/ui/icons/HorizontalRule/index.js +27 -19
  769. package/dist/lexical/ui/icons/HorizontalRule/index.js.map +1 -1
  770. package/dist/lexical/ui/icons/IndentDecrease/index.js +53 -28
  771. package/dist/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  772. package/dist/lexical/ui/icons/IndentIncrease/index.js +53 -28
  773. package/dist/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  774. package/dist/lexical/ui/icons/InlineBlocks/index.js +26 -18
  775. package/dist/lexical/ui/icons/InlineBlocks/index.js.map +1 -1
  776. package/dist/lexical/ui/icons/Italic/index.js +24 -16
  777. package/dist/lexical/ui/icons/Italic/index.js.map +1 -1
  778. package/dist/lexical/ui/icons/Link/index.js +25 -17
  779. package/dist/lexical/ui/icons/Link/index.js.map +1 -1
  780. package/dist/lexical/ui/icons/Meatballs/index.js +39 -19
  781. package/dist/lexical/ui/icons/Meatballs/index.js.map +1 -1
  782. package/dist/lexical/ui/icons/OrderedList/index.js +61 -31
  783. package/dist/lexical/ui/icons/OrderedList/index.js.map +1 -1
  784. package/dist/lexical/ui/icons/Relationship/index.js +58 -31
  785. package/dist/lexical/ui/icons/Relationship/index.js.map +1 -1
  786. package/dist/lexical/ui/icons/Strikethrough/index.js +34 -19
  787. package/dist/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  788. package/dist/lexical/ui/icons/Subscript/index.js +24 -16
  789. package/dist/lexical/ui/icons/Subscript/index.js.map +1 -1
  790. package/dist/lexical/ui/icons/Superscript/index.js +24 -16
  791. package/dist/lexical/ui/icons/Superscript/index.js.map +1 -1
  792. package/dist/lexical/ui/icons/Table/index.js +25 -17
  793. package/dist/lexical/ui/icons/Table/index.js.map +1 -1
  794. package/dist/lexical/ui/icons/Text/index.js +24 -16
  795. package/dist/lexical/ui/icons/Text/index.js.map +1 -1
  796. package/dist/lexical/ui/icons/TextState/index.js +25 -19
  797. package/dist/lexical/ui/icons/TextState/index.js.map +1 -1
  798. package/dist/lexical/ui/icons/Underline/index.js +34 -19
  799. package/dist/lexical/ui/icons/Underline/index.js.map +1 -1
  800. package/dist/lexical/ui/icons/UnorderedList/index.js +81 -46
  801. package/dist/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  802. package/dist/lexical/ui/icons/Upload/index.js +48 -28
  803. package/dist/lexical/ui/icons/Upload/index.js.map +1 -1
  804. package/dist/lexical/utils/canUseDOM.js +1 -1
  805. package/dist/lexical/utils/canUseDOM.js.map +1 -1
  806. package/dist/lexical/utils/environment.js +1 -1
  807. package/dist/lexical/utils/environment.js.map +1 -1
  808. package/dist/lexical/utils/getDOMRangeRect.js +12 -12
  809. package/dist/lexical/utils/getDOMRangeRect.js.map +1 -1
  810. package/dist/lexical/utils/getSelectedNode.js +13 -17
  811. package/dist/lexical/utils/getSelectedNode.js.map +1 -1
  812. package/dist/lexical/utils/guard.js +3 -4
  813. package/dist/lexical/utils/guard.js.map +1 -1
  814. package/dist/lexical/utils/joinClasses.js +2 -2
  815. package/dist/lexical/utils/joinClasses.js.map +1 -1
  816. package/dist/lexical/utils/markdown/createBlockNode.js +10 -9
  817. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  818. package/dist/lexical/utils/nodeFormat.js +59 -58
  819. package/dist/lexical/utils/nodeFormat.js.map +1 -1
  820. package/dist/lexical/utils/point.js +32 -39
  821. package/dist/lexical/utils/point.js.map +1 -1
  822. package/dist/lexical/utils/rect.js +136 -166
  823. package/dist/lexical/utils/rect.js.map +1 -1
  824. package/dist/lexical/utils/setFloatingElemPosition.js +48 -56
  825. package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
  826. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js +22 -22
  827. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js.map +1 -1
  828. package/dist/lexical/utils/swipe.js +83 -81
  829. package/dist/lexical/utils/swipe.js.map +1 -1
  830. package/dist/lexical/utils/url.js +53 -53
  831. package/dist/lexical/utils/url.js.map +1 -1
  832. package/dist/lexical/utils/url.spec.js +214 -98
  833. package/dist/lexical/utils/url.spec.js.map +1 -1
  834. package/dist/lexical-proxy/@lexical-headless.js +1 -0
  835. package/dist/lexical-proxy/@lexical-headless.js.map +1 -1
  836. package/dist/lexical-proxy/@lexical-html.js +1 -0
  837. package/dist/lexical-proxy/@lexical-html.js.map +1 -1
  838. package/dist/lexical-proxy/@lexical-link.js +1 -0
  839. package/dist/lexical-proxy/@lexical-link.js.map +1 -1
  840. package/dist/lexical-proxy/@lexical-list.js +1 -0
  841. package/dist/lexical-proxy/@lexical-list.js.map +1 -1
  842. package/dist/lexical-proxy/@lexical-mark.js +1 -0
  843. package/dist/lexical-proxy/@lexical-mark.js.map +1 -1
  844. package/dist/lexical-proxy/@lexical-markdown.js +1 -0
  845. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  846. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js +1 -0
  847. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js.map +1 -1
  848. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js +1 -0
  849. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js.map +1 -1
  850. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js +1 -0
  851. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js.map +1 -1
  852. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js +1 -0
  853. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js.map +1 -1
  854. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js +1 -0
  855. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js.map +1 -1
  856. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js +1 -0
  857. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js.map +1 -1
  858. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js +1 -0
  859. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js.map +1 -1
  860. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js +1 -0
  861. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js.map +1 -1
  862. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js +1 -0
  863. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js.map +1 -1
  864. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js +1 -0
  865. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js.map +1 -1
  866. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js +1 -0
  867. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js.map +1 -1
  868. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js +1 -0
  869. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js.map +1 -1
  870. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js +1 -0
  871. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js.map +1 -1
  872. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +1 -0
  873. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +1 -1
  874. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js +1 -0
  875. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js.map +1 -1
  876. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js +1 -0
  877. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js.map +1 -1
  878. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js +1 -0
  879. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js.map +1 -1
  880. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js +1 -0
  881. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js.map +1 -1
  882. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js +1 -0
  883. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js.map +1 -1
  884. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js +1 -0
  885. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js.map +1 -1
  886. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js +1 -0
  887. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js.map +1 -1
  888. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js +1 -0
  889. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js.map +1 -1
  890. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js +1 -0
  891. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js.map +1 -1
  892. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js +1 -0
  893. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js.map +1 -1
  894. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js +1 -0
  895. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js.map +1 -1
  896. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js +1 -0
  897. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js.map +1 -1
  898. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js +1 -0
  899. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js.map +1 -1
  900. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js +1 -0
  901. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js.map +1 -1
  902. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js +1 -0
  903. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js.map +1 -1
  904. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js +1 -0
  905. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js.map +1 -1
  906. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js +1 -0
  907. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js.map +1 -1
  908. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js +1 -0
  909. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js.map +1 -1
  910. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js +1 -0
  911. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js.map +1 -1
  912. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js +1 -0
  913. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js.map +1 -1
  914. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js +1 -0
  915. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js.map +1 -1
  916. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js +1 -0
  917. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js.map +1 -1
  918. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js +1 -0
  919. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js.map +1 -1
  920. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js +1 -0
  921. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js.map +1 -1
  922. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js +1 -0
  923. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js.map +1 -1
  924. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js +1 -0
  925. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js.map +1 -1
  926. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js +1 -0
  927. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js.map +1 -1
  928. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js +1 -0
  929. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js.map +1 -1
  930. package/dist/lexical-proxy/@lexical-rich-text.js +1 -0
  931. package/dist/lexical-proxy/@lexical-rich-text.js.map +1 -1
  932. package/dist/lexical-proxy/@lexical-selection.js +1 -0
  933. package/dist/lexical-proxy/@lexical-selection.js.map +1 -1
  934. package/dist/lexical-proxy/@lexical-utils.js +1 -0
  935. package/dist/lexical-proxy/@lexical-utils.js.map +1 -1
  936. package/dist/lexical-proxy/lexical.js +1 -0
  937. package/dist/lexical-proxy/lexical.js.map +1 -1
  938. package/dist/nodeTypes.js +35 -1
  939. package/dist/nodeTypes.js.map +1 -1
  940. package/dist/packages/@lexical/markdown/MarkdownExport.js +184 -179
  941. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +1 -1
  942. package/dist/packages/@lexical/markdown/MarkdownImport.js +174 -169
  943. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +1 -1
  944. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +258 -268
  945. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +1 -1
  946. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +305 -209
  947. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +1 -1
  948. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +76 -73
  949. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +1 -1
  950. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +59 -48
  951. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +1 -1
  952. package/dist/packages/@lexical/markdown/importTextTransformers.js +51 -45
  953. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +1 -1
  954. package/dist/packages/@lexical/markdown/index.js +33 -14
  955. package/dist/packages/@lexical/markdown/index.js.map +1 -1
  956. package/dist/packages/@lexical/markdown/utils.js +217 -185
  957. package/dist/packages/@lexical/markdown/utils.js.map +1 -1
  958. package/dist/populateGraphQL/defaultValue.js +29 -24
  959. package/dist/populateGraphQL/defaultValue.js.map +1 -1
  960. package/dist/populateGraphQL/populate.js +26 -37
  961. package/dist/populateGraphQL/populate.js.map +1 -1
  962. package/dist/populateGraphQL/populateLexicalPopulationPromises.js +34 -50
  963. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  964. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js +35 -42
  965. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
  966. package/dist/types.js +40 -1
  967. package/dist/types.js.map +1 -1
  968. package/dist/utilities/applyBaseFilterToFields.js +81 -84
  969. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  970. package/dist/utilities/buildEditorState.js +39 -40
  971. package/dist/utilities/buildEditorState.js.map +1 -1
  972. package/dist/utilities/buildInitialState.js +51 -52
  973. package/dist/utilities/buildInitialState.js.map +1 -1
  974. package/dist/utilities/createClientFeature.js +42 -48
  975. package/dist/utilities/createClientFeature.js.map +1 -1
  976. package/dist/utilities/createServerFeature.js +38 -48
  977. package/dist/utilities/createServerFeature.js.map +1 -1
  978. package/dist/utilities/editorConfigFactory.js +78 -79
  979. package/dist/utilities/editorConfigFactory.js.map +1 -1
  980. package/dist/utilities/fieldsDrawer/Drawer.js +45 -70
  981. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  982. package/dist/utilities/fieldsDrawer/DrawerContent.js +130 -120
  983. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  984. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +64 -115
  985. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  986. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +76 -121
  987. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  988. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js +79 -141
  989. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -1
  990. package/dist/utilities/forEachNodeRecursively.js +19 -24
  991. package/dist/utilities/forEachNodeRecursively.js.map +1 -1
  992. package/dist/utilities/generateImportMap.js +43 -49
  993. package/dist/utilities/generateImportMap.js.map +1 -1
  994. package/dist/utilities/generateSchemaMap.js +32 -37
  995. package/dist/utilities/generateSchemaMap.js.map +1 -1
  996. package/dist/utilities/getDefaultSanitizedEditorConfig.js +12 -14
  997. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  998. package/dist/utilities/initLexicalFeatures.js +68 -65
  999. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  1000. package/dist/utilities/jsx/collectTopLevelJSXInLines.js +26 -29
  1001. package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -1
  1002. package/dist/utilities/jsx/declare.d.js.map +1 -1
  1003. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js +100 -102
  1004. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js.map +1 -1
  1005. package/dist/utilities/jsx/jsx.js +76 -80
  1006. package/dist/utilities/jsx/jsx.js.map +1 -1
  1007. package/dist/utilities/jsx/jsx.spec.js +225 -171
  1008. package/dist/utilities/jsx/jsx.spec.js.map +1 -1
  1009. package/dist/utilities/migrateSlateToLexical/index.js +112 -128
  1010. package/dist/utilities/migrateSlateToLexical/index.js.map +1 -1
  1011. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +74 -78
  1012. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
  1013. package/dist/utilities/recurseNodeTree.js +22 -25
  1014. package/dist/utilities/recurseNodeTree.js.map +1 -1
  1015. package/dist/utilities/upgradeLexicalData/index.js +88 -102
  1016. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  1017. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +78 -80
  1018. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  1019. package/dist/utilities/useLexicalFeature.js +14 -16
  1020. package/dist/utilities/useLexicalFeature.js.map +1 -1
  1021. package/dist/utilities/useRunDeprioritized.js +41 -37
  1022. package/dist/utilities/useRunDeprioritized.js.map +1 -1
  1023. package/dist/validate/hasText.js +21 -20
  1024. package/dist/validate/hasText.js.map +1 -1
  1025. package/dist/validate/index.js +22 -28
  1026. package/dist/validate/index.js.map +1 -1
  1027. package/dist/validate/validateNodes.js +28 -31
  1028. package/dist/validate/validateNodes.js.map +1 -1
  1029. package/package.json +6 -6
  1030. package/dist/exports/client/Component-DOSSWC76.js +0 -2
  1031. package/dist/exports/client/Component-DOSSWC76.js.map +0 -7
  1032. package/dist/exports/client/Component-MBLHTKDK.js +0 -2
  1033. package/dist/exports/client/Component-MBLHTKDK.js.map +0 -7
  1034. package/dist/exports/client/Field-2A2VQXKP.js +0 -2
  1035. package/dist/exports/client/Field-2A2VQXKP.js.map +0 -7
  1036. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js +0 -2
  1037. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js.map +0 -7
  1038. package/dist/exports/client/bundled.css +0 -1
  1039. package/dist/exports/client/chunk-AFXLIYGL.js +0 -12
  1040. package/dist/exports/client/chunk-AFXLIYGL.js.map +0 -7
  1041. package/dist/exports/client/chunk-BZZVLW4U.js +0 -2
  1042. package/dist/exports/client/chunk-BZZVLW4U.js.map +0 -7
  1043. package/dist/exports/client/chunk-DBWINSQN.js +0 -2
  1044. package/dist/exports/client/chunk-DBWINSQN.js.map +0 -7
  1045. package/dist/exports/client/chunk-F26IQ5RE.js +0 -2
  1046. package/dist/exports/client/chunk-F26IQ5RE.js.map +0 -7
  1047. package/dist/exports/client/chunk-INBEEENE.js +0 -2
  1048. package/dist/exports/client/chunk-INBEEENE.js.map +0 -7
  1049. package/dist/exports/client/chunk-O6XRT2H3.js +0 -2
  1050. package/dist/exports/client/chunk-O6XRT2H3.js.map +0 -7
  1051. package/dist/exports/client/chunk-TRHFMZ3F.js +0 -2
  1052. package/dist/exports/client/chunk-TRHFMZ3F.js.map +0 -7
  1053. package/dist/exports/client/component-YQ22OGQW.js +0 -2
  1054. package/dist/exports/client/component-YQ22OGQW.js.map +0 -7
  1055. package/dist/exports/client/componentInline-5OVPQNQH.js +0 -2
  1056. package/dist/exports/client/componentInline-5OVPQNQH.js.map +0 -7
@@ -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.scss'\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,"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.scss'\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"],"names":["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","className","id","onClick","e","preventDefault","title","type","output","div","pre","ref","TestRecorderPlugin","testRecorderButton","testRecorderOutput","Fragment","p"],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ @import '~@payloadcms/ui/scss';
2
+
3
+ @layer payload-default {
4
+ .test-recorder-output {
5
+ margin: 20px auto 20px auto;
6
+ width: 100%;
7
+ }
8
+ .test-recorder-toolbar {
9
+ display: flex;
10
+ }
11
+
12
+ .test-recorder-button {
13
+ position: relative;
14
+ display: block;
15
+ font-size: 10px;
16
+ padding: 6px 6px;
17
+ border-radius: $style-radius-m;
18
+ border: none;
19
+ cursor: pointer;
20
+ outline: none;
21
+ box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
22
+ background-color: #222;
23
+ color: white;
24
+ transition: box-shadow 50ms ease-out;
25
+ }
26
+
27
+ .test-recorder-button:active {
28
+ box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.4);
29
+ }
30
+
31
+ .test-recorder-button + .test-recorder-button {
32
+ margin-left: 4px;
33
+ }
34
+
35
+ .test-recorder-button::after {
36
+ content: '';
37
+ position: absolute;
38
+ top: 8px;
39
+ right: 8px;
40
+ bottom: 8px;
41
+ left: 8px;
42
+ display: block;
43
+ background-size: contain;
44
+ filter: invert(1);
45
+ }
46
+ #test-recorder-button {
47
+ position: relative;
48
+ }
49
+
50
+ #test-recorder-button-snapshot {
51
+ margin-right: auto;
52
+ }
53
+ }
@@ -1,8 +1,9 @@
1
1
  import { createServerFeature } from '../../../../utilities/createServerFeature.js';
2
2
  export const TestRecorderFeature = createServerFeature({
3
- feature: {
4
- ClientFeature: '@payloadcms/richtext-lexical/client#TestRecorderFeatureClient'
5
- },
6
- key: 'testRecorder'
3
+ feature: {
4
+ ClientFeature: '@payloadcms/richtext-lexical/client#TestRecorderFeatureClient'
5
+ },
6
+ key: 'testRecorder'
7
7
  });
8
+
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createServerFeature","TestRecorderFeature","feature","ClientFeature","key"],"sources":["../../../../../src/features/debug/testRecorder/server/index.ts"],"sourcesContent":["import { createServerFeature } from '../../../../utilities/createServerFeature.js'\n\nexport const TestRecorderFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#TestRecorderFeatureClient',\n },\n key: 'testRecorder',\n})\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,mBAAA,GAAsBD,mBAAA,CAAoB;EACrDE,OAAA,EAAS;IACPC,aAAA,EAAe;EACjB;EACAC,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../../src/features/debug/testRecorder/server/index.ts"],"sourcesContent":["import { createServerFeature } from '../../../../utilities/createServerFeature.js'\n\nexport const TestRecorderFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#TestRecorderFeatureClient',\n },\n key: 'testRecorder',\n})\n"],"names":["createServerFeature","TestRecorderFeature","feature","ClientFeature","key"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,+CAA8C;AAElF,OAAO,MAAMC,sBAAsBD,oBAAoB;IACrDE,SAAS;QACPC,eAAe;IACjB;IACAC,KAAK;AACP,GAAE"}
@@ -1,11 +1,13 @@
1
1
  'use client';
2
-
3
2
  import { createClientFeature } from '../../../../utilities/createClientFeature.js';
4
3
  import { TreeViewPlugin } from './plugin/index.js';
5
4
  export const TreeViewFeatureClient = createClientFeature({
6
- plugins: [{
7
- Component: TreeViewPlugin,
8
- position: 'bottom'
9
- }]
5
+ plugins: [
6
+ {
7
+ Component: TreeViewPlugin,
8
+ position: 'bottom'
9
+ }
10
+ ]
10
11
  });
12
+
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createClientFeature","TreeViewPlugin","TreeViewFeatureClient","plugins","Component","position"],"sources":["../../../../../src/features/debug/treeView/client/index.tsx"],"sourcesContent":["'use client'\n\nimport { createClientFeature } from '../../../../utilities/createClientFeature.js'\nimport { TreeViewPlugin } from './plugin/index.js'\n\nexport const TreeViewFeatureClient = createClientFeature({\n plugins: [\n {\n Component: TreeViewPlugin,\n position: 'bottom',\n },\n ],\n})\n"],"mappings":"AAAA;;AAEA,SAASA,mBAAmB,QAAQ;AACpC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,qBAAA,GAAwBF,mBAAA,CAAoB;EACvDG,OAAA,EAAS,CACP;IACEC,SAAA,EAAWH,cAAA;IACXI,QAAA,EAAU;EACZ;AAEJ","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../../src/features/debug/treeView/client/index.tsx"],"sourcesContent":["'use client'\n\nimport { createClientFeature } from '../../../../utilities/createClientFeature.js'\nimport { TreeViewPlugin } from './plugin/index.js'\n\nexport const TreeViewFeatureClient = createClientFeature({\n plugins: [\n {\n Component: TreeViewPlugin,\n position: 'bottom',\n },\n ],\n})\n"],"names":["createClientFeature","TreeViewPlugin","TreeViewFeatureClient","plugins","Component","position"],"mappings":"AAAA;AAEA,SAASA,mBAAmB,QAAQ,+CAA8C;AAClF,SAASC,cAAc,QAAQ,oBAAmB;AAElD,OAAO,MAAMC,wBAAwBF,oBAAoB;IACvDG,SAAS;QACP;YACEC,WAAWH;YACXI,UAAU;QACZ;KACD;AACH,GAAE"}
@@ -1,29 +1,24 @@
1
1
  'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
5
3
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
6
4
  import { TreeView } from '@lexical/react/LexicalTreeView.js';
7
5
  import * as React from 'react';
8
- export const TreeViewPlugin = () => {
9
- const $ = _c(2);
10
- const [editor] = useLexicalComposerContext();
11
- let t0;
12
- if ($[0] !== editor) {
13
- t0 = _jsx(TreeView, {
14
- editor,
15
- timeTravelButtonClassName: "debug-timetravel-button",
16
- timeTravelPanelButtonClassName: "debug-timetravel-panel-button",
17
- timeTravelPanelClassName: "debug-timetravel-panel",
18
- timeTravelPanelSliderClassName: "debug-timetravel-panel-slider",
19
- treeTypeButtonClassName: "debug-treetype-button",
20
- viewClassName: "tree-view-output"
21
- });
22
- $[0] = editor;
23
- $[1] = t0;
24
- } else {
25
- t0 = $[1];
26
- }
27
- return t0;
6
+ import './index.scss';
7
+ export const TreeViewPlugin = ()=>{
8
+ const [editor] = useLexicalComposerContext();
9
+ return /*#__PURE__*/ _jsxDEV(TreeView, {
10
+ editor: editor,
11
+ timeTravelButtonClassName: "debug-timetravel-button",
12
+ timeTravelPanelButtonClassName: "debug-timetravel-panel-button",
13
+ timeTravelPanelClassName: "debug-timetravel-panel",
14
+ timeTravelPanelSliderClassName: "debug-timetravel-panel-slider",
15
+ treeTypeButtonClassName: "debug-treetype-button",
16
+ viewClassName: "tree-view-output"
17
+ }, void 0, false, {
18
+ fileName: "src/features/debug/treeView/client/plugin/index.tsx",
19
+ lineNumber: 13,
20
+ columnNumber: 5
21
+ }, this);
28
22
  };
23
+
29
24
  //# sourceMappingURL=index.js.map
@@ -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.scss'\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;AAMvB,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,"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.scss'\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"],"names":["useLexicalComposerContext","TreeView","React","TreeViewPlugin","editor","timeTravelButtonClassName","timeTravelPanelButtonClassName","timeTravelPanelClassName","timeTravelPanelSliderClassName","treeTypeButtonClassName","viewClassName"],"mappings":"AAAA;;AACA,SAASA,yBAAyB,QAAQ,2CAA0C;AACpF,SAASC,QAAQ,QAAQ,oCAAmC;AAC5D,YAAYC,WAAW,QAAO;AAI9B,OAAO,eAAc;AAErB,OAAO,MAAMC,iBAA6C;IACxD,MAAM,CAACC,OAAO,GAAGJ;IACjB,qBACE,QAACC;QACCG,QAAQA;QACRC,2BAA0B;QAC1BC,gCAA+B;QAC/BC,0BAAyB;QACzBC,gCAA+B;QAC/BC,yBAAwB;QACxBC,eAAc;;;;;;AAGpB,EAAC"}
@@ -0,0 +1,80 @@
1
+ @layer payload-default {
2
+ .tree-view-output {
3
+ display: block;
4
+ background: #222;
5
+ color: #fff;
6
+ padding: 0;
7
+ font-size: 12px;
8
+ margin: 1px auto 10px auto;
9
+ position: relative;
10
+ overflow: hidden;
11
+ border-bottom-left-radius: 10px;
12
+ border-bottom-right-radius: 10px;
13
+
14
+ pre {
15
+ line-height: 1.1;
16
+ background: #222;
17
+ color: #fff;
18
+ margin: 0;
19
+ padding: 10px;
20
+ font-size: 12px;
21
+ overflow: auto;
22
+ max-height: 400px;
23
+ }
24
+
25
+ .debug-treetype-button {
26
+ border: 0;
27
+ padding: 0;
28
+ font-size: 12px;
29
+ top: 10px;
30
+ right: 85px;
31
+ position: absolute;
32
+ background: none;
33
+ color: #fff;
34
+
35
+ &:hover {
36
+ text-decoration: underline;
37
+ }
38
+ }
39
+
40
+ .debug-timetravel-button {
41
+ border: 0;
42
+ padding: 0;
43
+ font-size: 12px;
44
+ top: 10px;
45
+ right: 15px;
46
+ position: absolute;
47
+ background: none;
48
+ color: #fff;
49
+
50
+ &:hover {
51
+ text-decoration: underline;
52
+ }
53
+ }
54
+
55
+ .debug-timetravel-panel {
56
+ overflow: hidden;
57
+ padding: 0 0 10px;
58
+ margin: auto;
59
+ display: flex;
60
+
61
+ &-button {
62
+ padding: 0;
63
+ border: 0;
64
+ background: none;
65
+ flex: 1;
66
+ color: #fff;
67
+ font-size: 12px;
68
+
69
+ &:hover {
70
+ text-decoration: underline;
71
+ }
72
+ }
73
+
74
+ &-slider {
75
+ padding: 0;
76
+ flex: 8;
77
+ }
78
+ }
79
+ }
80
+ }
@@ -1,8 +1,9 @@
1
1
  import { createServerFeature } from '../../../../utilities/createServerFeature.js';
2
2
  export const TreeViewFeature = createServerFeature({
3
- feature: {
4
- ClientFeature: '@payloadcms/richtext-lexical/client#TreeViewFeatureClient'
5
- },
6
- key: 'treeView'
3
+ feature: {
4
+ ClientFeature: '@payloadcms/richtext-lexical/client#TreeViewFeatureClient'
5
+ },
6
+ key: 'treeView'
7
7
  });
8
+
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createServerFeature","TreeViewFeature","feature","ClientFeature","key"],"sources":["../../../../../src/features/debug/treeView/server/index.ts"],"sourcesContent":["import { createServerFeature } from '../../../../utilities/createServerFeature.js'\n\nexport const TreeViewFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#TreeViewFeatureClient',\n },\n key: 'treeView',\n})\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,eAAA,GAAkBD,mBAAA,CAAoB;EACjDE,OAAA,EAAS;IACPC,aAAA,EAAe;EACjB;EACAC,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../../src/features/debug/treeView/server/index.ts"],"sourcesContent":["import { createServerFeature } from '../../../../utilities/createServerFeature.js'\n\nexport const TreeViewFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#TreeViewFeatureClient',\n },\n key: 'treeView',\n})\n"],"names":["createServerFeature","TreeViewFeature","feature","ClientFeature","key"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,+CAA8C;AAElF,OAAO,MAAMC,kBAAkBD,oBAAoB;IACjDE,SAAS;QACPC,eAAe;IACjB;IACAC,KAAK;AACP,GAAE"}
@@ -1,5 +1,4 @@
1
1
  'use client';
2
-
3
2
  import { TableCellNode, TableNode, TableRowNode } from '@lexical/table';
4
3
  import { TableIcon } from '../../../lexical/ui/icons/Table/index.js';
5
4
  import { createClientFeature } from '../../../utilities/createClientFeature.js';
@@ -11,46 +10,66 @@ import { TableCellResizerPlugin } from './plugins/TableCellResizerPlugin/index.j
11
10
  import { TableHoverActionsPlugin } from './plugins/TableHoverActionsPlugin/index.js';
12
11
  import { OPEN_TABLE_DRAWER_COMMAND, TableContext, TablePlugin } from './plugins/TablePlugin/index.js';
13
12
  export const TableFeatureClient = createClientFeature({
14
- markdownTransformers: [TableMarkdownTransformer],
15
- nodes: [TableNode, TableCellNode, TableRowNode],
16
- plugins: [{
17
- Component: TablePlugin,
18
- position: 'normal'
19
- }, {
20
- Component: TableCellResizerPlugin,
21
- position: 'normal'
22
- }, {
23
- Component: TableActionMenuPlugin,
24
- position: 'floatingAnchorElem'
25
- }, {
26
- Component: TableHoverActionsPlugin,
27
- position: 'floatingAnchorElem'
28
- }],
29
- providers: [TableContext],
30
- slashMenu: {
31
- groups: [slashMenuBasicGroupWithItems([{
32
- Icon: TableIcon,
33
- key: 'table',
34
- keywords: ['table'],
35
- label: 'Table',
36
- onSelect: ({
37
- editor
38
- }) => {
39
- editor.dispatchCommand(OPEN_TABLE_DRAWER_COMMAND, {});
40
- }
41
- }])]
42
- },
43
- toolbarFixed: {
44
- groups: [toolbarAddDropdownGroupWithItems([{
45
- ChildComponent: TableIcon,
46
- key: 'table',
47
- label: 'Table',
48
- onSelect: ({
49
- editor
50
- }) => {
51
- editor.dispatchCommand(OPEN_TABLE_DRAWER_COMMAND, {});
52
- }
53
- }])]
54
- }
13
+ markdownTransformers: [
14
+ TableMarkdownTransformer
15
+ ],
16
+ nodes: [
17
+ TableNode,
18
+ TableCellNode,
19
+ TableRowNode
20
+ ],
21
+ plugins: [
22
+ {
23
+ Component: TablePlugin,
24
+ position: 'normal'
25
+ },
26
+ {
27
+ Component: TableCellResizerPlugin,
28
+ position: 'normal'
29
+ },
30
+ {
31
+ Component: TableActionMenuPlugin,
32
+ position: 'floatingAnchorElem'
33
+ },
34
+ {
35
+ Component: TableHoverActionsPlugin,
36
+ position: 'floatingAnchorElem'
37
+ }
38
+ ],
39
+ providers: [
40
+ TableContext
41
+ ],
42
+ slashMenu: {
43
+ groups: [
44
+ slashMenuBasicGroupWithItems([
45
+ {
46
+ Icon: TableIcon,
47
+ key: 'table',
48
+ keywords: [
49
+ 'table'
50
+ ],
51
+ label: 'Table',
52
+ onSelect: ({ editor })=>{
53
+ editor.dispatchCommand(OPEN_TABLE_DRAWER_COMMAND, {});
54
+ }
55
+ }
56
+ ])
57
+ ]
58
+ },
59
+ toolbarFixed: {
60
+ groups: [
61
+ toolbarAddDropdownGroupWithItems([
62
+ {
63
+ ChildComponent: TableIcon,
64
+ key: 'table',
65
+ label: 'Table',
66
+ onSelect: ({ editor })=>{
67
+ editor.dispatchCommand(OPEN_TABLE_DRAWER_COMMAND, {});
68
+ }
69
+ }
70
+ ])
71
+ ]
72
+ }
55
73
  });
74
+
56
75
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["TableCellNode","TableNode","TableRowNode","TableIcon","createClientFeature","slashMenuBasicGroupWithItems","toolbarAddDropdownGroupWithItems","TableMarkdownTransformer","TableActionMenuPlugin","TableCellResizerPlugin","TableHoverActionsPlugin","OPEN_TABLE_DRAWER_COMMAND","TableContext","TablePlugin","TableFeatureClient","markdownTransformers","nodes","plugins","Component","position","providers","slashMenu","groups","Icon","key","keywords","label","onSelect","editor","dispatchCommand","toolbarFixed","ChildComponent"],"sources":["../../../../src/features/experimental_table/client/index.ts"],"sourcesContent":["'use client'\n\nimport { TableCellNode, TableNode, TableRowNode } from '@lexical/table'\n\nimport { TableIcon } from '../../../lexical/ui/icons/Table/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js'\nimport { toolbarAddDropdownGroupWithItems } from '../../shared/toolbar/addDropdownGroup.js'\nimport { TableMarkdownTransformer } from '../markdownTransformer.js'\nimport { TableActionMenuPlugin } from './plugins/TableActionMenuPlugin/index.js'\nimport { TableCellResizerPlugin } from './plugins/TableCellResizerPlugin/index.js'\nimport { TableHoverActionsPlugin } from './plugins/TableHoverActionsPlugin/index.js'\nimport {\n OPEN_TABLE_DRAWER_COMMAND,\n TableContext,\n TablePlugin,\n} from './plugins/TablePlugin/index.js'\n\nexport const TableFeatureClient = createClientFeature({\n markdownTransformers: [TableMarkdownTransformer],\n nodes: [TableNode, TableCellNode, TableRowNode],\n plugins: [\n {\n Component: TablePlugin,\n position: 'normal',\n },\n {\n Component: TableCellResizerPlugin,\n position: 'normal',\n },\n {\n Component: TableActionMenuPlugin,\n position: 'floatingAnchorElem',\n },\n {\n Component: TableHoverActionsPlugin,\n position: 'floatingAnchorElem',\n },\n ],\n providers: [TableContext],\n slashMenu: {\n groups: [\n slashMenuBasicGroupWithItems([\n {\n Icon: TableIcon,\n key: 'table',\n keywords: ['table'],\n label: 'Table',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_TABLE_DRAWER_COMMAND, {})\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: [\n toolbarAddDropdownGroupWithItems([\n {\n ChildComponent: TableIcon,\n key: 'table',\n label: 'Table',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_TABLE_DRAWER_COMMAND, {})\n },\n },\n ]),\n ],\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,aAAa,EAAEC,SAAS,EAAEC,YAAY,QAAQ;AAEvD,SAASC,SAAS,QAAQ;AAC1B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,gCAAgC,QAAQ;AACjD,SAASC,wBAAwB,QAAQ;AACzC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,uBAAuB,QAAQ;AACxC,SACEC,yBAAyB,EACzBC,YAAY,EACZC,WAAW,QACN;AAEP,OAAO,MAAMC,kBAAA,GAAqBV,mBAAA,CAAoB;EACpDW,oBAAA,EAAsB,CAACR,wBAAA,CAAyB;EAChDS,KAAA,EAAO,CAACf,SAAA,EAAWD,aAAA,EAAeE,YAAA,CAAa;EAC/Ce,OAAA,EAAS,CACP;IACEC,SAAA,EAAWL,WAAA;IACXM,QAAA,EAAU;EACZ,GACA;IACED,SAAA,EAAWT,sBAAA;IACXU,QAAA,EAAU;EACZ,GACA;IACED,SAAA,EAAWV,qBAAA;IACXW,QAAA,EAAU;EACZ,GACA;IACED,SAAA,EAAWR,uBAAA;IACXS,QAAA,EAAU;EACZ,EACD;EACDC,SAAA,EAAW,CAACR,YAAA,CAAa;EACzBS,SAAA,EAAW;IACTC,MAAA,EAAQ,CACNjB,4BAAA,CAA6B,CAC3B;MACEkB,IAAA,EAAMpB,SAAA;MACNqB,GAAA,EAAK;MACLC,QAAA,EAAU,CAAC,QAAQ;MACnBC,KAAA,EAAO;MACPC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAAClB,yBAAA,EAA2B,CAAC;MACrD;IACF,EACD;EAEL;EACAmB,YAAA,EAAc;IACZR,MAAA,EAAQ,CACNhB,gCAAA,CAAiC,CAC/B;MACEyB,cAAA,EAAgB5B,SAAA;MAChBqB,GAAA,EAAK;MACLE,KAAA,EAAO;MACPC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAAClB,yBAAA,EAA2B,CAAC;MACrD;IACF,EACD;EAEL;AACF","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../src/features/experimental_table/client/index.ts"],"sourcesContent":["'use client'\n\nimport { TableCellNode, TableNode, TableRowNode } from '@lexical/table'\n\nimport { TableIcon } from '../../../lexical/ui/icons/Table/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js'\nimport { toolbarAddDropdownGroupWithItems } from '../../shared/toolbar/addDropdownGroup.js'\nimport { TableMarkdownTransformer } from '../markdownTransformer.js'\nimport { TableActionMenuPlugin } from './plugins/TableActionMenuPlugin/index.js'\nimport { TableCellResizerPlugin } from './plugins/TableCellResizerPlugin/index.js'\nimport { TableHoverActionsPlugin } from './plugins/TableHoverActionsPlugin/index.js'\nimport {\n OPEN_TABLE_DRAWER_COMMAND,\n TableContext,\n TablePlugin,\n} from './plugins/TablePlugin/index.js'\n\nexport const TableFeatureClient = createClientFeature({\n markdownTransformers: [TableMarkdownTransformer],\n nodes: [TableNode, TableCellNode, TableRowNode],\n plugins: [\n {\n Component: TablePlugin,\n position: 'normal',\n },\n {\n Component: TableCellResizerPlugin,\n position: 'normal',\n },\n {\n Component: TableActionMenuPlugin,\n position: 'floatingAnchorElem',\n },\n {\n Component: TableHoverActionsPlugin,\n position: 'floatingAnchorElem',\n },\n ],\n providers: [TableContext],\n slashMenu: {\n groups: [\n slashMenuBasicGroupWithItems([\n {\n Icon: TableIcon,\n key: 'table',\n keywords: ['table'],\n label: 'Table',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_TABLE_DRAWER_COMMAND, {})\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: [\n toolbarAddDropdownGroupWithItems([\n {\n ChildComponent: TableIcon,\n key: 'table',\n label: 'Table',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_TABLE_DRAWER_COMMAND, {})\n },\n },\n ]),\n ],\n },\n})\n"],"names":["TableCellNode","TableNode","TableRowNode","TableIcon","createClientFeature","slashMenuBasicGroupWithItems","toolbarAddDropdownGroupWithItems","TableMarkdownTransformer","TableActionMenuPlugin","TableCellResizerPlugin","TableHoverActionsPlugin","OPEN_TABLE_DRAWER_COMMAND","TableContext","TablePlugin","TableFeatureClient","markdownTransformers","nodes","plugins","Component","position","providers","slashMenu","groups","Icon","key","keywords","label","onSelect","editor","dispatchCommand","toolbarFixed","ChildComponent"],"mappings":"AAAA;AAEA,SAASA,aAAa,EAAEC,SAAS,EAAEC,YAAY,QAAQ,iBAAgB;AAEvE,SAASC,SAAS,QAAQ,2CAA0C;AACpE,SAASC,mBAAmB,QAAQ,4CAA2C;AAC/E,SAASC,4BAA4B,QAAQ,uCAAsC;AACnF,SAASC,gCAAgC,QAAQ,2CAA0C;AAC3F,SAASC,wBAAwB,QAAQ,4BAA2B;AACpE,SAASC,qBAAqB,QAAQ,2CAA0C;AAChF,SAASC,sBAAsB,QAAQ,4CAA2C;AAClF,SAASC,uBAAuB,QAAQ,6CAA4C;AACpF,SACEC,yBAAyB,EACzBC,YAAY,EACZC,WAAW,QACN,iCAAgC;AAEvC,OAAO,MAAMC,qBAAqBV,oBAAoB;IACpDW,sBAAsB;QAACR;KAAyB;IAChDS,OAAO;QAACf;QAAWD;QAAeE;KAAa;IAC/Ce,SAAS;QACP;YACEC,WAAWL;YACXM,UAAU;QACZ;QACA;YACED,WAAWT;YACXU,UAAU;QACZ;QACA;YACED,WAAWV;YACXW,UAAU;QACZ;QACA;YACED,WAAWR;YACXS,UAAU;QACZ;KACD;IACDC,WAAW;QAACR;KAAa;IACzBS,WAAW;QACTC,QAAQ;YACNjB,6BAA6B;gBAC3B;oBACEkB,MAAMpB;oBACNqB,KAAK;oBACLC,UAAU;wBAAC;qBAAQ;oBACnBC,OAAO;oBACPC,UAAU,CAAC,EAAEC,MAAM,EAAE;wBACnBA,OAAOC,eAAe,CAAClB,2BAA2B,CAAC;oBACrD;gBACF;aACD;SACF;IACH;IACAmB,cAAc;QACZR,QAAQ;YACNhB,iCAAiC;gBAC/B;oBACEyB,gBAAgB5B;oBAChBqB,KAAK;oBACLE,OAAO;oBACPC,UAAU,CAAC,EAAEC,MAAM,EAAE;wBACnBA,OAAOC,eAAe,CAAClB,2BAA2B,CAAC;oBACrD;gBACF;aACD;SACF;IACH;AACF,GAAE"}