sheet-happens 0.0.28 → 0.0.29

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) {
@@ -2560,7 +2562,7 @@ var excelHeaderString = function excelHeaderString(num) {
2560
2562
  };
2561
2563
 
2562
2564
  var Sheet = forwardRef(function (props, ref) {
2563
- var _props$secondarySelec, _props$inputComponent;
2565
+ var _props$selection, _props$secondarySelec, _props$inputComponent;
2564
2566
 
2565
2567
  var canvasRef = useRef(null);
2566
2568
  var overlayRef = useRef(null);
@@ -2573,7 +2575,9 @@ var Sheet = forwardRef(function (props, ref) {
2573
2575
  dataOffset = _useState2[0],
2574
2576
  setDataOffset = _useState2[1];
2575
2577
 
2576
- var _useState3 = useState(NO_SELECTION),
2578
+ var selectionProp = (_props$selection = props.selection) != null ? _props$selection : NO_SELECTION;
2579
+
2580
+ var _useState3 = useState(selectionProp),
2577
2581
  selection = _useState3[0],
2578
2582
  setSelection = _useState3[1];
2579
2583
 
@@ -2593,13 +2597,22 @@ var Sheet = forwardRef(function (props, ref) {
2593
2597
  editCell = _useState7[0],
2594
2598
  setEditCell = _useState7[1];
2595
2599
 
2596
- var _useState8 = useState(''),
2597
- editValue = _useState8[0],
2598
- setEditValue = _useState8[1];
2600
+ var _useState8 = useState(selectionProp),
2601
+ lastSelectionProp = _useState8[0],
2602
+ setLastSelectionProp = _useState8[1];
2599
2603
 
2600
- var _useState9 = useState(false),
2601
- arrowKeyCommitMode = _useState9[0],
2602
- setArrowKeyCommitMode = _useState9[1];
2604
+ if (lastSelectionProp !== selectionProp) {
2605
+ setLastSelectionProp(selectionProp);
2606
+ setSelection(selectionProp);
2607
+ }
2608
+
2609
+ var _useState9 = useState(''),
2610
+ editValue = _useState9[0],
2611
+ setEditValue = _useState9[1];
2612
+
2613
+ var _useState10 = useState(false),
2614
+ arrowKeyCommitMode = _useState10[0],
2615
+ setArrowKeyCommitMode = _useState10[1];
2603
2616
 
2604
2617
  var _useResizeObserver = useResizeObserver({
2605
2618
  ref: canvasRef
@@ -2908,9 +2921,9 @@ var Sheet = forwardRef(function (props, ref) {
2908
2921
  e.preventDefault();
2909
2922
  };
2910
2923
 
2911
- var _useState10 = useState(''),
2912
- lastEditKey = _useState10[0],
2913
- setLastEditKey = _useState10[1];
2924
+ var _useState11 = useState(''),
2925
+ lastEditKey = _useState11[0],
2926
+ setLastEditKey = _useState11[1];
2914
2927
 
2915
2928
  var editTextPosition = ORIGIN;
2916
2929
  var editTextWidth = 0;
@@ -2980,6 +2993,16 @@ var Sheet = forwardRef(function (props, ref) {
2980
2993
  canvasStyles.width = 'calc(100%)';
2981
2994
  }
2982
2995
 
2996
+ var userRendered = useMemo(function () {
2997
+ var _props$render;
2998
+
2999
+ return (_props$render = props.render) === null || _props$render === void 0 ? void 0 : _props$render.call(props, {
3000
+ visibleCells: visibleCells,
3001
+ cellLayout: cellLayout,
3002
+ selection: selection,
3003
+ editMode: editMode
3004
+ });
3005
+ }, [props.render, visibleCells, cellLayout, selection, editMode]);
2983
3006
  return React.createElement("div", {
2984
3007
  style: {
2985
3008
  position: 'relative',
@@ -3013,7 +3036,13 @@ var Sheet = forwardRef(function (props, ref) {
3013
3036
  height: 1,
3014
3037
  backgroundColor: 'rgba(0,0,0,0.0)'
3015
3038
  }
3016
- })), React.createElement("textarea", {
3039
+ }), userRendered ? React.createElement("div", {
3040
+ style: {
3041
+ position: 'sticky',
3042
+ left: 0,
3043
+ top: 0
3044
+ }
3045
+ }, userRendered) : null), React.createElement("textarea", {
3017
3046
  style: {
3018
3047
  position: 'absolute',
3019
3048
  top: 0,