@rowsncolumns/spreadsheet-state 28.0.73 → 28.0.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/advanced-filter.d.ts +72 -0
- package/dist/cjs/api/advanced-filter.d.ts.map +1 -0
- package/dist/cjs/api/advanced-filter.js +0 -0
- package/dist/cjs/api/goal-seek.d.ts +29 -0
- package/dist/cjs/api/goal-seek.d.ts.map +1 -0
- package/dist/cjs/api/goal-seek.js +131 -0
- package/dist/cjs/api/immer-utils.d.ts.map +1 -1
- package/dist/cjs/api/immer-utils.js +1 -0
- package/dist/cjs/api/paint-format.d.ts +41 -0
- package/dist/cjs/api/paint-format.d.ts.map +1 -0
- package/dist/cjs/api/paint-format.js +115 -0
- package/dist/cjs/api/split-text.d.ts +12 -0
- package/dist/cjs/api/split-text.d.ts.map +1 -1
- package/dist/cjs/api/split-text.js +41 -0
- package/dist/cjs/api/subtotal.d.ts +85 -0
- package/dist/cjs/api/subtotal.d.ts.map +1 -0
- package/dist/cjs/api/subtotal.js +250 -0
- package/dist/cjs/commands.d.ts +8 -0
- package/dist/cjs/commands.d.ts.map +1 -1
- package/dist/cjs/components/editors/data-validation-rule-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/data-validation-rule-editor.js +83 -16
- package/dist/cjs/hooks/use-calculation-worker.d.ts.map +1 -1
- package/dist/cjs/hooks/use-calculation-worker.js +1 -0
- package/dist/cjs/hooks/use-on-advanced-filter.d.ts +21 -0
- package/dist/cjs/hooks/use-on-advanced-filter.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-advanced-filter.js +42 -0
- package/dist/cjs/hooks/use-on-goal-seek.d.ts +30 -0
- package/dist/cjs/hooks/use-on-goal-seek.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-goal-seek.js +140 -0
- package/dist/cjs/hooks/use-on-import-excel.d.ts +10 -1
- package/dist/cjs/hooks/use-on-import-excel.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-import-excel.js +8 -4
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.js +53 -34
- package/dist/cjs/hooks/use-on-subtotal.d.ts +26 -0
- package/dist/cjs/hooks/use-on-subtotal.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-subtotal.js +53 -0
- package/dist/cjs/hooks/use-paint-format.d.ts +19 -3
- package/dist/cjs/hooks/use-paint-format.d.ts.map +1 -1
- package/dist/cjs/hooks/use-paint-format.js +85 -31
- package/dist/cjs/hooks/use-sheet-properties.d.ts +2 -0
- package/dist/cjs/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/cjs/hooks/use-sheet-properties.js +4 -0
- package/dist/cjs/hooks/use-split-text-to-columns.d.ts +2 -1
- package/dist/cjs/hooks/use-split-text-to-columns.d.ts.map +1 -1
- package/dist/cjs/hooks/use-split-text-to-columns.js +3 -2
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts +50 -36
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +97 -18
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/interface/change-batch-stream.d.ts.map +1 -1
- package/dist/cjs/interface/change-batch-stream.js +12 -6
- package/dist/cjs/interface/change-batch.d.ts.map +1 -1
- package/dist/cjs/interface/change-batch.js +17 -9
- package/dist/cjs/interface/change-formatting.d.ts.map +1 -1
- package/dist/cjs/interface/change-formatting.js +30 -11
- package/dist/cjs/interface/split-text.d.ts +2 -1
- package/dist/cjs/interface/split-text.d.ts.map +1 -1
- package/dist/cjs/interface/split-text.js +7 -3
- package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/cjs/interface/spreadsheet-interface.js +2 -2
- package/dist/cjs/sheet-cell.d.ts.map +1 -1
- package/dist/cjs/sheet-cell.js +7 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/api/advanced-filter.d.ts +72 -0
- package/dist/esm/api/advanced-filter.d.ts.map +1 -0
- package/dist/esm/api/advanced-filter.js +0 -0
- package/dist/esm/api/goal-seek.d.ts +29 -0
- package/dist/esm/api/goal-seek.d.ts.map +1 -0
- package/dist/esm/api/goal-seek.js +108 -0
- package/dist/esm/api/immer-utils.d.ts.map +1 -1
- package/dist/esm/api/immer-utils.js +1 -0
- package/dist/esm/api/paint-format.d.ts +41 -0
- package/dist/esm/api/paint-format.d.ts.map +1 -0
- package/dist/esm/api/paint-format.js +77 -0
- package/dist/esm/api/split-text.d.ts +12 -0
- package/dist/esm/api/split-text.d.ts.map +1 -1
- package/dist/esm/api/split-text.js +28 -0
- package/dist/esm/api/subtotal.d.ts +85 -0
- package/dist/esm/api/subtotal.d.ts.map +1 -0
- package/dist/esm/api/subtotal.js +181 -0
- package/dist/esm/commands.d.ts +8 -0
- package/dist/esm/commands.d.ts.map +1 -1
- package/dist/esm/components/editors/data-validation-rule-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/data-validation-rule-editor.js +52 -4
- package/dist/esm/hooks/use-calculation-worker.d.ts.map +1 -1
- package/dist/esm/hooks/use-calculation-worker.js +1 -0
- package/dist/esm/hooks/use-on-advanced-filter.d.ts +21 -0
- package/dist/esm/hooks/use-on-advanced-filter.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-advanced-filter.js +41 -0
- package/dist/esm/hooks/use-on-goal-seek.d.ts +30 -0
- package/dist/esm/hooks/use-on-goal-seek.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-goal-seek.js +82 -0
- package/dist/esm/hooks/use-on-import-excel.d.ts +10 -1
- package/dist/esm/hooks/use-on-import-excel.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-import-excel.js +8 -4
- package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-merge-unmerge-cells.js +13 -13
- package/dist/esm/hooks/use-on-subtotal.d.ts +26 -0
- package/dist/esm/hooks/use-on-subtotal.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-subtotal.js +48 -0
- package/dist/esm/hooks/use-paint-format.d.ts +19 -3
- package/dist/esm/hooks/use-paint-format.d.ts.map +1 -1
- package/dist/esm/hooks/use-paint-format.js +71 -29
- package/dist/esm/hooks/use-sheet-properties.d.ts +2 -0
- package/dist/esm/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/esm/hooks/use-sheet-properties.js +4 -0
- package/dist/esm/hooks/use-split-text-to-columns.d.ts +2 -1
- package/dist/esm/hooks/use-split-text-to-columns.d.ts.map +1 -1
- package/dist/esm/hooks/use-split-text-to-columns.js +3 -2
- package/dist/esm/hooks/use-spreadsheet-state.d.ts +50 -36
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +88 -16
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +8 -0
- package/dist/esm/interface/change-batch-stream.d.ts.map +1 -1
- package/dist/esm/interface/change-batch-stream.js +12 -6
- package/dist/esm/interface/change-batch.d.ts.map +1 -1
- package/dist/esm/interface/change-batch.js +15 -9
- package/dist/esm/interface/change-formatting.d.ts.map +1 -1
- package/dist/esm/interface/change-formatting.js +28 -11
- package/dist/esm/interface/split-text.d.ts +2 -1
- package/dist/esm/interface/split-text.d.ts.map +1 -1
- package/dist/esm/interface/split-text.js +6 -3
- package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/esm/interface/spreadsheet-interface.js +2 -2
- package/dist/esm/sheet-cell.d.ts.map +1 -1
- package/dist/esm/sheet-cell.js +7 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +18 -18
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CellInterface, SelectionArea } from "@rowsncolumns/common-types";
|
|
2
|
-
import type { SelectionAttributes, SheetRange } from "@rowsncolumns/spreadsheet";
|
|
1
|
+
import type { CellInterface, GridRange, SelectionArea } from "@rowsncolumns/common-types";
|
|
2
|
+
import type { CellFormat, SelectionAttributes, SheetRange } from "@rowsncolumns/spreadsheet";
|
|
3
3
|
import type { useOnChangeFormatting } from "./use-on-change-formatting";
|
|
4
4
|
import type { useSheetProperties } from "./use-sheet-properties";
|
|
5
5
|
import type { useSheetState } from "./use-sheet-state";
|
|
@@ -7,8 +7,24 @@ export type UsePaintFormatProps = {
|
|
|
7
7
|
onChangeSelections: ReturnType<typeof useSheetState>["onChangeSelections"];
|
|
8
8
|
onChangeFormatting: ReturnType<typeof useOnChangeFormatting>["onChangeFormatting"];
|
|
9
9
|
getEffectiveFormat: ReturnType<typeof useSheetProperties>["getEffectiveFormat"];
|
|
10
|
+
/**
|
|
11
|
+
* The merges of a sheet (absolute ranges). When provided, the painter carries the merges that
|
|
12
|
+
* lie fully inside the source block and tiles them onto the target (Sheets / Excel parity).
|
|
13
|
+
*/
|
|
14
|
+
getMerges?: (sheetId: number) => GridRange[] | null | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Replace the merges inside `targetRange` with `merges` (already tiled, absolute). The
|
|
17
|
+
* spreadsheet-state wiring unmerges the target then merges each range in one step.
|
|
18
|
+
*/
|
|
19
|
+
onPaintMerges?: (sheetId: number, activeCell: CellInterface, targetRange: GridRange, merges: GridRange[]) => void;
|
|
20
|
+
/**
|
|
21
|
+
* The table-banding / alternating-colour formats the grid paints on a sheet (keyed by
|
|
22
|
+
* `cellIdentifier`). When provided, the captured pattern carries the visible stripe colours as
|
|
23
|
+
* static fills, like Sheets.
|
|
24
|
+
*/
|
|
25
|
+
getBandedCells?: (sheetId: number) => Map<string, CellFormat> | undefined;
|
|
10
26
|
};
|
|
11
|
-
export declare const usePaintFormat: ({ getEffectiveFormat, onChangeFormatting, onChangeSelections, }: UsePaintFormatProps) => {
|
|
27
|
+
export declare const usePaintFormat: ({ getEffectiveFormat, onChangeFormatting, onChangeSelections, getMerges, onPaintMerges, getBandedCells, }: UsePaintFormatProps) => {
|
|
12
28
|
isPaintFormatActive: boolean;
|
|
13
29
|
onSavePaintFormat: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
14
30
|
onApplyPaintFormat: (sheetId: number, activeCell: CellInterface, selections?: SelectionArea<SelectionAttributes>[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-paint-format.d.ts","sourceRoot":"","sources":["../../../hooks/use-paint-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"use-paint-format.d.ts","sourceRoot":"","sources":["../../../hooks/use-paint-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,UAAU,EACX,MAAM,2BAA2B,CAAC;AAUnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,kBAAkB,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC3E,kBAAkB,EAAE,UAAU,CAC5B,OAAO,qBAAqB,CAC7B,CAAC,oBAAoB,CAAC,CAAC;IACxB,kBAAkB,EAAE,UAAU,CAC5B,OAAO,kBAAkB,CAC1B,CAAC,oBAAoB,CAAC,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE;;;OAGG;IACH,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,WAAW,EAAE,SAAS,EACtB,MAAM,EAAE,SAAS,EAAE,KAChB,IAAI,CAAC;IACV;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;CAC3E,CAAC;AAaF,eAAO,MAAM,cAAc,GAAI,2GAO5B,mBAAmB;;iCA4EP,MAAM,cACH,aAAa,cACb,aAAa,CAAC,mBAAmB,CAAC,EAAE;kCAkBvC,MAAM,cACH,aAAa,eACZ,aAAa,CAAC,mBAAmB,CAAC,EAAE;oCAkF/B,UAAU,oBAIV,UAAU;CAmCjC,CAAC"}
|
|
@@ -1,39 +1,89 @@
|
|
|
1
1
|
import { __assign, __read, __values } from "tslib";
|
|
2
2
|
import { selectionFromActiveCell } from "@rowsncolumns/grid";
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
|
+
import { collectPaintMerges, getBandedCellFormat, layerBandedFormat, tilePaintMerges, } from "../api/paint-format";
|
|
4
5
|
// A paint-format target spanning at least this many rows/cols is a header-click
|
|
5
6
|
// full-column/row selection, not an intentional drag — bound it to the pattern.
|
|
6
7
|
var UNBOUNDED_PAINT_SPAN = 10000;
|
|
8
|
+
var EMPTY_PATTERN = {
|
|
9
|
+
formats: [],
|
|
10
|
+
merges: [],
|
|
11
|
+
rows: 0,
|
|
12
|
+
cols: 0,
|
|
13
|
+
};
|
|
7
14
|
export var usePaintFormat = function (_a) {
|
|
8
|
-
var getEffectiveFormat = _a.getEffectiveFormat, onChangeFormatting = _a.onChangeFormatting, onChangeSelections = _a.onChangeSelections;
|
|
9
|
-
var _b = __read(useState(
|
|
10
|
-
var
|
|
15
|
+
var getEffectiveFormat = _a.getEffectiveFormat, onChangeFormatting = _a.onChangeFormatting, onChangeSelections = _a.onChangeSelections, getMerges = _a.getMerges, onPaintMerges = _a.onPaintMerges, getBandedCells = _a.getBandedCells;
|
|
16
|
+
var _b = __read(useState(EMPTY_PATTERN), 2), pattern = _b[0], setPattern = _b[1];
|
|
17
|
+
var paintFormats = pattern.formats;
|
|
18
|
+
/**
|
|
19
|
+
* Capture the visible look of `range`: the effective format of every cell layered over the
|
|
20
|
+
* table stripe the grid paints beneath it, plus the merges fully inside the range.
|
|
21
|
+
*/
|
|
22
|
+
var capturePattern = useCallback(function (sheetId, ranges) {
|
|
11
23
|
var e_1, _a;
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var paintFormats = [];
|
|
24
|
+
var _b, _c;
|
|
25
|
+
var bandedCells = getBandedCells === null || getBandedCells === void 0 ? void 0 : getBandedCells(sheetId);
|
|
26
|
+
var formats = [];
|
|
16
27
|
try {
|
|
17
|
-
for (var
|
|
18
|
-
var
|
|
19
|
-
for (var rowIndex =
|
|
28
|
+
for (var ranges_1 = __values(ranges), ranges_1_1 = ranges_1.next(); !ranges_1_1.done; ranges_1_1 = ranges_1.next()) {
|
|
29
|
+
var range = ranges_1_1.value;
|
|
30
|
+
for (var rowIndex = range.startRowIndex; rowIndex <= range.endRowIndex; rowIndex++) {
|
|
20
31
|
var rowFormats = [];
|
|
21
|
-
for (var columnIndex =
|
|
22
|
-
rowFormats.push(getEffectiveFormat(sheetId, rowIndex, columnIndex));
|
|
32
|
+
for (var columnIndex = range.startColumnIndex; columnIndex <= range.endColumnIndex; columnIndex++) {
|
|
33
|
+
rowFormats.push(layerBandedFormat(getEffectiveFormat(sheetId, rowIndex, columnIndex), getBandedCellFormat(bandedCells, rowIndex, columnIndex)));
|
|
23
34
|
}
|
|
24
|
-
|
|
35
|
+
formats.push(rowFormats);
|
|
25
36
|
}
|
|
26
37
|
}
|
|
27
38
|
}
|
|
28
39
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
29
40
|
finally {
|
|
30
41
|
try {
|
|
31
|
-
if (
|
|
42
|
+
if (ranges_1_1 && !ranges_1_1.done && (_a = ranges_1.return)) _a.call(ranges_1);
|
|
32
43
|
}
|
|
33
44
|
finally { if (e_1) throw e_1.error; }
|
|
34
45
|
}
|
|
35
|
-
|
|
36
|
-
|
|
46
|
+
// Merges travel with a single-block source only; a multi-area capture has no single
|
|
47
|
+
// tiling origin (the format rows are stacked, as before).
|
|
48
|
+
var source = ranges.length === 1 ? ranges[0] : undefined;
|
|
49
|
+
var merges = source
|
|
50
|
+
? collectPaintMerges(getMerges === null || getMerges === void 0 ? void 0 : getMerges(sheetId), source)
|
|
51
|
+
: [];
|
|
52
|
+
return {
|
|
53
|
+
formats: formats,
|
|
54
|
+
merges: merges,
|
|
55
|
+
rows: formats.length,
|
|
56
|
+
cols: (_c = (_b = formats[0]) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0,
|
|
57
|
+
};
|
|
58
|
+
}, [getEffectiveFormat, getBandedCells, getMerges]);
|
|
59
|
+
/**
|
|
60
|
+
* Replace the target's merges with the pattern's, tiled with the pattern's period.
|
|
61
|
+
*/
|
|
62
|
+
var applyPatternMerges = useCallback(function (sheetId, activeCell, current, targets) {
|
|
63
|
+
var e_2, _a;
|
|
64
|
+
if (!current.merges.length || !onPaintMerges)
|
|
65
|
+
return;
|
|
66
|
+
try {
|
|
67
|
+
for (var targets_1 = __values(targets), targets_1_1 = targets_1.next(); !targets_1_1.done; targets_1_1 = targets_1.next()) {
|
|
68
|
+
var target = targets_1_1.value;
|
|
69
|
+
var tiled = tilePaintMerges(current.merges, current.rows, current.cols, target);
|
|
70
|
+
onPaintMerges(sheetId, activeCell, target, tiled);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
74
|
+
finally {
|
|
75
|
+
try {
|
|
76
|
+
if (targets_1_1 && !targets_1_1.done && (_a = targets_1.return)) _a.call(targets_1);
|
|
77
|
+
}
|
|
78
|
+
finally { if (e_2) throw e_2.error; }
|
|
79
|
+
}
|
|
80
|
+
}, [onPaintMerges]);
|
|
81
|
+
var onSavePaintFormat = useCallback(function (sheetId, activeCell, selections) {
|
|
82
|
+
var finalSelections = selections.length
|
|
83
|
+
? selections
|
|
84
|
+
: selectionFromActiveCell(activeCell);
|
|
85
|
+
setPattern(capturePattern(sheetId, finalSelections.map(function (sel) { return sel.range; })));
|
|
86
|
+
}, [capturePattern]);
|
|
37
87
|
// Applies a saved paintFormat
|
|
38
88
|
var onApplyPaintFormat = useCallback(function (sheetId, activeCell, selections) {
|
|
39
89
|
/**
|
|
@@ -46,9 +96,7 @@ export var usePaintFormat = function (_a) {
|
|
|
46
96
|
// header-click full-column/row targets are bounded to the pattern so a paint
|
|
47
97
|
// never enumerates an entire 1M-row column.
|
|
48
98
|
var clampEnd = function (start, end, span) {
|
|
49
|
-
return end - start >= UNBOUNDED_PAINT_SPAN
|
|
50
|
-
? Math.min(end, start + span)
|
|
51
|
-
: end;
|
|
99
|
+
return end - start >= UNBOUNDED_PAINT_SPAN ? Math.min(end, start + span) : end;
|
|
52
100
|
};
|
|
53
101
|
var newSelections = (selections === null || selections === void 0 ? void 0 : selections.length)
|
|
54
102
|
? selections.map(function (sel) { return (__assign(__assign({}, sel), { range: __assign(__assign({}, sel.range), { endRowIndex: clampEnd(sel.range.startRowIndex, sel.range.endRowIndex, rowSpan), endColumnIndex: clampEnd(sel.range.startColumnIndex, sel.range.endColumnIndex, colSpan) }) })); })
|
|
@@ -66,6 +114,8 @@ export var usePaintFormat = function (_a) {
|
|
|
66
114
|
onChangeFormatting(sheetId, activeCell, newSelections, paintFormats, {
|
|
67
115
|
replace: true,
|
|
68
116
|
});
|
|
117
|
+
// Merges tile with the same period as the formats.
|
|
118
|
+
applyPatternMerges(sheetId, activeCell, pattern, newSelections.map(function (sel) { return sel.range; }));
|
|
69
119
|
/**
|
|
70
120
|
* User has made selections. lets preserve it
|
|
71
121
|
*/
|
|
@@ -73,8 +123,14 @@ export var usePaintFormat = function (_a) {
|
|
|
73
123
|
onChangeSelections === null || onChangeSelections === void 0 ? void 0 : onChangeSelections(sheetId, newSelections);
|
|
74
124
|
}
|
|
75
125
|
// Reset paintformats
|
|
76
|
-
|
|
77
|
-
}, [
|
|
126
|
+
setPattern(EMPTY_PATTERN);
|
|
127
|
+
}, [
|
|
128
|
+
pattern,
|
|
129
|
+
paintFormats,
|
|
130
|
+
onChangeSelections,
|
|
131
|
+
onChangeFormatting,
|
|
132
|
+
applyPatternMerges,
|
|
133
|
+
]);
|
|
78
134
|
/**
|
|
79
135
|
* Copy formatting from a source range to target range
|
|
80
136
|
*/
|
|
@@ -87,24 +143,22 @@ export var usePaintFormat = function (_a) {
|
|
|
87
143
|
* Sheet range to paste to
|
|
88
144
|
*/
|
|
89
145
|
targetSheetRange) {
|
|
90
|
-
var
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
for (var columnIndex = sourceSheetRange.startColumnIndex; columnIndex <= sourceSheetRange.endColumnIndex; columnIndex++) {
|
|
94
|
-
rowFormats.push(getEffectiveFormat(sourceSheetRange.sheetId, rowIndex, columnIndex));
|
|
95
|
-
}
|
|
96
|
-
paintFormats.push(rowFormats);
|
|
97
|
-
}
|
|
146
|
+
var captured = capturePattern(sourceSheetRange.sheetId, [
|
|
147
|
+
sourceSheetRange,
|
|
148
|
+
]);
|
|
98
149
|
// Apply
|
|
99
150
|
var activeCell = {
|
|
100
151
|
rowIndex: targetSheetRange.startRowIndex,
|
|
101
152
|
columnIndex: targetSheetRange.startColumnIndex,
|
|
102
153
|
};
|
|
103
154
|
// Copy formatting
|
|
104
|
-
onChangeFormatting(targetSheetRange.sheetId, activeCell, [{ range: targetSheetRange }],
|
|
155
|
+
onChangeFormatting(targetSheetRange.sheetId, activeCell, [{ range: targetSheetRange }], captured.formats, {
|
|
105
156
|
replace: true,
|
|
106
157
|
});
|
|
107
|
-
|
|
158
|
+
applyPatternMerges(targetSheetRange.sheetId, activeCell, captured, [
|
|
159
|
+
targetSheetRange,
|
|
160
|
+
]);
|
|
161
|
+
}, [onChangeFormatting, capturePattern, applyPatternMerges]);
|
|
108
162
|
return {
|
|
109
163
|
isPaintFormatActive: paintFormats.length > 0,
|
|
110
164
|
onSavePaintFormat: onSavePaintFormat,
|
|
@@ -49,6 +49,7 @@ export type UseSheetPropertiesProps<T extends CellData, S extends Sheet> = {
|
|
|
49
49
|
getPrecedents?: (cell: FormulaPosition) => FormulaPrecedents;
|
|
50
50
|
};
|
|
51
51
|
export declare const useSheetProperties: <T extends CellData = CellData, S extends Sheet = Sheet>({ conditionalFormats, sheetData, sheets, activeSheetId, dataValidations, protectFormulas, getEffectiveStructuredValue, cellXfs, cellXfsRegistry, cellStyles, sharedStrings, locale, use1904, lenientGrouping, getPrecedents, }: UseSheetPropertiesProps<T, S>) => {
|
|
52
|
+
getFormulaValue: (sheetId: number, rowIndex: number, columnIndex: number) => string | undefined;
|
|
52
53
|
getDataRowCount: (sheetId?: number) => number | undefined;
|
|
53
54
|
getNonEmptyRowCount: (sheetId: number) => number | undefined;
|
|
54
55
|
getNonEmptyColumnCount: (sheetId: number, rowIndex: number) => number | undefined;
|
|
@@ -87,6 +88,7 @@ export declare const useSheetProperties: <T extends CellData = CellData, S exten
|
|
|
87
88
|
getFormulasFromRange: (sheetRange: SheetRange, hiddenDimensionStategy?: HIDDEN_DIMENSION_STRATEGY) => (string | undefined)[];
|
|
88
89
|
isHiddenRow: (sheetId: number, rowIndex: number) => boolean;
|
|
89
90
|
isHiddenByFilterRow: (sheetId: number, rowIndex: number) => boolean;
|
|
91
|
+
getRowOutlineLevel: (sheetId: number, rowIndex: number) => number;
|
|
90
92
|
getSheetRowCount: (sheetId: number) => number;
|
|
91
93
|
getSheetColumnCount: (sheetId: number) => number;
|
|
92
94
|
getColumnWidth: (sheetId: number, columnIndex: number) => number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-sheet-properties.d.ts","sourceRoot":"","sources":["../../../hooks/use-sheet-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGjE,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,EACL,UAAU,EAEX,MAAM,2BAA2B,CAAC;AA+BnC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAe7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,UAAU,CAAC;AAElB,KAAK,iBAAiB,GAAG,CAAC,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,EAAE,CAAC;AAEnE,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IACzE,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC7C,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,eAAe,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACrD,2BAA2B,EAAE,mBAAmB,CAC9C,CAAC,EACD,CAAC,CACF,CAAC,6BAA6B,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,iBAAiB,CAAC;CAC9D,CAAC;AAoEF,eAAO,MAAM,kBAAkB,GAC7B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,KAAK,GAAG,KAAK,EACvB,gOAgBC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC;;
|
|
1
|
+
{"version":3,"file":"use-sheet-properties.d.ts","sourceRoot":"","sources":["../../../hooks/use-sheet-properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -282,6 +282,8 @@ export var useSheetProperties = function (_a) {
|
|
|
282
282
|
var metaData = (_b = (_a = sheetMetaDataById.get(sheetId)) === null || _a === void 0 ? void 0 : _a.rowMetadata) === null || _b === void 0 ? void 0 : _b[rowIndex];
|
|
283
283
|
return Boolean((metaData === null || metaData === void 0 ? void 0 : metaData.hiddenByUser) || (metaData === null || metaData === void 0 ? void 0 : metaData.hiddenByFilter));
|
|
284
284
|
}, [sheetMetaDataById]);
|
|
285
|
+
// Outline (row grouping) level, 0 when the row is not grouped
|
|
286
|
+
var getRowOutlineLevel = useCallback(function (sheetId, rowIndex) { var _a, _b, _c, _d; return (_d = (_c = (_b = (_a = sheetMetaDataById.get(sheetId)) === null || _a === void 0 ? void 0 : _a.rowMetadata) === null || _b === void 0 ? void 0 : _b[rowIndex]) === null || _c === void 0 ? void 0 : _c.outlineLevel) !== null && _d !== void 0 ? _d : 0; }, [sheetMetaDataById]);
|
|
285
287
|
// Hidden by filter row
|
|
286
288
|
var isHiddenByFilterRow = useCallback(function (sheetId, rowIndex) {
|
|
287
289
|
var _a, _b;
|
|
@@ -993,6 +995,7 @@ export var useSheetProperties = function (_a) {
|
|
|
993
995
|
return columnarData;
|
|
994
996
|
}, [getEffectiveValue, getFormattedValue]));
|
|
995
997
|
return {
|
|
998
|
+
getFormulaValue: getFormulaValue,
|
|
996
999
|
getDataRowCount: getDataRowCount,
|
|
997
1000
|
getNonEmptyRowCount: getNonEmptyRowCount,
|
|
998
1001
|
getNonEmptyColumnCount: getNonEmptyColumnCount,
|
|
@@ -1024,6 +1027,7 @@ export var useSheetProperties = function (_a) {
|
|
|
1024
1027
|
getFormulasFromRange: getFormulasFromRange,
|
|
1025
1028
|
isHiddenRow: isHiddenRow,
|
|
1026
1029
|
isHiddenByFilterRow: isHiddenByFilterRow,
|
|
1030
|
+
getRowOutlineLevel: getRowOutlineLevel,
|
|
1027
1031
|
getSheetRowCount: getSheetRowCount,
|
|
1028
1032
|
getSheetColumnCount: getSheetColumnCount,
|
|
1029
1033
|
getColumnWidth: getColumnWidth,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CellInterface, SelectionArea } from "@rowsncolumns/common-types";
|
|
2
2
|
import type { CellData, SelectionAttributes, Sheet } from "@rowsncolumns/spreadsheet";
|
|
3
|
+
import type { SplitTextOptions } from "../api/split-text";
|
|
3
4
|
import type { useCalculation } from "./use-calculation";
|
|
4
5
|
import type { useSheetProperties } from "./use-sheet-properties";
|
|
5
6
|
import type { useSheetState } from "./use-sheet-state";
|
|
@@ -15,5 +16,5 @@ export type UseSplitTextToColumnsProps<T extends CellData, S extends Sheet> = {
|
|
|
15
16
|
onChangeSelections: ReturnType<typeof useSheetState>["onChangeSelections"];
|
|
16
17
|
onCommand?: OnCommand;
|
|
17
18
|
};
|
|
18
|
-
export declare const useSplitTextToColumns: <T extends CellData, S extends Sheet>({ locale, getFormattedValue, onChangeSheetData, enqueueCalculation, createHistory, onChangeSelections, onCommand, }: UseSplitTextToColumnsProps<T, S>) => (sheetId: number, activeCell: CellInterface, selections?: SelectionArea<SelectionAttributes>[], delimiter?: string) => void;
|
|
19
|
+
export declare const useSplitTextToColumns: <T extends CellData, S extends Sheet>({ locale, getFormattedValue, onChangeSheetData, enqueueCalculation, createHistory, onChangeSelections, onCommand, }: UseSplitTextToColumnsProps<T, S>) => (sheetId: number, activeCell: CellInterface, selections?: SelectionArea<SelectionAttributes>[], delimiter?: string, options?: SplitTextOptions) => void;
|
|
19
20
|
//# sourceMappingURL=use-split-text-to-columns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-split-text-to-columns.d.ts","sourceRoot":"","sources":["../../../hooks/use-split-text-to-columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-split-text-to-columns.d.ts","sourceRoot":"","sources":["../../../hooks/use-split-text-to-columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC9E,kBAAkB,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5E,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,kBAAkB,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC3E,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,qHAQxE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,eAGpB,MAAM,cACH,aAAa,eACZ,aAAa,CAAC,mBAAmB,CAAC,EAAE,gCAEvC,gBAAgB,SA+B/B,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { useCallback } from "react";
|
|
|
2
2
|
import { splitText } from "../interface/split-text";
|
|
3
3
|
export var useSplitTextToColumns = function (_a) {
|
|
4
4
|
var locale = _a.locale, getFormattedValue = _a.getFormattedValue, onChangeSheetData = _a.onChangeSheetData, enqueueCalculation = _a.enqueueCalculation, createHistory = _a.createHistory, onChangeSelections = _a.onChangeSelections, onCommand = _a.onCommand;
|
|
5
|
-
return useCallback(function (sheetId, activeCell, selections, delimiter) {
|
|
5
|
+
return useCallback(function (sheetId, activeCell, selections, delimiter, options) {
|
|
6
6
|
if (delimiter === void 0) { delimiter = ","; }
|
|
7
7
|
splitText({
|
|
8
8
|
locale: locale,
|
|
@@ -11,7 +11,7 @@ export var useSplitTextToColumns = function (_a) {
|
|
|
11
11
|
onChangeSheetData: onChangeSheetData,
|
|
12
12
|
createHistory: createHistory,
|
|
13
13
|
onChangeSelections: onChangeSelections,
|
|
14
|
-
})(sheetId, activeCell, selections, delimiter);
|
|
14
|
+
})(sheetId, activeCell, selections, delimiter, options);
|
|
15
15
|
// Stream the semantic command so an engine consumer re-splits + recomputes.
|
|
16
16
|
onCommand === null || onCommand === void 0 ? void 0 : onCommand({
|
|
17
17
|
command: "split-text-to-columns",
|
|
@@ -19,6 +19,7 @@ export var useSplitTextToColumns = function (_a) {
|
|
|
19
19
|
activeCell: activeCell,
|
|
20
20
|
selections: selections !== null && selections !== void 0 ? selections : [],
|
|
21
21
|
delimiter: delimiter,
|
|
22
|
+
columnBreaks: options === null || options === void 0 ? void 0 : options.columnBreaks,
|
|
22
23
|
});
|
|
23
24
|
}, [
|
|
24
25
|
locale,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CalculatorConfig } from "@rowsncolumns/calculator";
|
|
2
|
-
import type { IterativeCalculationOptions, SelectionArea, Citation, CellFormat } from "@rowsncolumns/common-types";
|
|
2
|
+
import type { CellInterface, GridRange, IterativeCalculationOptions, SelectionArea, Citation, CellFormat, NamedCellStyle } from "@rowsncolumns/common-types";
|
|
3
3
|
import type { BandedDefinition, BandedRange, CanvasGridProps, CellData, ColorMode, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, EmbeddedObject, NamedRange, PivotTable, ProtectedRange, SelectionAttributes, Sheet, SpreadsheetTheme, TableView, Slicer } from "@rowsncolumns/spreadsheet";
|
|
4
4
|
import type { Patch } from "immer";
|
|
5
5
|
import { getAutoFillValues as defaultGetAutoFillValues } from "../api/fill";
|
|
@@ -24,6 +24,12 @@ export type UseSpreadsheetProps<T extends CellData = CellData, S extends Sheet =
|
|
|
24
24
|
* Active theme of the spreadsheet
|
|
25
25
|
*/
|
|
26
26
|
theme?: SpreadsheetTheme;
|
|
27
|
+
/**
|
|
28
|
+
* Workbook named cell styles (imported `<cellStyles>`; "Heading 1",
|
|
29
|
+
* "Good", "Accent 1", …). Feeds the toolbar "Workbook styles" gallery and
|
|
30
|
+
* the xlsx exporter's `namedCellStyles` argument.
|
|
31
|
+
*/
|
|
32
|
+
namedCellStyles?: NamedCellStyle[];
|
|
27
33
|
/**
|
|
28
34
|
* Sheet data
|
|
29
35
|
*/
|
|
@@ -101,6 +107,10 @@ export type UseSpreadsheetProps<T extends CellData = CellData, S extends Sheet =
|
|
|
101
107
|
* Callback when table state is changed
|
|
102
108
|
*/
|
|
103
109
|
onChangeTheme?: React.Dispatch<React.SetStateAction<SpreadsheetTheme>>;
|
|
110
|
+
/**
|
|
111
|
+
* Callback when an Excel import supplies workbook named cell styles
|
|
112
|
+
*/
|
|
113
|
+
onChangeNamedCellStyles?: React.Dispatch<React.SetStateAction<NamedCellStyle[]>>;
|
|
104
114
|
/**
|
|
105
115
|
* Callback when cell formatting changes
|
|
106
116
|
*/
|
|
@@ -369,7 +379,8 @@ export declare const deriveBuiltInTableBanding: (table: TableView) => BandedDefi
|
|
|
369
379
|
* @param param0
|
|
370
380
|
* @returns
|
|
371
381
|
*/
|
|
372
|
-
export declare const useSpreadsheetState: <T extends CellData = CellData, S extends Sheet = Sheet>({ sheets, onChangeSheets, theme, functions, onDemandFormulaPattern, enableLazyCalculation, conditionalFormats, dataValidations, tables, namedRanges, enableExcelImportHistory, enableExcelfileDragDrop, onChangeTables, onChangeNamedRanges, onChangeCharts, onChangeEmbeds, onChangeProtectedRanges, onChangeConditionalFormats, onChangeDataValidations, onChangeBandedRanges, onChangePivotTables, sheetData, onChangeSheetData, onChangeDependencyGraph, onChangeHistory, onCommand: onCommandProp, onChangeTheme, onError, getAutoFillValues: rawGetAutoFillValues, customAutofillLists, getEffectiveStructuredValue, darkThemeClassName, colorMode, fonts, enableDragnDrop, enabledUndoRedo, locale, generatedNames: generatedNamesProp, enableAtFormula, preserveFormattingOnPaste, recalculateOnOpen, protectFormulas, maxRowCount, maxColumnCount, maxSheetCount, idCreationStrategy, fileSizeLimit, cellXfs, cellStyles, onChangeCellXfs, sharedStrings, onChangeSharedStrings, onRequestFonts, onChangeSlicers, citations, onChangeCitations, createCalculationWorker, calculationMode, iterativeCalculation, onIterativeCalculationEnabled, onStreamStart, onStreamProgress, onStreamEnd, onConfirm, onPrompt, sanitizeHtml, }: UseSpreadsheetProps<T, S>) => {
|
|
382
|
+
export declare const useSpreadsheetState: <T extends CellData = CellData, S extends Sheet = Sheet>({ sheets, onChangeSheets, theme, functions, onDemandFormulaPattern, enableLazyCalculation, conditionalFormats, dataValidations, tables, namedRanges, enableExcelImportHistory, enableExcelfileDragDrop, onChangeTables, onChangeNamedRanges, onChangeCharts, onChangeEmbeds, onChangeProtectedRanges, onChangeConditionalFormats, onChangeDataValidations, onChangeBandedRanges, onChangePivotTables, sheetData, onChangeSheetData, onChangeDependencyGraph, onChangeHistory, onCommand: onCommandProp, onChangeTheme, namedCellStyles, onChangeNamedCellStyles, onError, getAutoFillValues: rawGetAutoFillValues, customAutofillLists, getEffectiveStructuredValue, darkThemeClassName, colorMode, fonts, enableDragnDrop, enabledUndoRedo, locale, generatedNames: generatedNamesProp, enableAtFormula, preserveFormattingOnPaste, recalculateOnOpen, protectFormulas, maxRowCount, maxColumnCount, maxSheetCount, idCreationStrategy, fileSizeLimit, cellXfs, cellStyles, onChangeCellXfs, sharedStrings, onChangeSharedStrings, onRequestFonts, onChangeSlicers, citations, onChangeCitations, createCalculationWorker, calculationMode, iterativeCalculation, onIterativeCalculationEnabled, onStreamStart, onStreamProgress, onStreamEnd, onConfirm, onPrompt, sanitizeHtml, }: UseSpreadsheetProps<T, S>) => {
|
|
383
|
+
namedCellStyles: NamedCellStyle[] | undefined;
|
|
373
384
|
activeCellBySheetId: Record<number, import("@rowsncolumns/grid").CellInterface>;
|
|
374
385
|
selectionsBySheetId: Record<number, import("@rowsncolumns/grid").SelectionArea<SelectionAttributes>[]>;
|
|
375
386
|
activeCell: import("@rowsncolumns/grid").CellInterface;
|
|
@@ -455,22 +466,22 @@ export declare const useSpreadsheetState: <T extends CellData = CellData, S exte
|
|
|
455
466
|
onChangeActiveSheet: (sheetId: number) => void;
|
|
456
467
|
onSelectNextSheet: (sheetId: number, e?: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
457
468
|
onSelectPreviousSheet: (sheetId: number, e?: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
458
|
-
onChange: (sheetId: number, coords:
|
|
459
|
-
onChangeBatch: (sheetId: number, ranges:
|
|
460
|
-
onChangeBatchStream: (sheetId: number, range:
|
|
461
|
-
onChangeFormatting: (...args: [sheetId: number, activeCell:
|
|
462
|
-
onRepeatFormatting: (sheetId: number, activeCell:
|
|
463
|
-
onClearFormatting: (sheetId: number, activeCell:
|
|
469
|
+
onChange: (sheetId: number, coords: CellInterface, value: string, textFormatRuns: import("@rowsncolumns/common-types").TextFormatRun[] | undefined | null, previousValue?: string | boolean | undefined, isDirty?: boolean, previousTextFormatRuns?: import("@rowsncolumns/common-types").TextFormatRun[] | undefined | null) => void;
|
|
470
|
+
onChangeBatch: (sheetId: number, ranges: GridRange[] | GridRange, values: (string | boolean | number | null | undefined)[][] | string | boolean | number | null | undefined, formatting?: CellFormat | (CellFormat | null | undefined)[][] | null | undefined, citations?: (string | undefined | null)[][] | string | null | undefined, changeBatchOptions?: import("../interface/change-batch").ChangeBatchOptions) => void;
|
|
471
|
+
onChangeBatchStream: (sheetId: number, range: GridRange, stream: import("../types").ChangeBatchStreamInput, options?: import("@rowsncolumns/spreadsheet").ChangeBatchStreamOptions) => Promise<void> | undefined;
|
|
472
|
+
onChangeFormatting: (...args: [sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[], cellFormatOrCellFormatArray: import("@rowsncolumns/spreadsheet").CellFormat | (import("@rowsncolumns/spreadsheet").CellFormat | null | undefined)[][] | null | undefined, options?: import("./use-on-change-formatting").FormattingChangeOptions | undefined] | [sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[], type: keyof import("@rowsncolumns/spreadsheet").CellFormat, value: import("@rowsncolumns/spreadsheet").FormattingValue<keyof import("@rowsncolumns/spreadsheet").CellFormat>, options?: import("./use-on-change-formatting").FormattingChangeOptions | undefined]) => void;
|
|
473
|
+
onRepeatFormatting: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
474
|
+
onClearFormatting: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
464
475
|
onMergeCells: (sheetId: number, activeCell: import("@rowsncolumns/grid").CellInterface, selections: import("@rowsncolumns/grid").SelectionArea<SelectionAttributes>[], direction?: import("@rowsncolumns/grid").Direction) => void;
|
|
465
476
|
onUnMergeCells: (sheetId: number, activeCell: import("@rowsncolumns/grid").CellInterface, currentSelections: import("@rowsncolumns/grid").SelectionArea<SelectionAttributes>[]) => void;
|
|
466
477
|
onResize: (sheetId: number, indexes: number[], dimension: number, axis: import("@rowsncolumns/spreadsheet").AXIS, autoFit?: boolean) => void;
|
|
467
|
-
onChangeBorder: (sheetId: number, activeCell:
|
|
468
|
-
onChangeDecimals: (sheetId: number, activeCell:
|
|
478
|
+
onChangeBorder: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[], location: import("@rowsncolumns/spreadsheet").BorderLocation, color: import("@rowsncolumns/spreadsheet").Color | undefined, style?: import("@rowsncolumns/spreadsheet").BorderStyle | undefined) => void;
|
|
479
|
+
onChangeDecimals: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[], type: "increment" | "decrement") => void;
|
|
469
480
|
onChangeSheetTabColor: (sheetId: number, color: import("@rowsncolumns/spreadsheet").Color | undefined) => void;
|
|
470
481
|
onRenameSheet: (sheetId: number, name: string, oldName: string) => void;
|
|
471
482
|
onRequestDeleteSheet: (sheetId: number) => void;
|
|
472
483
|
onDeleteSheet: (sheetId: number) => void;
|
|
473
|
-
onDelete: (sheetId: number, activeCell:
|
|
484
|
+
onDelete: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[], clearType?: import("..").ClearType) => void;
|
|
474
485
|
onHideSheet: (sheetId: number) => void;
|
|
475
486
|
onShowSheet: (sheetId: number) => void;
|
|
476
487
|
onProtectSheet: (sheetId: number) => void;
|
|
@@ -492,8 +503,8 @@ export declare const useSpreadsheetState: <T extends CellData = CellData, S exte
|
|
|
492
503
|
onCollapseColumnGroup: (sheetId: number, summaryColumnIndex: number) => void;
|
|
493
504
|
onExpandColumnGroup: (sheetId: number, summaryColumnIndex: number) => void;
|
|
494
505
|
onSetOutlineDepth: (sheetId: number, axis: "row" | "column", depth: number) => void;
|
|
495
|
-
onFill: (sheetId: number, activeCell:
|
|
496
|
-
onFillRange: (sheetId: number, activeCell:
|
|
506
|
+
onFill: (sheetId: number, activeCell: CellInterface, fillSelection: SelectionArea, selections: SelectionArea<SelectionAttributes>[], fillableSelections?: SelectionArea<SelectionAttributes>[], fillType?: import("../api/fill").AutoFillType) => Promise<void>;
|
|
507
|
+
onFillRange: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[], direction: import("@rowsncolumns/grid").Direction | undefined) => void;
|
|
497
508
|
onMoveEmbed: (embedId: string | number, sheetId: number, anchorCell: import("@rowsncolumns/grid").CellInterface, offsetXPixels: number, offsetYPixels: number) => void;
|
|
498
509
|
onResizeEmbed: (embedId: string | number, sheetId: number, anchorCell: import("@rowsncolumns/grid").CellInterface, offsetXPixels: number, offsetYPixels: number, width: number, height: number) => void;
|
|
499
510
|
onDeleteEmbed: (embedId: string | number) => void;
|
|
@@ -532,31 +543,31 @@ export declare const useSpreadsheetState: <T extends CellData = CellData, S exte
|
|
|
532
543
|
onRemoveTable: (tableView: TableView) => void;
|
|
533
544
|
onRequestEditTable: (table: TableView) => void;
|
|
534
545
|
onUpdateTable: (sheetId: number, tableId: TableView["id"], updatedTable: Partial<TableView>) => void;
|
|
535
|
-
onRequestDefineNamedRange: (sheetId: number, activeCell:
|
|
546
|
+
onRequestDefineNamedRange: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
536
547
|
onRequestUpdateNamedRange: (sheetId: number, namedRange: NamedRange) => void;
|
|
537
548
|
onUpdateNamedRange: (sheetId: number, namedRange: NamedRange, previousNamedRange: NamedRange) => void;
|
|
538
549
|
onCreateNamedRange: (sheetId: number, namedRange: NamedRange) => void;
|
|
539
550
|
onDeleteNamedRange: (id: NamedRange["namedRangeId"]) => void;
|
|
540
551
|
onDragOver: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
541
552
|
onDrop: (e: React.DragEvent<HTMLDivElement>) => Promise<void>;
|
|
542
|
-
onInsertFile: (file: File, sheetIdToInsert?: number, activeCell?:
|
|
553
|
+
onInsertFile: (file: File, sheetIdToInsert?: number, activeCell?: CellInterface, options?: import("./use-on-drag-n-drop").InsertFileOptions) => Promise<void>;
|
|
543
554
|
onFreezeColumn: (sheetId: number, columnIndex: number) => void;
|
|
544
555
|
onFreezeRow: (sheetId: number, rowIndex: number) => void;
|
|
545
556
|
onChangeSpreadsheetTheme: (theme: SpreadsheetTheme) => Promise<void>;
|
|
546
557
|
onAddBandedRange: (sheetId: number, bandedRange: BandedRange) => void;
|
|
547
558
|
onRemoveBandedRange: (sheetId: number, bandedRange: BandedRange) => void;
|
|
548
|
-
onUpdateNote: (sheetId: number, activeCell:
|
|
549
|
-
onInsertNote: (sheetId: number, cell:
|
|
559
|
+
onUpdateNote: (sheetId: number, activeCell: CellInterface, note?: string) => void;
|
|
560
|
+
onInsertNote: (sheetId: number, cell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
550
561
|
onSortRange: (sheetId: number, selections: SelectionArea<SelectionAttributes>[], sortOrder: import("@rowsncolumns/common-types").SortOrder, specs?: import("./utils/sort-rows").DimensionSortSpec[]) => void;
|
|
551
|
-
onProtectRange: (sheetId: number, activeCell:
|
|
562
|
+
onProtectRange: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[] | undefined) => void;
|
|
552
563
|
onUnProtectRange: (sheetId: number, protectedRangeId: number | string) => void;
|
|
553
564
|
getNonEmptyRowCount: (sheetId: number) => number | undefined;
|
|
554
565
|
getNonEmptyColumnCount: (sheetId: number, rowIndex: number) => number | undefined;
|
|
555
566
|
getSheetRowCount: (sheetId: number) => number;
|
|
556
567
|
getSheetColumnCount: (sheetId: number) => number;
|
|
557
|
-
onIncreaseIndent: (sheetId: number, activeCell:
|
|
558
|
-
onDecreaseIndent: (sheetId: number, activeCell:
|
|
559
|
-
onChangeIndent: (sheetId: number, activeCell:
|
|
568
|
+
onIncreaseIndent: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
569
|
+
onDecreaseIndent: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
570
|
+
onChangeIndent: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[], shouldIncrease: boolean) => void;
|
|
560
571
|
onRequestResize: (sheetId: number, indexes: number[], axis: import("@rowsncolumns/spreadsheet").AXIS) => void;
|
|
561
572
|
onAutoResize: (sheetId: number, indexes: number[], axis: import("@rowsncolumns/spreadsheet").AXIS) => void;
|
|
562
573
|
getColumnarDataFromRange: (sheetRange: import("@rowsncolumns/common-types").SheetRange) => {
|
|
@@ -565,15 +576,15 @@ export declare const useSpreadsheetState: <T extends CellData = CellData, S exte
|
|
|
565
576
|
onInsertTime: (sheetId: number, activeCell: import("@rowsncolumns/grid").CellInterface, selections: import("@rowsncolumns/grid").SelectionArea<SelectionAttributes>[]) => void;
|
|
566
577
|
onInsertDate: (sheetId: number, activeCell: import("@rowsncolumns/grid").CellInterface, selections: import("@rowsncolumns/grid").SelectionArea<SelectionAttributes>[]) => void;
|
|
567
578
|
onInsertDateTime: (sheetId: number, activeCell: import("@rowsncolumns/grid").CellInterface, selections: import("@rowsncolumns/grid").SelectionArea<SelectionAttributes>[]) => void;
|
|
568
|
-
onRequestInsertLink: (sheetId: number, activeCell:
|
|
569
|
-
onInsertLink: (sheetId: number, activeCell:
|
|
570
|
-
onRemoveLink: (sheetId: number, activeCell:
|
|
571
|
-
onSelectLink: (sheetId: number, activeCell:
|
|
572
|
-
onRequestInsertImage: (sheetId: number, activeCell:
|
|
573
|
-
onInsertImage: (fileOrUrl: File | string, sheetId: number, activeCell:
|
|
579
|
+
onRequestInsertLink: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
580
|
+
onInsertLink: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[] | undefined, url: string, title?: string) => void;
|
|
581
|
+
onRemoveLink: (sheetId: number, activeCell: CellInterface, selections?: SelectionArea<SelectionAttributes>[]) => void;
|
|
582
|
+
onSelectLink: (sheetId: number, activeCell: CellInterface, hyperlink: T["hyperlink"]) => void;
|
|
583
|
+
onRequestInsertImage: (sheetId: number, activeCell: CellInterface, insertOverCells?: boolean) => void;
|
|
584
|
+
onInsertImage: (fileOrUrl: File | string, sheetId: number, activeCell: CellInterface, options?: (import("./use-on-drag-n-drop").InsertFileOptions & {
|
|
574
585
|
embedId?: string | number;
|
|
575
586
|
}) | undefined) => Promise<void>;
|
|
576
|
-
onInsertCheckbox: (sheetId: number, activeCell:
|
|
587
|
+
onInsertCheckbox: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
577
588
|
onRequestFormatCells: () => void;
|
|
578
589
|
onRequestConditionalFormat: () => void;
|
|
579
590
|
onCreateConditionalFormattingRule: (rule: ConditionalFormatRule) => void;
|
|
@@ -595,18 +606,21 @@ export declare const useSpreadsheetState: <T extends CellData = CellData, S exte
|
|
|
595
606
|
importExcelFile: (file: File | ArrayBuffer, options?: import("./use-on-import-excel").ExcelImportOptions) => Promise<import("./use-on-import-excel").ExcelImportResponse>;
|
|
596
607
|
isImportingExcelfile: boolean;
|
|
597
608
|
generateStatePatches: () => Promise<SpreadsheetPatch>;
|
|
598
|
-
importCSVFile: (file: File, sheetId?: number, activeCell?:
|
|
599
|
-
importCSVFileLegacy: (file: File, sheetId?: number, activeCell?:
|
|
609
|
+
importCSVFile: (file: File, sheetId?: number, activeCell?: CellInterface, options?: import("./use-on-drag-n-drop").InsertFileOptions) => Promise<void>;
|
|
610
|
+
importCSVFileLegacy: (file: File, sheetId?: number, activeCell?: CellInterface, options?: import("./use-on-drag-n-drop").InsertFileOptions) => Promise<void>;
|
|
600
611
|
paintFormat: (sourceSheetRange: import("@rowsncolumns/common-types").SheetRange, targetSheetRange: import("@rowsncolumns/common-types").SheetRange) => void;
|
|
601
|
-
onSavePaintFormat: (sheetId: number, activeCell:
|
|
612
|
+
onSavePaintFormat: (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
602
613
|
isPaintFormatActive: boolean;
|
|
603
|
-
onApplyPaintFormat: (sheetId: number, activeCell:
|
|
614
|
+
onApplyPaintFormat: (sheetId: number, activeCell: CellInterface, selections?: SelectionArea<SelectionAttributes>[]) => void;
|
|
604
615
|
getSheetProperties: (sheetId: number) => import("@rowsncolumns/calculator").SheetProperty | undefined;
|
|
605
616
|
getEffectiveExtendedValue: (sheetId: number, rowIndex: number, columnIndex: number) => T["ev"];
|
|
606
617
|
getUserEnteredExtendedValue: (sheetId: number, rowIndex: number, columnIndex: number) => T["ue"];
|
|
607
618
|
getErrorValue: (sheetId: number, rowIndex: number, columnIndex: number) => any;
|
|
608
|
-
onSplitTextToColumns: (sheetId: number, activeCell:
|
|
609
|
-
onRemoveDuplicates: (sheetId: number, activeCell:
|
|
619
|
+
onSplitTextToColumns: (sheetId: number, activeCell: CellInterface, selections?: SelectionArea<SelectionAttributes>[], delimiter?: string, options?: import("@rowsncolumns/spreadsheet").SplitTextOptions) => void;
|
|
620
|
+
onRemoveDuplicates: (sheetId: number, activeCell: CellInterface, selections?: SelectionArea<SelectionAttributes>[], options?: import("@rowsncolumns/spreadsheet").RemoveDuplicatesOptions) => import("../interface/remove-duplicates").RemoveDuplicatesResult | undefined;
|
|
621
|
+
onGoalSeek: (sheetId: number, setCell: CellInterface, targetValue: number, changingCell: CellInterface) => Promise<import("@rowsncolumns/spreadsheet").GoalSeekResult | undefined>;
|
|
622
|
+
onSubtotal: (sheetId: number, options: import("@rowsncolumns/spreadsheet").SubtotalOptions) => import("./use-on-subtotal").SubtotalPlan | undefined;
|
|
623
|
+
onAdvancedFilter: (sheetId: number, options: import("@rowsncolumns/spreadsheet").AdvancedFilterOptions) => import("./use-on-advanced-filter").AdvancedFilterPlan | undefined;
|
|
610
624
|
onRequestAddRows: (sheetId: number, additionalRowCount: number) => S | undefined;
|
|
611
625
|
getDependents: ((source: import("@rowsncolumns/dag").CellCoordinate | import("@rowsncolumns/dag").CellCoordinateRange, includeSource?: boolean) => (import("@rowsncolumns/dag").CellNode | import("@rowsncolumns/dag").StaticNode)[]) | (() => never[]);
|
|
612
626
|
getPrecedents: ((source: import("@rowsncolumns/dag").CellCoordinate | import("@rowsncolumns/dag").CellCoordinateRange, includeSource?: boolean) => (import("@rowsncolumns/dag").CellNode | import("@rowsncolumns/dag").StaticNode | import("@rowsncolumns/dag").CellRangeNode)[]) | (() => never[]);
|
|
@@ -614,8 +628,8 @@ export declare const useSpreadsheetState: <T extends CellData = CellData, S exte
|
|
|
614
628
|
getDefaultHorizontalAlignment: (sheetId: number, rowIndex: number, columnIndex: number) => import("@rowsncolumns/common-types").HorizontalAlign | undefined;
|
|
615
629
|
arrows: import("react").ReactNode[];
|
|
616
630
|
onRemoveArrows: () => void;
|
|
617
|
-
onTraceDependents: (sheetId: number, cell:
|
|
618
|
-
onTracePrecedents: (sheetId: number, cell:
|
|
631
|
+
onTraceDependents: (sheetId: number, cell: CellInterface) => void;
|
|
632
|
+
onTracePrecedents: (sheetId: number, cell: CellInterface) => void;
|
|
619
633
|
onClearHistory: () => void;
|
|
620
634
|
onChangeLocale: (newLocale: string, oldLocale?: string) => void;
|
|
621
635
|
onInsertComment: (sheetId: number, rowIndex: number, columnIndex: number, commentThreadId: string | number | undefined) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-spreadsheet-state.d.ts","sourceRoot":"","sources":["../../../hooks/use-spreadsheet-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EACV,2BAA2B,EAC3B,aAAa,EACb,QAAQ,EACR,UAAU,
|
|
1
|
+
{"version":3,"file":"use-spreadsheet-state.d.ts","sourceRoot":"","sources":["../../../hooks/use-spreadsheet-state.ts"],"names":[],"mappings":"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"}
|