@univerjs/sheets-numfmt 0.1.14 → 0.1.16

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/umd/index.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(b,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@wendellhu/redi"),require("@univerjs/sheets-ui"),require("rxjs"),require("@univerjs/engine-numfmt"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("rxjs/operators"),require("react"),require("@univerjs/design"),require("@wendellhu/redi/react-bindings")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@wendellhu/redi","@univerjs/sheets-ui","rxjs","@univerjs/engine-numfmt","@univerjs/engine-render","@univerjs/ui","rxjs/operators","react","@univerjs/design","@wendellhu/redi/react-bindings"],a):(b=typeof globalThis<"u"?globalThis:b||self,a(b.UniverSheetsNumfmt={},b.UniverCore,b.UniverSheets,b["@wendellhu/redi"],b.UniverSheetsUi,b.rxjs,b.UniverEngineNumfmt,b.UniverEngineRender,b.UniverUi,b.rxjs.operators,b.React,b.UniverDesign,b["@wendellhu/redi/react-bindings"]))})(this,function(b,a,m,I,x,j,D,me,T,W,y,R,E){"use strict";var xt=Object.defineProperty;var Dt=(b,a,m)=>a in b?xt(b,a,{enumerable:!0,configurable:!0,writable:!0,value:m}):b[a]=m;var ee=(b,a,m)=>(Dt(b,typeof a!="symbol"?a+"":a,m),m);const U={id:"sheet.command.numfmt.set.numfmt",type:a.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;const s=e.get(a.ICommandService),n=e.get(a.IUniverInstanceService),r=e.get(a.IUndoRedoService),i=m.getSheetCommandTarget(n,t);if(!i)return!1;const{unitId:o,subUnitId:l}=i,u=t.values.filter(v=>!!v.pattern),f=t.values.filter(v=>!v.pattern),p=m.transformCellsToRange(o,l,u),c={unitId:o,subUnitId:l,ranges:f.map(v=>({startColumn:v.col,startRow:v.row,endColumn:v.col,endRow:v.row}))},h=[],C=[];if(u.length){Object.keys(p.values).forEach(S=>{const _=p.values[S];_.ranges=m.rangeMerge(_.ranges)}),h.push({id:m.SetNumfmtMutation.id,params:p});const v=m.factorySetNumfmtUndoMutation(e,p);C.push(...v)}if(f.length){c.ranges=m.rangeMerge(c.ranges),h.push({id:m.RemoveNumfmtMutation.id,params:c});const v=m.factoryRemoveNumfmtUndoMutation(e,c);C.push(...v)}const g=a.sequenceExecute(h,s).result;return g&&r.pushUndoRedo({unitID:o,undoMutations:C,redoMutations:h}),g}},te="SHEET_NUMFMT_PLUGIN",F=e=>D.getInfo(e).type||"unknown",B=(e,t,s)=>{const n=D.getInfo(e),r=s===a.LocaleType.ZH_CN?"zh-CN":"en",i=n._partitions[1],o=D.format(e,t,{locale:r});return t<0?{result:o,color:i.color}:{result:o}};var Ne=Object.defineProperty,Ee=Object.getOwnPropertyDescriptor,Re=(e,t,s,n)=>{for(var r=n>1?void 0:n?Ee(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&Ne(t,s,r),r},L=(e,t)=>(s,n)=>t(s,n,e);let G=class extends a.Disposable{constructor(e,t,s,n,r,i){super(),this._instanceService=e,this._sheetInterceptorService=t,this._themeService=s,this._commandService=n,this._numfmtService=r,this._localeService=i,this._initInterceptorCellContent()}_initInterceptorCellContent(){const e=new a.ObjectMatrix;this.disposeWithMe(this._sheetInterceptorService.intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(t,s,n)=>{const r=s.unitId,i=s.subUnitId,o=this._numfmtService.getValue(r,i,s.row,s.col);if(!o)return n(t);const l=t;if(!l||l.t!==a.CellValueType.NUMBER)return n(t);let u="";const f=e.getValue(s.row,s.col);if(f&&f.parameters===l.v)return n({...t,...f.result});const p=B(o.pattern,Number(l.v),this._localeService.getCurrentLocale());if(u=p.result,!u)return n(t);const c={v:u};if(p.color){const h=this._themeService.getCurrentTheme()[`${p.color}500`];h&&(c.interceptorStyle={cl:{rgb:h}})}return e.setValue(s.row,s.col,{result:c,parameters:l.v}),n({...t,...c})},priority:10})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===m.SetNumfmtMutation.id){const s=t.params;Object.keys(s.values).forEach(n=>{s.values[n].ranges.forEach(i=>{a.Range.foreach(i,(o,l)=>{e.realDeleteValue(o,l)})})})}})),this.disposeWithMe(this._instanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).pipe(j.switchMap(t=>{var s;return(s=t==null?void 0:t.activeSheet$)!=null?s:j.of(null)}),j.skip(1)).subscribe(()=>e.reset()))}};G=Re([a.OnLifecycle(a.LifecycleStages.Rendered,G),L(0,a.IUniverInstanceService),L(1,I.Inject(m.SheetInterceptorService)),L(2,I.Inject(a.ThemeService)),L(3,I.Inject(a.ICommandService)),L(4,I.Inject(m.INumfmtService)),L(5,I.Inject(a.LocaleService))],G);const w=(e,t=0)=>{var n;return e&&(n=D.getInfo(e).maxDecimals)!=null?n:t},z=(e,t)=>{if(e&&!t||!e&&t)return!1;const s=f=>f.reduce((p,c)=>{if(p.isEnd)return p;const h=c.value||c.num;return c.type==="point"?(p.isEnd=!0,p):{...p,result:p.result+h}},{isEnd:!1,result:""}).result,n=D.getInfo(e)._partitions,r=D.getInfo(t)._partitions,i=s(n[0].tokens),o=s(r[0].tokens),l=s(n[1].tokens),u=s(r[1].tokens);return i===o&&l===u&&n[1].color===r[1].color},de=e=>new Array(Math.min(Math.max(0,Number(e)),30)).fill(0).join(""),N=(e,t)=>e.split(";").map(n=>/\.0?/.test(n)?n.replace(/\.0*/g,`${t>0?".":""}${de(Number(t||0))}`):/0([^0]?)|0$/.test(n)?n.replace(/0([^0]+)|0$/,`0${t>0?".":""}${de(Number(t||0))}$1`):n).join(";"),je=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),fe={id:"sheet.command.numfmt.add.decimal.command",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),s=e.get(m.SelectionManagerService),n=e.get(m.INumfmtService),r=e.get(a.IUniverInstanceService),i=s.getSelections();if(!i||!i.length)return!1;const o=m.getSheetCommandTarget(r);if(!o)return!1;const{unitId:l,subUnitId:u}=o;let f=0;i.forEach(C=>{a.Range.foreach(C.range,(g,v)=>{const S=n.getValue(l,u,g,v);if(!S)return;const _=w(S.pattern);f=_>f?_:f})});const p=f+1,c=N(`0${p>0?".0":""}`,p),h=[];return i.forEach(C=>{a.Range.foreach(C.range,(g,v)=>{const S=n.getValue(l,u,g,v);if(!S)h.push({row:g,col:v,pattern:c});else{const _=w(S.pattern),M=N(S.pattern,_+1);M!==S.pattern&&h.push({row:g,col:v,pattern:M})}})}),h.length?await t.executeCommand(U.id,{values:h}):!1}},Oe=[{label:"1930-08-05",suffix:"yyyy-MM-dd"},{label:"1930/08/05",suffix:"yyyy/MM/dd"},{label:"1930年08月05日",suffix:'yyyy"年"MM"月"dd"日"'},{label:"08-05",suffix:"MM-dd"},{label:"8月5日",suffix:'M"月"d"日"'},{label:"13:30:30",suffix:"h:mm:ss"},{label:"13:30",suffix:"h:mm"},{label:"下午01:30",suffix:"A/P hh:mm"},{label:"下午1:30",suffix:"A/P h:mm"},{label:"下午1:30:30",suffix:"A/P h:mm:ss"},{label:"08-05 下午 01:30",suffix:"MM-dd A/P hh:mm"}],xe=[{label:"(1,235)",suffix:"#,##0_);(#,##0)"},{label:"(1,235) ",suffix:"#,##0_);[Red](#,##0)",color:"red"},{label:"1,234.56",suffix:"#,##0.00_);#,##0.00"},{label:"1,234.56",suffix:"#,##0.00_);[Red]#,##0.00",color:"red"},{label:"-1,234.56",suffix:"#,##0.00_);-#,##0.00"},{label:"-1,234.56",suffix:"#,##0.00_);[Red]-#,##0.00",color:"red"}],pe=[{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);"${e}"#,##0.00`},{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]"${e}"#,##0.00`,color:"red"},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);("${e}"#,##0.00)`},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);[Red]("${e}"#,##0.00)`,color:"red"},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);-"${e}"#,##0.00`},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]-"${e}"#,##0.00`,color:"red"}],ve={id:"sheet.command.numfmt.set.currency",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),n=e.get(m.SelectionManagerService).getSelections();if(!n||!n.length)return!1;const r=[],i=pe[0].suffix("¥");return n.forEach(l=>{a.Range.foreach(l.range,(u,f)=>{r.push({row:u,col:f,pattern:i,type:"currency"})})}),await t.executeCommand(U.id,{values:r})}},he={id:"sheet.command.numfmt.subtract.decimal.command",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),s=e.get(m.SelectionManagerService),n=e.get(m.INumfmtService),r=e.get(a.IUniverInstanceService),i=s.getSelections();if(!i||!i.length)return!1;const o=m.getSheetCommandTarget(r);if(!o)return!1;const{unitId:l,subUnitId:u}=o;let f=0;i.forEach(g=>{a.Range.foreach(g.range,(v,S)=>{const _=n.getValue(l,u,v,S);if(!_)return;const M=w(_.pattern);f=M>f?M:f})});const p=f-1,c=N(`0${p>0?".0":"."}`,p),h=[];return i.forEach(g=>{a.Range.foreach(g.range,(v,S)=>{const _=n.getValue(l,u,v,S);if(!_)h.push({row:v,col:S,pattern:c});else{const M=w(_.pattern);h.push({row:v,col:S,pattern:N(_.pattern,M-1)})}})}),await t.executeCommand(U.id,{values:h})}},ne={id:"sheet.operation.close.numfmt.panel",type:a.CommandType.OPERATION,handler:()=>!0},se=I.createIdentifier("INumfmtController");a.runOnLifecycle(a.LifecycleStages.Rendered,se);const K={id:"sheet.operation.open.numfmt.panel",type:a.CommandType.OPERATION,handler:e=>(e.get(se).openPanel(),!0)};var Se={exports:{}},Y={};/**
1
+ (function(C,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@wendellhu/redi"),require("@univerjs/sheets-ui"),require("rxjs"),require("@univerjs/engine-numfmt"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("rxjs/operators"),require("react"),require("@univerjs/design"),require("@wendellhu/redi/react-bindings")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@wendellhu/redi","@univerjs/sheets-ui","rxjs","@univerjs/engine-numfmt","@univerjs/engine-render","@univerjs/ui","rxjs/operators","react","@univerjs/design","@wendellhu/redi/react-bindings"],a):(C=typeof globalThis<"u"?globalThis:C||self,a(C.UniverSheetsNumfmt={},C.UniverCore,C.UniverSheets,C["@wendellhu/redi"],C.UniverSheetsUi,C.rxjs,C.UniverEngineNumfmt,C.UniverEngineRender,C.UniverUi,C.rxjs.operators,C.React,C.UniverDesign,C["@wendellhu/redi/react-bindings"]))})(this,function(C,a,m,I,x,j,D,me,T,W,b,R,E){"use strict";var xt=Object.defineProperty;var Dt=(C,a,m)=>a in C?xt(C,a,{enumerable:!0,configurable:!0,writable:!0,value:m}):C[a]=m;var ee=(C,a,m)=>Dt(C,typeof a!="symbol"?a+"":a,m);const U={id:"sheet.command.numfmt.set.numfmt",type:a.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;const s=e.get(a.ICommandService),n=e.get(a.IUniverInstanceService),r=e.get(a.IUndoRedoService),i=m.getSheetCommandTarget(n,t);if(!i)return!1;const{unitId:o,subUnitId:c}=i,l=t.values.filter(h=>!!h.pattern),v=t.values.filter(h=>!h.pattern),f=m.transformCellsToRange(o,c,l),u={unitId:o,subUnitId:c,ranges:v.map(h=>({startColumn:h.col,startRow:h.row,endColumn:h.col,endRow:h.row}))},d=[],S=[];if(l.length){Object.keys(f.values).forEach(g=>{const y=f.values[g];y.ranges=m.rangeMerge(y.ranges)}),d.push({id:m.SetNumfmtMutation.id,params:f});const h=m.factorySetNumfmtUndoMutation(e,f);S.push(...h)}if(v.length){u.ranges=m.rangeMerge(u.ranges),d.push({id:m.RemoveNumfmtMutation.id,params:u});const h=m.factoryRemoveNumfmtUndoMutation(e,u);S.push(...h)}const _=a.sequenceExecute(d,s).result;return _&&r.pushUndoRedo({unitID:o,undoMutations:S,redoMutations:d}),_}},te="SHEET_NUMFMT_PLUGIN",F=e=>D.getInfo(e).type||"unknown",B=(e,t,s)=>{const n=D.getInfo(e),r=s===a.LocaleType.ZH_CN?"zh-CN":"en",i=n._partitions[1],o=D.format(e,t,{locale:r});return t<0?{result:o,color:i.color}:{result:o}};var Ne=Object.defineProperty,Ee=Object.getOwnPropertyDescriptor,Re=(e,t,s,n)=>{for(var r=n>1?void 0:n?Ee(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&Ne(t,s,r),r},L=(e,t)=>(s,n)=>t(s,n,e);let G=class extends a.Disposable{constructor(e,t,s,n,r,i){super(),this._instanceService=e,this._sheetInterceptorService=t,this._themeService=s,this._commandService=n,this._numfmtService=r,this._localeService=i,this._initInterceptorCellContent()}_initInterceptorCellContent(){const e=new a.ObjectMatrix;this.disposeWithMe(this._sheetInterceptorService.intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(t,s,n)=>{const r=s.unitId,i=s.subUnitId,o=this._numfmtService.getValue(r,i,s.row,s.col);if(!o)return n(t);const c=t;if(!c||c.t!==a.CellValueType.NUMBER)return n(t);let l="";const v=e.getValue(s.row,s.col);if(v&&v.parameters===c.v)return n({...t,...v.result});const f=B(o.pattern,Number(c.v),this._localeService.getCurrentLocale());if(l=f.result,!l)return n(t);const u={v:l};if(f.color){const d=this._themeService.getCurrentTheme()[`${f.color}500`];d&&(u.interceptorStyle={cl:{rgb:d}})}return e.setValue(s.row,s.col,{result:u,parameters:c.v}),n({...t,...u})},priority:10})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===m.SetNumfmtMutation.id){const s=t.params;Object.keys(s.values).forEach(n=>{s.values[n].ranges.forEach(i=>{a.Range.foreach(i,(o,c)=>{e.realDeleteValue(o,c)})})})}})),this.disposeWithMe(this._instanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).pipe(j.switchMap(t=>{var s;return(s=t==null?void 0:t.activeSheet$)!=null?s:j.of(null)}),j.skip(1)).subscribe(()=>e.reset()))}};G=Re([a.OnLifecycle(a.LifecycleStages.Rendered,G),L(0,a.IUniverInstanceService),L(1,I.Inject(m.SheetInterceptorService)),L(2,I.Inject(a.ThemeService)),L(3,I.Inject(a.ICommandService)),L(4,I.Inject(m.INumfmtService)),L(5,I.Inject(a.LocaleService))],G);const w=(e,t=0)=>{var n;return e&&(n=D.getInfo(e).maxDecimals)!=null?n:t},z=(e,t)=>{if(e&&!t||!e&&t)return!1;const s=v=>v.reduce((f,u)=>{if(f.isEnd)return f;const d=u.value||u.num;return u.type==="point"?(f.isEnd=!0,f):{...f,result:f.result+d}},{isEnd:!1,result:""}).result,n=D.getInfo(e)._partitions,r=D.getInfo(t)._partitions,i=s(n[0].tokens),o=s(r[0].tokens),c=s(n[1].tokens),l=s(r[1].tokens);return i===o&&c===l&&n[1].color===r[1].color},de=e=>new Array(Math.min(Math.max(0,Number(e)),30)).fill(0).join(""),N=(e,t)=>e.split(";").map(n=>/\.0?/.test(n)?n.replace(/\.0*/g,`${t>0?".":""}${de(Number(t||0))}`):/0([^0]?)|0$/.test(n)?n.replace(/0([^0]+)|0$/,`0${t>0?".":""}${de(Number(t||0))}$1`):n).join(";"),je=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),fe={id:"sheet.command.numfmt.add.decimal.command",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),s=e.get(m.SelectionManagerService),n=e.get(m.INumfmtService),r=e.get(a.IUniverInstanceService),i=s.getSelections();if(!i||!i.length)return!1;const o=m.getSheetCommandTarget(r);if(!o)return!1;const{unitId:c,subUnitId:l}=o;let v=0;i.forEach(S=>{a.Range.foreach(S.range,(_,h)=>{const g=n.getValue(c,l,_,h);if(!g)return;const y=w(g.pattern);v=y>v?y:v})});const f=v+1,u=N(`0${f>0?".0":""}`,f),d=[];return i.forEach(S=>{a.Range.foreach(S.range,(_,h)=>{const g=n.getValue(c,l,_,h);if(!g)d.push({row:_,col:h,pattern:u});else{const y=w(g.pattern),M=N(g.pattern,y+1);M!==g.pattern&&d.push({row:_,col:h,pattern:M})}})}),d.length?await t.executeCommand(U.id,{values:d}):!1}},Oe=[{label:"1930-08-05",suffix:"yyyy-MM-dd"},{label:"1930/08/05",suffix:"yyyy/MM/dd"},{label:"1930年08月05日",suffix:'yyyy"年"MM"月"dd"日"'},{label:"08-05",suffix:"MM-dd"},{label:"8月5日",suffix:'M"月"d"日"'},{label:"13:30:30",suffix:"h:mm:ss"},{label:"13:30",suffix:"h:mm"},{label:"下午01:30",suffix:"A/P hh:mm"},{label:"下午1:30",suffix:"A/P h:mm"},{label:"下午1:30:30",suffix:"A/P h:mm:ss"},{label:"08-05 下午 01:30",suffix:"MM-dd A/P hh:mm"}],xe=[{label:"(1,235)",suffix:"#,##0_);(#,##0)"},{label:"(1,235) ",suffix:"#,##0_);[Red](#,##0)",color:"red"},{label:"1,234.56",suffix:"#,##0.00_);#,##0.00"},{label:"1,234.56",suffix:"#,##0.00_);[Red]#,##0.00",color:"red"},{label:"-1,234.56",suffix:"#,##0.00_);-#,##0.00"},{label:"-1,234.56",suffix:"#,##0.00_);[Red]-#,##0.00",color:"red"}],pe=[{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);"${e}"#,##0.00`},{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]"${e}"#,##0.00`,color:"red"},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);("${e}"#,##0.00)`},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);[Red]("${e}"#,##0.00)`,color:"red"},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);-"${e}"#,##0.00`},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]-"${e}"#,##0.00`,color:"red"}],ve={id:"sheet.command.numfmt.set.currency",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),n=e.get(m.SelectionManagerService).getSelections();if(!n||!n.length)return!1;const r=[],i=pe[0].suffix("¥");return n.forEach(c=>{a.Range.foreach(c.range,(l,v)=>{r.push({row:l,col:v,pattern:i,type:"currency"})})}),await t.executeCommand(U.id,{values:r})}},he={id:"sheet.command.numfmt.subtract.decimal.command",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),s=e.get(m.SelectionManagerService),n=e.get(m.INumfmtService),r=e.get(a.IUniverInstanceService),i=s.getSelections();if(!i||!i.length)return!1;const o=m.getSheetCommandTarget(r);if(!o)return!1;const{unitId:c,subUnitId:l}=o;let v=0;i.forEach(_=>{a.Range.foreach(_.range,(h,g)=>{const y=n.getValue(c,l,h,g);if(!y)return;const M=w(y.pattern);v=M>v?M:v})});const f=v-1,u=N(`0${f>0?".0":"."}`,f),d=[];return i.forEach(_=>{a.Range.foreach(_.range,(h,g)=>{const y=n.getValue(c,l,h,g);if(!y)d.push({row:h,col:g,pattern:u});else{const M=w(y.pattern);d.push({row:h,col:g,pattern:N(y.pattern,M-1)})}})}),await t.executeCommand(U.id,{values:d})}},ne={id:"sheet.operation.close.numfmt.panel",type:a.CommandType.OPERATION,handler:()=>!0},se=I.createIdentifier("INumfmtController");a.runOnLifecycle(a.LifecycleStages.Rendered,se);const K={id:"sheet.operation.open.numfmt.panel",type:a.CommandType.OPERATION,handler:e=>(e.get(se).openPanel(),!0)};var Se={exports:{}},Y={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var De=y,Ue=Symbol.for("react.element"),we=Symbol.for("react.fragment"),Le=Object.prototype.hasOwnProperty,Ae=De.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ve={key:!0,ref:!0,__self:!0,__source:!0};function ge(e,t,s){var n,r={},i=null,o=null;s!==void 0&&(i=""+s),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(o=t.ref);for(n in t)Le.call(t,n)&&!Ve.hasOwnProperty(n)&&(r[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)r[n]===void 0&&(r[n]=t[n]);return{$$typeof:Ue,type:e,key:i,ref:o,props:r,_owner:Ae.current}}Y.Fragment=we,Y.jsx=ge,Y.jsxs=ge,Se.exports=Y;var d=Se.exports;const re=y.createContext([]),ie=["$","£","¥","¤","֏","؋","৳","฿","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"];var He=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,ke=(e,t,s,n)=>{for(var r=n>1?void 0:n?$e(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&He(t,s,r),r},We=(e,t)=>(s,n)=>t(s,n,e);let J=class{constructor(e){this._localStorageService=e}_getKey(e){return`userHabitController_${e}`}async addHabit(e,t){const s=this._getKey(e);return this._localStorageService.getItem(s).then(n=>{n||this._localStorageService.setItem(s,t)})}markHabit(e,t){const s=this._getKey(e);this._localStorageService.getItem(s).then(n=>{if(n){const r=n.findIndex(i=>i===t);r>-1&&n.splice(r,1),n.unshift(t),this._localStorageService.setItem(s,n)}})}async getHabit(e,t){const s=this._getKey(e),n=await this._localStorageService.getItem(s);if(t&&n){const r=n.map((i,o,l)=>{const u=l.length;return{value:i,priority:u-o}});return t.sort((i,o)=>{var f,p;const l=((f=r.find(c=>c.value===i))==null?void 0:f.priority)||-1;return(((p=r.find(c=>c.value===o))==null?void 0:p.priority)||-1)-l})}return n||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};J=ke([We(0,I.Inject(a.ILocalStorageService))],J);const _e="numfmtCurrency",Fe=e=>{const t=E.useDependency(J),[s,n]=y.useState(ie);return y.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(_e,[...ie]).then(i=>{n(i),e&&e(i)})})},[]),{userHabitCurrency:s,mark:i=>{t.markHabit(_e,i)}}},Be=()=>{const e=y.useRef([]),[t,s]=y.useState({});return y.useEffect(()=>{e.current.forEach(r=>{r()}),e.current=[]},[t]),r=>{e.current.push(r),s({})}},V=e=>ie.find(s=>e.includes(s)),Ge=e=>!!V(e)&&e.startsWith("_("),ze=e=>{const[t,s]=y.useState(()=>w(e.defaultPattern||"",2)),n=y.useContext(re),[r,i]=y.useState(()=>V(e.defaultPattern)||n[0]),o=y.useMemo(()=>n.map(c=>({label:c,value:c})),[]),u=E.useDependency(a.LocaleService).t;e.action.current=()=>N(`_("${r}"* #,##0${t>0?".0":""}_)`,t);const f=c=>{i(c),e.onChange(N(`_("${c}"* #,##0${t>0?".0":""}_)`,t))},p=c=>{const h=c||0;s(h),e.onChange(N(`_("${r}"* #,##0${h>0?".0":""}_)`,h))};return d.jsxs("div",{children:[d.jsxs("div",{className:"m-t-16 options ",children:[d.jsxs("div",{className:"option",children:[d.jsx("div",{className:"label",children:u("sheet.numfmt.decimalLength")}),d.jsx("div",{className:"m-t-8 w-120",children:d.jsx(R.InputNumber,{value:t,max:20,min:0,onChange:p})})]}),d.jsxs("div",{className:"option",children:[d.jsx("div",{className:"label",children:u("sheet.numfmt.currencyType")}),d.jsx("div",{className:"m-t-8 w-140",children:d.jsx(R.Select,{onChange:f,options:o,value:r})})]})]}),d.jsx("div",{className:"describe m-t-14",children:u("sheet.numfmt.accountingDes")})]})},ae=e=>pe.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),ye=()=>Oe.map(e=>({label:e.label,value:e.suffix})),be=()=>xe.map(e=>({label:e.label,value:e.suffix,color:e.color})),Ke=e=>!!V(e)&&!e.startsWith("_("),Ye=e=>{const s=E.useDependency(a.LocaleService).t,n=y.useContext(re),[r,i]=y.useState(()=>V(e.defaultPattern)||n[0]),[o,l]=y.useState(()=>w(e.defaultPattern||"",2)),[u,f]=y.useState(()=>{var _;const v=ae(r);return((_=v.find(M=>z(M.value,e.defaultPattern)))==null?void 0:_.value)||v[0].value}),p=y.useMemo(()=>ae(r),[r]),c=y.useMemo(()=>n.map(v=>({label:v,value:v})),[n]);e.action.current=()=>N(u,o);const h=v=>{i(v);const S=ae(v)[0].value;f(S),e.onChange(N(S,o))},C=v=>{f(v),e.onChange(N(v,o))},g=v=>{l(v||0),e.onChange(N(u,v||0))};return d.jsxs("div",{children:[d.jsxs("div",{className:"m-t-16 options ",children:[d.jsxs("div",{className:"option",children:[d.jsx("div",{className:"label",children:s("sheet.numfmt.decimalLength")}),d.jsx("div",{className:"m-t-8 w-120",children:d.jsx(R.InputNumber,{value:o,max:20,min:0,onChange:g})})]}),d.jsxs("div",{className:"option",children:[d.jsx("div",{className:"label",children:s("sheet.numfmt.currencyType")}),d.jsx("div",{className:"m-t-8 w-140",children:d.jsx(R.Select,{onChange:h,options:c,value:r})})]})]}),d.jsx("div",{className:"m-t-16 label",children:s("sheet.numfmt.negType")}),d.jsx("div",{className:"m-t-8",children:d.jsx(R.SelectList,{onChange:C,options:p,value:u})}),d.jsx("div",{className:"describe m-t-14",children:s("sheet.numfmt.currencyDes")})]})},Je=e=>{const t=D.getInfo(e);return ye().map(s=>s.value).includes(e)||["date","datetime","time"].includes(t.type)},Ze=e=>{const t=y.useMemo(ye,[]),n=E.useDependency(a.LocaleService).t,[r,i]=y.useState(()=>{if(e.defaultPattern){const l=t.find(u=>u.value===e.defaultPattern);if(l)return l.value}return t[0].value});e.action.current=()=>r;const o=l=>{i(l),e.onChange(l)};return d.jsxs("div",{children:[d.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.dateType")}),d.jsx("div",{className:"m-t-8",children:d.jsx(R.SelectList,{value:r,options:t,onChange:o})}),d.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.dateDes")})]})},Qe=e=>!e,Xe=e=>{const s=E.useDependency(a.LocaleService).t;return e.action.current=()=>"",d.jsx("div",{children:d.jsx("div",{className:"describe m-t-14",children:s("sheet.numfmt.generalDes")})})},qe=e=>be().some(t=>z(t.value,e)),et=e=>{const t=E.useDependency(a.LocaleService),s=y.useMemo(be,[]),[n,r]=y.useState(()=>w(e.defaultPattern||"",0)),[i,o]=y.useState(()=>{const c=s.find(h=>z(h.value,e.defaultPattern||""));return(c==null?void 0:c.value)||s[0].value}),l=y.useMemo(()=>N(i,Number(n||0)),[i,n]),u=y.useMemo(()=>!je(i),[i]),f=c=>{r(c||0),e.onChange(N(i,Number(c||0)))},p=c=>{r(w(c,0)),o(c),e.onChange(c)};return e.action.current=()=>l,d.jsxs("div",{children:[d.jsx("div",{className:"m-t-16 label",children:t.t("sheet.numfmt.decimalLength")}),d.jsx("div",{className:"m-t-8",children:d.jsx(R.InputNumber,{disabled:u,value:n,max:20,min:0,onChange:f})}),d.jsxs("div",{className:"m-t-16 label",children:[" ",t.t("sheet.numfmt.negType")]}),d.jsx("div",{className:"m-t-8",children:d.jsx(R.SelectList,{onChange:p,options:s,value:i})}),d.jsx("div",{className:"describe m-t-14",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},tt=e=>{const{defaultValue:t,defaultPattern:s,row:n,col:r}=e.value,i=E.useDependency(a.LocaleService),o=y.useRef(()=>""),l=i.t,u=Be(),f=y.useMemo(()=>[{label:"sheet.numfmt.general",component:Xe},{label:"sheet.numfmt.accounting",component:ze},{label:"sheet.numfmt.currency",component:Ye},{label:"sheet.numfmt.date",component:Ze},{label:"sheet.numfmt.thousandthPercentile",component:et}].map(P=>({...P,label:l(P.label)})),[]),[p,c]=y.useState(_),[h,C]=y.useState(()=>`${n}_${r}`),{mark:g,userHabitCurrency:v}=Fe(()=>C(`${n}_${r}_userCurrency'`)),S=y.useMemo(()=>{var P;return(P=f.find(A=>A.label===p))==null?void 0:P.component},[p]);function _(){return[Qe,Ge,Ke,Je,qe].reduce((A,jt,Ot)=>A||(jt(s)?f[Ot].label:""),"")||f[0].label}const M=f.map(P=>({label:P.label,value:P.label})),k=P=>{c(P),u(()=>e.onChange({type:"change",value:o.current()||""}))},ce=P=>{e.onChange({type:"change",value:P})},le=()=>{const P=o.current()||"",A=V(P);A&&g(A),e.onChange({type:"confirm",value:P})},ue=()=>{e.onChange({type:"cancel",value:""})},Rt={onChange:ce,defaultValue:t,defaultPattern:s,action:o};return y.useEffect(()=>{c(_()),C(`${n}_${r}`)},[n,r]),d.jsxs("div",{className:"numfmt-panel p-b-20",children:[d.jsxs("div",{children:[d.jsx("div",{className:"label m-t-14",children:l("sheet.numfmt.numfmtType")}),d.jsx("div",{className:"m-t-8",children:d.jsx(R.Select,{onChange:k,options:M,value:p})}),d.jsx("div",{children:S&&d.jsx(re.Provider,{value:v,children:y.createElement(S,{...Rt,key:h})})})]}),d.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[d.jsx(R.Button,{size:"small",onClick:ue,className:"m-r-12",children:l("sheet.numfmt.cancel")}),d.jsx(R.Button,{type:"primary",size:"small",onClick:le,children:l("sheet.numfmt.confirm")})]})]})},Ce={id:"sheet.command.numfmt.set.percent",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),n=e.get(m.SelectionManagerService).getSelections();if(!n||!n.length)return!1;const r=[],i="0%";return n.forEach(l=>{a.Range.foreach(l.range,(u,f)=>{r.push({row:u,col:f,pattern:i,type:"percent"})})}),await t.executeCommand(U.id,{values:r})}};var nt=Object.defineProperty,st=Object.getOwnPropertyDescriptor,rt=(e,t,s,n)=>{for(var r=n>1?void 0:n?st(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&nt(t,s,r),r},O=(e,t)=>(s,n)=>t(s,n,e);let Z=class extends a.Disposable{constructor(t,s,n,r,i,o,l,u,f,p){super();ee(this,"_previewPattern","");ee(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=s,this._univerInstanceService=n,this._commandService=r,this._selectionManagerService=i,this._renderManagerService=o,this._numfmtService=l,this._componentManager=u,this._sidebarService=f,this._localeService=p,this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener()}openPanel(){const t=this._sidebarService,s=this._selectionManagerService,n=this._commandService,r=this._univerInstanceService,i=this._numfmtService,o=this._localeService,u=(s.getSelectionRanges()||[])[0];if(!u)return!1;const f=r.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),p=f.getActiveSheet(),c=p.getCellRaw(u.startRow,u.startColumn),h=i.getValue(f.getUnitId(),p.getSheetId(),u.startRow,u.startColumn);let C="";h&&(C=h.pattern);const g=(c==null?void 0:c.t)===a.CellValueType.NUMBER?c.v:12345678,v={onChange:S=>{if(S.type==="change")this._previewPattern=S.value,this._forceUpdate();else if(S.type==="confirm"){const _=s.getSelectionRanges()||[],M={values:[]},k=F(S.value);_.forEach(ce=>{a.Range.foreach(ce,(le,ue)=>{M.values.push({row:le,col:ue,pattern:S.value,type:k})})}),n.executeCommand(U.id,M),t.close()}else S.type==="cancel"&&t.close()},value:{defaultPattern:C,defaultValue:g,row:u.startRow,col:u.startColumn}};return this._sidebarDisposable=t.open({header:{title:o.t("sheet.numfmt.title")},children:{label:te,...v},onClose:()=>{this._forceUpdate(),n.executeCommand(ne.id)}}),!0}_forceUpdate(t){var n;const s=this._renderManagerService.getRenderById(t!=null?t:this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId());s==null||s.with(x.SheetSkeletonManagerService).reCalculate(),(n=s==null?void 0:s.mainComponent)==null||n.makeDirty()}_initCommands(){[fe,he,ve,Ce,K,ne,U].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(te,tt)}_initRealTimeRenderingInterceptor(){const t=new j.Observable(n=>{this._commandService.onCommandExecuted(r=>{r.id===K.id&&n.next(!0),r.id===ne.id&&n.next(!1)})}),s=j.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(W.map(n=>n?n.map(r=>r.range):[]))]);this.disposeWithMe(a.toDisposable(s.pipe(W.switchMap(([n,r])=>new j.Observable(i=>{const o=new a.DisposableCollection;return n&&r.length&&i.next({selectionRanges:r,disposableCollection:o}),()=>{o.dispose()}})),W.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:r})=>{var o,l;const i=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);this.openPanel(),n.add(this._sheetInterceptorService.intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,handler:(u,f,p)=>{const{row:c,col:h}=f,C=p(u)||{};if(r.find(g=>g.startColumn<=h&&g.endColumn>=h&&g.startRow<=c&&g.endRow>=c)){const g=f.worksheet.getCellRaw(c,h),v=g==null?void 0:g.v,S=g==null?void 0:g.t;if(v==null||S!==a.CellValueType.NUMBER||this._previewPattern===null)return C;const _=B(this._previewPattern,v,this._localeService.getCurrentLocale());if(_.color){const k=this._themeService.getCurrentTheme()[`${_.color}500`];return{...C,v:_.result,t:a.CellValueType.STRING,s:{cl:{rgb:k}}}}return{...C,v:_.result,t:a.CellValueType.STRING}}return C}})),(l=(o=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:o.mainComponent)==null||l.makeDirty()})))}_commandExecutedListener(){const t=[m.RemoveNumfmtMutation.id,m.SetNumfmtMutation.id];this.disposeWithMe(new j.Observable(s=>{const n=this._commandService.onCommandExecuted(r=>{if(t.includes(r.id)){const i=r.params;s.next(i.unitId)}});return()=>n.dispose()}).pipe(W.debounceTime(16)).subscribe(s=>this._forceUpdate(s)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var s;t||((s=this._sidebarDisposable)==null||s.dispose(),this._sidebarDisposable=null)})}};Z=rt([a.OnLifecycle(a.LifecycleStages.Rendered,Z),O(0,I.Inject(m.SheetInterceptorService)),O(1,I.Inject(a.ThemeService)),O(2,a.IUniverInstanceService),O(3,a.ICommandService),O(4,I.Inject(m.SelectionManagerService)),O(5,me.IRenderManagerService),O(6,m.INumfmtService),O(7,I.Inject(T.ComponentManager)),O(8,T.ISidebarService),O(9,I.Inject(a.LocaleService))],Z);var it=Object.defineProperty,at=Object.getOwnPropertyDescriptor,ot=(e,t,s,n)=>{for(var r=n>1?void 0:n?at(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&it(t,s,r),r},H=(e,t)=>(s,n)=>t(s,n,e);const ct=()=>{let e=[];return{add:(r,i,o,l,u)=>e.push({unitId:r,subUnitId:i,row:o,col:l,value:u}),getEffects:()=>e,clean:()=>{e=[]}}};let Q=class extends a.Disposable{constructor(t,s,n,r,i){super();ee(this,"_collectEffectMutation",ct());this._sheetInterceptorService=t,this._numfmtService=s,this._univerInstanceService=n,this._injector=r,this._editorBridgeService=i,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this.disposeWithMe(a.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().BEFORE_CELL_EDIT,{handler:(t,s,n)=>{const r=s.row,i=s.col,o=this._numfmtService.getValue(s.unitId,s.subUnitId,r,i);if(o)switch(F(o.pattern)){case"scientific":case"percent":case"currency":case"grouped":case"number":return s.worksheet.getCellRaw(r,i);case"date":case"time":case"datetime":default:return n&&n(t)}return n(t)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(a.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT,{handler:(t,s,n)=>{var p;this._collectEffectMutation.clean();const r=this._numfmtService.getValue(s.unitId,s.subUnitId,s.row,s.col),i=(p=r&&F(r.pattern))!=null?p:"",o=()=>{r&&this._collectEffectMutation.add(s.unitId,s.subUnitId,s.row,s.col,null)};if(!(t!=null&&t.v))return n(t);const l=String(t.v),u=D.parseDate(l)||D.parseTime(l);if(!!u){if(u&&u.z){const c=Number(u.v);return this._collectEffectMutation.add(s.unitId,s.subUnitId,s.row,s.col,{pattern:u.z}),{...t,v:c,t:a.CellValueType.NUMBER}}}else(["date","time","datetime"].includes(i)||!lt(l))&&o();return n(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(s){switch(s.id){case m.SetRangeValuesCommand.id:{const n=t._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),r=n.getUnitId(),i=n.getActiveSheet().getSheetId(),o=t._collectEffectMutation.getEffects();if(!o.length)return{redos:[],undos:[]};const l=o.filter(c=>{var h;return!!((h=c.value)!=null&&h.pattern)}).map(c=>({row:c.row,col:c.col,pattern:c.value.pattern})),u=o.filter(c=>{var h;return!((h=c.value)!=null&&h.pattern)}).map(c=>({startRow:c.row,endColumn:c.col,startColumn:c.col,endRow:c.row})),f=[],p=[];if(l){const c={id:m.SetNumfmtMutation.id,params:m.transformCellsToRange(r,i,l)};f.push(c),p.push(...m.factorySetNumfmtUndoMutation(t._injector,c.params))}if(u){const c={id:m.RemoveNumfmtMutation.id,params:{unitId:r,subUnitId:i,ranges:u}};f.push(c),p.push(...m.factoryRemoveNumfmtUndoMutation(t._injector,c.params))}return{redos:f,undos:p.reverse()}}}return{redos:[],undos:[]}}}))}};Q=ot([a.OnLifecycle(a.LifecycleStages.Rendered,Q),H(0,I.Inject(m.SheetInterceptorService)),H(1,I.Inject(m.INumfmtService)),H(2,I.Inject(a.IUniverInstanceService)),H(3,I.Inject(I.Injector)),H(4,I.Inject(x.IEditorBridgeService))],Q);function lt(e){return/^-?\d+(\.\d+)?$/.test(e)}var ut=Object.defineProperty,mt=Object.getOwnPropertyDescriptor,dt=(e,t,s,n)=>{for(var r=n>1?void 0:n?mt(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&ut(t,s,r),r},ft=(e,t)=>(s,n)=>t(s,n,e);let X=class extends a.Disposable{constructor(e){super(),this._localeService=e}};X=dt([a.OnLifecycle(a.LifecycleStages.Rendered,X),ft(0,I.Inject(a.LocaleService))],X);const q=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:"@@@"},"|",{label:"sheet.numfmt.number",pattern:"0"},"|",{label:"sheet.numfmt.accounting",pattern:'"¥" #,##0.00_);[Red]("¥"#,##0.00)'},{label:"sheet.numfmt.financialValue",pattern:"#,##0.00;[Red]#,##0.00"},{label:"sheet.numfmt.currency",pattern:'"¥"#,##0.00_);[Red]("¥"#,##0.00)'},{label:"sheet.numfmt.roundingCurrency",pattern:'"¥"#,##0;[Red]"¥"#,##0'},"|",{label:"sheet.numfmt.date",pattern:"yyyy-mm-dd;@"},{label:"sheet.numfmt.time",pattern:'am/pm h":"mm":"ss'},{label:"sheet.numfmt.dateTime",pattern:"yyyy-m-d am/pm h:mm"},{label:"sheet.numfmt.timeDuration",pattern:"h:mm:ss"},"|",{label:"sheet.numfmt.moreFmt",pattern:""}],Ie="sheet.numfmt.moreNumfmtType",Te="sheet.numfmt.moreNumfmtType.options",pt=e=>{var n;const t=E.useDependency(a.LocaleService),s=(n=e.value)!=null?n:t.t("sheet.numfmt.general");return d.jsx("span",{className:"more-numfmt-type",children:s})},vt=()=>{const e=E.useDependency(a.ICommandService),t=E.useDependency(a.LocaleService),s=E.useInjector(),n=E.useDependency(m.SelectionManagerService),r=l=>{const u=n.getLast();if(!u)return;const f=s.get(me.ITextSelectionRenderManager),p=u.range,c=[];a.Range.foreach(p,(h,C)=>{l?c.push({row:h,col:C,pattern:l,type:F(l)}):c.push({row:h,col:C})}),e.executeCommand(U.id,{values:c}),f.focus()},i=l=>{if(l===0)r(null);else if(l===q.length-1)e.executeCommand(K.id);else{const u=q[l];u.pattern&&r(u.pattern)}},o=1220;return d.jsx("div",{className:"more-numfmt-type-options",children:q.map((l,u)=>l==="|"?d.jsx("div",{className:"line m-t-4",onClick:f=>f.stopPropagation()},u):d.jsxs("div",{className:"option-item m-t-4",onClick:()=>{i(u)},children:[d.jsx("div",{children:t.t(l.label)}),d.jsx("div",{className:"m-l-26",children:l.pattern?B(l.pattern||"",o,t.getCurrentLocale()).result:""})]},u))})},ht=e=>({icon:"RmbSingle",id:ve.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:T.MenuItemType.BUTTON,group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[T.MenuPosition.TOOLBAR_START],hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),St=e=>({icon:"AddDigitsSingle",id:fe.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:T.MenuItemType.BUTTON,positions:[T.MenuPosition.TOOLBAR_START],group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),gt=e=>({icon:"ReduceDigitsSingle",id:he.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:T.MenuItemType.BUTTON,group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[T.MenuPosition.TOOLBAR_START],hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),_t=e=>({icon:"PercentSingle",id:Ce.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:T.MenuItemType.BUTTON,group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[T.MenuPosition.TOOLBAR_START],hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),yt=e=>{const t=e.get(m.INumfmtService),s=e.get(a.IUniverInstanceService),n=e.get(a.ICommandService),r=e.get(a.LocaleService),i=e.get(m.SelectionManagerService),o=x.deriveStateFromActiveSheet$(s,"",({workbook:l,worksheet:u})=>new j.Observable(f=>j.merge(i.selectionMoveEnd$,new j.Observable(p=>{const c=[m.RemoveNumfmtMutation.id,m.SetNumfmtMutation.id],h=n.onCommandExecuted(C=>{c.includes(C.id)&&p.next(null)});return()=>h.dispose()})).subscribe(()=>{const p=i.getSelections();if(p&&p[0]){const c=p[0].range,h=c.startRow,C=c.startColumn,g=t.getValue(l.getUnitId(),u.getSheetId(),h,C),v=g==null?void 0:g.pattern;let S=r.t("sheet.numfmt.general");if(v){const _=q.filter(M=>typeof M=="object"&&M.pattern).find(M=>z(v,M.pattern));_&&typeof _=="object"&&_.pattern?S=r.t(_.label):S=r.t("sheet.numfmt.moreFmt")}f.next(S)}})));return{label:Ie,id:K.id,tooltip:"sheet.numfmt.title",type:T.MenuItemType.SELECTOR,group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[T.MenuPosition.TOOLBAR_START],selections:[{label:{name:Te,hoverable:!1}}],value$:o,hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetSetCellStylePermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}};var bt=Object.defineProperty,Ct=Object.getOwnPropertyDescriptor,It=(e,t,s,n)=>{for(var r=n>1?void 0:n?Ct(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&bt(t,s,r),r},oe=(e,t)=>(s,n)=>t(s,n,e);const Tt={};let $=class extends a.Disposable{constructor(e,t,s,n){super(),this._config=e,this._injector=t,this._componentManager=s,this._menuService=n,this._initMenu()}_initMenu(){const{menu:e={}}=this._config;[_t,St,gt,ht,yt].forEach(t=>{this.disposeWithMe(this._menuService.addMenuItem(t(this._injector),e))}),this.disposeWithMe(this._componentManager.register(Ie,pt)),this.disposeWithMe(this._componentManager.register(Te,vt))}};$=It([a.OnLifecycle(a.LifecycleStages.Rendered,$),oe(1,I.Inject(I.Injector)),oe(2,I.Inject(T.ComponentManager)),oe(3,I.Inject(T.IMenuService))],$);var Me=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,Pt=(e,t,s)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Nt=(e,t,s,n)=>{for(var r=n>1?void 0:n?Mt(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&Me(t,s,r),r},Et=(e,t)=>(s,n)=>t(s,n,e),Pe=(e,t,s)=>(Pt(e,typeof t!="symbol"?t+"":t,s),s);b.UniverSheetsNumfmtPlugin=class extends a.Plugin{constructor(t={},s){super(),this._config=t,this._injector=s,this._config=a.Tools.deepMerge({},Tt,this._config)}onStarting(){this._injector.add([se,{useClass:Z,lazy:!1}]),this._injector.add([Q]),this._injector.add([J]),this._injector.add([G]),this._injector.add([X]),this._injector.add([$,{useFactory:()=>this._injector.createInstance($,this._config)}])}},Pe(b.UniverSheetsNumfmtPlugin,"pluginName",te),Pe(b.UniverSheetsNumfmtPlugin,"type",a.UniverInstanceType.UNIVER_SHEET),b.UniverSheetsNumfmtPlugin=Nt([a.DependentOn(m.UniverSheetsPlugin,x.UniverSheetsUIPlugin),Et(1,I.Inject(I.Injector))],b.UniverSheetsNumfmtPlugin),b.SetNumfmtCommand=U,b.getPatternPreview=B,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
9
+ */var De=b,Ue=Symbol.for("react.element"),we=Symbol.for("react.fragment"),Le=Object.prototype.hasOwnProperty,Ae=De.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ve={key:!0,ref:!0,__self:!0,__source:!0};function ge(e,t,s){var n,r={},i=null,o=null;s!==void 0&&(i=""+s),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(o=t.ref);for(n in t)Le.call(t,n)&&!Ve.hasOwnProperty(n)&&(r[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)r[n]===void 0&&(r[n]=t[n]);return{$$typeof:Ue,type:e,key:i,ref:o,props:r,_owner:Ae.current}}Y.Fragment=we,Y.jsx=ge,Y.jsxs=ge,Se.exports=Y;var p=Se.exports;const re=b.createContext([]),ie=["$","£","¥","¤","֏","؋","৳","฿","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"];var He=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,ke=(e,t,s,n)=>{for(var r=n>1?void 0:n?$e(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&He(t,s,r),r},We=(e,t)=>(s,n)=>t(s,n,e);let J=class{constructor(e){this._localStorageService=e}_getKey(e){return`userHabitController_${e}`}async addHabit(e,t){const s=this._getKey(e);return this._localStorageService.getItem(s).then(n=>{n||this._localStorageService.setItem(s,t)})}markHabit(e,t){const s=this._getKey(e);this._localStorageService.getItem(s).then(n=>{if(n){const r=n.findIndex(i=>i===t);r>-1&&n.splice(r,1),n.unshift(t),this._localStorageService.setItem(s,n)}})}async getHabit(e,t){const s=this._getKey(e),n=await this._localStorageService.getItem(s);if(t&&n){const r=n.map((i,o,c)=>{const l=c.length;return{value:i,priority:l-o}});return t.sort((i,o)=>{var v,f;const c=((v=r.find(u=>u.value===i))==null?void 0:v.priority)||-1;return(((f=r.find(u=>u.value===o))==null?void 0:f.priority)||-1)-c})}return n||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};J=ke([We(0,I.Inject(a.ILocalStorageService))],J);const _e="numfmtCurrency",Fe=e=>{const t=E.useDependency(J),[s,n]=b.useState(ie);return b.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(_e,[...ie]).then(i=>{n(i),e&&e(i)})})},[]),{userHabitCurrency:s,mark:i=>{t.markHabit(_e,i)}}},Be=()=>{const e=b.useRef([]),[t,s]=b.useState({});return b.useEffect(()=>{e.current.forEach(r=>{r()}),e.current=[]},[t]),r=>{e.current.push(r),s({})}},V=e=>ie.find(s=>e.includes(s)),Ge=e=>!!V(e)&&e.startsWith("_("),ze=e=>{const[t,s]=b.useState(()=>w(e.defaultPattern||"",2)),n=b.useContext(re),[r,i]=b.useState(()=>V(e.defaultPattern)||n[0]),o=b.useMemo(()=>n.map(u=>({label:u,value:u})),[]),l=E.useDependency(a.LocaleService).t;e.action.current=()=>N(`_("${r}"* #,##0${t>0?".0":""}_)`,t);const v=u=>{i(u),e.onChange(N(`_("${u}"* #,##0${t>0?".0":""}_)`,t))},f=u=>{const d=u||0;s(d),e.onChange(N(`_("${r}"* #,##0${d>0?".0":""}_)`,d))};return p.jsxs("div",{children:[p.jsxs("div",{className:"m-t-16 options ",children:[p.jsxs("div",{className:"option",children:[p.jsx("div",{className:"label",children:l("sheet.numfmt.decimalLength")}),p.jsx("div",{className:"m-t-8 w-120",children:p.jsx(R.InputNumber,{value:t,max:20,min:0,onChange:f})})]}),p.jsxs("div",{className:"option",children:[p.jsx("div",{className:"label",children:l("sheet.numfmt.currencyType")}),p.jsx("div",{className:"m-t-8 w-140",children:p.jsx(R.Select,{onChange:v,options:o,value:r})})]})]}),p.jsx("div",{className:"describe m-t-14",children:l("sheet.numfmt.accountingDes")})]})},ae=e=>pe.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),ye=()=>Oe.map(e=>({label:e.label,value:e.suffix})),be=()=>xe.map(e=>({label:e.label,value:e.suffix,color:e.color})),Ke=e=>!!V(e)&&!e.startsWith("_("),Ye=e=>{const s=E.useDependency(a.LocaleService).t,n=b.useContext(re),[r,i]=b.useState(()=>V(e.defaultPattern)||n[0]),[o,c]=b.useState(()=>w(e.defaultPattern||"",2)),[l,v]=b.useState(()=>{var y;const h=ae(r);return((y=h.find(M=>z(M.value,e.defaultPattern)))==null?void 0:y.value)||h[0].value}),f=b.useMemo(()=>ae(r),[r]),u=b.useMemo(()=>n.map(h=>({label:h,value:h})),[n]);e.action.current=()=>N(l,o);const d=h=>{i(h);const g=ae(h)[0].value;v(g),e.onChange(N(g,o))},S=h=>{v(h),e.onChange(N(h,o))},_=h=>{c(h||0),e.onChange(N(l,h||0))};return p.jsxs("div",{children:[p.jsxs("div",{className:"m-t-16 options ",children:[p.jsxs("div",{className:"option",children:[p.jsx("div",{className:"label",children:s("sheet.numfmt.decimalLength")}),p.jsx("div",{className:"m-t-8 w-120",children:p.jsx(R.InputNumber,{value:o,max:20,min:0,onChange:_})})]}),p.jsxs("div",{className:"option",children:[p.jsx("div",{className:"label",children:s("sheet.numfmt.currencyType")}),p.jsx("div",{className:"m-t-8 w-140",children:p.jsx(R.Select,{onChange:d,options:u,value:r})})]})]}),p.jsx("div",{className:"m-t-16 label",children:s("sheet.numfmt.negType")}),p.jsx("div",{className:"m-t-8",children:p.jsx(R.SelectList,{onChange:S,options:f,value:l})}),p.jsx("div",{className:"describe m-t-14",children:s("sheet.numfmt.currencyDes")})]})},Je=e=>{const t=D.getInfo(e);return ye().map(s=>s.value).includes(e)||["date","datetime","time"].includes(t.type)},Ze=e=>{const t=b.useMemo(ye,[]),n=E.useDependency(a.LocaleService).t,[r,i]=b.useState(()=>{if(e.defaultPattern){const c=t.find(l=>l.value===e.defaultPattern);if(c)return c.value}return t[0].value});e.action.current=()=>r;const o=c=>{i(c),e.onChange(c)};return p.jsxs("div",{children:[p.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.dateType")}),p.jsx("div",{className:"m-t-8",children:p.jsx(R.SelectList,{value:r,options:t,onChange:o})}),p.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.dateDes")})]})},Qe=e=>!e,Xe=e=>{const s=E.useDependency(a.LocaleService).t;return e.action.current=()=>"",p.jsx("div",{children:p.jsx("div",{className:"describe m-t-14",children:s("sheet.numfmt.generalDes")})})},qe=e=>be().some(t=>z(t.value,e)),et=e=>{const t=E.useDependency(a.LocaleService),s=b.useMemo(be,[]),[n,r]=b.useState(()=>w(e.defaultPattern||"",0)),[i,o]=b.useState(()=>{const u=s.find(d=>z(d.value,e.defaultPattern||""));return(u==null?void 0:u.value)||s[0].value}),c=b.useMemo(()=>N(i,Number(n||0)),[i,n]),l=b.useMemo(()=>!je(i),[i]),v=u=>{r(u||0),e.onChange(N(i,Number(u||0)))},f=u=>{r(w(u,0)),o(u),e.onChange(u)};return e.action.current=()=>c,p.jsxs("div",{children:[p.jsx("div",{className:"m-t-16 label",children:t.t("sheet.numfmt.decimalLength")}),p.jsx("div",{className:"m-t-8",children:p.jsx(R.InputNumber,{disabled:l,value:n,max:20,min:0,onChange:v})}),p.jsxs("div",{className:"m-t-16 label",children:[" ",t.t("sheet.numfmt.negType")]}),p.jsx("div",{className:"m-t-8",children:p.jsx(R.SelectList,{onChange:f,options:s,value:i})}),p.jsx("div",{className:"describe m-t-14",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},tt=e=>{const{defaultValue:t,defaultPattern:s,row:n,col:r}=e.value,i=E.useDependency(a.LocaleService),o=b.useRef(()=>""),c=i.t,l=Be(),v=b.useMemo(()=>[{label:"sheet.numfmt.general",component:Xe},{label:"sheet.numfmt.accounting",component:ze},{label:"sheet.numfmt.currency",component:Ye},{label:"sheet.numfmt.date",component:Ze},{label:"sheet.numfmt.thousandthPercentile",component:et}].map(P=>({...P,label:c(P.label)})),[]),[f,u]=b.useState(y),[d,S]=b.useState(()=>`${n}_${r}`),{mark:_,userHabitCurrency:h}=Fe(()=>S(`${n}_${r}_userCurrency'`)),g=b.useMemo(()=>{var P;return(P=v.find(A=>A.label===f))==null?void 0:P.component},[f]);function y(){return[Qe,Ge,Ke,Je,qe].reduce((A,jt,Ot)=>A||(jt(s)?v[Ot].label:""),"")||v[0].label}const M=v.map(P=>({label:P.label,value:P.label})),k=P=>{u(P),l(()=>e.onChange({type:"change",value:o.current()||""}))},ce=P=>{e.onChange({type:"change",value:P})},le=()=>{const P=o.current()||"",A=V(P);A&&_(A),e.onChange({type:"confirm",value:P})},ue=()=>{e.onChange({type:"cancel",value:""})},Rt={onChange:ce,defaultValue:t,defaultPattern:s,action:o};return b.useEffect(()=>{u(y()),S(`${n}_${r}`)},[n,r]),p.jsxs("div",{className:"numfmt-panel p-b-20",children:[p.jsxs("div",{children:[p.jsx("div",{className:"label m-t-14",children:c("sheet.numfmt.numfmtType")}),p.jsx("div",{className:"m-t-8",children:p.jsx(R.Select,{onChange:k,options:M,value:f})}),p.jsx("div",{children:g&&p.jsx(re.Provider,{value:h,children:b.createElement(g,{...Rt,key:d})})})]}),p.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[p.jsx(R.Button,{size:"small",onClick:ue,className:"m-r-12",children:c("sheet.numfmt.cancel")}),p.jsx(R.Button,{type:"primary",size:"small",onClick:le,children:c("sheet.numfmt.confirm")})]})]})},Ce={id:"sheet.command.numfmt.set.percent",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),n=e.get(m.SelectionManagerService).getSelections();if(!n||!n.length)return!1;const r=[],i="0%";return n.forEach(c=>{a.Range.foreach(c.range,(l,v)=>{r.push({row:l,col:v,pattern:i,type:"percent"})})}),await t.executeCommand(U.id,{values:r})}};var nt=Object.defineProperty,st=Object.getOwnPropertyDescriptor,rt=(e,t,s,n)=>{for(var r=n>1?void 0:n?st(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&nt(t,s,r),r},O=(e,t)=>(s,n)=>t(s,n,e);let Z=class extends a.Disposable{constructor(t,s,n,r,i,o,c,l,v,f){super();ee(this,"_previewPattern","");ee(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=s,this._univerInstanceService=n,this._commandService=r,this._selectionManagerService=i,this._renderManagerService=o,this._numfmtService=c,this._componentManager=l,this._sidebarService=v,this._localeService=f,this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener()}openPanel(){const t=this._sidebarService,s=this._selectionManagerService,n=this._commandService,r=this._univerInstanceService,i=this._numfmtService,o=this._localeService,l=(s.getSelectionRanges()||[])[0];if(!l)return!1;const v=r.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),f=v.getActiveSheet();if(!f)return!1;const u=f.getCellRaw(l.startRow,l.startColumn),d=i.getValue(v.getUnitId(),f.getSheetId(),l.startRow,l.startColumn);let S="";d&&(S=d.pattern);const _=(u==null?void 0:u.t)===a.CellValueType.NUMBER?u.v:12345678,h={onChange:g=>{if(g.type==="change")this._previewPattern=g.value,this._forceUpdate();else if(g.type==="confirm"){const y=s.getSelectionRanges()||[],M={values:[]},k=F(g.value);y.forEach(ce=>{a.Range.foreach(ce,(le,ue)=>{M.values.push({row:le,col:ue,pattern:g.value,type:k})})}),n.executeCommand(U.id,M),t.close()}else g.type==="cancel"&&t.close()},value:{defaultPattern:S,defaultValue:_,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=t.open({header:{title:o.t("sheet.numfmt.title")},children:{label:te,...h},onClose:()=>{this._forceUpdate(),n.executeCommand(ne.id)}}),!0}_forceUpdate(t){var n;const s=this._renderManagerService.getRenderById(t!=null?t:this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId());s==null||s.with(x.SheetSkeletonManagerService).reCalculate(),(n=s==null?void 0:s.mainComponent)==null||n.makeDirty()}_initCommands(){[fe,he,ve,Ce,K,ne,U].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(te,tt)}_initRealTimeRenderingInterceptor(){const t=new j.Observable(n=>{this._commandService.onCommandExecuted(r=>{r.id===K.id&&n.next(!0),r.id===ne.id&&n.next(!1)})}),s=j.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(W.map(n=>n?n.map(r=>r.range):[]))]);this.disposeWithMe(a.toDisposable(s.pipe(W.switchMap(([n,r])=>new j.Observable(i=>{const o=new a.DisposableCollection;return n&&r.length&&i.next({selectionRanges:r,disposableCollection:o}),()=>{o.dispose()}})),W.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:r})=>{var o,c;const i=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);this.openPanel(),n.add(this._sheetInterceptorService.intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,handler:(l,v,f)=>{const{row:u,col:d}=v,S=f(l)||{};if(r.find(_=>_.startColumn<=d&&_.endColumn>=d&&_.startRow<=u&&_.endRow>=u)){const _=v.worksheet.getCellRaw(u,d),h=_==null?void 0:_.v,g=_==null?void 0:_.t;if(h==null||g!==a.CellValueType.NUMBER||this._previewPattern===null)return S;const y=B(this._previewPattern,h,this._localeService.getCurrentLocale());if(y.color){const k=this._themeService.getCurrentTheme()[`${y.color}500`];return{...S,v:y.result,t:a.CellValueType.STRING,s:{cl:{rgb:k}}}}return{...S,v:y.result,t:a.CellValueType.STRING}}return S}})),(c=(o=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:o.mainComponent)==null||c.makeDirty()})))}_commandExecutedListener(){const t=[m.RemoveNumfmtMutation.id,m.SetNumfmtMutation.id];this.disposeWithMe(new j.Observable(s=>{const n=this._commandService.onCommandExecuted(r=>{if(t.includes(r.id)){const i=r.params;s.next(i.unitId)}});return()=>n.dispose()}).pipe(W.debounceTime(16)).subscribe(s=>this._forceUpdate(s)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var s;t||((s=this._sidebarDisposable)==null||s.dispose(),this._sidebarDisposable=null)})}};Z=rt([a.OnLifecycle(a.LifecycleStages.Rendered,Z),O(0,I.Inject(m.SheetInterceptorService)),O(1,I.Inject(a.ThemeService)),O(2,a.IUniverInstanceService),O(3,a.ICommandService),O(4,I.Inject(m.SelectionManagerService)),O(5,me.IRenderManagerService),O(6,m.INumfmtService),O(7,I.Inject(T.ComponentManager)),O(8,T.ISidebarService),O(9,I.Inject(a.LocaleService))],Z);var it=Object.defineProperty,at=Object.getOwnPropertyDescriptor,ot=(e,t,s,n)=>{for(var r=n>1?void 0:n?at(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&it(t,s,r),r},H=(e,t)=>(s,n)=>t(s,n,e);const ct=()=>{let e=[];return{add:(r,i,o,c,l)=>e.push({unitId:r,subUnitId:i,row:o,col:c,value:l}),getEffects:()=>e,clean:()=>{e=[]}}};let Q=class extends a.Disposable{constructor(t,s,n,r,i){super();ee(this,"_collectEffectMutation",ct());this._sheetInterceptorService=t,this._numfmtService=s,this._univerInstanceService=n,this._injector=r,this._editorBridgeService=i,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this.disposeWithMe(a.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().BEFORE_CELL_EDIT,{handler:(t,s,n)=>{const r=s.row,i=s.col,o=this._numfmtService.getValue(s.unitId,s.subUnitId,r,i);if(o)switch(F(o.pattern)){case"scientific":case"percent":case"currency":case"grouped":case"number":return s.worksheet.getCellRaw(r,i);case"date":case"time":case"datetime":default:return n&&n(t)}return n(t)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(a.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT,{handler:(t,s,n)=>{var f;this._collectEffectMutation.clean();const r=this._numfmtService.getValue(s.unitId,s.subUnitId,s.row,s.col),i=(f=r&&F(r.pattern))!=null?f:"",o=()=>{r&&this._collectEffectMutation.add(s.unitId,s.subUnitId,s.row,s.col,null)};if(!(t!=null&&t.v))return n(t);const c=String(t.v),l=D.parseDate(c)||D.parseTime(c);if(!!l){if(l&&l.z){const u=Number(l.v);return this._collectEffectMutation.add(s.unitId,s.subUnitId,s.row,s.col,{pattern:l.z}),{...t,v:u,t:a.CellValueType.NUMBER}}}else(["date","time","datetime"].includes(i)||!lt(c))&&o();return n(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(s){var n;switch(s.id){case m.SetRangeValuesCommand.id:{const r=t._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),i=r.getUnitId(),o=(n=r.getActiveSheet())==null?void 0:n.getSheetId();if(!o)return{redos:[],undos:[]};const c=t._collectEffectMutation.getEffects();if(!c.length)return{redos:[],undos:[]};const l=c.filter(d=>{var S;return!!((S=d.value)!=null&&S.pattern)}).map(d=>({row:d.row,col:d.col,pattern:d.value.pattern})),v=c.filter(d=>{var S;return!((S=d.value)!=null&&S.pattern)}).map(d=>({startRow:d.row,endColumn:d.col,startColumn:d.col,endRow:d.row})),f=[],u=[];if(l){const d={id:m.SetNumfmtMutation.id,params:m.transformCellsToRange(i,o,l)};f.push(d),u.push(...m.factorySetNumfmtUndoMutation(t._injector,d.params))}if(v){const d={id:m.RemoveNumfmtMutation.id,params:{unitId:i,subUnitId:o,ranges:v}};f.push(d),u.push(...m.factoryRemoveNumfmtUndoMutation(t._injector,d.params))}return{redos:f,undos:u.reverse()}}}return{redos:[],undos:[]}}}))}};Q=ot([a.OnLifecycle(a.LifecycleStages.Rendered,Q),H(0,I.Inject(m.SheetInterceptorService)),H(1,I.Inject(m.INumfmtService)),H(2,I.Inject(a.IUniverInstanceService)),H(3,I.Inject(I.Injector)),H(4,I.Inject(x.IEditorBridgeService))],Q);function lt(e){return/^-?\d+(\.\d+)?$/.test(e)}var ut=Object.defineProperty,mt=Object.getOwnPropertyDescriptor,dt=(e,t,s,n)=>{for(var r=n>1?void 0:n?mt(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&ut(t,s,r),r},ft=(e,t)=>(s,n)=>t(s,n,e);let X=class extends a.Disposable{constructor(e){super(),this._localeService=e}};X=dt([a.OnLifecycle(a.LifecycleStages.Rendered,X),ft(0,I.Inject(a.LocaleService))],X);const q=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:"@@@"},"|",{label:"sheet.numfmt.number",pattern:"0"},"|",{label:"sheet.numfmt.accounting",pattern:'"¥" #,##0.00_);[Red]("¥"#,##0.00)'},{label:"sheet.numfmt.financialValue",pattern:"#,##0.00;[Red]#,##0.00"},{label:"sheet.numfmt.currency",pattern:'"¥"#,##0.00_);[Red]("¥"#,##0.00)'},{label:"sheet.numfmt.roundingCurrency",pattern:'"¥"#,##0;[Red]"¥"#,##0'},"|",{label:"sheet.numfmt.date",pattern:"yyyy-mm-dd;@"},{label:"sheet.numfmt.time",pattern:'am/pm h":"mm":"ss'},{label:"sheet.numfmt.dateTime",pattern:"yyyy-m-d am/pm h:mm"},{label:"sheet.numfmt.timeDuration",pattern:"h:mm:ss"},"|",{label:"sheet.numfmt.moreFmt",pattern:""}],Ie="sheet.numfmt.moreNumfmtType",Te="sheet.numfmt.moreNumfmtType.options",pt=e=>{var n;const t=E.useDependency(a.LocaleService),s=(n=e.value)!=null?n:t.t("sheet.numfmt.general");return p.jsx("span",{className:"more-numfmt-type",children:s})},vt=()=>{const e=E.useDependency(a.ICommandService),t=E.useDependency(a.LocaleService),s=E.useInjector(),n=E.useDependency(m.SelectionManagerService),r=c=>{const l=n.getLast();if(!l)return;const v=s.get(me.ITextSelectionRenderManager),f=l.range,u=[];a.Range.foreach(f,(d,S)=>{c?u.push({row:d,col:S,pattern:c,type:F(c)}):u.push({row:d,col:S})}),e.executeCommand(U.id,{values:u}),v.focus()},i=c=>{if(c===0)r(null);else if(c===q.length-1)e.executeCommand(K.id);else{const l=q[c];l.pattern&&r(l.pattern)}},o=1220;return p.jsx("div",{className:"more-numfmt-type-options",children:q.map((c,l)=>c==="|"?p.jsx("div",{className:"line m-t-4",onClick:v=>v.stopPropagation()},l):p.jsxs("div",{className:"option-item m-t-4",onClick:()=>{i(l)},children:[p.jsx("div",{children:t.t(c.label)}),p.jsx("div",{className:"m-l-26",children:c.pattern?B(c.pattern||"",o,t.getCurrentLocale()).result:""})]},l))})},ht=e=>({icon:"RmbSingle",id:ve.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:T.MenuItemType.BUTTON,group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[T.MenuPosition.TOOLBAR_START],hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),St=e=>({icon:"AddDigitsSingle",id:fe.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:T.MenuItemType.BUTTON,positions:[T.MenuPosition.TOOLBAR_START],group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),gt=e=>({icon:"ReduceDigitsSingle",id:he.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:T.MenuItemType.BUTTON,group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[T.MenuPosition.TOOLBAR_START],hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),_t=e=>({icon:"PercentSingle",id:Ce.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:T.MenuItemType.BUTTON,group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[T.MenuPosition.TOOLBAR_START],hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),yt=e=>{const t=e.get(m.INumfmtService),s=e.get(a.IUniverInstanceService),n=e.get(a.ICommandService),r=e.get(a.LocaleService),i=e.get(m.SelectionManagerService),o=x.deriveStateFromActiveSheet$(s,"",({workbook:c,worksheet:l})=>new j.Observable(v=>j.merge(i.selectionMoveEnd$,new j.Observable(f=>{const u=[m.RemoveNumfmtMutation.id,m.SetNumfmtMutation.id],d=n.onCommandExecuted(S=>{u.includes(S.id)&&f.next(null)});return()=>d.dispose()})).subscribe(()=>{const f=i.getSelections();if(f&&f[0]){const u=f[0].range,d=u.startRow,S=u.startColumn,_=t.getValue(c.getUnitId(),l.getSheetId(),d,S),h=_==null?void 0:_.pattern;let g=r.t("sheet.numfmt.general");if(h){const y=q.filter(M=>typeof M=="object"&&M.pattern).find(M=>z(h,M.pattern));y&&typeof y=="object"&&y.pattern?g=r.t(y.label):g=r.t("sheet.numfmt.moreFmt")}v.next(g)}})));return{label:Ie,id:K.id,tooltip:"sheet.numfmt.title",type:T.MenuItemType.SELECTOR,group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[T.MenuPosition.TOOLBAR_START],selections:[{label:{name:Te,hoverable:!1}}],value$:o,hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetSetCellStylePermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}};var bt=Object.defineProperty,Ct=Object.getOwnPropertyDescriptor,It=(e,t,s,n)=>{for(var r=n>1?void 0:n?Ct(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&bt(t,s,r),r},oe=(e,t)=>(s,n)=>t(s,n,e);const Tt={};let $=class extends a.Disposable{constructor(e,t,s,n){super(),this._config=e,this._injector=t,this._componentManager=s,this._menuService=n,this._initMenu()}_initMenu(){const{menu:e={}}=this._config;[_t,St,gt,ht,yt].forEach(t=>{this.disposeWithMe(this._menuService.addMenuItem(t(this._injector),e))}),this.disposeWithMe(this._componentManager.register(Ie,pt)),this.disposeWithMe(this._componentManager.register(Te,vt))}};$=It([a.OnLifecycle(a.LifecycleStages.Rendered,$),oe(1,I.Inject(I.Injector)),oe(2,I.Inject(T.ComponentManager)),oe(3,I.Inject(T.IMenuService))],$);var Me=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,Pt=(e,t,s)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Nt=(e,t,s,n)=>{for(var r=n>1?void 0:n?Mt(t,s):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(r=(n?o(t,s,r):o(r))||r);return n&&r&&Me(t,s,r),r},Et=(e,t)=>(s,n)=>t(s,n,e),Pe=(e,t,s)=>Pt(e,typeof t!="symbol"?t+"":t,s);C.UniverSheetsNumfmtPlugin=class extends a.Plugin{constructor(t={},s){super(),this._config=t,this._injector=s,this._config=a.Tools.deepMerge({},Tt,this._config)}onStarting(){this._injector.add([se,{useClass:Z,lazy:!1}]),this._injector.add([Q]),this._injector.add([J]),this._injector.add([G]),this._injector.add([X]),this._injector.add([$,{useFactory:()=>this._injector.createInstance($,this._config)}])}},Pe(C.UniverSheetsNumfmtPlugin,"pluginName",te),Pe(C.UniverSheetsNumfmtPlugin,"type",a.UniverInstanceType.UNIVER_SHEET),C.UniverSheetsNumfmtPlugin=Nt([a.DependentOn(m.UniverSheetsPlugin,x.UniverSheetsUIPlugin),Et(1,I.Inject(I.Injector))],C.UniverSheetsNumfmtPlugin),C.SetNumfmtCommand=U,C.getPatternPreview=B,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-numfmt",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "private": false,
5
5
  "description": "UniverSheet numfmt plugin",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -50,38 +50,38 @@
50
50
  "lib"
51
51
  ],
52
52
  "peerDependencies": {
53
- "@wendellhu/redi": "0.15.2",
53
+ "@wendellhu/redi": "0.15.4",
54
54
  "react": "^16.9.0 || ^17.0.0 || ^18.0.0",
55
55
  "rxjs": ">=7.0.0",
56
- "@univerjs/core": "0.1.14",
57
- "@univerjs/design": "0.1.14",
58
- "@univerjs/engine-numfmt": "0.1.14",
59
- "@univerjs/engine-render": "0.1.14",
60
- "@univerjs/sheets": "0.1.14",
61
- "@univerjs/sheets-ui": "0.1.14",
62
- "@univerjs/ui": "0.1.14"
56
+ "@univerjs/core": "0.1.16",
57
+ "@univerjs/engine-render": "0.1.16",
58
+ "@univerjs/design": "0.1.16",
59
+ "@univerjs/sheets": "0.1.16",
60
+ "@univerjs/sheets-ui": "0.1.16",
61
+ "@univerjs/ui": "0.1.16",
62
+ "@univerjs/engine-numfmt": "0.1.16"
63
63
  },
64
64
  "dependencies": {
65
- "@univerjs/icons": "^0.1.56"
65
+ "@univerjs/icons": "^0.1.57"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@types/react": "^18.3.3",
69
- "@wendellhu/redi": "0.15.2",
69
+ "@wendellhu/redi": "0.15.4",
70
70
  "less": "^4.2.0",
71
71
  "react": "18.3.1",
72
72
  "rxjs": "^7.8.1",
73
73
  "typescript": "^5.4.5",
74
- "vite": "^5.2.12",
74
+ "vite": "^5.3.1",
75
75
  "vitest": "^1.6.0",
76
- "@univerjs/core": "0.1.14",
77
- "@univerjs/engine-formula": "0.1.14",
78
- "@univerjs/design": "0.1.14",
79
- "@univerjs/engine-numfmt": "0.1.14",
80
- "@univerjs/sheets": "0.1.14",
81
- "@univerjs/engine-render": "0.1.14",
82
- "@univerjs/shared": "0.1.14",
83
- "@univerjs/sheets-ui": "0.1.14",
84
- "@univerjs/ui": "0.1.14"
76
+ "@univerjs/core": "0.1.16",
77
+ "@univerjs/design": "0.1.16",
78
+ "@univerjs/engine-formula": "0.1.16",
79
+ "@univerjs/shared": "0.1.16",
80
+ "@univerjs/engine-render": "0.1.16",
81
+ "@univerjs/engine-numfmt": "0.1.16",
82
+ "@univerjs/sheets": "0.1.16",
83
+ "@univerjs/sheets-ui": "0.1.16",
84
+ "@univerjs/ui": "0.1.16"
85
85
  },
86
86
  "univerSpace": {
87
87
  ".": {
@@ -102,6 +102,7 @@
102
102
  "test:watch": "vitest",
103
103
  "coverage": "vitest run --coverage",
104
104
  "lint:types": "tsc --noEmit",
105
- "build": "tsc && vite build"
105
+ "build": "tsc && vite build",
106
+ "sync:cnpm": "cnpm sync"
106
107
  }
107
108
  }