sheet-happens 0.0.28 → 0.0.30

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.
@@ -1620,7 +1620,7 @@ var makeCellLayout = function makeCellLayout(freeze, indent, offset, columns, ro
1620
1620
  };
1621
1621
 
1622
1622
  var getBaseOriginFor = function getBaseOriginFor(index, freeze, offset) {
1623
- return index < freeze ? 0 : offset;
1623
+ return index < freeze ? 0 : offset + freeze;
1624
1624
  };
1625
1625
 
1626
1626
  var columnToPixel = function columnToPixel(column, anchor) {
@@ -1630,8 +1630,9 @@ var makeCellLayout = function makeCellLayout(freeze, indent, offset, columns, ro
1630
1630
 
1631
1631
  var base = getBaseOriginFor(column, freezeX, offsetX);
1632
1632
  var relative = columns.getStart(column) - columns.getStart(base);
1633
+ var adjust = column < freezeX ? 0 : columns.getStart(freezeX) - columns.getStart(0);
1633
1634
  var size = column < 0 ? indentX : columns.getSize(column);
1634
- return column < 0 ? 0 : indentX + relative + anchor * size;
1635
+ return column < 0 ? 0 : indentX + relative + adjust + anchor * size;
1635
1636
  };
1636
1637
 
1637
1638
  var rowToPixel = function rowToPixel(row, anchor) {
@@ -1641,8 +1642,9 @@ var makeCellLayout = function makeCellLayout(freeze, indent, offset, columns, ro
1641
1642
 
1642
1643
  var base = getBaseOriginFor(row, freezeY, offsetY);
1643
1644
  var relative = rows.getStart(row) - rows.getStart(base);
1645
+ var adjust = row < freezeY ? 0 : rows.getStart(freezeY) - rows.getStart(0);
1644
1646
  var size = row < 0 ? indentY : rows.getSize(row);
1645
- return row < 0 ? 0 : indentY + relative + anchor * size;
1647
+ return row < 0 ? 0 : indentY + relative + adjust + anchor * size;
1646
1648
  };
1647
1649
 
1648
1650
  var cellToPixel = function cellToPixel(cell, anchor) {
@@ -1701,8 +1703,9 @@ var makeCellLayout = function makeCellLayout(freeze, indent, offset, columns, ro
1701
1703
  if (relative < frozen) {
1702
1704
  return lookupIndex(relative, anchor);
1703
1705
  } else {
1704
- var base = getStart(offset);
1705
- return lookupIndex(base + relative, anchor);
1706
+ var base = getStart(offset + freeze);
1707
+ var adjust = getStart(freeze) - getStart(0);
1708
+ return lookupIndex(base + relative - adjust, anchor);
1706
1709
  }
1707
1710
  };
1708
1711
 
@@ -2560,7 +2563,7 @@ var excelHeaderString = function excelHeaderString(num) {
2560
2563
  };
2561
2564
 
2562
2565
  var Sheet = forwardRef(function (props, ref) {
2563
- var _props$secondarySelec, _props$inputComponent;
2566
+ var _props$selection, _props$secondarySelec, _props$inputComponent;
2564
2567
 
2565
2568
  var canvasRef = useRef(null);
2566
2569
  var overlayRef = useRef(null);
@@ -2573,7 +2576,9 @@ var Sheet = forwardRef(function (props, ref) {
2573
2576
  dataOffset = _useState2[0],
2574
2577
  setDataOffset = _useState2[1];
2575
2578
 
2576
- var _useState3 = useState(NO_SELECTION),
2579
+ var selectionProp = (_props$selection = props.selection) != null ? _props$selection : NO_SELECTION;
2580
+
2581
+ var _useState3 = useState(selectionProp),
2577
2582
  selection = _useState3[0],
2578
2583
  setSelection = _useState3[1];
2579
2584
 
@@ -2593,13 +2598,22 @@ var Sheet = forwardRef(function (props, ref) {
2593
2598
  editCell = _useState7[0],
2594
2599
  setEditCell = _useState7[1];
2595
2600
 
2596
- var _useState8 = useState(''),
2597
- editValue = _useState8[0],
2598
- setEditValue = _useState8[1];
2601
+ var _useState8 = useState(selectionProp),
2602
+ lastSelectionProp = _useState8[0],
2603
+ setLastSelectionProp = _useState8[1];
2599
2604
 
2600
- var _useState9 = useState(false),
2601
- arrowKeyCommitMode = _useState9[0],
2602
- setArrowKeyCommitMode = _useState9[1];
2605
+ if (lastSelectionProp !== selectionProp) {
2606
+ setLastSelectionProp(selectionProp);
2607
+ setSelection(selectionProp);
2608
+ }
2609
+
2610
+ var _useState9 = useState(''),
2611
+ editValue = _useState9[0],
2612
+ setEditValue = _useState9[1];
2613
+
2614
+ var _useState10 = useState(false),
2615
+ arrowKeyCommitMode = _useState10[0],
2616
+ setArrowKeyCommitMode = _useState10[1];
2603
2617
 
2604
2618
  var _useResizeObserver = useResizeObserver({
2605
2619
  ref: canvasRef
@@ -2908,9 +2922,9 @@ var Sheet = forwardRef(function (props, ref) {
2908
2922
  e.preventDefault();
2909
2923
  };
2910
2924
 
2911
- var _useState10 = useState(''),
2912
- lastEditKey = _useState10[0],
2913
- setLastEditKey = _useState10[1];
2925
+ var _useState11 = useState(''),
2926
+ lastEditKey = _useState11[0],
2927
+ setLastEditKey = _useState11[1];
2914
2928
 
2915
2929
  var editTextPosition = ORIGIN;
2916
2930
  var editTextWidth = 0;
@@ -2980,6 +2994,16 @@ var Sheet = forwardRef(function (props, ref) {
2980
2994
  canvasStyles.width = 'calc(100%)';
2981
2995
  }
2982
2996
 
2997
+ var userRendered = useMemo(function () {
2998
+ var _props$render;
2999
+
3000
+ return (_props$render = props.render) === null || _props$render === void 0 ? void 0 : _props$render.call(props, {
3001
+ visibleCells: visibleCells,
3002
+ cellLayout: cellLayout,
3003
+ selection: selection,
3004
+ editMode: editMode
3005
+ });
3006
+ }, [props.render, visibleCells, cellLayout, selection, editMode]);
2983
3007
  return React.createElement("div", {
2984
3008
  style: {
2985
3009
  position: 'relative',
@@ -3013,7 +3037,13 @@ var Sheet = forwardRef(function (props, ref) {
3013
3037
  height: 1,
3014
3038
  backgroundColor: 'rgba(0,0,0,0.0)'
3015
3039
  }
3016
- })), React.createElement("textarea", {
3040
+ }), userRendered ? React.createElement("div", {
3041
+ style: {
3042
+ position: 'sticky',
3043
+ left: 0,
3044
+ top: 0
3045
+ }
3046
+ }, userRendered) : null), React.createElement("textarea", {
3017
3047
  style: {
3018
3048
  position: 'absolute',
3019
3049
  top: 0,