sheet-happens 0.0.46 → 0.0.48

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.
@@ -972,7 +972,6 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
972
972
  columnDrag = _ref$current2.columnDrag,
973
973
  rowDrag = _ref$current2.rowDrag,
974
974
  draggingKnob = _ref$current2.draggingKnob,
975
- hitTarget = _ref$current2.hitTarget,
976
975
  _ref$current2$cellLay = _ref$current2.cellLayout,
977
976
  pixelToColumn = _ref$current2$cellLay.pixelToColumn,
978
977
  pixelToRow = _ref$current2$cellLay.pixelToRow,
@@ -1053,8 +1052,6 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
1053
1052
  setColumnDrag(null);
1054
1053
  setRowResize(null);
1055
1054
  setRowDrag(null);
1056
- if (!xy || !hitTarget) return;
1057
- setHitTarget(null);
1058
1055
  }, [getMousePosition, getMouseHit, onChange, onSelectionChange, onKnobAreaChange, onDropTargetChange, onColumnOrderChange, onRowOrderChange, dontChangeSelectionOnOrderChange]);
1059
1056
  var onPointerMove = useCallback(function (e) {
1060
1057
  var _ref$current3 = ref.current,
@@ -1332,6 +1329,7 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
1332
1329
  if (!hitTarget) return;
1333
1330
  var xy = getMousePosition(e);
1334
1331
  if (!xy) return;
1332
+ setHitTarget(null);
1335
1333
  var previousRect = JSON.stringify(hitTarget.rect);
1336
1334
  var currentRect = JSON.stringify((_getMouseHit = getMouseHit(xy)) === null || _getMouseHit === void 0 ? void 0 : _getMouseHit.rect);
1337
1335
 
@@ -1746,6 +1744,8 @@ var useScroll = function useScroll(offset, maxScroll, cellLayout, onOffsetChange
1746
1744
  var clipDataOffset = function clipDataOffset(view, offset, freeze, maxCells, cellLayout) {
1747
1745
  var newX = offset[0],
1748
1746
  newY = offset[1];
1747
+ var freezeX = freeze[0],
1748
+ freezeY = freeze[1];
1749
1749
  var maxColumns = maxCells[0],
1750
1750
  maxRows = maxCells[1];
1751
1751
  var absoluteToColumn = cellLayout.absoluteToColumn,
@@ -1762,14 +1762,14 @@ var clipDataOffset = function clipDataOffset(view, offset, freeze, maxCells, cel
1762
1762
  scrollH = _getViewExtent$viewpo[1];
1763
1763
 
1764
1764
  if (rightEdge > maxColumns) {
1765
- var remainder = columnToAbsolute(maxColumns) - columnToAbsolute(newX);
1766
- newX = absoluteToColumn(columnToAbsolute(newX) - scrollW + remainder) + 1;
1765
+ var remainder = columnToAbsolute(maxColumns) - columnToAbsolute(newX + freezeX);
1766
+ newX = Math.max(0, absoluteToColumn(columnToAbsolute(newX + freezeX) - scrollW + remainder) - freezeX + 1);
1767
1767
  }
1768
1768
 
1769
1769
  if (bottomEdge > maxRows) {
1770
- var _remainder = rowToAbsolute(maxRows) - rowToAbsolute(newY);
1770
+ var _remainder = rowToAbsolute(maxRows) - rowToAbsolute(newY + freezeY);
1771
1771
 
1772
- newY = absoluteToRow(rowToAbsolute(newY) - scrollH + _remainder) + 1;
1772
+ newY = Math.max(0, absoluteToRow(rowToAbsolute(newY + freezeY) - scrollH + _remainder) - freezeY + 1);
1773
1773
  }
1774
1774
 
1775
1775
  return [newX, newY];
@@ -1853,20 +1853,25 @@ var scrollToCell = function scrollToCell(element, cell, view, freeze, offset, ma
1853
1853
 
1854
1854
  if (!isSameXY(newOffset, offset)) {
1855
1855
  var scroll = cellToAbsolute(newOffset);
1856
-
1857
- var _cellToAbsolute4 = cellToAbsolute([0, 0], [0.5, 0.5]),
1858
- nudgeX = _cellToAbsolute4[0],
1859
- nudgeY = _cellToAbsolute4[1];
1860
-
1861
1856
  callback(newOffset, maxXY(maxScroll, scroll));
1862
1857
  setTimeout(function () {
1863
- var scrollX = scroll[0],
1864
- scrollY = scroll[1];
1865
- element.scrollLeft = scrollX - nudgeX;
1866
- element.scrollTop = scrollY - nudgeY;
1858
+ updateScrollPosition(element, newOffset, cellLayout);
1867
1859
  });
1868
1860
  }
1869
1861
  };
1862
+ var updateScrollPosition = function updateScrollPosition(element, dataOffset, cellLayout) {
1863
+ var cellToAbsolute = cellLayout.cellToAbsolute;
1864
+ var scroll = cellToAbsolute(dataOffset);
1865
+
1866
+ var _cellToAbsolute4 = cellToAbsolute([0, 0], [0.5, 0.5]),
1867
+ nudgeX = _cellToAbsolute4[0],
1868
+ nudgeY = _cellToAbsolute4[1];
1869
+
1870
+ var scrollX = scroll[0],
1871
+ scrollY = scroll[1];
1872
+ element.scrollLeft = scrollX - nudgeX;
1873
+ element.scrollTop = scrollY - nudgeY;
1874
+ };
1870
1875
 
1871
1876
  var useAutoSizeColumn = function useAutoSizeColumn(rows, displayData, cellStyle, columnHeaders, columnHeaderStyle, canvasWidth) {
1872
1877
  var context = useMemo(function () {
@@ -3725,9 +3730,13 @@ var Sheet = forwardRef(function (props, ref) {
3725
3730
  _props$maxRows = props.maxRows,
3726
3731
  maxRows = _props$maxRows === void 0 ? Infinity : _props$maxRows;
3727
3732
  useLayoutEffect(function () {
3733
+ var overlay = overlayRef.current;
3734
+ if (!overlay) return;
3728
3735
  var view = [canvasWidth, canvasHeight];
3729
3736
  var freeze = [freezeColumns, freezeRows];
3730
- setDataOffset(clipDataOffset(view, dataOffset, freeze, [maxColumns, maxRows], cellLayout));
3737
+ var newOffset = clipDataOffset(view, dataOffset, freeze, [maxColumns, maxRows], cellLayout);
3738
+ setDataOffset(newOffset);
3739
+ updateScrollPosition(overlay, newOffset, cellLayout);
3731
3740
  }, [maxRows, maxColumns]);
3732
3741
  var hitmapRef = useRef(NO_CLICKABLES);
3733
3742
  var isFocused = focused || editMode;