@tanstack/table-core 8.0.0-alpha.9 → 8.0.0-beta.0

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 (186) hide show
  1. package/build/cjs/aggregationFns.js +120 -0
  2. package/build/cjs/aggregationFns.js.map +1 -0
  3. package/build/cjs/core/cell.js +40 -0
  4. package/build/cjs/core/cell.js.map +1 -0
  5. package/build/cjs/core/column.js +88 -0
  6. package/build/cjs/core/column.js.map +1 -0
  7. package/build/cjs/core/headers.js +403 -0
  8. package/build/cjs/core/headers.js.map +1 -0
  9. package/build/cjs/core/instance.js +255 -0
  10. package/build/cjs/core/instance.js.map +1 -0
  11. package/build/cjs/core/row.js +77 -0
  12. package/build/cjs/core/row.js.map +1 -0
  13. package/build/cjs/createTable.js +36 -29
  14. package/build/cjs/createTable.js.map +1 -1
  15. package/build/cjs/features/ColumnSizing.js +157 -189
  16. package/build/cjs/features/ColumnSizing.js.map +1 -1
  17. package/build/cjs/features/Expanding.js +103 -155
  18. package/build/cjs/features/Expanding.js.map +1 -1
  19. package/build/cjs/features/Filters.js +155 -304
  20. package/build/cjs/features/Filters.js.map +1 -1
  21. package/build/cjs/features/Grouping.js +97 -157
  22. package/build/cjs/features/Grouping.js.map +1 -1
  23. package/build/cjs/features/Ordering.js +30 -41
  24. package/build/cjs/features/Ordering.js.map +1 -1
  25. package/build/cjs/features/Pagination.js +102 -105
  26. package/build/cjs/features/Pagination.js.map +1 -1
  27. package/build/cjs/features/Pinning.js +131 -89
  28. package/build/cjs/features/Pinning.js.map +1 -1
  29. package/build/cjs/features/RowSelection.js +138 -267
  30. package/build/cjs/features/RowSelection.js.map +1 -1
  31. package/build/cjs/features/Sorting.js +82 -167
  32. package/build/cjs/features/Sorting.js.map +1 -1
  33. package/build/cjs/features/Visibility.js +69 -115
  34. package/build/cjs/features/Visibility.js.map +1 -1
  35. package/build/cjs/filterFns.js +107 -0
  36. package/build/cjs/filterFns.js.map +1 -0
  37. package/build/cjs/index.js +36 -23
  38. package/build/cjs/index.js.map +1 -1
  39. package/build/cjs/sortingFns.js +124 -0
  40. package/build/cjs/sortingFns.js.map +1 -0
  41. package/build/cjs/utils/filterRowsUtils.js +117 -0
  42. package/build/cjs/utils/filterRowsUtils.js.map +1 -0
  43. package/build/cjs/utils/getCoreRowModel.js +79 -0
  44. package/build/cjs/utils/getCoreRowModel.js.map +1 -0
  45. package/build/cjs/utils/getExpandedRowModel.js +57 -0
  46. package/build/cjs/utils/getExpandedRowModel.js.map +1 -0
  47. package/build/cjs/utils/getFacetedMinMaxValues.js +54 -0
  48. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
  49. package/build/cjs/utils/getFacetedRowModel.js +50 -0
  50. package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
  51. package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
  52. package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
  53. package/build/cjs/utils/getFilteredRowModel.js +139 -0
  54. package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
  55. package/build/cjs/utils/getGroupedRowModel.js +161 -0
  56. package/build/cjs/utils/getGroupedRowModel.js.map +1 -0
  57. package/build/cjs/utils/getPaginationRowModel.js +61 -0
  58. package/build/cjs/utils/getPaginationRowModel.js.map +1 -0
  59. package/build/cjs/utils/getSortedRowModel.js +110 -0
  60. package/build/cjs/utils/getSortedRowModel.js.map +1 -0
  61. package/build/cjs/utils.js +38 -107
  62. package/build/cjs/utils.js.map +1 -1
  63. package/build/esm/index.js +2976 -3853
  64. package/build/esm/index.js.map +1 -1
  65. package/build/stats-html.html +1 -1
  66. package/build/stats-react.json +586 -408
  67. package/build/types/aggregationFns.d.ts +13 -0
  68. package/build/types/core/cell.d.ts +9 -0
  69. package/build/types/core/column.d.ts +40 -0
  70. package/build/types/core/headers.d.ts +46 -0
  71. package/build/types/core/instance.d.ts +57 -0
  72. package/build/types/core/row.d.ts +15 -0
  73. package/build/types/createTable.d.ts +47 -26
  74. package/build/types/features/ColumnSizing.d.ts +32 -44
  75. package/build/types/features/Expanding.d.ts +15 -26
  76. package/build/types/features/Filters.d.ts +64 -63
  77. package/build/types/features/Grouping.d.ts +32 -46
  78. package/build/types/features/Ordering.d.ts +7 -10
  79. package/build/types/features/Pagination.d.ts +16 -15
  80. package/build/types/features/Pinning.d.ts +16 -17
  81. package/build/types/features/RowSelection.d.ts +13 -33
  82. package/build/types/features/Sorting.d.ts +25 -44
  83. package/build/types/features/Visibility.d.ts +16 -25
  84. package/build/types/filterFns.d.ts +13 -0
  85. package/build/types/index.d.ts +16 -10
  86. package/build/types/sortingFns.d.ts +11 -0
  87. package/build/types/types.d.ts +37 -122
  88. package/build/types/utils/filterRowsUtils.d.ts +4 -0
  89. package/build/types/utils/getCoreRowModel.d.ts +2 -0
  90. package/build/types/utils/getExpandedRowModel.d.ts +7 -0
  91. package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
  92. package/build/types/utils/getFacetedRowModel.d.ts +2 -0
  93. package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
  94. package/build/types/utils/getFilteredRowModel.d.ts +2 -0
  95. package/build/types/utils/getGroupedRowModel.d.ts +2 -0
  96. package/build/types/utils/getPaginationRowModel.d.ts +4 -0
  97. package/build/types/utils/getSortedRowModel.d.ts +2 -0
  98. package/build/types/utils.d.ts +7 -11
  99. package/build/umd/index.development.js +3024 -3893
  100. package/build/umd/index.development.js.map +1 -1
  101. package/build/umd/index.production.js +1 -1
  102. package/build/umd/index.production.js.map +1 -1
  103. package/package.json +9 -10
  104. package/src/.DS_Store +0 -0
  105. package/src/aggregationFns.ts +123 -0
  106. package/src/core/cell.ts +48 -0
  107. package/src/core/column.ts +147 -0
  108. package/src/core/headers.ts +575 -0
  109. package/src/core/instance.ts +361 -0
  110. package/src/core/row.ts +85 -0
  111. package/src/createTable.ts +188 -0
  112. package/src/features/ColumnSizing.ts +170 -185
  113. package/src/features/Expanding.ts +122 -194
  114. package/src/features/Filters.ts +301 -381
  115. package/src/features/Grouping.ts +160 -220
  116. package/src/features/Ordering.ts +24 -25
  117. package/src/features/Pagination.ts +90 -73
  118. package/src/features/Pinning.ts +186 -63
  119. package/src/features/RowSelection.ts +107 -245
  120. package/src/features/Sorting.ts +127 -225
  121. package/src/features/Visibility.ts +116 -132
  122. package/src/filterFns.ts +135 -0
  123. package/src/index.ts +29 -0
  124. package/src/{sortTypes.ts → sortingFns.ts} +63 -85
  125. package/src/types.ts +62 -168
  126. package/src/utils/filterRowsUtils.ts +112 -0
  127. package/src/utils/getCoreRowModel.ts +84 -0
  128. package/src/utils/getExpandedRowModel.ts +54 -0
  129. package/src/utils/getFacetedMinMaxValues.ts +40 -0
  130. package/src/utils/getFacetedRowModel.ts +50 -0
  131. package/src/utils/getFacetedUniqueValues.ts +37 -0
  132. package/src/utils/getFilteredRowModel.ts +159 -0
  133. package/src/utils/getGroupedRowModel.ts +175 -0
  134. package/src/utils/getPaginationRowModel.ts +48 -0
  135. package/src/utils/getSortedRowModel.ts +116 -0
  136. package/src/utils.ts +126 -0
  137. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
  138. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  139. package/build/cjs/aggregationTypes.js +0 -130
  140. package/build/cjs/aggregationTypes.js.map +0 -1
  141. package/build/cjs/core.js +0 -545
  142. package/build/cjs/core.js.map +0 -1
  143. package/build/cjs/features/Headers.js +0 -630
  144. package/build/cjs/features/Headers.js.map +0 -1
  145. package/build/cjs/filterTypes.js +0 -172
  146. package/build/cjs/filterTypes.js.map +0 -1
  147. package/build/cjs/sortTypes.js +0 -122
  148. package/build/cjs/sortTypes.js.map +0 -1
  149. package/build/cjs/types.js +0 -22
  150. package/build/cjs/types.js.map +0 -1
  151. package/build/cjs/utils/columnFilterRowsFn.js +0 -131
  152. package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
  153. package/build/cjs/utils/expandRowsFn.js +0 -38
  154. package/build/cjs/utils/expandRowsFn.js.map +0 -1
  155. package/build/cjs/utils/globalFilterRowsFn.js +0 -101
  156. package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
  157. package/build/cjs/utils/groupRowsFn.js +0 -155
  158. package/build/cjs/utils/groupRowsFn.js.map +0 -1
  159. package/build/cjs/utils/paginateRowsFn.js +0 -44
  160. package/build/cjs/utils/paginateRowsFn.js.map +0 -1
  161. package/build/cjs/utils/sortRowsFn.js +0 -94
  162. package/build/cjs/utils/sortRowsFn.js.map +0 -1
  163. package/build/types/aggregationTypes.d.ts +0 -22
  164. package/build/types/core.d.ts +0 -105
  165. package/build/types/features/Headers.d.ts +0 -43
  166. package/build/types/filterTypes.d.ts +0 -50
  167. package/build/types/sortTypes.d.ts +0 -18
  168. package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
  169. package/build/types/utils/expandRowsFn.d.ts +0 -2
  170. package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
  171. package/build/types/utils/groupRowsFn.d.ts +0 -2
  172. package/build/types/utils/paginateRowsFn.d.ts +0 -2
  173. package/build/types/utils/sortRowsFn.d.ts +0 -2
  174. package/src/aggregationTypes.ts +0 -115
  175. package/src/core.tsx +0 -763
  176. package/src/createTable.tsx +0 -137
  177. package/src/features/Headers.ts +0 -747
  178. package/src/filterTypes.ts +0 -188
  179. package/src/index.tsx +0 -23
  180. package/src/utils/columnFilterRowsFn.ts +0 -113
  181. package/src/utils/expandRowsFn.ts +0 -30
  182. package/src/utils/globalFilterRowsFn.ts +0 -89
  183. package/src/utils/groupRowsFn.ts +0 -170
  184. package/src/utils/paginateRowsFn.ts +0 -28
  185. package/src/utils/sortRowsFn.ts +0 -95
  186. package/src/utils.tsx +0 -221
@@ -1,85 +1,71 @@
1
- import React, { MouseEvent, TouchEvent } from 'react';
2
1
  import { RowModel } from '..';
3
- import { BuiltInAggregationType } from '../aggregationTypes';
4
- import { Cell, Column, Getter, OnChangeFn, PropGetterValue, TableInstance, Row, Updater, PartialGenerics } from '../types';
2
+ import { BuiltInAggregationFn } from '../aggregationFns';
3
+ import { TableFeature } from '../core/instance';
4
+ import { Cell, Column, OnChangeFn, TableInstance, Row, Updater, Renderable, TableGenerics } from '../types';
5
5
  import { Overwrite } from '../utils';
6
6
  export declare type GroupingState = string[];
7
- export declare type AggregationFn<TGenerics extends PartialGenerics> = (leafValues: TGenerics['Row'][], childValues: TGenerics['Row'][]) => any;
8
- export declare type CustomAggregationTypes<TGenerics extends PartialGenerics> = Record<string, AggregationFn<TGenerics>>;
9
- export declare type AggregationType<TGenerics extends PartialGenerics> = 'auto' | BuiltInAggregationType | keyof TGenerics['AggregationFns'] | AggregationFn<TGenerics>;
10
7
  export declare type GroupingTableState = {
11
8
  grouping: GroupingState;
12
9
  };
13
- export declare type GroupingColumnDef<TGenerics extends PartialGenerics> = {
14
- aggregationType?: AggregationType<Overwrite<TGenerics, {
10
+ export declare type AggregationFn<TGenerics extends TableGenerics> = (columnId: string, leafRows: Row<TGenerics>[], childRows: Row<TGenerics>[]) => any;
11
+ export declare type CustomAggregationFns<TGenerics extends TableGenerics> = Record<string, AggregationFn<TGenerics>>;
12
+ export declare type AggregationFnOption<TGenerics extends TableGenerics> = 'auto' | BuiltInAggregationFn | keyof TGenerics['AggregationFns'] | AggregationFn<TGenerics>;
13
+ export declare type GroupingColumnDef<TGenerics extends TableGenerics> = {
14
+ aggregationFn?: AggregationFnOption<Overwrite<TGenerics, {
15
15
  Value: any;
16
16
  }>>;
17
- aggregateValue?: (columnValue: unknown) => any;
18
- renderAggregatedCell?: () => React.ReactNode;
17
+ aggregatedCell?: Renderable<TGenerics, {
18
+ instance: TableInstance<TGenerics>;
19
+ row: Row<TGenerics>;
20
+ column: Column<TGenerics>;
21
+ cell: Cell<TGenerics>;
22
+ getValue: () => TGenerics['Value'];
23
+ }>;
19
24
  enableGrouping?: boolean;
20
- defaultCanGroup?: boolean;
21
25
  };
22
- export declare type GroupingColumn<TGenerics extends PartialGenerics> = {
23
- aggregationType?: AggregationType<Overwrite<TGenerics, {
26
+ export declare type GroupingColumn<TGenerics extends TableGenerics> = {
27
+ aggregationFn?: AggregationFnOption<Overwrite<TGenerics, {
24
28
  Value: any;
25
29
  }>>;
26
30
  getCanGroup: () => boolean;
27
31
  getIsGrouped: () => boolean;
28
32
  getGroupedIndex: () => number;
29
33
  toggleGrouping: () => void;
30
- getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>;
34
+ getToggleGroupingHandler: () => () => void;
35
+ getAutoAggregationFn: () => AggregationFn<TGenerics> | undefined;
36
+ getAggregationFn: () => AggregationFn<TGenerics> | undefined;
31
37
  };
32
38
  export declare type GroupingRow = {
33
39
  groupingColumnId?: string;
34
40
  groupingValue?: any;
35
41
  getIsGrouped: () => boolean;
42
+ _groupingValuesCache: Record<string, any>;
36
43
  };
37
- export declare type GroupingCell = {
44
+ export declare type GroupingCell<TGenerics extends TableGenerics> = {
38
45
  getIsGrouped: () => boolean;
39
46
  getIsPlaceholder: () => boolean;
40
47
  getIsAggregated: () => boolean;
48
+ renderAggregatedCell: () => string | null | TGenerics['Rendered'];
41
49
  };
42
50
  export declare type ColumnDefaultOptions = {
43
51
  onGroupingChange: OnChangeFn<GroupingState>;
44
- autoResetGrouping: boolean;
45
52
  enableGrouping: boolean;
46
53
  };
47
- export declare type GroupingOptions<TGenerics extends PartialGenerics> = {
48
- aggregationTypes?: TGenerics['AggregationFns'];
54
+ export declare type GroupingOptions<TGenerics extends TableGenerics> = {
55
+ manualGrouping?: boolean;
56
+ aggregationFns?: TGenerics['AggregationFns'];
49
57
  onGroupingChange?: OnChangeFn<GroupingState>;
50
- autoResetGrouping?: boolean;
51
58
  enableGrouping?: boolean;
52
- enableGroupingRemoval?: boolean;
53
- groupRowsFn?: (instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>) => RowModel<TGenerics>;
59
+ getGroupedRowModel?: (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics>;
54
60
  groupedColumnMode?: false | 'reorder' | 'remove';
55
61
  };
56
62
  export declare type GroupingColumnMode = false | 'reorder' | 'remove';
57
- export declare type ToggleGroupingProps = {
58
- title?: string;
59
- onClick?: (event: MouseEvent | TouchEvent) => void;
60
- };
61
- export declare type GroupingInstance<TGenerics extends PartialGenerics> = {
62
- _notifyGroupingReset: () => void;
63
- getColumnAutoAggregationFn: (columnId: string) => AggregationFn<TGenerics> | undefined;
64
- getColumnAggregationFn: (columnId: string) => AggregationFn<TGenerics> | undefined;
63
+ export declare type GroupingInstance<TGenerics extends TableGenerics> = {
65
64
  setGrouping: (updater: Updater<GroupingState>) => void;
66
- resetGrouping: () => void;
67
- toggleColumnGrouping: (columnId: string) => void;
68
- getColumnCanGroup: (columnId: string) => boolean;
69
- getColumnIsGrouped: (columnId: string) => boolean;
70
- getColumnGroupedIndex: (columnId: string) => number;
71
- getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(columnId: string, userProps?: TGetter) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>;
72
- getRowIsGrouped: (rowId: string) => boolean;
65
+ resetGrouping: (defaultState?: boolean) => void;
73
66
  getPreGroupedRowModel: () => RowModel<TGenerics>;
74
67
  getGroupedRowModel: () => RowModel<TGenerics>;
68
+ _getGroupedRowModel?: () => RowModel<TGenerics>;
75
69
  };
76
- export declare const Grouping: {
77
- getDefaultColumn: <TGenerics extends Partial<import("..").DefaultGenerics>>() => GroupingColumnDef<TGenerics>;
78
- getInitialState: () => GroupingTableState;
79
- getDefaultOptions: <TGenerics_1 extends Partial<import("..").DefaultGenerics>>(instance: TableInstance<TGenerics_1>) => GroupingOptions<TGenerics_1>;
80
- createColumn: <TGenerics_2 extends Partial<import("..").DefaultGenerics>>(column: Column<TGenerics_2>, instance: TableInstance<TGenerics_2>) => GroupingColumn<TGenerics_2>;
81
- getInstance: <TGenerics_3 extends Partial<import("..").DefaultGenerics>>(instance: TableInstance<TGenerics_3>) => GroupingInstance<TGenerics_3>;
82
- createRow: <TGenerics_4 extends Partial<import("..").DefaultGenerics>>(row: Row<TGenerics_4>, instance: TableInstance<TGenerics_4>) => GroupingRow;
83
- createCell: <TGenerics_5 extends Partial<import("..").DefaultGenerics>>(cell: Cell<TGenerics_5> & GroupingCell, column: Column<TGenerics_5>, row: Row<TGenerics_5>, _instance: TableInstance<TGenerics_5>) => GroupingCell;
84
- orderColumns: <TGenerics_6 extends Partial<import("..").DefaultGenerics>>(leafColumns: Column<TGenerics_6>[], grouping: string[], groupedColumnMode?: GroupingColumnMode | undefined) => Column<TGenerics_6>[];
85
- };
70
+ export declare const Grouping: TableFeature;
71
+ export declare function orderColumns<TGenerics extends TableGenerics>(leafColumns: Column<TGenerics>[], grouping: string[], groupedColumnMode?: GroupingColumnMode): Column<TGenerics>[];
@@ -1,21 +1,18 @@
1
- import { TableInstance, OnChangeFn, Updater, Column, PartialGenerics } from '../types';
2
- export declare type ColumnOrderState = string[];
1
+ import { OnChangeFn, Updater, Column, TableGenerics } from '../types';
2
+ import { TableFeature } from '../core/instance';
3
3
  export declare type ColumnOrderTableState = {
4
4
  columnOrder: ColumnOrderState;
5
5
  };
6
+ export declare type ColumnOrderState = string[];
6
7
  export declare type ColumnOrderOptions = {
7
8
  onColumnOrderChange?: OnChangeFn<ColumnOrderState>;
8
9
  };
9
10
  export declare type ColumnOrderDefaultOptions = {
10
11
  onColumnOrderChange: OnChangeFn<ColumnOrderState>;
11
12
  };
12
- export declare type ColumnOrderInstance<TGenerics extends PartialGenerics> = {
13
+ export declare type ColumnOrderInstance<TGenerics extends TableGenerics> = {
13
14
  setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
14
- resetColumnOrder: () => void;
15
- getOrderColumnsFn: () => (columns: Column<TGenerics>[]) => Column<TGenerics>[];
16
- };
17
- export declare const Ordering: {
18
- getInitialState: () => ColumnOrderTableState;
19
- getDefaultOptions: <TGenerics extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics>) => ColumnOrderDefaultOptions;
20
- getInstance: <TGenerics_1 extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics_1>) => ColumnOrderInstance<TGenerics_1>;
15
+ resetColumnOrder: (defaultState?: boolean) => void;
16
+ _getOrderColumnsFn: () => (columns: Column<TGenerics>[]) => Column<TGenerics>[];
21
17
  };
18
+ export declare const Ordering: TableFeature;
@@ -1,29 +1,33 @@
1
- import { OnChangeFn, PartialGenerics, TableInstance, RowModel, Updater } from '../types';
1
+ import { TableFeature } from '../core/instance';
2
+ import { OnChangeFn, TableGenerics, TableInstance, RowModel, Updater } from '../types';
2
3
  export declare type PaginationState = {
3
4
  pageIndex: number;
4
5
  pageSize: number;
5
- pageCount: number;
6
+ pageCount?: number;
6
7
  };
7
8
  export declare type PaginationTableState = {
8
9
  pagination: PaginationState;
9
10
  };
10
- export declare type PaginationOptions<TGenerics extends PartialGenerics> = {
11
+ export declare type PaginationInitialTableState = {
12
+ pagination?: Partial<PaginationState>;
13
+ };
14
+ export declare type PaginationOptions<TGenerics extends TableGenerics> = {
15
+ manualPagination?: boolean;
11
16
  onPaginationChange?: OnChangeFn<PaginationState>;
12
17
  autoResetPageIndex?: boolean;
13
- paginateRowsFn?: (instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>) => RowModel<TGenerics>;
18
+ getPaginationRowModel?: (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics>;
14
19
  };
15
20
  export declare type PaginationDefaultOptions = {
16
21
  onPaginationChange: OnChangeFn<PaginationState>;
17
- autoResetPageIndex: boolean;
18
22
  };
19
- export declare type PaginationInstance<TGenerics extends PartialGenerics> = {
20
- _notifyPageIndexReset: () => void;
23
+ export declare type PaginationInstance<TGenerics extends TableGenerics> = {
24
+ _autoResetPageIndex: () => void;
21
25
  setPagination: (updater: Updater<PaginationState>) => void;
22
- resetPagination: () => void;
26
+ resetPagination: (defaultState?: boolean) => void;
23
27
  setPageIndex: (updater: Updater<number>) => void;
24
- resetPageIndex: () => void;
28
+ resetPageIndex: (defaultState?: boolean) => void;
25
29
  setPageSize: (updater: Updater<number>) => void;
26
- resetPageSize: () => void;
30
+ resetPageSize: (defaultState?: boolean) => void;
27
31
  setPageCount: (updater: Updater<number>) => void;
28
32
  getPageOptions: () => number[];
29
33
  getCanPreviousPage: () => boolean;
@@ -32,10 +36,7 @@ export declare type PaginationInstance<TGenerics extends PartialGenerics> = {
32
36
  nextPage: () => void;
33
37
  getPrePaginationRowModel: () => RowModel<TGenerics>;
34
38
  getPaginationRowModel: () => RowModel<TGenerics>;
39
+ _getPaginationRowModel?: () => RowModel<TGenerics>;
35
40
  getPageCount: () => number;
36
41
  };
37
- export declare const Pagination: {
38
- getInitialState: () => PaginationTableState;
39
- getDefaultOptions: <TGenerics extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics>) => PaginationDefaultOptions;
40
- getInstance: <TGenerics_1 extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics_1>) => PaginationInstance<TGenerics_1>;
41
- };
42
+ export declare const Pagination: TableFeature;
@@ -1,5 +1,6 @@
1
- import { OnChangeFn, Updater, TableInstance, Column, PartialGenerics } from '../types';
2
- declare type ColumnPinningPosition = false | 'left' | 'right';
1
+ import { TableFeature } from '../core/instance';
2
+ import { OnChangeFn, Updater, Column, TableGenerics, Cell } from '../types';
3
+ export declare type ColumnPinningPosition = false | 'left' | 'right';
3
4
  export declare type ColumnPinningState = {
4
5
  left?: string[];
5
6
  right?: string[];
@@ -16,7 +17,6 @@ export declare type ColumnPinningDefaultOptions = {
16
17
  };
17
18
  export declare type ColumnPinningColumnDef = {
18
19
  enablePinning?: boolean;
19
- defaultCanPin?: boolean;
20
20
  };
21
21
  export declare type ColumnPinningColumn = {
22
22
  getCanPin: () => boolean;
@@ -24,18 +24,17 @@ export declare type ColumnPinningColumn = {
24
24
  getIsPinned: () => ColumnPinningPosition;
25
25
  pin: (position: ColumnPinningPosition) => void;
26
26
  };
27
- export declare type ColumnPinningInstance<TGenerics extends PartialGenerics> = {
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 ColumnPinningInstance<TGenerics extends TableGenerics> = {
28
33
  setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
29
- resetColumnPinning: () => void;
30
- pinColumn: (columnId: string, position: ColumnPinningPosition) => void;
31
- getColumnCanPin: (columnId: string) => boolean;
32
- getColumnIsPinned: (columnId: string) => ColumnPinningPosition;
33
- getColumnPinnedIndex: (columnId: string) => number;
34
- };
35
- export declare const Pinning: {
36
- getInitialState: () => ColumnPinningTableState;
37
- getDefaultOptions: <TGenerics extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics>) => ColumnPinningDefaultOptions;
38
- createColumn: <TGenerics_1 extends Partial<import("../types").DefaultGenerics>>(column: Column<TGenerics_1>, instance: TableInstance<TGenerics_1>) => ColumnPinningColumn;
39
- getInstance: <TGenerics_2 extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics_2>) => ColumnPinningInstance<TGenerics_2>;
40
- };
41
- export {};
34
+ resetColumnPinning: (defaultState?: boolean) => void;
35
+ getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean;
36
+ getLeftLeafColumns: () => Column<TGenerics>[];
37
+ getRightLeafColumns: () => Column<TGenerics>[];
38
+ getCenterLeafColumns: () => Column<TGenerics>[];
39
+ };
40
+ export declare const Pinning: TableFeature;
@@ -1,43 +1,29 @@
1
- import { MouseEvent, TouchEvent } from 'react';
2
- import { Getter, OnChangeFn, PartialGenerics, PropGetterValue, TableInstance, Row, RowModel, Updater } from '../types';
1
+ import { TableFeature } from '../core/instance';
2
+ import { OnChangeFn, TableGenerics, TableInstance, Row, RowModel, Updater } from '../types';
3
3
  export declare type RowSelectionState = Record<string, boolean>;
4
4
  export declare type RowSelectionTableState = {
5
5
  rowSelection: RowSelectionState;
6
6
  };
7
- export declare type RowSelectionOptions<TGenerics extends PartialGenerics> = {
8
- onRowSelectionChange?: OnChangeFn<RowSelectionState>;
9
- autoResetRowSelection?: boolean;
7
+ export declare type RowSelectionOptions<TGenerics extends TableGenerics> = {
10
8
  enableRowSelection?: boolean | ((row: Row<TGenerics>) => boolean);
11
9
  enableMultiRowSelection?: boolean | ((row: Row<TGenerics>) => boolean);
12
10
  enableSubRowSelection?: boolean | ((row: Row<TGenerics>) => boolean);
13
- };
14
- declare type ToggleRowSelectedProps = {
15
- onChange?: (e: MouseEvent | TouchEvent) => void;
16
- checked?: boolean;
17
- title?: string;
18
- indeterminate?: boolean;
11
+ onRowSelectionChange?: OnChangeFn<RowSelectionState>;
19
12
  };
20
13
  export declare type RowSelectionRow = {
21
14
  getIsSelected: () => boolean;
22
15
  getIsSomeSelected: () => boolean;
23
16
  getCanSelect: () => boolean;
24
17
  getCanMultiSelect: () => boolean;
18
+ getCanSelectSubRows: () => boolean;
25
19
  toggleSelected: (value?: boolean) => void;
26
- getToggleSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>;
20
+ getToggleSelectedHandler: () => (event: unknown) => void;
27
21
  };
28
- export declare type RowSelectionInstance<TGenerics extends PartialGenerics> = {
29
- _notifyRowSelectionReset: () => void;
30
- getToggleRowSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(rowId: string, userProps?: TGetter) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>;
31
- getToggleAllRowsSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>;
32
- getToggleAllPageRowsSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>;
22
+ export declare type RowSelectionInstance<TGenerics extends TableGenerics> = {
23
+ getToggleAllRowsSelectedHandler: () => (event: unknown) => void;
24
+ getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void;
33
25
  setRowSelection: (updater: Updater<RowSelectionState>) => void;
34
- resetRowSelection: () => void;
35
- toggleRowSelected: (rowId: string, value?: boolean) => void;
36
- getRowCanSelect: (rowId: string) => boolean;
37
- getRowCanSelectSubRows: (rowId: string) => boolean;
38
- getRowCanMultiSelect: (rowId: string) => boolean;
39
- getRowIsSelected: (rowId: string) => boolean;
40
- getRowIsSomeSelected: (rowId: string) => boolean;
26
+ resetRowSelection: (defaultState?: boolean) => void;
41
27
  getIsAllRowsSelected: () => boolean;
42
28
  getIsAllPageRowsSelected: () => boolean;
43
29
  getIsSomeRowsSelected: () => boolean;
@@ -49,12 +35,6 @@ export declare type RowSelectionInstance<TGenerics extends PartialGenerics> = {
49
35
  getFilteredSelectedRowModel: () => RowModel<TGenerics>;
50
36
  getGroupedSelectedRowModel: () => RowModel<TGenerics>;
51
37
  };
52
- export declare const RowSelection: {
53
- getInitialState: () => RowSelectionTableState;
54
- getDefaultOptions: <TGenerics extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics>) => RowSelectionOptions<TGenerics>;
55
- getInstance: <TGenerics_1 extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics_1>) => RowSelectionInstance<TGenerics_1>;
56
- createRow: <TGenerics_2 extends Partial<import("../types").DefaultGenerics>>(row: Row<TGenerics_2>, instance: TableInstance<TGenerics_2>) => RowSelectionRow;
57
- };
58
- export declare function selectRowsFn<TGenerics extends PartialGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
59
- export declare function isRowSelected<TGenerics extends PartialGenerics>(row: Row<TGenerics>, selection: Record<string, boolean>, instance: TableInstance<TGenerics>): boolean | 'some';
60
- export {};
38
+ export declare const RowSelection: TableFeature;
39
+ export declare function selectRowsFn<TGenerics extends TableGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
40
+ export declare function isRowSelected<TGenerics extends TableGenerics>(row: Row<TGenerics>, selection: Record<string, boolean>, instance: TableInstance<TGenerics>): boolean | 'some';
@@ -1,7 +1,7 @@
1
- import { MouseEvent, TouchEvent } from 'react';
2
1
  import { RowModel } from '..';
3
- import { BuiltInSortType } from '../sortTypes';
4
- import { Column, Getter, OnChangeFn, PartialGenerics, PropGetterValue, TableInstance, Row, Updater } from '../types';
2
+ import { TableFeature } from '../core/instance';
3
+ import { BuiltInSortingFn } from '../sortingFns';
4
+ import { OnChangeFn, TableGenerics, TableInstance, Row, Updater } from '../types';
5
5
  import { Overwrite } from '../utils';
6
6
  export declare type SortDirection = 'asc' | 'desc';
7
7
  export declare type ColumnSort = {
@@ -9,73 +9,54 @@ export declare type ColumnSort = {
9
9
  desc: boolean;
10
10
  };
11
11
  export declare type SortingState = ColumnSort[];
12
- export declare type SortingFn<TGenerics extends PartialGenerics> = {
13
- (rowA: Row<TGenerics>, rowB: Row<TGenerics>, columnId: string): number;
14
- };
15
- export declare type CustomSortingTypes<TGenerics extends PartialGenerics> = Record<string, SortingFn<TGenerics>>;
16
12
  export declare type SortingTableState = {
17
13
  sorting: SortingState;
18
14
  };
19
- export declare type SortType<TGenerics extends PartialGenerics> = 'auto' | BuiltInSortType | keyof TGenerics['SortingFns'] | SortingFn<TGenerics>;
20
- export declare type SortingColumnDef<TGenerics extends PartialGenerics> = {
21
- sortType?: SortType<Overwrite<TGenerics, {
15
+ export declare type SortingFn<TGenerics extends TableGenerics> = {
16
+ (rowA: Row<TGenerics>, rowB: Row<TGenerics>, columnId: string): number;
17
+ };
18
+ export declare type CustomSortingFns<TGenerics extends TableGenerics> = Record<string, SortingFn<TGenerics>>;
19
+ export declare type SortingFnOption<TGenerics extends TableGenerics> = 'auto' | BuiltInSortingFn | keyof TGenerics['SortingFns'] | SortingFn<TGenerics>;
20
+ export declare type SortingColumnDef<TGenerics extends TableGenerics> = {
21
+ sortingFn?: SortingFnOption<Overwrite<TGenerics, {
22
22
  Value: any;
23
23
  }>>;
24
24
  sortDescFirst?: boolean;
25
25
  enableSorting?: boolean;
26
26
  enableMultiSort?: boolean;
27
- defaultCanSort?: boolean;
28
27
  invertSorting?: boolean;
29
28
  sortUndefined?: false | -1 | 1;
30
29
  };
31
- export declare type SortingColumn<TGenerics extends PartialGenerics> = {
32
- sortType: SortType<Overwrite<TGenerics, {
33
- Value: any;
34
- }>>;
30
+ export declare type SortingColumn<TGenerics extends TableGenerics> = {
31
+ getAutoSortingFn: () => SortingFn<TGenerics>;
32
+ getAutoSortDir: () => SortDirection;
33
+ getSortingFn: () => SortingFn<TGenerics>;
35
34
  getCanSort: () => boolean;
36
35
  getCanMultiSort: () => boolean;
37
36
  getSortIndex: () => number;
38
37
  getIsSorted: () => false | SortDirection;
38
+ clearSorting: () => void;
39
39
  toggleSorting: (desc?: boolean, isMulti?: boolean) => void;
40
- getToggleSortingProps: <TGetter extends Getter<ToggleSortingProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleSortingProps, TGetter>;
40
+ getToggleSortingHandler: () => undefined | ((event: unknown) => void);
41
41
  };
42
- export declare type SortingOptions<TGenerics extends PartialGenerics> = {
43
- sortTypes?: TGenerics['SortingFns'];
42
+ export declare type SortingOptions<TGenerics extends TableGenerics> = {
43
+ manualSorting?: boolean;
44
+ sortingFns?: TGenerics['SortingFns'];
44
45
  onSortingChange?: OnChangeFn<SortingState>;
45
- autoResetSorting?: boolean;
46
46
  enableSorting?: boolean;
47
47
  enableSortingRemoval?: boolean;
48
48
  enableMultiRemove?: boolean;
49
49
  enableMultiSort?: boolean;
50
50
  sortDescFirst?: boolean;
51
- sortRowsFn?: (instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>) => RowModel<TGenerics>;
51
+ getSortedRowModel?: (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics>;
52
52
  maxMultiSortColCount?: number;
53
- isMultiSortEvent?: (e: MouseEvent | TouchEvent) => boolean;
53
+ isMultiSortEvent?: (e: unknown) => boolean;
54
54
  };
55
- export declare type ToggleSortingProps = {
56
- title?: string;
57
- onClick?: (event: MouseEvent | TouchEvent) => void;
58
- };
59
- export declare type SortingInstance<TGenerics extends PartialGenerics> = {
60
- _notifySortingReset: () => void;
61
- getColumnAutoSortingFn: (columnId: string) => SortingFn<TGenerics> | undefined;
62
- getColumnAutoSortDir: (columnId: string) => SortDirection;
63
- getColumnSortingFn: (columnId: string) => SortingFn<TGenerics> | undefined;
55
+ export declare type SortingInstance<TGenerics extends TableGenerics> = {
64
56
  setSorting: (updater: Updater<SortingState>) => void;
65
- toggleColumnSorting: (columnId: string, desc?: boolean, multi?: boolean) => void;
66
- resetSorting: () => void;
67
- getColumnCanSort: (columnId: string) => boolean;
68
- getColumnCanMultiSort: (columnId: string) => boolean;
69
- getColumnIsSorted: (columnId: string) => false | 'asc' | 'desc';
70
- getColumnSortIndex: (columnId: string) => number;
71
- getToggleSortingProps: <TGetter extends Getter<ToggleSortingProps>>(columnId: string, userProps?: TGetter) => undefined | PropGetterValue<ToggleSortingProps, TGetter>;
57
+ resetSorting: (defaultState?: boolean) => void;
72
58
  getPreSortedRowModel: () => RowModel<TGenerics>;
73
59
  getSortedRowModel: () => RowModel<TGenerics>;
60
+ _getSortedRowModel?: () => RowModel<TGenerics>;
74
61
  };
75
- export declare const Sorting: {
76
- getDefaultColumn: <TGenerics extends Partial<import("..").DefaultGenerics>>() => SortingColumnDef<TGenerics>;
77
- getInitialState: () => SortingTableState;
78
- getDefaultOptions: <TGenerics_1 extends Partial<import("..").DefaultGenerics>>(instance: TableInstance<TGenerics_1>) => SortingOptions<TGenerics_1>;
79
- createColumn: <TGenerics_2 extends Partial<import("..").DefaultGenerics>>(column: Column<TGenerics_2>, instance: TableInstance<TGenerics_2>) => SortingColumn<TGenerics_2>;
80
- getInstance: <TGenerics_3 extends Partial<import("..").DefaultGenerics>>(instance: TableInstance<TGenerics_3>) => SortingInstance<TGenerics_3>;
81
- };
62
+ export declare const Sorting: TableFeature;
@@ -1,4 +1,9 @@
1
- import { Cell, Column, Getter, OnChangeFn, PartialGenerics, PropGetterValue, TableInstance, Updater } from '../types';
1
+ import { TableFeature } from '../core/instance';
2
+ import { Cell, Column, OnChangeFn, TableGenerics, Updater } from '../types';
3
+ export declare type VisibilityState = Record<string, boolean>;
4
+ export declare type VisibilityTableState = {
5
+ columnVisibility: VisibilityState;
6
+ };
2
7
  export declare type VisibilityOptions = {
3
8
  onColumnVisibilityChange?: OnChangeFn<VisibilityState>;
4
9
  enableHiding?: boolean;
@@ -6,44 +11,30 @@ export declare type VisibilityOptions = {
6
11
  export declare type VisibilityDefaultOptions = {
7
12
  onColumnVisibilityChange: OnChangeFn<VisibilityState>;
8
13
  };
9
- export declare type VisibilityState = Record<string, boolean>;
10
- export declare type VisibilityTableState = {
11
- columnVisibility: VisibilityState;
12
- };
13
- export declare type VisibilityInstance<TGenerics extends PartialGenerics> = {
14
+ export declare type VisibilityInstance<TGenerics extends TableGenerics> = {
14
15
  getVisibleFlatColumns: () => Column<TGenerics>[];
15
16
  getVisibleLeafColumns: () => Column<TGenerics>[];
17
+ getLeftVisibleLeafColumns: () => Column<TGenerics>[];
18
+ getRightVisibleLeafColumns: () => Column<TGenerics>[];
19
+ getCenterVisibleLeafColumns: () => Column<TGenerics>[];
16
20
  setColumnVisibility: (updater: Updater<VisibilityState>) => void;
17
- toggleColumnVisibility: (columnId: string, value?: boolean) => void;
21
+ resetColumnVisibility: (defaultState?: boolean) => void;
18
22
  toggleAllColumnsVisible: (value?: boolean) => void;
19
- getColumnIsVisible: (columId: string) => boolean;
20
- getColumnCanHide: (columnId: string) => boolean;
21
23
  getIsAllColumnsVisible: () => boolean;
22
24
  getIsSomeColumnsVisible: () => boolean;
23
- getToggleAllColumnsVisibilityProps: <TGetter extends Getter<ToggleAllColumnsVisibilityProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleAllColumnsVisibilityProps, TGetter>;
25
+ getToggleAllColumnsVisibilityHandler: () => (event: unknown) => void;
24
26
  };
25
- declare type ToggleVisibilityProps = {};
26
- declare type ToggleAllColumnsVisibilityProps = {};
27
27
  export declare type VisibilityColumnDef = {
28
28
  enableHiding?: boolean;
29
- defaultCanHide?: boolean;
30
29
  };
31
- export declare type VisibilityRow<TGenerics extends PartialGenerics> = {
30
+ export declare type VisibilityRow<TGenerics extends TableGenerics> = {
31
+ _getAllVisibleCells: () => Cell<TGenerics>[];
32
32
  getVisibleCells: () => Cell<TGenerics>[];
33
33
  };
34
34
  export declare type VisibilityColumn = {
35
35
  getCanHide: () => boolean;
36
36
  getIsVisible: () => boolean;
37
37
  toggleVisibility: (value?: boolean) => void;
38
- getToggleVisibilityProps: <TGetter extends Getter<ToggleVisibilityProps>>(userProps?: TGetter) => PropGetterValue<ToggleVisibilityProps, TGetter>;
39
- };
40
- export declare const Visibility: {
41
- getInitialState: () => VisibilityTableState;
42
- getDefaultOptions: <TGenerics extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics>) => VisibilityDefaultOptions;
43
- getDefaultColumn: () => {
44
- defaultIsVisible: boolean;
45
- };
46
- createColumn: <TGenerics_1 extends Partial<import("../types").DefaultGenerics>>(column: Column<TGenerics_1>, instance: TableInstance<TGenerics_1>) => VisibilityColumn;
47
- getInstance: <TGenerics_2 extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics_2>) => VisibilityInstance<TGenerics_2>;
38
+ getToggleVisibilityHandler: () => (event: unknown) => void;
48
39
  };
49
- export {};
40
+ export declare const Visibility: TableFeature;
@@ -0,0 +1,13 @@
1
+ import { FilterFn } from './features/Filters';
2
+ export declare const filterFns: {
3
+ includesString: FilterFn<any>;
4
+ includesStringSensitive: FilterFn<any>;
5
+ equalsString: FilterFn<any>;
6
+ arrIncludes: FilterFn<any>;
7
+ arrIncludesAll: FilterFn<any>;
8
+ arrIncludesSome: FilterFn<any>;
9
+ equals: FilterFn<any>;
10
+ weakEquals: FilterFn<any>;
11
+ inNumberRange: FilterFn<any>;
12
+ };
13
+ export declare type BuiltInFilterFn = keyof typeof filterFns;
@@ -1,23 +1,29 @@
1
- export * from './core';
1
+ export * from './core/instance';
2
2
  export * from './types';
3
3
  export * from './createTable';
4
- export * from './features/ColumnSizing';
4
+ export * from './core/column';
5
+ export * from './core/headers';
6
+ export * from './core/row';
5
7
  export * from './features/ColumnSizing';
6
8
  export * from './features/Expanding';
7
9
  export * from './features/Filters';
8
10
  export * from './features/Grouping';
9
- export * from './features/Headers';
10
11
  export * from './features/Ordering';
11
12
  export * from './features/Pagination';
12
13
  export * from './features/Pinning';
13
14
  export * from './features/RowSelection';
14
15
  export * from './features/Sorting';
15
16
  export * from './features/Visibility';
16
- export * from './features/Expanding';
17
+ export * from './filterFns';
18
+ export * from './sortingFns';
19
+ export * from './aggregationFns';
17
20
  export * from './utils';
18
- export * from './utils/columnFilterRowsFn';
19
- export * from './utils/globalFilterRowsFn';
20
- export * from './utils/sortRowsFn';
21
- export * from './utils/groupRowsFn';
22
- export * from './utils/expandRowsFn';
23
- export * from './utils/paginateRowsFn';
21
+ export * from './utils/getCoreRowModel';
22
+ export * from './utils/getFilteredRowModel';
23
+ export * from './utils/getFacetedRowModel';
24
+ export * from './utils/getFacetedUniqueValues';
25
+ export * from './utils/getFacetedMinMaxValues';
26
+ export * from './utils/getSortedRowModel';
27
+ export * from './utils/getGroupedRowModel';
28
+ export * from './utils/getExpandedRowModel';
29
+ export * from './utils/getPaginationRowModel';
@@ -0,0 +1,11 @@
1
+ import { SortingFn } from './features/Sorting';
2
+ export declare const reSplitAlphaNumeric: RegExp;
3
+ export declare const sortingFns: {
4
+ alphanumeric: SortingFn<any>;
5
+ alphanumericCaseSensitive: SortingFn<any>;
6
+ text: SortingFn<any>;
7
+ textCaseSensitive: SortingFn<any>;
8
+ datetime: SortingFn<any>;
9
+ basic: SortingFn<any>;
10
+ };
11
+ export declare type BuiltInSortingFn = keyof typeof sortingFns;