@payloadcms/richtext-lexical 3.71.0-internal-debug.80dab4c → 3.71.0-internal.27e1e08

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 (1047) hide show
  1. package/dist/cell/rscEntry.js +72 -74
  2. package/dist/cell/rscEntry.js.map +1 -1
  3. package/dist/dependencyChecker.spec.js +7 -8
  4. package/dist/dependencyChecker.spec.js.map +1 -1
  5. package/dist/exports/client/Component-DOSSWC76.js +2 -0
  6. package/dist/exports/client/Component-DOSSWC76.js.map +7 -0
  7. package/dist/exports/client/Component-MBLHTKDK.js +2 -0
  8. package/dist/exports/client/Component-MBLHTKDK.js.map +7 -0
  9. package/dist/exports/client/Field-2A2VQXKP.js +2 -0
  10. package/dist/exports/client/Field-2A2VQXKP.js.map +7 -0
  11. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js +2 -0
  12. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js.map +7 -0
  13. package/dist/exports/client/bundled.css +1 -0
  14. package/dist/exports/client/chunk-AFXLIYGL.js +12 -0
  15. package/dist/exports/client/chunk-AFXLIYGL.js.map +7 -0
  16. package/dist/exports/client/chunk-BZZVLW4U.js +2 -0
  17. package/dist/exports/client/chunk-BZZVLW4U.js.map +7 -0
  18. package/dist/exports/client/chunk-DBWINSQN.js +2 -0
  19. package/dist/exports/client/chunk-DBWINSQN.js.map +7 -0
  20. package/dist/exports/client/chunk-F26IQ5RE.js +2 -0
  21. package/dist/exports/client/chunk-F26IQ5RE.js.map +7 -0
  22. package/dist/exports/client/chunk-INBEEENE.js +2 -0
  23. package/dist/exports/client/chunk-INBEEENE.js.map +7 -0
  24. package/dist/exports/client/chunk-O6XRT2H3.js +2 -0
  25. package/dist/exports/client/chunk-O6XRT2H3.js.map +7 -0
  26. package/dist/exports/client/chunk-TRHFMZ3F.js +2 -0
  27. package/dist/exports/client/chunk-TRHFMZ3F.js.map +7 -0
  28. package/dist/exports/client/component-YQ22OGQW.js +2 -0
  29. package/dist/exports/client/component-YQ22OGQW.js.map +7 -0
  30. package/dist/exports/client/componentInline-5OVPQNQH.js +2 -0
  31. package/dist/exports/client/componentInline-5OVPQNQH.js.map +7 -0
  32. package/dist/exports/client/index.js +65 -85
  33. package/dist/exports/client/index.js.map +7 -1
  34. package/dist/exports/cssEntry.js +0 -1
  35. package/dist/exports/cssEntry.js.map +1 -1
  36. package/dist/exports/html/index.js +0 -1
  37. package/dist/exports/html/index.js.map +1 -1
  38. package/dist/exports/html-async/index.js +0 -1
  39. package/dist/exports/html-async/index.js.map +1 -1
  40. package/dist/exports/plaintext/index.js +0 -1
  41. package/dist/exports/plaintext/index.js.map +1 -1
  42. package/dist/exports/react/index.js +0 -1
  43. package/dist/exports/react/index.js.map +1 -1
  44. package/dist/exports/server/ast/mdx.js +35 -37
  45. package/dist/exports/server/ast/mdx.js.map +1 -1
  46. package/dist/exports/server/migrate.js +0 -1
  47. package/dist/exports/server/migrate.js.map +1 -1
  48. package/dist/exports/server/rsc.js +0 -1
  49. package/dist/exports/server/rsc.js.map +1 -1
  50. package/dist/exports/shared.js +0 -1
  51. package/dist/exports/shared.js.map +1 -1
  52. package/dist/features/align/client/index.js +195 -168
  53. package/dist/features/align/client/index.js.map +1 -1
  54. package/dist/features/align/client/toolbarAlignGroup.js +9 -9
  55. package/dist/features/align/client/toolbarAlignGroup.js.map +1 -1
  56. package/dist/features/align/server/i18n.js +222 -223
  57. package/dist/features/align/server/i18n.js.map +1 -1
  58. package/dist/features/align/server/index.js +5 -6
  59. package/dist/features/align/server/index.js.map +1 -1
  60. package/dist/features/blockquote/client/index.js +60 -65
  61. package/dist/features/blockquote/client/index.js.map +1 -1
  62. package/dist/features/blockquote/markdownTransformer.js +28 -33
  63. package/dist/features/blockquote/markdownTransformer.js.map +1 -1
  64. package/dist/features/blockquote/server/i18n.js +111 -112
  65. package/dist/features/blockquote/server/i18n.js.map +1 -1
  66. package/dist/features/blockquote/server/index.js +48 -47
  67. package/dist/features/blockquote/server/index.js.map +1 -1
  68. package/dist/features/blocks/client/component/BlockContent.js +69 -95
  69. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  70. package/dist/features/blocks/client/component/components/BlockCollapsible.js +14 -13
  71. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -1
  72. package/dist/features/blocks/client/component/components/BlockEditButton.js +17 -9
  73. package/dist/features/blocks/client/component/components/BlockEditButton.js.map +1 -1
  74. package/dist/features/blocks/client/component/components/BlockRemoveButton.js +17 -9
  75. package/dist/features/blocks/client/component/components/BlockRemoveButton.js.map +1 -1
  76. package/dist/features/blocks/client/component/index.js +410 -553
  77. package/dist/features/blocks/client/component/index.js.map +1 -1
  78. package/dist/features/blocks/client/component/removeEmptyArrayValues.js +11 -8
  79. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +1 -1
  80. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js +23 -11
  81. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -1
  82. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js +17 -9
  83. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js.map +1 -1
  84. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js +17 -9
  85. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js.map +1 -1
  86. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js +17 -9
  87. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js.map +1 -1
  88. package/dist/features/blocks/client/componentInline/index.js +340 -468
  89. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  90. package/dist/features/blocks/client/getBlockImageComponent.js +12 -17
  91. package/dist/features/blocks/client/getBlockImageComponent.js.map +1 -1
  92. package/dist/features/blocks/client/index.js +146 -141
  93. package/dist/features/blocks/client/index.js.map +1 -1
  94. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +18 -18
  95. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  96. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +15 -14
  97. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  98. package/dist/features/blocks/client/markdown/markdownTransformer.js +330 -328
  99. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  100. package/dist/features/blocks/client/nodes/BlocksNode.js +40 -44
  101. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  102. package/dist/features/blocks/client/nodes/InlineBlocksNode.js +33 -37
  103. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
  104. package/dist/features/blocks/client/plugin/commands.js +1 -1
  105. package/dist/features/blocks/client/plugin/commands.js.map +1 -1
  106. package/dist/features/blocks/client/plugin/index.js +87 -59
  107. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  108. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +101 -158
  109. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  110. package/dist/features/blocks/premade/CodeBlock/Component/Code.js +93 -119
  111. package/dist/features/blocks/premade/CodeBlock/Component/Code.js.map +1 -1
  112. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js +11 -19
  113. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js.map +1 -1
  114. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js +20 -32
  115. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js.map +1 -1
  116. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js +83 -84
  117. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js.map +1 -1
  118. package/dist/features/blocks/premade/CodeBlock/converter.js +40 -36
  119. package/dist/features/blocks/premade/CodeBlock/converter.js.map +1 -1
  120. package/dist/features/blocks/premade/CodeBlock/converterClient.js +1 -1
  121. package/dist/features/blocks/premade/CodeBlock/converterClient.js.map +1 -1
  122. package/dist/features/blocks/premade/CodeBlock/index.js +49 -49
  123. package/dist/features/blocks/premade/CodeBlock/index.js.map +1 -1
  124. package/dist/features/blocks/server/graphQLPopulationPromise.js +44 -29
  125. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  126. package/dist/features/blocks/server/i18n.js +333 -334
  127. package/dist/features/blocks/server/i18n.js.map +1 -1
  128. package/dist/features/blocks/server/index.js +218 -238
  129. package/dist/features/blocks/server/index.js.map +1 -1
  130. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js +122 -123
  131. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js.map +1 -1
  132. package/dist/features/blocks/server/markdown/markdownTransformer.js +349 -347
  133. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  134. package/dist/features/blocks/server/nodes/BlocksNode.js +90 -86
  135. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  136. package/dist/features/blocks/server/nodes/InlineBlocksNode.js +87 -84
  137. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  138. package/dist/features/blocks/server/validate.js +55 -42
  139. package/dist/features/blocks/server/validate.js.map +1 -1
  140. package/dist/features/converters/htmlToLexical/index.js +24 -21
  141. package/dist/features/converters/htmlToLexical/index.js.map +1 -1
  142. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js +10 -7
  143. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js.map +1 -1
  144. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +10 -7
  145. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  146. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js +1 -2
  147. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js.map +1 -1
  148. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js +1 -2
  149. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js.map +1 -1
  150. package/dist/features/converters/lexicalToHtml/async/converters/link.js +37 -28
  151. package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +1 -1
  152. package/dist/features/converters/lexicalToHtml/async/converters/list.js +26 -18
  153. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  154. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js +12 -9
  155. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js.map +1 -1
  156. package/dist/features/converters/lexicalToHtml/async/converters/tab.js +1 -2
  157. package/dist/features/converters/lexicalToHtml/async/converters/tab.js.map +1 -1
  158. package/dist/features/converters/lexicalToHtml/async/converters/table.js +38 -27
  159. package/dist/features/converters/lexicalToHtml/async/converters/table.js.map +1 -1
  160. package/dist/features/converters/lexicalToHtml/async/converters/text.js +26 -25
  161. package/dist/features/converters/lexicalToHtml/async/converters/text.js.map +1 -1
  162. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +44 -41
  163. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  164. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js +11 -12
  165. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +1 -1
  166. package/dist/features/converters/lexicalToHtml/async/field/index.js +56 -56
  167. package/dist/features/converters/lexicalToHtml/async/field/index.js.map +1 -1
  168. package/dist/features/converters/lexicalToHtml/async/index.js +97 -87
  169. package/dist/features/converters/lexicalToHtml/async/index.js.map +1 -1
  170. package/dist/features/converters/lexicalToHtml/async/types.js +1 -4
  171. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  172. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +62 -57
  173. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  174. package/dist/features/converters/lexicalToHtml/shared/types.js +1 -2
  175. package/dist/features/converters/lexicalToHtml/shared/types.js.map +1 -1
  176. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js +10 -7
  177. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +1 -1
  178. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +10 -7
  179. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  180. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js +1 -2
  181. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +1 -1
  182. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js +1 -2
  183. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +1 -1
  184. package/dist/features/converters/lexicalToHtml/sync/converters/link.js +35 -27
  185. package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +1 -1
  186. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +26 -18
  187. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  188. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js +12 -9
  189. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +1 -1
  190. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js +1 -2
  191. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +1 -1
  192. package/dist/features/converters/lexicalToHtml/sync/converters/table.js +38 -27
  193. package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +1 -1
  194. package/dist/features/converters/lexicalToHtml/sync/converters/text.js +26 -25
  195. package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +1 -1
  196. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +37 -35
  197. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  198. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js +11 -12
  199. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js.map +1 -1
  200. package/dist/features/converters/lexicalToHtml/sync/index.js +92 -84
  201. package/dist/features/converters/lexicalToHtml/sync/index.js.map +1 -1
  202. package/dist/features/converters/lexicalToHtml/sync/types.js +1 -4
  203. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  204. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js +4 -7
  205. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js.map +1 -1
  206. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js +34 -29
  207. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js.map +1 -1
  208. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js +6 -7
  209. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js.map +1 -1
  210. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js +28 -29
  211. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js.map +1 -1
  212. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js +2 -7
  213. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js.map +1 -1
  214. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js +84 -84
  215. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js.map +1 -1
  216. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js +1 -6
  217. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js.map +1 -1
  218. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js +107 -107
  219. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js.map +1 -1
  220. package/dist/features/converters/lexicalToHtml_deprecated/index.js +4 -4
  221. package/dist/features/converters/lexicalToHtml_deprecated/index.js.map +1 -1
  222. package/dist/features/converters/lexicalToJSX/Component/index.js +36 -46
  223. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  224. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js +12 -14
  225. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js.map +1 -1
  226. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +13 -15
  227. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  228. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js +2 -7
  229. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js.map +1 -1
  230. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js +2 -7
  231. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js.map +1 -1
  232. package/dist/features/converters/lexicalToJSX/converter/converters/link.js +47 -49
  233. package/dist/features/converters/lexicalToJSX/converter/converters/link.js.map +1 -1
  234. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +56 -78
  235. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  236. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js +16 -26
  237. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js.map +1 -1
  238. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js +1 -2
  239. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js.map +1 -1
  240. package/dist/features/converters/lexicalToJSX/converter/converters/table.js +59 -73
  241. package/dist/features/converters/lexicalToJSX/converter/converters/table.js.map +1 -1
  242. package/dist/features/converters/lexicalToJSX/converter/converters/text.js +47 -74
  243. package/dist/features/converters/lexicalToJSX/converter/converters/text.js.map +1 -1
  244. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +61 -77
  245. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  246. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js +11 -12
  247. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +1 -1
  248. package/dist/features/converters/lexicalToJSX/converter/index.js +128 -123
  249. package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -1
  250. package/dist/features/converters/lexicalToJSX/converter/types.js +1 -4
  251. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  252. package/dist/features/converters/lexicalToMarkdown/index.js +19 -17
  253. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  254. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +146 -223
  255. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +1 -1
  256. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js +13 -11
  257. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +1 -1
  258. package/dist/features/converters/lexicalToPlaintext/shared/types.js +1 -2
  259. package/dist/features/converters/lexicalToPlaintext/shared/types.js.map +1 -1
  260. package/dist/features/converters/lexicalToPlaintext/sync/index.js +82 -83
  261. package/dist/features/converters/lexicalToPlaintext/sync/index.js.map +1 -1
  262. package/dist/features/converters/lexicalToPlaintext/sync/types.js +1 -3
  263. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  264. package/dist/features/converters/markdownToLexical/index.js +16 -14
  265. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  266. package/dist/features/converters/utilities/payloadPopulateFn.js +38 -37
  267. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  268. package/dist/features/converters/utilities/restPopulateFn.js +30 -24
  269. package/dist/features/converters/utilities/restPopulateFn.js.map +1 -1
  270. package/dist/features/debug/jsxConverter/client/index.js +5 -7
  271. package/dist/features/debug/jsxConverter/client/index.js.map +1 -1
  272. package/dist/features/debug/jsxConverter/client/plugin/index.js +47 -27
  273. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  274. package/dist/features/debug/jsxConverter/server/index.js +4 -5
  275. package/dist/features/debug/jsxConverter/server/index.js.map +1 -1
  276. package/dist/features/debug/testRecorder/client/index.js +5 -7
  277. package/dist/features/debug/testRecorder/client/index.js.map +1 -1
  278. package/dist/features/debug/testRecorder/client/plugin/index.js +365 -456
  279. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  280. package/dist/features/debug/testRecorder/server/index.js +4 -5
  281. package/dist/features/debug/testRecorder/server/index.js.map +1 -1
  282. package/dist/features/debug/treeView/client/index.js +5 -7
  283. package/dist/features/debug/treeView/client/index.js.map +1 -1
  284. package/dist/features/debug/treeView/client/plugin/index.js +23 -18
  285. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -1
  286. package/dist/features/debug/treeView/server/index.js +4 -5
  287. package/dist/features/debug/treeView/server/index.js.map +1 -1
  288. package/dist/features/experimental_table/client/index.js +42 -61
  289. package/dist/features/experimental_table/client/index.js.map +1 -1
  290. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +517 -752
  291. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  292. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +316 -350
  293. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  294. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +225 -215
  295. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  296. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +133 -104
  297. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
  298. package/dist/features/experimental_table/client/utils/debounce.js +107 -89
  299. package/dist/features/experimental_table/client/utils/debounce.js.map +1 -1
  300. package/dist/features/experimental_table/client/utils/useDebounce.js +39 -21
  301. package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
  302. package/dist/features/experimental_table/markdownTransformer.js +118 -123
  303. package/dist/features/experimental_table/markdownTransformer.js.map +1 -1
  304. package/dist/features/experimental_table/server/index.js +143 -125
  305. package/dist/features/experimental_table/server/index.js.map +1 -1
  306. package/dist/features/format/bold/feature.client.js +35 -38
  307. package/dist/features/format/bold/feature.client.js.map +1 -1
  308. package/dist/features/format/bold/feature.server.js +14 -18
  309. package/dist/features/format/bold/feature.server.js.map +1 -1
  310. package/dist/features/format/bold/markdownTransformers.js +14 -25
  311. package/dist/features/format/bold/markdownTransformers.js.map +1 -1
  312. package/dist/features/format/inlineCode/feature.client.js +27 -31
  313. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  314. package/dist/features/format/inlineCode/feature.server.js +5 -8
  315. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  316. package/dist/features/format/inlineCode/markdownTransformers.js +3 -6
  317. package/dist/features/format/inlineCode/markdownTransformers.js.map +1 -1
  318. package/dist/features/format/italic/feature.client.js +27 -32
  319. package/dist/features/format/italic/feature.client.js.map +1 -1
  320. package/dist/features/format/italic/feature.server.js +5 -9
  321. package/dist/features/format/italic/feature.server.js.map +1 -1
  322. package/dist/features/format/italic/markdownTransformers.js +7 -12
  323. package/dist/features/format/italic/markdownTransformers.js.map +1 -1
  324. package/dist/features/format/shared/toolbarFormatGroup.js +8 -8
  325. package/dist/features/format/shared/toolbarFormatGroup.js.map +1 -1
  326. package/dist/features/format/strikethrough/feature.client.js +27 -31
  327. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  328. package/dist/features/format/strikethrough/feature.server.js +5 -8
  329. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  330. package/dist/features/format/strikethrough/markdownTransformers.js +3 -6
  331. package/dist/features/format/strikethrough/markdownTransformers.js.map +1 -1
  332. package/dist/features/format/subscript/feature.client.js +26 -28
  333. package/dist/features/format/subscript/feature.client.js.map +1 -1
  334. package/dist/features/format/subscript/feature.server.js +4 -5
  335. package/dist/features/format/subscript/feature.server.js.map +1 -1
  336. package/dist/features/format/superscript/feature.client.js +26 -28
  337. package/dist/features/format/superscript/feature.client.js.map +1 -1
  338. package/dist/features/format/superscript/feature.server.js +4 -5
  339. package/dist/features/format/superscript/feature.server.js.map +1 -1
  340. package/dist/features/format/underline/feature.client.js +26 -28
  341. package/dist/features/format/underline/feature.client.js.map +1 -1
  342. package/dist/features/format/underline/feature.server.js +4 -5
  343. package/dist/features/format/underline/feature.server.js.map +1 -1
  344. package/dist/features/heading/client/index.js +142 -121
  345. package/dist/features/heading/client/index.js.map +1 -1
  346. package/dist/features/heading/markdownTransformer.js +22 -25
  347. package/dist/features/heading/markdownTransformer.js.map +1 -1
  348. package/dist/features/heading/server/i18n.js +111 -112
  349. package/dist/features/heading/server/i18n.js.map +1 -1
  350. package/dist/features/heading/server/index.js +60 -62
  351. package/dist/features/heading/server/index.js.map +1 -1
  352. package/dist/features/horizontalRule/client/index.js +48 -57
  353. package/dist/features/horizontalRule/client/index.js.map +1 -1
  354. package/dist/features/horizontalRule/client/markdownTransformer.js +15 -18
  355. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  356. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +27 -25
  357. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  358. package/dist/features/horizontalRule/client/plugin/index.js +32 -21
  359. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  360. package/dist/features/horizontalRule/server/i18n.js +111 -112
  361. package/dist/features/horizontalRule/server/i18n.js.map +1 -1
  362. package/dist/features/horizontalRule/server/index.js +17 -24
  363. package/dist/features/horizontalRule/server/index.js.map +1 -1
  364. package/dist/features/horizontalRule/server/markdownTransformer.js +15 -18
  365. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  366. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +72 -69
  367. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  368. package/dist/features/indent/client/IndentPlugin.js +78 -78
  369. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  370. package/dist/features/indent/client/index.js +77 -68
  371. package/dist/features/indent/client/index.js.map +1 -1
  372. package/dist/features/indent/client/toolbarIndentGroup.js +8 -8
  373. package/dist/features/indent/client/toolbarIndentGroup.js.map +1 -1
  374. package/dist/features/indent/server/i18n.js +148 -149
  375. package/dist/features/indent/server/i18n.js.map +1 -1
  376. package/dist/features/indent/server/index.js +11 -18
  377. package/dist/features/indent/server/index.js.map +1 -1
  378. package/dist/features/link/client/index.js +80 -83
  379. package/dist/features/link/client/index.js.map +1 -1
  380. package/dist/features/link/client/plugins/autoLink/index.js +273 -280
  381. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  382. package/dist/features/link/client/plugins/clickableLink/index.js +4 -8
  383. package/dist/features/link/client/plugins/clickableLink/index.js.map +1 -1
  384. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js +1 -1
  385. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
  386. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +297 -378
  387. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  388. package/dist/features/link/client/plugins/floatingLinkEditor/index.js +9 -12
  389. package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -1
  390. package/dist/features/link/client/plugins/floatingLinkEditor/types.js +1 -6
  391. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -1
  392. package/dist/features/link/client/plugins/link/index.js +68 -53
  393. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  394. package/dist/features/link/markdownTransformer.js +33 -34
  395. package/dist/features/link/markdownTransformer.js.map +1 -1
  396. package/dist/features/link/nodes/AutoLinkNode.js +58 -56
  397. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  398. package/dist/features/link/nodes/LinkNode.js +288 -286
  399. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  400. package/dist/features/link/nodes/types.js +1 -6
  401. package/dist/features/link/nodes/types.js.map +1 -1
  402. package/dist/features/link/server/baseFields.js +140 -115
  403. package/dist/features/link/server/baseFields.js.map +1 -1
  404. package/dist/features/link/server/graphQLPopulationPromise.js +45 -29
  405. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -1
  406. package/dist/features/link/server/i18n.js +148 -149
  407. package/dist/features/link/server/i18n.js.map +1 -1
  408. package/dist/features/link/server/index.js +143 -156
  409. package/dist/features/link/server/index.js.map +1 -1
  410. package/dist/features/link/server/transformExtraFields.js +15 -15
  411. package/dist/features/link/server/transformExtraFields.js.map +1 -1
  412. package/dist/features/link/server/validate.js +46 -35
  413. package/dist/features/link/server/validate.js.map +1 -1
  414. package/dist/features/lists/checklist/client/index.js +78 -86
  415. package/dist/features/lists/checklist/client/index.js.map +1 -1
  416. package/dist/features/lists/checklist/client/plugin/index.js +4 -8
  417. package/dist/features/lists/checklist/client/plugin/index.js.map +1 -1
  418. package/dist/features/lists/checklist/markdownTransformers.js +7 -11
  419. package/dist/features/lists/checklist/markdownTransformers.js.map +1 -1
  420. package/dist/features/lists/checklist/server/i18n.js +111 -112
  421. package/dist/features/lists/checklist/server/i18n.js.map +1 -1
  422. package/dist/features/lists/checklist/server/index.js +21 -26
  423. package/dist/features/lists/checklist/server/index.js.map +1 -1
  424. package/dist/features/lists/htmlConverter.js +62 -47
  425. package/dist/features/lists/htmlConverter.js.map +1 -1
  426. package/dist/features/lists/orderedList/client/index.js +72 -78
  427. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  428. package/dist/features/lists/orderedList/markdownTransformer.js +7 -11
  429. package/dist/features/lists/orderedList/markdownTransformer.js.map +1 -1
  430. package/dist/features/lists/orderedList/server/i18n.js +111 -112
  431. package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
  432. package/dist/features/lists/orderedList/server/index.js +21 -26
  433. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  434. package/dist/features/lists/plugin/index.js +4 -8
  435. package/dist/features/lists/plugin/index.js.map +1 -1
  436. package/dist/features/lists/shared/markdown.js +48 -49
  437. package/dist/features/lists/shared/markdown.js.map +1 -1
  438. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js +9 -10
  439. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js.map +1 -1
  440. package/dist/features/lists/shared/slashMenuListGroup.js +9 -8
  441. package/dist/features/lists/shared/slashMenuListGroup.js.map +1 -1
  442. package/dist/features/lists/unorderedList/client/index.js +68 -76
  443. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  444. package/dist/features/lists/unorderedList/markdownTransformer.js +7 -11
  445. package/dist/features/lists/unorderedList/markdownTransformer.js.map +1 -1
  446. package/dist/features/lists/unorderedList/server/i18n.js +111 -112
  447. package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
  448. package/dist/features/lists/unorderedList/server/index.js +17 -24
  449. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  450. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +18 -17
  451. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +1 -1
  452. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +30 -29
  453. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +1 -1
  454. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +21 -20
  455. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -1
  456. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +21 -19
  457. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -1
  458. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +18 -17
  459. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -1
  460. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +24 -23
  461. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +1 -1
  462. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +20 -21
  463. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  464. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +1 -10
  465. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +1 -1
  466. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +70 -64
  467. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
  468. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js +1 -2
  469. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -1
  470. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js +5 -7
  471. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js.map +1 -1
  472. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js +42 -43
  473. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
  474. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +11 -21
  475. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  476. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +66 -65
  477. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  478. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +19 -19
  479. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
  480. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js +20 -26
  481. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
  482. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js +28 -30
  483. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +1 -1
  484. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js +26 -27
  485. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
  486. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js +22 -21
  487. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
  488. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +22 -22
  489. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
  490. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js +12 -13
  491. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  492. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js +23 -23
  493. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
  494. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +22 -22
  495. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
  496. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js +15 -16
  497. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  498. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js +1 -13
  499. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js.map +1 -1
  500. package/dist/features/migrations/slateToLexical/converter/index.js +117 -110
  501. package/dist/features/migrations/slateToLexical/converter/index.js.map +1 -1
  502. package/dist/features/migrations/slateToLexical/converter/types.js +1 -2
  503. package/dist/features/migrations/slateToLexical/converter/types.js.map +1 -1
  504. package/dist/features/migrations/slateToLexical/feature.client.js +5 -7
  505. package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
  506. package/dist/features/migrations/slateToLexical/feature.server.js +45 -54
  507. package/dist/features/migrations/slateToLexical/feature.server.js.map +1 -1
  508. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +11 -21
  509. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  510. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +66 -65
  511. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  512. package/dist/features/paragraph/client/index.js +58 -61
  513. package/dist/features/paragraph/client/index.js.map +1 -1
  514. package/dist/features/paragraph/server/i18n.js +148 -149
  515. package/dist/features/paragraph/server/i18n.js.map +1 -1
  516. package/dist/features/paragraph/server/index.js +6 -7
  517. package/dist/features/paragraph/server/index.js.map +1 -1
  518. package/dist/features/relationship/client/components/RelationshipComponent.js +118 -147
  519. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  520. package/dist/features/relationship/client/drawer/commands.js +0 -1
  521. package/dist/features/relationship/client/drawer/commands.js.map +1 -1
  522. package/dist/features/relationship/client/drawer/index.js +132 -81
  523. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  524. package/dist/features/relationship/client/index.js +53 -59
  525. package/dist/features/relationship/client/index.js.map +1 -1
  526. package/dist/features/relationship/client/nodes/RelationshipNode.js +60 -64
  527. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  528. package/dist/features/relationship/client/plugins/index.js +69 -39
  529. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  530. package/dist/features/relationship/client/utils/useEnabledRelationships.js +58 -48
  531. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  532. package/dist/features/relationship/server/graphQLPopulationPromise.js +34 -26
  533. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  534. package/dist/features/relationship/server/i18n.js +111 -112
  535. package/dist/features/relationship/server/i18n.js.map +1 -1
  536. package/dist/features/relationship/server/index.js +59 -64
  537. package/dist/features/relationship/server/index.js.map +1 -1
  538. package/dist/features/relationship/server/nodes/RelationshipNode.js +95 -92
  539. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  540. package/dist/features/shared/slashMenu/basicGroup.js +9 -8
  541. package/dist/features/shared/slashMenu/basicGroup.js.map +1 -1
  542. package/dist/features/shared/toolbar/addDropdownGroup.js +8 -9
  543. package/dist/features/shared/toolbar/addDropdownGroup.js.map +1 -1
  544. package/dist/features/shared/toolbar/featureButtonsGroup.js +7 -8
  545. package/dist/features/shared/toolbar/featureButtonsGroup.js.map +1 -1
  546. package/dist/features/shared/toolbar/textDropdownGroup.js +8 -9
  547. package/dist/features/shared/toolbar/textDropdownGroup.js.map +1 -1
  548. package/dist/features/textState/defaultColors.js +370 -370
  549. package/dist/features/textState/defaultColors.js.map +1 -1
  550. package/dist/features/textState/feature.client.js +64 -77
  551. package/dist/features/textState/feature.client.js.map +1 -1
  552. package/dist/features/textState/feature.server.js +14 -46
  553. package/dist/features/textState/feature.server.js.map +1 -1
  554. package/dist/features/textState/i18n.js +111 -112
  555. package/dist/features/textState/i18n.js.map +1 -1
  556. package/dist/features/textState/textState.js +62 -64
  557. package/dist/features/textState/textState.js.map +1 -1
  558. package/dist/features/toolbars/fixed/client/Toolbar/index.js +297 -263
  559. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  560. package/dist/features/toolbars/fixed/client/index.js +5 -7
  561. package/dist/features/toolbars/fixed/client/index.js.map +1 -1
  562. package/dist/features/toolbars/fixed/server/index.js +16 -32
  563. package/dist/features/toolbars/fixed/server/index.js.map +1 -1
  564. package/dist/features/toolbars/inline/client/Toolbar/index.js +366 -343
  565. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  566. package/dist/features/toolbars/inline/client/index.js +5 -7
  567. package/dist/features/toolbars/inline/client/index.js.map +1 -1
  568. package/dist/features/toolbars/inline/server/index.js +4 -5
  569. package/dist/features/toolbars/inline/server/index.js.map +1 -1
  570. package/dist/features/toolbars/shared/ToolbarButton/index.js +145 -103
  571. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  572. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +208 -264
  573. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  574. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +176 -172
  575. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  576. package/dist/features/toolbars/types.js +1 -29
  577. package/dist/features/toolbars/types.js.map +1 -1
  578. package/dist/features/typeUtilities.js +2 -3
  579. package/dist/features/typeUtilities.js.map +1 -1
  580. package/dist/features/typesClient.js +1 -61
  581. package/dist/features/typesClient.js.map +1 -1
  582. package/dist/features/typesServer.js +1 -90
  583. package/dist/features/typesServer.js.map +1 -1
  584. package/dist/features/upload/client/component/index.js +189 -242
  585. package/dist/features/upload/client/component/index.js.map +1 -1
  586. package/dist/features/upload/client/component/pending/index.js +10 -19
  587. package/dist/features/upload/client/component/pending/index.js.map +1 -1
  588. package/dist/features/upload/client/drawer/commands.js +1 -1
  589. package/dist/features/upload/client/drawer/commands.js.map +1 -1
  590. package/dist/features/upload/client/drawer/index.js +132 -83
  591. package/dist/features/upload/client/drawer/index.js.map +1 -1
  592. package/dist/features/upload/client/index.js +51 -61
  593. package/dist/features/upload/client/index.js.map +1 -1
  594. package/dist/features/upload/client/nodes/UploadNode.js +61 -67
  595. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  596. package/dist/features/upload/client/plugin/index.js +331 -290
  597. package/dist/features/upload/client/plugin/index.js.map +1 -1
  598. package/dist/features/upload/server/graphQLPopulationPromise.js +63 -48
  599. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  600. package/dist/features/upload/server/i18n.js +111 -112
  601. package/dist/features/upload/server/i18n.js.map +1 -1
  602. package/dist/features/upload/server/index.js +207 -197
  603. package/dist/features/upload/server/index.js.map +1 -1
  604. package/dist/features/upload/server/nodes/UploadNode.js +99 -115
  605. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  606. package/dist/features/upload/server/nodes/conversions.js +40 -41
  607. package/dist/features/upload/server/nodes/conversions.js.map +1 -1
  608. package/dist/features/upload/server/validate.js +62 -48
  609. package/dist/features/upload/server/validate.js.map +1 -1
  610. package/dist/field/Diff/converters/link.js +41 -32
  611. package/dist/field/Diff/converters/link.js.map +1 -1
  612. package/dist/field/Diff/converters/listitem/index.js +55 -75
  613. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  614. package/dist/field/Diff/converters/relationship/index.js +63 -85
  615. package/dist/field/Diff/converters/relationship/index.js.map +1 -1
  616. package/dist/field/Diff/converters/unknown/index.js +41 -64
  617. package/dist/field/Diff/converters/unknown/index.js.map +1 -1
  618. package/dist/field/Diff/converters/upload/index.js +66 -122
  619. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  620. package/dist/field/Diff/index.js +66 -59
  621. package/dist/field/Diff/index.js.map +1 -1
  622. package/dist/field/Field.js +167 -226
  623. package/dist/field/Field.js.map +1 -1
  624. package/dist/field/RenderLexical/index.js +119 -123
  625. package/dist/field/RenderLexical/index.js.map +1 -1
  626. package/dist/field/bundled.css +1 -0
  627. package/dist/field/index.js +97 -61
  628. package/dist/field/index.js.map +1 -1
  629. package/dist/field/rscEntry.js +84 -86
  630. package/dist/field/rscEntry.js.map +1 -1
  631. package/dist/i18n.js +222 -223
  632. package/dist/i18n.js.map +1 -1
  633. package/dist/index.js +704 -639
  634. package/dist/index.js.map +1 -1
  635. package/dist/lexical/EditorPlugin.js +17 -21
  636. package/dist/lexical/EditorPlugin.js.map +1 -1
  637. package/dist/lexical/LexicalEditor.js +171 -274
  638. package/dist/lexical/LexicalEditor.js.map +1 -1
  639. package/dist/lexical/LexicalProvider.js +86 -109
  640. package/dist/lexical/LexicalProvider.js.map +1 -1
  641. package/dist/lexical/config/client/EditorConfigProvider.js +81 -94
  642. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  643. package/dist/lexical/config/client/default.js +3 -3
  644. package/dist/lexical/config/client/default.js.map +1 -1
  645. package/dist/lexical/config/client/loader.js +38 -30
  646. package/dist/lexical/config/client/loader.js.map +1 -1
  647. package/dist/lexical/config/client/sanitize.js +187 -188
  648. package/dist/lexical/config/client/sanitize.js.map +1 -1
  649. package/dist/lexical/config/server/default.js +5 -27
  650. package/dist/lexical/config/server/default.js.map +1 -1
  651. package/dist/lexical/config/server/loader.js +106 -105
  652. package/dist/lexical/config/server/loader.js.map +1 -1
  653. package/dist/lexical/config/server/sanitize.js +113 -114
  654. package/dist/lexical/config/server/sanitize.js.map +1 -1
  655. package/dist/lexical/config/types.js +1 -4
  656. package/dist/lexical/config/types.js.map +1 -1
  657. package/dist/lexical/nodes/index.js +15 -12
  658. package/dist/lexical/nodes/index.js.map +1 -1
  659. package/dist/lexical/plugins/ClipboardPlugin/index.js +70 -66
  660. package/dist/lexical/plugins/ClipboardPlugin/index.js.map +1 -1
  661. package/dist/lexical/plugins/DecoratorPlugin/index.js +225 -208
  662. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  663. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +41 -42
  664. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  665. package/dist/lexical/plugins/MarkdownShortcut/index.js +23 -11
  666. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  667. package/dist/lexical/plugins/NormalizeSelection/index.js +19 -21
  668. package/dist/lexical/plugins/NormalizeSelection/index.js.map +1 -1
  669. package/dist/lexical/plugins/SelectAllPlugin/index.js +17 -19
  670. package/dist/lexical/plugins/SelectAllPlugin/index.js.map +1 -1
  671. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +420 -399
  672. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  673. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +155 -164
  674. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  675. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +1 -10
  676. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  677. package/dist/lexical/plugins/SlashMenu/index.js +181 -204
  678. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  679. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +41 -28
  680. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
  681. package/dist/lexical/plugins/TextPlugin/index.js +42 -27
  682. package/dist/lexical/plugins/TextPlugin/index.js.map +1 -1
  683. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +130 -145
  684. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  685. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +10 -10
  686. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
  687. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +10 -10
  688. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
  689. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +26 -23
  690. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
  691. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +317 -325
  692. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  693. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +98 -86
  694. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  695. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js +22 -16
  696. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -1
  697. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +19 -29
  698. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -1
  699. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js +14 -11
  700. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js.map +1 -1
  701. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js +133 -122
  702. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
  703. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +2 -2
  704. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
  705. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js +2 -2
  706. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js.map +1 -1
  707. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +24 -29
  708. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  709. package/dist/lexical/theme/EditorTheme.js +65 -72
  710. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  711. package/dist/lexical/ui/ContentEditable.js +35 -22
  712. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  713. package/dist/lexical/ui/icons/AI/index.js +31 -58
  714. package/dist/lexical/ui/icons/AI/index.js.map +1 -1
  715. package/dist/lexical/ui/icons/Add/index.js +16 -31
  716. package/dist/lexical/ui/icons/Add/index.js.map +1 -1
  717. package/dist/lexical/ui/icons/AlignCenter/index.js +25 -45
  718. package/dist/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  719. package/dist/lexical/ui/icons/AlignJustify/index.js +25 -45
  720. package/dist/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  721. package/dist/lexical/ui/icons/AlignLeft/index.js +25 -45
  722. package/dist/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  723. package/dist/lexical/ui/icons/AlignRight/index.js +25 -45
  724. package/dist/lexical/ui/icons/AlignRight/index.js.map +1 -1
  725. package/dist/lexical/ui/icons/Block/index.js +34 -54
  726. package/dist/lexical/ui/icons/Block/index.js.map +1 -1
  727. package/dist/lexical/ui/icons/Blockquote/index.js +16 -24
  728. package/dist/lexical/ui/icons/Blockquote/index.js.map +1 -1
  729. package/dist/lexical/ui/icons/Bold/index.js +16 -24
  730. package/dist/lexical/ui/icons/Bold/index.js.map +1 -1
  731. package/dist/lexical/ui/icons/Checklist/index.js +24 -39
  732. package/dist/lexical/ui/icons/Checklist/index.js.map +1 -1
  733. package/dist/lexical/ui/icons/Code/index.js +19 -34
  734. package/dist/lexical/ui/icons/Code/index.js.map +1 -1
  735. package/dist/lexical/ui/icons/CodeBlock/index.js +14 -22
  736. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  737. package/dist/lexical/ui/icons/Collapse/index.js +15 -23
  738. package/dist/lexical/ui/icons/Collapse/index.js.map +1 -1
  739. package/dist/lexical/ui/icons/H1/index.js +16 -24
  740. package/dist/lexical/ui/icons/H1/index.js.map +1 -1
  741. package/dist/lexical/ui/icons/H2/index.js +16 -24
  742. package/dist/lexical/ui/icons/H2/index.js.map +1 -1
  743. package/dist/lexical/ui/icons/H3/index.js +16 -24
  744. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  745. package/dist/lexical/ui/icons/H4/index.js +16 -24
  746. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  747. package/dist/lexical/ui/icons/H5/index.js +16 -24
  748. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  749. package/dist/lexical/ui/icons/H6/index.js +16 -24
  750. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  751. package/dist/lexical/ui/icons/HorizontalRule/index.js +19 -27
  752. package/dist/lexical/ui/icons/HorizontalRule/index.js.map +1 -1
  753. package/dist/lexical/ui/icons/IndentDecrease/index.js +28 -53
  754. package/dist/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  755. package/dist/lexical/ui/icons/IndentIncrease/index.js +28 -53
  756. package/dist/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  757. package/dist/lexical/ui/icons/InlineBlocks/index.js +18 -26
  758. package/dist/lexical/ui/icons/InlineBlocks/index.js.map +1 -1
  759. package/dist/lexical/ui/icons/Italic/index.js +16 -24
  760. package/dist/lexical/ui/icons/Italic/index.js.map +1 -1
  761. package/dist/lexical/ui/icons/Link/index.js +17 -25
  762. package/dist/lexical/ui/icons/Link/index.js.map +1 -1
  763. package/dist/lexical/ui/icons/Meatballs/index.js +19 -39
  764. package/dist/lexical/ui/icons/Meatballs/index.js.map +1 -1
  765. package/dist/lexical/ui/icons/OrderedList/index.js +31 -61
  766. package/dist/lexical/ui/icons/OrderedList/index.js.map +1 -1
  767. package/dist/lexical/ui/icons/Relationship/index.js +31 -58
  768. package/dist/lexical/ui/icons/Relationship/index.js.map +1 -1
  769. package/dist/lexical/ui/icons/Strikethrough/index.js +19 -34
  770. package/dist/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  771. package/dist/lexical/ui/icons/Subscript/index.js +16 -24
  772. package/dist/lexical/ui/icons/Subscript/index.js.map +1 -1
  773. package/dist/lexical/ui/icons/Superscript/index.js +16 -24
  774. package/dist/lexical/ui/icons/Superscript/index.js.map +1 -1
  775. package/dist/lexical/ui/icons/Table/index.js +17 -25
  776. package/dist/lexical/ui/icons/Table/index.js.map +1 -1
  777. package/dist/lexical/ui/icons/Text/index.js +16 -24
  778. package/dist/lexical/ui/icons/Text/index.js.map +1 -1
  779. package/dist/lexical/ui/icons/TextState/index.js +19 -25
  780. package/dist/lexical/ui/icons/TextState/index.js.map +1 -1
  781. package/dist/lexical/ui/icons/Underline/index.js +19 -34
  782. package/dist/lexical/ui/icons/Underline/index.js.map +1 -1
  783. package/dist/lexical/ui/icons/UnorderedList/index.js +46 -81
  784. package/dist/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  785. package/dist/lexical/ui/icons/Upload/index.js +28 -48
  786. package/dist/lexical/ui/icons/Upload/index.js.map +1 -1
  787. package/dist/lexical/utils/canUseDOM.js +1 -1
  788. package/dist/lexical/utils/canUseDOM.js.map +1 -1
  789. package/dist/lexical/utils/environment.js +1 -1
  790. package/dist/lexical/utils/environment.js.map +1 -1
  791. package/dist/lexical/utils/getDOMRangeRect.js +12 -12
  792. package/dist/lexical/utils/getDOMRangeRect.js.map +1 -1
  793. package/dist/lexical/utils/getSelectedNode.js +17 -13
  794. package/dist/lexical/utils/getSelectedNode.js.map +1 -1
  795. package/dist/lexical/utils/guard.js +4 -3
  796. package/dist/lexical/utils/guard.js.map +1 -1
  797. package/dist/lexical/utils/joinClasses.js +2 -2
  798. package/dist/lexical/utils/joinClasses.js.map +1 -1
  799. package/dist/lexical/utils/markdown/createBlockNode.js +9 -10
  800. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  801. package/dist/lexical/utils/nodeFormat.js +58 -59
  802. package/dist/lexical/utils/nodeFormat.js.map +1 -1
  803. package/dist/lexical/utils/point.js +39 -32
  804. package/dist/lexical/utils/point.js.map +1 -1
  805. package/dist/lexical/utils/rect.js +166 -136
  806. package/dist/lexical/utils/rect.js.map +1 -1
  807. package/dist/lexical/utils/setFloatingElemPosition.js +56 -48
  808. package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
  809. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js +22 -22
  810. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js.map +1 -1
  811. package/dist/lexical/utils/swipe.js +81 -83
  812. package/dist/lexical/utils/swipe.js.map +1 -1
  813. package/dist/lexical/utils/url.js +53 -53
  814. package/dist/lexical/utils/url.js.map +1 -1
  815. package/dist/lexical/utils/url.spec.js +98 -214
  816. package/dist/lexical/utils/url.spec.js.map +1 -1
  817. package/dist/lexical-proxy/@lexical-headless.js +0 -1
  818. package/dist/lexical-proxy/@lexical-headless.js.map +1 -1
  819. package/dist/lexical-proxy/@lexical-html.js +0 -1
  820. package/dist/lexical-proxy/@lexical-html.js.map +1 -1
  821. package/dist/lexical-proxy/@lexical-link.js +0 -1
  822. package/dist/lexical-proxy/@lexical-link.js.map +1 -1
  823. package/dist/lexical-proxy/@lexical-list.js +0 -1
  824. package/dist/lexical-proxy/@lexical-list.js.map +1 -1
  825. package/dist/lexical-proxy/@lexical-mark.js +0 -1
  826. package/dist/lexical-proxy/@lexical-mark.js.map +1 -1
  827. package/dist/lexical-proxy/@lexical-markdown.js +0 -1
  828. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  829. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js +0 -1
  830. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js.map +1 -1
  831. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js +0 -1
  832. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js.map +1 -1
  833. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js +0 -1
  834. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js.map +1 -1
  835. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js +0 -1
  836. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js.map +1 -1
  837. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js +0 -1
  838. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js.map +1 -1
  839. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js +0 -1
  840. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js.map +1 -1
  841. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js +0 -1
  842. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js.map +1 -1
  843. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js +0 -1
  844. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js.map +1 -1
  845. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js +0 -1
  846. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js.map +1 -1
  847. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js +0 -1
  848. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js.map +1 -1
  849. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js +0 -1
  850. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js.map +1 -1
  851. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js +0 -1
  852. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js.map +1 -1
  853. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js +0 -1
  854. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js.map +1 -1
  855. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +0 -1
  856. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +1 -1
  857. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js +0 -1
  858. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js.map +1 -1
  859. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js +0 -1
  860. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js.map +1 -1
  861. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js +0 -1
  862. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js.map +1 -1
  863. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js +0 -1
  864. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js.map +1 -1
  865. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js +0 -1
  866. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js.map +1 -1
  867. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js +0 -1
  868. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js.map +1 -1
  869. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js +0 -1
  870. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js.map +1 -1
  871. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js +0 -1
  872. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js.map +1 -1
  873. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js +0 -1
  874. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js.map +1 -1
  875. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js +0 -1
  876. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js.map +1 -1
  877. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js +0 -1
  878. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js.map +1 -1
  879. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js +0 -1
  880. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js.map +1 -1
  881. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js +0 -1
  882. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js.map +1 -1
  883. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js +0 -1
  884. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js.map +1 -1
  885. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js +0 -1
  886. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js.map +1 -1
  887. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js +0 -1
  888. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js.map +1 -1
  889. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js +0 -1
  890. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js.map +1 -1
  891. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js +0 -1
  892. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js.map +1 -1
  893. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js +0 -1
  894. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js.map +1 -1
  895. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js +0 -1
  896. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js.map +1 -1
  897. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js +0 -1
  898. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js.map +1 -1
  899. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js +0 -1
  900. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js.map +1 -1
  901. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js +0 -1
  902. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js.map +1 -1
  903. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js +0 -1
  904. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js.map +1 -1
  905. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js +0 -1
  906. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js.map +1 -1
  907. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js +0 -1
  908. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js.map +1 -1
  909. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js +0 -1
  910. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js.map +1 -1
  911. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js +0 -1
  912. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js.map +1 -1
  913. package/dist/lexical-proxy/@lexical-rich-text.js +0 -1
  914. package/dist/lexical-proxy/@lexical-rich-text.js.map +1 -1
  915. package/dist/lexical-proxy/@lexical-selection.js +0 -1
  916. package/dist/lexical-proxy/@lexical-selection.js.map +1 -1
  917. package/dist/lexical-proxy/@lexical-utils.js +0 -1
  918. package/dist/lexical-proxy/@lexical-utils.js.map +1 -1
  919. package/dist/lexical-proxy/lexical.js +0 -1
  920. package/dist/lexical-proxy/lexical.js.map +1 -1
  921. package/dist/nodeTypes.js +1 -35
  922. package/dist/nodeTypes.js.map +1 -1
  923. package/dist/packages/@lexical/markdown/MarkdownExport.js +179 -184
  924. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +1 -1
  925. package/dist/packages/@lexical/markdown/MarkdownImport.js +169 -174
  926. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +1 -1
  927. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +268 -258
  928. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +1 -1
  929. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +209 -305
  930. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +1 -1
  931. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +73 -76
  932. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +1 -1
  933. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +48 -59
  934. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +1 -1
  935. package/dist/packages/@lexical/markdown/importTextTransformers.js +45 -51
  936. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +1 -1
  937. package/dist/packages/@lexical/markdown/index.js +14 -33
  938. package/dist/packages/@lexical/markdown/index.js.map +1 -1
  939. package/dist/packages/@lexical/markdown/utils.js +185 -217
  940. package/dist/packages/@lexical/markdown/utils.js.map +1 -1
  941. package/dist/populateGraphQL/defaultValue.js +24 -29
  942. package/dist/populateGraphQL/defaultValue.js.map +1 -1
  943. package/dist/populateGraphQL/populate.js +37 -26
  944. package/dist/populateGraphQL/populate.js.map +1 -1
  945. package/dist/populateGraphQL/populateLexicalPopulationPromises.js +50 -34
  946. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  947. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js +42 -35
  948. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
  949. package/dist/types.js +1 -40
  950. package/dist/types.js.map +1 -1
  951. package/dist/utilities/applyBaseFilterToFields.js +84 -81
  952. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  953. package/dist/utilities/buildEditorState.js +40 -39
  954. package/dist/utilities/buildEditorState.js.map +1 -1
  955. package/dist/utilities/buildInitialState.js +52 -51
  956. package/dist/utilities/buildInitialState.js.map +1 -1
  957. package/dist/utilities/createClientFeature.js +48 -42
  958. package/dist/utilities/createClientFeature.js.map +1 -1
  959. package/dist/utilities/createServerFeature.js +48 -38
  960. package/dist/utilities/createServerFeature.js.map +1 -1
  961. package/dist/utilities/editorConfigFactory.js +79 -78
  962. package/dist/utilities/editorConfigFactory.js.map +1 -1
  963. package/dist/utilities/fieldsDrawer/Drawer.js +70 -45
  964. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  965. package/dist/utilities/fieldsDrawer/DrawerContent.js +120 -130
  966. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  967. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +115 -64
  968. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  969. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +121 -76
  970. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  971. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js +141 -79
  972. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -1
  973. package/dist/utilities/forEachNodeRecursively.js +24 -19
  974. package/dist/utilities/forEachNodeRecursively.js.map +1 -1
  975. package/dist/utilities/generateImportMap.js +49 -43
  976. package/dist/utilities/generateImportMap.js.map +1 -1
  977. package/dist/utilities/generateSchemaMap.js +37 -32
  978. package/dist/utilities/generateSchemaMap.js.map +1 -1
  979. package/dist/utilities/getDefaultSanitizedEditorConfig.js +14 -12
  980. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  981. package/dist/utilities/initLexicalFeatures.js +65 -68
  982. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  983. package/dist/utilities/jsx/collectTopLevelJSXInLines.js +29 -26
  984. package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -1
  985. package/dist/utilities/jsx/declare.d.js.map +1 -1
  986. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js +102 -100
  987. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js.map +1 -1
  988. package/dist/utilities/jsx/jsx.js +80 -76
  989. package/dist/utilities/jsx/jsx.js.map +1 -1
  990. package/dist/utilities/jsx/jsx.spec.js +171 -225
  991. package/dist/utilities/jsx/jsx.spec.js.map +1 -1
  992. package/dist/utilities/migrateSlateToLexical/index.js +128 -112
  993. package/dist/utilities/migrateSlateToLexical/index.js.map +1 -1
  994. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +78 -74
  995. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
  996. package/dist/utilities/recurseNodeTree.js +25 -22
  997. package/dist/utilities/recurseNodeTree.js.map +1 -1
  998. package/dist/utilities/upgradeLexicalData/index.js +102 -88
  999. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  1000. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +80 -78
  1001. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  1002. package/dist/utilities/useLexicalFeature.js +16 -14
  1003. package/dist/utilities/useLexicalFeature.js.map +1 -1
  1004. package/dist/utilities/useRunDeprioritized.js +37 -41
  1005. package/dist/utilities/useRunDeprioritized.js.map +1 -1
  1006. package/dist/validate/hasText.js +20 -21
  1007. package/dist/validate/hasText.js.map +1 -1
  1008. package/dist/validate/index.js +28 -22
  1009. package/dist/validate/index.js.map +1 -1
  1010. package/dist/validate/validateNodes.js +31 -28
  1011. package/dist/validate/validateNodes.js.map +1 -1
  1012. package/package.json +6 -6
  1013. package/dist/features/blocks/client/component/index.scss +0 -188
  1014. package/dist/features/blocks/client/componentInline/index.scss +0 -100
  1015. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.scss +0 -6
  1016. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.scss +0 -29
  1017. package/dist/features/blocks/premade/CodeBlock/Component/index.scss +0 -97
  1018. package/dist/features/debug/jsxConverter/client/plugin/style.scss +0 -12
  1019. package/dist/features/debug/testRecorder/client/plugin/index.scss +0 -53
  1020. package/dist/features/debug/treeView/client/plugin/index.scss +0 -80
  1021. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.scss +0 -87
  1022. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.scss +0 -11
  1023. package/dist/features/experimental_table/client/plugins/TablePlugin/index.scss +0 -233
  1024. package/dist/features/horizontalRule/client/plugin/index.scss +0 -23
  1025. package/dist/features/link/client/plugins/floatingLinkEditor/index.scss +0 -92
  1026. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +0 -16
  1027. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.scss +0 -16
  1028. package/dist/features/relationship/client/components/index.scss +0 -95
  1029. package/dist/features/toolbars/fixed/client/Toolbar/index.scss +0 -113
  1030. package/dist/features/toolbars/inline/client/Toolbar/index.scss +0 -58
  1031. package/dist/features/toolbars/shared/ToolbarButton/index.scss +0 -46
  1032. package/dist/features/toolbars/shared/ToolbarDropdown/index.scss +0 -129
  1033. package/dist/features/upload/client/component/index.scss +0 -191
  1034. package/dist/field/Diff/converters/listitem/index.scss +0 -47
  1035. package/dist/field/Diff/converters/relationship/index.scss +0 -73
  1036. package/dist/field/Diff/converters/unknown/index.scss +0 -40
  1037. package/dist/field/Diff/converters/upload/index.scss +0 -115
  1038. package/dist/field/Diff/index.scss +0 -102
  1039. package/dist/field/index.scss +0 -41
  1040. package/dist/lexical/LexicalEditor.scss +0 -54
  1041. package/dist/lexical/plugins/DecoratorPlugin/index.scss +0 -13
  1042. package/dist/lexical/plugins/InsertParagraphAtEnd/index.scss +0 -54
  1043. package/dist/lexical/plugins/SlashMenu/index.scss +0 -68
  1044. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +0 -35
  1045. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.scss +0 -80
  1046. package/dist/lexical/theme/EditorTheme.scss +0 -357
  1047. package/dist/lexical/ui/ContentEditable.scss +0 -105
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TableCellNode, TableRowNode } from '@lexical/table'\nimport type { EditorConfig, NodeKey } from 'lexical'\nimport type { JSX } from 'react'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport {\n $getTableAndElementByKey,\n $getTableColumnIndexFromTableCellNode,\n $getTableRowIndexFromTableCellNode,\n $insertTableColumnAtSelection,\n $insertTableRowAtSelection,\n $isTableCellNode,\n $isTableNode,\n getTableElement,\n TableNode,\n} from '@lexical/table'\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\nimport { $getNearestNodeFromDOMNode, isHTMLElement } from 'lexical'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport * as React from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useEditorConfigContext } from '../../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useDebounce } from '../../utils/useDebounce.js'\n\nconst BUTTON_WIDTH_PX = 20\n\nfunction TableHoverActionsContainer({\n anchorElem,\n}: {\n anchorElem: HTMLElement\n}): JSX.Element | null {\n const [editor] = useLexicalComposerContext()\n const isEditable = useLexicalEditable()\n\n const editorConfig = useEditorConfigContext()\n const [isShownRow, setShownRow] = useState<boolean>(false)\n const [isShownColumn, setShownColumn] = useState<boolean>(false)\n const [shouldListenMouseMove, setShouldListenMouseMove] = useState<boolean>(false)\n const [position, setPosition] = useState({})\n const tableSetRef = useRef<Set<NodeKey>>(new Set())\n const tableCellDOMNodeRef = useRef<HTMLElement | null>(null)\n\n const debouncedOnMouseMove = useDebounce(\n (event: MouseEvent) => {\n const { isOutside, tableDOMNode } = getMouseInfo(event, editorConfig.editorConfig?.lexical)\n\n if (isOutside) {\n setShownRow(false)\n setShownColumn(false)\n return\n }\n\n if (!tableDOMNode) {\n return\n }\n\n tableCellDOMNodeRef.current = tableDOMNode\n\n let hoveredRowNode: null | TableCellNode = null\n let hoveredColumnNode: null | TableCellNode = null\n let tableDOMElement: HTMLElement | null = null\n\n editor.getEditorState().read(\n () => {\n const maybeTableCell = $getNearestNodeFromDOMNode(tableDOMNode)\n\n if ($isTableCellNode(maybeTableCell)) {\n const table = $findMatchingParent(maybeTableCell, (node) => $isTableNode(node))\n if (!$isTableNode(table)) {\n return\n }\n\n tableDOMElement = getTableElement(table, editor.getElementByKey(table.getKey()))\n\n if (tableDOMElement) {\n const rowCount = table.getChildrenSize()\n const colCount = (table.getChildAtIndex(0) as TableRowNode)?.getChildrenSize()\n\n const rowIndex = $getTableRowIndexFromTableCellNode(maybeTableCell)\n const colIndex = $getTableColumnIndexFromTableCellNode(maybeTableCell)\n\n if (rowIndex === rowCount - 1) {\n hoveredRowNode = maybeTableCell\n } else if (colIndex === colCount - 1) {\n hoveredColumnNode = maybeTableCell\n }\n }\n }\n },\n { editor },\n )\n\n if (!tableDOMElement) {\n return\n }\n\n // this is the scrollable div container of the table (in case of overflow)\n const tableContainerElement = (tableDOMElement as HTMLTableElement).parentElement\n\n if (!tableContainerElement) {\n return\n }\n\n const {\n bottom: tableElemBottom,\n height: tableElemHeight,\n left: tableElemLeft,\n right: tableElemRight,\n width: tableElemWidth,\n y: tableElemY,\n } = (tableDOMElement as HTMLTableElement).getBoundingClientRect()\n\n let tableHasScroll = false\n if (\n tableContainerElement &&\n tableContainerElement.classList.contains('LexicalEditorTheme__tableScrollableWrapper')\n ) {\n tableHasScroll = tableContainerElement.scrollWidth > tableContainerElement.clientWidth\n }\n\n const { left: editorElemLeft, y: editorElemY } = anchorElem.getBoundingClientRect()\n\n if (hoveredRowNode) {\n setShownColumn(false)\n setShownRow(true)\n setPosition({\n height: BUTTON_WIDTH_PX,\n left:\n tableHasScroll && tableContainerElement\n ? tableContainerElement.offsetLeft\n : tableElemLeft - editorElemLeft,\n top: tableElemBottom - editorElemY + 5,\n width:\n tableHasScroll && tableContainerElement\n ? tableContainerElement.offsetWidth\n : tableElemWidth,\n })\n } else if (hoveredColumnNode) {\n setShownColumn(true)\n setShownRow(false)\n setPosition({\n height: tableElemHeight,\n left: tableElemRight - editorElemLeft + 5,\n top: tableElemY - editorElemY,\n width: BUTTON_WIDTH_PX,\n })\n }\n },\n 50,\n 250,\n )\n\n // Hide the buttons on any table dimensions change to prevent last row cells\n // overlap behind the 'Add Row' button when text entry changes cell height\n const tableResizeObserver = useMemo(() => {\n return new ResizeObserver(() => {\n setShownRow(false)\n setShownColumn(false)\n })\n }, [])\n\n useEffect(() => {\n if (!shouldListenMouseMove) {\n return\n }\n\n document.addEventListener('mousemove', debouncedOnMouseMove)\n\n return () => {\n setShownRow(false)\n setShownColumn(false)\n\n document.removeEventListener('mousemove', debouncedOnMouseMove)\n }\n }, [shouldListenMouseMove, debouncedOnMouseMove])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerMutationListener(\n TableNode,\n (mutations) => {\n editor.getEditorState().read(\n () => {\n let resetObserver = false\n for (const [key, type] of mutations) {\n switch (type) {\n case 'created': {\n tableSetRef.current.add(key)\n resetObserver = true\n break\n }\n case 'destroyed': {\n tableSetRef.current.delete(key)\n resetObserver = true\n break\n }\n default:\n break\n }\n }\n if (resetObserver) {\n // Reset resize observers\n tableResizeObserver.disconnect()\n for (const tableKey of tableSetRef.current) {\n const { tableElement } = $getTableAndElementByKey(tableKey)\n tableResizeObserver.observe(tableElement)\n }\n setShouldListenMouseMove(tableSetRef.current.size > 0)\n }\n },\n { editor },\n )\n },\n { skipInitialization: false },\n ),\n )\n }, [editor, tableResizeObserver])\n\n const insertAction = (insertRow: boolean) => {\n editor.update(() => {\n if (tableCellDOMNodeRef.current) {\n const maybeTableNode = $getNearestNodeFromDOMNode(tableCellDOMNodeRef.current)\n maybeTableNode?.selectEnd()\n if (insertRow) {\n $insertTableRowAtSelection()\n setShownRow(false)\n } else {\n $insertTableColumnAtSelection()\n setShownColumn(false)\n }\n }\n })\n }\n\n if (!isEditable) {\n return null\n }\n\n return (\n <>\n {isShownRow && (\n <button\n aria-label=\"Add Row\"\n className={editorConfig.editorConfig.lexical.theme.tableAddRows}\n onClick={() => insertAction(true)}\n style={{ ...position }}\n type=\"button\"\n />\n )}\n {isShownColumn && (\n <button\n aria-label=\"Add Column\"\n className={editorConfig.editorConfig.lexical.theme.tableAddColumns}\n onClick={() => insertAction(false)}\n style={{ ...position }}\n type=\"button\"\n />\n )}\n </>\n )\n}\n\nfunction getMouseInfo(\n event: MouseEvent,\n editorConfig: EditorConfig,\n): {\n isOutside: boolean\n tableDOMNode: HTMLElement | null\n} {\n const target = event.target\n\n if (isHTMLElement(target)) {\n const tableDOMNode = target.closest<HTMLElement>(\n `td.${editorConfig.theme.tableCell}, th.${editorConfig.theme.tableCell}`,\n )\n\n const isOutside = !(\n tableDOMNode ||\n target.closest<HTMLElement>(`button.${editorConfig.theme.tableAddRows}`) ||\n target.closest<HTMLElement>(`button.${editorConfig.theme.tableAddColumns}`) ||\n target.closest<HTMLElement>(`div.${editorConfig.theme.tableCellResizer}`)\n )\n\n return { isOutside, tableDOMNode }\n } else {\n return { isOutside: true, tableDOMNode: null }\n }\n}\n\nexport function TableHoverActionsPlugin({\n anchorElem = document.body,\n}: {\n anchorElem?: HTMLElement\n}): null | React.ReactPortal {\n const isEditable = useLexicalEditable()\n\n if (!isEditable) {\n return null\n }\n\n return createPortal(<TableHoverActionsContainer anchorElem={anchorElem} />, anchorElem)\n}\n"],"names":["useLexicalComposerContext","useLexicalEditable","$getTableAndElementByKey","$getTableColumnIndexFromTableCellNode","$getTableRowIndexFromTableCellNode","$insertTableColumnAtSelection","$insertTableRowAtSelection","$isTableCellNode","$isTableNode","getTableElement","TableNode","$findMatchingParent","mergeRegister","$getNearestNodeFromDOMNode","isHTMLElement","useEffect","useMemo","useRef","useState","React","createPortal","useEditorConfigContext","useDebounce","BUTTON_WIDTH_PX","TableHoverActionsContainer","anchorElem","editor","isEditable","editorConfig","isShownRow","setShownRow","isShownColumn","setShownColumn","shouldListenMouseMove","setShouldListenMouseMove","position","setPosition","tableSetRef","Set","tableCellDOMNodeRef","debouncedOnMouseMove","event","isOutside","tableDOMNode","getMouseInfo","lexical","current","hoveredRowNode","hoveredColumnNode","tableDOMElement","getEditorState","read","maybeTableCell","table","node","getElementByKey","getKey","rowCount","getChildrenSize","colCount","getChildAtIndex","rowIndex","colIndex","tableContainerElement","parentElement","bottom","tableElemBottom","height","tableElemHeight","left","tableElemLeft","right","tableElemRight","width","tableElemWidth","y","tableElemY","getBoundingClientRect","tableHasScroll","classList","contains","scrollWidth","clientWidth","editorElemLeft","editorElemY","offsetLeft","top","offsetWidth","tableResizeObserver","ResizeObserver","document","addEventListener","removeEventListener","registerMutationListener","mutations","resetObserver","key","type","add","delete","disconnect","tableKey","tableElement","observe","size","skipInitialization","insertAction","insertRow","update","maybeTableNode","selectEnd","button","aria-label","className","theme","tableAddRows","onClick","style","tableAddColumns","target","closest","tableCell","tableCellResizer","TableHoverActionsPlugin","body"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","useLexicalEditable","$getTableAndElementByKey","$getTableColumnIndexFromTableCellNode","$getTableRowIndexFromTableCellNode","$insertTableColumnAtSelection","$insertTableRowAtSelection","$isTableCellNode","$isTableNode","getTableElement","TableNode","$findMatchingParent","mergeRegister","$getNearestNodeFromDOMNode","isHTMLElement","useEffect","useMemo","useRef","useState","React","createPortal","useEditorConfigContext","useDebounce","BUTTON_WIDTH_PX","TableHoverActionsContainer","anchorElem","editor","isEditable","editorConfig","isShownRow","setShownRow","isShownColumn","setShownColumn","shouldListenMouseMove","setShouldListenMouseMove","position","setPosition","tableSetRef","Set","tableCellDOMNodeRef","debouncedOnMouseMove","event","isOutside","tableDOMNode","getMouseInfo","lexical","current","hoveredRowNode","hoveredColumnNode","tableDOMElement","getEditorState","read","maybeTableCell","table","node","getElementByKey","getKey","rowCount","getChildrenSize","colCount","getChildAtIndex","rowIndex","colIndex","tableContainerElement","parentElement","bottom","tableElemBottom","height","tableElemHeight","left","tableElemLeft","right","tableElemRight","width","tableElemWidth","y","tableElemY","getBoundingClientRect","tableHasScroll","classList","contains","scrollWidth","clientWidth","editorElemLeft","editorElemY","offsetLeft","top","offsetWidth","tableResizeObserver","ResizeObserver","document","addEventListener","removeEventListener","registerMutationListener","mutations","resetObserver","key","type","add","delete","disconnect","tableKey","tableElement","observe","size","skipInitialization","insertAction","insertRow","update","maybeTableNode","selectEnd","_jsxs","_Fragment","_jsx","className","theme","tableAddRows","onClick","style","tableAddColumns","target","closest","tableCell","tableCellResizer","TableHoverActionsPlugin","t0","$","t1","undefined","body","t2"],"sources":["../../../../../../src/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TableCellNode, TableRowNode } from '@lexical/table'\nimport type { EditorConfig, NodeKey } from 'lexical'\nimport type { JSX } from 'react'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport {\n $getTableAndElementByKey,\n $getTableColumnIndexFromTableCellNode,\n $getTableRowIndexFromTableCellNode,\n $insertTableColumnAtSelection,\n $insertTableRowAtSelection,\n $isTableCellNode,\n $isTableNode,\n getTableElement,\n TableNode,\n} from '@lexical/table'\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\nimport { $getNearestNodeFromDOMNode, isHTMLElement } from 'lexical'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport * as React from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useEditorConfigContext } from '../../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useDebounce } from '../../utils/useDebounce.js'\n\nconst BUTTON_WIDTH_PX = 20\n\nfunction TableHoverActionsContainer({\n anchorElem,\n}: {\n anchorElem: HTMLElement\n}): JSX.Element | null {\n const [editor] = useLexicalComposerContext()\n const isEditable = useLexicalEditable()\n\n const editorConfig = useEditorConfigContext()\n const [isShownRow, setShownRow] = useState<boolean>(false)\n const [isShownColumn, setShownColumn] = useState<boolean>(false)\n const [shouldListenMouseMove, setShouldListenMouseMove] = useState<boolean>(false)\n const [position, setPosition] = useState({})\n const tableSetRef = useRef<Set<NodeKey>>(new Set())\n const tableCellDOMNodeRef = useRef<HTMLElement | null>(null)\n\n const debouncedOnMouseMove = useDebounce(\n (event: MouseEvent) => {\n const { isOutside, tableDOMNode } = getMouseInfo(event, editorConfig.editorConfig?.lexical)\n\n if (isOutside) {\n setShownRow(false)\n setShownColumn(false)\n return\n }\n\n if (!tableDOMNode) {\n return\n }\n\n tableCellDOMNodeRef.current = tableDOMNode\n\n let hoveredRowNode: null | TableCellNode = null\n let hoveredColumnNode: null | TableCellNode = null\n let tableDOMElement: HTMLElement | null = null\n\n editor.getEditorState().read(\n () => {\n const maybeTableCell = $getNearestNodeFromDOMNode(tableDOMNode)\n\n if ($isTableCellNode(maybeTableCell)) {\n const table = $findMatchingParent(maybeTableCell, (node) => $isTableNode(node))\n if (!$isTableNode(table)) {\n return\n }\n\n tableDOMElement = getTableElement(table, editor.getElementByKey(table.getKey()))\n\n if (tableDOMElement) {\n const rowCount = table.getChildrenSize()\n const colCount = (table.getChildAtIndex(0) as TableRowNode)?.getChildrenSize()\n\n const rowIndex = $getTableRowIndexFromTableCellNode(maybeTableCell)\n const colIndex = $getTableColumnIndexFromTableCellNode(maybeTableCell)\n\n if (rowIndex === rowCount - 1) {\n hoveredRowNode = maybeTableCell\n } else if (colIndex === colCount - 1) {\n hoveredColumnNode = maybeTableCell\n }\n }\n }\n },\n { editor },\n )\n\n if (!tableDOMElement) {\n return\n }\n\n // this is the scrollable div container of the table (in case of overflow)\n const tableContainerElement = (tableDOMElement as HTMLTableElement).parentElement\n\n if (!tableContainerElement) {\n return\n }\n\n const {\n bottom: tableElemBottom,\n height: tableElemHeight,\n left: tableElemLeft,\n right: tableElemRight,\n width: tableElemWidth,\n y: tableElemY,\n } = (tableDOMElement as HTMLTableElement).getBoundingClientRect()\n\n let tableHasScroll = false\n if (\n tableContainerElement &&\n tableContainerElement.classList.contains('LexicalEditorTheme__tableScrollableWrapper')\n ) {\n tableHasScroll = tableContainerElement.scrollWidth > tableContainerElement.clientWidth\n }\n\n const { left: editorElemLeft, y: editorElemY } = anchorElem.getBoundingClientRect()\n\n if (hoveredRowNode) {\n setShownColumn(false)\n setShownRow(true)\n setPosition({\n height: BUTTON_WIDTH_PX,\n left:\n tableHasScroll && tableContainerElement\n ? tableContainerElement.offsetLeft\n : tableElemLeft - editorElemLeft,\n top: tableElemBottom - editorElemY + 5,\n width:\n tableHasScroll && tableContainerElement\n ? tableContainerElement.offsetWidth\n : tableElemWidth,\n })\n } else if (hoveredColumnNode) {\n setShownColumn(true)\n setShownRow(false)\n setPosition({\n height: tableElemHeight,\n left: tableElemRight - editorElemLeft + 5,\n top: tableElemY - editorElemY,\n width: BUTTON_WIDTH_PX,\n })\n }\n },\n 50,\n 250,\n )\n\n // Hide the buttons on any table dimensions change to prevent last row cells\n // overlap behind the 'Add Row' button when text entry changes cell height\n const tableResizeObserver = useMemo(() => {\n return new ResizeObserver(() => {\n setShownRow(false)\n setShownColumn(false)\n })\n }, [])\n\n useEffect(() => {\n if (!shouldListenMouseMove) {\n return\n }\n\n document.addEventListener('mousemove', debouncedOnMouseMove)\n\n return () => {\n setShownRow(false)\n setShownColumn(false)\n\n document.removeEventListener('mousemove', debouncedOnMouseMove)\n }\n }, [shouldListenMouseMove, debouncedOnMouseMove])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerMutationListener(\n TableNode,\n (mutations) => {\n editor.getEditorState().read(\n () => {\n let resetObserver = false\n for (const [key, type] of mutations) {\n switch (type) {\n case 'created': {\n tableSetRef.current.add(key)\n resetObserver = true\n break\n }\n case 'destroyed': {\n tableSetRef.current.delete(key)\n resetObserver = true\n break\n }\n default:\n break\n }\n }\n if (resetObserver) {\n // Reset resize observers\n tableResizeObserver.disconnect()\n for (const tableKey of tableSetRef.current) {\n const { tableElement } = $getTableAndElementByKey(tableKey)\n tableResizeObserver.observe(tableElement)\n }\n setShouldListenMouseMove(tableSetRef.current.size > 0)\n }\n },\n { editor },\n )\n },\n { skipInitialization: false },\n ),\n )\n }, [editor, tableResizeObserver])\n\n const insertAction = (insertRow: boolean) => {\n editor.update(() => {\n if (tableCellDOMNodeRef.current) {\n const maybeTableNode = $getNearestNodeFromDOMNode(tableCellDOMNodeRef.current)\n maybeTableNode?.selectEnd()\n if (insertRow) {\n $insertTableRowAtSelection()\n setShownRow(false)\n } else {\n $insertTableColumnAtSelection()\n setShownColumn(false)\n }\n }\n })\n }\n\n if (!isEditable) {\n return null\n }\n\n return (\n <>\n {isShownRow && (\n <button\n aria-label=\"Add Row\"\n className={editorConfig.editorConfig.lexical.theme.tableAddRows}\n onClick={() => insertAction(true)}\n style={{ ...position }}\n type=\"button\"\n />\n )}\n {isShownColumn && (\n <button\n aria-label=\"Add Column\"\n className={editorConfig.editorConfig.lexical.theme.tableAddColumns}\n onClick={() => insertAction(false)}\n style={{ ...position }}\n type=\"button\"\n />\n )}\n </>\n )\n}\n\nfunction getMouseInfo(\n event: MouseEvent,\n editorConfig: EditorConfig,\n): {\n isOutside: boolean\n tableDOMNode: HTMLElement | null\n} {\n const target = event.target\n\n if (isHTMLElement(target)) {\n const tableDOMNode = target.closest<HTMLElement>(\n `td.${editorConfig.theme.tableCell}, th.${editorConfig.theme.tableCell}`,\n )\n\n const isOutside = !(\n tableDOMNode ||\n target.closest<HTMLElement>(`button.${editorConfig.theme.tableAddRows}`) ||\n target.closest<HTMLElement>(`button.${editorConfig.theme.tableAddColumns}`) ||\n target.closest<HTMLElement>(`div.${editorConfig.theme.tableCellResizer}`)\n )\n\n return { isOutside, tableDOMNode }\n } else {\n return { isOutside: true, tableDOMNode: null }\n }\n}\n\nexport function TableHoverActionsPlugin({\n anchorElem = document.body,\n}: {\n anchorElem?: HTMLElement\n}): null | React.ReactPortal {\n const isEditable = useLexicalEditable()\n\n if (!isEditable) {\n return null\n }\n\n return createPortal(<TableHoverActionsContainer anchorElem={anchorElem} />, anchorElem)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  'use client';
2
- import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
5
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
4
6
  import { TablePlugin as LexicalReactTablePlugin } from '@lexical/react/LexicalTablePlugin';
5
7
  import { INSERT_TABLE_COMMAND, TableCellNode, TableNode, TableRowNode } from '@lexical/table';
@@ -11,113 +13,140 @@ import * as React from 'react';
11
13
  import { useEditorConfigContext } from '../../../../../lexical/config/client/EditorConfigProvider.js';
12
14
  import { FieldsDrawer } from '../../../../../utilities/fieldsDrawer/Drawer.js';
13
15
  import { useLexicalDrawer } from '../../../../../utilities/fieldsDrawer/useLexicalDrawer.js';
14
- import './index.scss';
15
16
  export const OPEN_TABLE_DRAWER_COMMAND = createCommand('OPEN_EMBED_DRAWER_COMMAND');
16
- export const CellContext = /*#__PURE__*/ createContext({
17
- cellEditorConfig: null,
18
- cellEditorPlugins: null,
19
- set: ()=>{}
17
+ export const CellContext = /*#__PURE__*/createContext({
18
+ cellEditorConfig: null,
19
+ cellEditorPlugins: null,
20
+ set: () => {
21
+ // Empty
22
+ }
20
23
  });
21
- // Empty
22
- export function TableContext({ children }) {
23
- const [contextValue, setContextValue] = useState({
24
- cellEditorConfig: null,
25
- cellEditorPlugins: null
26
- });
27
- return /*#__PURE__*/ _jsxDEV(CellContext, {
28
- value: useMemo(()=>({
29
- cellEditorConfig: contextValue.cellEditorConfig,
30
- cellEditorPlugins: contextValue.cellEditorPlugins,
31
- set: (cellEditorConfig, cellEditorPlugins)=>{
32
- setContextValue({
33
- cellEditorConfig,
34
- cellEditorPlugins
35
- });
36
- }
37
- }), [
38
- contextValue.cellEditorConfig,
39
- contextValue.cellEditorPlugins
40
- ]),
41
- children: children
42
- }, void 0, false, {
43
- fileName: "src/features/experimental_table/client/plugins/TablePlugin/index.tsx",
44
- lineNumber: 67,
45
- columnNumber: 5
46
- }, this);
24
+ export function TableContext({
25
+ children
26
+ }) {
27
+ const [contextValue, setContextValue] = useState({
28
+ cellEditorConfig: null,
29
+ cellEditorPlugins: null
30
+ });
31
+ return /*#__PURE__*/_jsx(CellContext, {
32
+ value: useMemo(() => ({
33
+ cellEditorConfig: contextValue.cellEditorConfig,
34
+ cellEditorPlugins: contextValue.cellEditorPlugins,
35
+ set: (cellEditorConfig, cellEditorPlugins) => {
36
+ setContextValue({
37
+ cellEditorConfig,
38
+ cellEditorPlugins
39
+ });
40
+ }
41
+ }), [contextValue.cellEditorConfig, contextValue.cellEditorPlugins]),
42
+ children: children
43
+ });
47
44
  }
48
- export const TablePlugin = ()=>{
49
- const [editor] = useLexicalComposerContext();
50
- const cellContext = use(CellContext);
51
- const editDepth = useEditDepth();
52
- const { fieldProps: { schemaPath }, uuid } = useEditorConfigContext();
53
- const drawerSlug = formatDrawerSlug({
54
- slug: 'lexical-table-create-' + uuid,
55
- depth: editDepth
45
+ export const TablePlugin = () => {
46
+ const $ = _c(16);
47
+ const [editor] = useLexicalComposerContext();
48
+ const cellContext = use(CellContext);
49
+ const editDepth = useEditDepth();
50
+ const {
51
+ fieldProps: t0,
52
+ uuid
53
+ } = useEditorConfigContext();
54
+ const {
55
+ schemaPath
56
+ } = t0;
57
+ const t1 = "lexical-table-create-" + uuid;
58
+ let t2;
59
+ if ($[0] !== editDepth || $[1] !== t1) {
60
+ t2 = formatDrawerSlug({
61
+ slug: t1,
62
+ depth: editDepth
56
63
  });
57
- const { toggleDrawer } = useLexicalDrawer(drawerSlug, true);
58
- useEffect(()=>{
59
- if (!editor.hasNodes([
60
- TableNode,
61
- TableRowNode,
62
- TableCellNode
63
- ])) {
64
- throw new Error('TablePlugin: TableNode, TableRowNode, or TableCellNode is not registered on editor');
64
+ $[0] = editDepth;
65
+ $[1] = t1;
66
+ $[2] = t2;
67
+ } else {
68
+ t2 = $[2];
69
+ }
70
+ const drawerSlug = t2;
71
+ const {
72
+ toggleDrawer
73
+ } = useLexicalDrawer(drawerSlug, true);
74
+ let t3;
75
+ if ($[3] !== editor || $[4] !== toggleDrawer) {
76
+ t3 = () => {
77
+ if (!editor.hasNodes([TableNode, TableRowNode, TableCellNode])) {
78
+ throw new Error("TablePlugin: TableNode, TableRowNode, or TableCellNode is not registered on editor");
79
+ }
80
+ return mergeRegister(editor.registerCommand(OPEN_TABLE_DRAWER_COMMAND, () => {
81
+ let rangeSelection = null;
82
+ editor.getEditorState().read(() => {
83
+ const selection = $getSelection();
84
+ if ($isRangeSelection(selection)) {
85
+ rangeSelection = selection;
86
+ }
87
+ });
88
+ if (rangeSelection) {
89
+ toggleDrawer();
65
90
  }
66
- return mergeRegister(editor.registerCommand(OPEN_TABLE_DRAWER_COMMAND, ()=>{
67
- let rangeSelection = null;
68
- editor.getEditorState().read(()=>{
69
- const selection = $getSelection();
70
- if ($isRangeSelection(selection)) {
71
- rangeSelection = selection;
72
- }
73
- });
74
- if (rangeSelection) {
75
- toggleDrawer();
76
- }
77
- return true;
78
- }, COMMAND_PRIORITY_EDITOR));
79
- }, [
80
- cellContext,
81
- editor,
82
- toggleDrawer
83
- ]);
84
- return /*#__PURE__*/ _jsxDEV(React.Fragment, {
85
- children: [
86
- /*#__PURE__*/ _jsxDEV(FieldsDrawer, {
87
- drawerSlug: drawerSlug,
88
- drawerTitle: "Create Table",
89
- featureKey: "experimental_table",
90
- handleDrawerSubmit: (_fields, data)=>{
91
- if (!data.columns || !data.rows) {
92
- return;
93
- }
94
- editor.dispatchCommand(INSERT_TABLE_COMMAND, {
95
- columns: String(data.columns),
96
- rows: String(data.rows)
97
- });
98
- },
99
- schemaPath: schemaPath,
100
- schemaPathSuffix: "fields"
101
- }, void 0, false, {
102
- fileName: "src/features/experimental_table/client/plugins/TablePlugin/index.tsx",
103
- lineNumber: 131,
104
- columnNumber: 7
105
- }, this),
106
- /*#__PURE__*/ _jsxDEV(LexicalReactTablePlugin, {
107
- hasCellBackgroundColor: false,
108
- hasCellMerge: true,
109
- hasHorizontalScroll: true
110
- }, void 0, false, {
111
- fileName: "src/features/experimental_table/client/plugins/TablePlugin/index.tsx",
112
- lineNumber: 148,
113
- columnNumber: 7
114
- }, this)
115
- ]
116
- }, void 0, true, {
117
- fileName: "src/features/experimental_table/client/plugins/TablePlugin/index.tsx",
118
- lineNumber: 130,
119
- columnNumber: 5
120
- }, this);
91
+ return true;
92
+ }, COMMAND_PRIORITY_EDITOR));
93
+ };
94
+ $[3] = editor;
95
+ $[4] = toggleDrawer;
96
+ $[5] = t3;
97
+ } else {
98
+ t3 = $[5];
99
+ }
100
+ let t4;
101
+ if ($[6] !== cellContext || $[7] !== editor || $[8] !== toggleDrawer) {
102
+ t4 = [cellContext, editor, toggleDrawer];
103
+ $[6] = cellContext;
104
+ $[7] = editor;
105
+ $[8] = toggleDrawer;
106
+ $[9] = t4;
107
+ } else {
108
+ t4 = $[9];
109
+ }
110
+ useEffect(t3, t4);
111
+ let t5;
112
+ if ($[10] !== editor) {
113
+ t5 = (_fields, data) => {
114
+ if (!data.columns || !data.rows) {
115
+ return;
116
+ }
117
+ editor.dispatchCommand(INSERT_TABLE_COMMAND, {
118
+ columns: String(data.columns),
119
+ rows: String(data.rows)
120
+ });
121
+ };
122
+ $[10] = editor;
123
+ $[11] = t5;
124
+ } else {
125
+ t5 = $[11];
126
+ }
127
+ let t6;
128
+ if ($[12] !== drawerSlug || $[13] !== schemaPath || $[14] !== t5) {
129
+ t6 = _jsxs(React.Fragment, {
130
+ children: [_jsx(FieldsDrawer, {
131
+ drawerSlug,
132
+ drawerTitle: "Create Table",
133
+ featureKey: "experimental_table",
134
+ handleDrawerSubmit: t5,
135
+ schemaPath,
136
+ schemaPathSuffix: "fields"
137
+ }), _jsx(LexicalReactTablePlugin, {
138
+ hasCellBackgroundColor: false,
139
+ hasCellMerge: true,
140
+ hasHorizontalScroll: true
141
+ })]
142
+ });
143
+ $[12] = drawerSlug;
144
+ $[13] = schemaPath;
145
+ $[14] = t5;
146
+ $[15] = t6;
147
+ } else {
148
+ t6 = $[15];
149
+ }
150
+ return t6;
121
151
  };
122
-
123
152
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/features/experimental_table/client/plugins/TablePlugin/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n EditorThemeClasses,\n Klass,\n LexicalCommand,\n LexicalEditor,\n LexicalNode,\n RangeSelection,\n} from 'lexical'\nimport type { JSX } from 'react'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { TablePlugin as LexicalReactTablePlugin } from '@lexical/react/LexicalTablePlugin'\nimport { INSERT_TABLE_COMMAND, TableCellNode, TableNode, TableRowNode } from '@lexical/table'\nimport { mergeRegister } from '@lexical/utils'\nimport { formatDrawerSlug, useEditDepth } from '@payloadcms/ui'\nimport { $getSelection, $isRangeSelection, COMMAND_PRIORITY_EDITOR, createCommand } from 'lexical'\nimport { createContext, use, useEffect, useMemo, useState } from 'react'\nimport * as React from 'react'\n\nimport type { PluginComponent } from '../../../../typesClient.js'\n\nimport { useEditorConfigContext } from '../../../../../lexical/config/client/EditorConfigProvider.js'\nimport { FieldsDrawer } from '../../../../../utilities/fieldsDrawer/Drawer.js'\nimport { useLexicalDrawer } from '../../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport './index.scss'\n\nexport type CellContextShape = {\n cellEditorConfig: CellEditorConfig | null\n cellEditorPlugins: Array<JSX.Element> | JSX.Element | null\n set: (\n cellEditorConfig: CellEditorConfig | null,\n cellEditorPlugins: Array<JSX.Element> | JSX.Element | null,\n ) => void\n}\n\nexport type CellEditorConfig = Readonly<{\n namespace: string\n nodes?: ReadonlyArray<Klass<LexicalNode>>\n onError: (error: Error, editor: LexicalEditor) => void\n readOnly?: boolean\n theme?: EditorThemeClasses\n}>\n\nexport const OPEN_TABLE_DRAWER_COMMAND: LexicalCommand<{}> = createCommand(\n 'OPEN_EMBED_DRAWER_COMMAND',\n)\n\nexport const CellContext = createContext<CellContextShape>({\n cellEditorConfig: null,\n cellEditorPlugins: null,\n set: () => {\n // Empty\n },\n})\n\nexport function TableContext({ children }: { children: JSX.Element }) {\n const [contextValue, setContextValue] = useState<{\n cellEditorConfig: CellEditorConfig | null\n cellEditorPlugins: Array<JSX.Element> | JSX.Element | null\n }>({\n cellEditorConfig: null,\n cellEditorPlugins: null,\n })\n return (\n <CellContext\n value={useMemo(\n () => ({\n cellEditorConfig: contextValue.cellEditorConfig,\n cellEditorPlugins: contextValue.cellEditorPlugins,\n set: (cellEditorConfig, cellEditorPlugins) => {\n setContextValue({ cellEditorConfig, cellEditorPlugins })\n },\n }),\n [contextValue.cellEditorConfig, contextValue.cellEditorPlugins],\n )}\n >\n {children}\n </CellContext>\n )\n}\n\nexport const TablePlugin: PluginComponent = () => {\n const [editor] = useLexicalComposerContext()\n const cellContext = use(CellContext)\n const editDepth = useEditDepth()\n const {\n fieldProps: { schemaPath },\n uuid,\n } = useEditorConfigContext()\n\n const drawerSlug = formatDrawerSlug({\n slug: 'lexical-table-create-' + uuid,\n depth: editDepth,\n })\n const { toggleDrawer } = useLexicalDrawer(drawerSlug, true)\n\n useEffect(() => {\n if (!editor.hasNodes([TableNode, TableRowNode, TableCellNode])) {\n throw new Error(\n 'TablePlugin: TableNode, TableRowNode, or TableCellNode is not registered on editor',\n )\n }\n\n return mergeRegister(\n editor.registerCommand(\n OPEN_TABLE_DRAWER_COMMAND,\n () => {\n let rangeSelection: null | RangeSelection = null\n\n editor.getEditorState().read(() => {\n const selection = $getSelection()\n if ($isRangeSelection(selection)) {\n rangeSelection = selection\n }\n })\n\n if (rangeSelection) {\n toggleDrawer()\n }\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n ),\n )\n }, [cellContext, editor, toggleDrawer])\n\n return (\n <React.Fragment>\n <FieldsDrawer\n drawerSlug={drawerSlug}\n drawerTitle=\"Create Table\"\n featureKey=\"experimental_table\"\n handleDrawerSubmit={(_fields, data) => {\n if (!data.columns || !data.rows) {\n return\n }\n\n editor.dispatchCommand(INSERT_TABLE_COMMAND, {\n columns: String(data.columns),\n rows: String(data.rows),\n })\n }}\n schemaPath={schemaPath}\n schemaPathSuffix=\"fields\"\n />\n <LexicalReactTablePlugin\n hasCellBackgroundColor={false}\n hasCellMerge\n hasHorizontalScroll={true}\n />\n </React.Fragment>\n )\n}\n"],"names":["useLexicalComposerContext","TablePlugin","LexicalReactTablePlugin","INSERT_TABLE_COMMAND","TableCellNode","TableNode","TableRowNode","mergeRegister","formatDrawerSlug","useEditDepth","$getSelection","$isRangeSelection","COMMAND_PRIORITY_EDITOR","createCommand","createContext","use","useEffect","useMemo","useState","React","useEditorConfigContext","FieldsDrawer","useLexicalDrawer","OPEN_TABLE_DRAWER_COMMAND","CellContext","cellEditorConfig","cellEditorPlugins","set","TableContext","children","contextValue","setContextValue","value","editor","cellContext","editDepth","fieldProps","schemaPath","uuid","drawerSlug","slug","depth","toggleDrawer","hasNodes","Error","registerCommand","rangeSelection","getEditorState","read","selection","Fragment","drawerTitle","featureKey","handleDrawerSubmit","_fields","data","columns","rows","dispatchCommand","String","schemaPathSuffix","hasCellBackgroundColor","hasCellMerge","hasHorizontalScroll"],"mappings":"AAAA;;AAYA,SAASA,yBAAyB,QAAQ,wCAAuC;AACjF,SAASC,eAAeC,uBAAuB,QAAQ,oCAAmC;AAC1F,SAASC,oBAAoB,EAAEC,aAAa,EAAEC,SAAS,EAAEC,YAAY,QAAQ,iBAAgB;AAC7F,SAASC,aAAa,QAAQ,iBAAgB;AAC9C,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,iBAAgB;AAC/D,SAASC,aAAa,EAAEC,iBAAiB,EAAEC,uBAAuB,EAAEC,aAAa,QAAQ,UAAS;AAClG,SAASC,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAO;AACxE,YAAYC,WAAW,QAAO;AAI9B,SAASC,sBAAsB,QAAQ,+DAA8D;AACrG,SAASC,YAAY,QAAQ,kDAAiD;AAC9E,SAASC,gBAAgB,QAAQ,4DAA2D;AAC5F,OAAO,eAAc;AAmBrB,OAAO,MAAMC,4BAAgDV,cAC3D,6BACD;AAED,OAAO,MAAMW,4BAAcV,cAAgC;IACzDW,kBAAkB;IAClBC,mBAAmB;IACnBC,KAAK,KAEL;AACF,GAAE;AAFE,QAAQ;AAIZ,OAAO,SAASC,aAAa,EAAEC,QAAQ,EAA6B;IAClE,MAAM,CAACC,cAAcC,gBAAgB,GAAGb,SAGrC;QACDO,kBAAkB;QAClBC,mBAAmB;IACrB;IACA,qBACE,QAACF;QACCQ,OAAOf,QACL,IAAO,CAAA;gBACLQ,kBAAkBK,aAAaL,gBAAgB;gBAC/CC,mBAAmBI,aAAaJ,iBAAiB;gBACjDC,KAAK,CAACF,kBAAkBC;oBACtBK,gBAAgB;wBAAEN;wBAAkBC;oBAAkB;gBACxD;YACF,CAAA,GACA;YAACI,aAAaL,gBAAgB;YAAEK,aAAaJ,iBAAiB;SAAC;kBAGhEG;;;;;;AAGP;AAEA,OAAO,MAAM5B,cAA+B;IAC1C,MAAM,CAACgC,OAAO,GAAGjC;IACjB,MAAMkC,cAAcnB,IAAIS;IACxB,MAAMW,YAAY1B;IAClB,MAAM,EACJ2B,YAAY,EAAEC,UAAU,EAAE,EAC1BC,IAAI,EACL,GAAGlB;IAEJ,MAAMmB,aAAa/B,iBAAiB;QAClCgC,MAAM,0BAA0BF;QAChCG,OAAON;IACT;IACA,MAAM,EAAEO,YAAY,EAAE,GAAGpB,iBAAiBiB,YAAY;IAEtDvB,UAAU;QACR,IAAI,CAACiB,OAAOU,QAAQ,CAAC;YAACtC;YAAWC;YAAcF;SAAc,GAAG;YAC9D,MAAM,IAAIwC,MACR;QAEJ;QAEA,OAAOrC,cACL0B,OAAOY,eAAe,CACpBtB,2BACA;YACE,IAAIuB,iBAAwC;YAE5Cb,OAAOc,cAAc,GAAGC,IAAI,CAAC;gBAC3B,MAAMC,YAAYvC;gBAClB,IAAIC,kBAAkBsC,YAAY;oBAChCH,iBAAiBG;gBACnB;YACF;YAEA,IAAIH,gBAAgB;gBAClBJ;YACF;YACA,OAAO;QACT,GACA9B;IAGN,GAAG;QAACsB;QAAaD;QAAQS;KAAa;IAEtC,qBACE,QAACvB,MAAM+B,QAAQ;;0BACb,QAAC7B;gBACCkB,YAAYA;gBACZY,aAAY;gBACZC,YAAW;gBACXC,oBAAoB,CAACC,SAASC;oBAC5B,IAAI,CAACA,KAAKC,OAAO,IAAI,CAACD,KAAKE,IAAI,EAAE;wBAC/B;oBACF;oBAEAxB,OAAOyB,eAAe,CAACvD,sBAAsB;wBAC3CqD,SAASG,OAAOJ,KAAKC,OAAO;wBAC5BC,MAAME,OAAOJ,KAAKE,IAAI;oBACxB;gBACF;gBACApB,YAAYA;gBACZuB,kBAAiB;;;;;;0BAEnB,QAAC1D;gBACC2D,wBAAwB;gBACxBC,YAAY;gBACZC,qBAAqB;;;;;;;;;;;;AAI7B,EAAC"}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","TablePlugin","LexicalReactTablePlugin","INSERT_TABLE_COMMAND","TableCellNode","TableNode","TableRowNode","mergeRegister","formatDrawerSlug","useEditDepth","$getSelection","$isRangeSelection","COMMAND_PRIORITY_EDITOR","createCommand","createContext","use","useEffect","useMemo","useState","React","useEditorConfigContext","FieldsDrawer","useLexicalDrawer","OPEN_TABLE_DRAWER_COMMAND","CellContext","cellEditorConfig","cellEditorPlugins","set","TableContext","children","contextValue","setContextValue","_jsx","value","$","editor","cellContext","editDepth","fieldProps","t0","uuid","schemaPath","t1","t2","slug","depth","drawerSlug","toggleDrawer","t3","hasNodes","Error","registerCommand","rangeSelection","getEditorState","read","selection","t4","t5","_fields","data","columns","rows","dispatchCommand","String","t6","_jsxs","Fragment","drawerTitle","featureKey","handleDrawerSubmit","schemaPathSuffix","hasCellBackgroundColor","hasCellMerge","hasHorizontalScroll"],"sources":["../../../../../../src/features/experimental_table/client/plugins/TablePlugin/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n EditorThemeClasses,\n Klass,\n LexicalCommand,\n LexicalEditor,\n LexicalNode,\n RangeSelection,\n} from 'lexical'\nimport type { JSX } from 'react'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { TablePlugin as LexicalReactTablePlugin } from '@lexical/react/LexicalTablePlugin'\nimport { INSERT_TABLE_COMMAND, TableCellNode, TableNode, TableRowNode } from '@lexical/table'\nimport { mergeRegister } from '@lexical/utils'\nimport { formatDrawerSlug, useEditDepth } from '@payloadcms/ui'\nimport { $getSelection, $isRangeSelection, COMMAND_PRIORITY_EDITOR, createCommand } from 'lexical'\nimport { createContext, use, useEffect, useMemo, useState } from 'react'\nimport * as React from 'react'\n\nimport type { PluginComponent } from '../../../../typesClient.js'\n\nimport { useEditorConfigContext } from '../../../../../lexical/config/client/EditorConfigProvider.js'\nimport { FieldsDrawer } from '../../../../../utilities/fieldsDrawer/Drawer.js'\nimport { useLexicalDrawer } from '../../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport './index.scss'\n\nexport type CellContextShape = {\n cellEditorConfig: CellEditorConfig | null\n cellEditorPlugins: Array<JSX.Element> | JSX.Element | null\n set: (\n cellEditorConfig: CellEditorConfig | null,\n cellEditorPlugins: Array<JSX.Element> | JSX.Element | null,\n ) => void\n}\n\nexport type CellEditorConfig = Readonly<{\n namespace: string\n nodes?: ReadonlyArray<Klass<LexicalNode>>\n onError: (error: Error, editor: LexicalEditor) => void\n readOnly?: boolean\n theme?: EditorThemeClasses\n}>\n\nexport const OPEN_TABLE_DRAWER_COMMAND: LexicalCommand<{}> = createCommand(\n 'OPEN_EMBED_DRAWER_COMMAND',\n)\n\nexport const CellContext = createContext<CellContextShape>({\n cellEditorConfig: null,\n cellEditorPlugins: null,\n set: () => {\n // Empty\n },\n})\n\nexport function TableContext({ children }: { children: JSX.Element }) {\n const [contextValue, setContextValue] = useState<{\n cellEditorConfig: CellEditorConfig | null\n cellEditorPlugins: Array<JSX.Element> | JSX.Element | null\n }>({\n cellEditorConfig: null,\n cellEditorPlugins: null,\n })\n return (\n <CellContext\n value={useMemo(\n () => ({\n cellEditorConfig: contextValue.cellEditorConfig,\n cellEditorPlugins: contextValue.cellEditorPlugins,\n set: (cellEditorConfig, cellEditorPlugins) => {\n setContextValue({ cellEditorConfig, cellEditorPlugins })\n },\n }),\n [contextValue.cellEditorConfig, contextValue.cellEditorPlugins],\n )}\n >\n {children}\n </CellContext>\n )\n}\n\nexport const TablePlugin: PluginComponent = () => {\n const [editor] = useLexicalComposerContext()\n const cellContext = use(CellContext)\n const editDepth = useEditDepth()\n const {\n fieldProps: { schemaPath },\n uuid,\n } = useEditorConfigContext()\n\n const drawerSlug = formatDrawerSlug({\n slug: 'lexical-table-create-' + uuid,\n depth: editDepth,\n })\n const { toggleDrawer } = useLexicalDrawer(drawerSlug, true)\n\n useEffect(() => {\n if (!editor.hasNodes([TableNode, TableRowNode, TableCellNode])) {\n throw new Error(\n 'TablePlugin: TableNode, TableRowNode, or TableCellNode is not registered on editor',\n )\n }\n\n return mergeRegister(\n editor.registerCommand(\n OPEN_TABLE_DRAWER_COMMAND,\n () => {\n let rangeSelection: null | RangeSelection = null\n\n editor.getEditorState().read(() => {\n const selection = $getSelection()\n if ($isRangeSelection(selection)) {\n rangeSelection = selection\n }\n })\n\n if (rangeSelection) {\n toggleDrawer()\n }\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n ),\n )\n }, [cellContext, editor, toggleDrawer])\n\n return (\n <React.Fragment>\n <FieldsDrawer\n drawerSlug={drawerSlug}\n drawerTitle=\"Create Table\"\n featureKey=\"experimental_table\"\n handleDrawerSubmit={(_fields, data) => {\n if (!data.columns || !data.rows) {\n return\n }\n\n editor.dispatchCommand(INSERT_TABLE_COMMAND, {\n columns: String(data.columns),\n rows: String(data.rows),\n })\n }}\n schemaPath={schemaPath}\n schemaPathSuffix=\"fields\"\n />\n <LexicalReactTablePlugin\n hasCellBackgroundColor={false}\n hasCellMerge\n hasHorizontalScroll={true}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAYA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,WAAA,IAAeC,uBAAuB,QAAQ;AACvD,SAASC,oBAAoB,EAAEC,aAAa,EAAEC,SAAS,EAAEC,YAAY,QAAQ;AAC7E,SAASC,aAAa,QAAQ;AAC9B,SAASC,gBAAgB,EAAEC,YAAY,QAAQ;AAC/C,SAASC,aAAa,EAAEC,iBAAiB,EAAEC,uBAAuB,EAAEC,aAAa,QAAQ;AACzF,SAASC,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AACjE,YAAYC,KAAA,MAAW;AAIvB,SAASC,sBAAsB,QAAQ;AACvC,SAASC,YAAY,QAAQ;AAC7B,SAASC,gBAAgB,QAAQ;AAoBjC,OAAO,MAAMC,yBAAA,GAAgDV,aAAA,CAC3D;AAGF,OAAO,MAAMW,WAAA,gBAAcV,aAAA,CAAgC;EACzDW,gBAAA,EAAkB;EAClBC,iBAAA,EAAmB;EACnBC,GAAA,EAAKA,CAAA;IACH;EAAA;AAEJ;AAEA,OAAO,SAASC,aAAa;EAAEC;AAAQ,CAA6B;EAClE,MAAM,CAACC,YAAA,EAAcC,eAAA,CAAgB,GAAGb,QAAA,CAGrC;IACDO,gBAAA,EAAkB;IAClBC,iBAAA,EAAmB;EACrB;EACA,oBACEM,IAAA,CAACR,WAAA;IACCS,KAAA,EAAOhB,OAAA,CACL,OAAO;MACLQ,gBAAA,EAAkBK,YAAA,CAAaL,gBAAgB;MAC/CC,iBAAA,EAAmBI,YAAA,CAAaJ,iBAAiB;MACjDC,GAAA,EAAKA,CAACF,gBAAA,EAAkBC,iBAAA;QACtBK,eAAA,CAAgB;UAAEN,gBAAA;UAAkBC;QAAkB;MACxD;IACF,IACA,CAACI,YAAA,CAAaL,gBAAgB,EAAEK,YAAA,CAAaJ,iBAAiB,CAAC;cAGhEG;;AAGP;AAEA,OAAO,MAAM5B,WAAA,GAA+BA,CAAA;EAAA,MAAAiC,CAAA,GAAAnC,EAAA;EAC1C,OAAAoC,MAAA,IAAiBnC,yBAAA;EACjB,MAAAoC,WAAA,GAAoBrB,GAAA,CAAAS,WAAI;EACxB,MAAAa,SAAA,GAAkB5B,YAAA;EAClB;IAAA6B,UAAA,EAAAC,EAAA;IAAAC;EAAA,IAGIpB,sBAAA;EAFU;IAAAqB;EAAA,IAAAF,EAAc;EAKpB,MAAAG,EAAA,6BAA0BF,IAAA;EAAA,IAAAG,EAAA;EAAA,IAAAT,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAQ,EAAA;IADfC,EAAA,GAAAnC,gBAAA;MAAAoC,IAAA,EACXF,EAA0B;MAAAG,KAAA,EACzBR;IAAA,CACT;IAAAH,CAAA,MAAAG,SAAA;IAAAH,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAHA,MAAAY,UAAA,GAAmBH,EAGnB;EACA;IAAAI;EAAA,IAAyBzB,gBAAA,CAAiBwB,UAAA,MAAY;EAAA,IAAAE,EAAA;EAAA,IAAAd,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAa,YAAA;IAE5CC,EAAA,GAAAA,CAAA;MAAA,KACHb,MAAA,CAAAc,QAAA,EAAA5C,SAAA,EAAAC,YAAA,EAAAF,aAAA,CAAwD;QAAA,UAAA8C,KAAA,CAEzD;MAAA;MAAA,OAIG3C,aAAA,CACL4B,MAAA,CAAAgB,eAAA,CAAA5B,yBAAA;QAGI,IAAA6B,cAAA;QAEAjB,MAAA,CAAAkB,cAAA,CAAqB,EAAAC,IAAA;UACnB,MAAAC,SAAA,GAAkB7C,aAAA;UAAA,IACdC,iBAAA,CAAkB4C,SAAA;YACpBH,cAAA,CAAAA,CAAA,CAAiBG,SAAA;UAAjB;QAAA,CAEJ;QAAA,IAEIH,cAAA;UACFL,YAAA;QAAA;QAAA;MAAA,GAAAnC,uBAIJ;IAAA;IAGNsB,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAa,YAAA;IAAAb,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAAA,IAAAsB,EAAA;EAAA,IAAAtB,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAa,YAAA;IAAGS,EAAA,IAACpB,WAAA,EAAaD,MAAA,EAAQY,YAAA;IAAab,CAAA,MAAAE,WAAA;IAAAF,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAa,YAAA;IAAAb,CAAA,MAAAsB,EAAA;EAAA;IAAAA,EAAA,GAAAtB,CAAA;EAAA;EA5BtClB,SAAA,CAAUgC,EA4BV,EAAGQ,EAAmC;EAAA,IAAAC,EAAA;EAAA,IAAAvB,CAAA,SAAAC,MAAA;IAQZsB,EAAA,GAAAA,CAAAC,OAAA,EAAAC,IAAA;MAAA,IACd,CAACA,IAAA,CAAAC,OAAA,KAAiBD,IAAA,CAAAE,IAAS;QAAA;MAAA;MAI/B1B,MAAA,CAAA2B,eAAA,CAAA3D,oBAAA;QAAAyD,OAAA,EACWG,MAAA,CAAOJ,IAAA,CAAAC,OAAY;QAAAC,IAAA,EACtBE,MAAA,CAAOJ,IAAA,CAAAE,IAAS;MAAA,CACxB;IAAA;IACF3B,CAAA,OAAAC,MAAA;IAAAD,CAAA,OAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EAAA,IAAA8B,EAAA;EAAA,IAAA9B,CAAA,SAAAY,UAAA,IAAAZ,CAAA,SAAAO,UAAA,IAAAP,CAAA,SAAAuB,EAAA;IAdJO,EAAA,GAAAC,KAAA,CAAA9C,KAAA,CAAA+C,QAAA;MAAArC,QAAA,GACEG,IAAA,CAAAX,YAAA;QAAAyB,UAAA;QAAAqB,WAAA,EAEc;QAAAC,UAAA,EACD;QAAAC,kBAAA,EACSZ,EASpB;QAAAhB,UAAA;QAAA6B,gBAAA,EAEiB;MAAA,C,GAEnBtC,IAAA,CAAA9B,uBAAA;QAAAqE,sBAAA;QAAAC,YAAA;QAAAC,mBAAA;MAAA,C;;;;;;;;;SAlBFT,E;CAyBJ","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2
2
  // @ts-nocheck - not worth it migrate jsdoc to tsdoc
3
3
  'use client';
4
+
4
5
  // Copied & modified from https://github.com/lodash/lodash/blob/main/src/debounce.ts
5
6
  /*
6
7
  The MIT License
@@ -52,8 +53,11 @@ Files located in the node_modules and vendor directories are externally
52
53
  maintained libraries used by this software which have their own
53
54
  licenses; we recommend you read them, as their terms may differ from the
54
55
  terms above.
55
- */ /** Error message constants. */ const FUNC_ERROR_TEXT = 'Expected a function';
56
- /* Built-in method references for those with the same name as other `lodash` methods. */ const nativeMax = Math.max, nativeMin = Math.min;
56
+ */ /** Error message constants. */
57
+ const FUNC_ERROR_TEXT = 'Expected a function';
58
+ /* Built-in method references for those with the same name as other `lodash` methods. */
59
+ const nativeMax = Math.max,
60
+ nativeMin = Math.min;
57
61
  /**
58
62
  * Creates a debounced function that delays invoking `func` until after `wait`
59
63
  * milliseconds have elapsed since the last time the debounced function was
@@ -107,100 +111,114 @@ terms above.
107
111
  *
108
112
  * // Cancel the trailing debounced invocation.
109
113
  * jQuery(window).on('popstate', debounced.cancel);
110
- */ function debounce(func, wait, options) {
111
- let lastArgs, lastCallTime, lastInvokeTime = 0, lastThis, leading = false, maxing = false, maxWait, result, timerID, trailing = true;
112
- if (typeof func != 'function') {
113
- throw new TypeError(FUNC_ERROR_TEXT);
114
+ */
115
+ function debounce(func, wait, options) {
116
+ let lastArgs,
117
+ lastCallTime,
118
+ lastInvokeTime = 0,
119
+ lastThis,
120
+ leading = false,
121
+ maxing = false,
122
+ maxWait,
123
+ result,
124
+ timerID,
125
+ trailing = true;
126
+ if (typeof func != 'function') {
127
+ throw new TypeError(FUNC_ERROR_TEXT);
128
+ }
129
+ wait = wait || 0;
130
+ if (typeof options === 'object') {
131
+ leading = !!options.leading;
132
+ maxing = 'maxWait' in options;
133
+ maxWait = maxing ? nativeMax(options.maxWait || 0, wait) : maxWait;
134
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
135
+ }
136
+ function invokeFunc(time) {
137
+ const args = lastArgs,
138
+ thisArg = lastThis;
139
+ lastArgs = lastThis = undefined;
140
+ lastInvokeTime = time;
141
+ result = func.apply(thisArg, args);
142
+ return result;
143
+ }
144
+ function leadingEdge(time) {
145
+ // Reset any `maxWait` timer.
146
+ lastInvokeTime = time;
147
+ // Start the timer for the trailing edge.
148
+ timerID = setTimeout(timerExpired, wait);
149
+ // Invoke the leading edge.
150
+ return leading ? invokeFunc(time) : result;
151
+ }
152
+ function remainingWait(time) {
153
+ const timeSinceLastCall = time - lastCallTime,
154
+ timeSinceLastInvoke = time - lastInvokeTime,
155
+ timeWaiting = wait - timeSinceLastCall;
156
+ return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
157
+ }
158
+ function shouldInvoke(time) {
159
+ const timeSinceLastCall = time - lastCallTime,
160
+ timeSinceLastInvoke = time - lastInvokeTime;
161
+ // Either this is the first call, activity has stopped and we're at the
162
+ // trailing edge, the system time has gone backwards and we're treating
163
+ // it as the trailing edge, or we've hit the `maxWait` limit.
164
+ return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
165
+ }
166
+ function timerExpired() {
167
+ const time = Date.now();
168
+ if (shouldInvoke(time)) {
169
+ return trailingEdge(time);
114
170
  }
115
- wait = wait || 0;
116
- if (typeof options === 'object') {
117
- leading = !!options.leading;
118
- maxing = 'maxWait' in options;
119
- maxWait = maxing ? nativeMax(options.maxWait || 0, wait) : maxWait;
120
- trailing = 'trailing' in options ? !!options.trailing : trailing;
171
+ // Restart the timer.
172
+ timerID = setTimeout(timerExpired, remainingWait(time));
173
+ }
174
+ function trailingEdge(time) {
175
+ timerID = undefined;
176
+ // Only invoke if we have `lastArgs` which means `func` has been
177
+ // debounced at least once.
178
+ if (trailing && lastArgs) {
179
+ return invokeFunc(time);
121
180
  }
122
- function invokeFunc(time) {
123
- const args = lastArgs, thisArg = lastThis;
124
- lastArgs = lastThis = undefined;
125
- lastInvokeTime = time;
126
- result = func.apply(thisArg, args);
127
- return result;
181
+ lastArgs = lastThis = undefined;
182
+ return result;
183
+ }
184
+ function cancel() {
185
+ if (timerID !== undefined) {
186
+ clearTimeout(timerID);
128
187
  }
129
- function leadingEdge(time) {
130
- // Reset any `maxWait` timer.
131
- lastInvokeTime = time;
132
- // Start the timer for the trailing edge.
188
+ lastInvokeTime = 0;
189
+ lastArgs = lastCallTime = lastThis = timerID = undefined;
190
+ }
191
+ function flush() {
192
+ return timerID === undefined ? result : trailingEdge(Date.now());
193
+ }
194
+ function debounced() {
195
+ const time = Date.now(),
196
+ isInvoking = shouldInvoke(time);
197
+ // eslint-disable-next-line prefer-rest-params
198
+ lastArgs = arguments;
199
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
200
+ lastThis = this;
201
+ lastCallTime = time;
202
+ if (isInvoking) {
203
+ if (timerID === undefined) {
204
+ return leadingEdge(lastCallTime);
205
+ }
206
+ if (maxing) {
207
+ // Handle invocations in a tight loop.
208
+ clearTimeout(timerID);
133
209
  timerID = setTimeout(timerExpired, wait);
134
- // Invoke the leading edge.
135
- return leading ? invokeFunc(time) : result;
136
- }
137
- function remainingWait(time) {
138
- const timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
139
- return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
140
- }
141
- function shouldInvoke(time) {
142
- const timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
143
- // Either this is the first call, activity has stopped and we're at the
144
- // trailing edge, the system time has gone backwards and we're treating
145
- // it as the trailing edge, or we've hit the `maxWait` limit.
146
- return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
147
- }
148
- function timerExpired() {
149
- const time = Date.now();
150
- if (shouldInvoke(time)) {
151
- return trailingEdge(time);
152
- }
153
- // Restart the timer.
154
- timerID = setTimeout(timerExpired, remainingWait(time));
210
+ return invokeFunc(lastCallTime);
211
+ }
155
212
  }
156
- function trailingEdge(time) {
157
- timerID = undefined;
158
- // Only invoke if we have `lastArgs` which means `func` has been
159
- // debounced at least once.
160
- if (trailing && lastArgs) {
161
- return invokeFunc(time);
162
- }
163
- lastArgs = lastThis = undefined;
164
- return result;
213
+ if (timerID === undefined) {
214
+ timerID = setTimeout(timerExpired, wait);
165
215
  }
166
- function cancel() {
167
- if (timerID !== undefined) {
168
- clearTimeout(timerID);
169
- }
170
- lastInvokeTime = 0;
171
- lastArgs = lastCallTime = lastThis = timerID = undefined;
172
- }
173
- function flush() {
174
- return timerID === undefined ? result : trailingEdge(Date.now());
175
- }
176
- function debounced() {
177
- const time = Date.now(), isInvoking = shouldInvoke(time);
178
- // eslint-disable-next-line prefer-rest-params
179
- lastArgs = arguments;
180
- // eslint-disable-next-line @typescript-eslint/no-this-alias
181
- lastThis = this;
182
- lastCallTime = time;
183
- if (isInvoking) {
184
- if (timerID === undefined) {
185
- return leadingEdge(lastCallTime);
186
- }
187
- if (maxing) {
188
- // Handle invocations in a tight loop.
189
- clearTimeout(timerID);
190
- timerID = setTimeout(timerExpired, wait);
191
- return invokeFunc(lastCallTime);
192
- }
193
- }
194
- if (timerID === undefined) {
195
- timerID = setTimeout(timerExpired, wait);
196
- }
197
- return result;
198
- }
199
- debounced.cancel = cancel;
200
- debounced.flush = flush;
201
- return debounced;
216
+ return result;
217
+ }
218
+ debounced.cancel = cancel;
219
+ debounced.flush = flush;
220
+ return debounced;
202
221
  }
203
222
  // eslint-disable-next-line no-restricted-exports
204
223
  export default debounce;
205
-
206
224
  //# sourceMappingURL=debounce.js.map