@tanstack/table-core 8.5.19 → 8.5.20
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/columnHelper.js.map +1 -1
- package/build/cjs/core/cell.js.map +1 -1
- package/build/cjs/core/column.js.map +1 -1
- package/build/cjs/core/headers.js.map +1 -1
- package/build/cjs/core/row.js.map +1 -1
- package/build/cjs/core/table.js.map +1 -1
- 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.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/utils.js +0 -4
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +0 -4
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +312 -312
- package/build/types/index.d.ts +253 -199
- package/build/umd/index.development.js +0 -4
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/columnHelper.ts +27 -20
- package/src/core/cell.ts +3 -3
- package/src/core/column.ts +2 -5
- package/src/core/headers.ts +5 -5
- package/src/core/row.ts +1 -1
- package/src/core/table.ts +6 -7
- package/src/features/ColumnSizing.ts +8 -8
- package/src/features/Expanding.ts +4 -4
- package/src/features/Filters.ts +17 -11
- package/src/features/Grouping.ts +16 -10
- package/src/features/Ordering.ts +5 -5
- package/src/features/Pagination.ts +6 -6
- package/src/features/Pinning.ts +8 -8
- package/src/features/RowSelection.ts +4 -4
- package/src/features/Sorting.ts +15 -9
- package/src/features/Visibility.ts +7 -7
- package/src/types.ts +133 -110
- package/src/utils.ts +59 -46
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/table-core",
|
|
3
3
|
"author": "Tanner Linsley",
|
|
4
|
-
"version": "8.5.
|
|
4
|
+
"version": "8.5.20",
|
|
5
5
|
"description": "Headless UI for building powerful tables & datagrids for TS/JS.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/tanstack/table#readme",
|
package/src/columnHelper.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
|
+
AccessorColumnDef,
|
|
2
3
|
AccessorFn,
|
|
3
|
-
ColumnDef,
|
|
4
4
|
DisplayColumnDef,
|
|
5
5
|
GroupColumnDef,
|
|
6
6
|
IdentifiedColumnDef,
|
|
7
7
|
RowData,
|
|
8
8
|
} from './types'
|
|
9
|
-
import {
|
|
9
|
+
import { DeepValue } from './utils'
|
|
10
10
|
|
|
11
11
|
// type Person = {
|
|
12
12
|
// firstName: string
|
|
@@ -49,22 +49,29 @@ import { DeepKeys, DeepValue, RequiredKeys } from './utils'
|
|
|
49
49
|
// cell: info => info.getValue(),
|
|
50
50
|
// })
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
52
|
+
type AccessorType<TData, TAccessor> = TAccessor extends AccessorFn<
|
|
53
|
+
TData,
|
|
54
|
+
infer TReturn
|
|
55
|
+
>
|
|
56
|
+
? TReturn
|
|
57
|
+
: DeepValue<TData, TAccessor>
|
|
58
|
+
|
|
59
|
+
type Accessor<TData extends RowData> = <
|
|
60
|
+
TAccessor extends AccessorFn<TData> | string,
|
|
61
|
+
TValue extends AccessorType<TData, TAccessor>
|
|
62
|
+
>(
|
|
63
|
+
accessor: TAccessor,
|
|
64
|
+
column: TAccessor extends AccessorFn<TData>
|
|
65
|
+
? DisplayColumnDef<TData, TValue>
|
|
66
|
+
: IdentifiedColumnDef<TData, TValue>
|
|
67
|
+
) => TValue extends never
|
|
68
|
+
? never
|
|
69
|
+
: AccessorColumnDef<TData, AccessorType<TData, TAccessor>>
|
|
70
|
+
|
|
71
|
+
export interface ColumnHelper<TData extends RowData> {
|
|
72
|
+
accessor: Accessor<TData>
|
|
73
|
+
display: (column: DisplayColumnDef<TData>) => DisplayColumnDef<TData>
|
|
74
|
+
group: (column: GroupColumnDef<TData>) => GroupColumnDef<TData>
|
|
68
75
|
}
|
|
69
76
|
|
|
70
77
|
export function createColumnHelper<
|
|
@@ -82,7 +89,7 @@ export function createColumnHelper<
|
|
|
82
89
|
accessorKey: accessor,
|
|
83
90
|
}
|
|
84
91
|
},
|
|
85
|
-
display: column => column as
|
|
86
|
-
group: column => column as
|
|
92
|
+
display: column => column as DisplayColumnDef<TData>,
|
|
93
|
+
group: column => column as GroupColumnDef<TData>,
|
|
87
94
|
}
|
|
88
95
|
}
|
package/src/core/cell.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RowData, Cell, Column, Row, Table } from '../types'
|
|
2
2
|
import { Getter, memo } from '../utils'
|
|
3
3
|
|
|
4
|
-
export
|
|
4
|
+
export interface CellContext<TData extends RowData, TValue> {
|
|
5
5
|
table: Table<TData>
|
|
6
6
|
column: Column<TData, TValue>
|
|
7
7
|
row: Row<TData>
|
|
@@ -10,7 +10,7 @@ export type CellContext<TData extends RowData, TValue> = {
|
|
|
10
10
|
renderValue: Getter<TValue | null>
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export
|
|
13
|
+
export interface CoreCell<TData extends RowData, TValue> {
|
|
14
14
|
id: string
|
|
15
15
|
getValue: CellContext<TData, TValue>['getValue']
|
|
16
16
|
renderValue: CellContext<TData, TValue>['renderValue']
|
|
@@ -24,7 +24,7 @@ export function createCell<TData extends RowData, TValue>(
|
|
|
24
24
|
row: Row<TData>,
|
|
25
25
|
column: Column<TData, TValue>,
|
|
26
26
|
columnId: string
|
|
27
|
-
) {
|
|
27
|
+
): Cell<TData, TValue> {
|
|
28
28
|
const getRenderValue = () =>
|
|
29
29
|
cell.getValue() ?? table.options.renderFallbackValue
|
|
30
30
|
|
package/src/core/column.ts
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import { TaggedTemplateExpression } from '@babel/types'
|
|
2
1
|
import {
|
|
3
2
|
Column,
|
|
4
3
|
Table,
|
|
5
4
|
AccessorFn,
|
|
6
5
|
ColumnDef,
|
|
7
|
-
ColumnDefTemplate,
|
|
8
6
|
RowData,
|
|
9
|
-
ColumnMeta,
|
|
10
7
|
ColumnDefResolved,
|
|
11
8
|
} from '../types'
|
|
12
9
|
import { memo } from '../utils'
|
|
13
10
|
|
|
14
|
-
export
|
|
11
|
+
export interface CoreColumn<TData extends RowData, TValue> {
|
|
15
12
|
id: string
|
|
16
13
|
depth: number
|
|
17
14
|
accessorFn?: AccessorFn<TData, TValue>
|
|
@@ -27,7 +24,7 @@ export function createColumn<TData extends RowData, TValue>(
|
|
|
27
24
|
columnDef: ColumnDef<TData, TValue>,
|
|
28
25
|
depth: number,
|
|
29
26
|
parent?: Column<TData, TValue>
|
|
30
|
-
) {
|
|
27
|
+
): Column<TData, TValue> {
|
|
31
28
|
const defaultColumn = table._getDefaultColumnDef()
|
|
32
29
|
|
|
33
30
|
const resolvedColumnDef = {
|
package/src/core/headers.ts
CHANGED
|
@@ -2,19 +2,19 @@ import { RowData, Column, Header, HeaderGroup, Table } from '../types'
|
|
|
2
2
|
import { memo } from '../utils'
|
|
3
3
|
import { TableFeature } from './table'
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export interface CoreHeaderGroup<TData extends RowData> {
|
|
6
6
|
id: string
|
|
7
7
|
depth: number
|
|
8
8
|
headers: Header<TData, unknown>[]
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export
|
|
11
|
+
export interface HeaderContext<TData, TValue> {
|
|
12
12
|
table: Table<TData>
|
|
13
13
|
header: Header<TData, TValue>
|
|
14
14
|
column: Column<TData, TValue>
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
export
|
|
17
|
+
export interface CoreHeader<TData extends RowData, TValue> {
|
|
18
18
|
id: string
|
|
19
19
|
index: number
|
|
20
20
|
depth: number
|
|
@@ -29,7 +29,7 @@ export type CoreHeader<TData extends RowData, TValue> = {
|
|
|
29
29
|
getContext: () => HeaderContext<TData, TValue>
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
export
|
|
32
|
+
export interface HeadersInstance<TData extends RowData> {
|
|
33
33
|
getHeaderGroups: () => HeaderGroup<TData>[]
|
|
34
34
|
getLeftHeaderGroups: () => HeaderGroup<TData>[]
|
|
35
35
|
getCenterHeaderGroups: () => HeaderGroup<TData>[]
|
|
@@ -63,7 +63,7 @@ function createHeader<TData extends RowData, TValue>(
|
|
|
63
63
|
index: number
|
|
64
64
|
depth: number
|
|
65
65
|
}
|
|
66
|
-
) {
|
|
66
|
+
): Header<TData, TValue> {
|
|
67
67
|
const id = options.id ?? column.id
|
|
68
68
|
|
|
69
69
|
let header: CoreHeader<TData, TValue> = {
|
package/src/core/row.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { RowData, Cell, Row, Table } from '../types'
|
|
|
2
2
|
import { flattenBy, memo } from '../utils'
|
|
3
3
|
import { createCell } from './cell'
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export interface CoreRow<TData extends RowData> {
|
|
6
6
|
id: string
|
|
7
7
|
index: number
|
|
8
8
|
original: TData
|
package/src/core/table.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { functionalUpdate, memo, RequiredKeys } from '../utils'
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
Updater,
|
|
5
5
|
TableOptionsResolved,
|
|
6
6
|
TableState,
|
|
7
7
|
Table,
|
|
8
|
-
ColumnDefTemplate,
|
|
9
8
|
InitialTableState,
|
|
10
9
|
Row,
|
|
11
10
|
Column,
|
|
@@ -26,7 +25,7 @@ import { Headers } from './headers'
|
|
|
26
25
|
import { ColumnSizing } from '../features/ColumnSizing'
|
|
27
26
|
import { Expanding } from '../features/Expanding'
|
|
28
27
|
import { Filters } from '../features/Filters'
|
|
29
|
-
import { Grouping
|
|
28
|
+
import { Grouping } from '../features/Grouping'
|
|
30
29
|
import { Ordering } from '../features/Ordering'
|
|
31
30
|
import { Pagination } from '../features/Pagination'
|
|
32
31
|
import { Pinning } from '../features/Pinning'
|
|
@@ -34,7 +33,7 @@ import { RowSelection } from '../features/RowSelection'
|
|
|
34
33
|
import { Sorting } from '../features/Sorting'
|
|
35
34
|
import { Visibility } from '../features/Visibility'
|
|
36
35
|
|
|
37
|
-
export
|
|
36
|
+
export interface TableFeature {
|
|
38
37
|
getDefaultOptions?: (table: any) => any
|
|
39
38
|
getInitialState?: (initialState?: InitialTableState) => any
|
|
40
39
|
createTable?: (table: any) => any
|
|
@@ -61,9 +60,9 @@ const features = [
|
|
|
61
60
|
|
|
62
61
|
//
|
|
63
62
|
|
|
64
|
-
export
|
|
63
|
+
export interface CoreTableState {}
|
|
65
64
|
|
|
66
|
-
export
|
|
65
|
+
export interface CoreOptions<TData extends RowData> {
|
|
67
66
|
data: TData[]
|
|
68
67
|
state: Partial<TableState>
|
|
69
68
|
onStateChange: (updater: Updater<TableState>) => void
|
|
@@ -87,7 +86,7 @@ export type CoreOptions<TData extends RowData> = {
|
|
|
87
86
|
renderFallbackValue: any
|
|
88
87
|
}
|
|
89
88
|
|
|
90
|
-
export
|
|
89
|
+
export interface CoreInstance<TData extends RowData> {
|
|
91
90
|
initialState: TableState
|
|
92
91
|
reset: () => void
|
|
93
92
|
options: RequiredKeys<TableOptionsResolved<TData>, 'state'>
|
|
@@ -5,14 +5,14 @@ import { ColumnPinningPosition } from './Pinning'
|
|
|
5
5
|
|
|
6
6
|
//
|
|
7
7
|
|
|
8
|
-
export
|
|
8
|
+
export interface ColumnSizingTableState {
|
|
9
9
|
columnSizing: ColumnSizingState
|
|
10
10
|
columnSizingInfo: ColumnSizingInfoState
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export type ColumnSizingState = Record<string, number>
|
|
14
14
|
|
|
15
|
-
export
|
|
15
|
+
export interface ColumnSizingInfoState {
|
|
16
16
|
startOffset: null | number
|
|
17
17
|
startSize: null | number
|
|
18
18
|
deltaOffset: null | number
|
|
@@ -23,20 +23,20 @@ export type ColumnSizingInfoState = {
|
|
|
23
23
|
|
|
24
24
|
export type ColumnResizeMode = 'onChange' | 'onEnd'
|
|
25
25
|
|
|
26
|
-
export
|
|
26
|
+
export interface ColumnSizingOptions {
|
|
27
27
|
enableColumnResizing?: boolean
|
|
28
28
|
columnResizeMode?: ColumnResizeMode
|
|
29
29
|
onColumnSizingChange?: OnChangeFn<ColumnSizingState>
|
|
30
30
|
onColumnSizingInfoChange?: OnChangeFn<ColumnSizingInfoState>
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
export
|
|
33
|
+
export interface ColumnSizingDefaultOptions {
|
|
34
34
|
columnResizeMode: ColumnResizeMode
|
|
35
35
|
onColumnSizingChange: OnChangeFn<ColumnSizingState>
|
|
36
36
|
onColumnSizingInfoChange: OnChangeFn<ColumnSizingInfoState>
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
export
|
|
39
|
+
export interface ColumnSizingInstance {
|
|
40
40
|
setColumnSizing: (updater: Updater<ColumnSizingState>) => void
|
|
41
41
|
setColumnSizingInfo: (updater: Updater<ColumnSizingInfoState>) => void
|
|
42
42
|
resetColumnSizing: (defaultState?: boolean) => void
|
|
@@ -47,14 +47,14 @@ export type ColumnSizingInstance = {
|
|
|
47
47
|
getRightTotalSize: () => number
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
export
|
|
50
|
+
export interface ColumnSizingColumnDef {
|
|
51
51
|
enableResizing?: boolean
|
|
52
52
|
size?: number
|
|
53
53
|
minSize?: number
|
|
54
54
|
maxSize?: number
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
export
|
|
57
|
+
export interface ColumnSizingColumn {
|
|
58
58
|
getSize: () => number
|
|
59
59
|
getStart: (position?: ColumnPinningPosition) => number
|
|
60
60
|
getCanResize: () => boolean
|
|
@@ -62,7 +62,7 @@ export type ColumnSizingColumn = {
|
|
|
62
62
|
resetSize: () => void
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
export
|
|
65
|
+
export interface ColumnSizingHeader {
|
|
66
66
|
getSize: () => number
|
|
67
67
|
getStart: (position?: ColumnPinningPosition) => number
|
|
68
68
|
getResizeHandler: () => (event: unknown) => void
|
|
@@ -5,18 +5,18 @@ import { makeStateUpdater } from '../utils'
|
|
|
5
5
|
|
|
6
6
|
export type ExpandedStateList = Record<string, boolean>
|
|
7
7
|
export type ExpandedState = true | Record<string, boolean>
|
|
8
|
-
export
|
|
8
|
+
export interface ExpandedTableState {
|
|
9
9
|
expanded: ExpandedState
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export
|
|
12
|
+
export interface ExpandedRow {
|
|
13
13
|
toggleExpanded: (expanded?: boolean) => void
|
|
14
14
|
getIsExpanded: () => boolean
|
|
15
15
|
getCanExpand: () => boolean
|
|
16
16
|
getToggleExpandedHandler: () => () => void
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
export
|
|
19
|
+
export interface ExpandedOptions<TData extends RowData> {
|
|
20
20
|
manualExpanding?: boolean
|
|
21
21
|
onExpandedChange?: OnChangeFn<ExpandedState>
|
|
22
22
|
autoResetExpanded?: boolean
|
|
@@ -27,7 +27,7 @@ export type ExpandedOptions<TData extends RowData> = {
|
|
|
27
27
|
paginateExpandedRows?: boolean
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
export
|
|
30
|
+
export interface ExpandedInstance<TData extends RowData> {
|
|
31
31
|
_autoResetExpanded: () => void
|
|
32
32
|
setExpanded: (updater: Updater<ExpandedState>) => void
|
|
33
33
|
toggleAllRowsExpanded: (expanded?: boolean) => void
|
package/src/features/Filters.ts
CHANGED
|
@@ -13,25 +13,25 @@ import {
|
|
|
13
13
|
} from '../types'
|
|
14
14
|
import { functionalUpdate, isFunction, makeStateUpdater } from '../utils'
|
|
15
15
|
|
|
16
|
-
export
|
|
16
|
+
export interface FiltersTableState {
|
|
17
17
|
columnFilters: ColumnFiltersState
|
|
18
18
|
globalFilter: any
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export type ColumnFiltersState = ColumnFilter[]
|
|
22
22
|
|
|
23
|
-
export
|
|
23
|
+
export interface ColumnFilter {
|
|
24
24
|
id: string
|
|
25
25
|
value: unknown
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export
|
|
28
|
+
export interface ResolvedColumnFilter<TData extends RowData> {
|
|
29
29
|
id: string
|
|
30
30
|
resolvedValue: unknown
|
|
31
31
|
filterFn: FilterFn<TData>
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
export
|
|
34
|
+
export interface FilterFn<TData extends RowData> {
|
|
35
35
|
(
|
|
36
36
|
row: Row<TData>,
|
|
37
37
|
columnId: string,
|
|
@@ -64,13 +64,13 @@ export type FilterFnOption<TData extends RowData> =
|
|
|
64
64
|
| keyof FilterFns
|
|
65
65
|
| FilterFn<TData>
|
|
66
66
|
|
|
67
|
-
export
|
|
67
|
+
export interface FiltersColumnDef<TData extends RowData> {
|
|
68
68
|
filterFn?: FilterFnOption<TData>
|
|
69
69
|
enableColumnFilter?: boolean
|
|
70
70
|
enableGlobalFilter?: boolean
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
export
|
|
73
|
+
export interface FiltersColumn<TData extends RowData> {
|
|
74
74
|
getAutoFilterFn: () => FilterFn<TData> | undefined
|
|
75
75
|
getFilterFn: () => FilterFn<TData> | undefined
|
|
76
76
|
setFilterValue: (updater: Updater<any>) => void
|
|
@@ -87,12 +87,12 @@ export type FiltersColumn<TData extends RowData> = {
|
|
|
87
87
|
_getFacetedMinMaxValues?: () => undefined | [number, number]
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
export
|
|
90
|
+
export interface FiltersRow<TData extends RowData> {
|
|
91
91
|
columnFilters: Record<string, boolean>
|
|
92
92
|
columnFiltersMeta: Record<string, FilterMeta>
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
interface FiltersOptionsBase<TData extends RowData> {
|
|
96
96
|
enableFilters?: boolean
|
|
97
97
|
manualFiltering?: boolean
|
|
98
98
|
filterFromLeafRows?: boolean
|
|
@@ -121,15 +121,21 @@ export type FiltersOptions<TData extends RowData> = {
|
|
|
121
121
|
table: Table<TData>,
|
|
122
122
|
columnId: string
|
|
123
123
|
) => () => undefined | [number, number]
|
|
124
|
-
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
type ResolvedFilterFns = keyof FilterFns extends never
|
|
125
127
|
? {
|
|
126
128
|
filterFns?: Record<string, FilterFn<any>>
|
|
127
129
|
}
|
|
128
130
|
: {
|
|
129
131
|
filterFns: Record<keyof FilterFns, FilterFn<any>>
|
|
130
|
-
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface FiltersOptions<TData extends RowData>
|
|
135
|
+
extends FiltersOptionsBase<TData>,
|
|
136
|
+
ResolvedFilterFns {}
|
|
131
137
|
|
|
132
|
-
export
|
|
138
|
+
export interface FiltersInstance<TData extends RowData> {
|
|
133
139
|
setColumnFilters: (updater: Updater<ColumnFiltersState>) => void
|
|
134
140
|
|
|
135
141
|
resetColumnFilters: (defaultState?: boolean) => void
|
package/src/features/Grouping.ts
CHANGED
|
@@ -16,7 +16,7 @@ import { isFunction, makeStateUpdater } from '../utils'
|
|
|
16
16
|
|
|
17
17
|
export type GroupingState = string[]
|
|
18
18
|
|
|
19
|
-
export
|
|
19
|
+
export interface GroupingTableState {
|
|
20
20
|
grouping: GroupingState
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -34,7 +34,7 @@ export type AggregationFnOption<TData extends RowData> =
|
|
|
34
34
|
| BuiltInAggregationFn
|
|
35
35
|
| AggregationFn<TData>
|
|
36
36
|
|
|
37
|
-
export
|
|
37
|
+
export interface GroupingColumnDef<TData extends RowData, TValue> {
|
|
38
38
|
aggregationFn?: AggregationFnOption<TData>
|
|
39
39
|
aggregatedCell?: ColumnDefTemplate<
|
|
40
40
|
ReturnType<Cell<TData, TValue>['getContext']>
|
|
@@ -42,7 +42,7 @@ export type GroupingColumnDef<TData extends RowData, TValue> = {
|
|
|
42
42
|
enableGrouping?: boolean
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
export
|
|
45
|
+
export interface GroupingColumn<TData extends RowData> {
|
|
46
46
|
getCanGroup: () => boolean
|
|
47
47
|
getIsGrouped: () => boolean
|
|
48
48
|
getGroupedIndex: () => number
|
|
@@ -52,42 +52,48 @@ export type GroupingColumn<TData extends RowData> = {
|
|
|
52
52
|
getAggregationFn: () => AggregationFn<TData> | undefined
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
export
|
|
55
|
+
export interface GroupingRow {
|
|
56
56
|
groupingColumnId?: string
|
|
57
57
|
groupingValue?: unknown
|
|
58
58
|
getIsGrouped: () => boolean
|
|
59
59
|
_groupingValuesCache: Record<string, any>
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
export
|
|
62
|
+
export interface GroupingCell {
|
|
63
63
|
getIsGrouped: () => boolean
|
|
64
64
|
getIsPlaceholder: () => boolean
|
|
65
65
|
getIsAggregated: () => boolean
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
export
|
|
68
|
+
export interface ColumnDefaultOptions {
|
|
69
69
|
// Column
|
|
70
70
|
onGroupingChange: OnChangeFn<GroupingState>
|
|
71
71
|
enableGrouping: boolean
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
interface GroupingOptionsBase {
|
|
75
75
|
manualGrouping?: boolean
|
|
76
76
|
onGroupingChange?: OnChangeFn<GroupingState>
|
|
77
77
|
enableGrouping?: boolean
|
|
78
78
|
getGroupedRowModel?: (table: Table<any>) => () => RowModel<any>
|
|
79
79
|
groupedColumnMode?: false | 'reorder' | 'remove'
|
|
80
|
-
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
type ResolvedAggregationFns = keyof AggregationFns extends never
|
|
81
83
|
? {
|
|
82
84
|
aggregationFns?: Record<string, AggregationFn<any>>
|
|
83
85
|
}
|
|
84
86
|
: {
|
|
85
87
|
aggregationFns: Record<keyof AggregationFns, AggregationFn<any>>
|
|
86
|
-
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface GroupingOptions
|
|
91
|
+
extends GroupingOptionsBase,
|
|
92
|
+
ResolvedAggregationFns {}
|
|
87
93
|
|
|
88
94
|
export type GroupingColumnMode = false | 'reorder' | 'remove'
|
|
89
95
|
|
|
90
|
-
export
|
|
96
|
+
export interface GroupingInstance<TData extends RowData> {
|
|
91
97
|
setGrouping: (updater: Updater<GroupingState>) => void
|
|
92
98
|
resetGrouping: (defaultState?: boolean) => void
|
|
93
99
|
getPreGroupedRowModel: () => RowModel<TData>
|
package/src/features/Ordering.ts
CHANGED
|
@@ -2,24 +2,24 @@ import { makeStateUpdater, memo } from '../utils'
|
|
|
2
2
|
|
|
3
3
|
import { Table, OnChangeFn, Updater, Column, RowData } from '../types'
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { orderColumns } from './Grouping'
|
|
6
6
|
import { TableFeature } from '../core/table'
|
|
7
7
|
|
|
8
|
-
export
|
|
8
|
+
export interface ColumnOrderTableState {
|
|
9
9
|
columnOrder: ColumnOrderState
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export type ColumnOrderState = string[]
|
|
13
13
|
|
|
14
|
-
export
|
|
14
|
+
export interface ColumnOrderOptions {
|
|
15
15
|
onColumnOrderChange?: OnChangeFn<ColumnOrderState>
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
export
|
|
18
|
+
export interface ColumnOrderDefaultOptions {
|
|
19
19
|
onColumnOrderChange: OnChangeFn<ColumnOrderState>
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export
|
|
22
|
+
export interface ColumnOrderInstance<TData extends RowData> {
|
|
23
23
|
setColumnOrder: (updater: Updater<ColumnOrderState>) => void
|
|
24
24
|
resetColumnOrder: (defaultState?: boolean) => void
|
|
25
25
|
_getOrderColumnsFn: () => (
|
|
@@ -2,20 +2,20 @@ import { TableFeature } from '../core/table'
|
|
|
2
2
|
import { OnChangeFn, Table, RowModel, Updater, RowData } from '../types'
|
|
3
3
|
import { functionalUpdate, makeStateUpdater, memo } from '../utils'
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export interface PaginationState {
|
|
6
6
|
pageIndex: number
|
|
7
7
|
pageSize: number
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
export
|
|
10
|
+
export interface PaginationTableState {
|
|
11
11
|
pagination: PaginationState
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export
|
|
14
|
+
export interface PaginationInitialTableState {
|
|
15
15
|
pagination?: Partial<PaginationState>
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
export
|
|
18
|
+
export interface PaginationOptions {
|
|
19
19
|
pageCount?: number
|
|
20
20
|
manualPagination?: boolean
|
|
21
21
|
onPaginationChange?: OnChangeFn<PaginationState>
|
|
@@ -23,11 +23,11 @@ export type PaginationOptions = {
|
|
|
23
23
|
getPaginationRowModel?: (table: Table<any>) => () => RowModel<any>
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
export
|
|
26
|
+
export interface PaginationDefaultOptions {
|
|
27
27
|
onPaginationChange: OnChangeFn<PaginationState>
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
export
|
|
30
|
+
export interface PaginationInstance<TData extends RowData> {
|
|
31
31
|
_autoResetPageIndex: () => void
|
|
32
32
|
setPagination: (updater: Updater<PaginationState>) => void
|
|
33
33
|
resetPagination: (defaultState?: boolean) => void
|
package/src/features/Pinning.ts
CHANGED
|
@@ -12,42 +12,42 @@ import { makeStateUpdater, memo } from '../utils'
|
|
|
12
12
|
|
|
13
13
|
export type ColumnPinningPosition = false | 'left' | 'right'
|
|
14
14
|
|
|
15
|
-
export
|
|
15
|
+
export interface ColumnPinningState {
|
|
16
16
|
left?: string[]
|
|
17
17
|
right?: string[]
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export
|
|
20
|
+
export interface ColumnPinningTableState {
|
|
21
21
|
columnPinning: ColumnPinningState
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
export
|
|
24
|
+
export interface ColumnPinningOptions {
|
|
25
25
|
onColumnPinningChange?: OnChangeFn<ColumnPinningState>
|
|
26
26
|
enablePinning?: boolean
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export
|
|
29
|
+
export interface ColumnPinningDefaultOptions {
|
|
30
30
|
onColumnPinningChange: OnChangeFn<ColumnPinningState>
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
export
|
|
33
|
+
export interface ColumnPinningColumnDef {
|
|
34
34
|
enablePinning?: boolean
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
export
|
|
37
|
+
export interface ColumnPinningColumn {
|
|
38
38
|
getCanPin: () => boolean
|
|
39
39
|
getPinnedIndex: () => number
|
|
40
40
|
getIsPinned: () => ColumnPinningPosition
|
|
41
41
|
pin: (position: ColumnPinningPosition) => void
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
export
|
|
44
|
+
export interface ColumnPinningRow<TData extends RowData> {
|
|
45
45
|
getLeftVisibleCells: () => Cell<TData, unknown>[]
|
|
46
46
|
getCenterVisibleCells: () => Cell<TData, unknown>[]
|
|
47
47
|
getRightVisibleCells: () => Cell<TData, unknown>[]
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
export
|
|
50
|
+
export interface ColumnPinningInstance<TData extends RowData> {
|
|
51
51
|
setColumnPinning: (updater: Updater<ColumnPinningState>) => void
|
|
52
52
|
resetColumnPinning: (defaultState?: boolean) => void
|
|
53
53
|
getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean
|
|
@@ -4,11 +4,11 @@ import { makeStateUpdater, memo } from '../utils'
|
|
|
4
4
|
|
|
5
5
|
export type RowSelectionState = Record<string, boolean>
|
|
6
6
|
|
|
7
|
-
export
|
|
7
|
+
export interface RowSelectionTableState {
|
|
8
8
|
rowSelection: RowSelectionState
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export
|
|
11
|
+
export interface RowSelectionOptions<TData extends RowData> {
|
|
12
12
|
enableRowSelection?: boolean | ((row: Row<TData>) => boolean)
|
|
13
13
|
enableMultiRowSelection?: boolean | ((row: Row<TData>) => boolean)
|
|
14
14
|
enableSubRowSelection?: boolean | ((row: Row<TData>) => boolean)
|
|
@@ -26,7 +26,7 @@ export type RowSelectionOptions<TData extends RowData> = {
|
|
|
26
26
|
// ) => RowModel<TData>
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export
|
|
29
|
+
export interface RowSelectionRow {
|
|
30
30
|
getIsSelected: () => boolean
|
|
31
31
|
getIsSomeSelected: () => boolean
|
|
32
32
|
getIsAllSubRowsSelected: () => boolean
|
|
@@ -37,7 +37,7 @@ export type RowSelectionRow = {
|
|
|
37
37
|
getToggleSelectedHandler: () => (event: unknown) => void
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
export
|
|
40
|
+
export interface RowSelectionInstance<TData extends RowData> {
|
|
41
41
|
getToggleAllRowsSelectedHandler: () => (event: unknown) => void
|
|
42
42
|
getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void
|
|
43
43
|
setRowSelection: (updater: Updater<RowSelectionState>) => void
|