my-react-exercise-playground
Version:
react-exercise-playground是一个react在线代码编辑器可实时预览运行效果
997 lines (986 loc) • 4.09 MB
JavaScript
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode('._loader_z4rlz_1,._loader_z4rlz_1:after{width:10px;height:10px;border-radius:50%}._loader_z4rlz_1{position:relative;border-top:2px solid rgba(255,255,255,.2);border-right:2px solid rgba(255,255,255,.2);border-bottom:2px solid rgba(255,255,255,.2);border-left:2px solid var(--primary);transform:translateZ(0);animation:_load8_z4rlz_1 .3s infinite linear}@keyframes _load8_z4rlz_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.react-playground-editor{height:100%;overflow:hidden;background-color:var(--border)}.react-playground-editor.hidden{display:none}.react-playground-editor-types-loading{position:absolute;top:41px;right:2px}.dark .react-playground-editor{height:100%;overflow:hidden;background-color:var(--border)}.dark .react-playground-editor .jsx-tag-angle-bracket{color:gray}.dark .react-playground-editor .jsx-text{color:#d4d4d4}.dark .react-playground-editor .jsx-tag-name{color:#569cd6}.dark .react-playground-editor .jsx-tag-attribute-key{color:#9cdcfe}.light .react-playground-editor{height:100%;overflow:hidden;background-color:var(--border)}.light .react-playground-editor .jsx-tag-angle-bracket{color:maroon}.light .react-playground-editor .jsx-text{color:#000}.light .react-playground-editor .jsx-tag-name{color:maroon}.light .react-playground-editor .jsx-tag-attribute-key{color:red}._dialog_eaiwm_1{top:15%;left:50%;min-width:200px;padding:20px 30px;font-size:14px;color:var(--base);background-color:var(--dialog);border:none;border-radius:4px;transform:translate(-50%)}._dialog-footer_eaiwm_13{display:flex;justify-content:flex-end;align-items:center;padding-top:15px}._dialog-footer_eaiwm_13 button{padding:4px 15px;font-size:14px;color:var(--base);cursor:pointer;background:transparent;border:none;border-radius:4px;outline:none}._dialog-footer_eaiwm_13 ._dialog-btn_eaiwm_29{margin-left:4px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.12);background:var(--primary);border-color:var(--primary);box-shadow:0 2px #0000000b}._content_eaiwm_37{display:flex;align-items:center}._content_eaiwm_37 svg{margin-right:16px;font-size:20px;color:#d89614}._tabs_16nwc_1{display:flex;width:100%;height:38px;overflow:auto hidden;color:var(--base);background-color:var(--bg);flex-shrink:0;align-items:center;border-bottom:1px solid var(--border);box-sizing:border-box}._tabs_16nwc_1::-webkit-scrollbar{height:1px}._tabs_16nwc_1::-webkit-scrollbar-track{background-color:var(--border)}._tabs_16nwc_1::-webkit-scrollbar-thumb{background-color:var(--primary)}._tabs_16nwc_1 ._tab-item_16nwc_22{display:inline-flex;padding:8px 10px 6px;font-size:13px;line-height:20px;cursor:pointer;align-items:center;border-bottom:3px solid transparent;flex-shrink:0}._tabs_16nwc_1 ._tab-item_16nwc_22._actived_16nwc_32{color:var(--primary);border-bottom:3px solid var(--primary)}._tabs_16nwc_1 ._tab-item_16nwc_22:first-child{cursor:text}._tabs_16nwc_1 ._import-map-wrapper_16nwc_39{position:sticky;top:0;right:0;padding-left:10px;margin-left:auto;background-color:var(--bg);flex-shrink:0}._tabs_16nwc_1 ._import-map-wrapper_16nwc_39 ._tab-item_16nwc_22{cursor:pointer!important}._tabs_16nwc_1 ._add_16nwc_51{display:flex;width:38px;height:100%;font-size:18px;color:var(--base);cursor:pointer;justify-content:center;align-items:center;border-bottom:3px solid transparent}._tabs_16nwc_1 ._add_16nwc_51:hover{color:var(--primary)}._tabs-item-input_16nwc_65{z-index:11;width:90px;padding:4px 0 4px 10px;font-size:13px;color:var(--base);background-color:var(--border);border:1px solid var(--border);border-radius:4px;outline:none}._input-mask_16nwc_76{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;cursor:pointer;background-color:#0006}._msg_1t9wq_1{position:absolute;right:8px;bottom:0;left:8px;z-index:10;display:flex;max-height:calc(100% - 300px);min-height:40px;margin-bottom:8px;color:var(--color);white-space:pre-wrap;background-color:var(--bg-color);border:2px solid transparent;border-radius:6px;align-items:stretch;border-color:var(--color)}._msg_1t9wq_1._error_1t9wq_19{--color: #f56c6c;--bg-color: #fef0f0}._msg_1t9wq_1._warn_1t9wq_23{--color: #e6a23c;--bg-color: #fdf6ec}pre{padding:12px 20px;margin:0;overflow:auto;white-space:break-spaces}._dismiss_1t9wq_33{position:absolute;top:2px;right:2px;display:block;width:18px;height:18px;padding:0;font-size:9px;line-height:18px;color:var(--bg-color);text-align:center;cursor:pointer;background-color:var(--color);border:none;border-radius:9px}._header_1whkb_1{position:relative;z-index:999;display:flex;height:50px;padding:0 1em;color:var(--base);background-color:var(--bg);box-sizing:border-box;align-items:center;box-shadow:0 0 4px var(--box-shadow);border-bottom:1px solid var(--border);justify-content:space-between}._header_1whkb_1 ._logo_1whkb_15{display:flex;font-size:20px;align-items:center}._header_1whkb_1 ._logo_1whkb_15 img{height:24px;margin-right:10px}._header_1whkb_1 ._links_1whkb_24{display:flex;height:100%}._header_1whkb_1 ._links_1whkb_24 button{display:flex;width:34px;height:100%;padding:0 6px;margin-left:4px;cursor:pointer;background-color:transparent;border:none;outline:none;align-items:center}._header_1whkb_1 ._links_1whkb_24 button>svg{color:#666}._header_1whkb_1 ._links_1whkb_24 button._theme_1whkb_43>svg{width:18px;height:18px}._tabs_1vzew_1{display:flex;width:100%;height:38px;color:var(--base);background-color:var(--bg);align-items:center;border-bottom:1px solid var(--border);box-sizing:border-box}._tabs_1vzew_1 ._tab-item_1vzew_11{display:inline-block;padding:8px 10px 6px;font-size:13px;line-height:20px;cursor:pointer;border-bottom:3px solid transparent;flex-shrink:0}._tabs_1vzew_1 ._tab-item_1vzew_11._actived_1vzew_20{border-bottom:3px solid var(--primary)}._collapse-left_1la7y_1{position:absolute;top:0;z-index:1;display:flex;width:20px;height:100%;align-items:center;right:0;justify-content:end}._collapse-left_1la7y_1:hover ._collapse-btn_1la7y_12{display:flex}._collapse-left_1la7y_1 ._collapse-btn_1la7y_12{position:relative;display:none;width:10px;height:48px;cursor:pointer;background-color:#e7e9e8;border-radius:4px 0 0 4px}._collapse-left_1la7y_1 ._collapse-btn_1la7y_12:after{position:absolute;top:50%;left:50%;width:0;height:0;content:"";border-top:5px solid transparent;border-bottom:5px solid transparent;transform:translate(-50%) translateY(-50%);border-right:6px solid #000}._collapse-right_1la7y_36{position:absolute;top:0;z-index:1;display:flex;width:20px;height:100%;align-items:center;left:0;justify-content:start}._collapse-right_1la7y_36:hover ._collapse-btn_1la7y_12{display:flex}._collapse-right_1la7y_36 ._collapse-btn_1la7y_12{position:relative;display:none;width:10px;height:48px;cursor:pointer;background-color:#e7e9e8;border-radius:0 4px 4px 0}._collapse-right_1la7y_36 ._collapse-btn_1la7y_12:after{position:absolute;top:50%;left:50%;width:0;height:0;content:"";border-top:5px solid transparent;border-bottom:5px solid transparent;transform:translate(-50%) translateY(-50%);border-left:6px solid #000}._collapse-left_1la7y_1._active_1la7y_71 ._collapse-btn_1la7y_12,._collapse-right_1la7y_36._active_1la7y_71 ._collapse-btn_1la7y_12{display:flex;opacity:0;transition:opacity .2s ease-in-out}._collapse-left_1la7y_1:hover._active_1la7y_71 ._collapse-btn_1la7y_12,._collapse-right_1la7y_36:hover._active_1la7y_71 ._collapse-btn_1la7y_12{opacity:1}:root{--separator-border: rgba(128, 128, 128, .35);--sash-hover-transition-duration: .1s}.allotment-module_splitView__L-yRc{height:100%;overflow:hidden;position:relative;width:100%}.allotment-module_splitView__L-yRc>.allotment-module_sashContainer__fzwJF{height:100%;pointer-events:none;position:absolute;width:100%}.allotment-module_splitView__L-yRc>.allotment-module_sashContainer__fzwJF>.allotment-module_sash__QA-2t{pointer-events:auto}.allotment-module_splitView__L-yRc>.allotment-module_splitViewContainer__rQnVa{height:100%;position:relative;white-space:nowrap;width:100%}.allotment-module_splitView__L-yRc>.allotment-module_splitViewContainer__rQnVa>.allotment-module_splitViewView__MGZ6O{overflow:hidden;position:absolute;white-space:initial}.allotment-module_splitView__L-yRc.allotment-module_vertical__WSwwa>.allotment-module_splitViewContainer__rQnVa>.allotment-module_splitViewView__MGZ6O{width:100%}.allotment-module_splitView__L-yRc.allotment-module_horizontal__7doS8>.allotment-module_splitViewContainer__rQnVa>.allotment-module_splitViewView__MGZ6O{height:100%}.allotment-module_splitView__L-yRc.allotment-module_separatorBorder__x-rDS>.allotment-module_splitViewContainer__rQnVa>.allotment-module_splitViewView__MGZ6O:not(:first-child):before{background-color:var(--separator-border);content:" ";left:0;pointer-events:none;position:absolute;top:0;z-index:5}.allotment-module_splitView__L-yRc.allotment-module_separatorBorder__x-rDS.allotment-module_vertical__WSwwa>.allotment-module_splitViewContainer__rQnVa>.allotment-module_splitViewView__MGZ6O:not(:first-child):before{height:1px;width:100%}.allotment-module_splitView__L-yRc.allotment-module_separatorBorder__x-rDS.allotment-module_horizontal__7doS8>.allotment-module_splitViewContainer__rQnVa>.allotment-module_splitViewView__MGZ6O:not(:first-child):before{height:100%;width:1px}:root{--focus-border: #007fd4;--sash-size: 8px;--sash-hover-size: 4px}.sash-module_sash__K-9lB{position:absolute;z-index:35;touch-action:none;pointer-events:auto;text-align:initial}.sash-module_sash__K-9lB.sash-module_disabled__Hm-wx{pointer-events:none}.sash-module_sash__K-9lB.sash-module_mac__Jf6OJ.sash-module_vertical__pB-rs{cursor:col-resize}.sash-module_sash__K-9lB.sash-module_vertical__pB-rs.sash-module_minimum__-UKxp{cursor:e-resize}.sash-module_sash__K-9lB.sash-module_vertical__pB-rs.sash-module_maximum__TCWxD{cursor:w-resize}.sash-module_sash__K-9lB.sash-module_mac__Jf6OJ.sash-module_horizontal__kFbiw{cursor:row-resize}.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_minimum__-UKxp{cursor:s-resize}.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_maximum__TCWxD{cursor:n-resize}.sash-module_sash__K-9lB.sash-module_disabled__Hm-wx{cursor:default!important;pointer-events:none!important}.sash-module_sash__K-9lB.sash-module_vertical__pB-rs{cursor:ew-resize;top:0;width:var(--sash-size);height:100%}.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw{cursor:ns-resize;left:0;width:100%;height:var(--sash-size)}.sash-module_sash__K-9lB:not(.sash-module_disabled__Hm-wx)>.sash-module_orthogonal-drag-handle__Yii2-{content:" ";height:calc(var(--sash-size) * 2);width:calc(var(--sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_orthogonal-edge-north__f7Noe:not(.sash-module_disabled__Hm-wx)>.sash-module_orthogonal-drag-handle__Yii2-.sash-module_start__uZEDk,.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_orthogonal-edge-south__6ZrFC:not(.sash-module_disabled__Hm-wx)>.sash-module_orthogonal-drag-handle__Yii2-.sash-module_end__0TP-R{cursor:nwse-resize}.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_orthogonal-edge-north__f7Noe:not(.sash-module_disabled__Hm-wx)>.sash-module_orthogonal-drag-handle__Yii2-.sash-module_end__0TP-R,.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_orthogonal-edge-south__6ZrFC:not(.sash-module_disabled__Hm-wx)>.sash-module_orthogonal-drag-handle__Yii2-.sash-module_start__uZEDk{cursor:nesw-resize}.sash-module_sash__K-9lB.sash-module_vertical__pB-rs>.sash-module_orthogonal-drag-handle__Yii2-.sash-module_start__uZEDk{left:calc(var(--sash-size) * -.5);top:calc(var(--sash-size) * -1)}.sash-module_sash__K-9lB.sash-module_vertical__pB-rs>.sash-module_orthogonal-drag-handle__Yii2-.sash-module_end__0TP-R{left:calc(var(--sash-size) * -.5);bottom:calc(var(--sash-size) * -1)}.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw>.sash-module_orthogonal-drag-handle__Yii2-.sash-module_start__uZEDk{top:calc(var(--sash-size) * -.5);left:calc(var(--sash-size) * -1)}.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw>.sash-module_orthogonal-drag-handle__Yii2-.sash-module_end__0TP-R{top:calc(var(--sash-size) * -.5);right:calc(var(--sash-size) * -1)}.sash-module_sash__K-9lB:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;transition:background-color var(--sash-hover-transition-duration) ease-out;background:transparent}.sash-module_sash__K-9lB.sash-module_vertical__pB-rs:before{width:var(--sash-hover-size);left:calc(50% - (var(--sash-hover-size) / 2))}.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw:before{height:var(--sash-hover-size);top:calc(50% - (var(--sash-hover-size) / 2))}.sash-module_sash__K-9lB.sash-module_hover__80W6I:before,.sash-module_sash__K-9lB.sash-module_active__bJspD:before{background:var(--focus-border)}div[data-id=react-playground].light{--base: #444;--bg: #fff;--border: #ddd;--box-shadow: #00000054;--primary: #00d8fe;--dialog: #fff}div[data-id=react-playground].dark{--base: #ddd;--bg: #1a1a1a;--border: #383838;--box-shadow: #0000;--primary: #00d8fe;--dialog: #2a2a2a}')),document.head.appendChild(o)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
import { j as n, g as Ib, S as Wb } from "./index-761e5560.mjs";
import LZ, { memo as Dm, useState as lZ, useRef as B, useCallback as ll, useEffect as f, createContext as Xb, useContext as yl, forwardRef as Zi, useMemo as li, useImperativeHandle as db, useLayoutEffect as Lb } from "react";
var hl = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function yb(l) {
return l && l.__esModule && Object.prototype.hasOwnProperty.call(l, "default") ? l.default : l;
}
function Yb(l, Z, m) {
return Z in l ? Object.defineProperty(l, Z, {
value: m,
enumerable: !0,
configurable: !0,
writable: !0
}) : l[Z] = m, l;
}
function Vc(l, Z) {
var m = Object.keys(l);
if (Object.getOwnPropertySymbols) {
var c = Object.getOwnPropertySymbols(l);
Z && (c = c.filter(function(i) {
return Object.getOwnPropertyDescriptor(l, i).enumerable;
})), m.push.apply(m, c);
}
return m;
}
function uc(l) {
for (var Z = 1; Z < arguments.length; Z++) {
var m = arguments[Z] != null ? arguments[Z] : {};
Z % 2 ? Vc(Object(m), !0).forEach(function(c) {
Yb(l, c, m[c]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(l, Object.getOwnPropertyDescriptors(m)) : Vc(Object(m)).forEach(function(c) {
Object.defineProperty(l, c, Object.getOwnPropertyDescriptor(m, c));
});
}
return l;
}
function Gb(l, Z) {
if (l == null)
return {};
var m = {}, c = Object.keys(l), i, b;
for (b = 0; b < c.length; b++)
i = c[b], !(Z.indexOf(i) >= 0) && (m[i] = l[i]);
return m;
}
function Vb(l, Z) {
if (l == null)
return {};
var m = Gb(l, Z), c, i;
if (Object.getOwnPropertySymbols) {
var b = Object.getOwnPropertySymbols(l);
for (i = 0; i < b.length; i++)
c = b[i], !(Z.indexOf(c) >= 0) && Object.prototype.propertyIsEnumerable.call(l, c) && (m[c] = l[c]);
}
return m;
}
function ub(l, Z) {
return Jb(l) || Nb(l, Z) || hb(l, Z) || Mb();
}
function Jb(l) {
if (Array.isArray(l))
return l;
}
function Nb(l, Z) {
if (!(typeof Symbol > "u" || !(Symbol.iterator in Object(l)))) {
var m = [], c = !0, i = !1, b = void 0;
try {
for (var I = l[Symbol.iterator](), W; !(c = (W = I.next()).done) && (m.push(W.value), !(Z && m.length === Z)); c = !0)
;
} catch (L) {
i = !0, b = L;
} finally {
try {
!c && I.return != null && I.return();
} finally {
if (i)
throw b;
}
}
return m;
}
}
function hb(l, Z) {
if (l) {
if (typeof l == "string")
return Jc(l, Z);
var m = Object.prototype.toString.call(l).slice(8, -1);
if (m === "Object" && l.constructor && (m = l.constructor.name), m === "Map" || m === "Set")
return Array.from(l);
if (m === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m))
return Jc(l, Z);
}
}
function Jc(l, Z) {
(Z == null || Z > l.length) && (Z = l.length);
for (var m = 0, c = new Array(Z); m < Z; m++)
c[m] = l[m];
return c;
}
function Mb() {
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
function sb(l, Z, m) {
return Z in l ? Object.defineProperty(l, Z, {
value: m,
enumerable: !0,
configurable: !0,
writable: !0
}) : l[Z] = m, l;
}
function Nc(l, Z) {
var m = Object.keys(l);
if (Object.getOwnPropertySymbols) {
var c = Object.getOwnPropertySymbols(l);
Z && (c = c.filter(function(i) {
return Object.getOwnPropertyDescriptor(l, i).enumerable;
})), m.push.apply(m, c);
}
return m;
}
function hc(l) {
for (var Z = 1; Z < arguments.length; Z++) {
var m = arguments[Z] != null ? arguments[Z] : {};
Z % 2 ? Nc(Object(m), !0).forEach(function(c) {
sb(l, c, m[c]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(l, Object.getOwnPropertyDescriptors(m)) : Nc(Object(m)).forEach(function(c) {
Object.defineProperty(l, c, Object.getOwnPropertyDescriptor(m, c));
});
}
return l;
}
function Sb() {
for (var l = arguments.length, Z = new Array(l), m = 0; m < l; m++)
Z[m] = arguments[m];
return function(c) {
return Z.reduceRight(function(i, b) {
return b(i);
}, c);
};
}
function pl(l) {
return function Z() {
for (var m = this, c = arguments.length, i = new Array(c), b = 0; b < c; b++)
i[b] = arguments[b];
return i.length >= l.length ? l.apply(this, i) : function() {
for (var I = arguments.length, W = new Array(I), L = 0; L < I; L++)
W[L] = arguments[L];
return Z.apply(m, [].concat(i, W));
};
};
}
function ql(l) {
return {}.toString.call(l).includes("Object");
}
function Rb(l) {
return !Object.keys(l).length;
}
function nl(l) {
return typeof l == "function";
}
function pb(l, Z) {
return Object.prototype.hasOwnProperty.call(l, Z);
}
function zb(l, Z) {
return ql(Z) || BZ("changeType"), Object.keys(Z).some(function(m) {
return !pb(l, m);
}) && BZ("changeField"), Z;
}
function Fb(l) {
nl(l) || BZ("selectorType");
}
function nb(l) {
nl(l) || ql(l) || BZ("handlerType"), ql(l) && Object.values(l).some(function(Z) {
return !nl(Z);
}) && BZ("handlersType");
}
function Cb(l) {
l || BZ("initialIsRequired"), ql(l) || BZ("initialType"), Rb(l) && BZ("initialContent");
}
function kb(l, Z) {
throw new Error(l[Z] || l.default);
}
var wb = {
initialIsRequired: "initial state is required",
initialType: "initial state should be an object",
initialContent: "initial state shouldn't be an empty object",
handlerType: "handler should be an object or a function",
handlersType: "all handlers should be a functions",
selectorType: "selector should be a function",
changeType: "provided value of changes should be an object",
changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state',
default: "an unknown error accured in `state-local` package"
}, BZ = pl(kb)(wb), el = {
changes: zb,
selector: Fb,
handler: nb,
initial: Cb
};
function xb(l) {
var Z = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
el.initial(l), el.handler(Z);
var m = {
current: l
}, c = pl(jb)(m, Z), i = pl(Ub)(m), b = pl(el.changes)(l), I = pl(ab)(m);
function W() {
var d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function(X) {
return X;
};
return el.selector(d), d(m.current);
}
function L(d) {
Sb(c, i, b, I)(d);
}
return [W, L];
}
function ab(l, Z) {
return nl(Z) ? Z(l.current) : Z;
}
function Ub(l, Z) {
return l.current = hc(hc({}, l.current), Z), Z;
}
function jb(l, Z, m) {
return nl(Z) ? Z(l.current) : Object.keys(m).forEach(function(c) {
var i;
return (i = Z[c]) === null || i === void 0 ? void 0 : i.call(Z, l.current[c]);
}), m;
}
var Tb = {
create: xb
}, Hb = {
paths: {
vs: "https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"
}
};
function Kb(l) {
return function Z() {
for (var m = this, c = arguments.length, i = new Array(c), b = 0; b < c; b++)
i[b] = arguments[b];
return i.length >= l.length ? l.apply(this, i) : function() {
for (var I = arguments.length, W = new Array(I), L = 0; L < I; L++)
W[L] = arguments[L];
return Z.apply(m, [].concat(i, W));
};
};
}
function ob(l) {
return {}.toString.call(l).includes("Object");
}
function vb(l) {
return l || Mc("configIsRequired"), ob(l) || Mc("configType"), l.urls ? (tb(), {
paths: {
vs: l.urls.monacoBase
}
}) : l;
}
function tb() {
console.warn(mi.deprecation);
}
function Db(l, Z) {
throw new Error(l[Z] || l.default);
}
var mi = {
configIsRequired: "the configuration object is required",
configType: "the configuration object should be an object",
default: "an unknown error accured in `@monaco-editor/loader` package",
deprecation: `Deprecation warning!
You are using deprecated way of configuration.
Instead of using
monaco.config({ urls: { monacoBase: '...' } })
use
monaco.config({ paths: { vs: '...' } })
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
`
}, Mc = Kb(Db)(mi), gb = {
config: vb
}, Qb = function() {
for (var Z = arguments.length, m = new Array(Z), c = 0; c < Z; c++)
m[c] = arguments[c];
return function(i) {
return m.reduceRight(function(b, I) {
return I(b);
}, i);
};
};
function ci(l, Z) {
return Object.keys(Z).forEach(function(m) {
Z[m] instanceof Object && l[m] && Object.assign(Z[m], ci(l[m], Z[m]));
}), uc(uc({}, l), Z);
}
var Ob = {
type: "cancelation",
msg: "operation is manually canceled"
};
function Vm(l) {
var Z = !1, m = new Promise(function(c, i) {
l.then(function(b) {
return Z ? i(Ob) : c(b);
}), l.catch(i);
});
return m.cancel = function() {
return Z = !0;
}, m;
}
var Eb = Tb.create({
config: Hb,
isInitialized: !1,
resolve: null,
reject: null,
monaco: null
}), ii = ub(Eb, 2), wl = ii[0], Zm = ii[1];
function eb(l) {
var Z = gb.config(l), m = Z.monaco, c = Vb(Z, ["monaco"]);
Zm(function(i) {
return {
config: ci(i.config, c),
monaco: m
};
});
}
function Bb() {
var l = wl(function(Z) {
var m = Z.monaco, c = Z.isInitialized, i = Z.resolve;
return {
monaco: m,
isInitialized: c,
resolve: i
};
});
if (!l.isInitialized) {
if (Zm({
isInitialized: !0
}), l.monaco)
return l.resolve(l.monaco), Vm(um);
if (window.monaco && window.monaco.editor)
return bi(window.monaco), l.resolve(window.monaco), Vm(um);
Qb(Pb, fb)(rb);
}
return Vm(um);
}
function Pb(l) {
return document.body.appendChild(l);
}
function Ab(l) {
var Z = document.createElement("script");
return l && (Z.src = l), Z;
}
function fb(l) {
var Z = wl(function(c) {
var i = c.config, b = c.reject;
return {
config: i,
reject: b
};
}), m = Ab("".concat(Z.config.paths.vs, "/loader.js"));
return m.onload = function() {
return l();
}, m.onerror = Z.reject, m;
}
function rb() {
var l = wl(function(m) {
var c = m.config, i = m.resolve, b = m.reject;
return {
config: c,
resolve: i,
reject: b
};
}), Z = window.require;
Z.config(l.config), Z(["vs/editor/editor.main"], function(m) {
bi(m), l.resolve(m);
}, function(m) {
l.reject(m);
});
}
function bi(l) {
wl().monaco || Zm({
monaco: l
});
}
function qb() {
return wl(function(l) {
var Z = l.monaco;
return Z;
});
}
var um = new Promise(function(l, Z) {
return Zm({
resolve: l,
reject: Z
});
}), gm = {
config: eb,
init: Bb,
__getMonacoInstance: qb
}, _b = { wrapper: { display: "flex", position: "relative", textAlign: "initial" }, fullWidth: { width: "100%" }, hide: { display: "none" } }, Jm = _b, $b = { container: { display: "flex", height: "100%", width: "100%", justifyContent: "center", alignItems: "center" } }, ZI = $b;
function lI({ children: l }) {
return LZ.createElement("div", { style: ZI.container }, l);
}
var mI = lI, cI = mI;
function iI({ width: l, height: Z, isEditorReady: m, loading: c, _ref: i, className: b, wrapperProps: I }) {
return LZ.createElement("section", { style: { ...Jm.wrapper, width: l, height: Z }, ...I }, !m && LZ.createElement(cI, null, c), LZ.createElement("div", { ref: i, style: { ...Jm.fullWidth, ...!m && Jm.hide }, className: b }));
}
var bI = iI, Ii = Dm(bI);
function II(l) {
f(l, []);
}
var Wi = II;
function WI(l, Z, m = !0) {
let c = B(!0);
f(c.current || !m ? () => {
c.current = !1;
} : l, Z);
}
var uZ = WI;
function zl() {
}
function dl(l, Z, m, c) {
return XI(l, c) || dI(l, Z, m, c);
}
function XI(l, Z) {
return l.editor.getModel(Xi(l, Z));
}
function dI(l, Z, m, c) {
return l.editor.createModel(Z, m, c ? Xi(l, c) : void 0);
}
function Xi(l, Z) {
return l.Uri.parse(Z);
}
function LI({ original: l, modified: Z, language: m, originalLanguage: c, modifiedLanguage: i, originalModelPath: b, modifiedModelPath: I, keepCurrentOriginalModel: W = !1, keepCurrentModifiedModel: L = !1, theme: d = "light", loading: X = "Loading...", options: y = {}, height: G = "100%", width: V = "100%", className: s, wrapperProps: R = {}, beforeMount: h = zl, onMount: N = zl }) {
let [M, S] = lZ(!1), [z, a] = lZ(!0), K = B(null), u = B(null), F = B(null), C = B(N), w = B(h), D = B(!1);
Wi(() => {
let p = gm.init();
return p.then((j) => (u.current = j) && a(!1)).catch((j) => (j == null ? void 0 : j.type) !== "cancelation" && console.error("Monaco initialization: error:", j)), () => K.current ? x() : p.cancel();
}), uZ(() => {
if (K.current && u.current) {
let p = K.current.getOriginalEditor(), j = dl(u.current, l || "", c || m || "text", b || "");
j !== p.getModel() && p.setModel(j);
}
}, [b], M), uZ(() => {
if (K.current && u.current) {
let p = K.current.getModifiedEditor(), j = dl(u.current, Z || "", i || m || "text", I || "");
j !== p.getModel() && p.setModel(j);
}
}, [I], M), uZ(() => {
let p = K.current.getModifiedEditor();
p.getOption(u.current.editor.EditorOption.readOnly) ? p.setValue(Z || "") : Z !== p.getValue() && (p.executeEdits("", [{ range: p.getModel().getFullModelRange(), text: Z || "", forceMoveMarkers: !0 }]), p.pushUndoStop());
}, [Z], M), uZ(() => {
var p, j;
(j = (p = K.current) == null ? void 0 : p.getModel()) == null || j.original.setValue(l || "");
}, [l], M), uZ(() => {
let { original: p, modified: j } = K.current.getModel();
u.current.editor.setModelLanguage(p, c || m || "text"), u.current.editor.setModelLanguage(j, i || m || "text");
}, [m, c, i], M), uZ(() => {
var p;
(p = u.current) == null || p.editor.setTheme(d);
}, [d], M), uZ(() => {
var p;
(p = K.current) == null || p.updateOptions(y);
}, [y], M);
let o = ll(() => {
var T;
if (!u.current)
return;
w.current(u.current);
let p = dl(u.current, l || "", c || m || "text", b || ""), j = dl(u.current, Z || "", i || m || "text", I || "");
(T = K.current) == null || T.setModel({ original: p, modified: j });
}, [m, Z, i, l, c, b, I]), t = ll(() => {
var p;
!D.current && F.current && (K.current = u.current.editor.createDiffEditor(F.current, { automaticLayout: !0, ...y }), o(), (p = u.current) == null || p.editor.setTheme(d), S(!0), D.current = !0);
}, [y, d, o]);
f(() => {
M && C.current(K.current, u.current);
}, [M]), f(() => {
!z && !M && t();
}, [z, M, t]);
function x() {
var j, T, v, E;
let p = (j = K.current) == null ? void 0 : j.getModel();
W || ((T = p == null ? void 0 : p.original) == null || T.dispose()), L || ((v = p == null ? void 0 : p.modified) == null || v.dispose()), (E = K.current) == null || E.dispose();
}
return LZ.createElement(Ii, { width: V, height: G, isEditorReady: M, loading: X, _ref: F, className: s, wrapperProps: R });
}
var yI = LI;
Dm(yI);
function YI(l) {
let Z = B();
return f(() => {
Z.current = l;
}, [l]), Z.current;
}
var GI = YI, Bl = /* @__PURE__ */ new Map();
function VI({ defaultValue: l, defaultLanguage: Z, defaultPath: m, value: c, language: i, path: b, theme: I = "light", line: W, loading: L = "Loading...", options: d = {}, overrideServices: X = {}, saveViewState: y = !0, keepCurrentModel: G = !1, width: V = "100%", height: s = "100%", className: R, wrapperProps: h = {}, beforeMount: N = zl, onMount: M = zl, onChange: S, onValidate: z = zl }) {
let [a, K] = lZ(!1), [u, F] = lZ(!0), C = B(null), w = B(null), D = B(null), o = B(M), t = B(N), x = B(), p = B(c), j = GI(b), T = B(!1), v = B(!1);
Wi(() => {
let U = gm.init();
return U.then((e) => (C.current = e) && F(!1)).catch((e) => (e == null ? void 0 : e.type) !== "cancelation" && console.error("Monaco initialization: error:", e)), () => w.current ? iZ() : U.cancel();
}), uZ(() => {
var e, Q, r, P;
let U = dl(C.current, l || c || "", Z || i || "", b || m || "");
U !== ((e = w.current) == null ? void 0 : e.getModel()) && (y && Bl.set(j, (Q = w.current) == null ? void 0 : Q.saveViewState()), (r = w.current) == null || r.setModel(U), y && ((P = w.current) == null || P.restoreViewState(Bl.get(b))));
}, [b], a), uZ(() => {
var U;
(U = w.current) == null || U.updateOptions(d);
}, [d], a), uZ(() => {
!w.current || c === void 0 || (w.current.getOption(C.current.editor.EditorOption.readOnly) ? w.current.setValue(c) : c !== w.current.getValue() && (v.current = !0, w.current.executeEdits("", [{ range: w.current.getModel().getFullModelRange(), text: c, forceMoveMarkers: !0 }]), w.current.pushUndoStop(), v.current = !1));
}, [c], a), uZ(() => {
var e, Q;
let U = (e = w.current) == null ? void 0 : e.getModel();
U && i && ((Q = C.current) == null || Q.editor.setModelLanguage(U, i));
}, [i], a), uZ(() => {
var U;
W !== void 0 && ((U = w.current) == null || U.revealLine(W));
}, [W], a), uZ(() => {
var U;
(U = C.current) == null || U.editor.setTheme(I);
}, [I], a);
let E = ll(() => {
var U;
if (!(!D.current || !C.current) && !T.current) {
t.current(C.current);
let e = b || m, Q = dl(C.current, c || l || "", Z || i || "", e || "");
w.current = (U = C.current) == null ? void 0 : U.editor.create(D.current, { model: Q, automaticLayout: !0, ...d }, X), y && w.current.restoreViewState(Bl.get(e)), C.current.editor.setTheme(I), W !== void 0 && w.current.revealLine(W), K(!0), T.current = !0;
}
}, [l, Z, m, c, i, b, d, X, y, I, W]);
f(() => {
a && o.current(w.current, C.current);
}, [a]), f(() => {
!u && !a && E();
}, [u, a, E]), p.current = c, f(() => {
var U, e;
a && S && ((U = x.current) == null || U.dispose(), x.current = (e = w.current) == null ? void 0 : e.onDidChangeModelContent((Q) => {
v.current || S(w.current.getValue(), Q);
}));
}, [a, S]), f(() => {
if (a) {
let U = C.current.editor.onDidChangeMarkers((e) => {
var r;
let Q = (r = w.current.getModel()) == null ? void 0 : r.uri;
if (Q && e.find((P) => P.path === Q.path)) {
let P = C.current.editor.getModelMarkers({ resource: Q });
z == null || z(P);
}
});
return () => {
U == null || U.dispose();
};
}
return () => {
};
}, [a, z]);
function iZ() {
var U, e;
(U = x.current) == null || U.dispose(), G ? y && Bl.set(b, w.current.saveViewState()) : (e = w.current.getModel()) == null || e.dispose(), w.current.dispose();
}
return LZ.createElement(Ii, { width: V, height: s, isEditorReady: a, loading: L, _ref: D, className: R, wrapperProps: h });
}
var uI = VI, JI = Dm(uI), di = JI;
const Li = {
automaticLayout: !0,
cursorBlinking: "smooth",
fontLigatures: !0,
formatOnPaste: !0,
formatOnType: !0,
fontSize: 14,
showDeprecated: !0,
showUnused: !0,
showFoldingControls: "mouseover",
scrollBeyondLastLine: !1,
minimap: {
enabled: !1
},
inlineSuggest: {
enabled: !1
},
fixedOverflowWidgets: !0,
smoothScrolling: !0,
smartSelect: {
selectSubwords: !0,
selectLeadingAndTrailingWhitespace: !0
},
tabSize: 2,
overviewRulerBorder: !1,
// 不要滚动条的边框
// 滚动条设置
scrollbar: {
verticalScrollbarSize: 6,
// 竖滚动条
horizontalScrollbarSize: 6
// 横滚动条
}
// lineNumbers: 'off', // 隐藏控制行号
};
var NI = `/******************************************************************************\r
Copyright (c) Microsoft Corporation.\r
\r
Permission to use, copy, modify, and/or distribute this software for any\r
purpose with or without fee is hereby granted.\r
\r
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r
PERFORMANCE OF THIS SOFTWARE.\r
***************************************************************************** */\r
\r
var __assign = function() {\r
__assign = Object.assign || function __assign(t) {\r
for (var s, i = 1, n = arguments.length; i < n; i++) {\r
s = arguments[i];\r
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r
}\r
return t;\r
};\r
return __assign.apply(this, arguments);\r
};
var getTypescriptUrl=function(){var t="https://cdnjs.cloudflare.com/ajax/libs/typescript/4.6.4/typescript.min.js";try{return __TYPESCRIPT_CUSTOM_URL__||t}catch(r){return t}};self.importScripts([getTypescriptUrl()]);var Typescript=self.ts;
var JsxToken={angleBracket:"jsx-tag-angle-bracket",attributeKey:"jsx-tag-attribute-key",tagName:"jsx-tag-name",expressionBraces:"jsx-expression-braces",text:"jsx-text",orderTokenPrefix:"jsx-tag-order"};
var getRowAndColumn=function(n,o){for(var t=0,e=0;e+o[t]<n;)e+=o[t],t+=1;return {row:t+1,column:n-e}};var getNodeRange=function(n){return "function"==typeof n.getStart&&"function"==typeof n.getEnd?[n.getStart(),n.getEnd()]:void 0!==n.pos&&void 0!==n.end?[n.pos,n.end]:[0,0]};var calcPosition=function(n,o){var t=getNodeRange(n),e=t[0],r=t[1];return {indexes:[e,r],positions:[getRowAndColumn(e+1,o),getRowAndColumn(r,o)]}};
var disposeJsxElementOrFragment=function(n){var s=n.node,e=n.lines,t=n.classifications,o=n.config,a=n.context,i="".concat(JsxToken.orderTokenPrefix,"-").concat(a.jsxTagOrder);if(a.jsxTagOrder=a.jsxTagOrder+1>o.jsxTagCycle?1:a.jsxTagOrder+1,s.kind===Typescript.SyntaxKind.JsxSelfClosingElement){var r=calcPosition(s,e).positions,c=calcPosition(s.tagName,e).positions;t.push({start:r[0],end:r[0],tokens:[JsxToken.angleBracket,i]}),t.push({start:__assign(__assign({},r[1]),{column:r[1].column-1}),end:r[1],tokens:[JsxToken.angleBracket,i]}),t.push({start:c[0],end:c[1],tokens:[JsxToken.tagName,i]});}else {var p=s.kind===Typescript.SyntaxKind.JsxFragment?s.openingFragment:s.openingElement,g=s.kind===Typescript.SyntaxKind.JsxFragment?s.closingFragment:s.closingElement,l=calcPosition(p,e).positions,k=calcPosition(g,e).positions;if(t.push({start:l[0],end:l[0],tokens:[JsxToken.angleBracket,i]}),t.push({start:l[1],end:l[1],tokens:[JsxToken.angleBracket,i]}),t.push({start:k[0],end:__assign(__assign({},k[0]),{column:k[0].column+1}),tokens:[JsxToken.angleBracket,i]}),t.push({start:k[1],end:k[1],tokens:[JsxToken.angleBracket,i]}),s.kind===Typescript.SyntaxKind.JsxElement){var m=calcPosition(p.tagName,e).positions,x=calcPosition(g.tagName,e).positions;t.push({start:m[0],end:m[1],tokens:[JsxToken.tagName,i]}),t.push({start:x[0],end:x[1],tokens:[JsxToken.tagName,i]});}}};
var disposeJsxAttributeKey=function(o){var t=o.node,i=o.lines,s=o.classifications,e=calcPosition(t,i).positions;s.push({start:e[0],end:e[1],tokens:[JsxToken.attributeKey]});};
var disposeJsxExpression=function(s){var o=s.node,e=s.lines,n=s.classifications,i=calcPosition(o,e).positions;n.push({start:i[0],end:i[0],tokens:[JsxToken.expressionBraces]}),n.push({start:i[1],end:i[1],tokens:[JsxToken.expressionBraces]});};
var disposeJsxText=function(o){var s=o.node,i=o.lines,t=o.classifications,n=calcPosition(s,i).positions;t.push({start:n[0],end:n[1],tokens:[JsxToken.text]});};
var disposeNode=function(e){var s=e.node,i=e.index;[Typescript.SyntaxKind.JsxFragment,Typescript.SyntaxKind.JsxElement,Typescript.SyntaxKind.JsxSelfClosingElement].includes(s.kind)&&disposeJsxElementOrFragment(e),s.parent&&s.parent.kind===Typescript.SyntaxKind.JsxAttribute&&s.kind===Typescript.SyntaxKind.Identifier&&0===i&&disposeJsxAttributeKey(e),s.kind===Typescript.SyntaxKind.JsxExpression&&disposeJsxExpression(e),s.kind===Typescript.SyntaxKind.JsxText&&disposeJsxText(e);},walkAST=function(e){disposeNode(e);var s=0;Typescript.forEachChild(e.node,(function(i){return walkAST(__assign(__assign({},e),{node:i,index:s++}))}));},withDefaultConfig=function(e){var s=(e||{}).jsxTagCycle;return {jsxTagCycle:void 0===s?3:s}};var analysis=function(e,s,i){try{var t=[],n=Typescript.createSourceFile(e,s,Typescript.ScriptTarget.ES2020,!0),r=s.split("\\n").map((function(e){return e.length+1}));return walkAST({node:n,lines:r,context:{jsxTagOrder:1},classifications:t,config:withDefaultConfig(i),index:0}),t}catch(e){return (null==i?void 0:i.enableConsole)&&console.error(e),[]}};
self.addEventListener("message",(function(s){var a=s.data,e=a.code,i=a.filePath,n=a.version,o=a.config;try{var l=analysis(i,e,o);self.postMessage({classifications:l,version:n,filePath:i});}catch(s){(null==o?void 0:o.enableConsole)&&console.error(s);}}));
`, hI = {
worker: NI
}, MI = function() {
return hI;
}, sI = (
/** @class */
function() {
function l(Z, m, c) {
var i = this;
this.createWorkerFromPureString = function(b, I) {
window.URL = window.URL || window.webkitURL;
var W;
b = b.replace("__TYPESCRIPT_CUSTOM_URL__", I != null && I.customTypescriptUrl ? "'".concat(I == null ? void 0 : I.customTypescriptUrl, "'") : "undefined");
try {
W = new Blob([b], { type: "application/javascript" });
} catch {
window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder, W = new window.BlobBuilder(), W.append(b), W = W.getBlob();
}
var L = new Worker(URL.createObjectURL(W));
return URL.revokeObjectURL(W), L;
}, this.highlighterBuilder = function(b) {
var I = b.editor, W = b.filePath, L = W === void 0 ? I.getModel().uri.toString() : W, d = { current: [] }, X = function(y) {
var G = y.data, V = G.classifications, s = G.version, R = G.filePath;
requestAnimationFrame(function() {
if (R === L && s === I.getModel().getVersionId()) {
var h = d.current;
d.current = I.deltaDecorations(h, V.map(function(N) {
return {
range: new i.monaco.Range(N.start.row, N.start.column, N.end.row, N.end.column + 1),
options: {
inlineClassName: N.tokens.join(" ")
}
};
}));
}
});
};
return i.worker.addEventListener("message", X), {
highlighter: function(y) {
requestAnimationFrame(function() {
var G = y || I.getModel().getValue();
i.worker.postMessage({
code: G,
filePath: L,
version: I.getModel().getVersionId()
});
});
},
dispose: function() {
i.worker.removeEventListener("message", X);
}
};
}, this.monaco = m, typeof Z == "string" ? this.worker = new Worker(Z) : Z.worker && typeof Z.worker == "string" ? this.worker = this.createWorkerFromPureString(Z.worker, c) : this.worker = Z;
}
return l;
}()
), SI = Object.defineProperty, RI = Object.defineProperties, pI = Object.getOwnPropertyDescriptors, sc = Object.getOwnPropertySymbols, zI = Object.prototype.hasOwnProperty, FI = Object.prototype.propertyIsEnumerable, Sc = (l, Z, m) => Z in l ? SI(l, Z, { enumerable: !0, configurable: !0, writable: !0, value: m }) : l[Z] = m, yi = (l, Z) => {
for (var m in Z || (Z = {}))
zI.call(Z, m) && Sc(l, m, Z[m]);
if (sc)
for (var m of sc(Z))
FI.call(Z, m) && Sc(l, m, Z[m]);
return l;
}, Yi = (l, Z) => RI(l, pI(Z)), Cl = (l, Z, m) => new Promise((c, i) => {
var b = (L) => {
try {
W(m.next(L));
} catch (d) {
i(d);
}
}, I = (L) => {
try {
W(m.throw(L));
} catch (d) {
i(d);
}
}, W = (L) => L.done ? c(L.value) : Promise.resolve(L.value).then(b, I);
W((m = m.apply(l, Z)).next());
}), nI = (l, Z) => {
const m = `https://data.jsdelivr.com/v1/package/npm/${Z}`;
return Qm(l, m, { cache: "no-store" });
}, CI = (l, Z, m) => {
const c = `https://data.jsdelivr.com/v1/package/resolve/npm/${Z}@${m}`;
return Qm(l, c);
}, kI = (l, Z, m) => Cl(void 0, null, function* () {
const c = `https://data.jsdelivr.com/v1/package/npm/${Z}@${m}/flat`, i = yield Qm(l, c);
return i instanceof Error ? i : Yi(yi({}, i), {
moduleName: Z,
version: m
});
}), Rc = (l, Z, m, c) => Cl(void 0, null, function* () {
const i = `https://cdn.jsdelivr.net/npm/${Z}@${m}${c}`, I = yield (l.fetcher || fetch)(i);
return I.ok ? I.text() : new Error("OK");
});
function Qm(l, Z, m) {
return (l.fetcher || fetch)(Z, m).then((i) => i.ok ? i.json().then((b) => b) : new Error("OK"));
}
var wI = (l) => {
const Z = [
"assert",
"assert/strict",
"async_hooks",
"buffer",
"child_process",
"cluster",
"console",
"constants",
"crypto",
"dgram",
"diagnostics_channel",
"dns",
"dns/promises",
"domain",
"events",
"fs",
"fs/promises",
"http",
"http2",
"https",
"inspector",
"inspector/promises",
"module",
"net",
"os",
"path",
"path/posix",
"path/win32",
"perf_hooks",
"process",
"punycode",
"querystring",
"readline",
"repl",
"stream",
"stream/promises",
"stream/consumers",
"stream/web",
"string_decoder",
"sys",
"timers",
"timers/promises",
"tls",
"trace_events",
"tty",
"url",
"util",
"util/types",
"v8",
"vm",
"wasi",
"worker_threads",
"zlib"
];
if (l.indexOf("node:") === 0 || Z.includes(l))
return "node";
const [m = "", c = ""] = l.split("/");
return m.startsWith("@") ? `${m}/${c}` : m;
}, xI = (l) => {
const Z = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map();
let c = 0, i = 0;
return (I) => (c = 0, i = 0, b(I, 0).then((W) => {
var L, d;
i > 0 && ((d = (L = l.delegate).finished) == null || d.call(L, m));
}));
function b(I, W) {
return Cl(this, null, function* () {
var L, d, X, y, G;
const V = UI(l, Z, I);
V.forEach((u) => Z.set(u.module, { state: "loading" }));
const R = (yield Promise.all(V.map((u) => zc(l, u.module, u.version)))).filter((u) => !("error" in u)), h = R.filter((u) => u.files.find((F) => Om(F.name))), N = h.map((u) => pc(u, `/node_modules/${u.moduleName}`)), M = R.filter((u) => !h.includes(u)), z = (yield Promise.all(
// TODO: Switch from 'latest' to the version from the original tree which is user-controlled
M.map((u) => zc(l, `@types/${Nm(u.moduleName)}`, "latest"))
)).filter((u) => !("error" in u)), a = z.map((u) => pc(u, `/node_modules/@types/${Nm(u.moduleName).replace("types__", "")}`)), K = N.concat(a).reduce((u, F) => u.concat(F), []);
c += K.length, K.length && W === 0 && ((d = (L = l.delegate).started) == null || d.call(L));
for (const u of R) {
let F = `/node_modules/${u.moduleName}`;
z.includes(u) && (F = `/node_modules/@types/${Nm(u.moduleName).replace("types__", "")}`);
const C = F + "/package.json", w = yield Rc(l, u.moduleName, u.version, "/package.json");
typeof w == "string" ? (m.set(C, w), (y = (X = l.delegate).receivedFile) == null || y.call(X, w, C)) : (G = l.logger) == null || G.error(`Could not download package.json for ${u.moduleName}`);
}
yield Promise.all(
K.map((u) => Cl(this, null, function* () {
var F, C, w;
const D = yield Rc(l, u.moduleName, u.moduleVersion, u.path);
i++, D instanceof Error ? (F = l.logger) == null || F.error(`Had an issue getting ${u.path} for ${u.moduleName}`) : (m.set(u.vfsPath, D), (w = (C = l.delegate).receivedFile) == null || w.call(C, D, u.vfsPath), l.delegate.progress && i % 5 === 0 && l.delegate.progress(i, c), yield b(D, W + 1));
}))
);
});
}
};
function pc(l, Z) {
const m = [];
for (const c of l.files)
Om(c.name) && m.push({
moduleName: l.moduleName,
moduleVersion: l.version,
vfsPath: `${Z}${c.name}`,
path: c.name
});
return m;
}
var aI = (l, Z) => {
const m = l.preProcessFile(Z), c = l.libMap || /* @__PURE__ */ new Map();
return m.referencedFiles.concat(m.importedFiles).concat(m.libReferenceDirectives).filter((b) => !Om(b.fileName)).filter((b) => !c.has(b.fileName)).map((b) => {
let I;
if (!b.fileName.startsWith(".")) {
I = "latest";
const W = Z.slice(b.end).split(`
`)[0];
W.includes("// types:") && (I = W.split("// types: ")[1].trim());
}
return {
module: b.fileName,
version: I
};
});
};
function UI(l, Z, m) {
return aI(l.typescript, m).map((b) => Yi(yi({}, b), {
module: wI(b.module)
})).filter((b) => !b.module.startsWith(".")).filter((b) => !Z.has(b.module));
}
var zc = (l, Z, m) => Cl(void 0, null, function* () {
let c = m || "latest";
if (c.split(".").length < 2) {
const b = yield CI(l, Z, c);
if (b instanceof Error)
return {
error: b,
userFacingMessage: `Could not go from a tag to version on npm for ${Z} - possible typo?`
};
const I = b.version;
if (!I) {
const W = yield nI(l, Z);
if (W instanceof Error)
return {
error: b,
userFacingMessage: `Could not get versions on npm for ${Z} - possible typo?`
};
const L = Object.entries(W.tags).join(", ");
return {
error: new Error("Could not find tag for module"),
userFacingMessage: `Could not find a tag for ${Z} called ${m}. Did find ${L}`
};
}
c = I;
}
const i = yield kI(l, Z, c);
return i instanceof Error ? {
error: i,
userFacingMessage: `Could not get the files for ${Z}@${c}. Is it possibly a typo?`
} : i;
});
function Nm(l) {
return l.indexOf("@") === 0 && l.indexOf("/") !== -1 && (l = l.substr(1).replace("/", "__")), l;
}
function Om(l) {
return /\.d\.([^\.]+\.)?[cm]?ts$/i.test(l);
}
const QZ = jI();
function jI() {
return {
receivedFile: /* @__PURE__ */ new Set(),
progress: /* @__PURE__ */ new Set(),
errorMessage: /* @__PURE__ */ new Set(),
finished: /* @__PURE__ */ new Set(),
started: /* @__PURE__ */ new Set()
};
}
async function TI() {
const l = await import("https://esm.sh/typescript@5.2.2"), Z = xI({
projectName: "monaco-ts",
typescript: l,
logger: console,
fetcher(b, I) {
let W;
try {
W = fetch(b, I);
} catch (L) {
console.error("Error fetching data:", L);
}
return W;
},
delegate: {
receivedFile: (b, I) => {
QZ.receivedFile.forEach((W) => W(b, I));
},
progress: (b, I) => {
QZ.progress.forEach((W) => W(b, I));
},
started: () => {
QZ.started.forEach((b) => b());
},
finished: (b) => {
QZ.finished.forEach((I) => I(b));
}
}
});
return {
acquireType: (b) => Z(b),
addListener: (b, I) => {
QZ[b].add(I);
},
removeListener: (b, I) => {
QZ[b].delete(I);
},
dispose: () => {
for (const b in QZ)
QZ[b].clear();
}
};
}
const HI = () => ({
autoLoadExtraLib: async (c, i, b, I) => {
const W = await TI();
I(W), c.onDidChangeModelContent(() => {
W.acquireType(c.getValue());
});
const L = (d, X) => {
i.languages.typescript.typescriptDefaults.addExtraLib(d, `file://${X}`);
};
return W.addListener("receivedFile", L), W.acquireType(b), W;
},
doOpenEditor: (c, i) => {
const b = i.options ? i.options.selection : null;
if (b)
if (typeof b.endLineNumber == "number" && typeof b.endColumn == "number")
c.setSelection(b), c.revealRangeInCenter(
b,
1
/* Immediate */
);
else {
const I = {
lineNumber: b.startLineNumber,
column: b.startColumn
};
c.setPosition(I), c.revealPositionInCenter(
I,
1
/* Immediate */
);
}
console.log("触发鼠标+command点击", i.resource, b);
},
loadJsxSyntaxHighlight: (c, i) => {
const b = new sI(MI(), i), { highlighter: I, dispose: W } = b.highlighterBuilder({
editor: c
});
return c.onDidChangeModelContent(() => {
I();
}), I(), { highlighter: I, dispose: W };
}
}), KI = () => {
const [l, Z] = lZ(0), [m, c] = lZ(0), [i, b] = lZ(!1);
return { progress: l, total: m, finished: i, onWatch: (W) => {
const L = (y, G) => {
Z(y), c(G);
};
W.addListener("progress", L);
cons