@univerjs/sheets-numfmt 0.1.11 → 0.1.13

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 Le=Object.defineProperty;var Ue=(e,t,r)=>t in e?Le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var V=(e,t,r)=>(Ue(e,typeof t!="symbol"?t+"":t,r),r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),v=require("@univerjs/sheets"),b=require("@wendellhu/redi"),te=require("@univerjs/sheets-ui"),B=require("rxjs/operators"),E=require("@univerjs/engine-numfmt"),ve=require("@univerjs/engine-render"),I=require("@univerjs/ui"),w=require("rxjs"),g=require("react"),x=require("@univerjs/design"),O=require("@wendellhu/redi/react-bindings"),L={id:"sheet.command.numfmt.set.numfmt",type:c.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;const r=e.get(c.ICommandService),n=e.get(c.IUniverInstanceService),s=e.get(c.IUndoRedoService),i=v.getSheetCommandTarget(n,t);if(!i)return!1;const{unitId:a,subUnitId:l}=i,u=t.values.filter(h=>!!h.pattern),m=t.values.filter(h=>!h.pattern),f=v.transformCellsToRange(a,l,u),o={unitId:a,subUnitId:l,ranges:m.map(h=>({startColumn:h.col,startRow:h.row,endColumn:h.col,endRow:h.row}))},p=[],_=[];if(u.length){Object.keys(f.values).forEach(S=>{const C=f.values[S];C.ranges=v.rangeMerge(C.ranges)}),p.push({id:v.SetNumfmtMutation.id,params:f});const h=v.factorySetNumfmtUndoMutation(e,f);_.push(...h)}if(m.length){o.ranges=v.rangeMerge(o.ranges),p.push({id:v.RemoveNumfmtMutation.id,params:o});const h=v.factoryRemoveNumfmtUndoMutation(e,o);_.push(...h)}const y=c.sequenceExecute(p,r).result;return y&&s.pushUndoRedo({unitID:a,undoMutations:_,redoMutations:p}),y}},Ve={sheet:{numfmt:{percent:"Percentage",title:"Number format",numfmtType:"Format types",cancel:"Cancel",confirm:"Confirm",general:"General",accounting:"Accounting",text:"Text",number:"Number",currency:"Currency",date:"Date",time:"Time",thousandthPercentile:"Thousands separator",preview:"Preview",dateTime:"Date and time",decimalLength:"Decimal places",currencyType:"Currency Symbol",moreFmt:"More Formats",financialValue:"Financial value",roundingCurrency:"Rounding up the currency",timeDuration:"Duration Time",currencyDes:"The currency format is used to represent general currency values. The accounting format aligns a column of values with decimal points",accountingDes:"The accounting number format aligns a column of values with currency symbols and decimal points",dateType:"Date Type",dateDes:"The date format presents date and time series values as date values.",negType:"A negative number type",generalDes:"The regular format does not contain any specific number format.",thousandthPercentileDes:"The percentile format is used for the representation of ordinary numbers. Monetary and accounting formats provide a specialized format for monetary value calculations.",addDecimal:"Increase decimal places",subtractDecimal:"Decreasing decimal places"}}},ge=Ve,He={sheet:{numfmt:{percent:"百分比",title:"数字格式",numfmtType:"格式类型",cancel:"取消",confirm:"确认",general:"常规",accounting:"会计",text:"文本",number:"数值",currency:"货币",date:"日期",time:"时间",thousandthPercentile:"千分位符",preview:"示例",dateTime:"日期时间",decimalLength:"小数位数",currencyType:"货币类型",moreFmt:"更多格式",financialValue:"财务数值",roundingCurrency:"货币取整",timeDuration:"持续时间",currencyDes:"货币格式用于表示一般货币数值。会计格式可以对一列数值进行小数点对齐",accountingDes:"会计数字格式可对一列数值进行货币符号和小数点对齐",dateType:"日期类型",dateDes:"日期格式将日期和时间系列数值品示为日期值。",negType:"负数类型",generalDes:"常规格式不包含任何特定的数字格式。",thousandthPercentileDes:"千分位符格式用于一般数字的表示。货币和会计格式则提供货币值计算的专用格式。",addDecimal:"增加小数位",subtractDecimal:"减少小数位"}}},Se=He,Ae={sheet:{numfmt:{percent:"Процент",title:"Формат числа",numfmtType:"Типы форматов",cancel:"Отмена",confirm:"Подтвердить",general:"Общий",accounting:"Бухгалтерский",text:"Текст",number:"Число",currency:"Валюта",date:"Дата",time:"Время",thousandthPercentile:"Разделитель тысяч",preview:"Предпросмотр",dateTime:"Дата и время",decimalLength:"Десятичные знаки",currencyType:"Символ валюты",moreFmt:"Другие форматы",financialValue:"Финансовое значение",roundingCurrency:"Округление валюты",timeDuration:"Продолжительность времени",currencyDes:"Формат валюты используется для представления общих значений валюты. Формат бухгалтерского учета выравнивает столбец значений по десятичным точкам.",accountingDes:"Формат бухгалтерских чисел выравнивает столбец значений по символам валюты и десятичным точкам.",dateType:"Тип даты",dateDes:"Формат даты представляет значения времени и даты как значения даты.",negType:"Тип отрицательного числа",generalDes:"Обычный формат не содержит никакого специфического формата числа.",thousandthPercentileDes:"Формат процента используется для представления обычных чисел. Монетарные и бухгалтерские форматы предоставляют специальный формат для вычислений монетарных значений.",addDecimal:"Увеличить количество десятичных знаков",subtractDecimal:"Уменьшить количество десятичных знаков"}}},Be=Ae,ue="SHEET_NUMFMT_PLUGIN",Q=e=>E.getInfo(e).type||"unknown",ne=(e,t,r)=>{const n=E.getInfo(e),s=r===c.LocaleType.ZH_CN?"zh-CN":"en",i=n._partitions[1],a=E.format(e,t,{locale:s});return t<0?{result:a,color:i.color}:{result:a}};var ke=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,ze=(e,t,r,n)=>{for(var s=n>1?void 0:n?Fe(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&ke(t,r,s),s},A=(e,t)=>(r,n)=>t(r,n,e);let W=class extends c.Disposable{constructor(e,t,r,n,s,i){super(),this._sheetInterceptorService=e,this._themeService=t,this._sheetSkeletonManagerService=r,this._commandService=n,this._numfmtService=s,this._localeService=i,this._initInterceptorCellContent()}_initInterceptorCellContent(){const e=new c.ObjectMatrix;this.disposeWithMe(this._sheetInterceptorService.intercept(v.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(t,r,n)=>{const s=r.unitId,i=r.subUnitId,a=this._numfmtService.getValue(s,i,r.row,r.col);if(!a)return n(t);const l=t;if(!l||l.t!==c.CellValueType.NUMBER)return n(t);let u="";const m=e.getValue(r.row,r.col);if(m&&m.parameters===l.v)return n({...t,...m.result});const f=ne(a.pattern,Number(l.v),this._localeService.getCurrentLocale());if(u=f.result,!u)return n(t);const o={v:u};if(f.color){const p=this._themeService.getCurrentTheme()[`${f.color}500`];p&&(o.interceptorStyle={cl:{rgb:p}})}return e.setValue(r.row,r.col,{result:o,parameters:l.v}),n({...t,...o})}})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===v.SetNumfmtMutation.id){const r=t.params;Object.keys(r.values).forEach(n=>{r.values[n].ranges.forEach(i=>{c.Range.foreach(i,(a,l)=>{e.realDeleteValue(a,l)})})})}})),this.disposeWithMe(c.toDisposable(this._sheetSkeletonManagerService.currentSkeleton$.pipe(B.map(t=>t==null?void 0:t.sheetId),B.distinctUntilChanged()).subscribe(()=>{e.reset()})))}};W=ze([c.OnLifecycle(c.LifecycleStages.Rendered,W),A(0,b.Inject(v.SheetInterceptorService)),A(1,b.Inject(c.ThemeService)),A(2,b.Inject(te.SheetSkeletonManagerService)),A(3,b.Inject(c.ICommandService)),A(4,b.Inject(v.INumfmtService)),A(5,b.Inject(c.LocaleService))],W);const U=(e,t=0)=>{var n;return e&&(n=E.getInfo(e).maxDecimals)!=null?n:t},re=(e,t)=>{if(e&&!t||!e&&t)return!1;const r=m=>m.reduce((f,o)=>{if(f.isEnd)return f;const p=o.value||o.num;return o.type==="point"?(f.isEnd=!0,f):{...f,result:f.result+p}},{isEnd:!1,result:""}).result,n=E.getInfo(e)._partitions,s=E.getInfo(t)._partitions,i=r(n[0].tokens),a=r(s[0].tokens),l=r(n[1].tokens),u=r(s[1].tokens);return i===a&&l===u&&n[1].color===s[1].color},he=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?".":""}${he(Number(t||0))}`):/0([^0]?)|0$/.test(n)?n.replace(/0([^0]+)|0$/,`0${t>0?".":""}${he(Number(t||0))}$1`):n).join(";"),qe=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),ye={id:"sheet.command.numfmt.add.decimal.command",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),r=e.get(v.SelectionManagerService),n=e.get(v.INumfmtService),s=e.get(c.IUniverInstanceService),i=r.getSelections();if(!i||!i.length)return!1;const a=v.getSheetCommandTarget(s);if(!a)return!1;const{unitId:l,subUnitId:u}=a;let m=0;i.forEach(_=>{c.Range.foreach(_.range,(y,h)=>{const S=n.getValue(l,u,y,h);if(!S)return;const C=U(S.pattern);m=C>m?C:m})});const f=m+1,o=N(`0${f>0?".0":""}`,f),p=[];return i.forEach(_=>{c.Range.foreach(_.range,(y,h)=>{const S=n.getValue(l,u,y,h);if(!S)p.push({row:y,col:h,pattern:o});else{const C=U(S.pattern),M=N(S.pattern,C+1);M!==S.pattern&&p.push({row:y,col:h,pattern:M})}})}),p.length?await t.executeCommand(L.id,{values:p}):!1}},We=[{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"}],Ge=[{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"}],Ce=[{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"}],_e={id:"sheet.command.numfmt.set.currency",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),n=e.get(v.SelectionManagerService).getSelections();if(!n||!n.length)return!1;const s=[],i=Ce[0].suffix("¥");return n.forEach(l=>{c.Range.foreach(l.range,(u,m)=>{s.push({row:u,col:m,pattern:i,type:"currency"})})}),await t.executeCommand(L.id,{values:s})}},be={id:"sheet.command.numfmt.subtract.decimal.command",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),r=e.get(v.SelectionManagerService),n=e.get(v.INumfmtService),s=e.get(c.IUniverInstanceService),i=r.getSelections();if(!i||!i.length)return!1;const a=v.getSheetCommandTarget(s);if(!a)return!1;const{unitId:l,subUnitId:u}=a;let m=0;i.forEach(y=>{c.Range.foreach(y.range,(h,S)=>{const C=n.getValue(l,u,h,S);if(!C)return;const M=U(C.pattern);m=M>m?M:m})});const f=m-1,o=N(`0${f>0?".0":"."}`,f),p=[];return i.forEach(y=>{c.Range.foreach(y.range,(h,S)=>{const C=n.getValue(l,u,h,S);if(!C)p.push({row:h,col:S,pattern:o});else{const M=U(C.pattern);p.push({row:h,col:S,pattern:N(C.pattern,M-1)})}})}),await t.executeCommand(L.id,{values:p})}},ce={id:"sheet.operation.close.numfmt.panel",type:c.CommandType.OPERATION,handler:()=>!0},de=b.createIdentifier("INumfmtController");c.runOnLifecycle(c.LifecycleStages.Rendered,de);const X={id:"sheet.operation.open.numfmt.panel",type:c.CommandType.OPERATION,handler:e=>(e.get(de).openPanel(),!0)};var Ie={exports:{}},se={};/**
1
+ "use strict";var Re=Object.defineProperty;var Ee=(e,t,r)=>t in e?Re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var U=(e,t,r)=>(Ee(e,typeof t!="symbol"?t+"":t,r),r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),m=require("@univerjs/sheets"),C=require("@wendellhu/redi"),O=require("@univerjs/sheets-ui"),k=require("rxjs/operators"),j=require("@univerjs/engine-numfmt"),fe=require("@univerjs/engine-render"),I=require("@univerjs/ui"),x=require("rxjs"),b=require("react"),E=require("@univerjs/design"),N=require("@wendellhu/redi/react-bindings"),D={id:"sheet.command.numfmt.set.numfmt",type:c.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;const r=e.get(c.ICommandService),n=e.get(c.IUniverInstanceService),s=e.get(c.IUndoRedoService),i=m.getSheetCommandTarget(n,t);if(!i)return!1;const{unitId:o,subUnitId:l}=i,u=t.values.filter(p=>!!p.pattern),d=t.values.filter(p=>!p.pattern),h=m.transformCellsToRange(o,l,u),a={unitId:o,subUnitId:l,ranges:d.map(p=>({startColumn:p.col,startRow:p.row,endColumn:p.col,endRow:p.row}))},v=[],y=[];if(u.length){Object.keys(h.values).forEach(S=>{const g=h.values[S];g.ranges=m.rangeMerge(g.ranges)}),v.push({id:m.SetNumfmtMutation.id,params:h});const p=m.factorySetNumfmtUndoMutation(e,h);y.push(...p)}if(d.length){a.ranges=m.rangeMerge(a.ranges),v.push({id:m.RemoveNumfmtMutation.id,params:a});const p=m.factoryRemoveNumfmtUndoMutation(e,a);y.push(...p)}const _=c.sequenceExecute(v,r).result;return _&&s.pushUndoRedo({unitID:o,undoMutations:y,redoMutations:v}),_}},ae="SHEET_NUMFMT_PLUGIN",J=e=>j.getInfo(e).type||"unknown",X=(e,t,r)=>{const n=j.getInfo(e),s=r===c.LocaleType.ZH_CN?"zh-CN":"en",i=n._partitions[1],o=j.format(e,t,{locale:s});return t<0?{result:o,color:i.color}:{result:o}};var Oe=Object.defineProperty,je=Object.getOwnPropertyDescriptor,xe=(e,t,r,n)=>{for(var s=n>1?void 0:n?je(t,r):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&Oe(t,r,s),s},L=(e,t)=>(r,n)=>t(r,n,e);let q=class extends c.Disposable{constructor(e,t,r,n,s,i){super(),this._sheetInterceptorService=e,this._themeService=t,this._sheetSkeletonManagerService=r,this._commandService=n,this._numfmtService=s,this._localeService=i,this._initInterceptorCellContent()}_initInterceptorCellContent(){const e=new c.ObjectMatrix;this.disposeWithMe(this._sheetInterceptorService.intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(t,r,n)=>{const s=r.unitId,i=r.subUnitId,o=this._numfmtService.getValue(s,i,r.row,r.col);if(!o)return n(t);const l=t;if(!l||l.t!==c.CellValueType.NUMBER)return n(t);let u="";const d=e.getValue(r.row,r.col);if(d&&d.parameters===l.v)return n({...t,...d.result});const h=X(o.pattern,Number(l.v),this._localeService.getCurrentLocale());if(u=h.result,!u)return n(t);const a={v:u};if(h.color){const v=this._themeService.getCurrentTheme()[`${h.color}500`];v&&(a.interceptorStyle={cl:{rgb:v}})}return e.setValue(r.row,r.col,{result:a,parameters:l.v}),n({...t,...a})},priority:10})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===m.SetNumfmtMutation.id){const r=t.params;Object.keys(r.values).forEach(n=>{r.values[n].ranges.forEach(i=>{c.Range.foreach(i,(o,l)=>{e.realDeleteValue(o,l)})})})}})),this.disposeWithMe(c.toDisposable(this._sheetSkeletonManagerService.currentSkeleton$.pipe(k.map(t=>t==null?void 0:t.sheetId),k.distinctUntilChanged()).subscribe(()=>{e.reset()})))}};q=xe([c.OnLifecycle(c.LifecycleStages.Rendered,q),L(0,C.Inject(m.SheetInterceptorService)),L(1,C.Inject(c.ThemeService)),L(2,C.Inject(O.SheetSkeletonManagerService)),L(3,C.Inject(c.ICommandService)),L(4,C.Inject(m.INumfmtService)),L(5,C.Inject(c.LocaleService))],q);const $=(e,t=0)=>{var n;return e&&(n=j.getInfo(e).maxDecimals)!=null?n:t},ee=(e,t)=>{if(e&&!t||!e&&t)return!1;const r=d=>d.reduce((h,a)=>{if(h.isEnd)return h;const v=a.value||a.num;return a.type==="point"?(h.isEnd=!0,h):{...h,result:h.result+v}},{isEnd:!1,result:""}).result,n=j.getInfo(e)._partitions,s=j.getInfo(t)._partitions,i=r(n[0].tokens),o=r(s[0].tokens),l=r(n[1].tokens),u=r(s[1].tokens);return i===o&&l===u&&n[1].color===s[1].color},de=e=>new Array(Math.min(Math.max(0,Number(e)),30)).fill(0).join(""),P=(e,t)=>e.split(";").map(n=>/\.0?/.test(n)?n.replace(/\.0*/g,`${t>0?".":""}${de(Number(t||0))}`):/0([^0]?)|0$/.test(n)?n.replace(/0([^0]+)|0$/,`0${t>0?".":""}${de(Number(t||0))}$1`):n).join(";"),De=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),pe={id:"sheet.command.numfmt.add.decimal.command",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),r=e.get(m.SelectionManagerService),n=e.get(m.INumfmtService),s=e.get(c.IUniverInstanceService),i=r.getSelections();if(!i||!i.length)return!1;const o=m.getSheetCommandTarget(s);if(!o)return!1;const{unitId:l,subUnitId:u}=o;let d=0;i.forEach(y=>{c.Range.foreach(y.range,(_,p)=>{const S=n.getValue(l,u,_,p);if(!S)return;const g=$(S.pattern);d=g>d?g:d})});const h=d+1,a=P(`0${h>0?".0":""}`,h),v=[];return i.forEach(y=>{c.Range.foreach(y.range,(_,p)=>{const S=n.getValue(l,u,_,p);if(!S)v.push({row:_,col:p,pattern:a});else{const g=$(S.pattern),M=P(S.pattern,g+1);M!==S.pattern&&v.push({row:_,col:p,pattern:M})}})}),v.length?await t.executeCommand(D.id,{values:v}):!1}},$e=[{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"}],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"}],Se={id:"sheet.command.numfmt.set.currency",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),n=e.get(m.SelectionManagerService).getSelections();if(!n||!n.length)return!1;const s=[],i=ve[0].suffix("¥");return n.forEach(l=>{c.Range.foreach(l.range,(u,d)=>{s.push({row:u,col:d,pattern:i,type:"currency"})})}),await t.executeCommand(D.id,{values:s})}},ge={id:"sheet.command.numfmt.subtract.decimal.command",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),r=e.get(m.SelectionManagerService),n=e.get(m.INumfmtService),s=e.get(c.IUniverInstanceService),i=r.getSelections();if(!i||!i.length)return!1;const o=m.getSheetCommandTarget(s);if(!o)return!1;const{unitId:l,subUnitId:u}=o;let d=0;i.forEach(_=>{c.Range.foreach(_.range,(p,S)=>{const g=n.getValue(l,u,p,S);if(!g)return;const M=$(g.pattern);d=M>d?M:d})});const h=d-1,a=P(`0${h>0?".0":"."}`,h),v=[];return i.forEach(_=>{c.Range.foreach(_.range,(p,S)=>{const g=n.getValue(l,u,p,S);if(!g)v.push({row:p,col:S,pattern:a});else{const M=$(g.pattern);v.push({row:p,col:S,pattern:P(g.pattern,M-1)})}})}),await t.executeCommand(D.id,{values:v})}},ie={id:"sheet.operation.close.numfmt.panel",type:c.CommandType.OPERATION,handler:()=>!0},ue=C.createIdentifier("INumfmtController");c.runOnLifecycle(c.LifecycleStages.Rendered,ue);const Z={id:"sheet.operation.open.numfmt.panel",type:c.CommandType.OPERATION,handler:e=>(e.get(ue).openPanel(),!0)};var _e={exports:{}},te={};/**
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 Ke=g,Ze=Symbol.for("react.element"),Ye=Symbol.for("react.fragment"),Je=Object.prototype.hasOwnProperty,Qe=Ke.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0};function Me(e,t,r){var n,s={},i=null,a=null;r!==void 0&&(i=""+r),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(a=t.ref);for(n in t)Je.call(t,n)&&!Xe.hasOwnProperty(n)&&(s[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)s[n]===void 0&&(s[n]=t[n]);return{$$typeof:Ze,type:e,key:i,ref:a,props:s,_owner:Qe.current}}se.Fragment=Ye;se.jsx=Me;se.jsxs=Me;Ie.exports=se;var d=Ie.exports;const fe=g.createContext([]),me=["$","£","¥","¤","֏","؋","৳","฿","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"];var et=Object.defineProperty,tt=Object.getOwnPropertyDescriptor,nt=(e,t,r,n)=>{for(var s=n>1?void 0:n?tt(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&et(t,r,s),s},rt=(e,t)=>(r,n)=>t(r,n,e);let ee=class{constructor(e){this._localStorageService=e}_getKey(e){return`userHabitController_${e}`}async addHabit(e,t){const r=this._getKey(e);return this._localStorageService.getItem(r).then(n=>{n||this._localStorageService.setItem(r,t)})}markHabit(e,t){const r=this._getKey(e);this._localStorageService.getItem(r).then(n=>{if(n){const s=n.findIndex(i=>i===t);s>-1&&n.splice(s,1),n.unshift(t),this._localStorageService.setItem(r,n)}})}async getHabit(e,t){const r=this._getKey(e),n=await this._localStorageService.getItem(r);if(t&&n){const s=n.map((i,a,l)=>{const u=l.length;return{value:i,priority:u-a}});return t.sort((i,a)=>{var m,f;const l=((m=s.find(o=>o.value===i))==null?void 0:m.priority)||-1;return(((f=s.find(o=>o.value===a))==null?void 0:f.priority)||-1)-l})}return n||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};ee=nt([rt(0,b.Inject(c.ILocalStorageService))],ee);const pe="numfmtCurrency",st=e=>{const t=O.useDependency(ee),[r,n]=g.useState(me);return g.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(pe,[...me]).then(i=>{n(i),e&&e(i)})})},[]),{userHabitCurrency:r,mark:i=>{t.markHabit(pe,i)}}},it=()=>{const e=g.useRef([]),[t,r]=g.useState({});return g.useEffect(()=>{e.current.forEach(s=>{s()}),e.current=[]},[t]),s=>{e.current.push(s),r({})}},z=e=>me.find(r=>e.includes(r)),at=e=>!!z(e)&&e.startsWith("_("),ct=e=>{const[t,r]=g.useState(()=>U(e.defaultPattern||"",2)),n=g.useContext(fe),[s,i]=g.useState(()=>z(e.defaultPattern)||n[0]),a=g.useMemo(()=>n.map(o=>({label:o,value:o})),[]),u=O.useDependency(c.LocaleService).t;e.action.current=()=>N(`_("${s}"* #,##0${t>0?".0":""}_)`,t);const m=o=>{i(o),e.onChange(N(`_("${o}"* #,##0${t>0?".0":""}_)`,t))},f=o=>{const p=o||0;r(p),e.onChange(N(`_("${s}"* #,##0${p>0?".0":""}_)`,p))};return d.jsxs("div",{children:[d.jsxs("div",{className:"m-t-16 options ",children:[d.jsxs("div",{className:"option",children:[d.jsx("div",{className:"label",children:u("sheet.numfmt.decimalLength")}),d.jsx("div",{className:"m-t-8 w-120",children:d.jsx(x.InputNumber,{value:t,max:20,min:0,onChange:f})})]}),d.jsxs("div",{className:"option",children:[d.jsx("div",{className:"label",children:u("sheet.numfmt.currencyType")}),d.jsx("div",{className:"m-t-8 w-140",children:d.jsx(x.Select,{onChange:m,options:a,value:s})})]})]}),d.jsx("div",{className:"describe m-t-14",children:u("sheet.numfmt.accountingDes")})]})},oe=e=>Ce.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),Te=()=>We.map(e=>({label:e.label,value:e.suffix})),Ne=()=>Ge.map(e=>({label:e.label,value:e.suffix,color:e.color})),ot=e=>!!z(e)&&!e.startsWith("_("),lt=e=>{const r=O.useDependency(c.LocaleService).t,n=g.useContext(fe),[s,i]=g.useState(()=>z(e.defaultPattern)||n[0]),[a,l]=g.useState(()=>U(e.defaultPattern||"",2)),[u,m]=g.useState(()=>{var C;const h=oe(s);return((C=h.find(M=>re(M.value,e.defaultPattern)))==null?void 0:C.value)||h[0].value}),f=g.useMemo(()=>oe(s),[s]),o=g.useMemo(()=>n.map(h=>({label:h,value:h})),[n]);e.action.current=()=>N(u,a);const p=h=>{i(h);const S=oe(h)[0].value;m(S),e.onChange(N(S,a))},_=h=>{m(h),e.onChange(N(h,a))},y=h=>{l(h||0),e.onChange(N(u,h||0))};return d.jsxs("div",{children:[d.jsxs("div",{className:"m-t-16 options ",children:[d.jsxs("div",{className:"option",children:[d.jsx("div",{className:"label",children:r("sheet.numfmt.decimalLength")}),d.jsx("div",{className:"m-t-8 w-120",children:d.jsx(x.InputNumber,{value:a,max:20,min:0,onChange:y})})]}),d.jsxs("div",{className:"option",children:[d.jsx("div",{className:"label",children:r("sheet.numfmt.currencyType")}),d.jsx("div",{className:"m-t-8 w-140",children:d.jsx(x.Select,{onChange:p,options:o,value:s})})]})]}),d.jsx("div",{className:"m-t-16 label",children:r("sheet.numfmt.negType")}),d.jsx("div",{className:"m-t-8",children:d.jsx(x.SelectList,{onChange:_,options:f,value:u})}),d.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.currencyDes")})]})},ut=e=>{const t=E.getInfo(e);return Te().map(r=>r.value).includes(e)||["date","datetime","time"].includes(t.type)},mt=e=>{const t=g.useMemo(Te,[]),n=O.useDependency(c.LocaleService).t,[s,i]=g.useState(()=>{if(e.defaultPattern){const l=t.find(u=>u.value===e.defaultPattern);if(l)return l.value}return t[0].value});e.action.current=()=>s;const a=l=>{i(l),e.onChange(l)};return d.jsxs("div",{children:[d.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.dateType")}),d.jsx("div",{className:"m-t-8",children:d.jsx(x.SelectList,{value:s,options:t,onChange:a})}),d.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.dateDes")})]})},dt=e=>!e,ft=e=>{const r=O.useDependency(c.LocaleService).t;return e.action.current=()=>"",d.jsx("div",{children:d.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.generalDes")})})},ht=e=>Ne().some(t=>re(t.value,e)),pt=e=>{const t=O.useDependency(c.LocaleService),r=g.useMemo(Ne,[]),[n,s]=g.useState(()=>U(e.defaultPattern||"",0)),[i,a]=g.useState(()=>{const o=r.find(p=>re(p.value,e.defaultPattern||""));return(o==null?void 0:o.value)||r[0].value}),l=g.useMemo(()=>N(i,Number(n||0)),[i,n]),u=g.useMemo(()=>!qe(i),[i]),m=o=>{s(o||0),e.onChange(N(i,Number(o||0)))},f=o=>{s(U(o,0)),a(o),e.onChange(o)};return e.action.current=()=>l,d.jsxs("div",{children:[d.jsx("div",{className:"m-t-16 label",children:t.t("sheet.numfmt.decimalLength")}),d.jsx("div",{className:"m-t-8",children:d.jsx(x.InputNumber,{disabled:u,value:n,max:20,min:0,onChange:m})}),d.jsxs("div",{className:"m-t-16 label",children:[" ",t.t("sheet.numfmt.negType")]}),d.jsx("div",{className:"m-t-8",children:d.jsx(x.SelectList,{onChange:f,options:r,value:i})}),d.jsx("div",{className:"describe m-t-14",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},vt=e=>{const{defaultValue:t,defaultPattern:r,row:n,col:s}=e.value,i=O.useDependency(c.LocaleService),a=g.useRef(()=>""),l=i.t,u=it(),m=g.useMemo(()=>[{label:"sheet.numfmt.general",component:ft},{label:"sheet.numfmt.accounting",component:ct},{label:"sheet.numfmt.currency",component:lt},{label:"sheet.numfmt.date",component:mt},{label:"sheet.numfmt.thousandthPercentile",component:pt}].map(T=>({...T,label:l(T.label)})),[]),[f,o]=g.useState(C),[p,_]=g.useState(()=>`${n}_${s}`),{mark:y,userHabitCurrency:h}=st(()=>_(`${n}_${s}_userCurrency'`)),S=g.useMemo(()=>{var T;return(T=m.find(H=>H.label===f))==null?void 0:T.component},[f]);function C(){return[dt,at,ot,ut,ht].reduce((H,$e,we)=>H||($e(r)?m[we].label:""),"")||m[0].label}const M=m.map(T=>({label:T.label,value:T.label})),j=T=>{o(T),u(()=>e.onChange({type:"change",value:a.current()||""}))},P=T=>{e.onChange({type:"change",value:T})},$=()=>{const T=a.current()||"",H=z(T);H&&y(H),e.onChange({type:"confirm",value:T})},ie=()=>{e.onChange({type:"cancel",value:""})},ae={onChange:P,defaultValue:t,defaultPattern:r,action:a};return g.useEffect(()=>{o(C()),_(`${n}_${s}`)},[n,s]),d.jsxs("div",{className:"numfmt-panel p-b-20",children:[d.jsxs("div",{children:[d.jsx("div",{className:"label m-t-14",children:l("sheet.numfmt.numfmtType")}),d.jsx("div",{className:"m-t-8",children:d.jsx(x.Select,{onChange:j,options:M,value:f})}),d.jsx("div",{children:S&&d.jsx(fe.Provider,{value:h,children:g.createElement(S,{...ae,key:p})})})]}),d.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[d.jsx(x.Button,{size:"small",onClick:ie,className:"m-r-12",children:l("sheet.numfmt.cancel")}),d.jsx(x.Button,{type:"primary",size:"small",onClick:$,children:l("sheet.numfmt.confirm")})]})]})},Re={id:"sheet.command.numfmt.set.percent",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),n=e.get(v.SelectionManagerService).getSelections();if(!n||!n.length)return!1;const s=[],i="0%";return n.forEach(l=>{c.Range.foreach(l.range,(u,m)=>{s.push({row:u,col:m,pattern:i,type:"percent"})})}),await t.executeCommand(L.id,{values:s})}};var gt=Object.defineProperty,St=Object.getOwnPropertyDescriptor,yt=(e,t,r,n)=>{for(var s=n>1?void 0:n?St(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&gt(t,r,s),s},D=(e,t)=>(r,n)=>t(r,n,e);let G=class extends c.Disposable{constructor(t,r,n,s,i,a,l,u,m,f,o){super();V(this,"_previewPattern","");V(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=r,this._univerInstanceService=n,this._sheetSkeletonManagerService=s,this._commandService=i,this._selectionManagerService=a,this._renderManagerService=l,this._numfmtService=u,this._componentManager=m,this._sidebarService=f,this._localeService=o,this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener()}openPanel(){const t=this._sidebarService,r=this._selectionManagerService,n=this._commandService,s=this._univerInstanceService,i=this._numfmtService,a=this._localeService,u=(r.getSelectionRanges()||[])[0];if(!u)return!1;const m=s.getCurrentUnitForType(c.UniverInstanceType.UNIVER_SHEET),f=m.getActiveSheet(),o=f.getCellRaw(u.startRow,u.startColumn),p=i.getValue(m.getUnitId(),f.getSheetId(),u.startRow,u.startColumn);let _="";p&&(_=p.pattern);const y=(o==null?void 0:o.t)===c.CellValueType.NUMBER?o.v:12345678,h={onChange:S=>{var C,M;if(S.type==="change")this._previewPattern=S.value,this._sheetSkeletonManagerService.reCalculate(),(M=(C=this._renderManagerService.getRenderById(m.getUnitId()))==null?void 0:C.mainComponent)==null||M.makeDirty();else if(S.type==="confirm"){const j=r.getSelectionRanges()||[],P={values:[]},$=Q(S.value);j.forEach(ie=>{c.Range.foreach(ie,(ae,T)=>{P.values.push({row:ae,col:T,pattern:S.value,type:$})})}),n.executeCommand(L.id,P),t.close()}else S.type==="cancel"&&t.close()},value:{defaultPattern:_,defaultValue:y,row:u.startRow,col:u.startColumn}};return this._sidebarDisposable=t.open({header:{title:a.t("sheet.numfmt.title")},children:{label:ue,...h},onClose:()=>{var S,C;this._sheetSkeletonManagerService.reCalculate(),(C=(S=this._renderManagerService.getRenderById(m.getUnitId()))==null?void 0:S.mainComponent)==null||C.makeDirty(),n.executeCommand(ce.id)}}),!0}_initCommands(){[ye,be,_e,Re,X,ce,L].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(ue,vt)}_initRealTimeRenderingInterceptor(){const t=new w.Observable(n=>{this._commandService.onCommandExecuted(s=>{s.id===X.id&&n.next(!0),s.id===ce.id&&n.next(!1)})}),r=w.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(B.map(n=>n?n.map(s=>s.range):[]))]);this.disposeWithMe(c.toDisposable(r.pipe(B.switchMap(([n,s])=>new w.Observable(i=>{const a=new c.DisposableCollection;return n&&s.length&&i.next({selectionRanges:s,disposableCollection:a}),()=>{a.dispose()}})),B.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:s})=>{var a,l;const i=this._univerInstanceService.getCurrentUnitForType(c.UniverInstanceType.UNIVER_SHEET);this.openPanel(),n.add(this._sheetInterceptorService.intercept(v.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,handler:(u,m,f)=>{const{row:o,col:p}=m,_=f(u)||{};if(s.find(y=>y.startColumn<=p&&y.endColumn>=p&&y.startRow<=o&&y.endRow>=o)){const y=m.worksheet.getCellRaw(o,p),h=y==null?void 0:y.v,S=y==null?void 0:y.t;if(h==null||S!==c.CellValueType.NUMBER||this._previewPattern===null)return _;const C=ne(this._previewPattern,h,this._localeService.getCurrentLocale());if(C.color){const j=this._themeService.getCurrentTheme()[`${C.color}500`];return{..._,v:C.result,t:c.CellValueType.STRING,s:{cl:{rgb:j}}}}return{..._,v:C.result,t:c.CellValueType.STRING}}return _}})),(l=(a=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:a.mainComponent)==null||l.makeDirty()})))}_commandExecutedListener(){const t=[v.RemoveNumfmtMutation.id,v.SetNumfmtMutation.id];this.disposeWithMe(c.toDisposable(w.merge(new w.Observable(r=>{const n=this._commandService.onCommandExecuted(s=>{if(t.includes(s.id)){const i=s.params;r.next(i.unitId)}});return()=>{n.dispose()}})).pipe(B.debounceTime(16)).subscribe(r=>{var n,s;this._sheetSkeletonManagerService.reCalculate(),(s=(n=this._renderManagerService.getRenderById(r))==null?void 0:n.mainComponent)==null||s.makeDirty()})))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(c.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var r;t||((r=this._sidebarDisposable)==null||r.dispose(),this._sidebarDisposable=null)})}};G=yt([c.OnLifecycle(c.LifecycleStages.Rendered,G),D(0,b.Inject(v.SheetInterceptorService)),D(1,b.Inject(c.ThemeService)),D(2,c.IUniverInstanceService),D(3,b.Inject(te.SheetSkeletonManagerService)),D(4,c.ICommandService),D(5,b.Inject(v.SelectionManagerService)),D(6,ve.IRenderManagerService),D(7,v.INumfmtService),D(8,b.Inject(I.ComponentManager)),D(9,I.ISidebarService),D(10,b.Inject(c.LocaleService))],G);var Ct=Object.defineProperty,_t=Object.getOwnPropertyDescriptor,bt=(e,t,r,n)=>{for(var s=n>1?void 0:n?_t(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Ct(t,r,s),s},F=(e,t)=>(r,n)=>t(r,n,e);const It=()=>{let e=[];return{add:(s,i,a,l,u)=>e.push({unitId:s,subUnitId:i,row:a,col:l,value:u}),getEffects:()=>e,clean:()=>{e=[]}}};let K=class extends c.Disposable{constructor(t,r,n,s,i){super();V(this,"_collectEffectMutation",It());this._sheetInterceptorService=t,this._numfmtService=r,this._univerInstanceService=n,this._injector=s,this._editorBridgeService=i,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this.disposeWithMe(c.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().BEFORE_CELL_EDIT,{handler:(t,r,n)=>{const s=r.row,i=r.col,a=this._numfmtService.getValue(r.unitId,r.subUnitId,s,i);if(a)switch(Q(a.pattern)){case"scientific":case"percent":case"currency":case"grouped":case"number":return r.worksheet.getCellRaw(s,i);case"date":case"time":case"datetime":default:return n&&n(t)}return n(t)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(c.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT,{handler:(t,r,n)=>{var f;this._collectEffectMutation.clean();const s=this._numfmtService.getValue(r.unitId,r.subUnitId,r.row,r.col),i=(f=s&&Q(s.pattern))!=null?f:"",a=()=>{s&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,null)};if(!(t!=null&&t.v))return n(t);const l=String(t.v),u=E.parseDate(l)||E.parseTime(l);if(!!u){if(u&&u.z){const o=Number(u.v);return this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,{pattern:u.z}),{...t,v:o,t:c.CellValueType.NUMBER}}}else(["date","time","datetime"].includes(i)||!Mt(l))&&a();return n(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(r){switch(r.id){case v.SetRangeValuesCommand.id:{const n=t._univerInstanceService.getCurrentUnitForType(c.UniverInstanceType.UNIVER_SHEET),s=n.getUnitId(),i=n.getActiveSheet().getSheetId(),a=t._collectEffectMutation.getEffects();if(!a.length)return{redos:[],undos:[]};const l=a.filter(o=>{var p;return!!((p=o.value)!=null&&p.pattern)}).map(o=>({row:o.row,col:o.col,pattern:o.value.pattern})),u=a.filter(o=>{var p;return!((p=o.value)!=null&&p.pattern)}).map(o=>({startRow:o.row,endColumn:o.col,startColumn:o.col,endRow:o.row})),m=[],f=[];if(l){const o={id:v.SetNumfmtMutation.id,params:v.transformCellsToRange(s,i,l)};m.push(o),f.push(...v.factorySetNumfmtUndoMutation(t._injector,o.params))}if(u){const o={id:v.RemoveNumfmtMutation.id,params:{unitId:s,subUnitId:i,ranges:u}};m.push(o),f.push(...v.factoryRemoveNumfmtUndoMutation(t._injector,o.params))}return{redos:m,undos:f.reverse()}}}return{redos:[],undos:[]}}}))}};K=bt([c.OnLifecycle(c.LifecycleStages.Rendered,K),F(0,b.Inject(v.SheetInterceptorService)),F(1,b.Inject(v.INumfmtService)),F(2,b.Inject(c.IUniverInstanceService)),F(3,b.Inject(b.Injector)),F(4,b.Inject(te.IEditorBridgeService))],K);function Mt(e){return/^-?\d+(\.\d+)?$/.test(e)}var Tt=Object.defineProperty,Nt=Object.getOwnPropertyDescriptor,Rt=(e,t,r,n)=>{for(var s=n>1?void 0:n?Nt(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Tt(t,r,s),s},Ot=(e,t)=>(r,n)=>t(r,n,e);let Z=class extends c.Disposable{constructor(t){super();V(this,"_initLocal",()=>{this._localeService.load({zhCN:Se,enUS:ge})});this._localeService=t,this._initLocal()}};Z=Rt([c.OnLifecycle(c.LifecycleStages.Rendered,Z),Ot(0,b.Inject(c.LocaleService))],Z);var R=function(){return R=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},R.apply(this,arguments)},Dt=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(e);s<n.length;s++)t.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(e,n[s])&&(r[n[s]]=e[n[s]]);return r},k=g.forwardRef(function(e,t){var r=e.icon,n=e.id,s=e.className,i=e.extend,a=Dt(e,["icon","id","className","extend"]),l="univerjs-icon univerjs-icon-".concat(n," ").concat(s||"").trim(),u=g.useRef("_".concat(Pt()));return Oe(r,"".concat(n),{defIds:r.defIds,idSuffix:u.current},R({ref:t,className:l},a),i)});function Oe(e,t,r,n,s){return g.createElement(e.tag,R(R({key:t},xt(e,r,s)),n),(jt(e,r).children||[]).map(function(i,a){return Oe(i,"".concat(t,"-").concat(e.tag,"-").concat(a),r,void 0,s)}))}function xt(e,t,r){var n=R({},e.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1);var s=t.defIds;return!s||s.length===0||(e.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(function(i){var a=i[0],l=i[1];typeof l=="string"&&(n[a]=l.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function jt(e,t){var r,n=t.defIds;return!n||n.length===0?e:e.tag==="defs"&&(!((r=e.children)===null||r===void 0)&&r.length)?R(R({},e),{children:e.children.map(function(s){return typeof s.attrs.id=="string"&&n&&n.indexOf(s.attrs.id)>-1?R(R({},s),{attrs:R(R({},s.attrs),{id:s.attrs.id+t.idSuffix})}):s})}):e}function Pt(){return Math.random().toString(36).substring(2,8)}k.displayName="UniverIcon";var Et={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.99988 3.60921C3.99988 2.32055 5.04456 1.27588 6.33321 1.27588 7.62187 1.27588 8.66654 2.32055 8.66654 3.60921V6.24136C8.66654 7.53002 7.62187 8.5747 6.33321 8.5747 5.04455 8.5747 3.99988 7.53002 3.99988 6.24136V3.60921zM6.33321 2.60921C5.78093 2.60921 5.33321 3.05693 5.33321 3.60921V6.24136C5.33321 6.79364 5.78093 7.24136 6.33321 7.24136 6.88549 7.24136 7.33321 6.79364 7.33321 6.24136V3.60921C7.33321 3.05693 6.88549 2.60921 6.33321 2.60921zM9.99988 3.60921C9.99988 2.32055 11.0446 1.27588 12.3332 1.27588 13.6219 1.27588 14.6665 2.32055 14.6665 3.60921V6.24136C14.6665 7.53002 13.6219 8.5747 12.3332 8.5747 11.0446 8.5747 9.99988 7.53002 9.99988 6.24136V3.60921zM12.3332 2.60921C11.7809 2.60921 11.3332 3.05693 11.3332 3.60921V6.24136C11.3332 6.79364 11.7809 7.24136 12.3332 7.24136 12.8855 7.24136 13.3332 6.79364 13.3332 6.24136V3.60921C13.3332 3.05693 12.8855 2.60921 12.3332 2.60921z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.4713 9.58625C12.211 9.3259 11.7889 9.3259 11.5285 9.58625 11.2682 9.8466 11.2682 10.2687 11.5285 10.5291L12.3904 11.391H6.33329C5.9651 11.391 5.66663 11.6895 5.66663 12.0577 5.66663 12.4258 5.9651 12.7243 6.33329 12.7243H12.3904L11.5285 13.5862C11.2682 13.8466 11.2682 14.2687 11.5285 14.5291 11.7889 14.7894 12.211 14.7894 12.4713 14.5291L14.4669 12.5335C14.4851 12.5156 14.5022 12.4968 14.5183 12.477 14.5484 12.4399 14.5739 12.4003 14.5948 12.359 14.6407 12.2685 14.6666 12.1661 14.6666 12.0577 14.6666 11.9492 14.6407 11.8468 14.5948 11.7563 14.5739 11.715 14.5484 11.6754 14.5183 11.6383 14.5022 11.6185 14.4851 11.5997 14.4669 11.5818L12.4713 9.58625zM1.33325 7.98825C1.33325 7.62006 1.63173 7.32159 1.99992 7.32159H2.33325C2.70144 7.32159 2.99992 7.62006 2.99992 7.98825 2.99992 8.35644 2.70144 8.65492 2.33325 8.65492H1.99992C1.63173 8.65492 1.33325 8.35644 1.33325 7.98825z"}}]},De=g.forwardRef(function(e,t){return g.createElement(k,Object.assign({},e,{id:"add-digits-single",ref:t,icon:Et}))});De.displayName="AddDigitsSingle";const $t=De;var wt={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"mask",attrs:{id:"mask0_102_556",style:{maskType:"alpha"},width:16,height:16,x:0,y:0,maskUnits:"userSpaceOnUse"},children:[{tag:"path",attrs:{fill:"#D9D9D9",d:"M0 0H16V16H0z"}}]},{tag:"g",attrs:{mask:"url(#mask0_102_556)"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M0.629584 3.99986C1.13729 3.4922 1.9604 3.49224 2.46806 3.99995L7.57569 9.10806C7.81 9.3424 8.18992 9.3424 8.42424 9.10808L13.5323 3.99998C14.04 3.4923 14.8631 3.4923 15.3708 3.99998C15.8785 4.50766 15.8785 5.33078 15.3708 5.83846L9.41415 11.7951C8.63307 12.5762 7.36669 12.5762 6.58565 11.7951L0.629497 5.83834C0.121839 5.33063 0.121879 4.50752 0.629584 3.99986Z",fillRule:"evenodd",clipRule:"evenodd"}}]}]},xe=g.forwardRef(function(e,t){return g.createElement(k,Object.assign({},e,{id:"more-down-single",ref:t,icon:wt}))});xe.displayName="MoreDownSingle";const Lt=xe;var Ut={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"mask",attrs:{id:"mask0_561_2",style:{maskType:"alpha"},width:16,height:16,x:0,y:0,maskUnits:"userSpaceOnUse"},children:[{tag:"path",attrs:{fill:"#D9D9D9",d:"M0 0H16V16H0z"}}]},{tag:"g",attrs:{fill:"currentColor",mask:"url(#mask0_561_2)",fillRule:"evenodd",clipRule:"evenodd"},children:[{tag:"path",attrs:{d:"M4.91876 2.65039C3.66601 2.65039 2.65045 3.66595 2.65045 4.9187 2.65045 6.17146 3.66601 7.18702 4.91876 7.18702 6.17152 7.18702 7.18708 6.17146 7.18708 4.9187 7.18708 3.66595 6.17152 2.65039 4.91876 2.65039zM3.94663 4.9187C3.94663 4.38181 4.38187 3.94657 4.91876 3.94657 5.45566 3.94657 5.8909 4.38181 5.8909 4.9187 5.8909 5.4556 5.45566 5.89084 4.91876 5.89084 4.38187 5.89084 3.94663 5.4556 3.94663 4.9187zM11.0812 8.81299C9.82842 8.81299 8.81286 9.82855 8.81286 11.0813 8.81286 12.3341 9.82842 13.3496 11.0812 13.3496 12.3339 13.3496 13.3495 12.3341 13.3495 11.0813 13.3495 9.82855 12.3339 8.81299 11.0812 8.81299zM10.109 11.0813C10.109 10.5444 10.5443 10.1092 11.0812 10.1092 11.6181 10.1092 12.0533 10.5444 12.0533 11.0813 12.0533 11.6182 11.6181 12.0534 11.0812 12.0534 10.5443 12.0534 10.109 11.6182 10.109 11.0813zM13.1597 2.84021C13.4128 3.09331 13.4128 3.50365 13.1597 3.75675L3.7568 13.1596C3.5037 13.4127 3.09336 13.4127 2.84026 13.1596 2.58717 12.9065 2.58717 12.4962 2.84026 12.2431L12.2431 2.84021C12.4962 2.58712 12.9066 2.58712 13.1597 2.84021z"}}]}]},je=g.forwardRef(function(e,t){return g.createElement(k,Object.assign({},e,{id:"percent-single",ref:t,icon:Ut}))});je.displayName="PercentSingle";const Vt=je;var Ht={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5 3.61825C5 2.32958 6.04468 1.28491 7.33333 1.28491C8.62199 1.28491 9.66667 2.32958 9.66667 3.61825V6.30787C9.66667 7.59653 8.62199 8.64121 7.33333 8.64121C6.04468 8.64121 5 7.59653 5 6.30787V3.61825ZM7.33333 2.61825C6.78105 2.61825 6.33333 3.06596 6.33333 3.61825V6.30787C6.33333 6.86015 6.78106 7.30787 7.33333 7.30787C7.88561 7.30787 8.33333 6.86015 8.33333 6.30787V3.61825C8.33333 3.06596 7.88561 2.61825 7.33333 2.61825Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M2 7.9745C2 7.60631 2.29848 7.30783 2.66667 7.30783H3C3.36819 7.30783 3.66667 7.60631 3.66667 7.9745 3.66667 8.34269 3.36819 8.64117 3 8.64117H2.66667C2.29848 8.64117 2 8.34269 2 7.9745zM8.80482 9.56197C9.06517 9.82232 9.06517 10.2444 8.80482 10.5048L7.94289 11.3667H13.3334C13.7016 11.3667 14.0001 11.6652 14.0001 12.0334 14.0001 12.4016 13.7016 12.7 13.3334 12.7H7.94289L8.80482 13.562C9.06517 13.8223 9.06517 14.2444 8.80482 14.5048 8.54447 14.7651 8.12236 14.7651 7.86201 14.5048L5.86201 12.5048C5.79809 12.4409 5.74987 12.3672 5.71733 12.2886 5.68474 12.21 5.66675 12.1238 5.66675 12.0334 5.66675 11.943 5.68474 11.8568 5.71733 11.7782 5.74987 11.6996 5.79809 11.6259 5.86201 11.562L7.86201 9.56197C8.12236 9.30162 8.54447 9.30162 8.80482 9.56197z"}}]},Pe=g.forwardRef(function(e,t){return g.createElement(k,Object.assign({},e,{id:"reduce-digits-single",ref:t,icon:Ht}))});Pe.displayName="ReduceDigitsSingle";const At=Pe;var Bt={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.05443 1.55744C4.34898 1.33653 4.76685 1.39623 4.98776 1.69078L7.99996 5.98276L11.0122 1.69078C11.2331 1.39623 11.6509 1.33653 11.9455 1.55744C12.24 1.77836 12.2997 2.19623 12.0788 2.49078L9.33338 6.42708H12.0788C12.447 6.42708 12.7455 6.72556 12.7455 7.09375C12.7455 7.46194 12.447 7.76042 12.0788 7.76042H8.66659V9.69702H12.3348C12.703 9.69702 13.0015 9.9955 13.0015 10.3637C13.0015 10.7319 12.703 11.0304 12.3348 11.0304H8.66659V13.9091C8.66659 14.2773 8.36811 14.5758 7.99992 14.5758C7.63173 14.5758 7.33325 14.2773 7.33325 13.9091V11.0304H3.66508C3.29689 11.0304 2.99841 10.7319 2.99841 10.3637C2.99841 9.9955 3.29689 9.69702 3.66508 9.69702H7.33325V7.76042H3.92109C3.5529 7.76042 3.25443 7.46194 3.25443 7.09375C3.25443 6.72556 3.5529 6.42708 3.92109 6.42708H6.66653L3.92109 2.49078C3.70018 2.19623 3.75987 1.77836 4.05443 1.55744Z"}}]},Ee=g.forwardRef(function(e,t){return g.createElement(k,Object.assign({},e,{id:"rmb-single",ref:t,icon:Bt}))});Ee.displayName="RmbSingle";const kt=Ee,Y=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:"@@@"},"|",{label:"sheet.numfmt.number",pattern:"0"},"|",{label:"sheet.numfmt.accounting",pattern:'"¥" #,##0.00_);[Red]("¥"#,##0.00)'},{label:"sheet.numfmt.financialValue",pattern:"#,##0.00;[Red]#,##0.00"},{label:"sheet.numfmt.currency",pattern:'"¥"#,##0.00_);[Red]("¥"#,##0.00)'},{label:"sheet.numfmt.roundingCurrency",pattern:'"¥"#,##0;[Red]"¥"#,##0'},"|",{label:"sheet.numfmt.date",pattern:"yyyy-mm-dd;@"},{label:"sheet.numfmt.time",pattern:'am/pm h":"mm":"ss'},{label:"sheet.numfmt.dateTime",pattern:"yyyy-m-d am/pm h:mm"},{label:"sheet.numfmt.timeDuration",pattern:"h:mm:ss"},"|",{label:"sheet.numfmt.moreFmt",pattern:""}],Ft=e=>{var n;const t=O.useDependency(c.LocaleService),r=(n=e.value)!=null?n:t.t("sheet.numfmt.general");return d.jsx("span",{className:"more-numfmt-type",children:r})},zt=()=>{const e=O.useDependency(c.ICommandService),t=O.useDependency(c.LocaleService),r=O.useInjector(),n=O.useDependency(v.SelectionManagerService),s=l=>{const u=n.getLast();if(!u)return;const m=r.get(ve.ITextSelectionRenderManager),f=u.range,o=[];c.Range.foreach(f,(p,_)=>{l?o.push({row:p,col:_,pattern:l,type:Q(l)}):o.push({row:p,col:_})}),e.executeCommand(L.id,{values:o}),m.focus()},i=l=>{if(l===0)s(null);else if(l===Y.length-1)e.executeCommand(X.id);else{const u=Y[l];u.pattern&&s(u.pattern)}},a=1220;return d.jsx("div",{className:"more-numfmt-type-options",children:Y.map((l,u)=>l==="|"?d.jsx("div",{className:"line m-t-4",onClick:m=>m.stopPropagation()},u):d.jsxs("div",{className:"option-item m-t-4",onClick:()=>{i(u)},children:[d.jsx("div",{children:t.t(l.label)}),d.jsx("div",{className:"m-l-26",children:l.pattern?ne(l.pattern||"",a,t.getCurrentLocale()).result:""})]},u))})},qt=e=>{const t="icon-rmbSingle";return e.register(t,kt),e.register("MoreDownSingle",Lt),r=>({icon:t,id:_e.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(r,c.UniverInstanceType.UNIVER_SHEET),disabled$:v.getCurrentSheetDisabled$(r)})},Wt=e=>{const t="icon-addDigitsSingle";return e.register(t,$t),r=>({icon:t,id:ye.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(r,c.UniverInstanceType.UNIVER_SHEET),disabled$:v.getCurrentSheetDisabled$(r)})},Gt=e=>{const t="icon-reduceDigitsSingle";return e.register(t,At),r=>({icon:t,id:be.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(r,c.UniverInstanceType.UNIVER_SHEET),disabled$:v.getCurrentSheetDisabled$(r)})},Kt=e=>{const t="icon-PercentSingle";return e.register(t,Vt),r=>({icon:t,id:Re.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(r,c.UniverInstanceType.UNIVER_SHEET),disabled$:v.getCurrentSheetDisabled$(r)})},Zt=e=>{const t="sheet.numfmt.moreNumfmtType",r="sheet.numfmt.moreNumfmtType.options";return e.register(t,Ft),e.register(r,zt),n=>{const s=n.get(v.INumfmtService),i=n.get(c.IUniverInstanceService),a=n.get(c.ICommandService),l=n.get(c.LocaleService),u=n.get(v.SelectionManagerService),m=te.deriveStateFromActiveSheet$(i,"",({workbook:f,worksheet:o})=>new w.Observable(p=>w.merge(u.selectionMoveEnd$,new w.Observable(_=>{const y=[v.RemoveNumfmtMutation.id,v.SetNumfmtMutation.id],h=a.onCommandExecuted(S=>{y.includes(S.id)&&_.next(null)});return()=>h.dispose()})).subscribe(()=>{const _=u.getSelections();if(_&&_[0]){const y=_[0].range,h=y.startRow,S=y.startColumn,C=s.getValue(f.getUnitId(),o.getSheetId(),h,S),M=C==null?void 0:C.pattern;let j=l.t("sheet.numfmt.general");if(M){const P=Y.filter($=>typeof $=="object"&&$.pattern).find($=>re(M,$.pattern));P&&typeof P=="object"&&P.pattern?j=l.t(P.label):j=l.t("sheet.numfmt.moreFmt")}p.next(j)}})));return{label:t,id:X.id,tooltip:"sheet.numfmt.title",type:I.MenuItemType.SELECTOR,group:I.MenuGroup.TOOLBAR_FORMULAS_INSERT,positions:[I.MenuPosition.TOOLBAR_START],selections:[{label:{name:r,hoverable:!1}}],value$:m,hidden$:I.getMenuHiddenObservable(n,c.UniverInstanceType.UNIVER_SHEET),disabled$:v.getCurrentSheetDisabled$(n)}}};var Yt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,Qt=(e,t,r,n)=>{for(var s=n>1?void 0:n?Jt(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Yt(t,r,s),s},le=(e,t)=>(r,n)=>t(r,n,e);let J=class extends c.Disposable{constructor(e,t,r){super(),this._injector=e,this._componentManager=t,this._menuService=r,this._initMenu()}_initMenu(){[Kt,Wt,Gt,qt,Zt].map(e=>e(this._componentManager)).forEach(e=>{this.disposeWithMe(this._menuService.addMenuItem(e(this._injector)))})}};J=Qt([c.OnLifecycle(c.LifecycleStages.Rendered,J),le(0,b.Inject(b.Injector)),le(1,b.Inject(I.ComponentManager)),le(2,b.Inject(I.IMenuService))],J);var Xt=Object.defineProperty,en=Object.getOwnPropertyDescriptor,tn=(e,t,r,n)=>{for(var s=n>1?void 0:n?en(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Xt(t,r,s),s},nn=(e,t)=>(r,n)=>t(r,n,e),q;exports.UniverSheetsNumfmtPlugin=(q=class extends c.Plugin{constructor(t,r){super(),this._injector=r}onStarting(){this._injector.add([de,{useClass:G,lazy:!1}]),this._injector.add([K]),this._injector.add([ee]),this._injector.add([W]),this._injector.add([Z]),this._injector.add([J])}},V(q,"pluginName",ue),V(q,"type",c.UniverInstanceType.UNIVER_SHEET),q);exports.UniverSheetsNumfmtPlugin=tn([nn(1,b.Inject(b.Injector))],exports.UniverSheetsNumfmtPlugin);exports.SetNumfmtCommand=L;exports.enUS=ge;exports.getPatternPreview=ne;exports.ruRU=Be;exports.zhCN=Se;
9
+ */var Ue=b,Le=Symbol.for("react.element"),ke=Symbol.for("react.fragment"),Ae=Object.prototype.hasOwnProperty,Be=Ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ve={key:!0,ref:!0,__self:!0,__source:!0};function be(e,t,r){var n,s={},i=null,o=null;r!==void 0&&(i=""+r),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(o=t.ref);for(n in t)Ae.call(t,n)&&!Ve.hasOwnProperty(n)&&(s[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)s[n]===void 0&&(s[n]=t[n]);return{$$typeof:Le,type:e,key:i,ref:o,props:s,_owner:Be.current}}te.Fragment=ke;te.jsx=be;te.jsxs=be;_e.exports=te;var f=_e.exports;const me=b.createContext([]),le=["$","£","¥","¤","֏","؋","৳","฿","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"];var He=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Fe=(e,t,r,n)=>{for(var s=n>1?void 0:n?We(t,r):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&He(t,r,s),s},qe=(e,t)=>(r,n)=>t(r,n,e);let Q=class{constructor(e){this._localStorageService=e}_getKey(e){return`userHabitController_${e}`}async addHabit(e,t){const r=this._getKey(e);return this._localStorageService.getItem(r).then(n=>{n||this._localStorageService.setItem(r,t)})}markHabit(e,t){const r=this._getKey(e);this._localStorageService.getItem(r).then(n=>{if(n){const s=n.findIndex(i=>i===t);s>-1&&n.splice(s,1),n.unshift(t),this._localStorageService.setItem(r,n)}})}async getHabit(e,t){const r=this._getKey(e),n=await this._localStorageService.getItem(r);if(t&&n){const s=n.map((i,o,l)=>{const u=l.length;return{value:i,priority:u-o}});return t.sort((i,o)=>{var d,h;const l=((d=s.find(a=>a.value===i))==null?void 0:d.priority)||-1;return(((h=s.find(a=>a.value===o))==null?void 0:h.priority)||-1)-l})}return n||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};Q=Fe([qe(0,C.Inject(c.ILocalStorageService))],Q);const he="numfmtCurrency",Ge=e=>{const t=N.useDependency(Q),[r,n]=b.useState(le);return b.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(he,[...le]).then(i=>{n(i),e&&e(i)})})},[]),{userHabitCurrency:r,mark:i=>{t.markHabit(he,i)}}},ze=()=>{const e=b.useRef([]),[t,r]=b.useState({});return b.useEffect(()=>{e.current.forEach(s=>{s()}),e.current=[]},[t]),s=>{e.current.push(s),r({})}},H=e=>le.find(r=>e.includes(r)),Ke=e=>!!H(e)&&e.startsWith("_("),Ye=e=>{const[t,r]=b.useState(()=>$(e.defaultPattern||"",2)),n=b.useContext(me),[s,i]=b.useState(()=>H(e.defaultPattern)||n[0]),o=b.useMemo(()=>n.map(a=>({label:a,value:a})),[]),u=N.useDependency(c.LocaleService).t;e.action.current=()=>P(`_("${s}"* #,##0${t>0?".0":""}_)`,t);const d=a=>{i(a),e.onChange(P(`_("${a}"* #,##0${t>0?".0":""}_)`,t))},h=a=>{const v=a||0;r(v),e.onChange(P(`_("${s}"* #,##0${v>0?".0":""}_)`,v))};return f.jsxs("div",{children:[f.jsxs("div",{className:"m-t-16 options ",children:[f.jsxs("div",{className:"option",children:[f.jsx("div",{className:"label",children:u("sheet.numfmt.decimalLength")}),f.jsx("div",{className:"m-t-8 w-120",children:f.jsx(E.InputNumber,{value:t,max:20,min:0,onChange:h})})]}),f.jsxs("div",{className:"option",children:[f.jsx("div",{className:"label",children:u("sheet.numfmt.currencyType")}),f.jsx("div",{className:"m-t-8 w-140",children:f.jsx(E.Select,{onChange:d,options:o,value:s})})]})]}),f.jsx("div",{className:"describe m-t-14",children:u("sheet.numfmt.accountingDes")})]})},oe=e=>ve.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),ye=()=>$e.map(e=>({label:e.label,value:e.suffix})),Ce=()=>we.map(e=>({label:e.label,value:e.suffix,color:e.color})),Je=e=>!!H(e)&&!e.startsWith("_("),Ze=e=>{const r=N.useDependency(c.LocaleService).t,n=b.useContext(me),[s,i]=b.useState(()=>H(e.defaultPattern)||n[0]),[o,l]=b.useState(()=>$(e.defaultPattern||"",2)),[u,d]=b.useState(()=>{var g;const p=oe(s);return((g=p.find(M=>ee(M.value,e.defaultPattern)))==null?void 0:g.value)||p[0].value}),h=b.useMemo(()=>oe(s),[s]),a=b.useMemo(()=>n.map(p=>({label:p,value:p})),[n]);e.action.current=()=>P(u,o);const v=p=>{i(p);const S=oe(p)[0].value;d(S),e.onChange(P(S,o))},y=p=>{d(p),e.onChange(P(p,o))},_=p=>{l(p||0),e.onChange(P(u,p||0))};return f.jsxs("div",{children:[f.jsxs("div",{className:"m-t-16 options ",children:[f.jsxs("div",{className:"option",children:[f.jsx("div",{className:"label",children:r("sheet.numfmt.decimalLength")}),f.jsx("div",{className:"m-t-8 w-120",children:f.jsx(E.InputNumber,{value:o,max:20,min:0,onChange:_})})]}),f.jsxs("div",{className:"option",children:[f.jsx("div",{className:"label",children:r("sheet.numfmt.currencyType")}),f.jsx("div",{className:"m-t-8 w-140",children:f.jsx(E.Select,{onChange:v,options:a,value:s})})]})]}),f.jsx("div",{className:"m-t-16 label",children:r("sheet.numfmt.negType")}),f.jsx("div",{className:"m-t-8",children:f.jsx(E.SelectList,{onChange:y,options:h,value:u})}),f.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.currencyDes")})]})},Qe=e=>{const t=j.getInfo(e);return ye().map(r=>r.value).includes(e)||["date","datetime","time"].includes(t.type)},Xe=e=>{const t=b.useMemo(ye,[]),n=N.useDependency(c.LocaleService).t,[s,i]=b.useState(()=>{if(e.defaultPattern){const l=t.find(u=>u.value===e.defaultPattern);if(l)return l.value}return t[0].value});e.action.current=()=>s;const o=l=>{i(l),e.onChange(l)};return f.jsxs("div",{children:[f.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.dateType")}),f.jsx("div",{className:"m-t-8",children:f.jsx(E.SelectList,{value:s,options:t,onChange:o})}),f.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.dateDes")})]})},et=e=>!e,tt=e=>{const r=N.useDependency(c.LocaleService).t;return e.action.current=()=>"",f.jsx("div",{children:f.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.generalDes")})})},nt=e=>Ce().some(t=>ee(t.value,e)),rt=e=>{const t=N.useDependency(c.LocaleService),r=b.useMemo(Ce,[]),[n,s]=b.useState(()=>$(e.defaultPattern||"",0)),[i,o]=b.useState(()=>{const a=r.find(v=>ee(v.value,e.defaultPattern||""));return(a==null?void 0:a.value)||r[0].value}),l=b.useMemo(()=>P(i,Number(n||0)),[i,n]),u=b.useMemo(()=>!De(i),[i]),d=a=>{s(a||0),e.onChange(P(i,Number(a||0)))},h=a=>{s($(a,0)),o(a),e.onChange(a)};return e.action.current=()=>l,f.jsxs("div",{children:[f.jsx("div",{className:"m-t-16 label",children:t.t("sheet.numfmt.decimalLength")}),f.jsx("div",{className:"m-t-8",children:f.jsx(E.InputNumber,{disabled:u,value:n,max:20,min:0,onChange:d})}),f.jsxs("div",{className:"m-t-16 label",children:[" ",t.t("sheet.numfmt.negType")]}),f.jsx("div",{className:"m-t-8",children:f.jsx(E.SelectList,{onChange:h,options:r,value:i})}),f.jsx("div",{className:"describe m-t-14",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},st=e=>{const{defaultValue:t,defaultPattern:r,row:n,col:s}=e.value,i=N.useDependency(c.LocaleService),o=b.useRef(()=>""),l=i.t,u=ze(),d=b.useMemo(()=>[{label:"sheet.numfmt.general",component:tt},{label:"sheet.numfmt.accounting",component:Ye},{label:"sheet.numfmt.currency",component:Ze},{label:"sheet.numfmt.date",component:Xe},{label:"sheet.numfmt.thousandthPercentile",component:rt}].map(T=>({...T,label:l(T.label)})),[]),[h,a]=b.useState(g),[v,y]=b.useState(()=>`${n}_${s}`),{mark:_,userHabitCurrency:p}=Ge(()=>y(`${n}_${s}_userCurrency'`)),S=b.useMemo(()=>{var T;return(T=d.find(w=>w.label===h))==null?void 0:T.component},[h]);function g(){return[et,Ke,Je,Qe,nt].reduce((w,Pe,Ne)=>w||(Pe(r)?d[Ne].label:""),"")||d[0].label}const M=d.map(T=>({label:T.label,value:T.label})),A=T=>{a(T),u(()=>e.onChange({type:"change",value:o.current()||""}))},W=T=>{e.onChange({type:"change",value:T})},ne=()=>{const T=o.current()||"",w=H(T);w&&_(w),e.onChange({type:"confirm",value:T})},re=()=>{e.onChange({type:"cancel",value:""})},se={onChange:W,defaultValue:t,defaultPattern:r,action:o};return b.useEffect(()=>{a(g()),y(`${n}_${s}`)},[n,s]),f.jsxs("div",{className:"numfmt-panel p-b-20",children:[f.jsxs("div",{children:[f.jsx("div",{className:"label m-t-14",children:l("sheet.numfmt.numfmtType")}),f.jsx("div",{className:"m-t-8",children:f.jsx(E.Select,{onChange:A,options:M,value:h})}),f.jsx("div",{children:S&&f.jsx(me.Provider,{value:p,children:b.createElement(S,{...se,key:v})})})]}),f.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[f.jsx(E.Button,{size:"small",onClick:re,className:"m-r-12",children:l("sheet.numfmt.cancel")}),f.jsx(E.Button,{type:"primary",size:"small",onClick:ne,children:l("sheet.numfmt.confirm")})]})]})},Ie={id:"sheet.command.numfmt.set.percent",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(c.ICommandService),n=e.get(m.SelectionManagerService).getSelections();if(!n||!n.length)return!1;const s=[],i="0%";return n.forEach(l=>{c.Range.foreach(l.range,(u,d)=>{s.push({row:u,col:d,pattern:i,type:"percent"})})}),await t.executeCommand(D.id,{values:s})}};var it=Object.defineProperty,ot=Object.getOwnPropertyDescriptor,ct=(e,t,r,n)=>{for(var s=n>1?void 0:n?ot(t,r):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&it(t,r,s),s},R=(e,t)=>(r,n)=>t(r,n,e);let G=class extends c.Disposable{constructor(t,r,n,s,i,o,l,u,d,h,a){super();U(this,"_previewPattern","");U(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=r,this._univerInstanceService=n,this._sheetSkeletonManagerService=s,this._commandService=i,this._selectionManagerService=o,this._renderManagerService=l,this._numfmtService=u,this._componentManager=d,this._sidebarService=h,this._localeService=a,this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener()}openPanel(){const t=this._sidebarService,r=this._selectionManagerService,n=this._commandService,s=this._univerInstanceService,i=this._numfmtService,o=this._localeService,u=(r.getSelectionRanges()||[])[0];if(!u)return!1;const d=s.getCurrentUnitForType(c.UniverInstanceType.UNIVER_SHEET),h=d.getActiveSheet(),a=h.getCellRaw(u.startRow,u.startColumn),v=i.getValue(d.getUnitId(),h.getSheetId(),u.startRow,u.startColumn);let y="";v&&(y=v.pattern);const _=(a==null?void 0:a.t)===c.CellValueType.NUMBER?a.v:12345678,p={onChange:S=>{var g,M;if(S.type==="change")this._previewPattern=S.value,this._sheetSkeletonManagerService.reCalculate(),(M=(g=this._renderManagerService.getRenderById(d.getUnitId()))==null?void 0:g.mainComponent)==null||M.makeDirty();else if(S.type==="confirm"){const A=r.getSelectionRanges()||[],W={values:[]},ne=J(S.value);A.forEach(re=>{c.Range.foreach(re,(se,T)=>{W.values.push({row:se,col:T,pattern:S.value,type:ne})})}),n.executeCommand(D.id,W),t.close()}else S.type==="cancel"&&t.close()},value:{defaultPattern:y,defaultValue:_,row:u.startRow,col:u.startColumn}};return this._sidebarDisposable=t.open({header:{title:o.t("sheet.numfmt.title")},children:{label:ae,...p},onClose:()=>{var S,g;this._sheetSkeletonManagerService.reCalculate(),(g=(S=this._renderManagerService.getRenderById(d.getUnitId()))==null?void 0:S.mainComponent)==null||g.makeDirty(),n.executeCommand(ie.id)}}),!0}_initCommands(){[pe,ge,Se,Ie,Z,ie,D].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(ae,st)}_initRealTimeRenderingInterceptor(){const t=new x.Observable(n=>{this._commandService.onCommandExecuted(s=>{s.id===Z.id&&n.next(!0),s.id===ie.id&&n.next(!1)})}),r=x.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(k.map(n=>n?n.map(s=>s.range):[]))]);this.disposeWithMe(c.toDisposable(r.pipe(k.switchMap(([n,s])=>new x.Observable(i=>{const o=new c.DisposableCollection;return n&&s.length&&i.next({selectionRanges:s,disposableCollection:o}),()=>{o.dispose()}})),k.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:s})=>{var o,l;const i=this._univerInstanceService.getCurrentUnitForType(c.UniverInstanceType.UNIVER_SHEET);this.openPanel(),n.add(this._sheetInterceptorService.intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,handler:(u,d,h)=>{const{row:a,col:v}=d,y=h(u)||{};if(s.find(_=>_.startColumn<=v&&_.endColumn>=v&&_.startRow<=a&&_.endRow>=a)){const _=d.worksheet.getCellRaw(a,v),p=_==null?void 0:_.v,S=_==null?void 0:_.t;if(p==null||S!==c.CellValueType.NUMBER||this._previewPattern===null)return y;const g=X(this._previewPattern,p,this._localeService.getCurrentLocale());if(g.color){const A=this._themeService.getCurrentTheme()[`${g.color}500`];return{...y,v:g.result,t:c.CellValueType.STRING,s:{cl:{rgb:A}}}}return{...y,v:g.result,t:c.CellValueType.STRING}}return y}})),(l=(o=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:o.mainComponent)==null||l.makeDirty()})))}_commandExecutedListener(){const t=[m.RemoveNumfmtMutation.id,m.SetNumfmtMutation.id];this.disposeWithMe(c.toDisposable(x.merge(new x.Observable(r=>{const n=this._commandService.onCommandExecuted(s=>{if(t.includes(s.id)){const i=s.params;r.next(i.unitId)}});return()=>{n.dispose()}})).pipe(k.debounceTime(16)).subscribe(r=>{var n,s;this._sheetSkeletonManagerService.reCalculate(),(s=(n=this._renderManagerService.getRenderById(r))==null?void 0:n.mainComponent)==null||s.makeDirty()})))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(c.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var r;t||((r=this._sidebarDisposable)==null||r.dispose(),this._sidebarDisposable=null)})}};G=ct([c.OnLifecycle(c.LifecycleStages.Rendered,G),R(0,C.Inject(m.SheetInterceptorService)),R(1,C.Inject(c.ThemeService)),R(2,c.IUniverInstanceService),R(3,C.Inject(O.SheetSkeletonManagerService)),R(4,c.ICommandService),R(5,C.Inject(m.SelectionManagerService)),R(6,fe.IRenderManagerService),R(7,m.INumfmtService),R(8,C.Inject(I.ComponentManager)),R(9,I.ISidebarService),R(10,C.Inject(c.LocaleService))],G);var at=Object.defineProperty,lt=Object.getOwnPropertyDescriptor,ut=(e,t,r,n)=>{for(var s=n>1?void 0:n?lt(t,r):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&at(t,r,s),s},B=(e,t)=>(r,n)=>t(r,n,e);const mt=()=>{let e=[];return{add:(s,i,o,l,u)=>e.push({unitId:s,subUnitId:i,row:o,col:l,value:u}),getEffects:()=>e,clean:()=>{e=[]}}};let z=class extends c.Disposable{constructor(t,r,n,s,i){super();U(this,"_collectEffectMutation",mt());this._sheetInterceptorService=t,this._numfmtService=r,this._univerInstanceService=n,this._injector=s,this._editorBridgeService=i,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this.disposeWithMe(c.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().BEFORE_CELL_EDIT,{handler:(t,r,n)=>{const s=r.row,i=r.col,o=this._numfmtService.getValue(r.unitId,r.subUnitId,s,i);if(o)switch(J(o.pattern)){case"scientific":case"percent":case"currency":case"grouped":case"number":return r.worksheet.getCellRaw(s,i);case"date":case"time":case"datetime":default:return n&&n(t)}return n(t)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(c.toDisposable(this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT,{handler:(t,r,n)=>{var h;this._collectEffectMutation.clean();const s=this._numfmtService.getValue(r.unitId,r.subUnitId,r.row,r.col),i=(h=s&&J(s.pattern))!=null?h:"",o=()=>{s&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,null)};if(!(t!=null&&t.v))return n(t);const l=String(t.v),u=j.parseDate(l)||j.parseTime(l);if(!!u){if(u&&u.z){const a=Number(u.v);return this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,{pattern:u.z}),{...t,v:a,t:c.CellValueType.NUMBER}}}else(["date","time","datetime"].includes(i)||!dt(l))&&o();return n(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(r){switch(r.id){case m.SetRangeValuesCommand.id:{const n=t._univerInstanceService.getCurrentUnitForType(c.UniverInstanceType.UNIVER_SHEET),s=n.getUnitId(),i=n.getActiveSheet().getSheetId(),o=t._collectEffectMutation.getEffects();if(!o.length)return{redos:[],undos:[]};const l=o.filter(a=>{var v;return!!((v=a.value)!=null&&v.pattern)}).map(a=>({row:a.row,col:a.col,pattern:a.value.pattern})),u=o.filter(a=>{var v;return!((v=a.value)!=null&&v.pattern)}).map(a=>({startRow:a.row,endColumn:a.col,startColumn:a.col,endRow:a.row})),d=[],h=[];if(l){const a={id:m.SetNumfmtMutation.id,params:m.transformCellsToRange(s,i,l)};d.push(a),h.push(...m.factorySetNumfmtUndoMutation(t._injector,a.params))}if(u){const a={id:m.RemoveNumfmtMutation.id,params:{unitId:s,subUnitId:i,ranges:u}};d.push(a),h.push(...m.factoryRemoveNumfmtUndoMutation(t._injector,a.params))}return{redos:d,undos:h.reverse()}}}return{redos:[],undos:[]}}}))}};z=ut([c.OnLifecycle(c.LifecycleStages.Rendered,z),B(0,C.Inject(m.SheetInterceptorService)),B(1,C.Inject(m.INumfmtService)),B(2,C.Inject(c.IUniverInstanceService)),B(3,C.Inject(C.Injector)),B(4,C.Inject(O.IEditorBridgeService))],z);function dt(e){return/^-?\d+(\.\d+)?$/.test(e)}var ht=Object.defineProperty,ft=Object.getOwnPropertyDescriptor,pt=(e,t,r,n)=>{for(var s=n>1?void 0:n?ft(t,r):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&ht(t,r,s),s},vt=(e,t)=>(r,n)=>t(r,n,e);let K=class extends c.Disposable{constructor(e){super(),this._localeService=e}};K=pt([c.OnLifecycle(c.LifecycleStages.Rendered,K),vt(0,C.Inject(c.LocaleService))],K);const Y=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:"@@@"},"|",{label:"sheet.numfmt.number",pattern:"0"},"|",{label:"sheet.numfmt.accounting",pattern:'"¥" #,##0.00_);[Red]("¥"#,##0.00)'},{label:"sheet.numfmt.financialValue",pattern:"#,##0.00;[Red]#,##0.00"},{label:"sheet.numfmt.currency",pattern:'"¥"#,##0.00_);[Red]("¥"#,##0.00)'},{label:"sheet.numfmt.roundingCurrency",pattern:'"¥"#,##0;[Red]"¥"#,##0'},"|",{label:"sheet.numfmt.date",pattern:"yyyy-mm-dd;@"},{label:"sheet.numfmt.time",pattern:'am/pm h":"mm":"ss'},{label:"sheet.numfmt.dateTime",pattern:"yyyy-m-d am/pm h:mm"},{label:"sheet.numfmt.timeDuration",pattern:"h:mm:ss"},"|",{label:"sheet.numfmt.moreFmt",pattern:""}],Me="sheet.numfmt.moreNumfmtType",Te="sheet.numfmt.moreNumfmtType.options",St=e=>{var n;const t=N.useDependency(c.LocaleService),r=(n=e.value)!=null?n:t.t("sheet.numfmt.general");return f.jsx("span",{className:"more-numfmt-type",children:r})},gt=()=>{const e=N.useDependency(c.ICommandService),t=N.useDependency(c.LocaleService),r=N.useInjector(),n=N.useDependency(m.SelectionManagerService),s=l=>{const u=n.getLast();if(!u)return;const d=r.get(fe.ITextSelectionRenderManager),h=u.range,a=[];c.Range.foreach(h,(v,y)=>{l?a.push({row:v,col:y,pattern:l,type:J(l)}):a.push({row:v,col:y})}),e.executeCommand(D.id,{values:a}),d.focus()},i=l=>{if(l===0)s(null);else if(l===Y.length-1)e.executeCommand(Z.id);else{const u=Y[l];u.pattern&&s(u.pattern)}},o=1220;return f.jsx("div",{className:"more-numfmt-type-options",children:Y.map((l,u)=>l==="|"?f.jsx("div",{className:"line m-t-4",onClick:d=>d.stopPropagation()},u):f.jsxs("div",{className:"option-item m-t-4",onClick:()=>{i(u)},children:[f.jsx("div",{children:t.t(l.label)}),f.jsx("div",{className:"m-l-26",children:l.pattern?X(l.pattern||"",o,t.getCurrentLocale()).result:""})]},u))})},_t=e=>({icon:"RmbSingle",id:Se.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$:O.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),bt=e=>({icon:"AddDigitsSingle",id:pe.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$:O.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),yt=e=>({icon:"ReduceDigitsSingle",id:ge.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$:O.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),Ct=e=>({icon:"PercentSingle",id:Ie.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$:O.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}),It=e=>{const t=e.get(m.INumfmtService),r=e.get(c.IUniverInstanceService),n=e.get(c.ICommandService),s=e.get(c.LocaleService),i=e.get(m.SelectionManagerService),o=O.deriveStateFromActiveSheet$(r,"",({workbook:l,worksheet:u})=>new x.Observable(d=>x.merge(i.selectionMoveEnd$,new x.Observable(h=>{const a=[m.RemoveNumfmtMutation.id,m.SetNumfmtMutation.id],v=n.onCommandExecuted(y=>{a.includes(y.id)&&h.next(null)});return()=>v.dispose()})).subscribe(()=>{const h=i.getSelections();if(h&&h[0]){const a=h[0].range,v=a.startRow,y=a.startColumn,_=t.getValue(l.getUnitId(),u.getSheetId(),v,y),p=_==null?void 0:_.pattern;let S=s.t("sheet.numfmt.general");if(p){const g=Y.filter(M=>typeof M=="object"&&M.pattern).find(M=>ee(p,M.pattern));g&&typeof g=="object"&&g.pattern?S=s.t(g.label):S=s.t("sheet.numfmt.moreFmt")}d.next(S)}})));return{label:Me,id:Z.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$:O.getCurrentRangeDisable$(e,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetSetCellStylePermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}};var Mt=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,Pt=(e,t,r,n)=>{for(var s=n>1?void 0:n?Tt(t,r):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&Mt(t,r,s),s},ce=(e,t)=>(r,n)=>t(r,n,e);const Nt={};let V=class extends c.Disposable{constructor(e,t,r,n){super(),this._config=e,this._injector=t,this._componentManager=r,this._menuService=n,this._initMenu()}_initMenu(){const{menu:e={}}=this._config;[Ct,bt,yt,_t,It].forEach(t=>{this.disposeWithMe(this._menuService.addMenuItem(t(this._injector),e))}),this.disposeWithMe(this._componentManager.register(Me,St)),this.disposeWithMe(this._componentManager.register(Te,gt))}};V=Pt([c.OnLifecycle(c.LifecycleStages.Rendered,V),ce(1,C.Inject(C.Injector)),ce(2,C.Inject(I.ComponentManager)),ce(3,C.Inject(I.IMenuService))],V);var Rt=Object.defineProperty,Et=Object.getOwnPropertyDescriptor,Ot=(e,t,r,n)=>{for(var s=n>1?void 0:n?Et(t,r):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&Rt(t,r,s),s},jt=(e,t)=>(r,n)=>t(r,n,e),F;exports.UniverSheetsNumfmtPlugin=(F=class extends c.Plugin{constructor(t={},r){super(),this._config=t,this._injector=r,this._config=c.Tools.deepMerge({},Nt,this._config)}onStarting(){this._injector.add([ue,{useClass:G,lazy:!1}]),this._injector.add([z]),this._injector.add([Q]),this._injector.add([q]),this._injector.add([K]),this._injector.add([V,{useFactory:()=>this._injector.createInstance(V,this._config)}])}},U(F,"pluginName",ae),U(F,"type",c.UniverInstanceType.UNIVER_SHEET),F);exports.UniverSheetsNumfmtPlugin=Ot([jt(1,C.Inject(C.Injector))],exports.UniverSheetsNumfmtPlugin);exports.SetNumfmtCommand=D;exports.getPatternPreview=X;