@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.
Files changed (201) hide show
  1. package/dist/cjs/api/anchored-objects.d.ts +66 -0
  2. package/dist/cjs/api/anchored-objects.d.ts.map +1 -0
  3. package/dist/cjs/api/anchored-objects.js +259 -0
  4. package/dist/cjs/api/dependency.d.ts +13 -2
  5. package/dist/cjs/api/dependency.d.ts.map +1 -1
  6. package/dist/cjs/api/dependency.js +11 -5
  7. package/dist/cjs/api/formula.d.ts +61 -4
  8. package/dist/cjs/api/formula.d.ts.map +1 -1
  9. package/dist/cjs/api/formula.js +250 -61
  10. package/dist/cjs/api/merges.d.ts +8 -0
  11. package/dist/cjs/api/merges.d.ts.map +1 -1
  12. package/dist/cjs/api/merges.js +64 -1
  13. package/dist/cjs/api/named-range-structural.d.ts +62 -0
  14. package/dist/cjs/api/named-range-structural.d.ts.map +1 -0
  15. package/dist/cjs/api/named-range-structural.js +197 -0
  16. package/dist/cjs/api/range-rule-helpers.d.ts +45 -1
  17. package/dist/cjs/api/range-rule-helpers.d.ts.map +1 -1
  18. package/dist/cjs/api/range-rule-helpers.js +159 -6
  19. package/dist/cjs/api/structural-formula-update.d.ts.map +1 -1
  20. package/dist/cjs/api/structural-formula-update.js +24 -6
  21. package/dist/cjs/api/structural-guards.d.ts +78 -0
  22. package/dist/cjs/api/structural-guards.d.ts.map +1 -0
  23. package/dist/cjs/api/structural-guards.js +202 -0
  24. package/dist/cjs/api/structural-table-refs.d.ts +94 -0
  25. package/dist/cjs/api/structural-table-refs.d.ts.map +1 -0
  26. package/dist/cjs/api/structural-table-refs.js +313 -0
  27. package/dist/cjs/constants.d.ts +25 -0
  28. package/dist/cjs/constants.d.ts.map +1 -0
  29. package/dist/cjs/constants.js +26 -0
  30. package/dist/cjs/hooks/use-calculation-worker.d.ts.map +1 -1
  31. package/dist/cjs/hooks/use-calculation-worker.js +64 -6
  32. package/dist/cjs/hooks/use-calculation.d.ts +7 -0
  33. package/dist/cjs/hooks/use-calculation.d.ts.map +1 -1
  34. package/dist/cjs/hooks/use-calculation.js +15 -0
  35. package/dist/cjs/hooks/use-on-calculation-success.d.ts +7 -0
  36. package/dist/cjs/hooks/use-on-calculation-success.d.ts.map +1 -1
  37. package/dist/cjs/hooks/use-on-calculation-success.js +7 -1
  38. package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts +13 -3
  39. package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
  40. package/dist/cjs/hooks/use-on-delete-cells-shift-left.js +27 -2
  41. package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts +13 -3
  42. package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
  43. package/dist/cjs/hooks/use-on-delete-cells-shift-up.js +27 -2
  44. package/dist/cjs/hooks/use-on-delete-column.d.ts +13 -4
  45. package/dist/cjs/hooks/use-on-delete-column.d.ts.map +1 -1
  46. package/dist/cjs/hooks/use-on-delete-column.js +14 -2
  47. package/dist/cjs/hooks/use-on-delete-row.d.ts +13 -4
  48. package/dist/cjs/hooks/use-on-delete-row.d.ts.map +1 -1
  49. package/dist/cjs/hooks/use-on-delete-row.js +14 -2
  50. package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts +13 -3
  51. package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
  52. package/dist/cjs/hooks/use-on-insert-cells-shift-down.js +27 -2
  53. package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts +13 -3
  54. package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
  55. package/dist/cjs/hooks/use-on-insert-cells-shift-right.js +27 -2
  56. package/dist/cjs/hooks/use-on-insert-column.d.ts +10 -3
  57. package/dist/cjs/hooks/use-on-insert-column.d.ts.map +1 -1
  58. package/dist/cjs/hooks/use-on-insert-column.js +33 -7
  59. package/dist/cjs/hooks/use-on-insert-row.d.ts +10 -3
  60. package/dist/cjs/hooks/use-on-insert-row.d.ts.map +1 -1
  61. package/dist/cjs/hooks/use-on-insert-row.js +32 -7
  62. package/dist/cjs/hooks/use-spreadsheet-state.d.ts +2 -2
  63. package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
  64. package/dist/cjs/hooks/use-spreadsheet-state.js +61 -15
  65. package/dist/cjs/hooks/use-structured-reference.d.ts.map +1 -1
  66. package/dist/cjs/hooks/use-structured-reference.js +10 -6
  67. package/dist/cjs/index.d.ts +3 -0
  68. package/dist/cjs/index.d.ts.map +1 -1
  69. package/dist/cjs/index.js +3 -0
  70. package/dist/cjs/interface/calculation-interface.d.ts +9 -0
  71. package/dist/cjs/interface/calculation-interface.d.ts.map +1 -1
  72. package/dist/cjs/interface/calculation-interface.js +31 -2
  73. package/dist/cjs/interface/delete-cells-shift-left.d.ts +8 -1
  74. package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
  75. package/dist/cjs/interface/delete-cells-shift-left.js +158 -80
  76. package/dist/cjs/interface/delete-cells-shift-up.d.ts +9 -1
  77. package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
  78. package/dist/cjs/interface/delete-cells-shift-up.js +155 -73
  79. package/dist/cjs/interface/delete-column.d.ts +1 -1
  80. package/dist/cjs/interface/delete-column.d.ts.map +1 -1
  81. package/dist/cjs/interface/delete-column.js +90 -31
  82. package/dist/cjs/interface/delete-row.d.ts +1 -1
  83. package/dist/cjs/interface/delete-row.d.ts.map +1 -1
  84. package/dist/cjs/interface/delete-row.js +85 -26
  85. package/dist/cjs/interface/insert-cells-shift-down.d.ts +10 -1
  86. package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
  87. package/dist/cjs/interface/insert-cells-shift-down.js +147 -52
  88. package/dist/cjs/interface/insert-cells-shift-right.d.ts +10 -1
  89. package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
  90. package/dist/cjs/interface/insert-cells-shift-right.js +154 -58
  91. package/dist/cjs/interface/insert-column.d.ts +1 -1
  92. package/dist/cjs/interface/insert-column.d.ts.map +1 -1
  93. package/dist/cjs/interface/insert-column.js +46 -8
  94. package/dist/cjs/interface/insert-row.d.ts +1 -1
  95. package/dist/cjs/interface/insert-row.d.ts.map +1 -1
  96. package/dist/cjs/interface/insert-row.js +47 -10
  97. package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
  98. package/dist/cjs/interface/spreadsheet-interface.js +33 -0
  99. package/dist/cjs/sheet-cell.d.ts.map +1 -1
  100. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  101. package/dist/esm/api/anchored-objects.d.ts +66 -0
  102. package/dist/esm/api/anchored-objects.d.ts.map +1 -0
  103. package/dist/esm/api/anchored-objects.js +212 -0
  104. package/dist/esm/api/dependency.d.ts +13 -2
  105. package/dist/esm/api/dependency.d.ts.map +1 -1
  106. package/dist/esm/api/dependency.js +10 -4
  107. package/dist/esm/api/formula.d.ts +61 -4
  108. package/dist/esm/api/formula.d.ts.map +1 -1
  109. package/dist/esm/api/formula.js +238 -60
  110. package/dist/esm/api/merges.d.ts +8 -0
  111. package/dist/esm/api/merges.d.ts.map +1 -1
  112. package/dist/esm/api/merges.js +51 -0
  113. package/dist/esm/api/named-range-structural.d.ts +62 -0
  114. package/dist/esm/api/named-range-structural.d.ts.map +1 -0
  115. package/dist/esm/api/named-range-structural.js +176 -0
  116. package/dist/esm/api/range-rule-helpers.d.ts +45 -1
  117. package/dist/esm/api/range-rule-helpers.d.ts.map +1 -1
  118. package/dist/esm/api/range-rule-helpers.js +153 -1
  119. package/dist/esm/api/structural-formula-update.d.ts.map +1 -1
  120. package/dist/esm/api/structural-formula-update.js +24 -6
  121. package/dist/esm/api/structural-guards.d.ts +78 -0
  122. package/dist/esm/api/structural-guards.d.ts.map +1 -0
  123. package/dist/esm/api/structural-guards.js +186 -0
  124. package/dist/esm/api/structural-table-refs.d.ts +94 -0
  125. package/dist/esm/api/structural-table-refs.d.ts.map +1 -0
  126. package/dist/esm/api/structural-table-refs.js +219 -0
  127. package/dist/esm/constants.d.ts +25 -0
  128. package/dist/esm/constants.d.ts.map +1 -0
  129. package/dist/esm/constants.js +26 -0
  130. package/dist/esm/hooks/use-calculation-worker.d.ts.map +1 -1
  131. package/dist/esm/hooks/use-calculation-worker.js +45 -0
  132. package/dist/esm/hooks/use-calculation.d.ts +7 -0
  133. package/dist/esm/hooks/use-calculation.d.ts.map +1 -1
  134. package/dist/esm/hooks/use-calculation.js +15 -0
  135. package/dist/esm/hooks/use-on-calculation-success.d.ts +7 -0
  136. package/dist/esm/hooks/use-on-calculation-success.d.ts.map +1 -1
  137. package/dist/esm/hooks/use-on-calculation-success.js +7 -1
  138. package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts +13 -3
  139. package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
  140. package/dist/esm/hooks/use-on-delete-cells-shift-left.js +26 -2
  141. package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts +13 -3
  142. package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
  143. package/dist/esm/hooks/use-on-delete-cells-shift-up.js +26 -2
  144. package/dist/esm/hooks/use-on-delete-column.d.ts +13 -4
  145. package/dist/esm/hooks/use-on-delete-column.d.ts.map +1 -1
  146. package/dist/esm/hooks/use-on-delete-column.js +14 -2
  147. package/dist/esm/hooks/use-on-delete-row.d.ts +13 -4
  148. package/dist/esm/hooks/use-on-delete-row.d.ts.map +1 -1
  149. package/dist/esm/hooks/use-on-delete-row.js +14 -2
  150. package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts +13 -3
  151. package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
  152. package/dist/esm/hooks/use-on-insert-cells-shift-down.js +26 -2
  153. package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts +13 -3
  154. package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
  155. package/dist/esm/hooks/use-on-insert-cells-shift-right.js +26 -2
  156. package/dist/esm/hooks/use-on-insert-column.d.ts +10 -3
  157. package/dist/esm/hooks/use-on-insert-column.d.ts.map +1 -1
  158. package/dist/esm/hooks/use-on-insert-column.js +33 -7
  159. package/dist/esm/hooks/use-on-insert-row.d.ts +10 -3
  160. package/dist/esm/hooks/use-on-insert-row.d.ts.map +1 -1
  161. package/dist/esm/hooks/use-on-insert-row.js +32 -7
  162. package/dist/esm/hooks/use-spreadsheet-state.d.ts +2 -2
  163. package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
  164. package/dist/esm/hooks/use-spreadsheet-state.js +61 -15
  165. package/dist/esm/hooks/use-structured-reference.d.ts.map +1 -1
  166. package/dist/esm/hooks/use-structured-reference.js +10 -6
  167. package/dist/esm/index.d.ts +3 -0
  168. package/dist/esm/index.d.ts.map +1 -1
  169. package/dist/esm/index.js +3 -0
  170. package/dist/esm/interface/calculation-interface.d.ts +9 -0
  171. package/dist/esm/interface/calculation-interface.d.ts.map +1 -1
  172. package/dist/esm/interface/calculation-interface.js +33 -2
  173. package/dist/esm/interface/delete-cells-shift-left.d.ts +8 -1
  174. package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
  175. package/dist/esm/interface/delete-cells-shift-left.js +135 -59
  176. package/dist/esm/interface/delete-cells-shift-up.d.ts +9 -1
  177. package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
  178. package/dist/esm/interface/delete-cells-shift-up.js +133 -53
  179. package/dist/esm/interface/delete-column.d.ts +1 -1
  180. package/dist/esm/interface/delete-column.d.ts.map +1 -1
  181. package/dist/esm/interface/delete-column.js +80 -11
  182. package/dist/esm/interface/delete-row.d.ts +1 -1
  183. package/dist/esm/interface/delete-row.d.ts.map +1 -1
  184. package/dist/esm/interface/delete-row.js +81 -11
  185. package/dist/esm/interface/insert-cells-shift-down.d.ts +10 -1
  186. package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
  187. package/dist/esm/interface/insert-cells-shift-down.js +116 -47
  188. package/dist/esm/interface/insert-cells-shift-right.d.ts +10 -1
  189. package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
  190. package/dist/esm/interface/insert-cells-shift-right.js +120 -51
  191. package/dist/esm/interface/insert-column.d.ts +1 -1
  192. package/dist/esm/interface/insert-column.d.ts.map +1 -1
  193. package/dist/esm/interface/insert-column.js +46 -8
  194. package/dist/esm/interface/insert-row.d.ts +1 -1
  195. package/dist/esm/interface/insert-row.d.ts.map +1 -1
  196. package/dist/esm/interface/insert-row.js +47 -10
  197. package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
  198. package/dist/esm/interface/spreadsheet-interface.js +29 -0
  199. package/dist/esm/sheet-cell.d.ts.map +1 -1
  200. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  201. package/package.json +16 -16
@@ -1,41 +1,48 @@
1
- import { __assign, __read, __spreadArray, __values } from "tslib";
2
- import { createArrayRange, selectionFromActiveCell } from "@rowsncolumns/utils";
1
+ import { __read, __spreadArray, __values } from "tslib";
2
+ import { createArrayRange } from "@rowsncolumns/utils";
3
3
  import { produceWithPatches } from "immer";
4
- import { processSideEffectDependentCells } from "../api/dependency";
5
- import { cloneCellWithFormatting } from "../api/immer-utils";
6
- import { moveMergedCells } from "../api/merges";
4
+ import { collectUniqueDependentsForRange, processSideEffectDependentCells, } from "../api/dependency";
5
+ import { createSheetCellIdentifier, expandRangesInFormula } from "../api/formula";
6
+ import { cloneCellWithFormatting, createSheetDraft } from "../api/immer-utils";
7
+ import { shiftMergesInBand } from "../api/merges";
8
+ import { isRangeInsideBand, resolveShiftSelection, shiftBand, } from "../api/structural-guards";
9
+ import { SheetCell } from "../sheet-cell";
10
+ /**
11
+ * Insert cells ▸ Shift cells right (SHF-02, FMT-04) — the horizontal twin of
12
+ * `insertCellsShiftDown`: only the selection's rows move, every cell at or right of the selection's
13
+ * first column slides right by the selection's width. References follow shifted cells; a range
14
+ * entirely inside the shifted rows that straddles the insertion column widens (SHF-08 analog);
15
+ * the vacated cells take the formatting of the cell to the LEFT of the insertion (FMT-04). Refusals
16
+ * (torn merge/table/array, a non-blank cell pushed past `columnCount` — SHF-10) are decided by the
17
+ * hook before this runs.
18
+ */
7
19
  export var insertCellsShiftRight = function (_a) {
8
- var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getActiveCell = _a.getActiveCell, getSelections = _a.getSelections, getDependents = _a.getDependents, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeCitations = _a.onChangeCitations;
20
+ var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getActiveCell = _a.getActiveCell, getSelections = _a.getSelections, getDependents = _a.getDependents, getSheetName = _a.getSheetName, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeTables = _a.onChangeTables, onChangeCitations = _a.onChangeCitations;
9
21
  return function (sheetId, activeCell, selections) {
22
+ var _a;
10
23
  var saveHistory = createHistory();
11
24
  // We need to track this for history. Precedent cells
12
25
  var recalcCells = new Map();
13
- // Count
14
- var finalSelections = selections.length
15
- ? selections
16
- : selectionFromActiveCell(activeCell);
17
- // Last selection
18
- var selection = finalSelections[finalSelections.length - 1];
19
- var count = selection.range.endRowIndex - selection.range.startRowIndex + 1;
26
+ var selection = resolveShiftSelection(activeCell, selections);
27
+ var _b = selection.range, r1 = _b.startRowIndex, r2 = _b.endRowIndex, c1 = _b.startColumnIndex, c2 = _b.endColumnIndex;
28
+ var count = c2 - c1 + 1;
29
+ var band = shiftBand("right", selection.range);
30
+ var sheetName = (_a = getSheetName === null || getSheetName === void 0 ? void 0 : getSheetName(sheetId)) !== null && _a !== void 0 ? _a : "";
20
31
  enqueueStructureChange === null || enqueueStructureChange === void 0 ? void 0 : enqueueStructureChange({
21
32
  kind: "insert-cells-shift-right",
22
33
  sheetId: sheetId,
23
- startRowIndex: selection.range.startRowIndex,
24
- endRowIndex: selection.range.endRowIndex,
25
- startColumnIndex: selection.range.startColumnIndex,
26
- endColumnIndex: selection.range.endColumnIndex,
34
+ startRowIndex: r1,
35
+ endRowIndex: r2,
36
+ startColumnIndex: c1,
37
+ endColumnIndex: c2,
27
38
  columnCount: columnCount,
28
39
  });
29
- // Update sheets
40
+ // Update sheets — merges wholly inside the shifted rows ride right with their cells.
30
41
  onChangeSheets === null || onChangeSheets === void 0 ? void 0 : onChangeSheets(function (prevSheets) {
31
42
  var _a = __read(produceWithPatches(prevSheets, function (draft) {
32
43
  var sheet = draft.find(function (sheet) { return sheet.sheetId === sheetId; });
33
- if (sheet) {
34
- for (var columnIndex = selection.range.startColumnIndex; columnIndex <= selection.range.endColumnIndex; columnIndex++) {
35
- if (sheet.merges) {
36
- sheet.merges = moveMergedCells(sheet.merges, "column-insert", columnIndex);
37
- }
38
- }
44
+ if (sheet === null || sheet === void 0 ? void 0 : sheet.merges) {
45
+ sheet.merges = shiftMergesInBand(sheet.merges, "column", c1, count, true, r1, r2);
39
46
  }
40
47
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
41
48
  // Save history
@@ -44,43 +51,61 @@ export var insertCellsShiftRight = function (_a) {
44
51
  });
45
52
  return nextState;
46
53
  });
54
+ // Tables whose rows the band covers entirely move with it (a partial cover was refused).
55
+ onChangeTables === null || onChangeTables === void 0 ? void 0 : onChangeTables(function (prevTables) {
56
+ var _a = __read(produceWithPatches(prevTables, function (draft) {
57
+ var e_1, _a;
58
+ try {
59
+ for (var draft_1 = __values(draft), draft_1_1 = draft_1.next(); !draft_1_1.done; draft_1_1 = draft_1.next()) {
60
+ var table = draft_1_1.value;
61
+ if (table.sheetId !== sheetId ||
62
+ !isRangeInsideBand(table.range, band)) {
63
+ continue;
64
+ }
65
+ table.range.startColumnIndex += count;
66
+ table.range.endColumnIndex += count;
67
+ }
68
+ }
69
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
70
+ finally {
71
+ try {
72
+ if (draft_1_1 && !draft_1_1.done && (_a = draft_1.return)) _a.call(draft_1);
73
+ }
74
+ finally { if (e_1) throw e_1.error; }
75
+ }
76
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
77
+ saveHistory({ tables: { patches: patches, inversePatches: inversePatches } });
78
+ return nextState;
79
+ });
47
80
  // Update citations - shift if in affected rows and after insertion column
48
81
  onChangeCitations === null || onChangeCitations === void 0 ? void 0 : onChangeCitations(function (prevCitations) {
49
82
  var _a = __read(produceWithPatches(prevCitations, function (draft) {
50
- var e_1, _a;
51
- var affectedRowStart = selection.range.startRowIndex;
52
- var affectedRowEnd = selection.range.endRowIndex;
53
- var insertColumnStart = selection.range.startColumnIndex;
54
- var shiftAmount = selection.range.endColumnIndex -
55
- selection.range.startColumnIndex +
56
- 1;
83
+ var e_2, _a;
57
84
  try {
58
- for (var draft_1 = __values(draft), draft_1_1 = draft_1.next(); !draft_1_1.done; draft_1_1 = draft_1.next()) {
59
- var citation = draft_1_1.value;
85
+ for (var draft_2 = __values(draft), draft_2_1 = draft_2.next(); !draft_2_1.done; draft_2_1 = draft_2.next()) {
86
+ var citation = draft_2_1.value;
60
87
  // Skip citations on other sheets
61
88
  if (citation.range.sheetId !== sheetId) {
62
89
  continue;
63
90
  }
64
91
  // Check if citation overlaps with affected rows
65
- var citationRowStart = citation.range.startRowIndex;
66
- var citationRowEnd = citation.range.endRowIndex;
67
- var rowsOverlap = !(citationRowEnd < affectedRowStart ||
68
- citationRowStart > affectedRowEnd);
92
+ var rowsOverlap = !(citation.range.endRowIndex < r1 ||
93
+ citation.range.startRowIndex > r2);
69
94
  if (rowsOverlap) {
70
95
  // If citation starts at or after the insertion column, shift it right
71
- if (citation.range.startColumnIndex >= insertColumnStart) {
72
- citation.range.startColumnIndex += shiftAmount;
73
- citation.range.endColumnIndex += shiftAmount;
96
+ if (citation.range.startColumnIndex >= c1) {
97
+ citation.range.startColumnIndex += count;
98
+ citation.range.endColumnIndex += count;
74
99
  }
75
100
  }
76
101
  }
77
102
  }
78
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
103
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
79
104
  finally {
80
105
  try {
81
- if (draft_1_1 && !draft_1_1.done && (_a = draft_1.return)) _a.call(draft_1);
106
+ if (draft_2_1 && !draft_2_1.done && (_a = draft_2.return)) _a.call(draft_2);
82
107
  }
83
- finally { if (e_1) throw e_1.error; }
108
+ finally { if (e_2) throw e_2.error; }
84
109
  }
85
110
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
86
111
  saveHistory({
@@ -91,12 +116,34 @@ export var insertCellsShiftRight = function (_a) {
91
116
  // Sheet data
92
117
  onChangeSheetData === null || onChangeSheetData === void 0 ? void 0 : onChangeSheetData(function (prevSheetData) {
93
118
  var _a = __read(produceWithPatches(prevSheetData, function (draft) {
94
- var _a, _b, _c, _d, _e, _f, _g, _h;
119
+ var e_3, _a;
120
+ var _b, _c, _d, _e, _f, _g, _h, _j;
95
121
  var movedKeys = new Set();
96
- for (var rowIndex = selection.range.startRowIndex; rowIndex <= selection.range.endRowIndex; rowIndex++) {
97
- var totalColumns = (_d = (_c = (_b = (_a = draft[sheetId]) === null || _a === void 0 ? void 0 : _a[rowIndex]) === null || _b === void 0 ? void 0 : _b.values) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : columnCount;
98
- for (var columnIndex = 1; columnIndex < totalColumns; columnIndex++) {
99
- var sourceRange = __assign(__assign({}, selection.range), { endColumnIndex: totalColumns });
122
+ var totalColumns = Math.max(columnCount, c2 + 1);
123
+ for (var rowIndex = r1; rowIndex <= r2; rowIndex++) {
124
+ totalColumns = Math.max(totalColumns, (_e = (_d = (_c = (_b = draft[sheetId]) === null || _b === void 0 ? void 0 : _b[rowIndex]) === null || _c === void 0 ? void 0 : _c.values) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0);
125
+ }
126
+ // Everything at or right of the insertion column in the band's rows moves by `count`.
127
+ var sourceRange = {
128
+ startRowIndex: r1,
129
+ endRowIndex: r2,
130
+ startColumnIndex: c1,
131
+ endColumnIndex: totalColumns + count,
132
+ };
133
+ // Formulas that read a moving cell — captured before the graph goes stale.
134
+ var dependents = collectUniqueDependentsForRange({
135
+ draft: draft,
136
+ sheetId: sheetId,
137
+ sourceRange: {
138
+ startRowIndex: r1,
139
+ endRowIndex: r2,
140
+ startColumnIndex: c1,
141
+ endColumnIndex: totalColumns,
142
+ },
143
+ getDependents: getDependents,
144
+ });
145
+ for (var rowIndex = r1; rowIndex <= r2; rowIndex++) {
146
+ for (var columnIndex = totalColumns; columnIndex >= c1; columnIndex--) {
100
147
  // Process dependents
101
148
  processSideEffectDependentCells({
102
149
  draft: draft,
@@ -107,6 +154,7 @@ export var insertCellsShiftRight = function (_a) {
107
154
  enqueueGraphOperation: enqueueGraphOperation,
108
155
  enqueueCalculation: enqueueCalculation,
109
156
  getDependents: getDependents,
157
+ getSheetName: getSheetName,
110
158
  recalcCells: recalcCells,
111
159
  rowDelta: 0,
112
160
  sourceRange: sourceRange,
@@ -119,18 +167,66 @@ export var insertCellsShiftRight = function (_a) {
119
167
  });
120
168
  }
121
169
  }
122
- var _loop_1 = function (rowIndex) {
123
- // Delete column
124
- if ((_f = (_e = draft[sheetId]) === null || _e === void 0 ? void 0 : _e[rowIndex]) === null || _f === void 0 ? void 0 : _f.values) {
125
- (_h = (_g = draft[sheetId][rowIndex]) === null || _g === void 0 ? void 0 : _g.values) === null || _h === void 0 ? void 0 : _h.splice.apply(_h, __spreadArray([selection.range.startColumnIndex,
126
- 0], __read(createArrayRange(selection.range.startColumnIndex, selection.range.endColumnIndex).map(function (columnIndex) {
127
- var _a, _b;
128
- return cloneCellWithFormatting((_b = (_a = draft[sheetId][rowIndex]) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[columnIndex]);
129
- })), false));
170
+ // SHF-08 analog: a range living entirely inside the band's rows that straddles the
171
+ // insertion column widens by the inserted width. Runs on the pre-shift positions; the
172
+ // splice below carries in-band dependents right.
173
+ var sheetCell = new SheetCell();
174
+ try {
175
+ for (var _k = __values(dependents.values()), _l = _k.next(); !_l.done; _l = _k.next()) {
176
+ var pos = _l.value;
177
+ if (pos.sheetId !== sheetId)
178
+ continue;
179
+ var currentSheet = createSheetDraft(draft, sheetId, pos.rowIndex);
180
+ var cellData = (_g = (_f = currentSheet[pos.rowIndex]) === null || _f === void 0 ? void 0 : _f.values) === null || _g === void 0 ? void 0 : _g[pos.columnIndex];
181
+ sheetCell.assign(sheetId, { rowIndex: pos.rowIndex, columnIndex: pos.columnIndex }, cellData, { locale: locale, cellXfsRegistry: cellXfsRegistry, sharedStringRegistry: sharedStringRegistry });
182
+ var formulaValue = sheetCell.formula;
183
+ if (!formulaValue)
184
+ continue;
185
+ var expanded = expandRangesInFormula(formulaValue, c1, count, "column", sheetName, { bandSpan: { startIndex: r1, endIndex: r2 } });
186
+ if (!expanded || expanded === formulaValue)
187
+ continue;
188
+ sheetCell.setFormulaValue(expanded, false);
189
+ currentSheet[pos.rowIndex].values[pos.columnIndex] =
190
+ sheetCell.getCellData();
191
+ var movesWithBand = pos.columnIndex >= c1 && pos.rowIndex >= r1 && pos.rowIndex <= r2;
192
+ var finalPosition = {
193
+ sheetId: sheetId,
194
+ rowIndex: pos.rowIndex,
195
+ columnIndex: movesWithBand
196
+ ? pos.columnIndex + count
197
+ : pos.columnIndex,
198
+ };
199
+ var enqueueOperation = sheetCell.ephemeral()
200
+ ? enqueueCalculation
201
+ : enqueueGraphOperation;
202
+ enqueueOperation === null || enqueueOperation === void 0 ? void 0 : enqueueOperation({ type: "add", position: finalPosition });
203
+ enqueueCalculation === null || enqueueCalculation === void 0 ? void 0 : enqueueCalculation({
204
+ type: "dirty",
205
+ position: finalPosition,
206
+ force: true,
207
+ });
208
+ recalcCells.set(createSheetCellIdentifier(sheetId, finalPosition.rowIndex, finalPosition.columnIndex), finalPosition);
130
209
  }
210
+ }
211
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
212
+ finally {
213
+ try {
214
+ if (_l && !_l.done && (_a = _k.return)) _a.call(_k);
215
+ }
216
+ finally { if (e_3) throw e_3.error; }
217
+ }
218
+ var _loop_1 = function (rowIndex) {
219
+ var values = (_j = (_h = draft[sheetId]) === null || _h === void 0 ? void 0 : _h[rowIndex]) === null || _j === void 0 ? void 0 : _j.values;
220
+ if (!values)
221
+ return "continue";
222
+ values.splice.apply(values, __spreadArray([c1,
223
+ 0], __read(createArrayRange(c1, c2).map(function (columnIndex) {
224
+ return cloneCellWithFormatting(c1 > 1 ? values[c1 - 1] : values[columnIndex]);
225
+ })), false));
131
226
  };
132
- // Delete column
133
- for (var rowIndex = selection.range.startRowIndex; rowIndex <= selection.range.endRowIndex; rowIndex++) {
227
+ // Splice the inserted cells in. FMT-04: they take the formatting of the cell directly
228
+ // LEFT of the insertion; at column 1 there is none, so they keep the displaced cell's.
229
+ for (var rowIndex = r1; rowIndex <= r2; rowIndex++) {
134
230
  _loop_1(rowIndex);
135
231
  }
136
232
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
@@ -2,6 +2,6 @@ import { Direction } from "@rowsncolumns/common-types";
2
2
  import type { CellData, Sheet, TableView } from "@rowsncolumns/spreadsheet";
3
3
  import type { UseOnInsertColumnProps } from "../hooks/use-on-insert-column";
4
4
  import type { UseOnTableProps } from "../hooks/use-on-table";
5
- export declare const insertColumn: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, tables, cellXfsRegistry, sharedStringRegistry, getSheetName, getDependents, getGraphNodes, getGraphNodesInSheet, getActiveCell, getSelections, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeDataValidations, onChangeConditionalFormats, onChangeCitations, onChangePivotTables, generatedNames, }: UseOnInsertColumnProps<T, S>) => (sheetId: number, referenceColumnIndex: number, numColumns?: number) => void;
5
+ export declare const insertColumn: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, maxColumnCount, tables, cellXfsRegistry, sharedStringRegistry, getSheetName, getDependents, getGraphNodes, getGraphNodesInSheet, getActiveCell, getSelections, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeDataValidations, onChangeConditionalFormats, onChangeCitations, onChangePivotTables, onChangeNamedRanges, onChangeEmbeds, onChangeCharts, onChangeProtectedRanges, generatedNames, }: UseOnInsertColumnProps<T, S>) => (sheetId: number, referenceColumnIndex: number, numColumns?: number) => void;
6
6
  export declare const insertTableColumn: <T extends CellData, S extends Sheet>({ tables, columnCount, rowCount, locale, cellXfsRegistry, sharedStringRegistry, getSheetName, createHistory, onChangeTables, onChangeSheets, onChangeSheetData, enqueueCalculation, enqueueStructureChange, enqueueGraphOperation, getDependents, generatedNames, }: Pick<UseOnTableProps<T, S>, "tables" | "columnCount" | "rowCount" | "locale" | "cellXfsRegistry" | "sharedStringRegistry" | "createHistory" | "onChangeTables" | "onChangeSheets" | "onChangeSheetData" | "enqueueCalculation" | "enqueueStructureChange" | "enqueueGraphOperation" | "getDependents" | "getSheetName" | "generatedNames">) => (tableView: TableView, dimensionIndex: number, direction: Direction.Left | Direction.Right) => void;
7
7
  //# sourceMappingURL=insert-column.d.ts.map
@@ -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;AAoB5E,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,qaAyB/D,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,MACrB,SAAS,MAAM,EAAE,sBAAsB,MAAM,EAAE,mBAAc,SA0TtE,CAAC;AAMF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,qQAiBpE,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,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,SA2V9C,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;AA6B5E,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,mgBA8B/D,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,MACrB,SAAS,MAAM,EAAE,sBAAsB,MAAM,EAAE,mBAAc,SAmZtE,CAAC;AAMF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,qQAiBpE,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,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,SA2V9C,CAAC"}
@@ -1,10 +1,12 @@
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, shiftProtectedRangesOnStructuralChange, } from "../api/anchored-objects";
4
5
  import { collectUniqueDependentsForRange, moveFormulaAtPosition, } from "../api/dependency";
5
6
  import { createSheetCellIdentifier, expandRangesInFormula, } from "../api/formula";
6
7
  import { cloneCellWithFormatting, createSheetDraft } from "../api/immer-utils";
7
8
  import { expandMergesOnColumnInsert, moveMergedCells } from "../api/merges";
9
+ import { updateNamedRangesOnStructuralChange, updatePrintSettingsOnStructuralChange, } from "../api/named-range-structural";
8
10
  import { shiftPivotsOnInsert } from "../api/pivot-range";
9
11
  import { updateRangedRulesOnStructuralChange } from "../api/range-rule-helpers";
10
12
  import { moveFilterView } from "../api/selection";
@@ -13,7 +15,7 @@ import { getGeneratedTableColumnName } from "../generated-names";
13
15
  import { getNextTableColumnName } from "../helpers";
14
16
  import { SheetCell } from "../sheet-cell";
15
17
  export var insertColumn = function (_a) {
16
- var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, tables = _a.tables, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getSheetName = _a.getSheetName, getDependents = _a.getDependents, getGraphNodes = _a.getGraphNodes, getGraphNodesInSheet = _a.getGraphNodesInSheet, getActiveCell = _a.getActiveCell, getSelections = _a.getSelections, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeTables = _a.onChangeTables, onChangeDataValidations = _a.onChangeDataValidations, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeCitations = _a.onChangeCitations, onChangePivotTables = _a.onChangePivotTables, generatedNames = _a.generatedNames;
18
+ var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, maxColumnCount = _a.maxColumnCount, tables = _a.tables, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getSheetName = _a.getSheetName, getDependents = _a.getDependents, getGraphNodes = _a.getGraphNodes, getGraphNodesInSheet = _a.getGraphNodesInSheet, getActiveCell = _a.getActiveCell, getSelections = _a.getSelections, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeTables = _a.onChangeTables, onChangeDataValidations = _a.onChangeDataValidations, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeCitations = _a.onChangeCitations, onChangePivotTables = _a.onChangePivotTables, onChangeNamedRanges = _a.onChangeNamedRanges, onChangeEmbeds = _a.onChangeEmbeds, onChangeCharts = _a.onChangeCharts, onChangeProtectedRanges = _a.onChangeProtectedRanges, generatedNames = _a.generatedNames;
17
19
  return function (sheetId, referenceColumnIndex, numColumns) {
18
20
  if (numColumns === void 0) { numColumns = 1; }
19
21
  if (numColumns <= 0)
@@ -103,7 +105,7 @@ export var insertColumn = function (_a) {
103
105
  // Data validations
104
106
  onChangeDataValidations === null || onChangeDataValidations === void 0 ? void 0 : onChangeDataValidations(function (prevValidations) {
105
107
  var _a = __read(produceWithPatches(prevValidations, function (draft) {
106
- updateRangedRulesOnStructuralChange(draft, "insert", "column", referenceColumnIndex, numColumns, sheetId);
108
+ updateRangedRulesOnStructuralChange(draft, "insert", "column", referenceColumnIndex, numColumns, sheetId, { getSheetName: getSheetName });
107
109
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
108
110
  saveHistory({ dataValidations: { patches: patches, inversePatches: inversePatches } });
109
111
  return nextState;
@@ -111,11 +113,21 @@ export var insertColumn = function (_a) {
111
113
  // Conditional formats
112
114
  onChangeConditionalFormats === null || onChangeConditionalFormats === void 0 ? void 0 : onChangeConditionalFormats(function (prevConditionalFormats) {
113
115
  var _a = __read(produceWithPatches(prevConditionalFormats, function (draft) {
114
- updateRangedRulesOnStructuralChange(draft, "insert", "column", referenceColumnIndex, numColumns, sheetId);
116
+ updateRangedRulesOnStructuralChange(draft, "insert", "column", referenceColumnIndex, numColumns, sheetId, { getSheetName: getSheetName });
115
117
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
116
118
  saveHistory({ conditionalFormats: { patches: patches, inversePatches: inversePatches } });
117
119
  return nextState;
118
120
  });
121
+ // Defined names: shift when the insert is before the name, grow when it
122
+ // lands strictly inside (a whole-column name `B1:B<rowCount>` shifts to
123
+ // column C for an insert at A), decided by the sheet the range lives on.
124
+ onChangeNamedRanges === null || onChangeNamedRanges === void 0 ? void 0 : onChangeNamedRanges(function (prevNamedRanges) {
125
+ var _a = __read(produceWithPatches(prevNamedRanges, function (draft) {
126
+ updateNamedRangesOnStructuralChange(draft, "column", "insert", referenceColumnIndex, numColumns, sheetId);
127
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
128
+ saveHistory({ namedRanges: { patches: patches, inversePatches: inversePatches } });
129
+ return nextState;
130
+ });
119
131
  // Shift pivot tables.
120
132
  onChangePivotTables === null || onChangePivotTables === void 0 ? void 0 : onChangePivotTables(function (prevPivots) {
121
133
  var _a = __read(produceWithPatches(prevPivots, function (draft) {
@@ -150,6 +162,31 @@ export var insertColumn = function (_a) {
150
162
  saveHistory({ citations: { patches: patches, inversePatches: inversePatches } });
151
163
  return nextState;
152
164
  });
165
+ // Anchored objects (Excel ANC rules): floating charts / embeds move with
166
+ // their anchor cell, chart series ranges and AllowEditRange rectangles
167
+ // shift like references. Frozen panes are a positional viewport split
168
+ // and are deliberately NOT touched here.
169
+ onChangeEmbeds === null || onChangeEmbeds === void 0 ? void 0 : onChangeEmbeds(function (prevEmbeds) {
170
+ var _a = __read(produceWithPatches(prevEmbeds, function (draft) {
171
+ shiftEmbedsOnStructuralChange(draft, sheetId, "column", "insert", referenceColumnIndex, numColumns);
172
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
173
+ saveHistory({ embeds: { patches: patches, inversePatches: inversePatches } });
174
+ return nextState;
175
+ });
176
+ onChangeCharts === null || onChangeCharts === void 0 ? void 0 : onChangeCharts(function (prevCharts) {
177
+ var _a = __read(produceWithPatches(prevCharts, function (draft) {
178
+ shiftChartsOnStructuralChange(draft, sheetId, "column", "insert", referenceColumnIndex, numColumns);
179
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
180
+ saveHistory({ charts: { patches: patches, inversePatches: inversePatches } });
181
+ return nextState;
182
+ });
183
+ onChangeProtectedRanges === null || onChangeProtectedRanges === void 0 ? void 0 : onChangeProtectedRanges(function (prevProtectedRanges) {
184
+ var _a = __read(produceWithPatches(prevProtectedRanges, function (draft) {
185
+ shiftProtectedRangesOnStructuralChange(draft, sheetId, "column", "insert", referenceColumnIndex, numColumns);
186
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
187
+ saveHistory({ protectedRanges: { patches: patches, inversePatches: inversePatches } });
188
+ return nextState;
189
+ });
153
190
  // Sheet metadata
154
191
  onChangeSheets === null || onChangeSheets === void 0 ? void 0 : onChangeSheets(function (prevSheets) {
155
192
  var _a = __read(produceWithPatches(prevSheets, function (draft) {
@@ -206,14 +243,15 @@ export var insertColumn = function (_a) {
206
243
  sheet.basicFilter.range.endColumnIndex += numColumns;
207
244
  }
208
245
  }
209
- if (sheet.frozenColumnCount &&
210
- referenceColumnIndex <= sheet.frozenColumnCount) {
211
- sheet.frozenColumnCount += numColumns;
212
- }
213
246
  if (sheet.merges) {
214
247
  sheet.merges = expandMergesOnColumnInsert(sheet.merges, referenceColumnIndex, numColumns);
215
248
  }
216
- sheet.columnCount = ((_d = sheet.columnCount) !== null && _d !== void 0 ? _d : columnCount) + numColumns;
249
+ // `_xlnm.Print_Area` / `_xlnm.Print_Titles` follow the defined-name rule.
250
+ if (sheet.printSettings) {
251
+ updatePrintSettingsOnStructuralChange(sheet.printSettings, "column", "insert", referenceColumnIndex, numColumns);
252
+ }
253
+ // The grid never grows past the hard cap: at the cap the blank trailing columns fall off.
254
+ sheet.columnCount = Math.min(((_d = sheet.columnCount) !== null && _d !== void 0 ? _d : columnCount) + numColumns, maxColumnCount !== null && maxColumnCount !== void 0 ? maxColumnCount : Number.POSITIVE_INFINITY);
217
255
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
218
256
  saveHistory({ sheets: { patches: patches, inversePatches: inversePatches } });
219
257
  return nextState;
@@ -1,4 +1,4 @@
1
1
  import type { CellData, Sheet } from "@rowsncolumns/spreadsheet";
2
2
  import type { UseOnInsertRowProps } from "../hooks/use-on-insert-row";
3
- export declare const insertRow: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getSheetName, getActiveCell, getSelections, getDependents, getGraphNodes, getGraphNodesInSheet, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeDataValidations, onChangeConditionalFormats, onChangeCitations, onChangePivotTables, }: UseOnInsertRowProps<T, S>) => (sheetId: number, referenceRowIndex: number, numRows?: number) => void;
3
+ export declare const insertRow: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, maxRowCount, cellXfsRegistry, sharedStringRegistry, getSheetName, getActiveCell, getSelections, getDependents, getGraphNodes, getGraphNodesInSheet, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeDataValidations, onChangeConditionalFormats, onChangeCitations, onChangePivotTables, onChangeNamedRanges, onChangeEmbeds, onChangeCharts, onChangeProtectedRanges, }: UseOnInsertRowProps<T, S>) => (sheetId: number, referenceRowIndex: number, numRows?: number) => void;
4
4
  //# sourceMappingURL=insert-row.d.ts.map
@@ -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;AASjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,6YAuB5D,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,MAClB,SAAS,MAAM,EAAE,mBAAmB,MAAM,EAAE,gBAAW,SAoNhE,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;AAkBjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,weA4B5D,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,MAClB,SAAS,MAAM,EAAE,mBAAmB,MAAM,EAAE,gBAAW,SA4ShE,CAAC"}
@@ -1,14 +1,16 @@
1
1
  import { __read, __spreadArray, __values } from "tslib";
2
2
  import { Direction } from "@rowsncolumns/common-types";
3
3
  import { produceWithPatches } from "immer";
4
+ import { shiftChartsOnStructuralChange, shiftEmbedsOnStructuralChange, shiftProtectedRangesOnStructuralChange, } from "../api/anchored-objects";
4
5
  import { cloneRowWithFormatting, createSheetDraft } from "../api/immer-utils";
5
6
  import { expandMergesOnRowInsert } from "../api/merges";
7
+ import { updateNamedRangesOnStructuralChange, updatePrintSettingsOnStructuralChange, } from "../api/named-range-structural";
6
8
  import { shiftPivotsOnInsert } from "../api/pivot-range";
7
9
  import { updateRangedRulesOnStructuralChange } from "../api/range-rule-helpers";
8
10
  import { moveFilterView } from "../api/selection";
9
11
  import { updateFormulasForStructuralChange } from "../api/structural-formula-update";
10
12
  export var insertRow = function (_a) {
11
- var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getSheetName = _a.getSheetName, getActiveCell = _a.getActiveCell, getSelections = _a.getSelections, getDependents = _a.getDependents, getGraphNodes = _a.getGraphNodes, getGraphNodesInSheet = _a.getGraphNodesInSheet, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeTables = _a.onChangeTables, onChangeDataValidations = _a.onChangeDataValidations, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeCitations = _a.onChangeCitations, onChangePivotTables = _a.onChangePivotTables;
13
+ var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, maxRowCount = _a.maxRowCount, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getSheetName = _a.getSheetName, getActiveCell = _a.getActiveCell, getSelections = _a.getSelections, getDependents = _a.getDependents, getGraphNodes = _a.getGraphNodes, getGraphNodesInSheet = _a.getGraphNodesInSheet, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeTables = _a.onChangeTables, onChangeDataValidations = _a.onChangeDataValidations, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeCitations = _a.onChangeCitations, onChangePivotTables = _a.onChangePivotTables, onChangeNamedRanges = _a.onChangeNamedRanges, onChangeEmbeds = _a.onChangeEmbeds, onChangeCharts = _a.onChangeCharts, onChangeProtectedRanges = _a.onChangeProtectedRanges;
12
14
  return function (sheetId, referenceRowIndex, numRows) {
13
15
  if (numRows === void 0) { numRows = 1; }
14
16
  if (numRows <= 0)
@@ -56,7 +58,7 @@ export var insertRow = function (_a) {
56
58
  // Update data validations
57
59
  onChangeDataValidations === null || onChangeDataValidations === void 0 ? void 0 : onChangeDataValidations(function (prevValidations) {
58
60
  var _a = __read(produceWithPatches(prevValidations, function (draft) {
59
- updateRangedRulesOnStructuralChange(draft, "insert", "row", referenceRowIndex, numRows, sheetId);
61
+ updateRangedRulesOnStructuralChange(draft, "insert", "row", referenceRowIndex, numRows, sheetId, { getSheetName: getSheetName });
60
62
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
61
63
  saveHistory({ dataValidations: { patches: patches, inversePatches: inversePatches } });
62
64
  return nextState;
@@ -64,11 +66,21 @@ export var insertRow = function (_a) {
64
66
  // Update conditional formats
65
67
  onChangeConditionalFormats === null || onChangeConditionalFormats === void 0 ? void 0 : onChangeConditionalFormats(function (prevConditionalFormats) {
66
68
  var _a = __read(produceWithPatches(prevConditionalFormats, function (draft) {
67
- updateRangedRulesOnStructuralChange(draft, "insert", "row", referenceRowIndex, numRows, sheetId);
69
+ updateRangedRulesOnStructuralChange(draft, "insert", "row", referenceRowIndex, numRows, sheetId, { getSheetName: getSheetName });
68
70
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
69
71
  saveHistory({ conditionalFormats: { patches: patches, inversePatches: inversePatches } });
70
72
  return nextState;
71
73
  });
74
+ // Defined names: a name's RefersTo shifts when the insert is above it
75
+ // and grows when the insert lands strictly inside it (Excel), decided
76
+ // by the sheet its range lives on — not by the name's scope.
77
+ onChangeNamedRanges === null || onChangeNamedRanges === void 0 ? void 0 : onChangeNamedRanges(function (prevNamedRanges) {
78
+ var _a = __read(produceWithPatches(prevNamedRanges, function (draft) {
79
+ updateNamedRangesOnStructuralChange(draft, "row", "insert", referenceRowIndex, numRows, sheetId);
80
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
81
+ saveHistory({ namedRanges: { patches: patches, inversePatches: inversePatches } });
82
+ return nextState;
83
+ });
72
84
  // Shift pivot tables: source / pivotRange follow the same insert rule as
73
85
  // any other sheet range; targetPosition shifts down if at or after the
74
86
  // insertion point.
@@ -106,8 +118,32 @@ export var insertRow = function (_a) {
106
118
  saveHistory({ citations: { patches: patches, inversePatches: inversePatches } });
107
119
  return nextState;
108
120
  });
109
- // Update sheet metadata (rowMetadata, basicFilter, frozen rows, merges,
110
- // rowCount).
121
+ // Anchored objects (Excel ANC rules): floating charts / embeds move with
122
+ // their anchor cell, chart series ranges and AllowEditRange rectangles
123
+ // shift like references. Frozen panes are a positional viewport split
124
+ // and are deliberately NOT touched here.
125
+ onChangeEmbeds === null || onChangeEmbeds === void 0 ? void 0 : onChangeEmbeds(function (prevEmbeds) {
126
+ var _a = __read(produceWithPatches(prevEmbeds, function (draft) {
127
+ shiftEmbedsOnStructuralChange(draft, sheetId, "row", "insert", referenceRowIndex, numRows);
128
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
129
+ saveHistory({ embeds: { patches: patches, inversePatches: inversePatches } });
130
+ return nextState;
131
+ });
132
+ onChangeCharts === null || onChangeCharts === void 0 ? void 0 : onChangeCharts(function (prevCharts) {
133
+ var _a = __read(produceWithPatches(prevCharts, function (draft) {
134
+ shiftChartsOnStructuralChange(draft, sheetId, "row", "insert", referenceRowIndex, numRows);
135
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
136
+ saveHistory({ charts: { patches: patches, inversePatches: inversePatches } });
137
+ return nextState;
138
+ });
139
+ onChangeProtectedRanges === null || onChangeProtectedRanges === void 0 ? void 0 : onChangeProtectedRanges(function (prevProtectedRanges) {
140
+ var _a = __read(produceWithPatches(prevProtectedRanges, function (draft) {
141
+ shiftProtectedRangesOnStructuralChange(draft, sheetId, "row", "insert", referenceRowIndex, numRows);
142
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
143
+ saveHistory({ protectedRanges: { patches: patches, inversePatches: inversePatches } });
144
+ return nextState;
145
+ });
146
+ // Update sheet metadata (rowMetadata, basicFilter, merges, rowCount).
111
147
  onChangeSheets === null || onChangeSheets === void 0 ? void 0 : onChangeSheets(function (prevSheets) {
112
148
  var _a = __read(produceWithPatches(prevSheets, function (draft) {
113
149
  var _a;
@@ -129,14 +165,15 @@ export var insertRow = function (_a) {
129
165
  sheet.basicFilter.range.endRowIndex += numRows;
130
166
  }
131
167
  }
132
- if (sheet.frozenRowCount &&
133
- referenceRowIndex <= sheet.frozenRowCount) {
134
- sheet.frozenRowCount += numRows;
135
- }
136
168
  if (sheet.merges) {
137
169
  sheet.merges = expandMergesOnRowInsert(sheet.merges, referenceRowIndex, numRows);
138
170
  }
139
- sheet.rowCount = ((_b = sheet.rowCount) !== null && _b !== void 0 ? _b : rowCount) + numRows;
171
+ // `_xlnm.Print_Area` / `_xlnm.Print_Titles` follow the defined-name rule.
172
+ if (sheet.printSettings) {
173
+ updatePrintSettingsOnStructuralChange(sheet.printSettings, "row", "insert", referenceRowIndex, numRows);
174
+ }
175
+ // The grid never grows past the hard cap: at the cap the blank trailing rows fall off.
176
+ sheet.rowCount = Math.min(((_b = sheet.rowCount) !== null && _b !== void 0 ? _b : rowCount) + numRows, maxRowCount !== null && maxRowCount !== void 0 ? maxRowCount : Number.POSITIVE_INFINITY);
140
177
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
141
178
  saveHistory({ sheets: { patches: patches, inversePatches: inversePatches } });
142
179
  return nextState;
@@ -1 +1 @@
1
- {"version":3,"file":"spreadsheet-interface.d.ts","sourceRoot":"","sources":["../../../interface/spreadsheet-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spreadsheet-interface.d.ts","sourceRoot":"","sources":["../../../interface/spreadsheet-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,QAAQ,EAER,SAAS,EACT,SAAS,EACT,2BAA2B,EAC3B,KAAK,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAEjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AAU7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,KAAK,EACV,KAAK,gBAAgB,EAErB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,2BAA2B,CAAC;AA6BnC,OAAO,KAAK,EAAS,KAAK,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,aAAa,CAAC;AAInE,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAuCzD,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AA4B7D,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAY7B,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,QA4BzD,CAAC;AAqFF;;;;GAIG;AACH,qBAAa,WAAW,CACtB,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,KAAK,GAAG,KAAK,EACvB,CAAC,SAAS,UAAU,GAAG,UAAU;IAEjC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,UAAU,CAA0B;IACrC,KAAK,SAAK;IACV,OAAO,UAAS;IAChB,qBAAqB,SAAK;IAC1B,mBAAmB,SAAK;IACxB,cAAc,SAAU;IACxB,eAAe,SAAsB;IACrC,kBAAkB,SAAwB;IACjD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,4BAA4B,CAAC,CAGC;gBAE1B,OAAO,CAAC,EAAE;QACpB,uBAAuB,CAAC,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC;QACpD,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;QACnD,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,2BAA2B,CAAC,CAC1B,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,EACxC,QAAQ,CAAC,EAAE,MAAM,gBAAgB,GAChC,oBAAoB,GAAG,SAAS,CAAC;KACrC;IAgCD,YAAY;IASZ;;;OAGG;IACH,+BAA+B,CAAC,OAAO,CAAC,EAAE,MAAM;IA2BhD;;;OAGG;IACH,yBAAyB,CAAC,OAAO,CAAC,EAAE,MAAM;IAwB1C,IAAI,aAAa,CAAC,KAAK,EAAE,aAAa,EAErC;IAED,IAAI,aAAa,IAJQ,aAAa,CAMrC;IAED,IAAI,aAAa,IAIQ,MAAM,CAF9B;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,IAAI,MAAM,IAAI,CAAC,EAAE,CAEhB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAGpB;IAED,IAAI,MAAM,IAIQ,aAAa,EAAE,CAFhC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,EAEhC;IAED,IAAI,MAAM,IAIQ,cAAc,EAAE,CAFjC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,EAEjC;IAED,IAAI,WAAW,IAIQ,UAAU,EAAE,CAFlC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,EAElC;IAED,IAAI,SAAS,IAIQ,QAAQ,EAAE,CAF9B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAE9B;IAED,IAAI,WAAW,IAGQ,UAAU,EAAE,CADlC;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,EAGlC;IAED,IAAI,eAAe,IAGQ,wBAAwB,EAAE,CADpD;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,wBAAwB,EAAE,EAEpD;IAED,IAAI,kBAAkB,IAGQ,qBAAqB,EAAE,CADpD;IACD,IAAI,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAEpD;IAED,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAE5B;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAEpC;IAED,IAAI,MAAM,IAAI,SAAS,EAAE,CAExB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,EAG5B;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAGvB;IAED,IAAI,MAAM,IALQ,MAAM,CAOvB;IAED,IAAI,OAAO,CAAC,KAAK,SAAA,EAEhB;IAED,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAEpC;IAED,IAAI,OAAO,IAJQ,gBAAgB,EAAE,CAMpC;IAEM,YAAY;IAInB,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,iBAAiB,CAGvB;IAEF,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,qBAAqB,CAG3B;IAEF,OAAO,CAAC,uBAAuB,CAG7B;IAEF,OAAO,CAAC,0BAA0B,CAGhC;IAEF,OAAO,CAAC,eAAe,CAKrB;IAEF,IAAI,eAAe,oBAElB;IAED,IAAI,oBAAoB,yBAKvB;IAED,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,iBAAiB,CAGvB;IAEF,OAAO,CAAC,aAAa,CAEnB;IACK,kBAAkB,GAAI,YAAY,oBAAoB,UAAQ;IAC9D,qBAAqB,GAAI,YAAY,oBAAoB,UAAQ;IACjE,sBAAsB,GAAI,SAAS,eAAe,UAAQ;IACjE,OAAO,CAAC,kBAAkB,CAExB;IACF,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,aAAa,CAuBnB;IACF,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,4BAA4B,CAUlC;IACF,OAAO,CAAC,kBAAkB,CAAY;IAEtC,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,iBAAiB,CA0BvB;IAEF,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,+BAA+B,CA+BrC;IAEF,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,mBAAmB,CAWzB;IAEF,OAAO,CAAC,yBAAyB,CAmB/B;IAEF,OAAO,CAAC,eAAe,CAWrB;IAEF,OAAO,CAAC,iBAAiB,CAWvB;IAEF;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,UAAU,CAUhB;IAEF,OAAO,CAAC,kBAAkB,CAKxB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,qBAAqB,CAE3B;IAEF,OAAO,CAAC,2BAA2B,CAwDjC;IAEF,OAAO,CAAC,wBAAwB,CAmD9B;IAEF,OAAO,CAAC,wBAAwB,CAsB9B;IAEF,OAAO,CAAC,aAAa,CA2BnB;IAEF,OAAO,CAAC,wBAAwB,CAuB9B;IAEF,OAAO,CAAC,2BAA2B,CAsCjC;IAEF,OAAO,CAAC,uBAAuB,CAoG7B;IAEW,iBAAiB;IAIjB,YAAY;IAQZ,gBAAgB;IAI7B;;OAEG;IACH;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CA4DvB;IAEF;;;;;;OAMG;IACH,YAAY,GAAI,SAAS,MAAM,EAAE,UAAU,MAAM,EAAE,aAAa,MAAM,yBAQpE;IAEF;;;OAGG;IACI,YAAY,GACjB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,gBAAgB,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,KACzC,MAAM,CA+BP;IAEF;;;OAGG;IACI,cAAc,GACnB,SAAS,MAAM,EACf,aAAa,MAAM,EACnB,UAAU;QACR,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC,KACA,MAAM,CAqDP;IAEF;;;;OAIG;IACU,oBAAoB;IAqPjC;;;;OAIG;IACI,0BAA0B,GAAI,cAAc,MAAM;;;kBAwBvD;IAEF;;;;;;;;;OASG;IACI,qBAAqB,GAC1B,SAAS,MAAM,EACf,MAAM,aAAa,GAAG,SAAS,EAC/B,WAAW,MAAM,GAAG,SAAS,EAC7B,aAAa,MAAM,EAAE,GAAG,SAAS,EACjC,SAAS,OAAO,GAAG,SAAS,EAC5B,cAAc,WAAW,CAAC,aAAa,CAAC;;;;;;;;;;;;;;kBAsHxC;IAEF;;;;;;OAMG;IACI,QAAQ,GACb,OAAO,MAAM,GAAG,SAAS,EACzB,SAAS,MAAM,EACf,YAAY,aAAa,sDAmCzB;IAEF;;;;;;OAMG;IACI,uBAAuB,GAC5B,OAAO,MAAM,EACb,SAAS,MAAM,EACf,YAAY,aAAa,4DAuBzB;IAEF;;;;OAIG;IACI,cAAc,CACnB,IAAI,GAAE,WAAoB,GACzB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE;IAI5E;;;OAGG;IACI,UAAU,CACf,GAAG,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;IASnE;;;;;OAKG;IACI,cAAc,CACnB,SAAS,EAAE,SAAS,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE;IAqBvD;;;;;OAKG;IACI,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,SAAI;IA2BxE;;;;;OAKG;IACI,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,EAC5B,UAAU,SAAI;IA6BhB;;;;OAIG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE;IAkC5D;;;;;OAKG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAC/B,MAAM,EACF,CAAC,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,GAClD,MAAM,GACN,OAAO,GACP,MAAM,GACN,IAAI,GACJ,SAAS,EACb,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC9D,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACvE,kBAAkB,CAAC,EAAE,kBAAkB;IAoDzC;;;;;OAKG;IACU,iBAAiB,CAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,sBAAsB;IAWhC;;;OAGG;IACI,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAC9C,GAAG,IAAI,EAAE,UAAU,CACjB,+BAA+B,CAAC,CAAC,CAAC,GAAG,gCAAgC,CACtE;IAeH;;;;;;;;OAQG;IACI,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,KAAK,GAAE,WAAW,GAAG,SAAmB;IAa1C;;;;;;;;OAQG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC9B,KAAK,CAAC,EAAE,UAAU,EAClB,WAAW,CAAC,EAAE,gBAAgB;IAuBhC;;;;;OAKG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EACxB,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC;IAclC;;;OAGG;IACI,WAAW,CAAC,SAAS,EAAE,SAAS;IAUvC;;;;;OAKG;IACI,iBAAiB,CACtB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK;IAoB7C;;;;OAIG;IACI,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM;IAkBrE;;;;OAIG;IACI,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;IAiCtD;;OAEG;IACI,oBAAoB,CACzB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE;IAmBlD;;OAEG;IACI,kBAAkB,CACvB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE;IAmBlD,yBAAyB;IAClB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IASlD,4BAA4B;IACrB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IASxD,mBAAmB;IACZ,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE;IAe3D,gBAAgB;IACT,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;IAerD;;OAEG;IACU,SAAS,CACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,kBAAkB,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EACzD,QAAQ,CAAC,EAAE,YAAY;IA4BlB,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAUrC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAczD;;;OAGG;IACI,WAAW,CAAC,OAAO,EAAE,MAAM;IAWlC;;;OAGG;IACI,+BAA+B,CAAC,IAAI,EAAE,qBAAqB;IAQlE;;;;OAIG;IACI,+BAA+B,CACpC,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB;IASrC;;;OAGG;IACI,+BAA+B,CAAC,IAAI,EAAE,qBAAqB;IAQlE;;;OAGG;IACI,gCAAgC,CAAC,IAAI,EAAE,qBAAqB;IAQnE;;;OAGG;IACI,wBAAwB,CAAC,IAAI,EAAE,wBAAwB;IAa9D;;;;OAIG;IACI,wBAAwB,CAC7B,IAAI,EAAE,wBAAwB,EAC9B,YAAY,EAAE,wBAAwB;IAcxC;;;OAGG;IACI,wBAAwB,CAAC,IAAI,EAAE,wBAAwB;IAa9D;;;OAGG;IACI,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,EAAE;IAalE;;;;;;OAMG;IACI,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,IAAI,EAAE,WAAW,GAAG,WAAW;IAWjC;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS;IAOpE;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,gBAAgB;IAO1C;;;;;OAKG;IACI,eAAe,CACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE;IAUlD;;;;;OAKG;IACI,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EACjD,OAAO,CAAC,EAAE,uBAAuB;IAWnC;;;;;OAKG;IACI,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE;IAWlD;;;;;OAKG;IACI,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE;IAWlD;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAQ/D;;;OAGG;IACI,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC;IAStD;;;;;;OAMG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,SAAS,GAAE,SAAsB;IAoBnC;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE;IAoBhE;;;OAGG;IACI,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAkB1D;;;OAGG;IACI,WAAW,CAAC,IAAI,EAAE,cAAc;IAOvC;;;OAGG;IACI,WAAW,CAAC,OAAO,EAAE,MAAM;IAOlC;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,cAAc;IAOxC;;;;;;;OAOG;IACI,SAAS,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM;IAQvB;;;;;;;;;OASG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAgBhB;;;OAGG;IACI,iBAAiB,IAAI,OAAO;IAInC;;;;;;OAMG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,SAAS,CAAC,EAAE,aAAa;IAU3B;;;OAGG;IACI,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAO3C;;;;;;OAMG;IACI,SAAS,CACd,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM;IAQvB;;;;;;;;OAQG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAQhB;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,aAAa;IAOvC;;;;;;OAMG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI;IAUhE;;;;;;;OAOG;IACI,MAAM,CACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI;IAYC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG;IAmB9D,gBAAgB,CAC3B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,OAAO,GAAG,SAAS,EACnC,QAAQ,CAAC,EAAE,GAAG;IAqBhB,OAAO,CAAC,qBAAqB,CA8B3B;IAEF;;;;;;OAMG;IACI,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,QAAQ;IAUpB;;;OAGG;IACI,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE;IAOjD;;;;OAIG;IACI,cAAc,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAQxC;;;;;OAKG;IACI,sBAAsB,CAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM;IASrB;;;;OAIG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM;CAMzC"}