@odoo/o-spreadsheet 16.5.0-alpha.12 → 16.5.0-alpha.13

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.
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * This file is generated by o-spreadsheet build tools. Do not edit it.
4
4
  * @see https://github.com/odoo/o-spreadsheet
5
- * @version 16.5.0-alpha.12
6
- * @date 2023-10-20T15:12:28.296Z
7
- * @hash 430f090
5
+ * @version 16.5.0-alpha.13
6
+ * @date 2023-10-25T10:04:45.428Z
7
+ * @hash 18a08b1
8
8
  */
9
9
 
10
10
  'use strict';
@@ -7585,6 +7585,18 @@ function multiplyMatrices(matrix1, matrix2) {
7585
7585
  }
7586
7586
  return result;
7587
7587
  }
7588
+ /**
7589
+ * Return the input if it's a scalar or the first element of the input if it's a matrix.
7590
+ */
7591
+ function toScalar(matrix) {
7592
+ if (!isMatrix(matrix)) {
7593
+ return matrix;
7594
+ }
7595
+ if (matrix.length !== 1 || matrix[0].length !== 1) {
7596
+ throw new Error("toScalar: matrix should be a scalar or a 1x1 matrix");
7597
+ }
7598
+ return matrix[0][0];
7599
+ }
7588
7600
 
7589
7601
  // -----------------------------------------------------------------------------
7590
7602
  // ARRAY_CONSTRAIN
@@ -10298,6 +10310,42 @@ const QUARTILE_INC = {
10298
10310
  },
10299
10311
  isExported: true,
10300
10312
  };
10313
+ // RANK
10314
+ // -----------------------------------------------------------------------------
10315
+ const RANK = {
10316
+ description: _t("Returns the rank of a specified value in a dataset."),
10317
+ args: [
10318
+ arg("value (number)", _t("The value whose rank will be determined.")),
10319
+ arg("data (range)", _t("The range containing the dataset to consider.")),
10320
+ arg("is_ascending (boolean, default=FALSE)", _t("Whether to consider the values in data in descending or ascending order.")),
10321
+ ],
10322
+ returns: ["ANY"],
10323
+ compute: function (value, data, isAscending = false) {
10324
+ const _isAscending = toBoolean(isAscending);
10325
+ const _value = toNumber(value, this.locale);
10326
+ let rank = 1;
10327
+ let found = false;
10328
+ for (const row of data) {
10329
+ for (const cell of row) {
10330
+ if (typeof cell !== "number") {
10331
+ continue;
10332
+ }
10333
+ const _cell = toNumber(cell, this.locale);
10334
+ if (_cell === _value) {
10335
+ found = true;
10336
+ }
10337
+ else if (_cell > _value !== _isAscending) {
10338
+ rank++;
10339
+ }
10340
+ }
10341
+ }
10342
+ if (!found) {
10343
+ throw new NotAvailableError(_t("Value not found in the given data."));
10344
+ }
10345
+ return rank;
10346
+ },
10347
+ isExported: true,
10348
+ };
10301
10349
  // -----------------------------------------------------------------------------
10302
10350
  // RSQ
10303
10351
  // -----------------------------------------------------------------------------
@@ -10642,6 +10690,7 @@ var statistical = /*#__PURE__*/Object.freeze({
10642
10690
  QUARTILE: QUARTILE,
10643
10691
  QUARTILE_EXC: QUARTILE_EXC,
10644
10692
  QUARTILE_INC: QUARTILE_INC,
10693
+ RANK: RANK,
10645
10694
  RSQ: RSQ,
10646
10695
  SLOPE: SLOPE,
10647
10696
  SMALL: SMALL,
@@ -11788,6 +11837,172 @@ var engineering = /*#__PURE__*/Object.freeze({
11788
11837
  DELTA: DELTA
11789
11838
  });
11790
11839
 
11840
+ const SORT_TYPES = [
11841
+ CellValueType.number,
11842
+ CellValueType.error,
11843
+ CellValueType.text,
11844
+ CellValueType.boolean,
11845
+ ];
11846
+ function cellsSortingCriterion(sortingOrder) {
11847
+ const inverse = sortingOrder === "ascending" ? 1 : -1;
11848
+ return (left, right) => {
11849
+ if (left.type === CellValueType.empty) {
11850
+ return right.type === CellValueType.empty ? 0 : 1;
11851
+ }
11852
+ else if (right.type === CellValueType.empty) {
11853
+ return -1;
11854
+ }
11855
+ let typeOrder = SORT_TYPES.indexOf(left.type) - SORT_TYPES.indexOf(right.type);
11856
+ if (typeOrder === 0) {
11857
+ if (left.type === CellValueType.text || left.type === CellValueType.error) {
11858
+ typeOrder = left.value.localeCompare(right.value);
11859
+ }
11860
+ else {
11861
+ typeOrder = left.value - right.value;
11862
+ }
11863
+ }
11864
+ return inverse * typeOrder;
11865
+ };
11866
+ }
11867
+ function sortCells(cells, sortDirection, emptyCellAsZero) {
11868
+ const cellsWithIndex = cells.map((cell, index) => ({
11869
+ index,
11870
+ type: cell.type,
11871
+ value: cell.value,
11872
+ }));
11873
+ const cellsToSort = emptyCellAsZero
11874
+ ? cellsWithIndex.map((cell) => cell.type === CellValueType.empty ? { ...cell, type: CellValueType.number, value: 0 } : cell)
11875
+ : cellsWithIndex;
11876
+ return cellsToSort.sort(cellsSortingCriterion(sortDirection));
11877
+ }
11878
+ function interactiveSortSelection(env, sheetId, anchor, zone, sortDirection) {
11879
+ let result = DispatchResult.Success;
11880
+ //several columns => bypass the contiguity check
11881
+ let multiColumns = zone.right > zone.left;
11882
+ if (env.model.getters.doesIntersectMerge(sheetId, zone)) {
11883
+ multiColumns = false;
11884
+ let table;
11885
+ for (let row = zone.top; row <= zone.bottom; row++) {
11886
+ table = [];
11887
+ for (let col = zone.left; col <= zone.right; col++) {
11888
+ let merge = env.model.getters.getMerge({ sheetId, col, row });
11889
+ if (merge && !table.includes(merge.id.toString())) {
11890
+ table.push(merge.id.toString());
11891
+ }
11892
+ }
11893
+ if (table.length >= 2) {
11894
+ multiColumns = true;
11895
+ break;
11896
+ }
11897
+ }
11898
+ }
11899
+ const { col, row } = anchor;
11900
+ if (multiColumns) {
11901
+ result = env.model.dispatch("SORT_CELLS", { sheetId, col, row, zone, sortDirection });
11902
+ }
11903
+ else {
11904
+ // check contiguity
11905
+ const contiguousZone = env.model.getters.getContiguousZone(sheetId, zone);
11906
+ if (isEqual(contiguousZone, zone)) {
11907
+ // merge as it is
11908
+ result = env.model.dispatch("SORT_CELLS", {
11909
+ sheetId,
11910
+ col,
11911
+ row,
11912
+ zone,
11913
+ sortDirection,
11914
+ });
11915
+ }
11916
+ else {
11917
+ env.askConfirmation(_t("We found data next to your selection. Since this data was not selected, it will not be sorted. Do you want to extend your selection?"), () => {
11918
+ zone = contiguousZone;
11919
+ result = env.model.dispatch("SORT_CELLS", {
11920
+ sheetId,
11921
+ col,
11922
+ row,
11923
+ zone,
11924
+ sortDirection,
11925
+ });
11926
+ }, () => {
11927
+ result = env.model.dispatch("SORT_CELLS", {
11928
+ sheetId,
11929
+ col,
11930
+ row,
11931
+ zone,
11932
+ sortDirection,
11933
+ });
11934
+ });
11935
+ }
11936
+ }
11937
+ if (result.isCancelledBecause("InvalidSortZone" /* CommandResult.InvalidSortZone */)) {
11938
+ const { col, row } = anchor;
11939
+ env.model.selection.selectZone({ cell: { col, row }, zone });
11940
+ env.raiseError(_t("Cannot sort. To sort, select only cells or only merges that have the same size."));
11941
+ }
11942
+ }
11943
+
11944
+ function sortMatrix(matrix, locale, ...criteria) {
11945
+ for (const [i, value] of criteria.entries()) {
11946
+ assert(() => value !== undefined, _t(`Value for parameter %d is missing, while the function [[FUNCTION_NAME]] expect a number or a range.`, i + 1));
11947
+ }
11948
+ const sortingOrders = [];
11949
+ const sortColumns = [];
11950
+ const nRows = matrix.length;
11951
+ for (let i = 0; i < criteria.length; i += 2) {
11952
+ sortingOrders.push(toBoolean(toScalar(criteria[i + 1])?.value) ? "ascending" : "descending");
11953
+ const sortColumn = criteria[i];
11954
+ if (isMatrix(sortColumn) && (sortColumn.length > 1 || sortColumn[0].length > 1)) {
11955
+ assert(() => sortColumn.length === 1 && sortColumn[0].length === nRows, _t(`Wrong size for %s. Expected a range of size 1x%s. Got %sx%s.`, `sort_column{i + 1}`, nRows, sortColumn.length, sortColumn[0].length));
11956
+ sortColumns.push(sortColumn.flat().map((c) => c.value));
11957
+ }
11958
+ else {
11959
+ const colIndex = toNumber(toScalar(sortColumn)?.value, locale);
11960
+ if (colIndex < 1 || colIndex > matrix[0].length) {
11961
+ return matrix;
11962
+ }
11963
+ sortColumns.push(matrix.map((row) => row[colIndex - 1].value));
11964
+ }
11965
+ }
11966
+ if (sortColumns.length === 0) {
11967
+ for (let i = 0; i < matrix[0].length; i++) {
11968
+ sortColumns.push(matrix.map((row) => row[i].value));
11969
+ sortingOrders.push("ascending");
11970
+ }
11971
+ }
11972
+ const sortingCriteria = {
11973
+ descending: cellsSortingCriterion("descending"),
11974
+ ascending: cellsSortingCriterion("ascending"),
11975
+ };
11976
+ const indexes = range(0, matrix.length);
11977
+ indexes.sort((a, b) => {
11978
+ for (const [i, sortColumn] of sortColumns.entries()) {
11979
+ const left = sortColumn[a];
11980
+ const right = sortColumn[b];
11981
+ const leftCell = {
11982
+ value: left,
11983
+ type: left === null
11984
+ ? CellValueType.empty
11985
+ : typeof left === "string"
11986
+ ? CellValueType.text
11987
+ : typeof left,
11988
+ };
11989
+ const rightCell = {
11990
+ value: right,
11991
+ type: right === null
11992
+ ? CellValueType.empty
11993
+ : typeof right === "string"
11994
+ ? CellValueType.text
11995
+ : typeof right,
11996
+ };
11997
+ const result = sortingCriteria[sortingOrders[i]](leftCell, rightCell);
11998
+ if (result !== 0) {
11999
+ return result;
12000
+ }
12001
+ }
12002
+ return 0;
12003
+ });
12004
+ return indexes.map((i) => matrix[i]);
12005
+ }
11791
12006
  // -----------------------------------------------------------------------------
11792
12007
  // FILTER
11793
12008
  // -----------------------------------------------------------------------------
@@ -11824,6 +12039,93 @@ const FILTER = {
11824
12039
  isExported: true,
11825
12040
  };
11826
12041
  // -----------------------------------------------------------------------------
12042
+ // SORT
12043
+ // -----------------------------------------------------------------------------
12044
+ const SORT = {
12045
+ description: _t("Sorts the rows of a given array or range by the values in one or more columns."),
12046
+ args: [
12047
+ arg("range (range)", _t("The data to be sorted.")),
12048
+ arg("sort_column (any, range<number>, repeating)", _t("The index of the column in range or a range outside of range containing the values by which to sort.")),
12049
+ arg("is_ascending (boolean, repeating)", _t("TRUE or FALSE indicating whether to sort sort_column in ascending order. FALSE sorts in descending order.")),
12050
+ ],
12051
+ returns: ["RANGE"],
12052
+ computeValueAndFormat: function (range, ...sortingCriteria) {
12053
+ const _range = transposeMatrix(range);
12054
+ return transposeMatrix(sortMatrix(_range, this.locale, ...sortingCriteria));
12055
+ },
12056
+ isExported: true,
12057
+ };
12058
+ // -----------------------------------------------------------------------------
12059
+ // SORTN
12060
+ // -----------------------------------------------------------------------------
12061
+ const SORTN = {
12062
+ description: _t("Returns the first n items in a data set after performing a sort."),
12063
+ args: [
12064
+ arg("range (range)", _t("The data to be sorted.")),
12065
+ arg("n (number, default=1)", _t("The number of items to return.")),
12066
+ arg("display_ties_mode (number, default=0)", _t("A number representing the way to display ties.")),
12067
+ arg("sort_column (number, range<number>, repeating)", _t("The index of the column in range or a range outside of range containing the values by which to sort.")),
12068
+ arg("is_ascending (boolean, repeating)", _t("TRUE or FALSE indicating whether to sort sort_column in ascending order. FALSE sorts in descending order.")),
12069
+ ],
12070
+ returns: ["RANGE"],
12071
+ computeValueAndFormat: function (range, n, displayTiesMode, ...sortingCriteria) {
12072
+ const _n = toNumber(n?.value ?? 1, this.locale);
12073
+ assert(() => _n >= 0, _t(`Wrong value of 'n'. Expected a positive number. Got %s.`, _n));
12074
+ const _displayTiesMode = toNumber(displayTiesMode?.value ?? 0, this.locale);
12075
+ assert(() => _displayTiesMode >= 0 && _displayTiesMode <= 3, _t(`Wrong value of 'display_ties_mode'. Expected a positive number between 0 and 3. Got %s.`, _displayTiesMode));
12076
+ const sortedData = sortMatrix(transposeMatrix(range), this.locale, ...sortingCriteria);
12077
+ const sameRows = (i, j) => JSON.stringify(sortedData[i].map((c) => c.value)) ===
12078
+ JSON.stringify(sortedData[j].map((c) => c.value));
12079
+ /*
12080
+ * displayTiesMode determine how ties (equal values) are dealt with:
12081
+ * 0 - ignore ties and show first n rows only
12082
+ * 1 - show first n rows plus any additional ties with nth row
12083
+ * 2 - show n rows but remove duplicates
12084
+ * 3 - show first n unique rows and all duplicates of these rows
12085
+ */
12086
+ switch (_displayTiesMode) {
12087
+ case 0:
12088
+ return transposeMatrix(sortedData.slice(0, _n));
12089
+ case 1:
12090
+ for (let i = _n; i < sortedData.length; i++) {
12091
+ if (!sameRows(i, _n - 1)) {
12092
+ return transposeMatrix(sortedData.slice(0, i));
12093
+ }
12094
+ }
12095
+ return transposeMatrix(sortedData);
12096
+ case 2: {
12097
+ const uniques = [sortedData[0]];
12098
+ for (let i = 1; i < sortedData.length; i++) {
12099
+ for (let j = 0; j < i; j++) {
12100
+ if (sameRows(i, j)) {
12101
+ break;
12102
+ }
12103
+ if (j === i - 1) {
12104
+ uniques.push(sortedData[i]);
12105
+ }
12106
+ }
12107
+ }
12108
+ return transposeMatrix(uniques.slice(0, _n));
12109
+ }
12110
+ case 3: {
12111
+ const uniques = [sortedData[0]];
12112
+ let counter = 1;
12113
+ for (let i = 1; i < sortedData.length; i++) {
12114
+ if (!sameRows(i, i - 1)) {
12115
+ counter++;
12116
+ }
12117
+ if (counter > _n) {
12118
+ break;
12119
+ }
12120
+ uniques.push(sortedData[i]);
12121
+ }
12122
+ return transposeMatrix(uniques);
12123
+ }
12124
+ }
12125
+ },
12126
+ isExported: true,
12127
+ };
12128
+ // -----------------------------------------------------------------------------
11827
12129
  // UNIQUE
11828
12130
  // -----------------------------------------------------------------------------
11829
12131
  const UNIQUE = {
@@ -11871,6 +12173,8 @@ const UNIQUE = {
11871
12173
  var filter = /*#__PURE__*/Object.freeze({
11872
12174
  __proto__: null,
11873
12175
  FILTER: FILTER,
12176
+ SORT: SORT,
12177
+ SORTN: SORTN,
11874
12178
  UNIQUE: UNIQUE
11875
12179
  });
11876
12180
 
@@ -20285,105 +20589,6 @@ cellMenuRegistry
20285
20589
  separator: true,
20286
20590
  });
20287
20591
 
20288
- const SORT_TYPES = [
20289
- CellValueType.number,
20290
- CellValueType.error,
20291
- CellValueType.text,
20292
- CellValueType.boolean,
20293
- ];
20294
- function sortCells(cells, sortDirection, emptyCellAsZero) {
20295
- const cellsWithIndex = cells.map((cell, index) => ({
20296
- index,
20297
- type: cell.type,
20298
- value: cell.value,
20299
- }));
20300
- let emptyCells = cellsWithIndex.filter((x) => x.type === CellValueType.empty);
20301
- let nonEmptyCells = cellsWithIndex.filter((x) => x.type !== CellValueType.empty);
20302
- if (emptyCellAsZero) {
20303
- nonEmptyCells.push(...emptyCells.map((emptyCell) => ({ ...emptyCell, type: CellValueType.number, value: 0 })));
20304
- emptyCells = [];
20305
- }
20306
- const inverse = sortDirection === "descending" ? -1 : 1;
20307
- return nonEmptyCells
20308
- .sort((left, right) => {
20309
- let typeOrder = SORT_TYPES.indexOf(left.type) - SORT_TYPES.indexOf(right.type);
20310
- if (typeOrder === 0) {
20311
- if (left.type === CellValueType.text || left.type === CellValueType.error) {
20312
- typeOrder = left.value.localeCompare(right.value);
20313
- }
20314
- else
20315
- typeOrder = left.value - right.value;
20316
- }
20317
- return inverse * typeOrder;
20318
- })
20319
- .concat(emptyCells);
20320
- }
20321
- function interactiveSortSelection(env, sheetId, anchor, zone, sortDirection) {
20322
- let result = DispatchResult.Success;
20323
- //several columns => bypass the contiguity check
20324
- let multiColumns = zone.right > zone.left;
20325
- if (env.model.getters.doesIntersectMerge(sheetId, zone)) {
20326
- multiColumns = false;
20327
- let table;
20328
- for (let row = zone.top; row <= zone.bottom; row++) {
20329
- table = [];
20330
- for (let col = zone.left; col <= zone.right; col++) {
20331
- let merge = env.model.getters.getMerge({ sheetId, col, row });
20332
- if (merge && !table.includes(merge.id.toString())) {
20333
- table.push(merge.id.toString());
20334
- }
20335
- }
20336
- if (table.length >= 2) {
20337
- multiColumns = true;
20338
- break;
20339
- }
20340
- }
20341
- }
20342
- const { col, row } = anchor;
20343
- if (multiColumns) {
20344
- result = env.model.dispatch("SORT_CELLS", { sheetId, col, row, zone, sortDirection });
20345
- }
20346
- else {
20347
- // check contiguity
20348
- const contiguousZone = env.model.getters.getContiguousZone(sheetId, zone);
20349
- if (isEqual(contiguousZone, zone)) {
20350
- // merge as it is
20351
- result = env.model.dispatch("SORT_CELLS", {
20352
- sheetId,
20353
- col,
20354
- row,
20355
- zone,
20356
- sortDirection,
20357
- });
20358
- }
20359
- else {
20360
- env.askConfirmation(_t("We found data next to your selection. Since this data was not selected, it will not be sorted. Do you want to extend your selection?"), () => {
20361
- zone = contiguousZone;
20362
- result = env.model.dispatch("SORT_CELLS", {
20363
- sheetId,
20364
- col,
20365
- row,
20366
- zone,
20367
- sortDirection,
20368
- });
20369
- }, () => {
20370
- result = env.model.dispatch("SORT_CELLS", {
20371
- sheetId,
20372
- col,
20373
- row,
20374
- zone,
20375
- sortDirection,
20376
- });
20377
- });
20378
- }
20379
- }
20380
- if (result.isCancelledBecause("InvalidSortZone" /* CommandResult.InvalidSortZone */)) {
20381
- const { col, row } = anchor;
20382
- env.model.selection.selectZone({ cell: { col, row }, zone });
20383
- env.raiseError(_t("Cannot sort. To sort, select only cells or only merges that have the same size."));
20384
- }
20385
- }
20386
-
20387
20592
  const AddFilterInteractiveContent = {
20388
20593
  filterOverlap: _t("You cannot create overlapping filters."),
20389
20594
  nonContinuousTargets: _t("A filter can only be created on a continuous selection."),
@@ -26566,7 +26771,6 @@ css /* scss */ `
26566
26771
  border-top-right-radius: 4px;
26567
26772
  font-size: ${DEFAULT_FONT_SIZE};
26568
26773
  color: white;
26569
- opacity: 0;
26570
26774
  pointer-events: none;
26571
26775
  }
26572
26776
  `;
@@ -26586,7 +26790,6 @@ class ClientTag extends owl.Component {
26586
26790
  left: `${x - 1}px`,
26587
26791
  border: `1px solid ${color}`,
26588
26792
  "background-color": color,
26589
- opacity: this.props.active ? "opacity:1 !important" : undefined,
26590
26793
  });
26591
26794
  }
26592
26795
  }
@@ -40763,7 +40966,7 @@ class EvaluationConditionalFormatPlugin extends UIPlugin {
40763
40966
  return percentile(rangeValues, Number(threshold.value) / 100, true);
40764
40967
  case "formula":
40765
40968
  const value = threshold.value && this.getters.evaluateFormula(sheetId, threshold.value);
40766
- return !(value instanceof Promise) ? value : null;
40969
+ return typeof value === "number" ? value : null;
40767
40970
  default:
40768
40971
  return null;
40769
40972
  }
@@ -40889,10 +41092,13 @@ class EvaluationConditionalFormatPlugin extends UIPlugin {
40889
41092
  }
40890
41093
  const [value0, value1] = rule.values.map((val) => {
40891
41094
  if (val.startsWith("=")) {
40892
- return this.getters.evaluateFormula(target.sheetId, val);
41095
+ return this.getters.evaluateFormula(target.sheetId, val) ?? "";
40893
41096
  }
40894
41097
  return parseLiteral(val, DEFAULT_LOCALE);
40895
41098
  });
41099
+ if (isMatrix(value0) || isMatrix(value1)) {
41100
+ return false;
41101
+ }
40896
41102
  switch (rule.operator) {
40897
41103
  case "IsEmpty":
40898
41104
  return cell.value.toString().trim() === "";
@@ -41081,7 +41287,7 @@ class EvaluationDataValidationPlugin extends UIPlugin {
41081
41287
  const formula = compile(value);
41082
41288
  const translatedFormula = this.getters.getTranslatedCellFormula(sheetId, offset.col, offset.row, formula, formula.dependencies.map((d) => this.getters.getRangeFromSheetXC(sheetId, d)));
41083
41289
  const evaluated = this.getters.evaluateFormula(sheetId, translatedFormula);
41084
- return evaluated ? evaluated.toString() : "";
41290
+ return evaluated && !isMatrix(evaluated) ? evaluated.toString() : "";
41085
41291
  }
41086
41292
  catch (e) {
41087
41293
  return e instanceof EvaluationError ? e.errorType : CellErrorType.GenericError;
@@ -47576,6 +47782,9 @@ class EditionPlugin extends UIPlugin {
47576
47782
  const cellValue = content.startsWith("=")
47577
47783
  ? this.getters.evaluateFormula(this.sheetId, content)
47578
47784
  : parseLiteral(content, this.getters.getLocale());
47785
+ if (isMatrix(cellValue)) {
47786
+ return "Success" /* CommandResult.Success */;
47787
+ }
47579
47788
  const validationResult = this.getters.getValidationResultForCellValue(cellValue, cellPosition);
47580
47789
  if (!validationResult.isValid && validationResult.rule.isBlocking) {
47581
47790
  return "BlockingValidationRule" /* CommandResult.BlockingValidationRule */;
@@ -50815,6 +51024,7 @@ const BORDER_POSITIONS = [
50815
51024
  css /* scss */ `
50816
51025
  .o-border-selector {
50817
51026
  padding: 4px;
51027
+ background-color: white;
50818
51028
  }
50819
51029
  .o-divider {
50820
51030
  border-right: 1px solid #e0e2e4;
@@ -55530,6 +55740,6 @@ exports.setTranslationMethod = setTranslationMethod;
55530
55740
  exports.tokenize = tokenize;
55531
55741
 
55532
55742
 
55533
- __info__.version = "16.5.0-alpha.12";
55534
- __info__.date = "2023-10-20T15:12:28.296Z";
55535
- __info__.hash = "430f090";
55743
+ __info__.version = "16.5.0-alpha.13";
55744
+ __info__.date = "2023-10-25T10:04:45.428Z";
55745
+ __info__.hash = "18a08b1";
@@ -1735,9 +1735,9 @@ interface ZoneDependentCommand {
1735
1735
  zone: Zone;
1736
1736
  }
1737
1737
  declare const invalidateEvaluationCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "UNDO" | "REDO" | "EVALUATE_CELLS">;
1738
- declare const invalidateDependenciesCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "ACTIVATE_SHEET" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SORT_CELLS" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1738
+ declare const invalidateDependenciesCommands: Set<"SORT_CELLS" | "UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1739
1739
  declare const invalidateCFEvaluationCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "UNDO" | "REDO" | "EVALUATE_CELLS">;
1740
- declare const readonlyAllowedCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "ACTIVATE_SHEET" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SORT_CELLS" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1740
+ declare const readonlyAllowedCommands: Set<"SORT_CELLS" | "UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1741
1741
  declare const coreTypes: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE">;
1742
1742
  interface UpdateCellCommand extends PositionDependentCommand {
1743
1743
  type: "UPDATE_CELL";
@@ -4091,7 +4091,7 @@ declare class EvaluationPlugin extends UIPlugin {
4091
4091
  beforeHandle(cmd: Command): void;
4092
4092
  handle(cmd: CoreViewCommand): void;
4093
4093
  finalize(): void;
4094
- evaluateFormula(sheetId: UID, formulaString: string): any;
4094
+ evaluateFormula(sheetId: UID, formulaString: string): CellValue | Matrix<CellValue>;
4095
4095
  /**
4096
4096
  * Return the value of each cell in the range as they are displayed in the grid.
4097
4097
  */