@fileverse-dev/dsheet 3.0.0 → 3.0.1-yjs

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 (27) hide show
  1. package/dist/{constants-yStXQJiK.js → constants-Cdz6oSCq.js} +5 -7
  2. package/dist/constants.js +1 -1
  3. package/dist/editor/components/editor-workbook-sync.d.ts +1 -1
  4. package/dist/editor/constants/shared-constants.d.ts +0 -2
  5. package/dist/editor/utils/config-ydoc-update.d.ts +20 -0
  6. package/dist/{executeStringFunction-C5hEkx9z.js → executeStringFunction-CPkwRrkE.js} +13676 -9322
  7. package/dist/formula.js +1 -1
  8. package/dist/{index-CBzFxleP.js → index-Xk62PVvQ.js} +21295 -24592
  9. package/dist/index.es.js +42 -42
  10. package/dist/sheet-engine/core/api/cell.d.ts +0 -20
  11. package/dist/sheet-engine/core/api/common.d.ts +2 -1
  12. package/dist/sheet-engine/core/api/index.d.ts +1 -0
  13. package/dist/sheet-engine/core/api/sheet-flowdata-lifecycle.d.ts +17 -0
  14. package/dist/sheet-engine/core/api/sheet.d.ts +5 -0
  15. package/dist/sheet-engine/core/modules/formula-worker-bridge.d.ts +1 -0
  16. package/dist/sheet-engine/core/paste/paste-border-utils.d.ts +23 -0
  17. package/dist/sheet-engine/core/settings.d.ts +1 -1
  18. package/dist/sheet-engine/core/types.d.ts +3 -0
  19. package/dist/sheet-engine/core/utils/border-config-utils.d.ts +10 -0
  20. package/dist/sheet-engine/core/utils/cell-persist-utils.d.ts +8 -0
  21. package/dist/sheet-engine/core/utils/range-format.d.ts +43 -0
  22. package/dist/sheet-engine/core/utils/ydoc-celldata-changes.d.ts +40 -0
  23. package/dist/sheet-engine/react/components/Workbook/api.d.ts +8 -1
  24. package/dist/sheet-engine/react/components/Workbook/index.d.ts +5 -1
  25. package/dist/{use-xlsx-import-impl-C_npga_I.js → use-xlsx-import-impl-SfcyQhgd.js} +491 -477
  26. package/dist/{xlsx-export-impl-C2cU3lhm.js → xlsx-export-impl-DteWYmg0.js} +1106 -1106
  27. package/package.json +2 -2
package/dist/index.es.js CHANGED
@@ -1,59 +1,59 @@
1
- import { C as s, a as t, b as o, S as r, d as l, i as n, e as i, T as d, f as S, g as c, h, j as m, k as p, l as C, n as u, o as E, p as F, q as g, s as x, t as R, u as L, v as f, w as A, x as I, z as w, A as T, B as b, D as v, E as M, F as D, G as k, H as V, I as X, J as z, K as P, L as U, M as _, N as y } from "./index-CBzFxleP.js";
2
- import { bW as G, bX as H, bY as O, c0 as j, bi as J, e as K, f as N, h as Y, a as q, cm as W, as as Z, cu as Q } from "./executeStringFunction-C5hEkx9z.js";
1
+ import { C as s, a as t, b as o, S as l, d as r, i as n, e as d, T as c, f as i, g as S, h, j as m, k as p, l as C, n as u, o as E, p as g, q as F, s as x, t as R, u as f, v as A, w as L, x as w, z as I, A as T, B as v, D, E as M } from "./index-Xk62PVvQ.js";
2
+ import { ce as V, cf as X, cg as b, cl as z, bd as P, e as U, f as _, l as y, a as B, cW as O, cX as Y, aY as j, cY as G, cZ as H, d1 as J, d2 as Z, d4 as q, D as K, di as N, dJ as W, aR as Q } from "./executeStringFunction-CPkwRrkE.js";
3
3
  import { FLVURL as ee } from "@fileverse-dev/formulajs";
4
- import { E as se, S as te } from "./constants-yStXQJiK.js";
4
+ import { E as se, S as te } from "./constants-Cdz6oSCq.js";
5
5
  export {
6
6
  s as CommentAction,
7
7
  t as CommentCellUI,
8
8
  o as CommentsContent,
9
- r as DSheetEditor,
10
- l as DSheetSkeleton,
9
+ l as DSheetEditor,
10
+ r as DSheetSkeleton,
11
11
  se as ERROR_MESSAGES_FLAG,
12
12
  ee as FLVURL,
13
13
  n as FortuneCore,
14
14
  te as SERVICES_API_KEY,
15
- i as SupportedChain,
16
- d as TEMPLATES,
17
- S as api,
18
- G as clearColumnsCellsFormat,
19
- c as clearFilter,
20
- H as clearRowsCellsFormat,
21
- O as clearSelectedCellFormat,
15
+ d as SupportedChain,
16
+ c as TEMPLATES,
17
+ i as api,
18
+ V as clearColumnsCellsFormat,
19
+ S as clearFilter,
20
+ X as clearRowsCellsFormat,
21
+ b as clearSelectedCellFormat,
22
22
  h as createFilter,
23
- j as deleteRowCol,
24
- J as deleteSelectedCellText,
23
+ z as deleteRowCol,
24
+ P as deleteSelectedCellText,
25
25
  m as describeMatchedShortcut,
26
- K as executeStringFunction,
27
- N as formulaResponseUiSync,
28
- Y as getFlowdata,
26
+ U as executeStringFunction,
27
+ _ as formulaResponseUiSync,
28
+ y as getFlowdata,
29
29
  p as getRemoveDuplicatesErrorMessage,
30
30
  C as getRemoveDuplicatesPreview,
31
- q as getSheetIndex,
31
+ B as getSheetIndex,
32
32
  u as handleCSVUpload,
33
33
  E as handleCopy,
34
- F as handleExportToCSV,
35
- g as handleExportToJSON,
34
+ g as handleExportToCSV,
35
+ F as handleExportToJSON,
36
36
  x as handleExportToXLSX,
37
- R as handleFreeze,
38
- L as handleHorizontalAlign,
39
- f as handleLink,
40
- A as handleMerge,
41
- I as handlePasteByClick,
42
- w as handleSort,
43
- T as handleTextSize,
44
- b as handleVerticalAlign,
45
- v as importSpreadsheetFile,
46
- W as insertRowCol,
47
- M as isBrowserZoomShortcut,
48
- D as isFormulaListShortcut,
49
- k as isOpenShortcutsModalShortcut,
50
- Z as jfrefreshgrid,
51
- Q as loadLocale,
52
- V as removeActiveImage,
53
- X as removeDuplicates,
54
- z as showImgChooser,
55
- P as toolbarItemClickHandler,
56
- U as updateFormat,
57
- _ as useEnsStatus,
58
- y as useXLSXImport
37
+ O as handleFreeze,
38
+ Y as handleHorizontalAlign,
39
+ j as handleLink,
40
+ G as handleMerge,
41
+ R as handlePasteByClick,
42
+ H as handleSort,
43
+ J as handleTextSize,
44
+ Z as handleVerticalAlign,
45
+ f as importSpreadsheetFile,
46
+ q as insertRowCol,
47
+ A as isBrowserZoomShortcut,
48
+ L as isFormulaListShortcut,
49
+ w as isOpenShortcutsModalShortcut,
50
+ K as jfrefreshgrid,
51
+ N as loadLocale,
52
+ I as removeActiveImage,
53
+ T as removeDuplicates,
54
+ v as showImgChooser,
55
+ W as toolbarItemClickHandler,
56
+ Q as updateFormat,
57
+ D as useEnsStatus,
58
+ M as useXLSXImport
59
59
  };
@@ -6,26 +6,6 @@ export declare function getCellValue(ctx: Context, row: number, column: number,
6
6
  type?: keyof Cell;
7
7
  }): any;
8
8
  export declare function setCellValue(ctx: Context, row: number, column: number, value: any, cellInput: HTMLDivElement | null, options?: CommonOptions, callAfterUpdate?: boolean): void;
9
- /**
10
- * Apply a cell value coming from a remote RTC peer, verbatim.
11
- *
12
- * This differs from `setCellValue` in two important ways and must be used for
13
- * every Yjs-driven remote apply:
14
- *
15
- * 1. It NEVER runs the formula engine and NEVER fires the local-edit hooks
16
- * (`onLocalCellEdit` / `afterUpdateCell`). The peer already computed the
17
- * value, so we use the synced `v`/`m`/`f` as-is. This avoids both
18
- * recomputation divergence and an update loop back into Yjs.
19
- *
20
- * 2. It PRESERVES the formula calc list. The regular `setCellValue` object
21
- * branch calls `delFunctionGroup`, which removes the cell from `calcChain`
22
- * and strips its dependency edges. Because `execFunctionGroup` walks
23
- * `calcChain` to decide what to recompute, dropping a formula cell there
24
- * permanently breaks its reactivity on that client (even after RTC stops).
25
- * Here we instead keep formula cells registered via
26
- * `insertUpdateFunctionGroup`, so they stay reactive to future local edits
27
- * on both owner and peer.
28
- */
29
9
  export declare function applyRemoteCellValue(ctx: Context, row: number, column: number, value: any, options?: CommonOptions): void;
30
10
  export declare function clearCell(ctx: Context, row: number, column: number, options?: CommonOptions): void;
31
11
  export declare function setCellFormat(ctx: Context, row: number, column: number, attr: keyof Cell, value: any, options?: CommonOptions): void;
@@ -1,12 +1,13 @@
1
1
  import { Context } from '../context';
2
2
  import { CellMatrix, CellWithRowAndCol, Sheet } from '../types';
3
+ import { CellFormatRange } from '../utils/range-format';
3
4
 
4
5
  export type CommonOptions = {
5
6
  index?: number;
6
7
  id?: string;
7
8
  };
8
9
  export declare const dataToCelldata: (data: CellMatrix | undefined) => CellWithRowAndCol[];
9
- export declare const celldataToData: (celldata: CellWithRowAndCol[], rowCount?: number, colCount?: number) => CellMatrix | null;
10
+ export declare const celldataToData: (celldata: CellWithRowAndCol[], rowCount?: number, colCount?: number, cellFormatRanges?: CellFormatRange[]) => CellMatrix | null;
10
11
  export declare function getSheet(ctx: Context, options?: CommonOptions): Sheet;
11
12
  export declare function getSheetWithLatestCelldata(ctx: Context, options?: CommonOptions): {
12
13
  celldata: CellWithRowAndCol[];
@@ -7,5 +7,6 @@ export * from './rowcol';
7
7
  export * from './range';
8
8
  export * from './merge';
9
9
  export * from './sheet';
10
+ export * from './sheet-flowdata-lifecycle';
10
11
  export * from './workbook';
11
12
  export * from '../modules/error-state-helpers';
@@ -0,0 +1,17 @@
1
+ import { Context } from '../context';
2
+
3
+ /** Drop cached dense-sheet set (e.g. after structural workbook changes). */
4
+ export declare function invalidateSheetsRequiredDenseCache(): void;
5
+ /**
6
+ * Sheets that must keep dense `data` while `activeSheetId` is active:
7
+ * the active tab plus any tab referenced by its formulas (deps graph + text scan).
8
+ */
9
+ export declare function getSheetsRequiredDense(ctx: Context, activeSheetId: string): Set<string>;
10
+ /** Sheets the formula worker needs dense — active refs plus any tab with formulas. */
11
+ export declare function getSheetsNeededForWorkerSnapshot(ctx: Context): Set<string>;
12
+ export declare function demoteSheetToCelldata(ctx: Context, sheetId: string): void;
13
+ /**
14
+ * On tab switch: persist outgoing config, demote tabs not needed dense,
15
+ * hydrate active tab + cross-sheet references.
16
+ */
17
+ export declare function syncAndDemoteInactiveFlowdata(ctx: Context, activeSheetId: string, previousSheetId: string | null): Set<string>;
@@ -5,6 +5,11 @@ import { CellMatrix, Sheet } from '../types';
5
5
  export declare function getAllSheets(ctx: Context): Sheet[];
6
6
  export { getSheet };
7
7
  export declare function initSheetData(draftCtx: Context, index: number, newData: Sheet): CellMatrix | null;
8
+ /** Build dense `data` from sparse `celldata` when a sheet is activated or referenced. */
9
+ export declare function ensureSheetFlowdata(ctx: Context, options?: {
10
+ index?: number;
11
+ id?: string;
12
+ }): CellMatrix | null;
8
13
  export declare function hideSheet(ctx: Context, sheetId: string): void;
9
14
  export declare function showSheet(ctx: Context, sheetId: string): void;
10
15
  export declare function copySheet(ctx: Context, sheetId: string): void;
@@ -2,6 +2,7 @@ import { Context } from '../context';
2
2
  import { SnapshotEvalInput, SnapshotEvalOutput, SnapshotFormulaCell, evalFormulasInSnapshot } from './formula-snapshot-eval';
3
3
  import { FORMULA_WORKER_CHUNK_SIZE } from './formula-async-eval';
4
4
 
5
+ export declare function invalidateFormulaWorkerSnapshot(): void;
5
6
  export declare function buildSnapshotEvalInput(ctx: Context, formulas: SnapshotFormulaCell[]): SnapshotEvalInput;
6
7
  export declare function buildWorkerEvalInput(ctx: Context, formulas: SnapshotFormulaCell[]): Omit<SnapshotEvalInput, 'sheets'>;
7
8
  export declare function initFormulaWorkerSnapshot(ctx: Context, snapshotKey: string): boolean;
@@ -0,0 +1,23 @@
1
+ export declare function isTransparentBorderColor(color: string): boolean;
2
+ export declare function isMeaningfulBorderSide(side: {
3
+ style?: number;
4
+ color?: string;
5
+ } | undefined): boolean;
6
+ export declare function filterMeaningfulBorderSides(sides: {
7
+ l?: {
8
+ style?: number;
9
+ color?: string;
10
+ };
11
+ r?: {
12
+ style?: number;
13
+ color?: string;
14
+ };
15
+ t?: {
16
+ style?: number;
17
+ color?: string;
18
+ };
19
+ b?: {
20
+ style?: number;
21
+ color?: string;
22
+ };
23
+ }): typeof sides;
@@ -23,7 +23,7 @@ export type Hooks = {
23
23
  cellDataChange?: () => void;
24
24
  hyperlinkChange?: () => void;
25
25
  updateCellYdoc?: (changes: SheetChangePath[]) => void;
26
- updateAllCell?: (sheetId: string) => void;
26
+ updateAllCell?: (sheetId: string, caller?: string) => void;
27
27
  beforeUpdateCell?: (r: number, c: number, value: any) => boolean;
28
28
  /** Clears RTC remote-apply lock so local edits can run data-block formulas. */
29
29
  onLocalCellEdit?: () => void;
@@ -1,5 +1,6 @@
1
1
  import { Patch as ImmerPatch } from 'immer';
2
2
  import { PatchOptions } from './utils';
3
+ import { CellFormatRange } from './utils/range-format';
3
4
 
4
5
  export type Op = {
5
6
  op: 'replace' | 'remove' | 'add' | 'insertRowCol' | 'deleteRowCol' | 'addSheet' | 'deleteSheet';
@@ -140,6 +141,8 @@ export type SheetConfig = {
140
141
  customHeight?: Record<string, number>;
141
142
  customWidth?: Record<string, number>;
142
143
  borderInfo?: any[];
144
+ /** Range-level cell formatting for empty cells (toolbar bulk format). */
145
+ cellFormatRanges?: CellFormatRange[];
143
146
  authority?: any;
144
147
  rowReadOnly?: Record<number, number>;
145
148
  colReadOnly?: Record<number, number>;
@@ -0,0 +1,10 @@
1
+ import { Context } from '../context';
2
+
3
+ export type BorderSelection = {
4
+ row: [number, number];
5
+ column: [number, number];
6
+ };
7
+ /** Remove border entries overlapping a single selection (cell + range types). */
8
+ export declare function removeBorderInfoForSelection(borderInfo: any[], rowSt: number, rowEd: number, colSt: number, colEd: number): any[];
9
+ export declare function removeBorderInfoInSelections(borderInfo: any[] | undefined, selections: BorderSelection[]): any[];
10
+ export declare function syncBorderInfoToYdoc(ctx: Context, borderInfo: any[]): void;
@@ -0,0 +1,8 @@
1
+ import { Cell } from '../types';
2
+
3
+ export declare const CELL_FORMAT_ATTRS: readonly ["tb", "ht", "vt", "tr", "fs", "ff", "fc", "bl", "it", "un", "cl", "bg", "ct"];
4
+ export type CellFormatAttr = (typeof CELL_FORMAT_ATTRS)[number];
5
+ export declare function hasCellMeaningfulContent(cell: Cell | string | number | boolean | null | undefined): boolean;
6
+ export declare function isFormatOnlyEmptyCell(cell: Cell | string | number | boolean | null | undefined): boolean;
7
+ export declare function shouldPersistCelldataCell(cell: Cell | string | number | boolean | null | undefined): boolean;
8
+ export declare function celldataEntryEqual(existing: unknown, next: unknown): boolean;
@@ -0,0 +1,43 @@
1
+ import { Cell, CellMatrix, CellWithRowAndCol, Sheet } from '../types';
2
+
3
+ export type CellFormatRange = {
4
+ row: [number, number];
5
+ column: [number, number];
6
+ tb?: string;
7
+ ht?: number | string;
8
+ vt?: number | string;
9
+ tr?: string;
10
+ fs?: number;
11
+ ff?: number | string;
12
+ fc?: string;
13
+ bl?: number;
14
+ it?: number;
15
+ un?: number;
16
+ cl?: number;
17
+ bg?: string;
18
+ ct?: Cell['ct'];
19
+ };
20
+ declare function rangesEqual(a: CellFormatRange[] | undefined, b: CellFormatRange[] | undefined): boolean;
21
+ /** Merge overlapping/adjacent ranges that carry identical format attrs. */
22
+ export declare function normalizeCellFormatRanges(ranges: CellFormatRange[] | undefined): CellFormatRange[];
23
+ export declare function getCellFormatRangeGridBounds(ranges: CellFormatRange[] | undefined): {
24
+ maxRow: number;
25
+ maxCol: number;
26
+ } | null;
27
+ export declare function upsertCellFormatRange(ranges: CellFormatRange[] | undefined, rowSt: number, rowEd: number, colSt: number, colEd: number, attrs: Partial<CellFormatRange>): {
28
+ ranges: CellFormatRange[];
29
+ changed: boolean;
30
+ };
31
+ export declare function punchHoleInCellFormatRanges(ranges: CellFormatRange[] | undefined, r: number, c: number): CellFormatRange[];
32
+ export declare function punchRectHoleInCellFormatRanges(ranges: CellFormatRange[] | undefined, rowSt: number, rowEd: number, colSt: number, colEd: number): CellFormatRange[];
33
+ export declare function shiftCellFormatRangesOnInsert(ranges: CellFormatRange[] | undefined, type: 'row' | 'column', index: number, count: number, direction: 'lefttop' | 'rightbottom'): CellFormatRange[];
34
+ export declare function shiftCellFormatRangesOnDelete(ranges: CellFormatRange[] | undefined, type: 'row' | 'column', start: number, end: number): CellFormatRange[];
35
+ export declare function applyCellFormatRangesToData(data: CellMatrix | null | undefined, ranges: CellFormatRange[] | undefined): void;
36
+ export declare function buildSheetDataMatrixForExport(sheet: {
37
+ data?: CellMatrix | null;
38
+ celldata?: CellWithRowAndCol[];
39
+ row?: number;
40
+ column?: number;
41
+ config?: Sheet['config'];
42
+ }): CellMatrix;
43
+ export { rangesEqual };
@@ -0,0 +1,40 @@
1
+ import { Context } from '../context';
2
+ import { Cell, CellWithRowAndCol } from '../types';
3
+
4
+ export type CelldataYdocChange = {
5
+ sheetId: string;
6
+ path: string[];
7
+ key?: string;
8
+ value: any;
9
+ type?: 'update' | 'delete';
10
+ };
11
+ /** Cheap equality before deep compare — hot path for structural diffs. */
12
+ export declare function cellsEqualForYdocPersist(before: unknown, after: unknown): boolean;
13
+ /**
14
+ * Snapshot persisted cells in a range.
15
+ * Prefer sparse `celldata` when provided — O(populated cells), not O(range area).
16
+ */
17
+ export declare function snapshotPersistedCelldataInRange(data: unknown[][] | null | undefined, r1: number, r2: number, c1: number, c2: number, celldata?: CellWithRowAndCol[] | null): Map<string, Cell | string | number | boolean>;
18
+ export declare function appendCelldataDiffChange(changes: CelldataYdocChange[], sheetId: string, r: number, c: number, cell: unknown, beforePersisted?: Map<string, Cell | string | number | boolean>): void;
19
+ export declare function buildCelldataChangesForRange(sheetId: string, data: unknown[][], r1: number, r2: number, c1: number, c2: number, beforePersisted?: Map<string, Cell | string | number | boolean>): CelldataYdocChange[];
20
+ export declare function emitCelldataRangeDiffToYdoc(ctx: Context, sheetId: string, data: unknown[][], r1: number, r2: number, c1: number, c2: number, beforePersisted?: Map<string, Cell | string | number | boolean>): void;
21
+ export type MergeBounds = {
22
+ minR: number;
23
+ minC: number;
24
+ maxR: number;
25
+ maxC: number;
26
+ };
27
+ /** Disturbed range for insert row/col — snapshot only rows/cols that may shift. */
28
+ export declare function getInsertRowColSnapshotBounds(type: 'row' | 'column', index: number, direction: 'lefttop' | 'rightbottom', rowCount: number, colCount: number, mergeBounds: MergeBounds | null): {
29
+ r1: number;
30
+ r2: number;
31
+ c1: number;
32
+ c2: number;
33
+ };
34
+ /** Disturbed range for delete row/col — from deletion point to sheet edge. */
35
+ export declare function getDeleteRowColSnapshotBounds(type: 'row' | 'column', start: number, rowCount: number, colCount: number, mergeBounds: MergeBounds | null): {
36
+ r1: number;
37
+ r2: number;
38
+ c1: number;
39
+ c2: number;
40
+ };
@@ -1,3 +1,4 @@
1
+ import { CellFormatRange } from '../../../core/utils/range-format';
1
2
  import { api, Cell, Context, Op, Range, Selection, Presence, Settings, SingleRange, Sheet, CellMatrix, CellWithRowAndCol, GlobalCache, LiveQueryData } from '../../../core';
2
3
  import { getCryptoPrice } from '../../utils/cryptoApi';
3
4
  import { SetContextOptions } from '../../context';
@@ -148,6 +149,12 @@ export declare function generateAPIs(context: Context, setContext: (recipe: (ctx
148
149
  } | null;
149
150
  }, options?: api.CommonOptions) => void;
150
151
  setSheetMapField: (field: string, value: Record<string, any> | null | undefined, options?: api.CommonOptions) => void;
152
+ /** Merge keys into a map-backed sheet field without replacing the whole map. */
153
+ patchSheetMapField: (field: string, updates: Record<string, any>, deleteKeys?: string[], options?: api.CommonOptions) => void;
154
+ /** Merge sub-keys into sheet.config without replacing the whole config object. */
155
+ setSheetConfigFields: (partial: Record<string, any>, options?: api.CommonOptions & {
156
+ deleteKeys?: string[];
157
+ }) => void;
151
158
  setSheetConditionFormatRules: (rules: any[], options?: api.CommonOptions) => void;
152
159
  scroll: (options: {
153
160
  scrollLeft?: number;
@@ -166,7 +173,7 @@ export declare function generateAPIs(context: Context, setContext: (recipe: (ctx
166
173
  calculateSubSheetFormula: (id: string) => void;
167
174
  calculateCellReferencedSubSheetFormula: (id: string, refCell?: string[]) => void;
168
175
  dataToCelldata: (data: CellMatrix | undefined) => CellWithRowAndCol[];
169
- celldataToData: (celldata: CellWithRowAndCol[], rowCount?: number, colCount?: number) => CellMatrix | null;
176
+ celldataToData: (celldata: CellWithRowAndCol[], rowCount?: number, colCount?: number, cellFormatRanges?: CellFormatRange[]) => CellMatrix | null;
170
177
  insertFunction: (selectedFuncIndex: number, filteredFunctionList: any[], callback?: () => void) => void;
171
178
  getLocaleContext: () => any;
172
179
  getWorkbookContext: () => Context;
@@ -150,6 +150,10 @@ declare const Workbook: React.ForwardRefExoticComponent<Settings & AdditionalPro
150
150
  } | null;
151
151
  }, options?: api.CommonOptions) => void;
152
152
  setSheetMapField: (field: string, value: Record<string, any> | null | undefined, options?: api.CommonOptions) => void;
153
+ patchSheetMapField: (field: string, updates: Record<string, any>, deleteKeys?: string[], options?: api.CommonOptions) => void;
154
+ setSheetConfigFields: (partial: Record<string, any>, options?: api.CommonOptions & {
155
+ deleteKeys?: string[];
156
+ }) => void;
153
157
  setSheetConditionFormatRules: (rules: any[], options?: api.CommonOptions) => void;
154
158
  scroll: (options: {
155
159
  scrollLeft?: number;
@@ -168,7 +172,7 @@ declare const Workbook: React.ForwardRefExoticComponent<Settings & AdditionalPro
168
172
  calculateSubSheetFormula: (id: string) => void;
169
173
  calculateCellReferencedSubSheetFormula: (id: string, refCell?: string[]) => void;
170
174
  dataToCelldata: (data: CellMatrix | undefined) => CellWithRowAndCol[];
171
- celldataToData: (celldata: CellWithRowAndCol[], rowCount?: number, colCount?: number) => CellMatrix | null;
175
+ celldataToData: (celldata: CellWithRowAndCol[], rowCount?: number, colCount?: number, cellFormatRanges?: import('../../../core/utils/range-format').CellFormatRange[]) => CellMatrix | null;
172
176
  insertFunction: (selectedFuncIndex: number, filteredFunctionList: any[], callback?: () => void) => void;
173
177
  getLocaleContext: () => any;
174
178
  getWorkbookContext: () => Context;