@infinite-table/infinite-react 0.0.1-canary.11 → 0.0.1

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
@@ -190,6 +190,13 @@
190
190
  .IT-VirtualScrollContainer {
191
191
  backface-visibility: hidden;
192
192
  -webkit-overflow-scrolling: touch;
193
+ /** MANDATORY BLOCK - START **/
194
+ position: fixed;
195
+ height: 100%;
196
+ width: 100%;
197
+ left: 0;
198
+ top: 0;
199
+ /** MANDATORY BLOCK - END **/
193
200
  }
194
201
  .IT-VirtualScrollContainer, .IT-VirtualScrollContainer:before, .IT-VirtualScrollContainer:after, .IT-VirtualScrollContainer *, .IT-VirtualScrollContainer *:before, .IT-VirtualScrollContainer *:after {
195
202
  box-sizing: border-box;
@@ -201,15 +208,17 @@
201
208
  left: 0;
202
209
  }
203
210
 
211
+ .IList {
212
+ position: relative;
213
+ }
204
214
  .IList, .IList:before, .IList:after, .IList *, .IList *:before, .IList *:after {
205
215
  box-sizing: border-box;
206
216
  }
207
217
  .IList--vertical {
208
218
  display: inline-block;
209
219
  }
210
-
211
- .IListItemRoot > :first-child {
212
- height: inherit;
220
+ .IList--allow-horizontal-scroll {
221
+ overflow-x: auto;
213
222
  }
214
223
 
215
224
  :root {
@@ -225,6 +234,7 @@
225
234
  --ITableHeaderCell-icon-size: 16px;
226
235
  --ITableCell__border-width: 1px;
227
236
  --ITableCell__border: var(--ITableCell__border-width) solid #c6c6c6;
237
+ --ITableCell__border-invisible: none;
228
238
  --ITableCell__padding: var(--it-space-2) var(--it-space-3);
229
239
  --ITableHeaderCell__padding: var(--it-space-3) var(--it-space-3);
230
240
  --ITableRow__color: inherit;
@@ -276,6 +286,22 @@
276
286
  flex: 1;
277
287
  }
278
288
 
289
+ .ITablePinnedRowsContainer--pinned-start {
290
+ border-right: var(--ITableCell__border);
291
+ }
292
+ .ITablePinnedRowsContainer--pinned-start .ITableColumnCell--last-in-category,
293
+ .ITablePinnedRowsContainer--pinned-start .ITableColumnCell--first-in-category {
294
+ --ITableCell__border: none;
295
+ }
296
+
297
+ .ITablePinnedRowsContainer--pinned-end {
298
+ border-left: var(--ITableCell__border);
299
+ }
300
+ .ITablePinnedRowsContainer--pinned-end .ITableColumnCell--last-in-category,
301
+ .ITablePinnedRowsContainer--pinned-end .ITableColumnCell--first-in-category {
302
+ --ITableCell__border: none;
303
+ }
304
+
279
305
  .ITableFooter {
280
306
  padding: var(--it-space-2);
281
307
  }
@@ -323,6 +349,53 @@
323
349
  border-left: var(--ITableCell__border);
324
350
  }
325
351
 
352
+ .ITable--has-pinned-end-overflow .ITableHeaderCell--unpinned.ITableCell--last-in-category {
353
+ --ITableCell__border: none;
354
+ }
355
+
356
+ .ITableHeader {
357
+ background: var(--ITableHeader__background);
358
+ color: var(--ITableHeader__color);
359
+ }
360
+ .ITableHeader--unvirtualized {
361
+ position: relative;
362
+ overflow: hidden;
363
+ }
364
+ .ITableHeader--overflow {
365
+ z-index: 10;
366
+ }
367
+ .ITableHeader--overflow .ITableHeaderCell--pinned-start.ITableHeaderCell--last-in-category {
368
+ border-right: var(--ITableCell__border-invisible);
369
+ }
370
+ .ITableHeader--overflow .ITableHeaderCell--pinned-end.ITableHeaderCell--first-in-category {
371
+ border-left: var(--ITableCell__border-invisible);
372
+ }
373
+ .ITableHeader--overflow.ITableHeader--pinned-start {
374
+ border-right: var(--ITableCell__border);
375
+ }
376
+ .ITableHeader--overflow.ITableHeader--pinned-end {
377
+ border-left: var(--ITableCell__border);
378
+ }
379
+
380
+ .ITableHeaderCell {
381
+ border-right: var(--ITableCell__border);
382
+ }
383
+ .ITableHeaderCell--dragging {
384
+ z-index: 100;
385
+ opacity: 0.8;
386
+ background: var(--ITableHeaderCell--dragging__background);
387
+ }
388
+ .ITableHeaderCell--pinned-start {
389
+ z-index: 10;
390
+ }
391
+ .ITableHeaderCellProxy {
392
+ background: var(--ITableHeader__background);
393
+ opacity: 0.9;
394
+ padding: var(--ITableCell__padding);
395
+ padding-left: 20px;
396
+ z-index: 200;
397
+ }
398
+
326
399
  .ITableRow--group-row.ITableRow--odd .ITableCell::before,
327
400
  .ITableRow--group-row.ITableRow--even .ITableCell::before {
328
401
  content: "";
@@ -371,34 +444,6 @@
371
444
  background: var(--ITableRow--odd__background);
372
445
  }
373
446
 
374
- .ITableHeader {
375
- background: var(--ITableHeader__background);
376
- color: var(--ITableHeader__color);
377
- }
378
- .ITableHeader--unvirtualized {
379
- position: relative;
380
- align-items: stretch;
381
- }
382
-
383
- .ITableHeaderCell {
384
- border-right: var(--ITableCell__border);
385
- }
386
- .ITableHeaderCell--dragging {
387
- z-index: 100;
388
- opacity: 0.8;
389
- background: var(--ITableHeaderCell--dragging__background);
390
- }
391
- .ITableHeaderCell--pinned-start {
392
- z-index: 10;
393
- }
394
- .ITableHeaderCellProxy {
395
- background: var(--ITableHeader__background);
396
- opacity: 0.9;
397
- padding: var(--ITableCell__padding);
398
- padding-left: 20px;
399
- z-index: 200;
400
- }
401
-
402
447
  .ITableHeaderCell__sort-icon {
403
448
  margin-left: 10px;
404
449
  position: relative;
package/index.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/style/utilities.scss","../src/components/VirtualScrollContainer/index.scss","../src/style/mixins.scss","../src/components/VirtualList/index.scss","../src/components/InfiniteTable/style/variables.scss","../src/components/InfiniteTable/style/index.scss","../src/components/InfiniteTable/components/InfiniteTableLicenseFooter/InfiniteTableLicenseFooter.scss","../src/components/InfiniteTable/components/InfiniteTableCell.scss","../src/components/InfiniteTable/components/icons/index.scss","../src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRow.scss","../src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeader.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAGA;EACE;AAAoB;EACpB;AAAwB;EACxB;AAAuB;EACvB;AAAsB;EACtB;AAAuB;EACvB;EACA;AAAuB;EACvB;AAAsB;EACtB;AAAuB;EACvB;AAAoB;EACpB;AAAqB;EAErB;AAA0B;EAC1B;AAA4B;EAC5B;AAA2B;EAC3B;AAA4B;EAC5B;EACA;AAA2B;EAC3B;AAA0B;EAC1B;AAA2B;EAE3B;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;ACtJF;EAEE;EACA;;ACHA;EAME;;ADDF;EACE;EACA;EAEA;EACA;;;ACVF;EAME;;ACEF;EACE;;;AAKF;EACE;;;AChBJ;EACE;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;;ACtCF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AHRA;EAME;;AGMF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AC1BF;EACE;;;ACDF;EAEE;EACA;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;;AAIJ;EACE;EACA;;;AAOA;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;;AAGJ;AAAA;EAEE;EACA;;AACA;AAAA;EACE;;AAEF;AAAA;EACE;;;AAKF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACxDJ;EACE;EACA;;;AAEF;EACE;EACA;;AAGA;EACE;;;ACVJ;EACE;EACA;;AAGA;EACE;EACA;;;AAIJ;EACE;;;AAGF;EAEE;;;AAGF;EAEE;;;ACtBF;EACE;EACA;;AACA;EACE;EACA;;;AAGJ;EAgBE;;AAfA;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EAEA;EACA;;;AAKF;EACE;EAEA;EACA;;AAEF;EACE","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../src/style/utilities.scss","../src/components/VirtualScrollContainer/index.scss","../src/style/mixins.scss","../src/components/VirtualList/index.scss","../src/components/InfiniteTable/style/variables.scss","../src/components/InfiniteTable/style/index.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAGA;EACE;AAAoB;EACpB;AAAwB;EACxB;AAAuB;EACvB;AAAsB;EACtB;AAAuB;EACvB;EACA;AAAuB;EACvB;AAAsB;EACtB;AAAuB;EACvB;AAAoB;EACpB;AAAqB;EAErB;AAA0B;EAC1B;AAA4B;EAC5B;AAA2B;EAC3B;AAA4B;EAC5B;EACA;AAA2B;EAC3B;AAA0B;EAC1B;AAA2B;EAE3B;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;ACtJF;EAEE;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;AACA;;ACXA;EAME;;ADOF;EACE;EACA;EACA;EACA;;;AEdJ;EAGE;;ADNA;EAME;;ACEF;EACE;;AAEF;EACE;;;ACbJ;EACE;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;;ACvCF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AHRA;EAME;;AGMF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;AAEA;AAAA;EAEE;;;AAGJ;EACE;;AAEA;AAAA;EAEE;;;AAIJ;EACE;;;AAGF;EAEE;EACA;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;;AAIJ;EACE;EACA;;;AAOA;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;;AAGJ;AAAA;EAEE;EACA;;AAEA;AAAA;EACE;;AAEF;AAAA;EACE;;;AAIF;EACE;;;AAIJ;EACE;EACA;;AACA;EACE;EACA;;AAGF;EACE;;AAIA;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;;AAIN;EAgBE;;AAfA;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAMF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAEF;EACE;EACA;;AAGA;EACE;;;AAIJ;EACE;EACA;;AAGA;EACE;EACA;;;AAIJ;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EAEA;EACA;;;AAKF;EACE;EAEA;EACA;;AAEF;EACE","file":"index.css"}
package/index.d.ts CHANGED
@@ -561,8 +561,9 @@ declare module "utils/groupAndPivot/index" {
561
561
  }
562
562
  declare module "components/InfiniteTable/types/InfiniteTableProps" {
563
563
  import * as React from 'react';
564
+ import { InfiniteTableState } from "components/InfiniteTable/types/index";
564
565
  import { AggregationReducer, InfiniteTableEnhancedData } from "utils/groupAndPivot/index";
565
- import { DataSourceGroupRowsBy, DataSourcePropGroupRowsBy, DataSourcePropPivotBy } from "components/DataSource/index";
566
+ import { DataSourceGroupRowsBy, DataSourcePropGroupRowsBy, DataSourcePropPivotBy, DataSourceState } from "components/DataSource/index";
566
567
  import { Renderable } from "components/types/Renderable";
567
568
  import type { InfiniteTableBaseColumn, InfiniteTableColumn, InfiniteTableColumnRenderFunction, InfiniteTableColumnWithSize, InfiniteTableComputedColumn, InfiniteTableGeneratedGroupColumn, InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
568
569
  import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
@@ -589,6 +590,8 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
589
590
  setColumnVisibility: (columnVisibility: InfiniteTablePropColumnVisibility) => void;
590
591
  setColumnAggregations: (columnAggregations: InfiniteTablePropColumnAggregations<T>) => void;
591
592
  x?: T;
593
+ getState: () => InfiniteTableState<T>;
594
+ getDataSourceState: () => DataSourceState<T>;
592
595
  };
593
596
  export type InfiniteTablePropVirtualizeColumns<T> = boolean | ((columns: InfiniteTableComputedColumn<T>[]) => boolean);
594
597
  export type InfiniteTableInternalProps<T> = {
@@ -651,6 +654,8 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
651
654
  columnVisibility?: InfiniteTablePropColumnVisibility;
652
655
  defaultColumnVisibility?: InfiniteTablePropColumnVisibility;
653
656
  columnPinning?: InfiniteTablePropColumnPinning;
657
+ pinnedStartMaxWidth?: number;
658
+ pinnedEndMaxWidth?: number;
654
659
  defaultColumnPinning?: InfiniteTablePropColumnPinning;
655
660
  defaultColumnAggregations?: InfiniteTablePropColumnAggregations<T>;
656
661
  columnAggregations?: InfiniteTablePropColumnAggregations<T>;
@@ -702,6 +707,18 @@ declare module "components/types/SubscriptionCallback" {
702
707
  onChange: (fn: SubscriptionCallbackOnChangeFn<T>) => VoidFn;
703
708
  }
704
709
  }
710
+ declare module "components/VirtualBrain/ScrollListener" {
711
+ import { OnScrollFn, ScrollPosition } from "components/types/ScrollPosition";
712
+ export class ScrollListener {
713
+ private scrollPosition;
714
+ private onScrollFns;
715
+ getScrollPosition: () => ScrollPosition;
716
+ onScroll: (fn: OnScrollFn) => () => void;
717
+ setScrollPosition: (scrollPosition: ScrollPosition) => void;
718
+ private notifyScrollChange;
719
+ destroy: () => void;
720
+ }
721
+ }
705
722
  declare module "components/InfiniteTable/types/InfiniteTableState" {
706
723
  import type { ScrollPosition } from "components/types/ScrollPosition";
707
724
  import type { InfiniteTableColumnGroup, InfiniteTableGeneratedColumns, InfiniteTablePropCollapsedColumnGroups, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility, InfiniteTablePropGroupRenderStrategy, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
@@ -709,6 +726,7 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
709
726
  import { ComponentStateActions } from "components/hooks/useComponentState";
710
727
  import { MutableRefObject } from 'react';
711
728
  import { SubscriptionCallback } from "components/types/SubscriptionCallback";
729
+ import { ScrollListener } from "components/VirtualBrain/ScrollListener";
712
730
  export interface InfiniteTableState<T> {
713
731
  domRef: MutableRefObject<HTMLDivElement | null>;
714
732
  bodyDOMRef: MutableRefObject<HTMLDivElement | null>;
@@ -736,6 +754,8 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
736
754
  pivotColumnGroups?: InfiniteTablePropColumnGroups;
737
755
  computedColumnGroups: InfiniteTablePropColumnGroups;
738
756
  generatedColumns: InfiniteTableGeneratedColumns<T>;
757
+ pinnedStartScrollListener: ScrollListener;
758
+ pinnedEndScrollListener: ScrollListener;
739
759
  x?: T;
740
760
  }
741
761
  export type InfiniteTableComputedColumnGroup = InfiniteTableColumnGroup & {
@@ -755,6 +775,8 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
755
775
  groupColumn: InfiniteTableProps<T>['groupColumn'];
756
776
  pivotColumn: InfiniteTableProps<T>['pivotColumn'];
757
777
  pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
778
+ pinnedStartMaxWidth: InfiniteTableProps<T>['pinnedStartMaxWidth'];
779
+ pinnedEndMaxWidth: InfiniteTableProps<T>['pinnedEndMaxWidth'];
758
780
  showZebraRows: InfiniteTableProps<T>['showZebraRows'];
759
781
  header: InfiniteTableProps<T>['header'];
760
782
  columnMinWidth: InfiniteTableProps<T>['columnMinWidth'];
@@ -798,6 +820,8 @@ declare module "components/InfiniteTable/types/InfiniteTableComputedValues" {
798
820
  import type { InfiniteTableComputedColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
799
821
  import type { InfiniteTablePropColumnOrderNormalized, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
800
822
  export interface InfiniteTableComputedValues<T> {
823
+ computedPinnedStartOverflow: boolean;
824
+ computedPinnedEndOverflow: boolean;
801
825
  computedPinnedStartColumns: InfiniteTableComputedColumn<T>[];
802
826
  computedPinnedEndColumns: InfiniteTableComputedColumn<T>[];
803
827
  computedUnpinnedColumns: InfiniteTableComputedColumn<T>[];
@@ -806,7 +830,9 @@ declare module "components/InfiniteTable/types/InfiniteTableComputedValues" {
806
830
  computedColumnVisibility: InfiniteTablePropColumnVisibility;
807
831
  computedColumnOrder: InfiniteTablePropColumnOrderNormalized;
808
832
  computedPinnedStartColumnsWidth: number;
833
+ computedPinnedStartWidth: number;
809
834
  computedPinnedEndColumnsWidth: number;
835
+ computedPinnedEndWidth: number;
810
836
  computedUnpinnedColumnsWidth: number;
811
837
  computedUnpinnedOffset: number;
812
838
  computedPinnedEndOffset: number;
@@ -961,7 +987,9 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
961
987
  export type GetComputedVisibleColumnsResult<T> = {
962
988
  computedRemainingSpace: number;
963
989
  computedPinnedStartColumnsWidth: number;
990
+ computedPinnedStartWidth: number;
964
991
  computedPinnedEndColumnsWidth: number;
992
+ computedPinnedEndWidth: number;
965
993
  computedUnpinnedColumnsWidth: number;
966
994
  columnMinWidth?: number;
967
995
  columnMaxWidth?: number;
@@ -981,6 +1009,8 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
981
1009
  bodySize: Size;
982
1010
  columnMinWidth?: number;
983
1011
  columnMaxWidth?: number;
1012
+ pinnedStartMaxWidth?: number;
1013
+ pinnedEndMaxWidth?: number;
984
1014
  columnDefaultWidth?: number;
985
1015
  sortable?: boolean;
986
1016
  multiSort: boolean;
@@ -992,7 +1022,7 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
992
1022
  columnVisibility: InfiniteTablePropColumnVisibility;
993
1023
  columnVisibilityAssumeVisible: boolean;
994
1024
  };
995
- export const getComputedVisibleColumns: <T extends unknown>({ columns, generatedColumns, bodySize, columnMinWidth, columnMaxWidth, columnDefaultWidth, sortable, sortInfo, setSortInfo, multiSort, draggableColumns, columnOrder, columnPinning, columnVisibility, columnVisibilityAssumeVisible, }: GetComputedVisibleColumnsParam<T>) => GetComputedVisibleColumnsResult<T>;
1025
+ export const getComputedVisibleColumns: <T extends unknown>({ columns, generatedColumns, bodySize, columnMinWidth, columnMaxWidth, columnDefaultWidth, pinnedStartMaxWidth, pinnedEndMaxWidth, sortable, sortInfo, setSortInfo, multiSort, draggableColumns, columnOrder, columnPinning, columnVisibility, columnVisibilityAssumeVisible, }: GetComputedVisibleColumnsParam<T>) => GetComputedVisibleColumnsResult<T>;
996
1026
  }
997
1027
  declare module "components/hooks/useRerender" {
998
1028
  export const useRerender: () => [number, () => void];
@@ -1031,6 +1061,8 @@ declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
1031
1061
  bodySize: Size;
1032
1062
  columnMinWidth?: number;
1033
1063
  columnMaxWidth?: number;
1064
+ pinnedEndMaxWidth?: number;
1065
+ pinnedStartMaxWidth?: number;
1034
1066
  columnDefaultWidth?: number;
1035
1067
  sortable?: boolean;
1036
1068
  draggableColumns?: boolean;
@@ -1055,9 +1087,11 @@ declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
1055
1087
  computedUnpinnedColumns: GetComputedVisibleColumnsResult<T>['computedUnpinnedColumns'];
1056
1088
  computedVisibleColumns: GetComputedVisibleColumnsResult<T>['computedVisibleColumns'];
1057
1089
  computedVisibleColumnsMap: GetComputedVisibleColumnsResult<T>['computedVisibleColumnsMap'];
1090
+ computedPinnedEndWidth: GetComputedVisibleColumnsResult<T>['computedPinnedEndWidth'];
1091
+ computedPinnedStartWidth: GetComputedVisibleColumnsResult<T>['computedPinnedStartWidth'];
1058
1092
  computedColumnOrder: GetComputedVisibleColumnsResult<T>['computedColumnOrder'];
1059
1093
  };
1060
- export const useComputedVisibleColumns: <T extends unknown>({ columns, generatedColumns, bodySize, columnMinWidth, columnMaxWidth, columnDefaultWidth, sortable, draggableColumns, sortInfo, multiSort, setSortInfo, columnOrder, columnPinning, columnVisibility, columnVisibilityAssumeVisible, }: UseComputedVisibleColumnsParam<T>) => UseComputedVisibleColumnsResult<T>;
1094
+ export const useComputedVisibleColumns: <T extends unknown>({ columns, generatedColumns, bodySize, columnMinWidth, columnMaxWidth, columnDefaultWidth, sortable, draggableColumns, sortInfo, multiSort, setSortInfo, columnOrder, columnPinning, pinnedEndMaxWidth, pinnedStartMaxWidth, columnVisibility, columnVisibilityAssumeVisible, }: UseComputedVisibleColumnsParam<T>) => UseComputedVisibleColumnsResult<T>;
1061
1095
  }
1062
1096
  declare module "components/DataSource/publicHooks/useDataSourceActions" {
1063
1097
  import { DataSourceComponentActions } from "components/DataSource/types";
@@ -1397,12 +1431,14 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1397
1431
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/index";
1398
1432
  import { Renderable } from "components/types/Renderable";
1399
1433
  import { VirtualBrain } from "components/VirtualBrain/index";
1434
+ import { ScrollListener } from "components/VirtualBrain/ScrollListener";
1400
1435
  import { InfiniteTableComputedColumnGroup } from "components/InfiniteTable/types/InfiniteTableProps";
1401
1436
  export type InfiniteTableHeaderProps<T> = {
1402
1437
  repaintId?: string | number;
1403
1438
  brain: VirtualBrain;
1404
1439
  columns: InfiniteTableComputedColumn<T>[];
1405
1440
  totalWidth: number;
1441
+ availableWidth: number;
1406
1442
  };
1407
1443
  export type InfiniteTableHeaderGroupProps<T> = {
1408
1444
  columns: InfiniteTableComputedColumn<T>[];
@@ -1412,7 +1448,9 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1412
1448
  headerHeight: number;
1413
1449
  };
1414
1450
  export type InfiniteTableHeaderUnvirtualizedProps<T> = Omit<InfiniteTableHeaderProps<T>, 'repaintId' | 'brain'> & {
1451
+ classNameModifiers?: string[];
1415
1452
  brain?: VirtualBrain;
1453
+ scrollListener?: ScrollListener;
1416
1454
  scrollable?: boolean;
1417
1455
  };
1418
1456
  }
@@ -1611,7 +1649,7 @@ declare module "components/VirtualList/SpacePlaceholder" {
1611
1649
  interface SpacePlaceholderProps {
1612
1650
  width: number;
1613
1651
  height: number;
1614
- count: number;
1652
+ count?: number;
1615
1653
  }
1616
1654
  function SpacePlaceholderFn(props: SpacePlaceholderProps): JSX.Element;
1617
1655
  export const SpacePlaceholder: React.MemoExoticComponent<typeof SpacePlaceholderFn>;
@@ -1759,8 +1797,8 @@ declare module "components/InfiniteTable/hooks/useUnpinnedRendering" {
1759
1797
  computedPinnedEndColumns: InfiniteTableComputedColumn<T>[];
1760
1798
  computedUnpinnedColumns: InfiniteTableComputedColumn<T>[];
1761
1799
  computedUnpinnedColumnsWidth: number;
1762
- computedPinnedStartColumnsWidth: number;
1763
- computedPinnedEndColumnsWidth: number;
1800
+ computedPinnedStartWidth: number;
1801
+ computedPinnedEndWidth: number;
1764
1802
  getState: () => InfiniteTableComponentState<T>;
1765
1803
  };
1766
1804
  export function useUnpinnedRendering<T>(params: UnpinnedRenderingParams<T>): JSX.Element | null;
@@ -1797,7 +1835,7 @@ declare module "components/VirtualList/RowListWithExternalScrolling" {
1797
1835
  import type { RenderRow } from "components/VirtualList/types";
1798
1836
  import type { ScrollPosition } from "components/types/ScrollPosition";
1799
1837
  import { OnMountProps } from "components/hooks/useOnMount";
1800
- type RowListWithExternalScrollingListProps = {
1838
+ export type RowListWithExternalScrollingListProps = {
1801
1839
  brain: VirtualBrain;
1802
1840
  renderRow: RenderRow;
1803
1841
  repaintId?: number | string;
@@ -1814,11 +1852,18 @@ declare module "components/InfiniteTable/hooks/usePinnedRendering" {
1814
1852
  import type { RenderRow } from "components/VirtualList/types";
1815
1853
  import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
1816
1854
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1855
+ import { ScrollListener } from "components/VirtualBrain/ScrollListener";
1817
1856
  type UsePinnedParams<T> = {
1818
1857
  getState: () => InfiniteTableComponentState<T>;
1819
1858
  getData: () => InfiniteTableEnhancedData<T>[];
1820
1859
  bodySize: Size;
1860
+ pinnedStartScrollListener: ScrollListener;
1861
+ pinnedEndScrollListener: ScrollListener;
1821
1862
  repaintId: string | number;
1863
+ computedPinnedStartWidth: number;
1864
+ computedPinnedEndWidth: number;
1865
+ computedPinnedStartOverflow: boolean;
1866
+ computedPinnedEndOverflow: boolean;
1822
1867
  computedPinnedEndColumnsWidth: number;
1823
1868
  computedPinnedEndColumns: InfiniteTableComputedColumn<T>[];
1824
1869
  verticalVirtualBrain: VirtualBrain;
@@ -1831,6 +1876,11 @@ declare module "components/InfiniteTable/hooks/usePinnedRendering" {
1831
1876
  computedPinnedStartColumnsWidth: number;
1832
1877
  computedPinnedStartColumns: InfiniteTableComputedColumn<T>[];
1833
1878
  };
1879
+ export function usePinnedRenderingForSide<T>(side: 'start' | 'end', params: UsePinnedParams<T>): {
1880
+ renderRowPinned: RenderRow;
1881
+ pinnedList: JSX.Element | null;
1882
+ pinnedScrollbarPlaceholder: JSX.Element | null;
1883
+ };
1834
1884
  export function usePinnedEndRendering<T>(params: UsePinnedParams<T>): {
1835
1885
  renderRowPinnedEnd: RenderRow;
1836
1886
  pinnedEndList: JSX.Element | null;
@@ -1855,8 +1905,8 @@ declare module "components/InfiniteTable/hooks/useYourBrain" {
1855
1905
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1856
1906
  type UseYourBrainParam<T = any> = {
1857
1907
  computedUnpinnedColumns: InfiniteTableComputedColumn<T>[];
1858
- computedPinnedStartColumnsWidth: number;
1859
- computedPinnedEndColumnsWidth: number;
1908
+ computedPinnedStartWidth: number;
1909
+ computedPinnedEndWidth: number;
1860
1910
  dataArray: any[];
1861
1911
  rowHeight: number;
1862
1912
  bodySize: Size;