@infinite-table/infinite-react 0.3.15 → 0.3.18

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.
package/index.esm.js CHANGED
@@ -638,9 +638,9 @@ import {
638
638
  StrictMode,
639
639
  createElement as createElement28,
640
640
  memo as memo11,
641
- useEffect as useEffect26
641
+ useEffect as useEffect28
642
642
  } from "react";
643
- import { useCallback as useCallback18, useEffect as useEffect27, useState as useState16 } from "react";
643
+ import { useCallback as useCallback18, useState as useState15 } from "react";
644
644
 
645
645
  // src/utils/join.ts
646
646
  var join = (...args) => args.filter((x) => !!`${x}`).join(" ");
@@ -878,7 +878,7 @@ import {
878
878
  useCallback as useCallback4,
879
879
  useEffect as useEffect7,
880
880
  useRef as useRef7,
881
- useState as useState4
881
+ useState as useState3
882
882
  } from "react";
883
883
 
884
884
  // src/components/VirtualList/SpacePlaceholder.tsx
@@ -1100,8 +1100,8 @@ function stripVar(cssVariableWithVarString) {
1100
1100
  }
1101
1101
 
1102
1102
  // src/components/InfiniteTable/theme.css.ts
1103
- var InternalVars = { currentColumnWidth: "var(--_1slvgu90)", currentColumnTransformX: "var(--_1slvgu91)", currentColumnTransformY: "var(--_1slvgu92)", activeCellRowOffset: "var(--_1slvgu93)", activeCellRowHeight: "var(--_1slvgu94)", activeCellOffsetX: "var(--_1slvgu95)", activeCellOffsetY: "var(--_1slvgu96)", scrollLeftForActiveCell: "var(--_1slvgu97)", scrollTopForActiveCell: "var(--_1slvgu98)", activeCellColWidth: "var(--_1slvgu99)", activeCellColOffset: "var(--_1slvgu9a)", columnWidthAtIndex: "var(--_1slvgu9b)", columnOffsetAtIndex: "var(--_1slvgu9c)" };
1104
- var ThemeVars = { color: { accent: "var(--infinite-accent-color)", error: "var(--infinite-error-color)", color: "var(--infinite-color)" }, spacing: { "0": "var(--infinite-space-0)", "1": "var(--infinite-space-1)", "2": "var(--infinite-space-2)", "3": "var(--infinite-space-3)", "4": "var(--infinite-space-4)", "5": "var(--infinite-space-5)", "6": "var(--infinite-space-6)", "7": "var(--infinite-space-7)", "8": "var(--infinite-space-8)", "9": "var(--infinite-space-9)", "10": "var(--infinite-space-10)" }, fontSize: { "0": "var(--infinite-font-size-0)", "1": "var(--infinite-font-size-1)", "2": "var(--infinite-font-size-2)", "3": "var(--infinite-font-size-3)", "4": "var(--infinite-font-size-4)", "5": "var(--infinite-font-size-5)", "6": "var(--infinite-font-size-6)", "7": "var(--infinite-font-size-7)" }, fontFamily: "var(--infinite-font-family)", minHeight: "var(--infinite-min-height)", borderRadius: "var(--infinite-border-radius)", background: "var(--infinite-background)", components: { LoadMask: { padding: "var(--infinite-load-mask-padding)", color: "var(--infinite-load-mask-color)", textBackground: "var(--infinite-load-mask-text-background)", overlayBackground: "var(--infinite-load-mask-overlay-background)", overlayOpacity: "var(--infinite-load-mask-overlay-opacity)", borderRadius: "var(--infinite-load-mask-border-radius)" }, Header: { background: "var(--infinite-header-background)", color: "var(--infinite-header-color)", columnHeaderHeight: "var(--infinite-column-header-height)" }, HeaderCell: { draggingBackground: "var(--infinite-header-cell-dragging-background)", background: "var(--infinite-header-cell-background)", hoverBackground: "var(--infinite-header-cell-hover-background)", padding: "var(--infinite-header-cell-padding)", paddingX: "var(--infinite-header-cell-padding-x)", paddingY: "var(--infinite-header-cell-padding-y)", iconSize: "var(--infinite-header-cell-icon-size)", sortIconMargin: "var(--infinite-header-cell-sort-icon-margin)", resizeHandleActiveAreaWidth: "var(--infinite-resize-handle-active-area-width)", resizeHandleWidth: "var(--infinite-resize-handle-width)", resizeHandleHoverBackground: "var(--infinite-resize-handle-hover-background)", resizeHandleConstrainedHoverBackground: "var(--infinite-resize-handle-constrained-hover-background)" }, Cell: { padding: "var(--infinite-cell-padding)", borderWidth: "var(--infinite-cell-border-width)", border: "var(--infinite-cell-border)", borderInvisible: "var(--infinite-cell-border-invisible)", borderRadius: "var(--infinite-cell-border-radius)", color: "var(--infinite-cell-color)", activeBorderColor_R: "var(--infinite-active-cell-border-color--r)", activeBorderColor_G: "var(--infinite-active-cell-border-color--g)", activeBorderColor_B: "var(--infinite-active-cell-border-color--b)", activeBackgroundAlpha: "var(--infinite-active-cell-background-alpha)", activeBackgroundAlphaWhenTableUnfocused: "var(--infinite-active-cell-background-alpha--table-unfocused)", activeBackground: "var(--infinite-active-cell-background)", activeBorderColor: "var(--infinite-active-cell-border-color)", activeBorderWidth: "var(--infinite-active-cell-border-width)", activeBorderStyle: "var(--infinite-active-cell-border-style)", activeBorder: "var(--infinite-active-cell-border)" }, Row: { background: "var(--infinite-row-background)", oddBackground: "var(--infinite-row-odd-background)", activeBackground: "var(--infinite-active-row-background)", activeBorderColor: "var(--infinite-active-row-border-color)", activeBorderWidth: "var(--infinite-active-row-border-width)", activeBorderStyle: "var(--infinite-active-row-border-style)", activeBorder: "var(--infinite-active-row-border)", activeBackgroundAlpha: "var(--infinite-active-row-background-alpha)", activeBackgroundAlphaWhenTableUnfocused: "var(--infinite-active-row-background-alpha--table-unfocused)", hoverBackground: "var(--infinite-row-hover-background)", groupRowBackground: "var(--infinite-group-row-background)", groupRowColumnNesting: "var(--infinite-group-row-column-nesting)", groupNesting: "var(--infinite-dont-override-group-row-nesting-length)", pointerEventsWhileScrolling: "var(--infinite-row-pointer-events-while-scrolling)" }, ColumnCell: { background: "var(--infinite-column-cell-bg-dont-override)" } } };
1103
+ var InternalVars = { currentColumnWidth: "var(--_1slvgu90)", currentColumnTransformX: "var(--_1slvgu91)", currentColumnTransformY: "var(--_1slvgu92)", activeCellRowOffset: "var(--_1slvgu93)", activeCellRowHeight: "var(--_1slvgu94)", activeCellOffsetX: "var(--_1slvgu95)", activeCellOffsetY: "var(--_1slvgu96)", scrollTopForActiveRow: "var(--_1slvgu97)", activeCellColWidth: "var(--_1slvgu98)", activeCellColOffset: "var(--_1slvgu99)", columnWidthAtIndex: "var(--_1slvgu9a)", columnOffsetAtIndex: "var(--_1slvgu9b)", columnOffsetAtIndexWhileReordering: "var(--_1slvgu9c)", columnZIndexAtIndex: "var(--_1slvgu9d)", computedVisibleColumnsCount: "var(--_1slvgu9e)", baseZIndexForCells: "var(--_1slvgu9f)" };
1104
+ var ThemeVars = { color: { accent: "var(--infinite-accent-color)", error: "var(--infinite-error-color)", color: "var(--infinite-color)" }, spacing: { "0": "var(--infinite-space-0)", "1": "var(--infinite-space-1)", "2": "var(--infinite-space-2)", "3": "var(--infinite-space-3)", "4": "var(--infinite-space-4)", "5": "var(--infinite-space-5)", "6": "var(--infinite-space-6)", "7": "var(--infinite-space-7)", "8": "var(--infinite-space-8)", "9": "var(--infinite-space-9)", "10": "var(--infinite-space-10)" }, fontSize: { "0": "var(--infinite-font-size-0)", "1": "var(--infinite-font-size-1)", "2": "var(--infinite-font-size-2)", "3": "var(--infinite-font-size-3)", "4": "var(--infinite-font-size-4)", "5": "var(--infinite-font-size-5)", "6": "var(--infinite-font-size-6)", "7": "var(--infinite-font-size-7)" }, fontFamily: "var(--infinite-font-family)", minHeight: "var(--infinite-min-height)", borderRadius: "var(--infinite-border-radius)", background: "var(--infinite-background)", components: { LoadMask: { padding: "var(--infinite-load-mask-padding)", color: "var(--infinite-load-mask-color)", textBackground: "var(--infinite-load-mask-text-background)", overlayBackground: "var(--infinite-load-mask-overlay-background)", overlayOpacity: "var(--infinite-load-mask-overlay-opacity)", borderRadius: "var(--infinite-load-mask-border-radius)" }, Header: { background: "var(--infinite-header-background)", color: "var(--infinite-header-color)", columnHeaderHeight: "var(--infinite-column-header-height)" }, HeaderCell: { background: "var(--infinite-header-cell-background)", hoverBackground: "var(--infinite-header-cell-hover-background)", padding: "var(--infinite-header-cell-padding)", paddingX: "var(--infinite-header-cell-padding-x)", paddingY: "var(--infinite-header-cell-padding-y)", iconSize: "var(--infinite-header-cell-icon-size)", sortIconMargin: "var(--infinite-header-cell-sort-icon-margin)", resizeHandleActiveAreaWidth: "var(--infinite-resize-handle-active-area-width)", resizeHandleWidth: "var(--infinite-resize-handle-width)", resizeHandleHoverBackground: "var(--infinite-resize-handle-hover-background)", resizeHandleConstrainedHoverBackground: "var(--infinite-resize-handle-constrained-hover-background)" }, Cell: { padding: "var(--infinite-cell-padding)", borderWidth: "var(--infinite-cell-border-width)", border: "var(--infinite-cell-border)", borderInvisible: "var(--infinite-cell-border-invisible)", borderRadius: "var(--infinite-cell-border-radius)", reorderEffectDuration: "var(--infinite-column-reorder-effect-duration)", color: "var(--infinite-cell-color)", activeBorderColor_R: "var(--infinite-active-cell-border-color--r)", activeBorderColor_G: "var(--infinite-active-cell-border-color--g)", activeBorderColor_B: "var(--infinite-active-cell-border-color--b)", activeBackgroundAlpha: "var(--infinite-active-cell-background-alpha)", activeBackgroundAlphaWhenTableUnfocused: "var(--infinite-active-cell-background-alpha--table-unfocused)", activeBackground: "var(--infinite-active-cell-background)", activeBorderColor: "var(--infinite-active-cell-border-color)", activeBorderWidth: "var(--infinite-active-cell-border-width)", activeBorderStyle: "var(--infinite-active-cell-border-style)", activeBorder: "var(--infinite-active-cell-border)" }, Row: { background: "var(--infinite-row-background)", oddBackground: "var(--infinite-row-odd-background)", activeBackground: "var(--infinite-active-row-background)", activeBorderColor: "var(--infinite-active-row-border-color)", activeBorderWidth: "var(--infinite-active-row-border-width)", activeBorderStyle: "var(--infinite-active-row-border-style)", activeBorder: "var(--infinite-active-row-border)", activeBackgroundAlpha: "var(--infinite-active-row-background-alpha)", activeBackgroundAlphaWhenTableUnfocused: "var(--infinite-active-row-background-alpha--table-unfocused)", hoverBackground: "var(--infinite-row-hover-background)", groupRowBackground: "var(--infinite-group-row-background)", groupRowColumnNesting: "var(--infinite-group-row-column-nesting)", groupNesting: "var(--infinite-dont-override-group-row-nesting-length)", pointerEventsWhileScrolling: "var(--infinite-row-pointer-events-while-scrolling)" }, ColumnCell: { background: "var(--infinite-column-cell-bg-dont-override)" } } };
1105
1105
  var columnHeaderHeightName = "column-header-height";
1106
1106
 
1107
1107
  // src/utils/selectParent.ts
@@ -1131,6 +1131,8 @@ function getParentInfiniteNode(node) {
1131
1131
  }
1132
1132
  var columnWidthAtIndex = stripVar(InternalVars.columnWidthAtIndex);
1133
1133
  var columnOffsetAtIndex = stripVar(InternalVars.columnOffsetAtIndex);
1134
+ var columnOffsetAtIndexWhileReordering = stripVar(InternalVars.columnOffsetAtIndexWhileReordering);
1135
+ var columnZIndexAtIndex = stripVar(InternalVars.columnZIndexAtIndex);
1134
1136
  function setInfiniteVarOnRoot(varName, varValue, node) {
1135
1137
  const infinite = node ? getParentInfiniteNode(node) : document.querySelector(InfiniteSelector);
1136
1138
  setInfiniteVarOnNode(varName, varValue, infinite);
@@ -1154,6 +1156,12 @@ function setInfiniteColumnWidth(colIndex, colWidth, node) {
1154
1156
  function setInfiniteColumnOffset(colIndex, colOffset, node) {
1155
1157
  setInfiniteVarOnRoot(`${columnOffsetAtIndex}-${colIndex}`, typeof colOffset === "number" ? colOffset + "px" : colOffset, node);
1156
1158
  }
1159
+ function setInfiniteColumnZIndex(colIndex, colZIndex, node) {
1160
+ setInfiniteVarOnRoot(`${columnZIndexAtIndex}-${colIndex}`, `${colZIndex}`, node);
1161
+ }
1162
+ function setInfiniteColumnOffsetWhileReordering(colIndex, offset, node) {
1163
+ setInfiniteVarOnRoot(`${columnOffsetAtIndexWhileReordering}-${colIndex}`, typeof offset === "number" ? `calc( var(${columnOffsetAtIndex}-${colIndex}) + ${offset}px )` : offset, node);
1164
+ }
1157
1165
  function getCSSVarNameForColWidth(colIndex) {
1158
1166
  return `${columnWidthAtIndex}-${colIndex}`;
1159
1167
  }
@@ -1453,6 +1461,36 @@ var MatrixBrain = class extends Logger {
1453
1461
  renderCount = Math.min(count, renderCount);
1454
1462
  return renderCount;
1455
1463
  };
1464
+ this.isColFixedEnd = (colIndex) => {
1465
+ if (!this.fixedColsEnd) {
1466
+ return false;
1467
+ }
1468
+ return colIndex >= this.cols - this.fixedColsEnd;
1469
+ };
1470
+ this.isColFixedStart = (colIndex) => {
1471
+ if (!this.fixedColsStart) {
1472
+ return false;
1473
+ }
1474
+ return colIndex < this.fixedColsStart;
1475
+ };
1476
+ this.isRowFixedEnd = (rowIndex) => {
1477
+ if (!this.fixedRowsEnd) {
1478
+ return false;
1479
+ }
1480
+ return rowIndex >= this.rows - this.fixedRowsEnd;
1481
+ };
1482
+ this.isRowFixedStart = (rowIndex) => {
1483
+ if (!this.fixedRowsStart) {
1484
+ return false;
1485
+ }
1486
+ return rowIndex < this.fixedRowsStart;
1487
+ };
1488
+ this.isColFixed = (colIndex) => {
1489
+ return this.isColFixedStart(colIndex) || this.isColFixedEnd(colIndex);
1490
+ };
1491
+ this.isRowFixed = (rowIndex) => {
1492
+ return this.isRowFixedStart(rowIndex) || this.isRowFixedEnd(rowIndex);
1493
+ };
1456
1494
  this.getFixedEndColsWidth = () => {
1457
1495
  if (!this.fixedColsEnd) {
1458
1496
  return 0;
@@ -2632,7 +2670,8 @@ var MappedCells = class extends Logger {
2632
2670
  // src/components/HeadlessTable/ReactHeadlessTableRenderer.tsx
2633
2671
  var ITEM_POSITION_WITH_TRANSFORM = true;
2634
2672
  var currentColumnTransformY = stripVar(InternalVars.currentColumnTransformY);
2635
- var columnTransformX = stripVar(InternalVars.columnOffsetAtIndex);
2673
+ var columnOffsetAtIndex2 = stripVar(InternalVars.columnOffsetAtIndex);
2674
+ var columnOffsetAtIndexWhileReordering2 = stripVar(InternalVars.columnOffsetAtIndexWhileReordering);
2636
2675
  var ReactHeadlessTableRenderer = class extends Logger {
2637
2676
  constructor(brain) {
2638
2677
  super("ReactHeadlessTableRenderer");
@@ -2647,14 +2686,17 @@ var ReactHeadlessTableRenderer = class extends Logger {
2647
2686
  this.currentHoveredRow = -1;
2648
2687
  this.hoverRowUpdatesInProgress = new Map();
2649
2688
  this.infiniteNode = null;
2650
- this.setTransform = (element, _rowIndex, colIndex, x, y) => {
2651
- const transformXVar = `${columnTransformX}-${colIndex}`;
2689
+ this.setTransform = (element, _rowIndex, colIndex, x, y, zIndex2) => {
2690
+ const columnOffsetX = `${columnOffsetAtIndex2}-${colIndex}`;
2691
+ const columnOffsetXWhileReordering = `${columnOffsetAtIndexWhileReordering2}-${colIndex}`;
2652
2692
  if (!this.infiniteNode) {
2653
2693
  this.infiniteNode = getParentInfiniteNode(element);
2654
2694
  }
2655
- this.infiniteNode.style.setProperty(transformXVar, `${x}px`);
2695
+ this.infiniteNode.style.setProperty(columnOffsetX, `${x}px`);
2656
2696
  element.style.setProperty(currentColumnTransformY, `${y}px`);
2657
- element.style.transform = `translate3d(var(${transformXVar}), ${InternalVars.currentColumnTransformY}, 0)`;
2697
+ element.style.transform = `translate3d(var(${columnOffsetXWhileReordering}, var(${columnOffsetX})), ${InternalVars.currentColumnTransformY}, 0)`;
2698
+ if (zIndex2 != null) {
2699
+ }
2658
2700
  };
2659
2701
  this.getFullyVisibleRowsRange = () => {
2660
2702
  let {
@@ -2684,21 +2726,26 @@ var ReactHeadlessTableRenderer = class extends Logger {
2684
2726
  }
2685
2727
  const rowOffset = brain.getItemOffsetFor(rowIndex, "vertical");
2686
2728
  const rowHeight = brain.getItemSize(rowIndex, "vertical");
2729
+ const fixedStartRowsHeight = brain.getFixedStartRowsHeight();
2730
+ const fixedEndRowsHeight = brain.getFixedEndRowsHeight();
2687
2731
  const top2 = scrollPosition.scrollTop;
2688
2732
  const availableSize = brain.getAvailableSize();
2733
+ if (!availableSize.height) {
2734
+ return null;
2735
+ }
2689
2736
  const bottom = top2 + availableSize.height;
2690
2737
  if (!scrollAdjustPosition) {
2691
- scrollAdjustPosition = rowOffset > bottom ? "end" : rowOffset < top2 ? "start" : "end";
2738
+ scrollAdjustPosition = rowOffset > bottom - fixedEndRowsHeight ? "end" : rowOffset < top2 + fixedStartRowsHeight ? "start" : "end";
2692
2739
  }
2693
2740
  let scrollTop = scrollPosition.scrollTop;
2694
2741
  if (scrollAdjustPosition === "center") {
2695
- scrollTop = rowOffset - Math.floor(brain.getAvailableSize().height / 2);
2742
+ scrollTop = rowOffset - Math.floor((brain.getAvailableSize().height - fixedStartRowsHeight - fixedEndRowsHeight) / 2);
2696
2743
  } else if (scrollAdjustPosition === "start") {
2697
2744
  offset = -offset;
2698
- scrollTop += rowOffset - top2 + offset;
2745
+ scrollTop += rowOffset - top2 + offset - fixedStartRowsHeight;
2699
2746
  } else {
2700
2747
  offset += rowHeight;
2701
- scrollTop += rowOffset - bottom + offset;
2748
+ scrollTop += rowOffset - bottom + offset + fixedEndRowsHeight;
2702
2749
  }
2703
2750
  return __spreadProps(__spreadValues({}, scrollPosition), {
2704
2751
  scrollTop
@@ -2711,37 +2758,47 @@ var ReactHeadlessTableRenderer = class extends Logger {
2711
2758
  if (this.isColumnFullyVisible(colIndex) && !scrollAdjustPosition) {
2712
2759
  return scrollPosition;
2713
2760
  }
2714
- const rowOffset = brain.getItemOffsetFor(colIndex, "horizontal");
2761
+ const colOffset = brain.getItemOffsetFor(colIndex, "horizontal");
2715
2762
  const colWidth = brain.getItemSize(colIndex, "horizontal");
2763
+ const fixedStartColsWidth = brain.getFixedStartColsWidth();
2764
+ const fixedEndColsWidth = brain.getFixedStartColsWidth();
2716
2765
  const left2 = scrollPosition.scrollLeft;
2717
2766
  const availableSize = brain.getAvailableSize();
2767
+ if (!availableSize.width) {
2768
+ return null;
2769
+ }
2718
2770
  const right = left2 + availableSize.width;
2719
2771
  if (!scrollAdjustPosition) {
2720
- scrollAdjustPosition = rowOffset > right ? "end" : rowOffset < left2 ? "start" : "end";
2772
+ scrollAdjustPosition = colOffset > right - fixedEndColsWidth ? "end" : colOffset < left2 + fixedStartColsWidth ? "start" : "end";
2721
2773
  }
2722
2774
  let scrollLeft = scrollPosition.scrollLeft;
2723
2775
  if (scrollAdjustPosition === "center") {
2724
- scrollLeft = rowOffset - Math.floor(brain.getAvailableSize().width / 2);
2776
+ scrollLeft = colOffset - Math.floor((brain.getAvailableSize().width - fixedStartColsWidth - fixedEndColsWidth) / 2);
2725
2777
  } else if (scrollAdjustPosition === "start") {
2726
2778
  offset = -offset;
2727
- scrollLeft += rowOffset - left2 + offset;
2779
+ scrollLeft += colOffset - left2 + offset - fixedStartColsWidth;
2728
2780
  } else {
2729
2781
  offset += colWidth;
2730
- scrollLeft += rowOffset - right + offset;
2782
+ scrollLeft += colOffset - right + offset + fixedEndColsWidth;
2731
2783
  }
2732
2784
  return __spreadProps(__spreadValues({}, scrollPosition), {
2733
2785
  scrollLeft
2734
2786
  });
2735
2787
  };
2736
2788
  this.getScrollPositionForScrollCellIntoView = (rowIndex, colIndex, config = { offsetLeft: 0, offsetTop: 0 }) => {
2737
- const { scrollLeft } = this.getScrollPositionForScrollColumnIntoView(colIndex, {
2789
+ const scrollPosForCol = this.getScrollPositionForScrollColumnIntoView(colIndex, {
2738
2790
  scrollAdjustPosition: config.colScrollAdjustPosition || config.scrollAdjustPosition,
2739
2791
  offset: config.offsetLeft
2740
2792
  });
2741
- const { scrollTop } = this.getScrollPositionForScrollRowIntoView(rowIndex, {
2793
+ const scrollPosForRow = this.getScrollPositionForScrollRowIntoView(rowIndex, {
2742
2794
  scrollAdjustPosition: config.rowScrollAdjustPosition || config.scrollAdjustPosition,
2743
2795
  offset: config.offsetTop
2744
2796
  });
2797
+ if (!scrollPosForCol || !scrollPosForRow) {
2798
+ return null;
2799
+ }
2800
+ const { scrollLeft } = scrollPosForCol;
2801
+ const { scrollTop } = scrollPosForRow;
2745
2802
  return { scrollLeft, scrollTop };
2746
2803
  };
2747
2804
  this.isRowFullyVisible = (rowIndex, offsetMargin = 2) => {
@@ -2752,6 +2809,9 @@ var ReactHeadlessTableRenderer = class extends Logger {
2752
2809
  return false;
2753
2810
  }
2754
2811
  const { brain } = this;
2812
+ if (brain.isRowFixed(rowIndex)) {
2813
+ return true;
2814
+ }
2755
2815
  const {
2756
2816
  start: [startRow],
2757
2817
  end: [endRow]
@@ -2791,23 +2851,26 @@ var ReactHeadlessTableRenderer = class extends Logger {
2791
2851
  return false;
2792
2852
  }
2793
2853
  const { brain } = this;
2854
+ if (brain.isColFixed(colIndex)) {
2855
+ return true;
2856
+ }
2794
2857
  const {
2795
2858
  start: [_, startCol],
2796
2859
  end: [__, endCol]
2797
2860
  } = brain.getRenderRange();
2798
- const midCol = Math.floor((startCol + endCol) / 2);
2799
2861
  if (colIndex < startCol) {
2800
2862
  return false;
2801
2863
  }
2802
2864
  if (colIndex >= endCol) {
2803
2865
  return false;
2804
2866
  }
2867
+ const midCol = Math.floor((startCol + endCol) / 2);
2805
2868
  if (colIndex >= midCol) {
2806
- const lastVisibleCol = brain.getItemAt(brain.getAvailableSize().width + brain.getScrollPosition().scrollLeft - offsetMargin, "horizontal");
2869
+ const lastVisibleCol = brain.getItemAt(brain.getAvailableSize().width + brain.getScrollPosition().scrollLeft - offsetMargin - brain.getFixedEndColsWidth(), "horizontal");
2807
2870
  return colIndex <= lastVisibleCol;
2808
2871
  }
2809
2872
  if (colIndex < midCol) {
2810
- const firstVisibleCol = brain.getItemAt(brain.getScrollPosition().scrollLeft + offsetMargin, "horizontal");
2873
+ const firstVisibleCol = brain.getItemAt(brain.getScrollPosition().scrollLeft + offsetMargin + brain.getFixedStartColsWidth(), "horizontal");
2811
2874
  return colIndex >= firstVisibleCol;
2812
2875
  }
2813
2876
  return true;
@@ -3150,7 +3213,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
3150
3213
  itemElement.dataset.rowIndex = rowIndex;
3151
3214
  itemElement.dataset.colIndex = colIndex;
3152
3215
  if (ITEM_POSITION_WITH_TRANSFORM) {
3153
- this.setTransform(itemElement, rowIndex, colIndex, x, y);
3216
+ this.setTransform(itemElement, rowIndex, colIndex, x, y, null);
3154
3217
  itemElement.style.willChange = "transform";
3155
3218
  itemElement.style.backfaceVisibility = "hidden";
3156
3219
  const hidden = options ? options.hidden : !!this.isCellCovered(rowIndex, colIndex);
@@ -3196,37 +3259,29 @@ var ReactHeadlessTableRenderer = class extends Logger {
3196
3259
  }
3197
3260
  }
3198
3261
  const adjustColStart = (_rowIndex, colIndex, node, { x, y }, { scrollLeft }) => {
3199
- node.style.zIndex = `${fixedColsStart - colIndex}`;
3200
- this.setTransform(node, _rowIndex, colIndex, x + scrollLeft, y);
3262
+ this.setTransform(node, _rowIndex, colIndex, x + scrollLeft, y, fixedColsStart - colIndex);
3201
3263
  };
3202
3264
  const adjustRowStart = (rowIndex, _colIndex, node, coords, scrollPosition2) => {
3203
- node.style.zIndex = `${fixedRowsStart - rowIndex}`;
3204
- this.setTransform(node, rowIndex, _colIndex, coords.x, coords.y + scrollPosition2.scrollTop);
3265
+ this.setTransform(node, rowIndex, _colIndex, coords.x, coords.y + scrollPosition2.scrollTop, fixedRowsStart - rowIndex);
3205
3266
  };
3206
3267
  const adjustColEnd = (_rowIndex, colIndex, node, { y }) => {
3207
- node.style.zIndex = `${cols - colIndex}`;
3208
3268
  const val = fixedEndColsOffsets[colIndex];
3209
- this.setTransform(node, _rowIndex, colIndex, val, y);
3269
+ this.setTransform(node, _rowIndex, colIndex, val, y, cols - colIndex);
3210
3270
  };
3211
3271
  const adjustRowEnd = (rowIndex, _colIndex, node, coords) => {
3212
- node.style.zIndex = `${rows - rowIndex}`;
3213
- this.setTransform(node, rowIndex, _colIndex, coords.x, fixedEndRowsOffsets[rowIndex]);
3272
+ this.setTransform(node, rowIndex, _colIndex, coords.x, fixedEndRowsOffsets[rowIndex], rows - rowIndex);
3214
3273
  };
3215
3274
  const adjustColStartRowStart = (_rowIndex, _colIndex, node, { x, y }, scrollPosition2) => {
3216
- node.style.zIndex = `1000000`;
3217
- this.setTransform(node, _rowIndex, _colIndex, x + scrollPosition2.scrollLeft, y + scrollPosition2.scrollTop);
3275
+ this.setTransform(node, _rowIndex, _colIndex, x + scrollPosition2.scrollLeft, y + scrollPosition2.scrollTop, 1e5);
3218
3276
  };
3219
3277
  const adjustColStartRowEnd = (_rowIndex, _colIndex, node, { x }, scrollPosition2) => {
3220
- node.style.zIndex = `2000000`;
3221
- this.setTransform(node, _rowIndex, _colIndex, x + scrollPosition2.scrollLeft, fixedEndRowsOffsets[_rowIndex]);
3278
+ this.setTransform(node, _rowIndex, _colIndex, x + scrollPosition2.scrollLeft, fixedEndRowsOffsets[_rowIndex], 2e5);
3222
3279
  };
3223
3280
  const adjustColEndRowStart = (_rowIndex, colIndex, node, coords) => {
3224
- node.style.zIndex = `3000000`;
3225
- this.setTransform(node, _rowIndex, colIndex, fixedEndColsOffsets[colIndex], coords.y + scrollPosition.scrollTop);
3281
+ this.setTransform(node, _rowIndex, colIndex, fixedEndColsOffsets[colIndex], coords.y + scrollPosition.scrollTop, 3e5);
3226
3282
  };
3227
3283
  const adjustColEndRowEnd = (rowIndex, colIndex, node) => {
3228
- node.style.zIndex = `4000000`;
3229
- this.setTransform(node, rowIndex, colIndex, fixedEndColsOffsets[colIndex], fixedEndRowsOffsets[rowIndex]);
3284
+ this.setTransform(node, rowIndex, colIndex, fixedEndColsOffsets[colIndex], fixedEndRowsOffsets[rowIndex], 4e5);
3230
3285
  };
3231
3286
  if (fixedColsStart || fixedColsEnd) {
3232
3287
  for (let rowIndex = startRow; rowIndex < endRow; rowIndex++) {
@@ -3447,7 +3502,7 @@ import {
3447
3502
  createElement as createElement6,
3448
3503
  memo as memo4
3449
3504
  } from "react";
3450
- import { useEffect as useEffect5, useLayoutEffect as useLayoutEffect3, useRef as useRef5, useState as useState3 } from "react";
3505
+ import { useEffect as useEffect5, useLayoutEffect as useLayoutEffect3, useRef as useRef5 } from "react";
3451
3506
 
3452
3507
  // src/components/hooks/useRerender.ts
3453
3508
  import { useCallback as useCallback3, useState as useState2 } from "react";
@@ -3462,39 +3517,43 @@ var useRerender = () => {
3462
3517
  };
3463
3518
 
3464
3519
  // src/components/InfiniteTable/components/ActiveCellIndicator.css.ts
3465
- var ActiveCellIndicatorCls = { visible: "nxbq1c2 nxbq1c1 _16lm1iwf _16lm1iw3 _16lm1iwx _16lm1iwv", hidden: "nxbq1c3 nxbq1c1 _16lm1iwf _16lm1iw3 _16lm1iwx _16lm1iwv" };
3466
- var ActiveIndicatorWrapperCls = "_16lm1iwf _16lm1iw3 _16lm1iwx _16lm1iwv _16lm1iwr";
3520
+ var ActiveCellIndicatorCls = { visible: "nxbq1c2 nxbq1c1 _16lm1iwf _16lm1iw3 _16lm1iwz _16lm1iwx", hidden: "nxbq1c3 nxbq1c1 _16lm1iwf _16lm1iw3 _16lm1iwz _16lm1iwx" };
3521
+ var ActiveIndicatorWrapperCls = "_16lm1iwf _16lm1iw3 _16lm1iwz _16lm1iwx _16lm1iwt _16lm1iwn";
3467
3522
 
3468
3523
  // src/components/InfiniteTable/components/ActiveRowIndicator.css.ts
3469
- var ActiveRowIndicatorCls = { visible: "j26lrx1 j26lrx0 _16lm1iwf _16lm1iw3 _16lm1iwu _16lm1iwv _16lm1iwx", hidden: "j26lrx2 j26lrx0 _16lm1iwf _16lm1iw3 _16lm1iwu _16lm1iwv _16lm1iwx" };
3524
+ var ActiveRowIndicatorCls = { visible: "j26lrx1 j26lrx0 _16lm1iwf _16lm1iw3 _16lm1iww _16lm1iwx _16lm1iwz", hidden: "j26lrx2 j26lrx0 _16lm1iwf _16lm1iw3 _16lm1iww _16lm1iwx _16lm1iwz" };
3470
3525
 
3471
3526
  // src/components/InfiniteTable/components/ActiveRowIndicator.tsx
3472
3527
  var { rootClassName: rootClassName3 } = internalProps;
3473
3528
  var baseCls = `${rootClassName3}-ActiveRowIndicator`;
3529
+ var ActiveStyle = {
3530
+ [stripVar(InternalVars.activeCellOffsetY)]: InternalVars.activeCellRowOffset,
3531
+ transform: `translate3d(0px, calc( ${InternalVars.activeCellOffsetY} + ${InternalVars.scrollTopForActiveRow}), 0px)`,
3532
+ height: InternalVars.activeCellRowHeight
3533
+ };
3474
3534
  var ActiveRowIndicatorFn = (props) => {
3475
3535
  const { brain } = props;
3476
- const [state, setState] = useState3({
3477
- top: 0,
3478
- rowHeight: 0
3479
- });
3480
3536
  const domRef = useRef5(null);
3481
- const stateRef = useRef5(state);
3482
3537
  const active = props.activeRowIndex != null && brain.getRowCount() > props.activeRowIndex;
3483
- const [rerenderId, rerender] = useRerender();
3538
+ const [_rerenderId, rerender] = useRerender();
3484
3539
  useLayoutEffect3(() => {
3485
3540
  if (props.activeRowIndex == null) {
3486
3541
  return;
3487
3542
  }
3488
- setState(stateRef.current = {
3489
- top: brain.getItemOffsetFor(props.activeRowIndex, "vertical"),
3490
- rowHeight: brain.getRowHeight(props.activeRowIndex)
3491
- });
3492
- }, [props.activeRowIndex, rerenderId]);
3543
+ const rowIndex = props.activeRowIndex;
3544
+ const activeCellRowHeight = brain.getRowHeight(rowIndex);
3545
+ const activeCellRowOffset = brain.getItemOffsetFor(rowIndex, "vertical");
3546
+ const node = domRef.current;
3547
+ setInfiniteVarsOnNode({
3548
+ activeCellRowHeight: `${activeCellRowHeight}px`,
3549
+ activeCellRowOffset: `${activeCellRowOffset}px`
3550
+ }, node);
3551
+ }, [props.activeRowIndex]);
3493
3552
  useEffect5(() => {
3494
- const removeOnScroll = brain.onScroll((scrollPos) => {
3495
- const node = domRef.current;
3496
- const topOffset = stateRef.current.top;
3497
- node.style.transform = `translate3d(0px, ${-scrollPos.scrollTop + topOffset}px, 0px)`;
3553
+ const removeOnScroll = brain.onScroll((scrollPosition) => {
3554
+ setInfiniteVarsOnNode({
3555
+ scrollTopForActiveRow: `${-scrollPosition.scrollTop}px`
3556
+ }, domRef.current);
3498
3557
  });
3499
3558
  const removeOnRenderCountChange = brain.onRenderCountChange(rerender);
3500
3559
  return () => {
@@ -3509,10 +3568,7 @@ var ActiveRowIndicatorFn = (props) => {
3509
3568
  ref: domRef,
3510
3569
  "data-name": "active-row-indicator",
3511
3570
  className: `${baseCls} ${active ? ActiveRowIndicatorCls.visible : ActiveRowIndicatorCls.hidden}`,
3512
- style: active ? {
3513
- transform: `translate3d(0px, ${-brain.getScrollPosition().scrollTop + state.top}px,0)`,
3514
- height: state.rowHeight
3515
- } : void 0
3571
+ style: active ? ActiveStyle : void 0
3516
3572
  }));
3517
3573
  };
3518
3574
  var ActiveRowIndicator = memo4(ActiveRowIndicatorFn);
@@ -3525,9 +3581,10 @@ import {
3525
3581
  import { useEffect as useEffect6, useLayoutEffect as useLayoutEffect4, useRef as useRef6 } from "react";
3526
3582
  var { rootClassName: rootClassName4 } = internalProps;
3527
3583
  var baseCls2 = `${rootClassName4}-ActiveCellIndicator`;
3528
- var ActiveStyle = {
3529
- [stripVar(InternalVars.activeCellOffsetX)]: `calc( ${InternalVars.scrollLeftForActiveCell} + ${InternalVars.activeCellColOffset} )`,
3530
- [stripVar(InternalVars.activeCellOffsetY)]: `calc( ${InternalVars.scrollTopForActiveCell} + ${InternalVars.activeCellRowOffset} )`,
3584
+ var columnZIndexAtIndex2 = stripVar(InternalVars.columnZIndexAtIndex);
3585
+ var ActiveStyle2 = {
3586
+ [stripVar(InternalVars.activeCellOffsetX)]: InternalVars.activeCellColOffset,
3587
+ [stripVar(InternalVars.activeCellOffsetY)]: InternalVars.activeCellRowOffset,
3531
3588
  transform: `translate3d(${InternalVars.activeCellOffsetX}, ${InternalVars.activeCellOffsetY}, 0px)`,
3532
3589
  width: InternalVars.activeCellColWidth,
3533
3590
  height: InternalVars.activeCellRowHeight
@@ -3545,37 +3602,30 @@ var ActiveCellIndicatorFn = (props) => {
3545
3602
  const activeCellRowHeight = brain.getRowHeight(rowIndex);
3546
3603
  const activeCellRowOffset = brain.getItemOffsetFor(rowIndex, "vertical");
3547
3604
  const node = domRef.current;
3548
- const scrollPosition = brain.getScrollPosition();
3549
3605
  setInfiniteVarsOnNode({
3550
- scrollTopForActiveCell: `${-scrollPosition.scrollTop}px`,
3551
- scrollLeftForActiveCell: `${-scrollPosition.scrollLeft}px`,
3552
3606
  activeCellRowHeight: `${activeCellRowHeight}px`,
3553
3607
  activeCellRowOffset: `${activeCellRowOffset}px`
3554
3608
  }, node);
3555
3609
  }, [props.activeCellIndex]);
3556
3610
  useEffect6(() => {
3557
- const removeOnSCroll = brain.onScroll((scrollPosition) => {
3558
- setInfiniteVarsOnNode({
3559
- scrollTopForActiveCell: `${-scrollPosition.scrollTop}px`,
3560
- scrollLeftForActiveCell: `${-scrollPosition.scrollLeft}px`
3561
- }, domRef.current);
3562
- });
3563
3611
  const removeOnRenderCountChange = brain.onRenderCountChange(() => {
3564
3612
  rerender();
3565
3613
  });
3566
3614
  return () => {
3567
3615
  removeOnRenderCountChange();
3568
- removeOnSCroll();
3569
3616
  };
3570
3617
  }, [brain]);
3571
3618
  return /* @__PURE__ */ createElement7("div", {
3572
3619
  className: ActiveIndicatorWrapperCls,
3573
- "data-name": "active-cell"
3620
+ "data-name": "active-cell",
3621
+ style: active ? {
3622
+ zIndex: `var(${columnZIndexAtIndex2}-${props.activeCellIndex[1]})`
3623
+ } : void 0
3574
3624
  }, /* @__PURE__ */ createElement7("div", {
3575
3625
  ref: domRef,
3576
3626
  "data-name": "active-cell-indicator",
3577
3627
  className: `${baseCls2} ${active ? ActiveCellIndicatorCls.visible : ActiveCellIndicatorCls.hidden}`,
3578
- style: active ? ActiveStyle : void 0
3628
+ style: active ? ActiveStyle2 : void 0
3579
3629
  }));
3580
3630
  };
3581
3631
  var ActiveCellIndicator = memo5(ActiveCellIndicatorFn);
@@ -3624,7 +3674,7 @@ function HeadlessTable(props) {
3624
3674
  "onRenderUpdater"
3625
3675
  ]);
3626
3676
  const domRef = useRef7(null);
3627
- const [scrollSize, setTotalScrollSize] = useState4({
3677
+ const [scrollSize, setTotalScrollSize] = useState3({
3628
3678
  width: 0,
3629
3679
  height: 0
3630
3680
  });
@@ -3675,12 +3725,12 @@ function HeadlessTable(props) {
3675
3725
  renderCell,
3676
3726
  brain,
3677
3727
  cellHoverClassNames
3678
- })), /* @__PURE__ */ createElement8(ActiveRowIndicator, {
3679
- brain,
3680
- activeRowIndex
3681
3728
  }), /* @__PURE__ */ createElement8(ActiveCellIndicator, {
3682
3729
  brain,
3683
3730
  activeCellIndex
3731
+ })), /* @__PURE__ */ createElement8(ActiveRowIndicator, {
3732
+ brain,
3733
+ activeRowIndex
3684
3734
  }), /* @__PURE__ */ createElement8(SpacePlaceholder, {
3685
3735
  width: scrollSize.width,
3686
3736
  height: scrollSize.height
@@ -3698,7 +3748,7 @@ import {
3698
3748
  createContext as createContext2,
3699
3749
  useMemo as useMemo3,
3700
3750
  useEffect as useEffect8,
3701
- useState as useState5,
3751
+ useState as useState4,
3702
3752
  useRef as useRef10
3703
3753
  } from "react";
3704
3754
 
@@ -3836,14 +3886,14 @@ function forwardProps(propsToForward, props) {
3836
3886
  function getComponentStateRoot(config) {
3837
3887
  return memo6(function ComponentStateRoot(props) {
3838
3888
  var _a, _b;
3839
- const [initialSetupState] = useState5(() => {
3889
+ const [initialSetupState] = useState4(() => {
3840
3890
  return config.initSetupState ? config.initSetupState() : {};
3841
3891
  });
3842
3892
  const propsToStateSetRef = useRef10(new Set());
3843
3893
  const propsToForward = useMemo3(() => config.forwardProps ? config.forwardProps(initialSetupState) : {}, [initialSetupState]);
3844
3894
  const parentState = (_b = (_a = config.getParentState) == null ? void 0 : _a.call(config)) != null ? _b : null;
3845
3895
  const getParentState = useLatest(parentState);
3846
- const [wholeState] = useState5(() => {
3896
+ const [wholeState] = useState4(() => {
3847
3897
  let mappedState = {};
3848
3898
  if (propsToForward) {
3849
3899
  mappedState = forwardProps(propsToForward, props);
@@ -4012,20 +4062,20 @@ var useInternalProps = () => {
4012
4062
  };
4013
4063
 
4014
4064
  // src/components/InfiniteTable/utilities.css.ts
4015
- var alignItems = { center: "_16lm1iw15", stretch: "_16lm1iw16" };
4016
- var cssEllipsisClassName = "_16lm1iw1e _16lm1iw1f _16lm1iw1a";
4065
+ var alignItems = { center: "_16lm1iw17", stretch: "_16lm1iw18" };
4066
+ var cssEllipsisClassName = "_16lm1iw1g _16lm1iw1h _16lm1iw1c";
4017
4067
  var cursor = { pointer: "_16lm1iwd", colResize: "_16lm1iwe" };
4018
- var display = { flex: "_16lm1iwn", block: "_16lm1iwo", inlineBlock: "_16lm1iwp" };
4068
+ var display = { flex: "_16lm1iwp", block: "_16lm1iwq", inlineBlock: "_16lm1iwr" };
4019
4069
  var flex = { "1": "_16lm1iwg", none: "_16lm1iwh" };
4020
- var flexFlow = { column: "_16lm1iw13", row: "_16lm1iw14" };
4021
- var justifyContent = { center: "_16lm1iw17", start: "_16lm1iw18", end: "_16lm1iw19" };
4022
- var left = { "0": "_16lm1iwx", "100%": "_16lm1iwy" };
4023
- var overflow = { hidden: "_16lm1iw1a", auto: "_16lm1iw1b", visible: "_16lm1iw1c" };
4070
+ var flexFlow = { column: "_16lm1iw15", row: "_16lm1iw16" };
4071
+ var justifyContent = { center: "_16lm1iw19", start: "_16lm1iw1a", end: "_16lm1iw1b" };
4072
+ var left = { "0": "_16lm1iwz", "100%": "_16lm1iw10" };
4073
+ var overflow = { hidden: "_16lm1iw1c", auto: "_16lm1iw1d", visible: "_16lm1iw1e" };
4024
4074
  var position = { relative: "_16lm1iw1", absolute: "_16lm1iw2", sticky: "_16lm1iw3", fixed: "_16lm1iw4" };
4025
- var top = { "0": "_16lm1iwv", "100%": "_16lm1iww" };
4075
+ var top = { "0": "_16lm1iwx", "100%": "_16lm1iwy" };
4026
4076
  var transformTranslateZero = "_16lm1iwa";
4027
- var userSelect = { none: "_16lm1iwq" };
4028
- var zIndex = { "1": "_16lm1iwi", "10": "_16lm1iwj", "1000": "_16lm1iwk", "10000": "_16lm1iwl", "100000": "_16lm1iwm" };
4077
+ var userSelect = { none: "_16lm1iws" };
4078
+ var zIndex = { "1": "_16lm1iwi", "10": "_16lm1iwj", "1000": "_16lm1iwk", "10000": "_16lm1iwl", "100000": "_16lm1iwm", "1000000": "_16lm1iwn", "10000000": "_16lm1iwo" };
4029
4079
 
4030
4080
  // src/components/InfiniteTable/components/InfiniteTableBody/InfiniteTableBody.tsx
4031
4081
  var InfiniteTableBody = forwardRef2(function InfiniteTableBody2(props, ref) {
@@ -4058,7 +4108,7 @@ import {
4058
4108
  createElement as createElement16,
4059
4109
  useMemo as useMemo5
4060
4110
  } from "react";
4061
- import { useCallback as useCallback8, useContext as useContext5, useEffect as useEffect11, useRef as useRef13 } from "react";
4111
+ import { useCallback as useCallback8, useContext as useContext4, useEffect as useEffect11, useRef as useRef12 } from "react";
4062
4112
  import { createPortal } from "react-dom";
4063
4113
 
4064
4114
  // src/components/DataSource/defaultFilterTypes.ts
@@ -4162,12 +4212,7 @@ function useCellClassName(column, baseClasses, variants, extraFlags) {
4162
4212
 
4163
4213
  // src/components/InfiniteTable/hooks/useColumnPointerEvents.ts
4164
4214
  var import_binary_search2 = __toModule(require_binary_search());
4165
- import {
4166
- useCallback as useCallback6,
4167
- useMemo as useMemo4,
4168
- useRef as useRef11,
4169
- useState as useState6
4170
- } from "react";
4215
+ import { useCallback as useCallback6, useMemo as useMemo4, useState as useState5 } from "react";
4171
4216
 
4172
4217
  // src/components/InfiniteTable/hooks/useInfiniteTable.ts
4173
4218
  import { useContext as useContext3 } from "react";
@@ -4205,120 +4250,297 @@ var moveXatY = (arr, dragIndex, dropIndex) => {
4205
4250
  return arr;
4206
4251
  };
4207
4252
 
4253
+ // src/components/InfiniteTable/InfiniteCls.css.ts
4254
+ var import_createRuntimeFn = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
4255
+ var FooterCls = "_16lm1iw1";
4256
+ var InfiniteCls = "_1yeub2v0 _16lm1iw1 _16lm1iwp _16lm1iw15 _16lm1iw0";
4257
+ var InfiniteClsRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "", variantClassNames: { focused: { true: "_1yeub2v2", false: "_1yeub2v3" }, focusedWithin: { true: "_1yeub2v4", false: "_1yeub2v5" }, hasPinnedStart: { true: "_1yeub2v6", false: "_1yeub2v7" }, hasPinnedEnd: { true: "_1yeub2v8", false: "_1yeub2v9" }, hasPinnedStartOverflow: { true: "_1yeub2va", false: "_1yeub2vb" }, hasPinnedEndOverflow: { true: "_1yeub2vc", false: "_1yeub2vd" } }, defaultVariants: {}, compoundVariants: [[{ focused: false, focusedWithin: false }, "_1yeub2ve"]] });
4258
+ var InfiniteClsShiftingColumns = "_1yeub2vl";
4259
+ var PinnedRowsContainerClsVariants = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "", variantClassNames: { pinned: { start: "_1yeub2vi", end: "_1yeub2vj", false: "_1yeub2vk" } }, defaultVariants: {}, compoundVariants: [] });
4260
+
4261
+ // src/components/InfiniteTable/utils/rafFn.ts
4262
+ var rafFn = (fn) => {
4263
+ let rafId = 0;
4264
+ return (...args) => {
4265
+ if (rafId) {
4266
+ cancelAnimationFrame(rafId);
4267
+ }
4268
+ rafId = requestAnimationFrame(() => {
4269
+ rafId = 0;
4270
+ fn(...args);
4271
+ });
4272
+ };
4273
+ };
4274
+
4275
+ // src/components/InfiniteTable/hooks/useDOMProps.ts
4276
+ var columnWidthAtIndex2 = stripVar(InternalVars.columnWidthAtIndex);
4277
+ var columnOffsetAtIndex3 = stripVar(InternalVars.columnOffsetAtIndex);
4278
+ var columnZIndexAtIndex3 = stripVar(InternalVars.columnZIndexAtIndex);
4279
+ var activeCellColWidth = stripVar(InternalVars.activeCellColWidth);
4280
+ var activeCellColOffset = stripVar(InternalVars.activeCellColOffset);
4281
+ var baseZIndexForCells = stripVar(InternalVars.baseZIndexForCells);
4282
+ var computedVisibleColumnsCountCSSVar = stripVar(InternalVars.computedVisibleColumnsCount);
4283
+ function getColumnZIndex(col, params) {
4284
+ let computedZIndex = "auto";
4285
+ const index = col.computedVisibleIndex;
4286
+ if (col.computedPinned) {
4287
+ if (col.computedPinned === "start") {
4288
+ computedZIndex = params.pinnedStartColsCount - col.computedVisibleIndexInCategory;
4289
+ } else if (col.computedPinned === "end") {
4290
+ computedZIndex = params.visibleColsCount - col.computedVisibleIndexInCategory;
4291
+ }
4292
+ } else {
4293
+ computedZIndex = -index * 10;
4294
+ }
4295
+ const zIndexValue = typeof computedZIndex === "number" ? `calc( var(${baseZIndexForCells}) ` + (computedZIndex < 0 ? "-" : "+") + ` ${Math.abs(computedZIndex)} )` : "auto";
4296
+ return zIndexValue;
4297
+ }
4298
+ function useDOMProps(initialDOMProps) {
4299
+ const { computed, componentState, componentActions } = useInfiniteTable();
4300
+ const {
4301
+ focused,
4302
+ focusedWithin,
4303
+ domRef,
4304
+ onBlurWithin,
4305
+ onFocusWithin,
4306
+ onSelfFocus,
4307
+ onSelfBlur,
4308
+ activeCellIndex
4309
+ } = componentState;
4310
+ const {
4311
+ computedPinnedStartColumnsWidth,
4312
+ computedPinnedEndColumnsWidth,
4313
+ computedPinnedStartColumns,
4314
+ computedVisibleColumns
4315
+ } = computed;
4316
+ const cssVars = computedVisibleColumns.reduce((vars, col) => {
4317
+ const index = col.computedVisibleIndex;
4318
+ vars[`${columnWidthAtIndex2}-${index}`] = col.computedWidth + "px";
4319
+ vars[`${columnOffsetAtIndex3}-${index}`] = col.computedOffset + "px";
4320
+ const zIndexValue = getColumnZIndex(col, {
4321
+ pinnedStartColsCount: computedPinnedStartColumns.length,
4322
+ visibleColsCount: computedVisibleColumns.length
4323
+ });
4324
+ vars[`${columnZIndexAtIndex3}-${index}`] = `${zIndexValue}`;
4325
+ return vars;
4326
+ }, {});
4327
+ if (activeCellIndex != null) {
4328
+ cssVars[activeCellColWidth] = `var(${getCSSVarNameForColWidth(activeCellIndex[1])})`;
4329
+ cssVars[activeCellColOffset] = `var(${getCSSVarNameForColOffset(activeCellIndex[1])})`;
4330
+ }
4331
+ cssVars[computedVisibleColumnsCountCSSVar] = computedVisibleColumns.length;
4332
+ cssVars[baseZIndexForCells] = computedVisibleColumns.length * 10;
4333
+ const setFocused = rafFn((focused2) => {
4334
+ componentActions.focused = focused2;
4335
+ });
4336
+ const setFocusedWithin = rafFn((focused2) => {
4337
+ componentActions.focusedWithin = focused2;
4338
+ });
4339
+ const onFocus = (event) => {
4340
+ var _a;
4341
+ (_a = initialDOMProps == null ? void 0 : initialDOMProps.onFocus) == null ? void 0 : _a.call(initialDOMProps, event);
4342
+ if (event.target === domRef.current) {
4343
+ setFocused(true);
4344
+ onSelfFocus == null ? void 0 : onSelfFocus(event);
4345
+ if (focusedWithin) {
4346
+ setFocusedWithin(false);
4347
+ onBlurWithin == null ? void 0 : onBlurWithin(event);
4348
+ }
4349
+ } else {
4350
+ if (!focusedWithin) {
4351
+ setFocusedWithin(true);
4352
+ onFocusWithin == null ? void 0 : onFocusWithin(event);
4353
+ }
4354
+ }
4355
+ };
4356
+ const onBlur = (event) => {
4357
+ var _a, _b;
4358
+ (_a = initialDOMProps == null ? void 0 : initialDOMProps.onBlur) == null ? void 0 : _a.call(initialDOMProps, event);
4359
+ if (event.target === domRef.current) {
4360
+ setFocused(false);
4361
+ onSelfBlur == null ? void 0 : onSelfBlur(event);
4362
+ if (focusedWithin) {
4363
+ setFocusedWithin(false);
4364
+ onBlurWithin == null ? void 0 : onBlurWithin(event);
4365
+ }
4366
+ } else {
4367
+ const contained = (_b = domRef.current) == null ? void 0 : _b.contains(event.relatedTarget);
4368
+ if (!contained) {
4369
+ setFocusedWithin(false);
4370
+ onBlurWithin == null ? void 0 : onBlurWithin(event);
4371
+ }
4372
+ }
4373
+ };
4374
+ const domProps = __spreadProps(__spreadValues({
4375
+ tabIndex: 0
4376
+ }, initialDOMProps), {
4377
+ onFocus,
4378
+ onBlur
4379
+ });
4380
+ const className = join(InfiniteTableClassName, InfiniteCls, domProps == null ? void 0 : domProps.className, computedPinnedStartColumnsWidth ? `${InfiniteTableClassName}--has-pinned-start` : null, computedPinnedEndColumnsWidth ? `${InfiniteTableClassName}--has-pinned-end` : null, focused ? `${InfiniteTableClassName}--focused` : null, focusedWithin ? `${InfiniteTableClassName}--focused-within` : null, focused && componentState.focusedClassName ? componentState.focusedClassName : null, focusedWithin && componentState.focusedWithinClassName ? componentState.focusedWithinClassName : null, computed.computedPinnedStartOverflow ? `${InfiniteTableClassName}--has-pinned-start-overflow` : null, computed.computedPinnedEndOverflow ? `${InfiniteTableClassName}--has-pinned-end-overflow` : null, InfiniteClsRecipe({
4381
+ hasPinnedStart: !!computedPinnedStartColumnsWidth,
4382
+ hasPinnedEnd: !!computedPinnedEndColumnsWidth,
4383
+ focused,
4384
+ focusedWithin
4385
+ }));
4386
+ domProps.className = className;
4387
+ domProps.style = __spreadValues(__spreadValues({}, initialDOMProps == null ? void 0 : initialDOMProps.style), cssVars);
4388
+ if (focused) {
4389
+ if (componentState.focusedStyle) {
4390
+ Object.assign(domProps.style, componentState.focusedStyle);
4391
+ }
4392
+ }
4393
+ if (focusedWithin) {
4394
+ if (componentState.focusedWithinStyle) {
4395
+ Object.assign(domProps.style, componentState.focusedWithinStyle);
4396
+ }
4397
+ }
4398
+ return domProps;
4399
+ }
4400
+
4208
4401
  // src/components/InfiniteTable/hooks/useColumnPointerEvents.ts
4402
+ var columnOffsetAtIndex4 = stripVar(InternalVars.columnOffsetAtIndex);
4403
+ var columnWidthAtIndex3 = stripVar(InternalVars.columnWidthAtIndex);
4404
+ var PROXY_OFFSET = 10;
4209
4405
  var getBreakPoints = (columns) => {
4210
4406
  return Array.from(columns.values()).map((c) => {
4211
4407
  return {
4212
4408
  columnId: c.id,
4213
4409
  breakpoint: c.computedAbsoluteOffset + Math.round(c.computedWidth / 2)
4214
4410
  };
4215
- });
4411
+ }).filter(Boolean);
4216
4412
  };
4217
4413
  var useColumnPointerEvents = ({
4218
4414
  columnId,
4219
4415
  domRef,
4220
4416
  columns,
4221
- computedRemainingSpace
4417
+ computedRemainingSpace,
4418
+ pinnedStartColsCount,
4419
+ visibleColsCount
4222
4420
  }) => {
4223
- const [draggingDiff, setDraggingDiff] = useState6(null);
4224
- const [proxyOffset, setProxyOffset] = useState6(null);
4225
- const breakpointsRef = useRef11([]);
4226
- const didDragRef = useRef11(false);
4227
- const initialClientPos = useRef11(null);
4228
- const currentDropIndexRef = useRef11(null);
4229
- const dragging = draggingDiff != null;
4230
- const { componentActions, computed } = useInfiniteTable();
4421
+ const [proxyPosition, setProxyPosition] = useState5(null);
4422
+ const dragging = proxyPosition != null;
4423
+ const {
4424
+ componentActions,
4425
+ computed,
4426
+ componentState: { domRef: rootRef, brain }
4427
+ } = useInfiniteTable();
4231
4428
  const { computedColumnOrder } = computed;
4232
4429
  const column = useMemo4(() => columns.get(columnId), [columnId, columns]);
4233
- const { columnIndex, columnWidth, columnsArray } = useMemo4(() => {
4430
+ const { dragColumnIndex, columnsArray } = useMemo4(() => {
4234
4431
  const columnsArray2 = Array.from(columns.values());
4432
+ const columnIndex = columnsArray2.findIndex((c) => c.id === columnId);
4235
4433
  return {
4236
4434
  columnsArray: columnsArray2,
4237
- columnIndex: columnsArray2.findIndex((c) => c.id === columnId),
4238
- columnWidth: column.computedWidth
4435
+ dragColumnIndex: columnIndex,
4436
+ columnWidth: column.computedWidth,
4437
+ columnOffsetVar: `var(${columnOffsetAtIndex4}-${column.computedVisibleIndex})`
4239
4438
  };
4240
4439
  }, [columns, columnId, column]);
4241
- let cursorRef = useRef11("auto");
4242
4440
  const onPointerDown = useCallback6((e) => {
4441
+ var _a;
4442
+ let breakpoints = [];
4243
4443
  const target = domRef.current;
4244
- cursorRef.current = target.style.cursor;
4245
- didDragRef.current = false;
4246
- initialClientPos.current = {
4247
- clientX: e.clientX,
4248
- clientY: e.clientY
4249
- };
4444
+ const initialClientPos = {
4445
+ clientX: Math.round(e.clientX),
4446
+ clientY: Math.round(e.clientY)
4447
+ };
4448
+ const initialScrollPosition2 = brain.getScrollPosition();
4449
+ const initialProxyPosition = {
4450
+ left: PROXY_OFFSET - initialScrollPosition2.scrollLeft,
4451
+ top: PROXY_OFFSET
4452
+ };
4453
+ let currentClientPos = initialClientPos;
4454
+ let currentDiff = {
4455
+ x: 0,
4456
+ y: 0
4457
+ };
4458
+ function updateColumnOffsets(pos) {
4459
+ const clientX = Math.round(pos.clientX);
4460
+ const clientY = Math.round(pos.clientY);
4461
+ if (clientX === currentClientPos.clientX && clientY === currentClientPos.clientY) {
4462
+ return;
4463
+ }
4464
+ currentClientPos = { clientX, clientY };
4465
+ currentDiff.x = currentClientPos.clientX - initialClientPos.clientX;
4466
+ currentDiff.y = currentClientPos.clientY - initialClientPos.clientY;
4467
+ setProxyPosition({
4468
+ left: initialProxyPosition.left + currentDiff.x,
4469
+ top: initialProxyPosition.top + currentDiff.y
4470
+ });
4471
+ }
4472
+ updateColumnOffsets(initialClientPos);
4473
+ let initialCursor = (_a = target.style.cursor) != null ? _a : "auto";
4474
+ let didDragAtLeastOnce = false;
4475
+ let currentDropIndex = dragColumnIndex;
4250
4476
  const onPointerMove = (e2) => {
4251
- if (!didDragRef.current) {
4252
- didDragRef.current = true;
4253
- breakpointsRef.current = getBreakPoints(columns);
4254
- setDraggingDiff({ top: 0, left: 0 });
4255
- const rect = target.getBoundingClientRect();
4256
- setProxyOffset({
4257
- left: e2.clientX - rect.x - 10,
4258
- top: e2.clientY - rect.y - 10
4259
- });
4477
+ var _a2;
4478
+ if (!didDragAtLeastOnce) {
4479
+ didDragAtLeastOnce = true;
4480
+ componentActions.columnReorderInProgress = true;
4481
+ breakpoints = getBreakPoints(columns);
4482
+ setInfiniteColumnZIndex(dragColumnIndex, 1e6, rootRef.current);
4483
+ (_a2 = rootRef.current) == null ? void 0 : _a2.classList.add(InfiniteClsShiftingColumns);
4260
4484
  target.style.cursor = "grabbing";
4261
4485
  }
4262
- const diffX = e2.clientX - initialClientPos.current.clientX;
4263
- const diffY = e2.clientY - initialClientPos.current.clientY;
4486
+ updateColumnOffsets(e2);
4487
+ const diffX = currentDiff.x;
4264
4488
  const dir = diffX < 0 ? -1 : 1;
4265
- const columnPinned = column.computedPinned;
4266
4489
  let currentPos = dir === -1 ? column.computedAbsoluteOffset + diffX : column.computedAbsoluteOffset + column.computedWidth + diffX;
4267
- const breakpoints = breakpointsRef.current;
4268
- let index = (0, import_binary_search2.default)(breakpoints, currentPos, ({ breakpoint }, value) => {
4490
+ let idx = (0, import_binary_search2.default)(breakpoints, currentPos, ({ breakpoint }, value) => {
4269
4491
  return breakpoint < value ? -1 : breakpoint > value ? 1 : 0;
4270
4492
  });
4271
- if (index < 0) {
4272
- index = ~index;
4273
- }
4274
- if (index !== currentDropIndexRef.current) {
4275
- currentDropIndexRef.current = index;
4276
- const shifts = columnsArray.map(() => 0);
4277
- let total = 0;
4278
- if (dir === -1) {
4279
- for (let i = index; i < columnIndex; i++) {
4280
- let shiftBy = columnWidth;
4281
- if (columnPinned === "end" && columnsArray[i].computedPinned === false && columnsArray[i].computedLastInCategory && computedRemainingSpace > 0) {
4282
- shiftBy += computedRemainingSpace;
4283
- }
4284
- shifts[i] = shiftBy;
4285
- total -= shiftBy;
4493
+ if (idx < 0) {
4494
+ idx = ~idx;
4495
+ }
4496
+ if (idx !== currentDropIndex) {
4497
+ currentDropIndex = idx;
4498
+ if (dir === 1 && currentDropIndex === dragColumnIndex + 1) {
4499
+ currentDropIndex = dragColumnIndex;
4500
+ }
4501
+ columnsArray.forEach((col) => {
4502
+ const colIndex = col.computedVisibleIndex;
4503
+ if (dir === -1) {
4504
+ let newPosition = colIndex === dragColumnIndex ? `var(${columnOffsetAtIndex4}-${currentDropIndex})` : colIndex < currentDropIndex || colIndex > dragColumnIndex ? `var(${columnOffsetAtIndex4}-${colIndex})` : `calc( var(${columnOffsetAtIndex4}-${colIndex}) + var(${columnWidthAtIndex3}-${dragColumnIndex}) )`;
4505
+ setInfiniteColumnOffsetWhileReordering(colIndex, newPosition, rootRef.current);
4506
+ return;
4286
4507
  }
4287
- } else {
4288
- for (let i = columnIndex + 1; i < index; i++) {
4289
- shifts[i] = -columnWidth;
4290
- total += columnWidth;
4508
+ if (dir === 1) {
4509
+ let newPosition = colIndex < dragColumnIndex || colIndex >= currentDropIndex ? `var(${columnOffsetAtIndex4}-${colIndex})` : colIndex === dragColumnIndex ? `calc( var(${columnOffsetAtIndex4}-${currentDropIndex - 1}) + var(${columnWidthAtIndex3}-${currentDropIndex - 1}) - var(${columnWidthAtIndex3}-${dragColumnIndex}) )` : `calc( var(${columnOffsetAtIndex4}-${colIndex}) - var(${columnWidthAtIndex3}-${dragColumnIndex}) )`;
4510
+ setInfiniteColumnOffsetWhileReordering(colIndex, newPosition, rootRef.current);
4511
+ return;
4291
4512
  }
4292
- }
4293
- if (index !== columnIndex) {
4294
- shifts[columnIndex] = total;
4295
- }
4296
- componentActions.columnShifts = shifts;
4297
- componentActions.draggingColumnId = column.id;
4513
+ });
4298
4514
  }
4299
- setDraggingDiff({ left: diffX, top: diffY });
4300
4515
  };
4301
4516
  const onPointerUp = (e2) => {
4517
+ var _a2;
4302
4518
  const target2 = domRef.current;
4303
- target2.style.cursor = cursorRef.current;
4519
+ (_a2 = rootRef.current) == null ? void 0 : _a2.classList.remove(InfiniteClsShiftingColumns);
4520
+ columnsArray.forEach((col) => {
4521
+ setInfiniteColumnOffsetWhileReordering(col.computedVisibleIndex, "", rootRef.current);
4522
+ });
4523
+ setInfiniteColumnZIndex(dragColumnIndex, getColumnZIndex(column, {
4524
+ pinnedStartColsCount,
4525
+ visibleColsCount
4526
+ }), rootRef.current);
4527
+ target2.style.cursor = initialCursor;
4304
4528
  target2.releasePointerCapture(e2.pointerId);
4305
4529
  target2.removeEventListener("pointermove", onPointerMove);
4306
4530
  target2.removeEventListener("pointerup", onPointerUp);
4307
- setDraggingDiff(null);
4308
- componentActions.columnShifts = null;
4309
- componentActions.draggingColumnId = null;
4310
- if (!didDragRef.current && column.computedSortable) {
4531
+ setProxyPosition(null);
4532
+ if (!didDragAtLeastOnce && column.computedSortable) {
4311
4533
  column.toggleSort();
4312
4534
  }
4313
- const dropIndex = currentDropIndexRef.current;
4314
- if (dropIndex != null && dropIndex !== columnIndex) {
4315
- const newOrder = moveXatY(computedColumnOrder, columnIndex, dropIndex > columnIndex ? dropIndex - 1 : dropIndex);
4535
+ if (currentDropIndex != null && currentDropIndex !== dragColumnIndex) {
4536
+ const newOrder = moveXatY(computedColumnOrder, dragColumnIndex, currentDropIndex > dragColumnIndex ? currentDropIndex - 1 : currentDropIndex);
4537
+ columnsArray.forEach((col) => {
4538
+ setInfiniteColumnOffsetWhileReordering(col.computedVisibleIndex, "", rootRef.current);
4539
+ });
4316
4540
  componentActions.columnOrder = newOrder;
4317
4541
  }
4318
- breakpointsRef.current = [];
4319
- didDragRef.current = false;
4320
- initialClientPos.current = null;
4321
- currentDropIndexRef.current = null;
4542
+ componentActions.columnReorderInProgress = false;
4543
+ breakpoints = [];
4322
4544
  };
4323
4545
  target.addEventListener("pointermove", onPointerMove);
4324
4546
  target.addEventListener("pointerup", onPointerUp);
@@ -4326,7 +4548,9 @@ var useColumnPointerEvents = ({
4326
4548
  }, [
4327
4549
  columns,
4328
4550
  column,
4329
- columnIndex,
4551
+ dragColumnIndex,
4552
+ visibleColsCount,
4553
+ pinnedStartColsCount,
4330
4554
  columnsArray,
4331
4555
  computedRemainingSpace,
4332
4556
  computedColumnOrder
@@ -4335,8 +4559,7 @@ var useColumnPointerEvents = ({
4335
4559
  onPointerDown: column.computedDraggable ? onPointerDown : () => {
4336
4560
  },
4337
4561
  dragging,
4338
- proxyOffset,
4339
- draggingDiff: draggingDiff != null ? draggingDiff : { top: 0, left: 0 }
4562
+ proxyPosition
4340
4563
  };
4341
4564
  };
4342
4565
 
@@ -4386,23 +4609,23 @@ function NumberFilterEditor(props) {
4386
4609
  import {
4387
4610
  createElement as createElement12
4388
4611
  } from "react";
4389
- import { useEffect as useEffect9, useState as useState7 } from "react";
4612
+ import { useEffect as useEffect9, useState as useState6 } from "react";
4390
4613
 
4391
4614
  // src/components/InfiniteTable/components/InfiniteTableHeader/header.css.ts
4392
- var import_createRuntimeFn = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
4393
- var CellCls = "_1eexc2a5 _16lm1iwn _16lm1iw14 _16lm1iw15 _16lm1iw2 _16lm1iw1d _16lm1iw1e";
4394
- var HeaderCellContentRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_12zfob117 _16lm1iws _16lm1iwu _16lm1iwn _16lm1iw14 _16lm1iw15", variantClassNames: { filtered: { false: "_12zfob118", true: "_12zfob119" } }, defaultVariants: {}, compoundVariants: [] });
4395
- var HeaderCellProxy = "_12zfob10";
4396
- var HeaderCellRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_12zfob1h _16lm1iwo", variantClassNames: { rowActive: { false: "_12zfob1i", true: "_12zfob1j" }, zebra: { false: "_12zfob1k", even: "_12zfob1l", odd: "_12zfob1m" }, dragging: { true: "_12zfob1n", false: "_12zfob1o" }, first: { true: "_12zfob1p", false: "_12zfob1q" }, last: { true: "_12zfob1r", false: "_12zfob1s" }, groupByField: { true: "_12zfob1t", false: "_12zfob1u" }, firstInCategory: { true: "_12zfob1v", false: "_12zfob1w" }, lastInCategory: { true: "_12zfob1x", false: "_12zfob1y" }, pinned: { start: "_12zfob1z", end: "_12zfob110", false: "_12zfob111" }, filtered: { true: "_12zfob112", false: "_12zfob113" } }, defaultVariants: {}, compoundVariants: [[{ pinned: "start", lastInCategory: true }, "_12zfob114"], [{ pinned: "end", firstInCategory: true }, "_12zfob115"], [{ pinned: false, lastInCategory: true }, "_12zfob116"]] });
4397
- var HeaderClsRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_12zfob17 _16lm1iwo _16lm1iw2", variantClassNames: { pinned: { start: "_12zfob18", end: "_12zfob19", false: "_12zfob1a" }, virtualized: { true: "_12zfob1b", false: "_12zfob1c" }, overflow: { true: "_12zfob1d", false: "_12zfob1e" } }, defaultVariants: {}, compoundVariants: [[{ overflow: true, pinned: "start" }, "_12zfob1f"], [{ overflow: true, pinned: "end" }, "_12zfob1g"]] });
4398
- var HeaderFilterCls = "_12zfob11c _16lm1iwn _16lm1iw14 _16lm1iw15 _16lm1iw1";
4399
- var HeaderFilterEditorCls = "_16lm1iwu _16lm1iws";
4400
- var HeaderGroupCls = "_12zfob11b _16lm1iwn _16lm1iw14 _16lm1iw15";
4401
- var HeaderScrollbarPlaceholderCls = "_12zfob16 _16lm1iw2";
4615
+ var import_createRuntimeFn2 = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
4616
+ var CellCls = "_1eexc2a5 _16lm1iwp _16lm1iw16 _16lm1iw17 _16lm1iw2 _16lm1iw1f _16lm1iw1g";
4617
+ var HeaderCellContentRecipe = (0, import_createRuntimeFn2.createRuntimeFn)({ defaultClassName: "_12zfob117 _16lm1iwu _16lm1iww _16lm1iwp _16lm1iw16 _16lm1iw17", variantClassNames: { filtered: { false: "_12zfob118", true: "_12zfob119" } }, defaultVariants: {}, compoundVariants: [] });
4618
+ var HeaderCellProxy = "_12zfob1g _16lm1iw1g _16lm1iw1h _16lm1iw1c";
4619
+ var HeaderCellRecipe = (0, import_createRuntimeFn2.createRuntimeFn)({ defaultClassName: "_12zfob1h _16lm1iwq", variantClassNames: { rowActive: { false: "_12zfob1i", true: "_12zfob1j" }, zebra: { false: "_12zfob1k", even: "_12zfob1l", odd: "_12zfob1m" }, dragging: { true: "_12zfob1n", false: "_12zfob1o" }, first: { true: "_12zfob1p", false: "_12zfob1q" }, last: { true: "_12zfob1r", false: "_12zfob1s" }, groupByField: { true: "_12zfob1t", false: "_12zfob1u" }, firstInCategory: { true: "_12zfob1v", false: "_12zfob1w" }, lastInCategory: { true: "_12zfob1x", false: "_12zfob1y" }, pinned: { start: "_12zfob1z", end: "_12zfob110", false: "_12zfob111" }, filtered: { true: "_12zfob112", false: "_12zfob113" } }, defaultVariants: {}, compoundVariants: [[{ pinned: "start", lastInCategory: true }, "_12zfob114"], [{ pinned: "end", firstInCategory: true }, "_12zfob115"], [{ pinned: false, lastInCategory: true }, "_12zfob116"]] });
4620
+ var HeaderClsRecipe = (0, import_createRuntimeFn2.createRuntimeFn)({ defaultClassName: "_12zfob16 _16lm1iwq _16lm1iw2", variantClassNames: { pinned: { start: "_12zfob17", end: "_12zfob18", false: "_12zfob19" }, virtualized: { true: "_12zfob1a", false: "_12zfob1b" }, overflow: { true: "_12zfob1c", false: "_12zfob1d" } }, defaultVariants: {}, compoundVariants: [[{ overflow: true, pinned: "start" }, "_12zfob1e"], [{ overflow: true, pinned: "end" }, "_12zfob1f"]] });
4621
+ var HeaderFilterCls = "_12zfob11c _16lm1iwp _16lm1iw16 _16lm1iw17 _16lm1iw1";
4622
+ var HeaderFilterEditorCls = "_16lm1iww _16lm1iwu";
4623
+ var HeaderGroupCls = "_12zfob11b _16lm1iwp _16lm1iw16 _16lm1iw17";
4624
+ var HeaderScrollbarPlaceholderCls = "_12zfob15 _16lm1iw2";
4402
4625
  var HeaderSortIconCls = "_16lm1iw1";
4403
- var HeaderSortIconIndexCls = "_12zfob15";
4404
- var HeaderSortIconRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "", variantClassNames: { align: { start: "_12zfob12", center: "_12zfob13", end: "_12zfob14" } }, defaultVariants: {}, compoundVariants: [] });
4405
- var HeaderWrapperCls = "_12zfob11a _16lm1iw1a _16lm1iw1 _16lm1iwn _16lm1iw14";
4626
+ var HeaderSortIconIndexCls = "_12zfob14";
4627
+ var HeaderSortIconRecipe = (0, import_createRuntimeFn2.createRuntimeFn)({ defaultClassName: "", variantClassNames: { align: { start: "_12zfob11", center: "_12zfob12", end: "_12zfob13" } }, defaultVariants: {}, compoundVariants: [] });
4628
+ var HeaderWrapperCls = "_12zfob11a _16lm1iw1c _16lm1iw1 _16lm1iwp _16lm1iw16";
4406
4629
 
4407
4630
  // src/components/InfiniteTable/components/icons/SortIcon.tsx
4408
4631
  var defaultLineStyle = {
@@ -4413,8 +4636,8 @@ var defaultLineStyle = {
4413
4636
  var InfiniteTableIconClassName = "InfiniteTableIcon";
4414
4637
  function SortIcon(props) {
4415
4638
  var _a;
4416
- const [rendered, setRendered] = useState7(true);
4417
- const [opacity, setOpacity] = useState7(0);
4639
+ const [rendered, setRendered] = useState6(true);
4640
+ const [opacity, setOpacity] = useState6(0);
4418
4641
  const { direction, lineWidth = 1, style, className, index } = props;
4419
4642
  const showIndex = index != null && index > 0;
4420
4643
  const size = (_a = props.size) != null ? _a : 16;
@@ -4482,25 +4705,16 @@ import {
4482
4705
  memo as memo7
4483
4706
  } from "react";
4484
4707
 
4485
- // src/components/InfiniteTable/hooks/useInfiniteTableState.ts
4486
- import { useContext as useContext4 } from "react";
4487
- var useInfiniteTableState = () => {
4488
- const TableContext2 = getInfiniteTableContext();
4489
- const { componentState } = useContext4(TableContext2);
4490
- return componentState;
4491
- };
4492
-
4493
4708
  // src/components/InfiniteTable/components/cell.css.ts
4494
- var import_createRuntimeFn2 = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
4495
- var CellClsVariants = { shifting: "_1eexc2a3", dragging: "_1eexc2a4" };
4496
- var ColumnCellCls = "_1eexc2a5 _16lm1iwn _16lm1iw14 _16lm1iw15 _16lm1iw2 _16lm1iw1d _16lm1iw1e";
4497
- var ColumnCellRecipe = (0, import_createRuntimeFn2.createRuntimeFn)({ defaultClassName: "_1eexc2a7", variantClassNames: { dragging: { false: "_1eexc2a8", true: "_1eexc2a9" }, rowActive: { false: "_1eexc2aa", true: "_1eexc2ab" }, zebra: { false: "_1eexc2ac", even: "_1eexc2ad", odd: "_1eexc2ae" }, first: { true: "_1eexc2af", false: "_1eexc2ag" }, last: { true: "_1eexc2ah", false: "_1eexc2ai" }, groupByField: { true: "_1eexc2aj", false: "_1eexc2ak" }, firstInCategory: { true: "_1eexc2al", false: "_1eexc2am" }, lastInCategory: { true: "_1eexc2an", false: "_1eexc2ao" }, pinned: { start: "_1eexc2ap", end: "_1eexc2aq", false: "_1eexc2ar" }, filtered: { true: "_1eexc2as", false: "_1eexc2at" } }, defaultVariants: {}, compoundVariants: [[{ pinned: "start", lastInCategory: true }, "_1eexc2au"], [{ pinned: "end", firstInCategory: true }, "_1eexc2av"]] });
4709
+ var import_createRuntimeFn3 = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
4710
+ var ColumnCellCls = "_1eexc2a6 _1eexc2a5 _16lm1iwp _16lm1iw16 _16lm1iw17 _16lm1iw2 _16lm1iw1f _16lm1iw1g";
4711
+ var ColumnCellRecipe = (0, import_createRuntimeFn3.createRuntimeFn)({ defaultClassName: "_1eexc2a7", variantClassNames: { dragging: { false: "_1eexc2a8", true: "_1eexc2a9" }, rowActive: { false: "_1eexc2aa", true: "_1eexc2ab" }, zebra: { false: "_1eexc2ac", even: "_1eexc2ad", odd: "_1eexc2ae" }, first: { true: "_1eexc2af", false: "_1eexc2ag" }, last: { true: "_1eexc2ah", false: "_1eexc2ai" }, groupByField: { true: "_1eexc2aj", false: "_1eexc2ak" }, firstInCategory: { true: "_1eexc2al", false: "_1eexc2am" }, lastInCategory: { true: "_1eexc2an", false: "_1eexc2ao" }, pinned: { start: "_1eexc2ap", end: "_1eexc2aq", false: "_1eexc2ar" }, filtered: { true: "_1eexc2as", false: "_1eexc2at" } }, defaultVariants: {}, compoundVariants: [[{ pinned: "start", lastInCategory: true }, "_1eexc2au"], [{ pinned: "end", firstInCategory: true }, "_1eexc2av"]] });
4498
4712
 
4499
4713
  // src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableCell.tsx
4500
4714
  var { rootClassName: rootClassName5 } = internalProps;
4501
4715
  var InfiniteTableCellClassName = `${rootClassName5}Cell`;
4502
4716
  var InfiniteTableCellContentClassName = `${rootClassName5}Cell_content`;
4503
- var columnWidthAtIndex2 = stripVar(InternalVars.columnWidthAtIndex);
4717
+ var columnWidthAtIndex4 = stripVar(InternalVars.columnWidthAtIndex);
4504
4718
  function InfiniteTableCellFn(props) {
4505
4719
  var _b, _c, _d;
4506
4720
  const _a = props, {
@@ -4533,23 +4747,14 @@ function InfiniteTableCellFn(props) {
4533
4747
  "renderChildren"
4534
4748
  ]);
4535
4749
  const children = renderChildren();
4536
- const { columnShifts } = useInfiniteTableState();
4537
- const shifting = !!columnShifts;
4538
4750
  const style = __spreadValues({
4539
- width: `var(${columnWidthAtIndex2}-${column.computedVisibleIndex})`
4751
+ width: `var(${columnWidthAtIndex4}-${column.computedVisibleIndex})`
4540
4752
  }, domProps.style);
4541
- if (!skipColumnShifting && columnShifts && columnShifts[column.computedVisibleIndex]) {
4542
- const shiftLeft = columnShifts[column.computedVisibleIndex];
4543
- if (virtualized) {
4544
- style.left = shiftLeft;
4545
- } else {
4546
- style.transform = `translate3d(${shiftLeft}px, 0px, 0px)`;
4547
- }
4548
- }
4549
4753
  const finalDOMProps = __spreadProps(__spreadValues({}, domProps), {
4550
4754
  style,
4551
4755
  "data-column-id": column.id,
4552
- className: join(domProps.className, justifyContent[(_b = column.align) != null ? _b : "start"], InfiniteTableCellClassName, ColumnCellCls, shifting ? `${InfiniteTableCellClassName}--shifting ${CellClsVariants.shifting}` : ""),
4756
+ "data-z-index": style.zIndex,
4757
+ className: join(domProps.className, justifyContent[(_b = column.align) != null ? _b : "start"], InfiniteTableCellClassName, ColumnCellCls),
4553
4758
  children: /* @__PURE__ */ createElement13(Fragment, null, beforeChildren, /* @__PURE__ */ createElement13("div", {
4554
4759
  className: join(InfiniteTableCellContentClassName, cssEllipsis ? cssEllipsisClassName : overflow.hidden, contentClassName),
4555
4760
  style: contentStyle
@@ -4569,13 +4774,13 @@ var InfiniteTableCell = memo7(InfiniteTableCellFn);
4569
4774
  import {
4570
4775
  createElement as createElement14
4571
4776
  } from "react";
4572
- import { useEffect as useEffect10, useState as useState8 } from "react";
4777
+ import { useEffect as useEffect10, useState as useState7 } from "react";
4573
4778
  var { rootClassName: rootClassName6 } = internalProps;
4574
4779
  var InfiniteTableColumnHeaderFilterClassName = `${rootClassName6}HeaderCell__filter`;
4575
4780
  var stopPropagation = (e) => e.stopPropagation();
4576
4781
  function InfiniteTableColumnHeaderFilter(props) {
4577
4782
  var _a, _b, _c, _d;
4578
- const [theValue, setTheValue] = useState8((_b = (_a = props.columnFilterValue) == null ? void 0 : _a.filterValue) != null ? _b : "");
4783
+ const [theValue, setTheValue] = useState7((_b = (_a = props.columnFilterValue) == null ? void 0 : _a.filterValue) != null ? _b : "");
4579
4784
  const onInputChange = (filterValue) => {
4580
4785
  setTheValue(filterValue);
4581
4786
  props.onChange(filterValue);
@@ -4966,7 +5171,7 @@ var computeGroupResize = (params) => {
4966
5171
  };
4967
5172
 
4968
5173
  // src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/index.tsx
4969
- import React20, { useRef as useRef12, useState as useState9 } from "react";
5174
+ import React20, { useRef as useRef11, useState as useState8 } from "react";
4970
5175
 
4971
5176
  // src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/columnResizer.ts
4972
5177
  function getColumnResizer(colIndex, {
@@ -5021,17 +5226,17 @@ function getColumnGroupResizer(colIndexes, config) {
5021
5226
  }
5022
5227
 
5023
5228
  // src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/ResizeHandle.css.ts
5024
- var import_createRuntimeFn3 = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
5025
- var ResizeHandleCls = "zneyzh0 _16lm1iw2 _16lm1iwv _16lm1iw11 _16lm1iwz _16lm1iwe";
5026
- var ResizeHandleDraggerClsRecipe = (0, import_createRuntimeFn3.createRuntimeFn)({ defaultClassName: "zneyzh1 _16lm1iw2 _16lm1iwv _16lm1iwz", variantClassNames: { constrained: { false: "zneyzh2", true: "zneyzh3" } }, defaultVariants: {}, compoundVariants: [] });
5229
+ var import_createRuntimeFn4 = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
5230
+ var ResizeHandleCls = "zneyzh0 _16lm1iw2 _16lm1iwx _16lm1iw13 _16lm1iw11 _16lm1iwe";
5231
+ var ResizeHandleDraggerClsRecipe = (0, import_createRuntimeFn4.createRuntimeFn)({ defaultClassName: "zneyzh1 _16lm1iw2 _16lm1iwx _16lm1iw11", variantClassNames: { constrained: { false: "zneyzh2", true: "zneyzh3" } }, defaultVariants: {}, compoundVariants: [] });
5027
5232
 
5028
5233
  // src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/index.tsx
5029
5234
  var { rootClassName: rootClassName7 } = internalProps;
5030
5235
  var InfiniteTableHeaderCellResizeHandleCls = `${rootClassName7}HeaderCell_ResizeHandle`;
5031
5236
  function ResizeHandleFn(props) {
5032
- const domRef = useRef12(null);
5033
- const [constrained, setConstrained] = useState9(false);
5034
- const constrainedRef = useRef12(constrained);
5237
+ const domRef = useRef11(null);
5238
+ const [constrained, setConstrained] = useState8(false);
5239
+ const constrainedRef = useRef11(constrained);
5035
5240
  constrainedRef.current = constrained;
5036
5241
  const onPointerDown = (e) => {
5037
5242
  e.stopPropagation();
@@ -5086,7 +5291,6 @@ var ResizeHandle = React20.memo(ResizeHandleFn);
5086
5291
  function useColumnResizeHandle(column) {
5087
5292
  const {
5088
5293
  computed: { computedVisibleColumns },
5089
- componentState: { domRef },
5090
5294
  getState,
5091
5295
  getComputed,
5092
5296
  componentActions
@@ -5096,7 +5300,7 @@ function useColumnResizeHandle(column) {
5096
5300
  shareSpaceOnResize
5097
5301
  }) => {
5098
5302
  const state = getState();
5099
- const { columnSizing, viewportReservedWidth, bodySize, activeCellIndex } = state;
5303
+ const { columnSizing, viewportReservedWidth, bodySize } = state;
5100
5304
  const columns = getComputed().computedVisibleColumns;
5101
5305
  let atLeastOneFlex = false;
5102
5306
  const columnSizingWithFlex = columns.reduce((acc, col) => {
@@ -5124,20 +5328,8 @@ function useColumnResizeHandle(column) {
5124
5328
  };
5125
5329
  })
5126
5330
  });
5127
- if (activeCellIndex && activeCellIndex[1] >= column.computedVisibleIndex) {
5128
- const activeColumn = columns[activeCellIndex[1]];
5129
- const currentColumn = columns[column.computedVisibleIndex];
5130
- if (activeCellIndex[1] === currentColumn.computedVisibleIndex) {
5131
- setInfiniteColumnWidth(currentColumn.computedVisibleIndex, currentColumn.computedWidth + result.adjustedDiff, domRef.current);
5132
- } else if (activeColumn) {
5133
- setInfiniteColumnOffset(activeColumn.computedVisibleIndex, activeColumn.computedOffset + result.adjustedDiff, domRef.current);
5134
- }
5135
- if (shareSpaceOnResize && activeCellIndex[1] === currentColumn.computedVisibleIndex + 1 && activeColumn) {
5136
- setInfiniteColumnWidth(activeColumn.computedVisibleIndex, activeColumn.computedWidth - result.adjustedDiff, domRef.current);
5137
- }
5138
- }
5139
5331
  return result;
5140
- }, []);
5332
+ }, [column]);
5141
5333
  const onColumnResize = useCallback7(({
5142
5334
  diff,
5143
5335
  shareSpaceOnResize
@@ -5150,7 +5342,7 @@ function useColumnResizeHandle(column) {
5150
5342
  componentActions.viewportReservedWidth = reservedWidth;
5151
5343
  }
5152
5344
  componentActions.columnSizing = columnSizing;
5153
- }, []);
5345
+ }, [computeResizeForDiff]);
5154
5346
  const resizeHandle = column.computedResizable ? /* @__PURE__ */ createElement15(ResizeHandle, {
5155
5347
  columns: computedVisibleColumns,
5156
5348
  columnIndex: column.computedVisibleIndex,
@@ -5164,6 +5356,8 @@ function useColumnResizeHandle(column) {
5164
5356
  var InfiniteTableHeaderCellContext = createContext4(null);
5165
5357
  var { rootClassName: rootClassName8 } = internalProps;
5166
5358
  var InfiniteTableHeaderCellClassName = `${rootClassName8}HeaderCell`;
5359
+ var columnZIndexAtIndex4 = stripVar(InternalVars.columnZIndexAtIndex);
5360
+ var columnOffsetAtIndex5 = stripVar(InternalVars.columnOffsetAtIndex);
5167
5361
  function InfiniteTableHeaderCell(props) {
5168
5362
  var _a, _b, _c, _d, _e;
5169
5363
  const column = props.column;
@@ -5202,12 +5396,13 @@ function InfiniteTableHeaderCell(props) {
5202
5396
  header = header != null ? header : column.name;
5203
5397
  return /* @__PURE__ */ createElement16(Fragment2, null, align === "end" ? sortTool : null, header, align !== "end" ? sortTool : null);
5204
5398
  };
5205
- const domRef = useRef13(null);
5399
+ const domRef = useRef12(null);
5206
5400
  const {
5207
5401
  computed: {
5208
5402
  computedRemainingSpace,
5209
5403
  showColumnFilters,
5210
- computedVisibleColumns
5404
+ computedVisibleColumns,
5405
+ computedPinnedStartColumns
5211
5406
  },
5212
5407
  componentState: { portalDOMRef, columnHeaderHeight, filterEditors }
5213
5408
  } = useInfiniteTable();
@@ -5229,7 +5424,9 @@ function InfiniteTableHeaderCell(props) {
5229
5424
  const style = {
5230
5425
  height
5231
5426
  };
5232
- const { onPointerDown, dragging, draggingDiff, proxyOffset } = useColumnPointerEvents({
5427
+ const { onPointerDown, dragging, proxyPosition } = useColumnPointerEvents({
5428
+ pinnedStartColsCount: computedPinnedStartColumns.length,
5429
+ visibleColsCount: computedVisibleColumns.length,
5233
5430
  computedRemainingSpace,
5234
5431
  columnId: column.id,
5235
5432
  domRef,
@@ -5243,9 +5440,9 @@ function InfiniteTableHeaderCell(props) {
5243
5440
  position: "absolute",
5244
5441
  height,
5245
5442
  width,
5246
- left: column.computedAbsoluteOffset + draggingDiff.left + ((_a = proxyOffset == null ? void 0 : proxyOffset.left) != null ? _a : 0),
5247
- top: (draggingDiff == null ? void 0 : draggingDiff.top) + ((_b = proxyOffset == null ? void 0 : proxyOffset.top) != null ? _b : 0),
5248
- zIndex: 1
5443
+ left: `calc( var(${columnOffsetAtIndex5}-${column.computedVisibleIndex}) + ${(_a = proxyPosition.left) != null ? _a : 0}px)`,
5444
+ top: (_b = proxyPosition.top) != null ? _b : 0,
5445
+ zIndex: 1e9
5249
5446
  }
5250
5447
  }, header);
5251
5448
  draggingProxy = createPortal(draggingProxy, portalDOMRef.current);
@@ -5316,6 +5513,8 @@ function InfiniteTableHeaderCell(props) {
5316
5513
  const filterType = column.computedFilterType;
5317
5514
  const FilterEditor = filterEditors[filterType] || defaultFilterEditors[filterType] || StringFilterEditor;
5318
5515
  const resizeHandle = useColumnResizeHandle(column);
5516
+ const zIndex2 = `var(${columnZIndexAtIndex4}-${column.computedVisibleIndex})`;
5517
+ style.zIndex = zIndex2;
5319
5518
  return /* @__PURE__ */ createElement16(ContextProvider, {
5320
5519
  value: renderParam
5321
5520
  }, /* @__PURE__ */ createElement16(InfiniteTableCell, {
@@ -5324,7 +5523,7 @@ function InfiniteTableHeaderCell(props) {
5324
5523
  column,
5325
5524
  "data-name": `HeaderCell`,
5326
5525
  "data-column-id": column.id,
5327
- "data-z-index": computedVisibleColumns.length * 10 - column.computedVisibleIndex * 10,
5526
+ "data-z-index": zIndex2,
5328
5527
  style,
5329
5528
  width,
5330
5529
  onPointerDown,
@@ -5345,7 +5544,7 @@ function InfiniteTableHeaderCell(props) {
5345
5544
  }), draggingProxy);
5346
5545
  }
5347
5546
  function useInfiniteHeaderCell() {
5348
- const result = useContext5(InfiniteTableHeaderCellContext);
5547
+ const result = useContext4(InfiniteTableHeaderCellContext);
5349
5548
  return result;
5350
5549
  }
5351
5550
 
@@ -5480,7 +5679,7 @@ import {
5480
5679
  createElement as createElement19,
5481
5680
  memo as memo8
5482
5681
  } from "react";
5483
- import { useCallback as useCallback10, useEffect as useEffect12, useRef as useRef15 } from "react";
5682
+ import { useCallback as useCallback10, useEffect as useEffect12, useRef as useRef14 } from "react";
5484
5683
 
5485
5684
  // src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderGroup.tsx
5486
5685
  import {
@@ -5494,13 +5693,13 @@ import {
5494
5693
  import { useCallback as useCallback9 } from "react";
5495
5694
 
5496
5695
  // src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/GroupResizeHandle.tsx
5497
- import React23, { useRef as useRef14, useState as useState10 } from "react";
5696
+ import React23, { useRef as useRef13, useState as useState9 } from "react";
5498
5697
  var { rootClassName: rootClassName9 } = internalProps;
5499
5698
  var InfiniteTableHeaderCellResizeHandleCls2 = `${rootClassName9}HeaderCell_ResizeHandle`;
5500
5699
  function GroupResizeHandleFn(props) {
5501
- const domRef = useRef14(null);
5502
- const [constrained, setConstrained] = useState10(false);
5503
- const constrainedRef = useRef14(constrained);
5700
+ const domRef = useRef13(null);
5701
+ const [constrained, setConstrained] = useState9(false);
5702
+ const constrainedRef = useRef13(constrained);
5504
5703
  constrainedRef.current = constrained;
5505
5704
  const onPointerDown = (e) => {
5506
5705
  e.stopPropagation();
@@ -5624,11 +5823,9 @@ function useColumnGroupResizeHandle(groupColumns, config) {
5624
5823
 
5625
5824
  // src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderGroup.tsx
5626
5825
  var TableHeaderGroupClassName = `${rootClassName2}HeaderGroup`;
5627
- var columnWidthAtIndex3 = stripVar(InternalVars.columnWidthAtIndex);
5826
+ var columnWidthAtIndex5 = stripVar(InternalVars.columnWidthAtIndex);
5827
+ var columnZIndexAtIndex5 = stripVar(InternalVars.columnZIndexAtIndex);
5628
5828
  function InfiniteTableHeaderGroup(props) {
5629
- const {
5630
- computed: { computedVisibleColumns }
5631
- } = useInfiniteTable();
5632
5829
  const { columnGroup, height, columns, bodyBrain, columnGroupsMaxDepth } = props;
5633
5830
  let { header } = columnGroup;
5634
5831
  if (header instanceof Function) {
@@ -5643,8 +5840,8 @@ function InfiniteTableHeaderGroup(props) {
5643
5840
  columnGroupsMaxDepth
5644
5841
  });
5645
5842
  const firstColumn = columns[0];
5646
- const width = columns.length > 1 ? `calc( ` + columns.map((col) => `var(${columnWidthAtIndex3}-${col.computedVisibleIndex})`).join(" + ") + " )" : `var(${columnWidthAtIndex3}-${firstColumn.computedVisibleIndex})`;
5647
- const zIndex2 = computedVisibleColumns.length * 10 - firstColumn.computedVisibleIndex * 10 + height * (columnGroupsMaxDepth - columnGroup.depth + 2);
5843
+ const width = columns.length > 1 ? `calc( ` + columns.map((col) => `var(${columnWidthAtIndex5}-${col.computedVisibleIndex})`).join(" + ") + " )" : `var(${columnWidthAtIndex5}-${firstColumn.computedVisibleIndex})`;
5844
+ const zIndex2 = `calc(var(${columnZIndexAtIndex5}-${firstColumn.computedVisibleIndex}) + ${columnGroupsMaxDepth - columnGroup.depth})`;
5648
5845
  return /* @__PURE__ */ createElement18("div", {
5649
5846
  ref: props.domRef,
5650
5847
  "data-group-id": columnGroup.uniqueGroupId,
@@ -5684,7 +5881,7 @@ function InfiniteTableHeaderFn(props) {
5684
5881
  const removeOnScroll = brain.onScroll(onScroll);
5685
5882
  return removeOnScroll;
5686
5883
  }, [brain]);
5687
- const domRef = useRef15(null);
5884
+ const domRef = useRef14(null);
5688
5885
  const headerCls = HeaderClsRecipe({
5689
5886
  overflow: false,
5690
5887
  virtualized: true
@@ -5859,7 +6056,7 @@ import {
5859
6056
  createElement as createElement21,
5860
6057
  forwardRef as forwardRef4,
5861
6058
  useCallback as useCallback12,
5862
- useRef as useRef16
6059
+ useRef as useRef15
5863
6060
  } from "react";
5864
6061
  import { useEffect as useEffect13 } from "react";
5865
6062
 
@@ -5869,14 +6066,6 @@ function decamelize(str, options) {
5869
6066
  return str.replace(/([a-z\d])([A-Z])/g, "$1" + separator + "$2").replace(new RegExp("(" + separator + "[A-Z])([A-Z])", "g"), "$1" + separator + "$2").toLowerCase();
5870
6067
  }
5871
6068
 
5872
- // src/components/InfiniteTable/InfiniteCls.css.ts
5873
- var import_createRuntimeFn4 = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
5874
- var FooterCls = "_16lm1iw1";
5875
- var InfiniteCls = "_1yeub2v0 _16lm1iw1 _16lm1iwn _16lm1iw13 _16lm1iw0";
5876
- var InfiniteClsRecipe = (0, import_createRuntimeFn4.createRuntimeFn)({ defaultClassName: "", variantClassNames: { focused: { true: "_1yeub2v2", false: "_1yeub2v3" }, focusedWithin: { true: "_1yeub2v4", false: "_1yeub2v5" }, hasPinnedStart: { true: "_1yeub2v6", false: "_1yeub2v7" }, hasPinnedEnd: { true: "_1yeub2v8", false: "_1yeub2v9" }, hasPinnedStartOverflow: { true: "_1yeub2va", false: "_1yeub2vb" }, hasPinnedEndOverflow: { true: "_1yeub2vc", false: "_1yeub2vd" } }, defaultVariants: {}, compoundVariants: [[{ focused: false, focusedWithin: false }, "_1yeub2ve"]] });
5877
- var InfiniteClsShiftingColumns = "_16lm1iwq";
5878
- var PinnedRowsContainerClsVariants = (0, import_createRuntimeFn4.createRuntimeFn)({ defaultClassName: "", variantClassNames: { pinned: { start: "_1yeub2vi", end: "_1yeub2vj", false: "_1yeub2vk" } }, defaultVariants: {}, compoundVariants: [] });
5879
-
5880
6069
  // src/components/InfiniteTable/components/InfiniteTableLicenseFooter/index.tsx
5881
6070
  var defaultStyle = {
5882
6071
  padding: ThemeVars.spacing[2],
@@ -5906,7 +6095,7 @@ var enforceStyle = (node, style) => {
5906
6095
  };
5907
6096
  var InfiniteTableLicenseFooter = forwardRef4(function InfiniteTableLicenseFooter2(props, ref) {
5908
6097
  const { rootClassName: rootClassName13 } = useInternalProps();
5909
- const domRef = useRef16(null);
6098
+ const domRef = useRef15(null);
5910
6099
  const domCallback = useCallback12((node) => {
5911
6100
  domRef.current = node;
5912
6101
  if (!ref) {
@@ -5951,8 +6140,9 @@ import {
5951
6140
  createElement as createElement22,
5952
6141
  memo as memo9
5953
6142
  } from "react";
5954
- import { useCallback as useCallback13, useContext as useContext6, useMemo as useMemo7 } from "react";
6143
+ import { useCallback as useCallback13, useContext as useContext5, useMemo as useMemo7 } from "react";
5955
6144
  var { rootClassName: rootClassName11 } = internalProps;
6145
+ var columnZIndexAtIndex6 = stripVar(InternalVars.columnZIndexAtIndex);
5956
6146
  var InfiniteTableColumnCellContext = createContext5(null);
5957
6147
  var InfiniteTableColumnCellClassName = `${rootClassName11}ColumnCell`;
5958
6148
  function isColumnWithField(c) {
@@ -6082,6 +6272,7 @@ function InfiniteTableColumnCellFn(props) {
6082
6272
  }
6083
6273
  style = column.style ? typeof column.style === "function" ? __spreadValues(__spreadValues({}, style), column.style(stylingRenderParam) || {}) : __spreadValues(__spreadValues({}, style), column.style) : style || {};
6084
6274
  style.height = rowHeight;
6275
+ style.zIndex = `var(${columnZIndexAtIndex6}-${column.computedVisibleIndex})`;
6085
6276
  const memoizedStyle = useMemo7(() => style, [!style ? null : JSON.stringify(style)]);
6086
6277
  const odd = (rowInfo.indexInAll != null ? rowInfo.indexInAll : rowIndex) % 2 === 1;
6087
6278
  const zebra = showZebraRows ? odd ? "odd" : "even" : false;
@@ -6105,7 +6296,7 @@ function InfiniteTableColumnCellFn(props) {
6105
6296
  }
6106
6297
  var InfiniteTableColumnCell = memo9(InfiniteTableColumnCellFn);
6107
6298
  function useInfiniteColumnCell() {
6108
- const result = useContext6(InfiniteTableColumnCellContext);
6299
+ const result = useContext5(InfiniteTableColumnCellContext);
6109
6300
  return result;
6110
6301
  }
6111
6302
 
@@ -6122,8 +6313,8 @@ import {
6122
6313
  } from "react";
6123
6314
 
6124
6315
  // src/components/InfiniteTable/components/LoadMask.css.ts
6125
- var LoadMaskCls = { visible: "qy58ya1 qy58ya0 _16lm1iw2 _16lm1iwv _16lm1iwx _16lm1iw11 _16lm1iwz", hidden: "qy58ya2 qy58ya0 _16lm1iw2 _16lm1iwv _16lm1iwx _16lm1iw11 _16lm1iwz" };
6126
- var LoadMaskOverlayCls = "qy58ya3 _16lm1iw2 _16lm1iwv _16lm1iwx _16lm1iw11 _16lm1iwz";
6316
+ var LoadMaskCls = { visible: "qy58ya1 qy58ya0 _16lm1iw2 _16lm1iwx _16lm1iwz _16lm1iw13 _16lm1iw11", hidden: "qy58ya2 qy58ya0 _16lm1iw2 _16lm1iwx _16lm1iwz _16lm1iw13 _16lm1iw11" };
6317
+ var LoadMaskOverlayCls = "qy58ya3 _16lm1iw2 _16lm1iwx _16lm1iwz _16lm1iw13 _16lm1iw11";
6127
6318
  var LoadMaskTextCls = "qy58ya4";
6128
6319
 
6129
6320
  // src/components/InfiniteTable/components/LoadMask.tsx
@@ -6155,24 +6346,40 @@ function getImperativeApi(getState, getComputed, getDataSourceState, componentAc
6155
6346
  scrollRowIntoView(rowIndex, config = { offset: 0 }) {
6156
6347
  const state = getState();
6157
6348
  const scrollPosition = state.renderer.getScrollPositionForScrollRowIntoView(rowIndex, config);
6349
+ if (!scrollPosition) {
6350
+ return false;
6351
+ }
6158
6352
  const currentScrollPosition = state.brain.getScrollPosition();
6353
+ const scrollTopMax = state.brain.scrollTopMax;
6354
+ if (scrollPosition.scrollTop > scrollTopMax + (config.offset || 0)) {
6355
+ return false;
6356
+ }
6159
6357
  if (scrollPosition.scrollTop !== currentScrollPosition.scrollTop) {
6160
6358
  state.scrollerDOMRef.current.scrollTop = scrollPosition.scrollTop;
6161
6359
  }
6360
+ return true;
6162
6361
  },
6163
6362
  scrollColumnIntoView(colId, config = { offset: 0 }) {
6164
6363
  const state = getState();
6165
6364
  const computed = getComputed();
6166
6365
  const computedColumn = computed.computedVisibleColumnsMap.get(colId);
6167
6366
  if (!computedColumn) {
6168
- return;
6367
+ return false;
6169
6368
  }
6170
6369
  const colIndex = computedColumn.computedVisibleIndex;
6171
6370
  const scrollPosition = state.renderer.getScrollPositionForScrollColumnIntoView(colIndex, config);
6371
+ if (!scrollPosition) {
6372
+ return false;
6373
+ }
6172
6374
  const currentScrollPosition = state.brain.getScrollPosition();
6375
+ const scrollLeftMax = state.brain.scrollLeftMax;
6376
+ if (scrollPosition.scrollLeft > scrollLeftMax + (config.offset || 0)) {
6377
+ return false;
6378
+ }
6173
6379
  if (scrollPosition.scrollLeft !== currentScrollPosition.scrollLeft) {
6174
6380
  state.scrollerDOMRef.current.scrollLeft = scrollPosition.scrollLeft;
6175
6381
  }
6382
+ return true;
6176
6383
  },
6177
6384
  scrollCellIntoView(rowIndex, colIdOrIndex, config = { offset: 0 }) {
6178
6385
  const state = getState();
@@ -6181,33 +6388,48 @@ function getImperativeApi(getState, getComputed, getDataSourceState, componentAc
6181
6388
  if (typeof colIdOrIndex === "string") {
6182
6389
  const computedColumn = computed.computedVisibleColumnsMap.get(colIdOrIndex);
6183
6390
  if (!computedColumn) {
6184
- return;
6391
+ return false;
6185
6392
  }
6186
6393
  colIndex = computedColumn.computedVisibleIndex;
6187
6394
  }
6188
6395
  const scrollPositionForCol = state.renderer.getScrollPositionForScrollColumnIntoView(colIndex, config);
6189
6396
  const scrollPositionForRow = state.renderer.getScrollPositionForScrollRowIntoView(rowIndex, config);
6397
+ if (!scrollPositionForCol || !scrollPositionForRow) {
6398
+ return false;
6399
+ }
6190
6400
  const newScrollPosition = {
6191
6401
  scrollLeft: scrollPositionForCol.scrollLeft,
6192
6402
  scrollTop: scrollPositionForRow.scrollTop
6193
6403
  };
6194
6404
  const currentScrollPosition = state.brain.getScrollPosition();
6405
+ const scrollLeftMax = state.brain.scrollLeftMax;
6406
+ const scrollTopMax = state.brain.scrollTopMax;
6407
+ if (newScrollPosition.scrollLeft > scrollLeftMax + (config.offset || 0)) {
6408
+ return false;
6409
+ }
6410
+ if (newScrollPosition.scrollTop > scrollTopMax + (config.offset || 0)) {
6411
+ return false;
6412
+ }
6195
6413
  if (newScrollPosition.scrollLeft !== currentScrollPosition.scrollLeft) {
6196
6414
  state.scrollerDOMRef.current.scrollLeft = newScrollPosition.scrollLeft;
6197
6415
  }
6198
6416
  if (newScrollPosition.scrollTop !== currentScrollPosition.scrollTop) {
6199
6417
  state.scrollerDOMRef.current.scrollTop = newScrollPosition.scrollTop;
6200
6418
  }
6419
+ return true;
6201
6420
  }
6202
6421
  };
6422
+ if (false) {
6423
+ globalThis.imperativeApi = imperativeApi;
6424
+ }
6203
6425
  return imperativeApi;
6204
6426
  }
6205
6427
 
6206
6428
  // src/components/InfiniteTable/hooks/useAutoSizeColumns.ts
6207
6429
  import {
6208
6430
  useEffect as useEffect14,
6209
- useRef as useRef17,
6210
- useState as useState11
6431
+ useRef as useRef16,
6432
+ useState as useState10
6211
6433
  } from "react";
6212
6434
  var OFFSET = 10;
6213
6435
  function getColumnContentMaxWidths(domRef, options) {
@@ -6274,10 +6496,10 @@ function useAutoSizeColumns() {
6274
6496
  componentActions,
6275
6497
  componentState: { domRef, ready, autoSizeColumnsKey, brain }
6276
6498
  } = useComponentState();
6277
- const [refreshId, setRefreshId] = useState11(0);
6499
+ const [refreshId, setRefreshId] = useState10(0);
6278
6500
  const theKey = typeof autoSizeColumnsKey === "object" ? autoSizeColumnsKey.key : autoSizeColumnsKey;
6279
6501
  const getTheKey = useLatest(theKey);
6280
- const lastExecutedIdentifierRef = useRef17(null);
6502
+ const lastExecutedIdentifierRef = useRef16(null);
6281
6503
  useEffect14(() => {
6282
6504
  const key = getTheKey();
6283
6505
  if (key == null) {
@@ -6336,7 +6558,7 @@ function useAutoSizeColumns() {
6336
6558
  }
6337
6559
 
6338
6560
  // src/components/InfiniteTable/hooks/useCellRendering.tsx
6339
- import { useCallback as useCallback14, useEffect as useEffect15, useRef as useRef18 } from "react";
6561
+ import { useCallback as useCallback14, useEffect as useEffect15, useRef as useRef17 } from "react";
6340
6562
  import React31 from "react";
6341
6563
 
6342
6564
  // src/components/InfiniteTable/hooks/useYourBrain.ts
@@ -6407,7 +6629,7 @@ function useCellRendering(param) {
6407
6629
  bodySize,
6408
6630
  rowspan
6409
6631
  });
6410
- const scrollTopMaxRef = useRef18(0);
6632
+ const scrollTopMaxRef = useRef17(0);
6411
6633
  useEffect15(() => {
6412
6634
  return brain.onRenderCountChange(() => {
6413
6635
  scrollTopMaxRef.current = brain.scrollTopMax;
@@ -6497,7 +6719,7 @@ function useCellRendering(param) {
6497
6719
  }
6498
6720
 
6499
6721
  // src/components/InfiniteTable/hooks/useComputed.ts
6500
- import { useCallback as useCallback17, useEffect as useEffect25, useState as useState15 } from "react";
6722
+ import { useCallback as useCallback17, useEffect as useEffect25, useState as useState14 } from "react";
6501
6723
 
6502
6724
  // src/components/InfiniteTable/hooks/useColumnGroups.ts
6503
6725
  import { useEffect as useEffect17 } from "react";
@@ -6567,20 +6789,6 @@ function computeColumnGroupsDepths(columnGroups) {
6567
6789
  return map2;
6568
6790
  }
6569
6791
 
6570
- // src/components/InfiniteTable/utils/rafFn.ts
6571
- var rafFn = (fn) => {
6572
- let rafId = 0;
6573
- return (...args) => {
6574
- if (rafId) {
6575
- cancelAnimationFrame(rafId);
6576
- }
6577
- rafId = requestAnimationFrame(() => {
6578
- rafId = 0;
6579
- fn(...args);
6580
- });
6581
- };
6582
- };
6583
-
6584
6792
  // src/components/InfiniteTable/hooks/useColumnGroups.ts
6585
6793
  function useColumnGroups() {
6586
6794
  const {
@@ -6700,7 +6908,7 @@ import {
6700
6908
  createElement as createElement24,
6701
6909
  useEffect as useEffect18
6702
6910
  } from "react";
6703
- import { useState as useState12 } from "react";
6911
+ import { useState as useState11 } from "react";
6704
6912
 
6705
6913
  // src/components/InfiniteTable/components/icons/ExpanderIcon.css.ts
6706
6914
  var import_createRuntimeFn6 = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
@@ -6711,7 +6919,7 @@ var ExpanderIconClsVariants = (0, import_createRuntimeFn6.createRuntimeFn)({ def
6711
6919
  function ExpanderIcon(props) {
6712
6920
  var _a;
6713
6921
  const { size = 24 } = props;
6714
- const [expanded, setExpanded] = useState12((_a = props.expanded) != null ? _a : props.defaultExpanded);
6922
+ const [expanded, setExpanded] = useState11((_a = props.expanded) != null ? _a : props.defaultExpanded);
6715
6923
  const onClick = () => {
6716
6924
  var _a2;
6717
6925
  (_a2 = props.onChange) == null ? void 0 : _a2.call(props, !expanded);
@@ -6914,10 +7122,10 @@ function getSingleGroupColumn(options, toggleGroupRow, groupColumnFromProps) {
6914
7122
  }
6915
7123
 
6916
7124
  // src/components/InfiniteTable/hooks/useEffectWithRaf.ts
6917
- import { useEffect as useEffect19, useRef as useRef19 } from "react";
7125
+ import { useEffect as useEffect19, useRef as useRef18 } from "react";
6918
7126
  function useEffectWithRaf(fn, deps) {
6919
- const rafId = useRef19(0);
6920
- const removeFnRaf = useRef19();
7127
+ const rafId = useRef18(0);
7128
+ const removeFnRaf = useRef18();
6921
7129
  useEffect19(() => {
6922
7130
  rafId.current = requestAnimationFrame(() => {
6923
7131
  removeFnRaf.current = fn();
@@ -7579,15 +7787,15 @@ var GroupRowsState = class {
7579
7787
  };
7580
7788
 
7581
7789
  // src/components/DataSource/privateHooks/useLoadData.ts
7582
- import { useEffect as useEffect21, useMemo as useMemo9, useRef as useRef21, useState as useState13 } from "react";
7790
+ import { useEffect as useEffect21, useMemo as useMemo9, useRef as useRef20, useState as useState12 } from "react";
7583
7791
 
7584
7792
  // src/components/hooks/useEffectWithChanges.ts
7585
- import { useEffect as useEffect20, useRef as useRef20 } from "react";
7793
+ import { useEffect as useEffect20, useRef as useRef19 } from "react";
7586
7794
  function useEffectWithChanges(fn, deps) {
7587
- const prevRef = useRef20({});
7588
- const oldValuesRef = useRef20({});
7795
+ const prevRef = useRef19({});
7796
+ const oldValuesRef = useRef19({});
7589
7797
  const oldValues = oldValuesRef.current;
7590
- const changesRef = useRef20({});
7798
+ const changesRef = useRef19({});
7591
7799
  const changes = changesRef.current;
7592
7800
  const useEffectDeps = [];
7593
7801
  for (const k in deps) {
@@ -7868,11 +8076,11 @@ function useLoadData() {
7868
8076
  livePaginationCursor,
7869
8077
  cursorId: stateCursorId
7870
8078
  } = componentState;
7871
- const [scrollbars, setScrollbars] = useState13({
8079
+ const [scrollbars, setScrollbars] = useState12({
7872
8080
  vertical: false,
7873
8081
  horizontal: false
7874
8082
  });
7875
- const scrollbarsRef = useRef21(scrollbars);
8083
+ const scrollbarsRef = useRef20(scrollbars);
7876
8084
  useEffect21(() => {
7877
8085
  notifyScrollbarsChange.onChange((scrollbars2) => {
7878
8086
  if (!scrollbars2) {
@@ -7929,7 +8137,7 @@ function useLoadData() {
7929
8137
  filterValue,
7930
8138
  cursorId: livePagination ? stateCursorId : null
7931
8139
  };
7932
- const initialRef = useRef21(true);
8140
+ const initialRef = useRef20(true);
7933
8141
  useLazyLoadRange();
7934
8142
  useEffectWithChanges(() => {
7935
8143
  const componentState2 = getComponentState();
@@ -7970,7 +8178,7 @@ function useLazyLoadRange() {
7970
8178
  dataArray,
7971
8179
  scrollStopDelayUpdatedByTable
7972
8180
  } = componentState;
7973
- const latestRenderRangeRef = useRef21(null);
8181
+ const latestRenderRangeRef = useRef20(null);
7974
8182
  const loadRange = (renderRange, cache = getComponentState().lazyLoadCacheOfLoadedBatches) => {
7975
8183
  const componentState2 = getComponentState();
7976
8184
  renderRange = renderRange || latestRenderRangeRef.current;
@@ -9306,7 +9514,7 @@ var isColumnVisible = (columnVisibility, _columnVisibilityAssumeVisible, colId)
9306
9514
  };
9307
9515
  var getComputedPinned = (colId, columnPinning) => {
9308
9516
  const pinned = columnPinning.get(colId);
9309
- const computedPinned = pinned === "start" ? "start" : pinned === "end" ? "end" : false;
9517
+ const computedPinned = pinned === "start" || pinned === true ? "start" : pinned === "end" ? "end" : false;
9310
9518
  return computedPinned;
9311
9519
  };
9312
9520
  var getComputedVisibleColumns = ({
@@ -9442,6 +9650,7 @@ var getComputedVisibleColumns = ({
9442
9650
  const id = visibleColumnOrder[i];
9443
9651
  const nextColumnId = visibleColumnOrder[i + 1];
9444
9652
  const colType = getColumnComputedType(c, columnTypes);
9653
+ const computedVisibleIndex = i;
9445
9654
  const sortingInfo = sortedMap[id] ? sortedMap[id] : c.field ? (_a = sortedMap[c.field]) != null ? _a : null : null;
9446
9655
  const computedSortInfo = (_b = sortingInfo == null ? void 0 : sortingInfo.sortInfo) != null ? _b : null;
9447
9656
  const computedSorted = !!computedSortInfo;
@@ -9454,7 +9663,15 @@ var getComputedVisibleColumns = ({
9454
9663
  const computedMaxWidth = maxSizes[i] || 1e4;
9455
9664
  const computedPinned = getComputedPinned(id, columnPinning);
9456
9665
  const computedLast = i === visibleColumnOrder.length - 1;
9666
+ let computedVisibleIndexInCategory = computedVisibleIndex;
9457
9667
  const computedPinningOffset = computedPinned === "start" ? computedPinnedStartColumnsWidth : computedPinned === "end" ? computedPinnedEndColumnsWidth : computedOffset - computedPinnedStartColumnsWidth;
9668
+ if (computedPinned == "start") {
9669
+ computedVisibleIndexInCategory = computedVisibleIndex;
9670
+ } else if (computedPinned === "end") {
9671
+ computedVisibleIndexInCategory = computedVisibleIndex - (computedPinnedStartColumns.length + computedUnpinnedColumns.length);
9672
+ } else {
9673
+ computedVisibleIndexInCategory = computedVisibleIndex - computedPinnedStartColumns.length;
9674
+ }
9458
9675
  const computedAbsoluteOffset = computedPinned === "start" || computedPinned === false ? computedOffset : firstPinnedEndAbsoluteOffset + computedPinnedEndColumnsWidth;
9459
9676
  const computedFirstInCategory = computedPinned !== prevPinned;
9460
9677
  const computedLastInCategory = computedLast || computedPinned !== getComputedPinned(nextColumnId, columnPinning);
@@ -9503,6 +9720,7 @@ var getComputedVisibleColumns = ({
9503
9720
  computedWidth,
9504
9721
  computedAbsoluteOffset,
9505
9722
  computedPinningOffset,
9723
+ computedVisibleIndexInCategory,
9506
9724
  computedOffset,
9507
9725
  computedSortable,
9508
9726
  computedSortInfo,
@@ -9511,7 +9729,7 @@ var getComputedVisibleColumns = ({
9511
9729
  computedSorted,
9512
9730
  computedSortedAsc,
9513
9731
  computedSortedDesc,
9514
- computedVisibleIndex: i,
9732
+ computedVisibleIndex,
9515
9733
  computedPinned,
9516
9734
  computedDraggable: (_u = (_t = c.draggable) != null ? _t : draggableColumns) != null ? _u : true,
9517
9735
  computedFirstInCategory,
@@ -9732,7 +9950,7 @@ var useComputedVisibleColumns = ({
9732
9950
  };
9733
9951
 
9734
9952
  // src/components/InfiniteTable/hooks/useScrollbars.ts
9735
- import { useState as useState14, useEffect as useEffect24, useLayoutEffect as useLayoutEffect6 } from "react";
9953
+ import { useState as useState13, useEffect as useEffect24, useLayoutEffect as useLayoutEffect6 } from "react";
9736
9954
  var INITIAL_SCROLLBARS = {
9737
9955
  vertical: false,
9738
9956
  horizontal: false
@@ -9740,7 +9958,7 @@ var INITIAL_SCROLLBARS = {
9740
9958
  function useScrollbars(brain) {
9741
9959
  const { getComponentState: getInfiniteTableState } = useComponentState();
9742
9960
  const { getState: getDataSourceState } = useDataSourceContextValue();
9743
- const [scrollbars, setScrollbars] = useState14(INITIAL_SCROLLBARS);
9961
+ const [scrollbars, setScrollbars] = useState13(INITIAL_SCROLLBARS);
9744
9962
  useEffect24(() => {
9745
9963
  return brain.onRenderCountChange(() => {
9746
9964
  const { scrollTopMax, scrollLeftMax } = brain;
@@ -9781,7 +9999,7 @@ function useComputed() {
9781
9999
  bodySize,
9782
10000
  showSeparatePivotColumnForSingleAggregation
9783
10001
  } = componentState;
9784
- useState15(() => {
10002
+ useState14(() => {
9785
10003
  componentState.onRowHeightCSSVarChange.onChange((rowHeight) => {
9786
10004
  if (rowHeight) {
9787
10005
  componentActions.rowHeight = rowHeight;
@@ -9876,107 +10094,6 @@ function useComputed() {
9876
10094
  };
9877
10095
  }
9878
10096
 
9879
- // src/components/InfiniteTable/hooks/useDOMProps.ts
9880
- var columnWidthAtIndex4 = stripVar(InternalVars.columnWidthAtIndex);
9881
- var columnOffsetAtIndex2 = stripVar(InternalVars.columnOffsetAtIndex);
9882
- var activeCellColWidth = stripVar(InternalVars.activeCellColWidth);
9883
- var activeCellColOffset = stripVar(InternalVars.activeCellColOffset);
9884
- function useDOMProps(initialDOMProps) {
9885
- const { computed, componentState, componentActions } = useInfiniteTable();
9886
- const {
9887
- columnShifts,
9888
- focused,
9889
- focusedWithin,
9890
- domRef,
9891
- onBlurWithin,
9892
- onFocusWithin,
9893
- onSelfFocus,
9894
- onSelfBlur,
9895
- activeCellIndex
9896
- } = componentState;
9897
- const {
9898
- computedPinnedStartColumnsWidth,
9899
- computedPinnedEndColumnsWidth,
9900
- computedVisibleColumns
9901
- } = computed;
9902
- const cssVars = computedVisibleColumns.reduce((vars, col) => {
9903
- const index = col.computedVisibleIndex;
9904
- vars[`${columnWidthAtIndex4}-${index}`] = col.computedWidth + "px";
9905
- vars[`${columnOffsetAtIndex2}-${index}`] = col.computedOffset + "px";
9906
- return vars;
9907
- }, {});
9908
- if (activeCellIndex != null) {
9909
- cssVars[activeCellColWidth] = `var(${getCSSVarNameForColWidth(activeCellIndex[1])})`;
9910
- cssVars[activeCellColOffset] = `var(${getCSSVarNameForColOffset(activeCellIndex[1])})`;
9911
- }
9912
- const setFocused = rafFn((focused2) => {
9913
- componentActions.focused = focused2;
9914
- });
9915
- const setFocusedWithin = rafFn((focused2) => {
9916
- componentActions.focusedWithin = focused2;
9917
- });
9918
- const onFocus = (event) => {
9919
- var _a;
9920
- (_a = initialDOMProps == null ? void 0 : initialDOMProps.onFocus) == null ? void 0 : _a.call(initialDOMProps, event);
9921
- if (event.target === domRef.current) {
9922
- setFocused(true);
9923
- onSelfFocus == null ? void 0 : onSelfFocus(event);
9924
- if (focusedWithin) {
9925
- setFocusedWithin(false);
9926
- onBlurWithin == null ? void 0 : onBlurWithin(event);
9927
- }
9928
- } else {
9929
- if (!focusedWithin) {
9930
- setFocusedWithin(true);
9931
- onFocusWithin == null ? void 0 : onFocusWithin(event);
9932
- }
9933
- }
9934
- };
9935
- const onBlur = (event) => {
9936
- var _a, _b;
9937
- (_a = initialDOMProps == null ? void 0 : initialDOMProps.onBlur) == null ? void 0 : _a.call(initialDOMProps, event);
9938
- if (event.target === domRef.current) {
9939
- setFocused(false);
9940
- onSelfBlur == null ? void 0 : onSelfBlur(event);
9941
- if (focusedWithin) {
9942
- setFocusedWithin(false);
9943
- onBlurWithin == null ? void 0 : onBlurWithin(event);
9944
- }
9945
- } else {
9946
- const contained = (_b = domRef.current) == null ? void 0 : _b.contains(event.relatedTarget);
9947
- if (!contained) {
9948
- setFocusedWithin(false);
9949
- onBlurWithin == null ? void 0 : onBlurWithin(event);
9950
- }
9951
- }
9952
- };
9953
- const domProps = __spreadProps(__spreadValues({
9954
- tabIndex: 0
9955
- }, initialDOMProps), {
9956
- onFocus,
9957
- onBlur
9958
- });
9959
- const className = join(InfiniteTableClassName, InfiniteCls, columnShifts ? `${InfiniteClsShiftingColumns} ${InfiniteTableClassName}--shifting` : "", domProps == null ? void 0 : domProps.className, computedPinnedStartColumnsWidth ? `${InfiniteTableClassName}--has-pinned-start` : null, computedPinnedEndColumnsWidth ? `${InfiniteTableClassName}--has-pinned-end` : null, focused ? `${InfiniteTableClassName}--focused` : null, focusedWithin ? `${InfiniteTableClassName}--focused-within` : null, focused && componentState.focusedClassName ? componentState.focusedClassName : null, focusedWithin && componentState.focusedWithinClassName ? componentState.focusedWithinClassName : null, computed.computedPinnedStartOverflow ? `${InfiniteTableClassName}--has-pinned-start-overflow` : null, computed.computedPinnedEndOverflow ? `${InfiniteTableClassName}--has-pinned-end-overflow` : null, InfiniteClsRecipe({
9960
- hasPinnedStart: !!computedPinnedStartColumnsWidth,
9961
- hasPinnedEnd: !!computedPinnedEndColumnsWidth,
9962
- focused,
9963
- focusedWithin
9964
- }));
9965
- domProps.className = className;
9966
- domProps.style = __spreadValues(__spreadValues({}, initialDOMProps == null ? void 0 : initialDOMProps.style), cssVars);
9967
- if (focused) {
9968
- if (componentState.focusedStyle) {
9969
- Object.assign(domProps.style, componentState.focusedStyle);
9970
- }
9971
- }
9972
- if (focusedWithin) {
9973
- if (componentState.focusedWithinStyle) {
9974
- Object.assign(domProps.style, componentState.focusedWithinStyle);
9975
- }
9976
- }
9977
- return domProps;
9978
- }
9979
-
9980
10097
  // src/components/InfiniteTable/hooks/useLicense/useLicense.ts
9981
10098
  import { useMemo as useMemo12 } from "react";
9982
10099
 
@@ -10139,7 +10256,7 @@ var useLicense = (licenseKey = "") => {
10139
10256
  const valid = useMemo12(() => {
10140
10257
  let valid2 = isValidLicense(licenseKey, {
10141
10258
  publishedAt: 1624970570587,
10142
- version: "0.3.15"
10259
+ version: "0.3.18"
10143
10260
  });
10144
10261
  if (!licenseKey && !valid2 && isInsidePlayground) {
10145
10262
  return true;
@@ -10149,6 +10266,73 @@ var useLicense = (licenseKey = "") => {
10149
10266
  return valid;
10150
10267
  };
10151
10268
 
10269
+ // src/components/InfiniteTable/hooks/useScrollToActiveCell.ts
10270
+ import { useRef as useRef21, useEffect as useEffect26 } from "react";
10271
+ var RETRIES = 10;
10272
+ function useScrollToActiveCell(activeCellIndex, dataCount, imperativeApi) {
10273
+ const didScrollRef = useRef21(false);
10274
+ const rafId = useRef21(null);
10275
+ useEffect26(() => {
10276
+ if (activeCellIndex != null) {
10277
+ didScrollRef.current = false;
10278
+ cancelAnimationFrame(rafId.current);
10279
+ }
10280
+ }, [activeCellIndex]);
10281
+ useEffect26(() => {
10282
+ if (activeCellIndex != null && !didScrollRef.current) {
10283
+ let tryScroll = function(times = 0) {
10284
+ times++;
10285
+ cancelAnimationFrame(rafId.current);
10286
+ rafId.current = requestAnimationFrame(() => {
10287
+ didScrollRef.current = imperativeApi.scrollCellIntoView(activeCellIndex[0], activeCellIndex[1], {
10288
+ offset: 30
10289
+ });
10290
+ if (!didScrollRef.current && times < RETRIES) {
10291
+ tryScroll(times);
10292
+ }
10293
+ });
10294
+ };
10295
+ tryScroll();
10296
+ }
10297
+ return () => {
10298
+ cancelAnimationFrame(rafId.current);
10299
+ };
10300
+ }, [activeCellIndex, dataCount]);
10301
+ }
10302
+
10303
+ // src/components/InfiniteTable/hooks/useScrollToActiveRow.ts
10304
+ import { useRef as useRef22, useEffect as useEffect27 } from "react";
10305
+ var RETRIES2 = 10;
10306
+ function useScrollToActiveRow(activeRowIndex, dataCount, imperativeApi) {
10307
+ const didScrollRef = useRef22(false);
10308
+ const rafId = useRef22(null);
10309
+ useEffect27(() => {
10310
+ if (activeRowIndex != null) {
10311
+ didScrollRef.current = false;
10312
+ cancelAnimationFrame(rafId.current);
10313
+ }
10314
+ }, [activeRowIndex]);
10315
+ useEffect27(() => {
10316
+ if (activeRowIndex != null && !didScrollRef.current) {
10317
+ let tryScroll = function(times = 0) {
10318
+ times++;
10319
+ rafId.current = requestAnimationFrame(() => {
10320
+ didScrollRef.current = imperativeApi.scrollRowIntoView(activeRowIndex, {
10321
+ offset: 30
10322
+ });
10323
+ if (!didScrollRef.current && times < RETRIES2) {
10324
+ tryScroll(times);
10325
+ }
10326
+ });
10327
+ };
10328
+ tryScroll();
10329
+ }
10330
+ return () => {
10331
+ cancelAnimationFrame(rafId.current);
10332
+ };
10333
+ }, [activeRowIndex, dataCount]);
10334
+ }
10335
+
10152
10336
  // src/components/utils/clamp.ts
10153
10337
  function clamp(value, min, max) {
10154
10338
  return Math.min(Math.max(value, min), max);
@@ -10392,7 +10576,6 @@ function initSetupState2() {
10392
10576
  propsCache: new Map([]),
10393
10577
  brain,
10394
10578
  headerBrain,
10395
- columnShifts: null,
10396
10579
  domRef: createRef(),
10397
10580
  scrollerDOMRef: createRef(),
10398
10581
  portalDOMRef: createRef(),
@@ -10407,11 +10590,11 @@ function initSetupState2() {
10407
10590
  scrollTop: 0,
10408
10591
  scrollLeft: 0
10409
10592
  },
10593
+ columnReorderInProgress: false,
10410
10594
  ready: false,
10411
10595
  focused: false,
10412
10596
  focusedWithin: false,
10413
10597
  columnsWhenGrouping: columnsGeneratedForGrouping,
10414
- draggingColumnId: null,
10415
10598
  pinnedStartScrollListener: new ScrollListener(),
10416
10599
  pinnedEndScrollListener: new ScrollListener(),
10417
10600
  columnsWhenInlineGroupRenderStrategy: void 0
@@ -10465,7 +10648,6 @@ var forwardProps3 = (setupState) => {
10465
10648
  pivotTotalColumnPosition: (pivotTotalColumnPosition) => pivotTotalColumnPosition != null ? pivotTotalColumnPosition : "end",
10466
10649
  pivotGrandTotalColumnPosition: 1,
10467
10650
  licenseKey: (licenseKey) => licenseKey || "",
10468
- keyboardNavigation: (keyboardNavigation) => keyboardNavigation != null ? keyboardNavigation : "cell",
10469
10651
  activeRowIndex: 1,
10470
10652
  activeCellIndex: 1,
10471
10653
  columnOrder: (columnOrder) => columnOrder != null ? columnOrder : true,
@@ -10512,7 +10694,7 @@ var cleanupState = (state) => {
10512
10694
  state.pinnedStartScrollListener.destroy();
10513
10695
  };
10514
10696
  var mapPropsToState2 = (params) => {
10515
- var _a, _b;
10697
+ var _a, _b, _c;
10516
10698
  const { props, state, oldState, parentState } = params;
10517
10699
  const computedColumnGroups = state.pivotColumnGroups || state.columnGroups;
10518
10700
  const columnGroupsDepthsMap = state.columnGroups && state.columnGroups != (oldState == null ? void 0 : oldState.columnGroups) || state.pivotColumnGroups && state.pivotColumnGroups != (oldState == null ? void 0 : oldState.pivotColumnGroups) ? computeColumnGroupsDepths(computedColumnGroups) : state.columnGroupsDepthsMap;
@@ -10528,7 +10710,8 @@ var mapPropsToState2 = (params) => {
10528
10710
  groupRenderStrategy,
10529
10711
  groupBy,
10530
10712
  computedColumns,
10531
- columnHeaderCssEllipsis: (_b = (_a = props.columnHeaderCssEllipsis) != null ? _a : props.columnCssEllipsis) != null ? _b : true,
10713
+ keyboardNavigation: (_a = state.keyboardNavigation) != null ? _a : state.activeCellIndex != null ? "cell" : state.activeRowIndex != null ? "row" : "cell",
10714
+ columnHeaderCssEllipsis: (_c = (_b = props.columnHeaderCssEllipsis) != null ? _b : props.columnCssEllipsis) != null ? _c : true,
10532
10715
  columnGroupsDepthsMap,
10533
10716
  columnGroupsMaxDepth: columnGroupsDepthsMap != state.columnGroupsDepthsMap ? Math.max(...columnGroupsDepthsMap.values(), 0) : state.columnGroupsMaxDepth,
10534
10717
  computedColumnGroups,
@@ -10565,11 +10748,11 @@ var InfiniteTableComponent = memo11(function InfiniteTableComponent2() {
10565
10748
  getState
10566
10749
  } = useInfiniteTable();
10567
10750
  const {
10568
- componentState: { loading },
10751
+ componentState: { loading, dataArray },
10569
10752
  getState: getDataSourceState,
10570
10753
  componentActions: dataSourceActions
10571
10754
  } = useDataSourceContextValue();
10572
- const [imperativeApi] = useState16(() => {
10755
+ const [imperativeApi] = useState15(() => {
10573
10756
  return getImperativeApi(getState, getComputed, getDataSourceState, actions);
10574
10757
  });
10575
10758
  const {
@@ -10593,31 +10776,18 @@ var InfiniteTableComponent = memo11(function InfiniteTableComponent2() {
10593
10776
  activeCellIndex,
10594
10777
  onRenderUpdater
10595
10778
  } = componentState;
10596
- useEffect27(() => {
10597
- if (activeRowIndex != null) {
10598
- imperativeApi.scrollRowIntoView(activeRowIndex, {
10599
- offset: 30
10600
- });
10601
- }
10602
- }, [activeRowIndex]);
10603
- useEffect27(() => {
10604
- if (activeCellIndex != null) {
10605
- imperativeApi.scrollCellIntoView(activeCellIndex[0], activeCellIndex[1], {
10606
- offset: 30
10607
- });
10608
- }
10609
- }, [activeCellIndex]);
10610
- const { columnShifts, bodySize } = componentState;
10779
+ useScrollToActiveRow(activeRowIndex, dataArray.length, imperativeApi);
10780
+ useScrollToActiveCell(activeCellIndex, dataArray.length, imperativeApi);
10781
+ const { bodySize } = componentState;
10611
10782
  const { scrollbars } = computed;
10612
10783
  const { renderCell } = useCellRendering({
10613
10784
  imperativeApi,
10614
10785
  getComputed,
10615
10786
  domRef: componentState.domRef,
10616
- columnShifts,
10617
10787
  bodySize,
10618
10788
  computed
10619
10789
  });
10620
- useEffect26(() => {
10790
+ useEffect28(() => {
10621
10791
  const dataSourceState = getDataSourceState();
10622
10792
  const onChange = debounce((renderRange) => {
10623
10793
  dataSourceState.notifyRenderRangeChange({
@@ -10630,7 +10800,7 @@ var InfiniteTableComponent = memo11(function InfiniteTableComponent2() {
10630
10800
  const licenseValid = useLicense(licenseKey);
10631
10801
  const domProps = useDOMProps(componentState.domProps);
10632
10802
  const LoadMaskCmp = (_a = components == null ? void 0 : components.LoadMask) != null ? _a : LoadMask;
10633
- useEffect26(() => {
10803
+ useEffect28(() => {
10634
10804
  brain.setScrollStopDelay(scrollStopDelay);
10635
10805
  dataSourceActions.scrollStopDelayUpdatedByTable = scrollStopDelay;
10636
10806
  }, [scrollStopDelay]);
@@ -10657,7 +10827,7 @@ var InfiniteTableComponent = memo11(function InfiniteTableComponent2() {
10657
10827
  }) : null, /* @__PURE__ */ createElement28(InfiniteTableBody, null, /* @__PURE__ */ createElement28(HeadlessTable, {
10658
10828
  tabIndex: 0,
10659
10829
  activeRowIndex: componentState.ready && keyboardNavigation === "row" ? activeRowIndex : null,
10660
- activeCellIndex: componentState.ready && keyboardNavigation === "cell" ? activeCellIndex : null,
10830
+ activeCellIndex: componentState.ready && keyboardNavigation === "cell" && !componentState.columnReorderInProgress ? activeCellIndex : null,
10661
10831
  scrollStopDelay,
10662
10832
  renderer,
10663
10833
  onRenderUpdater,
@@ -10669,7 +10839,7 @@ var InfiniteTableComponent = memo11(function InfiniteTableComponent2() {
10669
10839
  visible: loading
10670
10840
  }, loadingText)), /* @__PURE__ */ createElement28("div", {
10671
10841
  ref: portalDOMRef,
10672
- className: join(`${rootClassName2}Portal`, zIndex[1e3], position.absolute, top[0], left[0])
10842
+ className: join(`${rootClassName2}Portal`, zIndex[1e7], position.absolute, top[0], left[0])
10673
10843
  }), rowHeightCSSVar ? /* @__PURE__ */ createElement28(CSSVariableWatch, {
10674
10844
  varName: rowHeightCSSVar,
10675
10845
  onChange: onRowHeightCSSVarChange
@@ -10702,13 +10872,13 @@ function InfiniteTableContextProvider() {
10702
10872
  };
10703
10873
  componentActions.bodySize = bodySize;
10704
10874
  }, { earlyAttach: true, debounce: 50 });
10705
- useEffect26(() => {
10875
+ useEffect28(() => {
10706
10876
  return () => {
10707
10877
  componentState.onRowHeightCSSVarChange.destroy();
10708
10878
  componentState.onColumnHeaderHeightCSSVarChange.destroy();
10709
10879
  };
10710
10880
  }, []);
10711
- useEffect26(() => {
10881
+ useEffect28(() => {
10712
10882
  if (scrollerDOMRef.current) {
10713
10883
  scrollerDOMRef.current.scrollTop = 0;
10714
10884
  }