@lobehub/editor 4.15.0 → 4.15.2

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 (521) hide show
  1. package/es/_virtual/_rolldown/runtime.js +28 -0
  2. package/es/codemirror/components/CopyButton.d.ts +7 -0
  3. package/es/codemirror/components/CopyButton.js +24 -0
  4. package/es/codemirror/components/LanguageSelect.d.ts +7 -0
  5. package/es/codemirror/components/LanguageSelect.js +59 -0
  6. package/es/codemirror/components/MoreOptions.d.ts +7 -0
  7. package/es/codemirror/components/MoreOptions.js +66 -0
  8. package/es/codemirror/components/Toolbar.d.ts +7 -0
  9. package/es/codemirror/components/Toolbar.js +51 -0
  10. package/es/codemirror/components/style.js +7 -0
  11. package/es/codemirror/constants.d.ts +6 -0
  12. package/es/codemirror/constants.js +512 -0
  13. package/es/codemirror/loader.d.ts +61 -0
  14. package/es/codemirror/loader.js +77 -0
  15. package/es/codemirror/style.d.ts +4 -0
  16. package/es/codemirror/style.js +82 -0
  17. package/es/codemirror/theme.d.ts +132 -0
  18. package/es/codemirror/theme.js +75 -0
  19. package/es/codemirror/types.d.ts +53 -0
  20. package/es/codemirror.d.ts +9 -263
  21. package/es/codemirror.js +8 -1
  22. package/es/common/canUseDOM.js +11 -0
  23. package/es/common/sys.js +27 -0
  24. package/es/const/hotkey.js +100 -0
  25. package/es/editor-kernel/data-source.d.ts +15 -0
  26. package/es/editor-kernel/data-source.js +15 -0
  27. package/es/editor-kernel/event.d.ts +7 -0
  28. package/es/editor-kernel/event.js +19 -0
  29. package/es/editor-kernel/index.d.ts +5 -0
  30. package/es/editor-kernel/index.js +17 -0
  31. package/es/editor-kernel/inode/helper.js +87 -0
  32. package/es/editor-kernel/inode/i-element-node.d.ts +6 -0
  33. package/es/editor-kernel/inode/i-node.d.ts +6 -0
  34. package/es/editor-kernel/inode/index.d.ts +4 -0
  35. package/es/editor-kernel/inode/paragraph-node.d.ts +1 -0
  36. package/es/editor-kernel/inode/root-node.d.ts +9 -0
  37. package/es/editor-kernel/inode/text-node.d.ts +9 -0
  38. package/es/editor-kernel/kernel.d.ts +122 -0
  39. package/es/editor-kernel/kernel.js +661 -0
  40. package/es/editor-kernel/plugin.js +59 -0
  41. package/es/editor-kernel/react/LexicalErrorBoundary.d.ts +13 -0
  42. package/es/editor-kernel/react/LexicalErrorBoundary.js +19 -0
  43. package/es/editor-kernel/react/PortalAnchor.js +12 -0
  44. package/es/editor-kernel/react/PortalContainer.d.ts +14 -0
  45. package/es/editor-kernel/react/PortalContainer.js +25 -0
  46. package/es/editor-kernel/react/index.d.ts +5 -0
  47. package/es/editor-kernel/react/react-context.d.ts +11 -0
  48. package/es/editor-kernel/react/react-context.js +21 -0
  49. package/es/editor-kernel/react/react-editor.d.ts +16 -0
  50. package/es/editor-kernel/react/react-editor.js +32 -0
  51. package/es/editor-kernel/react/useAnchor.js +17 -0
  52. package/es/editor-kernel/react/useDecorators.js +54 -0
  53. package/es/editor-kernel/react/useEditable.js +25 -0
  54. package/es/editor-kernel/react/useLexicalEditor.d.ts +6 -0
  55. package/es/editor-kernel/react/useLexicalEditor.js +23 -0
  56. package/es/editor-kernel/react/useLexicalNodeSelection.js +86 -0
  57. package/es/editor-kernel/react/useTranslation.js +9 -0
  58. package/es/editor-kernel/utils.d.ts +46 -0
  59. package/es/editor-kernel/utils.js +138 -0
  60. package/es/headless/extract-media-from-editor-state.d.ts +22 -0
  61. package/es/headless/extract-media-from-editor-state.js +49 -0
  62. package/es/headless/index.d.ts +69 -0
  63. package/es/headless/index.js +189 -0
  64. package/es/headless/plugins/codeblock.js +82 -0
  65. package/es/headless.d.ts +20 -1
  66. package/es/headless.js +219 -20307
  67. package/es/index.d.ts +112 -3059
  68. package/es/index.js +100 -8484
  69. package/es/locale/index.d.ts +61 -0
  70. package/es/locale/index.js +62 -0
  71. package/es/node_modules/.pnpm/@types_mdast@4.0.4/node_modules/@types/mdast/index.d.ts +953 -0
  72. package/es/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts +83 -0
  73. package/es/plugins/auto-complete/index.d.ts +2 -0
  74. package/es/plugins/auto-complete/node/placeholderNode.js +89 -0
  75. package/es/plugins/auto-complete/plugin/index.d.ts +31 -0
  76. package/es/plugins/auto-complete/plugin/index.js +395 -0
  77. package/es/plugins/auto-complete/react/ReactAutoCompletePlugin.d.ts +7 -0
  78. package/es/plugins/auto-complete/react/ReactAutoCompletePlugin.js +60 -0
  79. package/es/plugins/auto-complete/react/index.d.ts +1 -0
  80. package/es/plugins/auto-complete/react/style.js +12 -0
  81. package/es/plugins/auto-complete/react/type.d.ts +25 -0
  82. package/es/plugins/block/command/index.d.ts +13 -0
  83. package/es/plugins/block/command/index.js +161 -0
  84. package/es/plugins/block/index.d.ts +5 -0
  85. package/es/plugins/block/plugin/index.d.ts +9 -0
  86. package/es/plugins/block/plugin/index.js +86 -0
  87. package/es/plugins/block/react/ReactBlockPlugin.d.ts +18 -0
  88. package/es/plugins/block/react/ReactBlockPlugin.js +457 -0
  89. package/es/plugins/block/react/core/runtime-context.js +19 -0
  90. package/es/plugins/block/react/core/types.d.ts +6 -0
  91. package/es/plugins/block/react/drag/drag-session.js +264 -0
  92. package/es/plugins/block/react/drag/drag-utils.js +95 -0
  93. package/es/plugins/block/react/index.d.ts +2 -0
  94. package/es/plugins/block/react/style.js +66 -0
  95. package/es/plugins/block/service/i-block-menu-service.d.ts +44 -0
  96. package/es/plugins/block/service/i-block-menu-service.js +43 -0
  97. package/es/plugins/block/service/index.d.ts +1 -0
  98. package/es/plugins/code/command/index.d.ts +7 -0
  99. package/es/plugins/code/command/index.js +30 -0
  100. package/es/plugins/code/index.d.ts +3 -0
  101. package/es/plugins/code/node/code.js +91 -0
  102. package/es/plugins/code/plugin/index.d.ts +9 -0
  103. package/es/plugins/code/plugin/index.js +74 -0
  104. package/es/plugins/code/plugin/registry.js +33 -0
  105. package/es/plugins/code/react/CodeReactPlugin.d.ts +7 -0
  106. package/es/plugins/code/react/CodeReactPlugin.js +27 -0
  107. package/es/plugins/code/react/index.d.ts +1 -0
  108. package/es/plugins/code/react/style.js +21 -0
  109. package/es/plugins/code/react/type.d.ts +7 -0
  110. package/es/plugins/codeblock/command/index.d.ts +8 -0
  111. package/es/plugins/codeblock/command/index.js +40 -0
  112. package/es/plugins/codeblock/index.d.ts +6 -0
  113. package/es/plugins/codeblock/index.js +5 -0
  114. package/es/plugins/codeblock/plugin/CodeHighlighterShiki.js +415 -0
  115. package/es/plugins/codeblock/plugin/FacadeShiki.js +193 -0
  116. package/es/plugins/codeblock/plugin/index.d.ts +16 -0
  117. package/es/plugins/codeblock/plugin/index.js +157 -0
  118. package/es/plugins/codeblock/plugin/invariant.js +14 -0
  119. package/es/plugins/codeblock/react/ReactCodeblockPlugin.d.ts +7 -0
  120. package/es/plugins/codeblock/react/ReactCodeblockPlugin.js +27 -0
  121. package/es/plugins/codeblock/react/index.d.ts +2 -0
  122. package/es/plugins/codeblock/react/style.js +58 -0
  123. package/es/plugins/codeblock/react/type.d.ts +8 -0
  124. package/es/plugins/codeblock/utils/language.js +9 -0
  125. package/es/plugins/codemirror-block/command/index.d.ts +13 -0
  126. package/es/plugins/codemirror-block/command/index.js +67 -0
  127. package/es/plugins/codemirror-block/index.d.ts +3 -0
  128. package/es/plugins/codemirror-block/lib/mode.js +8 -0
  129. package/es/plugins/codemirror-block/node/CodeMirrorNode.d.ts +48 -0
  130. package/es/plugins/codemirror-block/node/CodeMirrorNode.js +205 -0
  131. package/es/plugins/codemirror-block/plugin/index.d.ts +12 -0
  132. package/es/plugins/codemirror-block/plugin/index.js +80 -0
  133. package/es/plugins/codemirror-block/react/CodemirrorNode.js +219 -0
  134. package/es/plugins/codemirror-block/react/ReactCodemirrorNode.d.ts +7 -0
  135. package/es/plugins/codemirror-block/react/ReactCodemirrorNode.js +26 -0
  136. package/es/plugins/codemirror-block/react/index.d.ts +1 -0
  137. package/es/plugins/codemirror-block/react/type.d.ts +6 -0
  138. package/es/plugins/common/command/index.d.ts +11 -0
  139. package/es/plugins/common/command/index.js +24 -0
  140. package/es/plugins/common/data-source/json-data-source.js +133 -0
  141. package/es/plugins/common/data-source/text-data-source.js +32 -0
  142. package/es/plugins/common/index.d.ts +6 -0
  143. package/es/plugins/common/node/ElementDOMSlot.js +30 -0
  144. package/es/plugins/common/node/cursor.d.ts +16 -0
  145. package/es/plugins/common/node/cursor.js +189 -0
  146. package/es/plugins/common/plugin/index.d.ts +43 -0
  147. package/es/plugins/common/plugin/index.js +338 -0
  148. package/es/plugins/common/plugin/mdReader.js +62 -0
  149. package/es/plugins/common/plugin/paste-handler.d.ts +11 -0
  150. package/es/plugins/common/plugin/paste-handler.js +61 -0
  151. package/es/plugins/common/plugin/register.js +306 -0
  152. package/es/plugins/common/react/Placeholder/index.js +65 -0
  153. package/es/plugins/common/react/Placeholder/style.js +22 -0
  154. package/es/plugins/common/react/ReactEditorContent.d.ts +7 -0
  155. package/es/plugins/common/react/ReactEditorContent.js +8 -0
  156. package/es/plugins/common/react/ReactPlainText.d.ts +7 -0
  157. package/es/plugins/common/react/ReactPlainText.js +192 -0
  158. package/es/plugins/common/react/index.d.ts +3 -0
  159. package/es/plugins/common/react/style.js +206 -0
  160. package/es/plugins/common/react/type.d.ts +94 -0
  161. package/es/plugins/common/utils/index.js +135 -0
  162. package/es/plugins/content-blocks/data-source/content-blocks-data-source.d.ts +15 -0
  163. package/es/plugins/content-blocks/data-source/content-blocks-data-source.js +21 -0
  164. package/es/plugins/content-blocks/index.d.ts +6 -0
  165. package/es/plugins/content-blocks/plugin/index.d.ts +10 -0
  166. package/es/plugins/content-blocks/plugin/index.js +24 -0
  167. package/es/plugins/content-blocks/types.d.ts +33 -0
  168. package/es/plugins/content-blocks/types.js +4 -0
  169. package/es/plugins/content-blocks/utils/extract-media-lists.d.ts +7 -0
  170. package/es/plugins/content-blocks/utils/extract-media-lists.js +32 -0
  171. package/es/plugins/content-blocks/utils/extract.d.ts +8 -0
  172. package/es/plugins/content-blocks/utils/extract.js +188 -0
  173. package/es/plugins/file/command/index.d.ts +9 -0
  174. package/es/plugins/file/command/index.js +31 -0
  175. package/es/plugins/file/index.d.ts +4 -0
  176. package/es/plugins/file/node/FileNode.d.ts +38 -0
  177. package/es/plugins/file/node/FileNode.js +106 -0
  178. package/es/plugins/file/plugin/index.d.ts +18 -0
  179. package/es/plugins/file/plugin/index.js +103 -0
  180. package/es/plugins/file/react/ReactFilePlugin.d.ts +7 -0
  181. package/es/plugins/file/react/ReactFilePlugin.js +35 -0
  182. package/es/plugins/file/react/components/ReactFile.js +50 -0
  183. package/es/plugins/file/react/index.d.ts +2 -0
  184. package/es/plugins/file/react/style.js +32 -0
  185. package/es/plugins/file/react/type.d.ts +17 -0
  186. package/es/plugins/file/utils/index.js +29 -0
  187. package/es/plugins/hr/command/index.d.ts +7 -0
  188. package/es/plugins/hr/command/index.js +14 -0
  189. package/es/plugins/hr/index.d.ts +4 -0
  190. package/es/plugins/hr/node/HorizontalRuleNode.d.ts +18 -0
  191. package/es/plugins/hr/node/HorizontalRuleNode.js +59 -0
  192. package/es/plugins/hr/plugin/index.d.ts +12 -0
  193. package/es/plugins/hr/plugin/index.js +60 -0
  194. package/es/plugins/hr/react/ReactHRPlugin.d.ts +7 -0
  195. package/es/plugins/hr/react/ReactHRPlugin.js +28 -0
  196. package/es/plugins/hr/react/components/HRNode.js +36 -0
  197. package/es/plugins/hr/react/index.d.ts +2 -0
  198. package/es/plugins/hr/react/style.js +32 -0
  199. package/es/plugins/hr/react/type.d.ts +6 -0
  200. package/es/plugins/image/command/index.d.ts +12 -0
  201. package/es/plugins/image/command/index.js +53 -0
  202. package/es/plugins/image/index.d.ts +4 -0
  203. package/es/plugins/image/node/basie-image-node.d.ts +33 -0
  204. package/es/plugins/image/node/basie-image-node.js +68 -0
  205. package/es/plugins/image/node/block-image-node.d.ts +43 -0
  206. package/es/plugins/image/node/block-image-node.js +137 -0
  207. package/es/plugins/image/node/image-node.d.ts +41 -0
  208. package/es/plugins/image/node/image-node.js +128 -0
  209. package/es/plugins/image/plugin/index.d.ts +24 -0
  210. package/es/plugins/image/plugin/index.js +183 -0
  211. package/es/plugins/image/react/ReactImagePlugin.d.ts +7 -0
  212. package/es/plugins/image/react/ReactImagePlugin.js +41 -0
  213. package/es/plugins/image/react/components/BrokenImage.js +16 -0
  214. package/es/plugins/image/react/components/Image.js +190 -0
  215. package/es/plugins/image/react/components/ImageEditPopover.js +160 -0
  216. package/es/plugins/image/react/components/LazyImage.js +73 -0
  217. package/es/plugins/image/react/components/ResizeHandle.js +62 -0
  218. package/es/plugins/image/react/components/style.js +135 -0
  219. package/es/plugins/image/react/components/useSupenseImage.js +22 -0
  220. package/es/plugins/image/react/index.d.ts +2 -0
  221. package/es/plugins/image/react/style.js +31 -0
  222. package/es/plugins/image/react/type.d.ts +23 -0
  223. package/es/plugins/inode/index.d.ts +3 -0
  224. package/es/plugins/inode/plugin/index.d.ts +19 -0
  225. package/es/plugins/inode/plugin/index.js +23 -0
  226. package/es/plugins/inode/react/index.d.ts +6 -0
  227. package/es/plugins/inode/react/index.js +15 -0
  228. package/es/plugins/inode/service/index.d.ts +17 -0
  229. package/es/plugins/inode/service/index.js +22 -0
  230. package/es/plugins/link/command/index.d.ts +10 -0
  231. package/es/plugins/link/command/index.js +33 -0
  232. package/es/plugins/link/index.d.ts +5 -0
  233. package/es/plugins/link/node/LinkNode.d.ts +10 -0
  234. package/es/plugins/link/node/LinkNode.js +448 -0
  235. package/es/plugins/link/plugin/index.d.ts +16 -0
  236. package/es/plugins/link/plugin/index.js +106 -0
  237. package/es/plugins/link/plugin/registry.js +82 -0
  238. package/es/plugins/link/react/ReactLinkPlugin.d.ts +7 -0
  239. package/es/plugins/link/react/ReactLinkPlugin.js +50 -0
  240. package/es/plugins/link/react/components/LinkEdit.js +204 -0
  241. package/es/plugins/link/react/components/LinkToolbar.js +148 -0
  242. package/es/plugins/link/react/index.d.ts +2 -0
  243. package/es/plugins/link/react/style.js +34 -0
  244. package/es/plugins/link/react/type.d.ts +14 -0
  245. package/es/plugins/link/service/i-link-service.d.ts +10 -0
  246. package/es/plugins/link/service/i-link-service.js +19 -0
  247. package/es/plugins/link/utils/index.js +45 -0
  248. package/es/plugins/link-highlight/command/index.d.ts +8 -0
  249. package/es/plugins/link-highlight/command/index.js +30 -0
  250. package/es/plugins/link-highlight/index.d.ts +3 -0
  251. package/es/plugins/link-highlight/node/link-highlight.js +80 -0
  252. package/es/plugins/link-highlight/plugin/index.d.ts +18 -0
  253. package/es/plugins/link-highlight/plugin/index.js +109 -0
  254. package/es/plugins/link-highlight/plugin/registry.js +33 -0
  255. package/es/plugins/link-highlight/react/ReactLinkHighlightPlugin.d.ts +7 -0
  256. package/es/plugins/link-highlight/react/ReactLinkHighlightPlugin.js +29 -0
  257. package/es/plugins/link-highlight/react/index.d.ts +1 -0
  258. package/es/plugins/link-highlight/react/style.js +14 -0
  259. package/es/plugins/link-highlight/react/type.d.ts +16 -0
  260. package/es/plugins/list/command/index.d.ts +3 -0
  261. package/es/plugins/list/command/index.js +3 -0
  262. package/es/plugins/list/index.d.ts +5 -0
  263. package/es/plugins/list/plugin/checkList.d.ts +6 -0
  264. package/es/plugins/list/plugin/checkList.js +140 -0
  265. package/es/plugins/list/plugin/index.d.ts +9 -0
  266. package/es/plugins/list/plugin/index.js +195 -0
  267. package/es/plugins/list/plugin/registry.js +68 -0
  268. package/es/plugins/list/react/ReactListPlugin.d.ts +7 -0
  269. package/es/plugins/list/react/ReactListPlugin.js +21 -0
  270. package/es/plugins/list/react/index.d.ts +2 -0
  271. package/es/plugins/list/react/style.js +123 -0
  272. package/es/plugins/list/react/type.d.ts +7 -0
  273. package/es/plugins/list/utils/index.js +58 -0
  274. package/es/plugins/litexml/command/diffCommand.d.ts +17 -0
  275. package/es/plugins/litexml/command/diffCommand.js +97 -0
  276. package/es/plugins/litexml/command/index.d.ts +38 -0
  277. package/es/plugins/litexml/command/index.js +333 -0
  278. package/es/plugins/litexml/data-source/litexml-data-source.d.ts +65 -0
  279. package/es/plugins/litexml/data-source/litexml-data-source.js +286 -0
  280. package/es/plugins/litexml/index.d.ts +7 -0
  281. package/es/plugins/litexml/node/DiffNode.d.ts +29 -0
  282. package/es/plugins/litexml/node/DiffNode.js +95 -0
  283. package/es/plugins/litexml/plugin/index.d.ts +24 -0
  284. package/es/plugins/litexml/plugin/index.js +100 -0
  285. package/es/plugins/litexml/react/DiffNodeToolbar/index.js +60 -0
  286. package/es/plugins/litexml/react/DiffNodeToolbar/style.js +24 -0
  287. package/es/plugins/litexml/react/hooks/useHasDiffNode.d.ts +7 -0
  288. package/es/plugins/litexml/react/hooks/useHasDiffNode.js +35 -0
  289. package/es/plugins/litexml/react/index.d.ts +6 -0
  290. package/es/plugins/litexml/react/index.js +26 -0
  291. package/es/plugins/litexml/react/style.js +124 -0
  292. package/es/plugins/litexml/service/litexml-service.d.ts +93 -0
  293. package/es/plugins/litexml/service/litexml-service.js +42 -0
  294. package/es/plugins/litexml/utils/index.js +59 -0
  295. package/es/plugins/markdown/command/index.d.ts +14 -0
  296. package/es/plugins/markdown/command/index.js +74 -0
  297. package/es/plugins/markdown/data-source/markdown/parse.d.ts +14 -0
  298. package/es/plugins/markdown/data-source/markdown/parse.js +195 -0
  299. package/es/plugins/markdown/data-source/markdown-data-source.js +148 -0
  300. package/es/plugins/markdown/data-source/markdown-writer-context.js +40 -0
  301. package/es/plugins/markdown/index.d.ts +7 -0
  302. package/es/plugins/markdown/plugin/index.d.ts +22 -0
  303. package/es/plugins/markdown/plugin/index.js +285 -0
  304. package/es/plugins/markdown/react/index.d.ts +6 -0
  305. package/es/plugins/markdown/react/index.js +31 -0
  306. package/es/plugins/markdown/service/shortcut.d.ts +57 -0
  307. package/es/plugins/markdown/service/shortcut.js +101 -0
  308. package/es/plugins/markdown/service/transformers.d.ts +61 -0
  309. package/es/plugins/markdown/service/transformers.js +119 -0
  310. package/es/plugins/markdown/utils/detectLanguage.d.ts +22 -0
  311. package/es/plugins/markdown/utils/detectLanguage.js +251 -0
  312. package/es/plugins/markdown/utils/index.d.ts +11 -0
  313. package/es/plugins/markdown/utils/index.js +143 -0
  314. package/es/plugins/markdown/utils/logger.js +6 -0
  315. package/es/plugins/math/command/index.d.ts +9 -0
  316. package/es/plugins/math/command/index.js +38 -0
  317. package/es/plugins/math/index.d.ts +3 -0
  318. package/es/plugins/math/node/index.d.ts +44 -0
  319. package/es/plugins/math/node/index.js +161 -0
  320. package/es/plugins/math/plugin/index.d.ts +15 -0
  321. package/es/plugins/math/plugin/index.js +119 -0
  322. package/es/plugins/math/react/components/MathEditor.js +198 -0
  323. package/es/plugins/math/react/components/MathEditorContainer.js +101 -0
  324. package/es/plugins/math/react/components/MathEditorContent.js +133 -0
  325. package/es/plugins/math/react/components/MathInline.js +86 -0
  326. package/es/plugins/math/react/components/Placeholder.js +24 -0
  327. package/es/plugins/math/react/index.d.ts +7 -0
  328. package/es/plugins/math/react/index.js +35 -0
  329. package/es/plugins/math/react/style.js +96 -0
  330. package/es/plugins/math/react/type.d.ts +17 -0
  331. package/es/plugins/math/utils/index.js +23 -0
  332. package/es/plugins/mention/command/index.d.ts +10 -0
  333. package/es/plugins/mention/command/index.js +18 -0
  334. package/es/plugins/mention/index.d.ts +5 -0
  335. package/es/plugins/mention/node/MentionNode.d.ts +28 -0
  336. package/es/plugins/mention/node/MentionNode.js +86 -0
  337. package/es/plugins/mention/plugin/index.d.ts +18 -0
  338. package/es/plugins/mention/plugin/index.js +63 -0
  339. package/es/plugins/mention/plugin/register.js +30 -0
  340. package/es/plugins/mention/react/ReactMentionPlugin.d.ts +7 -0
  341. package/es/plugins/mention/react/ReactMentionPlugin.js +36 -0
  342. package/es/plugins/mention/react/components/Mention.js +33 -0
  343. package/es/plugins/mention/react/index.d.ts +2 -0
  344. package/es/plugins/mention/react/style.js +34 -0
  345. package/es/plugins/mention/react/type.d.ts +12 -0
  346. package/es/plugins/slash/index.d.ts +6 -0
  347. package/es/plugins/slash/plugin/index.d.ts +27 -0
  348. package/es/plugins/slash/plugin/index.js +160 -0
  349. package/es/plugins/slash/react/ReactSlashOption.d.ts +7 -0
  350. package/es/plugins/slash/react/ReactSlashOption.js +8 -0
  351. package/es/plugins/slash/react/ReactSlashPlugin.d.ts +7 -0
  352. package/es/plugins/slash/react/ReactSlashPlugin.js +190 -0
  353. package/es/plugins/slash/react/components/DefaultSlashMenu.js +168 -0
  354. package/es/plugins/slash/react/components/SlashMenu.d.ts +11 -0
  355. package/es/plugins/slash/react/components/SlashMenu.js +40 -0
  356. package/es/plugins/slash/react/index.d.ts +4 -0
  357. package/es/plugins/slash/react/type.d.ts +114 -0
  358. package/es/plugins/slash/react/utils.js +18 -0
  359. package/es/plugins/slash/service/i-slash-service.d.ts +50 -0
  360. package/es/plugins/slash/service/i-slash-service.js +55 -0
  361. package/es/plugins/slash/utils/utils.d.ts +1 -0
  362. package/es/plugins/slash/utils/utils.js +97 -0
  363. package/es/plugins/table/command/index.d.ts +17 -0
  364. package/es/plugins/table/command/index.js +57 -0
  365. package/es/plugins/table/index.d.ts +3 -0
  366. package/es/plugins/table/node/index.js +18 -0
  367. package/es/plugins/table/plugin/index.d.ts +8 -0
  368. package/es/plugins/table/plugin/index.js +172 -0
  369. package/es/plugins/table/react/TableActionMenu/ActionMenu.js +220 -0
  370. package/es/plugins/table/react/TableActionMenu/index.js +128 -0
  371. package/es/plugins/table/react/TableActionMenu/style.js +20 -0
  372. package/es/plugins/table/react/TableActionMenu/utils.js +34 -0
  373. package/es/plugins/table/react/TableHoverActions/index.js +147 -0
  374. package/es/plugins/table/react/TableHoverActions/style.js +14 -0
  375. package/es/plugins/table/react/TableHoverActions/utils.js +32 -0
  376. package/es/plugins/table/react/TableResize/index.js +253 -0
  377. package/es/plugins/table/react/TableResize/style.js +16 -0
  378. package/es/plugins/table/react/TableResize/utils.js +9 -0
  379. package/es/plugins/table/react/index.d.ts +7 -0
  380. package/es/plugins/table/react/index.js +49 -0
  381. package/es/plugins/table/react/style.js +63 -0
  382. package/es/plugins/table/react/type.d.ts +8 -0
  383. package/es/plugins/table/utils/index.js +48 -0
  384. package/es/plugins/toolbar/command/index.d.ts +12 -0
  385. package/es/plugins/toolbar/command/index.js +17 -0
  386. package/es/plugins/toolbar/index.d.ts +2 -0
  387. package/es/plugins/toolbar/react/index.d.ts +7 -0
  388. package/es/plugins/toolbar/react/index.js +109 -0
  389. package/es/plugins/toolbar/react/style.js +55 -0
  390. package/es/plugins/toolbar/react/type.d.ts +9 -0
  391. package/es/plugins/toolbar/utils/getDOMRangeRect.js +20 -0
  392. package/es/plugins/toolbar/utils/setFloatingElemPosition.js +50 -0
  393. package/es/plugins/upload/index.d.ts +2 -0
  394. package/es/plugins/upload/plugin/index.d.ts +6 -0
  395. package/es/plugins/upload/plugin/index.js +47 -0
  396. package/es/plugins/upload/service/i-upload-service.d.ts +13 -0
  397. package/es/plugins/upload/service/i-upload-service.js +30 -0
  398. package/es/plugins/upload/utils/index.js +15 -0
  399. package/es/plugins/virtual-block/index.d.ts +2 -0
  400. package/es/plugins/virtual-block/plugin/index.d.ts +8 -0
  401. package/es/plugins/virtual-block/plugin/index.js +19 -0
  402. package/es/plugins/virtual-block/plugin/register.js +150 -0
  403. package/es/plugins/virtual-block/react/ReactVirtualBlock.d.ts +6 -0
  404. package/es/plugins/virtual-block/react/ReactVirtualBlock.js +15 -0
  405. package/es/plugins/virtual-block/react/index.d.ts +1 -0
  406. package/es/react/ChatInput/ChatInput.d.ts +7 -0
  407. package/es/react/ChatInput/ChatInput.js +91 -0
  408. package/es/react/ChatInput/index.d.ts +2 -0
  409. package/es/react/ChatInput/style.js +115 -0
  410. package/es/react/ChatInput/type.d.ts +32 -0
  411. package/es/react/ChatInputActionBar/ChatInputActionBar.d.ts +7 -0
  412. package/es/react/ChatInputActionBar/ChatInputActionBar.js +22 -0
  413. package/es/react/ChatInputActionBar/index.d.ts +2 -0
  414. package/es/react/ChatInputActionBar/style.js +7 -0
  415. package/es/react/ChatInputActionBar/type.d.ts +10 -0
  416. package/es/react/ChatInputActions/ChatInputActions.d.ts +7 -0
  417. package/es/react/ChatInputActions/ChatInputActions.js +65 -0
  418. package/es/react/ChatInputActions/components/ActionItem.js +46 -0
  419. package/es/react/ChatInputActions/components/ActionRender.js +45 -0
  420. package/es/react/ChatInputActions/components/CollapsedActions.js +60 -0
  421. package/es/react/ChatInputActions/components/useDisplayActionCount.js +45 -0
  422. package/es/react/ChatInputActions/index.d.ts +2 -0
  423. package/es/react/ChatInputActions/style.js +20 -0
  424. package/es/react/ChatInputActions/type.d.ts +36 -0
  425. package/es/react/CodeLanguageSelect/CodeLanguageSelect.d.ts +7 -0
  426. package/es/react/CodeLanguageSelect/CodeLanguageSelect.js +67 -0
  427. package/es/react/CodeLanguageSelect/index.d.ts +2 -0
  428. package/es/react/CodeLanguageSelect/style.js +7 -0
  429. package/es/react/CodeLanguageSelect/type.d.ts +6 -0
  430. package/es/react/Editor/Editor.js +108 -0
  431. package/es/react/Editor/index.d.ts +16 -0
  432. package/es/react/Editor/index.js +11 -0
  433. package/es/react/Editor/type.d.ts +64 -0
  434. package/es/react/Editor/utils.d.ts +6 -0
  435. package/es/react/Editor/utils.js +6 -0
  436. package/es/react/EditorProvider/index.d.ts +28 -0
  437. package/es/react/EditorProvider/index.js +18 -0
  438. package/es/react/FloatActions/FloatActions.d.ts +7 -0
  439. package/es/react/FloatActions/FloatActions.js +34 -0
  440. package/es/react/FloatActions/components/ActionItem.js +46 -0
  441. package/es/react/FloatActions/components/ActionRender.js +45 -0
  442. package/es/react/FloatActions/components/CollapsedActions.js +60 -0
  443. package/es/react/FloatActions/index.d.ts +2 -0
  444. package/es/react/FloatActions/style.js +19 -0
  445. package/es/react/FloatActions/type.d.ts +33 -0
  446. package/es/react/FloatMenu/FloatMenu.d.ts +7 -0
  447. package/es/react/FloatMenu/FloatMenu.js +32 -0
  448. package/es/react/FloatMenu/index.d.ts +2 -0
  449. package/es/react/FloatMenu/style.js +28 -0
  450. package/es/react/FloatMenu/type.d.ts +25 -0
  451. package/es/react/SendButton/SendButton.d.ts +7 -0
  452. package/es/react/SendButton/SendButton.js +107 -0
  453. package/es/react/SendButton/components/SendIcon.js +23 -0
  454. package/es/react/SendButton/components/StopIcon.js +56 -0
  455. package/es/react/SendButton/index.d.ts +2 -0
  456. package/es/react/SendButton/style.js +68 -0
  457. package/es/react/SendButton/type.d.ts +12 -0
  458. package/es/react/SlashMenu/SlashMenu.d.ts +7 -0
  459. package/es/react/SlashMenu/SlashMenu.js +40 -0
  460. package/es/react/SlashMenu/index.d.ts +2 -0
  461. package/es/react/SlashMenu/type.d.ts +17 -0
  462. package/es/react/hooks/useEditor.d.ts +5 -0
  463. package/es/react/hooks/useEditor.js +8 -0
  464. package/es/react/hooks/useEditorState/index.d.ts +71 -0
  465. package/es/react/hooks/useEditorState/index.js +347 -0
  466. package/es/react/hooks/useEditorState/utils.js +28 -0
  467. package/es/react/hooks/useSize.js +61 -0
  468. package/es/react.d.ts +22 -334
  469. package/es/react.js +13 -1573
  470. package/es/renderer/LexicalDiff.d.ts +41 -0
  471. package/es/renderer/LexicalDiff.js +96 -0
  472. package/es/renderer/LexicalRenderer.d.ts +16 -0
  473. package/es/renderer/LexicalRenderer.js +48 -0
  474. package/es/renderer/diff/compute.js +396 -0
  475. package/es/renderer/diff/style.d.ts +4 -0
  476. package/es/renderer/diff/style.js +104 -0
  477. package/es/renderer/diff/types.d.ts +32 -0
  478. package/es/renderer/engine/render-builtin-node.js +196 -0
  479. package/es/renderer/engine/render-text-node.js +33 -0
  480. package/es/renderer/engine/render-tree.js +35 -0
  481. package/es/renderer/engine/shiki.d.ts +4 -0
  482. package/es/renderer/engine/shiki.js +24 -0
  483. package/es/renderer/engine/utils.js +16 -0
  484. package/es/renderer/nodes/index.d.ts +6 -0
  485. package/es/renderer/nodes/index.js +44 -0
  486. package/es/renderer/renderers/codeblock.js +21 -0
  487. package/es/renderer/renderers/file.js +29 -0
  488. package/es/renderer/renderers/horizontalrule.js +29 -0
  489. package/es/renderer/renderers/image.js +35 -0
  490. package/es/renderer/renderers/index.d.ts +6 -0
  491. package/es/renderer/renderers/index.js +21 -0
  492. package/es/renderer/renderers/math.js +19 -0
  493. package/es/renderer/renderers/mention.js +15 -0
  494. package/es/renderer/renderers/mermaid.js +17 -0
  495. package/es/renderer/style.js +52 -0
  496. package/es/renderer/types.d.ts +29 -0
  497. package/es/renderer.d.ts +8 -114
  498. package/es/renderer.js +5 -1153
  499. package/es/types/hotkey.d.ts +76 -0
  500. package/es/types/hotkey.js +65 -0
  501. package/es/types/index.d.ts +2 -0
  502. package/es/types/kernel.d.ts +359 -0
  503. package/es/types/locale.d.ts +11 -0
  504. package/es/utils/cx.js +4 -0
  505. package/es/utils/debug.d.ts +425 -0
  506. package/es/{debug-CIvbNHJu.js → utils/debug.js} +3 -35
  507. package/es/utils/hotkey/isHotkeyMatch.js +17 -0
  508. package/es/utils/hotkey/parseHotkeys.js +53 -0
  509. package/es/utils/hotkey/registerHotkey.d.ts +18 -0
  510. package/es/utils/hotkey/registerHotkey.js +35 -0
  511. package/es/utils/scrollIntoView.d.ts +8 -0
  512. package/es/utils/scrollIntoView.js +29 -0
  513. package/es/utils/updatePosition.js +26 -0
  514. package/es/utils/url.d.ts +18 -0
  515. package/es/utils/url.js +34 -0
  516. package/package.json +4 -1
  517. package/es/ReactSlashPlugin-BiVy_Iwf.js +0 -23072
  518. package/es/codemirror-3POv7f__.js +0 -923
  519. package/es/index-DHGp94p0.d.ts +0 -916
  520. package/es/style-DADgHVA1.js +0 -2889
  521. package/es/style-DMdPzCo-.js +0 -999
@@ -1,916 +0,0 @@
1
- import { DropdownMenuItemType } from "@lobehub/ui";
2
- import * as _$react from "react";
3
- import { CSSProperties, CompositionEvent, FC, FocusEvent, MouseEvent, ReactElement, ReactNode } from "react";
4
- import { HistoryState, HistoryStateEntry } from "@lexical/history";
5
- import * as _$lexical from "lexical";
6
- import { CommandListener, CommandListenerPriority, CommandPayloadType, DOMConversionMap, DOMExportOutput, DecoratorNode, EditorConfig, EditorState, ElementNode, LexicalCommand, LexicalEditor, LexicalNode, LexicalNodeConfig, LexicalUpdateJSON, RangeSelection, SerializedLexicalNode, Spread, TextNode } from "lexical";
7
- import { HeadingTagType } from "@lexical/rich-text";
8
- import Fuse, { IFuseOptions } from "fuse.js";
9
-
10
- //#region src/editor-kernel/data-source.d.ts
11
- interface IWriteOptions {
12
- selection?: boolean;
13
- }
14
- declare class DataSource {
15
- protected dataType: string;
16
- constructor(dataType: string);
17
- get type(): string;
18
- read(editor: LexicalEditor, data: any, options?: Record<string, unknown>): void;
19
- write(editor: LexicalEditor, options?: IWriteOptions): any;
20
- }
21
- //#endregion
22
- //#region src/types/hotkey.d.ts
23
- declare const KeyEnum: {
24
- readonly Alt: "alt";
25
- readonly Backquote: "backquote";
26
- readonly Backslash: "backslash";
27
- readonly Backspace: "backspace";
28
- readonly BracketLeft: "bracketleft";
29
- readonly BracketRight: "bracketright";
30
- readonly Comma: "comma";
31
- readonly Ctrl: "ctrl";
32
- readonly Down: "down";
33
- readonly Enter: "enter";
34
- readonly Equal: "equal";
35
- readonly Esc: "esc";
36
- readonly Left: "left";
37
- readonly LeftClick: "left-click";
38
- readonly LeftDoubleClick: "left-double-click";
39
- readonly Meta: "meta";
40
- readonly MiddleClick: "middle-click";
41
- readonly Minus: "minus";
42
- readonly Mod: "mod";
43
- readonly Number: "1-9";
44
- readonly Period: "period";
45
- readonly Plus: "equal";
46
- readonly QuestionMark: "slash";
47
- readonly Quote: "quote";
48
- readonly Right: "right";
49
- readonly RightClick: "right-click";
50
- readonly RightDoubleClick: "right-double-click";
51
- readonly Semicolon: "semicolon";
52
- readonly Shift: "shift";
53
- readonly Slash: "slash";
54
- readonly Space: "space";
55
- readonly Tab: "tab";
56
- readonly Up: "up";
57
- readonly Zero: "0";
58
- };
59
- declare const HotkeyEnum: {
60
- readonly Bold: "bold";
61
- readonly BulletList: "bulletList";
62
- readonly CodeInline: "codeInline";
63
- readonly Italic: "italic";
64
- readonly Link: "link";
65
- readonly Mention: "mention";
66
- readonly NumberList: "numberList";
67
- readonly PasteAsPlainText: "pasteAsPlainText";
68
- readonly Redo: "redo";
69
- readonly Slash: "slash";
70
- readonly Strikethrough: "strikethrough";
71
- readonly Underline: "underline";
72
- readonly Undo: "undo";
73
- };
74
- declare const HotkeyScopeEnum: {
75
- readonly Format: "format";
76
- readonly Insert: "insert";
77
- readonly Plugin: "plugin";
78
- readonly Slash: "slash";
79
- };
80
- type HotkeyId = (typeof HotkeyEnum)[keyof typeof HotkeyEnum];
81
- type HotkeyScopeId = (typeof HotkeyScopeEnum)[keyof typeof HotkeyScopeEnum];
82
- interface HotkeyItem {
83
- id: HotkeyId;
84
- keys: string;
85
- priority: CommandListenerPriority;
86
- scopes?: HotkeyScopeId[];
87
- }
88
- type ModifierCombination = {
89
- altKey?: boolean;
90
- ctrlKey?: boolean;
91
- metaKey?: boolean;
92
- shiftKey?: boolean;
93
- } | Record<string, never>;
94
- //#endregion
95
- //#region src/utils/hotkey/registerHotkey.d.ts
96
- type HotkeysEvent = {
97
- key?: string;
98
- keys: string;
99
- modifiers: ModifierCombination;
100
- scopes?: string[];
101
- };
102
- type HotkeyOptions = {
103
- enabled?: boolean;
104
- preventDefault?: boolean;
105
- stopImmediatePropagation?: boolean;
106
- stopPropagation?: boolean;
107
- };
108
- declare const getHotkeyById: (id: HotkeyId) => HotkeyItem;
109
- //#endregion
110
- //#region src/locale/index.d.ts
111
- declare const _default: {
112
- block: {
113
- delete: string;
114
- };
115
- cancel: string;
116
- codemirror: {
117
- copySuccess: string;
118
- selectLanguage: string;
119
- selectTheme: string;
120
- showLineNumbers: string;
121
- tabSize: string;
122
- theme: string;
123
- useTabs: string;
124
- };
125
- confirm: string;
126
- file: {
127
- error: string;
128
- uploading: string;
129
- };
130
- image: {
131
- broken: string;
132
- replace: string;
133
- };
134
- link: {
135
- edit: string;
136
- editLinkTitle: string;
137
- editTextTitle: string;
138
- open: string;
139
- placeholder: string;
140
- unlink: string;
141
- };
142
- markdown: {
143
- autoFormatMessage: string;
144
- autoFormatTitle: string;
145
- cancel: string;
146
- confirm: string;
147
- parseMessage: string;
148
- parseTitle: string;
149
- };
150
- math: {
151
- placeholder: string;
152
- };
153
- modifier: {
154
- accept: string;
155
- acceptAll: string;
156
- reject: string;
157
- rejectedAll: string;
158
- };
159
- table: {
160
- delete: string;
161
- deleteColumn: string;
162
- deleteRow: string;
163
- insertColumnLeft: string;
164
- insertColumnRight: string;
165
- insertRowAbove: string;
166
- insertRowBelow: string;
167
- };
168
- };
169
- //#endregion
170
- //#region src/types/locale.d.ts
171
- /**
172
- * Internationalization key type declaration, plugins can extend through declaration merging
173
- */
174
- type LocaleType = typeof _default;
175
- type FlattenKeys<T, Prefix extends string = ''> = { [K in keyof T & string]: T[K] extends string ? Prefix extends '' ? K : `${Prefix}.${K}` : T[K] extends Record<string, any> ? FlattenKeys<T[K], Prefix extends '' ? K : `${Prefix}.${K}`> : never }[keyof T & string];
176
- type ILocaleKeys = Record<FlattenKeys<LocaleType>, string>;
177
- //#endregion
178
- //#region src/types/kernel.d.ts
179
- type IDecoratorFunc = (_node: LexicalNode, _editor: LexicalEditor) => any;
180
- type INodeRegistrationTransform = (node: LexicalNodeConfig, index: number) => LexicalNodeConfig | null | undefined;
181
- type IBeforeEditorInitLifecycle = () => void;
182
- type IDecorator = {
183
- queryDOM: (_element: HTMLElement) => HTMLElement;
184
- render: IDecoratorFunc;
185
- } | IDecoratorFunc;
186
- /**
187
- * Service ID type
188
- */
189
- type IServiceID<Service> = {
190
- readonly __serviceId: string;
191
- __serviceType?: Service;
192
- };
193
- interface ISelectionObject {
194
- endNodeId: string;
195
- endOffset: number;
196
- startNodeId: string;
197
- startOffset: number;
198
- type: 'range' | 'node' | 'table';
199
- }
200
- interface IDocumentOptions {
201
- [key: string]: unknown;
202
- keepHistory?: boolean;
203
- /** only work for json datasource */
204
- keepId?: boolean;
205
- }
206
- interface IKernelEventMap {
207
- /**
208
- * Document change event
209
- */
210
- documentChange: (type: string, content: any) => void;
211
- /**
212
- * Editor editable state change event
213
- */
214
- editableChange: (editable: boolean) => void;
215
- /**
216
- * Editor error event
217
- */
218
- error: (error: Error) => void;
219
- /**
220
- * Initialization event
221
- * @param editor Lexical editor instance
222
- * @returns
223
- */
224
- initialized: (editor: LexicalEditor) => void;
225
- /**
226
- * handle markdown parse event
227
- */
228
- markdownParse: (params: {
229
- cacheState: EditorState;
230
- historyState: HistoryStateEntry | null;
231
- markdown: string;
232
- matchedPatterns: string[];
233
- score: number;
234
- }) => void;
235
- /**
236
- * handle paste event
237
- */
238
- onPaste: (event: ClipboardEvent) => void;
239
- }
240
- /**
241
- * External API
242
- */
243
- interface IEditor {
244
- /**
245
- * Lose focus
246
- */
247
- blur(): void;
248
- /**
249
- * Clean editor content (clear all content)
250
- */
251
- cleanDocument(): void;
252
- /**
253
- * Destroy editor instance
254
- */
255
- destroy(): void;
256
- /**
257
- * Execute editor commands to manipulate editor content
258
- * @param type
259
- * @param payload
260
- */
261
- dispatchCommand<TCommand extends LexicalCommand<unknown>>(type: TCommand, payload: CommandPayloadType<TCommand>): boolean;
262
- /**
263
- * Focus editor
264
- */
265
- focus(): void;
266
- /**
267
- * Get editor content of specified type
268
- */
269
- getDocument(type: string): DataSource | undefined;
270
- /**
271
- * Lexical history state (undo stack metadata)
272
- */
273
- getHistoryState(): HistoryState;
274
- /**
275
- * Get Lexical editor instance
276
- */
277
- getLexicalEditor(): LexicalEditor | null;
278
- /**
279
- * Get document editor root node
280
- */
281
- getRootElement(): HTMLElement | null;
282
- /**
283
- * Get editor selection information
284
- */
285
- getSelection(): ISelectionObject | null;
286
- /**
287
- * Get document editor selection content of specified type
288
- * @param type
289
- */
290
- getSelectionDocument(type: string): unknown | null;
291
- /**
292
- * Get editor theme
293
- */
294
- getTheme(): Record<string, string | Record<string, string>>;
295
- /**
296
- * Get headless editor instance
297
- */
298
- initHeadlessEditor(): LexicalEditor | null;
299
- /**
300
- * Get node editor instance
301
- */
302
- initNodeEditor(): LexicalEditor | null;
303
- /**
304
- * Check if editor is editable
305
- */
306
- isEditable(): boolean;
307
- /**
308
- * Check if editor content is empty
309
- * @returns true if editor content is empty, false otherwise
310
- */
311
- get isEmpty(): boolean;
312
- /**
313
- * Check if editor has active selection
314
- * @returns true if editor has selection, false otherwise
315
- */
316
- get isSelected(): boolean;
317
- /**
318
- * Remove editor event listener
319
- * @param event
320
- * @param listener
321
- */
322
- off<T extends keyof IKernelEventMap>(event: T, listener: IKernelEventMap[T]): this;
323
- /**
324
- * Add editor event listener
325
- * @param event
326
- * @param listener
327
- */
328
- on<T extends keyof IKernelEventMap>(event: T, listener: IKernelEventMap[T]): this;
329
- /**
330
- * Listen to event once, automatically remove listener after trigger
331
- * @param event
332
- * @param listener
333
- */
334
- once<T extends keyof IKernelEventMap>(event: T, listener: IKernelEventMap[T]): this;
335
- /**
336
- * Extends the priority level of Lexical commands.
337
- * Registers a listener that triggers when the provided command is dispatched
338
- * via {@link LexicalEditor.dispatch}. The listener is triggered based on its priority.
339
- * Listeners with higher priority can "intercept" commands and prevent them
340
- * from propagating to other handlers by returning true.
341
- *
342
- * Listeners are always invoked within {@link LexicalEditor.update} and can call dollar functions.
343
- *
344
- * Listeners registered at the same priority level will deterministically run
345
- * in the order of registration.
346
- *
347
- * @param command - The command that triggers the callback.
348
- * @param listener - The function executed when the command is dispatched.
349
- * @param priority - The relative priority of the listener. 0 | 1 | 2 | 3 | 4
350
- * (or {@link COMMAND_PRIORITY_EDITOR} |
351
- * {@link COMMAND_PRIORITY_LOW} |
352
- * {@link COMMAND_PRIORITY_NORMAL} |
353
- * {@link COMMAND_PRIORITY_HIGH} |
354
- * {@link COMMAND_PRIORITY_CRITICAL})
355
- * @returns A teardown function to clean up the listener.
356
- */
357
- registerHighCommand<P>(command: LexicalCommand<P>, listener: CommandListener<P>, priority: CommandListenerPriority): () => void;
358
- /**
359
- * Register keyboard shortcut
360
- * @param hotkey
361
- * @param callback
362
- * @param options
363
- */
364
- registerHotkey(hotkey: HotkeyId, callback: (event: KeyboardEvent, handler: HotkeysEvent) => void, options?: HotkeyOptions): () => void;
365
- /**
366
- * Register internationalization text
367
- * @param locale Internationalization text object
368
- */
369
- registerLocale(locale: Partial<Record<keyof ILocaleKeys, string>>): void;
370
- /**
371
- * Register editor plugin
372
- */
373
- registerPlugin<T>(plugin: IEditorPluginConstructor<T>, config?: T): IEditor;
374
- /**
375
- * Register multiple editor plugins
376
- */
377
- registerPlugins(plugins: Array<IPlugin>): IEditor;
378
- /**
379
- * Get editor Service, usually provided by plugins to extend certain functionalities
380
- * @param serviceId
381
- */
382
- requireService<T>(serviceId: IServiceID<T>): T | null;
383
- /**
384
- * Set editor content, type is content type, content is content data
385
- * @param type
386
- * @param content
387
- */
388
- setDocument(type: string, content: any, options?: IDocumentOptions): void;
389
- /**
390
- * Enable or disable editor editing capability
391
- * @param editable
392
- */
393
- setEditable(editable: boolean): void;
394
- /**
395
- * Set document editor root node
396
- * @param dom
397
- */
398
- setRootElement(dom: HTMLElement, editable?: boolean): LexicalEditor;
399
- /**
400
- * set editor selection
401
- * @param selection
402
- */
403
- setSelection(selection: ISelectionObject, opt?: {
404
- collapseToEnd?: boolean;
405
- collapseToStart?: boolean;
406
- }): Promise<boolean>;
407
- /**
408
- * Get translation text
409
- * @param key Translation key
410
- * @param params Parameter replacement
411
- */
412
- t<K extends keyof ILocaleKeys>(key: K, params?: Record<string, any>): string;
413
- /**
414
- * Update editor theme
415
- * @param key
416
- * @param value
417
- */
418
- updateTheme(key: string, value: string | Record<string, string>): void;
419
- }
420
- /**
421
- * API provided to plugins
422
- */
423
- interface IEditorKernel extends IEditor {
424
- /**
425
- * Clone the current editor kernel instance
426
- */
427
- cloneNodeEditor(): IEditorKernel;
428
- emit<T extends keyof IKernelEventMap>(event: T, params: Parameters<IKernelEventMap[T]>[0]): void;
429
- /**
430
- * Get editor Node decorator for specific Node rendering
431
- * @param name
432
- */
433
- getDecorator(name: string): IDecorator | undefined;
434
- /**
435
- * Get all registered decorator names
436
- */
437
- getRegisteredDecorators(): string[];
438
- /**
439
- * Check if hot reload mode is enabled
440
- */
441
- isHotReloadMode(): boolean;
442
- /**
443
- * Register a lifecycle hook that runs right before editor initialization.
444
- * @param hook
445
- * @returns unregister function
446
- */
447
- registerBeforeEditorInit(hook: IBeforeEditorInitLifecycle): () => void;
448
- /**
449
- * Register data source for multi-format data conversion
450
- * @param dataSource
451
- */
452
- registerDataSource(dataSource: DataSource): void;
453
- /**
454
- * Register editor node decorator
455
- * @param name
456
- * @param decorator
457
- */
458
- registerDecorator(name: string, decorator: IDecorator): void;
459
- /**
460
- * Register a transform hook that runs before editor initialization
461
- * to rewrite registered nodes before createEditor/createHeadlessEditor is called.
462
- * @param transform
463
- * @returns unregister function
464
- */
465
- registerNodeTransform(transform: INodeRegistrationTransform): () => void;
466
- /**
467
- * Register Lexical Node
468
- * @param nodes
469
- */
470
- registerNodes(nodes: Array<LexicalNodeConfig>): void;
471
- /**
472
- * Register className(s) to the contenteditable root element.
473
- * @param className One or more class names separated by spaces
474
- * @returns unregister function
475
- */
476
- registerRootClassName(className: string): () => void;
477
- /**
478
- * Register service
479
- * @param serviceId
480
- * @param service
481
- */
482
- registerService<T>(serviceId: IServiceID<T>, service: T): void;
483
- /**
484
- * Register service with hot reload support - allows overriding existing services
485
- * @param serviceId Service identifier
486
- * @param service Service instance
487
- */
488
- registerServiceHotReload<T>(serviceId: IServiceID<T>, service: T): void;
489
- /**
490
- * Register theme
491
- * @param themes
492
- */
493
- registerThemes(themes: Record<string, any>): void;
494
- /**
495
- * Enable or disable hot reload mode
496
- * @param enabled Whether to enable hot reload mode
497
- */
498
- setHotReloadMode(enabled: boolean): void;
499
- /**
500
- * Unregister editor node decorator
501
- * @param name Decorator name
502
- */
503
- unregisterDecorator(name: string): boolean;
504
- }
505
- /**
506
- * Plugin interface
507
- */
508
- interface IEditorPlugin<IConfig> {
509
- config?: IConfig;
510
- /**
511
- * Editor destruction
512
- */
513
- destroy(): void;
514
- /**
515
- * After Lexical editor instantiation
516
- * @param editor Lexical editor instance
517
- */
518
- onInit?(editor: LexicalEditor): void;
519
- }
520
- /**
521
- * Plugin class interface
522
- */
523
- interface IEditorPluginConstructor<IConfig> {
524
- readonly pluginName: string;
525
- new (kernel: IEditorKernel, config?: IConfig): IEditorPlugin<IConfig>;
526
- }
527
- type IPlugin<T = any> = IEditorPluginConstructor<T> | [IEditorPluginConstructor<T>, T?];
528
- //#endregion
529
- //#region src/plugins/common/command/index.d.ts
530
- declare const INSERT_QUOTE_COMMAND: _$lexical.LexicalCommand<unknown>;
531
- declare const INSERT_HEADING_COMMAND: _$lexical.LexicalCommand<{
532
- tag: HeadingTagType;
533
- }>;
534
- //#endregion
535
- //#region src/plugins/common/node/cursor.d.ts
536
- declare class CardLikeElementNode extends ElementNode {
537
- isCardLike(): boolean;
538
- }
539
- declare const cursorNodeSerialized: SerializedLexicalNode;
540
- declare class CursorNode extends TextNode {
541
- static getType(): string;
542
- isUnmergeable(): boolean;
543
- }
544
- declare function $createCursorNode(): CursorNode;
545
- declare function $isCardLikeElementNode(node: LexicalNode | null | undefined): node is CardLikeElementNode;
546
- declare function $isCursorNode(node: LexicalNode | null | undefined): node is CursorNode;
547
- //#endregion
548
- //#region src/plugins/common/plugin/paste-handler.d.ts
549
- /**
550
- * Configuration options relevant to paste handling
551
- */
552
- interface PasteHandlerConfig {
553
- pasteVSCodeAsCodeBlock?: boolean;
554
- }
555
- //#endregion
556
- //#region src/plugins/common/plugin/index.d.ts
557
- interface CommonPluginOptions extends PasteHandlerConfig {
558
- enableHotkey?: boolean;
559
- /**
560
- * Enable/disable markdown shortcuts
561
- * @default true - most formats enabled, but subscript/superscript are disabled by default
562
- */
563
- markdownOption?: boolean | {
564
- bold?: boolean;
565
- code?: boolean;
566
- header?: boolean;
567
- italic?: boolean;
568
- quote?: boolean;
569
- strikethrough?: boolean;
570
- subscript?: boolean;
571
- superscript?: boolean;
572
- underline?: boolean;
573
- underlineStrikethrough?: boolean;
574
- };
575
- /**
576
- * Force paste as plain text, stripping all rich text formatting
577
- * @default false
578
- */
579
- pasteAsPlainText?: boolean;
580
- theme?: {
581
- quote?: string;
582
- textBold?: string;
583
- textCode?: string;
584
- textHighlight?: string;
585
- textItalic?: string;
586
- textStrikethrough?: string;
587
- textSubscript?: string;
588
- textSuperscript?: string;
589
- textUnderline?: string;
590
- textUnderlineStrikethrough?: string;
591
- };
592
- }
593
- declare const CommonPlugin: IEditorPluginConstructor<CommonPluginOptions>;
594
- //#endregion
595
- //#region src/plugins/common/react/type.d.ts
596
- interface ReactEditorContentProps {
597
- content: any;
598
- lineEmptyPlaceholder?: string;
599
- placeholder?: ReactNode;
600
- type: string;
601
- }
602
- interface ReactPlainTextProps {
603
- autoFocus?: boolean;
604
- /**
605
- * Automatically convert pasted markdown once the detection threshold is reached
606
- * @default true
607
- */
608
- autoFormatMarkdown?: boolean;
609
- children: ReactElement<ReactEditorContentProps>;
610
- className?: string;
611
- editable?: boolean;
612
- enableHotkey?: boolean;
613
- /**
614
- * Enable automatic markdown conversion for pasted content
615
- * @default true
616
- */
617
- enablePasteMarkdown?: boolean;
618
- /**
619
- * Enable/disable markdown shortcuts
620
- * @default true - all formats enabled
621
- */
622
- markdownOption?: CommonPluginOptions['markdownOption'];
623
- onBlur?: (props: {
624
- editor: IEditor;
625
- event: FocusEvent<HTMLDivElement>;
626
- }) => void;
627
- onChange?: (editor: IEditor) => void;
628
- onCompositionEnd?: (props: {
629
- editor: IEditor;
630
- event: CompositionEvent<HTMLDivElement>;
631
- }) => void;
632
- onCompositionStart?: (props: {
633
- editor: IEditor;
634
- event: CompositionEvent<HTMLDivElement>;
635
- }) => void;
636
- onContextMenu?: (props: {
637
- editor: IEditor;
638
- event: MouseEvent<HTMLDivElement>;
639
- }) => void;
640
- onFocus?: (props: {
641
- editor: IEditor;
642
- event: FocusEvent<HTMLDivElement>;
643
- }) => void;
644
- onKeyDown?: (props: {
645
- editor: IEditor;
646
- event: KeyboardEvent;
647
- }) => boolean | void;
648
- onPressEnter?: (props: {
649
- editor: IEditor;
650
- event: KeyboardEvent;
651
- }) => boolean | void;
652
- /**
653
- * Callback triggered only when text content changes
654
- * Unlike onChange, this won't trigger on cursor movement or selection changes
655
- */
656
- onTextChange?: (editor: IEditor) => void;
657
- /**
658
- * Force paste as plain text, stripping all rich text formatting
659
- * @default false
660
- */
661
- pasteAsPlainText?: boolean;
662
- /**
663
- * Minimum markdown score required before auto conversion runs
664
- * @default 5
665
- */
666
- pasteMarkdownAutoConvertThreshold?: number;
667
- /**
668
- * When pasting VS Code content (detected via vscode-editor-data clipboard type),
669
- * create a code block with the language from VS Code instead of pasting as plain text.
670
- * This option only takes effect when pasteAsPlainText is enabled.
671
- * @default true
672
- */
673
- pasteVSCodeAsCodeBlock?: boolean;
674
- style?: CSSProperties;
675
- theme?: CommonPluginOptions['theme'] & {
676
- fontSize?: number;
677
- headerMultiple?: number;
678
- lineHeight?: number;
679
- marginMultiple?: number;
680
- };
681
- variant?: 'default' | 'chat';
682
- }
683
- //#endregion
684
- //#region src/plugins/common/react/ReactEditorContent.d.ts
685
- declare const ReactEditorContent: FC<ReactEditorContentProps>;
686
- //#endregion
687
- //#region src/plugins/common/react/ReactPlainText.d.ts
688
- declare const ReactPlainText: _$react.NamedExoticComponent<ReactPlainTextProps>;
689
- //#endregion
690
- //#region src/plugins/mention/node/MentionNode.d.ts
691
- type SerializedMentionNode = Spread<{
692
- label?: string;
693
- metadata?: Record<string, unknown>;
694
- }, SerializedLexicalNode>;
695
- declare class MentionNode extends DecoratorNode<any> {
696
- static getType(): string;
697
- static clone(node: MentionNode): MentionNode;
698
- static importJSON(serializedNode: SerializedMentionNode): MentionNode;
699
- static importDOM(): DOMConversionMap | null;
700
- __label: string;
701
- __metadata: Record<string, unknown>;
702
- constructor(label?: string, metadata?: Record<string, unknown>, key?: string);
703
- get label(): string;
704
- get metadata(): Record<string, unknown>;
705
- exportDOM(): DOMExportOutput;
706
- createDOM(config: EditorConfig): HTMLElement;
707
- getTextContent(): string;
708
- isInline(): true;
709
- updateDOM(): boolean;
710
- exportJSON(): SerializedMentionNode;
711
- updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedMentionNode>): this;
712
- decorate(editor: LexicalEditor): any;
713
- }
714
- //#endregion
715
- //#region src/plugins/mention/react/type.d.ts
716
- interface ReactMentionPluginProps {
717
- className?: string;
718
- markdownWriter?: (file: MentionNode) => string;
719
- theme?: {
720
- mention?: string;
721
- };
722
- }
723
- //#endregion
724
- //#region src/plugins/mention/react/ReactMentionPlugin.d.ts
725
- declare const ReactMentionPlugin: FC<ReactMentionPluginProps>;
726
- //#endregion
727
- //#region src/plugins/slash/service/i-slash-service.d.ts
728
- type ISlashDividerOption = {
729
- type: 'divider';
730
- };
731
- interface ISlashMenuOption extends DropdownMenuItemType {
732
- metadata?: Record<string, any>;
733
- onSelect?: (editor: IEditor, matchingString: string) => void;
734
- }
735
- type ISlashOption = ISlashMenuOption | ISlashDividerOption;
736
- interface SlashOptions {
737
- allowWhitespace?: boolean;
738
- /**
739
- * Complete Fuse.js configuration options
740
- * @example
741
- * {
742
- * keys: ['key', 'label', 'description'],
743
- * threshold: 0.3,
744
- * includeScore: true,
745
- * includeMatches: true
746
- * }
747
- */
748
- fuseOptions?: IFuseOptions<ISlashMenuOption>;
749
- items: Array<ISlashOption> | ((search: {
750
- leadOffset: number;
751
- matchingString: string;
752
- replaceableString: string;
753
- } | null) => Promise<Array<ISlashOption>>);
754
- maxLength?: number;
755
- minLength?: number;
756
- punctuation?: string;
757
- /**
758
- * Fuse.js search keys for fuzzy matching
759
- * Default is ['key']
760
- * @example ['key', 'label', 'description']
761
- * @deprecated Use fuseOptions instead
762
- */
763
- searchKeys?: string[];
764
- trigger: string;
765
- }
766
- interface ISlashService {
767
- registerSlash(options: SlashOptions): void;
768
- updateOptions(options: SlashOptions[]): void;
769
- }
770
- declare const ISlashService: IServiceID<ISlashService>;
771
- //#endregion
772
- //#region src/plugins/slash/plugin/index.d.ts
773
- interface ITriggerContext {
774
- getRect: () => DOMRect;
775
- items: Array<ISlashOption> | ((search: {
776
- leadOffset: number;
777
- matchingString: string;
778
- replaceableString: string;
779
- } | null) => Promise<Array<ISlashOption>>);
780
- lastIndex: number;
781
- match?: {
782
- leadOffset: number;
783
- matchingString: string;
784
- replaceableString: string;
785
- } | null;
786
- trigger: SlashOptions['trigger'];
787
- }
788
- interface SlashPluginOptions {
789
- slashOptions?: SlashOptions[];
790
- triggerClose: () => void;
791
- triggerOpen: (ctx: ITriggerContext) => void;
792
- }
793
- declare const SlashPlugin: IEditorPluginConstructor<SlashPluginOptions>;
794
- //#endregion
795
- //#region src/plugins/slash/react/type.d.ts
796
- interface ReactSlashOptionProps {
797
- /**
798
- * Complete Fuse.js configuration options
799
- * @example
800
- * {
801
- * keys: ['key', 'label', 'description'],
802
- * threshold: 0.3,
803
- * includeScore: true,
804
- * includeMatches: true
805
- * }
806
- */
807
- fuseOptions?: IFuseOptions<ISlashMenuOption>;
808
- /**
809
- * Searchable options
810
- */
811
- items?: SlashOptions['items'];
812
- /**
813
- * Maximum search length
814
- * Default is 75
815
- */
816
- maxLength?: number;
817
- onSelect?: (editor: IEditor, option: ISlashMenuOption) => void;
818
- /**
819
- * Custom render component
820
- */
821
- renderComp?: FC<MenuRenderProps>;
822
- /**
823
- * Fuse.js search keys for fuzzy matching
824
- * Default is ['key']
825
- * @example ['key', 'label', 'description']
826
- * @deprecated Use fuseOptions instead
827
- */
828
- searchKeys?: string[];
829
- /**
830
- * Trigger character
831
- */
832
- trigger?: SlashOptions['trigger'];
833
- }
834
- interface MenuRenderProps {
835
- /**
836
- * Current active option key
837
- */
838
- activeKey: string | null;
839
- /**
840
- * Loading state
841
- */
842
- loading?: boolean;
843
- /**
844
- * Actively trigger selection
845
- * @param option Currently selected element
846
- */
847
- onSelect?: (option: ISlashMenuOption) => void;
848
- open?: boolean;
849
- /**
850
- * Currently searched options
851
- */
852
- options: Array<ISlashOption>;
853
- /**
854
- * Actively set current active option key
855
- * @param key
856
- * @returns
857
- */
858
- setActiveKey: (key: string | null) => void;
859
- }
860
- /**
861
- * SlashMenu component props - only responsible for rendering
862
- */
863
- interface SlashMenuProps {
864
- /** Current active option key */
865
- activeKey: string | null;
866
- /** Anchor element className */
867
- anchorClassName?: string;
868
- /** Custom render component if provided */
869
- customRender?: FC<MenuRenderProps>;
870
- /** Custom popup container for portal rendering and scroll tracking */
871
- getPopupContainer?: () => HTMLElement | null;
872
- /** Loading state */
873
- loading: boolean;
874
- /** Callback to set active key */
875
- onActiveKeyChange: (key: string | null) => void;
876
- /** Callback when menu should close */
877
- onClose: () => void;
878
- /** Callback when an option is selected */
879
- onSelect: (option: ISlashMenuOption) => void;
880
- /** Whether the menu is open */
881
- open: boolean;
882
- /** Available options to display */
883
- options: Array<ISlashOption>;
884
- /** Force menu placement direction, skipping auto-flip detection */
885
- placement?: 'bottom' | 'top';
886
- /** Menu position */
887
- position: {
888
- getRect?: () => DOMRect;
889
- rect?: DOMRect;
890
- x: number;
891
- y: number;
892
- };
893
- }
894
- interface ReactSlashPluginProps {
895
- anchorClassName?: string;
896
- children?: (ReactElement<ReactSlashOptionProps> | undefined) | (ReactElement<ReactSlashOptionProps> | undefined)[];
897
- /** Custom popup container for portal rendering and scroll tracking */
898
- getPopupContainer?: () => HTMLElement | null;
899
- /** Force menu placement direction, skipping auto-flip detection */
900
- placement?: 'bottom' | 'top';
901
- }
902
- //#endregion
903
- //#region src/plugins/slash/react/components/SlashMenu.d.ts
904
- /**
905
- * SlashMenu component - Only responsible for rendering the menu UI
906
- * All state management and plugin registration is handled by ReactSlashPlugin
907
- */
908
- declare const SlashMenu: FC<SlashMenuProps>;
909
- //#endregion
910
- //#region src/plugins/slash/react/ReactSlashOption.d.ts
911
- declare const ReactSlashOption: FC<ReactSlashOptionProps>;
912
- //#endregion
913
- //#region src/plugins/slash/react/ReactSlashPlugin.d.ts
914
- declare const ReactSlashPlugin: FC<ReactSlashPluginProps>;
915
- //#endregion
916
- export { ModifierCombination as $, INSERT_HEADING_COMMAND as A, ISelectionObject as B, CommonPlugin as C, $isCursorNode as D, $isCardLikeElementNode as E, IEditor as F, HotkeysEvent as G, ILocaleKeys as H, IEditorKernel as I, HotkeyId as J, getHotkeyById as K, IEditorPluginConstructor as L, IBeforeEditorInitLifecycle as M, IDecorator as N, CardLikeElementNode as O, IDocumentOptions as P, KeyEnum as Q, INodeRegistrationTransform as R, ReactPlainTextProps as S, $createCursorNode as T, _default as U, IServiceID as V, HotkeyOptions as W, HotkeyScopeEnum as X, HotkeyItem as Y, HotkeyScopeId as Z, MentionNode as _, ReactSlashOptionProps as a, ReactEditorContent as b, ITriggerContext as c, ISlashMenuOption as d, DataSource as et, ISlashOption as f, ReactMentionPluginProps as g, ReactMentionPlugin as h, MenuRenderProps as i, INSERT_QUOTE_COMMAND as j, cursorNodeSerialized as k, SlashPlugin as l, SlashOptions as m, ReactSlashOption as n, ReactSlashPluginProps as o, ISlashService as p, HotkeyEnum as q, SlashMenu as r, SlashMenuProps as s, ReactSlashPlugin as t, IWriteOptions as tt, SlashPluginOptions as u, SerializedMentionNode as v, CommonPluginOptions as w, ReactEditorContentProps as x, ReactPlainText as y, IPlugin as z };