@infinite-table/infinite-react 0.0.2 → 0.0.3

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.
Files changed (4) hide show
  1. package/index.d.ts +24 -19
  2. package/index.esm.js +61 -51
  3. package/index.js +61 -51
  4. package/package.json +2 -2
package/index.d.ts CHANGED
@@ -147,6 +147,7 @@ declare module "components/hooks/useComponentState" {
147
147
  [propName in keyof TYPE_PROPS & keyof TYPE_RESULT]: 1 | ((value: TYPE_PROPS[propName]) => TYPE_RESULT[propName]);
148
148
  }>;
149
149
  type ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE = {}, COMPONENT_DERIVED_STATE = {}, T_ACTIONS = {}, T_PARENT_STATE = {}> = {
150
+ debugName?: string;
150
151
  initSetupState?: () => COMPONENT_SETUP_STATE;
151
152
  forwardProps?: () => ForwardPropsToStateFnResult<T_PROPS, COMPONENT_MAPPED_STATE>;
152
153
  allowedControlledPropOverrides?: Record<keyof T_PROPS, true>;
@@ -367,7 +368,7 @@ declare module "components/DataSource/GroupRowsState" {
367
368
  }
368
369
  declare module "components/types/Renderable" {
369
370
  import * as React from 'react';
370
- export type Renderable = React.ReactNode | string | number | null;
371
+ export type Renderable = React.ReactNode;
371
372
  }
372
373
  declare module "components/InfiniteTable/types/Utility" {
373
374
  export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
@@ -405,6 +406,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
405
406
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
406
407
  groupRowsBy: DataSourceState<DATA_TYPE>['groupRowsBy'];
407
408
  }
409
+ export type InfiniteTableColumnRenderValueParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>;
408
410
  export type InfiniteTableColumnRowspanFnParams<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
409
411
  data: DATA_TYPE | null;
410
412
  rowInfo: InfiniteTableRowInfo<DATA_TYPE>;
@@ -419,6 +421,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
419
421
  }
420
422
  export type InfiniteTableColumnPinned = 'start' | 'end' | false;
421
423
  export type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = ({ value, rowIndex, column, data, toggleGroupRow, toggleCurrentGroupRow, rowInfo, groupRowsBy, }: InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>) => Renderable | null;
424
+ export type InfiniteTableColumnRenderValueFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE>;
422
425
  export type InfiniteTableColumnHeaderRenderFunction<T> = ({ columnSortInfo, column, }: InfiniteTableColumnHeaderRenderParams<T>) => Renderable;
423
426
  export type InfiniteTableColumnWithField<T> = {
424
427
  field: keyof T;
@@ -492,7 +495,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
492
495
  pivotColumn?: true;
493
496
  pivotTotalColumn?: true;
494
497
  pivotGroupKeys?: any[];
495
- renderValue?: InfiniteTableColumnRenderFunction<T>;
498
+ renderValue?: InfiniteTableColumnRenderValueFunction<T>;
496
499
  };
497
500
  type InfiniteTableComputedColumnBase<T> = {
498
501
  computedWidth: number;
@@ -854,10 +857,11 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
854
857
  columns: string[];
855
858
  depth: number;
856
859
  };
857
- export type GroupColumnGetterOptions<T> = {
858
- groupIndex?: number;
860
+ export type InfiniteTableGroupColumnGetterOptions<T> = {
861
+ groupIndexForColumn?: number;
862
+ groupByForColumn?: DataSourceGroupRowsBy<T>;
863
+ groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
859
864
  groupCount: number;
860
- groupBy?: DataSourceGroupRowsBy<T>;
861
865
  groupRowsBy: DataSourceGroupRowsBy<T>[];
862
866
  };
863
867
  export type PivotColumnGetterOptions<T> = {
@@ -872,7 +876,8 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
872
876
  export type InfiniteTablePivotColumnBase<T> = InfiniteTableColumn<T> & InfiniteTableColumnWithSize & {
873
877
  renderValue?: InfiniteTableColumnRenderFunction<T>;
874
878
  };
875
- export type InfiniteTablePropGroupColumn<T> = InfiniteTableGroupColumnBase<T> | ((options: GroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => InfiniteTableGroupColumnBase<T>);
879
+ export type InfiniteTablePropGroupColumn<T> = InfiniteTableGroupColumnBase<T> | InfiniteTableGroupColumnFunction<T>;
880
+ export type InfiniteTableGroupColumnFunction<T> = (options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => InfiniteTableGroupColumnBase<T>;
876
881
  export type InfiniteTablePropPivotColumn<T> = InfiniteTablePivotColumnBase<T> | ((options: PivotColumnGetterOptions<T>) => InfiniteTablePivotColumnBase<T>);
877
882
  export type InfiniteTablePropPivotRowLabelsColumn<T> = InfiniteTablePropPivotColumn<T>;
878
883
  export type InfiniteTablePropComponents = {
@@ -1134,12 +1139,12 @@ declare module "components/InfiniteTable/types/index" {
1134
1139
  import type { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1135
1140
  import type { InfiniteTableAction } from "components/InfiniteTable/types/InfiniteTableAction";
1136
1141
  import type { InfiniteTableActionType } from "components/InfiniteTable/types/InfiniteTableActionType";
1137
- import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTablePropRowStyle, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTablePropRowClassName, InfiniteTablePropColumns, InfiniteTablePropComponents } from "components/InfiniteTable/types/InfiniteTableProps";
1138
- import type { InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam } from "components/InfiniteTable/types/InfiniteTableColumn";
1142
+ import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTablePropRowStyle, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTablePropRowClassName, InfiniteTablePropColumns, InfiniteTablePropComponents, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions } from "components/InfiniteTable/types/InfiniteTableProps";
1143
+ import type { InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam } from "components/InfiniteTable/types/InfiniteTableColumn";
1139
1144
  import type { InfiniteTableComputedValues } from "components/InfiniteTable/types/InfiniteTableComputedValues";
1140
1145
  import type { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
1141
1146
  import type { InfiniteTableRowInfo } from "utils/groupAndPivot/index";
1142
- export type { InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTableRowInfo, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTableState, InfiniteTableAction, InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTableActionType, InfiniteTablePropRowStyle, InfiniteTablePropRowClassName, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, };
1147
+ export type { InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTableRowInfo, InfiniteTableGroupColumnFunction, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTableState, InfiniteTableAction, InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTableActionType, InfiniteTablePropRowStyle, InfiniteTablePropRowClassName, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTableGroupColumnGetterOptions, };
1143
1148
  }
1144
1149
  declare module "components/InfiniteTable/InfiniteTableContext" {
1145
1150
  import { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
@@ -1175,7 +1180,7 @@ declare module "components/InfiniteTable/state/getInitialState" {
1175
1180
  pivotColumn: 1 | ((value: Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined) => Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined);
1176
1181
  components: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined) => import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined);
1177
1182
  groupColumn: 1 | ((value: Partial<InfiniteTablePropGroupColumn<T>> | undefined) => Partial<InfiniteTablePropGroupColumn<T>> | undefined);
1178
- loadingText: 1 | ((value: import("components/types/Renderable").Renderable) => import("components/types/Renderable").Renderable);
1183
+ loadingText: 1 | ((value: import("react").ReactNode) => import("react").ReactNode);
1179
1184
  onReady: 1 | ((value: ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined) => ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined);
1180
1185
  onSelfFocus: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1181
1186
  onSelfBlur: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
@@ -1483,21 +1488,21 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/row.css" {
1483
1488
  export const GroupRowExpanderCls: string;
1484
1489
  }
1485
1490
  declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
1491
+ import * as React from 'react';
1486
1492
  import { InfiniteTableColumnRenderParam } from "components/InfiniteTable/index";
1487
1493
  import { DataSourceGroupRowsBy } from "components/DataSource/index";
1488
1494
  import { InfiniteTableGeneratedGroupColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
1489
- import { GroupColumnGetterOptions, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/InfiniteTableProps";
1490
- export function getGroupColumnRender<T>({ groupIndex, groupRenderStrategy, toggleGroupRow, }: {
1495
+ import { InfiniteTableGroupColumnGetterOptions, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/InfiniteTableProps";
1496
+ export function getGroupColumnRender<T>({ groupIndexForColumn, groupRenderStrategy, toggleGroupRow, }: {
1491
1497
  toggleGroupRow: (groupRowKeys: any[]) => void;
1492
1498
  groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1493
- groupIndex: number;
1494
- }): (renderOptions: InfiniteTableColumnRenderParam<T>) => import("components/types/Renderable").Renderable;
1495
- export function getColumnForGroupBy<T>(options: GroupColumnGetterOptions<T> & {
1496
- groupIndex: number;
1497
- groupBy: DataSourceGroupRowsBy<T>;
1498
- groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1499
+ groupIndexForColumn: number;
1500
+ }): (renderOptions: InfiniteTableColumnRenderParam<T>) => React.ReactNode;
1501
+ export function getColumnForGroupBy<T>(options: InfiniteTableGroupColumnGetterOptions<T> & {
1502
+ groupIndexForColumn: number;
1503
+ groupByForColumn: DataSourceGroupRowsBy<T>;
1499
1504
  }, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1500
- export function getSingleGroupColumn<T>(options: GroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1505
+ export function getSingleGroupColumn<T>(options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1501
1506
  }
1502
1507
  declare module "components/InfiniteTable/hooks/useToggleGroupRow" {
1503
1508
  export type ToggleGrouRowFn = (groupKeys: any[]) => void;
package/index.esm.js CHANGED
@@ -658,7 +658,7 @@ function computeColumnGroupsDepths(columnGroups) {
658
658
  while (parentGroupId) {
659
659
  const parent = columnGroups.get(parentGroupId);
660
660
  if (!parent) {
661
- if (false) {
661
+ if (true) {
662
662
  console.warn(`Cannot find column group ${parentGroupId}`);
663
663
  }
664
664
  break;
@@ -1075,7 +1075,7 @@ var Logger = class {
1075
1075
  constructor(channelName) {
1076
1076
  this.debug = emptyLogFn;
1077
1077
  this.error = emptyLogFn;
1078
- if (false) {
1078
+ if (true) {
1079
1079
  this.debug = dbg(channelName);
1080
1080
  this.error = err(channelName);
1081
1081
  }
@@ -1677,16 +1677,16 @@ function getComponentStateRoot(config) {
1677
1677
  return [__spreadProps(__spreadValues({}, initialArg), { props: props2 })];
1678
1678
  }
1679
1679
  });
1680
- propsToStateSetRef.current = new Set([
1681
- ...propsToStateSetRef.current,
1682
- ...propertyReads
1683
- ]);
1684
1680
  const stateFromProps = mapPropsToState3({
1685
1681
  props,
1686
1682
  state: state2,
1687
1683
  oldState: null,
1688
1684
  parentState
1689
1685
  });
1686
+ propsToStateSetRef.current = new Set([
1687
+ ...propsToStateSetRef.current,
1688
+ ...propertyReads
1689
+ ]);
1690
1690
  return __spreadValues(__spreadValues({}, state2), stateFromProps);
1691
1691
  }
1692
1692
  return state2;
@@ -1708,16 +1708,16 @@ function getComponentStateRoot(config) {
1708
1708
  return [__spreadProps(__spreadValues({}, initialArg), { props: props2 })];
1709
1709
  }
1710
1710
  });
1711
- propsToStateSetRef.current = new Set([
1712
- ...propsToStateSetRef.current,
1713
- ...propertyReads
1714
- ]);
1715
1711
  const stateFromProps = mapPropsToState3({
1716
1712
  props: getProps(),
1717
1713
  state: newState,
1718
1714
  oldState: previousState,
1719
1715
  parentState: parentState2
1720
1716
  });
1717
+ propsToStateSetRef.current = new Set([
1718
+ ...propsToStateSetRef.current,
1719
+ ...propertyReads
1720
+ ]);
1721
1721
  Object.assign(newState, stateFromProps);
1722
1722
  }
1723
1723
  const result = config.concludeReducer ? config.concludeReducer({
@@ -2091,7 +2091,7 @@ var RowHoverCls = "_7pupv01";
2091
2091
 
2092
2092
  // src/components/InfiniteTable/utils/getColumnForGroupBy.tsx
2093
2093
  function getGroupColumnRender({
2094
- groupIndex,
2094
+ groupIndexForColumn,
2095
2095
  groupRenderStrategy,
2096
2096
  toggleGroupRow
2097
2097
  }) {
@@ -2101,7 +2101,7 @@ function getGroupColumnRender({
2101
2101
  if (column.renderValue) {
2102
2102
  value = column.renderValue(renderOptions);
2103
2103
  }
2104
- let groupRowInfo = groupRenderStrategy !== "inline" ? rowInfo : ((_a = rowInfo.parents) == null ? void 0 : _a[groupIndex]) || rowInfo;
2104
+ let groupRowInfo = groupRenderStrategy !== "inline" ? rowInfo : ((_a = rowInfo.parents) == null ? void 0 : _a[groupIndexForColumn]) || rowInfo;
2105
2105
  if (!groupRowInfo) {
2106
2106
  return null;
2107
2107
  }
@@ -2111,14 +2111,14 @@ function getGroupColumnRender({
2111
2111
  if (groupRowInfo.groupCount === 1) {
2112
2112
  return value;
2113
2113
  }
2114
- if (groupRowInfo.groupNesting === groupIndex && collapsed) {
2114
+ if (groupRowInfo.groupNesting === groupIndexForColumn && collapsed) {
2115
2115
  return null;
2116
2116
  }
2117
2117
  } else {
2118
2118
  if (!groupRowInfo.isGroupRow) {
2119
2119
  return null;
2120
2120
  }
2121
- if (groupIndex + 1 !== groupRowInfo.groupNesting) {
2121
+ if (groupIndexForColumn + 1 !== groupRowInfo.groupNesting) {
2122
2122
  return null;
2123
2123
  }
2124
2124
  }
@@ -2135,17 +2135,21 @@ function getGroupColumnRender({
2135
2135
  };
2136
2136
  }
2137
2137
  function getColumnForGroupBy(options, toggleGroupRow, groupColumnFromProps) {
2138
- const { groupBy, groupIndex, groupRenderStrategy } = options;
2138
+ const {
2139
+ groupByForColumn,
2140
+ groupIndexForColumn,
2141
+ groupRenderStrategy
2142
+ } = options;
2139
2143
  let generatedGroupColumn = __spreadValues({
2140
- header: `Group by ${groupBy.field}`,
2141
- groupByField: groupBy.field,
2144
+ header: `Group by ${groupByForColumn.field}`,
2145
+ groupByField: groupByForColumn.field,
2142
2146
  sortable: false,
2143
2147
  render: getGroupColumnRender({
2144
- groupIndex,
2148
+ groupIndexForColumn,
2145
2149
  toggleGroupRow,
2146
2150
  groupRenderStrategy
2147
2151
  })
2148
- }, groupBy.column);
2152
+ }, groupByForColumn.column);
2149
2153
  if (groupColumnFromProps) {
2150
2154
  if (typeof groupColumnFromProps === "function") {
2151
2155
  generatedGroupColumn = __spreadValues(__spreadValues({}, generatedGroupColumn), groupColumnFromProps(options, toggleGroupRow));
@@ -3193,7 +3197,7 @@ function DataSourceCmp({ children }) {
3193
3197
  componentActions,
3194
3198
  getState
3195
3199
  };
3196
- if (false) {
3200
+ if (true) {
3197
3201
  globalThis.getDataSourceState = getState;
3198
3202
  }
3199
3203
  useLoadData();
@@ -3297,7 +3301,7 @@ function useColumnsWhenInlineGroupRenderStrategy(groupRowsMap) {
3297
3301
  return rowspan;
3298
3302
  },
3299
3303
  render: getGroupColumnRender({
3300
- groupIndex,
3304
+ groupIndexForColumn: groupIndex,
3301
3305
  groupRenderStrategy: groupRenderStrategy2,
3302
3306
  toggleGroupRow: toggleGroupRow2
3303
3307
  })
@@ -3360,7 +3364,7 @@ function useColumnsWhenGrouping() {
3360
3364
  return;
3361
3365
  }
3362
3366
  const update = () => {
3363
- componentActions.columnsWhenGrouping = getColumnsWhenGrouping({
3367
+ const columnsWhenGrouping = getColumnsWhenGrouping({
3364
3368
  columns,
3365
3369
  groupColumn,
3366
3370
  groupRenderStrategy,
@@ -3368,6 +3372,7 @@ function useColumnsWhenGrouping() {
3368
3372
  pivotColumns,
3369
3373
  toggleGroupRow
3370
3374
  });
3375
+ componentActions.columnsWhenGrouping = columnsWhenGrouping;
3371
3376
  };
3372
3377
  update();
3373
3378
  return interceptMap(columns, {
@@ -3455,11 +3460,11 @@ function getColumnsWhenGrouping(params) {
3455
3460
  }
3456
3461
  const computedColumns = new Map();
3457
3462
  if (groupRenderStrategy === "multi-column") {
3458
- groupRowsBy.forEach((groupBy, index, arr) => {
3459
- computedColumns.set(`group-by-${groupBy.field}`, getColumnForGroupBy({
3460
- groupBy,
3463
+ groupRowsBy.forEach((groupByForColumn, groupIndexForColumn, arr) => {
3464
+ computedColumns.set(`group-by-${groupByForColumn.field}`, getColumnForGroupBy({
3465
+ groupByForColumn,
3461
3466
  groupRowsBy,
3462
- groupIndex: index,
3467
+ groupIndexForColumn,
3463
3468
  groupCount: arr.length,
3464
3469
  groupRenderStrategy
3465
3470
  }, toggleGroupRow, groupColumn));
@@ -3467,7 +3472,8 @@ function getColumnsWhenGrouping(params) {
3467
3472
  } else if (groupRenderStrategy === "single-column") {
3468
3473
  computedColumns.set("group-by", getSingleGroupColumn({
3469
3474
  groupCount: groupRowsBy.length,
3470
- groupRowsBy
3475
+ groupRowsBy,
3476
+ groupRenderStrategy
3471
3477
  }, toggleGroupRow, groupColumn));
3472
3478
  }
3473
3479
  columns.forEach((col, colId) => {
@@ -4247,7 +4253,7 @@ var MappedItems = class extends Logger {
4247
4253
  this.init();
4248
4254
  }
4249
4255
  renderItemAtElement(itemIndex, elementIndex, renderNode) {
4250
- if (false) {
4256
+ if (true) {
4251
4257
  this.debug(`Render item ${itemIndex} at element ${elementIndex}`);
4252
4258
  }
4253
4259
  const currentItemIndex = this.elementIndexToItemIndex[elementIndex];
@@ -4306,7 +4312,7 @@ var ReactVirtualRenderer = class extends Logger {
4306
4312
  }
4307
4313
  const { mappedItems } = this;
4308
4314
  const { renderStartIndex, renderEndIndex } = range;
4309
- if (false) {
4315
+ if (true) {
4310
4316
  this.debug(`Render range ${renderStartIndex}-${renderEndIndex}. Force ${force}`);
4311
4317
  }
4312
4318
  const renderCount = renderEndIndex === -1 ? 0 : renderEndIndex - renderStartIndex + 1;
@@ -4319,7 +4325,7 @@ var ReactVirtualRenderer = class extends Logger {
4319
4325
  delete this.updaters[elementIndex];
4320
4326
  }
4321
4327
  delete this.items[elementIndex];
4322
- if (false) {
4328
+ if (true) {
4323
4329
  this.debug(`Discard element ${elementIndex}`);
4324
4330
  }
4325
4331
  });
@@ -4341,7 +4347,7 @@ var ReactVirtualRenderer = class extends Logger {
4341
4347
  }
4342
4348
  const elementIndex = elementsOutsideItemRange.pop();
4343
4349
  if (elementIndex == null) {
4344
- if (false) {
4350
+ if (true) {
4345
4351
  this.error(`Cannot find element to render item ${i}`);
4346
4352
  }
4347
4353
  continue;
@@ -4363,7 +4369,7 @@ var ReactVirtualRenderer = class extends Logger {
4363
4369
  const itemIndex = this.mappedItems.getItemRenderedAtElementIndex(elementIndex);
4364
4370
  const options = this.brain.getOptions();
4365
4371
  if (itemIndex == null) {
4366
- if (false) {
4372
+ if (true) {
4367
4373
  this.error(`Cannot find item for element ${elementIndex}`);
4368
4374
  }
4369
4375
  return;
@@ -4373,7 +4379,7 @@ var ReactVirtualRenderer = class extends Logger {
4373
4379
  return;
4374
4380
  }
4375
4381
  if (itemElement) {
4376
- if (false) {
4382
+ if (true) {
4377
4383
  itemElement.dataset.elementIndex = elementIndex;
4378
4384
  itemElement.dataset.itemIndex = itemIndex;
4379
4385
  }
@@ -4387,6 +4393,9 @@ var ReactVirtualRenderer = class extends Logger {
4387
4393
  }
4388
4394
  };
4389
4395
  this.destroy = () => {
4396
+ if (true) {
4397
+ return;
4398
+ }
4390
4399
  this.destroyed = true;
4391
4400
  this.mappedItems.destroy();
4392
4401
  this.itemDOMElements = [];
@@ -4446,7 +4455,7 @@ var ReactVirtualRenderer = class extends Logger {
4446
4455
  return;
4447
4456
  }
4448
4457
  this.mappedItems.renderItemAtElement(itemIndex, elementIndex, renderedNode);
4449
- if (false) {
4458
+ if (true) {
4450
4459
  this.debug(`Render item ${itemIndex} at element ${elementIndex}`);
4451
4460
  }
4452
4461
  itemUpdater(renderedNode);
@@ -4509,7 +4518,7 @@ function InfiniteTableHeaderFn(props) {
4509
4518
  const renderColumn = useCallback8(({ domRef: domRef2, itemIndex: columnIndex }) => {
4510
4519
  const column = columns[columnIndex];
4511
4520
  if (!column) {
4512
- if (false) {
4521
+ if (true) {
4513
4522
  debug3("Cannot find column to render at ", columnIndex);
4514
4523
  }
4515
4524
  return null;
@@ -4954,7 +4963,7 @@ var getScrollableClassName = (scrollable) => {
4954
4963
  };
4955
4964
 
4956
4965
  // src/components/VirtualScrollContainer/index.tsx
4957
- var rootClassName6 = "Infinite-VirtualScrollContainer";
4966
+ var rootClassName6 = "InfiniteVirtualScrollContainer";
4958
4967
  var VirtualScrollContainer = forwardRef2(function VirtualScrollContainer2(props, ref) {
4959
4968
  const {
4960
4969
  children,
@@ -4988,8 +4997,8 @@ function SpacePlaceholderFn(props) {
4988
4997
  };
4989
4998
  return /* @__PURE__ */ createElement21("div", {
4990
4999
  "data-count": count,
4991
- "data-width": width,
4992
- "data-height": height,
5000
+ "data-placeholder-width": true ? width : void 0,
5001
+ "data-placeholder-height": true ? height : void 0,
4993
5002
  "data-name": "SpacePlaceholder",
4994
5003
  style
4995
5004
  });
@@ -5066,7 +5075,7 @@ var VirtualList = (props) => {
5066
5075
  useEffect15(() => {
5067
5076
  const removeOnRenderCount = virtualBrain.onRenderCountChange((renderCount) => {
5068
5077
  renderCountRef.current = renderCount;
5069
- if (false) {
5078
+ if (true) {
5070
5079
  debug4.extend(mainAxis)(`Render count change ${renderCount}`);
5071
5080
  }
5072
5081
  rerender();
@@ -5094,7 +5103,7 @@ var VirtualList = (props) => {
5094
5103
  const domProps = __spreadProps(__spreadValues({}, restDOMProps), {
5095
5104
  className: join(props.className, rootClassName7, `${rootClassName7}--${mainAxis}`, VirtualListCls, VirtualListClsOrientation[mainAxis])
5096
5105
  });
5097
- if (false) {
5106
+ if (true) {
5098
5107
  domProps["data-cmp-name"] = `VirtualList`;
5099
5108
  }
5100
5109
  return /* @__PURE__ */ createElement22(Fragment4, null, /* @__PURE__ */ createElement22("div", __spreadValues({}, domProps), /* @__PURE__ */ createElement22(VirtualScrollContainer, {
@@ -5408,7 +5417,7 @@ function InfiniteTableRowFn(props) {
5408
5417
  if (renderCellRef.current !== renderCell) {
5409
5418
  renderCellRef.current = renderCell;
5410
5419
  }
5411
- if (false) {
5420
+ if (true) {
5412
5421
  domProps["data-cmp-name"] = "ITableRow";
5413
5422
  }
5414
5423
  return /* @__PURE__ */ createElement25("div", __spreadProps(__spreadValues({}, domProps), {
@@ -5711,7 +5720,7 @@ var RowListWithExternalScrolling = (props) => {
5711
5720
  const onScroll = (scrollPosition) => {
5712
5721
  const node = domRef.current;
5713
5722
  if (node) {
5714
- if (false) {
5723
+ if (true) {
5715
5724
  const { renderStartIndex, renderEndIndex } = brain.getRenderRange();
5716
5725
  node.dataset.renderStartIndex = renderStartIndex;
5717
5726
  node.dataset.renderEndIndex = renderEndIndex;
@@ -5733,7 +5742,7 @@ var RowListWithExternalScrolling = (props) => {
5733
5742
  style,
5734
5743
  className: join(className, rootClassName10, `${rootClassName10}--vertical`, VirtualListCls, VirtualListClsOrientation.vertical, ...defaultClasses)
5735
5744
  };
5736
- if (false) {
5745
+ if (true) {
5737
5746
  domProps["data-cmp-name"] = "RowListWithExternalScrolling";
5738
5747
  }
5739
5748
  return /* @__PURE__ */ createElement28("div", __spreadValues({}, domProps), /* @__PURE__ */ createElement28(RawList, {
@@ -5959,7 +5968,7 @@ var VirtualBrain = class extends Logger {
5959
5968
  this.availableSize = { width: 0, height: 0 };
5960
5969
  this.setAvailableSize = (size) => {
5961
5970
  this.availableSize = size;
5962
- if (false) {
5971
+ if (true) {
5963
5972
  this.debug("New available size %d", size[this.options.mainAxis === "vertical" ? "height" : "width"]);
5964
5973
  }
5965
5974
  this.updateRenderCount();
@@ -5996,7 +6005,7 @@ var VirtualBrain = class extends Logger {
5996
6005
  this.notifyTotalSizeChange();
5997
6006
  return;
5998
6007
  }
5999
- if (false) {
6008
+ if (true) {
6000
6009
  this.debug("set renderCount to %d", renderCount);
6001
6010
  }
6002
6011
  this.renderCount = renderCount;
@@ -6070,7 +6079,7 @@ var VirtualBrain = class extends Logger {
6070
6079
  return;
6071
6080
  }
6072
6081
  }
6073
- if (false) {
6082
+ if (true) {
6074
6083
  if (itemSizeChange && countChange) {
6075
6084
  this.debug(`Reset brain: reason itemSize changed and count changed (old ${count}, new ${newCount})`, {
6076
6085
  oldItemSize: itemSize,
@@ -6110,7 +6119,7 @@ var VirtualBrain = class extends Logger {
6110
6119
  if (cache[i] === void 0) {
6111
6120
  ItemIndexBag.itemIndex = i;
6112
6121
  let spanValue = itemSpan(ItemIndexBag);
6113
- if (false) {
6122
+ if (spanValue < 1) {
6114
6123
  this.debug("itemSpan cannot be less than 1 - got %d for index %d", spanValue, i);
6115
6124
  }
6116
6125
  cache[i] = i;
@@ -6310,7 +6319,7 @@ var VirtualBrain = class extends Logger {
6310
6319
  const { renderStartIndex, renderEndIndex } = this.renderRange;
6311
6320
  if (renderEndIndex !== renderRange.renderEndIndex || renderStartIndex !== renderRange.renderStartIndex) {
6312
6321
  this.renderRange = renderRange;
6313
- if (false) {
6322
+ if (true) {
6314
6323
  this.debug("Set renderRange to %d-%d", renderRange.renderStartIndex, renderRange.renderEndIndex);
6315
6324
  }
6316
6325
  this.notifyRenderRangeChange();
@@ -6827,7 +6836,7 @@ var useLicense = (licenseKey) => {
6827
6836
  const valid = useMemo11(() => {
6828
6837
  let valid2 = isValidLicense(licenseKey, {
6829
6838
  publishedAt: 1624970570587,
6830
- version: "0.0.2"
6839
+ version: "0.0.3"
6831
6840
  });
6832
6841
  if (!licenseKey && !valid2 && isInsideSandbox) {
6833
6842
  return true;
@@ -7016,7 +7025,8 @@ var InfiniteTableRoot = getComponentStateRoot({
7016
7025
  rowHeight: true,
7017
7026
  headerHeight: true
7018
7027
  },
7019
- getParentState: () => useDataSource()
7028
+ getParentState: () => useDataSource(),
7029
+ debugName: "InfiniteTable"
7020
7030
  });
7021
7031
  var InfiniteTableComponent = memo13(function InfiniteTableComponent2() {
7022
7032
  var _a;
@@ -7094,7 +7104,7 @@ function InfiniteTableContextProvider() {
7094
7104
  const computed = useComputed();
7095
7105
  const getComputed = useLatest(computed);
7096
7106
  const getState = useLatest(componentState);
7097
- if (false) {
7107
+ if (true) {
7098
7108
  globalThis.getState = getState;
7099
7109
  globalThis.getComputed = getComputed;
7100
7110
  }
package/index.js CHANGED
@@ -674,7 +674,7 @@ function computeColumnGroupsDepths(columnGroups) {
674
674
  while (parentGroupId) {
675
675
  const parent = columnGroups.get(parentGroupId);
676
676
  if (!parent) {
677
- if (false) {
677
+ if (true) {
678
678
  console.warn(`Cannot find column group ${parentGroupId}`);
679
679
  }
680
680
  break;
@@ -1083,7 +1083,7 @@ var Logger = class {
1083
1083
  constructor(channelName) {
1084
1084
  this.debug = emptyLogFn;
1085
1085
  this.error = emptyLogFn;
1086
- if (false) {
1086
+ if (true) {
1087
1087
  this.debug = dbg(channelName);
1088
1088
  this.error = err(channelName);
1089
1089
  }
@@ -1670,16 +1670,16 @@ function getComponentStateRoot(config) {
1670
1670
  return [__spreadProps(__spreadValues({}, initialArg), { props: props2 })];
1671
1671
  }
1672
1672
  });
1673
- propsToStateSetRef.current = new Set([
1674
- ...propsToStateSetRef.current,
1675
- ...propertyReads
1676
- ]);
1677
1673
  const stateFromProps = mapPropsToState3({
1678
1674
  props,
1679
1675
  state: state2,
1680
1676
  oldState: null,
1681
1677
  parentState
1682
1678
  });
1679
+ propsToStateSetRef.current = new Set([
1680
+ ...propsToStateSetRef.current,
1681
+ ...propertyReads
1682
+ ]);
1683
1683
  return __spreadValues(__spreadValues({}, state2), stateFromProps);
1684
1684
  }
1685
1685
  return state2;
@@ -1701,16 +1701,16 @@ function getComponentStateRoot(config) {
1701
1701
  return [__spreadProps(__spreadValues({}, initialArg), { props: props2 })];
1702
1702
  }
1703
1703
  });
1704
- propsToStateSetRef.current = new Set([
1705
- ...propsToStateSetRef.current,
1706
- ...propertyReads
1707
- ]);
1708
1704
  const stateFromProps = mapPropsToState3({
1709
1705
  props: getProps(),
1710
1706
  state: newState,
1711
1707
  oldState: previousState,
1712
1708
  parentState: parentState2
1713
1709
  });
1710
+ propsToStateSetRef.current = new Set([
1711
+ ...propsToStateSetRef.current,
1712
+ ...propertyReads
1713
+ ]);
1714
1714
  Object.assign(newState, stateFromProps);
1715
1715
  }
1716
1716
  const result = config.concludeReducer ? config.concludeReducer({
@@ -2075,7 +2075,7 @@ var RowHoverCls = "_7pupv01";
2075
2075
 
2076
2076
  // src/components/InfiniteTable/utils/getColumnForGroupBy.tsx
2077
2077
  function getGroupColumnRender({
2078
- groupIndex,
2078
+ groupIndexForColumn,
2079
2079
  groupRenderStrategy,
2080
2080
  toggleGroupRow
2081
2081
  }) {
@@ -2085,7 +2085,7 @@ function getGroupColumnRender({
2085
2085
  if (column.renderValue) {
2086
2086
  value = column.renderValue(renderOptions);
2087
2087
  }
2088
- let groupRowInfo = groupRenderStrategy !== "inline" ? rowInfo : ((_a = rowInfo.parents) == null ? void 0 : _a[groupIndex]) || rowInfo;
2088
+ let groupRowInfo = groupRenderStrategy !== "inline" ? rowInfo : ((_a = rowInfo.parents) == null ? void 0 : _a[groupIndexForColumn]) || rowInfo;
2089
2089
  if (!groupRowInfo) {
2090
2090
  return null;
2091
2091
  }
@@ -2095,14 +2095,14 @@ function getGroupColumnRender({
2095
2095
  if (groupRowInfo.groupCount === 1) {
2096
2096
  return value;
2097
2097
  }
2098
- if (groupRowInfo.groupNesting === groupIndex && collapsed) {
2098
+ if (groupRowInfo.groupNesting === groupIndexForColumn && collapsed) {
2099
2099
  return null;
2100
2100
  }
2101
2101
  } else {
2102
2102
  if (!groupRowInfo.isGroupRow) {
2103
2103
  return null;
2104
2104
  }
2105
- if (groupIndex + 1 !== groupRowInfo.groupNesting) {
2105
+ if (groupIndexForColumn + 1 !== groupRowInfo.groupNesting) {
2106
2106
  return null;
2107
2107
  }
2108
2108
  }
@@ -2119,17 +2119,21 @@ function getGroupColumnRender({
2119
2119
  };
2120
2120
  }
2121
2121
  function getColumnForGroupBy(options, toggleGroupRow, groupColumnFromProps) {
2122
- const { groupBy, groupIndex, groupRenderStrategy } = options;
2122
+ const {
2123
+ groupByForColumn,
2124
+ groupIndexForColumn,
2125
+ groupRenderStrategy
2126
+ } = options;
2123
2127
  let generatedGroupColumn = __spreadValues({
2124
- header: `Group by ${groupBy.field}`,
2125
- groupByField: groupBy.field,
2128
+ header: `Group by ${groupByForColumn.field}`,
2129
+ groupByField: groupByForColumn.field,
2126
2130
  sortable: false,
2127
2131
  render: getGroupColumnRender({
2128
- groupIndex,
2132
+ groupIndexForColumn,
2129
2133
  toggleGroupRow,
2130
2134
  groupRenderStrategy
2131
2135
  })
2132
- }, groupBy.column);
2136
+ }, groupByForColumn.column);
2133
2137
  if (groupColumnFromProps) {
2134
2138
  if (typeof groupColumnFromProps === "function") {
2135
2139
  generatedGroupColumn = __spreadValues(__spreadValues({}, generatedGroupColumn), groupColumnFromProps(options, toggleGroupRow));
@@ -3174,7 +3178,7 @@ function DataSourceCmp({ children }) {
3174
3178
  componentActions,
3175
3179
  getState
3176
3180
  };
3177
- if (false) {
3181
+ if (true) {
3178
3182
  globalThis.getDataSourceState = getState;
3179
3183
  }
3180
3184
  useLoadData();
@@ -3278,7 +3282,7 @@ function useColumnsWhenInlineGroupRenderStrategy(groupRowsMap) {
3278
3282
  return rowspan;
3279
3283
  },
3280
3284
  render: getGroupColumnRender({
3281
- groupIndex,
3285
+ groupIndexForColumn: groupIndex,
3282
3286
  groupRenderStrategy: groupRenderStrategy2,
3283
3287
  toggleGroupRow: toggleGroupRow2
3284
3288
  })
@@ -3341,7 +3345,7 @@ function useColumnsWhenGrouping() {
3341
3345
  return;
3342
3346
  }
3343
3347
  const update = () => {
3344
- componentActions.columnsWhenGrouping = getColumnsWhenGrouping({
3348
+ const columnsWhenGrouping = getColumnsWhenGrouping({
3345
3349
  columns,
3346
3350
  groupColumn,
3347
3351
  groupRenderStrategy,
@@ -3349,6 +3353,7 @@ function useColumnsWhenGrouping() {
3349
3353
  pivotColumns,
3350
3354
  toggleGroupRow
3351
3355
  });
3356
+ componentActions.columnsWhenGrouping = columnsWhenGrouping;
3352
3357
  };
3353
3358
  update();
3354
3359
  return interceptMap(columns, {
@@ -3436,11 +3441,11 @@ function getColumnsWhenGrouping(params) {
3436
3441
  }
3437
3442
  const computedColumns = new Map();
3438
3443
  if (groupRenderStrategy === "multi-column") {
3439
- groupRowsBy.forEach((groupBy, index, arr) => {
3440
- computedColumns.set(`group-by-${groupBy.field}`, getColumnForGroupBy({
3441
- groupBy,
3444
+ groupRowsBy.forEach((groupByForColumn, groupIndexForColumn, arr) => {
3445
+ computedColumns.set(`group-by-${groupByForColumn.field}`, getColumnForGroupBy({
3446
+ groupByForColumn,
3442
3447
  groupRowsBy,
3443
- groupIndex: index,
3448
+ groupIndexForColumn,
3444
3449
  groupCount: arr.length,
3445
3450
  groupRenderStrategy
3446
3451
  }, toggleGroupRow, groupColumn));
@@ -3448,7 +3453,8 @@ function getColumnsWhenGrouping(params) {
3448
3453
  } else if (groupRenderStrategy === "single-column") {
3449
3454
  computedColumns.set("group-by", getSingleGroupColumn({
3450
3455
  groupCount: groupRowsBy.length,
3451
- groupRowsBy
3456
+ groupRowsBy,
3457
+ groupRenderStrategy
3452
3458
  }, toggleGroupRow, groupColumn));
3453
3459
  }
3454
3460
  columns.forEach((col, colId) => {
@@ -4199,7 +4205,7 @@ var MappedItems = class extends Logger {
4199
4205
  this.init();
4200
4206
  }
4201
4207
  renderItemAtElement(itemIndex, elementIndex, renderNode) {
4202
- if (false) {
4208
+ if (true) {
4203
4209
  this.debug(`Render item ${itemIndex} at element ${elementIndex}`);
4204
4210
  }
4205
4211
  const currentItemIndex = this.elementIndexToItemIndex[elementIndex];
@@ -4254,7 +4260,7 @@ var ReactVirtualRenderer = class extends Logger {
4254
4260
  }
4255
4261
  const { mappedItems } = this;
4256
4262
  const { renderStartIndex, renderEndIndex } = range;
4257
- if (false) {
4263
+ if (true) {
4258
4264
  this.debug(`Render range ${renderStartIndex}-${renderEndIndex}. Force ${force}`);
4259
4265
  }
4260
4266
  const renderCount = renderEndIndex === -1 ? 0 : renderEndIndex - renderStartIndex + 1;
@@ -4267,7 +4273,7 @@ var ReactVirtualRenderer = class extends Logger {
4267
4273
  delete this.updaters[elementIndex];
4268
4274
  }
4269
4275
  delete this.items[elementIndex];
4270
- if (false) {
4276
+ if (true) {
4271
4277
  this.debug(`Discard element ${elementIndex}`);
4272
4278
  }
4273
4279
  });
@@ -4289,7 +4295,7 @@ var ReactVirtualRenderer = class extends Logger {
4289
4295
  }
4290
4296
  const elementIndex = elementsOutsideItemRange.pop();
4291
4297
  if (elementIndex == null) {
4292
- if (false) {
4298
+ if (true) {
4293
4299
  this.error(`Cannot find element to render item ${i}`);
4294
4300
  }
4295
4301
  continue;
@@ -4311,7 +4317,7 @@ var ReactVirtualRenderer = class extends Logger {
4311
4317
  const itemIndex = this.mappedItems.getItemRenderedAtElementIndex(elementIndex);
4312
4318
  const options = this.brain.getOptions();
4313
4319
  if (itemIndex == null) {
4314
- if (false) {
4320
+ if (true) {
4315
4321
  this.error(`Cannot find item for element ${elementIndex}`);
4316
4322
  }
4317
4323
  return;
@@ -4321,7 +4327,7 @@ var ReactVirtualRenderer = class extends Logger {
4321
4327
  return;
4322
4328
  }
4323
4329
  if (itemElement) {
4324
- if (false) {
4330
+ if (true) {
4325
4331
  itemElement.dataset.elementIndex = elementIndex;
4326
4332
  itemElement.dataset.itemIndex = itemIndex;
4327
4333
  }
@@ -4335,6 +4341,9 @@ var ReactVirtualRenderer = class extends Logger {
4335
4341
  }
4336
4342
  };
4337
4343
  this.destroy = () => {
4344
+ if (true) {
4345
+ return;
4346
+ }
4338
4347
  this.destroyed = true;
4339
4348
  this.mappedItems.destroy();
4340
4349
  this.itemDOMElements = [];
@@ -4394,7 +4403,7 @@ var ReactVirtualRenderer = class extends Logger {
4394
4403
  return;
4395
4404
  }
4396
4405
  this.mappedItems.renderItemAtElement(itemIndex, elementIndex, renderedNode);
4397
- if (false) {
4406
+ if (true) {
4398
4407
  this.debug(`Render item ${itemIndex} at element ${elementIndex}`);
4399
4408
  }
4400
4409
  itemUpdater(renderedNode);
@@ -4457,7 +4466,7 @@ function InfiniteTableHeaderFn(props) {
4457
4466
  const renderColumn = (0, import_react26.useCallback)(({ domRef: domRef2, itemIndex: columnIndex }) => {
4458
4467
  const column = columns[columnIndex];
4459
4468
  if (!column) {
4460
- if (false) {
4469
+ if (true) {
4461
4470
  debug3("Cannot find column to render at ", columnIndex);
4462
4471
  }
4463
4472
  return null;
@@ -4890,7 +4899,7 @@ var getScrollableClassName = (scrollable) => {
4890
4899
  };
4891
4900
 
4892
4901
  // src/components/VirtualScrollContainer/index.tsx
4893
- var rootClassName6 = "Infinite-VirtualScrollContainer";
4902
+ var rootClassName6 = "InfiniteVirtualScrollContainer";
4894
4903
  var VirtualScrollContainer = React23.forwardRef(function VirtualScrollContainer2(props, ref) {
4895
4904
  const {
4896
4905
  children,
@@ -4921,8 +4930,8 @@ function SpacePlaceholderFn(props) {
4921
4930
  };
4922
4931
  return /* @__PURE__ */ React24.createElement("div", {
4923
4932
  "data-count": count,
4924
- "data-width": width,
4925
- "data-height": height,
4933
+ "data-placeholder-width": true ? width : void 0,
4934
+ "data-placeholder-height": true ? height : void 0,
4926
4935
  "data-name": "SpacePlaceholder",
4927
4936
  style
4928
4937
  });
@@ -4991,7 +5000,7 @@ var VirtualList = (props) => {
4991
5000
  (0, import_react30.useEffect)(() => {
4992
5001
  const removeOnRenderCount = virtualBrain.onRenderCountChange((renderCount) => {
4993
5002
  renderCountRef.current = renderCount;
4994
- if (false) {
5003
+ if (true) {
4995
5004
  debug4.extend(mainAxis)(`Render count change ${renderCount}`);
4996
5005
  }
4997
5006
  rerender();
@@ -5019,7 +5028,7 @@ var VirtualList = (props) => {
5019
5028
  const domProps = __spreadProps(__spreadValues({}, restDOMProps), {
5020
5029
  className: join(props.className, rootClassName7, `${rootClassName7}--${mainAxis}`, VirtualListCls, VirtualListClsOrientation[mainAxis])
5021
5030
  });
5022
- if (false) {
5031
+ if (true) {
5023
5032
  domProps["data-cmp-name"] = `VirtualList`;
5024
5033
  }
5025
5034
  return /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement("div", __spreadValues({}, domProps), /* @__PURE__ */ React25.createElement(VirtualScrollContainer, {
@@ -5323,7 +5332,7 @@ function InfiniteTableRowFn(props) {
5323
5332
  if (renderCellRef.current !== renderCell) {
5324
5333
  renderCellRef.current = renderCell;
5325
5334
  }
5326
- if (false) {
5335
+ if (true) {
5327
5336
  domProps["data-cmp-name"] = "ITableRow";
5328
5337
  }
5329
5338
  return /* @__PURE__ */ React28.createElement("div", __spreadProps(__spreadValues({}, domProps), {
@@ -5618,7 +5627,7 @@ var RowListWithExternalScrolling = (props) => {
5618
5627
  const onScroll = (scrollPosition) => {
5619
5628
  const node = domRef.current;
5620
5629
  if (node) {
5621
- if (false) {
5630
+ if (true) {
5622
5631
  const { renderStartIndex, renderEndIndex } = brain.getRenderRange();
5623
5632
  node.dataset.renderStartIndex = renderStartIndex;
5624
5633
  node.dataset.renderEndIndex = renderEndIndex;
@@ -5640,7 +5649,7 @@ var RowListWithExternalScrolling = (props) => {
5640
5649
  style,
5641
5650
  className: join(className, rootClassName10, `${rootClassName10}--vertical`, VirtualListCls, VirtualListClsOrientation.vertical, ...defaultClasses)
5642
5651
  };
5643
- if (false) {
5652
+ if (true) {
5644
5653
  domProps["data-cmp-name"] = "RowListWithExternalScrolling";
5645
5654
  }
5646
5655
  return /* @__PURE__ */ React31.createElement("div", __spreadValues({}, domProps), /* @__PURE__ */ React31.createElement(RawList, {
@@ -5866,7 +5875,7 @@ var VirtualBrain = class extends Logger {
5866
5875
  this.availableSize = { width: 0, height: 0 };
5867
5876
  this.setAvailableSize = (size) => {
5868
5877
  this.availableSize = size;
5869
- if (false) {
5878
+ if (true) {
5870
5879
  this.debug("New available size %d", size[this.options.mainAxis === "vertical" ? "height" : "width"]);
5871
5880
  }
5872
5881
  this.updateRenderCount();
@@ -5903,7 +5912,7 @@ var VirtualBrain = class extends Logger {
5903
5912
  this.notifyTotalSizeChange();
5904
5913
  return;
5905
5914
  }
5906
- if (false) {
5915
+ if (true) {
5907
5916
  this.debug("set renderCount to %d", renderCount);
5908
5917
  }
5909
5918
  this.renderCount = renderCount;
@@ -5977,7 +5986,7 @@ var VirtualBrain = class extends Logger {
5977
5986
  return;
5978
5987
  }
5979
5988
  }
5980
- if (false) {
5989
+ if (true) {
5981
5990
  if (itemSizeChange && countChange) {
5982
5991
  this.debug(`Reset brain: reason itemSize changed and count changed (old ${count}, new ${newCount})`, {
5983
5992
  oldItemSize: itemSize,
@@ -6017,7 +6026,7 @@ var VirtualBrain = class extends Logger {
6017
6026
  if (cache[i] === void 0) {
6018
6027
  ItemIndexBag.itemIndex = i;
6019
6028
  let spanValue = itemSpan(ItemIndexBag);
6020
- if (false) {
6029
+ if (spanValue < 1) {
6021
6030
  this.debug("itemSpan cannot be less than 1 - got %d for index %d", spanValue, i);
6022
6031
  }
6023
6032
  cache[i] = i;
@@ -6217,7 +6226,7 @@ var VirtualBrain = class extends Logger {
6217
6226
  const { renderStartIndex, renderEndIndex } = this.renderRange;
6218
6227
  if (renderEndIndex !== renderRange.renderEndIndex || renderStartIndex !== renderRange.renderStartIndex) {
6219
6228
  this.renderRange = renderRange;
6220
- if (false) {
6229
+ if (true) {
6221
6230
  this.debug("Set renderRange to %d-%d", renderRange.renderStartIndex, renderRange.renderEndIndex);
6222
6231
  }
6223
6232
  this.notifyRenderRangeChange();
@@ -6729,7 +6738,7 @@ var useLicense = (licenseKey) => {
6729
6738
  const valid = (0, import_react42.useMemo)(() => {
6730
6739
  let valid2 = isValidLicense(licenseKey, {
6731
6740
  publishedAt: 1624970570587,
6732
- version: "0.0.2"
6741
+ version: "0.0.3"
6733
6742
  });
6734
6743
  if (!licenseKey && !valid2 && isInsideSandbox) {
6735
6744
  return true;
@@ -6911,7 +6920,8 @@ var InfiniteTableRoot = getComponentStateRoot({
6911
6920
  rowHeight: true,
6912
6921
  headerHeight: true
6913
6922
  },
6914
- getParentState: () => useDataSource()
6923
+ getParentState: () => useDataSource(),
6924
+ debugName: "InfiniteTable"
6915
6925
  });
6916
6926
  var InfiniteTableComponent = React36.memo(function InfiniteTableComponent2() {
6917
6927
  var _a;
@@ -6989,7 +6999,7 @@ function InfiniteTableContextProvider() {
6989
6999
  const computed = useComputed();
6990
7000
  const getComputed = useLatest(computed);
6991
7001
  const getState = useLatest(componentState);
6992
- if (false) {
7002
+ if (true) {
6993
7003
  globalThis.getState = getState;
6994
7004
  globalThis.getComputed = getComputed;
6995
7005
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@infinite-table/infinite-react",
3
3
  "description": "Infinite Table for React",
4
- "version": "0.0.2",
4
+ "version": "0.0.3",
5
5
  "main": "index.js",
6
6
  "module": "index.esm.js",
7
7
  "typings": "index.d.ts",
@@ -15,5 +15,5 @@
15
15
  },
16
16
  "license": "Commercial",
17
17
  "//": "will be updated at build time",
18
- "publishedAt": 1637839347500
18
+ "publishedAt": 1638183704342
19
19
  }