@tanstack/react-table 0.0.1-alpha.6 → 8.0.0-alpha.1

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 (96) hide show
  1. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +112 -0
  2. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/build/cjs/aggregationTypes.js +130 -0
  4. package/build/cjs/aggregationTypes.js.map +1 -0
  5. package/build/cjs/core.js +493 -0
  6. package/build/cjs/core.js.map +1 -0
  7. package/build/cjs/createTable.js +103 -0
  8. package/build/cjs/createTable.js.map +1 -0
  9. package/build/cjs/features/Expanding.js +234 -0
  10. package/build/cjs/features/Expanding.js.map +1 -0
  11. package/build/cjs/features/Filters.js +396 -0
  12. package/build/cjs/features/Filters.js.map +1 -0
  13. package/build/cjs/features/Grouping.js +228 -0
  14. package/build/cjs/features/Grouping.js.map +1 -0
  15. package/build/cjs/features/Headers.js +483 -0
  16. package/build/cjs/features/Headers.js.map +1 -0
  17. package/build/cjs/features/Ordering.js +83 -0
  18. package/build/cjs/features/Ordering.js.map +1 -0
  19. package/build/cjs/features/Pinning.js +163 -0
  20. package/build/cjs/features/Pinning.js.map +1 -0
  21. package/build/cjs/features/Sorting.js +269 -0
  22. package/build/cjs/features/Sorting.js.map +1 -0
  23. package/build/cjs/features/Visibility.js +160 -0
  24. package/build/cjs/features/Visibility.js.map +1 -0
  25. package/build/cjs/filterTypes.js +172 -0
  26. package/build/cjs/filterTypes.js.map +1 -0
  27. package/build/cjs/index.js +30 -0
  28. package/build/cjs/index.js.map +1 -0
  29. package/build/cjs/sortTypes.js +121 -0
  30. package/build/cjs/sortTypes.js.map +1 -0
  31. package/build/cjs/utils/columnFilterRowsFn.js +130 -0
  32. package/build/cjs/utils/columnFilterRowsFn.js.map +1 -0
  33. package/build/cjs/utils/expandRowsFn.js +38 -0
  34. package/build/cjs/utils/expandRowsFn.js.map +1 -0
  35. package/build/cjs/utils/globalFilterRowsFn.js +100 -0
  36. package/build/cjs/utils/globalFilterRowsFn.js.map +1 -0
  37. package/build/cjs/utils/groupRowsFn.js +154 -0
  38. package/build/cjs/utils/groupRowsFn.js.map +1 -0
  39. package/build/cjs/utils/sortRowsFn.js +93 -0
  40. package/build/cjs/utils/sortRowsFn.js.map +1 -0
  41. package/build/cjs/utils.js +143 -0
  42. package/build/cjs/utils.js.map +1 -0
  43. package/build/esm/index.js +3389 -0
  44. package/build/esm/index.js.map +1 -0
  45. package/build/stats-html.html +2689 -0
  46. package/build/stats-react.json +703 -0
  47. package/build/types/aggregationTypes.d.ts +22 -0
  48. package/build/types/core.d.ts +122 -0
  49. package/build/types/createTable.d.ts +35 -0
  50. package/build/types/features/Expanding.d.ts +52 -0
  51. package/build/types/features/Filters.d.ts +93 -0
  52. package/build/types/features/Grouping.d.ts +82 -0
  53. package/build/types/features/Headers.d.ts +41 -0
  54. package/build/types/features/Ordering.d.ts +19 -0
  55. package/build/types/features/Pinning.d.ts +39 -0
  56. package/build/types/features/Sorting.d.ts +75 -0
  57. package/build/types/features/Visibility.d.ts +47 -0
  58. package/build/types/filterTypes.d.ts +50 -0
  59. package/build/types/index.d.ts +7 -0
  60. package/build/types/sortTypes.d.ts +17 -0
  61. package/build/types/types.d.ts +122 -0
  62. package/build/types/utils/columnFilterRowsFn.d.ts +2 -0
  63. package/build/types/utils/expandRowsFn.d.ts +2 -0
  64. package/build/types/utils/globalFilterRowsFn.d.ts +2 -0
  65. package/build/types/utils/groupRowsFn.d.ts +2 -0
  66. package/build/types/utils/sortRowsFn.d.ts +2 -0
  67. package/build/types/utils.d.ts +24 -0
  68. package/{dist/react-table.development.js → build/umd/index.development.js} +11 -1
  69. package/build/umd/index.development.js.map +1 -0
  70. package/{dist/react-table.production.min.js → build/umd/index.production.js} +11 -1
  71. package/build/umd/index.production.js.map +1 -0
  72. package/package.json +9 -94
  73. package/src/features/{withColumnResizing.ts → withColumnResizing.oldts} +0 -0
  74. package/src/features/{withPagination.ts → withPagination.oldts} +0 -0
  75. package/src/features/{withRowSelection.ts → withRowSelection.oldts} +0 -0
  76. package/dist/react-table.development.js.map +0 -1
  77. package/dist/react-table.production.min.js.map +0 -1
  78. package/lib/index.js +0 -65
  79. package/src/features/notest/useAbsoluteLayout.test.js +0 -152
  80. package/src/features/notest/useBlockLayout.test.js +0 -158
  81. package/src/features/notest/useColumnOrder.test.js +0 -186
  82. package/src/features/notest/useExpanded.test.js +0 -125
  83. package/src/features/notest/useFilters.test.js +0 -393
  84. package/src/features/notest/useFiltersAndRowSelect.test.js +0 -256
  85. package/src/features/notest/useFlexLayout.test.js +0 -152
  86. package/src/features/notest/useGroupBy.test.js +0 -259
  87. package/src/features/notest/usePagination.test.js +0 -231
  88. package/src/features/notest/useResizeColumns.test.js +0 -229
  89. package/src/features/notest/useRowSelect.test.js +0 -250
  90. package/src/features/notest/useRowState.test.js +0 -178
  91. package/src/features/tests/Visibility.test.tsx +0 -225
  92. package/src/features/tests/__snapshots__/Visibility.test.tsx.snap +0 -390
  93. package/src/features/tests/withSorting.notest.tsx +0 -341
  94. package/src/test-utils/makeTestData.ts +0 -41
  95. package/src/tests/__snapshots__/core.test.tsx.snap +0 -148
  96. package/src/tests/core.test.tsx +0 -241
@@ -0,0 +1,122 @@
1
+ import { RequiredKeys } from './utils';
2
+ import { Updater, PropGetterValue, Options, TableState, ColumnDef, Row, Column, Cell, Header, AccessorFn, TableProps, TableBodyProps, PropGetter, Getter, RowProps, CellProps, ReactTable, RowValues, Renderable } from './types';
3
+ import { RowModel } from '.';
4
+ export declare type CoreOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
5
+ data: TData[];
6
+ columns: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
7
+ debug?: boolean;
8
+ defaultColumn?: Partial<ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
9
+ initialState?: Partial<TableState>;
10
+ state?: Partial<TableState>;
11
+ getSubRows?: (originalRow: TData, index: number) => TData[];
12
+ getRowId?: (originalRow: TData, index: number, parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => string;
13
+ onStateChange?: (newState: TableState) => void;
14
+ };
15
+ export declare type TableCore<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
16
+ rerender: () => void;
17
+ initialState: TableState;
18
+ internalState: TableState;
19
+ reset: () => void;
20
+ options: RequiredKeys<Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, 'state'>;
21
+ updateOptions: (newOptions: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => void;
22
+ getRowId: (_: TData, index: number, parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => string;
23
+ getState: () => TableState;
24
+ setState: (updater: Updater<TableState>) => void;
25
+ getDefaultColumn: () => Partial<ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
26
+ getColumnDefs: () => ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
27
+ createColumn: (columnDef: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, depth: number, parent?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
28
+ getAllColumns: () => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
29
+ getAllFlatColumns: () => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
30
+ getAllFlatColumnsById: () => Record<string, Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
31
+ getAllLeafColumns: () => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
32
+ getColumn: (columnId: string) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
33
+ getColumnWidth: (columnId: string) => number;
34
+ getTotalWidth: () => number;
35
+ createCell: (row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, value: any) => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
36
+ createRow: (id: string, original: TData | undefined, rowIndex: number, depth: number, values: Record<string, any>) => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
37
+ getCoreRowModel: () => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
38
+ getCoreRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
39
+ getCoreFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
40
+ getCoreRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
41
+ getRowModel: () => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
42
+ getRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
43
+ getFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
44
+ getRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
45
+ getRow: (id: string) => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
46
+ getCell: (rowId: string, columnId: string) => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
47
+ getTableProps: PropGetter<TableProps>;
48
+ getTableBodyProps: PropGetter<TableBodyProps>;
49
+ getRowProps: <TGetter extends Getter<RowProps>>(rowId: string, userProps?: TGetter) => undefined | PropGetterValue<RowProps, TGetter>;
50
+ getCellProps: <TGetter extends Getter<CellProps>>(rowId: string, columnId: string, userProps?: TGetter) => undefined | PropGetterValue<CellProps, TGetter>;
51
+ };
52
+ export declare type CoreRow<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
53
+ id: string;
54
+ index: number;
55
+ original?: TData;
56
+ depth: number;
57
+ values: RowValues;
58
+ leafRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
59
+ subRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
60
+ getRowProps: PropGetter<RowProps>;
61
+ originalSubRows?: TData[];
62
+ getAllCells: () => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
63
+ getAllCellsByColumnId: () => Record<string, Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
64
+ };
65
+ export declare type CoreColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = ({
66
+ accessorFn: AccessorFn<TData>;
67
+ id: string;
68
+ accessorKey?: never;
69
+ header?: string | Renderable<{
70
+ header: Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
71
+ column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
72
+ }>;
73
+ } | {
74
+ accessorKey: string & keyof TData;
75
+ id?: string;
76
+ accessorFn?: never;
77
+ header?: string | Renderable<{
78
+ header: Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
79
+ column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
80
+ }>;
81
+ } | {
82
+ id: string;
83
+ accessorKey?: never;
84
+ accessorFn?: never;
85
+ header?: string | Renderable<{
86
+ header: Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
87
+ column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
88
+ }>;
89
+ } | {
90
+ header: string;
91
+ id?: string;
92
+ accessorKey?: never;
93
+ accessorFn?: never;
94
+ }) & {
95
+ __generated: true;
96
+ width?: number;
97
+ minWidth?: number;
98
+ maxWidth?: number;
99
+ columns?: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
100
+ footer?: Renderable<{
101
+ header: Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
102
+ column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
103
+ }>;
104
+ cell?: Renderable<{
105
+ column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
106
+ cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
107
+ value: TValue;
108
+ }>;
109
+ defaultIsVisible?: boolean;
110
+ };
111
+ export declare type CoreColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
112
+ id: string;
113
+ depth: number;
114
+ accessorFn?: AccessorFn<TData>;
115
+ columnDef: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
116
+ getWidth: () => number;
117
+ columns: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
118
+ parent?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
119
+ getFlatColumns: () => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
120
+ getLeafColumns: () => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
121
+ };
122
+ export declare function createTableInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, rerender: () => void): ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
@@ -0,0 +1,35 @@
1
+ import { Cell, Column, Row } from '.';
2
+ import { ReactTable, ColumnDef, AccessorFn, Options } from './types';
3
+ import { Overwrite } from './utils';
4
+ declare type TableHelper<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
5
+ RowType: <TTData>() => TableHelper<TTData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
6
+ FilterFns: <TTFilterFns>(filterFns: TTFilterFns) => TableHelper<TData, TValue, TTFilterFns, TSortingFns, TAggregationFns>;
7
+ SortingFns: <TTSortingFns>(sortingFns: TTSortingFns) => TableHelper<TData, TValue, TFilterFns, TTSortingFns, TAggregationFns>;
8
+ AggregationFns: <TTAggregationFns>(aggregationFns: TTAggregationFns) => TableHelper<TData, TValue, TFilterFns, TSortingFns, TTAggregationFns>;
9
+ createColumns: (columns: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]) => ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
10
+ createGroup: (column: Overwrite<ColumnDef<TData, unknown, TFilterFns, TSortingFns, TAggregationFns>, {
11
+ __generated?: never;
12
+ accessorFn?: never;
13
+ accessorKey?: never;
14
+ }>) => ColumnDef<TData, unknown, TFilterFns, TSortingFns, TAggregationFns>;
15
+ createColumn: <TAccessor extends AccessorFn<TData> | keyof TData>(accessor: TAccessor, column: TAccessor extends (...args: any[]) => any ? Overwrite<ColumnDef<TData, ReturnType<TAccessor>, TFilterFns, TSortingFns, TAggregationFns>, {
16
+ __generated?: never;
17
+ accessorFn?: never;
18
+ accessorKey?: never;
19
+ id: string;
20
+ }> : TAccessor extends keyof TData ? Overwrite<ColumnDef<TData, TData[TAccessor], TFilterFns, TSortingFns, TAggregationFns>, {
21
+ __generated?: never;
22
+ accessorFn?: never;
23
+ accessorKey?: never;
24
+ }> : never) => ColumnDef<TData, TAccessor extends (...args: any[]) => any ? ReturnType<TAccessor> : TAccessor extends keyof TData ? TData[TAccessor] : never, TFilterFns, TSortingFns, TAggregationFns>;
25
+ useTable: <TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
26
+ types: {
27
+ instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
28
+ columnDef: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
29
+ column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
30
+ row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
31
+ cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
32
+ };
33
+ };
34
+ export declare function createTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(): TableHelper<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
35
+ export {};
@@ -0,0 +1,52 @@
1
+ import { MouseEvent, TouchEvent } from 'react';
2
+ import { RowModel } from '..';
3
+ import { Getter, OnChangeFn, PropGetterValue, ReactTable, Row, Updater } from '../types';
4
+ export declare type ExpandedStateList = Record<string, boolean>;
5
+ export declare type ExpandedState = true | Record<string, boolean>;
6
+ export declare type ExpandedTableState = {
7
+ expanded: ExpandedState;
8
+ };
9
+ export declare type ExpandedRow = {
10
+ toggleExpanded: (expanded?: boolean) => void;
11
+ getIsExpanded: () => boolean;
12
+ getCanExpand: () => boolean;
13
+ getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>;
14
+ };
15
+ export declare type ExpandedOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
16
+ onExpandedChange?: OnChangeFn<ExpandedState>;
17
+ autoResetExpanded?: boolean;
18
+ enableExpanded?: boolean;
19
+ expandRowsFn?: (instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, expandedState: ExpandedState, groupedRowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
20
+ expandSubRows?: boolean;
21
+ defaultCanExpand?: boolean;
22
+ getIsRowExpanded?: (row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => boolean;
23
+ getRowCanExpand?: (row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => boolean;
24
+ paginateExpandedRows?: boolean;
25
+ };
26
+ export declare type ToggleExpandedProps = {
27
+ title?: string;
28
+ onClick?: (event: MouseEvent | TouchEvent) => void;
29
+ };
30
+ export declare type ExpandedInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
31
+ setExpanded: (updater: Updater<ExpandedState>) => void;
32
+ toggleRowExpanded: (rowId: string, expanded?: boolean) => void;
33
+ toggleAllRowsExpanded: (expanded?: boolean) => void;
34
+ resetExpanded: () => void;
35
+ getRowCanExpand: (rowId: string) => boolean;
36
+ getIsRowExpanded: (rowId: string) => boolean;
37
+ getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(rowId: string, userProps?: TGetter) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>;
38
+ getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>;
39
+ getIsAllRowsExpanded: () => boolean;
40
+ getExpandedDepth: () => number;
41
+ getExpandedRowModel: () => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
42
+ getPreExpandedRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
43
+ getPreExpandedFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
44
+ getPreExpandedRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
45
+ getExpandedRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
46
+ getExpandedFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
47
+ getExpandedRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
48
+ };
49
+ export declare function getInitialState(): ExpandedTableState;
50
+ export declare function getDefaultOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): ExpandedOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
51
+ export declare function getInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): ExpandedInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
52
+ export declare function createRow<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): ExpandedRow;
@@ -0,0 +1,93 @@
1
+ import { RowModel } from '..';
2
+ import { BuiltInFilterType } from '../filterTypes';
3
+ import { Column, OnChangeFn, ReactTable, Row, Updater } from '../types';
4
+ export declare type ColumnFilter = {
5
+ id: string;
6
+ value: unknown;
7
+ };
8
+ export declare type ColumnFiltersState = ColumnFilter[];
9
+ export declare type FilterFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
10
+ (rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[], columnIds: string[], filterValue: any): any;
11
+ autoRemove?: ColumnFilterAutoRemoveTestFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
12
+ };
13
+ export declare type ColumnFilterAutoRemoveTestFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = (value: unknown, column?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => boolean;
14
+ export declare type CustomFilterTypes<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = Record<string, FilterFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
15
+ export declare type FiltersTableState = {
16
+ columnFilters: ColumnFiltersState;
17
+ globalFilter: any;
18
+ };
19
+ export declare type FilterType<TFilterFns> = 'auto' | BuiltInFilterType | keyof TFilterFns | FilterFn<unknown, unknown, TFilterFns, any, any>;
20
+ export declare type FiltersColumnDef<TFilterFns> = {
21
+ filterType?: FilterType<TFilterFns>;
22
+ enableAllFilters?: boolean;
23
+ enableColumnFilter?: boolean;
24
+ enableGlobalFilter?: boolean;
25
+ defaultCanFilter?: boolean;
26
+ defaultCanColumnFilter?: boolean;
27
+ defaultCanGlobalFilter?: boolean;
28
+ };
29
+ export declare type FiltersColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
30
+ filterType: FilterType<TFilterFns>;
31
+ getCanColumnFilter: () => boolean;
32
+ getCanGlobalFilter: () => boolean;
33
+ getColumnFilterIndex: () => number;
34
+ getIsColumnFiltered: () => boolean;
35
+ getColumnFilterValue: () => unknown;
36
+ setColumnFilterValue: (value: any) => void;
37
+ getPreFilteredRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[] | undefined;
38
+ getPreFilteredUniqueValues: () => Map<any, number>;
39
+ getPreFilteredMinMaxValues: () => [any, any];
40
+ };
41
+ export declare type FiltersOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
42
+ filterFromChildrenUp?: boolean;
43
+ filterTypes?: TFilterFns;
44
+ enableFilters?: boolean;
45
+ onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>;
46
+ autoResetColumnFilters?: boolean;
47
+ enableColumnFilters?: boolean;
48
+ columnFilterRowsFn?: (instance: ReactTable<any, any, any, any, any>, columnFilters: ColumnFiltersState, coreRowModel: RowModel<any, any, any, any, any>) => RowModel<any, any, any, any, any>;
49
+ globalFilterType?: FilterType<TFilterFns>;
50
+ onGlobalFilterChange?: OnChangeFn<any>;
51
+ enableGlobalFilters?: boolean;
52
+ autoResetGlobalFilter?: boolean;
53
+ enableGlobalFilter?: boolean;
54
+ globalFilterRowsFn?: (instance: ReactTable<any, any, any, any, any>, globalFilter: any, columnFilteredRowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
55
+ getColumnCanGlobalFilterFn?: (column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => boolean;
56
+ };
57
+ export declare type FiltersInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
58
+ getColumnAutoFilterFn: (columnId: string) => FilterFn<any, any, any, any, any> | undefined;
59
+ getColumnFilterFn: (columnId: string) => FilterFn<any, any, any, any, any> | undefined;
60
+ setColumnFilters: (updater: Updater<ColumnFiltersState>) => void;
61
+ setColumnFilterValue: (columnId: string, value: any) => void;
62
+ resetColumnFilters: () => void;
63
+ getColumnCanColumnFilter: (columnId: string) => boolean;
64
+ getColumnCanGlobalFilterFn?: (column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => boolean;
65
+ getColumnIsFiltered: (columnId: string) => boolean;
66
+ getColumnFilterValue: (columnId: string) => unknown;
67
+ getColumnFilterIndex: (columnId: string) => number;
68
+ getColumnFilteredRowModel: () => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
69
+ getPreColumnFilteredRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
70
+ getPreColumnFilteredFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
71
+ getPreColumnFilteredRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
72
+ getColumnFilteredRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
73
+ getColumnFilteredFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
74
+ getColumnFilteredRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
75
+ setGlobalFilter: (updater: Updater<any>) => void;
76
+ resetGlobalFilter: () => void;
77
+ getGlobalAutoFilterFn: () => FilterFn<any, any, any, any, any> | undefined;
78
+ getGlobalFilterFn: () => FilterFn<any, any, any, any, any> | undefined;
79
+ getColumnCanGlobalFilter: (columnId: string) => boolean;
80
+ getGlobalFilteredRowModel: () => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
81
+ getPreGlobalFilteredRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
82
+ getPreGlobalFilteredFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
83
+ getPreGlobalFilteredRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
84
+ getGlobalFilteredRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
85
+ getGlobalFilteredFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
86
+ getGlobalFilteredRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
87
+ };
88
+ export declare function getDefaultColumn<TFilterFns>(): FiltersColumnDef<TFilterFns>;
89
+ export declare function getInitialState(): FiltersTableState;
90
+ export declare function getDefaultOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): FiltersOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
91
+ export declare function createColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): FiltersColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
92
+ export declare function getInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): FiltersInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
93
+ export declare function shouldAutoRemoveFilter(filterFn?: FilterFn<any, any, any, any, any>, value?: any, column?: Column<any, any, any, any, any>): boolean;
@@ -0,0 +1,82 @@
1
+ import React, { MouseEvent, TouchEvent } from 'react';
2
+ import { RowModel } from '..';
3
+ import { BuiltInAggregationType } from '../aggregationTypes';
4
+ import { Cell, Column, Getter, OnChangeFn, PropGetterValue, ReactTable, Row, Updater } from '../types';
5
+ export declare type GroupingState = string[];
6
+ export declare type AggregationFn = (leafValues: any[], childValues: any[]) => any;
7
+ export declare type AggregationType<TAggregationFns> = 'auto' | BuiltInAggregationType | keyof TAggregationFns | AggregationFn;
8
+ export declare type GroupingTableState = {
9
+ grouping: GroupingState;
10
+ };
11
+ export declare type GroupingColumnDef<TAggregationFns> = {
12
+ aggregationType?: AggregationType<TAggregationFns>;
13
+ aggregateValue?: (columnValue: unknown) => any;
14
+ renderAggregatedCell?: () => React.ReactNode;
15
+ enableGrouping?: boolean;
16
+ defaultCanGroup?: boolean;
17
+ getCanGroup?: unknown;
18
+ };
19
+ export declare type GroupingColumn<_TData, _TValue, _TFilterFns, _TSortingFns, TAggregationFns> = {
20
+ aggregationType?: AggregationType<TAggregationFns>;
21
+ getCanGroup: () => boolean;
22
+ getIsGrouped: () => boolean;
23
+ getGroupedIndex: () => number;
24
+ toggleGrouping: () => void;
25
+ getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>;
26
+ };
27
+ export declare type GroupingRow = {
28
+ groupingColumnId?: string;
29
+ groupingValue?: any;
30
+ getIsGrouped: () => boolean;
31
+ };
32
+ export declare type GroupingCell = {
33
+ getIsGrouped: () => boolean;
34
+ getIsPlaceholder: () => boolean;
35
+ getIsAggregated: () => boolean;
36
+ };
37
+ export declare type ColumnDefaultOptions = {
38
+ onGroupingChange: OnChangeFn<GroupingState>;
39
+ autoResetGrouping: boolean;
40
+ enableGrouping: boolean;
41
+ };
42
+ export declare type GroupingOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
43
+ aggregationTypes?: TAggregationFns;
44
+ onGroupingChange?: OnChangeFn<GroupingState>;
45
+ autoResetGrouping?: boolean;
46
+ enableGrouping?: boolean;
47
+ enableGroupingRemoval?: boolean;
48
+ groupRowsFn?: (instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, groupingState: GroupingState, sortedRowsModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
49
+ groupedColumnMode?: false | 'reorder' | 'remove';
50
+ };
51
+ export declare type GroupingColumnMode = false | 'reorder' | 'remove';
52
+ export declare type ToggleGroupingProps = {
53
+ title?: string;
54
+ onClick?: (event: MouseEvent | TouchEvent) => void;
55
+ };
56
+ export declare type GroupingInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
57
+ getColumnAutoAggregationFn: (columnId: string) => AggregationFn | undefined;
58
+ getColumnAggregationFn: (columnId: string) => AggregationFn | undefined;
59
+ setGrouping: (updater: Updater<GroupingState>) => void;
60
+ resetGrouping: () => void;
61
+ toggleColumnGrouping: (columnId: string) => void;
62
+ getColumnCanGroup: (columnId: string) => boolean;
63
+ getColumnIsGrouped: (columnId: string) => boolean;
64
+ getColumnGroupedIndex: (columnId: string) => number;
65
+ getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(columnId: string, userProps?: TGetter) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>;
66
+ getRowIsGrouped: (rowId: string) => boolean;
67
+ getGroupedRowModel: () => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
68
+ getPreGroupedRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
69
+ getPreGroupedFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
70
+ getPreGroupedRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
71
+ getGroupedRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
72
+ getGroupedFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
73
+ getGroupedRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
74
+ };
75
+ export declare function getDefaultColumn<TFilterFns>(): GroupingColumnDef<TFilterFns>;
76
+ export declare function getInitialState(): GroupingTableState;
77
+ export declare function getDefaultOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): GroupingOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
78
+ export declare function createColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): GroupingColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
79
+ export declare function getInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): GroupingInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
80
+ export declare function createRow<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): GroupingRow;
81
+ export declare function createCell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> & GroupingCell, column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, _instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): GroupingCell;
82
+ export declare function orderColumns<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(leafColumns: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[], grouping: string[], groupedColumnMode?: GroupingColumnMode): Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
@@ -0,0 +1,41 @@
1
+ import { Cell, Column, FooterGroupProps, FooterProps, Getter, Header, HeaderGroup, HeaderGroupProps, HeaderProps, PropGetterValue, ReactTable, Row } from '../types';
2
+ export declare type HeadersRow<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
3
+ _getAllVisibleCells: () => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
4
+ getVisibleCells: () => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
5
+ getLeftVisibleCells: () => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
6
+ getCenterVisibleCells: () => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
7
+ getRightVisibleCells: () => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
8
+ };
9
+ export declare type HeadersInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
10
+ createHeader: (column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, options: {
11
+ id?: string;
12
+ isPlaceholder?: boolean;
13
+ placeholderId?: string;
14
+ depth: number;
15
+ }) => Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
16
+ getHeaderGroups: () => HeaderGroup<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
17
+ getLeftHeaderGroups: () => HeaderGroup<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
18
+ getCenterHeaderGroups: () => HeaderGroup<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
19
+ getRightHeaderGroups: () => HeaderGroup<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
20
+ getFooterGroups: () => HeaderGroup<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
21
+ getCenterFooterGroups: () => HeaderGroup<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
22
+ getLeftFooterGroups: () => HeaderGroup<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
23
+ getRightFooterGroups: () => HeaderGroup<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
24
+ getFlatHeaders: () => Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
25
+ getLeftFlatHeaders: () => Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
26
+ getCenterFlatHeaders: () => Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
27
+ getRightFlatHeaders: () => Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
28
+ getLeafHeaders: () => Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
29
+ getLeftLeafHeaders: () => Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
30
+ getCenterLeafHeaders: () => Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
31
+ getRightLeafHeaders: () => Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
32
+ getHeader: (id: string) => Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
33
+ getHeaderGroupProps: <TGetter extends Getter<HeaderGroupProps>>(id: string, userProps?: TGetter) => undefined | PropGetterValue<HeaderGroupProps, TGetter>;
34
+ getFooterGroupProps: <TGetter extends Getter<FooterGroupProps>>(id: string, userProps?: TGetter) => undefined | PropGetterValue<FooterGroupProps, TGetter>;
35
+ getHeaderProps: <TGetter extends Getter<HeaderProps>>(headerId: string, userProps?: TGetter) => undefined | PropGetterValue<HeaderProps, TGetter>;
36
+ getFooterProps: <TGetter extends Getter<FooterProps>>(headerId: string, userProps?: TGetter) => undefined | PropGetterValue<FooterProps, TGetter>;
37
+ getTotalWidth: () => number;
38
+ };
39
+ export declare function createRow<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): HeadersRow<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
40
+ export declare function getInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): HeadersInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
41
+ export declare function buildHeaderGroups<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(allColumns: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[], columnsToGroup: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[], instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, headerFamily?: 'center' | 'left' | 'right'): HeaderGroup<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
@@ -0,0 +1,19 @@
1
+ import { ReactTable, OnChangeFn, Updater, Column } from '../types';
2
+ export declare type ColumnOrderState = string[];
3
+ export declare type ColumnOrderTableState = {
4
+ columnOrder: string[];
5
+ };
6
+ export declare type ColumnOrderOptions = {
7
+ onColumnOrderChange?: OnChangeFn<ColumnOrderState>;
8
+ };
9
+ export declare type ColumnOrderDefaultOptions = {
10
+ onColumnOrderChange: OnChangeFn<ColumnOrderState>;
11
+ };
12
+ export declare type ColumnOrderInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
13
+ setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
14
+ resetColumnOrder: () => void;
15
+ getOrderColumnsFn: () => (columns: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
16
+ };
17
+ export declare function getInitialState(): ColumnOrderTableState;
18
+ export declare function getDefaultOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): ColumnOrderDefaultOptions;
19
+ export declare function getInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): ColumnOrderInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
@@ -0,0 +1,39 @@
1
+ import { OnChangeFn, Updater, ReactTable, Column } from '../types';
2
+ declare type ColumnPinningPosition = 'left' | 'right' | 'both';
3
+ export declare type ColumnPinningState = {
4
+ left?: string[];
5
+ right?: string[];
6
+ };
7
+ export declare type ColumnPinningTableState = {
8
+ columnPinning: ColumnPinningState;
9
+ };
10
+ export declare type ColumnPinningOptions = {
11
+ onColumnPinningChange?: OnChangeFn<ColumnPinningState>;
12
+ enablePinning?: boolean;
13
+ };
14
+ export declare type ColumnPinningDefaultOptions = {
15
+ onColumnPinningChange: OnChangeFn<ColumnPinningState>;
16
+ };
17
+ export declare type ColumnPinningColumnDef = {
18
+ enablePinning?: boolean;
19
+ defaultCanPin?: boolean;
20
+ };
21
+ export declare type ColumnPinningColumn = {
22
+ getCanPin: () => boolean;
23
+ getPinnedIndex: () => number;
24
+ getIsPinned: () => false | ColumnPinningPosition;
25
+ pin: (position: ColumnPinningPosition) => void;
26
+ };
27
+ export declare type ColumnPinningInstance<_TData, _TValue, _TFilterFns, _TSortingFns, _TAggregationFns> = {
28
+ setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
29
+ resetColumnPinning: () => void;
30
+ pinColumn: (columnId: string, position: ColumnPinningPosition) => void;
31
+ getColumnCanPin: (columnId: string) => boolean;
32
+ getColumnIsPinned: (columnId: string) => false | ColumnPinningPosition;
33
+ getColumnPinnedIndex: (columnId: string) => number;
34
+ };
35
+ export declare function getInitialState(): ColumnPinningTableState;
36
+ export declare function getDefaultOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): ColumnPinningDefaultOptions;
37
+ export declare function createColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): ColumnPinningColumn;
38
+ export declare function getInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): ColumnPinningInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
39
+ export {};
@@ -0,0 +1,75 @@
1
+ import { MouseEvent, TouchEvent } from 'react';
2
+ import { RowModel } from '..';
3
+ import { BuiltInSortType } from '../sortTypes';
4
+ import { Column, Getter, OnChangeFn, PropGetterValue, ReactTable, Row, Updater } from '../types';
5
+ export declare type ColumnSort = {
6
+ id: string;
7
+ desc: boolean;
8
+ };
9
+ export declare type SortingState = ColumnSort[];
10
+ export declare type SortingFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
11
+ (rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, columnId: string): number;
12
+ };
13
+ export declare type SortingTableState = {
14
+ sorting: SortingState;
15
+ };
16
+ export declare type SortType<TSortingFns> = 'auto' | BuiltInSortType | keyof TSortingFns | SortingFn<any, any, any, TSortingFns, any>;
17
+ export declare type SortingColumnDef<TFilterFns> = {
18
+ sortType?: SortType<TFilterFns>;
19
+ sortDescFirst?: boolean;
20
+ enableSorting?: boolean;
21
+ enableMultiSort?: boolean;
22
+ defaultCanSort?: boolean;
23
+ invertSorting?: boolean;
24
+ sortUndefined?: false | -1 | 1;
25
+ };
26
+ export declare type SortingColumn<_TData, _TValue, TFilterFns, _TSortingFns, _TAggregationFns> = {
27
+ sortType: SortType<TFilterFns>;
28
+ getCanSort: () => boolean;
29
+ getCanMultiSort: () => boolean;
30
+ getSortIndex: () => number;
31
+ getIsSorted: () => false | 'asc' | 'desc';
32
+ toggleSorting: (desc?: boolean, isMulti?: boolean) => void;
33
+ getToggleSortingProps: <TGetter extends Getter<ToggleSortingProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleSortingProps, TGetter>;
34
+ };
35
+ export declare type SortingOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
36
+ sortTypes?: TSortingFns;
37
+ onSortingChange?: OnChangeFn<SortingState>;
38
+ autoResetSorting?: boolean;
39
+ enableSorting?: boolean;
40
+ enableSortingRemoval?: boolean;
41
+ enableMultiRemove?: boolean;
42
+ enableMultiSort?: boolean;
43
+ sortDescFirst?: boolean;
44
+ sortRowsFn?: (instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, sortingState: SortingState, globalFilteredRowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
45
+ maxMultiSortColCount?: number;
46
+ isMultiSortEvent?: (e: MouseEvent | TouchEvent) => boolean;
47
+ };
48
+ export declare type ToggleSortingProps = {
49
+ title?: string;
50
+ onClick?: (event: MouseEvent | TouchEvent) => void;
51
+ };
52
+ export declare type SortingInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
53
+ getColumnAutoSortingFn: (columnId: string) => SortingFn<any, any, any, any, any> | undefined;
54
+ getColumnSortingFn: (columnId: string) => SortingFn<any, any, any, any, any> | undefined;
55
+ setSorting: (updater: Updater<SortingState>) => void;
56
+ toggleColumnSorting: (columnId: string, desc?: boolean, multi?: boolean) => void;
57
+ resetSorting: () => void;
58
+ getColumnCanSort: (columnId: string) => boolean;
59
+ getColumnCanMultiSort: (columnId: string) => boolean;
60
+ getColumnIsSorted: (columnId: string) => false | 'asc' | 'desc';
61
+ getColumnSortIndex: (columnId: string) => number;
62
+ getToggleSortingProps: <TGetter extends Getter<ToggleSortingProps>>(columnId: string, userProps?: TGetter) => undefined | PropGetterValue<ToggleSortingProps, TGetter>;
63
+ getSortedRowModel: () => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
64
+ getPreSortedRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
65
+ getPreSortedFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
66
+ getPreSortedRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
67
+ getSortedRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
68
+ getSortedFlatRows: () => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
69
+ getSortedRowsById: () => Record<string, Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>;
70
+ };
71
+ export declare function getDefaultColumn<TFilterFns>(): SortingColumnDef<TFilterFns>;
72
+ export declare function getInitialState(): SortingTableState;
73
+ export declare function getDefaultOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): SortingOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
74
+ export declare function createColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): SortingColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
75
+ export declare function getInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): SortingInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
@@ -0,0 +1,47 @@
1
+ import { Cell, Column, Getter, OnChangeFn, PropGetterValue, ReactTable, Updater } from '../types';
2
+ export declare type VisibilityOptions = {
3
+ onColumnVisibilityChange?: OnChangeFn<VisibilityState>;
4
+ enableHiding?: boolean;
5
+ };
6
+ export declare type VisibilityDefaultOptions = {
7
+ onColumnVisibilityChange: OnChangeFn<VisibilityState>;
8
+ };
9
+ export declare type VisibilityState = Record<string, boolean>;
10
+ export declare type VisibilityTableState = {
11
+ columnVisibility: VisibilityState;
12
+ };
13
+ export declare type VisibilityInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
14
+ getVisibleFlatColumns: () => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
15
+ getVisibleLeafColumns: () => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
16
+ setColumnVisibility: (updater: Updater<VisibilityState>) => void;
17
+ toggleColumnVisibility: (columnId: string, value?: boolean) => void;
18
+ toggleAllColumnsVisible: (value?: boolean) => void;
19
+ getColumnIsVisible: (columId: string) => boolean;
20
+ getColumnCanHide: (columnId: string) => boolean;
21
+ getIsAllColumnsVisible: () => boolean;
22
+ getIsSomeColumnsVisible: () => boolean;
23
+ getToggleAllColumnsVisibilityProps: <TGetter extends Getter<ToggleAllColumnsVisibilityProps>>(userProps?: TGetter) => undefined | PropGetterValue<ToggleAllColumnsVisibilityProps, TGetter>;
24
+ };
25
+ declare type ToggleVisibilityProps = {};
26
+ declare type ToggleAllColumnsVisibilityProps = {};
27
+ export declare type VisibilityColumnDef = {
28
+ enableHiding?: boolean;
29
+ defaultCanHide?: boolean;
30
+ };
31
+ export declare type VisibilityRow<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {
32
+ getVisibleCells: () => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[];
33
+ };
34
+ export declare type VisibilityColumn = {
35
+ getCanHide: () => boolean;
36
+ getIsVisible: () => boolean;
37
+ toggleVisibility: (value?: boolean) => void;
38
+ getToggleVisibilityProps: <TGetter extends Getter<ToggleVisibilityProps>>(userProps?: TGetter) => PropGetterValue<ToggleVisibilityProps, TGetter>;
39
+ };
40
+ export declare function getInitialState(): VisibilityTableState;
41
+ export declare function getDefaultOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): VisibilityDefaultOptions;
42
+ export declare function getDefaultColumn(): {
43
+ defaultIsVisible: boolean;
44
+ };
45
+ export declare function createColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>, instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): VisibilityColumn;
46
+ export declare function getInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>): VisibilityInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>;
47
+ export {};