@univerjs/sheets-numfmt 1.0.0-alpha.6 → 1.0.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -67,14 +67,34 @@ function getCurrencySymbolIconByLocale(locale) {
67
67
  symbol: localeCurrencySymbolMap.get(locale) || "¥",
68
68
  locale
69
69
  };
70
+ case _univerjs_core.LocaleType.VI_VN: return {
71
+ icon: "DongIcon",
72
+ symbol: localeCurrencySymbolMap.get(locale) || "₫",
73
+ locale
74
+ };
70
75
  case _univerjs_core.LocaleType.AR_SA:
76
+ case _univerjs_core.LocaleType.FA_IR: return {
77
+ icon: "RialIcon",
78
+ symbol: localeCurrencySymbolMap.get(locale) || "﷼",
79
+ locale
80
+ };
81
+ case _univerjs_core.LocaleType.KO_KR: return {
82
+ icon: "WonIcon",
83
+ symbol: localeCurrencySymbolMap.get(locale) || "₩",
84
+ locale
85
+ };
86
+ case _univerjs_core.LocaleType.ID_ID: return {
87
+ icon: "RupiahIcon",
88
+ symbol: localeCurrencySymbolMap.get(locale) || "Rp",
89
+ locale
90
+ };
91
+ case _univerjs_core.LocaleType.PL_PL: return {
92
+ icon: "ZlotyIcon",
93
+ symbol: localeCurrencySymbolMap.get(locale) || "zł",
94
+ locale
95
+ };
71
96
  case _univerjs_core.LocaleType.EN_US:
72
- case _univerjs_core.LocaleType.FA_IR:
73
- case _univerjs_core.LocaleType.ID_ID:
74
- case _univerjs_core.LocaleType.KO_KR:
75
- case _univerjs_core.LocaleType.PL_PL:
76
97
  case _univerjs_core.LocaleType.PT_BR:
77
- case _univerjs_core.LocaleType.VI_VN:
78
98
  case _univerjs_core.LocaleType.ZH_HK:
79
99
  case _univerjs_core.LocaleType.ZH_TW:
80
100
  default: return {
@@ -486,11 +506,11 @@ const SetCurrencyCommand = {
486
506
  handler: async (accessor) => {
487
507
  const commandService = accessor.get(_univerjs_core.ICommandService);
488
508
  const selectionManagerService = accessor.get(_univerjs_sheets.SheetsSelectionsService);
489
- const localeService = accessor.get(_univerjs_core.LocaleService);
509
+ const regionService = accessor.get(_univerjs_core.RegionService);
490
510
  const selections = selectionManagerService.getCurrentSelections();
491
511
  if (!selections || !selections.length) return false;
492
512
  const values = [];
493
- const currencyFormat = getCurrencyFormat(getCurrencySymbolIconByLocale(localeService.getCurrentLocale()).locale);
513
+ const currencyFormat = getCurrencyFormat(getCurrencySymbolIconByLocale(regionService.getCurrentRegion()).locale);
494
514
  selections.forEach((selection) => {
495
515
  _univerjs_core.Range.foreach(selection.range, (row, col) => {
496
516
  values.push({
@@ -618,7 +638,7 @@ const configSymbol = Symbol(SHEETS_NUMFMT_PLUGIN_CONFIG_KEY);
618
638
  const defaultPluginConfig = {};
619
639
 
620
640
  //#endregion
621
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
641
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
622
642
  function _typeof(o) {
623
643
  "@babel/helpers - typeof";
624
644
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -629,7 +649,7 @@ function _typeof(o) {
629
649
  }
630
650
 
631
651
  //#endregion
632
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
652
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
633
653
  function toPrimitive(t, r) {
634
654
  if ("object" != _typeof(t) || !t) return t;
635
655
  var e = t[Symbol.toPrimitive];
@@ -642,14 +662,14 @@ function toPrimitive(t, r) {
642
662
  }
643
663
 
644
664
  //#endregion
645
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
665
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
646
666
  function toPropertyKey(t) {
647
667
  var i = toPrimitive(t, "string");
648
668
  return "symbol" == _typeof(i) ? i : i + "";
649
669
  }
650
670
 
651
671
  //#endregion
652
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
672
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
653
673
  function _defineProperty(e, r, t) {
654
674
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
655
675
  value: t,
@@ -660,7 +680,7 @@ function _defineProperty(e, r, t) {
660
680
  }
661
681
 
662
682
  //#endregion
663
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
683
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
664
684
  function __decorateParam(paramIndex, decorator) {
665
685
  return function(target, key) {
666
686
  decorator(target, key, paramIndex);
@@ -668,7 +688,7 @@ function __decorateParam(paramIndex, decorator) {
668
688
  }
669
689
 
670
690
  //#endregion
671
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
691
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
672
692
  function __decorate(decorators, target, key, desc) {
673
693
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
674
694
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -824,7 +844,7 @@ SheetsNumfmtCellContentController = __decorate([
824
844
  //#endregion
825
845
  //#region package.json
826
846
  var name = "@univerjs/sheets-numfmt";
827
- var version = "1.0.0-alpha.6";
847
+ var version = "1.0.0-alpha.8";
828
848
 
829
849
  //#endregion
830
850
  //#region src/base/const/plugin-name.ts
package/lib/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { CellValueType, CommandType, DEFAULT_NUMBER_FORMAT, DependentOn, Disposable, ICommandService, IConfigService, IUndoRedoService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, LocaleService, LocaleType, ObjectMatrix, Plugin, Range, ThemeService, UniverInstanceType, currencySymbols, isDefaultFormat, isTextFormat, merge, numfmt, registerDependencies, sequenceExecute, touchDependencies } from "@univerjs/core";
1
+ import { CellValueType, CommandType, DEFAULT_NUMBER_FORMAT, DependentOn, Disposable, ICommandService, IConfigService, IUndoRedoService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, LocaleService, LocaleType, ObjectMatrix, Plugin, Range, RegionService, ThemeService, UniverInstanceType, currencySymbols, isDefaultFormat, isTextFormat, merge, numfmt, registerDependencies, sequenceExecute, touchDependencies } from "@univerjs/core";
2
2
  import { INTERCEPTOR_POINT, INumfmtService, InterceptCellContentPriority, RemoveNumfmtMutation, SetNumfmtMutation, SetRangeValuesMutation, SheetInterceptorService, SheetsSelectionsService, UniverSheetsPlugin, checkCellValueType, factoryRemoveNumfmtUndoMutation, factorySetNumfmtUndoMutation, getSheetCommandTarget, rangeMerge, transformCellsToRange } from "@univerjs/sheets";
3
3
  import { stripErrorMargin } from "@univerjs/engine-formula";
4
4
  import { BehaviorSubject, merge as merge$1, of, skip, switchMap } from "rxjs";
@@ -66,14 +66,34 @@ function getCurrencySymbolIconByLocale(locale) {
66
66
  symbol: localeCurrencySymbolMap.get(locale) || "¥",
67
67
  locale
68
68
  };
69
+ case LocaleType.VI_VN: return {
70
+ icon: "DongIcon",
71
+ symbol: localeCurrencySymbolMap.get(locale) || "₫",
72
+ locale
73
+ };
69
74
  case LocaleType.AR_SA:
75
+ case LocaleType.FA_IR: return {
76
+ icon: "RialIcon",
77
+ symbol: localeCurrencySymbolMap.get(locale) || "﷼",
78
+ locale
79
+ };
80
+ case LocaleType.KO_KR: return {
81
+ icon: "WonIcon",
82
+ symbol: localeCurrencySymbolMap.get(locale) || "₩",
83
+ locale
84
+ };
85
+ case LocaleType.ID_ID: return {
86
+ icon: "RupiahIcon",
87
+ symbol: localeCurrencySymbolMap.get(locale) || "Rp",
88
+ locale
89
+ };
90
+ case LocaleType.PL_PL: return {
91
+ icon: "ZlotyIcon",
92
+ symbol: localeCurrencySymbolMap.get(locale) || "zł",
93
+ locale
94
+ };
70
95
  case LocaleType.EN_US:
71
- case LocaleType.FA_IR:
72
- case LocaleType.ID_ID:
73
- case LocaleType.KO_KR:
74
- case LocaleType.PL_PL:
75
96
  case LocaleType.PT_BR:
76
- case LocaleType.VI_VN:
77
97
  case LocaleType.ZH_HK:
78
98
  case LocaleType.ZH_TW:
79
99
  default: return {
@@ -485,11 +505,11 @@ const SetCurrencyCommand = {
485
505
  handler: async (accessor) => {
486
506
  const commandService = accessor.get(ICommandService);
487
507
  const selectionManagerService = accessor.get(SheetsSelectionsService);
488
- const localeService = accessor.get(LocaleService);
508
+ const regionService = accessor.get(RegionService);
489
509
  const selections = selectionManagerService.getCurrentSelections();
490
510
  if (!selections || !selections.length) return false;
491
511
  const values = [];
492
- const currencyFormat = getCurrencyFormat(getCurrencySymbolIconByLocale(localeService.getCurrentLocale()).locale);
512
+ const currencyFormat = getCurrencyFormat(getCurrencySymbolIconByLocale(regionService.getCurrentRegion()).locale);
493
513
  selections.forEach((selection) => {
494
514
  Range.foreach(selection.range, (row, col) => {
495
515
  values.push({
@@ -617,7 +637,7 @@ const configSymbol = Symbol(SHEETS_NUMFMT_PLUGIN_CONFIG_KEY);
617
637
  const defaultPluginConfig = {};
618
638
 
619
639
  //#endregion
620
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
640
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
621
641
  function _typeof(o) {
622
642
  "@babel/helpers - typeof";
623
643
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -628,7 +648,7 @@ function _typeof(o) {
628
648
  }
629
649
 
630
650
  //#endregion
631
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
651
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
632
652
  function toPrimitive(t, r) {
633
653
  if ("object" != _typeof(t) || !t) return t;
634
654
  var e = t[Symbol.toPrimitive];
@@ -641,14 +661,14 @@ function toPrimitive(t, r) {
641
661
  }
642
662
 
643
663
  //#endregion
644
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
664
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
645
665
  function toPropertyKey(t) {
646
666
  var i = toPrimitive(t, "string");
647
667
  return "symbol" == _typeof(i) ? i : i + "";
648
668
  }
649
669
 
650
670
  //#endregion
651
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
671
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
652
672
  function _defineProperty(e, r, t) {
653
673
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
654
674
  value: t,
@@ -659,7 +679,7 @@ function _defineProperty(e, r, t) {
659
679
  }
660
680
 
661
681
  //#endregion
662
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
682
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
663
683
  function __decorateParam(paramIndex, decorator) {
664
684
  return function(target, key) {
665
685
  decorator(target, key, paramIndex);
@@ -667,7 +687,7 @@ function __decorateParam(paramIndex, decorator) {
667
687
  }
668
688
 
669
689
  //#endregion
670
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
690
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
671
691
  function __decorate(decorators, target, key, desc) {
672
692
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
673
693
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -823,7 +843,7 @@ SheetsNumfmtCellContentController = __decorate([
823
843
  //#endregion
824
844
  //#region package.json
825
845
  var name = "@univerjs/sheets-numfmt";
826
- var version = "1.0.0-alpha.6";
846
+ var version = "1.0.0-alpha.8";
827
847
 
828
848
  //#endregion
829
849
  //#region src/base/const/plugin-name.ts
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { CellValueType, CommandType, DEFAULT_NUMBER_FORMAT, DependentOn, Disposable, ICommandService, IConfigService, IUndoRedoService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, LocaleService, LocaleType, ObjectMatrix, Plugin, Range, ThemeService, UniverInstanceType, currencySymbols, isDefaultFormat, isTextFormat, merge, numfmt, registerDependencies, sequenceExecute, touchDependencies } from "@univerjs/core";
1
+ import { CellValueType, CommandType, DEFAULT_NUMBER_FORMAT, DependentOn, Disposable, ICommandService, IConfigService, IUndoRedoService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, LocaleService, LocaleType, ObjectMatrix, Plugin, Range, RegionService, ThemeService, UniverInstanceType, currencySymbols, isDefaultFormat, isTextFormat, merge, numfmt, registerDependencies, sequenceExecute, touchDependencies } from "@univerjs/core";
2
2
  import { INTERCEPTOR_POINT, INumfmtService, InterceptCellContentPriority, RemoveNumfmtMutation, SetNumfmtMutation, SetRangeValuesMutation, SheetInterceptorService, SheetsSelectionsService, UniverSheetsPlugin, checkCellValueType, factoryRemoveNumfmtUndoMutation, factorySetNumfmtUndoMutation, getSheetCommandTarget, rangeMerge, transformCellsToRange } from "@univerjs/sheets";
3
3
  import { stripErrorMargin } from "@univerjs/engine-formula";
4
4
  import { BehaviorSubject, merge as merge$1, of, skip, switchMap } from "rxjs";
@@ -66,14 +66,34 @@ function getCurrencySymbolIconByLocale(locale) {
66
66
  symbol: localeCurrencySymbolMap.get(locale) || "¥",
67
67
  locale
68
68
  };
69
+ case LocaleType.VI_VN: return {
70
+ icon: "DongIcon",
71
+ symbol: localeCurrencySymbolMap.get(locale) || "₫",
72
+ locale
73
+ };
69
74
  case LocaleType.AR_SA:
75
+ case LocaleType.FA_IR: return {
76
+ icon: "RialIcon",
77
+ symbol: localeCurrencySymbolMap.get(locale) || "﷼",
78
+ locale
79
+ };
80
+ case LocaleType.KO_KR: return {
81
+ icon: "WonIcon",
82
+ symbol: localeCurrencySymbolMap.get(locale) || "₩",
83
+ locale
84
+ };
85
+ case LocaleType.ID_ID: return {
86
+ icon: "RupiahIcon",
87
+ symbol: localeCurrencySymbolMap.get(locale) || "Rp",
88
+ locale
89
+ };
90
+ case LocaleType.PL_PL: return {
91
+ icon: "ZlotyIcon",
92
+ symbol: localeCurrencySymbolMap.get(locale) || "zł",
93
+ locale
94
+ };
70
95
  case LocaleType.EN_US:
71
- case LocaleType.FA_IR:
72
- case LocaleType.ID_ID:
73
- case LocaleType.KO_KR:
74
- case LocaleType.PL_PL:
75
96
  case LocaleType.PT_BR:
76
- case LocaleType.VI_VN:
77
97
  case LocaleType.ZH_HK:
78
98
  case LocaleType.ZH_TW:
79
99
  default: return {
@@ -485,11 +505,11 @@ const SetCurrencyCommand = {
485
505
  handler: async (accessor) => {
486
506
  const commandService = accessor.get(ICommandService);
487
507
  const selectionManagerService = accessor.get(SheetsSelectionsService);
488
- const localeService = accessor.get(LocaleService);
508
+ const regionService = accessor.get(RegionService);
489
509
  const selections = selectionManagerService.getCurrentSelections();
490
510
  if (!selections || !selections.length) return false;
491
511
  const values = [];
492
- const currencyFormat = getCurrencyFormat(getCurrencySymbolIconByLocale(localeService.getCurrentLocale()).locale);
512
+ const currencyFormat = getCurrencyFormat(getCurrencySymbolIconByLocale(regionService.getCurrentRegion()).locale);
493
513
  selections.forEach((selection) => {
494
514
  Range.foreach(selection.range, (row, col) => {
495
515
  values.push({
@@ -617,7 +637,7 @@ const configSymbol = Symbol(SHEETS_NUMFMT_PLUGIN_CONFIG_KEY);
617
637
  const defaultPluginConfig = {};
618
638
 
619
639
  //#endregion
620
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
640
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
621
641
  function _typeof(o) {
622
642
  "@babel/helpers - typeof";
623
643
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -628,7 +648,7 @@ function _typeof(o) {
628
648
  }
629
649
 
630
650
  //#endregion
631
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
651
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
632
652
  function toPrimitive(t, r) {
633
653
  if ("object" != _typeof(t) || !t) return t;
634
654
  var e = t[Symbol.toPrimitive];
@@ -641,14 +661,14 @@ function toPrimitive(t, r) {
641
661
  }
642
662
 
643
663
  //#endregion
644
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
664
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
645
665
  function toPropertyKey(t) {
646
666
  var i = toPrimitive(t, "string");
647
667
  return "symbol" == _typeof(i) ? i : i + "";
648
668
  }
649
669
 
650
670
  //#endregion
651
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
671
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
652
672
  function _defineProperty(e, r, t) {
653
673
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
654
674
  value: t,
@@ -659,7 +679,7 @@ function _defineProperty(e, r, t) {
659
679
  }
660
680
 
661
681
  //#endregion
662
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
682
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
663
683
  function __decorateParam(paramIndex, decorator) {
664
684
  return function(target, key) {
665
685
  decorator(target, key, paramIndex);
@@ -667,7 +687,7 @@ function __decorateParam(paramIndex, decorator) {
667
687
  }
668
688
 
669
689
  //#endregion
670
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
690
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
671
691
  function __decorate(decorators, target, key, desc) {
672
692
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
673
693
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -823,7 +843,7 @@ SheetsNumfmtCellContentController = __decorate([
823
843
  //#endregion
824
844
  //#region package.json
825
845
  var name = "@univerjs/sheets-numfmt";
826
- var version = "1.0.0-alpha.6";
846
+ var version = "1.0.0-alpha.8";
827
847
 
828
848
  //#endregion
829
849
  //#region src/base/const/plugin-name.ts
@@ -33,7 +33,27 @@ export declare function getCurrencySymbolIconByLocale(locale: LocaleType): {
33
33
  } | {
34
34
  icon: string;
35
35
  symbol: string;
36
- locale: LocaleType.EN_US | LocaleType.ZH_TW | LocaleType.ZH_HK | LocaleType.VI_VN | LocaleType.FA_IR | LocaleType.KO_KR | LocaleType.PT_BR | LocaleType.ID_ID | LocaleType.PL_PL | LocaleType.AR_SA;
36
+ locale: LocaleType.VI_VN;
37
+ } | {
38
+ icon: string;
39
+ symbol: string;
40
+ locale: LocaleType.FA_IR | LocaleType.AR_SA;
41
+ } | {
42
+ icon: string;
43
+ symbol: string;
44
+ locale: LocaleType.KO_KR;
45
+ } | {
46
+ icon: string;
47
+ symbol: string;
48
+ locale: LocaleType.ID_ID;
49
+ } | {
50
+ icon: string;
51
+ symbol: string;
52
+ locale: LocaleType.PL_PL;
53
+ } | {
54
+ icon: string;
55
+ symbol: string;
56
+ locale: LocaleType.EN_US | LocaleType.ZH_TW | LocaleType.ZH_HK | LocaleType.PT_BR;
37
57
  };
38
58
  /**
39
59
  * Get the currency symbol by locale.
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/engine-formula"),require("rxjs")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets`,`@univerjs/engine-formula`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsNumfmt={},e.UniverCore,e.UniverSheets,e.UniverEngineFormula,e.rxjs))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let a=new Map([[t.LocaleType.EN_US,`$`],[t.LocaleType.RU_RU,`₽`],[t.LocaleType.VI_VN,`₫`],[t.LocaleType.ZH_CN,`¥`],[t.LocaleType.ZH_TW,`NT$`],[t.LocaleType.ZH_HK,`HK$`],[t.LocaleType.FR_FR,`€`],[t.LocaleType.FA_IR,`﷼`],[t.LocaleType.KO_KR,`₩`],[t.LocaleType.ES_ES,`€`],[t.LocaleType.CA_ES,`€`],[t.LocaleType.SK_SK,`€`],[t.LocaleType.JA_JP,`¥`],[t.LocaleType.PT_BR,`R$`],[t.LocaleType.DE_DE,`€`],[t.LocaleType.IT_IT,`€`],[t.LocaleType.ID_ID,`Rp`],[t.LocaleType.PL_PL,`zł`],[t.LocaleType.AR_SA,`﷼`]]);function o(e){switch(e){case t.LocaleType.CA_ES:case t.LocaleType.DE_DE:case t.LocaleType.ES_ES:case t.LocaleType.FR_FR:case t.LocaleType.IT_IT:case t.LocaleType.SK_SK:return{icon:`EuroIcon`,symbol:a.get(e)||`€`,locale:e};case t.LocaleType.RU_RU:return{icon:`RoubleIcon`,symbol:a.get(e)||`₽`,locale:e};case t.LocaleType.JA_JP:case t.LocaleType.ZH_CN:return{icon:`RmbIcon`,symbol:a.get(e)||`¥`,locale:e};case t.LocaleType.AR_SA:case t.LocaleType.EN_US:case t.LocaleType.FA_IR:case t.LocaleType.ID_ID:case t.LocaleType.KO_KR:case t.LocaleType.PL_PL:case t.LocaleType.PT_BR:case t.LocaleType.VI_VN:case t.LocaleType.ZH_HK:case t.LocaleType.ZH_TW:default:return{icon:`DollarIcon`,symbol:a.get(e)||`$`,locale:e}}}function s(e){return a.get(e)||`$`}function c(e,t=2){let n=t;t>127&&(n=127);let r=``;return n>0&&(r=`.${`0`.repeat(n)}`),`"${s(e)}"#,##0${r}_);[Red]("${s(e)}"#,##0${r})`}let l=[{label:`1930-08-05`,suffix:`yyyy-MM-dd`},{label:`1930/08/05`,suffix:`yyyy/MM/dd`},{label:`1930年08月05日`,suffix:`yyyy"年"MM"月"dd"日"`},{label:`08-05`,suffix:`MM-dd`},{label:`8月5日`,suffix:`M"月"d"日"`},{label:`13:30:30`,suffix:`h:mm:ss`},{label:`13:30`,suffix:`h:mm`},{label:`下午01:30`,suffix:`A/P hh:mm`},{label:`下午1:30`,suffix:`A/P h:mm`},{label:`下午1:30:30`,suffix:`A/P h:mm:ss`},{label:`08-05 下午 01:30`,suffix:`MM-dd A/P hh:mm`}],u=[{label:`(1,235)`,suffix:`#,##0_);(#,##0)`},{label:`(1,235) `,suffix:`#,##0_);[Red](#,##0)`,color:`red`},{label:`1,234.56`,suffix:`#,##0.00_);#,##0.00`},{label:`1,234.56`,suffix:`#,##0.00_);[Red]#,##0.00`,color:`red`},{label:`-1,234.56`,suffix:`#,##0.00_);-#,##0.00`},{label:`-1,234.56`,suffix:`#,##0.00_);[Red]-#,##0.00`,color:`red`}],d=[{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);"${e}"#,##0.00`},{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]"${e}"#,##0.00`,color:`red`},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);("${e}"#,##0.00)`},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);[Red]("${e}"#,##0.00)`,color:`red`},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);-"${e}"#,##0.00`},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]-"${e}"#,##0.00`,color:`red`}],f=(e,n=0)=>{var r;return e?(r=t.numfmt.getFormatInfo(e).maxDecimals)==null?n:r:n},p=e=>Array(Math.min(Math.max(0,Number(e)),30)).fill(0).join(``),m=(e,t)=>e.split(`;`).map(e=>/\.0?/.test(e)?e.replace(/\.0*/g,`${t>0?`.`:``}${p(Number(t||0))}`):/0([^0]?)|0$/.test(e)?e.replace(/0([^0]+)|0$/,`0${t>0?`.`:``}${p(Number(t||0))}$1`):e).join(`;`),h=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),g=e=>t.numfmt.getFormatInfo(e).type||`unknown`,_=(e,n,r=`en`)=>{try{let i=t.numfmt.formatColor(e,n),a=i?String(i):void 0,o=t.numfmt.format(e,n,{locale:r,throws:!1});return n<0?{result:o,color:a}:{result:o}}catch(t){console.warn(`getPatternPreview error:`,e,t)}return{result:String(n)}},v=(e,n,i)=>e===t.DEFAULT_NUMBER_FORMAT?{result:String((0,r.stripErrorMargin)(n))}:_(e,n,i);function y(e){return(e==null?void 0:e.t)===t.CellValueType.NUMBER&&e.v!==void 0&&e.v!==null&&/e/i.test(String(e.v))}function b(e){let t=String(e==null?void 0:e.v),n=t.search(/e/i),r=t.indexOf(`.`),i=n>-1&&r>-1?n-r-1:0;return`0.${`0`.repeat(Math.max(2,i))}E+00`}function x(e){return(0,t.isDefaultFormat)(e)||(0,t.isTextFormat)(e)||g(e)===`scientific`}let S={id:`sheet.command.numfmt.set.numfmt`,type:t.CommandType.COMMAND,handler:(e,r)=>{if(!r)return!1;let i=e.get(t.ICommandService),a=e.get(t.IUniverInstanceService),o=e.get(t.IUndoRedoService),s=(0,n.getSheetCommandTarget)(a,r);if(!s)return!1;let{unitId:c,subUnitId:l,worksheet:u}=s,d=r.values.filter(e=>!y(u.getCellRaw(e.row,e.col))||x(e.pattern)),f=d.filter(e=>!!e.pattern),p=d.filter(e=>!e.pattern);if(!f.length&&!p.length)return!1;let m=(0,n.transformCellsToRange)(c,l,f),h={unitId:c,subUnitId:l,ranges:p.map(e=>({startColumn:e.col,startRow:e.row,endColumn:e.col,endRow:e.row}))},g=[],_=[];if(f.length){let r=f.reduce((e,r)=>{(0,t.isTextFormat)(r.pattern)&&e.setValue(r.row,r.col,{t:t.CellValueType.STRING});let i=u.getCellRaw(r.row,r.col);if(i){let t=(0,n.checkCellValueType)(i.v);t!==i.t&&e.setValue(r.row,r.col,{t})}return e},new t.ObjectMatrix).getMatrix(),i=new t.ObjectMatrix;new t.ObjectMatrix(r).forValue((e,t)=>{let n=u.getCellRaw(e,t);n?i.setValue(e,t,{t:n.t}):i.setValue(e,t,{t:void 0})}),Object.keys(m.values).forEach(e=>{let t=m.values[e];t.ranges=(0,n.rangeMerge)(t.ranges)}),g.push({id:n.SetNumfmtMutation.id,params:m});let a=(0,n.factorySetNumfmtUndoMutation)(e,m);_.push(...a)}if(p.length){h.ranges=(0,n.rangeMerge)(h.ranges);let r=p.reduce((e,t)=>{let r=u.getCellRaw(t.row,t.col);if(r){let i=(0,n.checkCellValueType)(r.v);i!==r.t&&e.setValue(t.row,t.col,{t:i})}return e},new t.ObjectMatrix).getMatrix(),i=new t.ObjectMatrix;new t.ObjectMatrix(r).forValue((e,t)=>{let n=u.getCellRaw(e,t);n?i.setValue(e,t,{t:n.t}):i.setValue(e,t,{t:void 0})}),g.push({id:n.RemoveNumfmtMutation.id,params:h},{id:n.SetRangeValuesMutation.id,params:{unitId:c,subUnitId:l,cellValue:r}});let a=(0,n.factoryRemoveNumfmtUndoMutation)(e,h);_.push({id:n.SetRangeValuesMutation.id,params:{unitId:c,subUnitId:l,cellValue:i.getMatrix()}},...a)}let v=(0,t.sequenceExecute)(g,i).result;return v&&o.pushUndoRedo({unitID:c,undoMutations:_,redoMutations:g}),v}},C={id:`sheet.command.numfmt.add.decimal.command`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService),a=e.get(n.INumfmtService),o=e.get(t.IUniverInstanceService),s=i.getCurrentSelections();if(!s||!s.length)return!1;let c=(0,n.getSheetCommandTarget)(o);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=0;s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if(!r){let r=c.worksheet.getCellRaw(e,n);if(y(r)){d=Math.max(d,f(b(r)));return}if(!d&&r&&r.t===t.CellValueType.NUMBER&&r.v){let e=/\.(\d*)$/.exec(String(r.v));if(e){let t=e[1].length;if(!t)return;d=Math.max(d,t)}}return}let i=f(r.pattern);d=i>d?i:d})});let p=d+1,h=m(`0${p>0?`.0`:``}`,p),g=[];return s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if((0,t.isDefaultFormat)(r==null?void 0:r.pattern)){let t=c.worksheet.getCellRaw(e,n);g.push({row:e,col:n,pattern:y(t)?m(b(t),p):h})}else{let t=f(r.pattern),i=m(r.pattern,t+1);i!==r.pattern&&g.push({row:e,col:n,pattern:i})}})}),g.length?await r.executeCommand(S.id,{values:g}):!1}},w={id:`sheet.command.numfmt.set.currency`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService),a=e.get(t.LocaleService),s=i.getCurrentSelections();if(!s||!s.length)return!1;let l=[],u=c(o(a.getCurrentLocale()).locale);return s.forEach(e=>{t.Range.foreach(e.range,(e,t)=>{l.push({row:e,col:t,pattern:u,type:`currency`})})}),await r.executeCommand(S.id,{values:l})}},T={id:`sheet.command.numfmt.set.percent`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService).getCurrentSelections();if(!i||!i.length)return!1;let a=[];return i.forEach(e=>{t.Range.foreach(e.range,(e,t)=>{a.push({row:e,col:t,pattern:`0%`,type:`percent`})})}),await r.executeCommand(S.id,{values:a})}},E={id:`sheet.command.numfmt.subtract.decimal.command`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService),a=e.get(n.INumfmtService),o=e.get(t.IUniverInstanceService),s=i.getCurrentSelections();if(!s||!s.length)return!1;let c=(0,n.getSheetCommandTarget)(o);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=0;s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if(!r){let r=c.worksheet.getCellRaw(e,n);if(y(r)){d=Math.max(d,f(b(r)));return}if(!d&&r&&r.t===t.CellValueType.NUMBER&&r.v){let e=/\.(\d*)$/.exec(String(r.v));if(e){let t=e[1].length;if(!t)return;d=Math.max(d,t)}}return}let i=f(r.pattern);d=i>d?i:d})});let p=d-1,h=m(`0${p>0?`.0`:`.`}`,p),g=[];return s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if((0,t.isDefaultFormat)(r==null?void 0:r.pattern)){let t=c.worksheet.getCellRaw(e,n);g.push({row:e,col:n,pattern:y(t)?m(b(t),p):h})}else{let t=f(r.pattern);g.push({row:e,col:n,pattern:m(r.pattern,t-1)})}})}),await r.executeCommand(S.id,{values:g})}},D=`sheets-numfmt.config`,O={};function k(e){"@babel/helpers - typeof";return k=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},k(e)}function A(e,t){if(k(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(k(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function j(e){var t=A(e,`string`);return k(t)==`symbol`?t:t+``}function M(e,t,n){return(t=j(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e,t){return function(n,r){t(n,r,e)}}function P(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let F={tl:{size:6,color:`#409f11`}},I=class extends t.Disposable{constructor(e,t,n,r,a,o,s){super(),this._instanceService=e,this._sheetInterceptorService=t,this._themeService=n,this._commandService=r,this._numfmtService=a,this._localeService=o,this._configService=s,M(this,`_locale$`,new i.BehaviorSubject(`en`)),M(this,`locale$`,this._locale$.asObservable()),this._initInterceptorCellContent()}get locale(){let e=this._locale$.getValue();if(e)return e;switch(this._localeService.getCurrentLocale()){case t.LocaleType.FR_FR:return`fr`;case t.LocaleType.RU_RU:return`ru`;case t.LocaleType.VI_VN:return`vi`;case t.LocaleType.ZH_CN:return`zh-CN`;case t.LocaleType.KO_KR:return`ko`;case t.LocaleType.ZH_TW:return`zh-TW`;case t.LocaleType.ZH_HK:return`zh-HK`;case t.LocaleType.ES_ES:case t.LocaleType.CA_ES:return`es`;case t.LocaleType.SK_SK:return`sk`;case t.LocaleType.JA_JP:return`ja`;case t.LocaleType.PT_BR:return`pt`;case t.LocaleType.DE_DE:return`de`;case t.LocaleType.IT_IT:return`it`;case t.LocaleType.ID_ID:return`id`;case t.LocaleType.PL_PL:return`pl`;case t.LocaleType.AR_SA:return`ar`;case t.LocaleType.EN_US:case t.LocaleType.FA_IR:default:return`en`}}_initInterceptorCellContent(){let e=new t.ObjectMatrix;this.disposeWithMe((0,i.merge)(this._locale$,this._localeService.currentLocale$).subscribe(()=>{e.reset()})),this.disposeWithMe(this._sheetInterceptorService.intercept(n.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Value|t.InterceptorEffectEnum.Style,handler:(r,i,a)=>{if(!r||r.v===void 0||r.v===null||r.t===t.CellValueType.BOOLEAN||r.t===t.CellValueType.FORCE_STRING)return a(r);let o=i.unitId,s=i.subUnitId,c;if(r!=null&&r.s){let e=i.workbook.getStyles().get(r.s);e!=null&&e.n&&(c=e.n)}if(c||(c=this._numfmtService.getValue(o,s,i.row,i.col)),(0,t.isDefaultFormat)(c==null?void 0:c.pattern)||r.t!==t.CellValueType.NUMBER&&(0,n.checkCellValueType)(r.v,r.t)!==t.CellValueType.NUMBER)return a(r);let l=r;if((!r||r===i.rawData)&&(r={...i.rawData}),(0,t.isTextFormat)(c==null?void 0:c.pattern)){var u;return(u=this._configService.getConfig(`sheets-numfmt.config`))!=null&&u.disableTextFormatMark?(r.t=t.CellValueType.STRING,a(r)):(r.t=t.CellValueType.STRING,r.markers={...r==null?void 0:r.markers,...F},a(r))}let d=``,f=e.getValue(i.row,i.col);if(f&&f.parameters===`${l.v}_${c==null?void 0:c.pattern}`)return a({...r,...f.result});let p=v(c==null?void 0:c.pattern,Number(l.v),this.locale);if(d=p.result,!d)return a(r);let m={v:d,t:t.CellValueType.NUMBER};if(p.color){var h;let e=(h=this._themeService.getColorFromTheme(`${p.color}.500`))==null?p.color:h;e&&(m.interceptorStyle={cl:{rgb:e}})}return e.setValue(i.row,i.col,{result:m,parameters:`${l.v}_${c==null?void 0:c.pattern}`}),Object.assign(r,m),a(r)},priority:n.InterceptCellContentPriority.NUMFMT})),this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===n.SetNumfmtMutation.id){let n=r.params;Object.keys(n.values).forEach(r=>{n.values[r].ranges.forEach(n=>{t.Range.foreach(n,(t,n)=>{e.realDeleteValue(t,n)})})})}else if(r.id===n.SetRangeValuesMutation.id){let n=r.params;new t.ObjectMatrix(n.cellValue).forValue((t,n)=>{e.realDeleteValue(t,n)})}})),this.disposeWithMe(this._instanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,i.switchMap)(e=>{var t;return(t=e==null?void 0:e.activeSheet$)==null?(0,i.of)(null):t}),(0,i.skip)(1)).subscribe(()=>e.reset()))}setNumfmtLocal(e){this._locale$.next(e)}};I=P([N(0,t.IUniverInstanceService),N(1,(0,t.Inject)(n.SheetInterceptorService)),N(2,(0,t.Inject)(t.ThemeService)),N(3,(0,t.Inject)(t.ICommandService)),N(4,(0,t.Inject)(n.INumfmtService)),N(5,(0,t.Inject)(t.LocaleService)),N(6,t.IConfigService)],I);var L=`@univerjs/sheets-numfmt`,R=`1.0.0-alpha.6`;let z=class extends t.Plugin{constructor(e=O,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._commandService=i;let{...a}=(0,t.merge)({},O,this._config);this._configService.setConfig(D,a)}onStarting(){(0,t.registerDependencies)(this._injector,[[I]]),(0,t.touchDependencies)(this._injector,[[I]]),[C,E,w,T,S].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}};M(z,`pluginName`,`SHEET_NUMFMT_PLUGIN`),M(z,`packageName`,L),M(z,`version`,R),M(z,`type`,t.UniverInstanceType.UNIVER_SHEET),z=P([(0,t.DependentOn)(n.UniverSheetsPlugin),N(1,(0,t.Inject)(t.Injector)),N(2,t.IConfigService),N(3,t.ICommandService)],z),e.AddDecimalCommand=C,e.CURRENCYFORMAT=d,e.DATEFMTLISG=l,e.NUMBERFORMAT=u,e.SHEETS_NUMFMT_PLUGIN_CONFIG_KEY=D,e.SetCurrencyCommand=w,e.SetNumfmtCommand=S,e.SetPercentCommand=T,Object.defineProperty(e,"SheetsNumfmtCellContentController",{enumerable:!0,get:function(){return I}}),e.SubtractDecimalCommand=E,Object.defineProperty(e,"UniverSheetsNumfmtPlugin",{enumerable:!0,get:function(){return z}}),e.getCurrencyFormat=c,e.getCurrencyFormatOptions=e=>d.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),e.getCurrencyOptions=()=>t.currencySymbols.map(e=>({label:e,value:e})),e.getCurrencySymbolByLocale=s,e.getCurrencySymbolIconByLocale=o,e.getCurrencyType=e=>t.currencySymbols.find(t=>e.includes(t)),e.getDateFormatOptions=()=>l.map(e=>({label:e.label,value:e.suffix})),e.getDecimalFromPattern=f,e.getDecimalString=p,e.getNumberFormatOptions=()=>u.map(e=>({label:e.label,value:e.suffix,color:e.color})),e.getPatternPreview=_,e.getPatternPreviewIgnoreGeneral=v,e.getPatternType=g,e.isPatternHasDecimal=h,e.localeCurrencySymbolMap=a,e.setPatternDecimal=m});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/engine-formula"),require("rxjs")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets`,`@univerjs/engine-formula`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsNumfmt={},e.UniverCore,e.UniverSheets,e.UniverEngineFormula,e.rxjs))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let a=new Map([[t.LocaleType.EN_US,`$`],[t.LocaleType.RU_RU,`₽`],[t.LocaleType.VI_VN,`₫`],[t.LocaleType.ZH_CN,`¥`],[t.LocaleType.ZH_TW,`NT$`],[t.LocaleType.ZH_HK,`HK$`],[t.LocaleType.FR_FR,`€`],[t.LocaleType.FA_IR,`﷼`],[t.LocaleType.KO_KR,`₩`],[t.LocaleType.ES_ES,`€`],[t.LocaleType.CA_ES,`€`],[t.LocaleType.SK_SK,`€`],[t.LocaleType.JA_JP,`¥`],[t.LocaleType.PT_BR,`R$`],[t.LocaleType.DE_DE,`€`],[t.LocaleType.IT_IT,`€`],[t.LocaleType.ID_ID,`Rp`],[t.LocaleType.PL_PL,`zł`],[t.LocaleType.AR_SA,`﷼`]]);function o(e){switch(e){case t.LocaleType.CA_ES:case t.LocaleType.DE_DE:case t.LocaleType.ES_ES:case t.LocaleType.FR_FR:case t.LocaleType.IT_IT:case t.LocaleType.SK_SK:return{icon:`EuroIcon`,symbol:a.get(e)||`€`,locale:e};case t.LocaleType.RU_RU:return{icon:`RoubleIcon`,symbol:a.get(e)||`₽`,locale:e};case t.LocaleType.JA_JP:case t.LocaleType.ZH_CN:return{icon:`RmbIcon`,symbol:a.get(e)||`¥`,locale:e};case t.LocaleType.VI_VN:return{icon:`DongIcon`,symbol:a.get(e)||`₫`,locale:e};case t.LocaleType.AR_SA:case t.LocaleType.FA_IR:return{icon:`RialIcon`,symbol:a.get(e)||`﷼`,locale:e};case t.LocaleType.KO_KR:return{icon:`WonIcon`,symbol:a.get(e)||`₩`,locale:e};case t.LocaleType.ID_ID:return{icon:`RupiahIcon`,symbol:a.get(e)||`Rp`,locale:e};case t.LocaleType.PL_PL:return{icon:`ZlotyIcon`,symbol:a.get(e)||`zł`,locale:e};case t.LocaleType.EN_US:case t.LocaleType.PT_BR:case t.LocaleType.ZH_HK:case t.LocaleType.ZH_TW:default:return{icon:`DollarIcon`,symbol:a.get(e)||`$`,locale:e}}}function s(e){return a.get(e)||`$`}function c(e,t=2){let n=t;t>127&&(n=127);let r=``;return n>0&&(r=`.${`0`.repeat(n)}`),`"${s(e)}"#,##0${r}_);[Red]("${s(e)}"#,##0${r})`}let l=[{label:`1930-08-05`,suffix:`yyyy-MM-dd`},{label:`1930/08/05`,suffix:`yyyy/MM/dd`},{label:`1930年08月05日`,suffix:`yyyy"年"MM"月"dd"日"`},{label:`08-05`,suffix:`MM-dd`},{label:`8月5日`,suffix:`M"月"d"日"`},{label:`13:30:30`,suffix:`h:mm:ss`},{label:`13:30`,suffix:`h:mm`},{label:`下午01:30`,suffix:`A/P hh:mm`},{label:`下午1:30`,suffix:`A/P h:mm`},{label:`下午1:30:30`,suffix:`A/P h:mm:ss`},{label:`08-05 下午 01:30`,suffix:`MM-dd A/P hh:mm`}],u=[{label:`(1,235)`,suffix:`#,##0_);(#,##0)`},{label:`(1,235) `,suffix:`#,##0_);[Red](#,##0)`,color:`red`},{label:`1,234.56`,suffix:`#,##0.00_);#,##0.00`},{label:`1,234.56`,suffix:`#,##0.00_);[Red]#,##0.00`,color:`red`},{label:`-1,234.56`,suffix:`#,##0.00_);-#,##0.00`},{label:`-1,234.56`,suffix:`#,##0.00_);[Red]-#,##0.00`,color:`red`}],d=[{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);"${e}"#,##0.00`},{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]"${e}"#,##0.00`,color:`red`},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);("${e}"#,##0.00)`},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);[Red]("${e}"#,##0.00)`,color:`red`},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);-"${e}"#,##0.00`},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]-"${e}"#,##0.00`,color:`red`}],f=(e,n=0)=>{var r;return e?(r=t.numfmt.getFormatInfo(e).maxDecimals)==null?n:r:n},p=e=>Array(Math.min(Math.max(0,Number(e)),30)).fill(0).join(``),m=(e,t)=>e.split(`;`).map(e=>/\.0?/.test(e)?e.replace(/\.0*/g,`${t>0?`.`:``}${p(Number(t||0))}`):/0([^0]?)|0$/.test(e)?e.replace(/0([^0]+)|0$/,`0${t>0?`.`:``}${p(Number(t||0))}$1`):e).join(`;`),h=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),g=e=>t.numfmt.getFormatInfo(e).type||`unknown`,_=(e,n,r=`en`)=>{try{let i=t.numfmt.formatColor(e,n),a=i?String(i):void 0,o=t.numfmt.format(e,n,{locale:r,throws:!1});return n<0?{result:o,color:a}:{result:o}}catch(t){console.warn(`getPatternPreview error:`,e,t)}return{result:String(n)}},v=(e,n,i)=>e===t.DEFAULT_NUMBER_FORMAT?{result:String((0,r.stripErrorMargin)(n))}:_(e,n,i);function y(e){return(e==null?void 0:e.t)===t.CellValueType.NUMBER&&e.v!==void 0&&e.v!==null&&/e/i.test(String(e.v))}function b(e){let t=String(e==null?void 0:e.v),n=t.search(/e/i),r=t.indexOf(`.`),i=n>-1&&r>-1?n-r-1:0;return`0.${`0`.repeat(Math.max(2,i))}E+00`}function x(e){return(0,t.isDefaultFormat)(e)||(0,t.isTextFormat)(e)||g(e)===`scientific`}let S={id:`sheet.command.numfmt.set.numfmt`,type:t.CommandType.COMMAND,handler:(e,r)=>{if(!r)return!1;let i=e.get(t.ICommandService),a=e.get(t.IUniverInstanceService),o=e.get(t.IUndoRedoService),s=(0,n.getSheetCommandTarget)(a,r);if(!s)return!1;let{unitId:c,subUnitId:l,worksheet:u}=s,d=r.values.filter(e=>!y(u.getCellRaw(e.row,e.col))||x(e.pattern)),f=d.filter(e=>!!e.pattern),p=d.filter(e=>!e.pattern);if(!f.length&&!p.length)return!1;let m=(0,n.transformCellsToRange)(c,l,f),h={unitId:c,subUnitId:l,ranges:p.map(e=>({startColumn:e.col,startRow:e.row,endColumn:e.col,endRow:e.row}))},g=[],_=[];if(f.length){let r=f.reduce((e,r)=>{(0,t.isTextFormat)(r.pattern)&&e.setValue(r.row,r.col,{t:t.CellValueType.STRING});let i=u.getCellRaw(r.row,r.col);if(i){let t=(0,n.checkCellValueType)(i.v);t!==i.t&&e.setValue(r.row,r.col,{t})}return e},new t.ObjectMatrix).getMatrix(),i=new t.ObjectMatrix;new t.ObjectMatrix(r).forValue((e,t)=>{let n=u.getCellRaw(e,t);n?i.setValue(e,t,{t:n.t}):i.setValue(e,t,{t:void 0})}),Object.keys(m.values).forEach(e=>{let t=m.values[e];t.ranges=(0,n.rangeMerge)(t.ranges)}),g.push({id:n.SetNumfmtMutation.id,params:m});let a=(0,n.factorySetNumfmtUndoMutation)(e,m);_.push(...a)}if(p.length){h.ranges=(0,n.rangeMerge)(h.ranges);let r=p.reduce((e,t)=>{let r=u.getCellRaw(t.row,t.col);if(r){let i=(0,n.checkCellValueType)(r.v);i!==r.t&&e.setValue(t.row,t.col,{t:i})}return e},new t.ObjectMatrix).getMatrix(),i=new t.ObjectMatrix;new t.ObjectMatrix(r).forValue((e,t)=>{let n=u.getCellRaw(e,t);n?i.setValue(e,t,{t:n.t}):i.setValue(e,t,{t:void 0})}),g.push({id:n.RemoveNumfmtMutation.id,params:h},{id:n.SetRangeValuesMutation.id,params:{unitId:c,subUnitId:l,cellValue:r}});let a=(0,n.factoryRemoveNumfmtUndoMutation)(e,h);_.push({id:n.SetRangeValuesMutation.id,params:{unitId:c,subUnitId:l,cellValue:i.getMatrix()}},...a)}let v=(0,t.sequenceExecute)(g,i).result;return v&&o.pushUndoRedo({unitID:c,undoMutations:_,redoMutations:g}),v}},C={id:`sheet.command.numfmt.add.decimal.command`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService),a=e.get(n.INumfmtService),o=e.get(t.IUniverInstanceService),s=i.getCurrentSelections();if(!s||!s.length)return!1;let c=(0,n.getSheetCommandTarget)(o);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=0;s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if(!r){let r=c.worksheet.getCellRaw(e,n);if(y(r)){d=Math.max(d,f(b(r)));return}if(!d&&r&&r.t===t.CellValueType.NUMBER&&r.v){let e=/\.(\d*)$/.exec(String(r.v));if(e){let t=e[1].length;if(!t)return;d=Math.max(d,t)}}return}let i=f(r.pattern);d=i>d?i:d})});let p=d+1,h=m(`0${p>0?`.0`:``}`,p),g=[];return s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if((0,t.isDefaultFormat)(r==null?void 0:r.pattern)){let t=c.worksheet.getCellRaw(e,n);g.push({row:e,col:n,pattern:y(t)?m(b(t),p):h})}else{let t=f(r.pattern),i=m(r.pattern,t+1);i!==r.pattern&&g.push({row:e,col:n,pattern:i})}})}),g.length?await r.executeCommand(S.id,{values:g}):!1}},w={id:`sheet.command.numfmt.set.currency`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService),a=e.get(t.RegionService),s=i.getCurrentSelections();if(!s||!s.length)return!1;let l=[],u=c(o(a.getCurrentRegion()).locale);return s.forEach(e=>{t.Range.foreach(e.range,(e,t)=>{l.push({row:e,col:t,pattern:u,type:`currency`})})}),await r.executeCommand(S.id,{values:l})}},T={id:`sheet.command.numfmt.set.percent`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService).getCurrentSelections();if(!i||!i.length)return!1;let a=[];return i.forEach(e=>{t.Range.foreach(e.range,(e,t)=>{a.push({row:e,col:t,pattern:`0%`,type:`percent`})})}),await r.executeCommand(S.id,{values:a})}},E={id:`sheet.command.numfmt.subtract.decimal.command`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService),a=e.get(n.INumfmtService),o=e.get(t.IUniverInstanceService),s=i.getCurrentSelections();if(!s||!s.length)return!1;let c=(0,n.getSheetCommandTarget)(o);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=0;s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if(!r){let r=c.worksheet.getCellRaw(e,n);if(y(r)){d=Math.max(d,f(b(r)));return}if(!d&&r&&r.t===t.CellValueType.NUMBER&&r.v){let e=/\.(\d*)$/.exec(String(r.v));if(e){let t=e[1].length;if(!t)return;d=Math.max(d,t)}}return}let i=f(r.pattern);d=i>d?i:d})});let p=d-1,h=m(`0${p>0?`.0`:`.`}`,p),g=[];return s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if((0,t.isDefaultFormat)(r==null?void 0:r.pattern)){let t=c.worksheet.getCellRaw(e,n);g.push({row:e,col:n,pattern:y(t)?m(b(t),p):h})}else{let t=f(r.pattern);g.push({row:e,col:n,pattern:m(r.pattern,t-1)})}})}),await r.executeCommand(S.id,{values:g})}},D=`sheets-numfmt.config`,O={};function k(e){"@babel/helpers - typeof";return k=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},k(e)}function A(e,t){if(k(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(k(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function j(e){var t=A(e,`string`);return k(t)==`symbol`?t:t+``}function M(e,t,n){return(t=j(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e,t){return function(n,r){t(n,r,e)}}function P(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let F={tl:{size:6,color:`#409f11`}},I=class extends t.Disposable{constructor(e,t,n,r,a,o,s){super(),this._instanceService=e,this._sheetInterceptorService=t,this._themeService=n,this._commandService=r,this._numfmtService=a,this._localeService=o,this._configService=s,M(this,`_locale$`,new i.BehaviorSubject(`en`)),M(this,`locale$`,this._locale$.asObservable()),this._initInterceptorCellContent()}get locale(){let e=this._locale$.getValue();if(e)return e;switch(this._localeService.getCurrentLocale()){case t.LocaleType.FR_FR:return`fr`;case t.LocaleType.RU_RU:return`ru`;case t.LocaleType.VI_VN:return`vi`;case t.LocaleType.ZH_CN:return`zh-CN`;case t.LocaleType.KO_KR:return`ko`;case t.LocaleType.ZH_TW:return`zh-TW`;case t.LocaleType.ZH_HK:return`zh-HK`;case t.LocaleType.ES_ES:case t.LocaleType.CA_ES:return`es`;case t.LocaleType.SK_SK:return`sk`;case t.LocaleType.JA_JP:return`ja`;case t.LocaleType.PT_BR:return`pt`;case t.LocaleType.DE_DE:return`de`;case t.LocaleType.IT_IT:return`it`;case t.LocaleType.ID_ID:return`id`;case t.LocaleType.PL_PL:return`pl`;case t.LocaleType.AR_SA:return`ar`;case t.LocaleType.EN_US:case t.LocaleType.FA_IR:default:return`en`}}_initInterceptorCellContent(){let e=new t.ObjectMatrix;this.disposeWithMe((0,i.merge)(this._locale$,this._localeService.currentLocale$).subscribe(()=>{e.reset()})),this.disposeWithMe(this._sheetInterceptorService.intercept(n.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Value|t.InterceptorEffectEnum.Style,handler:(r,i,a)=>{if(!r||r.v===void 0||r.v===null||r.t===t.CellValueType.BOOLEAN||r.t===t.CellValueType.FORCE_STRING)return a(r);let o=i.unitId,s=i.subUnitId,c;if(r!=null&&r.s){let e=i.workbook.getStyles().get(r.s);e!=null&&e.n&&(c=e.n)}if(c||(c=this._numfmtService.getValue(o,s,i.row,i.col)),(0,t.isDefaultFormat)(c==null?void 0:c.pattern)||r.t!==t.CellValueType.NUMBER&&(0,n.checkCellValueType)(r.v,r.t)!==t.CellValueType.NUMBER)return a(r);let l=r;if((!r||r===i.rawData)&&(r={...i.rawData}),(0,t.isTextFormat)(c==null?void 0:c.pattern)){var u;return(u=this._configService.getConfig(`sheets-numfmt.config`))!=null&&u.disableTextFormatMark?(r.t=t.CellValueType.STRING,a(r)):(r.t=t.CellValueType.STRING,r.markers={...r==null?void 0:r.markers,...F},a(r))}let d=``,f=e.getValue(i.row,i.col);if(f&&f.parameters===`${l.v}_${c==null?void 0:c.pattern}`)return a({...r,...f.result});let p=v(c==null?void 0:c.pattern,Number(l.v),this.locale);if(d=p.result,!d)return a(r);let m={v:d,t:t.CellValueType.NUMBER};if(p.color){var h;let e=(h=this._themeService.getColorFromTheme(`${p.color}.500`))==null?p.color:h;e&&(m.interceptorStyle={cl:{rgb:e}})}return e.setValue(i.row,i.col,{result:m,parameters:`${l.v}_${c==null?void 0:c.pattern}`}),Object.assign(r,m),a(r)},priority:n.InterceptCellContentPriority.NUMFMT})),this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===n.SetNumfmtMutation.id){let n=r.params;Object.keys(n.values).forEach(r=>{n.values[r].ranges.forEach(n=>{t.Range.foreach(n,(t,n)=>{e.realDeleteValue(t,n)})})})}else if(r.id===n.SetRangeValuesMutation.id){let n=r.params;new t.ObjectMatrix(n.cellValue).forValue((t,n)=>{e.realDeleteValue(t,n)})}})),this.disposeWithMe(this._instanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,i.switchMap)(e=>{var t;return(t=e==null?void 0:e.activeSheet$)==null?(0,i.of)(null):t}),(0,i.skip)(1)).subscribe(()=>e.reset()))}setNumfmtLocal(e){this._locale$.next(e)}};I=P([N(0,t.IUniverInstanceService),N(1,(0,t.Inject)(n.SheetInterceptorService)),N(2,(0,t.Inject)(t.ThemeService)),N(3,(0,t.Inject)(t.ICommandService)),N(4,(0,t.Inject)(n.INumfmtService)),N(5,(0,t.Inject)(t.LocaleService)),N(6,t.IConfigService)],I);var L=`@univerjs/sheets-numfmt`,R=`1.0.0-alpha.8`;let z=class extends t.Plugin{constructor(e=O,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._commandService=i;let{...a}=(0,t.merge)({},O,this._config);this._configService.setConfig(D,a)}onStarting(){(0,t.registerDependencies)(this._injector,[[I]]),(0,t.touchDependencies)(this._injector,[[I]]),[C,E,w,T,S].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}};M(z,`pluginName`,`SHEET_NUMFMT_PLUGIN`),M(z,`packageName`,L),M(z,`version`,R),M(z,`type`,t.UniverInstanceType.UNIVER_SHEET),z=P([(0,t.DependentOn)(n.UniverSheetsPlugin),N(1,(0,t.Inject)(t.Injector)),N(2,t.IConfigService),N(3,t.ICommandService)],z),e.AddDecimalCommand=C,e.CURRENCYFORMAT=d,e.DATEFMTLISG=l,e.NUMBERFORMAT=u,e.SHEETS_NUMFMT_PLUGIN_CONFIG_KEY=D,e.SetCurrencyCommand=w,e.SetNumfmtCommand=S,e.SetPercentCommand=T,Object.defineProperty(e,"SheetsNumfmtCellContentController",{enumerable:!0,get:function(){return I}}),e.SubtractDecimalCommand=E,Object.defineProperty(e,"UniverSheetsNumfmtPlugin",{enumerable:!0,get:function(){return z}}),e.getCurrencyFormat=c,e.getCurrencyFormatOptions=e=>d.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),e.getCurrencyOptions=()=>t.currencySymbols.map(e=>({label:e,value:e})),e.getCurrencySymbolByLocale=s,e.getCurrencySymbolIconByLocale=o,e.getCurrencyType=e=>t.currencySymbols.find(t=>e.includes(t)),e.getDateFormatOptions=()=>l.map(e=>({label:e.label,value:e.suffix})),e.getDecimalFromPattern=f,e.getDecimalString=p,e.getNumberFormatOptions=()=>u.map(e=>({label:e.label,value:e.suffix,color:e.color})),e.getPatternPreview=_,e.getPatternPreviewIgnoreGeneral=v,e.getPatternType=g,e.isPatternHasDecimal=h,e.localeCurrencySymbolMap=a,e.setPatternDecimal=m});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-numfmt",
3
- "version": "1.0.0-alpha.6",
3
+ "version": "1.0.0-alpha.8",
4
4
  "private": false,
5
5
  "description": "Number format services and commands for Univer Sheets.",
6
6
  "author": "DreamNum Co., Ltd. <developer@univer.ai>",
@@ -62,15 +62,15 @@
62
62
  "rxjs": ">=7.0.0"
63
63
  },
64
64
  "dependencies": {
65
- "@univerjs/sheets": "1.0.0-alpha.6",
66
- "@univerjs/engine-formula": "1.0.0-alpha.6",
67
- "@univerjs/core": "1.0.0-alpha.6"
65
+ "@univerjs/engine-formula": "1.0.0-alpha.8",
66
+ "@univerjs/core": "1.0.0-alpha.8",
67
+ "@univerjs/sheets": "1.0.0-alpha.8"
68
68
  },
69
69
  "devDependencies": {
70
70
  "rxjs": "^7.8.2",
71
71
  "typescript": "^6.0.3",
72
72
  "vitest": "^4.1.10",
73
- "@univerjs-infra/shared": "1.0.0-alpha.6"
73
+ "@univerjs-infra/shared": "1.0.0-alpha.8"
74
74
  },
75
75
  "scripts": {
76
76
  "test": "vitest run",