@lobehub/editor 3.2.1 → 3.3.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 (43) hide show
  1. package/es/editor-kernel/react/useAnchor.js +4 -1
  2. package/es/editor-kernel/react/useLexicalNodeSelection.d.ts +1 -1
  3. package/es/editor-kernel/react/useLexicalNodeSelection.js +22 -1
  4. package/es/index.d.ts +1 -0
  5. package/es/index.js +1 -0
  6. package/es/locale/index.d.ts +10 -0
  7. package/es/locale/index.js +10 -0
  8. package/es/plugins/codemirror-block/command/index.d.ts +9 -0
  9. package/es/plugins/codemirror-block/command/index.js +46 -0
  10. package/es/plugins/codemirror-block/index.d.ts +2 -0
  11. package/es/plugins/codemirror-block/index.js +2 -0
  12. package/es/plugins/codemirror-block/lib/index.d.ts +58 -0
  13. package/es/plugins/codemirror-block/lib/index.js +40 -0
  14. package/es/plugins/codemirror-block/lib/mode.d.ts +25 -0
  15. package/es/plugins/codemirror-block/lib/mode.js +416 -0
  16. package/es/plugins/codemirror-block/node/CodeMirrorNode.d.ts +46 -0
  17. package/es/plugins/codemirror-block/node/CodeMirrorNode.js +343 -0
  18. package/es/plugins/codemirror-block/plugin/index.d.ts +8 -0
  19. package/es/plugins/codemirror-block/plugin/index.js +113 -0
  20. package/es/plugins/codemirror-block/react/CodemirrorNode.d.ts +10 -0
  21. package/es/plugins/codemirror-block/react/CodemirrorNode.js +323 -0
  22. package/es/plugins/codemirror-block/react/ReactCodemirrorNode.d.ts +4 -0
  23. package/es/plugins/codemirror-block/react/ReactCodemirrorNode.js +34 -0
  24. package/es/plugins/codemirror-block/react/components/CopyButton.d.ts +5 -0
  25. package/es/plugins/codemirror-block/react/components/CopyButton.js +35 -0
  26. package/es/plugins/codemirror-block/react/components/LanguageSelect.d.ts +8 -0
  27. package/es/plugins/codemirror-block/react/components/LanguageSelect.js +77 -0
  28. package/es/plugins/codemirror-block/react/components/MoreOptions.d.ts +16 -0
  29. package/es/plugins/codemirror-block/react/components/MoreOptions.js +79 -0
  30. package/es/plugins/codemirror-block/react/components/Toolbar.d.ts +16 -0
  31. package/es/plugins/codemirror-block/react/components/Toolbar.js +56 -0
  32. package/es/plugins/codemirror-block/react/components/style.d.ts +3 -0
  33. package/es/plugins/codemirror-block/react/components/style.js +9 -0
  34. package/es/plugins/codemirror-block/react/index.d.ts +1 -0
  35. package/es/plugins/codemirror-block/react/index.js +1 -0
  36. package/es/plugins/codemirror-block/react/style.d.ts +1 -0
  37. package/es/plugins/codemirror-block/react/style.js +8 -0
  38. package/es/plugins/codemirror-block/react/theme.d.ts +133 -0
  39. package/es/plugins/codemirror-block/react/theme.js +158 -0
  40. package/es/plugins/codemirror-block/react/type.d.ts +3 -0
  41. package/es/plugins/codemirror-block/react/type.js +1 -0
  42. package/es/plugins/table/react/TableResize/index.js +4 -1
  43. package/package.json +4 -2
@@ -18,6 +18,9 @@ export var useAnchor = function useAnchor() {
18
18
  if (typeof document === 'undefined' || !editor) return;
19
19
  var root = editor.getRootElement();
20
20
  var anchor = root ? root.parentElement : null;
21
- return anchor || document.body;
21
+ if (anchor) return anchor;
22
+ // Fallback to .ant-app if exists, otherwise document.body
23
+ var antApp = document.querySelector('.ant-app');
24
+ return antApp || document.body;
22
25
  }, [editor]);
23
26
  };
@@ -14,4 +14,4 @@ import type { NodeKey } from 'lexical';
14
14
  * - `clearSelected` (function): A function to clear the selection of the node.
15
15
  *
16
16
  */
17
- export declare function useLexicalNodeSelection(key: NodeKey): [boolean, (selected: boolean) => void, () => void];
17
+ export declare function useLexicalNodeSelection(key: NodeKey): [boolean, (selected: boolean) => void, () => void, boolean];
@@ -26,6 +26,13 @@ function isNodeSelected(editor, key) {
26
26
  return node.isSelected(); // Check if the node is selected.
27
27
  });
28
28
  }
29
+ function detectNodeSelection(editor) {
30
+ if (!editor) return false;
31
+ return editor.getEditorState().read(function () {
32
+ var _$getSelection;
33
+ return ((_$getSelection = $getSelection()) === null || _$getSelection === void 0 ? void 0 : _$getSelection.getNodes().length) === 1;
34
+ });
35
+ }
29
36
 
30
37
  /**
31
38
  * A custom hook to manage the selection state of a specific node in a Lexical editor.
@@ -56,12 +63,19 @@ export function useLexicalNodeSelection(key) {
56
63
  _useState2 = _slicedToArray(_useState, 2),
57
64
  isSelected = _useState2[0],
58
65
  setIsSelected = _useState2[1];
66
+ var _useState3 = useState(function () {
67
+ return detectNodeSelection(lexicalEditor);
68
+ }),
69
+ _useState4 = _slicedToArray(_useState3, 2),
70
+ isNodeSelection = _useState4[0],
71
+ setIsNodeSelection = _useState4[1];
59
72
  useEffect(function () {
60
73
  var isMounted = true;
61
74
  if (!lexicalEditor) return;
62
75
  var unregister = lexicalEditor.registerUpdateListener(function () {
63
76
  if (isMounted) {
64
77
  setIsSelected(isNodeSelected(lexicalEditor, key));
78
+ setIsNodeSelection(detectNodeSelection(lexicalEditor));
65
79
  }
66
80
  });
67
81
  return function () {
@@ -72,7 +86,14 @@ export function useLexicalNodeSelection(key) {
72
86
  var setSelected = useCallback(function (selected) {
73
87
  if (!lexicalEditor) return;
74
88
  lexicalEditor.update(function () {
89
+ var _selection, _selection2;
75
90
  var selection = $getSelection();
91
+ if (((_selection = selection) === null || _selection === void 0 ? void 0 : _selection.getNodes().length) === 1 && (_selection2 = selection) !== null && _selection2 !== void 0 && _selection2.getNodes().map(function (v) {
92
+ return v.getKey();
93
+ }).includes(key)) {
94
+ // If the node is already selected, we can just return.
95
+ return;
96
+ }
76
97
  if (!$isNodeSelection(selection)) {
77
98
  selection = $createNodeSelection();
78
99
  $setSelection(selection);
@@ -95,5 +116,5 @@ export function useLexicalNodeSelection(key) {
95
116
  }
96
117
  });
97
118
  }, [lexicalEditor]);
98
- return [isSelected, setSelected, clearSelected];
119
+ return [isSelected, setSelected, clearSelected, isNodeSelection];
99
120
  }
package/es/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './editor-kernel/react';
3
3
  export * from './plugins/auto-complete';
4
4
  export * from './plugins/code';
5
5
  export * from './plugins/codeblock';
6
+ export * from './plugins/codemirror-block';
6
7
  export * from './plugins/common';
7
8
  export * from './plugins/file';
8
9
  export * from './plugins/hr';
package/es/index.js CHANGED
@@ -3,6 +3,7 @@ export * from "./editor-kernel/react";
3
3
  export * from "./plugins/auto-complete";
4
4
  export * from "./plugins/code";
5
5
  export * from "./plugins/codeblock";
6
+ export * from "./plugins/codemirror-block";
6
7
  export * from "./plugins/common";
7
8
  export * from "./plugins/file";
8
9
  export * from "./plugins/hr";
@@ -1,5 +1,15 @@
1
1
  declare const _default: {
2
2
  cancel: string;
3
+ codemirror: {
4
+ copyFailed: string;
5
+ copySuccess: string;
6
+ selectLanguage: string;
7
+ selectTheme: string;
8
+ showLineNumbers: string;
9
+ tabSize: string;
10
+ theme: string;
11
+ useTabs: string;
12
+ };
3
13
  confirm: string;
4
14
  file: {
5
15
  error: string;
@@ -1,5 +1,15 @@
1
1
  export default {
2
2
  cancel: 'Cancel',
3
+ codemirror: {
4
+ copyFailed: 'Copy failed',
5
+ copySuccess: 'Code copied to clipboard',
6
+ selectLanguage: 'Select language',
7
+ selectTheme: 'Select theme',
8
+ showLineNumbers: 'Show Line Numbers',
9
+ tabSize: 'Tab Size',
10
+ theme: 'Theme',
11
+ useTabs: 'Use Tabs'
12
+ },
3
13
  confirm: 'Confirm',
4
14
  file: {
5
15
  error: 'Error: {{message}}',
@@ -0,0 +1,9 @@
1
+ import { LexicalEditor } from 'lexical';
2
+ export declare const INSERT_CODEMIRROR_COMMAND: import("lexical").LexicalCommand<unknown>;
3
+ export declare const SELECT_BEFORE_CODEMIRROR_COMMAND: import("lexical").LexicalCommand<{
4
+ key: string;
5
+ }>;
6
+ export declare const SELECT_AFTER_CODEMIRROR_COMMAND: import("lexical").LexicalCommand<{
7
+ key: string;
8
+ }>;
9
+ export declare function registerCodeMirrorCommand(editor: LexicalEditor): () => void;
@@ -0,0 +1,46 @@
1
+ import { mergeRegister } from '@lexical/utils';
2
+ import { $getNodeByKey, $insertNodes, $setSelection, COMMAND_PRIORITY_EDITOR, createCommand } from 'lexical';
3
+ import { $createCodeMirrorNode } from "../node/CodeMirrorNode";
4
+ export var INSERT_CODEMIRROR_COMMAND = createCommand('INSERT_CODEMIRROR_COMMAND');
5
+ export var SELECT_BEFORE_CODEMIRROR_COMMAND = createCommand('SELECT_BEFORE_CODEMIRROR_COMMAND');
6
+ export var SELECT_AFTER_CODEMIRROR_COMMAND = createCommand('SELECT_AFTER_CODEMIRROR_COMMAND');
7
+ export function registerCodeMirrorCommand(editor) {
8
+ return mergeRegister(editor.registerCommand(INSERT_CODEMIRROR_COMMAND, function () {
9
+ editor.update(function () {
10
+ var codeMirrorNode = $createCodeMirrorNode('', '');
11
+ $insertNodes([codeMirrorNode]);
12
+ });
13
+ return true;
14
+ }, COMMAND_PRIORITY_EDITOR // Priority
15
+ ), editor.registerCommand(SELECT_BEFORE_CODEMIRROR_COMMAND, function (payload) {
16
+ editor.update(function () {
17
+ var node = $getNodeByKey(payload.key);
18
+ if (!node) {
19
+ return;
20
+ }
21
+ var prevNode = node.getPreviousSibling();
22
+ var sel = prevNode === null || prevNode === void 0 ? void 0 : prevNode.selectEnd();
23
+ console.info('SELECT_BEFORE_CODEMIRROR_COMMAND', prevNode, sel);
24
+ if (sel) {
25
+ $setSelection(sel);
26
+ }
27
+ editor.focus();
28
+ });
29
+ return false;
30
+ }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(SELECT_AFTER_CODEMIRROR_COMMAND, function (payload) {
31
+ editor.update(function () {
32
+ var node = $getNodeByKey(payload.key);
33
+ if (!node) {
34
+ return;
35
+ }
36
+ var nextNode = node.getNextSibling();
37
+ var sel = nextNode === null || nextNode === void 0 ? void 0 : nextNode.selectStart();
38
+ console.info('SELECT_AFTER_CODEMIRROR_COMMAND', sel, nextNode, node);
39
+ if (sel) {
40
+ $setSelection(sel);
41
+ }
42
+ editor.focus();
43
+ });
44
+ return false;
45
+ }, COMMAND_PRIORITY_EDITOR));
46
+ }
@@ -0,0 +1,2 @@
1
+ export * from './plugin';
2
+ export * from './react';
@@ -0,0 +1,2 @@
1
+ export * from "./plugin";
2
+ export * from "./react";
@@ -0,0 +1,58 @@
1
+ export declare const AllLang: never[];
2
+ export interface Options {
3
+ className?: string;
4
+ foldGutter?: boolean;
5
+ history?: any;
6
+ indentWithTabs?: boolean;
7
+ lineNumbers?: boolean;
8
+ lineWrapping?: boolean;
9
+ mode?: string;
10
+ preventCopy?: boolean;
11
+ readOnly?: boolean;
12
+ tabSize?: number;
13
+ theme?: 'default';
14
+ value?: string;
15
+ }
16
+ export interface ICodeMirrorInstance {
17
+ blur(): void;
18
+ clearHistory(): void;
19
+ destroy(): void;
20
+ focus(): void;
21
+ foldLines(): number[];
22
+ foldLines(lines: number[]): void;
23
+ formatAll(): void;
24
+ getHistory(): any;
25
+ getLine(line: number): string;
26
+ getSelection(): string;
27
+ getValue: () => string;
28
+ historyRedoDepth(): number;
29
+ historyUndoDepth(): number;
30
+ lineCount(): number;
31
+ on(event: 'change' | 'blur' | 'focus' | 'keyup' | 'fold' | 'unfold' | 'keydown' | 'rightOut' | 'leftOut', handler: (...args: any[]) => void): void;
32
+ optionHelper: {
33
+ theme: {
34
+ reconfigure: (theme: any) => void;
35
+ };
36
+ };
37
+ redoSelection(): void;
38
+ replaceSelection(text: string): void;
39
+ setOption(option: keyof Options, value: any): void;
40
+ setSelection(anchor: number, header: number): void;
41
+ setSelectionToEnd(): void;
42
+ setSelectionToStart(): void;
43
+ setValue(value: string): void;
44
+ undoSelection(): void;
45
+ view: {
46
+ constructor: {
47
+ theme: (options: any, settings: any) => any;
48
+ };
49
+ dispatch: (params: {
50
+ effects: any;
51
+ }) => void;
52
+ };
53
+ }
54
+ export interface ICodeMirror {
55
+ fromTextArea: (textarea: HTMLTextAreaElement, options?: Options) => ICodeMirrorInstance;
56
+ new (dom: HTMLElement, options?: Options): ICodeMirrorInstance;
57
+ }
58
+ export declare function loadCodeMirror(): Promise<ICodeMirror>;
@@ -0,0 +1,40 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
5
+ var CodeMirrorLoading = false;
6
+ export var AllLang = [];
7
+ export function loadCodeMirror() {
8
+ return _loadCodeMirror.apply(this, arguments);
9
+ }
10
+ function _loadCodeMirror() {
11
+ _loadCodeMirror = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
12
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
13
+ while (1) switch (_context.prev = _context.next) {
14
+ case 0:
15
+ if (!(!window.CodeMirror && !CodeMirrorLoading)) {
16
+ _context.next = 11;
17
+ break;
18
+ }
19
+ CodeMirrorLoading = true;
20
+ _context.prev = 2;
21
+ _context.next = 5;
22
+ return import('@lobehub/codemirror');
23
+ case 5:
24
+ _context.next = 11;
25
+ break;
26
+ case 7:
27
+ _context.prev = 7;
28
+ _context.t0 = _context["catch"](2);
29
+ CodeMirrorLoading = false;
30
+ throw _context.t0;
31
+ case 11:
32
+ return _context.abrupt("return", window.CodeMirror.default);
33
+ case 12:
34
+ case "end":
35
+ return _context.stop();
36
+ }
37
+ }, _callee, null, [[2, 7]]);
38
+ }));
39
+ return _loadCodeMirror.apply(this, arguments);
40
+ }
@@ -0,0 +1,25 @@
1
+ export declare const MODES: ({
2
+ ext: string[];
3
+ name: string;
4
+ syntax: string;
5
+ value: string;
6
+ } | {
7
+ name: string;
8
+ syntax: string;
9
+ value: string;
10
+ ext?: undefined;
11
+ })[];
12
+ export declare const DISABLE_FORMAT_MODE: string[];
13
+ export declare function modeMatch(mode?: string): string;
14
+ export declare const LOBE_THEME = "default";
15
+ export declare enum CODE_THEME_ENUM {
16
+ LOBE = "default"
17
+ }
18
+ export declare const THEMES: {
19
+ isDark: boolean;
20
+ name: CODE_THEME_ENUM;
21
+ value: CODE_THEME_ENUM;
22
+ }[];
23
+ export declare const DEFAULT_CODEBLOCK_THEME_NAME = CODE_THEME_ENUM.LOBE;
24
+ export declare const DARK_CODEBLOCK_THEME_NAME = CODE_THEME_ENUM.LOBE;
25
+ export declare function getValidTheme(theme: string): CODE_THEME_ENUM;