@tanstack/table-core 8.0.0-alpha.13 → 8.0.0-alpha.18

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 (71) hide show
  1. package/build/cjs/core.js +17 -6
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/createTable.js +17 -9
  4. package/build/cjs/createTable.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +2 -2
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Expanding.js +2 -2
  8. package/build/cjs/features/Expanding.js.map +1 -1
  9. package/build/cjs/features/Filters.js +6 -7
  10. package/build/cjs/features/Filters.js.map +1 -1
  11. package/build/cjs/features/Grouping.js +13 -2
  12. package/build/cjs/features/Grouping.js.map +1 -1
  13. package/build/cjs/features/Headers.js +4 -4
  14. package/build/cjs/features/Headers.js.map +1 -1
  15. package/build/cjs/features/RowSelection.js.map +1 -1
  16. package/build/cjs/features/Visibility.js.map +1 -1
  17. package/build/cjs/index.js +1 -4
  18. package/build/cjs/index.js.map +1 -1
  19. package/build/cjs/types.js +0 -3
  20. package/build/cjs/types.js.map +1 -1
  21. package/build/cjs/utils/columnFilterRowsFn.js +1 -1
  22. package/build/cjs/utils/columnFilterRowsFn.js.map +1 -1
  23. package/build/cjs/utils/expandRowsFn.js.map +1 -1
  24. package/build/cjs/utils/globalFilterRowsFn.js.map +1 -1
  25. package/build/cjs/utils/groupRowsFn.js +1 -1
  26. package/build/cjs/utils/groupRowsFn.js.map +1 -1
  27. package/build/cjs/utils/paginateRowsFn.js.map +1 -1
  28. package/build/cjs/utils/sortRowsFn.js.map +1 -1
  29. package/build/cjs/utils.js +0 -24
  30. package/build/cjs/utils.js.map +1 -1
  31. package/build/esm/index.js +63 -55
  32. package/build/esm/index.js.map +1 -1
  33. package/build/stats-html.html +1 -1
  34. package/build/stats-react.json +270 -284
  35. package/build/types/core.d.ts +11 -9
  36. package/build/types/createTable.d.ts +24 -14
  37. package/build/types/features/ColumnSizing.d.ts +2 -3
  38. package/build/types/features/Filters.d.ts +4 -4
  39. package/build/types/features/Grouping.d.ts +11 -5
  40. package/build/types/features/RowSelection.d.ts +2 -3
  41. package/build/types/features/Visibility.d.ts +1 -0
  42. package/build/types/types.d.ts +14 -7
  43. package/build/types/utils/columnFilterRowsFn.d.ts +2 -2
  44. package/build/types/utils/expandRowsFn.d.ts +2 -2
  45. package/build/types/utils/globalFilterRowsFn.d.ts +2 -2
  46. package/build/types/utils/groupRowsFn.d.ts +2 -2
  47. package/build/types/utils/paginateRowsFn.d.ts +2 -2
  48. package/build/types/utils/sortRowsFn.d.ts +2 -2
  49. package/build/types/utils.d.ts +4 -5
  50. package/build/umd/index.development.js +67 -64
  51. package/build/umd/index.development.js.map +1 -1
  52. package/build/umd/index.production.js +1 -1
  53. package/build/umd/index.production.js.map +1 -1
  54. package/package.json +1 -1
  55. package/src/core.tsx +63 -35
  56. package/src/createTable.tsx +49 -31
  57. package/src/features/ColumnSizing.ts +8 -14
  58. package/src/features/Expanding.ts +2 -2
  59. package/src/features/Filters.ts +9 -9
  60. package/src/features/Grouping.ts +30 -7
  61. package/src/features/Headers.ts +15 -3
  62. package/src/features/RowSelection.ts +2 -2
  63. package/src/features/Visibility.ts +1 -0
  64. package/src/types.ts +28 -15
  65. package/src/utils/columnFilterRowsFn.ts +3 -5
  66. package/src/utils/expandRowsFn.ts +2 -2
  67. package/src/utils/globalFilterRowsFn.ts +2 -2
  68. package/src/utils/groupRowsFn.ts +4 -4
  69. package/src/utils/paginateRowsFn.ts +2 -2
  70. package/src/utils/sortRowsFn.ts +2 -2
  71. package/src/utils.tsx +6 -45
@@ -1,11 +1,12 @@
1
1
  import { RequiredKeys } from './utils';
2
- import { Updater, PropGetterValue, Options, TableState, ColumnDef, Row, Column, Cell, Header, AccessorFn, TableProps, TableBodyProps, PropGetter, Getter, RowProps, CellProps, TableInstance, RowValues, Renderable, Please_use_the_create_table_column_utilities_to_define_columns, PartialGenerics } from './types';
2
+ import { Updater, PropGetterValue, Options, TableState, ColumnDef, Row, Column, Cell, Header, AccessorFn, TableProps, TableBodyProps, PropGetter, Getter, RowProps, CellProps, TableInstance, RowValues, Please_use_the_create_table_column_utilities_to_define_columns, PartialGenerics, Renderable, UseRenderer } from './types';
3
3
  import { RowModel } from '.';
4
4
  export declare type CoreOptions<TGenerics extends PartialGenerics> = {
5
5
  data: TGenerics['Row'][];
6
6
  columns: ColumnDef<TGenerics>[];
7
7
  state: Partial<TableState>;
8
8
  onStateChange: (updater: Updater<TableState>) => void;
9
+ render: TGenerics['Render'];
9
10
  debugAll?: boolean;
10
11
  debugTable?: boolean;
11
12
  debugHeaders?: boolean;
@@ -49,6 +50,7 @@ export declare type TableCore<TGenerics extends PartialGenerics> = {
49
50
  getLeftTableWidth: () => number;
50
51
  getCenterTableWidth: () => number;
51
52
  getRightTableWidth: () => number;
53
+ render: <TProps>(template: Renderable<TGenerics, TProps>, props: TProps) => string | null | ReturnType<UseRenderer<TGenerics>>;
52
54
  };
53
55
  export declare type CoreRow<TGenerics extends PartialGenerics> = {
54
56
  id: string;
@@ -67,28 +69,28 @@ export declare type CoreColumnDef<TGenerics extends PartialGenerics> = {
67
69
  id: string;
68
70
  accessorKey?: string & keyof TGenerics['Row'];
69
71
  accessorFn?: AccessorFn<TGenerics['Row']>;
70
- header?: string | Renderable<{
71
- instance: TableInstance<TGenerics>;
72
- header: Header<TGenerics>;
73
- column: Column<TGenerics>;
74
- }>;
75
72
  width?: number;
76
73
  minWidth?: number;
77
74
  maxWidth?: number;
78
75
  columns?: ColumnDef<TGenerics>[];
79
- footer?: Renderable<{
76
+ header?: Renderable<TGenerics, {
77
+ instance: TableInstance<TGenerics>;
78
+ header: Header<TGenerics>;
79
+ column: Column<TGenerics>;
80
+ }>;
81
+ footer?: Renderable<TGenerics, {
80
82
  instance: TableInstance<TGenerics>;
81
83
  header: Header<TGenerics>;
82
84
  column: Column<TGenerics>;
83
85
  }>;
84
- cell?: Renderable<{
86
+ cell?: Renderable<TGenerics, {
85
87
  instance: TableInstance<TGenerics>;
86
88
  row: Row<TGenerics>;
87
89
  column: Column<TGenerics>;
88
90
  cell: Cell<TGenerics>;
89
91
  value: TGenerics['Value'];
90
92
  }>;
91
- defaultIsVisible?: boolean;
93
+ meta?: TGenerics['ColumnMeta'];
92
94
  [Please_use_the_create_table_column_utilities_to_define_columns]: true;
93
95
  };
94
96
  export declare type CoreColumn<TGenerics extends PartialGenerics> = {
@@ -1,23 +1,23 @@
1
1
  import { CustomFilterTypes } from './features/Filters';
2
2
  import { CustomAggregationTypes } from './features/Grouping';
3
3
  import { CustomSortingTypes } from './features/Sorting';
4
- import { ColumnDef, AccessorFn, DefaultGenerics, PartialGenerics, _NonGenerated } from './types';
4
+ import { ColumnDef, AccessorFn, PartialGenerics, _NonGenerated, AnyRender } from './types';
5
5
  import { Overwrite, PartialKeys } from './utils';
6
- export declare type CreatTableFactory<TGenerics extends Partial<DefaultGenerics>> = <TRow>() => TableFactory<Overwrite<TGenerics, {
7
- Row: TRow;
6
+ export declare type CreateTableFactory<TGenerics extends PartialGenerics> = <TSubGenerics extends {
7
+ Row: any;
8
+ ColumnMeta?: object;
9
+ }>() => Table<Overwrite<TGenerics, {
10
+ Row: TSubGenerics['Row'];
11
+ ColumnMeta: TSubGenerics['ColumnMeta'];
8
12
  }>>;
9
- export declare type CreateTableFactoryOptions<TFilterFns extends CustomFilterTypes<any>, TSortingFns extends CustomSortingTypes<any>, TAggregationFns extends CustomAggregationTypes<any>> = {
13
+ export declare type CreateTableFactoryOptions<TRender extends AnyRender, TFilterFns extends CustomFilterTypes<any>, TSortingFns extends CustomSortingTypes<any>, TAggregationFns extends CustomAggregationTypes<any>> = {
14
+ render: TRender;
10
15
  filterFns?: TFilterFns;
11
16
  sortingFns?: TSortingFns;
12
17
  aggregationFns?: TAggregationFns;
13
18
  };
14
- export declare function createTableFactory<TFilterFns extends CustomFilterTypes<any>, TSortingFns extends CustomSortingTypes<any>, TAggregationFns extends CustomAggregationTypes<any>>(opts: CreateTableFactoryOptions<TFilterFns, TSortingFns, TAggregationFns>): CreatTableFactory<Overwrite<PartialGenerics, {
15
- FilterFns: TFilterFns;
16
- SortingFns: TSortingFns;
17
- AggregationFns: TAggregationFns;
18
- }>>;
19
- export declare type TableFactory<TGenerics extends Partial<DefaultGenerics>> = {
20
- __options: CreateTableFactoryOptions<any, any, any>;
19
+ export declare type Table<TGenerics extends PartialGenerics> = {
20
+ __options: CreateTableFactoryOptions<any, any, any, any>;
21
21
  createColumns: (columns: ColumnDef<TGenerics>[]) => ColumnDef<TGenerics>[];
22
22
  createGroup: (column: Overwrite<Overwrite<_NonGenerated<ColumnDef<TGenerics>>, {
23
23
  header: string;
@@ -28,6 +28,7 @@ export declare type TableFactory<TGenerics extends Partial<DefaultGenerics>> = {
28
28
  }>, {
29
29
  accessorFn?: never;
30
30
  accessorKey?: never;
31
+ columns?: ColumnDef<any>[];
31
32
  }>) => ColumnDef<TGenerics>;
32
33
  createDisplayColumn: (column: PartialKeys<_NonGenerated<ColumnDef<TGenerics>>, 'accessorFn' | 'accessorKey'>) => ColumnDef<TGenerics>;
33
34
  createDataColumn: <TAccessor extends AccessorFn<TGenerics['Row']> | keyof TGenerics['Row']>(accessor: TAccessor, column: Overwrite<TAccessor extends (...args: any[]) => any ? _NonGenerated<ColumnDef<Overwrite<TGenerics, {
@@ -43,6 +44,15 @@ export declare type TableFactory<TGenerics extends Partial<DefaultGenerics>> = {
43
44
  Value: TAccessor extends (...args: any[]) => any ? ReturnType<TAccessor> : TAccessor extends keyof TGenerics['Row'] ? TGenerics['Row'][TAccessor] : never;
44
45
  }>>;
45
46
  };
46
- export declare function createTable<TRow>(): TableFactory<Overwrite<Partial<DefaultGenerics>, {
47
- Row: TRow;
48
- }>>;
47
+ declare type InitTable<TRender extends AnyRender> = {
48
+ createTableFactory: <TGenerics extends PartialGenerics>(options?: CreateTableFactoryOptions<TRender, any, any, any>) => CreateTableFactory<Overwrite<TGenerics, {
49
+ Render: TRender;
50
+ }>>;
51
+ createTable: CreateTableFactory<Overwrite<PartialGenerics, {
52
+ Render: TRender;
53
+ }>>;
54
+ };
55
+ export declare function init<TRender extends AnyRender>(opts: {
56
+ render: TRender;
57
+ }): InitTable<TRender>;
58
+ export {};
@@ -1,4 +1,3 @@
1
- import { MouseEvent as ReactMouseEvent, TouchEvent as ReactTouchEvent } from 'react';
2
1
  import { Column, Getter, Header, OnChangeFn, PartialGenerics, PropGetterValue, TableInstance, Updater } from '../types';
3
2
  export declare type ColumnSizing = Record<string, number>;
4
3
  export declare type ColumnSizingInfoState = {
@@ -27,8 +26,8 @@ export declare type ColumnSizingDefaultOptions = {
27
26
  };
28
27
  export declare type ColumnResizerProps = {
29
28
  title?: string;
30
- onMouseDown?: (e: ReactMouseEvent) => void;
31
- onTouchStart?: (e: ReactTouchEvent) => void;
29
+ onMouseDown?: (e: MouseEvent) => void;
30
+ onTouchStart?: (e: TouchEvent) => void;
32
31
  draggable?: boolean;
33
32
  role?: string;
34
33
  };
@@ -82,11 +82,11 @@ export declare type FiltersInstance<TGenerics extends PartialGenerics> = {
82
82
  getPreGlobalFilteredRowModel: () => RowModel<TGenerics>;
83
83
  getGlobalFilteredRowModel: () => RowModel<TGenerics>;
84
84
  };
85
- export declare function getDefaultColumn<TGenerics extends PartialGenerics>(): FiltersColumnDef<TGenerics>;
86
85
  export declare const Filters: {
86
+ getDefaultColumn: <TGenerics extends Partial<import("..").DefaultGenerics>>() => FiltersColumnDef<TGenerics>;
87
87
  getInitialState: () => FiltersTableState;
88
- getDefaultOptions: <TGenerics extends Partial<import("..").DefaultGenerics>>(instance: TableInstance<TGenerics>) => FiltersOptions<TGenerics>;
89
- createColumn: <TGenerics_1 extends Partial<import("..").DefaultGenerics>>(column: Column<TGenerics_1>, instance: TableInstance<TGenerics_1>) => FiltersColumn<TGenerics_1>;
90
- getInstance: <TGenerics_2 extends Partial<import("..").DefaultGenerics>>(instance: TableInstance<TGenerics_2>) => FiltersInstance<TGenerics_2>;
88
+ getDefaultOptions: <TGenerics_1 extends Partial<import("..").DefaultGenerics>>(instance: TableInstance<TGenerics_1>) => FiltersOptions<TGenerics_1>;
89
+ createColumn: <TGenerics_2 extends Partial<import("..").DefaultGenerics>>(column: Column<TGenerics_2>, instance: TableInstance<TGenerics_2>) => FiltersColumn<TGenerics_2>;
90
+ getInstance: <TGenerics_3 extends Partial<import("..").DefaultGenerics>>(instance: TableInstance<TGenerics_3>) => FiltersInstance<TGenerics_3>;
91
91
  };
92
92
  export declare function shouldAutoRemoveFilter<TGenerics extends PartialGenerics>(filterFn?: FilterFn<TGenerics>, value?: any, column?: Column<TGenerics>): boolean;
@@ -1,7 +1,6 @@
1
- import React, { MouseEvent, TouchEvent } from 'react';
2
1
  import { RowModel } from '..';
3
2
  import { BuiltInAggregationType } from '../aggregationTypes';
4
- import { Cell, Column, Getter, OnChangeFn, PropGetterValue, TableInstance, Row, Updater, PartialGenerics } from '../types';
3
+ import { Cell, Column, Getter, OnChangeFn, PropGetterValue, TableInstance, Row, Updater, PartialGenerics, Renderable, UseRenderer } from '../types';
5
4
  import { Overwrite } from '../utils';
6
5
  export declare type GroupingState = string[];
7
6
  export declare type AggregationFn<TGenerics extends PartialGenerics> = (leafValues: TGenerics['Row'][], childValues: TGenerics['Row'][]) => any;
@@ -15,7 +14,13 @@ export declare type GroupingColumnDef<TGenerics extends PartialGenerics> = {
15
14
  Value: any;
16
15
  }>>;
17
16
  aggregateValue?: (columnValue: unknown) => any;
18
- renderAggregatedCell?: () => React.ReactNode;
17
+ aggregatedCell?: Renderable<TGenerics, {
18
+ instance: TableInstance<TGenerics>;
19
+ row: Row<TGenerics>;
20
+ column: Column<TGenerics>;
21
+ cell: Cell<TGenerics>;
22
+ value: TGenerics['Value'];
23
+ }>;
19
24
  enableGrouping?: boolean;
20
25
  defaultCanGroup?: boolean;
21
26
  };
@@ -34,10 +39,11 @@ export declare type GroupingRow = {
34
39
  groupingValue?: any;
35
40
  getIsGrouped: () => boolean;
36
41
  };
37
- export declare type GroupingCell = {
42
+ export declare type GroupingCell<TGenerics extends PartialGenerics> = {
38
43
  getIsGrouped: () => boolean;
39
44
  getIsPlaceholder: () => boolean;
40
45
  getIsAggregated: () => boolean;
46
+ renderAggregatedCell: () => string | null | ReturnType<UseRenderer<TGenerics>>;
41
47
  };
42
48
  export declare type ColumnDefaultOptions = {
43
49
  onGroupingChange: OnChangeFn<GroupingState>;
@@ -80,6 +86,6 @@ export declare const Grouping: {
80
86
  createColumn: <TGenerics_2 extends Partial<import("..").DefaultGenerics>>(column: Column<TGenerics_2>, instance: TableInstance<TGenerics_2>) => GroupingColumn<TGenerics_2>;
81
87
  getInstance: <TGenerics_3 extends Partial<import("..").DefaultGenerics>>(instance: TableInstance<TGenerics_3>) => GroupingInstance<TGenerics_3>;
82
88
  createRow: <TGenerics_4 extends Partial<import("..").DefaultGenerics>>(row: Row<TGenerics_4>, instance: TableInstance<TGenerics_4>) => GroupingRow;
83
- createCell: <TGenerics_5 extends Partial<import("..").DefaultGenerics>>(cell: Cell<TGenerics_5> & GroupingCell, column: Column<TGenerics_5>, row: Row<TGenerics_5>, _instance: TableInstance<TGenerics_5>) => GroupingCell;
89
+ createCell: <TGenerics_5 extends Partial<import("..").DefaultGenerics>>(cell: Cell<TGenerics_5>, column: Column<TGenerics_5>, row: Row<TGenerics_5>, instance: TableInstance<TGenerics_5>) => GroupingCell<TGenerics_5>;
84
90
  orderColumns: <TGenerics_6 extends Partial<import("..").DefaultGenerics>>(leafColumns: Column<TGenerics_6>[], grouping: string[], groupedColumnMode?: GroupingColumnMode | undefined) => Column<TGenerics_6>[];
85
91
  };
@@ -1,5 +1,4 @@
1
- import { MouseEvent, TouchEvent } from 'react';
2
- import { Getter, OnChangeFn, PartialGenerics, PropGetterValue, TableInstance, Row, RowModel, Updater } from '../types';
1
+ import { Getter, OnChangeFn, PartialGenerics, PropGetterValue, TableInstance, Row, RowModel, Updater, AnyGenerics } from '../types';
3
2
  export declare type RowSelectionState = Record<string, boolean>;
4
3
  export declare type RowSelectionTableState = {
5
4
  rowSelection: RowSelectionState;
@@ -55,6 +54,6 @@ export declare const RowSelection: {
55
54
  getInstance: <TGenerics_1 extends Partial<import("../types").DefaultGenerics>>(instance: TableInstance<TGenerics_1>) => RowSelectionInstance<TGenerics_1>;
56
55
  createRow: <TGenerics_2 extends Partial<import("../types").DefaultGenerics>>(row: Row<TGenerics_2>, instance: TableInstance<TGenerics_2>) => RowSelectionRow;
57
56
  };
58
- export declare function selectRowsFn<TGenerics extends PartialGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
57
+ export declare function selectRowsFn<TGenerics extends AnyGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
59
58
  export declare function isRowSelected<TGenerics extends PartialGenerics>(row: Row<TGenerics>, selection: Record<string, boolean>, instance: TableInstance<TGenerics>): boolean | 'some';
60
59
  export {};
@@ -27,6 +27,7 @@ declare type ToggleAllColumnsVisibilityProps = {};
27
27
  export declare type VisibilityColumnDef = {
28
28
  enableHiding?: boolean;
29
29
  defaultCanHide?: boolean;
30
+ defaultIsVisible?: boolean;
30
31
  };
31
32
  export declare type VisibilityRow<TGenerics extends PartialGenerics> = {
32
33
  getVisibleCells: () => Cell<TGenerics>[];
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { CoreColumn, CoreColumnDef, CoreOptions, CoreRow, TableCore } from './core';
3
2
  import { VisibilityInstance, VisibilityTableState, VisibilityColumn as ColumnVisibilityColumn, VisibilityOptions, VisibilityColumnDef, VisibilityRow } from './features/Visibility';
4
3
  import { ColumnOrderInstance, ColumnOrderOptions, ColumnOrderTableState } from './features/Ordering';
@@ -6,7 +5,7 @@ import { ColumnPinningColumn, ColumnPinningColumnDef, ColumnPinningInstance, Col
6
5
  import { HeadersInstance, HeadersRow } from './features/Headers';
7
6
  import { FiltersColumn, FiltersColumnDef, FiltersInstance, FiltersOptions, FiltersTableState } from './features/Filters';
8
7
  import { SortingColumn, SortingColumnDef, SortingInstance, SortingOptions, SortingTableState } from './features/Sorting';
9
- import { GroupingColumn, GroupingColumnDef, GroupingInstance, GroupingOptions, GroupingRow, GroupingTableState } from './features/Grouping';
8
+ import { GroupingCell, GroupingColumn, GroupingColumnDef, GroupingInstance, GroupingOptions, GroupingRow, GroupingTableState } from './features/Grouping';
10
9
  import { ExpandedInstance, ExpandedOptions, ExpandedTableState, ExpandedRow } from './features/Expanding';
11
10
  import { Overwrite } from './utils';
12
11
  import { ColumnSizingColumn, ColumnSizingColumnDef, ColumnSizingHeader, ColumnSizingInstance, ColumnSizingOptions, ColumnSizingTableState } from './features/ColumnSizing';
@@ -18,10 +17,16 @@ export declare type DefaultGenerics = {
18
17
  FilterFns: object;
19
18
  SortingFns: object;
20
19
  AggregationFns: object;
20
+ Render: unknown;
21
+ ColumnMeta: object;
21
22
  };
23
+ export declare type AnyRender = (Comp: any, props: any) => any;
24
+ export declare type UseRenderer<TGenerics extends PartialGenerics> = TGenerics['Render'] extends (...args: any) => any ? TGenerics['Render'] : any;
22
25
  export declare type PartialGenerics = Partial<DefaultGenerics>;
26
+ export declare type AnyGenerics = {
27
+ [TKey in keyof PartialGenerics]: any;
28
+ };
23
29
  export declare type TableInstance<TGenerics extends PartialGenerics> = TableCore<TGenerics> & VisibilityInstance<TGenerics> & ColumnOrderInstance<TGenerics> & ColumnPinningInstance<TGenerics> & HeadersInstance<TGenerics> & FiltersInstance<TGenerics> & SortingInstance<TGenerics> & GroupingInstance<TGenerics> & ColumnSizingInstance<TGenerics> & ExpandedInstance<TGenerics> & PaginationInstance<TGenerics> & RowSelectionInstance<TGenerics>;
24
- export declare type Renderable<TProps> = React.ReactNode | React.FunctionComponent<TProps> | React.Component<TProps>;
25
30
  export declare type Options<TGenerics extends PartialGenerics> = CoreOptions<TGenerics> & VisibilityOptions & ColumnOrderOptions & ColumnPinningOptions & FiltersOptions<TGenerics> & SortingOptions<TGenerics> & GroupingOptions<TGenerics> & ExpandedOptions<TGenerics> & ColumnSizingOptions & PaginationOptions<TGenerics> & RowSelectionOptions<TGenerics>;
26
31
  export declare type Updater<T> = T | ((old: T) => T);
27
32
  export declare type OnChangeFn<T> = (updaterOrValue: Updater<T>, value: T) => void;
@@ -40,9 +45,11 @@ export declare const Please_use_the_create_table_column_utilities_to_define_colu
40
45
  export declare type _NonGenerated<T> = Overwrite<T, {
41
46
  [Please_use_the_create_table_column_utilities_to_define_columns]?: never;
42
47
  }>;
48
+ export declare type Renderable<TGenerics extends PartialGenerics, TProps> = string | ((props: TProps) => ReturnType<UseRenderer<TGenerics>>);
43
49
  export declare type ColumnDef<TGenerics extends PartialGenerics> = CoreColumnDef<TGenerics> & VisibilityColumnDef & ColumnPinningColumnDef & FiltersColumnDef<TGenerics> & SortingColumnDef<TGenerics> & GroupingColumnDef<TGenerics> & ColumnSizingColumnDef;
44
50
  export declare type Column<TGenerics extends PartialGenerics> = ColumnDef<TGenerics> & CoreColumn<TGenerics> & ColumnVisibilityColumn & ColumnPinningColumn & FiltersColumn<TGenerics> & SortingColumn<TGenerics> & GroupingColumn<TGenerics> & ColumnSizingColumn<TGenerics>;
45
- export declare type Cell<TGenerics extends PartialGenerics> = {
51
+ export declare type Cell<TGenerics extends PartialGenerics> = CoreCell<TGenerics> & GroupingCell<TGenerics>;
52
+ export declare type CoreCell<TGenerics extends PartialGenerics> = {
46
53
  id: string;
47
54
  rowId: string;
48
55
  columnId: string;
@@ -50,7 +57,7 @@ export declare type Cell<TGenerics extends PartialGenerics> = {
50
57
  row: Row<TGenerics>;
51
58
  column: Column<TGenerics>;
52
59
  getCellProps: PropGetter<CellProps>;
53
- renderCell: () => React.ReactNode;
60
+ renderCell: () => string | null | ReturnType<UseRenderer<TGenerics>>;
54
61
  };
55
62
  export declare type Header<TGenerics extends PartialGenerics> = CoreHeader<TGenerics> & ColumnSizingHeader<TGenerics>;
56
63
  export declare type CoreHeader<TGenerics extends PartialGenerics> = {
@@ -68,10 +75,10 @@ export declare type CoreHeader<TGenerics extends PartialGenerics> = {
68
75
  placeholderId?: string;
69
76
  renderHeader: (options?: {
70
77
  renderPlaceholder?: boolean;
71
- }) => React.ReactNode;
78
+ }) => string | null | ReturnType<UseRenderer<TGenerics>>;
72
79
  renderFooter: (options?: {
73
80
  renderPlaceholder?: boolean;
74
- }) => React.ReactNode;
81
+ }) => string | null | ReturnType<UseRenderer<TGenerics>>;
75
82
  };
76
83
  export declare type HeaderGroup<TGenerics extends PartialGenerics> = {
77
84
  id: string;
@@ -1,2 +1,2 @@
1
- import { PartialGenerics, TableInstance, RowModel } from '../types';
2
- export declare function columnFilterRowsFn<TGenerics extends PartialGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
1
+ import { AnyGenerics, TableInstance, RowModel } from '../types';
2
+ export declare function columnFilterRowsFn<TGenerics extends AnyGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
@@ -1,2 +1,2 @@
1
- import { PartialGenerics, TableInstance, RowModel } from '../types';
2
- export declare function expandRowsFn<TGenerics extends PartialGenerics>(instance: TableInstance<TGenerics>, sortedRowModel: RowModel<TGenerics>): RowModel<TGenerics>;
1
+ import { TableInstance, RowModel, AnyGenerics } from '../types';
2
+ export declare function expandRowsFn<TGenerics extends AnyGenerics>(instance: TableInstance<TGenerics>, sortedRowModel: RowModel<TGenerics>): RowModel<TGenerics>;
@@ -1,2 +1,2 @@
1
- import { PartialGenerics, TableInstance, RowModel } from '../types';
2
- export declare function globalFilterRowsFn<TGenerics extends PartialGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
1
+ import { TableInstance, RowModel, AnyGenerics } from '../types';
2
+ export declare function globalFilterRowsFn<TGenerics extends AnyGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
@@ -1,2 +1,2 @@
1
- import { PartialGenerics, TableInstance, RowModel } from '../types';
2
- export declare function groupRowsFn<TGenerics extends PartialGenerics>(instance: TableInstance<TGenerics>, sortedRowModel: RowModel<TGenerics>): RowModel<TGenerics>;
1
+ import { TableInstance, RowModel, AnyGenerics } from '../types';
2
+ export declare function groupRowsFn<TGenerics extends AnyGenerics>(instance: TableInstance<TGenerics>, sortedRowModel: RowModel<TGenerics>): RowModel<TGenerics>;
@@ -1,2 +1,2 @@
1
- import { PartialGenerics, TableInstance, RowModel } from '../types';
2
- export declare function paginateRowsFn<TGenerics extends PartialGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
1
+ import { TableInstance, RowModel, AnyGenerics } from '../types';
2
+ export declare function paginateRowsFn<TGenerics extends AnyGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
@@ -1,2 +1,2 @@
1
- import { PartialGenerics, TableInstance, RowModel } from '../types';
2
- export declare function sortRowsFn<TGenerics extends PartialGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
1
+ import { TableInstance, RowModel, AnyGenerics } from '../types';
2
+ export declare function sortRowsFn<TGenerics extends AnyGenerics>(instance: TableInstance<TGenerics>, rowModel: RowModel<TGenerics>): RowModel<TGenerics>;
@@ -1,9 +1,10 @@
1
- import React from 'react';
2
- import { Getter, NoInfer, PropGetterValue, Renderable, TableState, Updater } from './types';
1
+ import { Getter, NoInfer, PropGetterValue, TableState, Updater } from './types';
3
2
  export declare type IsAny<T> = 0 extends 1 & T ? true : false;
4
3
  export declare type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
5
4
  export declare type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
6
- export declare type Overwrite<T, U> = Omit<T, keyof U> & U;
5
+ export declare type Overwrite<T, U extends {
6
+ [TKey in keyof T]?: any;
7
+ }> = Omit<T, keyof U> & U;
7
8
  export declare type DataUpdateFunction<T> = (input: T) => T;
8
9
  export declare function functionalUpdate<T>(updater: Updater<T>, input: T): T;
9
10
  export declare function noop(): void;
@@ -18,6 +19,4 @@ export declare function memo<TDeps extends readonly any[], TResult>(getDeps: ()
18
19
  debug?: () => any;
19
20
  onChange?: (result: TResult, previousResult?: TResult) => void;
20
21
  }): () => TResult;
21
- export declare type Render = typeof flexRender;
22
- export declare function flexRender<TProps extends {}>(Comp: Renderable<TProps>, props: TProps): React.ReactNode;
23
22
  export {};