@rowsncolumns/spreadsheet-state 28.0.75 → 28.0.76
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/anchored-objects.d.ts +66 -0
- package/dist/cjs/api/anchored-objects.d.ts.map +1 -0
- package/dist/cjs/api/anchored-objects.js +259 -0
- package/dist/cjs/api/dependency.d.ts +13 -2
- package/dist/cjs/api/dependency.d.ts.map +1 -1
- package/dist/cjs/api/dependency.js +11 -5
- package/dist/cjs/api/formula.d.ts +61 -4
- package/dist/cjs/api/formula.d.ts.map +1 -1
- package/dist/cjs/api/formula.js +250 -61
- package/dist/cjs/api/merges.d.ts +8 -0
- package/dist/cjs/api/merges.d.ts.map +1 -1
- package/dist/cjs/api/merges.js +64 -1
- package/dist/cjs/api/named-range-structural.d.ts +62 -0
- package/dist/cjs/api/named-range-structural.d.ts.map +1 -0
- package/dist/cjs/api/named-range-structural.js +197 -0
- package/dist/cjs/api/range-rule-helpers.d.ts +45 -1
- package/dist/cjs/api/range-rule-helpers.d.ts.map +1 -1
- package/dist/cjs/api/range-rule-helpers.js +159 -6
- package/dist/cjs/api/structural-formula-update.d.ts.map +1 -1
- package/dist/cjs/api/structural-formula-update.js +24 -6
- package/dist/cjs/api/structural-guards.d.ts +78 -0
- package/dist/cjs/api/structural-guards.d.ts.map +1 -0
- package/dist/cjs/api/structural-guards.js +202 -0
- package/dist/cjs/api/structural-table-refs.d.ts +94 -0
- package/dist/cjs/api/structural-table-refs.d.ts.map +1 -0
- package/dist/cjs/api/structural-table-refs.js +313 -0
- package/dist/cjs/constants.d.ts +25 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +26 -0
- package/dist/cjs/hooks/use-calculation-worker.d.ts.map +1 -1
- package/dist/cjs/hooks/use-calculation-worker.js +64 -6
- package/dist/cjs/hooks/use-calculation.d.ts +7 -0
- package/dist/cjs/hooks/use-calculation.d.ts.map +1 -1
- package/dist/cjs/hooks/use-calculation.js +15 -0
- package/dist/cjs/hooks/use-on-calculation-success.d.ts +7 -0
- package/dist/cjs/hooks/use-on-calculation-success.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-calculation-success.js +7 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts +13 -3
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.js +27 -2
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts +13 -3
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.js +27 -2
- package/dist/cjs/hooks/use-on-delete-column.d.ts +13 -4
- package/dist/cjs/hooks/use-on-delete-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-column.js +14 -2
- package/dist/cjs/hooks/use-on-delete-row.d.ts +13 -4
- package/dist/cjs/hooks/use-on-delete-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-row.js +14 -2
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts +13 -3
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.js +27 -2
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts +13 -3
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.js +27 -2
- package/dist/cjs/hooks/use-on-insert-column.d.ts +10 -3
- package/dist/cjs/hooks/use-on-insert-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-column.js +33 -7
- package/dist/cjs/hooks/use-on-insert-row.d.ts +10 -3
- package/dist/cjs/hooks/use-on-insert-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-row.js +32 -7
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts +2 -2
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +61 -15
- package/dist/cjs/hooks/use-structured-reference.d.ts.map +1 -1
- package/dist/cjs/hooks/use-structured-reference.js +10 -6
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/interface/calculation-interface.d.ts +9 -0
- package/dist/cjs/interface/calculation-interface.d.ts.map +1 -1
- package/dist/cjs/interface/calculation-interface.js +31 -2
- package/dist/cjs/interface/delete-cells-shift-left.d.ts +8 -1
- package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-left.js +158 -80
- package/dist/cjs/interface/delete-cells-shift-up.d.ts +9 -1
- package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-up.js +155 -73
- package/dist/cjs/interface/delete-column.d.ts +1 -1
- package/dist/cjs/interface/delete-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-column.js +90 -31
- package/dist/cjs/interface/delete-row.d.ts +1 -1
- package/dist/cjs/interface/delete-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-row.js +85 -26
- package/dist/cjs/interface/insert-cells-shift-down.d.ts +10 -1
- package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-down.js +147 -52
- package/dist/cjs/interface/insert-cells-shift-right.d.ts +10 -1
- package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-right.js +154 -58
- package/dist/cjs/interface/insert-column.d.ts +1 -1
- package/dist/cjs/interface/insert-column.d.ts.map +1 -1
- package/dist/cjs/interface/insert-column.js +46 -8
- package/dist/cjs/interface/insert-row.d.ts +1 -1
- package/dist/cjs/interface/insert-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-row.js +47 -10
- package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/cjs/interface/spreadsheet-interface.js +33 -0
- package/dist/cjs/sheet-cell.d.ts.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/api/anchored-objects.d.ts +66 -0
- package/dist/esm/api/anchored-objects.d.ts.map +1 -0
- package/dist/esm/api/anchored-objects.js +212 -0
- package/dist/esm/api/dependency.d.ts +13 -2
- package/dist/esm/api/dependency.d.ts.map +1 -1
- package/dist/esm/api/dependency.js +10 -4
- package/dist/esm/api/formula.d.ts +61 -4
- package/dist/esm/api/formula.d.ts.map +1 -1
- package/dist/esm/api/formula.js +238 -60
- package/dist/esm/api/merges.d.ts +8 -0
- package/dist/esm/api/merges.d.ts.map +1 -1
- package/dist/esm/api/merges.js +51 -0
- package/dist/esm/api/named-range-structural.d.ts +62 -0
- package/dist/esm/api/named-range-structural.d.ts.map +1 -0
- package/dist/esm/api/named-range-structural.js +176 -0
- package/dist/esm/api/range-rule-helpers.d.ts +45 -1
- package/dist/esm/api/range-rule-helpers.d.ts.map +1 -1
- package/dist/esm/api/range-rule-helpers.js +153 -1
- package/dist/esm/api/structural-formula-update.d.ts.map +1 -1
- package/dist/esm/api/structural-formula-update.js +24 -6
- package/dist/esm/api/structural-guards.d.ts +78 -0
- package/dist/esm/api/structural-guards.d.ts.map +1 -0
- package/dist/esm/api/structural-guards.js +186 -0
- package/dist/esm/api/structural-table-refs.d.ts +94 -0
- package/dist/esm/api/structural-table-refs.d.ts.map +1 -0
- package/dist/esm/api/structural-table-refs.js +219 -0
- package/dist/esm/constants.d.ts +25 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +26 -0
- package/dist/esm/hooks/use-calculation-worker.d.ts.map +1 -1
- package/dist/esm/hooks/use-calculation-worker.js +45 -0
- package/dist/esm/hooks/use-calculation.d.ts +7 -0
- package/dist/esm/hooks/use-calculation.d.ts.map +1 -1
- package/dist/esm/hooks/use-calculation.js +15 -0
- package/dist/esm/hooks/use-on-calculation-success.d.ts +7 -0
- package/dist/esm/hooks/use-on-calculation-success.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-calculation-success.js +7 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts +13 -3
- package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.js +26 -2
- package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts +13 -3
- package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.js +26 -2
- package/dist/esm/hooks/use-on-delete-column.d.ts +13 -4
- package/dist/esm/hooks/use-on-delete-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-column.js +14 -2
- package/dist/esm/hooks/use-on-delete-row.d.ts +13 -4
- package/dist/esm/hooks/use-on-delete-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-row.js +14 -2
- package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts +13 -3
- package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.js +26 -2
- package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts +13 -3
- package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.js +26 -2
- package/dist/esm/hooks/use-on-insert-column.d.ts +10 -3
- package/dist/esm/hooks/use-on-insert-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-column.js +33 -7
- package/dist/esm/hooks/use-on-insert-row.d.ts +10 -3
- package/dist/esm/hooks/use-on-insert-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-row.js +32 -7
- package/dist/esm/hooks/use-spreadsheet-state.d.ts +2 -2
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +61 -15
- package/dist/esm/hooks/use-structured-reference.d.ts.map +1 -1
- package/dist/esm/hooks/use-structured-reference.js +10 -6
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -0
- package/dist/esm/interface/calculation-interface.d.ts +9 -0
- package/dist/esm/interface/calculation-interface.d.ts.map +1 -1
- package/dist/esm/interface/calculation-interface.js +33 -2
- package/dist/esm/interface/delete-cells-shift-left.d.ts +8 -1
- package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-left.js +135 -59
- package/dist/esm/interface/delete-cells-shift-up.d.ts +9 -1
- package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-up.js +133 -53
- package/dist/esm/interface/delete-column.d.ts +1 -1
- package/dist/esm/interface/delete-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-column.js +80 -11
- package/dist/esm/interface/delete-row.d.ts +1 -1
- package/dist/esm/interface/delete-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-row.js +81 -11
- package/dist/esm/interface/insert-cells-shift-down.d.ts +10 -1
- package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-down.js +116 -47
- package/dist/esm/interface/insert-cells-shift-right.d.ts +10 -1
- package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-right.js +120 -51
- package/dist/esm/interface/insert-column.d.ts +1 -1
- package/dist/esm/interface/insert-column.d.ts.map +1 -1
- package/dist/esm/interface/insert-column.js +46 -8
- package/dist/esm/interface/insert-row.d.ts +1 -1
- package/dist/esm/interface/insert-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-row.js +47 -10
- package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/esm/interface/spreadsheet-interface.js +29 -0
- package/dist/esm/sheet-cell.d.ts.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +16 -16
|
@@ -14,12 +14,13 @@ import { useCalculation } from "./use-calculation";
|
|
|
14
14
|
import { useCalculationInitialize } from "./use-calculation-initialize";
|
|
15
15
|
import { useCalculationWorker } from "./use-calculation-worker";
|
|
16
16
|
import { useCellXfsRegistry } from "./use-cellxfs-registry";
|
|
17
|
-
import { useComments } from "./use-comments";
|
|
18
17
|
import { useCitations } from "./use-citations";
|
|
18
|
+
import { useComments } from "./use-comments";
|
|
19
19
|
import { useConditionalFormattingRules } from "./use-conditional-formatting-rules";
|
|
20
20
|
import { useDataValidationRules } from "./use-data-validation-rules";
|
|
21
21
|
import { useIndent } from "./use-indent";
|
|
22
22
|
import { useNamedRange } from "./use-named-range";
|
|
23
|
+
import { useOnAdvancedFilter } from "./use-on-advanced-filter";
|
|
23
24
|
import { useOnAutoResize } from "./use-on-autoresize";
|
|
24
25
|
import { useOnBandedRanges } from "./use-on-banded-ranges";
|
|
25
26
|
import { useOnCalculationBegin } from "./use-on-calculation-begin";
|
|
@@ -32,6 +33,8 @@ import { useOnChangeFormatting } from "./use-on-change-formatting";
|
|
|
32
33
|
import { useOnChangeSheetTabcolor } from "./use-on-change-sheet-tabcolor";
|
|
33
34
|
import { useOnChangeTheme } from "./use-on-change-theme";
|
|
34
35
|
import { useOnClearFormatting } from "./use-on-clear-formatting";
|
|
36
|
+
import { useOnCollapseColumnGroup } from "./use-on-collapse-column-group";
|
|
37
|
+
import { useOnCollapseRowGroup } from "./use-on-collapse-row-group";
|
|
35
38
|
import { useOnCopy } from "./use-on-copy";
|
|
36
39
|
import { useOnCreateNamedRange } from "./use-on-create-named-range";
|
|
37
40
|
import { useOnCreateNewSheet } from "./use-on-create-sheet";
|
|
@@ -46,23 +49,18 @@ import { useOnDeleteTableRow } from "./use-on-delete-table-row";
|
|
|
46
49
|
import { useOnDragnDrop } from "./use-on-drag-n-drop";
|
|
47
50
|
import { useOnDuplicateSheet } from "./use-on-duplicate-sheet";
|
|
48
51
|
import { useOnEmbeds } from "./use-on-embeds";
|
|
49
|
-
import {
|
|
52
|
+
import { useOnExpandColumnGroup } from "./use-on-expand-column-group";
|
|
53
|
+
import { useOnExpandRowGroup } from "./use-on-expand-row-group";
|
|
50
54
|
import { useOnFill } from "./use-on-fill";
|
|
51
55
|
import { useOnFillRange } from "./use-on-fill-range";
|
|
52
56
|
import { useOnFilterTable } from "./use-on-filter-table";
|
|
53
57
|
import { useOnFindReplace } from "./use-on-find-replace";
|
|
54
58
|
import { useOnFreeze } from "./use-on-freeze";
|
|
55
|
-
import {
|
|
56
|
-
import { useOnCollapseRowGroup } from "./use-on-collapse-row-group";
|
|
57
|
-
import { useOnExpandColumnGroup } from "./use-on-expand-column-group";
|
|
58
|
-
import { useOnExpandRowGroup } from "./use-on-expand-row-group";
|
|
59
|
+
import { useOnGoalSeek } from "./use-on-goal-seek";
|
|
59
60
|
import { useOnGroupColumns } from "./use-on-group-columns";
|
|
60
61
|
import { useOnGroupRows } from "./use-on-group-rows";
|
|
61
|
-
import { useOnSetOutlineDepth } from "./use-on-set-outline-depth";
|
|
62
62
|
import { useOnHideColumn } from "./use-on-hide-column";
|
|
63
63
|
import { useOnHideRow } from "./use-on-hide-row";
|
|
64
|
-
import { useOnUngroupColumns } from "./use-on-ungroup-columns";
|
|
65
|
-
import { useOnUngroupRows } from "./use-on-ungroup-rows";
|
|
66
64
|
import { useOnShowHideSheet } from "./use-on-hide-show-sheet";
|
|
67
65
|
import { useOnImportCSV } from "./use-on-import-csv";
|
|
68
66
|
import { useOnImportCSVLegacy } from "./use-on-import-csv-legacy";
|
|
@@ -80,6 +78,7 @@ import { useOnInsertNote } from "./use-on-insert-note";
|
|
|
80
78
|
import { useOnInsertRow } from "./use-on-insert-row";
|
|
81
79
|
import { useOnInsertTableRow } from "./use-on-insert-table-row";
|
|
82
80
|
import { useOnInsertTime } from "./use-on-insert-time";
|
|
81
|
+
import { useOnLocaleChange } from "./use-on-locale-change";
|
|
83
82
|
import { useOnMergeUnMergeCells } from "./use-on-merge-unmerge-cells";
|
|
84
83
|
import { useOnMoveColumns } from "./use-on-move-columns";
|
|
85
84
|
import { useOnMoveRows } from "./use-on-move-rows";
|
|
@@ -88,6 +87,7 @@ import { useOnMoveSheet } from "./use-on-move-sheet";
|
|
|
88
87
|
import { useOnPaste } from "./use-on-paste";
|
|
89
88
|
import { useOnProtectRange } from "./use-on-protect-range";
|
|
90
89
|
import { useOnProtectSheet } from "./use-on-protect-sheet";
|
|
90
|
+
import { useOnRemoveDuplicates } from "./use-on-remove-duplicates";
|
|
91
91
|
import { useOnRenameSheet } from "./use-on-rename-sheet";
|
|
92
92
|
import { useOnRequestCalculateWrapper } from "./use-on-request-calculate-wrapper";
|
|
93
93
|
import { useOnRequestConditionalFormat } from "./use-on-request-conditional-format";
|
|
@@ -102,13 +102,17 @@ import { useOnRequestResize } from "./use-on-request-resize";
|
|
|
102
102
|
import { useOnRequestUpdateNamedRange } from "./use-on-request-update-named-range";
|
|
103
103
|
import { useOnResize } from "./use-on-resize";
|
|
104
104
|
import { useOnResizeTable } from "./use-on-resize-table";
|
|
105
|
+
import { useOnSetOutlineDepth } from "./use-on-set-outline-depth";
|
|
105
106
|
import { useOnShowColumn } from "./use-on-show-column";
|
|
106
107
|
import { useOnShowRow } from "./use-on-show-row";
|
|
107
108
|
import { useOnSortColumn } from "./use-on-sort-column";
|
|
108
109
|
import { useOnSortRange } from "./use-on-sort-range";
|
|
109
110
|
import { useOnSortTable } from "./use-on-sort-table";
|
|
111
|
+
import { useOnSubtotal } from "./use-on-subtotal";
|
|
110
112
|
import { useOnTable } from "./use-on-table";
|
|
111
113
|
import { useOnTraceDependentsPrecedents } from "./use-on-trace-dependents-precedents";
|
|
114
|
+
import { useOnUngroupColumns } from "./use-on-ungroup-columns";
|
|
115
|
+
import { useOnUngroupRows } from "./use-on-ungroup-rows";
|
|
112
116
|
import { useOnUpdateNamedRange } from "./use-on-update-named-range";
|
|
113
117
|
import { useOnUpdateNote } from "./use-on-update-note";
|
|
114
118
|
import { useOnUpdateSheet } from "./use-on-update-sheet";
|
|
@@ -118,12 +122,8 @@ import { useSheetObserver } from "./use-sheet-observer";
|
|
|
118
122
|
import { useSheetProperties } from "./use-sheet-properties";
|
|
119
123
|
import { useSheetState } from "./use-sheet-state";
|
|
120
124
|
import { useSheetDataSubscriber } from "./use-sheetdata-subscriber";
|
|
125
|
+
import { useSlicers } from "./use-slicers";
|
|
121
126
|
import { useSplitTextToColumns } from "./use-split-text-to-columns";
|
|
122
|
-
import { useOnLocaleChange } from "./use-on-locale-change";
|
|
123
|
-
import { useOnRemoveDuplicates } from "./use-on-remove-duplicates";
|
|
124
|
-
import { useOnGoalSeek } from "./use-on-goal-seek";
|
|
125
|
-
import { useOnSubtotal } from "./use-on-subtotal";
|
|
126
|
-
import { useOnAdvancedFilter } from "./use-on-advanced-filter";
|
|
127
127
|
import { useSharedStringRegistry } from "./use-ss-registry";
|
|
128
128
|
import { useStructuredReference } from "./use-structured-reference";
|
|
129
129
|
import { useUndoRedo } from "./use-undo-redo";
|
|
@@ -528,7 +528,7 @@ sanitizeHtml, }) => {
|
|
|
528
528
|
enabled: calculationMode !== "worker",
|
|
529
529
|
});
|
|
530
530
|
// Use the appropriate calculation hook based on mode
|
|
531
|
-
const { enqueueCalculation, enqueueGraphOperation, enqueueStructureChange, clearRangeCache, onRequestCalculate: onRequestCalculateWithoutFormatting, getPrecedents, getDependents, getPrecedentsFromFormulaString, getGraphNodes, getGraphNodesInSheet, addStaticReference, addFormulaToGraph, removeStaticReference, onResetCalculator, getDependencyGraph, updateDependencyGraph, isArrayFormula, applyNamedRanges, } = calculationMode === "worker" ? workerCalculation : singleCalculation;
|
|
531
|
+
const { enqueueCalculation, enqueueGraphOperation, enqueueStructureChange, clearRangeCache, onRequestCalculate: onRequestCalculateWithoutFormatting, getPrecedents, getDependents, getPrecedentsFromFormulaString, getGraphNodes, getGraphNodesInSheet, addStaticReference, addFormulaToGraph, removeStaticReference, onResetCalculator, getDependencyGraph, updateDependencyGraph, isArrayFormula, getArrayRange, applyNamedRanges, } = calculationMode === "worker" ? workerCalculation : singleCalculation;
|
|
532
532
|
// Bind the forward-ref so `useSheetProperties.getEffectiveFormat` can walk
|
|
533
533
|
// precedents now that the calculator is initialised.
|
|
534
534
|
getPrecedentsRef.current = getPrecedents;
|
|
@@ -1052,8 +1052,14 @@ sanitizeHtml, }) => {
|
|
|
1052
1052
|
onChangeDataValidations,
|
|
1053
1053
|
onChangeCitations,
|
|
1054
1054
|
onChangePivotTables,
|
|
1055
|
+
onChangeNamedRanges,
|
|
1056
|
+
onChangeEmbeds,
|
|
1057
|
+
onChangeCharts,
|
|
1058
|
+
onChangeProtectedRanges,
|
|
1055
1059
|
getSheetName,
|
|
1056
1060
|
onCommand,
|
|
1061
|
+
tables,
|
|
1062
|
+
getArrayRange,
|
|
1057
1063
|
});
|
|
1058
1064
|
// Delete row
|
|
1059
1065
|
const onDeleteColumn = useOnDeleteColumn({
|
|
@@ -1080,8 +1086,14 @@ sanitizeHtml, }) => {
|
|
|
1080
1086
|
onChangeDataValidations,
|
|
1081
1087
|
onChangeCitations,
|
|
1082
1088
|
onChangePivotTables,
|
|
1089
|
+
onChangeNamedRanges,
|
|
1090
|
+
onChangeEmbeds,
|
|
1091
|
+
onChangeCharts,
|
|
1092
|
+
onChangeProtectedRanges,
|
|
1083
1093
|
getSheetName,
|
|
1084
1094
|
onCommand,
|
|
1095
|
+
tables,
|
|
1096
|
+
getArrayRange,
|
|
1085
1097
|
});
|
|
1086
1098
|
// Delete cells shift up
|
|
1087
1099
|
const onDeleteCellsShiftUp = useOnDeleteCellsShiftUp({
|
|
@@ -1093,13 +1105,19 @@ sanitizeHtml, }) => {
|
|
|
1093
1105
|
getActiveCell,
|
|
1094
1106
|
getSelections,
|
|
1095
1107
|
getDependents,
|
|
1108
|
+
getSheetName,
|
|
1096
1109
|
enqueueGraphOperation,
|
|
1097
1110
|
enqueueCalculation,
|
|
1098
1111
|
enqueueStructureChange,
|
|
1099
1112
|
createHistory,
|
|
1100
1113
|
onChangeSheets,
|
|
1101
1114
|
onChangeSheetData,
|
|
1115
|
+
onChangeTables,
|
|
1116
|
+
onChangeCitations,
|
|
1102
1117
|
onCommand,
|
|
1118
|
+
sheetData,
|
|
1119
|
+
sheets,
|
|
1120
|
+
tables,
|
|
1103
1121
|
});
|
|
1104
1122
|
// Delete cells shift left
|
|
1105
1123
|
const onDeleteCellsShiftLeft = useOnDeleteCellsShiftLeft({
|
|
@@ -1111,13 +1129,19 @@ sanitizeHtml, }) => {
|
|
|
1111
1129
|
getActiveCell,
|
|
1112
1130
|
getSelections,
|
|
1113
1131
|
getDependents,
|
|
1132
|
+
getSheetName,
|
|
1114
1133
|
enqueueGraphOperation,
|
|
1115
1134
|
enqueueCalculation,
|
|
1116
1135
|
enqueueStructureChange,
|
|
1117
1136
|
createHistory,
|
|
1118
1137
|
onChangeSheets,
|
|
1119
1138
|
onChangeSheetData,
|
|
1139
|
+
onChangeTables,
|
|
1140
|
+
onChangeCitations,
|
|
1120
1141
|
onCommand,
|
|
1142
|
+
sheetData,
|
|
1143
|
+
sheets,
|
|
1144
|
+
tables,
|
|
1121
1145
|
});
|
|
1122
1146
|
// Insert cells shift right
|
|
1123
1147
|
const onInsertCellsShiftRight = useOnInsertCellsShiftRight({
|
|
@@ -1129,13 +1153,19 @@ sanitizeHtml, }) => {
|
|
|
1129
1153
|
getActiveCell,
|
|
1130
1154
|
getSelections,
|
|
1131
1155
|
getDependents,
|
|
1156
|
+
getSheetName,
|
|
1132
1157
|
enqueueGraphOperation,
|
|
1133
1158
|
enqueueCalculation,
|
|
1134
1159
|
enqueueStructureChange,
|
|
1135
1160
|
createHistory,
|
|
1136
1161
|
onChangeSheets,
|
|
1137
1162
|
onChangeSheetData,
|
|
1163
|
+
onChangeTables,
|
|
1164
|
+
onChangeCitations,
|
|
1138
1165
|
onCommand,
|
|
1166
|
+
sheetData,
|
|
1167
|
+
sheets,
|
|
1168
|
+
tables,
|
|
1139
1169
|
});
|
|
1140
1170
|
// Delete cells shift up
|
|
1141
1171
|
const onInsertCellsShiftDown = useOnInsertCellsShiftDown({
|
|
@@ -1147,13 +1177,19 @@ sanitizeHtml, }) => {
|
|
|
1147
1177
|
getActiveCell,
|
|
1148
1178
|
getSelections,
|
|
1149
1179
|
getDependents,
|
|
1180
|
+
getSheetName,
|
|
1150
1181
|
enqueueGraphOperation,
|
|
1151
1182
|
enqueueCalculation,
|
|
1152
1183
|
enqueueStructureChange,
|
|
1153
1184
|
createHistory,
|
|
1154
1185
|
onChangeSheets,
|
|
1155
1186
|
onChangeSheetData,
|
|
1187
|
+
onChangeTables,
|
|
1188
|
+
onChangeCitations,
|
|
1156
1189
|
onCommand,
|
|
1190
|
+
sheetData,
|
|
1191
|
+
sheets,
|
|
1192
|
+
tables,
|
|
1157
1193
|
});
|
|
1158
1194
|
// Insert row
|
|
1159
1195
|
const onInsertRow = useOnInsertRow({
|
|
@@ -1161,6 +1197,7 @@ sanitizeHtml, }) => {
|
|
|
1161
1197
|
columnCount,
|
|
1162
1198
|
locale,
|
|
1163
1199
|
maxRowCount,
|
|
1200
|
+
sheetData,
|
|
1164
1201
|
cellXfsRegistry,
|
|
1165
1202
|
getActiveCell,
|
|
1166
1203
|
getSelections,
|
|
@@ -1177,6 +1214,10 @@ sanitizeHtml, }) => {
|
|
|
1177
1214
|
onChangeDataValidations,
|
|
1178
1215
|
onChangeCitations,
|
|
1179
1216
|
onChangePivotTables,
|
|
1217
|
+
onChangeNamedRanges,
|
|
1218
|
+
onChangeEmbeds,
|
|
1219
|
+
onChangeCharts,
|
|
1220
|
+
onChangeProtectedRanges,
|
|
1180
1221
|
onChangeTables,
|
|
1181
1222
|
getSheetName,
|
|
1182
1223
|
onCommand,
|
|
@@ -1188,6 +1229,7 @@ sanitizeHtml, }) => {
|
|
|
1188
1229
|
locale,
|
|
1189
1230
|
tables,
|
|
1190
1231
|
maxColumnCount,
|
|
1232
|
+
sheetData,
|
|
1191
1233
|
cellXfsRegistry,
|
|
1192
1234
|
sharedStringRegistry,
|
|
1193
1235
|
getDependents,
|
|
@@ -1204,6 +1246,10 @@ sanitizeHtml, }) => {
|
|
|
1204
1246
|
onChangeDataValidations,
|
|
1205
1247
|
onChangeCitations,
|
|
1206
1248
|
onChangePivotTables,
|
|
1249
|
+
onChangeNamedRanges,
|
|
1250
|
+
onChangeEmbeds,
|
|
1251
|
+
onChangeCharts,
|
|
1252
|
+
onChangeProtectedRanges,
|
|
1207
1253
|
getActiveCell,
|
|
1208
1254
|
getSelections,
|
|
1209
1255
|
getSheetName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-structured-reference.d.ts","sourceRoot":"","sources":["../../../hooks/use-structured-reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,eAAO,MAAM,sBAAsB,GAAI,oCAIpC;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC,iBAGgB,MAAM,GAAG,SAAS,eAChB,MAAM,EAAE,GAAG,SAAS,WACxB,OAAO,eACH,MAAM,GAAG,SAAS,aACpB,MAAM,QACX,UAAU,KACf,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"use-structured-reference.d.ts","sourceRoot":"","sources":["../../../hooks/use-structured-reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,eAAO,MAAM,sBAAsB,GAAI,oCAIpC;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC,iBAGgB,MAAM,GAAG,SAAS,eAChB,MAAM,EAAE,GAAG,SAAS,WACxB,OAAO,eACH,MAAM,GAAG,SAAS,aACpB,MAAM,QACX,UAAU,KACf,SAAS,GAAG,UA0JlB,CAAC"}
|
|
@@ -15,8 +15,10 @@ export const useStructuredReference = ({ tables, sheetId, getSheetName, }) => {
|
|
|
15
15
|
});
|
|
16
16
|
// Current row
|
|
17
17
|
const { row: rowIndex } = cell;
|
|
18
|
+
// Excel: a structured reference whose table no longer exists (the table
|
|
19
|
+
// was deleted, or every one of its rows) is `#REF!`, never `#NAME?`.
|
|
18
20
|
if (!table) {
|
|
19
|
-
throw new FormulaError("#
|
|
21
|
+
throw new FormulaError("#REF!", "Table could not be found");
|
|
20
22
|
}
|
|
21
23
|
// Special this row item
|
|
22
24
|
if (specialItem === "#This Row") {
|
|
@@ -30,12 +32,14 @@ export const useStructuredReference = ({ tables, sheetId, getSheetName, }) => {
|
|
|
30
32
|
const [from, to] = columnNames ?? [];
|
|
31
33
|
const startColIndex = getColumnIndexFromColumnName(table, from);
|
|
32
34
|
const endColIndex = getColumnIndexFromColumnName(table, to);
|
|
33
|
-
// Exit early, if column could not be found
|
|
35
|
+
// Exit early, if column could not be found. Excel: a reference to a
|
|
36
|
+
// column the table does not have — including the `#REF!` specifier a
|
|
37
|
+
// column delete writes (`Table1[@#REF!]`) — is `#REF!`.
|
|
34
38
|
if (!isNil(to) && isNil(endColIndex)) {
|
|
35
|
-
throw new FormulaError("#
|
|
39
|
+
throw new FormulaError("#REF!", `Column not found ${to}`);
|
|
36
40
|
}
|
|
37
41
|
if (!isNil(from) && isNil(startColIndex)) {
|
|
38
|
-
throw new FormulaError("#
|
|
42
|
+
throw new FormulaError("#REF!", `Column not found ${from}`);
|
|
39
43
|
}
|
|
40
44
|
const startColumnIndex = isNil(startColIndex)
|
|
41
45
|
? range.startColumnIndex
|
|
@@ -92,10 +96,10 @@ export const useStructuredReference = ({ tables, sheetId, getSheetName, }) => {
|
|
|
92
96
|
}
|
|
93
97
|
// If column is not found, lets not select anything
|
|
94
98
|
if (from && isNil(startColIndex)) {
|
|
95
|
-
throw new FormulaError("#
|
|
99
|
+
throw new FormulaError("#REF!", `Column: ${from} could not be found`);
|
|
96
100
|
}
|
|
97
101
|
if (to && isNil(endColIndex)) {
|
|
98
|
-
throw new FormulaError("#
|
|
102
|
+
throw new FormulaError("#REF!", `Column: ${to} could not be found`);
|
|
99
103
|
}
|
|
100
104
|
// Check if thisrow is active and current cell is in bounds
|
|
101
105
|
if (thisRow &&
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -20,8 +20,11 @@ export * from "./helpers";
|
|
|
20
20
|
export * from "./api/fill";
|
|
21
21
|
export * from "./api/immer-utils";
|
|
22
22
|
export * from "./api/range";
|
|
23
|
+
export * from "./api/anchored-objects";
|
|
23
24
|
export * from "./atoms";
|
|
24
25
|
export * from "./api/formula";
|
|
26
|
+
export * from "./api/structural-guards";
|
|
27
|
+
export * from "./constants";
|
|
25
28
|
export * from "./types";
|
|
26
29
|
export * from "./commands";
|
|
27
30
|
export type { ClearType } from "./interface/delete-cells";
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,WAAW,EACX,SAAS,EACT,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,2BAA2B,GACjC,MAAM,qBAAqB,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,WAAW,EACX,SAAS,EACT,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,2BAA2B,GACjC,MAAM,qBAAqB,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -20,8 +20,11 @@ export * from "./helpers";
|
|
|
20
20
|
export * from "./api/fill";
|
|
21
21
|
export * from "./api/immer-utils";
|
|
22
22
|
export * from "./api/range";
|
|
23
|
+
export * from "./api/anchored-objects";
|
|
23
24
|
export * from "./atoms";
|
|
24
25
|
export * from "./api/formula";
|
|
26
|
+
export * from "./api/structural-guards";
|
|
27
|
+
export * from "./constants";
|
|
25
28
|
export * from "./types";
|
|
26
29
|
export * from "./commands";
|
|
27
30
|
// Register
|
|
@@ -60,6 +60,15 @@ export declare class CalculationInterface {
|
|
|
60
60
|
private ensureWorkerMetadata;
|
|
61
61
|
private isClientOnlyFormula;
|
|
62
62
|
private executeOperations;
|
|
63
|
+
/**
|
|
64
|
+
* Mirror a dynamic-array anchor's spill rectangle on the local graph (a
|
|
65
|
+
* matrix result registers it, a scalar clears it) so structural edits can
|
|
66
|
+
* find the projected cells of an anchor they delete — the same bookkeeping
|
|
67
|
+
* the React worker hook does in `handleArrayEvaluation`.
|
|
68
|
+
*/
|
|
69
|
+
private trackArrayResult;
|
|
70
|
+
/** The spill rectangle currently anchored at `position`, if it is a dynamic array. */
|
|
71
|
+
getArrayRange(position: CellCoordinate): CellCoordinateRange | undefined;
|
|
63
72
|
private createDefaultWorker;
|
|
64
73
|
private ensureWorker;
|
|
65
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculation-interface.d.ts","sourceRoot":"","sources":["../../../interface/calculation-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"calculation-interface.d.ts","sourceRoot":"","sources":["../../../interface/calculation-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAEL,KAAK,oBAAoB,EAS1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,UAAU,EACV,2BAA2B,EAC3B,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGvE,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,iBAAiB;IACzB,UAAU,CAAC,EAAE,UAAU;CACxB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;IACnD,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC;IACzC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClD,SAAS,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,SAAS,IAAI,SAAS,EAAE,CAAC;IACzB,cAAc,IAAI,UAAU,EAAE,CAAC;IAC/B,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;IACvE,iBAAiB,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,oBAAoB,CAAC;IACxB,2BAA2B,CAAC,CAC1B,eAAe,EAAE,gBAAgB,EACjC,QAAQ,CAAC,EAAE,MAAM,gBAAgB,GAChC,oBAAoB,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IACnD,kBAAkB,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;CACzD,CAAC;AA2EF,qBAAa,oBAAoB;IAWnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,qBAAqB,CAAM;IACnC,OAAO,CAAC,YAAY,CAAoC;gBAE3B,OAAO,EAAE,2BAA2B;IAsDjE,kBAAkB,GAAI,WAAW,oBAAoB,UAEnD;IAEF,qBAAqB,GAAI,WAAW,oBAAoB,UAEtD;IAEF,sBAAsB,GAAI,SAAS,eAAe,UAGhD;IAEF,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,mBAAmB;IAI1D,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,mBAAmB;IAI1D,QAAQ;IAIR,eAAe,CAAC,OAAO,EAAE,MAAM;IAI/B,iBAAiB,aAEf;IAEI,KAAK;IAcL,gBAAgB;IAehB,SAAS,CAAC,UAAU,EAAE,oBAAoB,EAAE;IAOlD,YAAY,CAAC,UAAU,EAAE,oBAAoB,EAAE;IAqB/C,OAAO;IAIP,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,sBAAsB;YAOhB,oBAAoB;IAelC,OAAO,CAAC,mBAAmB;YAcb,iBAAiB;IA2C/B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAkBxB,sFAAsF;IACtF,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,mBAAmB,GAAG,SAAS;IAIxE,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,YAAY;CAuDrB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { resolveSheetSpan } from "@rowsncolumns/utils";
|
|
2
1
|
import { CalculationGraph, CalculationWorkerClient, createNamedRangeResolver, createStructuredReferenceResolver, enqueueCalculationOperations, mapOperationToGraphOperation, } from "@rowsncolumns/calculation-worker/server";
|
|
3
2
|
import { FormulaError } from "@rowsncolumns/fast-formula-parser";
|
|
3
|
+
import { resolveSheetSpan } from "@rowsncolumns/utils";
|
|
4
4
|
const isSerializedFormulaError = (value) => {
|
|
5
5
|
return Boolean(value &&
|
|
6
6
|
typeof value === "object" &&
|
|
@@ -279,12 +279,43 @@ export class CalculationInterface {
|
|
|
279
279
|
return this.options.getEffectiveStructuredValue(value, property);
|
|
280
280
|
},
|
|
281
281
|
});
|
|
282
|
-
const expandedResults = results.flatMap((result) =>
|
|
282
|
+
const expandedResults = results.flatMap((result) => {
|
|
283
|
+
this.trackArrayResult(result);
|
|
284
|
+
return expandWorkerResult(result);
|
|
285
|
+
});
|
|
283
286
|
if (expandedResults.length) {
|
|
284
287
|
this.options.onResults(expandedResults);
|
|
285
288
|
}
|
|
286
289
|
return expandedResults;
|
|
287
290
|
}
|
|
291
|
+
/**
|
|
292
|
+
* Mirror a dynamic-array anchor's spill rectangle on the local graph (a
|
|
293
|
+
* matrix result registers it, a scalar clears it) so structural edits can
|
|
294
|
+
* find the projected cells of an anchor they delete — the same bookkeeping
|
|
295
|
+
* the React worker hook does in `handleArrayEvaluation`.
|
|
296
|
+
*/
|
|
297
|
+
trackArrayResult(result) {
|
|
298
|
+
if (!result.position)
|
|
299
|
+
return;
|
|
300
|
+
const position = result.position;
|
|
301
|
+
const matrix = normalizeMatrixValue(deserializeWorkerValue(result.value));
|
|
302
|
+
if (!matrix) {
|
|
303
|
+
this.graph.unregisterArrayFormula(position);
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
const columns = Math.max(1, ...matrix.map((row) => row.length));
|
|
307
|
+
this.graph.registerArrayFormula(position, {
|
|
308
|
+
sheetId: position.sheetId,
|
|
309
|
+
startRowIndex: position.rowIndex,
|
|
310
|
+
startColumnIndex: position.columnIndex,
|
|
311
|
+
endRowIndex: position.rowIndex + matrix.length - 1,
|
|
312
|
+
endColumnIndex: position.columnIndex + columns - 1,
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
/** The spill rectangle currently anchored at `position`, if it is a dynamic array. */
|
|
316
|
+
getArrayRange(position) {
|
|
317
|
+
return this.graph.getArrayRange(position);
|
|
318
|
+
}
|
|
288
319
|
createDefaultWorker() {
|
|
289
320
|
if (typeof require !== "function") {
|
|
290
321
|
throw new Error("createCalculationWorker must be provided outside of Node.js.");
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type { CellInterface, SelectionArea } from "@rowsncolumns/common-types";
|
|
2
2
|
import type { CellData, SelectionAttributes, Sheet } from "@rowsncolumns/spreadsheet";
|
|
3
3
|
import type { UseOnDeleteCellsShiftLeftProps } from "../hooks/use-on-delete-cells-shift-left";
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Delete cells ▸ Shift cells left (SHF-04) — the horizontal twin of `deleteCellsShiftUp`: only the
|
|
6
|
+
* selection's rows move, the selected block is removed and every cell to its right slides left by
|
|
7
|
+
* the block's width. A reference to a deleted cell becomes `#REF!`; one to a cell that slid left
|
|
8
|
+
* follows it; a range entirely inside the block's rows that the block partially covers contracts.
|
|
9
|
+
* Refusals (torn merge/table/array) are decided by the hook before this runs.
|
|
10
|
+
*/
|
|
11
|
+
export declare const deleteCellsShiftLeft: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, getSheetName, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeCitations, }: UseOnDeleteCellsShiftLeftProps<T, S>) => (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
5
12
|
//# sourceMappingURL=delete-cells-shift-left.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-cells-shift-left.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells-shift-left.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"delete-cells-shift-left.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells-shift-left.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAgBnC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAI9F;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8RAkBvE,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,MAEnC,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAqRnD,CAAC"}
|