@rowsncolumns/rnc-engine 0.11.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,9 +9,9 @@
9
9
  * a renderer — see `__tests__/command-handlers.spec.ts`.
10
10
  */
11
11
  import type { CellInterface, Color, Direction, GridRange, SelectionArea, SheetRange, SortOrder } from "@rowsncolumns/common-types";
12
- import type { AXIS, BandedDefinition, BandedRange, BorderLocation, BorderStyle, ColorFilterCriteria, ConditionType, ConditionValue, IconFilterCriteria, EmbeddedChart, EmbeddedObject, FilterView, NamedRange, PivotTable, ProtectedRange, SelectionAttributes, Sheet, Slicer, SpreadsheetTheme, TableTheme, TableView, TextFormatRun } from "@rowsncolumns/spreadsheet";
13
- import type { useSpreadsheetState } from "@rowsncolumns/spreadsheet-state";
14
- import type { Command, CommandOf, CommitResult } from "./index";
12
+ import type { AXIS, BandedDefinition, BandedRange, BorderLocation, BorderStyle, ColorFilterCriteria, ConditionType, ConditionValue, CreateTableOptions, EmbeddedChart, EmbeddedObject, OverlayToAnchor, ZOrderChange, FilterView, IconFilterCriteria, NamedRange, PivotTable, ProtectedRange, SelectionAttributes, Sheet, Slicer, SpreadsheetTheme, TableAutoExpansion, CalculatedColumnFill, TableTheme, TableView, TextFormatRun, BooleanCondition, FilterConditionJoin, CustomTableStyle } from "@rowsncolumns/spreadsheet";
13
+ import { type useSpreadsheetState } from "@rowsncolumns/spreadsheet-state";
14
+ import type { Command, CommandOf, CommandRejection, CommitResult } from "./index";
15
15
  /** The reference hook's return type — used to borrow exact signatures (e.g. `onFillRange`) so the
16
16
  * engine handlers are drop-in for what CanvasGrid passes. Type-only; erased at runtime. */
17
17
  type SS = ReturnType<typeof useSpreadsheetState>;
@@ -56,9 +56,14 @@ export interface EngineSpreadsheetHandlers {
56
56
  onInsertColumn: (sheetId: number, referenceColumnIndex: number, numColumns?: number) => void;
57
57
  onDeleteRow: (sheetId: number, rowIndexes: number[]) => void;
58
58
  onDeleteColumn: (sheetId: number, columnIndexes: number[]) => void;
59
- onMoveRows: (sheetId: number, rows: number[], referenceRowIndex: number) => void;
60
- onMoveColumns: (sheetId: number, columns: number[], referenceColumnIndex: number) => void;
59
+ onMoveRows: (sheetId: number, rows: number[], referenceRowIndex: number, options?: {
60
+ insertBefore?: boolean;
61
+ }) => void;
62
+ onMoveColumns: (sheetId: number, columns: number[], referenceColumnIndex: number, options?: {
63
+ insertBefore?: boolean;
64
+ }) => void;
61
65
  onMoveSelection: (sheetId: number, from: SelectionArea<SelectionAttributes>, to: SelectionArea<SelectionAttributes>) => void;
66
+ onInsertCutCells: (sheetId: number, from: SelectionArea<SelectionAttributes>, to: SelectionArea<SelectionAttributes>) => void;
62
67
  onHideRow: (sheetId: number, rowIndexes: number[]) => void;
63
68
  onShowRow: (sheetId: number, rowIndexes: number[]) => void;
64
69
  onHideColumn: (sheetId: number, columnIndexes: number[]) => void;
@@ -90,23 +95,36 @@ export interface EngineSpreadsheetHandlers {
90
95
  onChangeSheetTabColor: (sheetId: number, color: Color | undefined) => void;
91
96
  onSortColumn: (sheetId: number, sortedColumnIndex: number, sortOrder: SortOrder) => void;
92
97
  onSortRange: (sheetId: number, selections: Selections, sortOrder: SortOrder) => void;
93
- onSortTable: (sheetId: number, filter: TableView | FilterView, dimensionIndex: number, sortOrder: SortOrder) => void;
98
+ onSortTable: SS["onSortTable"];
94
99
  onFilterTable: (sheetId: number, filter: TableView | FilterView, columnIndex: number, conditionType: ConditionType | undefined, conditionValue: ConditionValue[] | undefined, visibleValues: string[] | undefined | null,
95
100
  /** Color / icon criteria — same extras contract as `createFilterSpecs` (absent = carry
96
101
  * forward, `null` = clear). The filter-box passes these on every submit. */
97
102
  extras?: {
98
103
  colorFilter?: ColorFilterCriteria | null;
99
104
  iconFilter?: IconFilterCriteria | null;
105
+ condition2?: BooleanCondition | null;
106
+ conditionJoin?: FilterConditionJoin | null;
100
107
  }) => void;
101
- onDeleteFilter: (sheetId: number, filter: TableView | FilterView, columnIndex: number) => void;
108
+ /**
109
+ * With `columnIndex` (filter-relative, like `onFilterTable`'s) clears only
110
+ * that column's criteria — Excel's "Clear Filter From <column>", what the
111
+ * legacy `onDeleteFilter` does; without it removes the whole filter.
112
+ */
113
+ onDeleteFilter: (sheetId: number, filter: TableView | FilterView, columnIndex?: number) => void;
102
114
  onCreateBasicFilter: (sheetId: number, activeCell: CellInterface, selections: Selections, basicFilterSpec?: Partial<FilterView>) => void;
103
- onCreateTable: (sheetId: number, activeCell: CellInterface, selections: Selections, tableSpec?: Partial<TableView>, theme?: TableTheme, bandedRange?: BandedDefinition) => void;
115
+ onCreateTable: (sheetId: number, activeCell: CellInterface, selections: Selections, tableSpec?: Partial<TableView>, theme?: TableTheme, bandedRange?: BandedDefinition, options?: CreateTableOptions) => void;
104
116
  onRemoveTable: (tableView: TableView) => void;
105
117
  onUpdateTable: (sheetId: number, tableId: TableView["id"], updatedTable: Partial<TableView>) => void;
106
118
  onResizeTable: (sheetId: number, table: TableView, range: GridRange) => void;
119
+ /** The AutoCorrect smart tag's "Undo Table AutoExpansion": resize back + clear the growth's writes. */
120
+ onUndoTableAutoExpansion: (expansion: TableAutoExpansion) => void;
121
+ /** The AutoCorrect smart tag's "Undo Calculated Column": restore the cells the fill overwrote, drop the column formula. */
122
+ onUndoCalculatedColumn: (fill: CalculatedColumnFill) => void;
123
+ /** The AutoCorrect smart tag's "Overwrite all cells in this column with this formula". */
124
+ onOverwriteCalculatedColumn: (fill: CalculatedColumnFill) => void;
107
125
  onInsertTableRow: (tableView: TableView, relativeRowIndex?: number, rowData?: CommandOf<"insert-table-row">["rowData"]) => void;
108
126
  onDeleteTableRow: (tableView: TableView, rowIndexes: number[]) => void;
109
- onInsertTableColumn: (tableView: TableView, dimensionIndex: number, direction: CommandOf<"insert-table-column">["direction"]) => void;
127
+ onInsertTableColumn: (tableView: TableView, dimensionIndex: number, direction: CommandOf<"insert-table-column">["direction"], count?: number) => void;
110
128
  onDeleteTableColumn: (tableView: TableView, dimensionIndex: number) => void;
111
129
  onMoveTableColumns: (sheetId: number, tableId: TableView["id"], columns: number[], referenceColumnIndex: number) => void;
112
130
  onChangeTableColumn: (sheetId: number, tableId: TableView["id"], columnIndex: number, name: string) => void;
@@ -135,22 +153,26 @@ export interface EngineSpreadsheetHandlers {
135
153
  onDeleteDataValidationRule: SS["onDeleteDataValidationRule"];
136
154
  onAddBandedRange: (sheetId: number, bandedRange: BandedRange) => void;
137
155
  onRemoveBandedRange: (sheetId: number, bandedRange: BandedRange) => void;
156
+ /** Excel's New Table Style — stores a workbook-level custom table style (#668 T-103). */
157
+ onCreateCustomTableStyle: (style: CustomTableStyle) => void;
138
158
  onProtectRange: (sheetId: number, activeCell: CellInterface, selections: Selections | undefined) => void;
139
159
  onUnProtectRange: (sheetId: number, protectedRangeId: ProtectedRange["protectedRangeId"]) => void;
140
160
  onProtectSheet: (sheetId: number) => void;
141
161
  onUnProtectSheet: (sheetId: number) => void;
142
162
  onCreateEmbed: (spec: EmbeddedObject) => void;
143
163
  onUpdateEmbed: (embed: EmbeddedObject) => void;
144
- onMoveEmbed: (embedId: EmbeddedObject["embedId"], sheetId: number, anchorCell: CellInterface, offsetXPixels: number, offsetYPixels: number) => void;
145
- onResizeEmbed: (embedId: EmbeddedObject["embedId"], sheetId: number, anchorCell: CellInterface, offsetXPixels: number, offsetYPixels: number, width: number, height: number) => void;
164
+ onMoveEmbed: (embedId: EmbeddedObject["embedId"], sheetId: number, anchorCell: CellInterface, offsetXPixels: number, offsetYPixels: number, toAnchor?: OverlayToAnchor) => void;
165
+ onResizeEmbed: (embedId: EmbeddedObject["embedId"], sheetId: number, anchorCell: CellInterface, offsetXPixels: number, offsetYPixels: number, width: number, height: number, toAnchor?: OverlayToAnchor) => void;
146
166
  onDeleteEmbed: (embedId: EmbeddedObject["embedId"]) => void;
147
167
  onCreateSlicer: (slicer: Slicer) => void;
148
168
  onUpdateSlicer: (slicer: Slicer) => void;
149
- onMoveSlicer: (slicerId: Slicer["slicerId"], sheetId: number, anchorCell: CellInterface, offsetXPixels: number, offsetYPixels: number) => void;
150
- onResizeSlicer: (slicerId: Slicer["slicerId"], sheetId: number, anchorCell: CellInterface, offsetXPixels: number, offsetYPixels: number, width: number, height: number) => void;
169
+ onMoveSlicer: (slicerId: Slicer["slicerId"], sheetId: number, anchorCell: CellInterface, offsetXPixels: number, offsetYPixels: number, toAnchor?: OverlayToAnchor) => void;
170
+ onResizeSlicer: (slicerId: Slicer["slicerId"], sheetId: number, anchorCell: CellInterface, offsetXPixels: number, offsetYPixels: number, width: number, height: number, toAnchor?: OverlayToAnchor) => void;
151
171
  onDeleteSlicer: (slicerId: Slicer["slicerId"]) => void;
152
172
  onCreateChart: (spec: EmbeddedChart) => void;
153
173
  onUpdateChart: (chart: EmbeddedChart) => void;
174
+ /** Excel's Arrange menu — the planned z-order rewrites, ONE undo step (a `batch`). */
175
+ onChangeZOrder: (changes: ZOrderChange[]) => void;
154
176
  onDeleteChart: (chartId: EmbeddedChart["chartId"]) => void;
155
177
  onCreatePivotTable: (pivotTable: PivotTable) => void;
156
178
  onUpdatePivotTable: (pivotId: PivotTable["pivotId"], pivotTable: PivotTable) => void;
@@ -188,7 +210,29 @@ export type CreateCommandHandlersOptions = {
188
210
  * A getter (not a value) so a changed prop never rebuilds the handler surface.
189
211
  */
190
212
  getCustomAutofillLists?: () => string[][] | undefined;
213
+ /**
214
+ * Read the host's `autoExpandTables` option at emit time. `false` rides every value-writing
215
+ * command (`set-value`, `change-batch`, `fill`) as `autoExpandTables: false`, so the engine never
216
+ * grows a table over the written cells; `true` / `undefined` (the default) adds nothing.
217
+ */
218
+ getAutoExpandTables?: () => boolean | undefined;
219
+ /**
220
+ * Read the host's `autoCalculatedColumns` option at emit time. `false` rides `set-value` /
221
+ * `change-batch` / `fill` as `autoCalculatedColumns: false`, so the engine never fills a table
222
+ * column from a typed formula; `true` / `undefined` (the default) adds nothing.
223
+ */
224
+ getAutoCalculatedColumns?: () => boolean | undefined;
191
225
  };
226
+ /**
227
+ * The error dialog `useEngineCore.onCommand` opens for a refusal — the same `useShowError` dialog
228
+ * the legacy engine's hooks open for it, and its ONLY surfacing: `createCommandHandlers` keeps its
229
+ * `error()` channel for the rest. `null` for a refusal that has no dialog (a fill over unequal
230
+ * merged blocks, which the legacy fill hook also reports through `error()`).
231
+ */
232
+ export declare const rejectionDialog: (rejection: CommandRejection) => {
233
+ title?: string;
234
+ message: string;
235
+ } | null;
192
236
  export declare function createCommandHandlers(sink: (command: Command) => CommitResult | undefined | void, options?: CreateCommandHandlersOptions): EngineSpreadsheetHandlers;
193
237
  export {};
194
238
  //# sourceMappingURL=command-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-handlers.d.ts","sourceRoot":"","sources":["../../src/command-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-handlers.d.ts","sourceRoot":"","sources":["../../src/command-handlers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { STRUCTURAL_REFUSAL_MESSAGES, STRUCTURAL_REFUSAL_TITLE, } from "@rowsncolumns/spreadsheet-state";
1
2
  import { error } from "@rowsncolumns/utils";
2
3
  /** Two-digit zero-pad for the ISO date/time literals below. */
3
4
  const pad2 = (n) => String(n).padStart(2, "0");
@@ -31,21 +32,65 @@ const normalizeFormatPatch = (cellFormat) => {
31
32
  const isoDate = (d) => `${d.getFullYear()}-${pad2(d.getMonth() + 1)}-${pad2(d.getDate())}`;
32
33
  /** Local wall-clock as `HH:MM:SS` — the engine infers it as a time. */
33
34
  const isoTime = (d) => `${pad2(d.getHours())}:${pad2(d.getMinutes())}:${pad2(d.getSeconds())}`;
35
+ /**
36
+ * The error dialog `useEngineCore.onCommand` opens for a refusal — the same `useShowError` dialog
37
+ * the legacy engine's hooks open for it, and its ONLY surfacing: `createCommandHandlers` keeps its
38
+ * `error()` channel for the rest. `null` for a refusal that has no dialog (a fill over unequal
39
+ * merged blocks, which the legacy fill hook also reports through `error()`).
40
+ */
41
+ export const rejectionDialog = (rejection) => {
42
+ // Excel's structural refusals (rowsncolumns/spreadsheet#647): the codes the legacy engine's
43
+ // `constants.ts` defines, shown under Excel's dialog title.
44
+ if (rejection.code in STRUCTURAL_REFUSAL_MESSAGES) {
45
+ return { title: STRUCTURAL_REFUSAL_TITLE, message: rejection.message };
46
+ }
47
+ switch (rejection.code) {
48
+ // A refused move / cut + paste ("We can't do that to a merged cell.") — the legacy engine's
49
+ // move / paste hooks open the shared error dialog for it.
50
+ case "merged-cell-move":
51
+ return { message: rejection.message };
52
+ // A table create / rename with a name Excel would refuse (or another table / defined name
53
+ // already holds), or a defined name spelled like a table — the legacy engine's `useOnTable` /
54
+ // named-range hooks show the same text under "Error".
55
+ case "invalid-table-name":
56
+ case "invalid-defined-name":
57
+ case "duplicate-table-id":
58
+ return { title: "Error", message: rejection.message };
59
+ default:
60
+ return null;
61
+ }
62
+ };
34
63
  export function createCommandHandlers(sink, options = {}) {
35
64
  const customLists = () => options.getCustomAutofillLists?.();
65
+ const expansionFlag = () => ({
66
+ ...(options.getAutoExpandTables?.() === false ? { autoExpandTables: false } : {}),
67
+ ...(options.getAutoCalculatedColumns?.() === false ? { autoCalculatedColumns: false } : {}),
68
+ });
36
69
  const onCommand = (command) => {
37
70
  const commit = sink(command) ?? undefined;
38
71
  // The engine wrote nothing for a refused command; show the user Excel's message (the legacy
39
- // engine reports its `MergedFillSizeError` through this same `error()` channel).
72
+ // engine reports its `MergedFillSizeError` through this same `error()` channel) — unless the
73
+ // sink (`useEngineCore.onCommand`) already showed it as a dialog: one refusal, one surfacing.
40
74
  for (const rejection of commit?.rejections ?? []) {
41
- error(rejection.message);
75
+ if (!rejectionDialog(rejection)) {
76
+ error(rejection.message);
77
+ }
42
78
  }
43
79
  return commit;
44
80
  };
45
81
  return {
46
82
  // Cell values
47
- onChange: (sheetId, coords, value, textFormatRuns) => onCommand({ command: "set-value", sheetId, coords, value, textFormatRuns }),
48
- onChangeBatch: (sheetId, ranges, values, formatting, citations, options) => onCommand({ command: "change-batch", sheetId, ranges, values, formatting, citations, options }),
83
+ onChange: (sheetId, coords, value, textFormatRuns) => onCommand({ command: "set-value", sheetId, coords, value, textFormatRuns, ...expansionFlag() }),
84
+ onChangeBatch: (sheetId, ranges, values, formatting, citations, options) => onCommand({
85
+ command: "change-batch",
86
+ sheetId,
87
+ ranges,
88
+ values,
89
+ formatting,
90
+ citations,
91
+ options,
92
+ ...expansionFlag(),
93
+ }),
49
94
  onDelete: (sheetId, activeCell, selections, clearType) => onCommand({ command: "delete-cells", sheetId, activeCell, selections, clearType }),
50
95
  // `SS["onFill"]` is async (returns `Promise<void>`); the command is emitted synchronously.
51
96
  // `options` carries the fill handle's Ctrl/Cmd toggle (`modifier`) and the Series dialog's
@@ -62,6 +107,7 @@ export function createCommandHandlers(sink, options = {}) {
62
107
  modifier: options?.modifier,
63
108
  series: options?.series,
64
109
  customLists: customLists(),
110
+ ...expansionFlag(),
65
111
  });
66
112
  },
67
113
  // Range fill (CanvasGrid's Cmd+D / Cmd+R shortcuts, plus UP/LEFT for callers that send them).
@@ -113,6 +159,8 @@ export function createCommandHandlers(sink, options = {}) {
113
159
  fillableSelections: selections,
114
160
  fillType: "FillCopy",
115
161
  customLists: customLists(),
162
+ ...expansionFlag(),
163
+ ...expansionFlag(),
116
164
  });
117
165
  }
118
166
  else if (dir === "UP") {
@@ -139,6 +187,8 @@ export function createCommandHandlers(sink, options = {}) {
139
187
  fillableSelections: fillSelections,
140
188
  fillType: "FillCopy",
141
189
  customLists: customLists(),
190
+ ...expansionFlag(),
191
+ ...expansionFlag(),
142
192
  });
143
193
  }
144
194
  else if (dir === "RIGHT") {
@@ -170,6 +220,8 @@ export function createCommandHandlers(sink, options = {}) {
170
220
  fillableSelections: fillSelections,
171
221
  fillType: "FillCopy",
172
222
  customLists: customLists(),
223
+ ...expansionFlag(),
224
+ ...expansionFlag(),
173
225
  });
174
226
  }
175
227
  else if (dir === "LEFT") {
@@ -199,6 +251,8 @@ export function createCommandHandlers(sink, options = {}) {
199
251
  fillableSelections: fillSelections,
200
252
  fillType: "FillCopy",
201
253
  customLists: customLists(),
254
+ ...expansionFlag(),
255
+ ...expansionFlag(),
202
256
  });
203
257
  }
204
258
  },
@@ -290,9 +344,28 @@ export function createCommandHandlers(sink, options = {}) {
290
344
  onInsertColumn: (sheetId, referenceColumnIndex, numColumns) => onCommand({ command: "insert-column", sheetId, referenceColumnIndex, numColumns }),
291
345
  onDeleteRow: (sheetId, rowIndexes) => onCommand({ command: "delete-row", sheetId, rowIndexes }),
292
346
  onDeleteColumn: (sheetId, columnIndexes) => onCommand({ command: "delete-column", sheetId, columnIndexes }),
293
- onMoveRows: (sheetId, rows, referenceRowIndex) => onCommand({ command: "move-rows", sheetId, rows, referenceRowIndex }),
294
- onMoveColumns: (sheetId, columns, referenceColumnIndex) => onCommand({ command: "move-columns", sheetId, columns, referenceColumnIndex }),
347
+ onMoveRows: (sheetId, rows, referenceRowIndex, options) => onCommand({
348
+ command: "move-rows",
349
+ sheetId,
350
+ rows,
351
+ referenceRowIndex,
352
+ insertBefore: options?.insertBefore,
353
+ }),
354
+ onMoveColumns: (sheetId, columns, referenceColumnIndex, options) => onCommand({
355
+ command: "move-columns",
356
+ sheetId,
357
+ columns,
358
+ referenceColumnIndex,
359
+ insertBefore: options?.insertBefore,
360
+ }),
295
361
  onMoveSelection: (sheetId, from, to) => onCommand({ command: "move-range", sheetId, from: from.range, to: to.range }),
362
+ onInsertCutCells: (sheetId, from, to) => onCommand({
363
+ command: "move-range",
364
+ sheetId,
365
+ from: from.range,
366
+ to: to.range,
367
+ insert: true,
368
+ }),
296
369
  onHideRow: (sheetId, rowIndexes) => onCommand({ command: "hide-row", sheetId, rowIndexes }),
297
370
  onShowRow: (sheetId, rowIndexes) => onCommand({ command: "show-row", sheetId, rowIndexes }),
298
371
  onHideColumn: (sheetId, columnIndexes) => onCommand({ command: "hide-column", sheetId, columnIndexes }),
@@ -334,7 +407,33 @@ export function createCommandHandlers(sink, options = {}) {
334
407
  // Sort & Filter
335
408
  onSortColumn: (sheetId, sortedColumnIndex, sortOrder) => onCommand({ command: "sort-column", sheetId, sortedColumnIndex, sortOrder }),
336
409
  onSortRange: (sheetId, selections, sortOrder) => onCommand({ command: "sort-range", sheetId, selections, sortOrder }),
337
- onSortTable: (sheetId, filter, dimensionIndex, sortOrder) => onCommand({ command: "sort-table", sheetId, filter, dimensionIndex, sortOrder }),
410
+ onSortTable: ((sheetId, filter, dimensionIndexOrSpecs, sortOrder, options) => {
411
+ // Normalize both call forms into one ordered level list (primary first) — the same shape the
412
+ // legacy hook persists as `table.sortSpecs`. The engine sorts by every level and persists them.
413
+ const sortSpecs = Array.isArray(dimensionIndexOrSpecs)
414
+ ? dimensionIndexOrSpecs
415
+ : [
416
+ {
417
+ dimensionIndex: dimensionIndexOrSpecs,
418
+ sortOrder: sortOrder ?? "ASCENDING",
419
+ ...(options?.sortBy ? { sortBy: options.sortBy } : {}),
420
+ ...(options?.sortColor ? { sortColor: options.sortColor } : {}),
421
+ ...(options?.sortIcon ? { sortIcon: options.sortIcon } : {}),
422
+ ...(options?.customList ? { customList: options.customList } : {}),
423
+ },
424
+ ];
425
+ const primary = sortSpecs[0];
426
+ if (!primary)
427
+ return;
428
+ onCommand({
429
+ command: "sort-table",
430
+ sheetId,
431
+ filter,
432
+ dimensionIndex: primary.dimensionIndex,
433
+ sortOrder: primary.sortOrder,
434
+ sortSpecs,
435
+ });
436
+ }),
338
437
  onFilterTable: (sheetId, filter, columnIndex, conditionType, conditionValue, visibleValues, extras) => onCommand({
339
438
  command: "filter-table",
340
439
  sheetId,
@@ -347,17 +446,50 @@ export function createCommandHandlers(sink, options = {}) {
347
446
  // `null` survives as the explicit clear marker. Mirrors `createFilterSpecs` extras.
348
447
  colorFilter: extras?.colorFilter,
349
448
  iconFilter: extras?.iconFilter,
449
+ condition2: extras?.condition2,
450
+ conditionJoin: extras?.conditionJoin,
451
+ }),
452
+ onDeleteFilter: (sheetId, filter, columnIndex) => onCommand({
453
+ command: "delete-filter",
454
+ sheetId,
455
+ filter,
456
+ // An `undefined` key drops out of the JSON command → whole-filter clear.
457
+ ...(columnIndex === undefined ? {} : { columnIndex }),
350
458
  }),
351
- onDeleteFilter: (sheetId, filter, columnIndex) => onCommand({ command: "delete-filter", sheetId, filter, columnIndex }),
352
459
  onCreateBasicFilter: (sheetId, activeCell, selections, basicFilterSpec) => onCommand({ command: "create-basic-filter", sheetId, activeCell, selections, basicFilterSpec }),
353
460
  // Tables
354
- onCreateTable: (sheetId, activeCell, selections, tableSpec, theme, bandedRange) => onCommand({ command: "create-table", sheetId, activeCell, selections, tableSpec, theme, bandedRange }),
461
+ onCreateTable: (sheetId, activeCell, selections, tableSpec, theme, bandedRange, options) => onCommand({
462
+ command: "create-table",
463
+ sheetId,
464
+ activeCell,
465
+ selections,
466
+ tableSpec,
467
+ theme,
468
+ bandedRange,
469
+ hasHeaders: options?.hasHeaders,
470
+ }),
355
471
  onRemoveTable: (tableView) => onCommand({ command: "remove-table", tableView }),
356
472
  onUpdateTable: (sheetId, tableId, updatedTable) => onCommand({ command: "update-table", sheetId, tableId, updatedTable }),
357
473
  onResizeTable: (sheetId, table, range) => onCommand({ command: "resize-table", sheetId, table, range }),
474
+ onUndoTableAutoExpansion: ({ sheetId, tableId, previousRange, writes }) => onCommand({
475
+ command: "undo-table-auto-expansion",
476
+ sheetId,
477
+ tableId,
478
+ previousRange,
479
+ writes,
480
+ }),
481
+ onUndoCalculatedColumn: ({ sheetId, tableId, columnIndex, previous }) => onCommand({ command: "undo-calculated-column", sheetId, tableId, columnIndex, previous }),
482
+ onOverwriteCalculatedColumn: ({ sheetId, tableId, columnIndex, formula, anchor }) => onCommand({
483
+ command: "calculated-column",
484
+ sheetId,
485
+ tableId,
486
+ columnIndex,
487
+ formula,
488
+ fromRowIndex: anchor.rowIndex,
489
+ }),
358
490
  onInsertTableRow: (tableView, relativeRowIndex, rowData) => onCommand({ command: "insert-table-row", tableView, relativeRowIndex, rowData }),
359
491
  onDeleteTableRow: (tableView, rowIndexes) => onCommand({ command: "delete-table-row", tableView, rowIndexes }),
360
- onInsertTableColumn: (tableView, dimensionIndex, direction) => onCommand({ command: "insert-table-column", tableView, dimensionIndex, direction }),
492
+ onInsertTableColumn: (tableView, dimensionIndex, direction, count) => onCommand({ command: "insert-table-column", tableView, dimensionIndex, direction, count }),
361
493
  onDeleteTableColumn: (tableView, dimensionIndex) => onCommand({ command: "delete-table-column", tableView, dimensionIndex }),
362
494
  onMoveTableColumns: (sheetId, tableId, columns, referenceColumnIndex) => onCommand({ command: "move-table-columns", sheetId, tableId, columns, referenceColumnIndex }),
363
495
  onChangeTableColumn: (sheetId, tableId, columnIndex, name) => onCommand({ command: "change-table-column", sheetId, tableId, columnIndex, name }),
@@ -411,6 +543,7 @@ export function createCommandHandlers(sink, options = {}) {
411
543
  // Banded Ranges
412
544
  onAddBandedRange: (sheetId, bandedRange) => onCommand({ command: "add-banded-range", sheetId, bandedRange }),
413
545
  onRemoveBandedRange: (sheetId, bandedRange) => onCommand({ command: "remove-banded-range", sheetId, bandedRange }),
546
+ onCreateCustomTableStyle: (style) => onCommand({ command: "create-table-style", style }),
414
547
  // Protected Ranges
415
548
  onProtectRange: (sheetId, activeCell, selections) => onCommand({ command: "protect-range", sheetId, activeCell, selections }),
416
549
  onUnProtectRange: (sheetId, protectedRangeId) => onCommand({ command: "unprotect-range", sheetId, protectedRangeId }),
@@ -419,18 +552,24 @@ export function createCommandHandlers(sink, options = {}) {
419
552
  // Embeds
420
553
  onCreateEmbed: (spec) => onCommand({ command: "create-embed", spec }),
421
554
  onUpdateEmbed: (embed) => onCommand({ command: "update-embed", embed }),
422
- onMoveEmbed: (embedId, sheetId, anchorCell, offsetXPixels, offsetYPixels) => onCommand({ command: "move-embed", embedId, sheetId, anchorCell, offsetXPixels, offsetYPixels }),
423
- onResizeEmbed: (embedId, sheetId, anchorCell, offsetXPixels, offsetYPixels, width, height) => onCommand({ command: "resize-embed", embedId, sheetId, anchorCell, offsetXPixels, offsetYPixels, width, height }),
555
+ onMoveEmbed: (embedId, sheetId, anchorCell, offsetXPixels, offsetYPixels, toAnchor) => onCommand({ command: "move-embed", embedId, sheetId, anchorCell, offsetXPixels, offsetYPixels, ...toAnchor }),
556
+ onResizeEmbed: (embedId, sheetId, anchorCell, offsetXPixels, offsetYPixels, width, height, toAnchor) => onCommand({ command: "resize-embed", embedId, sheetId, anchorCell, offsetXPixels, offsetYPixels, width, height, ...toAnchor }),
424
557
  onDeleteEmbed: (embedId) => onCommand({ command: "delete-embed", embedId }),
425
558
  // Slicers
426
559
  onCreateSlicer: (slicer) => onCommand({ command: "create-slicer", slicer }),
427
560
  onUpdateSlicer: (slicer) => onCommand({ command: "update-slicer", slicer }),
428
- onMoveSlicer: (slicerId, sheetId, anchorCell, offsetXPixels, offsetYPixels) => onCommand({ command: "move-slicer", slicerId, sheetId, anchorCell, offsetXPixels, offsetYPixels }),
429
- onResizeSlicer: (slicerId, sheetId, anchorCell, offsetXPixels, offsetYPixels, width, height) => onCommand({ command: "resize-slicer", slicerId, sheetId, anchorCell, offsetXPixels, offsetYPixels, width, height }),
561
+ onMoveSlicer: (slicerId, sheetId, anchorCell, offsetXPixels, offsetYPixels, toAnchor) => onCommand({ command: "move-slicer", slicerId, sheetId, anchorCell, offsetXPixels, offsetYPixels, ...toAnchor }),
562
+ onResizeSlicer: (slicerId, sheetId, anchorCell, offsetXPixels, offsetYPixels, width, height, toAnchor) => onCommand({ command: "resize-slicer", slicerId, sheetId, anchorCell, offsetXPixels, offsetYPixels, width, height, ...toAnchor }),
430
563
  onDeleteSlicer: (slicerId) => onCommand({ command: "delete-slicer", slicerId }),
431
564
  // Charts (onMoveChart / onResizeChart are hook-exposed — they read the active sheet from view state)
432
565
  onCreateChart: (spec) => onCommand({ command: "create-chart", spec }),
433
566
  onUpdateChart: (chart) => onCommand({ command: "update-chart", chart }),
567
+ onChangeZOrder: (changes) => onCommand({
568
+ command: "batch",
569
+ commands: changes.map((change) => change.kind === "chart"
570
+ ? { command: "update-chart", chart: change.chart }
571
+ : { command: "update-embed", embed: change.embed }),
572
+ }),
434
573
  onDeleteChart: (chartId) => onCommand({ command: "delete-chart", chartId }),
435
574
  // Pivot tables
436
575
  onCreatePivotTable: (pivotTable) => onCommand({ command: "create-pivot-table", pivotTable }),
@@ -1 +1 @@
1
- {"version":3,"file":"fold.d.ts","sourceRoot":"","sources":["../../src/fold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fold.d.ts","sourceRoot":"","sources":["../../src/fold.ts"],"names":[],"mappings":"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"}
package/dist/esm/fold.js CHANGED
@@ -214,6 +214,9 @@ export function reconcileSheets(prev, engineSheets) {
214
214
  zoomScale: es.zoomScale,
215
215
  rightToLeft: es.rightToLeft,
216
216
  defaultRowHeight: es.defaultRowHeight,
217
+ defaultColumnWidth: es.defaultColumnWidth,
218
+ type: es.type,
219
+ chartId: es.chartId,
217
220
  };
218
221
  // Detect churn: order changed, a new sheet, or an identity/view facet changed on a survivor.
219
222
  if (!existing ||
@@ -226,7 +229,10 @@ export function reconcileSheets(prev, engineSheets) {
226
229
  existing.showZeros !== es.showZeros ||
227
230
  existing.zoomScale !== es.zoomScale ||
228
231
  existing.rightToLeft !== es.rightToLeft ||
229
- existing.defaultRowHeight !== es.defaultRowHeight) {
232
+ existing.defaultRowHeight !== es.defaultRowHeight ||
233
+ existing.defaultColumnWidth !== es.defaultColumnWidth ||
234
+ existing.type !== es.type ||
235
+ existing.chartId !== es.chartId) {
230
236
  changed = true;
231
237
  return merged;
232
238
  }
@@ -14,7 +14,7 @@
14
14
  * (nightly Rust — the `--features collab` engine pulls yrs 0.27).
15
15
  */
16
16
  import type { CellData, CellFormat, CellInterface, Citation, DataValidationRule, ExtendedValue, SheetCoordinate, SheetRange } from "@rowsncolumns/common-types";
17
- import type { BandedRange, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, EmbeddedObject, FilterView, NamedRange, PivotTable, ProtectedRange, Sheet, Slicer, TableView } from "@rowsncolumns/spreadsheet";
17
+ import type { BandedRange, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, EmbeddedObject, FilterView, NamedRange, PivotTable, ProtectedRange, Sheet, CalculatedColumnFill, Slicer, TableAutoExpansion, TableView, CustomTableStyle } from "@rowsncolumns/spreadsheet";
18
18
  import type { Command, CommandOf, CommandType } from "@rowsncolumns/spreadsheet-state";
19
19
  import { CollabSpreadsheetEngine } from "./wasm/rnc_wasm.js";
20
20
  export type { Command, CommandOf, CommandType };
@@ -157,6 +157,16 @@ export interface CommitResult {
157
157
  * sized."). `createCommandHandlers` surfaces each `message` the way the legacy engine's fill hook
158
158
  * does; hosts that want a toast read it here. Absent when the command executed. */
159
159
  rejections?: CommandRejection[];
160
+ /** A table this value-writing command grew over the written cells (Excel's auto-expansion) — the
161
+ * record behind the AutoCorrect smart tag: the table's range before / after, the written cell the
162
+ * tag anchors to, and the cells the growth itself wrote (`writes`), which "Undo Table
163
+ * AutoExpansion" clears with the resize. Absent when no table grew. */
164
+ tableAutoExpansion?: TableAutoExpansion;
165
+ /** A formula this `set-value` / `change-batch` typed into a table column that filled it (Excel's
166
+ * calculated column) or could not because the column holds other cells — the record behind the
167
+ * AutoCorrect smart tag ("Undo Calculated Column" / "Overwrite all cells in this column with this
168
+ * formula"). Absent when no calculated column was involved. */
169
+ calculatedColumnFill?: CalculatedColumnFill;
160
170
  }
161
171
  /** A command the engine refused — mirrors rnc-store `CommandRejection`. `command` is the wire name
162
172
  * (`"fill"`), `code` a stable key to branch on (`"merged-fill-size"`), `message` Excel's own wording. */
@@ -222,6 +232,13 @@ export interface EngineSheet {
222
232
  /** Sheet default row height in px (from the imported `<sheetFormatPr defaultRowHeight>`): what a
223
233
  * row with no `rowMetadata` entry renders at. Absent = renderer default. */
224
234
  defaultRowHeight?: number;
235
+ /** Sheet default column width in px (from the imported `<sheetFormatPr defaultColWidth>`): what a
236
+ * column with no `columnMetadata` entry renders at. Absent = renderer default. */
237
+ defaultColumnWidth?: number;
238
+ /** `"chartsheet"` for an Excel chart sheet (the tab is one chart, no cells). Absent = worksheet. */
239
+ type?: Sheet["type"];
240
+ /** Chartsheets only — the id of the chart that fills the sheet. */
241
+ chartId?: Sheet["chartId"];
225
242
  }
226
243
  /** Initial document to hydrate the engine from (e.g. an API response / saved snapshot). */
227
244
  export interface LoadDocument {
@@ -244,12 +261,29 @@ export interface LoadDocument {
244
261
  charts?: EmbeddedChart[];
245
262
  pivotTables?: PivotTable[];
246
263
  tables?: TableView[];
247
- namedRanges?: NamedRange[];
264
+ /** Either named-range shape loads — the client `NamedRange` or the engine's persisted
265
+ * {@link LoadDocumentNamedRangeDef} (what `importXlsx` on the wasm engine emits) (#668 T-121). */
266
+ namedRanges?: Array<NamedRange | LoadDocumentNamedRangeDef>;
248
267
  embeds?: EmbeddedObject[];
249
268
  slicers?: Slicer[];
250
269
  bandedRanges?: BandedRange[];
270
+ /** Custom table styles (Excel's New Table Style), keyed by name (#668 T-103). */
271
+ customTableStyles?: CustomTableStyle[];
251
272
  citations?: Citation[];
252
273
  }
274
+ /** The engine's persisted named-range definition (rnc-store `NamedRangeDef`, snake_case): the shape
275
+ * `rnc-import` emits in its `LoadDocument` JSON and the store snapshots. `range` is a bare grid range
276
+ * with the sheet beside it; for a value name `sheet_id` is the sheet its unqualified references
277
+ * resolve on. {@link LoadDocument.namedRanges} accepts it alongside the client `NamedRange`. */
278
+ export interface LoadDocumentNamedRangeDef {
279
+ id: string | number;
280
+ name: string;
281
+ sheet_id: number;
282
+ range?: Omit<SheetRange, "sheetId">;
283
+ value?: NamedRange["value"];
284
+ hidden?: boolean;
285
+ scope_sheet_id?: number;
286
+ }
253
287
  /** One stored data-validation rule + the ranges it covers — the hook resolves a cell's rule by
254
288
  * testing membership in `ranges` (`getDataValidation(sheetId,row,col)`). Mirrors rnc-store `DvDef`. */
255
289
  export interface DataValidationEntry {
@@ -274,6 +308,7 @@ export interface DocumentFacets {
274
308
  embeds: EmbeddedObject[];
275
309
  slicers: Slicer[];
276
310
  bandedRanges: BandedRange[];
311
+ customTableStyles: CustomTableStyle[];
277
312
  protectedRanges: ProtectedRange[];
278
313
  basicFilters: Array<{
279
314
  sheetId: number;