@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 +1 @@
1
- {"version":3,"file":"setTargetLine.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.ts"],"names":[],"mappings":";AAOA,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,WAAW,EAC3B,eAAe,EAAE,WAAW,EAC5B,mBAAmB,EAAE,WAAW,GAAG,IAAI,EACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAClD,yBAAyB,GAAE,OAAe,QAiD3C"}
1
+ {"version":3,"file":"setTargetLine.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.ts"],"names":[],"mappings":";AASA,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,WAAW,EAC3B,eAAe,EAAE,WAAW,EAC5B,eAAe,EAAE;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;CACjB,EACD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EACzD,yBAAyB,GAAE,OAAe;;;EA4I3C"}
@@ -1,16 +1,54 @@
1
1
  import { getCollapsedMargins } from '../utils/getCollapsedMargins.js';
2
- import { getBoundingClientRectWithoutTransform } from './getBoundingRectWithoutTransform.js';
3
2
  import { highlightElemOriginalPosition } from './highlightElemOriginalPosition.js';
4
3
  const TARGET_LINE_HALF_HEIGHT = 25;
5
4
  const TEXT_BOX_HORIZONTAL_PADDING = -24;
6
5
  const DEBUG = false;
7
- export function setTargetLine(SPACE, targetLineElem, targetBlockElem, lastTargetBlockElem, mouseY, anchorElem, event, debugHighlightRef, isFoundNodeEmptyParagraph = false) {
8
- const { height: targetBlockElemHeight, top: targetBlockElemTop } = getBoundingClientRectWithoutTransform(targetBlockElem);
6
+ let animationTimer = 0;
7
+ export function setTargetLine(offsetWidth, offsetLeft, targetLineElem, targetBlockElem, lastTargetBlock, mouseY, anchorElem, event, debugHighlightRef, isFoundNodeEmptyParagraph = false) {
8
+ const { height: targetBlockElemHeight, top: targetBlockElemTop } = targetBlockElem.getBoundingClientRect() // used to be getBoundingClientRectWithoutTransform. Not sure what's better, but the normal getBoundingClientRect seems to work fine
9
+ ;
9
10
  const { top: anchorTop, width: anchorWidth } = anchorElem.getBoundingClientRect();
10
11
  const { marginBottom, marginTop } = getCollapsedMargins(targetBlockElem);
11
12
  let lineTop = targetBlockElemTop;
12
13
  const isBelow = mouseY >= targetBlockElemTop + targetBlockElemHeight / 2 + window.scrollY;
13
- if (!isFoundNodeEmptyParagraph) {
14
+ let willStayInSamePosition = false;
15
+ /**
16
+ * Do not run any transform or changes if the actual new line position would be the same (even if it's now inserted BEFORE rather than AFTER - position would still be the same)
17
+ * This prevents unnecessary flickering.
18
+ *
19
+ * We still need to let it run even if the position (IGNORING the transform) would not change, as the transform animation is not finished yet. This is what animationTimer does. Otherwise, the positioning will be inaccurate
20
+ */ if (lastTargetBlock?.elem) {
21
+ if (targetBlockElem !== lastTargetBlock?.elem) {
22
+ if (isBelow && lastTargetBlock?.elem && lastTargetBlock?.elem === targetBlockElem.nextElementSibling) {
23
+ animationTimer++;
24
+ if (animationTimer < 200) {
25
+ willStayInSamePosition = true;
26
+ }
27
+ } else if (!isBelow && lastTargetBlock?.elem && lastTargetBlock?.elem === targetBlockElem.previousElementSibling) {
28
+ animationTimer++;
29
+ if (animationTimer < 200) {
30
+ willStayInSamePosition = true;
31
+ }
32
+ }
33
+ } else {
34
+ animationTimer++;
35
+ const lastBoundingBoxPosition = lastTargetBlock?.boundingBox?.y;
36
+ const currentBoundingBoxPosition = targetBlockElem.getBoundingClientRect().y;
37
+ if (isBelow === lastTargetBlock?.isBelow && lastBoundingBoxPosition === currentBoundingBoxPosition || animationTimer < 200) {
38
+ willStayInSamePosition = false;
39
+ }
40
+ }
41
+ }
42
+ if (willStayInSamePosition) {
43
+ return {
44
+ isBelow,
45
+ willStayInSamePosition
46
+ };
47
+ }
48
+ /**
49
+ * Paragraphs need no isBelow/above handling,
50
+ */ if (!isFoundNodeEmptyParagraph) {
51
+ //if (!isFoundNodeEmptyParagraph) {
14
52
  if (isBelow) {
15
53
  // below targetBlockElem
16
54
  lineTop += targetBlockElemHeight + marginBottom / 2;
@@ -21,29 +59,58 @@ export function setTargetLine(SPACE, targetLineElem, targetBlockElem, lastTarget
21
59
  } else {
22
60
  lineTop += targetBlockElemHeight / 2;
23
61
  }
24
- const top = lineTop - anchorTop - TARGET_LINE_HALF_HEIGHT;
25
- const left = TEXT_BOX_HORIZONTAL_PADDING - SPACE;
26
- targetLineElem.style.transform = `translate(${left}px, ${top}px)`;
27
- targetLineElem.style.width = `${anchorWidth - (TEXT_BOX_HORIZONTAL_PADDING - SPACE) * 2}px`;
62
+ let targetElemTranslate2 = 0;
63
+ if (!isFoundNodeEmptyParagraph) {
64
+ if (isBelow) {
65
+ targetElemTranslate2 = -TARGET_LINE_HALF_HEIGHT;
66
+ } else {
67
+ targetElemTranslate2 = TARGET_LINE_HALF_HEIGHT;
68
+ }
69
+ }
70
+ const top = lineTop - anchorTop + targetElemTranslate2;
71
+ const left = TEXT_BOX_HORIZONTAL_PADDING - offsetLeft;
72
+ targetLineElem.style.width = `calc(${anchorWidth}px - ${offsetWidth})`;
28
73
  targetLineElem.style.opacity = '.4';
29
- targetBlockElem.style.opacity = '0.4';
74
+ /**
75
+ * Move around element below or above the line (= the target / targetBlockElem). Creates "space" for the targetLineElem
76
+ *
77
+ * Not needed for empty paragraphs, as an empty paragraph is enough space for the targetLineElem anyways.
78
+ */ //targetBlockElem.style.opacity = '0.4'
79
+ const buffer = 12 // creates more spacing/padding so target line is not directly next to the targetBlockElem
80
+ ;
30
81
  if (!isFoundNodeEmptyParagraph) {
31
- // move lastTargetBlockElem down 50px to make space for targetLineElem (which is 50px height)
32
82
  if (isBelow) {
33
- targetBlockElem.style.transform = `translate(0, ${-TARGET_LINE_HALF_HEIGHT / 1.9}px)`;
83
+ targetBlockElem.style.marginBottom = TARGET_LINE_HALF_HEIGHT * 2 + buffer + 'px';
84
+ targetLineElem.style.transform = `translate(${left}px, calc(${top}px - ${'0px'}))`;
34
85
  } else {
35
- targetBlockElem.style.transform = `translate(0, ${TARGET_LINE_HALF_HEIGHT / 1.9}px)`;
86
+ targetBlockElem.style.marginTop = TARGET_LINE_HALF_HEIGHT * 2 + buffer + 'px';
87
+ targetLineElem.style.transform = `translate(${left}px, calc(${top - TARGET_LINE_HALF_HEIGHT * 2}px - ${'0px'}))`;
36
88
  }
89
+ } else {
90
+ targetLineElem.style.transform = `translate(${left}px, ${top - TARGET_LINE_HALF_HEIGHT}px)`;
37
91
  }
38
92
  if (DEBUG) {
39
93
  //targetBlockElem.style.border = '3px solid red'
40
94
  highlightElemOriginalPosition(debugHighlightRef, targetBlockElem, anchorElem);
41
95
  }
42
- if (lastTargetBlockElem && lastTargetBlockElem !== targetBlockElem) {
43
- lastTargetBlockElem.style.opacity = '1';
44
- lastTargetBlockElem.style.transform = 'translate(0, 0)';
45
- //lastTargetBlockElem.style.border = 'none'
96
+ /**
97
+ * Properly reset previous targetBlockElem styles
98
+ */ lastTargetBlock.elem.style.opacity = '';
99
+ if (lastTargetBlock?.elem === targetBlockElem) {
100
+ if (isBelow) {
101
+ lastTargetBlock.elem.style.marginTop = '';
102
+ } else {
103
+ lastTargetBlock.elem.style.marginBottom = '';
104
+ }
105
+ } else {
106
+ lastTargetBlock.elem.style.marginBottom = '';
107
+ lastTargetBlock.elem.style.marginTop = '';
46
108
  }
109
+ animationTimer = 0;
110
+ return {
111
+ isBelow,
112
+ willStayInSamePosition
113
+ };
47
114
  }
48
115
 
49
116
  //# sourceMappingURL=setTargetLine.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.ts"],"sourcesContent":["import { getCollapsedMargins } from '../utils/getCollapsedMargins.js'\nimport { getBoundingClientRectWithoutTransform } from './getBoundingRectWithoutTransform.js'\nimport { highlightElemOriginalPosition } from './highlightElemOriginalPosition.js'\nconst TARGET_LINE_HALF_HEIGHT = 25\nconst TEXT_BOX_HORIZONTAL_PADDING = -24\nconst DEBUG = false\n\nexport function setTargetLine(\n SPACE: number,\n targetLineElem: HTMLElement,\n targetBlockElem: HTMLElement,\n lastTargetBlockElem: HTMLElement | null,\n mouseY: number,\n anchorElem: HTMLElement,\n event: DragEvent,\n debugHighlightRef: React.RefObject<HTMLDivElement>,\n isFoundNodeEmptyParagraph: boolean = false,\n) {\n const { height: targetBlockElemHeight, top: targetBlockElemTop } =\n getBoundingClientRectWithoutTransform(targetBlockElem)\n const { top: anchorTop, width: anchorWidth } = anchorElem.getBoundingClientRect()\n\n const { marginBottom, marginTop } = getCollapsedMargins(targetBlockElem)\n let lineTop = targetBlockElemTop\n\n const isBelow = mouseY >= targetBlockElemTop + targetBlockElemHeight / 2 + window.scrollY\n if (!isFoundNodeEmptyParagraph) {\n if (isBelow) {\n // below targetBlockElem\n lineTop += targetBlockElemHeight + marginBottom / 2\n } else {\n // above targetBlockElem\n lineTop -= marginTop / 2\n }\n } else {\n lineTop += targetBlockElemHeight / 2\n }\n\n const top = lineTop - anchorTop - TARGET_LINE_HALF_HEIGHT\n const left = TEXT_BOX_HORIZONTAL_PADDING - SPACE\n\n targetLineElem.style.transform = `translate(${left}px, ${top}px)`\n targetLineElem.style.width = `${anchorWidth - (TEXT_BOX_HORIZONTAL_PADDING - SPACE) * 2}px`\n targetLineElem.style.opacity = '.4'\n\n targetBlockElem.style.opacity = '0.4'\n if (!isFoundNodeEmptyParagraph) {\n // move lastTargetBlockElem down 50px to make space for targetLineElem (which is 50px height)\n if (isBelow) {\n targetBlockElem.style.transform = `translate(0, ${-TARGET_LINE_HALF_HEIGHT / 1.9}px)`\n } else {\n targetBlockElem.style.transform = `translate(0, ${TARGET_LINE_HALF_HEIGHT / 1.9}px)`\n }\n }\n\n if (DEBUG) {\n //targetBlockElem.style.border = '3px solid red'\n highlightElemOriginalPosition(debugHighlightRef, targetBlockElem, anchorElem)\n }\n\n if (lastTargetBlockElem && lastTargetBlockElem !== targetBlockElem) {\n lastTargetBlockElem.style.opacity = '1'\n lastTargetBlockElem.style.transform = 'translate(0, 0)'\n //lastTargetBlockElem.style.border = 'none'\n }\n}\n"],"names":["getCollapsedMargins","getBoundingClientRectWithoutTransform","highlightElemOriginalPosition","TARGET_LINE_HALF_HEIGHT","TEXT_BOX_HORIZONTAL_PADDING","DEBUG","setTargetLine","SPACE","targetLineElem","targetBlockElem","lastTargetBlockElem","mouseY","anchorElem","event","debugHighlightRef","isFoundNodeEmptyParagraph","height","targetBlockElemHeight","top","targetBlockElemTop","anchorTop","width","anchorWidth","getBoundingClientRect","marginBottom","marginTop","lineTop","isBelow","window","scrollY","left","style","transform","opacity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,mBAAmB,QAAQ,kCAAiC;AACrE,SAASC,qCAAqC,QAAQ,uCAAsC;AAC5F,SAASC,6BAA6B,QAAQ,qCAAoC;AAClF,MAAMC,0BAA0B;AAChC,MAAMC,8BAA8B,CAAC;AACrC,MAAMC,QAAQ;AAEd,OAAO,SAASC,cACdC,KAAa,EACbC,cAA2B,EAC3BC,eAA4B,EAC5BC,mBAAuC,EACvCC,MAAc,EACdC,UAAuB,EACvBC,KAAgB,EAChBC,iBAAkD,EAClDC,4BAAqC,KAAK;IAE1C,MAAM,EAAEC,QAAQC,qBAAqB,EAAEC,KAAKC,kBAAkB,EAAE,GAC9DlB,sCAAsCQ;IACxC,MAAM,EAAES,KAAKE,SAAS,EAAEC,OAAOC,WAAW,EAAE,GAAGV,WAAWW,qBAAqB;IAE/E,MAAM,EAAEC,YAAY,EAAEC,SAAS,EAAE,GAAGzB,oBAAoBS;IACxD,IAAIiB,UAAUP;IAEd,MAAMQ,UAAUhB,UAAUQ,qBAAqBF,wBAAwB,IAAIW,OAAOC,OAAO;IACzF,IAAI,CAACd,2BAA2B;QAC9B,IAAIY,SAAS;YACX,wBAAwB;YACxBD,WAAWT,wBAAwBO,eAAe;QACpD,OAAO;YACL,wBAAwB;YACxBE,WAAWD,YAAY;QACzB;IACF,OAAO;QACLC,WAAWT,wBAAwB;IACrC;IAEA,MAAMC,MAAMQ,UAAUN,YAAYjB;IAClC,MAAM2B,OAAO1B,8BAA8BG;IAE3CC,eAAeuB,KAAK,CAACC,SAAS,GAAG,CAAC,UAAU,EAAEF,KAAK,IAAI,EAAEZ,IAAI,GAAG,CAAC;IACjEV,eAAeuB,KAAK,CAACV,KAAK,GAAG,CAAC,EAAEC,cAAc,AAAClB,CAAAA,8BAA8BG,KAAI,IAAK,EAAE,EAAE,CAAC;IAC3FC,eAAeuB,KAAK,CAACE,OAAO,GAAG;IAE/BxB,gBAAgBsB,KAAK,CAACE,OAAO,GAAG;IAChC,IAAI,CAAClB,2BAA2B;QAC9B,6FAA6F;QAC7F,IAAIY,SAAS;YACXlB,gBAAgBsB,KAAK,CAACC,SAAS,GAAG,CAAC,aAAa,EAAE,CAAC7B,0BAA0B,IAAI,GAAG,CAAC;QACvF,OAAO;YACLM,gBAAgBsB,KAAK,CAACC,SAAS,GAAG,CAAC,aAAa,EAAE7B,0BAA0B,IAAI,GAAG,CAAC;QACtF;IACF;IAEA,IAAIE,OAAO;QACT,gDAAgD;QAChDH,8BAA8BY,mBAAmBL,iBAAiBG;IACpE;IAEA,IAAIF,uBAAuBA,wBAAwBD,iBAAiB;QAClEC,oBAAoBqB,KAAK,CAACE,OAAO,GAAG;QACpCvB,oBAAoBqB,KAAK,CAACC,SAAS,GAAG;IACtC,2CAA2C;IAC7C;AACF"}
1
+ {"version":3,"sources":["../../../../../../src/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.ts"],"sourcesContent":["import { getCollapsedMargins } from '../utils/getCollapsedMargins.js'\nimport { getBoundingClientRectWithoutTransform } from './getBoundingRectWithoutTransform.js'\nimport { highlightElemOriginalPosition } from './highlightElemOriginalPosition.js'\nconst TARGET_LINE_HALF_HEIGHT = 25\nconst TEXT_BOX_HORIZONTAL_PADDING = -24\nconst DEBUG = false\n\nlet animationTimer = 0\n\nexport function setTargetLine(\n offsetWidth: string,\n offsetLeft: number,\n targetLineElem: HTMLElement,\n targetBlockElem: HTMLElement,\n lastTargetBlock: {\n boundingBox?: DOMRect\n elem: HTMLElement | null\n isBelow: boolean\n },\n mouseY: number,\n anchorElem: HTMLElement,\n event: DragEvent,\n debugHighlightRef: React.RefObject<HTMLDivElement | null>,\n isFoundNodeEmptyParagraph: boolean = false,\n) {\n const { height: targetBlockElemHeight, top: targetBlockElemTop } =\n targetBlockElem.getBoundingClientRect() // used to be getBoundingClientRectWithoutTransform. Not sure what's better, but the normal getBoundingClientRect seems to work fine\n const { top: anchorTop, width: anchorWidth } = anchorElem.getBoundingClientRect()\n\n const { marginBottom, marginTop } = getCollapsedMargins(targetBlockElem)\n let lineTop = targetBlockElemTop\n\n const isBelow = mouseY >= targetBlockElemTop + targetBlockElemHeight / 2 + window.scrollY\n\n let willStayInSamePosition = false\n\n /**\n * Do not run any transform or changes if the actual new line position would be the same (even if it's now inserted BEFORE rather than AFTER - position would still be the same)\n * This prevents unnecessary flickering.\n *\n * We still need to let it run even if the position (IGNORING the transform) would not change, as the transform animation is not finished yet. This is what animationTimer does. Otherwise, the positioning will be inaccurate\n */\n if (lastTargetBlock?.elem) {\n if (targetBlockElem !== lastTargetBlock?.elem) {\n if (\n isBelow &&\n lastTargetBlock?.elem &&\n lastTargetBlock?.elem === targetBlockElem.nextElementSibling\n ) {\n animationTimer++\n\n if (animationTimer < 200) {\n willStayInSamePosition = true\n }\n } else if (\n !isBelow &&\n lastTargetBlock?.elem &&\n lastTargetBlock?.elem === targetBlockElem.previousElementSibling\n ) {\n animationTimer++\n if (animationTimer < 200) {\n willStayInSamePosition = true\n }\n }\n } else {\n animationTimer++\n\n const lastBoundingBoxPosition = lastTargetBlock?.boundingBox?.y\n const currentBoundingBoxPosition = targetBlockElem.getBoundingClientRect().y\n\n if (\n (isBelow === lastTargetBlock?.isBelow &&\n lastBoundingBoxPosition === currentBoundingBoxPosition) ||\n animationTimer < 200\n ) {\n willStayInSamePosition = false\n }\n }\n }\n if (willStayInSamePosition) {\n return {\n isBelow,\n willStayInSamePosition,\n }\n }\n\n /**\n * Paragraphs need no isBelow/above handling,\n */\n if (!isFoundNodeEmptyParagraph) {\n //if (!isFoundNodeEmptyParagraph) {\n if (isBelow) {\n // below targetBlockElem\n lineTop += targetBlockElemHeight + marginBottom / 2\n } else {\n // above targetBlockElem\n lineTop -= marginTop / 2\n }\n } else {\n lineTop += targetBlockElemHeight / 2\n }\n\n let targetElemTranslate2 = 0\n\n if (!isFoundNodeEmptyParagraph) {\n if (isBelow) {\n targetElemTranslate2 = -TARGET_LINE_HALF_HEIGHT\n } else {\n targetElemTranslate2 = TARGET_LINE_HALF_HEIGHT\n }\n }\n\n const top = lineTop - anchorTop + targetElemTranslate2\n\n const left = TEXT_BOX_HORIZONTAL_PADDING - offsetLeft\n\n targetLineElem.style.width = `calc(${anchorWidth}px - ${offsetWidth})`\n targetLineElem.style.opacity = '.4'\n\n /**\n * Move around element below or above the line (= the target / targetBlockElem). Creates \"space\" for the targetLineElem\n *\n * Not needed for empty paragraphs, as an empty paragraph is enough space for the targetLineElem anyways.\n */\n //targetBlockElem.style.opacity = '0.4'\n const buffer = 12 // creates more spacing/padding so target line is not directly next to the targetBlockElem\n if (!isFoundNodeEmptyParagraph) {\n if (isBelow) {\n targetBlockElem.style.marginBottom = TARGET_LINE_HALF_HEIGHT * 2 + buffer + 'px'\n targetLineElem.style.transform = `translate(${left}px, calc(${top}px - ${'0px'}))`\n } else {\n targetBlockElem.style.marginTop = TARGET_LINE_HALF_HEIGHT * 2 + buffer + 'px'\n targetLineElem.style.transform = `translate(${left}px, calc(${top - TARGET_LINE_HALF_HEIGHT * 2}px - ${'0px'}))`\n }\n } else {\n targetLineElem.style.transform = `translate(${left}px, ${top - TARGET_LINE_HALF_HEIGHT}px)`\n }\n\n if (DEBUG) {\n //targetBlockElem.style.border = '3px solid red'\n highlightElemOriginalPosition(debugHighlightRef, targetBlockElem, anchorElem)\n }\n\n /**\n * Properly reset previous targetBlockElem styles\n */\n lastTargetBlock.elem.style.opacity = ''\n\n if (lastTargetBlock?.elem === targetBlockElem) {\n if (isBelow) {\n lastTargetBlock.elem.style.marginTop = ''\n } else {\n lastTargetBlock.elem.style.marginBottom = ''\n }\n } else {\n lastTargetBlock.elem.style.marginBottom = ''\n lastTargetBlock.elem.style.marginTop = ''\n }\n animationTimer = 0\n return {\n isBelow,\n willStayInSamePosition,\n }\n}\n"],"names":["getCollapsedMargins","highlightElemOriginalPosition","TARGET_LINE_HALF_HEIGHT","TEXT_BOX_HORIZONTAL_PADDING","DEBUG","animationTimer","setTargetLine","offsetWidth","offsetLeft","targetLineElem","targetBlockElem","lastTargetBlock","mouseY","anchorElem","event","debugHighlightRef","isFoundNodeEmptyParagraph","height","targetBlockElemHeight","top","targetBlockElemTop","getBoundingClientRect","anchorTop","width","anchorWidth","marginBottom","marginTop","lineTop","isBelow","window","scrollY","willStayInSamePosition","elem","nextElementSibling","previousElementSibling","lastBoundingBoxPosition","boundingBox","y","currentBoundingBoxPosition","targetElemTranslate2","left","style","opacity","buffer","transform"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,mBAAmB,QAAQ,kCAAiC;AAErE,SAASC,6BAA6B,QAAQ,qCAAoC;AAClF,MAAMC,0BAA0B;AAChC,MAAMC,8BAA8B,CAAC;AACrC,MAAMC,QAAQ;AAEd,IAAIC,iBAAiB;AAErB,OAAO,SAASC,cACdC,WAAmB,EACnBC,UAAkB,EAClBC,cAA2B,EAC3BC,eAA4B,EAC5BC,eAIC,EACDC,MAAc,EACdC,UAAuB,EACvBC,KAAgB,EAChBC,iBAAyD,EACzDC,4BAAqC,KAAK;IAE1C,MAAM,EAAEC,QAAQC,qBAAqB,EAAEC,KAAKC,kBAAkB,EAAE,GAC9DV,gBAAgBW,qBAAqB,GAAG,oIAAoI;;IAC9K,MAAM,EAAEF,KAAKG,SAAS,EAAEC,OAAOC,WAAW,EAAE,GAAGX,WAAWQ,qBAAqB;IAE/E,MAAM,EAAEI,YAAY,EAAEC,SAAS,EAAE,GAAG1B,oBAAoBU;IACxD,IAAIiB,UAAUP;IAEd,MAAMQ,UAAUhB,UAAUQ,qBAAqBF,wBAAwB,IAAIW,OAAOC,OAAO;IAEzF,IAAIC,yBAAyB;IAE7B;;;;;GAKC,GACD,IAAIpB,iBAAiBqB,MAAM;QACzB,IAAItB,oBAAoBC,iBAAiBqB,MAAM;YAC7C,IACEJ,WACAjB,iBAAiBqB,QACjBrB,iBAAiBqB,SAAStB,gBAAgBuB,kBAAkB,EAC5D;gBACA5B;gBAEA,IAAIA,iBAAiB,KAAK;oBACxB0B,yBAAyB;gBAC3B;YACF,OAAO,IACL,CAACH,WACDjB,iBAAiBqB,QACjBrB,iBAAiBqB,SAAStB,gBAAgBwB,sBAAsB,EAChE;gBACA7B;gBACA,IAAIA,iBAAiB,KAAK;oBACxB0B,yBAAyB;gBAC3B;YACF;QACF,OAAO;YACL1B;YAEA,MAAM8B,0BAA0BxB,iBAAiByB,aAAaC;YAC9D,MAAMC,6BAA6B5B,gBAAgBW,qBAAqB,GAAGgB,CAAC;YAE5E,IACE,AAACT,YAAYjB,iBAAiBiB,WAC5BO,4BAA4BG,8BAC9BjC,iBAAiB,KACjB;gBACA0B,yBAAyB;YAC3B;QACF;IACF;IACA,IAAIA,wBAAwB;QAC1B,OAAO;YACLH;YACAG;QACF;IACF;IAEA;;GAEC,GACD,IAAI,CAACf,2BAA2B;QAC9B,mCAAmC;QACnC,IAAIY,SAAS;YACX,wBAAwB;YACxBD,WAAWT,wBAAwBO,eAAe;QACpD,OAAO;YACL,wBAAwB;YACxBE,WAAWD,YAAY;QACzB;IACF,OAAO;QACLC,WAAWT,wBAAwB;IACrC;IAEA,IAAIqB,uBAAuB;IAE3B,IAAI,CAACvB,2BAA2B;QAC9B,IAAIY,SAAS;YACXW,uBAAuB,CAACrC;QAC1B,OAAO;YACLqC,uBAAuBrC;QACzB;IACF;IAEA,MAAMiB,MAAMQ,UAAUL,YAAYiB;IAElC,MAAMC,OAAOrC,8BAA8BK;IAE3CC,eAAegC,KAAK,CAAClB,KAAK,GAAG,CAAC,KAAK,EAAEC,YAAY,KAAK,EAAEjB,YAAY,CAAC,CAAC;IACtEE,eAAegC,KAAK,CAACC,OAAO,GAAG;IAE/B;;;;GAIC,GACD,uCAAuC;IACvC,MAAMC,SAAS,GAAG,0FAA0F;;IAC5G,IAAI,CAAC3B,2BAA2B;QAC9B,IAAIY,SAAS;YACXlB,gBAAgB+B,KAAK,CAAChB,YAAY,GAAGvB,0BAA0B,IAAIyC,SAAS;YAC5ElC,eAAegC,KAAK,CAACG,SAAS,GAAG,CAAC,UAAU,EAAEJ,KAAK,SAAS,EAAErB,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;QACpF,OAAO;YACLT,gBAAgB+B,KAAK,CAACf,SAAS,GAAGxB,0BAA0B,IAAIyC,SAAS;YACzElC,eAAegC,KAAK,CAACG,SAAS,GAAG,CAAC,UAAU,EAAEJ,KAAK,SAAS,EAAErB,MAAMjB,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClH;IACF,OAAO;QACLO,eAAegC,KAAK,CAACG,SAAS,GAAG,CAAC,UAAU,EAAEJ,KAAK,IAAI,EAAErB,MAAMjB,wBAAwB,GAAG,CAAC;IAC7F;IAEA,IAAIE,OAAO;QACT,gDAAgD;QAChDH,8BAA8Bc,mBAAmBL,iBAAiBG;IACpE;IAEA;;GAEC,GACDF,gBAAgBqB,IAAI,CAACS,KAAK,CAACC,OAAO,GAAG;IAErC,IAAI/B,iBAAiBqB,SAAStB,iBAAiB;QAC7C,IAAIkB,SAAS;YACXjB,gBAAgBqB,IAAI,CAACS,KAAK,CAACf,SAAS,GAAG;QACzC,OAAO;YACLf,gBAAgBqB,IAAI,CAACS,KAAK,CAAChB,YAAY,GAAG;QAC5C;IACF,OAAO;QACLd,gBAAgBqB,IAAI,CAACS,KAAK,CAAChB,YAAY,GAAG;QAC1Cd,gBAAgBqB,IAAI,CAACS,KAAK,CAACf,SAAS,GAAG;IACzC;IACArB,iBAAiB;IACjB,OAAO;QACLuB;QACAG;IACF;AACF"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Calculate distance between scrollerElem and target if target is not in scrollerElem
3
+ */
4
+ export declare const calculateDistanceFromScrollerElem: (scrollerElem: HTMLElement | null, pageX: number, pageY: number, target: HTMLElement, horizontalBuffer?: number, verticalBuffer?: number) => number;
5
+ //# sourceMappingURL=calculateDistanceFromScrollerElem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateDistanceFromScrollerElem.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iCAAiC,iBAC9B,WAAW,GAAG,IAAI,SACzB,MAAM,SACN,MAAM,UACL,WAAW,qBACD,MAAM,mBACR,MAAM,KACrB,MAwBF,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Calculate distance between scrollerElem and target if target is not in scrollerElem
3
+ */ export const calculateDistanceFromScrollerElem = (scrollerElem, pageX, pageY, target, horizontalBuffer = 50, verticalBuffer = 25)=>{
4
+ let distanceFromScrollerElem = 0;
5
+ if (scrollerElem && !scrollerElem.contains(target)) {
6
+ const { bottom, left, right, top } = scrollerElem.getBoundingClientRect();
7
+ const adjustedTop = top + window.scrollY;
8
+ const adjustedBottom = bottom + window.scrollY;
9
+ if (pageY < adjustedTop - verticalBuffer || pageY > adjustedBottom + verticalBuffer || pageX < left - horizontalBuffer || pageX > right + horizontalBuffer) {
10
+ return -1;
11
+ }
12
+ // This is used to allow the _draggableBlockElem to be found when the mouse is in the
13
+ // buffer zone around the scrollerElem.
14
+ if (pageX < left || pageX > right) {
15
+ distanceFromScrollerElem = pageX < left ? pageX - left : pageX - right;
16
+ }
17
+ }
18
+ return distanceFromScrollerElem;
19
+ };
20
+
21
+ //# sourceMappingURL=calculateDistanceFromScrollerElem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.ts"],"sourcesContent":["/**\n * Calculate distance between scrollerElem and target if target is not in scrollerElem\n */\nexport const calculateDistanceFromScrollerElem = (\n scrollerElem: HTMLElement | null,\n pageX: number,\n pageY: number,\n target: HTMLElement,\n horizontalBuffer: number = 50,\n verticalBuffer: number = 25,\n): number => {\n let distanceFromScrollerElem = 0\n if (scrollerElem && !scrollerElem.contains(target)) {\n const { bottom, left, right, top } = scrollerElem.getBoundingClientRect()\n\n const adjustedTop = top + window.scrollY\n const adjustedBottom = bottom + window.scrollY\n\n if (\n pageY < adjustedTop - verticalBuffer ||\n pageY > adjustedBottom + verticalBuffer ||\n pageX < left - horizontalBuffer ||\n pageX > right + horizontalBuffer\n ) {\n return -1\n }\n\n // This is used to allow the _draggableBlockElem to be found when the mouse is in the\n // buffer zone around the scrollerElem.\n if (pageX < left || pageX > right) {\n distanceFromScrollerElem = pageX < left ? pageX - left : pageX - right\n }\n }\n return distanceFromScrollerElem\n}\n"],"names":["calculateDistanceFromScrollerElem","scrollerElem","pageX","pageY","target","horizontalBuffer","verticalBuffer","distanceFromScrollerElem","contains","bottom","left","right","top","getBoundingClientRect","adjustedTop","window","scrollY","adjustedBottom"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAAA;;CAEC,GACD,OAAO,MAAMA,oCAAoC,CAC/CC,cACAC,OACAC,OACAC,QACAC,mBAA2B,EAAE,EAC7BC,iBAAyB,EAAE;IAE3B,IAAIC,2BAA2B;IAC/B,IAAIN,gBAAgB,CAACA,aAAaO,QAAQ,CAACJ,SAAS;QAClD,MAAM,EAAEK,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,GAAG,EAAE,GAAGX,aAAaY,qBAAqB;QAEvE,MAAMC,cAAcF,MAAMG,OAAOC,OAAO;QACxC,MAAMC,iBAAiBR,SAASM,OAAOC,OAAO;QAE9C,IACEb,QAAQW,cAAcR,kBACtBH,QAAQc,iBAAiBX,kBACzBJ,QAAQQ,OAAOL,oBACfH,QAAQS,QAAQN,kBAChB;YACA,OAAO,CAAC;QACV;QAEA,qFAAqF;QACrF,uCAAuC;QACvC,IAAIH,QAAQQ,QAAQR,QAAQS,OAAO;YACjCJ,2BAA2BL,QAAQQ,OAAOR,QAAQQ,OAAOR,QAAQS;QACnE;IACF;IACA,OAAOJ;AACT,EAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * From ChatGPT, only that verified it works for HR elements.
3
+ *
4
+ * HTML Elements can have CSS lineHeight applied to them, but it doesn't always affect the visual layout.
5
+ * This function checks if the line-height property has an effect on the element's layout.
6
+ * @param htmlElem
7
+ */
8
+ export declare function doesLineHeightAffectElement(htmlElem: HTMLElement): boolean;
9
+ //# sourceMappingURL=doesLineHeightAffectElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doesLineHeightAffectElement.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,WA2BhE"}
@@ -0,0 +1,35 @@
1
+ const replacedElements = [
2
+ 'IMG',
3
+ 'INPUT',
4
+ 'TEXTAREA',
5
+ 'SELECT',
6
+ 'BUTTON',
7
+ 'VIDEO',
8
+ 'OBJECT',
9
+ 'EMBED',
10
+ 'IFRAME',
11
+ 'HR'
12
+ ];
13
+ /**
14
+ * From ChatGPT, only that verified it works for HR elements.
15
+ *
16
+ * HTML Elements can have CSS lineHeight applied to them, but it doesn't always affect the visual layout.
17
+ * This function checks if the line-height property has an effect on the element's layout.
18
+ * @param htmlElem
19
+ */ export function doesLineHeightAffectElement(htmlElem) {
20
+ if (!htmlElem) return false;
21
+ // Check for replaced elements, elements that typically don't support line-height adjustments,
22
+ // and elements without visible content
23
+ if (replacedElements.includes(htmlElem.tagName) || htmlElem.offsetHeight === 0 || htmlElem.offsetWidth === 0) {
24
+ return false;
25
+ }
26
+ // Check for specific CSS properties that negate line-height's visual effects
27
+ const style = window.getComputedStyle(htmlElem);
28
+ if (style.display === 'table-cell' || style.position === 'absolute' || style.visibility === 'hidden' || style.opacity === '0') {
29
+ return false;
30
+ }
31
+ // This is a basic check, and there can be more complex scenarios where line-height doesn't have an effect.
32
+ return true;
33
+ }
34
+
35
+ //# sourceMappingURL=doesLineHeightAffectElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.ts"],"sourcesContent":["const replacedElements = [\n 'IMG',\n 'INPUT',\n 'TEXTAREA',\n 'SELECT',\n 'BUTTON',\n 'VIDEO',\n 'OBJECT',\n 'EMBED',\n 'IFRAME',\n 'HR',\n]\n\n/**\n * From ChatGPT, only that verified it works for HR elements.\n *\n * HTML Elements can have CSS lineHeight applied to them, but it doesn't always affect the visual layout.\n * This function checks if the line-height property has an effect on the element's layout.\n * @param htmlElem\n */\nexport function doesLineHeightAffectElement(htmlElem: HTMLElement) {\n if (!htmlElem) return false\n\n // Check for replaced elements, elements that typically don't support line-height adjustments,\n // and elements without visible content\n\n if (\n replacedElements.includes(htmlElem.tagName) ||\n htmlElem.offsetHeight === 0 ||\n htmlElem.offsetWidth === 0\n ) {\n return false\n }\n\n // Check for specific CSS properties that negate line-height's visual effects\n const style = window.getComputedStyle(htmlElem)\n if (\n style.display === 'table-cell' ||\n style.position === 'absolute' ||\n style.visibility === 'hidden' ||\n style.opacity === '0'\n ) {\n return false\n }\n\n // This is a basic check, and there can be more complex scenarios where line-height doesn't have an effect.\n return true\n}\n"],"names":["replacedElements","doesLineHeightAffectElement","htmlElem","includes","tagName","offsetHeight","offsetWidth","style","window","getComputedStyle","display","position","visibility","opacity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,MAAMA,mBAAmB;IACvB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED;;;;;;CAMC,GACD,OAAO,SAASC,4BAA4BC,QAAqB;IAC/D,IAAI,CAACA,UAAU,OAAO;IAEtB,8FAA8F;IAC9F,uCAAuC;IAEvC,IACEF,iBAAiBG,QAAQ,CAACD,SAASE,OAAO,KAC1CF,SAASG,YAAY,KAAK,KAC1BH,SAASI,WAAW,KAAK,GACzB;QACA,OAAO;IACT;IAEA,6EAA6E;IAC7E,MAAMC,QAAQC,OAAOC,gBAAgB,CAACP;IACtC,IACEK,MAAMG,OAAO,KAAK,gBAClBH,MAAMI,QAAQ,KAAK,cACnBJ,MAAMK,UAAU,KAAK,YACrBL,MAAMM,OAAO,KAAK,KAClB;QACA,OAAO;IACT;IAEA,2GAA2G;IAC3G,OAAO;AACT"}
@@ -2,12 +2,16 @@ import type { LexicalEditor, LexicalNode } from 'lexical';
2
2
  import { Point } from '../../../utils/point.js';
3
3
  type Props = {
4
4
  anchorElem: HTMLElement;
5
- cache_treshold?: number;
5
+ cache_threshold?: number;
6
6
  editor: LexicalEditor;
7
7
  /** fuzzy makes the search not exact. If no exact match found, find the closes node instead of returning null */
8
8
  fuzzy?: boolean;
9
9
  horizontalOffset?: number;
10
10
  point: Point;
11
+ /**
12
+ * By default, empty paragraphs are not returned. Set this to true to return empty paragraphs. @default false
13
+ */
14
+ returnEmptyParagraphs?: boolean;
11
15
  /**
12
16
  * The index to start searching from. It can be a considerable performance optimization to start searching from the index of the
13
17
  * previously found node, as the node is likely to be close to the next node.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNodeCloseToPoint.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/utils/getNodeCloseToPoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIzD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAW/C,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,WAAW,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,aAAa,CAAA;IACrB,gHAAgH;IAChH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,KAAK,CAAA;IACZ;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7B,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,yBAAyB,EAAE,OAAO,CAAA;CACnC,CAAA;AAaD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAmKxD"}
@@ -1,10 +1,9 @@
1
- import lexicalImport from 'lexical';
2
- const { $getNodeByKey } = lexicalImport;
1
+ import { $getNodeByKey } from 'lexical';
3
2
  import { Point } from '../../../utils/point.js';
4
3
  import { Rect } from '../../../utils/rect.js';
4
+ import { getBoundingClientRectWithoutTransform } from '../DraggableBlockPlugin/getBoundingRectWithoutTransform.js';
5
5
  import { getCollapsedMargins } from '../utils/getCollapsedMargins.js';
6
6
  import { getTopLevelNodeKeys } from '../utils/getTopLevelNodeKeys.js';
7
- import { getBoundingClientRectWithoutTransform } from './getBoundingRectWithoutTransform.js';
8
7
  // Directions
9
8
  const Downward = 1;
10
9
  const Upward = -1;
@@ -19,12 +18,9 @@ function isPointClose(previous, current, threshold = 20) {
19
18
  return dx * dx + dy * dy <= threshold * threshold;
20
19
  }
21
20
  export function getNodeCloseToPoint(props) {
22
- const { anchorElem, cache_treshold = 20, editor, fuzzy = false, horizontalOffset = 0, point: { x, y }, startIndex = 0, useEdgeAsDefault = false, verbose = false } = props;
21
+ const { anchorElem, cache_threshold = 20, editor, fuzzy = false, horizontalOffset = 0, point: { x, y }, startIndex = 0, useEdgeAsDefault = false, verbose = false } = props;
23
22
  // Use cache
24
- if (cache_treshold > 0 && cache.props && cache.result && cache.props.fuzzy === props.fuzzy && cache.props.horizontalOffset === props.horizontalOffset && cache.props.useEdgeAsDefault === props.useEdgeAsDefault && isPointClose(cache.props.point, props.point, cache_treshold)) {
25
- if (verbose) {
26
- //console.log('Returning cached result')
27
- }
23
+ if (cache_threshold > 0 && cache.props && cache.result && cache.props.fuzzy === props.fuzzy && cache.props.horizontalOffset === props.horizontalOffset && cache.props.useEdgeAsDefault === props.useEdgeAsDefault && isPointClose(cache.props.point, props.point, cache_threshold)) {
28
24
  return cache.result;
29
25
  }
30
26
  const anchorElementRect = anchorElem.getBoundingClientRect();
@@ -60,9 +56,6 @@ export function getNodeCloseToPoint(props) {
60
56
  closestBlockElem.foundAtIndex = topLevelNodeKeys.length - 1;
61
57
  }
62
58
  if (closestBlockElem?.blockElem) {
63
- if (verbose) {
64
- //console.log('useEdgeAsDefault', useEdgeAsDefault)
65
- }
66
59
  return {
67
60
  blockElem: null,
68
61
  isFoundNodeEmptyParagraph: false
@@ -73,9 +66,6 @@ export function getNodeCloseToPoint(props) {
73
66
  // Find matching block element
74
67
  let index = startIndex;
75
68
  let direction = Indeterminate;
76
- if (verbose) {
77
- //console.log('start index', startIndex)
78
- }
79
69
  while(index >= 0 && index < topLevelNodeKeys.length){
80
70
  const key = topLevelNodeKeys[index];
81
71
  const elem = editor.getElementByKey(key);
@@ -94,9 +84,6 @@ export function getNodeCloseToPoint(props) {
94
84
  top: domRect.top - marginTop
95
85
  });
96
86
  const { distance, isOnBottomSide, isOnTopSide } = rect.distanceFromPoint(point);
97
- if (verbose) {
98
- //console.log('distance', distance)
99
- }
100
87
  if (distance === 0) {
101
88
  closestBlockElem.blockElem = elem;
102
89
  closestBlockElem.blockNode = $getNodeByKey(key);
@@ -104,7 +91,7 @@ export function getNodeCloseToPoint(props) {
104
91
  closestBlockElem.distance = distance;
105
92
  // Check if blockNode is an empty text node
106
93
  if (closestBlockElem.blockNode && closestBlockElem.blockNode.getType() === 'paragraph' && closestBlockElem.blockNode.getTextContent() === '') {
107
- if (!fuzzy) {
94
+ if (!fuzzy && !props.returnEmptyParagraphs) {
108
95
  closestBlockElem.blockElem = null;
109
96
  closestBlockElem.blockNode = null;
110
97
  }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/field/lexical/plugins/handles/utils/getNodeCloseToPoint.ts"],"sourcesContent":["import type { LexicalEditor, LexicalNode } from 'lexical'\n\nimport { $getNodeByKey } from 'lexical'\n\nimport { Point } from '../../../utils/point.js'\nimport { Rect } from '../../../utils/rect.js'\nimport { getBoundingClientRectWithoutTransform } from '../DraggableBlockPlugin/getBoundingRectWithoutTransform.js'\nimport { getCollapsedMargins } from '../utils/getCollapsedMargins.js'\nimport { getTopLevelNodeKeys } from '../utils/getTopLevelNodeKeys.js'\n\n// Directions\nconst Downward = 1\nconst Upward = -1\nconst Indeterminate = 0\n\ntype Props = {\n anchorElem: HTMLElement\n cache_threshold?: number\n editor: LexicalEditor\n /** fuzzy makes the search not exact. If no exact match found, find the closes node instead of returning null */\n fuzzy?: boolean\n horizontalOffset?: number\n point: Point\n /**\n * By default, empty paragraphs are not returned. Set this to true to return empty paragraphs. @default false\n */\n returnEmptyParagraphs?: boolean\n /**\n * The index to start searching from. It can be a considerable performance optimization to start searching from the index of the\n * previously found node, as the node is likely to be close to the next node.\n */\n startIndex?: number\n useEdgeAsDefault?: boolean\n verbose?: boolean\n}\n\ntype Output = {\n blockElem: HTMLElement | null\n blockNode: LexicalNode | null\n foundAtIndex: number\n isFoundNodeEmptyParagraph: boolean\n}\n\nconst cache = {\n props: null as Props | null,\n result: null as Output | null,\n}\n\nfunction isPointClose(previous: Point, current: Point, threshold: number = 20): boolean {\n const dx = previous.x - current.x\n const dy = previous.y - current.y\n return dx * dx + dy * dy <= threshold * threshold\n}\n\nexport function getNodeCloseToPoint(props: Props): Output {\n const {\n anchorElem,\n cache_threshold = 20,\n editor,\n fuzzy = false,\n horizontalOffset = 0,\n point: { x, y },\n startIndex = 0,\n useEdgeAsDefault = false,\n verbose = false,\n } = props\n\n // Use cache\n if (\n cache_threshold > 0 &&\n cache.props &&\n cache.result &&\n cache.props.fuzzy === props.fuzzy &&\n cache.props.horizontalOffset === props.horizontalOffset &&\n cache.props.useEdgeAsDefault === props.useEdgeAsDefault &&\n isPointClose(cache.props.point, props.point, cache_threshold)\n ) {\n return cache.result\n }\n\n const anchorElementRect = anchorElem.getBoundingClientRect()\n const topLevelNodeKeys = getTopLevelNodeKeys(editor)\n\n const closestBlockElem: {\n blockElem: HTMLElement | null\n blockNode: LexicalNode | null\n distance: number\n foundAtIndex: number\n isFoundNodeEmptyParagraph: boolean\n } = {\n blockElem: null,\n blockNode: null,\n distance: Infinity,\n foundAtIndex: -1,\n isFoundNodeEmptyParagraph: false,\n }\n\n // Return null if matching block element is the first or last node\n editor.getEditorState().read(() => {\n if (useEdgeAsDefault) {\n const [firstNode, lastNode] = [\n editor.getElementByKey(topLevelNodeKeys[0]),\n editor.getElementByKey(topLevelNodeKeys[topLevelNodeKeys.length - 1]),\n ]\n\n const [firstNodeRect, lastNodeRect] = [\n getBoundingClientRectWithoutTransform(firstNode),\n getBoundingClientRectWithoutTransform(lastNode),\n ]\n\n if (firstNodeRect && lastNodeRect) {\n if (y < firstNodeRect.top) {\n closestBlockElem.blockElem = firstNode\n closestBlockElem.distance = firstNodeRect.top - y\n closestBlockElem.blockNode = $getNodeByKey(topLevelNodeKeys[0])\n closestBlockElem.foundAtIndex = 0\n } else if (y > lastNodeRect.bottom) {\n closestBlockElem.distance = y - lastNodeRect.bottom\n closestBlockElem.blockNode = $getNodeByKey(topLevelNodeKeys[topLevelNodeKeys.length - 1])\n closestBlockElem.blockElem = lastNode\n closestBlockElem.foundAtIndex = topLevelNodeKeys.length - 1\n }\n\n if (closestBlockElem?.blockElem) {\n return {\n blockElem: null,\n isFoundNodeEmptyParagraph: false,\n } as Output\n }\n }\n }\n\n // Find matching block element\n let index = startIndex\n let direction = Indeterminate\n\n while (index >= 0 && index < topLevelNodeKeys.length) {\n const key = topLevelNodeKeys[index]\n const elem = editor.getElementByKey(key)\n if (elem === null) {\n break\n }\n const point = new Point(x + horizontalOffset, y)\n //const domRect = Rect.fromDOM(elem)\n // Do not consider transform of blocks when calculating distance\n const domRect = Rect.fromDOMRect(getBoundingClientRectWithoutTransform(elem))\n\n const { marginBottom, marginTop } = getCollapsedMargins(elem)\n\n const rect = domRect.generateNewRect({\n bottom: domRect.bottom + marginBottom,\n left: anchorElementRect.left,\n right: anchorElementRect.right,\n top: domRect.top - marginTop,\n })\n\n const { distance, isOnBottomSide, isOnTopSide } = rect.distanceFromPoint(point)\n\n if (distance === 0) {\n closestBlockElem.blockElem = elem\n closestBlockElem.blockNode = $getNodeByKey(key)\n closestBlockElem.foundAtIndex = index\n closestBlockElem.distance = distance\n\n // Check if blockNode is an empty text node\n if (\n closestBlockElem.blockNode &&\n closestBlockElem.blockNode.getType() === 'paragraph' &&\n closestBlockElem.blockNode.getTextContent() === ''\n ) {\n if (!fuzzy && !props.returnEmptyParagraphs) {\n closestBlockElem.blockElem = null\n closestBlockElem.blockNode = null\n }\n\n closestBlockElem.isFoundNodeEmptyParagraph = true\n }\n break\n } else if (fuzzy) {\n if (distance < closestBlockElem.distance) {\n closestBlockElem.blockElem = elem\n closestBlockElem.blockNode = $getNodeByKey(key)\n closestBlockElem.distance = distance\n closestBlockElem.foundAtIndex = index\n }\n }\n\n if (direction === Indeterminate) {\n if (isOnTopSide) {\n direction = Upward\n } else if (isOnBottomSide) {\n direction = Downward\n } else {\n // stop search block element\n direction = Infinity\n }\n }\n\n index += direction\n }\n })\n\n // Store in cache before returning\n cache.props = props\n cache.result = {\n blockElem: closestBlockElem.blockElem,\n blockNode: closestBlockElem.blockNode,\n foundAtIndex: closestBlockElem.foundAtIndex,\n isFoundNodeEmptyParagraph: closestBlockElem.isFoundNodeEmptyParagraph,\n }\n\n return {\n blockElem: closestBlockElem.blockElem,\n blockNode: closestBlockElem.blockNode,\n foundAtIndex: closestBlockElem.foundAtIndex,\n isFoundNodeEmptyParagraph: closestBlockElem.isFoundNodeEmptyParagraph,\n }\n}\n"],"names":["$getNodeByKey","Point","Rect","getBoundingClientRectWithoutTransform","getCollapsedMargins","getTopLevelNodeKeys","Downward","Upward","Indeterminate","cache","props","result","isPointClose","previous","current","threshold","dx","x","dy","y","getNodeCloseToPoint","anchorElem","cache_threshold","editor","fuzzy","horizontalOffset","point","startIndex","useEdgeAsDefault","verbose","anchorElementRect","getBoundingClientRect","topLevelNodeKeys","closestBlockElem","blockElem","blockNode","distance","Infinity","foundAtIndex","isFoundNodeEmptyParagraph","getEditorState","read","firstNode","lastNode","getElementByKey","length","firstNodeRect","lastNodeRect","top","bottom","index","direction","key","elem","domRect","fromDOMRect","marginBottom","marginTop","rect","generateNewRect","left","right","isOnBottomSide","isOnTopSide","distanceFromPoint","getType","getTextContent","returnEmptyParagraphs"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTopLevelNodeKeys.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAK5C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAEnE"}
1
+ {"version":3,"file":"getTopLevelNodeKeys.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAI5C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAEnE"}
@@ -1,5 +1,4 @@
1
- import lexicalImport from 'lexical';
2
- const { $getRoot } = lexicalImport;
1
+ import { $getRoot } from 'lexical';
3
2
  export function getTopLevelNodeKeys(editor) {
4
3
  return editor.getEditorState().read(()=>$getRoot().getChildrenKeys());
5
4
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.ts"],"sourcesContent":["import type { LexicalEditor } from 'lexical'\n\nimport lexicalImport from 'lexical'\nconst { $getRoot } = lexicalImport\n\nexport function getTopLevelNodeKeys(editor: LexicalEditor): string[] {\n return editor.getEditorState().read(() => $getRoot().getChildrenKeys())\n}\n"],"names":["lexicalImport","$getRoot","getTopLevelNodeKeys","editor","getEditorState","read","getChildrenKeys"],"rangeMappings":";;;;","mappings":"AAEA,OAAOA,mBAAmB,UAAS;AACnC,MAAM,EAAEC,QAAQ,EAAE,GAAGD;AAErB,OAAO,SAASE,oBAAoBC,MAAqB;IACvD,OAAOA,OAAOC,cAAc,GAAGC,IAAI,CAAC,IAAMJ,WAAWK,eAAe;AACtE"}
1
+ {"version":3,"sources":["../../../../../../src/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.ts"],"sourcesContent":["import type { LexicalEditor } from 'lexical'\n\nimport { $getRoot } from 'lexical'\n\nexport function getTopLevelNodeKeys(editor: LexicalEditor): string[] {\n return editor.getEditorState().read(() => $getRoot().getChildrenKeys())\n}\n"],"names":["$getRoot","getTopLevelNodeKeys","editor","getEditorState","read","getChildrenKeys"],"rangeMappings":";;;","mappings":"AAEA,SAASA,QAAQ,QAAQ,UAAS;AAElC,OAAO,SAASC,oBAAoBC,MAAqB;IACvD,OAAOA,OAAOC,cAAc,GAAGC,IAAI,CAAC,IAAMJ,WAAWK,eAAe;AACtE"}
@@ -1,2 +1,2 @@
1
- export declare function setHandlePosition(targetElem: HTMLElement | null, floatingElem: HTMLElement, anchorElem: HTMLElement, leftOffset?: number): void;
1
+ export declare function setHandlePosition(targetElem: HTMLElement | null, handleElem: HTMLElement, anchorElem: HTMLElement, leftOffset?: number): void;
2
2
  //# sourceMappingURL=setHandlePosition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setHandlePosition.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/utils/setHandlePosition.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,WAAW,GAAG,IAAI,EAC9B,YAAY,EAAE,WAAW,EACzB,UAAU,EAAE,WAAW,EACvB,UAAU,GAAE,MAAU,QAsBvB"}
1
+ {"version":3,"file":"setHandlePosition.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/utils/setHandlePosition.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,WAAW,GAAG,IAAI,EAC9B,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,WAAW,EACvB,UAAU,GAAE,MAAU,QAuCvB"}
@@ -1,17 +1,29 @@
1
- export function setHandlePosition(targetElem, floatingElem, anchorElem, leftOffset = 0) {
1
+ import { doesLineHeightAffectElement } from './doesLineHeightAffectElement.js';
2
+ export function setHandlePosition(targetElem, handleElem, anchorElem, leftOffset = 0) {
2
3
  if (!targetElem) {
3
- floatingElem.style.opacity = '0';
4
- floatingElem.style.transform = 'translate(-10000px, -10000px)';
4
+ handleElem.style.opacity = '0';
5
+ handleElem.style.transform = 'translate(-10000px, -10000px)';
5
6
  return;
6
7
  }
7
8
  const targetRect = targetElem.getBoundingClientRect();
8
9
  const targetStyle = window.getComputedStyle(targetElem);
9
- const floatingElemRect = floatingElem.getBoundingClientRect();
10
+ const floatingElemRect = handleElem.getBoundingClientRect();
10
11
  const anchorElementRect = anchorElem.getBoundingClientRect();
11
- const top = targetRect.top + (parseInt(targetStyle.lineHeight, 10) - floatingElemRect.height) / 2 - anchorElementRect.top;
12
+ let top;
13
+ const shouldDisplayHandleInCenter = targetRect.height < 60;
14
+ if (!shouldDisplayHandleInCenter) {
15
+ // No need to let line height affect the re-positioning of the floating element if line height has no
16
+ // visual effect on the element. Otherwise, the floating element will be positioned incorrectly.
17
+ const actualLineHeight = doesLineHeightAffectElement(targetElem) ? parseInt(targetStyle.lineHeight, 10) : 0;
18
+ top = targetRect.top + (actualLineHeight - floatingElemRect.height) / 2 - anchorElementRect.top - 1 // 1px inaccuracy
19
+ ;
20
+ } else {
21
+ top = targetRect.top - floatingElemRect.height / 2 - anchorElementRect.top + targetRect.height / 2 - 1 // 1px inaccuracy
22
+ ;
23
+ }
12
24
  const left = leftOffset;
13
- floatingElem.style.opacity = '1';
14
- floatingElem.style.transform = `translate(${left}px, ${top}px)`;
25
+ handleElem.style.opacity = '1';
26
+ handleElem.style.transform = `translate(${left}px, ${top}px)`;
15
27
  }
16
28
 
17
29
  //# sourceMappingURL=setHandlePosition.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/field/lexical/plugins/handles/utils/setHandlePosition.ts"],"sourcesContent":["export function setHandlePosition(\n targetElem: HTMLElement | null,\n floatingElem: HTMLElement,\n anchorElem: HTMLElement,\n leftOffset: number = 0, // SPACE\n) {\n if (!targetElem) {\n floatingElem.style.opacity = '0'\n floatingElem.style.transform = 'translate(-10000px, -10000px)'\n return\n }\n\n const targetRect = targetElem.getBoundingClientRect()\n const targetStyle = window.getComputedStyle(targetElem)\n const floatingElemRect = floatingElem.getBoundingClientRect()\n const anchorElementRect = anchorElem.getBoundingClientRect()\n\n const top =\n targetRect.top +\n (parseInt(targetStyle.lineHeight, 10) - floatingElemRect.height) / 2 -\n anchorElementRect.top\n\n const left = leftOffset\n\n floatingElem.style.opacity = '1'\n floatingElem.style.transform = `translate(${left}px, ${top}px)`\n}\n"],"names":["setHandlePosition","targetElem","floatingElem","anchorElem","leftOffset","style","opacity","transform","targetRect","getBoundingClientRect","targetStyle","window","getComputedStyle","floatingElemRect","anchorElementRect","top","parseInt","lineHeight","height","left"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAAA,OAAO,SAASA,kBACdC,UAA8B,EAC9BC,YAAyB,EACzBC,UAAuB,EACvBC,aAAqB,CAAC;IAEtB,IAAI,CAACH,YAAY;QACfC,aAAaG,KAAK,CAACC,OAAO,GAAG;QAC7BJ,aAAaG,KAAK,CAACE,SAAS,GAAG;QAC/B;IACF;IAEA,MAAMC,aAAaP,WAAWQ,qBAAqB;IACnD,MAAMC,cAAcC,OAAOC,gBAAgB,CAACX;IAC5C,MAAMY,mBAAmBX,aAAaO,qBAAqB;IAC3D,MAAMK,oBAAoBX,WAAWM,qBAAqB;IAE1D,MAAMM,MACJP,WAAWO,GAAG,GACd,AAACC,CAAAA,SAASN,YAAYO,UAAU,EAAE,MAAMJ,iBAAiBK,MAAM,AAAD,IAAK,IACnEJ,kBAAkBC,GAAG;IAEvB,MAAMI,OAAOf;IAEbF,aAAaG,KAAK,CAACC,OAAO,GAAG;IAC7BJ,aAAaG,KAAK,CAACE,SAAS,GAAG,CAAC,UAAU,EAAEY,KAAK,IAAI,EAAEJ,IAAI,GAAG,CAAC;AACjE"}
1
+ {"version":3,"sources":["../../../../../../src/field/lexical/plugins/handles/utils/setHandlePosition.ts"],"sourcesContent":["import { doesLineHeightAffectElement } from './doesLineHeightAffectElement.js'\n\nexport function setHandlePosition(\n targetElem: HTMLElement | null,\n handleElem: HTMLElement,\n anchorElem: HTMLElement,\n leftOffset: number = 0, // SPACE\n) {\n if (!targetElem) {\n handleElem.style.opacity = '0'\n handleElem.style.transform = 'translate(-10000px, -10000px)'\n return\n }\n\n const targetRect = targetElem.getBoundingClientRect()\n const targetStyle = window.getComputedStyle(targetElem)\n const floatingElemRect = handleElem.getBoundingClientRect()\n const anchorElementRect = anchorElem.getBoundingClientRect()\n\n let top: number\n\n const shouldDisplayHandleInCenter = targetRect.height < 60\n\n if (!shouldDisplayHandleInCenter) {\n // No need to let line height affect the re-positioning of the floating element if line height has no\n // visual effect on the element. Otherwise, the floating element will be positioned incorrectly.\n const actualLineHeight = doesLineHeightAffectElement(targetElem)\n ? parseInt(targetStyle.lineHeight, 10)\n : 0\n\n top =\n targetRect.top + (actualLineHeight - floatingElemRect.height) / 2 - anchorElementRect.top - 1 // 1px inaccuracy\n } else {\n top =\n targetRect.top -\n floatingElemRect.height / 2 -\n anchorElementRect.top +\n targetRect.height / 2 -\n 1 // 1px inaccuracy\n }\n\n const left = leftOffset\n\n handleElem.style.opacity = '1'\n handleElem.style.transform = `translate(${left}px, ${top}px)`\n}\n"],"names":["doesLineHeightAffectElement","setHandlePosition","targetElem","handleElem","anchorElem","leftOffset","style","opacity","transform","targetRect","getBoundingClientRect","targetStyle","window","getComputedStyle","floatingElemRect","anchorElementRect","top","shouldDisplayHandleInCenter","height","actualLineHeight","parseInt","lineHeight","left"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,2BAA2B,QAAQ,mCAAkC;AAE9E,OAAO,SAASC,kBACdC,UAA8B,EAC9BC,UAAuB,EACvBC,UAAuB,EACvBC,aAAqB,CAAC;IAEtB,IAAI,CAACH,YAAY;QACfC,WAAWG,KAAK,CAACC,OAAO,GAAG;QAC3BJ,WAAWG,KAAK,CAACE,SAAS,GAAG;QAC7B;IACF;IAEA,MAAMC,aAAaP,WAAWQ,qBAAqB;IACnD,MAAMC,cAAcC,OAAOC,gBAAgB,CAACX;IAC5C,MAAMY,mBAAmBX,WAAWO,qBAAqB;IACzD,MAAMK,oBAAoBX,WAAWM,qBAAqB;IAE1D,IAAIM;IAEJ,MAAMC,8BAA8BR,WAAWS,MAAM,GAAG;IAExD,IAAI,CAACD,6BAA6B;QAChC,qGAAqG;QACrG,gGAAgG;QAChG,MAAME,mBAAmBnB,4BAA4BE,cACjDkB,SAAST,YAAYU,UAAU,EAAE,MACjC;QAEJL,MACEP,WAAWO,GAAG,GAAG,AAACG,CAAAA,mBAAmBL,iBAAiBI,MAAM,AAAD,IAAK,IAAIH,kBAAkBC,GAAG,GAAG,EAAE,iBAAiB;;IACnH,OAAO;QACLA,MACEP,WAAWO,GAAG,GACdF,iBAAiBI,MAAM,GAAG,IAC1BH,kBAAkBC,GAAG,GACrBP,WAAWS,MAAM,GAAG,IACpB,EAAE,iBAAiB;;IACvB;IAEA,MAAMI,OAAOjB;IAEbF,WAAWG,KAAK,CAACC,OAAO,GAAG;IAC3BJ,WAAWG,KAAK,CAACE,SAAS,GAAG,CAAC,UAAU,EAAEc,KAAK,IAAI,EAAEN,IAAI,GAAG,CAAC;AAC/D"}
@@ -15,10 +15,13 @@
15
15
  position: relative;
16
16
  }
17
17
 
18
+ // No bottom margin for last paragraph in editor. This also created nice animations when adding a new line at the end
19
+ .ContentEditable__root > &__paragraph:last-child {
20
+ margin-bottom: 0;
21
+ }
22
+
18
23
  &__quote {
19
- margin: 0;
20
- margin-left: 20px;
21
- margin-bottom: 10px;
24
+ margin: 0 0 10px 20px;
22
25
  font-size: 15px;
23
26
  color: rgb(101, 103, 107);
24
27
  border-left-color: rgb(206, 208, 212);
@@ -115,9 +118,7 @@
115
118
  padding: 8px 8px 8px 52px;
116
119
  line-height: 1.53;
117
120
  font-size: 13px;
118
- margin: 0;
119
- margin-top: 8px;
120
- margin-bottom: 8px;
121
+ margin: 8px 0;
121
122
  tab-size: 2;
122
123
  /* white-space: pre; */
123
124
  overflow-x: auto;
@@ -292,8 +293,7 @@
292
293
 
293
294
  &__ol1 {
294
295
  padding: 0;
295
- margin: 0;
296
- list-style-position: inside;
296
+ list-style-position: outside;
297
297
  margin: 0 0 1.5em;
298
298
  }
299
299
 
@@ -301,38 +301,42 @@
301
301
  padding: 0;
302
302
  margin: 0;
303
303
  list-style-type: upper-alpha;
304
- list-style-position: inside;
304
+ list-style-position: outside;
305
305
  }
306
306
 
307
307
  &__ol3 {
308
308
  padding: 0;
309
309
  margin: 0;
310
310
  list-style-type: lower-alpha;
311
- list-style-position: inside;
311
+ list-style-position: outside;
312
312
  }
313
313
 
314
314
  &__ol4 {
315
315
  padding: 0;
316
316
  margin: 0;
317
317
  list-style-type: upper-roman;
318
- list-style-position: inside;
318
+ list-style-position: outside;
319
319
  }
320
320
 
321
321
  &__ol5 {
322
322
  padding: 0;
323
323
  margin: 0;
324
324
  list-style-type: lower-roman;
325
- list-style-position: inside;
325
+ list-style-position: outside;
326
326
  }
327
327
 
328
328
  &__ul {
329
329
  padding: 0;
330
330
  margin: 0 0 1.5em;
331
- list-style-position: inside;
331
+ list-style-position: outside;
332
+ }
333
+
334
+ &__ul ul {
335
+ margin: 0;
332
336
  }
333
337
 
334
338
  &__listItem {
335
- margin: 0 0px 0.4em 16px;
339
+ margin: 0 0 0.4em 16px;
336
340
  }
337
341
 
338
342
  &__listItemChecked,
@@ -1,4 +1,4 @@
1
- /// <reference types="react" resolution-mode="require"/>
1
+ import type { JSX } from 'react';
2
2
  import './ContentEditable.scss';
3
3
  export declare function LexicalContentEditable({ className }: {
4
4
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentEditable.d.ts","sourceRoot":"","sources":["../../../../src/field/lexical/ui/ContentEditable.tsx"],"names":[],"mappings":";AAKA,OAAO,wBAAwB,CAAA;AAE/B,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAEzF"}
1
+ {"version":3,"file":"ContentEditable.d.ts","sourceRoot":"","sources":["../../../../src/field/lexical/ui/ContentEditable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAKhC,OAAO,wBAAwB,CAAA;AAE/B,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAEzF"}
@@ -1,9 +1,9 @@
1
- import lexicalContentEditableImport from '@lexical/react/LexicalContentEditable.js';
2
- const { ContentEditable } = lexicalContentEditableImport;
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ContentEditable } from '@lexical/react/LexicalContentEditable.js';
3
3
  import * as React from 'react';
4
4
  import './ContentEditable.scss';
5
5
  export function LexicalContentEditable({ className }) {
6
- return /*#__PURE__*/ React.createElement(ContentEditable, {
6
+ return /*#__PURE__*/ _jsx(ContentEditable, {
7
7
  className: className ?? 'ContentEditable__root'
8
8
  });
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/lexical/ui/ContentEditable.tsx"],"sourcesContent":["import lexicalContentEditableImport from '@lexical/react/LexicalContentEditable.js'\nconst { ContentEditable } = lexicalContentEditableImport\n\nimport * as React from 'react'\n\nimport './ContentEditable.scss'\n\nexport function LexicalContentEditable({ className }: { className?: string }): JSX.Element {\n return <ContentEditable className={className ?? 'ContentEditable__root'} />\n}\n"],"names":["lexicalContentEditableImport","ContentEditable","React","LexicalContentEditable","className"],"rangeMappings":";;;;;;;;","mappings":"AAAA,OAAOA,kCAAkC,2CAA0C;AACnF,MAAM,EAAEC,eAAe,EAAE,GAAGD;AAE5B,YAAYE,WAAW,QAAO;AAE9B,OAAO,yBAAwB;AAE/B,OAAO,SAASC,uBAAuB,EAAEC,SAAS,EAA0B;IAC1E,qBAAO,oBAACH;QAAgBG,WAAWA,aAAa;;AAClD"}
1
+ {"version":3,"sources":["../../../../src/field/lexical/ui/ContentEditable.tsx"],"sourcesContent":["import type { JSX } from 'react'\n\nimport { ContentEditable } from '@lexical/react/LexicalContentEditable.js'\nimport * as React from 'react'\n\nimport './ContentEditable.scss'\n\nexport function LexicalContentEditable({ className }: { className?: string }): JSX.Element {\n return <ContentEditable className={className ?? 'ContentEditable__root'} />\n}\n"],"names":["ContentEditable","React","LexicalContentEditable","className"],"rangeMappings":";;;;;;;;","mappings":";AAEA,SAASA,eAAe,QAAQ,2CAA0C;AAC1E,YAAYC,WAAW,QAAO;AAE9B,OAAO,yBAAwB;AAE/B,OAAO,SAASC,uBAAuB,EAAEC,SAAS,EAA0B;IAC1E,qBAAO,KAACH;QAAgBG,WAAWA,aAAa;;AAClD"}