@rowsncolumns/spreadsheet-state 28.0.71 → 28.0.73

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 (99) hide show
  1. package/dist/cjs/api/immer-utils.d.ts.map +1 -1
  2. package/dist/cjs/api/immer-utils.js +1 -0
  3. package/dist/cjs/api/paste-special.d.ts +48 -0
  4. package/dist/cjs/api/paste-special.d.ts.map +1 -0
  5. package/dist/cjs/api/paste-special.js +229 -0
  6. package/dist/cjs/api/range.d.ts.map +1 -1
  7. package/dist/cjs/api/range.js +3 -1
  8. package/dist/cjs/commands.d.ts +5 -0
  9. package/dist/cjs/commands.d.ts.map +1 -1
  10. package/dist/cjs/components/editors/table-editor.js +7 -2
  11. package/dist/cjs/hooks/use-calculation-worker.d.ts.map +1 -1
  12. package/dist/cjs/hooks/use-calculation-worker.js +84 -19
  13. package/dist/cjs/hooks/use-calculation.d.ts +12 -2
  14. package/dist/cjs/hooks/use-calculation.d.ts.map +1 -1
  15. package/dist/cjs/hooks/use-calculation.js +128 -38
  16. package/dist/cjs/hooks/use-on-filter-table.d.ts.map +1 -1
  17. package/dist/cjs/hooks/use-on-filter-table.js +48 -28
  18. package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
  19. package/dist/cjs/hooks/use-on-paste.js +82 -52
  20. package/dist/cjs/hooks/use-on-remove-duplicates.d.ts +2 -1
  21. package/dist/cjs/hooks/use-on-remove-duplicates.d.ts.map +1 -1
  22. package/dist/cjs/hooks/use-on-remove-duplicates.js +5 -3
  23. package/dist/cjs/hooks/use-on-show-column.d.ts.map +1 -1
  24. package/dist/cjs/hooks/use-on-show-column.js +2 -0
  25. package/dist/cjs/hooks/use-on-show-row.d.ts.map +1 -1
  26. package/dist/cjs/hooks/use-on-show-row.js +2 -0
  27. package/dist/cjs/hooks/use-sheet-properties.d.ts +1 -0
  28. package/dist/cjs/hooks/use-sheet-properties.d.ts.map +1 -1
  29. package/dist/cjs/hooks/use-sheet-properties.js +4 -0
  30. package/dist/cjs/hooks/use-spreadsheet-state.d.ts +1 -1
  31. package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
  32. package/dist/cjs/hooks/use-spreadsheet-state.js +2 -1
  33. package/dist/cjs/index.d.ts +1 -0
  34. package/dist/cjs/index.d.ts.map +1 -1
  35. package/dist/cjs/index.js +1 -0
  36. package/dist/cjs/interface/calculation-interface.d.ts.map +1 -1
  37. package/dist/cjs/interface/calculation-interface.js +5 -0
  38. package/dist/cjs/interface/hide-column.d.ts.map +1 -1
  39. package/dist/cjs/interface/hide-column.js +4 -0
  40. package/dist/cjs/interface/hide-row.d.ts.map +1 -1
  41. package/dist/cjs/interface/hide-row.js +4 -0
  42. package/dist/cjs/interface/remove-duplicates.d.ts +3 -2
  43. package/dist/cjs/interface/remove-duplicates.d.ts.map +1 -1
  44. package/dist/cjs/interface/remove-duplicates.js +41 -7
  45. package/dist/cjs/interface/spreadsheet-interface.d.ts +2 -1
  46. package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
  47. package/dist/cjs/interface/spreadsheet-interface.js +3 -3
  48. package/dist/cjs/sheet-cell.d.ts.map +1 -1
  49. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  50. package/dist/esm/api/immer-utils.d.ts.map +1 -1
  51. package/dist/esm/api/immer-utils.js +1 -0
  52. package/dist/esm/api/paste-special.d.ts +48 -0
  53. package/dist/esm/api/paste-special.d.ts.map +1 -0
  54. package/dist/esm/api/paste-special.js +220 -0
  55. package/dist/esm/api/range.d.ts.map +1 -1
  56. package/dist/esm/api/range.js +3 -1
  57. package/dist/esm/commands.d.ts +5 -0
  58. package/dist/esm/commands.d.ts.map +1 -1
  59. package/dist/esm/components/editors/table-editor.js +7 -4
  60. package/dist/esm/hooks/use-calculation-worker.d.ts.map +1 -1
  61. package/dist/esm/hooks/use-calculation-worker.js +59 -8
  62. package/dist/esm/hooks/use-calculation.d.ts +12 -2
  63. package/dist/esm/hooks/use-calculation.d.ts.map +1 -1
  64. package/dist/esm/hooks/use-calculation.js +94 -10
  65. package/dist/esm/hooks/use-on-filter-table.d.ts.map +1 -1
  66. package/dist/esm/hooks/use-on-filter-table.js +25 -8
  67. package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
  68. package/dist/esm/hooks/use-on-paste.js +49 -14
  69. package/dist/esm/hooks/use-on-remove-duplicates.d.ts +2 -1
  70. package/dist/esm/hooks/use-on-remove-duplicates.d.ts.map +1 -1
  71. package/dist/esm/hooks/use-on-remove-duplicates.js +5 -3
  72. package/dist/esm/hooks/use-on-show-column.d.ts.map +1 -1
  73. package/dist/esm/hooks/use-on-show-column.js +2 -0
  74. package/dist/esm/hooks/use-on-show-row.d.ts.map +1 -1
  75. package/dist/esm/hooks/use-on-show-row.js +2 -0
  76. package/dist/esm/hooks/use-sheet-properties.d.ts +1 -0
  77. package/dist/esm/hooks/use-sheet-properties.d.ts.map +1 -1
  78. package/dist/esm/hooks/use-sheet-properties.js +4 -0
  79. package/dist/esm/hooks/use-spreadsheet-state.d.ts +1 -1
  80. package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
  81. package/dist/esm/hooks/use-spreadsheet-state.js +2 -1
  82. package/dist/esm/index.d.ts +1 -0
  83. package/dist/esm/index.d.ts.map +1 -1
  84. package/dist/esm/index.js +1 -0
  85. package/dist/esm/interface/calculation-interface.d.ts.map +1 -1
  86. package/dist/esm/interface/calculation-interface.js +3 -0
  87. package/dist/esm/interface/hide-column.d.ts.map +1 -1
  88. package/dist/esm/interface/hide-column.js +4 -0
  89. package/dist/esm/interface/hide-row.d.ts.map +1 -1
  90. package/dist/esm/interface/hide-row.js +4 -0
  91. package/dist/esm/interface/remove-duplicates.d.ts +3 -2
  92. package/dist/esm/interface/remove-duplicates.d.ts.map +1 -1
  93. package/dist/esm/interface/remove-duplicates.js +37 -6
  94. package/dist/esm/interface/spreadsheet-interface.d.ts +2 -1
  95. package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
  96. package/dist/esm/interface/spreadsheet-interface.js +3 -3
  97. package/dist/esm/sheet-cell.d.ts.map +1 -1
  98. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  99. package/package.json +17 -17
@@ -1,11 +1,11 @@
1
1
  import { __assign, __awaiter, __generator, __read, __spreadArray, __values } from "tslib";
2
2
  import { CalculationGraph, CalculationWorkerClient, createNamedRangeResolver, createStructuredReferenceResolver, enqueueCalculationOperations, mapOperationToGraphOperation, } from "@rowsncolumns/calculation-worker";
3
3
  import { tokenize as formulaTokenizer } from "@rowsncolumns/calculator";
4
- import { CellNode, CellRangeNode, isCellCoordinate, isCellNode, isCellRangeNode, isStaticNode, makeKey, } from "@rowsncolumns/dag";
4
+ import { CellNode, CellRangeNode, isCellCoordinate, isCellCoordinateWithinCellRange, isCellNode, isCellRangeNode, isStaticNode, makeKey, } from "@rowsncolumns/dag";
5
5
  import { FormulaError } from "@rowsncolumns/fast-formula-parser";
6
6
  import { isAreasEqual } from "@rowsncolumns/grid";
7
7
  import { useCallbackRef } from "@rowsncolumns/spreadsheet";
8
- import { isAFormula, isNil, scheduleAfterPaint } from "@rowsncolumns/utils";
8
+ import { isAFormula, isNil, resolveSheetSpan, scheduleAfterPaint, } from "@rowsncolumns/utils";
9
9
  import { useCallback, useEffect, useMemo, useRef } from "react";
10
10
  import { BehaviorSubject } from "rxjs";
11
11
  import { parseFilterSourceRange } from "../api/filter-range";
@@ -229,6 +229,9 @@ export var useCalculationWorker = function (props) {
229
229
  var isFullRecalcRef = useRef(false);
230
230
  var computedValuesRef = useRef(new Map());
231
231
  var pendingResultsRef = useRef(new Map());
232
+ // Circular-reference members awaiting the next `onSuccess` flush (see
233
+ // `CalculationSuccessContext.circularReferences`).
234
+ var pendingCircularReferencesRef = useRef(new Map());
232
235
  var resultFrameRef = useRef(null);
233
236
  var volatileCellsRef = useRef(new Map());
234
237
  var pendingStaticNodesRef = useRef([]);
@@ -300,6 +303,10 @@ export var useCalculationWorker = function (props) {
300
303
  depParserConfig: {
301
304
  onStructuredReference: structuredReferenceResolver,
302
305
  onVariable: namedRangeResolver,
306
+ // 3-D references depend on every sheet between the two endpoints
307
+ onSheetRange: function (first, last) {
308
+ return resolveSheetSpan(sheetsRef.current.map(function (sheet) { return sheet.name; }), first, last);
309
+ },
303
310
  },
304
311
  iterativeCalculation: iterativeCalculation,
305
312
  });
@@ -520,6 +527,33 @@ export var useCalculationWorker = function (props) {
520
527
  }
521
528
  emitStats();
522
529
  }, [emitStats]);
530
+ // Lazy calculation: release a precedent deferred on an inactive sheet so
531
+ // the plan for the active sheet evaluates it instead of reading it stale.
532
+ var reclaimDeferredPosition = useCallback(function (position) {
533
+ var sheetOperations = deferredOperationsBySheetRef.current.get(position.sheetId);
534
+ var key = makeKey(position);
535
+ var operation = sheetOperations === null || sheetOperations === void 0 ? void 0 : sheetOperations.get(key);
536
+ if (!sheetOperations || !operation) {
537
+ return false;
538
+ }
539
+ sheetOperations.delete(key);
540
+ if (operation.force) {
541
+ workerForceRecalcKeysRef.current.add(key);
542
+ }
543
+ emitStats();
544
+ return true;
545
+ }, [emitStats]);
546
+ var reclaimDeferredPositionsInRange = useCallback(function (range) {
547
+ var sheetOperations = deferredOperationsBySheetRef.current.get(range.sheetId);
548
+ var positions = [];
549
+ sheetOperations === null || sheetOperations === void 0 ? void 0 : sheetOperations.forEach(function (operation) {
550
+ if (isCellCoordinate(operation.position) &&
551
+ isCellCoordinateWithinCellRange(operation.position, range)) {
552
+ positions.push(operation.position);
553
+ }
554
+ });
555
+ return positions;
556
+ }, []);
523
557
  var cancelInflightEvaluation = useCallback(function (target) {
524
558
  if (!target) {
525
559
  return;
@@ -751,7 +785,13 @@ export var useCalculationWorker = function (props) {
751
785
  return;
752
786
  var isFullRecalc = isFullRecalcRef.current;
753
787
  var pendingResults = pendingResultsRef.current;
754
- onSuccessRef === null || onSuccessRef === void 0 ? void 0 : onSuccessRef(pendingResults.values(), isFullRecalc, {});
788
+ var context = pendingCircularReferencesRef.current.size > 0
789
+ ? {
790
+ circularReferences: Array.from(pendingCircularReferencesRef.current.values()),
791
+ }
792
+ : {};
793
+ pendingCircularReferencesRef.current.clear();
794
+ onSuccessRef === null || onSuccessRef === void 0 ? void 0 : onSuccessRef(pendingResults.values(), isFullRecalc, context);
755
795
  try {
756
796
  // Once the consumer receives the batch we can drop the temporary cache so
757
797
  // large evaluations (e.g. VLOOKUP matrices) don't accumulate in memory.
@@ -1358,6 +1398,22 @@ export var useCalculationWorker = function (props) {
1358
1398
  var onResultWrapper = function (result) {
1359
1399
  handleResult(result, currentBatchId !== null && currentBatchId !== void 0 ? currentBatchId : undefined);
1360
1400
  };
1401
+ var onCircularReferences = function (positions) {
1402
+ var e_10, _a;
1403
+ try {
1404
+ for (var positions_2 = (e_10 = void 0, __values(positions)), positions_2_1 = positions_2.next(); !positions_2_1.done; positions_2_1 = positions_2.next()) {
1405
+ var position = positions_2_1.value;
1406
+ pendingCircularReferencesRef.current.set(makeKey(position), position);
1407
+ }
1408
+ }
1409
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
1410
+ finally {
1411
+ try {
1412
+ if (positions_2_1 && !positions_2_1.done && (_a = positions_2.return)) _a.call(positions_2);
1413
+ }
1414
+ finally { if (e_10) throw e_10.error; }
1415
+ }
1416
+ };
1361
1417
  var enqueuePromise = enqueueCalculationOperations({
1362
1418
  graph: graph,
1363
1419
  workerClient: workerClient,
@@ -1368,11 +1424,14 @@ export var useCalculationWorker = function (props) {
1368
1424
  onPlanBuilt: onPlanBuiltWrapper,
1369
1425
  onWorkerBatch: onWorkerBatchWrapper,
1370
1426
  onNodeBegin: handleNodeBegin,
1427
+ onCircularReferences: onCircularReferences,
1371
1428
  normalizePropertyOverride: normalizePropertyOverride,
1372
1429
  planOptions: enableLazyCalculation && typeof activeSheetId === "number"
1373
1430
  ? {
1374
1431
  rootSheetId: activeSheetId,
1375
1432
  onDeferredNodes: deferCalculationNodes,
1433
+ reclaimDeferredPosition: reclaimDeferredPosition,
1434
+ reclaimDeferredPositionsInRange: reclaimDeferredPositionsInRange,
1376
1435
  includePositions: forcedPositions.length
1377
1436
  ? forcedPositions
1378
1437
  : undefined,
@@ -1429,6 +1488,8 @@ export var useCalculationWorker = function (props) {
1429
1488
  handleNodeBegin,
1430
1489
  normalizePropertyOverride,
1431
1490
  deferCalculationNodes,
1491
+ reclaimDeferredPosition,
1492
+ reclaimDeferredPositionsInRange,
1432
1493
  flushVolatileTracking,
1433
1494
  enqueueVolatileCells,
1434
1495
  onAfterCalculation,
@@ -1491,10 +1552,11 @@ export var useCalculationWorker = function (props) {
1491
1552
  workerReadyRef.current = false;
1492
1553
  (function () { return __awaiter(void 0, void 0, void 0, function () {
1493
1554
  var initialization, error_1;
1494
- return __generator(this, function (_a) {
1495
- switch (_a.label) {
1555
+ var _a;
1556
+ return __generator(this, function (_b) {
1557
+ switch (_b.label) {
1496
1558
  case 0:
1497
- _a.trys.push([0, 2, , 3]);
1559
+ _b.trys.push([0, 2, , 3]);
1498
1560
  initialization = workerErrorPromiseRef.current
1499
1561
  ? Promise.race([
1500
1562
  workerClient.initialize(nextSnapshot),
@@ -1503,10 +1565,10 @@ export var useCalculationWorker = function (props) {
1503
1565
  : workerClient.initialize(nextSnapshot);
1504
1566
  return [4 /*yield*/, initialization];
1505
1567
  case 1:
1506
- _a.sent();
1568
+ _b.sent();
1507
1569
  return [3 /*break*/, 3];
1508
1570
  case 2:
1509
- error_1 = _a.sent();
1571
+ error_1 = _b.sent();
1510
1572
  console.error("Failed to initialize calculation worker", error_1);
1511
1573
  return [2 /*return*/];
1512
1574
  case 3:
@@ -1514,7 +1576,13 @@ export var useCalculationWorker = function (props) {
1514
1576
  return [2 /*return*/];
1515
1577
  }
1516
1578
  workerReadyRef.current = true;
1517
- scheduleProcessing();
1579
+ // Read through the ref: listing `scheduleProcessing` as a dependency
1580
+ // re-ran this effect on every active-sheet change (it closes over
1581
+ // `activeSheetId`), and the cleanup cleared `workerReadyRef` while the
1582
+ // snapshot-equal early return never restored it — every operation
1583
+ // enqueued after a sheet switch (including deferred lazy-calc flushes)
1584
+ // then sat in the pending queue forever.
1585
+ (_a = scheduleProcessingRef.current) === null || _a === void 0 ? void 0 : _a.call(scheduleProcessingRef);
1518
1586
  return [2 /*return*/];
1519
1587
  }
1520
1588
  });
@@ -1531,7 +1599,6 @@ export var useCalculationWorker = function (props) {
1531
1599
  locale,
1532
1600
  tables,
1533
1601
  namedRanges,
1534
- scheduleProcessing,
1535
1602
  ]);
1536
1603
  useEffect(function () {
1537
1604
  if (workerClient === workerClientStub) {
@@ -1551,7 +1618,7 @@ export var useCalculationWorker = function (props) {
1551
1618
  };
1552
1619
  }, []);
1553
1620
  var prepareArrayOperation = useCallback(function (operation) {
1554
- var e_10, _a;
1621
+ var e_11, _a;
1555
1622
  var _b, _c, _d;
1556
1623
  if (operation.type === "dirty") {
1557
1624
  return;
@@ -1596,12 +1663,12 @@ export var useCalculationWorker = function (props) {
1596
1663
  queueAnchorDirty(entry.anchor);
1597
1664
  }
1598
1665
  }
1599
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
1666
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
1600
1667
  finally {
1601
1668
  try {
1602
1669
  if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
1603
1670
  }
1604
- finally { if (e_10) throw e_10.error; }
1671
+ finally { if (e_11) throw e_11.error; }
1605
1672
  }
1606
1673
  }
1607
1674
  }, [clearArrayValues, findCachedArrayAnchor, graph, queueAnchorDirty]);
@@ -1668,9 +1735,7 @@ export var useCalculationWorker = function (props) {
1668
1735
  return !isAreasEqual(node.position, source);
1669
1736
  }
1670
1737
  if (!includeSource && isCellCoordinate(source) && isCellNode(node)) {
1671
- var cellNode = node;
1672
- return (cellNode.position.rowIndex !== source.rowIndex ||
1673
- cellNode.position.columnIndex !== source.columnIndex);
1738
+ return !isEqualPosition(node.position, source);
1674
1739
  }
1675
1740
  return true;
1676
1741
  });
@@ -1680,7 +1745,7 @@ export var useCalculationWorker = function (props) {
1680
1745
  }, [graph]);
1681
1746
  var onRequestCalculate = useCallback(function (value, sheetId, rowIndex, columnIndex, options) { return __awaiter(void 0, void 0, void 0, function () {
1682
1747
  var disablePreview, skipOnDemand, formula, position, dependencies, isCircular, scope, _a, _b, _c, key, value_1, plan, _d, result, resultValue;
1683
- var e_11, _e;
1748
+ var e_12, _e;
1684
1749
  var _f, _g, _h;
1685
1750
  return __generator(this, function (_j) {
1686
1751
  switch (_j.label) {
@@ -1731,12 +1796,12 @@ export var useCalculationWorker = function (props) {
1731
1796
  scope[key] = value_1;
1732
1797
  }
1733
1798
  }
1734
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
1799
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
1735
1800
  finally {
1736
1801
  try {
1737
1802
  if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
1738
1803
  }
1739
- finally { if (e_11) throw e_11.error; }
1804
+ finally { if (e_12) throw e_12.error; }
1740
1805
  }
1741
1806
  }
1742
1807
  plan = {
@@ -72,7 +72,16 @@ export type StructureChange = {
72
72
  startColumnIndex: number;
73
73
  endColumnIndex: number;
74
74
  };
75
- export type CalculationSuccessContext = {};
75
+ export type CalculationSuccessContext = {
76
+ /**
77
+ * Cells that were members of a circular reference in this batch while
78
+ * iterative calculation is off. Excel shows 0 for them (never an error —
79
+ * the published values ARE 0, and dependents compute with 0) and raises a
80
+ * circular-reference warning; hosts that want that warning raise it from
81
+ * this list. Absent when nothing in the batch was circular.
82
+ */
83
+ circularReferences?: CellCoordinate[];
84
+ };
76
85
  export type CalculationResult = string | number | boolean | Date | undefined | null | object | ErrorValue | FormulaError | StructuredResult;
77
86
  export type CalculationOverrides = Map<string, CalculationResult | undefined | null>;
78
87
  export type UseCalculationProps = {
@@ -96,6 +105,7 @@ export type UseCalculationProps = {
96
105
  getSheetId: CalculatorConfig["getSheetId"];
97
106
  getSheetName(sheetId: number): string;
98
107
  getSheetIndex?: CalculatorConfig["getSheetIndex"];
108
+ getSheetNames?: CalculatorConfig["getSheetNames"];
99
109
  getSheetCount(): number;
100
110
  getEffectiveValue: Calculator["getCellValue"];
101
111
  getUserEnteredValue(sheetId: number, rowIndex: number, columnIndex: number): string | undefined;
@@ -124,7 +134,7 @@ export type UseCalculationProps = {
124
134
  isRowHiddenByFilter?: CalculatorConfig["isRowHiddenByFilter"];
125
135
  };
126
136
  export declare const EPHEMERAL_FUNCTIONS: Set<string>;
127
- export declare const useCalculation: ({ locale, functions, iterativeCalculation, onDemandFormulaPattern, activeSheetId, onSuccess, onChangeDependencyGraph, getSheetId, getSheetName, getSheetIndex, getSheetCount, getActiveSheetId, getEffectiveValue, getUserEnteredValue, getConditionalFormatFormula, getDataValidationFormula, getSheetProperties, getCellData, onStructuredReference, onNamedRange, namedRanges, onChangeStaticReference, onBeginCalculation, getEffectiveStructuredValue, isRowHidden, isRowHiddenByFilter, enableLazyCalculation, enabled, }: UseCalculationProps) => {
137
+ export declare const useCalculation: ({ locale, functions, iterativeCalculation, onDemandFormulaPattern, activeSheetId, onSuccess, onChangeDependencyGraph, getSheetId, getSheetName, getSheetIndex, getSheetNames, getSheetCount, getActiveSheetId, getEffectiveValue, getUserEnteredValue, getConditionalFormatFormula, getDataValidationFormula, getSheetProperties, getCellData, onStructuredReference, onNamedRange, namedRanges, onChangeStaticReference, onBeginCalculation, getEffectiveStructuredValue, isRowHidden, isRowHiddenByFilter, enableLazyCalculation, enabled, }: UseCalculationProps) => {
128
138
  enqueueCalculation: (operation: CalculationOperation) => void;
129
139
  enqueueGraphOperation: (operation: CalculationOperation) => void;
130
140
  getPrecedents: (source: CellCoordinate | CellCoordinateRange, includeSource?: boolean) => (CellNode | StaticNode | CellRangeNode)[];
@@ -1 +1 @@
1
- {"version":3,"file":"use-calculation.d.ts","sourceRoot":"","sources":["../../../hooks/use-calculation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-calculation.d.ts","sourceRoot":"","sources":["../../../hooks/use-calculation.ts"],"names":[],"mappings":"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"}