@rowsncolumns/spreadsheet 10.2.77 → 10.3.1

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 (210) hide show
  1. package/dist/cjs/api/insert-options.d.ts +67 -0
  2. package/dist/cjs/api/insert-options.d.ts.map +1 -0
  3. package/dist/cjs/api/insert-options.js +104 -0
  4. package/dist/cjs/api/move-overwrite.d.ts +14 -0
  5. package/dist/cjs/api/move-overwrite.d.ts.map +1 -0
  6. package/dist/cjs/api/move-overwrite.js +29 -0
  7. package/dist/cjs/api/multi-selection.d.ts +59 -0
  8. package/dist/cjs/api/multi-selection.d.ts.map +1 -0
  9. package/dist/cjs/api/multi-selection.js +166 -0
  10. package/dist/cjs/atoms/index.d.ts +3 -0
  11. package/dist/cjs/atoms/index.d.ts.map +1 -1
  12. package/dist/cjs/atoms/index.js +3 -0
  13. package/dist/cjs/atoms/insert-cells-dialog.atom.d.ts +36 -0
  14. package/dist/cjs/atoms/insert-cells-dialog.atom.d.ts.map +1 -0
  15. package/dist/cjs/atoms/insert-cells-dialog.atom.js +34 -0
  16. package/dist/cjs/atoms/insert-options.atom.d.ts +21 -0
  17. package/dist/cjs/atoms/insert-options.atom.d.ts.map +1 -0
  18. package/dist/cjs/atoms/insert-options.atom.js +11 -0
  19. package/dist/cjs/atoms/move-overwrite-confirm.atom.d.ts +24 -0
  20. package/dist/cjs/atoms/move-overwrite-confirm.atom.d.ts.map +1 -0
  21. package/dist/cjs/atoms/move-overwrite-confirm.atom.js +42 -0
  22. package/dist/cjs/atoms/sheet-context.atom.d.ts +2 -0
  23. package/dist/cjs/atoms/sheet-context.atom.d.ts.map +1 -1
  24. package/dist/cjs/atoms/sheet-context.atom.js +15 -2
  25. package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
  26. package/dist/cjs/components/canvas-grid/index.js +298 -68
  27. package/dist/cjs/components/canvas-grid/typings.d.ts +47 -5
  28. package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
  29. package/dist/cjs/components/cell-editor/formula-result-preview.d.ts +4 -1
  30. package/dist/cjs/components/cell-editor/formula-result-preview.d.ts.map +1 -1
  31. package/dist/cjs/components/cell-editor/formula-result-preview.js +2 -2
  32. package/dist/cjs/components/cell-editor/index.d.ts +7 -1
  33. package/dist/cjs/components/cell-editor/index.d.ts.map +1 -1
  34. package/dist/cjs/components/cell-editor/index.js +3 -3
  35. package/dist/cjs/components/cell-input/cell-input.d.ts +13 -0
  36. package/dist/cjs/components/cell-input/cell-input.d.ts.map +1 -1
  37. package/dist/cjs/components/cell-input/cell-input.js +8 -3
  38. package/dist/cjs/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
  39. package/dist/cjs/components/cell-input/formula-bar-cell-input.js +3 -1
  40. package/dist/cjs/components/context-menu/index.d.ts +16 -1
  41. package/dist/cjs/components/context-menu/index.d.ts.map +1 -1
  42. package/dist/cjs/components/context-menu/index.js +245 -24
  43. package/dist/cjs/components/embeds/embed-draggable.d.ts.map +1 -1
  44. package/dist/cjs/components/embeds/embed-draggable.js +4 -3
  45. package/dist/cjs/components/floating-cell-editor/index.d.ts.map +1 -1
  46. package/dist/cjs/components/floating-cell-editor/index.js +13 -5
  47. package/dist/cjs/components/insert-cells-dialog/index.d.ts +35 -0
  48. package/dist/cjs/components/insert-cells-dialog/index.d.ts.map +1 -0
  49. package/dist/cjs/components/insert-cells-dialog/index.js +84 -0
  50. package/dist/cjs/components/insert-options-smart-tag/index.d.ts +25 -0
  51. package/dist/cjs/components/insert-options-smart-tag/index.d.ts.map +1 -0
  52. package/dist/cjs/components/insert-options-smart-tag/index.js +41 -0
  53. package/dist/cjs/components/move-overwrite-confirm-dialog/index.d.ts +8 -0
  54. package/dist/cjs/components/move-overwrite-confirm-dialog/index.d.ts.map +1 -0
  55. package/dist/cjs/components/move-overwrite-confirm-dialog/index.js +34 -0
  56. package/dist/cjs/components/resizer/index.d.ts.map +1 -1
  57. package/dist/cjs/components/resizer/index.js +10 -5
  58. package/dist/cjs/components/selection/index.d.ts +1 -1
  59. package/dist/cjs/components/selection/index.d.ts.map +1 -1
  60. package/dist/cjs/components/selection/index.js +4 -2
  61. package/dist/cjs/components/selection/types.d.ts +8 -0
  62. package/dist/cjs/components/selection/types.d.ts.map +1 -1
  63. package/dist/cjs/components/sheet-search/index.d.ts.map +1 -1
  64. package/dist/cjs/components/sheet-search/index.js +6 -2
  65. package/dist/cjs/config.d.ts +6 -0
  66. package/dist/cjs/config.d.ts.map +1 -1
  67. package/dist/cjs/config.js +7 -1
  68. package/dist/cjs/hooks/use-cell-renderer.d.ts +7 -1
  69. package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
  70. package/dist/cjs/hooks/use-cell-renderer.js +8 -3
  71. package/dist/cjs/hooks/use-context-setter.d.ts.map +1 -1
  72. package/dist/cjs/hooks/use-context-setter.js +5 -1
  73. package/dist/cjs/hooks/use-copy-paste-cut.d.ts +5 -0
  74. package/dist/cjs/hooks/use-copy-paste-cut.d.ts.map +1 -1
  75. package/dist/cjs/hooks/use-copy-paste-cut.js +25 -3
  76. package/dist/cjs/hooks/use-editor-change.d.ts +4 -1
  77. package/dist/cjs/hooks/use-editor-change.d.ts.map +1 -1
  78. package/dist/cjs/hooks/use-editor-change.js +4 -3
  79. package/dist/cjs/hooks/use-editor-submit.d.ts +8 -1
  80. package/dist/cjs/hooks/use-editor-submit.d.ts.map +1 -1
  81. package/dist/cjs/hooks/use-editor-submit.js +9 -1
  82. package/dist/cjs/hooks/use-header-actions.d.ts.map +1 -1
  83. package/dist/cjs/hooks/use-header-actions.js +17 -10
  84. package/dist/cjs/hooks/use-move-columns-rows.d.ts.map +1 -1
  85. package/dist/cjs/hooks/use-move-columns-rows.js +27 -15
  86. package/dist/cjs/hooks/use-selection-move.d.ts.map +1 -1
  87. package/dist/cjs/hooks/use-selection-move.js +14 -6
  88. package/dist/cjs/hooks/use-selection-renderer.d.ts +9 -1
  89. package/dist/cjs/hooks/use-selection-renderer.d.ts.map +1 -1
  90. package/dist/cjs/hooks/use-selection-renderer.js +26 -2
  91. package/dist/cjs/hooks/use-selection-resize.d.ts.map +1 -1
  92. package/dist/cjs/hooks/use-selection-resize.js +13 -6
  93. package/dist/cjs/hooks/use-selection.d.ts +13 -5
  94. package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
  95. package/dist/cjs/hooks/use-selection.js +107 -31
  96. package/dist/cjs/hooks/use-table-resizer.d.ts.map +1 -1
  97. package/dist/cjs/hooks/use-table-resizer.js +16 -8
  98. package/dist/cjs/hooks/use-touch.d.ts.map +1 -1
  99. package/dist/cjs/hooks/use-touch.js +16 -8
  100. package/dist/cjs/index.d.ts +7 -0
  101. package/dist/cjs/index.d.ts.map +1 -1
  102. package/dist/cjs/index.js +7 -0
  103. package/dist/cjs/release-date.js +1 -1
  104. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  105. package/dist/esm/api/insert-options.d.ts +67 -0
  106. package/dist/esm/api/insert-options.d.ts.map +1 -0
  107. package/dist/esm/api/insert-options.js +91 -0
  108. package/dist/esm/api/move-overwrite.d.ts +14 -0
  109. package/dist/esm/api/move-overwrite.d.ts.map +1 -0
  110. package/dist/esm/api/move-overwrite.js +25 -0
  111. package/dist/esm/api/multi-selection.d.ts +59 -0
  112. package/dist/esm/api/multi-selection.d.ts.map +1 -0
  113. package/dist/esm/api/multi-selection.js +92 -0
  114. package/dist/esm/atoms/index.d.ts +3 -0
  115. package/dist/esm/atoms/index.d.ts.map +1 -1
  116. package/dist/esm/atoms/index.js +3 -0
  117. package/dist/esm/atoms/insert-cells-dialog.atom.d.ts +36 -0
  118. package/dist/esm/atoms/insert-cells-dialog.atom.d.ts.map +1 -0
  119. package/dist/esm/atoms/insert-cells-dialog.atom.js +25 -0
  120. package/dist/esm/atoms/insert-options.atom.d.ts +21 -0
  121. package/dist/esm/atoms/insert-options.atom.d.ts.map +1 -0
  122. package/dist/esm/atoms/insert-options.atom.js +5 -0
  123. package/dist/esm/atoms/move-overwrite-confirm.atom.d.ts +24 -0
  124. package/dist/esm/atoms/move-overwrite-confirm.atom.d.ts.map +1 -0
  125. package/dist/esm/atoms/move-overwrite-confirm.atom.js +29 -0
  126. package/dist/esm/atoms/sheet-context.atom.d.ts +2 -0
  127. package/dist/esm/atoms/sheet-context.atom.d.ts.map +1 -1
  128. package/dist/esm/atoms/sheet-context.atom.js +10 -0
  129. package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
  130. package/dist/esm/components/canvas-grid/index.js +250 -24
  131. package/dist/esm/components/canvas-grid/typings.d.ts +47 -5
  132. package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
  133. package/dist/esm/components/cell-editor/formula-result-preview.d.ts +4 -1
  134. package/dist/esm/components/cell-editor/formula-result-preview.d.ts.map +1 -1
  135. package/dist/esm/components/cell-editor/formula-result-preview.js +3 -3
  136. package/dist/esm/components/cell-editor/index.d.ts +7 -1
  137. package/dist/esm/components/cell-editor/index.d.ts.map +1 -1
  138. package/dist/esm/components/cell-editor/index.js +3 -3
  139. package/dist/esm/components/cell-input/cell-input.d.ts +13 -0
  140. package/dist/esm/components/cell-input/cell-input.d.ts.map +1 -1
  141. package/dist/esm/components/cell-input/cell-input.js +10 -5
  142. package/dist/esm/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
  143. package/dist/esm/components/cell-input/formula-bar-cell-input.js +3 -1
  144. package/dist/esm/components/context-menu/index.d.ts +16 -1
  145. package/dist/esm/components/context-menu/index.d.ts.map +1 -1
  146. package/dist/esm/components/context-menu/index.js +193 -16
  147. package/dist/esm/components/embeds/embed-draggable.d.ts.map +1 -1
  148. package/dist/esm/components/embeds/embed-draggable.js +3 -2
  149. package/dist/esm/components/floating-cell-editor/index.d.ts.map +1 -1
  150. package/dist/esm/components/floating-cell-editor/index.js +12 -6
  151. package/dist/esm/components/insert-cells-dialog/index.d.ts +35 -0
  152. package/dist/esm/components/insert-cells-dialog/index.d.ts.map +1 -0
  153. package/dist/esm/components/insert-cells-dialog/index.js +79 -0
  154. package/dist/esm/components/insert-options-smart-tag/index.d.ts +25 -0
  155. package/dist/esm/components/insert-options-smart-tag/index.d.ts.map +1 -0
  156. package/dist/esm/components/insert-options-smart-tag/index.js +35 -0
  157. package/dist/esm/components/move-overwrite-confirm-dialog/index.d.ts +8 -0
  158. package/dist/esm/components/move-overwrite-confirm-dialog/index.d.ts.map +1 -0
  159. package/dist/esm/components/move-overwrite-confirm-dialog/index.js +30 -0
  160. package/dist/esm/components/resizer/index.d.ts.map +1 -1
  161. package/dist/esm/components/resizer/index.js +8 -4
  162. package/dist/esm/components/selection/index.d.ts +1 -1
  163. package/dist/esm/components/selection/index.d.ts.map +1 -1
  164. package/dist/esm/components/selection/index.js +4 -2
  165. package/dist/esm/components/selection/types.d.ts +8 -0
  166. package/dist/esm/components/selection/types.d.ts.map +1 -1
  167. package/dist/esm/components/sheet-search/index.d.ts.map +1 -1
  168. package/dist/esm/components/sheet-search/index.js +5 -2
  169. package/dist/esm/config.d.ts +6 -0
  170. package/dist/esm/config.d.ts.map +1 -1
  171. package/dist/esm/config.js +6 -0
  172. package/dist/esm/hooks/use-cell-renderer.d.ts +7 -1
  173. package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
  174. package/dist/esm/hooks/use-cell-renderer.js +9 -4
  175. package/dist/esm/hooks/use-context-setter.d.ts.map +1 -1
  176. package/dist/esm/hooks/use-context-setter.js +5 -1
  177. package/dist/esm/hooks/use-copy-paste-cut.d.ts +5 -0
  178. package/dist/esm/hooks/use-copy-paste-cut.d.ts.map +1 -1
  179. package/dist/esm/hooks/use-copy-paste-cut.js +25 -4
  180. package/dist/esm/hooks/use-editor-change.d.ts +4 -1
  181. package/dist/esm/hooks/use-editor-change.d.ts.map +1 -1
  182. package/dist/esm/hooks/use-editor-change.js +5 -4
  183. package/dist/esm/hooks/use-editor-submit.d.ts +8 -1
  184. package/dist/esm/hooks/use-editor-submit.d.ts.map +1 -1
  185. package/dist/esm/hooks/use-editor-submit.js +10 -2
  186. package/dist/esm/hooks/use-header-actions.d.ts.map +1 -1
  187. package/dist/esm/hooks/use-header-actions.js +11 -4
  188. package/dist/esm/hooks/use-move-columns-rows.d.ts.map +1 -1
  189. package/dist/esm/hooks/use-move-columns-rows.js +18 -6
  190. package/dist/esm/hooks/use-selection-move.d.ts.map +1 -1
  191. package/dist/esm/hooks/use-selection-move.js +11 -4
  192. package/dist/esm/hooks/use-selection-renderer.d.ts +9 -1
  193. package/dist/esm/hooks/use-selection-renderer.d.ts.map +1 -1
  194. package/dist/esm/hooks/use-selection-renderer.js +26 -2
  195. package/dist/esm/hooks/use-selection-resize.d.ts.map +1 -1
  196. package/dist/esm/hooks/use-selection-resize.js +11 -5
  197. package/dist/esm/hooks/use-selection.d.ts +13 -5
  198. package/dist/esm/hooks/use-selection.d.ts.map +1 -1
  199. package/dist/esm/hooks/use-selection.js +89 -27
  200. package/dist/esm/hooks/use-table-resizer.d.ts.map +1 -1
  201. package/dist/esm/hooks/use-table-resizer.js +15 -9
  202. package/dist/esm/hooks/use-touch.d.ts.map +1 -1
  203. package/dist/esm/hooks/use-touch.js +15 -7
  204. package/dist/esm/index.d.ts +7 -0
  205. package/dist/esm/index.d.ts.map +1 -1
  206. package/dist/esm/index.js +7 -0
  207. package/dist/esm/release-date.js +1 -1
  208. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  209. package/dist/spreadsheet.min.css +1 -1
  210. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"use-selection.d.ts","sourceRoot":"","sources":["../../../hooks/use-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-selection.d.ts","sourceRoot":"","sources":["../../../hooks/use-selection.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ var grid_3 = require("@rowsncolumns/grid");
8
8
  var grid_4 = require("@rowsncolumns/grid");
9
9
  var react_1 = require("react");
10
10
  var scheduler_1 = require("../api/scheduler");
11
+ var move_overwrite_1 = require("../api/move-overwrite");
11
12
  var config_1 = require("../config");
12
13
  var helpers_1 = require("../helpers");
13
14
  var use_callback_ref_1 = require("./use-callback-ref");
@@ -90,10 +91,16 @@ var fillShrinkFor = function (selection, coords) {
90
91
  * Hook to enable selection in datagrid
91
92
  * @param initialSelection
92
93
  */
94
+ /** Overwrite prompt used when the host mounts no `MoveOverwriteConfirmDialogHost`. */
95
+ var defaultConfirmMoveOverwrite = function (message) {
96
+ return typeof window === "undefined" || typeof window.confirm !== "function"
97
+ ? true
98
+ : window.confirm(message);
99
+ };
93
100
  var useSelection = function (_a) {
94
- var sheetId = _a.sheetId, activeCell = _a.activeCell, onChangeActiveCell = _a.onChangeActiveCell, selections = _a.selections, onChangeSelections = _a.onChangeSelections, _b = _a.columnCount, columnCount = _b === void 0 ? 0 : _b, _c = _a.rowCount, rowCount = _c === void 0 ? 0 : _c, _d = _a.selectionPolicy, selectionPolicy = _d === void 0 ? "multiple" : _d, _e = _a.newSelectionMode, newSelectionMode = _e === void 0 ? "clear" : _e, _f = _a.allowDeselectSelection, allowDeselectSelection = _f === void 0 ? true : _f, onFill = _a.onFill, onFillHandleRelease = _a.onFillHandleRelease, onFillShrink = _a.onFillShrink, _g = _a.isHiddenRow, isHiddenRow = _g === void 0 ? defaultIsHidden : _g, _h = _a.isHiddenColumn, isHiddenColumn = _h === void 0 ? defaultIsHidden : _h, _j = _a.alwaysScrollToActiveCell, alwaysScrollToActiveCell = _j === void 0 ? true : _j, _k = _a.selectionTopBound, selectionTopBound = _k === void 0 ? 0 : _k, _l = _a.selectionBottomBound, selectionBottomBound = _l === void 0 ? rowCount : _l, _m = _a.selectionLeftBound, selectionLeftBound = _m === void 0 ? 0 : _m, _o = _a.selectionRightBound, selectionRightBound = _o === void 0 ? columnCount : _o, mouseDownInterceptor = _a.mouseDownInterceptor, mouseMoveInterceptor = _a.mouseMoveInterceptor, _p = _a.mergedCells, mergedCells = _p === void 0 ? config_1.DEFAULT_ARRAY : _p, _q = _a.canSelectionSpanMergedCells, canSelectionSpanMergedCells = _q === void 0 ? defaultSelectionSpan : _q, getValue = _a.getValue, onMoveSelection = _a.onMoveSelection, getCellCoordsFromOffset = _a.getCellCoordsFromOffset, getCellBounds = _a.getCellBounds, getViewPort = _a.getViewPort, focus = _a.focus, scrollToCell = _a.scrollToCell, isMergedCell = _a.isMergedCell, enableSelectOnEnterKey = _a.enableSelectOnEnterKey, formulaMode = _a.formulaMode, isTouchDevice = _a.isTouchDevice, getDataRowCount = _a.getDataRowCount, isRowHeader = _a.isRowHeader, isColumnHeader = _a.isColumnHeader, _r = _a.enableDataBoundaryNavigation, enableDataBoundaryNavigation = _r === void 0 ? false : _r;
95
- var _s = tslib_1.__read((0, react_1.useState)(), 2), fillSelection = _s[0], setFillSelection = _s[1];
96
- var _t = tslib_1.__read((0, react_1.useState)(), 2), fillShrink = _t[0], setFillShrink = _t[1];
101
+ var sheetId = _a.sheetId, activeCell = _a.activeCell, onChangeActiveCell = _a.onChangeActiveCell, selections = _a.selections, onChangeSelections = _a.onChangeSelections, _b = _a.columnCount, columnCount = _b === void 0 ? 0 : _b, _c = _a.rowCount, rowCount = _c === void 0 ? 0 : _c, _d = _a.selectionPolicy, selectionPolicy = _d === void 0 ? "multiple" : _d, _e = _a.newSelectionMode, newSelectionMode = _e === void 0 ? "clear" : _e, _f = _a.allowDeselectSelection, allowDeselectSelection = _f === void 0 ? true : _f, onFill = _a.onFill, onFillHandleRelease = _a.onFillHandleRelease, onFillShrink = _a.onFillShrink, onInsertCutCells = _a.onInsertCutCells, _g = _a.confirmMoveOverwrite, confirmMoveOverwrite = _g === void 0 ? defaultConfirmMoveOverwrite : _g, _h = _a.isHiddenRow, isHiddenRow = _h === void 0 ? defaultIsHidden : _h, _j = _a.isHiddenColumn, isHiddenColumn = _j === void 0 ? defaultIsHidden : _j, _k = _a.alwaysScrollToActiveCell, alwaysScrollToActiveCell = _k === void 0 ? true : _k, _l = _a.selectionTopBound, selectionTopBound = _l === void 0 ? 0 : _l, _m = _a.selectionBottomBound, selectionBottomBound = _m === void 0 ? rowCount : _m, _o = _a.selectionLeftBound, selectionLeftBound = _o === void 0 ? 0 : _o, _p = _a.selectionRightBound, selectionRightBound = _p === void 0 ? columnCount : _p, mouseDownInterceptor = _a.mouseDownInterceptor, mouseMoveInterceptor = _a.mouseMoveInterceptor, _q = _a.mergedCells, mergedCells = _q === void 0 ? config_1.DEFAULT_ARRAY : _q, _r = _a.canSelectionSpanMergedCells, canSelectionSpanMergedCells = _r === void 0 ? defaultSelectionSpan : _r, getValue = _a.getValue, onMoveSelection = _a.onMoveSelection, getCellCoordsFromOffset = _a.getCellCoordsFromOffset, getCellBounds = _a.getCellBounds, getViewPort = _a.getViewPort, focus = _a.focus, scrollToCell = _a.scrollToCell, isMergedCell = _a.isMergedCell, enableSelectOnEnterKey = _a.enableSelectOnEnterKey, formulaMode = _a.formulaMode, isTouchDevice = _a.isTouchDevice, getDataRowCount = _a.getDataRowCount, isRowHeader = _a.isRowHeader, isColumnHeader = _a.isColumnHeader, _s = _a.enableDataBoundaryNavigation, enableDataBoundaryNavigation = _s === void 0 ? false : _s;
102
+ var _t = tslib_1.__read((0, react_1.useState)(), 2), fillSelection = _t[0], setFillSelection = _t[1];
103
+ var _u = tslib_1.__read((0, react_1.useState)(), 2), fillShrink = _u[0], setFillShrink = _u[1];
97
104
  var fillShrinkRef = (0, react_1.useRef)(undefined);
98
105
  // Ctrl/Cmd state of the fill-handle drag, sampled on every mousemove (mouseup carries the
99
106
  // modifier too, but a key released mid-drag should still count — Excel reads it at drop time,
@@ -111,31 +118,43 @@ var useSelection = function (_a) {
111
118
  * release always fires `contextmenu`; neither may reach the grid's cell
112
119
  * context menu while the user is dragging the fill handle.
113
120
  */
121
+ /**
122
+ * Documents the in-flight gestures listen on. The grid may render into a
123
+ * popout window, whose document is not the bundle's global `document`; a
124
+ * gesture binds its move/up listeners to the document of the element it
125
+ * started on and unbinds from that same document.
126
+ */
127
+ var selectionDocumentRef = (0, react_1.useRef)(null);
128
+ var fillDocumentRef = (0, react_1.useRef)(null);
129
+ var dragSelectionDocumentRef = (0, react_1.useRef)(null);
130
+ var tapDocumentRef = (0, react_1.useRef)(null);
114
131
  var contextMenuSuppressorRef = (0, react_1.useRef)(null);
115
132
  var releaseContextMenuSuppressor = (0, react_1.useCallback)(function () {
116
- var handler = contextMenuSuppressorRef.current;
117
- if (!handler)
133
+ var suppressor = contextMenuSuppressorRef.current;
134
+ if (!suppressor)
118
135
  return;
119
136
  contextMenuSuppressorRef.current = null;
120
- document.removeEventListener("contextmenu", handler, true);
137
+ suppressor.ownerDocument.removeEventListener("contextmenu", suppressor.handler, true);
121
138
  }, []);
122
139
  var suppressNextContextMenu = (0, react_1.useCallback)(function () {
140
+ var _a;
123
141
  if (contextMenuSuppressorRef.current)
124
142
  return;
143
+ var ownerDocument = (_a = fillDocumentRef.current) !== null && _a !== void 0 ? _a : document;
125
144
  var handler = function (e) {
126
145
  e.preventDefault();
127
146
  e.stopPropagation();
128
147
  releaseContextMenuSuppressor();
129
148
  };
130
- contextMenuSuppressorRef.current = handler;
131
- document.addEventListener("contextmenu", handler, true);
149
+ contextMenuSuppressorRef.current = { handler: handler, ownerDocument: ownerDocument };
150
+ ownerDocument.addEventListener("contextmenu", handler, true);
132
151
  }, [releaseContextMenuSuppressor]);
133
152
  var selectionsRef = (0, react_1.useRef)([]);
134
153
  var fillSelectionRef = (0, react_1.useRef)(undefined);
135
154
  var onChangeSelectionsRef = (0, use_callback_ref_1.useCallbackRef)(onChangeSelections);
136
155
  /* Drag drop selection */
137
156
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
138
- var _u = tslib_1.__read((0, react_1.useReducer)(function (s) { return s + 1; }, 0), 2), _ = _u[0], forceRender = _u[1];
157
+ var _v = tslib_1.__read((0, react_1.useReducer)(function (s) { return s + 1; }, 0), 2), _ = _v[0], forceRender = _v[1];
139
158
  var isDragging = (0, react_1.useRef)(false);
140
159
  var hasUserMovedSelection = (0, react_1.useRef)(false);
141
160
  var initialDraggedSelection = (0, react_1.useRef)(undefined);
@@ -351,11 +370,14 @@ var useSelection = function (_a) {
351
370
  * Mouse up handler
352
371
  */
353
372
  var handleMouseUp = (0, react_1.useCallback)(function () {
373
+ var _a;
354
374
  /* Reset selection mode */
355
375
  isSelecting.current = false;
356
- /* Remove listener */
357
- document.removeEventListener("mousemove", handleMouseMove);
358
- document.removeEventListener("mouseup", handleMouseUp);
376
+ /* Remove listener from the document the gesture started on */
377
+ var ownerDocument = (_a = selectionDocumentRef.current) !== null && _a !== void 0 ? _a : document;
378
+ selectionDocumentRef.current = null;
379
+ ownerDocument.removeEventListener("mousemove", handleMouseMove);
380
+ ownerDocument.removeEventListener("mouseup", handleMouseUp);
359
381
  /* Update last selection */
360
382
  var curSelections = selectionsRef.current;
361
383
  var len = curSelections.length;
@@ -837,6 +859,7 @@ var useSelection = function (_a) {
837
859
  * Triggers a new selection start
838
860
  */
839
861
  var handleMouseDown = (0, react_1.useCallback)(function (e) {
862
+ var _a, _b;
840
863
  var coords = getCellCoordsFromOffset(e.clientX, e.clientY, true);
841
864
  if (!coords)
842
865
  return;
@@ -858,8 +881,10 @@ var useSelection = function (_a) {
858
881
  var hasSelections = selectionsRef.current.length > 0;
859
882
  var isDeselecting = isMetaKey && allowDeselect;
860
883
  if (!isContextMenuClick && selectionPolicy !== "single") {
861
- document.addEventListener("mouseup", handleMouseUp);
862
- document.addEventListener("mousemove", handleMouseMove);
884
+ var ownerDocument = (_b = (0, grid_3.getOwnerDocument)((_a = e.currentTarget) !== null && _a !== void 0 ? _a : e.target)) !== null && _b !== void 0 ? _b : document;
885
+ selectionDocumentRef.current = ownerDocument;
886
+ ownerDocument.addEventListener("mouseup", handleMouseUp);
887
+ ownerDocument.addEventListener("mousemove", handleMouseMove);
863
888
  }
864
889
  /* Activate selection mode */
865
890
  // Disable flag for context menu
@@ -1208,13 +1233,14 @@ var useSelection = function (_a) {
1208
1233
  * comes from the mouseup event, not the mousedown.
1209
1234
  */
1210
1235
  var handleFillMouseUp = (0, react_1.useCallback)(function (e) {
1211
- var _a;
1236
+ var _a, _b;
1212
1237
  isFilling.current = false;
1213
1238
  var toggle = isFillToggleModifier(e);
1214
1239
  var button = fillButtonRef.current;
1215
- /* Remove listener */
1216
- document.removeEventListener("mousemove", handleFillMouseMove);
1217
- document.removeEventListener("mouseup", handleFillMouseUp);
1240
+ /* Remove listener from the document the gesture started on */
1241
+ var ownerDocument = (_a = fillDocumentRef.current) !== null && _a !== void 0 ? _a : document;
1242
+ ownerDocument.removeEventListener("mousemove", handleFillMouseMove);
1243
+ ownerDocument.removeEventListener("mouseup", handleFillMouseUp);
1218
1244
  // The right-button (or macOS Ctrl+click) `contextmenu` event follows this
1219
1245
  // mouseup; keep swallowing it for one tick, then drop the suppressor so a
1220
1246
  // later, unrelated right-click still opens the cell context menu.
@@ -1227,7 +1253,7 @@ var useSelection = function (_a) {
1227
1253
  var fillSelection = fillSelectionRef.current;
1228
1254
  var shrink = fillShrinkRef.current;
1229
1255
  // Modifier for a drag-back shrink: the last move's state, else the release's.
1230
- var gestureOptions = (_a = fillModifierRef.current) !== null && _a !== void 0 ? _a : (toggle ? { modifier: "toggle" } : undefined);
1256
+ var gestureOptions = (_b = fillModifierRef.current) !== null && _b !== void 0 ? _b : (toggle ? { modifier: "toggle" } : undefined);
1231
1257
  fillModifierRef.current = undefined;
1232
1258
  /* Update last selection */
1233
1259
  setFillSelection(undefined);
@@ -1305,8 +1331,11 @@ var useSelection = function (_a) {
1305
1331
  sheetId,
1306
1332
  ]);
1307
1333
  var handleFillMouseDown = (0, react_1.useCallback)(function (e) {
1334
+ var _a;
1308
1335
  e.stopPropagation();
1309
1336
  e.preventDefault();
1337
+ var ownerDocument = (_a = (0, grid_3.getOwnerDocument)(e.currentTarget)) !== null && _a !== void 0 ? _a : document;
1338
+ fillDocumentRef.current = ownerDocument;
1310
1339
  var isRightButton = e.button === grid_4.MouseButtonCodes.right;
1311
1340
  fillButtonRef.current = isRightButton ? "right" : "left";
1312
1341
  // Ctrl+drag on the handle must never become the macOS Ctrl+click
@@ -1316,8 +1345,8 @@ var useSelection = function (_a) {
1316
1345
  suppressNextContextMenu();
1317
1346
  }
1318
1347
  isFilling.current = true;
1319
- document.addEventListener("mousemove", handleFillMouseMove);
1320
- document.addEventListener("mouseup", handleFillMouseUp);
1348
+ ownerDocument.addEventListener("mousemove", handleFillMouseMove);
1349
+ ownerDocument.addEventListener("mouseup", handleFillMouseUp);
1321
1350
  }, [handleFillMouseMove, handleFillMouseUp, suppressNextContextMenu]);
1322
1351
  /**
1323
1352
  * Remove the last selection from state
@@ -1370,9 +1399,13 @@ var useSelection = function (_a) {
1370
1399
  /**
1371
1400
  * When drag/drop is complete
1372
1401
  */
1373
- var handleSelectionMouseUp = (0, react_1.useCallback)(function () {
1402
+ var handleSelectionMouseUp = (0, react_1.useCallback)(function (e) {
1403
+ var _a;
1374
1404
  var fromSelection = initialDraggedSelection.current;
1375
1405
  var toSelection = draggedSelection.current;
1406
+ // Excel reads the modifier at RELEASE: Shift → insert between existing cells (I-beam),
1407
+ // no modifier → overwrite (after the data prompt).
1408
+ var insertMode = e.shiftKey;
1376
1409
  /**
1377
1410
  * If the from and to selection area
1378
1411
  */
@@ -1408,7 +1441,36 @@ var useSelection = function (_a) {
1408
1441
  if (fromSelection &&
1409
1442
  toSelection &&
1410
1443
  !(0, grid_4.isAreasEqual)(fromSelection.range, toSelection.range)) {
1411
- onMoveSelection === null || onMoveSelection === void 0 ? void 0 : onMoveSelection(sheetId, fromSelection, toSelection);
1444
+ if (insertMode && onInsertCutCells) {
1445
+ // Shift+drag inserts (displaces the destination band) — Excel shows no prompt.
1446
+ onInsertCutCells(sheetId, fromSelection, toSelection);
1447
+ }
1448
+ else if ((0, move_overwrite_1.needsOverwritePrompt)(fromSelection.range, toSelection.range, function (rowIndex, columnIndex) {
1449
+ return !(0, grid_1.isNull)(getValue(sheetId, rowIndex, columnIndex));
1450
+ })) {
1451
+ // The destination holds data the block would overwrite: Excel asks first. The
1452
+ // selection has already followed the drop; Cancel puts it back on the source.
1453
+ var previousSelections_1 = selectionsRef.current;
1454
+ Promise.resolve(confirmMoveOverwrite(move_overwrite_1.MOVE_OVERWRITE_PROMPT)).then(function (replace) {
1455
+ if (replace) {
1456
+ onMoveSelection === null || onMoveSelection === void 0 ? void 0 : onMoveSelection(sheetId, fromSelection, toSelection);
1457
+ return;
1458
+ }
1459
+ onChangeActiveCell === null || onChangeActiveCell === void 0 ? void 0 : onChangeActiveCell(sheetId, {
1460
+ rowIndex: fromSelection.range.startRowIndex,
1461
+ columnIndex: fromSelection.range.startColumnIndex,
1462
+ });
1463
+ onChangeSelections === null || onChangeSelections === void 0 ? void 0 : onChangeSelections((0, grid_4.selectionSpansCells)(fromSelection.range)
1464
+ ? previousSelections_1.map(function (cur) {
1465
+ return (0, grid_4.isAreasEqual)(cur.range, toSelection.range) ? fromSelection : cur;
1466
+ })
1467
+ : previousSelections_1.filter(function (cur) { return !(0, grid_4.isAreasEqual)(cur.range, toSelection.range); }));
1468
+ focus();
1469
+ });
1470
+ }
1471
+ else {
1472
+ onMoveSelection === null || onMoveSelection === void 0 ? void 0 : onMoveSelection(sheetId, fromSelection, toSelection);
1473
+ }
1412
1474
  }
1413
1475
  /* Focus on the grid */
1414
1476
  focus();
@@ -1417,14 +1479,19 @@ var useSelection = function (_a) {
1417
1479
  draggedSelection.current = void 0;
1418
1480
  draggedSelectionIndex.current = void 0;
1419
1481
  hasUserMovedSelection.current = false;
1420
- /* Remove event handlers */
1421
- document.removeEventListener("mouseup", handleSelectionMouseUp);
1422
- document.removeEventListener("mousemove", handleSelectionMouseMove);
1482
+ /* Remove event handlers from the document the gesture started on */
1483
+ var ownerDocument = (_a = dragSelectionDocumentRef.current) !== null && _a !== void 0 ? _a : document;
1484
+ dragSelectionDocumentRef.current = null;
1485
+ ownerDocument.removeEventListener("mouseup", handleSelectionMouseUp);
1486
+ ownerDocument.removeEventListener("mousemove", handleSelectionMouseMove);
1423
1487
  /* Force render */
1424
1488
  forceRender();
1425
1489
  }, [
1426
1490
  sheetId,
1427
1491
  onMoveSelection,
1492
+ onInsertCutCells,
1493
+ confirmMoveOverwrite,
1494
+ getValue,
1428
1495
  handleSelectionMouseMove,
1429
1496
  focus,
1430
1497
  onChangeActiveCell,
@@ -1434,6 +1501,7 @@ var useSelection = function (_a) {
1434
1501
  * When user mouse downs on selection
1435
1502
  */
1436
1503
  var handleSelectionMouseDown = (0, react_1.useCallback)(function (e, activeCell, selection, index, shouldClamp) {
1504
+ var _a;
1437
1505
  if (shouldClamp === void 0) { shouldClamp = true; }
1438
1506
  if (e.isDefaultPrevented()) {
1439
1507
  return;
@@ -1465,9 +1533,11 @@ var useSelection = function (_a) {
1465
1533
  }
1466
1534
  /* Set dragging flag */
1467
1535
  isDragging.current = true;
1468
- /* Listen to mousemove and mousedown events */
1469
- document.addEventListener("mouseup", handleSelectionMouseUp);
1470
- document.addEventListener("mousemove", handleSelectionMouseMove);
1536
+ /* Listen on the document the gesture started on */
1537
+ var ownerDocument = (_a = (0, grid_3.getOwnerDocument)(e.currentTarget)) !== null && _a !== void 0 ? _a : document;
1538
+ dragSelectionDocumentRef.current = ownerDocument;
1539
+ ownerDocument.addEventListener("mouseup", handleSelectionMouseUp);
1540
+ ownerDocument.addEventListener("mousemove", handleSelectionMouseMove);
1471
1541
  /* Force a re-render */
1472
1542
  forceRender();
1473
1543
  }, [
@@ -1539,6 +1609,7 @@ var useSelection = function (_a) {
1539
1609
  var startTimeRef = (0, react_1.useRef)(0);
1540
1610
  var startPosRef = (0, react_1.useRef)({ x: 0, y: 0 });
1541
1611
  var onPointerUp = (0, react_1.useCallback)(function (event) {
1612
+ var _a;
1542
1613
  var endTime = Date.now();
1543
1614
  var maxDuration = 200;
1544
1615
  var maxDistance = 10;
@@ -1550,12 +1621,17 @@ var useSelection = function (_a) {
1550
1621
  handleMouseDown(event);
1551
1622
  handleMouseUp();
1552
1623
  }
1553
- document.removeEventListener("pointerup", onPointerUp);
1624
+ var ownerDocument = (_a = tapDocumentRef.current) !== null && _a !== void 0 ? _a : document;
1625
+ tapDocumentRef.current = null;
1626
+ ownerDocument.removeEventListener("pointerup", onPointerUp);
1554
1627
  }, [handleMouseDown, handleMouseUp]);
1555
1628
  var onPointerDown = (0, react_1.useCallback)(function (event) {
1629
+ var _a;
1556
1630
  startTimeRef.current = Date.now();
1557
1631
  startPosRef.current = { x: event.clientX, y: event.clientY };
1558
- document.addEventListener("pointerup", onPointerUp);
1632
+ var ownerDocument = (_a = (0, grid_3.getOwnerDocument)(event.currentTarget)) !== null && _a !== void 0 ? _a : document;
1633
+ tapDocumentRef.current = ownerDocument;
1634
+ ownerDocument.addEventListener("pointerup", onPointerUp);
1559
1635
  }, [onPointerUp]);
1560
1636
  // Add a ref. makeEditable renders way too often
1561
1637
  var handleKeyDownRef = (0, use_callback_ref_1.useCallbackRef)(handleKeyDown);
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-resizer.d.ts","sourceRoot":"","sources":["../../../hooks/use-table-resizer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE,eAAe,EAAE,CACf,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,KAChC,IAAI,CAAC;IACV,eAAe,IAAI,IAAI,CAAC;IACxB,uBAAuB,EAAE,CACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,aAAa,CAAC,EAAE,OAAO,KACpB,aAAa,GAAG,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACjD,YAAY,EAAE,CACZ,IAAI,EAAE,qBAAqB,EAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,KACtB,IAAI,GAAG,SAAS,CAAC;IACtB,UAAU,IAAI,IAAI,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,+IAW7B,oBAAoB;;;CAyHtB,CAAC;AAYF,eAAO,MAAM,kBAAkB,wKAa7B,CAAC"}
1
+ {"version":3,"file":"use-table-resizer.d.ts","sourceRoot":"","sources":["../../../hooks/use-table-resizer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE,eAAe,EAAE,CACf,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,KAChC,IAAI,CAAC;IACV,eAAe,IAAI,IAAI,CAAC;IACxB,uBAAuB,EAAE,CACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,aAAa,CAAC,EAAE,OAAO,KACpB,aAAa,GAAG,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACjD,YAAY,EAAE,CACZ,IAAI,EAAE,qBAAqB,EAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,KACtB,IAAI,GAAG,SAAS,CAAC;IACtB,UAAU,IAAI,IAAI,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,+IAW7B,oBAAoB;;;CA+HtB,CAAC;AAYF,eAAO,MAAM,kBAAkB,wKAa7B,CAAC"}
@@ -25,6 +25,7 @@ var useTableResizer = function (_a) {
25
25
  }
26
26
  }, [getCellCoordsFromOffset, modifySelection, scrollToCell]);
27
27
  var onMouseUp = (0, react_1.useCallback)(function (event) {
28
+ var _a;
28
29
  // Callback
29
30
  var endCell = getCellCoordsFromOffset(event.clientX, event.clientY, false);
30
31
  //End
@@ -38,9 +39,11 @@ var useTableResizer = function (_a) {
38
39
  }
39
40
  // Switch focus to sheet
40
41
  focusSheet();
41
- // Unbind
42
- document.removeEventListener("pointermove", onMouseMove);
43
- document.removeEventListener("pointerup", onMouseUp);
42
+ // Unbind from the document the gesture started on
43
+ var ownerDocument = (_a = gestureDocumentRef.current) !== null && _a !== void 0 ? _a : document;
44
+ gestureDocumentRef.current = null;
45
+ ownerDocument.removeEventListener("pointermove", onMouseMove);
46
+ ownerDocument.removeEventListener("pointerup", onMouseUp);
44
47
  }, [
45
48
  onMouseMove,
46
49
  onResizeTable,
@@ -49,7 +52,10 @@ var useTableResizer = function (_a) {
49
52
  getCellCoordsFromOffset,
50
53
  sheetId,
51
54
  ]);
52
- var onMouseDown = (0, react_1.useCallback)(function (table) {
55
+ /** Document the in-flight gesture listens on (the grid may live in a popout window) */
56
+ var gestureDocumentRef = (0, react_1.useRef)(null);
57
+ var onMouseDown = (0, react_1.useCallback)(function (table, e) {
58
+ var _a;
53
59
  var range = table.range;
54
60
  // Create a new selection
55
61
  var start = {
@@ -68,9 +74,11 @@ var useTableResizer = function (_a) {
68
74
  modifySelection(end);
69
75
  // Setter
70
76
  setIsResizingTable(true);
71
- // Bind
72
- document.addEventListener("pointermove", onMouseMove);
73
- document.addEventListener("pointerup", onMouseUp);
77
+ // Bind on the document the gesture started on
78
+ var ownerDocument = (_a = (0, grid_1.getOwnerDocument)(e === null || e === void 0 ? void 0 : e.currentTarget)) !== null && _a !== void 0 ? _a : document;
79
+ gestureDocumentRef.current = ownerDocument;
80
+ ownerDocument.addEventListener("pointermove", onMouseMove);
81
+ ownerDocument.addEventListener("pointerup", onMouseUp);
74
82
  }, [newSelection, modifySelection, onMouseMove, onMouseUp]);
75
83
  // Resizer components
76
84
  var tableResizers = (0, react_1.useMemo)(function () {
@@ -80,7 +88,7 @@ var useTableResizer = function (_a) {
80
88
  rowIndex: range.endRowIndex,
81
89
  columnIndex: range.endColumnIndex,
82
90
  };
83
- return (react_1.default.createElement(TableResizer, { key: table.id, cornerCell: cornerCell, onPointerDown: function () { return onMouseDown(table); }, backgroundColor: theme.themeColors.accent1 }));
91
+ return (react_1.default.createElement(TableResizer, { key: table.id, cornerCell: cornerCell, onPointerDown: function (e) { return onMouseDown(table, e); }, backgroundColor: theme.themeColors.accent1 }));
84
92
  });
85
93
  }, [tables, sheetId, theme, onMouseDown]);
86
94
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"use-touch.d.ts","sourceRoot":"","sources":["../../../hooks/use-touch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUvE,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAoCF,eAAO,MAAM,QAAQ,GAAI,yDAMtB,aAAa;0BAsKJ,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;iCA1J/B,cAAc,KAAK,IAAI;qDA6CJ,YAAY;sCAQ3B,MAAM,GAAG,SAAS,aAAa,MAAM,GAAG,SAAS;CAqMjE,CAAC"}
1
+ {"version":3,"file":"use-touch.d.ts","sourceRoot":"","sources":["../../../hooks/use-touch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUvE,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAoCF,eAAO,MAAM,QAAQ,GAAI,yDAMtB,aAAa;0BA0KJ,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;iCA5J/B,cAAc,KAAK,IAAI;qDA6CJ,YAAY;sCAQ3B,MAAM,GAAG,SAAS,aAAa,MAAM,GAAG,SAAS;CA2MjE,CAAC"}
@@ -32,6 +32,8 @@ var useTouch = function (_a) {
32
32
  var scrollTo = _a.scrollTo, _b = _a.scale, scale = _b === void 0 ? 1 : _b, onChangeScale = _a.onChangeScale, _c = _a.minScale, minScale = _c === void 0 ? 0.25 : _c, _d = _a.maxScale, maxScale = _d === void 0 ? 4 : _d;
33
33
  var scrollerRef = (0, react_1.useRef)(null);
34
34
  var isImmediateRef = (0, react_1.useRef)(false);
35
+ /** Document the in-flight gesture listens on (the grid may live in a popout window) */
36
+ var gestureDocumentRef = (0, react_1.useRef)(null);
35
37
  var scaleRef = (0, react_1.useRef)(scale);
36
38
  var prevScaleRef = (0, react_1.useRef)(scale);
37
39
  var pinchStartDistanceRef = (0, react_1.useRef)(null);
@@ -154,20 +156,22 @@ var useTouch = function (_a) {
154
156
  scroller.doTouchMove(e.touches, e.timeStamp, pinchScale);
155
157
  }, [getScroller]);
156
158
  var onTouchEnd = (0, react_1.useCallback)(function (e) {
157
- var _a;
159
+ var _a, _b;
158
160
  (_a = getScroller()) === null || _a === void 0 ? void 0 : _a.doTouchEnd(e.timeStamp);
159
161
  pinchStartDistanceRef.current = null;
160
162
  pinchWarmupDistanceRef.current = null;
161
163
  pinchActivatedRef.current = false;
162
164
  pinchCenterRef.current = null;
163
165
  // Remove listeners
164
- document.removeEventListener("touchmove", onTouchMove, false);
165
- document.removeEventListener("touchend", onTouchEnd, false);
166
- document.removeEventListener("touchcancel", onTouchEnd, false);
166
+ var ownerDocument = (_b = gestureDocumentRef.current) !== null && _b !== void 0 ? _b : document;
167
+ gestureDocumentRef.current = null;
168
+ ownerDocument.removeEventListener("touchmove", onTouchMove, false);
169
+ ownerDocument.removeEventListener("touchend", onTouchEnd, false);
170
+ ownerDocument.removeEventListener("touchcancel", onTouchEnd, false);
167
171
  }, [getScroller, onTouchMove]);
168
172
  // Touch start
169
173
  var onTouchStart = (0, react_1.useCallback)(function (event) {
170
- var _a, _b;
174
+ var _a, _b, _c;
171
175
  // Fail early
172
176
  if (!helpers_1.isTouchDevice || (0, utils_1.isFocusable)(event.target)) {
173
177
  return;
@@ -189,9 +193,13 @@ var useTouch = function (_a) {
189
193
  (_a = scroller.__zoomLevel) !== null && _a !== void 0 ? _a : scaleRef.current;
190
194
  (_b = getScroller()) === null || _b === void 0 ? void 0 : _b.doTouchStart(event.touches, event.timeStamp);
191
195
  // event.preventDefault();
192
- document.addEventListener("touchmove", onTouchMove, { passive: false });
193
- document.addEventListener("touchend", onTouchEnd, false);
194
- document.addEventListener("touchcancel", onTouchEnd, false);
196
+ var ownerDocument = (_c = (0, grid_2.getOwnerDocument)(event.currentTarget)) !== null && _c !== void 0 ? _c : document;
197
+ gestureDocumentRef.current = ownerDocument;
198
+ ownerDocument.addEventListener("touchmove", onTouchMove, {
199
+ passive: false,
200
+ });
201
+ ownerDocument.addEventListener("touchend", onTouchEnd, false);
202
+ ownerDocument.addEventListener("touchcancel", onTouchEnd, false);
195
203
  }, [getScroller, onTouchMove, onTouchEnd]);
196
204
  // Callback when grid dimensions change
197
205
  var onDimensionsChange = (0, react_1.useCallback)(function (_a) {
@@ -14,6 +14,9 @@ export * from "./api/fill-series";
14
14
  export { type FillHandleRelease } from "./hooks/use-selection";
15
15
  export * from "./components/paste-special-dialog";
16
16
  export * from "./components/go-to-dialog";
17
+ export * from "./components/move-overwrite-confirm-dialog";
18
+ export * from "./atoms/move-overwrite-confirm.atom";
19
+ export * from "./api/move-overwrite";
17
20
  export * from "./components/evaluate-formula-dialog";
18
21
  export * from "./components/watch-window";
19
22
  export * from "./components/calculation-options-dialog";
@@ -26,6 +29,8 @@ export * from "./components/subtotal-dialog";
26
29
  export * from "./components/goal-seek-dialog";
27
30
  export * from "./components/advanced-filter-dialog";
28
31
  export * from "./components/validation-alert-dialog";
32
+ export * from "./components/insert-cells-dialog";
33
+ export * from "./components/insert-options-smart-tag";
29
34
  export * from "./components/cell-input";
30
35
  export * from "./components/formula-bar";
31
36
  export * from "./components/bottom-bar";
@@ -45,6 +50,8 @@ export * from "./types";
45
50
  export * from "./config";
46
51
  export * from "./atoms";
47
52
  export * from "./api/validation";
53
+ export * from "./api/multi-selection";
54
+ export * from "./api/insert-options";
48
55
  export * from "./api/copy-paste";
49
56
  export * from "./api/selections";
50
57
  export * from "./api/table";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.tsx"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -17,6 +17,9 @@ tslib_1.__exportStar(require("./components/selection/fill-options-menu"), export
17
17
  tslib_1.__exportStar(require("./api/fill-series"), exports);
18
18
  tslib_1.__exportStar(require("./components/paste-special-dialog"), exports);
19
19
  tslib_1.__exportStar(require("./components/go-to-dialog"), exports);
20
+ tslib_1.__exportStar(require("./components/move-overwrite-confirm-dialog"), exports);
21
+ tslib_1.__exportStar(require("./atoms/move-overwrite-confirm.atom"), exports);
22
+ tslib_1.__exportStar(require("./api/move-overwrite"), exports);
20
23
  tslib_1.__exportStar(require("./components/evaluate-formula-dialog"), exports);
21
24
  tslib_1.__exportStar(require("./components/watch-window"), exports);
22
25
  tslib_1.__exportStar(require("./components/calculation-options-dialog"), exports);
@@ -30,6 +33,8 @@ tslib_1.__exportStar(require("./components/subtotal-dialog"), exports);
30
33
  tslib_1.__exportStar(require("./components/goal-seek-dialog"), exports);
31
34
  tslib_1.__exportStar(require("./components/advanced-filter-dialog"), exports);
32
35
  tslib_1.__exportStar(require("./components/validation-alert-dialog"), exports);
36
+ tslib_1.__exportStar(require("./components/insert-cells-dialog"), exports);
37
+ tslib_1.__exportStar(require("./components/insert-options-smart-tag"), exports);
33
38
  tslib_1.__exportStar(require("./components/cell-input"), exports);
34
39
  tslib_1.__exportStar(require("./components/formula-bar"), exports);
35
40
  tslib_1.__exportStar(require("./components/bottom-bar"), exports);
@@ -50,6 +55,8 @@ tslib_1.__exportStar(require("./types"), exports);
50
55
  tslib_1.__exportStar(require("./config"), exports);
51
56
  tslib_1.__exportStar(require("./atoms"), exports);
52
57
  tslib_1.__exportStar(require("./api/validation"), exports);
58
+ tslib_1.__exportStar(require("./api/multi-selection"), exports);
59
+ tslib_1.__exportStar(require("./api/insert-options"), exports);
53
60
  tslib_1.__exportStar(require("./api/copy-paste"), exports);
54
61
  tslib_1.__exportStar(require("./api/selections"), exports);
55
62
  tslib_1.__exportStar(require("./api/table"), exports);
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.releaseDate = void 0;
5
5
  exports.releaseDate =
6
6
  // @ts-ignore
7
- (_a = new Date("2026-09-17")) !== null && _a !== void 0 ? _a : new Date("2025-06-18");
7
+ (_a = new Date("2026-09-22")) !== null && _a !== void 0 ? _a : new Date("2025-06-18");
@@ -1 +1 @@
1
- {"root":["../../config.ts","../../helpers.ts","../../index.tsx","../../release-date.ts","../../test-setup.ts","../../themes.ts","../../types.ts","../../vitest.config.ts","../../api/animate.ts","../../api/banded-ranges.ts","../../api/cf-engine.ts","../../api/cf-overlays.ts","../../api/cf-window.ts","../../api/colors.ts","../../api/copy-paste.ts","../../api/evaluate-formula.ts","../../api/excel-validation-kinds.ts","../../api/fill-patterns.ts","../../api/fill-series.ts","../../api/font-loader.ts","../../api/go-to-special.ts","../../api/go-to.ts","../../api/heatmap.ts","../../api/scheduler.ts","../../api/scroller.ts","../../api/selections.ts","../../api/spreadsheet-api.ts","../../api/table.ts","../../api/validation-tooltip.tsx","../../api/validation.ts","../../atoms/active-editor.atom.ts","../../atoms/advanced-filter-dialog.atom.ts","../../atoms/cell-input-context.atom.ts","../../atoms/editing-cell.atom.ts","../../atoms/evaluate-formula-dialog.atom.ts","../../atoms/fill-options.atom.ts","../../atoms/fill-series-dialog.atom.ts","../../atoms/formula-bar-editor-value.atom.ts","../../atoms/formula-mode.atom.ts","../../atoms/formula-selection-state.atom.ts","../../atoms/formula-selections.atom.ts","../../atoms/go-to-dialog.atom.ts","../../atoms/goal-seek-dialog.atom.ts","../../atoms/index.ts","../../atoms/loading-indicator.atom.ts","../../atoms/magic-fill-state.atom.ts","../../atoms/paste-menu.atom.ts","../../atoms/paste-special-dialog.atom.ts","../../atoms/persistent-tooltip.atom.ts","../../atoms/popover.atom.ts","../../atoms/range-selector.atom.ts","../../atoms/remove-duplicates-dialog.atom.ts","../../atoms/selected-chart-embed.atom.ts","../../atoms/sheet-context.atom.ts","../../atoms/sheet-status-display.atom.ts","../../atoms/show-formula-help.atom.ts","../../atoms/sort-dialog.atom.ts","../../atoms/spreadsheet-api.atom.ts","../../atoms/subtotal-dialog.atom.ts","../../atoms/text-to-columns-dialog.atom.ts","../../atoms/validation-alert.atom.ts","../../atoms/watch-window.atom.ts","../../components/advanced-filter-dialog/index.tsx","../../components/bottom-bar/index.tsx","../../components/calculation-options-dialog/index.tsx","../../components/canvas-grid/helpers.ts","../../components/canvas-grid/index.tsx","../../components/canvas-grid/typings.ts","../../components/cell/alignment.ts","../../components/cell/cell-background.tsx","../../components/cell/cell-text-runs.tsx","../../components/cell/helpers.ts","../../components/cell/index.tsx","../../components/cell/rich-text.ts","../../components/cell/typings.ts","../../components/cell-arrow/index.tsx","../../components/cell-calculated/index.tsx","../../components/cell-checkbox/index.tsx","../../components/cell-diff/index.tsx","../../components/cell-editor/calendar-popup.tsx","../../components/cell-editor/formula-result-preview.tsx","../../components/cell-editor/helpers.spec.ts","../../components/cell-editor/helpers.ts","../../components/cell-editor/index.tsx","../../components/cell-editor/style.tsx","../../components/cell-error/index.tsx","../../components/cell-expand/index.tsx","../../components/cell-filter/index.tsx","../../components/cell-group/index.tsx","../../components/cell-input/cell-input.tsx","../../components/cell-input/formula-bar-cell-input.tsx","../../components/cell-input/index.tsx","../../components/cell-input/style.tsx","../../components/cell-overlay/index.tsx","../../components/cell-structured/index.tsx","../../components/cell-structured/sparkline-math.ts","../../components/cell-structured/sparkline.tsx","../../components/cell-structured/types.ts","../../components/cell-tooltip/index.tsx","../../components/cell-tooltip/note-editor.tsx","../../components/cell-tooltip/style.tsx","../../components/context-menu/index.tsx","../../components/context-menu/menu.tsx","../../components/context-menu/style.tsx","../../components/context-menu/total-row-functions.ts","../../components/embeds/chart-component.tsx","../../components/embeds/embed-component.tsx","../../components/embeds/embed-draggable.tsx","../../components/embeds/index.tsx","../../components/embeds/shape-geometry.ts","../../components/embeds/shape-svg.tsx","../../components/embeds/slicer-component.tsx","../../components/evaluate-formula-dialog/index.tsx","../../components/fill-handle/index.tsx","../../components/fill-series-dialog/index.tsx","../../components/filter-box/filter-by-color.tsx","../../components/filter-box/filter-by-condition.tsx","../../components/filter-box/filter-by-value.tsx","../../components/filter-box/index.tsx","../../components/floating-cell-editor/index.tsx","../../components/formula-bar/index.tsx","../../components/formula-bar/style.tsx","../../components/formula-input/index.tsx","../../components/go-to-dialog/index.tsx","../../components/goal-seek-dialog/index.tsx","../../components/grid-footer/index.tsx","../../components/header-cell/index.tsx","../../components/header-menu/index.tsx","../../components/header-move/index.tsx","../../components/header-resizer/index.tsx","../../components/hidden-markers/index.tsx","../../components/hidden-markers/style.tsx","../../components/insert-function-dialog/index.tsx","../../components/loading-indicator/index.tsx","../../components/outline-gutter/index.tsx","../../components/paste-special-dialog/index.tsx","../../components/pivot-placeholder/index.tsx","../../components/print-preview/cell-styles.ts","../../components/print-preview/index.ts","../../components/print-preview/page-block.tsx","../../components/print-preview/print-preview-dialog.tsx","../../components/print-preview/run-print.ts","../../components/print-preview/settings.ts","../../components/print-preview/use-page-layout.ts","../../components/range-selector/index.tsx","../../components/remove-duplicates-dialog/index.tsx","../../components/resizer/index.tsx","../../components/selection/avatar.tsx","../../components/selection/fill-options-menu.tsx","../../components/selection/index.tsx","../../components/selection/magic-fill.tsx","../../components/selection/paste-menu.tsx","../../components/selection/quick-edit.tsx","../../components/selection/style.tsx","../../components/selection/suggestion-action.tsx","../../components/selection/title.tsx","../../components/selection/types.ts","../../components/selection-input/index.tsx","../../components/selection-input/style.tsx","../../components/sheet-search/index.tsx","../../components/sheet-status/index.tsx","../../components/sheet-status/style.tsx","../../components/sheet-switcher/index.tsx","../../components/sheet-switcher/new-sheet-button.tsx","../../components/sheet-tabs/context-menu.tsx","../../components/sheet-tabs/index.tsx","../../components/sheet-tabs/sheet-tab.tsx","../../components/sheet-tabs/style.tsx","../../components/sheet-tabs/types.ts","../../components/sort-range-dialog/index.tsx","../../components/subtotal-dialog/index.tsx","../../components/text-to-columns-dialog/index.tsx","../../components/toolbar/background-color-selector.tsx","../../components/toolbar/border-color-selector.tsx","../../components/toolbar/border-line-style-options.tsx","../../components/toolbar/border-line-style-selector.tsx","../../components/toolbar/border-location-options.tsx","../../components/toolbar/border-selector.tsx","../../components/toolbar/buttons.tsx","../../components/toolbar/cell-style-selector.tsx","../../components/toolbar/color-selector.tsx","../../components/toolbar/fill-selectors.tsx","../../components/toolbar/font-family-selector.tsx","../../components/toolbar/font-size-selector.tsx","../../components/toolbar/index.tsx","../../components/toolbar/insert-menu.tsx","../../components/toolbar/merge-cells-selector.tsx","../../components/toolbar/scale-selector.tsx","../../components/toolbar/style.tsx","../../components/toolbar/table-actions.tsx","../../components/toolbar/table-style-selector.tsx","../../components/toolbar/text-color-selector.tsx","../../components/toolbar/text-format-selector.tsx","../../components/toolbar/text-horizontal-align-selector.tsx","../../components/toolbar/text-rotation-selector.tsx","../../components/toolbar/text-vertical-align-selector.tsx","../../components/toolbar/text-wrap-selector.tsx","../../components/toolbar/theme-selector.tsx","../../components/toolbar/toolbar.tsx","../../components/toolbar/types.ts","../../components/toolbar/view-menu.tsx","../../components/validation-alert-dialog/index.tsx","../../components/watch-window/index.tsx","../../helpers/merged-cell-borders.ts","../../hooks/index.ts","../../hooks/show-zeros.ts","../../hooks/use-async.ts","../../hooks/use-border-styles.ts","../../hooks/use-callback-ref.ts","../../hooks/use-cell-diff-highlight.ts","../../hooks/use-cell-popover.tsx","../../hooks/use-cell-renderer.tsx","../../hooks/use-column-color-icons.ts","../../hooks/use-conditional-formatting.ts","../../hooks/use-context-menu.tsx","../../hooks/use-context-setter.ts","../../hooks/use-copy-paste-cut.tsx","../../hooks/use-create-address-from-selection.ts","../../hooks/use-create-formula-tokenizer.ts","../../hooks/use-delayed-value.ts","../../hooks/use-editable.tsx","../../hooks/use-editor-cancel.ts","../../hooks/use-editor-change.ts","../../hooks/use-editor-keydown.ts","../../hooks/use-editor-submit.ts","../../hooks/use-embeds-charts.tsx","../../hooks/use-expand-cell.tsx","../../hooks/use-export-range.ts","../../hooks/use-filter.ts","../../hooks/use-flash.ts","../../hooks/use-fonts.ts","../../hooks/use-formula-range-helpers.ts","../../hooks/use-get-tooltip.tsx","../../hooks/use-get-values-from-range.ts","../../hooks/use-grid-children.tsx","../../hooks/use-header-actions.tsx","../../hooks/use-hidden-dimension-markers.tsx","../../hooks/use-hidden-dimensions.ts","../../hooks/use-hovered-selection-ids.ts","../../hooks/use-isomorphic-layout-effect.ts","../../hooks/use-keyboard-handler.tsx","../../hooks/use-licensekey-validator.tsx","../../hooks/use-memo-compare.ts","../../hooks/use-merge.refs.ts","../../hooks/use-move-columns-rows.tsx","../../hooks/use-navigate-sheet-range.ts","../../hooks/use-previous.ts","../../hooks/use-raf.ts","../../hooks/use-resize-observer.ts","../../hooks/use-scale-listener.ts","../../hooks/use-selected-rows-columns.ts","../../hooks/use-selection-aware-formatting.ts","../../hooks/use-selection-change.ts","../../hooks/use-selection-interceptors.ts","../../hooks/use-selection-move.ts","../../hooks/use-selection-renderer.tsx","../../hooks/use-selection-resize.ts","../../hooks/use-selection.ts","../../hooks/use-sheet-change-handler.ts","../../hooks/use-sizer.ts","../../hooks/use-spreadsheet-theme.ts","../../hooks/use-stable-ref.ts","../../hooks/use-structured-reference-selection.ts","../../hooks/use-table-resizer.tsx","../../hooks/use-text-dimensions.ts","../../hooks/use-tooltip.ts","../../hooks/use-touch.ts","../../providers/spreadsheet-provider.tsx","../../signals/scroll-subscriber.ts","../../utils/maybe.ts"],"version":"5.8.3"}
1
+ {"root":["../../config.ts","../../helpers.ts","../../index.tsx","../../release-date.ts","../../test-setup.ts","../../themes.ts","../../types.ts","../../vitest.config.ts","../../api/animate.ts","../../api/banded-ranges.ts","../../api/cf-engine.ts","../../api/cf-overlays.ts","../../api/cf-window.ts","../../api/colors.ts","../../api/copy-paste.ts","../../api/evaluate-formula.ts","../../api/excel-validation-kinds.ts","../../api/fill-patterns.ts","../../api/fill-series.ts","../../api/font-loader.ts","../../api/go-to-special.ts","../../api/go-to.ts","../../api/heatmap.ts","../../api/insert-options.ts","../../api/move-overwrite.ts","../../api/multi-selection.ts","../../api/scheduler.ts","../../api/scroller.ts","../../api/selections.ts","../../api/spreadsheet-api.ts","../../api/table.ts","../../api/validation-tooltip.tsx","../../api/validation.ts","../../atoms/active-editor.atom.ts","../../atoms/advanced-filter-dialog.atom.ts","../../atoms/cell-input-context.atom.ts","../../atoms/editing-cell.atom.ts","../../atoms/evaluate-formula-dialog.atom.ts","../../atoms/fill-options.atom.ts","../../atoms/fill-series-dialog.atom.ts","../../atoms/formula-bar-editor-value.atom.ts","../../atoms/formula-mode.atom.ts","../../atoms/formula-selection-state.atom.ts","../../atoms/formula-selections.atom.ts","../../atoms/go-to-dialog.atom.ts","../../atoms/goal-seek-dialog.atom.ts","../../atoms/index.ts","../../atoms/insert-cells-dialog.atom.ts","../../atoms/insert-options.atom.ts","../../atoms/loading-indicator.atom.ts","../../atoms/magic-fill-state.atom.ts","../../atoms/move-overwrite-confirm.atom.ts","../../atoms/paste-menu.atom.ts","../../atoms/paste-special-dialog.atom.ts","../../atoms/persistent-tooltip.atom.ts","../../atoms/popover.atom.ts","../../atoms/range-selector.atom.ts","../../atoms/remove-duplicates-dialog.atom.ts","../../atoms/selected-chart-embed.atom.ts","../../atoms/sheet-context.atom.ts","../../atoms/sheet-status-display.atom.ts","../../atoms/show-formula-help.atom.ts","../../atoms/sort-dialog.atom.ts","../../atoms/spreadsheet-api.atom.ts","../../atoms/subtotal-dialog.atom.ts","../../atoms/text-to-columns-dialog.atom.ts","../../atoms/validation-alert.atom.ts","../../atoms/watch-window.atom.ts","../../components/advanced-filter-dialog/index.tsx","../../components/bottom-bar/index.tsx","../../components/calculation-options-dialog/index.tsx","../../components/canvas-grid/helpers.ts","../../components/canvas-grid/index.tsx","../../components/canvas-grid/typings.ts","../../components/cell/alignment.ts","../../components/cell/cell-background.tsx","../../components/cell/cell-text-runs.tsx","../../components/cell/helpers.ts","../../components/cell/index.tsx","../../components/cell/rich-text.ts","../../components/cell/typings.ts","../../components/cell-arrow/index.tsx","../../components/cell-calculated/index.tsx","../../components/cell-checkbox/index.tsx","../../components/cell-diff/index.tsx","../../components/cell-editor/calendar-popup.tsx","../../components/cell-editor/formula-result-preview.tsx","../../components/cell-editor/helpers.spec.ts","../../components/cell-editor/helpers.ts","../../components/cell-editor/index.tsx","../../components/cell-editor/style.tsx","../../components/cell-error/index.tsx","../../components/cell-expand/index.tsx","../../components/cell-filter/index.tsx","../../components/cell-group/index.tsx","../../components/cell-input/cell-input.tsx","../../components/cell-input/formula-bar-cell-input.tsx","../../components/cell-input/index.tsx","../../components/cell-input/style.tsx","../../components/cell-overlay/index.tsx","../../components/cell-structured/index.tsx","../../components/cell-structured/sparkline-math.ts","../../components/cell-structured/sparkline.tsx","../../components/cell-structured/types.ts","../../components/cell-tooltip/index.tsx","../../components/cell-tooltip/note-editor.tsx","../../components/cell-tooltip/style.tsx","../../components/context-menu/index.tsx","../../components/context-menu/menu.tsx","../../components/context-menu/style.tsx","../../components/context-menu/total-row-functions.ts","../../components/embeds/chart-component.tsx","../../components/embeds/embed-component.tsx","../../components/embeds/embed-draggable.tsx","../../components/embeds/index.tsx","../../components/embeds/shape-geometry.ts","../../components/embeds/shape-svg.tsx","../../components/embeds/slicer-component.tsx","../../components/evaluate-formula-dialog/index.tsx","../../components/fill-handle/index.tsx","../../components/fill-series-dialog/index.tsx","../../components/filter-box/filter-by-color.tsx","../../components/filter-box/filter-by-condition.tsx","../../components/filter-box/filter-by-value.tsx","../../components/filter-box/index.tsx","../../components/floating-cell-editor/index.tsx","../../components/formula-bar/index.tsx","../../components/formula-bar/style.tsx","../../components/formula-input/index.tsx","../../components/go-to-dialog/index.tsx","../../components/goal-seek-dialog/index.tsx","../../components/grid-footer/index.tsx","../../components/header-cell/index.tsx","../../components/header-menu/index.tsx","../../components/header-move/index.tsx","../../components/header-resizer/index.tsx","../../components/hidden-markers/index.tsx","../../components/hidden-markers/style.tsx","../../components/insert-cells-dialog/index.tsx","../../components/insert-function-dialog/index.tsx","../../components/insert-options-smart-tag/index.tsx","../../components/loading-indicator/index.tsx","../../components/move-overwrite-confirm-dialog/index.tsx","../../components/outline-gutter/index.tsx","../../components/paste-special-dialog/index.tsx","../../components/pivot-placeholder/index.tsx","../../components/print-preview/cell-styles.ts","../../components/print-preview/index.ts","../../components/print-preview/page-block.tsx","../../components/print-preview/print-preview-dialog.tsx","../../components/print-preview/run-print.ts","../../components/print-preview/settings.ts","../../components/print-preview/use-page-layout.ts","../../components/range-selector/index.tsx","../../components/remove-duplicates-dialog/index.tsx","../../components/resizer/index.tsx","../../components/selection/avatar.tsx","../../components/selection/fill-options-menu.tsx","../../components/selection/index.tsx","../../components/selection/magic-fill.tsx","../../components/selection/paste-menu.tsx","../../components/selection/quick-edit.tsx","../../components/selection/style.tsx","../../components/selection/suggestion-action.tsx","../../components/selection/title.tsx","../../components/selection/types.ts","../../components/selection-input/index.tsx","../../components/selection-input/style.tsx","../../components/sheet-search/index.tsx","../../components/sheet-status/index.tsx","../../components/sheet-status/style.tsx","../../components/sheet-switcher/index.tsx","../../components/sheet-switcher/new-sheet-button.tsx","../../components/sheet-tabs/context-menu.tsx","../../components/sheet-tabs/index.tsx","../../components/sheet-tabs/sheet-tab.tsx","../../components/sheet-tabs/style.tsx","../../components/sheet-tabs/types.ts","../../components/sort-range-dialog/index.tsx","../../components/subtotal-dialog/index.tsx","../../components/text-to-columns-dialog/index.tsx","../../components/toolbar/background-color-selector.tsx","../../components/toolbar/border-color-selector.tsx","../../components/toolbar/border-line-style-options.tsx","../../components/toolbar/border-line-style-selector.tsx","../../components/toolbar/border-location-options.tsx","../../components/toolbar/border-selector.tsx","../../components/toolbar/buttons.tsx","../../components/toolbar/cell-style-selector.tsx","../../components/toolbar/color-selector.tsx","../../components/toolbar/fill-selectors.tsx","../../components/toolbar/font-family-selector.tsx","../../components/toolbar/font-size-selector.tsx","../../components/toolbar/index.tsx","../../components/toolbar/insert-menu.tsx","../../components/toolbar/merge-cells-selector.tsx","../../components/toolbar/scale-selector.tsx","../../components/toolbar/style.tsx","../../components/toolbar/table-actions.tsx","../../components/toolbar/table-style-selector.tsx","../../components/toolbar/text-color-selector.tsx","../../components/toolbar/text-format-selector.tsx","../../components/toolbar/text-horizontal-align-selector.tsx","../../components/toolbar/text-rotation-selector.tsx","../../components/toolbar/text-vertical-align-selector.tsx","../../components/toolbar/text-wrap-selector.tsx","../../components/toolbar/theme-selector.tsx","../../components/toolbar/toolbar.tsx","../../components/toolbar/types.ts","../../components/toolbar/view-menu.tsx","../../components/validation-alert-dialog/index.tsx","../../components/watch-window/index.tsx","../../helpers/merged-cell-borders.ts","../../hooks/index.ts","../../hooks/show-zeros.ts","../../hooks/use-async.ts","../../hooks/use-border-styles.ts","../../hooks/use-callback-ref.ts","../../hooks/use-cell-diff-highlight.ts","../../hooks/use-cell-popover.tsx","../../hooks/use-cell-renderer.tsx","../../hooks/use-column-color-icons.ts","../../hooks/use-conditional-formatting.ts","../../hooks/use-context-menu.tsx","../../hooks/use-context-setter.ts","../../hooks/use-copy-paste-cut.tsx","../../hooks/use-create-address-from-selection.ts","../../hooks/use-create-formula-tokenizer.ts","../../hooks/use-delayed-value.ts","../../hooks/use-editable.tsx","../../hooks/use-editor-cancel.ts","../../hooks/use-editor-change.ts","../../hooks/use-editor-keydown.ts","../../hooks/use-editor-submit.ts","../../hooks/use-embeds-charts.tsx","../../hooks/use-expand-cell.tsx","../../hooks/use-export-range.ts","../../hooks/use-filter.ts","../../hooks/use-flash.ts","../../hooks/use-fonts.ts","../../hooks/use-formula-range-helpers.ts","../../hooks/use-get-tooltip.tsx","../../hooks/use-get-values-from-range.ts","../../hooks/use-grid-children.tsx","../../hooks/use-header-actions.tsx","../../hooks/use-hidden-dimension-markers.tsx","../../hooks/use-hidden-dimensions.ts","../../hooks/use-hovered-selection-ids.ts","../../hooks/use-isomorphic-layout-effect.ts","../../hooks/use-keyboard-handler.tsx","../../hooks/use-licensekey-validator.tsx","../../hooks/use-memo-compare.ts","../../hooks/use-merge.refs.ts","../../hooks/use-move-columns-rows.tsx","../../hooks/use-navigate-sheet-range.ts","../../hooks/use-previous.ts","../../hooks/use-raf.ts","../../hooks/use-resize-observer.ts","../../hooks/use-scale-listener.ts","../../hooks/use-selected-rows-columns.ts","../../hooks/use-selection-aware-formatting.ts","../../hooks/use-selection-change.ts","../../hooks/use-selection-interceptors.ts","../../hooks/use-selection-move.ts","../../hooks/use-selection-renderer.tsx","../../hooks/use-selection-resize.ts","../../hooks/use-selection.ts","../../hooks/use-sheet-change-handler.ts","../../hooks/use-sizer.ts","../../hooks/use-spreadsheet-theme.ts","../../hooks/use-stable-ref.ts","../../hooks/use-structured-reference-selection.ts","../../hooks/use-table-resizer.tsx","../../hooks/use-text-dimensions.ts","../../hooks/use-tooltip.ts","../../hooks/use-touch.ts","../../providers/spreadsheet-provider.tsx","../../signals/scroll-subscriber.ts","../../utils/maybe.ts"],"version":"5.8.3"}