@univerjs/sheets-numfmt-ui 0.5.1 → 0.5.2

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 pe=Object.defineProperty;var ve=(t,e,r)=>e in t?pe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var W=(t,e,r)=>ve(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),m=require("@univerjs/sheets-numfmt"),j=require("@univerjs/sheets-ui"),I=require("@univerjs/ui"),Se=require("@univerjs/engine-render"),g=require("@univerjs/sheets"),D=require("rxjs"),A=require("rxjs/operators"),y=require("react"),E=require("@univerjs/design"),ie=require("@univerjs/engine-numfmt"),ge={},Y={id:"sheet.operation.close.numfmt.panel",type:o.CommandType.OPERATION,handler:()=>!0},$={id:"sheet.operation.open.numfmt.panel",type:o.CommandType.OPERATION,handler:t=>(t.get(k).openPanel(),!0)};var J={exports:{}},w={};/**
1
+ "use strict";var ve=Object.defineProperty;var Se=(t,e,r)=>e in t?ve(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var W=(t,e,r)=>Se(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),m=require("@univerjs/sheets-numfmt"),j=require("@univerjs/sheets-ui"),I=require("@univerjs/ui"),ge=require("@univerjs/engine-render"),g=require("@univerjs/sheets"),D=require("rxjs"),A=require("rxjs/operators"),y=require("react"),E=require("@univerjs/design"),oe=require("@univerjs/engine-numfmt"),Q={},Y={id:"sheet.operation.close.numfmt.panel",type:o.CommandType.OPERATION,handler:()=>!0},$={id:"sheet.operation.open.numfmt.panel",type:o.CommandType.OPERATION,handler:t=>(t.get(k).openPanel(),!0)};var J={exports:{}},w={};/**
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 Q;function ye(){if(Q)return w;Q=1;var t=y,e=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,s=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function c(a,l,p){var f,d={},h=null,S=null;p!==void 0&&(h=""+p),l.key!==void 0&&(h=""+l.key),l.ref!==void 0&&(S=l.ref);for(f in l)n.call(l,f)&&!i.hasOwnProperty(f)&&(d[f]=l[f]);if(a&&a.defaultProps)for(f in l=a.defaultProps,l)d[f]===void 0&&(d[f]=l[f]);return{$$typeof:e,type:a,key:h,ref:S,props:d,_owner:s.current}}return w.Fragment=r,w.jsx=c,w.jsxs=c,w}var ee;function _e(){return ee||(ee=1,J.exports=ye()),J.exports}var u=_e(),be=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,Ie=(t,e,r,n)=>{for(var s=n>1?void 0:n?Ce(e,r):e,i=t.length-1,c;i>=0;i--)(c=t[i])&&(s=(n?c(e,r,s):c(s))||s);return n&&s&&be(e,r,s),s},Pe=(t,e)=>(r,n)=>e(r,n,t);const Z=y.createContext([]);let L=class{constructor(t){this._localStorageService=t}_getKey(t){return`userHabitController_${t}`}async addHabit(t,e){const r=this._getKey(t);return this._localStorageService.getItem(r).then(n=>{n||this._localStorageService.setItem(r,e)})}markHabit(t,e){const r=this._getKey(t);this._localStorageService.getItem(r).then(n=>{if(n){const s=n.findIndex(i=>i===e);s>-1&&n.splice(s,1),n.unshift(e),this._localStorageService.setItem(r,n)}})}async getHabit(t,e){const r=this._getKey(t),n=await this._localStorageService.getItem(r);if(e&&n){const s=n.map((i,c,a)=>{const l=a.length;return{value:i,priority:l-c}});return e.sort((i,c)=>{var p,f;const a=((p=s.find(d=>d.value===i))==null?void 0:p.priority)||-1;return(((f=s.find(d=>d.value===c))==null?void 0:f.priority)||-1)-a})}return n||[]}deleteHabit(t){this._localStorageService.removeItem(t)}};L=Ie([Pe(0,o.Inject(o.ILocalStorageService))],L);const te="numfmtCurrency",Te=t=>{const e=o.useDependency(L),[r,n]=y.useState(m.currencySymbols);return y.useEffect(()=>{e.addHabit("numfmtCurrency",[]).then(()=>{e.getHabit(te,[...m.currencySymbols]).then(i=>{n(i),t&&t(i)})})},[]),{userHabitCurrency:r,mark:i=>{e.markHabit(te,i)}}},Ne=()=>{const t=y.useRef([]),[e,r]=y.useState({});return y.useEffect(()=>{t.current.forEach(s=>{s()}),t.current=[]},[e]),s=>{t.current.push(s),r({})}},Ee=t=>!!m.getCurrencyType(t)&&t.startsWith("_("),xe=t=>{const{defaultPattern:e,action:r,onChange:n}=t,[s,i]=y.useState(()=>m.getDecimalFromPattern(e||"",2)),c=y.useContext(Z),[a,l]=y.useState(()=>m.getCurrencyType(e)||c[0]),p=y.useMemo(()=>c.map(_=>({label:_,value:_})),[]),d=o.useDependency(o.LocaleService).t;r.current=()=>m.setPatternDecimal(`_("${a}"* #,##0${s>0?".0":""}_)`,s);const h=_=>{l(_),n(m.setPatternDecimal(`_("${_}"* #,##0${s>0?".0":""}_)`,s))},S=_=>{const v=_||0;i(v),n(m.setPatternDecimal(`_("${a}"* #,##0${v>0?".0":""}_)`,v))};return u.jsxs("div",{children:[u.jsxs("div",{className:"m-t-16 options",children:[u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:d("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8 w-120",children:u.jsx(E.InputNumber,{value:s,max:20,min:0,onChange:S})})]}),u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:d("sheet.numfmt.currencyType")}),u.jsx("div",{className:"m-t-8 w-140",children:u.jsx(E.Select,{onChange:h,options:p,value:a})})]})]}),u.jsx("div",{className:"describe m-t-14",children:d("sheet.numfmt.accountingDes")})]})},Me=t=>!!m.getCurrencyType(t)&&!t.startsWith("_("),je=t=>{const r=o.useDependency(o.LocaleService).t,n=y.useContext(Z),[s,i]=y.useState(()=>m.getCurrencyType(t.defaultPattern)||n[0]),[c,a]=y.useState(()=>m.getDecimalFromPattern(t.defaultPattern||"",2)),[l,p]=y.useState(()=>{var b;const v=m.getCurrencyFormatOptions(s);return((b=v.find(T=>m.isPatternEqualWithoutDecimal(T.value,t.defaultPattern)))==null?void 0:b.value)||v[0].value}),f=y.useMemo(()=>m.getCurrencyFormatOptions(s),[s]),d=y.useMemo(()=>n.map(v=>({label:v,value:v})),[n]);t.action.current=()=>m.setPatternDecimal(l,c);const h=v=>{if(v===void 0)return;i(v);const P=m.getCurrencyFormatOptions(v)[0].value;p(P),t.onChange(m.setPatternDecimal(P,c))},S=v=>{v!==void 0&&(p(v),t.onChange(m.setPatternDecimal(v,c)))},_=v=>{a(v||0),t.onChange(m.setPatternDecimal(l,v||0))};return u.jsxs("div",{children:[u.jsxs("div",{className:"m-t-16 options",children:[u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:r("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8 w-120",children:u.jsx(E.InputNumber,{value:c,max:20,min:0,onChange:_})})]}),u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:r("sheet.numfmt.currencyType")}),u.jsx("div",{className:"m-t-8 w-140",children:u.jsx(E.Select,{onChange:h,options:d,value:s})})]})]}),u.jsx("div",{className:"m-t-16 label",children:r("sheet.numfmt.negType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{onChange:S,options:f,value:l})}),u.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.currencyDes")})]})};var N=function(){return N=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s])}return t},N.apply(this,arguments)},De=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s<n.length;s++)e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(t,n[s])&&(r[n[s]]=t[n[s]]);return r},oe=y.forwardRef(function(t,e){var r=t.icon,n=t.id,s=t.className,i=t.extend,c=De(t,["icon","id","className","extend"]),a="univerjs-icon univerjs-icon-".concat(n," ").concat(s||"").trim(),l=y.useRef("_".concat(Ue()));return ce(r,"".concat(n),{defIds:r.defIds,idSuffix:l.current},N({ref:e,className:a},c),i)});function ce(t,e,r,n,s){return y.createElement(t.tag,N(N({key:e},Re(t,r,s)),n),(Oe(t,r).children||[]).map(function(i,c){return ce(i,"".concat(e,"-").concat(t.tag,"-").concat(c),r,void 0,s)}))}function Re(t,e,r){var n=N({},t.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1);var s=e.defIds;return!s||s.length===0||(t.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+e.idSuffix),Object.entries(n).forEach(function(i){var c=i[0],a=i[1];typeof a=="string"&&(n[c]=a.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),n}function Oe(t,e){var r,n=e.defIds;return!n||n.length===0?t:t.tag==="defs"&&(!((r=t.children)===null||r===void 0)&&r.length)?N(N({},t),{children:t.children.map(function(s){return typeof s.attrs.id=="string"&&n&&n.indexOf(s.attrs.id)>-1?N(N({},s),{attrs:N(N({},s.attrs),{id:s.attrs.id+e.idSuffix})}):s})}):t}function Ue(){return Math.random().toString(36).substring(2,8)}oe.displayName="UniverIcon";var we={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ae=y.forwardRef(function(t,e){return y.createElement(oe,Object.assign({},t,{id:"check-mark-single",ref:e,icon:we}))});ae.displayName="CheckMarkSingle";const Fe="univer-custom-format-title",$e="univer-custom-format-input",Le="univer-custom-format-history-list",ke="univer-custom-format-history-list-item",He="univer-custom-format-history-list-item-icon-wrap",We="univer-custom-format-des",R={customFormatTitle:Fe,customFormatInput:$e,customFormatHistoryList:Le,customFormatHistoryListItem:ke,customFormatHistoryListItemIconWrap:He,customFormatDes:We},z="customFormat",X="numfmt_custom_pattern";function Ae(t){const{defaultPattern:e,action:r,onChange:n}=t,s=o.useDependency(L),i=o.useDependency(o.ILocalStorageService),c=o.useDependency(o.LocaleService),[a,l]=y.useState(e);r.current=()=>(s.markHabit(z,a),i.getItem(X).then((S=[])=>{const _=[...new Set([a,...S||[]])].splice(0,10).filter(v=>!!v);i.setItem(X,_)}),a);const[p,f]=y.useState([]);y.useEffect(()=>{i.getItem(X).then(S=>{const _=[...m.CURRENCYFORMAT.map(v=>v.suffix("$")),...m.DATEFMTLISG.map(v=>v.suffix),...m.NUMBERFORMAT.map(v=>v.suffix)];_.push(...S||[]),s.addHabit(z,[]).finally(()=>{s.getHabit(z,_).then(v=>{f([...new Set(v)])})})})},[]);const d=S=>{l(S),n(S)},h=()=>{n(a)};return u.jsxs("div",{className:R.customFormat,children:[u.jsx("div",{className:R.customFormatTitle,children:c.t("sheet.numfmt.customFormat")}),u.jsx(E.Input,{placeholder:c.t("sheet.numfmt.customFormat"),onBlur:h,value:a,onChange:l,className:R.customFormatInput}),u.jsx("div",{className:R.customFormatHistoryList,children:p.map(S=>u.jsxs("div",{onClick:()=>d(S),className:R.customFormatHistoryListItem,children:[u.jsx("div",{className:R.customFormatHistoryListItemIconWrap,children:a===S&&u.jsx(ae,{})}),u.jsx("div",{children:S})]},S))}),u.jsx("div",{className:R.customFormatDes,children:c.t("sheet.numfmt.customFormatDes")})]})}const Be=t=>{const e=o.numfmt.getInfo(t);return m.getDateFormatOptions().map(r=>r.value).includes(t)||["date","datetime","time"].includes(e.type)},qe=t=>{const e=y.useMemo(m.getDateFormatOptions,[]),n=o.useDependency(o.LocaleService).t,[s,i]=y.useState(()=>{if(t.defaultPattern){const a=e.find(l=>l.value===t.defaultPattern);if(a)return a.value}return e[0].value});t.action.current=()=>s;const c=a=>{a!==void 0&&(i(a),t.onChange(a))};return u.jsxs("div",{children:[u.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.dateType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{value:s,options:e,onChange:c})}),u.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.dateDes")})]})},Ve=t=>!t,Ge=t=>{const r=o.useDependency(o.LocaleService).t;return t.action.current=()=>"",u.jsx("div",{children:u.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.generalDes")})})},Ke=t=>m.getNumberFormatOptions().some(e=>m.isPatternEqualWithoutDecimal(e.value,t)),Ye=t=>{const e=o.useDependency(o.LocaleService),r=y.useMemo(m.getNumberFormatOptions,[]),[n,s]=y.useState(()=>m.getDecimalFromPattern(t.defaultPattern||"",0)),[i,c]=y.useState(()=>{const d=r.find(h=>m.isPatternEqualWithoutDecimal(h.value,t.defaultPattern||""));return(d==null?void 0:d.value)||r[0].value}),a=y.useMemo(()=>m.setPatternDecimal(i,Number(n||0)),[i,n]),l=y.useMemo(()=>!m.isPatternHasDecimal(i),[i]),p=d=>{s(d||0),t.onChange(m.setPatternDecimal(i,Number(d||0)))},f=d=>{d!==void 0&&(s(m.getDecimalFromPattern(d,0)),c(d),t.onChange(d))};return t.action.current=()=>a,u.jsxs("div",{children:[u.jsx("div",{className:"m-t-16 label",children:e.t("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.InputNumber,{disabled:l,value:n,max:20,min:0,onChange:p})}),u.jsxs("div",{className:"m-t-16 label",children:[" ",e.t("sheet.numfmt.negType")]}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{onChange:f,options:r,value:i})}),u.jsx("div",{className:"describe m-t-14",children:e.t("sheet.numfmt.thousandthPercentileDes")})]})},Je=t=>{const{defaultValue:e,defaultPattern:r,row:n,col:s}=t.value,i=o.useDependency(o.LocaleService),c=y.useRef(()=>""),a=i.t,l=Ne(),p=y.useMemo(()=>[{label:"sheet.numfmt.general",component:Ge},{label:"sheet.numfmt.accounting",component:xe},{label:"sheet.numfmt.currency",component:je},{label:"sheet.numfmt.date",component:qe},{label:"sheet.numfmt.thousandthPercentile",component:Ye},{label:"sheet.numfmt.customFormat",component:Ae}].map(C=>({...C,label:a(C.label)})),[]),[f,d]=y.useState(b),[h,S]=y.useState(()=>`${n}_${s}`),{mark:_,userHabitCurrency:v}=Te(()=>S(`${n}_${s}_userCurrency'`)),P=y.useMemo(()=>{var C;return(C=p.find(O=>O.label===f))==null?void 0:C.component},[f]);function b(){return[Ve,Ee,Me,Be,Ke].reduce((O,he,fe)=>O||(he(r)?p[fe].label:""),"")||p[0].label}const T=p.map(C=>({label:C.label,value:C.label})),x=C=>{d(C),l(()=>t.onChange({type:"change",value:c.current()||""}))},H=C=>{t.onChange({type:"change",value:C})},G=()=>{const C=c.current()||"",O=m.getCurrencyType(C);O&&_(O),t.onChange({type:"confirm",value:C})},U=()=>{t.onChange({type:"cancel",value:""})},K={onChange:H,defaultValue:e,defaultPattern:r,action:c};return y.useEffect(()=>{d(b()),S(`${n}_${s}`)},[n,s]),u.jsxs("div",{className:"numfmt-panel p-b-20",children:[u.jsxs("div",{children:[u.jsx("div",{className:"label m-t-14",children:a("sheet.numfmt.numfmtType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.Select,{onChange:x,options:T,value:f,style:{width:"100%"}})}),u.jsx("div",{children:P&&u.jsx(Z.Provider,{value:v,children:y.createElement(P,{...K,key:h})})})]}),u.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[u.jsx(E.Button,{size:"small",onClick:U,className:"m-r-12",children:a("sheet.numfmt.cancel")}),u.jsx(E.Button,{type:"primary",size:"small",onClick:G,children:a("sheet.numfmt.confirm")})]})]})};var ze=Object.defineProperty,Xe=Object.getOwnPropertyDescriptor,Ze=(t,e,r,n)=>{for(var s=n>1?void 0:n?Xe(e,r):e,i=t.length-1,c;i>=0;i--)(c=t[i])&&(s=(n?c(e,r,s):c(s))||s);return n&&s&&ze(e,r,s),s},M=(t,e)=>(r,n)=>e(r,n,t);const ne="SHEET_NUMFMT_PANEL";let k=class extends o.Disposable{constructor(e,r,n,s,i,c,a,l,p,f){super();W(this,"_previewPattern","");W(this,"_sidebarDisposable",null);this._sheetInterceptorService=e,this._themeService=r,this._univerInstanceService=n,this._commandService=s,this._selectionManagerService=i,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 P;const e=this._sidebarService,r=this._selectionManagerService,n=this._commandService,s=this._univerInstanceService,i=this._numfmtService,c=this._localeService,l=(((P=r.getCurrentSelections())==null?void 0:P.map(b=>b.range))||[])[0];if(!l)return!1;const p=s.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET),f=p.getActiveSheet();if(!f)return!1;const d=f.getCellRaw(l.startRow,l.startColumn),h=i.getValue(p.getUnitId(),f.getSheetId(),l.startRow,l.startColumn);let S="";h&&(S=h.pattern);const _=(d==null?void 0:d.t)===o.CellValueType.NUMBER?d.v:12345678,v={onChange:b=>{var T;if(b.type==="change")this._previewPattern=b.value,this._forceUpdate();else if(b.type==="confirm"){const x=((T=r.getCurrentSelections())==null?void 0:T.map(U=>U.range))||[],H={values:[]},G=m.getPatternType(b.value);x.forEach(U=>{o.Range.foreach(U,(K,C)=>{H.values.push({row:K,col:C,pattern:b.value,type:G})})}),n.executeCommand(m.SetNumfmtCommand.id,H),e.close()}else b.type==="cancel"&&e.close()},value:{defaultPattern:S,defaultValue:_,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=e.open({header:{title:c.t("sheet.numfmt.title")},children:{label:ne,...v},onClose:()=>{this._forceUpdate(),n.executeCommand(Y.id)}}),!0}_forceUpdate(e){var n;const r=this._renderManagerService.getRenderById(e!=null?e:this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET).getUnitId());r==null||r.with(j.SheetSkeletonManagerService).reCalculate(),(n=r==null?void 0:r.mainComponent)==null||n.makeDirty()}_initCommands(){[$,Y].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initPanel(){this._componentManager.register(ne,Je)}_initRealTimeRenderingInterceptor(){const e=new D.Observable(n=>{this._commandService.onCommandExecuted(s=>{s.id===$.id&&n.next(!0),s.id===Y.id&&n.next(!1)})}),r=D.combineLatest([e,this._selectionManagerService.selectionMoveEnd$.pipe(A.map(n=>n?n.map(s=>s.range):[]))]);this.disposeWithMe(o.toDisposable(r.pipe(A.switchMap(([n,s])=>new D.Observable(i=>{const c=new o.DisposableCollection;return n&&s.length&&i.next({selectionRanges:s,disposableCollection:c}),()=>{c.dispose()}})),A.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:s})=>{var c,a;const i=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET);this.openPanel(),n.add(this._sheetInterceptorService.intercept(g.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,effect:o.InterceptorEffectEnum.Value|o.InterceptorEffectEnum.Style,handler:(l,p,f)=>{const{row:d,col:h}=p,S=f(l)||{};if(s.find(_=>_.startColumn<=h&&_.endColumn>=h&&_.startRow<=d&&_.endRow>=d)){const _=p.worksheet.getCellRaw(d,h),v=_==null?void 0:_.v,P=_==null?void 0:_.t;if(v==null||P!==o.CellValueType.NUMBER||this._previewPattern===null)return S;const b=m.getPatternPreviewIgnoreGeneral(this._previewPattern,v,this._localeService.getCurrentLocale());if(b.color){const x=this._themeService.getCurrentTheme()[`${b.color}500`];return{...S,v:b.result,t:o.CellValueType.STRING,s:{cl:{rgb:x}}}}return{...S,v:b.result,t:o.CellValueType.STRING}}return S}})),(a=(c=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:c.mainComponent)==null||a.makeDirty()})))}_commandExecutedListener(){const e=[g.RemoveNumfmtMutation.id,g.SetNumfmtMutation.id];this.disposeWithMe(new D.Observable(r=>{const n=this._commandService.onCommandExecuted(s=>{if(e.includes(s.id)){const i=s.params;r.next(i.unitId)}});return()=>n.dispose()}).pipe(A.debounceTime(16)).subscribe(r=>this._forceUpdate(r)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(o.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{var r;e||((r=this._sidebarDisposable)==null||r.dispose(),this._sidebarDisposable=null)})}};k=Ze([M(0,o.Inject(g.SheetInterceptorService)),M(1,o.Inject(o.ThemeService)),M(2,o.IUniverInstanceService),M(3,o.ICommandService),M(4,o.Inject(g.SheetsSelectionsService)),M(5,Se.IRenderManagerService),M(6,g.INumfmtService),M(7,o.Inject(I.ComponentManager)),M(8,I.ISidebarService),M(9,o.Inject(o.LocaleService))],k);var Qe=Object.defineProperty,et=Object.getOwnPropertyDescriptor,tt=(t,e,r,n)=>{for(var s=n>1?void 0:n?et(e,r):e,i=t.length-1,c;i>=0;i--)(c=t[i])&&(s=(n?c(e,r,s):c(s))||s);return n&&s&&Qe(e,r,s),s},F=(t,e)=>(r,n)=>e(r,n,t);const nt=()=>{let t=[];return{add:(s,i,c,a,l)=>t.push({unitId:s,subUnitId:i,row:c,col:a,value:l}),getEffects:()=>t,clean:()=>{t=[]}}};let q=class extends o.Disposable{constructor(e,r,n,s,i){super();W(this,"_collectEffectMutation",nt());this._sheetInterceptorService=e,this._numfmtService=r,this._univerInstanceService=n,this._injector=s,this._editorBridgeService=i,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe(o.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(g.BEFORE_CELL_EDIT,{handler:(e,r,n)=>{const s=r.row,i=r.col,c=this._numfmtService.getValue(r.unitId,r.subUnitId,s,i);if(c)switch(m.getPatternType(c.pattern)){case"scientific":case"currency":case"grouped":case"number":return r.worksheet.getCellRaw(s,i);case"percent":case"date":case"time":case"datetime":default:return n&&n(e)}return n(e)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(o.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(g.AFTER_CELL_EDIT,{handler:(e,r,n)=>{var f,d,h,S;this._collectEffectMutation.clean();const s=this._numfmtService.getValue(r.unitId,r.subUnitId,r.row,r.col),i=(f=s&&m.getPatternType(s.pattern))!=null?f:"",c=()=>{s&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,null)};if(!(e!=null&&e.v)&&!(e!=null&&e.p)||(s==null?void 0:s.pattern)===ie.DEFAULT_TEXT_FORMAT)return n(e);const a=(d=e.p)==null?void 0:d.body,l=(S=(h=e==null?void 0:e.p)==null?void 0:h.body)!=null&&S.dataStream?e.p.body.dataStream.replace(/\r\n$/,""):String(e.v),p=o.numfmt.parseDate(l)||o.numfmt.parseTime(l)||o.numfmt.parseNumber(l);if(a)if(st(a)){const{dataStream:_}=a,v=_.replace(/\r\n$/,""),P=Number(v);if(Number.isNaN(P)&&!p)return n(e)}else return n(e);if(p){p.z&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,{pattern:p.z});const _=Number(p.v);return n({...e,p:void 0,v:_,t:o.CellValueType.NUMBER})}else(["date","time","datetime","percent"].includes(i)||!rt(l))&&c();return n(e)}})))}_initInterceptorCommands(){const e=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(r){var n;switch(r.id){case g.SetRangeValuesCommand.id:{const s=e._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET),i=s.getUnitId(),c=(n=s.getActiveSheet())==null?void 0:n.getSheetId();if(!c)return{redos:[],undos:[]};const a=e._collectEffectMutation.getEffects();if(e._collectEffectMutation.clean(),!a.length)return{redos:[],undos:[]};const l=a.filter(h=>{var S;return!!((S=h.value)!=null&&S.pattern)}).map(h=>({row:h.row,col:h.col,pattern:h.value.pattern})),p=a.filter(h=>{var S;return!((S=h.value)!=null&&S.pattern)}).map(h=>({startRow:h.row,endColumn:h.col,startColumn:h.col,endRow:h.row})),f=[],d=[];if(l.length){const h={id:g.SetNumfmtMutation.id,params:g.transformCellsToRange(i,c,l)};f.push(h),d.push(...g.factorySetNumfmtUndoMutation(e._injector,h.params))}if(p.length){const h={id:g.RemoveNumfmtMutation.id,params:{unitId:i,subUnitId:c,ranges:p}};f.push(h),d.push(...g.factoryRemoveNumfmtUndoMutation(e._injector,h.params))}return{redos:f,undos:d.reverse()}}}return{redos:[],undos:[]}}}))}};q=tt([F(0,o.Inject(g.SheetInterceptorService)),F(1,o.Inject(g.INumfmtService)),F(2,o.Inject(o.IUniverInstanceService)),F(3,o.Inject(o.Injector)),F(4,o.Optional(j.IEditorBridgeService))],q);function rt(t){return/^-?\d+(\.\d+)?$/.test(t)}function st(t){const{textRuns:e=[],paragraphs:r=[],customRanges:n,customBlocks:s=[]}=t,i=["va"];return!(e.some(c=>!!(c.ts&&Object.keys(c.ts).some(l=>i.includes(l))))||r.some(c=>c.bullet)||r.length>=2||n!=null&&n.length||s.length>0)}const B=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:ie.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:""}],it=t=>({icon:new D.Observable(e=>{const r=t.get(m.MenuCurrencyService);function n(i){return{[m.countryCurrencyMap.US]:"DollarSingle",[m.countryCurrencyMap.RU]:"RoubleSingle",[m.countryCurrencyMap.CN]:"RmbSingle",[m.countryCurrencyMap.AT]:"EuroSingle"}[i]||"DollarSingle"}const s=m.countryCurrencyMap[r.getCurrencySymbol()]||"$";return e.next(n(s)),r.currencySymbol$.subscribe(i=>{const c=m.countryCurrencyMap[i]||"$";e.next(n(c))})}),id:m.SetCurrencyCommand.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:I.MenuItemType.BUTTON,hidden$:I.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}),ot=t=>({icon:"AddDigitsSingle",id:m.AddDecimalCommand.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:I.MenuItemType.BUTTON,hidden$:I.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}),ct=t=>({icon:"ReduceDigitsSingle",id:m.SubtractDecimalCommand.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:I.MenuItemType.BUTTON,hidden$:I.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}),at=t=>({icon:"PercentSingle",id:m.SetPercentCommand.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:I.MenuItemType.BUTTON,hidden$:I.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}),lt=t=>{const e=t.get(o.IUniverInstanceService),r=t.get(o.ICommandService),n=t.get(o.LocaleService),s=t.get(g.SheetsSelectionsService),i=j.deriveStateFromActiveSheet$(e,"",({workbook:c,worksheet:a})=>new D.Observable(l=>D.merge(s.selectionMoveEnd$,new D.Observable(p=>{const f=[g.RemoveNumfmtMutation.id,g.SetNumfmtMutation.id],d=r.onCommandExecuted(h=>{f.includes(h.id)&&p.next(null)});return()=>d.dispose()})).subscribe(()=>{var f,d;const p=s.getCurrentSelections();if(p&&p[0]){const h=p[0].range,S=h.startRow,_=h.startColumn,v=(d=c.getStyles().get((f=a.getCell(S,_))==null?void 0:f.s))==null?void 0:d.n,P=v==null?void 0:v.pattern;let b=n.t("sheet.numfmt.general");if(P){const T=B.filter(x=>typeof x=="object"&&x.pattern).find(x=>m.isPatternEqualWithoutDecimal(P,x.pattern));T&&typeof T=="object"&&T.pattern?b=n.t(T.label):b=n.t("sheet.numfmt.moreFmt")}l.next(b)}})));return{label:le,id:$.id,tooltip:"sheet.numfmt.title",type:I.MenuItemType.SELECTOR,selections:[{label:{name:ue,hoverable:!1}}],value$:i,hidden$:I.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetSetCellStylePermission,g.WorksheetEditPermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}},le="sheet.numfmt.moreNumfmtType",ue="sheet.numfmt.moreNumfmtType.options",ut=t=>{var n;const e=o.useDependency(o.LocaleService),r=(n=t.value)!=null?n:e.t("sheet.numfmt.general");return u.jsx("span",{className:"more-numfmt-type",children:r})},mt=()=>{const t=o.useDependency(o.ICommandService),e=o.useDependency(o.LocaleService),r=o.useDependency(I.ILayoutService);o.useInjector();const n=o.useDependency(g.SheetsSelectionsService),s=a=>{const l=n.getCurrentLastSelection();if(!l)return;const p=l.range,f=[];o.Range.foreach(p,(d,h)=>{a?f.push({row:d,col:h,pattern:a,type:m.getPatternType(a)}):f.push({row:d,col:h})}),t.executeCommand(m.SetNumfmtCommand.id,{values:f}),r.focus()},i=a=>{if(a===0)s(null);else if(a===B.length-1)t.executeCommand($.id);else{const l=B[a];l.pattern&&s(l.pattern)}},c=1220;return u.jsx("div",{className:"more-numfmt-type-options",children:B.map((a,l)=>a==="|"?u.jsx("div",{className:"line m-t-4",onClick:p=>p.stopPropagation()},l):u.jsxs("div",{className:"option-item m-t-4",onClick:()=>{i(l)},children:[u.jsx("div",{children:e.t(a.label)}),u.jsx("div",{className:"m-l-26",children:a.pattern?m.getPatternPreview(a.pattern||"",c,e.getCurrentLocale()).result:""})]},l))})},dt={[I.RibbonStartGroup.FORMULAS_INSERT]:{[m.SetCurrencyCommand.id]:{order:4,menuItemFactory:it},[m.AddDecimalCommand.id]:{order:5,menuItemFactory:ot},[m.SubtractDecimalCommand.id]:{order:6,menuItemFactory:ct},[m.SetPercentCommand.id]:{order:7,menuItemFactory:at},[$.id]:{order:8,menuItemFactory:lt}}};var ht=Object.defineProperty,ft=Object.getOwnPropertyDescriptor,pt=(t,e,r,n)=>{for(var s=n>1?void 0:n?ft(e,r):e,i=t.length-1,c;i>=0;i--)(c=t[i])&&(s=(n?c(e,r,s):c(s))||s);return n&&s&&ht(e,r,s),s},re=(t,e)=>(r,n)=>e(r,n,t);let V=class extends o.Disposable{constructor(t,e){super(),this._componentManager=t,this._menuManagerService=e,this._initMenu()}_initMenu(){this._menuManagerService.mergeMenu(dt),this.disposeWithMe(this._componentManager.register(le,ut)),this.disposeWithMe(this._componentManager.register(ue,mt))}};V=pt([re(0,o.Inject(I.ComponentManager)),re(1,I.IMenuManagerService)],V);var me=Object.defineProperty,vt=Object.getOwnPropertyDescriptor,St=(t,e,r)=>e in t?me(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,gt=(t,e,r,n)=>{for(var s=n>1?void 0:n?vt(e,r):e,i=t.length-1,c;i>=0;i--)(c=t[i])&&(s=(n?c(e,r,s):c(s))||s);return n&&s&&me(e,r,s),s},se=(t,e)=>(r,n)=>e(r,n,t),de=(t,e,r)=>St(t,typeof e!="symbol"?e+"":e,r);const yt="SHEET_NUMFMT_UI_PLUGIN";exports.UniverSheetsNumfmtUIPlugin=class extends o.Plugin{constructor(e=ge,r,n){super(),this._config=e,this._injector=r,this._configService=n;const{menu:s,...i}=this._config;s&&this._configService.setConfig("menu",s,{merge:!0}),this._configService.setConfig(I.UI_PLUGIN_CONFIG_KEY,i)}onStarting(){o.registerDependencies(this._injector,[[k],[q],[L],[V]])}onRendered(){o.touchDependencies(this._injector,[[k],[q],[V]])}};de(exports.UniverSheetsNumfmtUIPlugin,"pluginName",yt);de(exports.UniverSheetsNumfmtUIPlugin,"type",o.UniverInstanceType.UNIVER_SHEET);exports.UniverSheetsNumfmtUIPlugin=gt([o.DependentOn(j.UniverSheetsUIPlugin,m.UniverSheetsNumfmtPlugin),se(1,o.Inject(o.Injector)),se(2,o.IConfigService)],exports.UniverSheetsNumfmtUIPlugin);
9
+ */var ee;function ye(){if(ee)return w;ee=1;var t=y,e=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,s=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function c(a,l,p){var f,d={},h=null,S=null;p!==void 0&&(h=""+p),l.key!==void 0&&(h=""+l.key),l.ref!==void 0&&(S=l.ref);for(f in l)n.call(l,f)&&!i.hasOwnProperty(f)&&(d[f]=l[f]);if(a&&a.defaultProps)for(f in l=a.defaultProps,l)d[f]===void 0&&(d[f]=l[f]);return{$$typeof:e,type:a,key:h,ref:S,props:d,_owner:s.current}}return w.Fragment=r,w.jsx=c,w.jsxs=c,w}var te;function _e(){return te||(te=1,J.exports=ye()),J.exports}var u=_e(),be=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,Ie=(t,e,r,n)=>{for(var s=n>1?void 0:n?Ce(e,r):e,i=t.length-1,c;i>=0;i--)(c=t[i])&&(s=(n?c(e,r,s):c(s))||s);return n&&s&&be(e,r,s),s},Pe=(t,e)=>(r,n)=>e(r,n,t);const Z=y.createContext([]);let L=class{constructor(t){this._localStorageService=t}_getKey(t){return`userHabitController_${t}`}async addHabit(t,e){const r=this._getKey(t);return this._localStorageService.getItem(r).then(n=>{n||this._localStorageService.setItem(r,e)})}markHabit(t,e){const r=this._getKey(t);this._localStorageService.getItem(r).then(n=>{if(n){const s=n.findIndex(i=>i===e);s>-1&&n.splice(s,1),n.unshift(e),this._localStorageService.setItem(r,n)}})}async getHabit(t,e){const r=this._getKey(t),n=await this._localStorageService.getItem(r);if(e&&n){const s=n.map((i,c,a)=>{const l=a.length;return{value:i,priority:l-c}});return e.sort((i,c)=>{var p,f;const a=((p=s.find(d=>d.value===i))==null?void 0:p.priority)||-1;return(((f=s.find(d=>d.value===c))==null?void 0:f.priority)||-1)-a})}return n||[]}deleteHabit(t){this._localStorageService.removeItem(t)}};L=Ie([Pe(0,o.Inject(o.ILocalStorageService))],L);const ne="numfmtCurrency",Te=t=>{const e=o.useDependency(L),[r,n]=y.useState(m.currencySymbols);return y.useEffect(()=>{e.addHabit("numfmtCurrency",[]).then(()=>{e.getHabit(ne,[...m.currencySymbols]).then(i=>{n(i),t&&t(i)})})},[]),{userHabitCurrency:r,mark:i=>{e.markHabit(ne,i)}}},Ne=()=>{const t=y.useRef([]),[e,r]=y.useState({});return y.useEffect(()=>{t.current.forEach(s=>{s()}),t.current=[]},[e]),s=>{t.current.push(s),r({})}},Ee=t=>!!m.getCurrencyType(t)&&t.startsWith("_("),xe=t=>{const{defaultPattern:e,action:r,onChange:n}=t,[s,i]=y.useState(()=>m.getDecimalFromPattern(e||"",2)),c=y.useContext(Z),[a,l]=y.useState(()=>m.getCurrencyType(e)||c[0]),p=y.useMemo(()=>c.map(_=>({label:_,value:_})),[]),d=o.useDependency(o.LocaleService).t;r.current=()=>m.setPatternDecimal(`_("${a}"* #,##0${s>0?".0":""}_)`,s);const h=_=>{l(_),n(m.setPatternDecimal(`_("${_}"* #,##0${s>0?".0":""}_)`,s))},S=_=>{const v=_||0;i(v),n(m.setPatternDecimal(`_("${a}"* #,##0${v>0?".0":""}_)`,v))};return u.jsxs("div",{children:[u.jsxs("div",{className:"m-t-16 options",children:[u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:d("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8 w-120",children:u.jsx(E.InputNumber,{value:s,max:20,min:0,onChange:S})})]}),u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:d("sheet.numfmt.currencyType")}),u.jsx("div",{className:"m-t-8 w-140",children:u.jsx(E.Select,{onChange:h,options:p,value:a})})]})]}),u.jsx("div",{className:"describe m-t-14",children:d("sheet.numfmt.accountingDes")})]})},Me=t=>!!m.getCurrencyType(t)&&!t.startsWith("_("),je=t=>{const r=o.useDependency(o.LocaleService).t,n=y.useContext(Z),[s,i]=y.useState(()=>m.getCurrencyType(t.defaultPattern)||n[0]),[c,a]=y.useState(()=>m.getDecimalFromPattern(t.defaultPattern||"",2)),[l,p]=y.useState(()=>{var b;const v=m.getCurrencyFormatOptions(s);return((b=v.find(T=>m.isPatternEqualWithoutDecimal(T.value,t.defaultPattern)))==null?void 0:b.value)||v[0].value}),f=y.useMemo(()=>m.getCurrencyFormatOptions(s),[s]),d=y.useMemo(()=>n.map(v=>({label:v,value:v})),[n]);t.action.current=()=>m.setPatternDecimal(l,c);const h=v=>{if(v===void 0)return;i(v);const P=m.getCurrencyFormatOptions(v)[0].value;p(P),t.onChange(m.setPatternDecimal(P,c))},S=v=>{v!==void 0&&(p(v),t.onChange(m.setPatternDecimal(v,c)))},_=v=>{a(v||0),t.onChange(m.setPatternDecimal(l,v||0))};return u.jsxs("div",{children:[u.jsxs("div",{className:"m-t-16 options",children:[u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:r("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8 w-120",children:u.jsx(E.InputNumber,{value:c,max:20,min:0,onChange:_})})]}),u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:r("sheet.numfmt.currencyType")}),u.jsx("div",{className:"m-t-8 w-140",children:u.jsx(E.Select,{onChange:h,options:d,value:s})})]})]}),u.jsx("div",{className:"m-t-16 label",children:r("sheet.numfmt.negType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{onChange:S,options:f,value:l})}),u.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.currencyDes")})]})};var N=function(){return N=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s])}return t},N.apply(this,arguments)},De=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s<n.length;s++)e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(t,n[s])&&(r[n[s]]=t[n[s]]);return r},ce=y.forwardRef(function(t,e){var r=t.icon,n=t.id,s=t.className,i=t.extend,c=De(t,["icon","id","className","extend"]),a="univerjs-icon univerjs-icon-".concat(n," ").concat(s||"").trim(),l=y.useRef("_".concat(Ue()));return ae(r,"".concat(n),{defIds:r.defIds,idSuffix:l.current},N({ref:e,className:a},c),i)});function ae(t,e,r,n,s){return y.createElement(t.tag,N(N({key:e},Re(t,r,s)),n),(Oe(t,r).children||[]).map(function(i,c){return ae(i,"".concat(e,"-").concat(t.tag,"-").concat(c),r,void 0,s)}))}function Re(t,e,r){var n=N({},t.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1);var s=e.defIds;return!s||s.length===0||(t.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+e.idSuffix),Object.entries(n).forEach(function(i){var c=i[0],a=i[1];typeof a=="string"&&(n[c]=a.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),n}function Oe(t,e){var r,n=e.defIds;return!n||n.length===0?t:t.tag==="defs"&&(!((r=t.children)===null||r===void 0)&&r.length)?N(N({},t),{children:t.children.map(function(s){return typeof s.attrs.id=="string"&&n&&n.indexOf(s.attrs.id)>-1?N(N({},s),{attrs:N(N({},s.attrs),{id:s.attrs.id+e.idSuffix})}):s})}):t}function Ue(){return Math.random().toString(36).substring(2,8)}ce.displayName="UniverIcon";var we={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z",fillRule:"evenodd",clipRule:"evenodd"}}]},le=y.forwardRef(function(t,e){return y.createElement(ce,Object.assign({},t,{id:"check-mark-single",ref:e,icon:we}))});le.displayName="CheckMarkSingle";const Fe="univer-custom-format-title",$e="univer-custom-format-input",Le="univer-custom-format-history-list",ke="univer-custom-format-history-list-item",He="univer-custom-format-history-list-item-icon-wrap",We="univer-custom-format-des",R={customFormatTitle:Fe,customFormatInput:$e,customFormatHistoryList:Le,customFormatHistoryListItem:ke,customFormatHistoryListItemIconWrap:He,customFormatDes:We},z="customFormat",X="numfmt_custom_pattern";function Ae(t){const{defaultPattern:e,action:r,onChange:n}=t,s=o.useDependency(L),i=o.useDependency(o.ILocalStorageService),c=o.useDependency(o.LocaleService),[a,l]=y.useState(e);r.current=()=>(s.markHabit(z,a),i.getItem(X).then((S=[])=>{const _=[...new Set([a,...S||[]])].splice(0,10).filter(v=>!!v);i.setItem(X,_)}),a);const[p,f]=y.useState([]);y.useEffect(()=>{i.getItem(X).then(S=>{const _=[...m.CURRENCYFORMAT.map(v=>v.suffix("$")),...m.DATEFMTLISG.map(v=>v.suffix),...m.NUMBERFORMAT.map(v=>v.suffix)];_.push(...S||[]),s.addHabit(z,[]).finally(()=>{s.getHabit(z,_).then(v=>{f([...new Set(v)])})})})},[]);const d=S=>{l(S),n(S)},h=()=>{n(a)};return u.jsxs("div",{className:R.customFormat,children:[u.jsx("div",{className:R.customFormatTitle,children:c.t("sheet.numfmt.customFormat")}),u.jsx(E.Input,{placeholder:c.t("sheet.numfmt.customFormat"),onBlur:h,value:a,onChange:l,className:R.customFormatInput}),u.jsx("div",{className:R.customFormatHistoryList,children:p.map(S=>u.jsxs("div",{onClick:()=>d(S),className:R.customFormatHistoryListItem,children:[u.jsx("div",{className:R.customFormatHistoryListItemIconWrap,children:a===S&&u.jsx(le,{})}),u.jsx("div",{children:S})]},S))}),u.jsx("div",{className:R.customFormatDes,children:c.t("sheet.numfmt.customFormatDes")})]})}const Be=t=>{const e=o.numfmt.getInfo(t);return m.getDateFormatOptions().map(r=>r.value).includes(t)||["date","datetime","time"].includes(e.type)},qe=t=>{const e=y.useMemo(m.getDateFormatOptions,[]),n=o.useDependency(o.LocaleService).t,[s,i]=y.useState(()=>{if(t.defaultPattern){const a=e.find(l=>l.value===t.defaultPattern);if(a)return a.value}return e[0].value});t.action.current=()=>s;const c=a=>{a!==void 0&&(i(a),t.onChange(a))};return u.jsxs("div",{children:[u.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.dateType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{value:s,options:e,onChange:c})}),u.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.dateDes")})]})},Ve=t=>!t,Ge=t=>{const r=o.useDependency(o.LocaleService).t;return t.action.current=()=>"",u.jsx("div",{children:u.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.generalDes")})})},Ke=t=>m.getNumberFormatOptions().some(e=>m.isPatternEqualWithoutDecimal(e.value,t)),Ye=t=>{const e=o.useDependency(o.LocaleService),r=y.useMemo(m.getNumberFormatOptions,[]),[n,s]=y.useState(()=>m.getDecimalFromPattern(t.defaultPattern||"",0)),[i,c]=y.useState(()=>{const d=r.find(h=>m.isPatternEqualWithoutDecimal(h.value,t.defaultPattern||""));return(d==null?void 0:d.value)||r[0].value}),a=y.useMemo(()=>m.setPatternDecimal(i,Number(n||0)),[i,n]),l=y.useMemo(()=>!m.isPatternHasDecimal(i),[i]),p=d=>{s(d||0),t.onChange(m.setPatternDecimal(i,Number(d||0)))},f=d=>{d!==void 0&&(s(m.getDecimalFromPattern(d,0)),c(d),t.onChange(d))};return t.action.current=()=>a,u.jsxs("div",{children:[u.jsx("div",{className:"m-t-16 label",children:e.t("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.InputNumber,{disabled:l,value:n,max:20,min:0,onChange:p})}),u.jsxs("div",{className:"m-t-16 label",children:[" ",e.t("sheet.numfmt.negType")]}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{onChange:f,options:r,value:i})}),u.jsx("div",{className:"describe m-t-14",children:e.t("sheet.numfmt.thousandthPercentileDes")})]})},Je=t=>{const{defaultValue:e,defaultPattern:r,row:n,col:s}=t.value,i=o.useDependency(o.LocaleService),c=y.useRef(()=>""),a=i.t,l=Ne(),p=y.useMemo(()=>[{label:"sheet.numfmt.general",component:Ge},{label:"sheet.numfmt.accounting",component:xe},{label:"sheet.numfmt.currency",component:je},{label:"sheet.numfmt.date",component:qe},{label:"sheet.numfmt.thousandthPercentile",component:Ye},{label:"sheet.numfmt.customFormat",component:Ae}].map(C=>({...C,label:a(C.label)})),[]),[f,d]=y.useState(b),[h,S]=y.useState(()=>`${n}_${s}`),{mark:_,userHabitCurrency:v}=Te(()=>S(`${n}_${s}_userCurrency'`)),P=y.useMemo(()=>{var C;return(C=p.find(O=>O.label===f))==null?void 0:C.component},[f]);function b(){return[Ve,Ee,Me,Be,Ke].reduce((O,fe,pe)=>O||(fe(r)?p[pe].label:""),"")||p[0].label}const T=p.map(C=>({label:C.label,value:C.label})),x=C=>{d(C),l(()=>t.onChange({type:"change",value:c.current()||""}))},H=C=>{t.onChange({type:"change",value:C})},G=()=>{const C=c.current()||"",O=m.getCurrencyType(C);O&&_(O),t.onChange({type:"confirm",value:C})},U=()=>{t.onChange({type:"cancel",value:""})},K={onChange:H,defaultValue:e,defaultPattern:r,action:c};return y.useEffect(()=>{d(b()),S(`${n}_${s}`)},[n,s]),u.jsxs("div",{className:"numfmt-panel p-b-20",children:[u.jsxs("div",{children:[u.jsx("div",{className:"label m-t-14",children:a("sheet.numfmt.numfmtType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.Select,{onChange:x,options:T,value:f,style:{width:"100%"}})}),u.jsx("div",{children:P&&u.jsx(Z.Provider,{value:v,children:y.createElement(P,{...K,key:h})})})]}),u.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[u.jsx(E.Button,{size:"small",onClick:U,className:"m-r-12",children:a("sheet.numfmt.cancel")}),u.jsx(E.Button,{type:"primary",size:"small",onClick:G,children:a("sheet.numfmt.confirm")})]})]})};var ze=Object.defineProperty,Xe=Object.getOwnPropertyDescriptor,Ze=(t,e,r,n)=>{for(var s=n>1?void 0:n?Xe(e,r):e,i=t.length-1,c;i>=0;i--)(c=t[i])&&(s=(n?c(e,r,s):c(s))||s);return n&&s&&ze(e,r,s),s},M=(t,e)=>(r,n)=>e(r,n,t);const re="SHEET_NUMFMT_PANEL";let k=class extends o.Disposable{constructor(e,r,n,s,i,c,a,l,p,f){super();W(this,"_previewPattern","");W(this,"_sidebarDisposable",null);this._sheetInterceptorService=e,this._themeService=r,this._univerInstanceService=n,this._commandService=s,this._selectionManagerService=i,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 P;const e=this._sidebarService,r=this._selectionManagerService,n=this._commandService,s=this._univerInstanceService,i=this._numfmtService,c=this._localeService,l=(((P=r.getCurrentSelections())==null?void 0:P.map(b=>b.range))||[])[0];if(!l)return!1;const p=s.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET),f=p.getActiveSheet();if(!f)return!1;const d=f.getCellRaw(l.startRow,l.startColumn),h=i.getValue(p.getUnitId(),f.getSheetId(),l.startRow,l.startColumn);let S="";h&&(S=h.pattern);const _=(d==null?void 0:d.t)===o.CellValueType.NUMBER?d.v:12345678,v={onChange:b=>{var T;if(b.type==="change")this._previewPattern=b.value,this._forceUpdate();else if(b.type==="confirm"){const x=((T=r.getCurrentSelections())==null?void 0:T.map(U=>U.range))||[],H={values:[]},G=m.getPatternType(b.value);x.forEach(U=>{o.Range.foreach(U,(K,C)=>{H.values.push({row:K,col:C,pattern:b.value,type:G})})}),n.executeCommand(m.SetNumfmtCommand.id,H),e.close()}else b.type==="cancel"&&e.close()},value:{defaultPattern:S,defaultValue:_,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=e.open({header:{title:c.t("sheet.numfmt.title")},children:{label:re,...v},onClose:()=>{this._forceUpdate(),n.executeCommand(Y.id)}}),!0}_forceUpdate(e){var n;const r=this._renderManagerService.getRenderById(e!=null?e:this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET).getUnitId());r==null||r.with(j.SheetSkeletonManagerService).reCalculate(),(n=r==null?void 0:r.mainComponent)==null||n.makeDirty()}_initCommands(){[$,Y].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initPanel(){this._componentManager.register(re,Je)}_initRealTimeRenderingInterceptor(){const e=new D.Observable(n=>{this._commandService.onCommandExecuted(s=>{s.id===$.id&&n.next(!0),s.id===Y.id&&n.next(!1)})}),r=D.combineLatest([e,this._selectionManagerService.selectionMoveEnd$.pipe(A.map(n=>n?n.map(s=>s.range):[]))]);this.disposeWithMe(o.toDisposable(r.pipe(A.switchMap(([n,s])=>new D.Observable(i=>{const c=new o.DisposableCollection;return n&&s.length&&i.next({selectionRanges:s,disposableCollection:c}),()=>{c.dispose()}})),A.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:s})=>{var c,a;const i=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET);this.openPanel(),n.add(this._sheetInterceptorService.intercept(g.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,effect:o.InterceptorEffectEnum.Value|o.InterceptorEffectEnum.Style,handler:(l,p,f)=>{const{row:d,col:h}=p,S=f(l)||{};if(s.find(_=>_.startColumn<=h&&_.endColumn>=h&&_.startRow<=d&&_.endRow>=d)){const _=p.worksheet.getCellRaw(d,h),v=_==null?void 0:_.v,P=_==null?void 0:_.t;if(v==null||P!==o.CellValueType.NUMBER||this._previewPattern===null)return S;const b=m.getPatternPreviewIgnoreGeneral(this._previewPattern,v,this._localeService.getCurrentLocale());if(b.color){const x=this._themeService.getCurrentTheme()[`${b.color}500`];return{...S,v:b.result,t:o.CellValueType.STRING,s:{cl:{rgb:x}}}}return{...S,v:b.result,t:o.CellValueType.STRING}}return S}})),(a=(c=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:c.mainComponent)==null||a.makeDirty()})))}_commandExecutedListener(){const e=[g.RemoveNumfmtMutation.id,g.SetNumfmtMutation.id];this.disposeWithMe(new D.Observable(r=>{const n=this._commandService.onCommandExecuted(s=>{if(e.includes(s.id)){const i=s.params;r.next(i.unitId)}});return()=>n.dispose()}).pipe(A.debounceTime(16)).subscribe(r=>this._forceUpdate(r)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(o.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{var r;e||((r=this._sidebarDisposable)==null||r.dispose(),this._sidebarDisposable=null)})}};k=Ze([M(0,o.Inject(g.SheetInterceptorService)),M(1,o.Inject(o.ThemeService)),M(2,o.IUniverInstanceService),M(3,o.ICommandService),M(4,o.Inject(g.SheetsSelectionsService)),M(5,ge.IRenderManagerService),M(6,g.INumfmtService),M(7,o.Inject(I.ComponentManager)),M(8,I.ISidebarService),M(9,o.Inject(o.LocaleService))],k);var Qe=Object.defineProperty,et=Object.getOwnPropertyDescriptor,tt=(t,e,r,n)=>{for(var s=n>1?void 0:n?et(e,r):e,i=t.length-1,c;i>=0;i--)(c=t[i])&&(s=(n?c(e,r,s):c(s))||s);return n&&s&&Qe(e,r,s),s},F=(t,e)=>(r,n)=>e(r,n,t);const nt=()=>{let t=[];return{add:(s,i,c,a,l)=>t.push({unitId:s,subUnitId:i,row:c,col:a,value:l}),getEffects:()=>t,clean:()=>{t=[]}}};let q=class extends o.Disposable{constructor(e,r,n,s,i){super();W(this,"_collectEffectMutation",nt());this._sheetInterceptorService=e,this._numfmtService=r,this._univerInstanceService=n,this._injector=s,this._editorBridgeService=i,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe(o.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(g.BEFORE_CELL_EDIT,{handler:(e,r,n)=>{const s=r.row,i=r.col,c=this._numfmtService.getValue(r.unitId,r.subUnitId,s,i);if(c)switch(m.getPatternType(c.pattern)){case"scientific":case"currency":case"grouped":case"number":return r.worksheet.getCellRaw(s,i);case"percent":case"date":case"time":case"datetime":default:return n&&n(e)}return n(e)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(o.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(g.AFTER_CELL_EDIT,{handler:(e,r,n)=>{var f,d,h,S;this._collectEffectMutation.clean();const s=this._numfmtService.getValue(r.unitId,r.subUnitId,r.row,r.col),i=(f=s&&m.getPatternType(s.pattern))!=null?f:"",c=()=>{s&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,null)};if(!(e!=null&&e.v)&&!(e!=null&&e.p)||(s==null?void 0:s.pattern)===oe.DEFAULT_TEXT_FORMAT)return n(e);const a=(d=e.p)==null?void 0:d.body,l=(S=(h=e==null?void 0:e.p)==null?void 0:h.body)!=null&&S.dataStream?e.p.body.dataStream.replace(/\r\n$/,""):String(e.v),p=o.numfmt.parseDate(l)||o.numfmt.parseTime(l)||o.numfmt.parseNumber(l);if(a)if(st(a)){const{dataStream:_}=a,v=_.replace(/\r\n$/,""),P=Number(v);if(Number.isNaN(P)&&!p)return n(e)}else return n(e);if(p){p.z&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,{pattern:p.z});const _=Number(p.v);return n({...e,p:void 0,v:_,t:o.CellValueType.NUMBER})}else(["date","time","datetime","percent"].includes(i)||!rt(l))&&c();return n(e)}})))}_initInterceptorCommands(){const e=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(r){var n;switch(r.id){case g.SetRangeValuesCommand.id:{const s=e._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET),i=s.getUnitId(),c=(n=s.getActiveSheet())==null?void 0:n.getSheetId();if(!c)return{redos:[],undos:[]};const a=e._collectEffectMutation.getEffects();if(e._collectEffectMutation.clean(),!a.length)return{redos:[],undos:[]};const l=a.filter(h=>{var S;return!!((S=h.value)!=null&&S.pattern)}).map(h=>({row:h.row,col:h.col,pattern:h.value.pattern})),p=a.filter(h=>{var S;return!((S=h.value)!=null&&S.pattern)}).map(h=>({startRow:h.row,endColumn:h.col,startColumn:h.col,endRow:h.row})),f=[],d=[];if(l.length){const h={id:g.SetNumfmtMutation.id,params:g.transformCellsToRange(i,c,l)};f.push(h),d.push(...g.factorySetNumfmtUndoMutation(e._injector,h.params))}if(p.length){const h={id:g.RemoveNumfmtMutation.id,params:{unitId:i,subUnitId:c,ranges:p}};f.push(h),d.push(...g.factoryRemoveNumfmtUndoMutation(e._injector,h.params))}return{redos:f,undos:d.reverse()}}}return{redos:[],undos:[]}}}))}};q=tt([F(0,o.Inject(g.SheetInterceptorService)),F(1,o.Inject(g.INumfmtService)),F(2,o.Inject(o.IUniverInstanceService)),F(3,o.Inject(o.Injector)),F(4,o.Optional(j.IEditorBridgeService))],q);function rt(t){return/^-?\d+(\.\d+)?$/.test(t)}function st(t){const{textRuns:e=[],paragraphs:r=[],customRanges:n,customBlocks:s=[]}=t,i=["va"];return!(e.some(c=>!!(c.ts&&Object.keys(c.ts).some(l=>i.includes(l))))||r.some(c=>c.bullet)||r.length>=2||n!=null&&n.length||s.length>0)}const B=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:oe.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:""}],it=t=>({icon:new D.Observable(e=>{const r=t.get(m.MenuCurrencyService);function n(i){return{[m.countryCurrencyMap.US]:"DollarSingle",[m.countryCurrencyMap.RU]:"RoubleSingle",[m.countryCurrencyMap.CN]:"RmbSingle",[m.countryCurrencyMap.AT]:"EuroSingle"}[i]||"DollarSingle"}const s=m.countryCurrencyMap[r.getCurrencySymbol()]||"$";return e.next(n(s)),r.currencySymbol$.subscribe(i=>{const c=m.countryCurrencyMap[i]||"$";e.next(n(c))})}),id:m.SetCurrencyCommand.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:I.MenuItemType.BUTTON,hidden$:I.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}),ot=t=>({icon:"AddDigitsSingle",id:m.AddDecimalCommand.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:I.MenuItemType.BUTTON,hidden$:I.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}),ct=t=>({icon:"ReduceDigitsSingle",id:m.SubtractDecimalCommand.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:I.MenuItemType.BUTTON,hidden$:I.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}),at=t=>({icon:"PercentSingle",id:m.SetPercentCommand.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:I.MenuItemType.BUTTON,hidden$:I.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}),lt=t=>{const e=t.get(o.IUniverInstanceService),r=t.get(o.ICommandService),n=t.get(o.LocaleService),s=t.get(g.SheetsSelectionsService),i=j.deriveStateFromActiveSheet$(e,"",({workbook:c,worksheet:a})=>new D.Observable(l=>D.merge(s.selectionMoveEnd$,new D.Observable(p=>{const f=[g.RemoveNumfmtMutation.id,g.SetNumfmtMutation.id],d=r.onCommandExecuted(h=>{f.includes(h.id)&&p.next(null)});return()=>d.dispose()})).subscribe(()=>{var f,d;const p=s.getCurrentSelections();if(p&&p[0]){const h=p[0].range,S=h.startRow,_=h.startColumn,v=(d=c.getStyles().get((f=a.getCell(S,_))==null?void 0:f.s))==null?void 0:d.n,P=v==null?void 0:v.pattern;let b=n.t("sheet.numfmt.general");if(P){const T=B.filter(x=>typeof x=="object"&&x.pattern).find(x=>m.isPatternEqualWithoutDecimal(P,x.pattern));T&&typeof T=="object"&&T.pattern?b=n.t(T.label):b=n.t("sheet.numfmt.moreFmt")}l.next(b)}})));return{label:ue,id:$.id,tooltip:"sheet.numfmt.title",type:I.MenuItemType.SELECTOR,selections:[{label:{name:me,hoverable:!1}}],value$:i,hidden$:I.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:j.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetSetCellStylePermission,g.WorksheetEditPermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}},ue="sheet.numfmt.moreNumfmtType",me="sheet.numfmt.moreNumfmtType.options",ut=t=>{var n;const e=o.useDependency(o.LocaleService),r=(n=t.value)!=null?n:e.t("sheet.numfmt.general");return u.jsx("span",{className:"more-numfmt-type",children:r})},mt=()=>{const t=o.useDependency(o.ICommandService),e=o.useDependency(o.LocaleService),r=o.useDependency(I.ILayoutService);o.useInjector();const n=o.useDependency(g.SheetsSelectionsService),s=a=>{const l=n.getCurrentLastSelection();if(!l)return;const p=l.range,f=[];o.Range.foreach(p,(d,h)=>{a?f.push({row:d,col:h,pattern:a,type:m.getPatternType(a)}):f.push({row:d,col:h})}),t.executeCommand(m.SetNumfmtCommand.id,{values:f}),r.focus()},i=a=>{if(a===0)s(null);else if(a===B.length-1)t.executeCommand($.id);else{const l=B[a];l.pattern&&s(l.pattern)}},c=1220;return u.jsx("div",{className:"more-numfmt-type-options",children:B.map((a,l)=>a==="|"?u.jsx("div",{className:"line m-t-4",onClick:p=>p.stopPropagation()},l):u.jsxs("div",{className:"option-item m-t-4",onClick:()=>{i(l)},children:[u.jsx("div",{children:e.t(a.label)}),u.jsx("div",{className:"m-l-26",children:a.pattern?m.getPatternPreview(a.pattern||"",c,e.getCurrentLocale()).result:""})]},l))})},dt={[I.RibbonStartGroup.FORMULAS_INSERT]:{[m.SetCurrencyCommand.id]:{order:4,menuItemFactory:it},[m.AddDecimalCommand.id]:{order:5,menuItemFactory:ot},[m.SubtractDecimalCommand.id]:{order:6,menuItemFactory:ct},[m.SetPercentCommand.id]:{order:7,menuItemFactory:at},[$.id]:{order:8,menuItemFactory:lt}}};var ht=Object.defineProperty,ft=Object.getOwnPropertyDescriptor,pt=(t,e,r,n)=>{for(var s=n>1?void 0:n?ft(e,r):e,i=t.length-1,c;i>=0;i--)(c=t[i])&&(s=(n?c(e,r,s):c(s))||s);return n&&s&&ht(e,r,s),s},se=(t,e)=>(r,n)=>e(r,n,t);let V=class extends o.Disposable{constructor(t,e){super(),this._componentManager=t,this._menuManagerService=e,this._initMenu()}_initMenu(){this._menuManagerService.mergeMenu(dt),this.disposeWithMe(this._componentManager.register(ue,ut)),this.disposeWithMe(this._componentManager.register(me,mt))}};V=pt([se(0,o.Inject(I.ComponentManager)),se(1,I.IMenuManagerService)],V);var de=Object.defineProperty,vt=Object.getOwnPropertyDescriptor,St=(t,e,r)=>e in t?de(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,gt=(t,e,r,n)=>{for(var s=n>1?void 0:n?vt(e,r):e,i=t.length-1,c;i>=0;i--)(c=t[i])&&(s=(n?c(e,r,s):c(s))||s);return n&&s&&de(e,r,s),s},ie=(t,e)=>(r,n)=>e(r,n,t),he=(t,e,r)=>St(t,typeof e!="symbol"?e+"":e,r);const yt="SHEET_NUMFMT_UI_PLUGIN";exports.UniverSheetsNumfmtUIPlugin=class extends o.Plugin{constructor(e=Q,r,n){super(),this._config=e,this._injector=r,this._configService=n;const{menu:s,...i}=o.merge({},Q,this._config);s&&this._configService.setConfig("menu",s,{merge:!0}),this._configService.setConfig(I.UI_PLUGIN_CONFIG_KEY,i)}onStarting(){o.registerDependencies(this._injector,[[k],[q],[L],[V]])}onRendered(){o.touchDependencies(this._injector,[[k],[q],[V]])}};he(exports.UniverSheetsNumfmtUIPlugin,"pluginName",yt);he(exports.UniverSheetsNumfmtUIPlugin,"type",o.UniverInstanceType.UNIVER_SHEET);exports.UniverSheetsNumfmtUIPlugin=gt([o.DependentOn(j.UniverSheetsUIPlugin,m.UniverSheetsNumfmtPlugin),ie(1,o.Inject(o.Injector)),ie(2,o.IConfigService)],exports.UniverSheetsNumfmtUIPlugin);
package/lib/es/index.js CHANGED
@@ -1,27 +1,27 @@
1
- var at = Object.defineProperty;
2
- var lt = (t, e, r) => e in t ? at(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
- var X = (t, e, r) => lt(t, typeof e != "symbol" ? e + "" : e, r);
4
- import { CommandType as $e, Inject as N, ILocalStorageService as Fe, useDependency as y, LocaleService as T, numfmt as Z, Disposable as pe, UniverInstanceType as E, CellValueType as L, Range as Le, toDisposable as fe, DisposableCollection as mt, InterceptorEffectEnum as xe, ThemeService as ut, IUniverInstanceService as ve, ICommandService as ge, Injector as He, Optional as dt, useInjector as ht, DependentOn as ft, Plugin as pt, registerDependencies as vt, touchDependencies as gt, IConfigService as _t } from "@univerjs/core";
5
- import { currencySymbols as Pe, getDecimalFromPattern as ee, getCurrencyType as B, setPatternDecimal as j, getCurrencyFormatOptions as le, isPatternEqualWithoutDecimal as ie, CURRENCYFORMAT as St, DATEFMTLISG as yt, NUMBERFORMAT as bt, getDateFormatOptions as ke, getNumberFormatOptions as Ae, isPatternHasDecimal as Ct, getPatternType as te, SetNumfmtCommand as Be, getPatternPreviewIgnoreGeneral as It, MenuCurrencyService as Nt, countryCurrencyMap as w, SetCurrencyCommand as We, AddDecimalCommand as Ve, SubtractDecimalCommand as Ge, SetPercentCommand as Ke, getPatternPreview as Et, UniverSheetsNumfmtPlugin as Tt } from "@univerjs/sheets-numfmt";
6
- import { SheetSkeletonManagerService as xt, IEditorBridgeService as Pt, getCurrentRangeDisable$ as W, deriveStateFromActiveSheet$ as jt, UniverSheetsUIPlugin as Rt } from "@univerjs/sheets-ui";
7
- import { ComponentManager as qe, ISidebarService as Mt, MenuItemType as V, getMenuHiddenObservable as G, ILayoutService as Ot, RibbonStartGroup as wt, IMenuManagerService as Ut, UI_PLUGIN_CONFIG_KEY as Dt } from "@univerjs/ui";
8
- import { IRenderManagerService as $t } from "@univerjs/engine-render";
9
- import { INTERCEPTOR_POINT as Ft, RemoveNumfmtMutation as _e, SetNumfmtMutation as Se, SheetInterceptorService as Ye, SheetsSelectionsService as ye, INumfmtService as Je, BEFORE_CELL_EDIT as Lt, AFTER_CELL_EDIT as Ht, SetRangeValuesCommand as kt, transformCellsToRange as At, factorySetNumfmtUndoMutation as Bt, factoryRemoveNumfmtUndoMutation as Wt, WorkbookEditablePermission as K, WorksheetEditPermission as q, WorksheetSetCellStylePermission as Y, RangeProtectionPermissionEditPoint as J } from "@univerjs/sheets";
10
- import { Observable as U, combineLatest as Vt, merge as Gt } from "rxjs";
11
- import { map as Kt, switchMap as qt, tap as Yt, debounceTime as Jt } from "rxjs/operators";
12
- import zt, { createContext as Xt, useState as b, useEffect as oe, useRef as be, useContext as ze, useMemo as R, forwardRef as Xe, createElement as Ce } from "react";
13
- import { InputNumber as Ie, Select as Ne, SelectList as Ee, Input as Zt, Button as je } from "@univerjs/design";
14
- import { DEFAULT_TEXT_FORMAT as Ze } from "@univerjs/engine-numfmt";
15
- const Qt = {}, me = {
1
+ var lt = Object.defineProperty;
2
+ var mt = (t, e, r) => e in t ? lt(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
+ var X = (t, e, r) => mt(t, typeof e != "symbol" ? e + "" : e, r);
4
+ import { CommandType as Fe, Inject as N, ILocalStorageService as Le, useDependency as y, LocaleService as T, numfmt as Z, Disposable as pe, UniverInstanceType as E, CellValueType as L, Range as He, toDisposable as fe, DisposableCollection as ut, InterceptorEffectEnum as xe, ThemeService as dt, IUniverInstanceService as ve, ICommandService as ge, Injector as ke, Optional as ht, useInjector as ft, DependentOn as pt, Plugin as vt, merge as gt, registerDependencies as _t, touchDependencies as St, IConfigService as yt } from "@univerjs/core";
5
+ import { currencySymbols as Pe, getDecimalFromPattern as ee, getCurrencyType as B, setPatternDecimal as j, getCurrencyFormatOptions as le, isPatternEqualWithoutDecimal as ie, CURRENCYFORMAT as bt, DATEFMTLISG as Ct, NUMBERFORMAT as It, getDateFormatOptions as Ae, getNumberFormatOptions as Be, isPatternHasDecimal as Nt, getPatternType as te, SetNumfmtCommand as We, getPatternPreviewIgnoreGeneral as Et, MenuCurrencyService as Tt, countryCurrencyMap as w, SetCurrencyCommand as Ve, AddDecimalCommand as Ge, SubtractDecimalCommand as Ke, SetPercentCommand as qe, getPatternPreview as xt, UniverSheetsNumfmtPlugin as Pt } from "@univerjs/sheets-numfmt";
6
+ import { SheetSkeletonManagerService as jt, IEditorBridgeService as Rt, getCurrentRangeDisable$ as W, deriveStateFromActiveSheet$ as Mt, UniverSheetsUIPlugin as Ot } from "@univerjs/sheets-ui";
7
+ import { ComponentManager as Ye, ISidebarService as wt, MenuItemType as V, getMenuHiddenObservable as G, ILayoutService as Ut, RibbonStartGroup as Dt, IMenuManagerService as $t, UI_PLUGIN_CONFIG_KEY as Ft } from "@univerjs/ui";
8
+ import { IRenderManagerService as Lt } from "@univerjs/engine-render";
9
+ import { INTERCEPTOR_POINT as Ht, RemoveNumfmtMutation as _e, SetNumfmtMutation as Se, SheetInterceptorService as Je, SheetsSelectionsService as ye, INumfmtService as ze, BEFORE_CELL_EDIT as kt, AFTER_CELL_EDIT as At, SetRangeValuesCommand as Bt, transformCellsToRange as Wt, factorySetNumfmtUndoMutation as Vt, factoryRemoveNumfmtUndoMutation as Gt, WorkbookEditablePermission as K, WorksheetEditPermission as q, WorksheetSetCellStylePermission as Y, RangeProtectionPermissionEditPoint as J } from "@univerjs/sheets";
10
+ import { Observable as U, combineLatest as Kt, merge as qt } from "rxjs";
11
+ import { map as Yt, switchMap as Jt, tap as zt, debounceTime as Xt } from "rxjs/operators";
12
+ import Zt, { createContext as Qt, useState as b, useEffect as oe, useRef as be, useContext as Xe, useMemo as R, forwardRef as Ze, createElement as Ce } from "react";
13
+ import { InputNumber as Ie, Select as Ne, SelectList as Ee, Input as en, Button as je } from "@univerjs/design";
14
+ import { DEFAULT_TEXT_FORMAT as Qe } from "@univerjs/engine-numfmt";
15
+ const Re = {}, me = {
16
16
  id: "sheet.operation.close.numfmt.panel",
17
- type: $e.OPERATION,
17
+ type: Fe.OPERATION,
18
18
  handler: () => (
19
19
  // do nothing, just notify panel is closed
20
20
  !0
21
21
  )
22
22
  }, H = {
23
23
  id: "sheet.operation.open.numfmt.panel",
24
- type: $e.OPERATION,
24
+ type: Fe.OPERATION,
25
25
  handler: (t) => (t.get(A).openPanel(), !0)
26
26
  };
27
27
  var ue = { exports: {} }, $ = {};
@@ -34,11 +34,11 @@ var ue = { exports: {} }, $ = {};
34
34
  * This source code is licensed under the MIT license found in the
35
35
  * LICENSE file in the root directory of this source tree.
36
36
  */
37
- var Re;
38
- function en() {
39
- if (Re) return $;
40
- Re = 1;
41
- var t = zt, e = Symbol.for("react.element"), r = Symbol.for("react.fragment"), n = Object.prototype.hasOwnProperty, s = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, i = { key: !0, ref: !0, __self: !0, __source: !0 };
37
+ var Me;
38
+ function tn() {
39
+ if (Me) return $;
40
+ Me = 1;
41
+ var t = Zt, e = Symbol.for("react.element"), r = Symbol.for("react.fragment"), n = Object.prototype.hasOwnProperty, s = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, i = { key: !0, ref: !0, __self: !0, __source: !0 };
42
42
  function o(c, a, h) {
43
43
  var d, m = {}, u = null, p = null;
44
44
  h !== void 0 && (u = "" + h), a.key !== void 0 && (u = "" + a.key), a.ref !== void 0 && (p = a.ref);
@@ -48,16 +48,16 @@ function en() {
48
48
  }
49
49
  return $.Fragment = r, $.jsx = o, $.jsxs = o, $;
50
50
  }
51
- var Me;
52
- function tn() {
53
- return Me || (Me = 1, ue.exports = en()), ue.exports;
51
+ var Oe;
52
+ function nn() {
53
+ return Oe || (Oe = 1, ue.exports = tn()), ue.exports;
54
54
  }
55
- var l = tn(), nn = Object.defineProperty, rn = Object.getOwnPropertyDescriptor, sn = (t, e, r, n) => {
56
- for (var s = n > 1 ? void 0 : n ? rn(e, r) : e, i = t.length - 1, o; i >= 0; i--)
55
+ var l = nn(), rn = Object.defineProperty, sn = Object.getOwnPropertyDescriptor, on = (t, e, r, n) => {
56
+ for (var s = n > 1 ? void 0 : n ? sn(e, r) : e, i = t.length - 1, o; i >= 0; i--)
57
57
  (o = t[i]) && (s = (n ? o(e, r, s) : o(s)) || s);
58
- return n && s && nn(e, r, s), s;
59
- }, on = (t, e) => (r, n) => e(r, n, t);
60
- const Te = Xt([]);
58
+ return n && s && rn(e, r, s), s;
59
+ }, cn = (t, e) => (r, n) => e(r, n, t);
60
+ const Te = Qt([]);
61
61
  let k = class {
62
62
  constructor(t) {
63
63
  this._localStorageService = t;
@@ -102,21 +102,21 @@ let k = class {
102
102
  this._localStorageService.removeItem(t);
103
103
  }
104
104
  };
105
- k = sn([
106
- on(0, N(Fe))
105
+ k = on([
106
+ cn(0, N(Le))
107
107
  ], k);
108
- const Oe = "numfmtCurrency", cn = (t) => {
108
+ const we = "numfmtCurrency", an = (t) => {
109
109
  const e = y(k), [r, n] = b(Pe);
110
110
  return oe(() => {
111
111
  e.addHabit("numfmtCurrency", []).then(() => {
112
- e.getHabit(Oe, [...Pe]).then((i) => {
112
+ e.getHabit(we, [...Pe]).then((i) => {
113
113
  n(i), t && t(i);
114
114
  });
115
115
  });
116
116
  }, []), { userHabitCurrency: r, mark: (i) => {
117
- e.markHabit(Oe, i);
117
+ e.markHabit(we, i);
118
118
  } };
119
- }, an = () => {
119
+ }, ln = () => {
120
120
  const t = be([]), [e, r] = b({});
121
121
  return oe(() => {
122
122
  t.current.forEach((s) => {
@@ -125,8 +125,8 @@ const Oe = "numfmtCurrency", cn = (t) => {
125
125
  }, [e]), (s) => {
126
126
  t.current.push(s), r({});
127
127
  };
128
- }, ln = (t) => !!B(t) && t.startsWith("_("), mn = (t) => {
129
- const { defaultPattern: e, action: r, onChange: n } = t, [s, i] = b(() => ee(e || "", 2)), o = ze(Te), [c, a] = b(() => B(e) || o[0]), h = R(() => o.map((v) => ({ label: v, value: v })), []), m = y(T).t;
128
+ }, mn = (t) => !!B(t) && t.startsWith("_("), un = (t) => {
129
+ const { defaultPattern: e, action: r, onChange: n } = t, [s, i] = b(() => ee(e || "", 2)), o = Xe(Te), [c, a] = b(() => B(e) || o[0]), h = R(() => o.map((v) => ({ label: v, value: v })), []), m = y(T).t;
130
130
  r.current = () => j(`_("${c}"* #,##0${s > 0 ? ".0" : ""}_)`, s);
131
131
  const u = (v) => {
132
132
  a(v), n(j(`_("${v}"* #,##0${s > 0 ? ".0" : ""}_)`, s));
@@ -147,8 +147,8 @@ const Oe = "numfmtCurrency", cn = (t) => {
147
147
  ] }),
148
148
  /* @__PURE__ */ l.jsx("div", { className: "describe m-t-14", children: m("sheet.numfmt.accountingDes") })
149
149
  ] });
150
- }, un = (t) => !!B(t) && !t.startsWith("_("), dn = (t) => {
151
- const r = y(T).t, n = ze(Te), [s, i] = b(() => B(t.defaultPattern) || n[0]), [o, c] = b(() => ee(t.defaultPattern || "", 2)), [a, h] = b(() => {
150
+ }, dn = (t) => !!B(t) && !t.startsWith("_("), hn = (t) => {
151
+ const r = y(T).t, n = Xe(Te), [s, i] = b(() => B(t.defaultPattern) || n[0]), [o, c] = b(() => ee(t.defaultPattern || "", 2)), [a, h] = b(() => {
152
152
  var g;
153
153
  const f = le(s);
154
154
  return ((g = f.find((C) => ie(C.value, t.defaultPattern))) == null ? void 0 : g.value) || f[0].value;
@@ -189,23 +189,23 @@ var I = function() {
189
189
  }
190
190
  return t;
191
191
  }, I.apply(this, arguments);
192
- }, hn = function(t, e) {
192
+ }, fn = function(t, e) {
193
193
  var r = {};
194
194
  for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (r[n] = t[n]);
195
195
  if (t != null && typeof Object.getOwnPropertySymbols == "function")
196
196
  for (var s = 0, n = Object.getOwnPropertySymbols(t); s < n.length; s++)
197
197
  e.indexOf(n[s]) < 0 && Object.prototype.propertyIsEnumerable.call(t, n[s]) && (r[n[s]] = t[n[s]]);
198
198
  return r;
199
- }, Qe = Xe(function(t, e) {
200
- var r = t.icon, n = t.id, s = t.className, i = t.extend, o = hn(t, ["icon", "id", "className", "extend"]), c = "univerjs-icon univerjs-icon-".concat(n, " ").concat(s || "").trim(), a = be("_".concat(vn()));
201
- return et(r, "".concat(n), { defIds: r.defIds, idSuffix: a.current }, I({ ref: e, className: c }, o), i);
199
+ }, et = Ze(function(t, e) {
200
+ var r = t.icon, n = t.id, s = t.className, i = t.extend, o = fn(t, ["icon", "id", "className", "extend"]), c = "univerjs-icon univerjs-icon-".concat(n, " ").concat(s || "").trim(), a = be("_".concat(gn()));
201
+ return tt(r, "".concat(n), { defIds: r.defIds, idSuffix: a.current }, I({ ref: e, className: c }, o), i);
202
202
  });
203
- function et(t, e, r, n, s) {
204
- return Ce(t.tag, I(I({ key: e }, fn(t, r, s)), n), (pn(t, r).children || []).map(function(i, o) {
205
- return et(i, "".concat(e, "-").concat(t.tag, "-").concat(o), r, void 0, s);
203
+ function tt(t, e, r, n, s) {
204
+ return Ce(t.tag, I(I({ key: e }, pn(t, r, s)), n), (vn(t, r).children || []).map(function(i, o) {
205
+ return tt(i, "".concat(e, "-").concat(t.tag, "-").concat(o), r, void 0, s);
206
206
  }));
207
207
  }
208
- function fn(t, e, r) {
208
+ function pn(t, e, r) {
209
209
  var n = I({}, t.attrs);
210
210
  r != null && r.colorChannel1 && n.fill === "colorChannel1" && (n.fill = r.colorChannel1);
211
211
  var s = e.defIds;
@@ -214,34 +214,34 @@ function fn(t, e, r) {
214
214
  typeof c == "string" && (n[o] = c.replace(/url\(#(.*)\)/, "url(#$1".concat(e.idSuffix, ")")));
215
215
  })), n;
216
216
  }
217
- function pn(t, e) {
217
+ function vn(t, e) {
218
218
  var r, n = e.defIds;
219
219
  return !n || n.length === 0 ? t : t.tag === "defs" && (!((r = t.children) === null || r === void 0) && r.length) ? I(I({}, t), { children: t.children.map(function(s) {
220
220
  return typeof s.attrs.id == "string" && n && n.indexOf(s.attrs.id) > -1 ? I(I({}, s), { attrs: I(I({}, s.attrs), { id: s.attrs.id + e.idSuffix }) }) : s;
221
221
  }) }) : t;
222
222
  }
223
- function vn() {
223
+ function gn() {
224
224
  return Math.random().toString(36).substring(2, 8);
225
225
  }
226
- Qe.displayName = "UniverIcon";
227
- var gn = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, tt = Xe(function(t, e) {
228
- return Ce(Qe, Object.assign({}, t, {
226
+ et.displayName = "UniverIcon";
227
+ var _n = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, nt = Ze(function(t, e) {
228
+ return Ce(et, Object.assign({}, t, {
229
229
  id: "check-mark-single",
230
230
  ref: e,
231
- icon: gn
231
+ icon: _n
232
232
  }));
233
233
  });
234
- tt.displayName = "CheckMarkSingle";
235
- const _n = "univer-custom-format-title", Sn = "univer-custom-format-input", yn = "univer-custom-format-history-list", bn = "univer-custom-format-history-list-item", Cn = "univer-custom-format-history-list-item-icon-wrap", In = "univer-custom-format-des", M = {
236
- customFormatTitle: _n,
237
- customFormatInput: Sn,
238
- customFormatHistoryList: yn,
239
- customFormatHistoryListItem: bn,
240
- customFormatHistoryListItemIconWrap: Cn,
241
- customFormatDes: In
234
+ nt.displayName = "CheckMarkSingle";
235
+ const Sn = "univer-custom-format-title", yn = "univer-custom-format-input", bn = "univer-custom-format-history-list", Cn = "univer-custom-format-history-list-item", In = "univer-custom-format-history-list-item-icon-wrap", Nn = "univer-custom-format-des", M = {
236
+ customFormatTitle: Sn,
237
+ customFormatInput: yn,
238
+ customFormatHistoryList: bn,
239
+ customFormatHistoryListItem: Cn,
240
+ customFormatHistoryListItemIconWrap: In,
241
+ customFormatDes: Nn
242
242
  }, de = "customFormat", he = "numfmt_custom_pattern";
243
- function Nn(t) {
244
- const { defaultPattern: e, action: r, onChange: n } = t, s = y(k), i = y(Fe), o = y(T), [c, a] = b(e);
243
+ function En(t) {
244
+ const { defaultPattern: e, action: r, onChange: n } = t, s = y(k), i = y(Le), o = y(T), [c, a] = b(e);
245
245
  r.current = () => (s.markHabit(de, c), i.getItem(he).then((p = []) => {
246
246
  const v = [.../* @__PURE__ */ new Set([c, ...p || []])].splice(0, 10).filter((f) => !!f);
247
247
  i.setItem(he, v);
@@ -250,9 +250,9 @@ function Nn(t) {
250
250
  oe(() => {
251
251
  i.getItem(he).then((p) => {
252
252
  const v = [
253
- ...St.map((f) => f.suffix("$")),
254
- ...yt.map((f) => f.suffix),
255
- ...bt.map((f) => f.suffix)
253
+ ...bt.map((f) => f.suffix("$")),
254
+ ...Ct.map((f) => f.suffix),
255
+ ...It.map((f) => f.suffix)
256
256
  ];
257
257
  v.push(...p || []), s.addHabit(de, []).finally(() => {
258
258
  s.getHabit(de, v).then((f) => {
@@ -268,19 +268,19 @@ function Nn(t) {
268
268
  };
269
269
  return /* @__PURE__ */ l.jsxs("div", { className: M.customFormat, children: [
270
270
  /* @__PURE__ */ l.jsx("div", { className: M.customFormatTitle, children: o.t("sheet.numfmt.customFormat") }),
271
- /* @__PURE__ */ l.jsx(Zt, { placeholder: o.t("sheet.numfmt.customFormat"), onBlur: u, value: c, onChange: a, className: M.customFormatInput }),
271
+ /* @__PURE__ */ l.jsx(en, { placeholder: o.t("sheet.numfmt.customFormat"), onBlur: u, value: c, onChange: a, className: M.customFormatInput }),
272
272
  /* @__PURE__ */ l.jsx("div", { className: M.customFormatHistoryList, children: h.map((p) => /* @__PURE__ */ l.jsxs("div", { onClick: () => m(p), className: M.customFormatHistoryListItem, children: [
273
- /* @__PURE__ */ l.jsx("div", { className: M.customFormatHistoryListItemIconWrap, children: c === p && /* @__PURE__ */ l.jsx(tt, {}) }),
273
+ /* @__PURE__ */ l.jsx("div", { className: M.customFormatHistoryListItemIconWrap, children: c === p && /* @__PURE__ */ l.jsx(nt, {}) }),
274
274
  /* @__PURE__ */ l.jsx("div", { children: p })
275
275
  ] }, p)) }),
276
276
  /* @__PURE__ */ l.jsx("div", { className: M.customFormatDes, children: o.t("sheet.numfmt.customFormatDes") })
277
277
  ] });
278
278
  }
279
- const En = (t) => {
279
+ const Tn = (t) => {
280
280
  const e = Z.getInfo(t);
281
- return ke().map((r) => r.value).includes(t) || ["date", "datetime", "time"].includes(e.type);
282
- }, Tn = (t) => {
283
- const e = R(ke, []), n = y(T).t, [s, i] = b(() => {
281
+ return Ae().map((r) => r.value).includes(t) || ["date", "datetime", "time"].includes(e.type);
282
+ }, xn = (t) => {
283
+ const e = R(Ae, []), n = y(T).t, [s, i] = b(() => {
284
284
  if (t.defaultPattern) {
285
285
  const c = e.find((a) => a.value === t.defaultPattern);
286
286
  if (c)
@@ -297,14 +297,14 @@ const En = (t) => {
297
297
  /* @__PURE__ */ l.jsx("div", { className: "m-t-8", children: /* @__PURE__ */ l.jsx(Ee, { value: s, options: e, onChange: o }) }),
298
298
  /* @__PURE__ */ l.jsx("div", { className: "describe m-t-14", children: n("sheet.numfmt.dateDes") })
299
299
  ] });
300
- }, xn = (t) => !t, Pn = (t) => {
300
+ }, Pn = (t) => !t, jn = (t) => {
301
301
  const r = y(T).t;
302
302
  return t.action.current = () => "", /* @__PURE__ */ l.jsx("div", { children: /* @__PURE__ */ l.jsx("div", { className: "describe m-t-14", children: r("sheet.numfmt.generalDes") }) });
303
- }, jn = (t) => Ae().some((e) => ie(e.value, t)), Rn = (t) => {
304
- const e = y(T), r = R(Ae, []), [n, s] = b(() => ee(t.defaultPattern || "", 0)), [i, o] = b(() => {
303
+ }, Rn = (t) => Be().some((e) => ie(e.value, t)), Mn = (t) => {
304
+ const e = y(T), r = R(Be, []), [n, s] = b(() => ee(t.defaultPattern || "", 0)), [i, o] = b(() => {
305
305
  const m = r.find((u) => ie(u.value, t.defaultPattern || ""));
306
306
  return (m == null ? void 0 : m.value) || r[0].value;
307
- }), c = R(() => j(i, Number(n || 0)), [i, n]), a = R(() => !Ct(i), [i]), h = (m) => {
307
+ }), c = R(() => j(i, Number(n || 0)), [i, n]), a = R(() => !Nt(i), [i]), h = (m) => {
308
308
  s(m || 0), t.onChange(j(i, Number(m || 0)));
309
309
  }, d = (m) => {
310
310
  m !== void 0 && (s(ee(m, 0)), o(m), t.onChange(m));
@@ -328,23 +328,23 @@ const En = (t) => {
328
328
  /* @__PURE__ */ l.jsx("div", { className: "m-t-8", children: /* @__PURE__ */ l.jsx(Ee, { onChange: d, options: r, value: i }) }),
329
329
  /* @__PURE__ */ l.jsx("div", { className: "describe m-t-14", children: e.t("sheet.numfmt.thousandthPercentileDes") })
330
330
  ] });
331
- }, Mn = (t) => {
332
- const { defaultValue: e, defaultPattern: r, row: n, col: s } = t.value, i = y(T), o = be(() => ""), c = i.t, a = an(), h = R(
331
+ }, On = (t) => {
332
+ const { defaultValue: e, defaultPattern: r, row: n, col: s } = t.value, i = y(T), o = be(() => ""), c = i.t, a = ln(), h = R(
333
333
  () => [
334
- { label: "sheet.numfmt.general", component: Pn },
335
- { label: "sheet.numfmt.accounting", component: mn },
336
- { label: "sheet.numfmt.currency", component: dn },
337
- { label: "sheet.numfmt.date", component: Tn },
338
- { label: "sheet.numfmt.thousandthPercentile", component: Rn },
339
- { label: "sheet.numfmt.customFormat", component: Nn }
334
+ { label: "sheet.numfmt.general", component: jn },
335
+ { label: "sheet.numfmt.accounting", component: un },
336
+ { label: "sheet.numfmt.currency", component: hn },
337
+ { label: "sheet.numfmt.date", component: xn },
338
+ { label: "sheet.numfmt.thousandthPercentile", component: Mn },
339
+ { label: "sheet.numfmt.customFormat", component: En }
340
340
  ].map((_) => ({ ..._, label: c(_.label) })),
341
341
  []
342
- ), [d, m] = b(g), [u, p] = b(() => `${n}_${s}`), { mark: v, userHabitCurrency: f } = cn(() => p(`${n}_${s}_userCurrency'`)), S = R(() => {
342
+ ), [d, m] = b(g), [u, p] = b(() => `${n}_${s}`), { mark: v, userHabitCurrency: f } = an(() => p(`${n}_${s}_userCurrency'`)), S = R(() => {
343
343
  var _;
344
344
  return (_ = h.find((O) => O.label === d)) == null ? void 0 : _.component;
345
345
  }, [d]);
346
346
  function g() {
347
- return [xn, ln, un, En, jn].reduce((O, ot, ct) => O || (ot(r) ? h[ct].label : ""), "") || h[0].label;
347
+ return [Pn, mn, dn, Tn, Rn].reduce((O, ct, at) => O || (ct(r) ? h[at].label : ""), "") || h[0].label;
348
348
  }
349
349
  const C = h.map((_) => ({
350
350
  label: _.label,
@@ -378,12 +378,12 @@ const En = (t) => {
378
378
  ] })
379
379
  ] });
380
380
  };
381
- var On = Object.defineProperty, wn = Object.getOwnPropertyDescriptor, Un = (t, e, r, n) => {
382
- for (var s = n > 1 ? void 0 : n ? wn(e, r) : e, i = t.length - 1, o; i >= 0; i--)
381
+ var wn = Object.defineProperty, Un = Object.getOwnPropertyDescriptor, Dn = (t, e, r, n) => {
382
+ for (var s = n > 1 ? void 0 : n ? Un(e, r) : e, i = t.length - 1, o; i >= 0; i--)
383
383
  (o = t[i]) && (s = (n ? o(e, r, s) : o(s)) || s);
384
- return n && s && On(e, r, s), s;
384
+ return n && s && wn(e, r, s), s;
385
385
  }, P = (t, e) => (r, n) => e(r, n, t);
386
- const we = "SHEET_NUMFMT_PANEL";
386
+ const Ue = "SHEET_NUMFMT_PANEL";
387
387
  let A = class extends pe {
388
388
  constructor(e, r, n, s, i, o, c, a, h, d) {
389
389
  super();
@@ -421,7 +421,7 @@ let A = class extends pe {
421
421
  else if (g.type === "confirm") {
422
422
  const x = ((C = r.getCurrentSelections()) == null ? void 0 : C.map((D) => D.range)) || [], z = { values: [] }, ce = te(g.value);
423
423
  x.forEach((D) => {
424
- Le.foreach(D, (ae, _) => {
424
+ He.foreach(D, (ae, _) => {
425
425
  z.values.push({
426
426
  row: ae,
427
427
  col: _,
@@ -429,7 +429,7 @@ let A = class extends pe {
429
429
  type: ce
430
430
  });
431
431
  });
432
- }), n.executeCommand(Be.id, z), e.close();
432
+ }), n.executeCommand(We.id, z), e.close();
433
433
  } else g.type === "cancel" && e.close();
434
434
  },
435
435
  value: { defaultPattern: p, defaultValue: v, row: a.startRow, col: a.startColumn }
@@ -437,7 +437,7 @@ let A = class extends pe {
437
437
  return this._sidebarDisposable = e.open({
438
438
  header: { title: o.t("sheet.numfmt.title") },
439
439
  children: {
440
- label: we,
440
+ label: Ue,
441
441
  ...f
442
442
  // need passthrough to react props.
443
443
  },
@@ -451,7 +451,7 @@ let A = class extends pe {
451
451
  const r = this._renderManagerService.getRenderById(
452
452
  e != null ? e : this._univerInstanceService.getCurrentUnitForType(E.UNIVER_SHEET).getUnitId()
453
453
  );
454
- r == null || r.with(xt).reCalculate(), (n = r == null ? void 0 : r.mainComponent) == null || n.makeDirty();
454
+ r == null || r.with(jt).reCalculate(), (n = r == null ? void 0 : r.mainComponent) == null || n.makeDirty();
455
455
  }
456
456
  _initCommands() {
457
457
  [
@@ -462,38 +462,38 @@ let A = class extends pe {
462
462
  });
463
463
  }
464
464
  _initPanel() {
465
- this._componentManager.register(we, Mn);
465
+ this._componentManager.register(Ue, On);
466
466
  }
467
467
  _initRealTimeRenderingInterceptor() {
468
468
  const e = new U((n) => {
469
469
  this._commandService.onCommandExecuted((s) => {
470
470
  s.id === H.id && n.next(!0), s.id === me.id && n.next(!1);
471
471
  });
472
- }), r = Vt([
472
+ }), r = Kt([
473
473
  e,
474
474
  this._selectionManagerService.selectionMoveEnd$.pipe(
475
- Kt((n) => n ? n.map((s) => s.range) : [])
475
+ Yt((n) => n ? n.map((s) => s.range) : [])
476
476
  )
477
477
  ]);
478
478
  this.disposeWithMe(
479
479
  fe(
480
480
  r.pipe(
481
- qt(
481
+ Jt(
482
482
  ([n, s]) => new U((i) => {
483
- const o = new mt();
483
+ const o = new ut();
484
484
  return n && s.length && i.next({ selectionRanges: s, disposableCollection: o }), () => {
485
485
  o.dispose();
486
486
  };
487
487
  })
488
488
  ),
489
- Yt(() => {
489
+ zt(() => {
490
490
  this._previewPattern = null;
491
491
  })
492
492
  ).subscribe(({ disposableCollection: n, selectionRanges: s }) => {
493
493
  var o, c;
494
494
  const i = this._univerInstanceService.getCurrentUnitForType(E.UNIVER_SHEET);
495
495
  this.openPanel(), n.add(
496
- this._sheetInterceptorService.intercept(Ft.CELL_CONTENT, {
496
+ this._sheetInterceptorService.intercept(Ht.CELL_CONTENT, {
497
497
  priority: 99,
498
498
  effect: xe.Value | xe.Style,
499
499
  handler: (a, h, d) => {
@@ -504,7 +504,7 @@ let A = class extends pe {
504
504
  const v = h.worksheet.getCellRaw(m, u), f = v == null ? void 0 : v.v, S = v == null ? void 0 : v.t;
505
505
  if (f == null || S !== L.NUMBER || this._previewPattern === null)
506
506
  return p;
507
- const g = It(this._previewPattern, f, this._localeService.getCurrentLocale());
507
+ const g = Et(this._previewPattern, f, this._localeService.getCurrentLocale());
508
508
  if (g.color) {
509
509
  const x = this._themeService.getCurrentTheme()[`${g.color}500`];
510
510
  return {
@@ -539,7 +539,7 @@ let A = class extends pe {
539
539
  }
540
540
  });
541
541
  return () => n.dispose();
542
- }).pipe(Jt(16)).subscribe((r) => this._forceUpdate(r))
542
+ }).pipe(Xt(16)).subscribe((r) => this._forceUpdate(r))
543
543
  );
544
544
  }
545
545
  _initCloseListener() {
@@ -549,24 +549,24 @@ let A = class extends pe {
549
549
  });
550
550
  }
551
551
  };
552
- A = Un([
553
- P(0, N(Ye)),
554
- P(1, N(ut)),
552
+ A = Dn([
553
+ P(0, N(Je)),
554
+ P(1, N(dt)),
555
555
  P(2, ve),
556
556
  P(3, ge),
557
557
  P(4, N(ye)),
558
- P(5, $t),
559
- P(6, Je),
560
- P(7, N(qe)),
561
- P(8, Mt),
558
+ P(5, Lt),
559
+ P(6, ze),
560
+ P(7, N(Ye)),
561
+ P(8, wt),
562
562
  P(9, N(T))
563
563
  ], A);
564
- var Dn = Object.defineProperty, $n = Object.getOwnPropertyDescriptor, Fn = (t, e, r, n) => {
565
- for (var s = n > 1 ? void 0 : n ? $n(e, r) : e, i = t.length - 1, o; i >= 0; i--)
564
+ var $n = Object.defineProperty, Fn = Object.getOwnPropertyDescriptor, Ln = (t, e, r, n) => {
565
+ for (var s = n > 1 ? void 0 : n ? Fn(e, r) : e, i = t.length - 1, o; i >= 0; i--)
566
566
  (o = t[i]) && (s = (n ? o(e, r, s) : o(s)) || s);
567
- return n && s && Dn(e, r, s), s;
567
+ return n && s && $n(e, r, s), s;
568
568
  }, F = (t, e) => (r, n) => e(r, n, t);
569
- const Ln = () => {
569
+ const Hn = () => {
570
570
  let t = [];
571
571
  return {
572
572
  add: (s, i, o, c, a) => t.push({ unitId: s, subUnitId: i, row: o, col: c, value: a }),
@@ -580,14 +580,14 @@ let ne = class extends pe {
580
580
  constructor(e, r, n, s, i) {
581
581
  super();
582
582
  // collect effect mutations when edit end and push this to commands stack in next commands progress
583
- X(this, "_collectEffectMutation", Ln());
583
+ X(this, "_collectEffectMutation", Hn());
584
584
  this._sheetInterceptorService = e, this._numfmtService = r, this._univerInstanceService = n, this._injector = s, this._editorBridgeService = i, this._initInterceptorEditorStart(), this._initInterceptorEditorEnd(), this._initInterceptorCommands();
585
585
  }
586
586
  _initInterceptorEditorStart() {
587
587
  this._editorBridgeService && this.disposeWithMe(
588
588
  fe(
589
589
  this._sheetInterceptorService.writeCellInterceptor.intercept(
590
- Lt,
590
+ kt,
591
591
  {
592
592
  handler: (e, r, n) => {
593
593
  const s = r.row, i = r.col, o = this._numfmtService.getValue(
@@ -626,7 +626,7 @@ let ne = class extends pe {
626
626
  this.disposeWithMe(
627
627
  fe(
628
628
  this._sheetInterceptorService.writeCellInterceptor.intercept(
629
- Ht,
629
+ At,
630
630
  {
631
631
  // eslint-disable-next-line complexity
632
632
  handler: (e, r, n) => {
@@ -646,11 +646,11 @@ let ne = class extends pe {
646
646
  null
647
647
  );
648
648
  };
649
- if (!(e != null && e.v) && !(e != null && e.p) || (s == null ? void 0 : s.pattern) === Ze)
649
+ if (!(e != null && e.v) && !(e != null && e.p) || (s == null ? void 0 : s.pattern) === Qe)
650
650
  return n(e);
651
651
  const c = (m = e.p) == null ? void 0 : m.body, a = (p = (u = e == null ? void 0 : e.p) == null ? void 0 : u.body) != null && p.dataStream ? e.p.body.dataStream.replace(/\r\n$/, "") : String(e.v), h = Z.parseDate(a) || Z.parseTime(a) || Z.parseNumber(a);
652
652
  if (c)
653
- if (kn(c)) {
653
+ if (An(c)) {
654
654
  const { dataStream: v } = c, f = v.replace(/\r\n$/, ""), S = Number(f);
655
655
  if (Number.isNaN(S) && !h)
656
656
  return n(e);
@@ -668,7 +668,7 @@ let ne = class extends pe {
668
668
  );
669
669
  const v = Number(h.v);
670
670
  return n({ ...e, p: void 0, v, t: L.NUMBER });
671
- } else (["date", "time", "datetime", "percent"].includes(i) || !Hn(a)) && o();
671
+ } else (["date", "time", "datetime", "percent"].includes(i) || !kn(a)) && o();
672
672
  return n(e);
673
673
  }
674
674
  }
@@ -683,7 +683,7 @@ let ne = class extends pe {
683
683
  getMutations(r) {
684
684
  var n;
685
685
  switch (r.id) {
686
- case kt.id: {
686
+ case Bt.id: {
687
687
  const s = e._univerInstanceService.getCurrentUnitForType(E.UNIVER_SHEET), i = s.getUnitId(), o = (n = s.getActiveSheet()) == null ? void 0 : n.getSheetId();
688
688
  if (!o)
689
689
  return {
@@ -715,9 +715,9 @@ let ne = class extends pe {
715
715
  if (a.length) {
716
716
  const u = {
717
717
  id: Se.id,
718
- params: At(i, o, a)
718
+ params: Wt(i, o, a)
719
719
  };
720
- d.push(u), m.push(...Bt(e._injector, u.params));
720
+ d.push(u), m.push(...Vt(e._injector, u.params));
721
721
  }
722
722
  if (h.length) {
723
723
  const u = {
@@ -728,7 +728,7 @@ let ne = class extends pe {
728
728
  ranges: h
729
729
  }
730
730
  };
731
- d.push(u), m.push(...Wt(e._injector, u.params));
731
+ d.push(u), m.push(...Gt(e._injector, u.params));
732
732
  }
733
733
  return {
734
734
  redos: d,
@@ -745,17 +745,17 @@ let ne = class extends pe {
745
745
  );
746
746
  }
747
747
  };
748
- ne = Fn([
749
- F(0, N(Ye)),
750
- F(1, N(Je)),
748
+ ne = Ln([
749
+ F(0, N(Je)),
750
+ F(1, N(ze)),
751
751
  F(2, N(ve)),
752
- F(3, N(He)),
753
- F(4, dt(Pt))
752
+ F(3, N(ke)),
753
+ F(4, ht(Rt))
754
754
  ], ne);
755
- function Hn(t) {
755
+ function kn(t) {
756
756
  return /^-?\d+(\.\d+)?$/.test(t);
757
757
  }
758
- function kn(t) {
758
+ function An(t) {
759
759
  const { textRuns: e = [], paragraphs: r = [], customRanges: n, customBlocks: s = [] } = t, i = ["va"];
760
760
  return !(e.some((o) => !!(o.ts && Object.keys(o.ts).some((a) => i.includes(a)))) || r.some((o) => o.bullet) || r.length >= 2 || n != null && n.length || s.length > 0);
761
761
  }
@@ -766,7 +766,7 @@ const Q = [
766
766
  },
767
767
  {
768
768
  label: "sheet.numfmt.text",
769
- pattern: Ze
769
+ pattern: Qe
770
770
  },
771
771
  "|",
772
772
  {
@@ -812,9 +812,9 @@ const Q = [
812
812
  label: "sheet.numfmt.moreFmt",
813
813
  pattern: ""
814
814
  }
815
- ], An = (t) => ({
815
+ ], Bn = (t) => ({
816
816
  icon: new U((e) => {
817
- const r = t.get(Nt);
817
+ const r = t.get(Tt);
818
818
  function n(i) {
819
819
  return {
820
820
  [w.US]: "DollarSingle",
@@ -829,39 +829,39 @@ const Q = [
829
829
  e.next(n(o));
830
830
  });
831
831
  }),
832
- id: We.id,
832
+ id: Ve.id,
833
833
  title: "sheet.numfmt.currency",
834
834
  tooltip: "sheet.numfmt.currency",
835
835
  type: V.BUTTON,
836
836
  hidden$: G(t, E.UNIVER_SHEET),
837
837
  disabled$: W(t, { workbookTypes: [K], worksheetTypes: [q, Y], rangeTypes: [J] })
838
- }), Bn = (t) => ({
838
+ }), Wn = (t) => ({
839
839
  icon: "AddDigitsSingle",
840
- id: Ve.id,
840
+ id: Ge.id,
841
841
  title: "sheet.numfmt.addDecimal",
842
842
  tooltip: "sheet.numfmt.addDecimal",
843
843
  type: V.BUTTON,
844
844
  hidden$: G(t, E.UNIVER_SHEET),
845
845
  disabled$: W(t, { workbookTypes: [K], worksheetTypes: [q, Y], rangeTypes: [J] })
846
- }), Wn = (t) => ({
846
+ }), Vn = (t) => ({
847
847
  icon: "ReduceDigitsSingle",
848
- id: Ge.id,
848
+ id: Ke.id,
849
849
  title: "sheet.numfmt.subtractDecimal",
850
850
  tooltip: "sheet.numfmt.subtractDecimal",
851
851
  type: V.BUTTON,
852
852
  hidden$: G(t, E.UNIVER_SHEET),
853
853
  disabled$: W(t, { workbookTypes: [K], worksheetTypes: [q, Y], rangeTypes: [J] })
854
- }), Vn = (t) => ({
854
+ }), Gn = (t) => ({
855
855
  icon: "PercentSingle",
856
- id: Ke.id,
856
+ id: qe.id,
857
857
  title: "sheet.numfmt.percent",
858
858
  tooltip: "sheet.numfmt.percent",
859
859
  type: V.BUTTON,
860
860
  hidden$: G(t, E.UNIVER_SHEET),
861
861
  disabled$: W(t, { workbookTypes: [K], worksheetTypes: [q, Y], rangeTypes: [J] })
862
- }), Gn = (t) => {
863
- const e = t.get(ve), r = t.get(ge), n = t.get(T), s = t.get(ye), i = jt(e, "", ({ workbook: o, worksheet: c }) => new U(
864
- (a) => Gt(
862
+ }), Kn = (t) => {
863
+ const e = t.get(ve), r = t.get(ge), n = t.get(T), s = t.get(ye), i = Mt(e, "", ({ workbook: o, worksheet: c }) => new U(
864
+ (a) => qt(
865
865
  s.selectionMoveEnd$,
866
866
  new U((h) => {
867
867
  const d = [_e.id, Se.id], m = r.onCommandExecuted((u) => {
@@ -886,14 +886,14 @@ const Q = [
886
886
  })
887
887
  ));
888
888
  return {
889
- label: nt,
889
+ label: rt,
890
890
  id: H.id,
891
891
  tooltip: "sheet.numfmt.title",
892
892
  type: V.SELECTOR,
893
893
  selections: [
894
894
  {
895
895
  label: {
896
- name: rt,
896
+ name: st,
897
897
  hoverable: !1
898
898
  }
899
899
  }
@@ -902,21 +902,21 @@ const Q = [
902
902
  hidden$: G(t, E.UNIVER_SHEET),
903
903
  disabled$: W(t, { workbookTypes: [K], worksheetTypes: [Y, q], rangeTypes: [J] })
904
904
  };
905
- }, nt = "sheet.numfmt.moreNumfmtType", rt = "sheet.numfmt.moreNumfmtType.options", Kn = (t) => {
905
+ }, rt = "sheet.numfmt.moreNumfmtType", st = "sheet.numfmt.moreNumfmtType.options", qn = (t) => {
906
906
  var n;
907
907
  const e = y(T), r = (n = t.value) != null ? n : e.t("sheet.numfmt.general");
908
908
  return /* @__PURE__ */ l.jsx("span", { className: "more-numfmt-type", children: r });
909
- }, qn = () => {
910
- const t = y(ge), e = y(T), r = y(Ot);
911
- ht();
909
+ }, Yn = () => {
910
+ const t = y(ge), e = y(T), r = y(Ut);
911
+ ft();
912
912
  const n = y(ye), s = (c) => {
913
913
  const a = n.getCurrentLastSelection();
914
914
  if (!a)
915
915
  return;
916
916
  const h = a.range, d = [];
917
- Le.foreach(h, (m, u) => {
917
+ He.foreach(h, (m, u) => {
918
918
  c ? d.push({ row: m, col: u, pattern: c, type: te(c) }) : d.push({ row: m, col: u });
919
- }), t.executeCommand(Be.id, { values: d }), r.focus();
919
+ }), t.executeCommand(We.id, { values: d }), r.focus();
920
920
  }, i = (c) => {
921
921
  if (c === 0)
922
922
  s(null);
@@ -936,66 +936,70 @@ const Q = [
936
936
  },
937
937
  children: [
938
938
  /* @__PURE__ */ l.jsx("div", { children: e.t(c.label) }),
939
- /* @__PURE__ */ l.jsx("div", { className: "m-l-26", children: c.pattern ? Et(c.pattern || "", o, e.getCurrentLocale()).result : "" })
939
+ /* @__PURE__ */ l.jsx("div", { className: "m-l-26", children: c.pattern ? xt(c.pattern || "", o, e.getCurrentLocale()).result : "" })
940
940
  ]
941
941
  },
942
942
  a
943
943
  )) });
944
- }, Yn = {
945
- [wt.FORMULAS_INSERT]: {
946
- [We.id]: {
947
- order: 4,
948
- menuItemFactory: An
949
- },
944
+ }, Jn = {
945
+ [Dt.FORMULAS_INSERT]: {
950
946
  [Ve.id]: {
951
- order: 5,
947
+ order: 4,
952
948
  menuItemFactory: Bn
953
949
  },
954
950
  [Ge.id]: {
955
- order: 6,
951
+ order: 5,
956
952
  menuItemFactory: Wn
957
953
  },
958
954
  [Ke.id]: {
959
- order: 7,
955
+ order: 6,
960
956
  menuItemFactory: Vn
961
957
  },
958
+ [qe.id]: {
959
+ order: 7,
960
+ menuItemFactory: Gn
961
+ },
962
962
  [H.id]: {
963
963
  order: 8,
964
- menuItemFactory: Gn
964
+ menuItemFactory: Kn
965
965
  }
966
966
  }
967
967
  };
968
- var Jn = Object.defineProperty, zn = Object.getOwnPropertyDescriptor, Xn = (t, e, r, n) => {
969
- for (var s = n > 1 ? void 0 : n ? zn(e, r) : e, i = t.length - 1, o; i >= 0; i--)
968
+ var zn = Object.defineProperty, Xn = Object.getOwnPropertyDescriptor, Zn = (t, e, r, n) => {
969
+ for (var s = n > 1 ? void 0 : n ? Xn(e, r) : e, i = t.length - 1, o; i >= 0; i--)
970
970
  (o = t[i]) && (s = (n ? o(e, r, s) : o(s)) || s);
971
- return n && s && Jn(e, r, s), s;
972
- }, Ue = (t, e) => (r, n) => e(r, n, t);
971
+ return n && s && zn(e, r, s), s;
972
+ }, De = (t, e) => (r, n) => e(r, n, t);
973
973
  let re = class extends pe {
974
974
  constructor(t, e) {
975
975
  super(), this._componentManager = t, this._menuManagerService = e, this._initMenu();
976
976
  }
977
977
  _initMenu() {
978
- this._menuManagerService.mergeMenu(Yn), this.disposeWithMe(this._componentManager.register(nt, Kn)), this.disposeWithMe(this._componentManager.register(rt, qn));
978
+ this._menuManagerService.mergeMenu(Jn), this.disposeWithMe(this._componentManager.register(rt, qn)), this.disposeWithMe(this._componentManager.register(st, Yn));
979
979
  }
980
980
  };
981
- re = Xn([
982
- Ue(0, N(qe)),
983
- Ue(1, Ut)
981
+ re = Zn([
982
+ De(0, N(Ye)),
983
+ De(1, $t)
984
984
  ], re);
985
- var st = Object.defineProperty, Zn = Object.getOwnPropertyDescriptor, Qn = (t, e, r) => e in t ? st(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, er = (t, e, r, n) => {
986
- for (var s = n > 1 ? void 0 : n ? Zn(e, r) : e, i = t.length - 1, o; i >= 0; i--)
985
+ var it = Object.defineProperty, Qn = Object.getOwnPropertyDescriptor, er = (t, e, r) => e in t ? it(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, tr = (t, e, r, n) => {
986
+ for (var s = n > 1 ? void 0 : n ? Qn(e, r) : e, i = t.length - 1, o; i >= 0; i--)
987
987
  (o = t[i]) && (s = (n ? o(e, r, s) : o(s)) || s);
988
- return n && s && st(e, r, s), s;
989
- }, De = (t, e) => (r, n) => e(r, n, t), it = (t, e, r) => Qn(t, typeof e != "symbol" ? e + "" : e, r);
990
- const tr = "SHEET_NUMFMT_UI_PLUGIN";
991
- let se = class extends pt {
992
- constructor(t = Qt, e, r) {
988
+ return n && s && it(e, r, s), s;
989
+ }, $e = (t, e) => (r, n) => e(r, n, t), ot = (t, e, r) => er(t, typeof e != "symbol" ? e + "" : e, r);
990
+ const nr = "SHEET_NUMFMT_UI_PLUGIN";
991
+ let se = class extends vt {
992
+ constructor(t = Re, e, r) {
993
993
  super(), this._config = t, this._injector = e, this._configService = r;
994
- const { menu: n, ...s } = this._config;
995
- n && this._configService.setConfig("menu", n, { merge: !0 }), this._configService.setConfig(Dt, s);
994
+ const { menu: n, ...s } = gt(
995
+ {},
996
+ Re,
997
+ this._config
998
+ );
999
+ n && this._configService.setConfig("menu", n, { merge: !0 }), this._configService.setConfig(Ft, s);
996
1000
  }
997
1001
  onStarting() {
998
- vt(this._injector, [
1002
+ _t(this._injector, [
999
1003
  [A],
1000
1004
  [ne],
1001
1005
  [k],
@@ -1003,19 +1007,19 @@ let se = class extends pt {
1003
1007
  ]);
1004
1008
  }
1005
1009
  onRendered() {
1006
- gt(this._injector, [
1010
+ St(this._injector, [
1007
1011
  [A],
1008
1012
  [ne],
1009
1013
  [re]
1010
1014
  ]);
1011
1015
  }
1012
1016
  };
1013
- it(se, "pluginName", tr);
1014
- it(se, "type", E.UNIVER_SHEET);
1015
- se = er([
1016
- ft(Rt, Tt),
1017
- De(1, N(He)),
1018
- De(2, _t)
1017
+ ot(se, "pluginName", nr);
1018
+ ot(se, "type", E.UNIVER_SHEET);
1019
+ se = tr([
1020
+ pt(Ot, Pt),
1021
+ $e(1, N(ke)),
1022
+ $e(2, yt)
1019
1023
  ], se);
1020
1024
  export {
1021
1025
  se as UniverSheetsNumfmtUIPlugin
package/lib/index.css CHANGED
@@ -1 +1 @@
1
- .options{display:flex;justify-content:space-between}.options .w-140{width:140px}.options .w-120{width:120px}.univer-custom-format-title{margin-top:16px}.univer-custom-format-input{margin-top:8px;width:100%}.univer-custom-format-history-list{margin-top:8px;padding:8px;border-radius:8px;border:1px solid var(---Grey-200, #e5e5e5);max-height:400px;overflow:scroll}.univer-custom-format-history-list-item{padding:6px 0;display:flex;gap:6px;align-items:center;cursor:pointer}.univer-custom-format-history-list-item-icon-wrap{width:16px;display:flex;align-items:center;color:#274fee}.univer-custom-format-des{margin-top:8px;color:var(---Grey-600, #7a7a7a);font-size:12px;font-style:normal;font-weight:400;line-height:16px}.numfmt-panel{overflow-y:auto;display:flex;flex-direction:column;justify-content:space-between;height:100%}.numfmt-panel .group-title{font-size:16px;color:rgba(var(--color-black))}.numfmt-panel .label{font-size:15px;color:rgba(var(--grey-400))}.numfmt-panel .describe{font-size:13px;line-height:20px;color:rgba(var(--grey-600))}.numfmt-panel .preview{height:36px;padding:0 16px;font-size:14px;line-height:36px;color:var(--color-black);border:1px solid rgb(var(--grey-200));border-radius:4px}.numfmt-panel .btn-list{display:flex;justify-content:flex-end}.numfmt-panel .m-r-12{margin-right:12px}.numfmt-panel .m-t-16{margin-top:16px}.numfmt-panel .m-t-14{margin-top:14px}.numfmt-panel .m-t-8{margin-top:8px}.numfmt-panel .m-b-20{margin-bottom:20px}.more-numfmt-type{display:flex;flex-shrink:0;padding:0 4px;font-size:13px;color:var(--black)}.more-numfmt-type .icon{display:flex;align-items:center;height:auto;padding-left:8px;color:rgb(var(--grey-400))}.more-numfmt-type-options .line{width:100%;height:1px;background-color:rgb(var(--grey-200))}.more-numfmt-type-options .m-t-4{margin-top:4px}.more-numfmt-type-options .option-item{display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 8px;font-size:13px}.more-numfmt-type-options .option-item:hover{background-color:rgb(var(--grey-100));border-radius:var(--border-radius-base)}.more-numfmt-type-options .m-l-26{margin-left:26px}
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*{scrollbar-color:initial;scrollbar-width:initial}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.options{display:flex;justify-content:space-between}.options .w-140{width:140px}.options .w-120{width:120px}.univer-custom-format-title{margin-top:16px}.univer-custom-format-input{margin-top:8px;width:100%}.univer-custom-format-history-list{margin-top:8px;padding:8px;border-radius:8px;border:1px solid var(---Grey-200, #e5e5e5);max-height:400px;overflow:scroll}.univer-custom-format-history-list-item{padding:6px 0;display:flex;gap:6px;align-items:center;cursor:pointer}.univer-custom-format-history-list-item-icon-wrap{width:16px;display:flex;align-items:center;color:#274fee}.univer-custom-format-des{margin-top:8px;color:var(---Grey-600, #7a7a7a);font-size:12px;font-style:normal;font-weight:400;line-height:16px}.numfmt-panel{overflow-y:auto;display:flex;flex-direction:column;justify-content:space-between;height:100%}.numfmt-panel .group-title{font-size:16px;color:rgba(var(--color-black))}.numfmt-panel .label{font-size:15px;color:rgba(var(--grey-400))}.numfmt-panel .describe{font-size:13px;line-height:20px;color:rgba(var(--grey-600))}.numfmt-panel .preview{height:36px;padding:0 16px;font-size:14px;line-height:36px;color:var(--color-black);border:1px solid rgb(var(--grey-200));border-radius:4px}.numfmt-panel .btn-list{display:flex;justify-content:flex-end}.numfmt-panel .m-r-12{margin-right:12px}.numfmt-panel .m-t-16{margin-top:16px}.numfmt-panel .m-t-14{margin-top:14px}.numfmt-panel .m-t-8{margin-top:8px}.numfmt-panel .m-b-20{margin-bottom:20px}.more-numfmt-type{display:flex;flex-shrink:0;padding:0 4px;font-size:13px;color:var(--black)}.more-numfmt-type .icon{display:flex;align-items:center;height:auto;padding-left:8px;color:rgb(var(--grey-400))}.more-numfmt-type-options .line{width:100%;height:1px;background-color:rgb(var(--grey-200))}.more-numfmt-type-options .m-t-4{margin-top:4px}.more-numfmt-type-options .option-item{display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 8px;font-size:13px}.more-numfmt-type-options .option-item:hover{background-color:rgb(var(--grey-100));border-radius:var(--border-radius-base)}.more-numfmt-type-options .m-l-26{margin-left:26px}
@@ -1,5 +1,5 @@
1
- import { Dependency, Univer } from '@univerjs/core';
2
- export declare const createTestBed: (dependencies?: Dependency[]) => {
1
+ import { Dependency, IWorkbookData, Univer } from '@univerjs/core';
2
+ export declare const createTestBed: (defaultWorkbook?: IWorkbookData, dependencies?: Dependency[]) => {
3
3
  univer: Univer;
4
4
  get: {
5
5
  <T>(id: import('@wendellhu/redi').DependencyIdentifier<T>, lookUp?: import('@wendellhu/redi').LookUp): T;
package/lib/umd/index.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(b,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("@univerjs/core"),require("@univerjs/sheets-numfmt"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("rxjs"),require("rxjs/operators"),require("react"),require("@univerjs/design"),require("@univerjs/engine-numfmt")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets-numfmt","@univerjs/sheets-ui","@univerjs/ui","@univerjs/engine-render","@univerjs/sheets","rxjs","rxjs/operators","react","@univerjs/design","@univerjs/engine-numfmt"],s):(b=typeof globalThis<"u"?globalThis:b||self,s(b.UniverSheetsNumfmtUi={},b.UniverCore,b.UniverSheetsNumfmt,b.UniverSheetsUi,b.UniverUi,b.UniverEngineRender,b.UniverSheets,b.rxjs,b.rxjs.operators,b.React,b.UniverDesign,b.UniverEngineNumfmt))})(this,function(b,s,m,R,P,fe,S,O,A,g,E,ee){"use strict";var pt=Object.defineProperty;var ft=(b,s,m)=>s in b?pt(b,s,{enumerable:!0,configurable:!0,writable:!0,value:m}):b[s]=m;var Y=(b,s,m)=>ft(b,typeof s!="symbol"?s+"":s,m);const ve={},J={id:"sheet.operation.close.numfmt.panel",type:s.CommandType.OPERATION,handler:()=>!0},w={id:"sheet.operation.open.numfmt.panel",type:s.CommandType.OPERATION,handler:e=>(e.get(k).openPanel(),!0)};var z={exports:{}},F={};/**
1
+ (function(b,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("@univerjs/core"),require("@univerjs/sheets-numfmt"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("rxjs"),require("rxjs/operators"),require("react"),require("@univerjs/design"),require("@univerjs/engine-numfmt")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets-numfmt","@univerjs/sheets-ui","@univerjs/ui","@univerjs/engine-render","@univerjs/sheets","rxjs","rxjs/operators","react","@univerjs/design","@univerjs/engine-numfmt"],s):(b=typeof globalThis<"u"?globalThis:b||self,s(b.UniverSheetsNumfmtUi={},b.UniverCore,b.UniverSheetsNumfmt,b.UniverSheetsUi,b.UniverUi,b.UniverEngineRender,b.UniverSheets,b.rxjs,b.rxjs.operators,b.React,b.UniverDesign,b.UniverEngineNumfmt))})(this,function(b,s,m,R,P,ve,S,O,A,g,E,ee){"use strict";var pt=Object.defineProperty;var ft=(b,s,m)=>s in b?pt(b,s,{enumerable:!0,configurable:!0,writable:!0,value:m}):b[s]=m;var Y=(b,s,m)=>ft(b,typeof s!="symbol"?s+"":s,m);const te={},J={id:"sheet.operation.close.numfmt.panel",type:s.CommandType.OPERATION,handler:()=>!0},w={id:"sheet.operation.open.numfmt.panel",type:s.CommandType.OPERATION,handler:e=>(e.get(k).openPanel(),!0)};var z={exports:{}},F={};/**
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 te;function he(){if(te)return F;te=1;var e=g,t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function o(c,l,v){var f,d={},p=null,y=null;v!==void 0&&(p=""+v),l.key!==void 0&&(p=""+l.key),l.ref!==void 0&&(y=l.ref);for(f in l)n.call(l,f)&&!a.hasOwnProperty(f)&&(d[f]=l[f]);if(c&&c.defaultProps)for(f in l=c.defaultProps,l)d[f]===void 0&&(d[f]=l[f]);return{$$typeof:t,type:c,key:p,ref:y,props:d,_owner:i.current}}return F.Fragment=r,F.jsx=o,F.jsxs=o,F}var ne;function Se(){return ne||(ne=1,z.exports=he()),z.exports}var u=Se(),ye=Object.defineProperty,ge=Object.getOwnPropertyDescriptor,_e=(e,t,r,n)=>{for(var i=n>1?void 0:n?ge(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(n?o(t,r,i):o(i))||i);return n&&i&&ye(t,r,i),i},be=(e,t)=>(r,n)=>t(r,n,e);const X=g.createContext([]);let L=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 i=n.findIndex(a=>a===t);i>-1&&n.splice(i,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 i=n.map((a,o,c)=>{const l=c.length;return{value:a,priority:l-o}});return t.sort((a,o)=>{var v,f;const c=((v=i.find(d=>d.value===a))==null?void 0:v.priority)||-1;return(((f=i.find(d=>d.value===o))==null?void 0:f.priority)||-1)-c})}return n||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};L=_e([be(0,s.Inject(s.ILocalStorageService))],L);const re="numfmtCurrency",Ce=e=>{const t=s.useDependency(L),[r,n]=g.useState(m.currencySymbols);return g.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(re,[...m.currencySymbols]).then(a=>{n(a),e&&e(a)})})},[]),{userHabitCurrency:r,mark:a=>{t.markHabit(re,a)}}},Ie=()=>{const e=g.useRef([]),[t,r]=g.useState({});return g.useEffect(()=>{e.current.forEach(i=>{i()}),e.current=[]},[t]),i=>{e.current.push(i),r({})}},Pe=e=>!!m.getCurrencyType(e)&&e.startsWith("_("),Te=e=>{const{defaultPattern:t,action:r,onChange:n}=e,[i,a]=g.useState(()=>m.getDecimalFromPattern(t||"",2)),o=g.useContext(X),[c,l]=g.useState(()=>m.getCurrencyType(t)||o[0]),v=g.useMemo(()=>o.map(_=>({label:_,value:_})),[]),d=s.useDependency(s.LocaleService).t;r.current=()=>m.setPatternDecimal(`_("${c}"* #,##0${i>0?".0":""}_)`,i);const p=_=>{l(_),n(m.setPatternDecimal(`_("${_}"* #,##0${i>0?".0":""}_)`,i))},y=_=>{const h=_||0;a(h),n(m.setPatternDecimal(`_("${c}"* #,##0${h>0?".0":""}_)`,h))};return u.jsxs("div",{children:[u.jsxs("div",{className:"m-t-16 options",children:[u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:d("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8 w-120",children:u.jsx(E.InputNumber,{value:i,max:20,min:0,onChange:y})})]}),u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:d("sheet.numfmt.currencyType")}),u.jsx("div",{className:"m-t-8 w-140",children:u.jsx(E.Select,{onChange:p,options:v,value:c})})]})]}),u.jsx("div",{className:"describe m-t-14",children:d("sheet.numfmt.accountingDes")})]})},Ee=e=>!!m.getCurrencyType(e)&&!e.startsWith("_("),je=e=>{const r=s.useDependency(s.LocaleService).t,n=g.useContext(X),[i,a]=g.useState(()=>m.getCurrencyType(e.defaultPattern)||n[0]),[o,c]=g.useState(()=>m.getDecimalFromPattern(e.defaultPattern||"",2)),[l,v]=g.useState(()=>{var C;const h=m.getCurrencyFormatOptions(i);return((C=h.find(M=>m.isPatternEqualWithoutDecimal(M.value,e.defaultPattern)))==null?void 0:C.value)||h[0].value}),f=g.useMemo(()=>m.getCurrencyFormatOptions(i),[i]),d=g.useMemo(()=>n.map(h=>({label:h,value:h})),[n]);e.action.current=()=>m.setPatternDecimal(l,o);const p=h=>{if(h===void 0)return;a(h);const T=m.getCurrencyFormatOptions(h)[0].value;v(T),e.onChange(m.setPatternDecimal(T,o))},y=h=>{h!==void 0&&(v(h),e.onChange(m.setPatternDecimal(h,o)))},_=h=>{c(h||0),e.onChange(m.setPatternDecimal(l,h||0))};return u.jsxs("div",{children:[u.jsxs("div",{className:"m-t-16 options",children:[u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:r("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8 w-120",children:u.jsx(E.InputNumber,{value:o,max:20,min:0,onChange:_})})]}),u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:r("sheet.numfmt.currencyType")}),u.jsx("div",{className:"m-t-8 w-140",children:u.jsx(E.Select,{onChange:p,options:d,value:i})})]})]}),u.jsx("div",{className:"m-t-16 label",children:r("sheet.numfmt.negType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{onChange:y,options:f,value:l})}),u.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.currencyDes")})]})};var j=function(){return j=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},j.apply(this,arguments)},Me=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 i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},ie=g.forwardRef(function(e,t){var r=e.icon,n=e.id,i=e.className,a=e.extend,o=Me(e,["icon","id","className","extend"]),c="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),l=g.useRef("_".concat(Re()));return se(r,"".concat(n),{defIds:r.defIds,idSuffix:l.current},j({ref:t,className:c},o),a)});function se(e,t,r,n,i){return g.createElement(e.tag,j(j({key:t},xe(e,r,i)),n),(De(e,r).children||[]).map(function(a,o){return se(a,"".concat(t,"-").concat(e.tag,"-").concat(o),r,void 0,i)}))}function xe(e,t,r){var n=j({},e.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1);var i=t.defIds;return!i||i.length===0||(e.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(function(a){var o=a[0],c=a[1];typeof c=="string"&&(n[o]=c.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function De(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)?j(j({},e),{children:e.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?j(j({},i),{attrs:j(j({},i.attrs),{id:i.attrs.id+t.idSuffix})}):i})}):e}function Re(){return Math.random().toString(36).substring(2,8)}ie.displayName="UniverIcon";var Oe={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ae=g.forwardRef(function(e,t){return g.createElement(ie,Object.assign({},e,{id:"check-mark-single",ref:t,icon:Oe}))});ae.displayName="CheckMarkSingle";const U={customFormatTitle:"univer-custom-format-title",customFormatInput:"univer-custom-format-input",customFormatHistoryList:"univer-custom-format-history-list",customFormatHistoryListItem:"univer-custom-format-history-list-item",customFormatHistoryListItemIconWrap:"univer-custom-format-history-list-item-icon-wrap",customFormatDes:"univer-custom-format-des"},Z="customFormat",Q="numfmt_custom_pattern";function Ue(e){const{defaultPattern:t,action:r,onChange:n}=e,i=s.useDependency(L),a=s.useDependency(s.ILocalStorageService),o=s.useDependency(s.LocaleService),[c,l]=g.useState(t);r.current=()=>(i.markHabit(Z,c),a.getItem(Q).then((y=[])=>{const _=[...new Set([c,...y||[]])].splice(0,10).filter(h=>!!h);a.setItem(Q,_)}),c);const[v,f]=g.useState([]);g.useEffect(()=>{a.getItem(Q).then(y=>{const _=[...m.CURRENCYFORMAT.map(h=>h.suffix("$")),...m.DATEFMTLISG.map(h=>h.suffix),...m.NUMBERFORMAT.map(h=>h.suffix)];_.push(...y||[]),i.addHabit(Z,[]).finally(()=>{i.getHabit(Z,_).then(h=>{f([...new Set(h)])})})})},[]);const d=y=>{l(y),n(y)},p=()=>{n(c)};return u.jsxs("div",{className:U.customFormat,children:[u.jsx("div",{className:U.customFormatTitle,children:o.t("sheet.numfmt.customFormat")}),u.jsx(E.Input,{placeholder:o.t("sheet.numfmt.customFormat"),onBlur:p,value:c,onChange:l,className:U.customFormatInput}),u.jsx("div",{className:U.customFormatHistoryList,children:v.map(y=>u.jsxs("div",{onClick:()=>d(y),className:U.customFormatHistoryListItem,children:[u.jsx("div",{className:U.customFormatHistoryListItemIconWrap,children:c===y&&u.jsx(ae,{})}),u.jsx("div",{children:y})]},y))}),u.jsx("div",{className:U.customFormatDes,children:o.t("sheet.numfmt.customFormatDes")})]})}const Ne=e=>{const t=s.numfmt.getInfo(e);return m.getDateFormatOptions().map(r=>r.value).includes(e)||["date","datetime","time"].includes(t.type)},we=e=>{const t=g.useMemo(m.getDateFormatOptions,[]),n=s.useDependency(s.LocaleService).t,[i,a]=g.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=()=>i;const o=c=>{c!==void 0&&(a(c),e.onChange(c))};return u.jsxs("div",{children:[u.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.dateType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{value:i,options:t,onChange:o})}),u.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.dateDes")})]})},Fe=e=>!e,Le=e=>{const r=s.useDependency(s.LocaleService).t;return e.action.current=()=>"",u.jsx("div",{children:u.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.generalDes")})})},ke=e=>m.getNumberFormatOptions().some(t=>m.isPatternEqualWithoutDecimal(t.value,e)),He=e=>{const t=s.useDependency(s.LocaleService),r=g.useMemo(m.getNumberFormatOptions,[]),[n,i]=g.useState(()=>m.getDecimalFromPattern(e.defaultPattern||"",0)),[a,o]=g.useState(()=>{const d=r.find(p=>m.isPatternEqualWithoutDecimal(p.value,e.defaultPattern||""));return(d==null?void 0:d.value)||r[0].value}),c=g.useMemo(()=>m.setPatternDecimal(a,Number(n||0)),[a,n]),l=g.useMemo(()=>!m.isPatternHasDecimal(a),[a]),v=d=>{i(d||0),e.onChange(m.setPatternDecimal(a,Number(d||0)))},f=d=>{d!==void 0&&(i(m.getDecimalFromPattern(d,0)),o(d),e.onChange(d))};return e.action.current=()=>c,u.jsxs("div",{children:[u.jsx("div",{className:"m-t-16 label",children:t.t("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.InputNumber,{disabled:l,value:n,max:20,min:0,onChange:v})}),u.jsxs("div",{className:"m-t-16 label",children:[" ",t.t("sheet.numfmt.negType")]}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{onChange:f,options:r,value:a})}),u.jsx("div",{className:"describe m-t-14",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},We=e=>{const{defaultValue:t,defaultPattern:r,row:n,col:i}=e.value,a=s.useDependency(s.LocaleService),o=g.useRef(()=>""),c=a.t,l=Ie(),v=g.useMemo(()=>[{label:"sheet.numfmt.general",component:Le},{label:"sheet.numfmt.accounting",component:Te},{label:"sheet.numfmt.currency",component:je},{label:"sheet.numfmt.date",component:we},{label:"sheet.numfmt.thousandthPercentile",component:He},{label:"sheet.numfmt.customFormat",component:Ue}].map(I=>({...I,label:c(I.label)})),[]),[f,d]=g.useState(C),[p,y]=g.useState(()=>`${n}_${i}`),{mark:_,userHabitCurrency:h}=Ce(()=>y(`${n}_${i}_userCurrency'`)),T=g.useMemo(()=>{var I;return(I=v.find(N=>N.label===f))==null?void 0:I.component},[f]);function C(){return[Fe,Pe,Ee,Ne,ke].reduce((N,mt,dt)=>N||(mt(r)?v[dt].label:""),"")||v[0].label}const M=v.map(I=>({label:I.label,value:I.label})),D=I=>{d(I),l(()=>e.onChange({type:"change",value:o.current()||""}))},K=I=>{e.onChange({type:"change",value:I})},$=()=>{const I=o.current()||"",N=m.getCurrencyType(I);N&&_(N),e.onChange({type:"confirm",value:I})},W=()=>{e.onChange({type:"cancel",value:""})},q={onChange:K,defaultValue:t,defaultPattern:r,action:o};return g.useEffect(()=>{d(C()),y(`${n}_${i}`)},[n,i]),u.jsxs("div",{className:"numfmt-panel p-b-20",children:[u.jsxs("div",{children:[u.jsx("div",{className:"label m-t-14",children:c("sheet.numfmt.numfmtType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.Select,{onChange:D,options:M,value:f,style:{width:"100%"}})}),u.jsx("div",{children:T&&u.jsx(X.Provider,{value:h,children:g.createElement(T,{...q,key:p})})})]}),u.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[u.jsx(E.Button,{size:"small",onClick:W,className:"m-r-12",children:c("sheet.numfmt.cancel")}),u.jsx(E.Button,{type:"primary",size:"small",onClick:$,children:c("sheet.numfmt.confirm")})]})]})};var Ae=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ve=(e,t,r,n)=>{for(var i=n>1?void 0:n?Be(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(n?o(t,r,i):o(i))||i);return n&&i&&Ae(t,r,i),i},x=(e,t)=>(r,n)=>t(r,n,e);const oe="SHEET_NUMFMT_PANEL";let k=class extends s.Disposable{constructor(t,r,n,i,a,o,c,l,v,f){super();Y(this,"_previewPattern","");Y(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=r,this._univerInstanceService=n,this._commandService=i,this._selectionManagerService=a,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 T;const t=this._sidebarService,r=this._selectionManagerService,n=this._commandService,i=this._univerInstanceService,a=this._numfmtService,o=this._localeService,l=(((T=r.getCurrentSelections())==null?void 0:T.map(C=>C.range))||[])[0];if(!l)return!1;const v=i.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET),f=v.getActiveSheet();if(!f)return!1;const d=f.getCellRaw(l.startRow,l.startColumn),p=a.getValue(v.getUnitId(),f.getSheetId(),l.startRow,l.startColumn);let y="";p&&(y=p.pattern);const _=(d==null?void 0:d.t)===s.CellValueType.NUMBER?d.v:12345678,h={onChange:C=>{var M;if(C.type==="change")this._previewPattern=C.value,this._forceUpdate();else if(C.type==="confirm"){const D=((M=r.getCurrentSelections())==null?void 0:M.map(W=>W.range))||[],K={values:[]},$=m.getPatternType(C.value);D.forEach(W=>{s.Range.foreach(W,(q,I)=>{K.values.push({row:q,col:I,pattern:C.value,type:$})})}),n.executeCommand(m.SetNumfmtCommand.id,K),t.close()}else C.type==="cancel"&&t.close()},value:{defaultPattern:y,defaultValue:_,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=t.open({header:{title:o.t("sheet.numfmt.title")},children:{label:oe,...h},onClose:()=>{this._forceUpdate(),n.executeCommand(J.id)}}),!0}_forceUpdate(t){var n;const r=this._renderManagerService.getRenderById(t!=null?t:this._univerInstanceService.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET).getUnitId());r==null||r.with(R.SheetSkeletonManagerService).reCalculate(),(n=r==null?void 0:r.mainComponent)==null||n.makeDirty()}_initCommands(){[w,J].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(oe,We)}_initRealTimeRenderingInterceptor(){const t=new O.Observable(n=>{this._commandService.onCommandExecuted(i=>{i.id===w.id&&n.next(!0),i.id===J.id&&n.next(!1)})}),r=O.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(A.map(n=>n?n.map(i=>i.range):[]))]);this.disposeWithMe(s.toDisposable(r.pipe(A.switchMap(([n,i])=>new O.Observable(a=>{const o=new s.DisposableCollection;return n&&i.length&&a.next({selectionRanges:i,disposableCollection:o}),()=>{o.dispose()}})),A.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:i})=>{var o,c;const a=this._univerInstanceService.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET);this.openPanel(),n.add(this._sheetInterceptorService.intercept(S.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,effect:s.InterceptorEffectEnum.Value|s.InterceptorEffectEnum.Style,handler:(l,v,f)=>{const{row:d,col:p}=v,y=f(l)||{};if(i.find(_=>_.startColumn<=p&&_.endColumn>=p&&_.startRow<=d&&_.endRow>=d)){const _=v.worksheet.getCellRaw(d,p),h=_==null?void 0:_.v,T=_==null?void 0:_.t;if(h==null||T!==s.CellValueType.NUMBER||this._previewPattern===null)return y;const C=m.getPatternPreviewIgnoreGeneral(this._previewPattern,h,this._localeService.getCurrentLocale());if(C.color){const D=this._themeService.getCurrentTheme()[`${C.color}500`];return{...y,v:C.result,t:s.CellValueType.STRING,s:{cl:{rgb:D}}}}return{...y,v:C.result,t:s.CellValueType.STRING}}return y}})),(c=(o=this._renderManagerService.getRenderById(a.getUnitId()))==null?void 0:o.mainComponent)==null||c.makeDirty()})))}_commandExecutedListener(){const t=[S.RemoveNumfmtMutation.id,S.SetNumfmtMutation.id];this.disposeWithMe(new O.Observable(r=>{const n=this._commandService.onCommandExecuted(i=>{if(t.includes(i.id)){const a=i.params;r.next(a.unitId)}});return()=>n.dispose()}).pipe(A.debounceTime(16)).subscribe(r=>this._forceUpdate(r)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(s.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var r;t||((r=this._sidebarDisposable)==null||r.dispose(),this._sidebarDisposable=null)})}};k=Ve([x(0,s.Inject(S.SheetInterceptorService)),x(1,s.Inject(s.ThemeService)),x(2,s.IUniverInstanceService),x(3,s.ICommandService),x(4,s.Inject(S.SheetsSelectionsService)),x(5,fe.IRenderManagerService),x(6,S.INumfmtService),x(7,s.Inject(P.ComponentManager)),x(8,P.ISidebarService),x(9,s.Inject(s.LocaleService))],k);var Ge=Object.defineProperty,Ke=Object.getOwnPropertyDescriptor,Ye=(e,t,r,n)=>{for(var i=n>1?void 0:n?Ke(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(n?o(t,r,i):o(i))||i);return n&&i&&Ge(t,r,i),i},H=(e,t)=>(r,n)=>t(r,n,e);const Je=()=>{let e=[];return{add:(i,a,o,c,l)=>e.push({unitId:i,subUnitId:a,row:o,col:c,value:l}),getEffects:()=>e,clean:()=>{e=[]}}};let B=class extends s.Disposable{constructor(t,r,n,i,a){super();Y(this,"_collectEffectMutation",Je());this._sheetInterceptorService=t,this._numfmtService=r,this._univerInstanceService=n,this._injector=i,this._editorBridgeService=a,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe(s.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(S.BEFORE_CELL_EDIT,{handler:(t,r,n)=>{const i=r.row,a=r.col,o=this._numfmtService.getValue(r.unitId,r.subUnitId,i,a);if(o)switch(m.getPatternType(o.pattern)){case"scientific":case"currency":case"grouped":case"number":return r.worksheet.getCellRaw(i,a);case"percent":case"date":case"time":case"datetime":default:return n&&n(t)}return n(t)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(s.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(S.AFTER_CELL_EDIT,{handler:(t,r,n)=>{var f,d,p,y;this._collectEffectMutation.clean();const i=this._numfmtService.getValue(r.unitId,r.subUnitId,r.row,r.col),a=(f=i&&m.getPatternType(i.pattern))!=null?f:"",o=()=>{i&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,null)};if(!(t!=null&&t.v)&&!(t!=null&&t.p)||(i==null?void 0:i.pattern)===ee.DEFAULT_TEXT_FORMAT)return n(t);const c=(d=t.p)==null?void 0:d.body,l=(y=(p=t==null?void 0:t.p)==null?void 0:p.body)!=null&&y.dataStream?t.p.body.dataStream.replace(/\r\n$/,""):String(t.v),v=s.numfmt.parseDate(l)||s.numfmt.parseTime(l)||s.numfmt.parseNumber(l);if(c)if(Xe(c)){const{dataStream:_}=c,h=_.replace(/\r\n$/,""),T=Number(h);if(Number.isNaN(T)&&!v)return n(t)}else return n(t);if(v){v.z&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,{pattern:v.z});const _=Number(v.v);return n({...t,p:void 0,v:_,t:s.CellValueType.NUMBER})}else(["date","time","datetime","percent"].includes(a)||!ze(l))&&o();return n(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(r){var n;switch(r.id){case S.SetRangeValuesCommand.id:{const i=t._univerInstanceService.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET),a=i.getUnitId(),o=(n=i.getActiveSheet())==null?void 0:n.getSheetId();if(!o)return{redos:[],undos:[]};const c=t._collectEffectMutation.getEffects();if(t._collectEffectMutation.clean(),!c.length)return{redos:[],undos:[]};const l=c.filter(p=>{var y;return!!((y=p.value)!=null&&y.pattern)}).map(p=>({row:p.row,col:p.col,pattern:p.value.pattern})),v=c.filter(p=>{var y;return!((y=p.value)!=null&&y.pattern)}).map(p=>({startRow:p.row,endColumn:p.col,startColumn:p.col,endRow:p.row})),f=[],d=[];if(l.length){const p={id:S.SetNumfmtMutation.id,params:S.transformCellsToRange(a,o,l)};f.push(p),d.push(...S.factorySetNumfmtUndoMutation(t._injector,p.params))}if(v.length){const p={id:S.RemoveNumfmtMutation.id,params:{unitId:a,subUnitId:o,ranges:v}};f.push(p),d.push(...S.factoryRemoveNumfmtUndoMutation(t._injector,p.params))}return{redos:f,undos:d.reverse()}}}return{redos:[],undos:[]}}}))}};B=Ye([H(0,s.Inject(S.SheetInterceptorService)),H(1,s.Inject(S.INumfmtService)),H(2,s.Inject(s.IUniverInstanceService)),H(3,s.Inject(s.Injector)),H(4,s.Optional(R.IEditorBridgeService))],B);function ze(e){return/^-?\d+(\.\d+)?$/.test(e)}function Xe(e){const{textRuns:t=[],paragraphs:r=[],customRanges:n,customBlocks:i=[]}=e,a=["va"];return!(t.some(o=>!!(o.ts&&Object.keys(o.ts).some(l=>a.includes(l))))||r.some(o=>o.bullet)||r.length>=2||n!=null&&n.length||i.length>0)}const V=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:ee.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:""}],Ze=e=>({icon:new O.Observable(t=>{const r=e.get(m.MenuCurrencyService);function n(a){return{[m.countryCurrencyMap.US]:"DollarSingle",[m.countryCurrencyMap.RU]:"RoubleSingle",[m.countryCurrencyMap.CN]:"RmbSingle",[m.countryCurrencyMap.AT]:"EuroSingle"}[a]||"DollarSingle"}const i=m.countryCurrencyMap[r.getCurrencySymbol()]||"$";return t.next(n(i)),r.currencySymbol$.subscribe(a=>{const o=m.countryCurrencyMap[a]||"$";t.next(n(o))})}),id:m.SetCurrencyCommand.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:R.getCurrentRangeDisable$(e,{workbookTypes:[S.WorkbookEditablePermission],worksheetTypes:[S.WorksheetEditPermission,S.WorksheetSetCellStylePermission],rangeTypes:[S.RangeProtectionPermissionEditPoint]})}),Qe=e=>({icon:"AddDigitsSingle",id:m.AddDecimalCommand.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:R.getCurrentRangeDisable$(e,{workbookTypes:[S.WorkbookEditablePermission],worksheetTypes:[S.WorksheetEditPermission,S.WorksheetSetCellStylePermission],rangeTypes:[S.RangeProtectionPermissionEditPoint]})}),$e=e=>({icon:"ReduceDigitsSingle",id:m.SubtractDecimalCommand.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:R.getCurrentRangeDisable$(e,{workbookTypes:[S.WorkbookEditablePermission],worksheetTypes:[S.WorksheetEditPermission,S.WorksheetSetCellStylePermission],rangeTypes:[S.RangeProtectionPermissionEditPoint]})}),qe=e=>({icon:"PercentSingle",id:m.SetPercentCommand.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:R.getCurrentRangeDisable$(e,{workbookTypes:[S.WorkbookEditablePermission],worksheetTypes:[S.WorksheetEditPermission,S.WorksheetSetCellStylePermission],rangeTypes:[S.RangeProtectionPermissionEditPoint]})}),et=e=>{const t=e.get(s.IUniverInstanceService),r=e.get(s.ICommandService),n=e.get(s.LocaleService),i=e.get(S.SheetsSelectionsService),a=R.deriveStateFromActiveSheet$(t,"",({workbook:o,worksheet:c})=>new O.Observable(l=>O.merge(i.selectionMoveEnd$,new O.Observable(v=>{const f=[S.RemoveNumfmtMutation.id,S.SetNumfmtMutation.id],d=r.onCommandExecuted(p=>{f.includes(p.id)&&v.next(null)});return()=>d.dispose()})).subscribe(()=>{var f,d;const v=i.getCurrentSelections();if(v&&v[0]){const p=v[0].range,y=p.startRow,_=p.startColumn,h=(d=o.getStyles().get((f=c.getCell(y,_))==null?void 0:f.s))==null?void 0:d.n,T=h==null?void 0:h.pattern;let C=n.t("sheet.numfmt.general");if(T){const M=V.filter(D=>typeof D=="object"&&D.pattern).find(D=>m.isPatternEqualWithoutDecimal(T,D.pattern));M&&typeof M=="object"&&M.pattern?C=n.t(M.label):C=n.t("sheet.numfmt.moreFmt")}l.next(C)}})));return{label:ce,id:w.id,tooltip:"sheet.numfmt.title",type:P.MenuItemType.SELECTOR,selections:[{label:{name:le,hoverable:!1}}],value$:a,hidden$:P.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:R.getCurrentRangeDisable$(e,{workbookTypes:[S.WorkbookEditablePermission],worksheetTypes:[S.WorksheetSetCellStylePermission,S.WorksheetEditPermission],rangeTypes:[S.RangeProtectionPermissionEditPoint]})}},ce="sheet.numfmt.moreNumfmtType",le="sheet.numfmt.moreNumfmtType.options",tt=e=>{var n;const t=s.useDependency(s.LocaleService),r=(n=e.value)!=null?n:t.t("sheet.numfmt.general");return u.jsx("span",{className:"more-numfmt-type",children:r})},nt=()=>{const e=s.useDependency(s.ICommandService),t=s.useDependency(s.LocaleService),r=s.useDependency(P.ILayoutService);s.useInjector();const n=s.useDependency(S.SheetsSelectionsService),i=c=>{const l=n.getCurrentLastSelection();if(!l)return;const v=l.range,f=[];s.Range.foreach(v,(d,p)=>{c?f.push({row:d,col:p,pattern:c,type:m.getPatternType(c)}):f.push({row:d,col:p})}),e.executeCommand(m.SetNumfmtCommand.id,{values:f}),r.focus()},a=c=>{if(c===0)i(null);else if(c===V.length-1)e.executeCommand(w.id);else{const l=V[c];l.pattern&&i(l.pattern)}},o=1220;return u.jsx("div",{className:"more-numfmt-type-options",children:V.map((c,l)=>c==="|"?u.jsx("div",{className:"line m-t-4",onClick:v=>v.stopPropagation()},l):u.jsxs("div",{className:"option-item m-t-4",onClick:()=>{a(l)},children:[u.jsx("div",{children:t.t(c.label)}),u.jsx("div",{className:"m-l-26",children:c.pattern?m.getPatternPreview(c.pattern||"",o,t.getCurrentLocale()).result:""})]},l))})},rt={[P.RibbonStartGroup.FORMULAS_INSERT]:{[m.SetCurrencyCommand.id]:{order:4,menuItemFactory:Ze},[m.AddDecimalCommand.id]:{order:5,menuItemFactory:Qe},[m.SubtractDecimalCommand.id]:{order:6,menuItemFactory:$e},[m.SetPercentCommand.id]:{order:7,menuItemFactory:qe},[w.id]:{order:8,menuItemFactory:et}}};var it=Object.defineProperty,st=Object.getOwnPropertyDescriptor,at=(e,t,r,n)=>{for(var i=n>1?void 0:n?st(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(n?o(t,r,i):o(i))||i);return n&&i&&it(t,r,i),i},ue=(e,t)=>(r,n)=>t(r,n,e);let G=class extends s.Disposable{constructor(e,t){super(),this._componentManager=e,this._menuManagerService=t,this._initMenu()}_initMenu(){this._menuManagerService.mergeMenu(rt),this.disposeWithMe(this._componentManager.register(ce,tt)),this.disposeWithMe(this._componentManager.register(le,nt))}};G=at([ue(0,s.Inject(P.ComponentManager)),ue(1,P.IMenuManagerService)],G);var me=Object.defineProperty,ot=Object.getOwnPropertyDescriptor,ct=(e,t,r)=>t in e?me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lt=(e,t,r,n)=>{for(var i=n>1?void 0:n?ot(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(n?o(t,r,i):o(i))||i);return n&&i&&me(t,r,i),i},de=(e,t)=>(r,n)=>t(r,n,e),pe=(e,t,r)=>ct(e,typeof t!="symbol"?t+"":t,r);const ut="SHEET_NUMFMT_UI_PLUGIN";b.UniverSheetsNumfmtUIPlugin=class extends s.Plugin{constructor(t=ve,r,n){super(),this._config=t,this._injector=r,this._configService=n;const{menu:i,...a}=this._config;i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(P.UI_PLUGIN_CONFIG_KEY,a)}onStarting(){s.registerDependencies(this._injector,[[k],[B],[L],[G]])}onRendered(){s.touchDependencies(this._injector,[[k],[B],[G]])}},pe(b.UniverSheetsNumfmtUIPlugin,"pluginName",ut),pe(b.UniverSheetsNumfmtUIPlugin,"type",s.UniverInstanceType.UNIVER_SHEET),b.UniverSheetsNumfmtUIPlugin=lt([s.DependentOn(R.UniverSheetsUIPlugin,m.UniverSheetsNumfmtPlugin),de(1,s.Inject(s.Injector)),de(2,s.IConfigService)],b.UniverSheetsNumfmtUIPlugin),Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
9
+ */var ne;function he(){if(ne)return F;ne=1;var e=g,t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function o(c,l,v){var f,d={},p=null,y=null;v!==void 0&&(p=""+v),l.key!==void 0&&(p=""+l.key),l.ref!==void 0&&(y=l.ref);for(f in l)n.call(l,f)&&!a.hasOwnProperty(f)&&(d[f]=l[f]);if(c&&c.defaultProps)for(f in l=c.defaultProps,l)d[f]===void 0&&(d[f]=l[f]);return{$$typeof:t,type:c,key:p,ref:y,props:d,_owner:i.current}}return F.Fragment=r,F.jsx=o,F.jsxs=o,F}var re;function Se(){return re||(re=1,z.exports=he()),z.exports}var u=Se(),ye=Object.defineProperty,ge=Object.getOwnPropertyDescriptor,_e=(e,t,r,n)=>{for(var i=n>1?void 0:n?ge(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(n?o(t,r,i):o(i))||i);return n&&i&&ye(t,r,i),i},be=(e,t)=>(r,n)=>t(r,n,e);const X=g.createContext([]);let L=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 i=n.findIndex(a=>a===t);i>-1&&n.splice(i,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 i=n.map((a,o,c)=>{const l=c.length;return{value:a,priority:l-o}});return t.sort((a,o)=>{var v,f;const c=((v=i.find(d=>d.value===a))==null?void 0:v.priority)||-1;return(((f=i.find(d=>d.value===o))==null?void 0:f.priority)||-1)-c})}return n||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};L=_e([be(0,s.Inject(s.ILocalStorageService))],L);const ie="numfmtCurrency",Ce=e=>{const t=s.useDependency(L),[r,n]=g.useState(m.currencySymbols);return g.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(ie,[...m.currencySymbols]).then(a=>{n(a),e&&e(a)})})},[]),{userHabitCurrency:r,mark:a=>{t.markHabit(ie,a)}}},Ie=()=>{const e=g.useRef([]),[t,r]=g.useState({});return g.useEffect(()=>{e.current.forEach(i=>{i()}),e.current=[]},[t]),i=>{e.current.push(i),r({})}},Pe=e=>!!m.getCurrencyType(e)&&e.startsWith("_("),Te=e=>{const{defaultPattern:t,action:r,onChange:n}=e,[i,a]=g.useState(()=>m.getDecimalFromPattern(t||"",2)),o=g.useContext(X),[c,l]=g.useState(()=>m.getCurrencyType(t)||o[0]),v=g.useMemo(()=>o.map(_=>({label:_,value:_})),[]),d=s.useDependency(s.LocaleService).t;r.current=()=>m.setPatternDecimal(`_("${c}"* #,##0${i>0?".0":""}_)`,i);const p=_=>{l(_),n(m.setPatternDecimal(`_("${_}"* #,##0${i>0?".0":""}_)`,i))},y=_=>{const h=_||0;a(h),n(m.setPatternDecimal(`_("${c}"* #,##0${h>0?".0":""}_)`,h))};return u.jsxs("div",{children:[u.jsxs("div",{className:"m-t-16 options",children:[u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:d("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8 w-120",children:u.jsx(E.InputNumber,{value:i,max:20,min:0,onChange:y})})]}),u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:d("sheet.numfmt.currencyType")}),u.jsx("div",{className:"m-t-8 w-140",children:u.jsx(E.Select,{onChange:p,options:v,value:c})})]})]}),u.jsx("div",{className:"describe m-t-14",children:d("sheet.numfmt.accountingDes")})]})},Ee=e=>!!m.getCurrencyType(e)&&!e.startsWith("_("),je=e=>{const r=s.useDependency(s.LocaleService).t,n=g.useContext(X),[i,a]=g.useState(()=>m.getCurrencyType(e.defaultPattern)||n[0]),[o,c]=g.useState(()=>m.getDecimalFromPattern(e.defaultPattern||"",2)),[l,v]=g.useState(()=>{var C;const h=m.getCurrencyFormatOptions(i);return((C=h.find(M=>m.isPatternEqualWithoutDecimal(M.value,e.defaultPattern)))==null?void 0:C.value)||h[0].value}),f=g.useMemo(()=>m.getCurrencyFormatOptions(i),[i]),d=g.useMemo(()=>n.map(h=>({label:h,value:h})),[n]);e.action.current=()=>m.setPatternDecimal(l,o);const p=h=>{if(h===void 0)return;a(h);const T=m.getCurrencyFormatOptions(h)[0].value;v(T),e.onChange(m.setPatternDecimal(T,o))},y=h=>{h!==void 0&&(v(h),e.onChange(m.setPatternDecimal(h,o)))},_=h=>{c(h||0),e.onChange(m.setPatternDecimal(l,h||0))};return u.jsxs("div",{children:[u.jsxs("div",{className:"m-t-16 options",children:[u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:r("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8 w-120",children:u.jsx(E.InputNumber,{value:o,max:20,min:0,onChange:_})})]}),u.jsxs("div",{className:"option",children:[u.jsx("div",{className:"label",children:r("sheet.numfmt.currencyType")}),u.jsx("div",{className:"m-t-8 w-140",children:u.jsx(E.Select,{onChange:p,options:d,value:i})})]})]}),u.jsx("div",{className:"m-t-16 label",children:r("sheet.numfmt.negType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{onChange:y,options:f,value:l})}),u.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.currencyDes")})]})};var j=function(){return j=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},j.apply(this,arguments)},Me=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 i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},se=g.forwardRef(function(e,t){var r=e.icon,n=e.id,i=e.className,a=e.extend,o=Me(e,["icon","id","className","extend"]),c="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),l=g.useRef("_".concat(Re()));return ae(r,"".concat(n),{defIds:r.defIds,idSuffix:l.current},j({ref:t,className:c},o),a)});function ae(e,t,r,n,i){return g.createElement(e.tag,j(j({key:t},xe(e,r,i)),n),(De(e,r).children||[]).map(function(a,o){return ae(a,"".concat(t,"-").concat(e.tag,"-").concat(o),r,void 0,i)}))}function xe(e,t,r){var n=j({},e.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1);var i=t.defIds;return!i||i.length===0||(e.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(function(a){var o=a[0],c=a[1];typeof c=="string"&&(n[o]=c.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function De(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)?j(j({},e),{children:e.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?j(j({},i),{attrs:j(j({},i.attrs),{id:i.attrs.id+t.idSuffix})}):i})}):e}function Re(){return Math.random().toString(36).substring(2,8)}se.displayName="UniverIcon";var Oe={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z",fillRule:"evenodd",clipRule:"evenodd"}}]},oe=g.forwardRef(function(e,t){return g.createElement(se,Object.assign({},e,{id:"check-mark-single",ref:t,icon:Oe}))});oe.displayName="CheckMarkSingle";const U={customFormatTitle:"univer-custom-format-title",customFormatInput:"univer-custom-format-input",customFormatHistoryList:"univer-custom-format-history-list",customFormatHistoryListItem:"univer-custom-format-history-list-item",customFormatHistoryListItemIconWrap:"univer-custom-format-history-list-item-icon-wrap",customFormatDes:"univer-custom-format-des"},Z="customFormat",Q="numfmt_custom_pattern";function Ue(e){const{defaultPattern:t,action:r,onChange:n}=e,i=s.useDependency(L),a=s.useDependency(s.ILocalStorageService),o=s.useDependency(s.LocaleService),[c,l]=g.useState(t);r.current=()=>(i.markHabit(Z,c),a.getItem(Q).then((y=[])=>{const _=[...new Set([c,...y||[]])].splice(0,10).filter(h=>!!h);a.setItem(Q,_)}),c);const[v,f]=g.useState([]);g.useEffect(()=>{a.getItem(Q).then(y=>{const _=[...m.CURRENCYFORMAT.map(h=>h.suffix("$")),...m.DATEFMTLISG.map(h=>h.suffix),...m.NUMBERFORMAT.map(h=>h.suffix)];_.push(...y||[]),i.addHabit(Z,[]).finally(()=>{i.getHabit(Z,_).then(h=>{f([...new Set(h)])})})})},[]);const d=y=>{l(y),n(y)},p=()=>{n(c)};return u.jsxs("div",{className:U.customFormat,children:[u.jsx("div",{className:U.customFormatTitle,children:o.t("sheet.numfmt.customFormat")}),u.jsx(E.Input,{placeholder:o.t("sheet.numfmt.customFormat"),onBlur:p,value:c,onChange:l,className:U.customFormatInput}),u.jsx("div",{className:U.customFormatHistoryList,children:v.map(y=>u.jsxs("div",{onClick:()=>d(y),className:U.customFormatHistoryListItem,children:[u.jsx("div",{className:U.customFormatHistoryListItemIconWrap,children:c===y&&u.jsx(oe,{})}),u.jsx("div",{children:y})]},y))}),u.jsx("div",{className:U.customFormatDes,children:o.t("sheet.numfmt.customFormatDes")})]})}const Ne=e=>{const t=s.numfmt.getInfo(e);return m.getDateFormatOptions().map(r=>r.value).includes(e)||["date","datetime","time"].includes(t.type)},we=e=>{const t=g.useMemo(m.getDateFormatOptions,[]),n=s.useDependency(s.LocaleService).t,[i,a]=g.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=()=>i;const o=c=>{c!==void 0&&(a(c),e.onChange(c))};return u.jsxs("div",{children:[u.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.dateType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{value:i,options:t,onChange:o})}),u.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.dateDes")})]})},Fe=e=>!e,Le=e=>{const r=s.useDependency(s.LocaleService).t;return e.action.current=()=>"",u.jsx("div",{children:u.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.generalDes")})})},ke=e=>m.getNumberFormatOptions().some(t=>m.isPatternEqualWithoutDecimal(t.value,e)),He=e=>{const t=s.useDependency(s.LocaleService),r=g.useMemo(m.getNumberFormatOptions,[]),[n,i]=g.useState(()=>m.getDecimalFromPattern(e.defaultPattern||"",0)),[a,o]=g.useState(()=>{const d=r.find(p=>m.isPatternEqualWithoutDecimal(p.value,e.defaultPattern||""));return(d==null?void 0:d.value)||r[0].value}),c=g.useMemo(()=>m.setPatternDecimal(a,Number(n||0)),[a,n]),l=g.useMemo(()=>!m.isPatternHasDecimal(a),[a]),v=d=>{i(d||0),e.onChange(m.setPatternDecimal(a,Number(d||0)))},f=d=>{d!==void 0&&(i(m.getDecimalFromPattern(d,0)),o(d),e.onChange(d))};return e.action.current=()=>c,u.jsxs("div",{children:[u.jsx("div",{className:"m-t-16 label",children:t.t("sheet.numfmt.decimalLength")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.InputNumber,{disabled:l,value:n,max:20,min:0,onChange:v})}),u.jsxs("div",{className:"m-t-16 label",children:[" ",t.t("sheet.numfmt.negType")]}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.SelectList,{onChange:f,options:r,value:a})}),u.jsx("div",{className:"describe m-t-14",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},We=e=>{const{defaultValue:t,defaultPattern:r,row:n,col:i}=e.value,a=s.useDependency(s.LocaleService),o=g.useRef(()=>""),c=a.t,l=Ie(),v=g.useMemo(()=>[{label:"sheet.numfmt.general",component:Le},{label:"sheet.numfmt.accounting",component:Te},{label:"sheet.numfmt.currency",component:je},{label:"sheet.numfmt.date",component:we},{label:"sheet.numfmt.thousandthPercentile",component:He},{label:"sheet.numfmt.customFormat",component:Ue}].map(I=>({...I,label:c(I.label)})),[]),[f,d]=g.useState(C),[p,y]=g.useState(()=>`${n}_${i}`),{mark:_,userHabitCurrency:h}=Ce(()=>y(`${n}_${i}_userCurrency'`)),T=g.useMemo(()=>{var I;return(I=v.find(N=>N.label===f))==null?void 0:I.component},[f]);function C(){return[Fe,Pe,Ee,Ne,ke].reduce((N,mt,dt)=>N||(mt(r)?v[dt].label:""),"")||v[0].label}const M=v.map(I=>({label:I.label,value:I.label})),D=I=>{d(I),l(()=>e.onChange({type:"change",value:o.current()||""}))},K=I=>{e.onChange({type:"change",value:I})},$=()=>{const I=o.current()||"",N=m.getCurrencyType(I);N&&_(N),e.onChange({type:"confirm",value:I})},W=()=>{e.onChange({type:"cancel",value:""})},q={onChange:K,defaultValue:t,defaultPattern:r,action:o};return g.useEffect(()=>{d(C()),y(`${n}_${i}`)},[n,i]),u.jsxs("div",{className:"numfmt-panel p-b-20",children:[u.jsxs("div",{children:[u.jsx("div",{className:"label m-t-14",children:c("sheet.numfmt.numfmtType")}),u.jsx("div",{className:"m-t-8",children:u.jsx(E.Select,{onChange:D,options:M,value:f,style:{width:"100%"}})}),u.jsx("div",{children:T&&u.jsx(X.Provider,{value:h,children:g.createElement(T,{...q,key:p})})})]}),u.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[u.jsx(E.Button,{size:"small",onClick:W,className:"m-r-12",children:c("sheet.numfmt.cancel")}),u.jsx(E.Button,{type:"primary",size:"small",onClick:$,children:c("sheet.numfmt.confirm")})]})]})};var Ae=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ve=(e,t,r,n)=>{for(var i=n>1?void 0:n?Be(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(n?o(t,r,i):o(i))||i);return n&&i&&Ae(t,r,i),i},x=(e,t)=>(r,n)=>t(r,n,e);const ce="SHEET_NUMFMT_PANEL";let k=class extends s.Disposable{constructor(t,r,n,i,a,o,c,l,v,f){super();Y(this,"_previewPattern","");Y(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=r,this._univerInstanceService=n,this._commandService=i,this._selectionManagerService=a,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 T;const t=this._sidebarService,r=this._selectionManagerService,n=this._commandService,i=this._univerInstanceService,a=this._numfmtService,o=this._localeService,l=(((T=r.getCurrentSelections())==null?void 0:T.map(C=>C.range))||[])[0];if(!l)return!1;const v=i.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET),f=v.getActiveSheet();if(!f)return!1;const d=f.getCellRaw(l.startRow,l.startColumn),p=a.getValue(v.getUnitId(),f.getSheetId(),l.startRow,l.startColumn);let y="";p&&(y=p.pattern);const _=(d==null?void 0:d.t)===s.CellValueType.NUMBER?d.v:12345678,h={onChange:C=>{var M;if(C.type==="change")this._previewPattern=C.value,this._forceUpdate();else if(C.type==="confirm"){const D=((M=r.getCurrentSelections())==null?void 0:M.map(W=>W.range))||[],K={values:[]},$=m.getPatternType(C.value);D.forEach(W=>{s.Range.foreach(W,(q,I)=>{K.values.push({row:q,col:I,pattern:C.value,type:$})})}),n.executeCommand(m.SetNumfmtCommand.id,K),t.close()}else C.type==="cancel"&&t.close()},value:{defaultPattern:y,defaultValue:_,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=t.open({header:{title:o.t("sheet.numfmt.title")},children:{label:ce,...h},onClose:()=>{this._forceUpdate(),n.executeCommand(J.id)}}),!0}_forceUpdate(t){var n;const r=this._renderManagerService.getRenderById(t!=null?t:this._univerInstanceService.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET).getUnitId());r==null||r.with(R.SheetSkeletonManagerService).reCalculate(),(n=r==null?void 0:r.mainComponent)==null||n.makeDirty()}_initCommands(){[w,J].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(ce,We)}_initRealTimeRenderingInterceptor(){const t=new O.Observable(n=>{this._commandService.onCommandExecuted(i=>{i.id===w.id&&n.next(!0),i.id===J.id&&n.next(!1)})}),r=O.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(A.map(n=>n?n.map(i=>i.range):[]))]);this.disposeWithMe(s.toDisposable(r.pipe(A.switchMap(([n,i])=>new O.Observable(a=>{const o=new s.DisposableCollection;return n&&i.length&&a.next({selectionRanges:i,disposableCollection:o}),()=>{o.dispose()}})),A.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:i})=>{var o,c;const a=this._univerInstanceService.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET);this.openPanel(),n.add(this._sheetInterceptorService.intercept(S.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,effect:s.InterceptorEffectEnum.Value|s.InterceptorEffectEnum.Style,handler:(l,v,f)=>{const{row:d,col:p}=v,y=f(l)||{};if(i.find(_=>_.startColumn<=p&&_.endColumn>=p&&_.startRow<=d&&_.endRow>=d)){const _=v.worksheet.getCellRaw(d,p),h=_==null?void 0:_.v,T=_==null?void 0:_.t;if(h==null||T!==s.CellValueType.NUMBER||this._previewPattern===null)return y;const C=m.getPatternPreviewIgnoreGeneral(this._previewPattern,h,this._localeService.getCurrentLocale());if(C.color){const D=this._themeService.getCurrentTheme()[`${C.color}500`];return{...y,v:C.result,t:s.CellValueType.STRING,s:{cl:{rgb:D}}}}return{...y,v:C.result,t:s.CellValueType.STRING}}return y}})),(c=(o=this._renderManagerService.getRenderById(a.getUnitId()))==null?void 0:o.mainComponent)==null||c.makeDirty()})))}_commandExecutedListener(){const t=[S.RemoveNumfmtMutation.id,S.SetNumfmtMutation.id];this.disposeWithMe(new O.Observable(r=>{const n=this._commandService.onCommandExecuted(i=>{if(t.includes(i.id)){const a=i.params;r.next(a.unitId)}});return()=>n.dispose()}).pipe(A.debounceTime(16)).subscribe(r=>this._forceUpdate(r)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(s.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var r;t||((r=this._sidebarDisposable)==null||r.dispose(),this._sidebarDisposable=null)})}};k=Ve([x(0,s.Inject(S.SheetInterceptorService)),x(1,s.Inject(s.ThemeService)),x(2,s.IUniverInstanceService),x(3,s.ICommandService),x(4,s.Inject(S.SheetsSelectionsService)),x(5,ve.IRenderManagerService),x(6,S.INumfmtService),x(7,s.Inject(P.ComponentManager)),x(8,P.ISidebarService),x(9,s.Inject(s.LocaleService))],k);var Ge=Object.defineProperty,Ke=Object.getOwnPropertyDescriptor,Ye=(e,t,r,n)=>{for(var i=n>1?void 0:n?Ke(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(n?o(t,r,i):o(i))||i);return n&&i&&Ge(t,r,i),i},H=(e,t)=>(r,n)=>t(r,n,e);const Je=()=>{let e=[];return{add:(i,a,o,c,l)=>e.push({unitId:i,subUnitId:a,row:o,col:c,value:l}),getEffects:()=>e,clean:()=>{e=[]}}};let B=class extends s.Disposable{constructor(t,r,n,i,a){super();Y(this,"_collectEffectMutation",Je());this._sheetInterceptorService=t,this._numfmtService=r,this._univerInstanceService=n,this._injector=i,this._editorBridgeService=a,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe(s.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(S.BEFORE_CELL_EDIT,{handler:(t,r,n)=>{const i=r.row,a=r.col,o=this._numfmtService.getValue(r.unitId,r.subUnitId,i,a);if(o)switch(m.getPatternType(o.pattern)){case"scientific":case"currency":case"grouped":case"number":return r.worksheet.getCellRaw(i,a);case"percent":case"date":case"time":case"datetime":default:return n&&n(t)}return n(t)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(s.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(S.AFTER_CELL_EDIT,{handler:(t,r,n)=>{var f,d,p,y;this._collectEffectMutation.clean();const i=this._numfmtService.getValue(r.unitId,r.subUnitId,r.row,r.col),a=(f=i&&m.getPatternType(i.pattern))!=null?f:"",o=()=>{i&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,null)};if(!(t!=null&&t.v)&&!(t!=null&&t.p)||(i==null?void 0:i.pattern)===ee.DEFAULT_TEXT_FORMAT)return n(t);const c=(d=t.p)==null?void 0:d.body,l=(y=(p=t==null?void 0:t.p)==null?void 0:p.body)!=null&&y.dataStream?t.p.body.dataStream.replace(/\r\n$/,""):String(t.v),v=s.numfmt.parseDate(l)||s.numfmt.parseTime(l)||s.numfmt.parseNumber(l);if(c)if(Xe(c)){const{dataStream:_}=c,h=_.replace(/\r\n$/,""),T=Number(h);if(Number.isNaN(T)&&!v)return n(t)}else return n(t);if(v){v.z&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,{pattern:v.z});const _=Number(v.v);return n({...t,p:void 0,v:_,t:s.CellValueType.NUMBER})}else(["date","time","datetime","percent"].includes(a)||!ze(l))&&o();return n(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(r){var n;switch(r.id){case S.SetRangeValuesCommand.id:{const i=t._univerInstanceService.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET),a=i.getUnitId(),o=(n=i.getActiveSheet())==null?void 0:n.getSheetId();if(!o)return{redos:[],undos:[]};const c=t._collectEffectMutation.getEffects();if(t._collectEffectMutation.clean(),!c.length)return{redos:[],undos:[]};const l=c.filter(p=>{var y;return!!((y=p.value)!=null&&y.pattern)}).map(p=>({row:p.row,col:p.col,pattern:p.value.pattern})),v=c.filter(p=>{var y;return!((y=p.value)!=null&&y.pattern)}).map(p=>({startRow:p.row,endColumn:p.col,startColumn:p.col,endRow:p.row})),f=[],d=[];if(l.length){const p={id:S.SetNumfmtMutation.id,params:S.transformCellsToRange(a,o,l)};f.push(p),d.push(...S.factorySetNumfmtUndoMutation(t._injector,p.params))}if(v.length){const p={id:S.RemoveNumfmtMutation.id,params:{unitId:a,subUnitId:o,ranges:v}};f.push(p),d.push(...S.factoryRemoveNumfmtUndoMutation(t._injector,p.params))}return{redos:f,undos:d.reverse()}}}return{redos:[],undos:[]}}}))}};B=Ye([H(0,s.Inject(S.SheetInterceptorService)),H(1,s.Inject(S.INumfmtService)),H(2,s.Inject(s.IUniverInstanceService)),H(3,s.Inject(s.Injector)),H(4,s.Optional(R.IEditorBridgeService))],B);function ze(e){return/^-?\d+(\.\d+)?$/.test(e)}function Xe(e){const{textRuns:t=[],paragraphs:r=[],customRanges:n,customBlocks:i=[]}=e,a=["va"];return!(t.some(o=>!!(o.ts&&Object.keys(o.ts).some(l=>a.includes(l))))||r.some(o=>o.bullet)||r.length>=2||n!=null&&n.length||i.length>0)}const V=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:ee.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:""}],Ze=e=>({icon:new O.Observable(t=>{const r=e.get(m.MenuCurrencyService);function n(a){return{[m.countryCurrencyMap.US]:"DollarSingle",[m.countryCurrencyMap.RU]:"RoubleSingle",[m.countryCurrencyMap.CN]:"RmbSingle",[m.countryCurrencyMap.AT]:"EuroSingle"}[a]||"DollarSingle"}const i=m.countryCurrencyMap[r.getCurrencySymbol()]||"$";return t.next(n(i)),r.currencySymbol$.subscribe(a=>{const o=m.countryCurrencyMap[a]||"$";t.next(n(o))})}),id:m.SetCurrencyCommand.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:R.getCurrentRangeDisable$(e,{workbookTypes:[S.WorkbookEditablePermission],worksheetTypes:[S.WorksheetEditPermission,S.WorksheetSetCellStylePermission],rangeTypes:[S.RangeProtectionPermissionEditPoint]})}),Qe=e=>({icon:"AddDigitsSingle",id:m.AddDecimalCommand.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:R.getCurrentRangeDisable$(e,{workbookTypes:[S.WorkbookEditablePermission],worksheetTypes:[S.WorksheetEditPermission,S.WorksheetSetCellStylePermission],rangeTypes:[S.RangeProtectionPermissionEditPoint]})}),$e=e=>({icon:"ReduceDigitsSingle",id:m.SubtractDecimalCommand.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:R.getCurrentRangeDisable$(e,{workbookTypes:[S.WorkbookEditablePermission],worksheetTypes:[S.WorksheetEditPermission,S.WorksheetSetCellStylePermission],rangeTypes:[S.RangeProtectionPermissionEditPoint]})}),qe=e=>({icon:"PercentSingle",id:m.SetPercentCommand.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:R.getCurrentRangeDisable$(e,{workbookTypes:[S.WorkbookEditablePermission],worksheetTypes:[S.WorksheetEditPermission,S.WorksheetSetCellStylePermission],rangeTypes:[S.RangeProtectionPermissionEditPoint]})}),et=e=>{const t=e.get(s.IUniverInstanceService),r=e.get(s.ICommandService),n=e.get(s.LocaleService),i=e.get(S.SheetsSelectionsService),a=R.deriveStateFromActiveSheet$(t,"",({workbook:o,worksheet:c})=>new O.Observable(l=>O.merge(i.selectionMoveEnd$,new O.Observable(v=>{const f=[S.RemoveNumfmtMutation.id,S.SetNumfmtMutation.id],d=r.onCommandExecuted(p=>{f.includes(p.id)&&v.next(null)});return()=>d.dispose()})).subscribe(()=>{var f,d;const v=i.getCurrentSelections();if(v&&v[0]){const p=v[0].range,y=p.startRow,_=p.startColumn,h=(d=o.getStyles().get((f=c.getCell(y,_))==null?void 0:f.s))==null?void 0:d.n,T=h==null?void 0:h.pattern;let C=n.t("sheet.numfmt.general");if(T){const M=V.filter(D=>typeof D=="object"&&D.pattern).find(D=>m.isPatternEqualWithoutDecimal(T,D.pattern));M&&typeof M=="object"&&M.pattern?C=n.t(M.label):C=n.t("sheet.numfmt.moreFmt")}l.next(C)}})));return{label:le,id:w.id,tooltip:"sheet.numfmt.title",type:P.MenuItemType.SELECTOR,selections:[{label:{name:ue,hoverable:!1}}],value$:a,hidden$:P.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:R.getCurrentRangeDisable$(e,{workbookTypes:[S.WorkbookEditablePermission],worksheetTypes:[S.WorksheetSetCellStylePermission,S.WorksheetEditPermission],rangeTypes:[S.RangeProtectionPermissionEditPoint]})}},le="sheet.numfmt.moreNumfmtType",ue="sheet.numfmt.moreNumfmtType.options",tt=e=>{var n;const t=s.useDependency(s.LocaleService),r=(n=e.value)!=null?n:t.t("sheet.numfmt.general");return u.jsx("span",{className:"more-numfmt-type",children:r})},nt=()=>{const e=s.useDependency(s.ICommandService),t=s.useDependency(s.LocaleService),r=s.useDependency(P.ILayoutService);s.useInjector();const n=s.useDependency(S.SheetsSelectionsService),i=c=>{const l=n.getCurrentLastSelection();if(!l)return;const v=l.range,f=[];s.Range.foreach(v,(d,p)=>{c?f.push({row:d,col:p,pattern:c,type:m.getPatternType(c)}):f.push({row:d,col:p})}),e.executeCommand(m.SetNumfmtCommand.id,{values:f}),r.focus()},a=c=>{if(c===0)i(null);else if(c===V.length-1)e.executeCommand(w.id);else{const l=V[c];l.pattern&&i(l.pattern)}},o=1220;return u.jsx("div",{className:"more-numfmt-type-options",children:V.map((c,l)=>c==="|"?u.jsx("div",{className:"line m-t-4",onClick:v=>v.stopPropagation()},l):u.jsxs("div",{className:"option-item m-t-4",onClick:()=>{a(l)},children:[u.jsx("div",{children:t.t(c.label)}),u.jsx("div",{className:"m-l-26",children:c.pattern?m.getPatternPreview(c.pattern||"",o,t.getCurrentLocale()).result:""})]},l))})},rt={[P.RibbonStartGroup.FORMULAS_INSERT]:{[m.SetCurrencyCommand.id]:{order:4,menuItemFactory:Ze},[m.AddDecimalCommand.id]:{order:5,menuItemFactory:Qe},[m.SubtractDecimalCommand.id]:{order:6,menuItemFactory:$e},[m.SetPercentCommand.id]:{order:7,menuItemFactory:qe},[w.id]:{order:8,menuItemFactory:et}}};var it=Object.defineProperty,st=Object.getOwnPropertyDescriptor,at=(e,t,r,n)=>{for(var i=n>1?void 0:n?st(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(n?o(t,r,i):o(i))||i);return n&&i&&it(t,r,i),i},me=(e,t)=>(r,n)=>t(r,n,e);let G=class extends s.Disposable{constructor(e,t){super(),this._componentManager=e,this._menuManagerService=t,this._initMenu()}_initMenu(){this._menuManagerService.mergeMenu(rt),this.disposeWithMe(this._componentManager.register(le,tt)),this.disposeWithMe(this._componentManager.register(ue,nt))}};G=at([me(0,s.Inject(P.ComponentManager)),me(1,P.IMenuManagerService)],G);var de=Object.defineProperty,ot=Object.getOwnPropertyDescriptor,ct=(e,t,r)=>t in e?de(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lt=(e,t,r,n)=>{for(var i=n>1?void 0:n?ot(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(n?o(t,r,i):o(i))||i);return n&&i&&de(t,r,i),i},pe=(e,t)=>(r,n)=>t(r,n,e),fe=(e,t,r)=>ct(e,typeof t!="symbol"?t+"":t,r);const ut="SHEET_NUMFMT_UI_PLUGIN";b.UniverSheetsNumfmtUIPlugin=class extends s.Plugin{constructor(t=te,r,n){super(),this._config=t,this._injector=r,this._configService=n;const{menu:i,...a}=s.merge({},te,this._config);i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(P.UI_PLUGIN_CONFIG_KEY,a)}onStarting(){s.registerDependencies(this._injector,[[k],[B],[L],[G]])}onRendered(){s.touchDependencies(this._injector,[[k],[B],[G]])}},fe(b.UniverSheetsNumfmtUIPlugin,"pluginName",ut),fe(b.UniverSheetsNumfmtUIPlugin,"type",s.UniverInstanceType.UNIVER_SHEET),b.UniverSheetsNumfmtUIPlugin=lt([s.DependentOn(R.UniverSheetsUIPlugin,m.UniverSheetsNumfmtPlugin),pe(1,s.Inject(s.Injector)),pe(2,s.IConfigService)],b.UniverSheetsNumfmtUIPlugin),Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-numfmt-ui",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "private": false,
5
5
  "description": "UniverSheet numfmt plugin",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -55,26 +55,26 @@
55
55
  },
56
56
  "dependencies": {
57
57
  "@univerjs/icons": "^0.2.8",
58
- "@univerjs/core": "0.5.1",
59
- "@univerjs/design": "0.5.1",
60
- "@univerjs/engine-render": "0.5.1",
61
- "@univerjs/engine-numfmt": "0.5.1",
62
- "@univerjs/sheets": "0.5.1",
63
- "@univerjs/sheets-numfmt": "0.5.1",
64
- "@univerjs/sheets-ui": "0.5.1",
65
- "@univerjs/ui": "0.5.1"
58
+ "@univerjs/core": "0.5.2",
59
+ "@univerjs/design": "0.5.2",
60
+ "@univerjs/engine-numfmt": "0.5.2",
61
+ "@univerjs/engine-render": "0.5.2",
62
+ "@univerjs/sheets": "0.5.2",
63
+ "@univerjs/sheets-numfmt": "0.5.2",
64
+ "@univerjs/sheets-ui": "0.5.2",
65
+ "@univerjs/ui": "0.5.2"
66
66
  },
67
67
  "devDependencies": {
68
68
  "less": "^4.2.1",
69
69
  "postcss": "^8.4.49",
70
70
  "react": "18.3.1",
71
71
  "rxjs": "^7.8.1",
72
- "tailwindcss": "^3.4.15",
72
+ "tailwindcss": "^3.4.16",
73
73
  "typescript": "^5.7.2",
74
- "vite": "^6.0.1",
75
- "vitest": "^2.1.6",
76
- "@univerjs-infra/shared": "0.5.1",
77
- "@univerjs/engine-formula": "0.5.1"
74
+ "vite": "^6.0.3",
75
+ "vitest": "^2.1.8",
76
+ "@univerjs-infra/shared": "0.5.2",
77
+ "@univerjs/engine-formula": "0.5.2"
78
78
  },
79
79
  "space": {
80
80
  ".": {