sheet-happens 0.0.60 → 0.0.61

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.
@@ -654,7 +654,7 @@ var findInDisplayData = function findInDisplayData(displayData, start, direction
654
654
  return maxXY(cell, [0, 0]);
655
655
  };
656
656
 
657
- var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, knobArea, editMode, editData, sourceData, cellReadOnly, maxColumns, maxRows, canSizeColumn, canSizeRow, canOrderColumn, canOrderRow, cellLayout, visibleCells, sheetStyle, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, getAutoSizeWidth, getAutoSizeHeight, onEdit, onCommit, onKnobAreaChange, onDragIndicesChange, onDragOffsetChange, onDropTargetChange, onSelectionChange, onFocusChange, onInvalidateColumn, onInvalidateRow, onChange, onColumnOrderChange, onRowOrderChange, onCellWidthChange, onCellHeightChange, onRightClick, dontCommitEditOnSelectionChange, dontChangeSelectionOnOrderChange) {
657
+ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, knobArea, editMode, editData, sourceData, cellReadOnly, maxColumns, maxRows, canSizeColumn, canSizeRow, canOrderColumn, canOrderRow, cellLayout, visibleCells, sheetStyle, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, getAutoSizeWidth, getAutoSizeHeight, onEdit, onCommit, onKnobAreaChange, onDragIndicesChange, onDragOffsetChange, onDropTargetChange, onSelectionChange, onFocusChange, onInvalidateColumn, onInvalidateRow, onChange, onColumnOrderChange, onRowOrderChange, onColumnDrop, onRowDrop, onCellWidthChange, onCellHeightChange, onRightClick, dontCommitEditOnSelectionChange, dontChangeSelectionOnOrderChange) {
658
658
  var _useState = useState(null),
659
659
  columnResize = _useState[0],
660
660
  setColumnResize = _useState[1];
@@ -803,7 +803,7 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
803
803
  return i;
804
804
  });
805
805
  if (!hideColumnHeaders && y < getIndentY()) {
806
- if (onColumnOrderChange) {
806
+ if (onColumnOrderChange || onColumnDrop) {
807
807
  var start = columnToPixel(minX) + SIZES.resizeZone;
808
808
  var end = columnToPixel(maxX, 1) - SIZES.resizeZone;
809
809
  if (isInRange(x, start, end) || selectedColumnGroups) {
@@ -867,7 +867,7 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
867
867
  }
868
868
  }
869
869
  if (!hideRowHeaders && x < getIndentX()) {
870
- if (onRowOrderChange) {
870
+ if (onRowOrderChange || onRowDrop) {
871
871
  var _start2 = rowToPixel(minY) + SIZES.resizeZone;
872
872
  var _end2 = rowToPixel(maxY, 1) - SIZES.resizeZone;
873
873
  if (isInRange(y, _start2, _end2) || selectedRowGroups) {
@@ -1006,33 +1006,45 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
1006
1006
  _normalizeSelection2$2 = _normalizeSelection2[1],
1007
1007
  maxX = _normalizeSelection2$2[0],
1008
1008
  maxY = _normalizeSelection2$2[1];
1009
- var cellX = pixelToColumn(x, 0.5);
1010
- var cellY = pixelToRow(y, 0.5);
1011
1009
  if (columnDrag) {
1012
1010
  var indices = columnDrag.indices;
1013
- var insideSelection = cellX >= minX && cellX <= maxX + 1;
1014
- var insideGroup = selectedColumnGroups === null || selectedColumnGroups === void 0 ? void 0 : selectedColumnGroups.has(columnGroupKeys(x));
1015
- if (!insideSelection && !insideGroup) {
1011
+ var startX = pixelToColumn(x, 0);
1012
+ var midX = pixelToColumn(x, 0.5);
1013
+ var leftX = pixelToColumn(x, 0.25);
1014
+ var rightX = pixelToColumn(x, 0.75) - 1;
1015
+ var insideGroup = isBoundaryInsideGroup(midX, columnGroupKeys);
1016
+ var dropOn = onColumnDrop && (insideGroup || leftX === rightX) || !onColumnOrderChange;
1017
+ var dropX = dropOn ? startX : midX;
1018
+ var insideSelection = dropX >= minX && dropX <= maxX + +!dropOn;
1019
+ if (!insideSelection && (dropOn || !insideGroup)) {
1020
+ var _ref;
1016
1021
  var preceding = indices.filter(function (i) {
1017
- return i < cellX;
1022
+ return i < dropX;
1018
1023
  });
1019
- var order = cellX - preceding.length;
1020
- dontChangeSelectionOnOrderChange || (onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([[order, minY], [order + indices.length - 1, maxY]]));
1021
- onColumnOrderChange === null || onColumnOrderChange === void 0 ? void 0 : onColumnOrderChange(indices, order);
1024
+ var order = dropX - preceding.length;
1025
+ dontChangeSelectionOnOrderChange || (onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([[order, minY], [order + (dropOn ? 0 : indices.length - 1), maxY]]));
1026
+ (_ref = dropOn ? onColumnDrop : onColumnOrderChange) === null || _ref === void 0 ? void 0 : _ref(indices, order);
1022
1027
  onInvalidateColumn === null || onInvalidateColumn === void 0 ? void 0 : onInvalidateColumn(Math.min(minX, order));
1023
1028
  }
1024
1029
  }
1025
1030
  if (rowDrag) {
1026
1031
  var _indices4 = rowDrag.indices;
1027
- var _insideSelection = cellY >= minY && cellY <= maxY + 1;
1028
- var _insideGroup = selectedRowGroups === null || selectedRowGroups === void 0 ? void 0 : selectedRowGroups.has(rowGroupKeys(y));
1029
- if (!_insideSelection && !_insideGroup) {
1032
+ var startY = pixelToRow(y, 0);
1033
+ var midY = pixelToRow(y, 0.5);
1034
+ var topY = pixelToRow(y, 0.25);
1035
+ var bottomY = pixelToRow(y, 0.75) - 1;
1036
+ var _insideGroup = isBoundaryInsideGroup(midY, rowGroupKeys);
1037
+ var _dropOn = onRowDrop && (_insideGroup || topY === bottomY) || !onRowOrderChange;
1038
+ var dropY = _dropOn ? startY : midY;
1039
+ var _insideSelection = dropY >= minY && dropY <= maxY + +!_dropOn;
1040
+ if (!_insideSelection && (_dropOn || !_insideGroup)) {
1041
+ var _ref2;
1030
1042
  var _preceding = _indices4.filter(function (i) {
1031
- return i < cellY;
1043
+ return i < dropY;
1032
1044
  });
1033
- var _order = cellY - _preceding.length;
1034
- dontChangeSelectionOnOrderChange || (onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([[minX, _order], [maxX, _order + _indices4.length - 1]]));
1035
- onRowOrderChange === null || onRowOrderChange === void 0 ? void 0 : onRowOrderChange(_indices4, _order);
1045
+ var _order = dropY - _preceding.length;
1046
+ dontChangeSelectionOnOrderChange || (onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([[minX, _order], [maxX, _order + (_dropOn ? 0 : _indices4.length - 1)]]));
1047
+ (_ref2 = _dropOn ? onRowDrop : onRowOrderChange) === null || _ref2 === void 0 ? void 0 : _ref2(_indices4, _order);
1036
1048
  onInvalidateRow === null || onInvalidateRow === void 0 ? void 0 : onInvalidateRow(Math.min(minY, _order));
1037
1049
  }
1038
1050
  }
@@ -1108,7 +1120,7 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
1108
1120
  };
1109
1121
  if (!isDragging) {
1110
1122
  if (!hideColumnHeaders && y < getIndentY()) {
1111
- if (onColumnOrderChange) {
1123
+ if (onColumnOrderChange || onColumnDrop) {
1112
1124
  var start = columnToPixel(minX) + SIZES.resizeZone;
1113
1125
  var end = columnToPixel(maxX, 1) - SIZES.resizeZone;
1114
1126
  if (isInRange(x, start, end) || selectedColumnGroups) {
@@ -1135,7 +1147,7 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
1135
1147
  }
1136
1148
  }
1137
1149
  if (!hideRowHeaders && x < getIndentX()) {
1138
- if (onRowOrderChange) {
1150
+ if (onRowOrderChange || onRowDrop) {
1139
1151
  var _start5 = rowToPixel(minY) + SIZES.resizeZone;
1140
1152
  var _end5 = rowToPixel(maxY, 1) - SIZES.resizeZone;
1141
1153
  if (isInRange(y, _start5, _end5) || selectedRowGroups) {
@@ -1250,31 +1262,61 @@ var useMouse = function useMouse(elementRef, dataOffset, hitmapRef, selection, k
1250
1262
  var _x = xy[0],
1251
1263
  _y = xy[1];
1252
1264
  if (columnDrag) {
1253
- var _cellX = pixelToColumn(_x, 0.5);
1254
- var insideSelection = _cellX >= minX && _cellX <= maxX + 1;
1255
- var insideGroup = isBoundaryInsideGroup(_cellX, columnGroupKeys);
1265
+ var _expandSelectionToRow7 = expandSelectionToRowOrColumnGroups(selection, columnGroupKeys, selectedColumnGroups, 0),
1266
+ _expandSelectionToRow8 = _expandSelectionToRow7[0],
1267
+ _minX2 = _expandSelectionToRow8[0],
1268
+ _expandSelectionToRow9 = _expandSelectionToRow7[1],
1269
+ _maxX2 = _expandSelectionToRow9[0];
1270
+ var startX = pixelToColumn(_x, 0);
1271
+ var midX = pixelToColumn(_x, 0.5);
1272
+ var leftX = pixelToColumn(_x, 0.25);
1273
+ var rightX = pixelToColumn(_x, 0.75) - 1;
1274
+ var insideGroup = isBoundaryInsideGroup(midX, columnGroupKeys);
1275
+ var dropOn = onColumnDrop && (insideGroup || leftX === rightX) && startX < maxColumns || !onColumnOrderChange;
1276
+ var dropX = dropOn ? startX : midX;
1256
1277
  var _anchor3 = columnDrag.anchor,
1257
1278
  _offset2 = columnDrag.offset;
1258
1279
  var shift = _x - _anchor3[0];
1259
1280
  var _getDragScrollOffset3 = getDragScrollOffset(_offset2),
1260
1281
  _scrollOffset2 = _getDragScrollOffset3[0];
1282
+ var insideSelection = dropX >= _minX2 && dropX <= _maxX2 + +!dropOn;
1283
+ var dropSelection = [[dropX, -1], [dropX, -1]];
1284
+ if (dropOn) {
1285
+ var dropOnColumnGroup = new Set([columnGroupKeys(dropX)]);
1286
+ dropSelection = expandSelectionToRowOrColumnGroups(dropSelection, columnGroupKeys, dropOnColumnGroup, 0);
1287
+ }
1261
1288
  onDragOffsetChange === null || onDragOffsetChange === void 0 ? void 0 : onDragOffsetChange([shift + _scrollOffset2, 0]);
1262
- onDropTargetChange === null || onDropTargetChange === void 0 ? void 0 : onDropTargetChange(insideSelection || insideGroup ? null : [[_cellX, -1], [_cellX, -1]]);
1289
+ onDropTargetChange === null || onDropTargetChange === void 0 ? void 0 : onDropTargetChange(!insideSelection && (dropOn || !insideGroup) ? dropSelection : null, dropOn);
1263
1290
  }
1264
1291
  if (rowDrag) {
1265
- var _cellY = pixelToRow(_y, 0.5);
1266
- var _insideSelection2 = _cellY >= minY && _cellY <= maxY + 1;
1267
- var _insideGroup2 = isBoundaryInsideGroup(_cellY, rowGroupKeys);
1292
+ var _expandSelectionToRow10 = expandSelectionToRowOrColumnGroups(selection, rowGroupKeys, selectedRowGroups, 1),
1293
+ _expandSelectionToRow11 = _expandSelectionToRow10[0],
1294
+ _minY2 = _expandSelectionToRow11[1],
1295
+ _expandSelectionToRow12 = _expandSelectionToRow10[1],
1296
+ _maxY2 = _expandSelectionToRow12[1];
1297
+ var startY = pixelToRow(_y, 0);
1298
+ var midY = pixelToRow(_y, 0.5);
1299
+ var topY = pixelToRow(_y, 0.25);
1300
+ var bottomY = pixelToRow(_y, 0.75) - 1;
1301
+ var _insideGroup2 = isBoundaryInsideGroup(midY, rowGroupKeys);
1302
+ var _dropOn2 = onRowDrop && (_insideGroup2 || topY === bottomY) && startY < maxRows || !onRowOrderChange;
1303
+ var dropY = _dropOn2 ? startY : midY;
1268
1304
  var _anchor4 = rowDrag.anchor,
1269
1305
  _offset3 = rowDrag.offset;
1270
1306
  var _shift = _y - _anchor4[1];
1271
1307
  var _getDragScrollOffset4 = getDragScrollOffset(_offset3),
1272
1308
  _scrollOffset3 = _getDragScrollOffset4[1];
1309
+ var _insideSelection2 = dropY >= _minY2 && dropY <= _maxY2 + +!_dropOn2;
1310
+ var _dropSelection = [[-1, dropY], [-1, dropY]];
1311
+ if (_dropOn2) {
1312
+ var dropOnRowGroup = new Set([rowGroupKeys(dropY)]);
1313
+ _dropSelection = expandSelectionToRowOrColumnGroups(_dropSelection, rowGroupKeys, dropOnRowGroup, 1);
1314
+ }
1273
1315
  onDragOffsetChange === null || onDragOffsetChange === void 0 ? void 0 : onDragOffsetChange([0, _shift + _scrollOffset3]);
1274
- onDropTargetChange === null || onDropTargetChange === void 0 ? void 0 : onDropTargetChange(_insideSelection2 || _insideGroup2 ? null : [[-1, _cellY], [-1, _cellY]]);
1316
+ onDropTargetChange === null || onDropTargetChange === void 0 ? void 0 : onDropTargetChange(!_insideSelection2 && (_dropOn2 || !_insideGroup2) ? _dropSelection : null, _dropOn2);
1275
1317
  }
1276
1318
  }
1277
- }, [getMousePosition, getMouseOutOfBounds, getMouseHit, onCellWidthChange, onCellHeightChange, onDragIndicesChange, onDragOffsetChange, onDropTargetChange, onSelectionChange, onKnobAreaChange, onInvalidateRow, onInvalidateColumn, columnGroupKeys, rowGroupKeys]);
1319
+ }, [getMousePosition, getMouseOutOfBounds, getMouseHit, onCellWidthChange, onCellHeightChange, onDragIndicesChange, onDragOffsetChange, onDropTargetChange, onSelectionChange, onKnobAreaChange, onInvalidateRow, onInvalidateColumn, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, maxColumns, maxRows]);
1278
1320
  var onClick = useCallback(function (e) {
1279
1321
  var xy = getMousePosition(e);
1280
1322
  if (!xy) return;
@@ -2958,7 +3000,7 @@ var makeIntMap = function makeIntMap(initialSize) {
2958
3000
  };
2959
3001
  };
2960
3002
 
2961
- var renderSheet = function renderSheet(context, imageRenderer, cellLayout, visibleCells, sheetStyle, cellStyle, selection, secondarySelections, isFocused, knobPosition, knobArea, dragIndices, dragOffset, dropTarget, columnHeaders, columnHeaderStyle, displayData, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, dataOffset) {
3003
+ var renderSheet = function renderSheet(context, imageRenderer, cellLayout, visibleCells, sheetStyle, cellStyle, selection, secondarySelections, isFocused, knobPosition, knobArea, dragIndices, dragOffset, dropTarget, dropOn, columnHeaders, columnHeaderStyle, displayData, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, dataOffset) {
2962
3004
  var canvas = context.canvas;
2963
3005
  var width = canvas.width,
2964
3006
  height = canvas.height;
@@ -3089,7 +3131,8 @@ var renderSheet = function renderSheet(context, imageRenderer, cellLayout, visib
3089
3131
  var isInRowGroup = groupKey != null && (selectedRowGroups === null || selectedRowGroups === void 0 ? void 0 : selectedRowGroups.has(groupKey));
3090
3132
  var isSelfSelected = rowSelectionActive && isActive;
3091
3133
  var isGroupSelected = rowSelectionActive && isInRowGroup;
3092
- var style = isSelfSelected ? HEADER_SELECTED_STYLE : isGroupSelected ? HEADER_GROUP_SELECTED_STYLE : isActive ? HEADER_ACTIVE_STYLE : NO_STYLE;
3134
+ var isDropSelected = dropOn && dropTarget && row >= dropTarget[0][1] && row <= dropTarget[1][1];
3135
+ var style = isSelfSelected ? HEADER_SELECTED_STYLE : isGroupSelected || isDropSelected ? HEADER_GROUP_SELECTED_STYLE : isActive ? HEADER_ACTIVE_STYLE : NO_STYLE;
3093
3136
  var resolvedStyle = _extends({}, DEFAULT_COLUMN_HEADER_STYLE, style);
3094
3137
  var _top2 = rowToPixel(row);
3095
3138
  var _bottom2 = rowToPixel(row, 1);
@@ -3106,7 +3149,8 @@ var renderSheet = function renderSheet(context, imageRenderer, cellLayout, visib
3106
3149
  var _groupKey = columnGroupKeys(column);
3107
3150
  var isInColumnGroup = _groupKey != null && (selectedColumnGroups === null || selectedColumnGroups === void 0 ? void 0 : selectedColumnGroups.has(_groupKey));
3108
3151
  var isSelected = columnSelectionActive && !rowSelectionActive && (_isActive || isInColumnGroup);
3109
- var selectedStyle = isSelected ? HEADER_SELECTED_STYLE : NO_STYLE;
3152
+ var _isDropSelected = dropOn && dropTarget && column >= dropTarget[0][0] && column <= dropTarget[1][0];
3153
+ var selectedStyle = isSelected ? HEADER_SELECTED_STYLE : _isDropSelected ? HEADER_GROUP_SELECTED_STYLE : NO_STYLE;
3110
3154
  var activeStyle = _isActive ? HEADER_ACTIVE_STYLE : NO_STYLE;
3111
3155
  var _style = _extends({}, DEFAULT_COLUMN_HEADER_STYLE, columnHeaderStyle(column), activeStyle, selectedStyle);
3112
3156
  var _left2 = columnToPixel(column);
@@ -3193,7 +3237,7 @@ var renderSheet = function renderSheet(context, imageRenderer, cellLayout, visib
3193
3237
  }
3194
3238
  }
3195
3239
  }
3196
- if (dropTarget) {
3240
+ if (dropTarget && !dropOn) {
3197
3241
  var _resolveSelection = resolveSelection(dropTarget, cellLayout),
3198
3242
  _resolveSelection$ = _resolveSelection[0],
3199
3243
  _left6 = _resolveSelection$[0],
@@ -3527,28 +3571,31 @@ var Sheet = forwardRef(function (props, ref) {
3527
3571
  var _useState7 = useState(null),
3528
3572
  dropTarget = _useState7[0],
3529
3573
  setDropTarget = _useState7[1];
3530
- var _useState8 = useState(NO_CELL),
3531
- editCell = _useState8[0],
3532
- setEditCell = _useState8[1];
3533
- var _useState9 = useState(!!props.autoFocus),
3534
- focused = _useState9[0],
3535
- setFocused = _useState9[1];
3536
- var _useState10 = useState(selectionProp),
3537
- lastSelectionProp = _useState10[0],
3538
- setLastSelectionProp = _useState10[1];
3574
+ var _useState8 = useState(false),
3575
+ dropOn = _useState8[0],
3576
+ setDropOn = _useState8[1];
3577
+ var _useState9 = useState(NO_CELL),
3578
+ editCell = _useState9[0],
3579
+ setEditCell = _useState9[1];
3580
+ var _useState10 = useState(!!props.autoFocus),
3581
+ focused = _useState10[0],
3582
+ setFocused = _useState10[1];
3583
+ var _useState11 = useState(selectionProp),
3584
+ lastSelectionProp = _useState11[0],
3585
+ setLastSelectionProp = _useState11[1];
3539
3586
  if (lastSelectionProp !== selectionProp) {
3540
3587
  setLastSelectionProp(selectionProp);
3541
3588
  setRawSelection(selectionProp);
3542
3589
  }
3543
- var _useState11 = useState(''),
3544
- editValue = _useState11[0],
3545
- setEditValue = _useState11[1];
3546
- var _useState12 = useState(null),
3547
- sourceValue = _useState12[0],
3548
- setSourceValue = _useState12[1];
3549
- var _useState13 = useState(false),
3550
- arrowKeyCommitMode = _useState13[0],
3551
- setArrowKeyCommitMode = _useState13[1];
3590
+ var _useState12 = useState(''),
3591
+ editValue = _useState12[0],
3592
+ setEditValue = _useState12[1];
3593
+ var _useState13 = useState(null),
3594
+ sourceValue = _useState13[0],
3595
+ setSourceValue = _useState13[1];
3596
+ var _useState14 = useState(false),
3597
+ arrowKeyCommitMode = _useState14[0],
3598
+ setArrowKeyCommitMode = _useState14[1];
3552
3599
  var _useResizeObserver = useResizeObserver({
3553
3600
  ref: overlayRef
3554
3601
  }),
@@ -3674,6 +3721,13 @@ var Sheet = forwardRef(function (props, ref) {
3674
3721
  setMaxScroll(maxScroll);
3675
3722
  });
3676
3723
  };
3724
+ var changeDropTarget = function changeDropTarget(newSelection, dropOn) {
3725
+ if (dropOn === void 0) {
3726
+ dropOn = false;
3727
+ }
3728
+ setDropTarget(newSelection);
3729
+ setDropOn(dropOn);
3730
+ };
3677
3731
  var changeSelection = function changeSelection(newSelection, scrollTo, toHead) {
3678
3732
  if (scrollTo === void 0) {
3679
3733
  scrollTo = true;
@@ -3771,7 +3825,7 @@ var Sheet = forwardRef(function (props, ref) {
3771
3825
  var onScroll = useScroll(dataOffset, maxScroll, cellLayout, setDataOffset, setMaxScroll, props.onScrollAction);
3772
3826
  var getAutoSizeWidth = useAutoSizeColumn(visibleCells.rows, displayData, cellLayout, cellStyle, columnHeaders, columnHeaderStyle, canvasWidth, freezeColumns);
3773
3827
  var getAutoSizeHeight = useAutoSizeRow(visibleCells.columns, displayData, cellLayout, cellStyle, columnHeaders, columnHeaderStyle, cellWidth, canvasHeight, freezeRows);
3774
- var _useMouse = useMouse(overlayRef, dataOffset, hitmapRef, selection, knobArea, editMode, editData, sourceData, cellReadOnly, maxColumns, maxRows, canSizeColumn, canSizeRow, canOrderColumn, canOrderRow, cellLayout, visibleCells, sheetStyle, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, getAutoSizeWidth, getAutoSizeHeight, startEditingCell, commitEditingCell, setKnobArea, setDragIndices, setDragOffset, setDropTarget, changeSelection, setFocused, props.cacheLayout ? columnLayout.clearAfter : undefined, props.cacheLayout ? rowLayout.clearAfter : undefined, props.onChange, props.onColumnOrderChange, props.onRowOrderChange, props.onCellWidthChange, props.onCellHeightChange, props.onRightClick, props.dontCommitEditOnSelectionChange, props.dontChangeSelectionOnOrderChange),
3828
+ var _useMouse = useMouse(overlayRef, dataOffset, hitmapRef, selection, knobArea, editMode, editData, sourceData, cellReadOnly, maxColumns, maxRows, canSizeColumn, canSizeRow, canOrderColumn, canOrderRow, cellLayout, visibleCells, sheetStyle, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, getAutoSizeWidth, getAutoSizeHeight, startEditingCell, commitEditingCell, setKnobArea, setDragIndices, setDragOffset, changeDropTarget, changeSelection, setFocused, props.cacheLayout ? columnLayout.clearAfter : undefined, props.cacheLayout ? rowLayout.clearAfter : undefined, props.onChange, props.onColumnOrderChange, props.onRowOrderChange, props.onColumnDrop, props.onRowDrop, props.onCellWidthChange, props.onCellHeightChange, props.onRightClick, props.dontCommitEditOnSelectionChange, props.dontChangeSelectionOnOrderChange),
3775
3829
  mouseHandlers = _useMouse.mouseHandlers,
3776
3830
  knobPosition = _useMouse.knobPosition;
3777
3831
  var _useKeyboard = useKeyboard(arrowKeyCommitMode, overlayRef, cellReadOnly, displayData, editCell, editMode, focused, rawSelection, selection, startEditingCell, commitEditingCell, cancelEditingCell, changeSelection, setFocused, onClipboardCopy, props.onChange),
@@ -3790,15 +3844,15 @@ var Sheet = forwardRef(function (props, ref) {
3790
3844
  return;
3791
3845
  }
3792
3846
  var animationFrameId = window.requestAnimationFrame(function () {
3793
- hitmapRef.current = renderSheet(context, imageRenderer, cellLayout, visibleCells, sheetStyle, cellStyle, selection, secondarySelections, isFocused, knobPosition, knobArea, dragIndices, dragOffset, dropTarget, columnHeaders, columnHeaderStyle, displayData, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, dataOffset);
3847
+ hitmapRef.current = renderSheet(context, imageRenderer, cellLayout, visibleCells, sheetStyle, cellStyle, selection, secondarySelections, isFocused, knobPosition, knobArea, dragIndices, dragOffset, dropTarget, dropOn, columnHeaders, columnHeaderStyle, displayData, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, dataOffset);
3794
3848
  });
3795
3849
  return function () {
3796
3850
  window.cancelAnimationFrame(animationFrameId);
3797
3851
  };
3798
3852
  }, [cellLayout, visibleCells, sheetStyle, cellStyle, selection, secondarySelections, isFocused, knobPosition, knobArea, dragOffset, dropTarget, columnHeaders, columnHeaderStyle, displayData, columnGroupKeys, rowGroupKeys, selectedColumnGroups, selectedRowGroups, dataOffset]);
3799
- var _useState14 = useState(''),
3800
- lastEditKey = _useState14[0],
3801
- setLastEditKey = _useState14[1];
3853
+ var _useState15 = useState(''),
3854
+ lastEditKey = _useState15[0],
3855
+ setLastEditKey = _useState15[1];
3802
3856
  var editTextPosition = ORIGIN;
3803
3857
  var editTextWidth = 0;
3804
3858
  var editTextHeight = 0;