@payloadcms/richtext-lexical 3.78.0-internal-debug.f663370 → 3.78.0-internal.ab11ffa

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 (1110) 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-HJGV32KA.js +2 -0
  10. package/dist/exports/client/Field-HJGV32KA.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-2S5Q7QYO.js +2 -0
  15. package/dist/exports/client/chunk-2S5Q7QYO.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-EZX4YW7S.js +12 -0
  21. package/dist/exports/client/chunk-EZX4YW7S.js.map +7 -0
  22. package/dist/exports/client/chunk-F26IQ5RE.js +2 -0
  23. package/dist/exports/client/chunk-F26IQ5RE.js.map +7 -0
  24. package/dist/exports/client/chunk-INBEEENE.js +2 -0
  25. package/dist/exports/client/chunk-INBEEENE.js.map +7 -0
  26. package/dist/exports/client/chunk-QJ5EETIB.js +2 -0
  27. package/dist/exports/client/chunk-QJ5EETIB.js.map +7 -0
  28. package/dist/exports/client/component-XIHC3W6W.js +2 -0
  29. package/dist/exports/client/component-XIHC3W6W.js.map +7 -0
  30. package/dist/exports/client/componentInline-NL25DNZ5.js +2 -0
  31. package/dist/exports/client/componentInline-NL25DNZ5.js.map +7 -0
  32. package/dist/exports/client/index.d.ts +0 -1
  33. package/dist/exports/client/index.d.ts.map +1 -1
  34. package/dist/exports/client/index.js +65 -86
  35. package/dist/exports/client/index.js.map +7 -1
  36. package/dist/exports/cssEntry.js +0 -1
  37. package/dist/exports/cssEntry.js.map +1 -1
  38. package/dist/exports/html/index.js +0 -1
  39. package/dist/exports/html/index.js.map +1 -1
  40. package/dist/exports/html-async/index.js +0 -1
  41. package/dist/exports/html-async/index.js.map +1 -1
  42. package/dist/exports/plaintext/index.js +0 -1
  43. package/dist/exports/plaintext/index.js.map +1 -1
  44. package/dist/exports/react/index.d.ts +1 -3
  45. package/dist/exports/react/index.d.ts.map +1 -1
  46. package/dist/exports/react/index.js +1 -3
  47. package/dist/exports/react/index.js.map +1 -1
  48. package/dist/exports/server/ast/mdx.js +34 -36
  49. package/dist/exports/server/ast/mdx.js.map +1 -1
  50. package/dist/exports/server/migrate.js +0 -1
  51. package/dist/exports/server/migrate.js.map +1 -1
  52. package/dist/exports/server/rsc.js +0 -1
  53. package/dist/exports/server/rsc.js.map +1 -1
  54. package/dist/exports/shared.js +0 -1
  55. package/dist/exports/shared.js.map +1 -1
  56. package/dist/features/align/client/index.js +195 -168
  57. package/dist/features/align/client/index.js.map +1 -1
  58. package/dist/features/align/client/toolbarAlignGroup.js +9 -9
  59. package/dist/features/align/client/toolbarAlignGroup.js.map +1 -1
  60. package/dist/features/align/server/i18n.js +222 -223
  61. package/dist/features/align/server/i18n.js.map +1 -1
  62. package/dist/features/align/server/index.js +5 -6
  63. package/dist/features/align/server/index.js.map +1 -1
  64. package/dist/features/blockquote/client/index.js +60 -65
  65. package/dist/features/blockquote/client/index.js.map +1 -1
  66. package/dist/features/blockquote/markdownTransformer.js +28 -33
  67. package/dist/features/blockquote/markdownTransformer.js.map +1 -1
  68. package/dist/features/blockquote/server/i18n.js +111 -112
  69. package/dist/features/blockquote/server/i18n.js.map +1 -1
  70. package/dist/features/blockquote/server/index.js +48 -47
  71. package/dist/features/blockquote/server/index.js.map +1 -1
  72. package/dist/features/blocks/client/component/BlockContent.d.ts +4 -7
  73. package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
  74. package/dist/features/blocks/client/component/BlockContent.js +68 -97
  75. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  76. package/dist/features/blocks/client/component/components/BlockCollapsible.js +14 -13
  77. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -1
  78. package/dist/features/blocks/client/component/components/BlockEditButton.js +17 -9
  79. package/dist/features/blocks/client/component/components/BlockEditButton.js.map +1 -1
  80. package/dist/features/blocks/client/component/components/BlockRemoveButton.js +17 -9
  81. package/dist/features/blocks/client/component/components/BlockRemoveButton.js.map +1 -1
  82. package/dist/features/blocks/client/component/index.d.ts +4 -20
  83. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  84. package/dist/features/blocks/client/component/index.js +418 -611
  85. package/dist/features/blocks/client/component/index.js.map +1 -1
  86. package/dist/features/blocks/client/component/removeEmptyArrayValues.js +11 -8
  87. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +1 -1
  88. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js +23 -11
  89. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -1
  90. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js +17 -9
  91. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js.map +1 -1
  92. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js +17 -9
  93. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js.map +1 -1
  94. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js +17 -9
  95. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js.map +1 -1
  96. package/dist/features/blocks/client/componentInline/index.d.ts +14 -8
  97. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  98. package/dist/features/blocks/client/componentInline/index.js +346 -509
  99. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  100. package/dist/features/blocks/client/getBlockImageComponent.js +12 -17
  101. package/dist/features/blocks/client/getBlockImageComponent.js.map +1 -1
  102. package/dist/features/blocks/client/index.js +146 -141
  103. package/dist/features/blocks/client/index.js.map +1 -1
  104. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +18 -18
  105. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  106. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +15 -14
  107. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  108. package/dist/features/blocks/client/markdown/markdownTransformer.js +330 -328
  109. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  110. package/dist/features/blocks/client/nodes/BlocksNode.d.ts +2 -4
  111. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  112. package/dist/features/blocks/client/nodes/BlocksNode.js +40 -46
  113. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  114. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts +2 -4
  115. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -1
  116. package/dist/features/blocks/client/nodes/InlineBlocksNode.js +33 -39
  117. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
  118. package/dist/features/blocks/client/plugin/commands.js +1 -1
  119. package/dist/features/blocks/client/plugin/commands.js.map +1 -1
  120. package/dist/features/blocks/client/plugin/index.js +87 -59
  121. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  122. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +101 -158
  123. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  124. package/dist/features/blocks/premade/CodeBlock/Component/Code.js +93 -119
  125. package/dist/features/blocks/premade/CodeBlock/Component/Code.js.map +1 -1
  126. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js +11 -19
  127. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js.map +1 -1
  128. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js +20 -32
  129. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js.map +1 -1
  130. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js +83 -84
  131. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js.map +1 -1
  132. package/dist/features/blocks/premade/CodeBlock/converter.js +40 -36
  133. package/dist/features/blocks/premade/CodeBlock/converter.js.map +1 -1
  134. package/dist/features/blocks/premade/CodeBlock/converterClient.js +1 -1
  135. package/dist/features/blocks/premade/CodeBlock/converterClient.js.map +1 -1
  136. package/dist/features/blocks/premade/CodeBlock/index.js +49 -49
  137. package/dist/features/blocks/premade/CodeBlock/index.js.map +1 -1
  138. package/dist/features/blocks/server/graphQLPopulationPromise.js +44 -29
  139. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  140. package/dist/features/blocks/server/i18n.js +333 -334
  141. package/dist/features/blocks/server/i18n.js.map +1 -1
  142. package/dist/features/blocks/server/index.js +218 -238
  143. package/dist/features/blocks/server/index.js.map +1 -1
  144. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js +122 -123
  145. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js.map +1 -1
  146. package/dist/features/blocks/server/markdown/markdownTransformer.js +349 -347
  147. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  148. package/dist/features/blocks/server/nodes/BlocksNode.js +90 -86
  149. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  150. package/dist/features/blocks/server/nodes/InlineBlocksNode.js +87 -84
  151. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  152. package/dist/features/blocks/server/validate.js +55 -42
  153. package/dist/features/blocks/server/validate.js.map +1 -1
  154. package/dist/features/converters/htmlToLexical/index.js +24 -21
  155. package/dist/features/converters/htmlToLexical/index.js.map +1 -1
  156. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js +10 -7
  157. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js.map +1 -1
  158. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +10 -7
  159. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  160. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js +1 -2
  161. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js.map +1 -1
  162. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js +1 -2
  163. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js.map +1 -1
  164. package/dist/features/converters/lexicalToHtml/async/converters/link.js +37 -28
  165. package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +1 -1
  166. package/dist/features/converters/lexicalToHtml/async/converters/list.js +26 -18
  167. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  168. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js +12 -9
  169. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js.map +1 -1
  170. package/dist/features/converters/lexicalToHtml/async/converters/tab.js +1 -2
  171. package/dist/features/converters/lexicalToHtml/async/converters/tab.js.map +1 -1
  172. package/dist/features/converters/lexicalToHtml/async/converters/table.js +38 -27
  173. package/dist/features/converters/lexicalToHtml/async/converters/table.js.map +1 -1
  174. package/dist/features/converters/lexicalToHtml/async/converters/text.js +26 -25
  175. package/dist/features/converters/lexicalToHtml/async/converters/text.js.map +1 -1
  176. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +44 -41
  177. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  178. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js +11 -12
  179. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +1 -1
  180. package/dist/features/converters/lexicalToHtml/async/field/index.js +56 -56
  181. package/dist/features/converters/lexicalToHtml/async/field/index.js.map +1 -1
  182. package/dist/features/converters/lexicalToHtml/async/index.js +97 -87
  183. package/dist/features/converters/lexicalToHtml/async/index.js.map +1 -1
  184. package/dist/features/converters/lexicalToHtml/async/types.js +1 -4
  185. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  186. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +62 -57
  187. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  188. package/dist/features/converters/lexicalToHtml/shared/types.js +1 -2
  189. package/dist/features/converters/lexicalToHtml/shared/types.js.map +1 -1
  190. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js +10 -7
  191. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +1 -1
  192. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +10 -7
  193. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  194. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js +1 -2
  195. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +1 -1
  196. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js +1 -2
  197. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +1 -1
  198. package/dist/features/converters/lexicalToHtml/sync/converters/link.js +35 -27
  199. package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +1 -1
  200. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +26 -18
  201. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  202. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js +12 -9
  203. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +1 -1
  204. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js +1 -2
  205. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +1 -1
  206. package/dist/features/converters/lexicalToHtml/sync/converters/table.js +38 -27
  207. package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +1 -1
  208. package/dist/features/converters/lexicalToHtml/sync/converters/text.js +26 -25
  209. package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +1 -1
  210. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +37 -35
  211. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  212. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js +11 -12
  213. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js.map +1 -1
  214. package/dist/features/converters/lexicalToHtml/sync/index.js +92 -84
  215. package/dist/features/converters/lexicalToHtml/sync/index.js.map +1 -1
  216. package/dist/features/converters/lexicalToHtml/sync/types.js +1 -4
  217. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  218. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js +4 -7
  219. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js.map +1 -1
  220. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js +34 -29
  221. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js.map +1 -1
  222. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js +6 -7
  223. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js.map +1 -1
  224. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js +28 -29
  225. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js.map +1 -1
  226. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js +2 -7
  227. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js.map +1 -1
  228. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js +84 -84
  229. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js.map +1 -1
  230. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js +1 -6
  231. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js.map +1 -1
  232. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js +107 -107
  233. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js.map +1 -1
  234. package/dist/features/converters/lexicalToHtml_deprecated/index.js +4 -4
  235. package/dist/features/converters/lexicalToHtml_deprecated/index.js.map +1 -1
  236. package/dist/features/converters/lexicalToJSX/Component/index.d.ts +20 -6
  237. package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +1 -1
  238. package/dist/features/converters/lexicalToJSX/Component/index.js +37 -42
  239. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  240. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js +12 -14
  241. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js.map +1 -1
  242. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +13 -15
  243. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  244. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js +2 -7
  245. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js.map +1 -1
  246. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js +2 -7
  247. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js.map +1 -1
  248. package/dist/features/converters/lexicalToJSX/converter/converters/link.js +47 -49
  249. package/dist/features/converters/lexicalToJSX/converter/converters/link.js.map +1 -1
  250. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +56 -78
  251. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  252. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js +16 -26
  253. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js.map +1 -1
  254. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js +1 -2
  255. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js.map +1 -1
  256. package/dist/features/converters/lexicalToJSX/converter/converters/table.js +59 -73
  257. package/dist/features/converters/lexicalToJSX/converter/converters/table.js.map +1 -1
  258. package/dist/features/converters/lexicalToJSX/converter/converters/text.js +47 -74
  259. package/dist/features/converters/lexicalToJSX/converter/converters/text.js.map +1 -1
  260. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +61 -77
  261. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  262. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js +11 -12
  263. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +1 -1
  264. package/dist/features/converters/lexicalToJSX/converter/index.d.ts +2 -17
  265. package/dist/features/converters/lexicalToJSX/converter/index.d.ts.map +1 -1
  266. package/dist/features/converters/lexicalToJSX/converter/index.js +125 -253
  267. package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -1
  268. package/dist/features/converters/lexicalToJSX/converter/types.d.ts +10 -14
  269. package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +1 -1
  270. package/dist/features/converters/lexicalToJSX/converter/types.js +1 -4
  271. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  272. package/dist/features/converters/lexicalToMarkdown/index.js +19 -17
  273. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  274. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +146 -223
  275. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +1 -1
  276. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js +13 -11
  277. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +1 -1
  278. package/dist/features/converters/lexicalToPlaintext/shared/types.js +1 -2
  279. package/dist/features/converters/lexicalToPlaintext/shared/types.js.map +1 -1
  280. package/dist/features/converters/lexicalToPlaintext/sync/index.js +82 -83
  281. package/dist/features/converters/lexicalToPlaintext/sync/index.js.map +1 -1
  282. package/dist/features/converters/lexicalToPlaintext/sync/types.js +1 -3
  283. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  284. package/dist/features/converters/markdownToLexical/index.js +16 -14
  285. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  286. package/dist/features/converters/utilities/payloadPopulateFn.js +38 -37
  287. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  288. package/dist/features/converters/utilities/restPopulateFn.js +30 -24
  289. package/dist/features/converters/utilities/restPopulateFn.js.map +1 -1
  290. package/dist/features/debug/jsxConverter/client/index.js +5 -7
  291. package/dist/features/debug/jsxConverter/client/index.js.map +1 -1
  292. package/dist/features/debug/jsxConverter/client/plugin/index.js +47 -27
  293. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  294. package/dist/features/debug/jsxConverter/server/index.js +4 -5
  295. package/dist/features/debug/jsxConverter/server/index.js.map +1 -1
  296. package/dist/features/debug/testRecorder/client/index.js +5 -7
  297. package/dist/features/debug/testRecorder/client/index.js.map +1 -1
  298. package/dist/features/debug/testRecorder/client/plugin/index.js +365 -456
  299. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  300. package/dist/features/debug/testRecorder/server/index.js +4 -5
  301. package/dist/features/debug/testRecorder/server/index.js.map +1 -1
  302. package/dist/features/debug/treeView/client/index.js +5 -7
  303. package/dist/features/debug/treeView/client/index.js.map +1 -1
  304. package/dist/features/debug/treeView/client/plugin/index.js +23 -18
  305. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -1
  306. package/dist/features/debug/treeView/server/index.js +4 -5
  307. package/dist/features/debug/treeView/server/index.js.map +1 -1
  308. package/dist/features/experimental_table/client/index.js +42 -61
  309. package/dist/features/experimental_table/client/index.js.map +1 -1
  310. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +517 -752
  311. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  312. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +316 -350
  313. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  314. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +225 -215
  315. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  316. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +133 -104
  317. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
  318. package/dist/features/experimental_table/client/utils/debounce.js +107 -89
  319. package/dist/features/experimental_table/client/utils/debounce.js.map +1 -1
  320. package/dist/features/experimental_table/client/utils/useDebounce.js +39 -21
  321. package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
  322. package/dist/features/experimental_table/markdownTransformer.js +118 -123
  323. package/dist/features/experimental_table/markdownTransformer.js.map +1 -1
  324. package/dist/features/experimental_table/server/index.js +143 -125
  325. package/dist/features/experimental_table/server/index.js.map +1 -1
  326. package/dist/features/format/bold/feature.client.js +35 -38
  327. package/dist/features/format/bold/feature.client.js.map +1 -1
  328. package/dist/features/format/bold/feature.server.js +14 -18
  329. package/dist/features/format/bold/feature.server.js.map +1 -1
  330. package/dist/features/format/bold/markdownTransformers.js +14 -25
  331. package/dist/features/format/bold/markdownTransformers.js.map +1 -1
  332. package/dist/features/format/inlineCode/feature.client.js +27 -31
  333. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  334. package/dist/features/format/inlineCode/feature.server.js +5 -8
  335. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  336. package/dist/features/format/inlineCode/markdownTransformers.js +3 -6
  337. package/dist/features/format/inlineCode/markdownTransformers.js.map +1 -1
  338. package/dist/features/format/italic/feature.client.js +27 -32
  339. package/dist/features/format/italic/feature.client.js.map +1 -1
  340. package/dist/features/format/italic/feature.server.js +5 -9
  341. package/dist/features/format/italic/feature.server.js.map +1 -1
  342. package/dist/features/format/italic/markdownTransformers.js +7 -12
  343. package/dist/features/format/italic/markdownTransformers.js.map +1 -1
  344. package/dist/features/format/shared/toolbarFormatGroup.js +8 -8
  345. package/dist/features/format/shared/toolbarFormatGroup.js.map +1 -1
  346. package/dist/features/format/strikethrough/feature.client.js +27 -31
  347. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  348. package/dist/features/format/strikethrough/feature.server.js +5 -8
  349. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  350. package/dist/features/format/strikethrough/markdownTransformers.js +3 -6
  351. package/dist/features/format/strikethrough/markdownTransformers.js.map +1 -1
  352. package/dist/features/format/subscript/feature.client.js +26 -28
  353. package/dist/features/format/subscript/feature.client.js.map +1 -1
  354. package/dist/features/format/subscript/feature.server.js +4 -5
  355. package/dist/features/format/subscript/feature.server.js.map +1 -1
  356. package/dist/features/format/superscript/feature.client.js +26 -28
  357. package/dist/features/format/superscript/feature.client.js.map +1 -1
  358. package/dist/features/format/superscript/feature.server.js +4 -5
  359. package/dist/features/format/superscript/feature.server.js.map +1 -1
  360. package/dist/features/format/underline/feature.client.js +26 -28
  361. package/dist/features/format/underline/feature.client.js.map +1 -1
  362. package/dist/features/format/underline/feature.server.js +4 -5
  363. package/dist/features/format/underline/feature.server.js.map +1 -1
  364. package/dist/features/heading/client/index.js +142 -121
  365. package/dist/features/heading/client/index.js.map +1 -1
  366. package/dist/features/heading/markdownTransformer.js +22 -25
  367. package/dist/features/heading/markdownTransformer.js.map +1 -1
  368. package/dist/features/heading/server/i18n.js +111 -112
  369. package/dist/features/heading/server/i18n.js.map +1 -1
  370. package/dist/features/heading/server/index.js +60 -62
  371. package/dist/features/heading/server/index.js.map +1 -1
  372. package/dist/features/horizontalRule/client/index.js +48 -57
  373. package/dist/features/horizontalRule/client/index.js.map +1 -1
  374. package/dist/features/horizontalRule/client/markdownTransformer.js +15 -18
  375. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  376. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +27 -25
  377. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  378. package/dist/features/horizontalRule/client/plugin/index.js +32 -21
  379. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  380. package/dist/features/horizontalRule/server/i18n.js +111 -112
  381. package/dist/features/horizontalRule/server/i18n.js.map +1 -1
  382. package/dist/features/horizontalRule/server/index.js +17 -24
  383. package/dist/features/horizontalRule/server/index.js.map +1 -1
  384. package/dist/features/horizontalRule/server/markdownTransformer.js +15 -18
  385. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  386. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +72 -69
  387. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  388. package/dist/features/indent/client/IndentPlugin.js +78 -78
  389. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  390. package/dist/features/indent/client/index.js +77 -68
  391. package/dist/features/indent/client/index.js.map +1 -1
  392. package/dist/features/indent/client/toolbarIndentGroup.js +8 -8
  393. package/dist/features/indent/client/toolbarIndentGroup.js.map +1 -1
  394. package/dist/features/indent/server/i18n.js +148 -149
  395. package/dist/features/indent/server/i18n.js.map +1 -1
  396. package/dist/features/indent/server/index.js +11 -18
  397. package/dist/features/indent/server/index.js.map +1 -1
  398. package/dist/features/link/client/index.js +80 -83
  399. package/dist/features/link/client/index.js.map +1 -1
  400. package/dist/features/link/client/plugins/autoLink/index.js +273 -280
  401. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  402. package/dist/features/link/client/plugins/clickableLink/index.js +4 -8
  403. package/dist/features/link/client/plugins/clickableLink/index.js.map +1 -1
  404. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js +1 -1
  405. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
  406. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +308 -395
  407. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  408. package/dist/features/link/client/plugins/floatingLinkEditor/index.js +9 -12
  409. package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -1
  410. package/dist/features/link/client/plugins/floatingLinkEditor/types.js +1 -6
  411. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -1
  412. package/dist/features/link/client/plugins/link/index.js +68 -53
  413. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  414. package/dist/features/link/markdownTransformer.js +33 -34
  415. package/dist/features/link/markdownTransformer.js.map +1 -1
  416. package/dist/features/link/nodes/AutoLinkNode.js +58 -56
  417. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  418. package/dist/features/link/nodes/LinkNode.js +288 -286
  419. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  420. package/dist/features/link/nodes/types.js +1 -6
  421. package/dist/features/link/nodes/types.js.map +1 -1
  422. package/dist/features/link/server/baseFields.js +140 -115
  423. package/dist/features/link/server/baseFields.js.map +1 -1
  424. package/dist/features/link/server/graphQLPopulationPromise.js +45 -29
  425. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -1
  426. package/dist/features/link/server/i18n.js +148 -149
  427. package/dist/features/link/server/i18n.js.map +1 -1
  428. package/dist/features/link/server/index.js +143 -156
  429. package/dist/features/link/server/index.js.map +1 -1
  430. package/dist/features/link/server/transformExtraFields.js +15 -15
  431. package/dist/features/link/server/transformExtraFields.js.map +1 -1
  432. package/dist/features/link/server/validate.js +46 -35
  433. package/dist/features/link/server/validate.js.map +1 -1
  434. package/dist/features/lists/checklist/client/index.js +78 -86
  435. package/dist/features/lists/checklist/client/index.js.map +1 -1
  436. package/dist/features/lists/checklist/client/plugin/index.js +4 -8
  437. package/dist/features/lists/checklist/client/plugin/index.js.map +1 -1
  438. package/dist/features/lists/checklist/markdownTransformers.js +7 -11
  439. package/dist/features/lists/checklist/markdownTransformers.js.map +1 -1
  440. package/dist/features/lists/checklist/server/i18n.js +111 -112
  441. package/dist/features/lists/checklist/server/i18n.js.map +1 -1
  442. package/dist/features/lists/checklist/server/index.js +21 -26
  443. package/dist/features/lists/checklist/server/index.js.map +1 -1
  444. package/dist/features/lists/htmlConverter.js +62 -47
  445. package/dist/features/lists/htmlConverter.js.map +1 -1
  446. package/dist/features/lists/orderedList/client/index.js +72 -78
  447. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  448. package/dist/features/lists/orderedList/markdownTransformer.js +7 -11
  449. package/dist/features/lists/orderedList/markdownTransformer.js.map +1 -1
  450. package/dist/features/lists/orderedList/server/i18n.js +111 -112
  451. package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
  452. package/dist/features/lists/orderedList/server/index.js +21 -26
  453. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  454. package/dist/features/lists/plugin/index.js +4 -8
  455. package/dist/features/lists/plugin/index.js.map +1 -1
  456. package/dist/features/lists/shared/markdown.js +48 -49
  457. package/dist/features/lists/shared/markdown.js.map +1 -1
  458. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js +9 -10
  459. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js.map +1 -1
  460. package/dist/features/lists/shared/slashMenuListGroup.js +9 -8
  461. package/dist/features/lists/shared/slashMenuListGroup.js.map +1 -1
  462. package/dist/features/lists/unorderedList/client/index.js +68 -76
  463. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  464. package/dist/features/lists/unorderedList/markdownTransformer.js +7 -11
  465. package/dist/features/lists/unorderedList/markdownTransformer.js.map +1 -1
  466. package/dist/features/lists/unorderedList/server/i18n.js +111 -112
  467. package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
  468. package/dist/features/lists/unorderedList/server/index.js +17 -24
  469. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  470. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +18 -17
  471. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +1 -1
  472. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +30 -29
  473. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +1 -1
  474. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +21 -20
  475. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -1
  476. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +21 -19
  477. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -1
  478. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +18 -17
  479. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -1
  480. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +24 -23
  481. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +1 -1
  482. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +20 -21
  483. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  484. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +1 -10
  485. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +1 -1
  486. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +70 -64
  487. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
  488. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js +1 -2
  489. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -1
  490. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js +5 -7
  491. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js.map +1 -1
  492. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js +42 -43
  493. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
  494. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +11 -21
  495. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  496. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +66 -65
  497. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  498. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +19 -19
  499. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
  500. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js +20 -26
  501. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
  502. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js +28 -30
  503. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +1 -1
  504. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js +26 -27
  505. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
  506. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js +22 -21
  507. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
  508. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +22 -22
  509. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
  510. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js +12 -13
  511. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  512. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js +23 -23
  513. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
  514. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +22 -22
  515. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
  516. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js +15 -16
  517. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  518. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js +1 -13
  519. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js.map +1 -1
  520. package/dist/features/migrations/slateToLexical/converter/index.js +117 -110
  521. package/dist/features/migrations/slateToLexical/converter/index.js.map +1 -1
  522. package/dist/features/migrations/slateToLexical/converter/types.js +1 -2
  523. package/dist/features/migrations/slateToLexical/converter/types.js.map +1 -1
  524. package/dist/features/migrations/slateToLexical/feature.client.js +5 -7
  525. package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
  526. package/dist/features/migrations/slateToLexical/feature.server.js +45 -54
  527. package/dist/features/migrations/slateToLexical/feature.server.js.map +1 -1
  528. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +11 -21
  529. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  530. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +66 -65
  531. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  532. package/dist/features/paragraph/client/index.js +58 -61
  533. package/dist/features/paragraph/client/index.js.map +1 -1
  534. package/dist/features/paragraph/server/i18n.js +148 -149
  535. package/dist/features/paragraph/server/i18n.js.map +1 -1
  536. package/dist/features/paragraph/server/index.js +6 -7
  537. package/dist/features/paragraph/server/index.js.map +1 -1
  538. package/dist/features/relationship/client/components/RelationshipComponent.js +118 -147
  539. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  540. package/dist/features/relationship/client/drawer/commands.js +0 -1
  541. package/dist/features/relationship/client/drawer/commands.js.map +1 -1
  542. package/dist/features/relationship/client/drawer/index.js +132 -81
  543. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  544. package/dist/features/relationship/client/index.js +53 -59
  545. package/dist/features/relationship/client/index.js.map +1 -1
  546. package/dist/features/relationship/client/nodes/RelationshipNode.js +60 -64
  547. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  548. package/dist/features/relationship/client/plugins/index.js +69 -39
  549. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  550. package/dist/features/relationship/client/utils/useEnabledRelationships.js +58 -48
  551. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  552. package/dist/features/relationship/server/graphQLPopulationPromise.js +34 -26
  553. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  554. package/dist/features/relationship/server/i18n.js +111 -112
  555. package/dist/features/relationship/server/i18n.js.map +1 -1
  556. package/dist/features/relationship/server/index.js +59 -64
  557. package/dist/features/relationship/server/index.js.map +1 -1
  558. package/dist/features/relationship/server/nodes/RelationshipNode.js +95 -92
  559. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  560. package/dist/features/shared/slashMenu/basicGroup.js +9 -8
  561. package/dist/features/shared/slashMenu/basicGroup.js.map +1 -1
  562. package/dist/features/shared/toolbar/addDropdownGroup.js +8 -9
  563. package/dist/features/shared/toolbar/addDropdownGroup.js.map +1 -1
  564. package/dist/features/shared/toolbar/featureButtonsGroup.js +7 -8
  565. package/dist/features/shared/toolbar/featureButtonsGroup.js.map +1 -1
  566. package/dist/features/shared/toolbar/textDropdownGroup.js +8 -9
  567. package/dist/features/shared/toolbar/textDropdownGroup.js.map +1 -1
  568. package/dist/features/textState/defaultColors.js +370 -370
  569. package/dist/features/textState/defaultColors.js.map +1 -1
  570. package/dist/features/textState/feature.client.js +64 -77
  571. package/dist/features/textState/feature.client.js.map +1 -1
  572. package/dist/features/textState/feature.server.js +14 -46
  573. package/dist/features/textState/feature.server.js.map +1 -1
  574. package/dist/features/textState/i18n.js +111 -112
  575. package/dist/features/textState/i18n.js.map +1 -1
  576. package/dist/features/textState/textState.js +62 -64
  577. package/dist/features/textState/textState.js.map +1 -1
  578. package/dist/features/toolbars/fixed/client/Toolbar/index.js +297 -263
  579. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  580. package/dist/features/toolbars/fixed/client/index.js +5 -7
  581. package/dist/features/toolbars/fixed/client/index.js.map +1 -1
  582. package/dist/features/toolbars/fixed/server/index.js +16 -32
  583. package/dist/features/toolbars/fixed/server/index.js.map +1 -1
  584. package/dist/features/toolbars/inline/client/Toolbar/index.js +366 -343
  585. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  586. package/dist/features/toolbars/inline/client/index.js +5 -7
  587. package/dist/features/toolbars/inline/client/index.js.map +1 -1
  588. package/dist/features/toolbars/inline/server/index.js +4 -5
  589. package/dist/features/toolbars/inline/server/index.js.map +1 -1
  590. package/dist/features/toolbars/shared/ToolbarButton/index.js +145 -103
  591. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  592. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +208 -264
  593. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  594. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +176 -172
  595. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  596. package/dist/features/toolbars/types.js +1 -29
  597. package/dist/features/toolbars/types.js.map +1 -1
  598. package/dist/features/typeUtilities.js +2 -3
  599. package/dist/features/typeUtilities.js.map +1 -1
  600. package/dist/features/typesClient.js +1 -61
  601. package/dist/features/typesClient.js.map +1 -1
  602. package/dist/features/typesServer.js +1 -90
  603. package/dist/features/typesServer.js.map +1 -1
  604. package/dist/features/upload/client/component/index.js +189 -242
  605. package/dist/features/upload/client/component/index.js.map +1 -1
  606. package/dist/features/upload/client/component/pending/index.js +10 -19
  607. package/dist/features/upload/client/component/pending/index.js.map +1 -1
  608. package/dist/features/upload/client/drawer/commands.js +1 -1
  609. package/dist/features/upload/client/drawer/commands.js.map +1 -1
  610. package/dist/features/upload/client/drawer/index.js +132 -83
  611. package/dist/features/upload/client/drawer/index.js.map +1 -1
  612. package/dist/features/upload/client/index.js +51 -61
  613. package/dist/features/upload/client/index.js.map +1 -1
  614. package/dist/features/upload/client/nodes/UploadNode.js +61 -67
  615. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  616. package/dist/features/upload/client/plugin/index.js +331 -290
  617. package/dist/features/upload/client/plugin/index.js.map +1 -1
  618. package/dist/features/upload/server/graphQLPopulationPromise.js +63 -48
  619. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  620. package/dist/features/upload/server/i18n.js +111 -112
  621. package/dist/features/upload/server/i18n.js.map +1 -1
  622. package/dist/features/upload/server/index.d.ts.map +1 -1
  623. package/dist/features/upload/server/index.js +209 -197
  624. package/dist/features/upload/server/index.js.map +1 -1
  625. package/dist/features/upload/server/markdownTransformer.d.ts +3 -0
  626. package/dist/features/upload/server/markdownTransformer.d.ts.map +1 -0
  627. package/dist/features/upload/server/markdownTransformer.js +52 -0
  628. package/dist/features/upload/server/markdownTransformer.js.map +1 -0
  629. package/dist/features/upload/server/nodes/UploadNode.js +99 -115
  630. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  631. package/dist/features/upload/server/nodes/conversions.js +40 -41
  632. package/dist/features/upload/server/nodes/conversions.js.map +1 -1
  633. package/dist/features/upload/server/validate.js +62 -48
  634. package/dist/features/upload/server/validate.js.map +1 -1
  635. package/dist/field/Diff/converters/link.js +41 -32
  636. package/dist/field/Diff/converters/link.js.map +1 -1
  637. package/dist/field/Diff/converters/listitem/index.js +55 -75
  638. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  639. package/dist/field/Diff/converters/relationship/index.js +63 -85
  640. package/dist/field/Diff/converters/relationship/index.js.map +1 -1
  641. package/dist/field/Diff/converters/unknown/index.js +41 -64
  642. package/dist/field/Diff/converters/unknown/index.js.map +1 -1
  643. package/dist/field/Diff/converters/upload/index.js +66 -122
  644. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  645. package/dist/field/Diff/index.js +99 -86
  646. package/dist/field/Diff/index.js.map +1 -1
  647. package/dist/field/Field.d.ts.map +1 -1
  648. package/dist/field/Field.js +167 -246
  649. package/dist/field/Field.js.map +1 -1
  650. package/dist/field/RenderLexical/index.js +119 -123
  651. package/dist/field/RenderLexical/index.js.map +1 -1
  652. package/dist/field/bundled.css +1 -0
  653. package/dist/field/index.d.ts +0 -1
  654. package/dist/field/index.d.ts.map +1 -1
  655. package/dist/field/index.js +97 -89
  656. package/dist/field/index.js.map +1 -1
  657. package/dist/field/rscEntry.d.ts +1 -1
  658. package/dist/field/rscEntry.d.ts.map +1 -1
  659. package/dist/field/rscEntry.js +84 -98
  660. package/dist/field/rscEntry.js.map +1 -1
  661. package/dist/i18n.js +222 -223
  662. package/dist/i18n.js.map +1 -1
  663. package/dist/index.d.ts +1 -1
  664. package/dist/index.d.ts.map +1 -1
  665. package/dist/index.js +704 -641
  666. package/dist/index.js.map +1 -1
  667. package/dist/lexical/EditorPlugin.js +17 -21
  668. package/dist/lexical/EditorPlugin.js.map +1 -1
  669. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  670. package/dist/lexical/LexicalEditor.js +171 -280
  671. package/dist/lexical/LexicalEditor.js.map +1 -1
  672. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  673. package/dist/lexical/LexicalProvider.js +86 -117
  674. package/dist/lexical/LexicalProvider.js.map +1 -1
  675. package/dist/lexical/config/client/EditorConfigProvider.js +81 -94
  676. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  677. package/dist/lexical/config/client/default.js +3 -3
  678. package/dist/lexical/config/client/default.js.map +1 -1
  679. package/dist/lexical/config/client/loader.js +38 -30
  680. package/dist/lexical/config/client/loader.js.map +1 -1
  681. package/dist/lexical/config/client/sanitize.d.ts +1 -1
  682. package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
  683. package/dist/lexical/config/client/sanitize.js +188 -190
  684. package/dist/lexical/config/client/sanitize.js.map +1 -1
  685. package/dist/lexical/config/server/default.js +5 -27
  686. package/dist/lexical/config/server/default.js.map +1 -1
  687. package/dist/lexical/config/server/loader.js +106 -105
  688. package/dist/lexical/config/server/loader.js.map +1 -1
  689. package/dist/lexical/config/server/sanitize.js +113 -114
  690. package/dist/lexical/config/server/sanitize.js.map +1 -1
  691. package/dist/lexical/config/types.d.ts +0 -4
  692. package/dist/lexical/config/types.d.ts.map +1 -1
  693. package/dist/lexical/config/types.js +1 -6
  694. package/dist/lexical/config/types.js.map +1 -1
  695. package/dist/lexical/nodes/index.d.ts +2 -12
  696. package/dist/lexical/nodes/index.d.ts.map +1 -1
  697. package/dist/lexical/nodes/index.js +15 -215
  698. package/dist/lexical/nodes/index.js.map +1 -1
  699. package/dist/lexical/plugins/ClipboardPlugin/index.js +70 -66
  700. package/dist/lexical/plugins/ClipboardPlugin/index.js.map +1 -1
  701. package/dist/lexical/plugins/DecoratorPlugin/index.js +225 -208
  702. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  703. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +41 -42
  704. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  705. package/dist/lexical/plugins/MarkdownShortcut/index.js +23 -11
  706. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  707. package/dist/lexical/plugins/NormalizeSelection/index.js +19 -21
  708. package/dist/lexical/plugins/NormalizeSelection/index.js.map +1 -1
  709. package/dist/lexical/plugins/SelectAllPlugin/index.js +17 -19
  710. package/dist/lexical/plugins/SelectAllPlugin/index.js.map +1 -1
  711. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +420 -399
  712. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  713. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +155 -164
  714. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  715. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +1 -10
  716. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  717. package/dist/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  718. package/dist/lexical/plugins/SlashMenu/index.js +181 -217
  719. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  720. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +41 -28
  721. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
  722. package/dist/lexical/plugins/TextPlugin/index.js +42 -27
  723. package/dist/lexical/plugins/TextPlugin/index.js.map +1 -1
  724. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +130 -145
  725. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  726. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +10 -10
  727. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
  728. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +10 -10
  729. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
  730. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +26 -23
  731. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
  732. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +317 -325
  733. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  734. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +98 -86
  735. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  736. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js +22 -16
  737. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -1
  738. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +19 -29
  739. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -1
  740. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js +14 -11
  741. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js.map +1 -1
  742. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js +133 -122
  743. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
  744. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +2 -2
  745. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
  746. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js +2 -2
  747. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js.map +1 -1
  748. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +24 -29
  749. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  750. package/dist/lexical/theme/EditorTheme.js +65 -72
  751. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  752. package/dist/lexical/ui/ContentEditable.js +35 -22
  753. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  754. package/dist/lexical/ui/icons/AI/index.js +31 -58
  755. package/dist/lexical/ui/icons/AI/index.js.map +1 -1
  756. package/dist/lexical/ui/icons/Add/index.js +16 -31
  757. package/dist/lexical/ui/icons/Add/index.js.map +1 -1
  758. package/dist/lexical/ui/icons/AlignCenter/index.js +25 -45
  759. package/dist/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  760. package/dist/lexical/ui/icons/AlignJustify/index.js +25 -45
  761. package/dist/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  762. package/dist/lexical/ui/icons/AlignLeft/index.js +25 -45
  763. package/dist/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  764. package/dist/lexical/ui/icons/AlignRight/index.js +25 -45
  765. package/dist/lexical/ui/icons/AlignRight/index.js.map +1 -1
  766. package/dist/lexical/ui/icons/Block/index.js +34 -54
  767. package/dist/lexical/ui/icons/Block/index.js.map +1 -1
  768. package/dist/lexical/ui/icons/Blockquote/index.js +16 -24
  769. package/dist/lexical/ui/icons/Blockquote/index.js.map +1 -1
  770. package/dist/lexical/ui/icons/Bold/index.js +16 -24
  771. package/dist/lexical/ui/icons/Bold/index.js.map +1 -1
  772. package/dist/lexical/ui/icons/Checklist/index.js +24 -39
  773. package/dist/lexical/ui/icons/Checklist/index.js.map +1 -1
  774. package/dist/lexical/ui/icons/Code/index.js +19 -34
  775. package/dist/lexical/ui/icons/Code/index.js.map +1 -1
  776. package/dist/lexical/ui/icons/CodeBlock/index.js +14 -22
  777. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  778. package/dist/lexical/ui/icons/Collapse/index.js +15 -23
  779. package/dist/lexical/ui/icons/Collapse/index.js.map +1 -1
  780. package/dist/lexical/ui/icons/H1/index.js +16 -24
  781. package/dist/lexical/ui/icons/H1/index.js.map +1 -1
  782. package/dist/lexical/ui/icons/H2/index.js +16 -24
  783. package/dist/lexical/ui/icons/H2/index.js.map +1 -1
  784. package/dist/lexical/ui/icons/H3/index.js +16 -24
  785. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  786. package/dist/lexical/ui/icons/H4/index.js +16 -24
  787. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  788. package/dist/lexical/ui/icons/H5/index.js +16 -24
  789. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  790. package/dist/lexical/ui/icons/H6/index.js +16 -24
  791. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  792. package/dist/lexical/ui/icons/HorizontalRule/index.js +19 -27
  793. package/dist/lexical/ui/icons/HorizontalRule/index.js.map +1 -1
  794. package/dist/lexical/ui/icons/IndentDecrease/index.js +28 -53
  795. package/dist/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  796. package/dist/lexical/ui/icons/IndentIncrease/index.js +28 -53
  797. package/dist/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  798. package/dist/lexical/ui/icons/InlineBlocks/index.js +18 -26
  799. package/dist/lexical/ui/icons/InlineBlocks/index.js.map +1 -1
  800. package/dist/lexical/ui/icons/Italic/index.js +16 -24
  801. package/dist/lexical/ui/icons/Italic/index.js.map +1 -1
  802. package/dist/lexical/ui/icons/Link/index.js +17 -25
  803. package/dist/lexical/ui/icons/Link/index.js.map +1 -1
  804. package/dist/lexical/ui/icons/Meatballs/index.js +19 -39
  805. package/dist/lexical/ui/icons/Meatballs/index.js.map +1 -1
  806. package/dist/lexical/ui/icons/OrderedList/index.js +31 -61
  807. package/dist/lexical/ui/icons/OrderedList/index.js.map +1 -1
  808. package/dist/lexical/ui/icons/Relationship/index.js +31 -58
  809. package/dist/lexical/ui/icons/Relationship/index.js.map +1 -1
  810. package/dist/lexical/ui/icons/Strikethrough/index.js +19 -34
  811. package/dist/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  812. package/dist/lexical/ui/icons/Subscript/index.js +16 -24
  813. package/dist/lexical/ui/icons/Subscript/index.js.map +1 -1
  814. package/dist/lexical/ui/icons/Superscript/index.js +16 -24
  815. package/dist/lexical/ui/icons/Superscript/index.js.map +1 -1
  816. package/dist/lexical/ui/icons/Table/index.js +17 -25
  817. package/dist/lexical/ui/icons/Table/index.js.map +1 -1
  818. package/dist/lexical/ui/icons/Text/index.js +16 -24
  819. package/dist/lexical/ui/icons/Text/index.js.map +1 -1
  820. package/dist/lexical/ui/icons/TextState/index.js +19 -25
  821. package/dist/lexical/ui/icons/TextState/index.js.map +1 -1
  822. package/dist/lexical/ui/icons/Underline/index.js +19 -34
  823. package/dist/lexical/ui/icons/Underline/index.js.map +1 -1
  824. package/dist/lexical/ui/icons/UnorderedList/index.js +46 -81
  825. package/dist/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  826. package/dist/lexical/ui/icons/Upload/index.js +28 -48
  827. package/dist/lexical/ui/icons/Upload/index.js.map +1 -1
  828. package/dist/lexical/utils/canUseDOM.js +1 -1
  829. package/dist/lexical/utils/canUseDOM.js.map +1 -1
  830. package/dist/lexical/utils/environment.js +1 -1
  831. package/dist/lexical/utils/environment.js.map +1 -1
  832. package/dist/lexical/utils/getDOMRangeRect.js +12 -12
  833. package/dist/lexical/utils/getDOMRangeRect.js.map +1 -1
  834. package/dist/lexical/utils/getSelectedNode.js +17 -13
  835. package/dist/lexical/utils/getSelectedNode.js.map +1 -1
  836. package/dist/lexical/utils/guard.js +4 -3
  837. package/dist/lexical/utils/guard.js.map +1 -1
  838. package/dist/lexical/utils/joinClasses.js +2 -2
  839. package/dist/lexical/utils/joinClasses.js.map +1 -1
  840. package/dist/lexical/utils/markdown/createBlockNode.js +9 -10
  841. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  842. package/dist/lexical/utils/nodeFormat.js +58 -59
  843. package/dist/lexical/utils/nodeFormat.js.map +1 -1
  844. package/dist/lexical/utils/point.js +39 -32
  845. package/dist/lexical/utils/point.js.map +1 -1
  846. package/dist/lexical/utils/rect.js +166 -136
  847. package/dist/lexical/utils/rect.js.map +1 -1
  848. package/dist/lexical/utils/setFloatingElemPosition.js +56 -48
  849. package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
  850. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js +49 -49
  851. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js.map +1 -1
  852. package/dist/lexical/utils/swipe.js +81 -83
  853. package/dist/lexical/utils/swipe.js.map +1 -1
  854. package/dist/lexical/utils/url.js +53 -53
  855. package/dist/lexical/utils/url.js.map +1 -1
  856. package/dist/lexical/utils/url.spec.js +98 -214
  857. package/dist/lexical/utils/url.spec.js.map +1 -1
  858. package/dist/lexical-proxy/@lexical-headless.js +0 -1
  859. package/dist/lexical-proxy/@lexical-headless.js.map +1 -1
  860. package/dist/lexical-proxy/@lexical-html.js +0 -1
  861. package/dist/lexical-proxy/@lexical-html.js.map +1 -1
  862. package/dist/lexical-proxy/@lexical-link.js +0 -1
  863. package/dist/lexical-proxy/@lexical-link.js.map +1 -1
  864. package/dist/lexical-proxy/@lexical-list.js +0 -1
  865. package/dist/lexical-proxy/@lexical-list.js.map +1 -1
  866. package/dist/lexical-proxy/@lexical-mark.js +0 -1
  867. package/dist/lexical-proxy/@lexical-mark.js.map +1 -1
  868. package/dist/lexical-proxy/@lexical-markdown.js +0 -1
  869. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  870. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js +0 -1
  871. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js.map +1 -1
  872. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js +0 -1
  873. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js.map +1 -1
  874. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js +0 -1
  875. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js.map +1 -1
  876. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js +0 -1
  877. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js.map +1 -1
  878. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js +0 -1
  879. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js.map +1 -1
  880. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js +0 -1
  881. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js.map +1 -1
  882. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js +0 -1
  883. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js.map +1 -1
  884. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js +0 -1
  885. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js.map +1 -1
  886. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js +0 -1
  887. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js.map +1 -1
  888. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js +0 -1
  889. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js.map +1 -1
  890. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js +0 -1
  891. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js.map +1 -1
  892. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js +0 -1
  893. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js.map +1 -1
  894. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js +0 -1
  895. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js.map +1 -1
  896. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +0 -1
  897. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +1 -1
  898. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js +0 -1
  899. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js.map +1 -1
  900. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js +0 -1
  901. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js.map +1 -1
  902. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js +0 -1
  903. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js.map +1 -1
  904. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js +0 -1
  905. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js.map +1 -1
  906. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js +0 -1
  907. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js.map +1 -1
  908. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js +0 -1
  909. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js.map +1 -1
  910. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js +0 -1
  911. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js.map +1 -1
  912. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js +0 -1
  913. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js.map +1 -1
  914. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js +0 -1
  915. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js.map +1 -1
  916. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js +0 -1
  917. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js.map +1 -1
  918. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js +0 -1
  919. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js.map +1 -1
  920. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js +0 -1
  921. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js.map +1 -1
  922. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js +0 -1
  923. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js.map +1 -1
  924. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js +0 -1
  925. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js.map +1 -1
  926. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js +0 -1
  927. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js.map +1 -1
  928. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js +0 -1
  929. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js.map +1 -1
  930. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js +0 -1
  931. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js.map +1 -1
  932. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js +0 -1
  933. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js.map +1 -1
  934. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js +0 -1
  935. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js.map +1 -1
  936. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js +0 -1
  937. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js.map +1 -1
  938. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js +0 -1
  939. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js.map +1 -1
  940. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js +0 -1
  941. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js.map +1 -1
  942. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js +0 -1
  943. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js.map +1 -1
  944. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js +0 -1
  945. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js.map +1 -1
  946. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js +0 -1
  947. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js.map +1 -1
  948. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js +0 -1
  949. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js.map +1 -1
  950. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js +0 -1
  951. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js.map +1 -1
  952. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js +0 -1
  953. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js.map +1 -1
  954. package/dist/lexical-proxy/@lexical-rich-text.js +0 -1
  955. package/dist/lexical-proxy/@lexical-rich-text.js.map +1 -1
  956. package/dist/lexical-proxy/@lexical-selection.js +0 -1
  957. package/dist/lexical-proxy/@lexical-selection.js.map +1 -1
  958. package/dist/lexical-proxy/@lexical-utils.js +0 -1
  959. package/dist/lexical-proxy/@lexical-utils.js.map +1 -1
  960. package/dist/lexical-proxy/lexical.js +0 -1
  961. package/dist/lexical-proxy/lexical.js.map +1 -1
  962. package/dist/nodeTypes.js +1 -35
  963. package/dist/nodeTypes.js.map +1 -1
  964. package/dist/packages/@lexical/markdown/MarkdownExport.js +179 -184
  965. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +1 -1
  966. package/dist/packages/@lexical/markdown/MarkdownImport.js +168 -173
  967. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +1 -1
  968. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +268 -258
  969. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +1 -1
  970. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +209 -305
  971. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +1 -1
  972. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +73 -76
  973. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +1 -1
  974. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +48 -59
  975. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +1 -1
  976. package/dist/packages/@lexical/markdown/importTextTransformers.js +45 -51
  977. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +1 -1
  978. package/dist/packages/@lexical/markdown/index.js +14 -33
  979. package/dist/packages/@lexical/markdown/index.js.map +1 -1
  980. package/dist/packages/@lexical/markdown/utils.js +185 -217
  981. package/dist/packages/@lexical/markdown/utils.js.map +1 -1
  982. package/dist/populateGraphQL/defaultValue.js +24 -29
  983. package/dist/populateGraphQL/defaultValue.js.map +1 -1
  984. package/dist/populateGraphQL/populate.js +37 -26
  985. package/dist/populateGraphQL/populate.js.map +1 -1
  986. package/dist/populateGraphQL/populateLexicalPopulationPromises.js +50 -34
  987. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  988. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js +42 -35
  989. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
  990. package/dist/types.d.ts +2 -329
  991. package/dist/types.d.ts.map +1 -1
  992. package/dist/types.js +1 -219
  993. package/dist/types.js.map +1 -1
  994. package/dist/utilities/applyBaseFilterToFields.js +84 -81
  995. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  996. package/dist/utilities/buildEditorState.js +40 -39
  997. package/dist/utilities/buildEditorState.js.map +1 -1
  998. package/dist/utilities/buildInitialState.js +52 -51
  999. package/dist/utilities/buildInitialState.js.map +1 -1
  1000. package/dist/utilities/createClientFeature.js +48 -42
  1001. package/dist/utilities/createClientFeature.js.map +1 -1
  1002. package/dist/utilities/createServerFeature.js +48 -38
  1003. package/dist/utilities/createServerFeature.js.map +1 -1
  1004. package/dist/utilities/editorConfigFactory.js +79 -78
  1005. package/dist/utilities/editorConfigFactory.js.map +1 -1
  1006. package/dist/utilities/fieldsDrawer/Drawer.js +70 -45
  1007. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  1008. package/dist/utilities/fieldsDrawer/DrawerContent.js +124 -134
  1009. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  1010. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +115 -64
  1011. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  1012. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +121 -76
  1013. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  1014. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js +141 -79
  1015. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -1
  1016. package/dist/utilities/forEachNodeRecursively.js +24 -19
  1017. package/dist/utilities/forEachNodeRecursively.js.map +1 -1
  1018. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  1019. package/dist/utilities/generateImportMap.js +49 -44
  1020. package/dist/utilities/generateImportMap.js.map +1 -1
  1021. package/dist/utilities/generateSchemaMap.js +37 -32
  1022. package/dist/utilities/generateSchemaMap.js.map +1 -1
  1023. package/dist/utilities/getDefaultSanitizedEditorConfig.js +14 -12
  1024. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  1025. package/dist/utilities/initLexicalFeatures.js +65 -68
  1026. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  1027. package/dist/utilities/jsx/collectTopLevelJSXInLines.js +29 -26
  1028. package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -1
  1029. package/dist/utilities/jsx/declare.d.js.map +1 -1
  1030. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js +102 -100
  1031. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js.map +1 -1
  1032. package/dist/utilities/jsx/jsx.js +80 -76
  1033. package/dist/utilities/jsx/jsx.js.map +1 -1
  1034. package/dist/utilities/jsx/jsx.spec.js +171 -225
  1035. package/dist/utilities/jsx/jsx.spec.js.map +1 -1
  1036. package/dist/utilities/migrateSlateToLexical/index.js +127 -111
  1037. package/dist/utilities/migrateSlateToLexical/index.js.map +1 -1
  1038. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +78 -74
  1039. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
  1040. package/dist/utilities/recurseNodeTree.js +25 -22
  1041. package/dist/utilities/recurseNodeTree.js.map +1 -1
  1042. package/dist/utilities/upgradeLexicalData/index.js +101 -87
  1043. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  1044. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +80 -78
  1045. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  1046. package/dist/utilities/useLexicalFeature.js +16 -14
  1047. package/dist/utilities/useLexicalFeature.js.map +1 -1
  1048. package/dist/utilities/useRunDeprioritized.js +37 -41
  1049. package/dist/utilities/useRunDeprioritized.js.map +1 -1
  1050. package/dist/validate/hasText.d.ts +1 -6
  1051. package/dist/validate/hasText.d.ts.map +1 -1
  1052. package/dist/validate/hasText.js +20 -27
  1053. package/dist/validate/hasText.js.map +1 -1
  1054. package/dist/validate/index.js +28 -22
  1055. package/dist/validate/index.js.map +1 -1
  1056. package/dist/validate/validateNodes.js +31 -28
  1057. package/dist/validate/validateNodes.js.map +1 -1
  1058. package/package.json +6 -11
  1059. package/dist/exports/client/internal-client.d.ts +0 -3
  1060. package/dist/exports/client/internal-client.d.ts.map +0 -1
  1061. package/dist/exports/client/internal-client.js +0 -4
  1062. package/dist/exports/client/internal-client.js.map +0 -1
  1063. package/dist/features/blocks/client/component/index.scss +0 -188
  1064. package/dist/features/blocks/client/componentInline/index.scss +0 -100
  1065. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.scss +0 -6
  1066. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.scss +0 -29
  1067. package/dist/features/blocks/premade/CodeBlock/Component/index.scss +0 -97
  1068. package/dist/features/debug/jsxConverter/client/plugin/style.scss +0 -12
  1069. package/dist/features/debug/testRecorder/client/plugin/index.scss +0 -53
  1070. package/dist/features/debug/treeView/client/plugin/index.scss +0 -80
  1071. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.scss +0 -87
  1072. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.scss +0 -11
  1073. package/dist/features/experimental_table/client/plugins/TablePlugin/index.scss +0 -233
  1074. package/dist/features/horizontalRule/client/plugin/index.scss +0 -23
  1075. package/dist/features/link/client/plugins/floatingLinkEditor/index.scss +0 -95
  1076. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +0 -16
  1077. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.scss +0 -16
  1078. package/dist/features/relationship/client/components/index.scss +0 -95
  1079. package/dist/features/toolbars/fixed/client/Toolbar/index.scss +0 -113
  1080. package/dist/features/toolbars/inline/client/Toolbar/index.scss +0 -58
  1081. package/dist/features/toolbars/shared/ToolbarButton/index.scss +0 -46
  1082. package/dist/features/toolbars/shared/ToolbarDropdown/index.scss +0 -129
  1083. package/dist/features/upload/client/component/index.scss +0 -191
  1084. package/dist/field/Diff/converters/listitem/index.scss +0 -47
  1085. package/dist/field/Diff/converters/relationship/index.scss +0 -73
  1086. package/dist/field/Diff/converters/unknown/index.scss +0 -40
  1087. package/dist/field/Diff/converters/upload/index.scss +0 -115
  1088. package/dist/field/Diff/index.scss +0 -102
  1089. package/dist/field/RichTextViewProvider.d.ts +0 -85
  1090. package/dist/field/RichTextViewProvider.d.ts.map +0 -1
  1091. package/dist/field/RichTextViewProvider.js +0 -114
  1092. package/dist/field/RichTextViewProvider.js.map +0 -1
  1093. package/dist/field/ViewSelector.d.ts +0 -4
  1094. package/dist/field/ViewSelector.d.ts.map +0 -1
  1095. package/dist/field/ViewSelector.js +0 -90
  1096. package/dist/field/ViewSelector.js.map +0 -1
  1097. package/dist/field/ViewSelector.scss +0 -34
  1098. package/dist/field/index.scss +0 -53
  1099. package/dist/lexical/LexicalEditor.scss +0 -54
  1100. package/dist/lexical/plugins/DecoratorPlugin/index.scss +0 -13
  1101. package/dist/lexical/plugins/InsertParagraphAtEnd/index.scss +0 -54
  1102. package/dist/lexical/plugins/NodeViewOverridePlugin/index.d.ts +0 -2
  1103. package/dist/lexical/plugins/NodeViewOverridePlugin/index.d.ts.map +0 -1
  1104. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js +0 -31
  1105. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js.map +0 -1
  1106. package/dist/lexical/plugins/SlashMenu/index.scss +0 -68
  1107. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +0 -35
  1108. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.scss +0 -80
  1109. package/dist/lexical/theme/EditorTheme.scss +0 -357
  1110. package/dist/lexical/ui/ContentEditable.scss +0 -105
@@ -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 } from "react/jsx-runtime";
3
5
  import React, { useCallback, useDeferredValue, useEffect, useMemo } from 'react';
4
6
  const baseClass = 'toolbar-popup__dropdown';
5
7
  import { mergeRegister } from '@lexical/utils';
@@ -7,186 +9,188 @@ import { useTranslation } from '@payloadcms/ui';
7
9
  import { $getSelection } from 'lexical';
8
10
  import { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js';
9
11
  import { useRunDeprioritized } from '../../../../utilities/useRunDeprioritized.js';
10
- import './index.scss';
11
12
  import { DropDown, DropDownItem } from './DropDown.js';
12
- const ToolbarItem = ({ active, anchorElem, editor, enabled, item })=>{
13
- const { i18n } = useTranslation();
14
- const { fieldProps: { featureClientSchemaMap, schemaPath } } = useEditorConfigContext();
15
- if (item.Component) {
16
- return item?.Component && /*#__PURE__*/ _jsxDEV(item.Component, {
17
- active: active,
18
- anchorElem: anchorElem,
19
- editor: editor,
20
- enabled: enabled,
21
- item: item
22
- }, item.key, false, {
23
- fileName: "src/features/toolbars/shared/ToolbarDropdown/index.tsx",
24
- lineNumber: 40,
25
- columnNumber: 9
26
- }, this);
13
+ const ToolbarItem = t0 => {
14
+ const $ = _c(14);
15
+ const {
16
+ active,
17
+ anchorElem,
18
+ editor,
19
+ enabled,
20
+ item
21
+ } = t0;
22
+ const {
23
+ i18n
24
+ } = useTranslation();
25
+ const {
26
+ fieldProps: t1
27
+ } = useEditorConfigContext();
28
+ const {
29
+ featureClientSchemaMap,
30
+ schemaPath
31
+ } = t1;
32
+ if (item.Component) {
33
+ let t2;
34
+ if ($[0] !== active || $[1] !== anchorElem || $[2] !== editor || $[3] !== enabled || $[4] !== item) {
35
+ t2 = item?.Component && _jsx(item.Component, {
36
+ active,
37
+ anchorElem,
38
+ editor,
39
+ enabled,
40
+ item
41
+ }, item.key);
42
+ $[0] = active;
43
+ $[1] = anchorElem;
44
+ $[2] = editor;
45
+ $[3] = enabled;
46
+ $[4] = item;
47
+ $[5] = t2;
48
+ } else {
49
+ t2 = $[5];
27
50
  }
51
+ return t2;
52
+ }
53
+ let t2;
54
+ if ($[6] !== active || $[7] !== editor || $[8] !== enabled || $[9] !== featureClientSchemaMap || $[10] !== i18n || $[11] !== item || $[12] !== schemaPath) {
28
55
  let title = item.key;
29
- let croppedTitle = item.key;
56
+ let croppedTitle;
30
57
  if (item.label) {
31
- title = typeof item.label === 'function' ? item.label({
32
- featureClientSchemaMap,
33
- i18n,
34
- schemaPath
35
- }) : item.label;
58
+ title = typeof item.label === "function" ? item.label({
59
+ featureClientSchemaMap,
60
+ i18n,
61
+ schemaPath
62
+ }) : item.label;
36
63
  }
37
- // Crop title to max. 25 characters
38
64
  if (title.length > 25) {
39
- croppedTitle = title.substring(0, 25) + '...';
65
+ croppedTitle = title.substring(0, 25) + "...";
40
66
  } else {
41
- croppedTitle = title;
67
+ croppedTitle = title;
42
68
  }
43
- return /*#__PURE__*/ _jsxDEV(DropDownItem, {
44
- active: active,
45
- editor: editor,
46
- enabled: enabled,
47
- Icon: item?.ChildComponent ? /*#__PURE__*/ _jsxDEV(item.ChildComponent, {}, void 0, false, {
48
- fileName: "src/features/toolbars/shared/ToolbarDropdown/index.tsx",
49
- lineNumber: 72,
50
- columnNumber: 36
51
- }, void 0) : undefined,
52
- item: item,
53
- itemKey: item.key,
54
- tooltip: title,
55
- children: /*#__PURE__*/ _jsxDEV("span", {
56
- className: "text",
57
- children: croppedTitle
58
- }, void 0, false, {
59
- fileName: "src/features/toolbars/shared/ToolbarDropdown/index.tsx",
60
- lineNumber: 78,
61
- columnNumber: 7
62
- }, this)
63
- }, item.key, false, {
64
- fileName: "src/features/toolbars/shared/ToolbarDropdown/index.tsx",
65
- lineNumber: 68,
66
- columnNumber: 5
67
- }, this);
69
+ t2 = _jsx(DropDownItem, {
70
+ active,
71
+ editor,
72
+ enabled,
73
+ Icon: item?.ChildComponent ? _jsx(item.ChildComponent, {}) : undefined,
74
+ item,
75
+ itemKey: item.key,
76
+ tooltip: title,
77
+ children: _jsx("span", {
78
+ className: "text",
79
+ children: croppedTitle
80
+ })
81
+ }, item.key);
82
+ $[6] = active;
83
+ $[7] = editor;
84
+ $[8] = enabled;
85
+ $[9] = featureClientSchemaMap;
86
+ $[10] = i18n;
87
+ $[11] = item;
88
+ $[12] = schemaPath;
89
+ $[13] = t2;
90
+ } else {
91
+ t2 = $[13];
92
+ }
93
+ return t2;
68
94
  };
69
- const MemoToolbarItem = /*#__PURE__*/ React.memo(ToolbarItem);
70
- export const ToolbarDropdown = ({ anchorElem, classNames, editor, group, Icon, itemsContainerClassNames, label, maxActiveItems, onActiveChange })=>/**
71
- * Maximum number of active items allowed. This is a performance optimization to prevent
72
- * unnecessary item active checks when the maximum number of active items is reached.
73
- */ {
74
- const [toolbarState, setToolbarState] = React.useState({
75
- activeItemKeys: [],
76
- enabledGroup: true,
77
- enabledItemKeys: []
78
- });
79
- const deferredToolbarState = useDeferredValue(toolbarState);
80
- const editorConfigContext = useEditorConfigContext();
81
- const { items, key: groupKey } = group;
82
- const runDeprioritized = useRunDeprioritized();
83
- const updateStates = useCallback(()=>{
84
- editor.getEditorState().read(()=>{
85
- const selection = $getSelection();
86
- if (!selection) {
87
- return;
88
- }
89
- const _activeItemKeys = [];
90
- const _activeItems = [];
91
- const _enabledItemKeys = [];
92
- for (const item of items){
93
- if (item.isActive && (!maxActiveItems || _activeItemKeys.length < maxActiveItems)) {
94
- const isActive = item.isActive({
95
- editor,
96
- editorConfigContext,
97
- selection
98
- });
99
- if (isActive) {
100
- _activeItemKeys.push(item.key);
101
- _activeItems.push(item);
102
- }
103
- }
104
- if (item.isEnabled) {
105
- const isEnabled = item.isEnabled({
106
- editor,
107
- editorConfigContext,
108
- selection
109
- });
110
- if (isEnabled) {
111
- _enabledItemKeys.push(item.key);
112
- }
113
- } else {
114
- _enabledItemKeys.push(item.key);
115
- }
116
- }
117
- setToolbarState({
118
- activeItemKeys: _activeItemKeys,
119
- enabledGroup: group.isEnabled ? group.isEnabled({
120
- editor,
121
- editorConfigContext,
122
- selection
123
- }) : true,
124
- enabledItemKeys: _enabledItemKeys
125
- });
126
- if (onActiveChange) {
127
- onActiveChange({
128
- activeItems: _activeItems
129
- });
130
- }
95
+ const MemoToolbarItem = /*#__PURE__*/React.memo(ToolbarItem);
96
+ export const ToolbarDropdown = ({
97
+ anchorElem,
98
+ classNames,
99
+ editor,
100
+ group,
101
+ Icon,
102
+ itemsContainerClassNames,
103
+ label,
104
+ maxActiveItems,
105
+ onActiveChange
106
+ }) => {
107
+ const [toolbarState, setToolbarState] = React.useState({
108
+ activeItemKeys: [],
109
+ enabledGroup: true,
110
+ enabledItemKeys: []
111
+ });
112
+ const deferredToolbarState = useDeferredValue(toolbarState);
113
+ const editorConfigContext = useEditorConfigContext();
114
+ const {
115
+ items,
116
+ key: groupKey
117
+ } = group;
118
+ const runDeprioritized = useRunDeprioritized();
119
+ const updateStates = useCallback(() => {
120
+ editor.getEditorState().read(() => {
121
+ const selection = $getSelection();
122
+ if (!selection) {
123
+ return;
124
+ }
125
+ const _activeItemKeys = [];
126
+ const _activeItems = [];
127
+ const _enabledItemKeys = [];
128
+ for (const item of items) {
129
+ if (item.isActive && (!maxActiveItems || _activeItemKeys.length < maxActiveItems)) {
130
+ const isActive = item.isActive({
131
+ editor,
132
+ editorConfigContext,
133
+ selection
134
+ });
135
+ if (isActive) {
136
+ _activeItemKeys.push(item.key);
137
+ _activeItems.push(item);
138
+ }
139
+ }
140
+ if (item.isEnabled) {
141
+ const isEnabled = item.isEnabled({
142
+ editor,
143
+ editorConfigContext,
144
+ selection
145
+ });
146
+ if (isEnabled) {
147
+ _enabledItemKeys.push(item.key);
148
+ }
149
+ } else {
150
+ _enabledItemKeys.push(item.key);
151
+ }
152
+ }
153
+ setToolbarState({
154
+ activeItemKeys: _activeItemKeys,
155
+ enabledGroup: group.isEnabled ? group.isEnabled({
156
+ editor,
157
+ editorConfigContext,
158
+ selection
159
+ }) : true,
160
+ enabledItemKeys: _enabledItemKeys
161
+ });
162
+ if (onActiveChange) {
163
+ onActiveChange({
164
+ activeItems: _activeItems
131
165
  });
132
- }, [
133
- editor,
134
- editorConfigContext,
135
- group,
136
- items,
137
- maxActiveItems,
138
- onActiveChange
139
- ]);
140
- useEffect(()=>{
141
- // Run on mount in order to update states when dropdown is opened
142
- void runDeprioritized(updateStates);
143
- return mergeRegister(editor.registerUpdateListener(async ()=>{
144
- await runDeprioritized(updateStates);
145
- }));
146
- }, [
147
- editor,
148
- runDeprioritized,
149
- updateStates
150
- ]);
151
- const renderedItems = useMemo(()=>{
152
- return items?.length ? items.map((item)=>/*#__PURE__*/ _jsxDEV(MemoToolbarItem, {
153
- active: deferredToolbarState.activeItemKeys.includes(item.key),
154
- anchorElem: anchorElem,
155
- editor: editor,
156
- enabled: deferredToolbarState.enabledItemKeys.includes(item.key),
157
- item: item
158
- }, item.key, false, {
159
- fileName: "src/features/toolbars/shared/ToolbarDropdown/index.tsx",
160
- lineNumber: 183,
161
- columnNumber: 11
162
- }, this)) : null;
163
- }, [
164
- items,
165
- deferredToolbarState,
166
- anchorElem,
167
- editor
168
- ]);
169
- return /*#__PURE__*/ _jsxDEV(DropDown, {
170
- buttonAriaLabel: `${groupKey} dropdown`,
171
- buttonClassName: [
172
- baseClass,
173
- `${baseClass}-${groupKey}`,
174
- ...classNames || []
175
- ].filter(Boolean).join(' '),
176
- disabled: !deferredToolbarState.enabledGroup,
177
- dropdownKey: groupKey,
178
- Icon: Icon,
179
- itemsContainerClassNames: [
180
- `${baseClass}-items`,
181
- ...itemsContainerClassNames || []
182
- ],
183
- label: label,
184
- children: renderedItems
185
- }, groupKey, false, {
186
- fileName: "src/features/toolbars/shared/ToolbarDropdown/index.tsx",
187
- lineNumber: 196,
188
- columnNumber: 5
189
- }, this);
166
+ }
167
+ });
168
+ }, [editor, editorConfigContext, group, items, maxActiveItems, onActiveChange]);
169
+ useEffect(() => {
170
+ // Run on mount in order to update states when dropdown is opened
171
+ void runDeprioritized(updateStates);
172
+ return mergeRegister(editor.registerUpdateListener(async () => {
173
+ await runDeprioritized(updateStates);
174
+ }));
175
+ }, [editor, runDeprioritized, updateStates]);
176
+ const renderedItems = useMemo(() => {
177
+ return items?.length ? items.map(item_0 => /*#__PURE__*/_jsx(MemoToolbarItem, {
178
+ active: deferredToolbarState.activeItemKeys.includes(item_0.key),
179
+ anchorElem: anchorElem,
180
+ editor: editor,
181
+ enabled: deferredToolbarState.enabledItemKeys.includes(item_0.key),
182
+ item: item_0
183
+ }, item_0.key)) : null;
184
+ }, [items, deferredToolbarState, anchorElem, editor]);
185
+ return /*#__PURE__*/_jsx(DropDown, {
186
+ buttonAriaLabel: `${groupKey} dropdown`,
187
+ buttonClassName: [baseClass, `${baseClass}-${groupKey}`, ...(classNames || [])].filter(Boolean).join(' '),
188
+ disabled: !deferredToolbarState.enabledGroup,
189
+ dropdownKey: groupKey,
190
+ Icon: Icon,
191
+ itemsContainerClassNames: [`${baseClass}-items`, ...(itemsContainerClassNames || [])],
192
+ label: label,
193
+ children: renderedItems
194
+ }, groupKey);
190
195
  };
191
-
192
196
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/features/toolbars/shared/ToolbarDropdown/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useDeferredValue, useEffect, useMemo } from 'react'\n\nconst baseClass = 'toolbar-popup__dropdown'\n\nimport type { LexicalEditor } from 'lexical'\n\nimport { mergeRegister } from '@lexical/utils'\nimport { useTranslation } from '@payloadcms/ui'\nimport { $getSelection } from 'lexical'\n\nimport type { ToolbarDropdownGroup, ToolbarGroupItem } from '../../types.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useRunDeprioritized } from '../../../../utilities/useRunDeprioritized.js'\nimport './index.scss'\nimport { DropDown, DropDownItem } from './DropDown.js'\n\nconst ToolbarItem = ({\n active,\n anchorElem,\n editor,\n enabled,\n item,\n}: {\n active?: boolean\n anchorElem: HTMLElement\n editor: LexicalEditor\n enabled?: boolean\n item: ToolbarGroupItem\n}) => {\n const { i18n } = useTranslation<{}, string>()\n const {\n fieldProps: { featureClientSchemaMap, schemaPath },\n } = useEditorConfigContext()\n\n if (item.Component) {\n return (\n item?.Component && (\n <item.Component\n active={active}\n anchorElem={anchorElem}\n editor={editor}\n enabled={enabled}\n item={item}\n key={item.key}\n />\n )\n )\n }\n\n let title = item.key\n let croppedTitle = item.key\n if (item.label) {\n title =\n typeof item.label === 'function'\n ? item.label({ featureClientSchemaMap, i18n, schemaPath })\n : item.label\n }\n // Crop title to max. 25 characters\n if (title.length > 25) {\n croppedTitle = title.substring(0, 25) + '...'\n } else {\n croppedTitle = title\n }\n\n return (\n <DropDownItem\n active={active}\n editor={editor}\n enabled={enabled}\n Icon={item?.ChildComponent ? <item.ChildComponent /> : undefined}\n item={item}\n itemKey={item.key}\n key={item.key}\n tooltip={title}\n >\n <span className=\"text\">{croppedTitle}</span>\n </DropDownItem>\n )\n}\n\nconst MemoToolbarItem = React.memo(ToolbarItem)\n\nexport const ToolbarDropdown = ({\n anchorElem,\n classNames,\n editor,\n group,\n Icon,\n itemsContainerClassNames,\n label,\n maxActiveItems,\n onActiveChange,\n}: {\n anchorElem: HTMLElement\n classNames?: string[]\n editor: LexicalEditor\n group: ToolbarDropdownGroup\n Icon?: React.FC\n itemsContainerClassNames?: string[]\n label?: string\n /**\n * Maximum number of active items allowed. This is a performance optimization to prevent\n * unnecessary item active checks when the maximum number of active items is reached.\n */\n maxActiveItems?: number\n onActiveChange?: ({ activeItems }: { activeItems: ToolbarGroupItem[] }) => void\n}) => {\n const [toolbarState, setToolbarState] = React.useState<{\n activeItemKeys: string[]\n enabledGroup: boolean\n enabledItemKeys: string[]\n }>({\n activeItemKeys: [],\n enabledGroup: true,\n enabledItemKeys: [],\n })\n const deferredToolbarState = useDeferredValue(toolbarState)\n\n const editorConfigContext = useEditorConfigContext()\n const { items, key: groupKey } = group\n\n const runDeprioritized = useRunDeprioritized()\n\n const updateStates = useCallback(() => {\n editor.getEditorState().read(() => {\n const selection = $getSelection()\n if (!selection) {\n return\n }\n\n const _activeItemKeys: string[] = []\n const _activeItems: ToolbarGroupItem[] = []\n const _enabledItemKeys: string[] = []\n\n for (const item of items) {\n if (item.isActive && (!maxActiveItems || _activeItemKeys.length < maxActiveItems)) {\n const isActive = item.isActive({ editor, editorConfigContext, selection })\n if (isActive) {\n _activeItemKeys.push(item.key)\n _activeItems.push(item)\n }\n }\n if (item.isEnabled) {\n const isEnabled = item.isEnabled({ editor, editorConfigContext, selection })\n if (isEnabled) {\n _enabledItemKeys.push(item.key)\n }\n } else {\n _enabledItemKeys.push(item.key)\n }\n }\n\n setToolbarState({\n activeItemKeys: _activeItemKeys,\n enabledGroup: group.isEnabled\n ? group.isEnabled({ editor, editorConfigContext, selection })\n : true,\n enabledItemKeys: _enabledItemKeys,\n })\n\n if (onActiveChange) {\n onActiveChange({ activeItems: _activeItems })\n }\n })\n }, [editor, editorConfigContext, group, items, maxActiveItems, onActiveChange])\n\n useEffect(() => {\n // Run on mount in order to update states when dropdown is opened\n void runDeprioritized(updateStates)\n\n return mergeRegister(\n editor.registerUpdateListener(async () => {\n await runDeprioritized(updateStates)\n }),\n )\n }, [editor, runDeprioritized, updateStates])\n\n const renderedItems = useMemo(() => {\n return items?.length\n ? items.map((item) => (\n <MemoToolbarItem\n active={deferredToolbarState.activeItemKeys.includes(item.key)}\n anchorElem={anchorElem}\n editor={editor}\n enabled={deferredToolbarState.enabledItemKeys.includes(item.key)}\n item={item}\n key={item.key}\n />\n ))\n : null\n }, [items, deferredToolbarState, anchorElem, editor])\n\n return (\n <DropDown\n buttonAriaLabel={`${groupKey} dropdown`}\n buttonClassName={[baseClass, `${baseClass}-${groupKey}`, ...(classNames || [])]\n .filter(Boolean)\n .join(' ')}\n disabled={!deferredToolbarState.enabledGroup}\n dropdownKey={groupKey}\n Icon={Icon}\n itemsContainerClassNames={[`${baseClass}-items`, ...(itemsContainerClassNames || [])]}\n key={groupKey}\n label={label}\n >\n {renderedItems}\n </DropDown>\n )\n}\n"],"names":["React","useCallback","useDeferredValue","useEffect","useMemo","baseClass","mergeRegister","useTranslation","$getSelection","useEditorConfigContext","useRunDeprioritized","DropDown","DropDownItem","ToolbarItem","active","anchorElem","editor","enabled","item","i18n","fieldProps","featureClientSchemaMap","schemaPath","Component","key","title","croppedTitle","label","length","substring","Icon","ChildComponent","undefined","itemKey","tooltip","span","className","MemoToolbarItem","memo","ToolbarDropdown","classNames","group","itemsContainerClassNames","maxActiveItems","onActiveChange","toolbarState","setToolbarState","useState","activeItemKeys","enabledGroup","enabledItemKeys","deferredToolbarState","editorConfigContext","items","groupKey","runDeprioritized","updateStates","getEditorState","read","selection","_activeItemKeys","_activeItems","_enabledItemKeys","isActive","push","isEnabled","activeItems","registerUpdateListener","renderedItems","map","includes","buttonAriaLabel","buttonClassName","filter","Boolean","join","disabled","dropdownKey"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useDeferredValue","useEffect","useMemo","baseClass","mergeRegister","useTranslation","$getSelection","useEditorConfigContext","useRunDeprioritized","DropDown","DropDownItem","ToolbarItem","t0","$","active","anchorElem","editor","enabled","item","i18n","fieldProps","t1","featureClientSchemaMap","schemaPath","Component","t2","_jsx","key","title","croppedTitle","label","length","substring","Icon","ChildComponent","undefined","itemKey","tooltip","children","className","MemoToolbarItem","memo","ToolbarDropdown","classNames","group","itemsContainerClassNames","maxActiveItems","onActiveChange","toolbarState","setToolbarState","useState","activeItemKeys","enabledGroup","enabledItemKeys","deferredToolbarState","editorConfigContext","items","groupKey","runDeprioritized","updateStates","getEditorState","read","selection","_activeItemKeys","_activeItems","_enabledItemKeys","isActive","push","isEnabled","activeItems","registerUpdateListener","renderedItems","map","includes","buttonAriaLabel","buttonClassName","filter","Boolean","join","disabled","dropdownKey"],"sources":["../../../../../src/features/toolbars/shared/ToolbarDropdown/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useDeferredValue, useEffect, useMemo } from 'react'\n\nconst baseClass = 'toolbar-popup__dropdown'\n\nimport type { LexicalEditor } from 'lexical'\n\nimport { mergeRegister } from '@lexical/utils'\nimport { useTranslation } from '@payloadcms/ui'\nimport { $getSelection } from 'lexical'\n\nimport type { ToolbarDropdownGroup, ToolbarGroupItem } from '../../types.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useRunDeprioritized } from '../../../../utilities/useRunDeprioritized.js'\nimport './index.scss'\nimport { DropDown, DropDownItem } from './DropDown.js'\n\nconst ToolbarItem = ({\n active,\n anchorElem,\n editor,\n enabled,\n item,\n}: {\n active?: boolean\n anchorElem: HTMLElement\n editor: LexicalEditor\n enabled?: boolean\n item: ToolbarGroupItem\n}) => {\n const { i18n } = useTranslation<{}, string>()\n const {\n fieldProps: { featureClientSchemaMap, schemaPath },\n } = useEditorConfigContext()\n\n if (item.Component) {\n return (\n item?.Component && (\n <item.Component\n active={active}\n anchorElem={anchorElem}\n editor={editor}\n enabled={enabled}\n item={item}\n key={item.key}\n />\n )\n )\n }\n\n let title = item.key\n let croppedTitle = item.key\n if (item.label) {\n title =\n typeof item.label === 'function'\n ? item.label({ featureClientSchemaMap, i18n, schemaPath })\n : item.label\n }\n // Crop title to max. 25 characters\n if (title.length > 25) {\n croppedTitle = title.substring(0, 25) + '...'\n } else {\n croppedTitle = title\n }\n\n return (\n <DropDownItem\n active={active}\n editor={editor}\n enabled={enabled}\n Icon={item?.ChildComponent ? <item.ChildComponent /> : undefined}\n item={item}\n itemKey={item.key}\n key={item.key}\n tooltip={title}\n >\n <span className=\"text\">{croppedTitle}</span>\n </DropDownItem>\n )\n}\n\nconst MemoToolbarItem = React.memo(ToolbarItem)\n\nexport const ToolbarDropdown = ({\n anchorElem,\n classNames,\n editor,\n group,\n Icon,\n itemsContainerClassNames,\n label,\n maxActiveItems,\n onActiveChange,\n}: {\n anchorElem: HTMLElement\n classNames?: string[]\n editor: LexicalEditor\n group: ToolbarDropdownGroup\n Icon?: React.FC\n itemsContainerClassNames?: string[]\n label?: string\n /**\n * Maximum number of active items allowed. This is a performance optimization to prevent\n * unnecessary item active checks when the maximum number of active items is reached.\n */\n maxActiveItems?: number\n onActiveChange?: ({ activeItems }: { activeItems: ToolbarGroupItem[] }) => void\n}) => {\n const [toolbarState, setToolbarState] = React.useState<{\n activeItemKeys: string[]\n enabledGroup: boolean\n enabledItemKeys: string[]\n }>({\n activeItemKeys: [],\n enabledGroup: true,\n enabledItemKeys: [],\n })\n const deferredToolbarState = useDeferredValue(toolbarState)\n\n const editorConfigContext = useEditorConfigContext()\n const { items, key: groupKey } = group\n\n const runDeprioritized = useRunDeprioritized()\n\n const updateStates = useCallback(() => {\n editor.getEditorState().read(() => {\n const selection = $getSelection()\n if (!selection) {\n return\n }\n\n const _activeItemKeys: string[] = []\n const _activeItems: ToolbarGroupItem[] = []\n const _enabledItemKeys: string[] = []\n\n for (const item of items) {\n if (item.isActive && (!maxActiveItems || _activeItemKeys.length < maxActiveItems)) {\n const isActive = item.isActive({ editor, editorConfigContext, selection })\n if (isActive) {\n _activeItemKeys.push(item.key)\n _activeItems.push(item)\n }\n }\n if (item.isEnabled) {\n const isEnabled = item.isEnabled({ editor, editorConfigContext, selection })\n if (isEnabled) {\n _enabledItemKeys.push(item.key)\n }\n } else {\n _enabledItemKeys.push(item.key)\n }\n }\n\n setToolbarState({\n activeItemKeys: _activeItemKeys,\n enabledGroup: group.isEnabled\n ? group.isEnabled({ editor, editorConfigContext, selection })\n : true,\n enabledItemKeys: _enabledItemKeys,\n })\n\n if (onActiveChange) {\n onActiveChange({ activeItems: _activeItems })\n }\n })\n }, [editor, editorConfigContext, group, items, maxActiveItems, onActiveChange])\n\n useEffect(() => {\n // Run on mount in order to update states when dropdown is opened\n void runDeprioritized(updateStates)\n\n return mergeRegister(\n editor.registerUpdateListener(async () => {\n await runDeprioritized(updateStates)\n }),\n )\n }, [editor, runDeprioritized, updateStates])\n\n const renderedItems = useMemo(() => {\n return items?.length\n ? items.map((item) => (\n <MemoToolbarItem\n active={deferredToolbarState.activeItemKeys.includes(item.key)}\n anchorElem={anchorElem}\n editor={editor}\n enabled={deferredToolbarState.enabledItemKeys.includes(item.key)}\n item={item}\n key={item.key}\n />\n ))\n : null\n }, [items, deferredToolbarState, anchorElem, editor])\n\n return (\n <DropDown\n buttonAriaLabel={`${groupKey} dropdown`}\n buttonClassName={[baseClass, `${baseClass}-${groupKey}`, ...(classNames || [])]\n .filter(Boolean)\n .join(' ')}\n disabled={!deferredToolbarState.enabledGroup}\n dropdownKey={groupKey}\n Icon={Icon}\n itemsContainerClassNames={[`${baseClass}-items`, ...(itemsContainerClassNames || [])]}\n key={groupKey}\n label={label}\n >\n {renderedItems}\n </DropDown>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,30 +1,2 @@
1
- /**
2
- * The dropdown toolbar ChildComponent allows you to pass in a React Component which will be displayed within the dropdown button.
3
- */ /**
4
- * This is optional and controls if the toolbar group is highlighted or not.
5
- */ /**
6
- * All toolbar items part of this toolbar group need to be added here.
7
- */ /**
8
- * Each toolbar group needs to have a unique key. Groups with the same keys will have their items merged together.
9
- */ /**
10
- * The maximum number of active items that can be selected at once.
11
- * Increasing this will hurt performance, as more nodes need to be checked for their active state.
12
- *
13
- * E.g. if this is 1, we can stop checking nodes once we find an active node.
14
- *
15
- * @default 1
16
- */ /**
17
- * Determines where the toolbar group will be.
18
- */ /**
19
- * Controls the toolbar group type. Set to `dropdown` to create a buttons toolbar group, which displays toolbar items vertically using their icons and labels, if the dropdown is open.
20
- */ /**
21
- * All toolbar items part of this toolbar group need to be added here.
22
- */ /**
23
- * Each toolbar group needs to have a unique key. Groups with the same keys will have their items merged together.
24
- */ /**
25
- * Determines where the toolbar group will be.
26
- */ /**
27
- * Controls the toolbar group type. Set to `buttons` to create a buttons toolbar group, which displays toolbar items horizontally using only their icons.
28
- */ /** A React component which is rendered within your toolbar item's default button component. Usually, you want this to be an icon. */ /** A React component which is rendered in place of the toolbar item's default button component, thus completely replacing it. The `ChildComponent` and `onSelect` properties will be ignored. */ /** This is optional and controls if the toolbar item is highlighted or not. */ /** This is optional and controls if the toolbar item is clickable or not. If `false` is returned here, it will be grayed out and unclickable. */ /** Each toolbar item needs to have a unique key. */ /** The label will be displayed in your toolbar item, if it's within a dropdown group. In order to make use of i18n, this can be a function. */ /** Each toolbar item needs to have a unique key. */ export { };
29
-
1
+ export {};
30
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/toolbars/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { BaseSelection, LexicalEditor } from 'lexical'\nimport type React from 'react'\n\nimport type { EditorConfigContextType } from '../../lexical/config/client/EditorConfigProvider.js'\nimport type { FeatureClientSchemaMap } from '../../types.js'\n\nexport type ToolbarGroup = ToolbarButtonsGroup | ToolbarDropdownGroup\n\nexport type ToolbarDropdownGroup = {\n /**\n * The dropdown toolbar ChildComponent allows you to pass in a React Component which will be displayed within the dropdown button.\n */\n ChildComponent?: React.FC\n /**\n * This is optional and controls if the toolbar group is highlighted or not.\n */\n isEnabled?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /**\n * All toolbar items part of this toolbar group need to be added here.\n */\n items: Array<ToolbarGroupItem>\n /**\n * Each toolbar group needs to have a unique key. Groups with the same keys will have their items merged together.\n */\n key: string\n /**\n * The maximum number of active items that can be selected at once.\n * Increasing this will hurt performance, as more nodes need to be checked for their active state.\n *\n * E.g. if this is 1, we can stop checking nodes once we find an active node.\n *\n * @default 1\n */\n maxActiveItems?: number\n /**\n * Determines where the toolbar group will be.\n */\n order?: number\n /**\n * Controls the toolbar group type. Set to `dropdown` to create a buttons toolbar group, which displays toolbar items vertically using their icons and labels, if the dropdown is open.\n */\n type: 'dropdown'\n}\n\nexport type ToolbarButtonsGroup = {\n /**\n * All toolbar items part of this toolbar group need to be added here.\n */\n items: Array<ToolbarGroupItem>\n /**\n * Each toolbar group needs to have a unique key. Groups with the same keys will have their items merged together.\n */\n key: string\n /**\n * Determines where the toolbar group will be.\n */\n order?: number\n /**\n * Controls the toolbar group type. Set to `buttons` to create a buttons toolbar group, which displays toolbar items horizontally using only their icons.\n */\n type: 'buttons'\n}\n\nexport type ToolbarGroupItem = {\n /** A React component which is rendered within your toolbar item's default button component. Usually, you want this to be an icon. */\n ChildComponent?: React.FC\n /** A React component which is rendered in place of the toolbar item's default button component, thus completely replacing it. The `ChildComponent` and `onSelect` properties will be ignored. */\n Component?: React.FC<{\n active?: boolean\n anchorElem: HTMLElement\n editor: LexicalEditor\n enabled?: boolean\n item: ToolbarGroupItem\n }>\n /** This is optional and controls if the toolbar item is highlighted or not. */\n isActive?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /** This is optional and controls if the toolbar item is clickable or not. If `false` is returned here, it will be grayed out and unclickable. */\n isEnabled?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /** Each toolbar item needs to have a unique key. */\n key: string\n /** The label will be displayed in your toolbar item, if it's within a dropdown group. In order to make use of i18n, this can be a function. */\n label?:\n | ((args: {\n featureClientSchemaMap: FeatureClientSchemaMap\n i18n: I18nClient<{}, string>\n schemaPath: string\n }) => string)\n | string\n /** Each toolbar item needs to have a unique key. */\n onSelect?: ({ editor, isActive }: { editor: LexicalEditor; isActive: boolean }) => void\n order?: number\n}\n\nexport type CustomGroups = Record<\n string,\n | Partial<Omit<ToolbarButtonsGroup, 'items' | 'key'>>\n | Partial<Omit<ToolbarDropdownGroup, 'isEnabled' | 'items' | 'key'>>\n>\n"],"names":[],"mappings":"AAUE;;GAEC,GAED;;GAEC,GAUD;;GAEC,GAED;;GAEC,GAED;;;;;;;GAOC,GAED;;GAEC,GAED;;GAEC,GAKD;;GAEC,GAED;;GAEC,GAED;;GAEC,GAED;;GAEC,GAKD,mIAAmI,GAEnI,+LAA+L,GAQ/L,6EAA6E,GAU7E,+IAA+I,GAU/I,kDAAkD,GAElD,6IAA6I,GAQ7I,kDAAkD,GAKpD,WAIC"}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/features/toolbars/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { BaseSelection, LexicalEditor } from 'lexical'\nimport type React from 'react'\n\nimport type { EditorConfigContextType } from '../../lexical/config/client/EditorConfigProvider.js'\nimport type { FeatureClientSchemaMap } from '../../types.js'\n\nexport type ToolbarGroup = ToolbarButtonsGroup | ToolbarDropdownGroup\n\nexport type ToolbarDropdownGroup = {\n /**\n * The dropdown toolbar ChildComponent allows you to pass in a React Component which will be displayed within the dropdown button.\n */\n ChildComponent?: React.FC\n /**\n * This is optional and controls if the toolbar group is highlighted or not.\n */\n isEnabled?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /**\n * All toolbar items part of this toolbar group need to be added here.\n */\n items: Array<ToolbarGroupItem>\n /**\n * Each toolbar group needs to have a unique key. Groups with the same keys will have their items merged together.\n */\n key: string\n /**\n * The maximum number of active items that can be selected at once.\n * Increasing this will hurt performance, as more nodes need to be checked for their active state.\n *\n * E.g. if this is 1, we can stop checking nodes once we find an active node.\n *\n * @default 1\n */\n maxActiveItems?: number\n /**\n * Determines where the toolbar group will be.\n */\n order?: number\n /**\n * Controls the toolbar group type. Set to `dropdown` to create a buttons toolbar group, which displays toolbar items vertically using their icons and labels, if the dropdown is open.\n */\n type: 'dropdown'\n}\n\nexport type ToolbarButtonsGroup = {\n /**\n * All toolbar items part of this toolbar group need to be added here.\n */\n items: Array<ToolbarGroupItem>\n /**\n * Each toolbar group needs to have a unique key. Groups with the same keys will have their items merged together.\n */\n key: string\n /**\n * Determines where the toolbar group will be.\n */\n order?: number\n /**\n * Controls the toolbar group type. Set to `buttons` to create a buttons toolbar group, which displays toolbar items horizontally using only their icons.\n */\n type: 'buttons'\n}\n\nexport type ToolbarGroupItem = {\n /** A React component which is rendered within your toolbar item's default button component. Usually, you want this to be an icon. */\n ChildComponent?: React.FC\n /** A React component which is rendered in place of the toolbar item's default button component, thus completely replacing it. The `ChildComponent` and `onSelect` properties will be ignored. */\n Component?: React.FC<{\n active?: boolean\n anchorElem: HTMLElement\n editor: LexicalEditor\n enabled?: boolean\n item: ToolbarGroupItem\n }>\n /** This is optional and controls if the toolbar item is highlighted or not. */\n isActive?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /** This is optional and controls if the toolbar item is clickable or not. If `false` is returned here, it will be grayed out and unclickable. */\n isEnabled?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /** Each toolbar item needs to have a unique key. */\n key: string\n /** The label will be displayed in your toolbar item, if it's within a dropdown group. In order to make use of i18n, this can be a function. */\n label?:\n | ((args: {\n featureClientSchemaMap: FeatureClientSchemaMap\n i18n: I18nClient<{}, string>\n schemaPath: string\n }) => string)\n | string\n /** Each toolbar item needs to have a unique key. */\n onSelect?: ({ editor, isActive }: { editor: LexicalEditor; isActive: boolean }) => void\n order?: number\n}\n\nexport type CustomGroups = Record<\n string,\n | Partial<Omit<ToolbarButtonsGroup, 'items' | 'key'>>\n | Partial<Omit<ToolbarDropdownGroup, 'isEnabled' | 'items' | 'key'>>\n>\n"],"mappings":"AAsHA","ignoreList":[]}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * Utility function to create a node with hooks. You don't have to use this utility, but it improves type inference
3
3
  * @param node the node
4
- */ export function createNode(node) {
5
- return node;
4
+ */export function createNode(node) {
5
+ return node;
6
6
  }
7
-
8
7
  //# sourceMappingURL=typeUtilities.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/features/typeUtilities.ts"],"sourcesContent":["import type { LexicalNode } from 'lexical'\n\nimport type { NodeWithHooks } from './typesServer.js'\n\n/**\n * Utility function to create a node with hooks. You don't have to use this utility, but it improves type inference\n * @param node the node\n */\nexport function createNode<Node extends LexicalNode>(\n node: NodeWithHooks<Node>,\n): NodeWithHooks<Node> {\n return node\n}\n"],"names":["createNode","node"],"mappings":"AAIA;;;CAGC,GACD,OAAO,SAASA,WACdC,IAAyB;IAEzB,OAAOA;AACT"}
1
+ {"version":3,"file":"typeUtilities.js","names":["createNode","node"],"sources":["../../src/features/typeUtilities.ts"],"sourcesContent":["import type { LexicalNode } from 'lexical'\n\nimport type { NodeWithHooks } from './typesServer.js'\n\n/**\n * Utility function to create a node with hooks. You don't have to use this utility, but it improves type inference\n * @param node the node\n */\nexport function createNode<Node extends LexicalNode>(\n node: NodeWithHooks<Node>,\n): NodeWithHooks<Node> {\n return node\n}\n"],"mappings":"AAIA;;;GAIA,OAAO,SAASA,WACdC,IAAyB;EAEzB,OAAOA,IAAA;AACT","ignoreList":[]}
@@ -1,62 +1,2 @@
1
- /**
2
- * No dependencies => Features need to be sorted on the server first, then sent to client in right order
3
- */ /**
4
- * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to
5
- */ /** unSanitizedEditorConfig.features, but mapped */ // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here
6
- // unSanitized EditorConfig,
7
- /**
8
- * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more "outside" functionality
9
- */ // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more "outside" functionality
10
- // Determines at which position the Component will be added.
11
- // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more "outside" functionality
12
- // Determines at which position the Component will be added.
13
- // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more "outside" functionality
14
- // Determines at which position the Component will be added.
15
- // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more "outside" functionality
16
- // Determines at which position the Component will be added.
17
- /**
18
- * The text formats which are enabled by this feature.
19
- */ /**
20
- * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more "outside" functionality
21
- */ // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more "outside" functionality
22
- // Determines at which position the Component will be added.
23
- // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more "outside" functionality
24
- // Determines at which position the Component will be added.
25
- // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more "outside" functionality
26
- // Determines at which position the Component will be added.
27
- // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more "outside" functionality
28
- // Determines at which position the Component will be added.
29
- // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more "outside" functionality
30
- // Determines at which position the Component will be added.
31
- // Determines at which position the Component will be added.
32
- /**
33
- * Client Features can register their own providers, which will be nested below the EditorConfigProvider
34
- */ /**
35
- * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to
36
- */ /**
37
- * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).
38
- * Thus, to re-calculate the available groups, this function will be called every time you type after the /.
39
- *
40
- * The groups provided by dynamicGroups will be merged with the static groups provided by the groups property.
41
- */ /**
42
- * Static array of groups together with the items in them. These will always be present.
43
- * While typing after the /, they will be filtered by the query string and the keywords, key and display name of the items.
44
- */ /**
45
- * An opt-in, classic fixed toolbar which stays at the top of the editor
46
- */ /**
47
- * The default, floating toolbar which appears when you select text.
48
- */ /**
49
- * Array of toolbar groups / sections. Each section can contain multiple toolbar items.
50
- */ export { }; /** The keys of all enabled features */ /**
51
- * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more "outside" functionality
52
- */ /**
53
- * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).
54
- * Thus, to re-calculate the available groups, this function will be called every time you type after the /.
55
- *
56
- * The groups provided by dynamicGroups will be merged with the static groups provided by the groups property.
57
- */ /**
58
- * Static array of groups together with the items in them. These will always be present.
59
- * While typing after the /, they will be filtered by the query string and the keywords, key and display name of the items.
60
- */
61
-
1
+ export {};
62
2
  //# sourceMappingURL=typesClient.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/features/typesClient.ts"],"sourcesContent":["import type {\n Klass,\n LexicalEditor,\n LexicalNode,\n LexicalNodeReplacement,\n TextFormatType,\n} from 'lexical'\nimport type { ClientConfig, RichTextFieldClient } from 'payload'\nimport type React from 'react'\nimport type { JSX } from 'react'\n\nimport type { ClientEditorConfig } from '../lexical/config/types.js'\nimport type { SlashMenuGroup } from '../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nimport type { Transformer } from '../packages/@lexical/markdown/index.js'\nimport type { FeatureClientSchemaMap } from '../types.js'\nimport type { ToolbarGroup } from './toolbars/types.js'\n\nexport type FeatureProviderProviderClient<\n UnSanitizedClientFeatureProps = undefined,\n ClientFeatureProps = UnSanitizedClientFeatureProps,\n> = (props: BaseClientFeatureProps<ClientFeatureProps>) => FeatureProviderClient<ClientFeatureProps>\n\n/**\n * No dependencies => Features need to be sorted on the server first, then sent to client in right order\n */\nexport type FeatureProviderClient<\n UnSanitizedClientFeatureProps = undefined,\n ClientFeatureProps = UnSanitizedClientFeatureProps,\n> = {\n /**\n * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to\n */\n clientFeatureProps: BaseClientFeatureProps<UnSanitizedClientFeatureProps>\n feature:\n | ((props: {\n config: ClientConfig\n featureClientImportMap: Record<string, any>\n featureClientSchemaMap: FeatureClientSchemaMap\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ClientFeatureProviderMap\n field?: RichTextFieldClient\n // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here\n resolvedFeatures: ResolvedClientFeatureMap\n schemaPath: string\n // unSanitized EditorConfig,\n unSanitizedEditorConfig: ClientEditorConfig\n }) => ClientFeature<ClientFeatureProps>)\n | ClientFeature<ClientFeatureProps>\n}\n\nexport type PluginComponent<ClientFeatureProps = any> = React.FC<{\n clientProps: ClientFeatureProps\n}>\nexport type PluginComponentWithAnchor<ClientFeatureProps = any> = React.FC<{\n anchorElem: HTMLElement\n clientProps: ClientFeatureProps\n}>\n\n/**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\nexport type SanitizedPlugin =\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'bottom' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'normal' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'top' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponentWithAnchor\n desktopOnly?: boolean\n key: string\n position: 'floatingAnchorElem' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n Component: PluginComponent\n key: string\n position: 'aboveContainer'\n }\n | {\n clientProps: any\n Component: PluginComponent\n key: string\n position: 'belowContainer'\n }\n\nexport type ClientFeature<ClientFeatureProps> = {\n /**\n * The text formats which are enabled by this feature.\n */\n enableFormats?: TextFormatType[]\n markdownTransformers?: (\n | ((props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n }) => Transformer)\n | Transformer\n )[]\n nodes?: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n /**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\n plugins?: Array<\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'aboveContainer' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'bottom' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'normal' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'top' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponentWithAnchor<ClientFeatureProps>\n position: 'floatingAnchorElem' // Determines at which position the Component will be added.\n }\n | {\n Component: PluginComponent<ClientFeatureProps>\n position: 'belowContainer' // Determines at which position the Component will be added.\n }\n >\n /**\n * Client Features can register their own providers, which will be nested below the EditorConfigProvider\n */\n providers?: Array<React.FC<{ children: JSX.Element }>>\n /**\n * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to\n */\n sanitizedClientFeatureProps?: BaseClientFeatureProps<ClientFeatureProps>\n slashMenu?: {\n /**\n * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).\n * Thus, to re-calculate the available groups, this function will be called every time you type after the /.\n *\n * The groups provided by dynamicGroups will be merged with the static groups provided by the groups property.\n */\n dynamicGroups?: ({\n editor,\n queryString,\n }: {\n editor: LexicalEditor\n queryString: string\n }) => SlashMenuGroup[]\n /**\n * Static array of groups together with the items in them. These will always be present.\n * While typing after the /, they will be filtered by the query string and the keywords, key and display name of the items.\n */\n groups?: SlashMenuGroup[]\n }\n /**\n * An opt-in, classic fixed toolbar which stays at the top of the editor\n */\n toolbarFixed?: {\n groups: ToolbarGroup[]\n }\n /**\n * The default, floating toolbar which appears when you select text.\n */\n toolbarInline?: {\n /**\n * Array of toolbar groups / sections. Each section can contain multiple toolbar items.\n */\n groups: ToolbarGroup[]\n }\n}\n\nexport type BaseClientFeatureProps<ClientFeatureProps> = ClientFeatureProps extends undefined\n ? {\n featureKey: string\n order: number\n }\n : {\n featureKey: string\n order: number\n } & ClientFeatureProps\n\nexport type ResolvedClientFeature<ClientFeatureProps> = {\n key: string\n order: number\n} & ClientFeature<ClientFeatureProps>\n\nexport type ResolvedClientFeatureMap = Map<string, ResolvedClientFeature<any>>\n\nexport type ClientFeatureProviderMap = Map<string, FeatureProviderClient<any, any>>\n\nexport type SanitizedClientFeatures = {\n /** The keys of all enabled features */\n enabledFeatures: string[]\n enabledFormats: TextFormatType[]\n markdownTransformers: Transformer[]\n\n /**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\n plugins?: Array<SanitizedPlugin>\n slashMenu: {\n /**\n * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).\n * Thus, to re-calculate the available groups, this function will be called every time you type after the /.\n *\n * The groups provided by dynamicGroups will be merged with the static groups provided by the groups property.\n */\n dynamicGroups: Array<\n ({ editor, queryString }: { editor: LexicalEditor; queryString: string }) => SlashMenuGroup[]\n >\n /**\n * Static array of groups together with the items in them. These will always be present.\n * While typing after the /, they will be filtered by the query string and the keywords, key and display name of the items.\n */\n groups: SlashMenuGroup[]\n }\n} & Required<\n Pick<ResolvedClientFeature<unknown>, 'nodes' | 'providers' | 'toolbarFixed' | 'toolbarInline'>\n>\n"],"names":[],"mappings":"AAsBA;;CAEC,GAKC;;GAEC,GAOK,iDAAiD,GAGjD,oIAAoI;AAGpI,4BAA4B;AAcpC;;CAEC,GAIK,6KAA6K;AAG1J,4DAA4D;AAI/E,6KAA6K;AAG1J,4DAA4D;AAI/E,6KAA6K;AAG7J,4DAA4D;AAI5E,6KAA6K;AAI9I,4DAA4D;AAgB/F;;GAEC,GAUD;;GAEC,GAGK,6KAA6K;AAElJ,4DAA4D;AAGvF,6KAA6K;AAE1J,4DAA4D;AAG/E,6KAA6K;AAE1J,4DAA4D;AAG/E,6KAA6K;AAE7J,4DAA4D;AAG5E,6KAA6K;AAE9I,4DAA4D;AAIhE,4DAA4D;AAG7F;;GAEC,GAED;;GAEC,GAGC;;;;;KAKC,GAQD;;;KAGC,GAGH;;GAEC,GAID;;GAEC,GAEC;;KAEC,GAwBL,WA4BC,CA3BC,qCAAqC,IAKrC;;GAEC,IAGC;;;;;KAKC,IAID;;;KAGC"}
1
+ {"version":3,"file":"typesClient.js","names":[],"sources":["../../src/features/typesClient.ts"],"sourcesContent":["import type {\n Klass,\n LexicalEditor,\n LexicalNode,\n LexicalNodeReplacement,\n TextFormatType,\n} from 'lexical'\nimport type { ClientConfig, RichTextFieldClient } from 'payload'\nimport type React from 'react'\nimport type { JSX } from 'react'\n\nimport type { ClientEditorConfig } from '../lexical/config/types.js'\nimport type { SlashMenuGroup } from '../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nimport type { Transformer } from '../packages/@lexical/markdown/index.js'\nimport type { FeatureClientSchemaMap } from '../types.js'\nimport type { ToolbarGroup } from './toolbars/types.js'\n\nexport type FeatureProviderProviderClient<\n UnSanitizedClientFeatureProps = undefined,\n ClientFeatureProps = UnSanitizedClientFeatureProps,\n> = (props: BaseClientFeatureProps<ClientFeatureProps>) => FeatureProviderClient<ClientFeatureProps>\n\n/**\n * No dependencies => Features need to be sorted on the server first, then sent to client in right order\n */\nexport type FeatureProviderClient<\n UnSanitizedClientFeatureProps = undefined,\n ClientFeatureProps = UnSanitizedClientFeatureProps,\n> = {\n /**\n * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to\n */\n clientFeatureProps: BaseClientFeatureProps<UnSanitizedClientFeatureProps>\n feature:\n | ((props: {\n config: ClientConfig\n featureClientImportMap: Record<string, any>\n featureClientSchemaMap: FeatureClientSchemaMap\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ClientFeatureProviderMap\n field?: RichTextFieldClient\n // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here\n resolvedFeatures: ResolvedClientFeatureMap\n schemaPath: string\n // unSanitized EditorConfig,\n unSanitizedEditorConfig: ClientEditorConfig\n }) => ClientFeature<ClientFeatureProps>)\n | ClientFeature<ClientFeatureProps>\n}\n\nexport type PluginComponent<ClientFeatureProps = any> = React.FC<{\n clientProps: ClientFeatureProps\n}>\nexport type PluginComponentWithAnchor<ClientFeatureProps = any> = React.FC<{\n anchorElem: HTMLElement\n clientProps: ClientFeatureProps\n}>\n\n/**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\nexport type SanitizedPlugin =\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'bottom' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'normal' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'top' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponentWithAnchor\n desktopOnly?: boolean\n key: string\n position: 'floatingAnchorElem' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n Component: PluginComponent\n key: string\n position: 'aboveContainer'\n }\n | {\n clientProps: any\n Component: PluginComponent\n key: string\n position: 'belowContainer'\n }\n\nexport type ClientFeature<ClientFeatureProps> = {\n /**\n * The text formats which are enabled by this feature.\n */\n enableFormats?: TextFormatType[]\n markdownTransformers?: (\n | ((props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n }) => Transformer)\n | Transformer\n )[]\n nodes?: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n /**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\n plugins?: Array<\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'aboveContainer' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'bottom' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'normal' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'top' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponentWithAnchor<ClientFeatureProps>\n position: 'floatingAnchorElem' // Determines at which position the Component will be added.\n }\n | {\n Component: PluginComponent<ClientFeatureProps>\n position: 'belowContainer' // Determines at which position the Component will be added.\n }\n >\n /**\n * Client Features can register their own providers, which will be nested below the EditorConfigProvider\n */\n providers?: Array<React.FC<{ children: JSX.Element }>>\n /**\n * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to\n */\n sanitizedClientFeatureProps?: BaseClientFeatureProps<ClientFeatureProps>\n slashMenu?: {\n /**\n * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).\n * Thus, to re-calculate the available groups, this function will be called every time you type after the /.\n *\n * The groups provided by dynamicGroups will be merged with the static groups provided by the groups property.\n */\n dynamicGroups?: ({\n editor,\n queryString,\n }: {\n editor: LexicalEditor\n queryString: string\n }) => SlashMenuGroup[]\n /**\n * Static array of groups together with the items in them. These will always be present.\n * While typing after the /, they will be filtered by the query string and the keywords, key and display name of the items.\n */\n groups?: SlashMenuGroup[]\n }\n /**\n * An opt-in, classic fixed toolbar which stays at the top of the editor\n */\n toolbarFixed?: {\n groups: ToolbarGroup[]\n }\n /**\n * The default, floating toolbar which appears when you select text.\n */\n toolbarInline?: {\n /**\n * Array of toolbar groups / sections. Each section can contain multiple toolbar items.\n */\n groups: ToolbarGroup[]\n }\n}\n\nexport type BaseClientFeatureProps<ClientFeatureProps> = ClientFeatureProps extends undefined\n ? {\n featureKey: string\n order: number\n }\n : {\n featureKey: string\n order: number\n } & ClientFeatureProps\n\nexport type ResolvedClientFeature<ClientFeatureProps> = {\n key: string\n order: number\n} & ClientFeature<ClientFeatureProps>\n\nexport type ResolvedClientFeatureMap = Map<string, ResolvedClientFeature<any>>\n\nexport type ClientFeatureProviderMap = Map<string, FeatureProviderClient<any, any>>\n\nexport type SanitizedClientFeatures = {\n /** The keys of all enabled features */\n enabledFeatures: string[]\n enabledFormats: TextFormatType[]\n markdownTransformers: Transformer[]\n\n /**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\n plugins?: Array<SanitizedPlugin>\n slashMenu: {\n /**\n * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).\n * Thus, to re-calculate the available groups, this function will be called every time you type after the /.\n *\n * The groups provided by dynamicGroups will be merged with the static groups provided by the groups property.\n */\n dynamicGroups: Array<\n ({ editor, queryString }: { editor: LexicalEditor; queryString: string }) => SlashMenuGroup[]\n >\n /**\n * Static array of groups together with the items in them. These will always be present.\n * While typing after the /, they will be filtered by the query string and the keywords, key and display name of the items.\n */\n groups: SlashMenuGroup[]\n }\n} & Required<\n Pick<ResolvedClientFeature<unknown>, 'nodes' | 'providers' | 'toolbarFixed' | 'toolbarInline'>\n>\n"],"mappings":"AAuNA","ignoreList":[]}