@tanstack/react-table 8.0.0-alpha.1 → 8.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/core.js +37 -11
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +331 -0
- package/build/cjs/features/ColumnSizing.js.map +1 -0
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Headers.js +3 -0
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +361 -28
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +236 -192
- package/build/types/core.d.ts +4 -0
- package/build/types/createTable.d.ts +1 -1
- package/build/types/features/ColumnSizing.d.ts +73 -0
- package/build/types/sortTypes.d.ts +4 -4
- package/build/types/types.d.ts +9 -7
- package/build/types/utils.d.ts +2 -2
- package/build/umd/index.development.js +361 -28
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/core.tsx +43 -5
- package/src/createTable.tsx +1 -1
- package/src/features/ColumnSizing.ts +482 -0
- package/src/features/Filters.ts +1 -1
- package/src/features/Headers.ts +43 -6
- package/src/types.ts +35 -6
- package/src/utils.tsx +8 -2
- package/src/features/withColumnResizing.oldts +0 -281
package/build/cjs/core.js
CHANGED
|
@@ -22,6 +22,7 @@ var Filters = require('./features/Filters.js');
|
|
|
22
22
|
var Sorting = require('./features/Sorting.js');
|
|
23
23
|
var Grouping = require('./features/Grouping.js');
|
|
24
24
|
var Expanding = require('./features/Expanding.js');
|
|
25
|
+
var ColumnSizing = require('./features/ColumnSizing.js');
|
|
25
26
|
|
|
26
27
|
function createTableInstance(options, rerender) {
|
|
27
28
|
var _options$initialState;
|
|
@@ -32,7 +33,7 @@ function createTableInstance(options, rerender) {
|
|
|
32
33
|
|
|
33
34
|
var instance = {};
|
|
34
35
|
|
|
35
|
-
var defaultOptions = _rollupPluginBabelHelpers["extends"]({}, Visibility.getDefaultOptions(instance), Ordering.getDefaultOptions(instance), Pinning.getDefaultOptions(instance), Filters.getDefaultOptions(instance), Sorting.getDefaultOptions(instance), Grouping.getDefaultOptions(instance), Expanding.getDefaultOptions(instance));
|
|
36
|
+
var defaultOptions = _rollupPluginBabelHelpers["extends"]({}, Visibility.getDefaultOptions(instance), Ordering.getDefaultOptions(instance), Pinning.getDefaultOptions(instance), Filters.getDefaultOptions(instance), Sorting.getDefaultOptions(instance), Grouping.getDefaultOptions(instance), Expanding.getDefaultOptions(instance), ColumnSizing.getDefaultOptions(instance));
|
|
36
37
|
|
|
37
38
|
var defaultState = {};
|
|
38
39
|
|
|
@@ -44,9 +45,9 @@ function createTableInstance(options, rerender) {
|
|
|
44
45
|
|
|
45
46
|
instance.options = buildOptions(options);
|
|
46
47
|
|
|
47
|
-
var initialState = _rollupPluginBabelHelpers["extends"]({}, Visibility.getInitialState(), Ordering.getInitialState(), Pinning.getInitialState(), Filters.getInitialState(), Sorting.getInitialState(), Grouping.getInitialState(), Expanding.getInitialState(), (_options$initialState = options.initialState) != null ? _options$initialState : {});
|
|
48
|
+
var initialState = _rollupPluginBabelHelpers["extends"]({}, Visibility.getInitialState(), Ordering.getInitialState(), Pinning.getInitialState(), Filters.getInitialState(), Sorting.getInitialState(), Grouping.getInitialState(), Expanding.getInitialState(), ColumnSizing.getInitialState(), (_options$initialState = options.initialState) != null ? _options$initialState : {});
|
|
48
49
|
|
|
49
|
-
var finalInstance = _rollupPluginBabelHelpers["extends"]({}, instance, Visibility.getInstance(instance), Ordering.getInstance(instance), Pinning.getInstance(instance), Headers.getInstance(instance), Filters.getInstance(instance), Sorting.getInstance(instance), Grouping.getInstance(instance), Expanding.getInstance(instance), {
|
|
50
|
+
var finalInstance = _rollupPluginBabelHelpers["extends"]({}, instance, Visibility.getInstance(instance), Ordering.getInstance(instance), Pinning.getInstance(instance), Headers.getInstance(instance), Filters.getInstance(instance), Sorting.getInstance(instance), Grouping.getInstance(instance), Expanding.getInstance(instance), ColumnSizing.getInstance(instance), {
|
|
50
51
|
rerender: rerender,
|
|
51
52
|
initialState: initialState,
|
|
52
53
|
internalState: initialState,
|
|
@@ -126,11 +127,7 @@ function createTableInstance(options, rerender) {
|
|
|
126
127
|
throw new Error();
|
|
127
128
|
}
|
|
128
129
|
|
|
129
|
-
var column = _rollupPluginBabelHelpers["extends"]({
|
|
130
|
-
width: 150,
|
|
131
|
-
minWidth: 20,
|
|
132
|
-
maxWidth: Number.MAX_SAFE_INTEGER
|
|
133
|
-
}, defaultColumn, columnDef, {
|
|
130
|
+
var column = _rollupPluginBabelHelpers["extends"]({}, ColumnSizing.defaultColumnSizing, defaultColumn, columnDef, {
|
|
134
131
|
id: "" + id,
|
|
135
132
|
accessorFn: accessorFn,
|
|
136
133
|
parent: parent,
|
|
@@ -165,7 +162,7 @@ function createTableInstance(options, rerender) {
|
|
|
165
162
|
}, 'column.getLeafColumns', instance.options.debug)
|
|
166
163
|
});
|
|
167
164
|
|
|
168
|
-
column = Object.assign(column, Visibility.createColumn(column, instance), Pinning.createColumn(column, instance), Filters.createColumn(column, instance), Sorting.createColumn(column, instance), Grouping.createColumn(column, instance)); // Yes, we have to convert instance to uknown, because we know more than the compiler here.
|
|
165
|
+
column = Object.assign(column, Visibility.createColumn(column, instance), Pinning.createColumn(column, instance), Filters.createColumn(column, instance), Sorting.createColumn(column, instance), Grouping.createColumn(column, instance), ColumnSizing.createColumn(column, instance)); // Yes, we have to convert instance to uknown, because we know more than the compiler here.
|
|
169
166
|
|
|
170
167
|
return column;
|
|
171
168
|
},
|
|
@@ -225,7 +222,7 @@ function createTableInstance(options, rerender) {
|
|
|
225
222
|
return column;
|
|
226
223
|
},
|
|
227
224
|
getColumnWidth: function getColumnWidth(columnId) {
|
|
228
|
-
var _column$minWidth,
|
|
225
|
+
var _column$minWidth, _ref3, _column$maxWidth;
|
|
229
226
|
|
|
230
227
|
var column = instance.getColumn(columnId);
|
|
231
228
|
|
|
@@ -233,7 +230,8 @@ function createTableInstance(options, rerender) {
|
|
|
233
230
|
throw new Error();
|
|
234
231
|
}
|
|
235
232
|
|
|
236
|
-
|
|
233
|
+
var columnSize = instance.getState().columnSizing[column.id];
|
|
234
|
+
return Math.min(Math.max((_column$minWidth = column.minWidth) != null ? _column$minWidth : ColumnSizing.defaultColumnSizing.minWidth, (_ref3 = columnSize != null ? columnSize : column.width) != null ? _ref3 : ColumnSizing.defaultColumnSizing.width), (_column$maxWidth = column.maxWidth) != null ? _column$maxWidth : ColumnSizing.defaultColumnSizing.maxWidth);
|
|
237
235
|
},
|
|
238
236
|
createCell: function createCell(row, column, value) {
|
|
239
237
|
var cell = {
|
|
@@ -483,6 +481,34 @@ function createTableInstance(options, rerender) {
|
|
|
483
481
|
key: cell.id,
|
|
484
482
|
role: 'gridcell'
|
|
485
483
|
}, userProps);
|
|
484
|
+
},
|
|
485
|
+
getTableWidth: function getTableWidth() {
|
|
486
|
+
var _instance$getHeaderGr, _instance$getHeaderGr2;
|
|
487
|
+
|
|
488
|
+
return (_instance$getHeaderGr = (_instance$getHeaderGr2 = instance.getHeaderGroups()[0]) == null ? void 0 : _instance$getHeaderGr2.headers.reduce(function (sum, header) {
|
|
489
|
+
return sum + header.getWidth();
|
|
490
|
+
}, 0)) != null ? _instance$getHeaderGr : 0;
|
|
491
|
+
},
|
|
492
|
+
getLeftTableWidth: function getLeftTableWidth() {
|
|
493
|
+
var _instance$getLeftHead, _instance$getLeftHead2;
|
|
494
|
+
|
|
495
|
+
return (_instance$getLeftHead = (_instance$getLeftHead2 = instance.getLeftHeaderGroups()[0]) == null ? void 0 : _instance$getLeftHead2.headers.reduce(function (sum, header) {
|
|
496
|
+
return sum + header.getWidth();
|
|
497
|
+
}, 0)) != null ? _instance$getLeftHead : 0;
|
|
498
|
+
},
|
|
499
|
+
getCenterTableWidth: function getCenterTableWidth() {
|
|
500
|
+
var _instance$getCenterHe, _instance$getCenterHe2;
|
|
501
|
+
|
|
502
|
+
return (_instance$getCenterHe = (_instance$getCenterHe2 = instance.getCenterHeaderGroups()[0]) == null ? void 0 : _instance$getCenterHe2.headers.reduce(function (sum, header) {
|
|
503
|
+
return sum + header.getWidth();
|
|
504
|
+
}, 0)) != null ? _instance$getCenterHe : 0;
|
|
505
|
+
},
|
|
506
|
+
getRightTableWidth: function getRightTableWidth() {
|
|
507
|
+
var _instance$getRightHea, _instance$getRightHea2;
|
|
508
|
+
|
|
509
|
+
return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce(function (sum, header) {
|
|
510
|
+
return sum + header.getWidth();
|
|
511
|
+
}, 0)) != null ? _instance$getRightHea : 0;
|
|
486
512
|
}
|
|
487
513
|
});
|
|
488
514
|
|
package/build/cjs/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sources":["../../src/core.tsx"],"sourcesContent":["import {\n flattenBy,\n functionalUpdate,\n propGetter,\n memo,\n flexRender,\n RequiredKeys,\n} from './utils'\n\nimport {\n Updater,\n PropGetterValue,\n Options,\n TableState,\n ColumnDef,\n Row,\n Column,\n Cell,\n Header,\n AccessorFn,\n HeaderRenderProps,\n TableProps,\n TableBodyProps,\n PropGetter,\n Getter,\n RowProps,\n CellProps,\n ReactTable,\n RowValues,\n Renderable,\n} from './types'\n\nimport * as Visibility from './features/Visibility'\nimport * as Ordering from './features/Ordering'\nimport * as Pinning from './features/Pinning'\nimport * as Headers from './features/Headers'\nimport * as Filters from './features/Filters'\nimport * as Sorting from './features/Sorting'\nimport * as Grouping from './features/Grouping'\nimport * as Expanding from './features/Expanding'\nimport { RowModel } from '.'\n\n// import './features/withColumnResizing';\n// import './features/withPagination';\n// import './features/withRowSelection';\n\nexport type CoreOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n data: TData[]\n columns: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n debug?: boolean\n defaultColumn?: Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n initialState?: Partial<TableState>\n state?: Partial<TableState>\n getSubRows?: (originalRow: TData, index: number) => TData[]\n getRowId?: (\n originalRow: TData,\n index: number,\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => string\n onStateChange?: (newState: TableState) => void\n}\n\nexport type TableCore<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> =\n {\n rerender: () => void\n initialState: TableState\n internalState: TableState\n reset: () => void\n options: RequiredKeys<\n Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n 'state'\n >\n updateOptions: (\n newOptions: Options<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n ) => void\n getRowId: (\n _: TData,\n index: number,\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => string\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n getDefaultColumn: () => Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getColumnDefs: () => ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n createColumn: (\n columnDef: ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n depth: number,\n parent?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getAllColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getAllFlatColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getAllFlatColumnsById: () => Record<\n string,\n Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getAllLeafColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getColumn: (\n columnId: string\n ) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getColumnWidth: (columnId: string) => number\n getTotalWidth: () => number\n createCell: (\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n value: any\n ) => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n createRow: (\n id: string,\n original: TData | undefined,\n rowIndex: number,\n depth: number,\n values: Record<string, any>\n ) => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getCoreRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getCoreRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getCoreFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getCoreRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getRow: (\n id: string\n ) => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getCell: (\n rowId: string,\n columnId: string\n ) => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getTableProps: PropGetter<TableProps>\n getTableBodyProps: PropGetter<TableBodyProps>\n getRowProps: <TGetter extends Getter<RowProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<RowProps, TGetter>\n getCellProps: <TGetter extends Getter<CellProps>>(\n rowId: string,\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<CellProps, TGetter>\n }\n\nexport type CoreRow<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {\n id: string\n index: number\n original?: TData\n depth: number\n values: RowValues\n leafRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n subRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n getRowProps: PropGetter<RowProps>\n originalSubRows?: TData[]\n getAllCells: () => Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getAllCellsByColumnId: () => Record<\n string,\n Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\nexport type CoreColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = (\n | {\n accessorFn: AccessorFn<TData>\n id: string\n accessorKey?: never\n header?:\n | string\n | Renderable<{\n header: Header<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n column: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n }>\n }\n | {\n accessorKey: string & keyof TData\n id?: string\n accessorFn?: never\n header?:\n | string\n | Renderable<{\n header: Header<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n column: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n }>\n }\n | {\n id: string\n accessorKey?: never\n accessorFn?: never\n header?:\n | string\n | Renderable<{\n header: Header<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n column: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n }>\n }\n | {\n header: string\n id?: string\n accessorKey?: never\n accessorFn?: never\n }\n) & {\n __generated: true\n width?: number\n minWidth?: number\n maxWidth?: number\n columns?: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n footer?: Renderable<{\n header: Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n }>\n cell?: Renderable<{\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n value: TValue\n }>\n defaultIsVisible?: boolean\n}\n\nexport type CoreColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TData>\n columnDef: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getWidth: () => number\n columns: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n parent?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getFlatColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getLeafColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n}\n\nexport function createTableInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rerender: () => void\n): ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n if (process.env.NODE_ENV !== 'production' && options.debug) {\n console.info('Creating React Table Instance...')\n }\n\n let instance = {} as ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n\n const defaultOptions = {\n ...Visibility.getDefaultOptions(instance),\n ...Ordering.getDefaultOptions(instance),\n ...Pinning.getDefaultOptions(instance),\n ...Filters.getDefaultOptions(instance),\n ...Sorting.getDefaultOptions(instance),\n ...Grouping.getDefaultOptions(instance),\n ...Expanding.getDefaultOptions(instance),\n }\n\n const defaultState = {}\n\n const buildOptions = (\n options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => ({\n state: defaultState,\n ...defaultOptions,\n ...options,\n })\n\n instance.options = buildOptions(options)\n\n const initialState = {\n ...Visibility.getInitialState(),\n ...Ordering.getInitialState(),\n ...Pinning.getInitialState(),\n ...Filters.getInitialState(),\n ...Sorting.getInitialState(),\n ...Grouping.getInitialState(),\n ...Expanding.getInitialState(),\n ...(options.initialState ?? {}),\n }\n\n const finalInstance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n ...instance,\n ...Visibility.getInstance(instance),\n ...Ordering.getInstance(instance),\n ...Pinning.getInstance(instance),\n ...Headers.getInstance(instance),\n ...Filters.getInstance(instance),\n ...Sorting.getInstance(instance),\n ...Grouping.getInstance(instance),\n ...Expanding.getInstance(instance),\n rerender,\n initialState,\n internalState: initialState,\n reset: () => {\n instance.setState(instance.initialState)\n },\n updateOptions: newOptions => {\n instance.options = buildOptions(newOptions)\n },\n\n getRowId: (\n _: TData,\n index: number,\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => `${parent ? [parent.id, index].join('.') : index}`,\n\n getState: () => {\n return {\n ...instance.internalState,\n ...instance.options.state,\n }\n },\n\n setState: (\n updater: Updater<TableState>,\n shouldRerender: boolean = true\n ) => {\n const newState = functionalUpdate(updater, instance.internalState)\n const onStateChange = instance.options.onStateChange\n\n instance.internalState = newState\n\n if (onStateChange) {\n onStateChange(newState)\n return\n }\n\n if (shouldRerender) {\n instance.rerender()\n }\n },\n\n getDefaultColumn: memo(\n () => [instance.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n\n return {\n header: (\n props: HeaderRenderProps<\n Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n ) => props.header.column.id,\n footer: (\n props: HeaderRenderProps<\n Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n ) => props.header.column.id,\n cell: ({ value = '' }: { value: any }): JSX.Element =>\n typeof value === 'boolean' ? value.toString() : value,\n ...Visibility.getDefaultColumn(),\n ...Filters.getDefaultColumn(),\n ...Sorting.getDefaultColumn(),\n ...Grouping.getDefaultColumn(),\n ...defaultColumn,\n } as Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n },\n 'getDefaultColumn',\n instance.options.debug\n ),\n\n getColumnDefs: () => instance.options.columns,\n\n createColumn: (columnDef, depth: number, parent) => {\n const defaultColumn = instance.getDefaultColumn()\n\n let id =\n columnDef.id ??\n columnDef.accessorKey ??\n (typeof columnDef.header === 'string' ? columnDef.header : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (columnDef.accessorFn) {\n accessorFn = columnDef.accessorFn\n } else if (columnDef.accessorKey) {\n accessorFn = (originalRow?: TData) =>\n (originalRow as any)[columnDef.accessorKey]\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n columnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n width: 150,\n minWidth: 20,\n maxWidth: Number.MAX_SAFE_INTEGER,\n ...defaultColumn,\n ...columnDef,\n id: `${id}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef,\n columns: [],\n getWidth: () => instance.getColumnWidth(column.id),\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n 'column.getFlatColumns',\n instance.options.debug\n ),\n getLeafColumns: memo(\n () => [instance.getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n ]\n },\n 'column.getLeafColumns',\n instance.options.debug\n ),\n }\n\n column = Object.assign(\n column,\n Visibility.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n ),\n Pinning.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n ),\n Filters.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n ),\n Sorting.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n ),\n Grouping.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n )\n )\n\n // Yes, we have to convert instance to uknown, because we know more than the compiler here.\n return column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n },\n\n getAllColumns: memo(\n () => [instance.getColumnDefs()],\n columnDefs => {\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Building Columns...')\n\n const recurseColumns = (\n columnDefs: ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n parent?: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n depth = 0\n ): Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] => {\n return columnDefs.map(columnDef => {\n const column = instance.createColumn(columnDef, depth, parent)\n\n column.columns = columnDef.columns\n ? recurseColumns(columnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n 'getAllColumns',\n instance.options.debug\n ),\n\n getAllFlatColumns: memo(\n () => [instance.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n 'getAllFlatColumns',\n instance.options.debug\n ),\n\n getAllFlatColumnsById: memo(\n () => [instance.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>)\n },\n 'getAllFlatColumnsById',\n instance.options.debug\n ),\n\n getAllLeafColumns: memo(\n () => [instance.getAllColumns(), instance.getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns())\n return orderColumns(leafColumns)\n },\n 'getAllLeafColumns',\n instance.options.debug\n ),\n\n getColumn: columnId => {\n const column = instance.getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[React Table] Column with id ${columnId} does not exist.`\n )\n }\n throw new Error()\n }\n\n return column\n },\n\n getColumnWidth: (columnId: string) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return Math.min(\n Math.max(column.minWidth ?? 0, column.width ?? 0),\n column.maxWidth ?? 0\n )\n },\n\n createCell: (row, column, value) => {\n const cell: Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n id: `${row.id}_${column.id}`,\n rowId: row.id,\n columnId: column.id,\n row,\n column,\n value,\n getCellProps: userProps =>\n instance.getCellProps(row.id, column.id, userProps)!,\n renderCell: () => flexRender(column.cell, { column, cell, value }),\n }\n\n Object.assign(cell, {\n ...Grouping.createCell(\n cell as Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > &\n Grouping.GroupingCell,\n column,\n row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance\n ),\n })\n\n return cell\n },\n\n createRow: (id, original, rowIndex, depth, values) => {\n let row: CoreRow<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n id,\n index: rowIndex,\n original,\n depth,\n values,\n subRows: [],\n leafRows: [],\n getRowProps: userProps => instance.getRowProps(row.id, userProps)!,\n getAllCells: undefined!,\n getAllCellsByColumnId: undefined!,\n }\n\n row.getAllCells = memo(\n () => [instance.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return instance.createCell(\n row as Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n column,\n row.values[column.id]\n )\n })\n },\n process.env.NODE_ENV !== 'production' ? 'row.getAllCells' : '',\n instance.options.debug\n )\n\n row.getAllCellsByColumnId = memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.columnId] = cell\n return acc\n }, {} as Record<string, Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>)\n },\n 'row.getAllCellsByColumnId',\n instance.options.debug\n )\n\n row = Object.assign(\n row,\n Headers.createRow(\n row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance\n ),\n Grouping.createRow(\n row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance\n ),\n Expanding.createRow(\n row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance\n )\n )\n\n return row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n },\n\n getCoreRowModel: memo(\n () => [instance.options.data],\n (\n data\n ): {\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n flatRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n rowsById: Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n } => {\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Accessing...')\n\n // Auto-reset data-dependent states if configured\n if (\n instance.options.autoResetColumnFilters &&\n // @ts-ignore\n instance.getRowModelNonFirst\n ) {\n instance.resetColumnFilters()\n }\n\n if (\n instance.options.autoResetGlobalFilter &&\n // @ts-ignore\n instance.getRowModelNonFirst\n ) {\n instance.resetGlobalFilter()\n }\n\n if (\n instance.options.autoResetSorting &&\n // @ts-ignore\n instance.getRowModelNonFirst\n ) {\n instance.resetSorting()\n }\n\n if (\n instance.options.autoResetGrouping &&\n // @ts-ignore\n instance.getRowModelNonFirst\n ) {\n instance.resetGrouping()\n }\n\n if (\n instance.options.autoResetExpanded &&\n // @ts-ignore\n instance.getRowModelNonFirst\n ) {\n instance.resetExpanded()\n }\n\n // @ts-ignore\n instance.getRowModelNonFirst = true\n\n // Access the row model using initial columns\n const rows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n const flatRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n const rowsById: Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n > = {}\n\n const leafColumns = instance.getAllLeafColumns()\n\n const accessRow = (\n originalRow: TData,\n rowIndex: number,\n depth = 0,\n parentRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => {\n const id = instance.getRowId(originalRow, rowIndex, parent)\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRowId expected an ID, but got ${id}`)\n }\n }\n\n const values: Record<string, any> = {}\n\n for (let i = 0; i < leafColumns.length; i++) {\n const column = leafColumns[i]\n if (column && column.accessorFn) {\n values[column.id] = column.accessorFn(originalRow, rowIndex)\n }\n }\n\n // Make the row\n const row = instance.createRow(\n id,\n originalRow,\n rowIndex,\n depth,\n values\n )\n\n // Push instance row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n if (instance.options.getSubRows) {\n const originalSubRows = instance.options.getSubRows(\n originalRow,\n rowIndex\n )\n\n // Then recursively access them\n if (originalSubRows?.length) {\n row.originalSubRows = originalSubRows\n const subRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n\n for (let i = 0; i < row.originalSubRows.length; i++) {\n accessRow(\n row.originalSubRows[i] as TData,\n i,\n depth + 1,\n subRows,\n row\n )\n }\n // Keep the new subRows array on the row\n row.subRows = subRows\n row.leafRows = flattenBy(subRows, d => d.leafRows)\n }\n }\n }\n\n for (let i = 0; i < data.length; i++) {\n accessRow(data[i] as TData, i, 0, rows)\n }\n\n return { rows, flatRows, rowsById }\n },\n 'getRowModel',\n instance.options.debug\n ),\n\n // The standard\n\n getCoreRows: () => {\n return instance.getCoreRowModel().rows\n },\n\n getCoreFlatRows: () => {\n return instance.getCoreRowModel().flatRows\n },\n\n getCoreRowsById: () => {\n return instance.getCoreRowModel().rowsById\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return instance.getExpandedRowModel()\n },\n\n getRows: () => {\n return instance.getRowModel().rows\n },\n\n getFlatRows: () => {\n return instance.getRowModel().flatRows\n },\n\n getRowsById: () => {\n return instance.getRowModel().rowsById\n },\n\n getRow: (id: string) => {\n const row = instance.getRowsById()[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n\n getCell: (rowId: string, columnId: string) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`[React Table] could not find row with id ${rowId}`)\n }\n throw new Error()\n }\n\n const cell = row.getAllCellsByColumnId()[columnId]\n\n if (!cell) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `[React Table] could not find cell ${columnId} in row ${rowId}`\n )\n }\n throw new Error()\n }\n\n return cell\n },\n\n getTableProps: userProps => {\n return propGetter(\n {\n role: 'table',\n },\n userProps\n )\n },\n\n getTableBodyProps: userProps => {\n return propGetter(\n {\n role: 'rowgroup',\n },\n userProps\n )\n },\n\n getRowProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n if (!row) {\n return\n }\n\n return propGetter(\n {\n key: row.id,\n role: 'row',\n },\n userProps\n )\n },\n\n getCellProps: (rowId, columnId, userProps) => {\n const cell = instance.getCell(rowId, columnId)\n\n if (!cell) {\n return\n }\n\n return propGetter(\n {\n key: cell.id,\n role: 'gridcell',\n },\n userProps\n )\n },\n }\n\n return Object.assign(instance, finalInstance)\n}\n"],"names":["createTableInstance","options","rerender","process","env","NODE_ENV","debug","console","info","instance","defaultOptions","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","defaultState","buildOptions","state","initialState","finalInstance","Headers","internalState","reset","setState","updateOptions","newOptions","getRowId","_","index","parent","id","join","getState","updater","shouldRerender","newState","functionalUpdate","onStateChange","getDefaultColumn","memo","defaultColumn","header","props","column","footer","cell","value","toString","getColumnDefs","columns","createColumn","columnDef","depth","accessorKey","undefined","accessorFn","originalRow","Error","width","minWidth","maxWidth","Number","MAX_SAFE_INTEGER","getWidth","getColumnWidth","getFlatColumns","flatMap","d","getLeafColumns","getOrderColumnsFn","orderColumns","length","leafColumns","Object","assign","getAllColumns","columnDefs","recurseColumns","map","getAllFlatColumns","allColumns","getAllFlatColumnsById","flatColumns","reduce","acc","getAllLeafColumns","getColumn","columnId","warn","Math","min","max","createCell","row","rowId","getCellProps","userProps","renderCell","flexRender","createRow","original","rowIndex","values","subRows","leafRows","getRowProps","getAllCells","getAllCellsByColumnId","allCells","getCoreRowModel","data","autoResetColumnFilters","getRowModelNonFirst","resetColumnFilters","autoResetGlobalFilter","resetGlobalFilter","autoResetSorting","resetSorting","autoResetGrouping","resetGrouping","autoResetExpanded","resetExpanded","rows","flatRows","rowsById","accessRow","parentRows","i","push","getSubRows","originalSubRows","flattenBy","getCoreRows","getCoreFlatRows","getCoreRowsById","getRowModel","getExpandedRowModel","getRows","getFlatRows","getRowsById","getRow","getCell","getTableProps","propGetter","role","getTableBodyProps","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sources":["../../src/core.tsx"],"sourcesContent":["import {\n flattenBy,\n functionalUpdate,\n propGetter,\n memo,\n flexRender,\n RequiredKeys,\n} from './utils'\n\nimport {\n Updater,\n PropGetterValue,\n Options,\n TableState,\n ColumnDef,\n Row,\n Column,\n Cell,\n Header,\n AccessorFn,\n HeaderRenderProps,\n TableProps,\n TableBodyProps,\n PropGetter,\n Getter,\n RowProps,\n CellProps,\n ReactTable,\n RowValues,\n Renderable,\n} from './types'\n\nimport * as Visibility from './features/Visibility'\nimport * as Ordering from './features/Ordering'\nimport * as Pinning from './features/Pinning'\nimport * as Headers from './features/Headers'\nimport * as Filters from './features/Filters'\nimport * as Sorting from './features/Sorting'\nimport * as Grouping from './features/Grouping'\nimport * as Expanding from './features/Expanding'\nimport * as ColumnSizing from './features/ColumnSizing'\nimport { RowModel } from '.'\n\n// import './features/withColumnResizing';\n// import './features/withPagination';\n// import './features/withRowSelection';\n\nexport type CoreOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n data: TData[]\n columns: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n debug?: boolean\n defaultColumn?: Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n initialState?: Partial<TableState>\n state?: Partial<TableState>\n getSubRows?: (originalRow: TData, index: number) => TData[]\n getRowId?: (\n originalRow: TData,\n index: number,\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => string\n onStateChange?: (newState: TableState) => void\n}\n\nexport type TableCore<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> =\n {\n rerender: () => void\n initialState: TableState\n internalState: TableState\n reset: () => void\n options: RequiredKeys<\n Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n 'state'\n >\n updateOptions: (\n newOptions: Options<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n ) => void\n getRowId: (\n _: TData,\n index: number,\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => string\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n getDefaultColumn: () => Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getColumnDefs: () => ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n createColumn: (\n columnDef: ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n depth: number,\n parent?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getAllColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getAllFlatColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getAllFlatColumnsById: () => Record<\n string,\n Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getAllLeafColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getColumn: (\n columnId: string\n ) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getColumnWidth: (columnId: string) => number\n getTotalWidth: () => number\n createCell: (\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n value: any\n ) => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n createRow: (\n id: string,\n original: TData | undefined,\n rowIndex: number,\n depth: number,\n values: Record<string, any>\n ) => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getCoreRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getCoreRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getCoreFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getCoreRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getRow: (\n id: string\n ) => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getCell: (\n rowId: string,\n columnId: string\n ) => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getTableProps: PropGetter<TableProps>\n getTableBodyProps: PropGetter<TableBodyProps>\n getRowProps: <TGetter extends Getter<RowProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<RowProps, TGetter>\n getCellProps: <TGetter extends Getter<CellProps>>(\n rowId: string,\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<CellProps, TGetter>\n getTableWidth: () => number\n getLeftTableWidth: () => number\n getCenterTableWidth: () => number\n getRightTableWidth: () => number\n }\n\nexport type CoreRow<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {\n id: string\n index: number\n original?: TData\n depth: number\n values: RowValues\n leafRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n subRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n getRowProps: PropGetter<RowProps>\n originalSubRows?: TData[]\n getAllCells: () => Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getAllCellsByColumnId: () => Record<\n string,\n Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\nexport type CoreColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = (\n | {\n accessorFn: AccessorFn<TData>\n id: string\n accessorKey?: never\n header?:\n | string\n | Renderable<{\n header: Header<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n column: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n }>\n }\n | {\n accessorKey: string & keyof TData\n id?: string\n accessorFn?: never\n header?:\n | string\n | Renderable<{\n header: Header<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n column: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n }>\n }\n | {\n id: string\n accessorKey?: never\n accessorFn?: never\n header?:\n | string\n | Renderable<{\n header: Header<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n column: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n }>\n }\n | {\n header: string\n id?: string\n accessorKey?: never\n accessorFn?: never\n }\n) & {\n __generated: true\n width?: number\n minWidth?: number\n maxWidth?: number\n columns?: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n footer?: Renderable<{\n header: Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n }>\n cell?: Renderable<{\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n value: TValue\n }>\n defaultIsVisible?: boolean\n}\n\nexport type CoreColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TData>\n columnDef: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getWidth: () => number\n columns: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n parent?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getFlatColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getLeafColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n}\n\nexport function createTableInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rerender: () => void\n): ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n if (process.env.NODE_ENV !== 'production' && options.debug) {\n console.info('Creating React Table Instance...')\n }\n\n let instance = {} as ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n\n const defaultOptions = {\n ...Visibility.getDefaultOptions(instance),\n ...Ordering.getDefaultOptions(instance),\n ...Pinning.getDefaultOptions(instance),\n ...Filters.getDefaultOptions(instance),\n ...Sorting.getDefaultOptions(instance),\n ...Grouping.getDefaultOptions(instance),\n ...Expanding.getDefaultOptions(instance),\n ...ColumnSizing.getDefaultOptions(instance),\n }\n\n const defaultState = {}\n\n const buildOptions = (\n options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => ({\n state: defaultState,\n ...defaultOptions,\n ...options,\n })\n\n instance.options = buildOptions(options)\n\n const initialState = {\n ...Visibility.getInitialState(),\n ...Ordering.getInitialState(),\n ...Pinning.getInitialState(),\n ...Filters.getInitialState(),\n ...Sorting.getInitialState(),\n ...Grouping.getInitialState(),\n ...Expanding.getInitialState(),\n ...ColumnSizing.getInitialState(),\n ...(options.initialState ?? {}),\n }\n\n const finalInstance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n ...instance,\n ...Visibility.getInstance(instance),\n ...Ordering.getInstance(instance),\n ...Pinning.getInstance(instance),\n ...Headers.getInstance(instance),\n ...Filters.getInstance(instance),\n ...Sorting.getInstance(instance),\n ...Grouping.getInstance(instance),\n ...Expanding.getInstance(instance),\n ...ColumnSizing.getInstance(instance),\n rerender,\n initialState,\n internalState: initialState,\n reset: () => {\n instance.setState(instance.initialState)\n },\n updateOptions: newOptions => {\n instance.options = buildOptions(newOptions)\n },\n\n getRowId: (\n _: TData,\n index: number,\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => `${parent ? [parent.id, index].join('.') : index}`,\n\n getState: () => {\n return {\n ...instance.internalState,\n ...instance.options.state,\n }\n },\n\n setState: (\n updater: Updater<TableState>,\n shouldRerender: boolean = true\n ) => {\n const newState = functionalUpdate(updater, instance.internalState)\n const onStateChange = instance.options.onStateChange\n\n instance.internalState = newState\n\n if (onStateChange) {\n onStateChange(newState)\n return\n }\n\n if (shouldRerender) {\n instance.rerender()\n }\n },\n\n getDefaultColumn: memo(\n () => [instance.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n\n return {\n header: (\n props: HeaderRenderProps<\n Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n ) => props.header.column.id,\n footer: (\n props: HeaderRenderProps<\n Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n ) => props.header.column.id,\n cell: ({ value = '' }: { value: any }): JSX.Element =>\n typeof value === 'boolean' ? value.toString() : value,\n ...Visibility.getDefaultColumn(),\n ...Filters.getDefaultColumn(),\n ...Sorting.getDefaultColumn(),\n ...Grouping.getDefaultColumn(),\n ...defaultColumn,\n } as Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n },\n 'getDefaultColumn',\n instance.options.debug\n ),\n\n getColumnDefs: () => instance.options.columns,\n\n createColumn: (columnDef, depth: number, parent) => {\n const defaultColumn = instance.getDefaultColumn()\n\n let id =\n columnDef.id ??\n columnDef.accessorKey ??\n (typeof columnDef.header === 'string' ? columnDef.header : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (columnDef.accessorFn) {\n accessorFn = columnDef.accessorFn\n } else if (columnDef.accessorKey) {\n accessorFn = (originalRow?: TData) =>\n (originalRow as any)[columnDef.accessorKey]\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n columnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n ...ColumnSizing.defaultColumnSizing,\n ...defaultColumn,\n ...columnDef,\n id: `${id}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef,\n columns: [],\n getWidth: () => instance.getColumnWidth(column.id),\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n 'column.getFlatColumns',\n instance.options.debug\n ),\n getLeafColumns: memo(\n () => [instance.getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n ]\n },\n 'column.getLeafColumns',\n instance.options.debug\n ),\n }\n\n column = Object.assign(\n column,\n Visibility.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n ),\n Pinning.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n ),\n Filters.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n ),\n Sorting.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n ),\n Grouping.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n ),\n ColumnSizing.createColumn(\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n instance\n )\n )\n\n // Yes, we have to convert instance to uknown, because we know more than the compiler here.\n return column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n },\n\n getAllColumns: memo(\n () => [instance.getColumnDefs()],\n columnDefs => {\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Building Columns...')\n\n const recurseColumns = (\n columnDefs: ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n parent?: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n depth = 0\n ): Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] => {\n return columnDefs.map(columnDef => {\n const column = instance.createColumn(columnDef, depth, parent)\n\n column.columns = columnDef.columns\n ? recurseColumns(columnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n 'getAllColumns',\n instance.options.debug\n ),\n\n getAllFlatColumns: memo(\n () => [instance.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n 'getAllFlatColumns',\n instance.options.debug\n ),\n\n getAllFlatColumnsById: memo(\n () => [instance.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>)\n },\n 'getAllFlatColumnsById',\n instance.options.debug\n ),\n\n getAllLeafColumns: memo(\n () => [instance.getAllColumns(), instance.getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns())\n return orderColumns(leafColumns)\n },\n 'getAllLeafColumns',\n instance.options.debug\n ),\n\n getColumn: columnId => {\n const column = instance.getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[React Table] Column with id ${columnId} does not exist.`\n )\n }\n throw new Error()\n }\n\n return column\n },\n\n getColumnWidth: (columnId: string) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const columnSize = instance.getState().columnSizing[column.id]\n\n return Math.min(\n Math.max(\n column.minWidth ?? ColumnSizing.defaultColumnSizing.minWidth,\n columnSize ?? column.width ?? ColumnSizing.defaultColumnSizing.width\n ),\n column.maxWidth ?? ColumnSizing.defaultColumnSizing.maxWidth\n )\n },\n\n createCell: (row, column, value) => {\n const cell: Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n id: `${row.id}_${column.id}`,\n rowId: row.id,\n columnId: column.id,\n row,\n column,\n value,\n getCellProps: userProps =>\n instance.getCellProps(row.id, column.id, userProps)!,\n renderCell: () => flexRender(column.cell, { column, cell, value }),\n }\n\n Object.assign(cell, {\n ...Grouping.createCell(\n cell as Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > &\n Grouping.GroupingCell,\n column,\n row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance\n ),\n })\n\n return cell\n },\n\n createRow: (id, original, rowIndex, depth, values) => {\n let row: CoreRow<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n id,\n index: rowIndex,\n original,\n depth,\n values,\n subRows: [],\n leafRows: [],\n getRowProps: userProps => instance.getRowProps(row.id, userProps)!,\n getAllCells: undefined!,\n getAllCellsByColumnId: undefined!,\n }\n\n row.getAllCells = memo(\n () => [instance.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return instance.createCell(\n row as Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n column,\n row.values[column.id]\n )\n })\n },\n process.env.NODE_ENV !== 'production' ? 'row.getAllCells' : '',\n instance.options.debug\n )\n\n row.getAllCellsByColumnId = memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.columnId] = cell\n return acc\n }, {} as Record<string, Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>)\n },\n 'row.getAllCellsByColumnId',\n instance.options.debug\n )\n\n row = Object.assign(\n row,\n Headers.createRow(\n row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance\n ),\n Grouping.createRow(\n row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance\n ),\n Expanding.createRow(\n row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance\n )\n )\n\n return row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n },\n\n getCoreRowModel: memo(\n () => [instance.options.data],\n (\n data\n ): {\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n flatRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n rowsById: Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n } => {\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Accessing...')\n\n // Auto-reset data-dependent states if configured\n if (\n instance.options.autoResetColumnFilters &&\n // @ts-ignore\n instance.getRowModelNonFirst\n ) {\n instance.resetColumnFilters()\n }\n\n if (\n instance.options.autoResetGlobalFilter &&\n // @ts-ignore\n instance.getRowModelNonFirst\n ) {\n instance.resetGlobalFilter()\n }\n\n if (\n instance.options.autoResetSorting &&\n // @ts-ignore\n instance.getRowModelNonFirst\n ) {\n instance.resetSorting()\n }\n\n if (\n instance.options.autoResetGrouping &&\n // @ts-ignore\n instance.getRowModelNonFirst\n ) {\n instance.resetGrouping()\n }\n\n if (\n instance.options.autoResetExpanded &&\n // @ts-ignore\n instance.getRowModelNonFirst\n ) {\n instance.resetExpanded()\n }\n\n // @ts-ignore\n instance.getRowModelNonFirst = true\n\n // Access the row model using initial columns\n const rows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n const flatRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n const rowsById: Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n > = {}\n\n const leafColumns = instance.getAllLeafColumns()\n\n const accessRow = (\n originalRow: TData,\n rowIndex: number,\n depth = 0,\n parentRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => {\n const id = instance.getRowId(originalRow, rowIndex, parent)\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRowId expected an ID, but got ${id}`)\n }\n }\n\n const values: Record<string, any> = {}\n\n for (let i = 0; i < leafColumns.length; i++) {\n const column = leafColumns[i]\n if (column && column.accessorFn) {\n values[column.id] = column.accessorFn(originalRow, rowIndex)\n }\n }\n\n // Make the row\n const row = instance.createRow(\n id,\n originalRow,\n rowIndex,\n depth,\n values\n )\n\n // Push instance row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n if (instance.options.getSubRows) {\n const originalSubRows = instance.options.getSubRows(\n originalRow,\n rowIndex\n )\n\n // Then recursively access them\n if (originalSubRows?.length) {\n row.originalSubRows = originalSubRows\n const subRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n\n for (let i = 0; i < row.originalSubRows.length; i++) {\n accessRow(\n row.originalSubRows[i] as TData,\n i,\n depth + 1,\n subRows,\n row\n )\n }\n // Keep the new subRows array on the row\n row.subRows = subRows\n row.leafRows = flattenBy(subRows, d => d.leafRows)\n }\n }\n }\n\n for (let i = 0; i < data.length; i++) {\n accessRow(data[i] as TData, i, 0, rows)\n }\n\n return { rows, flatRows, rowsById }\n },\n 'getRowModel',\n instance.options.debug\n ),\n\n // The standard\n\n getCoreRows: () => {\n return instance.getCoreRowModel().rows\n },\n\n getCoreFlatRows: () => {\n return instance.getCoreRowModel().flatRows\n },\n\n getCoreRowsById: () => {\n return instance.getCoreRowModel().rowsById\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return instance.getExpandedRowModel()\n },\n\n getRows: () => {\n return instance.getRowModel().rows\n },\n\n getFlatRows: () => {\n return instance.getRowModel().flatRows\n },\n\n getRowsById: () => {\n return instance.getRowModel().rowsById\n },\n\n getRow: (id: string) => {\n const row = instance.getRowsById()[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n\n getCell: (rowId: string, columnId: string) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`[React Table] could not find row with id ${rowId}`)\n }\n throw new Error()\n }\n\n const cell = row.getAllCellsByColumnId()[columnId]\n\n if (!cell) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `[React Table] could not find cell ${columnId} in row ${rowId}`\n )\n }\n throw new Error()\n }\n\n return cell\n },\n\n getTableProps: userProps => {\n return propGetter(\n {\n role: 'table',\n },\n userProps\n )\n },\n\n getTableBodyProps: userProps => {\n return propGetter(\n {\n role: 'rowgroup',\n },\n userProps\n )\n },\n\n getRowProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n if (!row) {\n return\n }\n\n return propGetter(\n {\n key: row.id,\n role: 'row',\n },\n userProps\n )\n },\n\n getCellProps: (rowId, columnId, userProps) => {\n const cell = instance.getCell(rowId, columnId)\n\n if (!cell) {\n return\n }\n\n return propGetter(\n {\n key: cell.id,\n role: 'gridcell',\n },\n userProps\n )\n },\n\n getTableWidth: () =>\n instance.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getWidth()\n }, 0) ?? 0,\n getLeftTableWidth: () =>\n instance.getLeftHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getWidth()\n }, 0) ?? 0,\n getCenterTableWidth: () =>\n instance.getCenterHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getWidth()\n }, 0) ?? 0,\n getRightTableWidth: () =>\n instance.getRightHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getWidth()\n }, 0) ?? 0,\n }\n\n return Object.assign(instance, finalInstance)\n}\n"],"names":["createTableInstance","options","rerender","process","env","NODE_ENV","debug","console","info","instance","defaultOptions","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","ColumnSizing","defaultState","buildOptions","state","initialState","finalInstance","Headers","internalState","reset","setState","updateOptions","newOptions","getRowId","_","index","parent","id","join","getState","updater","shouldRerender","newState","functionalUpdate","onStateChange","getDefaultColumn","memo","defaultColumn","header","props","column","footer","cell","value","toString","getColumnDefs","columns","createColumn","columnDef","depth","accessorKey","undefined","accessorFn","originalRow","Error","getWidth","getColumnWidth","getFlatColumns","flatMap","d","getLeafColumns","getOrderColumnsFn","orderColumns","length","leafColumns","Object","assign","getAllColumns","columnDefs","recurseColumns","map","getAllFlatColumns","allColumns","getAllFlatColumnsById","flatColumns","reduce","acc","getAllLeafColumns","getColumn","columnId","warn","columnSize","columnSizing","Math","min","max","minWidth","width","maxWidth","createCell","row","rowId","getCellProps","userProps","renderCell","flexRender","createRow","original","rowIndex","values","subRows","leafRows","getRowProps","getAllCells","getAllCellsByColumnId","allCells","getCoreRowModel","data","autoResetColumnFilters","getRowModelNonFirst","resetColumnFilters","autoResetGlobalFilter","resetGlobalFilter","autoResetSorting","resetSorting","autoResetGrouping","resetGrouping","autoResetExpanded","resetExpanded","rows","flatRows","rowsById","accessRow","parentRows","i","push","getSubRows","originalSubRows","flattenBy","getCoreRows","getCoreFlatRows","getCoreRowsById","getRowModel","getExpandedRowModel","getRows","getFlatRows","getRowsById","getRow","getCell","getTableProps","propGetter","role","getTableBodyProps","key","getTableWidth","getHeaderGroups","headers","sum","getLeftTableWidth","getLeftHeaderGroups","getCenterTableWidth","getCenterHeaderGroups","getRightTableWidth","getRightHeaderGroups"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmYO,SAASA,mBAAT,CAOLC,OAPK,EAQLC,QARK,EASgE;AAAA;;AACrE,MAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCJ,OAAO,CAACK,KAArD,EAA4D;AAC1DC,IAAAA,OAAO,CAACC,IAAR,CAAa,kCAAb;AACD;;AAED,MAAIC,QAAQ,GAAG,EAAf;;AAQA,MAAMC,cAAc,4CACfC,4BAAA,CAA6BF,QAA7B,CADe,EAEfG,0BAAA,CAA2BH,QAA3B,CAFe,EAGfI,yBAAA,CAA0BJ,QAA1B,CAHe,EAIfK,yBAAA,CAA0BL,QAA1B,CAJe,EAKfM,yBAAA,CAA0BN,QAA1B,CALe,EAMfO,0BAAA,CAA2BP,QAA3B,CANe,EAOfQ,2BAAA,CAA4BR,QAA5B,CAPe,EAQfS,8BAAA,CAA+BT,QAA/B,CARe,CAApB;;AAWA,MAAMU,YAAY,GAAG,EAArB;;AAEA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CACnBnB,OADmB;AAAA;AAGnBoB,MAAAA,KAAK,EAAEF;AAHY,OAIhBT,cAJgB,EAKhBT,OALgB;AAAA,GAArB;;AAQAQ,EAAAA,QAAQ,CAACR,OAAT,GAAmBmB,YAAY,CAACnB,OAAD,CAA/B;;AAEA,MAAMqB,YAAY,4CACbX,0BAAA,EADa,EAEbC,wBAAA,EAFa,EAGbC,uBAAA,EAHa,EAIbC,uBAAA,EAJa,EAKbC,uBAAA,EALa,EAMbC,wBAAA,EANa,EAObC,yBAAA,EAPa,EAQbC,4BAAA,EARa,2BASZjB,OAAO,CAACqB,YATI,oCASY,EATZ,CAAlB;;AAYA,MAAMC,aAML,4CACId,QADJ,EAEIE,sBAAA,CAAuBF,QAAvB,CAFJ,EAGIG,oBAAA,CAAqBH,QAArB,CAHJ,EAIII,mBAAA,CAAoBJ,QAApB,CAJJ,EAKIe,mBAAA,CAAoBf,QAApB,CALJ,EAMIK,mBAAA,CAAoBL,QAApB,CANJ,EAOIM,mBAAA,CAAoBN,QAApB,CAPJ,EAQIO,oBAAA,CAAqBP,QAArB,CARJ,EASIQ,qBAAA,CAAsBR,QAAtB,CATJ,EAUIS,wBAAA,CAAyBT,QAAzB,CAVJ;AAWCP,IAAAA,QAAQ,EAARA,QAXD;AAYCoB,IAAAA,YAAY,EAAZA,YAZD;AAaCG,IAAAA,aAAa,EAAEH,YAbhB;AAcCI,IAAAA,KAAK,EAAE,iBAAM;AACXjB,MAAAA,QAAQ,CAACkB,QAAT,CAAkBlB,QAAQ,CAACa,YAA3B;AACD,KAhBF;AAiBCM,IAAAA,aAAa,EAAE,uBAAAC,UAAU,EAAI;AAC3BpB,MAAAA,QAAQ,CAACR,OAAT,GAAmBmB,YAAY,CAACS,UAAD,CAA/B;AACD,KAnBF;AAqBCC,IAAAA,QAAQ,EAAE,kBACRC,CADQ,EAERC,KAFQ,EAGRC,MAHQ;AAAA,mBAIFA,MAAM,GAAG,CAACA,MAAM,CAACC,EAAR,EAAYF,KAAZ,EAAmBG,IAAnB,CAAwB,GAAxB,CAAH,GAAkCH,KAJtC;AAAA,KArBX;AA2BCI,IAAAA,QAAQ,EAAE,oBAAM;AACd,sDACK3B,QAAQ,CAACgB,aADd,EAEKhB,QAAQ,CAACR,OAAT,CAAiBoB,KAFtB;AAID,KAhCF;AAkCCM,IAAAA,QAAQ,EAAE,kBACRU,OADQ,EAERC,cAFQ,EAGL;AAAA,UADHA,cACG;AADHA,QAAAA,cACG,GADuB,IACvB;AAAA;;AACH,UAAMC,QAAQ,GAAGC,sBAAgB,CAACH,OAAD,EAAU5B,QAAQ,CAACgB,aAAnB,CAAjC;AACA,UAAMgB,aAAa,GAAGhC,QAAQ,CAACR,OAAT,CAAiBwC,aAAvC;AAEAhC,MAAAA,QAAQ,CAACgB,aAAT,GAAyBc,QAAzB;;AAEA,UAAIE,aAAJ,EAAmB;AACjBA,QAAAA,aAAa,CAACF,QAAD,CAAb;AACA;AACD;;AAED,UAAID,cAAJ,EAAoB;AAClB7B,QAAAA,QAAQ,CAACP,QAAT;AACD;AACF,KAnDF;AAqDCwC,IAAAA,gBAAgB,EAAEC,UAAI,CACpB;AAAA,aAAM,CAAClC,QAAQ,CAACR,OAAT,CAAiB2C,aAAlB,CAAN;AAAA,KADoB,EAEpB,UAAAA,aAAa,EAAI;AAAA;;AACfA,MAAAA,aAAa,qBAAIA,aAAJ,6BAAqB,EAAlC;AAIA;AACEC,QAAAA,MAAM,EAAE,gBACNC,KADM;AAAA,iBAIHA,KAAK,CAACD,MAAN,CAAaE,MAAb,CAAoBb,EAJjB;AAAA,SADV;AAMEc,QAAAA,MAAM,EAAE,gBACNF,KADM;AAAA,iBAIHA,KAAK,CAACD,MAAN,CAAaE,MAAb,CAAoBb,EAJjB;AAAA,SANV;AAWEe,QAAAA,IAAI,EAAE;AAAA,gCAAGC,KAAH;AAAA,cAAGA,KAAH,2BAAW,EAAX;AAAA,iBACJ,OAAOA,KAAP,KAAiB,SAAjB,GAA6BA,KAAK,CAACC,QAAN,EAA7B,GAAgDD,KAD5C;AAAA;AAXR,SAaKvC,2BAAA,EAbL,EAcKG,wBAAA,EAdL,EAeKC,wBAAA,EAfL,EAgBKC,yBAAA,EAhBL,EAiBK4B,aAjBL;AAqBD,KA5BmB,EA6BpB,kBA7BoB,EA8BpBnC,QAAQ,CAACR,OAAT,CAAiBK,KA9BG,CArDvB;AAsFC8C,IAAAA,aAAa,EAAE;AAAA,aAAM3C,QAAQ,CAACR,OAAT,CAAiBoD,OAAvB;AAAA,KAtFhB;AAwFCC,IAAAA,YAAY,EAAE,sBAACC,SAAD,EAAYC,KAAZ,EAA2BvB,MAA3B,EAAsC;AAAA;;AAClD,UAAMW,aAAa,GAAGnC,QAAQ,CAACiC,gBAAT,EAAtB;AAEA,UAAIR,EAAE,6BACJqB,SAAS,CAACrB,EADN,4BAEJqB,SAAS,CAACE,WAFN,oBAGH,OAAOF,SAAS,CAACV,MAAjB,KAA4B,QAA5B,GAAuCU,SAAS,CAACV,MAAjD,GAA0Da,SAH7D;AAKA,UAAIC,UAAJ;;AAEA,UAAIJ,SAAS,CAACI,UAAd,EAA0B;AACxBA,QAAAA,UAAU,GAAGJ,SAAS,CAACI,UAAvB;AACD,OAFD,MAEO,IAAIJ,SAAS,CAACE,WAAd,EAA2B;AAChCE,QAAAA,UAAU,GAAG,oBAACC,WAAD;AAAA,iBACVA,WAAD,CAAqBL,SAAS,CAACE,WAA/B,CADW;AAAA,SAAb;AAED;;AAED,UAAI,CAACvB,EAAL,EAAS;AACP,YAAI/B,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,gBAAM,IAAIwD,KAAJ,CACJN,SAAS,CAACI,UAAV,4GADI,CAAN;AAKD;;AACD,cAAM,IAAIE,KAAJ,EAAN;AACD;;AAED,UAAId,MAMH,4CACI7B,gCADJ,EAEI0B,aAFJ,EAGIW,SAHJ;AAICrB,QAAAA,EAAE,OAAKA,EAJR;AAKCyB,QAAAA,UAAU,EAAVA,UALD;AAMC1B,QAAAA,MAAM,EAAEA,MANT;AAOCuB,QAAAA,KAAK,EAALA,KAPD;AAQCD,QAAAA,SAAS,EAATA,SARD;AASCF,QAAAA,OAAO,EAAE,EATV;AAUCS,QAAAA,QAAQ,EAAE;AAAA,iBAAMrD,QAAQ,CAACsD,cAAT,CAAwBhB,MAAM,CAACb,EAA/B,CAAN;AAAA,SAVX;AAWC8B,QAAAA,cAAc,EAAErB,UAAI,CAClB;AAAA,iBAAM,CAAC,IAAD,CAAN;AAAA,SADkB,EAElB,YAAM;AAAA;;AACJ,kBACEI,MADF,4BAQKA,MAAM,CAACM,OARZ,qBAQK,gBAAgBY,OAAhB,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACF,cAAF,EAAJ;AAAA,WAAzB,CARL;AAUD,SAbiB,EAclB,uBAdkB,EAelBvD,QAAQ,CAACR,OAAT,CAAiBK,KAfC,CAXrB;AA4BC6D,QAAAA,cAAc,EAAExB,UAAI,CAClB;AAAA,iBAAM,CAAClC,QAAQ,CAAC2D,iBAAT,EAAD,CAAN;AAAA,SADkB,EAElB,UAAAC,YAAY,EAAI;AAAA;;AACd,kCAAItB,MAAM,CAACM,OAAX,aAAI,iBAAgBiB,MAApB,EAA4B;AAC1B,gBAAIC,WAAW,GAAGxB,MAAM,CAACM,OAAP,CAAeY,OAAf,CAAuB,UAAAlB,MAAM;AAAA,qBAC7CA,MAAM,CAACoB,cAAP,EAD6C;AAAA,aAA7B,CAAlB;AAIA,mBAAOE,YAAY,CAACE,WAAD,CAAnB;AACD;;AAED,iBAAO,CACLxB,MADK,CAAP;AASD,SApBiB,EAqBlB,uBArBkB,EAsBlBtC,QAAQ,CAACR,OAAT,CAAiBK,KAtBC;AA5BrB,QAND;;AA4DAyC,MAAAA,MAAM,GAAGyB,MAAM,CAACC,MAAP,CACP1B,MADO,EAEPpC,uBAAA,CACEoC,MADF,EAQEtC,QARF,CAFO,EAYPI,oBAAA,CACEkC,MADF,EAQEtC,QARF,CAZO,EAsBPK,oBAAA,CACEiC,MADF,EAQEtC,QARF,CAtBO,EAgCPM,oBAAA,CACEgC,MADF,EAQEtC,QARF,CAhCO,EA0CPO,qBAAA,CACE+B,MADF,EAQEtC,QARF,CA1CO,EAoDPS,yBAAA,CACE6B,MADF,EAQEtC,QARF,CApDO,CAAT,CAxFkD;;AAyJlD,aAAOsC,MAAP;AAOD,KAxPF;AA0PC2B,IAAAA,aAAa,EAAE/B,UAAI,CACjB;AAAA,aAAM,CAAClC,QAAQ,CAAC2C,aAAT,EAAD,CAAN;AAAA,KADiB,EAEjB,UAAAuB,UAAU,EAAI;AACZ,UAAIxE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCI,QAAQ,CAACR,OAAT,CAAiBK,KAA9D,EACEC,OAAO,CAACC,IAAR,CAAa,qBAAb;;AAEF,UAAMoE,cAAc,GAAG,SAAjBA,cAAiB,CACrBD,UADqB,EAQrB1C,MARqB,EAerBuB,KAfqB,EAsBhB;AAAA,YAPLA,KAOK;AAPLA,UAAAA,KAOK,GAPG,CAOH;AAAA;;AACL,eAAOmB,UAAU,CAACE,GAAX,CAAe,UAAAtB,SAAS,EAAI;AACjC,cAAMR,MAAM,GAAGtC,QAAQ,CAAC6C,YAAT,CAAsBC,SAAtB,EAAiCC,KAAjC,EAAwCvB,MAAxC,CAAf;AAEAc,UAAAA,MAAM,CAACM,OAAP,GAAiBE,SAAS,CAACF,OAAV,GACbuB,cAAc,CAACrB,SAAS,CAACF,OAAX,EAAoBN,MAApB,EAA4BS,KAAK,GAAG,CAApC,CADD,GAEb,EAFJ;AAIA,iBAAOT,MAAP;AACD,SARM,CAAP;AASD,OAhCD;;AAkCA,aAAO6B,cAAc,CAACD,UAAD,CAArB;AACD,KAzCgB,EA0CjB,eA1CiB,EA2CjBlE,QAAQ,CAACR,OAAT,CAAiBK,KA3CA,CA1PpB;AAwSCwE,IAAAA,iBAAiB,EAAEnC,UAAI,CACrB;AAAA,aAAM,CAAClC,QAAQ,CAACiE,aAAT,EAAD,CAAN;AAAA,KADqB,EAErB,UAAAK,UAAU,EAAI;AACZ,aAAOA,UAAU,CAACd,OAAX,CAAmB,UAAAlB,MAAM,EAAI;AAClC,eAAOA,MAAM,CAACiB,cAAP,EAAP;AACD,OAFM,CAAP;AAGD,KANoB,EAOrB,mBAPqB,EAQrBvD,QAAQ,CAACR,OAAT,CAAiBK,KARI,CAxSxB;AAmTC0E,IAAAA,qBAAqB,EAAErC,UAAI,CACzB;AAAA,aAAM,CAAClC,QAAQ,CAACqE,iBAAT,EAAD,CAAN;AAAA,KADyB,EAEzB,UAAAG,WAAW,EAAI;AACb,aAAOA,WAAW,CAACC,MAAZ,CAAmB,UAACC,GAAD,EAAMpC,MAAN,EAAiB;AACzCoC,QAAAA,GAAG,CAACpC,MAAM,CAACb,EAAR,CAAH,GAAiBa,MAAjB;AACA,eAAOoC,GAAP;AACD,OAHM,EAGJ,EAHI,CAAP;AAID,KAPwB,EAQzB,uBARyB,EASzB1E,QAAQ,CAACR,OAAT,CAAiBK,KATQ,CAnT5B;AA+TC8E,IAAAA,iBAAiB,EAAEzC,UAAI,CACrB;AAAA,aAAM,CAAClC,QAAQ,CAACiE,aAAT,EAAD,EAA2BjE,QAAQ,CAAC2D,iBAAT,EAA3B,CAAN;AAAA,KADqB,EAErB,UAACW,UAAD,EAAaV,YAAb,EAA8B;AAC5B,UAAIE,WAAW,GAAGQ,UAAU,CAACd,OAAX,CAAmB,UAAAlB,MAAM;AAAA,eAAIA,MAAM,CAACoB,cAAP,EAAJ;AAAA,OAAzB,CAAlB;AACA,aAAOE,YAAY,CAACE,WAAD,CAAnB;AACD,KALoB,EAMrB,mBANqB,EAOrB9D,QAAQ,CAACR,OAAT,CAAiBK,KAPI,CA/TxB;AAyUC+E,IAAAA,SAAS,EAAE,mBAAAC,QAAQ,EAAI;AACrB,UAAMvC,MAAM,GAAGtC,QAAQ,CAACuE,qBAAT,GAAiCM,QAAjC,CAAf;;AAEA,UAAI,CAACvC,MAAL,EAAa;AACX,YAAI5C,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCE,UAAAA,OAAO,CAACgF,IAAR,mCACkCD,QADlC;AAGD;;AACD,cAAM,IAAIzB,KAAJ,EAAN;AACD;;AAED,aAAOd,MAAP;AACD,KAtVF;AAwVCgB,IAAAA,cAAc,EAAE,wBAACuB,QAAD,EAAsB;AAAA;;AACpC,UAAMvC,MAAM,GAAGtC,QAAQ,CAAC4E,SAAT,CAAmBC,QAAnB,CAAf;;AAEA,UAAI,CAACvC,MAAL,EAAa;AACX,cAAM,IAAIc,KAAJ,EAAN;AACD;;AAED,UAAM2B,UAAU,GAAG/E,QAAQ,CAAC2B,QAAT,GAAoBqD,YAApB,CAAiC1C,MAAM,CAACb,EAAxC,CAAnB;AAEA,aAAOwD,IAAI,CAACC,GAAL,CACLD,IAAI,CAACE,GAAL,qBACE7C,MAAM,CAAC8C,QADT,+BACqB3E,gCAAA,CAAiC2E,QADtD,WAEEL,UAFF,WAEEA,UAFF,GAEgBzC,MAAM,CAAC+C,KAFvB,oBAEgC5E,gCAAA,CAAiC4E,KAFjE,CADK,sBAKL/C,MAAM,CAACgD,QALF,+BAKc7E,gCAAA,CAAiC6E,QAL/C,CAAP;AAOD,KAxWF;AA0WCC,IAAAA,UAAU,EAAE,oBAACC,GAAD,EAAMlD,MAAN,EAAcG,KAAd,EAAwB;AAClC,UAAMD,IAML,GAAG;AACFf,QAAAA,EAAE,EAAK+D,GAAG,CAAC/D,EAAT,SAAea,MAAM,CAACb,EADtB;AAEFgE,QAAAA,KAAK,EAAED,GAAG,CAAC/D,EAFT;AAGFoD,QAAAA,QAAQ,EAAEvC,MAAM,CAACb,EAHf;AAIF+D,QAAAA,GAAG,EAAHA,GAJE;AAKFlD,QAAAA,MAAM,EAANA,MALE;AAMFG,QAAAA,KAAK,EAALA,KANE;AAOFiD,QAAAA,YAAY,EAAE,sBAAAC,SAAS;AAAA,iBACrB3F,QAAQ,CAAC0F,YAAT,CAAsBF,GAAG,CAAC/D,EAA1B,EAA8Ba,MAAM,CAACb,EAArC,EAAyCkE,SAAzC,CADqB;AAAA,SAPrB;AASFC,QAAAA,UAAU,EAAE;AAAA,iBAAMC,gBAAU,CAACvD,MAAM,CAACE,IAAR,EAAc;AAAEF,YAAAA,MAAM,EAANA,MAAF;AAAUE,YAAAA,IAAI,EAAJA,IAAV;AAAgBC,YAAAA,KAAK,EAALA;AAAhB,WAAd,CAAhB;AAAA;AATV,OANJ;AAkBAsB,MAAAA,MAAM,CAACC,MAAP,CAAcxB,IAAd,2CACKjC,mBAAA,CACDiC,IADC,EASDF,MATC,EAUDkD,GAVC,CADL;AAgBA,aAAOhD,IAAP;AACD,KA9YF;AAgZCsD,IAAAA,SAAS,EAAE,mBAACrE,EAAD,EAAKsE,QAAL,EAAeC,QAAf,EAAyBjD,KAAzB,EAAgCkD,MAAhC,EAA2C;AACpD,UAAIT,GAMH,GAAG;AACF/D,QAAAA,EAAE,EAAFA,EADE;AAEFF,QAAAA,KAAK,EAAEyE,QAFL;AAGFD,QAAAA,QAAQ,EAARA,QAHE;AAIFhD,QAAAA,KAAK,EAALA,KAJE;AAKFkD,QAAAA,MAAM,EAANA,MALE;AAMFC,QAAAA,OAAO,EAAE,EANP;AAOFC,QAAAA,QAAQ,EAAE,EAPR;AAQFC,QAAAA,WAAW,EAAE,qBAAAT,SAAS;AAAA,iBAAI3F,QAAQ,CAACoG,WAAT,CAAqBZ,GAAG,CAAC/D,EAAzB,EAA6BkE,SAA7B,CAAJ;AAAA,SARpB;AASFU,QAAAA,WAAW,EAAEpD,SATX;AAUFqD,QAAAA,qBAAqB,EAAErD;AAVrB,OANJ;AAmBAuC,MAAAA,GAAG,CAACa,WAAJ,GAAkBnE,UAAI,CACpB;AAAA,eAAM,CAAClC,QAAQ,CAAC2E,iBAAT,EAAD,CAAN;AAAA,OADoB,EAEpB,UAAAb,WAAW,EAAI;AACb,eAAOA,WAAW,CAACM,GAAZ,CAAgB,UAAA9B,MAAM,EAAI;AAC/B,iBAAOtC,QAAQ,CAACuF,UAAT,CACLC,GADK,EAQLlD,MARK,EASLkD,GAAG,CAACS,MAAJ,CAAW3D,MAAM,CAACb,EAAlB,CATK,CAAP;AAWD,SAZM,CAAP;AAaD,OAhBmB,EAiBpB/B,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GAAwC,iBAAxC,GAA4D,EAjBxC,EAkBpBI,QAAQ,CAACR,OAAT,CAAiBK,KAlBG,CAAtB;AAqBA2F,MAAAA,GAAG,CAACc,qBAAJ,GAA4BpE,UAAI,CAC9B;AAAA,eAAM,CAACsD,GAAG,CAACa,WAAJ,EAAD,CAAN;AAAA,OAD8B,EAE9B,UAAAE,QAAQ,EAAI;AACV,eAAOA,QAAQ,CAAC9B,MAAT,CAAgB,UAACC,GAAD,EAAMlC,IAAN,EAAe;AACpCkC,UAAAA,GAAG,CAAClC,IAAI,CAACqC,QAAN,CAAH,GAAqBrC,IAArB;AACA,iBAAOkC,GAAP;AACD,SAHM,EAGJ,EAHI,CAAP;AAID,OAP6B,EAQ9B,2BAR8B,EAS9B1E,QAAQ,CAACR,OAAT,CAAiBK,KATa,CAAhC;AAYA2F,MAAAA,GAAG,GAAGzB,MAAM,CAACC,MAAP,CACJwB,GADI,EAEJzE,iBAAA,CACEyE,GADF,EAEExF,QAFF,CAFI,EAMJO,kBAAA,CACEiF,GADF,EAEExF,QAFF,CANI,EAUJQ,mBAAA,CACEgF,GADF,EAEExF,QAFF,CAVI,CAAN;AAgBA,aAAOwF,GAAP;AACD,KAtdF;AAwdCgB,IAAAA,eAAe,EAAEtE,UAAI,CACnB;AAAA,aAAM,CAAClC,QAAQ,CAACR,OAAT,CAAiBiH,IAAlB,CAAN;AAAA,KADmB,EAEnB,UACEA,IADF,EASK;AACH,UAAI/G,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCI,QAAQ,CAACR,OAAT,CAAiBK,KAA9D,EACEC,OAAO,CAACC,IAAR,CAAa,cAAb,EAFC;;AAKH,UACEC,QAAQ,CAACR,OAAT,CAAiBkH,sBAAjB;AAEA1G,MAAAA,QAAQ,CAAC2G,mBAHX,EAIE;AACA3G,QAAAA,QAAQ,CAAC4G,kBAAT;AACD;;AAED,UACE5G,QAAQ,CAACR,OAAT,CAAiBqH,qBAAjB;AAEA7G,MAAAA,QAAQ,CAAC2G,mBAHX,EAIE;AACA3G,QAAAA,QAAQ,CAAC8G,iBAAT;AACD;;AAED,UACE9G,QAAQ,CAACR,OAAT,CAAiBuH,gBAAjB;AAEA/G,MAAAA,QAAQ,CAAC2G,mBAHX,EAIE;AACA3G,QAAAA,QAAQ,CAACgH,YAAT;AACD;;AAED,UACEhH,QAAQ,CAACR,OAAT,CAAiByH,iBAAjB;AAEAjH,MAAAA,QAAQ,CAAC2G,mBAHX,EAIE;AACA3G,QAAAA,QAAQ,CAACkH,aAAT;AACD;;AAED,UACElH,QAAQ,CAACR,OAAT,CAAiB2H,iBAAjB;AAEAnH,MAAAA,QAAQ,CAAC2G,mBAHX,EAIE;AACA3G,QAAAA,QAAQ,CAACoH,aAAT;AACD,OA3CE;;;AA8CHpH,MAAAA,QAAQ,CAAC2G,mBAAT,GAA+B,IAA/B,CA9CG;;AAiDH,UAAMU,IAMH,GAAG,EANN;AAOA,UAAMC,QAMH,GAAG,EANN;AAOA,UAAMC,QAGL,GAAG,EAHJ;AAKA,UAAMzD,WAAW,GAAG9D,QAAQ,CAAC2E,iBAAT,EAApB;;AAEA,UAAM6C,SAAS,GAAG,SAAZA,SAAY,CAChBrE,WADgB,EAEhB6C,QAFgB,EAGhBjD,KAHgB,EAIhB0E,UAJgB,EAWhBjG,MAXgB,EAYb;AAAA,YATHuB,KASG;AATHA,UAAAA,KASG,GATK,CASL;AAAA;;AACH,YAAMtB,EAAE,GAAGzB,QAAQ,CAACqB,QAAT,CAAkB8B,WAAlB,EAA+B6C,QAA/B,EAAyCxE,MAAzC,CAAX;;AAEA,YAAI,CAACC,EAAL,EAAS;AACP,cAAI/B,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,kBAAM,IAAIwD,KAAJ,uCAA8C3B,EAA9C,CAAN;AACD;AACF;;AAED,YAAMwE,MAA2B,GAAG,EAApC;;AAEA,aAAK,IAAIyB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG5D,WAAW,CAACD,MAAhC,EAAwC6D,CAAC,EAAzC,EAA6C;AAC3C,cAAMpF,OAAM,GAAGwB,WAAW,CAAC4D,CAAD,CAA1B;;AACA,cAAIpF,OAAM,IAAIA,OAAM,CAACY,UAArB,EAAiC;AAC/B+C,YAAAA,MAAM,CAAC3D,OAAM,CAACb,EAAR,CAAN,GAAoBa,OAAM,CAACY,UAAP,CAAkBC,WAAlB,EAA+B6C,QAA/B,CAApB;AACD;AACF,SAhBE;;;AAmBH,YAAMR,GAAG,GAAGxF,QAAQ,CAAC8F,SAAT,CACVrE,EADU,EAEV0B,WAFU,EAGV6C,QAHU,EAIVjD,KAJU,EAKVkD,MALU,CAAZ,CAnBG;;AA4BHwB,QAAAA,UAAU,CAACE,IAAX,CAAgBnC,GAAhB,EA5BG;;AA8BH8B,QAAAA,QAAQ,CAACK,IAAT,CAAcnC,GAAd,EA9BG;;AAgCH+B,QAAAA,QAAQ,CAAC9F,EAAD,CAAR,GAAe+D,GAAf,CAhCG;;AAmCH,YAAIxF,QAAQ,CAACR,OAAT,CAAiBoI,UAArB,EAAiC;AAC/B,cAAMC,eAAe,GAAG7H,QAAQ,CAACR,OAAT,CAAiBoI,UAAjB,CACtBzE,WADsB,EAEtB6C,QAFsB,CAAxB,CAD+B;;AAO/B,cAAI6B,eAAJ,YAAIA,eAAe,CAAEhE,MAArB,EAA6B;AAC3B2B,YAAAA,GAAG,CAACqC,eAAJ,GAAsBA,eAAtB;AACA,gBAAM3B,OAMH,GAAG,EANN;;AAQA,iBAAK,IAAIwB,EAAC,GAAG,CAAb,EAAgBA,EAAC,GAAGlC,GAAG,CAACqC,eAAJ,CAAoBhE,MAAxC,EAAgD6D,EAAC,EAAjD,EAAqD;AACnDF,cAAAA,SAAS,CACPhC,GAAG,CAACqC,eAAJ,CAAoBH,EAApB,CADO,EAEPA,EAFO,EAGP3E,KAAK,GAAG,CAHD,EAIPmD,OAJO,EAKPV,GALO,CAAT;AAOD,aAlB0B;;;AAoB3BA,YAAAA,GAAG,CAACU,OAAJ,GAAcA,OAAd;AACAV,YAAAA,GAAG,CAACW,QAAJ,GAAe2B,eAAS,CAAC5B,OAAD,EAAU,UAAAzC,CAAC;AAAA,qBAAIA,CAAC,CAAC0C,QAAN;AAAA,aAAX,CAAxB;AACD;AACF;AACF,OA9ED;;AAgFA,WAAK,IAAIuB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGjB,IAAI,CAAC5C,MAAzB,EAAiC6D,CAAC,EAAlC,EAAsC;AACpCF,QAAAA,SAAS,CAACf,IAAI,CAACiB,CAAD,CAAL,EAAmBA,CAAnB,EAAsB,CAAtB,EAAyBL,IAAzB,CAAT;AACD;;AAED,aAAO;AAAEA,QAAAA,IAAI,EAAJA,IAAF;AAAQC,QAAAA,QAAQ,EAARA,QAAR;AAAkBC,QAAAA,QAAQ,EAARA;AAAlB,OAAP;AACD,KAtKkB,EAuKnB,aAvKmB,EAwKnBvH,QAAQ,CAACR,OAAT,CAAiBK,KAxKE,CAxdtB;AAmoBC;AAEAkI,IAAAA,WAAW,EAAE,uBAAM;AACjB,aAAO/H,QAAQ,CAACwG,eAAT,GAA2Ba,IAAlC;AACD,KAvoBF;AAyoBCW,IAAAA,eAAe,EAAE,2BAAM;AACrB,aAAOhI,QAAQ,CAACwG,eAAT,GAA2Bc,QAAlC;AACD,KA3oBF;AA6oBCW,IAAAA,eAAe,EAAE,2BAAM;AACrB,aAAOjI,QAAQ,CAACwG,eAAT,GAA2Be,QAAlC;AACD,KA/oBF;AAipBC;AACA;AAEAW,IAAAA,WAAW,EAAE,uBAAM;AACjB,aAAOlI,QAAQ,CAACmI,mBAAT,EAAP;AACD,KAtpBF;AAwpBCC,IAAAA,OAAO,EAAE,mBAAM;AACb,aAAOpI,QAAQ,CAACkI,WAAT,GAAuBb,IAA9B;AACD,KA1pBF;AA4pBCgB,IAAAA,WAAW,EAAE,uBAAM;AACjB,aAAOrI,QAAQ,CAACkI,WAAT,GAAuBZ,QAA9B;AACD,KA9pBF;AAgqBCgB,IAAAA,WAAW,EAAE,uBAAM;AACjB,aAAOtI,QAAQ,CAACkI,WAAT,GAAuBX,QAA9B;AACD,KAlqBF;AAoqBCgB,IAAAA,MAAM,EAAE,gBAAC9G,EAAD,EAAgB;AACtB,UAAM+D,GAAG,GAAGxF,QAAQ,CAACsI,WAAT,GAAuB7G,EAAvB,CAAZ;;AAEA,UAAI,CAAC+D,GAAL,EAAU;AACR,YAAI9F,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,gBAAM,IAAIwD,KAAJ,qCAA4C3B,EAA5C,CAAN;AACD;;AACD,cAAM,IAAI2B,KAAJ,EAAN;AACD;;AAED,aAAOoC,GAAP;AACD,KA/qBF;AAirBCgD,IAAAA,OAAO,EAAE,iBAAC/C,KAAD,EAAgBZ,QAAhB,EAAqC;AAC5C,UAAMW,GAAG,GAAGxF,QAAQ,CAACuI,MAAT,CAAgB9C,KAAhB,CAAZ;;AAEA,UAAI,CAACD,GAAL,EAAU;AACR,YAAI9F,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,gBAAM,IAAIwD,KAAJ,+CAAsDqC,KAAtD,CAAN;AACD;;AACD,cAAM,IAAIrC,KAAJ,EAAN;AACD;;AAED,UAAMZ,IAAI,GAAGgD,GAAG,CAACc,qBAAJ,GAA4BzB,QAA5B,CAAb;;AAEA,UAAI,CAACrC,IAAL,EAAW;AACT,YAAI9C,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,gBAAM,IAAIwD,KAAJ,wCACiCyB,QADjC,gBACoDY,KADpD,CAAN;AAGD;;AACD,cAAM,IAAIrC,KAAJ,EAAN;AACD;;AAED,aAAOZ,IAAP;AACD,KAvsBF;AAysBCiG,IAAAA,aAAa,EAAE,uBAAA9C,SAAS,EAAI;AAC1B,aAAO+C,gBAAU,CACf;AACEC,QAAAA,IAAI,EAAE;AADR,OADe,EAIfhD,SAJe,CAAjB;AAMD,KAhtBF;AAktBCiD,IAAAA,iBAAiB,EAAE,2BAAAjD,SAAS,EAAI;AAC9B,aAAO+C,gBAAU,CACf;AACEC,QAAAA,IAAI,EAAE;AADR,OADe,EAIfhD,SAJe,CAAjB;AAMD,KAztBF;AA2tBCS,IAAAA,WAAW,EAAE,qBAACX,KAAD,EAAQE,SAAR,EAAsB;AACjC,UAAMH,GAAG,GAAGxF,QAAQ,CAACuI,MAAT,CAAgB9C,KAAhB,CAAZ;;AACA,UAAI,CAACD,GAAL,EAAU;AACR;AACD;;AAED,aAAOkD,gBAAU,CACf;AACEG,QAAAA,GAAG,EAAErD,GAAG,CAAC/D,EADX;AAEEkH,QAAAA,IAAI,EAAE;AAFR,OADe,EAKfhD,SALe,CAAjB;AAOD,KAxuBF;AA0uBCD,IAAAA,YAAY,EAAE,sBAACD,KAAD,EAAQZ,QAAR,EAAkBc,SAAlB,EAAgC;AAC5C,UAAMnD,IAAI,GAAGxC,QAAQ,CAACwI,OAAT,CAAiB/C,KAAjB,EAAwBZ,QAAxB,CAAb;;AAEA,UAAI,CAACrC,IAAL,EAAW;AACT;AACD;;AAED,aAAOkG,gBAAU,CACf;AACEG,QAAAA,GAAG,EAAErG,IAAI,CAACf,EADZ;AAEEkH,QAAAA,IAAI,EAAE;AAFR,OADe,EAKfhD,SALe,CAAjB;AAOD,KAxvBF;AA0vBCmD,IAAAA,aAAa,EAAE;AAAA;;AAAA,gEACb9I,QAAQ,CAAC+I,eAAT,GAA2B,CAA3B,CADa,qBACb,uBAA+BC,OAA/B,CAAuCvE,MAAvC,CAA8C,UAACwE,GAAD,EAAM7G,MAAN,EAAiB;AAC7D,eAAO6G,GAAG,GAAG7G,MAAM,CAACiB,QAAP,EAAb;AACD,OAFD,EAEG,CAFH,CADa,oCAGJ,CAHI;AAAA,KA1vBhB;AA8vBC6F,IAAAA,iBAAiB,EAAE;AAAA;;AAAA,gEACjBlJ,QAAQ,CAACmJ,mBAAT,GAA+B,CAA/B,CADiB,qBACjB,uBAAmCH,OAAnC,CAA2CvE,MAA3C,CAAkD,UAACwE,GAAD,EAAM7G,MAAN,EAAiB;AACjE,eAAO6G,GAAG,GAAG7G,MAAM,CAACiB,QAAP,EAAb;AACD,OAFD,EAEG,CAFH,CADiB,oCAGR,CAHQ;AAAA,KA9vBpB;AAkwBC+F,IAAAA,mBAAmB,EAAE;AAAA;;AAAA,gEACnBpJ,QAAQ,CAACqJ,qBAAT,GAAiC,CAAjC,CADmB,qBACnB,uBAAqCL,OAArC,CAA6CvE,MAA7C,CAAoD,UAACwE,GAAD,EAAM7G,MAAN,EAAiB;AACnE,eAAO6G,GAAG,GAAG7G,MAAM,CAACiB,QAAP,EAAb;AACD,OAFD,EAEG,CAFH,CADmB,oCAGV,CAHU;AAAA,KAlwBtB;AAswBCiG,IAAAA,kBAAkB,EAAE;AAAA;;AAAA,gEAClBtJ,QAAQ,CAACuJ,oBAAT,GAAgC,CAAhC,CADkB,qBAClB,uBAAoCP,OAApC,CAA4CvE,MAA5C,CAAmD,UAACwE,GAAD,EAAM7G,MAAN,EAAiB;AAClE,eAAO6G,GAAG,GAAG7G,MAAM,CAACiB,QAAP,EAAb;AACD,OAFD,EAEG,CAFH,CADkB,oCAGT,CAHS;AAAA;AAtwBrB,IAND;;AAkxBA,SAAOU,MAAM,CAACC,MAAP,CAAchE,QAAd,EAAwBc,aAAxB,CAAP;AACD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTable.js","sources":["../../src/createTable.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Cell, Column, Row } from '.'\nimport { createTableInstance } from './core'\nimport { ReactTable, ColumnDef, AccessorFn, Options } from './types'\nimport { Overwrite } from './utils'\n\ntype TableHelper<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {\n RowType
|
|
1
|
+
{"version":3,"file":"createTable.js","sources":["../../src/createTable.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Cell, Column, Row } from '.'\nimport { createTableInstance } from './core'\nimport { ReactTable, ColumnDef, AccessorFn, Options } from './types'\nimport { Overwrite } from './utils'\n\ntype TableHelper<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {\n RowType<TTData>(): TableHelper<\n TTData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n\n FilterFns: <TTFilterFns>(\n filterFns: TTFilterFns\n ) => TableHelper<TData, TValue, TTFilterFns, TSortingFns, TAggregationFns>\n\n SortingFns: <TTSortingFns>(\n sortingFns: TTSortingFns\n ) => TableHelper<TData, TValue, TFilterFns, TTSortingFns, TAggregationFns>\n\n AggregationFns: <TTAggregationFns>(\n aggregationFns: TTAggregationFns\n ) => TableHelper<TData, TValue, TFilterFns, TSortingFns, TTAggregationFns>\n\n createColumns: (\n columns: ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n ) => ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n\n createGroup: (\n column: Overwrite<\n ColumnDef<TData, unknown, TFilterFns, TSortingFns, TAggregationFns>,\n { __generated?: never; accessorFn?: never; accessorKey?: never }\n >\n ) => ColumnDef<TData, unknown, TFilterFns, TSortingFns, TAggregationFns>\n\n createColumn: <TAccessor extends AccessorFn<TData> | keyof TData>(\n accessor: TAccessor,\n column: TAccessor extends (...args: any[]) => any\n ? // Accessor Fn\n Overwrite<\n ColumnDef<\n TData,\n ReturnType<TAccessor>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n {\n __generated?: never\n accessorFn?: never\n accessorKey?: never\n id: string\n }\n >\n : TAccessor extends keyof TData\n ? // Accessor Key\n Overwrite<\n ColumnDef<\n TData,\n TData[TAccessor],\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n { __generated?: never; accessorFn?: never; accessorKey?: never }\n >\n : never\n ) => ColumnDef<\n TData,\n TAccessor extends (...args: any[]) => any\n ? ReturnType<TAccessor>\n : TAccessor extends keyof TData\n ? TData[TAccessor]\n : never,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n\n useTable: <TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n\n types: {\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n columnDef: ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n }\n}\n\nexport function createTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(): TableHelper<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n RowType: () => createTable(),\n FilterFns: () => createTable(),\n SortingFns: () => createTable(),\n AggregationFns: () => createTable(),\n createColumns: columns => columns,\n createColumn: (accessor, column) => {\n column = {\n ...column,\n id: column.id,\n }\n\n if (typeof accessor === 'string') {\n return {\n ...column,\n id: column.id ?? accessor,\n accessorKey: accessor,\n __generated: true,\n }\n }\n\n if (typeof accessor === 'function') {\n return {\n ...column,\n accessorFn: accessor,\n __generated: true,\n }\n }\n\n throw new Error('Invalid accessor')\n },\n createGroup: column => ({\n ...column,\n __generated: true,\n }),\n useTable: <TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ): ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> => {\n const instanceRef = React.useRef<\n ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >(undefined!)\n\n const rerender = React.useReducer(() => ({}), {})[1]\n\n if (!instanceRef.current) {\n instanceRef.current = createTableInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >(options, rerender)\n }\n\n instanceRef.current.updateOptions(options)\n\n return instanceRef.current\n },\n types: undefined as any,\n } as TableHelper<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n}\n"],"names":["createTable","RowType","FilterFns","SortingFns","AggregationFns","createColumns","columns","createColumn","accessor","column","id","accessorKey","__generated","accessorFn","Error","createGroup","useTable","options","instanceRef","React","useRef","undefined","rerender","useReducer","current","createTableInstance","updateOptions","types"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiHO,SAASA,WAAT,GAMmE;AACxE,SAAO;AACLC,IAAAA,OAAO,EAAE;AAAA,aAAMD,WAAW,EAAjB;AAAA,KADJ;AAELE,IAAAA,SAAS,EAAE;AAAA,aAAMF,WAAW,EAAjB;AAAA,KAFN;AAGLG,IAAAA,UAAU,EAAE;AAAA,aAAMH,WAAW,EAAjB;AAAA,KAHP;AAILI,IAAAA,cAAc,EAAE;AAAA,aAAMJ,WAAW,EAAjB;AAAA,KAJX;AAKLK,IAAAA,aAAa,EAAE,uBAAAC,OAAO;AAAA,aAAIA,OAAJ;AAAA,KALjB;AAMLC,IAAAA,YAAY,EAAE,sBAACC,QAAD,EAAWC,MAAX,EAAsB;AAClCA,MAAAA,MAAM,4CACDA,MADC;AAEJC,QAAAA,EAAE,EAAED,MAAM,CAACC;AAFP,QAAN;;AAKA,UAAI,OAAOF,QAAP,KAAoB,QAAxB,EAAkC;AAAA;;AAChC,wDACKC,MADL;AAEEC,UAAAA,EAAE,gBAAED,MAAM,CAACC,EAAT,yBAAeF,QAFnB;AAGEG,UAAAA,WAAW,EAAEH,QAHf;AAIEI,UAAAA,WAAW,EAAE;AAJf;AAMD;;AAED,UAAI,OAAOJ,QAAP,KAAoB,UAAxB,EAAoC;AAClC,wDACKC,MADL;AAEEI,UAAAA,UAAU,EAAEL,QAFd;AAGEI,UAAAA,WAAW,EAAE;AAHf;AAKD;;AAED,YAAM,IAAIE,KAAJ,CAAU,kBAAV,CAAN;AACD,KA9BI;AA+BLC,IAAAA,WAAW,EAAE,qBAAAN,MAAM;AAAA,sDACdA,MADc;AAEjBG,QAAAA,WAAW,EAAE;AAFI;AAAA,KA/Bd;AAmCLI,IAAAA,QAAQ,EAAE,kBACRC,OADQ,EAEgE;AACxE,UAAMC,WAAW,GAAGC,gBAAK,CAACC,MAAN,CAElBC,SAFkB,CAApB;AAIA,UAAMC,QAAQ,GAAGH,gBAAK,CAACI,UAAN,CAAiB;AAAA,eAAO,EAAP;AAAA,OAAjB,EAA6B,EAA7B,EAAiC,CAAjC,CAAjB;;AAEA,UAAI,CAACL,WAAW,CAACM,OAAjB,EAA0B;AACxBN,QAAAA,WAAW,CAACM,OAAZ,GAAsBC,wBAAmB,CAMvCR,OANuC,EAM9BK,QAN8B,CAAzC;AAOD;;AAEDJ,MAAAA,WAAW,CAACM,OAAZ,CAAoBE,aAApB,CAAkCT,OAAlC;AAEA,aAAOC,WAAW,CAACM,OAAnB;AACD,KAzDI;AA0DLG,IAAAA,KAAK,EAAEN;AA1DF,GAAP;AA4DD;;;;"}
|