@univerjs/core 1.0.0-alpha.7 → 1.0.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/lib/cjs/facade.js +6 -138
  2. package/lib/cjs/index.js +272 -462
  3. package/lib/es/facade.js +8 -134
  4. package/lib/es/index.js +271 -459
  5. package/lib/facade.js +8 -134
  6. package/lib/index.js +271 -459
  7. package/lib/types/bases/index.d.ts +1 -1
  8. package/lib/types/bases/typedef.d.ts +23 -0
  9. package/lib/types/docs/data-model/paragraph-style.d.ts +7 -1
  10. package/lib/types/docs/data-model/rich-text-builder.d.ts +11 -1
  11. package/lib/types/docs/data-model/text-x/build-utils/index.d.ts +1 -1
  12. package/lib/types/docs/data-model/text-x/utils.d.ts +1 -0
  13. package/lib/types/docs/data-model/types.d.ts +0 -2
  14. package/lib/types/facade/f-univer.d.ts +1 -22
  15. package/lib/types/facade/index.d.ts +0 -1
  16. package/lib/types/services/context/context.d.ts +0 -2
  17. package/lib/types/services/instance/instance.service.d.ts +0 -8
  18. package/lib/types/shared/common.d.ts +0 -5
  19. package/lib/types/shared/object-matrix.d.ts +0 -14
  20. package/lib/types/shared/rectangle.d.ts +0 -15
  21. package/lib/types/shared/tools.d.ts +0 -2
  22. package/lib/types/sheets/sheet-skeleton.d.ts +2 -6
  23. package/lib/types/sheets/typedef.d.ts +0 -14
  24. package/lib/types/sheets/workbook.d.ts +0 -2
  25. package/lib/types/sheets/worksheet.d.ts +0 -6
  26. package/lib/types/types/const/page-size.d.ts +2 -0
  27. package/lib/types/types/enum/theme-color-type.d.ts +0 -4
  28. package/lib/types/types/interfaces/i-cell-custom-render.d.ts +0 -2
  29. package/lib/types/types/interfaces/i-document-data.d.ts +93 -12
  30. package/lib/types/types/interfaces/i-style-data.d.ts +43 -0
  31. package/lib/umd/facade.js +1 -1
  32. package/lib/umd/index.js +21 -21
  33. package/package.json +4 -4
  34. package/lib/types/facade/f-hooks.d.ts +0 -74
package/lib/es/index.js CHANGED
@@ -123,7 +123,7 @@ function installShims() {
123
123
  }
124
124
 
125
125
  //#endregion
126
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
126
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
127
127
  function _typeof(o) {
128
128
  "@babel/helpers - typeof";
129
129
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -134,7 +134,7 @@ function _typeof(o) {
134
134
  }
135
135
 
136
136
  //#endregion
137
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
137
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
138
138
  function toPrimitive(t, r) {
139
139
  if ("object" != _typeof(t) || !t) return t;
140
140
  var e = t[Symbol.toPrimitive];
@@ -147,14 +147,14 @@ function toPrimitive(t, r) {
147
147
  }
148
148
 
149
149
  //#endregion
150
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
150
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
151
151
  function toPropertyKey(t) {
152
152
  var i = toPrimitive(t, "string");
153
153
  return "symbol" == _typeof(i) ? i : i + "";
154
154
  }
155
155
 
156
156
  //#endregion
157
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
157
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
158
158
  function _defineProperty(e, r, t) {
159
159
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
160
160
  value: t,
@@ -683,76 +683,6 @@ var Tools = class Tools {
683
683
  if (isIE11) return "IE11";
684
684
  return "Unknown browser";
685
685
  }
686
- /** @deprecated This method is deprecated, please use `import { merge } from '@univerjs/core` instead */
687
- static deepMerge(target, ...sources) {
688
- sources.forEach((item) => item && deepItem(item));
689
- function isDangerousKey(key) {
690
- return key === "__proto__" || key === "constructor" || key === "prototype";
691
- }
692
- function deepArray(array, to) {
693
- array.forEach((value, key) => {
694
- if (typeof key === "string" && isDangerousKey(key)) return;
695
- if (Tools.isArray(value)) {
696
- var _to$key;
697
- const origin = (_to$key = to[key]) !== null && _to$key !== void 0 ? _to$key : [];
698
- to[key] = origin;
699
- deepArray(value, origin);
700
- return;
701
- }
702
- if (Tools.isObject(value)) {
703
- var _to$key2;
704
- const origin = (_to$key2 = to[key]) !== null && _to$key2 !== void 0 ? _to$key2 : {};
705
- to[key] = origin;
706
- deepObject(value, origin);
707
- return;
708
- }
709
- to[key] = value;
710
- });
711
- }
712
- function deepObject(object, to) {
713
- Object.keys(object).forEach((key) => {
714
- if (isDangerousKey(key)) return;
715
- const value = object[key];
716
- if (Tools.isObject(value)) {
717
- var _to$key3;
718
- const origin = (_to$key3 = to[key]) !== null && _to$key3 !== void 0 ? _to$key3 : {};
719
- to[key] = origin;
720
- deepObject(value, origin);
721
- return;
722
- }
723
- if (Tools.isArray(value)) {
724
- var _to$key4;
725
- const origin = (_to$key4 = to[key]) !== null && _to$key4 !== void 0 ? _to$key4 : [];
726
- to[key] = origin;
727
- deepArray(value, origin);
728
- return;
729
- }
730
- to[key] = value;
731
- });
732
- }
733
- function deepItem(item) {
734
- Object.keys(item).forEach((key) => {
735
- if (isDangerousKey(key)) return;
736
- const value = item[key];
737
- if (Tools.isArray(value)) {
738
- var _target$key;
739
- const origin = (_target$key = target[key]) !== null && _target$key !== void 0 ? _target$key : [];
740
- target[key] = origin;
741
- deepArray(value, origin);
742
- return;
743
- }
744
- if (Tools.isObject(value)) {
745
- var _target$key2;
746
- const origin = (_target$key2 = target[key]) !== null && _target$key2 !== void 0 ? _target$key2 : {};
747
- target[key] = origin;
748
- deepObject(value, origin);
749
- return;
750
- }
751
- target[key] = value;
752
- });
753
- }
754
- return target;
755
- }
756
686
  static diffValue(one, two) {
757
687
  return isValueEqual(one, two);
758
688
  }
@@ -1652,8 +1582,6 @@ let CellValueType = /* @__PURE__ */ function(CellValueType) {
1652
1582
  */
1653
1583
  /**
1654
1584
  * Theme color type enum
1655
- *
1656
- * @deprecated
1657
1585
  */
1658
1586
  let ThemeColorType = /* @__PURE__ */ function(ThemeColorType) {
1659
1587
  /**
@@ -1681,8 +1609,6 @@ let ThemeColorType = /* @__PURE__ */ function(ThemeColorType) {
1681
1609
  }({});
1682
1610
  /**
1683
1611
  * Preset theme names.
1684
- *
1685
- * @deprecated
1686
1612
  */
1687
1613
  let ThemeColors = /* @__PURE__ */ function(ThemeColors) {
1688
1614
  ThemeColors["OFFICE"] = "Office";
@@ -1714,7 +1640,7 @@ let ThemeColors = /* @__PURE__ */ function(ThemeColors) {
1714
1640
  //#endregion
1715
1641
  //#region package.json
1716
1642
  var name = "@univerjs/core";
1717
- var version = "1.0.0-alpha.7";
1643
+ var version = "1.0.0-alpha.8";
1718
1644
 
1719
1645
  //#endregion
1720
1646
  //#region src/common/array.ts
@@ -2062,7 +1988,7 @@ function hashLogContent(...args) {
2062
1988
  }
2063
1989
 
2064
1990
  //#endregion
2065
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
1991
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
2066
1992
  function __decorateParam(paramIndex, decorator) {
2067
1993
  return function(target, key) {
2068
1994
  decorator(target, key, paramIndex);
@@ -2070,7 +1996,7 @@ function __decorateParam(paramIndex, decorator) {
2070
1996
  }
2071
1997
 
2072
1998
  //#endregion
2073
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
1999
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
2074
2000
  function __decorate(decorators, target, key, desc) {
2075
2001
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2076
2002
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -3373,12 +3299,13 @@ var ColorKit = class ColorKit {
3373
3299
  const rgb2 = new ColorKit(color2).toRgb();
3374
3300
  const alpha1 = (_rgb1$a = rgb1.a) !== null && _rgb1$a !== void 0 ? _rgb1$a : 1;
3375
3301
  const alpha2 = (_rgb2$a = rgb2.a) !== null && _rgb2$a !== void 0 ? _rgb2$a : 1;
3376
- return new ColorKit({
3302
+ const rgba = {
3377
3303
  r: (rgb2.r - rgb1.r) * amount + rgb1.r,
3378
3304
  g: (rgb2.g - rgb1.g) * amount + rgb1.g,
3379
3305
  b: (rgb2.b - rgb1.b) * amount + rgb1.b,
3380
3306
  a: (alpha2 - alpha1) * amount + alpha1
3381
- });
3307
+ };
3308
+ return new ColorKit(rgba);
3382
3309
  }
3383
3310
  static getContrastRatio(foreground, background) {
3384
3311
  const lumA = new ColorKit(foreground).getLuminance();
@@ -3874,57 +3801,6 @@ let DOC_RANGE_TYPE = /* @__PURE__ */ function(DOC_RANGE_TYPE) {
3874
3801
  DOC_RANGE_TYPE["TEXT"] = "TEXT";
3875
3802
  return DOC_RANGE_TYPE;
3876
3803
  }({});
3877
- /**
3878
- * Determines whether the cell(row, column) is within the range of the merged cells.
3879
- * @deprecated please use worksheet.getCellInfoInMergeData instead
3880
- */
3881
- function getCellInfoInMergeData(row, column, mergeData) {
3882
- let isMerged = false;
3883
- let isMergedMainCell = false;
3884
- let newEndRow = row;
3885
- let newEndColumn = column;
3886
- let mergeRow = row;
3887
- let mergeColumn = column;
3888
- if (mergeData == null) return {
3889
- actualRow: row,
3890
- actualColumn: column,
3891
- isMergedMainCell,
3892
- isMerged,
3893
- endRow: newEndRow,
3894
- endColumn: newEndColumn,
3895
- startRow: mergeRow,
3896
- startColumn: mergeColumn
3897
- };
3898
- for (let i = 0; i < mergeData.length; i++) {
3899
- const { startRow: startRowMarge, endRow: endRowMarge, startColumn: startColumnMarge, endColumn: endColumnMarge } = mergeData[i];
3900
- if (row === startRowMarge && column === startColumnMarge) {
3901
- newEndRow = endRowMarge;
3902
- newEndColumn = endColumnMarge;
3903
- mergeRow = startRowMarge;
3904
- mergeColumn = startColumnMarge;
3905
- isMergedMainCell = true;
3906
- break;
3907
- }
3908
- if (row >= startRowMarge && row <= endRowMarge && column >= startColumnMarge && column <= endColumnMarge) {
3909
- newEndRow = endRowMarge;
3910
- newEndColumn = endColumnMarge;
3911
- mergeRow = startRowMarge;
3912
- mergeColumn = startColumnMarge;
3913
- isMerged = true;
3914
- break;
3915
- }
3916
- }
3917
- return {
3918
- actualRow: row,
3919
- actualColumn: column,
3920
- isMergedMainCell,
3921
- isMerged,
3922
- endRow: newEndRow,
3923
- endColumn: newEndColumn,
3924
- startRow: mergeRow,
3925
- startColumn: mergeColumn
3926
- };
3927
- }
3928
3804
  let CellModeEnum = /* @__PURE__ */ function(CellModeEnum) {
3929
3805
  CellModeEnum["Raw"] = "raw";
3930
3806
  CellModeEnum["Intercepted"] = "intercepted";
@@ -8012,24 +7888,15 @@ var ObjectMatrix = class ObjectMatrix {
8012
7888
  const objectArray = this.getRowOrCreate(row);
8013
7889
  objectArray[column] = value;
8014
7890
  }
8015
- /**
8016
- * !!
8017
- * Please +1 ‘!’, who fell into this pit.
8018
- * @deprecated use `realDelete` or `splice`
8019
- */
8020
- deleteValue(row, column) {
7891
+ realDeleteValue(row, column) {
8021
7892
  var _this$_matrix2;
8022
7893
  (_this$_matrix2 = this._matrix) === null || _this$_matrix2 === void 0 || (_this$_matrix2 = _this$_matrix2[row]) === null || _this$_matrix2 === void 0 || delete _this$_matrix2[column];
8023
- }
8024
- realDeleteValue(row, column) {
8025
- var _this$_matrix3;
8026
- (_this$_matrix3 = this._matrix) === null || _this$_matrix3 === void 0 || (_this$_matrix3 = _this$_matrix3[row]) === null || _this$_matrix3 === void 0 || delete _this$_matrix3[column];
8027
7894
  if (this.getRow(row)) {
8028
7895
  const objectArray = this.getRow(row);
8029
7896
  if (objectArray == null) return;
8030
7897
  if (Object.keys(objectArray).length === 0) {
8031
- var _this$_matrix4;
8032
- (_this$_matrix4 = this._matrix) === null || _this$_matrix4 === void 0 || delete _this$_matrix4[row];
7898
+ var _this$_matrix3;
7899
+ (_this$_matrix3 = this._matrix) === null || _this$_matrix3 === void 0 || delete _this$_matrix3[row];
8033
7900
  }
8034
7901
  }
8035
7902
  }
@@ -8228,23 +8095,10 @@ var ObjectMatrix = class ObjectMatrix {
8228
8095
  });
8229
8096
  return array;
8230
8097
  }
8231
- /**
8232
- * @deprecated Use getMatrix as a substitute.
8233
- */
8234
- toJSON() {
8235
- return this._matrix;
8236
- }
8237
8098
  clone() {
8238
8099
  const json = JSON.stringify(this._matrix);
8239
8100
  return JSON.parse(json);
8240
8101
  }
8241
- /**
8242
- * @deprecated Use clone as a substitute.
8243
- */
8244
- getData() {
8245
- const json = JSON.stringify(this._matrix);
8246
- return JSON.parse(json);
8247
- }
8248
8102
  getArrayData() {
8249
8103
  let startRow = 0;
8250
8104
  let startColumn = 0;
@@ -8266,7 +8120,7 @@ var ObjectMatrix = class ObjectMatrix {
8266
8120
  objectMatrix.setValue(rowIndex - startRow, columnIndex - startColumn, value);
8267
8121
  });
8268
8122
  });
8269
- return objectMatrix.getData();
8123
+ return objectMatrix.clone();
8270
8124
  }
8271
8125
  /**
8272
8126
  * the function can only be used in all the row and column are positive integer
@@ -8412,10 +8266,6 @@ function convertCellToRange(cellInfo) {
8412
8266
  endX
8413
8267
  };
8414
8268
  }
8415
- /**
8416
- * @deprecated use `convertCellToRange` instead
8417
- */
8418
- const makeCellToSelection = convertCellToRange;
8419
8269
  function makeCellRangeToRangeData(cellInfo) {
8420
8270
  if (!cellInfo) return;
8421
8271
  const { actualRow, actualColumn, isMerged, isMergedMainCell, startRow: mergeStartRow, startColumn: mergeStartColumn, endRow: mergeEndRow, endColumn: mergeEndColumn } = cellInfo;
@@ -9299,7 +9149,10 @@ function mergeLocales(...locales) {
9299
9149
 
9300
9150
  //#endregion
9301
9151
  //#region src/shared/lru/lru-map.ts
9302
- let _Symbol$iterator, _Symbol$iterator2, _Symbol$iterator3, _Symbol$iterator4;
9152
+ let _Symbol$iterator;
9153
+ let _Symbol$iterator2;
9154
+ let _Symbol$iterator3;
9155
+ let _Symbol$iterator4;
9303
9156
  const NEWER = Symbol("newer");
9304
9157
  const OLDER = Symbol("older");
9305
9158
  _Symbol$iterator = Symbol.iterator;
@@ -9804,6 +9657,11 @@ let CustomRangeType = /* @__PURE__ */ function(CustomRangeType) {
9804
9657
  CustomRangeType[CustomRangeType["DELTED"] = 9999] = "DELTED";
9805
9658
  return CustomRangeType;
9806
9659
  }({});
9660
+ let DocxBreakType = /* @__PURE__ */ function(DocxBreakType) {
9661
+ DocxBreakType["COLUMN"] = "column";
9662
+ DocxBreakType["TEXT_WRAPPING"] = "textWrapping";
9663
+ return DocxBreakType;
9664
+ }({});
9807
9665
  let CustomDecorationType = /* @__PURE__ */ function(CustomDecorationType) {
9808
9666
  CustomDecorationType[CustomDecorationType["COMMENT"] = 0] = "COMMENT";
9809
9667
  CustomDecorationType[CustomDecorationType["DELETED"] = 9999] = "DELETED";
@@ -9836,9 +9694,10 @@ let GridType = /* @__PURE__ */ function(GridType) {
9836
9694
  let SectionType = /* @__PURE__ */ function(SectionType) {
9837
9695
  SectionType[SectionType["SECTION_TYPE_UNSPECIFIED"] = 0] = "SECTION_TYPE_UNSPECIFIED";
9838
9696
  SectionType[SectionType["CONTINUOUS"] = 1] = "CONTINUOUS";
9839
- SectionType[SectionType["NEXT_PAGE"] = 2] = "NEXT_PAGE";
9840
- SectionType[SectionType["EVEN_PAGE"] = 3] = "EVEN_PAGE";
9841
- SectionType[SectionType["ODD_PAGE"] = 4] = "ODD_PAGE";
9697
+ SectionType[SectionType["NEXT_COLUMN"] = 2] = "NEXT_COLUMN";
9698
+ SectionType[SectionType["NEXT_PAGE"] = 3] = "NEXT_PAGE";
9699
+ SectionType[SectionType["EVEN_PAGE"] = 4] = "EVEN_PAGE";
9700
+ SectionType[SectionType["ODD_PAGE"] = 5] = "ODD_PAGE";
9842
9701
  return SectionType;
9843
9702
  }({});
9844
9703
  /**
@@ -9883,15 +9742,25 @@ let WrapTextType = /* @__PURE__ */ function(WrapTextType) {
9883
9742
  return WrapTextType;
9884
9743
  }({});
9885
9744
  /**
9886
- * The possible layouts of a [PositionedObject]
9745
+ * Controls how a positioned object participates in document text layout.
9746
+ *
9747
+ * `WRAP_NONE` does not by itself determine whether the object is in front of or behind text. Drawing data uses
9748
+ * `behindDoc` for that stacking choice.
9887
9749
  */
9888
9750
  let PositionedObjectLayoutType = /* @__PURE__ */ function(PositionedObjectLayoutType) {
9751
+ /** Places the object in the text flow like a character and lets it affect the containing line's metrics. */
9889
9752
  PositionedObjectLayoutType[PositionedObjectLayoutType["INLINE"] = 0] = "INLINE";
9753
+ /** Floats the object without reflowing text. The object and text can overlap. */
9890
9754
  PositionedObjectLayoutType[PositionedObjectLayoutType["WRAP_NONE"] = 1] = "WRAP_NONE";
9755
+ /** Floats the object and wraps text around the custom polygon defined by its wrap path. */
9891
9756
  PositionedObjectLayoutType[PositionedObjectLayoutType["WRAP_POLYGON"] = 2] = "WRAP_POLYGON";
9757
+ /** Floats the object and wraps text around its rectangular bounds. */
9892
9758
  PositionedObjectLayoutType[PositionedObjectLayoutType["WRAP_SQUARE"] = 3] = "WRAP_SQUARE";
9759
+ /** Floats the object and allows text to flow through eligible open regions in its wrap contour. */
9893
9760
  PositionedObjectLayoutType[PositionedObjectLayoutType["WRAP_THROUGH"] = 4] = "WRAP_THROUGH";
9761
+ /** Floats the object and wraps text closely around its contour instead of its rectangular bounds. */
9894
9762
  PositionedObjectLayoutType[PositionedObjectLayoutType["WRAP_TIGHT"] = 5] = "WRAP_TIGHT";
9763
+ /** Floats the object in a horizontal band, leaving text only above and below it. */
9895
9764
  PositionedObjectLayoutType[PositionedObjectLayoutType["WRAP_TOP_AND_BOTTOM"] = 6] = "WRAP_TOP_AND_BOTTOM";
9896
9765
  return PositionedObjectLayoutType;
9897
9766
  }({});
@@ -10529,6 +10398,8 @@ const MODERN_DOCUMENT_WIDTH = {
10529
10398
  ["wide"]: PAGE_SIZE["A3"].width
10530
10399
  };
10531
10400
  const MODERN_DOCUMENT_DEFAULT_MARGIN = 50 / .75;
10401
+ /** Default margin for a paginated Traditional document, in 96-DPI layout pixels. */
10402
+ const TRADITIONAL_DOCUMENT_DEFAULT_MARGIN = 72;
10532
10403
 
10533
10404
  //#endregion
10534
10405
  //#region src/sheets/range.ts
@@ -10717,7 +10588,7 @@ var Range = class Range {
10717
10588
  */
10718
10589
  getObjectValues(options = {}) {
10719
10590
  const { startRow, endRow, startColumn, endColumn } = this._range;
10720
- const values = this._worksheet.getCellMatrix().getFragment(startRow, endRow, startColumn, endColumn).getData();
10591
+ const values = this._worksheet.getCellMatrix().getFragment(startRow, endRow, startColumn, endColumn).clone();
10721
10592
  if (options.isIncludeStyle) {
10722
10593
  const style = this._deps.getStyles();
10723
10594
  for (let r = 0; r <= endRow - startRow; r++) for (let c = 0; c <= endColumn - startColumn; c++) {
@@ -11473,52 +11344,6 @@ var Rectangle = class Rectangle {
11473
11344
  }).length > 0);
11474
11345
  }
11475
11346
  /**
11476
- * Gets the intersection range between two ranges
11477
- * @param src
11478
- * @param target
11479
- * @deprecated use `getIntersectRange` instead
11480
- * @example
11481
- * ```typescript
11482
- * const range1 = { startRow: 0, startColumn: 0, endRow: 2, endColumn: 2 };
11483
- * const range2 = { startRow: 1, startColumn: 1, endRow: 3, endColumn: 3 };
11484
- * const intersection = Rectangle.getIntersects(range1, range2);
11485
- * // intersection = { startRow: 1, startColumn: 1, endRow: 2, endColumn: 2 }
11486
- * ```
11487
- */
11488
- static getIntersects(src, target) {
11489
- const currentStartRow = src.startRow;
11490
- const currentEndRow = src.endRow;
11491
- const currentStartColumn = src.startColumn;
11492
- const currentEndColumn = src.endColumn;
11493
- const incomingStartRow = target.startRow;
11494
- const incomingEndRow = target.endRow;
11495
- const incomingStartColumn = target.startColumn;
11496
- const incomingEndColumn = target.endColumn;
11497
- let startColumn;
11498
- let startRow;
11499
- let endColumn;
11500
- let endRow;
11501
- if (incomingStartRow <= currentEndRow) if (incomingStartRow >= currentStartRow) startRow = incomingStartRow;
11502
- else startRow = currentStartRow;
11503
- else return null;
11504
- if (incomingEndRow >= currentStartRow) if (incomingEndRow >= currentEndRow) endRow = currentEndRow;
11505
- else endRow = incomingEndRow;
11506
- else return null;
11507
- if (incomingStartColumn <= currentEndColumn) if (incomingStartColumn > currentStartColumn) startColumn = incomingStartColumn;
11508
- else startColumn = currentStartColumn;
11509
- else return null;
11510
- if (incomingEndColumn >= currentStartColumn) if (incomingEndColumn >= currentEndColumn) endColumn = currentEndColumn;
11511
- else endColumn = incomingEndColumn;
11512
- else return null;
11513
- return {
11514
- startRow,
11515
- endRow,
11516
- startColumn,
11517
- endColumn,
11518
- rangeType: 0
11519
- };
11520
- }
11521
- /**
11522
11347
  * Checks if one range completely contains another range
11523
11348
  * @param src
11524
11349
  * @param target
@@ -12967,7 +12792,8 @@ const blackLuminance = getLuminance(black.r, black.g, black.b);
12967
12792
  * @returns The inverted color.
12968
12793
  */
12969
12794
  function invertNormalizedColorByHSL(color) {
12970
- const originalContrast = getContrastRatio(whiteLuminance, getLuminance(color[0], color[1], color[2]));
12795
+ const originalLuminance = getLuminance(color[0], color[1], color[2]);
12796
+ const originalContrast = getContrastRatio(whiteLuminance, originalLuminance);
12971
12797
  const hsl = rgbToHsl(color);
12972
12798
  let l = 1 - hsl[2];
12973
12799
  let newColor, newLuminance, newContrast;
@@ -13450,10 +13276,6 @@ let DataStreamTreeTokenType = /* @__PURE__ */ function(DataStreamTreeTokenType)
13450
13276
  DataStreamTreeTokenType["SPACE"] = " ";
13451
13277
  return DataStreamTreeTokenType;
13452
13278
  }({});
13453
- /** Wrap your stream in a pair of custom range tokens. */
13454
- function makeCustomRangeStream(stream) {
13455
- return `${stream}`;
13456
- }
13457
13279
 
13458
13280
  //#endregion
13459
13281
  //#region src/docs/data-model/text-x/build-utils/range-interval.ts
@@ -15799,7 +15621,7 @@ function composeBody(thisBody, otherBody, coverType = 0) {
15799
15621
  const { startIndex: thisStart } = thisParagraph;
15800
15622
  const { startIndex: otherStart } = otherParagraph;
15801
15623
  if (thisStart === otherStart) {
15802
- paragraphs.push(Tools.deepMerge(thisParagraph, otherParagraph));
15624
+ paragraphs.push(merge(thisParagraph, otherParagraph));
15803
15625
  thisIndex++;
15804
15626
  otherIndex++;
15805
15627
  } else if (thisStart < otherStart) {
@@ -16242,7 +16064,7 @@ function transformBlockRanges(thisBlockRanges, otherBlockRanges, priority) {
16242
16064
  if (!otherBlockRanges.length) return [];
16243
16065
  return otherBlockRanges.map((otherBlockRange) => {
16244
16066
  const thisBlockRange = thisBlockRanges.find((blockRange) => blockRange.blockId === otherBlockRange.blockId);
16245
- return thisBlockRange && priority ? Tools.deepMerge(otherBlockRange, thisBlockRange) : otherBlockRange;
16067
+ return thisBlockRange && priority ? merge(otherBlockRange, thisBlockRange) : otherBlockRange;
16246
16068
  });
16247
16069
  }
16248
16070
 
@@ -16885,16 +16707,37 @@ var DocumentDataModel = class DocumentDataModel extends DocumentDataModelSimple
16885
16707
  //#region src/docs/data-model/paragraph-style.ts
16886
16708
  function _definedStyle(style) {
16887
16709
  if (style == null) return {};
16888
- return Object.fromEntries(Object.entries(style).filter(([, value]) => value != null));
16710
+ const definedStyle = Tools.deepClone(style);
16711
+ Tools.removeNull(definedStyle);
16712
+ return definedStyle;
16713
+ }
16714
+ function _resolveNamedParagraphStyle(styles, styleId) {
16715
+ if (!styles || !styleId) return {};
16716
+ const visiting = /* @__PURE__ */ new Set();
16717
+ const resolve = (currentStyleId) => {
16718
+ if (visiting.has(currentStyleId)) return {};
16719
+ const style = styles[currentStyleId];
16720
+ if (!style || style.type !== 1) return {};
16721
+ visiting.add(currentStyleId);
16722
+ const base = style.basedOn ? resolve(style.basedOn) : {};
16723
+ visiting.delete(currentStyleId);
16724
+ return {
16725
+ ...base,
16726
+ ..._definedStyle(style.paragraphStyle)
16727
+ };
16728
+ };
16729
+ return resolve(styleId);
16889
16730
  }
16890
16731
  function resolveDocumentParagraphStyle(documentStyle, paragraphStyle, options = {}) {
16891
- var _options$useLegacyMod;
16732
+ var _options$useLegacyMod, _definedParagraphStyl;
16733
+ const legacyStyle = ((_options$useLegacyMod = options.useLegacyModernDefaults) !== null && _options$useLegacyMod !== void 0 ? _options$useLegacyMod : (documentStyle === null || documentStyle === void 0 ? void 0 : documentStyle.documentFlavor) === 2) ? {
16734
+ lineSpacing: DEFAULT_DOCUMENT_PARAGRAPH_LINE_SPACING,
16735
+ spaceAbove: { v: 0 },
16736
+ spaceBelow: { v: 12 }
16737
+ } : {};
16892
16738
  const documentDefaults = {
16893
- ...((_options$useLegacyMod = options.useLegacyModernDefaults) !== null && _options$useLegacyMod !== void 0 ? _options$useLegacyMod : (documentStyle === null || documentStyle === void 0 ? void 0 : documentStyle.documentFlavor) === 2) ? {
16894
- lineSpacing: DEFAULT_DOCUMENT_PARAGRAPH_LINE_SPACING,
16895
- spaceAbove: { v: 0 },
16896
- spaceBelow: { v: 12 }
16897
- } : {},
16739
+ ...(documentStyle === null || documentStyle === void 0 ? void 0 : documentStyle.documentFlavor) === 1 ? { widowControl: 1 } : {},
16740
+ ...legacyStyle,
16898
16741
  ..._definedStyle(documentStyle === null || documentStyle === void 0 ? void 0 : documentStyle.defaultParagraphStyle)
16899
16742
  };
16900
16743
  if (options.excludeDocumentOuterSpacing) {
@@ -16902,10 +16745,13 @@ function resolveDocumentParagraphStyle(documentStyle, paragraphStyle, options =
16902
16745
  delete documentDefaults.spaceBelow;
16903
16746
  }
16904
16747
  const definedParagraphStyle = _definedStyle(paragraphStyle);
16905
- const namedStyle = definedParagraphStyle.namedStyleType == null ? null : NAMED_STYLE_SPACE_MAP[definedParagraphStyle.namedStyleType];
16748
+ const referencedParagraphStyle = _resolveNamedParagraphStyle(options.styles, options.paragraphStyleId);
16749
+ const namedStyleType = (_definedParagraphStyl = definedParagraphStyle.namedStyleType) !== null && _definedParagraphStyl !== void 0 ? _definedParagraphStyl : referencedParagraphStyle.namedStyleType;
16750
+ const namedStyle = namedStyleType == null ? null : NAMED_STYLE_SPACE_MAP[namedStyleType];
16906
16751
  return Tools.deepClone({
16907
16752
  ...documentDefaults,
16908
16753
  ...namedStyle,
16754
+ ...referencedParagraphStyle,
16909
16755
  ...definedParagraphStyle
16910
16756
  });
16911
16757
  }
@@ -21017,8 +20863,6 @@ const FOCUSING_SHEET = "FOCUSING_SHEET";
21017
20863
  const FOCUSING_DOC = "FOCUSING_DOC";
21018
20864
  const FOCUSING_SLIDE = "FOCUSING_SLIDE";
21019
20865
  const FOCUSING_BOARD = "FOCUSING_BOARD";
21020
- /** @deprecated */
21021
- const FOCUSING_EDITOR_BUT_HIDDEN = "FOCUSING_EDITOR_BUT_HIDDEN";
21022
20866
  const EDITOR_ACTIVATED = "EDITOR_ACTIVATED";
21023
20867
  const FOCUSING_EDITOR_INPUT_FORMULA = "FOCUSING_EDITOR_INPUT_FORMULA";
21024
20868
  /** The focusing state of the formula editor (Fx bar). */
@@ -21411,198 +21255,6 @@ function convertTextRotation(textRotation) {
21411
21255
  };
21412
21256
  }
21413
21257
 
21414
- //#endregion
21415
- //#region src/sheets/clone.ts
21416
- /**
21417
- * Fast clone for primitive values and simple objects.
21418
- * Avoids type checking overhead when we know the structure.
21419
- */
21420
- function cloneValue(value) {
21421
- if (value === null || value === void 0) return value;
21422
- if (typeof value !== "object") return value;
21423
- if (Array.isArray(value)) {
21424
- const len = value.length;
21425
- const result = new Array(len);
21426
- for (let i = 0; i < len; i++) result[i] = cloneValue(value[i]);
21427
- return result;
21428
- }
21429
- const result = {};
21430
- const keys = Object.keys(value);
21431
- for (let i = 0, len = keys.length; i < len; i++) {
21432
- const key = keys[i];
21433
- result[key] = cloneValue(value[key]);
21434
- }
21435
- return result;
21436
- }
21437
- /**
21438
- * Fast clone for ICellData. Optimized for the known structure.
21439
- * @param cell - The cell data to clone
21440
- * @returns A deep clone of the cell data
21441
- */
21442
- function cloneCellData(cell) {
21443
- if (cell === null || cell === void 0) return cell;
21444
- const result = {};
21445
- if (cell.p !== void 0) result.p = cell.p === null ? null : cloneValue(cell.p);
21446
- if (cell.s !== void 0) if (cell.s === null || typeof cell.s === "string") result.s = cell.s;
21447
- else result.s = cloneValue(cell.s);
21448
- if (cell.v !== void 0) result.v = cell.v;
21449
- if (cell.t !== void 0) result.t = cell.t;
21450
- if (cell.f !== void 0) result.f = cell.f;
21451
- if (cell.ref !== void 0) result.ref = cell.ref;
21452
- if (cell.xf !== void 0) result.xf = cell.xf;
21453
- if (cell.si !== void 0) result.si = cell.si;
21454
- if (cell.custom !== void 0) result.custom = cell.custom === null ? null : cloneValue(cell.custom);
21455
- return result;
21456
- }
21457
- /**
21458
- * Fast clone for ICellDataWithSpanAndDisplay. Optimized for the known structure.
21459
- * This extends cloneCellData with additional span and display properties.
21460
- * @param cell - The cell data with span and display info to clone
21461
- * @returns A deep clone of the cell data
21462
- */
21463
- function cloneCellDataWithSpanAndDisplay(cell) {
21464
- if (cell === null || cell === void 0) return cell;
21465
- const result = {};
21466
- if (cell.p !== void 0) result.p = cell.p === null ? null : cloneValue(cell.p);
21467
- if (cell.s !== void 0) if (cell.s === null || typeof cell.s === "string") result.s = cell.s;
21468
- else result.s = cloneValue(cell.s);
21469
- if (cell.v !== void 0) result.v = cell.v;
21470
- if (cell.t !== void 0) result.t = cell.t;
21471
- if (cell.f !== void 0) result.f = cell.f;
21472
- if (cell.ref !== void 0) result.ref = cell.ref;
21473
- if (cell.xf !== void 0) result.xf = cell.xf;
21474
- if (cell.si !== void 0) result.si = cell.si;
21475
- if (cell.custom !== void 0) result.custom = cell.custom === null ? null : cloneValue(cell.custom);
21476
- if (cell.rowSpan !== void 0) result.rowSpan = cell.rowSpan;
21477
- if (cell.colSpan !== void 0) result.colSpan = cell.colSpan;
21478
- if (cell.displayV !== void 0) result.displayV = cell.displayV;
21479
- return result;
21480
- }
21481
- /**
21482
- * Fast clone for cell data matrix. Optimized for sparse matrix structure.
21483
- * @param cellData - The cell data matrix to clone
21484
- * @returns A deep clone of the cell data matrix
21485
- */
21486
- function cloneCellDataMatrix(cellData) {
21487
- const result = {};
21488
- const rowKeys = Object.keys(cellData);
21489
- for (let i = 0, rowLen = rowKeys.length; i < rowLen; i++) {
21490
- const rowKey = rowKeys[i];
21491
- const rowNum = Number(rowKey);
21492
- const rowData = cellData[rowNum];
21493
- if (rowData === void 0) continue;
21494
- const clonedRow = {};
21495
- const colKeys = Object.keys(rowData);
21496
- for (let j = 0, colLen = colKeys.length; j < colLen; j++) {
21497
- const colKey = colKeys[j];
21498
- const colNum = Number(colKey);
21499
- const cell = rowData[colNum];
21500
- if (cell !== void 0 && cell !== null) clonedRow[colNum] = cloneCellData(cell);
21501
- }
21502
- result[rowNum] = clonedRow;
21503
- }
21504
- return result;
21505
- }
21506
- /**
21507
- * Fast clone for row/column data arrays (sparse arrays stored as objects).
21508
- * @param data - The row or column data to clone
21509
- * @returns A deep clone of the row or column data
21510
- */
21511
- function cloneRowColumnData(data) {
21512
- const result = {};
21513
- const keys = Object.keys(data);
21514
- for (let i = 0, len = keys.length; i < len; i++) {
21515
- const key = keys[i];
21516
- const idx = Number(key);
21517
- const item = data[idx];
21518
- if (item === void 0) continue;
21519
- const cloned = {};
21520
- if ("h" in item && item.h !== void 0) cloned.h = item.h;
21521
- if ("ia" in item && item.ia !== void 0) cloned.ia = item.ia;
21522
- if ("ah" in item && item.ah !== void 0) cloned.ah = item.ah;
21523
- if ("hd" in item && item.hd !== void 0) cloned.hd = item.hd;
21524
- if ("w" in item && item.w !== void 0) cloned.w = item.w;
21525
- if ("s" in item && item.s !== void 0) if (item.s === null || typeof item.s === "string") cloned.s = item.s;
21526
- else cloned.s = cloneValue(item.s);
21527
- if ("custom" in item && item.custom !== void 0) cloned.custom = item.custom === null ? null : cloneValue(item.custom);
21528
- result[idx] = cloned;
21529
- }
21530
- return result;
21531
- }
21532
- /**
21533
- * Fast clone for IRange array (merge data).
21534
- * @param ranges - The array of ranges to clone
21535
- * @returns A shallow clone of the ranges (IRange contains only primitive values)
21536
- */
21537
- function cloneMergeData(ranges) {
21538
- const len = ranges.length;
21539
- const result = new Array(len);
21540
- for (let i = 0; i < len; i++) {
21541
- const range = ranges[i];
21542
- result[i] = {
21543
- startRow: range.startRow,
21544
- startColumn: range.startColumn,
21545
- endRow: range.endRow,
21546
- endColumn: range.endColumn,
21547
- rangeType: range.rangeType,
21548
- startAbsoluteRefType: range.startAbsoluteRefType,
21549
- endAbsoluteRefType: range.endAbsoluteRefType
21550
- };
21551
- }
21552
- return result;
21553
- }
21554
- /**
21555
- * Optimized deep clone specifically for IWorksheetData.
21556
- * This is significantly faster than generic deepClone because:
21557
- * 1. No recursive type checking - we know the structure
21558
- * 2. Direct property access instead of Object.keys iteration for known properties
21559
- * 3. Specialized handlers for cellData matrix (the largest data)
21560
- * 4. Primitive values copied directly without cloning
21561
- *
21562
- * @param worksheet - The worksheet data to clone
21563
- * @returns A deep clone of the worksheet data
21564
- */
21565
- function cloneWorksheetData(worksheet) {
21566
- const result = {
21567
- id: worksheet.id,
21568
- name: worksheet.name,
21569
- tabColor: worksheet.tabColor,
21570
- hidden: worksheet.hidden,
21571
- rowCount: worksheet.rowCount,
21572
- columnCount: worksheet.columnCount,
21573
- zoomRatio: worksheet.zoomRatio,
21574
- scrollTop: worksheet.scrollTop,
21575
- scrollLeft: worksheet.scrollLeft,
21576
- defaultColumnWidth: worksheet.defaultColumnWidth,
21577
- defaultRowHeight: worksheet.defaultRowHeight,
21578
- showGridlines: worksheet.showGridlines,
21579
- rightToLeft: worksheet.rightToLeft,
21580
- freeze: {
21581
- xSplit: worksheet.freeze.xSplit,
21582
- ySplit: worksheet.freeze.ySplit,
21583
- startRow: worksheet.freeze.startRow,
21584
- startColumn: worksheet.freeze.startColumn
21585
- },
21586
- rowHeader: {
21587
- width: worksheet.rowHeader.width,
21588
- hidden: worksheet.rowHeader.hidden
21589
- },
21590
- columnHeader: {
21591
- height: worksheet.columnHeader.height,
21592
- hidden: worksheet.columnHeader.hidden
21593
- },
21594
- mergeData: cloneMergeData(worksheet.mergeData),
21595
- cellData: cloneCellDataMatrix(worksheet.cellData),
21596
- rowData: cloneRowColumnData(worksheet.rowData),
21597
- columnData: cloneRowColumnData(worksheet.columnData)
21598
- };
21599
- if (worksheet.gridlinesColor !== void 0) result.gridlinesColor = worksheet.gridlinesColor;
21600
- if (worksheet.defaultStyle !== void 0) if (worksheet.defaultStyle === null || typeof worksheet.defaultStyle === "string") result.defaultStyle = worksheet.defaultStyle;
21601
- else result.defaultStyle = cloneValue(worksheet.defaultStyle);
21602
- if (worksheet.custom !== void 0) result.custom = worksheet.custom === null ? null : cloneValue(worksheet.custom);
21603
- return result;
21604
- }
21605
-
21606
21258
  //#endregion
21607
21259
  //#region src/sheets/column-manager.ts
21608
21260
  /**
@@ -22330,7 +21982,7 @@ const DEFAULT_CELL_DOCUMENT_MODEL_OPTION = {
22330
21982
  /**
22331
21983
  * The model of a Worksheet.
22332
21984
  */
22333
- var Worksheet = class Worksheet {
21985
+ var Worksheet = class {
22334
21986
  constructor(unitId, snapshot, _styles) {
22335
21987
  var _this$_snapshot$id;
22336
21988
  this.unitId = unitId;
@@ -22599,16 +22251,6 @@ var Worksheet = class Worksheet {
22599
22251
  return this._snapshot.name;
22600
22252
  }
22601
22253
  /**
22602
- * Returns WorkSheet Clone Object
22603
- * @returns WorkSheet Clone Object
22604
- * @deprecated
22605
- */
22606
- clone() {
22607
- const { _snapshot: _config } = this;
22608
- const copy = cloneWorksheetData(_config);
22609
- return new Worksheet(this.unitId, copy, this._styles);
22610
- }
22611
- /**
22612
22254
  * Get the merged cell list of the sheet.
22613
22255
  * @returns {IRange[]} merged cell list
22614
22256
  */
@@ -23395,10 +23037,6 @@ let Workbook = class Workbook extends UnitModel {
23395
23037
  getSnapshot() {
23396
23038
  return this._snapshot;
23397
23039
  }
23398
- /** @deprecated use use name property instead */
23399
- getName() {
23400
- return this._snapshot.name;
23401
- }
23402
23040
  setName(name) {
23403
23041
  this._name$.next(name);
23404
23042
  this._snapshot.name = name;
@@ -23746,22 +23384,10 @@ let UniverInstanceService = class UniverInstanceService extends Disposable {
23746
23384
  var _this$_unitCreateOpti;
23747
23385
  return (_this$_unitCreateOpti = this._unitCreateOptions.get(unitId)) !== null && _this$_unitCreateOpti !== void 0 ? _this$_unitCreateOpti : null;
23748
23386
  }
23749
- getUniverSheetInstance(unitId) {
23750
- return this.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
23751
- }
23752
23387
  getAllUnitsForType(type) {
23753
23388
  var _this$_unitsByType$ge;
23754
23389
  return (_this$_unitsByType$ge = this._unitsByType.get(type)) !== null && _this$_unitsByType$ge !== void 0 ? _this$_unitsByType$ge : [];
23755
23390
  }
23756
- changeDoc(unitId, doc) {
23757
- const allDocs = this.getAllUnitsForType(UniverInstanceType.UNIVER_DOC);
23758
- const oldDoc = allDocs.find((doc) => doc.getUnitId() === unitId);
23759
- if (oldDoc != null) {
23760
- const index = allDocs.indexOf(oldDoc);
23761
- allDocs.splice(index, 1);
23762
- }
23763
- this.__addUnit(doc);
23764
- }
23765
23391
  get focused() {
23766
23392
  var _this$_getUnitById2;
23767
23393
  const id = this._focused$.getValue();
@@ -25188,6 +24814,198 @@ function delayAnimationFrame(frames = 1) {
25188
24814
  });
25189
24815
  }
25190
24816
 
24817
+ //#endregion
24818
+ //#region src/sheets/clone.ts
24819
+ /**
24820
+ * Fast clone for primitive values and simple objects.
24821
+ * Avoids type checking overhead when we know the structure.
24822
+ */
24823
+ function cloneValue(value) {
24824
+ if (value === null || value === void 0) return value;
24825
+ if (typeof value !== "object") return value;
24826
+ if (Array.isArray(value)) {
24827
+ const len = value.length;
24828
+ const result = new Array(len);
24829
+ for (let i = 0; i < len; i++) result[i] = cloneValue(value[i]);
24830
+ return result;
24831
+ }
24832
+ const result = {};
24833
+ const keys = Object.keys(value);
24834
+ for (let i = 0, len = keys.length; i < len; i++) {
24835
+ const key = keys[i];
24836
+ result[key] = cloneValue(value[key]);
24837
+ }
24838
+ return result;
24839
+ }
24840
+ /**
24841
+ * Fast clone for ICellData. Optimized for the known structure.
24842
+ * @param cell - The cell data to clone
24843
+ * @returns A deep clone of the cell data
24844
+ */
24845
+ function cloneCellData(cell) {
24846
+ if (cell === null || cell === void 0) return cell;
24847
+ const result = {};
24848
+ if (cell.p !== void 0) result.p = cell.p === null ? null : cloneValue(cell.p);
24849
+ if (cell.s !== void 0) if (cell.s === null || typeof cell.s === "string") result.s = cell.s;
24850
+ else result.s = cloneValue(cell.s);
24851
+ if (cell.v !== void 0) result.v = cell.v;
24852
+ if (cell.t !== void 0) result.t = cell.t;
24853
+ if (cell.f !== void 0) result.f = cell.f;
24854
+ if (cell.ref !== void 0) result.ref = cell.ref;
24855
+ if (cell.xf !== void 0) result.xf = cell.xf;
24856
+ if (cell.si !== void 0) result.si = cell.si;
24857
+ if (cell.custom !== void 0) result.custom = cell.custom === null ? null : cloneValue(cell.custom);
24858
+ return result;
24859
+ }
24860
+ /**
24861
+ * Fast clone for ICellDataWithSpanAndDisplay. Optimized for the known structure.
24862
+ * This extends cloneCellData with additional span and display properties.
24863
+ * @param cell - The cell data with span and display info to clone
24864
+ * @returns A deep clone of the cell data
24865
+ */
24866
+ function cloneCellDataWithSpanAndDisplay(cell) {
24867
+ if (cell === null || cell === void 0) return cell;
24868
+ const result = {};
24869
+ if (cell.p !== void 0) result.p = cell.p === null ? null : cloneValue(cell.p);
24870
+ if (cell.s !== void 0) if (cell.s === null || typeof cell.s === "string") result.s = cell.s;
24871
+ else result.s = cloneValue(cell.s);
24872
+ if (cell.v !== void 0) result.v = cell.v;
24873
+ if (cell.t !== void 0) result.t = cell.t;
24874
+ if (cell.f !== void 0) result.f = cell.f;
24875
+ if (cell.ref !== void 0) result.ref = cell.ref;
24876
+ if (cell.xf !== void 0) result.xf = cell.xf;
24877
+ if (cell.si !== void 0) result.si = cell.si;
24878
+ if (cell.custom !== void 0) result.custom = cell.custom === null ? null : cloneValue(cell.custom);
24879
+ if (cell.rowSpan !== void 0) result.rowSpan = cell.rowSpan;
24880
+ if (cell.colSpan !== void 0) result.colSpan = cell.colSpan;
24881
+ if (cell.displayV !== void 0) result.displayV = cell.displayV;
24882
+ return result;
24883
+ }
24884
+ /**
24885
+ * Fast clone for cell data matrix. Optimized for sparse matrix structure.
24886
+ * @param cellData - The cell data matrix to clone
24887
+ * @returns A deep clone of the cell data matrix
24888
+ */
24889
+ function cloneCellDataMatrix(cellData) {
24890
+ const result = {};
24891
+ const rowKeys = Object.keys(cellData);
24892
+ for (let i = 0, rowLen = rowKeys.length; i < rowLen; i++) {
24893
+ const rowKey = rowKeys[i];
24894
+ const rowNum = Number(rowKey);
24895
+ const rowData = cellData[rowNum];
24896
+ if (rowData === void 0) continue;
24897
+ const clonedRow = {};
24898
+ const colKeys = Object.keys(rowData);
24899
+ for (let j = 0, colLen = colKeys.length; j < colLen; j++) {
24900
+ const colKey = colKeys[j];
24901
+ const colNum = Number(colKey);
24902
+ const cell = rowData[colNum];
24903
+ if (cell !== void 0 && cell !== null) clonedRow[colNum] = cloneCellData(cell);
24904
+ }
24905
+ result[rowNum] = clonedRow;
24906
+ }
24907
+ return result;
24908
+ }
24909
+ /**
24910
+ * Fast clone for row/column data arrays (sparse arrays stored as objects).
24911
+ * @param data - The row or column data to clone
24912
+ * @returns A deep clone of the row or column data
24913
+ */
24914
+ function cloneRowColumnData(data) {
24915
+ const result = {};
24916
+ const keys = Object.keys(data);
24917
+ for (let i = 0, len = keys.length; i < len; i++) {
24918
+ const key = keys[i];
24919
+ const idx = Number(key);
24920
+ const item = data[idx];
24921
+ if (item === void 0) continue;
24922
+ const cloned = {};
24923
+ if ("h" in item && item.h !== void 0) cloned.h = item.h;
24924
+ if ("ia" in item && item.ia !== void 0) cloned.ia = item.ia;
24925
+ if ("ah" in item && item.ah !== void 0) cloned.ah = item.ah;
24926
+ if ("hd" in item && item.hd !== void 0) cloned.hd = item.hd;
24927
+ if ("w" in item && item.w !== void 0) cloned.w = item.w;
24928
+ if ("s" in item && item.s !== void 0) if (item.s === null || typeof item.s === "string") cloned.s = item.s;
24929
+ else cloned.s = cloneValue(item.s);
24930
+ if ("custom" in item && item.custom !== void 0) cloned.custom = item.custom === null ? null : cloneValue(item.custom);
24931
+ result[idx] = cloned;
24932
+ }
24933
+ return result;
24934
+ }
24935
+ /**
24936
+ * Fast clone for IRange array (merge data).
24937
+ * @param ranges - The array of ranges to clone
24938
+ * @returns A shallow clone of the ranges (IRange contains only primitive values)
24939
+ */
24940
+ function cloneMergeData(ranges) {
24941
+ const len = ranges.length;
24942
+ const result = new Array(len);
24943
+ for (let i = 0; i < len; i++) {
24944
+ const range = ranges[i];
24945
+ result[i] = {
24946
+ startRow: range.startRow,
24947
+ startColumn: range.startColumn,
24948
+ endRow: range.endRow,
24949
+ endColumn: range.endColumn,
24950
+ rangeType: range.rangeType,
24951
+ startAbsoluteRefType: range.startAbsoluteRefType,
24952
+ endAbsoluteRefType: range.endAbsoluteRefType
24953
+ };
24954
+ }
24955
+ return result;
24956
+ }
24957
+ /**
24958
+ * Optimized deep clone specifically for IWorksheetData.
24959
+ * This is significantly faster than generic deepClone because:
24960
+ * 1. No recursive type checking - we know the structure
24961
+ * 2. Direct property access instead of Object.keys iteration for known properties
24962
+ * 3. Specialized handlers for cellData matrix (the largest data)
24963
+ * 4. Primitive values copied directly without cloning
24964
+ *
24965
+ * @param worksheet - The worksheet data to clone
24966
+ * @returns A deep clone of the worksheet data
24967
+ */
24968
+ function cloneWorksheetData(worksheet) {
24969
+ const result = {
24970
+ id: worksheet.id,
24971
+ name: worksheet.name,
24972
+ tabColor: worksheet.tabColor,
24973
+ hidden: worksheet.hidden,
24974
+ rowCount: worksheet.rowCount,
24975
+ columnCount: worksheet.columnCount,
24976
+ zoomRatio: worksheet.zoomRatio,
24977
+ scrollTop: worksheet.scrollTop,
24978
+ scrollLeft: worksheet.scrollLeft,
24979
+ defaultColumnWidth: worksheet.defaultColumnWidth,
24980
+ defaultRowHeight: worksheet.defaultRowHeight,
24981
+ showGridlines: worksheet.showGridlines,
24982
+ rightToLeft: worksheet.rightToLeft,
24983
+ freeze: {
24984
+ xSplit: worksheet.freeze.xSplit,
24985
+ ySplit: worksheet.freeze.ySplit,
24986
+ startRow: worksheet.freeze.startRow,
24987
+ startColumn: worksheet.freeze.startColumn
24988
+ },
24989
+ rowHeader: {
24990
+ width: worksheet.rowHeader.width,
24991
+ hidden: worksheet.rowHeader.hidden
24992
+ },
24993
+ columnHeader: {
24994
+ height: worksheet.columnHeader.height,
24995
+ hidden: worksheet.columnHeader.hidden
24996
+ },
24997
+ mergeData: cloneMergeData(worksheet.mergeData),
24998
+ cellData: cloneCellDataMatrix(worksheet.cellData),
24999
+ rowData: cloneRowColumnData(worksheet.rowData),
25000
+ columnData: cloneRowColumnData(worksheet.columnData)
25001
+ };
25002
+ if (worksheet.gridlinesColor !== void 0) result.gridlinesColor = worksheet.gridlinesColor;
25003
+ if (worksheet.defaultStyle !== void 0) if (worksheet.defaultStyle === null || typeof worksheet.defaultStyle === "string") result.defaultStyle = worksheet.defaultStyle;
25004
+ else result.defaultStyle = cloneValue(worksheet.defaultStyle);
25005
+ if (worksheet.custom !== void 0) result.custom = worksheet.custom === null ? null : cloneValue(worksheet.custom);
25006
+ return result;
25007
+ }
25008
+
25191
25009
  //#endregion
25192
25010
  //#region src/skeleton.ts
25193
25011
  let Skeleton = class Skeleton extends Disposable {
@@ -25300,12 +25118,6 @@ let SheetSkeleton = class SheetSkeleton extends Skeleton {
25300
25118
  }
25301
25119
  resetCache() {}
25302
25120
  /**
25303
- * @deprecated should never expose a property that is provided by another module!
25304
- */
25305
- getWorksheetConfig() {
25306
- return this._worksheetData;
25307
- }
25308
- /**
25309
25121
  * Get which Workbook and Worksheet this skeleton is attached to.
25310
25122
  * @returns [unitId, sheetId]
25311
25123
  */
@@ -26504,4 +26316,4 @@ function createUniverInjector(parentInjector, override) {
26504
26316
  installShims();
26505
26317
 
26506
26318
  //#endregion
26507
- export { ABCToNumber, AUTO_HEIGHT_FOR_MERGED_CELLS, AbsoluteRefType, ActionIterator, AlignTypeH, AlignTypeV, ArrangeTypeEnum, AsyncInterceptorManager, AsyncLock, AuthzIoLocalService, AutoFillSeries, BORDER_KEYS, BORDER_STYLE_KEYS, BaseDataModel, BaseFieldType, BaseFilterConjunction, BaseFilterOperator, 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, DeleteDirection, DependentOn, DesktopLogService, DeveloperMetadataVisibility, Dimension, Direction, Disposable, DisposableCollection, DocStyleType, DocumentBlockRangeType, DocumentBlockType, DocumentDataModel, DocumentFlavor, DrawingTypeEnum, EDITOR_ACTIVATED, EXTENSION_NAMES, ErrorService, EventState, EventSubject, FOCUSING_BOARD, FOCUSING_COMMENT_EDITOR, FOCUSING_COMMON_DRAWINGS, FOCUSING_DOC, FOCUSING_EDITOR_BUT_HIDDEN, 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, FollowNumberWithType, FontItalic, FontStyleType, FontWeight, 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_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, ObjectMatrix, 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, Rectangle, RediError, RedoCommand, RedoCommandId, RefAlias, RegionService, Registry, RegistryAsMap, RelativeDate, ResourceManagerService, RichTextBuilder, RichTextParagraphBuilder, RichTextRunBuilder, RichTextValue, RxDisposable, SECTION_ID_PREFIX, SHEET_EDITOR_UNITS, STYLE_KEYS, SectionType, Self, SheetSkeleton, SheetTypes, SheetViewModel, Skeleton, SkipSelf, SliceBodyType, SpacingRule, Styles, TEXT_DECORATION_KEYS, TEXT_ROTATION_KEYS, THEME_COLORS, TabStopAlignment, 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, WrapStrategy, WrapTextType, addLinkToDocumentModel, afterInitApply, afterTime, 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, createDefaultBaseTableSnapshot, createDefaultUser, createDocumentModelWithStyle, createIdentifier, createInterceptorKey, createInternalEditorID, createParagraphId, createRandomId, createRowColIter, createSectionId, createSheetGapTestConfig, currencySymbols, customNameCharacterCheck, dateKit, debounce, dedupe, dedupeBy, deepCompare, delayAnimationFrame, deleteContent, extractPureTextFromCell, forwardRef, fromCallback, fromEventSubject, generateIntervalsByPoints, generateRandomId, get, getArrayLength, getEmptySnapshot as getBasesEmptySnapshot, getBlockRangeInterval, getBodySlice, getBodySliceForSplitTextXAction, getBodySliceForTextXAction, getBorderStyleType, getCellCoordByIndexSimple, getCellInfoInMergeData, getCellValueType, getCellWithCoordByIndexCore, getColorStyle, getColumnGroupRangeInterval, getCustomBlockIdsInSelections, getCustomBlockInterval, getCustomBlockSlice, getCustomDecorationSlice, getCustomRangeInterval, getCustomRangeSlice, getDisplayValueFromCell, getEmptySnapshot$1 as getDocsEmptySnapshot, getDocsUpdateBody, getEmptyCell, getExclusiveRangeInterval, getInclusiveRangeInterval, getIntersectRange, getNumfmtParseValueFilter, getOriginCellValue, getParagraphContentStartOffset, getParagraphContentStartOffsets, getParagraphFollowingBlockOffset, getParagraphsSlice, getPlainText, getReverseDirection, getRichTextEditPath, 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, 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, isValidRange, isValueDependencyItem, isWhiteColor, makeArray, makeCellRangeToRangeData, makeCellToSelection, makeCustomRangeStream, mapObjectMatrix, merge, mergeIntervals, mergeLocales, mergeOverrideWithDependencies, mergeSets, mergeWith, mergeWorksheetSnapshotWithDefault, mixinClass, moveMatrixArray, moveRangeByOffset, nameCharacterCheck, noop, normalizeBody, normalizeInsertedSectionIdsForDocument, normalizeTextRuns, normalizeUrl, numberToABC, numberToListABC, api_exports as numfmt, queryObjectMatrix, regexp, registerDependencies, remove, repeatStringNumTimes, replaceInDocumentBody, requestImmediateMacroTask, resolveDocumentParagraphStyle, resolveSectionHeaderFooterReference, resolveSectionHeaderFooterReferences, resolveWithBasePath, rotate, searchArray, searchInOrderedArray, selectionToArray, sequence, sequenceAsync, sequenceExecute, sequenceExecuteAsync, set, setDependencies, shallowEqual, shiftExclusiveRangeOnDelete, shiftExclusiveRangeOnInsert, shiftInclusiveRangeOnDelete, shiftInclusiveRangeOnInsert, skipParseTagNames, sliceMatrixArray, sortRules, sortRulesByDesc, sortRulesFactory, spliceArray, splitIntoGrid, takeAfter, throttle, toDisposable, touchDependencies, updateAttributeByDelete, updateAttributeByInsert, validateDocBodyStructure, validateDocumentStructure, willLoseNumericPrecision };
26319
+ export { ABCToNumber, AUTO_HEIGHT_FOR_MERGED_CELLS, AbsoluteRefType, ActionIterator, AlignTypeH, AlignTypeV, ArrangeTypeEnum, AsyncInterceptorManager, AsyncLock, AuthzIoLocalService, AutoFillSeries, BORDER_KEYS, BORDER_STYLE_KEYS, BaseDataModel, BaseFieldType, BaseFilterConjunction, BaseFilterOperator, 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, DeleteDirection, DependentOn, DesktopLogService, DeveloperMetadataVisibility, Dimension, Direction, Disposable, DisposableCollection, DocStyleType, DocumentBlockRangeType, DocumentBlockType, DocumentDataModel, DocumentFlavor, DocxBreakType, DrawingTypeEnum, EDITOR_ACTIVATED, 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, FollowNumberWithType, FontItalic, FontStyleType, FontWeight, 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_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, ObjectMatrix, 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, Rectangle, RediError, RedoCommand, RedoCommandId, RefAlias, RegionService, Registry, RegistryAsMap, RelativeDate, ResourceManagerService, RichTextBuilder, RichTextParagraphBuilder, RichTextRunBuilder, RichTextValue, RxDisposable, SECTION_ID_PREFIX, SHEET_EDITOR_UNITS, 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, 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, WrapStrategy, WrapTextType, addLinkToDocumentModel, afterInitApply, afterTime, 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, createDefaultBaseTableSnapshot, createDefaultUser, createDocumentModelWithStyle, createIdentifier, createInterceptorKey, createInternalEditorID, createParagraphId, createRandomId, createRowColIter, createSectionId, createSheetGapTestConfig, currencySymbols, customNameCharacterCheck, dateKit, debounce, dedupe, dedupeBy, deepCompare, delayAnimationFrame, deleteContent, extractPureTextFromCell, forwardRef, fromCallback, fromEventSubject, generateIntervalsByPoints, generateRandomId, get, getArrayLength, getEmptySnapshot as getBasesEmptySnapshot, getBlockRangeInterval, getBodySlice, getBodySliceForSplitTextXAction, getBodySliceForTextXAction, getBorderStyleType, getCellCoordByIndexSimple, getCellValueType, getCellWithCoordByIndexCore, getColorStyle, getColumnGroupRangeInterval, getCustomBlockIdsInSelections, getCustomBlockInterval, getCustomBlockSlice, getCustomDecorationSlice, getCustomRangeInterval, getCustomRangeSlice, getDisplayValueFromCell, getEmptySnapshot$1 as getDocsEmptySnapshot, getDocsUpdateBody, getEmptyCell, getExclusiveRangeInterval, getInclusiveRangeInterval, getIntersectRange, getNumfmtParseValueFilter, getOriginCellValue, getParagraphContentStartOffset, getParagraphContentStartOffsets, getParagraphFollowingBlockOffset, getParagraphsSlice, getPlainText, getReverseDirection, getRichTextEditPath, 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, 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, isValidRange, isValueDependencyItem, isWhiteColor, makeArray, makeCellRangeToRangeData, mapObjectMatrix, merge, mergeIntervals, mergeLocales, mergeOverrideWithDependencies, mergeSets, mergeWith, mergeWorksheetSnapshotWithDefault, mixinClass, moveMatrixArray, moveRangeByOffset, nameCharacterCheck, noop, normalizeBody, normalizeInsertedSectionIdsForDocument, normalizeTextRuns, normalizeUrl, numberToABC, numberToListABC, api_exports as numfmt, queryObjectMatrix, regexp, registerDependencies, remove, repeatStringNumTimes, replaceInDocumentBody, requestImmediateMacroTask, resolveDocumentParagraphStyle, resolveSectionHeaderFooterReference, resolveSectionHeaderFooterReferences, resolveWithBasePath, rotate, searchArray, searchInOrderedArray, selectionToArray, sequence, sequenceAsync, sequenceExecute, sequenceExecuteAsync, set, setDependencies, shallowEqual, shiftExclusiveRangeOnDelete, shiftExclusiveRangeOnInsert, shiftInclusiveRangeOnDelete, shiftInclusiveRangeOnInsert, skipParseTagNames, sliceMatrixArray, sortRules, sortRulesByDesc, sortRulesFactory, spliceArray, splitIntoGrid, takeAfter, throttle, toDisposable, touchDependencies, updateAttributeByDelete, updateAttributeByInsert, validateDocBodyStructure, validateDocumentStructure, willLoseNumericPrecision };