@rowsncolumns/spreadsheet-state 29.1.0 → 29.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/cjs/api/anchored-objects.d.ts +9 -1
  2. package/dist/cjs/api/anchored-objects.d.ts.map +1 -1
  3. package/dist/cjs/api/anchored-objects.js +24 -0
  4. package/dist/cjs/atoms/editing-data-validation-id.atom.d.ts +15 -0
  5. package/dist/cjs/atoms/editing-data-validation-id.atom.d.ts.map +1 -1
  6. package/dist/cjs/atoms/editing-data-validation-id.atom.js +18 -0
  7. package/dist/cjs/components/editors/data-validation-editor.d.ts.map +1 -1
  8. package/dist/cjs/components/editors/data-validation-editor.js +17 -12
  9. package/dist/cjs/hooks/use-on-delete-sheet.d.ts +2 -1
  10. package/dist/cjs/hooks/use-on-delete-sheet.d.ts.map +1 -1
  11. package/dist/cjs/hooks/use-on-delete-sheet.js +3 -1
  12. package/dist/cjs/hooks/use-on-request-data-validation.d.ts +7 -0
  13. package/dist/cjs/hooks/use-on-request-data-validation.d.ts.map +1 -1
  14. package/dist/cjs/hooks/use-on-request-data-validation.js +23 -11
  15. package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
  16. package/dist/cjs/hooks/use-spreadsheet-state.js +1 -0
  17. package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
  18. package/dist/cjs/interface/delete-cells-shift-left.js +8 -2
  19. package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
  20. package/dist/cjs/interface/delete-cells-shift-up.js +8 -2
  21. package/dist/cjs/interface/delete-cells.d.ts.map +1 -1
  22. package/dist/cjs/interface/delete-cells.js +27 -21
  23. package/dist/cjs/interface/delete-column.d.ts.map +1 -1
  24. package/dist/cjs/interface/delete-column.js +8 -2
  25. package/dist/cjs/interface/delete-row.d.ts.map +1 -1
  26. package/dist/cjs/interface/delete-row.js +8 -2
  27. package/dist/cjs/interface/delete-sheet.d.ts +1 -1
  28. package/dist/cjs/interface/delete-sheet.d.ts.map +1 -1
  29. package/dist/cjs/interface/delete-sheet.js +32 -2
  30. package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
  31. package/dist/cjs/interface/insert-cells-shift-down.js +2 -1
  32. package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
  33. package/dist/cjs/interface/insert-cells-shift-right.js +2 -1
  34. package/dist/cjs/interface/insert-column.d.ts.map +1 -1
  35. package/dist/cjs/interface/insert-column.js +2 -1
  36. package/dist/cjs/interface/insert-row.d.ts.map +1 -1
  37. package/dist/cjs/interface/insert-row.js +2 -1
  38. package/dist/esm/api/anchored-objects.d.ts +9 -1
  39. package/dist/esm/api/anchored-objects.d.ts.map +1 -1
  40. package/dist/esm/api/anchored-objects.js +24 -0
  41. package/dist/esm/atoms/editing-data-validation-id.atom.d.ts +15 -0
  42. package/dist/esm/atoms/editing-data-validation-id.atom.d.ts.map +1 -1
  43. package/dist/esm/atoms/editing-data-validation-id.atom.js +12 -0
  44. package/dist/esm/components/editors/data-validation-editor.d.ts.map +1 -1
  45. package/dist/esm/components/editors/data-validation-editor.js +17 -12
  46. package/dist/esm/hooks/use-on-delete-sheet.d.ts +2 -1
  47. package/dist/esm/hooks/use-on-delete-sheet.d.ts.map +1 -1
  48. package/dist/esm/hooks/use-on-delete-sheet.js +3 -1
  49. package/dist/esm/hooks/use-on-request-data-validation.d.ts +7 -0
  50. package/dist/esm/hooks/use-on-request-data-validation.d.ts.map +1 -1
  51. package/dist/esm/hooks/use-on-request-data-validation.js +23 -11
  52. package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
  53. package/dist/esm/hooks/use-spreadsheet-state.js +1 -0
  54. package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
  55. package/dist/esm/interface/delete-cells-shift-left.js +8 -2
  56. package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
  57. package/dist/esm/interface/delete-cells-shift-up.js +8 -2
  58. package/dist/esm/interface/delete-cells.d.ts.map +1 -1
  59. package/dist/esm/interface/delete-cells.js +22 -16
  60. package/dist/esm/interface/delete-column.d.ts.map +1 -1
  61. package/dist/esm/interface/delete-column.js +8 -2
  62. package/dist/esm/interface/delete-row.d.ts.map +1 -1
  63. package/dist/esm/interface/delete-row.js +8 -2
  64. package/dist/esm/interface/delete-sheet.d.ts +1 -1
  65. package/dist/esm/interface/delete-sheet.d.ts.map +1 -1
  66. package/dist/esm/interface/delete-sheet.js +20 -1
  67. package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
  68. package/dist/esm/interface/insert-cells-shift-down.js +2 -1
  69. package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
  70. package/dist/esm/interface/insert-cells-shift-right.js +2 -1
  71. package/dist/esm/interface/insert-column.d.ts.map +1 -1
  72. package/dist/esm/interface/insert-column.js +2 -1
  73. package/dist/esm/interface/insert-row.d.ts.map +1 -1
  74. package/dist/esm/interface/insert-row.js +2 -1
  75. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"delete-sheet.d.ts","sourceRoot":"","sources":["../../../interface/delete-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAc,MAAM,2BAA2B,CAAC;AAO7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAG1E,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,+QAe9D,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,MACpB,SAAS,MAAM,SAgPxB,CAAC"}
1
+ {"version":3,"file":"delete-sheet.d.ts","sourceRoot":"","sources":["../../../interface/delete-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAc,MAAM,2BAA2B,CAAC;AAO7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAG1E,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,kSAgB9D,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,MACpB,SAAS,MAAM,SAuQxB,CAAC"}
@@ -1,11 +1,11 @@
1
- import { __read } from "tslib";
1
+ import { __read, __values } from "tslib";
2
2
  import { sortSheetsByIndex } from "@rowsncolumns/utils";
3
3
  import { produceWithPatches } from "immer";
4
4
  import { removeChartSpecRangesOnSheet } from "../api/anchored-objects";
5
5
  import { createSheetCellIdentifier } from "../api/formula";
6
6
  import { NAMED_RANGE_REF_ERROR } from "../api/named-range-structural";
7
7
  export var deleteSheet = function (_a) {
8
- var sheets = _a.sheets, onChangeSheetData = _a.onChangeSheetData, onChangeActiveSheet = _a.onChangeActiveSheet, onChangeSheets = _a.onChangeSheets, onChangeCharts = _a.onChangeCharts, onChangeEmbeds = _a.onChangeEmbeds, onChangeSlicers = _a.onChangeSlicers, onChangeTables = _a.onChangeTables, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeDataValidations = _a.onChangeDataValidations, onChangeNamedRanges = _a.onChangeNamedRanges, onChangeProtectedRanges = _a.onChangeProtectedRanges, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation;
8
+ var sheets = _a.sheets, onChangeSheetData = _a.onChangeSheetData, onChangeActiveSheet = _a.onChangeActiveSheet, onChangeSheets = _a.onChangeSheets, onChangeCharts = _a.onChangeCharts, onChangeEmbeds = _a.onChangeEmbeds, onChangeSlicers = _a.onChangeSlicers, onChangeTables = _a.onChangeTables, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeDataValidations = _a.onChangeDataValidations, onChangeNamedRanges = _a.onChangeNamedRanges, onChangeProtectedRanges = _a.onChangeProtectedRanges, onChangeCitations = _a.onChangeCitations, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation;
9
9
  return function (sheetId) {
10
10
  var saveHistory = createHistory();
11
11
  var sortedSheets = sortSheetsByIndex(sheets).filter(function (sheet) { return !sheet.hidden; });
@@ -40,6 +40,36 @@ export var deleteSheet = function (_a) {
40
40
  });
41
41
  return nextState;
42
42
  });
43
+ // Retire the citations anchored on the deleted sheet. Soft-delete keeps the
44
+ // record for provenance / undo and hides it from the UI; the patch rides the
45
+ // same history entry as the sheet removal so one undo restores both.
46
+ onChangeCitations === null || onChangeCitations === void 0 ? void 0 : onChangeCitations(function (prevCitations) {
47
+ var updatedAt = new Date().toISOString();
48
+ var _a = __read(produceWithPatches(prevCitations, function (draft) {
49
+ var e_1, _a;
50
+ try {
51
+ for (var draft_1 = __values(draft), draft_1_1 = draft_1.next(); !draft_1_1.done; draft_1_1 = draft_1.next()) {
52
+ var citation = draft_1_1.value;
53
+ if (citation.active !== false && citation.range.sheetId === sheetId) {
54
+ citation.active = false;
55
+ citation.updated_at = updatedAt;
56
+ }
57
+ }
58
+ }
59
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
60
+ finally {
61
+ try {
62
+ if (draft_1_1 && !draft_1_1.done && (_a = draft_1.return)) _a.call(draft_1);
63
+ }
64
+ finally { if (e_1) throw e_1.error; }
65
+ }
66
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
67
+ if (patches.length === 0) {
68
+ return prevCitations;
69
+ }
70
+ saveHistory({ citations: { patches: patches, inversePatches: inversePatches } });
71
+ return nextState;
72
+ });
43
73
  // Add cells to recalc
44
74
  onChangeSheetData === null || onChangeSheetData === void 0 ? void 0 : onChangeSheetData(function (prevSheetData) {
45
75
  var _a = __read(produceWithPatches(prevSheetData, function (draft) {
@@ -1 +1 @@
1
- {"version":3,"file":"insert-cells-shift-down.d.ts","sourceRoot":"","sources":["../../../interface/insert-cells-shift-down.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAgB5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAIzF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBvE,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,MAE9B,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAwRnD,CAAC"}
1
+ {"version":3,"file":"insert-cells-shift-down.d.ts","sourceRoot":"","sources":["../../../interface/insert-cells-shift-down.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAgB5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAIzF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBvE,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,MAE9B,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAyRnD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { __read, __spreadArray, __values } from "tslib";
2
2
  import { produceWithPatches } from "immer";
3
- import { shiftChartsOnCellShift } from "../api/anchored-objects";
3
+ import { refreshCitationAnchor, shiftChartsOnCellShift } from "../api/anchored-objects";
4
4
  import { collectUniqueDependentsForRange, processSideEffectDependentCells, } from "../api/dependency";
5
5
  import { createSheetCellIdentifier, expandRangesInFormula } from "../api/formula";
6
6
  import { cloneCellWithFormatting, createSheetDraft } from "../api/immer-utils";
@@ -96,6 +96,7 @@ export var insertCellsShiftDown = function (_a) {
96
96
  if (citation.range.startRowIndex >= r1) {
97
97
  citation.range.startRowIndex += count;
98
98
  citation.range.endRowIndex += count;
99
+ refreshCitationAnchor(citation);
99
100
  }
100
101
  }
101
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"insert-cells-shift-right.d.ts","sourceRoot":"","sources":["../../../interface/insert-cells-shift-right.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAiB5E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAI3F;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBxE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,MAE/B,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAyRnD,CAAC"}
1
+ {"version":3,"file":"insert-cells-shift-right.d.ts","sourceRoot":"","sources":["../../../interface/insert-cells-shift-right.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAiB5E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAI3F;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBxE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,MAE/B,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SA0RnD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { __read, __spreadArray, __values } from "tslib";
2
2
  import { createArrayRange } from "@rowsncolumns/utils";
3
3
  import { produceWithPatches } from "immer";
4
- import { shiftChartsOnCellShift } from "../api/anchored-objects";
4
+ import { refreshCitationAnchor, shiftChartsOnCellShift } from "../api/anchored-objects";
5
5
  import { collectUniqueDependentsForRange, processSideEffectDependentCells, } from "../api/dependency";
6
6
  import { createSheetCellIdentifier, expandRangesInFormula } from "../api/formula";
7
7
  import { cloneCellWithFormatting, createSheetDraft } from "../api/immer-utils";
@@ -97,6 +97,7 @@ export var insertCellsShiftRight = function (_a) {
97
97
  if (citation.range.startColumnIndex >= c1) {
98
98
  citation.range.startColumnIndex += count;
99
99
  citation.range.endColumnIndex += count;
100
+ refreshCitationAnchor(citation);
100
101
  }
101
102
  }
102
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"insert-column.d.ts","sourceRoot":"","sources":["../../../interface/insert-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAoC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,ohBA+B/D,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,MACrB,SAAS,MAAM,EAAE,sBAAsB,MAAM,EAAE,mBAAc,SAobtE,CAAC;AAMF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,qRAkBpE,IAAI,CACL,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EACnB,QAAQ,GACR,aAAa,GACb,UAAU,GACV,QAAQ,GACR,iBAAiB,GACjB,sBAAsB,GACtB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,oBAAoB,GACpB,wBAAwB,GACxB,uBAAuB,GACvB,eAAe,GACf,cAAc,GACd,gBAAgB,CACnB,MAEG,WAAW,SAAS,EACpB,gBAAgB,MAAM,EACtB,WAAW,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,EAC3C,cAAS,SAwXZ,CAAC"}
1
+ {"version":3,"file":"insert-column.d.ts","sourceRoot":"","sources":["../../../interface/insert-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAqC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,ohBA+B/D,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,MACrB,SAAS,MAAM,EAAE,sBAAsB,MAAM,EAAE,mBAAc,SAqbtE,CAAC;AAMF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,qRAkBpE,IAAI,CACL,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EACnB,QAAQ,GACR,aAAa,GACb,UAAU,GACV,QAAQ,GACR,iBAAiB,GACjB,sBAAsB,GACtB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,oBAAoB,GACpB,wBAAwB,GACxB,uBAAuB,GACvB,eAAe,GACf,cAAc,GACd,gBAAgB,CACnB,MAEG,WAAW,SAAS,EACpB,gBAAgB,MAAM,EACtB,WAAW,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,EAC3C,cAAS,SAwXZ,CAAC"}
@@ -2,7 +2,7 @@ import { __assign, __read, __spreadArray, __values } from "tslib";
2
2
  import { Direction } from "@rowsncolumns/common-types";
3
3
  import { isNil } from "@rowsncolumns/utils";
4
4
  import { produceWithPatches } from "immer";
5
- import { shiftChartsOnStructuralChange, shiftChartsOnTableEdit, shiftEmbedsOnStructuralChange, shiftSlicersOnStructuralChange, shiftProtectedRangesOnStructuralChange, tableBinding, } from "../api/anchored-objects";
5
+ import { shiftChartsOnStructuralChange, shiftChartsOnTableEdit, shiftEmbedsOnStructuralChange, shiftSlicersOnStructuralChange, shiftProtectedRangesOnStructuralChange, refreshCitationAnchor, tableBinding, } from "../api/anchored-objects";
6
6
  import { collectUniqueDependentsForRange, moveFormulaAtPosition, } from "../api/dependency";
7
7
  import { createSheetCellIdentifier, expandRangesInFormula, } from "../api/formula";
8
8
  import { cloneCellWithFormatting, createSheetDraft, inheritedDimensionMetadata, } from "../api/immer-utils";
@@ -148,6 +148,7 @@ export var insertColumn = function (_a) {
148
148
  if (referenceColumnIndex <= citation.range.startColumnIndex) {
149
149
  citation.range.startColumnIndex += numColumns;
150
150
  citation.range.endColumnIndex += numColumns;
151
+ refreshCitationAnchor(citation);
151
152
  }
152
153
  }
153
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"insert-row.d.ts","sourceRoot":"","sources":["../../../interface/insert-row.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAuBjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,yfA6B5D,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,MAClB,SAAS,MAAM,EAAE,mBAAmB,MAAM,EAAE,gBAAW,SA4UhE,CAAC"}
1
+ {"version":3,"file":"insert-row.d.ts","sourceRoot":"","sources":["../../../interface/insert-row.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAwBjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,yfA6B5D,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,MAClB,SAAS,MAAM,EAAE,mBAAmB,MAAM,EAAE,gBAAW,SA6UhE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { __assign, __read, __spreadArray, __values } from "tslib";
2
2
  import { Direction } from "@rowsncolumns/common-types";
3
3
  import { produceWithPatches } from "immer";
4
- import { shiftChartsOnStructuralChange, shiftEmbedsOnStructuralChange, shiftSlicersOnStructuralChange, shiftProtectedRangesOnStructuralChange, } from "../api/anchored-objects";
4
+ import { shiftChartsOnStructuralChange, shiftEmbedsOnStructuralChange, shiftSlicersOnStructuralChange, shiftProtectedRangesOnStructuralChange, refreshCitationAnchor, } from "../api/anchored-objects";
5
5
  import { cloneRowWithFormatting, createSheetDraft, inheritedDimensionMetadata, } from "../api/immer-utils";
6
6
  import { expandMergesOnRowInsert } from "../api/merges";
7
7
  import { updateNamedRangesOnStructuralChange, updatePrintSettingsOnStructuralChange, } from "../api/named-range-structural";
@@ -104,6 +104,7 @@ export var insertRow = function (_a) {
104
104
  if (referenceRowIndex <= citation.range.startRowIndex) {
105
105
  citation.range.startRowIndex += numRows;
106
106
  citation.range.endRowIndex += numRows;
107
+ refreshCitationAnchor(citation);
107
108
  }
108
109
  }
109
110
  }
@@ -1,4 +1,4 @@
1
- import type { CellInterface, GridRange } from "@rowsncolumns/common-types";
1
+ import type { CellInterface, Citation, GridRange } from "@rowsncolumns/common-types";
2
2
  import type { EmbeddedChart, EmbeddedObject, OverlayPosition, OverlayToAnchor, ProtectedRange, Slicer, TableView } from "@rowsncolumns/spreadsheet";
3
3
  import type { Draft } from "immer";
4
4
  import type { RangeBandSpan } from "./formula";
@@ -179,4 +179,12 @@ export declare const growTableBoundChartSpecRanges: (spec: unknown, sheetId: num
179
179
  export declare const shiftChartsOnTableEdit: (draft: Draft<EmbeddedChart>[], sheetId: number, binding: TableBinding, axis: StructuralAxis, op: StructuralOp, index: number, count: number) => void;
180
180
  /** Every chart's table-bound ranges grow / shrink with a resized or auto-expanded table (see `growTableBoundChartSpecRanges`). */
181
181
  export declare const growChartsWithTable: (draft: Draft<EmbeddedChart>[], sheetId: number, binding: TableBinding, rowDelta: number, columnDelta: number) => void;
182
+ /**
183
+ * Re-derive a citation's denormalized `destinationAnchor` from its `range`
184
+ * after a structural row / column / cell shift, so the anchor and the range
185
+ * travel together in the same history entry. A single cell becomes a
186
+ * `sheet_cell` anchor, anything larger a `sheet_range`; a citation without an
187
+ * anchor, or with an anchor of another type, is left alone.
188
+ */
189
+ export declare const refreshCitationAnchor: (citation: Citation) => void;
182
190
  //# sourceMappingURL=anchored-objects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchored-objects.d.ts","sourceRoot":"","sources":["../../../api/anchored-objects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anchored-objects.d.ts","sourceRoot":"","sources":["../../../api/anchored-objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EAEV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,MAAM,EACN,SAAS,EACV,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,CAAC;AAC9C,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,MAAM,EACb,KAAK,MAAM,EACX,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAerB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,aAAa,MAAM,EACnB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,MASF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,aAAa,EACrB,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,aASF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,CAAC,SAAS,SAAS,EAC7D,OAAO,CAAC,EACR,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,CAAC,GAAG,IAgBN,CAAC;AAgBF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,EACb,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,EACb,OAAO,aAAa,KACnB,OA4CF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,KAAK,CAAC,eAAe,CAAC,EAC/B,UAAU,eAAe,GAAG,SAAS,SAWtC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,GACzC,SAAS,KAAK,CAAC,eAAe,CAAC,EAC/B,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,OAAO,GAAG,SA4BZ,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,GACxC,OAAO,KAAK,CAAC,cAAc,CAAC,EAAE,EAC9B,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,SAcd,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,GACzC,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,EACtB,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,SAcd,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,EAC7B,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,SAuBd,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,EAC7B,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,EACb,MAAM,aAAa,SAKpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,GACjD,OAAO,KAAK,CAAC,cAAc,CAAC,EAAE,EAC9B,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,SAyCd,CAAC;AAsDF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,OAAO,EACb,SAAS,MAAM,KACd,OAGA,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,OAAO,EACb,aAAa,MAAM,EACnB,WAAW,MAAM,KAChB,OAGA,CAAC;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,EACb,aAAa,MAAM,EACnB,MAAM,SAAS,EACf,WAAW,MAAM,EACjB,IAAI,SAAS,KACZ,OAyBF,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,qBAAqB,GAChC,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,EAC7B,aAAa,MAAM,EACnB,MAAM,SAAS,EACf,WAAW,MAAM,EACjB,IAAI,SAAS,SAKd,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,SAAS,MAAM,EAAE,EACxB,QAAQ,MAAM,EACd,OAAO,MAAM,KACZ,MASF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,OAAO,EACb,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,OAAO,SAAS,MAAM,EAAE,EACxB,QAAQ,MAAM,KACb,OAqBF,CAAC;AAEF,6GAA6G;AAC7G,eAAO,MAAM,uBAAuB,GAClC,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,EAC7B,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,OAAO,SAAS,MAAM,EAAE,EACxB,QAAQ,MAAM,SAKf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC,KACzD,YASF,CAAC;AA6CF;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,GAC1C,MAAM,OAAO,EACb,SAAS,MAAM,EACf,SAAS,YAAY,EACrB,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,OAmBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,GACxC,MAAM,OAAO,EACb,SAAS,MAAM,EACf,SAAS,YAAY,EACrB,UAAU,MAAM,EAChB,aAAa,MAAM,KAClB,OAkBF,CAAC;AAEF,uHAAuH;AACvH,eAAO,MAAM,sBAAsB,GACjC,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,EAC7B,SAAS,MAAM,EACf,SAAS,YAAY,EACrB,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,SAKd,CAAC;AAEF,kIAAkI;AAClI,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,EAC7B,SAAS,MAAM,EACf,SAAS,YAAY,EACrB,UAAU,MAAM,EAChB,aAAa,MAAM,SAKpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,QAAQ,SAevD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { cellToAddress } from "@rowsncolumns/utils";
1
2
  /**
2
3
  * Shift the `[start, end]` span of a range along the edited axis. Returns the
3
4
  * new span, or `null` when a delete consumes it entirely.
@@ -570,3 +571,26 @@ export const growChartsWithTable = (draft, sheetId, binding, rowDelta, columnDel
570
571
  growTableBoundChartSpecRanges(chart.spec, sheetId, binding, rowDelta, columnDelta);
571
572
  }
572
573
  };
574
+ /**
575
+ * Re-derive a citation's denormalized `destinationAnchor` from its `range`
576
+ * after a structural row / column / cell shift, so the anchor and the range
577
+ * travel together in the same history entry. A single cell becomes a
578
+ * `sheet_cell` anchor, anything larger a `sheet_range`; a citation without an
579
+ * anchor, or with an anchor of another type, is left alone.
580
+ */
581
+ export const refreshCitationAnchor = (citation) => {
582
+ const anchor = citation.destinationAnchor;
583
+ if (!anchor || (anchor.type !== "sheet_cell" && anchor.type !== "sheet_range")) {
584
+ return;
585
+ }
586
+ const { sheetId, startRowIndex, endRowIndex, startColumnIndex, endColumnIndex } = citation.range;
587
+ const start = cellToAddress({ rowIndex: startRowIndex, columnIndex: startColumnIndex });
588
+ const end = cellToAddress({ rowIndex: endRowIndex, columnIndex: endColumnIndex });
589
+ if (!start || !end)
590
+ return;
591
+ if (startRowIndex === endRowIndex && startColumnIndex === endColumnIndex) {
592
+ citation.destinationAnchor = { type: "sheet_cell", sheetId, cell: start };
593
+ return;
594
+ }
595
+ citation.destinationAnchor = { type: "sheet_range", sheetId, range: `${start}:${end}` };
596
+ };
@@ -1,7 +1,22 @@
1
+ import type { DataValidationRuleRecord } from "@rowsncolumns/spreadsheet";
1
2
  export declare const editingDataValidationId: import("jotai").PrimitiveAtom<string | number | undefined> & {
2
3
  init: string | number | undefined;
3
4
  };
4
5
  export declare const useEditingDataValidationIdValue: () => string | number | undefined;
5
6
  export declare const useSetEditingDataValidationId: () => (args_0: string | number | ((prev: string | number | undefined) => string | number | undefined) | undefined) => void;
6
7
  export declare const useEditingDataValidationIdState: () => [string | number | undefined, (args_0: string | number | ((prev: string | number | undefined) => string | number | undefined) | undefined) => void];
8
+ /**
9
+ * A data-validation rule the editor is composing that does NOT exist in the
10
+ * document yet — Excel's Data Validation dialog is transactional (nothing is
11
+ * written until OK). Insert → Dropdown / the ribbon's Data Validation button
12
+ * seed this atom instead of creating the rule; the `DataValidationEditor`
13
+ * resolves the editing id against it when no persisted rule matches, creates
14
+ * it on Save and discards it on Cancel / close.
15
+ */
16
+ export declare const draftDataValidationRule: import("jotai").PrimitiveAtom<DataValidationRuleRecord | undefined> & {
17
+ init: DataValidationRuleRecord | undefined;
18
+ };
19
+ export declare const useDraftDataValidationRuleValue: () => DataValidationRuleRecord | undefined;
20
+ export declare const useSetDraftDataValidationRule: () => (args_0: DataValidationRuleRecord | ((prev: DataValidationRuleRecord | undefined) => DataValidationRuleRecord | undefined) | undefined) => void;
21
+ export declare const useDraftDataValidationRuleState: () => [DataValidationRuleRecord | undefined, (args_0: DataValidationRuleRecord | ((prev: DataValidationRuleRecord | undefined) => DataValidationRuleRecord | undefined) | undefined) => void];
7
22
  //# sourceMappingURL=editing-data-validation-id.atom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editing-data-validation-id.atom.d.ts","sourceRoot":"","sources":["../../../atoms/editing-data-validation-id.atom.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB;;CAExB,CAAC;AAEb,eAAO,MAAM,+BAA+B,mCACL,CAAC;AAExC,eAAO,MAAM,6BAA6B,4HACL,CAAC;AAEtC,eAAO,MAAM,+BAA+B,2JACV,CAAC"}
1
+ {"version":3,"file":"editing-data-validation-id.atom.d.ts","sourceRoot":"","sources":["../../../atoms/editing-data-validation-id.atom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAI1E,eAAO,MAAM,uBAAuB;;CAExB,CAAC;AAEb,eAAO,MAAM,+BAA+B,mCACL,CAAC;AAExC,eAAO,MAAM,6BAA6B,4HACL,CAAC;AAEtC,eAAO,MAAM,+BAA+B,2JACV,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;CAExB,CAAC;AAEb,eAAO,MAAM,+BAA+B,4CACL,CAAC;AAExC,eAAO,MAAM,6BAA6B,uJACL,CAAC;AAEtC,eAAO,MAAM,+BAA+B,+LACV,CAAC"}
@@ -4,3 +4,15 @@ export const editingDataValidationId = atom(undefined);
4
4
  export const useEditingDataValidationIdValue = () => useAtomValue(editingDataValidationId);
5
5
  export const useSetEditingDataValidationId = () => useSetAtom(editingDataValidationId);
6
6
  export const useEditingDataValidationIdState = () => useAtom(editingDataValidationId);
7
+ /**
8
+ * A data-validation rule the editor is composing that does NOT exist in the
9
+ * document yet — Excel's Data Validation dialog is transactional (nothing is
10
+ * written until OK). Insert → Dropdown / the ribbon's Data Validation button
11
+ * seed this atom instead of creating the rule; the `DataValidationEditor`
12
+ * resolves the editing id against it when no persisted rule matches, creates
13
+ * it on Save and discards it on Cancel / close.
14
+ */
15
+ export const draftDataValidationRule = atom(undefined);
16
+ export const useDraftDataValidationRuleValue = () => useAtomValue(draftDataValidationRule);
17
+ export const useSetDraftDataValidationRule = () => useSetAtom(draftDataValidationRule);
18
+ export const useDraftDataValidationRuleState = () => useAtom(draftDataValidationRule);
@@ -1 +1 @@
1
- {"version":3,"file":"data-validation-editor.d.ts","sourceRoot":"","sources":["../../../../components/editors/data-validation-editor.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAoBnC,OAAO,KAA4D,MAAM,OAAO,CAAC;AAIjF,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAQ3C,KAAK,yBAAyB,GAAG;IAC/B,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAC/D,aAAa,EAAE,UAAU,CACvB,OAAO,mBAAmB,CAC3B,CAAC,6BAA6B,CAAC,CAAC;IACjC,YAAY,EAAE,UAAU,CACtB,OAAO,mBAAmB,CAC3B,CAAC,4BAA4B,CAAC,CAAC;IAChC,YAAY,EAAE,UAAU,CACtB,OAAO,mBAAmB,CAC3B,CAAC,4BAA4B,CAAC,CAAC;IAChC,YAAY,EAAE,UAAU,CACtB,OAAO,mBAAmB,CAC3B,CAAC,4BAA4B,CAAC,CAAC;IAChC;;OAEG;IACH,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CAChE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,kIASlC,yBAAyB,sBA+O3B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,eAExC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,sBAyBA,CAAC"}
1
+ {"version":3,"file":"data-validation-editor.d.ts","sourceRoot":"","sources":["../../../../components/editors/data-validation-editor.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAoBnC,OAAO,KAAkD,MAAM,OAAO,CAAC;AAOvE,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAQ3C,KAAK,yBAAyB,GAAG;IAC/B,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAC/D,aAAa,EAAE,UAAU,CACvB,OAAO,mBAAmB,CAC3B,CAAC,6BAA6B,CAAC,CAAC;IACjC,YAAY,EAAE,UAAU,CACtB,OAAO,mBAAmB,CAC3B,CAAC,4BAA4B,CAAC,CAAC;IAChC,YAAY,EAAE,UAAU,CACtB,OAAO,mBAAmB,CAC3B,CAAC,4BAA4B,CAAC,CAAC;IAChC,YAAY,EAAE,UAAU,CACtB,OAAO,mBAAmB,CAC3B,CAAC,4BAA4B,CAAC,CAAC;IAChC;;OAEG;IACH,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CAChE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,kIASlC,yBAAyB,sBAoP3B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,eAExC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,sBAyBA,CAAC"}
@@ -2,9 +2,9 @@ import { CopyIcon, Cross2Icon, Pencil2Icon, PlusIcon, TrashIcon, } from "@rowsnc
2
2
  import { CONDITION_LABELS, getUserSelections, useFocusSheet, useFormulaRangeHelpers, useSpreadsheetApi, } from "@rowsncolumns/spreadsheet";
3
3
  import { Button, Dialog, DialogBody, DialogCloseButton, DialogContent, DialogTitle, IconButton, Separator, Stack, } from "@rowsncolumns/ui";
4
4
  import { uuid } from "@rowsncolumns/utils";
5
- import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
5
+ import React, { useCallback, useEffect, useMemo, useRef } from "react";
6
6
  import { useDataValidationDialogState } from "../../atoms/dialog-state.atom";
7
- import { useEditingDataValidationIdState } from "../../atoms/editing-data-validation-id.atom";
7
+ import { useDraftDataValidationRuleState, useEditingDataValidationIdState, } from "../../atoms/editing-data-validation-id.atom";
8
8
  import { DataValidationRuleEditor } from "./data-validation-rule-editor";
9
9
  import { SheetFilterEmptyState, SheetFilterSelect, useSheetFilter, } from "./sheet-filter";
10
10
  /**
@@ -14,10 +14,12 @@ import { SheetFilterEmptyState, SheetFilterSelect, useSheetFilter, } from "./she
14
14
  */
15
15
  export const DataValidationEditor = ({ sheetId, dataValidations, functionDescriptions, idCreationStrategy, onDeleteRules, onDeleteRule, onCreateRule, onUpdateRule, }) => {
16
16
  const [editingId, setEditingId] = useEditingDataValidationIdState();
17
- // Deferred create: "Add rule" holds the new rule as a local draft and only persists
18
- // it on Save — Excel's dialog is transactional (no rule exists until OK), and an
19
- // eagerly-created stub would survive Cancel/close as a blank, conditionless rule.
20
- const [draftRule, setDraftRule] = useState();
17
+ // Deferred create: "Add rule" and the seeded openers (Insert → Dropdown, the ribbon's
18
+ // Data Validation button via `useOnRequestDataValidation`) hold the new rule as a draft
19
+ // and only persist it on Save — Excel's dialog is transactional (no rule exists until
20
+ // OK), and an eagerly-created stub would survive Cancel/close as a real rule (a blank
21
+ // conditionless one, or a placeholder list that rejects every existing cell value).
22
+ const [draftRule, setDraftRule] = useDraftDataValidationRuleState();
21
23
  const api = useSpreadsheetApi();
22
24
  const { rangeToFormula } = useFormulaRangeHelpers({
23
25
  sheetId,
@@ -73,19 +75,22 @@ export const DataValidationEditor = ({ sheetId, dataValidations, functionDescrip
73
75
  const activeRule = useMemo(() => draftRule && draftRule.id === editingId
74
76
  ? draftRule
75
77
  : dataValidations?.find((rule) => rule.id === editingId), [dataValidations, editingId, draftRule]);
76
- // The editing id lives in a shared atom that outlives this editor. If the dialog
77
- // closes while a draft is being edited, clear it on unmount — otherwise reopening
78
- // the dialog resolves an id with no rule, hiding the Add rule / Remove all footer.
78
+ // The editing id and the draft live in shared atoms that outlive this editor. If the
79
+ // dialog closes while a draft is being edited, clear both on unmount — otherwise
80
+ // reopening the dialog resumes the abandoned draft instead of showing the rule list.
79
81
  const unmountCleanupRef = useRef({ editingId: undefined, draftId: undefined });
80
82
  useEffect(() => {
81
83
  unmountCleanupRef.current = { editingId, draftId: draftRule?.id };
82
84
  }, [editingId, draftRule]);
83
85
  useEffect(() => () => {
84
86
  const { editingId, draftId } = unmountCleanupRef.current;
85
- if (draftId !== undefined && editingId === draftId) {
86
- setEditingId(undefined);
87
+ if (draftId !== undefined) {
88
+ setDraftRule(undefined);
89
+ if (editingId === draftId) {
90
+ setEditingId(undefined);
91
+ }
87
92
  }
88
- }, [setEditingId]);
93
+ }, [setEditingId, setDraftRule]);
89
94
  const unMark = () => {
90
95
  api?.unmark();
91
96
  };
@@ -15,10 +15,11 @@ export type UseOnDeleteSheetProps<T extends CellData, S extends Sheet> = {
15
15
  onChangeDataValidations?: UseSpreadsheetProps<T, S>["onChangeDataValidations"];
16
16
  onChangeNamedRanges?: UseSpreadsheetProps<T, S>["onChangeNamedRanges"];
17
17
  onChangeProtectedRanges?: UseSpreadsheetProps<T, S>["onChangeProtectedRanges"];
18
+ onChangeCitations?: UseSpreadsheetProps<T, S>["onChangeCitations"];
18
19
  enqueueGraphOperation(operation: CalculationOperation): void;
19
20
  onChangeActiveSheet: (sheetId: number) => void;
20
21
  createHistory: () => (patches: SpreadsheetPatch) => void;
21
22
  onCommand?: OnCommand;
22
23
  };
23
- export declare const useOnDeleteSheet: <T extends CellData, S extends Sheet>({ sheets, onChangeSheetData, onChangeActiveSheet, onChangeSheets, onChangeCharts, onChangeEmbeds, onChangeSlicers, onChangeTables, onChangeConditionalFormats, onChangeDataValidations, onChangeNamedRanges, onChangeProtectedRanges, createHistory, enqueueGraphOperation, onCommand, }: UseOnDeleteSheetProps<T, S>) => (sheetId: number) => void;
24
+ export declare const useOnDeleteSheet: <T extends CellData, S extends Sheet>({ sheets, onChangeSheetData, onChangeActiveSheet, onChangeSheets, onChangeCharts, onChangeEmbeds, onChangeSlicers, onChangeTables, onChangeConditionalFormats, onChangeDataValidations, onChangeNamedRanges, onChangeProtectedRanges, onChangeCitations, createHistory, enqueueGraphOperation, onCommand, }: UseOnDeleteSheetProps<T, S>) => (sheetId: number) => void;
24
25
  //# sourceMappingURL=use-on-delete-sheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-on-delete-sheet.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IACvE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,eAAe,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,0BAA0B,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACrF,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/E,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvE,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/E,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7D,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,0RAgBnE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,eAIhB,MAAM,SAqDnB,CAAC"}
1
+ {"version":3,"file":"use-on-delete-sheet.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IACvE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,eAAe,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,0BAA0B,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACrF,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/E,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvE,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7D,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,6SAiBnE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,eAIhB,MAAM,SAuDnB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { useCallback } from "react";
2
2
  import { deleteSheet } from "../interface/delete-sheet";
3
3
  import { useCanEditSheet, useCanEditWorkbook } from "./use-can-edit-cellrange";
4
- export const useOnDeleteSheet = ({ sheets, onChangeSheetData, onChangeActiveSheet, onChangeSheets, onChangeCharts, onChangeEmbeds, onChangeSlicers, onChangeTables, onChangeConditionalFormats, onChangeDataValidations, onChangeNamedRanges, onChangeProtectedRanges, createHistory, enqueueGraphOperation, onCommand, }) => {
4
+ export const useOnDeleteSheet = ({ sheets, onChangeSheetData, onChangeActiveSheet, onChangeSheets, onChangeCharts, onChangeEmbeds, onChangeSlicers, onChangeTables, onChangeConditionalFormats, onChangeDataValidations, onChangeNamedRanges, onChangeProtectedRanges, onChangeCitations, createHistory, enqueueGraphOperation, onCommand, }) => {
5
5
  const canEditSheet = useCanEditSheet();
6
6
  const canEditWorkbook = useCanEditWorkbook();
7
7
  return useCallback((sheetId) => {
@@ -26,6 +26,7 @@ export const useOnDeleteSheet = ({ sheets, onChangeSheetData, onChangeActiveShee
26
26
  onChangeDataValidations,
27
27
  onChangeNamedRanges,
28
28
  onChangeProtectedRanges,
29
+ onChangeCitations,
29
30
  createHistory,
30
31
  enqueueGraphOperation,
31
32
  })(sheetId);
@@ -42,6 +43,7 @@ export const useOnDeleteSheet = ({ sheets, onChangeSheetData, onChangeActiveShee
42
43
  onChangeDataValidations,
43
44
  onChangeNamedRanges,
44
45
  onChangeProtectedRanges,
46
+ onChangeCitations,
45
47
  enqueueGraphOperation,
46
48
  onChangeActiveSheet,
47
49
  createHistory,
@@ -2,6 +2,13 @@ import type { useDataValidationRules } from "./use-data-validation-rules";
2
2
  type UseOnRequestDataValidationProps = {
3
3
  onCreateDataValidationRule?: ReturnType<typeof useDataValidationRules>["onCreateDataValidationRule"];
4
4
  };
5
+ /**
6
+ * Opens the Data Validation dialog. A seeded rule is NOT written to the document
7
+ * while the dialog is showing it: Excel's dialog is transactional (nothing exists
8
+ * until OK), so the rule is handed to the editor as a draft that Save creates and
9
+ * Cancel / close discards. Only a seeded rule with the edit UI suppressed
10
+ * (Insert → Checkbox) is created immediately — there is no dialog to confirm it.
11
+ */
5
12
  export declare const useOnRequestDataValidation: ({ onCreateDataValidationRule, }: UseOnRequestDataValidationProps) => (sheetId: number, activeCell: import("@rowsncolumns/grid").CellInterface, selections: import("@rowsncolumns/grid").SelectionArea<import("@rowsncolumns/spreadsheet").SelectionAttributes>[], initialDataValidationRule?: import("@rowsncolumns/common-types").DataValidationRuleRecord, showEditUI?: boolean) => void;
6
13
  export {};
7
14
  //# sourceMappingURL=use-on-request-data-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-on-request-data-validation.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-request-data-validation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,KAAK,+BAA+B,GAAG;IACrC,0BAA0B,CAAC,EAAE,UAAU,CACrC,OAAO,sBAAsB,CAC9B,CAAC,4BAA4B,CAAC,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,iCAExC,+BAA+B,0TA4BjC,CAAC"}
1
+ {"version":3,"file":"use-on-request-data-validation.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-request-data-validation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,KAAK,+BAA+B,GAAG;IACrC,0BAA0B,CAAC,EAAE,UAAU,CACrC,OAAO,sBAAsB,CAC9B,CAAC,4BAA4B,CAAC,CAAC;CACjC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAAI,iCAExC,+BAA+B,0TAgCjC,CAAC"}
@@ -1,21 +1,33 @@
1
1
  import { useCallback } from "react";
2
2
  import { useSetDataValidationDialogAState } from "../atoms/dialog-state.atom";
3
- import { useSetEditingDataValidationId } from "../atoms/editing-data-validation-id.atom";
3
+ import { useSetDraftDataValidationRule, useSetEditingDataValidationId, } from "../atoms/editing-data-validation-id.atom";
4
+ /**
5
+ * Opens the Data Validation dialog. A seeded rule is NOT written to the document
6
+ * while the dialog is showing it: Excel's dialog is transactional (nothing exists
7
+ * until OK), so the rule is handed to the editor as a draft that Save creates and
8
+ * Cancel / close discards. Only a seeded rule with the edit UI suppressed
9
+ * (Insert → Checkbox) is created immediately — there is no dialog to confirm it.
10
+ */
4
11
  export const useOnRequestDataValidation = ({ onCreateDataValidationRule, }) => {
5
12
  const onOpenChange = useSetDataValidationDialogAState();
6
13
  const setEditingDataValidationId = useSetEditingDataValidationId();
14
+ const setDraftDataValidationRule = useSetDraftDataValidationRule();
7
15
  return useCallback((sheetId, activeCell, selections, initialDataValidationRule, showEditUI = true) => {
8
- if (initialDataValidationRule) {
9
- // Create a new rule
10
- onCreateDataValidationRule?.(initialDataValidationRule);
11
- }
12
- if (showEditUI) {
13
- // Open dialog
14
- onOpenChange(true);
16
+ if (!showEditUI) {
15
17
  if (initialDataValidationRule) {
16
- // Set editing id
17
- setEditingDataValidationId(initialDataValidationRule.id);
18
+ onCreateDataValidationRule?.(initialDataValidationRule);
18
19
  }
20
+ return;
21
+ }
22
+ if (initialDataValidationRule) {
23
+ setDraftDataValidationRule(initialDataValidationRule);
24
+ setEditingDataValidationId(initialDataValidationRule.id);
19
25
  }
20
- }, [onOpenChange, setEditingDataValidationId, onCreateDataValidationRule]);
26
+ onOpenChange(true);
27
+ }, [
28
+ onOpenChange,
29
+ setEditingDataValidationId,
30
+ setDraftDataValidationRule,
31
+ onCreateDataValidationRule,
32
+ ]);
21
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-spreadsheet-state.d.ts","sourceRoot":"","sources":["../../../hooks/use-spreadsheet-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-spreadsheet-state.d.ts","sourceRoot":"","sources":["../../../hooks/use-spreadsheet-state.ts"],"names":[],"mappings":"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"}
@@ -685,6 +685,7 @@ sanitizeHtml, }) => {
685
685
  createHistory,
686
686
  onChangeSheetData,
687
687
  onChangeSheets,
688
+ onChangeCitations,
688
689
  onChangeCharts,
689
690
  onChangeEmbeds,
690
691
  onChangeSlicers,
@@ -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;AACpC,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAiBnC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAI9F;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBvE,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,MAEnC,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAySnD,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;AAiBnC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAI9F;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBvE,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,MAEnC,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SA+SnD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { produceWithPatches } from "immer";
2
- import { shiftChartsOnCellShift } from "../api/anchored-objects";
2
+ import { refreshCitationAnchor, shiftChartsOnCellShift } from "../api/anchored-objects";
3
3
  import { collectUniqueDependentsForRange, moveFormulaAtPosition, } from "../api/dependency";
4
4
  import { contractRangesInFormula } from "../api/formula";
5
5
  import { createSheetDraft } from "../api/immer-utils";
@@ -68,6 +68,7 @@ export const deleteCellsShiftLeft = ({ rowCount, columnCount, locale, cellXfsReg
68
68
  });
69
69
  // Update citations - delete if overlapping, shift back if after
70
70
  onChangeCitations?.((prevCitations) => {
71
+ const updatedAt = new Date().toISOString();
71
72
  const [nextState, patches, inversePatches] = produceWithPatches(prevCitations, (draft) => {
72
73
  for (let idx = draft.length - 1; idx >= 0; idx--) {
73
74
  const citation = draft[idx];
@@ -79,11 +80,16 @@ export const deleteCellsShiftLeft = ({ rowCount, columnCount, locale, cellXfsReg
79
80
  const colsOverlap = !(citation.range.endColumnIndex < c1 ||
80
81
  citation.range.startColumnIndex > c2);
81
82
  if (colsOverlap) {
82
- draft.splice(idx, 1);
83
+ // Soft-delete: keep the record for provenance / undo, hide it from the UI
84
+ if (citation.active !== false) {
85
+ citation.active = false;
86
+ citation.updated_at = updatedAt;
87
+ }
83
88
  }
84
89
  else if (citation.range.startColumnIndex > c2) {
85
90
  citation.range.startColumnIndex -= count;
86
91
  citation.range.endColumnIndex -= count;
92
+ refreshCitationAnchor(citation);
87
93
  }
88
94
  }
89
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delete-cells-shift-up.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells-shift-up.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;AAiBnC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAI1F;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBrE,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,MAEjC,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAuRnD,CAAC"}
1
+ {"version":3,"file":"delete-cells-shift-up.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells-shift-up.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;AAiBnC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAI1F;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBrE,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,MAEjC,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SA6RnD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { produceWithPatches } from "immer";
2
- import { shiftChartsOnCellShift } from "../api/anchored-objects";
2
+ import { refreshCitationAnchor, shiftChartsOnCellShift } from "../api/anchored-objects";
3
3
  import { collectUniqueDependentsForRange, moveFormulaAtPosition, } from "../api/dependency";
4
4
  import { contractRangesInFormula } from "../api/formula";
5
5
  import { createSheetDraft } from "../api/immer-utils";
@@ -69,6 +69,7 @@ export const deleteCellsShiftUp = ({ rowCount, columnCount, locale, cellXfsRegis
69
69
  });
70
70
  // Update citations - delete if overlapping, shift back if after
71
71
  onChangeCitations?.((prevCitations) => {
72
+ const updatedAt = new Date().toISOString();
72
73
  const [nextState, patches, inversePatches] = produceWithPatches(prevCitations, (draft) => {
73
74
  for (let idx = draft.length - 1; idx >= 0; idx--) {
74
75
  const citation = draft[idx];
@@ -80,11 +81,16 @@ export const deleteCellsShiftUp = ({ rowCount, columnCount, locale, cellXfsRegis
80
81
  const rowsOverlap = !(citation.range.endRowIndex < r1 ||
81
82
  citation.range.startRowIndex > r2);
82
83
  if (rowsOverlap) {
83
- draft.splice(idx, 1);
84
+ // Soft-delete: keep the record for provenance / undo, hide it from the UI
85
+ if (citation.active !== false) {
86
+ citation.active = false;
87
+ citation.updated_at = updatedAt;
88
+ }
84
89
  }
85
90
  else if (citation.range.startRowIndex > r2) {
86
91
  citation.range.startRowIndex -= count;
87
92
  citation.range.endRowIndex -= count;
93
+ refreshCitationAnchor(citation);
88
94
  }
89
95
  }
90
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delete-cells.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EACV,QAAQ,EAER,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,gUAoB9D,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,MAErB,SAAS,MAAM,EACf,MAAM,aAAa,EACnB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,YAAW,SAAsB,SA0RpC,CAAC"}
1
+ {"version":3,"file":"delete-cells.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EACV,QAAQ,EAER,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,gUAoB9D,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,MAErB,SAAS,MAAM,EACf,MAAM,aAAa,EACnB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,YAAW,SAAsB,SAgSpC,CAAC"}