@tanstack/table-core 8.0.0-alpha.55 → 8.0.0-alpha.59

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 (88) hide show
  1. package/build/cjs/core.js +18 -404
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/createTable.js +3 -3
  4. package/build/cjs/createTable.js.map +1 -1
  5. package/build/cjs/features/Cells.js +107 -0
  6. package/build/cjs/features/Cells.js.map +1 -0
  7. package/build/cjs/features/ColumnSizing.js +96 -54
  8. package/build/cjs/features/ColumnSizing.js.map +1 -1
  9. package/build/cjs/features/Columns.js +216 -0
  10. package/build/cjs/features/Columns.js.map +1 -0
  11. package/build/cjs/features/Expanding.js +13 -21
  12. package/build/cjs/features/Expanding.js.map +1 -1
  13. package/build/cjs/features/Filters.js +3 -3
  14. package/build/cjs/features/Filters.js.map +1 -1
  15. package/build/cjs/features/Grouping.js +8 -11
  16. package/build/cjs/features/Grouping.js.map +1 -1
  17. package/build/cjs/features/Headers.js +79 -220
  18. package/build/cjs/features/Headers.js.map +1 -1
  19. package/build/cjs/features/Ordering.js +1 -1
  20. package/build/cjs/features/Ordering.js.map +1 -1
  21. package/build/cjs/features/Pagination.js +5 -5
  22. package/build/cjs/features/Pagination.js.map +1 -1
  23. package/build/cjs/features/Pinning.js +172 -2
  24. package/build/cjs/features/Pinning.js.map +1 -1
  25. package/build/cjs/features/RowSelection.js +16 -48
  26. package/build/cjs/features/RowSelection.js.map +1 -1
  27. package/build/cjs/features/Rows.js +84 -0
  28. package/build/cjs/features/Rows.js.map +1 -0
  29. package/build/cjs/features/Sorting.js +9 -12
  30. package/build/cjs/features/Sorting.js.map +1 -1
  31. package/build/cjs/features/Visibility.js +59 -38
  32. package/build/cjs/features/Visibility.js.map +1 -1
  33. package/build/cjs/filterFns.js +16 -0
  34. package/build/cjs/filterFns.js.map +1 -1
  35. package/build/cjs/index.js +0 -1
  36. package/build/cjs/index.js.map +1 -1
  37. package/build/cjs/utils.js +0 -16
  38. package/build/cjs/utils.js.map +1 -1
  39. package/build/esm/index.js +866 -856
  40. package/build/esm/index.js.map +1 -1
  41. package/build/stats-html.html +1 -1
  42. package/build/stats-react.json +424 -322
  43. package/build/types/core.d.ts +9 -88
  44. package/build/types/createTable.d.ts +10 -11
  45. package/build/types/features/Cells.d.ts +13 -0
  46. package/build/types/features/ColumnSizing.d.ts +24 -30
  47. package/build/types/features/Columns.d.ts +54 -0
  48. package/build/types/features/Expanding.d.ts +6 -9
  49. package/build/types/features/Filters.d.ts +3 -1
  50. package/build/types/features/Grouping.d.ts +6 -9
  51. package/build/types/features/Headers.d.ts +3 -15
  52. package/build/types/features/Ordering.d.ts +1 -1
  53. package/build/types/features/Pagination.d.ts +6 -6
  54. package/build/types/features/Pinning.d.ts +18 -4
  55. package/build/types/features/RowSelection.d.ts +6 -13
  56. package/build/types/features/Rows.d.ts +27 -0
  57. package/build/types/features/Sorting.d.ts +5 -8
  58. package/build/types/features/Visibility.d.ts +9 -7
  59. package/build/types/filterFns.d.ts +5 -0
  60. package/build/types/types.d.ts +27 -69
  61. package/build/types/utils.d.ts +1 -5
  62. package/build/umd/index.development.js +844 -835
  63. package/build/umd/index.development.js.map +1 -1
  64. package/build/umd/index.production.js +1 -1
  65. package/build/umd/index.production.js.map +1 -1
  66. package/package.json +1 -1
  67. package/src/core.ts +55 -601
  68. package/src/createTable.ts +13 -17
  69. package/src/features/Cells.ts +130 -0
  70. package/src/features/ColumnSizing.ts +111 -89
  71. package/src/features/Columns.ts +288 -0
  72. package/src/features/Expanding.ts +20 -42
  73. package/src/features/Filters.ts +11 -3
  74. package/src/features/Grouping.ts +13 -39
  75. package/src/features/Headers.ts +49 -233
  76. package/src/features/Ordering.ts +1 -1
  77. package/src/features/Pagination.ts +14 -4
  78. package/src/features/Pinning.ts +194 -3
  79. package/src/features/RowSelection.ts +26 -88
  80. package/src/features/Rows.ts +123 -0
  81. package/src/features/Sorting.ts +20 -43
  82. package/src/features/Visibility.ts +82 -63
  83. package/src/filterFns.ts +20 -0
  84. package/src/types.ts +59 -133
  85. package/src/utils/getColumnFilteredRowModelAsync.ts +1 -5
  86. package/src/utils/getGlobalFilteredRowModelAsync.ts +2 -6
  87. package/src/utils/getSortedRowModelAsync.ts +0 -1
  88. package/src/utils.ts +2 -31
@@ -1,113 +1,34 @@
1
1
  import { RequiredKeys } from './utils';
2
- import { Updater, PropGetterValue, Options, TableState, ColumnDef, Row, Column, Cell, Header, AccessorFn, TableProps, TableBodyProps, PropGetter, Getter, RowProps, CellProps, TableInstance, RowValues, Renderable, UseRenderer, RowModel, TableFeature, TableGenerics } from './types';
2
+ import { Updater, TableOptions, TableState, TableInstance, Renderable, TableFeature, TableGenerics, InitialTableState } from './types';
3
3
  export declare type CoreTableState = {
4
4
  coreProgress: number;
5
5
  };
6
6
  export declare type CoreOptions<TGenerics extends TableGenerics> = {
7
7
  data: TGenerics['Row'][];
8
- columns: ColumnDef<TGenerics>[];
9
8
  state: Partial<TableState>;
10
9
  onStateChange: (updater: Updater<TableState>) => void;
11
- render: TGenerics['Render'];
12
- getCoreRowModel: (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics>;
10
+ render: TGenerics['Renderer'];
13
11
  debugAll?: boolean;
14
12
  debugTable?: boolean;
15
13
  debugHeaders?: boolean;
16
14
  debugColumns?: boolean;
17
15
  debugRows?: boolean;
18
- defaultColumn?: Partial<ColumnDef<TGenerics>>;
19
- initialState?: Partial<TableState>;
20
- getSubRows?: (originalRow: TGenerics['Row'], index: number) => TGenerics['Row'][];
21
- getRowId?: (originalRow: TGenerics['Row'], index: number, parent?: Row<TGenerics>) => string;
16
+ initialState?: InitialTableState;
22
17
  autoResetAll?: boolean;
23
- mergeOptions?: (defaultOptions: TableFeature, options: Partial<Options<TGenerics>>) => Options<TGenerics>;
18
+ mergeOptions?: <T>(defaultOptions: T, options: Partial<T>) => T;
24
19
  meta?: TGenerics['TableMeta'];
25
20
  };
26
21
  export declare type TableCore<TGenerics extends TableGenerics> = {
27
22
  initialState: TableState;
28
23
  reset: () => void;
29
- options: RequiredKeys<Options<TGenerics>, 'state'>;
30
- setOptions: (newOptions: Updater<Options<TGenerics>>) => void;
24
+ options: RequiredKeys<TableOptions<TGenerics>, 'state'>;
25
+ setOptions: (newOptions: Updater<TableOptions<TGenerics>>) => void;
31
26
  queue: (cb: () => void) => void;
32
27
  willUpdate: () => void;
33
- getRowId: (_: TGenerics['Row'], index: number, parent?: Row<TGenerics>) => string;
34
28
  getState: () => TableState;
35
29
  setState: (updater: Updater<TableState>) => void;
36
- getDefaultColumn: () => Partial<ColumnDef<TGenerics>>;
37
- getColumnDefs: () => ColumnDef<TGenerics>[];
38
- createColumn: (columnDef: ColumnDef<TGenerics>, depth: number, parent?: Column<TGenerics>) => Column<TGenerics>;
39
- getAllColumns: () => Column<TGenerics>[];
40
- getAllFlatColumns: () => Column<TGenerics>[];
41
- getAllFlatColumnsById: () => Record<string, Column<TGenerics>>;
42
- getAllLeafColumns: () => Column<TGenerics>[];
43
- getColumn: (columnId: string) => Column<TGenerics>;
44
- getTotalWidth: () => number;
45
- createCell: (row: Row<TGenerics>, column: Column<TGenerics>, value: any) => Cell<TGenerics>;
46
- createRow: (id: string, original: TGenerics['Row'] | undefined, rowIndex: number, depth: number, values: Record<string, any>) => Row<TGenerics>;
47
- getCoreRowModel: () => RowModel<TGenerics>;
48
- _getCoreRowModel?: () => RowModel<TGenerics>;
49
- getRowModel: () => RowModel<TGenerics>;
50
- getRow: (id: string) => Row<TGenerics>;
51
- getCell: (rowId: string, columnId: string) => Cell<TGenerics>;
52
- getTableProps: PropGetter<TableProps>;
53
- getTableBodyProps: PropGetter<TableBodyProps>;
54
- getRowProps: <TGetter extends Getter<RowProps>>(rowId: string, userProps?: TGetter) => undefined | PropGetterValue<RowProps, TGetter>;
55
- getCellProps: <TGetter extends Getter<CellProps>>(rowId: string, columnId: string, userProps?: TGetter) => undefined | PropGetterValue<CellProps, TGetter>;
56
- getTableWidth: () => number;
57
- getLeftTableWidth: () => number;
58
- getCenterTableWidth: () => number;
59
- getRightTableWidth: () => number;
60
- render: <TProps>(template: Renderable<TGenerics, TProps>, props: TProps) => string | null | ReturnType<UseRenderer<TGenerics>>;
30
+ render: <TProps>(template: Renderable<TGenerics, TProps>, props: TProps) => string | null | TGenerics['Rendered'];
61
31
  getOverallProgress: () => number;
32
+ _features: readonly TableFeature[];
62
33
  };
63
- export declare type CoreRow<TGenerics extends TableGenerics> = {
64
- id: string;
65
- index: number;
66
- original?: TGenerics['Row'];
67
- depth: number;
68
- values: RowValues;
69
- subRows: Row<TGenerics>[];
70
- getLeafRows: () => Row<TGenerics>[];
71
- getRowProps: PropGetter<RowProps>;
72
- originalSubRows?: TGenerics['Row'][];
73
- getAllCells: () => Cell<TGenerics>[];
74
- getAllCellsByColumnId: () => Record<string, Cell<TGenerics>>;
75
- };
76
- export declare type CoreColumnDef<TGenerics extends TableGenerics> = {
77
- id: string;
78
- accessorKey?: string & keyof TGenerics['Row'];
79
- accessorFn?: AccessorFn<TGenerics['Row']>;
80
- columns?: ColumnDef<TGenerics>[];
81
- header?: Renderable<TGenerics, {
82
- instance: TableInstance<TGenerics>;
83
- header: Header<TGenerics>;
84
- column: Column<TGenerics>;
85
- }>;
86
- footer?: Renderable<TGenerics, {
87
- instance: TableInstance<TGenerics>;
88
- header: Header<TGenerics>;
89
- column: Column<TGenerics>;
90
- }>;
91
- cell?: Renderable<TGenerics, {
92
- instance: TableInstance<TGenerics>;
93
- row: Row<TGenerics>;
94
- column: Column<TGenerics>;
95
- cell: Cell<TGenerics>;
96
- value: TGenerics['Value'];
97
- }>;
98
- meta?: TGenerics['ColumnMeta'];
99
- };
100
- export declare type CoreColumnDefType = 'data' | 'display' | 'group';
101
- export declare type CoreColumn<TGenerics extends TableGenerics> = {
102
- id: string;
103
- depth: number;
104
- accessorFn?: AccessorFn<TGenerics['Row']>;
105
- columnDef: ColumnDef<TGenerics>;
106
- columnDefType: CoreColumnDefType;
107
- getWidth: () => number;
108
- columns: Column<TGenerics>[];
109
- parent?: Column<TGenerics>;
110
- getFlatColumns: () => Column<TGenerics>[];
111
- getLeafColumns: () => Column<TGenerics>[];
112
- };
113
- export declare function createTableInstance<TGenerics extends TableGenerics>(options: Options<TGenerics>): TableInstance<TGenerics>;
34
+ export declare function createTableInstance<TGenerics extends TableGenerics>(options: TableOptions<TGenerics>): TableInstance<TGenerics>;
@@ -1,18 +1,19 @@
1
1
  import { CustomFilterFns, FilterFn } from './features/Filters';
2
2
  import { AggregationFn, CustomAggregationFns } from './features/Grouping';
3
3
  import { CustomSortingFns, SortingFn } from './features/Sorting';
4
- import { ColumnDef, AccessorFn, AnyRender, TableGenerics, Options } from './types';
5
- import { IfDefined, Overwrite, PartialKeys } from './utils';
4
+ import { ColumnDef, AccessorFn, AnyRender, TableGenerics, TableOptions } from './types';
5
+ import { IfDefined, Overwrite } from './utils';
6
6
  export declare type TableFactory<TGenerics extends TableGenerics> = () => Table<TGenerics>;
7
7
  export declare type CreateTableOptions<TRender extends AnyRender, TFilterFns extends CustomFilterFns<any>, TSortingFns extends CustomSortingFns<any>, TAggregationFns extends CustomAggregationFns<any>, TGenerics extends TableGenerics> = Partial<{
8
8
  render?: TRender;
9
9
  filterFns?: TFilterFns;
10
10
  sortingFns?: TSortingFns;
11
11
  aggregationFns?: TAggregationFns;
12
- } & Omit<Options<TGenerics>, 'filterFns' | 'sortingFns' | 'aggregationFns'>>;
12
+ } & Omit<TableOptions<TGenerics>, 'filterFns' | 'sortingFns' | 'aggregationFns'>>;
13
13
  export declare type Table<TGenerics extends TableGenerics> = {
14
14
  generics: TGenerics;
15
- options: Partial<Options<TGenerics>>;
15
+ options: Partial<TableOptions<TGenerics>>;
16
+ setGenerics: <T extends TableGenerics>() => Table<T>;
16
17
  setRowType: <TRow>() => Table<Overwrite<TGenerics, {
17
18
  Row: TRow;
18
19
  }>>;
@@ -27,7 +28,6 @@ export declare type Table<TGenerics extends TableGenerics> = {
27
28
  SortingFns: IfDefined<TSortingFns, TGenerics['SortingFns']>;
28
29
  AggregationFns: IfDefined<TAggregationFns, TGenerics['AggregationFns']>;
29
30
  }>>;
30
- createColumns: <TColumnDef extends ColumnDef<any>>(columns: TColumnDef[]) => TColumnDef[];
31
31
  createGroup: (column: Overwrite<Overwrite<ColumnDef<any>, {
32
32
  header: string;
33
33
  id?: string;
@@ -39,9 +39,7 @@ export declare type Table<TGenerics extends TableGenerics> = {
39
39
  accessorKey?: never;
40
40
  columns?: ColumnDef<any>[];
41
41
  }>) => ColumnDef<TGenerics>;
42
- createDisplayColumn: (column: Overwrite<PartialKeys<ColumnDef<TGenerics>, 'accessorFn' | 'accessorKey'>, {
43
- columns?: ColumnDef<any>[];
44
- }>) => ColumnDef<TGenerics>;
42
+ createDisplayColumn: (column: Omit<ColumnDef<TGenerics>, 'columns'>) => ColumnDef<TGenerics>;
45
43
  createDataColumn: <TAccessor extends AccessorFn<TGenerics['Row']> | keyof TGenerics['Row']>(accessor: TAccessor, column: Overwrite<TAccessor extends (...args: any[]) => any ? ColumnDef<Overwrite<TGenerics, {
46
44
  Value: ReturnType<TAccessor>;
47
45
  }>> : TAccessor extends keyof TGenerics['Row'] ? Overwrite<ColumnDef<Overwrite<TGenerics, {
@@ -54,8 +52,9 @@ export declare type Table<TGenerics extends TableGenerics> = {
54
52
  columns?: ColumnDef<any>[];
55
53
  }>) => ColumnDef<TGenerics>;
56
54
  };
57
- export declare function createTableFactory<TRender extends AnyRender>(opts: {
58
- render: TRender;
55
+ export declare function createTableFactory<TRenderer extends AnyRender>(opts: {
56
+ render: TRenderer;
59
57
  }): () => Table<{
60
- Render: TRender;
58
+ Renderer: TRenderer;
59
+ Rendered: ReturnType<TRenderer>;
61
60
  }>;
@@ -0,0 +1,13 @@
1
+ import { Cell, TableGenerics, TableInstance, Row, Column } from '../types';
2
+ export declare type CellsRow<TGenerics extends TableGenerics> = {
3
+ getAllCells: () => Cell<TGenerics>[];
4
+ getAllCellsByColumnId: () => Record<string, Cell<TGenerics>>;
5
+ };
6
+ export declare type CellsInstance<TGenerics extends TableGenerics> = {
7
+ createCell: (row: Row<TGenerics>, column: Column<TGenerics>, value: any) => Cell<TGenerics>;
8
+ getCell: (rowId: string, columnId: string) => Cell<TGenerics>;
9
+ };
10
+ export declare const Cells: {
11
+ createRow: <TGenerics extends TableGenerics>(row: Row<TGenerics>, instance: TableInstance<TGenerics>) => CellsRow<TGenerics>;
12
+ createInstance: <TGenerics_1 extends TableGenerics>(instance: TableInstance<TGenerics_1>) => CellsInstance<TGenerics_1>;
13
+ };
@@ -1,9 +1,10 @@
1
- import { Column, Getter, Header, OnChangeFn, TableGenerics, PropGetterValue, TableInstance, Updater } from '../types';
1
+ import { OnChangeFn, TableGenerics, Updater, TableFeature } from '../types';
2
+ import { ColumnPinningPosition } from './Pinning';
2
3
  export declare type ColumnSizingTableState = {
3
- columnSizing: ColumnSizing;
4
+ columnSizing: ColumnSizingState;
4
5
  columnSizingInfo: ColumnSizingInfoState;
5
6
  };
6
- export declare type ColumnSizing = Record<string, number>;
7
+ export declare type ColumnSizingState = Record<string, number>;
7
8
  export declare type ColumnSizingInfoState = {
8
9
  startOffset: null | number;
9
10
  startSize: null | number;
@@ -16,24 +17,18 @@ export declare type ColumnResizeMode = 'onChange' | 'onEnd';
16
17
  export declare type ColumnSizingOptions = {
17
18
  enableColumnResizing?: boolean;
18
19
  columnResizeMode?: ColumnResizeMode;
19
- onColumnSizingChange?: OnChangeFn<ColumnSizing>;
20
+ onColumnSizingChange?: OnChangeFn<ColumnSizingState>;
20
21
  onColumnSizingInfoChange?: OnChangeFn<ColumnSizingInfoState>;
21
22
  };
22
23
  export declare type ColumnSizingDefaultOptions = {
23
24
  columnResizeMode: ColumnResizeMode;
24
- onColumnSizingChange: OnChangeFn<ColumnSizing>;
25
+ onColumnSizingChange: OnChangeFn<ColumnSizingState>;
25
26
  onColumnSizingInfoChange: OnChangeFn<ColumnSizingInfoState>;
26
27
  };
27
- export declare type ColumnResizerProps = {
28
- title?: string;
29
- onMouseDown?: (e: MouseEvent) => void;
30
- onTouchStart?: (e: TouchEvent) => void;
31
- draggable?: boolean;
32
- role?: string;
33
- };
34
28
  export declare type ColumnSizingInstance<TGenerics extends TableGenerics> = {
35
- getColumnWidth: (columnId: string) => number;
36
- setColumnSizing: (updater: Updater<ColumnSizing>) => void;
29
+ getColumnSize: (columnId: string) => number;
30
+ getColumnStart: (columnId: string, position?: ColumnPinningPosition) => number;
31
+ setColumnSizing: (updater: Updater<ColumnSizingState>) => void;
37
32
  setColumnSizingInfo: (updater: Updater<ColumnSizingInfoState>) => void;
38
33
  resetColumnSizing: () => void;
39
34
  resetColumnSize: (columnId: string) => void;
@@ -41,18 +36,24 @@ export declare type ColumnSizingInstance<TGenerics extends TableGenerics> = {
41
36
  resetHeaderSizeInfo: () => void;
42
37
  getColumnCanResize: (columnId: string) => boolean;
43
38
  getHeaderCanResize: (headerId: string) => boolean;
44
- getHeaderResizerProps: <TGetter extends Getter<ColumnResizerProps>>(headerId: string, userProps?: TGetter) => undefined | PropGetterValue<ColumnResizerProps, TGetter>;
39
+ getResizeHandler: (headerId: string) => (event: unknown) => void;
45
40
  getColumnIsResizing: (columnId: string) => boolean;
46
41
  getHeaderIsResizing: (headerId: string) => boolean;
42
+ getTotalSize: () => number;
43
+ getLeftTotalSize: () => number;
44
+ getCenterTotalSize: () => number;
45
+ getRightTotalSize: () => number;
47
46
  };
48
47
  export declare type ColumnSizingColumnDef = {
49
48
  enableResizing?: boolean;
50
49
  defaultCanResize?: boolean;
51
- width?: number;
52
- minWidth?: number;
53
- maxWidth?: number;
50
+ size?: number;
51
+ minSize?: number;
52
+ maxSize?: number;
54
53
  };
55
54
  export declare type ColumnSizingColumn<TGenerics extends TableGenerics> = {
55
+ getSize: () => number;
56
+ getStart: (position?: ColumnPinningPosition) => number;
56
57
  getCanResize: () => boolean;
57
58
  getIsResizing: () => boolean;
58
59
  resetSize: () => void;
@@ -60,20 +61,13 @@ export declare type ColumnSizingColumn<TGenerics extends TableGenerics> = {
60
61
  export declare type ColumnSizingHeader<TGenerics extends TableGenerics> = {
61
62
  getCanResize: () => boolean;
62
63
  getIsResizing: () => boolean;
63
- getResizerProps: <TGetter extends Getter<ColumnResizerProps>>(userProps?: TGetter) => undefined | PropGetterValue<ColumnResizerProps, TGetter>;
64
+ getResizeHandler: () => (event: unknown) => void;
64
65
  resetSize: () => void;
65
66
  };
66
67
  export declare const defaultColumnSizing: {
67
- width: number;
68
- minWidth: number;
69
- maxWidth: number;
70
- };
71
- export declare const ColumnSizing: {
72
- getDefaultColumn: () => ColumnSizingColumnDef;
73
- getInitialState: () => ColumnSizingTableState;
74
- getDefaultOptions: <TGenerics extends TableGenerics>(instance: TableInstance<TGenerics>) => ColumnSizingDefaultOptions;
75
- getInstance: <TGenerics_1 extends TableGenerics>(instance: TableInstance<TGenerics_1>) => ColumnSizingInstance<TGenerics_1>;
76
- createColumn: <TGenerics_2 extends TableGenerics>(column: Column<TGenerics_2>, instance: TableInstance<TGenerics_2>) => ColumnSizingColumn<TGenerics_2>;
77
- createHeader: <TGenerics_3 extends TableGenerics>(header: Header<TGenerics_3>, instance: TableInstance<TGenerics_3>) => ColumnSizingHeader<TGenerics_3>;
68
+ size: number;
69
+ minSize: number;
70
+ maxSize: number;
78
71
  };
72
+ export declare const ColumnSizing: TableFeature;
79
73
  export declare function passiveEventSupported(): boolean;
@@ -0,0 +1,54 @@
1
+ import { Cell, Column, Header, TableGenerics, TableInstance, Row, AccessorFn, ColumnDef, Renderable } from '../types';
2
+ export declare type CoreColumnDefType = 'data' | 'display' | 'group';
3
+ export declare type CoreColumnDef<TGenerics extends TableGenerics> = {
4
+ id: string;
5
+ accessorKey?: string & keyof TGenerics['Row'];
6
+ accessorFn?: AccessorFn<TGenerics['Row']>;
7
+ columns?: ColumnDef<TGenerics>[];
8
+ header?: Renderable<TGenerics, {
9
+ instance: TableInstance<TGenerics>;
10
+ header: Header<TGenerics>;
11
+ column: Column<TGenerics>;
12
+ }>;
13
+ footer?: Renderable<TGenerics, {
14
+ instance: TableInstance<TGenerics>;
15
+ header: Header<TGenerics>;
16
+ column: Column<TGenerics>;
17
+ }>;
18
+ cell?: Renderable<TGenerics, {
19
+ instance: TableInstance<TGenerics>;
20
+ row: Row<TGenerics>;
21
+ column: Column<TGenerics>;
22
+ cell: Cell<TGenerics>;
23
+ value: TGenerics['Value'];
24
+ }>;
25
+ meta?: TGenerics['ColumnMeta'];
26
+ };
27
+ export declare type CoreColumn<TGenerics extends TableGenerics> = {
28
+ id: string;
29
+ depth: number;
30
+ accessorFn?: AccessorFn<TGenerics['Row']>;
31
+ columnDef: ColumnDef<TGenerics>;
32
+ columnDefType: CoreColumnDefType;
33
+ columns: Column<TGenerics>[];
34
+ parent?: Column<TGenerics>;
35
+ getFlatColumns: () => Column<TGenerics>[];
36
+ getLeafColumns: () => Column<TGenerics>[];
37
+ };
38
+ export declare type ColumnsOptions<TGenerics extends TableGenerics> = {
39
+ columns: ColumnDef<TGenerics>[];
40
+ defaultColumn?: Partial<ColumnDef<TGenerics>>;
41
+ };
42
+ export declare type ColumnsInstance<TGenerics extends TableGenerics> = {
43
+ getDefaultColumn: () => Partial<ColumnDef<TGenerics>>;
44
+ getColumnDefs: () => ColumnDef<TGenerics>[];
45
+ createColumn: (columnDef: ColumnDef<TGenerics>, depth: number, parent?: Column<TGenerics>) => Column<TGenerics>;
46
+ getAllColumns: () => Column<TGenerics>[];
47
+ getAllFlatColumns: () => Column<TGenerics>[];
48
+ getAllFlatColumnsById: () => Record<string, Column<TGenerics>>;
49
+ getAllLeafColumns: () => Column<TGenerics>[];
50
+ getColumn: (columnId: string) => Column<TGenerics>;
51
+ };
52
+ export declare const Columns: {
53
+ createInstance: <TGenerics extends TableGenerics>(instance: TableInstance<TGenerics>) => ColumnsInstance<TGenerics>;
54
+ };
@@ -1,5 +1,5 @@
1
1
  import { RowModel } from '..';
2
- import { Getter, OnChangeFn, TableGenerics, PropGetterValue, TableInstance, Row, Updater } from '../types';
2
+ import { OnChangeFn, TableGenerics, TableInstance, Row, Updater } from '../types';
3
3
  export declare type ExpandedStateList = Record<string, boolean>;
4
4
  export declare type ExpandedState = true | Record<string, boolean>;
5
5
  export declare type ExpandedTableState = {
@@ -9,9 +9,10 @@ export declare type ExpandedRow = {
9
9
  toggleExpanded: (expanded?: boolean) => void;
10
10
  getIsExpanded: () => boolean;
11
11
  getCanExpand: () => boolean;
12
- getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>;
12
+ getToggleExpandedHandler: () => () => void;
13
13
  };
14
14
  export declare type ExpandedOptions<TGenerics extends TableGenerics> = {
15
+ manualExpanding?: boolean;
15
16
  onExpandedChange?: OnChangeFn<ExpandedState>;
16
17
  autoResetExpanded?: boolean;
17
18
  enableExpanded?: boolean;
@@ -22,10 +23,6 @@ export declare type ExpandedOptions<TGenerics extends TableGenerics> = {
22
23
  getRowCanExpand?: (row: Row<TGenerics>) => boolean;
23
24
  paginateExpandedRows?: boolean;
24
25
  };
25
- export declare type ToggleExpandedProps = {
26
- title?: string;
27
- onClick?: (event: unknown) => void;
28
- };
29
26
  export declare type ExpandedInstance<TGenerics extends TableGenerics> = {
30
27
  queueResetExpanded: () => void;
31
28
  setExpanded: (updater: Updater<ExpandedState>) => void;
@@ -35,8 +32,8 @@ export declare type ExpandedInstance<TGenerics extends TableGenerics> = {
35
32
  getRowCanExpand: (rowId: string) => boolean;
36
33
  getCanSomeRowsExpand: () => boolean;
37
34
  getIsRowExpanded: (rowId: string) => boolean;
38
- getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(rowId: string, userProps?: TGetter) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>;
39
- getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>;
35
+ getToggleExpandedHandler: (rowId: string) => undefined | (() => void);
36
+ getToggleAllRowsExpandedHandler: () => (event: unknown) => void;
40
37
  getIsSomeRowsExpanded: () => boolean;
41
38
  getIsAllRowsExpanded: () => boolean;
42
39
  getExpandedDepth: () => number;
@@ -47,6 +44,6 @@ export declare type ExpandedInstance<TGenerics extends TableGenerics> = {
47
44
  export declare const Expanding: {
48
45
  getInitialState: () => ExpandedTableState;
49
46
  getDefaultOptions: <TGenerics extends TableGenerics>(instance: TableInstance<TGenerics>) => ExpandedOptions<TGenerics>;
50
- getInstance: <TGenerics_1 extends TableGenerics>(instance: TableInstance<TGenerics_1>) => ExpandedInstance<TGenerics_1>;
47
+ createInstance: <TGenerics_1 extends TableGenerics>(instance: TableInstance<TGenerics_1>) => ExpandedInstance<TGenerics_1>;
51
48
  createRow: <TGenerics_2 extends TableGenerics>(row: Row<TGenerics_2>, instance: TableInstance<TGenerics_2>) => ExpandedRow;
52
49
  };
@@ -49,10 +49,12 @@ export declare type FiltersOptions<TGenerics extends TableGenerics> = {
49
49
  filterFromLeafRows?: boolean;
50
50
  filterFns?: TGenerics['FilterFns'];
51
51
  enableFilters?: boolean;
52
+ manualColumnFiltering?: boolean;
52
53
  onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>;
53
54
  autoResetColumnFilters?: boolean;
54
55
  enableColumnFilters?: boolean;
55
56
  getColumnFilteredRowModel?: (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics>;
57
+ manualGlobalFiltering?: boolean;
56
58
  globalFilterFn?: FilterFnOption<TGenerics>;
57
59
  onGlobalFilterChange?: OnChangeFn<any>;
58
60
  autoResetGlobalFilter?: boolean;
@@ -88,6 +90,6 @@ export declare const Filters: {
88
90
  getInitialState: () => FiltersTableState;
89
91
  getDefaultOptions: <TGenerics_1 extends TableGenerics>(instance: TableInstance<TGenerics_1>) => FiltersOptions<TGenerics_1>;
90
92
  createColumn: <TGenerics_2 extends TableGenerics>(column: Column<TGenerics_2>, instance: TableInstance<TGenerics_2>) => FiltersColumn<TGenerics_2>;
91
- getInstance: <TGenerics_3 extends TableGenerics>(instance: TableInstance<TGenerics_3>) => FiltersInstance<TGenerics_3>;
93
+ createInstance: <TGenerics_3 extends TableGenerics>(instance: TableInstance<TGenerics_3>) => FiltersInstance<TGenerics_3>;
92
94
  };
93
95
  export declare function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(filterFn?: FilterFn<TGenerics>, value?: any, column?: Column<TGenerics>): boolean;
@@ -1,6 +1,6 @@
1
1
  import { RowModel } from '..';
2
2
  import { BuiltInAggregationFn } from '../aggregationFns';
3
- import { Cell, Column, Getter, OnChangeFn, PropGetterValue, TableInstance, Row, Updater, Renderable, UseRenderer, TableGenerics } from '../types';
3
+ import { Cell, Column, OnChangeFn, TableInstance, Row, Updater, Renderable, TableGenerics } from '../types';
4
4
  import { Overwrite } from '../utils';
5
5
  export declare type GroupingState = string[];
6
6
  export declare type AggregationFn<TGenerics extends TableGenerics> = (getLeafValues: () => TGenerics['Row'][], getChildValues: () => TGenerics['Row'][]) => any;
@@ -32,7 +32,7 @@ export declare type GroupingColumn<TGenerics extends TableGenerics> = {
32
32
  getIsGrouped: () => boolean;
33
33
  getGroupedIndex: () => number;
34
34
  toggleGrouping: () => void;
35
- getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>;
35
+ getToggleGroupingHandler: () => () => void;
36
36
  };
37
37
  export declare type GroupingRow = {
38
38
  groupingColumnId?: string;
@@ -43,7 +43,7 @@ export declare type GroupingCell<TGenerics extends TableGenerics> = {
43
43
  getIsGrouped: () => boolean;
44
44
  getIsPlaceholder: () => boolean;
45
45
  getIsAggregated: () => boolean;
46
- renderAggregatedCell: () => string | null | ReturnType<UseRenderer<TGenerics>>;
46
+ renderAggregatedCell: () => string | null | TGenerics['Rendered'];
47
47
  };
48
48
  export declare type ColumnDefaultOptions = {
49
49
  onGroupingChange: OnChangeFn<GroupingState>;
@@ -51,6 +51,7 @@ export declare type ColumnDefaultOptions = {
51
51
  enableGrouping: boolean;
52
52
  };
53
53
  export declare type GroupingOptions<TGenerics extends TableGenerics> = {
54
+ manualGrouping?: boolean;
54
55
  aggregationFns?: TGenerics['AggregationFns'];
55
56
  onGroupingChange?: OnChangeFn<GroupingState>;
56
57
  autoResetGrouping?: boolean;
@@ -60,10 +61,6 @@ export declare type GroupingOptions<TGenerics extends TableGenerics> = {
60
61
  groupedColumnMode?: false | 'reorder' | 'remove';
61
62
  };
62
63
  export declare type GroupingColumnMode = false | 'reorder' | 'remove';
63
- export declare type ToggleGroupingProps = {
64
- title?: string;
65
- onClick?: (event: unknown) => void;
66
- };
67
64
  export declare type GroupingInstance<TGenerics extends TableGenerics> = {
68
65
  queueResetGrouping: () => void;
69
66
  getColumnAutoAggregationFn: (columnId: string) => AggregationFn<TGenerics> | undefined;
@@ -74,7 +71,7 @@ export declare type GroupingInstance<TGenerics extends TableGenerics> = {
74
71
  getColumnCanGroup: (columnId: string) => boolean;
75
72
  getColumnIsGrouped: (columnId: string) => boolean;
76
73
  getColumnGroupedIndex: (columnId: string) => number;
77
- getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(columnId: string, userProps?: TGetter) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>;
74
+ getToggleGroupingHandler: (columnId: string) => undefined | (() => void);
78
75
  getRowIsGrouped: (rowId: string) => boolean;
79
76
  getPreGroupedRowModel: () => RowModel<TGenerics>;
80
77
  getGroupedRowModel: () => RowModel<TGenerics>;
@@ -85,7 +82,7 @@ export declare const Grouping: {
85
82
  getInitialState: () => GroupingTableState;
86
83
  getDefaultOptions: <TGenerics_1 extends TableGenerics>(instance: TableInstance<TGenerics_1>) => GroupingOptions<TGenerics_1>;
87
84
  createColumn: <TGenerics_2 extends TableGenerics>(column: Column<TGenerics_2>, instance: TableInstance<TGenerics_2>) => GroupingColumn<TGenerics_2>;
88
- getInstance: <TGenerics_3 extends TableGenerics>(instance: TableInstance<TGenerics_3>) => GroupingInstance<TGenerics_3>;
85
+ createInstance: <TGenerics_3 extends TableGenerics>(instance: TableInstance<TGenerics_3>) => GroupingInstance<TGenerics_3>;
89
86
  createRow: <TGenerics_4 extends TableGenerics>(row: Row<TGenerics_4>, instance: TableInstance<TGenerics_4>) => GroupingRow;
90
87
  createCell: <TGenerics_5 extends TableGenerics>(cell: Cell<TGenerics_5>, column: Column<TGenerics_5>, row: Row<TGenerics_5>, instance: TableInstance<TGenerics_5>) => GroupingCell<TGenerics_5>;
91
88
  orderColumns: <TGenerics_6 extends TableGenerics>(leafColumns: Column<TGenerics_6>[], grouping: string[], groupedColumnMode?: GroupingColumnMode) => Column<TGenerics_6>[];
@@ -1,16 +1,10 @@
1
- import { Cell, Column, FooterGroupProps, FooterProps, Getter, Header, HeaderGroup, HeaderGroupProps, HeaderProps, TableGenerics, PropGetterValue, TableInstance, Row } from '../types';
2
- export declare type HeadersRow<TGenerics extends TableGenerics> = {
3
- _getAllVisibleCells: () => Cell<TGenerics>[];
4
- getVisibleCells: () => Cell<TGenerics>[];
5
- getLeftVisibleCells: () => Cell<TGenerics>[];
6
- getCenterVisibleCells: () => Cell<TGenerics>[];
7
- getRightVisibleCells: () => Cell<TGenerics>[];
8
- };
1
+ import { Column, Header, HeaderGroup, TableGenerics, TableInstance } from '../types';
9
2
  export declare type HeadersInstance<TGenerics extends TableGenerics> = {
10
3
  createHeader: (column: Column<TGenerics>, options: {
11
4
  id?: string;
12
5
  isPlaceholder?: boolean;
13
6
  placeholderId?: string;
7
+ index: number;
14
8
  depth: number;
15
9
  }) => Header<TGenerics>;
16
10
  getHeaderGroups: () => HeaderGroup<TGenerics>[];
@@ -30,14 +24,8 @@ export declare type HeadersInstance<TGenerics extends TableGenerics> = {
30
24
  getCenterLeafHeaders: () => Header<TGenerics>[];
31
25
  getRightLeafHeaders: () => Header<TGenerics>[];
32
26
  getHeader: (id: string) => Header<TGenerics>;
33
- getHeaderGroupProps: <TGetter extends Getter<HeaderGroupProps>>(id: string, userProps?: TGetter) => undefined | PropGetterValue<HeaderGroupProps, TGetter>;
34
- getFooterGroupProps: <TGetter extends Getter<FooterGroupProps>>(id: string, userProps?: TGetter) => undefined | PropGetterValue<FooterGroupProps, TGetter>;
35
- getHeaderProps: <TGetter extends Getter<HeaderProps>>(headerId: string, userProps?: TGetter) => undefined | PropGetterValue<HeaderProps, TGetter>;
36
- getFooterProps: <TGetter extends Getter<FooterProps>>(headerId: string, userProps?: TGetter) => undefined | PropGetterValue<FooterProps, TGetter>;
37
- getTotalWidth: () => number;
38
27
  };
39
28
  export declare const Headers: {
40
- createRow: <TGenerics extends TableGenerics>(row: Row<TGenerics>, instance: TableInstance<TGenerics>) => HeadersRow<TGenerics>;
41
- getInstance: <TGenerics_1 extends TableGenerics>(instance: TableInstance<TGenerics_1>) => HeadersInstance<TGenerics_1>;
29
+ createInstance: <TGenerics extends TableGenerics>(instance: TableInstance<TGenerics>) => HeadersInstance<TGenerics>;
42
30
  };
43
31
  export declare function buildHeaderGroups<TGenerics extends TableGenerics>(allColumns: Column<TGenerics>[], columnsToGroup: Column<TGenerics>[], instance: TableInstance<TGenerics>, headerFamily?: 'center' | 'left' | 'right'): HeaderGroup<TGenerics>[];
@@ -17,5 +17,5 @@ export declare type ColumnOrderInstance<TGenerics extends TableGenerics> = {
17
17
  export declare const Ordering: {
18
18
  getInitialState: () => ColumnOrderTableState;
19
19
  getDefaultOptions: <TGenerics extends TableGenerics>(instance: TableInstance<TGenerics>) => ColumnOrderDefaultOptions;
20
- getInstance: <TGenerics_1 extends TableGenerics>(instance: TableInstance<TGenerics_1>) => ColumnOrderInstance<TGenerics_1>;
20
+ createInstance: <TGenerics_1 extends TableGenerics>(instance: TableInstance<TGenerics_1>) => ColumnOrderInstance<TGenerics_1>;
21
21
  };
@@ -1,4 +1,4 @@
1
- import { OnChangeFn, TableGenerics, TableInstance, RowModel, Updater } from '../types';
1
+ import { OnChangeFn, TableGenerics, TableInstance, RowModel, Updater, TableFeature } from '../types';
2
2
  export declare type PaginationState = {
3
3
  pageIndex: number;
4
4
  pageSize: number;
@@ -7,7 +7,11 @@ export declare type PaginationState = {
7
7
  export declare type PaginationTableState = {
8
8
  pagination: PaginationState;
9
9
  };
10
+ export declare type PaginationInitialTableState = {
11
+ pagination?: Partial<PaginationState>;
12
+ };
10
13
  export declare type PaginationOptions<TGenerics extends TableGenerics> = {
14
+ manualPagination?: boolean;
11
15
  onPaginationChange?: OnChangeFn<PaginationState>;
12
16
  autoResetPageIndex?: boolean;
13
17
  getPaginationRowModel?: (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics>;
@@ -35,8 +39,4 @@ export declare type PaginationInstance<TGenerics extends TableGenerics> = {
35
39
  _getPaginationRowModel?: () => RowModel<TGenerics>;
36
40
  getPageCount: () => number;
37
41
  };
38
- export declare const Pagination: {
39
- getInitialState: () => PaginationTableState;
40
- getDefaultOptions: <TGenerics extends TableGenerics>(instance: TableInstance<TGenerics>) => PaginationDefaultOptions;
41
- getInstance: <TGenerics_1 extends TableGenerics>(instance: TableInstance<TGenerics_1>) => PaginationInstance<TGenerics_1>;
42
- };
42
+ export declare const Pagination: TableFeature;
@@ -1,5 +1,5 @@
1
- import { OnChangeFn, Updater, TableInstance, Column, TableGenerics } from '../types';
2
- declare type ColumnPinningPosition = false | 'left' | 'right';
1
+ import { OnChangeFn, Updater, TableInstance, Column, TableGenerics, Row, Cell } from '../types';
2
+ export declare type ColumnPinningPosition = false | 'left' | 'right';
3
3
  export declare type ColumnPinningState = {
4
4
  left?: string[];
5
5
  right?: string[];
@@ -24,6 +24,16 @@ export declare type ColumnPinningColumn = {
24
24
  getIsPinned: () => ColumnPinningPosition;
25
25
  pin: (position: ColumnPinningPosition) => void;
26
26
  };
27
+ export declare type ColumnPinningRow<TGenerics extends TableGenerics> = {
28
+ getLeftVisibleCells: () => Cell<TGenerics>[];
29
+ getCenterVisibleCells: () => Cell<TGenerics>[];
30
+ getRightVisibleCells: () => Cell<TGenerics>[];
31
+ };
32
+ export declare type ColumnPinningCell<TGenerics extends TableGenerics> = {
33
+ getLeftVisibleCells: () => Cell<TGenerics>[];
34
+ getCenterVisibleCells: () => Cell<TGenerics>[];
35
+ getRightVisibleCells: () => Cell<TGenerics>[];
36
+ };
27
37
  export declare type ColumnPinningInstance<TGenerics extends TableGenerics> = {
28
38
  setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
29
39
  resetColumnPinning: () => void;
@@ -32,11 +42,15 @@ export declare type ColumnPinningInstance<TGenerics extends TableGenerics> = {
32
42
  getColumnIsPinned: (columnId: string) => ColumnPinningPosition;
33
43
  getColumnPinnedIndex: (columnId: string) => number;
34
44
  getIsSomeColumnsPinned: () => boolean;
45
+ getLeftLeafColumns: () => Column<TGenerics>[];
46
+ getRightLeafColumns: () => Column<TGenerics>[];
47
+ getCenterLeafColumns: () => Column<TGenerics>[];
35
48
  };
36
49
  export declare const Pinning: {
37
50
  getInitialState: () => ColumnPinningTableState;
38
51
  getDefaultOptions: <TGenerics extends TableGenerics>(instance: TableInstance<TGenerics>) => ColumnPinningDefaultOptions;
39
52
  createColumn: <TGenerics_1 extends TableGenerics>(column: Column<TGenerics_1>, instance: TableInstance<TGenerics_1>) => ColumnPinningColumn;
40
- getInstance: <TGenerics_2 extends TableGenerics>(instance: TableInstance<TGenerics_2>) => ColumnPinningInstance<TGenerics_2>;
53
+ createRow: <TGenerics_2 extends TableGenerics>(row: Row<TGenerics_2>, instance: TableInstance<TGenerics_2>) => ColumnPinningRow<TGenerics_2>;
54
+ createCell: <TGenerics_3 extends TableGenerics>(cell: Cell<TGenerics_3>, instance: TableInstance<TGenerics_3>) => ColumnPinningCell<TGenerics_3>;
55
+ createInstance: <TGenerics_4 extends TableGenerics>(instance: TableInstance<TGenerics_4>) => ColumnPinningInstance<TGenerics_4>;
41
56
  };
42
- export {};