@tanstack/table-core 8.0.0-alpha.23 → 8.0.0-alpha.26
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/build/cjs/core.js +10 -21
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +9 -4
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +23 -8
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +1 -1
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterTypes.js.map +1 -1
- package/build/cjs/sortTypes.js.map +1 -1
- package/build/cjs/utils/groupRowsFn.js.map +1 -1
- package/build/esm/index.js +2620 -2611
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +336 -336
- package/build/types/core.d.ts +9 -12
- package/build/types/createTable.d.ts +4 -4
- package/build/types/features/ColumnSizing.d.ts +13 -8
- package/build/types/features/Expanding.d.ts +6 -6
- package/build/types/features/Filters.d.ts +14 -14
- package/build/types/features/Grouping.d.ts +16 -16
- package/build/types/features/Headers.d.ts +6 -6
- package/build/types/features/Ordering.d.ts +4 -4
- package/build/types/features/Pagination.d.ts +5 -5
- package/build/types/features/Pinning.d.ts +5 -5
- package/build/types/features/RowSelection.d.ts +8 -8
- package/build/types/features/Sorting.d.ts +12 -12
- package/build/types/features/Visibility.d.ts +6 -6
- package/build/types/filterTypes.d.ts +10 -10
- package/build/types/sortTypes.d.ts +7 -7
- package/build/types/types.d.ts +22 -13
- package/build/umd/index.development.js +2620 -2611
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/core.tsx +35 -51
- package/src/createTable.tsx +20 -13
- package/src/features/ColumnSizing.ts +31 -7
- package/src/features/Expanding.ts +5 -5
- package/src/features/Filters.ts +13 -13
- package/src/features/Grouping.ts +17 -17
- package/src/features/Headers.ts +5 -5
- package/src/features/Ordering.ts +3 -3
- package/src/features/Pagination.ts +4 -4
- package/src/features/Pinning.ts +4 -4
- package/src/features/RowSelection.ts +8 -8
- package/src/features/Sorting.ts +11 -11
- package/src/features/Visibility.ts +5 -5
- package/src/filterTypes.ts +9 -9
- package/src/sortTypes.ts +6 -6
- package/src/types.ts +34 -25
- package/src/utils/groupRowsFn.ts +1 -1
package/src/features/Grouping.ts
CHANGED
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
TableInstance,
|
|
10
10
|
Row,
|
|
11
11
|
Updater,
|
|
12
|
-
AnyGenerics,
|
|
13
12
|
PartialGenerics,
|
|
14
13
|
Renderable,
|
|
15
14
|
UseRenderer,
|
|
15
|
+
AnyGenerics,
|
|
16
16
|
} from '../types'
|
|
17
17
|
import {
|
|
18
18
|
functionalUpdate,
|
|
@@ -25,17 +25,17 @@ import {
|
|
|
25
25
|
|
|
26
26
|
export type GroupingState = string[]
|
|
27
27
|
|
|
28
|
-
export type AggregationFn<TGenerics extends
|
|
28
|
+
export type AggregationFn<TGenerics extends AnyGenerics> = (
|
|
29
29
|
getLeafValues: () => TGenerics['Row'][],
|
|
30
30
|
getChildValues: () => TGenerics['Row'][]
|
|
31
31
|
) => any
|
|
32
32
|
|
|
33
|
-
export type CustomAggregationTypes<TGenerics extends
|
|
33
|
+
export type CustomAggregationTypes<TGenerics extends AnyGenerics> = Record<
|
|
34
34
|
string,
|
|
35
35
|
AggregationFn<TGenerics>
|
|
36
36
|
>
|
|
37
37
|
|
|
38
|
-
export type AggregationType<TGenerics extends
|
|
38
|
+
export type AggregationType<TGenerics extends AnyGenerics> =
|
|
39
39
|
| 'auto'
|
|
40
40
|
| BuiltInAggregationType
|
|
41
41
|
| keyof TGenerics['AggregationFns']
|
|
@@ -45,7 +45,7 @@ export type GroupingTableState = {
|
|
|
45
45
|
grouping: GroupingState
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
export type GroupingColumnDef<TGenerics extends
|
|
48
|
+
export type GroupingColumnDef<TGenerics extends AnyGenerics> = {
|
|
49
49
|
aggregationType?: AggregationType<Overwrite<TGenerics, { Value: any }>>
|
|
50
50
|
aggregateValue?: (columnValue: unknown) => any
|
|
51
51
|
aggregatedCell?: Renderable<
|
|
@@ -62,7 +62,7 @@ export type GroupingColumnDef<TGenerics extends PartialGenerics> = {
|
|
|
62
62
|
defaultCanGroup?: boolean
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
export type GroupingColumn<TGenerics extends
|
|
65
|
+
export type GroupingColumn<TGenerics extends AnyGenerics> = {
|
|
66
66
|
aggregationType?: AggregationType<Overwrite<TGenerics, { Value: any }>>
|
|
67
67
|
getCanGroup: () => boolean
|
|
68
68
|
getIsGrouped: () => boolean
|
|
@@ -79,7 +79,7 @@ export type GroupingRow = {
|
|
|
79
79
|
getIsGrouped: () => boolean
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
export type GroupingCell<TGenerics extends
|
|
82
|
+
export type GroupingCell<TGenerics extends AnyGenerics> = {
|
|
83
83
|
getIsGrouped: () => boolean
|
|
84
84
|
getIsPlaceholder: () => boolean
|
|
85
85
|
getIsAggregated: () => boolean
|
|
@@ -93,7 +93,7 @@ export type ColumnDefaultOptions = {
|
|
|
93
93
|
enableGrouping: boolean
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
export type GroupingOptions<TGenerics extends
|
|
96
|
+
export type GroupingOptions<TGenerics extends AnyGenerics> = {
|
|
97
97
|
aggregationTypes?: TGenerics['AggregationFns']
|
|
98
98
|
onGroupingChange?: OnChangeFn<GroupingState>
|
|
99
99
|
autoResetGrouping?: boolean
|
|
@@ -114,7 +114,7 @@ export type ToggleGroupingProps = {
|
|
|
114
114
|
onClick?: (event: MouseEvent | TouchEvent) => void
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
export type GroupingInstance<TGenerics extends
|
|
117
|
+
export type GroupingInstance<TGenerics extends AnyGenerics> = {
|
|
118
118
|
_notifyGroupingReset: () => void
|
|
119
119
|
getColumnAutoAggregationFn: (
|
|
120
120
|
columnId: string
|
|
@@ -141,7 +141,7 @@ export type GroupingInstance<TGenerics extends PartialGenerics> = {
|
|
|
141
141
|
|
|
142
142
|
export const Grouping = {
|
|
143
143
|
getDefaultColumn: <
|
|
144
|
-
TGenerics extends
|
|
144
|
+
TGenerics extends AnyGenerics
|
|
145
145
|
>(): GroupingColumnDef<TGenerics> => {
|
|
146
146
|
return {
|
|
147
147
|
aggregationType: 'auto',
|
|
@@ -154,7 +154,7 @@ export const Grouping = {
|
|
|
154
154
|
}
|
|
155
155
|
},
|
|
156
156
|
|
|
157
|
-
getDefaultOptions: <TGenerics extends
|
|
157
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
158
158
|
instance: TableInstance<TGenerics>
|
|
159
159
|
): GroupingOptions<TGenerics> => {
|
|
160
160
|
return {
|
|
@@ -164,7 +164,7 @@ export const Grouping = {
|
|
|
164
164
|
}
|
|
165
165
|
},
|
|
166
166
|
|
|
167
|
-
createColumn: <TGenerics extends
|
|
167
|
+
createColumn: <TGenerics extends AnyGenerics>(
|
|
168
168
|
column: Column<TGenerics>,
|
|
169
169
|
instance: TableInstance<TGenerics>
|
|
170
170
|
): GroupingColumn<TGenerics> => {
|
|
@@ -179,7 +179,7 @@ export const Grouping = {
|
|
|
179
179
|
}
|
|
180
180
|
},
|
|
181
181
|
|
|
182
|
-
getInstance: <TGenerics extends
|
|
182
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
183
183
|
instance: TableInstance<TGenerics>
|
|
184
184
|
): GroupingInstance<TGenerics> => {
|
|
185
185
|
let registered = false
|
|
@@ -228,7 +228,7 @@ export const Grouping = {
|
|
|
228
228
|
return isFunction(column.aggregationType)
|
|
229
229
|
? column.aggregationType
|
|
230
230
|
: column.aggregationType === 'auto'
|
|
231
|
-
? instance.
|
|
231
|
+
? instance.getColumnAutoAggregationFn(columnId)
|
|
232
232
|
: (userAggregationTypes as Record<string, any>)?.[
|
|
233
233
|
column.aggregationType as string
|
|
234
234
|
] ??
|
|
@@ -322,7 +322,7 @@ export const Grouping = {
|
|
|
322
322
|
}
|
|
323
323
|
},
|
|
324
324
|
|
|
325
|
-
createRow: <TGenerics extends
|
|
325
|
+
createRow: <TGenerics extends AnyGenerics>(
|
|
326
326
|
row: Row<TGenerics>,
|
|
327
327
|
instance: TableInstance<TGenerics>
|
|
328
328
|
): GroupingRow => {
|
|
@@ -331,7 +331,7 @@ export const Grouping = {
|
|
|
331
331
|
}
|
|
332
332
|
},
|
|
333
333
|
|
|
334
|
-
createCell: <TGenerics extends
|
|
334
|
+
createCell: <TGenerics extends AnyGenerics>(
|
|
335
335
|
cell: Cell<TGenerics>,
|
|
336
336
|
column: Column<TGenerics>,
|
|
337
337
|
row: Row<TGenerics>,
|
|
@@ -361,7 +361,7 @@ export const Grouping = {
|
|
|
361
361
|
}
|
|
362
362
|
},
|
|
363
363
|
|
|
364
|
-
orderColumns: <TGenerics extends
|
|
364
|
+
orderColumns: <TGenerics extends AnyGenerics>(
|
|
365
365
|
leafColumns: Column<TGenerics>[],
|
|
366
366
|
grouping: string[],
|
|
367
367
|
groupedColumnMode?: GroupingColumnMode
|
package/src/features/Headers.ts
CHANGED
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
import { propGetter, memo } from '../utils'
|
|
19
19
|
import { ColumnSizing } from './ColumnSizing'
|
|
20
20
|
|
|
21
|
-
export type HeadersRow<TGenerics extends
|
|
21
|
+
export type HeadersRow<TGenerics extends AnyGenerics> = {
|
|
22
22
|
_getAllVisibleCells: () => Cell<TGenerics>[]
|
|
23
23
|
getVisibleCells: () => Cell<TGenerics>[]
|
|
24
24
|
getLeftVisibleCells: () => Cell<TGenerics>[]
|
|
@@ -26,7 +26,7 @@ export type HeadersRow<TGenerics extends PartialGenerics> = {
|
|
|
26
26
|
getRightVisibleCells: () => Cell<TGenerics>[]
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export type HeadersInstance<TGenerics extends
|
|
29
|
+
export type HeadersInstance<TGenerics extends AnyGenerics> = {
|
|
30
30
|
createHeader: (
|
|
31
31
|
column: Column<TGenerics>,
|
|
32
32
|
options: {
|
|
@@ -80,7 +80,7 @@ export type HeadersInstance<TGenerics extends PartialGenerics> = {
|
|
|
80
80
|
//
|
|
81
81
|
|
|
82
82
|
export const Headers = {
|
|
83
|
-
createRow: <TGenerics extends
|
|
83
|
+
createRow: <TGenerics extends AnyGenerics>(
|
|
84
84
|
row: Row<TGenerics>,
|
|
85
85
|
instance: TableInstance<TGenerics>
|
|
86
86
|
): HeadersRow<TGenerics> => {
|
|
@@ -167,7 +167,7 @@ export const Headers = {
|
|
|
167
167
|
}
|
|
168
168
|
},
|
|
169
169
|
|
|
170
|
-
getInstance: <TGenerics extends
|
|
170
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
171
171
|
instance: TableInstance<TGenerics>
|
|
172
172
|
): HeadersInstance<TGenerics> => {
|
|
173
173
|
return {
|
|
@@ -607,7 +607,7 @@ export const Headers = {
|
|
|
607
607
|
},
|
|
608
608
|
}
|
|
609
609
|
|
|
610
|
-
export function buildHeaderGroups<TGenerics extends
|
|
610
|
+
export function buildHeaderGroups<TGenerics extends AnyGenerics>(
|
|
611
611
|
allColumns: Column<TGenerics>[],
|
|
612
612
|
columnsToGroup: Column<TGenerics>[],
|
|
613
613
|
instance: TableInstance<TGenerics>,
|
package/src/features/Ordering.ts
CHANGED
|
@@ -25,7 +25,7 @@ export type ColumnOrderDefaultOptions = {
|
|
|
25
25
|
onColumnOrderChange: OnChangeFn<ColumnOrderState>
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export type ColumnOrderInstance<TGenerics extends
|
|
28
|
+
export type ColumnOrderInstance<TGenerics extends AnyGenerics> = {
|
|
29
29
|
setColumnOrder: (updater: Updater<ColumnOrderState>) => void
|
|
30
30
|
resetColumnOrder: () => void
|
|
31
31
|
getOrderColumnsFn: () => (columns: Column<TGenerics>[]) => Column<TGenerics>[]
|
|
@@ -40,7 +40,7 @@ export const Ordering = {
|
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
|
|
43
|
-
getDefaultOptions: <TGenerics extends
|
|
43
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
44
44
|
instance: TableInstance<TGenerics>
|
|
45
45
|
): ColumnOrderDefaultOptions => {
|
|
46
46
|
return {
|
|
@@ -48,7 +48,7 @@ export const Ordering = {
|
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
|
|
51
|
-
getInstance: <TGenerics extends
|
|
51
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
52
52
|
instance: TableInstance<TGenerics>
|
|
53
53
|
): ColumnOrderInstance<TGenerics> => {
|
|
54
54
|
return {
|
|
@@ -18,7 +18,7 @@ export type PaginationTableState = {
|
|
|
18
18
|
pagination: PaginationState
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export type PaginationOptions<TGenerics extends
|
|
21
|
+
export type PaginationOptions<TGenerics extends AnyGenerics> = {
|
|
22
22
|
onPaginationChange?: OnChangeFn<PaginationState>
|
|
23
23
|
autoResetPageIndex?: boolean
|
|
24
24
|
paginateRowsFn?: (
|
|
@@ -32,7 +32,7 @@ export type PaginationDefaultOptions = {
|
|
|
32
32
|
autoResetPageIndex: boolean
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
export type PaginationInstance<TGenerics extends
|
|
35
|
+
export type PaginationInstance<TGenerics extends AnyGenerics> = {
|
|
36
36
|
_notifyPageIndexReset: () => void
|
|
37
37
|
setPagination: (updater: Updater<PaginationState>) => void
|
|
38
38
|
resetPagination: () => void
|
|
@@ -64,7 +64,7 @@ export const Pagination = {
|
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
|
|
67
|
-
getDefaultOptions: <TGenerics extends
|
|
67
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
68
68
|
instance: TableInstance<TGenerics>
|
|
69
69
|
): PaginationDefaultOptions => {
|
|
70
70
|
return {
|
|
@@ -73,7 +73,7 @@ export const Pagination = {
|
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
75
|
|
|
76
|
-
getInstance: <TGenerics extends
|
|
76
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
77
77
|
instance: TableInstance<TGenerics>
|
|
78
78
|
): PaginationInstance<TGenerics> => {
|
|
79
79
|
let registered = false
|
package/src/features/Pinning.ts
CHANGED
|
@@ -40,7 +40,7 @@ export type ColumnPinningColumn = {
|
|
|
40
40
|
pin: (position: ColumnPinningPosition) => void
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
export type ColumnPinningInstance<TGenerics extends
|
|
43
|
+
export type ColumnPinningInstance<TGenerics extends AnyGenerics> = {
|
|
44
44
|
setColumnPinning: (updater: Updater<ColumnPinningState>) => void
|
|
45
45
|
resetColumnPinning: () => void
|
|
46
46
|
pinColumn: (columnId: string, position: ColumnPinningPosition) => void
|
|
@@ -62,7 +62,7 @@ export const Pinning = {
|
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
64
|
|
|
65
|
-
getDefaultOptions: <TGenerics extends
|
|
65
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
66
66
|
instance: TableInstance<TGenerics>
|
|
67
67
|
): ColumnPinningDefaultOptions => {
|
|
68
68
|
return {
|
|
@@ -70,7 +70,7 @@ export const Pinning = {
|
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
|
|
73
|
-
createColumn: <TGenerics extends
|
|
73
|
+
createColumn: <TGenerics extends AnyGenerics>(
|
|
74
74
|
column: Column<TGenerics>,
|
|
75
75
|
instance: TableInstance<TGenerics>
|
|
76
76
|
): ColumnPinningColumn => {
|
|
@@ -82,7 +82,7 @@ export const Pinning = {
|
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
84
|
|
|
85
|
-
getInstance: <TGenerics extends
|
|
85
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
86
86
|
instance: TableInstance<TGenerics>
|
|
87
87
|
): ColumnPinningInstance<TGenerics> => {
|
|
88
88
|
return {
|
|
@@ -17,7 +17,7 @@ export type RowSelectionTableState = {
|
|
|
17
17
|
rowSelection: RowSelectionState
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export type RowSelectionOptions<TGenerics extends
|
|
20
|
+
export type RowSelectionOptions<TGenerics extends AnyGenerics> = {
|
|
21
21
|
onRowSelectionChange?: OnChangeFn<RowSelectionState>
|
|
22
22
|
autoResetRowSelection?: boolean
|
|
23
23
|
enableRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)
|
|
@@ -60,7 +60,7 @@ export type RowSelectionRow = {
|
|
|
60
60
|
) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
export type RowSelectionInstance<TGenerics extends
|
|
63
|
+
export type RowSelectionInstance<TGenerics extends AnyGenerics> = {
|
|
64
64
|
_notifyRowSelectionReset: () => void
|
|
65
65
|
getToggleRowSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(
|
|
66
66
|
rowId: string,
|
|
@@ -106,7 +106,7 @@ export const RowSelection = {
|
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
|
|
109
|
-
getDefaultOptions: <TGenerics extends
|
|
109
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
110
110
|
instance: TableInstance<TGenerics>
|
|
111
111
|
): RowSelectionOptions<TGenerics> => {
|
|
112
112
|
return {
|
|
@@ -121,7 +121,7 @@ export const RowSelection = {
|
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
|
|
124
|
-
getInstance: <TGenerics extends
|
|
124
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
125
125
|
instance: TableInstance<TGenerics>
|
|
126
126
|
): RowSelectionInstance<TGenerics> => {
|
|
127
127
|
let registered = false
|
|
@@ -535,7 +535,7 @@ export const RowSelection = {
|
|
|
535
535
|
}
|
|
536
536
|
},
|
|
537
537
|
|
|
538
|
-
createRow: <TGenerics extends
|
|
538
|
+
createRow: <TGenerics extends AnyGenerics>(
|
|
539
539
|
row: Row<TGenerics>,
|
|
540
540
|
instance: TableInstance<TGenerics>
|
|
541
541
|
): RowSelectionRow => {
|
|
@@ -551,7 +551,7 @@ export const RowSelection = {
|
|
|
551
551
|
},
|
|
552
552
|
}
|
|
553
553
|
|
|
554
|
-
const mutateRowIsSelected = <TGenerics extends
|
|
554
|
+
const mutateRowIsSelected = <TGenerics extends AnyGenerics>(
|
|
555
555
|
selectedRowIds: Record<string, boolean>,
|
|
556
556
|
id: string,
|
|
557
557
|
value: boolean,
|
|
@@ -579,7 +579,7 @@ const mutateRowIsSelected = <TGenerics extends PartialGenerics>(
|
|
|
579
579
|
}
|
|
580
580
|
}
|
|
581
581
|
|
|
582
|
-
export function selectRowsFn<TGenerics extends
|
|
582
|
+
export function selectRowsFn<TGenerics extends AnyGenerics>(
|
|
583
583
|
instance: TableInstance<TGenerics>,
|
|
584
584
|
rowModel: RowModel<TGenerics>
|
|
585
585
|
): RowModel<TGenerics> {
|
|
@@ -620,7 +620,7 @@ export function selectRowsFn<TGenerics extends PartialGenerics>(
|
|
|
620
620
|
}
|
|
621
621
|
}
|
|
622
622
|
|
|
623
|
-
export function isRowSelected<TGenerics extends
|
|
623
|
+
export function isRowSelected<TGenerics extends AnyGenerics>(
|
|
624
624
|
row: Row<TGenerics>,
|
|
625
625
|
selection: Record<string, boolean>,
|
|
626
626
|
instance: TableInstance<TGenerics>
|
package/src/features/Sorting.ts
CHANGED
|
@@ -33,11 +33,11 @@ export type ColumnSort = {
|
|
|
33
33
|
|
|
34
34
|
export type SortingState = ColumnSort[]
|
|
35
35
|
|
|
36
|
-
export type SortingFn<TGenerics extends
|
|
36
|
+
export type SortingFn<TGenerics extends AnyGenerics> = {
|
|
37
37
|
(rowA: Row<TGenerics>, rowB: Row<TGenerics>, columnId: string): number
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
export type CustomSortingTypes<TGenerics extends
|
|
40
|
+
export type CustomSortingTypes<TGenerics extends AnyGenerics> = Record<
|
|
41
41
|
string,
|
|
42
42
|
SortingFn<TGenerics>
|
|
43
43
|
>
|
|
@@ -46,13 +46,13 @@ export type SortingTableState = {
|
|
|
46
46
|
sorting: SortingState
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export type SortType<TGenerics extends
|
|
49
|
+
export type SortType<TGenerics extends AnyGenerics> =
|
|
50
50
|
| 'auto'
|
|
51
51
|
| BuiltInSortType
|
|
52
52
|
| keyof TGenerics['SortingFns']
|
|
53
53
|
| SortingFn<TGenerics>
|
|
54
54
|
|
|
55
|
-
export type SortingColumnDef<TGenerics extends
|
|
55
|
+
export type SortingColumnDef<TGenerics extends AnyGenerics> = {
|
|
56
56
|
sortType?: SortType<Overwrite<TGenerics, { Value: any }>>
|
|
57
57
|
sortDescFirst?: boolean
|
|
58
58
|
enableSorting?: boolean
|
|
@@ -62,7 +62,7 @@ export type SortingColumnDef<TGenerics extends PartialGenerics> = {
|
|
|
62
62
|
sortUndefined?: false | -1 | 1
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
export type SortingColumn<TGenerics extends
|
|
65
|
+
export type SortingColumn<TGenerics extends AnyGenerics> = {
|
|
66
66
|
sortType: SortType<Overwrite<TGenerics, { Value: any }>>
|
|
67
67
|
getCanSort: () => boolean
|
|
68
68
|
getCanMultiSort: () => boolean
|
|
@@ -75,7 +75,7 @@ export type SortingColumn<TGenerics extends PartialGenerics> = {
|
|
|
75
75
|
) => undefined | PropGetterValue<ToggleSortingProps, TGetter>
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
export type SortingOptions<TGenerics extends
|
|
78
|
+
export type SortingOptions<TGenerics extends AnyGenerics> = {
|
|
79
79
|
sortTypes?: TGenerics['SortingFns']
|
|
80
80
|
onSortingChange?: OnChangeFn<SortingState>
|
|
81
81
|
autoResetSorting?: boolean
|
|
@@ -97,7 +97,7 @@ export type ToggleSortingProps = {
|
|
|
97
97
|
onClick?: (event: MouseEvent | TouchEvent) => void
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
export type SortingInstance<TGenerics extends
|
|
100
|
+
export type SortingInstance<TGenerics extends AnyGenerics> = {
|
|
101
101
|
_notifySortingReset: () => void
|
|
102
102
|
getColumnAutoSortingFn: (columnId: string) => SortingFn<TGenerics> | undefined
|
|
103
103
|
getColumnAutoSortDir: (columnId: string) => SortDirection
|
|
@@ -127,7 +127,7 @@ export type SortingInstance<TGenerics extends PartialGenerics> = {
|
|
|
127
127
|
|
|
128
128
|
export const Sorting = {
|
|
129
129
|
getDefaultColumn: <
|
|
130
|
-
TGenerics extends
|
|
130
|
+
TGenerics extends AnyGenerics
|
|
131
131
|
>(): SortingColumnDef<TGenerics> => {
|
|
132
132
|
return {
|
|
133
133
|
sortType: 'auto',
|
|
@@ -140,7 +140,7 @@ export const Sorting = {
|
|
|
140
140
|
}
|
|
141
141
|
},
|
|
142
142
|
|
|
143
|
-
getDefaultOptions: <TGenerics extends
|
|
143
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
144
144
|
instance: TableInstance<TGenerics>
|
|
145
145
|
): SortingOptions<TGenerics> => {
|
|
146
146
|
return {
|
|
@@ -152,7 +152,7 @@ export const Sorting = {
|
|
|
152
152
|
}
|
|
153
153
|
},
|
|
154
154
|
|
|
155
|
-
createColumn: <TGenerics extends
|
|
155
|
+
createColumn: <TGenerics extends AnyGenerics>(
|
|
156
156
|
column: Column<TGenerics>,
|
|
157
157
|
instance: TableInstance<TGenerics>
|
|
158
158
|
): SortingColumn<TGenerics> => {
|
|
@@ -170,7 +170,7 @@ export const Sorting = {
|
|
|
170
170
|
}
|
|
171
171
|
},
|
|
172
172
|
|
|
173
|
-
getInstance: <TGenerics extends
|
|
173
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
174
174
|
instance: TableInstance<TGenerics>
|
|
175
175
|
): SortingInstance<TGenerics> => {
|
|
176
176
|
let registered = false
|
|
@@ -26,7 +26,7 @@ export type VisibilityTableState = {
|
|
|
26
26
|
columnVisibility: VisibilityState
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export type VisibilityInstance<TGenerics extends
|
|
29
|
+
export type VisibilityInstance<TGenerics extends AnyGenerics> = {
|
|
30
30
|
getVisibleFlatColumns: () => Column<TGenerics>[]
|
|
31
31
|
getVisibleLeafColumns: () => Column<TGenerics>[]
|
|
32
32
|
setColumnVisibility: (updater: Updater<VisibilityState>) => void
|
|
@@ -52,7 +52,7 @@ export type VisibilityColumnDef = {
|
|
|
52
52
|
defaultIsVisible?: boolean
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
export type VisibilityRow<TGenerics extends
|
|
55
|
+
export type VisibilityRow<TGenerics extends AnyGenerics> = {
|
|
56
56
|
getVisibleCells: () => Cell<TGenerics>[]
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -74,7 +74,7 @@ export const Visibility = {
|
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
76
|
|
|
77
|
-
getDefaultOptions: <TGenerics extends
|
|
77
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
78
78
|
instance: TableInstance<TGenerics>
|
|
79
79
|
): VisibilityDefaultOptions => {
|
|
80
80
|
return {
|
|
@@ -88,7 +88,7 @@ export const Visibility = {
|
|
|
88
88
|
}
|
|
89
89
|
},
|
|
90
90
|
|
|
91
|
-
createColumn: <TGenerics extends
|
|
91
|
+
createColumn: <TGenerics extends AnyGenerics>(
|
|
92
92
|
column: Column<TGenerics>,
|
|
93
93
|
instance: TableInstance<TGenerics>
|
|
94
94
|
): VisibilityColumn => {
|
|
@@ -112,7 +112,7 @@ export const Visibility = {
|
|
|
112
112
|
}
|
|
113
113
|
},
|
|
114
114
|
|
|
115
|
-
getInstance: <TGenerics extends
|
|
115
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
116
116
|
instance: TableInstance<TGenerics>
|
|
117
117
|
): VisibilityInstance<TGenerics> => {
|
|
118
118
|
return {
|
package/src/filterTypes.ts
CHANGED
|
@@ -14,7 +14,7 @@ export const filterTypes = {
|
|
|
14
14
|
|
|
15
15
|
export type BuiltInFilterType = keyof typeof filterTypes
|
|
16
16
|
|
|
17
|
-
function includesString<TGenerics extends
|
|
17
|
+
function includesString<TGenerics extends AnyGenerics>(
|
|
18
18
|
rows: Row<TGenerics>[],
|
|
19
19
|
columnIds: string[],
|
|
20
20
|
filterValue: unknown
|
|
@@ -31,7 +31,7 @@ function includesString<TGenerics extends PartialGenerics>(
|
|
|
31
31
|
|
|
32
32
|
includesString.autoRemove = (val: any) => testFalsey(val)
|
|
33
33
|
|
|
34
|
-
function includesStringSensitive<TGenerics extends
|
|
34
|
+
function includesStringSensitive<TGenerics extends AnyGenerics>(
|
|
35
35
|
rows: Row<TGenerics>[],
|
|
36
36
|
columnIds: string[],
|
|
37
37
|
filterValue: unknown
|
|
@@ -48,7 +48,7 @@ function includesStringSensitive<TGenerics extends PartialGenerics>(
|
|
|
48
48
|
|
|
49
49
|
includesStringSensitive.autoRemove = (val: any) => testFalsey(val)
|
|
50
50
|
|
|
51
|
-
function equalsString<TGenerics extends
|
|
51
|
+
function equalsString<TGenerics extends AnyGenerics>(
|
|
52
52
|
rows: Row<TGenerics>[],
|
|
53
53
|
columnIds: string[],
|
|
54
54
|
filterValue: unknown
|
|
@@ -67,7 +67,7 @@ function equalsString<TGenerics extends PartialGenerics>(
|
|
|
67
67
|
|
|
68
68
|
equalsString.autoRemove = (val: any) => testFalsey(val)
|
|
69
69
|
|
|
70
|
-
function equalsStringSensitive<TGenerics extends
|
|
70
|
+
function equalsStringSensitive<TGenerics extends AnyGenerics>(
|
|
71
71
|
rows: Row<TGenerics>[],
|
|
72
72
|
columnIds: string[],
|
|
73
73
|
filterValue: unknown
|
|
@@ -83,7 +83,7 @@ function equalsStringSensitive<TGenerics extends PartialGenerics>(
|
|
|
83
83
|
|
|
84
84
|
equalsStringSensitive.autoRemove = (val: any) => testFalsey(val)
|
|
85
85
|
|
|
86
|
-
function arrIncludes<TGenerics extends
|
|
86
|
+
function arrIncludes<TGenerics extends AnyGenerics>(
|
|
87
87
|
rows: Row<TGenerics>[],
|
|
88
88
|
columnIds: string[],
|
|
89
89
|
filterValue: unknown
|
|
@@ -98,7 +98,7 @@ function arrIncludes<TGenerics extends PartialGenerics>(
|
|
|
98
98
|
|
|
99
99
|
arrIncludes.autoRemove = (val: any) => testFalsey(val) || !val?.length
|
|
100
100
|
|
|
101
|
-
function arrIncludesAll<TGenerics extends
|
|
101
|
+
function arrIncludesAll<TGenerics extends AnyGenerics>(
|
|
102
102
|
rows: Row<TGenerics>[],
|
|
103
103
|
columnIds: string[],
|
|
104
104
|
filterValue: unknown[]
|
|
@@ -117,7 +117,7 @@ function arrIncludesAll<TGenerics extends PartialGenerics>(
|
|
|
117
117
|
|
|
118
118
|
arrIncludesAll.autoRemove = (val: any) => testFalsey(val) || !val?.length
|
|
119
119
|
|
|
120
|
-
function equals<TGenerics extends
|
|
120
|
+
function equals<TGenerics extends AnyGenerics>(
|
|
121
121
|
rows: Row<TGenerics>[],
|
|
122
122
|
columnIds: string[],
|
|
123
123
|
filterValue: unknown
|
|
@@ -132,7 +132,7 @@ function equals<TGenerics extends PartialGenerics>(
|
|
|
132
132
|
|
|
133
133
|
equals.autoRemove = (val: any) => testFalsey(val)
|
|
134
134
|
|
|
135
|
-
function weakEquals<TGenerics extends
|
|
135
|
+
function weakEquals<TGenerics extends AnyGenerics>(
|
|
136
136
|
rows: Row<TGenerics>[],
|
|
137
137
|
columnIds: string[],
|
|
138
138
|
filterValue: unknown
|
|
@@ -148,7 +148,7 @@ function weakEquals<TGenerics extends PartialGenerics>(
|
|
|
148
148
|
|
|
149
149
|
weakEquals.autoRemove = (val: any) => testFalsey(val)
|
|
150
150
|
|
|
151
|
-
function betweenNumberRange<TGenerics extends
|
|
151
|
+
function betweenNumberRange<TGenerics extends AnyGenerics>(
|
|
152
152
|
rows: Row<TGenerics>[],
|
|
153
153
|
columnIds: string[],
|
|
154
154
|
filterValue: [unknown, unknown]
|
package/src/sortTypes.ts
CHANGED
|
@@ -13,7 +13,7 @@ export const sortTypes = {
|
|
|
13
13
|
|
|
14
14
|
export type BuiltInSortType = keyof typeof sortTypes
|
|
15
15
|
|
|
16
|
-
function alphanumeric<TGenerics extends
|
|
16
|
+
function alphanumeric<TGenerics extends AnyGenerics>(
|
|
17
17
|
rowA: Row<TGenerics>,
|
|
18
18
|
rowB: Row<TGenerics>,
|
|
19
19
|
columnId: string
|
|
@@ -24,7 +24,7 @@ function alphanumeric<TGenerics extends PartialGenerics>(
|
|
|
24
24
|
)
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
function alphanumericCaseSensitive<TGenerics extends
|
|
27
|
+
function alphanumericCaseSensitive<TGenerics extends AnyGenerics>(
|
|
28
28
|
rowA: Row<TGenerics>,
|
|
29
29
|
rowB: Row<TGenerics>,
|
|
30
30
|
columnId: string
|
|
@@ -84,7 +84,7 @@ function compareAlphanumeric(aStr: string, bStr: string) {
|
|
|
84
84
|
|
|
85
85
|
// The text filter is more basic (less numeric support)
|
|
86
86
|
// but is much faster
|
|
87
|
-
function text<TGenerics extends
|
|
87
|
+
function text<TGenerics extends AnyGenerics>(
|
|
88
88
|
rowA: Row<TGenerics>,
|
|
89
89
|
rowB: Row<TGenerics>,
|
|
90
90
|
columnId: string
|
|
@@ -97,7 +97,7 @@ function text<TGenerics extends PartialGenerics>(
|
|
|
97
97
|
|
|
98
98
|
// The text filter is more basic (less numeric support)
|
|
99
99
|
// but is much faster
|
|
100
|
-
function textCaseSensitive<TGenerics extends
|
|
100
|
+
function textCaseSensitive<TGenerics extends AnyGenerics>(
|
|
101
101
|
rowA: Row<TGenerics>,
|
|
102
102
|
rowB: Row<TGenerics>,
|
|
103
103
|
columnId: string
|
|
@@ -108,7 +108,7 @@ function textCaseSensitive<TGenerics extends PartialGenerics>(
|
|
|
108
108
|
)
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
function datetime<TGenerics extends
|
|
111
|
+
function datetime<TGenerics extends AnyGenerics>(
|
|
112
112
|
rowA: Row<TGenerics>,
|
|
113
113
|
rowB: Row<TGenerics>,
|
|
114
114
|
columnId: string
|
|
@@ -119,7 +119,7 @@ function datetime<TGenerics extends PartialGenerics>(
|
|
|
119
119
|
)
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
function basic<TGenerics extends
|
|
122
|
+
function basic<TGenerics extends AnyGenerics>(
|
|
123
123
|
rowA: Row<TGenerics>,
|
|
124
124
|
rowB: Row<TGenerics>,
|
|
125
125
|
columnId: string
|