@univerjs/uniscript 0.2.3 → 0.2.4-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
package/lib/cjs/index.js CHANGED
@@ -1,4 +1,4 @@
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);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),l=require("@wendellhu/redi"),u=require("@univerjs/ui"),$=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 M extends o.Disposable{constructor(){super(...arguments);f(this,"_open$",new $.BehaviorSubject(!1));f(this,"open$",this._open$.pipe($.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 q="ScriptPanel",C={type:o.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:r=>{const e=r.get(M),t=r.get(u.ISidebarService);return e.isOpen?(e.close(),t.close()):(e.open(),t.open({header:{title:"script-panel.title"},children:{label:q},width:600})),!0}};var N={exports:{}},b={};/**
1
+ "use strict";var L=Object.defineProperty;var A=(r,e,t)=>e in r?L(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var v=(r,e,t)=>A(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@univerjs/core"),p=require("@univerjs/ui"),w=require("rxjs"),u=require("react"),b=require("@univerjs/design"),F=require("monaco-editor"),B=require("@univerjs/facade"),V=require("@univerjs/sheets-ui"),_=require("@univerjs/sheets");class T extends s.Disposable{constructor(){super(...arguments);v(this,"_open$",new w.BehaviorSubject(!1));v(this,"open$",this._open$.pipe(w.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 R="ScriptPanel",O={type:s.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:r=>{const e=r.get(T),t=r.get(p.ISidebarService);return e.isOpen?(e.close(),t.close()):(e.open(),t.open({header:{title:"script-panel.title"},children:{label:R},width:600})),!0}};var M={exports:{}},y={};/**
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 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},T=(r,e)=>(t,n)=>e(t,n,r);const U=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([T(0,o.ILogService),T(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 w=e.current,_=r.current;let a=null,E=null;if(w&&_){s.requireVscodeEditor();const m=t.current=V.editor.create(w,{value:"",language:"javascript"});E=new ResizeObserver(()=>{let D=requestIdleCallback(()=>{if(!D)return;const{height:L,width:A}=_.getBoundingClientRect();m.layout({width:A,height:L}),D=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(U),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:C.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(q,ie)),this.disposeWithMe(n.registerCommand(C))}};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)}],[M]].forEach(n=>e.add(n)),this.registerExecution()}registerExecution(){this._injector.add([U,{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=U;exports.ScriptEditorService=I;exports.ToggleScriptPanelOperation=C;
9
+ */var k=u,z=Symbol.for("react.element"),H=Symbol.for("react.fragment"),G=Object.prototype.hasOwnProperty,J=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Y={key:!0,ref:!0,__self:!0,__source:!0};function q(r,e,t){var n,i={},o=null,c=null;t!==void 0&&(o=""+t),e.key!==void 0&&(o=""+e.key),e.ref!==void 0&&(c=e.ref);for(n in e)G.call(e,n)&&!Y.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:z,type:r,key:o,ref:c,props:i,_owner:J.current}}y.Fragment=H;y.jsx=q;y.jsxs=q;M.exports=y;var f=M.exports;class P extends s.Disposable{constructor(t){super();v(this,"_editorInstance",null);this._config=t}setEditorInstance(t){return this._editorInstance=t,s.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var K=Object.defineProperty,Q=Object.getOwnPropertyDescriptor,X=(r,e,t,n)=>{for(var i=n>1?void 0:n?Q(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=(n?c(e,t,i):c(i))||i);return n&&i&&K(e,t,i),i},D=(r,e)=>(t,n)=>e(t,n,r);const j=s.createIdentifier("univer.uniscript.execution-service");let x=class extends s.Disposable{constructor(r,e){super(),this._logService=r,this._injector=e}async execute(r){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=B.FUniver.newAPI(this._injector),t=new Function("univerAPI",`(() => {${r}})()`);try{return t(e),!0}catch(n){return this._logService.error(n),!1}}};x=X([D(0,s.ILogService),D(1,s.Inject(s.Injector))],x);const Z="univer-script-editor-panel",ee="univer-script-editor-content",te="univer-script-editor-actions",E={scriptEditorPanel:Z,scriptEditorContent:ee,scriptEditorActions:te};function re(){const r=u.useRef(null),e=u.useRef(null),t=u.useRef(null),n=s.useDependency(s.LocaleService),i=s.useDependency(p.IShortcutService),o=s.useDependency(P);u.useEffect(()=>{const C=e.current,d=r.current;let l=null,g=null;if(C&&d){o.requireVscodeEditor();const S=t.current=F.editor.create(C,{value:"",language:"javascript"});g=new ResizeObserver(()=>{let U=requestIdleCallback(()=>{if(!U)return;const{height:N,width:W}=d.getBoundingClientRect();S.layout({width:W,height:N}),U=void 0})}),g.observe(d);let a;l=new s.DisposableCollection,l.add(o.setEditorInstance(S)),l.add(S.onDidFocusEditorWidget(()=>{a=i.forceEscape()})),l.add(S.onDidBlurEditorWidget(()=>{a==null||a.dispose(),a=void 0})),l.add(s.toDisposable(()=>a==null?void 0:a.dispose()))}return()=>{g&&d&&g.unobserve(d),l==null||l.dispose()}},[o,i]);const c=ne(t);return f.jsxs("div",{className:E.scriptEditorPanel,children:[f.jsx("div",{className:E.scriptEditorContent,ref:r,children:f.jsx("div",{className:E.scriptEditorContainer,ref:e})}),f.jsx("div",{className:E.scriptEditorActions,children:f.jsx(b.Button,{type:"primary",size:"small",onClick:c,children:n.t("script-panel.panel.execute")})})]})}function ne(r){const e=s.useDependency(j),t=s.useDependency(p.IMessageService),n=s.useDependency(s.LocaleService);return u.useCallback(()=>{var o;const i=(o=r.current)==null?void 0:o.getModel();i&&e.execute(i.getValue()).then(()=>{t.show({content:n.t("uniscript.message.success"),type:b.MessageType.Success})}).catch(()=>{t.show({content:n.t("uniscript.message.failed"),type:b.MessageType.Error})})},[n,t,r,e])}function ie(r){return{id:O.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:p.MenuItemType.BUTTON,positions:[p.MenuPosition.TOOLBAR_START],hidden$:p.getMenuHiddenObservable(r,s.UniverInstanceType.UNIVER_SHEET),disabled$:V.getCurrentRangeDisable$(r,{workbookTypes:[_.WorkbookEditablePermission],worksheetTypes:[_.WorksheetEditPermission,_.WorksheetSetCellStylePermission,_.WorksheetSetCellValuePermission],rangeTypes:[_.RangeProtectionPermissionEditPoint]})}}var se=Object.defineProperty,oe=Object.getOwnPropertyDescriptor,ce=(r,e,t,n)=>{for(var i=n>1?void 0:n?oe(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=(n?c(e,t,i):c(i))||i);return n&&i&&se(e,t,i),i},m=(r,e)=>(t,n)=>e(t,n,r);const le={};let h=class extends s.Disposable{constructor(r,e,t,n,i){super(),this._config=r,this._injector=e,this._menuService=t;const{menu:o={}}=this._config;this.disposeWithMe(t.addMenuItem(this._injector.invoke(ie),o)),this.disposeWithMe(i.register(R,re)),this.disposeWithMe(n.registerCommand(O))}};h=ce([s.OnLifecycle(s.LifecycleStages.Steady,h),m(1,s.Inject(s.Injector)),m(2,p.IMenuService),m(3,s.ICommandService),m(4,s.Inject(p.ComponentManager))],h);var ae=Object.defineProperty,pe=Object.getOwnPropertyDescriptor,ue=(r,e,t,n)=>{for(var i=n>1?void 0:n?pe(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=(n?c(e,t,i):c(i))||i);return n&&i&&ae(e,t,i),i},$=(r,e)=>(t,n)=>e(t,n,r);const de="uniscript";var I;exports.UniverUniscriptPlugin=(I=class extends s.Plugin{constructor(e={},t,n){super(),this._config=e,this._injector=t,this._localeService=n,this._config=s.Tools.deepMerge({},le,this._config)}onStarting(e){[[h,{useFactory:()=>e.createInstance(h,this._config)}],[P,{useFactory:()=>e.createInstance(P,this._config)}],[T]].forEach(n=>e.add(n)),this.registerExecution()}registerExecution(){this._injector.add([j,{useClass:x}])}},v(I,"pluginName",de),I);exports.UniverUniscriptPlugin=ue([$(1,s.Inject(s.Injector)),$(2,s.Inject(s.LocaleService))],exports.UniverUniscriptPlugin);exports.IUniscriptExecutionService=j;exports.ScriptEditorService=P;exports.ToggleScriptPanelOperation=O;
package/lib/es/index.js CHANGED
@@ -1,17 +1,15 @@
1
1
  var V = Object.defineProperty;
2
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);
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";
4
+ import { Disposable as S, CommandType as k, toDisposable as U, createIdentifier as z, Inject as f, Injector as I, ILogService as H, useDependency as p, LocaleService as b, DisposableCollection as G, UniverInstanceType as J, OnLifecycle as Y, LifecycleStages as K, ICommandService as Q, Plugin as X, Tools as Z } from "@univerjs/core";
6
5
  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
6
  import { BehaviorSubject as le, distinctUntilChanged as pe } from "rxjs";
8
7
  import ae, { useRef as P, useEffect as ue, useCallback as de } from "react";
9
8
  import { Button as ve, MessageType as j } from "@univerjs/design";
10
- import { useDependency as p } from "@wendellhu/redi/react-bindings";
11
9
  import { editor as fe } from "monaco-editor";
12
10
  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";
11
+ import { getCurrentRangeDisable$ as he } from "@univerjs/sheets-ui";
12
+ import { WorkbookEditablePermission as me, WorksheetEditPermission as ge, WorksheetSetCellStylePermission as Se, WorksheetSetCellValuePermission as Ee, RangeProtectionPermissionEditPoint as Pe } from "@univerjs/sheets";
15
13
  class M extends S {
16
14
  constructor() {
17
15
  super(...arguments);
@@ -89,7 +87,7 @@ var we = Object.defineProperty, je = Object.getOwnPropertyDescriptor, $e = (t, e
89
87
  (s = t[o]) && (n = (i ? s(e, r, n) : s(n)) || n);
90
88
  return i && n && we(e, r, n), n;
91
89
  }, $ = (t, e) => (r, i) => e(r, i, t);
92
- const F = Z("univer.uniscript.execution-service");
90
+ const F = z("univer.uniscript.execution-service");
93
91
  let O = class extends S {
94
92
  constructor(t, e) {
95
93
  super(), this._logService = t, this._injector = e;
@@ -105,22 +103,22 @@ let O = class extends S {
105
103
  }
106
104
  };
107
105
  O = $e([
108
- $(0, z),
109
- $(1, f(b))
106
+ $(0, H),
107
+ $(1, f(I))
110
108
  ], O);
111
- const Re = "univer-script-editor-panel", Te = "univer-script-editor-content", Ue = "univer-script-editor-actions", h = {
109
+ const Re = "univer-script-editor-panel", Te = "univer-script-editor-content", Ue = "univer-script-editor-actions", m = {
112
110
  scriptEditorPanel: Re,
113
111
  scriptEditorContent: Te,
114
112
  scriptEditorActions: Ue
115
113
  };
116
114
  function Me() {
117
- const t = P(null), e = P(null), r = P(null), i = p(I), n = p(te), o = p(x);
115
+ const t = P(null), e = P(null), r = P(null), i = p(b), n = p(te), o = p(x);
118
116
  ue(() => {
119
117
  const C = e.current, a = t.current;
120
118
  let c = null, _ = null;
121
119
  if (C && a) {
122
120
  o.requireVscodeEditor();
123
- const m = r.current = fe.create(C, {
121
+ const h = r.current = fe.create(C, {
124
122
  value: "",
125
123
  language: "javascript"
126
124
  });
@@ -128,16 +126,16 @@ function Me() {
128
126
  let w = requestIdleCallback(() => {
129
127
  if (!w) return;
130
128
  const { height: L, width: B } = a.getBoundingClientRect();
131
- m.layout({ width: B, height: L }), w = void 0;
129
+ h.layout({ width: B, height: L }), w = void 0;
132
130
  });
133
131
  }), _.observe(a);
134
132
  let l;
135
- c = new H(), c.add(o.setEditorInstance(m)), c.add(
136
- m.onDidFocusEditorWidget(() => {
133
+ c = new G(), c.add(o.setEditorInstance(h)), c.add(
134
+ h.onDidFocusEditorWidget(() => {
137
135
  l = n.forceEscape();
138
136
  })
139
137
  ), c.add(
140
- m.onDidBlurEditorWidget(() => {
138
+ h.onDidBlurEditorWidget(() => {
141
139
  l == null || l.dispose(), l = void 0;
142
140
  })
143
141
  ), c.add(U(() => l == null ? void 0 : l.dispose()));
@@ -147,13 +145,13 @@ function Me() {
147
145
  };
148
146
  }, [o, n]);
149
147
  const s = De(r);
150
- return /* @__PURE__ */ d.jsxs("div", { className: h.scriptEditorPanel, children: [
151
- /* @__PURE__ */ d.jsx("div", { className: h.scriptEditorContent, ref: t, children: /* @__PURE__ */ d.jsx("div", { className: h.scriptEditorContainer, ref: e }) }),
152
- /* @__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") }) })
148
+ return /* @__PURE__ */ d.jsxs("div", { className: m.scriptEditorPanel, children: [
149
+ /* @__PURE__ */ d.jsx("div", { className: m.scriptEditorContent, ref: t, children: /* @__PURE__ */ d.jsx("div", { className: m.scriptEditorContainer, ref: e }) }),
150
+ /* @__PURE__ */ d.jsx("div", { className: m.scriptEditorActions, children: /* @__PURE__ */ d.jsx(ve, { type: "primary", size: "small", onClick: s, children: i.t("script-panel.panel.execute") }) })
153
151
  ] });
154
152
  }
155
153
  function De(t) {
156
- const e = p(F), r = p(re), i = p(I);
154
+ const e = p(F), r = p(re), i = p(b);
157
155
  return de(() => {
158
156
  var o;
159
157
  const n = (o = t.current) == null ? void 0 : o.getModel();
@@ -179,8 +177,8 @@ function Ne(t) {
179
177
  type: ie.BUTTON,
180
178
  positions: [ne.TOOLBAR_START],
181
179
  // FIXME hidden$ and disabled$ are not correctly in doc
182
- hidden$: oe(t, G.UNIVER_SHEET),
183
- disabled$: me(t, { workbookTypes: [he], worksheetTypes: [ge, Se, Ee], rangeTypes: [Pe] })
180
+ hidden$: oe(t, J.UNIVER_SHEET),
181
+ disabled$: he(t, { workbookTypes: [me], worksheetTypes: [ge, Se, Ee], rangeTypes: [Pe] })
184
182
  };
185
183
  }
186
184
  var We = Object.defineProperty, Ae = Object.getOwnPropertyDescriptor, Fe = (t, e, r, i) => {
@@ -197,10 +195,10 @@ let v = class extends S {
197
195
  }
198
196
  };
199
197
  v = Fe([
200
- J(Y.Steady, v),
201
- g(1, f(b)),
198
+ Y(K.Steady, v),
199
+ g(1, f(I)),
202
200
  g(2, ce),
203
- g(3, K),
201
+ g(3, Q),
204
202
  g(4, f(se))
205
203
  ], v);
206
204
  var Be = Object.defineProperty, Ve = Object.getOwnPropertyDescriptor, qe = (t, e, r, i) => {
@@ -210,9 +208,9 @@ var Be = Object.defineProperty, Ve = Object.getOwnPropertyDescriptor, qe = (t, e
210
208
  }, R = (t, e) => (r, i) => e(r, i, t);
211
209
  const ke = "uniscript";
212
210
  var y;
213
- let T = (y = class extends Q {
211
+ let T = (y = class extends X {
214
212
  constructor(t = {}, e, r) {
215
- super(), this._config = t, this._injector = e, this._localeService = r, this._config = X.deepMerge({}, Le, this._config);
213
+ super(), this._config = t, this._injector = e, this._localeService = r, this._config = Z.deepMerge({}, Le, this._config);
216
214
  }
217
215
  onStarting(t) {
218
216
  [
@@ -231,8 +229,8 @@ let T = (y = class extends Q {
231
229
  }
232
230
  }, u(y, "pluginName", ke), y);
233
231
  T = qe([
234
- R(1, f(b)),
235
- R(2, f(I))
232
+ R(1, f(I)),
233
+ R(2, f(b))
236
234
  ], T);
237
235
  export {
238
236
  F as IUniscriptExecutionService,
@@ -1,4 +1,4 @@
1
1
  import { IMenuButtonItem } from '@univerjs/ui';
2
- import { IAccessor } from '@wendellhu/redi';
2
+ import { IAccessor } from '@univerjs/core';
3
3
 
4
4
  export declare function UniscriptMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
@@ -1,6 +1,5 @@
1
- import { Disposable, ICommandService } from '@univerjs/core';
1
+ import { Disposable, ICommandService, Injector } from '@univerjs/core';
2
2
  import { MenuConfig, ComponentManager, IMenuService } from '@univerjs/ui';
3
- import { Injector } from '@wendellhu/redi';
4
3
 
5
4
  export interface IUniverUniscriptConfig {
6
5
  getWorkerUrl(moduleID: string, label: string): string;
@@ -1,5 +1,4 @@
1
- import { LocaleService, Plugin } from '@univerjs/core';
2
- import { Injector } from '@wendellhu/redi';
1
+ import { Injector, LocaleService, Plugin } from '@univerjs/core';
3
2
  import { IUniverUniscriptConfig } from './controllers/uniscript.controller';
4
3
 
5
4
  export declare class UniverUniscriptPlugin extends Plugin {
@@ -1,5 +1,4 @@
1
- import { Disposable } from '@univerjs/core';
2
- import { IDisposable } from '@wendellhu/redi';
1
+ import { Disposable, IDisposable } from '@univerjs/core';
3
2
  import { editor } from 'monaco-editor';
4
3
  import { IUniverUniscriptConfig } from '../controllers/uniscript.controller';
5
4
 
@@ -1,7 +1,6 @@
1
- import { Disposable, ILogService } from '@univerjs/core';
2
- import { Injector } from '@wendellhu/redi';
1
+ import { Disposable, ILogService, Injector } from '@univerjs/core';
3
2
 
4
- export declare const IUniscriptExecutionService: import('@wendellhu/redi').IdentifierDecorator<IUniscriptExecutionService>;
3
+ export declare const IUniscriptExecutionService: import('@univerjs/core').IdentifierDecorator<IUniscriptExecutionService>;
5
4
  export interface IUniscriptExecutionService {
6
5
  execute(code: string): Promise<boolean>;
7
6
  }
package/lib/umd/index.js CHANGED
@@ -1,4 +1,4 @@
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,D,v,U,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);var b;class T extends s.Disposable{constructor(){super(...arguments);m(this,"_open$",new D.BehaviorSubject(!1));m(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 R="ScriptPanel",x={type:s.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:i=>{const e=i.get(T),n=i.get(l.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:R},width:600})),!0}};var M={exports:{}},E={};/**
1
+ (function(o,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("@univerjs/core"),require("@univerjs/ui"),require("rxjs"),require("react"),require("@univerjs/design"),require("monaco-editor"),require("@univerjs/facade"),require("@univerjs/sheets-ui"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/ui","rxjs","react","@univerjs/design","monaco-editor","@univerjs/facade","@univerjs/sheets-ui","@univerjs/sheets"],t):(o=typeof globalThis<"u"?globalThis:o||self,t(o.UniverUniscript={},o.UniverCore,o.UniverUi,o.rxjs,o.React,o.UniverDesign,o.monaco,o.UniverFacade,o.UniverSheetsUi,o.UniverSheets))})(this,function(o,t,a,b,d,I,A,L,F,v){"use strict";var ae=Object.defineProperty;var ue=(o,t,a)=>t in o?ae(o,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):o[t]=a;var g=(o,t,a)=>ue(o,typeof t!="symbol"?t+"":t,a);var C;class D extends t.Disposable{constructor(){super(...arguments);g(this,"_open$",new b.BehaviorSubject(!1));g(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 w="ScriptPanel",O={type:t.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:r=>{const e=r.get(D),i=r.get(a.ISidebarService);return e.isOpen?(e.close(),i.close()):(e.open(),i.open({header:{title:"script-panel.title"},children:{label:w},width:600})),!0}};var T={exports:{}},S={};/**
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 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 w=p.createIdentifier("univer.uniscript.execution-service");let C=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}}};C=Q([$(0,s.ILogService),$(1,p.Inject(p.Injector))],C);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 O=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();O.layout({width:le,height:pe}),L=void 0})}),I.observe(g);let d;a=new s.DisposableCollection,a.add(c.setEditorInstance(O)),a.add(O.onDidFocusEditorWidget(()=>{d=r.forceEscape()})),a.add(O.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(U.Button,{type:"primary",size:"small",onClick:u,children:t.t("script-panel.panel.execute")})})]})}function Z(i){const e=f.useDependency(w),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:U.MessageType.Success})}).catch(()=>{n.show({content:t.t("uniscript.message.failed"),type:U.MessageType.Error})})},[t,n,i,e])}function ee(i){return{id:x.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(R,X)),this.disposeWithMe(t.registerCommand(x))}};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=(b=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)}],[T]].forEach(t=>e.add(t)),this.registerExecution()}registerExecution(){this._injector.add([w,{useClass:C}])}},m(b,"pluginName",ue),b),o.UniverUniscriptPlugin=ce([W(1,p.Inject(p.Injector)),W(2,p.Inject(s.LocaleService))],o.UniverUniscriptPlugin),o.IUniscriptExecutionService=w,o.ScriptEditorService=P,o.ToggleScriptPanelOperation=x,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
9
+ */var q=d,B=Symbol.for("react.element"),V=Symbol.for("react.fragment"),k=Object.prototype.hasOwnProperty,z=q.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,H={key:!0,ref:!0,__self:!0,__source:!0};function R(r,e,i){var n,s={},c=null,p=null;i!==void 0&&(c=""+i),e.key!==void 0&&(c=""+e.key),e.ref!==void 0&&(p=e.ref);for(n in e)k.call(e,n)&&!H.hasOwnProperty(n)&&(s[n]=e[n]);if(r&&r.defaultProps)for(n in e=r.defaultProps,e)s[n]===void 0&&(s[n]=e[n]);return{$$typeof:B,type:r,key:c,ref:p,props:s,_owner:z.current}}S.Fragment=V,S.jsx=R,S.jsxs=R,T.exports=S;var f=T.exports;class m extends t.Disposable{constructor(i){super();g(this,"_editorInstance",null);this._config=i}setEditorInstance(i){return this._editorInstance=i,t.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var G=Object.defineProperty,J=Object.getOwnPropertyDescriptor,Y=(r,e,i,n)=>{for(var s=n>1?void 0:n?J(e,i):e,c=r.length-1,p;c>=0;c--)(p=r[c])&&(s=(n?p(e,i,s):p(s))||s);return n&&s&&G(e,i,s),s},M=(r,e)=>(i,n)=>e(i,n,r);const U=t.createIdentifier("univer.uniscript.execution-service");let x=class extends t.Disposable{constructor(r,e){super(),this._logService=r,this._injector=e}async execute(r){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=L.FUniver.newAPI(this._injector),i=new Function("univerAPI",`(() => {${r}})()`);try{return i(e),!0}catch(n){return this._logService.error(n),!1}}};x=Y([M(0,t.ILogService),M(1,t.Inject(t.Injector))],x);const E={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content",scriptEditorActions:"univer-script-editor-actions"};function K(){const r=d.useRef(null),e=d.useRef(null),i=d.useRef(null),n=t.useDependency(t.LocaleService),s=t.useDependency(a.IShortcutService),c=t.useDependency(m);d.useEffect(()=>{const $=e.current,h=r.current;let u=null,j=null;if($&&h){c.requireVscodeEditor();const y=i.current=A.editor.create($,{value:"",language:"javascript"});j=new ResizeObserver(()=>{let W=requestIdleCallback(()=>{if(!W)return;const{height:ce,width:pe}=h.getBoundingClientRect();y.layout({width:pe,height:ce}),W=void 0})}),j.observe(h);let l;u=new t.DisposableCollection,u.add(c.setEditorInstance(y)),u.add(y.onDidFocusEditorWidget(()=>{l=s.forceEscape()})),u.add(y.onDidBlurEditorWidget(()=>{l==null||l.dispose(),l=void 0})),u.add(t.toDisposable(()=>l==null?void 0:l.dispose()))}return()=>{j&&h&&j.unobserve(h),u==null||u.dispose()}},[c,s]);const p=Q(i);return f.jsxs("div",{className:E.scriptEditorPanel,children:[f.jsx("div",{className:E.scriptEditorContent,ref:r,children:f.jsx("div",{className:E.scriptEditorContainer,ref:e})}),f.jsx("div",{className:E.scriptEditorActions,children:f.jsx(I.Button,{type:"primary",size:"small",onClick:p,children:n.t("script-panel.panel.execute")})})]})}function Q(r){const e=t.useDependency(U),i=t.useDependency(a.IMessageService),n=t.useDependency(t.LocaleService);return d.useCallback(()=>{var c;const s=(c=r.current)==null?void 0:c.getModel();s&&e.execute(s.getValue()).then(()=>{i.show({content:n.t("uniscript.message.success"),type:I.MessageType.Success})}).catch(()=>{i.show({content:n.t("uniscript.message.failed"),type:I.MessageType.Error})})},[n,i,r,e])}function X(r){return{id:O.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:a.MenuItemType.BUTTON,positions:[a.MenuPosition.TOOLBAR_START],hidden$:a.getMenuHiddenObservable(r,t.UniverInstanceType.UNIVER_SHEET),disabled$:F.getCurrentRangeDisable$(r,{workbookTypes:[v.WorkbookEditablePermission],worksheetTypes:[v.WorksheetEditPermission,v.WorksheetSetCellStylePermission,v.WorksheetSetCellValuePermission],rangeTypes:[v.RangeProtectionPermissionEditPoint]})}}var Z=Object.defineProperty,ee=Object.getOwnPropertyDescriptor,te=(r,e,i,n)=>{for(var s=n>1?void 0:n?ee(e,i):e,c=r.length-1,p;c>=0;c--)(p=r[c])&&(s=(n?p(e,i,s):p(s))||s);return n&&s&&Z(e,i,s),s},P=(r,e)=>(i,n)=>e(i,n,r);const ne={};let _=class extends t.Disposable{constructor(r,e,i,n,s){super(),this._config=r,this._injector=e,this._menuService=i;const{menu:c={}}=this._config;this.disposeWithMe(i.addMenuItem(this._injector.invoke(X),c)),this.disposeWithMe(s.register(w,K)),this.disposeWithMe(n.registerCommand(O))}};_=te([t.OnLifecycle(t.LifecycleStages.Steady,_),P(1,t.Inject(t.Injector)),P(2,a.IMenuService),P(3,t.ICommandService),P(4,t.Inject(a.ComponentManager))],_);var ie=Object.defineProperty,re=Object.getOwnPropertyDescriptor,se=(r,e,i,n)=>{for(var s=n>1?void 0:n?re(e,i):e,c=r.length-1,p;c>=0;c--)(p=r[c])&&(s=(n?p(e,i,s):p(s))||s);return n&&s&&ie(e,i,s),s},N=(r,e)=>(i,n)=>e(i,n,r);const oe="uniscript";o.UniverUniscriptPlugin=(C=class extends t.Plugin{constructor(e={},i,n){super(),this._config=e,this._injector=i,this._localeService=n,this._config=t.Tools.deepMerge({},ne,this._config)}onStarting(e){[[_,{useFactory:()=>e.createInstance(_,this._config)}],[m,{useFactory:()=>e.createInstance(m,this._config)}],[D]].forEach(n=>e.add(n)),this.registerExecution()}registerExecution(){this._injector.add([U,{useClass:x}])}},g(C,"pluginName",oe),C),o.UniverUniscriptPlugin=se([N(1,t.Inject(t.Injector)),N(2,t.Inject(t.LocaleService))],o.UniverUniscriptPlugin),o.IUniscriptExecutionService=U,o.ScriptEditorService=m,o.ToggleScriptPanelOperation=O,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.2.3",
3
+ "version": "0.2.4-alpha.0",
4
4
  "private": false,
5
5
  "description": "UI component library for building exceptional Univer.",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -50,36 +50,34 @@
50
50
  "lib"
51
51
  ],
52
52
  "peerDependencies": {
53
- "@wendellhu/redi": "0.15.5",
54
53
  "monaco-editor": ">=0.44.0",
55
54
  "react": "^16.9.0 || ^17.0.0 || ^18.0.0",
56
55
  "rxjs": ">=7.0.0",
57
- "@univerjs/core": "0.2.3",
58
- "@univerjs/design": "0.2.3",
59
- "@univerjs/sheets": "0.2.3",
60
- "@univerjs/facade": "0.2.3",
61
- "@univerjs/sheets-ui": "0.2.3",
62
- "@univerjs/ui": "0.2.3"
56
+ "@univerjs/core": "0.2.4-alpha.0",
57
+ "@univerjs/design": "0.2.4-alpha.0",
58
+ "@univerjs/sheets": "0.2.4-alpha.0",
59
+ "@univerjs/facade": "0.2.4-alpha.0",
60
+ "@univerjs/ui": "0.2.4-alpha.0",
61
+ "@univerjs/sheets-ui": "0.2.4-alpha.0"
63
62
  },
64
63
  "dependencies": {
65
- "@univerjs/protocol": "0.1.38-alpha.18"
64
+ "@univerjs/protocol": "0.1.38-alpha.23"
66
65
  },
67
66
  "devDependencies": {
68
67
  "@types/react": "^18.3.3",
69
- "@wendellhu/redi": "0.15.5",
70
68
  "less": "^4.2.0",
71
69
  "monaco-editor": "0.50.0",
72
70
  "rxjs": "^7.8.1",
73
71
  "typescript": "^5.5.3",
74
- "vite": "^5.3.3",
75
- "vitest": "^1.6.0",
76
- "@univerjs/core": "0.2.3",
77
- "@univerjs/shared": "0.2.3",
78
- "@univerjs/design": "0.2.3",
79
- "@univerjs/sheets": "0.2.3",
80
- "@univerjs/sheets-ui": "0.2.3",
81
- "@univerjs/ui": "0.2.3",
82
- "@univerjs/facade": "0.2.3"
72
+ "vite": "^5.3.4",
73
+ "vitest": "^2.0.3",
74
+ "@univerjs/core": "0.2.4-alpha.0",
75
+ "@univerjs/facade": "0.2.4-alpha.0",
76
+ "@univerjs/design": "0.2.4-alpha.0",
77
+ "@univerjs/shared": "0.2.4-alpha.0",
78
+ "@univerjs/sheets": "0.2.4-alpha.0",
79
+ "@univerjs/sheets-ui": "0.2.4-alpha.0",
80
+ "@univerjs/ui": "0.2.4-alpha.0"
83
81
  },
84
82
  "univerSpace": {
85
83
  ".": {