@univerjs/sheets-numfmt 0.2.3 → 0.2.4-alpha.0

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,4 +1,4 @@
1
- "use strict";var Re=Object.defineProperty;var Oe=(e,t,n)=>t in e?Re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var W=(e,t,n)=>Oe(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),C=require("@wendellhu/redi"),d=require("@univerjs/sheets"),x=require("@univerjs/sheets-ui"),O=require("rxjs"),j=require("@univerjs/engine-numfmt"),Se=require("@univerjs/engine-render"),I=require("@univerjs/ui"),q=require("rxjs/operators"),y=require("react"),E=require("@univerjs/design"),N=require("@wendellhu/redi/react-bindings"),ce="SHEET_NUMFMT_PLUGIN",Z=e=>j.getInfo(e).type||"unknown",ee=(e,t,n)=>{const r=j.getInfo(e),s=n===c.LocaleType.ZH_CN?"zh-CN":"en",i=r._partitions[1],o=j.format(e,t,{locale:s});return t<0?{result:o,color:i.color}:{result:o}};var je=Object.defineProperty,xe=Object.getOwnPropertyDescriptor,De=(e,t,n,r)=>{for(var s=r>1?void 0:r?xe(t,n):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(r?o(t,n,s):o(s))||s);return r&&s&&je(t,n,s),s},w=(e,t)=>(n,r)=>t(n,r,e);let G=class extends c.Disposable{constructor(e,t,n,r,s,i){super(),this._instanceService=e,this._sheetInterceptorService=t,this._themeService=n,this._commandService=r,this._numfmtService=s,this._localeService=i,this._initInterceptorCellContent()}_initInterceptorCellContent(){const e=new c.ObjectMatrix;this.disposeWithMe(this._sheetInterceptorService.intercept(d.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(t,n,r)=>{const s=n.unitId,i=n.subUnitId,o=this._numfmtService.getValue(s,i,n.row,n.col);if(!o)return r(t);const a=t;if(!a||a.t!==c.CellValueType.NUMBER)return r(t);let l="";const p=e.getValue(n.row,n.col);if(p&&p.parameters===a.v)return r({...t,...p.result});const f=ee(o.pattern,Number(a.v),this._localeService.getCurrentLocale());if(l=f.result,!l)return r(t);const u={v:l};if(f.color){const m=this._themeService.getCurrentTheme()[`${f.color}500`];m&&(u.interceptorStyle={cl:{rgb:m}})}return e.setValue(n.row,n.col,{result:u,parameters:a.v}),r({...t,...u})},priority:10})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===d.SetNumfmtMutation.id){const n=t.params;Object.keys(n.values).forEach(r=>{n.values[r].ranges.forEach(i=>{c.Range.foreach(i,(o,a)=>{e.realDeleteValue(o,a)})})})}else if(t.id===d.SetRangeValuesMutation.id){const n=t.params;new c.ObjectMatrix(n.cellValue).forValue((r,s)=>{e.realDeleteValue(r,s)})}})),this.disposeWithMe(this._instanceService.getCurrentTypeOfUnit$(c.UniverInstanceType.UNIVER_SHEET).pipe(O.switchMap(t=>{var n;return(n=t==null?void 0:t.activeSheet$)!=null?n:O.of(null)}),O.skip(1)).subscribe(()=>e.reset()))}};G=De([c.OnLifecycle(c.LifecycleStages.Rendered,G),w(0,c.IUniverInstanceService),w(1,C.Inject(d.SheetInterceptorService)),w(2,C.Inject(c.ThemeService)),w(3,C.Inject(c.ICommandService)),w(4,C.Inject(d.INumfmtService)),w(5,C.Inject(c.LocaleService))],G);const D=(e,t=0)=>{var r;return e&&(r=j.getInfo(e).maxDecimals)!=null?r:t},te=(e,t)=>{if(e&&!t||!e&&t)return!1;const n=p=>p.reduce((f,u)=>{if(f.isEnd)return f;const m=u.value||u.num;return u.type==="point"?(f.isEnd=!0,f):{...f,result:f.result+m}},{isEnd:!1,result:""}).result,r=j.getInfo(e)._partitions,s=j.getInfo(t)._partitions,i=n(r[0].tokens),o=n(s[0].tokens),a=n(r[1].tokens),l=n(s[1].tokens);return i===o&&a===l&&r[1].color===s[1].color},pe=e=>new Array(Math.min(Math.max(0,Number(e)),30)).fill(0).join(""),M=(e,t)=>e.split(";").map(r=>/\.0?/.test(r)?r.replace(/\.0*/g,`${t>0?".":""}${pe(Number(t||0))}`):/0([^0]?)|0$/.test(r)?r.replace(/0([^0]+)|0$/,`0${t>0?".":""}${pe(Number(t||0))}$1`):r).join(";"),$e=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),$={id:"sheet.command.numfmt.set.numfmt",type:c.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;const n=e.get(c.ICommandService),r=e.get(c.IUniverInstanceService),s=e.get(c.IUndoRedoService),i=d.getSheetCommandTarget(r,t);if(!i)return!1;const{unitId:o,subUnitId:a}=i,l=t.values.filter(v=>!!v.pattern),p=t.values.filter(v=>!v.pattern),f=d.transformCellsToRange(o,a,l),u={unitId:o,subUnitId:a,ranges:p.map(v=>({startColumn:v.col,startRow:v.row,endColumn:v.col,endRow:v.row}))},m=[],g=[];if(l.length){Object.keys(f.values).forEach(b=>{const S=f.values[b];S.ranges=d.rangeMerge(S.ranges)}),m.push({id:d.SetNumfmtMutation.id,params:f});const v=d.factorySetNumfmtUndoMutation(e,f);g.push(...v)}if(p.length){u.ranges=d.rangeMerge(u.ranges),m.push({id:d.RemoveNumfmtMutation.id,params:u});const v=d.factoryRemoveNumfmtUndoMutation(e,u);g.push(...v)}const _=c.sequenceExecute(m,n).result;return _&&s.pushUndoRedo({unitID:o,undoMutations:g,redoMutations:m}),_}},le={id:"sheet.command.numfmt.add.decimal.command",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),n=e.get(d.SheetsSelectionsService),r=e.get(d.INumfmtService),s=e.get(c.IUniverInstanceService),i=n.getCurrentSelections();if(!i||!i.length)return!1;const o=d.getSheetCommandTarget(s);if(!o)return!1;const{unitId:a,subUnitId:l}=o;let p=0;i.forEach(g=>{c.Range.foreach(g.range,(_,v)=>{const b=r.getValue(a,l,_,v);if(!b)return;const S=D(b.pattern);p=S>p?S:p})});const f=p+1,u=M(`0${f>0?".0":""}`,f),m=[];return i.forEach(g=>{c.Range.foreach(g.range,(_,v)=>{const b=r.getValue(a,l,_,v);if(!b)m.push({row:_,col:v,pattern:u});else{const S=D(b.pattern),T=M(b.pattern,S+1);T!==b.pattern&&m.push({row:_,col:v,pattern:T})}})}),m.length?await t.executeCommand($.id,{values:m}):!1}},Ue=[{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"}],we=[{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"}],ge=[{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"}],ue={id:"sheet.command.numfmt.set.currency",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),r=e.get(d.SheetsSelectionsService).getCurrentSelections();if(!r||!r.length)return!1;const s=[],i=ge[0].suffix("¥");return r.forEach(a=>{c.Range.foreach(a.range,(l,p)=>{s.push({row:l,col:p,pattern:i,type:"currency"})})}),await t.executeCommand($.id,{values:s})}},me={id:"sheet.command.numfmt.subtract.decimal.command",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),n=e.get(d.SheetsSelectionsService),r=e.get(d.INumfmtService),s=e.get(c.IUniverInstanceService),i=n.getCurrentSelections();if(!i||!i.length)return!1;const o=d.getSheetCommandTarget(s);if(!o)return!1;const{unitId:a,subUnitId:l}=o;let p=0;i.forEach(_=>{c.Range.foreach(_.range,(v,b)=>{const S=r.getValue(a,l,v,b);if(!S)return;const T=D(S.pattern);p=T>p?T:p})});const f=p-1,u=M(`0${f>0?".0":"."}`,f),m=[];return i.forEach(_=>{c.Range.foreach(_.range,(v,b)=>{const S=r.getValue(a,l,v,b);if(!S)m.push({row:v,col:b,pattern:u});else{const T=D(S.pattern);m.push({row:v,col:b,pattern:M(S.pattern,T-1)})}})}),await t.executeCommand($.id,{values:m})}},z={id:"sheet.operation.close.numfmt.panel",type:c.CommandType.OPERATION,handler:()=>!0},de=C.createIdentifier("INumfmtController");c.runOnLifecycle(c.LifecycleStages.Rendered,de);const H={id:"sheet.operation.open.numfmt.panel",type:c.CommandType.OPERATION,handler:e=>(e.get(de).openPanel(),!0)};var _e={exports:{}},ne={};/**
1
+ "use strict";var Ne=Object.defineProperty;var Ee=(e,t,n)=>t in e?Ne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var k=(e,t,n)=>Ee(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@univerjs/core"),d=require("@univerjs/sheets"),O=require("@univerjs/sheets-ui"),E=require("rxjs"),R=require("@univerjs/engine-numfmt"),pe=require("@univerjs/engine-render"),C=require("@univerjs/ui"),F=require("rxjs/operators"),y=require("react"),M=require("@univerjs/design"),ie="SHEET_NUMFMT_PLUGIN",J=e=>R.getInfo(e).type||"unknown",Z=(e,t,n)=>{const r=R.getInfo(e),s=n===i.LocaleType.ZH_CN?"zh-CN":"en",o=r._partitions[1],c=R.format(e,t,{locale:s});return t<0?{result:c,color:o.color}:{result:c}};var Re=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,je=(e,t,n,r)=>{for(var s=r>1?void 0:r?Oe(t,n):t,o=e.length-1,c;o>=0;o--)(c=e[o])&&(s=(r?c(t,n,s):c(s))||s);return r&&s&&Re(t,n,s),s},$=(e,t)=>(n,r)=>t(n,r,e);let W=class extends i.Disposable{constructor(e,t,n,r,s,o){super(),this._instanceService=e,this._sheetInterceptorService=t,this._themeService=n,this._commandService=r,this._numfmtService=s,this._localeService=o,this._initInterceptorCellContent()}_initInterceptorCellContent(){const e=new i.ObjectMatrix;this.disposeWithMe(this._sheetInterceptorService.intercept(d.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(t,n,r)=>{const s=n.unitId,o=n.subUnitId,c=this._numfmtService.getValue(s,o,n.row,n.col);if(!c)return r(t);const a=t;if(!a||a.t!==i.CellValueType.NUMBER)return r(t);let l="";const p=e.getValue(n.row,n.col);if(p&&p.parameters===a.v)return r({...t,...p.result});const f=Z(c.pattern,Number(a.v),this._localeService.getCurrentLocale());if(l=f.result,!l)return r(t);const u={v:l};if(f.color){const m=this._themeService.getCurrentTheme()[`${f.color}500`];m&&(u.interceptorStyle={cl:{rgb:m}})}return e.setValue(n.row,n.col,{result:u,parameters:a.v}),r({...t,...u})},priority:10})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===d.SetNumfmtMutation.id){const n=t.params;Object.keys(n.values).forEach(r=>{n.values[r].ranges.forEach(o=>{i.Range.foreach(o,(c,a)=>{e.realDeleteValue(c,a)})})})}else if(t.id===d.SetRangeValuesMutation.id){const n=t.params;new i.ObjectMatrix(n.cellValue).forValue((r,s)=>{e.realDeleteValue(r,s)})}})),this.disposeWithMe(this._instanceService.getCurrentTypeOfUnit$(i.UniverInstanceType.UNIVER_SHEET).pipe(E.switchMap(t=>{var n;return(n=t==null?void 0:t.activeSheet$)!=null?n:E.of(null)}),E.skip(1)).subscribe(()=>e.reset()))}};W=je([i.OnLifecycle(i.LifecycleStages.Rendered,W),$(0,i.IUniverInstanceService),$(1,i.Inject(d.SheetInterceptorService)),$(2,i.Inject(i.ThemeService)),$(3,i.Inject(i.ICommandService)),$(4,i.Inject(d.INumfmtService)),$(5,i.Inject(i.LocaleService))],W);const j=(e,t=0)=>{var r;return e&&(r=R.getInfo(e).maxDecimals)!=null?r:t},Q=(e,t)=>{if(e&&!t||!e&&t)return!1;const n=p=>p.reduce((f,u)=>{if(f.isEnd)return f;const m=u.value||u.num;return u.type==="point"?(f.isEnd=!0,f):{...f,result:f.result+m}},{isEnd:!1,result:""}).result,r=R.getInfo(e)._partitions,s=R.getInfo(t)._partitions,o=n(r[0].tokens),c=n(s[0].tokens),a=n(r[1].tokens),l=n(s[1].tokens);return o===c&&a===l&&r[1].color===s[1].color},fe=e=>new Array(Math.min(Math.max(0,Number(e)),30)).fill(0).join(""),P=(e,t)=>e.split(";").map(r=>/\.0?/.test(r)?r.replace(/\.0*/g,`${t>0?".":""}${fe(Number(t||0))}`):/0([^0]?)|0$/.test(r)?r.replace(/0([^0]+)|0$/,`0${t>0?".":""}${fe(Number(t||0))}$1`):r).join(";"),xe=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),x={id:"sheet.command.numfmt.set.numfmt",type:i.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;const n=e.get(i.ICommandService),r=e.get(i.IUniverInstanceService),s=e.get(i.IUndoRedoService),o=d.getSheetCommandTarget(r,t);if(!o)return!1;const{unitId:c,subUnitId:a}=o,l=t.values.filter(v=>!!v.pattern),p=t.values.filter(v=>!v.pattern),f=d.transformCellsToRange(c,a,l),u={unitId:c,subUnitId:a,ranges:p.map(v=>({startColumn:v.col,startRow:v.row,endColumn:v.col,endRow:v.row}))},m=[],g=[];if(l.length){Object.keys(f.values).forEach(b=>{const S=f.values[b];S.ranges=d.rangeMerge(S.ranges)}),m.push({id:d.SetNumfmtMutation.id,params:f});const v=d.factorySetNumfmtUndoMutation(e,f);g.push(...v)}if(p.length){u.ranges=d.rangeMerge(u.ranges),m.push({id:d.RemoveNumfmtMutation.id,params:u});const v=d.factoryRemoveNumfmtUndoMutation(e,u);g.push(...v)}const _=i.sequenceExecute(m,n).result;return _&&s.pushUndoRedo({unitID:c,undoMutations:g,redoMutations:m}),_}},ce={id:"sheet.command.numfmt.add.decimal.command",type:i.CommandType.COMMAND,handler:async e=>{const t=e.get(i.ICommandService),n=e.get(d.SheetsSelectionsService),r=e.get(d.INumfmtService),s=e.get(i.IUniverInstanceService),o=n.getCurrentSelections();if(!o||!o.length)return!1;const c=d.getSheetCommandTarget(s);if(!c)return!1;const{unitId:a,subUnitId:l}=c;let p=0;o.forEach(g=>{i.Range.foreach(g.range,(_,v)=>{const b=r.getValue(a,l,_,v);if(!b)return;const S=j(b.pattern);p=S>p?S:p})});const f=p+1,u=P(`0${f>0?".0":""}`,f),m=[];return o.forEach(g=>{i.Range.foreach(g.range,(_,v)=>{const b=r.getValue(a,l,_,v);if(!b)m.push({row:_,col:v,pattern:u});else{const S=j(b.pattern),I=P(b.pattern,S+1);I!==b.pattern&&m.push({row:_,col:v,pattern:I})}})}),m.length?await t.executeCommand(x.id,{values:m}):!1}},De=[{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"}],$e=[{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"}],ve=[{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"}],ae={id:"sheet.command.numfmt.set.currency",type:i.CommandType.COMMAND,handler:async e=>{const t=e.get(i.ICommandService),r=e.get(d.SheetsSelectionsService).getCurrentSelections();if(!r||!r.length)return!1;const s=[],o=ve[0].suffix("¥");return r.forEach(a=>{i.Range.foreach(a.range,(l,p)=>{s.push({row:l,col:p,pattern:o,type:"currency"})})}),await t.executeCommand(x.id,{values:s})}},le={id:"sheet.command.numfmt.subtract.decimal.command",type:i.CommandType.COMMAND,handler:async e=>{const t=e.get(i.ICommandService),n=e.get(d.SheetsSelectionsService),r=e.get(d.INumfmtService),s=e.get(i.IUniverInstanceService),o=n.getCurrentSelections();if(!o||!o.length)return!1;const c=d.getSheetCommandTarget(s);if(!c)return!1;const{unitId:a,subUnitId:l}=c;let p=0;o.forEach(_=>{i.Range.foreach(_.range,(v,b)=>{const S=r.getValue(a,l,v,b);if(!S)return;const I=j(S.pattern);p=I>p?I:p})});const f=p-1,u=P(`0${f>0?".0":"."}`,f),m=[];return o.forEach(_=>{i.Range.foreach(_.range,(v,b)=>{const S=r.getValue(a,l,v,b);if(!S)m.push({row:v,col:b,pattern:u});else{const I=j(S.pattern);m.push({row:v,col:b,pattern:P(S.pattern,I-1)})}})}),await t.executeCommand(x.id,{values:m})}},q={id:"sheet.operation.close.numfmt.panel",type:i.CommandType.OPERATION,handler:()=>!0},ue=i.createIdentifier("INumfmtController");i.runOnLifecycle(i.LifecycleStages.Rendered,ue);const V={id:"sheet.operation.open.numfmt.panel",type:i.CommandType.OPERATION,handler:e=>(e.get(ue).openPanel(),!0)};var Se={exports:{}},ee={};/**
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 Le=y,Ae=Symbol.for("react.element"),Ve=Symbol.for("react.fragment"),Be=Object.prototype.hasOwnProperty,He=Le.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ke={key:!0,ref:!0,__self:!0,__source:!0};function be(e,t,n){var r,s={},i=null,o=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(o=t.ref);for(r in t)Be.call(t,r)&&!ke.hasOwnProperty(r)&&(s[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)s[r]===void 0&&(s[r]=t[r]);return{$$typeof:Ae,type:e,key:i,ref:o,props:s,_owner:He.current}}ne.Fragment=Ve;ne.jsx=be;ne.jsxs=be;_e.exports=ne;var h=_e.exports;const fe=y.createContext([]),ae=["$","£","¥","¤","֏","؋","৳","฿","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"];var Fe=Object.defineProperty,We=Object.getOwnPropertyDescriptor,qe=(e,t,n,r)=>{for(var s=r>1?void 0:r?We(t,n):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(r?o(t,n,s):o(s))||s);return r&&s&&Fe(t,n,s),s},Ge=(e,t)=>(n,r)=>t(n,r,e);let Q=class{constructor(e){this._localStorageService=e}_getKey(e){return`userHabitController_${e}`}async addHabit(e,t){const n=this._getKey(e);return this._localStorageService.getItem(n).then(r=>{r||this._localStorageService.setItem(n,t)})}markHabit(e,t){const n=this._getKey(e);this._localStorageService.getItem(n).then(r=>{if(r){const s=r.findIndex(i=>i===t);s>-1&&r.splice(s,1),r.unshift(t),this._localStorageService.setItem(n,r)}})}async getHabit(e,t){const n=this._getKey(e),r=await this._localStorageService.getItem(n);if(t&&r){const s=r.map((i,o,a)=>{const l=a.length;return{value:i,priority:l-o}});return t.sort((i,o)=>{var p,f;const a=((p=s.find(u=>u.value===i))==null?void 0:p.priority)||-1;return(((f=s.find(u=>u.value===o))==null?void 0:f.priority)||-1)-a})}return r||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};Q=qe([Ge(0,C.Inject(c.ILocalStorageService))],Q);const ve="numfmtCurrency",ze=e=>{const t=N.useDependency(Q),[n,r]=y.useState(ae);return y.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(ve,[...ae]).then(i=>{r(i),e&&e(i)})})},[]),{userHabitCurrency:n,mark:i=>{t.markHabit(ve,i)}}},Ke=()=>{const e=y.useRef([]),[t,n]=y.useState({});return y.useEffect(()=>{e.current.forEach(s=>{s()}),e.current=[]},[t]),s=>{e.current.push(s),n({})}},k=e=>ae.find(n=>e.includes(n)),Ye=e=>!!k(e)&&e.startsWith("_("),Je=e=>{const[t,n]=y.useState(()=>D(e.defaultPattern||"",2)),r=y.useContext(fe),[s,i]=y.useState(()=>k(e.defaultPattern)||r[0]),o=y.useMemo(()=>r.map(u=>({label:u,value:u})),[]),l=N.useDependency(c.LocaleService).t;e.action.current=()=>M(`_("${s}"* #,##0${t>0?".0":""}_)`,t);const p=u=>{i(u),e.onChange(M(`_("${u}"* #,##0${t>0?".0":""}_)`,t))},f=u=>{const m=u||0;n(m),e.onChange(M(`_("${s}"* #,##0${m>0?".0":""}_)`,m))};return h.jsxs("div",{children:[h.jsxs("div",{className:"m-t-16 options ",children:[h.jsxs("div",{className:"option",children:[h.jsx("div",{className:"label",children:l("sheet.numfmt.decimalLength")}),h.jsx("div",{className:"m-t-8 w-120",children:h.jsx(E.InputNumber,{value:t,max:20,min:0,onChange:f})})]}),h.jsxs("div",{className:"option",children:[h.jsx("div",{className:"label",children:l("sheet.numfmt.currencyType")}),h.jsx("div",{className:"m-t-8 w-140",children:h.jsx(E.Select,{onChange:p,options:o,value:s})})]})]}),h.jsx("div",{className:"describe m-t-14",children:l("sheet.numfmt.accountingDes")})]})},ie=e=>ge.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),ye=()=>Ue.map(e=>({label:e.label,value:e.suffix})),Ce=()=>we.map(e=>({label:e.label,value:e.suffix,color:e.color})),Xe=e=>!!k(e)&&!e.startsWith("_("),Ze=e=>{const n=N.useDependency(c.LocaleService).t,r=y.useContext(fe),[s,i]=y.useState(()=>k(e.defaultPattern)||r[0]),[o,a]=y.useState(()=>D(e.defaultPattern||"",2)),[l,p]=y.useState(()=>{var S;const v=ie(s);return((S=v.find(T=>te(T.value,e.defaultPattern)))==null?void 0:S.value)||v[0].value}),f=y.useMemo(()=>ie(s),[s]),u=y.useMemo(()=>r.map(v=>({label:v,value:v})),[r]);e.action.current=()=>M(l,o);const m=v=>{if(v===void 0)return;i(v);const b=ie(v)[0].value;p(b),e.onChange(M(b,o))},g=v=>{v!==void 0&&(p(v),e.onChange(M(v,o)))},_=v=>{a(v||0),e.onChange(M(l,v||0))};return h.jsxs("div",{children:[h.jsxs("div",{className:"m-t-16 options ",children:[h.jsxs("div",{className:"option",children:[h.jsx("div",{className:"label",children:n("sheet.numfmt.decimalLength")}),h.jsx("div",{className:"m-t-8 w-120",children:h.jsx(E.InputNumber,{value:o,max:20,min:0,onChange:_})})]}),h.jsxs("div",{className:"option",children:[h.jsx("div",{className:"label",children:n("sheet.numfmt.currencyType")}),h.jsx("div",{className:"m-t-8 w-140",children:h.jsx(E.Select,{onChange:m,options:u,value:s})})]})]}),h.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.negType")}),h.jsx("div",{className:"m-t-8",children:h.jsx(E.SelectList,{onChange:g,options:f,value:l})}),h.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.currencyDes")})]})},Qe=e=>{const t=j.getInfo(e);return ye().map(n=>n.value).includes(e)||["date","datetime","time"].includes(t.type)},et=e=>{const t=y.useMemo(ye,[]),r=N.useDependency(c.LocaleService).t,[s,i]=y.useState(()=>{if(e.defaultPattern){const a=t.find(l=>l.value===e.defaultPattern);if(a)return a.value}return t[0].value});e.action.current=()=>s;const o=a=>{a!==void 0&&(i(a),e.onChange(a))};return h.jsxs("div",{children:[h.jsx("div",{className:"m-t-16 label",children:r("sheet.numfmt.dateType")}),h.jsx("div",{className:"m-t-8",children:h.jsx(E.SelectList,{value:s,options:t,onChange:o})}),h.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.dateDes")})]})},tt=e=>!e,nt=e=>{const n=N.useDependency(c.LocaleService).t;return e.action.current=()=>"",h.jsx("div",{children:h.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.generalDes")})})},rt=e=>Ce().some(t=>te(t.value,e)),st=e=>{const t=N.useDependency(c.LocaleService),n=y.useMemo(Ce,[]),[r,s]=y.useState(()=>D(e.defaultPattern||"",0)),[i,o]=y.useState(()=>{const u=n.find(m=>te(m.value,e.defaultPattern||""));return(u==null?void 0:u.value)||n[0].value}),a=y.useMemo(()=>M(i,Number(r||0)),[i,r]),l=y.useMemo(()=>!$e(i),[i]),p=u=>{s(u||0),e.onChange(M(i,Number(u||0)))},f=u=>{u!==void 0&&(s(D(u,0)),o(u),e.onChange(u))};return e.action.current=()=>a,h.jsxs("div",{children:[h.jsx("div",{className:"m-t-16 label",children:t.t("sheet.numfmt.decimalLength")}),h.jsx("div",{className:"m-t-8",children:h.jsx(E.InputNumber,{disabled:l,value:r,max:20,min:0,onChange:p})}),h.jsxs("div",{className:"m-t-16 label",children:[" ",t.t("sheet.numfmt.negType")]}),h.jsx("div",{className:"m-t-8",children:h.jsx(E.SelectList,{onChange:f,options:n,value:i})}),h.jsx("div",{className:"describe m-t-14",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},it=e=>{const{defaultValue:t,defaultPattern:n,row:r,col:s}=e.value,i=N.useDependency(c.LocaleService),o=y.useRef(()=>""),a=i.t,l=Ke(),p=y.useMemo(()=>[{label:"sheet.numfmt.general",component:nt},{label:"sheet.numfmt.accounting",component:Je},{label:"sheet.numfmt.currency",component:Ze},{label:"sheet.numfmt.date",component:et},{label:"sheet.numfmt.thousandthPercentile",component:st}].map(P=>({...P,label:a(P.label)})),[]),[f,u]=y.useState(S),[m,g]=y.useState(()=>`${r}_${s}`),{mark:_,userHabitCurrency:v}=ze(()=>g(`${r}_${s}_userCurrency'`)),b=y.useMemo(()=>{var P;return(P=p.find(U=>U.label===f))==null?void 0:P.component},[f]);function S(){return[tt,Ye,Xe,Qe,rt].reduce((U,Ne,Ee)=>U||(Ne(n)?p[Ee].label:""),"")||p[0].label}const T=p.map(P=>({label:P.label,value:P.label})),L=P=>{u(P),l(()=>e.onChange({type:"change",value:o.current()||""}))},F=P=>{e.onChange({type:"change",value:P})},re=()=>{const P=o.current()||"",U=k(P);U&&_(U),e.onChange({type:"confirm",value:P})},A=()=>{e.onChange({type:"cancel",value:""})},se={onChange:F,defaultValue:t,defaultPattern:n,action:o};return y.useEffect(()=>{u(S()),g(`${r}_${s}`)},[r,s]),h.jsxs("div",{className:"numfmt-panel p-b-20",children:[h.jsxs("div",{children:[h.jsx("div",{className:"label m-t-14",children:a("sheet.numfmt.numfmtType")}),h.jsx("div",{className:"m-t-8",children:h.jsx(E.Select,{onChange:L,options:T,value:f})}),h.jsx("div",{children:b&&h.jsx(fe.Provider,{value:v,children:y.createElement(b,{...se,key:m})})})]}),h.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[h.jsx(E.Button,{size:"small",onClick:A,className:"m-r-12",children:a("sheet.numfmt.cancel")}),h.jsx(E.Button,{type:"primary",size:"small",onClick:re,children:a("sheet.numfmt.confirm")})]})]})},he={id:"sheet.command.numfmt.set.percent",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),r=e.get(d.SheetsSelectionsService).getCurrentSelections();if(!r||!r.length)return!1;const s=[],i="0%";return r.forEach(a=>{c.Range.foreach(a.range,(l,p)=>{s.push({row:l,col:p,pattern:i,type:"percent"})})}),await t.executeCommand($.id,{values:s})}};var ot=Object.defineProperty,ct=Object.getOwnPropertyDescriptor,at=(e,t,n,r)=>{for(var s=r>1?void 0:r?ct(t,n):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(r?o(t,n,s):o(s))||s);return r&&s&&ot(t,n,s),s},R=(e,t)=>(n,r)=>t(n,r,e);let K=class extends c.Disposable{constructor(t,n,r,s,i,o,a,l,p,f){super();W(this,"_previewPattern","");W(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=n,this._univerInstanceService=r,this._commandService=s,this._selectionManagerService=i,this._renderManagerService=o,this._numfmtService=a,this._componentManager=l,this._sidebarService=p,this._localeService=f,this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener()}openPanel(){var b;const t=this._sidebarService,n=this._selectionManagerService,r=this._commandService,s=this._univerInstanceService,i=this._numfmtService,o=this._localeService,l=(((b=n.getCurrentSelections())==null?void 0:b.map(S=>S.range))||[])[0];if(!l)return!1;const p=s.getCurrentUnitForType(c.UniverInstanceType.UNIVER_SHEET),f=p.getActiveSheet();if(!f)return!1;const u=f.getCellRaw(l.startRow,l.startColumn),m=i.getValue(p.getUnitId(),f.getSheetId(),l.startRow,l.startColumn);let g="";m&&(g=m.pattern);const _=(u==null?void 0:u.t)===c.CellValueType.NUMBER?u.v:12345678,v={onChange:S=>{var T;if(S.type==="change")this._previewPattern=S.value,this._forceUpdate();else if(S.type==="confirm"){const L=((T=n.getCurrentSelections())==null?void 0:T.map(A=>A.range))||[],F={values:[]},re=Z(S.value);L.forEach(A=>{c.Range.foreach(A,(se,P)=>{F.values.push({row:se,col:P,pattern:S.value,type:re})})}),r.executeCommand($.id,F),t.close()}else S.type==="cancel"&&t.close()},value:{defaultPattern:g,defaultValue:_,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=t.open({header:{title:o.t("sheet.numfmt.title")},children:{label:ce,...v},onClose:()=>{this._forceUpdate(),r.executeCommand(z.id)}}),!0}_forceUpdate(t){var r;const n=this._renderManagerService.getRenderById(t!=null?t:this._univerInstanceService.getCurrentUnitForType(c.UniverInstanceType.UNIVER_SHEET).getUnitId());n==null||n.with(x.SheetSkeletonManagerService).reCalculate(),(r=n==null?void 0:n.mainComponent)==null||r.makeDirty()}_initCommands(){[le,me,ue,he,H,z,$].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(ce,it)}_initRealTimeRenderingInterceptor(){const t=new O.Observable(r=>{this._commandService.onCommandExecuted(s=>{s.id===H.id&&r.next(!0),s.id===z.id&&r.next(!1)})}),n=O.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(q.map(r=>r?r.map(s=>s.range):[]))]);this.disposeWithMe(c.toDisposable(n.pipe(q.switchMap(([r,s])=>new O.Observable(i=>{const o=new c.DisposableCollection;return r&&s.length&&i.next({selectionRanges:s,disposableCollection:o}),()=>{o.dispose()}})),q.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:r,selectionRanges:s})=>{var o,a;const i=this._univerInstanceService.getCurrentUnitForType(c.UniverInstanceType.UNIVER_SHEET);this.openPanel(),r.add(this._sheetInterceptorService.intercept(d.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,handler:(l,p,f)=>{const{row:u,col:m}=p,g=f(l)||{};if(s.find(_=>_.startColumn<=m&&_.endColumn>=m&&_.startRow<=u&&_.endRow>=u)){const _=p.worksheet.getCellRaw(u,m),v=_==null?void 0:_.v,b=_==null?void 0:_.t;if(v==null||b!==c.CellValueType.NUMBER||this._previewPattern===null)return g;const S=ee(this._previewPattern,v,this._localeService.getCurrentLocale());if(S.color){const L=this._themeService.getCurrentTheme()[`${S.color}500`];return{...g,v:S.result,t:c.CellValueType.STRING,s:{cl:{rgb:L}}}}return{...g,v:S.result,t:c.CellValueType.STRING}}return g}})),(a=(o=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:o.mainComponent)==null||a.makeDirty()})))}_commandExecutedListener(){const t=[d.RemoveNumfmtMutation.id,d.SetNumfmtMutation.id];this.disposeWithMe(new O.Observable(n=>{const r=this._commandService.onCommandExecuted(s=>{if(t.includes(s.id)){const i=s.params;n.next(i.unitId)}});return()=>r.dispose()}).pipe(q.debounceTime(16)).subscribe(n=>this._forceUpdate(n)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(c.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var n;t||((n=this._sidebarDisposable)==null||n.dispose(),this._sidebarDisposable=null)})}};K=at([c.OnLifecycle(c.LifecycleStages.Rendered,K),R(0,C.Inject(d.SheetInterceptorService)),R(1,C.Inject(c.ThemeService)),R(2,c.IUniverInstanceService),R(3,c.ICommandService),R(4,C.Inject(d.SheetsSelectionsService)),R(5,Se.IRenderManagerService),R(6,d.INumfmtService),R(7,C.Inject(I.ComponentManager)),R(8,I.ISidebarService),R(9,C.Inject(c.LocaleService))],K);var lt=Object.defineProperty,ut=Object.getOwnPropertyDescriptor,mt=(e,t,n,r)=>{for(var s=r>1?void 0:r?ut(t,n):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(r?o(t,n,s):o(s))||s);return r&&s&&lt(t,n,s),s},V=(e,t)=>(n,r)=>t(n,r,e);const dt=()=>{let e=[];return{add:(s,i,o,a,l)=>e.push({unitId:s,subUnitId:i,row:o,col:a,value:l}),getEffects:()=>e,clean:()=>{e=[]}}};let Y=class extends c.Disposable{constructor(t,n,r,s,i){super();W(this,"_collectEffectMutation",dt());this._sheetInterceptorService=t,this._numfmtService=n,this._univerInstanceService=r,this._injector=s,this._editorBridgeService=i,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe(c.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().BEFORE_CELL_EDIT,{handler:(t,n,r)=>{const s=n.row,i=n.col,o=this._numfmtService.getValue(n.unitId,n.subUnitId,s,i);if(o)switch(Z(o.pattern)){case"scientific":case"percent":case"currency":case"grouped":case"number":return n.worksheet.getCellRaw(s,i);case"date":case"time":case"datetime":default:return r&&r(t)}return r(t)}})))}_initInterceptorEditorEnd(){this._editorBridgeService&&this.disposeWithMe(c.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT,{handler:(t,n,r)=>{var f;this._collectEffectMutation.clean();const s=this._numfmtService.getValue(n.unitId,n.subUnitId,n.row,n.col),i=(f=s&&Z(s.pattern))!=null?f:"",o=()=>{s&&this._collectEffectMutation.add(n.unitId,n.subUnitId,n.row,n.col,null)};if(!(t!=null&&t.v))return r(t);const a=String(t.v),l=j.parseDate(a)||j.parseTime(a);if(!!l){if(l&&l.z){const u=Number(l.v);return this._collectEffectMutation.add(n.unitId,n.subUnitId,n.row,n.col,{pattern:l.z}),{...t,v:u,t:c.CellValueType.NUMBER}}}else(["date","time","datetime"].includes(i)||!ft(a))&&o();return r(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(n){var r;switch(n.id){case d.SetRangeValuesCommand.id:{const s=t._univerInstanceService.getCurrentUnitForType(c.UniverInstanceType.UNIVER_SHEET),i=s.getUnitId(),o=(r=s.getActiveSheet())==null?void 0:r.getSheetId();if(!o)return{redos:[],undos:[]};const a=t._collectEffectMutation.getEffects();if(!a.length)return{redos:[],undos:[]};const l=a.filter(m=>{var g;return!!((g=m.value)!=null&&g.pattern)}).map(m=>({row:m.row,col:m.col,pattern:m.value.pattern})),p=a.filter(m=>{var g;return!((g=m.value)!=null&&g.pattern)}).map(m=>({startRow:m.row,endColumn:m.col,startColumn:m.col,endRow:m.row})),f=[],u=[];if(l){const m={id:d.SetNumfmtMutation.id,params:d.transformCellsToRange(i,o,l)};f.push(m),u.push(...d.factorySetNumfmtUndoMutation(t._injector,m.params))}if(p){const m={id:d.RemoveNumfmtMutation.id,params:{unitId:i,subUnitId:o,ranges:p}};f.push(m),u.push(...d.factoryRemoveNumfmtUndoMutation(t._injector,m.params))}return{redos:f,undos:u.reverse()}}}return{redos:[],undos:[]}}}))}};Y=mt([c.OnLifecycle(c.LifecycleStages.Rendered,Y),V(0,C.Inject(d.SheetInterceptorService)),V(1,C.Inject(d.INumfmtService)),V(2,C.Inject(c.IUniverInstanceService)),V(3,C.Inject(C.Injector)),V(4,C.Optional(x.IEditorBridgeService))],Y);function ft(e){return/^-?\d+(\.\d+)?$/.test(e)}var ht=Object.defineProperty,pt=Object.getOwnPropertyDescriptor,vt=(e,t,n,r)=>{for(var s=r>1?void 0:r?pt(t,n):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(r?o(t,n,s):o(s))||s);return r&&s&&ht(t,n,s),s},St=(e,t)=>(n,r)=>t(n,r,e);let J=class extends c.Disposable{constructor(e){super(),this._localeService=e}};J=vt([c.OnLifecycle(c.LifecycleStages.Rendered,J),St(0,C.Inject(c.LocaleService))],J);const X=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:j.DEFAULT_TEXT_FORMAT},"|",{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",gt=e=>{var r;const t=N.useDependency(c.LocaleService),n=(r=e.value)!=null?r:t.t("sheet.numfmt.general");return h.jsx("span",{className:"more-numfmt-type",children:n})},_t=()=>{const e=N.useDependency(c.ICommandService),t=N.useDependency(c.LocaleService),n=N.useInjector(),r=N.useDependency(d.SheetsSelectionsService),s=a=>{const l=r.getCurrentLastSelection();if(!l)return;const p=n.get(Se.ITextSelectionRenderManager),f=l.range,u=[];c.Range.foreach(f,(m,g)=>{a?u.push({row:m,col:g,pattern:a,type:Z(a)}):u.push({row:m,col:g})}),e.executeCommand($.id,{values:u}),p.focus()},i=a=>{if(a===0)s(null);else if(a===X.length-1)e.executeCommand(H.id);else{const l=X[a];l.pattern&&s(l.pattern)}},o=1220;return h.jsx("div",{className:"more-numfmt-type-options",children:X.map((a,l)=>a==="|"?h.jsx("div",{className:"line m-t-4",onClick:p=>p.stopPropagation()},l):h.jsxs("div",{className:"option-item m-t-4",onClick:()=>{i(l)},children:[h.jsx("div",{children:t.t(a.label)}),h.jsx("div",{className:"m-l-26",children:a.pattern?ee(a.pattern||"",o,t.getCurrentLocale()).result:""})]},l))})},bt=e=>({icon:"RmbSingle",id:ue.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:I.MenuItemType.BUTTON,group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[I.MenuPosition.TOOLBAR_START],hidden$:I.getMenuHiddenObservable(e,c.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[d.WorkbookEditablePermission],worksheetTypes:[d.WorksheetEditPermission,d.WorksheetSetCellStylePermission],rangeTypes:[d.RangeProtectionPermissionEditPoint]})}),yt=e=>({icon:"AddDigitsSingle",id:le.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:I.MenuItemType.BUTTON,positions:[I.MenuPosition.TOOLBAR_START],group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,hidden$:I.getMenuHiddenObservable(e,c.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[d.WorkbookEditablePermission],worksheetTypes:[d.WorksheetEditPermission,d.WorksheetSetCellStylePermission],rangeTypes:[d.RangeProtectionPermissionEditPoint]})}),Ct=e=>({icon:"ReduceDigitsSingle",id:me.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:I.MenuItemType.BUTTON,group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[I.MenuPosition.TOOLBAR_START],hidden$:I.getMenuHiddenObservable(e,c.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[d.WorkbookEditablePermission],worksheetTypes:[d.WorksheetEditPermission,d.WorksheetSetCellStylePermission],rangeTypes:[d.RangeProtectionPermissionEditPoint]})}),It=e=>({icon:"PercentSingle",id:he.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:I.MenuItemType.BUTTON,group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[I.MenuPosition.TOOLBAR_START],hidden$:I.getMenuHiddenObservable(e,c.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[d.WorkbookEditablePermission],worksheetTypes:[d.WorksheetEditPermission,d.WorksheetSetCellStylePermission],rangeTypes:[d.RangeProtectionPermissionEditPoint]})}),Tt=e=>{const t=e.get(d.INumfmtService),n=e.get(c.IUniverInstanceService),r=e.get(c.ICommandService),s=e.get(c.LocaleService),i=e.get(d.SheetsSelectionsService),o=x.deriveStateFromActiveSheet$(n,"",({workbook:a,worksheet:l})=>new O.Observable(p=>O.merge(i.selectionMoveEnd$,new O.Observable(f=>{const u=[d.RemoveNumfmtMutation.id,d.SetNumfmtMutation.id],m=r.onCommandExecuted(g=>{u.includes(g.id)&&f.next(null)});return()=>m.dispose()})).subscribe(()=>{const f=i.getCurrentSelections();if(f&&f[0]){const u=f[0].range,m=u.startRow,g=u.startColumn,_=t.getValue(a.getUnitId(),l.getSheetId(),m,g),v=_==null?void 0:_.pattern;let b=s.t("sheet.numfmt.general");if(v){const S=X.filter(T=>typeof T=="object"&&T.pattern).find(T=>te(v,T.pattern));S&&typeof S=="object"&&S.pattern?b=s.t(S.label):b=s.t("sheet.numfmt.moreFmt")}p.next(b)}})));return{label:Ie,id:H.id,tooltip:"sheet.numfmt.title",type:I.MenuItemType.SELECTOR,group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[I.MenuPosition.TOOLBAR_START],selections:[{label:{name:Te,hoverable:!1}}],value$:o,hidden$:I.getMenuHiddenObservable(e,c.UniverInstanceType.UNIVER_SHEET),disabled$:x.getCurrentRangeDisable$(e,{workbookTypes:[d.WorkbookEditablePermission],worksheetTypes:[d.WorksheetSetCellStylePermission,d.WorksheetEditPermission],rangeTypes:[d.RangeProtectionPermissionEditPoint]})}};var Pt=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,Nt=(e,t,n,r)=>{for(var s=r>1?void 0:r?Mt(t,n):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(r?o(t,n,s):o(s))||s);return r&&s&&Pt(t,n,s),s},oe=(e,t)=>(n,r)=>t(n,r,e);const Et={};let B=class extends c.Disposable{constructor(e,t,n,r){super(),this._config=e,this._injector=t,this._componentManager=n,this._menuService=r,this._initMenu()}_initMenu(){const{menu:e={}}=this._config;[It,yt,Ct,bt,Tt].forEach(t=>{this.disposeWithMe(this._menuService.addMenuItem(t(this._injector),e))}),this.disposeWithMe(this._componentManager.register(Ie,gt)),this.disposeWithMe(this._componentManager.register(Te,_t))}};B=Nt([c.OnLifecycle(c.LifecycleStages.Rendered,B),oe(1,C.Inject(C.Injector)),oe(2,C.Inject(I.ComponentManager)),oe(3,C.Inject(I.IMenuService))],B);var Pe=Object.defineProperty,Rt=Object.getOwnPropertyDescriptor,Ot=(e,t,n)=>t in e?Pe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jt=(e,t,n,r)=>{for(var s=r>1?void 0:r?Rt(t,n):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(r?o(t,n,s):o(s))||s);return r&&s&&Pe(t,n,s),s},xt=(e,t)=>(n,r)=>t(n,r,e),Me=(e,t,n)=>Ot(e,typeof t!="symbol"?t+"":t,n);exports.UniverSheetsNumfmtPlugin=class extends c.Plugin{constructor(t={},n){super(),this._config=t,this._injector=n,this._config=c.Tools.deepMerge({},Et,this._config)}onStarting(){this._injector.add([de,{useClass:K,lazy:!1}]),this._injector.add([Y]),this._injector.add([Q]),this._injector.add([G]),this._injector.add([J]),this._injector.add([B,{useFactory:()=>this._injector.createInstance(B,this._config)}])}};Me(exports.UniverSheetsNumfmtPlugin,"pluginName",ce);Me(exports.UniverSheetsNumfmtPlugin,"type",c.UniverInstanceType.UNIVER_SHEET);exports.UniverSheetsNumfmtPlugin=jt([c.DependentOn(d.UniverSheetsPlugin,x.UniverSheetsUIPlugin),xt(1,C.Inject(C.Injector))],exports.UniverSheetsNumfmtPlugin);exports.AddDecimalCommand=le;exports.CloseNumfmtPanelOperator=z;exports.OpenNumfmtPanelOperator=H;exports.SetCurrencyCommand=ue;exports.SetNumfmtCommand=$;exports.SetPercentCommand=he;exports.SubtractDecimalCommand=me;exports.getPatternPreview=ee;
9
+ */var Ue=y,we=Symbol.for("react.element"),Le=Symbol.for("react.fragment"),Ae=Object.prototype.hasOwnProperty,Ve=Ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0};function ge(e,t,n){var r,s={},o=null,c=null;n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(c=t.ref);for(r in t)Ae.call(t,r)&&!He.hasOwnProperty(r)&&(s[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)s[r]===void 0&&(s[r]=t[r]);return{$$typeof:we,type:e,key:o,ref:c,props:s,_owner:Ve.current}}ee.Fragment=Le;ee.jsx=ge;ee.jsxs=ge;Se.exports=ee;var h=Se.exports;const me=y.createContext([]),oe=["$","£","¥","¤","֏","؋","৳","฿","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"];var Be=Object.defineProperty,ke=Object.getOwnPropertyDescriptor,Fe=(e,t,n,r)=>{for(var s=r>1?void 0:r?ke(t,n):t,o=e.length-1,c;o>=0;o--)(c=e[o])&&(s=(r?c(t,n,s):c(s))||s);return r&&s&&Be(t,n,s),s},We=(e,t)=>(n,r)=>t(n,r,e);let X=class{constructor(e){this._localStorageService=e}_getKey(e){return`userHabitController_${e}`}async addHabit(e,t){const n=this._getKey(e);return this._localStorageService.getItem(n).then(r=>{r||this._localStorageService.setItem(n,t)})}markHabit(e,t){const n=this._getKey(e);this._localStorageService.getItem(n).then(r=>{if(r){const s=r.findIndex(o=>o===t);s>-1&&r.splice(s,1),r.unshift(t),this._localStorageService.setItem(n,r)}})}async getHabit(e,t){const n=this._getKey(e),r=await this._localStorageService.getItem(n);if(t&&r){const s=r.map((o,c,a)=>{const l=a.length;return{value:o,priority:l-c}});return t.sort((o,c)=>{var p,f;const a=((p=s.find(u=>u.value===o))==null?void 0:p.priority)||-1;return(((f=s.find(u=>u.value===c))==null?void 0:f.priority)||-1)-a})}return r||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};X=Fe([We(0,i.Inject(i.ILocalStorageService))],X);const he="numfmtCurrency",qe=e=>{const t=i.useDependency(X),[n,r]=y.useState(oe);return y.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(he,[...oe]).then(o=>{r(o),e&&e(o)})})},[]),{userHabitCurrency:n,mark:o=>{t.markHabit(he,o)}}},Ge=()=>{const e=y.useRef([]),[t,n]=y.useState({});return y.useEffect(()=>{e.current.forEach(s=>{s()}),e.current=[]},[t]),s=>{e.current.push(s),n({})}},H=e=>oe.find(n=>e.includes(n)),ze=e=>!!H(e)&&e.startsWith("_("),Ke=e=>{const[t,n]=y.useState(()=>j(e.defaultPattern||"",2)),r=y.useContext(me),[s,o]=y.useState(()=>H(e.defaultPattern)||r[0]),c=y.useMemo(()=>r.map(u=>({label:u,value:u})),[]),l=i.useDependency(i.LocaleService).t;e.action.current=()=>P(`_("${s}"* #,##0${t>0?".0":""}_)`,t);const p=u=>{o(u),e.onChange(P(`_("${u}"* #,##0${t>0?".0":""}_)`,t))},f=u=>{const m=u||0;n(m),e.onChange(P(`_("${s}"* #,##0${m>0?".0":""}_)`,m))};return h.jsxs("div",{children:[h.jsxs("div",{className:"m-t-16 options ",children:[h.jsxs("div",{className:"option",children:[h.jsx("div",{className:"label",children:l("sheet.numfmt.decimalLength")}),h.jsx("div",{className:"m-t-8 w-120",children:h.jsx(M.InputNumber,{value:t,max:20,min:0,onChange:f})})]}),h.jsxs("div",{className:"option",children:[h.jsx("div",{className:"label",children:l("sheet.numfmt.currencyType")}),h.jsx("div",{className:"m-t-8 w-140",children:h.jsx(M.Select,{onChange:p,options:c,value:s})})]})]}),h.jsx("div",{className:"describe m-t-14",children:l("sheet.numfmt.accountingDes")})]})},re=e=>ve.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),_e=()=>De.map(e=>({label:e.label,value:e.suffix})),be=()=>$e.map(e=>({label:e.label,value:e.suffix,color:e.color})),Ye=e=>!!H(e)&&!e.startsWith("_("),Je=e=>{const n=i.useDependency(i.LocaleService).t,r=y.useContext(me),[s,o]=y.useState(()=>H(e.defaultPattern)||r[0]),[c,a]=y.useState(()=>j(e.defaultPattern||"",2)),[l,p]=y.useState(()=>{var S;const v=re(s);return((S=v.find(I=>Q(I.value,e.defaultPattern)))==null?void 0:S.value)||v[0].value}),f=y.useMemo(()=>re(s),[s]),u=y.useMemo(()=>r.map(v=>({label:v,value:v})),[r]);e.action.current=()=>P(l,c);const m=v=>{if(v===void 0)return;o(v);const b=re(v)[0].value;p(b),e.onChange(P(b,c))},g=v=>{v!==void 0&&(p(v),e.onChange(P(v,c)))},_=v=>{a(v||0),e.onChange(P(l,v||0))};return h.jsxs("div",{children:[h.jsxs("div",{className:"m-t-16 options ",children:[h.jsxs("div",{className:"option",children:[h.jsx("div",{className:"label",children:n("sheet.numfmt.decimalLength")}),h.jsx("div",{className:"m-t-8 w-120",children:h.jsx(M.InputNumber,{value:c,max:20,min:0,onChange:_})})]}),h.jsxs("div",{className:"option",children:[h.jsx("div",{className:"label",children:n("sheet.numfmt.currencyType")}),h.jsx("div",{className:"m-t-8 w-140",children:h.jsx(M.Select,{onChange:m,options:u,value:s})})]})]}),h.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.negType")}),h.jsx("div",{className:"m-t-8",children:h.jsx(M.SelectList,{onChange:g,options:f,value:l})}),h.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.currencyDes")})]})},Xe=e=>{const t=R.getInfo(e);return _e().map(n=>n.value).includes(e)||["date","datetime","time"].includes(t.type)},Ze=e=>{const t=y.useMemo(_e,[]),r=i.useDependency(i.LocaleService).t,[s,o]=y.useState(()=>{if(e.defaultPattern){const a=t.find(l=>l.value===e.defaultPattern);if(a)return a.value}return t[0].value});e.action.current=()=>s;const c=a=>{a!==void 0&&(o(a),e.onChange(a))};return h.jsxs("div",{children:[h.jsx("div",{className:"m-t-16 label",children:r("sheet.numfmt.dateType")}),h.jsx("div",{className:"m-t-8",children:h.jsx(M.SelectList,{value:s,options:t,onChange:c})}),h.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.dateDes")})]})},Qe=e=>!e,et=e=>{const n=i.useDependency(i.LocaleService).t;return e.action.current=()=>"",h.jsx("div",{children:h.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.generalDes")})})},tt=e=>be().some(t=>Q(t.value,e)),nt=e=>{const t=i.useDependency(i.LocaleService),n=y.useMemo(be,[]),[r,s]=y.useState(()=>j(e.defaultPattern||"",0)),[o,c]=y.useState(()=>{const u=n.find(m=>Q(m.value,e.defaultPattern||""));return(u==null?void 0:u.value)||n[0].value}),a=y.useMemo(()=>P(o,Number(r||0)),[o,r]),l=y.useMemo(()=>!xe(o),[o]),p=u=>{s(u||0),e.onChange(P(o,Number(u||0)))},f=u=>{u!==void 0&&(s(j(u,0)),c(u),e.onChange(u))};return e.action.current=()=>a,h.jsxs("div",{children:[h.jsx("div",{className:"m-t-16 label",children:t.t("sheet.numfmt.decimalLength")}),h.jsx("div",{className:"m-t-8",children:h.jsx(M.InputNumber,{disabled:l,value:r,max:20,min:0,onChange:p})}),h.jsxs("div",{className:"m-t-16 label",children:[" ",t.t("sheet.numfmt.negType")]}),h.jsx("div",{className:"m-t-8",children:h.jsx(M.SelectList,{onChange:f,options:n,value:o})}),h.jsx("div",{className:"describe m-t-14",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},rt=e=>{const{defaultValue:t,defaultPattern:n,row:r,col:s}=e.value,o=i.useDependency(i.LocaleService),c=y.useRef(()=>""),a=o.t,l=Ge(),p=y.useMemo(()=>[{label:"sheet.numfmt.general",component:et},{label:"sheet.numfmt.accounting",component:Ke},{label:"sheet.numfmt.currency",component:Je},{label:"sheet.numfmt.date",component:Ze},{label:"sheet.numfmt.thousandthPercentile",component:nt}].map(T=>({...T,label:a(T.label)})),[]),[f,u]=y.useState(S),[m,g]=y.useState(()=>`${r}_${s}`),{mark:_,userHabitCurrency:v}=qe(()=>g(`${r}_${s}_userCurrency'`)),b=y.useMemo(()=>{var T;return(T=p.find(D=>D.label===f))==null?void 0:T.component},[f]);function S(){return[Qe,ze,Ye,Xe,tt].reduce((D,Pe,Me)=>D||(Pe(n)?p[Me].label:""),"")||p[0].label}const I=p.map(T=>({label:T.label,value:T.label})),U=T=>{u(T),l(()=>e.onChange({type:"change",value:c.current()||""}))},B=T=>{e.onChange({type:"change",value:T})},te=()=>{const T=c.current()||"",D=H(T);D&&_(D),e.onChange({type:"confirm",value:T})},w=()=>{e.onChange({type:"cancel",value:""})},ne={onChange:B,defaultValue:t,defaultPattern:n,action:c};return y.useEffect(()=>{u(S()),g(`${r}_${s}`)},[r,s]),h.jsxs("div",{className:"numfmt-panel p-b-20",children:[h.jsxs("div",{children:[h.jsx("div",{className:"label m-t-14",children:a("sheet.numfmt.numfmtType")}),h.jsx("div",{className:"m-t-8",children:h.jsx(M.Select,{onChange:U,options:I,value:f})}),h.jsx("div",{children:b&&h.jsx(me.Provider,{value:v,children:y.createElement(b,{...ne,key:m})})})]}),h.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[h.jsx(M.Button,{size:"small",onClick:w,className:"m-r-12",children:a("sheet.numfmt.cancel")}),h.jsx(M.Button,{type:"primary",size:"small",onClick:te,children:a("sheet.numfmt.confirm")})]})]})},de={id:"sheet.command.numfmt.set.percent",type:i.CommandType.COMMAND,handler:async e=>{const t=e.get(i.ICommandService),r=e.get(d.SheetsSelectionsService).getCurrentSelections();if(!r||!r.length)return!1;const s=[],o="0%";return r.forEach(a=>{i.Range.foreach(a.range,(l,p)=>{s.push({row:l,col:p,pattern:o,type:"percent"})})}),await t.executeCommand(x.id,{values:s})}};var st=Object.defineProperty,it=Object.getOwnPropertyDescriptor,ot=(e,t,n,r)=>{for(var s=r>1?void 0:r?it(t,n):t,o=e.length-1,c;o>=0;o--)(c=e[o])&&(s=(r?c(t,n,s):c(s))||s);return r&&s&&st(t,n,s),s},N=(e,t)=>(n,r)=>t(n,r,e);let G=class extends i.Disposable{constructor(t,n,r,s,o,c,a,l,p,f){super();k(this,"_previewPattern","");k(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=n,this._univerInstanceService=r,this._commandService=s,this._selectionManagerService=o,this._renderManagerService=c,this._numfmtService=a,this._componentManager=l,this._sidebarService=p,this._localeService=f,this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener()}openPanel(){var b;const t=this._sidebarService,n=this._selectionManagerService,r=this._commandService,s=this._univerInstanceService,o=this._numfmtService,c=this._localeService,l=(((b=n.getCurrentSelections())==null?void 0:b.map(S=>S.range))||[])[0];if(!l)return!1;const p=s.getCurrentUnitForType(i.UniverInstanceType.UNIVER_SHEET),f=p.getActiveSheet();if(!f)return!1;const u=f.getCellRaw(l.startRow,l.startColumn),m=o.getValue(p.getUnitId(),f.getSheetId(),l.startRow,l.startColumn);let g="";m&&(g=m.pattern);const _=(u==null?void 0:u.t)===i.CellValueType.NUMBER?u.v:12345678,v={onChange:S=>{var I;if(S.type==="change")this._previewPattern=S.value,this._forceUpdate();else if(S.type==="confirm"){const U=((I=n.getCurrentSelections())==null?void 0:I.map(w=>w.range))||[],B={values:[]},te=J(S.value);U.forEach(w=>{i.Range.foreach(w,(ne,T)=>{B.values.push({row:ne,col:T,pattern:S.value,type:te})})}),r.executeCommand(x.id,B),t.close()}else S.type==="cancel"&&t.close()},value:{defaultPattern:g,defaultValue:_,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=t.open({header:{title:c.t("sheet.numfmt.title")},children:{label:ie,...v},onClose:()=>{this._forceUpdate(),r.executeCommand(q.id)}}),!0}_forceUpdate(t){var r;const n=this._renderManagerService.getRenderById(t!=null?t:this._univerInstanceService.getCurrentUnitForType(i.UniverInstanceType.UNIVER_SHEET).getUnitId());n==null||n.with(O.SheetSkeletonManagerService).reCalculate(),(r=n==null?void 0:n.mainComponent)==null||r.makeDirty()}_initCommands(){[ce,le,ae,de,V,q,x].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(ie,rt)}_initRealTimeRenderingInterceptor(){const t=new E.Observable(r=>{this._commandService.onCommandExecuted(s=>{s.id===V.id&&r.next(!0),s.id===q.id&&r.next(!1)})}),n=E.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(F.map(r=>r?r.map(s=>s.range):[]))]);this.disposeWithMe(i.toDisposable(n.pipe(F.switchMap(([r,s])=>new E.Observable(o=>{const c=new i.DisposableCollection;return r&&s.length&&o.next({selectionRanges:s,disposableCollection:c}),()=>{c.dispose()}})),F.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:r,selectionRanges:s})=>{var c,a;const o=this._univerInstanceService.getCurrentUnitForType(i.UniverInstanceType.UNIVER_SHEET);this.openPanel(),r.add(this._sheetInterceptorService.intercept(d.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,handler:(l,p,f)=>{const{row:u,col:m}=p,g=f(l)||{};if(s.find(_=>_.startColumn<=m&&_.endColumn>=m&&_.startRow<=u&&_.endRow>=u)){const _=p.worksheet.getCellRaw(u,m),v=_==null?void 0:_.v,b=_==null?void 0:_.t;if(v==null||b!==i.CellValueType.NUMBER||this._previewPattern===null)return g;const S=Z(this._previewPattern,v,this._localeService.getCurrentLocale());if(S.color){const U=this._themeService.getCurrentTheme()[`${S.color}500`];return{...g,v:S.result,t:i.CellValueType.STRING,s:{cl:{rgb:U}}}}return{...g,v:S.result,t:i.CellValueType.STRING}}return g}})),(a=(c=this._renderManagerService.getRenderById(o.getUnitId()))==null?void 0:c.mainComponent)==null||a.makeDirty()})))}_commandExecutedListener(){const t=[d.RemoveNumfmtMutation.id,d.SetNumfmtMutation.id];this.disposeWithMe(new E.Observable(n=>{const r=this._commandService.onCommandExecuted(s=>{if(t.includes(s.id)){const o=s.params;n.next(o.unitId)}});return()=>r.dispose()}).pipe(F.debounceTime(16)).subscribe(n=>this._forceUpdate(n)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(i.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var n;t||((n=this._sidebarDisposable)==null||n.dispose(),this._sidebarDisposable=null)})}};G=ot([i.OnLifecycle(i.LifecycleStages.Rendered,G),N(0,i.Inject(d.SheetInterceptorService)),N(1,i.Inject(i.ThemeService)),N(2,i.IUniverInstanceService),N(3,i.ICommandService),N(4,i.Inject(d.SheetsSelectionsService)),N(5,pe.IRenderManagerService),N(6,d.INumfmtService),N(7,i.Inject(C.ComponentManager)),N(8,C.ISidebarService),N(9,i.Inject(i.LocaleService))],G);var ct=Object.defineProperty,at=Object.getOwnPropertyDescriptor,lt=(e,t,n,r)=>{for(var s=r>1?void 0:r?at(t,n):t,o=e.length-1,c;o>=0;o--)(c=e[o])&&(s=(r?c(t,n,s):c(s))||s);return r&&s&&ct(t,n,s),s},L=(e,t)=>(n,r)=>t(n,r,e);const ut=()=>{let e=[];return{add:(s,o,c,a,l)=>e.push({unitId:s,subUnitId:o,row:c,col:a,value:l}),getEffects:()=>e,clean:()=>{e=[]}}};let z=class extends i.Disposable{constructor(t,n,r,s,o){super();k(this,"_collectEffectMutation",ut());this._sheetInterceptorService=t,this._numfmtService=n,this._univerInstanceService=r,this._injector=s,this._editorBridgeService=o,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe(i.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().BEFORE_CELL_EDIT,{handler:(t,n,r)=>{const s=n.row,o=n.col,c=this._numfmtService.getValue(n.unitId,n.subUnitId,s,o);if(c)switch(J(c.pattern)){case"scientific":case"percent":case"currency":case"grouped":case"number":return n.worksheet.getCellRaw(s,o);case"date":case"time":case"datetime":default:return r&&r(t)}return r(t)}})))}_initInterceptorEditorEnd(){this._editorBridgeService&&this.disposeWithMe(i.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT,{handler:(t,n,r)=>{var f;this._collectEffectMutation.clean();const s=this._numfmtService.getValue(n.unitId,n.subUnitId,n.row,n.col),o=(f=s&&J(s.pattern))!=null?f:"",c=()=>{s&&this._collectEffectMutation.add(n.unitId,n.subUnitId,n.row,n.col,null)};if(!(t!=null&&t.v))return r(t);const a=String(t.v),l=R.parseDate(a)||R.parseTime(a);if(!!l){if(l&&l.z){const u=Number(l.v);return this._collectEffectMutation.add(n.unitId,n.subUnitId,n.row,n.col,{pattern:l.z}),{...t,v:u,t:i.CellValueType.NUMBER}}}else(["date","time","datetime"].includes(o)||!mt(a))&&c();return r(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(n){var r;switch(n.id){case d.SetRangeValuesCommand.id:{const s=t._univerInstanceService.getCurrentUnitForType(i.UniverInstanceType.UNIVER_SHEET),o=s.getUnitId(),c=(r=s.getActiveSheet())==null?void 0:r.getSheetId();if(!c)return{redos:[],undos:[]};const a=t._collectEffectMutation.getEffects();if(!a.length)return{redos:[],undos:[]};const l=a.filter(m=>{var g;return!!((g=m.value)!=null&&g.pattern)}).map(m=>({row:m.row,col:m.col,pattern:m.value.pattern})),p=a.filter(m=>{var g;return!((g=m.value)!=null&&g.pattern)}).map(m=>({startRow:m.row,endColumn:m.col,startColumn:m.col,endRow:m.row})),f=[],u=[];if(l){const m={id:d.SetNumfmtMutation.id,params:d.transformCellsToRange(o,c,l)};f.push(m),u.push(...d.factorySetNumfmtUndoMutation(t._injector,m.params))}if(p){const m={id:d.RemoveNumfmtMutation.id,params:{unitId:o,subUnitId:c,ranges:p}};f.push(m),u.push(...d.factoryRemoveNumfmtUndoMutation(t._injector,m.params))}return{redos:f,undos:u.reverse()}}}return{redos:[],undos:[]}}}))}};z=lt([i.OnLifecycle(i.LifecycleStages.Rendered,z),L(0,i.Inject(d.SheetInterceptorService)),L(1,i.Inject(d.INumfmtService)),L(2,i.Inject(i.IUniverInstanceService)),L(3,i.Inject(i.Injector)),L(4,i.Optional(O.IEditorBridgeService))],z);function mt(e){return/^-?\d+(\.\d+)?$/.test(e)}var dt=Object.defineProperty,ft=Object.getOwnPropertyDescriptor,ht=(e,t,n,r)=>{for(var s=r>1?void 0:r?ft(t,n):t,o=e.length-1,c;o>=0;o--)(c=e[o])&&(s=(r?c(t,n,s):c(s))||s);return r&&s&&dt(t,n,s),s},pt=(e,t)=>(n,r)=>t(n,r,e);let K=class extends i.Disposable{constructor(e){super(),this._localeService=e}};K=ht([i.OnLifecycle(i.LifecycleStages.Rendered,K),pt(0,i.Inject(i.LocaleService))],K);const Y=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:R.DEFAULT_TEXT_FORMAT},"|",{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:""}],ye="sheet.numfmt.moreNumfmtType",Ce="sheet.numfmt.moreNumfmtType.options",vt=e=>{var r;const t=i.useDependency(i.LocaleService),n=(r=e.value)!=null?r:t.t("sheet.numfmt.general");return h.jsx("span",{className:"more-numfmt-type",children:n})},St=()=>{const e=i.useDependency(i.ICommandService),t=i.useDependency(i.LocaleService),n=i.useInjector(),r=i.useDependency(d.SheetsSelectionsService),s=a=>{const l=r.getCurrentLastSelection();if(!l)return;const p=n.get(pe.ITextSelectionRenderManager),f=l.range,u=[];i.Range.foreach(f,(m,g)=>{a?u.push({row:m,col:g,pattern:a,type:J(a)}):u.push({row:m,col:g})}),e.executeCommand(x.id,{values:u}),p.focus()},o=a=>{if(a===0)s(null);else if(a===Y.length-1)e.executeCommand(V.id);else{const l=Y[a];l.pattern&&s(l.pattern)}},c=1220;return h.jsx("div",{className:"more-numfmt-type-options",children:Y.map((a,l)=>a==="|"?h.jsx("div",{className:"line m-t-4",onClick:p=>p.stopPropagation()},l):h.jsxs("div",{className:"option-item m-t-4",onClick:()=>{o(l)},children:[h.jsx("div",{children:t.t(a.label)}),h.jsx("div",{className:"m-l-26",children:a.pattern?Z(a.pattern||"",c,t.getCurrentLocale()).result:""})]},l))})},gt=e=>({icon:"RmbSingle",id:ae.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:C.MenuItemType.BUTTON,group:C.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[C.MenuPosition.TOOLBAR_START],hidden$:C.getMenuHiddenObservable(e,i.UniverInstanceType.UNIVER_SHEET),disabled$:O.getCurrentRangeDisable$(e,{workbookTypes:[d.WorkbookEditablePermission],worksheetTypes:[d.WorksheetEditPermission,d.WorksheetSetCellStylePermission],rangeTypes:[d.RangeProtectionPermissionEditPoint]})}),_t=e=>({icon:"AddDigitsSingle",id:ce.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:C.MenuItemType.BUTTON,positions:[C.MenuPosition.TOOLBAR_START],group:C.MenuGroup.TOOLBAR_FORMULAS_INSERT,hidden$:C.getMenuHiddenObservable(e,i.UniverInstanceType.UNIVER_SHEET),disabled$:O.getCurrentRangeDisable$(e,{workbookTypes:[d.WorkbookEditablePermission],worksheetTypes:[d.WorksheetEditPermission,d.WorksheetSetCellStylePermission],rangeTypes:[d.RangeProtectionPermissionEditPoint]})}),bt=e=>({icon:"ReduceDigitsSingle",id:le.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:C.MenuItemType.BUTTON,group:C.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[C.MenuPosition.TOOLBAR_START],hidden$:C.getMenuHiddenObservable(e,i.UniverInstanceType.UNIVER_SHEET),disabled$:O.getCurrentRangeDisable$(e,{workbookTypes:[d.WorkbookEditablePermission],worksheetTypes:[d.WorksheetEditPermission,d.WorksheetSetCellStylePermission],rangeTypes:[d.RangeProtectionPermissionEditPoint]})}),yt=e=>({icon:"PercentSingle",id:de.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:C.MenuItemType.BUTTON,group:C.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[C.MenuPosition.TOOLBAR_START],hidden$:C.getMenuHiddenObservable(e,i.UniverInstanceType.UNIVER_SHEET),disabled$:O.getCurrentRangeDisable$(e,{workbookTypes:[d.WorkbookEditablePermission],worksheetTypes:[d.WorksheetEditPermission,d.WorksheetSetCellStylePermission],rangeTypes:[d.RangeProtectionPermissionEditPoint]})}),Ct=e=>{const t=e.get(d.INumfmtService),n=e.get(i.IUniverInstanceService),r=e.get(i.ICommandService),s=e.get(i.LocaleService),o=e.get(d.SheetsSelectionsService),c=O.deriveStateFromActiveSheet$(n,"",({workbook:a,worksheet:l})=>new E.Observable(p=>E.merge(o.selectionMoveEnd$,new E.Observable(f=>{const u=[d.RemoveNumfmtMutation.id,d.SetNumfmtMutation.id],m=r.onCommandExecuted(g=>{u.includes(g.id)&&f.next(null)});return()=>m.dispose()})).subscribe(()=>{const f=o.getCurrentSelections();if(f&&f[0]){const u=f[0].range,m=u.startRow,g=u.startColumn,_=t.getValue(a.getUnitId(),l.getSheetId(),m,g),v=_==null?void 0:_.pattern;let b=s.t("sheet.numfmt.general");if(v){const S=Y.filter(I=>typeof I=="object"&&I.pattern).find(I=>Q(v,I.pattern));S&&typeof S=="object"&&S.pattern?b=s.t(S.label):b=s.t("sheet.numfmt.moreFmt")}p.next(b)}})));return{label:ye,id:V.id,tooltip:"sheet.numfmt.title",type:C.MenuItemType.SELECTOR,group:C.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[C.MenuPosition.TOOLBAR_START],selections:[{label:{name:Ce,hoverable:!1}}],value$:c,hidden$:C.getMenuHiddenObservable(e,i.UniverInstanceType.UNIVER_SHEET),disabled$:O.getCurrentRangeDisable$(e,{workbookTypes:[d.WorkbookEditablePermission],worksheetTypes:[d.WorksheetSetCellStylePermission,d.WorksheetEditPermission],rangeTypes:[d.RangeProtectionPermissionEditPoint]})}};var It=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,Pt=(e,t,n,r)=>{for(var s=r>1?void 0:r?Tt(t,n):t,o=e.length-1,c;o>=0;o--)(c=e[o])&&(s=(r?c(t,n,s):c(s))||s);return r&&s&&It(t,n,s),s},se=(e,t)=>(n,r)=>t(n,r,e);const Mt={};let A=class extends i.Disposable{constructor(e,t,n,r){super(),this._config=e,this._injector=t,this._componentManager=n,this._menuService=r,this._initMenu()}_initMenu(){const{menu:e={}}=this._config;[yt,_t,bt,gt,Ct].forEach(t=>{this.disposeWithMe(this._menuService.addMenuItem(t(this._injector),e))}),this.disposeWithMe(this._componentManager.register(ye,vt)),this.disposeWithMe(this._componentManager.register(Ce,St))}};A=Pt([i.OnLifecycle(i.LifecycleStages.Rendered,A),se(1,i.Inject(i.Injector)),se(2,i.Inject(C.ComponentManager)),se(3,i.Inject(C.IMenuService))],A);var Ie=Object.defineProperty,Nt=Object.getOwnPropertyDescriptor,Et=(e,t,n)=>t in e?Ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rt=(e,t,n,r)=>{for(var s=r>1?void 0:r?Nt(t,n):t,o=e.length-1,c;o>=0;o--)(c=e[o])&&(s=(r?c(t,n,s):c(s))||s);return r&&s&&Ie(t,n,s),s},Ot=(e,t)=>(n,r)=>t(n,r,e),Te=(e,t,n)=>Et(e,typeof t!="symbol"?t+"":t,n);exports.UniverSheetsNumfmtPlugin=class extends i.Plugin{constructor(t={},n){super(),this._config=t,this._injector=n,this._config=i.Tools.deepMerge({},Mt,this._config)}onStarting(){this._injector.add([ue,{useClass:G,lazy:!1}]),this._injector.add([z]),this._injector.add([X]),this._injector.add([W]),this._injector.add([K]),this._injector.add([A,{useFactory:()=>this._injector.createInstance(A,this._config)}])}};Te(exports.UniverSheetsNumfmtPlugin,"pluginName",ie);Te(exports.UniverSheetsNumfmtPlugin,"type",i.UniverInstanceType.UNIVER_SHEET);exports.UniverSheetsNumfmtPlugin=Rt([i.DependentOn(d.UniverSheetsPlugin,O.UniverSheetsUIPlugin),Ot(1,i.Inject(i.Injector))],exports.UniverSheetsNumfmtPlugin);exports.AddDecimalCommand=ce;exports.CloseNumfmtPanelOperator=q;exports.OpenNumfmtPanelOperator=V;exports.SetCurrencyCommand=ae;exports.SetNumfmtCommand=x;exports.SetPercentCommand=de;exports.SubtractDecimalCommand=le;exports.getPatternPreview=Z;
package/lib/es/index.js CHANGED
@@ -1,18 +1,16 @@
1
1
  var dt = Object.defineProperty;
2
2
  var ft = (e, t, r) => t in e ? dt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
3
  var ce = (e, t, r) => ft(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { LocaleType as ht, Disposable as K, ObjectMatrix as Le, CellValueType as V, Range as R, UniverInstanceType as T, OnLifecycle as Y, LifecycleStages as B, ThemeService as We, ICommandService as O, LocaleService as E, IUniverInstanceService as w, CommandType as D, IUndoRedoService as pt, sequenceExecute as vt, runOnLifecycle as _t, ILocalStorageService as gt, toDisposable as Ee, DisposableCollection as St, Plugin as bt, Tools as Ct, DependentOn as yt } from "@univerjs/core";
5
- import { Inject as b, createIdentifier as Tt, Injector as Pe, Optional as It } from "@wendellhu/redi";
6
- import { INTERCEPTOR_POINT as ke, SetNumfmtMutation as q, SetRangeValuesMutation as Et, SheetInterceptorService as Re, INumfmtService as H, getSheetCommandTarget as xe, transformCellsToRange as Ge, rangeMerge as Ve, factorySetNumfmtUndoMutation as ze, RemoveNumfmtMutation as _e, factoryRemoveNumfmtUndoMutation as Ke, SheetsSelectionsService as U, SetRangeValuesCommand as Nt, WorkbookEditablePermission as J, WorksheetEditPermission as X, WorksheetSetCellStylePermission as Z, RangeProtectionPermissionEditPoint as Q, UniverSheetsPlugin as Mt } from "@univerjs/sheets";
7
- import { SheetSkeletonManagerService as Pt, IEditorBridgeService as Rt, getCurrentRangeDisable$ as ee, deriveStateFromActiveSheet$ as xt, UniverSheetsUIPlugin as Ot } from "@univerjs/sheets-ui";
8
- import { switchMap as jt, of as $t, skip as wt, Observable as G, combineLatest as Dt, merge as Ut } from "rxjs";
9
- import x, { DEFAULT_TEXT_FORMAT as At } from "@univerjs/engine-numfmt";
10
- import { IRenderManagerService as Lt, ITextSelectionRenderManager as Vt } from "@univerjs/engine-render";
11
- import { ComponentManager as Ye, ISidebarService as Bt, MenuItemType as te, MenuGroup as ne, MenuPosition as re, getMenuHiddenObservable as se, IMenuService as Ht } from "@univerjs/ui";
12
- import { map as Ft, switchMap as Wt, tap as kt, debounceTime as Gt } from "rxjs/operators";
13
- import zt, { createContext as Kt, useState as I, useEffect as Oe, useRef as qe, useContext as Je, useMemo as P, createElement as Yt } from "react";
4
+ import { LocaleType as ht, Disposable as K, ObjectMatrix as Le, CellValueType as V, Range as R, UniverInstanceType as T, OnLifecycle as Y, LifecycleStages as B, Inject as b, ThemeService as We, ICommandService as O, LocaleService as E, IUniverInstanceService as w, CommandType as D, IUndoRedoService as pt, sequenceExecute as vt, createIdentifier as _t, runOnLifecycle as gt, ILocalStorageService as St, useDependency as N, toDisposable as Ee, DisposableCollection as bt, Injector as Pe, Optional as Ct, useInjector as yt, Plugin as Tt, Tools as It, DependentOn as Et } from "@univerjs/core";
5
+ import { INTERCEPTOR_POINT as ke, SetNumfmtMutation as q, SetRangeValuesMutation as Nt, SheetInterceptorService as Re, INumfmtService as H, getSheetCommandTarget as xe, transformCellsToRange as Ge, rangeMerge as Ve, factorySetNumfmtUndoMutation as ze, RemoveNumfmtMutation as _e, factoryRemoveNumfmtUndoMutation as Ke, SheetsSelectionsService as U, SetRangeValuesCommand as Mt, WorkbookEditablePermission as J, WorksheetEditPermission as X, WorksheetSetCellStylePermission as Z, RangeProtectionPermissionEditPoint as Q, UniverSheetsPlugin as Pt } from "@univerjs/sheets";
6
+ import { SheetSkeletonManagerService as Rt, IEditorBridgeService as xt, getCurrentRangeDisable$ as ee, deriveStateFromActiveSheet$ as Ot, UniverSheetsUIPlugin as jt } from "@univerjs/sheets-ui";
7
+ import { switchMap as $t, of as wt, skip as Dt, Observable as G, combineLatest as Ut, merge as At } from "rxjs";
8
+ import x, { DEFAULT_TEXT_FORMAT as Lt } from "@univerjs/engine-numfmt";
9
+ import { IRenderManagerService as Vt, ITextSelectionRenderManager as Bt } from "@univerjs/engine-render";
10
+ import { ComponentManager as Ye, ISidebarService as Ht, MenuItemType as te, MenuGroup as ne, MenuPosition as re, getMenuHiddenObservable as se, IMenuService as Ft } from "@univerjs/ui";
11
+ import { map as Wt, switchMap as kt, tap as Gt, debounceTime as zt } from "rxjs/operators";
12
+ import Kt, { createContext as Yt, useState as I, useEffect as Oe, useRef as qe, useContext as Je, useMemo as P, createElement as qt } from "react";
14
13
  import { InputNumber as je, Select as $e, SelectList as we, Button as Be } from "@univerjs/design";
15
- import { useDependency as N, useInjector as qt } from "@wendellhu/redi/react-bindings";
16
14
  const Ne = "SHEET_NUMFMT_PLUGIN", fe = (e) => x.getInfo(e).type || "unknown", De = (e, t, r) => {
17
15
  const n = x.getInfo(e), s = r === ht.ZH_CN ? "zh-CN" : "en", i = n._partitions[1], o = x.format(e, t, { locale: s });
18
16
  return t < 0 ? {
@@ -69,7 +67,7 @@ let ae = class extends K {
69
67
  });
70
68
  });
71
69
  });
72
- } else if (t.id === Et.id) {
70
+ } else if (t.id === Nt.id) {
73
71
  const r = t.params;
74
72
  new Le(r.cellValue).forValue((n, s) => {
75
73
  e.realDeleteValue(n, s);
@@ -77,11 +75,11 @@ let ae = class extends K {
77
75
  }
78
76
  })), this.disposeWithMe(
79
77
  this._instanceService.getCurrentTypeOfUnit$(T.UNIVER_SHEET).pipe(
80
- jt((t) => {
78
+ $t((t) => {
81
79
  var r;
82
- return (r = t == null ? void 0 : t.activeSheet$) != null ? r : $t(null);
80
+ return (r = t == null ? void 0 : t.activeSheet$) != null ? r : wt(null);
83
81
  }),
84
- wt(1)
82
+ Dt(1)
85
83
  ).subscribe(() => e.reset())
86
84
  );
87
85
  }
@@ -365,8 +363,8 @@ const j = (e, t = 0) => {
365
363
  // do nothing,just notify panel is closed
366
364
  !0
367
365
  )
368
- }, Ue = Tt("INumfmtController");
369
- _t(B.Rendered, Ue);
366
+ }, Ue = _t("INumfmtController");
367
+ gt(B.Rendered, Ue);
370
368
  const he = {
371
369
  id: "sheet.operation.open.numfmt.panel",
372
370
  type: D.OPERATION,
@@ -382,7 +380,7 @@ var tt = { exports: {} }, Se = {};
382
380
  * This source code is licensed under the MIT license found in the
383
381
  * LICENSE file in the root directory of this source tree.
384
382
  */
385
- var nn = zt, rn = Symbol.for("react.element"), sn = Symbol.for("react.fragment"), on = Object.prototype.hasOwnProperty, cn = nn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, an = { key: !0, ref: !0, __self: !0, __source: !0 };
383
+ var nn = Kt, rn = Symbol.for("react.element"), sn = Symbol.for("react.fragment"), on = Object.prototype.hasOwnProperty, cn = nn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, an = { key: !0, ref: !0, __self: !0, __source: !0 };
386
384
  function nt(e, t, r) {
387
385
  var n, s = {}, i = null, o = null;
388
386
  r !== void 0 && (i = "" + r), t.key !== void 0 && (i = "" + t.key), t.ref !== void 0 && (o = t.ref);
@@ -395,7 +393,7 @@ Se.jsx = nt;
395
393
  Se.jsxs = nt;
396
394
  tt.exports = Se;
397
395
  var d = tt.exports;
398
- const Ae = Kt([]), Me = [
396
+ const Ae = Yt([]), Me = [
399
397
  "$",
400
398
  "£",
401
399
  "¥",
@@ -474,7 +472,7 @@ let pe = class {
474
472
  }
475
473
  };
476
474
  pe = mn([
477
- dn(0, b(gt))
475
+ dn(0, b(St))
478
476
  ], pe);
479
477
  const Fe = "numfmtCurrency", fn = (e) => {
480
478
  const t = N(pe), [r, n] = I(Me);
@@ -648,7 +646,7 @@ const Fe = "numfmtCurrency", fn = (e) => {
648
646
  /* @__PURE__ */ d.jsxs("div", { children: [
649
647
  /* @__PURE__ */ d.jsx("div", { className: "label m-t-14", children: c("sheet.numfmt.numfmtType") }),
650
648
  /* @__PURE__ */ d.jsx("div", { className: "m-t-8", children: /* @__PURE__ */ d.jsx($e, { onChange: F, options: S, value: m }) }),
651
- /* @__PURE__ */ d.jsx("div", { children: g && /* @__PURE__ */ d.jsx(Ae.Provider, { value: h, children: /* @__PURE__ */ Yt(g, { ...Ce, key: u }) }) })
649
+ /* @__PURE__ */ d.jsx("div", { children: g && /* @__PURE__ */ d.jsx(Ae.Provider, { value: h, children: /* @__PURE__ */ qt(g, { ...Ce, key: u }) }) })
652
650
  ] }),
653
651
  /* @__PURE__ */ d.jsxs("div", { className: "btn-list m-t-14 m-b-20", children: [
654
652
  /* @__PURE__ */ d.jsx(Be, { size: "small", onClick: W, className: "m-r-12", children: c("sheet.numfmt.cancel") }),
@@ -742,7 +740,7 @@ let le = class extends K {
742
740
  const r = this._renderManagerService.getRenderById(
743
741
  t != null ? t : this._univerInstanceService.getCurrentUnitForType(T.UNIVER_SHEET).getUnitId()
744
742
  );
745
- r == null || r.with(Pt).reCalculate(), (n = r == null ? void 0 : r.mainComponent) == null || n.makeDirty();
743
+ r == null || r.with(Rt).reCalculate(), (n = r == null ? void 0 : r.mainComponent) == null || n.makeDirty();
746
744
  }
747
745
  _initCommands() {
748
746
  [
@@ -765,24 +763,24 @@ let le = class extends K {
765
763
  this._commandService.onCommandExecuted((s) => {
766
764
  s.id === he.id && n.next(!0), s.id === ye.id && n.next(!1);
767
765
  });
768
- }), r = Dt([
766
+ }), r = Ut([
769
767
  t,
770
768
  this._selectionManagerService.selectionMoveEnd$.pipe(
771
- Ft((n) => n ? n.map((s) => s.range) : [])
769
+ Wt((n) => n ? n.map((s) => s.range) : [])
772
770
  )
773
771
  ]);
774
772
  this.disposeWithMe(
775
773
  Ee(
776
774
  r.pipe(
777
- Wt(
775
+ kt(
778
776
  ([n, s]) => new G((i) => {
779
- const o = new St();
777
+ const o = new bt();
780
778
  return n && s.length && i.next({ selectionRanges: s, disposableCollection: o }), () => {
781
779
  o.dispose();
782
780
  };
783
781
  })
784
782
  ),
785
- kt(() => {
783
+ Gt(() => {
786
784
  this._previewPattern = null;
787
785
  })
788
786
  ).subscribe(({ disposableCollection: n, selectionRanges: s }) => {
@@ -834,7 +832,7 @@ let le = class extends K {
834
832
  }
835
833
  });
836
834
  return () => n.dispose();
837
- }).pipe(Gt(16)).subscribe((r) => this._forceUpdate(r))
835
+ }).pipe(zt(16)).subscribe((r) => this._forceUpdate(r))
838
836
  );
839
837
  }
840
838
  _initCloseListener() {
@@ -851,10 +849,10 @@ le = Pn([
851
849
  M(2, w),
852
850
  M(3, O),
853
851
  M(4, b(U)),
854
- M(5, Lt),
852
+ M(5, Vt),
855
853
  M(6, H),
856
854
  M(7, b(Ye)),
857
- M(8, Bt),
855
+ M(8, Ht),
858
856
  M(9, b(E))
859
857
  ], le);
860
858
  var Rn = Object.defineProperty, xn = Object.getOwnPropertyDescriptor, On = (e, t, r, n) => {
@@ -972,7 +970,7 @@ let ue = class extends K {
972
970
  getMutations(r) {
973
971
  var n;
974
972
  switch (r.id) {
975
- case Nt.id: {
973
+ case Mt.id: {
976
974
  const s = t._univerInstanceService.getCurrentUnitForType(T.UNIVER_SHEET), i = s.getUnitId(), o = (n = s.getActiveSheet()) == null ? void 0 : n.getSheetId();
977
975
  if (!o)
978
976
  return {
@@ -1040,7 +1038,7 @@ ue = On([
1040
1038
  k(1, b(H)),
1041
1039
  k(2, b(w)),
1042
1040
  k(3, b(Pe)),
1043
- k(4, It(Rt))
1041
+ k(4, Ct(xt))
1044
1042
  ], ue);
1045
1043
  function $n(e) {
1046
1044
  return /^-?\d+(\.\d+)?$/.test(e);
@@ -1066,7 +1064,7 @@ const de = [
1066
1064
  },
1067
1065
  {
1068
1066
  label: "sheet.numfmt.text",
1069
- pattern: At
1067
+ pattern: Lt
1070
1068
  },
1071
1069
  "|",
1072
1070
  {
@@ -1117,11 +1115,11 @@ const de = [
1117
1115
  const t = N(E), r = (n = e.value) != null ? n : t.t("sheet.numfmt.general");
1118
1116
  return /* @__PURE__ */ d.jsx("span", { className: "more-numfmt-type", children: r });
1119
1117
  }, Vn = () => {
1120
- const e = N(O), t = N(E), r = qt(), n = N(U), s = (c) => {
1118
+ const e = N(O), t = N(E), r = yt(), n = N(U), s = (c) => {
1121
1119
  const a = n.getCurrentLastSelection();
1122
1120
  if (!a)
1123
1121
  return;
1124
- const f = r.get(Vt), m = a.range, l = [];
1122
+ const f = r.get(Bt), m = a.range, l = [];
1125
1123
  R.foreach(m, (u, v) => {
1126
1124
  c ? l.push({ row: u, col: v, pattern: c, type: fe(c) }) : l.push({ row: u, col: v });
1127
1125
  }), e.executeCommand($.id, { values: l }), f.focus();
@@ -1190,8 +1188,8 @@ const de = [
1190
1188
  hidden$: se(e, T.UNIVER_SHEET),
1191
1189
  disabled$: ee(e, { workbookTypes: [J], worksheetTypes: [X, Z], rangeTypes: [Q] })
1192
1190
  }), kn = (e) => {
1193
- const t = e.get(H), r = e.get(w), n = e.get(O), s = e.get(E), i = e.get(U), o = xt(r, "", ({ workbook: c, worksheet: a }) => new G(
1194
- (f) => Ut(
1191
+ const t = e.get(H), r = e.get(w), n = e.get(O), s = e.get(E), i = e.get(U), o = Ot(r, "", ({ workbook: c, worksheet: a }) => new G(
1192
+ (f) => At(
1195
1193
  i.selectionMoveEnd$,
1196
1194
  new G((m) => {
1197
1195
  const l = [_e.id, q.id], u = n.onCommandExecuted((v) => {
@@ -1255,16 +1253,16 @@ z = Kn([
1255
1253
  Y(B.Rendered, z),
1256
1254
  Ie(1, b(Pe)),
1257
1255
  Ie(2, b(Ye)),
1258
- Ie(3, b(Ht))
1256
+ Ie(3, b(Ft))
1259
1257
  ], z);
1260
1258
  var at = Object.defineProperty, qn = Object.getOwnPropertyDescriptor, Jn = (e, t, r) => t in e ? at(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Xn = (e, t, r, n) => {
1261
1259
  for (var s = n > 1 ? void 0 : n ? qn(t, r) : t, i = e.length - 1, o; i >= 0; i--)
1262
1260
  (o = e[i]) && (s = (n ? o(t, r, s) : o(s)) || s);
1263
1261
  return n && s && at(t, r, s), s;
1264
1262
  }, Zn = (e, t) => (r, n) => t(r, n, e), lt = (e, t, r) => Jn(e, typeof t != "symbol" ? t + "" : t, r);
1265
- let ve = class extends bt {
1263
+ let ve = class extends Tt {
1266
1264
  constructor(e = {}, t) {
1267
- super(), this._config = e, this._injector = t, this._config = Ct.deepMerge({}, Yn, this._config);
1265
+ super(), this._config = e, this._injector = t, this._config = It.deepMerge({}, Yn, this._config);
1268
1266
  }
1269
1267
  onStarting() {
1270
1268
  this._injector.add([Ue, { useClass: le, lazy: !1 }]), this._injector.add([ue]), this._injector.add([pe]), this._injector.add([ae]), this._injector.add([me]), this._injector.add(
@@ -1280,7 +1278,7 @@ let ve = class extends bt {
1280
1278
  lt(ve, "pluginName", Ne);
1281
1279
  lt(ve, "type", T.UNIVER_SHEET);
1282
1280
  ve = Xn([
1283
- yt(Mt, Ot),
1281
+ Et(Pt, jt),
1284
1282
  Zn(1, b(Pe))
1285
1283
  ], ve);
1286
1284
  export {
@@ -1,15 +1,14 @@
1
- import { Univer } from '@univerjs/core';
2
- import { Dependency } from '@wendellhu/redi';
1
+ import { Dependency, Univer } from '@univerjs/core';
3
2
 
4
3
  export declare const createTestBed: (dependencies?: Dependency[]) => {
5
4
  univer: Univer;
6
5
  get: {
7
- <T>(id: import('@wendellhu/redi').DependencyIdentifier<T>, lookUp?: import('@wendellhu/redi').LookUp): T;
8
- <T>(id: import('@wendellhu/redi').DependencyIdentifier<T>, quantity: import("@wendellhu/redi").Quantity.MANY, lookUp?: import('@wendellhu/redi').LookUp): T[];
9
- <T>(id: import('@wendellhu/redi').DependencyIdentifier<T>, quantity: import("@wendellhu/redi").Quantity.OPTIONAL, lookUp?: import('@wendellhu/redi').LookUp): T | null;
10
- <T>(id: import('@wendellhu/redi').DependencyIdentifier<T>, quantity: import("@wendellhu/redi").Quantity.REQUIRED, lookUp?: import('@wendellhu/redi').LookUp): T;
11
- <T>(id: import('@wendellhu/redi').DependencyIdentifier<T>, quantity?: import('@wendellhu/redi').Quantity, lookUp?: import('@wendellhu/redi').LookUp): T[] | T | null;
12
- <T>(id: import('@wendellhu/redi').DependencyIdentifier<T>, quantityOrLookup?: import('@wendellhu/redi').Quantity | import('@wendellhu/redi').LookUp, lookUp?: import('@wendellhu/redi').LookUp): T[] | T | null;
6
+ <T>(id: import('@univerjs/core').DependencyIdentifier<T>, lookUp?: import('@univerjs/core').LookUp): T;
7
+ <T>(id: import('@univerjs/core').DependencyIdentifier<T>, quantity: import("@univerjs/core").Quantity.MANY, lookUp?: import('@univerjs/core').LookUp): T[];
8
+ <T>(id: import('@univerjs/core').DependencyIdentifier<T>, quantity: import("@univerjs/core").Quantity.OPTIONAL, lookUp?: import('@univerjs/core').LookUp): T | null;
9
+ <T>(id: import('@univerjs/core').DependencyIdentifier<T>, quantity: import("@univerjs/core").Quantity.REQUIRED, lookUp?: import('@univerjs/core').LookUp): T;
10
+ <T>(id: import('@univerjs/core').DependencyIdentifier<T>, quantity?: import('@univerjs/core').Quantity, lookUp?: import('@univerjs/core').LookUp): T[] | T | null;
11
+ <T>(id: import('@univerjs/core').DependencyIdentifier<T>, quantityOrLookup?: import('@univerjs/core').Quantity | import('@univerjs/core').LookUp, lookUp?: import('@univerjs/core').LookUp): T[] | T | null;
13
12
  };
14
13
  sheet: import('@univerjs/core').Workbook;
15
14
  unitId: string;
@@ -1,7 +1,6 @@
1
- import { Disposable, IUniverInstanceService } from '@univerjs/core';
1
+ import { Disposable, Injector, IUniverInstanceService } from '@univerjs/core';
2
2
  import { INumfmtService, SheetInterceptorService } from '@univerjs/sheets';
3
3
  import { IEditorBridgeService } from '@univerjs/sheets-ui';
4
- import { Injector } from '@wendellhu/redi';
5
4
 
6
5
  export declare class NumfmtEditorController extends Disposable {
7
6
  private _sheetInterceptorService;
@@ -1,6 +1,5 @@
1
- import { Disposable } from '@univerjs/core';
1
+ import { Disposable, Injector } from '@univerjs/core';
2
2
  import { MenuConfig, ComponentManager, IMenuService } from '@univerjs/ui';
3
- import { Injector } from '@wendellhu/redi';
4
3
 
5
4
  export interface IUniverSheetsNumfmtConfig {
6
5
  menu: MenuConfig;
@@ -16,4 +16,4 @@
16
16
  export interface INumfmtController {
17
17
  openPanel(): void;
18
18
  }
19
- export declare const INumfmtController: import('@wendellhu/redi').IdentifierDecorator<INumfmtController>;
19
+ export declare const INumfmtController: import('@univerjs/core').IdentifierDecorator<INumfmtController>;
@@ -1,5 +1,5 @@
1
1
  import { IMenuSelectorItem, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
2
- import { IAccessor } from '@wendellhu/redi';
2
+ import { IAccessor } from '@univerjs/core';
3
3
  import { Observable } from 'rxjs';
4
4
 
5
5
  export declare const CurrencyMenuItem: (accessor: IAccessor) => {
@@ -1,5 +1,4 @@
1
- import { Plugin, UniverInstanceType } from '@univerjs/core';
2
- import { Injector } from '@wendellhu/redi';
1
+ import { Injector, Plugin, UniverInstanceType } from '@univerjs/core';
3
2
  import { IUniverSheetsNumfmtConfig } from './controllers/numfmt.menu.controller';
4
3
 
5
4
  export declare class UniverSheetsNumfmtPlugin extends Plugin {
package/lib/umd/index.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(g,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("@univerjs/sheets"),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","@wendellhu/redi","@univerjs/sheets","@univerjs/sheets-ui","rxjs","@univerjs/engine-numfmt","@univerjs/engine-render","@univerjs/ui","rxjs/operators","react","@univerjs/design","@wendellhu/redi/react-bindings"],a):(g=typeof globalThis<"u"?globalThis:g||self,a(g.UniverSheetsNumfmt={},g.UniverCore,g["@wendellhu/redi"],g.UniverSheets,g.UniverSheetsUi,g.rxjs,g.UniverEngineNumfmt,g.UniverEngineRender,g.UniverUi,g.rxjs.operators,g.React,g.UniverDesign,g["@wendellhu/redi/react-bindings"]))})(this,function(g,a,I,m,D,O,j,he,T,B,b,R,E){"use strict";var xt=Object.defineProperty;var Dt=(g,a,I)=>a in g?xt(g,a,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[a]=I;var se=(g,a,I)=>Dt(g,typeof a!="symbol"?a+"":a,I);const re="SHEET_NUMFMT_PLUGIN",G=e=>j.getInfo(e).type||"unknown",z=(e,t,s)=>{const n=j.getInfo(e),r=s===a.LocaleType.ZH_CN?"zh-CN":"en",i=n._partitions[1],o=j.format(e,t,{locale:r});return t<0?{result:o,color:i.color}:{result:o}};var Ee=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,Oe=(e,t,s,n)=>{for(var r=n>1?void 0:n?Re(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&&Ee(t,s,r),r},L=(e,t)=>(s,n)=>t(s,n,e);let K=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=z(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)})})})}else if(t.id===m.SetRangeValuesMutation.id){const s=t.params;new a.ObjectMatrix(s.cellValue).forValue((n,r)=>{e.realDeleteValue(n,r)})}})),this.disposeWithMe(this._instanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).pipe(O.switchMap(t=>{var s;return(s=t==null?void 0:t.activeSheet$)!=null?s:O.of(null)}),O.skip(1)).subscribe(()=>e.reset()))}};K=Oe([a.OnLifecycle(a.LifecycleStages.Rendered,K),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))],K);const U=(e,t=0)=>{var n;return e&&(n=j.getInfo(e).maxDecimals)!=null?n:t},Y=(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=j.getInfo(e)._partitions,r=j.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},Se=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?".":""}${Se(Number(t||0))}`):/0([^0]?)|0$/.test(n)?n.replace(/0([^0]+)|0$/,`0${t>0?".":""}${Se(Number(t||0))}$1`):n).join(";"),je=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),w={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=[],_=[];if(l.length){Object.keys(f.values).forEach(C=>{const S=f.values[C];S.ranges=m.rangeMerge(S.ranges)}),d.push({id:m.SetNumfmtMutation.id,params:f});const h=m.factorySetNumfmtUndoMutation(e,f);_.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);_.push(...h)}const y=a.sequenceExecute(d,s).result;return y&&r.pushUndoRedo({unitID:o,undoMutations:_,redoMutations:d}),y}},ie={id:"sheet.command.numfmt.add.decimal.command",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),s=e.get(m.SheetsSelectionsService),n=e.get(m.INumfmtService),r=e.get(a.IUniverInstanceService),i=s.getCurrentSelections();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,(y,h)=>{const C=n.getValue(c,l,y,h);if(!C)return;const S=U(C.pattern);v=S>v?S:v})});const f=v+1,u=N(`0${f>0?".0":""}`,f),d=[];return i.forEach(_=>{a.Range.foreach(_.range,(y,h)=>{const C=n.getValue(c,l,y,h);if(!C)d.push({row:y,col:h,pattern:u});else{const S=U(C.pattern),P=N(C.pattern,S+1);P!==C.pattern&&d.push({row:y,col:h,pattern:P})}})}),d.length?await t.executeCommand(w.id,{values:d}):!1}},xe=[{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"}],De=[{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"}],ge=[{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"}],ae={id:"sheet.command.numfmt.set.currency",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),n=e.get(m.SheetsSelectionsService).getCurrentSelections();if(!n||!n.length)return!1;const r=[],i=ge[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(w.id,{values:r})}},oe={id:"sheet.command.numfmt.subtract.decimal.command",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),s=e.get(m.SheetsSelectionsService),n=e.get(m.INumfmtService),r=e.get(a.IUniverInstanceService),i=s.getCurrentSelections();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(y=>{a.Range.foreach(y.range,(h,C)=>{const S=n.getValue(c,l,h,C);if(!S)return;const P=U(S.pattern);v=P>v?P:v})});const f=v-1,u=N(`0${f>0?".0":"."}`,f),d=[];return i.forEach(y=>{a.Range.foreach(y.range,(h,C)=>{const S=n.getValue(c,l,h,C);if(!S)d.push({row:h,col:C,pattern:u});else{const P=U(S.pattern);d.push({row:h,col:C,pattern:N(S.pattern,P-1)})}})}),await t.executeCommand(w.id,{values:d})}},J={id:"sheet.operation.close.numfmt.panel",type:a.CommandType.OPERATION,handler:()=>!0},ce=I.createIdentifier("INumfmtController");a.runOnLifecycle(a.LifecycleStages.Rendered,ce);const V={id:"sheet.operation.open.numfmt.panel",type:a.CommandType.OPERATION,handler:e=>(e.get(ce).openPanel(),!0)};var _e={exports:{}},X={};/**
1
+ (function(_,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@univerjs/core"),require("@univerjs/sheets"),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")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@univerjs/sheets-ui","rxjs","@univerjs/engine-numfmt","@univerjs/engine-render","@univerjs/ui","rxjs/operators","react","@univerjs/design"],r):(_=typeof globalThis<"u"?globalThis:_||self,r(_.UniverSheetsNumfmt={},_.UniverCore,_.UniverSheets,_.UniverSheetsUi,_.rxjs,_.UniverEngineNumfmt,_.UniverEngineRender,_.UniverUi,_.rxjs.operators,_.React,_.UniverDesign))})(this,function(_,r,m,j,E,R,pe,I,k,b,N){"use strict";var Ot=Object.defineProperty;var jt=(_,r,m)=>r in _?Ot(_,r,{enumerable:!0,configurable:!0,writable:!0,value:m}):_[r]=m;var te=(_,r,m)=>jt(_,typeof r!="symbol"?r+"":r,m);const ne="SHEET_NUMFMT_PLUGIN",F=e=>R.getInfo(e).type||"unknown",W=(e,t,s)=>{const n=R.getInfo(e),i=s===r.LocaleType.ZH_CN?"zh-CN":"en",a=n._partitions[1],c=R.format(e,t,{locale:i});return t<0?{result:c,color:a.color}:{result:c}};var Me=Object.defineProperty,Ne=Object.getOwnPropertyDescriptor,Ee=(e,t,s,n)=>{for(var i=n>1?void 0:n?Ne(t,s):t,a=e.length-1,c;a>=0;a--)(c=e[a])&&(i=(n?c(t,s,i):c(i))||i);return n&&i&&Me(t,s,i),i},U=(e,t)=>(s,n)=>t(s,n,e);let G=class extends r.Disposable{constructor(e,t,s,n,i,a){super(),this._instanceService=e,this._sheetInterceptorService=t,this._themeService=s,this._commandService=n,this._numfmtService=i,this._localeService=a,this._initInterceptorCellContent()}_initInterceptorCellContent(){const e=new r.ObjectMatrix;this.disposeWithMe(this._sheetInterceptorService.intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(t,s,n)=>{const i=s.unitId,a=s.subUnitId,c=this._numfmtService.getValue(i,a,s.row,s.col);if(!c)return n(t);const o=t;if(!o||o.t!==r.CellValueType.NUMBER)return n(t);let l="";const v=e.getValue(s.row,s.col);if(v&&v.parameters===o.v)return n({...t,...v.result});const f=W(c.pattern,Number(o.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:o.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(a=>{r.Range.foreach(a,(c,o)=>{e.realDeleteValue(c,o)})})})}else if(t.id===m.SetRangeValuesMutation.id){const s=t.params;new r.ObjectMatrix(s.cellValue).forValue((n,i)=>{e.realDeleteValue(n,i)})}})),this.disposeWithMe(this._instanceService.getCurrentTypeOfUnit$(r.UniverInstanceType.UNIVER_SHEET).pipe(E.switchMap(t=>{var s;return(s=t==null?void 0:t.activeSheet$)!=null?s:E.of(null)}),E.skip(1)).subscribe(()=>e.reset()))}};G=Ee([r.OnLifecycle(r.LifecycleStages.Rendered,G),U(0,r.IUniverInstanceService),U(1,r.Inject(m.SheetInterceptorService)),U(2,r.Inject(r.ThemeService)),U(3,r.Inject(r.ICommandService)),U(4,r.Inject(m.INumfmtService)),U(5,r.Inject(r.LocaleService))],G);const x=(e,t=0)=>{var n;return e&&(n=R.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=R.getInfo(e)._partitions,i=R.getInfo(t)._partitions,a=s(n[0].tokens),c=s(i[0].tokens),o=s(n[1].tokens),l=s(i[1].tokens);return a===c&&o===l&&n[1].color===i[1].color},ve=e=>new Array(Math.min(Math.max(0,Number(e)),30)).fill(0).join(""),M=(e,t)=>e.split(";").map(n=>/\.0?/.test(n)?n.replace(/\.0*/g,`${t>0?".":""}${ve(Number(t||0))}`):/0([^0]?)|0$/.test(n)?n.replace(/0([^0]+)|0$/,`0${t>0?".":""}${ve(Number(t||0))}$1`):n).join(";"),Re=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),D={id:"sheet.command.numfmt.set.numfmt",type:r.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;const s=e.get(r.ICommandService),n=e.get(r.IUniverInstanceService),i=e.get(r.IUndoRedoService),a=m.getSheetCommandTarget(n,t);if(!a)return!1;const{unitId:c,subUnitId:o}=a,l=t.values.filter(h=>!!h.pattern),v=t.values.filter(h=>!h.pattern),f=m.transformCellsToRange(c,o,l),u={unitId:c,subUnitId:o,ranges:v.map(h=>({startColumn:h.col,startRow:h.row,endColumn:h.col,endRow:h.row}))},d=[],g=[];if(l.length){Object.keys(f.values).forEach(C=>{const S=f.values[C];S.ranges=m.rangeMerge(S.ranges)}),d.push({id:m.SetNumfmtMutation.id,params:f});const h=m.factorySetNumfmtUndoMutation(e,f);g.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);g.push(...h)}const y=r.sequenceExecute(d,s).result;return y&&i.pushUndoRedo({unitID:c,undoMutations:g,redoMutations:d}),y}},se={id:"sheet.command.numfmt.add.decimal.command",type:r.CommandType.COMMAND,handler:async e=>{const t=e.get(r.ICommandService),s=e.get(m.SheetsSelectionsService),n=e.get(m.INumfmtService),i=e.get(r.IUniverInstanceService),a=s.getCurrentSelections();if(!a||!a.length)return!1;const c=m.getSheetCommandTarget(i);if(!c)return!1;const{unitId:o,subUnitId:l}=c;let v=0;a.forEach(g=>{r.Range.foreach(g.range,(y,h)=>{const C=n.getValue(o,l,y,h);if(!C)return;const S=x(C.pattern);v=S>v?S:v})});const f=v+1,u=M(`0${f>0?".0":""}`,f),d=[];return a.forEach(g=>{r.Range.foreach(g.range,(y,h)=>{const C=n.getValue(o,l,y,h);if(!C)d.push({row:y,col:h,pattern:u});else{const S=x(C.pattern),T=M(C.pattern,S+1);T!==C.pattern&&d.push({row:y,col:h,pattern:T})}})}),d.length?await t.executeCommand(D.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"}],je=[{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"}],he=[{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"}],ie={id:"sheet.command.numfmt.set.currency",type:r.CommandType.COMMAND,handler:async e=>{const t=e.get(r.ICommandService),n=e.get(m.SheetsSelectionsService).getCurrentSelections();if(!n||!n.length)return!1;const i=[],a=he[0].suffix("¥");return n.forEach(o=>{r.Range.foreach(o.range,(l,v)=>{i.push({row:l,col:v,pattern:a,type:"currency"})})}),await t.executeCommand(D.id,{values:i})}},re={id:"sheet.command.numfmt.subtract.decimal.command",type:r.CommandType.COMMAND,handler:async e=>{const t=e.get(r.ICommandService),s=e.get(m.SheetsSelectionsService),n=e.get(m.INumfmtService),i=e.get(r.IUniverInstanceService),a=s.getCurrentSelections();if(!a||!a.length)return!1;const c=m.getSheetCommandTarget(i);if(!c)return!1;const{unitId:o,subUnitId:l}=c;let v=0;a.forEach(y=>{r.Range.foreach(y.range,(h,C)=>{const S=n.getValue(o,l,h,C);if(!S)return;const T=x(S.pattern);v=T>v?T:v})});const f=v-1,u=M(`0${f>0?".0":"."}`,f),d=[];return a.forEach(y=>{r.Range.foreach(y.range,(h,C)=>{const S=n.getValue(o,l,h,C);if(!S)d.push({row:h,col:C,pattern:u});else{const T=x(S.pattern);d.push({row:h,col:C,pattern:M(S.pattern,T-1)})}})}),await t.executeCommand(D.id,{values:d})}},K={id:"sheet.operation.close.numfmt.panel",type:r.CommandType.OPERATION,handler:()=>!0},ae=r.createIdentifier("INumfmtController");r.runOnLifecycle(r.LifecycleStages.Rendered,ae);const L={id:"sheet.operation.open.numfmt.panel",type:r.CommandType.OPERATION,handler:e=>(e.get(ae).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 Ue=b,we=Symbol.for("react.element"),Le=Symbol.for("react.fragment"),Ae=Object.prototype.hasOwnProperty,Ve=Ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0};function ye(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)Ae.call(t,n)&&!He.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:we,type:e,key:i,ref:o,props:r,_owner:Ve.current}}X.Fragment=Le,X.jsx=ye,X.jsxs=ye,_e.exports=X;var p=_e.exports;const le=b.createContext([]),ue=["$","£","¥","¤","֏","؋","৳","฿","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"];var $e=Object.defineProperty,ke=Object.getOwnPropertyDescriptor,Fe=(e,t,s,n)=>{for(var r=n>1?void 0:n?ke(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&&$e(t,s,r),r},We=(e,t)=>(s,n)=>t(s,n,e);let Z=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)}};Z=Fe([We(0,I.Inject(a.ILocalStorageService))],Z);const be="numfmtCurrency",Be=e=>{const t=E.useDependency(Z),[s,n]=b.useState(ue);return b.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(be,[...ue]).then(i=>{n(i),e&&e(i)})})},[]),{userHabitCurrency:s,mark:i=>{t.markHabit(be,i)}}},Ge=()=>{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({})}},H=e=>ue.find(s=>e.includes(s)),ze=e=>!!H(e)&&e.startsWith("_("),Ke=e=>{const[t,s]=b.useState(()=>U(e.defaultPattern||"",2)),n=b.useContext(le),[r,i]=b.useState(()=>H(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")})]})},me=e=>ge.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),Ce=()=>xe.map(e=>({label:e.label,value:e.suffix})),Ie=()=>De.map(e=>({label:e.label,value:e.suffix,color:e.color})),Ye=e=>!!H(e)&&!e.startsWith("_("),Je=e=>{const s=E.useDependency(a.LocaleService).t,n=b.useContext(le),[r,i]=b.useState(()=>H(e.defaultPattern)||n[0]),[o,c]=b.useState(()=>U(e.defaultPattern||"",2)),[l,v]=b.useState(()=>{var S;const h=me(r);return((S=h.find(P=>Y(P.value,e.defaultPattern)))==null?void 0:S.value)||h[0].value}),f=b.useMemo(()=>me(r),[r]),u=b.useMemo(()=>n.map(h=>({label:h,value:h})),[n]);e.action.current=()=>N(l,o);const d=h=>{if(h===void 0)return;i(h);const C=me(h)[0].value;v(C),e.onChange(N(C,o))},_=h=>{h!==void 0&&(v(h),e.onChange(N(h,o)))},y=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:y})})]}),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:_,options:f,value:l})}),p.jsx("div",{className:"describe m-t-14",children:s("sheet.numfmt.currencyDes")})]})},Xe=e=>{const t=j.getInfo(e);return Ce().map(s=>s.value).includes(e)||["date","datetime","time"].includes(t.type)},Ze=e=>{const t=b.useMemo(Ce,[]),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=>{c!==void 0&&(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,qe=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")})})},et=e=>Ie().some(t=>Y(t.value,e)),tt=e=>{const t=E.useDependency(a.LocaleService),s=b.useMemo(Ie,[]),[n,r]=b.useState(()=>U(e.defaultPattern||"",0)),[i,o]=b.useState(()=>{const u=s.find(d=>Y(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=>{u!==void 0&&(r(U(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")})]})},nt=e=>{const{defaultValue:t,defaultPattern:s,row:n,col:r}=e.value,i=E.useDependency(a.LocaleService),o=b.useRef(()=>""),c=i.t,l=Ge(),v=b.useMemo(()=>[{label:"sheet.numfmt.general",component:qe},{label:"sheet.numfmt.accounting",component:Ke},{label:"sheet.numfmt.currency",component:Je},{label:"sheet.numfmt.date",component:Ze},{label:"sheet.numfmt.thousandthPercentile",component:tt}].map(M=>({...M,label:c(M.label)})),[]),[f,u]=b.useState(S),[d,_]=b.useState(()=>`${n}_${r}`),{mark:y,userHabitCurrency:h}=Be(()=>_(`${n}_${r}_userCurrency'`)),C=b.useMemo(()=>{var M;return(M=v.find(A=>A.label===f))==null?void 0:M.component},[f]);function S(){return[Qe,ze,Ye,Xe,et].reduce((A,Ot,jt)=>A||(Ot(s)?v[jt].label:""),"")||v[0].label}const P=v.map(M=>({label:M.label,value:M.label})),F=M=>{u(M),l(()=>e.onChange({type:"change",value:o.current()||""}))},ne=M=>{e.onChange({type:"change",value:M})},pe=()=>{const M=o.current()||"",A=H(M);A&&y(A),e.onChange({type:"confirm",value:M})},W=()=>{e.onChange({type:"cancel",value:""})},ve={onChange:ne,defaultValue:t,defaultPattern:s,action:o};return b.useEffect(()=>{u(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:F,options:P,value:f})}),p.jsx("div",{children:C&&p.jsx(le.Provider,{value:h,children:b.createElement(C,{...ve,key:d})})})]}),p.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[p.jsx(R.Button,{size:"small",onClick:W,className:"m-r-12",children:c("sheet.numfmt.cancel")}),p.jsx(R.Button,{type:"primary",size:"small",onClick:pe,children:c("sheet.numfmt.confirm")})]})]})},de={id:"sheet.command.numfmt.set.percent",type:a.CommandType.COMMAND,handler:async e=>{const t=e.get(a.ICommandService),n=e.get(m.SheetsSelectionsService).getCurrentSelections();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(w.id,{values:r})}};var st=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,it=(e,t,s,n)=>{for(var r=n>1?void 0:n?rt(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&&st(t,s,r),r},x=(e,t)=>(s,n)=>t(s,n,e);let Q=class extends a.Disposable{constructor(t,s,n,r,i,o,c,l,v,f){super();se(this,"_previewPattern","");se(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(){var C;const t=this._sidebarService,s=this._selectionManagerService,n=this._commandService,r=this._univerInstanceService,i=this._numfmtService,o=this._localeService,l=(((C=s.getCurrentSelections())==null?void 0:C.map(S=>S.range))||[])[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 _="";d&&(_=d.pattern);const y=(u==null?void 0:u.t)===a.CellValueType.NUMBER?u.v:12345678,h={onChange:S=>{var P;if(S.type==="change")this._previewPattern=S.value,this._forceUpdate();else if(S.type==="confirm"){const F=((P=s.getCurrentSelections())==null?void 0:P.map(W=>W.range))||[],ne={values:[]},pe=G(S.value);F.forEach(W=>{a.Range.foreach(W,(ve,M)=>{ne.values.push({row:ve,col:M,pattern:S.value,type:pe})})}),n.executeCommand(w.id,ne),t.close()}else S.type==="cancel"&&t.close()},value:{defaultPattern:_,defaultValue:y,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=t.open({header:{title:o.t("sheet.numfmt.title")},children:{label:re,...h},onClose:()=>{this._forceUpdate(),n.executeCommand(J.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(D.SheetSkeletonManagerService).reCalculate(),(n=s==null?void 0:s.mainComponent)==null||n.makeDirty()}_initCommands(){[ie,oe,ae,de,V,J,w].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(re,nt)}_initRealTimeRenderingInterceptor(){const t=new O.Observable(n=>{this._commandService.onCommandExecuted(r=>{r.id===V.id&&n.next(!0),r.id===J.id&&n.next(!1)})}),s=O.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(B.map(n=>n?n.map(r=>r.range):[]))]);this.disposeWithMe(a.toDisposable(s.pipe(B.switchMap(([n,r])=>new O.Observable(i=>{const o=new a.DisposableCollection;return n&&r.length&&i.next({selectionRanges:r,disposableCollection:o}),()=>{o.dispose()}})),B.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,_=f(l)||{};if(r.find(y=>y.startColumn<=d&&y.endColumn>=d&&y.startRow<=u&&y.endRow>=u)){const y=v.worksheet.getCellRaw(u,d),h=y==null?void 0:y.v,C=y==null?void 0:y.t;if(h==null||C!==a.CellValueType.NUMBER||this._previewPattern===null)return _;const S=z(this._previewPattern,h,this._localeService.getCurrentLocale());if(S.color){const F=this._themeService.getCurrentTheme()[`${S.color}500`];return{..._,v:S.result,t:a.CellValueType.STRING,s:{cl:{rgb:F}}}}return{..._,v:S.result,t:a.CellValueType.STRING}}return _}})),(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 O.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(B.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)})}};Q=it([a.OnLifecycle(a.LifecycleStages.Rendered,Q),x(0,I.Inject(m.SheetInterceptorService)),x(1,I.Inject(a.ThemeService)),x(2,a.IUniverInstanceService),x(3,a.ICommandService),x(4,I.Inject(m.SheetsSelectionsService)),x(5,he.IRenderManagerService),x(6,m.INumfmtService),x(7,I.Inject(T.ComponentManager)),x(8,T.ISidebarService),x(9,I.Inject(a.LocaleService))],Q);var at=Object.defineProperty,ot=Object.getOwnPropertyDescriptor,ct=(e,t,s,n)=>{for(var r=n>1?void 0:n?ot(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&&at(t,s,r),r},$=(e,t)=>(s,n)=>t(s,n,e);const lt=()=>{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();se(this,"_collectEffectMutation",lt());this._sheetInterceptorService=t,this._numfmtService=s,this._univerInstanceService=n,this._injector=r,this._editorBridgeService=i,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&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(G(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._editorBridgeService&&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&&G(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=j.parseDate(c)||j.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)||!ut(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 _;return!!((_=d.value)!=null&&_.pattern)}).map(d=>({row:d.row,col:d.col,pattern:d.value.pattern})),v=c.filter(d=>{var _;return!((_=d.value)!=null&&_.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=ct([a.OnLifecycle(a.LifecycleStages.Rendered,q),$(0,I.Inject(m.SheetInterceptorService)),$(1,I.Inject(m.INumfmtService)),$(2,I.Inject(a.IUniverInstanceService)),$(3,I.Inject(I.Injector)),$(4,I.Optional(D.IEditorBridgeService))],q);function ut(e){return/^-?\d+(\.\d+)?$/.test(e)}var mt=Object.defineProperty,dt=Object.getOwnPropertyDescriptor,ft=(e,t,s,n)=>{for(var r=n>1?void 0:n?dt(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&&mt(t,s,r),r},pt=(e,t)=>(s,n)=>t(s,n,e);let ee=class extends a.Disposable{constructor(e){super(),this._localeService=e}};ee=ft([a.OnLifecycle(a.LifecycleStages.Rendered,ee),pt(0,I.Inject(a.LocaleService))],ee);const te=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:j.DEFAULT_TEXT_FORMAT},"|",{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:""}],Te="sheet.numfmt.moreNumfmtType",Pe="sheet.numfmt.moreNumfmtType.options",vt=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})},ht=()=>{const e=E.useDependency(a.ICommandService),t=E.useDependency(a.LocaleService),s=E.useInjector(),n=E.useDependency(m.SheetsSelectionsService),r=c=>{const l=n.getCurrentLastSelection();if(!l)return;const v=s.get(he.ITextSelectionRenderManager),f=l.range,u=[];a.Range.foreach(f,(d,_)=>{c?u.push({row:d,col:_,pattern:c,type:G(c)}):u.push({row:d,col:_})}),e.executeCommand(w.id,{values:u}),v.focus()},i=c=>{if(c===0)r(null);else if(c===te.length-1)e.executeCommand(V.id);else{const l=te[c];l.pattern&&r(l.pattern)}},o=1220;return p.jsx("div",{className:"more-numfmt-type-options",children:te.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?z(c.pattern||"",o,t.getCurrentLocale()).result:""})]},l))})},St=e=>({icon:"RmbSingle",id:ae.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$:D.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),gt=e=>({icon:"AddDigitsSingle",id:ie.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$:D.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),_t=e=>({icon:"ReduceDigitsSingle",id:oe.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$:D.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),yt=e=>({icon:"PercentSingle",id:de.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$:D.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),bt=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.SheetsSelectionsService),o=D.deriveStateFromActiveSheet$(s,"",({workbook:c,worksheet:l})=>new O.Observable(v=>O.merge(i.selectionMoveEnd$,new O.Observable(f=>{const u=[m.RemoveNumfmtMutation.id,m.SetNumfmtMutation.id],d=n.onCommandExecuted(_=>{u.includes(_.id)&&f.next(null)});return()=>d.dispose()})).subscribe(()=>{const f=i.getCurrentSelections();if(f&&f[0]){const u=f[0].range,d=u.startRow,_=u.startColumn,y=t.getValue(c.getUnitId(),l.getSheetId(),d,_),h=y==null?void 0:y.pattern;let C=r.t("sheet.numfmt.general");if(h){const S=te.filter(P=>typeof P=="object"&&P.pattern).find(P=>Y(h,P.pattern));S&&typeof S=="object"&&S.pattern?C=r.t(S.label):C=r.t("sheet.numfmt.moreFmt")}v.next(C)}})));return{label:Te,id:V.id,tooltip:"sheet.numfmt.title",type:T.MenuItemType.SELECTOR,group:T.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[T.MenuPosition.TOOLBAR_START],selections:[{label:{name:Pe,hoverable:!1}}],value$:o,hidden$:T.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:D.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetSetCellStylePermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}};var Ct=Object.defineProperty,It=Object.getOwnPropertyDescriptor,Tt=(e,t,s,n)=>{for(var r=n>1?void 0:n?It(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&&Ct(t,s,r),r},fe=(e,t)=>(s,n)=>t(s,n,e);const Pt={};let k=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;[yt,gt,_t,St,bt].forEach(t=>{this.disposeWithMe(this._menuService.addMenuItem(t(this._injector),e))}),this.disposeWithMe(this._componentManager.register(Te,vt)),this.disposeWithMe(this._componentManager.register(Pe,ht))}};k=Tt([a.OnLifecycle(a.LifecycleStages.Rendered,k),fe(1,I.Inject(I.Injector)),fe(2,I.Inject(T.ComponentManager)),fe(3,I.Inject(T.IMenuService))],k);var Me=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,Nt=(e,t,s)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Et=(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},Rt=(e,t)=>(s,n)=>t(s,n,e),Ne=(e,t,s)=>Nt(e,typeof t!="symbol"?t+"":t,s);g.UniverSheetsNumfmtPlugin=class extends a.Plugin{constructor(t={},s){super(),this._config=t,this._injector=s,this._config=a.Tools.deepMerge({},Pt,this._config)}onStarting(){this._injector.add([ce,{useClass:Q,lazy:!1}]),this._injector.add([q]),this._injector.add([Z]),this._injector.add([K]),this._injector.add([ee]),this._injector.add([k,{useFactory:()=>this._injector.createInstance(k,this._config)}])}},Ne(g.UniverSheetsNumfmtPlugin,"pluginName",re),Ne(g.UniverSheetsNumfmtPlugin,"type",a.UniverInstanceType.UNIVER_SHEET),g.UniverSheetsNumfmtPlugin=Et([a.DependentOn(m.UniverSheetsPlugin,D.UniverSheetsUIPlugin),Rt(1,I.Inject(I.Injector))],g.UniverSheetsNumfmtPlugin),g.AddDecimalCommand=ie,g.CloseNumfmtPanelOperator=J,g.OpenNumfmtPanelOperator=V,g.SetCurrencyCommand=ae,g.SetNumfmtCommand=w,g.SetPercentCommand=de,g.SubtractDecimalCommand=oe,g.getPatternPreview=z,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});
9
+ */var xe=b,De=Symbol.for("react.element"),Ue=Symbol.for("react.fragment"),we=Object.prototype.hasOwnProperty,Le=xe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ae={key:!0,ref:!0,__self:!0,__source:!0};function ge(e,t,s){var n,i={},a=null,c=null;s!==void 0&&(a=""+s),t.key!==void 0&&(a=""+t.key),t.ref!==void 0&&(c=t.ref);for(n in t)we.call(t,n)&&!Ae.hasOwnProperty(n)&&(i[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)i[n]===void 0&&(i[n]=t[n]);return{$$typeof:De,type:e,key:a,ref:c,props:i,_owner:Le.current}}Y.Fragment=Ue,Y.jsx=ge,Y.jsxs=ge,Se.exports=Y;var p=Se.exports;const ce=b.createContext([]),oe=["$","£","¥","¤","֏","؋","৳","฿","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"];var Ve=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Be=(e,t,s,n)=>{for(var i=n>1?void 0:n?He(t,s):t,a=e.length-1,c;a>=0;a--)(c=e[a])&&(i=(n?c(t,s,i):c(i))||i);return n&&i&&Ve(t,s,i),i},$e=(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 i=n.findIndex(a=>a===t);i>-1&&n.splice(i,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 i=n.map((a,c,o)=>{const l=o.length;return{value:a,priority:l-c}});return t.sort((a,c)=>{var v,f;const o=((v=i.find(u=>u.value===a))==null?void 0:v.priority)||-1;return(((f=i.find(u=>u.value===c))==null?void 0:f.priority)||-1)-o})}return n||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};J=Be([$e(0,r.Inject(r.ILocalStorageService))],J);const _e="numfmtCurrency",ke=e=>{const t=r.useDependency(J),[s,n]=b.useState(oe);return b.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(_e,[...oe]).then(a=>{n(a),e&&e(a)})})},[]),{userHabitCurrency:s,mark:a=>{t.markHabit(_e,a)}}},Fe=()=>{const e=b.useRef([]),[t,s]=b.useState({});return b.useEffect(()=>{e.current.forEach(i=>{i()}),e.current=[]},[t]),i=>{e.current.push(i),s({})}},A=e=>oe.find(s=>e.includes(s)),We=e=>!!A(e)&&e.startsWith("_("),Ge=e=>{const[t,s]=b.useState(()=>x(e.defaultPattern||"",2)),n=b.useContext(ce),[i,a]=b.useState(()=>A(e.defaultPattern)||n[0]),c=b.useMemo(()=>n.map(u=>({label:u,value:u})),[]),l=r.useDependency(r.LocaleService).t;e.action.current=()=>M(`_("${i}"* #,##0${t>0?".0":""}_)`,t);const v=u=>{a(u),e.onChange(M(`_("${u}"* #,##0${t>0?".0":""}_)`,t))},f=u=>{const d=u||0;s(d),e.onChange(M(`_("${i}"* #,##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(N.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(N.Select,{onChange:v,options:c,value:i})})]})]}),p.jsx("div",{className:"describe m-t-14",children:l("sheet.numfmt.accountingDes")})]})},le=e=>he.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),ye=()=>Oe.map(e=>({label:e.label,value:e.suffix})),be=()=>je.map(e=>({label:e.label,value:e.suffix,color:e.color})),ze=e=>!!A(e)&&!e.startsWith("_("),Ke=e=>{const s=r.useDependency(r.LocaleService).t,n=b.useContext(ce),[i,a]=b.useState(()=>A(e.defaultPattern)||n[0]),[c,o]=b.useState(()=>x(e.defaultPattern||"",2)),[l,v]=b.useState(()=>{var S;const h=le(i);return((S=h.find(T=>z(T.value,e.defaultPattern)))==null?void 0:S.value)||h[0].value}),f=b.useMemo(()=>le(i),[i]),u=b.useMemo(()=>n.map(h=>({label:h,value:h})),[n]);e.action.current=()=>M(l,c);const d=h=>{if(h===void 0)return;a(h);const C=le(h)[0].value;v(C),e.onChange(M(C,c))},g=h=>{h!==void 0&&(v(h),e.onChange(M(h,c)))},y=h=>{o(h||0),e.onChange(M(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(N.InputNumber,{value:c,max:20,min:0,onChange:y})})]}),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(N.Select,{onChange:d,options:u,value:i})})]})]}),p.jsx("div",{className:"m-t-16 label",children:s("sheet.numfmt.negType")}),p.jsx("div",{className:"m-t-8",children:p.jsx(N.SelectList,{onChange:g,options:f,value:l})}),p.jsx("div",{className:"describe m-t-14",children:s("sheet.numfmt.currencyDes")})]})},Ye=e=>{const t=R.getInfo(e);return ye().map(s=>s.value).includes(e)||["date","datetime","time"].includes(t.type)},Je=e=>{const t=b.useMemo(ye,[]),n=r.useDependency(r.LocaleService).t,[i,a]=b.useState(()=>{if(e.defaultPattern){const o=t.find(l=>l.value===e.defaultPattern);if(o)return o.value}return t[0].value});e.action.current=()=>i;const c=o=>{o!==void 0&&(a(o),e.onChange(o))};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(N.SelectList,{value:i,options:t,onChange:c})}),p.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.dateDes")})]})},Xe=e=>!e,Ze=e=>{const s=r.useDependency(r.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)),qe=e=>{const t=r.useDependency(r.LocaleService),s=b.useMemo(be,[]),[n,i]=b.useState(()=>x(e.defaultPattern||"",0)),[a,c]=b.useState(()=>{const u=s.find(d=>z(d.value,e.defaultPattern||""));return(u==null?void 0:u.value)||s[0].value}),o=b.useMemo(()=>M(a,Number(n||0)),[a,n]),l=b.useMemo(()=>!Re(a),[a]),v=u=>{i(u||0),e.onChange(M(a,Number(u||0)))},f=u=>{u!==void 0&&(i(x(u,0)),c(u),e.onChange(u))};return e.action.current=()=>o,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(N.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(N.SelectList,{onChange:f,options:s,value:a})}),p.jsx("div",{className:"describe m-t-14",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},et=e=>{const{defaultValue:t,defaultPattern:s,row:n,col:i}=e.value,a=r.useDependency(r.LocaleService),c=b.useRef(()=>""),o=a.t,l=Fe(),v=b.useMemo(()=>[{label:"sheet.numfmt.general",component:Ze},{label:"sheet.numfmt.accounting",component:Ge},{label:"sheet.numfmt.currency",component:Ke},{label:"sheet.numfmt.date",component:Je},{label:"sheet.numfmt.thousandthPercentile",component:qe}].map(P=>({...P,label:o(P.label)})),[]),[f,u]=b.useState(S),[d,g]=b.useState(()=>`${n}_${i}`),{mark:y,userHabitCurrency:h}=ke(()=>g(`${n}_${i}_userCurrency'`)),C=b.useMemo(()=>{var P;return(P=v.find(w=>w.label===f))==null?void 0:P.component},[f]);function S(){return[Xe,We,ze,Ye,Qe].reduce((w,Et,Rt)=>w||(Et(s)?v[Rt].label:""),"")||v[0].label}const T=v.map(P=>({label:P.label,value:P.label})),B=P=>{u(P),l(()=>e.onChange({type:"change",value:c.current()||""}))},ee=P=>{e.onChange({type:"change",value:P})},de=()=>{const P=c.current()||"",w=A(P);w&&y(w),e.onChange({type:"confirm",value:P})},$=()=>{e.onChange({type:"cancel",value:""})},fe={onChange:ee,defaultValue:t,defaultPattern:s,action:c};return b.useEffect(()=>{u(S()),g(`${n}_${i}`)},[n,i]),p.jsxs("div",{className:"numfmt-panel p-b-20",children:[p.jsxs("div",{children:[p.jsx("div",{className:"label m-t-14",children:o("sheet.numfmt.numfmtType")}),p.jsx("div",{className:"m-t-8",children:p.jsx(N.Select,{onChange:B,options:T,value:f})}),p.jsx("div",{children:C&&p.jsx(ce.Provider,{value:h,children:b.createElement(C,{...fe,key:d})})})]}),p.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[p.jsx(N.Button,{size:"small",onClick:$,className:"m-r-12",children:o("sheet.numfmt.cancel")}),p.jsx(N.Button,{type:"primary",size:"small",onClick:de,children:o("sheet.numfmt.confirm")})]})]})},ue={id:"sheet.command.numfmt.set.percent",type:r.CommandType.COMMAND,handler:async e=>{const t=e.get(r.ICommandService),n=e.get(m.SheetsSelectionsService).getCurrentSelections();if(!n||!n.length)return!1;const i=[],a="0%";return n.forEach(o=>{r.Range.foreach(o.range,(l,v)=>{i.push({row:l,col:v,pattern:a,type:"percent"})})}),await t.executeCommand(D.id,{values:i})}};var tt=Object.defineProperty,nt=Object.getOwnPropertyDescriptor,st=(e,t,s,n)=>{for(var i=n>1?void 0:n?nt(t,s):t,a=e.length-1,c;a>=0;a--)(c=e[a])&&(i=(n?c(t,s,i):c(i))||i);return n&&i&&tt(t,s,i),i},O=(e,t)=>(s,n)=>t(s,n,e);let X=class extends r.Disposable{constructor(t,s,n,i,a,c,o,l,v,f){super();te(this,"_previewPattern","");te(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=s,this._univerInstanceService=n,this._commandService=i,this._selectionManagerService=a,this._renderManagerService=c,this._numfmtService=o,this._componentManager=l,this._sidebarService=v,this._localeService=f,this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener()}openPanel(){var C;const t=this._sidebarService,s=this._selectionManagerService,n=this._commandService,i=this._univerInstanceService,a=this._numfmtService,c=this._localeService,l=(((C=s.getCurrentSelections())==null?void 0:C.map(S=>S.range))||[])[0];if(!l)return!1;const v=i.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET),f=v.getActiveSheet();if(!f)return!1;const u=f.getCellRaw(l.startRow,l.startColumn),d=a.getValue(v.getUnitId(),f.getSheetId(),l.startRow,l.startColumn);let g="";d&&(g=d.pattern);const y=(u==null?void 0:u.t)===r.CellValueType.NUMBER?u.v:12345678,h={onChange:S=>{var T;if(S.type==="change")this._previewPattern=S.value,this._forceUpdate();else if(S.type==="confirm"){const B=((T=s.getCurrentSelections())==null?void 0:T.map($=>$.range))||[],ee={values:[]},de=F(S.value);B.forEach($=>{r.Range.foreach($,(fe,P)=>{ee.values.push({row:fe,col:P,pattern:S.value,type:de})})}),n.executeCommand(D.id,ee),t.close()}else S.type==="cancel"&&t.close()},value:{defaultPattern:g,defaultValue:y,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=t.open({header:{title:c.t("sheet.numfmt.title")},children:{label:ne,...h},onClose:()=>{this._forceUpdate(),n.executeCommand(K.id)}}),!0}_forceUpdate(t){var n;const s=this._renderManagerService.getRenderById(t!=null?t:this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET).getUnitId());s==null||s.with(j.SheetSkeletonManagerService).reCalculate(),(n=s==null?void 0:s.mainComponent)==null||n.makeDirty()}_initCommands(){[se,re,ie,ue,L,K,D].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(ne,et)}_initRealTimeRenderingInterceptor(){const t=new E.Observable(n=>{this._commandService.onCommandExecuted(i=>{i.id===L.id&&n.next(!0),i.id===K.id&&n.next(!1)})}),s=E.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(k.map(n=>n?n.map(i=>i.range):[]))]);this.disposeWithMe(r.toDisposable(s.pipe(k.switchMap(([n,i])=>new E.Observable(a=>{const c=new r.DisposableCollection;return n&&i.length&&a.next({selectionRanges:i,disposableCollection:c}),()=>{c.dispose()}})),k.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:i})=>{var c,o;const a=this._univerInstanceService.getCurrentUnitForType(r.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,g=f(l)||{};if(i.find(y=>y.startColumn<=d&&y.endColumn>=d&&y.startRow<=u&&y.endRow>=u)){const y=v.worksheet.getCellRaw(u,d),h=y==null?void 0:y.v,C=y==null?void 0:y.t;if(h==null||C!==r.CellValueType.NUMBER||this._previewPattern===null)return g;const S=W(this._previewPattern,h,this._localeService.getCurrentLocale());if(S.color){const B=this._themeService.getCurrentTheme()[`${S.color}500`];return{...g,v:S.result,t:r.CellValueType.STRING,s:{cl:{rgb:B}}}}return{...g,v:S.result,t:r.CellValueType.STRING}}return g}})),(o=(c=this._renderManagerService.getRenderById(a.getUnitId()))==null?void 0:c.mainComponent)==null||o.makeDirty()})))}_commandExecutedListener(){const t=[m.RemoveNumfmtMutation.id,m.SetNumfmtMutation.id];this.disposeWithMe(new E.Observable(s=>{const n=this._commandService.onCommandExecuted(i=>{if(t.includes(i.id)){const a=i.params;s.next(a.unitId)}});return()=>n.dispose()}).pipe(k.debounceTime(16)).subscribe(s=>this._forceUpdate(s)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(r.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var s;t||((s=this._sidebarDisposable)==null||s.dispose(),this._sidebarDisposable=null)})}};X=st([r.OnLifecycle(r.LifecycleStages.Rendered,X),O(0,r.Inject(m.SheetInterceptorService)),O(1,r.Inject(r.ThemeService)),O(2,r.IUniverInstanceService),O(3,r.ICommandService),O(4,r.Inject(m.SheetsSelectionsService)),O(5,pe.IRenderManagerService),O(6,m.INumfmtService),O(7,r.Inject(I.ComponentManager)),O(8,I.ISidebarService),O(9,r.Inject(r.LocaleService))],X);var it=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,at=(e,t,s,n)=>{for(var i=n>1?void 0:n?rt(t,s):t,a=e.length-1,c;a>=0;a--)(c=e[a])&&(i=(n?c(t,s,i):c(i))||i);return n&&i&&it(t,s,i),i},V=(e,t)=>(s,n)=>t(s,n,e);const ct=()=>{let e=[];return{add:(i,a,c,o,l)=>e.push({unitId:i,subUnitId:a,row:c,col:o,value:l}),getEffects:()=>e,clean:()=>{e=[]}}};let Z=class extends r.Disposable{constructor(t,s,n,i,a){super();te(this,"_collectEffectMutation",ct());this._sheetInterceptorService=t,this._numfmtService=s,this._univerInstanceService=n,this._injector=i,this._editorBridgeService=a,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe(r.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().BEFORE_CELL_EDIT,{handler:(t,s,n)=>{const i=s.row,a=s.col,c=this._numfmtService.getValue(s.unitId,s.subUnitId,i,a);if(c)switch(F(c.pattern)){case"scientific":case"percent":case"currency":case"grouped":case"number":return s.worksheet.getCellRaw(i,a);case"date":case"time":case"datetime":default:return n&&n(t)}return n(t)}})))}_initInterceptorEditorEnd(){this._editorBridgeService&&this.disposeWithMe(r.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT,{handler:(t,s,n)=>{var f;this._collectEffectMutation.clean();const i=this._numfmtService.getValue(s.unitId,s.subUnitId,s.row,s.col),a=(f=i&&F(i.pattern))!=null?f:"",c=()=>{i&&this._collectEffectMutation.add(s.unitId,s.subUnitId,s.row,s.col,null)};if(!(t!=null&&t.v))return n(t);const o=String(t.v),l=R.parseDate(o)||R.parseTime(o);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:r.CellValueType.NUMBER}}}else(["date","time","datetime"].includes(a)||!ot(o))&&c();return n(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(s){var n;switch(s.id){case m.SetRangeValuesCommand.id:{const i=t._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET),a=i.getUnitId(),c=(n=i.getActiveSheet())==null?void 0:n.getSheetId();if(!c)return{redos:[],undos:[]};const o=t._collectEffectMutation.getEffects();if(!o.length)return{redos:[],undos:[]};const l=o.filter(d=>{var g;return!!((g=d.value)!=null&&g.pattern)}).map(d=>({row:d.row,col:d.col,pattern:d.value.pattern})),v=o.filter(d=>{var g;return!((g=d.value)!=null&&g.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(a,c,l)};f.push(d),u.push(...m.factorySetNumfmtUndoMutation(t._injector,d.params))}if(v){const d={id:m.RemoveNumfmtMutation.id,params:{unitId:a,subUnitId:c,ranges:v}};f.push(d),u.push(...m.factoryRemoveNumfmtUndoMutation(t._injector,d.params))}return{redos:f,undos:u.reverse()}}}return{redos:[],undos:[]}}}))}};Z=at([r.OnLifecycle(r.LifecycleStages.Rendered,Z),V(0,r.Inject(m.SheetInterceptorService)),V(1,r.Inject(m.INumfmtService)),V(2,r.Inject(r.IUniverInstanceService)),V(3,r.Inject(r.Injector)),V(4,r.Optional(j.IEditorBridgeService))],Z);function ot(e){return/^-?\d+(\.\d+)?$/.test(e)}var lt=Object.defineProperty,ut=Object.getOwnPropertyDescriptor,mt=(e,t,s,n)=>{for(var i=n>1?void 0:n?ut(t,s):t,a=e.length-1,c;a>=0;a--)(c=e[a])&&(i=(n?c(t,s,i):c(i))||i);return n&&i&&lt(t,s,i),i},dt=(e,t)=>(s,n)=>t(s,n,e);let Q=class extends r.Disposable{constructor(e){super(),this._localeService=e}};Q=mt([r.OnLifecycle(r.LifecycleStages.Rendered,Q),dt(0,r.Inject(r.LocaleService))],Q);const q=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:R.DEFAULT_TEXT_FORMAT},"|",{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:""}],Ce="sheet.numfmt.moreNumfmtType",Ie="sheet.numfmt.moreNumfmtType.options",ft=e=>{var n;const t=r.useDependency(r.LocaleService),s=(n=e.value)!=null?n:t.t("sheet.numfmt.general");return p.jsx("span",{className:"more-numfmt-type",children:s})},pt=()=>{const e=r.useDependency(r.ICommandService),t=r.useDependency(r.LocaleService),s=r.useInjector(),n=r.useDependency(m.SheetsSelectionsService),i=o=>{const l=n.getCurrentLastSelection();if(!l)return;const v=s.get(pe.ITextSelectionRenderManager),f=l.range,u=[];r.Range.foreach(f,(d,g)=>{o?u.push({row:d,col:g,pattern:o,type:F(o)}):u.push({row:d,col:g})}),e.executeCommand(D.id,{values:u}),v.focus()},a=o=>{if(o===0)i(null);else if(o===q.length-1)e.executeCommand(L.id);else{const l=q[o];l.pattern&&i(l.pattern)}},c=1220;return p.jsx("div",{className:"more-numfmt-type-options",children:q.map((o,l)=>o==="|"?p.jsx("div",{className:"line m-t-4",onClick:v=>v.stopPropagation()},l):p.jsxs("div",{className:"option-item m-t-4",onClick:()=>{a(l)},children:[p.jsx("div",{children:t.t(o.label)}),p.jsx("div",{className:"m-l-26",children:o.pattern?W(o.pattern||"",c,t.getCurrentLocale()).result:""})]},l))})},vt=e=>({icon:"RmbSingle",id:ie.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:I.MenuItemType.BUTTON,group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[I.MenuPosition.TOOLBAR_START],hidden$:I.getMenuHiddenObservable(e,r.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),ht=e=>({icon:"AddDigitsSingle",id:se.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:I.MenuItemType.BUTTON,positions:[I.MenuPosition.TOOLBAR_START],group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,hidden$:I.getMenuHiddenObservable(e,r.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),St=e=>({icon:"ReduceDigitsSingle",id:re.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:I.MenuItemType.BUTTON,group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[I.MenuPosition.TOOLBAR_START],hidden$:I.getMenuHiddenObservable(e,r.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),gt=e=>({icon:"PercentSingle",id:ue.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:I.MenuItemType.BUTTON,group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[I.MenuPosition.TOOLBAR_START],hidden$:I.getMenuHiddenObservable(e,r.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),_t=e=>{const t=e.get(m.INumfmtService),s=e.get(r.IUniverInstanceService),n=e.get(r.ICommandService),i=e.get(r.LocaleService),a=e.get(m.SheetsSelectionsService),c=j.deriveStateFromActiveSheet$(s,"",({workbook:o,worksheet:l})=>new E.Observable(v=>E.merge(a.selectionMoveEnd$,new E.Observable(f=>{const u=[m.RemoveNumfmtMutation.id,m.SetNumfmtMutation.id],d=n.onCommandExecuted(g=>{u.includes(g.id)&&f.next(null)});return()=>d.dispose()})).subscribe(()=>{const f=a.getCurrentSelections();if(f&&f[0]){const u=f[0].range,d=u.startRow,g=u.startColumn,y=t.getValue(o.getUnitId(),l.getSheetId(),d,g),h=y==null?void 0:y.pattern;let C=i.t("sheet.numfmt.general");if(h){const S=q.filter(T=>typeof T=="object"&&T.pattern).find(T=>z(h,T.pattern));S&&typeof S=="object"&&S.pattern?C=i.t(S.label):C=i.t("sheet.numfmt.moreFmt")}v.next(C)}})));return{label:Ce,id:L.id,tooltip:"sheet.numfmt.title",type:I.MenuItemType.SELECTOR,group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[I.MenuPosition.TOOLBAR_START],selections:[{label:{name:Ie,hoverable:!1}}],value$:c,hidden$:I.getMenuHiddenObservable(e,r.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetSetCellStylePermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}};var yt=Object.defineProperty,bt=Object.getOwnPropertyDescriptor,Ct=(e,t,s,n)=>{for(var i=n>1?void 0:n?bt(t,s):t,a=e.length-1,c;a>=0;a--)(c=e[a])&&(i=(n?c(t,s,i):c(i))||i);return n&&i&&yt(t,s,i),i},me=(e,t)=>(s,n)=>t(s,n,e);const It={};let H=class extends r.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;[gt,ht,St,vt,_t].forEach(t=>{this.disposeWithMe(this._menuService.addMenuItem(t(this._injector),e))}),this.disposeWithMe(this._componentManager.register(Ce,ft)),this.disposeWithMe(this._componentManager.register(Ie,pt))}};H=Ct([r.OnLifecycle(r.LifecycleStages.Rendered,H),me(1,r.Inject(r.Injector)),me(2,r.Inject(I.ComponentManager)),me(3,r.Inject(I.IMenuService))],H);var Te=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,Pt=(e,t,s)=>t in e?Te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Mt=(e,t,s,n)=>{for(var i=n>1?void 0:n?Tt(t,s):t,a=e.length-1,c;a>=0;a--)(c=e[a])&&(i=(n?c(t,s,i):c(i))||i);return n&&i&&Te(t,s,i),i},Nt=(e,t)=>(s,n)=>t(s,n,e),Pe=(e,t,s)=>Pt(e,typeof t!="symbol"?t+"":t,s);_.UniverSheetsNumfmtPlugin=class extends r.Plugin{constructor(t={},s){super(),this._config=t,this._injector=s,this._config=r.Tools.deepMerge({},It,this._config)}onStarting(){this._injector.add([ae,{useClass:X,lazy:!1}]),this._injector.add([Z]),this._injector.add([J]),this._injector.add([G]),this._injector.add([Q]),this._injector.add([H,{useFactory:()=>this._injector.createInstance(H,this._config)}])}},Pe(_.UniverSheetsNumfmtPlugin,"pluginName",ne),Pe(_.UniverSheetsNumfmtPlugin,"type",r.UniverInstanceType.UNIVER_SHEET),_.UniverSheetsNumfmtPlugin=Mt([r.DependentOn(m.UniverSheetsPlugin,j.UniverSheetsUIPlugin),Nt(1,r.Inject(r.Injector))],_.UniverSheetsNumfmtPlugin),_.AddDecimalCommand=se,_.CloseNumfmtPanelOperator=K,_.OpenNumfmtPanelOperator=L,_.SetCurrencyCommand=ie,_.SetNumfmtCommand=D,_.SetPercentCommand=ue,_.SubtractDecimalCommand=re,_.getPatternPreview=W,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-numfmt",
3
- "version": "0.2.3",
3
+ "version": "0.2.4-alpha.0",
4
4
  "private": false,
5
5
  "description": "UniverSheet numfmt plugin",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -50,38 +50,36 @@
50
50
  "lib"
51
51
  ],
52
52
  "peerDependencies": {
53
- "@wendellhu/redi": "0.15.5",
54
53
  "react": "^16.9.0 || ^17.0.0 || ^18.0.0",
55
54
  "rxjs": ">=7.0.0",
56
- "@univerjs/core": "0.2.3",
57
- "@univerjs/engine-numfmt": "0.2.3",
58
- "@univerjs/design": "0.2.3",
59
- "@univerjs/engine-render": "0.2.3",
60
- "@univerjs/sheets-ui": "0.2.3",
61
- "@univerjs/ui": "0.2.3",
62
- "@univerjs/sheets": "0.2.3"
55
+ "@univerjs/core": "0.2.4-alpha.0",
56
+ "@univerjs/design": "0.2.4-alpha.0",
57
+ "@univerjs/engine-numfmt": "0.2.4-alpha.0",
58
+ "@univerjs/engine-render": "0.2.4-alpha.0",
59
+ "@univerjs/sheets": "0.2.4-alpha.0",
60
+ "@univerjs/sheets-ui": "0.2.4-alpha.0",
61
+ "@univerjs/ui": "0.2.4-alpha.0"
63
62
  },
64
63
  "dependencies": {
65
- "@univerjs/icons": "^0.1.58"
64
+ "@univerjs/icons": "^0.1.64"
66
65
  },
67
66
  "devDependencies": {
68
67
  "@types/react": "^18.3.3",
69
- "@wendellhu/redi": "0.15.5",
70
68
  "less": "^4.2.0",
71
69
  "react": "18.3.1",
72
70
  "rxjs": "^7.8.1",
73
71
  "typescript": "^5.5.3",
74
- "vite": "^5.3.3",
75
- "vitest": "^1.6.0",
76
- "@univerjs/core": "0.2.3",
77
- "@univerjs/design": "0.2.3",
78
- "@univerjs/engine-formula": "0.2.3",
79
- "@univerjs/engine-render": "0.2.3",
80
- "@univerjs/shared": "0.2.3",
81
- "@univerjs/engine-numfmt": "0.2.3",
82
- "@univerjs/sheets": "0.2.3",
83
- "@univerjs/ui": "0.2.3",
84
- "@univerjs/sheets-ui": "0.2.3"
72
+ "vite": "^5.3.4",
73
+ "vitest": "^2.0.3",
74
+ "@univerjs/core": "0.2.4-alpha.0",
75
+ "@univerjs/design": "0.2.4-alpha.0",
76
+ "@univerjs/engine-formula": "0.2.4-alpha.0",
77
+ "@univerjs/engine-numfmt": "0.2.4-alpha.0",
78
+ "@univerjs/engine-render": "0.2.4-alpha.0",
79
+ "@univerjs/shared": "0.2.4-alpha.0",
80
+ "@univerjs/sheets": "0.2.4-alpha.0",
81
+ "@univerjs/sheets-ui": "0.2.4-alpha.0",
82
+ "@univerjs/ui": "0.2.4-alpha.0"
85
83
  },
86
84
  "univerSpace": {
87
85
  ".": {