@univerjs/sheets-numfmt-ui 1.0.0-alpha.1 → 1.0.0-alpha.3
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 +117 -113
- package/lib/es/index.js +117 -114
- package/lib/index.css +8 -4
- package/lib/index.js +117 -114
- package/lib/types/index.d.ts +1 -0
- package/lib/umd/index.js +1 -1
- package/package.json +13 -13
package/lib/cjs/index.js
CHANGED
|
@@ -1,29 +1,18 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
let _univerjs_core = require("@univerjs/core");
|
|
3
|
-
let _univerjs_engine_render = require("@univerjs/engine-render");
|
|
4
2
|
let _univerjs_sheets_numfmt = require("@univerjs/sheets-numfmt");
|
|
5
|
-
let _univerjs_sheets_ui = require("@univerjs/sheets-ui");
|
|
6
|
-
let _univerjs_icons = require("@univerjs/icons");
|
|
7
3
|
let _univerjs_ui = require("@univerjs/ui");
|
|
8
|
-
let
|
|
4
|
+
let _univerjs_core = require("@univerjs/core");
|
|
5
|
+
let _univerjs_engine_render = require("@univerjs/engine-render");
|
|
9
6
|
let _univerjs_sheets = require("@univerjs/sheets");
|
|
10
|
-
let
|
|
7
|
+
let _univerjs_sheets_ui = require("@univerjs/sheets-ui");
|
|
11
8
|
let rxjs = require("rxjs");
|
|
12
9
|
let rxjs_operators = require("rxjs/operators");
|
|
10
|
+
let _univerjs_design = require("@univerjs/design");
|
|
11
|
+
let react = require("react");
|
|
13
12
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
13
|
+
let _univerjs_icons = require("@univerjs/icons");
|
|
14
14
|
let _univerjs_engine_formula = require("@univerjs/engine-formula");
|
|
15
15
|
|
|
16
|
-
//#region package.json
|
|
17
|
-
var name = "@univerjs/sheets-numfmt-ui";
|
|
18
|
-
var version = "1.0.0-alpha.1";
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
//#region src/config/config.ts
|
|
22
|
-
const SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY = "sheets-numfmt-ui.config";
|
|
23
|
-
const configSymbol = Symbol(SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY);
|
|
24
|
-
const defaultPluginConfig = {};
|
|
25
|
-
|
|
26
|
-
//#endregion
|
|
27
16
|
//#region src/commands/operations/close.numfmt.panel.operation.ts
|
|
28
17
|
const CloseNumfmtPanelOperator = {
|
|
29
18
|
id: "sheet.operation.close.numfmt.panel",
|
|
@@ -183,8 +172,10 @@ let SheetNumfmtUIController = class SheetNumfmtUIController extends _univerjs_co
|
|
|
183
172
|
return true;
|
|
184
173
|
}
|
|
185
174
|
_forceUpdate(unitId) {
|
|
186
|
-
var _renderUnit$mainCompo;
|
|
187
|
-
const
|
|
175
|
+
var _this$_univerInstance, _renderUnit$mainCompo;
|
|
176
|
+
const resolvedUnitId = unitId !== null && unitId !== void 0 ? unitId : (_this$_univerInstance = this._univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_SHEET)) === null || _this$_univerInstance === void 0 ? void 0 : _this$_univerInstance.getUnitId();
|
|
177
|
+
if (!resolvedUnitId) return;
|
|
178
|
+
const renderUnit = this._renderManagerService.getRenderById(resolvedUnitId);
|
|
188
179
|
renderUnit === null || renderUnit === void 0 || renderUnit.with(_univerjs_sheets_ui.SheetSkeletonManagerService).reCalculate();
|
|
189
180
|
renderUnit === null || renderUnit === void 0 || (_renderUnit$mainCompo = renderUnit.mainComponent) === null || _renderUnit$mainCompo === void 0 || _renderUnit$mainCompo.makeDirty();
|
|
190
181
|
}
|
|
@@ -299,6 +290,76 @@ const OpenNumfmtPanelOperator = {
|
|
|
299
290
|
}
|
|
300
291
|
};
|
|
301
292
|
|
|
293
|
+
//#endregion
|
|
294
|
+
//#region src/views/components/MoreNumfmtType.tsx
|
|
295
|
+
const MORE_NUMFMT_TYPE_KEY = "sheets-numfmt-ui.moreNumfmtType";
|
|
296
|
+
const OPTIONS_KEY = "sheets-numfmt-ui.moreNumfmtType.options";
|
|
297
|
+
function MoreNumfmtType(props) {
|
|
298
|
+
const { value } = props;
|
|
299
|
+
const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
|
|
300
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
301
|
+
className: "univer-text-sm",
|
|
302
|
+
children: value !== null && value !== void 0 ? value : localeService.t("sheets-numfmt-ui.general")
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
function Options() {
|
|
306
|
+
const commandService = (0, _univerjs_ui.useDependency)(_univerjs_core.ICommandService);
|
|
307
|
+
const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
|
|
308
|
+
const layoutService = (0, _univerjs_ui.useDependency)(_univerjs_ui.ILayoutService);
|
|
309
|
+
const sheetsNumfmtCellContentController = (0, _univerjs_ui.useDependency)(_univerjs_sheets_numfmt.SheetsNumfmtCellContentController);
|
|
310
|
+
const direction = (0, _univerjs_ui.useObservable)(localeService.direction$, localeService.getDirection());
|
|
311
|
+
const selectionManagerService = (0, _univerjs_ui.useDependency)(_univerjs_sheets.SheetsSelectionsService);
|
|
312
|
+
const setNumfmt = (pattern) => {
|
|
313
|
+
const selection = selectionManagerService.getCurrentLastSelection();
|
|
314
|
+
if (!selection) return;
|
|
315
|
+
const range = selection.range;
|
|
316
|
+
const values = [];
|
|
317
|
+
_univerjs_core.Range.foreach(range, (row, col) => {
|
|
318
|
+
if (pattern) values.push({
|
|
319
|
+
row,
|
|
320
|
+
col,
|
|
321
|
+
pattern,
|
|
322
|
+
type: (0, _univerjs_sheets_numfmt.getPatternType)(pattern)
|
|
323
|
+
});
|
|
324
|
+
else values.push({
|
|
325
|
+
row,
|
|
326
|
+
col
|
|
327
|
+
});
|
|
328
|
+
});
|
|
329
|
+
commandService.executeCommand(_univerjs_sheets_numfmt.SetNumfmtCommand.id, { values });
|
|
330
|
+
layoutService.focus();
|
|
331
|
+
};
|
|
332
|
+
const menuOptions = (0, react.useMemo)(() => {
|
|
333
|
+
return MENU_OPTIONS(_univerjs_sheets_numfmt.localeCurrencySymbolMap.get(localeService.getCurrentLocale()));
|
|
334
|
+
}, [localeService]);
|
|
335
|
+
const handleClick = (index) => {
|
|
336
|
+
if (index === 0) setNumfmt(null);
|
|
337
|
+
else if (index === menuOptions.length - 1) {
|
|
338
|
+
commandService.executeCommand(OpenNumfmtPanelOperator.id);
|
|
339
|
+
layoutService.focus();
|
|
340
|
+
} else {
|
|
341
|
+
const item = menuOptions[index];
|
|
342
|
+
item.pattern && setNumfmt(item.pattern);
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
const defaultValue = 1220;
|
|
346
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
347
|
+
dir: direction,
|
|
348
|
+
className: "univer-grid univer-gap-1 univer-p-1.5",
|
|
349
|
+
children: menuOptions.map((item, index) => {
|
|
350
|
+
if (item === "|") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Separator, {}, index);
|
|
351
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
352
|
+
className: "univer-flex univer-h-7 univer-cursor-default univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
353
|
+
onClick: () => handleClick(index),
|
|
354
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: localeService.t(item.label) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
355
|
+
className: "univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400",
|
|
356
|
+
children: item.pattern ? (0, _univerjs_sheets_numfmt.getPatternPreview)(item.pattern || "", defaultValue, sheetsNumfmtCellContentController.locale).result.trim() : ""
|
|
357
|
+
})]
|
|
358
|
+
}, index);
|
|
359
|
+
})
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
|
|
302
363
|
//#endregion
|
|
303
364
|
//#region src/menu/menu.ts
|
|
304
365
|
const MENU_OPTIONS = (currencySymbol) => {
|
|
@@ -482,72 +543,40 @@ function FactoryOtherMenuItem(accessor) {
|
|
|
482
543
|
}
|
|
483
544
|
|
|
484
545
|
//#endregion
|
|
485
|
-
//#region src/
|
|
486
|
-
const
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
commandService.executeCommand(_univerjs_sheets_numfmt.SetNumfmtCommand.id, { values });
|
|
520
|
-
layoutService.focus();
|
|
521
|
-
};
|
|
522
|
-
const menuOptions = (0, react.useMemo)(() => {
|
|
523
|
-
return MENU_OPTIONS(_univerjs_sheets_numfmt.localeCurrencySymbolMap.get(localeService.getCurrentLocale()));
|
|
524
|
-
}, [localeService]);
|
|
525
|
-
const handleClick = (index) => {
|
|
526
|
-
if (index === 0) setNumfmt(null);
|
|
527
|
-
else if (index === menuOptions.length - 1) {
|
|
528
|
-
commandService.executeCommand(OpenNumfmtPanelOperator.id);
|
|
529
|
-
layoutService.focus();
|
|
530
|
-
} else {
|
|
531
|
-
const item = menuOptions[index];
|
|
532
|
-
item.pattern && setNumfmt(item.pattern);
|
|
533
|
-
}
|
|
534
|
-
};
|
|
535
|
-
const defaultValue = 1220;
|
|
536
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
537
|
-
className: "univer-grid univer-gap-1 univer-p-1.5",
|
|
538
|
-
children: menuOptions.map((item, index) => {
|
|
539
|
-
if (item === "|") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Separator, {}, index);
|
|
540
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
541
|
-
className: "univer-flex univer-h-7 univer-cursor-default univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
542
|
-
onClick: () => handleClick(index),
|
|
543
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: localeService.t(item.label) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
544
|
-
className: "univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400",
|
|
545
|
-
children: item.pattern ? (0, _univerjs_sheets_numfmt.getPatternPreview)(item.pattern || "", defaultValue, sheetsNumfmtCellContentController.locale).result.trim() : ""
|
|
546
|
-
})]
|
|
547
|
-
}, index);
|
|
548
|
-
})
|
|
549
|
-
});
|
|
550
|
-
}
|
|
546
|
+
//#region src/menu/schema.ts
|
|
547
|
+
const menuSchema = { [_univerjs_ui.RibbonStartGroup.LAYOUT]: {
|
|
548
|
+
[OpenNumfmtPanelOperator.id]: {
|
|
549
|
+
order: 9,
|
|
550
|
+
menuItemFactory: FactoryOtherMenuItem
|
|
551
|
+
},
|
|
552
|
+
[_univerjs_sheets_numfmt.SetPercentCommand.id]: {
|
|
553
|
+
order: 9.1,
|
|
554
|
+
menuItemFactory: PercentMenuItem
|
|
555
|
+
},
|
|
556
|
+
[_univerjs_sheets_numfmt.SetCurrencyCommand.id]: {
|
|
557
|
+
order: 9.2,
|
|
558
|
+
menuItemFactory: CurrencySymbolIconMenuItem
|
|
559
|
+
},
|
|
560
|
+
[_univerjs_sheets_numfmt.AddDecimalCommand.id]: {
|
|
561
|
+
order: 9.3,
|
|
562
|
+
menuItemFactory: AddDecimalMenuItem
|
|
563
|
+
},
|
|
564
|
+
[_univerjs_sheets_numfmt.SubtractDecimalCommand.id]: {
|
|
565
|
+
order: 9.4,
|
|
566
|
+
menuItemFactory: SubtractDecimalMenuItem
|
|
567
|
+
}
|
|
568
|
+
} };
|
|
569
|
+
|
|
570
|
+
//#endregion
|
|
571
|
+
//#region package.json
|
|
572
|
+
var name = "@univerjs/sheets-numfmt-ui";
|
|
573
|
+
var version = "1.0.0-alpha.3";
|
|
574
|
+
|
|
575
|
+
//#endregion
|
|
576
|
+
//#region src/config/config.ts
|
|
577
|
+
const SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY = "sheets-numfmt-ui.config";
|
|
578
|
+
const configSymbol = Symbol(SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY);
|
|
579
|
+
const defaultPluginConfig = {};
|
|
551
580
|
|
|
552
581
|
//#endregion
|
|
553
582
|
//#region src/controllers/user-habit.controller.ts
|
|
@@ -1180,10 +1209,9 @@ function SheetNumfmtPanel(props) {
|
|
|
1180
1209
|
})
|
|
1181
1210
|
}) })
|
|
1182
1211
|
] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1183
|
-
className: "univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end",
|
|
1212
|
+
className: "univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end univer-gap-2 rtl:univer-flex-row-reverse",
|
|
1184
1213
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Button, {
|
|
1185
1214
|
onClick: handleCancel,
|
|
1186
|
-
className: "univer-mr-3",
|
|
1187
1215
|
children: localeService.t("sheets-numfmt-ui.cancel")
|
|
1188
1216
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Button, {
|
|
1189
1217
|
variant: "primary",
|
|
@@ -1564,31 +1592,6 @@ function canConvertRichTextToNumfmt(body) {
|
|
|
1564
1592
|
}) || paragraphs.some((paragraph) => paragraph.bullet) || paragraphs.length >= 2 || Boolean(customRanges === null || customRanges === void 0 ? void 0 : customRanges.length) || customBlocks.length > 0);
|
|
1565
1593
|
}
|
|
1566
1594
|
|
|
1567
|
-
//#endregion
|
|
1568
|
-
//#region src/menu/schema.ts
|
|
1569
|
-
const menuSchema = { [_univerjs_ui.RibbonStartGroup.LAYOUT]: {
|
|
1570
|
-
[OpenNumfmtPanelOperator.id]: {
|
|
1571
|
-
order: 9,
|
|
1572
|
-
menuItemFactory: FactoryOtherMenuItem
|
|
1573
|
-
},
|
|
1574
|
-
[_univerjs_sheets_numfmt.SetPercentCommand.id]: {
|
|
1575
|
-
order: 9.1,
|
|
1576
|
-
menuItemFactory: PercentMenuItem
|
|
1577
|
-
},
|
|
1578
|
-
[_univerjs_sheets_numfmt.SetCurrencyCommand.id]: {
|
|
1579
|
-
order: 9.2,
|
|
1580
|
-
menuItemFactory: CurrencySymbolIconMenuItem
|
|
1581
|
-
},
|
|
1582
|
-
[_univerjs_sheets_numfmt.AddDecimalCommand.id]: {
|
|
1583
|
-
order: 9.3,
|
|
1584
|
-
menuItemFactory: AddDecimalMenuItem
|
|
1585
|
-
},
|
|
1586
|
-
[_univerjs_sheets_numfmt.SubtractDecimalCommand.id]: {
|
|
1587
|
-
order: 9.4,
|
|
1588
|
-
menuItemFactory: SubtractDecimalMenuItem
|
|
1589
|
-
}
|
|
1590
|
-
} };
|
|
1591
|
-
|
|
1592
1595
|
//#endregion
|
|
1593
1596
|
//#region src/menu/numfmt.menu.controller.ts
|
|
1594
1597
|
/**
|
|
@@ -1630,7 +1633,7 @@ let UniverSheetsNumfmtUIPlugin = class UniverSheetsNumfmtUIPlugin extends _unive
|
|
|
1630
1633
|
this._renderManagerService = _renderManagerService;
|
|
1631
1634
|
const { menu, ...rest } = (0, _univerjs_core.merge)({}, defaultPluginConfig, this._config);
|
|
1632
1635
|
if (menu) this._configService.setConfig("menu", menu, { merge: true });
|
|
1633
|
-
this._configService.setConfig(
|
|
1636
|
+
this._configService.setConfig(SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY, rest);
|
|
1634
1637
|
}
|
|
1635
1638
|
onStarting() {
|
|
1636
1639
|
this._injector.add([ComponentsController]);
|
|
@@ -1670,6 +1673,7 @@ UniverSheetsNumfmtUIPlugin = __decorate([
|
|
|
1670
1673
|
], UniverSheetsNumfmtUIPlugin);
|
|
1671
1674
|
|
|
1672
1675
|
//#endregion
|
|
1676
|
+
exports.SheetsNumfmtUIMenuSchema = menuSchema;
|
|
1673
1677
|
Object.defineProperty(exports, 'UniverSheetsNumfmtUIPlugin', {
|
|
1674
1678
|
enumerable: true,
|
|
1675
1679
|
get: function () {
|
package/lib/es/index.js
CHANGED
|
@@ -1,28 +1,17 @@
|
|
|
1
|
+
import { AddDecimalCommand, CURRENCYFORMAT, DATEFMTLISG, NUMBERFORMAT, SHEETS_NUMFMT_PLUGIN_CONFIG_KEY, SetCurrencyCommand, SetNumfmtCommand, SetPercentCommand, SheetsNumfmtCellContentController, SubtractDecimalCommand, UniverSheetsNumfmtPlugin, getCurrencyFormatOptions, getCurrencySymbolByLocale, getCurrencySymbolIconByLocale, getCurrencyType, getDateFormatOptions, getDecimalFromPattern, getNumberFormatOptions, getPatternPreview, getPatternPreviewIgnoreGeneral, getPatternType, isPatternHasDecimal, localeCurrencySymbolMap, setPatternDecimal } from "@univerjs/sheets-numfmt";
|
|
2
|
+
import { ComponentManager, ILayoutService, IMenuManagerService, ISidebarService, IconManager, MenuItemType, RibbonStartGroup, getMenuHiddenObservable, useDependency, useObservable } from "@univerjs/ui";
|
|
1
3
|
import { CellValueType, CommandType, DEFAULT_TEXT_FORMAT_EXCEL, DependentOn, Disposable, DisposableCollection, ICommandService, IConfigService, ILocalStorageService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, LocaleService, Optional, Plugin, Range, ThemeService, Tools, UniverInstanceType, currencySymbols, fromCallback, getNumfmtParseValueFilter, isDefaultFormat, isPatternEqualWithoutDecimal, isRealNum, isTextFormat, merge, numfmt, registerDependencies, toDisposable, touchDependencies, willLoseNumericPrecision } from "@univerjs/core";
|
|
2
4
|
import { IRenderManagerService } from "@univerjs/engine-render";
|
|
3
|
-
import { AddDecimalCommand, CURRENCYFORMAT, DATEFMTLISG, NUMBERFORMAT, SHEETS_NUMFMT_PLUGIN_CONFIG_KEY, SetCurrencyCommand, SetNumfmtCommand, SetPercentCommand, SheetsNumfmtCellContentController, SubtractDecimalCommand, UniverSheetsNumfmtPlugin, getCurrencyFormatOptions, getCurrencySymbolByLocale, getCurrencySymbolIconByLocale, getCurrencyType, getDateFormatOptions, getDecimalFromPattern, getNumberFormatOptions, getPatternPreview, getPatternPreviewIgnoreGeneral, getPatternType, isPatternHasDecimal, localeCurrencySymbolMap, setPatternDecimal } from "@univerjs/sheets-numfmt";
|
|
4
|
-
import { CellAlertManagerService, CellAlertType, HoverManagerService, IEditorBridgeService, IRepeatLastActionService, RepeatLastActionPermission, SheetSkeletonManagerService, UniverSheetsUIPlugin, deriveStateFromActiveSheet$, getCurrentRangeDisable$ } from "@univerjs/sheets-ui";
|
|
5
|
-
import { AddDigitsIcon, CheckMarkIcon, DollarIcon, EuroIcon, PercentIcon, ReduceDigitsIcon, RmbIcon, RoubleIcon } from "@univerjs/icons";
|
|
6
|
-
import { ComponentManager, ILayoutService, IMenuManagerService, ISidebarService, IconManager, MenuItemType, RibbonStartGroup, getMenuHiddenObservable, useDependency } from "@univerjs/ui";
|
|
7
|
-
import { Button, Input, InputNumber, Select, SelectList, Separator, borderClassName, clsx, scrollbarClassName } from "@univerjs/design";
|
|
8
5
|
import { AFTER_CELL_EDIT, BEFORE_CELL_EDIT, INTERCEPTOR_POINT, INumfmtService, RangeProtectionPermissionEditPoint, RemoveNumfmtMutation, SetNumfmtMutation, SetRangeValuesCommand, SheetInterceptorService, SheetsSelectionsService, WorkbookEditablePermission, WorksheetEditPermission, WorksheetSetCellStylePermission, factoryRemoveNumfmtUndoMutation, factorySetNumfmtUndoMutation, transformCellsToRange } from "@univerjs/sheets";
|
|
9
|
-
import {
|
|
6
|
+
import { CellAlertManagerService, CellAlertType, HoverManagerService, IEditorBridgeService, IRepeatLastActionService, RepeatLastActionPermission, SheetSkeletonManagerService, UniverSheetsUIPlugin, deriveStateFromActiveSheet$, getCurrentRangeDisable$ } from "@univerjs/sheets-ui";
|
|
10
7
|
import { Observable, combineLatest, debounceTime, filter, merge as merge$1 } from "rxjs";
|
|
11
8
|
import { debounceTime as debounceTime$1, map, switchMap, tap } from "rxjs/operators";
|
|
9
|
+
import { Button, Input, InputNumber, Select, SelectList, Separator, borderClassName, clsx, scrollbarClassName } from "@univerjs/design";
|
|
10
|
+
import { createContext, createElement, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
12
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { AddDigitsIcon, CheckMarkIcon, DollarIcon, EuroIcon, PercentIcon, ReduceDigitsIcon, RmbIcon, RoubleIcon } from "@univerjs/icons";
|
|
13
13
|
import { stripErrorMargin } from "@univerjs/engine-formula";
|
|
14
14
|
|
|
15
|
-
//#region package.json
|
|
16
|
-
var name = "@univerjs/sheets-numfmt-ui";
|
|
17
|
-
var version = "1.0.0-alpha.1";
|
|
18
|
-
|
|
19
|
-
//#endregion
|
|
20
|
-
//#region src/config/config.ts
|
|
21
|
-
const SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY = "sheets-numfmt-ui.config";
|
|
22
|
-
const configSymbol = Symbol(SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY);
|
|
23
|
-
const defaultPluginConfig = {};
|
|
24
|
-
|
|
25
|
-
//#endregion
|
|
26
15
|
//#region src/commands/operations/close.numfmt.panel.operation.ts
|
|
27
16
|
const CloseNumfmtPanelOperator = {
|
|
28
17
|
id: "sheet.operation.close.numfmt.panel",
|
|
@@ -182,8 +171,10 @@ let SheetNumfmtUIController = class SheetNumfmtUIController extends Disposable {
|
|
|
182
171
|
return true;
|
|
183
172
|
}
|
|
184
173
|
_forceUpdate(unitId) {
|
|
185
|
-
var _renderUnit$mainCompo;
|
|
186
|
-
const
|
|
174
|
+
var _this$_univerInstance, _renderUnit$mainCompo;
|
|
175
|
+
const resolvedUnitId = unitId !== null && unitId !== void 0 ? unitId : (_this$_univerInstance = this._univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_SHEET)) === null || _this$_univerInstance === void 0 ? void 0 : _this$_univerInstance.getUnitId();
|
|
176
|
+
if (!resolvedUnitId) return;
|
|
177
|
+
const renderUnit = this._renderManagerService.getRenderById(resolvedUnitId);
|
|
187
178
|
renderUnit === null || renderUnit === void 0 || renderUnit.with(SheetSkeletonManagerService).reCalculate();
|
|
188
179
|
renderUnit === null || renderUnit === void 0 || (_renderUnit$mainCompo = renderUnit.mainComponent) === null || _renderUnit$mainCompo === void 0 || _renderUnit$mainCompo.makeDirty();
|
|
189
180
|
}
|
|
@@ -298,6 +289,76 @@ const OpenNumfmtPanelOperator = {
|
|
|
298
289
|
}
|
|
299
290
|
};
|
|
300
291
|
|
|
292
|
+
//#endregion
|
|
293
|
+
//#region src/views/components/MoreNumfmtType.tsx
|
|
294
|
+
const MORE_NUMFMT_TYPE_KEY = "sheets-numfmt-ui.moreNumfmtType";
|
|
295
|
+
const OPTIONS_KEY = "sheets-numfmt-ui.moreNumfmtType.options";
|
|
296
|
+
function MoreNumfmtType(props) {
|
|
297
|
+
const { value } = props;
|
|
298
|
+
const localeService = useDependency(LocaleService);
|
|
299
|
+
return /* @__PURE__ */ jsx("span", {
|
|
300
|
+
className: "univer-text-sm",
|
|
301
|
+
children: value !== null && value !== void 0 ? value : localeService.t("sheets-numfmt-ui.general")
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
function Options() {
|
|
305
|
+
const commandService = useDependency(ICommandService);
|
|
306
|
+
const localeService = useDependency(LocaleService);
|
|
307
|
+
const layoutService = useDependency(ILayoutService);
|
|
308
|
+
const sheetsNumfmtCellContentController = useDependency(SheetsNumfmtCellContentController);
|
|
309
|
+
const direction = useObservable(localeService.direction$, localeService.getDirection());
|
|
310
|
+
const selectionManagerService = useDependency(SheetsSelectionsService);
|
|
311
|
+
const setNumfmt = (pattern) => {
|
|
312
|
+
const selection = selectionManagerService.getCurrentLastSelection();
|
|
313
|
+
if (!selection) return;
|
|
314
|
+
const range = selection.range;
|
|
315
|
+
const values = [];
|
|
316
|
+
Range.foreach(range, (row, col) => {
|
|
317
|
+
if (pattern) values.push({
|
|
318
|
+
row,
|
|
319
|
+
col,
|
|
320
|
+
pattern,
|
|
321
|
+
type: getPatternType(pattern)
|
|
322
|
+
});
|
|
323
|
+
else values.push({
|
|
324
|
+
row,
|
|
325
|
+
col
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
commandService.executeCommand(SetNumfmtCommand.id, { values });
|
|
329
|
+
layoutService.focus();
|
|
330
|
+
};
|
|
331
|
+
const menuOptions = useMemo(() => {
|
|
332
|
+
return MENU_OPTIONS(localeCurrencySymbolMap.get(localeService.getCurrentLocale()));
|
|
333
|
+
}, [localeService]);
|
|
334
|
+
const handleClick = (index) => {
|
|
335
|
+
if (index === 0) setNumfmt(null);
|
|
336
|
+
else if (index === menuOptions.length - 1) {
|
|
337
|
+
commandService.executeCommand(OpenNumfmtPanelOperator.id);
|
|
338
|
+
layoutService.focus();
|
|
339
|
+
} else {
|
|
340
|
+
const item = menuOptions[index];
|
|
341
|
+
item.pattern && setNumfmt(item.pattern);
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
const defaultValue = 1220;
|
|
345
|
+
return /* @__PURE__ */ jsx("div", {
|
|
346
|
+
dir: direction,
|
|
347
|
+
className: "univer-grid univer-gap-1 univer-p-1.5",
|
|
348
|
+
children: menuOptions.map((item, index) => {
|
|
349
|
+
if (item === "|") return /* @__PURE__ */ jsx(Separator, {}, index);
|
|
350
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
351
|
+
className: "univer-flex univer-h-7 univer-cursor-default univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
352
|
+
onClick: () => handleClick(index),
|
|
353
|
+
children: [/* @__PURE__ */ jsx("span", { children: localeService.t(item.label) }), /* @__PURE__ */ jsx("span", {
|
|
354
|
+
className: "univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400",
|
|
355
|
+
children: item.pattern ? getPatternPreview(item.pattern || "", defaultValue, sheetsNumfmtCellContentController.locale).result.trim() : ""
|
|
356
|
+
})]
|
|
357
|
+
}, index);
|
|
358
|
+
})
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
|
|
301
362
|
//#endregion
|
|
302
363
|
//#region src/menu/menu.ts
|
|
303
364
|
const MENU_OPTIONS = (currencySymbol) => {
|
|
@@ -481,72 +542,40 @@ function FactoryOtherMenuItem(accessor) {
|
|
|
481
542
|
}
|
|
482
543
|
|
|
483
544
|
//#endregion
|
|
484
|
-
//#region src/
|
|
485
|
-
const
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
}
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
commandService.executeCommand(SetNumfmtCommand.id, { values });
|
|
519
|
-
layoutService.focus();
|
|
520
|
-
};
|
|
521
|
-
const menuOptions = useMemo(() => {
|
|
522
|
-
return MENU_OPTIONS(localeCurrencySymbolMap.get(localeService.getCurrentLocale()));
|
|
523
|
-
}, [localeService]);
|
|
524
|
-
const handleClick = (index) => {
|
|
525
|
-
if (index === 0) setNumfmt(null);
|
|
526
|
-
else if (index === menuOptions.length - 1) {
|
|
527
|
-
commandService.executeCommand(OpenNumfmtPanelOperator.id);
|
|
528
|
-
layoutService.focus();
|
|
529
|
-
} else {
|
|
530
|
-
const item = menuOptions[index];
|
|
531
|
-
item.pattern && setNumfmt(item.pattern);
|
|
532
|
-
}
|
|
533
|
-
};
|
|
534
|
-
const defaultValue = 1220;
|
|
535
|
-
return /* @__PURE__ */ jsx("div", {
|
|
536
|
-
className: "univer-grid univer-gap-1 univer-p-1.5",
|
|
537
|
-
children: menuOptions.map((item, index) => {
|
|
538
|
-
if (item === "|") return /* @__PURE__ */ jsx(Separator, {}, index);
|
|
539
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
540
|
-
className: "univer-flex univer-h-7 univer-cursor-default univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
541
|
-
onClick: () => handleClick(index),
|
|
542
|
-
children: [/* @__PURE__ */ jsx("span", { children: localeService.t(item.label) }), /* @__PURE__ */ jsx("span", {
|
|
543
|
-
className: "univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400",
|
|
544
|
-
children: item.pattern ? getPatternPreview(item.pattern || "", defaultValue, sheetsNumfmtCellContentController.locale).result.trim() : ""
|
|
545
|
-
})]
|
|
546
|
-
}, index);
|
|
547
|
-
})
|
|
548
|
-
});
|
|
549
|
-
}
|
|
545
|
+
//#region src/menu/schema.ts
|
|
546
|
+
const menuSchema = { [RibbonStartGroup.LAYOUT]: {
|
|
547
|
+
[OpenNumfmtPanelOperator.id]: {
|
|
548
|
+
order: 9,
|
|
549
|
+
menuItemFactory: FactoryOtherMenuItem
|
|
550
|
+
},
|
|
551
|
+
[SetPercentCommand.id]: {
|
|
552
|
+
order: 9.1,
|
|
553
|
+
menuItemFactory: PercentMenuItem
|
|
554
|
+
},
|
|
555
|
+
[SetCurrencyCommand.id]: {
|
|
556
|
+
order: 9.2,
|
|
557
|
+
menuItemFactory: CurrencySymbolIconMenuItem
|
|
558
|
+
},
|
|
559
|
+
[AddDecimalCommand.id]: {
|
|
560
|
+
order: 9.3,
|
|
561
|
+
menuItemFactory: AddDecimalMenuItem
|
|
562
|
+
},
|
|
563
|
+
[SubtractDecimalCommand.id]: {
|
|
564
|
+
order: 9.4,
|
|
565
|
+
menuItemFactory: SubtractDecimalMenuItem
|
|
566
|
+
}
|
|
567
|
+
} };
|
|
568
|
+
|
|
569
|
+
//#endregion
|
|
570
|
+
//#region package.json
|
|
571
|
+
var name = "@univerjs/sheets-numfmt-ui";
|
|
572
|
+
var version = "1.0.0-alpha.3";
|
|
573
|
+
|
|
574
|
+
//#endregion
|
|
575
|
+
//#region src/config/config.ts
|
|
576
|
+
const SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY = "sheets-numfmt-ui.config";
|
|
577
|
+
const configSymbol = Symbol(SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY);
|
|
578
|
+
const defaultPluginConfig = {};
|
|
550
579
|
|
|
551
580
|
//#endregion
|
|
552
581
|
//#region src/controllers/user-habit.controller.ts
|
|
@@ -1179,10 +1208,9 @@ function SheetNumfmtPanel(props) {
|
|
|
1179
1208
|
})
|
|
1180
1209
|
}) })
|
|
1181
1210
|
] }), /* @__PURE__ */ jsxs("div", {
|
|
1182
|
-
className: "univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end",
|
|
1211
|
+
className: "univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end univer-gap-2 rtl:univer-flex-row-reverse",
|
|
1183
1212
|
children: [/* @__PURE__ */ jsx(Button, {
|
|
1184
1213
|
onClick: handleCancel,
|
|
1185
|
-
className: "univer-mr-3",
|
|
1186
1214
|
children: localeService.t("sheets-numfmt-ui.cancel")
|
|
1187
1215
|
}), /* @__PURE__ */ jsx(Button, {
|
|
1188
1216
|
variant: "primary",
|
|
@@ -1563,31 +1591,6 @@ function canConvertRichTextToNumfmt(body) {
|
|
|
1563
1591
|
}) || paragraphs.some((paragraph) => paragraph.bullet) || paragraphs.length >= 2 || Boolean(customRanges === null || customRanges === void 0 ? void 0 : customRanges.length) || customBlocks.length > 0);
|
|
1564
1592
|
}
|
|
1565
1593
|
|
|
1566
|
-
//#endregion
|
|
1567
|
-
//#region src/menu/schema.ts
|
|
1568
|
-
const menuSchema = { [RibbonStartGroup.LAYOUT]: {
|
|
1569
|
-
[OpenNumfmtPanelOperator.id]: {
|
|
1570
|
-
order: 9,
|
|
1571
|
-
menuItemFactory: FactoryOtherMenuItem
|
|
1572
|
-
},
|
|
1573
|
-
[SetPercentCommand.id]: {
|
|
1574
|
-
order: 9.1,
|
|
1575
|
-
menuItemFactory: PercentMenuItem
|
|
1576
|
-
},
|
|
1577
|
-
[SetCurrencyCommand.id]: {
|
|
1578
|
-
order: 9.2,
|
|
1579
|
-
menuItemFactory: CurrencySymbolIconMenuItem
|
|
1580
|
-
},
|
|
1581
|
-
[AddDecimalCommand.id]: {
|
|
1582
|
-
order: 9.3,
|
|
1583
|
-
menuItemFactory: AddDecimalMenuItem
|
|
1584
|
-
},
|
|
1585
|
-
[SubtractDecimalCommand.id]: {
|
|
1586
|
-
order: 9.4,
|
|
1587
|
-
menuItemFactory: SubtractDecimalMenuItem
|
|
1588
|
-
}
|
|
1589
|
-
} };
|
|
1590
|
-
|
|
1591
1594
|
//#endregion
|
|
1592
1595
|
//#region src/menu/numfmt.menu.controller.ts
|
|
1593
1596
|
/**
|
|
@@ -1629,7 +1632,7 @@ let UniverSheetsNumfmtUIPlugin = class UniverSheetsNumfmtUIPlugin extends Plugin
|
|
|
1629
1632
|
this._renderManagerService = _renderManagerService;
|
|
1630
1633
|
const { menu, ...rest } = merge({}, defaultPluginConfig, this._config);
|
|
1631
1634
|
if (menu) this._configService.setConfig("menu", menu, { merge: true });
|
|
1632
|
-
this._configService.setConfig(
|
|
1635
|
+
this._configService.setConfig(SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY, rest);
|
|
1633
1636
|
}
|
|
1634
1637
|
onStarting() {
|
|
1635
1638
|
this._injector.add([ComponentsController]);
|
|
@@ -1669,4 +1672,4 @@ UniverSheetsNumfmtUIPlugin = __decorate([
|
|
|
1669
1672
|
], UniverSheetsNumfmtUIPlugin);
|
|
1670
1673
|
|
|
1671
1674
|
//#endregion
|
|
1672
|
-
export { UniverSheetsNumfmtUIPlugin };
|
|
1675
|
+
export { menuSchema as SheetsNumfmtUIMenuSchema, UniverSheetsNumfmtUIPlugin };
|
package/lib/index.css
CHANGED
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
margin-bottom: 1.25rem;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
.univer-mr-3 {
|
|
6
|
-
margin-right: .75rem;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
5
|
.univer-mt-2 {
|
|
10
6
|
margin-top: .5rem;
|
|
11
7
|
}
|
|
@@ -94,6 +90,10 @@
|
|
|
94
90
|
gap: .375rem;
|
|
95
91
|
}
|
|
96
92
|
|
|
93
|
+
.univer-gap-2 {
|
|
94
|
+
gap: .5rem;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
97
|
.univer-gap-6 {
|
|
98
98
|
gap: 1.5rem;
|
|
99
99
|
}
|
|
@@ -166,6 +166,10 @@
|
|
|
166
166
|
background-color: var(--univer-gray-100);
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
+
.rtl\:univer-flex-row-reverse:where([dir="rtl"], [dir="rtl"] *) {
|
|
170
|
+
flex-direction: row-reverse;
|
|
171
|
+
}
|
|
172
|
+
|
|
169
173
|
.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) {
|
|
170
174
|
color: var(--univer-gray-200) !important;
|
|
171
175
|
}
|
package/lib/index.js
CHANGED
|
@@ -1,28 +1,17 @@
|
|
|
1
|
+
import { AddDecimalCommand, CURRENCYFORMAT, DATEFMTLISG, NUMBERFORMAT, SHEETS_NUMFMT_PLUGIN_CONFIG_KEY, SetCurrencyCommand, SetNumfmtCommand, SetPercentCommand, SheetsNumfmtCellContentController, SubtractDecimalCommand, UniverSheetsNumfmtPlugin, getCurrencyFormatOptions, getCurrencySymbolByLocale, getCurrencySymbolIconByLocale, getCurrencyType, getDateFormatOptions, getDecimalFromPattern, getNumberFormatOptions, getPatternPreview, getPatternPreviewIgnoreGeneral, getPatternType, isPatternHasDecimal, localeCurrencySymbolMap, setPatternDecimal } from "@univerjs/sheets-numfmt";
|
|
2
|
+
import { ComponentManager, ILayoutService, IMenuManagerService, ISidebarService, IconManager, MenuItemType, RibbonStartGroup, getMenuHiddenObservable, useDependency, useObservable } from "@univerjs/ui";
|
|
1
3
|
import { CellValueType, CommandType, DEFAULT_TEXT_FORMAT_EXCEL, DependentOn, Disposable, DisposableCollection, ICommandService, IConfigService, ILocalStorageService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, LocaleService, Optional, Plugin, Range, ThemeService, Tools, UniverInstanceType, currencySymbols, fromCallback, getNumfmtParseValueFilter, isDefaultFormat, isPatternEqualWithoutDecimal, isRealNum, isTextFormat, merge, numfmt, registerDependencies, toDisposable, touchDependencies, willLoseNumericPrecision } from "@univerjs/core";
|
|
2
4
|
import { IRenderManagerService } from "@univerjs/engine-render";
|
|
3
|
-
import { AddDecimalCommand, CURRENCYFORMAT, DATEFMTLISG, NUMBERFORMAT, SHEETS_NUMFMT_PLUGIN_CONFIG_KEY, SetCurrencyCommand, SetNumfmtCommand, SetPercentCommand, SheetsNumfmtCellContentController, SubtractDecimalCommand, UniverSheetsNumfmtPlugin, getCurrencyFormatOptions, getCurrencySymbolByLocale, getCurrencySymbolIconByLocale, getCurrencyType, getDateFormatOptions, getDecimalFromPattern, getNumberFormatOptions, getPatternPreview, getPatternPreviewIgnoreGeneral, getPatternType, isPatternHasDecimal, localeCurrencySymbolMap, setPatternDecimal } from "@univerjs/sheets-numfmt";
|
|
4
|
-
import { CellAlertManagerService, CellAlertType, HoverManagerService, IEditorBridgeService, IRepeatLastActionService, RepeatLastActionPermission, SheetSkeletonManagerService, UniverSheetsUIPlugin, deriveStateFromActiveSheet$, getCurrentRangeDisable$ } from "@univerjs/sheets-ui";
|
|
5
|
-
import { AddDigitsIcon, CheckMarkIcon, DollarIcon, EuroIcon, PercentIcon, ReduceDigitsIcon, RmbIcon, RoubleIcon } from "@univerjs/icons";
|
|
6
|
-
import { ComponentManager, ILayoutService, IMenuManagerService, ISidebarService, IconManager, MenuItemType, RibbonStartGroup, getMenuHiddenObservable, useDependency } from "@univerjs/ui";
|
|
7
|
-
import { Button, Input, InputNumber, Select, SelectList, Separator, borderClassName, clsx, scrollbarClassName } from "@univerjs/design";
|
|
8
5
|
import { AFTER_CELL_EDIT, BEFORE_CELL_EDIT, INTERCEPTOR_POINT, INumfmtService, RangeProtectionPermissionEditPoint, RemoveNumfmtMutation, SetNumfmtMutation, SetRangeValuesCommand, SheetInterceptorService, SheetsSelectionsService, WorkbookEditablePermission, WorksheetEditPermission, WorksheetSetCellStylePermission, factoryRemoveNumfmtUndoMutation, factorySetNumfmtUndoMutation, transformCellsToRange } from "@univerjs/sheets";
|
|
9
|
-
import {
|
|
6
|
+
import { CellAlertManagerService, CellAlertType, HoverManagerService, IEditorBridgeService, IRepeatLastActionService, RepeatLastActionPermission, SheetSkeletonManagerService, UniverSheetsUIPlugin, deriveStateFromActiveSheet$, getCurrentRangeDisable$ } from "@univerjs/sheets-ui";
|
|
10
7
|
import { Observable, combineLatest, debounceTime, filter, merge as merge$1 } from "rxjs";
|
|
11
8
|
import { debounceTime as debounceTime$1, map, switchMap, tap } from "rxjs/operators";
|
|
9
|
+
import { Button, Input, InputNumber, Select, SelectList, Separator, borderClassName, clsx, scrollbarClassName } from "@univerjs/design";
|
|
10
|
+
import { createContext, createElement, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
12
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { AddDigitsIcon, CheckMarkIcon, DollarIcon, EuroIcon, PercentIcon, ReduceDigitsIcon, RmbIcon, RoubleIcon } from "@univerjs/icons";
|
|
13
13
|
import { stripErrorMargin } from "@univerjs/engine-formula";
|
|
14
14
|
|
|
15
|
-
//#region package.json
|
|
16
|
-
var name = "@univerjs/sheets-numfmt-ui";
|
|
17
|
-
var version = "1.0.0-alpha.1";
|
|
18
|
-
|
|
19
|
-
//#endregion
|
|
20
|
-
//#region src/config/config.ts
|
|
21
|
-
const SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY = "sheets-numfmt-ui.config";
|
|
22
|
-
const configSymbol = Symbol(SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY);
|
|
23
|
-
const defaultPluginConfig = {};
|
|
24
|
-
|
|
25
|
-
//#endregion
|
|
26
15
|
//#region src/commands/operations/close.numfmt.panel.operation.ts
|
|
27
16
|
const CloseNumfmtPanelOperator = {
|
|
28
17
|
id: "sheet.operation.close.numfmt.panel",
|
|
@@ -182,8 +171,10 @@ let SheetNumfmtUIController = class SheetNumfmtUIController extends Disposable {
|
|
|
182
171
|
return true;
|
|
183
172
|
}
|
|
184
173
|
_forceUpdate(unitId) {
|
|
185
|
-
var _renderUnit$mainCompo;
|
|
186
|
-
const
|
|
174
|
+
var _this$_univerInstance, _renderUnit$mainCompo;
|
|
175
|
+
const resolvedUnitId = unitId !== null && unitId !== void 0 ? unitId : (_this$_univerInstance = this._univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_SHEET)) === null || _this$_univerInstance === void 0 ? void 0 : _this$_univerInstance.getUnitId();
|
|
176
|
+
if (!resolvedUnitId) return;
|
|
177
|
+
const renderUnit = this._renderManagerService.getRenderById(resolvedUnitId);
|
|
187
178
|
renderUnit === null || renderUnit === void 0 || renderUnit.with(SheetSkeletonManagerService).reCalculate();
|
|
188
179
|
renderUnit === null || renderUnit === void 0 || (_renderUnit$mainCompo = renderUnit.mainComponent) === null || _renderUnit$mainCompo === void 0 || _renderUnit$mainCompo.makeDirty();
|
|
189
180
|
}
|
|
@@ -298,6 +289,76 @@ const OpenNumfmtPanelOperator = {
|
|
|
298
289
|
}
|
|
299
290
|
};
|
|
300
291
|
|
|
292
|
+
//#endregion
|
|
293
|
+
//#region src/views/components/MoreNumfmtType.tsx
|
|
294
|
+
const MORE_NUMFMT_TYPE_KEY = "sheets-numfmt-ui.moreNumfmtType";
|
|
295
|
+
const OPTIONS_KEY = "sheets-numfmt-ui.moreNumfmtType.options";
|
|
296
|
+
function MoreNumfmtType(props) {
|
|
297
|
+
const { value } = props;
|
|
298
|
+
const localeService = useDependency(LocaleService);
|
|
299
|
+
return /* @__PURE__ */ jsx("span", {
|
|
300
|
+
className: "univer-text-sm",
|
|
301
|
+
children: value !== null && value !== void 0 ? value : localeService.t("sheets-numfmt-ui.general")
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
function Options() {
|
|
305
|
+
const commandService = useDependency(ICommandService);
|
|
306
|
+
const localeService = useDependency(LocaleService);
|
|
307
|
+
const layoutService = useDependency(ILayoutService);
|
|
308
|
+
const sheetsNumfmtCellContentController = useDependency(SheetsNumfmtCellContentController);
|
|
309
|
+
const direction = useObservable(localeService.direction$, localeService.getDirection());
|
|
310
|
+
const selectionManagerService = useDependency(SheetsSelectionsService);
|
|
311
|
+
const setNumfmt = (pattern) => {
|
|
312
|
+
const selection = selectionManagerService.getCurrentLastSelection();
|
|
313
|
+
if (!selection) return;
|
|
314
|
+
const range = selection.range;
|
|
315
|
+
const values = [];
|
|
316
|
+
Range.foreach(range, (row, col) => {
|
|
317
|
+
if (pattern) values.push({
|
|
318
|
+
row,
|
|
319
|
+
col,
|
|
320
|
+
pattern,
|
|
321
|
+
type: getPatternType(pattern)
|
|
322
|
+
});
|
|
323
|
+
else values.push({
|
|
324
|
+
row,
|
|
325
|
+
col
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
commandService.executeCommand(SetNumfmtCommand.id, { values });
|
|
329
|
+
layoutService.focus();
|
|
330
|
+
};
|
|
331
|
+
const menuOptions = useMemo(() => {
|
|
332
|
+
return MENU_OPTIONS(localeCurrencySymbolMap.get(localeService.getCurrentLocale()));
|
|
333
|
+
}, [localeService]);
|
|
334
|
+
const handleClick = (index) => {
|
|
335
|
+
if (index === 0) setNumfmt(null);
|
|
336
|
+
else if (index === menuOptions.length - 1) {
|
|
337
|
+
commandService.executeCommand(OpenNumfmtPanelOperator.id);
|
|
338
|
+
layoutService.focus();
|
|
339
|
+
} else {
|
|
340
|
+
const item = menuOptions[index];
|
|
341
|
+
item.pattern && setNumfmt(item.pattern);
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
const defaultValue = 1220;
|
|
345
|
+
return /* @__PURE__ */ jsx("div", {
|
|
346
|
+
dir: direction,
|
|
347
|
+
className: "univer-grid univer-gap-1 univer-p-1.5",
|
|
348
|
+
children: menuOptions.map((item, index) => {
|
|
349
|
+
if (item === "|") return /* @__PURE__ */ jsx(Separator, {}, index);
|
|
350
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
351
|
+
className: "univer-flex univer-h-7 univer-cursor-default univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
352
|
+
onClick: () => handleClick(index),
|
|
353
|
+
children: [/* @__PURE__ */ jsx("span", { children: localeService.t(item.label) }), /* @__PURE__ */ jsx("span", {
|
|
354
|
+
className: "univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400",
|
|
355
|
+
children: item.pattern ? getPatternPreview(item.pattern || "", defaultValue, sheetsNumfmtCellContentController.locale).result.trim() : ""
|
|
356
|
+
})]
|
|
357
|
+
}, index);
|
|
358
|
+
})
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
|
|
301
362
|
//#endregion
|
|
302
363
|
//#region src/menu/menu.ts
|
|
303
364
|
const MENU_OPTIONS = (currencySymbol) => {
|
|
@@ -481,72 +542,40 @@ function FactoryOtherMenuItem(accessor) {
|
|
|
481
542
|
}
|
|
482
543
|
|
|
483
544
|
//#endregion
|
|
484
|
-
//#region src/
|
|
485
|
-
const
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
}
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
commandService.executeCommand(SetNumfmtCommand.id, { values });
|
|
519
|
-
layoutService.focus();
|
|
520
|
-
};
|
|
521
|
-
const menuOptions = useMemo(() => {
|
|
522
|
-
return MENU_OPTIONS(localeCurrencySymbolMap.get(localeService.getCurrentLocale()));
|
|
523
|
-
}, [localeService]);
|
|
524
|
-
const handleClick = (index) => {
|
|
525
|
-
if (index === 0) setNumfmt(null);
|
|
526
|
-
else if (index === menuOptions.length - 1) {
|
|
527
|
-
commandService.executeCommand(OpenNumfmtPanelOperator.id);
|
|
528
|
-
layoutService.focus();
|
|
529
|
-
} else {
|
|
530
|
-
const item = menuOptions[index];
|
|
531
|
-
item.pattern && setNumfmt(item.pattern);
|
|
532
|
-
}
|
|
533
|
-
};
|
|
534
|
-
const defaultValue = 1220;
|
|
535
|
-
return /* @__PURE__ */ jsx("div", {
|
|
536
|
-
className: "univer-grid univer-gap-1 univer-p-1.5",
|
|
537
|
-
children: menuOptions.map((item, index) => {
|
|
538
|
-
if (item === "|") return /* @__PURE__ */ jsx(Separator, {}, index);
|
|
539
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
540
|
-
className: "univer-flex univer-h-7 univer-cursor-default univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
541
|
-
onClick: () => handleClick(index),
|
|
542
|
-
children: [/* @__PURE__ */ jsx("span", { children: localeService.t(item.label) }), /* @__PURE__ */ jsx("span", {
|
|
543
|
-
className: "univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400",
|
|
544
|
-
children: item.pattern ? getPatternPreview(item.pattern || "", defaultValue, sheetsNumfmtCellContentController.locale).result.trim() : ""
|
|
545
|
-
})]
|
|
546
|
-
}, index);
|
|
547
|
-
})
|
|
548
|
-
});
|
|
549
|
-
}
|
|
545
|
+
//#region src/menu/schema.ts
|
|
546
|
+
const menuSchema = { [RibbonStartGroup.LAYOUT]: {
|
|
547
|
+
[OpenNumfmtPanelOperator.id]: {
|
|
548
|
+
order: 9,
|
|
549
|
+
menuItemFactory: FactoryOtherMenuItem
|
|
550
|
+
},
|
|
551
|
+
[SetPercentCommand.id]: {
|
|
552
|
+
order: 9.1,
|
|
553
|
+
menuItemFactory: PercentMenuItem
|
|
554
|
+
},
|
|
555
|
+
[SetCurrencyCommand.id]: {
|
|
556
|
+
order: 9.2,
|
|
557
|
+
menuItemFactory: CurrencySymbolIconMenuItem
|
|
558
|
+
},
|
|
559
|
+
[AddDecimalCommand.id]: {
|
|
560
|
+
order: 9.3,
|
|
561
|
+
menuItemFactory: AddDecimalMenuItem
|
|
562
|
+
},
|
|
563
|
+
[SubtractDecimalCommand.id]: {
|
|
564
|
+
order: 9.4,
|
|
565
|
+
menuItemFactory: SubtractDecimalMenuItem
|
|
566
|
+
}
|
|
567
|
+
} };
|
|
568
|
+
|
|
569
|
+
//#endregion
|
|
570
|
+
//#region package.json
|
|
571
|
+
var name = "@univerjs/sheets-numfmt-ui";
|
|
572
|
+
var version = "1.0.0-alpha.3";
|
|
573
|
+
|
|
574
|
+
//#endregion
|
|
575
|
+
//#region src/config/config.ts
|
|
576
|
+
const SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY = "sheets-numfmt-ui.config";
|
|
577
|
+
const configSymbol = Symbol(SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY);
|
|
578
|
+
const defaultPluginConfig = {};
|
|
550
579
|
|
|
551
580
|
//#endregion
|
|
552
581
|
//#region src/controllers/user-habit.controller.ts
|
|
@@ -1179,10 +1208,9 @@ function SheetNumfmtPanel(props) {
|
|
|
1179
1208
|
})
|
|
1180
1209
|
}) })
|
|
1181
1210
|
] }), /* @__PURE__ */ jsxs("div", {
|
|
1182
|
-
className: "univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end",
|
|
1211
|
+
className: "univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end univer-gap-2 rtl:univer-flex-row-reverse",
|
|
1183
1212
|
children: [/* @__PURE__ */ jsx(Button, {
|
|
1184
1213
|
onClick: handleCancel,
|
|
1185
|
-
className: "univer-mr-3",
|
|
1186
1214
|
children: localeService.t("sheets-numfmt-ui.cancel")
|
|
1187
1215
|
}), /* @__PURE__ */ jsx(Button, {
|
|
1188
1216
|
variant: "primary",
|
|
@@ -1563,31 +1591,6 @@ function canConvertRichTextToNumfmt(body) {
|
|
|
1563
1591
|
}) || paragraphs.some((paragraph) => paragraph.bullet) || paragraphs.length >= 2 || Boolean(customRanges === null || customRanges === void 0 ? void 0 : customRanges.length) || customBlocks.length > 0);
|
|
1564
1592
|
}
|
|
1565
1593
|
|
|
1566
|
-
//#endregion
|
|
1567
|
-
//#region src/menu/schema.ts
|
|
1568
|
-
const menuSchema = { [RibbonStartGroup.LAYOUT]: {
|
|
1569
|
-
[OpenNumfmtPanelOperator.id]: {
|
|
1570
|
-
order: 9,
|
|
1571
|
-
menuItemFactory: FactoryOtherMenuItem
|
|
1572
|
-
},
|
|
1573
|
-
[SetPercentCommand.id]: {
|
|
1574
|
-
order: 9.1,
|
|
1575
|
-
menuItemFactory: PercentMenuItem
|
|
1576
|
-
},
|
|
1577
|
-
[SetCurrencyCommand.id]: {
|
|
1578
|
-
order: 9.2,
|
|
1579
|
-
menuItemFactory: CurrencySymbolIconMenuItem
|
|
1580
|
-
},
|
|
1581
|
-
[AddDecimalCommand.id]: {
|
|
1582
|
-
order: 9.3,
|
|
1583
|
-
menuItemFactory: AddDecimalMenuItem
|
|
1584
|
-
},
|
|
1585
|
-
[SubtractDecimalCommand.id]: {
|
|
1586
|
-
order: 9.4,
|
|
1587
|
-
menuItemFactory: SubtractDecimalMenuItem
|
|
1588
|
-
}
|
|
1589
|
-
} };
|
|
1590
|
-
|
|
1591
1594
|
//#endregion
|
|
1592
1595
|
//#region src/menu/numfmt.menu.controller.ts
|
|
1593
1596
|
/**
|
|
@@ -1629,7 +1632,7 @@ let UniverSheetsNumfmtUIPlugin = class UniverSheetsNumfmtUIPlugin extends Plugin
|
|
|
1629
1632
|
this._renderManagerService = _renderManagerService;
|
|
1630
1633
|
const { menu, ...rest } = merge({}, defaultPluginConfig, this._config);
|
|
1631
1634
|
if (menu) this._configService.setConfig("menu", menu, { merge: true });
|
|
1632
|
-
this._configService.setConfig(
|
|
1635
|
+
this._configService.setConfig(SHEETS_NUMFMT_UI_PLUGIN_CONFIG_KEY, rest);
|
|
1633
1636
|
}
|
|
1634
1637
|
onStarting() {
|
|
1635
1638
|
this._injector.add([ComponentsController]);
|
|
@@ -1669,4 +1672,4 @@ UniverSheetsNumfmtUIPlugin = __decorate([
|
|
|
1669
1672
|
], UniverSheetsNumfmtUIPlugin);
|
|
1670
1673
|
|
|
1671
1674
|
//#endregion
|
|
1672
|
-
export { UniverSheetsNumfmtUIPlugin };
|
|
1675
|
+
export { menuSchema as SheetsNumfmtUIMenuSchema, UniverSheetsNumfmtUIPlugin };
|
package/lib/types/index.d.ts
CHANGED
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/engine-render"),require("@univerjs/sheets-numfmt"),require("@univerjs/sheets-ui"),require("react"),require("@univerjs/ui"),require("@univerjs/design"),require("@univerjs/sheets"),require("rxjs"),require("rxjs/operators"),require("react/jsx-runtime"),require("@univerjs/engine-formula")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/engine-render`,`@univerjs/sheets-numfmt`,`@univerjs/sheets-ui`,`react`,`@univerjs/ui`,`@univerjs/design`,`@univerjs/sheets`,`rxjs`,`rxjs/operators`,`react/jsx-runtime`,`@univerjs/engine-formula`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsNumfmtUi={},e.UniverCore,e.UniverEngineRender,e.UniverSheetsNumfmt,e.UniverSheetsUi,e.React,e.UniverUi,e.UniverDesign,e.UniverSheets,e.rxjs,e.rxjs.operators,e.React,e.UniverEngineFormula))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var p=`@univerjs/sheets-numfmt-ui`,m=`1.0.0-alpha.1`;let h={};function g({ref:e,...t}){let{icon:n,id:r,className:i,extend:o,...s}=t,c=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),l=(0,a.useRef)(`_${b()}`);return _(n,`${r}`,{defIds:n.defIds,idSuffix:l.current},{ref:e,className:c,...s},o)}function _(e,t,n,r,i){return(0,a.createElement)(e.tag,{key:t,...v(e,n,i),...r},(y(e,n).children||[]).map((r,a)=>_(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function v(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function y(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function b(){return Math.random().toString(36).substring(2,8)}g.displayName=`UniverIcon`;let x={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M4.06641 3.49366C4.06641 2.27555 5.14145 1.3916 6.33307 1.3916C7.52469 1.3916 8.59974 2.27555 8.59974 3.49366V6.49777C8.59974 7.71586 7.52469 8.59982 6.33307 8.59982C5.14145 8.59982 4.06641 7.71586 4.06641 6.49777V3.49366ZM6.33307 2.5916C5.68376 2.5916 5.26641 3.05264 5.26641 3.49366V6.49777C5.26641 6.93878 5.68376 7.39982 6.33307 7.39982C6.98239 7.39982 7.39974 6.93878 7.39974 6.49777V3.49366C7.39974 3.05264 6.98239 2.5916 6.33307 2.5916Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M10.0664 3.49366C10.0664 2.27555 11.1415 1.3916 12.3331 1.3916C13.5247 1.3916 14.5997 2.27555 14.5997 3.49366V6.49777C14.5997 7.71586 13.5247 8.59982 12.3331 8.59982C11.1415 8.59982 10.0664 7.71586 10.0664 6.49777V3.49366ZM12.3331 2.5916C11.6838 2.5916 11.2664 3.05264 11.2664 3.49366V6.49777C11.2664 6.93878 11.6838 7.39982 12.3331 7.39982C12.9824 7.39982 13.3997 6.93878 13.3997 6.49777V3.49366C13.3997 3.05264 12.9824 2.5916 12.3331 2.5916Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M12.4242 9.5417C12.1899 9.30739 11.81 9.30739 11.5756 9.5417C11.3413 9.77602 11.3413 10.1559 11.5756 10.3902L12.5514 11.366H6.3334C6.00203 11.366 5.7334 11.6346 5.7334 11.966C5.7334 12.2973 6.00203 12.566 6.3334 12.566H12.5514L11.5756 13.5417C11.3413 13.776 11.3413 14.1559 11.5756 14.3902C11.81 14.6245 12.1899 14.6245 12.4242 14.3902L14.4159 12.3985C14.5294 12.2893 14.6001 12.1359 14.6001 11.966C14.6001 11.796 14.5294 11.6426 14.4159 11.5334L12.4242 9.5417Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.3999 8.3002C1.3999 7.96882 1.66853 7.7002 1.9999 7.7002H2.33324C2.66461 7.7002 2.93324 7.96882 2.93324 8.3002C2.93324 8.63157 2.66461 8.9002 2.33324 8.9002H1.9999C1.66853 8.9002 1.3999 8.63157 1.3999 8.3002Z`}}]},S=(0,a.forwardRef)(function(e,t){return(0,a.createElement)(g,Object.assign({},e,{id:`add-digits-icon`,ref:t,icon:x}))});S.displayName=`AddDigitsIcon`;let C={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,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`}}]},w=(0,a.forwardRef)(function(e,t){return(0,a.createElement)(g,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:C}))});w.displayName=`CheckMarkIcon`;let ee={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M7.3999 2.8999V1.6C7.3999 1.26863 7.66853 1 7.9999 1C8.33127 1 8.5999 1.26863 8.5999 1.6V2.8999H10.2044C11.6655 2.8999 12.8499 4.08431 12.8499 5.54536C12.8499 5.87673 12.5813 6.14536 12.2499 6.14536C11.9185 6.14536 11.6499 5.87673 11.6499 5.54536C11.6499 4.74705 11.0028 4.0999 10.2044 4.0999H5.7384C4.97155 4.0999 4.3499 4.72155 4.3499 5.4884C4.3499 6.14439 4.80899 6.71087 5.45074 6.84677L10.7977 7.97906C11.994 8.23242 12.8499 9.28849 12.8499 10.5114C12.8499 11.941 11.691 13.0999 10.2614 13.0999H8.5999V14.4C8.5999 14.7314 8.33127 15 7.9999 15C7.66853 15 7.3999 14.7314 7.3999 14.4V13.0999H5.79536C4.33431 13.0999 3.1499 11.9155 3.1499 10.4544C3.1499 10.1231 3.41853 9.85445 3.7499 9.85445C4.08127 9.85445 4.3499 10.1231 4.3499 10.4544C4.3499 11.2527 4.99705 11.8999 5.79536 11.8999H10.2614C11.0283 11.8999 11.6499 11.2782 11.6499 10.5114C11.6499 9.85542 11.1908 9.28893 10.5491 9.15303L5.20214 8.02074C4.00575 7.76739 3.1499 6.71132 3.1499 5.4884C3.1499 4.05881 4.30881 2.8999 5.7384 2.8999H7.3999Z`}}]},T=(0,a.forwardRef)(function(e,t){return(0,a.createElement)(g,Object.assign({},e,{id:`dollar-icon`,ref:t,icon:ee}))});T.displayName=`DollarIcon`;let te={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M5.84964 5.80918C6.71946 3.63548 8.84516 2.2 11.3295 2.2C11.8324 2.2 12.3198 2.26279 12.7846 2.38065C13.1058 2.46209 13.4322 2.26773 13.5137 1.94652C13.5951 1.62532 13.4008 1.2989 13.0795 1.21746C12.5191 1.07535 11.9327 1 11.3295 1C8.17278 1 5.49724 2.96009 4.57394 5.80918H3.06582C2.73445 5.80918 2.46582 6.07781 2.46582 6.40918C2.46582 6.74055 2.73445 7.00918 3.06582 7.00918H4.29808C4.25287 7.33297 4.22949 7.66376 4.22949 8C4.22949 8.33608 4.25284 8.6667 4.29801 8.99033H3.06582C2.73445 8.99033 2.46582 9.25896 2.46582 9.59033C2.46582 9.9217 2.73445 10.1903 3.06582 10.1903H4.57378C5.49693 13.0397 8.1726 15 11.3295 15C11.9336 15 12.5209 14.9244 13.0821 14.7819C13.4033 14.7003 13.5975 14.3738 13.5159 14.0527C13.4344 13.7315 13.1079 13.5373 12.7867 13.6188C12.3213 13.737 11.8332 13.8 11.3295 13.8C8.84497 13.8 6.71914 12.3643 5.84944 10.1903H11.4291C11.7605 10.1903 12.0291 9.9217 12.0291 9.59033C12.0291 9.25896 11.7605 8.99033 11.4291 8.99033H5.51225C5.45783 8.66834 5.42949 8.33748 5.42949 8C5.42949 7.66235 5.45786 7.33133 5.51233 7.00918H11.4291C11.7605 7.00918 12.0291 6.74055 12.0291 6.40918C12.0291 6.07781 11.7605 5.80918 11.4291 5.80918H5.84964Z`}}]},E=(0,a.forwardRef)(function(e,t){return(0,a.createElement)(g,Object.assign({},e,{id:`euro-icon`,ref:t,icon:te}))});E.displayName=`EuroIcon`;let D={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M1.85059 4.06725C1.85059 2.84302 2.84302 1.85059 4.06725 1.85059C5.29148 1.85059 6.28392 2.84302 6.28392 4.06725C6.28392 5.29148 5.29148 6.28392 4.06725 6.28392C2.84302 6.28392 1.85059 5.29148 1.85059 4.06725ZM4.06725 2.95059C3.45053 2.95059 2.95059 3.45053 2.95059 4.06725C2.95059 4.68397 3.45053 5.18392 4.06725 5.18392C4.68397 5.18392 5.18392 4.68397 5.18392 4.06725C5.18392 3.45053 4.68397 2.95059 4.06725 2.95059Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.7168 11.933C9.7168 10.7087 10.7092 9.71631 11.9335 9.71631C13.1577 9.71631 14.1501 10.7087 14.1501 11.933C14.1501 13.1572 13.1577 14.1496 11.9335 14.1496C10.7092 14.1496 9.7168 13.1572 9.7168 11.933ZM11.9335 10.8163C11.3167 10.8163 10.8168 11.3163 10.8168 11.933C10.8168 12.5497 11.3167 13.0496 11.9335 13.0496C12.5502 13.0496 13.0501 12.5497 13.0501 11.933C13.0501 11.3163 12.5502 10.8163 11.9335 10.8163Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M13.5241 3.32407C13.7584 3.08975 13.7584 2.70986 13.5241 2.47554C13.2898 2.24123 12.9099 2.24123 12.6755 2.47554L2.47554 12.6755C2.24123 12.9099 2.24123 13.2898 2.47554 13.5241C2.70986 13.7584 3.08975 13.7584 3.32407 13.5241L13.5241 3.32407Z`}}]},O=(0,a.forwardRef)(function(e,t){return(0,a.createElement)(g,Object.assign({},e,{id:`percent-icon`,ref:t,icon:D}))});O.displayName=`PercentIcon`;let ne={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M6.33307 1.3916C5.14145 1.3916 4.06641 2.27555 4.06641 3.49366V6.49777C4.06641 7.71586 5.14145 8.59982 6.33307 8.59982C7.52469 8.59982 8.59974 7.71586 8.59974 6.49777V3.49366C8.59974 2.27555 7.52469 1.3916 6.33307 1.3916ZM5.26641 3.49366C5.26641 3.05264 5.68376 2.5916 6.33307 2.5916C6.98239 2.5916 7.39974 3.05264 7.39974 3.49366V6.49777C7.39974 6.93878 6.98239 7.39982 6.33307 7.39982C5.68376 7.39982 5.26641 6.93878 5.26641 6.49777V3.49366Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M7.90913 9.5417C8.14345 9.30739 8.52335 9.30739 8.75766 9.5417C8.99198 9.77602 8.99198 10.1559 8.75766 10.3902L7.78193 11.366H13.9999C14.3313 11.366 14.5999 11.6346 14.5999 11.966C14.5999 12.2973 14.3313 12.566 13.9999 12.566H7.78193L8.75766 13.5417C8.99198 13.776 8.99198 14.1559 8.75766 14.3902C8.52335 14.6245 8.14345 14.6245 7.90913 14.3902L5.91739 12.3985C5.80388 12.2893 5.73324 12.1359 5.73324 11.966C5.73324 11.796 5.80388 11.6426 5.91739 11.5334L7.90913 9.5417Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.3999 8.3002C1.3999 7.96882 1.66853 7.7002 1.9999 7.7002H2.33324C2.66461 7.7002 2.93324 7.96882 2.93324 8.3002C2.93324 8.63157 2.66461 8.9002 2.33324 8.9002H1.9999C1.66853 8.9002 1.3999 8.63157 1.3999 8.3002Z`}}]},k=(0,a.forwardRef)(function(e,t){return(0,a.createElement)(g,Object.assign({},e,{id:`reduce-digits-icon`,ref:t,icon:ne}))});k.displayName=`ReduceDigitsIcon`;let re={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M11.9445 1.55649C12.2184 1.744 12.2895 2.11755 12.1033 2.39085L9.24342 6.58659H12.8001C13.1315 6.58659 13.4001 6.85522 13.4001 7.18659C13.4001 7.51796 13.1315 7.78659 12.8001 7.78659H8.5999V9.91276H13.2221C13.5534 9.91276 13.8221 10.1814 13.8221 10.5128C13.8221 10.8441 13.5534 11.1128 13.2221 11.1128H8.5999V14.0877C8.5999 14.4191 8.33127 14.6877 7.9999 14.6877C7.66853 14.6877 7.3999 14.4191 7.3999 14.0877V11.1128H2.77773C2.44636 11.1128 2.17773 10.8441 2.17773 10.5128C2.17773 10.1814 2.44636 9.91276 2.77773 9.91276H7.3999V7.78659H3.2001C2.86873 7.78659 2.6001 7.51796 2.6001 7.18659C2.6001 6.85522 2.86873 6.58659 3.2001 6.58659H6.75736L3.89753 2.39085C3.71125 2.11755 3.78234 1.744 4.05631 1.55649C4.33029 1.36899 4.7034 1.43854 4.88968 1.71184L7.94595 6.19577C7.96752 6.22741 7.98564 6.2604 8.00039 6.29429C8.01514 6.2604 8.03326 6.22741 8.05483 6.19577L11.1111 1.71184C11.2974 1.43854 11.6705 1.36899 11.9445 1.55649Z`}}]},A=(0,a.forwardRef)(function(e,t){return(0,a.createElement)(g,Object.assign({},e,{id:`rmb-icon`,ref:t,icon:re}))});A.displayName=`RmbIcon`;let ie={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M9.72502 1.02051H6.07803C4.97346 1.02051 4.07803 1.91594 4.07803 3.02051V7.57046H3.00039C2.66902 7.57046 2.40039 7.83909 2.40039 8.17046C2.40039 8.50183 2.66902 8.77046 3.00039 8.77046H4.07803V10.4854H3.00039C2.66902 10.4854 2.40039 10.754 2.40039 11.0854C2.40039 11.4167 2.66902 11.6854 3.00039 11.6854H4.07803V14.3795C4.07803 14.7108 4.34666 14.9795 4.67803 14.9795C5.0094 14.9795 5.27803 14.7108 5.27803 14.3795V11.6854H10.3637C10.695 11.6854 10.9637 11.4167 10.9637 11.0854C10.9637 10.754 10.695 10.4854 10.3637 10.4854H5.27803V8.77046H9.72503C11.8651 8.77046 13.6 7.03557 13.6 4.89548C13.6 2.75539 11.8651 1.02051 9.72502 1.02051ZM9.72503 7.57046H5.27803V3.12051C5.27803 2.62345 5.68097 2.22051 6.17803 2.22051H9.72502C11.2024 2.22051 12.4 3.41814 12.4 4.89548C12.4 6.37283 11.2024 7.57046 9.72503 7.57046Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},j=(0,a.forwardRef)(function(e,t){return(0,a.createElement)(g,Object.assign({},e,{id:`rouble-icon`,ref:t,icon:ie}))});j.displayName=`RoubleIcon`;let M={id:`sheet.operation.close.numfmt.panel`,type:t.CommandType.OPERATION,handler:()=>!0};function N(e){"@babel/helpers - typeof";return N=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},N(e)}function ae(e,t){if(N(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(N(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function oe(e){var t=ae(e,`string`);return N(t)==`symbol`?t:t+``}function P(e,t,n){return(t=oe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e,t){return function(n,r){t(n,r,e)}}function I(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 L=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._sheetInterceptorService=e,this._themeService=t,this._univerInstanceService=n,this._commandService=r,this._selectionManagerService=i,this._renderManagerService=a,this._numfmtService=o,this._componentManager=s,this._sidebarService=c,this._localeService=l,this._sheetsNumfmtCellContentController=u,P(this,`_previewPattern`,``),P(this,`_sidebarDisposable`,null),this._initRealTimeRenderingInterceptor(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener(),this._initNumfmtLocalChange()}_initNumfmtLocalChange(){this.disposeWithMe((0,l.merge)(this._sheetsNumfmtCellContentController.locale$,this._localeService.currentLocale$).subscribe(()=>{this._forceUpdate()}))}openPanel(){var e;let n=this._sidebarService,i=this._selectionManagerService,a=this._commandService,o=this._univerInstanceService,s=this._numfmtService,c=this._localeService,l=(((e=i.getCurrentSelections())==null?void 0:e.map(e=>e.range))||[])[0];if(!l)return!1;let u=o.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),d=u.getActiveSheet();if(!d)return!1;let f=d.getCellRaw(l.startRow,l.startColumn),p=s.getValue(u.getUnitId(),d.getSheetId(),l.startRow,l.startColumn),m=``;p&&(m=p.pattern);let h=(f==null?void 0:f.t)===t.CellValueType.NUMBER?f.v:12345678,g={onChange:e=>{if(e.type===`change`)this._previewPattern=e.value,this._forceUpdate();else if(e.type===`confirm`){var o;let s=((o=i.getCurrentSelections())==null?void 0:o.map(e=>e.range))||[],c={values:[]},l=(0,r.getPatternType)(e.value);s.forEach(n=>{t.Range.foreach(n,(t,n)=>{c.values.push({row:t,col:n,pattern:e.value,type:l})})}),a.executeCommand(r.SetNumfmtCommand.id,c),n.close()}else e.type===`cancel`&&n.close()},value:{defaultPattern:m,defaultValue:h,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=n.open({header:{title:c.t(`sheets-numfmt-ui.title`)},children:{label:`SHEET_NUMFMT_PANEL`,...g},onClose:()=>{this._forceUpdate(),a.executeCommand(M.id)}}),!0}_forceUpdate(e){var n;let r=this._renderManagerService.getRenderById(e==null?this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getUnitId():e);r==null||r.with(i.SheetSkeletonManagerService).reCalculate(),r==null||(n=r.mainComponent)==null||n.makeDirty()}_initCommands(){[R,M].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initRealTimeRenderingInterceptor(){let e=(0,l.combineLatest)([new l.Observable(e=>{this._commandService.onCommandExecuted(t=>{t.id===R.id&&e.next(!0),t.id===M.id&&e.next(!1)})}),this._selectionManagerService.selectionMoveEnd$.pipe((0,u.map)(e=>e?e.map(e=>e.range):[]))]);this.disposeWithMe((0,t.toDisposable)(e.pipe((0,u.switchMap)(([e,n])=>new l.Observable(r=>{let i=new t.DisposableCollection;return e&&n.length&&r.next({selectionRanges:n,disposableCollection:i}),()=>{i.dispose()}})),(0,u.tap)(()=>{this._previewPattern=null})).subscribe(({disposableCollection:e,selectionRanges:n})=>{var i;let a=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);this.openPanel(),e.add(this._sheetInterceptorService.intercept(c.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,effect:t.InterceptorEffectEnum.Value|t.InterceptorEffectEnum.Style,handler:(e,i,a)=>{let{row:o,col:s}=i,c=a(e)||{};if(n.find(e=>e.startColumn<=s&&e.endColumn>=s&&e.startRow<=o&&e.endRow>=o)){let e=i.worksheet.getCellRaw(o,s),n=e==null?void 0:e.v,a=e==null?void 0:e.t;if(n==null||a!==t.CellValueType.NUMBER||this._previewPattern===null)return c;let u=(0,r.getPatternPreviewIgnoreGeneral)(this._previewPattern,n,this._sheetsNumfmtCellContentController.locale);if(u.color){var l;let e=(l=this._themeService.getColorFromTheme(`${u.color}.500`))==null?u.color:l;return{...c,v:u.result,t:t.CellValueType.STRING,s:{cl:{rgb:e}}}}return{...c,v:u.result,t:t.CellValueType.STRING}}return c}})),(i=this._renderManagerService.getRenderById(a.getUnitId()))==null||(i=i.mainComponent)==null||i.makeDirty()})))}_commandExecutedListener(){let e=[c.RemoveNumfmtMutation.id,c.SetNumfmtMutation.id];this.disposeWithMe(new l.Observable(t=>{let n=this._commandService.onCommandExecuted(n=>{if(e.includes(n.id)){let e=n.params;t.next(e.unitId)}});return()=>n.dispose()}).pipe((0,u.debounceTime)(16)).subscribe(e=>this._forceUpdate(e)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{if(!e){var t;(t=this._sidebarDisposable)==null||t.dispose(),this._sidebarDisposable=null}})}};L=I([F(0,(0,t.Inject)(c.SheetInterceptorService)),F(1,(0,t.Inject)(t.ThemeService)),F(2,t.IUniverInstanceService),F(3,t.ICommandService),F(4,(0,t.Inject)(c.SheetsSelectionsService)),F(5,n.IRenderManagerService),F(6,c.INumfmtService),F(7,(0,t.Inject)(o.ComponentManager)),F(8,o.ISidebarService),F(9,(0,t.Inject)(t.LocaleService)),F(10,(0,t.Inject)(r.SheetsNumfmtCellContentController))],L);let R={id:`sheet.operation.open.numfmt.panel`,type:t.CommandType.OPERATION,handler:e=>(e.get(L).openPanel(),!0)},z=e=>[{label:`sheets-numfmt-ui.general`,pattern:null},{label:`sheets-numfmt-ui.text`,pattern:t.DEFAULT_TEXT_FORMAT_EXCEL},`|`,{label:`sheets-numfmt-ui.number`,pattern:`0`},{label:`sheets-numfmt-ui.percent`,pattern:`0.00%`},{label:`sheets-numfmt-ui.scientific`,pattern:`0.00E+00`},`|`,{label:`sheets-numfmt-ui.accounting`,pattern:`"${e}" #,##0.00_);[Red]("${e}"#,##0.00)`},{label:`sheets-numfmt-ui.financialValue`,pattern:`#,##0.00;[Red]#,##0.00`},{label:`sheets-numfmt-ui.currency`,pattern:`"${e}"#,##0.00_);[Red]("${e}"#,##0.00)`},{label:`sheets-numfmt-ui.roundingCurrency`,pattern:`"${e}"#,##0;[Red]"${e}"#,##0`},`|`,{label:`sheets-numfmt-ui.date`,pattern:`yyyy-mm-dd;@`},{label:`sheets-numfmt-ui.time`,pattern:`am/pm h":"mm":"ss`},{label:`sheets-numfmt-ui.dateTime`,pattern:`yyyy-m-d am/pm h:mm`},{label:`sheets-numfmt-ui.timeDuration`,pattern:`h:mm:ss`},`|`,{label:`sheets-numfmt-ui.moreFmt`,pattern:``}];function se(e){return{icon:new l.Observable(n=>{let i=e.get(t.LocaleService);return n.next((0,r.getCurrencySymbolIconByLocale)(i.getCurrentLocale()).icon),i.localeChanged$.subscribe(()=>{n.next((0,r.getCurrencySymbolIconByLocale)(i.getCurrentLocale()).icon)})}),id:r.SetCurrencyCommand.id,title:`sheets-numfmt-ui.currency`,tooltip:`sheets-numfmt-ui.currency`,type:o.MenuItemType.BUTTON,hidden$:(0,o.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:(0,i.getCurrentRangeDisable$)(e,{workbookTypes:[c.WorkbookEditablePermission],worksheetTypes:[c.WorksheetEditPermission,c.WorksheetSetCellStylePermission],rangeTypes:[c.RangeProtectionPermissionEditPoint]})}}function ce(e){return{icon:`AddDigitsIcon`,id:r.AddDecimalCommand.id,title:`sheets-numfmt-ui.addDecimal`,tooltip:`sheets-numfmt-ui.addDecimal`,type:o.MenuItemType.BUTTON,hidden$:(0,o.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:(0,i.getCurrentRangeDisable$)(e,{workbookTypes:[c.WorkbookEditablePermission],worksheetTypes:[c.WorksheetEditPermission,c.WorksheetSetCellStylePermission],rangeTypes:[c.RangeProtectionPermissionEditPoint]})}}function le(e){return{icon:`ReduceDigitsIcon`,id:r.SubtractDecimalCommand.id,title:`sheets-numfmt-ui.subtractDecimal`,tooltip:`sheets-numfmt-ui.subtractDecimal`,type:o.MenuItemType.BUTTON,hidden$:(0,o.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:(0,i.getCurrentRangeDisable$)(e,{workbookTypes:[c.WorkbookEditablePermission],worksheetTypes:[c.WorksheetEditPermission,c.WorksheetSetCellStylePermission],rangeTypes:[c.RangeProtectionPermissionEditPoint]})}}function ue(e){return{icon:`PercentIcon`,id:r.SetPercentCommand.id,title:`sheets-numfmt-ui.percent`,tooltip:`sheets-numfmt-ui.percent`,type:o.MenuItemType.BUTTON,hidden$:(0,o.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:(0,i.getCurrentRangeDisable$)(e,{workbookTypes:[c.WorkbookEditablePermission],worksheetTypes:[c.WorksheetEditPermission,c.WorksheetSetCellStylePermission],rangeTypes:[c.RangeProtectionPermissionEditPoint]})}}function de(e){let n=e.get(t.IUniverInstanceService),a=e.get(t.ICommandService),s=e.get(t.LocaleService),u=e.get(c.SheetsSelectionsService),d=[c.RemoveNumfmtMutation.id,c.SetNumfmtMutation.id],f=(0,i.deriveStateFromActiveSheet$)(n,``,({workbook:e,worksheet:n})=>new l.Observable(i=>(0,l.merge)(u.selectionMoveEnd$,(0,t.fromCallback)(a.onCommandExecuted.bind(a)).pipe((0,l.filter)(([e])=>d.includes(e.id)))).subscribe(()=>{let a=u.getCurrentSelections();if(a&&a[0]){var o,c;let l=a[0].range,u=l.startRow,d=l.startColumn,f=(o=e.getStyles().get((c=n.getCell(u,d))==null?void 0:c.s))==null?void 0:o.n,p=f==null?void 0:f.pattern,m=(0,r.getCurrencySymbolByLocale)(s.getCurrentLocale()),h=s.t(`sheets-numfmt-ui.general`);if((0,t.isDefaultFormat)(p)){i.next(h);return}if(p){let e=z(m).filter(e=>typeof e==`object`&&e.pattern).find(e=>(0,t.isPatternEqualWithoutDecimal)(p,e.pattern));h=e&&typeof e==`object`&&e.pattern?s.t(e.label):s.t(`sheets-numfmt-ui.moreFmt`)}i.next(h)}})));return{label:B,id:R.id,tooltip:`sheets-numfmt-ui.title`,type:o.MenuItemType.SELECTOR,slot:!0,selections:[{label:{name:V,hoverable:!1,selectable:!1}}],value$:f,hidden$:(0,o.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:(0,i.getCurrentRangeDisable$)(e,{workbookTypes:[c.WorkbookEditablePermission],worksheetTypes:[c.WorksheetSetCellStylePermission,c.WorksheetEditPermission],rangeTypes:[c.RangeProtectionPermissionEditPoint]})}}let B=`sheets-numfmt-ui.moreNumfmtType`,V=`sheets-numfmt-ui.moreNumfmtType.options`;function fe(e){let{value:n}=e,r=(0,o.useDependency)(t.LocaleService);return(0,d.jsx)(`span`,{className:`univer-text-sm`,children:n==null?r.t(`sheets-numfmt-ui.general`):n})}function pe(){let e=(0,o.useDependency)(t.ICommandService),n=(0,o.useDependency)(t.LocaleService),i=(0,o.useDependency)(o.ILayoutService),l=(0,o.useDependency)(r.SheetsNumfmtCellContentController),u=(0,o.useDependency)(c.SheetsSelectionsService),f=n=>{let a=u.getCurrentLastSelection();if(!a)return;let o=a.range,s=[];t.Range.foreach(o,(e,t)=>{n?s.push({row:e,col:t,pattern:n,type:(0,r.getPatternType)(n)}):s.push({row:e,col:t})}),e.executeCommand(r.SetNumfmtCommand.id,{values:s}),i.focus()},p=(0,a.useMemo)(()=>z(r.localeCurrencySymbolMap.get(n.getCurrentLocale())),[n]),m=t=>{if(t===0)f(null);else if(t===p.length-1)e.executeCommand(R.id),i.focus();else{let e=p[t];e.pattern&&f(e.pattern)}};return(0,d.jsx)(`div`,{className:`univer-grid univer-gap-1 univer-p-1.5`,children:p.map((e,t)=>e===`|`?(0,d.jsx)(s.Separator,{},t):(0,d.jsxs)(`div`,{className:`univer-flex univer-h-7 univer-cursor-default univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,onClick:()=>m(t),children:[(0,d.jsx)(`span`,{children:n.t(e.label)}),(0,d.jsx)(`span`,{className:`univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400`,children:e.pattern?(0,r.getPatternPreview)(e.pattern||``,1220,l.locale).result.trim():``})]},t))})}let H=(0,a.createContext)([]),U=class{constructor(e){this._localStorageService=e}_getKey(e){return`userHabitController_${e}`}async addHabit(e,t){let n=this._getKey(e);return this._localStorageService.getItem(n).then(e=>{e||this._localStorageService.setItem(n,t)})}markHabit(e,t){let n=this._getKey(e);this._localStorageService.getItem(n).then(e=>{if(e){let r=e.findIndex(e=>e===t);r>-1&&e.splice(r,1),e.unshift(t),this._localStorageService.setItem(n,e)}})}async getHabit(e,t){let n=this._getKey(e),r=await this._localStorageService.getItem(n);if(t&&r){let e=r.map((e,t,n)=>({value:e,priority:n.length-t}));return t.sort((t,n)=>{var r,i;let a=((r=e.find(e=>e.value===t))==null?void 0:r.priority)||-1;return(((i=e.find(e=>e.value===n))==null?void 0:i.priority)||-1)-a})}return r||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};U=I([F(0,(0,t.Inject)(t.ILocalStorageService))],U);let me=e=>!!(0,r.getCurrencyType)(e)&&e.startsWith(`_(`);function he(e){let{defaultPattern:n,onActionChange:i,onChange:c}=e,[l,u]=(0,a.useState)(()=>(0,r.getDecimalFromPattern)(n||``,2)),f=(0,a.useContext)(H),[p,m]=(0,a.useState)(()=>(0,r.getCurrencyType)(n)||f[0]),h=(0,a.useMemo)(()=>f.map(e=>({label:e,value:e})),[]),g=(0,o.useDependency)(t.LocaleService);return(0,a.useLayoutEffect)(()=>{i(()=>(0,r.setPatternDecimal)(`_("${p}"* #,##0${l>0?`.0`:``}_)`,l))},[l,i,p]),(0,d.jsxs)(`div`,{children:[(0,d.jsxs)(`div`,{className:`univer-mt-4 univer-flex univer-justify-between`,children:[(0,d.jsxs)(`div`,{className:`option`,children:[(0,d.jsx)(`div`,{className:`univer-text-sm univer-text-gray-400`,children:g.t(`sheets-numfmt-ui.decimalLength`)}),(0,d.jsx)(`div`,{className:`univer-mt-2 univer-w-32`,children:(0,d.jsx)(s.InputNumber,{value:l,step:1,precision:0,max:20,min:0,onChange:e=>{let t=e||0;u(t),c((0,r.setPatternDecimal)(`_("${p}"* #,##0${t>0?`.0`:``}_)`,t))}})})]}),(0,d.jsxs)(`div`,{className:`option`,children:[(0,d.jsx)(`div`,{className:`univer-text-sm univer-text-gray-400`,children:g.t(`sheets-numfmt-ui.currencyType`)}),(0,d.jsx)(`div`,{className:`univer-mt-2 univer-w-36`,children:(0,d.jsx)(s.Select,{options:h,value:p,onChange:e=>{m(e),c((0,r.setPatternDecimal)(`_("${e}"* #,##0${l>0?`.0`:``}_)`,l))}})})]})]}),(0,d.jsx)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:g.t(`sheets-numfmt-ui.accountingDes`)})]})}let ge=e=>!!(0,r.getCurrencyType)(e)&&!e.startsWith(`_(`);function _e(e){let{onActionChange:n,onChange:i}=e,c=(0,o.useDependency)(t.LocaleService),l=(0,a.useContext)(H),[u,f]=(0,a.useState)(()=>(0,r.getCurrencyType)(e.defaultPattern)||l[0]),[p,m]=(0,a.useState)(()=>(0,r.getDecimalFromPattern)(e.defaultPattern||``,2)),[h,g]=(0,a.useState)(()=>{var n;let i=(0,r.getCurrencyFormatOptions)(u);return((n=i.find(n=>(0,t.isPatternEqualWithoutDecimal)(n.value,e.defaultPattern)))==null?void 0:n.value)||i[0].value}),_=(0,a.useMemo)(()=>(0,r.getCurrencyFormatOptions)(u),[u]),v=(0,a.useMemo)(()=>l.map(e=>({label:e,value:e})),[l]);return(0,a.useLayoutEffect)(()=>{n(()=>(0,r.setPatternDecimal)(h,p))},[p,n,h]),(0,d.jsxs)(`div`,{children:[(0,d.jsxs)(`div`,{className:`univer-mt-4 univer-flex univer-justify-between`,children:[(0,d.jsxs)(`div`,{className:`option`,children:[(0,d.jsx)(`div`,{className:`univer-text-sm univer-text-gray-400`,children:c.t(`sheets-numfmt-ui.decimalLength`)}),(0,d.jsx)(`div`,{className:`univer-mt-2 univer-w-32`,children:(0,d.jsx)(s.InputNumber,{value:p,max:20,min:0,onChange:e=>{m(e||0),i((0,r.setPatternDecimal)(h,e||0))}})})]}),(0,d.jsxs)(`div`,{className:`option`,children:[(0,d.jsx)(`div`,{className:`univer-text-sm univer-text-gray-400`,children:c.t(`sheets-numfmt-ui.currencyType`)}),(0,d.jsx)(`div`,{className:`univer-mt-2 univer-w-36`,children:(0,d.jsx)(s.Select,{value:u,options:v,onChange:e=>{if(e===void 0)return;f(e);let t=(0,r.getCurrencyFormatOptions)(e)[0].value;g(t),i((0,r.setPatternDecimal)(t,p))}})})]})]}),(0,d.jsx)(`div`,{className:`label univer-mt-4`,children:c.t(`sheets-numfmt-ui.negType`)}),(0,d.jsx)(`div`,{className:`univer-mt-2`,children:(0,d.jsx)(s.SelectList,{value:h,options:_,onChange:e=>{e!==void 0&&(g(e),i((0,r.setPatternDecimal)(e,p)))}})}),(0,d.jsx)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:c.t(`sheets-numfmt-ui.currencyDes`)})]})}let W=`customFormat`,G=`numfmt_custom_pattern`;function ve(e){let{defaultPattern:n,onActionChange:i,onChange:c}=e,l=(0,o.useDependency)(U),u=(0,o.useDependency)(t.ILocalStorageService),f=(0,o.useDependency)(t.LocaleService),[p,m]=(0,a.useState)(n);(0,a.useLayoutEffect)(()=>{i(()=>(l.markHabit(W,p),u.getItem(G).then((e=[])=>{let t=[...new Set([p,...e||[]])].splice(0,10).filter(e=>!!e);u.setItem(G,t)}),p))},[u,i,p,l]);let[h,g]=(0,a.useState)([]);(0,a.useEffect)(()=>{u.getItem(G).then(e=>{let t=[...r.CURRENCYFORMAT.map(e=>e.suffix(`$`)),...r.DATEFMTLISG.map(e=>e.suffix),...r.NUMBERFORMAT.map(e=>e.suffix)];t.push(...e||[]),l.addHabit(W,[]).finally(()=>{l.getHabit(W,t).then(e=>{g([...new Set(e)])})})})},[]);let _=e=>{m(e),c(e)};return(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:f.t(`sheets-numfmt-ui.customFormat`)}),(0,d.jsx)(s.Input,{placeholder:f.t(`sheets-numfmt-ui.customFormat`),onBlur:()=>{c(p)},value:p,onChange:m,className:`univer-mt-2 univer-w-full`}),(0,d.jsx)(`div`,{className:(0,s.clsx)(`univer-mt-2 univer-max-h-[400px] univer-overflow-auto univer-rounded-lg univer-p-2`,s.borderClassName),children:h.map(e=>(0,d.jsxs)(`div`,{onClick:()=>_(e),className:`univer-flex univer-cursor-pointer univer-items-center univer-gap-1.5 univer-py-1.5 univer-text-sm`,children:[(0,d.jsx)(`div`,{className:`univer-flex univer-w-4 univer-items-center univer-text-primary-600`,children:p===e&&(0,d.jsx)(w,{})}),(0,d.jsx)(`div`,{children:e})]},e))}),(0,d.jsx)(`div`,{className:`univer-mt-3 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200`,children:f.t(`sheets-numfmt-ui.customFormatDes`)})]})}let ye=e=>{let n=t.numfmt.getFormatInfo(e);return(0,r.getDateFormatOptions)().map(e=>e.value).includes(e)||[`date`,`datetime`,`time`].includes(n.type)};function be(e){let{onActionChange:n,onChange:i,defaultPattern:c}=e,l=(0,a.useMemo)(r.getDateFormatOptions,[]),u=(0,o.useDependency)(t.LocaleService),[f,p]=(0,a.useState)(()=>{if(c){let e=l.find(e=>e.value===c);if(e)return e.value}return l[0].value});return(0,a.useLayoutEffect)(()=>{n(()=>f)},[n,f]),(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:u.t(`sheets-numfmt-ui.dateType`)}),(0,d.jsx)(`div`,{className:`univer-mt-2`,children:(0,d.jsx)(s.SelectList,{value:f,options:l,onChange:e=>{e!==void 0&&(p(e),i(e))}})}),(0,d.jsx)(`div`,{className:`univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200`,children:u.t(`sheets-numfmt-ui.dateDes`)})]})}let xe=e=>!e;function Se(e){let n=(0,o.useDependency)(t.LocaleService),{onActionChange:r}=e;return(0,a.useLayoutEffect)(()=>{r(()=>``)},[r]),(0,d.jsx)(`div`,{children:(0,d.jsx)(`div`,{className:`univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200`,children:n.t(`sheets-numfmt-ui.generalDes`)})})}let Ce=e=>(0,r.getNumberFormatOptions)().some(n=>(0,t.isPatternEqualWithoutDecimal)(n.value,e));function we(e){let{onActionChange:n,onChange:i}=e,c=(0,o.useDependency)(t.LocaleService),l=(0,a.useMemo)(r.getNumberFormatOptions,[]),[u,f]=(0,a.useState)(()=>(0,r.getDecimalFromPattern)(e.defaultPattern||``,0)),[p,m]=(0,a.useState)(()=>{let n=l.find(n=>(0,t.isPatternEqualWithoutDecimal)(n.value,e.defaultPattern||``));return(n==null?void 0:n.value)||l[0].value}),h=(0,a.useMemo)(()=>(0,r.setPatternDecimal)(p,Number(u||0)),[p,u]),g=(0,a.useMemo)(()=>!(0,r.isPatternHasDecimal)(p),[p]);return(0,a.useLayoutEffect)(()=>{n(()=>h)},[n,h]),(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:c.t(`sheets-numfmt-ui.decimalLength`)}),(0,d.jsx)(`div`,{className:`univer-mt-2`,children:(0,d.jsx)(s.InputNumber,{disabled:g,value:u,max:20,min:0,onChange:e=>{f(e||0),i((0,r.setPatternDecimal)(p,Number(e||0)))}})}),(0,d.jsxs)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:[` `,c.t(`sheets-numfmt-ui.negType`)]}),(0,d.jsx)(`div`,{className:`univer-mt-2`,children:(0,d.jsx)(s.SelectList,{onChange:e=>{e!==void 0&&(f((0,r.getDecimalFromPattern)(e,0)),m(e),i(e))},options:l,value:p})}),(0,d.jsx)(`div`,{className:`univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200`,children:c.t(`sheets-numfmt-ui.thousandthPercentileDes`)})]})}let K=`numfmtCurrency`,Te=e=>{let n=(0,o.useDependency)(U),[r,i]=(0,a.useState)(t.currencySymbols);return(0,a.useEffect)(()=>{n.addHabit(`numfmtCurrency`,[]).then(()=>{n.getHabit(K,[...t.currencySymbols]).then(t=>{i(t),e&&e(t)})})},[]),{userHabitCurrency:r,mark:e=>{n.markHabit(K,e)}}},Ee=()=>{let e=(0,a.useRef)([]),[t,n]=(0,a.useState)({});return(0,a.useEffect)(()=>{e.current.forEach(e=>{e()}),e.current=[]},[t]),t=>{e.current.push(t),n({})}};function De(e){let{defaultValue:n,defaultPattern:i,row:c,col:l}=e.value,u=(0,o.useDependency)(t.LocaleService),f=(0,a.useRef)(()=>``),p=Ee(),m=(0,a.useMemo)(()=>[{label:`sheets-numfmt-ui.general`,component:Se},{label:`sheets-numfmt-ui.accounting`,component:he},{label:`sheets-numfmt-ui.currency`,component:_e},{label:`sheets-numfmt-ui.date`,component:be},{label:`sheets-numfmt-ui.thousandthPercentile`,component:we},{label:`sheets-numfmt-ui.customFormat`,component:ve}].map(e=>({...e,label:u.t(e.label)})),[u]),[h,g]=(0,a.useState)(S),[_,v]=(0,a.useState)(()=>`${c}_${l}_${i}`),{mark:y,userHabitCurrency:b}=Te(()=>v(`${c}_${l}_${i}_userCurrency`)),x=(0,a.useMemo)(()=>{var e;return(e=m.find(e=>e.label===h))==null?void 0:e.component},[h]);function S(){return[xe,me,ge,ye,Ce].reduce((e,t,n)=>e||(t(i)?m[n].label:``),``)||m[0].label}let C=m.map(e=>({label:e.label,value:e.label})),w=t=>{g(t),p(()=>e.onChange({type:`change`,value:f.current()||``}))},ee=(0,a.useCallback)(t=>{e.onChange({type:`change`,value:t})},[]),T=(0,a.useCallback)(e=>{f.current=e},[]),te=()=>{let t=f.current()||``,n=(0,r.getCurrencyType)(t);n&&y(n),e.onChange({type:`confirm`,value:t})},E=()=>{e.onChange({type:`cancel`,value:``})},D={onChange:ee,onActionChange:T,defaultValue:n,defaultPattern:i};return(0,a.useEffect)(()=>{g(S()),v(`${c}_${l}_${i}`)},[c,l,i]),(0,d.jsxs)(`div`,{className:(0,s.clsx)(`univer-flex univer-h-full univer-flex-col univer-justify-between univer-overflow-y-auto univer-pb-5`,s.scrollbarClassName),children:[(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`univer-mt-3.5 univer-text-sm univer-text-gray-400`,children:u.t(`sheets-numfmt-ui.numfmtType`)}),(0,d.jsx)(`div`,{className:`univer-mt-2`,children:(0,d.jsx)(s.Select,{className:`univer-w-full`,value:h,options:C,onChange:w})}),(0,d.jsx)(`div`,{children:x&&(0,d.jsx)(H.Provider,{value:b,children:(0,a.createElement)(x,{...D,key:_})})})]}),(0,d.jsxs)(`div`,{className:`univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end`,children:[(0,d.jsx)(s.Button,{onClick:E,className:`univer-mr-3`,children:u.t(`sheets-numfmt-ui.cancel`)}),(0,d.jsx)(s.Button,{variant:`primary`,onClick:te,children:u.t(`sheets-numfmt-ui.confirm`)})]})]})}let q=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerComponents(),this._registerIcons()}_registerIcons(){this.disposeWithMe(this._iconManager.register({AddDigitsIcon:S,DollarIcon:T,EuroIcon:E,PercentIcon:O,ReduceDigitsIcon:k,RmbIcon:A,RoubleIcon:j}))}_registerComponents(){this.disposeWithMe(this._componentManager.register(`SHEET_NUMFMT_PANEL`,De)),[[B,fe],[V,pe]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};q=I([F(0,(0,t.Inject)(o.ComponentManager)),F(1,(0,t.Inject)(o.IconManager))],q);let J=`SHEET_NUMFMT_ALERT`,Y=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=n,this._localeService=r,this._numfmtService=i,this._configService=a,this._init()}_init(){this._initCellAlertPopup()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.pipe((0,l.debounceTime)(100)).subscribe(e=>{if(e){let o=e.location,s=this._context.unit,c=s.getActiveSheet();if(!c)return this._hideAlert();let l=o.unitId,u=o.subUnitId,d,f=c.getCell(o.row,o.col);if(f!=null&&f.s){let e=s.getStyles().get(f.s);e!=null&&e.n&&(d=e.n)}if(d||(d=this._numfmtService.getValue(l,u,o.row,o.col)),!d){this._hideAlert();return}if((0,t.isTextFormat)(d.pattern)&&t.Tools.isDefine(f==null?void 0:f.v)&&(0,t.isRealNum)(f.v)){var n,a;if((n=this._configService.getConfig(r.SHEETS_NUMFMT_PLUGIN_CONFIG_KEY))!=null&&n.disableTextFormatAlert)return;let e=this._cellAlertManagerService.currentAlert.get(J),t=e==null||(a=e.alert)==null?void 0:a.location;if(t&&t.row===o.row&&t.col===o.col&&t.subUnitId===o.subUnitId&&t.unitId===o.unitId){this._hideAlert();return}this._cellAlertManagerService.showAlert({type:i.CellAlertType.ERROR,title:this._localeService.t(`sheets-numfmt-ui.info.error`),message:this._localeService.t(`sheets-numfmt-ui.info.forceStringInfo`),location:o,width:200,height:74,key:J});return}}this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(J)}};Y=I([F(1,(0,t.Inject)(i.HoverManagerService)),F(2,(0,t.Inject)(i.CellAlertManagerService)),F(3,(0,t.Inject)(t.LocaleService)),F(4,(0,t.Inject)(c.INumfmtService)),F(5,t.IConfigService)],Y);let X=class extends t.Disposable{constructor(e){super(),this._repeatLastActionService=e,this._initCommandRecording()}_initCommandRecording(){this._repeatLastActionService&&this.disposeWithMe(this._repeatLastActionService.registerRepeatableCommand(r.SetNumfmtCommand.id,(e,t)=>{if(!t)return;let{values:n}=t,r=n.find(e=>e.pattern);if(!r)return;let{pattern:i,type:a}=r,o=[],s=new Set;for(let t of e){let{startRow:e,startColumn:n,endRow:r,endColumn:c}=t;for(let t=e;t<=r;t++)for(let e=n;e<=c;e++){let n=`${t}-${e}`;s.has(n)||(s.add(n),o.push({row:t,col:e,pattern:i,type:a}))}}return{...t,values:o}},i.RepeatLastActionPermission.CellStyle))}};X=I([F(0,(0,t.Optional)(i.IRepeatLastActionService))],X);let Oe=()=>{let e=[];return{add:(t,n,r,i,a)=>e.push({unitId:t,subUnitId:n,row:r,col:i,value:a}),getEffects:()=>e,clean:()=>{e=[]}}},Z=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._sheetInterceptorService=e,this._numfmtService=t,this._univerInstanceService=n,this._injector=r,this._editorBridgeService=i,P(this,`_collectEffectMutation`,Oe()),this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe((0,t.toDisposable)(this._sheetInterceptorService.writeCellInterceptor.intercept(c.BEFORE_CELL_EDIT,{handler:(e,n,i)=>{let a=n.row,o=n.col,s=this._numfmtService.getValue(n.unitId,n.subUnitId,a,o);if(s)switch((0,r.getPatternType)(s.pattern)){case`scientific`:case`currency`:case`grouped`:case`number`:{let e={...n.worksheet.getCellRaw(a,o)};return(e==null?void 0:e.t)===t.CellValueType.NUMBER&&(0,t.isRealNum)(e.v)&&(e.v=(0,f.stripErrorMargin)(Number(e.v))),i&&i(e)}case`percent`:{let e={...n.worksheet.getCellRaw(a,o)};return(e==null?void 0:e.t)===t.CellValueType.NUMBER&&(0,t.isRealNum)(e.v)&&(e.v=`${(0,f.stripErrorMargin)(Number(e.v)*100)}%`),i&&i(e)}default:return i&&i(e)}return i(e)}})))}_initInterceptorEditorEnd(){this.disposeWithMe((0,t.toDisposable)(this._sheetInterceptorService.writeCellInterceptor.intercept(c.AFTER_CELL_EDIT,{handler:(e,n,i)=>{var a,o;if(!(e!=null&&e.v)&&!(e!=null&&e.p))return i(e);this._collectEffectMutation.clean();let s=this._numfmtService.getValue(n.unitId,n.subUnitId,n.row,n.col),c=n.worksheet.getCellRaw(n.row,n.col);if((0,t.isTextFormat)(s==null?void 0:s.pattern)||e.t===t.CellValueType.FORCE_STRING)return i(e);let l=(a=e.p)==null?void 0:a.body,u=!(e==null||(o=e.p)==null||(o=o.body)==null)&&o.dataStream?e.p.body.dataStream.replace(/\r\n$/,``):String(e.v),d=(0,t.getNumfmtParseValueFilter)(u);if(l)if(ke(l)){let{dataStream:t}=l,n=t.replace(/\r\n$/,``),r=Number(n);if(Number.isNaN(r)&&!d)return i(e)}else return i(e);if(d){if(!d.z&&!(s!=null&&s.pattern)&&(c==null?void 0:c.t)!==t.CellValueType.STRING&&(c==null?void 0:c.t)!==t.CellValueType.FORCE_STRING&&(0,t.willLoseNumericPrecision)(u))return i({...e,p:void 0,v:u,t:t.CellValueType.FORCE_STRING});d.z&&(!(s!=null&&s.pattern)||(0,r.getPatternType)(d.z)!==(0,r.getPatternType)(s.pattern))&&this._collectEffectMutation.add(n.unitId,n.subUnitId,n.row,n.col,{pattern:d.z});let a=(0,f.stripErrorMargin)(Number(d.v),16);return i({...e,p:void 0,v:a,t:t.CellValueType.NUMBER})}return i(e)}})))}_initInterceptorCommands(){let e=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(n){switch(n.id){case c.SetRangeValuesCommand.id:{var r;let n=e._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),i=n.getUnitId(),a=(r=n.getActiveSheet())==null?void 0:r.getSheetId();if(!a)return{redos:[],undos:[]};let o=e._collectEffectMutation.getEffects();if(e._collectEffectMutation.clean(),!o.length)return{redos:[],undos:[]};let s=o.filter(e=>{var t;return!!((t=e.value)!=null&&t.pattern)}).map(e=>({row:e.row,col:e.col,pattern:e.value.pattern})),l=o.filter(e=>{var t;return!((t=e.value)!=null&&t.pattern)}).map(e=>({startRow:e.row,endColumn:e.col,startColumn:e.col,endRow:e.row})),u=[],d=[];if(s.length){let t={id:c.SetNumfmtMutation.id,params:(0,c.transformCellsToRange)(i,a,s)};u.push(t),d.push(...(0,c.factorySetNumfmtUndoMutation)(e._injector,t.params))}if(l.length){let t={id:c.RemoveNumfmtMutation.id,params:{unitId:i,subUnitId:a,ranges:l}};u.push(t),d.push(...(0,c.factoryRemoveNumfmtUndoMutation)(e._injector,t.params))}return{redos:u,undos:d.reverse()}}}return{redos:[],undos:[]}}}))}dispose(){super.dispose(),this._collectEffectMutation.clean()}};Z=I([F(0,(0,t.Inject)(c.SheetInterceptorService)),F(1,(0,t.Inject)(c.INumfmtService)),F(2,(0,t.Inject)(t.IUniverInstanceService)),F(3,(0,t.Inject)(t.Injector)),F(4,(0,t.Optional)(i.IEditorBridgeService))],Z);function ke(e){let{textRuns:t=[],paragraphs:n=[],customRanges:r,customBlocks:i=[]}=e,a=[`va`];return!(t.some(e=>!!(e.ts&&Object.keys(e.ts).some(e=>a.includes(e))))||n.some(e=>e.bullet)||n.length>=2||r!=null&&r.length||i.length>0)}let Ae={[o.RibbonStartGroup.LAYOUT]:{[R.id]:{order:9,menuItemFactory:de},[r.SetPercentCommand.id]:{order:9.1,menuItemFactory:ue},[r.SetCurrencyCommand.id]:{order:9.2,menuItemFactory:se},[r.AddDecimalCommand.id]:{order:9.3,menuItemFactory:ce},[r.SubtractDecimalCommand.id]:{order:9.4,menuItemFactory:le}}},Q=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._menuManagerService=t,this._initMenu()}_initMenu(){this._menuManagerService.mergeMenu(Ae)}};Q=I([F(0,(0,t.Inject)(o.ComponentManager)),F(1,o.IMenuManagerService)],Q);let $=class extends t.Plugin{constructor(e=h,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._renderManagerService=i;let{menu:a,...o}=(0,t.merge)({},h,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(`sheets-numfmt-ui.config`,o)}onStarting(){this._injector.add([q]),this._injector.get(q),(0,t.registerDependencies)(this._injector,[[L],[Z],[U],[Q],[X]])}onRendered(){this._registerRenderModules(),(0,t.touchDependencies)(this._injector,[[L],[Z],[Q],[X]])}_registerRenderModules(){[[Y]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,e))})}};P($,`pluginName`,`SHEET_NUMFMT_UI_PLUGIN`),P($,`packageName`,p),P($,`version`,m),P($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=I([(0,t.DependentOn)(i.UniverSheetsUIPlugin,r.UniverSheetsNumfmtPlugin),F(1,(0,t.Inject)(t.Injector)),F(2,t.IConfigService),F(3,n.IRenderManagerService)],$),Object.defineProperty(e,"UniverSheetsNumfmtUIPlugin",{enumerable:!0,get:function(){return $}})});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/sheets-numfmt"),require("@univerjs/ui"),require("@univerjs/core"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("rxjs"),require("rxjs/operators"),require("@univerjs/design"),require("react"),require("react/jsx-runtime"),require("@univerjs/engine-formula")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/sheets-numfmt`,`@univerjs/ui`,`@univerjs/core`,`@univerjs/engine-render`,`@univerjs/sheets`,`@univerjs/sheets-ui`,`rxjs`,`rxjs/operators`,`@univerjs/design`,`react`,`react/jsx-runtime`,`@univerjs/engine-formula`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsNumfmtUi={},e.UniverSheetsNumfmt,e.UniverUi,e.UniverCore,e.UniverEngineRender,e.UniverSheets,e.UniverSheetsUi,e.rxjs,e.rxjs.operators,e.UniverDesign,e.React,e.React,e.UniverEngineFormula))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let p={id:`sheet.operation.close.numfmt.panel`,type:r.CommandType.OPERATION,handler:()=>!0};function m(e){"@babel/helpers - typeof";return m=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},m(e)}function h(e,t){if(m(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(m(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function g(e){var t=h(e,`string`);return m(t)==`symbol`?t:t+``}function _(e,t,n){return(t=g(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e,t){return function(n,r){t(n,r,e)}}function y(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 b=class extends r.Disposable{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._sheetInterceptorService=e,this._themeService=t,this._univerInstanceService=n,this._commandService=r,this._selectionManagerService=i,this._renderManagerService=a,this._numfmtService=o,this._componentManager=s,this._sidebarService=c,this._localeService=l,this._sheetsNumfmtCellContentController=u,_(this,`_previewPattern`,``),_(this,`_sidebarDisposable`,null),this._initRealTimeRenderingInterceptor(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener(),this._initNumfmtLocalChange()}_initNumfmtLocalChange(){this.disposeWithMe((0,s.merge)(this._sheetsNumfmtCellContentController.locale$,this._localeService.currentLocale$).subscribe(()=>{this._forceUpdate()}))}openPanel(){var e;let n=this._sidebarService,i=this._selectionManagerService,a=this._commandService,o=this._univerInstanceService,s=this._numfmtService,c=this._localeService,l=(((e=i.getCurrentSelections())==null?void 0:e.map(e=>e.range))||[])[0];if(!l)return!1;let u=o.getCurrentUnitOfType(r.UniverInstanceType.UNIVER_SHEET),d=u.getActiveSheet();if(!d)return!1;let f=d.getCellRaw(l.startRow,l.startColumn),m=s.getValue(u.getUnitId(),d.getSheetId(),l.startRow,l.startColumn),h=``;m&&(h=m.pattern);let g=(f==null?void 0:f.t)===r.CellValueType.NUMBER?f.v:12345678,_={onChange:e=>{if(e.type===`change`)this._previewPattern=e.value,this._forceUpdate();else if(e.type===`confirm`){var o;let s=((o=i.getCurrentSelections())==null?void 0:o.map(e=>e.range))||[],c={values:[]},l=(0,t.getPatternType)(e.value);s.forEach(t=>{r.Range.foreach(t,(t,n)=>{c.values.push({row:t,col:n,pattern:e.value,type:l})})}),a.executeCommand(t.SetNumfmtCommand.id,c),n.close()}else e.type===`cancel`&&n.close()},value:{defaultPattern:h,defaultValue:g,row:l.startRow,col:l.startColumn}};return this._sidebarDisposable=n.open({header:{title:c.t(`sheets-numfmt-ui.title`)},children:{label:`SHEET_NUMFMT_PANEL`,..._},onClose:()=>{this._forceUpdate(),a.executeCommand(p.id)}}),!0}_forceUpdate(e){var t,n;let i=e==null?(t=this._univerInstanceService.getCurrentUnitOfType(r.UniverInstanceType.UNIVER_SHEET))==null?void 0:t.getUnitId():e;if(!i)return;let a=this._renderManagerService.getRenderById(i);a==null||a.with(o.SheetSkeletonManagerService).reCalculate(),a==null||(n=a.mainComponent)==null||n.makeDirty()}_initCommands(){[x,p].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initRealTimeRenderingInterceptor(){let e=(0,s.combineLatest)([new s.Observable(e=>{this._commandService.onCommandExecuted(t=>{t.id===x.id&&e.next(!0),t.id===p.id&&e.next(!1)})}),this._selectionManagerService.selectionMoveEnd$.pipe((0,c.map)(e=>e?e.map(e=>e.range):[]))]);this.disposeWithMe((0,r.toDisposable)(e.pipe((0,c.switchMap)(([e,t])=>new s.Observable(n=>{let i=new r.DisposableCollection;return e&&t.length&&n.next({selectionRanges:t,disposableCollection:i}),()=>{i.dispose()}})),(0,c.tap)(()=>{this._previewPattern=null})).subscribe(({disposableCollection:e,selectionRanges:n})=>{var i;let o=this._univerInstanceService.getCurrentUnitOfType(r.UniverInstanceType.UNIVER_SHEET);this.openPanel(),e.add(this._sheetInterceptorService.intercept(a.INTERCEPTOR_POINT.CELL_CONTENT,{priority:99,effect:r.InterceptorEffectEnum.Value|r.InterceptorEffectEnum.Style,handler:(e,i,a)=>{let{row:o,col:s}=i,c=a(e)||{};if(n.find(e=>e.startColumn<=s&&e.endColumn>=s&&e.startRow<=o&&e.endRow>=o)){let e=i.worksheet.getCellRaw(o,s),n=e==null?void 0:e.v,a=e==null?void 0:e.t;if(n==null||a!==r.CellValueType.NUMBER||this._previewPattern===null)return c;let u=(0,t.getPatternPreviewIgnoreGeneral)(this._previewPattern,n,this._sheetsNumfmtCellContentController.locale);if(u.color){var l;let e=(l=this._themeService.getColorFromTheme(`${u.color}.500`))==null?u.color:l;return{...c,v:u.result,t:r.CellValueType.STRING,s:{cl:{rgb:e}}}}return{...c,v:u.result,t:r.CellValueType.STRING}}return c}})),(i=this._renderManagerService.getRenderById(o.getUnitId()))==null||(i=i.mainComponent)==null||i.makeDirty()})))}_commandExecutedListener(){let e=[a.RemoveNumfmtMutation.id,a.SetNumfmtMutation.id];this.disposeWithMe(new s.Observable(t=>{let n=this._commandService.onCommandExecuted(n=>{if(e.includes(n.id)){let e=n.params;t.next(e.unitId)}});return()=>n.dispose()}).pipe((0,c.debounceTime)(16)).subscribe(e=>this._forceUpdate(e)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(r.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{if(!e){var t;(t=this._sidebarDisposable)==null||t.dispose(),this._sidebarDisposable=null}})}};b=y([v(0,(0,r.Inject)(a.SheetInterceptorService)),v(1,(0,r.Inject)(r.ThemeService)),v(2,r.IUniverInstanceService),v(3,r.ICommandService),v(4,(0,r.Inject)(a.SheetsSelectionsService)),v(5,i.IRenderManagerService),v(6,a.INumfmtService),v(7,(0,r.Inject)(n.ComponentManager)),v(8,n.ISidebarService),v(9,(0,r.Inject)(r.LocaleService)),v(10,(0,r.Inject)(t.SheetsNumfmtCellContentController))],b);let x={id:`sheet.operation.open.numfmt.panel`,type:r.CommandType.OPERATION,handler:e=>(e.get(b).openPanel(),!0)},S=`sheets-numfmt-ui.moreNumfmtType`,C=`sheets-numfmt-ui.moreNumfmtType.options`;function w(e){let{value:t}=e,i=(0,n.useDependency)(r.LocaleService);return(0,d.jsx)(`span`,{className:`univer-text-sm`,children:t==null?i.t(`sheets-numfmt-ui.general`):t})}function T(){let e=(0,n.useDependency)(r.ICommandService),i=(0,n.useDependency)(r.LocaleService),o=(0,n.useDependency)(n.ILayoutService),s=(0,n.useDependency)(t.SheetsNumfmtCellContentController),c=(0,n.useObservable)(i.direction$,i.getDirection()),f=(0,n.useDependency)(a.SheetsSelectionsService),p=n=>{let i=f.getCurrentLastSelection();if(!i)return;let a=i.range,s=[];r.Range.foreach(a,(e,r)=>{n?s.push({row:e,col:r,pattern:n,type:(0,t.getPatternType)(n)}):s.push({row:e,col:r})}),e.executeCommand(t.SetNumfmtCommand.id,{values:s}),o.focus()},m=(0,u.useMemo)(()=>E(t.localeCurrencySymbolMap.get(i.getCurrentLocale())),[i]),h=t=>{if(t===0)p(null);else if(t===m.length-1)e.executeCommand(x.id),o.focus();else{let e=m[t];e.pattern&&p(e.pattern)}};return(0,d.jsx)(`div`,{dir:c,className:`univer-grid univer-gap-1 univer-p-1.5`,children:m.map((e,n)=>e===`|`?(0,d.jsx)(l.Separator,{},n):(0,d.jsxs)(`div`,{className:`univer-flex univer-h-7 univer-cursor-default univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,onClick:()=>h(n),children:[(0,d.jsx)(`span`,{children:i.t(e.label)}),(0,d.jsx)(`span`,{className:`univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400`,children:e.pattern?(0,t.getPatternPreview)(e.pattern||``,1220,s.locale).result.trim():``})]},n))})}let E=e=>[{label:`sheets-numfmt-ui.general`,pattern:null},{label:`sheets-numfmt-ui.text`,pattern:r.DEFAULT_TEXT_FORMAT_EXCEL},`|`,{label:`sheets-numfmt-ui.number`,pattern:`0`},{label:`sheets-numfmt-ui.percent`,pattern:`0.00%`},{label:`sheets-numfmt-ui.scientific`,pattern:`0.00E+00`},`|`,{label:`sheets-numfmt-ui.accounting`,pattern:`"${e}" #,##0.00_);[Red]("${e}"#,##0.00)`},{label:`sheets-numfmt-ui.financialValue`,pattern:`#,##0.00;[Red]#,##0.00`},{label:`sheets-numfmt-ui.currency`,pattern:`"${e}"#,##0.00_);[Red]("${e}"#,##0.00)`},{label:`sheets-numfmt-ui.roundingCurrency`,pattern:`"${e}"#,##0;[Red]"${e}"#,##0`},`|`,{label:`sheets-numfmt-ui.date`,pattern:`yyyy-mm-dd;@`},{label:`sheets-numfmt-ui.time`,pattern:`am/pm h":"mm":"ss`},{label:`sheets-numfmt-ui.dateTime`,pattern:`yyyy-m-d am/pm h:mm`},{label:`sheets-numfmt-ui.timeDuration`,pattern:`h:mm:ss`},`|`,{label:`sheets-numfmt-ui.moreFmt`,pattern:``}];function D(e){return{icon:new s.Observable(n=>{let i=e.get(r.LocaleService);return n.next((0,t.getCurrencySymbolIconByLocale)(i.getCurrentLocale()).icon),i.localeChanged$.subscribe(()=>{n.next((0,t.getCurrencySymbolIconByLocale)(i.getCurrentLocale()).icon)})}),id:t.SetCurrencyCommand.id,title:`sheets-numfmt-ui.currency`,tooltip:`sheets-numfmt-ui.currency`,type:n.MenuItemType.BUTTON,hidden$:(0,n.getMenuHiddenObservable)(e,r.UniverInstanceType.UNIVER_SHEET),disabled$:(0,o.getCurrentRangeDisable$)(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function O(e){return{icon:`AddDigitsIcon`,id:t.AddDecimalCommand.id,title:`sheets-numfmt-ui.addDecimal`,tooltip:`sheets-numfmt-ui.addDecimal`,type:n.MenuItemType.BUTTON,hidden$:(0,n.getMenuHiddenObservable)(e,r.UniverInstanceType.UNIVER_SHEET),disabled$:(0,o.getCurrentRangeDisable$)(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function k(e){return{icon:`ReduceDigitsIcon`,id:t.SubtractDecimalCommand.id,title:`sheets-numfmt-ui.subtractDecimal`,tooltip:`sheets-numfmt-ui.subtractDecimal`,type:n.MenuItemType.BUTTON,hidden$:(0,n.getMenuHiddenObservable)(e,r.UniverInstanceType.UNIVER_SHEET),disabled$:(0,o.getCurrentRangeDisable$)(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function ee(e){return{icon:`PercentIcon`,id:t.SetPercentCommand.id,title:`sheets-numfmt-ui.percent`,tooltip:`sheets-numfmt-ui.percent`,type:n.MenuItemType.BUTTON,hidden$:(0,n.getMenuHiddenObservable)(e,r.UniverInstanceType.UNIVER_SHEET),disabled$:(0,o.getCurrentRangeDisable$)(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function te(e){let i=e.get(r.IUniverInstanceService),c=e.get(r.ICommandService),l=e.get(r.LocaleService),u=e.get(a.SheetsSelectionsService),d=[a.RemoveNumfmtMutation.id,a.SetNumfmtMutation.id],f=(0,o.deriveStateFromActiveSheet$)(i,``,({workbook:e,worksheet:n})=>new s.Observable(i=>(0,s.merge)(u.selectionMoveEnd$,(0,r.fromCallback)(c.onCommandExecuted.bind(c)).pipe((0,s.filter)(([e])=>d.includes(e.id)))).subscribe(()=>{let a=u.getCurrentSelections();if(a&&a[0]){var o,s;let c=a[0].range,u=c.startRow,d=c.startColumn,f=(o=e.getStyles().get((s=n.getCell(u,d))==null?void 0:s.s))==null?void 0:o.n,p=f==null?void 0:f.pattern,m=(0,t.getCurrencySymbolByLocale)(l.getCurrentLocale()),h=l.t(`sheets-numfmt-ui.general`);if((0,r.isDefaultFormat)(p)){i.next(h);return}if(p){let e=E(m).filter(e=>typeof e==`object`&&e.pattern).find(e=>(0,r.isPatternEqualWithoutDecimal)(p,e.pattern));h=e&&typeof e==`object`&&e.pattern?l.t(e.label):l.t(`sheets-numfmt-ui.moreFmt`)}i.next(h)}})));return{label:S,id:x.id,tooltip:`sheets-numfmt-ui.title`,type:n.MenuItemType.SELECTOR,slot:!0,selections:[{label:{name:C,hoverable:!1,selectable:!1}}],value$:f,hidden$:(0,n.getMenuHiddenObservable)(e,r.UniverInstanceType.UNIVER_SHEET),disabled$:(0,o.getCurrentRangeDisable$)(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetSetCellStylePermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}let A={[n.RibbonStartGroup.LAYOUT]:{[x.id]:{order:9,menuItemFactory:te},[t.SetPercentCommand.id]:{order:9.1,menuItemFactory:ee},[t.SetCurrencyCommand.id]:{order:9.2,menuItemFactory:D},[t.AddDecimalCommand.id]:{order:9.3,menuItemFactory:O},[t.SubtractDecimalCommand.id]:{order:9.4,menuItemFactory:k}}};var ne=`@univerjs/sheets-numfmt-ui`,re=`1.0.0-alpha.3`;let j={};function M({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),c=(0,u.useRef)(`_${oe()}`);return N(n,`${r}`,{defIds:n.defIds,idSuffix:c.current},{ref:e,className:s,...o},a)}function N(e,t,n,r,i){return(0,u.createElement)(e.tag,{key:t,...ie(e,n,i),...r},(ae(e,n).children||[]).map((r,a)=>N(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function ie(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function ae(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function oe(){return Math.random().toString(36).substring(2,8)}M.displayName=`UniverIcon`;let se={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M4.06641 3.49366C4.06641 2.27555 5.14145 1.3916 6.33307 1.3916C7.52469 1.3916 8.59974 2.27555 8.59974 3.49366V6.49777C8.59974 7.71586 7.52469 8.59982 6.33307 8.59982C5.14145 8.59982 4.06641 7.71586 4.06641 6.49777V3.49366ZM6.33307 2.5916C5.68376 2.5916 5.26641 3.05264 5.26641 3.49366V6.49777C5.26641 6.93878 5.68376 7.39982 6.33307 7.39982C6.98239 7.39982 7.39974 6.93878 7.39974 6.49777V3.49366C7.39974 3.05264 6.98239 2.5916 6.33307 2.5916Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M10.0664 3.49366C10.0664 2.27555 11.1415 1.3916 12.3331 1.3916C13.5247 1.3916 14.5997 2.27555 14.5997 3.49366V6.49777C14.5997 7.71586 13.5247 8.59982 12.3331 8.59982C11.1415 8.59982 10.0664 7.71586 10.0664 6.49777V3.49366ZM12.3331 2.5916C11.6838 2.5916 11.2664 3.05264 11.2664 3.49366V6.49777C11.2664 6.93878 11.6838 7.39982 12.3331 7.39982C12.9824 7.39982 13.3997 6.93878 13.3997 6.49777V3.49366C13.3997 3.05264 12.9824 2.5916 12.3331 2.5916Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M12.4242 9.5417C12.1899 9.30739 11.81 9.30739 11.5756 9.5417C11.3413 9.77602 11.3413 10.1559 11.5756 10.3902L12.5514 11.366H6.3334C6.00203 11.366 5.7334 11.6346 5.7334 11.966C5.7334 12.2973 6.00203 12.566 6.3334 12.566H12.5514L11.5756 13.5417C11.3413 13.776 11.3413 14.1559 11.5756 14.3902C11.81 14.6245 12.1899 14.6245 12.4242 14.3902L14.4159 12.3985C14.5294 12.2893 14.6001 12.1359 14.6001 11.966C14.6001 11.796 14.5294 11.6426 14.4159 11.5334L12.4242 9.5417Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.3999 8.3002C1.3999 7.96882 1.66853 7.7002 1.9999 7.7002H2.33324C2.66461 7.7002 2.93324 7.96882 2.93324 8.3002C2.93324 8.63157 2.66461 8.9002 2.33324 8.9002H1.9999C1.66853 8.9002 1.3999 8.63157 1.3999 8.3002Z`}}]},P=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(M,Object.assign({},e,{id:`add-digits-icon`,ref:t,icon:se}))});P.displayName=`AddDigitsIcon`;let ce={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,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`}}]},F=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(M,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:ce}))});F.displayName=`CheckMarkIcon`;let le={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M7.3999 2.8999V1.6C7.3999 1.26863 7.66853 1 7.9999 1C8.33127 1 8.5999 1.26863 8.5999 1.6V2.8999H10.2044C11.6655 2.8999 12.8499 4.08431 12.8499 5.54536C12.8499 5.87673 12.5813 6.14536 12.2499 6.14536C11.9185 6.14536 11.6499 5.87673 11.6499 5.54536C11.6499 4.74705 11.0028 4.0999 10.2044 4.0999H5.7384C4.97155 4.0999 4.3499 4.72155 4.3499 5.4884C4.3499 6.14439 4.80899 6.71087 5.45074 6.84677L10.7977 7.97906C11.994 8.23242 12.8499 9.28849 12.8499 10.5114C12.8499 11.941 11.691 13.0999 10.2614 13.0999H8.5999V14.4C8.5999 14.7314 8.33127 15 7.9999 15C7.66853 15 7.3999 14.7314 7.3999 14.4V13.0999H5.79536C4.33431 13.0999 3.1499 11.9155 3.1499 10.4544C3.1499 10.1231 3.41853 9.85445 3.7499 9.85445C4.08127 9.85445 4.3499 10.1231 4.3499 10.4544C4.3499 11.2527 4.99705 11.8999 5.79536 11.8999H10.2614C11.0283 11.8999 11.6499 11.2782 11.6499 10.5114C11.6499 9.85542 11.1908 9.28893 10.5491 9.15303L5.20214 8.02074C4.00575 7.76739 3.1499 6.71132 3.1499 5.4884C3.1499 4.05881 4.30881 2.8999 5.7384 2.8999H7.3999Z`}}]},I=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(M,Object.assign({},e,{id:`dollar-icon`,ref:t,icon:le}))});I.displayName=`DollarIcon`;let ue={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M5.84964 5.80918C6.71946 3.63548 8.84516 2.2 11.3295 2.2C11.8324 2.2 12.3198 2.26279 12.7846 2.38065C13.1058 2.46209 13.4322 2.26773 13.5137 1.94652C13.5951 1.62532 13.4008 1.2989 13.0795 1.21746C12.5191 1.07535 11.9327 1 11.3295 1C8.17278 1 5.49724 2.96009 4.57394 5.80918H3.06582C2.73445 5.80918 2.46582 6.07781 2.46582 6.40918C2.46582 6.74055 2.73445 7.00918 3.06582 7.00918H4.29808C4.25287 7.33297 4.22949 7.66376 4.22949 8C4.22949 8.33608 4.25284 8.6667 4.29801 8.99033H3.06582C2.73445 8.99033 2.46582 9.25896 2.46582 9.59033C2.46582 9.9217 2.73445 10.1903 3.06582 10.1903H4.57378C5.49693 13.0397 8.1726 15 11.3295 15C11.9336 15 12.5209 14.9244 13.0821 14.7819C13.4033 14.7003 13.5975 14.3738 13.5159 14.0527C13.4344 13.7315 13.1079 13.5373 12.7867 13.6188C12.3213 13.737 11.8332 13.8 11.3295 13.8C8.84497 13.8 6.71914 12.3643 5.84944 10.1903H11.4291C11.7605 10.1903 12.0291 9.9217 12.0291 9.59033C12.0291 9.25896 11.7605 8.99033 11.4291 8.99033H5.51225C5.45783 8.66834 5.42949 8.33748 5.42949 8C5.42949 7.66235 5.45786 7.33133 5.51233 7.00918H11.4291C11.7605 7.00918 12.0291 6.74055 12.0291 6.40918C12.0291 6.07781 11.7605 5.80918 11.4291 5.80918H5.84964Z`}}]},L=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(M,Object.assign({},e,{id:`euro-icon`,ref:t,icon:ue}))});L.displayName=`EuroIcon`;let de={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M1.85059 4.06725C1.85059 2.84302 2.84302 1.85059 4.06725 1.85059C5.29148 1.85059 6.28392 2.84302 6.28392 4.06725C6.28392 5.29148 5.29148 6.28392 4.06725 6.28392C2.84302 6.28392 1.85059 5.29148 1.85059 4.06725ZM4.06725 2.95059C3.45053 2.95059 2.95059 3.45053 2.95059 4.06725C2.95059 4.68397 3.45053 5.18392 4.06725 5.18392C4.68397 5.18392 5.18392 4.68397 5.18392 4.06725C5.18392 3.45053 4.68397 2.95059 4.06725 2.95059Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.7168 11.933C9.7168 10.7087 10.7092 9.71631 11.9335 9.71631C13.1577 9.71631 14.1501 10.7087 14.1501 11.933C14.1501 13.1572 13.1577 14.1496 11.9335 14.1496C10.7092 14.1496 9.7168 13.1572 9.7168 11.933ZM11.9335 10.8163C11.3167 10.8163 10.8168 11.3163 10.8168 11.933C10.8168 12.5497 11.3167 13.0496 11.9335 13.0496C12.5502 13.0496 13.0501 12.5497 13.0501 11.933C13.0501 11.3163 12.5502 10.8163 11.9335 10.8163Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M13.5241 3.32407C13.7584 3.08975 13.7584 2.70986 13.5241 2.47554C13.2898 2.24123 12.9099 2.24123 12.6755 2.47554L2.47554 12.6755C2.24123 12.9099 2.24123 13.2898 2.47554 13.5241C2.70986 13.7584 3.08975 13.7584 3.32407 13.5241L13.5241 3.32407Z`}}]},R=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(M,Object.assign({},e,{id:`percent-icon`,ref:t,icon:de}))});R.displayName=`PercentIcon`;let fe={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M6.33307 1.3916C5.14145 1.3916 4.06641 2.27555 4.06641 3.49366V6.49777C4.06641 7.71586 5.14145 8.59982 6.33307 8.59982C7.52469 8.59982 8.59974 7.71586 8.59974 6.49777V3.49366C8.59974 2.27555 7.52469 1.3916 6.33307 1.3916ZM5.26641 3.49366C5.26641 3.05264 5.68376 2.5916 6.33307 2.5916C6.98239 2.5916 7.39974 3.05264 7.39974 3.49366V6.49777C7.39974 6.93878 6.98239 7.39982 6.33307 7.39982C5.68376 7.39982 5.26641 6.93878 5.26641 6.49777V3.49366Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M7.90913 9.5417C8.14345 9.30739 8.52335 9.30739 8.75766 9.5417C8.99198 9.77602 8.99198 10.1559 8.75766 10.3902L7.78193 11.366H13.9999C14.3313 11.366 14.5999 11.6346 14.5999 11.966C14.5999 12.2973 14.3313 12.566 13.9999 12.566H7.78193L8.75766 13.5417C8.99198 13.776 8.99198 14.1559 8.75766 14.3902C8.52335 14.6245 8.14345 14.6245 7.90913 14.3902L5.91739 12.3985C5.80388 12.2893 5.73324 12.1359 5.73324 11.966C5.73324 11.796 5.80388 11.6426 5.91739 11.5334L7.90913 9.5417Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.3999 8.3002C1.3999 7.96882 1.66853 7.7002 1.9999 7.7002H2.33324C2.66461 7.7002 2.93324 7.96882 2.93324 8.3002C2.93324 8.63157 2.66461 8.9002 2.33324 8.9002H1.9999C1.66853 8.9002 1.3999 8.63157 1.3999 8.3002Z`}}]},z=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(M,Object.assign({},e,{id:`reduce-digits-icon`,ref:t,icon:fe}))});z.displayName=`ReduceDigitsIcon`;let pe={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M11.9445 1.55649C12.2184 1.744 12.2895 2.11755 12.1033 2.39085L9.24342 6.58659H12.8001C13.1315 6.58659 13.4001 6.85522 13.4001 7.18659C13.4001 7.51796 13.1315 7.78659 12.8001 7.78659H8.5999V9.91276H13.2221C13.5534 9.91276 13.8221 10.1814 13.8221 10.5128C13.8221 10.8441 13.5534 11.1128 13.2221 11.1128H8.5999V14.0877C8.5999 14.4191 8.33127 14.6877 7.9999 14.6877C7.66853 14.6877 7.3999 14.4191 7.3999 14.0877V11.1128H2.77773C2.44636 11.1128 2.17773 10.8441 2.17773 10.5128C2.17773 10.1814 2.44636 9.91276 2.77773 9.91276H7.3999V7.78659H3.2001C2.86873 7.78659 2.6001 7.51796 2.6001 7.18659C2.6001 6.85522 2.86873 6.58659 3.2001 6.58659H6.75736L3.89753 2.39085C3.71125 2.11755 3.78234 1.744 4.05631 1.55649C4.33029 1.36899 4.7034 1.43854 4.88968 1.71184L7.94595 6.19577C7.96752 6.22741 7.98564 6.2604 8.00039 6.29429C8.01514 6.2604 8.03326 6.22741 8.05483 6.19577L11.1111 1.71184C11.2974 1.43854 11.6705 1.36899 11.9445 1.55649Z`}}]},B=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(M,Object.assign({},e,{id:`rmb-icon`,ref:t,icon:pe}))});B.displayName=`RmbIcon`;let me={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M9.72502 1.02051H6.07803C4.97346 1.02051 4.07803 1.91594 4.07803 3.02051V7.57046H3.00039C2.66902 7.57046 2.40039 7.83909 2.40039 8.17046C2.40039 8.50183 2.66902 8.77046 3.00039 8.77046H4.07803V10.4854H3.00039C2.66902 10.4854 2.40039 10.754 2.40039 11.0854C2.40039 11.4167 2.66902 11.6854 3.00039 11.6854H4.07803V14.3795C4.07803 14.7108 4.34666 14.9795 4.67803 14.9795C5.0094 14.9795 5.27803 14.7108 5.27803 14.3795V11.6854H10.3637C10.695 11.6854 10.9637 11.4167 10.9637 11.0854C10.9637 10.754 10.695 10.4854 10.3637 10.4854H5.27803V8.77046H9.72503C11.8651 8.77046 13.6 7.03557 13.6 4.89548C13.6 2.75539 11.8651 1.02051 9.72502 1.02051ZM9.72503 7.57046H5.27803V3.12051C5.27803 2.62345 5.68097 2.22051 6.17803 2.22051H9.72502C11.2024 2.22051 12.4 3.41814 12.4 4.89548C12.4 6.37283 11.2024 7.57046 9.72503 7.57046Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},V=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(M,Object.assign({},e,{id:`rouble-icon`,ref:t,icon:me}))});V.displayName=`RoubleIcon`;let H=(0,u.createContext)([]),U=class{constructor(e){this._localStorageService=e}_getKey(e){return`userHabitController_${e}`}async addHabit(e,t){let n=this._getKey(e);return this._localStorageService.getItem(n).then(e=>{e||this._localStorageService.setItem(n,t)})}markHabit(e,t){let n=this._getKey(e);this._localStorageService.getItem(n).then(e=>{if(e){let r=e.findIndex(e=>e===t);r>-1&&e.splice(r,1),e.unshift(t),this._localStorageService.setItem(n,e)}})}async getHabit(e,t){let n=this._getKey(e),r=await this._localStorageService.getItem(n);if(t&&r){let e=r.map((e,t,n)=>({value:e,priority:n.length-t}));return t.sort((t,n)=>{var r,i;let a=((r=e.find(e=>e.value===t))==null?void 0:r.priority)||-1;return(((i=e.find(e=>e.value===n))==null?void 0:i.priority)||-1)-a})}return r||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};U=y([v(0,(0,r.Inject)(r.ILocalStorageService))],U);let he=e=>!!(0,t.getCurrencyType)(e)&&e.startsWith(`_(`);function ge(e){let{defaultPattern:i,onActionChange:a,onChange:o}=e,[s,c]=(0,u.useState)(()=>(0,t.getDecimalFromPattern)(i||``,2)),f=(0,u.useContext)(H),[p,m]=(0,u.useState)(()=>(0,t.getCurrencyType)(i)||f[0]),h=(0,u.useMemo)(()=>f.map(e=>({label:e,value:e})),[]),g=(0,n.useDependency)(r.LocaleService);return(0,u.useLayoutEffect)(()=>{a(()=>(0,t.setPatternDecimal)(`_("${p}"* #,##0${s>0?`.0`:``}_)`,s))},[s,a,p]),(0,d.jsxs)(`div`,{children:[(0,d.jsxs)(`div`,{className:`univer-mt-4 univer-flex univer-justify-between`,children:[(0,d.jsxs)(`div`,{className:`option`,children:[(0,d.jsx)(`div`,{className:`univer-text-sm univer-text-gray-400`,children:g.t(`sheets-numfmt-ui.decimalLength`)}),(0,d.jsx)(`div`,{className:`univer-mt-2 univer-w-32`,children:(0,d.jsx)(l.InputNumber,{value:s,step:1,precision:0,max:20,min:0,onChange:e=>{let n=e||0;c(n),o((0,t.setPatternDecimal)(`_("${p}"* #,##0${n>0?`.0`:``}_)`,n))}})})]}),(0,d.jsxs)(`div`,{className:`option`,children:[(0,d.jsx)(`div`,{className:`univer-text-sm univer-text-gray-400`,children:g.t(`sheets-numfmt-ui.currencyType`)}),(0,d.jsx)(`div`,{className:`univer-mt-2 univer-w-36`,children:(0,d.jsx)(l.Select,{options:h,value:p,onChange:e=>{m(e),o((0,t.setPatternDecimal)(`_("${e}"* #,##0${s>0?`.0`:``}_)`,s))}})})]})]}),(0,d.jsx)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:g.t(`sheets-numfmt-ui.accountingDes`)})]})}let _e=e=>!!(0,t.getCurrencyType)(e)&&!e.startsWith(`_(`);function ve(e){let{onActionChange:i,onChange:a}=e,o=(0,n.useDependency)(r.LocaleService),s=(0,u.useContext)(H),[c,f]=(0,u.useState)(()=>(0,t.getCurrencyType)(e.defaultPattern)||s[0]),[p,m]=(0,u.useState)(()=>(0,t.getDecimalFromPattern)(e.defaultPattern||``,2)),[h,g]=(0,u.useState)(()=>{var n;let i=(0,t.getCurrencyFormatOptions)(c);return((n=i.find(t=>(0,r.isPatternEqualWithoutDecimal)(t.value,e.defaultPattern)))==null?void 0:n.value)||i[0].value}),_=(0,u.useMemo)(()=>(0,t.getCurrencyFormatOptions)(c),[c]),v=(0,u.useMemo)(()=>s.map(e=>({label:e,value:e})),[s]);return(0,u.useLayoutEffect)(()=>{i(()=>(0,t.setPatternDecimal)(h,p))},[p,i,h]),(0,d.jsxs)(`div`,{children:[(0,d.jsxs)(`div`,{className:`univer-mt-4 univer-flex univer-justify-between`,children:[(0,d.jsxs)(`div`,{className:`option`,children:[(0,d.jsx)(`div`,{className:`univer-text-sm univer-text-gray-400`,children:o.t(`sheets-numfmt-ui.decimalLength`)}),(0,d.jsx)(`div`,{className:`univer-mt-2 univer-w-32`,children:(0,d.jsx)(l.InputNumber,{value:p,max:20,min:0,onChange:e=>{m(e||0),a((0,t.setPatternDecimal)(h,e||0))}})})]}),(0,d.jsxs)(`div`,{className:`option`,children:[(0,d.jsx)(`div`,{className:`univer-text-sm univer-text-gray-400`,children:o.t(`sheets-numfmt-ui.currencyType`)}),(0,d.jsx)(`div`,{className:`univer-mt-2 univer-w-36`,children:(0,d.jsx)(l.Select,{value:c,options:v,onChange:e=>{if(e===void 0)return;f(e);let n=(0,t.getCurrencyFormatOptions)(e)[0].value;g(n),a((0,t.setPatternDecimal)(n,p))}})})]})]}),(0,d.jsx)(`div`,{className:`label univer-mt-4`,children:o.t(`sheets-numfmt-ui.negType`)}),(0,d.jsx)(`div`,{className:`univer-mt-2`,children:(0,d.jsx)(l.SelectList,{value:h,options:_,onChange:e=>{e!==void 0&&(g(e),a((0,t.setPatternDecimal)(e,p)))}})}),(0,d.jsx)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:o.t(`sheets-numfmt-ui.currencyDes`)})]})}let W=`customFormat`,G=`numfmt_custom_pattern`;function ye(e){let{defaultPattern:i,onActionChange:a,onChange:o}=e,s=(0,n.useDependency)(U),c=(0,n.useDependency)(r.ILocalStorageService),f=(0,n.useDependency)(r.LocaleService),[p,m]=(0,u.useState)(i);(0,u.useLayoutEffect)(()=>{a(()=>(s.markHabit(W,p),c.getItem(G).then((e=[])=>{let t=[...new Set([p,...e||[]])].splice(0,10).filter(e=>!!e);c.setItem(G,t)}),p))},[c,a,p,s]);let[h,g]=(0,u.useState)([]);(0,u.useEffect)(()=>{c.getItem(G).then(e=>{let n=[...t.CURRENCYFORMAT.map(e=>e.suffix(`$`)),...t.DATEFMTLISG.map(e=>e.suffix),...t.NUMBERFORMAT.map(e=>e.suffix)];n.push(...e||[]),s.addHabit(W,[]).finally(()=>{s.getHabit(W,n).then(e=>{g([...new Set(e)])})})})},[]);let _=e=>{m(e),o(e)};return(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:f.t(`sheets-numfmt-ui.customFormat`)}),(0,d.jsx)(l.Input,{placeholder:f.t(`sheets-numfmt-ui.customFormat`),onBlur:()=>{o(p)},value:p,onChange:m,className:`univer-mt-2 univer-w-full`}),(0,d.jsx)(`div`,{className:(0,l.clsx)(`univer-mt-2 univer-max-h-[400px] univer-overflow-auto univer-rounded-lg univer-p-2`,l.borderClassName),children:h.map(e=>(0,d.jsxs)(`div`,{onClick:()=>_(e),className:`univer-flex univer-cursor-pointer univer-items-center univer-gap-1.5 univer-py-1.5 univer-text-sm`,children:[(0,d.jsx)(`div`,{className:`univer-flex univer-w-4 univer-items-center univer-text-primary-600`,children:p===e&&(0,d.jsx)(F,{})}),(0,d.jsx)(`div`,{children:e})]},e))}),(0,d.jsx)(`div`,{className:`univer-mt-3 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200`,children:f.t(`sheets-numfmt-ui.customFormatDes`)})]})}let be=e=>{let n=r.numfmt.getFormatInfo(e);return(0,t.getDateFormatOptions)().map(e=>e.value).includes(e)||[`date`,`datetime`,`time`].includes(n.type)};function xe(e){let{onActionChange:i,onChange:a,defaultPattern:o}=e,s=(0,u.useMemo)(t.getDateFormatOptions,[]),c=(0,n.useDependency)(r.LocaleService),[f,p]=(0,u.useState)(()=>{if(o){let e=s.find(e=>e.value===o);if(e)return e.value}return s[0].value});return(0,u.useLayoutEffect)(()=>{i(()=>f)},[i,f]),(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:c.t(`sheets-numfmt-ui.dateType`)}),(0,d.jsx)(`div`,{className:`univer-mt-2`,children:(0,d.jsx)(l.SelectList,{value:f,options:s,onChange:e=>{e!==void 0&&(p(e),a(e))}})}),(0,d.jsx)(`div`,{className:`univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200`,children:c.t(`sheets-numfmt-ui.dateDes`)})]})}let Se=e=>!e;function Ce(e){let t=(0,n.useDependency)(r.LocaleService),{onActionChange:i}=e;return(0,u.useLayoutEffect)(()=>{i(()=>``)},[i]),(0,d.jsx)(`div`,{children:(0,d.jsx)(`div`,{className:`univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200`,children:t.t(`sheets-numfmt-ui.generalDes`)})})}let we=e=>(0,t.getNumberFormatOptions)().some(t=>(0,r.isPatternEqualWithoutDecimal)(t.value,e));function Te(e){let{onActionChange:i,onChange:a}=e,o=(0,n.useDependency)(r.LocaleService),s=(0,u.useMemo)(t.getNumberFormatOptions,[]),[c,f]=(0,u.useState)(()=>(0,t.getDecimalFromPattern)(e.defaultPattern||``,0)),[p,m]=(0,u.useState)(()=>{let t=s.find(t=>(0,r.isPatternEqualWithoutDecimal)(t.value,e.defaultPattern||``));return(t==null?void 0:t.value)||s[0].value}),h=(0,u.useMemo)(()=>(0,t.setPatternDecimal)(p,Number(c||0)),[p,c]),g=(0,u.useMemo)(()=>!(0,t.isPatternHasDecimal)(p),[p]);return(0,u.useLayoutEffect)(()=>{i(()=>h)},[i,h]),(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:o.t(`sheets-numfmt-ui.decimalLength`)}),(0,d.jsx)(`div`,{className:`univer-mt-2`,children:(0,d.jsx)(l.InputNumber,{disabled:g,value:c,max:20,min:0,onChange:e=>{f(e||0),a((0,t.setPatternDecimal)(p,Number(e||0)))}})}),(0,d.jsxs)(`div`,{className:`univer-mt-4 univer-text-sm univer-text-gray-400`,children:[` `,o.t(`sheets-numfmt-ui.negType`)]}),(0,d.jsx)(`div`,{className:`univer-mt-2`,children:(0,d.jsx)(l.SelectList,{onChange:e=>{e!==void 0&&(f((0,t.getDecimalFromPattern)(e,0)),m(e),a(e))},options:s,value:p})}),(0,d.jsx)(`div`,{className:`univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200`,children:o.t(`sheets-numfmt-ui.thousandthPercentileDes`)})]})}let K=`numfmtCurrency`,Ee=e=>{let t=(0,n.useDependency)(U),[i,a]=(0,u.useState)(r.currencySymbols);return(0,u.useEffect)(()=>{t.addHabit(`numfmtCurrency`,[]).then(()=>{t.getHabit(K,[...r.currencySymbols]).then(t=>{a(t),e&&e(t)})})},[]),{userHabitCurrency:i,mark:e=>{t.markHabit(K,e)}}},De=()=>{let e=(0,u.useRef)([]),[t,n]=(0,u.useState)({});return(0,u.useEffect)(()=>{e.current.forEach(e=>{e()}),e.current=[]},[t]),t=>{e.current.push(t),n({})}};function Oe(e){let{defaultValue:i,defaultPattern:a,row:o,col:s}=e.value,c=(0,n.useDependency)(r.LocaleService),f=(0,u.useRef)(()=>``),p=De(),m=(0,u.useMemo)(()=>[{label:`sheets-numfmt-ui.general`,component:Ce},{label:`sheets-numfmt-ui.accounting`,component:ge},{label:`sheets-numfmt-ui.currency`,component:ve},{label:`sheets-numfmt-ui.date`,component:xe},{label:`sheets-numfmt-ui.thousandthPercentile`,component:Te},{label:`sheets-numfmt-ui.customFormat`,component:ye}].map(e=>({...e,label:c.t(e.label)})),[c]),[h,g]=(0,u.useState)(S),[_,v]=(0,u.useState)(()=>`${o}_${s}_${a}`),{mark:y,userHabitCurrency:b}=Ee(()=>v(`${o}_${s}_${a}_userCurrency`)),x=(0,u.useMemo)(()=>{var e;return(e=m.find(e=>e.label===h))==null?void 0:e.component},[h]);function S(){return[Se,he,_e,be,we].reduce((e,t,n)=>e||(t(a)?m[n].label:``),``)||m[0].label}let C=m.map(e=>({label:e.label,value:e.label})),w=t=>{g(t),p(()=>e.onChange({type:`change`,value:f.current()||``}))},T=(0,u.useCallback)(t=>{e.onChange({type:`change`,value:t})},[]),E=(0,u.useCallback)(e=>{f.current=e},[]),D=()=>{let n=f.current()||``,r=(0,t.getCurrencyType)(n);r&&y(r),e.onChange({type:`confirm`,value:n})},O=()=>{e.onChange({type:`cancel`,value:``})},k={onChange:T,onActionChange:E,defaultValue:i,defaultPattern:a};return(0,u.useEffect)(()=>{g(S()),v(`${o}_${s}_${a}`)},[o,s,a]),(0,d.jsxs)(`div`,{className:(0,l.clsx)(`univer-flex univer-h-full univer-flex-col univer-justify-between univer-overflow-y-auto univer-pb-5`,l.scrollbarClassName),children:[(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`univer-mt-3.5 univer-text-sm univer-text-gray-400`,children:c.t(`sheets-numfmt-ui.numfmtType`)}),(0,d.jsx)(`div`,{className:`univer-mt-2`,children:(0,d.jsx)(l.Select,{className:`univer-w-full`,value:h,options:C,onChange:w})}),(0,d.jsx)(`div`,{children:x&&(0,d.jsx)(H.Provider,{value:b,children:(0,u.createElement)(x,{...k,key:_})})})]}),(0,d.jsxs)(`div`,{className:`univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end univer-gap-2 rtl:univer-flex-row-reverse`,children:[(0,d.jsx)(l.Button,{onClick:O,children:c.t(`sheets-numfmt-ui.cancel`)}),(0,d.jsx)(l.Button,{variant:`primary`,onClick:D,children:c.t(`sheets-numfmt-ui.confirm`)})]})]})}let q=class extends r.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerComponents(),this._registerIcons()}_registerIcons(){this.disposeWithMe(this._iconManager.register({AddDigitsIcon:P,DollarIcon:I,EuroIcon:L,PercentIcon:R,ReduceDigitsIcon:z,RmbIcon:B,RoubleIcon:V}))}_registerComponents(){this.disposeWithMe(this._componentManager.register(`SHEET_NUMFMT_PANEL`,Oe)),[[S,w],[C,T]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};q=y([v(0,(0,r.Inject)(n.ComponentManager)),v(1,(0,r.Inject)(n.IconManager))],q);let J=`SHEET_NUMFMT_ALERT`,Y=class extends r.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=n,this._localeService=r,this._numfmtService=i,this._configService=a,this._init()}_init(){this._initCellAlertPopup()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.pipe((0,s.debounceTime)(100)).subscribe(e=>{if(e){let a=e.location,s=this._context.unit,c=s.getActiveSheet();if(!c)return this._hideAlert();let l=a.unitId,u=a.subUnitId,d,f=c.getCell(a.row,a.col);if(f!=null&&f.s){let e=s.getStyles().get(f.s);e!=null&&e.n&&(d=e.n)}if(d||(d=this._numfmtService.getValue(l,u,a.row,a.col)),!d){this._hideAlert();return}if((0,r.isTextFormat)(d.pattern)&&r.Tools.isDefine(f==null?void 0:f.v)&&(0,r.isRealNum)(f.v)){var n,i;if((n=this._configService.getConfig(t.SHEETS_NUMFMT_PLUGIN_CONFIG_KEY))!=null&&n.disableTextFormatAlert)return;let e=this._cellAlertManagerService.currentAlert.get(J),r=e==null||(i=e.alert)==null?void 0:i.location;if(r&&r.row===a.row&&r.col===a.col&&r.subUnitId===a.subUnitId&&r.unitId===a.unitId){this._hideAlert();return}this._cellAlertManagerService.showAlert({type:o.CellAlertType.ERROR,title:this._localeService.t(`sheets-numfmt-ui.info.error`),message:this._localeService.t(`sheets-numfmt-ui.info.forceStringInfo`),location:a,width:200,height:74,key:J});return}}this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(J)}};Y=y([v(1,(0,r.Inject)(o.HoverManagerService)),v(2,(0,r.Inject)(o.CellAlertManagerService)),v(3,(0,r.Inject)(r.LocaleService)),v(4,(0,r.Inject)(a.INumfmtService)),v(5,r.IConfigService)],Y);let X=class extends r.Disposable{constructor(e){super(),this._repeatLastActionService=e,this._initCommandRecording()}_initCommandRecording(){this._repeatLastActionService&&this.disposeWithMe(this._repeatLastActionService.registerRepeatableCommand(t.SetNumfmtCommand.id,(e,t)=>{if(!t)return;let{values:n}=t,r=n.find(e=>e.pattern);if(!r)return;let{pattern:i,type:a}=r,o=[],s=new Set;for(let t of e){let{startRow:e,startColumn:n,endRow:r,endColumn:c}=t;for(let t=e;t<=r;t++)for(let e=n;e<=c;e++){let n=`${t}-${e}`;s.has(n)||(s.add(n),o.push({row:t,col:e,pattern:i,type:a}))}}return{...t,values:o}},o.RepeatLastActionPermission.CellStyle))}};X=y([v(0,(0,r.Optional)(o.IRepeatLastActionService))],X);let ke=()=>{let e=[];return{add:(t,n,r,i,a)=>e.push({unitId:t,subUnitId:n,row:r,col:i,value:a}),getEffects:()=>e,clean:()=>{e=[]}}},Z=class extends r.Disposable{constructor(e,t,n,r,i){super(),this._sheetInterceptorService=e,this._numfmtService=t,this._univerInstanceService=n,this._injector=r,this._editorBridgeService=i,_(this,`_collectEffectMutation`,ke()),this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe((0,r.toDisposable)(this._sheetInterceptorService.writeCellInterceptor.intercept(a.BEFORE_CELL_EDIT,{handler:(e,n,i)=>{let a=n.row,o=n.col,s=this._numfmtService.getValue(n.unitId,n.subUnitId,a,o);if(s)switch((0,t.getPatternType)(s.pattern)){case`scientific`:case`currency`:case`grouped`:case`number`:{let e={...n.worksheet.getCellRaw(a,o)};return(e==null?void 0:e.t)===r.CellValueType.NUMBER&&(0,r.isRealNum)(e.v)&&(e.v=(0,f.stripErrorMargin)(Number(e.v))),i&&i(e)}case`percent`:{let e={...n.worksheet.getCellRaw(a,o)};return(e==null?void 0:e.t)===r.CellValueType.NUMBER&&(0,r.isRealNum)(e.v)&&(e.v=`${(0,f.stripErrorMargin)(Number(e.v)*100)}%`),i&&i(e)}default:return i&&i(e)}return i(e)}})))}_initInterceptorEditorEnd(){this.disposeWithMe((0,r.toDisposable)(this._sheetInterceptorService.writeCellInterceptor.intercept(a.AFTER_CELL_EDIT,{handler:(e,n,i)=>{var a,o;if(!(e!=null&&e.v)&&!(e!=null&&e.p))return i(e);this._collectEffectMutation.clean();let s=this._numfmtService.getValue(n.unitId,n.subUnitId,n.row,n.col),c=n.worksheet.getCellRaw(n.row,n.col);if((0,r.isTextFormat)(s==null?void 0:s.pattern)||e.t===r.CellValueType.FORCE_STRING)return i(e);let l=(a=e.p)==null?void 0:a.body,u=!(e==null||(o=e.p)==null||(o=o.body)==null)&&o.dataStream?e.p.body.dataStream.replace(/\r\n$/,``):String(e.v),d=(0,r.getNumfmtParseValueFilter)(u);if(l)if(Ae(l)){let{dataStream:t}=l,n=t.replace(/\r\n$/,``),r=Number(n);if(Number.isNaN(r)&&!d)return i(e)}else return i(e);if(d){if(!d.z&&!(s!=null&&s.pattern)&&(c==null?void 0:c.t)!==r.CellValueType.STRING&&(c==null?void 0:c.t)!==r.CellValueType.FORCE_STRING&&(0,r.willLoseNumericPrecision)(u))return i({...e,p:void 0,v:u,t:r.CellValueType.FORCE_STRING});d.z&&(!(s!=null&&s.pattern)||(0,t.getPatternType)(d.z)!==(0,t.getPatternType)(s.pattern))&&this._collectEffectMutation.add(n.unitId,n.subUnitId,n.row,n.col,{pattern:d.z});let a=(0,f.stripErrorMargin)(Number(d.v),16);return i({...e,p:void 0,v:a,t:r.CellValueType.NUMBER})}return i(e)}})))}_initInterceptorCommands(){let e=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(t){switch(t.id){case a.SetRangeValuesCommand.id:{var n;let t=e._univerInstanceService.getCurrentUnitOfType(r.UniverInstanceType.UNIVER_SHEET),i=t.getUnitId(),o=(n=t.getActiveSheet())==null?void 0:n.getSheetId();if(!o)return{redos:[],undos:[]};let s=e._collectEffectMutation.getEffects();if(e._collectEffectMutation.clean(),!s.length)return{redos:[],undos:[]};let c=s.filter(e=>{var t;return!!((t=e.value)!=null&&t.pattern)}).map(e=>({row:e.row,col:e.col,pattern:e.value.pattern})),l=s.filter(e=>{var t;return!((t=e.value)!=null&&t.pattern)}).map(e=>({startRow:e.row,endColumn:e.col,startColumn:e.col,endRow:e.row})),u=[],d=[];if(c.length){let t={id:a.SetNumfmtMutation.id,params:(0,a.transformCellsToRange)(i,o,c)};u.push(t),d.push(...(0,a.factorySetNumfmtUndoMutation)(e._injector,t.params))}if(l.length){let t={id:a.RemoveNumfmtMutation.id,params:{unitId:i,subUnitId:o,ranges:l}};u.push(t),d.push(...(0,a.factoryRemoveNumfmtUndoMutation)(e._injector,t.params))}return{redos:u,undos:d.reverse()}}}return{redos:[],undos:[]}}}))}dispose(){super.dispose(),this._collectEffectMutation.clean()}};Z=y([v(0,(0,r.Inject)(a.SheetInterceptorService)),v(1,(0,r.Inject)(a.INumfmtService)),v(2,(0,r.Inject)(r.IUniverInstanceService)),v(3,(0,r.Inject)(r.Injector)),v(4,(0,r.Optional)(o.IEditorBridgeService))],Z);function Ae(e){let{textRuns:t=[],paragraphs:n=[],customRanges:r,customBlocks:i=[]}=e,a=[`va`];return!(t.some(e=>!!(e.ts&&Object.keys(e.ts).some(e=>a.includes(e))))||n.some(e=>e.bullet)||n.length>=2||r!=null&&r.length||i.length>0)}let Q=class extends r.Disposable{constructor(e,t){super(),this._componentManager=e,this._menuManagerService=t,this._initMenu()}_initMenu(){this._menuManagerService.mergeMenu(A)}};Q=y([v(0,(0,r.Inject)(n.ComponentManager)),v(1,n.IMenuManagerService)],Q);let $=class extends r.Plugin{constructor(e=j,t,n,i){super(),this._config=e,this._injector=t,this._configService=n,this._renderManagerService=i;let{menu:a,...o}=(0,r.merge)({},j,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(`sheets-numfmt-ui.config`,o)}onStarting(){this._injector.add([q]),this._injector.get(q),(0,r.registerDependencies)(this._injector,[[b],[Z],[U],[Q],[X]])}onRendered(){this._registerRenderModules(),(0,r.touchDependencies)(this._injector,[[b],[Z],[Q],[X]])}_registerRenderModules(){[[Y]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(r.UniverInstanceType.UNIVER_SHEET,e))})}};_($,`pluginName`,`SHEET_NUMFMT_UI_PLUGIN`),_($,`packageName`,ne),_($,`version`,re),_($,`type`,r.UniverInstanceType.UNIVER_SHEET),$=y([(0,r.DependentOn)(o.UniverSheetsUIPlugin,t.UniverSheetsNumfmtPlugin),v(1,(0,r.Inject)(r.Injector)),v(2,r.IConfigService),v(3,i.IRenderManagerService)],$),e.SheetsNumfmtUIMenuSchema=A,Object.defineProperty(e,"UniverSheetsNumfmtUIPlugin",{enumerable:!0,get:function(){return $}})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/sheets-numfmt-ui",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Number format menus, editors, and previews for Univer Sheets.",
|
|
6
6
|
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
|
@@ -58,24 +58,24 @@
|
|
|
58
58
|
"rxjs": ">=7.0.0"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@univerjs/icons": "1.
|
|
62
|
-
"@univerjs/core": "1.0.0-alpha.
|
|
63
|
-
"@univerjs/
|
|
64
|
-
"@univerjs/
|
|
65
|
-
"@univerjs/engine-render": "1.0.0-alpha.
|
|
66
|
-
"@univerjs/sheets": "1.0.0-alpha.
|
|
67
|
-
"@univerjs/
|
|
68
|
-
"@univerjs/sheets-ui": "1.0.0-alpha.
|
|
69
|
-
"@univerjs/
|
|
61
|
+
"@univerjs/icons": "1.20.0",
|
|
62
|
+
"@univerjs/core": "1.0.0-alpha.3",
|
|
63
|
+
"@univerjs/design": "1.0.0-alpha.3",
|
|
64
|
+
"@univerjs/engine-formula": "1.0.0-alpha.3",
|
|
65
|
+
"@univerjs/engine-render": "1.0.0-alpha.3",
|
|
66
|
+
"@univerjs/sheets": "1.0.0-alpha.3",
|
|
67
|
+
"@univerjs/sheets-numfmt": "1.0.0-alpha.3",
|
|
68
|
+
"@univerjs/sheets-ui": "1.0.0-alpha.3",
|
|
69
|
+
"@univerjs/ui": "1.0.0-alpha.3"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"postcss": "^8.5.
|
|
72
|
+
"postcss": "^8.5.16",
|
|
73
73
|
"react": "18.3.1",
|
|
74
74
|
"rxjs": "^7.8.2",
|
|
75
75
|
"tailwindcss": "3.4.18",
|
|
76
76
|
"typescript": "^6.0.3",
|
|
77
|
-
"vitest": "^4.1.
|
|
78
|
-
"@univerjs-infra/shared": "1.0.0-alpha.
|
|
77
|
+
"vitest": "^4.1.10",
|
|
78
|
+
"@univerjs-infra/shared": "1.0.0-alpha.3"
|
|
79
79
|
},
|
|
80
80
|
"scripts": {
|
|
81
81
|
"test": "vitest run",
|