@univerjs/sheets-numfmt-ui 0.7.0 → 0.8.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +261 -244
- package/lib/index.css +1 -1
- package/lib/index.js +261 -244
- package/lib/types/locale/en-US.d.ts +54 -2
- package/lib/types/locale/fa-IR.d.ts +2 -2
- package/lib/types/locale/ru-RU.d.ts +2 -2
- package/lib/types/locale/vi-VN.d.ts +2 -2
- package/lib/types/locale/zh-CN.d.ts +2 -54
- package/lib/types/locale/zh-TW.d.ts +2 -2
- package/lib/umd/index.js +1 -1
- package/package.json +12 -12
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ve=Object.defineProperty;var fe=(e,t,r)=>t in e?ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var A=(e,t,r)=>fe(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),se=require("@univerjs/engine-render"),m=require("@univerjs/sheets-numfmt"),P=require("@univerjs/sheets-ui"),q=require("@univerjs/engine-numfmt"),p=require("@univerjs/sheets"),_=require("@univerjs/ui"),j=require("rxjs"),H=require("rxjs/operators"),o=require("react/jsx-runtime"),y=require("react"),N=require("@univerjs/design"),te={};var pe=Object.getOwnPropertyDescriptor,ge=(e,t,r,n)=>{for(var i=n>1?void 0:n?pe(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},O=(e,t)=>(r,n)=>t(r,n,e);const Z="SHEET_NUMFMT_ALERT";let Q=class extends a.Disposable{constructor(e,t,r,n,i,s,c){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=r,this._localeService=n,this._zenZoneService=i,this._numfmtService=s,this._configService=c,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.pipe(j.debounceTime(100)).subscribe(e=>{var t,r;if(e){const n=e.location,i=this._context.unit,s=i.getActiveSheet();if(!s)return;const c=n.unitId,l=n.subUnitId;let u;const h=s.getCell(n.row,n.col);if(h!=null&&h.s){const v=i.getStyles().get(h.s);v!=null&&v.n&&(u=v.n)}if(u||(u=this._numfmtService.getValue(c,l,n.row,n.col)),!u){this._hideAlert();return}if(q.isTextFormat(u.pattern)&&(h!=null&&h.v)&&a.isRealNum(h.v)){if((t=this._configService.getConfig(m.SHEETS_NUMFMT_PLUGIN_CONFIG_KEY))!=null&&t.disableTextFormatAlert)return;const v=this._cellAlertManagerService.currentAlert.get(Z),d=(r=v==null?void 0:v.alert)==null?void 0:r.location;if(d&&d.row===n.row&&d.col===n.col&&d.subUnitId===n.subUnitId&&d.unitId===n.unitId)return;this._cellAlertManagerService.showAlert({type:P.CellAlertType.WARNING,title:this._localeService.t("info.error"),message:this._localeService.t("info.forceStringInfo"),location:n,width:200,height:74,key:Z});return}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(Z)}};Q=ge([O(1,a.Inject(P.HoverManagerService)),O(2,a.Inject(P.CellAlertManagerService)),O(3,a.Inject(a.LocaleService)),O(4,_.IZenZoneService),O(5,a.Inject(p.INumfmtService)),O(6,a.IConfigService)],Q);const Y={id:"sheet.operation.close.numfmt.panel",type:a.CommandType.OPERATION,handler:()=>!0},$={id:"sheet.operation.open.numfmt.panel",type:a.CommandType.OPERATION,handler:e=>(e.get(F).openPanel(),!0)};var Se=Object.getOwnPropertyDescriptor,ye=(e,t,r,n)=>{for(var i=n>1?void 0:n?Se(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},_e=(e,t)=>(r,n)=>t(r,n,e);const ee=y.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(s=>s===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((s,c,l)=>{const u=l.length;return{value:s,priority:u-c}});return t.sort((s,c)=>{var h,v;const l=((h=i.find(d=>d.value===s))==null?void 0:h.priority)||-1;return(((v=i.find(d=>d.value===c))==null?void 0:v.priority)||-1)-l})}return n||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};L=ye([_e(0,a.Inject(a.ILocalStorageService))],L);const ne="numfmtCurrency",Ce=e=>{const t=_.useDependency(L),[r,n]=y.useState(m.currencySymbols);return y.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(ne,[...m.currencySymbols]).then(s=>{n(s),e&&e(s)})})},[]),{userHabitCurrency:r,mark:s=>{t.markHabit(ne,s)}}},be=()=>{const e=y.useRef([]),[t,r]=y.useState({});return y.useEffect(()=>{e.current.forEach(i=>{i()}),e.current=[]},[t]),i=>{e.current.push(i),r({})}},Ie=e=>!!m.getCurrencyType(e)&&e.startsWith("_("),xe=e=>{const{defaultPattern:t,action:r,onChange:n}=e,[i,s]=y.useState(()=>m.getDecimalFromPattern(t||"",2)),c=y.useContext(ee),[l,u]=y.useState(()=>m.getCurrencyType(t)||c[0]),h=y.useMemo(()=>c.map(C=>({label:C,value:C})),[]),d=_.useDependency(a.LocaleService).t;r.current=()=>m.setPatternDecimal(`_("${l}"* #,##0${i>0?".0":""}_)`,i);const f=C=>{u(C),n(m.setPatternDecimal(`_("${C}"* #,##0${i>0?".0":""}_)`,i))},g=C=>{const S=C||0;s(S),n(m.setPatternDecimal(`_("${l}"* #,##0${S>0?".0":""}_)`,S))};return o.jsxs("div",{children:[o.jsxs("div",{className:"univer-mt-4 univer-flex univer-justify-between",children:[o.jsxs("div",{className:"option",children:[o.jsx("div",{className:"univer-text-sm univer-text-gray-400",children:d("sheet.numfmt.decimalLength")}),o.jsx("div",{className:"univer-mt-2 univer-w-32",children:o.jsx(N.InputNumber,{value:i,step:1,precision:0,max:20,min:0,onChange:g})})]}),o.jsxs("div",{className:"option",children:[o.jsx("div",{className:"univer-text-sm univer-text-gray-400",children:d("sheet.numfmt.currencyType")}),o.jsx("div",{className:"univer-mt-2 univer-w-36",children:o.jsx(N.Select,{options:h,value:l,onChange:f})})]})]}),o.jsx("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:d("sheet.numfmt.accountingDes")})]})},Ne=e=>!!m.getCurrencyType(e)&&!e.startsWith("_("),Te=e=>{const r=_.useDependency(a.LocaleService).t,n=y.useContext(ee),[i,s]=y.useState(()=>m.getCurrencyType(e.defaultPattern)||n[0]),[c,l]=y.useState(()=>m.getDecimalFromPattern(e.defaultPattern||"",2)),[u,h]=y.useState(()=>{var b;const S=m.getCurrencyFormatOptions(i);return((b=S.find(T=>m.isPatternEqualWithoutDecimal(T.value,e.defaultPattern)))==null?void 0:b.value)||S[0].value}),v=y.useMemo(()=>m.getCurrencyFormatOptions(i),[i]),d=y.useMemo(()=>n.map(S=>({label:S,value:S})),[n]);e.action.current=()=>m.setPatternDecimal(u,c);const f=S=>{if(S===void 0)return;s(S);const x=m.getCurrencyFormatOptions(S)[0].value;h(x),e.onChange(m.setPatternDecimal(x,c))},g=S=>{S!==void 0&&(h(S),e.onChange(m.setPatternDecimal(S,c)))},C=S=>{l(S||0),e.onChange(m.setPatternDecimal(u,S||0))};return o.jsxs("div",{children:[o.jsxs("div",{className:"univer-mt-4 univer-flex univer-justify-between",children:[o.jsxs("div",{className:"option",children:[o.jsx("div",{className:"univer-text-sm univer-text-gray-400",children:r("sheet.numfmt.decimalLength")}),o.jsx("div",{className:"univer-mt-2 univer-w-32",children:o.jsx(N.InputNumber,{value:c,max:20,min:0,onChange:C})})]}),o.jsxs("div",{className:"option",children:[o.jsx("div",{className:"univer-text-sm univer-text-gray-400",children:r("sheet.numfmt.currencyType")}),o.jsx("div",{className:"univer-mt-2 univer-w-36",children:o.jsx(N.Select,{value:i,options:d,onChange:f})})]})]}),o.jsx("div",{className:"univer-mt-4 label",children:r("sheet.numfmt.negType")}),o.jsx("div",{className:"univer-mt-2",children:o.jsx(N.SelectList,{value:u,options:v,onChange:g})}),o.jsx("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:r("sheet.numfmt.currencyDes")})]})};var E=function(){return E=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},E.apply(this,arguments)},Ee=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},ce=y.forwardRef(function(e,t){var r=e.icon,n=e.id,i=e.className,s=e.extend,c=Ee(e,["icon","id","className","extend"]),l="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),u=y.useRef("_".concat(je()));return ae(r,"".concat(n),{defIds:r.defIds,idSuffix:u.current},E({ref:t,className:l},c),s)});function ae(e,t,r,n,i){return y.createElement(e.tag,E(E({key:t},Pe(e,r,i)),n),(Me(e,r).children||[]).map(function(s,c){return ae(s,"".concat(t,"-").concat(e.tag,"-").concat(c),r,void 0,i)}))}function Pe(e,t,r){var n=E({},e.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1),e.tag==="mask"&&n.id&&(n.id=n.id+t.idSuffix),Object.entries(n).forEach(function(s){var c=s[0],l=s[1];c==="mask"&&typeof l=="string"&&(n[c]=l.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))});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(s){var c=s[0],l=s[1];typeof l=="string"&&(n[c]=l.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function Me(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)?E(E({},e),{children:e.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?E(E({},i),{attrs:E(E({},i.attrs),{id:i.attrs.id+t.idSuffix})}):i})}):e}function je(){return Math.random().toString(36).substring(2,8)}ce.displayName="UniverIcon";var De={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=y.forwardRef(function(e,t){return y.createElement(ce,Object.assign({},e,{id:"check-mark-single",ref:t,icon:De}))});oe.displayName="CheckMarkSingle";const z="customFormat",X="numfmt_custom_pattern";function Re(e){const{defaultPattern:t,action:r,onChange:n}=e,i=_.useDependency(L),s=_.useDependency(a.ILocalStorageService),c=_.useDependency(a.LocaleService),[l,u]=y.useState(t);r.current=()=>(i.markHabit(z,l),s.getItem(X).then((g=[])=>{const C=[...new Set([l,...g||[]])].splice(0,10).filter(S=>!!S);s.setItem(X,C)}),l);const[h,v]=y.useState([]);y.useEffect(()=>{s.getItem(X).then(g=>{const C=[...m.CURRENCYFORMAT.map(S=>S.suffix("$")),...m.DATEFMTLISG.map(S=>S.suffix),...m.NUMBERFORMAT.map(S=>S.suffix)];C.push(...g||[]),i.addHabit(z,[]).finally(()=>{i.getHabit(z,C).then(S=>{v([...new Set(S)])})})})},[]);const d=g=>{u(g),n(g)},f=()=>{n(l)};return o.jsxs("div",{children:[o.jsx("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:c.t("sheet.numfmt.customFormat")}),o.jsx(N.Input,{placeholder:c.t("sheet.numfmt.customFormat"),onBlur:f,value:l,onChange:u,className:"univer-mt-2 univer-w-full"}),o.jsx("div",{className:N.clsx("univer-mt-2 univer-max-h-[400px] univer-overflow-auto univer-rounded-lg univer-p-2",N.borderClassName),children:h.map(g=>o.jsxs("div",{onClick:()=>d(g),className:"univer-flex univer-cursor-pointer univer-items-center univer-gap-1.5 univer-py-1.5 univer-text-sm",children:[o.jsx("div",{className:"univer-flex univer-w-4 univer-items-center univer-text-primary-600",children:l===g&&o.jsx(oe,{})}),o.jsx("div",{children:g})]},g))}),o.jsx("div",{className:"univer-mt-3 univer-text-sm univer-text-gray-600 dark:univer-text-gray-200",children:c.t("sheet.numfmt.customFormatDes")})]})}const we=e=>{const t=a.numfmt.getInfo(e);return m.getDateFormatOptions().map(r=>r.value).includes(e)||["date","datetime","time"].includes(t.type)},Oe=e=>{const t=y.useMemo(m.getDateFormatOptions,[]),n=_.useDependency(a.LocaleService).t,[i,s]=y.useState(()=>{if(e.defaultPattern){const l=t.find(u=>u.value===e.defaultPattern);if(l)return l.value}return t[0].value});e.action.current=()=>i;const c=l=>{l!==void 0&&(s(l),e.onChange(l))};return o.jsxs("div",{children:[o.jsx("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:n("sheet.numfmt.dateType")}),o.jsx("div",{className:"univer-mt-2",children:o.jsx(N.SelectList,{value:i,options:t,onChange:c})}),o.jsx("div",{className:"univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:univer-text-gray-200",children:n("sheet.numfmt.dateDes")})]})},Ue=e=>!e,ke=e=>{const r=_.useDependency(a.LocaleService).t;return e.action.current=()=>"",o.jsx("div",{children:o.jsx("div",{className:"univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:univer-text-gray-200",children:r("sheet.numfmt.generalDes")})})},$e=e=>m.getNumberFormatOptions().some(t=>m.isPatternEqualWithoutDecimal(t.value,e)),Le=e=>{const t=_.useDependency(a.LocaleService),r=y.useMemo(m.getNumberFormatOptions,[]),[n,i]=y.useState(()=>m.getDecimalFromPattern(e.defaultPattern||"",0)),[s,c]=y.useState(()=>{const d=r.find(f=>m.isPatternEqualWithoutDecimal(f.value,e.defaultPattern||""));return(d==null?void 0:d.value)||r[0].value}),l=y.useMemo(()=>m.setPatternDecimal(s,Number(n||0)),[s,n]),u=y.useMemo(()=>!m.isPatternHasDecimal(s),[s]),h=d=>{i(d||0),e.onChange(m.setPatternDecimal(s,Number(d||0)))},v=d=>{d!==void 0&&(i(m.getDecimalFromPattern(d,0)),c(d),e.onChange(d))};return e.action.current=()=>l,o.jsxs("div",{children:[o.jsx("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:t.t("sheet.numfmt.decimalLength")}),o.jsx("div",{className:"univer-mt-2",children:o.jsx(N.InputNumber,{disabled:u,value:n,max:20,min:0,onChange:h})}),o.jsxs("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:[" ",t.t("sheet.numfmt.negType")]}),o.jsx("div",{className:"univer-mt-2",children:o.jsx(N.SelectList,{onChange:v,options:r,value:s})}),o.jsx("div",{className:"univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:univer-text-gray-200",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},Fe=e=>{const{defaultValue:t,defaultPattern:r,row:n,col:i}=e.value,s=_.useDependency(a.LocaleService),c=y.useRef(()=>""),l=s.t,u=be(),h=y.useMemo(()=>[{label:"sheet.numfmt.general",component:ke},{label:"sheet.numfmt.accounting",component:xe},{label:"sheet.numfmt.currency",component:Te},{label:"sheet.numfmt.date",component:Oe},{label:"sheet.numfmt.thousandthPercentile",component:Le},{label:"sheet.numfmt.customFormat",component:Re}].map(I=>({...I,label:l(I.label)})),[]),[v,d]=y.useState(b),[f,g]=y.useState(()=>`${n}_${i}`),{mark:C,userHabitCurrency:S}=Ce(()=>g(`${n}_${i}_userCurrency'`)),x=y.useMemo(()=>{var I;return(I=h.find(w=>w.label===v))==null?void 0:I.component},[v]);function b(){return[Ue,Ie,Ne,we,$e].reduce((w,de,he)=>w||(de(r)?h[he].label:""),"")||h[0].label}const T=h.map(I=>({label:I.label,value:I.label})),R=I=>{d(I),u(()=>e.onChange({type:"change",value:c.current()||""}))},D=y.useCallback(I=>{e.onChange({type:"change",value:I})},[]),G=()=>{const I=c.current()||"",w=m.getCurrencyType(I);w&&C(w),e.onChange({type:"confirm",value:I})},U=()=>{e.onChange({type:"cancel",value:""})},K={onChange:D,defaultValue:t,defaultPattern:r,action:c};return y.useEffect(()=>{d(b()),g(`${n}_${i}`)},[n,i]),o.jsxs("div",{className:"univer-flex univer-h-full univer-flex-col univer-justify-between univer-overflow-y-auto univer-pb-5",children:[o.jsxs("div",{children:[o.jsx("div",{className:"univer-mt-3.5 univer-text-sm univer-text-gray-400",children:l("sheet.numfmt.numfmtType")}),o.jsx("div",{className:"univer-mt-2",children:o.jsx(N.Select,{className:"univer-w-full",value:v,options:T,onChange:R})}),o.jsx("div",{children:x&&o.jsx(ee.Provider,{value:S,children:y.createElement(x,{...K,key:f})})})]}),o.jsxs("div",{className:"univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end",children:[o.jsx(N.Button,{onClick:U,className:"univer-mr-3",children:l("sheet.numfmt.cancel")}),o.jsx(N.Button,{variant:"primary",onClick:G,children:l("sheet.numfmt.confirm")})]})]})};var Ae=Object.getOwnPropertyDescriptor,He=(e,t,r,n)=>{for(var i=n>1?void 0:n?Ae(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},M=(e,t)=>(r,n)=>t(r,n,e);const re="SHEET_NUMFMT_PANEL";let F=class extends a.Disposable{constructor(t,r,n,i,s,c,l,u,h,v,d){super();A(this,"_previewPattern","");A(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=r,this._univerInstanceService=n,this._commandService=i,this._selectionManagerService=s,this._renderManagerService=c,this._numfmtService=l,this._componentManager=u,this._sidebarService=h,this._localeService=v,this._sheetsNumfmtCellContentController=d,this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener(),this._initNumfmtLocalChange()}_initNumfmtLocalChange(){this.disposeWithMe(j.merge(this._sheetsNumfmtCellContentController.local$,this._localeService.currentLocale$).subscribe(()=>{this._forceUpdate()}))}openPanel(){var x;const t=this._sidebarService,r=this._selectionManagerService,n=this._commandService,i=this._univerInstanceService,s=this._numfmtService,c=this._localeService,u=(((x=r.getCurrentSelections())==null?void 0:x.map(b=>b.range))||[])[0];if(!u)return!1;const h=i.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),v=h.getActiveSheet();if(!v)return!1;const d=v.getCellRaw(u.startRow,u.startColumn),f=s.getValue(h.getUnitId(),v.getSheetId(),u.startRow,u.startColumn);let g="";f&&(g=f.pattern);const C=(d==null?void 0:d.t)===a.CellValueType.NUMBER?d.v:12345678,S={onChange:b=>{var T;if(b.type==="change")this._previewPattern=b.value,this._forceUpdate();else if(b.type==="confirm"){const R=((T=r.getCurrentSelections())==null?void 0:T.map(U=>U.range))||[],D={values:[]},G=m.getPatternType(b.value);R.forEach(U=>{a.Range.foreach(U,(K,I)=>{D.values.push({row:K,col:I,pattern:b.value,type:G})})}),n.executeCommand(m.SetNumfmtCommand.id,D),t.close()}else b.type==="cancel"&&t.close()},value:{defaultPattern:g,defaultValue:C,row:u.startRow,col:u.startColumn}};return this._sidebarDisposable=t.open({header:{title:c.t("sheet.numfmt.title")},children:{label:re,...S},onClose:()=>{this._forceUpdate(),n.executeCommand(Y.id)}}),!0}_forceUpdate(t){var n;const r=this._renderManagerService.getRenderById(t!=null?t:this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId());r==null||r.with(P.SheetSkeletonManagerService).reCalculate(),(n=r==null?void 0:r.mainComponent)==null||n.makeDirty()}_initCommands(){[$,Y].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this._componentManager.register(re,Fe)}_initRealTimeRenderingInterceptor(){const t=new j.Observable(n=>{this._commandService.onCommandExecuted(i=>{i.id===$.id&&n.next(!0),i.id===Y.id&&n.next(!1)})}),r=j.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(H.map(n=>n?n.map(i=>i.range):[]))]);this.disposeWithMe(a.toDisposable(r.pipe(H.switchMap(([n,i])=>new j.Observable(s=>{const c=new a.DisposableCollection;return n&&i.length&&s.next({selectionRanges:i,disposableCollection:c}),()=>{c.dispose()}})),H.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:i})=>{var c,l;const s=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);this.openPanel(),n.add(this._sheetInterceptorService.intercept(p.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,effect:a.InterceptorEffectEnum.Value|a.InterceptorEffectEnum.Style,handler:(u,h,v)=>{const{row:d,col:f}=h,g=v(u)||{};if(i.find(C=>C.startColumn<=f&&C.endColumn>=f&&C.startRow<=d&&C.endRow>=d)){const C=h.worksheet.getCellRaw(d,f),S=C==null?void 0:C.v,x=C==null?void 0:C.t;if(S==null||x!==a.CellValueType.NUMBER||this._previewPattern===null)return g;const b=m.getPatternPreviewIgnoreGeneral(this._previewPattern,S,this._sheetsNumfmtCellContentController.local);if(b.color){const T=this._themeService.getColorFromTheme(`${b.color}.500`);return{...g,v:b.result,t:a.CellValueType.STRING,s:{cl:{rgb:T}}}}return{...g,v:b.result,t:a.CellValueType.STRING}}return g}})),(l=(c=this._renderManagerService.getRenderById(s.getUnitId()))==null?void 0:c.mainComponent)==null||l.makeDirty()})))}_commandExecutedListener(){const t=[p.RemoveNumfmtMutation.id,p.SetNumfmtMutation.id];this.disposeWithMe(new j.Observable(r=>{const n=this._commandService.onCommandExecuted(i=>{if(t.includes(i.id)){const s=i.params;r.next(s.unitId)}});return()=>n.dispose()}).pipe(H.debounceTime(16)).subscribe(r=>this._forceUpdate(r)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var r;t||((r=this._sidebarDisposable)==null||r.dispose(),this._sidebarDisposable=null)})}};F=He([M(0,a.Inject(p.SheetInterceptorService)),M(1,a.Inject(a.ThemeService)),M(2,a.IUniverInstanceService),M(3,a.ICommandService),M(4,a.Inject(p.SheetsSelectionsService)),M(5,se.IRenderManagerService),M(6,p.INumfmtService),M(7,a.Inject(_.ComponentManager)),M(8,_.ISidebarService),M(9,a.Inject(a.LocaleService)),M(10,a.Inject(m.SheetsNumfmtCellContentController))],F);var We=Object.getOwnPropertyDescriptor,Ve=(e,t,r,n)=>{for(var i=n>1?void 0:n?We(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},k=(e,t)=>(r,n)=>t(r,n,e);const Be=()=>{let e=[];return{add:(i,s,c,l,u)=>e.push({unitId:i,subUnitId:s,row:c,col:l,value:u}),getEffects:()=>e,clean:()=>{e=[]}}};let V=class extends a.Disposable{constructor(t,r,n,i,s){super();A(this,"_collectEffectMutation",Be());this._sheetInterceptorService=t,this._numfmtService=r,this._univerInstanceService=n,this._injector=i,this._editorBridgeService=s,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe(a.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(p.BEFORE_CELL_EDIT,{handler:(t,r,n)=>{const i=r.row,s=r.col,c=this._numfmtService.getValue(r.unitId,r.subUnitId,i,s);if(c)switch(m.getPatternType(c.pattern)){case"scientific":case"currency":case"grouped":case"number":{const u=r.worksheet.getCellRaw(i,s);return n&&n(u)}case"percent":case"date":case"time":case"datetime":default:return n&&n(t)}return n(t)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(a.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(p.AFTER_CELL_EDIT,{handler:(t,r,n)=>{var u,h,v;this._collectEffectMutation.clean();const i=this._numfmtService.getValue(r.unitId,r.subUnitId,r.row,r.col);if(!(t!=null&&t.v)&&!(t!=null&&t.p)||q.isTextFormat(i==null?void 0:i.pattern)||t.t===a.CellValueType.FORCE_STRING)return n(t);const s=(u=t.p)==null?void 0:u.body,c=(v=(h=t==null?void 0:t.p)==null?void 0:h.body)!=null&&v.dataStream?t.p.body.dataStream.replace(/\r\n$/,""):String(t.v),l=a.numfmt.parseDate(c)||a.numfmt.parseTime(c)||a.numfmt.parseNumber(c);if(s)if(qe(s)){const{dataStream:d}=s,f=d.replace(/\r\n$/,""),g=Number(f);if(Number.isNaN(g)&&!l)return n(t)}else return n(t);if(l){l.z&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,{pattern:l.z});const d=Number(l.v);return n({...t,p:void 0,v:d,t:a.CellValueType.NUMBER})}return n(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(r){var n;switch(r.id){case p.SetRangeValuesCommand.id:{const i=t._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),s=i.getUnitId(),c=(n=i.getActiveSheet())==null?void 0:n.getSheetId();if(!c)return{redos:[],undos:[]};const l=t._collectEffectMutation.getEffects();if(t._collectEffectMutation.clean(),!l.length)return{redos:[],undos:[]};const u=l.filter(f=>{var g;return!!((g=f.value)!=null&&g.pattern)}).map(f=>({row:f.row,col:f.col,pattern:f.value.pattern})),h=l.filter(f=>{var g;return!((g=f.value)!=null&&g.pattern)}).map(f=>({startRow:f.row,endColumn:f.col,startColumn:f.col,endRow:f.row})),v=[],d=[];if(u.length){const f={id:p.SetNumfmtMutation.id,params:p.transformCellsToRange(s,c,u)};v.push(f),d.push(...p.factorySetNumfmtUndoMutation(t._injector,f.params))}if(h.length){const f={id:p.RemoveNumfmtMutation.id,params:{unitId:s,subUnitId:c,ranges:h}};v.push(f),d.push(...p.factoryRemoveNumfmtUndoMutation(t._injector,f.params))}return{redos:v,undos:d.reverse()}}}return{redos:[],undos:[]}}}))}};V=Ve([k(0,a.Inject(p.SheetInterceptorService)),k(1,a.Inject(p.INumfmtService)),k(2,a.Inject(a.IUniverInstanceService)),k(3,a.Inject(a.Injector)),k(4,a.Optional(P.IEditorBridgeService))],V);function qe(e){const{textRuns:t=[],paragraphs:r=[],customRanges:n,customBlocks:i=[]}=e,s=["va"];return!(t.some(c=>!!(c.ts&&Object.keys(c.ts).some(u=>s.includes(u))))||r.some(c=>c.bullet)||r.length>=2||n!=null&&n.length||i.length>0)}const W=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:q.DEFAULT_TEXT_FORMAT_EXCEL},"|",{label:"sheet.numfmt.number",pattern:"0"},{label:"sheet.numfmt.percent",pattern:"0.00%"},{label:"sheet.numfmt.scientific",pattern:"0.00E+00"},"|",{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:""}],Ge=e=>({icon:new j.Observable(t=>{const r=e.get(m.MenuCurrencyService);function n(s){return{[m.countryCurrencyMap.US]:"DollarSingle",[m.countryCurrencyMap.RU]:"RoubleSingle",[m.countryCurrencyMap.CN]:"RmbSingle",[m.countryCurrencyMap.AT]:"EuroSingle"}[s]||"DollarSingle"}const i=m.countryCurrencyMap[r.getCurrencySymbol()]||"$";return t.next(n(i)),r.currencySymbol$.subscribe(s=>{const c=m.countryCurrencyMap[s]||"$";t.next(n(c))})}),id:m.SetCurrencyCommand.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:_.MenuItemType.BUTTON,hidden$:_.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:P.getCurrentRangeDisable$(e,{workbookTypes:[p.WorkbookEditablePermission],worksheetTypes:[p.WorksheetEditPermission,p.WorksheetSetCellStylePermission],rangeTypes:[p.RangeProtectionPermissionEditPoint]})}),Ke=e=>({icon:"AddDigitsSingle",id:m.AddDecimalCommand.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:_.MenuItemType.BUTTON,hidden$:_.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:P.getCurrentRangeDisable$(e,{workbookTypes:[p.WorkbookEditablePermission],worksheetTypes:[p.WorksheetEditPermission,p.WorksheetSetCellStylePermission],rangeTypes:[p.RangeProtectionPermissionEditPoint]})}),Ze=e=>({icon:"ReduceDigitsSingle",id:m.SubtractDecimalCommand.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:_.MenuItemType.BUTTON,hidden$:_.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:P.getCurrentRangeDisable$(e,{workbookTypes:[p.WorkbookEditablePermission],worksheetTypes:[p.WorksheetEditPermission,p.WorksheetSetCellStylePermission],rangeTypes:[p.RangeProtectionPermissionEditPoint]})}),Ye=e=>({icon:"PercentSingle",id:m.SetPercentCommand.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:_.MenuItemType.BUTTON,hidden$:_.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:P.getCurrentRangeDisable$(e,{workbookTypes:[p.WorkbookEditablePermission],worksheetTypes:[p.WorksheetEditPermission,p.WorksheetSetCellStylePermission],rangeTypes:[p.RangeProtectionPermissionEditPoint]})}),ze=e=>{const t=e.get(a.IUniverInstanceService),r=e.get(a.ICommandService),n=e.get(a.LocaleService),i=e.get(p.SheetsSelectionsService),s=[p.RemoveNumfmtMutation.id,p.SetNumfmtMutation.id],c=P.deriveStateFromActiveSheet$(t,"",({workbook:l,worksheet:u})=>new j.Observable(h=>j.merge(i.selectionMoveEnd$,a.fromCallback(r.onCommandExecuted.bind(r)).pipe(j.filter(([v])=>s.includes(v.id)))).subscribe(()=>{var d,f;const v=i.getCurrentSelections();if(v&&v[0]){const g=v[0].range,C=g.startRow,S=g.startColumn,x=(f=l.getStyles().get((d=u.getCell(C,S))==null?void 0:d.s))==null?void 0:f.n,b=x==null?void 0:x.pattern;let T=n.t("sheet.numfmt.general");if(q.isDefaultFormat(b)){h.next(T);return}if(b){const R=W.filter(D=>typeof D=="object"&&D.pattern).find(D=>m.isPatternEqualWithoutDecimal(b,D.pattern));R&&typeof R=="object"&&R.pattern?T=n.t(R.label):T=n.t("sheet.numfmt.moreFmt")}h.next(T)}})));return{label:le,id:$.id,tooltip:"sheet.numfmt.title",type:_.MenuItemType.SELECTOR,slot:!0,selections:[{label:{name:ue,hoverable:!1,selectable:!1}}],value$:c,hidden$:_.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:P.getCurrentRangeDisable$(e,{workbookTypes:[p.WorkbookEditablePermission],worksheetTypes:[p.WorksheetSetCellStylePermission,p.WorksheetEditPermission],rangeTypes:[p.RangeProtectionPermissionEditPoint]})}},le="sheet.numfmt.moreNumfmtType",ue="sheet.numfmt.moreNumfmtType.options",Xe=e=>{const{value:t}=e,r=_.useDependency(a.LocaleService),n=t!=null?t:r.t("sheet.numfmt.general");return o.jsx("span",{className:"univer-text-sm",children:n})},Je=()=>{const e=_.useDependency(a.ICommandService),t=_.useDependency(a.LocaleService),r=_.useDependency(_.ILayoutService),n=_.useDependency(m.SheetsNumfmtCellContentController),i=_.useDependency(p.SheetsSelectionsService),s=u=>{const h=i.getCurrentLastSelection();if(!h)return;const v=h.range,d=[];a.Range.foreach(v,(f,g)=>{u?d.push({row:f,col:g,pattern:u,type:m.getPatternType(u)}):d.push({row:f,col:g})}),e.executeCommand(m.SetNumfmtCommand.id,{values:d}),r.focus()},c=u=>{if(u===0)s(null);else if(u===W.length-1)e.executeCommand($.id),r.focus();else{const h=W[u];h.pattern&&s(h.pattern)}},l=1220;return o.jsx("div",{className:"univer-grid univer-gap-1 univer-p-1.5",children:W.map((u,h)=>u==="|"?o.jsx(N.Separator,{},h):o.jsxs("div",{className:"univer-flex univer-h-7 univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm dark:hover:univer-bg-gray-700 hover:univer-bg-gray-100",onClick:()=>{c(h)},children:[o.jsx("span",{children:t.t(u.label)}),o.jsx("span",{className:"univer-text-xs univer-text-gray-500",children:u.pattern?m.getPatternPreview(u.pattern||"",l,n.local).result.trim():""})]},h))})},Qe={[_.RibbonStartGroup.FORMULAS_INSERT]:{[m.SetCurrencyCommand.id]:{order:4,menuItemFactory:Ge},[m.AddDecimalCommand.id]:{order:5,menuItemFactory:Ke},[m.SubtractDecimalCommand.id]:{order:6,menuItemFactory:Ze},[m.SetPercentCommand.id]:{order:7,menuItemFactory:Ye},[$.id]:{order:8,menuItemFactory:ze}}};var et=Object.getOwnPropertyDescriptor,tt=(e,t,r,n)=>{for(var i=n>1?void 0:n?et(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},ie=(e,t)=>(r,n)=>t(r,n,e);let B=class extends a.Disposable{constructor(e,t){super(),this._componentManager=e,this._menuManagerService=t,this._initMenu()}_initMenu(){this._menuManagerService.mergeMenu(Qe),this.disposeWithMe(this._componentManager.register(le,Xe)),this.disposeWithMe(this._componentManager.register(ue,Je))}};B=tt([ie(0,a.Inject(_.ComponentManager)),ie(1,_.IMenuManagerService)],B);var nt=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,it=(e,t,r)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,st=(e,t,r,n)=>{for(var i=n>1?void 0:n?rt(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},J=(e,t)=>(r,n)=>t(r,n,e),me=(e,t,r)=>it(e,typeof t!="symbol"?t+"":t,r);const ct="SHEET_NUMFMT_UI_PLUGIN";exports.UniverSheetsNumfmtUIPlugin=class extends a.Plugin{constructor(t=te,r,n,i){super(),this._config=t,this._injector=r,this._configService=n,this._renderManagerService=i;const{menu:s,...c}=a.merge({},te,this._config);s&&this._configService.setConfig("menu",s,{merge:!0}),this._configService.setConfig("sheets-numfmt-ui.config",c)}onStarting(){a.registerDependencies(this._injector,[[F],[V],[L],[B]])}onRendered(){this._registerRenderModules(),a.touchDependencies(this._injector,[[F],[V],[B]])}_registerRenderModules(){[[Q]].forEach(r=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(a.UniverInstanceType.UNIVER_SHEET,r))})}};me(exports.UniverSheetsNumfmtUIPlugin,"pluginName",ct);me(exports.UniverSheetsNumfmtUIPlugin,"type",a.UniverInstanceType.UNIVER_SHEET);exports.UniverSheetsNumfmtUIPlugin=st([a.DependentOn(P.UniverSheetsUIPlugin,m.UniverSheetsNumfmtPlugin),J(1,a.Inject(a.Injector)),J(2,a.IConfigService),J(3,se.IRenderManagerService)],exports.UniverSheetsNumfmtUIPlugin);
|
|
1
|
+
"use strict";var ve=Object.defineProperty;var fe=(e,t,r)=>t in e?ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var A=(e,t,r)=>fe(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),se=require("@univerjs/engine-render"),m=require("@univerjs/sheets-numfmt"),P=require("@univerjs/sheets-ui"),q=require("@univerjs/engine-numfmt"),p=require("@univerjs/sheets"),_=require("@univerjs/ui"),j=require("rxjs"),H=require("rxjs/operators"),l=require("react/jsx-runtime"),y=require("react"),N=require("@univerjs/design"),te={};var pe=Object.getOwnPropertyDescriptor,ge=(e,t,r,n)=>{for(var i=n>1?void 0:n?pe(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},O=(e,t)=>(r,n)=>t(r,n,e);const Z="SHEET_NUMFMT_ALERT";let Q=class extends a.Disposable{constructor(e,t,r,n,i,s,c){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=r,this._localeService=n,this._zenZoneService=i,this._numfmtService=s,this._configService=c,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.pipe(j.debounceTime(100)).subscribe(e=>{var t,r;if(e){const n=e.location,i=this._context.unit,s=i.getActiveSheet();if(!s)return;const c=n.unitId,o=n.subUnitId;let u;const h=s.getCell(n.row,n.col);if(h!=null&&h.s){const v=i.getStyles().get(h.s);v!=null&&v.n&&(u=v.n)}if(u||(u=this._numfmtService.getValue(c,o,n.row,n.col)),!u){this._hideAlert();return}if(q.isTextFormat(u.pattern)&&(h!=null&&h.v)&&a.isRealNum(h.v)){if((t=this._configService.getConfig(m.SHEETS_NUMFMT_PLUGIN_CONFIG_KEY))!=null&&t.disableTextFormatAlert)return;const v=this._cellAlertManagerService.currentAlert.get(Z),d=(r=v==null?void 0:v.alert)==null?void 0:r.location;if(d&&d.row===n.row&&d.col===n.col&&d.subUnitId===n.subUnitId&&d.unitId===n.unitId)return;this._cellAlertManagerService.showAlert({type:P.CellAlertType.WARNING,title:this._localeService.t("info.error"),message:this._localeService.t("info.forceStringInfo"),location:n,width:200,height:74,key:Z});return}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(Z)}};Q=ge([O(1,a.Inject(P.HoverManagerService)),O(2,a.Inject(P.CellAlertManagerService)),O(3,a.Inject(a.LocaleService)),O(4,_.IZenZoneService),O(5,a.Inject(p.INumfmtService)),O(6,a.IConfigService)],Q);const Y={id:"sheet.operation.close.numfmt.panel",type:a.CommandType.OPERATION,handler:()=>!0},$={id:"sheet.operation.open.numfmt.panel",type:a.CommandType.OPERATION,handler:e=>(e.get(F).openPanel(),!0)};var Se=Object.getOwnPropertyDescriptor,ye=(e,t,r,n)=>{for(var i=n>1?void 0:n?Se(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},_e=(e,t)=>(r,n)=>t(r,n,e);const ee=y.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(s=>s===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((s,c,o)=>{const u=o.length;return{value:s,priority:u-c}});return t.sort((s,c)=>{var h,v;const o=((h=i.find(d=>d.value===s))==null?void 0:h.priority)||-1;return(((v=i.find(d=>d.value===c))==null?void 0:v.priority)||-1)-o})}return n||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};L=ye([_e(0,a.Inject(a.ILocalStorageService))],L);const ne="numfmtCurrency",Ce=e=>{const t=_.useDependency(L),[r,n]=y.useState(m.currencySymbols);return y.useEffect(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(ne,[...m.currencySymbols]).then(s=>{n(s),e&&e(s)})})},[]),{userHabitCurrency:r,mark:s=>{t.markHabit(ne,s)}}},be=()=>{const e=y.useRef([]),[t,r]=y.useState({});return y.useEffect(()=>{e.current.forEach(i=>{i()}),e.current=[]},[t]),i=>{e.current.push(i),r({})}},Ie=e=>!!m.getCurrencyType(e)&&e.startsWith("_("),xe=e=>{const{defaultPattern:t,action:r,onChange:n}=e,[i,s]=y.useState(()=>m.getDecimalFromPattern(t||"",2)),c=y.useContext(ee),[o,u]=y.useState(()=>m.getCurrencyType(t)||c[0]),h=y.useMemo(()=>c.map(C=>({label:C,value:C})),[]),d=_.useDependency(a.LocaleService).t;r.current=()=>m.setPatternDecimal(`_("${o}"* #,##0${i>0?".0":""}_)`,i);const f=C=>{u(C),n(m.setPatternDecimal(`_("${C}"* #,##0${i>0?".0":""}_)`,i))},g=C=>{const S=C||0;s(S),n(m.setPatternDecimal(`_("${o}"* #,##0${S>0?".0":""}_)`,S))};return l.jsxs("div",{children:[l.jsxs("div",{className:"univer-mt-4 univer-flex univer-justify-between",children:[l.jsxs("div",{className:"option",children:[l.jsx("div",{className:"univer-text-sm univer-text-gray-400",children:d("sheet.numfmt.decimalLength")}),l.jsx("div",{className:"univer-mt-2 univer-w-32",children:l.jsx(N.InputNumber,{value:i,step:1,precision:0,max:20,min:0,onChange:g})})]}),l.jsxs("div",{className:"option",children:[l.jsx("div",{className:"univer-text-sm univer-text-gray-400",children:d("sheet.numfmt.currencyType")}),l.jsx("div",{className:"univer-mt-2 univer-w-36",children:l.jsx(N.Select,{options:h,value:o,onChange:f})})]})]}),l.jsx("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:d("sheet.numfmt.accountingDes")})]})},Ne=e=>!!m.getCurrencyType(e)&&!e.startsWith("_("),Te=e=>{const r=_.useDependency(a.LocaleService).t,n=y.useContext(ee),[i,s]=y.useState(()=>m.getCurrencyType(e.defaultPattern)||n[0]),[c,o]=y.useState(()=>m.getDecimalFromPattern(e.defaultPattern||"",2)),[u,h]=y.useState(()=>{var b;const S=m.getCurrencyFormatOptions(i);return((b=S.find(T=>m.isPatternEqualWithoutDecimal(T.value,e.defaultPattern)))==null?void 0:b.value)||S[0].value}),v=y.useMemo(()=>m.getCurrencyFormatOptions(i),[i]),d=y.useMemo(()=>n.map(S=>({label:S,value:S})),[n]);e.action.current=()=>m.setPatternDecimal(u,c);const f=S=>{if(S===void 0)return;s(S);const x=m.getCurrencyFormatOptions(S)[0].value;h(x),e.onChange(m.setPatternDecimal(x,c))},g=S=>{S!==void 0&&(h(S),e.onChange(m.setPatternDecimal(S,c)))},C=S=>{o(S||0),e.onChange(m.setPatternDecimal(u,S||0))};return l.jsxs("div",{children:[l.jsxs("div",{className:"univer-mt-4 univer-flex univer-justify-between",children:[l.jsxs("div",{className:"option",children:[l.jsx("div",{className:"univer-text-sm univer-text-gray-400",children:r("sheet.numfmt.decimalLength")}),l.jsx("div",{className:"univer-mt-2 univer-w-32",children:l.jsx(N.InputNumber,{value:c,max:20,min:0,onChange:C})})]}),l.jsxs("div",{className:"option",children:[l.jsx("div",{className:"univer-text-sm univer-text-gray-400",children:r("sheet.numfmt.currencyType")}),l.jsx("div",{className:"univer-mt-2 univer-w-36",children:l.jsx(N.Select,{value:i,options:d,onChange:f})})]})]}),l.jsx("div",{className:"univer-mt-4 label",children:r("sheet.numfmt.negType")}),l.jsx("div",{className:"univer-mt-2",children:l.jsx(N.SelectList,{value:u,options:v,onChange:g})}),l.jsx("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:r("sheet.numfmt.currencyDes")})]})};var E=function(){return E=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},E.apply(this,arguments)},Ee=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},ce=y.forwardRef(function(e,t){var r=e.icon,n=e.id,i=e.className,s=e.extend,c=Ee(e,["icon","id","className","extend"]),o="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),u=y.useRef("_".concat(je()));return ae(r,"".concat(n),{defIds:r.defIds,idSuffix:u.current},E({ref:t,className:o},c),s)});function ae(e,t,r,n,i){return y.createElement(e.tag,E(E({key:t},Pe(e,r,i)),n),(Me(e,r).children||[]).map(function(s,c){return ae(s,"".concat(t,"-").concat(e.tag,"-").concat(c),r,void 0,i)}))}function Pe(e,t,r){var n=E({},e.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1),e.tag==="mask"&&n.id&&(n.id=n.id+t.idSuffix),Object.entries(n).forEach(function(s){var c=s[0],o=s[1];c==="mask"&&typeof o=="string"&&(n[c]=o.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))});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(s){var c=s[0],o=s[1];typeof o=="string"&&(n[c]=o.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function Me(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)?E(E({},e),{children:e.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?E(E({},i),{attrs:E(E({},i.attrs),{id:i.attrs.id+t.idSuffix})}):i})}):e}function je(){return Math.random().toString(36).substring(2,8)}ce.displayName="UniverIcon";var De={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=y.forwardRef(function(e,t){return y.createElement(ce,Object.assign({},e,{id:"check-mark-single",ref:t,icon:De}))});oe.displayName="CheckMarkSingle";const z="customFormat",X="numfmt_custom_pattern";function Re(e){const{defaultPattern:t,action:r,onChange:n}=e,i=_.useDependency(L),s=_.useDependency(a.ILocalStorageService),c=_.useDependency(a.LocaleService),[o,u]=y.useState(t);r.current=()=>(i.markHabit(z,o),s.getItem(X).then((g=[])=>{const C=[...new Set([o,...g||[]])].splice(0,10).filter(S=>!!S);s.setItem(X,C)}),o);const[h,v]=y.useState([]);y.useEffect(()=>{s.getItem(X).then(g=>{const C=[...m.CURRENCYFORMAT.map(S=>S.suffix("$")),...m.DATEFMTLISG.map(S=>S.suffix),...m.NUMBERFORMAT.map(S=>S.suffix)];C.push(...g||[]),i.addHabit(z,[]).finally(()=>{i.getHabit(z,C).then(S=>{v([...new Set(S)])})})})},[]);const d=g=>{u(g),n(g)},f=()=>{n(o)};return l.jsxs("div",{children:[l.jsx("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:c.t("sheet.numfmt.customFormat")}),l.jsx(N.Input,{placeholder:c.t("sheet.numfmt.customFormat"),onBlur:f,value:o,onChange:u,className:"univer-mt-2 univer-w-full"}),l.jsx("div",{className:N.clsx("univer-mt-2 univer-max-h-[400px] univer-overflow-auto univer-rounded-lg univer-p-2",N.borderClassName),children:h.map(g=>l.jsxs("div",{onClick:()=>d(g),className:"univer-flex univer-cursor-pointer univer-items-center univer-gap-1.5 univer-py-1.5 univer-text-sm",children:[l.jsx("div",{className:"univer-flex univer-w-4 univer-items-center univer-text-primary-600",children:o===g&&l.jsx(oe,{})}),l.jsx("div",{children:g})]},g))}),l.jsx("div",{className:"univer-mt-3 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:c.t("sheet.numfmt.customFormatDes")})]})}const we=e=>{const t=a.numfmt.getInfo(e);return m.getDateFormatOptions().map(r=>r.value).includes(e)||["date","datetime","time"].includes(t.type)},Oe=e=>{const t=y.useMemo(m.getDateFormatOptions,[]),n=_.useDependency(a.LocaleService).t,[i,s]=y.useState(()=>{if(e.defaultPattern){const o=t.find(u=>u.value===e.defaultPattern);if(o)return o.value}return t[0].value});e.action.current=()=>i;const c=o=>{o!==void 0&&(s(o),e.onChange(o))};return l.jsxs("div",{children:[l.jsx("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:n("sheet.numfmt.dateType")}),l.jsx("div",{className:"univer-mt-2",children:l.jsx(N.SelectList,{value:i,options:t,onChange:c})}),l.jsx("div",{className:"univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200",children:n("sheet.numfmt.dateDes")})]})},Ue=e=>!e,ke=e=>{const r=_.useDependency(a.LocaleService).t;return e.action.current=()=>"",l.jsx("div",{children:l.jsx("div",{className:"univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200",children:r("sheet.numfmt.generalDes")})})},$e=e=>m.getNumberFormatOptions().some(t=>m.isPatternEqualWithoutDecimal(t.value,e)),Le=e=>{const t=_.useDependency(a.LocaleService),r=y.useMemo(m.getNumberFormatOptions,[]),[n,i]=y.useState(()=>m.getDecimalFromPattern(e.defaultPattern||"",0)),[s,c]=y.useState(()=>{const d=r.find(f=>m.isPatternEqualWithoutDecimal(f.value,e.defaultPattern||""));return(d==null?void 0:d.value)||r[0].value}),o=y.useMemo(()=>m.setPatternDecimal(s,Number(n||0)),[s,n]),u=y.useMemo(()=>!m.isPatternHasDecimal(s),[s]),h=d=>{i(d||0),e.onChange(m.setPatternDecimal(s,Number(d||0)))},v=d=>{d!==void 0&&(i(m.getDecimalFromPattern(d,0)),c(d),e.onChange(d))};return e.action.current=()=>o,l.jsxs("div",{children:[l.jsx("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:t.t("sheet.numfmt.decimalLength")}),l.jsx("div",{className:"univer-mt-2",children:l.jsx(N.InputNumber,{disabled:u,value:n,max:20,min:0,onChange:h})}),l.jsxs("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:[" ",t.t("sheet.numfmt.negType")]}),l.jsx("div",{className:"univer-mt-2",children:l.jsx(N.SelectList,{onChange:v,options:r,value:s})}),l.jsx("div",{className:"univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})},Fe=e=>{const{defaultValue:t,defaultPattern:r,row:n,col:i}=e.value,s=_.useDependency(a.LocaleService),c=y.useRef(()=>""),o=s.t,u=be(),h=y.useMemo(()=>[{label:"sheet.numfmt.general",component:ke},{label:"sheet.numfmt.accounting",component:xe},{label:"sheet.numfmt.currency",component:Te},{label:"sheet.numfmt.date",component:Oe},{label:"sheet.numfmt.thousandthPercentile",component:Le},{label:"sheet.numfmt.customFormat",component:Re}].map(I=>({...I,label:o(I.label)})),[]),[v,d]=y.useState(b),[f,g]=y.useState(()=>`${n}_${i}`),{mark:C,userHabitCurrency:S}=Ce(()=>g(`${n}_${i}_userCurrency'`)),x=y.useMemo(()=>{var I;return(I=h.find(w=>w.label===v))==null?void 0:I.component},[v]);function b(){return[Ue,Ie,Ne,we,$e].reduce((w,de,he)=>w||(de(r)?h[he].label:""),"")||h[0].label}const T=h.map(I=>({label:I.label,value:I.label})),R=I=>{d(I),u(()=>e.onChange({type:"change",value:c.current()||""}))},D=y.useCallback(I=>{e.onChange({type:"change",value:I})},[]),G=()=>{const I=c.current()||"",w=m.getCurrencyType(I);w&&C(w),e.onChange({type:"confirm",value:I})},U=()=>{e.onChange({type:"cancel",value:""})},K={onChange:D,defaultValue:t,defaultPattern:r,action:c};return y.useEffect(()=>{d(b()),g(`${n}_${i}`)},[n,i]),l.jsxs("div",{className:"univer-flex univer-h-full univer-flex-col univer-justify-between univer-overflow-y-auto univer-pb-5",children:[l.jsxs("div",{children:[l.jsx("div",{className:"univer-mt-3.5 univer-text-sm univer-text-gray-400",children:o("sheet.numfmt.numfmtType")}),l.jsx("div",{className:"univer-mt-2",children:l.jsx(N.Select,{className:"univer-w-full",value:v,options:T,onChange:R})}),l.jsx("div",{children:x&&l.jsx(ee.Provider,{value:S,children:y.createElement(x,{...K,key:f})})})]}),l.jsxs("div",{className:"univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end",children:[l.jsx(N.Button,{onClick:U,className:"univer-mr-3",children:o("sheet.numfmt.cancel")}),l.jsx(N.Button,{variant:"primary",onClick:G,children:o("sheet.numfmt.confirm")})]})]})};var Ae=Object.getOwnPropertyDescriptor,He=(e,t,r,n)=>{for(var i=n>1?void 0:n?Ae(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},M=(e,t)=>(r,n)=>t(r,n,e);const re="SHEET_NUMFMT_PANEL";let F=class extends a.Disposable{constructor(t,r,n,i,s,c,o,u,h,v,d){super();A(this,"_previewPattern","");A(this,"_sidebarDisposable",null);this._sheetInterceptorService=t,this._themeService=r,this._univerInstanceService=n,this._commandService=i,this._selectionManagerService=s,this._renderManagerService=c,this._numfmtService=o,this._componentManager=u,this._sidebarService=h,this._localeService=v,this._sheetsNumfmtCellContentController=d,this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener(),this._initNumfmtLocalChange()}_initNumfmtLocalChange(){this.disposeWithMe(j.merge(this._sheetsNumfmtCellContentController.local$,this._localeService.currentLocale$).subscribe(()=>{this._forceUpdate()}))}openPanel(){var x;const t=this._sidebarService,r=this._selectionManagerService,n=this._commandService,i=this._univerInstanceService,s=this._numfmtService,c=this._localeService,u=(((x=r.getCurrentSelections())==null?void 0:x.map(b=>b.range))||[])[0];if(!u)return!1;const h=i.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),v=h.getActiveSheet();if(!v)return!1;const d=v.getCellRaw(u.startRow,u.startColumn),f=s.getValue(h.getUnitId(),v.getSheetId(),u.startRow,u.startColumn);let g="";f&&(g=f.pattern);const C=(d==null?void 0:d.t)===a.CellValueType.NUMBER?d.v:12345678,S={onChange:b=>{var T;if(b.type==="change")this._previewPattern=b.value,this._forceUpdate();else if(b.type==="confirm"){const R=((T=r.getCurrentSelections())==null?void 0:T.map(U=>U.range))||[],D={values:[]},G=m.getPatternType(b.value);R.forEach(U=>{a.Range.foreach(U,(K,I)=>{D.values.push({row:K,col:I,pattern:b.value,type:G})})}),n.executeCommand(m.SetNumfmtCommand.id,D),t.close()}else b.type==="cancel"&&t.close()},value:{defaultPattern:g,defaultValue:C,row:u.startRow,col:u.startColumn}};return this._sidebarDisposable=t.open({header:{title:c.t("sheet.numfmt.title")},children:{label:re,...S},onClose:()=>{this._forceUpdate(),n.executeCommand(Y.id)}}),!0}_forceUpdate(t){var n;const r=this._renderManagerService.getRenderById(t!=null?t:this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId());r==null||r.with(P.SheetSkeletonManagerService).reCalculate(),(n=r==null?void 0:r.mainComponent)==null||n.makeDirty()}_initCommands(){[$,Y].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initPanel(){this.disposeWithMe(this._componentManager.register(re,Fe))}_initRealTimeRenderingInterceptor(){const t=new j.Observable(n=>{this._commandService.onCommandExecuted(i=>{i.id===$.id&&n.next(!0),i.id===Y.id&&n.next(!1)})}),r=j.combineLatest([t,this._selectionManagerService.selectionMoveEnd$.pipe(H.map(n=>n?n.map(i=>i.range):[]))]);this.disposeWithMe(a.toDisposable(r.pipe(H.switchMap(([n,i])=>new j.Observable(s=>{const c=new a.DisposableCollection;return n&&i.length&&s.next({selectionRanges:i,disposableCollection:c}),()=>{c.dispose()}})),H.tap(()=>{this._previewPattern=null})).subscribe(({disposableCollection:n,selectionRanges:i})=>{var c,o;const s=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);this.openPanel(),n.add(this._sheetInterceptorService.intercept(p.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,effect:a.InterceptorEffectEnum.Value|a.InterceptorEffectEnum.Style,handler:(u,h,v)=>{const{row:d,col:f}=h,g=v(u)||{};if(i.find(C=>C.startColumn<=f&&C.endColumn>=f&&C.startRow<=d&&C.endRow>=d)){const C=h.worksheet.getCellRaw(d,f),S=C==null?void 0:C.v,x=C==null?void 0:C.t;if(S==null||x!==a.CellValueType.NUMBER||this._previewPattern===null)return g;const b=m.getPatternPreviewIgnoreGeneral(this._previewPattern,S,this._sheetsNumfmtCellContentController.local);if(b.color){const T=this._themeService.getColorFromTheme(`${b.color}.500`);return{...g,v:b.result,t:a.CellValueType.STRING,s:{cl:{rgb:T}}}}return{...g,v:b.result,t:a.CellValueType.STRING}}return g}})),(o=(c=this._renderManagerService.getRenderById(s.getUnitId()))==null?void 0:c.mainComponent)==null||o.makeDirty()})))}_commandExecutedListener(){const t=[p.RemoveNumfmtMutation.id,p.SetNumfmtMutation.id];this.disposeWithMe(new j.Observable(r=>{const n=this._commandService.onCommandExecuted(i=>{if(t.includes(i.id)){const s=i.params;r.next(s.unitId)}});return()=>n.dispose()}).pipe(H.debounceTime(16)).subscribe(r=>this._forceUpdate(r)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{var r;t||((r=this._sidebarDisposable)==null||r.dispose(),this._sidebarDisposable=null)})}};F=He([M(0,a.Inject(p.SheetInterceptorService)),M(1,a.Inject(a.ThemeService)),M(2,a.IUniverInstanceService),M(3,a.ICommandService),M(4,a.Inject(p.SheetsSelectionsService)),M(5,se.IRenderManagerService),M(6,p.INumfmtService),M(7,a.Inject(_.ComponentManager)),M(8,_.ISidebarService),M(9,a.Inject(a.LocaleService)),M(10,a.Inject(m.SheetsNumfmtCellContentController))],F);var We=Object.getOwnPropertyDescriptor,Ve=(e,t,r,n)=>{for(var i=n>1?void 0:n?We(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},k=(e,t)=>(r,n)=>t(r,n,e);const Be=()=>{let e=[];return{add:(i,s,c,o,u)=>e.push({unitId:i,subUnitId:s,row:c,col:o,value:u}),getEffects:()=>e,clean:()=>{e=[]}}};let V=class extends a.Disposable{constructor(t,r,n,i,s){super();A(this,"_collectEffectMutation",Be());this._sheetInterceptorService=t,this._numfmtService=r,this._univerInstanceService=n,this._injector=i,this._editorBridgeService=s,this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe(a.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(p.BEFORE_CELL_EDIT,{handler:(t,r,n)=>{const i=r.row,s=r.col,c=this._numfmtService.getValue(r.unitId,r.subUnitId,i,s);if(c)switch(m.getPatternType(c.pattern)){case"scientific":case"currency":case"grouped":case"number":{const u=r.worksheet.getCellRaw(i,s);return n&&n(u)}case"percent":case"date":case"time":case"datetime":default:return n&&n(t)}return n(t)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(a.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(p.AFTER_CELL_EDIT,{handler:(t,r,n)=>{var u,h,v;this._collectEffectMutation.clean();const i=this._numfmtService.getValue(r.unitId,r.subUnitId,r.row,r.col);if(!(t!=null&&t.v)&&!(t!=null&&t.p)||q.isTextFormat(i==null?void 0:i.pattern)||t.t===a.CellValueType.FORCE_STRING)return n(t);const s=(u=t.p)==null?void 0:u.body,c=(v=(h=t==null?void 0:t.p)==null?void 0:h.body)!=null&&v.dataStream?t.p.body.dataStream.replace(/\r\n$/,""):String(t.v),o=a.numfmt.parseDate(c)||a.numfmt.parseTime(c)||a.numfmt.parseNumber(c);if(s)if(qe(s)){const{dataStream:d}=s,f=d.replace(/\r\n$/,""),g=Number(f);if(Number.isNaN(g)&&!o)return n(t)}else return n(t);if(o){if(!o.z&&a.willLoseNumericPrecision(c))return n({...t,p:void 0,v:c,t:a.CellValueType.FORCE_STRING});o.z&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,{pattern:o.z});const d=Number(o.v);return n({...t,p:void 0,v:d,t:a.CellValueType.NUMBER})}return n(t)}})))}_initInterceptorCommands(){const t=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(r){var n;switch(r.id){case p.SetRangeValuesCommand.id:{const i=t._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),s=i.getUnitId(),c=(n=i.getActiveSheet())==null?void 0:n.getSheetId();if(!c)return{redos:[],undos:[]};const o=t._collectEffectMutation.getEffects();if(t._collectEffectMutation.clean(),!o.length)return{redos:[],undos:[]};const u=o.filter(f=>{var g;return!!((g=f.value)!=null&&g.pattern)}).map(f=>({row:f.row,col:f.col,pattern:f.value.pattern})),h=o.filter(f=>{var g;return!((g=f.value)!=null&&g.pattern)}).map(f=>({startRow:f.row,endColumn:f.col,startColumn:f.col,endRow:f.row})),v=[],d=[];if(u.length){const f={id:p.SetNumfmtMutation.id,params:p.transformCellsToRange(s,c,u)};v.push(f),d.push(...p.factorySetNumfmtUndoMutation(t._injector,f.params))}if(h.length){const f={id:p.RemoveNumfmtMutation.id,params:{unitId:s,subUnitId:c,ranges:h}};v.push(f),d.push(...p.factoryRemoveNumfmtUndoMutation(t._injector,f.params))}return{redos:v,undos:d.reverse()}}}return{redos:[],undos:[]}}}))}};V=Ve([k(0,a.Inject(p.SheetInterceptorService)),k(1,a.Inject(p.INumfmtService)),k(2,a.Inject(a.IUniverInstanceService)),k(3,a.Inject(a.Injector)),k(4,a.Optional(P.IEditorBridgeService))],V);function qe(e){const{textRuns:t=[],paragraphs:r=[],customRanges:n,customBlocks:i=[]}=e,s=["va"];return!(t.some(c=>!!(c.ts&&Object.keys(c.ts).some(u=>s.includes(u))))||r.some(c=>c.bullet)||r.length>=2||n!=null&&n.length||i.length>0)}const W=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:q.DEFAULT_TEXT_FORMAT_EXCEL},"|",{label:"sheet.numfmt.number",pattern:"0"},{label:"sheet.numfmt.percent",pattern:"0.00%"},{label:"sheet.numfmt.scientific",pattern:"0.00E+00"},"|",{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:""}],Ge=e=>({icon:new j.Observable(t=>{const r=e.get(m.MenuCurrencyService);function n(s){return{[m.countryCurrencyMap.US]:"DollarSingle",[m.countryCurrencyMap.RU]:"RoubleSingle",[m.countryCurrencyMap.CN]:"RmbSingle",[m.countryCurrencyMap.AT]:"EuroSingle"}[s]||"DollarSingle"}const i=m.countryCurrencyMap[r.getCurrencySymbol()]||"$";return t.next(n(i)),r.currencySymbol$.subscribe(s=>{const c=m.countryCurrencyMap[s]||"$";t.next(n(c))})}),id:m.SetCurrencyCommand.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:_.MenuItemType.BUTTON,hidden$:_.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:P.getCurrentRangeDisable$(e,{workbookTypes:[p.WorkbookEditablePermission],worksheetTypes:[p.WorksheetEditPermission,p.WorksheetSetCellStylePermission],rangeTypes:[p.RangeProtectionPermissionEditPoint]})}),Ke=e=>({icon:"AddDigitsSingle",id:m.AddDecimalCommand.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:_.MenuItemType.BUTTON,hidden$:_.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:P.getCurrentRangeDisable$(e,{workbookTypes:[p.WorkbookEditablePermission],worksheetTypes:[p.WorksheetEditPermission,p.WorksheetSetCellStylePermission],rangeTypes:[p.RangeProtectionPermissionEditPoint]})}),Ze=e=>({icon:"ReduceDigitsSingle",id:m.SubtractDecimalCommand.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:_.MenuItemType.BUTTON,hidden$:_.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:P.getCurrentRangeDisable$(e,{workbookTypes:[p.WorkbookEditablePermission],worksheetTypes:[p.WorksheetEditPermission,p.WorksheetSetCellStylePermission],rangeTypes:[p.RangeProtectionPermissionEditPoint]})}),Ye=e=>({icon:"PercentSingle",id:m.SetPercentCommand.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:_.MenuItemType.BUTTON,hidden$:_.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:P.getCurrentRangeDisable$(e,{workbookTypes:[p.WorkbookEditablePermission],worksheetTypes:[p.WorksheetEditPermission,p.WorksheetSetCellStylePermission],rangeTypes:[p.RangeProtectionPermissionEditPoint]})}),ze=e=>{const t=e.get(a.IUniverInstanceService),r=e.get(a.ICommandService),n=e.get(a.LocaleService),i=e.get(p.SheetsSelectionsService),s=[p.RemoveNumfmtMutation.id,p.SetNumfmtMutation.id],c=P.deriveStateFromActiveSheet$(t,"",({workbook:o,worksheet:u})=>new j.Observable(h=>j.merge(i.selectionMoveEnd$,a.fromCallback(r.onCommandExecuted.bind(r)).pipe(j.filter(([v])=>s.includes(v.id)))).subscribe(()=>{var d,f;const v=i.getCurrentSelections();if(v&&v[0]){const g=v[0].range,C=g.startRow,S=g.startColumn,x=(f=o.getStyles().get((d=u.getCell(C,S))==null?void 0:d.s))==null?void 0:f.n,b=x==null?void 0:x.pattern;let T=n.t("sheet.numfmt.general");if(q.isDefaultFormat(b)){h.next(T);return}if(b){const R=W.filter(D=>typeof D=="object"&&D.pattern).find(D=>m.isPatternEqualWithoutDecimal(b,D.pattern));R&&typeof R=="object"&&R.pattern?T=n.t(R.label):T=n.t("sheet.numfmt.moreFmt")}h.next(T)}})));return{label:le,id:$.id,tooltip:"sheet.numfmt.title",type:_.MenuItemType.SELECTOR,slot:!0,selections:[{label:{name:ue,hoverable:!1,selectable:!1}}],value$:c,hidden$:_.getMenuHiddenObservable(e,a.UniverInstanceType.UNIVER_SHEET),disabled$:P.getCurrentRangeDisable$(e,{workbookTypes:[p.WorkbookEditablePermission],worksheetTypes:[p.WorksheetSetCellStylePermission,p.WorksheetEditPermission],rangeTypes:[p.RangeProtectionPermissionEditPoint]})}},le="sheet.numfmt.moreNumfmtType",ue="sheet.numfmt.moreNumfmtType.options",Xe=e=>{const{value:t}=e,r=_.useDependency(a.LocaleService),n=t!=null?t:r.t("sheet.numfmt.general");return l.jsx("span",{className:"univer-text-sm",children:n})},Je=()=>{const e=_.useDependency(a.ICommandService),t=_.useDependency(a.LocaleService),r=_.useDependency(_.ILayoutService),n=_.useDependency(m.SheetsNumfmtCellContentController),i=_.useDependency(p.SheetsSelectionsService),s=u=>{const h=i.getCurrentLastSelection();if(!h)return;const v=h.range,d=[];a.Range.foreach(v,(f,g)=>{u?d.push({row:f,col:g,pattern:u,type:m.getPatternType(u)}):d.push({row:f,col:g})}),e.executeCommand(m.SetNumfmtCommand.id,{values:d}),r.focus()},c=u=>{if(u===0)s(null);else if(u===W.length-1)e.executeCommand($.id),r.focus();else{const h=W[u];h.pattern&&s(h.pattern)}},o=1220;return l.jsx("div",{className:"univer-grid univer-gap-1 univer-p-1.5",children:W.map((u,h)=>u==="|"?l.jsx(N.Separator,{},h):l.jsxs("div",{className:"univer-flex univer-h-7 univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm dark:hover:!univer-bg-gray-700 hover:univer-bg-gray-100",onClick:()=>{c(h)},children:[l.jsx("span",{children:t.t(u.label)}),l.jsx("span",{className:"univer-text-xs univer-text-gray-500",children:u.pattern?m.getPatternPreview(u.pattern||"",o,n.local).result.trim():""})]},h))})},Qe={[_.RibbonDataGroup.FORMULAS]:{[m.SetCurrencyCommand.id]:{order:0,menuItemFactory:Ge},[m.AddDecimalCommand.id]:{order:1,menuItemFactory:Ke},[m.SubtractDecimalCommand.id]:{order:2,menuItemFactory:Ze},[m.SetPercentCommand.id]:{order:3,menuItemFactory:Ye},[$.id]:{order:4,menuItemFactory:ze}}};var et=Object.getOwnPropertyDescriptor,tt=(e,t,r,n)=>{for(var i=n>1?void 0:n?et(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},ie=(e,t)=>(r,n)=>t(r,n,e);let B=class extends a.Disposable{constructor(e,t){super(),this._componentManager=e,this._menuManagerService=t,this._initMenu()}_initMenu(){this._menuManagerService.mergeMenu(Qe),[[le,Xe],[ue,Je]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};B=tt([ie(0,a.Inject(_.ComponentManager)),ie(1,_.IMenuManagerService)],B);var nt=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,it=(e,t,r)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,st=(e,t,r,n)=>{for(var i=n>1?void 0:n?rt(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=c(i)||i);return i},J=(e,t)=>(r,n)=>t(r,n,e),me=(e,t,r)=>it(e,typeof t!="symbol"?t+"":t,r);const ct="SHEET_NUMFMT_UI_PLUGIN";exports.UniverSheetsNumfmtUIPlugin=class extends a.Plugin{constructor(t=te,r,n,i){super(),this._config=t,this._injector=r,this._configService=n,this._renderManagerService=i;const{menu:s,...c}=a.merge({},te,this._config);s&&this._configService.setConfig("menu",s,{merge:!0}),this._configService.setConfig("sheets-numfmt-ui.config",c)}onStarting(){a.registerDependencies(this._injector,[[F],[V],[L],[B]])}onRendered(){this._registerRenderModules(),a.touchDependencies(this._injector,[[F],[V],[B]])}_registerRenderModules(){[[Q]].forEach(r=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(a.UniverInstanceType.UNIVER_SHEET,r))})}};me(exports.UniverSheetsNumfmtUIPlugin,"pluginName",ct);me(exports.UniverSheetsNumfmtUIPlugin,"type",a.UniverInstanceType.UNIVER_SHEET);exports.UniverSheetsNumfmtUIPlugin=st([a.DependentOn(P.UniverSheetsUIPlugin,m.UniverSheetsNumfmtPlugin),J(1,a.Inject(a.Injector)),J(2,a.IConfigService),J(3,se.IRenderManagerService)],exports.UniverSheetsNumfmtUIPlugin);
|