@infinite-table/infinite-react 0.4.2 → 0.4.5

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.css CHANGED
@@ -541,6 +541,47 @@
541
541
  visibility: visible;
542
542
  }
543
543
 
544
+ /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/icons/ExpanderIcon.css.ts.vanilla.css?source= */
545
+
546
+ /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/InfiniteTableRow/row.css.ts.vanilla.css?source=#H4sIAAAAAAAAA82SwW7DIBBE7/kKjnElIkdtFcn9mAjD2kYlC4K1XbXqvxcsqwmpU+dU9YbYmcesmN3x4Ho3lCX72DA2amO47AS2UDHyAkNj/eklTpwNmrTFiok6WNMTpFuyrmJlOhloaD46q5HAcxgAKVRsEH7LucZGoybg3o48l/Cx0wZ4kN4ao7EtEuXCIeN7J+QSYri65coicTuA91rBIr4W8rX1tkcVUZ+b3bzjftrxpnYR1aWHcuAPRAADkkCtsb5190CtWuUtYM7LPk7LrhBueJ/u8eYBM//z5H+PegVvFduX5eX08Ou0nqZOKBWbEDWxELEaJHyslxRGbq+iZG3gKYyb4iEESgQD2FJXsIfrHc7SuV+zo8hWkf8rjlqKA+mH/i7MF+wOkM8zBAAA */
547
+ ._7pupv00 {
548
+ will-change: transform;
549
+ position: absolute;
550
+ top: 0;
551
+ left: 0;
552
+ pointer-events: var(--infinite-row-pointer-events-while-scrolling);
553
+ --infinite-column-cell-bg-dont-override: var(--infinite-row-background);
554
+ }
555
+ ._7pupv01 {
556
+ --infinite-row-background: var(--infinite-row-hover-background);
557
+ --infinite-row-selected-background: var(--infinite-row-selected-hover-background);
558
+ --infinite-row-odd-background: var(--infinite-row-hover-background);
559
+ }
560
+ ._7pupv03 {
561
+ background: var(--infinite-row-background);
562
+ }
563
+ ._7pupv04 {
564
+ background: var(--infinite-row-odd-background);
565
+ }
566
+ ._7pupv05 {
567
+ z-index: 100;
568
+ }
569
+ ._7pupv07 {
570
+ z-index: 100;
571
+ }
572
+ ._7pupv0b {
573
+ -webkit-padding-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
574
+ padding-inline-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
575
+ }
576
+ ._7pupv0c {
577
+ -webkit-padding-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
578
+ padding-inline-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
579
+ }
580
+ ._7pupv0d {
581
+ -webkit-padding-end: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
582
+ padding-inline-end: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
583
+ }
584
+
544
585
  /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/cell.css.ts.vanilla.css?source=#H4sIAAAAAAAAA6WSy27CMBBF93yFl2VhxKMvpR9TOfY4GBxPNHZ4qOLfm9i0xQ200G4iR3PvmTujmbzOAHZyLqbsbcTYqvXB6D2X6AK4UDDZfYFeRofR5EM5O6/UFnbcB0EhU89/V7P0py1uC0a45QQbIA8ZZxE5gYTzJhh0BbOgA1tMp7XPhPcDoUOXsx6ipBFKGVcVbCPojnPjtHEmAJdgLT8Wx326EkkB8b7fefFRsDUqLMfMozUqBWgEddOeMMhUy79C4gB7aMv5xrLPWR4H48a3RqoHbdC2teu2mzqB1iADVy2J3jjOVvQUsbWgyriOYI2DQWwPtgN0Vi6XINcl7nhmyInPkdhlQDq/gFjKPRA9pZDrirB1amDsr+WrnJv1NWZU6iKgugaQlgCXKatESTsP2MQ74iSUaf2Pl5AkpxdYYghY3w44SWO/p4kX+a84txMO73J/8Ap2BAAA */
545
586
  ._1eexc2a0 {
546
587
  justify-content: center;
@@ -704,45 +745,6 @@
704
745
  background: var(--infinite-resize-handle-constrained-hover-background);
705
746
  }
706
747
 
707
- /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/InfiniteTableRow/row.css.ts.vanilla.css?source=#H4sIAAAAAAAAA82SwW7DIBBE7/kKjnElIkdtFcn9mAjD2kYlC4K1XbXqvxcsqwmpU+dU9YbYmcesmN3x4Ho3lCX72DA2amO47AS2UDHyAkNj/eklTpwNmrTFiok6WNMTpFuyrmJlOhloaD46q5HAcxgAKVRsEH7LucZGoybg3o48l/Cx0wZ4kN4ao7EtEuXCIeN7J+QSYri65coicTuA91rBIr4W8rX1tkcVUZ+b3bzjftrxpnYR1aWHcuAPRAADkkCtsb5190CtWuUtYM7LPk7LrhBueJ/u8eYBM//z5H+PegVvFduX5eX08Ou0nqZOKBWbEDWxELEaJHyslxRGbq+iZG3gKYyb4iEESgQD2FJXsIfrHc7SuV+zo8hWkf8rjlqKA+mH/i7MF+wOkM8zBAAA */
708
- ._7pupv00 {
709
- will-change: transform;
710
- position: absolute;
711
- top: 0;
712
- left: 0;
713
- pointer-events: var(--infinite-row-pointer-events-while-scrolling);
714
- --infinite-column-cell-bg-dont-override: var(--infinite-row-background);
715
- }
716
- ._7pupv01 {
717
- --infinite-row-background: var(--infinite-row-hover-background);
718
- --infinite-row-selected-background: var(--infinite-row-selected-hover-background);
719
- --infinite-row-odd-background: var(--infinite-row-hover-background);
720
- }
721
- ._7pupv03 {
722
- background: var(--infinite-row-background);
723
- }
724
- ._7pupv04 {
725
- background: var(--infinite-row-odd-background);
726
- }
727
- ._7pupv05 {
728
- z-index: 100;
729
- }
730
- ._7pupv07 {
731
- z-index: 100;
732
- }
733
- ._7pupv0b {
734
- -webkit-padding-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
735
- padding-inline-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
736
- }
737
- ._7pupv0c {
738
- -webkit-padding-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
739
- padding-inline-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
740
- }
741
- ._7pupv0d {
742
- -webkit-padding-end: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
743
- padding-inline-end: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
744
- }
745
-
746
748
  /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/LoadMask.css.ts.vanilla.css?source=LnF5NTh5YTAgewogIGZsZXgtZmxvdzogcm93OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLnF5NTh5YTEgewogIGRpc3BsYXk6IGZsZXg7Cn0KLnF5NTh5YTIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnF5NTh5YTMgewogIGJhY2tncm91bmQ6IHZhcigtLWluZmluaXRlLWxvYWQtbWFzay1vdmVybGF5LWJhY2tncm91bmQpOwogIG9wYWNpdHk6IHZhcigtLWluZmluaXRlLWxvYWQtbWFzay1vdmVybGF5LW9wYWNpdHkpOwp9Ci5xeTU4eWE0IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZzogdmFyKC0taW5maW5pdGUtbG9hZC1tYXNrLXBhZGRpbmcpOwogIGNvbG9yOiB2YXIoLS1pbmZpbml0ZS1sb2FkLW1hc2stY29sb3IpOwogIGJhY2tncm91bmQ6IHZhcigtLWluZmluaXRlLWxvYWQtbWFzay10ZXh0LWJhY2tncm91bmQpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWluZmluaXRlLWxvYWQtbWFzay1ib3JkZXItcmFkaXVzKTsKfQ== */
747
749
  .qy58ya0 {
748
750
  flex-flow: row;
@@ -766,5 +768,3 @@
766
768
  background: var(--infinite-load-mask-text-background);
767
769
  border-radius: var(--infinite-load-mask-border-radius);
768
770
  }
769
-
770
- /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/icons/ExpanderIcon.css.ts.vanilla.css?source= */
package/index.d.ts CHANGED
@@ -22,8 +22,11 @@ declare type MultisortInfo<T> = {
22
22
  */
23
23
  valueGetter?: (item: T) => any;
24
24
  };
25
+ declare type MultisortInfoAllowMultipleFields<T> = Omit<MultisortInfo<T>, 'field'> & {
26
+ field?: keyof T | (keyof T)[];
27
+ };
25
28
  declare const multisort: {
26
- <T>(sortInfo: MultisortInfo<T>[], array: T[], get?: ((item: any) => T) | undefined): T[];
29
+ <T>(sortInfo: MultisortInfoAllowMultipleFields<T>[], array: T[], get?: ((item: any) => T) | undefined): T[];
27
30
  knownTypes: {
28
31
  [key: string]: (first: any, second: any) => number;
29
32
  };
@@ -136,6 +139,7 @@ interface Size {
136
139
 
137
140
  declare type InfiniteTableBaseCellProps<T> = {
138
141
  column: InfiniteTableComputedColumn<T>;
142
+ rowId?: any;
139
143
  renderChildren: () => Renderable;
140
144
  width: number;
141
145
  cssEllipsis?: boolean;
@@ -187,11 +191,13 @@ declare type InfiniteTableColumnRenderParamBase<DATA_TYPE, COL_TYPE = InfiniteTa
187
191
  groupIcon?: Renderable;
188
192
  selectionCheckBox?: Renderable;
189
193
  };
190
- groupRowInfo: InfiniteTableRowInfo<DATA_TYPE> | null;
191
194
  rowIndex: number;
192
195
  rowActive: boolean;
196
+ api: InfiniteTableApi<DATA_TYPE>;
193
197
  column: COL_TYPE;
194
198
  columnsMap: Map<string, COL_TYPE>;
199
+ fieldsToColumn: Map<keyof DATA_TYPE, COL_TYPE>;
200
+ groupByColumn?: InfiniteTableComputedColumn<DATA_TYPE>;
195
201
  toggleCurrentGroupRow: () => void;
196
202
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
197
203
  toggleCurrentGroupRowSelection: () => void;
@@ -201,7 +207,7 @@ declare type InfiniteTableColumnRenderParamBase<DATA_TYPE, COL_TYPE = InfiniteTa
201
207
  deselectCurrentRow: () => void;
202
208
  toggleRowSelection: InfiniteTableSelectRowFn;
203
209
  selectionMode: DataSourcePropSelectionMode | undefined;
204
- groupBy: DataSourceState<DATA_TYPE>['groupBy'];
210
+ rootGroupBy: DataSourceState<DATA_TYPE>['groupBy'];
205
211
  pivotBy?: DataSourceState<DATA_TYPE>['pivotBy'];
206
212
  };
207
213
  declare type InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderParamBase<DATA_TYPE, COL_TYPE> & InfiniteTableRowInfoDataDiscriminator<DATA_TYPE>;
@@ -217,6 +223,9 @@ declare type InfiniteTableColumnRowspanParam<DATA_TYPE, COL_TYPE = InfiniteTable
217
223
  declare type InfiniteTableColumnRenderFunctionForGroupRows<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = (renderParams: InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE> & {
218
224
  isGroupRow: true;
219
225
  }) => Renderable | null;
226
+ declare type InfiniteTableColumnRenderFunctionForNormalRows<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = (renderParams: InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE> & {
227
+ isGroupRow: false;
228
+ }) => Renderable | null;
220
229
  declare type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = (renderParams: InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>) => Renderable | null;
221
230
  declare type InfiniteTableColumnHeaderRenderFunction<T> = (headerParams: InfiniteTableColumnHeaderParam<T>) => Renderable;
222
231
  declare type InfiniteTableColumnAlign = 'start' | 'center' | 'end';
@@ -245,19 +254,26 @@ declare type InfiniteTableColumnValueGetter<T, VALUE_GETTER_TYPE = string | numb
245
254
  declare type InfiniteTableColumnValueFormatter<T, VALUE_FORMATTER_TYPE = string | number | boolean | Date | null | undefined> = (params: InfiniteTableColumnValueFormatterParams<T>) => VALUE_FORMATTER_TYPE;
246
255
  declare type InfiniteTableColumnRowspanFn<T> = (params: InfiniteTableColumnRowspanParam<T>) => number;
247
256
  declare type InfiniteTableColumnComparer<T> = (a: T, b: T) => number;
248
- declare type InfiniteTableBaseColumn<T> = {
257
+ /**
258
+ * Defines a column in the table.
259
+ *
260
+ * @typeParam DATA_TYPE The type of the data in the table.
261
+ *
262
+ * Can be bound to a field which is a `keyof DATA_TYPE`.
263
+ */
264
+ declare type InfiniteTableColumn<DATA_TYPE> = {
249
265
  sortable?: boolean;
250
266
  draggable?: boolean;
251
267
  resizable?: boolean;
252
- comparer?: InfiniteTableColumnComparer<T>;
253
- defaultHiddenWhenGroupedBy?: '*' | keyof T | {
254
- [k in keyof Partial<T>]: true;
268
+ comparer?: InfiniteTableColumnComparer<DATA_TYPE>;
269
+ defaultHiddenWhenGroupedBy?: '*' | true | keyof DATA_TYPE | {
270
+ [k in keyof Partial<DATA_TYPE>]: true;
255
271
  };
256
272
  align?: InfiniteTableColumnAlign;
257
273
  verticalAlign?: InfiniteTableColumnVerticalAlign;
258
274
  columnGroup?: string;
259
- header?: InfiniteTableColumnHeader<T>;
260
- renderHeader?: InfiniteTableColumnHeaderRenderFunction<T>;
275
+ header?: InfiniteTableColumnHeader<DATA_TYPE>;
276
+ renderHeader?: InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
261
277
  name?: Renderable;
262
278
  cssEllipsis?: boolean;
263
279
  headerCssEllipsis?: boolean;
@@ -265,41 +281,33 @@ declare type InfiniteTableBaseColumn<T> = {
265
281
  dataType?: InfiniteTableDataTypeNames;
266
282
  sortType?: string;
267
283
  filterType?: string;
268
- style?: InfiniteTableColumnStyle<T>;
269
- headerStyle?: InfiniteTableColumnHeaderStyle<T>;
270
- headerClassName?: InfiniteTableColumnHeaderClassName<T>;
271
- className?: InfiniteTableColumnClassName<T>;
272
- rowspan?: InfiniteTableColumnRowspanFn<T>;
273
- field?: keyof T;
274
- render?: InfiniteTableColumnRenderFunction<T>;
275
- renderValue?: InfiniteTableColumnRenderFunction<T>;
276
- renderGroupValue?: InfiniteTableColumnRenderFunction<T>;
277
- renderLeafValue?: InfiniteTableColumnRenderFunction<T>;
278
- valueGetter?: InfiniteTableColumnValueGetter<T>;
279
- valueFormatter?: InfiniteTableColumnValueFormatter<T>;
284
+ style?: InfiniteTableColumnStyle<DATA_TYPE>;
285
+ headerStyle?: InfiniteTableColumnHeaderStyle<DATA_TYPE>;
286
+ headerClassName?: InfiniteTableColumnHeaderClassName<DATA_TYPE>;
287
+ className?: InfiniteTableColumnClassName<DATA_TYPE>;
288
+ rowspan?: InfiniteTableColumnRowspanFn<DATA_TYPE>;
289
+ field?: keyof DATA_TYPE;
290
+ render?: InfiniteTableColumnRenderFunction<DATA_TYPE>;
291
+ renderValue?: InfiniteTableColumnRenderFunction<DATA_TYPE>;
292
+ renderGroupValue?: InfiniteTableColumnRenderFunctionForGroupRows<DATA_TYPE>;
293
+ renderLeafValue?: InfiniteTableColumnRenderFunctionForNormalRows<DATA_TYPE>;
294
+ valueGetter?: InfiniteTableColumnValueGetter<DATA_TYPE>;
295
+ valueFormatter?: InfiniteTableColumnValueFormatter<DATA_TYPE>;
280
296
  defaultWidth?: number;
281
297
  defaultFlex?: number;
282
298
  defaultFilterable?: boolean;
283
299
  minWidth?: number;
284
300
  maxWidth?: number;
285
- renderGroupIcon?: InfiniteTableColumnRenderFunctionForGroupRows<T>;
286
- renderSortIcon?: InfiniteTableColumnHeaderRenderFunction<T>;
287
- renderSelectionCheckBox?: boolean | InfiniteTableColumnRenderFunction<T>;
288
- renderHeaderSelectionCheckBox?: boolean | InfiniteTableColumnHeaderRenderFunction<T>;
301
+ renderGroupIcon?: InfiniteTableColumnRenderFunctionForGroupRows<DATA_TYPE>;
302
+ renderSortIcon?: InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
303
+ renderSelectionCheckBox?: boolean | InfiniteTableColumnRenderFunction<DATA_TYPE>;
304
+ renderHeaderSelectionCheckBox?: boolean | InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
289
305
  components?: {
290
306
  ColumnCell?: React.FunctionComponent<HTMLProps<HTMLDivElement>>;
291
307
  HeaderCell?: React.FunctionComponent<HTMLProps<HTMLDivElement>>;
292
308
  };
293
309
  };
294
- /**
295
- * Defines a column in the table.
296
- *
297
- * @typeParam DATA_TYPE The type of the data in the table.
298
- *
299
- * Can be bound to a field which is a `keyof DATA_TYPE`.
300
- */
301
- declare type InfiniteTableColumn<DATA_TYPE> = {} & InfiniteTableBaseColumn<DATA_TYPE>;
302
- declare type InfiniteTableGeneratedGroupColumn<T> = InfiniteTableColumn<T> & {
310
+ declare type InfiniteTableGeneratedGroupColumn<T> = Omit<InfiniteTableColumn<T>, 'sortable'> & {
303
311
  groupByField: string | string[];
304
312
  id?: string;
305
313
  };
@@ -341,6 +349,7 @@ declare type InfiniteTableComputedColumnBase<T> = {
341
349
  computedSortedAsc: boolean;
342
350
  computedSortedDesc: boolean;
343
351
  computedSortIndex: number;
352
+ computedVisible: boolean;
344
353
  computedVisibleIndex: number;
345
354
  computedVisibleIndexInCategory: number;
346
355
  computedMultiSort: boolean;
@@ -355,6 +364,7 @@ declare type InfiniteTableComputedColumnBase<T> = {
355
364
  computedFirst: boolean;
356
365
  computedLast: boolean;
357
366
  toggleSort: () => void;
367
+ colType: InfiniteTableColumnType<T>;
358
368
  id: string;
359
369
  };
360
370
  declare type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> & Partial<InfiniteTablePivotFinalColumn<T>> & Partial<InfiniteTableGeneratedGroupColumn<T>>;
@@ -780,6 +790,7 @@ interface InfiniteTableComputedValues<T> {
780
790
  computedUnpinnedColumns: InfiniteTableComputedColumn<T>[];
781
791
  computedVisibleColumns: InfiniteTableComputedColumn<T>[];
782
792
  computedVisibleColumnsMap: Map<string, InfiniteTableComputedColumn<T>>;
793
+ computedColumnsMap: Map<string, InfiniteTableComputedColumn<T>>;
783
794
  computedColumnVisibility: InfiniteTablePropColumnVisibility;
784
795
  computedColumnOrder: InfiniteTablePropColumnOrderNormalized;
785
796
  computedPinnedStartColumnsWidth: number;
@@ -790,6 +801,7 @@ interface InfiniteTableComputedValues<T> {
790
801
  computedUnpinnedOffset: number;
791
802
  computedPinnedEndOffset: number;
792
803
  computedRemainingSpace: number;
804
+ fieldsToColumn: Map<keyof T, InfiniteTableComputedColumn<T>>;
793
805
  toggleGroupRow: (groupKeys: any[]) => void;
794
806
  columnSize: (colIndex: number) => number;
795
807
  }
@@ -925,6 +937,9 @@ interface InfiniteTableSetupState<T> {
925
937
  cellClick: SubscriptionCallback<CellPosition & {
926
938
  event: MouseEvent;
927
939
  }>;
940
+ cellMouseDown: SubscriptionCallback<CellPosition & {
941
+ event: MouseEvent;
942
+ }>;
928
943
  keyDown: SubscriptionCallback<KeyboardEvent>;
929
944
  columnsWhenGrouping?: InfiniteTableColumnsMap<T>;
930
945
  bodySize: Size;
@@ -933,6 +948,7 @@ interface InfiniteTableSetupState<T> {
933
948
  focused: boolean;
934
949
  ready: boolean;
935
950
  columnReorderDragColumnId: false | string;
951
+ columnVisibilityForGrouping: Record<string, false>;
936
952
  focusedWithin: boolean;
937
953
  scrollPosition: ScrollPosition;
938
954
  pinnedStartScrollListener: ScrollListener;
@@ -987,6 +1003,7 @@ interface InfiniteTableMappedState<T> {
987
1003
  draggableColumns: NonUndefined<InfiniteTableProps<T>['draggableColumns']>;
988
1004
  sortable: NonUndefined<InfiniteTableProps<T>['sortable']>;
989
1005
  hideEmptyGroupColumns: NonUndefined<InfiniteTableProps<T>['hideEmptyGroupColumns']>;
1006
+ hideColumnWhenGrouped: NonUndefined<InfiniteTableProps<T>['hideColumnWhenGrouped']>;
990
1007
  keyboardSelection: NonUndefined<InfiniteTableProps<T>['keyboardSelection']>;
991
1008
  columnOrder: NonUndefined<InfiniteTableProps<T>['columnOrder']>;
992
1009
  showZebraRows: NonUndefined<InfiniteTableProps<T>['showZebraRows']>;
@@ -1007,6 +1024,7 @@ interface InfiniteTableMappedState<T> {
1007
1024
  interface InfiniteTableDerivedState<T> {
1008
1025
  groupBy: DataSourceProps<T>['groupBy'];
1009
1026
  computedColumns: Map<string, InfiniteTableColumn<T>>;
1027
+ initialColumns: InfiniteTableProps<T>['columns'];
1010
1028
  groupRenderStrategy: NonUndefined<InfiniteTableProps<T>['groupRenderStrategy']>;
1011
1029
  columnHeaderCssEllipsis: NonUndefined<InfiniteTableProps<T>['columnHeaderCssEllipsis']>;
1012
1030
  keyboardNavigation: NonUndefined<InfiniteTableProps<T>['keyboardNavigation']>;
@@ -1107,8 +1125,8 @@ interface DataSourceDataParams<T> {
1107
1125
  changes?: DataSourceDataParamsChanges<T>;
1108
1126
  }
1109
1127
  declare type DataSourceDataParamsChanges<T> = Partial<Record<keyof Omit<DataSourceDataParams<T>, 'originalDataArray' | 'changes'>, true>>;
1110
- declare type DataSourceSingleSortInfo<T> = MultisortInfo<T> & {
1111
- field?: keyof T;
1128
+ declare type DataSourceSingleSortInfo<T> = Omit<MultisortInfo<T>, 'field'> & {
1129
+ field?: keyof T | (keyof T)[];
1112
1130
  id?: string;
1113
1131
  };
1114
1132
  declare type DataSourceGroupBy<T> = GroupBy<T, any>;
@@ -1406,21 +1424,25 @@ declare type AggregationReducerResult<AggregationResultType extends any = any> =
1406
1424
  *
1407
1425
  */
1408
1426
  declare type InfiniteTableRowInfo<T> = InfiniteTable_HasGrouping_RowInfoNormal<T> | InfiniteTable_HasGrouping_RowInfoGroup<T> | InfiniteTable_NoGrouping_RowInfoNormal<T>;
1409
- declare type InfiniteTableRowInfoDataDiscriminator<T> = {
1427
+ declare type InfiniteTableRowInfoDataDiscriminator_RowInfoNormal<T> = {
1410
1428
  data: T;
1411
1429
  isGroupRow: false;
1412
1430
  rowActive: boolean;
1413
1431
  rowInfo: InfiniteTable_NoGrouping_RowInfoNormal<T> | InfiniteTable_HasGrouping_RowInfoNormal<T>;
1414
1432
  field?: keyof T;
1415
1433
  value: any;
1416
- } | {
1434
+ rowSelected: boolean | null;
1435
+ };
1436
+ declare type InfiniteTableRowInfoDataDiscriminator_RowInfoGroup<T> = {
1417
1437
  rowActive: boolean;
1418
1438
  data: Partial<T> | null;
1419
1439
  rowInfo: InfiniteTable_HasGrouping_RowInfoGroup<T>;
1420
1440
  isGroupRow: true;
1421
1441
  field?: keyof T;
1422
1442
  value: any;
1443
+ rowSelected: boolean | null;
1423
1444
  };
1445
+ declare type InfiniteTableRowInfoDataDiscriminator<T> = InfiniteTableRowInfoDataDiscriminator_RowInfoNormal<T> | InfiniteTableRowInfoDataDiscriminator_RowInfoGroup<T>;
1424
1446
  /**
1425
1447
  * This is the base row info for all scenarios - things every
1426
1448
  * rowInfo is guaranteed to have (be it group or normal row, or dataSource with or without grouping)
@@ -1803,6 +1825,7 @@ declare type InfiniteTableGroupColumnGetterOptions<T> = {
1803
1825
  groupCount: number;
1804
1826
  groupBy: DataSourceGroupBy<T>[];
1805
1827
  pivotBy?: DataSourcePivotBy<T>[];
1828
+ sortable?: boolean;
1806
1829
  };
1807
1830
  declare type InfiniteTablePivotColumnGetterOptions<T, COL_TYPE = InfiniteTableColumn<T>> = {
1808
1831
  column: COL_TYPE;
@@ -1811,7 +1834,6 @@ declare type InfiniteTablePivotColumnGetterOptions<T, COL_TYPE = InfiniteTableCo
1811
1834
  };
1812
1835
  declare type InfiniteTablePropGroupRenderStrategy = 'single-column' | 'multi-column' | 'inline';
1813
1836
  declare type InfiniteTableGroupColumnBase<T> = Partial<InfiniteTableColumn<T>> & {
1814
- renderValue?: InfiniteTableColumnRenderFunction<T>;
1815
1837
  renderGroupIcon?: InfiniteTableColumnRenderFunctionForGroupRows<T>;
1816
1838
  id?: string;
1817
1839
  };
@@ -1898,6 +1920,7 @@ interface InfiniteTableProps<T> {
1898
1920
  columnDefaultWidth?: number;
1899
1921
  columnMinWidth?: number;
1900
1922
  columnMaxWidth?: number;
1923
+ hideColumnWhenGrouped?: boolean;
1901
1924
  resizableColumns?: boolean;
1902
1925
  virtualizeColumns?: InfiniteTablePropVirtualizeColumns<T>;
1903
1926
  virtualizeRows?: boolean;
@@ -1962,7 +1985,6 @@ declare type ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT
1962
1985
  state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>;
1963
1986
  oldState: null | (COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>);
1964
1987
  parentState: T_PARENT_STATE | null;
1965
- getState: () => COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
1966
1988
  }) => COMPONENT_DERIVED_STATE;
1967
1989
  concludeReducer?: (params: {
1968
1990
  previousState: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
@@ -2005,4 +2027,4 @@ declare const components: {
2005
2027
  LoadMask: (props: LoadMaskProps) => JSX.Element;
2006
2028
  };
2007
2029
 
2008
- export { ColumnTypeWithInherit, DataSource, DataSourceAction, DataSourceActionType, DataSourceAggregationReducer, DataSourceComponentActions, DataSourceContextValue, DataSourceData, DataSourceDataParams, DataSourceDataParamsChanges, DataSourceDerivedState, DataSourceFilterFunctionParam, DataSourceFilterOperator, DataSourceFilterOperatorFunction, DataSourceFilterOperatorFunctionParam, DataSourceFilterType, DataSourceFilterValueItem, DataSourceFilterValueItemValueGetter, DataSourceGroupBy, DataSourceGroupRowsList, DataSourceLivePaginationCursorFn, DataSourceLivePaginationCursorParams, DataSourceLivePaginationCursorValue, DataSourceMappedState, DataSourceMappings, DataSourcePivotBy, DataSourcePropAggregationReducers, DataSourcePropCellSelection, DataSourcePropFilterFunction, DataSourcePropFilterTypes, DataSourcePropFilterValue, DataSourcePropGroupBy, DataSourcePropGroupRowsStateObject, DataSourcePropIsRowSelected, DataSourcePropLivePaginationCursor, DataSourcePropMultiRowSelectionChangeParamType, DataSourcePropOnCellSelectionChange, DataSourcePropOnRowSelectionChange, DataSourcePropOnRowSelectionChange_MultiRow, DataSourcePropOnRowSelectionChange_SingleRow, DataSourcePropPivotBy, DataSourcePropRowSelection, DataSourcePropRowSelection_MultiRow, DataSourcePropRowSelection_SingleRow, DataSourcePropSelectionMode, DataSourcePropSortInfo, DataSourcePropSortTypes, DataSourceProps, DataSourceReducer, DataSourceRemoteData, DataSourceSetupState, DataSourceSingleSortInfo, DataSourceSortInfo, DataSourceState, GroupRowsState, InfiniteTable, InfiniteTableAction, InfiniteTableActionType, InfiniteTableApi, InfiniteTableClassName, InfiniteTableColumn, InfiniteTableColumnAggregator, InfiniteTableColumnComparer, InfiniteTableColumnGroup, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam, InfiniteTableColumnRowspanParam, InfiniteTableColumnSizingOptions, InfiniteTableColumnsMap, InfiniteTableComponent, InfiniteTableComputedColumn, InfiniteTableComputedValues, InfiniteTableContextValue, InfiniteTableFilterEditorProps, InfiniteTableGroupColumnBase, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions, InfiniteTablePivotColumn, InfiniteTablePropAutoSizeColumnsKey, InfiniteTablePropColumnGroups, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnSizing, InfiniteTablePropColumnTypes, InfiniteTablePropColumnVisibility, InfiniteTablePropColumns, InfiniteTablePropComponents, InfiniteTablePropFilterEditors, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropHeaderOptions, InfiniteTablePropKeyboardNavigation, InfiniteTablePropRowClassName, InfiniteTablePropRowStyle, InfiniteTableProps, InfiniteTableRowClassNameFn, InfiniteTableRowInfo, InfiniteTableRowStyleFn, InfiniteTableState, LazyGroupDataDeepMap, LazyGroupDataItem, LazyRowInfoGroup, NumberFilterEditor, RowSelectionState, Scrollbars, StringFilterEditor, components, debounce, defaultFilterEditors, defaultFilterTypes, defaultFilterTypes as filterTypes, flatten, getComponentStateRoot, group, interceptMap, multisort, useComponentState, useDataSource, useEffectWithChanges, useInfiniteColumnCell, useInfiniteHeaderCell };
2030
+ export { ColumnTypeWithInherit, DataSource, DataSourceAction, DataSourceActionType, DataSourceAggregationReducer, DataSourceComponentActions, DataSourceContextValue, DataSourceData, DataSourceDataParams, DataSourceDataParamsChanges, DataSourceDerivedState, DataSourceFilterFunctionParam, DataSourceFilterOperator, DataSourceFilterOperatorFunction, DataSourceFilterOperatorFunctionParam, DataSourceFilterType, DataSourceFilterValueItem, DataSourceFilterValueItemValueGetter, DataSourceGroupBy, DataSourceGroupRowsList, DataSourceLivePaginationCursorFn, DataSourceLivePaginationCursorParams, DataSourceLivePaginationCursorValue, DataSourceMappedState, DataSourceMappings, DataSourcePivotBy, DataSourcePropAggregationReducers, DataSourcePropCellSelection, DataSourcePropFilterFunction, DataSourcePropFilterTypes, DataSourcePropFilterValue, DataSourcePropGroupBy, DataSourcePropGroupRowsStateObject, DataSourcePropIsRowSelected, DataSourcePropLivePaginationCursor, DataSourcePropMultiRowSelectionChangeParamType, DataSourcePropOnCellSelectionChange, DataSourcePropOnRowSelectionChange, DataSourcePropOnRowSelectionChange_MultiRow, DataSourcePropOnRowSelectionChange_SingleRow, DataSourcePropPivotBy, DataSourcePropRowSelection, DataSourcePropRowSelection_MultiRow, DataSourcePropRowSelection_SingleRow, DataSourcePropSelectionMode, DataSourcePropSortInfo, DataSourcePropSortTypes, DataSourceProps, DataSourceReducer, DataSourceRemoteData, DataSourceSetupState, DataSourceSingleSortInfo, DataSourceSortInfo, DataSourceState, GroupRowsState, InfiniteTable, InfiniteTableAction, InfiniteTableActionType, InfiniteTableApi, InfiniteTableClassName, InfiniteTableColumn, InfiniteTableColumnAggregator, InfiniteTableColumnComparer, InfiniteTableColumnGroup, InfiniteTableColumnRenderFunctionForGroupRows, InfiniteTableColumnRenderFunctionForNormalRows, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam, InfiniteTableColumnRowspanParam, InfiniteTableColumnSizingOptions, InfiniteTableColumnsMap, InfiniteTableComponent, InfiniteTableComputedColumn, InfiniteTableComputedValues, InfiniteTableContextValue, InfiniteTableFilterEditorProps, InfiniteTableGroupColumnBase, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions, InfiniteTablePivotColumn, InfiniteTablePropAutoSizeColumnsKey, InfiniteTablePropColumnGroups, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnSizing, InfiniteTablePropColumnTypes, InfiniteTablePropColumnVisibility, InfiniteTablePropColumns, InfiniteTablePropComponents, InfiniteTablePropFilterEditors, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropHeaderOptions, InfiniteTablePropKeyboardNavigation, InfiniteTablePropRowClassName, InfiniteTablePropRowStyle, InfiniteTableProps, InfiniteTableRowClassNameFn, InfiniteTableRowInfo, InfiniteTableRowStyleFn, InfiniteTableState, LazyGroupDataDeepMap, LazyGroupDataItem, LazyRowInfoGroup, NumberFilterEditor, RowSelectionState, Scrollbars, StringFilterEditor, components, debounce, defaultFilterEditors, defaultFilterTypes, defaultFilterTypes as filterTypes, flatten, getComponentStateRoot, group, interceptMap, multisort, useComponentState, useDataSource, useEffectWithChanges, useInfiniteColumnCell, useInfiniteHeaderCell };
package/index.esm.css CHANGED
@@ -541,6 +541,47 @@
541
541
  visibility: visible;
542
542
  }
543
543
 
544
+ /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/icons/ExpanderIcon.css.ts.vanilla.css?source= */
545
+
546
+ /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/InfiniteTableRow/row.css.ts.vanilla.css?source=#H4sIAAAAAAAAA82SwW7DIBBE7/kKjnElIkdtFcn9mAjD2kYlC4K1XbXqvxcsqwmpU+dU9YbYmcesmN3x4Ho3lCX72DA2amO47AS2UDHyAkNj/eklTpwNmrTFiok6WNMTpFuyrmJlOhloaD46q5HAcxgAKVRsEH7LucZGoybg3o48l/Cx0wZ4kN4ao7EtEuXCIeN7J+QSYri65coicTuA91rBIr4W8rX1tkcVUZ+b3bzjftrxpnYR1aWHcuAPRAADkkCtsb5190CtWuUtYM7LPk7LrhBueJ/u8eYBM//z5H+PegVvFduX5eX08Ou0nqZOKBWbEDWxELEaJHyslxRGbq+iZG3gKYyb4iEESgQD2FJXsIfrHc7SuV+zo8hWkf8rjlqKA+mH/i7MF+wOkM8zBAAA */
547
+ ._7pupv00 {
548
+ will-change: transform;
549
+ position: absolute;
550
+ top: 0;
551
+ left: 0;
552
+ pointer-events: var(--infinite-row-pointer-events-while-scrolling);
553
+ --infinite-column-cell-bg-dont-override: var(--infinite-row-background);
554
+ }
555
+ ._7pupv01 {
556
+ --infinite-row-background: var(--infinite-row-hover-background);
557
+ --infinite-row-selected-background: var(--infinite-row-selected-hover-background);
558
+ --infinite-row-odd-background: var(--infinite-row-hover-background);
559
+ }
560
+ ._7pupv03 {
561
+ background: var(--infinite-row-background);
562
+ }
563
+ ._7pupv04 {
564
+ background: var(--infinite-row-odd-background);
565
+ }
566
+ ._7pupv05 {
567
+ z-index: 100;
568
+ }
569
+ ._7pupv07 {
570
+ z-index: 100;
571
+ }
572
+ ._7pupv0b {
573
+ -webkit-padding-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
574
+ padding-inline-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
575
+ }
576
+ ._7pupv0c {
577
+ -webkit-padding-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
578
+ padding-inline-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
579
+ }
580
+ ._7pupv0d {
581
+ -webkit-padding-end: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
582
+ padding-inline-end: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
583
+ }
584
+
544
585
  /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/cell.css.ts.vanilla.css?source=#H4sIAAAAAAAAA6WSy27CMBBF93yFl2VhxKMvpR9TOfY4GBxPNHZ4qOLfm9i0xQ200G4iR3PvmTujmbzOAHZyLqbsbcTYqvXB6D2X6AK4UDDZfYFeRofR5EM5O6/UFnbcB0EhU89/V7P0py1uC0a45QQbIA8ZZxE5gYTzJhh0BbOgA1tMp7XPhPcDoUOXsx6ipBFKGVcVbCPojnPjtHEmAJdgLT8Wx326EkkB8b7fefFRsDUqLMfMozUqBWgEddOeMMhUy79C4gB7aMv5xrLPWR4H48a3RqoHbdC2teu2mzqB1iADVy2J3jjOVvQUsbWgyriOYI2DQWwPtgN0Vi6XINcl7nhmyInPkdhlQDq/gFjKPRA9pZDrirB1amDsr+WrnJv1NWZU6iKgugaQlgCXKatESTsP2MQ74iSUaf2Pl5AkpxdYYghY3w44SWO/p4kX+a84txMO73J/8Ap2BAAA */
545
586
  ._1eexc2a0 {
546
587
  justify-content: center;
@@ -704,45 +745,6 @@
704
745
  background: var(--infinite-resize-handle-constrained-hover-background);
705
746
  }
706
747
 
707
- /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/InfiniteTableRow/row.css.ts.vanilla.css?source=#H4sIAAAAAAAAA82SwW7DIBBE7/kKjnElIkdtFcn9mAjD2kYlC4K1XbXqvxcsqwmpU+dU9YbYmcesmN3x4Ho3lCX72DA2amO47AS2UDHyAkNj/eklTpwNmrTFiok6WNMTpFuyrmJlOhloaD46q5HAcxgAKVRsEH7LucZGoybg3o48l/Cx0wZ4kN4ao7EtEuXCIeN7J+QSYri65coicTuA91rBIr4W8rX1tkcVUZ+b3bzjftrxpnYR1aWHcuAPRAADkkCtsb5190CtWuUtYM7LPk7LrhBueJ/u8eYBM//z5H+PegVvFduX5eX08Ou0nqZOKBWbEDWxELEaJHyslxRGbq+iZG3gKYyb4iEESgQD2FJXsIfrHc7SuV+zo8hWkf8rjlqKA+mH/i7MF+wOkM8zBAAA */
708
- ._7pupv00 {
709
- will-change: transform;
710
- position: absolute;
711
- top: 0;
712
- left: 0;
713
- pointer-events: var(--infinite-row-pointer-events-while-scrolling);
714
- --infinite-column-cell-bg-dont-override: var(--infinite-row-background);
715
- }
716
- ._7pupv01 {
717
- --infinite-row-background: var(--infinite-row-hover-background);
718
- --infinite-row-selected-background: var(--infinite-row-selected-hover-background);
719
- --infinite-row-odd-background: var(--infinite-row-hover-background);
720
- }
721
- ._7pupv03 {
722
- background: var(--infinite-row-background);
723
- }
724
- ._7pupv04 {
725
- background: var(--infinite-row-odd-background);
726
- }
727
- ._7pupv05 {
728
- z-index: 100;
729
- }
730
- ._7pupv07 {
731
- z-index: 100;
732
- }
733
- ._7pupv0b {
734
- -webkit-padding-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
735
- padding-inline-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
736
- }
737
- ._7pupv0c {
738
- -webkit-padding-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
739
- padding-inline-start: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
740
- }
741
- ._7pupv0d {
742
- -webkit-padding-end: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
743
- padding-inline-end: calc(var(--infinite-dont-override-group-row-nesting-length) * var(--infinite-group-row-column-nesting));
744
- }
745
-
746
748
  /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/LoadMask.css.ts.vanilla.css?source=LnF5NTh5YTAgewogIGZsZXgtZmxvdzogcm93OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLnF5NTh5YTEgewogIGRpc3BsYXk6IGZsZXg7Cn0KLnF5NTh5YTIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnF5NTh5YTMgewogIGJhY2tncm91bmQ6IHZhcigtLWluZmluaXRlLWxvYWQtbWFzay1vdmVybGF5LWJhY2tncm91bmQpOwogIG9wYWNpdHk6IHZhcigtLWluZmluaXRlLWxvYWQtbWFzay1vdmVybGF5LW9wYWNpdHkpOwp9Ci5xeTU4eWE0IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZzogdmFyKC0taW5maW5pdGUtbG9hZC1tYXNrLXBhZGRpbmcpOwogIGNvbG9yOiB2YXIoLS1pbmZpbml0ZS1sb2FkLW1hc2stY29sb3IpOwogIGJhY2tncm91bmQ6IHZhcigtLWluZmluaXRlLWxvYWQtbWFzay10ZXh0LWJhY2tncm91bmQpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWluZmluaXRlLWxvYWQtbWFzay1ib3JkZXItcmFkaXVzKTsKfQ== */
747
749
  .qy58ya0 {
748
750
  flex-flow: row;
@@ -766,5 +768,3 @@
766
768
  background: var(--infinite-load-mask-text-background);
767
769
  border-radius: var(--infinite-load-mask-border-radius);
768
770
  }
769
-
770
- /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/components/icons/ExpanderIcon.css.ts.vanilla.css?source= */