@univerjs/sheets-numfmt-ui 0.5.0 → 0.5.1
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 +2 -2
- package/lib/cjs/locale/fr-FR.js +1 -0
- package/lib/es/index.js +410 -404
- package/lib/es/locale/fr-FR.js +41 -0
- package/lib/types/controllers/config.schema.d.ts +1 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/locale/fr-FR.d.ts +3 -0
- package/lib/umd/index.js +2 -2
- package/lib/umd/locale/fr-FR.js +1 -0
- package/package.json +18 -16
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const e = {
|
|
2
|
+
sheet: {
|
|
3
|
+
numfmt: {
|
|
4
|
+
percent: "Pourcentage",
|
|
5
|
+
title: "Format de nombre",
|
|
6
|
+
numfmtType: "Types de format",
|
|
7
|
+
cancel: "Annuler",
|
|
8
|
+
confirm: "Confirmer",
|
|
9
|
+
general: "Général",
|
|
10
|
+
accounting: "Comptabilité",
|
|
11
|
+
text: "Texte",
|
|
12
|
+
number: "Nombre",
|
|
13
|
+
currency: "Devise",
|
|
14
|
+
date: "Date",
|
|
15
|
+
time: "Heure",
|
|
16
|
+
thousandthPercentile: "Séparateur de milliers",
|
|
17
|
+
preview: "Aperçu",
|
|
18
|
+
dateTime: "Date et heure",
|
|
19
|
+
decimalLength: "Nombre de décimales",
|
|
20
|
+
currencyType: "Symbole de devise",
|
|
21
|
+
moreFmt: "Formats",
|
|
22
|
+
financialValue: "Valeur financière",
|
|
23
|
+
roundingCurrency: "Arrondir la devise",
|
|
24
|
+
timeDuration: "Durée",
|
|
25
|
+
currencyDes: "Le format de devise est utilisé pour représenter des valeurs monétaires générales. Le format de comptabilité aligne une colonne de valeurs avec des points décimaux",
|
|
26
|
+
accountingDes: "Le format de nombre de comptabilité aligne une colonne de valeurs avec des symboles de devise et des points décimaux",
|
|
27
|
+
dateType: "Type de date",
|
|
28
|
+
dateDes: "Le format de date présente les valeurs de la série date et heure sous forme de valeurs de date.",
|
|
29
|
+
negType: "Type de nombre négatif",
|
|
30
|
+
generalDes: "Le format général ne contient aucun format de nombre spécifique.",
|
|
31
|
+
thousandthPercentileDes: "Le format de percentile est utilisé pour la représentation des nombres ordinaires. Les formats monétaires et comptables fournissent un format spécialisé pour les calculs de valeurs monétaires.",
|
|
32
|
+
addDecimal: "Augmenter les décimales",
|
|
33
|
+
subtractDecimal: "Diminuer les décimales",
|
|
34
|
+
customFormat: "Format personnalisé",
|
|
35
|
+
customFormatDes: "Générer des formats de nombre personnalisés basés sur des formats existants."
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export {
|
|
40
|
+
e as default
|
|
41
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MenuConfig } from '@univerjs/ui';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY = "sheets-numfmt.config";
|
|
3
3
|
export declare const configSymbol: unique symbol;
|
|
4
4
|
export interface IUniverSheetsNumfmtUIConfig {
|
|
5
5
|
menu?: MenuConfig;
|
package/lib/types/index.d.ts
CHANGED
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,
|
|
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={};/**
|
|
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 ve=h,he=Symbol.for("react.element"),Se=Symbol.for("react.fragment"),ye=Object.prototype.hasOwnProperty,ge=ve.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,_e={key:!0,ref:!0,__self:!0,__source:!0};function te(t,e,r){var n,i={},a=null,o=null;r!==void 0&&(a=""+r),e.key!==void 0&&(a=""+e.key),e.ref!==void 0&&(o=e.ref);for(n in e)ye.call(e,n)&&!_e.hasOwnProperty(n)&&(i[n]=e[n]);if(t&&t.defaultProps)for(n in e=t.defaultProps,e)i[n]===void 0&&(i[n]=e[n]);return{$$typeof:he,type:t,key:a,ref:o,props:i,_owner:ge.current}}B.Fragment=Se,B.jsx=te,B.jsxs=te,ee.exports=B;var l=ee.exports,be=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,Ie=(t,e,r,n)=>{for(var i=n>1?void 0:n?Ce(e,r):e,a=t.length-1,o;a>=0;a--)(o=t[a])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&be(e,r,i),i},Pe=(t,e)=>(r,n)=>e(r,n,t);const X=h.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 i=n.findIndex(a=>a===e);i>-1&&n.splice(i,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 i=n.map((a,o,c)=>{const m=c.length;return{value:a,priority:m-o}});return e.sort((a,o)=>{var S,y;const c=((S=i.find(d=>d.value===a))==null?void 0:S.priority)||-1;return(((y=i.find(d=>d.value===o))==null?void 0:y.priority)||-1)-c})}return n||[]}deleteHabit(t){this._localStorageService.removeItem(t)}};L=Ie([Pe(0,s.Inject(s.ILocalStorageService))],L);const ne="numfmtCurrency",Te=t=>{const e=s.useDependency(L),[r,n]=h.useState(u.currencySymbols);return h.useEffect(()=>{e.addHabit("numfmtCurrency",[]).then(()=>{e.getHabit(ne,[...u.currencySymbols]).then(a=>{n(a),t&&t(a)})})},[]),{userHabitCurrency:r,mark:a=>{e.markHabit(ne,a)}}},Ee=()=>{const t=h.useRef([]),[e,r]=h.useState({});return h.useEffect(()=>{t.current.forEach(i=>{i()}),t.current=[]},[e]),i=>{t.current.push(i),r({})}},je=t=>!!u.getCurrencyType(t)&&t.startsWith("_("),Me=t=>{const{defaultPattern:e,action:r,onChange:n}=t,[i,a]=h.useState(()=>u.getDecimalFromPattern(e||"",2)),o=h.useContext(X),[c,m]=h.useState(()=>u.getCurrencyType(e)||o[0]),S=h.useMemo(()=>o.map(_=>({label:_,value:_})),[]),d=s.useDependency(s.LocaleService).t;r.current=()=>u.setPatternDecimal(`_("${c}"* #,##0${i>0?".0":""}_)`,i);const p=_=>{m(_),n(u.setPatternDecimal(`_("${_}"* #,##0${i>0?".0":""}_)`,i))},g=_=>{const f=_||0;a(f),n(u.setPatternDecimal(`_("${c}"* #,##0${f>0?".0":""}_)`,f))};return l.jsxs("div",{children:[l.jsxs("div",{className:"m-t-16 options ",children:[l.jsxs("div",{className:"option",children:[l.jsx("div",{className:"label",children:d("sheet.numfmt.decimalLength")}),l.jsx("div",{className:"m-t-8 w-120",children:l.jsx(M.InputNumber,{value:i,max:20,min:0,onChange:g})})]}),l.jsxs("div",{className:"option",children:[l.jsx("div",{className:"label",children:d("sheet.numfmt.currencyType")}),l.jsx("div",{className:"m-t-8 w-140",children:l.jsx(M.Select,{onChange:p,options:S,value:c})})]})]}),l.jsx("div",{className:"describe m-t-14",children:d("sheet.numfmt.accountingDes")})]})},De=t=>!!u.getCurrencyType(t)&&!t.startsWith("_("),xe=t=>{const r=s.useDependency(s.LocaleService).t,n=h.useContext(X),[i,a]=h.useState(()=>u.getCurrencyType(t.defaultPattern)||n[0]),[o,c]=h.useState(()=>u.getDecimalFromPattern(t.defaultPattern||"",2)),[m,S]=h.useState(()=>{var C;const f=u.getCurrencyFormatOptions(i);return((C=f.find(E=>u.isPatternEqualWithoutDecimal(E.value,t.defaultPattern)))==null?void 0:C.value)||f[0].value}),y=h.useMemo(()=>u.getCurrencyFormatOptions(i),[i]),d=h.useMemo(()=>n.map(f=>({label:f,value:f})),[n]);t.action.current=()=>u.setPatternDecimal(m,o);const p=f=>{if(f===void 0)return;a(f);const T=u.getCurrencyFormatOptions(f)[0].value;S(T),t.onChange(u.setPatternDecimal(T,o))},g=f=>{f!==void 0&&(S(f),t.onChange(u.setPatternDecimal(f,o)))},_=f=>{c(f||0),t.onChange(u.setPatternDecimal(m,f||0))};return l.jsxs("div",{children:[l.jsxs("div",{className:"m-t-16 options ",children:[l.jsxs("div",{className:"option",children:[l.jsx("div",{className:"label",children:r("sheet.numfmt.decimalLength")}),l.jsx("div",{className:"m-t-8 w-120",children:l.jsx(M.InputNumber,{value:o,max:20,min:0,onChange:_})})]}),l.jsxs("div",{className:"option",children:[l.jsx("div",{className:"label",children:r("sheet.numfmt.currencyType")}),l.jsx("div",{className:"m-t-8 w-140",children:l.jsx(M.Select,{onChange:p,options:d,value:i})})]})]}),l.jsx("div",{className:"m-t-16 label",children:r("sheet.numfmt.negType")}),l.jsx("div",{className:"m-t-8",children:l.jsx(M.SelectList,{onChange:g,options:y,value:m})}),l.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.currencyDes")})]})};var D=function(){return D=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},D.apply(this,arguments)},Oe=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 i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},re=h.forwardRef(function(t,e){var r=t.icon,n=t.id,i=t.className,a=t.extend,o=Oe(t,["icon","id","className","extend"]),c="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),m=h.useRef("_".concat(we()));return ie(r,"".concat(n),{defIds:r.defIds,idSuffix:m.current},D({ref:e,className:c},o),a)});function ie(t,e,r,n,i){return h.createElement(t.tag,D(D({key:e},Re(t,r,i)),n),(Ue(t,r).children||[]).map(function(a,o){return ie(a,"".concat(e,"-").concat(t.tag,"-").concat(o),r,void 0,i)}))}function Re(t,e,r){var n=D({},t.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1);var i=e.defIds;return!i||i.length===0||(t.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+e.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(e.idSuffix,")")))})),n}function Ue(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)?D(D({},t),{children:t.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?D(D({},i),{attrs:D(D({},i.attrs),{id:i.attrs.id+e.idSuffix})}):i})}):t}function we(){return Math.random().toString(36).substring(2,8)}re.displayName="UniverIcon";var Ne={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"}}]},se=h.forwardRef(function(t,e){return h.createElement(re,Object.assign({},t,{id:"check-mark-single",ref:e,icon:Ne}))});se.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"},J="customFormat",Z="numfmt_custom_pattern";function Fe(t){const{defaultPattern:e,action:r,onChange:n}=t,i=s.useDependency(L),a=s.useDependency(s.ILocalStorageService),o=s.useDependency(s.LocaleService),[c,m]=h.useState(e);r.current=()=>(i.markHabit(J,c),a.getItem(Z).then((g=[])=>{const _=[...new Set([c,...g||[]])].splice(0,10).filter(f=>!!f);a.setItem(Z,_)}),c);const[S,y]=h.useState([]);h.useEffect(()=>{a.getItem(Z).then(g=>{const _=[...u.CURRENCYFORMAT.map(f=>f.suffix("$")),...u.DATEFMTLISG.map(f=>f.suffix),...u.NUMBERFORMAT.map(f=>f.suffix)];_.push(...g||[]),i.addHabit(J,[]).finally(()=>{i.getHabit(J,_).then(f=>{y([...new Set(f)])})})})},[]);const d=g=>{m(g),n(g)},p=()=>{n(c)};return l.jsxs("div",{className:U.customFormat,children:[l.jsx("div",{className:U.customFormatTitle,children:o.t("sheet.numfmt.customFormat")}),l.jsx(M.Input,{placeholder:o.t("sheet.numfmt.customFormat"),onBlur:p,value:c,onChange:m,className:U.customFormatInput}),l.jsx("div",{className:U.customFormatHistoryList,children:S.map(g=>l.jsxs("div",{onClick:()=>d(g),className:U.customFormatHistoryListItem,children:[l.jsx("div",{className:U.customFormatHistoryListItemIconWrap,children:c===g&&l.jsx(se,{})}),l.jsx("div",{children:g})]},g))}),l.jsx("div",{className:U.customFormatDes,children:o.t("sheet.numfmt.customFormatDes")})]})}const Le=t=>{const e=s.numfmt.getInfo(t);return u.getDateFormatOptions().map(r=>r.value).includes(t)||["date","datetime","time"].includes(e.type)},ke=t=>{const e=h.useMemo(u.getDateFormatOptions,[]),n=s.useDependency(s.LocaleService).t,[i,a]=h.useState(()=>{if(t.defaultPattern){const c=e.find(m=>m.value===t.defaultPattern);if(c)return c.value}return e[0].value});t.action.current=()=>i;const o=c=>{c!==void 0&&(a(c),t.onChange(c))};return l.jsxs("div",{children:[l.jsx("div",{className:"m-t-16 label",children:n("sheet.numfmt.dateType")}),l.jsx("div",{className:"m-t-8",children:l.jsx(M.SelectList,{value:i,options:e,onChange:o})}),l.jsx("div",{className:"describe m-t-14",children:n("sheet.numfmt.dateDes")})]})},He=t=>!t,We=t=>{const r=s.useDependency(s.LocaleService).t;return t.action.current=()=>"",l.jsx("div",{children:l.jsx("div",{className:"describe m-t-14",children:r("sheet.numfmt.generalDes")})})},Ae=t=>u.getNumberFormatOptions().some(e=>u.isPatternEqualWithoutDecimal(e.value,t)),Be=t=>{const e=s.useDependency(s.LocaleService),r=h.useMemo(u.getNumberFormatOptions,[]),[n,i]=h.useState(()=>u.getDecimalFromPattern(t.defaultPattern||"",0)),[a,o]=h.useState(()=>{const d=r.find(p=>u.isPatternEqualWithoutDecimal(p.value,t.defaultPattern||""));return(d==null?void 0:d.value)||r[0].value}),c=h.useMemo(()=>u.setPatternDecimal(a,Number(n||0)),[a,n]),m=h.useMemo(()=>!u.isPatternHasDecimal(a),[a]),S=d=>{i(d||0),t.onChange(u.setPatternDecimal(a,Number(d||0)))},y=d=>{d!==void 0&&(i(u.getDecimalFromPattern(d,0)),o(d),t.onChange(d))};return t.action.current=()=>c,l.jsxs("div",{children:[l.jsx("div",{className:"m-t-16 label",children:e.t("sheet.numfmt.decimalLength")}),l.jsx("div",{className:"m-t-8",children:l.jsx(M.InputNumber,{disabled:m,value:n,max:20,min:0,onChange:S})}),l.jsxs("div",{className:"m-t-16 label",children:[" ",e.t("sheet.numfmt.negType")]}),l.jsx("div",{className:"m-t-8",children:l.jsx(M.SelectList,{onChange:y,options:r,value:a})}),l.jsx("div",{className:"describe m-t-14",children:e.t("sheet.numfmt.thousandthPercentileDes")})]})},Ve=t=>{const{defaultValue:e,defaultPattern:r,row:n,col:i}=t.value,a=s.useDependency(s.LocaleService),o=h.useRef(()=>""),c=a.t,m=Ee(),S=h.useMemo(()=>[{label:"sheet.numfmt.general",component:We},{label:"sheet.numfmt.accounting",component:Me},{label:"sheet.numfmt.currency",component:xe},{label:"sheet.numfmt.date",component:ke},{label:"sheet.numfmt.thousandthPercentile",component:Be},{label:"sheet.numfmt.customFormat",component:Fe}].map(I=>({...I,label:c(I.label)})),[]),[y,d]=h.useState(C),[p,g]=h.useState(()=>`${n}_${i}`),{mark:_,userHabitCurrency:f}=Te(()=>g(`${n}_${i}_userCurrency'`)),T=h.useMemo(()=>{var I;return(I=S.find(N=>N.label===y))==null?void 0:I.component},[y]);function C(){return[He,je,De,Le,Ae].reduce((N,ft,vt)=>N||(ft(r)?S[vt].label:""),"")||S[0].label}const E=S.map(I=>({label:I.label,value:I.label})),j=I=>{d(I),m(()=>t.onChange({type:"change",value:o.current()||""}))},w=I=>{t.onChange({type:"change",value:I})},Q=()=>{const I=o.current()||"",N=u.getCurrencyType(I);N&&_(N),t.onChange({type:"confirm",value:I})},W=()=>{t.onChange({type:"cancel",value:""})},$={onChange:w,defaultValue:e,defaultPattern:r,action:o};return h.useEffect(()=>{d(C()),g(`${n}_${i}`)},[n,i]),l.jsxs("div",{className:"numfmt-panel p-b-20",children:[l.jsxs("div",{children:[l.jsx("div",{className:"label m-t-14",children:c("sheet.numfmt.numfmtType")}),l.jsx("div",{className:"m-t-8",children:l.jsx(M.Select,{onChange:j,options:E,value:y,style:{width:"100%"}})}),l.jsx("div",{children:T&&l.jsx(X.Provider,{value:f,children:h.createElement(T,{...$,key:p})})})]}),l.jsxs("div",{className:"btn-list m-t-14 m-b-20",children:[l.jsx(M.Button,{size:"small",onClick:W,className:"m-r-12",children:c("sheet.numfmt.cancel")}),l.jsx(M.Button,{type:"primary",size:"small",onClick:Q,children:c("sheet.numfmt.confirm")})]})]})};var Ge=Object.defineProperty,Ke=Object.getOwnPropertyDescriptor,Ye=(t,e,r,n)=>{for(var i=n>1?void 0:n?Ke(e,r):e,a=t.length-1,o;a>=0;a--)(o=t[a])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&Ge(e,r,i),i},x=(t,e)=>(r,n)=>e(r,n,t);const ae="SHEET_NUMFMT_PANEL";let k=class extends s.Disposable{constructor(e,r,n,i,a,o,c,m,S,y){super();Y(this,"_previewPattern","");Y(this,"_sidebarDisposable",null);this._sheetInterceptorService=e,this._themeService=r,this._univerInstanceService=n,this._commandService=i,this._selectionManagerService=a,this._renderManagerService=o,this._numfmtService=c,this._componentManager=m,this._sidebarService=S,this._localeService=y,this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener()}openPanel(){var T;const e=this._sidebarService,r=this._selectionManagerService,n=this._commandService,i=this._univerInstanceService,a=this._numfmtService,o=this._localeService,m=(((T=r.getCurrentSelections())==null?void 0:T.map(C=>C.range))||[])[0];if(!m)return!1;const S=i.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET),y=S.getActiveSheet();if(!y)return!1;const d=y.getCellRaw(m.startRow,m.startColumn),p=a.getValue(S.getUnitId(),y.getSheetId(),m.startRow,m.startColumn);let g="";p&&(g=p.pattern);const _=(d==null?void 0:d.t)===s.CellValueType.NUMBER?d.v:12345678,f={onChange:C=>{var E;if(C.type==="change")this._previewPattern=C.value,this._forceUpdate();else if(C.type==="confirm"){const j=((E=r.getCurrentSelections())==null?void 0:E.map(W=>W.range))||[],w={values:[]},Q=u.getPatternType(C.value);j.forEach(W=>{s.Range.foreach(W,($,I)=>{w.values.push({row:$,col:I,pattern:C.value,type:Q})})}),n.executeCommand(u.SetNumfmtCommand.id,w),e.close()}else C.type==="cancel"&&e.close()},value:{defaultPattern:g,defaultValue:_,row:m.startRow,col:m.startColumn}};return this._sidebarDisposable=e.open({header:{title:o.t("sheet.numfmt.title")},children:{label:ae,...f},onClose:()=>{this._forceUpdate(),n.executeCommand(z.id)}}),!0}_forceUpdate(e){var n;const r=this._renderManagerService.getRenderById(e!=null?e:this._univerInstanceService.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET).getUnitId());r==null||r.with(O.SheetSkeletonManagerService).reCalculate(),(n=r==null?void 0:r.mainComponent)==null||n.makeDirty()}_initCommands(){[F,z].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initPanel(){this._componentManager.register(ae,Ve)}_initRealTimeRenderingInterceptor(){const e=new R.Observable(n=>{this._commandService.onCommandExecuted(i=>{i.id===F.id&&n.next(!0),i.id===z.id&&n.next(!1)})}),r=R.combineLatest([e,this._selectionManagerService.selectionMoveEnd$.pipe(A.map(n=>n?n.map(i=>i.range):[]))]);this.disposeWithMe(s.toDisposable(r.pipe(A.switchMap(([n,i])=>new R.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(v.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,effect:s.InterceptorEffectEnum.Value|s.InterceptorEffectEnum.Style,handler:(m,S,y)=>{const{row:d,col:p}=S,g=y(m)||{};if(i.find(_=>_.startColumn<=p&&_.endColumn>=p&&_.startRow<=d&&_.endRow>=d)){const _=S.worksheet.getCellRaw(d,p),f=_==null?void 0:_.v,T=_==null?void 0:_.t;if(f==null||T!==s.CellValueType.NUMBER||this._previewPattern===null)return g;const C=u.getPatternPreviewIgnoreGeneral(this._previewPattern,f,this._localeService.getCurrentLocale());if(C.color){const j=this._themeService.getCurrentTheme()[`${C.color}500`];return{...g,v:C.result,t:s.CellValueType.STRING,s:{cl:{rgb:j}}}}return{...g,v:C.result,t:s.CellValueType.STRING}}return g}})),(c=(o=this._renderManagerService.getRenderById(a.getUnitId()))==null?void 0:o.mainComponent)==null||c.makeDirty()})))}_commandExecutedListener(){const e=[v.RemoveNumfmtMutation.id,v.SetNumfmtMutation.id];this.disposeWithMe(new R.Observable(r=>{const n=this._commandService.onCommandExecuted(i=>{if(e.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(e=>{var r;e||((r=this._sidebarDisposable)==null||r.dispose(),this._sidebarDisposable=null)})}};k=Ye([x(0,s.Inject(v.SheetInterceptorService)),x(1,s.Inject(s.ThemeService)),x(2,s.IUniverInstanceService),x(3,s.ICommandService),x(4,s.Inject(v.SheetsSelectionsService)),x(5,pe.IRenderManagerService),x(6,v.INumfmtService),x(7,s.Inject(P.ComponentManager)),x(8,P.ISidebarService),x(9,s.Inject(s.LocaleService))],k);var ze=Object.defineProperty,Xe=Object.getOwnPropertyDescriptor,Je=(t,e,r,n)=>{for(var i=n>1?void 0:n?Xe(e,r):e,a=t.length-1,o;a>=0;a--)(o=t[a])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&ze(e,r,i),i},H=(t,e)=>(r,n)=>e(r,n,t);const Ze=()=>{let t=[];return{add:(i,a,o,c,m)=>t.push({unitId:i,subUnitId:a,row:o,col:c,value:m}),getEffects:()=>t,clean:()=>{t=[]}}};let V=class extends s.Disposable{constructor(e,r,n,i,a){super();Y(this,"_collectEffectMutation",Ze());this._sheetInterceptorService=e,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(v.BEFORE_CELL_EDIT,{handler:(e,r,n)=>{const i=r.row,a=r.col,o=this._numfmtService.getValue(r.unitId,r.subUnitId,i,a);if(o)switch(u.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(e)}return n(e)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(s.toDisposable(this._sheetInterceptorService.writeCellInterceptor.intercept(v.AFTER_CELL_EDIT,{handler:(e,r,n)=>{var g,_,f,T,C;this._collectEffectMutation.clean();const{worksheet:i,row:a,col:o}=r,c=this._numfmtService.getValue(r.unitId,r.subUnitId,r.row,r.col),m=(g=c&&u.getPatternType(c.pattern))!=null?g:"",S=()=>{c&&this._collectEffectMutation.add(r.unitId,r.subUnitId,r.row,r.col,null)};if(!(e!=null&&e.v)&&!(e!=null&&e.p)||(c==null?void 0:c.pattern)===q.DEFAULT_TEXT_FORMAT)return n(e);const y=(_=e.p)==null?void 0:_.body,d=(T=(f=e==null?void 0:e.p)==null?void 0:f.body)!=null&&T.dataStream?e.p.body.dataStream.replace(/\r\n$/,""):String(e.v),p=s.numfmt.parseDate(d)||s.numfmt.parseTime(d)||s.numfmt.parseNumber(d);if(y)if($e(y)){const{dataStream:E}=y,j=E.replace(/\r\n$/,""),w=Number(j);if(Number.isNaN(w)&&!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 E=Number(p.v),j=(C=i.getCellStyleOnly(a,o))==null?void 0:C.s;return{...e,v:E,p:null,s:j,t:s.CellValueType.NUMBER}}else(["date","time","datetime","percent"].includes(m)||!Qe(d))&&S();return n(e)}})))}_initInterceptorCommands(){const e=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(r){var n;switch(r.id){case v.SetRangeValuesCommand.id:{const i=e._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=e._collectEffectMutation.getEffects();if(e._collectEffectMutation.clean(),!c.length)return{redos:[],undos:[]};const m=c.filter(p=>{var g;return!!((g=p.value)!=null&&g.pattern)}).map(p=>({row:p.row,col:p.col,pattern:p.value.pattern})),S=c.filter(p=>{var g;return!((g=p.value)!=null&&g.pattern)}).map(p=>({startRow:p.row,endColumn:p.col,startColumn:p.col,endRow:p.row})),y=[],d=[];if(m.length){const p={id:v.SetNumfmtMutation.id,params:v.transformCellsToRange(a,o,m)};y.push(p),d.push(...v.factorySetNumfmtUndoMutation(e._injector,p.params))}if(S.length){const p={id:v.RemoveNumfmtMutation.id,params:{unitId:a,subUnitId:o,ranges:S}};y.push(p),d.push(...v.factoryRemoveNumfmtUndoMutation(e._injector,p.params))}return{redos:y,undos:d.reverse()}}}return{redos:[],undos:[]}}}))}};V=Je([H(0,s.Inject(v.SheetInterceptorService)),H(1,s.Inject(v.INumfmtService)),H(2,s.Inject(s.IUniverInstanceService)),H(3,s.Inject(s.Injector)),H(4,s.Optional(O.IEditorBridgeService))],V);function Qe(t){return/^-?\d+(\.\d+)?$/.test(t)}function $e(t){const{textRuns:e=[],paragraphs:r=[],customRanges:n,customBlocks:i=[]}=t,a=["va"];return!(e.some(o=>!!(o.ts&&Object.keys(o.ts).some(m=>a.includes(m))))||r.some(o=>o.bullet)||r.length>=2||n!=null&&n.length||i.length>0)}const G=[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:q.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:""}],qe=t=>({icon:new R.Observable(e=>{const r=t.get(u.MenuCurrencyService);function n(a){return{[u.countryCurrencyMap.US]:"DollarSingle",[u.countryCurrencyMap.RU]:"RoubleSingle",[u.countryCurrencyMap.CN]:"RmbSingle",[u.countryCurrencyMap.AT]:"EuroSingle"}[a]||"DollarSingle"}const i=u.countryCurrencyMap[r.getCurrencySymbol()]||"$";return e.next(n(i)),r.currencySymbol$.subscribe(a=>{const o=u.countryCurrencyMap[a]||"$";e.next(n(o))})}),id:u.SetCurrencyCommand.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_SHEET),disabled$:O.getCurrentRangeDisable$(t,{workbookTypes:[v.WorkbookEditablePermission],worksheetTypes:[v.WorksheetEditPermission,v.WorksheetSetCellStylePermission],rangeTypes:[v.RangeProtectionPermissionEditPoint]})}),et=t=>({icon:"AddDigitsSingle",id:u.AddDecimalCommand.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_SHEET),disabled$:O.getCurrentRangeDisable$(t,{workbookTypes:[v.WorkbookEditablePermission],worksheetTypes:[v.WorksheetEditPermission,v.WorksheetSetCellStylePermission],rangeTypes:[v.RangeProtectionPermissionEditPoint]})}),tt=t=>({icon:"ReduceDigitsSingle",id:u.SubtractDecimalCommand.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_SHEET),disabled$:O.getCurrentRangeDisable$(t,{workbookTypes:[v.WorkbookEditablePermission],worksheetTypes:[v.WorksheetEditPermission,v.WorksheetSetCellStylePermission],rangeTypes:[v.RangeProtectionPermissionEditPoint]})}),nt=t=>({icon:"PercentSingle",id:u.SetPercentCommand.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:P.MenuItemType.BUTTON,hidden$:P.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_SHEET),disabled$:O.getCurrentRangeDisable$(t,{workbookTypes:[v.WorkbookEditablePermission],worksheetTypes:[v.WorksheetEditPermission,v.WorksheetSetCellStylePermission],rangeTypes:[v.RangeProtectionPermissionEditPoint]})}),rt=t=>{const e=t.get(s.IUniverInstanceService),r=t.get(s.ICommandService),n=t.get(s.LocaleService),i=t.get(v.SheetsSelectionsService),a=O.deriveStateFromActiveSheet$(e,"",({workbook:o,worksheet:c})=>new R.Observable(m=>R.merge(i.selectionMoveEnd$,new R.Observable(S=>{const y=[v.RemoveNumfmtMutation.id,v.SetNumfmtMutation.id],d=r.onCommandExecuted(p=>{y.includes(p.id)&&S.next(null)});return()=>d.dispose()})).subscribe(()=>{var y,d;const S=i.getCurrentSelections();if(S&&S[0]){const p=S[0].range,g=p.startRow,_=p.startColumn,f=(d=o.getStyles().get((y=c.getCell(g,_))==null?void 0:y.s))==null?void 0:d.n,T=f==null?void 0:f.pattern;let C=n.t("sheet.numfmt.general");if(T){const E=G.filter(j=>typeof j=="object"&&j.pattern).find(j=>u.isPatternEqualWithoutDecimal(T,j.pattern));E&&typeof E=="object"&&E.pattern?C=n.t(E.label):C=n.t("sheet.numfmt.moreFmt")}m.next(C)}})));return{label:oe,id:F.id,tooltip:"sheet.numfmt.title",type:P.MenuItemType.SELECTOR,selections:[{label:{name:ce,hoverable:!1}}],value$:a,hidden$:P.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_SHEET),disabled$:O.getCurrentRangeDisable$(t,{workbookTypes:[v.WorkbookEditablePermission],worksheetTypes:[v.WorksheetSetCellStylePermission,v.WorksheetEditPermission],rangeTypes:[v.RangeProtectionPermissionEditPoint]})}},oe="sheet.numfmt.moreNumfmtType",ce="sheet.numfmt.moreNumfmtType.options",it=t=>{var n;const e=s.useDependency(s.LocaleService),r=(n=t.value)!=null?n:e.t("sheet.numfmt.general");return l.jsx("span",{className:"more-numfmt-type",children:r})},st=()=>{const t=s.useDependency(s.ICommandService),e=s.useDependency(s.LocaleService),r=s.useDependency(P.ILayoutService);s.useInjector();const n=s.useDependency(v.SheetsSelectionsService),i=c=>{const m=n.getCurrentLastSelection();if(!m)return;const S=m.range,y=[];s.Range.foreach(S,(d,p)=>{c?y.push({row:d,col:p,pattern:c,type:u.getPatternType(c)}):y.push({row:d,col:p})}),t.executeCommand(u.SetNumfmtCommand.id,{values:y}),r.focus()},a=c=>{if(c===0)i(null);else if(c===G.length-1)t.executeCommand(F.id);else{const m=G[c];m.pattern&&i(m.pattern)}},o=1220;return l.jsx("div",{className:"more-numfmt-type-options",children:G.map((c,m)=>c==="|"?l.jsx("div",{className:"line m-t-4",onClick:S=>S.stopPropagation()},m):l.jsxs("div",{className:"option-item m-t-4",onClick:()=>{a(m)},children:[l.jsx("div",{children:e.t(c.label)}),l.jsx("div",{className:"m-l-26",children:c.pattern?u.getPatternPreview(c.pattern||"",o,e.getCurrentLocale()).result:""})]},m))})},at={[P.RibbonStartGroup.FORMULAS_INSERT]:{[u.SetCurrencyCommand.id]:{order:4,menuItemFactory:qe},[u.AddDecimalCommand.id]:{order:5,menuItemFactory:et},[u.SubtractDecimalCommand.id]:{order:6,menuItemFactory:tt},[u.SetPercentCommand.id]:{order:7,menuItemFactory:nt},[F.id]:{order:8,menuItemFactory:rt}}};var ot=Object.defineProperty,ct=Object.getOwnPropertyDescriptor,lt=(t,e,r,n)=>{for(var i=n>1?void 0:n?ct(e,r):e,a=t.length-1,o;a>=0;a--)(o=t[a])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&ot(e,r,i),i},le=(t,e)=>(r,n)=>e(r,n,t);let K=class extends s.Disposable{constructor(t,e){super(),this._componentManager=t,this._menuManagerService=e,this._initMenu()}_initMenu(){this._menuManagerService.mergeMenu(at),this.disposeWithMe(this._componentManager.register(oe,it)),this.disposeWithMe(this._componentManager.register(ce,st))}};K=lt([le(0,s.Inject(P.ComponentManager)),le(1,P.IMenuManagerService)],K);var ue=Object.defineProperty,ut=Object.getOwnPropertyDescriptor,mt=(t,e,r)=>e in t?ue(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dt=(t,e,r,n)=>{for(var i=n>1?void 0:n?ut(e,r):e,a=t.length-1,o;a>=0;a--)(o=t[a])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&ue(e,r,i),i},me=(t,e)=>(r,n)=>e(r,n,t),de=(t,e,r)=>mt(t,typeof e!="symbol"?e+"":e,r);const pt="SHEET_NUMFMT_UI_PLUGIN";b.UniverSheetsNumfmtUIPlugin=class extends s.Plugin{constructor(e=fe,r,n){super(),this._config=e,this._injector=r,this._configService=n;const{menu:i,...a}=this._config;i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(P.PLUGIN_CONFIG_KEY,a)}onStarting(){s.registerDependencies(this._injector,[[k],[V],[L],[K]])}onRendered(){s.touchDependencies(this._injector,[[k],[V],[K]])}},de(b.UniverSheetsNumfmtUIPlugin,"pluginName",pt),de(b.UniverSheetsNumfmtUIPlugin,"type",s.UniverInstanceType.UNIVER_SHEET),b.UniverSheetsNumfmtUIPlugin=dt([s.DependentOn(O.UniverSheetsUIPlugin,u.UniverSheetsNumfmtPlugin),me(1,s.Inject(s.Injector)),me(2,s.IConfigService)],b.UniverSheetsNumfmtUIPlugin),Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
|
|
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"})});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self,e.UniverSheetsNumfmtUiFrFR=t())})(this,function(){"use strict";return{sheet:{numfmt:{percent:"Pourcentage",title:"Format de nombre",numfmtType:"Types de format",cancel:"Annuler",confirm:"Confirmer",general:"Général",accounting:"Comptabilité",text:"Texte",number:"Nombre",currency:"Devise",date:"Date",time:"Heure",thousandthPercentile:"Séparateur de milliers",preview:"Aperçu",dateTime:"Date et heure",decimalLength:"Nombre de décimales",currencyType:"Symbole de devise",moreFmt:"Formats",financialValue:"Valeur financière",roundingCurrency:"Arrondir la devise",timeDuration:"Durée",currencyDes:"Le format de devise est utilisé pour représenter des valeurs monétaires générales. Le format de comptabilité aligne une colonne de valeurs avec des points décimaux",accountingDes:"Le format de nombre de comptabilité aligne une colonne de valeurs avec des symboles de devise et des points décimaux",dateType:"Type de date",dateDes:"Le format de date présente les valeurs de la série date et heure sous forme de valeurs de date.",negType:"Type de nombre négatif",generalDes:"Le format général ne contient aucun format de nombre spécifique.",thousandthPercentileDes:"Le format de percentile est utilisé pour la représentation des nombres ordinaires. Les formats monétaires et comptables fournissent un format spécialisé pour les calculs de valeurs monétaires.",addDecimal:"Augmenter les décimales",subtractDecimal:"Diminuer les décimales",customFormat:"Format personnalisé",customFormatDes:"Générer des formats de nombre personnalisés basés sur des formats existants."}}}});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/sheets-numfmt-ui",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "UniverSheet numfmt plugin",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -54,25 +54,27 @@
|
|
|
54
54
|
"rxjs": ">=7.0.0"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@univerjs/icons": "^0.2.
|
|
58
|
-
"@univerjs/core": "0.5.
|
|
59
|
-
"@univerjs/
|
|
60
|
-
"@univerjs/engine-render": "0.5.
|
|
61
|
-
"@univerjs/
|
|
62
|
-
"@univerjs/sheets
|
|
63
|
-
"@univerjs/sheets": "0.5.
|
|
64
|
-
"@univerjs/ui": "0.5.
|
|
65
|
-
"@univerjs/
|
|
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"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"less": "^4.2.
|
|
68
|
+
"less": "^4.2.1",
|
|
69
|
+
"postcss": "^8.4.49",
|
|
69
70
|
"react": "18.3.1",
|
|
70
71
|
"rxjs": "^7.8.1",
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"@univerjs/
|
|
72
|
+
"tailwindcss": "^3.4.15",
|
|
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"
|
|
76
78
|
},
|
|
77
79
|
"space": {
|
|
78
80
|
".": {
|