@univerjs/uniscript 0.1.11 → 0.1.13
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/cjs/index.js +2 -2
- package/lib/es/index.js +143 -185
- package/lib/locale/en-US.json +17 -0
- package/lib/locale/ru-RU.json +17 -0
- package/lib/locale/zh-CN.json +17 -0
- package/lib/types/controllers/uniscript.controller.d.ts +9 -2
- package/lib/types/index.d.ts +2 -2
- package/lib/types/plugin.d.ts +6 -4
- package/lib/types/services/script-editor.service.d.ts +2 -4
- package/lib/types/services/script-execution.service.d.ts +6 -2
- package/lib/umd/index.js +2 -2
- package/package.json +22 -14
- package/lib/types/locale/index.d.ts +0 -18
package/lib/cjs/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
"use strict";var F=Object.defineProperty;var B=(
|
1
|
+
"use strict";var F=Object.defineProperty;var B=(r,e,t)=>e in r?F(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var f=(r,e,t)=>(B(r,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),l=require("@wendellhu/redi"),u=require("@univerjs/ui"),D=require("rxjs"),d=require("react"),O=require("@univerjs/design"),v=require("@wendellhu/redi/react-bindings"),V=require("monaco-editor"),k=require("@univerjs/facade"),z=require("@univerjs/sheets-ui"),h=require("@univerjs/sheets");class T extends o.Disposable{constructor(){super(...arguments);f(this,"_open$",new D.BehaviorSubject(!1));f(this,"open$",this._open$.pipe(D.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const M="ScriptPanel",q={type:o.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:r=>{const e=r.get(T),t=r.get(u.ISidebarService);return e.isOpen?(e.close(),t.close()):(e.open(),t.open({header:{title:"script-panel.title"},children:{label:M},width:600})),!0}};var N={exports:{}},b={};/**
|
2
2
|
* @license React
|
3
3
|
* react-jsx-runtime.production.min.js
|
4
4
|
*
|
@@ -6,4 +6,4 @@
|
|
6
6
|
*
|
7
7
|
* This source code is licensed under the MIT license found in the
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
|
-
*/var
|
9
|
+
*/var H=d,G=Symbol.for("react.element"),J=Symbol.for("react.fragment"),Y=Object.prototype.hasOwnProperty,K=H.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Q={key:!0,ref:!0,__self:!0,__source:!0};function W(r,e,t){var n,i={},s=null,c=null;t!==void 0&&(s=""+t),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(c=e.ref);for(n in e)Y.call(e,n)&&!Q.hasOwnProperty(n)&&(i[n]=e[n]);if(r&&r.defaultProps)for(n in e=r.defaultProps,e)i[n]===void 0&&(i[n]=e[n]);return{$$typeof:G,type:r,key:s,ref:c,props:i,_owner:K.current}}b.Fragment=J;b.jsx=W;b.jsxs=W;N.exports=b;var g=N.exports;class I extends o.Disposable{constructor(t){super();f(this,"_editorInstance",null);this._config=t}setEditorInstance(t){return this._editorInstance=t,o.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var X=Object.defineProperty,Z=Object.getOwnPropertyDescriptor,ee=(r,e,t,n)=>{for(var i=n>1?void 0:n?Z(e,t):e,s=r.length-1,c;s>=0;s--)(c=r[s])&&(i=(n?c(e,t,i):c(i))||i);return n&&i&&X(e,t,i),i},$=(r,e)=>(t,n)=>e(t,n,r);const C=l.createIdentifier("univer.uniscript.execution-service");let j=class extends o.Disposable{constructor(r,e){super(),this._logService=r,this._injector=e}async execute(r){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=k.FUniver.newAPI(this._injector),t=new Function("univerAPI",`(() => {${r}})()`);try{return t(e),!0}catch(n){return this._logService.error(n),!1}}};j=ee([$(0,o.ILogService),$(1,l.Inject(l.Injector))],j);const te="univer-script-editor-panel",re="univer-script-editor-content",ne="univer-script-editor-actions",P={scriptEditorPanel:te,scriptEditorContent:re,scriptEditorActions:ne};function ie(){const r=d.useRef(null),e=d.useRef(null),t=d.useRef(null),n=v.useDependency(o.LocaleService),i=v.useDependency(u.IShortcutService),s=v.useDependency(I);d.useEffect(()=>{const U=e.current,_=r.current;let a=null,E=null;if(U&&_){s.requireVscodeEditor();const m=t.current=V.editor.create(U,{value:"",language:"javascript"});E=new ResizeObserver(()=>{let w=requestIdleCallback(()=>{if(!w)return;const{height:L,width:A}=_.getBoundingClientRect();m.layout({width:A,height:L}),w=void 0})}),E.observe(_);let p;a=new o.DisposableCollection,a.add(s.setEditorInstance(m)),a.add(m.onDidFocusEditorWidget(()=>{p=i.forceEscape()})),a.add(m.onDidBlurEditorWidget(()=>{p==null||p.dispose(),p=void 0})),a.add(o.toDisposable(()=>p==null?void 0:p.dispose()))}return()=>{E&&_&&E.unobserve(_),a==null||a.dispose()}},[s,i]);const c=se(t);return g.jsxs("div",{className:P.scriptEditorPanel,children:[g.jsx("div",{className:P.scriptEditorContent,ref:r,children:g.jsx("div",{className:P.scriptEditorContainer,ref:e})}),g.jsx("div",{className:P.scriptEditorActions,children:g.jsx(O.Button,{type:"primary",size:"small",onClick:c,children:n.t("script-panel.panel.execute")})})]})}function se(r){const e=v.useDependency(C),t=v.useDependency(u.IMessageService),n=v.useDependency(o.LocaleService);return d.useCallback(()=>{var s;const i=(s=r.current)==null?void 0:s.getModel();i&&e.execute(i.getValue()).then(()=>{t.show({content:n.t("uniscript.message.success"),type:O.MessageType.Success})}).catch(()=>{t.show({content:n.t("uniscript.message.failed"),type:O.MessageType.Error})})},[n,t,r,e])}function oe(r){return{id:q.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:u.MenuItemType.BUTTON,positions:[u.MenuPosition.TOOLBAR_START],hidden$:u.getMenuHiddenObservable(r,o.UniverInstanceType.UNIVER_SHEET),disabled$:z.getCurrentRangeDisable$(r,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission,h.WorksheetSetCellValuePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}var ce=Object.defineProperty,le=Object.getOwnPropertyDescriptor,ae=(r,e,t,n)=>{for(var i=n>1?void 0:n?le(e,t):e,s=r.length-1,c;s>=0;s--)(c=r[s])&&(i=(n?c(e,t,i):c(i))||i);return n&&i&&ce(e,t,i),i},y=(r,e)=>(t,n)=>e(t,n,r);const pe={};let S=class extends o.Disposable{constructor(r,e,t,n,i){super(),this._config=r,this._injector=e,this._menuService=t;const{menu:s={}}=this._config;this.disposeWithMe(t.addMenuItem(this._injector.invoke(oe),s)),this.disposeWithMe(i.register(M,ie)),this.disposeWithMe(n.registerCommand(q))}};S=ae([o.OnLifecycle(o.LifecycleStages.Steady,S),y(1,l.Inject(l.Injector)),y(2,u.IMenuService),y(3,o.ICommandService),y(4,l.Inject(u.ComponentManager))],S);var ue=Object.defineProperty,de=Object.getOwnPropertyDescriptor,ve=(r,e,t,n)=>{for(var i=n>1?void 0:n?de(e,t):e,s=r.length-1,c;s>=0;s--)(c=r[s])&&(i=(n?c(e,t,i):c(i))||i);return n&&i&&ue(e,t,i),i},R=(r,e)=>(t,n)=>e(t,n,r);const _e="uniscript";var x;exports.UniverUniscriptPlugin=(x=class extends o.Plugin{constructor(e={},t,n){super(),this._config=e,this._injector=t,this._localeService=n,this._config=o.Tools.deepMerge({},pe,this._config)}onStarting(e){[[S,{useFactory:()=>e.createInstance(S,this._config)}],[I,{useFactory:()=>e.createInstance(I,this._config)}],[T]].forEach(n=>e.add(n)),this.registerExecution()}registerExecution(){this._injector.add([C,{useClass:j}])}},f(x,"pluginName",_e),x);exports.UniverUniscriptPlugin=ve([R(1,l.Inject(l.Injector)),R(2,l.Inject(o.LocaleService))],exports.UniverUniscriptPlugin);exports.IUniscriptExecutionService=C;exports.ScriptEditorService=I;
|
package/lib/es/index.js
CHANGED
@@ -1,69 +1,22 @@
|
|
1
|
-
var
|
2
|
-
var q = (t, e, r) => e in t ?
|
1
|
+
var V = Object.defineProperty;
|
2
|
+
var q = (t, e, r) => e in t ? V(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
|
3
3
|
var u = (t, e, r) => (q(t, typeof e != "symbol" ? e + "" : e, r), r);
|
4
|
-
import { Disposable as
|
5
|
-
import { Inject as
|
6
|
-
import { ISidebarService as
|
7
|
-
import { BehaviorSubject as
|
8
|
-
import
|
9
|
-
import { Button as
|
4
|
+
import { Disposable as S, CommandType as k, toDisposable as U, ILogService as z, LocaleService as I, DisposableCollection as H, UniverInstanceType as G, OnLifecycle as J, LifecycleStages as Y, ICommandService as K, Plugin as Q, Tools as X } from "@univerjs/core";
|
5
|
+
import { createIdentifier as Z, Inject as f, Injector as b } from "@wendellhu/redi";
|
6
|
+
import { ISidebarService as ee, IShortcutService as te, IMessageService as re, MenuItemType as ie, MenuPosition as ne, getMenuHiddenObservable as oe, ComponentManager as se, IMenuService as ce } from "@univerjs/ui";
|
7
|
+
import { BehaviorSubject as le, distinctUntilChanged as pe } from "rxjs";
|
8
|
+
import ae, { useRef as P, useEffect as ue, useCallback as de } from "react";
|
9
|
+
import { Button as ve, MessageType as j } from "@univerjs/design";
|
10
10
|
import { useDependency as p } from "@wendellhu/redi/react-bindings";
|
11
|
-
import { editor as
|
12
|
-
import { FUniver as
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
tooltip: {
|
17
|
-
"menu-button": "Toggle Uniscript Panel"
|
18
|
-
},
|
19
|
-
panel: {
|
20
|
-
execute: "Execute Script"
|
21
|
-
}
|
22
|
-
},
|
23
|
-
uniscript: {
|
24
|
-
message: {
|
25
|
-
success: "Execution Success",
|
26
|
-
failed: "Execution Failed"
|
27
|
-
}
|
28
|
-
}
|
29
|
-
}, Ke = ve, fe = {
|
30
|
-
"script-panel": {
|
31
|
-
title: "Uniscript",
|
32
|
-
tooltip: {
|
33
|
-
"menu-button": "打开收起 Uniscript 面板"
|
34
|
-
},
|
35
|
-
panel: {
|
36
|
-
execute: "执行 Uniscript"
|
37
|
-
}
|
38
|
-
},
|
39
|
-
uniscript: {
|
40
|
-
message: {
|
41
|
-
success: "执行成功",
|
42
|
-
failed: "执行失败"
|
43
|
-
}
|
44
|
-
}
|
45
|
-
}, _e = fe, me = {
|
46
|
-
"script-panel": {
|
47
|
-
title: "Юнискрипт",
|
48
|
-
tooltip: {
|
49
|
-
"menu-button": "Переключить панель Юнискрипт"
|
50
|
-
},
|
51
|
-
panel: {
|
52
|
-
execute: "Выполнить скрипт"
|
53
|
-
}
|
54
|
-
},
|
55
|
-
uniscript: {
|
56
|
-
message: {
|
57
|
-
success: "Выполнение успешно",
|
58
|
-
failed: "Выполнение не удалось"
|
59
|
-
}
|
60
|
-
}
|
61
|
-
}, Qe = me;
|
62
|
-
class T extends E {
|
11
|
+
import { editor as fe } from "monaco-editor";
|
12
|
+
import { FUniver as _e } from "@univerjs/facade";
|
13
|
+
import { getCurrentRangeDisable$ as me } from "@univerjs/sheets-ui";
|
14
|
+
import { WorkbookEditablePermission as he, WorksheetEditPermission as ge, WorksheetSetCellStylePermission as Se, WorksheetSetCellValuePermission as Ee, RangeProtectionPermissionEditPoint as Pe } from "@univerjs/sheets";
|
15
|
+
class M extends S {
|
63
16
|
constructor() {
|
64
17
|
super(...arguments);
|
65
|
-
u(this, "_open$", new
|
66
|
-
u(this, "open$", this._open$.pipe(
|
18
|
+
u(this, "_open$", new le(!1));
|
19
|
+
u(this, "open$", this._open$.pipe(pe()));
|
67
20
|
}
|
68
21
|
get isOpen() {
|
69
22
|
return this._open$.getValue();
|
@@ -78,19 +31,19 @@ class T extends E {
|
|
78
31
|
this._open$.next(!1);
|
79
32
|
}
|
80
33
|
}
|
81
|
-
const
|
82
|
-
type:
|
34
|
+
const D = "ScriptPanel", N = {
|
35
|
+
type: k.OPERATION,
|
83
36
|
id: "univer.operation.toggle-script-panel",
|
84
37
|
handler: (t) => {
|
85
|
-
const e = t.get(
|
38
|
+
const e = t.get(M), r = t.get(ee);
|
86
39
|
return e.isOpen ? (e.close(), r.close()) : (e.open(), r.open({
|
87
40
|
header: { title: "script-panel.title" },
|
88
|
-
children: { label:
|
41
|
+
children: { label: D },
|
89
42
|
width: 600
|
90
43
|
})), !0;
|
91
44
|
}
|
92
45
|
};
|
93
|
-
var
|
46
|
+
var W = { exports: {} }, E = {};
|
94
47
|
/**
|
95
48
|
* @license React
|
96
49
|
* react-jsx-runtime.production.min.js
|
@@ -100,30 +53,30 @@ var A = { exports: {} }, x = {};
|
|
100
53
|
* This source code is licensed under the MIT license found in the
|
101
54
|
* LICENSE file in the root directory of this source tree.
|
102
55
|
*/
|
103
|
-
var
|
104
|
-
function
|
105
|
-
var
|
106
|
-
r !== void 0 && (
|
107
|
-
for (
|
108
|
-
|
56
|
+
var ye = ae, xe = Symbol.for("react.element"), Oe = Symbol.for("react.fragment"), Ie = Object.prototype.hasOwnProperty, be = ye.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Ce = { key: !0, ref: !0, __self: !0, __source: !0 };
|
57
|
+
function A(t, e, r) {
|
58
|
+
var i, n = {}, o = null, s = null;
|
59
|
+
r !== void 0 && (o = "" + r), e.key !== void 0 && (o = "" + e.key), e.ref !== void 0 && (s = e.ref);
|
60
|
+
for (i in e)
|
61
|
+
Ie.call(e, i) && !Ce.hasOwnProperty(i) && (n[i] = e[i]);
|
109
62
|
if (t && t.defaultProps)
|
110
|
-
for (
|
111
|
-
i
|
112
|
-
return { $$typeof:
|
63
|
+
for (i in e = t.defaultProps, e)
|
64
|
+
n[i] === void 0 && (n[i] = e[i]);
|
65
|
+
return { $$typeof: xe, type: t, key: o, ref: s, props: n, _owner: be.current };
|
113
66
|
}
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
var d =
|
119
|
-
class
|
67
|
+
E.Fragment = Oe;
|
68
|
+
E.jsx = A;
|
69
|
+
E.jsxs = A;
|
70
|
+
W.exports = E;
|
71
|
+
var d = W.exports;
|
72
|
+
class x extends S {
|
120
73
|
constructor(r) {
|
121
74
|
super();
|
122
75
|
u(this, "_editorInstance", null);
|
123
76
|
this._config = r;
|
124
77
|
}
|
125
78
|
setEditorInstance(r) {
|
126
|
-
return this._editorInstance = r,
|
79
|
+
return this._editorInstance = r, U(() => this._editorInstance = null);
|
127
80
|
}
|
128
81
|
getEditorInstance() {
|
129
82
|
return this._editorInstance;
|
@@ -134,154 +87,159 @@ class y extends E {
|
|
134
87
|
});
|
135
88
|
}
|
136
89
|
}
|
137
|
-
var
|
138
|
-
for (var
|
139
|
-
(
|
140
|
-
return
|
141
|
-
},
|
142
|
-
|
90
|
+
var we = Object.defineProperty, je = Object.getOwnPropertyDescriptor, $e = (t, e, r, i) => {
|
91
|
+
for (var n = i > 1 ? void 0 : i ? je(e, r) : e, o = t.length - 1, s; o >= 0; o--)
|
92
|
+
(s = t[o]) && (n = (i ? s(e, r, n) : s(n)) || n);
|
93
|
+
return i && n && we(e, r, n), n;
|
94
|
+
}, $ = (t, e) => (r, i) => e(r, i, t);
|
95
|
+
const F = Z("univer.uniscript.execution-service");
|
96
|
+
let O = class extends S {
|
143
97
|
constructor(t, e) {
|
144
98
|
super(), this._logService = t, this._injector = e;
|
145
99
|
}
|
146
100
|
async execute(t) {
|
147
101
|
this._logService.log("[UniscriptExecutionService]", "executing Uniscript...");
|
148
|
-
const e =
|
102
|
+
const e = _e.newAPI(this._injector), r = new Function("univerAPI", `(() => {${t}})()`);
|
149
103
|
try {
|
150
104
|
return r(e), !0;
|
151
|
-
} catch (
|
152
|
-
return this._logService.error(
|
105
|
+
} catch (i) {
|
106
|
+
return this._logService.error(i), !1;
|
153
107
|
}
|
154
108
|
}
|
155
109
|
};
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
],
|
160
|
-
const
|
161
|
-
scriptEditorPanel:
|
162
|
-
scriptEditorContent:
|
163
|
-
scriptEditorActions:
|
110
|
+
O = $e([
|
111
|
+
$(0, z),
|
112
|
+
$(1, f(b))
|
113
|
+
], O);
|
114
|
+
const Re = "univer-script-editor-panel", Te = "univer-script-editor-content", Ue = "univer-script-editor-actions", h = {
|
115
|
+
scriptEditorPanel: Re,
|
116
|
+
scriptEditorContent: Te,
|
117
|
+
scriptEditorActions: Ue
|
164
118
|
};
|
165
|
-
function
|
166
|
-
const t = P(null), e = P(null), r = P(null),
|
167
|
-
|
168
|
-
const
|
169
|
-
let c = null,
|
170
|
-
if (
|
171
|
-
|
172
|
-
const
|
119
|
+
function Me() {
|
120
|
+
const t = P(null), e = P(null), r = P(null), i = p(I), n = p(te), o = p(x);
|
121
|
+
ue(() => {
|
122
|
+
const C = e.current, a = t.current;
|
123
|
+
let c = null, _ = null;
|
124
|
+
if (C && a) {
|
125
|
+
o.requireVscodeEditor();
|
126
|
+
const m = r.current = fe.create(C, {
|
173
127
|
value: "",
|
174
128
|
language: "javascript"
|
175
129
|
});
|
176
|
-
|
177
|
-
let
|
178
|
-
if (!
|
130
|
+
_ = new ResizeObserver(() => {
|
131
|
+
let w = requestIdleCallback(() => {
|
132
|
+
if (!w)
|
179
133
|
return;
|
180
|
-
const { height: L, width:
|
181
|
-
|
134
|
+
const { height: L, width: B } = a.getBoundingClientRect();
|
135
|
+
m.layout({ width: B, height: L }), w = void 0;
|
182
136
|
});
|
183
|
-
}),
|
137
|
+
}), _.observe(a);
|
184
138
|
let l;
|
185
|
-
c = new H(), c.add(
|
186
|
-
|
187
|
-
l =
|
139
|
+
c = new H(), c.add(o.setEditorInstance(m)), c.add(
|
140
|
+
m.onDidFocusEditorWidget(() => {
|
141
|
+
l = n.forceEscape();
|
188
142
|
})
|
189
143
|
), c.add(
|
190
|
-
|
144
|
+
m.onDidBlurEditorWidget(() => {
|
191
145
|
l == null || l.dispose(), l = void 0;
|
192
146
|
})
|
193
|
-
), c.add(
|
147
|
+
), c.add(U(() => l == null ? void 0 : l.dispose()));
|
194
148
|
}
|
195
149
|
return () => {
|
196
|
-
|
150
|
+
_ && a && _.unobserve(a), c == null || c.dispose();
|
197
151
|
};
|
198
|
-
}, [
|
199
|
-
const
|
200
|
-
return /* @__PURE__ */ d.jsxs("div", { className:
|
201
|
-
/* @__PURE__ */ d.jsx("div", { className:
|
202
|
-
/* @__PURE__ */ d.jsx("div", { className:
|
152
|
+
}, [o, n]);
|
153
|
+
const s = De(r);
|
154
|
+
return /* @__PURE__ */ d.jsxs("div", { className: h.scriptEditorPanel, children: [
|
155
|
+
/* @__PURE__ */ d.jsx("div", { className: h.scriptEditorContent, ref: t, children: /* @__PURE__ */ d.jsx("div", { className: h.scriptEditorContainer, ref: e }) }),
|
156
|
+
/* @__PURE__ */ d.jsx("div", { className: h.scriptEditorActions, children: /* @__PURE__ */ d.jsx(ve, { type: "primary", size: "small", onClick: s, children: i.t("script-panel.panel.execute") }) })
|
203
157
|
] });
|
204
158
|
}
|
205
|
-
function
|
206
|
-
const e = p(
|
207
|
-
return
|
208
|
-
var
|
209
|
-
const
|
210
|
-
|
159
|
+
function De(t) {
|
160
|
+
const e = p(F), r = p(re), i = p(I);
|
161
|
+
return de(() => {
|
162
|
+
var o;
|
163
|
+
const n = (o = t.current) == null ? void 0 : o.getModel();
|
164
|
+
n && e.execute(n.getValue()).then(() => {
|
211
165
|
r.show({
|
212
|
-
content:
|
213
|
-
type:
|
166
|
+
content: i.t("uniscript.message.success"),
|
167
|
+
type: j.Success
|
214
168
|
});
|
215
169
|
}).catch(() => {
|
216
170
|
r.show({
|
217
|
-
content:
|
218
|
-
type:
|
171
|
+
content: i.t("uniscript.message.failed"),
|
172
|
+
type: j.Error
|
219
173
|
});
|
220
174
|
});
|
221
|
-
}, [
|
175
|
+
}, [i, r, t, e]);
|
222
176
|
}
|
223
|
-
function
|
177
|
+
function Ne(t) {
|
224
178
|
return {
|
225
|
-
id:
|
179
|
+
id: N.id,
|
226
180
|
title: "toggle-script-panel",
|
227
181
|
tooltip: "script-panel.tooltip.menu-button",
|
228
182
|
icon: "CodeSingle",
|
229
|
-
type:
|
230
|
-
positions: [
|
183
|
+
type: ie.BUTTON,
|
184
|
+
positions: [ne.TOOLBAR_START],
|
231
185
|
// FIXME hidden$ and disabled$ are not correctly in doc
|
232
|
-
hidden$:
|
233
|
-
|
186
|
+
hidden$: oe(t, G.UNIVER_SHEET),
|
187
|
+
disabled$: me(t, { workbookTypes: [he], worksheetTypes: [ge, Se, Ee], rangeTypes: [Pe] })
|
234
188
|
};
|
235
189
|
}
|
236
|
-
var
|
237
|
-
for (var
|
238
|
-
(
|
239
|
-
return
|
240
|
-
},
|
241
|
-
|
242
|
-
|
243
|
-
|
190
|
+
var We = Object.defineProperty, Ae = Object.getOwnPropertyDescriptor, Fe = (t, e, r, i) => {
|
191
|
+
for (var n = i > 1 ? void 0 : i ? Ae(e, r) : e, o = t.length - 1, s; o >= 0; o--)
|
192
|
+
(s = t[o]) && (n = (i ? s(e, r, n) : s(n)) || n);
|
193
|
+
return i && n && We(e, r, n), n;
|
194
|
+
}, g = (t, e) => (r, i) => e(r, i, t);
|
195
|
+
const Le = {};
|
196
|
+
let v = class extends S {
|
197
|
+
constructor(t, e, r, i, n) {
|
198
|
+
super(), this._config = t, this._injector = e, this._menuService = r;
|
199
|
+
const { menu: o = {} } = this._config;
|
200
|
+
this.disposeWithMe(r.addMenuItem(this._injector.invoke(Ne), o)), this.disposeWithMe(n.register(D, Me)), this.disposeWithMe(i.registerCommand(N));
|
244
201
|
}
|
245
202
|
};
|
246
|
-
|
247
|
-
J(Y.Steady,
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
],
|
253
|
-
var
|
254
|
-
for (var
|
255
|
-
(
|
256
|
-
return
|
257
|
-
},
|
258
|
-
const
|
259
|
-
var
|
260
|
-
let
|
261
|
-
constructor(t, e, r) {
|
262
|
-
super(), this._config = t, this._injector = e, this._localeService = r;
|
203
|
+
v = Fe([
|
204
|
+
J(Y.Steady, v),
|
205
|
+
g(1, f(b)),
|
206
|
+
g(2, ce),
|
207
|
+
g(3, K),
|
208
|
+
g(4, f(se))
|
209
|
+
], v);
|
210
|
+
var Be = Object.defineProperty, Ve = Object.getOwnPropertyDescriptor, qe = (t, e, r, i) => {
|
211
|
+
for (var n = i > 1 ? void 0 : i ? Ve(e, r) : e, o = t.length - 1, s; o >= 0; o--)
|
212
|
+
(s = t[o]) && (n = (i ? s(e, r, n) : s(n)) || n);
|
213
|
+
return i && n && Be(e, r, n), n;
|
214
|
+
}, R = (t, e) => (r, i) => e(r, i, t);
|
215
|
+
const ke = "uniscript";
|
216
|
+
var y;
|
217
|
+
let T = (y = class extends Q {
|
218
|
+
constructor(t = {}, e, r) {
|
219
|
+
super(), this._config = t, this._injector = e, this._localeService = r, this._config = X.deepMerge({}, Le, this._config);
|
263
220
|
}
|
264
221
|
onStarting(t) {
|
265
222
|
[
|
266
223
|
// controllers
|
267
|
-
[
|
224
|
+
[v, { useFactory: () => t.createInstance(v, this._config) }],
|
268
225
|
// services
|
269
|
-
[
|
270
|
-
[
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
226
|
+
[x, { useFactory: () => t.createInstance(x, this._config) }],
|
227
|
+
[M]
|
228
|
+
].forEach((r) => t.add(r)), this.registerExecution();
|
229
|
+
}
|
230
|
+
/**
|
231
|
+
* Allows being overridden, replacing with a new UniscriptExecutionService.
|
232
|
+
*/
|
233
|
+
registerExecution() {
|
234
|
+
this._injector.add([F, { useClass: O }]);
|
235
|
+
}
|
236
|
+
}, u(y, "pluginName", ke), y);
|
237
|
+
T = qe([
|
238
|
+
R(1, f(b)),
|
239
|
+
R(2, f(I))
|
240
|
+
], T);
|
281
241
|
export {
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
Qe as ruRU,
|
286
|
-
_e as zhCN
|
242
|
+
F as IUniscriptExecutionService,
|
243
|
+
x as ScriptEditorService,
|
244
|
+
T as UniverUniscriptPlugin
|
287
245
|
};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"script-panel": {
|
3
|
+
"title": "Uniscript",
|
4
|
+
"tooltip": {
|
5
|
+
"menu-button": "Toggle Uniscript Panel"
|
6
|
+
},
|
7
|
+
"panel": {
|
8
|
+
"execute": "Execute Script"
|
9
|
+
}
|
10
|
+
},
|
11
|
+
"uniscript": {
|
12
|
+
"message": {
|
13
|
+
"success": "Execution Success",
|
14
|
+
"failed": "Execution Failed"
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"script-panel": {
|
3
|
+
"title": "Юнискрипт",
|
4
|
+
"tooltip": {
|
5
|
+
"menu-button": "Переключить панель Юнискрипт"
|
6
|
+
},
|
7
|
+
"panel": {
|
8
|
+
"execute": "Выполнить скрипт"
|
9
|
+
}
|
10
|
+
},
|
11
|
+
"uniscript": {
|
12
|
+
"message": {
|
13
|
+
"success": "Выполнение успешно",
|
14
|
+
"failed": "Выполнение не удалось"
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
@@ -1,8 +1,15 @@
|
|
1
1
|
import { Disposable, ICommandService } from '@univerjs/core';
|
2
|
-
import { ComponentManager, IMenuService } from '@univerjs/ui';
|
2
|
+
import { MenuConfig, ComponentManager, IMenuService } from '@univerjs/ui';
|
3
3
|
import { Injector } from '@wendellhu/redi';
|
4
4
|
|
5
|
+
export interface IUniverUniscriptConfig {
|
6
|
+
getWorkerUrl(moduleID: string, label: string): string;
|
7
|
+
menu: MenuConfig;
|
8
|
+
}
|
9
|
+
export declare const DefaultUniscriptConfig: {};
|
5
10
|
export declare class UniscriptController extends Disposable {
|
11
|
+
private readonly _config;
|
6
12
|
private readonly _injector;
|
7
|
-
|
13
|
+
private readonly _menuService;
|
14
|
+
constructor(_config: Partial<IUniverUniscriptConfig>, _injector: Injector, _menuService: IMenuService, commandService: ICommandService, componentManager: ComponentManager);
|
8
15
|
}
|
package/lib/types/index.d.ts
CHANGED
@@ -13,6 +13,6 @@
|
|
13
13
|
* See the License for the specific language governing permissions and
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
|
-
export {
|
17
|
-
export { type IUniscriptConfig, UniverUniscriptPlugin } from './plugin';
|
16
|
+
export { UniverUniscriptPlugin } from './plugin';
|
18
17
|
export { ScriptEditorService } from './services/script-editor.service';
|
18
|
+
export { IUniscriptExecutionService } from './services/script-execution.service';
|
package/lib/types/plugin.d.ts
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
import { LocaleService, Plugin } from '@univerjs/core';
|
2
2
|
import { Injector } from '@wendellhu/redi';
|
3
|
-
import {
|
3
|
+
import { IUniverUniscriptConfig } from './controllers/uniscript.controller';
|
4
4
|
|
5
|
-
export interface IUniscriptConfig extends IScriptEditorServiceConfig {
|
6
|
-
}
|
7
5
|
export declare class UniverUniscriptPlugin extends Plugin {
|
8
6
|
private readonly _config;
|
9
7
|
protected _injector: Injector;
|
10
8
|
private readonly _localeService;
|
11
9
|
static pluginName: string;
|
12
|
-
constructor(_config:
|
10
|
+
constructor(_config: Partial<IUniverUniscriptConfig>, _injector: Injector, _localeService: LocaleService);
|
13
11
|
onStarting(injector: Injector): void;
|
12
|
+
/**
|
13
|
+
* Allows being overridden, replacing with a new UniscriptExecutionService.
|
14
|
+
*/
|
15
|
+
registerExecution(): void;
|
14
16
|
}
|
@@ -1,10 +1,8 @@
|
|
1
1
|
import { Disposable } from '@univerjs/core';
|
2
2
|
import { IDisposable } from '@wendellhu/redi';
|
3
3
|
import { editor } from 'monaco-editor';
|
4
|
+
import { IUniverUniscriptConfig } from '../controllers/uniscript.controller';
|
4
5
|
|
5
|
-
export interface IScriptEditorServiceConfig {
|
6
|
-
getWorkerUrl(moduleID: string, label: string): string;
|
7
|
-
}
|
8
6
|
/**
|
9
7
|
* This service is for loading monaco editor and its resources. It also holds the
|
10
8
|
* monaco editor instance so user can interact with the editor programmatically.
|
@@ -12,7 +10,7 @@ export interface IScriptEditorServiceConfig {
|
|
12
10
|
export declare class ScriptEditorService extends Disposable {
|
13
11
|
private readonly _config;
|
14
12
|
private _editorInstance;
|
15
|
-
constructor(_config:
|
13
|
+
constructor(_config: Partial<IUniverUniscriptConfig>);
|
16
14
|
setEditorInstance(editor: editor.IStandaloneCodeEditor): IDisposable;
|
17
15
|
getEditorInstance(): editor.IStandaloneCodeEditor | null;
|
18
16
|
requireVscodeEditor(): void;
|
@@ -1,10 +1,14 @@
|
|
1
1
|
import { Disposable, ILogService } from '@univerjs/core';
|
2
2
|
import { Injector } from '@wendellhu/redi';
|
3
3
|
|
4
|
+
export declare const IUniscriptExecutionService: import('@wendellhu/redi').IdentifierDecorator<IUniscriptExecutionService>;
|
5
|
+
export interface IUniscriptExecutionService {
|
6
|
+
execute(code: string): Promise<boolean>;
|
7
|
+
}
|
4
8
|
/**
|
5
|
-
* This service is to
|
9
|
+
* This service is to execute Uniscript code.
|
6
10
|
*/
|
7
|
-
export declare class UniscriptExecutionService extends Disposable {
|
11
|
+
export declare class UniscriptExecutionService extends Disposable implements IUniscriptExecutionService {
|
8
12
|
private readonly _logService;
|
9
13
|
private readonly _injector;
|
10
14
|
constructor(_logService: ILogService, _injector: Injector);
|
package/lib/umd/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
(function(
|
1
|
+
(function(o,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("@univerjs/ui"),require("rxjs"),require("react"),require("@univerjs/design"),require("@wendellhu/redi/react-bindings"),require("monaco-editor"),require("@univerjs/facade"),require("@univerjs/sheets-ui"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","@univerjs/ui","rxjs","react","@univerjs/design","@wendellhu/redi/react-bindings","monaco-editor","@univerjs/facade","@univerjs/sheets-ui","@univerjs/sheets"],s):(o=typeof globalThis<"u"?globalThis:o||self,s(o.UniverUniscript={},o.UniverCore,o["@wendellhu/redi"],o.UniverUi,o.rxjs,o.React,o.UniverDesign,o["@wendellhu/redi/react-bindings"],o.monaco,o.UniverFacade,o.UniverSheetsUi,o.UniverSheets))})(this,function(o,s,p,l,b,v,x,f,q,F,V,h){"use strict";var ae=Object.defineProperty;var de=(o,s,p)=>s in o?ae(o,s,{enumerable:!0,configurable:!0,writable:!0,value:p}):o[s]=p;var m=(o,s,p)=>(de(o,typeof s!="symbol"?s+"":s,p),p);var C;class D extends s.Disposable{constructor(){super(...arguments);m(this,"_open$",new b.BehaviorSubject(!1));m(this,"open$",this._open$.pipe(b.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const T="ScriptPanel",R={type:s.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:i=>{const e=i.get(D),n=i.get(l.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:T},width:600})),!0}};var M={exports:{}},E={};/**
|
2
2
|
* @license React
|
3
3
|
* react-jsx-runtime.production.min.js
|
4
4
|
*
|
@@ -6,4 +6,4 @@
|
|
6
6
|
*
|
7
7
|
* This source code is licensed under the MIT license found in the
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
|
-
*/var
|
9
|
+
*/var k=v,z=Symbol.for("react.element"),B=Symbol.for("react.fragment"),H=Object.prototype.hasOwnProperty,G=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,J={key:!0,ref:!0,__self:!0,__source:!0};function N(i,e,n){var t,r={},c=null,u=null;n!==void 0&&(c=""+n),e.key!==void 0&&(c=""+e.key),e.ref!==void 0&&(u=e.ref);for(t in e)H.call(e,t)&&!J.hasOwnProperty(t)&&(r[t]=e[t]);if(i&&i.defaultProps)for(t in e=i.defaultProps,e)r[t]===void 0&&(r[t]=e[t]);return{$$typeof:z,type:i,key:c,ref:u,props:r,_owner:G.current}}E.Fragment=B,E.jsx=N,E.jsxs=N,M.exports=E;var _=M.exports;class P extends s.Disposable{constructor(n){super();m(this,"_editorInstance",null);this._config=n}setEditorInstance(n){return this._editorInstance=n,s.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var Y=Object.defineProperty,K=Object.getOwnPropertyDescriptor,Q=(i,e,n,t)=>{for(var r=t>1?void 0:t?K(e,n):e,c=i.length-1,u;c>=0;c--)(u=i[c])&&(r=(t?u(e,n,r):u(r))||r);return t&&r&&Y(e,n,r),r},$=(i,e)=>(n,t)=>e(n,t,i);const O=p.createIdentifier("univer.uniscript.execution-service");let w=class extends s.Disposable{constructor(i,e){super(),this._logService=i,this._injector=e}async execute(i){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=F.FUniver.newAPI(this._injector),n=new Function("univerAPI",`(() => {${i}})()`);try{return n(e),!0}catch(t){return this._logService.error(t),!1}}};w=Q([$(0,s.ILogService),$(1,p.Inject(p.Injector))],w);const j={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content",scriptEditorActions:"univer-script-editor-actions"};function X(){const i=v.useRef(null),e=v.useRef(null),n=v.useRef(null),t=f.useDependency(s.LocaleService),r=f.useDependency(l.IShortcutService),c=f.useDependency(P);v.useEffect(()=>{const A=e.current,g=i.current;let a=null,I=null;if(A&&g){c.requireVscodeEditor();const U=n.current=q.editor.create(A,{value:"",language:"javascript"});I=new ResizeObserver(()=>{let L=requestIdleCallback(()=>{if(!L)return;const{height:pe,width:le}=g.getBoundingClientRect();U.layout({width:le,height:pe}),L=void 0})}),I.observe(g);let d;a=new s.DisposableCollection,a.add(c.setEditorInstance(U)),a.add(U.onDidFocusEditorWidget(()=>{d=r.forceEscape()})),a.add(U.onDidBlurEditorWidget(()=>{d==null||d.dispose(),d=void 0})),a.add(s.toDisposable(()=>d==null?void 0:d.dispose()))}return()=>{I&&g&&I.unobserve(g),a==null||a.dispose()}},[c,r]);const u=Z(n);return _.jsxs("div",{className:j.scriptEditorPanel,children:[_.jsx("div",{className:j.scriptEditorContent,ref:i,children:_.jsx("div",{className:j.scriptEditorContainer,ref:e})}),_.jsx("div",{className:j.scriptEditorActions,children:_.jsx(x.Button,{type:"primary",size:"small",onClick:u,children:t.t("script-panel.panel.execute")})})]})}function Z(i){const e=f.useDependency(O),n=f.useDependency(l.IMessageService),t=f.useDependency(s.LocaleService);return v.useCallback(()=>{var c;const r=(c=i.current)==null?void 0:c.getModel();r&&e.execute(r.getValue()).then(()=>{n.show({content:t.t("uniscript.message.success"),type:x.MessageType.Success})}).catch(()=>{n.show({content:t.t("uniscript.message.failed"),type:x.MessageType.Error})})},[t,n,i,e])}function ee(i){return{id:R.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:l.MenuItemType.BUTTON,positions:[l.MenuPosition.TOOLBAR_START],hidden$:l.getMenuHiddenObservable(i,s.UniverInstanceType.UNIVER_SHEET),disabled$:V.getCurrentRangeDisable$(i,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission,h.WorksheetSetCellValuePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}var te=Object.defineProperty,ne=Object.getOwnPropertyDescriptor,ie=(i,e,n,t)=>{for(var r=t>1?void 0:t?ne(e,n):e,c=i.length-1,u;c>=0;c--)(u=i[c])&&(r=(t?u(e,n,r):u(r))||r);return t&&r&&te(e,n,r),r},y=(i,e)=>(n,t)=>e(n,t,i);const re={};let S=class extends s.Disposable{constructor(i,e,n,t,r){super(),this._config=i,this._injector=e,this._menuService=n;const{menu:c={}}=this._config;this.disposeWithMe(n.addMenuItem(this._injector.invoke(ee),c)),this.disposeWithMe(r.register(T,X)),this.disposeWithMe(t.registerCommand(R))}};S=ie([s.OnLifecycle(s.LifecycleStages.Steady,S),y(1,p.Inject(p.Injector)),y(2,l.IMenuService),y(3,s.ICommandService),y(4,p.Inject(l.ComponentManager))],S);var se=Object.defineProperty,oe=Object.getOwnPropertyDescriptor,ce=(i,e,n,t)=>{for(var r=t>1?void 0:t?oe(e,n):e,c=i.length-1,u;c>=0;c--)(u=i[c])&&(r=(t?u(e,n,r):u(r))||r);return t&&r&&se(e,n,r),r},W=(i,e)=>(n,t)=>e(n,t,i);const ue="uniscript";o.UniverUniscriptPlugin=(C=class extends s.Plugin{constructor(e={},n,t){super(),this._config=e,this._injector=n,this._localeService=t,this._config=s.Tools.deepMerge({},re,this._config)}onStarting(e){[[S,{useFactory:()=>e.createInstance(S,this._config)}],[P,{useFactory:()=>e.createInstance(P,this._config)}],[D]].forEach(t=>e.add(t)),this.registerExecution()}registerExecution(){this._injector.add([O,{useClass:w}])}},m(C,"pluginName",ue),C),o.UniverUniscriptPlugin=ce([W(1,p.Inject(p.Injector)),W(2,p.Inject(s.LocaleService))],o.UniverUniscriptPlugin),o.IUniscriptExecutionService=O,o.ScriptEditorService=P,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@univerjs/uniscript",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.13",
|
4
4
|
"private": false,
|
5
5
|
"description": "UI component library for building exceptional Univer.",
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
@@ -34,6 +34,7 @@
|
|
34
34
|
"require": "./lib/cjs/*",
|
35
35
|
"types": "./lib/types/index.d.ts"
|
36
36
|
},
|
37
|
+
"./locale/*": "./lib/locale/*.json",
|
37
38
|
"./lib/*": "./lib/*"
|
38
39
|
},
|
39
40
|
"main": "./lib/cjs/index.js",
|
@@ -53,29 +54,36 @@
|
|
53
54
|
"npm": ">=8.0.0"
|
54
55
|
},
|
55
56
|
"peerDependencies": {
|
56
|
-
"@wendellhu/redi": "
|
57
|
+
"@wendellhu/redi": "0.15.2",
|
57
58
|
"monaco-editor": ">=0.44.0",
|
58
59
|
"react": "^16.9.0 || ^17.0.0 || ^18.0.0",
|
59
60
|
"rxjs": ">=7.0.0",
|
60
|
-
"@univerjs/core": "0.1.
|
61
|
-
"@univerjs/design": "0.1.
|
62
|
-
"@univerjs/
|
63
|
-
"@univerjs/ui": "0.1.
|
61
|
+
"@univerjs/core": "0.1.13",
|
62
|
+
"@univerjs/design": "0.1.13",
|
63
|
+
"@univerjs/sheets": "0.1.13",
|
64
|
+
"@univerjs/ui": "0.1.13",
|
65
|
+
"@univerjs/sheets-ui": "0.1.13",
|
66
|
+
"@univerjs/facade": "0.1.13"
|
67
|
+
},
|
68
|
+
"dependencies": {
|
69
|
+
"@univerjs/protocol": "^0.1.34",
|
70
|
+
"@univerjs/sheets": "0.1.13"
|
64
71
|
},
|
65
72
|
"devDependencies": {
|
66
73
|
"@types/react": "^18.2.79",
|
67
|
-
"@wendellhu/redi": "
|
74
|
+
"@wendellhu/redi": "0.15.2",
|
68
75
|
"less": "^4.2.0",
|
69
|
-
"monaco-editor": "0.
|
76
|
+
"monaco-editor": "0.49.0",
|
70
77
|
"rxjs": "^7.8.1",
|
71
78
|
"typescript": "^5.4.5",
|
72
|
-
"vite": "^5.2.
|
79
|
+
"vite": "^5.2.12",
|
73
80
|
"vitest": "^1.6.0",
|
74
|
-
"@univerjs/design": "0.1.
|
75
|
-
"@univerjs/facade": "0.1.
|
76
|
-
"@univerjs/core": "0.1.
|
77
|
-
"@univerjs/ui": "0.1.
|
78
|
-
"@univerjs/
|
81
|
+
"@univerjs/design": "0.1.13",
|
82
|
+
"@univerjs/facade": "0.1.13",
|
83
|
+
"@univerjs/core": "0.1.13",
|
84
|
+
"@univerjs/sheets-ui": "0.1.13",
|
85
|
+
"@univerjs/ui": "0.1.13",
|
86
|
+
"@univerjs/shared": "0.1.13"
|
79
87
|
},
|
80
88
|
"scripts": {
|
81
89
|
"test": "vitest run",
|
@@ -1,18 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
export { default as enUS } from './en-US';
|
17
|
-
export { default as zhCN } from './zh-CN';
|
18
|
-
export { default as ruRU } from './ru-RU';
|