@payloadcms/richtext-lexical 3.0.0-beta.4 → 3.0.0-beta.40

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 (837) hide show
  1. package/dist/cell/index.d.ts +5 -2
  2. package/dist/cell/index.d.ts.map +1 -1
  3. package/dist/cell/index.js +44 -29
  4. package/dist/cell/index.js.map +1 -1
  5. package/dist/exports/components.d.ts +7 -2
  6. package/dist/exports/components.d.ts.map +1 -1
  7. package/dist/exports/components.js +7 -2
  8. package/dist/exports/components.js.map +1 -1
  9. package/dist/field/Field.d.ts +0 -2
  10. package/dist/field/Field.d.ts.map +1 -1
  11. package/dist/field/Field.js +66 -47
  12. package/dist/field/Field.js.map +1 -1
  13. package/dist/field/features/align/feature.client.d.ts +4 -1
  14. package/dist/field/features/align/feature.client.d.ts.map +1 -1
  15. package/dist/field/features/align/feature.client.js +135 -54
  16. package/dist/field/features/align/feature.client.js.map +1 -1
  17. package/dist/field/features/align/feature.server.d.ts.map +1 -1
  18. package/dist/field/features/align/feature.server.js +2 -0
  19. package/dist/field/features/align/feature.server.js.map +1 -1
  20. package/dist/field/features/align/i18n.d.ts +3 -0
  21. package/dist/field/features/align/i18n.d.ts.map +1 -0
  22. package/dist/field/features/align/i18n.js +196 -0
  23. package/dist/field/features/align/i18n.js.map +1 -0
  24. package/dist/field/features/align/toolbarAlignGroup.d.ts +3 -0
  25. package/dist/field/features/align/toolbarAlignGroup.d.ts.map +1 -0
  26. package/dist/field/features/align/toolbarAlignGroup.js +12 -0
  27. package/dist/field/features/align/toolbarAlignGroup.js.map +1 -0
  28. package/dist/field/features/blockquote/feature.client.d.ts +4 -1
  29. package/dist/field/features/blockquote/feature.client.d.ts.map +1 -1
  30. package/dist/field/features/blockquote/feature.client.js +60 -46
  31. package/dist/field/features/blockquote/feature.client.js.map +1 -1
  32. package/dist/field/features/blockquote/feature.server.d.ts +1 -1
  33. package/dist/field/features/blockquote/feature.server.d.ts.map +1 -1
  34. package/dist/field/features/blockquote/feature.server.js +9 -7
  35. package/dist/field/features/blockquote/feature.server.js.map +1 -1
  36. package/dist/field/features/blockquote/i18n.d.ts +3 -0
  37. package/dist/field/features/blockquote/i18n.d.ts.map +1 -0
  38. package/dist/field/features/blockquote/i18n.js +100 -0
  39. package/dist/field/features/blockquote/i18n.js.map +1 -0
  40. package/dist/field/features/blockquote/markdownTransformer.d.ts.map +1 -1
  41. package/dist/field/features/blockquote/markdownTransformer.js +2 -4
  42. package/dist/field/features/blockquote/markdownTransformer.js.map +1 -1
  43. package/dist/field/features/blocks/component/BlockContent.d.ts.map +1 -1
  44. package/dist/field/features/blocks/component/BlockContent.js +65 -50
  45. package/dist/field/features/blocks/component/BlockContent.js.map +1 -1
  46. package/dist/field/features/blocks/component/index.d.ts.map +1 -1
  47. package/dist/field/features/blocks/component/index.js +60 -17
  48. package/dist/field/features/blocks/component/index.js.map +1 -1
  49. package/dist/field/features/blocks/component/index.scss +0 -4
  50. package/dist/field/features/blocks/drawer/index.d.ts.map +1 -1
  51. package/dist/field/features/blocks/drawer/index.js +4 -5
  52. package/dist/field/features/blocks/drawer/index.js.map +1 -1
  53. package/dist/field/features/blocks/feature.client.d.ts +4 -1
  54. package/dist/field/features/blocks/feature.client.d.ts.map +1 -1
  55. package/dist/field/features/blocks/feature.client.js +58 -27
  56. package/dist/field/features/blocks/feature.client.js.map +1 -1
  57. package/dist/field/features/blocks/feature.server.d.ts +2 -5
  58. package/dist/field/features/blocks/feature.server.d.ts.map +1 -1
  59. package/dist/field/features/blocks/feature.server.js +111 -77
  60. package/dist/field/features/blocks/feature.server.js.map +1 -1
  61. package/dist/field/features/blocks/i18n.d.ts +3 -0
  62. package/dist/field/features/blocks/i18n.d.ts.map +1 -0
  63. package/dist/field/features/blocks/i18n.js +100 -0
  64. package/dist/field/features/blocks/i18n.js.map +1 -0
  65. package/dist/field/features/blocks/nodes/BlocksNode.d.ts +2 -4
  66. package/dist/field/features/blocks/nodes/BlocksNode.d.ts.map +1 -1
  67. package/dist/field/features/blocks/nodes/BlocksNode.js +3 -3
  68. package/dist/field/features/blocks/nodes/BlocksNode.js.map +1 -1
  69. package/dist/field/features/blocks/plugin/commands.d.ts.map +1 -1
  70. package/dist/field/features/blocks/plugin/commands.js +1 -2
  71. package/dist/field/features/blocks/plugin/commands.js.map +1 -1
  72. package/dist/field/features/blocks/plugin/index.d.ts +3 -2
  73. package/dist/field/features/blocks/plugin/index.d.ts.map +1 -1
  74. package/dist/field/features/blocks/plugin/index.js +10 -11
  75. package/dist/field/features/blocks/plugin/index.js.map +1 -1
  76. package/dist/field/features/blocks/populationPromise.d.ts.map +1 -1
  77. package/dist/field/features/blocks/populationPromise.js +5 -19
  78. package/dist/field/features/blocks/populationPromise.js.map +1 -1
  79. package/dist/field/features/blocks/validate.d.ts.map +1 -1
  80. package/dist/field/features/blocks/validate.js +22 -36
  81. package/dist/field/features/blocks/validate.js.map +1 -1
  82. package/dist/field/features/converters/html/field/index.d.ts +8 -2
  83. package/dist/field/features/converters/html/field/index.d.ts.map +1 -1
  84. package/dist/field/features/converters/html/field/index.js +36 -5
  85. package/dist/field/features/converters/html/field/index.js.map +1 -1
  86. package/dist/field/features/createFeaturePropComponent.d.ts.map +1 -1
  87. package/dist/field/features/createFeaturePropComponent.js +6 -1
  88. package/dist/field/features/createFeaturePropComponent.js.map +1 -1
  89. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.d.ts +4 -1
  90. package/dist/field/features/debug/testRecorder/feature.client.d.ts.map +1 -0
  91. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.js.map +1 -1
  92. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.d.ts.map +1 -1
  93. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.js +1 -1
  94. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.js.map +1 -1
  95. package/dist/field/features/debug/testRecorder/plugin/index.d.ts +5 -0
  96. package/dist/field/features/debug/testRecorder/plugin/index.d.ts.map +1 -0
  97. package/dist/field/features/debug/{testrecorder → testRecorder}/plugin/index.js +68 -44
  98. package/dist/field/features/debug/testRecorder/plugin/index.js.map +1 -0
  99. package/dist/field/features/debug/{treeview → treeView}/feature.client.d.ts +4 -1
  100. package/dist/field/features/debug/treeView/feature.client.d.ts.map +1 -0
  101. package/dist/field/features/debug/{treeview → treeView}/feature.client.js.map +1 -1
  102. package/dist/field/features/debug/{treeview → treeView}/feature.server.d.ts.map +1 -1
  103. package/dist/field/features/debug/{treeview → treeView}/feature.server.js +1 -1
  104. package/dist/field/features/debug/{treeview → treeView}/feature.server.js.map +1 -1
  105. package/dist/field/features/debug/treeView/plugin/index.d.ts +4 -0
  106. package/dist/field/features/debug/treeView/plugin/index.d.ts.map +1 -0
  107. package/dist/field/features/debug/{treeview → treeView}/plugin/index.js +6 -7
  108. package/dist/field/features/debug/treeView/plugin/index.js.map +1 -0
  109. package/dist/field/features/format/bold/feature.client.d.ts +4 -1
  110. package/dist/field/features/format/bold/feature.client.d.ts.map +1 -1
  111. package/dist/field/features/format/bold/feature.client.js +26 -23
  112. package/dist/field/features/format/bold/feature.client.js.map +1 -1
  113. package/dist/field/features/format/{inlinecode → inlineCode}/feature.client.d.ts +4 -1
  114. package/dist/field/features/format/inlineCode/feature.client.d.ts.map +1 -0
  115. package/dist/field/features/format/inlineCode/feature.client.js +46 -0
  116. package/dist/field/features/format/inlineCode/feature.client.js.map +1 -0
  117. package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.d.ts.map +1 -1
  118. package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.js +1 -1
  119. package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.js.map +1 -1
  120. package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.d.ts.map +1 -1
  121. package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.js.map +1 -1
  122. package/dist/field/features/format/italic/feature.client.d.ts +4 -1
  123. package/dist/field/features/format/italic/feature.client.d.ts.map +1 -1
  124. package/dist/field/features/format/italic/feature.client.js +27 -24
  125. package/dist/field/features/format/italic/feature.client.js.map +1 -1
  126. package/dist/field/features/format/shared/toolbarFormatGroup.d.ts +3 -0
  127. package/dist/field/features/format/shared/toolbarFormatGroup.d.ts.map +1 -0
  128. package/dist/field/features/format/shared/toolbarFormatGroup.js +10 -0
  129. package/dist/field/features/format/shared/toolbarFormatGroup.js.map +1 -0
  130. package/dist/field/features/format/strikethrough/feature.client.d.ts +4 -1
  131. package/dist/field/features/format/strikethrough/feature.client.d.ts.map +1 -1
  132. package/dist/field/features/format/strikethrough/feature.client.js +27 -24
  133. package/dist/field/features/format/strikethrough/feature.client.js.map +1 -1
  134. package/dist/field/features/format/subscript/feature.client.d.ts +4 -1
  135. package/dist/field/features/format/subscript/feature.client.d.ts.map +1 -1
  136. package/dist/field/features/format/subscript/feature.client.js +25 -22
  137. package/dist/field/features/format/subscript/feature.client.js.map +1 -1
  138. package/dist/field/features/format/superscript/feature.client.d.ts +4 -1
  139. package/dist/field/features/format/superscript/feature.client.d.ts.map +1 -1
  140. package/dist/field/features/format/superscript/feature.client.js +25 -22
  141. package/dist/field/features/format/superscript/feature.client.js.map +1 -1
  142. package/dist/field/features/format/underline/feature.client.d.ts +4 -1
  143. package/dist/field/features/format/underline/feature.client.d.ts.map +1 -1
  144. package/dist/field/features/format/underline/feature.client.js +25 -22
  145. package/dist/field/features/format/underline/feature.client.js.map +1 -1
  146. package/dist/field/features/heading/feature.client.d.ts +4 -1
  147. package/dist/field/features/heading/feature.client.d.ts.map +1 -1
  148. package/dist/field/features/heading/feature.client.js +76 -54
  149. package/dist/field/features/heading/feature.client.js.map +1 -1
  150. package/dist/field/features/heading/feature.server.d.ts.map +1 -1
  151. package/dist/field/features/heading/feature.server.js +7 -5
  152. package/dist/field/features/heading/feature.server.js.map +1 -1
  153. package/dist/field/features/heading/i18n.d.ts +3 -0
  154. package/dist/field/features/heading/i18n.d.ts.map +1 -0
  155. package/dist/field/features/heading/i18n.js +100 -0
  156. package/dist/field/features/heading/i18n.js.map +1 -0
  157. package/dist/field/features/heading/markdownTransformer.d.ts.map +1 -1
  158. package/dist/field/features/heading/markdownTransformer.js +1 -2
  159. package/dist/field/features/heading/markdownTransformer.js.map +1 -1
  160. package/dist/field/features/horizontalRule/component/index.d.ts +10 -0
  161. package/dist/field/features/horizontalRule/component/index.d.ts.map +1 -0
  162. package/dist/field/features/horizontalRule/component/index.js +62 -0
  163. package/dist/field/features/horizontalRule/component/index.js.map +1 -0
  164. package/dist/field/features/horizontalRule/feature.client.d.ts +6 -0
  165. package/dist/field/features/horizontalRule/feature.client.d.ts.map +1 -0
  166. package/dist/field/features/horizontalRule/feature.client.js +77 -0
  167. package/dist/field/features/horizontalRule/feature.client.js.map +1 -0
  168. package/dist/field/features/horizontalRule/feature.server.d.ts +3 -0
  169. package/dist/field/features/horizontalRule/feature.server.d.ts.map +1 -0
  170. package/dist/field/features/horizontalRule/feature.server.js +38 -0
  171. package/dist/field/features/horizontalRule/feature.server.js.map +1 -0
  172. package/dist/field/features/horizontalRule/i18n.d.ts +3 -0
  173. package/dist/field/features/horizontalRule/i18n.d.ts.map +1 -0
  174. package/dist/field/features/horizontalRule/i18n.js +100 -0
  175. package/dist/field/features/horizontalRule/i18n.js.map +1 -0
  176. package/dist/field/features/horizontalRule/markdownTransformer.d.ts +3 -0
  177. package/dist/field/features/horizontalRule/markdownTransformer.d.ts.map +1 -0
  178. package/dist/field/features/horizontalRule/markdownTransformer.js +23 -0
  179. package/dist/field/features/horizontalRule/markdownTransformer.js.map +1 -0
  180. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.d.ts +53 -0
  181. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.d.ts.map +1 -0
  182. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.js +89 -0
  183. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.js.map +1 -0
  184. package/dist/field/features/horizontalRule/plugin/index.d.ts +7 -0
  185. package/dist/field/features/horizontalRule/plugin/index.d.ts.map +1 -0
  186. package/dist/field/features/horizontalRule/plugin/index.js +31 -0
  187. package/dist/field/features/horizontalRule/plugin/index.js.map +1 -0
  188. package/dist/field/features/horizontalRule/plugin/index.scss +20 -0
  189. package/dist/field/features/indent/feature.client.d.ts +4 -1
  190. package/dist/field/features/indent/feature.client.d.ts.map +1 -1
  191. package/dist/field/features/indent/feature.client.js +47 -42
  192. package/dist/field/features/indent/feature.client.js.map +1 -1
  193. package/dist/field/features/indent/feature.server.d.ts.map +1 -1
  194. package/dist/field/features/indent/feature.server.js +2 -0
  195. package/dist/field/features/indent/feature.server.js.map +1 -1
  196. package/dist/field/features/indent/i18n.d.ts +3 -0
  197. package/dist/field/features/indent/i18n.d.ts.map +1 -0
  198. package/dist/field/features/indent/i18n.js +132 -0
  199. package/dist/field/features/indent/i18n.js.map +1 -0
  200. package/dist/field/features/indent/toolbarIndentGroup.d.ts +3 -0
  201. package/dist/field/features/indent/toolbarIndentGroup.d.ts.map +1 -0
  202. package/dist/field/features/indent/toolbarIndentGroup.js +10 -0
  203. package/dist/field/features/indent/toolbarIndentGroup.js.map +1 -0
  204. package/dist/field/features/link/drawer/baseFields.d.ts +2 -2
  205. package/dist/field/features/link/drawer/baseFields.d.ts.map +1 -1
  206. package/dist/field/features/link/drawer/baseFields.js +30 -43
  207. package/dist/field/features/link/drawer/baseFields.js.map +1 -1
  208. package/dist/field/features/link/drawer/index.js +30 -21
  209. package/dist/field/features/link/drawer/index.js.map +1 -1
  210. package/dist/field/features/link/drawer/types.d.ts +4 -2
  211. package/dist/field/features/link/drawer/types.d.ts.map +1 -1
  212. package/dist/field/features/link/drawer/types.js.map +1 -1
  213. package/dist/field/features/link/feature.client.d.ts +13 -1
  214. package/dist/field/features/link/feature.client.d.ts.map +1 -1
  215. package/dist/field/features/link/feature.client.js +65 -47
  216. package/dist/field/features/link/feature.client.js.map +1 -1
  217. package/dist/field/features/link/feature.server.d.ts +10 -5
  218. package/dist/field/features/link/feature.server.d.ts.map +1 -1
  219. package/dist/field/features/link/feature.server.js +58 -11
  220. package/dist/field/features/link/feature.server.js.map +1 -1
  221. package/dist/field/features/link/i18n.d.ts +3 -0
  222. package/dist/field/features/link/i18n.d.ts.map +1 -0
  223. package/dist/field/features/link/i18n.js +100 -0
  224. package/dist/field/features/link/i18n.js.map +1 -0
  225. package/dist/field/features/link/markdownTransformer.d.ts +6 -0
  226. package/dist/field/features/link/markdownTransformer.d.ts.map +1 -0
  227. package/dist/field/features/link/markdownTransformer.js +50 -0
  228. package/dist/field/features/link/markdownTransformer.js.map +1 -0
  229. package/dist/field/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  230. package/dist/field/features/link/nodes/AutoLinkNode.js +1 -2
  231. package/dist/field/features/link/nodes/AutoLinkNode.js.map +1 -1
  232. package/dist/field/features/link/nodes/LinkNode.d.ts +4 -4
  233. package/dist/field/features/link/nodes/LinkNode.d.ts.map +1 -1
  234. package/dist/field/features/link/nodes/LinkNode.js +6 -7
  235. package/dist/field/features/link/nodes/LinkNode.js.map +1 -1
  236. package/dist/field/features/link/plugins/autoLink/index.d.ts +3 -2
  237. package/dist/field/features/link/plugins/autoLink/index.d.ts.map +1 -1
  238. package/dist/field/features/link/plugins/autoLink/index.js +11 -12
  239. package/dist/field/features/link/plugins/autoLink/index.js.map +1 -1
  240. package/dist/field/features/link/plugins/clickableLink/index.d.ts +3 -2
  241. package/dist/field/features/link/plugins/clickableLink/index.d.ts.map +1 -1
  242. package/dist/field/features/link/plugins/clickableLink/index.js +4 -3
  243. package/dist/field/features/link/plugins/clickableLink/index.js.map +1 -1
  244. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +1 -1
  245. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js +1 -2
  246. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
  247. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  248. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +177 -135
  249. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  250. package/dist/field/features/link/plugins/floatingLinkEditor/index.d.ts +3 -4
  251. package/dist/field/features/link/plugins/floatingLinkEditor/index.d.ts.map +1 -1
  252. package/dist/field/features/link/plugins/floatingLinkEditor/index.js +2 -1
  253. package/dist/field/features/link/plugins/floatingLinkEditor/index.js.map +1 -1
  254. package/dist/field/features/link/plugins/floatingLinkEditor/index.scss +11 -3
  255. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.d.ts +1 -3
  256. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -1
  257. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js +12 -30
  258. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js.map +1 -1
  259. package/dist/field/features/link/plugins/link/index.d.ts +3 -1
  260. package/dist/field/features/link/plugins/link/index.d.ts.map +1 -1
  261. package/dist/field/features/link/plugins/link/index.js +5 -14
  262. package/dist/field/features/link/plugins/link/index.js.map +1 -1
  263. package/dist/field/features/link/populationPromise.d.ts.map +1 -1
  264. package/dist/field/features/link/populationPromise.js +11 -26
  265. package/dist/field/features/link/populationPromise.js.map +1 -1
  266. package/dist/field/features/link/validate.d.ts +5 -0
  267. package/dist/field/features/link/validate.d.ts.map +1 -0
  268. package/dist/field/features/link/validate.js +32 -0
  269. package/dist/field/features/link/validate.js.map +1 -0
  270. package/dist/field/features/lists/checklist/feature.client.d.ts +4 -1
  271. package/dist/field/features/lists/checklist/feature.client.d.ts.map +1 -1
  272. package/dist/field/features/lists/checklist/feature.client.js +69 -44
  273. package/dist/field/features/lists/checklist/feature.client.js.map +1 -1
  274. package/dist/field/features/lists/checklist/feature.server.d.ts +1 -1
  275. package/dist/field/features/lists/checklist/feature.server.d.ts.map +1 -1
  276. package/dist/field/features/lists/checklist/feature.server.js +12 -10
  277. package/dist/field/features/lists/checklist/feature.server.js.map +1 -1
  278. package/dist/field/features/lists/checklist/i18n.d.ts +3 -0
  279. package/dist/field/features/lists/checklist/i18n.d.ts.map +1 -0
  280. package/dist/field/features/lists/checklist/i18n.js +100 -0
  281. package/dist/field/features/lists/checklist/i18n.js.map +1 -0
  282. package/dist/field/features/lists/checklist/markdownTransformers.d.ts.map +1 -1
  283. package/dist/field/features/lists/checklist/markdownTransformers.js +2 -3
  284. package/dist/field/features/lists/checklist/markdownTransformers.js.map +1 -1
  285. package/dist/field/features/lists/checklist/plugin/index.d.ts +2 -2
  286. package/dist/field/features/lists/checklist/plugin/index.d.ts.map +1 -1
  287. package/dist/field/features/lists/checklist/plugin/index.js +5 -5
  288. package/dist/field/features/lists/checklist/plugin/index.js.map +1 -1
  289. package/dist/field/features/lists/htmlConverter.d.ts.map +1 -1
  290. package/dist/field/features/lists/htmlConverter.js +13 -6
  291. package/dist/field/features/lists/htmlConverter.js.map +1 -1
  292. package/dist/field/features/lists/{orderedlist → orderedList}/feature.client.d.ts +4 -1
  293. package/dist/field/features/lists/orderedList/feature.client.d.ts.map +1 -0
  294. package/dist/field/features/lists/orderedList/feature.client.js +97 -0
  295. package/dist/field/features/lists/orderedList/feature.client.js.map +1 -0
  296. package/dist/field/features/lists/orderedList/feature.server.d.ts.map +1 -0
  297. package/dist/field/features/lists/{orderedlist → orderedList}/feature.server.js +10 -8
  298. package/dist/field/features/lists/orderedList/feature.server.js.map +1 -0
  299. package/dist/field/features/lists/orderedList/i18n.d.ts +3 -0
  300. package/dist/field/features/lists/orderedList/i18n.d.ts.map +1 -0
  301. package/dist/field/features/lists/orderedList/i18n.js +100 -0
  302. package/dist/field/features/lists/orderedList/i18n.js.map +1 -0
  303. package/dist/field/features/lists/orderedList/markdownTransformer.d.ts.map +1 -0
  304. package/dist/field/features/lists/{orderedlist → orderedList}/markdownTransformer.js +2 -3
  305. package/dist/field/features/lists/orderedList/markdownTransformer.js.map +1 -0
  306. package/dist/field/features/lists/plugin/index.d.ts +2 -2
  307. package/dist/field/features/lists/plugin/index.d.ts.map +1 -1
  308. package/dist/field/features/lists/plugin/index.js +5 -5
  309. package/dist/field/features/lists/plugin/index.js.map +1 -1
  310. package/dist/field/features/lists/{common → shared}/markdown.d.ts.map +1 -1
  311. package/dist/field/features/lists/{common → shared}/markdown.js +1 -2
  312. package/dist/field/features/lists/shared/markdown.js.map +1 -0
  313. package/dist/field/features/lists/shared/slashMenuListGroup.d.ts +3 -0
  314. package/dist/field/features/lists/shared/slashMenuListGroup.d.ts.map +1 -0
  315. package/dist/field/features/lists/shared/slashMenuListGroup.js +11 -0
  316. package/dist/field/features/lists/shared/slashMenuListGroup.js.map +1 -0
  317. package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.client.d.ts +4 -1
  318. package/dist/field/features/lists/unorderedList/feature.client.d.ts.map +1 -0
  319. package/dist/field/features/lists/unorderedList/feature.client.js +97 -0
  320. package/dist/field/features/lists/unorderedList/feature.client.js.map +1 -0
  321. package/dist/field/features/lists/unorderedList/feature.server.d.ts.map +1 -0
  322. package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.server.js +9 -7
  323. package/dist/field/features/lists/unorderedList/feature.server.js.map +1 -0
  324. package/dist/field/features/lists/unorderedList/i18n.d.ts +3 -0
  325. package/dist/field/features/lists/unorderedList/i18n.d.ts.map +1 -0
  326. package/dist/field/features/lists/unorderedList/i18n.js +100 -0
  327. package/dist/field/features/lists/unorderedList/i18n.js.map +1 -0
  328. package/dist/field/features/lists/unorderedList/markdownTransformer.d.ts.map +1 -0
  329. package/dist/field/features/lists/{unorderedlist → unorderedList}/markdownTransformer.js +2 -3
  330. package/dist/field/features/lists/unorderedList/markdownTransformer.js.map +1 -0
  331. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts.map +1 -1
  332. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +2 -4
  333. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  334. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.d.ts +4 -1
  335. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.d.ts.map +1 -1
  336. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +9 -1
  337. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  338. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts +2 -4
  339. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  340. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +4 -5
  341. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  342. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.d.ts +1 -1
  343. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js +1 -1
  344. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js.map +1 -1
  345. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js +2 -2
  346. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js.map +1 -1
  347. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts.map +1 -1
  348. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js +2 -4
  349. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  350. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts.map +1 -1
  351. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js +2 -4
  352. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  353. package/dist/field/features/migrations/slateToLexical/converter/index.d.ts.map +1 -1
  354. package/dist/field/features/migrations/slateToLexical/converter/index.js +2 -1
  355. package/dist/field/features/migrations/slateToLexical/converter/index.js.map +1 -1
  356. package/dist/field/features/migrations/slateToLexical/feature.client.d.ts +4 -1
  357. package/dist/field/features/migrations/slateToLexical/feature.client.d.ts.map +1 -1
  358. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +9 -1
  359. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  360. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts +2 -4
  361. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  362. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +4 -5
  363. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  364. package/dist/field/features/paragraph/feature.client.d.ts +4 -1
  365. package/dist/field/features/paragraph/feature.client.d.ts.map +1 -1
  366. package/dist/field/features/paragraph/feature.client.js +54 -41
  367. package/dist/field/features/paragraph/feature.client.js.map +1 -1
  368. package/dist/field/features/paragraph/feature.server.d.ts.map +1 -1
  369. package/dist/field/features/paragraph/feature.server.js +2 -0
  370. package/dist/field/features/paragraph/feature.server.js.map +1 -1
  371. package/dist/field/features/paragraph/i18n.d.ts +3 -0
  372. package/dist/field/features/paragraph/i18n.d.ts.map +1 -0
  373. package/dist/field/features/paragraph/i18n.js +132 -0
  374. package/dist/field/features/paragraph/i18n.js.map +1 -0
  375. package/dist/field/features/relationship/drawer/commands.d.ts.map +1 -1
  376. package/dist/field/features/relationship/drawer/commands.js +1 -2
  377. package/dist/field/features/relationship/drawer/commands.js.map +1 -1
  378. package/dist/field/features/relationship/drawer/index.d.ts.map +1 -1
  379. package/dist/field/features/relationship/drawer/index.js +17 -15
  380. package/dist/field/features/relationship/drawer/index.js.map +1 -1
  381. package/dist/field/features/relationship/feature.client.d.ts +17 -2
  382. package/dist/field/features/relationship/feature.client.d.ts.map +1 -1
  383. package/dist/field/features/relationship/feature.client.js +51 -28
  384. package/dist/field/features/relationship/feature.client.js.map +1 -1
  385. package/dist/field/features/relationship/feature.server.d.ts +10 -1
  386. package/dist/field/features/relationship/feature.server.d.ts.map +1 -1
  387. package/dist/field/features/relationship/feature.server.js +7 -4
  388. package/dist/field/features/relationship/feature.server.js.map +1 -1
  389. package/dist/field/features/relationship/i18n.d.ts +3 -0
  390. package/dist/field/features/relationship/i18n.d.ts.map +1 -0
  391. package/dist/field/features/relationship/i18n.js +100 -0
  392. package/dist/field/features/relationship/i18n.js.map +1 -0
  393. package/dist/field/features/relationship/nodes/RelationshipNode.d.ts +4 -9
  394. package/dist/field/features/relationship/nodes/RelationshipNode.d.ts.map +1 -1
  395. package/dist/field/features/relationship/nodes/RelationshipNode.js +12 -11
  396. package/dist/field/features/relationship/nodes/RelationshipNode.js.map +1 -1
  397. package/dist/field/features/relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
  398. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js +119 -50
  399. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js.map +1 -1
  400. package/dist/field/features/relationship/plugins/index.d.ts +2 -2
  401. package/dist/field/features/relationship/plugins/index.d.ts.map +1 -1
  402. package/dist/field/features/relationship/plugins/index.js +14 -15
  403. package/dist/field/features/relationship/plugins/index.js.map +1 -1
  404. package/dist/field/features/relationship/populationPromise.d.ts +2 -1
  405. package/dist/field/features/relationship/populationPromise.d.ts.map +1 -1
  406. package/dist/field/features/relationship/populationPromise.js +25 -19
  407. package/dist/field/features/relationship/populationPromise.js.map +1 -1
  408. package/dist/field/features/shared/slashMenu/basicGroup.d.ts +3 -0
  409. package/dist/field/features/shared/slashMenu/basicGroup.d.ts.map +1 -0
  410. package/dist/field/features/shared/slashMenu/basicGroup.js +11 -0
  411. package/dist/field/features/shared/slashMenu/basicGroup.js.map +1 -0
  412. package/dist/field/features/shared/toolbar/addDropdownGroup.d.ts +3 -0
  413. package/dist/field/features/shared/toolbar/addDropdownGroup.d.ts.map +1 -0
  414. package/dist/field/features/shared/toolbar/addDropdownGroup.js +12 -0
  415. package/dist/field/features/shared/toolbar/addDropdownGroup.js.map +1 -0
  416. package/dist/field/features/shared/toolbar/featureButtonsGroup.d.ts +3 -0
  417. package/dist/field/features/shared/toolbar/featureButtonsGroup.d.ts.map +1 -0
  418. package/dist/field/features/shared/toolbar/featureButtonsGroup.js +10 -0
  419. package/dist/field/features/shared/toolbar/featureButtonsGroup.js.map +1 -0
  420. package/dist/field/features/shared/toolbar/textDropdownGroup.d.ts +3 -0
  421. package/dist/field/features/shared/toolbar/textDropdownGroup.d.ts.map +1 -0
  422. package/dist/field/features/shared/toolbar/textDropdownGroup.js +12 -0
  423. package/dist/field/features/shared/toolbar/textDropdownGroup.js.map +1 -0
  424. package/dist/field/features/toolbars/fixed/Toolbar/index.d.ts +5 -0
  425. package/dist/field/features/toolbars/fixed/Toolbar/index.d.ts.map +1 -0
  426. package/dist/field/features/toolbars/fixed/Toolbar/index.js +211 -0
  427. package/dist/field/features/toolbars/fixed/Toolbar/index.js.map +1 -0
  428. package/dist/field/features/toolbars/fixed/Toolbar/index.scss +119 -0
  429. package/dist/field/features/toolbars/fixed/feature.client.d.ts +7 -0
  430. package/dist/field/features/toolbars/fixed/feature.client.d.ts.map +1 -0
  431. package/dist/field/features/toolbars/fixed/feature.client.js +20 -0
  432. package/dist/field/features/toolbars/fixed/feature.client.js.map +1 -0
  433. package/dist/field/features/toolbars/fixed/feature.server.d.ts +19 -0
  434. package/dist/field/features/toolbars/fixed/feature.server.d.ts.map +1 -0
  435. package/dist/field/features/toolbars/fixed/feature.server.js +20 -0
  436. package/dist/field/features/toolbars/fixed/feature.server.js.map +1 -0
  437. package/dist/field/features/toolbars/inline/Toolbar/index.d.ts +4 -0
  438. package/dist/field/features/toolbars/inline/Toolbar/index.d.ts.map +1 -0
  439. package/dist/field/features/toolbars/inline/Toolbar/index.js +320 -0
  440. package/dist/field/features/toolbars/inline/Toolbar/index.js.map +1 -0
  441. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/inline/Toolbar}/index.scss +7 -11
  442. package/dist/field/features/toolbars/inline/feature.client.d.ts +6 -0
  443. package/dist/field/features/toolbars/inline/feature.client.d.ts.map +1 -0
  444. package/dist/field/features/toolbars/inline/feature.client.js +20 -0
  445. package/dist/field/features/toolbars/inline/feature.client.js.map +1 -0
  446. package/dist/field/features/toolbars/inline/feature.server.d.ts +3 -0
  447. package/dist/field/features/toolbars/inline/feature.server.d.ts.map +1 -0
  448. package/dist/field/features/toolbars/inline/feature.server.js +15 -0
  449. package/dist/field/features/toolbars/inline/feature.server.js.map +1 -0
  450. package/dist/field/features/toolbars/shared/ToolbarButton/index.d.ts +10 -0
  451. package/dist/field/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -0
  452. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarButton/index.js +34 -22
  453. package/dist/field/features/toolbars/shared/ToolbarButton/index.js.map +1 -0
  454. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarButton/index.scss +3 -1
  455. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts +23 -0
  456. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -0
  457. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarDropdown/DropDown.js +74 -100
  458. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -0
  459. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.d.ts +23 -0
  460. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -0
  461. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.js +142 -0
  462. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -0
  463. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarDropdown/index.scss +25 -13
  464. package/dist/field/features/toolbars/types.d.ts +48 -0
  465. package/dist/field/features/toolbars/types.d.ts.map +1 -0
  466. package/dist/field/features/toolbars/types.js.map +1 -0
  467. package/dist/field/features/typeUtilities.d.ts +8 -0
  468. package/dist/field/features/typeUtilities.d.ts.map +1 -0
  469. package/dist/field/features/typeUtilities.js +8 -0
  470. package/dist/field/features/typeUtilities.js.map +1 -0
  471. package/dist/field/features/types.d.ts +172 -63
  472. package/dist/field/features/types.d.ts.map +1 -1
  473. package/dist/field/features/types.js.map +1 -1
  474. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.d.ts.map +1 -1
  475. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js +32 -25
  476. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js.map +1 -1
  477. package/dist/field/features/upload/component/index.d.ts.map +1 -1
  478. package/dist/field/features/upload/component/index.js +159 -76
  479. package/dist/field/features/upload/component/index.js.map +1 -1
  480. package/dist/field/features/upload/drawer/commands.d.ts.map +1 -1
  481. package/dist/field/features/upload/drawer/commands.js +1 -2
  482. package/dist/field/features/upload/drawer/commands.js.map +1 -1
  483. package/dist/field/features/upload/drawer/index.d.ts.map +1 -1
  484. package/dist/field/features/upload/drawer/index.js +16 -16
  485. package/dist/field/features/upload/drawer/index.js.map +1 -1
  486. package/dist/field/features/upload/feature.client.d.ts +4 -1
  487. package/dist/field/features/upload/feature.client.d.ts.map +1 -1
  488. package/dist/field/features/upload/feature.client.js +52 -26
  489. package/dist/field/features/upload/feature.client.js.map +1 -1
  490. package/dist/field/features/upload/feature.server.d.ts +10 -3
  491. package/dist/field/features/upload/feature.server.d.ts.map +1 -1
  492. package/dist/field/features/upload/feature.server.js +41 -11
  493. package/dist/field/features/upload/feature.server.js.map +1 -1
  494. package/dist/field/features/upload/i18n.d.ts +3 -0
  495. package/dist/field/features/upload/i18n.d.ts.map +1 -0
  496. package/dist/field/features/upload/i18n.js +100 -0
  497. package/dist/field/features/upload/i18n.js.map +1 -0
  498. package/dist/field/features/upload/nodes/UploadNode.d.ts +3 -15
  499. package/dist/field/features/upload/nodes/UploadNode.d.ts.map +1 -1
  500. package/dist/field/features/upload/nodes/UploadNode.js +28 -14
  501. package/dist/field/features/upload/nodes/UploadNode.js.map +1 -1
  502. package/dist/field/features/upload/plugin/index.d.ts +5 -4
  503. package/dist/field/features/upload/plugin/index.d.ts.map +1 -1
  504. package/dist/field/features/upload/plugin/index.js +16 -19
  505. package/dist/field/features/upload/plugin/index.js.map +1 -1
  506. package/dist/field/features/upload/populationPromise.d.ts.map +1 -1
  507. package/dist/field/features/upload/populationPromise.js +16 -10
  508. package/dist/field/features/upload/populationPromise.js.map +1 -1
  509. package/dist/field/features/upload/validate.d.ts +2 -1
  510. package/dist/field/features/upload/validate.d.ts.map +1 -1
  511. package/dist/field/features/upload/validate.js +36 -9
  512. package/dist/field/features/upload/validate.js.map +1 -1
  513. package/dist/field/index.d.ts +3 -1
  514. package/dist/field/index.d.ts.map +1 -1
  515. package/dist/field/index.js +39 -26
  516. package/dist/field/index.js.map +1 -1
  517. package/dist/field/index.scss +1 -22
  518. package/dist/field/lexical/EditorPlugin.d.ts +1 -0
  519. package/dist/field/lexical/EditorPlugin.d.ts.map +1 -1
  520. package/dist/field/lexical/EditorPlugin.js +8 -4
  521. package/dist/field/lexical/EditorPlugin.js.map +1 -1
  522. package/dist/field/lexical/LexicalEditor.d.ts +3 -1
  523. package/dist/field/lexical/LexicalEditor.d.ts.map +1 -1
  524. package/dist/field/lexical/LexicalEditor.js +157 -74
  525. package/dist/field/lexical/LexicalEditor.js.map +1 -1
  526. package/dist/field/lexical/LexicalEditor.scss +13 -20
  527. package/dist/field/lexical/LexicalProvider.d.ts +1 -1
  528. package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
  529. package/dist/field/lexical/LexicalProvider.js +52 -41
  530. package/dist/field/lexical/LexicalProvider.js.map +1 -1
  531. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts +15 -4
  532. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  533. package/dist/field/lexical/config/client/EditorConfigProvider.js +61 -11
  534. package/dist/field/lexical/config/client/EditorConfigProvider.js.map +1 -1
  535. package/dist/field/lexical/config/client/default.d.ts +1 -1
  536. package/dist/field/lexical/config/client/default.d.ts.map +1 -1
  537. package/dist/field/lexical/config/client/default.js.map +1 -1
  538. package/dist/field/lexical/config/client/sanitize.d.ts +3 -2
  539. package/dist/field/lexical/config/client/sanitize.d.ts.map +1 -1
  540. package/dist/field/lexical/config/client/sanitize.js +83 -33
  541. package/dist/field/lexical/config/client/sanitize.js.map +1 -1
  542. package/dist/field/lexical/config/server/default.d.ts +2 -3
  543. package/dist/field/lexical/config/server/default.d.ts.map +1 -1
  544. package/dist/field/lexical/config/server/default.js +12 -10
  545. package/dist/field/lexical/config/server/default.js.map +1 -1
  546. package/dist/field/lexical/config/server/loader.d.ts +5 -2
  547. package/dist/field/lexical/config/server/loader.d.ts.map +1 -1
  548. package/dist/field/lexical/config/server/loader.js +4 -2
  549. package/dist/field/lexical/config/server/loader.js.map +1 -1
  550. package/dist/field/lexical/config/server/sanitize.d.ts +2 -1
  551. package/dist/field/lexical/config/server/sanitize.d.ts.map +1 -1
  552. package/dist/field/lexical/config/server/sanitize.js +32 -6
  553. package/dist/field/lexical/config/server/sanitize.js.map +1 -1
  554. package/dist/field/lexical/config/types.d.ts +3 -1
  555. package/dist/field/lexical/config/types.d.ts.map +1 -1
  556. package/dist/field/lexical/config/types.js.map +1 -1
  557. package/dist/field/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  558. package/dist/field/lexical/plugins/MarkdownShortcut/index.js +3 -3
  559. package/dist/field/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  560. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +10 -10
  561. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  562. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +74 -77
  563. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  564. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +5 -5
  565. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  566. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +8 -10
  567. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  568. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +19 -27
  569. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  570. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +1 -37
  571. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  572. package/dist/field/lexical/plugins/SlashMenu/index.d.ts +2 -2
  573. package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  574. package/dist/field/lexical/plugins/SlashMenu/index.js +108 -92
  575. package/dist/field/lexical/plugins/SlashMenu/index.js.map +1 -1
  576. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts +2 -2
  577. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
  578. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +47 -125
  579. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  580. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +2 -2
  581. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.d.ts +1 -1
  582. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.d.ts.map +1 -1
  583. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
  584. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts +2 -2
  585. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  586. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +116 -66
  587. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  588. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.scss +20 -3
  589. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.d.ts +8 -1
  590. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.d.ts.map +1 -1
  591. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +83 -16
  592. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  593. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts +5 -0
  594. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts.map +1 -0
  595. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js +21 -0
  596. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -0
  597. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.d.ts +9 -0
  598. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.d.ts.map +1 -0
  599. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +35 -0
  600. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -0
  601. package/dist/field/lexical/plugins/handles/{DraggableBlockPlugin → utils}/getNodeCloseToPoint.d.ts +5 -1
  602. package/dist/field/lexical/plugins/handles/utils/getNodeCloseToPoint.d.ts.map +1 -0
  603. package/dist/field/lexical/plugins/handles/{DraggableBlockPlugin → utils}/getNodeCloseToPoint.js +5 -18
  604. package/dist/field/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -0
  605. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.d.ts.map +1 -1
  606. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +1 -2
  607. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
  608. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.d.ts +1 -1
  609. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
  610. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js +19 -7
  611. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  612. package/dist/field/lexical/theme/EditorTheme.scss +18 -14
  613. package/dist/field/lexical/ui/ContentEditable.d.ts +1 -1
  614. package/dist/field/lexical/ui/ContentEditable.d.ts.map +1 -1
  615. package/dist/field/lexical/ui/ContentEditable.js +3 -3
  616. package/dist/field/lexical/ui/ContentEditable.js.map +1 -1
  617. package/dist/field/lexical/ui/ContentEditable.scss +55 -4
  618. package/dist/field/lexical/ui/icons/AI/index.js +26 -17
  619. package/dist/field/lexical/ui/icons/AI/index.js.map +1 -1
  620. package/dist/field/lexical/ui/icons/Add/index.d.ts +3 -0
  621. package/dist/field/lexical/ui/icons/Add/index.d.ts.map +1 -0
  622. package/dist/field/lexical/ui/icons/Add/index.js +21 -0
  623. package/dist/field/lexical/ui/icons/Add/index.js.map +1 -0
  624. package/dist/field/lexical/ui/icons/Add/light.svg +4 -0
  625. package/dist/field/lexical/ui/icons/AlignCenter/index.js +21 -15
  626. package/dist/field/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  627. package/dist/field/lexical/ui/icons/AlignJustify/index.js +21 -15
  628. package/dist/field/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  629. package/dist/field/lexical/ui/icons/AlignLeft/index.js +21 -15
  630. package/dist/field/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  631. package/dist/field/lexical/ui/icons/AlignRight/index.js +21 -15
  632. package/dist/field/lexical/ui/icons/AlignRight/index.js.map +1 -1
  633. package/dist/field/lexical/ui/icons/Block/index.js +30 -24
  634. package/dist/field/lexical/ui/icons/Block/index.js.map +1 -1
  635. package/dist/field/lexical/ui/icons/Blockquote/index.js +8 -6
  636. package/dist/field/lexical/ui/icons/Blockquote/index.js.map +1 -1
  637. package/dist/field/lexical/ui/icons/Bold/index.js +8 -6
  638. package/dist/field/lexical/ui/icons/Bold/index.js.map +1 -1
  639. package/dist/field/lexical/ui/icons/Checklist/index.js +19 -14
  640. package/dist/field/lexical/ui/icons/Checklist/index.js.map +1 -1
  641. package/dist/field/lexical/ui/icons/Code/index.js +14 -9
  642. package/dist/field/lexical/ui/icons/Code/index.js.map +1 -1
  643. package/dist/field/lexical/ui/icons/CodeBlock/index.js +14 -9
  644. package/dist/field/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  645. package/dist/field/lexical/ui/icons/DraggableBlock/light.svg +9 -0
  646. package/dist/field/lexical/ui/icons/H1/index.js +8 -6
  647. package/dist/field/lexical/ui/icons/H1/index.js.map +1 -1
  648. package/dist/field/lexical/ui/icons/H2/index.js +8 -6
  649. package/dist/field/lexical/ui/icons/H2/index.js.map +1 -1
  650. package/dist/field/lexical/ui/icons/H3/index.js +8 -6
  651. package/dist/field/lexical/ui/icons/H3/index.js.map +1 -1
  652. package/dist/field/lexical/ui/icons/H4/index.js +8 -6
  653. package/dist/field/lexical/ui/icons/H4/index.js.map +1 -1
  654. package/dist/field/lexical/ui/icons/H5/index.js +8 -6
  655. package/dist/field/lexical/ui/icons/H5/index.js.map +1 -1
  656. package/dist/field/lexical/ui/icons/H6/index.js +8 -6
  657. package/dist/field/lexical/ui/icons/H6/index.js.map +1 -1
  658. package/dist/field/lexical/ui/icons/HorizontalRule/index.d.ts +3 -0
  659. package/dist/field/lexical/ui/icons/HorizontalRule/index.d.ts.map +1 -0
  660. package/dist/field/lexical/ui/icons/HorizontalRule/index.js +21 -0
  661. package/dist/field/lexical/ui/icons/HorizontalRule/index.js.map +1 -0
  662. package/dist/field/lexical/ui/icons/IndentDecrease/index.js +25 -18
  663. package/dist/field/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  664. package/dist/field/lexical/ui/icons/IndentIncrease/index.js +25 -18
  665. package/dist/field/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  666. package/dist/field/lexical/ui/icons/Italic/index.js +8 -6
  667. package/dist/field/lexical/ui/icons/Italic/index.js.map +1 -1
  668. package/dist/field/lexical/ui/icons/Link/index.d.ts.map +1 -1
  669. package/dist/field/lexical/ui/icons/Link/index.js +10 -18
  670. package/dist/field/lexical/ui/icons/Link/index.js.map +1 -1
  671. package/dist/field/lexical/ui/icons/OrderedList/index.js +29 -21
  672. package/dist/field/lexical/ui/icons/OrderedList/index.js.map +1 -1
  673. package/dist/field/lexical/ui/icons/Relationship/index.js +26 -17
  674. package/dist/field/lexical/ui/icons/Relationship/index.js.map +1 -1
  675. package/dist/field/lexical/ui/icons/Strikethrough/index.js +14 -9
  676. package/dist/field/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  677. package/dist/field/lexical/ui/icons/Subscript/index.js +8 -6
  678. package/dist/field/lexical/ui/icons/Subscript/index.js.map +1 -1
  679. package/dist/field/lexical/ui/icons/Superscript/index.js +8 -6
  680. package/dist/field/lexical/ui/icons/Superscript/index.js.map +1 -1
  681. package/dist/field/lexical/ui/icons/Text/index.js +8 -6
  682. package/dist/field/lexical/ui/icons/Text/index.js.map +1 -1
  683. package/dist/field/lexical/ui/icons/Underline/index.js +14 -9
  684. package/dist/field/lexical/ui/icons/Underline/index.js.map +1 -1
  685. package/dist/field/lexical/ui/icons/UnorderedList/index.js +45 -36
  686. package/dist/field/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  687. package/dist/field/lexical/ui/icons/Upload/index.js +24 -18
  688. package/dist/field/lexical/ui/icons/Upload/index.js.map +1 -1
  689. package/dist/field/lexical/utils/getSelectedNode.d.ts.map +1 -1
  690. package/dist/field/lexical/utils/getSelectedNode.js +1 -2
  691. package/dist/field/lexical/utils/getSelectedNode.js.map +1 -1
  692. package/dist/field/lexical/utils/nodeFormat.d.ts +2 -1
  693. package/dist/field/lexical/utils/nodeFormat.d.ts.map +1 -1
  694. package/dist/field/lexical/utils/nodeFormat.js.map +1 -1
  695. package/dist/field/lexical/utils/setFloatingElemPosition.d.ts +11 -1
  696. package/dist/field/lexical/utils/setFloatingElemPosition.d.ts.map +1 -1
  697. package/dist/field/lexical/utils/setFloatingElemPosition.js +16 -13
  698. package/dist/field/lexical/utils/setFloatingElemPosition.js.map +1 -1
  699. package/dist/field/lexical/utils/url.d.ts.map +1 -1
  700. package/dist/field/lexical/utils/url.js +13 -2
  701. package/dist/field/lexical/utils/url.js.map +1 -1
  702. package/dist/forEachNodeRecursively.d.ts +10 -0
  703. package/dist/forEachNodeRecursively.d.ts.map +1 -0
  704. package/dist/forEachNodeRecursively.js +24 -0
  705. package/dist/forEachNodeRecursively.js.map +1 -0
  706. package/dist/generateComponentMap.d.ts.map +1 -1
  707. package/dist/generateComponentMap.js +21 -29
  708. package/dist/generateComponentMap.js.map +1 -1
  709. package/dist/generateSchemaMap.d.ts.map +1 -1
  710. package/dist/generateSchemaMap.js +4 -12
  711. package/dist/generateSchemaMap.js.map +1 -1
  712. package/dist/i18n.d.ts +3 -0
  713. package/dist/i18n.d.ts.map +1 -0
  714. package/dist/i18n.js +164 -0
  715. package/dist/i18n.js.map +1 -0
  716. package/dist/index.d.ts +25 -21
  717. package/dist/index.d.ts.map +1 -1
  718. package/dist/index.js +296 -183
  719. package/dist/index.js.map +1 -1
  720. package/dist/populate/defaultValue.d.ts +0 -1
  721. package/dist/populate/defaultValue.d.ts.map +1 -1
  722. package/dist/populate/defaultValue.js +1 -19
  723. package/dist/populate/defaultValue.js.map +1 -1
  724. package/dist/populate/populate.d.ts +5 -4
  725. package/dist/populate/populate.d.ts.map +1 -1
  726. package/dist/populate/populate.js +13 -11
  727. package/dist/populate/populate.js.map +1 -1
  728. package/dist/populate/populateLexicalPopulationPromises.d.ts +12 -0
  729. package/dist/populate/populateLexicalPopulationPromises.d.ts.map +1 -0
  730. package/dist/populate/populateLexicalPopulationPromises.js +36 -0
  731. package/dist/populate/populateLexicalPopulationPromises.js.map +1 -0
  732. package/dist/populate/recurseNestedFields.d.ts +8 -4
  733. package/dist/populate/recurseNestedFields.d.ts.map +1 -1
  734. package/dist/populate/recurseNestedFields.js +4 -5
  735. package/dist/populate/recurseNestedFields.js.map +1 -1
  736. package/dist/scss/app.scss +2 -3
  737. package/dist/scss/vars.scss +0 -7
  738. package/dist/types.d.ts +45 -6
  739. package/dist/types.d.ts.map +1 -1
  740. package/dist/types.js.map +1 -1
  741. package/dist/useLexicalFeature.d.ts.map +1 -1
  742. package/dist/useLexicalFeature.js +6 -1
  743. package/dist/useLexicalFeature.js.map +1 -1
  744. package/dist/validate/index.d.ts +1 -1
  745. package/dist/validate/index.d.ts.map +1 -1
  746. package/dist/validate/index.js +3 -2
  747. package/dist/validate/index.js.map +1 -1
  748. package/dist/validate/validateNodes.js +1 -1
  749. package/dist/validate/validateNodes.js.map +1 -1
  750. package/package.json +70 -50
  751. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts +0 -3
  752. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts.map +0 -1
  753. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +0 -12
  754. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js.map +0 -1
  755. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts +0 -3
  756. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts.map +0 -1
  757. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +0 -10
  758. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js.map +0 -1
  759. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts +0 -3
  760. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts.map +0 -1
  761. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +0 -12
  762. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js.map +0 -1
  763. package/dist/field/features/debug/testrecorder/feature.client.d.ts.map +0 -1
  764. package/dist/field/features/debug/testrecorder/plugin/index.d.ts +0 -5
  765. package/dist/field/features/debug/testrecorder/plugin/index.d.ts.map +0 -1
  766. package/dist/field/features/debug/testrecorder/plugin/index.js.map +0 -1
  767. package/dist/field/features/debug/treeview/feature.client.d.ts.map +0 -1
  768. package/dist/field/features/debug/treeview/plugin/index.d.ts +0 -4
  769. package/dist/field/features/debug/treeview/plugin/index.d.ts.map +0 -1
  770. package/dist/field/features/debug/treeview/plugin/index.js.map +0 -1
  771. package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts +0 -3
  772. package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts.map +0 -1
  773. package/dist/field/features/format/common/floatingSelectToolbarSection.js +0 -10
  774. package/dist/field/features/format/common/floatingSelectToolbarSection.js.map +0 -1
  775. package/dist/field/features/format/inlinecode/feature.client.d.ts.map +0 -1
  776. package/dist/field/features/format/inlinecode/feature.client.js +0 -43
  777. package/dist/field/features/format/inlinecode/feature.client.js.map +0 -1
  778. package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts +0 -3
  779. package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts.map +0 -1
  780. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +0 -10
  781. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js.map +0 -1
  782. package/dist/field/features/indent/index.scss +0 -4
  783. package/dist/field/features/lists/common/markdown.js.map +0 -1
  784. package/dist/field/features/lists/orderedlist/feature.client.d.ts.map +0 -1
  785. package/dist/field/features/lists/orderedlist/feature.client.js +0 -72
  786. package/dist/field/features/lists/orderedlist/feature.client.js.map +0 -1
  787. package/dist/field/features/lists/orderedlist/feature.server.d.ts.map +0 -1
  788. package/dist/field/features/lists/orderedlist/feature.server.js.map +0 -1
  789. package/dist/field/features/lists/orderedlist/markdownTransformer.d.ts.map +0 -1
  790. package/dist/field/features/lists/orderedlist/markdownTransformer.js.map +0 -1
  791. package/dist/field/features/lists/unorderedlist/feature.client.d.ts.map +0 -1
  792. package/dist/field/features/lists/unorderedlist/feature.client.js +0 -72
  793. package/dist/field/features/lists/unorderedlist/feature.client.js.map +0 -1
  794. package/dist/field/features/lists/unorderedlist/feature.server.d.ts.map +0 -1
  795. package/dist/field/features/lists/unorderedlist/feature.server.js.map +0 -1
  796. package/dist/field/features/lists/unorderedlist/markdownTransformer.d.ts.map +0 -1
  797. package/dist/field/features/lists/unorderedlist/markdownTransformer.js.map +0 -1
  798. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts +0 -8
  799. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts.map +0 -1
  800. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js.map +0 -1
  801. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts +0 -17
  802. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts.map +0 -1
  803. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js.map +0 -1
  804. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts +0 -18
  805. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +0 -1
  806. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +0 -42
  807. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js.map +0 -1
  808. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts +0 -6
  809. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +0 -1
  810. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +0 -270
  811. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js.map +0 -1
  812. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts +0 -40
  813. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts.map +0 -1
  814. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js.map +0 -1
  815. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.d.ts.map +0 -1
  816. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js.map +0 -1
  817. package/dist/populate/richTextRelationshipPromise.d.ts +0 -23
  818. package/dist/populate/richTextRelationshipPromise.d.ts.map +0 -1
  819. package/dist/populate/richTextRelationshipPromise.js +0 -68
  820. package/dist/populate/richTextRelationshipPromise.js.map +0 -1
  821. package/dist/scss/fonts.scss +0 -75
  822. package/src/index.ts +0 -423
  823. /package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.js +0 -0
  824. /package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.d.ts +0 -0
  825. /package/dist/field/features/debug/{testrecorder → testRecorder}/plugin/index.scss +0 -0
  826. /package/dist/field/features/debug/{treeview → treeView}/feature.client.js +0 -0
  827. /package/dist/field/features/debug/{treeview → treeView}/feature.server.d.ts +0 -0
  828. /package/dist/field/features/debug/{treeview → treeView}/plugin/index.scss +0 -0
  829. /package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.d.ts +0 -0
  830. /package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.d.ts +0 -0
  831. /package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.js +0 -0
  832. /package/dist/field/features/lists/{orderedlist → orderedList}/feature.server.d.ts +0 -0
  833. /package/dist/field/features/lists/{orderedlist → orderedList}/markdownTransformer.d.ts +0 -0
  834. /package/dist/field/features/lists/{common → shared}/markdown.d.ts +0 -0
  835. /package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.server.d.ts +0 -0
  836. /package/dist/field/features/lists/{unorderedlist → unorderedList}/markdownTransformer.d.ts +0 -0
  837. /package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars}/types.js +0 -0
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import lexicalComposerContextImport from '@lexical/react/LexicalComposerContext.js';
3
- const { useLexicalComposerContext } = lexicalComposerContextImport;
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
4
4
  import { useTranslation } from '@payloadcms/ui/providers/Translation';
5
5
  import { useCallback, useMemo, useState } from 'react';
6
6
  import * as React from 'react';
@@ -10,36 +10,40 @@ import { LexicalTypeaheadMenuPlugin } from './LexicalTypeaheadMenuPlugin/index.j
10
10
  import './index.scss';
11
11
  import { useMenuTriggerMatch } from './useMenuTriggerMatch.js';
12
12
  const baseClass = 'slash-menu-popup';
13
- function SlashMenuItem({ isSelected, onClick, onMouseEnter, option }) {
13
+ function SlashMenuItem({ isSelected, item, onClick, onMouseEnter }) {
14
14
  const { i18n } = useTranslation();
15
- let className = `${baseClass}__item ${baseClass}__item-${option.key}`;
15
+ let className = `${baseClass}__item ${baseClass}__item-${item.key}`;
16
16
  if (isSelected) {
17
17
  className += ` ${baseClass}__item--selected`;
18
18
  }
19
- let title = option.key;
20
- if (option.displayName) {
21
- title = typeof option.displayName === 'function' ? option.displayName({
19
+ let title = item.key;
20
+ if (item.label) {
21
+ title = typeof item.label === 'function' ? item.label({
22
22
  i18n
23
- }) : option.displayName;
23
+ }) : item.label;
24
24
  }
25
- // Crop title to max. 50 characters
25
+ // Crop title to max. 25 characters
26
26
  if (title.length > 25) {
27
27
  title = title.substring(0, 25) + '...';
28
28
  }
29
- return /*#__PURE__*/ React.createElement("button", {
29
+ return /*#__PURE__*/ _jsxs("button", {
30
30
  "aria-selected": isSelected,
31
31
  className: className,
32
- id: baseClass + '__item-' + option.key,
33
- key: option.key,
32
+ id: baseClass + '__item-' + item.key,
34
33
  onClick: onClick,
35
34
  onMouseEnter: onMouseEnter,
36
- ref: option.setRefElement,
37
- role: "option",
35
+ ref: item.ref,
36
+ role: "item",
38
37
  tabIndex: -1,
39
- type: "button"
40
- }, option?.Icon && /*#__PURE__*/ React.createElement(option.Icon, null), /*#__PURE__*/ React.createElement("span", {
41
- className: `${baseClass}__item-text`
42
- }, title));
38
+ type: "button",
39
+ children: [
40
+ item?.Icon && /*#__PURE__*/ _jsx(item.Icon, {}),
41
+ /*#__PURE__*/ _jsx("span", {
42
+ className: `${baseClass}__item-text`,
43
+ children: title
44
+ })
45
+ ]
46
+ }, item.key);
43
47
  }
44
48
  export function SlashMenuPlugin({ anchorElem = document.body }) {
45
49
  const [editor] = useLexicalComposerContext();
@@ -49,124 +53,136 @@ export function SlashMenuPlugin({ anchorElem = document.body }) {
49
53
  const checkForTriggerMatch = useMenuTriggerMatch('/', {
50
54
  minLength: 0
51
55
  });
52
- const getDynamicOptions = useCallback(()=>{
53
- let groupWithOptions = [];
54
- for (const dynamicOption of editorConfig.features.slashMenu.dynamicOptions){
55
- const dynamicGroupWithOptions = dynamicOption({
56
+ const getDynamicItems = useCallback(()=>{
57
+ let groupWithItems = [];
58
+ for (const dynamicItem of editorConfig.features.slashMenu.dynamicGroups){
59
+ const dynamicGroupWithItems = dynamicItem({
56
60
  editor,
57
61
  queryString
58
62
  });
59
- groupWithOptions = groupWithOptions.concat(dynamicGroupWithOptions);
63
+ groupWithItems = groupWithItems.concat(dynamicGroupWithItems);
60
64
  }
61
- return groupWithOptions;
65
+ return groupWithItems;
62
66
  }, [
63
67
  editor,
64
68
  queryString,
65
69
  editorConfig?.features
66
70
  ]);
67
71
  const groups = useMemo(()=>{
68
- let groupsWithOptions = [];
69
- for (const groupWithOption of editorConfig?.features.slashMenu.groupsWithOptions ?? []){
70
- groupsWithOptions.push(groupWithOption);
72
+ let groupsWithItems = [];
73
+ for (const groupWithItem of editorConfig?.features.slashMenu.groups ?? []){
74
+ groupsWithItems.push(groupWithItem);
71
75
  }
72
76
  if (queryString) {
73
77
  // Filter current groups first
74
- groupsWithOptions = groupsWithOptions.map((group)=>{
75
- const filteredOptions = group.options.filter((option)=>{
76
- let optionTitle = option.key;
77
- if (option.displayName) {
78
- optionTitle = typeof option.displayName === 'function' ? option.displayName({
78
+ groupsWithItems = groupsWithItems.map((group)=>{
79
+ const filteredItems = group.items.filter((item)=>{
80
+ let itemTitle = item.key;
81
+ if (item.label) {
82
+ itemTitle = typeof item.label === 'function' ? item.label({
79
83
  i18n
80
- }) : option.displayName;
84
+ }) : item.label;
81
85
  }
82
- return new RegExp(queryString, 'gi').exec(optionTitle) || option.keywords != null ? option.keywords.some((keyword)=>new RegExp(queryString, 'gi').exec(keyword)) : false;
86
+ if (new RegExp(queryString, 'gi').exec(itemTitle)) {
87
+ return true;
88
+ }
89
+ if (item.keywords != null) {
90
+ return item.keywords.some((keyword)=>new RegExp(queryString, 'gi').exec(keyword));
91
+ }
92
+ return false;
83
93
  });
84
- if (filteredOptions.length) {
94
+ if (filteredItems.length) {
85
95
  return {
86
96
  ...group,
87
- options: filteredOptions
97
+ items: filteredItems
88
98
  };
89
99
  }
90
100
  return null;
91
101
  });
92
- groupsWithOptions = groupsWithOptions.filter((group)=>group != null);
102
+ groupsWithItems = groupsWithItems.filter((group)=>group != null);
93
103
  // Now add dynamic groups
94
- const dynamicOptionGroups = getDynamicOptions();
95
- // merge dynamic options into groups
96
- for (const dynamicGroup of dynamicOptionGroups){
104
+ const dynamicItemGroups = getDynamicItems();
105
+ // merge dynamic items into groups
106
+ for (const dynamicGroup of dynamicItemGroups){
97
107
  // 1. find the group with the same name or create new one
98
- let group = groupsWithOptions.find((group)=>group.key === dynamicGroup.key);
108
+ let group = groupsWithItems.find((group)=>group.key === dynamicGroup.key);
99
109
  if (!group) {
100
110
  group = {
101
111
  ...dynamicGroup,
102
- options: []
112
+ items: []
103
113
  };
104
114
  } else {
105
- groupsWithOptions = groupsWithOptions.filter((group)=>group.key !== dynamicGroup.key);
115
+ groupsWithItems = groupsWithItems.filter((group)=>group.key !== dynamicGroup.key);
106
116
  }
107
- // 2. Add options to group options array and add to sanitized.slashMenu.groupsWithOptions
108
- if (group?.options?.length) {
109
- group.options = group.options.concat(group.options);
117
+ // 2. Add items to group items array and add to sanitized.slashMenu.groupsWithItems
118
+ if (group?.items?.length) {
119
+ group.items = group.items.concat(group.items);
110
120
  }
111
- groupsWithOptions.push(group);
121
+ groupsWithItems.push(group);
112
122
  }
113
123
  }
114
- return groupsWithOptions;
124
+ return groupsWithItems;
115
125
  }, [
116
- getDynamicOptions,
126
+ getDynamicItems,
117
127
  queryString,
118
128
  editorConfig?.features,
119
129
  i18n
120
130
  ]);
121
- const onSelectOption = useCallback((selectedOption, nodeToRemove, closeMenu, matchingString)=>{
122
- editor.update(()=>{
123
- if (nodeToRemove) {
131
+ const onSelectItem = useCallback((selectedItem, nodeToRemove, closeMenu, matchingString)=>{
132
+ if (nodeToRemove) {
133
+ editor.update(()=>{
124
134
  nodeToRemove.remove();
125
- }
126
- selectedOption.onSelect({
127
- editor,
128
- queryString: matchingString
129
135
  });
130
- closeMenu();
136
+ }
137
+ selectedItem.onSelect({
138
+ editor,
139
+ queryString: matchingString
131
140
  });
141
+ closeMenu();
132
142
  }, [
133
143
  editor
134
144
  ]);
135
- return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(LexicalTypeaheadMenuPlugin, {
136
- anchorElem: anchorElem,
137
- groupsWithOptions: groups,
138
- menuRenderFn: (anchorElementRef, { selectOptionAndCleanUp, selectedOptionKey, setSelectedOptionKey })=>anchorElementRef.current && groups.length ? /*#__PURE__*/ ReactDOM.createPortal(/*#__PURE__*/ React.createElement("div", {
139
- className: baseClass
140
- }, groups.map((group)=>{
141
- let groupTitle = group.key;
142
- if (group.displayName) {
143
- groupTitle = typeof group.displayName === 'function' ? group.displayName({
144
- i18n
145
- }) : group.displayName;
146
- }
147
- return /*#__PURE__*/ React.createElement("div", {
148
- className: `${baseClass}__group ${baseClass}__group-${group.key}`,
149
- key: group.key
150
- }, /*#__PURE__*/ React.createElement("div", {
151
- className: `${baseClass}__group-title`
152
- }, groupTitle), group.options.map((option, oi)=>/*#__PURE__*/ React.createElement(SlashMenuItem, {
153
- index: oi,
154
- isSelected: selectedOptionKey === option.key,
155
- key: option.key,
156
- onClick: ()=>{
157
- setSelectedOptionKey(option.key);
158
- selectOptionAndCleanUp(option);
159
- },
160
- onMouseEnter: ()=>{
161
- setSelectedOptionKey(option.key);
162
- },
163
- option: option
164
- })));
165
- })), anchorElementRef.current) : null,
166
- onQueryChange: setQueryString,
167
- onSelectOption: onSelectOption,
168
- triggerFn: checkForTriggerMatch
169
- }));
145
+ return /*#__PURE__*/ _jsx(React.Fragment, {
146
+ children: /*#__PURE__*/ _jsx(LexicalTypeaheadMenuPlugin, {
147
+ anchorElem: anchorElem,
148
+ groups: groups,
149
+ menuRenderFn: (anchorElementRef, { selectItemAndCleanUp, selectedItemKey, setSelectedItemKey })=>anchorElementRef.current && groups.length ? /*#__PURE__*/ ReactDOM.createPortal(/*#__PURE__*/ _jsx("div", {
150
+ className: baseClass,
151
+ children: groups.map((group)=>{
152
+ let groupTitle = group.key;
153
+ if (group.label) {
154
+ groupTitle = typeof group.label === 'function' ? group.label({
155
+ i18n
156
+ }) : group.label;
157
+ }
158
+ return /*#__PURE__*/ _jsxs("div", {
159
+ className: `${baseClass}__group ${baseClass}__group-${group.key}`,
160
+ children: [
161
+ /*#__PURE__*/ _jsx("div", {
162
+ className: `${baseClass}__group-title`,
163
+ children: groupTitle
164
+ }),
165
+ group.items.map((item, oi)=>/*#__PURE__*/ _jsx(SlashMenuItem, {
166
+ index: oi,
167
+ isSelected: selectedItemKey === item.key,
168
+ item: item,
169
+ onClick: ()=>{
170
+ setSelectedItemKey(item.key);
171
+ selectItemAndCleanUp(item);
172
+ },
173
+ onMouseEnter: ()=>{
174
+ setSelectedItemKey(item.key);
175
+ }
176
+ }, item.key))
177
+ ]
178
+ }, group.key);
179
+ })
180
+ }), anchorElementRef.current) : null,
181
+ onQueryChange: setQueryString,
182
+ onSelectItem: onSelectItem,
183
+ triggerFn: checkForTriggerMatch
184
+ })
185
+ });
170
186
  }
171
187
 
172
188
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/field/lexical/plugins/SlashMenu/index.tsx"],"sourcesContent":["'use client'\nimport type { TextNode } from 'lexical'\n\nimport lexicalComposerContextImport from '@lexical/react/LexicalComposerContext.js'\nconst { useLexicalComposerContext } = lexicalComposerContextImport\n\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { useCallback, useMemo, useState } from 'react'\nimport * as React from 'react'\nimport * as ReactDOM from 'react-dom'\n\nimport type { SlashMenuGroup, SlashMenuOption } from './LexicalTypeaheadMenuPlugin/types.js'\n\nimport { useEditorConfigContext } from '../../config/client/EditorConfigProvider.js'\nimport { LexicalTypeaheadMenuPlugin } from './LexicalTypeaheadMenuPlugin/index.js'\nimport './index.scss'\nimport { useMenuTriggerMatch } from './useMenuTriggerMatch.js'\n\nconst baseClass = 'slash-menu-popup'\n\nfunction SlashMenuItem({\n isSelected,\n onClick,\n onMouseEnter,\n option,\n}: {\n index: number\n isSelected: boolean\n onClick: () => void\n onMouseEnter: () => void\n option: SlashMenuOption\n}) {\n const { i18n } = useTranslation()\n\n let className = `${baseClass}__item ${baseClass}__item-${option.key}`\n if (isSelected) {\n className += ` ${baseClass}__item--selected`\n }\n\n let title = option.key\n if (option.displayName) {\n title =\n typeof option.displayName === 'function' ? option.displayName({ i18n }) : option.displayName\n }\n // Crop title to max. 50 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-' + option.key}\n key={option.key}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n ref={option.setRefElement}\n role=\"option\"\n tabIndex={-1}\n type=\"button\"\n >\n {option?.Icon && <option.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}): JSX.Element {\n const [editor] = useLexicalComposerContext()\n const [queryString, setQueryString] = useState<null | string>(null)\n const { editorConfig } = useEditorConfigContext()\n const { i18n } = useTranslation()\n\n const checkForTriggerMatch = useMenuTriggerMatch('/', {\n minLength: 0,\n })\n\n const getDynamicOptions = useCallback(() => {\n let groupWithOptions: Array<SlashMenuGroup> = []\n\n for (const dynamicOption of editorConfig.features.slashMenu.dynamicOptions) {\n const dynamicGroupWithOptions = dynamicOption({\n editor,\n queryString,\n })\n groupWithOptions = groupWithOptions.concat(dynamicGroupWithOptions)\n }\n\n return groupWithOptions\n }, [editor, queryString, editorConfig?.features])\n\n const groups: SlashMenuGroup[] = useMemo(() => {\n let groupsWithOptions: SlashMenuGroup[] = []\n for (const groupWithOption of editorConfig?.features.slashMenu.groupsWithOptions ?? []) {\n groupsWithOptions.push(groupWithOption)\n }\n\n if (queryString) {\n // Filter current groups first\n groupsWithOptions = groupsWithOptions.map((group) => {\n const filteredOptions = group.options.filter((option) => {\n let optionTitle = option.key\n if (option.displayName) {\n optionTitle =\n typeof option.displayName === 'function'\n ? option.displayName({ i18n })\n : option.displayName\n }\n\n return new RegExp(queryString, 'gi').exec(optionTitle) || option.keywords != null\n ? option.keywords.some((keyword) => new RegExp(queryString, 'gi').exec(keyword))\n : false\n })\n if (filteredOptions.length) {\n return {\n ...group,\n options: filteredOptions,\n }\n }\n return null\n })\n\n groupsWithOptions = groupsWithOptions.filter((group) => group != null)\n\n // Now add dynamic groups\n const dynamicOptionGroups = getDynamicOptions()\n\n // merge dynamic options into groups\n for (const dynamicGroup of dynamicOptionGroups) {\n // 1. find the group with the same name or create new one\n let group = groupsWithOptions.find((group) => group.key === dynamicGroup.key)\n if (!group) {\n group = {\n ...dynamicGroup,\n options: [],\n }\n } else {\n groupsWithOptions = groupsWithOptions.filter((group) => group.key !== dynamicGroup.key)\n }\n\n // 2. Add options to group options array and add to sanitized.slashMenu.groupsWithOptions\n if (group?.options?.length) {\n group.options = group.options.concat(group.options)\n }\n groupsWithOptions.push(group)\n }\n }\n\n return groupsWithOptions\n }, [getDynamicOptions, queryString, editorConfig?.features, i18n])\n\n const onSelectOption = useCallback(\n (\n selectedOption: SlashMenuOption,\n nodeToRemove: TextNode | null,\n closeMenu: () => void,\n matchingString: string,\n ) => {\n editor.update(() => {\n if (nodeToRemove) {\n nodeToRemove.remove()\n }\n selectedOption.onSelect({ editor, queryString: matchingString })\n closeMenu()\n })\n },\n [editor],\n )\n\n return (\n <React.Fragment>\n <LexicalTypeaheadMenuPlugin\n anchorElem={anchorElem}\n groupsWithOptions={groups}\n menuRenderFn={(\n anchorElementRef,\n { selectOptionAndCleanUp, selectedOptionKey, setSelectedOptionKey },\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.displayName) {\n groupTitle =\n typeof group.displayName === 'function'\n ? group.displayName({ i18n })\n : group.displayName\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.options.map((option, oi: number) => (\n <SlashMenuItem\n index={oi}\n isSelected={selectedOptionKey === option.key}\n key={option.key}\n onClick={() => {\n setSelectedOptionKey(option.key)\n selectOptionAndCleanUp(option)\n }}\n onMouseEnter={() => {\n setSelectedOptionKey(option.key)\n }}\n option={option}\n />\n ))}\n </div>\n )\n })}\n </div>,\n anchorElementRef.current,\n )\n : null\n }\n onQueryChange={setQueryString}\n onSelectOption={onSelectOption}\n triggerFn={checkForTriggerMatch}\n />\n </React.Fragment>\n )\n}\n"],"names":["lexicalComposerContextImport","useLexicalComposerContext","useTranslation","useCallback","useMemo","useState","React","ReactDOM","useEditorConfigContext","LexicalTypeaheadMenuPlugin","useMenuTriggerMatch","baseClass","SlashMenuItem","isSelected","onClick","onMouseEnter","option","i18n","className","key","title","displayName","length","substring","button","aria-selected","id","ref","setRefElement","role","tabIndex","type","Icon","span","SlashMenuPlugin","anchorElem","document","body","editor","queryString","setQueryString","editorConfig","checkForTriggerMatch","minLength","getDynamicOptions","groupWithOptions","dynamicOption","features","slashMenu","dynamicOptions","dynamicGroupWithOptions","concat","groups","groupsWithOptions","groupWithOption","push","map","group","filteredOptions","options","filter","optionTitle","RegExp","exec","keywords","some","keyword","dynamicOptionGroups","dynamicGroup","find","onSelectOption","selectedOption","nodeToRemove","closeMenu","matchingString","update","remove","onSelect","Fragment","menuRenderFn","anchorElementRef","selectOptionAndCleanUp","selectedOptionKey","setSelectedOptionKey","current","createPortal","div","groupTitle","oi","index","onQueryChange","triggerFn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/field/lexical/plugins/SlashMenu/index.tsx"],"sourcesContent":["'use client'\nimport type { TextNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\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 { LexicalTypeaheadMenuPlugin } from './LexicalTypeaheadMenuPlugin/index.js'\nimport './index.scss'\nimport { useMenuTriggerMatch } from './useMenuTriggerMatch.js'\n\nconst baseClass = 'slash-menu-popup'\n\nfunction SlashMenuItem({\n isSelected,\n item,\n onClick,\n onMouseEnter,\n}: {\n index: number\n isSelected: boolean\n item: SlashMenuItemInternal\n onClick: () => void\n onMouseEnter: () => void\n}) {\n const { i18n } = useTranslation()\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 = typeof item.label === 'function' ? item.label({ i18n }) : 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={item.ref}\n role=\"item\"\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()\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 const dynamicGroupWithItems = dynamicItem({\n editor,\n queryString,\n })\n groupWithItems = groupWithItems.concat(dynamicGroupWithItems)\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 // Filter current groups first\n groupsWithItems = groupsWithItems.map((group) => {\n const filteredItems = group.items.filter((item) => {\n let itemTitle = item.key\n if (item.label) {\n itemTitle = typeof item.label === 'function' ? item.label({ i18n }) : item.label\n }\n\n if (new RegExp(queryString, 'gi').exec(itemTitle)) {\n return true\n }\n if (item.keywords != null) {\n return item.keywords.some((keyword) => new RegExp(queryString, 'gi').exec(keyword))\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 }, [getDynamicItems, queryString, editorConfig?.features, i18n])\n\n const onSelectItem = useCallback(\n (\n selectedItem: SlashMenuItemType,\n nodeToRemove: TextNode | null,\n closeMenu: () => void,\n matchingString: string,\n ) => {\n if (nodeToRemove) {\n editor.update(() => {\n nodeToRemove.remove()\n })\n }\n selectedItem.onSelect({ editor, queryString: matchingString })\n\n closeMenu()\n },\n [editor],\n )\n\n return (\n <React.Fragment>\n <LexicalTypeaheadMenuPlugin\n anchorElem={anchorElem}\n groups={groups as SlashMenuGroupInternal[]}\n menuRenderFn={(\n anchorElementRef,\n { selectItemAndCleanUp, selectedItemKey, 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) {\n groupTitle =\n typeof group.label === 'function' ? group.label({ i18n }) : 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 />\n ))}\n </div>\n )\n })}\n </div>,\n anchorElementRef.current,\n )\n : null\n }\n onQueryChange={setQueryString}\n onSelectItem={onSelectItem}\n triggerFn={checkForTriggerMatch}\n />\n </React.Fragment>\n )\n}\n"],"names":["useLexicalComposerContext","useTranslation","useCallback","useMemo","useState","React","ReactDOM","useEditorConfigContext","LexicalTypeaheadMenuPlugin","useMenuTriggerMatch","baseClass","SlashMenuItem","isSelected","item","onClick","onMouseEnter","i18n","className","key","title","label","length","substring","button","aria-selected","id","ref","role","tabIndex","type","Icon","span","SlashMenuPlugin","anchorElem","document","body","editor","queryString","setQueryString","editorConfig","checkForTriggerMatch","minLength","getDynamicItems","groupWithItems","dynamicItem","features","slashMenu","dynamicGroups","dynamicGroupWithItems","concat","groups","groupsWithItems","groupWithItem","push","map","group","filteredItems","items","filter","itemTitle","RegExp","exec","keywords","some","keyword","dynamicItemGroups","dynamicGroup","find","onSelectItem","selectedItem","nodeToRemove","closeMenu","matchingString","update","remove","onSelect","Fragment","menuRenderFn","anchorElementRef","selectItemAndCleanUp","selectedItemKey","setSelectedItemKey","current","createPortal","div","groupTitle","oi","index","onQueryChange","triggerFn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,6 +1,6 @@
1
- /// <reference types="react" resolution-mode="require"/>
1
+ import * as React from 'react';
2
2
  import './index.scss';
3
3
  export declare function AddBlockHandlePlugin({ anchorElem, }: {
4
4
  anchorElem?: HTMLElement;
5
- }): JSX.Element;
5
+ }): React.ReactElement;
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/AddBlockHandlePlugin/index.tsx"],"names":[],"mappings":";AAoBA,OAAO,cAAc,CAAA;AAwSrB,wBAAgB,oBAAoB,CAAC,EACnC,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,GAAG,CAAC,OAAO,CAGd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/AddBlockHandlePlugin/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAa9B,OAAO,cAAc,CAAA;AAwLrB,wBAAgB,oBAAoB,CAAC,EACnC,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,KAAK,CAAC,YAAY,CAGrB"}
@@ -1,25 +1,21 @@
1
1
  'use client';
2
- import lexicalComposerContextImport from '@lexical/react/LexicalComposerContext.js';
3
- const { useLexicalComposerContext } = lexicalComposerContextImport;
4
- import lexicalImport from 'lexical';
5
- const { $createParagraphNode, $getNodeByKey } = lexicalImport;
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
4
+ import { $createParagraphNode } from 'lexical';
6
5
  import * as React from 'react';
7
6
  import { useCallback, useEffect, useRef, useState } from 'react';
8
7
  import { createPortal } from 'react-dom';
8
+ import { useEditorConfigContext } from '../../../config/client/EditorConfigProvider.js';
9
9
  import { isHTMLElement } from '../../../utils/guard.js';
10
10
  import { Point } from '../../../utils/point.js';
11
- import { Rect } from '../../../utils/rect.js';
12
11
  import { ENABLE_SLASH_MENU_COMMAND } from '../../SlashMenu/LexicalTypeaheadMenuPlugin/index.js';
13
- import { getCollapsedMargins } from '../utils/getCollapsedMargins.js';
12
+ import { calculateDistanceFromScrollerElem } from '../utils/calculateDistanceFromScrollerElem.js';
13
+ 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
17
  import './index.scss';
18
- const SPACE = -24;
19
18
  const ADD_BLOCK_MENU_CLASSNAME = 'add-block-menu';
20
- const Downward = 1;
21
- const Upward = -1;
22
- const Indeterminate = 0;
23
19
  let prevIndex = Infinity;
24
20
  function getCurrentIndex(keysLength) {
25
21
  if (keysLength === 0) {
@@ -30,80 +26,10 @@ function getCurrentIndex(keysLength) {
30
26
  }
31
27
  return Math.floor(keysLength / 2);
32
28
  }
33
- function getBlockElement(anchorElem, editor, event, useEdgeAsDefault = false, horizontalOffset = 0) {
34
- const anchorElementRect = anchorElem.getBoundingClientRect();
35
- const topLevelNodeKeys = getTopLevelNodeKeys(editor);
36
- let blockElem = null;
37
- let blockNode = null;
38
- // Return null if matching block element is the first or last node
39
- editor.getEditorState().read(()=>{
40
- if (useEdgeAsDefault) {
41
- const [firstNode, lastNode] = [
42
- editor.getElementByKey(topLevelNodeKeys[0]),
43
- editor.getElementByKey(topLevelNodeKeys[topLevelNodeKeys.length - 1])
44
- ];
45
- const [firstNodeRect, lastNodeRect] = [
46
- firstNode?.getBoundingClientRect(),
47
- lastNode?.getBoundingClientRect()
48
- ];
49
- if (firstNodeRect && lastNodeRect) {
50
- if (event.y < firstNodeRect.top) {
51
- blockElem = firstNode;
52
- } else if (event.y > lastNodeRect.bottom) {
53
- blockElem = lastNode;
54
- }
55
- if (blockElem) {
56
- return {
57
- blockElem: null
58
- };
59
- }
60
- }
61
- }
62
- // Find matching block element
63
- let index = getCurrentIndex(topLevelNodeKeys.length);
64
- let direction = Indeterminate;
65
- while(index >= 0 && index < topLevelNodeKeys.length){
66
- const key = topLevelNodeKeys[index];
67
- const elem = editor.getElementByKey(key);
68
- if (elem === null) {
69
- break;
70
- }
71
- const point = new Point(event.x + horizontalOffset, event.y);
72
- const domRect = Rect.fromDOM(elem);
73
- const { marginBottom, marginTop } = getCollapsedMargins(elem);
74
- const rect = domRect.generateNewRect({
75
- bottom: domRect.bottom + marginBottom,
76
- left: anchorElementRect.left,
77
- right: anchorElementRect.right,
78
- top: domRect.top - marginTop
79
- });
80
- const { reason: { isOnBottomSide, isOnTopSide }, result } = rect.contains(point);
81
- if (result) {
82
- blockElem = elem;
83
- blockNode = $getNodeByKey(key);
84
- prevIndex = index;
85
- break;
86
- }
87
- if (direction === Indeterminate) {
88
- if (isOnTopSide) {
89
- direction = Upward;
90
- } else if (isOnBottomSide) {
91
- direction = Downward;
92
- } else {
93
- // stop search block element
94
- direction = Infinity;
95
- }
96
- }
97
- index += direction;
98
- }
99
- });
100
- return {
101
- blockElem,
102
- blockNode
103
- };
104
- }
105
29
  function useAddBlockHandle(editor, anchorElem, isEditable) {
106
30
  const scrollerElem = anchorElem.parentElement;
31
+ const { editorConfig } = useEditorConfigContext();
32
+ const blockHandleHorizontalOffset = editorConfig?.admin?.hideGutter ? -24 : 12;
107
33
  const menuRef = useRef(null);
108
34
  const [hoveredElement, setHoveredElement] = useState(null);
109
35
  useEffect(()=>{
@@ -112,36 +38,35 @@ function useAddBlockHandle(editor, anchorElem, isEditable) {
112
38
  if (!isHTMLElement(target)) {
113
39
  return;
114
40
  }
115
- let distanceFromScrollerElem = 0;
116
- // Calculate distance between scrollerElem and target if target is not in scrollerElem
117
- if (scrollerElem && !scrollerElem.contains(target)) {
118
- const { bottom, left, right, top } = scrollerElem.getBoundingClientRect();
119
- const { pageX, pageY } = event;
120
- const horizontalBuffer = 50;
121
- const verticalBuffer = 25;
122
- const adjustedTop = top + window.scrollY;
123
- const adjustedBottom = bottom + window.scrollY;
124
- if (pageY < adjustedTop - verticalBuffer || pageY > adjustedBottom + verticalBuffer || pageX < left - horizontalBuffer || pageX > right + horizontalBuffer) {
125
- setHoveredElement(null);
126
- return;
127
- }
128
- // This is used to allow the _emptyBlockElem to be found when the mouse is in the
129
- // buffer zone around the scrollerElem.
130
- if (pageX < left || pageX > right) {
131
- distanceFromScrollerElem = pageX < left ? pageX - left : pageX - right;
132
- }
41
+ const distanceFromScrollerElem = calculateDistanceFromScrollerElem(scrollerElem, event.pageX, event.pageY, target);
42
+ if (distanceFromScrollerElem === -1) {
43
+ setHoveredElement(null);
44
+ return;
133
45
  }
134
46
  if (isOnHandleElement(target, ADD_BLOCK_MENU_CLASSNAME)) {
135
47
  return;
136
48
  }
137
- const { blockElem: _emptyBlockElem, blockNode } = getBlockElement(anchorElem, editor, event, false, -distanceFromScrollerElem);
49
+ const topLevelNodeKeys = getTopLevelNodeKeys(editor);
50
+ const { blockElem: _emptyBlockElem, blockNode, foundAtIndex } = getNodeCloseToPoint({
51
+ anchorElem,
52
+ cache_threshold: 0,
53
+ editor,
54
+ horizontalOffset: -distanceFromScrollerElem,
55
+ point: new Point(event.x, event.y),
56
+ returnEmptyParagraphs: true,
57
+ startIndex: getCurrentIndex(topLevelNodeKeys.length),
58
+ useEdgeAsDefault: false
59
+ });
60
+ prevIndex = foundAtIndex;
138
61
  if (!_emptyBlockElem) {
139
62
  return;
140
63
  }
141
- setHoveredElement({
142
- elem: _emptyBlockElem,
143
- node: blockNode
144
- });
64
+ if (hoveredElement?.node !== blockNode || hoveredElement?.elem !== _emptyBlockElem) {
65
+ setHoveredElement({
66
+ elem: _emptyBlockElem,
67
+ node: blockNode
68
+ });
69
+ }
145
70
  }
146
71
  // Since the draggableBlockElem is outside the actual editor, we need to listen to the document
147
72
  // to be able to detect when the mouse is outside the editor and respect a buffer around
@@ -153,23 +78,17 @@ function useAddBlockHandle(editor, anchorElem, isEditable) {
153
78
  }, [
154
79
  scrollerElem,
155
80
  anchorElem,
156
- editor
81
+ editor,
82
+ hoveredElement
157
83
  ]);
158
84
  useEffect(()=>{
159
85
  if (menuRef.current && hoveredElement?.node) {
160
- editor.getEditorState().read(()=>{
161
- // Check if blockNode is an empty text node
162
- let isEmptyParagraph = true;
163
- if (hoveredElement.node.getType() !== 'paragraph' || hoveredElement.node.getTextContent() !== '') {
164
- isEmptyParagraph = false;
165
- }
166
- setHandlePosition(hoveredElement?.elem, menuRef.current, anchorElem, isEmptyParagraph ? SPACE : SPACE - 20);
167
- });
86
+ setHandlePosition(hoveredElement?.elem, menuRef.current, anchorElem, blockHandleHorizontalOffset);
168
87
  }
169
88
  }, [
170
89
  anchorElem,
171
90
  hoveredElement,
172
- editor
91
+ blockHandleHorizontalOffset
173
92
  ]);
174
93
  const handleAddClick = useCallback((event)=>{
175
94
  let hoveredElementToUse = hoveredElement;
@@ -217,16 +136,19 @@ function useAddBlockHandle(editor, anchorElem, isEditable) {
217
136
  editor,
218
137
  hoveredElement
219
138
  ]);
220
- return /*#__PURE__*/ createPortal(/*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("button", {
221
- className: "icon add-block-menu",
222
- onClick: (event)=>{
223
- handleAddClick(event);
224
- },
225
- ref: menuRef,
226
- type: "button"
227
- }, /*#__PURE__*/ React.createElement("div", {
228
- className: isEditable ? 'icon' : ''
229
- }))), anchorElem);
139
+ return /*#__PURE__*/ createPortal(/*#__PURE__*/ _jsx(React.Fragment, {
140
+ children: /*#__PURE__*/ _jsx("button", {
141
+ className: "icon add-block-menu",
142
+ onClick: (event)=>{
143
+ handleAddClick(event);
144
+ },
145
+ ref: menuRef,
146
+ type: "button",
147
+ children: /*#__PURE__*/ _jsx("div", {
148
+ className: isEditable ? 'icon' : ''
149
+ })
150
+ })
151
+ }), anchorElem);
230
152
  }
231
153
  export function AddBlockHandlePlugin({ anchorElem = document.body }) {
232
154
  const [editor] = useLexicalComposerContext();