@payloadcms/richtext-lexical 4.0.0-internal.c7d5de4 → 4.0.0-internal.cb69780

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 (432) hide show
  1. package/dist/exports/client/Field-TS5CRYHE.js +2 -0
  2. package/dist/exports/client/Field-TS5CRYHE.js.map +7 -0
  3. package/dist/exports/client/bundled.css +1 -1
  4. package/dist/exports/client/chunk-3LRZDIIG.js +2 -0
  5. package/dist/exports/client/{chunk-X3D4LZS7.js.map → chunk-3LRZDIIG.js.map} +4 -4
  6. package/dist/exports/client/chunk-43E5QYAA.js +2 -0
  7. package/dist/exports/client/chunk-43E5QYAA.js.map +7 -0
  8. package/dist/exports/client/{chunk-ESITTE3C.js → chunk-ZFGDYZDE.js} +2 -2
  9. package/dist/exports/client/{chunk-ESITTE3C.js.map → chunk-ZFGDYZDE.js.map} +2 -2
  10. package/dist/exports/client/component-D5QLYS7W.js +2 -0
  11. package/dist/exports/client/component-D5QLYS7W.js.map +7 -0
  12. package/dist/exports/client/componentInline-55HZXGUS.js +2 -0
  13. package/dist/exports/client/index.d.ts +1 -1
  14. package/dist/exports/client/index.d.ts.map +1 -1
  15. package/dist/exports/client/index.js +26 -26
  16. package/dist/exports/client/index.js.map +4 -4
  17. package/dist/features/blocks/client/component/BlockReordering/index.d.ts +11 -0
  18. package/dist/features/blocks/client/component/BlockReordering/index.d.ts.map +1 -0
  19. package/dist/features/blocks/client/component/BlockReordering/index.js +18 -0
  20. package/dist/features/blocks/client/component/BlockReordering/index.js.map +1 -0
  21. package/dist/features/blocks/client/component/index.d.ts +0 -6
  22. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  23. package/dist/features/blocks/client/component/index.js +133 -76
  24. package/dist/features/blocks/client/component/index.js.map +1 -1
  25. package/dist/features/blocks/client/component/useBlockReordering.d.ts +16 -0
  26. package/dist/features/blocks/client/component/useBlockReordering.d.ts.map +1 -0
  27. package/dist/features/blocks/client/component/useBlockReordering.js +178 -0
  28. package/dist/features/blocks/client/component/useBlockReordering.js.map +1 -0
  29. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  30. package/dist/features/blocks/client/componentInline/index.js +2 -2
  31. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  32. package/dist/features/blocks/server/index.js +2 -2
  33. package/dist/features/blocks/server/index.js.map +1 -1
  34. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +1 -1
  35. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  36. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +1 -1
  37. package/dist/features/converters/lexicalToHtml/async/converters/list.js +4 -3
  38. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  39. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.d.ts.map +1 -1
  40. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +3 -2
  41. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  42. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +1 -1
  43. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  44. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +1 -1
  45. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +4 -3
  46. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  47. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +1 -1
  48. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +2 -1
  49. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  50. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +1 -1
  51. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +2 -1
  52. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  53. package/dist/features/converters/utilities/payloadPopulateFn.d.ts.map +1 -1
  54. package/dist/features/converters/utilities/payloadPopulateFn.js +4 -2
  55. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  56. package/dist/features/debug/testRecorder/client/plugin/index.css +0 -1
  57. package/dist/features/heading/constants.d.ts +2 -0
  58. package/dist/features/heading/constants.d.ts.map +1 -0
  59. package/dist/features/heading/constants.js +2 -0
  60. package/dist/features/heading/constants.js.map +1 -0
  61. package/dist/features/heading/server/index.d.ts.map +1 -1
  62. package/dist/features/heading/server/index.js +5 -1
  63. package/dist/features/heading/server/index.js.map +1 -1
  64. package/dist/features/heading/server/validate.d.ts +6 -0
  65. package/dist/features/heading/server/validate.d.ts.map +1 -0
  66. package/dist/features/heading/server/validate.js +15 -0
  67. package/dist/features/heading/server/validate.js.map +1 -0
  68. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +1 -1
  69. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  70. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +1 -1
  71. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  72. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +1 -1
  73. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  74. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +1 -1
  75. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  76. package/dist/features/indent/client/IndentPlugin.d.ts.map +1 -1
  77. package/dist/features/indent/client/IndentPlugin.js +122 -1
  78. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  79. package/dist/features/indent/server/i18n.d.ts.map +1 -1
  80. package/dist/features/indent/server/i18n.js +74 -37
  81. package/dist/features/indent/server/i18n.js.map +1 -1
  82. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  83. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +6 -3
  84. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  85. package/dist/features/link/client/plugins/floatingLinkEditor/index.css +0 -1
  86. package/dist/features/link/nodes/AutoLinkNode.d.ts +1 -1
  87. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  88. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  89. package/dist/features/link/nodes/LinkNode.d.ts +1 -1
  90. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  91. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  92. package/dist/features/link/server/index.js +2 -2
  93. package/dist/features/link/server/index.js.map +1 -1
  94. package/dist/features/lists/checklist/server/index.d.ts.map +1 -1
  95. package/dist/features/lists/checklist/server/index.js +5 -2
  96. package/dist/features/lists/checklist/server/index.js.map +1 -1
  97. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -1
  98. package/dist/features/lists/orderedList/server/index.js +5 -2
  99. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  100. package/dist/features/lists/shared/constants.d.ts +2 -0
  101. package/dist/features/lists/shared/constants.d.ts.map +1 -0
  102. package/dist/features/lists/shared/constants.js +2 -0
  103. package/dist/features/lists/shared/constants.js.map +1 -0
  104. package/dist/features/lists/shared/validate.d.ts +5 -0
  105. package/dist/features/lists/shared/validate.d.ts.map +1 -0
  106. package/dist/features/lists/shared/validate.js +15 -0
  107. package/dist/features/lists/shared/validate.js.map +1 -0
  108. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -1
  109. package/dist/features/lists/unorderedList/server/index.js +5 -2
  110. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  111. package/dist/features/relationship/client/index.d.ts +2 -2
  112. package/dist/features/relationship/client/index.d.ts.map +1 -1
  113. package/dist/features/relationship/client/index.js.map +1 -1
  114. package/dist/features/relationship/client/plugins/index.d.ts +2 -2
  115. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  116. package/dist/features/relationship/client/plugins/index.js +27 -31
  117. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  118. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts +2 -4
  119. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -1
  120. package/dist/features/relationship/client/utils/useEnabledRelationships.js +53 -20
  121. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  122. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +2 -2
  123. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -1
  124. package/dist/features/relationship/server/graphQLPopulationPromise.js +2 -2
  125. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  126. package/dist/features/relationship/server/index.d.ts +8 -1
  127. package/dist/features/relationship/server/index.d.ts.map +1 -1
  128. package/dist/features/relationship/server/index.js +28 -11
  129. package/dist/features/relationship/server/index.js.map +1 -1
  130. package/dist/features/relationship/server/schema.d.ts +2 -2
  131. package/dist/features/relationship/server/schema.d.ts.map +1 -1
  132. package/dist/features/relationship/server/schema.js +5 -10
  133. package/dist/features/relationship/server/schema.js.map +1 -1
  134. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts +1 -6
  135. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts.map +1 -1
  136. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js +1 -5
  137. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js.map +1 -1
  138. package/dist/features/table/client/index.d.ts.map +1 -0
  139. package/dist/features/table/client/index.js.map +1 -0
  140. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts +8 -0
  141. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts.map +1 -0
  142. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js +19 -0
  143. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js.map +1 -0
  144. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -0
  145. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.js +17 -44
  146. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.js.map +1 -0
  147. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -0
  148. package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.js +41 -18
  149. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.js.map +1 -0
  150. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -0
  151. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -0
  152. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +1 -0
  153. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.js.map +1 -0
  154. package/dist/features/table/client/plugins/TablePlugin/index.d.ts.map +1 -0
  155. package/dist/features/table/client/plugins/TablePlugin/index.js.map +1 -0
  156. package/dist/features/table/client/utils/debounce.d.ts.map +1 -0
  157. package/dist/features/table/client/utils/debounce.js.map +1 -0
  158. package/dist/features/table/client/utils/useDebounce.d.ts.map +1 -0
  159. package/dist/features/table/client/utils/useDebounce.js.map +1 -0
  160. package/dist/features/table/markdownTransformer.d.ts.map +1 -0
  161. package/dist/features/table/markdownTransformer.js.map +1 -0
  162. package/dist/features/table/server/index.d.ts +3 -0
  163. package/dist/features/table/server/index.d.ts.map +1 -0
  164. package/dist/features/{experimental_table → table}/server/index.js +4 -4
  165. package/dist/features/table/server/index.js.map +1 -0
  166. package/dist/features/table/server/schema.d.ts.map +1 -0
  167. package/dist/features/table/server/schema.js.map +1 -0
  168. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts +8 -0
  169. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts.map +1 -0
  170. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js +80 -0
  171. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js.map +1 -0
  172. package/dist/features/toolbars/fixed/client/Toolbar/index.css +78 -6
  173. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  174. package/dist/features/toolbars/fixed/client/Toolbar/index.js +4 -1
  175. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  176. package/dist/features/toolbars/inline/client/Toolbar/index.css +0 -1
  177. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  178. package/dist/features/toolbars/shared/ToolbarButton/index.js +1 -0
  179. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  180. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  181. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +85 -32
  182. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  183. package/dist/features/toolbars/shared/ToolbarDropdown/index.css +16 -13
  184. package/dist/features/typesServer.d.ts +1 -1
  185. package/dist/features/typesServer.d.ts.map +1 -1
  186. package/dist/features/typesServer.js.map +1 -1
  187. package/dist/features/upload/client/component/index.js +2 -1
  188. package/dist/features/upload/client/component/index.js.map +1 -1
  189. package/dist/features/upload/client/index.d.ts +3 -2
  190. package/dist/features/upload/client/index.d.ts.map +1 -1
  191. package/dist/features/upload/client/index.js.map +1 -1
  192. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  193. package/dist/features/upload/client/plugin/index.js +47 -52
  194. package/dist/features/upload/client/plugin/index.js.map +1 -1
  195. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +2 -2
  196. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -1
  197. package/dist/features/upload/server/graphQLPopulationPromise.js +1 -1
  198. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  199. package/dist/features/upload/server/index.d.ts +6 -2
  200. package/dist/features/upload/server/index.d.ts.map +1 -1
  201. package/dist/features/upload/server/index.js +20 -16
  202. package/dist/features/upload/server/index.js.map +1 -1
  203. package/dist/features/upload/server/schema.d.ts +2 -2
  204. package/dist/features/upload/server/schema.d.ts.map +1 -1
  205. package/dist/features/upload/server/schema.js +4 -8
  206. package/dist/features/upload/server/schema.js.map +1 -1
  207. package/dist/features/upload/server/validate.d.ts +2 -2
  208. package/dist/features/upload/server/validate.d.ts.map +1 -1
  209. package/dist/features/upload/server/validate.js +3 -0
  210. package/dist/features/upload/server/validate.js.map +1 -1
  211. package/dist/field/Diff/converters/listitem/index.d.ts.map +1 -1
  212. package/dist/field/Diff/converters/listitem/index.js +2 -1
  213. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  214. package/dist/field/Diff/index.d.ts +3 -2
  215. package/dist/field/Diff/index.d.ts.map +1 -1
  216. package/dist/field/Diff/index.js +1 -0
  217. package/dist/field/Diff/index.js.map +1 -1
  218. package/dist/field/RenderLexical/index.d.ts +3 -1
  219. package/dist/field/RenderLexical/index.d.ts.map +1 -1
  220. package/dist/field/RenderLexical/index.js +23 -23
  221. package/dist/field/RenderLexical/index.js.map +1 -1
  222. package/dist/field/ViewSelector.d.ts.map +1 -1
  223. package/dist/field/ViewSelector.js +1 -0
  224. package/dist/field/ViewSelector.js.map +1 -1
  225. package/dist/field/bundled.css +1 -1
  226. package/dist/field/index.css +10 -10
  227. package/dist/i18n.d.ts.map +1 -1
  228. package/dist/i18n.js +68 -0
  229. package/dist/i18n.js.map +1 -1
  230. package/dist/index.d.ts +2 -2
  231. package/dist/index.d.ts.map +1 -1
  232. package/dist/index.js +5 -5
  233. package/dist/index.js.map +1 -1
  234. package/dist/lexical/LexicalEditor.css +29 -20
  235. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  236. package/dist/lexical/LexicalEditor.js +61 -64
  237. package/dist/lexical/LexicalEditor.js.map +1 -1
  238. package/dist/lexical/config/server/loader.d.ts +1 -1
  239. package/dist/lexical/config/server/loader.d.ts.map +1 -1
  240. package/dist/lexical/config/server/loader.js +2 -2
  241. package/dist/lexical/config/server/loader.js.map +1 -1
  242. package/dist/lexical/config/server/sanitize.d.ts +1 -1
  243. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  244. package/dist/lexical/config/server/sanitize.js +2 -2
  245. package/dist/lexical/config/server/sanitize.js.map +1 -1
  246. package/dist/lexical/plugins/InsertParagraphAtEnd/index.css +18 -25
  247. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts.map +1 -1
  248. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +27 -14
  249. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  250. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +0 -1
  251. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  252. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +2 -21
  253. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  254. package/dist/lexical/plugins/SlashMenu/index.css +0 -1
  255. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.css +1 -0
  256. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +2 -2
  257. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  258. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.css +1 -0
  259. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  260. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +16 -2
  261. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  262. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts +7 -0
  263. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts.map +1 -0
  264. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js +65 -0
  265. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js.map +1 -0
  266. package/dist/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
  267. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +2 -0
  268. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  269. package/dist/lexical/ui/ContentEditable.css +16 -15
  270. package/dist/lexical/ui/ContentEditable.d.ts +2 -1
  271. package/dist/lexical/ui/ContentEditable.d.ts.map +1 -1
  272. package/dist/lexical/ui/ContentEditable.js +9 -6
  273. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  274. package/dist/lexical/ui/icons/H3/index.d.ts.map +1 -1
  275. package/dist/lexical/ui/icons/H3/index.js +13 -6
  276. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  277. package/dist/lexical/ui/icons/H4/index.d.ts.map +1 -1
  278. package/dist/lexical/ui/icons/H4/index.js +13 -6
  279. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  280. package/dist/lexical/ui/icons/H5/index.d.ts.map +1 -1
  281. package/dist/lexical/ui/icons/H5/index.js +13 -6
  282. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  283. package/dist/lexical/ui/icons/H6/index.d.ts.map +1 -1
  284. package/dist/lexical/ui/icons/H6/index.js +13 -6
  285. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  286. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts +2 -0
  287. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts.map +1 -0
  288. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js +2 -0
  289. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js.map +1 -0
  290. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts +2 -0
  291. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts.map +1 -0
  292. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js +2 -0
  293. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js.map +1 -0
  294. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts +2 -0
  295. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts.map +1 -0
  296. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js +2 -0
  297. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js.map +1 -0
  298. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts +2 -0
  299. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts.map +1 -0
  300. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js +2 -0
  301. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js.map +1 -0
  302. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts +2 -0
  303. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts.map +1 -0
  304. package/dist/lexical-proxy/@lexical-react/ReactExtension.js +2 -0
  305. package/dist/lexical-proxy/@lexical-react/ReactExtension.js.map +1 -0
  306. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts +2 -0
  307. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts.map +1 -0
  308. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js +2 -0
  309. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js.map +1 -0
  310. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts +2 -0
  311. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts.map +1 -0
  312. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js +2 -0
  313. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js.map +1 -0
  314. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts +2 -0
  315. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts.map +1 -0
  316. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js +2 -0
  317. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js.map +1 -0
  318. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts +2 -0
  319. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts.map +1 -0
  320. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js +2 -0
  321. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js.map +1 -0
  322. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts +2 -0
  323. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts.map +1 -0
  324. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js +2 -0
  325. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js.map +1 -0
  326. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts +2 -0
  327. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts.map +1 -0
  328. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js +2 -0
  329. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js.map +1 -0
  330. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts +2 -0
  331. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts.map +1 -0
  332. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js +2 -0
  333. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js.map +1 -0
  334. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts +2 -0
  335. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts.map +1 -0
  336. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js +2 -0
  337. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js.map +1 -0
  338. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts +2 -0
  339. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts.map +1 -0
  340. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js +2 -0
  341. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js.map +1 -0
  342. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts +2 -0
  343. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts.map +1 -0
  344. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js +2 -0
  345. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js.map +1 -0
  346. package/dist/types/index.d.ts +1 -1
  347. package/dist/types/index.d.ts.map +1 -1
  348. package/dist/types/index.js.map +1 -1
  349. package/dist/types/nodeTypes.d.ts +1 -1
  350. package/dist/types/nodeTypes.d.ts.map +1 -1
  351. package/dist/types/nodeTypes.js.map +1 -1
  352. package/dist/utilities/createServerFeature.d.ts +1 -1
  353. package/dist/utilities/createServerFeature.d.ts.map +1 -1
  354. package/dist/utilities/createServerFeature.js +2 -2
  355. package/dist/utilities/createServerFeature.js.map +1 -1
  356. package/dist/utilities/editorConfigFactory.d.ts +6 -6
  357. package/dist/utilities/editorConfigFactory.d.ts.map +1 -1
  358. package/dist/utilities/editorConfigFactory.js +9 -9
  359. package/dist/utilities/editorConfigFactory.js.map +1 -1
  360. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts +2 -2
  361. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts.map +1 -1
  362. package/dist/utilities/getDefaultSanitizedEditorConfig.js +6 -17
  363. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  364. package/dist/utilities/upgradeLexicalData/index.js +6 -3
  365. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  366. package/package.json +97 -23
  367. package/dist/dependencyChecker.spec.js +0 -16
  368. package/dist/dependencyChecker.spec.js.map +0 -1
  369. package/dist/exports/client/Field-QGSHF22S.js +0 -2
  370. package/dist/exports/client/Field-QGSHF22S.js.map +0 -7
  371. package/dist/exports/client/chunk-UD4DQ4AK.js +0 -2
  372. package/dist/exports/client/chunk-UD4DQ4AK.js.map +0 -7
  373. package/dist/exports/client/chunk-X3D4LZS7.js +0 -2
  374. package/dist/exports/client/component-PHZQBOJE.js +0 -2
  375. package/dist/exports/client/component-PHZQBOJE.js.map +0 -7
  376. package/dist/exports/client/componentInline-H24N7GUG.js +0 -2
  377. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +0 -180
  378. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +0 -1
  379. package/dist/features/experimental_table/client/index.d.ts.map +0 -1
  380. package/dist/features/experimental_table/client/index.js.map +0 -1
  381. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +0 -1
  382. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +0 -1
  383. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +0 -1
  384. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +0 -1
  385. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +0 -1
  386. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +0 -1
  387. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +0 -1
  388. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.js.map +0 -1
  389. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +0 -1
  390. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +0 -1
  391. package/dist/features/experimental_table/client/utils/debounce.d.ts.map +0 -1
  392. package/dist/features/experimental_table/client/utils/debounce.js.map +0 -1
  393. package/dist/features/experimental_table/client/utils/useDebounce.d.ts.map +0 -1
  394. package/dist/features/experimental_table/client/utils/useDebounce.js.map +0 -1
  395. package/dist/features/experimental_table/markdownTransformer.d.ts.map +0 -1
  396. package/dist/features/experimental_table/markdownTransformer.js.map +0 -1
  397. package/dist/features/experimental_table/server/index.d.ts +0 -3
  398. package/dist/features/experimental_table/server/index.d.ts.map +0 -1
  399. package/dist/features/experimental_table/server/index.js.map +0 -1
  400. package/dist/features/experimental_table/server/schema.d.ts.map +0 -1
  401. package/dist/features/experimental_table/server/schema.js.map +0 -1
  402. package/dist/features/link/markdownTransformer.spec.js +0 -195
  403. package/dist/features/link/markdownTransformer.spec.js.map +0 -1
  404. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js +0 -88
  405. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js.map +0 -1
  406. package/dist/lexical/utils/url.spec.js +0 -114
  407. package/dist/lexical/utils/url.spec.js.map +0 -1
  408. package/dist/utilities/jsx/jsx.spec.js +0 -178
  409. package/dist/utilities/jsx/jsx.spec.js.map +0 -1
  410. /package/dist/exports/client/{componentInline-H24N7GUG.js.map → componentInline-55HZXGUS.js.map} +0 -0
  411. /package/dist/features/{experimental_table → table}/client/index.d.ts +0 -0
  412. /package/dist/features/{experimental_table → table}/client/index.js +0 -0
  413. /package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.css +0 -0
  414. /package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.d.ts +0 -0
  415. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.css +0 -0
  416. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.d.ts +0 -0
  417. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.d.ts +0 -0
  418. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.js +0 -0
  419. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.css +0 -0
  420. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.d.ts +0 -0
  421. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.js +0 -0
  422. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.css +0 -0
  423. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.d.ts +0 -0
  424. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.js +0 -0
  425. /package/dist/features/{experimental_table → table}/client/utils/debounce.d.ts +0 -0
  426. /package/dist/features/{experimental_table → table}/client/utils/debounce.js +0 -0
  427. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.d.ts +0 -0
  428. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.js +0 -0
  429. /package/dist/features/{experimental_table → table}/markdownTransformer.d.ts +0 -0
  430. /package/dist/features/{experimental_table → table}/markdownTransformer.js +0 -0
  431. /package/dist/features/{experimental_table → table}/server/schema.d.ts +0 -0
  432. /package/dist/features/{experimental_table → table}/server/schema.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useLexicalComposerContext","eventFiles","$getNearestNodeFromDOMNode","$getNodeByKey","isHTMLElement","React","useEffect","useRef","useState","createPortal","useEditorConfigContext","Point","calculateDistanceFromScrollerElem","getNodeCloseToPoint","getTopLevelNodeKeys","isOnHandleElement","setHandlePosition","getBoundingClientRectWithoutTransform","setTargetLine","DRAGGABLE_BLOCK_MENU_CLASSNAME","DRAG_DATA_FORMAT","prevIndex","Infinity","getCurrentIndex","keysLength","Math","floor","setDragImage","dataTransfer","draggableBlockElem","transform","style","setTimeout","hideTargetLine","targetLineElem","lastTargetBlockElem","opacity","marginBottom","marginTop","useDraggableBlockMenu","editor","anchorElem","isEditable","scrollerElem","parentElement","menuRef","targetLineRef","debugHighlightRef","isDraggingBlockRef","highlightTimersRef","setDraggableBlockElem","lastTargetBlock","setLastTargetBlock","editorConfig","blockHandleHorizontalOffset","admin","hideGutter","onDocumentMouseMove","event","target","distanceFromScrollerElem","pageX","pageY","topLevelNodeKeys","blockElem","_draggableBlockElem","foundAtIndex","isFoundNodeEmptyParagraph","cache_threshold","horizontalOffset","point","x","y","startIndex","length","useEdgeAsDefault","verbose","document","addEventListener","removeEventListener","current","onDragover","isFileTransfer","targetBlockElem","fuzzy","preventDefault","dropEffect","isBelow","willStayInSamePosition","getBoundingClientRect","width","boundingBox","elem","onDrop","dragData","getData","update","draggedNode","targetNode","height","targetBlockElemHeight","top","targetBlockElemTop","mouseY","window","scrollY","insertAfter","insertBefore","remove","allPrevHighlighters","querySelectorAll","forEach","highlighter","newInsertedElem","getElementByKey","getKey","highlightTimer","newInsertedElemRect","highlightElem","createElement","className","backgroundColor","transition","zIndex","pointerEvents","boxSizing","borderRadius","position","body","appendChild","left","fadeTimer","removeTimer","push","clearTimeout","onDragStart","effectAllowed","nodeKey","node","setData","onDragEnd","_jsxs","Fragment","_jsx","draggable","ref","type","DraggableBlockPlugin","t0","t1","undefined","_editable"],"sources":["../../../../../src/lexical/plugins/handles/DraggableBlockPlugin/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\nimport type { DragEvent as ReactDragEvent } from 'react'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { eventFiles } from '@lexical/rich-text'\nimport { $getNearestNodeFromDOMNode, $getNodeByKey, isHTMLElement } from 'lexical'\nimport * as React from 'react'\nimport { useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useEditorConfigContext } from '../../../config/client/EditorConfigProvider.js'\nimport { Point } from '../../../utils/point.js'\nimport { calculateDistanceFromScrollerElem } from '../utils/calculateDistanceFromScrollerElem.js'\nimport { getNodeCloseToPoint } from '../utils/getNodeCloseToPoint.js'\nimport { getTopLevelNodeKeys } from '../utils/getTopLevelNodeKeys.js'\nimport { isOnHandleElement } from '../utils/isOnHandleElement.js'\nimport { setHandlePosition } from '../utils/setHandlePosition.js'\nimport { getBoundingClientRectWithoutTransform } from './getBoundingRectWithoutTransform.js'\nimport './index.css'\nimport { setTargetLine } from './setTargetLine.js'\n\nconst DRAGGABLE_BLOCK_MENU_CLASSNAME = 'draggable-block-menu'\nconst DRAG_DATA_FORMAT = 'application/x-lexical-drag-block'\n\nlet prevIndex = Infinity\n\nfunction getCurrentIndex(keysLength: number): number {\n if (keysLength === 0) {\n return Infinity\n }\n if (prevIndex >= 0 && prevIndex < keysLength) {\n return prevIndex\n }\n\n return Math.floor(keysLength / 2)\n}\n\nfunction setDragImage(dataTransfer: DataTransfer, draggableBlockElem: HTMLElement) {\n const { transform } = draggableBlockElem.style\n\n // Remove dragImage borders\n dataTransfer.setDragImage(draggableBlockElem, 0, 0)\n\n setTimeout(() => {\n draggableBlockElem.style.transform = transform\n })\n}\n\nfunction hideTargetLine(\n targetLineElem: HTMLElement | null,\n lastTargetBlockElem: HTMLElement | null,\n) {\n if (targetLineElem) {\n targetLineElem.style.opacity = '0'\n }\n if (lastTargetBlockElem) {\n lastTargetBlockElem.style.opacity = ''\n // Delete marginBottom and marginTop values we set\n lastTargetBlockElem.style.marginBottom = ''\n lastTargetBlockElem.style.marginTop = ''\n //lastTargetBlock.style.border = 'none'\n }\n}\n\nfunction useDraggableBlockMenu(\n editor: LexicalEditor,\n anchorElem: HTMLElement,\n isEditable: boolean,\n): React.ReactElement {\n const scrollerElem = anchorElem.parentElement\n\n const menuRef = useRef<HTMLButtonElement>(null)\n const targetLineRef = useRef<HTMLDivElement>(null)\n const debugHighlightRef = useRef<HTMLDivElement>(null)\n const isDraggingBlockRef = useRef<boolean>(false)\n const highlightTimersRef = useRef<ReturnType<typeof setTimeout>[]>([])\n const [draggableBlockElem, setDraggableBlockElem] = useState<HTMLElement | null>(null)\n const [lastTargetBlock, setLastTargetBlock] = useState<{\n boundingBox?: DOMRect\n elem: HTMLElement | null\n isBelow: boolean\n } | null>(null)\n\n const { editorConfig } = useEditorConfigContext()\n\n const blockHandleHorizontalOffset = editorConfig?.admin?.hideGutter ? -44 : -8\n\n useEffect(() => {\n /**\n * Handles positioning of the drag handle\n */\n function onDocumentMouseMove(event: MouseEvent) {\n const target = event.target\n if (!isHTMLElement(target)) {\n return\n }\n\n const distanceFromScrollerElem = calculateDistanceFromScrollerElem(\n scrollerElem,\n event.pageX,\n event.pageY,\n target,\n )\n if (distanceFromScrollerElem === -1) {\n setDraggableBlockElem(null)\n return\n }\n\n if (isOnHandleElement(target, DRAGGABLE_BLOCK_MENU_CLASSNAME)) {\n return\n }\n\n const topLevelNodeKeys = getTopLevelNodeKeys(editor)\n\n const {\n blockElem: _draggableBlockElem,\n foundAtIndex,\n isFoundNodeEmptyParagraph,\n } = getNodeCloseToPoint({\n anchorElem,\n cache_threshold: 0,\n editor,\n horizontalOffset: -distanceFromScrollerElem,\n point: new Point(event.x, event.y),\n startIndex: getCurrentIndex(topLevelNodeKeys.length),\n useEdgeAsDefault: false,\n verbose: false,\n })\n\n prevIndex = foundAtIndex\n\n //if (DEBUG && _draggableBlockElem) {\n //targetBlockElem.style.border = '3px solid red'\n // highlightElemOriginalPosition(debugHighlightRef, _draggableBlockElem, anchorElem)\n //}\n\n if (!_draggableBlockElem && !isFoundNodeEmptyParagraph) {\n return\n }\n\n if (draggableBlockElem !== _draggableBlockElem) {\n setDraggableBlockElem(_draggableBlockElem)\n }\n }\n\n // Since the draggableBlockElem is outside the actual editor, we need to listen to the document\n // to be able to detect when the mouse is outside the editor and respect a buffer around\n // the scrollerElem to avoid the draggableBlockElem disappearing too early.\n document?.addEventListener('mousemove', onDocumentMouseMove)\n\n return () => {\n document?.removeEventListener('mousemove', onDocumentMouseMove)\n }\n }, [scrollerElem, anchorElem, editor, draggableBlockElem])\n\n useEffect(() => {\n if (menuRef.current) {\n setHandlePosition(\n draggableBlockElem,\n menuRef.current,\n anchorElem,\n blockHandleHorizontalOffset,\n )\n }\n }, [anchorElem, draggableBlockElem, blockHandleHorizontalOffset])\n\n useEffect(() => {\n function onDragover(event: DragEvent): boolean {\n if (!isDraggingBlockRef.current) {\n return false\n }\n const [isFileTransfer] = eventFiles(event)\n if (isFileTransfer) {\n return false\n }\n\n const { pageY, target } = event\n if (!isHTMLElement(target)) {\n return false\n }\n\n const distanceFromScrollerElem = calculateDistanceFromScrollerElem(\n scrollerElem,\n event.pageX,\n event.pageY,\n target,\n 100,\n 50,\n )\n\n const topLevelNodeKeys = getTopLevelNodeKeys(editor)\n\n const {\n blockElem: targetBlockElem,\n foundAtIndex,\n isFoundNodeEmptyParagraph,\n } = getNodeCloseToPoint({\n anchorElem,\n editor,\n fuzzy: true,\n horizontalOffset: -distanceFromScrollerElem,\n point: new Point(event.x, event.y),\n startIndex: getCurrentIndex(topLevelNodeKeys.length),\n useEdgeAsDefault: true,\n verbose: true,\n })\n\n prevIndex = foundAtIndex\n\n const targetLineElem = targetLineRef.current\n // targetBlockElem === null shouldn't happen\n if (targetBlockElem === null || targetLineElem === null) {\n return false\n }\n\n // Always prevent default and set dropEffect during drag to maintain the move cursor\n event.preventDefault()\n event.dataTransfer!.dropEffect = 'move'\n\n if (draggableBlockElem !== targetBlockElem) {\n const { isBelow, willStayInSamePosition } = setTargetLine(\n editorConfig?.admin?.hideGutter ? '0px' : 'var(--spacer-5)',\n blockHandleHorizontalOffset +\n (editorConfig?.admin?.hideGutter\n ? (menuRef?.current?.getBoundingClientRect()?.width ?? 0)\n : -(menuRef?.current?.getBoundingClientRect()?.width ?? 0)),\n targetLineElem,\n targetBlockElem,\n lastTargetBlock!,\n pageY,\n anchorElem,\n event,\n debugHighlightRef,\n isFoundNodeEmptyParagraph,\n )\n\n if (!willStayInSamePosition) {\n setLastTargetBlock({\n boundingBox: targetBlockElem.getBoundingClientRect(),\n elem: targetBlockElem,\n isBelow,\n })\n }\n } else if (lastTargetBlock?.elem) {\n hideTargetLine(targetLineElem, lastTargetBlock.elem)\n setLastTargetBlock({\n boundingBox: targetBlockElem.getBoundingClientRect(),\n elem: targetBlockElem,\n isBelow: false,\n })\n }\n\n return true\n }\n\n function onDrop(event: DragEvent): boolean {\n if (!isDraggingBlockRef.current) {\n return false\n }\n const [isFileTransfer] = eventFiles(event)\n if (isFileTransfer) {\n return false\n }\n const { dataTransfer, pageY, target } = event\n const dragData = dataTransfer?.getData(DRAG_DATA_FORMAT) || ''\n\n editor.update(() => {\n const draggedNode = $getNodeByKey(dragData)\n if (!draggedNode) {\n return false\n }\n if (!isHTMLElement(target)) {\n return false\n }\n const distanceFromScrollerElem = calculateDistanceFromScrollerElem(\n scrollerElem,\n event.pageX,\n event.pageY,\n target,\n 100,\n 50,\n )\n\n const { blockElem: targetBlockElem, isFoundNodeEmptyParagraph } = getNodeCloseToPoint({\n anchorElem,\n editor,\n fuzzy: true,\n horizontalOffset: -distanceFromScrollerElem,\n point: new Point(event.x, event.y),\n useEdgeAsDefault: true,\n })\n\n if (!targetBlockElem) {\n return false\n }\n const targetNode = $getNearestNodeFromDOMNode(targetBlockElem)\n if (!targetNode) {\n return false\n }\n if (targetNode === draggedNode) {\n return true\n }\n\n const { height: targetBlockElemHeight, top: targetBlockElemTop } =\n getBoundingClientRectWithoutTransform(targetBlockElem)\n\n const mouseY = pageY\n const isBelow = mouseY >= targetBlockElemTop + targetBlockElemHeight / 2 + window.scrollY\n\n if (!isFoundNodeEmptyParagraph) {\n if (isBelow) {\n // below targetBlockElem\n targetNode.insertAfter(draggedNode)\n } else {\n // above targetBlockElem\n targetNode.insertBefore(draggedNode)\n }\n } else {\n //\n targetNode.insertBefore(draggedNode)\n targetNode.remove()\n }\n\n /*\n if (pageY >= targetBlockElemTop + targetBlockElemHeight / 2) {\n targetNode.insertAfter(draggedNode)\n } else {\n targetNode.insertBefore(draggedNode)\n }*/\n if (draggableBlockElem !== null) {\n setDraggableBlockElem(null)\n }\n\n // find all previous elements with lexical-block-highlighter class and remove them\n const allPrevHighlighters = document.querySelectorAll('.lexical-block-highlighter')\n allPrevHighlighters.forEach((highlighter) => {\n highlighter.remove()\n })\n\n const newInsertedElem = editor.getElementByKey(draggedNode.getKey())\n const highlightTimer = setTimeout(() => {\n // add new temp html element to newInsertedElem with the same height and width and the class block-selected\n // to highlight the new inserted element\n const newInsertedElemRect = newInsertedElem?.getBoundingClientRect()\n if (!newInsertedElemRect) {\n return\n }\n const highlightElem = document.createElement('div')\n highlightElem.className = 'lexical-block-highlighter'\n\n highlightElem.style.backgroundColor = 'var(--color-bg-inverse)'\n highlightElem.style.transition = 'opacity 0.5s ease-in-out'\n highlightElem.style.zIndex = '1'\n highlightElem.style.pointerEvents = 'none'\n highlightElem.style.boxSizing = 'border-box'\n highlightElem.style.borderRadius = '4px'\n highlightElem.style.position = 'absolute'\n document.body.appendChild(highlightElem)\n\n highlightElem.style.opacity = '0.1'\n\n highlightElem.style.height = `${newInsertedElemRect.height + 8}px`\n highlightElem.style.width = `${newInsertedElemRect.width + 8}px`\n highlightElem.style.top = `${newInsertedElemRect.top + window.scrollY - 4}px`\n highlightElem.style.left = `${newInsertedElemRect.left - 4}px`\n\n const fadeTimer = setTimeout(() => {\n highlightElem.style.opacity = '0'\n const removeTimer = setTimeout(() => {\n highlightElem.remove()\n }, 500)\n highlightTimersRef.current.push(removeTimer)\n }, 1000)\n highlightTimersRef.current.push(fadeTimer)\n }, 120)\n highlightTimersRef.current.push(highlightTimer)\n })\n\n return true\n }\n\n // register onDragover event listeners:\n document.addEventListener('dragover', onDragover)\n // register onDrop event listeners:\n document.addEventListener('drop', onDrop)\n\n return () => {\n document.removeEventListener('dragover', onDragover)\n document.removeEventListener('drop', onDrop)\n highlightTimersRef.current.forEach(clearTimeout)\n highlightTimersRef.current = []\n }\n }, [\n scrollerElem,\n blockHandleHorizontalOffset,\n anchorElem,\n editor,\n lastTargetBlock,\n draggableBlockElem,\n editorConfig?.admin?.hideGutter,\n ])\n\n function onDragStart(event: ReactDragEvent<HTMLButtonElement>): void {\n const dataTransfer = event.dataTransfer\n if (!dataTransfer || !draggableBlockElem) {\n return\n }\n setDragImage(dataTransfer, draggableBlockElem)\n dataTransfer.effectAllowed = 'move'\n let nodeKey = ''\n editor.update(() => {\n const node = $getNearestNodeFromDOMNode(draggableBlockElem)\n if (node) {\n nodeKey = node.getKey()\n }\n })\n isDraggingBlockRef.current = true\n dataTransfer.setData(DRAG_DATA_FORMAT, nodeKey)\n }\n\n function onDragEnd(): void {\n isDraggingBlockRef.current = false\n if (lastTargetBlock?.elem) {\n hideTargetLine(targetLineRef.current, lastTargetBlock?.elem)\n }\n }\n\n return createPortal(\n <React.Fragment>\n <button\n aria-label=\"Drag to move\"\n className=\"icon draggable-block-menu\"\n draggable\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n ref={menuRef}\n type=\"button\"\n >\n <div className={isEditable ? 'icon' : ''} />\n </button>\n <div className=\"draggable-block-target-line\" ref={targetLineRef} />\n <div className=\"debug-highlight\" ref={debugHighlightRef} />\n </React.Fragment>,\n anchorElem,\n )\n}\n\nexport function DraggableBlockPlugin({\n anchorElem = document.body,\n}: {\n anchorElem?: HTMLElement\n}): React.ReactElement {\n const [editor] = useLexicalComposerContext()\n return useDraggableBlockMenu(editor, anchorElem, editor._editable)\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,yBAAyB,QAAQ;AAC1C,SAASC,UAAU,QAAQ;AAC3B,SAASC,0BAA0B,EAAEC,aAAa,EAAEC,aAAa,QAAQ;AACzE,YAAYC,KAAA,MAAW;AACvB,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAC5C,SAASC,YAAY,QAAQ;AAE7B,SAASC,sBAAsB,QAAQ;AACvC,SAASC,KAAK,QAAQ;AACtB,SAASC,iCAAiC,QAAQ;AAClD,SAASC,mBAAmB,QAAQ;AACpC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,qCAAqC,QAAQ;AACtD,OAAO;AACP,SAASC,aAAa,QAAQ;AAE9B,MAAMC,8BAAA,GAAiC;AACvC,MAAMC,gBAAA,GAAmB;AAEzB,IAAIC,SAAA,GAAYC,QAAA;AAEhB,SAASC,gBAAgBC,UAAkB;EACzC,IAAIA,UAAA,KAAe,GAAG;IACpB,OAAOF,QAAA;EACT;EACA,IAAID,SAAA,IAAa,KAAKA,SAAA,GAAYG,UAAA,EAAY;IAC5C,OAAOH,SAAA;EACT;EAEA,OAAOI,IAAA,CAAKC,KAAK,CAACF,UAAA,GAAa;AACjC;AAEA,SAASG,aAAaC,YAA0B,EAAEC,kBAA+B;EAC/E,MAAM;IAAEC;EAAS,CAAE,GAAGD,kBAAA,CAAmBE,KAAK;EAE9C;EACAH,YAAA,CAAaD,YAAY,CAACE,kBAAA,EAAoB,GAAG;EAEjDG,UAAA,CAAW;IACTH,kBAAA,CAAmBE,KAAK,CAACD,SAAS,GAAGA,SAAA;EACvC;AACF;AAEA,SAASG,eACPC,cAAkC,EAClCC,mBAAuC;EAEvC,IAAID,cAAA,EAAgB;IAClBA,cAAA,CAAeH,KAAK,CAACK,OAAO,GAAG;EACjC;EACA,IAAID,mBAAA,EAAqB;IACvBA,mBAAA,CAAoBJ,KAAK,CAACK,OAAO,GAAG;IACpC;IACAD,mBAAA,CAAoBJ,KAAK,CAACM,YAAY,GAAG;IACzCF,mBAAA,CAAoBJ,KAAK,CAACO,SAAS,GAAG;IACtC;EACF;AACF;AAEA,SAASC,sBACPC,MAAqB,EACrBC,UAAuB,EACvBC,UAAmB;EAEnB,MAAMC,YAAA,GAAeF,UAAA,CAAWG,aAAa;EAE7C,MAAMC,OAAA,GAAUtC,MAAA,CAA0B;EAC1C,MAAMuC,aAAA,GAAgBvC,MAAA,CAAuB;EAC7C,MAAMwC,iBAAA,GAAoBxC,MAAA,CAAuB;EACjD,MAAMyC,kBAAA,GAAqBzC,MAAA,CAAgB;EAC3C,MAAM0C,kBAAA,GAAqB1C,MAAA,CAAwC,EAAE;EACrE,MAAM,CAACsB,kBAAA,EAAoBqB,qBAAA,CAAsB,GAAG1C,QAAA,CAA6B;EACjF,MAAM,CAAC2C,eAAA,EAAiBC,kBAAA,CAAmB,GAAG5C,QAAA,CAIpC;EAEV,MAAM;IAAE6C;EAAY,CAAE,GAAG3C,sBAAA;EAEzB,MAAM4C,2BAAA,GAA8BD,YAAA,EAAcE,KAAA,EAAOC,UAAA,GAAa,CAAC,KAAK,CAAC;EAE7ElD,SAAA,CAAU;IACR;;;IAGA,SAASmD,oBAAoBC,KAAiB;MAC5C,MAAMC,MAAA,GAASD,KAAA,CAAMC,MAAM;MAC3B,IAAI,CAACvD,aAAA,CAAcuD,MAAA,GAAS;QAC1B;MACF;MAEA,MAAMC,wBAAA,GAA2BhD,iCAAA,CAC/B+B,YAAA,EACAe,KAAA,CAAMG,KAAK,EACXH,KAAA,CAAMI,KAAK,EACXH,MAAA;MAEF,IAAIC,wBAAA,KAA6B,CAAC,GAAG;QACnCV,qBAAA,CAAsB;QACtB;MACF;MAEA,IAAInC,iBAAA,CAAkB4C,MAAA,EAAQxC,8BAAA,GAAiC;QAC7D;MACF;MAEA,MAAM4C,gBAAA,GAAmBjD,mBAAA,CAAoB0B,MAAA;MAE7C,MAAM;QACJwB,SAAA,EAAWC,mBAAmB;QAC9BC,YAAY;QACZC;MAAyB,CAC1B,GAAGtD,mBAAA,CAAoB;QACtB4B,UAAA;QACA2B,eAAA,EAAiB;QACjB5B,MAAA;QACA6B,gBAAA,EAAkB,CAACT,wBAAA;QACnBU,KAAA,EAAO,IAAI3D,KAAA,CAAM+C,KAAA,CAAMa,CAAC,EAAEb,KAAA,CAAMc,CAAC;QACjCC,UAAA,EAAYlD,eAAA,CAAgBwC,gBAAA,CAAiBW,MAAM;QACnDC,gBAAA,EAAkB;QAClBC,OAAA,EAAS;MACX;MAEAvD,SAAA,GAAY6C,YAAA;MAEZ;MACA;MACA;MACA;MAEA,IAAI,CAACD,mBAAA,IAAuB,CAACE,yBAAA,EAA2B;QACtD;MACF;MAEA,IAAItC,kBAAA,KAAuBoC,mBAAA,EAAqB;QAC9Cf,qBAAA,CAAsBe,mBAAA;MACxB;IACF;IAEA;IACA;IACA;IACAY,QAAA,EAAUC,gBAAA,CAAiB,aAAarB,mBAAA;IAExC,OAAO;MACLoB,QAAA,EAAUE,mBAAA,CAAoB,aAAatB,mBAAA;IAC7C;EACF,GAAG,CAACd,YAAA,EAAcF,UAAA,EAAYD,MAAA,EAAQX,kBAAA,CAAmB;EAEzDvB,SAAA,CAAU;IACR,IAAIuC,OAAA,CAAQmC,OAAO,EAAE;MACnBhE,iBAAA,CACEa,kBAAA,EACAgB,OAAA,CAAQmC,OAAO,EACfvC,UAAA,EACAa,2BAAA;IAEJ;EACF,GAAG,CAACb,UAAA,EAAYZ,kBAAA,EAAoByB,2BAAA,CAA4B;EAEhEhD,SAAA,CAAU;IACR,SAAS2E,WAAWvB,OAAgB;MAClC,IAAI,CAACV,kBAAA,CAAmBgC,OAAO,EAAE;QAC/B,OAAO;MACT;MACA,MAAM,CAACE,cAAA,CAAe,GAAGjF,UAAA,CAAWyD,OAAA;MACpC,IAAIwB,cAAA,EAAgB;QAClB,OAAO;MACT;MAEA,MAAM;QAAEpB,KAAK;QAAEH,MAAM,EAANA;MAAM,CAAE,GAAGD,OAAA;MAC1B,IAAI,CAACtD,aAAA,CAAcuD,QAAA,GAAS;QAC1B,OAAO;MACT;MAEA,MAAMC,0BAAA,GAA2BhD,iCAAA,CAC/B+B,YAAA,EACAe,OAAA,CAAMG,KAAK,EACXH,OAAA,CAAMI,KAAK,EACXH,QAAA,EACA,KACA;MAGF,MAAMI,kBAAA,GAAmBjD,mBAAA,CAAoB0B,MAAA;MAE7C,MAAM;QACJwB,SAAA,EAAWmB,eAAe;QAC1BjB,YAAY,EAAZA,cAAY;QACZC,yBAAyB,EAAzBA;MAAyB,CAC1B,GAAGtD,mBAAA,CAAoB;QACtB4B,UAAA;QACAD,MAAA;QACA4C,KAAA,EAAO;QACPf,gBAAA,EAAkB,CAACT,0BAAA;QACnBU,KAAA,EAAO,IAAI3D,KAAA,CAAM+C,OAAA,CAAMa,CAAC,EAAEb,OAAA,CAAMc,CAAC;QACjCC,UAAA,EAAYlD,eAAA,CAAgBwC,kBAAA,CAAiBW,MAAM;QACnDC,gBAAA,EAAkB;QAClBC,OAAA,EAAS;MACX;MAEAvD,SAAA,GAAY6C,cAAA;MAEZ,MAAMhC,cAAA,GAAiBY,aAAA,CAAckC,OAAO;MAC5C;MACA,IAAIG,eAAA,KAAoB,QAAQjD,cAAA,KAAmB,MAAM;QACvD,OAAO;MACT;MAEA;MACAwB,OAAA,CAAM2B,cAAc;MACpB3B,OAAA,CAAM9B,YAAY,CAAE0D,UAAU,GAAG;MAEjC,IAAIzD,kBAAA,KAAuBsD,eAAA,EAAiB;QAC1C,MAAM;UAAEI,OAAO;UAAEC;QAAsB,CAAE,GAAGtE,aAAA,CAC1CmC,YAAA,EAAcE,KAAA,EAAOC,UAAA,GAAa,QAAQ,mBAC1CF,2BAAA,IACGD,YAAA,EAAcE,KAAA,EAAOC,UAAA,GACjBX,OAAA,EAASmC,OAAA,EAASS,qBAAA,IAAyBC,KAAA,IAAS,IACrD,EAAE7C,OAAA,EAASmC,OAAA,EAASS,qBAAA,IAAyBC,KAAA,IAAS,EAAC,GAC7DxD,cAAA,EACAiD,eAAA,EACAhC,eAAA,EACAW,KAAA,EACArB,UAAA,EACAiB,OAAA,EACAX,iBAAA,EACAoB,2BAAA;QAGF,IAAI,CAACqB,sBAAA,EAAwB;UAC3BpC,kBAAA,CAAmB;YACjBuC,WAAA,EAAaR,eAAA,CAAgBM,qBAAqB;YAClDG,IAAA,EAAMT,eAAA;YACNI;UACF;QACF;MACF,OAAO,IAAIpC,eAAA,EAAiByC,IAAA,EAAM;QAChC3D,cAAA,CAAeC,cAAA,EAAgBiB,eAAA,CAAgByC,IAAI;QACnDxC,kBAAA,CAAmB;UACjBuC,WAAA,EAAaR,eAAA,CAAgBM,qBAAqB;UAClDG,IAAA,EAAMT,eAAA;UACNI,OAAA,EAAS;QACX;MACF;MAEA,OAAO;IACT;IAEA,SAASM,OAAOnC,OAAgB;MAC9B,IAAI,CAACV,kBAAA,CAAmBgC,OAAO,EAAE;QAC/B,OAAO;MACT;MACA,MAAM,CAACE,gBAAA,CAAe,GAAGjF,UAAA,CAAWyD,OAAA;MACpC,IAAIwB,gBAAA,EAAgB;QAClB,OAAO;MACT;MACA,MAAM;QAAEtD,YAAY;QAAEkC,KAAK,EAALA,OAAK;QAAEH,MAAM,EAANA;MAAM,CAAE,GAAGD,OAAA;MACxC,MAAMoC,QAAA,GAAWlE,YAAA,EAAcmE,OAAA,CAAQ3E,gBAAA,KAAqB;MAE5DoB,MAAA,CAAOwD,MAAM,CAAC;QACZ,MAAMC,WAAA,GAAc9F,aAAA,CAAc2F,QAAA;QAClC,IAAI,CAACG,WAAA,EAAa;UAChB,OAAO;QACT;QACA,IAAI,CAAC7F,aAAA,CAAcuD,QAAA,GAAS;UAC1B,OAAO;QACT;QACA,MAAMC,0BAAA,GAA2BhD,iCAAA,CAC/B+B,YAAA,EACAe,OAAA,CAAMG,KAAK,EACXH,OAAA,CAAMI,KAAK,EACXH,QAAA,EACA,KACA;QAGF,MAAM;UAAEK,SAAA,EAAWmB,iBAAe;UAAEhB,yBAAyB,EAAzBA;QAAyB,CAAE,GAAGtD,mBAAA,CAAoB;UACpF4B,UAAA;UACAD,MAAA;UACA4C,KAAA,EAAO;UACPf,gBAAA,EAAkB,CAACT,0BAAA;UACnBU,KAAA,EAAO,IAAI3D,KAAA,CAAM+C,OAAA,CAAMa,CAAC,EAAEb,OAAA,CAAMc,CAAC;UACjCG,gBAAA,EAAkB;QACpB;QAEA,IAAI,CAACQ,iBAAA,EAAiB;UACpB,OAAO;QACT;QACA,MAAMe,UAAA,GAAahG,0BAAA,CAA2BiF,iBAAA;QAC9C,IAAI,CAACe,UAAA,EAAY;UACf,OAAO;QACT;QACA,IAAIA,UAAA,KAAeD,WAAA,EAAa;UAC9B,OAAO;QACT;QAEA,MAAM;UAAEE,MAAA,EAAQC,qBAAqB;UAAEC,GAAA,EAAKC;QAAkB,CAAE,GAC9DrF,qCAAA,CAAsCkE,iBAAA;QAExC,MAAMoB,MAAA,GAASzC,OAAA;QACf,MAAMyB,SAAA,GAAUgB,MAAA,IAAUD,kBAAA,GAAqBF,qBAAA,GAAwB,IAAII,MAAA,CAAOC,OAAO;QAEzF,IAAI,CAACtC,2BAAA,EAA2B;UAC9B,IAAIoB,SAAA,EAAS;YACX;YACAW,UAAA,CAAWQ,WAAW,CAACT,WAAA;UACzB,OAAO;YACL;YACAC,UAAA,CAAWS,YAAY,CAACV,WAAA;UAC1B;QACF,OAAO;UACL;UACAC,UAAA,CAAWS,YAAY,CAACV,WAAA;UACxBC,UAAA,CAAWU,MAAM;QACnB;QAEA;;;;;;QAMA,IAAI/E,kBAAA,KAAuB,MAAM;UAC/BqB,qBAAA,CAAsB;QACxB;QAEA;QACA,MAAM2D,mBAAA,GAAsBhC,QAAA,CAASiC,gBAAgB,CAAC;QACtDD,mBAAA,CAAoBE,OAAO,CAAEC,WAAA;UAC3BA,WAAA,CAAYJ,MAAM;QACpB;QAEA,MAAMK,eAAA,GAAkBzE,MAAA,CAAO0E,eAAe,CAACjB,WAAA,CAAYkB,MAAM;QACjE,MAAMC,cAAA,GAAiBpF,UAAA,CAAW;UAChC;UACA;UACA,MAAMqF,mBAAA,GAAsBJ,eAAA,EAAiBxB,qBAAA;UAC7C,IAAI,CAAC4B,mBAAA,EAAqB;YACxB;UACF;UACA,MAAMC,aAAA,GAAgBzC,QAAA,CAAS0C,aAAa,CAAC;UAC7CD,aAAA,CAAcE,SAAS,GAAG;UAE1BF,aAAA,CAAcvF,KAAK,CAAC0F,eAAe,GAAG;UACtCH,aAAA,CAAcvF,KAAK,CAAC2F,UAAU,GAAG;UACjCJ,aAAA,CAAcvF,KAAK,CAAC4F,MAAM,GAAG;UAC7BL,aAAA,CAAcvF,KAAK,CAAC6F,aAAa,GAAG;UACpCN,aAAA,CAAcvF,KAAK,CAAC8F,SAAS,GAAG;UAChCP,aAAA,CAAcvF,KAAK,CAAC+F,YAAY,GAAG;UACnCR,aAAA,CAAcvF,KAAK,CAACgG,QAAQ,GAAG;UAC/BlD,QAAA,CAASmD,IAAI,CAACC,WAAW,CAACX,aAAA;UAE1BA,aAAA,CAAcvF,KAAK,CAACK,OAAO,GAAG;UAE9BkF,aAAA,CAAcvF,KAAK,CAACoE,MAAM,GAAG,GAAGkB,mBAAA,CAAoBlB,MAAM,GAAG,KAAK;UAClEmB,aAAA,CAAcvF,KAAK,CAAC2D,KAAK,GAAG,GAAG2B,mBAAA,CAAoB3B,KAAK,GAAG,KAAK;UAChE4B,aAAA,CAAcvF,KAAK,CAACsE,GAAG,GAAG,GAAGgB,mBAAA,CAAoBhB,GAAG,GAAGG,MAAA,CAAOC,OAAO,GAAG,KAAK;UAC7Ea,aAAA,CAAcvF,KAAK,CAACmG,IAAI,GAAG,GAAGb,mBAAA,CAAoBa,IAAI,GAAG,KAAK;UAE9D,MAAMC,SAAA,GAAYnG,UAAA,CAAW;YAC3BsF,aAAA,CAAcvF,KAAK,CAACK,OAAO,GAAG;YAC9B,MAAMgG,WAAA,GAAcpG,UAAA,CAAW;cAC7BsF,aAAA,CAAcV,MAAM;YACtB,GAAG;YACH3D,kBAAA,CAAmB+B,OAAO,CAACqD,IAAI,CAACD,WAAA;UAClC,GAAG;UACHnF,kBAAA,CAAmB+B,OAAO,CAACqD,IAAI,CAACF,SAAA;QAClC,GAAG;QACHlF,kBAAA,CAAmB+B,OAAO,CAACqD,IAAI,CAACjB,cAAA;MAClC;MAEA,OAAO;IACT;IAEA;IACAvC,QAAA,CAASC,gBAAgB,CAAC,YAAYG,UAAA;IACtC;IACAJ,QAAA,CAASC,gBAAgB,CAAC,QAAQe,MAAA;IAElC,OAAO;MACLhB,QAAA,CAASE,mBAAmB,CAAC,YAAYE,UAAA;MACzCJ,QAAA,CAASE,mBAAmB,CAAC,QAAQc,MAAA;MACrC5C,kBAAA,CAAmB+B,OAAO,CAAC+B,OAAO,CAACuB,YAAA;MACnCrF,kBAAA,CAAmB+B,OAAO,GAAG,EAAE;IACjC;EACF,GAAG,CACDrC,YAAA,EACAW,2BAAA,EACAb,UAAA,EACAD,MAAA,EACAW,eAAA,EACAtB,kBAAA,EACAwB,YAAA,EAAcE,KAAA,EAAOC,UAAA,CACtB;EAED,SAAS+E,YAAY7E,OAAwC;IAC3D,MAAM9B,cAAA,GAAe8B,OAAA,CAAM9B,YAAY;IACvC,IAAI,CAACA,cAAA,IAAgB,CAACC,kBAAA,EAAoB;MACxC;IACF;IACAF,YAAA,CAAaC,cAAA,EAAcC,kBAAA;IAC3BD,cAAA,CAAa4G,aAAa,GAAG;IAC7B,IAAIC,OAAA,GAAU;IACdjG,MAAA,CAAOwD,MAAM,CAAC;MACZ,MAAM0C,IAAA,GAAOxI,0BAAA,CAA2B2B,kBAAA;MACxC,IAAI6G,IAAA,EAAM;QACRD,OAAA,GAAUC,IAAA,CAAKvB,MAAM;MACvB;IACF;IACAnE,kBAAA,CAAmBgC,OAAO,GAAG;IAC7BpD,cAAA,CAAa+G,OAAO,CAACvH,gBAAA,EAAkBqH,OAAA;EACzC;EAEA,SAASG,UAAA;IACP5F,kBAAA,CAAmBgC,OAAO,GAAG;IAC7B,IAAI7B,eAAA,EAAiByC,IAAA,EAAM;MACzB3D,cAAA,CAAea,aAAA,CAAckC,OAAO,EAAE7B,eAAA,EAAiByC,IAAA;IACzD;EACF;EAEA,oBAAOnF,YAAA,cACLoI,KAAA,CAACxI,KAAA,CAAMyI,QAAQ;4BACbC,IAAA,CAAC;MACC,cAAW;MACXvB,SAAA,EAAU;MACVwB,SAAS;MACTJ,SAAA,EAAWA,SAAA;MACXL,WAAA,EAAaA,WAAA;MACbU,GAAA,EAAKpG,OAAA;MACLqG,IAAA,EAAK;gBAEL,aAAAH,IAAA,CAAC;QAAIvB,SAAA,EAAW9E,UAAA,GAAa,SAAS;;qBAExCqG,IAAA,CAAC;MAAIvB,SAAA,EAAU;MAA8ByB,GAAA,EAAKnG;qBAClDiG,IAAA,CAAC;MAAIvB,SAAA,EAAU;MAAkByB,GAAA,EAAKlG;;MAExCN,UAAA;AAEJ;AAEA,OAAO,SAAA0G,qBAAAC,EAAA;EAA8B;IAAA3G,UAAA,EAAA4G;EAAA,IAAAD,EAIpC;EAHC,MAAA3G,UAAA,GAAA4G,EAA0B,KAAAC,SAAA,GAAAzE,QAAA,CAAAmD,IAAA,GAA1BqB,EAA0B;EAI1B,OAAA7G,MAAA,IAAiBxC,yBAAA;EAAA,OACVuC,qBAAA,CAAsBC,MAAA,EAAQC,UAAA,EAAYD,MAAA,CAAA+G,SAAgB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useLexicalComposerContext","eventFiles","useTranslation","$getNearestNodeFromDOMNode","$getNodeByKey","isHTMLElement","React","useEffect","useId","useRef","useState","createPortal","useEditorConfigContext","Point","calculateDistanceFromScrollerElem","getNodeCloseToPoint","getTopLevelNodeKeys","isOnHandleElement","setHandlePosition","getBoundingClientRectWithoutTransform","setTargetLine","useKeyboardReordering","DRAGGABLE_BLOCK_MENU_CLASSNAME","DRAG_DATA_FORMAT","prevIndex","Infinity","getCurrentIndex","keysLength","Math","floor","setDragImage","dataTransfer","draggableBlockElem","transform","style","setTimeout","hideTargetLine","targetLineElem","lastTargetBlockElem","opacity","marginBottom","marginTop","useDraggableBlockMenu","editor","anchorElem","isEditable","scrollerElem","parentElement","instructionsID","t","menuRef","targetLineRef","debugHighlightRef","isDraggingBlockRef","highlightTimersRef","setDraggableBlockElem","lastTargetBlock","setLastTargetBlock","editorConfig","blockHandleHorizontalOffset","admin","hideGutter","onDocumentMouseMove","event","target","distanceFromScrollerElem","pageX","pageY","topLevelNodeKeys","blockElem","_draggableBlockElem","foundAtIndex","isFoundNodeEmptyParagraph","cache_threshold","horizontalOffset","point","x","y","startIndex","length","useEdgeAsDefault","verbose","document","addEventListener","removeEventListener","current","onDragover","isFileTransfer","targetBlockElem","fuzzy","preventDefault","dropEffect","isBelow","willStayInSamePosition","getBoundingClientRect","width","boundingBox","elem","onDrop","dragData","getData","update","draggedNode","targetNode","height","targetBlockElemHeight","top","targetBlockElemTop","mouseY","window","scrollY","insertAfter","insertBefore","remove","allPrevHighlighters","querySelectorAll","forEach","highlighter","newInsertedElem","getElementByKey","getKey","highlightTimer","newInsertedElemRect","highlightElem","createElement","className","backgroundColor","transition","zIndex","pointerEvents","boxSizing","borderRadius","position","body","appendChild","left","fadeTimer","removeTimer","push","clearTimeout","onDragStart","effectAllowed","nodeKey","node","setData","onDragEnd","_jsxs","Fragment","id","_jsx","draggable","ref","type","DraggableBlockPlugin","t0","t1","undefined","_editable"],"sources":["../../../../../src/lexical/plugins/handles/DraggableBlockPlugin/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\nimport type { DragEvent as ReactDragEvent } from 'react'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { eventFiles } from '@lexical/rich-text'\nimport { useTranslation } from '@payloadcms/ui'\nimport { $getNearestNodeFromDOMNode, $getNodeByKey, isHTMLElement } from 'lexical'\nimport * as React from 'react'\nimport { useEffect, useId, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useEditorConfigContext } from '../../../config/client/EditorConfigProvider.js'\nimport { Point } from '../../../utils/point.js'\nimport { calculateDistanceFromScrollerElem } from '../utils/calculateDistanceFromScrollerElem.js'\nimport { getNodeCloseToPoint } from '../utils/getNodeCloseToPoint.js'\nimport { getTopLevelNodeKeys } from '../utils/getTopLevelNodeKeys.js'\nimport { isOnHandleElement } from '../utils/isOnHandleElement.js'\nimport { setHandlePosition } from '../utils/setHandlePosition.js'\nimport { getBoundingClientRectWithoutTransform } from './getBoundingRectWithoutTransform.js'\nimport './index.css'\nimport { setTargetLine } from './setTargetLine.js'\nimport { useKeyboardReordering } from './useKeyboardReordering.js'\n\nconst DRAGGABLE_BLOCK_MENU_CLASSNAME = 'draggable-block-menu'\nconst DRAG_DATA_FORMAT = 'application/x-lexical-drag-block'\n\nlet prevIndex = Infinity\n\nfunction getCurrentIndex(keysLength: number): number {\n if (keysLength === 0) {\n return Infinity\n }\n if (prevIndex >= 0 && prevIndex < keysLength) {\n return prevIndex\n }\n\n return Math.floor(keysLength / 2)\n}\n\nfunction setDragImage(dataTransfer: DataTransfer, draggableBlockElem: HTMLElement) {\n const { transform } = draggableBlockElem.style\n\n // Remove dragImage borders\n dataTransfer.setDragImage(draggableBlockElem, 0, 0)\n\n setTimeout(() => {\n draggableBlockElem.style.transform = transform\n })\n}\n\nfunction hideTargetLine(\n targetLineElem: HTMLElement | null,\n lastTargetBlockElem: HTMLElement | null,\n) {\n if (targetLineElem) {\n targetLineElem.style.opacity = '0'\n }\n if (lastTargetBlockElem) {\n lastTargetBlockElem.style.opacity = ''\n // Delete marginBottom and marginTop values we set\n lastTargetBlockElem.style.marginBottom = ''\n lastTargetBlockElem.style.marginTop = ''\n //lastTargetBlock.style.border = 'none'\n }\n}\n\nfunction useDraggableBlockMenu(\n editor: LexicalEditor,\n anchorElem: HTMLElement,\n isEditable: boolean,\n): React.ReactElement {\n const scrollerElem = anchorElem.parentElement\n const instructionsID = useId()\n const { t } = useTranslation()\n\n useKeyboardReordering({ editor, instructionsID })\n\n const menuRef = useRef<HTMLButtonElement>(null)\n const targetLineRef = useRef<HTMLDivElement>(null)\n const debugHighlightRef = useRef<HTMLDivElement>(null)\n const isDraggingBlockRef = useRef<boolean>(false)\n const highlightTimersRef = useRef<ReturnType<typeof setTimeout>[]>([])\n const [draggableBlockElem, setDraggableBlockElem] = useState<HTMLElement | null>(null)\n const [lastTargetBlock, setLastTargetBlock] = useState<{\n boundingBox?: DOMRect\n elem: HTMLElement | null\n isBelow: boolean\n } | null>(null)\n\n const { editorConfig } = useEditorConfigContext()\n\n const blockHandleHorizontalOffset = editorConfig?.admin?.hideGutter ? -44 : -8\n\n useEffect(() => {\n /**\n * Handles positioning of the drag handle\n */\n function onDocumentMouseMove(event: MouseEvent) {\n const target = event.target\n if (!isHTMLElement(target)) {\n return\n }\n\n const distanceFromScrollerElem = calculateDistanceFromScrollerElem(\n scrollerElem,\n event.pageX,\n event.pageY,\n target,\n )\n if (distanceFromScrollerElem === -1) {\n setDraggableBlockElem(null)\n return\n }\n\n if (isOnHandleElement(target, DRAGGABLE_BLOCK_MENU_CLASSNAME)) {\n return\n }\n\n const topLevelNodeKeys = getTopLevelNodeKeys(editor)\n\n const {\n blockElem: _draggableBlockElem,\n foundAtIndex,\n isFoundNodeEmptyParagraph,\n } = getNodeCloseToPoint({\n anchorElem,\n cache_threshold: 0,\n editor,\n horizontalOffset: -distanceFromScrollerElem,\n point: new Point(event.x, event.y),\n startIndex: getCurrentIndex(topLevelNodeKeys.length),\n useEdgeAsDefault: false,\n verbose: false,\n })\n\n prevIndex = foundAtIndex\n\n //if (DEBUG && _draggableBlockElem) {\n //targetBlockElem.style.border = '3px solid red'\n // highlightElemOriginalPosition(debugHighlightRef, _draggableBlockElem, anchorElem)\n //}\n\n if (!_draggableBlockElem && !isFoundNodeEmptyParagraph) {\n return\n }\n\n if (draggableBlockElem !== _draggableBlockElem) {\n setDraggableBlockElem(_draggableBlockElem)\n }\n }\n\n // Since the draggableBlockElem is outside the actual editor, we need to listen to the document\n // to be able to detect when the mouse is outside the editor and respect a buffer around\n // the scrollerElem to avoid the draggableBlockElem disappearing too early.\n document?.addEventListener('mousemove', onDocumentMouseMove)\n\n return () => {\n document?.removeEventListener('mousemove', onDocumentMouseMove)\n }\n }, [scrollerElem, anchorElem, editor, draggableBlockElem])\n\n useEffect(() => {\n if (menuRef.current) {\n setHandlePosition(\n draggableBlockElem,\n menuRef.current,\n anchorElem,\n blockHandleHorizontalOffset,\n )\n }\n }, [anchorElem, draggableBlockElem, blockHandleHorizontalOffset])\n\n useEffect(() => {\n function onDragover(event: DragEvent): boolean {\n if (!isDraggingBlockRef.current) {\n return false\n }\n const [isFileTransfer] = eventFiles(event)\n if (isFileTransfer) {\n return false\n }\n\n const { pageY, target } = event\n if (!isHTMLElement(target)) {\n return false\n }\n\n const distanceFromScrollerElem = calculateDistanceFromScrollerElem(\n scrollerElem,\n event.pageX,\n event.pageY,\n target,\n 100,\n 50,\n )\n\n const topLevelNodeKeys = getTopLevelNodeKeys(editor)\n\n const {\n blockElem: targetBlockElem,\n foundAtIndex,\n isFoundNodeEmptyParagraph,\n } = getNodeCloseToPoint({\n anchorElem,\n editor,\n fuzzy: true,\n horizontalOffset: -distanceFromScrollerElem,\n point: new Point(event.x, event.y),\n startIndex: getCurrentIndex(topLevelNodeKeys.length),\n useEdgeAsDefault: true,\n verbose: true,\n })\n\n prevIndex = foundAtIndex\n\n const targetLineElem = targetLineRef.current\n // targetBlockElem === null shouldn't happen\n if (targetBlockElem === null || targetLineElem === null) {\n return false\n }\n\n // Always prevent default and set dropEffect during drag to maintain the move cursor\n event.preventDefault()\n event.dataTransfer!.dropEffect = 'move'\n\n if (draggableBlockElem !== targetBlockElem) {\n const { isBelow, willStayInSamePosition } = setTargetLine(\n editorConfig?.admin?.hideGutter ? '0px' : 'var(--spacer-5)',\n blockHandleHorizontalOffset +\n (editorConfig?.admin?.hideGutter\n ? (menuRef?.current?.getBoundingClientRect()?.width ?? 0)\n : -(menuRef?.current?.getBoundingClientRect()?.width ?? 0)),\n targetLineElem,\n targetBlockElem,\n lastTargetBlock!,\n pageY,\n anchorElem,\n event,\n debugHighlightRef,\n isFoundNodeEmptyParagraph,\n )\n\n if (!willStayInSamePosition) {\n setLastTargetBlock({\n boundingBox: targetBlockElem.getBoundingClientRect(),\n elem: targetBlockElem,\n isBelow,\n })\n }\n } else if (lastTargetBlock?.elem) {\n hideTargetLine(targetLineElem, lastTargetBlock.elem)\n setLastTargetBlock({\n boundingBox: targetBlockElem.getBoundingClientRect(),\n elem: targetBlockElem,\n isBelow: false,\n })\n }\n\n return true\n }\n\n function onDrop(event: DragEvent): boolean {\n if (!isDraggingBlockRef.current) {\n return false\n }\n const [isFileTransfer] = eventFiles(event)\n if (isFileTransfer) {\n return false\n }\n const { dataTransfer, pageY, target } = event\n const dragData = dataTransfer?.getData(DRAG_DATA_FORMAT) || ''\n\n editor.update(() => {\n const draggedNode = $getNodeByKey(dragData)\n if (!draggedNode) {\n return false\n }\n if (!isHTMLElement(target)) {\n return false\n }\n const distanceFromScrollerElem = calculateDistanceFromScrollerElem(\n scrollerElem,\n event.pageX,\n event.pageY,\n target,\n 100,\n 50,\n )\n\n const { blockElem: targetBlockElem, isFoundNodeEmptyParagraph } = getNodeCloseToPoint({\n anchorElem,\n editor,\n fuzzy: true,\n horizontalOffset: -distanceFromScrollerElem,\n point: new Point(event.x, event.y),\n useEdgeAsDefault: true,\n })\n\n if (!targetBlockElem) {\n return false\n }\n const targetNode = $getNearestNodeFromDOMNode(targetBlockElem)\n if (!targetNode) {\n return false\n }\n if (targetNode === draggedNode) {\n return true\n }\n\n const { height: targetBlockElemHeight, top: targetBlockElemTop } =\n getBoundingClientRectWithoutTransform(targetBlockElem)\n\n const mouseY = pageY\n const isBelow = mouseY >= targetBlockElemTop + targetBlockElemHeight / 2 + window.scrollY\n\n if (!isFoundNodeEmptyParagraph) {\n if (isBelow) {\n // below targetBlockElem\n targetNode.insertAfter(draggedNode)\n } else {\n // above targetBlockElem\n targetNode.insertBefore(draggedNode)\n }\n } else {\n //\n targetNode.insertBefore(draggedNode)\n targetNode.remove()\n }\n\n /*\n if (pageY >= targetBlockElemTop + targetBlockElemHeight / 2) {\n targetNode.insertAfter(draggedNode)\n } else {\n targetNode.insertBefore(draggedNode)\n }*/\n if (draggableBlockElem !== null) {\n setDraggableBlockElem(null)\n }\n\n // find all previous elements with lexical-block-highlighter class and remove them\n const allPrevHighlighters = document.querySelectorAll('.lexical-block-highlighter')\n allPrevHighlighters.forEach((highlighter) => {\n highlighter.remove()\n })\n\n const newInsertedElem = editor.getElementByKey(draggedNode.getKey())\n const highlightTimer = setTimeout(() => {\n // add new temp html element to newInsertedElem with the same height and width and the class block-selected\n // to highlight the new inserted element\n const newInsertedElemRect = newInsertedElem?.getBoundingClientRect()\n if (!newInsertedElemRect) {\n return\n }\n const highlightElem = document.createElement('div')\n highlightElem.className = 'lexical-block-highlighter'\n\n highlightElem.style.backgroundColor = 'var(--color-bg-inverse)'\n highlightElem.style.transition = 'opacity 0.5s ease-in-out'\n highlightElem.style.zIndex = '1'\n highlightElem.style.pointerEvents = 'none'\n highlightElem.style.boxSizing = 'border-box'\n highlightElem.style.borderRadius = '4px'\n highlightElem.style.position = 'absolute'\n document.body.appendChild(highlightElem)\n\n highlightElem.style.opacity = '0.1'\n\n highlightElem.style.height = `${newInsertedElemRect.height + 8}px`\n highlightElem.style.width = `${newInsertedElemRect.width + 8}px`\n highlightElem.style.top = `${newInsertedElemRect.top + window.scrollY - 4}px`\n highlightElem.style.left = `${newInsertedElemRect.left - 4}px`\n\n const fadeTimer = setTimeout(() => {\n highlightElem.style.opacity = '0'\n const removeTimer = setTimeout(() => {\n highlightElem.remove()\n }, 500)\n highlightTimersRef.current.push(removeTimer)\n }, 1000)\n highlightTimersRef.current.push(fadeTimer)\n }, 120)\n highlightTimersRef.current.push(highlightTimer)\n })\n\n return true\n }\n\n // register onDragover event listeners:\n document.addEventListener('dragover', onDragover)\n // register onDrop event listeners:\n document.addEventListener('drop', onDrop)\n\n return () => {\n document.removeEventListener('dragover', onDragover)\n document.removeEventListener('drop', onDrop)\n highlightTimersRef.current.forEach(clearTimeout)\n highlightTimersRef.current = []\n }\n }, [\n scrollerElem,\n blockHandleHorizontalOffset,\n anchorElem,\n editor,\n lastTargetBlock,\n draggableBlockElem,\n editorConfig?.admin?.hideGutter,\n ])\n\n function onDragStart(event: ReactDragEvent<HTMLButtonElement>): void {\n const dataTransfer = event.dataTransfer\n if (!dataTransfer || !draggableBlockElem) {\n return\n }\n setDragImage(dataTransfer, draggableBlockElem)\n dataTransfer.effectAllowed = 'move'\n let nodeKey = ''\n editor.update(() => {\n const node = $getNearestNodeFromDOMNode(draggableBlockElem)\n if (node) {\n nodeKey = node.getKey()\n }\n })\n isDraggingBlockRef.current = true\n dataTransfer.setData(DRAG_DATA_FORMAT, nodeKey)\n }\n\n function onDragEnd(): void {\n isDraggingBlockRef.current = false\n if (lastTargetBlock?.elem) {\n hideTargetLine(targetLineRef.current, lastTargetBlock?.elem)\n }\n }\n\n return createPortal(\n <React.Fragment>\n <span className=\"sr-only\" id={instructionsID}>\n {t('general:moveUp')}: Alt + Shift + ↑. {t('general:moveDown')}: Alt + Shift + ↓.\n </span>\n <button\n aria-label=\"Drag to move\"\n className=\"icon draggable-block-menu\"\n draggable\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n ref={menuRef}\n type=\"button\"\n >\n <div className={isEditable ? 'icon' : ''} />\n </button>\n <div className=\"draggable-block-target-line\" ref={targetLineRef} />\n <div className=\"debug-highlight\" ref={debugHighlightRef} />\n </React.Fragment>,\n anchorElem,\n )\n}\n\nexport function DraggableBlockPlugin({\n anchorElem = document.body,\n}: {\n anchorElem?: HTMLElement\n}): React.ReactElement {\n const [editor] = useLexicalComposerContext()\n return useDraggableBlockMenu(editor, anchorElem, editor._editable)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { LexicalEditor } from 'lexical';
2
+ /** Move the current top-level line, including decorator nodes, without a pointer. */
3
+ export declare function useKeyboardReordering({ editor, instructionsID, }: {
4
+ editor: LexicalEditor;
5
+ instructionsID: string;
6
+ }): void;
7
+ //# sourceMappingURL=useKeyboardReordering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardReordering.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAa5C,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,cAAc,GACf,EAAE;IACD,MAAM,EAAE,aAAa,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB,QA0EA"}
@@ -0,0 +1,65 @@
1
+ import { mergeRegister } from '@lexical/utils';
2
+ import { $getSelection, $isNodeSelection, $isRangeSelection, COMMAND_PRIORITY_HIGH, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_UP_COMMAND } from 'lexical';
3
+ import { useEffect } from 'react';
4
+ /** Move the current top-level line, including decorator nodes, without a pointer. */
5
+ export function useKeyboardReordering({
6
+ editor,
7
+ instructionsID
8
+ }) {
9
+ useEffect(() => {
10
+ const moveLine = ({
11
+ direction,
12
+ event
13
+ }) => {
14
+ if (!editor.isEditable() || !event.altKey || !event.shiftKey || event.ctrlKey || event.metaKey) {
15
+ return false;
16
+ }
17
+ const selection = $getSelection();
18
+ const selectedNode = $isRangeSelection(selection) && selection.isCollapsed() ? selection.anchor.getNode() : $isNodeSelection(selection) && selection.getNodes().length === 1 ? selection.getNodes()[0] : null;
19
+ const node = selectedNode?.getTopLevelElement();
20
+ if (!node) {
21
+ return false;
22
+ }
23
+ event.preventDefault();
24
+ const sibling = direction === -1 ? node.getPreviousSibling() : node.getNextSibling();
25
+ if (sibling) {
26
+ if (direction === -1) {
27
+ sibling.insertBefore(node);
28
+ } else {
29
+ sibling.insertAfter(node);
30
+ }
31
+ }
32
+ return true;
33
+ };
34
+ return mergeRegister(editor.registerCommand(KEY_ARROW_UP_COMMAND, event => moveLine({
35
+ direction: -1,
36
+ event
37
+ }), COMMAND_PRIORITY_HIGH), editor.registerCommand(KEY_ARROW_DOWN_COMMAND, event => moveLine({
38
+ direction: 1,
39
+ event
40
+ }), COMMAND_PRIORITY_HIGH));
41
+ }, [editor]);
42
+ useEffect(() => {
43
+ let restore;
44
+ const unregister = editor.registerRootListener(root => {
45
+ restore?.();
46
+ if (!root) {
47
+ return;
48
+ }
49
+ const description = root.getAttribute('aria-describedby');
50
+ root.setAttribute('aria-describedby', [description, instructionsID].filter(Boolean).join(' '));
51
+ restore = () => {
52
+ if (description === null) {
53
+ root.removeAttribute('aria-describedby');
54
+ } else {
55
+ root.setAttribute('aria-describedby', description);
56
+ }
57
+ };
58
+ });
59
+ return () => {
60
+ unregister();
61
+ restore?.();
62
+ };
63
+ }, [editor, instructionsID]);
64
+ }
65
+ //# sourceMappingURL=useKeyboardReordering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardReordering.js","names":["mergeRegister","$getSelection","$isNodeSelection","$isRangeSelection","COMMAND_PRIORITY_HIGH","KEY_ARROW_DOWN_COMMAND","KEY_ARROW_UP_COMMAND","useEffect","useKeyboardReordering","editor","instructionsID","moveLine","direction","event","isEditable","altKey","shiftKey","ctrlKey","metaKey","selection","selectedNode","isCollapsed","anchor","getNode","getNodes","length","node","getTopLevelElement","preventDefault","sibling","getPreviousSibling","getNextSibling","insertBefore","insertAfter","registerCommand","restore","unregister","registerRootListener","root","description","getAttribute","setAttribute","filter","Boolean","join","removeAttribute"],"sources":["../../../../../src/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.ts"],"sourcesContent":["import type { LexicalEditor } from 'lexical'\n\nimport { mergeRegister } from '@lexical/utils'\nimport {\n $getSelection,\n $isNodeSelection,\n $isRangeSelection,\n COMMAND_PRIORITY_HIGH,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n} from 'lexical'\nimport { useEffect } from 'react'\n\n/** Move the current top-level line, including decorator nodes, without a pointer. */\nexport function useKeyboardReordering({\n editor,\n instructionsID,\n}: {\n editor: LexicalEditor\n instructionsID: string\n}) {\n useEffect(() => {\n const moveLine = ({ direction, event }: { direction: -1 | 1; event: KeyboardEvent }) => {\n if (\n !editor.isEditable() ||\n !event.altKey ||\n !event.shiftKey ||\n event.ctrlKey ||\n event.metaKey\n ) {\n return false\n }\n const selection = $getSelection()\n const selectedNode =\n $isRangeSelection(selection) && selection.isCollapsed()\n ? selection.anchor.getNode()\n : $isNodeSelection(selection) && selection.getNodes().length === 1\n ? selection.getNodes()[0]\n : null\n const node = selectedNode?.getTopLevelElement()\n\n if (!node) {\n return false\n }\n event.preventDefault()\n const sibling = direction === -1 ? node.getPreviousSibling() : node.getNextSibling()\n\n if (sibling) {\n if (direction === -1) {\n sibling.insertBefore(node)\n } else {\n sibling.insertAfter(node)\n }\n }\n return true\n }\n\n return mergeRegister(\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n (event) => moveLine({ direction: -1, event }),\n COMMAND_PRIORITY_HIGH,\n ),\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n (event) => moveLine({ direction: 1, event }),\n COMMAND_PRIORITY_HIGH,\n ),\n )\n }, [editor])\n\n useEffect(() => {\n let restore: (() => void) | undefined\n const unregister = editor.registerRootListener((root) => {\n restore?.()\n if (!root) {\n return\n }\n const description = root.getAttribute('aria-describedby')\n root.setAttribute('aria-describedby', [description, instructionsID].filter(Boolean).join(' '))\n restore = () => {\n if (description === null) {\n root.removeAttribute('aria-describedby')\n } else {\n root.setAttribute('aria-describedby', description)\n }\n }\n })\n\n return () => {\n unregister()\n restore?.()\n }\n }, [editor, instructionsID])\n}\n"],"mappings":"AAEA,SAASA,aAAa,QAAQ;AAC9B,SACEC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,EACjBC,qBAAqB,EACrBC,sBAAsB,EACtBC,oBAAoB,QACf;AACP,SAASC,SAAS,QAAQ;AAE1B;AACA,OAAO,SAASC,sBAAsB;EACpCC,MAAM;EACNC;AAAc,CAIf;EACCH,SAAA,CAAU;IACR,MAAMI,QAAA,GAAWA,CAAC;MAAEC,SAAS;MAAEC;IAAK,CAA+C;MACjF,IACE,CAACJ,MAAA,CAAOK,UAAU,MAClB,CAACD,KAAA,CAAME,MAAM,IACb,CAACF,KAAA,CAAMG,QAAQ,IACfH,KAAA,CAAMI,OAAO,IACbJ,KAAA,CAAMK,OAAO,EACb;QACA,OAAO;MACT;MACA,MAAMC,SAAA,GAAYlB,aAAA;MAClB,MAAMmB,YAAA,GACJjB,iBAAA,CAAkBgB,SAAA,KAAcA,SAAA,CAAUE,WAAW,KACjDF,SAAA,CAAUG,MAAM,CAACC,OAAO,KACxBrB,gBAAA,CAAiBiB,SAAA,KAAcA,SAAA,CAAUK,QAAQ,GAAGC,MAAM,KAAK,IAC7DN,SAAA,CAAUK,QAAQ,EAAE,CAAC,EAAE,GACvB;MACR,MAAME,IAAA,GAAON,YAAA,EAAcO,kBAAA;MAE3B,IAAI,CAACD,IAAA,EAAM;QACT,OAAO;MACT;MACAb,KAAA,CAAMe,cAAc;MACpB,MAAMC,OAAA,GAAUjB,SAAA,KAAc,CAAC,IAAIc,IAAA,CAAKI,kBAAkB,KAAKJ,IAAA,CAAKK,cAAc;MAElF,IAAIF,OAAA,EAAS;QACX,IAAIjB,SAAA,KAAc,CAAC,GAAG;UACpBiB,OAAA,CAAQG,YAAY,CAACN,IAAA;QACvB,OAAO;UACLG,OAAA,CAAQI,WAAW,CAACP,IAAA;QACtB;MACF;MACA,OAAO;IACT;IAEA,OAAO1B,aAAA,CACLS,MAAA,CAAOyB,eAAe,CACpB5B,oBAAA,EACCO,KAAA,IAAUF,QAAA,CAAS;MAAEC,SAAA,EAAW,CAAC;MAAGC;IAAM,IAC3CT,qBAAA,GAEFK,MAAA,CAAOyB,eAAe,CACpB7B,sBAAA,EACCQ,KAAA,IAAUF,QAAA,CAAS;MAAEC,SAAA,EAAW;MAAGC;IAAM,IAC1CT,qBAAA;EAGN,GAAG,CAACK,MAAA,CAAO;EAEXF,SAAA,CAAU;IACR,IAAI4B,OAAA;IACJ,MAAMC,UAAA,GAAa3B,MAAA,CAAO4B,oBAAoB,CAAEC,IAAA;MAC9CH,OAAA;MACA,IAAI,CAACG,IAAA,EAAM;QACT;MACF;MACA,MAAMC,WAAA,GAAcD,IAAA,CAAKE,YAAY,CAAC;MACtCF,IAAA,CAAKG,YAAY,CAAC,oBAAoB,CAACF,WAAA,EAAa7B,cAAA,CAAe,CAACgC,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;MACzFT,OAAA,GAAUA,CAAA;QACR,IAAII,WAAA,KAAgB,MAAM;UACxBD,IAAA,CAAKO,eAAe,CAAC;QACvB,OAAO;UACLP,IAAA,CAAKG,YAAY,CAAC,oBAAoBF,WAAA;QACxC;MACF;IACF;IAEA,OAAO;MACLH,UAAA;MACAD,OAAA;IACF;EACF,GAAG,CAAC1B,MAAA,EAAQC,cAAA,CAAe;AAC7B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"setHandlePosition.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/handles/utils/setHandlePosition.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,WAAW,GAAG,IAAI,EAC9B,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,WAAW,EACvB,UAAU,GAAE,MAAU,QAyCvB"}
1
+ {"version":3,"file":"setHandlePosition.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/plugins/handles/utils/setHandlePosition.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,WAAW,GAAG,IAAI,EAC9B,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,WAAW,EACvB,UAAU,GAAE,MAAU,QA2CvB"}
@@ -3,6 +3,7 @@
3
3
  import { doesLineHeightAffectElement } from './doesLineHeightAffectElement.js';
4
4
  export function setHandlePosition(targetElem, handleElem, anchorElem, leftOffset = 0) {
5
5
  if (!targetElem) {
6
+ handleElem.style.visibility = 'hidden';
6
7
  handleElem.style.opacity = '0';
7
8
  handleElem.style.transform = 'translate(-10000px, -10000px)';
8
9
  return;
@@ -23,6 +24,7 @@ export function setHandlePosition(targetElem, handleElem, anchorElem, leftOffset
23
24
  }
24
25
  const left = leftOffset;
25
26
  handleElem.style.opacity = '1';
27
+ handleElem.style.visibility = 'visible';
26
28
  handleElem.style.transform = `translate(${left}px, ${top}px)`;
27
29
  }
28
30
  //# sourceMappingURL=setHandlePosition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setHandlePosition.js","names":["doesLineHeightAffectElement","setHandlePosition","targetElem","handleElem","anchorElem","leftOffset","style","opacity","transform","targetRect","getBoundingClientRect","targetStyle","window","getComputedStyle","floatingElemRect","anchorElementRect","top","isBlockStyle","some","classes","classList","contains","firstElementChild","actualLineHeight","parseInt","lineHeight","height","left"],"sources":["../../../../../src/lexical/plugins/handles/utils/setHandlePosition.ts"],"sourcesContent":["'use client'\nimport { 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 isBlockStyle = [\n 'LexicalEditorTheme__block',\n 'LexicalEditorTheme__upload',\n 'LexicalEditorTheme__relationship',\n ].some(\n (classes) =>\n targetElem.classList.contains(classes) ||\n targetElem.firstElementChild?.classList.contains(classes),\n )\n\n if (!isBlockStyle) {\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 = targetRect.top + (actualLineHeight - floatingElemRect.height) / 2 - anchorElementRect.top\n } else {\n top = targetRect.top + 8 - anchorElementRect.top\n }\n\n const left = leftOffset\n\n handleElem.style.opacity = '1'\n handleElem.style.transform = `translate(${left}px, ${top}px)`\n}\n"],"mappings":"AAAA;;AACA,SAASA,2BAA2B,QAAQ;AAE5C,OAAO,SAASC,kBACdC,UAA8B,EAC9BC,UAAuB,EACvBC,UAAuB,EACvBC,UAAA,GAAqB,CAAC;EAEtB,IAAI,CAACH,UAAA,EAAY;IACfC,UAAA,CAAWG,KAAK,CAACC,OAAO,GAAG;IAC3BJ,UAAA,CAAWG,KAAK,CAACE,SAAS,GAAG;IAC7B;EACF;EAEA,MAAMC,UAAA,GAAaP,UAAA,CAAWQ,qBAAqB;EACnD,MAAMC,WAAA,GAAcC,MAAA,CAAOC,gBAAgB,CAACX,UAAA;EAC5C,MAAMY,gBAAA,GAAmBX,UAAA,CAAWO,qBAAqB;EACzD,MAAMK,iBAAA,GAAoBX,UAAA,CAAWM,qBAAqB;EAE1D,IAAIM,GAAA;EAEJ,MAAMC,YAAA,GAAe,CACnB,6BACA,8BACA,mCACD,CAACC,IAAI,CACHC,OAAA,IACCjB,UAAA,CAAWkB,SAAS,CAACC,QAAQ,CAACF,OAAA,KAC9BjB,UAAA,CAAWoB,iBAAiB,EAAEF,SAAA,CAAUC,QAAA,CAASF,OAAA;EAGrD,IAAI,CAACF,YAAA,EAAc;IACjB;IACA;IACA,MAAMM,gBAAA,GAAmBvB,2BAAA,CAA4BE,UAAA,IACjDsB,QAAA,CAASb,WAAA,CAAYc,UAAU,EAAE,MACjC;IAEJT,GAAA,GAAMP,UAAA,CAAWO,GAAG,GAAG,CAACO,gBAAA,GAAmBT,gBAAA,CAAiBY,MAAM,IAAI,IAAIX,iBAAA,CAAkBC,GAAG;EACjG,OAAO;IACLA,GAAA,GAAMP,UAAA,CAAWO,GAAG,GAAG,IAAID,iBAAA,CAAkBC,GAAG;EAClD;EAEA,MAAMW,IAAA,GAAOtB,UAAA;EAEbF,UAAA,CAAWG,KAAK,CAACC,OAAO,GAAG;EAC3BJ,UAAA,CAAWG,KAAK,CAACE,SAAS,GAAG,aAAamB,IAAA,OAAWX,GAAA,KAAQ;AAC/D","ignoreList":[]}
1
+ {"version":3,"file":"setHandlePosition.js","names":["doesLineHeightAffectElement","setHandlePosition","targetElem","handleElem","anchorElem","leftOffset","style","visibility","opacity","transform","targetRect","getBoundingClientRect","targetStyle","window","getComputedStyle","floatingElemRect","anchorElementRect","top","isBlockStyle","some","classes","classList","contains","firstElementChild","actualLineHeight","parseInt","lineHeight","height","left"],"sources":["../../../../../src/lexical/plugins/handles/utils/setHandlePosition.ts"],"sourcesContent":["'use client'\nimport { 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.visibility = 'hidden'\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 isBlockStyle = [\n 'LexicalEditorTheme__block',\n 'LexicalEditorTheme__upload',\n 'LexicalEditorTheme__relationship',\n ].some(\n (classes) =>\n targetElem.classList.contains(classes) ||\n targetElem.firstElementChild?.classList.contains(classes),\n )\n\n if (!isBlockStyle) {\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 = targetRect.top + (actualLineHeight - floatingElemRect.height) / 2 - anchorElementRect.top\n } else {\n top = targetRect.top + 8 - anchorElementRect.top\n }\n\n const left = leftOffset\n\n handleElem.style.opacity = '1'\n handleElem.style.visibility = 'visible'\n handleElem.style.transform = `translate(${left}px, ${top}px)`\n}\n"],"mappings":"AAAA;;AACA,SAASA,2BAA2B,QAAQ;AAE5C,OAAO,SAASC,kBACdC,UAA8B,EAC9BC,UAAuB,EACvBC,UAAuB,EACvBC,UAAA,GAAqB,CAAC;EAEtB,IAAI,CAACH,UAAA,EAAY;IACfC,UAAA,CAAWG,KAAK,CAACC,UAAU,GAAG;IAC9BJ,UAAA,CAAWG,KAAK,CAACE,OAAO,GAAG;IAC3BL,UAAA,CAAWG,KAAK,CAACG,SAAS,GAAG;IAC7B;EACF;EAEA,MAAMC,UAAA,GAAaR,UAAA,CAAWS,qBAAqB;EACnD,MAAMC,WAAA,GAAcC,MAAA,CAAOC,gBAAgB,CAACZ,UAAA;EAC5C,MAAMa,gBAAA,GAAmBZ,UAAA,CAAWQ,qBAAqB;EACzD,MAAMK,iBAAA,GAAoBZ,UAAA,CAAWO,qBAAqB;EAE1D,IAAIM,GAAA;EAEJ,MAAMC,YAAA,GAAe,CACnB,6BACA,8BACA,mCACD,CAACC,IAAI,CACHC,OAAA,IACClB,UAAA,CAAWmB,SAAS,CAACC,QAAQ,CAACF,OAAA,KAC9BlB,UAAA,CAAWqB,iBAAiB,EAAEF,SAAA,CAAUC,QAAA,CAASF,OAAA;EAGrD,IAAI,CAACF,YAAA,EAAc;IACjB;IACA;IACA,MAAMM,gBAAA,GAAmBxB,2BAAA,CAA4BE,UAAA,IACjDuB,QAAA,CAASb,WAAA,CAAYc,UAAU,EAAE,MACjC;IAEJT,GAAA,GAAMP,UAAA,CAAWO,GAAG,GAAG,CAACO,gBAAA,GAAmBT,gBAAA,CAAiBY,MAAM,IAAI,IAAIX,iBAAA,CAAkBC,GAAG;EACjG,OAAO;IACLA,GAAA,GAAMP,UAAA,CAAWO,GAAG,GAAG,IAAID,iBAAA,CAAkBC,GAAG;EAClD;EAEA,MAAMW,IAAA,GAAOvB,UAAA;EAEbF,UAAA,CAAWG,KAAK,CAACE,OAAO,GAAG;EAC3BL,UAAA,CAAWG,KAAK,CAACC,UAAU,GAAG;EAC9BJ,UAAA,CAAWG,KAAK,CAACG,SAAS,GAAG,aAAamB,IAAA,OAAWX,GAAA,KAAQ;AAC/D","ignoreList":[]}
@@ -5,29 +5,30 @@
5
5
  position: relative;
6
6
  tab-size: 1;
7
7
  outline: 0;
8
- padding-top: var(--spacer-2);
9
- padding-bottom: var(--spacer-2);
10
- padding-inline-start: 0;
11
- padding-inline-end: 0;
8
+ padding: var(--spacer-3) var(--spacer-3);
9
+ /* Reserve space for the InsertParagraphAtEnd hover "+" affordance, which
10
+ overlaps this bottom padding; shrinking it would cover the last line. */
11
+ padding-bottom: var(--spacer-4);
12
12
 
13
13
  &:focus-visible {
14
14
  outline: none !important;
15
15
  }
16
-
17
- & > * {
18
- transition: transform 0.2s ease-in-out;
19
- }
20
16
  }
21
17
 
22
- .rich-text-lexical--show-gutter
23
- > .rich-text-lexical__wrap
24
- > .rich-text-lexical__editor-content
25
- > .editor-container
26
- > .editor-scroller
27
- > .editor {
28
- > .ContentEditable__root {
18
+ @media (min-width: 768px) {
19
+ .ContentEditable__root {
29
20
  padding: var(--spacer-4) var(--spacer-5);
30
21
  }
22
+
23
+ .rich-text-lexical:not(.rich-text-lexical--show-gutter)
24
+ > .rich-text-lexical__wrap
25
+ > .rich-text-lexical__editor-content
26
+ > .editor-container
27
+ > .editor-scroller
28
+ > .editor
29
+ > .ContentEditable__root {
30
+ padding: var(--spacer-2) 0;
31
+ }
31
32
  }
32
33
 
33
34
  html[data-theme='light'] {
@@ -1,8 +1,9 @@
1
1
  import type { JSX } from 'react';
2
2
  import './ContentEditable.css';
3
3
  import type { SanitizedClientEditorConfig } from '../config/types.js';
4
- export declare function LexicalContentEditable({ className, editorConfig, }: {
4
+ export declare function LexicalContentEditable({ className, editorConfig, instructionsID, }: {
5
5
  className?: string;
6
6
  editorConfig: SanitizedClientEditorConfig;
7
+ instructionsID?: string;
7
8
  }): JSX.Element;
8
9
  //# sourceMappingURL=ContentEditable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentEditable.d.ts","sourceRoot":"","sources":["../../../src/lexical/ui/ContentEditable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAMhC,OAAO,uBAAuB,CAAA;AAI9B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAErE,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,YAAY,GACb,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,2BAA2B,CAAA;CAC1C,GAAG,GAAG,CAAC,OAAO,CAgBd"}
1
+ {"version":3,"file":"ContentEditable.d.ts","sourceRoot":"","sources":["../../../src/lexical/ui/ContentEditable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAMhC,OAAO,uBAAuB,CAAA;AAI9B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAErE,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,YAAY,EACZ,cAAc,GACf,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,2BAA2B,CAAA;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,GAAG,CAAC,OAAO,CAgBd"}
@@ -8,10 +8,11 @@ import { useTranslation } from '@payloadcms/ui';
8
8
  import './ContentEditable.css';
9
9
  import * as React from 'react';
10
10
  export function LexicalContentEditable(t0) {
11
- const $ = _c(5);
11
+ const $ = _c(6);
12
12
  const {
13
13
  className,
14
- editorConfig
14
+ editorConfig,
15
+ instructionsID
15
16
  } = t0;
16
17
  const {
17
18
  t
@@ -21,9 +22,10 @@ export function LexicalContentEditable(t0) {
21
22
  getTheme
22
23
  } = t1;
23
24
  let t2;
24
- if ($[0] !== className || $[1] !== editorConfig?.admin?.placeholder || $[2] !== getTheme || $[3] !== t) {
25
+ if ($[0] !== className || $[1] !== editorConfig?.admin?.placeholder || $[2] !== getTheme || $[3] !== instructionsID || $[4] !== t) {
25
26
  const theme = getTheme();
26
27
  t2 = _jsx(ContentEditable, {
28
+ "aria-describedby": instructionsID,
27
29
  "aria-placeholder": t("lexical:general:placeholder"),
28
30
  className: className ?? "ContentEditable__root",
29
31
  placeholder: _jsx("p", {
@@ -34,10 +36,11 @@ export function LexicalContentEditable(t0) {
34
36
  $[0] = className;
35
37
  $[1] = editorConfig?.admin?.placeholder;
36
38
  $[2] = getTheme;
37
- $[3] = t;
38
- $[4] = t2;
39
+ $[3] = instructionsID;
40
+ $[4] = t;
41
+ $[5] = t2;
39
42
  } else {
40
- t2 = $[4];
43
+ t2 = $[5];
41
44
  }
42
45
  return t2;
43
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContentEditable.js","names":["c","_c","useLexicalComposerContext","ContentEditable","useTranslation","React","LexicalContentEditable","t0","$","className","editorConfig","t","t1","getTheme","t2","admin","placeholder","theme","_jsx","children"],"sources":["../../../src/lexical/ui/ContentEditable.tsx"],"sourcesContent":["'use client'\nimport type { JSX } from 'react'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { ContentEditable } from '@lexical/react/LexicalContentEditable.js'\nimport { useTranslation } from '@payloadcms/ui'\n\nimport './ContentEditable.css'\n\nimport * as React from 'react'\n\nimport type { SanitizedClientEditorConfig } from '../config/types.js'\n\nexport function LexicalContentEditable({\n className,\n editorConfig,\n}: {\n className?: string\n editorConfig: SanitizedClientEditorConfig\n}): JSX.Element {\n const { t } = useTranslation<{}, string>()\n const [_, { getTheme }] = useLexicalComposerContext()\n const theme = getTheme()\n\n return (\n <ContentEditable\n aria-placeholder={t('lexical:general:placeholder')}\n className={className ?? 'ContentEditable__root'}\n placeholder={\n <p className={theme?.placeholder}>\n {editorConfig?.admin?.placeholder ?? t('lexical:general:placeholder')}\n </p>\n }\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAE/B,OAAO;AAEP,YAAYC,KAAA,MAAW;AAIvB,OAAO,SAAAC,uBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAgC;IAAAQ,SAAA;IAAAC;EAAA,IAAAH,EAMtC;EACC;IAAAI;EAAA,IAAcP,cAAA;EACd,SAAAQ,EAAA,IAA0BV,yBAAA;EAAhB;IAAAW;EAAA,IAAAD,EAAY;EAAA,IAAAE,EAAA;EAAA,IAAAN,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAE,YAAA,EAAAK,KAAA,EAAAC,WAAA,IAAAR,CAAA,QAAAK,QAAA,IAAAL,CAAA,QAAAG,CAAA;IACtB,MAAAM,KAAA,GAAcJ,QAAA;IAGZC,EAAA,GAAAI,IAAA,CAAAf,eAAA;MAAA,oBACoBQ,CAAA,CAAE;MAAAF,SAAA,EACTA,SAAA,IAAa;MAAAO,WAAA,EAEtBE,IAAA,CAAC;QAAAT,SAAA,EAAaQ,KAAA,EAAAD,WAAA;QAAAG,QAAA,EACXT,YAAA,EAAAK,KAAA,EAAAC,WAAA,IAAoCL,CAAA,CAAE;MAAA,C;;;;;;;;;;SAL7CG,E","ignoreList":[]}
1
+ {"version":3,"file":"ContentEditable.js","names":["c","_c","useLexicalComposerContext","ContentEditable","useTranslation","React","LexicalContentEditable","t0","$","className","editorConfig","instructionsID","t","t1","getTheme","t2","admin","placeholder","theme","_jsx","children"],"sources":["../../../src/lexical/ui/ContentEditable.tsx"],"sourcesContent":["'use client'\nimport type { JSX } from 'react'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { ContentEditable } from '@lexical/react/LexicalContentEditable.js'\nimport { useTranslation } from '@payloadcms/ui'\n\nimport './ContentEditable.css'\n\nimport * as React from 'react'\n\nimport type { SanitizedClientEditorConfig } from '../config/types.js'\n\nexport function LexicalContentEditable({\n className,\n editorConfig,\n instructionsID,\n}: {\n className?: string\n editorConfig: SanitizedClientEditorConfig\n instructionsID?: string\n}): JSX.Element {\n const { t } = useTranslation<{}, string>()\n const [_, { getTheme }] = useLexicalComposerContext()\n const theme = getTheme()\n return (\n <ContentEditable\n aria-describedby={instructionsID}\n aria-placeholder={t('lexical:general:placeholder')}\n className={className ?? 'ContentEditable__root'}\n placeholder={\n <p className={theme?.placeholder}>\n {editorConfig?.admin?.placeholder ?? t('lexical:general:placeholder')}\n </p>\n }\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAE/B,OAAO;AAEP,YAAYC,KAAA,MAAW;AAIvB,OAAO,SAAAC,uBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAgC;IAAAQ,SAAA;IAAAC,YAAA;IAAAC;EAAA,IAAAJ,EAQtC;EACC;IAAAK;EAAA,IAAcR,cAAA;EACd,SAAAS,EAAA,IAA0BX,yBAAA;EAAhB;IAAAY;EAAA,IAAAD,EAAY;EAAA,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAE,YAAA,EAAAM,KAAA,EAAAC,WAAA,IAAAT,CAAA,QAAAM,QAAA,IAAAN,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAI,CAAA;IACtB,MAAAM,KAAA,GAAcJ,QAAA;IAEZC,EAAA,GAAAI,IAAA,CAAAhB,eAAA;MAAA,oBACoBQ,cAAA;MAAA,oBACAC,CAAA,CAAE;MAAAH,SAAA,EACTA,SAAA,IAAa;MAAAQ,WAAA,EAEtBE,IAAA,CAAC;QAAAV,SAAA,EAAaS,KAAA,EAAAD,WAAA;QAAAG,QAAA,EACXV,YAAA,EAAAM,KAAA,EAAAC,WAAA,IAAoCL,CAAA,CAAE;MAAA,C;;;;;;;;;;;SAN7CG,E","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/ui/icons/H3/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAaA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/ui/icons/H3/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAoBA,CAAA"}
@@ -1,11 +1,12 @@
1
1
  'use client';
2
2
 
3
- import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import React from 'react';
5
- const path = 'M4.139 13.5V7.074H5.696V9.648H8.576V7.074H10.142V13.5H8.576V10.836H5.696V13.5H4.139ZM16.1146 11.745C16.1146 12.744 15.2236 13.608 13.6126 13.608C12.0736 13.608 11.0926 12.762 10.9846 11.547H12.4696C12.5146 12.114 13.0006 12.456 13.6126 12.456C14.2876 12.456 14.6746 12.132 14.6746 11.619C14.6746 11.061 14.2426 10.836 13.6216 10.836H12.9826V9.738H13.6036C14.1526 9.738 14.5486 9.486 14.5486 8.937C14.5486 8.46 14.2156 8.127 13.6486 8.127C13.0366 8.127 12.6586 8.514 12.6226 9.045H11.1916C11.2726 7.929 12.1276 6.966 13.6666 6.966C15.1876 6.966 15.9706 7.848 15.9706 8.865C15.9706 9.603 15.5026 10.143 14.8186 10.269C15.6196 10.404 16.1146 10.971 16.1146 11.745Z';
5
+ const headingPath = 'M7 6.5a.5.5 0 0 0-1 0v11a.5.5 0 0 0 1 0V12h6v5.5a.5.5 0 0 0 1 0v-11a.5.5 0 0 0-1 0V11H7z';
6
+ const numeralPath = 'M16.59 13.32 A1.5 1.25 0 1 1 18 15 A1.5 1.25 0 1 1 16.59 16.68';
6
7
  export const H3Icon = ({
7
8
  className
8
- }) => /*#__PURE__*/_jsx("svg", {
9
+ }) => /*#__PURE__*/_jsxs("svg", {
9
10
  "aria-hidden": "true",
10
11
  className: ['icon', className].filter(Boolean).join(' '),
11
12
  fill: "none",
@@ -14,9 +15,15 @@ export const H3Icon = ({
14
15
  viewBox: "0 0 24 24",
15
16
  width: 24,
16
17
  xmlns: "http://www.w3.org/2000/svg",
17
- children: /*#__PURE__*/_jsx("path", {
18
- d: path,
18
+ children: [/*#__PURE__*/_jsx("path", {
19
+ d: headingPath,
19
20
  fill: "currentColor"
20
- })
21
+ }), /*#__PURE__*/_jsx("path", {
22
+ d: numeralPath,
23
+ stroke: "currentColor",
24
+ strokeLinecap: "round",
25
+ strokeLinejoin: "round",
26
+ strokeWidth: 1
27
+ })]
21
28
  });
22
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","path","H3Icon","className","_jsx","filter","Boolean","join","fill","focusable","height","viewBox","width","xmlns","d"],"sources":["../../../../../src/lexical/ui/icons/H3/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nconst path =\n 'M4.139 13.5V7.074H5.696V9.648H8.576V7.074H10.142V13.5H8.576V10.836H5.696V13.5H4.139ZM16.1146 11.745C16.1146 12.744 15.2236 13.608 13.6126 13.608C12.0736 13.608 11.0926 12.762 10.9846 11.547H12.4696C12.5146 12.114 13.0006 12.456 13.6126 12.456C14.2876 12.456 14.6746 12.132 14.6746 11.619C14.6746 11.061 14.2426 10.836 13.6216 10.836H12.9826V9.738H13.6036C14.1526 9.738 14.5486 9.486 14.5486 8.937C14.5486 8.46 14.2156 8.127 13.6486 8.127C13.0366 8.127 12.6586 8.514 12.6226 9.045H11.1916C11.2726 7.929 12.1276 6.966 13.6666 6.966C15.1876 6.966 15.9706 7.848 15.9706 8.865C15.9706 9.603 15.5026 10.143 14.8186 10.269C15.6196 10.404 16.1146 10.971 16.1146 11.745Z'\n\nexport const H3Icon: React.FC<{\n readonly className?: string\n}> = ({ className }) => (\n <svg\n aria-hidden=\"true\"\n className={['icon', className].filter(Boolean).join(' ')}\n fill=\"none\"\n focusable=\"false\"\n height={24}\n viewBox=\"0 0 24 24\"\n width={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d={path} fill=\"currentColor\" />\n </svg>\n)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,MAAMC,IAAA,GACJ;AAEF,OAAO,MAAMC,MAAA,GAERA,CAAC;EAAEC;AAAS,CAAE,kBACjBC,IAAA,CAAC;EACC,eAAY;EACZD,SAAA,EAAW,CAAC,QAAQA,SAAA,CAAU,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACpDC,IAAA,EAAK;EACLC,SAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,OAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,KAAA,EAAM;YAEN,aAAAT,IAAA,CAAC;IAAKU,CAAA,EAAGb,IAAA;IAAMO,IAAA,EAAK","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","headingPath","numeralPath","H3Icon","className","_jsxs","filter","Boolean","join","fill","focusable","height","viewBox","width","xmlns","_jsx","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth"],"sources":["../../../../../src/lexical/ui/icons/H3/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nconst headingPath =\n 'M7 6.5a.5.5 0 0 0-1 0v11a.5.5 0 0 0 1 0V12h6v5.5a.5.5 0 0 0 1 0v-11a.5.5 0 0 0-1 0V11H7z'\nconst numeralPath = 'M16.59 13.32 A1.5 1.25 0 1 1 18 15 A1.5 1.25 0 1 1 16.59 16.68'\n\nexport const H3Icon: React.FC<{\n readonly className?: string\n}> = ({ className }) => (\n <svg\n aria-hidden=\"true\"\n className={['icon', className].filter(Boolean).join(' ')}\n fill=\"none\"\n focusable=\"false\"\n height={24}\n viewBox=\"0 0 24 24\"\n width={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d={headingPath} fill=\"currentColor\" />\n <path\n d={numeralPath}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1}\n />\n </svg>\n)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,MAAMC,WAAA,GACJ;AACF,MAAMC,WAAA,GAAc;AAEpB,OAAO,MAAMC,MAAA,GAERA,CAAC;EAAEC;AAAS,CAAE,kBACjBC,KAAA,CAAC;EACC,eAAY;EACZD,SAAA,EAAW,CAAC,QAAQA,SAAA,CAAU,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACpDC,IAAA,EAAK;EACLC,SAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,OAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,KAAA,EAAM;0BAENC,IAAA,CAAC;IAAKC,CAAA,EAAGf,WAAA;IAAaQ,IAAA,EAAK;mBAC3BM,IAAA,CAAC;IACCC,CAAA,EAAGd,WAAA;IACHe,MAAA,EAAO;IACPC,aAAA,EAAc;IACdC,cAAA,EAAe;IACfC,WAAA,EAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/ui/icons/H4/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAaA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/ui/icons/H4/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAoBA,CAAA"}
@@ -1,11 +1,12 @@
1
1
  'use client';
2
2
 
3
- import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import React from 'react';
5
- const path = 'M3.639 13.5V7.074H5.196V9.648H8.076V7.074H9.642V13.5H8.076V10.836H5.196V13.5H3.639ZM15.1736 7.074V10.854H16.3706V12.033H15.1736V13.5H13.6796V12.033H10.5116V10.845L13.4996 7.074H15.1736ZM13.6796 8.46L11.8256 10.854H13.6796V8.46Z';
5
+ const headingPath = 'M7 6.5a.5.5 0 0 0-1 0v11a.5.5 0 0 0 1 0V12h6v5.5a.5.5 0 0 0 1 0v-11a.5.5 0 0 0-1 0V11H7z';
6
+ const numeralPath = 'M18.85 17.5 V12.5 L16.5 15.85 H19.5';
6
7
  export const H4Icon = ({
7
8
  className
8
- }) => /*#__PURE__*/_jsx("svg", {
9
+ }) => /*#__PURE__*/_jsxs("svg", {
9
10
  "aria-hidden": "true",
10
11
  className: ['icon', className].filter(Boolean).join(' '),
11
12
  fill: "none",
@@ -14,9 +15,15 @@ export const H4Icon = ({
14
15
  viewBox: "0 0 24 24",
15
16
  width: 24,
16
17
  xmlns: "http://www.w3.org/2000/svg",
17
- children: /*#__PURE__*/_jsx("path", {
18
- d: path,
18
+ children: [/*#__PURE__*/_jsx("path", {
19
+ d: headingPath,
19
20
  fill: "currentColor"
20
- })
21
+ }), /*#__PURE__*/_jsx("path", {
22
+ d: numeralPath,
23
+ stroke: "currentColor",
24
+ strokeLinecap: "round",
25
+ strokeLinejoin: "round",
26
+ strokeWidth: 1
27
+ })]
21
28
  });
22
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","path","H4Icon","className","_jsx","filter","Boolean","join","fill","focusable","height","viewBox","width","xmlns","d"],"sources":["../../../../../src/lexical/ui/icons/H4/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nconst path =\n 'M3.639 13.5V7.074H5.196V9.648H8.076V7.074H9.642V13.5H8.076V10.836H5.196V13.5H3.639ZM15.1736 7.074V10.854H16.3706V12.033H15.1736V13.5H13.6796V12.033H10.5116V10.845L13.4996 7.074H15.1736ZM13.6796 8.46L11.8256 10.854H13.6796V8.46Z'\n\nexport const H4Icon: React.FC<{\n readonly className?: string\n}> = ({ className }) => (\n <svg\n aria-hidden=\"true\"\n className={['icon', className].filter(Boolean).join(' ')}\n fill=\"none\"\n focusable=\"false\"\n height={24}\n viewBox=\"0 0 24 24\"\n width={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d={path} fill=\"currentColor\" />\n </svg>\n)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,MAAMC,IAAA,GACJ;AAEF,OAAO,MAAMC,MAAA,GAERA,CAAC;EAAEC;AAAS,CAAE,kBACjBC,IAAA,CAAC;EACC,eAAY;EACZD,SAAA,EAAW,CAAC,QAAQA,SAAA,CAAU,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACpDC,IAAA,EAAK;EACLC,SAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,OAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,KAAA,EAAM;YAEN,aAAAT,IAAA,CAAC;IAAKU,CAAA,EAAGb,IAAA;IAAMO,IAAA,EAAK","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","headingPath","numeralPath","H4Icon","className","_jsxs","filter","Boolean","join","fill","focusable","height","viewBox","width","xmlns","_jsx","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth"],"sources":["../../../../../src/lexical/ui/icons/H4/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nconst headingPath =\n 'M7 6.5a.5.5 0 0 0-1 0v11a.5.5 0 0 0 1 0V12h6v5.5a.5.5 0 0 0 1 0v-11a.5.5 0 0 0-1 0V11H7z'\nconst numeralPath = 'M18.85 17.5 V12.5 L16.5 15.85 H19.5'\n\nexport const H4Icon: React.FC<{\n readonly className?: string\n}> = ({ className }) => (\n <svg\n aria-hidden=\"true\"\n className={['icon', className].filter(Boolean).join(' ')}\n fill=\"none\"\n focusable=\"false\"\n height={24}\n viewBox=\"0 0 24 24\"\n width={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d={headingPath} fill=\"currentColor\" />\n <path\n d={numeralPath}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1}\n />\n </svg>\n)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,MAAMC,WAAA,GACJ;AACF,MAAMC,WAAA,GAAc;AAEpB,OAAO,MAAMC,MAAA,GAERA,CAAC;EAAEC;AAAS,CAAE,kBACjBC,KAAA,CAAC;EACC,eAAY;EACZD,SAAA,EAAW,CAAC,QAAQA,SAAA,CAAU,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACpDC,IAAA,EAAK;EACLC,SAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,OAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,KAAA,EAAM;0BAENC,IAAA,CAAC;IAAKC,CAAA,EAAGf,WAAA;IAAaQ,IAAA,EAAK;mBAC3BM,IAAA,CAAC;IACCC,CAAA,EAAGd,WAAA;IACHe,MAAA,EAAO;IACPC,aAAA,EAAc;IACdC,cAAA,EAAe;IACfC,WAAA,EAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/ui/icons/H5/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAaA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/ui/icons/H5/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAoBA,CAAA"}
@@ -1,11 +1,12 @@
1
1
  'use client';
2
2
 
3
- import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import React from 'react';
5
- const path = 'M3.639 13.5V7.074H5.196V9.648H8.076V7.074H9.642V13.5H8.076V10.836H5.196V13.5H3.639ZM13.1576 10.269C12.6896 10.269 12.3746 10.494 12.2216 10.737H10.8176L11.1956 7.074H15.2546V8.28H12.3206L12.1856 9.549C12.4016 9.351 12.8516 9.126 13.4636 9.126C14.7866 9.126 15.6596 10.053 15.6596 11.358C15.6596 12.609 14.7326 13.608 13.1756 13.608C11.5826 13.608 10.6556 12.753 10.5566 11.511H12.1136C12.1586 12.06 12.5456 12.465 13.1576 12.465C13.8236 12.465 14.1746 11.97 14.1746 11.376C14.1746 10.764 13.8416 10.269 13.1576 10.269Z';
5
+ const headingPath = 'M7 6.5a.5.5 0 0 0-1 0v11a.5.5 0 0 0 1 0V12h6v5.5a.5.5 0 0 0 1 0v-11a.5.5 0 0 0-1 0V11H7z';
6
+ const numeralPath = 'M19.2 12.5 H16.8 V14.9 A1.5 1.5 0 1 1 16.7 16.9';
6
7
  export const H5Icon = ({
7
8
  className
8
- }) => /*#__PURE__*/_jsx("svg", {
9
+ }) => /*#__PURE__*/_jsxs("svg", {
9
10
  "aria-hidden": "true",
10
11
  className: ['icon', className].filter(Boolean).join(' '),
11
12
  fill: "none",
@@ -14,9 +15,15 @@ export const H5Icon = ({
14
15
  viewBox: "0 0 24 24",
15
16
  width: 24,
16
17
  xmlns: "http://www.w3.org/2000/svg",
17
- children: /*#__PURE__*/_jsx("path", {
18
- d: path,
18
+ children: [/*#__PURE__*/_jsx("path", {
19
+ d: headingPath,
19
20
  fill: "currentColor"
20
- })
21
+ }), /*#__PURE__*/_jsx("path", {
22
+ d: numeralPath,
23
+ stroke: "currentColor",
24
+ strokeLinecap: "round",
25
+ strokeLinejoin: "round",
26
+ strokeWidth: 1
27
+ })]
21
28
  });
22
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","path","H5Icon","className","_jsx","filter","Boolean","join","fill","focusable","height","viewBox","width","xmlns","d"],"sources":["../../../../../src/lexical/ui/icons/H5/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nconst path =\n 'M3.639 13.5V7.074H5.196V9.648H8.076V7.074H9.642V13.5H8.076V10.836H5.196V13.5H3.639ZM13.1576 10.269C12.6896 10.269 12.3746 10.494 12.2216 10.737H10.8176L11.1956 7.074H15.2546V8.28H12.3206L12.1856 9.549C12.4016 9.351 12.8516 9.126 13.4636 9.126C14.7866 9.126 15.6596 10.053 15.6596 11.358C15.6596 12.609 14.7326 13.608 13.1756 13.608C11.5826 13.608 10.6556 12.753 10.5566 11.511H12.1136C12.1586 12.06 12.5456 12.465 13.1576 12.465C13.8236 12.465 14.1746 11.97 14.1746 11.376C14.1746 10.764 13.8416 10.269 13.1576 10.269Z'\n\nexport const H5Icon: React.FC<{\n readonly className?: string\n}> = ({ className }) => (\n <svg\n aria-hidden=\"true\"\n className={['icon', className].filter(Boolean).join(' ')}\n fill=\"none\"\n focusable=\"false\"\n height={24}\n viewBox=\"0 0 24 24\"\n width={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d={path} fill=\"currentColor\" />\n </svg>\n)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,MAAMC,IAAA,GACJ;AAEF,OAAO,MAAMC,MAAA,GAERA,CAAC;EAAEC;AAAS,CAAE,kBACjBC,IAAA,CAAC;EACC,eAAY;EACZD,SAAA,EAAW,CAAC,QAAQA,SAAA,CAAU,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACpDC,IAAA,EAAK;EACLC,SAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,OAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,KAAA,EAAM;YAEN,aAAAT,IAAA,CAAC;IAAKU,CAAA,EAAGb,IAAA;IAAMO,IAAA,EAAK","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","headingPath","numeralPath","H5Icon","className","_jsxs","filter","Boolean","join","fill","focusable","height","viewBox","width","xmlns","_jsx","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth"],"sources":["../../../../../src/lexical/ui/icons/H5/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nconst headingPath =\n 'M7 6.5a.5.5 0 0 0-1 0v11a.5.5 0 0 0 1 0V12h6v5.5a.5.5 0 0 0 1 0v-11a.5.5 0 0 0-1 0V11H7z'\nconst numeralPath = 'M19.2 12.5 H16.8 V14.9 A1.5 1.5 0 1 1 16.7 16.9'\n\nexport const H5Icon: React.FC<{\n readonly className?: string\n}> = ({ className }) => (\n <svg\n aria-hidden=\"true\"\n className={['icon', className].filter(Boolean).join(' ')}\n fill=\"none\"\n focusable=\"false\"\n height={24}\n viewBox=\"0 0 24 24\"\n width={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d={headingPath} fill=\"currentColor\" />\n <path\n d={numeralPath}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1}\n />\n </svg>\n)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,MAAMC,WAAA,GACJ;AACF,MAAMC,WAAA,GAAc;AAEpB,OAAO,MAAMC,MAAA,GAERA,CAAC;EAAEC;AAAS,CAAE,kBACjBC,KAAA,CAAC;EACC,eAAY;EACZD,SAAA,EAAW,CAAC,QAAQA,SAAA,CAAU,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACpDC,IAAA,EAAK;EACLC,SAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,OAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,KAAA,EAAM;0BAENC,IAAA,CAAC;IAAKC,CAAA,EAAGf,WAAA;IAAaQ,IAAA,EAAK;mBAC3BM,IAAA,CAAC;IACCC,CAAA,EAAGd,WAAA;IACHe,MAAA,EAAO;IACPC,aAAA,EAAc;IACdC,cAAA,EAAe;IACfC,WAAA,EAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/ui/icons/H6/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAaA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lexical/ui/icons/H6/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAoBA,CAAA"}