sheet-happens 0.0.32 → 0.0.34

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.
@@ -496,6 +496,7 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
496
496
  sourceData: sourceData,
497
497
  cellLayout: cellLayout,
498
498
  visibleCells: visibleCells,
499
+ hitTarget: hitTarget,
499
500
  knobPosition: knobPosition,
500
501
  columnResize: columnResize,
501
502
  rowResize: rowResize,
@@ -571,6 +572,7 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
571
572
 
572
573
  if (hitTarget) {
573
574
  setHitTarget(hitTarget);
575
+ ref.current.hitTarget = hitTarget;
574
576
  return;
575
577
  }
576
578
 
@@ -762,6 +764,8 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
762
764
  onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([anchor, head], scrollTo, true);
763
765
  }, [getMousePosition, getScrollPosition, getMouseHit, onColumnOrderChange, onRowOrderChange, onCellWidthChange, onCellHeightChange, onKnobAreaChange, onSelectionChange, onCommit, canSizeColumn, canSizeRow, canOrderColumn, canOrderRow]);
764
766
  var onPointerUp = useCallback(function (e) {
767
+ var _getMouseHit;
768
+
765
769
  var _ref$current2 = ref.current,
766
770
  knobArea = _ref$current2.knobArea,
767
771
  selection = _ref$current2.selection,
@@ -770,6 +774,7 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
770
774
  columnDrag = _ref$current2.columnDrag,
771
775
  rowDrag = _ref$current2.rowDrag,
772
776
  draggingKnob = _ref$current2.draggingKnob,
777
+ hitTarget = _ref$current2.hitTarget,
773
778
  _ref$current2$cellLay = _ref$current2.cellLayout,
774
779
  pixelToColumn = _ref$current2$cellLay.pixelToColumn,
775
780
  pixelToRow = _ref$current2$cellLay.pixelToRow,
@@ -779,7 +784,7 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
779
784
  if (knobArea && draggingKnob) {
780
785
  var changes = parseKnobOperation(knobArea, selection, sourceData, editData);
781
786
  onChange === null || onChange === void 0 ? void 0 : onChange(changes);
782
- onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(knobArea);
787
+ onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(knobArea, true, true);
783
788
  onKnobAreaChange === null || onKnobAreaChange === void 0 ? void 0 : onKnobAreaChange(null);
784
789
  }
785
790
 
@@ -840,8 +845,10 @@ var useMouse = function useMouse(hitmapRef, selection, knobArea, editMode, editD
840
845
  setRowDrag(null);
841
846
  if (!xy || !hitTarget) return;
842
847
  setHitTarget(null);
848
+ var previousRect = JSON.stringify(hitTarget.rect);
849
+ var currentRect = JSON.stringify((_getMouseHit = getMouseHit(xy)) === null || _getMouseHit === void 0 ? void 0 : _getMouseHit.rect);
843
850
 
844
- if (hitTarget === getMouseHit(xy)) {
851
+ if (previousRect === currentRect) {
845
852
  var _obj$onClick;
846
853
 
847
854
  var obj = hitTarget.obj;
@@ -1379,7 +1386,13 @@ var useClipboardCopy = function useClipboardCopy(textAreaRef, selection, editMod
1379
1386
  if (!textArea) return;
1380
1387
  if (editMode) return;
1381
1388
  if (isEmptySelection(selection)) return;
1382
- textArea.value = formatSelectionAsTSV(selection, editData);
1389
+ var v = formatSelectionAsTSV(selection, editData);
1390
+
1391
+ if (v.match(/^[\t\n]*$/)) {
1392
+ v = ' ' + v;
1393
+ }
1394
+
1395
+ textArea.value = v;
1383
1396
  }, [selection, editMode, editData, textAreaRef]);
1384
1397
  useLayoutEffect(function () {
1385
1398
  var textArea = textAreaRef.current;
@@ -2702,9 +2715,6 @@ var Sheet = forwardRef(function (props, ref) {
2702
2715
  var cellLayout = useMemo(function () {
2703
2716
  return makeCellLayout([freezeColumns, freezeRows], [rowHeaderWidth, columnHeaderHeight], dataOffset, columnLayout, rowLayout);
2704
2717
  }, [freezeColumns, freezeRows, rowHeaderWidth, columnHeaderHeight, dataOffset, columnLayout, rowLayout]);
2705
- useImperativeHandle(ref, function () {
2706
- return cellLayout;
2707
- }, [cellLayout]);
2708
2718
  var getVisibleCells = cellLayout.getVisibleCells,
2709
2719
  cellToPixel = cellLayout.cellToPixel,
2710
2720
  getVersion = cellLayout.getVersion;
@@ -3029,6 +3039,11 @@ var Sheet = forwardRef(function (props, ref) {
3029
3039
  editMode: editMode
3030
3040
  });
3031
3041
  }, [props.renderOutside, visibleCells, cellLayout, selection, editMode]);
3042
+ useImperativeHandle(ref, function () {
3043
+ return _extends({}, cellLayout, {
3044
+ startEditingCell: startEditingCell
3045
+ });
3046
+ }, [cellLayout, startEditingCell]);
3032
3047
  return React.createElement("div", {
3033
3048
  style: {
3034
3049
  position: 'relative',
@@ -3072,7 +3087,10 @@ var Sheet = forwardRef(function (props, ref) {
3072
3087
  style: {
3073
3088
  position: 'absolute',
3074
3089
  left: 0,
3075
- top: 0
3090
+ top: 0,
3091
+ width: '100%',
3092
+ height: '100%',
3093
+ pointerEvents: 'none'
3076
3094
  }
3077
3095
  }, renderedOutside) : null, React.createElement("textarea", {
3078
3096
  style: {