@univerjs/sheets-table-ui 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/lib/cjs/index.js +257 -66
  2. package/lib/cjs/locale/ar-SA.js +3 -0
  3. package/lib/cjs/locale/ca-ES.js +3 -0
  4. package/lib/cjs/locale/de-DE.js +3 -0
  5. package/lib/cjs/locale/en-US.js +3 -0
  6. package/lib/cjs/locale/es-ES.js +3 -0
  7. package/lib/cjs/locale/fa-IR.js +3 -0
  8. package/lib/cjs/locale/fr-FR.js +3 -0
  9. package/lib/cjs/locale/id-ID.js +3 -0
  10. package/lib/cjs/locale/it-IT.js +3 -0
  11. package/lib/cjs/locale/ja-JP.js +3 -0
  12. package/lib/cjs/locale/ko-KR.js +3 -0
  13. package/lib/cjs/locale/pl-PL.js +3 -0
  14. package/lib/cjs/locale/pt-BR.js +3 -0
  15. package/lib/cjs/locale/ru-RU.js +3 -0
  16. package/lib/cjs/locale/sk-SK.js +3 -0
  17. package/lib/cjs/locale/vi-VN.js +3 -0
  18. package/lib/cjs/locale/zh-CN.js +3 -0
  19. package/lib/cjs/locale/zh-HK.js +3 -0
  20. package/lib/cjs/locale/zh-TW.js +3 -0
  21. package/lib/es/index.js +260 -69
  22. package/lib/es/locale/ar-SA.js +3 -0
  23. package/lib/es/locale/ca-ES.js +3 -0
  24. package/lib/es/locale/de-DE.js +3 -0
  25. package/lib/es/locale/en-US.js +3 -0
  26. package/lib/es/locale/es-ES.js +3 -0
  27. package/lib/es/locale/fa-IR.js +3 -0
  28. package/lib/es/locale/fr-FR.js +3 -0
  29. package/lib/es/locale/id-ID.js +3 -0
  30. package/lib/es/locale/it-IT.js +3 -0
  31. package/lib/es/locale/ja-JP.js +3 -0
  32. package/lib/es/locale/ko-KR.js +3 -0
  33. package/lib/es/locale/pl-PL.js +3 -0
  34. package/lib/es/locale/pt-BR.js +3 -0
  35. package/lib/es/locale/ru-RU.js +3 -0
  36. package/lib/es/locale/sk-SK.js +3 -0
  37. package/lib/es/locale/vi-VN.js +3 -0
  38. package/lib/es/locale/zh-CN.js +3 -0
  39. package/lib/es/locale/zh-HK.js +3 -0
  40. package/lib/es/locale/zh-TW.js +3 -0
  41. package/lib/index.js +260 -69
  42. package/lib/locale/ar-SA.js +3 -0
  43. package/lib/locale/ca-ES.js +3 -0
  44. package/lib/locale/de-DE.js +3 -0
  45. package/lib/locale/en-US.js +3 -0
  46. package/lib/locale/es-ES.js +3 -0
  47. package/lib/locale/fa-IR.js +3 -0
  48. package/lib/locale/fr-FR.js +3 -0
  49. package/lib/locale/id-ID.js +3 -0
  50. package/lib/locale/it-IT.js +3 -0
  51. package/lib/locale/ja-JP.js +3 -0
  52. package/lib/locale/ko-KR.js +3 -0
  53. package/lib/locale/pl-PL.js +3 -0
  54. package/lib/locale/pt-BR.js +3 -0
  55. package/lib/locale/ru-RU.js +3 -0
  56. package/lib/locale/sk-SK.js +3 -0
  57. package/lib/locale/vi-VN.js +3 -0
  58. package/lib/locale/zh-CN.js +3 -0
  59. package/lib/locale/zh-HK.js +3 -0
  60. package/lib/locale/zh-TW.js +3 -0
  61. package/lib/types/locale/en-US.d.ts +3 -0
  62. package/lib/types/views/widgets/table-filter-button.shape.d.ts +2 -1
  63. package/lib/umd/index.js +2 -2
  64. package/lib/umd/locale/ar-SA.js +1 -1
  65. package/lib/umd/locale/ca-ES.js +1 -1
  66. package/lib/umd/locale/de-DE.js +1 -1
  67. package/lib/umd/locale/en-US.js +1 -1
  68. package/lib/umd/locale/es-ES.js +1 -1
  69. package/lib/umd/locale/fa-IR.js +1 -1
  70. package/lib/umd/locale/fr-FR.js +1 -1
  71. package/lib/umd/locale/id-ID.js +1 -1
  72. package/lib/umd/locale/it-IT.js +1 -1
  73. package/lib/umd/locale/ja-JP.js +1 -1
  74. package/lib/umd/locale/ko-KR.js +1 -1
  75. package/lib/umd/locale/pl-PL.js +1 -1
  76. package/lib/umd/locale/pt-BR.js +1 -1
  77. package/lib/umd/locale/ru-RU.js +1 -1
  78. package/lib/umd/locale/sk-SK.js +1 -1
  79. package/lib/umd/locale/vi-VN.js +1 -1
  80. package/lib/umd/locale/zh-CN.js +1 -1
  81. package/lib/umd/locale/zh-HK.js +1 -1
  82. package/lib/umd/locale/zh-TW.js +1 -1
  83. package/package.json +15 -15
package/lib/cjs/index.js CHANGED
@@ -254,10 +254,10 @@ const menuSchema = {
254
254
  //#endregion
255
255
  //#region package.json
256
256
  var name = "@univerjs/sheets-table-ui";
257
- var version = "1.0.3";
257
+ var version = "1.1.0";
258
258
 
259
259
  //#endregion
260
- //#region \0@oxc-project+runtime@0.149.0/helpers/esm/typeof.js
260
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/typeof.js
261
261
  function _typeof(o) {
262
262
  "@babel/helpers - typeof";
263
263
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -268,7 +268,7 @@ function _typeof(o) {
268
268
  }
269
269
 
270
270
  //#endregion
271
- //#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPrimitive.js
271
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPrimitive.js
272
272
  function toPrimitive(t, r) {
273
273
  if ("object" != _typeof(t) || !t) return t;
274
274
  var e = t[Symbol.toPrimitive];
@@ -281,14 +281,14 @@ function toPrimitive(t, r) {
281
281
  }
282
282
 
283
283
  //#endregion
284
- //#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPropertyKey.js
284
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPropertyKey.js
285
285
  function toPropertyKey(t) {
286
286
  var i = toPrimitive(t, "string");
287
287
  return "symbol" == _typeof(i) ? i : i + "";
288
288
  }
289
289
 
290
290
  //#endregion
291
- //#region \0@oxc-project+runtime@0.149.0/helpers/esm/defineProperty.js
291
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/defineProperty.js
292
292
  function _defineProperty(e, r, t) {
293
293
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
294
294
  value: t,
@@ -299,7 +299,7 @@ function _defineProperty(e, r, t) {
299
299
  }
300
300
 
301
301
  //#endregion
302
- //#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorateParam.js
302
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/decorateParam.js
303
303
  function __decorateParam(paramIndex, decorator) {
304
304
  return function(target, key) {
305
305
  decorator(target, key, paramIndex);
@@ -307,7 +307,7 @@ function __decorateParam(paramIndex, decorator) {
307
307
  }
308
308
 
309
309
  //#endregion
310
- //#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorate.js
310
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/decorate.js
311
311
  function __decorate(decorators, target, key, desc) {
312
312
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
313
313
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -536,7 +536,7 @@ let SheetsTableUiService = class SheetsTableUiService extends _univerjs_core.Dis
536
536
  const checkedItems = [];
537
537
  if (table) {
538
538
  const filter = table.getTableFilterColumn(columnIndex);
539
- if ((0, _univerjs_sheets_table.isManualTableFilter)(filter)) checkedItems.push(...filter.values.map((value) => value === _univerjs_sheets_table.TABLE_FILTER_EMPTY_VALUE ? this._localeService.t("sheets-table-ui.condition.empty") : value));
539
+ if ((0, _univerjs_sheets_table.isManualTableFilter)(filter)) checkedItems.push(...filter.values.map((value) => value === _univerjs_sheets_table.TABLE_FILTER_EMPTY_VALUE ? this._localeService.t("sheets-table-ui.condition.empty") : String(value)));
540
540
  else if ((0, _univerjs_sheets_table.isRecordTableFilter)(filter)) {
541
541
  const accepts = (0, _univerjs_sheets_table.compileTableRecordFilter)(filter);
542
542
  const items = this.getTableFilterItems(unitId, table.getSubunitId(), tableId, columnIndex);
@@ -652,9 +652,8 @@ let SheetsTableUiService = class SheetsTableUiService extends _univerjs_core.Dis
652
652
  let allItemsCount = 0;
653
653
  for (let row = startRow; row <= endRow; row++) {
654
654
  if (filteredRowsByOtherColumns.has(row)) continue;
655
- let stringItem = this._sheetTableService.getCellValueWithConditionType(worksheet, row, column);
656
- if (stringItem == null) stringItem = this._localeService.t("sheets-table-ui.condition.empty");
657
- if (useRecordValues && typeof stringItem !== "string") stringItem = String(stringItem);
655
+ const cellValue = this._sheetTableService.getCellValueWithConditionType(worksheet, row, column);
656
+ const stringItem = cellValue == null ? this._localeService.t("sheets-table-ui.condition.empty") : String(cellValue);
658
657
  const recordValue = useRecordValues ? (0, _univerjs_sheets_table.getTableRecordValue)(worksheet, row, column) : void 0;
659
658
  const valueKey = recordValue ? (0, _univerjs_sheets_table.getTableRecordValueKey)(recordValue) : void 0;
660
659
  const itemKey = valueKey ?? stringItem;
@@ -1137,10 +1136,79 @@ function getInitConditionInfo(tableFilter) {
1137
1136
  //#endregion
1138
1137
  //#region src/views/components/MobileSheetTableConditionPanel.tsx
1139
1138
  function MobileSheetTableConditionPanel(props) {
1140
- var _conditionInfo$info$d, _conditionInfo$info$d2, _conditionInfo$info$n, _conditionInfo$info$n3;
1139
+ var _conditionInfo$info$n, _conditionInfo$info$n2, _conditionInfo$info$n3, _conditionInfo$info$n7, _conditionInfo$info$n8, _conditionInfo$info$n9, _conditionInfo$info$d, _conditionInfo$info$d2;
1141
1140
  const { conditionInfo, onChange } = props;
1142
1141
  const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
1143
1142
  const injector = (0, _univerjs_ui.useDependency)(_univerjs_core.Injector);
1143
+ const [numberDraftState, setNumberDraftState] = (0, react.useState)({
1144
+ value: conditionInfo.info.number,
1145
+ type: conditionInfo.type,
1146
+ compare: conditionInfo.compare,
1147
+ text: String(conditionInfo.info.number ?? "")
1148
+ });
1149
+ if (!Object.is(numberDraftState.value, conditionInfo.info.number) || numberDraftState.type !== conditionInfo.type || numberDraftState.compare !== conditionInfo.compare) setNumberDraftState({
1150
+ value: conditionInfo.info.number,
1151
+ type: conditionInfo.type,
1152
+ compare: conditionInfo.compare,
1153
+ text: String(conditionInfo.info.number ?? "")
1154
+ });
1155
+ const numberDraft = numberDraftState.text;
1156
+ const setNumberDraft = (text) => setNumberDraftState({
1157
+ value: conditionInfo.info.number,
1158
+ type: conditionInfo.type,
1159
+ compare: conditionInfo.compare,
1160
+ text
1161
+ });
1162
+ const [minDraftState, setMinDraftState] = (0, react.useState)({
1163
+ value: (_conditionInfo$info$n = conditionInfo.info.numberRange) === null || _conditionInfo$info$n === void 0 ? void 0 : _conditionInfo$info$n[0],
1164
+ type: conditionInfo.type,
1165
+ compare: conditionInfo.compare,
1166
+ text: String(((_conditionInfo$info$n2 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n2 === void 0 ? void 0 : _conditionInfo$info$n2[0]) ?? "")
1167
+ });
1168
+ if (!Object.is(minDraftState.value, (_conditionInfo$info$n3 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n3 === void 0 ? void 0 : _conditionInfo$info$n3[0]) || minDraftState.type !== conditionInfo.type || minDraftState.compare !== conditionInfo.compare) {
1169
+ var _conditionInfo$info$n4, _conditionInfo$info$n5;
1170
+ setMinDraftState({
1171
+ value: (_conditionInfo$info$n4 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n4 === void 0 ? void 0 : _conditionInfo$info$n4[0],
1172
+ type: conditionInfo.type,
1173
+ compare: conditionInfo.compare,
1174
+ text: String(((_conditionInfo$info$n5 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n5 === void 0 ? void 0 : _conditionInfo$info$n5[0]) ?? "")
1175
+ });
1176
+ }
1177
+ const minDraft = minDraftState.text;
1178
+ const setMinDraft = (text) => {
1179
+ var _conditionInfo$info$n6;
1180
+ return setMinDraftState({
1181
+ value: (_conditionInfo$info$n6 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n6 === void 0 ? void 0 : _conditionInfo$info$n6[0],
1182
+ type: conditionInfo.type,
1183
+ compare: conditionInfo.compare,
1184
+ text
1185
+ });
1186
+ };
1187
+ const [maxDraftState, setMaxDraftState] = (0, react.useState)({
1188
+ value: (_conditionInfo$info$n7 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n7 === void 0 ? void 0 : _conditionInfo$info$n7[1],
1189
+ type: conditionInfo.type,
1190
+ compare: conditionInfo.compare,
1191
+ text: String(((_conditionInfo$info$n8 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n8 === void 0 ? void 0 : _conditionInfo$info$n8[1]) ?? "")
1192
+ });
1193
+ if (!Object.is(maxDraftState.value, (_conditionInfo$info$n9 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n9 === void 0 ? void 0 : _conditionInfo$info$n9[1]) || maxDraftState.type !== conditionInfo.type || maxDraftState.compare !== conditionInfo.compare) {
1194
+ var _conditionInfo$info$n10, _conditionInfo$info$n11;
1195
+ setMaxDraftState({
1196
+ value: (_conditionInfo$info$n10 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n10 === void 0 ? void 0 : _conditionInfo$info$n10[1],
1197
+ type: conditionInfo.type,
1198
+ compare: conditionInfo.compare,
1199
+ text: String(((_conditionInfo$info$n11 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n11 === void 0 ? void 0 : _conditionInfo$info$n11[1]) ?? "")
1200
+ });
1201
+ }
1202
+ const maxDraft = maxDraftState.text;
1203
+ const setMaxDraft = (text) => {
1204
+ var _conditionInfo$info$n12;
1205
+ return setMaxDraftState({
1206
+ value: (_conditionInfo$info$n12 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n12 === void 0 ? void 0 : _conditionInfo$info$n12[1],
1207
+ type: conditionInfo.type,
1208
+ compare: conditionInfo.compare,
1209
+ text
1210
+ });
1211
+ };
1144
1212
  const [conditionVisible, setConditionVisible] = (0, react.useState)(false);
1145
1213
  const [defaultDate] = (0, react.useState)(() => /* @__PURE__ */ new Date());
1146
1214
  const cascaderOptions = getCascaderListOptions(injector);
@@ -1191,12 +1259,15 @@ function MobileSheetTableConditionPanel(props) {
1191
1259
  placeholder: localeService.t("sheets-table-ui.filter.input-values-placeholder"),
1192
1260
  value: conditionInfo.info.string,
1193
1261
  onChange: (value) => handleConditionInfo({ string: value })
1194
- }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.InputNumber, {
1262
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Input, {
1195
1263
  className: "univer-h-7 univer-w-full",
1196
- value: conditionInfo.info.number,
1197
- controls: false,
1264
+ inputMode: "decimal",
1265
+ value: numberDraft,
1266
+ "aria-invalid": numberDraft !== "" && !Number.isFinite(Number(numberDraft)),
1267
+ onBlur: () => setNumberDraft(String(conditionInfo.info.number ?? "")),
1198
1268
  onChange: (value) => {
1199
- if (value !== null) handleConditionInfo({ number: value });
1269
+ setNumberDraft(value);
1270
+ if (value.trim() !== "" && Number.isFinite(Number(value))) handleConditionInfo({ number: Number(value) });
1200
1271
  }
1201
1272
  }) }),
1202
1273
  subComponentType === "DatePicker" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
@@ -1218,26 +1289,38 @@ function MobileSheetTableConditionPanel(props) {
1218
1289
  subComponentType === "Inputs" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1219
1290
  className: "univer-flex univer-items-center univer-gap-2",
1220
1291
  children: [
1221
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.InputNumber, {
1292
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Input, {
1222
1293
  className: "univer-w-full",
1223
- value: (_conditionInfo$info$n = conditionInfo.info.numberRange) === null || _conditionInfo$info$n === void 0 ? void 0 : _conditionInfo$info$n[0],
1224
- controls: false,
1294
+ inputMode: "decimal",
1295
+ value: minDraft,
1296
+ "aria-invalid": minDraft !== "" && !Number.isFinite(Number(minDraft)),
1297
+ onBlur: () => {
1298
+ var _conditionInfo$info$n13;
1299
+ return setMinDraft(String(((_conditionInfo$info$n13 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n13 === void 0 ? void 0 : _conditionInfo$info$n13[0]) ?? ""));
1300
+ },
1225
1301
  onChange: (value) => {
1226
- if (value !== null) {
1227
- var _conditionInfo$info$n2;
1228
- handleConditionInfo({ numberRange: [value, (_conditionInfo$info$n2 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n2 === void 0 ? void 0 : _conditionInfo$info$n2[1]] });
1302
+ setMinDraft(value);
1303
+ if (value.trim() !== "" && Number.isFinite(Number(value))) {
1304
+ var _conditionInfo$info$n14;
1305
+ handleConditionInfo({ numberRange: [Number(value), (_conditionInfo$info$n14 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n14 === void 0 ? void 0 : _conditionInfo$info$n14[1]] });
1229
1306
  }
1230
1307
  }
1231
1308
  }),
1232
1309
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: " - " }),
1233
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.InputNumber, {
1310
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Input, {
1234
1311
  className: "univer-w-full",
1235
- value: (_conditionInfo$info$n3 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n3 === void 0 ? void 0 : _conditionInfo$info$n3[1],
1236
- controls: false,
1312
+ inputMode: "decimal",
1313
+ value: maxDraft,
1314
+ "aria-invalid": maxDraft !== "" && !Number.isFinite(Number(maxDraft)),
1315
+ onBlur: () => {
1316
+ var _conditionInfo$info$n15;
1317
+ return setMaxDraft(String(((_conditionInfo$info$n15 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n15 === void 0 ? void 0 : _conditionInfo$info$n15[1]) ?? ""));
1318
+ },
1237
1319
  onChange: (value) => {
1238
- if (value !== null) {
1239
- var _conditionInfo$info$n4;
1240
- handleConditionInfo({ numberRange: [(_conditionInfo$info$n4 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n4 === void 0 ? void 0 : _conditionInfo$info$n4[0], value] });
1320
+ setMaxDraft(value);
1321
+ if (value.trim() !== "" && Number.isFinite(Number(value))) {
1322
+ var _conditionInfo$info$n16;
1323
+ handleConditionInfo({ numberRange: [(_conditionInfo$info$n16 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n16 === void 0 ? void 0 : _conditionInfo$info$n16[0], Number(value)] });
1241
1324
  }
1242
1325
  }
1243
1326
  })
@@ -2025,10 +2108,9 @@ const SheetTableThemePanel = (props) => {
2025
2108
  const table = tableManager.getTableById(unitId, tableId);
2026
2109
  const rangeThemeModel = (0, _univerjs_ui.useDependency)(_univerjs_sheets.SheetRangeThemeModel);
2027
2110
  const sheetTableThemeUIController = (0, _univerjs_ui.useDependency)(SheetTableThemeUIController);
2028
- const rangeThemeMapChanged = (0, _univerjs_ui.useObservable)(rangeThemeModel.rangeThemeMapChange$);
2029
- const tableRefresh = (0, _univerjs_ui.useObservable)(sheetTableThemeUIController.refreshTable$);
2111
+ (0, _univerjs_ui.useObservable)(rangeThemeModel.rangeThemeMapChange$);
2112
+ (0, _univerjs_ui.useObservable)(sheetTableThemeUIController.refreshTable$);
2030
2113
  const errorService = (0, _univerjs_ui.useDependency)(_univerjs_core.ErrorService);
2031
- const [, setRefresh] = (0, react.useState)(Math.random);
2032
2114
  const themeConfig = (0, _univerjs_ui.useObservable)(tableManager.tableThemeChanged$, {
2033
2115
  theme: table === null || table === void 0 ? void 0 : table.getTableStyleId(),
2034
2116
  oldTheme: table === null || table === void 0 ? void 0 : table.getTableStyleId(),
@@ -2087,9 +2169,6 @@ const SheetTableThemePanel = (props) => {
2087
2169
  themeName
2088
2170
  });
2089
2171
  };
2090
- (0, react.useEffect)(() => {
2091
- setRefresh(Math.random());
2092
- }, [rangeThemeMapChanged, tableRefresh]);
2093
2172
  if (!table) return null;
2094
2173
  const headerBgIsDark = new _univerjs_core.ColorKit(headerBg).isDark();
2095
2174
  const firstRowBgIsDark = new _univerjs_core.ColorKit(firstRowBg).isDark();
@@ -2159,6 +2238,7 @@ const SheetTableThemePanel = (props) => {
2159
2238
  className: "univer-grid univer-grid-cols-6 univer-gap-2",
2160
2239
  children: defaultRangeThemes.map((item) => {
2161
2240
  var _rangeThemeItem$getHe, _rangeThemeItem$getFi, _rangeThemeItem$getSe, _rangeThemeItem$getLa;
2241
+ const label = localeService.t("sheets-table-ui.defaultStyleNumber", item.slice(TABLE_DEFAULT_NAME_PREFIX.length));
2162
2242
  const rangeThemeItem = rangeThemeModel.getDefaultRangeThemeStyle(item);
2163
2243
  const rowBackgrounds = [
2164
2244
  (rangeThemeItem === null || rangeThemeItem === void 0 || (_rangeThemeItem$getHe = rangeThemeItem.getHeaderRowStyle()) === null || _rangeThemeItem$getHe === void 0 || (_rangeThemeItem$getHe = _rangeThemeItem$getHe.bg) === null || _rangeThemeItem$getHe === void 0 ? void 0 : _rangeThemeItem$getHe.rgb) || "rgb(255, 255, 255)",
@@ -2169,8 +2249,8 @@ const SheetTableThemePanel = (props) => {
2169
2249
  const selected = item === themeConfig.theme;
2170
2250
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2171
2251
  type: "button",
2172
- title: item,
2173
- "aria-label": item,
2252
+ title: label,
2253
+ "aria-label": label,
2174
2254
  "aria-pressed": selected,
2175
2255
  className: (0, _univerjs_design.clsx)("univer-flex univer-h-12 univer-w-full univer-cursor-pointer univer-flex-col univer-overflow-hidden univer-rounded-lg univer-bg-gray-0 univer-p-1 univer-shadow-sm univer-transition-all hover:univer-border-gray-400 hover:univer-shadow-md focus:univer-outline-none focus:univer-ring-2 focus:univer-ring-primary-200 dark:!univer-bg-gray-800", _univerjs_design.borderClassName, { "!univer-border-primary-500 univer-ring-2 univer-ring-primary-100": selected }),
2176
2256
  onClick: () => handleThemeChange(item),
@@ -2202,6 +2282,8 @@ const SheetTableThemePanel = (props) => {
2202
2282
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.IncreaseIcon, { className: "univer-size-4" })
2203
2283
  }), customRangeThemes.map((item) => {
2204
2284
  var _rangeThemeItem$getHe2, _rangeThemeItem$getFi2, _rangeThemeItem$getSe2, _rangeThemeItem$getLa2;
2285
+ const styleNumber = item.slice(TABLE_CUSTOM_NAME_PREFIX.length);
2286
+ const label = localeService.t("sheets-table-ui.customStyleNumber", styleNumber);
2205
2287
  const rangeThemeItem = rangeThemeModel.getCustomRangeThemeStyle(unitId, item);
2206
2288
  const rowBackgrounds = [
2207
2289
  rangeThemeItem === null || rangeThemeItem === void 0 || (_rangeThemeItem$getHe2 = rangeThemeItem.getHeaderRowStyle()) === null || _rangeThemeItem$getHe2 === void 0 || (_rangeThemeItem$getHe2 = _rangeThemeItem$getHe2.bg) === null || _rangeThemeItem$getHe2 === void 0 ? void 0 : _rangeThemeItem$getHe2.rgb,
@@ -2214,8 +2296,8 @@ const SheetTableThemePanel = (props) => {
2214
2296
  className: "univer-group univer-relative univer-h-12 univer-min-w-0",
2215
2297
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2216
2298
  type: "button",
2217
- title: item,
2218
- "aria-label": item,
2299
+ title: label,
2300
+ "aria-label": label,
2219
2301
  "aria-pressed": selected,
2220
2302
  className: (0, _univerjs_design.clsx)("univer-flex univer-size-full univer-cursor-pointer univer-flex-col univer-overflow-hidden univer-rounded-lg univer-bg-gray-0 univer-p-1 univer-shadow-sm univer-transition-all hover:univer-border-gray-400 hover:univer-shadow-md focus:univer-outline-none focus:univer-ring-2 focus:univer-ring-primary-200 dark:!univer-bg-gray-900", _univerjs_design.borderClassName, { "!univer-border-primary-500 univer-ring-2 univer-ring-primary-100": selected }),
2221
2303
  onClick: () => handleThemeChange(item),
@@ -2229,7 +2311,7 @@ const SheetTableThemePanel = (props) => {
2229
2311
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2230
2312
  type: "button",
2231
2313
  "data-u-comp": "sheet-table-theme-remove",
2232
- "aria-label": `${localeService.t("sheets-table-ui.customStyle")} ${item}`,
2314
+ "aria-label": localeService.t("sheets-table-ui.removeCustomStyle", styleNumber),
2233
2315
  className: (0, _univerjs_design.clsx)("univer-absolute univer-right-[-6px] univer-top-[-6px] univer-z-10 univer-flex univer-size-5 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-border univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-p-0 univer-text-gray-500 univer-shadow-sm univer-transition-all hover:univer-border-red-200 hover:univer-bg-red-50 hover:univer-text-red-600 focus:univer-opacity-100 focus:univer-outline-none focus:univer-ring-2 focus:univer-ring-primary-200 rtl:univer-left-[-6px] rtl:univer-right-auto dark:!univer-border-gray-600 dark:!univer-bg-gray-900", {
2234
2316
  "univer-opacity-100": selected,
2235
2317
  "univer-opacity-0 group-focus-within:univer-opacity-100 group-hover:univer-opacity-100": !selected
@@ -2958,12 +3040,10 @@ let SheetTableControlsRenderController = class SheetTableControlsRenderControlle
2958
3040
  this._shape.setHoveredRegion(null);
2959
3041
  }
2960
3042
  _getLocalPoint(evt) {
2961
- const skeleton = this._sheetSkeletonManagerService.getCurrentSkeleton();
2962
- if (skeleton) return (0, _univerjs_sheets_ui.getTransformCoord)(evt.offsetX, evt.offsetY, this._context.scene, skeleton);
2963
- return {
2964
- x: evt.offsetX,
2965
- y: evt.offsetY
2966
- };
3043
+ const { scene } = this._context;
3044
+ const point = new _univerjs_engine_render.Vector2(evt.offsetX, evt.offsetY);
3045
+ const viewport = scene.getActiveViewportByCoord(point) ?? scene.getDefaultViewport();
3046
+ return (viewport === null || viewport === void 0 ? void 0 : viewport.transformVector2SceneCoord(point)) ?? point;
2967
3047
  }
2968
3048
  };
2969
3049
  SheetTableControlsRenderController = __decorate([
@@ -3024,6 +3104,25 @@ var SheetTableControlsMobileRenderController = class extends SheetTableControlsR
3024
3104
  }
3025
3105
  };
3026
3106
 
3107
+ //#endregion
3108
+ //#region src/views/widgets/icons.ts
3109
+ /**
3110
+ * Copyright 2023-present DreamNum Co., Ltd.
3111
+ *
3112
+ * Licensed under the Apache License, Version 2.0 (the "License");
3113
+ * you may not use this file except in compliance with the License.
3114
+ * You may obtain a copy of the License at
3115
+ *
3116
+ * http://www.apache.org/licenses/LICENSE-2.0
3117
+ *
3118
+ * Unless required by applicable law or agreed to in writing, software
3119
+ * distributed under the License is distributed on an "AS IS" BASIS,
3120
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3121
+ * See the License for the specific language governing permissions and
3122
+ * limitations under the License.
3123
+ */
3124
+ const filterPartial = ["M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z"];
3125
+
3027
3126
  //#endregion
3028
3127
  //#region src/views/widgets/table-filter-button.shape.ts
3029
3128
  const FILTER_ICON_SIZE = 16;
@@ -3039,6 +3138,7 @@ let SheetsTableFilterButtonShape = class SheetsTableFilterButtonShape extends _u
3039
3138
  _defineProperty(this, "_hoverBackground", "rgba(255, 255, 255, 0.92)");
3040
3139
  _defineProperty(this, "_hoverIconColor", "#202124");
3041
3140
  _defineProperty(this, "_hovered", false);
3141
+ _defineProperty(this, "_filteredIconPath", null);
3042
3142
  this.setShapeProps(props);
3043
3143
  this.onPointerDown$.subscribeEvent((evt) => this.onPointerDown(evt));
3044
3144
  this.onPointerEnter$.subscribeEvent(() => this.onPointerEnter());
@@ -3057,6 +3157,7 @@ let SheetsTableFilterButtonShape = class SheetsTableFilterButtonShape extends _u
3057
3157
  });
3058
3158
  }
3059
3159
  _draw(ctx) {
3160
+ var _this$_filterParams;
3060
3161
  const cellHeight = this._cellHeight;
3061
3162
  const cellWidth = this._cellWidth;
3062
3163
  const left = 16 - cellWidth;
@@ -3075,7 +3176,13 @@ let SheetsTableFilterButtonShape = class SheetsTableFilterButtonShape extends _u
3075
3176
  ctx.fill();
3076
3177
  ctx.restore();
3077
3178
  }
3078
- this._drawChevron(ctx, this._hovered ? this._hoverIconColor : this._iconColor);
3179
+ const iconColor = this._hovered ? this._hoverIconColor : this._iconColor;
3180
+ const buttonState = (_this$_filterParams = this._filterParams) === null || _this$_filterParams === void 0 ? void 0 : _this$_filterParams.buttonState;
3181
+ if (buttonState === _univerjs_sheets_table.SheetsTableButtonStateEnum.FilteredSortNone || buttonState === _univerjs_sheets_table.SheetsTableButtonStateEnum.FilteredSortAsc || buttonState === _univerjs_sheets_table.SheetsTableButtonStateEnum.FilteredSortDesc) {
3182
+ this._filteredIconPath ??= new Path2D(filterPartial[0]);
3183
+ ctx.fillStyle = iconColor;
3184
+ ctx.fill(this._filteredIconPath);
3185
+ } else this._drawChevron(ctx, iconColor);
3079
3186
  ctx.restore();
3080
3187
  }
3081
3188
  _drawChevron(ctx, color) {
@@ -3597,9 +3704,78 @@ function SheetTableColorFilterPanel(props) {
3597
3704
  //#endregion
3598
3705
  //#region src/views/components/SheetTableConditionPanel.tsx
3599
3706
  const SheetTableConditionPanel = (props) => {
3600
- var _conditionInfo$info$d, _conditionInfo$info$d2, _conditionInfo$info$n, _conditionInfo$info$n3;
3707
+ var _conditionInfo$info$n, _conditionInfo$info$n2, _conditionInfo$info$n3, _conditionInfo$info$n7, _conditionInfo$info$n8, _conditionInfo$info$n9, _conditionInfo$info$d, _conditionInfo$info$d2;
3601
3708
  const { conditionInfo, onChange } = props;
3602
3709
  const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
3710
+ const [numberDraftState, setNumberDraftState] = (0, react.useState)({
3711
+ value: conditionInfo.info.number,
3712
+ type: conditionInfo.type,
3713
+ compare: conditionInfo.compare,
3714
+ text: String(conditionInfo.info.number ?? "")
3715
+ });
3716
+ if (!Object.is(numberDraftState.value, conditionInfo.info.number) || numberDraftState.type !== conditionInfo.type || numberDraftState.compare !== conditionInfo.compare) setNumberDraftState({
3717
+ value: conditionInfo.info.number,
3718
+ type: conditionInfo.type,
3719
+ compare: conditionInfo.compare,
3720
+ text: String(conditionInfo.info.number ?? "")
3721
+ });
3722
+ const numberDraft = numberDraftState.text;
3723
+ const setNumberDraft = (text) => setNumberDraftState({
3724
+ value: conditionInfo.info.number,
3725
+ type: conditionInfo.type,
3726
+ compare: conditionInfo.compare,
3727
+ text
3728
+ });
3729
+ const [minDraftState, setMinDraftState] = (0, react.useState)({
3730
+ value: (_conditionInfo$info$n = conditionInfo.info.numberRange) === null || _conditionInfo$info$n === void 0 ? void 0 : _conditionInfo$info$n[0],
3731
+ type: conditionInfo.type,
3732
+ compare: conditionInfo.compare,
3733
+ text: String(((_conditionInfo$info$n2 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n2 === void 0 ? void 0 : _conditionInfo$info$n2[0]) ?? "")
3734
+ });
3735
+ if (!Object.is(minDraftState.value, (_conditionInfo$info$n3 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n3 === void 0 ? void 0 : _conditionInfo$info$n3[0]) || minDraftState.type !== conditionInfo.type || minDraftState.compare !== conditionInfo.compare) {
3736
+ var _conditionInfo$info$n4, _conditionInfo$info$n5;
3737
+ setMinDraftState({
3738
+ value: (_conditionInfo$info$n4 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n4 === void 0 ? void 0 : _conditionInfo$info$n4[0],
3739
+ type: conditionInfo.type,
3740
+ compare: conditionInfo.compare,
3741
+ text: String(((_conditionInfo$info$n5 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n5 === void 0 ? void 0 : _conditionInfo$info$n5[0]) ?? "")
3742
+ });
3743
+ }
3744
+ const minDraft = minDraftState.text;
3745
+ const setMinDraft = (text) => {
3746
+ var _conditionInfo$info$n6;
3747
+ return setMinDraftState({
3748
+ value: (_conditionInfo$info$n6 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n6 === void 0 ? void 0 : _conditionInfo$info$n6[0],
3749
+ type: conditionInfo.type,
3750
+ compare: conditionInfo.compare,
3751
+ text
3752
+ });
3753
+ };
3754
+ const [maxDraftState, setMaxDraftState] = (0, react.useState)({
3755
+ value: (_conditionInfo$info$n7 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n7 === void 0 ? void 0 : _conditionInfo$info$n7[1],
3756
+ type: conditionInfo.type,
3757
+ compare: conditionInfo.compare,
3758
+ text: String(((_conditionInfo$info$n8 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n8 === void 0 ? void 0 : _conditionInfo$info$n8[1]) ?? "")
3759
+ });
3760
+ if (!Object.is(maxDraftState.value, (_conditionInfo$info$n9 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n9 === void 0 ? void 0 : _conditionInfo$info$n9[1]) || maxDraftState.type !== conditionInfo.type || maxDraftState.compare !== conditionInfo.compare) {
3761
+ var _conditionInfo$info$n10, _conditionInfo$info$n11;
3762
+ setMaxDraftState({
3763
+ value: (_conditionInfo$info$n10 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n10 === void 0 ? void 0 : _conditionInfo$info$n10[1],
3764
+ type: conditionInfo.type,
3765
+ compare: conditionInfo.compare,
3766
+ text: String(((_conditionInfo$info$n11 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n11 === void 0 ? void 0 : _conditionInfo$info$n11[1]) ?? "")
3767
+ });
3768
+ }
3769
+ const maxDraft = maxDraftState.text;
3770
+ const setMaxDraft = (text) => {
3771
+ var _conditionInfo$info$n12;
3772
+ return setMaxDraftState({
3773
+ value: (_conditionInfo$info$n12 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n12 === void 0 ? void 0 : _conditionInfo$info$n12[1],
3774
+ type: conditionInfo.type,
3775
+ compare: conditionInfo.compare,
3776
+ text
3777
+ });
3778
+ };
3603
3779
  const [conditionVisible, setConditionVisible] = (0, react.useState)(false);
3604
3780
  const injector = (0, _univerjs_ui.useDependency)(_univerjs_core.Injector);
3605
3781
  const cascaderOptions = getCascaderListOptions(injector);
@@ -3652,12 +3828,15 @@ const SheetTableConditionPanel = (props) => {
3652
3828
  placeholder: localeService.t("sheets-table-ui.filter.input-values-placeholder"),
3653
3829
  value: conditionInfo.info.string,
3654
3830
  onChange: (v) => handleConditionInfo({ string: v })
3655
- }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.InputNumber, {
3831
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Input, {
3656
3832
  className: "univer-h-7 univer-w-full",
3657
- value: conditionInfo.info.number,
3658
- controls: false,
3833
+ inputMode: "decimal",
3834
+ value: numberDraft,
3835
+ "aria-invalid": numberDraft !== "" && !Number.isFinite(Number(numberDraft)),
3836
+ onBlur: () => setNumberDraft(String(conditionInfo.info.number ?? "")),
3659
3837
  onChange: (v) => {
3660
- if (v !== null) handleConditionInfo({ number: v });
3838
+ setNumberDraft(v);
3839
+ if (v.trim() !== "" && Number.isFinite(Number(v))) handleConditionInfo({ number: Number(v) });
3661
3840
  }
3662
3841
  }) }),
3663
3842
  !!(subComponentType === "DatePicker") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
@@ -3682,26 +3861,38 @@ const SheetTableConditionPanel = (props) => {
3682
3861
  subComponentType === "Inputs" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3683
3862
  className: "univer-flex univer-items-center univer-gap-2",
3684
3863
  children: [
3685
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.InputNumber, {
3864
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Input, {
3686
3865
  className: "univer-w-full",
3687
- value: (_conditionInfo$info$n = conditionInfo.info.numberRange) === null || _conditionInfo$info$n === void 0 ? void 0 : _conditionInfo$info$n[0],
3866
+ inputMode: "decimal",
3867
+ value: minDraft,
3868
+ "aria-invalid": minDraft !== "" && !Number.isFinite(Number(minDraft)),
3869
+ onBlur: () => {
3870
+ var _conditionInfo$info$n13;
3871
+ return setMinDraft(String(((_conditionInfo$info$n13 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n13 === void 0 ? void 0 : _conditionInfo$info$n13[0]) ?? ""));
3872
+ },
3688
3873
  onChange: (v) => {
3689
- if (v !== null) {
3690
- var _conditionInfo$info$n2;
3691
- handleConditionInfo({ numberRange: [v, (_conditionInfo$info$n2 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n2 === void 0 ? void 0 : _conditionInfo$info$n2[1]] });
3874
+ setMinDraft(v);
3875
+ if (v.trim() !== "" && Number.isFinite(Number(v))) {
3876
+ var _conditionInfo$info$n14;
3877
+ handleConditionInfo({ numberRange: [Number(v), (_conditionInfo$info$n14 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n14 === void 0 ? void 0 : _conditionInfo$info$n14[1]] });
3692
3878
  }
3693
- },
3694
- controls: false
3879
+ }
3695
3880
  }),
3696
3881
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: " - " }),
3697
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.InputNumber, {
3882
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Input, {
3698
3883
  className: "univer-w-full",
3699
- value: (_conditionInfo$info$n3 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n3 === void 0 ? void 0 : _conditionInfo$info$n3[1],
3700
- controls: false,
3884
+ inputMode: "decimal",
3885
+ value: maxDraft,
3886
+ "aria-invalid": maxDraft !== "" && !Number.isFinite(Number(maxDraft)),
3887
+ onBlur: () => {
3888
+ var _conditionInfo$info$n15;
3889
+ return setMaxDraft(String(((_conditionInfo$info$n15 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n15 === void 0 ? void 0 : _conditionInfo$info$n15[1]) ?? ""));
3890
+ },
3701
3891
  onChange: (v) => {
3702
- if (v !== null) {
3703
- var _conditionInfo$info$n4;
3704
- handleConditionInfo({ numberRange: [(_conditionInfo$info$n4 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n4 === void 0 ? void 0 : _conditionInfo$info$n4[0], v] });
3892
+ setMaxDraft(v);
3893
+ if (v.trim() !== "" && Number.isFinite(Number(v))) {
3894
+ var _conditionInfo$info$n16;
3895
+ handleConditionInfo({ numberRange: [(_conditionInfo$info$n16 = conditionInfo.info.numberRange) === null || _conditionInfo$info$n16 === void 0 ? void 0 : _conditionInfo$info$n16[0], Number(v)] });
3705
3896
  }
3706
3897
  }
3707
3898
  })
@@ -4330,13 +4521,13 @@ UniverSheetsTableUIPlugin = __decorate([
4330
4521
 
4331
4522
  //#endregion
4332
4523
  exports.SheetsTableUIMenuSchema = menuSchema;
4333
- Object.defineProperty(exports, 'UniverSheetsTableMobileUIPlugin', {
4524
+ Object.defineProperty(exports, "UniverSheetsTableMobileUIPlugin", {
4334
4525
  enumerable: true,
4335
4526
  get: function () {
4336
4527
  return UniverSheetsTableMobileUIPlugin;
4337
4528
  }
4338
4529
  });
4339
- Object.defineProperty(exports, 'UniverSheetsTableUIPlugin', {
4530
+ Object.defineProperty(exports, "UniverSheetsTableUIPlugin", {
4340
4531
  enumerable: true,
4341
4532
  get: function () {
4342
4533
  return UniverSheetsTableUIPlugin;
@@ -1,5 +1,8 @@
1
1
  //#region src/locale/ar-SA.ts
2
2
  const locale = { "sheets-table-ui": {
3
+ defaultStyleNumber: "النمط الافتراضي {0}",
4
+ customStyleNumber: "النمط المخصص {0}",
5
+ removeCustomStyle: "حذف النمط المخصص {0}",
3
6
  calculatedColumn: "عمود محسوب",
4
7
  columnFormula: "الصيغة",
5
8
  columnFormulaHint: "يستبدل فورًا {0} خلية بيانات دون الرأس والإجمالي. إيقاف التعبئة يحافظ على الخلايا الحالية. يمكن التراجع.",
@@ -1,5 +1,8 @@
1
1
  //#region src/locale/ca-ES.ts
2
2
  const locale = { "sheets-table-ui": {
3
+ defaultStyleNumber: "Estil predeterminat {0}",
4
+ customStyleNumber: "Estil personalitzat {0}",
5
+ removeCustomStyle: "Suprimeix l’estil personalitzat {0}",
3
6
  calculatedColumn: "Columna calculada",
4
7
  columnFormula: "Fórmula",
5
8
  columnFormulaHint: "Substitueix immediatament les {0} cel·les de dades, sense capçalera ni totals. Aturar conserva les cel·les existents. Es pot desfer.",
@@ -1,5 +1,8 @@
1
1
  //#region src/locale/de-DE.ts
2
2
  const locale = { "sheets-table-ui": {
3
+ defaultStyleNumber: "Standardstil {0}",
4
+ customStyleNumber: "Benutzerdefinierter Stil {0}",
5
+ removeCustomStyle: "Benutzerdefinierten Stil {0} löschen",
3
6
  calculatedColumn: "Berechnete Spalte",
4
7
  columnFormula: "Formel",
5
8
  columnFormulaHint: "Ersetzt sofort alle {0} Datenzellen ohne Kopf- und Ergebniszeile. Beim Stoppen bleiben vorhandene Zellen erhalten. Rückgängig möglich.",
@@ -15,6 +15,9 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  const locale = { "sheets-table-ui": {
18
+ defaultStyleNumber: "Default style {0}",
19
+ customStyleNumber: "Custom style {0}",
20
+ removeCustomStyle: "Delete custom style {0}",
18
21
  calculatedColumn: "Calculated column",
19
22
  columnFormula: "Formula",
20
23
  columnFormulaHint: "Apply replaces all {0} data cells in this column immediately. Header and footer are excluded. Stop preserves existing cells. Changes can be undone.",
@@ -1,5 +1,8 @@
1
1
  //#region src/locale/es-ES.ts
2
2
  const locale = { "sheets-table-ui": {
3
+ defaultStyleNumber: "Estilo predeterminado {0}",
4
+ customStyleNumber: "Estilo personalizado {0}",
5
+ removeCustomStyle: "Eliminar el estilo personalizado {0}",
3
6
  calculatedColumn: "Columna calculada",
4
7
  columnFormula: "Fórmula",
5
8
  columnFormulaHint: "Reemplaza inmediatamente las {0} celdas de datos, sin encabezado ni totales. Detener conserva las celdas existentes. Se puede deshacer.",
@@ -1,5 +1,8 @@
1
1
  //#region src/locale/fa-IR.ts
2
2
  const locale = { "sheets-table-ui": {
3
+ defaultStyleNumber: "سبک پیش‌فرض {0}",
4
+ customStyleNumber: "سبک سفارشی {0}",
5
+ removeCustomStyle: "حذف سبک سفارشی {0}",
3
6
  calculatedColumn: "ستون محاسباتی",
4
7
  columnFormula: "فرمول",
5
8
  columnFormulaHint: "بلافاصله {0} سلول داده را بدون سربرگ و جمع جایگزین می‌کند. توقف، سلول‌های موجود را حفظ می‌کند. قابل واگرد است.",
@@ -1,5 +1,8 @@
1
1
  //#region src/locale/fr-FR.ts
2
2
  const locale = { "sheets-table-ui": {
3
+ defaultStyleNumber: "Style par défaut {0}",
4
+ customStyleNumber: "Style personnalisé {0}",
5
+ removeCustomStyle: "Supprimer le style personnalisé {0}",
3
6
  calculatedColumn: "Colonne calculée",
4
7
  columnFormula: "Formule",
5
8
  columnFormulaHint: "Remplace immédiatement les {0} cellules de données, hors en-tête et total. Arrêter conserve les cellules existantes. Annulation possible.",
@@ -1,5 +1,8 @@
1
1
  //#region src/locale/id-ID.ts
2
2
  const locale = { "sheets-table-ui": {
3
+ defaultStyleNumber: "Gaya default {0}",
4
+ customStyleNumber: "Gaya kustom {0}",
5
+ removeCustomStyle: "Hapus gaya kustom {0}",
3
6
  calculatedColumn: "Kolom terhitung",
4
7
  columnFormula: "Rumus",
5
8
  columnFormulaHint: "Langsung mengganti {0} sel data, kecuali header dan total. Berhenti mempertahankan sel yang ada. Perubahan dapat diurungkan.",
@@ -1,5 +1,8 @@
1
1
  //#region src/locale/it-IT.ts
2
2
  const locale = { "sheets-table-ui": {
3
+ defaultStyleNumber: "Stile predefinito {0}",
4
+ customStyleNumber: "Stile personalizzato {0}",
5
+ removeCustomStyle: "Elimina lo stile personalizzato {0}",
3
6
  calculatedColumn: "Colonna calcolata",
4
7
  columnFormula: "Formula",
5
8
  columnFormulaHint: "Sostituisce subito {0} celle dati, escluse intestazione e totali. Arrestare mantiene le celle esistenti. È possibile annullare.",
@@ -1,5 +1,8 @@
1
1
  //#region src/locale/ja-JP.ts
2
2
  const locale = { "sheets-table-ui": {
3
+ defaultStyleNumber: "標準スタイル {0}",
4
+ customStyleNumber: "カスタムスタイル {0}",
5
+ removeCustomStyle: "カスタムスタイル {0} を削除",
3
6
  calculatedColumn: "集計列",
4
7
  columnFormula: "数式",
5
8
  columnFormulaHint: "適用すると列のデータセル {0} 個を置換します。見出しと集計行は除きます。自動入力の停止は既存セルを保持します。元に戻せます。",