Skip to content

Commit 199fffc

Browse files
committed
trying out internal types
1 parent c3de177 commit 199fffc

File tree

17 files changed

+175
-68
lines changed

17 files changed

+175
-68
lines changed

packages/table-core/src/features/column-filtering/ColumnFiltering.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export interface TableState_ColumnFiltering_Unavailable {
2222
/**
2323
* @deprecated Import the `ColumnFiltering` feature to use the column filtering APIs.
2424
*/
25-
columnFilters: ColumnFiltersState
25+
columnFilters?: ColumnFiltersState
2626
}
2727

2828
export type ColumnFiltersState = Array<ColumnFilter>

packages/table-core/src/features/column-grouping/ColumnGrouping.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export interface TableState_ColumnGrouping_Unavailable {
2121
/**
2222
* @deprecated Import the `ColumnGrouping` feature to use the column grouping APIs.
2323
*/
24-
grouping: GroupingState
24+
grouping?: GroupingState
2525
}
2626

2727
export interface AggregationFns {}

packages/table-core/src/features/column-ordering/ColumnOrdering.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export interface TableState_ColumnOrdering_Unavailable {
1212
/**
1313
* @deprecated Import the `ColumnOrdering` feature to use the column ordering APIs.
1414
*/
15-
columnOrder: ColumnOrderState
15+
columnOrder?: ColumnOrderState
1616
}
1717

1818
export interface TableOptions_ColumnOrdering {

packages/table-core/src/features/column-pinning/ColumnPinning.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export interface TableState_ColumnPinning_Unavailable {
2020
/**
2121
* @deprecated Import the `ColumnPinning` feature to use the column pinning APIs.
2222
*/
23-
columnPinning: ColumnPinningState
23+
columnPinning?: ColumnPinningState
2424
}
2525

2626
export interface TableOptions_ColumnPinning {

packages/table-core/src/features/column-resizing/ColumnResizing.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export interface TableState_ColumnResizing_Unavailable {
88
/**
99
* @deprecated Import the `ColumnResizing` feature to use the column resizing APIs.
1010
*/
11-
columnResizing: columnResizingState
11+
columnResizing?: columnResizingState
1212
}
1313

1414
export interface columnResizingState {

packages/table-core/src/features/column-sizing/ColumnSizing.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export interface TableState_ColumnSizing_Unavailable {
99
/**
1010
* @deprecated Import the `ColumnSizing` feature to use the column sizing APIs.
1111
*/
12-
columnSizing: ColumnSizingState
12+
columnSizing?: ColumnSizingState
1313
}
1414

1515
export type ColumnSizingState = Record<string, number>

packages/table-core/src/features/column-visibility/ColumnVisibility.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export interface TableState_ColumnVisibility_Unavailable {
1313
/**
1414
* @deprecated Import the `ColumnVisibility` feature to use the column visibility APIs.
1515
*/
16-
columnVisibility: ColumnVisibilityState
16+
columnVisibility?: ColumnVisibilityState
1717
}
1818

1919
export interface TableOptions_ColumnVisibility {

packages/table-core/src/features/global-filtering/GlobalFiltering.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export interface TableState_GlobalFiltering_Unavailable {
1919
/**
2020
* @deprecated Import the `GlobalFiltering` feature to use the global filtering APIs.
2121
*/
22-
globalFilter: any
22+
globalFilter?: any
2323
}
2424

2525
export interface ColumnDef_GlobalFiltering {

packages/table-core/src/features/global-filtering/GlobalFiltering.utils.ts

Lines changed: 8 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
import { filterFns } from '../../fns/filterFns'
22
import { isFunction } from '../../utils'
33
import { table_getInitialState } from '../../core/table/Tables.utils'
4+
import type { ColumnDefBase_All } from '../../types/ColumnDef'
5+
import type { TableOptions_GlobalFiltering } from './GlobalFiltering.types'
46
import type {
5-
ColumnDef_GlobalFiltering,
6-
TableOptions_GlobalFiltering,
7-
} from './GlobalFiltering.types'
8-
import type {
9-
ColumnDef_ColumnFiltering,
107
FilterFn,
118
TableOptions_ColumnFiltering,
129
} from '../column-filtering/ColumnFiltering.types'
1310
import type { CellData, RowData } from '../../types/type-utils'
1411
import type { TableFeatures } from '../../types/TableFeatures'
15-
import type { Table } from '../../types/Table'
12+
import type { Table, Table_Internal } from '../../types/Table'
1613
import type { Column } from '../../types/Column'
1714
import type { BuiltInFilterFn } from '../../fns/filterFns'
1815

@@ -28,16 +25,9 @@ export function column_getCanGlobalFilter<
2825
TValue extends CellData = CellData,
2926
>(
3027
column: Column<TFeatures, TData, TValue> & {
31-
columnDef: Partial<
32-
ColumnDef_GlobalFiltering & ColumnDef_ColumnFiltering<TFeatures, TData>
33-
>
34-
},
35-
table: Table<TFeatures, TData> & {
36-
options: Partial<
37-
TableOptions_GlobalFiltering<TFeatures, TData> &
38-
TableOptions_ColumnFiltering<TFeatures, TData>
39-
>
28+
columnDef: ColumnDefBase_All<TFeatures, TData, TValue>
4029
},
30+
table: Table_Internal<TFeatures, TData>,
4131
): boolean {
4232
return (
4333
(column.columnDef.enableGlobalFilter ?? true) &&
@@ -61,12 +51,7 @@ export function table_getGlobalFilterFn<
6151
TFeatures extends TableFeatures,
6252
TData extends RowData,
6353
>(
64-
table: Table<TFeatures, TData> & {
65-
options: Partial<
66-
TableOptions_GlobalFiltering<TFeatures, TData> &
67-
TableOptions_ColumnFiltering<TFeatures, TData>
68-
>
69-
},
54+
table: Table_Internal<TFeatures, TData>
7055
): FilterFn<TFeatures, TData> | FilterFn<TFeatures, TData> | undefined {
7156
const { globalFilterFn: globalFilterFn } = table.options
7257

@@ -87,9 +72,7 @@ export function table_setGlobalFilter<
8772
TFeatures extends TableFeatures,
8873
TData extends RowData,
8974
>(
90-
table: Table<TFeatures, TData> & {
91-
options: Partial<TableOptions_GlobalFiltering<TFeatures, TData>>
92-
},
75+
table: Table_Internal<TFeatures, TData>,
9376
updater: any,
9477
) {
9578
table.options.onGlobalFilterChange?.(updater)
@@ -104,12 +87,7 @@ export function table_resetGlobalFilter<
10487
TFeatures extends TableFeatures,
10588
TData extends RowData,
10689
>(
107-
table: Table<TFeatures, TData> & {
108-
options: Partial<
109-
TableOptions_GlobalFiltering<TFeatures, TData> &
110-
TableOptions_ColumnFiltering<TFeatures, TData>
111-
>
112-
},
90+
table: Table_Internal<TFeatures, TData>,
11391
defaultState?: boolean,
11492
) {
11593
table_setGlobalFilter(

packages/table-core/src/features/row-expanding/RowExpanding.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export interface TableState_RowExpanding_Unavailable {
1414
/**
1515
* @deprecated Import the `RowExpanding` feature to use the row expansion APIs.
1616
*/
17-
expanded: ExpandedState
17+
expanded?: ExpandedState
1818
}
1919

2020
export interface Row_RowExpanding {

packages/table-core/src/features/row-pagination/RowPagination.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export interface TableState_RowPagination_Unavailable {
1414
/**
1515
* @deprecated Import the `RowPagination` feature to use the row pagination APIs.
1616
*/
17-
pagination: PaginationState
17+
pagination?: PaginationState
1818
}
1919

2020
export interface TableOptions_RowPagination {

packages/table-core/src/features/row-pinning/RowPinning.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export interface TableState_RowPinning_Unavailable {
1717
/**
1818
* @deprecated Import the `RowPinning` feature to use the row pinning APIs.
1919
*/
20-
rowPinning: RowPinningState
20+
rowPinning?: RowPinningState
2121
}
2222

2323
export interface TableOptions_RowPinning<

packages/table-core/src/features/row-selection/RowSelection.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export interface TableState_RowSelection_Unavailable {
1313
/**
1414
* @deprecated Import the `RowSelection` feature to use the row selection APIs.
1515
*/
16-
rowSelection: RowSelectionState
16+
rowSelection?: RowSelectionState
1717
}
1818

1919
export interface TableOptions_RowSelection<

packages/table-core/src/features/row-sorting/RowSorting.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export interface TableState_RowSorting_Unavailable {
2121
/**
2222
* @deprecated Import the `RowSorting` feature to use the row sorting APIs.
2323
*/
24-
sorting: SortingState
24+
sorting?: SortingState
2525
}
2626

2727
export interface SortingFns {}

packages/table-core/src/types/ColumnDef.ts

Lines changed: 56 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,35 @@ import type { CellData, RowData, UnionToIntersection } from './type-utils'
22
import type { TableFeatures } from './TableFeatures'
33
import type { CellContext } from '../core/cells/Cells.types'
44
import type { HeaderContext } from '../core/headers/Headers.types'
5-
import type { ColumnDef_ColumnFiltering } from '../features/column-filtering/ColumnFiltering.types'
6-
import type { ColumnDef_ColumnGrouping } from '../features/column-grouping/ColumnGrouping.types'
7-
import type { ColumnDef_ColumnPinning } from '../features/column-pinning/ColumnPinning.types'
8-
import type { ColumnDef_ColumnResizing } from '../features/column-resizing/ColumnResizing.types'
5+
import type {
6+
ColumnDef_ColumnFiltering,
7+
ColumnDef_ColumnFiltering_Unavailable,
8+
} from '../features/column-filtering/ColumnFiltering.types'
9+
import type {
10+
ColumnDef_ColumnGrouping,
11+
ColumnDef_ColumnGrouping_Unavailable,
12+
} from '../features/column-grouping/ColumnGrouping.types'
13+
import type {
14+
ColumnDef_ColumnPinning,
15+
ColumnDef_ColumnPinning_Unavailable,
16+
} from '../features/column-pinning/ColumnPinning.types'
17+
import type {
18+
ColumnDef_ColumnResizing,
19+
ColumnDef_ColumnResizing_Unavailable,
20+
} from '../features/column-resizing/ColumnResizing.types'
921
import type { ColumnDef_ColumnSizing } from '../features/column-sizing/ColumnSizing.types'
10-
import type { ColumnDef_ColumnVisibility } from '../features/column-visibility/ColumnVisibility.types'
11-
import type { ColumnDef_GlobalFiltering } from '../features/global-filtering/GlobalFiltering.types'
12-
import type { ColumnDef_RowSorting } from '../features/row-sorting/RowSorting.types'
22+
import type {
23+
ColumnDef_ColumnVisibility,
24+
ColumnDef_ColumnVisibility_Unavailable,
25+
} from '../features/column-visibility/ColumnVisibility.types'
26+
import type {
27+
ColumnDef_GlobalFiltering,
28+
ColumnDef_GlobalFiltering_Unavailable,
29+
} from '../features/global-filtering/GlobalFiltering.types'
30+
import type {
31+
ColumnDef_RowSorting,
32+
ColumnDef_RowSorting_Unavailable,
33+
} from '../features/row-sorting/RowSorting.types'
1334

1435
export interface ColumnMeta<
1536
TFeatures extends TableFeatures,
@@ -92,6 +113,34 @@ export type ColumnDefBase<
92113
: never)
93114
>
94115

116+
// export type ColumnDefBase<
117+
// TFeatures extends TableFeatures,
118+
// TData extends RowData,
119+
// TValue extends CellData = CellData,
120+
// > = ColumnDefBase_Core<TFeatures, TData, TValue> &
121+
// ('ColumnVisibility' extends keyof TFeatures
122+
// ? ColumnDef_ColumnVisibility
123+
// : ColumnDef_ColumnVisibility_Unavailable) &
124+
// ('ColumnPinning' extends keyof TFeatures
125+
// ? ColumnDef_ColumnPinning
126+
// : ColumnDef_ColumnPinning_Unavailable) &
127+
// ('ColumnFiltering' extends keyof TFeatures
128+
// ? ColumnDef_ColumnFiltering<TFeatures, TData>
129+
// : ColumnDef_ColumnFiltering_Unavailable<TFeatures, TData>) &
130+
// ('GlobalFiltering' extends keyof TFeatures
131+
// ? ColumnDef_GlobalFiltering
132+
// : ColumnDef_GlobalFiltering_Unavailable) &
133+
// ('RowSorting' extends keyof TFeatures
134+
// ? ColumnDef_RowSorting<TFeatures, TData>
135+
// : ColumnDef_RowSorting_Unavailable<TFeatures, TData>) &
136+
// ('ColumnGrouping' extends keyof TFeatures
137+
// ? ColumnDef_ColumnGrouping<TFeatures, TData, TValue>
138+
// : ColumnDef_ColumnGrouping_Unavailable<TFeatures, TData, TValue>) &
139+
// ('ColumnSizing' extends keyof TFeatures ? ColumnDef_ColumnSizing : {}) &
140+
// ('ColumnResizing' extends keyof TFeatures
141+
// ? ColumnDef_ColumnResizing
142+
// : ColumnDef_ColumnResizing_Unavailable)
143+
95144
export type ColumnDefBase_All<
96145
TFeatures extends TableFeatures,
97146
TData extends RowData,

packages/table-core/src/types/TableFeatures.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ export interface TableFeature {
5454
}
5555

5656
export interface CoreTableFeatures {
57-
Tables?: TableFeature
58-
Rows?: TableFeature
59-
Headers?: TableFeature
60-
Columns?: TableFeature
6157
Cells?: TableFeature
58+
Columns?: TableFeature
59+
Headers?: TableFeature
60+
Rows?: TableFeature
61+
Tables?: TableFeature
6262
}
6363

6464
export interface TableFeatures extends CoreTableFeatures {

0 commit comments

Comments
 (0)