@tanstack/table-core 9.0.0-beta.2 → 9.0.0-beta.5
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/dist/core/cells/coreCellsFeature.cjs +11 -20
- package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
- package/dist/core/cells/coreCellsFeature.d.cts +4 -12
- package/dist/core/cells/coreCellsFeature.d.ts +4 -12
- package/dist/core/cells/coreCellsFeature.js +12 -20
- package/dist/core/cells/coreCellsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +59 -68
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
- package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
- package/dist/core/columns/coreColumnsFeature.js +60 -68
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +44 -53
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
- package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
- package/dist/core/headers/coreHeadersFeature.js +45 -53
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.js +18 -26
- package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +3 -5
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +3 -5
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +27 -36
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.d.cts +4 -12
- package/dist/core/rows/coreRowsFeature.d.ts +4 -12
- package/dist/core/rows/coreRowsFeature.js +28 -36
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/table/constructTable.cjs +2 -2
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.js +2 -2
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.cjs +7 -16
- package/dist/core/table/coreTablesFeature.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.d.cts +4 -12
- package/dist/core/table/coreTablesFeature.d.ts +4 -12
- package/dist/core/table/coreTablesFeature.js +8 -16
- package/dist/core/table/coreTablesFeature.js.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.js +41 -53
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.js +58 -69
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.js +210 -221
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +12 -12
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +12 -12
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.js +32 -43
- package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.js +113 -125
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +3 -3
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +4 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +4 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
- package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
- package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.js +56 -67
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +65 -77
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.js +66 -77
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.js +46 -57
- package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
- package/dist/fns/aggregationFns.cjs +18 -18
- package/dist/fns/aggregationFns.cjs.map +1 -1
- package/dist/fns/aggregationFns.d.cts +21 -19
- package/dist/fns/aggregationFns.d.ts +21 -19
- package/dist/fns/aggregationFns.js +18 -18
- package/dist/fns/aggregationFns.js.map +1 -1
- package/dist/fns/filterFns.cjs +51 -65
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.d.cts +82 -28
- package/dist/fns/filterFns.d.ts +82 -28
- package/dist/fns/filterFns.js +51 -65
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/fns/sortFns.cjs.map +1 -1
- package/dist/fns/sortFns.d.cts +15 -13
- package/dist/fns/sortFns.d.ts +15 -13
- package/dist/fns/sortFns.js.map +1 -1
- package/dist/index.cjs +0 -20
- package/dist/index.d.cts +34 -34
- package/dist/index.d.ts +34 -34
- package/dist/index.js +21 -21
- package/dist/types/Cell.d.cts +3 -8
- package/dist/types/Cell.d.ts +3 -8
- package/dist/types/Column.d.cts +3 -8
- package/dist/types/Column.d.ts +3 -8
- package/dist/types/ColumnDef.d.cts +3 -8
- package/dist/types/ColumnDef.d.ts +3 -8
- package/dist/types/Header.d.cts +3 -8
- package/dist/types/Header.d.ts +3 -8
- package/dist/types/HeaderGroup.d.cts +3 -8
- package/dist/types/HeaderGroup.d.ts +3 -8
- package/dist/types/Row.d.cts +3 -8
- package/dist/types/Row.d.ts +3 -8
- package/dist/types/RowModel.d.cts +4 -10
- package/dist/types/RowModel.d.ts +4 -10
- package/dist/types/RowModelFns.d.cts +3 -8
- package/dist/types/RowModelFns.d.ts +3 -8
- package/dist/types/Table.d.cts +3 -8
- package/dist/types/Table.d.ts +3 -8
- package/dist/types/TableFeatures.d.cts +13 -39
- package/dist/types/TableFeatures.d.ts +13 -39
- package/dist/types/TableOptions.d.cts +3 -4
- package/dist/types/TableOptions.d.ts +3 -4
- package/dist/types/TableState.d.cts +5 -10
- package/dist/types/TableState.d.ts +5 -10
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/core/cells/coreCellsFeature.ts +17 -39
- package/src/core/columns/coreColumnsFeature.ts +56 -83
- package/src/core/headers/buildHeaderGroups.ts +1 -1
- package/src/core/headers/coreHeadersFeature.ts +42 -64
- package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
- package/src/core/row-models/coreRowModelsFeature.ts +43 -64
- package/src/core/row-models/coreRowModelsFeature.types.ts +2 -6
- package/src/core/row-models/createCoreRowModel.ts +1 -1
- package/src/core/rows/coreRowsFeature.ts +45 -72
- package/src/core/table/constructTable.ts +10 -7
- package/src/core/table/coreTablesFeature.ts +13 -35
- package/src/core/table/coreTablesFeature.utils.ts +1 -1
- package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
- package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
- package/src/features/column-filtering/columnFilteringFeature.ts +60 -103
- package/src/features/column-filtering/columnFilteringFeature.types.ts +3 -3
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +4 -4
- package/src/features/column-filtering/createFilteredRowModel.ts +2 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +82 -126
- package/src/features/column-grouping/createGroupedRowModel.ts +1 -1
- package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
- package/src/features/column-pinning/columnPinningFeature.ts +268 -304
- package/src/features/column-pinning/columnPinningFeature.utils.ts +5 -5
- package/src/features/column-resizing/columnResizingFeature.ts +44 -78
- package/src/features/column-sizing/columnSizingFeature.ts +115 -152
- package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
- package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +4 -2
- package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
- package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
- package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
- package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
- package/src/features/row-pinning/rowPinningFeature.ts +72 -104
- package/src/features/row-selection/rowSelectionFeature.ts +103 -135
- package/src/features/row-sorting/createSortedRowModel.ts +1 -1
- package/src/features/row-sorting/rowSortingFeature.ts +73 -114
- package/src/fns/aggregationFns.ts +26 -42
- package/src/fns/filterFns.ts +231 -264
- package/src/fns/sortFns.ts +18 -19
- package/src/types/Cell.ts +3 -19
- package/src/types/Column.ts +2 -18
- package/src/types/ColumnDef.ts +2 -18
- package/src/types/Header.ts +2 -18
- package/src/types/HeaderGroup.ts +2 -13
- package/src/types/Row.ts +2 -17
- package/src/types/RowModel.ts +3 -25
- package/src/types/RowModelFns.ts +2 -17
- package/src/types/Table.ts +2 -17
- package/src/types/TableFeatures.ts +51 -112
- package/src/types/TableOptions.ts +1 -12
- package/src/types/TableState.ts +4 -30
- package/src/utils.ts +5 -4
package/src/fns/sortFns.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { RowData } from '../types/type-utils'
|
|
2
2
|
import type { TableFeatures } from '../types/TableFeatures'
|
|
3
3
|
import type { Row } from '../types/Row'
|
|
4
|
-
import type { SortFn } from '../features/row-sorting/rowSortingFeature.types'
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Regular expression used to split mixed text and numeric chunks.
|
|
@@ -16,12 +15,12 @@ export const reSplitAlphaNumeric = /([0-9]+)/gm
|
|
|
16
15
|
*
|
|
17
16
|
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
18
17
|
*/
|
|
19
|
-
export const sortFn_alphanumeric
|
|
18
|
+
export const sortFn_alphanumeric = <
|
|
20
19
|
TFeatures extends TableFeatures,
|
|
21
20
|
TData extends RowData,
|
|
22
21
|
>(
|
|
23
|
-
rowA: Row<
|
|
24
|
-
rowB: Row<
|
|
22
|
+
rowA: Row<TFeatures, TData>,
|
|
23
|
+
rowB: Row<TFeatures, TData>,
|
|
25
24
|
columnId: string,
|
|
26
25
|
) => {
|
|
27
26
|
return compareAlphanumeric(
|
|
@@ -35,12 +34,12 @@ export const sortFn_alphanumeric: SortFn<any, any> = <
|
|
|
35
34
|
*
|
|
36
35
|
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
37
36
|
*/
|
|
38
|
-
export const sortFn_alphanumericCaseSensitive
|
|
37
|
+
export const sortFn_alphanumericCaseSensitive = <
|
|
39
38
|
TFeatures extends TableFeatures,
|
|
40
39
|
TData extends RowData,
|
|
41
40
|
>(
|
|
42
|
-
rowA: Row<
|
|
43
|
-
rowB: Row<
|
|
41
|
+
rowA: Row<TFeatures, TData>,
|
|
42
|
+
rowB: Row<TFeatures, TData>,
|
|
44
43
|
columnId: string,
|
|
45
44
|
) => {
|
|
46
45
|
return compareAlphanumeric(
|
|
@@ -56,12 +55,12 @@ export const sortFn_alphanumericCaseSensitive: SortFn<any, any> = <
|
|
|
56
55
|
*
|
|
57
56
|
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
58
57
|
*/
|
|
59
|
-
export const sortFn_text
|
|
58
|
+
export const sortFn_text = <
|
|
60
59
|
TFeatures extends TableFeatures,
|
|
61
60
|
TData extends RowData,
|
|
62
61
|
>(
|
|
63
|
-
rowA: Row<
|
|
64
|
-
rowB: Row<
|
|
62
|
+
rowA: Row<TFeatures, TData>,
|
|
63
|
+
rowB: Row<TFeatures, TData>,
|
|
65
64
|
columnId: string,
|
|
66
65
|
) => {
|
|
67
66
|
return compareBasic(
|
|
@@ -77,12 +76,12 @@ export const sortFn_text: SortFn<any, any> = <
|
|
|
77
76
|
*
|
|
78
77
|
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
79
78
|
*/
|
|
80
|
-
export const sortFn_textCaseSensitive
|
|
79
|
+
export const sortFn_textCaseSensitive = <
|
|
81
80
|
TFeatures extends TableFeatures,
|
|
82
81
|
TData extends RowData,
|
|
83
82
|
>(
|
|
84
|
-
rowA: Row<
|
|
85
|
-
rowB: Row<
|
|
83
|
+
rowA: Row<TFeatures, TData>,
|
|
84
|
+
rowB: Row<TFeatures, TData>,
|
|
86
85
|
columnId: string,
|
|
87
86
|
) => {
|
|
88
87
|
return compareBasic(
|
|
@@ -96,12 +95,12 @@ export const sortFn_textCaseSensitive: SortFn<any, any> = <
|
|
|
96
95
|
*
|
|
97
96
|
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
98
97
|
*/
|
|
99
|
-
export const sortFn_datetime
|
|
98
|
+
export const sortFn_datetime = <
|
|
100
99
|
TFeatures extends TableFeatures,
|
|
101
100
|
TData extends RowData,
|
|
102
101
|
>(
|
|
103
|
-
rowA: Row<
|
|
104
|
-
rowB: Row<
|
|
102
|
+
rowA: Row<TFeatures, TData>,
|
|
103
|
+
rowB: Row<TFeatures, TData>,
|
|
105
104
|
columnId: string,
|
|
106
105
|
) => {
|
|
107
106
|
const a: number | string = rowA.getValue(columnId)
|
|
@@ -118,12 +117,12 @@ export const sortFn_datetime: SortFn<any, any> = <
|
|
|
118
117
|
*
|
|
119
118
|
* This comparator returns ascending-order results; descending order is applied by the sorting row model.
|
|
120
119
|
*/
|
|
121
|
-
export const sortFn_basic
|
|
120
|
+
export const sortFn_basic = <
|
|
122
121
|
TFeatures extends TableFeatures,
|
|
123
122
|
TData extends RowData,
|
|
124
123
|
>(
|
|
125
|
-
rowA: Row<
|
|
126
|
-
rowB: Row<
|
|
124
|
+
rowA: Row<TFeatures, TData>,
|
|
125
|
+
rowB: Row<TFeatures, TData>,
|
|
127
126
|
columnId: string,
|
|
128
127
|
) => {
|
|
129
128
|
return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId))
|
package/src/types/Cell.ts
CHANGED
|
@@ -1,22 +1,8 @@
|
|
|
1
1
|
import type { Cell_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
|
|
2
2
|
import type { CellData, RowData } from './type-utils'
|
|
3
|
-
import type {
|
|
4
|
-
ExtractFeatureMapTypes,
|
|
5
|
-
ExtractFeatureTypes,
|
|
6
|
-
TableFeatures,
|
|
7
|
-
} from './TableFeatures'
|
|
3
|
+
import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
|
|
8
4
|
import type { Cell_Cell } from '../core/cells/coreCellsFeature.types'
|
|
9
5
|
|
|
10
|
-
/**
|
|
11
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
12
|
-
* Note: This will affect the types of all tables in your project.
|
|
13
|
-
*/
|
|
14
|
-
export interface Cell_Plugins<
|
|
15
|
-
TFeatures extends TableFeatures,
|
|
16
|
-
TData extends RowData,
|
|
17
|
-
TValue extends CellData = CellData,
|
|
18
|
-
> {}
|
|
19
|
-
|
|
20
6
|
export interface Cell_Core<
|
|
21
7
|
TFeatures extends TableFeatures,
|
|
22
8
|
TData extends RowData,
|
|
@@ -31,7 +17,5 @@ export type Cell<
|
|
|
31
17
|
TFeatures extends TableFeatures,
|
|
32
18
|
TData extends RowData,
|
|
33
19
|
TValue extends CellData = CellData,
|
|
34
|
-
> =
|
|
35
|
-
ExtractFeatureMapTypes<TFeatures, Cell_FeatureMap>
|
|
36
|
-
ExtractFeatureTypes<'Cell', TFeatures> &
|
|
37
|
-
Cell_Plugins<TFeatures, TData, TValue>
|
|
20
|
+
> = Cell_Core<TFeatures, TData, TValue> &
|
|
21
|
+
ExtractFeatureMapTypes<TFeatures, Cell_FeatureMap>
|
package/src/types/Column.ts
CHANGED
|
@@ -10,23 +10,9 @@ import type { Column_ColumnSizing } from '../features/column-sizing/columnSizing
|
|
|
10
10
|
import type { Column_ColumnVisibility } from '../features/column-visibility/columnVisibilityFeature.types'
|
|
11
11
|
import type { ColumnDefBase_All } from './ColumnDef'
|
|
12
12
|
import type { RowData } from './type-utils'
|
|
13
|
-
import type {
|
|
14
|
-
ExtractFeatureMapTypes,
|
|
15
|
-
ExtractFeatureTypes,
|
|
16
|
-
TableFeatures,
|
|
17
|
-
} from './TableFeatures'
|
|
13
|
+
import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
|
|
18
14
|
import type { Column_Column } from '../core/columns/coreColumnsFeature.types'
|
|
19
15
|
|
|
20
|
-
/**
|
|
21
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
22
|
-
* Note: This will affect the types of all tables in your project.
|
|
23
|
-
*/
|
|
24
|
-
export interface Column_Plugins<
|
|
25
|
-
TFeatures extends TableFeatures,
|
|
26
|
-
TData extends RowData,
|
|
27
|
-
TValue = unknown,
|
|
28
|
-
> {}
|
|
29
|
-
|
|
30
16
|
export interface Column_Core<
|
|
31
17
|
TFeatures extends TableFeatures,
|
|
32
18
|
TData extends RowData,
|
|
@@ -54,9 +40,7 @@ export type Column<
|
|
|
54
40
|
TData extends RowData,
|
|
55
41
|
TValue = unknown,
|
|
56
42
|
> = Column_Core<TFeatures, TData, TValue> &
|
|
57
|
-
ExtractFeatureMapTypes<TFeatures, Column_FeatureMap<TFeatures, TData>>
|
|
58
|
-
ExtractFeatureTypes<'Column', TFeatures> &
|
|
59
|
-
Column_Plugins<TFeatures, TData, TValue>
|
|
43
|
+
ExtractFeatureMapTypes<TFeatures, Column_FeatureMap<TFeatures, TData>>
|
|
60
44
|
|
|
61
45
|
export type Column_Internal<
|
|
62
46
|
TFeatures extends TableFeatures,
|
package/src/types/ColumnDef.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import type { CellData, RowData, UnionToIntersection } from './type-utils'
|
|
2
|
-
import type {
|
|
3
|
-
ExtractFeatureMapTypes,
|
|
4
|
-
ExtractFeatureTypes,
|
|
5
|
-
TableFeatures,
|
|
6
|
-
} from './TableFeatures'
|
|
2
|
+
import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
|
|
7
3
|
import type { CellContext } from '../core/cells/coreCellsFeature.types'
|
|
8
4
|
import type { HeaderContext } from '../core/headers/coreHeadersFeature.types'
|
|
9
5
|
import type { ColumnDef_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
|
|
@@ -15,16 +11,6 @@ import type { ColumnDef_ColumnVisibility } from '../features/column-visibility/c
|
|
|
15
11
|
import type { ColumnDef_GlobalFiltering } from '../features/global-filtering/globalFilteringFeature.types'
|
|
16
12
|
import type { ColumnDef_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
|
|
17
13
|
|
|
18
|
-
/**
|
|
19
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
20
|
-
* Note: This will affect the types of all tables in your project.
|
|
21
|
-
*/
|
|
22
|
-
export interface ColumnDef_Plugins<
|
|
23
|
-
TFeatures extends TableFeatures,
|
|
24
|
-
TData extends RowData,
|
|
25
|
-
TValue extends CellData = CellData,
|
|
26
|
-
> {}
|
|
27
|
-
|
|
28
14
|
export interface ColumnMeta<
|
|
29
15
|
TFeatures extends TableFeatures,
|
|
30
16
|
TData extends RowData,
|
|
@@ -137,9 +123,7 @@ export type ColumnDefBase<
|
|
|
137
123
|
ExtractFeatureMapTypes<
|
|
138
124
|
TFeatures,
|
|
139
125
|
ColumnDef_FeatureMap<TFeatures, TData, TValue>
|
|
140
|
-
>
|
|
141
|
-
ExtractFeatureTypes<'ColumnDef', TFeatures> &
|
|
142
|
-
ColumnDef_Plugins<TFeatures, TData, TValue>
|
|
126
|
+
>
|
|
143
127
|
|
|
144
128
|
export type ColumnDefBase_All<
|
|
145
129
|
TFeatures extends TableFeatures,
|
package/src/types/Header.ts
CHANGED
|
@@ -1,23 +1,9 @@
|
|
|
1
1
|
import type { Header_ColumnSizing } from '../features/column-sizing/columnSizingFeature.types'
|
|
2
2
|
import type { CellData, RowData } from './type-utils'
|
|
3
|
-
import type {
|
|
4
|
-
ExtractFeatureMapTypes,
|
|
5
|
-
ExtractFeatureTypes,
|
|
6
|
-
TableFeatures,
|
|
7
|
-
} from './TableFeatures'
|
|
3
|
+
import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
|
|
8
4
|
import type { Header_Header } from '../core/headers/coreHeadersFeature.types'
|
|
9
5
|
import type { Header_ColumnResizing } from '../features/column-resizing/columnResizingFeature.types'
|
|
10
6
|
|
|
11
|
-
/**
|
|
12
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
13
|
-
* Note: This will affect the types of all tables in your project.
|
|
14
|
-
*/
|
|
15
|
-
export interface Header_Plugins<
|
|
16
|
-
TFeatures extends TableFeatures,
|
|
17
|
-
TData extends RowData,
|
|
18
|
-
TValue extends CellData = CellData,
|
|
19
|
-
> {}
|
|
20
|
-
|
|
21
7
|
export interface Header_Core<
|
|
22
8
|
TFeatures extends TableFeatures,
|
|
23
9
|
TData extends RowData,
|
|
@@ -34,6 +20,4 @@ export type Header<
|
|
|
34
20
|
TData extends RowData,
|
|
35
21
|
TValue extends CellData = CellData,
|
|
36
22
|
> = Header_Core<TFeatures, TData, TValue> &
|
|
37
|
-
ExtractFeatureMapTypes<TFeatures, Header_FeatureMap>
|
|
38
|
-
ExtractFeatureTypes<'Header', TFeatures> &
|
|
39
|
-
Header_Plugins<TFeatures, TData, TValue>
|
|
23
|
+
ExtractFeatureMapTypes<TFeatures, Header_FeatureMap>
|
package/src/types/HeaderGroup.ts
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
1
|
import type { HeaderGroup_Header } from '../core/headers/coreHeadersFeature.types'
|
|
2
|
-
import type {
|
|
2
|
+
import type { TableFeatures } from './TableFeatures'
|
|
3
3
|
import type { RowData } from './type-utils'
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
7
|
-
* Note: This will affect the types of all tables in your project.
|
|
8
|
-
*/
|
|
9
|
-
export interface HeaderGroup_Plugins<
|
|
10
|
-
TFeatures extends TableFeatures,
|
|
11
|
-
TData extends RowData,
|
|
12
|
-
> {}
|
|
13
|
-
|
|
14
5
|
export interface HeaderGroup_Core<
|
|
15
6
|
TFeatures extends TableFeatures,
|
|
16
7
|
TData extends RowData,
|
|
@@ -19,6 +10,4 @@ export interface HeaderGroup_Core<
|
|
|
19
10
|
export type HeaderGroup<
|
|
20
11
|
TFeatures extends TableFeatures,
|
|
21
12
|
TData extends RowData,
|
|
22
|
-
> = HeaderGroup_Core<TFeatures, TData>
|
|
23
|
-
ExtractFeatureTypes<'HeaderGroup', TFeatures> &
|
|
24
|
-
HeaderGroup_Plugins<TFeatures, TData>
|
|
13
|
+
> = HeaderGroup_Core<TFeatures, TData>
|
package/src/types/Row.ts
CHANGED
|
@@ -6,22 +6,9 @@ import type { RowData } from './type-utils'
|
|
|
6
6
|
import type { Row_RowExpanding } from '../features/row-expanding/rowExpandingFeature.types'
|
|
7
7
|
import type { Row_RowPinning } from '../features/row-pinning/rowPinningFeature.types'
|
|
8
8
|
import type { Row_RowSelection } from '../features/row-selection/rowSelectionFeature.types'
|
|
9
|
-
import type {
|
|
10
|
-
ExtractFeatureMapTypes,
|
|
11
|
-
ExtractFeatureTypes,
|
|
12
|
-
TableFeatures,
|
|
13
|
-
} from './TableFeatures'
|
|
9
|
+
import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
|
|
14
10
|
import type { Row_Row } from '../core/rows/coreRowsFeature.types'
|
|
15
11
|
|
|
16
|
-
/**
|
|
17
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
18
|
-
* Note: This will affect the types of all tables in your project.
|
|
19
|
-
*/
|
|
20
|
-
export interface Row_Plugins<
|
|
21
|
-
TFeatures extends TableFeatures,
|
|
22
|
-
TData extends RowData,
|
|
23
|
-
> {}
|
|
24
|
-
|
|
25
12
|
export interface Row_Core<
|
|
26
13
|
TFeatures extends TableFeatures,
|
|
27
14
|
TData extends RowData,
|
|
@@ -44,6 +31,4 @@ export type Row<
|
|
|
44
31
|
TFeatures extends TableFeatures,
|
|
45
32
|
TData extends RowData,
|
|
46
33
|
> = Row_Core<TFeatures, TData> &
|
|
47
|
-
ExtractFeatureMapTypes<TFeatures, Row_FeatureMap<TFeatures, TData>>
|
|
48
|
-
ExtractFeatureTypes<'Row', TFeatures> &
|
|
49
|
-
Row_Plugins<TFeatures, TData>
|
|
34
|
+
ExtractFeatureMapTypes<TFeatures, Row_FeatureMap<TFeatures, TData>>
|
package/src/types/RowModel.ts
CHANGED
|
@@ -28,20 +28,7 @@ import type {
|
|
|
28
28
|
CreateRowModel_Sorted,
|
|
29
29
|
} from '../features/row-sorting/rowSortingFeature.types'
|
|
30
30
|
import type { RowData } from './type-utils'
|
|
31
|
-
import type {
|
|
32
|
-
ExtractFeatureMapTypes,
|
|
33
|
-
ExtractFeatureTypes,
|
|
34
|
-
TableFeatures,
|
|
35
|
-
} from './TableFeatures'
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
39
|
-
* Note: This will affect the types of all tables in your project.
|
|
40
|
-
*/
|
|
41
|
-
export interface CreateRowModels_Plugins<
|
|
42
|
-
TFeatures extends TableFeatures,
|
|
43
|
-
TData extends RowData,
|
|
44
|
-
> {}
|
|
31
|
+
import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
|
|
45
32
|
|
|
46
33
|
export interface CreateRowModels_FeatureMap<
|
|
47
34
|
TFeatures extends TableFeatures,
|
|
@@ -62,9 +49,7 @@ export type CreateRowModels<
|
|
|
62
49
|
ExtractFeatureMapTypes<
|
|
63
50
|
TFeatures,
|
|
64
51
|
CreateRowModels_FeatureMap<TFeatures, TData>
|
|
65
|
-
>
|
|
66
|
-
ExtractFeatureTypes<'CreateRowModels', TFeatures> &
|
|
67
|
-
CreateRowModels_Plugins<TFeatures, TData>
|
|
52
|
+
>
|
|
68
53
|
|
|
69
54
|
export type CreateRowModels_All<
|
|
70
55
|
TFeatures extends TableFeatures,
|
|
@@ -77,11 +62,6 @@ export type CreateRowModels_All<
|
|
|
77
62
|
CreateRowModel_Paginated<TFeatures, TData> &
|
|
78
63
|
CreateRowModel_Sorted<TFeatures, TData>
|
|
79
64
|
|
|
80
|
-
export interface CachedRowModels_Plugins<
|
|
81
|
-
TFeatures extends TableFeatures,
|
|
82
|
-
TData extends RowData,
|
|
83
|
-
> {}
|
|
84
|
-
|
|
85
65
|
export interface CachedRowModels_FeatureMap<
|
|
86
66
|
TFeatures extends TableFeatures,
|
|
87
67
|
TData extends RowData,
|
|
@@ -102,9 +82,7 @@ export type CachedRowModels<
|
|
|
102
82
|
} & ExtractFeatureMapTypes<
|
|
103
83
|
TFeatures,
|
|
104
84
|
CachedRowModels_FeatureMap<TFeatures, TData>
|
|
105
|
-
>
|
|
106
|
-
ExtractFeatureTypes<'CachedRowModel', TFeatures> &
|
|
107
|
-
CachedRowModels_Plugins<TFeatures, TData>
|
|
85
|
+
>
|
|
108
86
|
|
|
109
87
|
export type CachedRowModel_All<
|
|
110
88
|
TFeatures extends TableFeatures,
|
package/src/types/RowModelFns.ts
CHANGED
|
@@ -2,20 +2,7 @@ import type { RowModelFns_RowSorting } from '../features/row-sorting/rowSortingF
|
|
|
2
2
|
import type { RowModelFns_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
|
|
3
3
|
import type { RowData } from './type-utils'
|
|
4
4
|
import type { RowModelFns_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
|
|
5
|
-
import type {
|
|
6
|
-
ExtractFeatureMapTypes,
|
|
7
|
-
ExtractFeatureTypes,
|
|
8
|
-
TableFeatures,
|
|
9
|
-
} from './TableFeatures'
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
13
|
-
* Note: This will affect the types of all tables in your project.
|
|
14
|
-
*/
|
|
15
|
-
export interface RowModelFns_Plugins<
|
|
16
|
-
TFeatures extends TableFeatures,
|
|
17
|
-
TData extends RowData,
|
|
18
|
-
> {}
|
|
5
|
+
import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
|
|
19
6
|
|
|
20
7
|
export interface RowModelFns_Core {}
|
|
21
8
|
|
|
@@ -32,9 +19,7 @@ export type RowModelFns<
|
|
|
32
19
|
TFeatures extends TableFeatures,
|
|
33
20
|
TData extends RowData,
|
|
34
21
|
> = Partial<
|
|
35
|
-
ExtractFeatureMapTypes<TFeatures, RowModelFns_FeatureMap<TFeatures, TData>>
|
|
36
|
-
ExtractFeatureTypes<'RowModelFns', TFeatures> &
|
|
37
|
-
RowModelFns_Plugins<TFeatures, TData>
|
|
22
|
+
ExtractFeatureMapTypes<TFeatures, RowModelFns_FeatureMap<TFeatures, TData>>
|
|
38
23
|
>
|
|
39
24
|
|
|
40
25
|
export type RowModelFns_All<
|
package/src/types/Table.ts
CHANGED
|
@@ -18,11 +18,7 @@ import type { CachedRowModel_All, CreateRowModels_All } from './RowModel'
|
|
|
18
18
|
import type { RowModelFns_All } from './RowModelFns'
|
|
19
19
|
import type { TableState_All } from './TableState'
|
|
20
20
|
import type { RowData } from './type-utils'
|
|
21
|
-
import type {
|
|
22
|
-
ExtractFeatureMapTypes,
|
|
23
|
-
ExtractFeatureTypes,
|
|
24
|
-
TableFeatures,
|
|
25
|
-
} from './TableFeatures'
|
|
21
|
+
import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
|
|
26
22
|
import type { Table_Columns } from '../core/columns/coreColumnsFeature.types'
|
|
27
23
|
import type { Table_Headers } from '../core/headers/coreHeadersFeature.types'
|
|
28
24
|
import type { Table_Rows } from '../core/rows/coreRowsFeature.types'
|
|
@@ -34,15 +30,6 @@ import type {
|
|
|
34
30
|
} from '../core/table/coreTablesFeature.types'
|
|
35
31
|
import type { TableOptions_All } from './TableOptions'
|
|
36
32
|
|
|
37
|
-
/**
|
|
38
|
-
* Use this interface as a target for declaration merging to add your own plugin properties.
|
|
39
|
-
* Note: This will affect the types of all tables in your project.
|
|
40
|
-
*/
|
|
41
|
-
export interface Table_Plugins<
|
|
42
|
-
TFeatures extends TableFeatures,
|
|
43
|
-
TData extends RowData,
|
|
44
|
-
> {}
|
|
45
|
-
|
|
46
33
|
/**
|
|
47
34
|
* The core table object that only includes the core table functionality such as column, header, row, and table APIS.
|
|
48
35
|
* No features are included.
|
|
@@ -83,9 +70,7 @@ export type Table<
|
|
|
83
70
|
TFeatures extends TableFeatures,
|
|
84
71
|
TData extends RowData,
|
|
85
72
|
> = Table_Core<TFeatures, TData> &
|
|
86
|
-
ExtractFeatureMapTypes<TFeatures, Table_FeatureMap<TFeatures, TData>>
|
|
87
|
-
ExtractFeatureTypes<'Table', TFeatures> &
|
|
88
|
-
Table_Plugins<TFeatures, TData>
|
|
73
|
+
ExtractFeatureMapTypes<TFeatures, Table_FeatureMap<TFeatures, TData>>
|
|
89
74
|
|
|
90
75
|
export type Table_Internal<
|
|
91
76
|
TFeatures extends TableFeatures,
|
|
@@ -7,22 +7,10 @@ import type { TableOptions_All } from './TableOptions'
|
|
|
7
7
|
import type { TableState_All } from './TableState'
|
|
8
8
|
import type { StockFeatures } from '../features/stockFeatures'
|
|
9
9
|
|
|
10
|
-
export type ExtractFeatureTypes<
|
|
11
|
-
TKey extends keyof FeatureConstructors,
|
|
12
|
-
TFeatures extends TableFeatures,
|
|
13
|
-
> = UnionToIntersection<
|
|
14
|
-
{
|
|
15
|
-
[K in keyof TFeatures]: K extends 'coreReativityFeature'
|
|
16
|
-
? never
|
|
17
|
-
: TFeatures[K] extends TableFeature<infer FeatureConstructorOptions>
|
|
18
|
-
? TKey extends keyof FeatureConstructorOptions
|
|
19
|
-
? FeatureConstructorOptions[TKey]
|
|
20
|
-
: never
|
|
21
|
-
: any
|
|
22
|
-
}[keyof TFeatures]
|
|
23
|
-
>
|
|
24
|
-
|
|
25
10
|
type IsAny<T> = 0 extends 1 & T ? true : false
|
|
11
|
+
type UnionToIntersectionOrEmpty<T> = [T] extends [never]
|
|
12
|
+
? {}
|
|
13
|
+
: UnionToIntersection<T> & {}
|
|
26
14
|
|
|
27
15
|
export type ExtractFeatureMapTypes<
|
|
28
16
|
TFeatures extends TableFeatures,
|
|
@@ -30,133 +18,84 @@ export type ExtractFeatureMapTypes<
|
|
|
30
18
|
> =
|
|
31
19
|
IsAny<TFeatures> extends true
|
|
32
20
|
? UnionToIntersection<TFeatureMap[keyof TFeatureMap]>
|
|
33
|
-
:
|
|
21
|
+
: UnionToIntersectionOrEmpty<
|
|
34
22
|
TFeatureMap[Extract<keyof TFeatures, keyof TFeatureMap>]
|
|
35
23
|
>
|
|
36
24
|
|
|
37
|
-
export interface FeatureConstructors {
|
|
38
|
-
CachedRowModel?: any
|
|
39
|
-
Cell?: any
|
|
40
|
-
Column?: any
|
|
41
|
-
ColumnDef?: any
|
|
42
|
-
CreateRowModels?: any
|
|
43
|
-
Header?: any
|
|
44
|
-
HeaderGroup?: any
|
|
45
|
-
Row?: any
|
|
46
|
-
RowModelFns?: any
|
|
47
|
-
Table?: any
|
|
48
|
-
TableOptions?: any
|
|
49
|
-
TableState?: any
|
|
50
|
-
}
|
|
51
|
-
|
|
52
25
|
export interface Plugins {}
|
|
53
26
|
|
|
54
27
|
export interface TableFeatures
|
|
55
28
|
extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {}
|
|
56
29
|
|
|
57
|
-
export
|
|
58
|
-
TFeatures extends TableFeatures,
|
|
59
|
-
TData extends RowData,
|
|
60
|
-
>(
|
|
61
|
-
table: Table_Internal<TFeatures, TData> &
|
|
62
|
-
Partial<TConstructors['Table']> & {
|
|
63
|
-
options: Partial<TConstructors['TableOptions']>
|
|
64
|
-
},
|
|
65
|
-
) => void
|
|
66
|
-
|
|
67
|
-
export type GetDefaultColumnDef<TConstructors extends FeatureConstructors> = <
|
|
68
|
-
TFeatures extends TableFeatures,
|
|
69
|
-
TData extends RowData,
|
|
70
|
-
TValue extends CellData = CellData,
|
|
71
|
-
>() => ColumnDefBase_All<TFeatures, TData, TValue> &
|
|
72
|
-
Partial<TConstructors['ColumnDef']>
|
|
73
|
-
|
|
74
|
-
export type GetDefaultTableOptions<TConstructors extends FeatureConstructors> =
|
|
75
|
-
<TFeatures extends TableFeatures, TData extends RowData>(
|
|
76
|
-
table: Table_Internal<TFeatures, TData> & Partial<TConstructors['Table']>,
|
|
77
|
-
) => Partial<TableOptions_All<TFeatures, TData>> &
|
|
78
|
-
Partial<TConstructors['TableOptions']>
|
|
79
|
-
|
|
80
|
-
export type GetInitialState<TConstructors extends FeatureConstructors> = (
|
|
81
|
-
initialState: Partial<TableState_All> & Partial<TConstructors['TableState']>,
|
|
82
|
-
) => TableState_All & Partial<TConstructors['TableState']>
|
|
83
|
-
|
|
84
|
-
export type GetDefaultStateSelector<TConstructors extends FeatureConstructors> =
|
|
85
|
-
(
|
|
86
|
-
state: TableState_All,
|
|
87
|
-
) => Partial<TableState_All> & Partial<TConstructors['TableState']>
|
|
88
|
-
|
|
89
|
-
export type AssignCellPrototype<TConstructors extends FeatureConstructors> = <
|
|
90
|
-
TFeatures extends TableFeatures,
|
|
91
|
-
TData extends RowData,
|
|
92
|
-
>(
|
|
93
|
-
prototype: Record<string, any>,
|
|
94
|
-
table: Table_Internal<TFeatures, TData>,
|
|
95
|
-
) => void
|
|
96
|
-
|
|
97
|
-
export type AssignColumnPrototype<TConstructors extends FeatureConstructors> = <
|
|
98
|
-
TFeatures extends TableFeatures,
|
|
99
|
-
TData extends RowData,
|
|
100
|
-
>(
|
|
101
|
-
prototype: Record<string, any>,
|
|
102
|
-
table: Table_Internal<TFeatures, TData>,
|
|
103
|
-
) => void
|
|
104
|
-
|
|
105
|
-
export type AssignHeaderPrototype<TConstructors extends FeatureConstructors> = <
|
|
106
|
-
TFeatures extends TableFeatures,
|
|
107
|
-
TData extends RowData,
|
|
108
|
-
>(
|
|
109
|
-
prototype: Record<string, any>,
|
|
110
|
-
table: Table_Internal<TFeatures, TData>,
|
|
111
|
-
) => void
|
|
112
|
-
|
|
113
|
-
export type AssignRowPrototype<TConstructors extends FeatureConstructors> = <
|
|
114
|
-
TFeatures extends TableFeatures,
|
|
115
|
-
TData extends RowData,
|
|
116
|
-
>(
|
|
117
|
-
prototype: Record<string, any>,
|
|
118
|
-
table: Table_Internal<TFeatures, TData>,
|
|
119
|
-
) => void
|
|
120
|
-
|
|
121
|
-
export type InitRowInstanceData<TConstructors extends FeatureConstructors> = <
|
|
122
|
-
TFeatures extends TableFeatures,
|
|
123
|
-
TData extends RowData,
|
|
124
|
-
>(
|
|
125
|
-
row: Row<TFeatures, TData> & Partial<TConstructors['Row']>,
|
|
126
|
-
) => void
|
|
127
|
-
|
|
128
|
-
export interface TableFeature<TConstructors extends FeatureConstructors> {
|
|
30
|
+
export interface TableFeature {
|
|
129
31
|
/**
|
|
130
32
|
* Assigns Cell APIs to the cell prototype for memory-efficient method sharing.
|
|
131
33
|
* This is called once per table to build a shared prototype for all cells.
|
|
132
34
|
*/
|
|
133
|
-
assignCellPrototype?:
|
|
35
|
+
assignCellPrototype?: <
|
|
36
|
+
TFeatures extends TableFeatures,
|
|
37
|
+
TData extends RowData,
|
|
38
|
+
>(
|
|
39
|
+
prototype: Record<string, any>,
|
|
40
|
+
table: Table_Internal<TFeatures, TData>,
|
|
41
|
+
) => void
|
|
134
42
|
/**
|
|
135
43
|
* Assigns Column APIs to the column prototype for memory-efficient method sharing.
|
|
136
44
|
* This is called once per table to build a shared prototype for all columns.
|
|
137
45
|
*/
|
|
138
|
-
assignColumnPrototype?:
|
|
46
|
+
assignColumnPrototype?: <
|
|
47
|
+
TFeatures extends TableFeatures,
|
|
48
|
+
TData extends RowData,
|
|
49
|
+
>(
|
|
50
|
+
prototype: Record<string, any>,
|
|
51
|
+
table: Table_Internal<TFeatures, TData>,
|
|
52
|
+
) => void
|
|
139
53
|
/**
|
|
140
54
|
* Assigns Header APIs to the header prototype for memory-efficient method sharing.
|
|
141
55
|
* This is called once per table to build a shared prototype for all headers.
|
|
142
56
|
*/
|
|
143
|
-
assignHeaderPrototype?:
|
|
57
|
+
assignHeaderPrototype?: <
|
|
58
|
+
TFeatures extends TableFeatures,
|
|
59
|
+
TData extends RowData,
|
|
60
|
+
>(
|
|
61
|
+
prototype: Record<string, any>,
|
|
62
|
+
table: Table_Internal<TFeatures, TData>,
|
|
63
|
+
) => void
|
|
144
64
|
/**
|
|
145
65
|
* Assigns Row APIs to the row prototype for memory-efficient method sharing.
|
|
146
66
|
* This is called once per table to build a shared prototype for all rows.
|
|
147
67
|
*/
|
|
148
|
-
assignRowPrototype?:
|
|
68
|
+
assignRowPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(
|
|
69
|
+
prototype: Record<string, any>,
|
|
70
|
+
table: Table_Internal<TFeatures, TData>,
|
|
71
|
+
) => void
|
|
149
72
|
/**
|
|
150
73
|
* Assigns Table APIs to the table instance.
|
|
151
74
|
* Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
|
|
152
75
|
*/
|
|
153
|
-
constructTableAPIs?:
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
76
|
+
constructTableAPIs?: <TFeatures extends TableFeatures, TData extends RowData>(
|
|
77
|
+
table: Table_Internal<TFeatures, TData>,
|
|
78
|
+
) => void
|
|
79
|
+
getDefaultColumnDef?: <
|
|
80
|
+
TFeatures extends TableFeatures,
|
|
81
|
+
TData extends RowData,
|
|
82
|
+
TValue extends CellData = CellData,
|
|
83
|
+
>() => ColumnDefBase_All<TFeatures, TData, TValue>
|
|
84
|
+
getDefaultTableOptions?: <
|
|
85
|
+
TFeatures extends TableFeatures,
|
|
86
|
+
TData extends RowData,
|
|
87
|
+
>(
|
|
88
|
+
table: Table_Internal<TFeatures, TData>,
|
|
89
|
+
) => Partial<TableOptions_All<TFeatures, TData>>
|
|
90
|
+
getInitialState?: (initialState: Partial<TableState_All>) => TableState_All
|
|
157
91
|
/**
|
|
158
92
|
* Initializes instance-specific data on each row (e.g., caches).
|
|
159
93
|
* Methods should be assigned via assignRowPrototype instead.
|
|
160
94
|
*/
|
|
161
|
-
initRowInstanceData?:
|
|
95
|
+
initRowInstanceData?: <
|
|
96
|
+
TFeatures extends TableFeatures,
|
|
97
|
+
TData extends RowData,
|
|
98
|
+
>(
|
|
99
|
+
row: Row<TFeatures, TData>,
|
|
100
|
+
) => void
|
|
162
101
|
}
|
|
@@ -17,16 +17,7 @@ import type { TableOptions_RowPinning } from '../features/row-pinning/rowPinning
|
|
|
17
17
|
import type { TableOptions_RowSelection } from '../features/row-selection/rowSelectionFeature.types'
|
|
18
18
|
import type { TableOptions_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
|
|
19
19
|
import type { RowData, UnionToIntersection } from './type-utils'
|
|
20
|
-
import type {
|
|
21
|
-
ExtractFeatureMapTypes,
|
|
22
|
-
ExtractFeatureTypes,
|
|
23
|
-
TableFeatures,
|
|
24
|
-
} from './TableFeatures'
|
|
25
|
-
|
|
26
|
-
export interface TableOptions_Plugins<
|
|
27
|
-
TFeatures extends TableFeatures,
|
|
28
|
-
TData extends RowData,
|
|
29
|
-
> {}
|
|
20
|
+
import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
|
|
30
21
|
|
|
31
22
|
/**
|
|
32
23
|
* Core options that are always available on a table, before optional feature
|
|
@@ -97,8 +88,6 @@ export type TableOptions<
|
|
|
97
88
|
TData extends RowData,
|
|
98
89
|
> = TableOptions_Core<TFeatures, TData> &
|
|
99
90
|
ExtractFeatureMapTypes<TFeatures, TableOptions_FeatureMap<TFeatures, TData>> &
|
|
100
|
-
ExtractFeatureTypes<'TableOptions', TFeatures> &
|
|
101
|
-
TableOptions_Plugins<TFeatures, TData> &
|
|
102
91
|
DebugOptions<TFeatures>
|
|
103
92
|
|
|
104
93
|
/**
|