@univerjs/uniscript 0.10.14-nightly.202511080715 → 0.11.0-nightly.202511151013

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var q=Object.defineProperty;var k=(t,e,r)=>e in t?q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var d=(t,e,r)=>k(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),c=require("@univerjs/ui"),U=require("rxjs"),v=require("react/jsx-runtime"),E=require("@univerjs/design"),W=require("monaco-editor"),h=require("react"),F=require("@univerjs/core/facade"),g=require("@univerjs/sheets"),V=require("@univerjs/sheets-ui");class D extends o.Disposable{constructor(){super(...arguments);d(this,"_open$",new U.BehaviorSubject(!1));d(this,"open$",this._open$.pipe(U.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 $="ScriptPanel",m={type:o.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(D),r=t.get(c.ISidebarService);return e.isOpen?(e.close(),r.close()):(e.open(),r.open({header:{title:"script-panel.title"},children:{label:$},width:600})),!0}},M="uniscript.config",O={};var L=Object.getOwnPropertyDescriptor,B=(t,e,r,i)=>{for(var n=i>1?void 0:i?L(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},G=(t,e)=>(r,i)=>e(r,i,t);exports.ScriptEditorService=class extends o.Disposable{constructor(r){super();d(this,"_editorInstance",null);this._configService=r}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(r){return this._editorInstance=r,o.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const r=this._configService.getConfig(M);window.MonacoEnvironment={getWorkerUrl:r==null?void 0:r.getWorkerUrl}}}};exports.ScriptEditorService=B([G(0,o.IConfigService)],exports.ScriptEditorService);var A=Object.getOwnPropertyDescriptor,H=(t,e,r,i)=>{for(var n=i>1?void 0:i?A(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},j=(t,e)=>(r,i)=>e(r,i,t);const b=o.createIdentifier("univer.uniscript.execution-service");let y=class extends o.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=F.FUniver.newAPI(this._injector),r=new Function("univerAPI",`(() => {${t}})()`);try{return r(e),!0}catch(i){return this._logService.error(i),!1}}};y=H([j(0,o.ILogService),j(1,o.Inject(o.Injector))],y);function z(){const t=h.useRef(null),e=h.useRef(null),r=h.useRef(null),i=c.useDependency(o.LocaleService),n=c.useDependency(c.IShortcutService),s=c.useDependency(exports.ScriptEditorService),a=c.useDependency(o.ThemeService);h.useEffect(()=>{const C=e.current,p=t.current;let l=null,S=null;if(C&&p){s.requireVscodeEditor();const _=r.current=W.editor.create(C,{value:"",language:"javascript",theme:a.darkMode?"vs-dark":"vs-light"});S=new ResizeObserver(()=>{let x=requestIdleCallback(()=>{if(!x)return;const{height:R,width:N}=p.getBoundingClientRect();_.layout({width:N,height:R}),x=void 0})}),S.observe(p);let u;l=new o.DisposableCollection,l.add(s.setEditorInstance(_)),l.add(_.onDidFocusEditorWidget(()=>{u=n.forceEscape()})),l.add(_.onDidBlurEditorWidget(()=>{u==null||u.dispose(),u=void 0})),l.add(o.toDisposable(()=>u==null?void 0:u.dispose()))}return()=>{S&&p&&S.unobserve(p),l==null||l.dispose()}},[s,n]);const T=K(r);return v.jsxs("div",{className:"univer-h-full",children:[v.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:v.jsx("div",{ref:e})}),v.jsx("div",{className:"univer-mt-2.5",children:v.jsx(E.Button,{variant:"primary",onClick:T,children:i.t("script-panel.panel.execute")})})]})}function K(t){const e=c.useDependency(b),r=c.useDependency(c.IMessageService),i=c.useDependency(o.LocaleService);return h.useCallback(()=>{var s;const n=(s=t.current)==null?void 0:s.getModel();n&&e.execute(n.getValue()).then(()=>{r.show({content:i.t("uniscript.message.success"),type:E.MessageType.Success})}).catch(()=>{r.show({content:i.t("uniscript.message.failed"),type:E.MessageType.Error})})},[i,r,t,e])}function Y(t){return{id:m.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeIcon",type:c.MenuItemType.BUTTON,hidden$:c.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:V.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission,g.WorksheetSetCellValuePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}}const J={[c.RibbonStartGroup.OTHERS]:{[m.id]:{order:2,menuItemFactory:Y}}};var Q=Object.getOwnPropertyDescriptor,X=(t,e,r,i)=>{for(var n=i>1?void 0:i?Q(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},I=(t,e)=>(r,i)=>e(r,i,t);let f=class extends o.Disposable{constructor(t,e,r){super(),this._menuManagerService=t,this._menuManagerService.mergeMenu(J),this.disposeWithMe(r.register($,z)),this.disposeWithMe(e.registerCommand(m))}};f=X([I(0,c.IMenuManagerService),I(1,o.ICommandService),I(2,o.Inject(c.ComponentManager))],f);var Z=Object.getOwnPropertyDescriptor,ee=(t,e,r,i)=>{for(var n=i>1?void 0:i?Z(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},w=(t,e)=>(r,i)=>e(r,i,t);const te="UNIVER_UNISCRIPT_PLUGIN";var P;exports.UniverUniscriptPlugin=(P=class extends o.Plugin{constructor(e=O,r,i){super(),this._config=e,this._injector=r,this._configService=i;const{menu:n,...s}=o.merge({},O,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(M,s)}onStarting(){const e=this._injector;[[f],[exports.ScriptEditorService],[D]].forEach(i=>e.add(i)),this.registerExecution()}onSteady(){this._injector.get(f)}registerExecution(){this._injector.add([b,{useClass:y}])}},d(P,"pluginName",te),P);exports.UniverUniscriptPlugin=ee([w(1,o.Inject(o.Injector)),w(2,o.IConfigService)],exports.UniverUniscriptPlugin);exports.IUniscriptExecutionService=b;exports.ToggleScriptPanelOperation=m;
1
+ "use strict";var q=Object.defineProperty;var k=(t,e,r)=>e in t?q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var d=(t,e,r)=>k(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),c=require("@univerjs/ui"),U=require("rxjs"),v=require("react/jsx-runtime"),E=require("@univerjs/design"),W=require("monaco-editor"),h=require("react"),F=require("@univerjs/core/facade"),g=require("@univerjs/sheets"),V=require("@univerjs/sheets-ui");class D extends o.Disposable{constructor(){super(...arguments);d(this,"_open$",new U.BehaviorSubject(!1));d(this,"open$",this._open$.pipe(U.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 $="ScriptPanel",m={type:o.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(D),r=t.get(c.ISidebarService);return e.isOpen?(e.close(),r.close()):(e.open(),r.open({header:{title:"script-panel.title"},children:{label:$},width:600})),!0}},M="uniscript.config",O={};var L=Object.getOwnPropertyDescriptor,B=(t,e,r,i)=>{for(var n=i>1?void 0:i?L(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},G=(t,e)=>(r,i)=>e(r,i,t);exports.ScriptEditorService=class extends o.Disposable{constructor(r){super();d(this,"_editorInstance",null);this._configService=r}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(r){return this._editorInstance=r,o.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const r=this._configService.getConfig(M);window.MonacoEnvironment={getWorkerUrl:r==null?void 0:r.getWorkerUrl}}}};exports.ScriptEditorService=B([G(0,o.IConfigService)],exports.ScriptEditorService);var A=Object.getOwnPropertyDescriptor,H=(t,e,r,i)=>{for(var n=i>1?void 0:i?A(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},j=(t,e)=>(r,i)=>e(r,i,t);const b=o.createIdentifier("univer.uniscript.execution-service");let y=class extends o.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=F.FUniver.newAPI(this._injector),r=new Function("univerAPI",`(() => {${t}})()`);try{return r(e),!0}catch(i){return this._logService.error(i),!1}}};y=H([j(0,o.ILogService),j(1,o.Inject(o.Injector))],y);function z(){const t=h.useRef(null),e=h.useRef(null),r=h.useRef(null),i=c.useDependency(o.LocaleService),n=c.useDependency(c.IShortcutService),s=c.useDependency(exports.ScriptEditorService),a=c.useDependency(o.ThemeService);h.useEffect(()=>{const C=e.current,p=t.current;let l=null,S=null;if(C&&p){s.requireVscodeEditor();const _=r.current=W.editor.create(C,{value:"",language:"javascript",theme:a.darkMode?"vs-dark":"vs-light"});S=new ResizeObserver(()=>{let x=requestIdleCallback(()=>{if(!x)return;const{height:R,width:N}=p.getBoundingClientRect();_.layout({width:N,height:R}),x=void 0})}),S.observe(p);let u;l=new o.DisposableCollection,l.add(s.setEditorInstance(_)),l.add(_.onDidFocusEditorWidget(()=>{u=n.forceEscape()})),l.add(_.onDidBlurEditorWidget(()=>{u==null||u.dispose(),u=void 0})),l.add(o.toDisposable(()=>u==null?void 0:u.dispose()))}return()=>{S&&p&&S.unobserve(p),l==null||l.dispose()}},[s,n]);const T=K(r);return v.jsxs("div",{className:"univer-h-full",children:[v.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:v.jsx("div",{ref:e})}),v.jsx("div",{className:"univer-mt-2.5",children:v.jsx(E.Button,{variant:"primary",onClick:T,children:i.t("script-panel.panel.execute")})})]})}function K(t){const e=c.useDependency(b),r=c.useDependency(c.IMessageService),i=c.useDependency(o.LocaleService);return h.useCallback(()=>{var s;const n=(s=t.current)==null?void 0:s.getModel();n&&e.execute(n.getValue()).then(()=>{r.show({content:i.t("uniscript.message.success"),type:E.MessageType.Success})}).catch(()=>{r.show({content:i.t("uniscript.message.failed"),type:E.MessageType.Error})})},[i,r,t,e])}function Y(t){return{id:m.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeIcon",type:c.MenuItemType.BUTTON,hidden$:c.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:V.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission,g.WorksheetSetCellValuePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}}const J={[c.RibbonOthersGroup.OTHERS]:{[m.id]:{order:0,menuItemFactory:Y}}};var Q=Object.getOwnPropertyDescriptor,X=(t,e,r,i)=>{for(var n=i>1?void 0:i?Q(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},I=(t,e)=>(r,i)=>e(r,i,t);let f=class extends o.Disposable{constructor(t,e,r){super(),this._menuManagerService=t,this._menuManagerService.mergeMenu(J),this.disposeWithMe(r.register($,z)),this.disposeWithMe(e.registerCommand(m))}};f=X([I(0,c.IMenuManagerService),I(1,o.ICommandService),I(2,o.Inject(c.ComponentManager))],f);var Z=Object.getOwnPropertyDescriptor,ee=(t,e,r,i)=>{for(var n=i>1?void 0:i?Z(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},w=(t,e)=>(r,i)=>e(r,i,t);const te="UNIVER_UNISCRIPT_PLUGIN";var P;exports.UniverUniscriptPlugin=(P=class extends o.Plugin{constructor(e=O,r,i){super(),this._config=e,this._injector=r,this._configService=i;const{menu:n,...s}=o.merge({},O,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(M,s)}onStarting(){const e=this._injector;[[f],[exports.ScriptEditorService],[D]].forEach(i=>e.add(i)),this.registerExecution()}onSteady(){this._injector.get(f)}registerExecution(){this._injector.add([b,{useClass:y}])}},d(P,"pluginName",te),P);exports.UniverUniscriptPlugin=ee([w(1,o.Inject(o.Injector)),w(2,o.IConfigService)],exports.UniverUniscriptPlugin);exports.IUniscriptExecutionService=b;exports.ToggleScriptPanelOperation=m;
@@ -0,0 +1 @@
1
+ "use strict";const t={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Uniscriptパネルを切り替え"},panel:{execute:"スクリプトを実行"}},uniscript:{message:{success:"実行に成功しました",failed:"実行に失敗しました"}}};module.exports=t;
package/lib/es/index.js CHANGED
@@ -2,10 +2,10 @@ var G = Object.defineProperty;
2
2
  var L = (t, e, r) => e in t ? G(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
3
  var p = (t, e, r) => L(t, typeof e != "symbol" ? e + "" : e, r);
4
4
  import { Disposable as _, CommandType as A, toDisposable as M, IConfigService as j, createIdentifier as q, ILogService as H, Inject as E, Injector as N, LocaleService as T, ThemeService as z, DisposableCollection as K, UniverInstanceType as Y, ICommandService as J, Plugin as Q, merge as X } from "@univerjs/core";
5
- import { ISidebarService as Z, useDependency as l, IShortcutService as ee, IMessageService as te, getMenuHiddenObservable as re, MenuItemType as ne, RibbonStartGroup as ie, IMenuManagerService as oe, ComponentManager as se } from "@univerjs/ui";
5
+ import { ISidebarService as Z, useDependency as l, IShortcutService as ee, IMessageService as te, getMenuHiddenObservable as re, MenuItemType as ne, RibbonOthersGroup as ie, IMenuManagerService as oe, ComponentManager as se } from "@univerjs/ui";
6
6
  import { BehaviorSubject as ce, distinctUntilChanged as ae } from "rxjs";
7
7
  import { jsxs as le, jsx as g } from "react/jsx-runtime";
8
- import { Button as ue, MessageType as O } from "@univerjs/design";
8
+ import { Button as ue, MessageType as w } from "@univerjs/design";
9
9
  import { editor as pe } from "monaco-editor";
10
10
  import { useRef as f, useEffect as de, useCallback as ve } from "react";
11
11
  import { FUniver as ge } from "@univerjs/core/facade";
@@ -72,7 +72,7 @@ let h = class extends _ {
72
72
  h = Ee([
73
73
  Ce(0, j)
74
74
  ], h);
75
- var be = Object.getOwnPropertyDescriptor, we = (t, e, r, n) => {
75
+ var be = Object.getOwnPropertyDescriptor, Oe = (t, e, r, n) => {
76
76
  for (var i = n > 1 ? void 0 : n ? be(e, r) : e, o = t.length - 1, s; o >= 0; o--)
77
77
  (s = t[o]) && (i = s(i) || i);
78
78
  return i;
@@ -92,11 +92,11 @@ let P = class extends _ {
92
92
  }
93
93
  }
94
94
  };
95
- P = we([
95
+ P = Oe([
96
96
  y(0, H),
97
97
  y(1, E(N))
98
98
  ], P);
99
- function Oe() {
99
+ function we() {
100
100
  const t = f(null), e = f(null), r = f(null), n = l(T), i = l(ee), o = l(h), s = l(z);
101
101
  de(() => {
102
102
  const b = e.current, u = t.current;
@@ -109,10 +109,10 @@ function Oe() {
109
109
  theme: s.darkMode ? "vs-dark" : "vs-light"
110
110
  });
111
111
  d = new ResizeObserver(() => {
112
- let w = requestIdleCallback(() => {
113
- if (!w) return;
112
+ let O = requestIdleCallback(() => {
113
+ if (!O) return;
114
114
  const { height: V, width: B } = u.getBoundingClientRect();
115
- v.layout({ width: B, height: V }), w = void 0;
115
+ v.layout({ width: B, height: V }), O = void 0;
116
116
  });
117
117
  }), d.observe(u);
118
118
  let a;
@@ -144,12 +144,12 @@ function xe(t) {
144
144
  i && e.execute(i.getValue()).then(() => {
145
145
  r.show({
146
146
  content: n.t("uniscript.message.success"),
147
- type: O.Success
147
+ type: w.Success
148
148
  });
149
149
  }).catch(() => {
150
150
  r.show({
151
151
  content: n.t("uniscript.message.failed"),
152
- type: O.Error
152
+ type: w.Error
153
153
  });
154
154
  });
155
155
  }, [n, r, t, e]);
@@ -169,7 +169,7 @@ function ye(t) {
169
169
  const Ue = {
170
170
  [ie.OTHERS]: {
171
171
  [C.id]: {
172
- order: 2,
172
+ order: 0,
173
173
  menuItemFactory: ye
174
174
  }
175
175
  }
@@ -181,7 +181,7 @@ var $e = Object.getOwnPropertyDescriptor, Me = (t, e, r, n) => {
181
181
  }, S = (t, e) => (r, n) => e(r, n, t);
182
182
  let m = class extends _ {
183
183
  constructor(t, e, r) {
184
- super(), this._menuManagerService = t, this._menuManagerService.mergeMenu(Ue), this.disposeWithMe(r.register(R, Oe)), this.disposeWithMe(e.registerCommand(C));
184
+ super(), this._menuManagerService = t, this._menuManagerService.mergeMenu(Ue), this.disposeWithMe(r.register(R, we)), this.disposeWithMe(e.registerCommand(C));
185
185
  }
186
186
  };
187
187
  m = Me([
@@ -0,0 +1,20 @@
1
+ const e = {
2
+ "script-panel": {
3
+ title: "Uniscript",
4
+ tooltip: {
5
+ "menu-button": "Uniscriptパネルを切り替え"
6
+ },
7
+ panel: {
8
+ execute: "スクリプトを実行"
9
+ }
10
+ },
11
+ uniscript: {
12
+ message: {
13
+ success: "実行に成功しました",
14
+ failed: "実行に失敗しました"
15
+ }
16
+ }
17
+ };
18
+ export {
19
+ e as default
20
+ };
package/lib/index.js CHANGED
@@ -2,10 +2,10 @@ var G = Object.defineProperty;
2
2
  var L = (t, e, r) => e in t ? G(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
3
  var p = (t, e, r) => L(t, typeof e != "symbol" ? e + "" : e, r);
4
4
  import { Disposable as _, CommandType as A, toDisposable as M, IConfigService as j, createIdentifier as q, ILogService as H, Inject as E, Injector as N, LocaleService as T, ThemeService as z, DisposableCollection as K, UniverInstanceType as Y, ICommandService as J, Plugin as Q, merge as X } from "@univerjs/core";
5
- import { ISidebarService as Z, useDependency as l, IShortcutService as ee, IMessageService as te, getMenuHiddenObservable as re, MenuItemType as ne, RibbonStartGroup as ie, IMenuManagerService as oe, ComponentManager as se } from "@univerjs/ui";
5
+ import { ISidebarService as Z, useDependency as l, IShortcutService as ee, IMessageService as te, getMenuHiddenObservable as re, MenuItemType as ne, RibbonOthersGroup as ie, IMenuManagerService as oe, ComponentManager as se } from "@univerjs/ui";
6
6
  import { BehaviorSubject as ce, distinctUntilChanged as ae } from "rxjs";
7
7
  import { jsxs as le, jsx as g } from "react/jsx-runtime";
8
- import { Button as ue, MessageType as O } from "@univerjs/design";
8
+ import { Button as ue, MessageType as w } from "@univerjs/design";
9
9
  import { editor as pe } from "monaco-editor";
10
10
  import { useRef as f, useEffect as de, useCallback as ve } from "react";
11
11
  import { FUniver as ge } from "@univerjs/core/facade";
@@ -72,7 +72,7 @@ let h = class extends _ {
72
72
  h = Ee([
73
73
  Ce(0, j)
74
74
  ], h);
75
- var be = Object.getOwnPropertyDescriptor, we = (t, e, r, n) => {
75
+ var be = Object.getOwnPropertyDescriptor, Oe = (t, e, r, n) => {
76
76
  for (var i = n > 1 ? void 0 : n ? be(e, r) : e, o = t.length - 1, s; o >= 0; o--)
77
77
  (s = t[o]) && (i = s(i) || i);
78
78
  return i;
@@ -92,11 +92,11 @@ let P = class extends _ {
92
92
  }
93
93
  }
94
94
  };
95
- P = we([
95
+ P = Oe([
96
96
  y(0, H),
97
97
  y(1, E(N))
98
98
  ], P);
99
- function Oe() {
99
+ function we() {
100
100
  const t = f(null), e = f(null), r = f(null), n = l(T), i = l(ee), o = l(h), s = l(z);
101
101
  de(() => {
102
102
  const b = e.current, u = t.current;
@@ -109,10 +109,10 @@ function Oe() {
109
109
  theme: s.darkMode ? "vs-dark" : "vs-light"
110
110
  });
111
111
  d = new ResizeObserver(() => {
112
- let w = requestIdleCallback(() => {
113
- if (!w) return;
112
+ let O = requestIdleCallback(() => {
113
+ if (!O) return;
114
114
  const { height: V, width: B } = u.getBoundingClientRect();
115
- v.layout({ width: B, height: V }), w = void 0;
115
+ v.layout({ width: B, height: V }), O = void 0;
116
116
  });
117
117
  }), d.observe(u);
118
118
  let a;
@@ -144,12 +144,12 @@ function xe(t) {
144
144
  i && e.execute(i.getValue()).then(() => {
145
145
  r.show({
146
146
  content: n.t("uniscript.message.success"),
147
- type: O.Success
147
+ type: w.Success
148
148
  });
149
149
  }).catch(() => {
150
150
  r.show({
151
151
  content: n.t("uniscript.message.failed"),
152
- type: O.Error
152
+ type: w.Error
153
153
  });
154
154
  });
155
155
  }, [n, r, t, e]);
@@ -169,7 +169,7 @@ function ye(t) {
169
169
  const Ue = {
170
170
  [ie.OTHERS]: {
171
171
  [C.id]: {
172
- order: 2,
172
+ order: 0,
173
173
  menuItemFactory: ye
174
174
  }
175
175
  }
@@ -181,7 +181,7 @@ var $e = Object.getOwnPropertyDescriptor, Me = (t, e, r, n) => {
181
181
  }, S = (t, e) => (r, n) => e(r, n, t);
182
182
  let m = class extends _ {
183
183
  constructor(t, e, r) {
184
- super(), this._menuManagerService = t, this._menuManagerService.mergeMenu(Ue), this.disposeWithMe(r.register(R, Oe)), this.disposeWithMe(e.registerCommand(C));
184
+ super(), this._menuManagerService = t, this._menuManagerService.mergeMenu(Ue), this.disposeWithMe(r.register(R, we)), this.disposeWithMe(e.registerCommand(C));
185
185
  }
186
186
  };
187
187
  m = Me([
@@ -0,0 +1,20 @@
1
+ const e = {
2
+ "script-panel": {
3
+ title: "Uniscript",
4
+ tooltip: {
5
+ "menu-button": "Uniscriptパネルを切り替え"
6
+ },
7
+ panel: {
8
+ execute: "スクリプトを実行"
9
+ }
10
+ },
11
+ uniscript: {
12
+ message: {
13
+ success: "実行に成功しました",
14
+ failed: "実行に失敗しました"
15
+ }
16
+ }
17
+ };
18
+ export {
19
+ e as default
20
+ };
@@ -0,0 +1,3 @@
1
+ import { default as enUS } from './en-US';
2
+ declare const locale: typeof enUS;
3
+ export default locale;
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(s,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("@univerjs/core"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("monaco-editor"),require("react"),require("@univerjs/core/facade"),require("@univerjs/sheets"),require("@univerjs/sheets-ui")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","monaco-editor","react","@univerjs/core/facade","@univerjs/sheets","@univerjs/sheets-ui"],i):(s=typeof globalThis<"u"?globalThis:s||self,i(s.UniverUniscript={},s.UniverCore,s.UniverUi,s.rxjs,s.React,s.UniverDesign,s.monaco,s.React,s.UniverCoreFacade,s.UniverSheets,s.UniverSheetsUi))})(this,(function(s,i,a,C,p,P,N,v,R,h,q){"use strict";var te=Object.defineProperty;var ne=(s,i,a)=>i in s?te(s,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[i]=a;var S=(s,i,a)=>ne(s,typeof i!="symbol"?i+"":i,a);var y;class O extends i.Disposable{constructor(){super(...arguments);S(this,"_open$",new C.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(C.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 D="ScriptPanel",f={type:i.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(O),n=t.get(a.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:D},width:600})),!0}},w="uniscript.config",b={};var k=Object.getOwnPropertyDescriptor,W=(t,e,n,r)=>{for(var c=r>1?void 0:r?k(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},F=(t,e)=>(n,r)=>e(n,r,t);s.ScriptEditorService=class extends i.Disposable{constructor(n){super();S(this,"_editorInstance",null);this._configService=n}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(n){return this._editorInstance=n,i.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const n=this._configService.getConfig(w);window.MonacoEnvironment={getWorkerUrl:n==null?void 0:n.getWorkerUrl}}}},s.ScriptEditorService=W([F(0,i.IConfigService)],s.ScriptEditorService);var V=Object.getOwnPropertyDescriptor,L=(t,e,n,r)=>{for(var c=r>1?void 0:r?V(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},$=(t,e)=>(n,r)=>e(n,r,t);const E=i.createIdentifier("univer.uniscript.execution-service");let U=class extends i.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=R.FUniver.newAPI(this._injector),n=new Function("univerAPI",`(() => {${t}})()`);try{return n(e),!0}catch(r){return this._logService.error(r),!1}}};U=L([$(0,i.ILogService),$(1,i.Inject(i.Injector))],U);function B(){const t=v.useRef(null),e=v.useRef(null),n=v.useRef(null),r=a.useDependency(i.LocaleService),c=a.useDependency(a.IShortcutService),o=a.useDependency(s.ScriptEditorService),u=a.useDependency(i.ThemeService);v.useEffect(()=>{const x=e.current,g=t.current;let d=null,m=null;if(x&&g){o.requireVscodeEditor();const I=n.current=N.editor.create(x,{value:"",language:"javascript",theme:u.darkMode?"vs-dark":"vs-light"});m=new ResizeObserver(()=>{let M=requestIdleCallback(()=>{if(!M)return;const{height:Z,width:ee}=g.getBoundingClientRect();I.layout({width:ee,height:Z}),M=void 0})}),m.observe(g);let l;d=new i.DisposableCollection,d.add(o.setEditorInstance(I)),d.add(I.onDidFocusEditorWidget(()=>{l=c.forceEscape()})),d.add(I.onDidBlurEditorWidget(()=>{l==null||l.dispose(),l=void 0})),d.add(i.toDisposable(()=>l==null?void 0:l.dispose()))}return()=>{m&&g&&m.unobserve(g),d==null||d.dispose()}},[o,c]);const X=G(n);return p.jsxs("div",{className:"univer-h-full",children:[p.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:p.jsx("div",{ref:e})}),p.jsx("div",{className:"univer-mt-2.5",children:p.jsx(P.Button,{variant:"primary",onClick:X,children:r.t("script-panel.panel.execute")})})]})}function G(t){const e=a.useDependency(E),n=a.useDependency(a.IMessageService),r=a.useDependency(i.LocaleService);return v.useCallback(()=>{var o;const c=(o=t.current)==null?void 0:o.getModel();c&&e.execute(c.getValue()).then(()=>{n.show({content:r.t("uniscript.message.success"),type:P.MessageType.Success})}).catch(()=>{n.show({content:r.t("uniscript.message.failed"),type:P.MessageType.Error})})},[r,n,t,e])}function A(t){return{id:f.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeIcon",type:a.MenuItemType.BUTTON,hidden$:a.getMenuHiddenObservable(t,i.UniverInstanceType.UNIVER_SHEET),disabled$:q.getCurrentRangeDisable$(t,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission,h.WorksheetSetCellValuePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const H={[a.RibbonStartGroup.OTHERS]:{[f.id]:{order:2,menuItemFactory:A}}};var z=Object.getOwnPropertyDescriptor,K=(t,e,n,r)=>{for(var c=r>1?void 0:r?z(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},j=(t,e)=>(n,r)=>e(n,r,t);let _=class extends i.Disposable{constructor(t,e,n){super(),this._menuManagerService=t,this._menuManagerService.mergeMenu(H),this.disposeWithMe(n.register(D,B)),this.disposeWithMe(e.registerCommand(f))}};_=K([j(0,a.IMenuManagerService),j(1,i.ICommandService),j(2,i.Inject(a.ComponentManager))],_);var Y=Object.getOwnPropertyDescriptor,J=(t,e,n,r)=>{for(var c=r>1?void 0:r?Y(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},T=(t,e)=>(n,r)=>e(n,r,t);const Q="UNIVER_UNISCRIPT_PLUGIN";s.UniverUniscriptPlugin=(y=class extends i.Plugin{constructor(e=b,n,r){super(),this._config=e,this._injector=n,this._configService=r;const{menu:c,...o}=i.merge({},b,this._config);c&&this._configService.setConfig("menu",c,{merge:!0}),this._configService.setConfig(w,o)}onStarting(){const e=this._injector;[[_],[s.ScriptEditorService],[O]].forEach(r=>e.add(r)),this.registerExecution()}onSteady(){this._injector.get(_)}registerExecution(){this._injector.add([E,{useClass:U}])}},S(y,"pluginName",Q),y),s.UniverUniscriptPlugin=J([T(1,i.Inject(i.Injector)),T(2,i.IConfigService)],s.UniverUniscriptPlugin),s.IUniscriptExecutionService=E,s.ToggleScriptPanelOperation=f,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(s,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("@univerjs/core"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("monaco-editor"),require("react"),require("@univerjs/core/facade"),require("@univerjs/sheets"),require("@univerjs/sheets-ui")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","monaco-editor","react","@univerjs/core/facade","@univerjs/sheets","@univerjs/sheets-ui"],i):(s=typeof globalThis<"u"?globalThis:s||self,i(s.UniverUniscript={},s.UniverCore,s.UniverUi,s.rxjs,s.React,s.UniverDesign,s.monaco,s.React,s.UniverCoreFacade,s.UniverSheets,s.UniverSheetsUi))})(this,(function(s,i,a,C,p,P,N,v,R,h,q){"use strict";var te=Object.defineProperty;var ne=(s,i,a)=>i in s?te(s,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[i]=a;var S=(s,i,a)=>ne(s,typeof i!="symbol"?i+"":i,a);var y;class O extends i.Disposable{constructor(){super(...arguments);S(this,"_open$",new C.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(C.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 D="ScriptPanel",f={type:i.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(O),n=t.get(a.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:D},width:600})),!0}},w="uniscript.config",b={};var k=Object.getOwnPropertyDescriptor,W=(t,e,n,r)=>{for(var c=r>1?void 0:r?k(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},F=(t,e)=>(n,r)=>e(n,r,t);s.ScriptEditorService=class extends i.Disposable{constructor(n){super();S(this,"_editorInstance",null);this._configService=n}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(n){return this._editorInstance=n,i.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const n=this._configService.getConfig(w);window.MonacoEnvironment={getWorkerUrl:n==null?void 0:n.getWorkerUrl}}}},s.ScriptEditorService=W([F(0,i.IConfigService)],s.ScriptEditorService);var V=Object.getOwnPropertyDescriptor,L=(t,e,n,r)=>{for(var c=r>1?void 0:r?V(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},$=(t,e)=>(n,r)=>e(n,r,t);const E=i.createIdentifier("univer.uniscript.execution-service");let U=class extends i.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=R.FUniver.newAPI(this._injector),n=new Function("univerAPI",`(() => {${t}})()`);try{return n(e),!0}catch(r){return this._logService.error(r),!1}}};U=L([$(0,i.ILogService),$(1,i.Inject(i.Injector))],U);function B(){const t=v.useRef(null),e=v.useRef(null),n=v.useRef(null),r=a.useDependency(i.LocaleService),c=a.useDependency(a.IShortcutService),o=a.useDependency(s.ScriptEditorService),u=a.useDependency(i.ThemeService);v.useEffect(()=>{const x=e.current,g=t.current;let d=null,m=null;if(x&&g){o.requireVscodeEditor();const I=n.current=N.editor.create(x,{value:"",language:"javascript",theme:u.darkMode?"vs-dark":"vs-light"});m=new ResizeObserver(()=>{let M=requestIdleCallback(()=>{if(!M)return;const{height:Z,width:ee}=g.getBoundingClientRect();I.layout({width:ee,height:Z}),M=void 0})}),m.observe(g);let l;d=new i.DisposableCollection,d.add(o.setEditorInstance(I)),d.add(I.onDidFocusEditorWidget(()=>{l=c.forceEscape()})),d.add(I.onDidBlurEditorWidget(()=>{l==null||l.dispose(),l=void 0})),d.add(i.toDisposable(()=>l==null?void 0:l.dispose()))}return()=>{m&&g&&m.unobserve(g),d==null||d.dispose()}},[o,c]);const X=G(n);return p.jsxs("div",{className:"univer-h-full",children:[p.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:p.jsx("div",{ref:e})}),p.jsx("div",{className:"univer-mt-2.5",children:p.jsx(P.Button,{variant:"primary",onClick:X,children:r.t("script-panel.panel.execute")})})]})}function G(t){const e=a.useDependency(E),n=a.useDependency(a.IMessageService),r=a.useDependency(i.LocaleService);return v.useCallback(()=>{var o;const c=(o=t.current)==null?void 0:o.getModel();c&&e.execute(c.getValue()).then(()=>{n.show({content:r.t("uniscript.message.success"),type:P.MessageType.Success})}).catch(()=>{n.show({content:r.t("uniscript.message.failed"),type:P.MessageType.Error})})},[r,n,t,e])}function A(t){return{id:f.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeIcon",type:a.MenuItemType.BUTTON,hidden$:a.getMenuHiddenObservable(t,i.UniverInstanceType.UNIVER_SHEET),disabled$:q.getCurrentRangeDisable$(t,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission,h.WorksheetSetCellValuePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const H={[a.RibbonOthersGroup.OTHERS]:{[f.id]:{order:0,menuItemFactory:A}}};var z=Object.getOwnPropertyDescriptor,K=(t,e,n,r)=>{for(var c=r>1?void 0:r?z(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},j=(t,e)=>(n,r)=>e(n,r,t);let _=class extends i.Disposable{constructor(t,e,n){super(),this._menuManagerService=t,this._menuManagerService.mergeMenu(H),this.disposeWithMe(n.register(D,B)),this.disposeWithMe(e.registerCommand(f))}};_=K([j(0,a.IMenuManagerService),j(1,i.ICommandService),j(2,i.Inject(a.ComponentManager))],_);var Y=Object.getOwnPropertyDescriptor,J=(t,e,n,r)=>{for(var c=r>1?void 0:r?Y(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},T=(t,e)=>(n,r)=>e(n,r,t);const Q="UNIVER_UNISCRIPT_PLUGIN";s.UniverUniscriptPlugin=(y=class extends i.Plugin{constructor(e=b,n,r){super(),this._config=e,this._injector=n,this._configService=r;const{menu:c,...o}=i.merge({},b,this._config);c&&this._configService.setConfig("menu",c,{merge:!0}),this._configService.setConfig(w,o)}onStarting(){const e=this._injector;[[_],[s.ScriptEditorService],[O]].forEach(r=>e.add(r)),this.registerExecution()}onSteady(){this._injector.get(_)}registerExecution(){this._injector.add([E,{useClass:U}])}},S(y,"pluginName",Q),y),s.UniverUniscriptPlugin=J([T(1,i.Inject(i.Injector)),T(2,i.IConfigService)],s.UniverUniscriptPlugin),s.IUniscriptExecutionService=E,s.ToggleScriptPanelOperation=f,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
1
+ (function(e,i){typeof exports=="object"&&typeof module<"u"?module.exports=i():typeof define=="function"&&define.amd?define(i):(e=typeof globalThis<"u"?globalThis:e||self,e.UniverUniscriptJaJP=i())})(this,(function(){"use strict";return{"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Uniscriptパネルを切り替え"},panel:{execute:"スクリプトを実行"}},uniscript:{message:{success:"実行に成功しました",failed:"実行に失敗しました"}}}}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/uniscript",
3
- "version": "0.10.14-nightly.202511080715",
3
+ "version": "0.11.0-nightly.202511151013",
4
4
  "private": false,
5
5
  "description": "UI component library for building exceptional Univer.",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -56,11 +56,11 @@
56
56
  },
57
57
  "dependencies": {
58
58
  "monaco-editor": "0.54.0",
59
- "@univerjs/core": "0.10.14-nightly.202511080715",
60
- "@univerjs/design": "0.10.14-nightly.202511080715",
61
- "@univerjs/ui": "0.10.14-nightly.202511080715",
62
- "@univerjs/sheets": "0.10.14-nightly.202511080715",
63
- "@univerjs/sheets-ui": "0.10.14-nightly.202511080715"
59
+ "@univerjs/core": "0.11.0-nightly.202511151013",
60
+ "@univerjs/design": "0.11.0-nightly.202511151013",
61
+ "@univerjs/sheets-ui": "0.11.0-nightly.202511151013",
62
+ "@univerjs/sheets": "0.11.0-nightly.202511151013",
63
+ "@univerjs/ui": "0.11.0-nightly.202511151013"
64
64
  },
65
65
  "devDependencies": {
66
66
  "postcss": "^8.5.6",
@@ -68,9 +68,9 @@
68
68
  "rxjs": "^7.8.2",
69
69
  "tailwindcss": "3.4.18",
70
70
  "typescript": "^5.9.3",
71
- "vite": "^7.1.12",
71
+ "vite": "^7.2.2",
72
72
  "vitest": "^3.2.4",
73
- "@univerjs-infra/shared": "0.10.14"
73
+ "@univerjs-infra/shared": "0.11.0"
74
74
  },
75
75
  "scripts": {
76
76
  "test": "vitest run",