@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
@@ -0,0 +1,76 @@
1
+ import { CommandListenerPriority } from "lexical";
2
+
3
+ //#region src/types/hotkey.d.ts
4
+ declare const KeyEnum: {
5
+ readonly Alt: "alt";
6
+ readonly Backquote: "backquote";
7
+ readonly Backslash: "backslash";
8
+ readonly Backspace: "backspace";
9
+ readonly BracketLeft: "bracketleft";
10
+ readonly BracketRight: "bracketright";
11
+ readonly Comma: "comma";
12
+ readonly Ctrl: "ctrl";
13
+ readonly Down: "down";
14
+ readonly Enter: "enter";
15
+ readonly Equal: "equal";
16
+ readonly Esc: "esc";
17
+ readonly Left: "left";
18
+ readonly LeftClick: "left-click";
19
+ readonly LeftDoubleClick: "left-double-click";
20
+ readonly Meta: "meta";
21
+ readonly MiddleClick: "middle-click";
22
+ readonly Minus: "minus";
23
+ readonly Mod: "mod";
24
+ readonly Number: "1-9";
25
+ readonly Period: "period";
26
+ readonly Plus: "equal";
27
+ readonly QuestionMark: "slash";
28
+ readonly Quote: "quote";
29
+ readonly Right: "right";
30
+ readonly RightClick: "right-click";
31
+ readonly RightDoubleClick: "right-double-click";
32
+ readonly Semicolon: "semicolon";
33
+ readonly Shift: "shift";
34
+ readonly Slash: "slash";
35
+ readonly Space: "space";
36
+ readonly Tab: "tab";
37
+ readonly Up: "up";
38
+ readonly Zero: "0";
39
+ };
40
+ declare const HotkeyEnum: {
41
+ readonly Bold: "bold";
42
+ readonly BulletList: "bulletList";
43
+ readonly CodeInline: "codeInline";
44
+ readonly Italic: "italic";
45
+ readonly Link: "link";
46
+ readonly Mention: "mention";
47
+ readonly NumberList: "numberList";
48
+ readonly PasteAsPlainText: "pasteAsPlainText";
49
+ readonly Redo: "redo";
50
+ readonly Slash: "slash";
51
+ readonly Strikethrough: "strikethrough";
52
+ readonly Underline: "underline";
53
+ readonly Undo: "undo";
54
+ };
55
+ declare const HotkeyScopeEnum: {
56
+ readonly Format: "format";
57
+ readonly Insert: "insert";
58
+ readonly Plugin: "plugin";
59
+ readonly Slash: "slash";
60
+ };
61
+ type HotkeyId = (typeof HotkeyEnum)[keyof typeof HotkeyEnum];
62
+ type HotkeyScopeId = (typeof HotkeyScopeEnum)[keyof typeof HotkeyScopeEnum];
63
+ interface HotkeyItem {
64
+ id: HotkeyId;
65
+ keys: string;
66
+ priority: CommandListenerPriority;
67
+ scopes?: HotkeyScopeId[];
68
+ }
69
+ type ModifierCombination = {
70
+ altKey?: boolean;
71
+ ctrlKey?: boolean;
72
+ metaKey?: boolean;
73
+ shiftKey?: boolean;
74
+ } | Record<string, never>;
75
+ //#endregion
76
+ export { HotkeyEnum, HotkeyId, HotkeyItem, HotkeyScopeEnum, HotkeyScopeId, KeyEnum, ModifierCombination };
@@ -0,0 +1,65 @@
1
+ import { __esmMin } from "../_virtual/_rolldown/runtime.js";
2
+ //#region src/types/hotkey.ts
3
+ var KeyEnum, HotkeyEnum, HotkeyScopeEnum;
4
+ var init_hotkey = __esmMin((() => {
5
+ KeyEnum = {
6
+ Alt: "alt",
7
+ Backquote: "backquote",
8
+ Backslash: "backslash",
9
+ Backspace: "backspace",
10
+ BracketLeft: "bracketleft",
11
+ BracketRight: "bracketright",
12
+ Comma: "comma",
13
+ Ctrl: "ctrl",
14
+ Down: "down",
15
+ Enter: "enter",
16
+ Equal: "equal",
17
+ Esc: "esc",
18
+ Left: "left",
19
+ LeftClick: "left-click",
20
+ LeftDoubleClick: "left-double-click",
21
+ Meta: "meta",
22
+ MiddleClick: "middle-click",
23
+ Minus: "minus",
24
+ Mod: "mod",
25
+ Number: "1-9",
26
+ Period: "period",
27
+ Plus: "equal",
28
+ QuestionMark: "slash",
29
+ Quote: "quote",
30
+ Right: "right",
31
+ RightClick: "right-click",
32
+ RightDoubleClick: "right-double-click",
33
+ Semicolon: "semicolon",
34
+ Shift: "shift",
35
+ Slash: "slash",
36
+ Space: "space",
37
+ Tab: "tab",
38
+ Up: "up",
39
+ Zero: "0"
40
+ };
41
+ HotkeyEnum = {
42
+ Bold: "bold",
43
+ BulletList: "bulletList",
44
+ CodeInline: "codeInline",
45
+ Italic: "italic",
46
+ Link: "link",
47
+ Mention: "mention",
48
+ NumberList: "numberList",
49
+ PasteAsPlainText: "pasteAsPlainText",
50
+ Redo: "redo",
51
+ Slash: "slash",
52
+ Strikethrough: "strikethrough",
53
+ Underline: "underline",
54
+ Undo: "undo"
55
+ };
56
+ HotkeyScopeEnum = {
57
+ Format: "format",
58
+ Insert: "insert",
59
+ Plugin: "plugin",
60
+ Slash: "slash"
61
+ };
62
+ }));
63
+ //#endregion
64
+ init_hotkey();
65
+ export { HotkeyEnum, HotkeyScopeEnum, KeyEnum, init_hotkey };
@@ -0,0 +1,2 @@
1
+ import { ILocaleKeys, LocaleType } from "./locale.js";
2
+ import { IBeforeEditorInitLifecycle, IDecorator, IDecoratorFunc, IDocumentOptions, IEditor, IEditorKernel, IEditorPlugin, IEditorPluginConstructor, IKernelEventMap, INodeRegistrationTransform, IPlugin, ISelectionObject, IServiceID } from "./kernel.js";
@@ -0,0 +1,359 @@
1
+ import { DataSource } from "../editor-kernel/data-source.js";
2
+ import { HotkeyId } from "./hotkey.js";
3
+ import { HotkeyOptions, HotkeysEvent } from "../utils/hotkey/registerHotkey.js";
4
+ import { ILocaleKeys } from "./locale.js";
5
+ import { HistoryState, HistoryStateEntry } from "@lexical/history";
6
+ import { CommandListener, CommandListenerPriority, CommandPayloadType, EditorState, LexicalCommand, LexicalEditor, LexicalNode, LexicalNodeConfig } from "lexical";
7
+
8
+ //#region src/types/kernel.d.ts
9
+ type IDecoratorFunc = (_node: LexicalNode, _editor: LexicalEditor) => any;
10
+ type INodeRegistrationTransform = (node: LexicalNodeConfig, index: number) => LexicalNodeConfig | null | undefined;
11
+ type IBeforeEditorInitLifecycle = () => void;
12
+ type IDecorator = {
13
+ queryDOM: (_element: HTMLElement) => HTMLElement;
14
+ render: IDecoratorFunc;
15
+ } | IDecoratorFunc;
16
+ /**
17
+ * Service ID type
18
+ */
19
+ type IServiceID<Service> = {
20
+ readonly __serviceId: string;
21
+ __serviceType?: Service;
22
+ };
23
+ interface ISelectionObject {
24
+ endNodeId: string;
25
+ endOffset: number;
26
+ startNodeId: string;
27
+ startOffset: number;
28
+ type: 'range' | 'node' | 'table';
29
+ }
30
+ interface IDocumentOptions {
31
+ [key: string]: unknown;
32
+ keepHistory?: boolean;
33
+ /** only work for json datasource */
34
+ keepId?: boolean;
35
+ }
36
+ interface IKernelEventMap {
37
+ /**
38
+ * Document change event
39
+ */
40
+ documentChange: (type: string, content: any) => void;
41
+ /**
42
+ * Editor editable state change event
43
+ */
44
+ editableChange: (editable: boolean) => void;
45
+ /**
46
+ * Editor error event
47
+ */
48
+ error: (error: Error) => void;
49
+ /**
50
+ * Initialization event
51
+ * @param editor Lexical editor instance
52
+ * @returns
53
+ */
54
+ initialized: (editor: LexicalEditor) => void;
55
+ /**
56
+ * handle markdown parse event
57
+ */
58
+ markdownParse: (params: {
59
+ cacheState: EditorState;
60
+ historyState: HistoryStateEntry | null;
61
+ markdown: string;
62
+ matchedPatterns: string[];
63
+ score: number;
64
+ }) => void;
65
+ /**
66
+ * handle paste event
67
+ */
68
+ onPaste: (event: ClipboardEvent) => void;
69
+ }
70
+ /**
71
+ * External API
72
+ */
73
+ interface IEditor {
74
+ /**
75
+ * Lose focus
76
+ */
77
+ blur(): void;
78
+ /**
79
+ * Clean editor content (clear all content)
80
+ */
81
+ cleanDocument(): void;
82
+ /**
83
+ * Destroy editor instance
84
+ */
85
+ destroy(): void;
86
+ /**
87
+ * Execute editor commands to manipulate editor content
88
+ * @param type
89
+ * @param payload
90
+ */
91
+ dispatchCommand<TCommand extends LexicalCommand<unknown>>(type: TCommand, payload: CommandPayloadType<TCommand>): boolean;
92
+ /**
93
+ * Focus editor
94
+ */
95
+ focus(): void;
96
+ /**
97
+ * Get editor content of specified type
98
+ */
99
+ getDocument(type: string): DataSource | undefined;
100
+ /**
101
+ * Lexical history state (undo stack metadata)
102
+ */
103
+ getHistoryState(): HistoryState;
104
+ /**
105
+ * Get Lexical editor instance
106
+ */
107
+ getLexicalEditor(): LexicalEditor | null;
108
+ /**
109
+ * Get document editor root node
110
+ */
111
+ getRootElement(): HTMLElement | null;
112
+ /**
113
+ * Get editor selection information
114
+ */
115
+ getSelection(): ISelectionObject | null;
116
+ /**
117
+ * Get document editor selection content of specified type
118
+ * @param type
119
+ */
120
+ getSelectionDocument(type: string): unknown | null;
121
+ /**
122
+ * Get editor theme
123
+ */
124
+ getTheme(): Record<string, string | Record<string, string>>;
125
+ /**
126
+ * Get headless editor instance
127
+ */
128
+ initHeadlessEditor(): LexicalEditor | null;
129
+ /**
130
+ * Get node editor instance
131
+ */
132
+ initNodeEditor(): LexicalEditor | null;
133
+ /**
134
+ * Check if editor is editable
135
+ */
136
+ isEditable(): boolean;
137
+ /**
138
+ * Check if editor content is empty
139
+ * @returns true if editor content is empty, false otherwise
140
+ */
141
+ get isEmpty(): boolean;
142
+ /**
143
+ * Check if editor has active selection
144
+ * @returns true if editor has selection, false otherwise
145
+ */
146
+ get isSelected(): boolean;
147
+ /**
148
+ * Remove editor event listener
149
+ * @param event
150
+ * @param listener
151
+ */
152
+ off<T extends keyof IKernelEventMap>(event: T, listener: IKernelEventMap[T]): this;
153
+ /**
154
+ * Add editor event listener
155
+ * @param event
156
+ * @param listener
157
+ */
158
+ on<T extends keyof IKernelEventMap>(event: T, listener: IKernelEventMap[T]): this;
159
+ /**
160
+ * Listen to event once, automatically remove listener after trigger
161
+ * @param event
162
+ * @param listener
163
+ */
164
+ once<T extends keyof IKernelEventMap>(event: T, listener: IKernelEventMap[T]): this;
165
+ /**
166
+ * Extends the priority level of Lexical commands.
167
+ * Registers a listener that triggers when the provided command is dispatched
168
+ * via {@link LexicalEditor.dispatch}. The listener is triggered based on its priority.
169
+ * Listeners with higher priority can "intercept" commands and prevent them
170
+ * from propagating to other handlers by returning true.
171
+ *
172
+ * Listeners are always invoked within {@link LexicalEditor.update} and can call dollar functions.
173
+ *
174
+ * Listeners registered at the same priority level will deterministically run
175
+ * in the order of registration.
176
+ *
177
+ * @param command - The command that triggers the callback.
178
+ * @param listener - The function executed when the command is dispatched.
179
+ * @param priority - The relative priority of the listener. 0 | 1 | 2 | 3 | 4
180
+ * (or {@link COMMAND_PRIORITY_EDITOR} |
181
+ * {@link COMMAND_PRIORITY_LOW} |
182
+ * {@link COMMAND_PRIORITY_NORMAL} |
183
+ * {@link COMMAND_PRIORITY_HIGH} |
184
+ * {@link COMMAND_PRIORITY_CRITICAL})
185
+ * @returns A teardown function to clean up the listener.
186
+ */
187
+ registerHighCommand<P>(command: LexicalCommand<P>, listener: CommandListener<P>, priority: CommandListenerPriority): () => void;
188
+ /**
189
+ * Register keyboard shortcut
190
+ * @param hotkey
191
+ * @param callback
192
+ * @param options
193
+ */
194
+ registerHotkey(hotkey: HotkeyId, callback: (event: KeyboardEvent, handler: HotkeysEvent) => void, options?: HotkeyOptions): () => void;
195
+ /**
196
+ * Register internationalization text
197
+ * @param locale Internationalization text object
198
+ */
199
+ registerLocale(locale: Partial<Record<keyof ILocaleKeys, string>>): void;
200
+ /**
201
+ * Register editor plugin
202
+ */
203
+ registerPlugin<T>(plugin: IEditorPluginConstructor<T>, config?: T): IEditor;
204
+ /**
205
+ * Register multiple editor plugins
206
+ */
207
+ registerPlugins(plugins: Array<IPlugin>): IEditor;
208
+ /**
209
+ * Get editor Service, usually provided by plugins to extend certain functionalities
210
+ * @param serviceId
211
+ */
212
+ requireService<T>(serviceId: IServiceID<T>): T | null;
213
+ /**
214
+ * Set editor content, type is content type, content is content data
215
+ * @param type
216
+ * @param content
217
+ */
218
+ setDocument(type: string, content: any, options?: IDocumentOptions): void;
219
+ /**
220
+ * Enable or disable editor editing capability
221
+ * @param editable
222
+ */
223
+ setEditable(editable: boolean): void;
224
+ /**
225
+ * Set document editor root node
226
+ * @param dom
227
+ */
228
+ setRootElement(dom: HTMLElement, editable?: boolean): LexicalEditor;
229
+ /**
230
+ * set editor selection
231
+ * @param selection
232
+ */
233
+ setSelection(selection: ISelectionObject, opt?: {
234
+ collapseToEnd?: boolean;
235
+ collapseToStart?: boolean;
236
+ }): Promise<boolean>;
237
+ /**
238
+ * Get translation text
239
+ * @param key Translation key
240
+ * @param params Parameter replacement
241
+ */
242
+ t<K extends keyof ILocaleKeys>(key: K, params?: Record<string, any>): string;
243
+ /**
244
+ * Update editor theme
245
+ * @param key
246
+ * @param value
247
+ */
248
+ updateTheme(key: string, value: string | Record<string, string>): void;
249
+ }
250
+ /**
251
+ * API provided to plugins
252
+ */
253
+ interface IEditorKernel extends IEditor {
254
+ /**
255
+ * Clone the current editor kernel instance
256
+ */
257
+ cloneNodeEditor(): IEditorKernel;
258
+ emit<T extends keyof IKernelEventMap>(event: T, params: Parameters<IKernelEventMap[T]>[0]): void;
259
+ /**
260
+ * Get editor Node decorator for specific Node rendering
261
+ * @param name
262
+ */
263
+ getDecorator(name: string): IDecorator | undefined;
264
+ /**
265
+ * Get all registered decorator names
266
+ */
267
+ getRegisteredDecorators(): string[];
268
+ /**
269
+ * Check if hot reload mode is enabled
270
+ */
271
+ isHotReloadMode(): boolean;
272
+ /**
273
+ * Register a lifecycle hook that runs right before editor initialization.
274
+ * @param hook
275
+ * @returns unregister function
276
+ */
277
+ registerBeforeEditorInit(hook: IBeforeEditorInitLifecycle): () => void;
278
+ /**
279
+ * Register data source for multi-format data conversion
280
+ * @param dataSource
281
+ */
282
+ registerDataSource(dataSource: DataSource): void;
283
+ /**
284
+ * Register editor node decorator
285
+ * @param name
286
+ * @param decorator
287
+ */
288
+ registerDecorator(name: string, decorator: IDecorator): void;
289
+ /**
290
+ * Register a transform hook that runs before editor initialization
291
+ * to rewrite registered nodes before createEditor/createHeadlessEditor is called.
292
+ * @param transform
293
+ * @returns unregister function
294
+ */
295
+ registerNodeTransform(transform: INodeRegistrationTransform): () => void;
296
+ /**
297
+ * Register Lexical Node
298
+ * @param nodes
299
+ */
300
+ registerNodes(nodes: Array<LexicalNodeConfig>): void;
301
+ /**
302
+ * Register className(s) to the contenteditable root element.
303
+ * @param className One or more class names separated by spaces
304
+ * @returns unregister function
305
+ */
306
+ registerRootClassName(className: string): () => void;
307
+ /**
308
+ * Register service
309
+ * @param serviceId
310
+ * @param service
311
+ */
312
+ registerService<T>(serviceId: IServiceID<T>, service: T): void;
313
+ /**
314
+ * Register service with hot reload support - allows overriding existing services
315
+ * @param serviceId Service identifier
316
+ * @param service Service instance
317
+ */
318
+ registerServiceHotReload<T>(serviceId: IServiceID<T>, service: T): void;
319
+ /**
320
+ * Register theme
321
+ * @param themes
322
+ */
323
+ registerThemes(themes: Record<string, any>): void;
324
+ /**
325
+ * Enable or disable hot reload mode
326
+ * @param enabled Whether to enable hot reload mode
327
+ */
328
+ setHotReloadMode(enabled: boolean): void;
329
+ /**
330
+ * Unregister editor node decorator
331
+ * @param name Decorator name
332
+ */
333
+ unregisterDecorator(name: string): boolean;
334
+ }
335
+ /**
336
+ * Plugin interface
337
+ */
338
+ interface IEditorPlugin<IConfig> {
339
+ config?: IConfig;
340
+ /**
341
+ * Editor destruction
342
+ */
343
+ destroy(): void;
344
+ /**
345
+ * After Lexical editor instantiation
346
+ * @param editor Lexical editor instance
347
+ */
348
+ onInit?(editor: LexicalEditor): void;
349
+ }
350
+ /**
351
+ * Plugin class interface
352
+ */
353
+ interface IEditorPluginConstructor<IConfig> {
354
+ readonly pluginName: string;
355
+ new (kernel: IEditorKernel, config?: IConfig): IEditorPlugin<IConfig>;
356
+ }
357
+ type IPlugin<T = any> = IEditorPluginConstructor<T> | [IEditorPluginConstructor<T>, T?];
358
+ //#endregion
359
+ export { IBeforeEditorInitLifecycle, IDecorator, IDecoratorFunc, IDocumentOptions, IEditor, IEditorKernel, IEditorPlugin, IEditorPluginConstructor, IKernelEventMap, INodeRegistrationTransform, IPlugin, ISelectionObject, IServiceID };
@@ -0,0 +1,11 @@
1
+ import { _default } from "../locale/index.js";
2
+
3
+ //#region src/types/locale.d.ts
4
+ /**
5
+ * Internationalization key type declaration, plugins can extend through declaration merging
6
+ */
7
+ type LocaleType = typeof _default;
8
+ 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];
9
+ type ILocaleKeys = Record<FlattenKeys<LocaleType>, string>;
10
+ //#endregion
11
+ export { ILocaleKeys, LocaleType };
package/es/utils/cx.js ADDED
@@ -0,0 +1,4 @@
1
+ //#region src/utils/cx.ts
2
+ const cx = (...classNames) => classNames.filter(Boolean).join(" ");
3
+ //#endregion
4
+ export { cx };