@lobehub/editor 4.15.1 → 4.16.0

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 (537) 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 +60 -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 +2 -0
  66. package/es/headless.js +782 -20254
  67. package/es/index.d.ts +113 -3059
  68. package/es/index.js +102 -8485
  69. package/es/locale/index.d.ts +63 -0
  70. package/es/locale/index.js +66 -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 +162 -0
  87. package/es/plugins/block/react/ReactBlockPlugin.d.ts +18 -0
  88. package/es/plugins/block/react/ReactBlockPlugin.js +613 -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 +122 -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 +61 -0
  96. package/es/plugins/block/service/i-block-menu-service.js +67 -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 +181 -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 +106 -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 +29 -0
  364. package/es/plugins/table/command/index.js +238 -0
  365. package/es/plugins/table/index.d.ts +4 -0
  366. package/es/plugins/table/node/index.d.ts +2 -0
  367. package/es/plugins/table/node/index.js +146 -0
  368. package/es/plugins/table/plugin/index.d.ts +14 -0
  369. package/es/plugins/table/plugin/index.js +361 -0
  370. package/es/plugins/table/react/TableActionMenu/ActionMenu.js +296 -0
  371. package/es/plugins/table/react/TableActionMenu/index.js +133 -0
  372. package/es/plugins/table/react/TableActionMenu/style.js +20 -0
  373. package/es/plugins/table/react/TableActionMenu/utils.js +34 -0
  374. package/es/plugins/table/react/TableColController.js +354 -0
  375. package/es/plugins/table/react/TableController/hooks.js +201 -0
  376. package/es/plugins/table/react/TableController/style.js +264 -0
  377. package/es/plugins/table/react/TableController/utils.js +25 -0
  378. package/es/plugins/table/react/TableControllerButton.js +81 -0
  379. package/es/plugins/table/react/TableControllerMenu.js +123 -0
  380. package/es/plugins/table/react/TableHoverActions/index.js +147 -0
  381. package/es/plugins/table/react/TableHoverActions/style.js +14 -0
  382. package/es/plugins/table/react/TableHoverActions/utils.js +32 -0
  383. package/es/plugins/table/react/TableInsertButton.js +25 -0
  384. package/es/plugins/table/react/TableResize/index.js +328 -0
  385. package/es/plugins/table/react/TableResize/style.js +16 -0
  386. package/es/plugins/table/react/TableResize/utils.js +9 -0
  387. package/es/plugins/table/react/TableRowController.js +349 -0
  388. package/es/plugins/table/react/hooks.js +77 -0
  389. package/es/plugins/table/react/index.d.ts +7 -0
  390. package/es/plugins/table/react/index.js +172 -0
  391. package/es/plugins/table/react/style.js +144 -0
  392. package/es/plugins/table/react/type.d.ts +10 -0
  393. package/es/plugins/table/react/useAutoFitPastedTable.js +189 -0
  394. package/es/plugins/table/service/i-table-controller-menu-service.d.ts +44 -0
  395. package/es/plugins/table/service/i-table-controller-menu-service.js +31 -0
  396. package/es/plugins/table/service/index.d.ts +1 -0
  397. package/es/plugins/table/utils/autoFitColumnWidth.js +87 -0
  398. package/es/plugins/table/utils/distributeColumnWidth.js +37 -0
  399. package/es/plugins/table/utils/index.js +148 -0
  400. package/es/plugins/toolbar/command/index.d.ts +12 -0
  401. package/es/plugins/toolbar/command/index.js +17 -0
  402. package/es/plugins/toolbar/index.d.ts +2 -0
  403. package/es/plugins/toolbar/react/index.d.ts +7 -0
  404. package/es/plugins/toolbar/react/index.js +109 -0
  405. package/es/plugins/toolbar/react/style.js +55 -0
  406. package/es/plugins/toolbar/react/type.d.ts +9 -0
  407. package/es/plugins/toolbar/utils/getDOMRangeRect.js +20 -0
  408. package/es/plugins/toolbar/utils/setFloatingElemPosition.js +50 -0
  409. package/es/plugins/upload/index.d.ts +2 -0
  410. package/es/plugins/upload/plugin/index.d.ts +6 -0
  411. package/es/plugins/upload/plugin/index.js +47 -0
  412. package/es/plugins/upload/service/i-upload-service.d.ts +13 -0
  413. package/es/plugins/upload/service/i-upload-service.js +30 -0
  414. package/es/plugins/upload/utils/index.js +15 -0
  415. package/es/plugins/virtual-block/index.d.ts +2 -0
  416. package/es/plugins/virtual-block/plugin/index.d.ts +8 -0
  417. package/es/plugins/virtual-block/plugin/index.js +19 -0
  418. package/es/plugins/virtual-block/plugin/register.js +150 -0
  419. package/es/plugins/virtual-block/react/ReactVirtualBlock.d.ts +6 -0
  420. package/es/plugins/virtual-block/react/ReactVirtualBlock.js +15 -0
  421. package/es/plugins/virtual-block/react/index.d.ts +1 -0
  422. package/es/react/ChatInput/ChatInput.d.ts +7 -0
  423. package/es/react/ChatInput/ChatInput.js +91 -0
  424. package/es/react/ChatInput/index.d.ts +2 -0
  425. package/es/react/ChatInput/style.js +115 -0
  426. package/es/react/ChatInput/type.d.ts +32 -0
  427. package/es/react/ChatInputActionBar/ChatInputActionBar.d.ts +7 -0
  428. package/es/react/ChatInputActionBar/ChatInputActionBar.js +22 -0
  429. package/es/react/ChatInputActionBar/index.d.ts +2 -0
  430. package/es/react/ChatInputActionBar/style.js +7 -0
  431. package/es/react/ChatInputActionBar/type.d.ts +10 -0
  432. package/es/react/ChatInputActions/ChatInputActions.d.ts +7 -0
  433. package/es/react/ChatInputActions/ChatInputActions.js +65 -0
  434. package/es/react/ChatInputActions/components/ActionItem.js +46 -0
  435. package/es/react/ChatInputActions/components/ActionRender.js +45 -0
  436. package/es/react/ChatInputActions/components/CollapsedActions.js +60 -0
  437. package/es/react/ChatInputActions/components/useDisplayActionCount.js +45 -0
  438. package/es/react/ChatInputActions/index.d.ts +2 -0
  439. package/es/react/ChatInputActions/style.js +20 -0
  440. package/es/react/ChatInputActions/type.d.ts +36 -0
  441. package/es/react/CodeLanguageSelect/CodeLanguageSelect.d.ts +7 -0
  442. package/es/react/CodeLanguageSelect/CodeLanguageSelect.js +67 -0
  443. package/es/react/CodeLanguageSelect/index.d.ts +2 -0
  444. package/es/react/CodeLanguageSelect/style.js +7 -0
  445. package/es/react/CodeLanguageSelect/type.d.ts +6 -0
  446. package/es/react/Editor/Editor.js +108 -0
  447. package/es/react/Editor/index.d.ts +16 -0
  448. package/es/react/Editor/index.js +11 -0
  449. package/es/react/Editor/type.d.ts +64 -0
  450. package/es/react/Editor/utils.d.ts +6 -0
  451. package/es/react/Editor/utils.js +6 -0
  452. package/es/react/EditorProvider/index.d.ts +28 -0
  453. package/es/react/EditorProvider/index.js +18 -0
  454. package/es/react/FloatActions/FloatActions.d.ts +7 -0
  455. package/es/react/FloatActions/FloatActions.js +34 -0
  456. package/es/react/FloatActions/components/ActionItem.js +46 -0
  457. package/es/react/FloatActions/components/ActionRender.js +45 -0
  458. package/es/react/FloatActions/components/CollapsedActions.js +60 -0
  459. package/es/react/FloatActions/index.d.ts +2 -0
  460. package/es/react/FloatActions/style.js +19 -0
  461. package/es/react/FloatActions/type.d.ts +33 -0
  462. package/es/react/FloatMenu/FloatMenu.d.ts +7 -0
  463. package/es/react/FloatMenu/FloatMenu.js +32 -0
  464. package/es/react/FloatMenu/index.d.ts +2 -0
  465. package/es/react/FloatMenu/style.js +28 -0
  466. package/es/react/FloatMenu/type.d.ts +25 -0
  467. package/es/react/SendButton/SendButton.d.ts +7 -0
  468. package/es/react/SendButton/SendButton.js +107 -0
  469. package/es/react/SendButton/components/SendIcon.js +23 -0
  470. package/es/react/SendButton/components/StopIcon.js +56 -0
  471. package/es/react/SendButton/index.d.ts +2 -0
  472. package/es/react/SendButton/style.js +68 -0
  473. package/es/react/SendButton/type.d.ts +12 -0
  474. package/es/react/SlashMenu/SlashMenu.d.ts +7 -0
  475. package/es/react/SlashMenu/SlashMenu.js +40 -0
  476. package/es/react/SlashMenu/index.d.ts +2 -0
  477. package/es/react/SlashMenu/type.d.ts +17 -0
  478. package/es/react/hooks/useEditor.d.ts +5 -0
  479. package/es/react/hooks/useEditor.js +8 -0
  480. package/es/react/hooks/useEditorState/index.d.ts +71 -0
  481. package/es/react/hooks/useEditorState/index.js +347 -0
  482. package/es/react/hooks/useEditorState/utils.js +28 -0
  483. package/es/react/hooks/useSize.js +61 -0
  484. package/es/react.d.ts +22 -334
  485. package/es/react.js +13 -1573
  486. package/es/renderer/LexicalDiff.d.ts +41 -0
  487. package/es/renderer/LexicalDiff.js +96 -0
  488. package/es/renderer/LexicalRenderer.d.ts +16 -0
  489. package/es/renderer/LexicalRenderer.js +48 -0
  490. package/es/renderer/diff/compute.js +396 -0
  491. package/es/renderer/diff/style.d.ts +4 -0
  492. package/es/renderer/diff/style.js +104 -0
  493. package/es/renderer/diff/types.d.ts +32 -0
  494. package/es/renderer/engine/render-builtin-node.js +196 -0
  495. package/es/renderer/engine/render-text-node.js +33 -0
  496. package/es/renderer/engine/render-tree.js +35 -0
  497. package/es/renderer/engine/shiki.d.ts +4 -0
  498. package/es/renderer/engine/shiki.js +24 -0
  499. package/es/renderer/engine/utils.js +16 -0
  500. package/es/renderer/nodes/index.d.ts +6 -0
  501. package/es/renderer/nodes/index.js +44 -0
  502. package/es/renderer/renderers/codeblock.js +21 -0
  503. package/es/renderer/renderers/file.js +29 -0
  504. package/es/renderer/renderers/horizontalrule.js +29 -0
  505. package/es/renderer/renderers/image.js +35 -0
  506. package/es/renderer/renderers/index.d.ts +6 -0
  507. package/es/renderer/renderers/index.js +21 -0
  508. package/es/renderer/renderers/math.js +19 -0
  509. package/es/renderer/renderers/mention.js +15 -0
  510. package/es/renderer/renderers/mermaid.js +17 -0
  511. package/es/renderer/style.js +52 -0
  512. package/es/renderer/types.d.ts +29 -0
  513. package/es/renderer.d.ts +8 -114
  514. package/es/renderer.js +5 -1153
  515. package/es/types/hotkey.d.ts +76 -0
  516. package/es/types/hotkey.js +65 -0
  517. package/es/types/index.d.ts +2 -0
  518. package/es/types/kernel.d.ts +359 -0
  519. package/es/types/locale.d.ts +11 -0
  520. package/es/utils/cx.js +4 -0
  521. package/es/utils/debug.d.ts +425 -0
  522. package/es/{debug-CIvbNHJu.js → utils/debug.js} +3 -35
  523. package/es/utils/hotkey/isHotkeyMatch.js +17 -0
  524. package/es/utils/hotkey/parseHotkeys.js +53 -0
  525. package/es/utils/hotkey/registerHotkey.d.ts +18 -0
  526. package/es/utils/hotkey/registerHotkey.js +35 -0
  527. package/es/utils/scrollIntoView.d.ts +8 -0
  528. package/es/utils/scrollIntoView.js +29 -0
  529. package/es/utils/updatePosition.js +26 -0
  530. package/es/utils/url.d.ts +18 -0
  531. package/es/utils/url.js +34 -0
  532. package/package.json +4 -1
  533. package/es/ReactSlashPlugin-BiVy_Iwf.js +0 -23072
  534. package/es/codemirror-3POv7f__.js +0 -923
  535. package/es/index-DHGp94p0.d.ts +0 -916
  536. package/es/style-DADgHVA1.js +0 -2889
  537. package/es/style-DMdPzCo-.js +0 -999
@@ -1,923 +0,0 @@
1
- import { n as createDebugLogger, s as init_debug } from "./debug-CIvbNHJu.js";
2
- import { ActionIcon, Flexbox, InputNumber, MaterialFileTypeIcon, Popover, Select, Text } from "@lobehub/ui";
3
- import { Check, ChevronDown, ChevronRight, CopyIcon, MoreHorizontalIcon } from "lucide-react";
4
- import { useCallback, useMemo, useState } from "react";
5
- import { jsx, jsxs } from "react/jsx-runtime";
6
- import { createStaticStyles, cssVar, cx } from "antd-style";
7
- import { Switch } from "antd";
8
- //#region src/codemirror/components/CopyButton.tsx
9
- const CopyButton = ({ onCopy, labels, className }) => {
10
- const [copied, setCopied] = useState(false);
11
- return /* @__PURE__ */ jsx(ActionIcon, {
12
- active: copied,
13
- className: className ?? "cm-hidden-actions",
14
- icon: copied ? Check : CopyIcon,
15
- onClick: () => {
16
- setCopied(true);
17
- onCopy();
18
- setTimeout(() => setCopied(false), 1e3);
19
- },
20
- size: "small",
21
- title: labels?.copy ?? "Copy"
22
- });
23
- };
24
- CopyButton.displayName = "CopyButton";
25
- //#endregion
26
- //#region src/codemirror/constants.ts
27
- const LANGUAGES = [
28
- {
29
- ext: ["agda"],
30
- name: "Agda",
31
- syntax: "text/x-agda",
32
- value: "agda"
33
- },
34
- {
35
- ext: ["ets", "arkts"],
36
- name: "ArkTS",
37
- syntax: "text/x-arkts",
38
- value: "arkts"
39
- },
40
- {
41
- ext: ["bash"],
42
- name: "Bash",
43
- syntax: "shell",
44
- value: "bash"
45
- },
46
- {
47
- ext: ["vbs"],
48
- name: "Basic",
49
- syntax: "vbscript",
50
- value: "basic"
51
- },
52
- {
53
- ext: [
54
- "c",
55
- "h",
56
- "ino"
57
- ],
58
- name: "C",
59
- syntax: "text/x-csrc",
60
- value: "c"
61
- },
62
- {
63
- ext: [
64
- "cpp",
65
- "c++",
66
- "cc",
67
- "cxx",
68
- "hpp",
69
- "h++",
70
- "hh",
71
- "hxx"
72
- ],
73
- name: "C++",
74
- syntax: "text/x-c++src",
75
- value: "cpp"
76
- },
77
- {
78
- ext: ["cs"],
79
- name: "C#",
80
- syntax: "text/x-csharp",
81
- value: "csharp"
82
- },
83
- {
84
- ext: ["css"],
85
- name: "CSS",
86
- syntax: "css",
87
- value: "css"
88
- },
89
- {
90
- ext: ["dart"],
91
- name: "Dart",
92
- syntax: "dart",
93
- value: "dart"
94
- },
95
- {
96
- ext: ["diff", "patch"],
97
- name: "Diff",
98
- syntax: "diff",
99
- value: "diff"
100
- },
101
- {
102
- name: "Dockerfile",
103
- syntax: "dockerfile",
104
- value: "dockerfile"
105
- },
106
- {
107
- ext: ["erl"],
108
- name: "Erlang",
109
- syntax: "erlang",
110
- value: "erlang"
111
- },
112
- {
113
- ext: ["glsl"],
114
- name: "Glsl",
115
- syntax: "x-shader/x-vertex",
116
- value: "glsl"
117
- },
118
- {
119
- name: "Git",
120
- syntax: "shell",
121
- value: "git"
122
- },
123
- {
124
- ext: ["go"],
125
- name: "Go",
126
- syntax: "go",
127
- value: "go"
128
- },
129
- {
130
- name: "GraphQL",
131
- syntax: "graphql",
132
- value: "graphql"
133
- },
134
- {
135
- ext: ["groovy", "gradle"],
136
- name: "Groovy",
137
- syntax: "groovy",
138
- value: "groovy"
139
- },
140
- {
141
- ext: [
142
- "html",
143
- "htm",
144
- "handlebars",
145
- "hbs"
146
- ],
147
- name: "HTML",
148
- syntax: "htmlmixed",
149
- value: "html"
150
- },
151
- {
152
- name: "HTTP",
153
- syntax: "http",
154
- value: "http"
155
- },
156
- {
157
- ext: ["java"],
158
- name: "Java",
159
- syntax: "text/x-java",
160
- value: "java"
161
- },
162
- {
163
- ext: ["js"],
164
- name: "JavaScript",
165
- syntax: "text/javascript",
166
- value: "javascript"
167
- },
168
- {
169
- ext: ["json", "map"],
170
- name: "JSON",
171
- syntax: "application/json",
172
- value: "json"
173
- },
174
- {
175
- ext: ["jsx"],
176
- name: "JSX",
177
- syntax: "jsx",
178
- value: "jsx"
179
- },
180
- {
181
- name: "KaTeX",
182
- syntax: "simplemode",
183
- value: "katex"
184
- },
185
- {
186
- ext: ["kt"],
187
- name: "Kotlin",
188
- syntax: "text/x-kotlin",
189
- value: "kotlin"
190
- },
191
- {
192
- ext: ["less"],
193
- name: "Less",
194
- syntax: "css",
195
- value: "less"
196
- },
197
- {
198
- name: "Makefile",
199
- syntax: "cmake",
200
- value: "makefile"
201
- },
202
- {
203
- ext: [
204
- "markdown",
205
- "md",
206
- "mkd"
207
- ],
208
- name: "Markdown",
209
- syntax: "markdown",
210
- value: "markdown"
211
- },
212
- {
213
- name: "MATLAB",
214
- syntax: "octave",
215
- value: "matlab"
216
- },
217
- {
218
- ext: ["conf"],
219
- name: "Nginx",
220
- syntax: "nginx",
221
- value: "nginx"
222
- },
223
- {
224
- ext: ["m"],
225
- name: "Objective-C",
226
- syntax: "text/x-objectivec",
227
- value: "objectivec"
228
- },
229
- {
230
- ext: ["p", "pas"],
231
- name: "Pascal",
232
- syntax: "pascal",
233
- value: "pascal"
234
- },
235
- {
236
- ext: ["pl", "pm"],
237
- name: "Perl",
238
- syntax: "perl",
239
- value: "perl"
240
- },
241
- {
242
- ext: [
243
- "php",
244
- "php3",
245
- "php4",
246
- "php5",
247
- "php7",
248
- "phtml"
249
- ],
250
- name: "PHP",
251
- syntax: "text/x-php",
252
- value: "php"
253
- },
254
- {
255
- ext: [
256
- "ps1",
257
- "psd1",
258
- "psm1"
259
- ],
260
- name: "PowerShell",
261
- syntax: "powershell",
262
- value: "powershell"
263
- },
264
- {
265
- ext: ["proto"],
266
- name: "Protobuf",
267
- syntax: "protobuf",
268
- value: "protobuf"
269
- },
270
- {
271
- ext: [
272
- "build",
273
- "bzl",
274
- "py",
275
- "pyw"
276
- ],
277
- name: "Python",
278
- syntax: "python",
279
- value: "python"
280
- },
281
- {
282
- ext: ["r", "R"],
283
- name: "R",
284
- syntax: "r",
285
- value: "r"
286
- },
287
- {
288
- ext: ["rb"],
289
- name: "Ruby",
290
- syntax: "ruby",
291
- value: "ruby"
292
- },
293
- {
294
- ext: ["rs"],
295
- name: "Rust",
296
- syntax: "rust",
297
- value: "rust"
298
- },
299
- {
300
- ext: ["scala"],
301
- name: "Scala",
302
- syntax: "text/x-scala",
303
- value: "scala"
304
- },
305
- {
306
- ext: ["sh", "ksh"],
307
- name: "Shell",
308
- syntax: "shell",
309
- value: "shell"
310
- },
311
- {
312
- ext: ["sql"],
313
- name: "SQL",
314
- syntax: "text/x-sql",
315
- value: "sql"
316
- },
317
- {
318
- name: "PL/SQL",
319
- syntax: "text/x-plsql",
320
- value: "plsql"
321
- },
322
- {
323
- ext: ["swift"],
324
- name: "Swift",
325
- syntax: "swift",
326
- value: "swift"
327
- },
328
- {
329
- ext: ["ts"],
330
- name: "TypeScript",
331
- syntax: "text/typescript",
332
- value: "typescript"
333
- },
334
- {
335
- ext: ["vb"],
336
- name: "VB.net",
337
- syntax: "vb",
338
- value: "vbnet"
339
- },
340
- {
341
- ext: ["vtl"],
342
- name: "Velocity",
343
- syntax: "velocity",
344
- value: "velocity"
345
- },
346
- {
347
- ext: [
348
- "xml",
349
- "xsl",
350
- "xsd",
351
- "svg"
352
- ],
353
- name: "XML",
354
- syntax: "xml",
355
- value: "xml"
356
- },
357
- {
358
- ext: ["yaml", "yml"],
359
- name: "YAML",
360
- syntax: "yaml",
361
- value: "yaml"
362
- },
363
- {
364
- name: "sTeX",
365
- syntax: "text/x-stex",
366
- value: "stex"
367
- },
368
- {
369
- ext: [
370
- "text",
371
- "ltx",
372
- "tex"
373
- ],
374
- name: "LaTeX",
375
- syntax: "text/x-latex",
376
- value: "latex"
377
- },
378
- {
379
- ext: ["sv", "svh"],
380
- name: "SystemVerilog",
381
- syntax: "text/x-systemverilog",
382
- value: "systemverilog"
383
- },
384
- {
385
- ext: ["sass", "scss"],
386
- name: "Sass",
387
- syntax: "text/x-sass",
388
- value: "sass"
389
- },
390
- {
391
- ext: ["tcl"],
392
- name: "Tcl",
393
- syntax: "text/x-tcl",
394
- value: "tcl"
395
- },
396
- {
397
- ext: ["v"],
398
- name: "Verilog",
399
- syntax: "text/x-verilog",
400
- value: "verilog"
401
- },
402
- {
403
- name: "Vue",
404
- syntax: "text/x-vue",
405
- value: "vue"
406
- },
407
- {
408
- ext: ["lua"],
409
- name: "Lua",
410
- syntax: "text/x-lua",
411
- value: "lua"
412
- },
413
- {
414
- ext: ["hs"],
415
- name: "Haskell",
416
- syntax: "haskell",
417
- value: "haskell"
418
- },
419
- {
420
- ext: [
421
- "properties",
422
- "ini",
423
- "in"
424
- ],
425
- name: "Properties",
426
- syntax: "properties",
427
- value: "properties"
428
- },
429
- {
430
- ext: ["toml"],
431
- name: "TOML",
432
- syntax: "toml",
433
- value: "toml"
434
- },
435
- {
436
- ext: ["cyp", "cypher"],
437
- name: "Cypher",
438
- syntax: "cypher",
439
- value: "cypher"
440
- },
441
- {
442
- ext: ["tsx"],
443
- name: "TSX",
444
- syntax: "jsx",
445
- value: "tsx"
446
- },
447
- {
448
- ext: ["fs"],
449
- name: "F#",
450
- syntax: "mllike",
451
- value: "f#"
452
- },
453
- {
454
- ext: [
455
- "ml",
456
- "mli",
457
- "mll",
458
- "mly"
459
- ],
460
- name: "OCaml",
461
- syntax: "mllike",
462
- value: "ocaml"
463
- },
464
- {
465
- ext: [
466
- "clj",
467
- "cljc",
468
- "cljx"
469
- ],
470
- name: "Clojure",
471
- syntax: "clojure",
472
- value: "clojure"
473
- },
474
- {
475
- name: "ABAP",
476
- syntax: "abap",
477
- value: "abap"
478
- },
479
- {
480
- ext: ["jl"],
481
- name: "Julia",
482
- syntax: "julia",
483
- value: "julia"
484
- },
485
- {
486
- ext: ["cmake"],
487
- name: "CMake",
488
- syntax: "cmake",
489
- value: "cmake"
490
- },
491
- {
492
- ext: ["scm", "ss"],
493
- name: "Scheme",
494
- syntax: "scheme",
495
- value: "scheme"
496
- },
497
- {
498
- ext: [
499
- "cl",
500
- "lisp",
501
- "el"
502
- ],
503
- name: "Lisp",
504
- syntax: "commonlisp",
505
- value: "commonlisp"
506
- },
507
- {
508
- ext: [
509
- "f90",
510
- "f95",
511
- "f03"
512
- ],
513
- name: "Fortran",
514
- syntax: "fortran",
515
- value: "fortran"
516
- },
517
- {
518
- ext: ["sol"],
519
- name: "Solidity",
520
- syntax: "solidity",
521
- value: "solidity"
522
- }
523
- ];
524
- LANGUAGES.sort((modeA, modeB) => {
525
- const nameA = modeA.name.toLowerCase();
526
- const nameB = modeB.name.toLowerCase();
527
- if (nameA === nameB) return 0;
528
- if (nameA < nameB) return -1;
529
- return 1;
530
- });
531
- LANGUAGES.unshift({
532
- name: "Plain Text",
533
- syntax: "simplemode",
534
- value: "plain"
535
- });
536
- //#endregion
537
- //#region src/codemirror/components/style.ts
538
- const styles$1 = createStaticStyles(({ css }) => ({ container: css`
539
- min-width: 160px;
540
- ` }));
541
- //#endregion
542
- //#region src/codemirror/components/LanguageSelect.tsx
543
- const LanguageSelect = ({ selectedLang, onLanguageChange, options, labels, className }) => {
544
- const modes = options ?? LANGUAGES;
545
- const languageOptions = useMemo(() => modes.map((mode) => ({
546
- aliases: mode.ext || [],
547
- label: /* @__PURE__ */ jsxs(Flexbox, {
548
- align: "center",
549
- gap: 4,
550
- horizontal: true,
551
- children: [/* @__PURE__ */ jsx(MaterialFileTypeIcon, {
552
- fallbackUnknownType: false,
553
- filename: mode.ext?.[0] ? `*.${mode.ext[0]}` : `*.${mode.value}`,
554
- size: 18,
555
- type: "file",
556
- variant: "raw"
557
- }), /* @__PURE__ */ jsx(Text, {
558
- ellipsis: true,
559
- fontSize: 13,
560
- children: mode.name
561
- })]
562
- }),
563
- title: mode.ext?.length ? mode.ext.map((ext) => `*.${ext}`).join(",") : `*.${mode.value}`,
564
- value: mode.value
565
- })), [modes]);
566
- return /* @__PURE__ */ jsx(Flexbox, {
567
- align: "center",
568
- className: cx("cm-language-select", className),
569
- gap: 4,
570
- horizontal: true,
571
- onClick: (e) => e.stopPropagation(),
572
- children: /* @__PURE__ */ jsx(Select, {
573
- className: cx(styles$1.container),
574
- filterOption: (input, option) => {
575
- const lang = input.toLowerCase();
576
- if ((option?.value)?.toLowerCase().startsWith(lang)) return true;
577
- if (String(option?.label).toLowerCase().includes(lang)) return true;
578
- if (option?.aliases?.some((ext) => ext.toLowerCase().startsWith(lang))) return true;
579
- return false;
580
- },
581
- onChange: onLanguageChange,
582
- options: languageOptions,
583
- placeholder: labels?.selectLanguage ?? "Select language",
584
- showSearch: true,
585
- size: "small",
586
- value: selectedLang,
587
- variant: "borderless"
588
- })
589
- });
590
- };
591
- LanguageSelect.displayName = "LanguageSelect";
592
- //#endregion
593
- //#region src/codemirror/components/MoreOptions.tsx
594
- const MoreOptions = ({ tabSize, onTabSizeChange, useTabs, onUseTabsChange, showLineNumbers, onShowLineNumbersChange, labels }) => {
595
- const handleTabSizeChange = useCallback((value = 2) => {
596
- onTabSizeChange(value === null ? 2 : value);
597
- }, [onTabSizeChange]);
598
- return /* @__PURE__ */ jsx(Popover, {
599
- arrow: false,
600
- content: /* @__PURE__ */ jsxs(Flexbox, {
601
- gap: 8,
602
- style: { minWidth: 240 },
603
- children: [
604
- /* @__PURE__ */ jsxs(Flexbox, {
605
- align: "center",
606
- gap: 8,
607
- horizontal: true,
608
- justify: "space-between",
609
- children: [/* @__PURE__ */ jsx(Text, { children: labels?.tabSize ?? "Tab size" }), /* @__PURE__ */ jsx(InputNumber, {
610
- max: 8,
611
- min: 1,
612
- onChange: handleTabSizeChange,
613
- size: "small",
614
- value: tabSize
615
- })]
616
- }),
617
- /* @__PURE__ */ jsxs(Flexbox, {
618
- align: "center",
619
- gap: 8,
620
- horizontal: true,
621
- justify: "space-between",
622
- children: [/* @__PURE__ */ jsx(Text, { children: labels?.useTabs ?? "Use tabs" }), /* @__PURE__ */ jsx(Switch, {
623
- checked: useTabs,
624
- onChange: onUseTabsChange,
625
- size: "small"
626
- })]
627
- }),
628
- /* @__PURE__ */ jsxs(Flexbox, {
629
- align: "center",
630
- gap: 8,
631
- horizontal: true,
632
- justify: "space-between",
633
- children: [/* @__PURE__ */ jsx(Text, { children: labels?.showLineNumbers ?? "Show line numbers" }), /* @__PURE__ */ jsx(Switch, {
634
- checked: showLineNumbers,
635
- onChange: onShowLineNumbersChange,
636
- size: "small"
637
- })]
638
- })
639
- ]
640
- }),
641
- placement: "bottomRight",
642
- trigger: "click",
643
- children: /* @__PURE__ */ jsx(ActionIcon, {
644
- className: "cm-hidden-actions",
645
- icon: MoreHorizontalIcon,
646
- size: "small"
647
- })
648
- });
649
- };
650
- MoreOptions.displayName = "MoreOptions";
651
- //#endregion
652
- //#region src/codemirror/components/Toolbar.tsx
653
- const Toolbar = ({ selectedLang, onLanguageChange, onCopy, tabSize, onTabSizeChange, useTabs, onUseTabsChange, showLineNumbers, onShowLineNumbersChange, onClick, expand, toggleExpand, labels, languageOptions }) => {
654
- return /* @__PURE__ */ jsxs(Flexbox, {
655
- align: "center",
656
- className: "cm-header-toolbar",
657
- horizontal: true,
658
- justify: "space-between",
659
- onClick,
660
- padding: 4,
661
- children: [/* @__PURE__ */ jsx(LanguageSelect, {
662
- labels,
663
- onLanguageChange,
664
- options: languageOptions,
665
- selectedLang
666
- }), /* @__PURE__ */ jsxs(Flexbox, {
667
- gap: 4,
668
- horizontal: true,
669
- onClick: (e) => e.stopPropagation(),
670
- children: [
671
- /* @__PURE__ */ jsx(MoreOptions, {
672
- labels,
673
- onShowLineNumbersChange,
674
- onTabSizeChange,
675
- onUseTabsChange,
676
- showLineNumbers,
677
- tabSize,
678
- useTabs
679
- }),
680
- /* @__PURE__ */ jsx(CopyButton, {
681
- labels,
682
- onCopy
683
- }),
684
- /* @__PURE__ */ jsx(ActionIcon, {
685
- icon: expand ? ChevronDown : ChevronRight,
686
- onClick: toggleExpand,
687
- size: "small"
688
- })
689
- ]
690
- })]
691
- });
692
- };
693
- Toolbar.displayName = "Toolbar";
694
- //#endregion
695
- //#region src/codemirror/loader.ts
696
- init_debug();
697
- const logger = createDebugLogger("plugin", "codemirror-loader");
698
- const DEFAULT_CDN_URL = "https://registry.npmmirror.com/@lobehub/codemirror/1.0.0/files/es/index.js";
699
- const LOAD_TIMEOUT = 1e4;
700
- const POLL_INTERVAL = 50;
701
- let codeMirrorPromise = null;
702
- function loadScript(src) {
703
- return new Promise((resolve, reject) => {
704
- if (document.querySelector(`script[src="${src}"]`)) {
705
- logger.debug("Script already loaded:", src);
706
- resolve();
707
- return;
708
- }
709
- logger.debug("Loading script:", src);
710
- const script = document.createElement("script");
711
- script.src = src;
712
- script.type = "module";
713
- script.async = true;
714
- script.addEventListener("load", () => {
715
- logger.debug("Script loaded successfully:", src);
716
- resolve();
717
- });
718
- script.addEventListener("error", (error) => {
719
- logger.error("Failed to load script:", src, error);
720
- reject(/* @__PURE__ */ new Error(`Failed to load script: ${src}`));
721
- });
722
- document.head.append(script);
723
- });
724
- }
725
- function waitForCodeMirror(timeout = LOAD_TIMEOUT) {
726
- return new Promise((resolve, reject) => {
727
- const startTime = Date.now();
728
- const checkCodeMirror = () => {
729
- if (window.CodeMirror) {
730
- logger.debug("CodeMirror is ready");
731
- resolve();
732
- return;
733
- }
734
- if (Date.now() - startTime > timeout) {
735
- logger.error("Timeout waiting for CodeMirror");
736
- reject(/* @__PURE__ */ new Error("Timeout: CodeMirror failed to load from CDN"));
737
- return;
738
- }
739
- setTimeout(checkCodeMirror, POLL_INTERVAL);
740
- };
741
- checkCodeMirror();
742
- });
743
- }
744
- async function loadCodeMirror(cdnUrl = DEFAULT_CDN_URL) {
745
- if (window.CodeMirror?.default) {
746
- logger.debug("CodeMirror already available");
747
- return window.CodeMirror.default;
748
- }
749
- if (codeMirrorPromise) {
750
- logger.debug("CodeMirror loading in progress, reusing promise");
751
- return codeMirrorPromise;
752
- }
753
- codeMirrorPromise = (async () => {
754
- try {
755
- logger.debug("Starting CodeMirror load from:", cdnUrl);
756
- await loadScript(cdnUrl);
757
- await waitForCodeMirror();
758
- if (!window.CodeMirror?.default) throw new Error("CodeMirror loaded but not properly initialized");
759
- logger.debug("CodeMirror loaded successfully");
760
- return window.CodeMirror.default;
761
- } catch (error) {
762
- codeMirrorPromise = null;
763
- logger.error("Failed to load CodeMirror:", error);
764
- throw error;
765
- }
766
- })();
767
- return codeMirrorPromise;
768
- }
769
- //#endregion
770
- //#region src/codemirror/style.ts
771
- const styles = createStaticStyles(({ css, cssVar }) => css`
772
- cursor: pointer;
773
-
774
- position: relative;
775
-
776
- overflow: hidden;
777
- display: flex;
778
- flex-direction: column;
779
- align-items: center;
780
-
781
- width: 100%;
782
- margin-block: calc(var(--lobe-markdown-margin-multiple) * 0.5em);
783
- border-radius: var(--lobe-markdown-border-radius);
784
-
785
- background: ${cssVar.colorFillQuaternary};
786
-
787
- .cm-hidden-actions {
788
- opacity: 0;
789
- transition: opacity 0.2s ease-in-out;
790
- }
791
-
792
- .cm-language-select {
793
- opacity: 0.5;
794
- filter: grayscale(100%);
795
- transition:
796
- opacity,
797
- grayscale 0.2s ease-in-out;
798
- }
799
-
800
- &.selected {
801
- user-select: none;
802
- }
803
-
804
- &.selected::after {
805
- pointer-events: none;
806
- content: '';
807
-
808
- position: absolute;
809
- z-index: 10;
810
- inset: 0;
811
-
812
- width: 100%;
813
- height: 100%;
814
-
815
- opacity: 0.2;
816
- background: ${cssVar.yellow};
817
-
818
- transition: all 0.3s;
819
- }
820
-
821
- .cm-container {
822
- position: relative;
823
- width: 100%;
824
- border-block-start: 1px solid ${cssVar.colorFillQuaternary};
825
- }
826
-
827
- .cm-container-collapsed {
828
- overflow: hidden;
829
- height: 0;
830
- border-block-start: none;
831
- }
832
-
833
- .cm-textarea {
834
- height: 44px;
835
- opacity: 0;
836
- }
837
-
838
- &:hover {
839
- .cm-hidden-actions {
840
- opacity: 1;
841
- }
842
-
843
- .cm-language-select {
844
- opacity: 1;
845
- filter: grayscale(0);
846
- }
847
- }
848
- `);
849
- //#endregion
850
- //#region src/codemirror/theme.ts
851
- const lobeTheme = {
852
- "&": {
853
- "& .cm-cursor": { "border-left-color": cssVar.colorPrimary },
854
- "& .cm-cursor.cm-cursor-primary": { "border-inline-start": `2px solid ${cssVar.colorPrimary} !important` },
855
- "& .cm-gutters": {
856
- "background-color": cssVar.colorBgContainer,
857
- "border": "none",
858
- "color": cssVar.colorTextQuaternary,
859
- "cursor": "default"
860
- },
861
- "& .cm-line": {
862
- "& .cm-atom": { color: cssVar.purple10 },
863
- "& .cm-attribute": { color: cssVar.purple10 },
864
- "& .cm-builtin": {
865
- color: cssVar.volcano10,
866
- fontStyle: "italic"
867
- },
868
- "& .cm-comment": {
869
- color: cssVar.colorTextQuaternary,
870
- fontStyle: "italic"
871
- },
872
- "& .cm-foldPlaceholder": {
873
- "background": `url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Crect fill='%23E8E8E8' width='16' height='16' rx='2'/%3E%3Cpath d='M2.75 7.984a.875.875 0 1 0 1.75 0 .875.875 0 0 0-1.75 0Zm4.375 0a.875.875 0 1 0 1.75 0 .875.875 0 0 0-1.75 0Zm4.375 0a.875.875 0 1 0 1.75 0 .875.875 0 0 0-1.75 0Z' fill='%232A3238'/%3E%3C/g%3E%3C/svg%3E") no-repeat`,
874
- "border": "none",
875
- "color": "transparent",
876
- "display": "inline-block",
877
- "height": "16px",
878
- "padding": 0,
879
- "vertical-align": "middle",
880
- "width": "16px"
881
- },
882
- "& .cm-function": { color: cssVar.geekblue10 },
883
- "& .cm-header": { color: cssVar.colorInfo },
884
- "& .cm-keyword": { color: cssVar.colorInfo },
885
- "& .cm-meta": { color: cssVar.colorText },
886
- "& .cm-modifier": { color: cssVar.colorInfo },
887
- "& .cm-number": { color: cssVar.volcano10 },
888
- "& .cm-operator": { color: cssVar.colorInfo },
889
- "& .cm-property": { color: cssVar.volcano10 },
890
- "& .cm-punctuation": { color: cssVar.colorInfo },
891
- "& .cm-qualifier": { color: cssVar.colorWarning },
892
- "& .cm-string": { color: cssVar.colorSuccess },
893
- "& .cm-string-2": { color: cssVar.colorSuccess },
894
- "& .cm-tag": { color: cssVar.volcano10 },
895
- "& .cm-tag.cm-bracket": { color: cssVar.colorInfo },
896
- "& .cm-type": { color: cssVar.colorWarning },
897
- "& .cm-variable": { color: cssVar.colorText },
898
- "& .cm-variable-2": { color: cssVar.geekblue10 },
899
- "& .cm-variable-3": { color: cssVar.colorWarning },
900
- "& .cm-variable.cm-callee": { color: cssVar.geekblue10 },
901
- "& .cm-variable.cm-def": { color: cssVar.colorText },
902
- "color": cssVar.colorText,
903
- "padding-inline": "12px"
904
- }
905
- },
906
- "& .cm-selectionBackground": { background: "transparent" },
907
- "& .cm-selectionMatch": { background: `${cssVar.colorFillSecondary} !important` },
908
- "&.cm-editor": {
909
- "background": "transparent",
910
- "cursor": "text",
911
- "padding-block": "12px",
912
- "width": "100%"
913
- },
914
- "&.cm-editor span": {
915
- "font-family": cssVar.fontFamilyCode,
916
- "font-size": "calc(var(--lobe-markdown-font-size) * 0.8)"
917
- },
918
- "&.cm-editor.cm-focused .cm-selectionBackground": { background: cssVar.colorPrimaryBg },
919
- "&.cm-editor.cm-focused .cm-selectionLineGutter": { color: cssVar.colorText },
920
- "&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground": { background: cssVar.yellow }
921
- };
922
- //#endregion
923
- export { MoreOptions as a, CopyButton as c, Toolbar as i, styles as n, LanguageSelect as o, loadCodeMirror as r, LANGUAGES as s, lobeTheme as t };