@univerjs/uniscript 0.2.4 → 0.2.6

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 __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),ui=require("@univerjs/ui"),rxjs=require("rxjs"),require$$0=require("react"),design=require("@univerjs/design"),monacoEditor=require("monaco-editor"),facade=require("@univerjs/facade"),sheetsUi=require("@univerjs/sheets-ui"),sheets=require("@univerjs/sheets"),_ScriptPanelService=class _ScriptPanelService extends core.Disposable{constructor(){super(...arguments);__publicField(this,"_open$",new rxjs.BehaviorSubject(!1));__publicField(this,"open$",this._open$.pipe(rxjs.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)}};__name(_ScriptPanelService,"ScriptPanelService");let ScriptPanelService=_ScriptPanelService;const ScriptPanelComponentName="ScriptPanel",ToggleScriptPanelOperation={type:core.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:__name(accessor=>{const scriptPanelService=accessor.get(ScriptPanelService),sidebarService=accessor.get(ui.ISidebarService);return scriptPanelService.isOpen?(scriptPanelService.close(),sidebarService.close()):(scriptPanelService.open(),sidebarService.open({header:{title:"script-panel.title"},children:{label:ScriptPanelComponentName},width:600})),!0},"handler")};var jsxRuntime={exports:{}},reactJsxRuntime_production_min={};/**
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 f=require$$0,k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;g!==void 0&&(e=""+g),a.key!==void 0&&(e=""+a.key),a.ref!==void 0&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)d[b]===void 0&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}__name(q,"q");reactJsxRuntime_production_min.Fragment=l;reactJsxRuntime_production_min.jsx=q;reactJsxRuntime_production_min.jsxs=q;jsxRuntime.exports=reactJsxRuntime_production_min;var jsxRuntimeExports=jsxRuntime.exports;const _ScriptEditorService=class _ScriptEditorService extends core.Disposable{constructor(_config){super();__publicField(this,"_editorInstance",null);this._config=_config}setEditorInstance(editor){return this._editorInstance=editor,core.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}};__name(_ScriptEditorService,"ScriptEditorService");let ScriptEditorService=_ScriptEditorService;var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");const IUniscriptExecutionService=core.createIdentifier("univer.uniscript.execution-service");var _a;let UniscriptExecutionService=(_a=class extends core.Disposable{constructor(_logService,_injector){super(),this._logService=_logService,this._injector=_injector}async execute(code){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const apiInstance=facade.FUniver.newAPI(this._injector),scriptFunction=new Function("univerAPI",`(() => {${code}})()`);try{return scriptFunction(apiInstance),!0}catch(e){return this._logService.error(e),!1}}},__name(_a,"UniscriptExecutionService"),_a);UniscriptExecutionService=__decorateClass$2([__decorateParam$2(0,core.ILogService),__decorateParam$2(1,core.Inject(core.Injector))],UniscriptExecutionService);const scriptEditorPanel="univer-script-editor-panel",scriptEditorContent="univer-script-editor-content",scriptEditorActions="univer-script-editor-actions",styles={scriptEditorPanel,scriptEditorContent,scriptEditorActions};function ScriptEditorPanel(){const editorContentRef=require$$0.useRef(null),editorContainerRef=require$$0.useRef(null),monacoEditorRef=require$$0.useRef(null),localeService=core.useDependency(core.LocaleService),shortcutService=core.useDependency(ui.IShortcutService),editorService=core.useDependency(ScriptEditorService);require$$0.useEffect(()=>{const containerElement=editorContainerRef.current,contentElement=editorContentRef.current;let disposableCollection=null,resizeObserver=null;if(containerElement&&contentElement){editorService.requireVscodeEditor();const monacoEditor$1=monacoEditorRef.current=monacoEditor.editor.create(containerElement,{value:"",language:"javascript"});resizeObserver=new ResizeObserver(()=>{let timer=requestIdleCallback(()=>{if(!timer)return;const{height,width}=contentElement.getBoundingClientRect();monacoEditor$1.layout({width,height}),timer=void 0})}),resizeObserver.observe(contentElement);let terminateEscaping;disposableCollection=new core.DisposableCollection,disposableCollection.add(editorService.setEditorInstance(monacoEditor$1)),disposableCollection.add(monacoEditor$1.onDidFocusEditorWidget(()=>{terminateEscaping=shortcutService.forceEscape()})),disposableCollection.add(monacoEditor$1.onDidBlurEditorWidget(()=>{terminateEscaping==null||terminateEscaping.dispose(),terminateEscaping=void 0})),disposableCollection.add(core.toDisposable(()=>terminateEscaping==null?void 0:terminateEscaping.dispose()))}return()=>{resizeObserver&&contentElement&&resizeObserver.unobserve(contentElement),disposableCollection==null||disposableCollection.dispose()}},[editorService,shortcutService]);const startExecution=useExecution(monacoEditorRef);return jsxRuntimeExports.jsxs("div",{className:styles.scriptEditorPanel,children:[jsxRuntimeExports.jsx("div",{className:styles.scriptEditorContent,ref:editorContentRef,children:jsxRuntimeExports.jsx("div",{className:styles.scriptEditorContainer,ref:editorContainerRef})}),jsxRuntimeExports.jsx("div",{className:styles.scriptEditorActions,children:jsxRuntimeExports.jsx(design.Button,{type:"primary",size:"small",onClick:startExecution,children:localeService.t("script-panel.panel.execute")})})]})}__name(ScriptEditorPanel,"ScriptEditorPanel");function useExecution(monacoEditorRef){const scriptService=core.useDependency(IUniscriptExecutionService),messageService=core.useDependency(ui.IMessageService),localeService=core.useDependency(core.LocaleService);return require$$0.useCallback(()=>{var _a4;const model=(_a4=monacoEditorRef.current)==null?void 0:_a4.getModel();model&&scriptService.execute(model.getValue()).then(()=>{messageService.show({content:localeService.t("uniscript.message.success"),type:design.MessageType.Success})}).catch(()=>{messageService.show({content:localeService.t("uniscript.message.failed"),type:design.MessageType.Error})})},[localeService,messageService,monacoEditorRef,scriptService])}__name(useExecution,"useExecution");function UniscriptMenuItemFactory(accessor){return{id:ToggleScriptPanelOperation.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:ui.MenuItemType.BUTTON,positions:[ui.MenuPosition.TOOLBAR_START],hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),disabled$:sheetsUi.getCurrentRangeDisable$(accessor,{workbookTypes:[sheets.WorkbookEditablePermission],worksheetTypes:[sheets.WorksheetEditPermission,sheets.WorksheetSetCellStylePermission,sheets.WorksheetSetCellValuePermission],rangeTypes:[sheets.RangeProtectionPermissionEditPoint]})}}__name(UniscriptMenuItemFactory,"UniscriptMenuItemFactory");var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1");const DefaultUniscriptConfig={};var _a2;let UniscriptController=(_a2=class extends core.Disposable{constructor(_config,_injector,_menuService,commandService,componentManager){super(),this._config=_config,this._injector=_injector,this._menuService=_menuService;const{menu={}}=this._config;this.disposeWithMe(_menuService.addMenuItem(this._injector.invoke(UniscriptMenuItemFactory),menu)),this.disposeWithMe(componentManager.register(ScriptPanelComponentName,ScriptEditorPanel)),this.disposeWithMe(commandService.registerCommand(ToggleScriptPanelOperation))}},__name(_a2,"UniscriptController"),_a2);UniscriptController=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Steady,UniscriptController),__decorateParam$1(1,core.Inject(core.Injector)),__decorateParam$1(2,ui.IMenuService),__decorateParam$1(3,core.ICommandService),__decorateParam$1(4,core.Inject(ui.ComponentManager))],UniscriptController);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");const PLUGIN_NAME="uniscript";var _a3;exports.UniverUniscriptPlugin=(_a3=class extends core.Plugin{constructor(_config={},_injector,_localeService){super(),this._config=_config,this._injector=_injector,this._localeService=_localeService,this._config=core.Tools.deepMerge({},DefaultUniscriptConfig,this._config)}onStarting(){const injector=this._injector;[[UniscriptController,{useFactory:__name(()=>injector.createInstance(UniscriptController,this._config),"useFactory")}],[ScriptEditorService,{useFactory:__name(()=>injector.createInstance(ScriptEditorService,this._config),"useFactory")}],[ScriptPanelService]].forEach(d=>injector.add(d)),this.registerExecution()}registerExecution(){this._injector.add([IUniscriptExecutionService,{useClass:UniscriptExecutionService}])}},__name(_a3,"UniverUniscriptPlugin"),__publicField(_a3,"pluginName",PLUGIN_NAME),_a3);exports.UniverUniscriptPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.Inject(core.LocaleService))],exports.UniverUniscriptPlugin);exports.IUniscriptExecutionService=IUniscriptExecutionService;exports.ScriptEditorService=ScriptEditorService;exports.ToggleScriptPanelOperation=ToggleScriptPanelOperation;
package/lib/es/index.js CHANGED
@@ -1,22 +1,21 @@
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
- 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";
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
- import { useDependency as p } from "@wendellhu/redi/react-bindings";
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 {
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
5
+ import { Disposable, CommandType, toDisposable, createIdentifier, Inject, Injector, ILogService, useDependency, LocaleService, DisposableCollection, UniverInstanceType, OnLifecycle, LifecycleStages, ICommandService, Plugin, Tools } from "@univerjs/core";
6
+ import { ISidebarService, IShortcutService, IMessageService, MenuItemType, MenuPosition, getMenuHiddenObservable, ComponentManager, IMenuService } from "@univerjs/ui";
7
+ import { BehaviorSubject, distinctUntilChanged } from "rxjs";
8
+ import require$$0, { useRef, useEffect, useCallback } from "react";
9
+ import { Button, MessageType } from "@univerjs/design";
10
+ import { editor } from "monaco-editor";
11
+ import { FUniver } from "@univerjs/facade";
12
+ import { getCurrentRangeDisable$ } from "@univerjs/sheets-ui";
13
+ import { WorkbookEditablePermission, WorksheetEditPermission, WorksheetSetCellStylePermission, WorksheetSetCellValuePermission, RangeProtectionPermissionEditPoint } from "@univerjs/sheets";
14
+ const _ScriptPanelService = class _ScriptPanelService extends Disposable {
16
15
  constructor() {
17
16
  super(...arguments);
18
- u(this, "_open$", new le(!1));
19
- u(this, "open$", this._open$.pipe(pe()));
17
+ __publicField(this, "_open$", new BehaviorSubject(!1));
18
+ __publicField(this, "open$", this._open$.pipe(distinctUntilChanged()));
20
19
  }
21
20
  get isOpen() {
22
21
  return this._open$.getValue();
@@ -30,20 +29,22 @@ class M extends S {
30
29
  close() {
31
30
  this._open$.next(!1);
32
31
  }
33
- }
34
- const D = "ScriptPanel", N = {
35
- type: k.OPERATION,
32
+ };
33
+ __name(_ScriptPanelService, "ScriptPanelService");
34
+ let ScriptPanelService = _ScriptPanelService;
35
+ const ScriptPanelComponentName = "ScriptPanel", ToggleScriptPanelOperation = {
36
+ type: CommandType.OPERATION,
36
37
  id: "univer.operation.toggle-script-panel",
37
- handler: (t) => {
38
- const e = t.get(M), r = t.get(ee);
39
- return e.isOpen ? (e.close(), r.close()) : (e.open(), r.open({
38
+ handler: /* @__PURE__ */ __name((accessor) => {
39
+ const scriptPanelService = accessor.get(ScriptPanelService), sidebarService = accessor.get(ISidebarService);
40
+ return scriptPanelService.isOpen ? (scriptPanelService.close(), sidebarService.close()) : (scriptPanelService.open(), sidebarService.open({
40
41
  header: { title: "script-panel.title" },
41
- children: { label: D },
42
+ children: { label: ScriptPanelComponentName },
42
43
  width: 600
43
44
  })), !0;
44
- }
45
+ }, "handler")
45
46
  };
46
- var W = { exports: {} }, E = {};
47
+ var jsxRuntime = { exports: {} }, reactJsxRuntime_production_min = {};
47
48
  /**
48
49
  * @license React
49
50
  * react-jsx-runtime.production.min.js
@@ -53,27 +54,28 @@ var W = { exports: {} }, E = {};
53
54
  * This source code is licensed under the MIT license found in the
54
55
  * LICENSE file in the root directory of this source tree.
55
56
  */
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) Ie.call(e, i) && !Ce.hasOwnProperty(i) && (n[i] = e[i]);
61
- if (t && t.defaultProps) for (i in e = t.defaultProps, e) n[i] === void 0 && (n[i] = e[i]);
62
- return { $$typeof: xe, type: t, key: o, ref: s, props: n, _owner: be.current };
57
+ var f = require$$0, k = Symbol.for("react.element"), l = Symbol.for("react.fragment"), m = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = { key: !0, ref: !0, __self: !0, __source: !0 };
58
+ function q(c, a, g) {
59
+ var b, d = {}, e = null, h = null;
60
+ g !== void 0 && (e = "" + g), a.key !== void 0 && (e = "" + a.key), a.ref !== void 0 && (h = a.ref);
61
+ for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
62
+ if (c && c.defaultProps) for (b in a = c.defaultProps, a) d[b] === void 0 && (d[b] = a[b]);
63
+ return { $$typeof: k, type: c, key: e, ref: h, props: d, _owner: n.current };
63
64
  }
64
- E.Fragment = Oe;
65
- E.jsx = A;
66
- E.jsxs = A;
67
- W.exports = E;
68
- var d = W.exports;
69
- class x extends S {
70
- constructor(r) {
65
+ __name(q, "q");
66
+ reactJsxRuntime_production_min.Fragment = l;
67
+ reactJsxRuntime_production_min.jsx = q;
68
+ reactJsxRuntime_production_min.jsxs = q;
69
+ jsxRuntime.exports = reactJsxRuntime_production_min;
70
+ var jsxRuntimeExports = jsxRuntime.exports;
71
+ const _ScriptEditorService = class _ScriptEditorService extends Disposable {
72
+ constructor(_config) {
71
73
  super();
72
- u(this, "_editorInstance", null);
73
- this._config = r;
74
+ __publicField(this, "_editorInstance", null);
75
+ this._config = _config;
74
76
  }
75
- setEditorInstance(r) {
76
- return this._editorInstance = r, U(() => this._editorInstance = null);
77
+ setEditorInstance(editor2) {
78
+ return this._editorInstance = editor2, toDisposable(() => this._editorInstance = null);
77
79
  }
78
80
  getEditorInstance() {
79
81
  return this._editorInstance;
@@ -83,160 +85,166 @@ class x extends S {
83
85
  getWorkerUrl: this._config.getWorkerUrl
84
86
  });
85
87
  }
86
- }
87
- var we = Object.defineProperty, je = Object.getOwnPropertyDescriptor, $e = (t, e, r, i) => {
88
- for (var n = i > 1 ? void 0 : i ? je(e, r) : e, o = t.length - 1, s; o >= 0; o--)
89
- (s = t[o]) && (n = (i ? s(e, r, n) : s(n)) || n);
90
- return i && n && we(e, r, n), n;
91
- }, $ = (t, e) => (r, i) => e(r, i, t);
92
- const F = Z("univer.uniscript.execution-service");
93
- let O = class extends S {
94
- constructor(t, e) {
95
- super(), this._logService = t, this._injector = e;
96
- }
97
- async execute(t) {
88
+ };
89
+ __name(_ScriptEditorService, "ScriptEditorService");
90
+ let ScriptEditorService = _ScriptEditorService;
91
+ var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
92
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
93
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
94
+ return kind && result && __defProp$2(target, key, result), result;
95
+ }, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2");
96
+ const IUniscriptExecutionService = createIdentifier("univer.uniscript.execution-service");
97
+ var _a;
98
+ let UniscriptExecutionService = (_a = class extends Disposable {
99
+ constructor(_logService, _injector) {
100
+ super(), this._logService = _logService, this._injector = _injector;
101
+ }
102
+ async execute(code) {
98
103
  this._logService.log("[UniscriptExecutionService]", "executing Uniscript...");
99
- const e = _e.newAPI(this._injector), r = new Function("univerAPI", `(() => {${t}})()`);
104
+ const apiInstance = FUniver.newAPI(this._injector), scriptFunction = new Function("univerAPI", `(() => {${code}})()`);
100
105
  try {
101
- return r(e), !0;
102
- } catch (i) {
103
- return this._logService.error(i), !1;
106
+ return scriptFunction(apiInstance), !0;
107
+ } catch (e) {
108
+ return this._logService.error(e), !1;
104
109
  }
105
110
  }
111
+ }, __name(_a, "UniscriptExecutionService"), _a);
112
+ UniscriptExecutionService = __decorateClass$2([
113
+ __decorateParam$2(0, ILogService),
114
+ __decorateParam$2(1, Inject(Injector))
115
+ ], UniscriptExecutionService);
116
+ const scriptEditorPanel = "univer-script-editor-panel", scriptEditorContent = "univer-script-editor-content", scriptEditorActions = "univer-script-editor-actions", styles = {
117
+ scriptEditorPanel,
118
+ scriptEditorContent,
119
+ scriptEditorActions
106
120
  };
107
- O = $e([
108
- $(0, z),
109
- $(1, f(b))
110
- ], O);
111
- const Re = "univer-script-editor-panel", Te = "univer-script-editor-content", Ue = "univer-script-editor-actions", h = {
112
- scriptEditorPanel: Re,
113
- scriptEditorContent: Te,
114
- scriptEditorActions: Ue
115
- };
116
- function Me() {
117
- const t = P(null), e = P(null), r = P(null), i = p(I), n = p(te), o = p(x);
118
- ue(() => {
119
- const C = e.current, a = t.current;
120
- let c = null, _ = null;
121
- if (C && a) {
122
- o.requireVscodeEditor();
123
- const m = r.current = fe.create(C, {
121
+ function ScriptEditorPanel() {
122
+ const editorContentRef = useRef(null), editorContainerRef = useRef(null), monacoEditorRef = useRef(null), localeService = useDependency(LocaleService), shortcutService = useDependency(IShortcutService), editorService = useDependency(ScriptEditorService);
123
+ useEffect(() => {
124
+ const containerElement = editorContainerRef.current, contentElement = editorContentRef.current;
125
+ let disposableCollection = null, resizeObserver = null;
126
+ if (containerElement && contentElement) {
127
+ editorService.requireVscodeEditor();
128
+ const monacoEditor = monacoEditorRef.current = editor.create(containerElement, {
124
129
  value: "",
125
130
  language: "javascript"
126
131
  });
127
- _ = new ResizeObserver(() => {
128
- let w = requestIdleCallback(() => {
129
- if (!w) return;
130
- const { height: L, width: B } = a.getBoundingClientRect();
131
- m.layout({ width: B, height: L }), w = void 0;
132
+ resizeObserver = new ResizeObserver(() => {
133
+ let timer = requestIdleCallback(() => {
134
+ if (!timer) return;
135
+ const { height, width } = contentElement.getBoundingClientRect();
136
+ monacoEditor.layout({ width, height }), timer = void 0;
132
137
  });
133
- }), _.observe(a);
134
- let l;
135
- c = new H(), c.add(o.setEditorInstance(m)), c.add(
136
- m.onDidFocusEditorWidget(() => {
137
- l = n.forceEscape();
138
+ }), resizeObserver.observe(contentElement);
139
+ let terminateEscaping;
140
+ disposableCollection = new DisposableCollection(), disposableCollection.add(editorService.setEditorInstance(monacoEditor)), disposableCollection.add(
141
+ monacoEditor.onDidFocusEditorWidget(() => {
142
+ terminateEscaping = shortcutService.forceEscape();
138
143
  })
139
- ), c.add(
140
- m.onDidBlurEditorWidget(() => {
141
- l == null || l.dispose(), l = void 0;
144
+ ), disposableCollection.add(
145
+ monacoEditor.onDidBlurEditorWidget(() => {
146
+ terminateEscaping == null || terminateEscaping.dispose(), terminateEscaping = void 0;
142
147
  })
143
- ), c.add(U(() => l == null ? void 0 : l.dispose()));
148
+ ), disposableCollection.add(toDisposable(() => terminateEscaping == null ? void 0 : terminateEscaping.dispose()));
144
149
  }
145
150
  return () => {
146
- _ && a && _.unobserve(a), c == null || c.dispose();
151
+ resizeObserver && contentElement && resizeObserver.unobserve(contentElement), disposableCollection == null || disposableCollection.dispose();
147
152
  };
148
- }, [o, n]);
149
- 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") }) })
153
+ }, [editorService, shortcutService]);
154
+ const startExecution = useExecution(monacoEditorRef);
155
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles.scriptEditorPanel, children: [
156
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.scriptEditorContent, ref: editorContentRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.scriptEditorContainer, ref: editorContainerRef }) }),
157
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.scriptEditorActions, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { type: "primary", size: "small", onClick: startExecution, children: localeService.t("script-panel.panel.execute") }) })
153
158
  ] });
154
159
  }
155
- function De(t) {
156
- const e = p(F), r = p(re), i = p(I);
157
- return de(() => {
158
- var o;
159
- const n = (o = t.current) == null ? void 0 : o.getModel();
160
- n && e.execute(n.getValue()).then(() => {
161
- r.show({
162
- content: i.t("uniscript.message.success"),
163
- type: j.Success
160
+ __name(ScriptEditorPanel, "ScriptEditorPanel");
161
+ function useExecution(monacoEditorRef) {
162
+ const scriptService = useDependency(IUniscriptExecutionService), messageService = useDependency(IMessageService), localeService = useDependency(LocaleService);
163
+ return useCallback(() => {
164
+ var _a4;
165
+ const model = (_a4 = monacoEditorRef.current) == null ? void 0 : _a4.getModel();
166
+ model && scriptService.execute(model.getValue()).then(() => {
167
+ messageService.show({
168
+ content: localeService.t("uniscript.message.success"),
169
+ type: MessageType.Success
164
170
  });
165
171
  }).catch(() => {
166
- r.show({
167
- content: i.t("uniscript.message.failed"),
168
- type: j.Error
172
+ messageService.show({
173
+ content: localeService.t("uniscript.message.failed"),
174
+ type: MessageType.Error
169
175
  });
170
176
  });
171
- }, [i, r, t, e]);
177
+ }, [localeService, messageService, monacoEditorRef, scriptService]);
172
178
  }
173
- function Ne(t) {
179
+ __name(useExecution, "useExecution");
180
+ function UniscriptMenuItemFactory(accessor) {
174
181
  return {
175
- id: N.id,
182
+ id: ToggleScriptPanelOperation.id,
176
183
  title: "toggle-script-panel",
177
184
  tooltip: "script-panel.tooltip.menu-button",
178
185
  icon: "CodeSingle",
179
- type: ie.BUTTON,
180
- positions: [ne.TOOLBAR_START],
186
+ type: MenuItemType.BUTTON,
187
+ positions: [MenuPosition.TOOLBAR_START],
181
188
  // 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] })
189
+ hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
190
+ disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission, WorksheetSetCellValuePermission], rangeTypes: [RangeProtectionPermissionEditPoint] })
184
191
  };
185
192
  }
186
- var We = Object.defineProperty, Ae = Object.getOwnPropertyDescriptor, Fe = (t, e, r, i) => {
187
- for (var n = i > 1 ? void 0 : i ? Ae(e, r) : e, o = t.length - 1, s; o >= 0; o--)
188
- (s = t[o]) && (n = (i ? s(e, r, n) : s(n)) || n);
189
- return i && n && We(e, r, n), n;
190
- }, g = (t, e) => (r, i) => e(r, i, t);
191
- const Le = {};
192
- let v = class extends S {
193
- constructor(t, e, r, i, n) {
194
- super(), this._config = t, this._injector = e, this._menuService = r;
195
- const { menu: o = {} } = this._config;
196
- this.disposeWithMe(r.addMenuItem(this._injector.invoke(Ne), o)), this.disposeWithMe(n.register(D, Me)), this.disposeWithMe(i.registerCommand(N));
197
- }
198
- };
199
- v = Fe([
200
- J(Y.Steady, v),
201
- g(1, f(b)),
202
- g(2, ce),
203
- g(3, K),
204
- g(4, f(se))
205
- ], v);
206
- var Be = Object.defineProperty, Ve = Object.getOwnPropertyDescriptor, qe = (t, e, r, i) => {
207
- for (var n = i > 1 ? void 0 : i ? Ve(e, r) : e, o = t.length - 1, s; o >= 0; o--)
208
- (s = t[o]) && (n = (i ? s(e, r, n) : s(n)) || n);
209
- return i && n && Be(e, r, n), n;
210
- }, R = (t, e) => (r, i) => e(r, i, t);
211
- const ke = "uniscript";
212
- var y;
213
- let T = (y = class extends Q {
214
- constructor(t = {}, e, r) {
215
- super(), this._config = t, this._injector = e, this._localeService = r, this._config = X.deepMerge({}, Le, this._config);
216
- }
217
- onStarting(t) {
193
+ __name(UniscriptMenuItemFactory, "UniscriptMenuItemFactory");
194
+ var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
195
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
196
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
197
+ return kind && result && __defProp$1(target, key, result), result;
198
+ }, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1");
199
+ const DefaultUniscriptConfig = {};
200
+ var _a2;
201
+ let UniscriptController = (_a2 = class extends Disposable {
202
+ constructor(_config, _injector, _menuService, commandService, componentManager) {
203
+ super(), this._config = _config, this._injector = _injector, this._menuService = _menuService;
204
+ const { menu = {} } = this._config;
205
+ this.disposeWithMe(_menuService.addMenuItem(this._injector.invoke(UniscriptMenuItemFactory), menu)), this.disposeWithMe(componentManager.register(ScriptPanelComponentName, ScriptEditorPanel)), this.disposeWithMe(commandService.registerCommand(ToggleScriptPanelOperation));
206
+ }
207
+ }, __name(_a2, "UniscriptController"), _a2);
208
+ UniscriptController = __decorateClass$1([
209
+ OnLifecycle(LifecycleStages.Steady, UniscriptController),
210
+ __decorateParam$1(1, Inject(Injector)),
211
+ __decorateParam$1(2, IMenuService),
212
+ __decorateParam$1(3, ICommandService),
213
+ __decorateParam$1(4, Inject(ComponentManager))
214
+ ], UniscriptController);
215
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
216
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
217
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
218
+ return kind && result && __defProp2(target, key, result), result;
219
+ }, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam");
220
+ const PLUGIN_NAME = "uniscript";
221
+ var _a3;
222
+ let UniverUniscriptPlugin = (_a3 = class extends Plugin {
223
+ constructor(_config = {}, _injector, _localeService) {
224
+ super(), this._config = _config, this._injector = _injector, this._localeService = _localeService, this._config = Tools.deepMerge({}, DefaultUniscriptConfig, this._config);
225
+ }
226
+ onStarting() {
227
+ const injector = this._injector;
218
228
  [
219
- // controllers
220
- [v, { useFactory: () => t.createInstance(v, this._config) }],
221
- // services
222
- [x, { useFactory: () => t.createInstance(x, this._config) }],
223
- [M]
224
- ].forEach((r) => t.add(r)), this.registerExecution();
229
+ [UniscriptController, { useFactory: /* @__PURE__ */ __name(() => injector.createInstance(UniscriptController, this._config), "useFactory") }],
230
+ [ScriptEditorService, { useFactory: /* @__PURE__ */ __name(() => injector.createInstance(ScriptEditorService, this._config), "useFactory") }],
231
+ [ScriptPanelService]
232
+ ].forEach((d) => injector.add(d)), this.registerExecution();
225
233
  }
226
234
  /**
227
235
  * Allows being overridden, replacing with a new UniscriptExecutionService.
228
236
  */
229
237
  registerExecution() {
230
- this._injector.add([F, { useClass: O }]);
238
+ this._injector.add([IUniscriptExecutionService, { useClass: UniscriptExecutionService }]);
231
239
  }
232
- }, u(y, "pluginName", ke), y);
233
- T = qe([
234
- R(1, f(b)),
235
- R(2, f(I))
236
- ], T);
240
+ }, __name(_a3, "UniverUniscriptPlugin"), __publicField(_a3, "pluginName", PLUGIN_NAME), _a3);
241
+ UniverUniscriptPlugin = __decorateClass([
242
+ __decorateParam(1, Inject(Injector)),
243
+ __decorateParam(2, Inject(LocaleService))
244
+ ], UniverUniscriptPlugin);
237
245
  export {
238
- F as IUniscriptExecutionService,
239
- x as ScriptEditorService,
240
- N as ToggleScriptPanelOperation,
241
- T as UniverUniscriptPlugin
246
+ IUniscriptExecutionService,
247
+ ScriptEditorService,
248
+ ToggleScriptPanelOperation,
249
+ UniverUniscriptPlugin
242
250
  };
@@ -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 {
@@ -8,7 +7,7 @@ export declare class UniverUniscriptPlugin extends Plugin {
8
7
  private readonly _localeService;
9
8
  static pluginName: string;
10
9
  constructor(_config: Partial<IUniverUniscriptConfig>, _injector: Injector, _localeService: LocaleService);
11
- onStarting(injector: Injector): void;
10
+ onStarting(): void;
12
11
  /**
13
12
  * Allows being overridden, replacing with a new UniscriptExecutionService.
14
13
  */
@@ -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(global,factory){typeof exports=="object"&&typeof module<"u"?factory(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"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverUniscript={},global.UniverCore,global.UniverUi,global.rxjs,global.React,global.UniverDesign,global.monaco,global.UniverFacade,global.UniverSheetsUi,global.UniverSheets))})(this,function(exports2,core,ui,rxjs,require$$0,design,monacoEditor,facade,sheetsUi,sheets){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b,_c;const _ScriptPanelService=class _ScriptPanelService extends core.Disposable{constructor(){super(...arguments);__publicField(this,"_open$",new rxjs.BehaviorSubject(!1));__publicField(this,"open$",this._open$.pipe(rxjs.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)}};__name(_ScriptPanelService,"ScriptPanelService");let ScriptPanelService=_ScriptPanelService;const ScriptPanelComponentName="ScriptPanel",ToggleScriptPanelOperation={type:core.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:__name(accessor=>{const scriptPanelService=accessor.get(ScriptPanelService),sidebarService=accessor.get(ui.ISidebarService);return scriptPanelService.isOpen?(scriptPanelService.close(),sidebarService.close()):(scriptPanelService.open(),sidebarService.open({header:{title:"script-panel.title"},children:{label:ScriptPanelComponentName},width:600})),!0},"handler")};var jsxRuntime={exports:{}},reactJsxRuntime_production_min={};/**
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 f=require$$0,k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;g!==void 0&&(e=""+g),a.key!==void 0&&(e=""+a.key),a.ref!==void 0&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)d[b]===void 0&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}__name(q,"q"),reactJsxRuntime_production_min.Fragment=l,reactJsxRuntime_production_min.jsx=q,reactJsxRuntime_production_min.jsxs=q,jsxRuntime.exports=reactJsxRuntime_production_min;var jsxRuntimeExports=jsxRuntime.exports;const _ScriptEditorService=class _ScriptEditorService extends core.Disposable{constructor(_config){super();__publicField(this,"_editorInstance",null);this._config=_config}setEditorInstance(editor){return this._editorInstance=editor,core.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}};__name(_ScriptEditorService,"ScriptEditorService");let ScriptEditorService=_ScriptEditorService;var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");const IUniscriptExecutionService=core.createIdentifier("univer.uniscript.execution-service");let UniscriptExecutionService=(_a=class extends core.Disposable{constructor(_logService,_injector){super(),this._logService=_logService,this._injector=_injector}async execute(code){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const apiInstance=facade.FUniver.newAPI(this._injector),scriptFunction=new Function("univerAPI",`(() => {${code}})()`);try{return scriptFunction(apiInstance),!0}catch(e){return this._logService.error(e),!1}}},__name(_a,"UniscriptExecutionService"),_a);UniscriptExecutionService=__decorateClass$2([__decorateParam$2(0,core.ILogService),__decorateParam$2(1,core.Inject(core.Injector))],UniscriptExecutionService);const styles={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content",scriptEditorActions:"univer-script-editor-actions"};function ScriptEditorPanel(){const editorContentRef=require$$0.useRef(null),editorContainerRef=require$$0.useRef(null),monacoEditorRef=require$$0.useRef(null),localeService=core.useDependency(core.LocaleService),shortcutService=core.useDependency(ui.IShortcutService),editorService=core.useDependency(ScriptEditorService);require$$0.useEffect(()=>{const containerElement=editorContainerRef.current,contentElement=editorContentRef.current;let disposableCollection=null,resizeObserver=null;if(containerElement&&contentElement){editorService.requireVscodeEditor();const monacoEditor$1=monacoEditorRef.current=monacoEditor.editor.create(containerElement,{value:"",language:"javascript"});resizeObserver=new ResizeObserver(()=>{let timer=requestIdleCallback(()=>{if(!timer)return;const{height,width}=contentElement.getBoundingClientRect();monacoEditor$1.layout({width,height}),timer=void 0})}),resizeObserver.observe(contentElement);let terminateEscaping;disposableCollection=new core.DisposableCollection,disposableCollection.add(editorService.setEditorInstance(monacoEditor$1)),disposableCollection.add(monacoEditor$1.onDidFocusEditorWidget(()=>{terminateEscaping=shortcutService.forceEscape()})),disposableCollection.add(monacoEditor$1.onDidBlurEditorWidget(()=>{terminateEscaping==null||terminateEscaping.dispose(),terminateEscaping=void 0})),disposableCollection.add(core.toDisposable(()=>terminateEscaping==null?void 0:terminateEscaping.dispose()))}return()=>{resizeObserver&&contentElement&&resizeObserver.unobserve(contentElement),disposableCollection==null||disposableCollection.dispose()}},[editorService,shortcutService]);const startExecution=useExecution(monacoEditorRef);return jsxRuntimeExports.jsxs("div",{className:styles.scriptEditorPanel,children:[jsxRuntimeExports.jsx("div",{className:styles.scriptEditorContent,ref:editorContentRef,children:jsxRuntimeExports.jsx("div",{className:styles.scriptEditorContainer,ref:editorContainerRef})}),jsxRuntimeExports.jsx("div",{className:styles.scriptEditorActions,children:jsxRuntimeExports.jsx(design.Button,{type:"primary",size:"small",onClick:startExecution,children:localeService.t("script-panel.panel.execute")})})]})}__name(ScriptEditorPanel,"ScriptEditorPanel");function useExecution(monacoEditorRef){const scriptService=core.useDependency(IUniscriptExecutionService),messageService=core.useDependency(ui.IMessageService),localeService=core.useDependency(core.LocaleService);return require$$0.useCallback(()=>{var _a2;const model=(_a2=monacoEditorRef.current)==null?void 0:_a2.getModel();model&&scriptService.execute(model.getValue()).then(()=>{messageService.show({content:localeService.t("uniscript.message.success"),type:design.MessageType.Success})}).catch(()=>{messageService.show({content:localeService.t("uniscript.message.failed"),type:design.MessageType.Error})})},[localeService,messageService,monacoEditorRef,scriptService])}__name(useExecution,"useExecution");function UniscriptMenuItemFactory(accessor){return{id:ToggleScriptPanelOperation.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:ui.MenuItemType.BUTTON,positions:[ui.MenuPosition.TOOLBAR_START],hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),disabled$:sheetsUi.getCurrentRangeDisable$(accessor,{workbookTypes:[sheets.WorkbookEditablePermission],worksheetTypes:[sheets.WorksheetEditPermission,sheets.WorksheetSetCellStylePermission,sheets.WorksheetSetCellValuePermission],rangeTypes:[sheets.RangeProtectionPermissionEditPoint]})}}__name(UniscriptMenuItemFactory,"UniscriptMenuItemFactory");var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1");const DefaultUniscriptConfig={};let UniscriptController=(_b=class extends core.Disposable{constructor(_config,_injector,_menuService,commandService,componentManager){super(),this._config=_config,this._injector=_injector,this._menuService=_menuService;const{menu={}}=this._config;this.disposeWithMe(_menuService.addMenuItem(this._injector.invoke(UniscriptMenuItemFactory),menu)),this.disposeWithMe(componentManager.register(ScriptPanelComponentName,ScriptEditorPanel)),this.disposeWithMe(commandService.registerCommand(ToggleScriptPanelOperation))}},__name(_b,"UniscriptController"),_b);UniscriptController=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Steady,UniscriptController),__decorateParam$1(1,core.Inject(core.Injector)),__decorateParam$1(2,ui.IMenuService),__decorateParam$1(3,core.ICommandService),__decorateParam$1(4,core.Inject(ui.ComponentManager))],UniscriptController);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");const PLUGIN_NAME="uniscript";exports2.UniverUniscriptPlugin=(_c=class extends core.Plugin{constructor(_config={},_injector,_localeService){super(),this._config=_config,this._injector=_injector,this._localeService=_localeService,this._config=core.Tools.deepMerge({},DefaultUniscriptConfig,this._config)}onStarting(){const injector=this._injector;[[UniscriptController,{useFactory:__name(()=>injector.createInstance(UniscriptController,this._config),"useFactory")}],[ScriptEditorService,{useFactory:__name(()=>injector.createInstance(ScriptEditorService,this._config),"useFactory")}],[ScriptPanelService]].forEach(d=>injector.add(d)),this.registerExecution()}registerExecution(){this._injector.add([IUniscriptExecutionService,{useClass:UniscriptExecutionService}])}},__name(_c,"UniverUniscriptPlugin"),__publicField(_c,"pluginName",PLUGIN_NAME),_c),exports2.UniverUniscriptPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.Inject(core.LocaleService))],exports2.UniverUniscriptPlugin),exports2.IUniscriptExecutionService=IUniscriptExecutionService,exports2.ScriptEditorService=ScriptEditorService,exports2.ToggleScriptPanelOperation=ToggleScriptPanelOperation,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/uniscript",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
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.16.0",
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.4",
58
- "@univerjs/sheets": "0.2.4",
59
- "@univerjs/design": "0.2.4",
60
- "@univerjs/facade": "0.2.4",
61
- "@univerjs/sheets-ui": "0.2.4",
62
- "@univerjs/ui": "0.2.4"
56
+ "@univerjs/core": "0.2.6",
57
+ "@univerjs/design": "0.2.6",
58
+ "@univerjs/sheets": "0.2.6",
59
+ "@univerjs/facade": "0.2.6",
60
+ "@univerjs/sheets-ui": "0.2.6",
61
+ "@univerjs/ui": "0.2.6"
63
62
  },
64
63
  "dependencies": {
65
64
  "@univerjs/protocol": "0.1.38-alpha.23"
66
65
  },
67
66
  "devDependencies": {
68
67
  "@types/react": "^18.3.3",
69
- "@wendellhu/redi": "0.16.0",
70
68
  "less": "^4.2.0",
71
69
  "monaco-editor": "0.50.0",
72
70
  "rxjs": "^7.8.1",
73
- "typescript": "^5.5.3",
74
- "vite": "^5.3.4",
75
- "vitest": "^2.0.3",
76
- "@univerjs/core": "0.2.4",
77
- "@univerjs/facade": "0.2.4",
78
- "@univerjs/sheets": "0.2.4",
79
- "@univerjs/sheets-ui": "0.2.4",
80
- "@univerjs/shared": "0.2.4",
81
- "@univerjs/ui": "0.2.4",
82
- "@univerjs/design": "0.2.4"
71
+ "typescript": "^5.5.4",
72
+ "vite": "^5.3.5",
73
+ "vitest": "^2.0.4",
74
+ "@univerjs/core": "0.2.6",
75
+ "@univerjs/design": "0.2.6",
76
+ "@univerjs/shared": "0.2.6",
77
+ "@univerjs/facade": "0.2.6",
78
+ "@univerjs/sheets": "0.2.6",
79
+ "@univerjs/sheets-ui": "0.2.6",
80
+ "@univerjs/ui": "0.2.6"
83
81
  },
84
82
  "univerSpace": {
85
83
  ".": {