@tanstack/table-core 8.0.0-alpha.58 → 8.0.0-alpha.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/build/cjs/core.js +10 -21
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/createTable.js +3 -3
  4. package/build/cjs/createTable.js.map +1 -1
  5. package/build/cjs/features/Cells.js +0 -15
  6. package/build/cjs/features/Cells.js.map +1 -1
  7. package/build/cjs/features/ColumnSizing.js +8 -19
  8. package/build/cjs/features/ColumnSizing.js.map +1 -1
  9. package/build/cjs/features/Columns.js.map +1 -1
  10. package/build/cjs/features/Expanding.js +12 -22
  11. package/build/cjs/features/Expanding.js.map +1 -1
  12. package/build/cjs/features/Filters.js +0 -23
  13. package/build/cjs/features/Filters.js.map +1 -1
  14. package/build/cjs/features/Grouping.js +6 -27
  15. package/build/cjs/features/Grouping.js.map +1 -1
  16. package/build/cjs/features/Headers.js +1 -67
  17. package/build/cjs/features/Headers.js.map +1 -1
  18. package/build/cjs/features/Pagination.js +4 -4
  19. package/build/cjs/features/Pagination.js.map +1 -1
  20. package/build/cjs/features/Pinning.js.map +1 -1
  21. package/build/cjs/features/RowSelection.js +15 -79
  22. package/build/cjs/features/RowSelection.js.map +1 -1
  23. package/build/cjs/features/Rows.js +0 -15
  24. package/build/cjs/features/Rows.js.map +1 -1
  25. package/build/cjs/features/Sorting.js +7 -28
  26. package/build/cjs/features/Sorting.js.map +1 -1
  27. package/build/cjs/features/Visibility.js +8 -21
  28. package/build/cjs/features/Visibility.js.map +1 -1
  29. package/build/cjs/filterFns.js +16 -0
  30. package/build/cjs/filterFns.js.map +1 -1
  31. package/build/cjs/index.js +0 -1
  32. package/build/cjs/index.js.map +1 -1
  33. package/build/cjs/utils/getColumnFilteredRowModelSync.js +1 -1
  34. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -1
  35. package/build/cjs/utils/getCoreRowModelAsync.js +1 -2
  36. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  37. package/build/cjs/utils/getCoreRowModelSync.js +1 -2
  38. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  39. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +1 -1
  40. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -1
  41. package/build/cjs/utils/getGroupedRowModel.js +3 -1
  42. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  43. package/build/cjs/utils/getSortedRowModelSync.js +1 -1
  44. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  45. package/build/cjs/utils.js +0 -16
  46. package/build/cjs/utils.js.map +1 -1
  47. package/build/esm/index.js +100 -369
  48. package/build/esm/index.js.map +1 -1
  49. package/build/stats-html.html +1 -1
  50. package/build/stats-react.json +360 -360
  51. package/build/types/core.d.ts +8 -10
  52. package/build/types/createTable.d.ts +10 -11
  53. package/build/types/features/Cells.d.ts +1 -2
  54. package/build/types/features/ColumnSizing.d.ts +4 -18
  55. package/build/types/features/Expanding.d.ts +5 -9
  56. package/build/types/features/Filters.d.ts +0 -3
  57. package/build/types/features/Grouping.d.ts +4 -11
  58. package/build/types/features/Headers.d.ts +1 -5
  59. package/build/types/features/Pagination.d.ts +6 -7
  60. package/build/types/features/RowSelection.d.ts +5 -14
  61. package/build/types/features/Rows.d.ts +2 -4
  62. package/build/types/features/Sorting.d.ts +3 -9
  63. package/build/types/features/Visibility.d.ts +3 -6
  64. package/build/types/filterFns.d.ts +5 -0
  65. package/build/types/types.d.ts +10 -60
  66. package/build/types/utils.d.ts +1 -4
  67. package/build/umd/index.development.js +99 -369
  68. package/build/umd/index.development.js.map +1 -1
  69. package/build/umd/index.production.js +1 -1
  70. package/build/umd/index.production.js.map +1 -1
  71. package/package.json +1 -1
  72. package/src/core.ts +29 -53
  73. package/src/createTable.ts +13 -17
  74. package/src/features/Cells.ts +1 -27
  75. package/src/features/ColumnSizing.ts +14 -44
  76. package/src/features/Columns.ts +0 -2
  77. package/src/features/Expanding.ts +16 -44
  78. package/src/features/Filters.ts +0 -33
  79. package/src/features/Grouping.ts +10 -62
  80. package/src/features/Headers.ts +1 -95
  81. package/src/features/Pagination.ts +11 -4
  82. package/src/features/Pinning.ts +1 -1
  83. package/src/features/RowSelection.ts +25 -116
  84. package/src/features/Rows.ts +2 -30
  85. package/src/features/Sorting.ts +17 -63
  86. package/src/features/Visibility.ts +15 -43
  87. package/src/filterFns.ts +20 -0
  88. package/src/types.ts +36 -98
  89. package/src/utils/getColumnFilteredRowModelAsync.ts +2 -6
  90. package/src/utils/getColumnFilteredRowModelSync.ts +1 -1
  91. package/src/utils/getCoreRowModelAsync.ts +1 -2
  92. package/src/utils/getCoreRowModelSync.ts +1 -2
  93. package/src/utils/getGlobalFilteredRowModelAsync.ts +3 -7
  94. package/src/utils/getGlobalFilteredRowModelSync.ts +1 -1
  95. package/src/utils/getGroupedRowModel.ts +2 -1
  96. package/src/utils/getSortedRowModelAsync.ts +1 -2
  97. package/src/utils/getSortedRowModelSync.ts +1 -1
  98. package/src/utils.ts +1 -28
@@ -8,9 +8,8 @@ import { FiltersColumn, FiltersColumnDef, FiltersInstance, FiltersOptions, Filte
8
8
  import { SortingColumn, SortingColumnDef, SortingInstance, SortingOptions, SortingTableState } from './features/Sorting';
9
9
  import { GroupingCell, GroupingColumn, GroupingColumnDef, GroupingInstance, GroupingOptions, GroupingRow, GroupingTableState } from './features/Grouping';
10
10
  import { ExpandedInstance, ExpandedOptions, ExpandedTableState, ExpandedRow } from './features/Expanding';
11
- import { Overwrite } from './utils';
12
11
  import { ColumnSizingColumn, ColumnSizingColumnDef, ColumnSizingHeader, ColumnSizingInstance, ColumnSizingOptions, ColumnSizingTableState } from './features/ColumnSizing';
13
- import { PaginationInstance, PaginationOptions, PaginationTableState } from './features/Pagination';
12
+ import { PaginationInitialTableState, PaginationInstance, PaginationOptions, PaginationTableState } from './features/Pagination';
14
13
  import { RowSelectionInstance, RowSelectionOptions, RowSelectionRow, RowSelectionTableState } from './features/RowSelection';
15
14
  import { ColumnsInstance } from './features/Columns';
16
15
  import { CellsInstance, CellsRow } from './features/Cells';
@@ -23,15 +22,15 @@ export declare type TableGenerics = {
23
22
  FilterFns?: any;
24
23
  SortingFns?: any;
25
24
  AggregationFns?: any;
26
- Render?: any;
25
+ Renderer?: any;
26
+ Rendered?: any;
27
27
  ColumnMeta?: any;
28
28
  TableMeta?: any;
29
29
  };
30
30
  export declare type AnyRender = (Comp: any, props: any) => any;
31
- export declare type UseRenderer<TGenerics extends TableGenerics> = TGenerics['Render'] extends (...args: any) => any ? TGenerics['Render'] : any;
32
31
  export declare type TableFeature = {
33
32
  getDefaultOptions?: (instance: any) => any;
34
- getInitialState?: () => any;
33
+ getInitialState?: (initialState?: InitialTableState) => any;
35
34
  createInstance?: (instance: any) => any;
36
35
  getDefaultColumn?: () => any;
37
36
  createColumn?: (column: any, instance: any) => any;
@@ -40,8 +39,9 @@ export declare type TableFeature = {
40
39
  createRow?: (row: any, instance: any) => any;
41
40
  };
42
41
  export declare type TableInstance<TGenerics extends TableGenerics> = TableCore<TGenerics> & ColumnsInstance<TGenerics> & RowsInstance<TGenerics> & CellsInstance<TGenerics> & VisibilityInstance<TGenerics> & ColumnOrderInstance<TGenerics> & ColumnPinningInstance<TGenerics> & HeadersInstance<TGenerics> & FiltersInstance<TGenerics> & SortingInstance<TGenerics> & GroupingInstance<TGenerics> & ColumnSizingInstance<TGenerics> & ExpandedInstance<TGenerics> & PaginationInstance<TGenerics> & RowSelectionInstance<TGenerics>;
43
- export declare type Options<TGenerics extends TableGenerics> = CoreOptions<TGenerics> & ColumnsOptions<TGenerics> & RowsOptions<TGenerics> & VisibilityOptions & ColumnOrderOptions & ColumnPinningOptions & FiltersOptions<TGenerics> & SortingOptions<TGenerics> & GroupingOptions<TGenerics> & ExpandedOptions<TGenerics> & ColumnSizingOptions & PaginationOptions<TGenerics> & RowSelectionOptions<TGenerics>;
42
+ export declare type TableOptions<TGenerics extends TableGenerics> = CoreOptions<TGenerics> & ColumnsOptions<TGenerics> & RowsOptions<TGenerics> & VisibilityOptions & ColumnOrderOptions & ColumnPinningOptions & FiltersOptions<TGenerics> & SortingOptions<TGenerics> & GroupingOptions<TGenerics> & ExpandedOptions<TGenerics> & ColumnSizingOptions & PaginationOptions<TGenerics> & RowSelectionOptions<TGenerics>;
44
43
  export declare type TableState = CoreTableState & VisibilityTableState & ColumnOrderTableState & ColumnPinningTableState & FiltersTableState & SortingTableState & ExpandedTableState & GroupingTableState & ColumnSizingTableState & PaginationTableState & RowSelectionTableState;
44
+ export declare type InitialTableState = Partial<CoreTableState & VisibilityTableState & ColumnOrderTableState & ColumnPinningTableState & FiltersTableState & SortingTableState & ExpandedTableState & GroupingTableState & ColumnSizingTableState & PaginationInitialTableState & RowSelectionTableState>;
45
45
  export declare type Row<TGenerics extends TableGenerics> = CoreRow<TGenerics> & CellsRow<TGenerics> & VisibilityRow<TGenerics> & ColumnPinningRow<TGenerics> & GroupingRow & RowSelectionRow & ExpandedRow;
46
46
  export declare type RowValues = {
47
47
  [key: string]: any;
@@ -52,7 +52,7 @@ export declare type RowModel<TGenerics extends TableGenerics> = {
52
52
  rowsById: Record<string, Row<TGenerics>>;
53
53
  };
54
54
  export declare type AccessorFn<TData> = (originalRow: TData, index: number) => any;
55
- export declare type Renderable<TGenerics extends TableGenerics, TProps> = string | ((props: TProps) => ReturnType<UseRenderer<TGenerics>>);
55
+ export declare type Renderable<TGenerics extends TableGenerics, TProps> = string | ((props: TProps) => TGenerics['Rendered']);
56
56
  export declare type ColumnDef<TGenerics extends TableGenerics> = CoreColumnDef<TGenerics> & VisibilityColumnDef & ColumnPinningColumnDef & FiltersColumnDef<TGenerics> & SortingColumnDef<TGenerics> & GroupingColumnDef<TGenerics> & ColumnSizingColumnDef;
57
57
  export declare type Column<TGenerics extends TableGenerics> = ColumnDef<TGenerics> & CoreColumn<TGenerics> & ColumnVisibilityColumn & ColumnPinningColumn & FiltersColumn<TGenerics> & SortingColumn<TGenerics> & GroupingColumn<TGenerics> & ColumnSizingColumn<TGenerics>;
58
58
  export declare type Cell<TGenerics extends TableGenerics> = CoreCell<TGenerics> & GroupingCell<TGenerics>;
@@ -63,8 +63,7 @@ export declare type CoreCell<TGenerics extends TableGenerics> = {
63
63
  value: TGenerics['Value'];
64
64
  row: Row<TGenerics>;
65
65
  column: Column<TGenerics>;
66
- getCellProps: PropGetter<CellProps>;
67
- renderCell: () => string | null | ReturnType<UseRenderer<TGenerics>>;
66
+ renderCell: () => string | null | TGenerics['Rendered'];
68
67
  };
69
68
  export declare type Header<TGenerics extends TableGenerics> = CoreHeader<TGenerics> & ColumnSizingHeader<TGenerics>;
70
69
  export declare type CoreHeader<TGenerics extends TableGenerics> = {
@@ -78,24 +77,20 @@ export declare type CoreHeader<TGenerics extends TableGenerics> = {
78
77
  subHeaders: Header<TGenerics>[];
79
78
  colSpan?: number;
80
79
  rowSpan?: number;
81
- getHeaderProps: PropGetter<HeaderProps>;
82
- getFooterProps: PropGetter<HeaderProps>;
83
80
  getLeafHeaders: () => Header<TGenerics>[];
84
81
  isPlaceholder?: boolean;
85
82
  placeholderId?: string;
86
83
  renderHeader: (options?: {
87
84
  renderPlaceholder?: boolean;
88
- }) => string | null | ReturnType<UseRenderer<TGenerics>>;
85
+ }) => string | null | TGenerics['Rendered'];
89
86
  renderFooter: (options?: {
90
87
  renderPlaceholder?: boolean;
91
- }) => string | null | ReturnType<UseRenderer<TGenerics>>;
88
+ }) => string | null | TGenerics['Rendered'];
92
89
  };
93
90
  export declare type HeaderGroup<TGenerics extends TableGenerics> = {
94
91
  id: string;
95
92
  depth: number;
96
93
  headers: Header<TGenerics>[];
97
- getHeaderGroupProps: PropGetter<HeaderGroupProps>;
98
- getFooterGroupProps: PropGetter<FooterGroupProps>;
99
94
  };
100
95
  export declare type HeaderRenderProps<THeader> = {
101
96
  header: THeader;
@@ -107,49 +102,4 @@ export declare type CellRenderProps<TCell, TRow> = {
107
102
  cell: TCell;
108
103
  row: TRow;
109
104
  };
110
- export declare type TableProps = {
111
- role: string;
112
- };
113
- export declare type TableBodyProps = {
114
- role: string;
115
- };
116
- export declare type TableHeadProps = {
117
- key: string;
118
- role: string;
119
- };
120
- export declare type TableFooterProps = {
121
- key: string;
122
- role: string;
123
- };
124
- export declare type HeaderGroupProps = {
125
- key: string;
126
- role: string;
127
- };
128
- export declare type FooterGroupProps = {
129
- key: string;
130
- role: string;
131
- };
132
- export declare type HeaderProps = {
133
- key: string;
134
- role: string;
135
- colSpan?: number;
136
- rowSpan?: number;
137
- };
138
- export declare type FooterProps = {
139
- key: string;
140
- role: string;
141
- colSpan?: number;
142
- rowSpan?: number;
143
- };
144
- export declare type RowProps = {
145
- key: string;
146
- role: string;
147
- };
148
- export declare type CellProps = {
149
- key: string;
150
- role: string;
151
- };
152
- export declare type PropGetter<TBase> = <TGetter extends Getter<TBase>>(userProps?: TGetter) => PropGetterValue<TBase, TGetter>;
153
- export declare type Getter<TInitial> = ((initial: TInitial) => object) | object | undefined;
154
- export declare type PropGetterValue<TBase, TGetter> = TGetter extends undefined ? TBase : TGetter extends (...args: any[]) => infer TReturn ? Overwrite<TBase, TReturn> : TGetter extends object ? Overwrite<TBase, TGetter> : never;
155
105
  export declare type NoInfer<A extends any> = [A][A extends any ? 0 : never];
@@ -1,5 +1,4 @@
1
- import { Getter, NoInfer, PropGetterValue, TableState, Updater } from './types';
2
- export declare type IsAny<T> = 0 extends 1 & T ? true : false;
1
+ import { NoInfer, TableState, Updater } from './types';
3
2
  export declare type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
4
3
  export declare type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
5
4
  export declare type Overwrite<T, U extends {
@@ -17,8 +16,6 @@ export declare function makeStateUpdater(key: keyof TableState, instance: unknow
17
16
  declare type AnyFunction = (...args: any) => any;
18
17
  export declare function isFunction<T extends AnyFunction>(d: any): d is T;
19
18
  export declare function flattenBy<TNode>(arr: TNode[], getChildren: (item: TNode) => TNode[]): TNode[];
20
- declare type PropGetterImpl = <TBaseProps, TGetter extends Getter<TBaseProps>>(initial: TBaseProps, userProps?: TGetter) => PropGetterValue<TBaseProps, TGetter>;
21
- export declare const propGetter: PropGetterImpl;
22
19
  export declare function memo<TDeps extends readonly any[], TResult>(getDeps: () => [...TDeps], fn: (...args: NoInfer<[...TDeps]>) => TResult, opts: {
23
20
  key: string;
24
21
  debug?: () => any;