@payloadcms/richtext-lexical 3.86.0-internal.ac46214 → 4.0.0-internal.183b315

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 (1073) hide show
  1. package/dist/@types/assets.d.js +2 -0
  2. package/dist/@types/assets.d.js.map +1 -0
  3. package/dist/cell/rscEntry.d.ts +1 -1
  4. package/dist/cell/rscEntry.d.ts.map +1 -1
  5. package/dist/cell/rscEntry.js +5 -5
  6. package/dist/cell/rscEntry.js.map +1 -1
  7. package/dist/exports/client/Field-VYBSMSRY.js +2 -0
  8. package/dist/exports/client/Field-VYBSMSRY.js.map +7 -0
  9. package/dist/exports/client/RelationshipComponent-YCPAKOL7.js +2 -0
  10. package/dist/exports/client/RelationshipComponent-YCPAKOL7.js.map +7 -0
  11. package/dist/exports/client/bundled.css +1 -1
  12. package/dist/exports/client/chunk-5VIL27GI.js +2 -0
  13. package/dist/exports/client/chunk-5VIL27GI.js.map +7 -0
  14. package/dist/exports/client/{chunk-FTT5KJ6W.js → chunk-LH634DPU.js} +1 -1
  15. package/dist/exports/client/chunk-LH634DPU.js.map +7 -0
  16. package/dist/exports/client/{chunk-BZZVLW4U.js → chunk-RJ5MAOKZ.js} +1 -1
  17. package/dist/exports/client/chunk-RJ5MAOKZ.js.map +7 -0
  18. package/dist/exports/client/chunk-UD4DQ4AK.js +2 -0
  19. package/dist/exports/client/chunk-UD4DQ4AK.js.map +7 -0
  20. package/dist/exports/client/chunk-WSAPGI3Z.js +2 -0
  21. package/dist/exports/client/chunk-WSAPGI3Z.js.map +7 -0
  22. package/dist/exports/client/chunk-ZYXHC5CY.js +2 -0
  23. package/dist/exports/client/chunk-ZYXHC5CY.js.map +7 -0
  24. package/dist/exports/client/component-PHZQBOJE.js +2 -0
  25. package/dist/exports/client/component-PHZQBOJE.js.map +7 -0
  26. package/dist/exports/client/componentInline-R3EPNYWF.js +2 -0
  27. package/dist/exports/client/index.d.ts +1 -2
  28. package/dist/exports/client/index.d.ts.map +1 -1
  29. package/dist/exports/client/index.js +33 -33
  30. package/dist/exports/client/index.js.map +4 -4
  31. package/dist/exports/react/index.d.ts +1 -1
  32. package/dist/exports/react/index.d.ts.map +1 -1
  33. package/dist/exports/react/index.js.map +1 -1
  34. package/dist/exports/server/rsc.browser.d.ts +11 -0
  35. package/dist/exports/server/rsc.browser.d.ts.map +1 -0
  36. package/dist/exports/server/rsc.browser.js +10 -0
  37. package/dist/exports/server/rsc.browser.js.map +1 -0
  38. package/dist/features/align/client/toolbarAlignGroup.d.ts.map +1 -1
  39. package/dist/features/align/client/toolbarAlignGroup.js +1 -0
  40. package/dist/features/align/client/toolbarAlignGroup.js.map +1 -1
  41. package/dist/features/blockquote/server/index.d.ts +1 -4
  42. package/dist/features/blockquote/server/index.d.ts.map +1 -1
  43. package/dist/features/blockquote/server/index.js +2 -39
  44. package/dist/features/blockquote/server/index.js.map +1 -1
  45. package/dist/features/blockquote/server/schema.d.ts +8 -0
  46. package/dist/features/blockquote/server/schema.d.ts.map +1 -0
  47. package/dist/features/blockquote/server/schema.js +15 -0
  48. package/dist/features/blockquote/server/schema.js.map +1 -0
  49. package/dist/features/blocks/client/component/BlockContent.d.ts +10 -0
  50. package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
  51. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  52. package/dist/features/blocks/client/component/index.css +178 -0
  53. package/dist/features/blocks/client/component/index.d.ts +4 -3
  54. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  55. package/dist/features/blocks/client/component/index.js +89 -25
  56. package/dist/features/blocks/client/component/index.js.map +1 -1
  57. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts.map +1 -1
  58. package/dist/features/blocks/client/componentInline/index.css +85 -0
  59. package/dist/features/blocks/client/componentInline/index.d.ts +4 -3
  60. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  61. package/dist/features/blocks/client/componentInline/index.js +34 -14
  62. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  63. package/dist/features/blocks/client/index.d.ts.map +1 -1
  64. package/dist/features/blocks/client/index.js +0 -2
  65. package/dist/features/blocks/client/index.js.map +1 -1
  66. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts.map +1 -1
  67. package/dist/features/blocks/client/markdown/markdownTransformer.js +4 -4
  68. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  69. package/dist/features/blocks/client/nodes/BlocksNode.d.ts +2 -2
  70. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  71. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  72. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts +2 -2
  73. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -1
  74. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
  75. package/dist/features/blocks/client/plugin/index.d.ts +1 -1
  76. package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
  77. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  78. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts +1 -1
  79. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts.map +1 -1
  80. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +4 -0
  81. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  82. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.css +26 -0
  83. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.d.ts +1 -1
  84. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.d.ts.map +1 -1
  85. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js +4 -1
  86. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js.map +1 -1
  87. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.css +40 -0
  88. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.d.ts +1 -1
  89. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.d.ts.map +1 -1
  90. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js +7 -8
  91. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js.map +1 -1
  92. package/dist/features/blocks/premade/CodeBlock/Component/index.css +171 -0
  93. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts +1 -2
  94. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -1
  95. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  96. package/dist/features/blocks/server/index.d.ts +1 -0
  97. package/dist/features/blocks/server/index.d.ts.map +1 -1
  98. package/dist/features/blocks/server/index.js +20 -66
  99. package/dist/features/blocks/server/index.js.map +1 -1
  100. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts.map +1 -1
  101. package/dist/features/blocks/server/markdown/markdownTransformer.js +4 -4
  102. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  103. package/dist/features/blocks/server/nodes/BlocksNode.d.ts +1 -18
  104. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  105. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  106. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts +2 -10
  107. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -1
  108. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  109. package/dist/features/blocks/server/schema.d.ts +45 -0
  110. package/dist/features/blocks/server/schema.d.ts.map +1 -0
  111. package/dist/features/blocks/server/schema.js +139 -0
  112. package/dist/features/blocks/server/schema.js.map +1 -0
  113. package/dist/features/blocks/server/validate.d.ts +1 -2
  114. package/dist/features/blocks/server/validate.d.ts.map +1 -1
  115. package/dist/features/blocks/server/validate.js.map +1 -1
  116. package/dist/features/converters/htmlToLexical/index.d.ts +1 -1
  117. package/dist/features/converters/htmlToLexical/index.d.ts.map +1 -1
  118. package/dist/features/converters/htmlToLexical/index.js.map +1 -1
  119. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.d.ts +1 -1
  120. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.d.ts.map +1 -1
  121. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js.map +1 -1
  122. package/dist/features/converters/lexicalToHtml/async/converters/heading.d.ts +1 -1
  123. package/dist/features/converters/lexicalToHtml/async/converters/heading.d.ts.map +1 -1
  124. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  125. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.d.ts +1 -1
  126. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.d.ts.map +1 -1
  127. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js.map +1 -1
  128. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.d.ts +1 -1
  129. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.d.ts.map +1 -1
  130. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js.map +1 -1
  131. package/dist/features/converters/lexicalToHtml/async/converters/link.d.ts +1 -1
  132. package/dist/features/converters/lexicalToHtml/async/converters/link.d.ts.map +1 -1
  133. package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +1 -1
  134. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts +1 -1
  135. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +1 -1
  136. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  137. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.d.ts +1 -1
  138. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.d.ts.map +1 -1
  139. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js.map +1 -1
  140. package/dist/features/converters/lexicalToHtml/async/converters/tab.d.ts +1 -1
  141. package/dist/features/converters/lexicalToHtml/async/converters/tab.d.ts.map +1 -1
  142. package/dist/features/converters/lexicalToHtml/async/converters/tab.js.map +1 -1
  143. package/dist/features/converters/lexicalToHtml/async/converters/table.d.ts +1 -1
  144. package/dist/features/converters/lexicalToHtml/async/converters/table.d.ts.map +1 -1
  145. package/dist/features/converters/lexicalToHtml/async/converters/table.js +1 -1
  146. package/dist/features/converters/lexicalToHtml/async/converters/table.js.map +1 -1
  147. package/dist/features/converters/lexicalToHtml/async/converters/text.d.ts +1 -1
  148. package/dist/features/converters/lexicalToHtml/async/converters/text.d.ts.map +1 -1
  149. package/dist/features/converters/lexicalToHtml/async/converters/text.js.map +1 -1
  150. package/dist/features/converters/lexicalToHtml/async/converters/upload.d.ts +1 -1
  151. package/dist/features/converters/lexicalToHtml/async/converters/upload.d.ts.map +1 -1
  152. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  153. package/dist/features/converters/lexicalToHtml/async/defaultConverters.d.ts +1 -1
  154. package/dist/features/converters/lexicalToHtml/async/defaultConverters.d.ts.map +1 -1
  155. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +1 -1
  156. package/dist/features/converters/lexicalToHtml/async/types.d.ts +15 -16
  157. package/dist/features/converters/lexicalToHtml/async/types.d.ts.map +1 -1
  158. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  159. package/dist/features/converters/lexicalToHtml/shared/cssColors.d.ts.map +1 -1
  160. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  161. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.d.ts +1 -1
  162. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.d.ts.map +1 -1
  163. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +1 -1
  164. package/dist/features/converters/lexicalToHtml/sync/converters/heading.d.ts +1 -1
  165. package/dist/features/converters/lexicalToHtml/sync/converters/heading.d.ts.map +1 -1
  166. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  167. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.d.ts +1 -1
  168. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.d.ts.map +1 -1
  169. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +1 -1
  170. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.d.ts +1 -1
  171. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.d.ts.map +1 -1
  172. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +1 -1
  173. package/dist/features/converters/lexicalToHtml/sync/converters/link.d.ts +1 -1
  174. package/dist/features/converters/lexicalToHtml/sync/converters/link.d.ts.map +1 -1
  175. package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +1 -1
  176. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts +1 -1
  177. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +1 -1
  178. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  179. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.d.ts +1 -1
  180. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.d.ts.map +1 -1
  181. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +1 -1
  182. package/dist/features/converters/lexicalToHtml/sync/converters/tab.d.ts +1 -1
  183. package/dist/features/converters/lexicalToHtml/sync/converters/tab.d.ts.map +1 -1
  184. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +1 -1
  185. package/dist/features/converters/lexicalToHtml/sync/converters/table.d.ts +1 -1
  186. package/dist/features/converters/lexicalToHtml/sync/converters/table.d.ts.map +1 -1
  187. package/dist/features/converters/lexicalToHtml/sync/converters/table.js +1 -1
  188. package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +1 -1
  189. package/dist/features/converters/lexicalToHtml/sync/converters/text.d.ts +1 -1
  190. package/dist/features/converters/lexicalToHtml/sync/converters/text.d.ts.map +1 -1
  191. package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +1 -1
  192. package/dist/features/converters/lexicalToHtml/sync/converters/upload.d.ts +1 -1
  193. package/dist/features/converters/lexicalToHtml/sync/converters/upload.d.ts.map +1 -1
  194. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  195. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.d.ts +1 -1
  196. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.d.ts.map +1 -1
  197. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js.map +1 -1
  198. package/dist/features/converters/lexicalToHtml/sync/types.d.ts +15 -16
  199. package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +1 -1
  200. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  201. package/dist/features/converters/lexicalToJSX/Component/index.d.ts +6 -4
  202. package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +1 -1
  203. package/dist/features/converters/lexicalToJSX/Component/index.js +5 -4
  204. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  205. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.d.ts +1 -1
  206. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.d.ts.map +1 -1
  207. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js.map +1 -1
  208. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts +1 -1
  209. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +1 -1
  210. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  211. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.d.ts +1 -1
  212. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.d.ts.map +1 -1
  213. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js.map +1 -1
  214. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.d.ts +1 -1
  215. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.d.ts.map +1 -1
  216. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js.map +1 -1
  217. package/dist/features/converters/lexicalToJSX/converter/converters/link.d.ts +1 -1
  218. package/dist/features/converters/lexicalToJSX/converter/converters/link.d.ts.map +1 -1
  219. package/dist/features/converters/lexicalToJSX/converter/converters/link.js.map +1 -1
  220. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts +1 -1
  221. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +1 -1
  222. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  223. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.d.ts +1 -1
  224. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.d.ts.map +1 -1
  225. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js.map +1 -1
  226. package/dist/features/converters/lexicalToJSX/converter/converters/tab.d.ts +1 -1
  227. package/dist/features/converters/lexicalToJSX/converter/converters/tab.d.ts.map +1 -1
  228. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js.map +1 -1
  229. package/dist/features/converters/lexicalToJSX/converter/converters/table.d.ts +1 -1
  230. package/dist/features/converters/lexicalToJSX/converter/converters/table.d.ts.map +1 -1
  231. package/dist/features/converters/lexicalToJSX/converter/converters/table.js.map +1 -1
  232. package/dist/features/converters/lexicalToJSX/converter/converters/text.d.ts +1 -1
  233. package/dist/features/converters/lexicalToJSX/converter/converters/text.d.ts.map +1 -1
  234. package/dist/features/converters/lexicalToJSX/converter/converters/text.js.map +1 -1
  235. package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts +1 -1
  236. package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts.map +1 -1
  237. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  238. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.d.ts +1 -1
  239. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.d.ts.map +1 -1
  240. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +1 -1
  241. package/dist/features/converters/lexicalToJSX/converter/index.d.ts +1 -1
  242. package/dist/features/converters/lexicalToJSX/converter/index.d.ts.map +1 -1
  243. package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -1
  244. package/dist/features/converters/lexicalToJSX/converter/types.d.ts +13 -15
  245. package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +1 -1
  246. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  247. package/dist/features/converters/lexicalToMarkdown/index.d.ts.map +1 -1
  248. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +1 -1
  249. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +1 -1
  250. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts +13 -15
  251. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts.map +1 -1
  252. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  253. package/dist/features/converters/markdownToLexical/index.d.ts +1 -1
  254. package/dist/features/converters/markdownToLexical/index.d.ts.map +1 -1
  255. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  256. package/dist/features/debug/jsxConverter/client/plugin/index.d.ts +1 -1
  257. package/dist/features/debug/jsxConverter/client/plugin/index.d.ts.map +1 -1
  258. package/dist/features/debug/jsxConverter/client/plugin/index.js +1 -0
  259. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  260. package/dist/features/debug/jsxConverter/client/plugin/style.css +9 -0
  261. package/dist/features/debug/testRecorder/client/plugin/index.css +51 -0
  262. package/dist/features/debug/testRecorder/client/plugin/index.d.ts +1 -1
  263. package/dist/features/debug/testRecorder/client/plugin/index.d.ts.map +1 -1
  264. package/dist/features/debug/testRecorder/client/plugin/index.js +1 -0
  265. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  266. package/dist/features/debug/treeView/client/plugin/index.css +81 -0
  267. package/dist/features/debug/treeView/client/plugin/index.d.ts +1 -1
  268. package/dist/features/debug/treeView/client/plugin/index.d.ts.map +1 -1
  269. package/dist/features/debug/treeView/client/plugin/index.js +1 -0
  270. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -1
  271. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.css +91 -0
  272. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts +1 -1
  273. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -1
  274. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +3 -2
  275. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  276. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.css +11 -0
  277. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts +1 -1
  278. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -1
  279. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +1 -0
  280. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  281. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +1 -1
  282. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  283. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.css +166 -0
  284. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.d.ts +17 -0
  285. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +1 -0
  286. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.js +219 -0
  287. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.js.map +1 -0
  288. package/dist/features/experimental_table/client/plugins/TablePlugin/index.css +235 -0
  289. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts +1 -1
  290. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +1 -1
  291. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +95 -104
  292. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
  293. package/dist/features/experimental_table/server/index.d.ts +1 -6
  294. package/dist/features/experimental_table/server/index.d.ts.map +1 -1
  295. package/dist/features/experimental_table/server/index.js +4 -102
  296. package/dist/features/experimental_table/server/index.js.map +1 -1
  297. package/dist/features/experimental_table/server/schema.d.ts +27 -0
  298. package/dist/features/experimental_table/server/schema.d.ts.map +1 -0
  299. package/dist/features/experimental_table/server/schema.js +107 -0
  300. package/dist/features/experimental_table/server/schema.js.map +1 -0
  301. package/dist/features/format/shared/toolbarFormatGroup.d.ts.map +1 -1
  302. package/dist/features/heading/server/index.d.ts +2 -4
  303. package/dist/features/heading/server/index.d.ts.map +1 -1
  304. package/dist/features/heading/server/index.js +2 -39
  305. package/dist/features/heading/server/index.js.map +1 -1
  306. package/dist/features/heading/server/schema.d.ts +10 -0
  307. package/dist/features/heading/server/schema.d.ts.map +1 -0
  308. package/dist/features/heading/server/schema.js +37 -0
  309. package/dist/features/heading/server/schema.js.map +1 -0
  310. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +1 -1
  311. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  312. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  313. package/dist/features/horizontalRule/client/plugin/index.css +25 -0
  314. package/dist/features/horizontalRule/client/plugin/index.d.ts +1 -1
  315. package/dist/features/horizontalRule/client/plugin/index.d.ts.map +1 -1
  316. package/dist/features/horizontalRule/client/plugin/index.js +73 -4
  317. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  318. package/dist/features/horizontalRule/server/index.d.ts +1 -0
  319. package/dist/features/horizontalRule/server/index.d.ts.map +1 -1
  320. package/dist/features/horizontalRule/server/index.js +2 -8
  321. package/dist/features/horizontalRule/server/index.js.map +1 -1
  322. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +1 -5
  323. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  324. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  325. package/dist/features/horizontalRule/server/schema.d.ts +7 -0
  326. package/dist/features/horizontalRule/server/schema.d.ts.map +1 -0
  327. package/dist/features/horizontalRule/server/schema.js +25 -0
  328. package/dist/features/horizontalRule/server/schema.js.map +1 -0
  329. package/dist/features/indent/client/toolbarIndentGroup.d.ts.map +1 -1
  330. package/dist/features/link/client/index.d.ts.map +1 -1
  331. package/dist/features/link/client/index.js.map +1 -1
  332. package/dist/features/link/client/plugins/autoLink/index.d.ts +1 -1
  333. package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -1
  334. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  335. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  336. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +28 -8
  337. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  338. package/dist/features/link/client/plugins/floatingLinkEditor/index.css +112 -0
  339. package/dist/features/link/client/plugins/floatingLinkEditor/index.d.ts +1 -1
  340. package/dist/features/link/client/plugins/floatingLinkEditor/index.d.ts.map +1 -1
  341. package/dist/features/link/client/plugins/floatingLinkEditor/index.js +1 -0
  342. package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -1
  343. package/dist/features/link/client/plugins/floatingLinkEditor/types.d.ts +1 -1
  344. package/dist/features/link/client/plugins/floatingLinkEditor/types.d.ts.map +1 -1
  345. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -1
  346. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  347. package/dist/features/link/markdownTransformer.d.ts +1 -1
  348. package/dist/features/link/markdownTransformer.d.ts.map +1 -1
  349. package/dist/features/link/markdownTransformer.js.map +1 -1
  350. package/dist/features/link/markdownTransformer.spec.js.map +1 -1
  351. package/dist/features/link/nodes/AutoLinkNode.d.ts +3 -3
  352. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  353. package/dist/features/link/nodes/AutoLinkNode.js +2 -1
  354. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  355. package/dist/features/link/nodes/LinkNode.d.ts +3 -3
  356. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  357. package/dist/features/link/nodes/LinkNode.js +2 -1
  358. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  359. package/dist/features/link/server/baseFields.d.ts.map +1 -1
  360. package/dist/features/link/server/baseFields.js.map +1 -1
  361. package/dist/features/link/server/graphQLPopulationPromise.d.ts +1 -1
  362. package/dist/features/link/server/graphQLPopulationPromise.d.ts.map +1 -1
  363. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -1
  364. package/dist/features/link/server/index.d.ts +2 -1
  365. package/dist/features/link/server/index.d.ts.map +1 -1
  366. package/dist/features/link/server/index.js +3 -71
  367. package/dist/features/link/server/index.js.map +1 -1
  368. package/dist/features/link/server/schema.d.ts +32 -0
  369. package/dist/features/link/server/schema.d.ts.map +1 -0
  370. package/dist/features/link/server/schema.js +169 -0
  371. package/dist/features/link/server/schema.js.map +1 -0
  372. package/dist/features/link/server/validate.d.ts +1 -1
  373. package/dist/features/link/server/validate.d.ts.map +1 -1
  374. package/dist/features/link/server/validate.js.map +1 -1
  375. package/dist/features/lists/checklist/server/index.d.ts.map +1 -1
  376. package/dist/features/lists/checklist/server/index.js +3 -7
  377. package/dist/features/lists/checklist/server/index.js.map +1 -1
  378. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -1
  379. package/dist/features/lists/orderedList/server/index.js +3 -7
  380. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  381. package/dist/features/lists/plugin/index.d.ts +0 -9
  382. package/dist/features/lists/plugin/index.d.ts.map +1 -1
  383. package/dist/features/lists/plugin/index.js.map +1 -1
  384. package/dist/features/lists/shared/markdown.d.ts.map +1 -1
  385. package/dist/features/lists/shared/schema.d.ts +18 -0
  386. package/dist/features/lists/shared/schema.d.ts.map +1 -0
  387. package/dist/features/lists/shared/schema.js +62 -0
  388. package/dist/features/lists/shared/schema.js.map +1 -0
  389. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -1
  390. package/dist/features/lists/unorderedList/server/index.js +3 -7
  391. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  392. package/dist/features/relationship/client/components/RelationshipComponent.d.ts +2 -2
  393. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
  394. package/dist/features/relationship/client/components/RelationshipComponent.js +29 -4
  395. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  396. package/dist/features/relationship/client/components/index.css +112 -0
  397. package/dist/features/relationship/client/drawer/index.d.ts.map +1 -1
  398. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts +1 -1
  399. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
  400. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  401. package/dist/features/relationship/client/plugins/index.d.ts +1 -1
  402. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  403. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  404. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -1
  405. package/dist/features/relationship/client/utils/useEnabledRelationships.js +9 -40
  406. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  407. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +1 -1
  408. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -1
  409. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  410. package/dist/features/relationship/server/index.d.ts +1 -0
  411. package/dist/features/relationship/server/index.d.ts.map +1 -1
  412. package/dist/features/relationship/server/index.js +2 -0
  413. package/dist/features/relationship/server/index.js.map +1 -1
  414. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts +1 -10
  415. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  416. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  417. package/dist/features/relationship/server/schema.d.ts +28 -0
  418. package/dist/features/relationship/server/schema.d.ts.map +1 -0
  419. package/dist/features/relationship/server/schema.js +80 -0
  420. package/dist/features/relationship/server/schema.js.map +1 -0
  421. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts +23 -0
  422. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts.map +1 -0
  423. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js +34 -0
  424. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js.map +1 -0
  425. package/dist/features/shared/toolbar/addDropdownGroup.d.ts.map +1 -1
  426. package/dist/features/shared/toolbar/featureButtonsGroup.d.ts.map +1 -1
  427. package/dist/features/shared/toolbar/textDropdownGroup.d.ts.map +1 -1
  428. package/dist/features/toolbars/fixed/client/Toolbar/index.css +87 -0
  429. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts +1 -1
  430. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  431. package/dist/features/toolbars/fixed/client/Toolbar/index.js +1 -0
  432. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  433. package/dist/features/toolbars/inline/client/Toolbar/index.css +43 -0
  434. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts +1 -1
  435. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -1
  436. package/dist/features/toolbars/inline/client/Toolbar/index.js +1 -0
  437. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  438. package/dist/features/toolbars/shared/ToolbarButton/index.css +57 -0
  439. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts +1 -1
  440. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  441. package/dist/features/toolbars/shared/ToolbarButton/index.js +80 -74
  442. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  443. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  444. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +5 -2
  445. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  446. package/dist/features/toolbars/shared/ToolbarDropdown/index.css +214 -0
  447. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts +1 -1
  448. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  449. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +11 -7
  450. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  451. package/dist/features/toolbars/types.d.ts +5 -1
  452. package/dist/features/toolbars/types.d.ts.map +1 -1
  453. package/dist/features/toolbars/types.js.map +1 -1
  454. package/dist/features/typesClient.d.ts +1 -1
  455. package/dist/features/typesClient.d.ts.map +1 -1
  456. package/dist/features/typesClient.js.map +1 -1
  457. package/dist/features/typesServer.d.ts +18 -58
  458. package/dist/features/typesServer.d.ts.map +1 -1
  459. package/dist/features/typesServer.js.map +1 -1
  460. package/dist/features/upload/client/component/index.css +214 -0
  461. package/dist/features/upload/client/component/index.d.ts +2 -2
  462. package/dist/features/upload/client/component/index.d.ts.map +1 -1
  463. package/dist/features/upload/client/component/index.js +86 -63
  464. package/dist/features/upload/client/component/index.js.map +1 -1
  465. package/dist/features/upload/client/component/pending/index.d.ts +0 -1
  466. package/dist/features/upload/client/component/pending/index.d.ts.map +1 -1
  467. package/dist/features/upload/client/component/pending/index.js.map +1 -1
  468. package/dist/features/upload/client/drawer/index.d.ts.map +1 -1
  469. package/dist/features/upload/client/nodes/UploadNode.d.ts +1 -1
  470. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  471. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  472. package/dist/features/upload/client/plugin/index.d.ts +1 -1
  473. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  474. package/dist/features/upload/client/plugin/index.js.map +1 -1
  475. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +1 -1
  476. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -1
  477. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  478. package/dist/features/upload/server/index.d.ts +1 -0
  479. package/dist/features/upload/server/index.d.ts.map +1 -1
  480. package/dist/features/upload/server/index.js +3 -80
  481. package/dist/features/upload/server/index.js.map +1 -1
  482. package/dist/features/upload/server/nodes/UploadNode.d.ts +1 -55
  483. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  484. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  485. package/dist/features/upload/server/nodes/conversions.d.ts.map +1 -1
  486. package/dist/features/upload/server/nodes/conversions.js.map +1 -1
  487. package/dist/features/upload/server/schema.d.ts +52 -0
  488. package/dist/features/upload/server/schema.d.ts.map +1 -0
  489. package/dist/features/upload/server/schema.js +129 -0
  490. package/dist/features/upload/server/schema.js.map +1 -0
  491. package/dist/features/upload/server/validate.d.ts +1 -1
  492. package/dist/features/upload/server/validate.d.ts.map +1 -1
  493. package/dist/features/upload/server/validate.js.map +1 -1
  494. package/dist/field/Diff/converters/link.d.ts +1 -1
  495. package/dist/field/Diff/converters/link.d.ts.map +1 -1
  496. package/dist/field/Diff/converters/link.js.map +1 -1
  497. package/dist/field/Diff/converters/listitem/index.css +80 -0
  498. package/dist/field/Diff/converters/listitem/index.d.ts +2 -2
  499. package/dist/field/Diff/converters/listitem/index.d.ts.map +1 -1
  500. package/dist/field/Diff/converters/listitem/index.js +1 -0
  501. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  502. package/dist/field/Diff/converters/relationship/index.css +108 -0
  503. package/dist/field/Diff/converters/relationship/index.d.ts +2 -2
  504. package/dist/field/Diff/converters/relationship/index.d.ts.map +1 -1
  505. package/dist/field/Diff/converters/relationship/index.js +11 -28
  506. package/dist/field/Diff/converters/relationship/index.js.map +1 -1
  507. package/dist/field/Diff/converters/unknown/index.css +37 -0
  508. package/dist/field/Diff/converters/unknown/index.d.ts +1 -1
  509. package/dist/field/Diff/converters/unknown/index.d.ts.map +1 -1
  510. package/dist/field/Diff/converters/unknown/index.js +1 -0
  511. package/dist/field/Diff/converters/unknown/index.js.map +1 -1
  512. package/dist/field/Diff/converters/upload/index.css +175 -0
  513. package/dist/field/Diff/converters/upload/index.d.ts +2 -2
  514. package/dist/field/Diff/converters/upload/index.d.ts.map +1 -1
  515. package/dist/field/Diff/converters/upload/index.js +7 -2
  516. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  517. package/dist/field/Diff/index.css +156 -0
  518. package/dist/field/Diff/index.d.ts +1 -1
  519. package/dist/field/Diff/index.d.ts.map +1 -1
  520. package/dist/field/Diff/index.js +1 -0
  521. package/dist/field/Diff/index.js.map +1 -1
  522. package/dist/field/Field.d.ts +3 -3
  523. package/dist/field/Field.d.ts.map +1 -1
  524. package/dist/field/Field.js +12 -11
  525. package/dist/field/Field.js.map +1 -1
  526. package/dist/field/RenderLexical/index.d.ts +2 -2
  527. package/dist/field/RenderLexical/index.d.ts.map +1 -1
  528. package/dist/field/RenderLexical/index.js.map +1 -1
  529. package/dist/field/RichTextViewProvider.d.ts +1 -1
  530. package/dist/field/RichTextViewProvider.d.ts.map +1 -1
  531. package/dist/field/RichTextViewProvider.js.map +1 -1
  532. package/dist/field/ViewSelector.css +32 -0
  533. package/dist/field/ViewSelector.d.ts +1 -1
  534. package/dist/field/ViewSelector.d.ts.map +1 -1
  535. package/dist/field/ViewSelector.js +1 -0
  536. package/dist/field/ViewSelector.js.map +1 -1
  537. package/dist/field/bundled.css +1 -1
  538. package/dist/field/clientEntry.d.ts +29 -0
  539. package/dist/field/clientEntry.d.ts.map +1 -0
  540. package/dist/field/clientEntry.js +86 -0
  541. package/dist/field/clientEntry.js.map +1 -0
  542. package/dist/field/index.css +57 -0
  543. package/dist/field/index.d.ts +1 -1
  544. package/dist/field/index.d.ts.map +1 -1
  545. package/dist/field/index.js +1 -1
  546. package/dist/field/index.js.map +1 -1
  547. package/dist/field/rscEntry.d.ts +1 -1
  548. package/dist/field/rscEntry.d.ts.map +1 -1
  549. package/dist/field/rscEntry.js +2 -0
  550. package/dist/field/rscEntry.js.map +1 -1
  551. package/dist/hooks.d.ts +6 -0
  552. package/dist/hooks.d.ts.map +1 -0
  553. package/dist/hooks.js +548 -0
  554. package/dist/hooks.js.map +1 -0
  555. package/dist/index.d.ts +11 -18
  556. package/dist/index.d.ts.map +1 -1
  557. package/dist/index.js +67 -632
  558. package/dist/index.js.map +1 -1
  559. package/dist/lexical/LexicalEditor.css +50 -0
  560. package/dist/lexical/LexicalEditor.d.ts +1 -1
  561. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  562. package/dist/lexical/LexicalEditor.js +37 -2
  563. package/dist/lexical/LexicalEditor.js.map +1 -1
  564. package/dist/lexical/LexicalProvider.d.ts +1 -1
  565. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  566. package/dist/lexical/LexicalProvider.js +22 -7
  567. package/dist/lexical/LexicalProvider.js.map +1 -1
  568. package/dist/lexical/config/client/EditorConfigProvider.d.ts +1 -1
  569. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  570. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  571. package/dist/lexical/config/client/loader.d.ts +1 -1
  572. package/dist/lexical/config/client/loader.d.ts.map +1 -1
  573. package/dist/lexical/config/client/loader.js +5 -1
  574. package/dist/lexical/config/client/loader.js.map +1 -1
  575. package/dist/lexical/config/client/sanitize.d.ts +1 -1
  576. package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
  577. package/dist/lexical/config/client/sanitize.js.map +1 -1
  578. package/dist/lexical/config/server/loader.d.ts.map +1 -1
  579. package/dist/lexical/config/server/loader.js +12 -9
  580. package/dist/lexical/config/server/loader.js.map +1 -1
  581. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  582. package/dist/lexical/config/server/sanitize.js +9 -17
  583. package/dist/lexical/config/server/sanitize.js.map +1 -1
  584. package/dist/lexical/config/types.d.ts +1 -1
  585. package/dist/lexical/config/types.d.ts.map +1 -1
  586. package/dist/lexical/config/types.js.map +1 -1
  587. package/dist/lexical/nodes/index.d.ts +1 -1
  588. package/dist/lexical/nodes/index.d.ts.map +1 -1
  589. package/dist/lexical/nodes/index.js.map +1 -1
  590. package/dist/lexical/plugins/DecoratorPlugin/index.css +11 -0
  591. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts +1 -1
  592. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts.map +1 -1
  593. package/dist/lexical/plugins/DecoratorPlugin/index.js +1 -0
  594. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  595. package/dist/lexical/plugins/InsertParagraphAtEnd/index.css +52 -0
  596. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts +1 -1
  597. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts.map +1 -1
  598. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +1 -0
  599. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  600. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +1 -1
  601. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  602. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  603. package/dist/lexical/plugins/SlashMenu/index.css +65 -0
  604. package/dist/lexical/plugins/SlashMenu/index.d.ts +1 -1
  605. package/dist/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  606. package/dist/lexical/plugins/SlashMenu/index.js +2 -0
  607. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  608. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.css +40 -0
  609. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts +1 -1
  610. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
  611. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +1 -0
  612. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  613. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts.map +1 -1
  614. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.css +84 -0
  615. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts +1 -1
  616. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  617. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +15 -8
  618. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  619. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +1 -1
  620. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  621. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts.map +1 -1
  622. package/dist/lexical/theme/EditorTheme.css +359 -0
  623. package/dist/lexical/theme/EditorTheme.d.ts.map +1 -1
  624. package/dist/lexical/theme/EditorTheme.js +1 -0
  625. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  626. package/dist/lexical/ui/ContentEditable.css +95 -0
  627. package/dist/lexical/ui/ContentEditable.d.ts +1 -1
  628. package/dist/lexical/ui/ContentEditable.d.ts.map +1 -1
  629. package/dist/lexical/ui/ContentEditable.js +1 -0
  630. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  631. package/dist/lexical/ui/icons/Add/index.d.ts +4 -1
  632. package/dist/lexical/ui/icons/Add/index.d.ts.map +1 -1
  633. package/dist/lexical/ui/icons/Add/index.js +19 -12
  634. package/dist/lexical/ui/icons/Add/index.js.map +1 -1
  635. package/dist/lexical/ui/icons/Add/index.svg +2 -3
  636. package/dist/lexical/ui/icons/Add/light.svg +2 -3
  637. package/dist/lexical/ui/icons/AlignCenter/index.d.ts +3 -1
  638. package/dist/lexical/ui/icons/AlignCenter/index.d.ts.map +1 -1
  639. package/dist/lexical/ui/icons/AlignCenter/index.js +15 -19
  640. package/dist/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  641. package/dist/lexical/ui/icons/AlignJustify/index.d.ts +3 -1
  642. package/dist/lexical/ui/icons/AlignJustify/index.d.ts.map +1 -1
  643. package/dist/lexical/ui/icons/AlignJustify/index.js +15 -19
  644. package/dist/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  645. package/dist/lexical/ui/icons/AlignLeft/index.d.ts +3 -1
  646. package/dist/lexical/ui/icons/AlignLeft/index.d.ts.map +1 -1
  647. package/dist/lexical/ui/icons/AlignLeft/index.js +15 -19
  648. package/dist/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  649. package/dist/lexical/ui/icons/AlignRight/index.d.ts +3 -1
  650. package/dist/lexical/ui/icons/AlignRight/index.d.ts.map +1 -1
  651. package/dist/lexical/ui/icons/AlignRight/index.js +15 -19
  652. package/dist/lexical/ui/icons/AlignRight/index.js.map +1 -1
  653. package/dist/lexical/ui/icons/Block/index.d.ts +3 -1
  654. package/dist/lexical/ui/icons/Block/index.d.ts.map +1 -1
  655. package/dist/lexical/ui/icons/Block/index.js +13 -28
  656. package/dist/lexical/ui/icons/Block/index.js.map +1 -1
  657. package/dist/lexical/ui/icons/Blockquote/index.d.ts +3 -1
  658. package/dist/lexical/ui/icons/Blockquote/index.d.ts.map +1 -1
  659. package/dist/lexical/ui/icons/Blockquote/index.js +9 -6
  660. package/dist/lexical/ui/icons/Blockquote/index.js.map +1 -1
  661. package/dist/lexical/ui/icons/Bold/index.d.ts +3 -1
  662. package/dist/lexical/ui/icons/Bold/index.d.ts.map +1 -1
  663. package/dist/lexical/ui/icons/Bold/index.js +13 -8
  664. package/dist/lexical/ui/icons/Bold/index.js.map +1 -1
  665. package/dist/lexical/ui/icons/Checklist/index.d.ts +4 -1
  666. package/dist/lexical/ui/icons/Checklist/index.d.ts.map +1 -1
  667. package/dist/lexical/ui/icons/Checklist/index.js +17 -18
  668. package/dist/lexical/ui/icons/Checklist/index.js.map +1 -1
  669. package/dist/lexical/ui/icons/Code/index.d.ts +3 -1
  670. package/dist/lexical/ui/icons/Code/index.d.ts.map +1 -1
  671. package/dist/lexical/ui/icons/Code/index.js +15 -13
  672. package/dist/lexical/ui/icons/Code/index.js.map +1 -1
  673. package/dist/lexical/ui/icons/CodeBlock/index.d.ts +4 -1
  674. package/dist/lexical/ui/icons/CodeBlock/index.d.ts.map +1 -1
  675. package/dist/lexical/ui/icons/CodeBlock/index.js +18 -7
  676. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  677. package/dist/lexical/ui/icons/Collapse/index.d.ts +3 -1
  678. package/dist/lexical/ui/icons/Collapse/index.d.ts.map +1 -1
  679. package/dist/lexical/ui/icons/Collapse/index.js +10 -8
  680. package/dist/lexical/ui/icons/Collapse/index.js.map +1 -1
  681. package/dist/lexical/ui/icons/DraggableBlock/index.svg +7 -7
  682. package/dist/lexical/ui/icons/DraggableBlock/light.svg +7 -7
  683. package/dist/lexical/ui/icons/Expand/index.d.ts +5 -0
  684. package/dist/lexical/ui/icons/Expand/index.d.ts.map +1 -0
  685. package/dist/lexical/ui/icons/Expand/index.js +22 -0
  686. package/dist/lexical/ui/icons/Expand/index.js.map +1 -0
  687. package/dist/lexical/ui/icons/H1/index.d.ts +3 -1
  688. package/dist/lexical/ui/icons/H1/index.d.ts.map +1 -1
  689. package/dist/lexical/ui/icons/H1/index.js +9 -6
  690. package/dist/lexical/ui/icons/H1/index.js.map +1 -1
  691. package/dist/lexical/ui/icons/H2/index.d.ts +3 -1
  692. package/dist/lexical/ui/icons/H2/index.d.ts.map +1 -1
  693. package/dist/lexical/ui/icons/H2/index.js +9 -6
  694. package/dist/lexical/ui/icons/H2/index.js.map +1 -1
  695. package/dist/lexical/ui/icons/H3/index.d.ts +3 -1
  696. package/dist/lexical/ui/icons/H3/index.d.ts.map +1 -1
  697. package/dist/lexical/ui/icons/H3/index.js +9 -6
  698. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  699. package/dist/lexical/ui/icons/H4/index.d.ts +3 -1
  700. package/dist/lexical/ui/icons/H4/index.d.ts.map +1 -1
  701. package/dist/lexical/ui/icons/H4/index.js +9 -6
  702. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  703. package/dist/lexical/ui/icons/H5/index.d.ts +3 -1
  704. package/dist/lexical/ui/icons/H5/index.d.ts.map +1 -1
  705. package/dist/lexical/ui/icons/H5/index.js +9 -6
  706. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  707. package/dist/lexical/ui/icons/H6/index.d.ts +3 -1
  708. package/dist/lexical/ui/icons/H6/index.d.ts.map +1 -1
  709. package/dist/lexical/ui/icons/H6/index.js +9 -6
  710. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  711. package/dist/lexical/ui/icons/HorizontalRule/index.d.ts +3 -1
  712. package/dist/lexical/ui/icons/HorizontalRule/index.d.ts.map +1 -1
  713. package/dist/lexical/ui/icons/HorizontalRule/index.js +11 -11
  714. package/dist/lexical/ui/icons/HorizontalRule/index.js.map +1 -1
  715. package/dist/lexical/ui/icons/IndentDecrease/index.d.ts +3 -1
  716. package/dist/lexical/ui/icons/IndentDecrease/index.d.ts.map +1 -1
  717. package/dist/lexical/ui/icons/IndentDecrease/index.js +18 -22
  718. package/dist/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  719. package/dist/lexical/ui/icons/IndentIncrease/index.d.ts +3 -1
  720. package/dist/lexical/ui/icons/IndentIncrease/index.d.ts.map +1 -1
  721. package/dist/lexical/ui/icons/IndentIncrease/index.js +15 -22
  722. package/dist/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  723. package/dist/lexical/ui/icons/InlineBlocks/index.d.ts +3 -1
  724. package/dist/lexical/ui/icons/InlineBlocks/index.d.ts.map +1 -1
  725. package/dist/lexical/ui/icons/InlineBlocks/index.js +9 -6
  726. package/dist/lexical/ui/icons/InlineBlocks/index.js.map +1 -1
  727. package/dist/lexical/ui/icons/Italic/index.d.ts +3 -1
  728. package/dist/lexical/ui/icons/Italic/index.d.ts.map +1 -1
  729. package/dist/lexical/ui/icons/Italic/index.js +13 -8
  730. package/dist/lexical/ui/icons/Italic/index.js.map +1 -1
  731. package/dist/lexical/ui/icons/Link/index.d.ts +4 -1
  732. package/dist/lexical/ui/icons/Link/index.d.ts.map +1 -1
  733. package/dist/lexical/ui/icons/Link/index.js +14 -9
  734. package/dist/lexical/ui/icons/Link/index.js.map +1 -1
  735. package/dist/lexical/ui/icons/Meatballs/index.d.ts +4 -1
  736. package/dist/lexical/ui/icons/Meatballs/index.d.ts.map +1 -1
  737. package/dist/lexical/ui/icons/Meatballs/index.js +19 -15
  738. package/dist/lexical/ui/icons/Meatballs/index.js.map +1 -1
  739. package/dist/lexical/ui/icons/OrderedList/index.d.ts +4 -1
  740. package/dist/lexical/ui/icons/OrderedList/index.d.ts.map +1 -1
  741. package/dist/lexical/ui/icons/OrderedList/index.js +19 -25
  742. package/dist/lexical/ui/icons/OrderedList/index.js.map +1 -1
  743. package/dist/lexical/ui/icons/Page/index.d.ts +5 -0
  744. package/dist/lexical/ui/icons/Page/index.d.ts.map +1 -0
  745. package/dist/lexical/ui/icons/Page/index.js +21 -0
  746. package/dist/lexical/ui/icons/Page/index.js.map +1 -0
  747. package/dist/lexical/ui/icons/Relationship/index.d.ts +3 -1
  748. package/dist/lexical/ui/icons/Relationship/index.d.ts.map +1 -1
  749. package/dist/lexical/ui/icons/Relationship/index.js +13 -25
  750. package/dist/lexical/ui/icons/Relationship/index.js.map +1 -1
  751. package/dist/lexical/ui/icons/Strikethrough/index.d.ts +3 -1
  752. package/dist/lexical/ui/icons/Strikethrough/index.d.ts.map +1 -1
  753. package/dist/lexical/ui/icons/Strikethrough/index.js +13 -13
  754. package/dist/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  755. package/dist/lexical/ui/icons/Subscript/index.d.ts +3 -1
  756. package/dist/lexical/ui/icons/Subscript/index.d.ts.map +1 -1
  757. package/dist/lexical/ui/icons/Subscript/index.js +10 -7
  758. package/dist/lexical/ui/icons/Subscript/index.js.map +1 -1
  759. package/dist/lexical/ui/icons/Superscript/index.d.ts +3 -1
  760. package/dist/lexical/ui/icons/Superscript/index.d.ts.map +1 -1
  761. package/dist/lexical/ui/icons/Superscript/index.js +10 -7
  762. package/dist/lexical/ui/icons/Superscript/index.js.map +1 -1
  763. package/dist/lexical/ui/icons/Table/index.d.ts +4 -1
  764. package/dist/lexical/ui/icons/Table/index.d.ts.map +1 -1
  765. package/dist/lexical/ui/icons/Table/index.js +20 -15
  766. package/dist/lexical/ui/icons/Table/index.js.map +1 -1
  767. package/dist/lexical/ui/icons/Text/index.d.ts +4 -1
  768. package/dist/lexical/ui/icons/Text/index.d.ts.map +1 -1
  769. package/dist/lexical/ui/icons/Text/index.js +17 -8
  770. package/dist/lexical/ui/icons/Text/index.js.map +1 -1
  771. package/dist/lexical/ui/icons/Trash/index.d.ts +10 -0
  772. package/dist/lexical/ui/icons/Trash/index.d.ts.map +1 -0
  773. package/dist/lexical/ui/icons/Trash/index.js +29 -0
  774. package/dist/lexical/ui/icons/Trash/index.js.map +1 -0
  775. package/dist/lexical/ui/icons/Underline/index.d.ts +3 -1
  776. package/dist/lexical/ui/icons/Underline/index.d.ts.map +1 -1
  777. package/dist/lexical/ui/icons/Underline/index.js +16 -14
  778. package/dist/lexical/ui/icons/Underline/index.js.map +1 -1
  779. package/dist/lexical/ui/icons/UnorderedList/index.d.ts +3 -1
  780. package/dist/lexical/ui/icons/UnorderedList/index.d.ts.map +1 -1
  781. package/dist/lexical/ui/icons/UnorderedList/index.js +13 -40
  782. package/dist/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  783. package/dist/lexical/ui/icons/Upload/index.d.ts +3 -1
  784. package/dist/lexical/ui/icons/Upload/index.d.ts.map +1 -1
  785. package/dist/lexical/ui/icons/Upload/index.js +15 -22
  786. package/dist/lexical/ui/icons/Upload/index.js.map +1 -1
  787. package/dist/lexical/utils/markdown/createBlockNode.d.ts.map +1 -1
  788. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts +1 -1
  789. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
  790. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  791. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts.map +1 -1
  792. package/dist/types/builtInNodes.d.ts +14 -0
  793. package/dist/types/builtInNodes.d.ts.map +1 -0
  794. package/dist/types/builtInNodes.js +203 -0
  795. package/dist/types/builtInNodes.js.map +1 -0
  796. package/dist/{types.d.ts → types/index.d.ts} +25 -26
  797. package/dist/types/index.d.ts.map +1 -0
  798. package/dist/types/index.js +2 -0
  799. package/dist/types/index.js.map +1 -0
  800. package/dist/types/jsonSchemaHelpers.d.ts +30 -0
  801. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -0
  802. package/dist/types/jsonSchemaHelpers.js +58 -0
  803. package/dist/types/jsonSchemaHelpers.js.map +1 -0
  804. package/dist/types/nodeTypes.d.ts +128 -0
  805. package/dist/types/nodeTypes.d.ts.map +1 -0
  806. package/dist/types/nodeTypes.js +6 -0
  807. package/dist/types/nodeTypes.js.map +1 -0
  808. package/dist/types/schema.d.ts +6 -0
  809. package/dist/types/schema.d.ts.map +1 -0
  810. package/dist/types/schema.js +83 -0
  811. package/dist/types/schema.js.map +1 -0
  812. package/dist/utilities/buildEditorState.d.ts +18 -4
  813. package/dist/utilities/buildEditorState.d.ts.map +1 -1
  814. package/dist/utilities/buildEditorState.js +21 -0
  815. package/dist/utilities/buildEditorState.js.map +1 -1
  816. package/dist/utilities/buildInitialState.d.ts +2 -1
  817. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  818. package/dist/utilities/buildInitialState.js.map +1 -1
  819. package/dist/utilities/createClientFeature.d.ts +1 -1
  820. package/dist/utilities/createClientFeature.d.ts.map +1 -1
  821. package/dist/utilities/createClientFeature.js.map +1 -1
  822. package/dist/utilities/editorConfigFactory.d.ts +1 -1
  823. package/dist/utilities/editorConfigFactory.d.ts.map +1 -1
  824. package/dist/utilities/editorConfigFactory.js.map +1 -1
  825. package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -1
  826. package/dist/utilities/fieldsDrawer/Drawer.js +19 -10
  827. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  828. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts +4 -1
  829. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  830. package/dist/utilities/fieldsDrawer/DrawerContent.js +8 -7
  831. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  832. package/dist/utilities/fieldsDrawer/index.css +12 -0
  833. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts +29 -0
  834. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts.map +1 -0
  835. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js +97 -0
  836. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js.map +1 -0
  837. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts +1 -0
  838. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts.map +1 -1
  839. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +34 -18
  840. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  841. package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts.map +1 -1
  842. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.d.ts.map +1 -1
  843. package/dist/utilities/generateImportMap.d.ts +1 -1
  844. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  845. package/dist/utilities/generateImportMap.js +7 -3
  846. package/dist/utilities/generateImportMap.js.map +1 -1
  847. package/dist/utilities/generateSchemaMap.d.ts.map +1 -1
  848. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts.map +1 -1
  849. package/dist/utilities/initLexicalFeatures.d.ts +1 -1
  850. package/dist/utilities/initLexicalFeatures.d.ts.map +1 -1
  851. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  852. package/dist/utilities/recurseNodeTree.d.ts.map +1 -1
  853. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -1
  854. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  855. package/dist/utilities/useLexicalFeature.d.ts.map +1 -1
  856. package/dist/validate/index.d.ts.map +1 -1
  857. package/package.json +18 -22
  858. package/dist/exports/client/Component-DOSSWC76.js +0 -2
  859. package/dist/exports/client/Component-DOSSWC76.js.map +0 -7
  860. package/dist/exports/client/Component-MBLHTKDK.js +0 -2
  861. package/dist/exports/client/Component-MBLHTKDK.js.map +0 -7
  862. package/dist/exports/client/Field-OVF2FPGD.js +0 -2
  863. package/dist/exports/client/Field-OVF2FPGD.js.map +0 -7
  864. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js +0 -2
  865. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js.map +0 -7
  866. package/dist/exports/client/chunk-BZZVLW4U.js.map +0 -7
  867. package/dist/exports/client/chunk-F26IQ5RE.js +0 -2
  868. package/dist/exports/client/chunk-F26IQ5RE.js.map +0 -7
  869. package/dist/exports/client/chunk-FTT5KJ6W.js.map +0 -7
  870. package/dist/exports/client/chunk-INBEEENE.js +0 -2
  871. package/dist/exports/client/chunk-INBEEENE.js.map +0 -7
  872. package/dist/exports/client/chunk-QJ5EETIB.js +0 -2
  873. package/dist/exports/client/chunk-QJ5EETIB.js.map +0 -7
  874. package/dist/exports/client/chunk-XFA5M7FY.js +0 -2
  875. package/dist/exports/client/chunk-XFA5M7FY.js.map +0 -7
  876. package/dist/exports/client/component-XIHC3W6W.js +0 -2
  877. package/dist/exports/client/component-XIHC3W6W.js.map +0 -7
  878. package/dist/exports/client/componentInline-A4H3EY3L.js +0 -2
  879. package/dist/exports/server/migrate.d.ts +0 -16
  880. package/dist/exports/server/migrate.d.ts.map +0 -1
  881. package/dist/exports/server/migrate.js +0 -16
  882. package/dist/exports/server/migrate.js.map +0 -1
  883. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.d.ts +0 -4
  884. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.d.ts.map +0 -1
  885. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js +0 -7
  886. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js.map +0 -1
  887. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.d.ts +0 -4
  888. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.d.ts.map +0 -1
  889. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js +0 -38
  890. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js.map +0 -1
  891. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.d.ts +0 -4
  892. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.d.ts.map +0 -1
  893. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js +0 -9
  894. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js.map +0 -1
  895. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.d.ts +0 -4
  896. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.d.ts.map +0 -1
  897. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js +0 -33
  898. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js.map +0 -1
  899. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.d.ts +0 -6
  900. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.d.ts.map +0 -1
  901. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js +0 -9
  902. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js.map +0 -1
  903. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.d.ts +0 -70
  904. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.d.ts.map +0 -1
  905. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js +0 -104
  906. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js.map +0 -1
  907. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.d.ts +0 -27
  908. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.d.ts.map +0 -1
  909. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js +0 -2
  910. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js.map +0 -1
  911. package/dist/features/converters/lexicalToHtml_deprecated/field/index.d.ts +0 -39
  912. package/dist/features/converters/lexicalToHtml_deprecated/field/index.d.ts.map +0 -1
  913. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js +0 -122
  914. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js.map +0 -1
  915. package/dist/features/converters/lexicalToHtml_deprecated/index.d.ts +0 -12
  916. package/dist/features/converters/lexicalToHtml_deprecated/index.d.ts.map +0 -1
  917. package/dist/features/converters/lexicalToHtml_deprecated/index.js +0 -11
  918. package/dist/features/converters/lexicalToHtml_deprecated/index.js.map +0 -1
  919. package/dist/features/link/nodes/types.d.ts +0 -27
  920. package/dist/features/link/nodes/types.d.ts.map +0 -1
  921. package/dist/features/link/nodes/types.js +0 -2
  922. package/dist/features/link/nodes/types.js.map +0 -1
  923. package/dist/features/lists/htmlConverter.d.ts +0 -5
  924. package/dist/features/lists/htmlConverter.d.ts.map +0 -1
  925. package/dist/features/lists/htmlConverter.js +0 -81
  926. package/dist/features/lists/htmlConverter.js.map +0 -1
  927. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.d.ts +0 -3
  928. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.d.ts.map +0 -1
  929. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +0 -22
  930. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +0 -1
  931. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.d.ts +0 -3
  932. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.d.ts.map +0 -1
  933. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +0 -33
  934. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +0 -1
  935. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts +0 -3
  936. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts.map +0 -1
  937. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +0 -24
  938. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +0 -1
  939. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts +0 -3
  940. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts.map +0 -1
  941. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +0 -25
  942. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +0 -1
  943. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts +0 -3
  944. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts.map +0 -1
  945. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +0 -22
  946. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +0 -1
  947. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.d.ts +0 -3
  948. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.d.ts.map +0 -1
  949. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +0 -28
  950. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +0 -1
  951. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts +0 -3
  952. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts.map +0 -1
  953. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +0 -22
  954. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +0 -1
  955. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.d.ts +0 -3
  956. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.d.ts.map +0 -1
  957. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +0 -9
  958. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +0 -1
  959. package/dist/features/migrations/lexicalPluginToLexical/converter/index.d.ts +0 -19
  960. package/dist/features/migrations/lexicalPluginToLexical/converter/index.d.ts.map +0 -1
  961. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +0 -78
  962. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +0 -1
  963. package/dist/features/migrations/lexicalPluginToLexical/converter/types.d.ts +0 -23
  964. package/dist/features/migrations/lexicalPluginToLexical/converter/types.d.ts.map +0 -1
  965. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js +0 -2
  966. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +0 -1
  967. package/dist/features/migrations/lexicalPluginToLexical/feature.client.d.ts +0 -2
  968. package/dist/features/migrations/lexicalPluginToLexical/feature.client.d.ts.map +0 -1
  969. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js +0 -10
  970. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js.map +0 -1
  971. package/dist/features/migrations/lexicalPluginToLexical/feature.server.d.ts +0 -10
  972. package/dist/features/migrations/lexicalPluginToLexical/feature.server.d.ts.map +0 -1
  973. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js +0 -49
  974. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js.map +0 -1
  975. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.d.ts +0 -9
  976. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.d.ts.map +0 -1
  977. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +0 -15
  978. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +0 -1
  979. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts +0 -33
  980. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +0 -1
  981. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +0 -74
  982. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +0 -1
  983. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts +0 -3
  984. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts.map +0 -1
  985. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +0 -23
  986. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +0 -1
  987. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.d.ts +0 -3
  988. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.d.ts.map +0 -1
  989. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js +0 -24
  990. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +0 -1
  991. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.d.ts +0 -3
  992. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.d.ts.map +0 -1
  993. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js +0 -33
  994. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +0 -1
  995. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.d.ts +0 -3
  996. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.d.ts.map +0 -1
  997. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js +0 -30
  998. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +0 -1
  999. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts +0 -3
  1000. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts.map +0 -1
  1001. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js +0 -26
  1002. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +0 -1
  1003. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts +0 -3
  1004. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts.map +0 -1
  1005. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +0 -26
  1006. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +0 -1
  1007. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts +0 -3
  1008. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts.map +0 -1
  1009. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js +0 -15
  1010. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +0 -1
  1011. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.d.ts +0 -3
  1012. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.d.ts.map +0 -1
  1013. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js +0 -27
  1014. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +0 -1
  1015. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts +0 -3
  1016. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts.map +0 -1
  1017. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +0 -26
  1018. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +0 -1
  1019. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts +0 -3
  1020. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts.map +0 -1
  1021. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js +0 -18
  1022. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +0 -1
  1023. package/dist/features/migrations/slateToLexical/converter/defaultConverters.d.ts +0 -3
  1024. package/dist/features/migrations/slateToLexical/converter/defaultConverters.d.ts.map +0 -1
  1025. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js +0 -12
  1026. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js.map +0 -1
  1027. package/dist/features/migrations/slateToLexical/converter/index.d.ts +0 -19
  1028. package/dist/features/migrations/slateToLexical/converter/index.d.ts.map +0 -1
  1029. package/dist/features/migrations/slateToLexical/converter/index.js +0 -130
  1030. package/dist/features/migrations/slateToLexical/converter/index.js.map +0 -1
  1031. package/dist/features/migrations/slateToLexical/converter/types.d.ts +0 -16
  1032. package/dist/features/migrations/slateToLexical/converter/types.d.ts.map +0 -1
  1033. package/dist/features/migrations/slateToLexical/converter/types.js +0 -2
  1034. package/dist/features/migrations/slateToLexical/converter/types.js.map +0 -1
  1035. package/dist/features/migrations/slateToLexical/feature.client.d.ts +0 -2
  1036. package/dist/features/migrations/slateToLexical/feature.client.d.ts.map +0 -1
  1037. package/dist/features/migrations/slateToLexical/feature.client.js +0 -10
  1038. package/dist/features/migrations/slateToLexical/feature.client.js.map +0 -1
  1039. package/dist/features/migrations/slateToLexical/feature.server.d.ts +0 -40
  1040. package/dist/features/migrations/slateToLexical/feature.server.d.ts.map +0 -1
  1041. package/dist/features/migrations/slateToLexical/feature.server.js +0 -68
  1042. package/dist/features/migrations/slateToLexical/feature.server.js.map +0 -1
  1043. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.d.ts +0 -9
  1044. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.d.ts.map +0 -1
  1045. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +0 -15
  1046. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +0 -1
  1047. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts +0 -33
  1048. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +0 -1
  1049. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +0 -74
  1050. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +0 -1
  1051. package/dist/lexical/ui/icons/AI/index.d.ts +0 -3
  1052. package/dist/lexical/ui/icons/AI/index.d.ts.map +0 -1
  1053. package/dist/lexical/ui/icons/AI/index.js +0 -34
  1054. package/dist/lexical/ui/icons/AI/index.js.map +0 -1
  1055. package/dist/lexical/ui/icons/Caret/index.svg +0 -3
  1056. package/dist/lexical/ui/icons/Edit/index.svg +0 -10
  1057. package/dist/lexical/ui/icons/Remove/index.svg +0 -4
  1058. package/dist/nodeTypes.d.ts +0 -74
  1059. package/dist/nodeTypes.d.ts.map +0 -1
  1060. package/dist/nodeTypes.js +0 -5
  1061. package/dist/nodeTypes.js.map +0 -1
  1062. package/dist/types.d.ts.map +0 -1
  1063. package/dist/types.js +0 -2
  1064. package/dist/types.js.map +0 -1
  1065. package/dist/utilities/migrateSlateToLexical/index.d.ts +0 -15
  1066. package/dist/utilities/migrateSlateToLexical/index.d.ts.map +0 -1
  1067. package/dist/utilities/migrateSlateToLexical/index.js +0 -152
  1068. package/dist/utilities/migrateSlateToLexical/index.js.map +0 -1
  1069. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts +0 -10
  1070. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts.map +0 -1
  1071. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +0 -85
  1072. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +0 -1
  1073. /package/dist/exports/client/{componentInline-A4H3EY3L.js.map → componentInline-R3EPNYWF.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lexical/plugins/DecoratorPlugin/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AA2BtE,OAAO,cAAc,CAAA;AAIrB,wBAAgB,eAAe,SA6K9B;AAiDD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,WAAW,CAgBjG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lexical/plugins/DecoratorPlugin/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AA2BtE,OAAO,aAAa,CAAA;AAIpB,wBAAgB,eAAe,SA6K9B;AAiDD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,WAAW,CAgBjG"}
@@ -5,6 +5,7 @@ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext
5
5
  import { $findMatchingParent, mergeRegister } from '@lexical/utils';
6
6
  import { $createNodeSelection, $getEditor, $getNearestNodeFromDOMNode, $getSelection, $isDecoratorNode, $isElementNode, $isLineBreakNode, $isNodeSelection, $isRangeSelection, $isRootOrShadowRoot, $isTextNode, $setSelection, CLICK_COMMAND, COMMAND_PRIORITY_LOW, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_UP_COMMAND, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND, SELECTION_CHANGE_COMMAND } from 'lexical';
7
7
  import { useEffect } from 'react';
8
+ import './index.css';
8
9
  // TODO: This should ideally be fixed in Lexical. See
9
10
  // https://github.com/facebook/lexical/pull/7072
10
11
  export function DecoratorPlugin() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$findMatchingParent","mergeRegister","$createNodeSelection","$getEditor","$getNearestNodeFromDOMNode","$getSelection","$isDecoratorNode","$isElementNode","$isLineBreakNode","$isNodeSelection","$isRangeSelection","$isRootOrShadowRoot","$isTextNode","$setSelection","CLICK_COMMAND","COMMAND_PRIORITY_LOW","KEY_ARROW_DOWN_COMMAND","KEY_ARROW_UP_COMMAND","KEY_BACKSPACE_COMMAND","KEY_DELETE_COMMAND","SELECTION_CHANGE_COMMAND","useEffect","DecoratorPlugin","$","editor","$onDelete","_temp2","t0","t1","registerCommand","_temp3","_temp4","_temp6","_temp8","event_2","selection_1","selection","event","preventDefault","nextSibling","getNodes","getNextSibling","element_0","getElementByKey","getKey","element","$selectDecorator","node","firstDescendant","getFirstDescendant","block_0","INTERNAL_$isBlock","block","selectEnd","lastPoint","isBackward","anchor","focus","lastNode","getNode","lastSelectedBlock","_temp7","nextBlock","findLaterSiblingBlock","nextBlockElement","node_1","event_1","selection_0","prevSibling","getPreviousSibling","lastDescendant","getLastDescendant","selectStart","firstPoint","firstNode","firstSelectedBlock","_temp5","prevBlock","findFirstSiblingBlock","prevBlockElement","node_0","decorator_0","$getSelectedDecorator","document","querySelector","classList","remove","decorator","add","event_0","$getDecoratorByMouseEvent","target","isInteractive","HTMLElement","isContentEditable","closest","forEach","_temp","undefined","nodes","length","scrollIntoView","behavior","isInline","firstChild","getFirstChild","isLeafElement","canBeEmpty","current"],"sources":["../../../../src/lexical/plugins/DecoratorPlugin/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DecoratorNode, ElementNode, LexicalNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\nimport {\n $createNodeSelection,\n $getEditor,\n $getNearestNodeFromDOMNode,\n $getSelection,\n $isDecoratorNode,\n $isElementNode,\n $isLineBreakNode,\n $isNodeSelection,\n $isRangeSelection,\n $isRootOrShadowRoot,\n $isTextNode,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n SELECTION_CHANGE_COMMAND,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport './index.scss'\n\n// TODO: This should ideally be fixed in Lexical. See\n// https://github.com/facebook/lexical/pull/7072\nexport function DecoratorPlugin() {\n const [editor] = useLexicalComposerContext()\n\n const $onDelete = (event: KeyboardEvent) => {\n const selection = $getSelection()\n if (!$isNodeSelection(selection)) {\n return false\n }\n event.preventDefault()\n selection.getNodes().forEach((node) => {\n node.remove()\n })\n return true\n }\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n const decorator = $getDecoratorByMouseEvent(event)\n if (!decorator) {\n return true\n }\n const { target } = event\n const isInteractive =\n !(target instanceof HTMLElement) ||\n target.isContentEditable ||\n target.closest(\n 'button, textarea, input, .react-select, .code-editor, .no-select-decorator, [role=\"button\"]',\n )\n if (isInteractive) {\n $setSelection(null)\n } else {\n $selectDecorator(decorator)\n }\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n const decorator = $getSelectedDecorator()\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n if (decorator) {\n decorator.element?.classList.add('decorator-selected')\n return true\n }\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n (event) => {\n // CASE 1: Node selection\n const selection = $getSelection()\n if ($isNodeSelection(selection)) {\n const prevSibling = selection.getNodes()[0]?.getPreviousSibling()\n if ($isDecoratorNode(prevSibling)) {\n const element = $getEditor().getElementByKey(prevSibling.getKey())\n if (element) {\n $selectDecorator({ element, node: prevSibling })\n event.preventDefault()\n return true\n }\n return false\n }\n if (!$isElementNode(prevSibling)) {\n return false\n }\n const lastDescendant = prevSibling.getLastDescendant() ?? prevSibling\n if (!lastDescendant) {\n return false\n }\n const block = $findMatchingParent(lastDescendant, INTERNAL_$isBlock)\n block?.selectStart()\n event.preventDefault()\n return true\n }\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n // CASE 2: Range selection\n // Get first selected block\n const firstPoint = selection.isBackward() ? selection.anchor : selection.focus\n const firstNode = firstPoint.getNode()\n const firstSelectedBlock = $findMatchingParent(firstNode, (node) => {\n return findFirstSiblingBlock(node) !== null\n })\n const prevBlock = firstSelectedBlock?.getPreviousSibling()\n if (!firstSelectedBlock || prevBlock !== findFirstSiblingBlock(firstSelectedBlock)) {\n return false\n }\n\n if ($isDecoratorNode(prevBlock)) {\n const prevBlockElement = $getEditor().getElementByKey(prevBlock.getKey())\n if (prevBlockElement) {\n $selectDecorator({ element: prevBlockElement, node: prevBlock })\n event.preventDefault()\n return true\n }\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n (event) => {\n // CASE 1: Node selection\n const selection = $getSelection()\n if ($isNodeSelection(selection)) {\n event.preventDefault()\n const nextSibling = selection.getNodes()[0]?.getNextSibling()\n if ($isDecoratorNode(nextSibling)) {\n const element = $getEditor().getElementByKey(nextSibling.getKey())\n if (element) {\n $selectDecorator({ element, node: nextSibling })\n }\n return true\n }\n if (!$isElementNode(nextSibling)) {\n return true\n }\n const firstDescendant = nextSibling.getFirstDescendant() ?? nextSibling\n if (!firstDescendant) {\n return true\n }\n const block = $findMatchingParent(firstDescendant, INTERNAL_$isBlock)\n block?.selectEnd()\n event.preventDefault()\n return true\n }\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n // CASE 2: Range selection\n // Get last selected block\n const lastPoint = selection.isBackward() ? selection.anchor : selection.focus\n const lastNode = lastPoint.getNode()\n const lastSelectedBlock = $findMatchingParent(lastNode, (node) => {\n return findLaterSiblingBlock(node) !== null\n })\n const nextBlock = lastSelectedBlock?.getNextSibling()\n if (!lastSelectedBlock || nextBlock !== findLaterSiblingBlock(lastSelectedBlock)) {\n return false\n }\n\n if ($isDecoratorNode(nextBlock)) {\n const nextBlockElement = $getEditor().getElementByKey(nextBlock.getKey())\n if (nextBlockElement) {\n $selectDecorator({ element: nextBlockElement, node: nextBlock })\n event.preventDefault()\n return true\n }\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n )\n }, [editor])\n\n return null\n}\n\nfunction $getDecoratorByMouseEvent(\n event: MouseEvent,\n): { element: HTMLElement; node: DecoratorNode<unknown> } | undefined {\n if (!(event.target instanceof HTMLElement)) {\n return undefined\n }\n const element = event.target.closest('[data-lexical-decorator=\"true\"]')\n if (!(element instanceof HTMLElement)) {\n return undefined\n }\n const node = $getNearestNodeFromDOMNode(element)\n return $isDecoratorNode(node) ? { element, node } : undefined\n}\n\nfunction $getSelectedDecorator() {\n const selection = $getSelection()\n if (!$isNodeSelection(selection)) {\n return undefined\n }\n const nodes = selection.getNodes()\n if (nodes.length !== 1) {\n return undefined\n }\n const node = nodes[0]\n return $isDecoratorNode(node)\n ? {\n decorator: node,\n element: $getEditor().getElementByKey(node.getKey()),\n }\n : undefined\n}\n\nfunction $selectDecorator({\n element,\n node,\n}: {\n element: HTMLElement\n node: DecoratorNode<unknown>\n}) {\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n const selection = $createNodeSelection()\n selection.add(node.getKey())\n $setSelection(selection)\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' })\n element.classList.add('decorator-selected')\n}\n\n/**\n * Copied from https://github.com/facebook/lexical/blob/main/packages/lexical/src/LexicalUtils.ts\n *\n * This function returns true for a DecoratorNode that is not inline OR\n * an ElementNode that is:\n * - not a root or shadow root\n * - not inline\n * - can't be empty\n * - has no children or an inline first child\n */\nexport function INTERNAL_$isBlock(node: LexicalNode): node is DecoratorNode<unknown> | ElementNode {\n if ($isDecoratorNode(node) && !node.isInline()) {\n return true\n }\n if (!$isElementNode(node) || $isRootOrShadowRoot(node)) {\n return false\n }\n\n const firstChild = node.getFirstChild()\n const isLeafElement =\n firstChild === null ||\n $isLineBreakNode(firstChild) ||\n $isTextNode(firstChild) ||\n firstChild.isInline()\n\n return !node.isInline() && node.canBeEmpty() !== false && isLeafElement\n}\n\nfunction findLaterSiblingBlock(node: LexicalNode): LexicalNode | null {\n let current = node.getNextSibling()\n while (current !== null) {\n if (INTERNAL_$isBlock(current)) {\n return current\n }\n current = current.getNextSibling()\n }\n return null\n}\n\nfunction findFirstSiblingBlock(node: LexicalNode): LexicalNode | null {\n let current = node.getPreviousSibling()\n while (current !== null) {\n if (INTERNAL_$isBlock(current)) {\n return current\n }\n current = current.getPreviousSibling()\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$findMatchingParent","mergeRegister","$createNodeSelection","$getEditor","$getNearestNodeFromDOMNode","$getSelection","$isDecoratorNode","$isElementNode","$isLineBreakNode","$isNodeSelection","$isRangeSelection","$isRootOrShadowRoot","$isTextNode","$setSelection","CLICK_COMMAND","COMMAND_PRIORITY_LOW","KEY_ARROW_DOWN_COMMAND","KEY_ARROW_UP_COMMAND","KEY_BACKSPACE_COMMAND","KEY_DELETE_COMMAND","SELECTION_CHANGE_COMMAND","useEffect","DecoratorPlugin","$","editor","$onDelete","_temp2","t0","t1","registerCommand","_temp3","_temp4","_temp6","_temp8","event_2","selection_1","selection","event","preventDefault","nextSibling","getNodes","getNextSibling","element_0","getElementByKey","getKey","element","$selectDecorator","node","firstDescendant","getFirstDescendant","block_0","INTERNAL_$isBlock","block","selectEnd","lastPoint","isBackward","anchor","focus","lastNode","getNode","lastSelectedBlock","_temp7","nextBlock","findLaterSiblingBlock","nextBlockElement","node_1","event_1","selection_0","prevSibling","getPreviousSibling","lastDescendant","getLastDescendant","selectStart","firstPoint","firstNode","firstSelectedBlock","_temp5","prevBlock","findFirstSiblingBlock","prevBlockElement","node_0","decorator_0","$getSelectedDecorator","document","querySelector","classList","remove","decorator","add","event_0","$getDecoratorByMouseEvent","target","isInteractive","HTMLElement","isContentEditable","closest","forEach","_temp","undefined","nodes","length","scrollIntoView","behavior","isInline","firstChild","getFirstChild","isLeafElement","canBeEmpty","current"],"sources":["../../../../src/lexical/plugins/DecoratorPlugin/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DecoratorNode, ElementNode, LexicalNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\nimport {\n $createNodeSelection,\n $getEditor,\n $getNearestNodeFromDOMNode,\n $getSelection,\n $isDecoratorNode,\n $isElementNode,\n $isLineBreakNode,\n $isNodeSelection,\n $isRangeSelection,\n $isRootOrShadowRoot,\n $isTextNode,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n SELECTION_CHANGE_COMMAND,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport './index.css'\n\n// TODO: This should ideally be fixed in Lexical. See\n// https://github.com/facebook/lexical/pull/7072\nexport function DecoratorPlugin() {\n const [editor] = useLexicalComposerContext()\n\n const $onDelete = (event: KeyboardEvent) => {\n const selection = $getSelection()\n if (!$isNodeSelection(selection)) {\n return false\n }\n event.preventDefault()\n selection.getNodes().forEach((node) => {\n node.remove()\n })\n return true\n }\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n const decorator = $getDecoratorByMouseEvent(event)\n if (!decorator) {\n return true\n }\n const { target } = event\n const isInteractive =\n !(target instanceof HTMLElement) ||\n target.isContentEditable ||\n target.closest(\n 'button, textarea, input, .react-select, .code-editor, .no-select-decorator, [role=\"button\"]',\n )\n if (isInteractive) {\n $setSelection(null)\n } else {\n $selectDecorator(decorator)\n }\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n const decorator = $getSelectedDecorator()\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n if (decorator) {\n decorator.element?.classList.add('decorator-selected')\n return true\n }\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n (event) => {\n // CASE 1: Node selection\n const selection = $getSelection()\n if ($isNodeSelection(selection)) {\n const prevSibling = selection.getNodes()[0]?.getPreviousSibling()\n if ($isDecoratorNode(prevSibling)) {\n const element = $getEditor().getElementByKey(prevSibling.getKey())\n if (element) {\n $selectDecorator({ element, node: prevSibling })\n event.preventDefault()\n return true\n }\n return false\n }\n if (!$isElementNode(prevSibling)) {\n return false\n }\n const lastDescendant = prevSibling.getLastDescendant() ?? prevSibling\n if (!lastDescendant) {\n return false\n }\n const block = $findMatchingParent(lastDescendant, INTERNAL_$isBlock)\n block?.selectStart()\n event.preventDefault()\n return true\n }\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n // CASE 2: Range selection\n // Get first selected block\n const firstPoint = selection.isBackward() ? selection.anchor : selection.focus\n const firstNode = firstPoint.getNode()\n const firstSelectedBlock = $findMatchingParent(firstNode, (node) => {\n return findFirstSiblingBlock(node) !== null\n })\n const prevBlock = firstSelectedBlock?.getPreviousSibling()\n if (!firstSelectedBlock || prevBlock !== findFirstSiblingBlock(firstSelectedBlock)) {\n return false\n }\n\n if ($isDecoratorNode(prevBlock)) {\n const prevBlockElement = $getEditor().getElementByKey(prevBlock.getKey())\n if (prevBlockElement) {\n $selectDecorator({ element: prevBlockElement, node: prevBlock })\n event.preventDefault()\n return true\n }\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n (event) => {\n // CASE 1: Node selection\n const selection = $getSelection()\n if ($isNodeSelection(selection)) {\n event.preventDefault()\n const nextSibling = selection.getNodes()[0]?.getNextSibling()\n if ($isDecoratorNode(nextSibling)) {\n const element = $getEditor().getElementByKey(nextSibling.getKey())\n if (element) {\n $selectDecorator({ element, node: nextSibling })\n }\n return true\n }\n if (!$isElementNode(nextSibling)) {\n return true\n }\n const firstDescendant = nextSibling.getFirstDescendant() ?? nextSibling\n if (!firstDescendant) {\n return true\n }\n const block = $findMatchingParent(firstDescendant, INTERNAL_$isBlock)\n block?.selectEnd()\n event.preventDefault()\n return true\n }\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n // CASE 2: Range selection\n // Get last selected block\n const lastPoint = selection.isBackward() ? selection.anchor : selection.focus\n const lastNode = lastPoint.getNode()\n const lastSelectedBlock = $findMatchingParent(lastNode, (node) => {\n return findLaterSiblingBlock(node) !== null\n })\n const nextBlock = lastSelectedBlock?.getNextSibling()\n if (!lastSelectedBlock || nextBlock !== findLaterSiblingBlock(lastSelectedBlock)) {\n return false\n }\n\n if ($isDecoratorNode(nextBlock)) {\n const nextBlockElement = $getEditor().getElementByKey(nextBlock.getKey())\n if (nextBlockElement) {\n $selectDecorator({ element: nextBlockElement, node: nextBlock })\n event.preventDefault()\n return true\n }\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n )\n }, [editor])\n\n return null\n}\n\nfunction $getDecoratorByMouseEvent(\n event: MouseEvent,\n): { element: HTMLElement; node: DecoratorNode<unknown> } | undefined {\n if (!(event.target instanceof HTMLElement)) {\n return undefined\n }\n const element = event.target.closest('[data-lexical-decorator=\"true\"]')\n if (!(element instanceof HTMLElement)) {\n return undefined\n }\n const node = $getNearestNodeFromDOMNode(element)\n return $isDecoratorNode(node) ? { element, node } : undefined\n}\n\nfunction $getSelectedDecorator() {\n const selection = $getSelection()\n if (!$isNodeSelection(selection)) {\n return undefined\n }\n const nodes = selection.getNodes()\n if (nodes.length !== 1) {\n return undefined\n }\n const node = nodes[0]\n return $isDecoratorNode(node)\n ? {\n decorator: node,\n element: $getEditor().getElementByKey(node.getKey()),\n }\n : undefined\n}\n\nfunction $selectDecorator({\n element,\n node,\n}: {\n element: HTMLElement\n node: DecoratorNode<unknown>\n}) {\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n const selection = $createNodeSelection()\n selection.add(node.getKey())\n $setSelection(selection)\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' })\n element.classList.add('decorator-selected')\n}\n\n/**\n * Copied from https://github.com/facebook/lexical/blob/main/packages/lexical/src/LexicalUtils.ts\n *\n * This function returns true for a DecoratorNode that is not inline OR\n * an ElementNode that is:\n * - not a root or shadow root\n * - not inline\n * - can't be empty\n * - has no children or an inline first child\n */\nexport function INTERNAL_$isBlock(node: LexicalNode): node is DecoratorNode<unknown> | ElementNode {\n if ($isDecoratorNode(node) && !node.isInline()) {\n return true\n }\n if (!$isElementNode(node) || $isRootOrShadowRoot(node)) {\n return false\n }\n\n const firstChild = node.getFirstChild()\n const isLeafElement =\n firstChild === null ||\n $isLineBreakNode(firstChild) ||\n $isTextNode(firstChild) ||\n firstChild.isInline()\n\n return !node.isInline() && node.canBeEmpty() !== false && isLeafElement\n}\n\nfunction findLaterSiblingBlock(node: LexicalNode): LexicalNode | null {\n let current = node.getNextSibling()\n while (current !== null) {\n if (INTERNAL_$isBlock(current)) {\n return current\n }\n current = current.getNextSibling()\n }\n return null\n}\n\nfunction findFirstSiblingBlock(node: LexicalNode): LexicalNode | null {\n let current = node.getPreviousSibling()\n while (current !== null) {\n if (INTERNAL_$isBlock(current)) {\n return current\n }\n current = current.getPreviousSibling()\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ @layer payload-default {
2
+ .rich-text-lexical--show-gutter {
3
+ .insert-paragraph-at-end {
4
+ padding: var(--spacer-1) 0 calc(var(--spacer-1) / 2) var(--spacer-6);
5
+ }
6
+ }
7
+ .insert-paragraph-at-end {
8
+ height: var(--spacer-4);
9
+ margin-top: calc(var(--spacer-4) * -1);
10
+ width: 100%;
11
+ z-index: 0;
12
+ position: relative;
13
+ padding: var(--spacer-1) 0 calc(var(--spacer-1) / 2) 0;
14
+
15
+ &:hover {
16
+ cursor: pointer;
17
+
18
+ .insert-paragraph-at-end-inside {
19
+ background-color: var(--color-bg-hover);
20
+
21
+ span {
22
+ display: flex;
23
+ }
24
+ }
25
+ }
26
+ }
27
+
28
+ .insert-paragraph-at-end-inside {
29
+ width: 100%;
30
+ height: 100%;
31
+ background-color: transparent;
32
+ transition: background-color 0.1s ease-in-out;
33
+ display: flex;
34
+ justify-content: center;
35
+ border-radius: var(--radius-medium);
36
+ color: var(--color-text-secondary);
37
+
38
+ span {
39
+ display: none;
40
+ justify-content: center;
41
+ align-items: center;
42
+ }
43
+ }
44
+
45
+ html[data-theme='dark'] {
46
+ .insert-paragraph-at-end:hover {
47
+ .insert-paragraph-at-end-inside {
48
+ background-color: var(--color-bg-secondary);
49
+ }
50
+ }
51
+ }
52
+ }
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import './index.scss';
2
+ import './index.css';
3
3
  export declare const InsertParagraphAtEndPlugin: React.FC;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lexical/plugins/InsertParagraphAtEnd/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EA8B9C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lexical/plugins/InsertParagraphAtEnd/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EA8B9C,CAAA"}
@@ -5,6 +5,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
6
6
  import { $createParagraphNode, $getRoot } from 'lexical';
7
7
  import React from 'react';
8
+ import './index.css';
8
9
  import { useEditorConfigContext } from '../../config/client/EditorConfigProvider.js';
9
10
  const baseClass = 'insert-paragraph-at-end';
10
11
  export const InsertParagraphAtEndPlugin = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$createParagraphNode","$getRoot","React","useEditorConfigContext","baseClass","InsertParagraphAtEndPlugin","$","editor","editorConfig","admin","hideInsertParagraphAtEnd","t0","onClick","update","_temp","_jsx","className","role","tabIndex","children","paragraphNode","append","select"],"sources":["../../../../src/lexical/plugins/InsertParagraphAtEnd/index.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events */\n'use client'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { $createParagraphNode, $getRoot } from 'lexical'\nimport React from 'react'\n\nimport './index.scss'\nimport { useEditorConfigContext } from '../../config/client/EditorConfigProvider.js'\nconst baseClass = 'insert-paragraph-at-end'\n\nexport const InsertParagraphAtEndPlugin: React.FC = () => {\n const [editor] = useLexicalComposerContext()\n const { editorConfig } = useEditorConfigContext()\n\n if (editorConfig?.admin?.hideInsertParagraphAtEnd) {\n return null\n }\n\n const onClick = () => {\n editor.update(() => {\n const paragraphNode = $createParagraphNode()\n $getRoot().append(paragraphNode)\n paragraphNode.select()\n })\n }\n\n return (\n // TODO: convert to button\n <div\n aria-label=\"Insert Paragraph\"\n className={baseClass}\n onClick={onClick}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}-inside`}>\n <span>+</span>\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA,0DACA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,oBAAoB,EAAEC,QAAQ,QAAQ;AAC/C,OAAOC,KAAA,MAAW;AAGlB,SAASC,sBAAsB,QAAQ;AACvC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,0BAAA,GAAuCA,CAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAClD,OAAAS,MAAA,IAAiBR,yBAAA;EACjB;IAAAS;EAAA,IAAyBL,sBAAA;EAAA,IAErBK,YAAA,EAAAC,KAAA,EAAAC,wBAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA;IAIJ,MAAAK,OAAA,GAAAA,CAAA;MACEL,MAAA,CAAAM,MAAA,CAAAC,KAIA;IAAA;IAKAH,EAAA,GAAAI,IAAA,CAAC;MAAA,cACY;MAAAC,SAAA,EAAAZ,SAAA;MAAAQ,OAAA;MAAAK,IAAA,EAGN;MAAAC,QAAA;MAAAC,QAAA,EAGLJ,IAAA,CAAC;QAAAC,SAAA,EAAe,GAAAZ,SAAA,SAAqB;QAAAe,QAAA,EACnCJ,IAAA,CAAC;UAAAI,QAAA,EAAK;QAAA,C;;;;;;;;SARVR,E;CAYJ;AA9BoD,SAAAG,MAAA;EAU9C,MAAAM,aAAA,GAAsBpB,oBAAA;EACtBC,QAAA,GAAAoB,MAAA,CAAkBD,aAAA;EAClBA,aAAA,CAAAE,MAAA,CAAoB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$createParagraphNode","$getRoot","React","useEditorConfigContext","baseClass","InsertParagraphAtEndPlugin","$","editor","editorConfig","admin","hideInsertParagraphAtEnd","t0","onClick","update","_temp","_jsx","className","role","tabIndex","children","paragraphNode","append","select"],"sources":["../../../../src/lexical/plugins/InsertParagraphAtEnd/index.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events */\n'use client'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { $createParagraphNode, $getRoot } from 'lexical'\nimport React from 'react'\n\nimport './index.css'\nimport { useEditorConfigContext } from '../../config/client/EditorConfigProvider.js'\nconst baseClass = 'insert-paragraph-at-end'\n\nexport const InsertParagraphAtEndPlugin: React.FC = () => {\n const [editor] = useLexicalComposerContext()\n const { editorConfig } = useEditorConfigContext()\n\n if (editorConfig?.admin?.hideInsertParagraphAtEnd) {\n return null\n }\n\n const onClick = () => {\n editor.update(() => {\n const paragraphNode = $createParagraphNode()\n $getRoot().append(paragraphNode)\n paragraphNode.select()\n })\n }\n\n return (\n // TODO: convert to button\n <div\n aria-label=\"Insert Paragraph\"\n className={baseClass}\n onClick={onClick}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}-inside`}>\n <span>+</span>\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA,0DACA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,oBAAoB,EAAEC,QAAQ,QAAQ;AAC/C,OAAOC,KAAA,MAAW;AAElB,OAAO;AACP,SAASC,sBAAsB,QAAQ;AACvC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,0BAAA,GAAuCA,CAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAClD,OAAAS,MAAA,IAAiBR,yBAAA;EACjB;IAAAS;EAAA,IAAyBL,sBAAA;EAAA,IAErBK,YAAA,EAAAC,KAAA,EAAAC,wBAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA;IAIJ,MAAAK,OAAA,GAAAA,CAAA;MACEL,MAAA,CAAAM,MAAA,CAAAC,KAIA;IAAA;IAKAH,EAAA,GAAAI,IAAA,CAAC;MAAA,cACY;MAAAC,SAAA,EAAAZ,SAAA;MAAAQ,OAAA;MAAAK,IAAA,EAGN;MAAAC,QAAA;MAAAC,QAAA,EAGLJ,IAAA,CAAC;QAAAC,SAAA,EAAe,GAAAZ,SAAA,SAAqB;QAAAe,QAAA,EACnCJ,IAAA,CAAC;UAAAI,QAAA,EAAK;QAAA,C;;;;;;;;SARVR,E;CAYJ;AA9BoD,SAAAG,MAAA;EAU9C,MAAAM,aAAA,GAAsBpB,oBAAA;EACtBC,QAAA,GAAAoB,MAAA,CAAkBD,aAAA;EAClBA,aAAA,CAAAE,MAAA,CAAoB;AAAA","ignoreList":[]}
@@ -2,7 +2,7 @@ import type { I18nClient } from '@payloadcms/translations';
2
2
  import type { LexicalEditor, Spread } from 'lexical';
3
3
  import type React from 'react';
4
4
  import type { RefObject } from 'react';
5
- import type { FeatureClientSchemaMap } from '../../../../types.js';
5
+ import type { FeatureClientSchemaMap } from '../../../../types/index.js';
6
6
  export type SlashMenuItem = {
7
7
  /** The icon which is rendered in your slash menu item. */
8
8
  Icon: React.FC;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,MAAM,MAAM,aAAa,GAAG;IAC1B,0DAA0D;IAC1D,IAAI,EAAE,KAAK,CAAC,EAAE,CAAA;IACd,8JAA8J;IAC9J,GAAG,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACxB,iHAAiH;IACjH,KAAK,CAAC,EACF,CAAC,CAAC,IAAI,EAAE;QACN,sBAAsB,EAAE,sBAAsB,CAAA;QAC9C,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC5B,UAAU,EAAE,MAAM,CAAA;KACnB,KAAK,MAAM,CAAC,GACb,MAAM,CAAA;IACV,uEAAuE;IACvE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CAC5F,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC3B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX,sHAAsH;IACtH,KAAK,CAAC,EACF,CAAC,CAAC,IAAI,EAAE;QACN,sBAAsB,EAAE,sBAAsB,CAAA;QAC9C,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC5B,UAAU,EAAE,MAAM,CAAA;KACnB,KAAK,MAAM,CAAC,GACb,MAAM,CAAA;CACX,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CACzC,GAAG,aAAa,CAAA;AAEjB,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC;IACE,KAAK,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;CACpC,EACD,cAAc,CACf,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAExE,MAAM,MAAM,aAAa,GAAG;IAC1B,0DAA0D;IAC1D,IAAI,EAAE,KAAK,CAAC,EAAE,CAAA;IACd,8JAA8J;IAC9J,GAAG,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACxB,iHAAiH;IACjH,KAAK,CAAC,EACF,CAAC,CAAC,IAAI,EAAE;QACN,sBAAsB,EAAE,sBAAsB,CAAA;QAC9C,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC5B,UAAU,EAAE,MAAM,CAAA;KACnB,KAAK,MAAM,CAAC,GACb,MAAM,CAAA;IACV,uEAAuE;IACvE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CAC5F,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC3B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX,sHAAsH;IACtH,KAAK,CAAC,EACF,CAAC,CAAC,IAAI,EAAE;QACN,sBAAsB,EAAE,sBAAsB,CAAA;QAC9C,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC5B,UAAU,EAAE,MAAM,CAAA;KACnB,KAAK,MAAM,CAAC,GACb,MAAM,CAAA;CACX,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CACzC,GAAG,aAAa,CAAA;AAEjB,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC;IACE,KAAK,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;CACpC,EACD,cAAc,CACf,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { LexicalEditor, Spread } from 'lexical'\nimport type React from 'react'\nimport type { RefObject } from 'react'\n\nimport type { FeatureClientSchemaMap } from '../../../../types.js'\n\nexport type SlashMenuItem = {\n /** The icon which is rendered in your slash menu item. */\n Icon: React.FC\n /** Each slash menu item needs to have a unique key. The key will be matched when typing, displayed if no `label` property is set, and used for classNames. */\n key: string\n /**\n * Keywords are used to match the item for different texts typed after the '/'.\n * E.g. you might want to show a horizontal rule item if you type both /hr, /separator, /horizontal etc.\n * In addition to the keywords, the label and key will be used to find the right slash menu item.\n */\n keywords?: Array<string>\n /** The label will be displayed in your slash menu item. 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 /** A function which is called when the slash menu item is selected. */\n onSelect: ({ editor, queryString }: { editor: LexicalEditor; queryString: string }) => void\n}\n\nexport type SlashMenuGroup = {\n /**\n * An array of `SlashMenuItem`'s which will be displayed in the slash menu.\n */\n items: Array<SlashMenuItem>\n /**\n * Used for class names and, if label is not provided, for display. Slash menus with the same key will have their items merged together.\n */\n key: string\n /** The label will be displayed before your Slash Menu 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}\n\nexport type SlashMenuItemInternal = {\n ref: RefObject<HTMLButtonElement | null>\n} & SlashMenuItem\n\nexport type SlashMenuGroupInternal = Spread<\n {\n items: Array<SlashMenuItemInternal>\n },\n SlashMenuGroup\n>\n"],"mappings":"AAqDA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { LexicalEditor, Spread } from 'lexical'\nimport type React from 'react'\nimport type { RefObject } from 'react'\n\nimport type { FeatureClientSchemaMap } from '../../../../types/index.js'\n\nexport type SlashMenuItem = {\n /** The icon which is rendered in your slash menu item. */\n Icon: React.FC\n /** Each slash menu item needs to have a unique key. The key will be matched when typing, displayed if no `label` property is set, and used for classNames. */\n key: string\n /**\n * Keywords are used to match the item for different texts typed after the '/'.\n * E.g. you might want to show a horizontal rule item if you type both /hr, /separator, /horizontal etc.\n * In addition to the keywords, the label and key will be used to find the right slash menu item.\n */\n keywords?: Array<string>\n /** The label will be displayed in your slash menu item. 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 /** A function which is called when the slash menu item is selected. */\n onSelect: ({ editor, queryString }: { editor: LexicalEditor; queryString: string }) => void\n}\n\nexport type SlashMenuGroup = {\n /**\n * An array of `SlashMenuItem`'s which will be displayed in the slash menu.\n */\n items: Array<SlashMenuItem>\n /**\n * Used for class names and, if label is not provided, for display. Slash menus with the same key will have their items merged together.\n */\n key: string\n /** The label will be displayed before your Slash Menu 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}\n\nexport type SlashMenuItemInternal = {\n ref: RefObject<HTMLButtonElement | null>\n} & SlashMenuItem\n\nexport type SlashMenuGroupInternal = Spread<\n {\n items: Array<SlashMenuItemInternal>\n },\n SlashMenuGroup\n>\n"],"mappings":"AAqDA","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ @layer payload-default {
2
+ .slash-menu-popup {
3
+ --slash-menu-width: 12.5rem;
4
+ --slash-menu-max-height: 18.75rem;
5
+ background: var(--color-bg-elevated);
6
+ color: var(--color-text);
7
+ width: var(--slash-menu-width);
8
+ border-radius: var(--radius-large);
9
+ padding: var(--spacer-2);
10
+ list-style: none;
11
+ font-family: var(--text-body-medium-font-family);
12
+ font-size: var(--text-body-medium-font-size);
13
+ font-weight: var(--text-body-medium-font-weight);
14
+ line-height: var(--text-body-medium-line-height);
15
+ max-height: var(--slash-menu-max-height);
16
+ overflow-y: auto;
17
+ z-index: 10;
18
+ position: absolute;
19
+ box-shadow:
20
+ 0 2px 6px 0 rgba(0, 0, 0, 0.12),
21
+ 0 10px 16px 0 rgba(0, 0, 0, 0.08),
22
+ 0 0 0.5px 0 rgba(0, 0, 0, 0.12),
23
+ 0 0 0 1px rgba(0, 0, 0, 0.04);
24
+ }
25
+
26
+ .slash-menu-popup__group {
27
+ padding-bottom: var(--spacer-1);
28
+ }
29
+
30
+ .slash-menu-popup__group-title {
31
+ padding: 0 var(--spacer-1);
32
+ color: var(--color-text-secondary);
33
+ font-size: var(--text-body-small-font-size);
34
+ line-height: var(--spacer-4);
35
+ }
36
+
37
+ .slash-menu-popup__item {
38
+ all: unset;
39
+ padding: 0 var(--spacer-1);
40
+ box-sizing: border-box;
41
+ color: var(--color-text);
42
+ display: flex;
43
+ align-items: center;
44
+ height: var(--spacer-4);
45
+ width: 100%;
46
+ border-radius: var(--radius-medium);
47
+ cursor: pointer;
48
+ gap: var(--spacer-1);
49
+ transition: background-color 0.15s cubic-bezier(0, 0.2, 0.2, 1);
50
+
51
+ .icon {
52
+ color: var(--color-icon-secondary);
53
+ }
54
+ }
55
+
56
+ .slash-menu-popup__item--selected {
57
+ background-color: var(--color-bg-transparent-pressed);
58
+ }
59
+
60
+ .slash-menu-popup__item-text {
61
+ overflow: hidden;
62
+ white-space: nowrap;
63
+ text-overflow: ellipsis;
64
+ }
65
+ }
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import './index.scss';
2
+ import './index.css';
3
3
  export declare function SlashMenuPlugin({ anchorElem, }: {
4
4
  anchorElem?: HTMLElement;
5
5
  }): React.ReactElement;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lexical/plugins/SlashMenu/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAW9B,OAAO,cAAc,CAAA;AA+DrB,wBAAgB,eAAe,CAAC,EAC9B,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,KAAK,CAAC,YAAY,CA6KrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lexical/plugins/SlashMenu/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAW9B,OAAO,aAAa,CAAA;AA+DpB,wBAAgB,eAAe,CAAC,EAC9B,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,KAAK,CAAC,YAAY,CA6KrB"}
@@ -7,6 +7,7 @@ import { useCallback, useMemo, useState } from 'react';
7
7
  import * as React from 'react';
8
8
  import * as ReactDOM from 'react-dom';
9
9
  import { useEditorConfigContext } from '../../config/client/EditorConfigProvider.js';
10
+ import './index.css';
10
11
  import { LexicalTypeaheadMenuPlugin } from './LexicalTypeaheadMenuPlugin/index.js';
11
12
  import { useMenuTriggerMatch } from './useMenuTriggerMatch.js';
12
13
  const baseClass = 'slash-menu-popup';
@@ -171,6 +172,7 @@ export function SlashMenuPlugin({
171
172
  setSelectedItemKey
172
173
  }) => anchorElementRef.current && groups.length ? /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsx("div", {
173
174
  className: baseClass,
175
+ "data-theme": "dark",
174
176
  children: groups.map(group_4 => {
175
177
  let groupTitle = group_4.key;
176
178
  if (group_4.label && featureClientSchemaMap) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useLexicalComposerContext","useTranslation","useCallback","useMemo","useState","React","ReactDOM","useEditorConfigContext","LexicalTypeaheadMenuPlugin","useMenuTriggerMatch","baseClass","SlashMenuItem","isSelected","item","onClick","onMouseEnter","ref","fieldProps","featureClientSchemaMap","schemaPath","i18n","className","key","title","label","length","substring","_jsxs","id","role","tabIndex","type","Icon","_jsx","SlashMenuPlugin","anchorElem","document","body","editor","queryString","setQueryString","editorConfig","checkForTriggerMatch","minLength","getDynamicItems","groupWithItems","dynamicItem","features","slashMenu","dynamicGroups","dynamicGroupWithItems","concat","groups","groupsWithItems","groupWithItem","push","normalizedQuery","toLowerCase","replace","map","group","filteredItems","items","filter","itemTitle","RegExp","exec","normalizedTitle","includes","keywords","some","keyword","normalizedKeyword","dynamicItemGroups","dynamicGroup","find","menuRenderFn","anchorElementRef","selectedItemKey","selectItemAndCleanUp","setSelectedItemKey","current","createPortal","groupTitle","oi","index","el","onQueryChange","triggerFn"],"sources":["../../../../src/lexical/plugins/SlashMenu/index.tsx"],"sourcesContent":["'use client'\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useTranslation } from '@payloadcms/ui'\nimport { useCallback, useMemo, useState } from 'react'\nimport * as React from 'react'\nimport * as ReactDOM from 'react-dom'\n\nimport type {\n SlashMenuGroup,\n SlashMenuGroupInternal,\n SlashMenuItemInternal,\n SlashMenuItem as SlashMenuItemType,\n} from './LexicalTypeaheadMenuPlugin/types.js'\n\nimport { useEditorConfigContext } from '../../config/client/EditorConfigProvider.js'\nimport './index.scss'\nimport { LexicalTypeaheadMenuPlugin } from './LexicalTypeaheadMenuPlugin/index.js'\nimport { useMenuTriggerMatch } from './useMenuTriggerMatch.js'\n\nconst baseClass = 'slash-menu-popup'\n\nfunction SlashMenuItem({\n isSelected,\n item,\n onClick,\n onMouseEnter,\n ref,\n}: {\n index: number\n isSelected: boolean\n item: SlashMenuItemInternal\n onClick: () => void\n onMouseEnter: () => void\n ref?: React.Ref<HTMLButtonElement>\n}) {\n const {\n fieldProps: { featureClientSchemaMap, schemaPath },\n } = useEditorConfigContext()\n\n const { i18n } = useTranslation<{}, string>()\n\n let className = `${baseClass}__item ${baseClass}__item-${item.key}`\n if (isSelected) {\n className += ` ${baseClass}__item--selected`\n }\n\n let title = 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 title = title.substring(0, 25) + '...'\n }\n\n return (\n <button\n aria-selected={isSelected}\n className={className}\n id={baseClass + '__item-' + item.key}\n key={item.key}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n ref={ref}\n role=\"option\"\n tabIndex={-1}\n type=\"button\"\n >\n {item?.Icon && <item.Icon />}\n\n <span className={`${baseClass}__item-text`}>{title}</span>\n </button>\n )\n}\n\nexport function SlashMenuPlugin({\n anchorElem = document.body,\n}: {\n anchorElem?: HTMLElement\n}): React.ReactElement {\n const [editor] = useLexicalComposerContext()\n const [queryString, setQueryString] = useState<null | string>(null)\n const { editorConfig } = useEditorConfigContext()\n const { i18n } = useTranslation<{}, string>()\n const {\n fieldProps: { featureClientSchemaMap, schemaPath },\n } = useEditorConfigContext()\n\n const checkForTriggerMatch = useMenuTriggerMatch('/', {\n minLength: 0,\n })\n\n const getDynamicItems = useCallback(() => {\n let groupWithItems: Array<SlashMenuGroup> = []\n\n for (const dynamicItem of editorConfig.features.slashMenu.dynamicGroups) {\n if (queryString) {\n const dynamicGroupWithItems = dynamicItem({\n editor,\n queryString,\n })\n groupWithItems = groupWithItems.concat(dynamicGroupWithItems)\n }\n }\n\n return groupWithItems\n }, [editor, queryString, editorConfig?.features])\n\n const groups: SlashMenuGroup[] = useMemo(() => {\n let groupsWithItems: SlashMenuGroup[] = []\n for (const groupWithItem of editorConfig?.features.slashMenu.groups ?? []) {\n groupsWithItems.push(groupWithItem)\n }\n\n if (queryString) {\n // Normalize query string for flexible matching (remove spaces, hyphens, underscores)\n const normalizedQuery = queryString.toLowerCase().replace(/[\\s\\-_]/g, '')\n\n // Filter current groups first\n // @ts-expect-error - TODO: fix this\n groupsWithItems = groupsWithItems.map((group) => {\n const filteredItems = group.items.filter((item) => {\n let itemTitle = item.key\n if (item.label) {\n itemTitle =\n typeof item.label === 'function'\n ? item.label({ featureClientSchemaMap, i18n, schemaPath })\n : item.label\n }\n\n if (new RegExp(queryString, 'gi').exec(itemTitle)) {\n return true\n }\n\n // Try normalized match (allows \"nestedcontent\" to match \"Nested Content\")\n const normalizedTitle = itemTitle.toLowerCase().replace(/[\\s\\-_]/g, '')\n if (normalizedTitle.includes(normalizedQuery)) {\n return true\n }\n\n if (item.keywords != null) {\n return item.keywords.some((keyword) => {\n if (new RegExp(queryString, 'gi').exec(keyword)) {\n return true\n }\n const normalizedKeyword = keyword.toLowerCase().replace(/[\\s\\-_]/g, '')\n return normalizedKeyword.includes(normalizedQuery)\n })\n }\n return false\n })\n if (filteredItems.length) {\n return {\n ...group,\n items: filteredItems,\n }\n }\n return null\n })\n\n groupsWithItems = groupsWithItems.filter((group) => group != null)\n\n // Now add dynamic groups\n const dynamicItemGroups = getDynamicItems()\n\n // merge dynamic items into groups\n for (const dynamicGroup of dynamicItemGroups) {\n // 1. find the group with the same name or create new one\n let group = groupsWithItems.find((group) => group.key === dynamicGroup.key)\n if (!group) {\n group = {\n ...dynamicGroup,\n items: [],\n }\n } else {\n groupsWithItems = groupsWithItems.filter((group) => group.key !== dynamicGroup.key)\n }\n\n // 2. Add items to group items array and add to sanitized.slashMenu.groupsWithItems\n if (group?.items?.length) {\n group.items = group.items.concat(group.items)\n }\n groupsWithItems.push(group)\n }\n }\n\n return groupsWithItems\n }, [\n queryString,\n editorConfig?.features.slashMenu.groups,\n getDynamicItems,\n featureClientSchemaMap,\n i18n,\n schemaPath,\n ])\n\n return (\n <LexicalTypeaheadMenuPlugin\n anchorElem={anchorElem}\n groups={groups as SlashMenuGroupInternal[]}\n menuRenderFn={(\n anchorElementRef,\n { selectedItemKey, selectItemAndCleanUp, setSelectedItemKey },\n ) =>\n anchorElementRef.current && groups.length\n ? ReactDOM.createPortal(\n <div className={baseClass}>\n {groups.map((group) => {\n let groupTitle = group.key\n if (group.label && featureClientSchemaMap) {\n groupTitle =\n typeof group.label === 'function'\n ? group.label({ featureClientSchemaMap, i18n, schemaPath })\n : group.label\n }\n\n return (\n <div\n className={`${baseClass}__group ${baseClass}__group-${group.key}`}\n key={group.key}\n >\n <div className={`${baseClass}__group-title`}>{groupTitle}</div>\n {group.items.map((item, oi: number) => (\n <SlashMenuItem\n index={oi}\n isSelected={selectedItemKey === item.key}\n item={item as SlashMenuItemInternal}\n key={item.key}\n onClick={() => {\n setSelectedItemKey(item.key)\n selectItemAndCleanUp(item)\n }}\n onMouseEnter={() => {\n setSelectedItemKey(item.key)\n }}\n ref={(el) => {\n ;(item as SlashMenuItemInternal).ref = { current: el }\n }}\n />\n ))}\n </div>\n )\n })}\n </div>,\n anchorElementRef.current,\n )\n : null\n }\n onQueryChange={setQueryString}\n triggerFn={checkForTriggerMatch}\n />\n )\n}\n"],"mappings":"AAAA;;;AACA,SAASA,yBAAyB,QAAQ;AAC1C,SAASC,cAAc,QAAQ;AAC/B,SAASC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAC/C,YAAYC,KAAA,MAAW;AACvB,YAAYC,QAAA,MAAc;AAS1B,SAASC,sBAAsB,QAAQ;AAEvC,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,mBAAmB,QAAQ;AAEpC,MAAMC,SAAA,GAAY;AAElB,SAASC,cAAc;EACrBC,UAAU;EACVC,IAAI;EACJC,OAAO;EACPC,YAAY;EACZC;AAAG,CAQJ;EACC,MAAM;IACJC,UAAA,EAAY;MAAEC,sBAAsB;MAAEC;IAAU;EAAE,CACnD,GAAGZ,sBAAA;EAEJ,MAAM;IAAEa;EAAI,CAAE,GAAGnB,cAAA;EAEjB,IAAIoB,SAAA,GAAY,GAAGX,SAAA,UAAmBA,SAAA,UAAmBG,IAAA,CAAKS,GAAG,EAAE;EACnE,IAAIV,UAAA,EAAY;IACdS,SAAA,IAAa,IAAIX,SAAA,kBAA2B;EAC9C;EAEA,IAAIa,KAAA,GAAQV,IAAA,CAAKS,GAAG;EACpB,IAAIT,IAAA,CAAKW,KAAK,EAAE;IACdD,KAAA,GACE,OAAOV,IAAA,CAAKW,KAAK,KAAK,aAClBX,IAAA,CAAKW,KAAK,CAAC;MAAEN,sBAAA;MAAwBE,IAAA;MAAMD;IAAW,KACtDN,IAAA,CAAKW,KAAK;EAClB;EACA;EACA,IAAID,KAAA,CAAME,MAAM,GAAG,IAAI;IACrBF,KAAA,GAAQA,KAAA,CAAMG,SAAS,CAAC,GAAG,MAAM;EACnC;EAEA,oBACEC,KAAA,CAAC;IACC,iBAAef,UAAA;IACfS,SAAA,EAAWA,SAAA;IACXO,EAAA,EAAIlB,SAAA,GAAY,YAAYG,IAAA,CAAKS,GAAG;IAEpCR,OAAA,EAASA,OAAA;IACTC,YAAA,EAAcA,YAAA;IACdC,GAAA,EAAKA,GAAA;IACLa,IAAA,EAAK;IACLC,QAAA,EAAU,CAAC;IACXC,IAAA,EAAK;eAEJlB,IAAA,EAAMmB,IAAA,iBAAQC,IAAA,CAACpB,IAAA,CAAKmB,IAAI,O,aAEzBC,IAAA,CAAC;MAAKZ,SAAA,EAAW,GAAGX,SAAA,aAAsB;gBAAGa;;KAVxCV,IAAA,CAAKS,GAAG;AAanB;AAEA,OAAO,SAASY,gBAAgB;EAC9BC,UAAA,GAAaC,QAAA,CAASC;AAAI,CAG3B;EACC,MAAM,CAACC,MAAA,CAAO,GAAGtC,yBAAA;EACjB,MAAM,CAACuC,WAAA,EAAaC,cAAA,CAAe,GAAGpC,QAAA,CAAwB;EAC9D,MAAM;IAAEqC;EAAY,CAAE,GAAGlC,sBAAA;EACzB,MAAM;IAAEa;EAAI,CAAE,GAAGnB,cAAA;EACjB,MAAM;IACJgB,UAAA,EAAY;MAAEC,sBAAsB;MAAEC;IAAU;EAAE,CACnD,GAAGZ,sBAAA;EAEJ,MAAMmC,oBAAA,GAAuBjC,mBAAA,CAAoB,KAAK;IACpDkC,SAAA,EAAW;EACb;EAEA,MAAMC,eAAA,GAAkB1C,WAAA,CAAY;IAClC,IAAI2C,cAAA,GAAwC,EAAE;IAE9C,KAAK,MAAMC,WAAA,IAAeL,YAAA,CAAaM,QAAQ,CAACC,SAAS,CAACC,aAAa,EAAE;MACvE,IAAIV,WAAA,EAAa;QACf,MAAMW,qBAAA,GAAwBJ,WAAA,CAAY;UACxCR,MAAA;UACAC;QACF;QACAM,cAAA,GAAiBA,cAAA,CAAeM,MAAM,CAACD,qBAAA;MACzC;IACF;IAEA,OAAOL,cAAA;EACT,GAAG,CAACP,MAAA,EAAQC,WAAA,EAAaE,YAAA,EAAcM,QAAA,CAAS;EAEhD,MAAMK,MAAA,GAA2BjD,OAAA,CAAQ;IACvC,IAAIkD,eAAA,GAAoC,EAAE;IAC1C,KAAK,MAAMC,aAAA,IAAiBb,YAAA,EAAcM,QAAA,CAASC,SAAA,CAAUI,MAAA,IAAU,EAAE,EAAE;MACzEC,eAAA,CAAgBE,IAAI,CAACD,aAAA;IACvB;IAEA,IAAIf,WAAA,EAAa;MACf;MACA,MAAMiB,eAAA,GAAkBjB,WAAA,CAAYkB,WAAW,GAAGC,OAAO,CAAC,YAAY;MAEtE;MACA;MACAL,eAAA,GAAkBA,eAAA,CAAgBM,GAAG,CAAEC,KAAA;QACrC,MAAMC,aAAA,GAAgBD,KAAA,CAAME,KAAK,CAACC,MAAM,CAAElD,IAAA;UACxC,IAAImD,SAAA,GAAYnD,IAAA,CAAKS,GAAG;UACxB,IAAIT,IAAA,CAAKW,KAAK,EAAE;YACdwC,SAAA,GACE,OAAOnD,IAAA,CAAKW,KAAK,KAAK,aAClBX,IAAA,CAAKW,KAAK,CAAC;cAAEN,sBAAA;cAAwBE,IAAA;cAAMD;YAAW,KACtDN,IAAA,CAAKW,KAAK;UAClB;UAEA,IAAI,IAAIyC,MAAA,CAAO1B,WAAA,EAAa,MAAM2B,IAAI,CAACF,SAAA,GAAY;YACjD,OAAO;UACT;UAEA;UACA,MAAMG,eAAA,GAAkBH,SAAA,CAAUP,WAAW,GAAGC,OAAO,CAAC,YAAY;UACpE,IAAIS,eAAA,CAAgBC,QAAQ,CAACZ,eAAA,GAAkB;YAC7C,OAAO;UACT;UAEA,IAAI3C,IAAA,CAAKwD,QAAQ,IAAI,MAAM;YACzB,OAAOxD,IAAA,CAAKwD,QAAQ,CAACC,IAAI,CAAEC,OAAA;cACzB,IAAI,IAAIN,MAAA,CAAO1B,WAAA,EAAa,MAAM2B,IAAI,CAACK,OAAA,GAAU;gBAC/C,OAAO;cACT;cACA,MAAMC,iBAAA,GAAoBD,OAAA,CAAQd,WAAW,GAAGC,OAAO,CAAC,YAAY;cACpE,OAAOc,iBAAA,CAAkBJ,QAAQ,CAACZ,eAAA;YACpC;UACF;UACA,OAAO;QACT;QACA,IAAIK,aAAA,CAAcpC,MAAM,EAAE;UACxB,OAAO;YACL,GAAGmC,KAAK;YACRE,KAAA,EAAOD;UACT;QACF;QACA,OAAO;MACT;MAEAR,eAAA,GAAkBA,eAAA,CAAgBU,MAAM,CAAEH,OAAA,IAAUA,OAAA,IAAS;MAE7D;MACA,MAAMa,iBAAA,GAAoB7B,eAAA;MAE1B;MACA,KAAK,MAAM8B,YAAA,IAAgBD,iBAAA,EAAmB;QAC5C;QACA,IAAIb,OAAA,GAAQP,eAAA,CAAgBsB,IAAI,CAAEf,OAAA,IAAUA,OAAA,CAAMtC,GAAG,KAAKoD,YAAA,CAAapD,GAAG;QAC1E,IAAI,CAACsC,OAAA,EAAO;UACVA,OAAA,GAAQ;YACN,GAAGc,YAAY;YACfZ,KAAA,EAAO;UACT;QACF,OAAO;UACLT,eAAA,GAAkBA,eAAA,CAAgBU,MAAM,CAAEH,OAAA,IAAUA,OAAA,CAAMtC,GAAG,KAAKoD,YAAA,CAAapD,GAAG;QACpF;QAEA;QACA,IAAIsC,OAAA,EAAOE,KAAA,EAAOrC,MAAA,EAAQ;UACxBmC,OAAA,CAAME,KAAK,GAAGF,OAAA,CAAME,KAAK,CAACX,MAAM,CAACS,OAAA,CAAME,KAAK;QAC9C;QACAT,eAAA,CAAgBE,IAAI,CAACK,OAAA;MACvB;IACF;IAEA,OAAOP,eAAA;EACT,GAAG,CACDd,WAAA,EACAE,YAAA,EAAcM,QAAA,CAASC,SAAA,CAAUI,MAAA,EACjCR,eAAA,EACA1B,sBAAA,EACAE,IAAA,EACAD,UAAA,CACD;EAED,oBACEc,IAAA,CAACzB,0BAAA;IACC2B,UAAA,EAAYA,UAAA;IACZiB,MAAA,EAAQA,MAAA;IACRwB,YAAA,EAAcA,CACZC,gBAAA,EACA;MAAEC,eAAe;MAAEC,oBAAoB;MAAEC;IAAkB,CAAE,KAE7DH,gBAAA,CAAiBI,OAAO,IAAI7B,MAAA,CAAO3B,MAAM,gBACrCnB,QAAA,CAAS4E,YAAY,cACnBjD,IAAA,CAAC;MAAIZ,SAAA,EAAWX,SAAA;gBACb0C,MAAA,CAAOO,GAAG,CAAEC,OAAA;QACX,IAAIuB,UAAA,GAAavB,OAAA,CAAMtC,GAAG;QAC1B,IAAIsC,OAAA,CAAMpC,KAAK,IAAIN,sBAAA,EAAwB;UACzCiE,UAAA,GACE,OAAOvB,OAAA,CAAMpC,KAAK,KAAK,aACnBoC,OAAA,CAAMpC,KAAK,CAAC;YAAEN,sBAAA;YAAwBE,IAAA;YAAMD;UAAW,KACvDyC,OAAA,CAAMpC,KAAK;QACnB;QAEA,oBACEG,KAAA,CAAC;UACCN,SAAA,EAAW,GAAGX,SAAA,WAAoBA,SAAA,WAAoBkD,OAAA,CAAMtC,GAAG,EAAE;kCAGjEW,IAAA,CAAC;YAAIZ,SAAA,EAAW,GAAGX,SAAA,eAAwB;sBAAGyE;cAC7CvB,OAAA,CAAME,KAAK,CAACH,GAAG,CAAC,CAAC9C,MAAA,EAAMuE,EAAA,kBACtBnD,IAAA,CAACtB,aAAA;YACC0E,KAAA,EAAOD,EAAA;YACPxE,UAAA,EAAYkE,eAAA,KAAoBjE,MAAA,CAAKS,GAAG;YACxCT,IAAA,EAAMA,MAAA;YAENC,OAAA,EAASA,CAAA;cACPkE,kBAAA,CAAmBnE,MAAA,CAAKS,GAAG;cAC3ByD,oBAAA,CAAqBlE,MAAA;YACvB;YACAE,YAAA,EAAcA,CAAA;cACZiE,kBAAA,CAAmBnE,MAAA,CAAKS,GAAG;YAC7B;YACAN,GAAA,EAAMsE,EAAA;cACFzE,MAAA,CAA+BG,GAAG,GAAG;gBAAEiE,OAAA,EAASK;cAAG;YACvD;aAVKzE,MAAA,CAAKS,GAAG;WARZsC,OAAA,CAAMtC,GAAG;MAuBpB;QAEFuD,gBAAA,CAAiBI,OAAO,IAE1B;IAENM,aAAA,EAAe/C,cAAA;IACfgD,SAAA,EAAW9C;;AAGjB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useLexicalComposerContext","useTranslation","useCallback","useMemo","useState","React","ReactDOM","useEditorConfigContext","LexicalTypeaheadMenuPlugin","useMenuTriggerMatch","baseClass","SlashMenuItem","isSelected","item","onClick","onMouseEnter","ref","fieldProps","featureClientSchemaMap","schemaPath","i18n","className","key","title","label","length","substring","_jsxs","id","role","tabIndex","type","Icon","_jsx","SlashMenuPlugin","anchorElem","document","body","editor","queryString","setQueryString","editorConfig","checkForTriggerMatch","minLength","getDynamicItems","groupWithItems","dynamicItem","features","slashMenu","dynamicGroups","dynamicGroupWithItems","concat","groups","groupsWithItems","groupWithItem","push","normalizedQuery","toLowerCase","replace","map","group","filteredItems","items","filter","itemTitle","RegExp","exec","normalizedTitle","includes","keywords","some","keyword","normalizedKeyword","dynamicItemGroups","dynamicGroup","find","menuRenderFn","anchorElementRef","selectedItemKey","selectItemAndCleanUp","setSelectedItemKey","current","createPortal","groupTitle","oi","index","el","onQueryChange","triggerFn"],"sources":["../../../../src/lexical/plugins/SlashMenu/index.tsx"],"sourcesContent":["'use client'\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useTranslation } from '@payloadcms/ui'\nimport { useCallback, useMemo, useState } from 'react'\nimport * as React from 'react'\nimport * as ReactDOM from 'react-dom'\n\nimport type {\n SlashMenuGroup,\n SlashMenuGroupInternal,\n SlashMenuItemInternal,\n SlashMenuItem as SlashMenuItemType,\n} from './LexicalTypeaheadMenuPlugin/types.js'\n\nimport { useEditorConfigContext } from '../../config/client/EditorConfigProvider.js'\nimport './index.css'\nimport { LexicalTypeaheadMenuPlugin } from './LexicalTypeaheadMenuPlugin/index.js'\nimport { useMenuTriggerMatch } from './useMenuTriggerMatch.js'\n\nconst baseClass = 'slash-menu-popup'\n\nfunction SlashMenuItem({\n isSelected,\n item,\n onClick,\n onMouseEnter,\n ref,\n}: {\n index: number\n isSelected: boolean\n item: SlashMenuItemInternal\n onClick: () => void\n onMouseEnter: () => void\n ref?: React.Ref<HTMLButtonElement>\n}) {\n const {\n fieldProps: { featureClientSchemaMap, schemaPath },\n } = useEditorConfigContext()\n\n const { i18n } = useTranslation<{}, string>()\n\n let className = `${baseClass}__item ${baseClass}__item-${item.key}`\n if (isSelected) {\n className += ` ${baseClass}__item--selected`\n }\n\n let title = 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 title = title.substring(0, 25) + '...'\n }\n\n return (\n <button\n aria-selected={isSelected}\n className={className}\n id={baseClass + '__item-' + item.key}\n key={item.key}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n ref={ref}\n role=\"option\"\n tabIndex={-1}\n type=\"button\"\n >\n {item?.Icon && <item.Icon />}\n\n <span className={`${baseClass}__item-text`}>{title}</span>\n </button>\n )\n}\n\nexport function SlashMenuPlugin({\n anchorElem = document.body,\n}: {\n anchorElem?: HTMLElement\n}): React.ReactElement {\n const [editor] = useLexicalComposerContext()\n const [queryString, setQueryString] = useState<null | string>(null)\n const { editorConfig } = useEditorConfigContext()\n const { i18n } = useTranslation<{}, string>()\n const {\n fieldProps: { featureClientSchemaMap, schemaPath },\n } = useEditorConfigContext()\n\n const checkForTriggerMatch = useMenuTriggerMatch('/', {\n minLength: 0,\n })\n\n const getDynamicItems = useCallback(() => {\n let groupWithItems: Array<SlashMenuGroup> = []\n\n for (const dynamicItem of editorConfig.features.slashMenu.dynamicGroups) {\n if (queryString) {\n const dynamicGroupWithItems = dynamicItem({\n editor,\n queryString,\n })\n groupWithItems = groupWithItems.concat(dynamicGroupWithItems)\n }\n }\n\n return groupWithItems\n }, [editor, queryString, editorConfig?.features])\n\n const groups: SlashMenuGroup[] = useMemo(() => {\n let groupsWithItems: SlashMenuGroup[] = []\n for (const groupWithItem of editorConfig?.features.slashMenu.groups ?? []) {\n groupsWithItems.push(groupWithItem)\n }\n\n if (queryString) {\n // Normalize query string for flexible matching (remove spaces, hyphens, underscores)\n const normalizedQuery = queryString.toLowerCase().replace(/[\\s\\-_]/g, '')\n\n // Filter current groups first\n // @ts-expect-error - TODO: fix this\n groupsWithItems = groupsWithItems.map((group) => {\n const filteredItems = group.items.filter((item) => {\n let itemTitle = item.key\n if (item.label) {\n itemTitle =\n typeof item.label === 'function'\n ? item.label({ featureClientSchemaMap, i18n, schemaPath })\n : item.label\n }\n\n if (new RegExp(queryString, 'gi').exec(itemTitle)) {\n return true\n }\n\n // Try normalized match (allows \"nestedcontent\" to match \"Nested Content\")\n const normalizedTitle = itemTitle.toLowerCase().replace(/[\\s\\-_]/g, '')\n if (normalizedTitle.includes(normalizedQuery)) {\n return true\n }\n\n if (item.keywords != null) {\n return item.keywords.some((keyword) => {\n if (new RegExp(queryString, 'gi').exec(keyword)) {\n return true\n }\n const normalizedKeyword = keyword.toLowerCase().replace(/[\\s\\-_]/g, '')\n return normalizedKeyword.includes(normalizedQuery)\n })\n }\n return false\n })\n if (filteredItems.length) {\n return {\n ...group,\n items: filteredItems,\n }\n }\n return null\n })\n\n groupsWithItems = groupsWithItems.filter((group) => group != null)\n\n // Now add dynamic groups\n const dynamicItemGroups = getDynamicItems()\n\n // merge dynamic items into groups\n for (const dynamicGroup of dynamicItemGroups) {\n // 1. find the group with the same name or create new one\n let group = groupsWithItems.find((group) => group.key === dynamicGroup.key)\n if (!group) {\n group = {\n ...dynamicGroup,\n items: [],\n }\n } else {\n groupsWithItems = groupsWithItems.filter((group) => group.key !== dynamicGroup.key)\n }\n\n // 2. Add items to group items array and add to sanitized.slashMenu.groupsWithItems\n if (group?.items?.length) {\n group.items = group.items.concat(group.items)\n }\n groupsWithItems.push(group)\n }\n }\n\n return groupsWithItems\n }, [\n queryString,\n editorConfig?.features.slashMenu.groups,\n getDynamicItems,\n featureClientSchemaMap,\n i18n,\n schemaPath,\n ])\n\n return (\n <LexicalTypeaheadMenuPlugin\n anchorElem={anchorElem}\n groups={groups as SlashMenuGroupInternal[]}\n menuRenderFn={(\n anchorElementRef,\n { selectedItemKey, selectItemAndCleanUp, setSelectedItemKey },\n ) =>\n anchorElementRef.current && groups.length\n ? ReactDOM.createPortal(\n <div className={baseClass} data-theme=\"dark\">\n {groups.map((group) => {\n let groupTitle = group.key\n if (group.label && featureClientSchemaMap) {\n groupTitle =\n typeof group.label === 'function'\n ? group.label({ featureClientSchemaMap, i18n, schemaPath })\n : group.label\n }\n\n return (\n <div\n className={`${baseClass}__group ${baseClass}__group-${group.key}`}\n key={group.key}\n >\n <div className={`${baseClass}__group-title`}>{groupTitle}</div>\n {group.items.map((item, oi: number) => (\n <SlashMenuItem\n index={oi}\n isSelected={selectedItemKey === item.key}\n item={item as SlashMenuItemInternal}\n key={item.key}\n onClick={() => {\n setSelectedItemKey(item.key)\n selectItemAndCleanUp(item)\n }}\n onMouseEnter={() => {\n setSelectedItemKey(item.key)\n }}\n ref={(el) => {\n ;(item as SlashMenuItemInternal).ref = { current: el }\n }}\n />\n ))}\n </div>\n )\n })}\n </div>,\n anchorElementRef.current,\n )\n : null\n }\n onQueryChange={setQueryString}\n triggerFn={checkForTriggerMatch}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ @layer payload-default {
2
+ .add-block-menu {
3
+ all: unset;
4
+ border-radius: var(--radius-medium);
5
+ padding: 0;
6
+ cursor: pointer;
7
+ opacity: 0;
8
+ position: absolute;
9
+ left: 0;
10
+ top: 0;
11
+ will-change: transform;
12
+
13
+ &:hover {
14
+ background-color: var(--color-bg-hover);
15
+ .icon {
16
+ opacity: 1;
17
+ }
18
+ }
19
+
20
+ &:active {
21
+ background-color: var(--color-bg-transparent-pressed);
22
+ }
23
+
24
+ .icon {
25
+ width: var(--spacer-3);
26
+ height: var(--spacer-4);
27
+ opacity: 0.3;
28
+ background-image: url(../../../ui/icons/Add/index.svg);
29
+ background-size: contain;
30
+ background-repeat: no-repeat;
31
+ background-position: center;
32
+ }
33
+
34
+ html[data-theme='dark'] & {
35
+ .icon {
36
+ background-image: url(../../../ui/icons/Add/light.svg);
37
+ }
38
+ }
39
+ }
40
+ }
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import './index.scss';
2
+ import './index.css';
3
3
  export declare function AddBlockHandlePlugin({ anchorElem, }: {
4
4
  anchorElem?: HTMLElement;
5
5
  }): React.ReactElement;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/handles/AddBlockHandlePlugin/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,OAAO,cAAc,CAAA;AA4LrB,wBAAgB,oBAAoB,CAAC,EACnC,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,KAAK,CAAC,YAAY,CAGrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/handles/AddBlockHandlePlugin/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,OAAO,aAAa,CAAA;AA4LpB,wBAAgB,oBAAoB,CAAC,EACnC,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,KAAK,CAAC,YAAY,CAGrB"}
@@ -14,6 +14,7 @@ import { getNodeCloseToPoint } from '../utils/getNodeCloseToPoint.js';
14
14
  import { getTopLevelNodeKeys } from '../utils/getTopLevelNodeKeys.js';
15
15
  import { isOnHandleElement } from '../utils/isOnHandleElement.js';
16
16
  import { setHandlePosition } from '../utils/setHandlePosition.js';
17
+ import './index.css';
17
18
  const ADD_BLOCK_MENU_CLASSNAME = 'add-block-menu';
18
19
  let prevIndex = Infinity;
19
20
  function getCurrentIndex(keysLength) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useLexicalComposerContext","$createParagraphNode","isHTMLElement","React","useCallback","useEffect","useRef","useState","createPortal","useEditorConfigContext","Point","ENABLE_SLASH_MENU_COMMAND","calculateDistanceFromScrollerElem","getNodeCloseToPoint","getTopLevelNodeKeys","isOnHandleElement","setHandlePosition","ADD_BLOCK_MENU_CLASSNAME","prevIndex","Infinity","getCurrentIndex","keysLength","Math","floor","useAddBlockHandle","editor","anchorElem","isEditable","scrollerElem","parentElement","editorConfig","blockHandleHorizontalOffset","admin","hideGutter","menuRef","hoveredElement","setHoveredElement","onDocumentMouseMove","event","target","distanceFromScrollerElem","pageX","pageY","topLevelNodeKeys","blockElem","_emptyBlockElem","blockNode","foundAtIndex","cache_threshold","horizontalOffset","point","x","y","returnEmptyParagraphs","startIndex","length","useEdgeAsDefault","node","elem","document","addEventListener","removeEventListener","current","handleAddClick","hoveredElementToUse","update","isEmptyParagraph","getType","getTextContent","newParagraph","insertAfter","setTimeout","getElementByKey","getKey","focus","select","dispatchCommand","stopPropagation","preventDefault","_jsx","Fragment","className","onClick","ref","type","AddBlockHandlePlugin","t0","t1","undefined","body","_editable"],"sources":["../../../../../src/lexical/plugins/handles/AddBlockHandlePlugin/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor, LexicalNode, ParagraphNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $createParagraphNode, isHTMLElement } from 'lexical'\nimport * as React from 'react'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useEditorConfigContext } from '../../../config/client/EditorConfigProvider.js'\nimport { Point } from '../../../utils/point.js'\nimport { ENABLE_SLASH_MENU_COMMAND } from '../../SlashMenu/LexicalTypeaheadMenuPlugin/index.js'\nimport { calculateDistanceFromScrollerElem } from '../utils/calculateDistanceFromScrollerElem.js'\nimport { getNodeCloseToPoint } from '../utils/getNodeCloseToPoint.js'\nimport { getTopLevelNodeKeys } from '../utils/getTopLevelNodeKeys.js'\nimport { isOnHandleElement } from '../utils/isOnHandleElement.js'\nimport { setHandlePosition } from '../utils/setHandlePosition.js'\nimport './index.scss'\n\nconst ADD_BLOCK_MENU_CLASSNAME = 'add-block-menu'\n\nlet prevIndex = Infinity\n\nfunction getCurrentIndex(keysLength: number): number {\n if (keysLength === 0) {\n return Infinity\n }\n if (prevIndex >= 0 && prevIndex < keysLength) {\n return prevIndex\n }\n\n return Math.floor(keysLength / 2)\n}\n\nfunction useAddBlockHandle(\n editor: LexicalEditor,\n anchorElem: HTMLElement,\n isEditable: boolean,\n): React.ReactElement {\n const scrollerElem = anchorElem.parentElement\n\n const { editorConfig } = useEditorConfigContext()\n const blockHandleHorizontalOffset = editorConfig?.admin?.hideGutter ? -24 : 12\n\n const menuRef = useRef<HTMLButtonElement>(null)\n const [hoveredElement, setHoveredElement] = useState<{\n elem: HTMLElement\n node: LexicalNode\n } | null>(null)\n\n useEffect(() => {\n function onDocumentMouseMove(event: MouseEvent) {\n const target = event.target\n if (!isHTMLElement(target)) {\n return\n }\n\n const distanceFromScrollerElem = calculateDistanceFromScrollerElem(\n scrollerElem,\n event.pageX,\n event.pageY,\n target,\n )\n\n if (distanceFromScrollerElem === -1) {\n setHoveredElement(null)\n return\n }\n\n if (isOnHandleElement(target, ADD_BLOCK_MENU_CLASSNAME)) {\n return\n }\n const topLevelNodeKeys = getTopLevelNodeKeys(editor)\n\n const {\n blockElem: _emptyBlockElem,\n blockNode,\n foundAtIndex,\n } = getNodeCloseToPoint({\n anchorElem,\n cache_threshold: 0,\n editor,\n horizontalOffset: -distanceFromScrollerElem,\n point: new Point(event.x, event.y),\n returnEmptyParagraphs: true,\n startIndex: getCurrentIndex(topLevelNodeKeys.length),\n useEdgeAsDefault: false,\n })\n\n prevIndex = foundAtIndex\n\n if (!_emptyBlockElem) {\n return\n }\n if (\n blockNode &&\n (hoveredElement?.node !== blockNode || hoveredElement?.elem !== _emptyBlockElem)\n ) {\n setHoveredElement({\n elem: _emptyBlockElem,\n node: blockNode,\n })\n }\n }\n\n // Since the draggableBlockElem is outside the actual editor, we need to listen to the document\n // to be able to detect when the mouse is outside the editor and respect a buffer around\n // the scrollerElem to avoid the draggableBlockElem disappearing too early.\n document?.addEventListener('mousemove', onDocumentMouseMove)\n\n return () => {\n document?.removeEventListener('mousemove', onDocumentMouseMove)\n }\n }, [scrollerElem, anchorElem, editor, hoveredElement])\n\n useEffect(() => {\n if (menuRef.current && hoveredElement?.node) {\n setHandlePosition(\n hoveredElement?.elem,\n menuRef.current,\n anchorElem,\n blockHandleHorizontalOffset,\n )\n }\n }, [anchorElem, hoveredElement, blockHandleHorizontalOffset])\n\n const handleAddClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n let hoveredElementToUse = hoveredElement\n if (!hoveredElementToUse?.node) {\n return\n }\n\n // 1. Update hoveredElement.node to a new paragraph node if the hoveredElement.node is not a paragraph node\n editor.update(() => {\n // Check if blockNode is an empty text node\n let isEmptyParagraph = true\n if (\n hoveredElementToUse?.node.getType() !== 'paragraph' ||\n hoveredElementToUse.node.getTextContent() !== ''\n ) {\n isEmptyParagraph = false\n }\n\n if (!isEmptyParagraph) {\n const newParagraph = $createParagraphNode()\n hoveredElementToUse?.node.insertAfter(newParagraph)\n\n setTimeout(() => {\n hoveredElementToUse = {\n elem: editor.getElementByKey(newParagraph.getKey())!,\n node: newParagraph,\n }\n setHoveredElement(hoveredElementToUse)\n }, 0)\n }\n })\n\n // 2. Focus on the new paragraph node\n setTimeout(() => {\n editor.update(() => {\n editor.focus()\n\n if (\n hoveredElementToUse?.node &&\n 'select' in hoveredElementToUse.node &&\n typeof hoveredElementToUse.node.select === 'function'\n ) {\n hoveredElementToUse.node.select()\n }\n })\n }, 1)\n\n // Make sure this is called AFTER the focusing has been processed by the browser\n // Otherwise, this won't work\n setTimeout(() => {\n editor.dispatchCommand(ENABLE_SLASH_MENU_COMMAND, {\n node: hoveredElementToUse?.node as ParagraphNode,\n })\n }, 2)\n\n event.stopPropagation()\n event.preventDefault()\n },\n [editor, hoveredElement],\n )\n\n return createPortal(\n <React.Fragment>\n <button\n aria-label=\"Add block\"\n className=\"icon add-block-menu\"\n onClick={(event) => {\n handleAddClick(event)\n }}\n ref={menuRef}\n type=\"button\"\n >\n <div className={isEditable ? 'icon' : ''} />\n </button>\n </React.Fragment>,\n anchorElem,\n )\n}\n\nexport function AddBlockHandlePlugin({\n anchorElem = document.body,\n}: {\n anchorElem?: HTMLElement\n}): React.ReactElement {\n const [editor] = useLexicalComposerContext()\n return useAddBlockHandle(editor, anchorElem, editor._editable)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useLexicalComposerContext","$createParagraphNode","isHTMLElement","React","useCallback","useEffect","useRef","useState","createPortal","useEditorConfigContext","Point","ENABLE_SLASH_MENU_COMMAND","calculateDistanceFromScrollerElem","getNodeCloseToPoint","getTopLevelNodeKeys","isOnHandleElement","setHandlePosition","ADD_BLOCK_MENU_CLASSNAME","prevIndex","Infinity","getCurrentIndex","keysLength","Math","floor","useAddBlockHandle","editor","anchorElem","isEditable","scrollerElem","parentElement","editorConfig","blockHandleHorizontalOffset","admin","hideGutter","menuRef","hoveredElement","setHoveredElement","onDocumentMouseMove","event","target","distanceFromScrollerElem","pageX","pageY","topLevelNodeKeys","blockElem","_emptyBlockElem","blockNode","foundAtIndex","cache_threshold","horizontalOffset","point","x","y","returnEmptyParagraphs","startIndex","length","useEdgeAsDefault","node","elem","document","addEventListener","removeEventListener","current","handleAddClick","hoveredElementToUse","update","isEmptyParagraph","getType","getTextContent","newParagraph","insertAfter","setTimeout","getElementByKey","getKey","focus","select","dispatchCommand","stopPropagation","preventDefault","_jsx","Fragment","className","onClick","ref","type","AddBlockHandlePlugin","t0","t1","undefined","body","_editable"],"sources":["../../../../../src/lexical/plugins/handles/AddBlockHandlePlugin/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor, LexicalNode, ParagraphNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $createParagraphNode, isHTMLElement } from 'lexical'\nimport * as React from 'react'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useEditorConfigContext } from '../../../config/client/EditorConfigProvider.js'\nimport { Point } from '../../../utils/point.js'\nimport { ENABLE_SLASH_MENU_COMMAND } from '../../SlashMenu/LexicalTypeaheadMenuPlugin/index.js'\nimport { calculateDistanceFromScrollerElem } from '../utils/calculateDistanceFromScrollerElem.js'\nimport { getNodeCloseToPoint } from '../utils/getNodeCloseToPoint.js'\nimport { getTopLevelNodeKeys } from '../utils/getTopLevelNodeKeys.js'\nimport { isOnHandleElement } from '../utils/isOnHandleElement.js'\nimport { setHandlePosition } from '../utils/setHandlePosition.js'\nimport './index.css'\n\nconst ADD_BLOCK_MENU_CLASSNAME = 'add-block-menu'\n\nlet prevIndex = Infinity\n\nfunction getCurrentIndex(keysLength: number): number {\n if (keysLength === 0) {\n return Infinity\n }\n if (prevIndex >= 0 && prevIndex < keysLength) {\n return prevIndex\n }\n\n return Math.floor(keysLength / 2)\n}\n\nfunction useAddBlockHandle(\n editor: LexicalEditor,\n anchorElem: HTMLElement,\n isEditable: boolean,\n): React.ReactElement {\n const scrollerElem = anchorElem.parentElement\n\n const { editorConfig } = useEditorConfigContext()\n const blockHandleHorizontalOffset = editorConfig?.admin?.hideGutter ? -24 : 12\n\n const menuRef = useRef<HTMLButtonElement>(null)\n const [hoveredElement, setHoveredElement] = useState<{\n elem: HTMLElement\n node: LexicalNode\n } | null>(null)\n\n useEffect(() => {\n function onDocumentMouseMove(event: MouseEvent) {\n const target = event.target\n if (!isHTMLElement(target)) {\n return\n }\n\n const distanceFromScrollerElem = calculateDistanceFromScrollerElem(\n scrollerElem,\n event.pageX,\n event.pageY,\n target,\n )\n\n if (distanceFromScrollerElem === -1) {\n setHoveredElement(null)\n return\n }\n\n if (isOnHandleElement(target, ADD_BLOCK_MENU_CLASSNAME)) {\n return\n }\n const topLevelNodeKeys = getTopLevelNodeKeys(editor)\n\n const {\n blockElem: _emptyBlockElem,\n blockNode,\n foundAtIndex,\n } = getNodeCloseToPoint({\n anchorElem,\n cache_threshold: 0,\n editor,\n horizontalOffset: -distanceFromScrollerElem,\n point: new Point(event.x, event.y),\n returnEmptyParagraphs: true,\n startIndex: getCurrentIndex(topLevelNodeKeys.length),\n useEdgeAsDefault: false,\n })\n\n prevIndex = foundAtIndex\n\n if (!_emptyBlockElem) {\n return\n }\n if (\n blockNode &&\n (hoveredElement?.node !== blockNode || hoveredElement?.elem !== _emptyBlockElem)\n ) {\n setHoveredElement({\n elem: _emptyBlockElem,\n node: blockNode,\n })\n }\n }\n\n // Since the draggableBlockElem is outside the actual editor, we need to listen to the document\n // to be able to detect when the mouse is outside the editor and respect a buffer around\n // the scrollerElem to avoid the draggableBlockElem disappearing too early.\n document?.addEventListener('mousemove', onDocumentMouseMove)\n\n return () => {\n document?.removeEventListener('mousemove', onDocumentMouseMove)\n }\n }, [scrollerElem, anchorElem, editor, hoveredElement])\n\n useEffect(() => {\n if (menuRef.current && hoveredElement?.node) {\n setHandlePosition(\n hoveredElement?.elem,\n menuRef.current,\n anchorElem,\n blockHandleHorizontalOffset,\n )\n }\n }, [anchorElem, hoveredElement, blockHandleHorizontalOffset])\n\n const handleAddClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n let hoveredElementToUse = hoveredElement\n if (!hoveredElementToUse?.node) {\n return\n }\n\n // 1. Update hoveredElement.node to a new paragraph node if the hoveredElement.node is not a paragraph node\n editor.update(() => {\n // Check if blockNode is an empty text node\n let isEmptyParagraph = true\n if (\n hoveredElementToUse?.node.getType() !== 'paragraph' ||\n hoveredElementToUse.node.getTextContent() !== ''\n ) {\n isEmptyParagraph = false\n }\n\n if (!isEmptyParagraph) {\n const newParagraph = $createParagraphNode()\n hoveredElementToUse?.node.insertAfter(newParagraph)\n\n setTimeout(() => {\n hoveredElementToUse = {\n elem: editor.getElementByKey(newParagraph.getKey())!,\n node: newParagraph,\n }\n setHoveredElement(hoveredElementToUse)\n }, 0)\n }\n })\n\n // 2. Focus on the new paragraph node\n setTimeout(() => {\n editor.update(() => {\n editor.focus()\n\n if (\n hoveredElementToUse?.node &&\n 'select' in hoveredElementToUse.node &&\n typeof hoveredElementToUse.node.select === 'function'\n ) {\n hoveredElementToUse.node.select()\n }\n })\n }, 1)\n\n // Make sure this is called AFTER the focusing has been processed by the browser\n // Otherwise, this won't work\n setTimeout(() => {\n editor.dispatchCommand(ENABLE_SLASH_MENU_COMMAND, {\n node: hoveredElementToUse?.node as ParagraphNode,\n })\n }, 2)\n\n event.stopPropagation()\n event.preventDefault()\n },\n [editor, hoveredElement],\n )\n\n return createPortal(\n <React.Fragment>\n <button\n aria-label=\"Add block\"\n className=\"icon add-block-menu\"\n onClick={(event) => {\n handleAddClick(event)\n }}\n ref={menuRef}\n type=\"button\"\n >\n <div className={isEditable ? 'icon' : ''} />\n </button>\n </React.Fragment>,\n anchorElem,\n )\n}\n\nexport function AddBlockHandlePlugin({\n anchorElem = document.body,\n}: {\n anchorElem?: HTMLElement\n}): React.ReactElement {\n const [editor] = useLexicalComposerContext()\n return useAddBlockHandle(editor, anchorElem, editor._editable)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/handles/DraggableBlockPlugin/debounce.ts"],"names":[],"mappings":"AACA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM,aAE/C,SAAS,EAAE,UAUtC"}
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/handles/DraggableBlockPlugin/debounce.ts"],"names":[],"mappings":"AACA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM,IAExD,GAAG,MAAM,SAAS,EAAE,UAUtC"}