@univerjs/core 1.1.0 → 1.3.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.
package/lib/es/index.js CHANGED
@@ -1670,7 +1670,7 @@ let ThemeColors = /* @__PURE__ */ function(ThemeColors) {
1670
1670
  //#endregion
1671
1671
  //#region package.json
1672
1672
  var name = "@univerjs/core";
1673
- var version = "1.1.0";
1673
+ var version = "1.3.0";
1674
1674
 
1675
1675
  //#endregion
1676
1676
  //#region src/common/array.ts
@@ -5775,7 +5775,7 @@ function datePartsToExcel1900Serial(year, month, day) {
5775
5775
  return unixDays + (unixDays <= -25509 ? 25568 : 25569);
5776
5776
  }
5777
5777
  function excelSerialToDateTimeParts(serial, options) {
5778
- if (!Number.isFinite(serial) || serial < 0) return null;
5778
+ if (!Number.isFinite(serial) || serial < 0 || serial >= getDateSystemMaxSerial(options.dateSystem) + 1) return null;
5779
5779
  const wholeDays = Math.floor(serial);
5780
5780
  const excel1900Serial = options.dateSystem === "date1904" ? wholeDays + EXCEL_1904_OFFSET : wholeDays;
5781
5781
  const [year, month, day] = toYMD(excel1900Serial, 0, true);
@@ -14934,6 +14934,13 @@ function updateParagraphs(body, updateBody, textLength, currentIndex, coverType)
14934
14934
  const { startIndex: removeStartIndex, paragraphId: removeParagraphId, paragraphStyle: removeParagraphStyle, bullet: removeBullet } = removeParagraph;
14935
14935
  let newParagraphStyle;
14936
14936
  let newBullet;
14937
+ const paragraphAttributes = coverType === 0 ? {
14938
+ ...removeParagraph,
14939
+ ...updateParagraph
14940
+ } : {
14941
+ ...updateParagraph,
14942
+ ...removeParagraph
14943
+ };
14937
14944
  if (coverType === 0) {
14938
14945
  newParagraphStyle = {
14939
14946
  ...removeParagraphStyle,
@@ -14963,10 +14970,11 @@ function updateParagraphs(body, updateBody, textLength, currentIndex, coverType)
14963
14970
  }
14964
14971
  if (updateStartIndex === removeStartIndex) {
14965
14972
  splitUpdateParagraphs.push({
14973
+ ...paragraphAttributes,
14966
14974
  startIndex: updateStartIndex,
14967
14975
  paragraphId: updateParagraphId ?? removeParagraphId,
14968
14976
  paragraphStyle: newParagraphStyle,
14969
- bullet: newBullet
14977
+ bullet: removeBullet == null && updateBullet == null ? void 0 : newBullet
14970
14978
  });
14971
14979
  break;
14972
14980
  }
@@ -15686,10 +15694,10 @@ function getBlockRangeSlice(body, startOffset, endOffset, mode = 0) {
15686
15694
  const { blockRanges = [] } = body;
15687
15695
  const newBlockRanges = [];
15688
15696
  for (const blockRange of blockRanges) {
15689
- const clonedBlockRange = Tools.deepClone(blockRange);
15690
- const { startIndex, endIndex } = clonedBlockRange;
15691
- if (hasStructuralRangeInSlice(startIndex, endIndex, startOffset, endOffset, mode)) newBlockRanges.push({
15692
- ...clonedBlockRange,
15697
+ const { startIndex, endIndex } = blockRange;
15698
+ if (!(mode === 1 ? startIndex >= startOffset && endIndex < endOffset : hasStructuralRangeInSlice(startIndex, endIndex, startOffset, endOffset, mode))) continue;
15699
+ newBlockRanges.push({
15700
+ ...blockRange,
15693
15701
  ...getSlicedStructuralRange(startIndex, endIndex, startOffset, endOffset, mode)
15694
15702
  });
15695
15703
  }
@@ -16038,7 +16046,7 @@ var ActionIterator = class {
16038
16046
  return this.peekLength() < Number.POSITIVE_INFINITY;
16039
16047
  }
16040
16048
  next(length) {
16041
- if (!length) length = Number.POSITIVE_INFINITY;
16049
+ if (length === void 0) length = Number.POSITIVE_INFINITY;
16042
16050
  const nextAction = this._actions[this._index];
16043
16051
  if (nextAction) {
16044
16052
  const offset = this._offset;
@@ -16578,6 +16586,21 @@ function transformParagraph(originParagraph, targetParagraph, originCoverType, t
16578
16586
  else if (originParagraph.bullet === void 0) paragraph.bullet = Tools.deepClone(targetParagraph.bullet);
16579
16587
  else if (originCoverType === 1 || targetCoverType === 1) paragraph.bullet = transformType === 0 && targetParagraph.bullet ? Tools.deepClone(targetParagraph.bullet) : Tools.deepClone(originParagraph.bullet);
16580
16588
  else if (transformType === 0 && targetParagraph.bullet !== void 0) paragraph.bullet = Tools.deepClone(targetParagraph.bullet);
16589
+ for (const key of [
16590
+ "headingCollapsed",
16591
+ "styleId",
16592
+ "sourceBullet",
16593
+ "directBullet"
16594
+ ]) {
16595
+ const origin = originParagraph[key];
16596
+ const target = targetParagraph[key];
16597
+ let value;
16598
+ if (originCoverType === 1 && targetCoverType === 1) value = transformType === 1 ? origin : target;
16599
+ else if (origin === void 0) value = target;
16600
+ else if (originCoverType === 1 || targetCoverType === 1) value = transformType === 0 && target !== void 0 ? target : origin;
16601
+ else if (transformType === 0) value = target;
16602
+ if (value !== void 0) Object.assign(paragraph, { [key]: Tools.deepClone(value) });
16603
+ }
16581
16604
  if (paragraph.bullet === void 0) delete paragraph.bullet;
16582
16605
  return paragraph;
16583
16606
  }
@@ -16915,11 +16938,7 @@ var TextX = class TextX {
16915
16938
  }
16916
16939
  if (action.t === "r" && action.body != null) {
16917
16940
  const body = getBodySlice(doc, index, index + action.len, true);
16918
- for (const field of [
16919
- "tables",
16920
- "columnGroups",
16921
- "blockRanges"
16922
- ]) if (action.body[field] == null) delete body[field];
16941
+ for (const field of Object.keys(body)) if (field !== "dataStream" && field !== "paragraphs" && action.body[field] == null) Reflect.deleteProperty(body, field);
16923
16942
  if (action.body.paragraphs == null) delete body.paragraphs;
16924
16943
  else {
16925
16944
  var _body$paragraphs;
@@ -20135,6 +20154,7 @@ var RichTextBuilder = class RichTextBuilder extends RichTextValue {
20135
20154
  _defineProperty(this, "_trackedRanges", /* @__PURE__ */ new Set());
20136
20155
  _defineProperty(this, "_childHandleRevision", 0);
20137
20156
  this._doc = new DocumentDataModel(data);
20157
+ this._data.body = this._doc.getBody();
20138
20158
  }
20139
20159
  /**
20140
20160
  * Returns editable paragraph handles backed by this detached rich-text builder.
@@ -22466,6 +22486,96 @@ function convertTextRotation(textRotation) {
22466
22486
  };
22467
22487
  }
22468
22488
 
22489
+ //#endregion
22490
+ //#region src/sheets/sheet-dimensions.ts
22491
+ function isValidSheetDimension(value, allowZero = true) {
22492
+ return typeof value === "number" && Number.isFinite(value) && (allowZero ? value >= 0 : value > 0);
22493
+ }
22494
+ function normalizeSheetDimension(value, fallback, allowZero = true) {
22495
+ return isValidSheetDimension(value, allowZero) ? value : fallback;
22496
+ }
22497
+ function isValidColumnDimensions(data) {
22498
+ return (data === null || data === void 0 ? void 0 : data.w) == null || isValidSheetDimension(data.w);
22499
+ }
22500
+ function isValidRowDimensions(data) {
22501
+ return ((data === null || data === void 0 ? void 0 : data.h) == null || isValidSheetDimension(data.h)) && ((data === null || data === void 0 ? void 0 : data.ah) == null || isValidSheetDimension(data.ah));
22502
+ }
22503
+
22504
+ //#endregion
22505
+ //#region src/sheets/sheet-snapshot-utils.ts
22506
+ const DEFAULT_WORKSHEET_ROW_COUNT_KEY = "DEFAULT_WORKSHEET_ROW_COUNT";
22507
+ const DEFAULT_WORKSHEET_ROW_COUNT = 1e3;
22508
+ const DEFAULT_WORKSHEET_COLUMN_COUNT_KEY = "DEFAULT_WORKSHEET_COLUMN_COUNT";
22509
+ const DEFAULT_WORKSHEET_COLUMN_COUNT = 20;
22510
+ const DEFAULT_WORKSHEET_ROW_HEIGHT_KEY = "DEFAULT_WORKSHEET_ROW_HEIGHT";
22511
+ const DEFAULT_WORKSHEET_ROW_HEIGHT = 24;
22512
+ const DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY = "DEFAULT_WORKSHEET_COLUMN_WIDTH";
22513
+ const DEFAULT_WORKSHEET_COLUMN_WIDTH = 88;
22514
+ const DEFAULT_WORKSHEET_ROW_TITLE_WIDTH_KEY = "DEFAULT_WORKSHEET_ROW_TITLE_WIDTH";
22515
+ const DEFAULT_WORKSHEET_ROW_TITLE_WIDTH = 46;
22516
+ const DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT_KEY = "DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT";
22517
+ const DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT = 20;
22518
+ /**
22519
+ * This function is used to merge the user passed in snapshot with the default snapshot
22520
+ * without changing the user's snapshot's reference.
22521
+ *
22522
+ * @param snapshot user passed in snapshot
22523
+ * @returns merged snapshot
22524
+ */
22525
+ function mergeWorksheetSnapshotWithDefault(snapshot) {
22526
+ const defaultSnapshot = {
22527
+ name: "Sheet1",
22528
+ id: "sheet-01",
22529
+ tabColor: "",
22530
+ hidden: 0,
22531
+ rowCount: DEFAULT_WORKSHEET_ROW_COUNT,
22532
+ columnCount: 20,
22533
+ zoomRatio: 1,
22534
+ freeze: {
22535
+ xSplit: 0,
22536
+ ySplit: 0,
22537
+ startRow: -1,
22538
+ startColumn: -1
22539
+ },
22540
+ scrollTop: 0,
22541
+ scrollLeft: 0,
22542
+ defaultColumnWidth: 88,
22543
+ defaultRowHeight: 24,
22544
+ mergeData: [],
22545
+ cellData: {},
22546
+ rowData: {},
22547
+ columnData: {},
22548
+ showGridlines: 1,
22549
+ rowHeader: {
22550
+ width: 46,
22551
+ hidden: 0
22552
+ },
22553
+ columnHeader: {
22554
+ height: 20,
22555
+ hidden: 0
22556
+ },
22557
+ rightToLeft: 0
22558
+ };
22559
+ Object.keys(defaultSnapshot).forEach((_key) => {
22560
+ const key = _key;
22561
+ if (typeof snapshot[key] === "undefined") snapshot[key] = defaultSnapshot[key];
22562
+ });
22563
+ const freeze = snapshot.freeze;
22564
+ freeze.xSplit = freeze.xSplit ?? defaultSnapshot.freeze.xSplit;
22565
+ freeze.ySplit = freeze.ySplit ?? defaultSnapshot.freeze.ySplit;
22566
+ freeze.startRow = freeze.ySplit === 0 ? defaultSnapshot.freeze.startRow : freeze.startRow ?? defaultSnapshot.freeze.startRow;
22567
+ freeze.startColumn = freeze.xSplit === 0 ? defaultSnapshot.freeze.startColumn : freeze.startColumn ?? defaultSnapshot.freeze.startColumn;
22568
+ snapshot.defaultColumnWidth = normalizeSheetDimension(snapshot.defaultColumnWidth, 88, false);
22569
+ snapshot.defaultRowHeight = normalizeSheetDimension(snapshot.defaultRowHeight, 24, false);
22570
+ for (const column of Object.values(snapshot.columnData)) if (column && column.w !== void 0 && !isValidSheetDimension(column.w)) column.w = 0;
22571
+ for (const row of Object.values(snapshot.rowData)) {
22572
+ if (!row) continue;
22573
+ if (row.h !== void 0 && !isValidSheetDimension(row.h)) row.h = 0;
22574
+ if (row.ah !== void 0 && !isValidSheetDimension(row.ah)) delete row.ah;
22575
+ }
22576
+ return snapshot;
22577
+ }
22578
+
22469
22579
  //#endregion
22470
22580
  //#region src/sheets/column-manager.ts
22471
22581
  /**
@@ -22605,7 +22715,9 @@ var ColumnManager = class {
22605
22715
  */
22606
22716
  getColumnWidth(columnPos) {
22607
22717
  var _this$_columnData$col2;
22608
- return ((_this$_columnData$col2 = this._columnData[columnPos]) === null || _this$_columnData$col2 === void 0 ? void 0 : _this$_columnData$col2.w) ?? this._config.defaultColumnWidth;
22718
+ const defaultWidth = normalizeSheetDimension(this._config.defaultColumnWidth, 88, false);
22719
+ const width = (_this$_columnData$col2 = this._columnData[columnPos]) === null || _this$_columnData$col2 === void 0 ? void 0 : _this$_columnData$col2.w;
22720
+ return width === void 0 ? defaultWidth : normalizeSheetDimension(width, 0);
22609
22721
  }
22610
22722
  /**
22611
22723
  * Set the width of column
@@ -22613,6 +22725,7 @@ var ColumnManager = class {
22613
22725
  * @param width width of column
22614
22726
  */
22615
22727
  setColumnWidth(columnPos, width) {
22728
+ if (!isValidSheetDimension(width)) return;
22616
22729
  const column = this._columnData[columnPos];
22617
22730
  if (width === this._config.defaultColumnWidth) {
22618
22731
  if (column) {
@@ -22649,7 +22762,10 @@ var ColumnManager = class {
22649
22762
  }
22650
22763
  for (let c = startColumn; c <= endColumn; c++) {
22651
22764
  const columnData = columnDataInfo === null || columnDataInfo === void 0 ? void 0 : columnDataInfo[c - startColumn];
22652
- if (columnData !== void 0 && columnData !== null && Object.keys(columnData).length > 0) this._columnData[c] = { ...columnData };
22765
+ if (columnData !== void 0 && columnData !== null && Object.keys(columnData).length > 0) {
22766
+ this._columnData[c] = { ...columnData };
22767
+ if (columnData.w !== void 0 && !isValidSheetDimension(columnData.w)) this._columnData[c].w = 0;
22768
+ }
22653
22769
  }
22654
22770
  }
22655
22771
  /**
@@ -23277,13 +23393,14 @@ var RowManager = class {
23277
23393
  getRowHeight(rowPos, count = 1) {
23278
23394
  const { _rowData } = this;
23279
23395
  const config = this._config;
23396
+ const defaultHeight = normalizeSheetDimension(config.defaultRowHeight, 24, false);
23280
23397
  let height = 0;
23281
23398
  for (let i = 0; i < count; i++) {
23282
- const { ia, ah, h = config.defaultRowHeight } = _rowData[i + rowPos] || {
23399
+ const { ia, ah, h = defaultHeight } = _rowData[i + rowPos] || {
23283
23400
  hd: 0,
23284
- h: config.defaultRowHeight
23401
+ h: defaultHeight
23285
23402
  };
23286
- height += (ia == null || ia === 1) && typeof ah === "number" ? ah : h;
23403
+ height += (ia == null || ia === 1) && isValidSheetDimension(ah, false) ? ah : normalizeSheetDimension(h, 0);
23287
23404
  }
23288
23405
  return height;
23289
23406
  }
@@ -23293,6 +23410,7 @@ var RowManager = class {
23293
23410
  * @param height row height
23294
23411
  */
23295
23412
  setRowHeight(rowPos, height) {
23413
+ if (!isValidSheetDimension(height)) return;
23296
23414
  const row = this._rowData[rowPos];
23297
23415
  if (height === this._config.defaultRowHeight) {
23298
23416
  if (row) {
@@ -23333,7 +23451,12 @@ var RowManager = class {
23333
23451
  }
23334
23452
  for (let r = startRow; r <= endRow; r++) {
23335
23453
  const rowData = rowDataInfo === null || rowDataInfo === void 0 ? void 0 : rowDataInfo[r - startRow];
23336
- if (rowData !== void 0 && rowData !== null && Object.keys(rowData).length > 0) this._rowData[r] = { ...rowData };
23454
+ if (rowData !== void 0 && rowData !== null && Object.keys(rowData).length > 0) {
23455
+ this._rowData[r] = { ...rowData };
23456
+ const row = this._rowData[r];
23457
+ if (row.h !== void 0 && !isValidSheetDimension(row.h)) row.h = 0;
23458
+ if (row.ah !== void 0 && !isValidSheetDimension(row.ah)) delete row.ah;
23459
+ }
23337
23460
  }
23338
23461
  }
23339
23462
  /**
@@ -23450,73 +23573,6 @@ var RowManager = class {
23450
23573
  }
23451
23574
  };
23452
23575
 
23453
- //#endregion
23454
- //#region src/sheets/sheet-snapshot-utils.ts
23455
- const DEFAULT_WORKSHEET_ROW_COUNT_KEY = "DEFAULT_WORKSHEET_ROW_COUNT";
23456
- const DEFAULT_WORKSHEET_ROW_COUNT = 1e3;
23457
- const DEFAULT_WORKSHEET_COLUMN_COUNT_KEY = "DEFAULT_WORKSHEET_COLUMN_COUNT";
23458
- const DEFAULT_WORKSHEET_COLUMN_COUNT = 20;
23459
- const DEFAULT_WORKSHEET_ROW_HEIGHT_KEY = "DEFAULT_WORKSHEET_ROW_HEIGHT";
23460
- const DEFAULT_WORKSHEET_ROW_HEIGHT = 24;
23461
- const DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY = "DEFAULT_WORKSHEET_COLUMN_WIDTH";
23462
- const DEFAULT_WORKSHEET_COLUMN_WIDTH = 88;
23463
- const DEFAULT_WORKSHEET_ROW_TITLE_WIDTH_KEY = "DEFAULT_WORKSHEET_ROW_TITLE_WIDTH";
23464
- const DEFAULT_WORKSHEET_ROW_TITLE_WIDTH = 46;
23465
- const DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT_KEY = "DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT";
23466
- const DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT = 20;
23467
- /**
23468
- * This function is used to merge the user passed in snapshot with the default snapshot
23469
- * without changing the user's snapshot's reference.
23470
- *
23471
- * @param snapshot user passed in snapshot
23472
- * @returns merged snapshot
23473
- */
23474
- function mergeWorksheetSnapshotWithDefault(snapshot) {
23475
- const defaultSnapshot = {
23476
- name: "Sheet1",
23477
- id: "sheet-01",
23478
- tabColor: "",
23479
- hidden: 0,
23480
- rowCount: DEFAULT_WORKSHEET_ROW_COUNT,
23481
- columnCount: 20,
23482
- zoomRatio: 1,
23483
- freeze: {
23484
- xSplit: 0,
23485
- ySplit: 0,
23486
- startRow: -1,
23487
- startColumn: -1
23488
- },
23489
- scrollTop: 0,
23490
- scrollLeft: 0,
23491
- defaultColumnWidth: 88,
23492
- defaultRowHeight: 24,
23493
- mergeData: [],
23494
- cellData: {},
23495
- rowData: {},
23496
- columnData: {},
23497
- showGridlines: 1,
23498
- rowHeader: {
23499
- width: 46,
23500
- hidden: 0
23501
- },
23502
- columnHeader: {
23503
- height: 20,
23504
- hidden: 0
23505
- },
23506
- rightToLeft: 0
23507
- };
23508
- Object.keys(defaultSnapshot).forEach((_key) => {
23509
- const key = _key;
23510
- if (typeof snapshot[key] === "undefined") snapshot[key] = defaultSnapshot[key];
23511
- });
23512
- const freeze = snapshot.freeze;
23513
- freeze.xSplit = freeze.xSplit ?? defaultSnapshot.freeze.xSplit;
23514
- freeze.ySplit = freeze.ySplit ?? defaultSnapshot.freeze.ySplit;
23515
- freeze.startRow = freeze.ySplit === 0 ? defaultSnapshot.freeze.startRow : freeze.startRow ?? defaultSnapshot.freeze.startRow;
23516
- freeze.startColumn = freeze.xSplit === 0 ? defaultSnapshot.freeze.startColumn : freeze.startColumn ?? defaultSnapshot.freeze.startColumn;
23517
- return snapshot;
23518
- }
23519
-
23520
23576
  //#endregion
23521
23577
  //#region src/sheets/span-model.ts
23522
23578
  var SpanModel = class extends Disposable {
@@ -25238,8 +25294,7 @@ let UniverInstanceService = class UniverInstanceService extends Disposable {
25238
25294
  }
25239
25295
  }
25240
25296
  _tryResetFocusOnRemoval(unitId) {
25241
- var _this$focused3;
25242
- if (((_this$focused3 = this.focused) === null || _this$focused3 === void 0 ? void 0 : _this$focused3.getUnitId()) === unitId) this._focused$.next(null);
25297
+ if (this._focused$.getValue() === unitId) this.focusUnit(null);
25243
25298
  }
25244
25299
  _getUnitById(unitId) {
25245
25300
  for (const [type, units] of this._unitsByType) {
@@ -27172,6 +27227,69 @@ var RTree = class {
27172
27227
  }
27173
27228
  };
27174
27229
 
27230
+ //#endregion
27231
+ //#region src/types/enum/record-filter.ts
27232
+ /**
27233
+ * Copyright 2023-present DreamNum Co., Ltd.
27234
+ *
27235
+ * Licensed under the Apache License, Version 2.0 (the "License");
27236
+ * you may not use this file except in compliance with the License.
27237
+ * You may obtain a copy of the License at
27238
+ *
27239
+ * http://www.apache.org/licenses/LICENSE-2.0
27240
+ *
27241
+ * Unless required by applicable law or agreed to in writing, software
27242
+ * distributed under the License is distributed on an "AS IS" BASIS,
27243
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27244
+ * See the License for the specific language governing permissions and
27245
+ * limitations under the License.
27246
+ */
27247
+ /** Typed record identities shared by compact Table and external report filters. */
27248
+ let RecordValueType = /* @__PURE__ */ function(RecordValueType) {
27249
+ RecordValueType["Blank"] = "blank";
27250
+ RecordValueType["String"] = "string";
27251
+ RecordValueType["Number"] = "number";
27252
+ RecordValueType["Date"] = "date";
27253
+ RecordValueType["Boolean"] = "boolean";
27254
+ RecordValueType["Error"] = "error";
27255
+ return RecordValueType;
27256
+ }({});
27257
+ /** Values are wire identifiers; an absent native Table filter represents All. */
27258
+ let FilterSelectionMode = /* @__PURE__ */ function(FilterSelectionMode) {
27259
+ FilterSelectionMode["All"] = "all";
27260
+ FilterSelectionMode["Include"] = "include";
27261
+ FilterSelectionMode["Exclude"] = "exclude";
27262
+ return FilterSelectionMode;
27263
+ }({});
27264
+
27265
+ //#endregion
27266
+ //#region src/shared/record-value.ts
27267
+ function getRecordValueKey(_value) {
27268
+ const value = _value;
27269
+ if (!isRecord(value) || typeof value.type !== "string") throw new TypeError("Invalid record value.");
27270
+ switch (value.type) {
27271
+ case "blank":
27272
+ if ("value" in value) throw new TypeError("Blank record values cannot have a value.");
27273
+ return "[\"blank\"]";
27274
+ case "string":
27275
+ case "error":
27276
+ if (typeof value.value !== "string") throw new TypeError("Invalid record value.");
27277
+ return JSON.stringify([value.type, value.value]);
27278
+ case "boolean":
27279
+ if (typeof value.value !== "boolean") throw new TypeError("Invalid record value.");
27280
+ return JSON.stringify([value.type, value.value]);
27281
+ case "number":
27282
+ case "date":
27283
+ if (typeof value.value !== "number") throw new TypeError("Invalid record value.");
27284
+ if (!Number.isFinite(value.value)) throw new RangeError("Record numeric values must be finite.");
27285
+ return JSON.stringify([value.type, value.value === 0 ? 0 : value.value]);
27286
+ default: throw new TypeError("Unknown record value type.");
27287
+ }
27288
+ }
27289
+ function isRecord(value) {
27290
+ return typeof value === "object" && value !== null && !Array.isArray(value);
27291
+ }
27292
+
27175
27293
  //#endregion
27176
27294
  //#region src/shared/timer.ts
27177
27295
  /**
@@ -27218,6 +27336,32 @@ function delayAnimationFrame(frames = 1) {
27218
27336
  });
27219
27337
  }
27220
27338
 
27339
+ //#endregion
27340
+ //#region src/shared/units.ts
27341
+ /**
27342
+ * Copyright 2023-present DreamNum Co., Ltd.
27343
+ *
27344
+ * Licensed under the Apache License, Version 2.0 (the "License");
27345
+ * you may not use this file except in compliance with the License.
27346
+ * You may obtain a copy of the License at
27347
+ *
27348
+ * http://www.apache.org/licenses/LICENSE-2.0
27349
+ *
27350
+ * Unless required by applicable law or agreed to in writing, software
27351
+ * distributed under the License is distributed on an "AS IS" BASIS,
27352
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27353
+ * See the License for the specific language governing permissions and
27354
+ * limitations under the License.
27355
+ */
27356
+ /** English Metric Units per CSS pixel at 96 DPI. */
27357
+ const EMU_PER_CSS_PX = 9525;
27358
+ function cssPxToEmu(value) {
27359
+ return Math.round(value * EMU_PER_CSS_PX);
27360
+ }
27361
+ function emuToCssPx(value) {
27362
+ return value / EMU_PER_CSS_PX;
27363
+ }
27364
+
27221
27365
  //#endregion
27222
27366
  //#region src/sheets/clone.ts
27223
27367
  /**
@@ -27444,6 +27588,21 @@ Skeleton = __decorate([__decorateParam(0, Inject(LocaleService))], Skeleton);
27444
27588
  //#endregion
27445
27589
  //#region src/sheets/sheet-skeleton.ts
27446
27590
  /**
27591
+ * Copyright 2023-present DreamNum Co., Ltd.
27592
+ *
27593
+ * Licensed under the Apache License, Version 2.0 (the "License");
27594
+ * you may not use this file except in compliance with the License.
27595
+ * You may obtain a copy of the License at
27596
+ *
27597
+ * http://www.apache.org/licenses/LICENSE-2.0
27598
+ *
27599
+ * Unless required by applicable law or agreed to in writing, software
27600
+ * distributed under the License is distributed on an "AS IS" BASIS,
27601
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27602
+ * See the License for the specific language governing permissions and
27603
+ * limitations under the License.
27604
+ */
27605
+ /**
27447
27606
  * Reusable gap fixture for visual and integration testing.
27448
27607
  */
27449
27608
  function createSheetGapTestConfig(overrides = {}) {
@@ -27682,17 +27841,18 @@ let SheetSkeleton = class SheetSkeleton extends Skeleton {
27682
27841
  _generateRowMatrixCache(rowCount, rowData, defaultRowHeight) {
27683
27842
  let rowTotalHeight = 0;
27684
27843
  const rowHeightAccumulation = [];
27844
+ const fallbackHeight = normalizeSheetDimension(defaultRowHeight, 24, false);
27685
27845
  const data = rowData;
27686
27846
  for (let r = 0; r < rowCount; r++) {
27687
27847
  var _this$_gapConfig$rowG2;
27688
- let rowHeight = defaultRowHeight;
27848
+ let rowHeight = fallbackHeight;
27689
27849
  if (this.worksheet.getRowFiltered(r)) rowHeight = 0;
27690
27850
  else if (data[r] != null) {
27691
27851
  const rowDataItem = data[r];
27692
27852
  if (!rowDataItem) continue;
27693
- const { h = defaultRowHeight, ah, ia } = rowDataItem;
27694
- if ((ia == null || ia === 1) && typeof ah === "number" && ah > 0) rowHeight = ah;
27695
- else rowHeight = h;
27853
+ const { h = fallbackHeight, ah, ia } = rowDataItem;
27854
+ if ((ia == null || ia === 1) && isValidSheetDimension(ah, false)) rowHeight = ah;
27855
+ else rowHeight = normalizeSheetDimension(h, 0);
27696
27856
  if (rowDataItem.hd === 1) rowHeight = 0;
27697
27857
  }
27698
27858
  const gapSize = ((_this$_gapConfig$rowG2 = this._gapConfig.rowGaps) === null || _this$_gapConfig$rowG2 === void 0 || (_this$_gapConfig$rowG2 = _this$_gapConfig$rowG2[r]) === null || _this$_gapConfig$rowG2 === void 0 ? void 0 : _this$_gapConfig$rowG2.size) ?? 0;
@@ -27711,14 +27871,15 @@ let SheetSkeleton = class SheetSkeleton extends Skeleton {
27711
27871
  _generateColumnMatrixCache(colCount, columnData, defaultColumnWidth) {
27712
27872
  let columnTotalWidth = 0;
27713
27873
  const columnWidthAccumulation = [];
27874
+ const fallbackWidth = normalizeSheetDimension(defaultColumnWidth, 88, false);
27714
27875
  const data = columnData;
27715
27876
  for (let c = 0; c < colCount; c++) {
27716
27877
  var _this$_gapConfig$colG2;
27717
- let columnWidth = defaultColumnWidth;
27878
+ let columnWidth = fallbackWidth;
27718
27879
  if (data[c] != null) {
27719
27880
  const columnDataItem = data[c];
27720
27881
  if (!columnDataItem) continue;
27721
- if (columnDataItem.w != null) columnWidth = columnDataItem.w;
27882
+ if (columnDataItem.w !== void 0) columnWidth = normalizeSheetDimension(columnDataItem.w, 0);
27722
27883
  if (columnDataItem.hd === 1) columnWidth = 0;
27723
27884
  }
27724
27885
  const gapSize = ((_this$_gapConfig$colG2 = this._gapConfig.colGaps) === null || _this$_gapConfig$colG2 === void 0 || (_this$_gapConfig$colG2 = _this$_gapConfig$colG2[c]) === null || _this$_gapConfig$colG2 === void 0 ? void 0 : _this$_gapConfig$colG2.size) ?? 0;
@@ -28041,13 +28202,14 @@ let SheetSkeleton = class SheetSkeleton extends Skeleton {
28041
28202
  };
28042
28203
  }
28043
28204
  /**
28044
- * Here, offsetX and offsetY are the coordinates in the viewport, including the rowHeaderWidthAndMarginLeft and columnHeaderHeightAndMarginTop.
28205
+ * Coordinates include the row and column headers. Defaults to the current viewport transform;
28206
+ * pass unit scales and zero scroll for Sheet model coordinates.
28045
28207
  */
28046
- getCellIndexAndOffsetByPosition(offsetX, offsetY) {
28047
- const { actualRow, actualColumn, startX, startY } = this.getCellWithCoordByOffset(offsetX, offsetY, this._scaleX, this._scaleY, {
28048
- x: this._scrollX,
28049
- y: this._scrollY
28050
- });
28208
+ getCellIndexAndOffsetByPosition(offsetX, offsetY, scaleX = this._scaleX, scaleY = this._scaleY, scrollXY = {
28209
+ x: this._scrollX,
28210
+ y: this._scrollY
28211
+ }) {
28212
+ const { actualRow, actualColumn, startX, startY } = this.getCellWithCoordByOffset(offsetX, offsetY, scaleX, scaleY, scrollXY);
28051
28213
  return {
28052
28214
  row: actualRow,
28053
28215
  rowOffset: offsetY - startY,
@@ -28433,41 +28595,6 @@ let DataValidationType = /* @__PURE__ */ function(DataValidationType) {
28433
28595
  return DataValidationType;
28434
28596
  }({});
28435
28597
 
28436
- //#endregion
28437
- //#region src/types/enum/record-filter.ts
28438
- /**
28439
- * Copyright 2023-present DreamNum Co., Ltd.
28440
- *
28441
- * Licensed under the Apache License, Version 2.0 (the "License");
28442
- * you may not use this file except in compliance with the License.
28443
- * You may obtain a copy of the License at
28444
- *
28445
- * http://www.apache.org/licenses/LICENSE-2.0
28446
- *
28447
- * Unless required by applicable law or agreed to in writing, software
28448
- * distributed under the License is distributed on an "AS IS" BASIS,
28449
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28450
- * See the License for the specific language governing permissions and
28451
- * limitations under the License.
28452
- */
28453
- /** Typed record identities shared by compact Table and external report filters. */
28454
- let RecordValueType = /* @__PURE__ */ function(RecordValueType) {
28455
- RecordValueType["Blank"] = "blank";
28456
- RecordValueType["String"] = "string";
28457
- RecordValueType["Number"] = "number";
28458
- RecordValueType["Date"] = "date";
28459
- RecordValueType["Boolean"] = "boolean";
28460
- RecordValueType["Error"] = "error";
28461
- return RecordValueType;
28462
- }({});
28463
- /** Values are wire identifiers; an absent native Table filter represents All. */
28464
- let FilterSelectionMode = /* @__PURE__ */ function(FilterSelectionMode) {
28465
- FilterSelectionMode["All"] = "all";
28466
- FilterSelectionMode["Include"] = "include";
28467
- FilterSelectionMode["Exclude"] = "exclude";
28468
- return FilterSelectionMode;
28469
- }({});
28470
-
28471
28598
  //#endregion
28472
28599
  //#region src/services/resource-loader/resource-loader.service.ts
28473
28600
  let ResourceLoaderService = class ResourceLoaderService extends Disposable {
@@ -28761,4 +28888,4 @@ function createUniverInjector(parentInjector, override) {
28761
28888
  installShims();
28762
28889
 
28763
28890
  //#endregion
28764
- export { ABCToNumber, AUTO_HEIGHT_FOR_MERGED_CELLS, AbsoluteRefType, ActionIterator, AlignTypeH, AlignTypeV, ArrangeTypeEnum, AsyncInterceptorManager, AsyncLock, AuthzIoLocalService, AutoFillSeries, BASE_RECORD_ID_FIELD_ID, BASE_RECORD_ID_FIELD_NAME, BORDER_KEYS, BORDER_STYLE_KEYS, BaseConditionalColorOperator, BaseConditionalColorTarget, BaseConditionalDateMode, BaseDataModel, BaseFieldType, BaseFilterConjunction, BaseFilterOperator, BaseHierarchyInvalidReason, BaseRecordLinkRole, BaseSortDirection, BaseViewType, BaselineOffset, BlockType, BooleanNumber, BorderStyleTypes, BorderType, BuildTextUtils, BulletAlignment, COLORS, COLOR_STYLE_KEYS, COMMAND_LOG_EXECUTION_CONFIG_KEY, CanceledError, CellModeEnum, CellValueType, ColorKit, ColorType, ColumnLayoutType, ColumnResponsiveType, ColumnSeparatorType, CommandService, CommandType, CommonHideTypes, ConfigService, ContextService, CopyPasteType, CustomCommandExecutionError, CustomDecorationType, CustomRangeType, DEFAULT_CELL, DEFAULT_DOC, DEFAULT_DOCUMENT_PARAGRAPH_LINE_SPACING, DEFAULT_DOCUMENT_PARAGRAPH_SPACE_ABOVE, DEFAULT_DOCUMENT_PARAGRAPH_SPACE_BELOW, DEFAULT_DOCUMENT_SUB_COMPONENT_ID, DEFAULT_EMPTY_DOCUMENT_VALUE, DEFAULT_NUMBER_FORMAT, DEFAULT_RANGE, DEFAULT_RANGE_ARRAY, DEFAULT_SELECTION, DEFAULT_STYLES, DEFAULT_TEXT_FORMAT, DEFAULT_TEXT_FORMAT_EXCEL, DEFAULT_WORKSHEET_COLUMN_COUNT, DEFAULT_WORKSHEET_COLUMN_COUNT_KEY, DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT, DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT_KEY, DEFAULT_WORKSHEET_COLUMN_WIDTH, DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY, DEFAULT_WORKSHEET_ROW_COUNT, DEFAULT_WORKSHEET_ROW_COUNT_KEY, DEFAULT_WORKSHEET_ROW_HEIGHT, DEFAULT_WORKSHEET_ROW_HEIGHT_KEY, DEFAULT_WORKSHEET_ROW_TITLE_WIDTH, DEFAULT_WORKSHEET_ROW_TITLE_WIDTH_KEY, DOCS_COMMENT_EDITOR_UNIT_ID_KEY, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY, DOCS_NORMAL_EDITOR_UNIT_ID_KEY, DOC_DRAWING_PRINTING_COMPONENT_KEY, DOC_RANGE_TYPE, DashStyleType, DataStreamTreeNodeType, DataStreamTreeTokenType, DataValidationErrorStyle, DataValidationImeMode, DataValidationOperator, DataValidationRenderMode, DataValidationStatus, DataValidationType, DateSystem, DeleteDirection, DependentOn, DesktopLogService, DeveloperMetadataVisibility, Dimension, Direction, Disposable, DisposableCollection, DocStyleType, DocumentBlockRangeType, DocumentBlockType, DocumentDataModel, DocumentFlavor, DocxBreakType, DrawingTypeEnum, EDITOR_ACTIVATED, EXCEL_1904_OFFSET, EXTENSION_NAMES, ErrorService, EventState, EventSubject, FOCUSING_BOARD, FOCUSING_COMMENT_EDITOR, FOCUSING_COMMON_DRAWINGS, FOCUSING_DOC, FOCUSING_EDITOR_INPUT_FORMULA, FOCUSING_EDITOR_STANDALONE, FOCUSING_FX_BAR_EDITOR, FOCUSING_PANEL_EDITOR, FOCUSING_SHAPE_TEXT_EDITOR, FOCUSING_SHEET, FOCUSING_SLIDE, FOCUSING_UNIT, FOCUSING_UNIVER_EDITOR, FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE, FORMULA_EDITOR_ACTIVATED, FilterSelectionMode, FollowNumberWithType, FontItalic, FontStyleType, FontWeight, FormulaType, GridType, HorizontalAlign, IAuthzIoService, ICommandService, IConfigService, IConfirmService, IContextService, IImageIoService, ILocalStorageService, ILogService, IMentionIOService, IPermissionService, IResourceLoaderService, IResourceManagerService, IS_ROW_STYLE_PRECEDE_COLUMN_STYLE, IURLImageService, IUndoRedoService, IUniverInstanceService, ImageCacheMap, ImageSourceType, ImageUploadStatusType, Inject, InjectSelf, Injector, InterceptorEffectEnum, InterceptorManager, InterpolationPointType, json1 as JSON1, JSONX, LOCALE_META, LRUHelper, LRUMap, LifecycleService, LifecycleStages, LifecycleUnreachableError, ListGlyphType, LocalUndoRedoService, LocaleService, LocaleType, LogLevel, LookUp, MAX_COLUMN_COUNT, MAX_ITERATION_COUNT, MAX_ROW_COUNT, MODERN_DOCUMENT_DEFAULT_MARGIN, MODERN_DOCUMENT_WIDTH, MOVE_BUFFER_VALUE, Many, MemoryCursor, MentionIOLocalService, MentionType, ModernDocumentWidthMode, NAMED_STYLE_MAP, NAMED_STYLE_SPACE_MAP, NamedStyleType, NilCommand, NumberUnitType, OBJECT_PERMISSION_CONFIG_KEY, ObjectMatrix, ObjectPermissionRuleModel, ObjectPermissionService, ObjectRelativeFromH, ObjectRelativeFromV, Optional, PADDING_KEYS, PAGE_SIZE, PAPER_TYPES, PARAGRAPH_ID_PREFIX, PRESERVE_INSERTED_PARAGRAPH_IDS, PRESET_LIST_TYPE, PageOrientType, PaperType, ParagraphElementType, ParagraphStyleBuilder, ParagraphStyleValue, PermissionService, PermissionStatus, Plugin, PluginService, PositionedObjectLayoutType, PresetListType, ProtectionType, Quantity, QuickListType, QuickListTypeMap, RANGE_DIRECTION, RANGE_TYPE, RBush, RCDisposable, RESTORE_INSERTED_PARAGRAPH_IDS, RGBA_PAREN, RGB_PAREN, ROTATE_BUFFER_VALUE, RTree, Range, RecordValueType, Rectangle, RediError, RedoCommand, RedoCommandId, RefAlias, RegionService, Registry, RegistryAsMap, RelativeDate, ResourceManagerService, RichTextBuilder, RichTextParagraphBuilder, RichTextRunBuilder, RichTextValue, RxDisposable, SECTION_ID_PREFIX, SHEET_EDITOR_UNITS, SHEET_TEXT_LINE_GAP, STYLE_KEYS, SectionType, Self, SheetSkeleton, SheetTypes, SheetViewModel, Skeleton, SkipSelf, SliceBodyType, SpacingRule, Styles, TEXT_DECORATION_KEYS, TEXT_ROTATION_KEYS, THEME_COLORS, TRADITIONAL_DOCUMENT_DEFAULT_MARGIN, TabStopAlignment, TabStopLeader, TableAlignmentType, TableLayoutType, TableRowHeightRule, TableSizeType, TableTextWrapType, TestConfirmService, TextDecoration, TextDecorationBuilder, TextDirection, TextDirectionType, TextStyleBuilder, TextStyleValue, TextX, TextXActionType, ThemeColorType, ThemeColors, ThemeService, Tools, UndoCommand, UndoCommandId, UnitModel, Univer, UniverInstanceService, UniverInstanceType, UpdateDocsAttributeType, UserManagerService, VerticalAlign, VerticalAlignmentType, WithNew, Workbook, Worksheet, WorksheetHiddenState, WrapStrategy, WrapTextType, addLinkToDocumentModel, afterInitApply, afterTime, allocateBaseFormulaTableName, assertBaseTableRecordIdentity, awaitTime, binSearchFirstGreaterThanTarget, binarySearchArray, bufferDebounceTime, cellToRange, characterSpacingControlType, checkForSubstrings, checkIfMove, checkParagraphHasBullet, checkParagraphHasIndent, checkParagraphHasIndentByStyle, cloneBodyWithFreshParagraphIds, cloneCellData, cloneCellDataMatrix, cloneCellDataWithSpanAndDisplay, cloneParagraphWithId, cloneSectionBreakWithId, cloneValue, cloneWorksheetData, codeToBlob, columnLabelToNumber, composeBody, composeInterceptors, composeStyles, concatMatrixArray, containsInteriorInsertionOffset, containsStreamIndex, convertCellToRange, convertObservableToBehaviorSubject, covertCellValue, covertCellValues, createAsyncInterceptorKey, createBaseFormulaTableNameMap, createBaseFormulaTableReferenceNormalizer, createBaseRecordIdField, createDefaultBaseTableSnapshot, createDefaultUser, createDocumentModelWithStyle, createIdentifier, createInterceptorKey, createInternalEditorID, createParagraphId, createRandomId, createRowColIter, createSectionId, createSheetGapTestConfig, currencySymbols, customNameCharacterCheck, dateKit, debounce, dedupe, dedupeBy, deepCompare, delayAnimationFrame, deleteContent, excelDateSerial, excelDateTimePartsToSerial, excelDateTimeSerial, excelSerialToDate, excelSerialToDateTime, excelSerialToDateTimeParts, extractPureTextFromCell, forwardRef, fromCallback, fromEventSubject, generateIntervalsByPoints, generateRandomId, get, getArrayLength, getBaseFormulaTableName, getEmptySnapshot as getBasesEmptySnapshot, getBlockRangeInterval, getBodySlice, getBodySliceForSplitTextXAction, getBodySliceForTextXAction, getBorderStyleType, getCellCoordByIndexSimple, getCellValueType, getCellWithCoordByIndexCore, getColorStyle, getColumnGroupRangeInterval, getCustomBlockIdsInSelections, getCustomBlockInterval, getCustomBlockSlice, getCustomDecorationSlice, getCustomRangeInterval, getCustomRangeSlice, getDateSystemMaxSerial, getDisplayValueFromCell, getEmptySnapshot$1 as getDocsEmptySnapshot, getDocsUpdateBody, getDrawingOrderIndex, getEmptyCell, getExclusiveRangeInterval, getInclusiveRangeInterval, getIntersectRange, getNumfmtLocaleTag, getNumfmtParseValueFilter, getOriginCellValue, getParagraphContentStartOffset, getParagraphContentStartOffsets, getParagraphFollowingBlockOffset, getParagraphsSlice, getPlainText, getReverseDirection, getRichTextEditPath, getSdtBindingKey, getSdtBindingValue, getSectionBreakSlice, getSectionHeaderFooterReferenceKey, getEmptySnapshot$2 as getSheetsEmptySnapshot, getSingleDataStreamChange, getTableCellTokenInterval, getTableRangeInterval, getTableRowTokenInterval, getTableSlice, getTextRunSlice, getTransformOffsetX, getTransformOffsetY, getWorksheetUID, groupBy, handleStyleToString, hashAlgorithm, horizontalLineSegmentsSubtraction, insertMatrixArray, insertTextToContent, intersectsOperationalIntervals, invertColorByHSL, invertColorByMatrix, isAsyncDependencyItem, isAsyncHook, isBaseRecordIdFieldName, isBlackColor, isBooleanString, isCellCoverable, isCellV, isClassDependencyItem, isCommentEditorID, isCtor, isDefaultFormat, isDisposable, isEmptyCell, isFactoryDependencyItem, isFormulaId, isFormulaString, isICellData, isInternalEditorID, isNodeEnv, isNotNullOrUndefined, isNullCell, isNumeric, isPatternEqualWithoutDecimal, isRangesEqual, isRealNum, isSafeNumeric, isSafeUrl, isSameStyleTextRun, isTextFormat, isUnitRangesEqual, isValidBaseRecordId, isValidRange, isValueDependencyItem, isWhiteColor, makeArray, makeCellRangeToRangeData, mapObjectMatrix, merge, mergeIntervals, mergeLocales, mergeOverrideWithDependencies, mergeSets, mergeWith, mergeWorksheetSnapshotWithDefault, migrateBaseFormulaTableNames, mixinClass, moveMatrixArray, moveRangeByOffset, nameCharacterCheck, noop, normalizeBaseFormulaTableName, normalizeBaseFormulaTableReferences, normalizeBody, normalizeDrawingOrderIndex, normalizeInsertedSectionIdsForDocument, normalizeTextRuns, normalizeUrl, normalizeWorkbookCalculationSettings, numberToABC, numberToListABC, api_exports as numfmt, regexp, registerDependencies, remove, repeatStringNumTimes, replaceInDocumentBody, requestImmediateMacroTask, resolveDocumentParagraphStyle, resolveSectionHeaderFooterReference, resolveSectionHeaderFooterReferences, resolveWithBasePath, rotate, searchArray, searchInOrderedArray, selectionToArray, sequence, sequenceAsync, sequenceExecute, sequenceExecuteAsync, set, setDependencies, setWith, shallowEqual, shiftExclusiveRangeOnDelete, shiftExclusiveRangeOnInsert, shiftInclusiveRangeOnDelete, shiftInclusiveRangeOnInsert, skipParseTagNames, sliceMatrixArray, sortRules, sortRulesByDesc, sortRulesFactory, spliceArray, splitIntoGrid, takeAfter, throttle, toDisposable, touchDependencies, updateAttributeByDelete, updateAttributeByInsert, validateDocBodyStructure, validateDocumentStructure, willLoseNumericPrecision };
28891
+ export { ABCToNumber, AUTO_HEIGHT_FOR_MERGED_CELLS, AbsoluteRefType, ActionIterator, AlignTypeH, AlignTypeV, ArrangeTypeEnum, AsyncInterceptorManager, AsyncLock, AuthzIoLocalService, AutoFillSeries, BASE_RECORD_ID_FIELD_ID, BASE_RECORD_ID_FIELD_NAME, BORDER_KEYS, BORDER_STYLE_KEYS, BaseConditionalColorOperator, BaseConditionalColorTarget, BaseConditionalDateMode, BaseDataModel, BaseFieldType, BaseFilterConjunction, BaseFilterOperator, BaseHierarchyInvalidReason, BaseRecordLinkRole, BaseSortDirection, BaseViewType, BaselineOffset, BlockType, BooleanNumber, BorderStyleTypes, BorderType, BuildTextUtils, BulletAlignment, COLORS, COLOR_STYLE_KEYS, COMMAND_LOG_EXECUTION_CONFIG_KEY, CanceledError, CellModeEnum, CellValueType, ColorKit, ColorType, ColumnLayoutType, ColumnResponsiveType, ColumnSeparatorType, CommandService, CommandType, CommonHideTypes, ConfigService, ContextService, CopyPasteType, CustomCommandExecutionError, CustomDecorationType, CustomRangeType, DEFAULT_CELL, DEFAULT_DOC, DEFAULT_DOCUMENT_PARAGRAPH_LINE_SPACING, DEFAULT_DOCUMENT_PARAGRAPH_SPACE_ABOVE, DEFAULT_DOCUMENT_PARAGRAPH_SPACE_BELOW, DEFAULT_DOCUMENT_SUB_COMPONENT_ID, DEFAULT_EMPTY_DOCUMENT_VALUE, DEFAULT_NUMBER_FORMAT, DEFAULT_RANGE, DEFAULT_RANGE_ARRAY, DEFAULT_SELECTION, DEFAULT_STYLES, DEFAULT_TEXT_FORMAT, DEFAULT_TEXT_FORMAT_EXCEL, DEFAULT_WORKSHEET_COLUMN_COUNT, DEFAULT_WORKSHEET_COLUMN_COUNT_KEY, DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT, DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT_KEY, DEFAULT_WORKSHEET_COLUMN_WIDTH, DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY, DEFAULT_WORKSHEET_ROW_COUNT, DEFAULT_WORKSHEET_ROW_COUNT_KEY, DEFAULT_WORKSHEET_ROW_HEIGHT, DEFAULT_WORKSHEET_ROW_HEIGHT_KEY, DEFAULT_WORKSHEET_ROW_TITLE_WIDTH, DEFAULT_WORKSHEET_ROW_TITLE_WIDTH_KEY, DOCS_COMMENT_EDITOR_UNIT_ID_KEY, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY, DOCS_NORMAL_EDITOR_UNIT_ID_KEY, DOC_DRAWING_PRINTING_COMPONENT_KEY, DOC_RANGE_TYPE, DashStyleType, DataStreamTreeNodeType, DataStreamTreeTokenType, DataValidationErrorStyle, DataValidationImeMode, DataValidationOperator, DataValidationRenderMode, DataValidationStatus, DataValidationType, DateSystem, DeleteDirection, DependentOn, DesktopLogService, DeveloperMetadataVisibility, Dimension, Direction, Disposable, DisposableCollection, DocStyleType, DocumentBlockRangeType, DocumentBlockType, DocumentDataModel, DocumentFlavor, DocxBreakType, DrawingTypeEnum, EDITOR_ACTIVATED, EMU_PER_CSS_PX, EXCEL_1904_OFFSET, EXTENSION_NAMES, ErrorService, EventState, EventSubject, FOCUSING_BOARD, FOCUSING_COMMENT_EDITOR, FOCUSING_COMMON_DRAWINGS, FOCUSING_DOC, FOCUSING_EDITOR_INPUT_FORMULA, FOCUSING_EDITOR_STANDALONE, FOCUSING_FX_BAR_EDITOR, FOCUSING_PANEL_EDITOR, FOCUSING_SHAPE_TEXT_EDITOR, FOCUSING_SHEET, FOCUSING_SLIDE, FOCUSING_UNIT, FOCUSING_UNIVER_EDITOR, FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE, FORMULA_EDITOR_ACTIVATED, FilterSelectionMode, FollowNumberWithType, FontItalic, FontStyleType, FontWeight, FormulaType, GridType, HorizontalAlign, IAuthzIoService, ICommandService, IConfigService, IConfirmService, IContextService, IImageIoService, ILocalStorageService, ILogService, IMentionIOService, IPermissionService, IResourceLoaderService, IResourceManagerService, IS_ROW_STYLE_PRECEDE_COLUMN_STYLE, IURLImageService, IUndoRedoService, IUniverInstanceService, ImageCacheMap, ImageSourceType, ImageUploadStatusType, Inject, InjectSelf, Injector, InterceptorEffectEnum, InterceptorManager, InterpolationPointType, json1 as JSON1, JSONX, LOCALE_META, LRUHelper, LRUMap, LifecycleService, LifecycleStages, LifecycleUnreachableError, ListGlyphType, LocalUndoRedoService, LocaleService, LocaleType, LogLevel, LookUp, MAX_COLUMN_COUNT, MAX_ITERATION_COUNT, MAX_ROW_COUNT, MODERN_DOCUMENT_DEFAULT_MARGIN, MODERN_DOCUMENT_WIDTH, MOVE_BUFFER_VALUE, Many, MemoryCursor, MentionIOLocalService, MentionType, ModernDocumentWidthMode, NAMED_STYLE_MAP, NAMED_STYLE_SPACE_MAP, NamedStyleType, NilCommand, NumberUnitType, OBJECT_PERMISSION_CONFIG_KEY, ObjectMatrix, ObjectPermissionRuleModel, ObjectPermissionService, ObjectRelativeFromH, ObjectRelativeFromV, Optional, PADDING_KEYS, PAGE_SIZE, PAPER_TYPES, PARAGRAPH_ID_PREFIX, PRESERVE_INSERTED_PARAGRAPH_IDS, PRESET_LIST_TYPE, PageOrientType, PaperType, ParagraphElementType, ParagraphStyleBuilder, ParagraphStyleValue, PermissionService, PermissionStatus, Plugin, PluginService, PositionedObjectLayoutType, PresetListType, ProtectionType, Quantity, QuickListType, QuickListTypeMap, RANGE_DIRECTION, RANGE_TYPE, RBush, RCDisposable, RESTORE_INSERTED_PARAGRAPH_IDS, RGBA_PAREN, RGB_PAREN, ROTATE_BUFFER_VALUE, RTree, Range, RecordValueType, Rectangle, RediError, RedoCommand, RedoCommandId, RefAlias, RegionService, Registry, RegistryAsMap, RelativeDate, ResourceManagerService, RichTextBuilder, RichTextParagraphBuilder, RichTextRunBuilder, RichTextValue, RxDisposable, SECTION_ID_PREFIX, SHEET_EDITOR_UNITS, SHEET_TEXT_LINE_GAP, STYLE_KEYS, SectionType, Self, SheetSkeleton, SheetTypes, SheetViewModel, Skeleton, SkipSelf, SliceBodyType, SpacingRule, Styles, TEXT_DECORATION_KEYS, TEXT_ROTATION_KEYS, THEME_COLORS, TRADITIONAL_DOCUMENT_DEFAULT_MARGIN, TabStopAlignment, TabStopLeader, TableAlignmentType, TableLayoutType, TableRowHeightRule, TableSizeType, TableTextWrapType, TestConfirmService, TextDecoration, TextDecorationBuilder, TextDirection, TextDirectionType, TextStyleBuilder, TextStyleValue, TextX, TextXActionType, ThemeColorType, ThemeColors, ThemeService, Tools, UndoCommand, UndoCommandId, UnitModel, Univer, UniverInstanceService, UniverInstanceType, UpdateDocsAttributeType, UserManagerService, VerticalAlign, VerticalAlignmentType, WithNew, Workbook, Worksheet, WorksheetHiddenState, WrapStrategy, WrapTextType, addLinkToDocumentModel, afterInitApply, afterTime, allocateBaseFormulaTableName, assertBaseTableRecordIdentity, awaitTime, binSearchFirstGreaterThanTarget, binarySearchArray, bufferDebounceTime, cellToRange, characterSpacingControlType, checkForSubstrings, checkIfMove, checkParagraphHasBullet, checkParagraphHasIndent, checkParagraphHasIndentByStyle, cloneBodyWithFreshParagraphIds, cloneCellData, cloneCellDataMatrix, cloneCellDataWithSpanAndDisplay, cloneParagraphWithId, cloneSectionBreakWithId, cloneValue, cloneWorksheetData, codeToBlob, columnLabelToNumber, composeBody, composeInterceptors, composeStyles, concatMatrixArray, containsInteriorInsertionOffset, containsStreamIndex, convertCellToRange, convertObservableToBehaviorSubject, covertCellValue, covertCellValues, createAsyncInterceptorKey, createBaseFormulaTableNameMap, createBaseFormulaTableReferenceNormalizer, createBaseRecordIdField, createDefaultBaseTableSnapshot, createDefaultUser, createDocumentModelWithStyle, createIdentifier, createInterceptorKey, createInternalEditorID, createParagraphId, createRandomId, createRowColIter, createSectionId, createSheetGapTestConfig, cssPxToEmu, currencySymbols, customNameCharacterCheck, dateKit, debounce, dedupe, dedupeBy, deepCompare, delayAnimationFrame, deleteContent, emuToCssPx, excelDateSerial, excelDateTimePartsToSerial, excelDateTimeSerial, excelSerialToDate, excelSerialToDateTime, excelSerialToDateTimeParts, extractPureTextFromCell, forwardRef, fromCallback, fromEventSubject, generateIntervalsByPoints, generateRandomId, get, getArrayLength, getBaseFormulaTableName, getEmptySnapshot as getBasesEmptySnapshot, getBlockRangeInterval, getBodySlice, getBodySliceForSplitTextXAction, getBodySliceForTextXAction, getBorderStyleType, getCellCoordByIndexSimple, getCellValueType, getCellWithCoordByIndexCore, getColorStyle, getColumnGroupRangeInterval, getCustomBlockIdsInSelections, getCustomBlockInterval, getCustomBlockSlice, getCustomDecorationSlice, getCustomRangeInterval, getCustomRangeSlice, getDateSystemMaxSerial, getDisplayValueFromCell, getEmptySnapshot$1 as getDocsEmptySnapshot, getDocsUpdateBody, getDrawingOrderIndex, getEmptyCell, getExclusiveRangeInterval, getInclusiveRangeInterval, getIntersectRange, getNumfmtLocaleTag, getNumfmtParseValueFilter, getOriginCellValue, getParagraphContentStartOffset, getParagraphContentStartOffsets, getParagraphFollowingBlockOffset, getParagraphsSlice, getPlainText, getRecordValueKey, getReverseDirection, getRichTextEditPath, getSdtBindingKey, getSdtBindingValue, getSectionBreakSlice, getSectionHeaderFooterReferenceKey, getEmptySnapshot$2 as getSheetsEmptySnapshot, getSingleDataStreamChange, getTableCellTokenInterval, getTableRangeInterval, getTableRowTokenInterval, getTableSlice, getTextRunSlice, getTransformOffsetX, getTransformOffsetY, getWorksheetUID, groupBy, handleStyleToString, hashAlgorithm, horizontalLineSegmentsSubtraction, insertMatrixArray, insertTextToContent, intersectsOperationalIntervals, invertColorByHSL, invertColorByMatrix, isAsyncDependencyItem, isAsyncHook, isBaseRecordIdFieldName, isBlackColor, isBooleanString, isCellCoverable, isCellV, isClassDependencyItem, isCommentEditorID, isCtor, isDefaultFormat, isDisposable, isEmptyCell, isFactoryDependencyItem, isFormulaId, isFormulaString, isICellData, isInternalEditorID, isNodeEnv, isNotNullOrUndefined, isNullCell, isNumeric, isPatternEqualWithoutDecimal, isRangesEqual, isRealNum, isSafeNumeric, isSafeUrl, isSameStyleTextRun, isTextFormat, isUnitRangesEqual, isValidBaseRecordId, isValidColumnDimensions, isValidRange, isValidRowDimensions, isValidSheetDimension, isValueDependencyItem, isWhiteColor, makeArray, makeCellRangeToRangeData, mapObjectMatrix, merge, mergeIntervals, mergeLocales, mergeOverrideWithDependencies, mergeSets, mergeWith, mergeWorksheetSnapshotWithDefault, migrateBaseFormulaTableNames, mixinClass, moveMatrixArray, moveRangeByOffset, nameCharacterCheck, noop, normalizeBaseFormulaTableName, normalizeBaseFormulaTableReferences, normalizeBody, normalizeDrawingOrderIndex, normalizeInsertedSectionIdsForDocument, normalizeTextRuns, normalizeUrl, normalizeWorkbookCalculationSettings, numberToABC, numberToListABC, api_exports as numfmt, regexp, registerDependencies, remove, repeatStringNumTimes, replaceInDocumentBody, requestImmediateMacroTask, resolveDocumentParagraphStyle, resolveSectionHeaderFooterReference, resolveSectionHeaderFooterReferences, resolveWithBasePath, rotate, searchArray, searchInOrderedArray, selectionToArray, sequence, sequenceAsync, sequenceExecute, sequenceExecuteAsync, set, setDependencies, setWith, shallowEqual, shiftExclusiveRangeOnDelete, shiftExclusiveRangeOnInsert, shiftInclusiveRangeOnDelete, shiftInclusiveRangeOnInsert, skipParseTagNames, sliceMatrixArray, sortRules, sortRulesByDesc, sortRulesFactory, spliceArray, splitIntoGrid, takeAfter, throttle, toDisposable, touchDependencies, updateAttributeByDelete, updateAttributeByInsert, validateDocBodyStructure, validateDocumentStructure, willLoseNumericPrecision };
package/lib/facade.js CHANGED
@@ -38,10 +38,9 @@ var FBaseInitialable = class extends Disposable {
38
38
  this._injector = _injector;
39
39
  const Ctor = this.constructor;
40
40
  if (Boolean(Ctor[ManualInitSymbol])) return;
41
- const self = this;
42
41
  const initializers = Object.getPrototypeOf(this)[InitializerSymbol$1];
43
- if (initializers) initializers.forEach(function(fn) {
44
- fn.apply(self, [_injector]);
42
+ if (initializers) initializers.forEach((fn) => {
43
+ fn.apply(this, [_injector]);
45
44
  });
46
45
  }
47
46
  /**