@tanstack/table-core 8.0.0-alpha.58 → 8.0.0-alpha.59
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 +10 -21
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +3 -3
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/Cells.js +0 -15
- package/build/cjs/features/Cells.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +8 -19
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js.map +1 -1
- package/build/cjs/features/Expanding.js +11 -19
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Grouping.js +6 -9
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +1 -67
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Pagination.js +3 -3
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +15 -47
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Rows.js +0 -15
- package/build/cjs/features/Rows.js.map +1 -1
- package/build/cjs/features/Sorting.js +7 -10
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +8 -21
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +16 -0
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/index.js +0 -1
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/utils.js +0 -16
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +90 -266
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +346 -346
- package/build/types/core.d.ts +8 -10
- package/build/types/createTable.d.ts +10 -11
- package/build/types/features/Cells.d.ts +1 -2
- package/build/types/features/ColumnSizing.d.ts +4 -18
- package/build/types/features/Expanding.d.ts +4 -8
- package/build/types/features/Grouping.d.ts +4 -8
- package/build/types/features/Headers.d.ts +1 -5
- package/build/types/features/Pagination.d.ts +5 -6
- package/build/types/features/RowSelection.d.ts +5 -12
- package/build/types/features/Rows.d.ts +2 -4
- package/build/types/features/Sorting.d.ts +3 -7
- package/build/types/features/Visibility.d.ts +3 -6
- package/build/types/filterFns.d.ts +5 -0
- package/build/types/types.d.ts +10 -60
- package/build/types/utils.d.ts +1 -4
- package/build/umd/index.development.js +89 -266
- 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.ts +28 -52
- package/src/createTable.ts +13 -17
- package/src/features/Cells.ts +1 -27
- package/src/features/ColumnSizing.ts +14 -44
- package/src/features/Columns.ts +0 -2
- package/src/features/Expanding.ts +14 -40
- package/src/features/Grouping.ts +10 -37
- package/src/features/Headers.ts +1 -95
- package/src/features/Pagination.ts +8 -2
- package/src/features/Pinning.ts +1 -1
- package/src/features/RowSelection.ts +25 -87
- package/src/features/Rows.ts +2 -30
- package/src/features/Sorting.ts +17 -41
- package/src/features/Visibility.ts +15 -43
- package/src/filterFns.ts +20 -0
- package/src/types.ts +36 -98
- package/src/utils/getColumnFilteredRowModelAsync.ts +1 -5
- package/src/utils/getGlobalFilteredRowModelAsync.ts +2 -6
- package/src/utils/getSortedRowModelAsync.ts +0 -1
- package/src/utils.ts +1 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { RowModel } from '..'\nimport {\n Getter,\n OnChangeFn,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport { makeStateUpdater, propGetter } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n}\n\nexport type ExpandedOptions<TGenerics extends TableGenerics> = {\n manualExpanding?: boolean\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n getExpandedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n expandSubRows?: boolean\n defaultCanExpand?: boolean\n getIsRowExpanded?: (row: Row<TGenerics>) => boolean\n getRowCanExpand?: (row: Row<TGenerics>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ToggleExpandedProps = {\n title?: string\n onClick?: (event: unknown) => void\n}\n\nexport type ExpandedInstance<TGenerics extends TableGenerics> = {\n queueResetExpanded: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleRowExpanded: (rowId: string, expanded?: boolean) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: () => void\n getRowCanExpand: (rowId: string) => boolean\n getCanSomeRowsExpand: () => boolean\n getIsRowExpanded: (rowId: string) => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TGenerics>\n _getExpandedRowModel?: () => RowModel<TGenerics>\n getPreExpandedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Expanding = {\n getInitialState: (): ExpandedTableState => {\n return {\n expanded: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedOptions<TGenerics> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetExpanded: () => {\n instance.queueResetPageIndex()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n instance.resetExpanded()\n }\n },\n setExpanded: updater => instance.options.onExpandedChange?.(updater),\n toggleRowExpanded: (rowId, expanded) => {\n if (!rowId) return\n\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[rowId]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [rowId]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [rowId]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: () => {\n instance.setExpanded(instance.initialState?.expanded ?? {})\n },\n getIsRowExpanded: rowId => {\n const row = instance.getPreExpandedRowModel().rowsById[rowId]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getIsRowExpanded: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[rowId])\n )\n },\n getRowCanExpand: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getRowCanExpand: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n return (\n instance.options.getRowCanExpand?.(row) ??\n instance.options.enableExpanded ??\n instance.options.defaultCanExpand ??\n !!row.subRows?.length\n )\n },\n getCanSomeRowsExpand: () => {\n return Object.keys(instance.getRowModel().rowsById).some(id =>\n instance.getRowCanExpand(id)\n )\n },\n getToggleExpandedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n return\n }\n\n const canExpand = instance.getRowCanExpand(rowId)\n\n const initialProps: ToggleExpandedProps = {\n title: canExpand ? 'Toggle Expanded' : undefined,\n onClick: canExpand\n ? (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleRowExpanded(rowId)\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n getToggleAllRowsExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle All Expanded',\n onClick: (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleAllRowsExpanded()\n },\n }\n\n return propGetter(initialProps, userProps)\n },\n getIsSomeRowsExpanded: () => {\n const expanded = instance.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (\n Object.keys(instance.getRowModel().rowsById).some(\n id => !instance.getIsRowExpanded(id)\n )\n ) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowModel().rowsById)\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n getExpandedRowModel: () => {\n if (\n !instance._getExpandedRowModel &&\n instance.options.getExpandedRowModel\n ) {\n instance._getExpandedRowModel =\n instance.options.getExpandedRowModel(instance)\n }\n\n if (\n instance.options.manualExpanding ||\n !instance._getExpandedRowModel\n ) {\n return instance.getPreExpandedRowModel()\n }\n\n return instance._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded =>\n void instance.toggleRowExpanded(row.id, expanded),\n getIsExpanded: () => instance.getIsRowExpanded(row.id),\n getCanExpand: () => row.subRows && !!row.subRows.length,\n getToggleExpandedProps: userProps =>\n instance.getToggleExpandedProps(row.id, userProps),\n }\n },\n}\n"],"names":["Expanding","getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","createInstance","registered","queueResetExpanded","queueResetPageIndex","options","autoResetAll","resetExpanded","setExpanded","updater","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowModel","rowsById","forEach","_extends","rest","_toPropertyKey","toggleAllRowsExpanded","getIsAllRowsExpanded","initialState","getIsRowExpanded","row","getPreExpandedRowModel","process","env","NODE_ENV","console","warn","Error","getState","getRowCanExpand","getRow","enableExpanded","defaultCanExpand","subRows","length","getCanSomeRowsExpand","some","id","getToggleExpandedProps","userProps","canExpand","initialProps","title","undefined","onClick","e","persist","propGetter","getToggleAllRowsExpandedProps","getIsSomeRowsExpanded","values","Boolean","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getGroupedRowModel","getExpandedRowModel","_getExpandedRowModel","manualExpanding","createRow","toggleExpanded","getIsExpanded","getCanExpand"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { RowModel } from '..'\nimport {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport { makeStateUpdater } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedHandler: () => () => void\n}\n\nexport type ExpandedOptions<TGenerics extends TableGenerics> = {\n manualExpanding?: boolean\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n getExpandedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n expandSubRows?: boolean\n defaultCanExpand?: boolean\n getIsRowExpanded?: (row: Row<TGenerics>) => boolean\n getRowCanExpand?: (row: Row<TGenerics>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ExpandedInstance<TGenerics extends TableGenerics> = {\n queueResetExpanded: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleRowExpanded: (rowId: string, expanded?: boolean) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: () => void\n getRowCanExpand: (rowId: string) => boolean\n getCanSomeRowsExpand: () => boolean\n getIsRowExpanded: (rowId: string) => boolean\n getToggleExpandedHandler: (rowId: string) => undefined | (() => void)\n getToggleAllRowsExpandedHandler: () => (event: unknown) => void\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TGenerics>\n _getExpandedRowModel?: () => RowModel<TGenerics>\n getPreExpandedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Expanding = {\n getInitialState: (): ExpandedTableState => {\n return {\n expanded: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedOptions<TGenerics> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetExpanded: () => {\n instance.queueResetPageIndex()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n instance.resetExpanded()\n }\n },\n setExpanded: updater => instance.options.onExpandedChange?.(updater),\n toggleRowExpanded: (rowId, expanded) => {\n if (!rowId) return\n\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[rowId]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [rowId]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [rowId]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: () => {\n instance.setExpanded(instance.initialState?.expanded ?? {})\n },\n getIsRowExpanded: rowId => {\n const row = instance.getPreExpandedRowModel().rowsById[rowId]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getIsRowExpanded: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[rowId])\n )\n },\n getRowCanExpand: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getRowCanExpand: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n return (\n instance.options.getRowCanExpand?.(row) ??\n instance.options.enableExpanded ??\n instance.options.defaultCanExpand ??\n !!row.subRows?.length\n )\n },\n getCanSomeRowsExpand: () => {\n return Object.keys(instance.getRowModel().rowsById).some(id =>\n instance.getRowCanExpand(id)\n )\n },\n getToggleExpandedHandler: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n return\n }\n\n const canExpand = instance.getRowCanExpand(rowId)\n\n return () => {\n if (!canExpand) return\n instance.toggleRowExpanded(rowId)\n }\n },\n getToggleAllRowsExpandedHandler: () => {\n return (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleAllRowsExpanded()\n }\n },\n getIsSomeRowsExpanded: () => {\n const expanded = instance.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (\n Object.keys(instance.getRowModel().rowsById).some(\n id => !instance.getIsRowExpanded(id)\n )\n ) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowModel().rowsById)\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n getExpandedRowModel: () => {\n if (\n !instance._getExpandedRowModel &&\n instance.options.getExpandedRowModel\n ) {\n instance._getExpandedRowModel =\n instance.options.getExpandedRowModel(instance)\n }\n\n if (\n instance.options.manualExpanding ||\n !instance._getExpandedRowModel\n ) {\n return instance.getPreExpandedRowModel()\n }\n\n return instance._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded =>\n void instance.toggleRowExpanded(row.id, expanded),\n getIsExpanded: () => instance.getIsRowExpanded(row.id),\n getCanExpand: () => row.subRows && !!row.subRows.length,\n getToggleExpandedHandler: () =>\n instance.getToggleExpandedHandler(row.id)!,\n }\n },\n}\n"],"names":["Expanding","getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","createInstance","registered","queueResetExpanded","queueResetPageIndex","options","autoResetAll","resetExpanded","setExpanded","updater","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowModel","rowsById","forEach","_extends","rest","_toPropertyKey","toggleAllRowsExpanded","getIsAllRowsExpanded","initialState","getIsRowExpanded","row","getPreExpandedRowModel","process","env","NODE_ENV","console","warn","Error","getState","getRowCanExpand","getRow","enableExpanded","defaultCanExpand","subRows","length","getCanSomeRowsExpand","some","id","getToggleExpandedHandler","canExpand","getToggleAllRowsExpandedHandler","e","persist","getIsSomeRowsExpanded","values","Boolean","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getGroupedRowModel","getExpandedRowModel","_getExpandedRowModel","manualExpanding","createRow","toggleExpanded","getIsExpanded","getCanExpand"],"mappings":"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"}
|
|
@@ -49,8 +49,8 @@ var Grouping = {
|
|
|
49
49
|
toggleGrouping: function toggleGrouping() {
|
|
50
50
|
return instance.toggleColumnGrouping(column.id);
|
|
51
51
|
},
|
|
52
|
-
|
|
53
|
-
return instance.
|
|
52
|
+
getToggleGroupingHandler: function getToggleGroupingHandler() {
|
|
53
|
+
return instance.getToggleGroupingHandler(column.id);
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
56
|
},
|
|
@@ -140,16 +140,13 @@ var Grouping = {
|
|
|
140
140
|
|
|
141
141
|
instance.setGrouping((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.grouping) != null ? _instance$initialStat : []);
|
|
142
142
|
},
|
|
143
|
-
|
|
143
|
+
getToggleGroupingHandler: function getToggleGroupingHandler(columnId) {
|
|
144
144
|
var column = instance.getColumn(columnId);
|
|
145
145
|
var canGroup = column.getCanGroup();
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
column.toggleGrouping == null ? void 0 : column.toggleGrouping();
|
|
150
|
-
} : undefined
|
|
146
|
+
return function () {
|
|
147
|
+
if (!canGroup) return;
|
|
148
|
+
column.toggleGrouping == null ? void 0 : column.toggleGrouping();
|
|
151
149
|
};
|
|
152
|
-
return utils.propGetter(initialProps, userProps);
|
|
153
150
|
},
|
|
154
151
|
getRowIsGrouped: function getRowIsGrouped(rowId) {
|
|
155
152
|
var _instance$getRow;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport {\n Cell,\n Column,\n Getter,\n OnChangeFn,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n Renderable,\n UseRenderer,\n TableGenerics,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n propGetter,\n} from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | ReturnType<UseRenderer<TGenerics>>\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type ToggleGroupingProps = {\n title?: string\n onClick?: (event: unknown) => void\n}\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n queueResetGrouping: () => void\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n getRowIsGrouped: (rowId: string) => boolean\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (): GroupingTableState => {\n return {\n grouping: [],\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n autoResetGrouping: true,\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n aggregationFn: column.aggregationFn,\n getCanGroup: () => instance.getColumnCanGroup(column.id),\n getGroupedIndex: () => instance.getColumnGroupedIndex(column.id),\n getIsGrouped: () => instance.getColumnIsGrouped(column.id),\n toggleGrouping: () => instance.toggleColumnGrouping(column.id),\n getToggleGroupingProps: userProps =>\n instance.getToggleGroupingProps(column.id, userProps),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetGrouping: () => {\n instance.queueResetExpanded()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGrouping\n ) {\n instance.resetGrouping()\n }\n },\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? instance.getColumnAutoAggregationFn(columnId)\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n toggleColumnGrouping: columnId => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(columnId)) {\n return old.filter(d => d !== columnId)\n }\n\n return [...(old ?? []), columnId]\n })\n },\n\n getColumnCanGroup: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableGrouping ??\n instance.options.enableGrouping ??\n column.defaultCanGroup ??\n !!column.accessorFn\n )\n },\n\n getColumnIsGrouped: columnId => {\n return instance.getState().grouping?.includes(columnId)\n },\n\n getColumnGroupedIndex: columnId =>\n instance.getState().grouping?.indexOf(columnId),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getToggleGroupingProps: (columnId, userProps) => {\n const column = instance.getColumn(columnId)\n\n const canGroup = column.getCanGroup()\n\n const initialProps: ToggleGroupingProps = {\n title: canGroup ? 'Toggle Grouping' : undefined,\n onClick: canGroup\n ? (e: unknown) => {\n column.toggleGrouping?.()\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n value: cell.value,\n })\n : null\n },\n }\n },\n\n orderColumns: <TGenerics extends TableGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n ) => {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n },\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingProps","userProps","createInstance","registered","queueResetGrouping","queueResetExpanded","options","autoResetAll","resetGrouping","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","Error","isFunction","setGrouping","updater","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","getState","indexOf","initialState","canGroup","initialProps","title","undefined","onClick","e","propGetter","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableInstance,\n Row,\n Updater,\n Renderable,\n TableGenerics,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | TGenerics['Rendered']\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n queueResetGrouping: () => void\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingHandler: (columnId: string) => undefined | (() => void)\n getRowIsGrouped: (rowId: string) => boolean\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (): GroupingTableState => {\n return {\n grouping: [],\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n autoResetGrouping: true,\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n aggregationFn: column.aggregationFn,\n getCanGroup: () => instance.getColumnCanGroup(column.id),\n getGroupedIndex: () => instance.getColumnGroupedIndex(column.id),\n getIsGrouped: () => instance.getColumnIsGrouped(column.id),\n toggleGrouping: () => instance.toggleColumnGrouping(column.id),\n getToggleGroupingHandler: () =>\n instance.getToggleGroupingHandler(column.id)!,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetGrouping: () => {\n instance.queueResetExpanded()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGrouping\n ) {\n instance.resetGrouping()\n }\n },\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? instance.getColumnAutoAggregationFn(columnId)\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n toggleColumnGrouping: columnId => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(columnId)) {\n return old.filter(d => d !== columnId)\n }\n\n return [...(old ?? []), columnId]\n })\n },\n\n getColumnCanGroup: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableGrouping ??\n instance.options.enableGrouping ??\n column.defaultCanGroup ??\n !!column.accessorFn\n )\n },\n\n getColumnIsGrouped: columnId => {\n return instance.getState().grouping?.includes(columnId)\n },\n\n getColumnGroupedIndex: columnId =>\n instance.getState().grouping?.indexOf(columnId),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getToggleGroupingHandler: columnId => {\n const column = instance.getColumn(columnId)\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping?.()\n }\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n value: cell.value,\n })\n : null\n },\n }\n },\n\n orderColumns: <TGenerics extends TableGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n ) => {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n },\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingHandler","createInstance","registered","queueResetGrouping","queueResetExpanded","options","autoResetAll","resetGrouping","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","Error","isFunction","setGrouping","updater","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","getState","indexOf","initialState","canGroup","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
|
|
@@ -71,12 +71,6 @@ var Headers = {
|
|
|
71
71
|
recurseHeader(header);
|
|
72
72
|
return leafHeaders;
|
|
73
73
|
},
|
|
74
|
-
getHeaderProps: function getHeaderProps(userProps) {
|
|
75
|
-
return instance.getHeaderProps(header.id, userProps);
|
|
76
|
-
},
|
|
77
|
-
getFooterProps: function getFooterProps(userProps) {
|
|
78
|
-
return instance.getFooterProps(header.id, userProps);
|
|
79
|
-
},
|
|
80
74
|
renderHeader: function renderHeader() {
|
|
81
75
|
return column.header ? instance.render(column.header, {
|
|
82
76
|
instance: instance,
|
|
@@ -352,60 +346,6 @@ var Headers = {
|
|
|
352
346
|
}
|
|
353
347
|
|
|
354
348
|
return header;
|
|
355
|
-
},
|
|
356
|
-
getHeaderGroupProps: function getHeaderGroupProps(id, userProps) {
|
|
357
|
-
var headerGroup = instance.getHeaderGroups().find(function (d) {
|
|
358
|
-
return d.id === id;
|
|
359
|
-
});
|
|
360
|
-
|
|
361
|
-
if (!headerGroup) {
|
|
362
|
-
return;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
return utils.propGetter({
|
|
366
|
-
key: headerGroup.id,
|
|
367
|
-
role: 'row'
|
|
368
|
-
}, userProps);
|
|
369
|
-
},
|
|
370
|
-
getFooterGroupProps: function getFooterGroupProps(id, userProps) {
|
|
371
|
-
var headerGroup = instance.getFooterGroups().find(function (d) {
|
|
372
|
-
return d.id === id;
|
|
373
|
-
});
|
|
374
|
-
|
|
375
|
-
if (!headerGroup) {
|
|
376
|
-
return;
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
var initialProps = {
|
|
380
|
-
key: headerGroup.id,
|
|
381
|
-
role: 'row'
|
|
382
|
-
};
|
|
383
|
-
return utils.propGetter(initialProps, userProps);
|
|
384
|
-
},
|
|
385
|
-
getHeaderProps: function getHeaderProps(id, userProps) {
|
|
386
|
-
var header = instance.getHeader(id);
|
|
387
|
-
|
|
388
|
-
if (!header) {
|
|
389
|
-
throw new Error();
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
var initialProps = {
|
|
393
|
-
key: header.id,
|
|
394
|
-
role: 'columnheader',
|
|
395
|
-
colSpan: header.colSpan,
|
|
396
|
-
rowSpan: header.rowSpan
|
|
397
|
-
};
|
|
398
|
-
return utils.propGetter(initialProps, userProps);
|
|
399
|
-
},
|
|
400
|
-
getFooterProps: function getFooterProps(id, userProps) {
|
|
401
|
-
var header = instance.getHeader(id);
|
|
402
|
-
var initialProps = {
|
|
403
|
-
key: header.id,
|
|
404
|
-
role: 'columnfooter',
|
|
405
|
-
colSpan: header.colSpan,
|
|
406
|
-
rowSpan: header.rowSpan
|
|
407
|
-
};
|
|
408
|
-
return utils.propGetter(initialProps, userProps);
|
|
409
349
|
}
|
|
410
350
|
};
|
|
411
351
|
}
|
|
@@ -445,13 +385,7 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
|
|
|
445
385
|
var headerGroup = {
|
|
446
386
|
depth: depth,
|
|
447
387
|
id: [headerFamily, "" + depth].filter(Boolean).join('_'),
|
|
448
|
-
headers: []
|
|
449
|
-
getHeaderGroupProps: function getHeaderGroupProps(getterValue) {
|
|
450
|
-
return instance.getHeaderGroupProps("" + depth, getterValue);
|
|
451
|
-
},
|
|
452
|
-
getFooterGroupProps: function getFooterGroupProps(getterValue) {
|
|
453
|
-
return instance.getFooterGroupProps("" + depth, getterValue);
|
|
454
|
-
}
|
|
388
|
+
headers: []
|
|
455
389
|
}; // The parent columns we're going to scan next
|
|
456
390
|
|
|
457
391
|
var pendingParentHeaders = []; // Scan each column for parents
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Headers.js","sources":["../../../src/features/Headers.ts"],"sourcesContent":["import {\n Cell,\n Column,\n CoreHeader,\n FooterGroupProps,\n FooterProps,\n Getter,\n Header,\n HeaderGroup,\n HeaderGroupProps,\n HeaderProps,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n} from '../types'\nimport { propGetter, memo } from '../utils'\n\nexport type HeadersInstance<TGenerics extends TableGenerics> = {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => Header<TGenerics>\n getHeaderGroups: () => HeaderGroup<TGenerics>[]\n getLeftHeaderGroups: () => HeaderGroup<TGenerics>[]\n getCenterHeaderGroups: () => HeaderGroup<TGenerics>[]\n getRightHeaderGroups: () => HeaderGroup<TGenerics>[]\n\n getFooterGroups: () => HeaderGroup<TGenerics>[]\n getLeftFooterGroups: () => HeaderGroup<TGenerics>[]\n getCenterFooterGroups: () => HeaderGroup<TGenerics>[]\n getRightFooterGroups: () => HeaderGroup<TGenerics>[]\n\n getFlatHeaders: () => Header<TGenerics>[]\n getLeftFlatHeaders: () => Header<TGenerics>[]\n getCenterFlatHeaders: () => Header<TGenerics>[]\n getRightFlatHeaders: () => Header<TGenerics>[]\n\n getLeafHeaders: () => Header<TGenerics>[]\n getLeftLeafHeaders: () => Header<TGenerics>[]\n getCenterLeafHeaders: () => Header<TGenerics>[]\n getRightLeafHeaders: () => Header<TGenerics>[]\n\n getHeader: (id: string) => Header<TGenerics>\n\n getHeaderGroupProps: <TGetter extends Getter<HeaderGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderGroupProps, TGetter>\n getFooterGroupProps: <TGetter extends Getter<FooterGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterGroupProps, TGetter>\n getHeaderProps: <TGetter extends Getter<HeaderProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderProps, TGetter>\n getFooterProps: <TGetter extends Getter<FooterProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterProps, TGetter>\n}\n\n//\n\nexport const Headers = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): HeadersInstance<TGenerics> => {\n return {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n index: options.index,\n isPlaceholder: options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getSize: () => {\n let sum = 0\n\n const recurse = (header: CoreHeader<TGenerics>) => {\n if (header.subHeaders.length) {\n header.subHeaders.forEach(recurse)\n } else {\n sum += header.column.getSize() ?? 0\n }\n }\n\n recurse(header)\n\n return sum\n },\n getStart: () => {\n if (header.index > 0) {\n const prevSiblingHeader =\n header.headerGroup.headers[header.index - 1]\n return prevSiblingHeader.getStart() + prevSiblingHeader.getSize()\n }\n\n return 0\n },\n getLeafHeaders: (): Header<TGenerics>[] => {\n const leafHeaders: CoreHeader<TGenerics>[] = []\n\n const recurseHeader = (h: CoreHeader<TGenerics>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h)\n }\n\n recurseHeader(header)\n\n return leafHeaders as Header<TGenerics>[]\n },\n getHeaderProps: userProps =>\n instance.getHeaderProps(header.id, userProps)!,\n getFooterProps: userProps =>\n instance.getFooterProps(header.id, userProps)!,\n renderHeader: () =>\n column.header\n ? instance.render(column.header, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n renderFooter: () =>\n column.footer\n ? instance.render(column.footer, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, instance))\n })\n\n return header as Header<TGenerics>\n },\n\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns = leafColumns.filter(column =>\n left?.includes(column.id)\n )\n const rightColumns = leafColumns.filter(column =>\n right?.includes(column.id)\n )\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n instance\n )\n\n return headerGroups\n },\n {\n key: 'getHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, instance, 'center')\n },\n {\n key: 'getCenterHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n leafColumns = leafColumns.filter(column => left?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'left')\n },\n {\n key: 'getLeftHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n leafColumns = leafColumns.filter(column => right?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'right')\n },\n {\n key: 'getRightHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [instance.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getLeftFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [instance.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getCenterFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [instance.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getRightFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [instance.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getLeftFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [instance.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getCenterFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [instance.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getRightFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [instance.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getCenterLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [instance.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getLeftLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [instance.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getRightLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n instance.getLeftHeaderGroups(),\n instance.getCenterHeaderGroups(),\n instance.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: 'getLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getHeader: (id: string) => {\n const header = [\n ...instance.getFlatHeaders(),\n ...instance.getCenterFlatHeaders(),\n ...instance.getLeftFlatHeaders(),\n ...instance.getRightFlatHeaders(),\n ].find(d => d.id === id)\n\n if (!header) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find header with id: ${id}`)\n }\n throw new Error()\n }\n\n return header\n },\n\n getHeaderGroupProps: (id, userProps) => {\n const headerGroup = instance.getHeaderGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n return propGetter(\n {\n key: headerGroup.id,\n role: 'row',\n },\n userProps\n )\n },\n\n getFooterGroupProps: (id, userProps) => {\n const headerGroup = instance.getFooterGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n const initialProps = {\n key: headerGroup.id,\n role: 'row',\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getHeaderProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n if (!header) {\n throw new Error()\n }\n\n const initialProps: HeaderProps = {\n key: header.id,\n role: 'columnheader',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getFooterProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n const initialProps: FooterProps = {\n key: header.id,\n role: 'columnfooter',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n }\n },\n}\n\nexport function buildHeaderGroups<TGenerics extends TableGenerics>(\n allColumns: Column<TGenerics>[],\n columnsToGroup: Column<TGenerics>[],\n instance: TableInstance<TGenerics>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TGenerics>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TGenerics>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TGenerics>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TGenerics> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n getHeaderGroupProps: getterValue =>\n instance.getHeaderGroupProps(`${depth}`, getterValue)!,\n getFooterGroupProps: getterValue =>\n instance.getFooterGroupProps(`${depth}`, getterValue)!,\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TGenerics>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (latestPendingParentHeader?.column === column) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = instance.createHeader(column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n instance.createHeader(column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (headers: Header<TGenerics>[]) => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan > 0 ? colSpan : undefined\n header.rowSpan = rowSpan > 0 ? rowSpan : undefined\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["Headers","createInstance","instance","createHeader","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getSize","sum","recurse","length","forEach","getStart","prevSiblingHeader","headers","getLeafHeaders","leafHeaders","recurseHeader","h","map","push","getHeaderProps","userProps","getFooterProps","renderHeader","render","renderFooter","footer","_features","feature","Object","assign","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","leftColumns","filter","includes","rightColumns","centerColumns","headerGroups","buildHeaderGroups","key","debug","debugAll","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","center","getHeader","find","d","process","env","NODE_ENV","console","warn","Error","getHeaderGroupProps","propGetter","role","getFooterGroupProps","initialProps","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","createHeaderGroup","headersToGroup","Boolean","join","getterValue","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":";;;;;;;;;;;;;;;;AAqEA;AAEO,IAAMA,OAAO,GAAG;AACrBC,EAAAA,cAAc,EAAE,SACdC,cAAAA,CAAAA,QADc,EAEiB;AAC/B,IAAO,OAAA;AACLC,MAAAA,YAAY,EAAE,SAAA,YAAA,CACZC,MADY,EAEZC,OAFY,EAST;AAAA,QAAA,IAAA,WAAA,CAAA;;AACH,QAAMC,IAAAA,EAAE,kBAAGD,OAAO,CAACC,EAAX,KAAiBF,IAAAA,GAAAA,WAAAA,GAAAA,MAAM,CAACE,EAAhC,CAAA;AAEA,QAAA,IAAIC,MAA6B,GAAG;AAClCD,UAAAA,EAAE,EAAFA,EADkC;AAElCF,UAAAA,MAAM,EAANA,MAFkC;AAGlCI,UAAAA,KAAK,EAAEH,OAAO,CAACG,KAHmB;AAIlCC,UAAAA,aAAa,EAAEJ,OAAO,CAACI,aAJW;AAKlCC,UAAAA,aAAa,EAAEL,OAAO,CAACK,aALW;AAMlCC,UAAAA,KAAK,EAAEN,OAAO,CAACM,KANmB;AAOlCC,UAAAA,UAAU,EAAE,EAPsB;AAQlCC,UAAAA,OAAO,EAAE,CARyB;AASlCC,UAAAA,OAAO,EAAE,CATyB;AAUlCC,UAAAA,WAAW,EAAE,IAVqB;AAWlCC,UAAAA,OAAO,EAAE,SAAM,OAAA,GAAA;AACb,YAAIC,IAAAA,GAAG,GAAG,CAAV,CAAA;;AAEA,YAAA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACX,MAAD,EAAmC;AACjD,cAAA,IAAIA,MAAM,CAACK,UAAP,CAAkBO,MAAtB,EAA8B;AAC5BZ,gBAAAA,MAAM,CAACK,UAAP,CAAkBQ,OAAlB,CAA0BF,OAA1B,CAAA,CAAA;AACD,eAFD,MAEO;AAAA,gBAAA,IAAA,qBAAA,CAAA;;AACLD,gBAAAA,GAAG,6BAAIV,MAAM,CAACH,MAAP,CAAcY,OAAd,EAAJ,KAAA,IAAA,GAAA,qBAAA,GAA+B,CAAlC,CAAA;AACD,eAAA;AACF,aAND,CAAA;;AAQAE,YAAAA,OAAO,CAACX,MAAD,CAAP,CAAA;AAEA,YAAA,OAAOU,GAAP,CAAA;AACD,WAzBiC;AA0BlCI,UAAAA,QAAQ,EAAE,SAAM,QAAA,GAAA;AACd,YAAA,IAAId,MAAM,CAACC,KAAP,GAAe,CAAnB,EAAsB;AACpB,cAAA,IAAMc,iBAAiB,GACrBf,MAAM,CAACQ,WAAP,CAAmBQ,OAAnB,CAA2BhB,MAAM,CAACC,KAAP,GAAe,CAA1C,CADF,CAAA;AAEA,cAAA,OAAOc,iBAAiB,CAACD,QAAlB,KAA+BC,iBAAiB,CAACN,OAAlB,EAAtC,CAAA;AACD,aAAA;;AAED,YAAA,OAAO,CAAP,CAAA;AACD,WAlCiC;AAmClCQ,UAAAA,cAAc,EAAE,SAA2B,cAAA,GAAA;AACzC,YAAMC,IAAAA,WAAoC,GAAG,EAA7C,CAAA;;AAEA,YAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAA8B;AAClD,cAAIA,IAAAA,CAAC,CAACf,UAAF,IAAgBe,CAAC,CAACf,UAAF,CAAaO,MAAjC,EAAyC;AACvCQ,gBAAAA,CAAC,CAACf,UAAF,CAAagB,GAAb,CAAiBF,aAAjB,CAAA,CAAA;AACD,eAAA;;AACDD,cAAAA,WAAW,CAACI,IAAZ,CAAiBF,CAAjB,CAAA,CAAA;AACD,aALD,CAAA;;AAOAD,YAAAA,aAAa,CAACnB,MAAD,CAAb,CAAA;AAEA,YAAA,OAAOkB,WAAP,CAAA;AACD,WAhDiC;AAiDlCK,UAAAA,cAAc,EAAE,SAAA,cAAA,CAAAC,SAAS,EAAA;AAAA,YACvB7B,OAAAA,QAAQ,CAAC4B,cAAT,CAAwBvB,MAAM,CAACD,EAA/B,EAAmCyB,SAAnC,CADuB,CAAA;AAAA,WAjDS;AAmDlCC,UAAAA,cAAc,EAAE,SAAA,cAAA,CAAAD,SAAS,EAAA;AAAA,YACvB7B,OAAAA,QAAQ,CAAC8B,cAAT,CAAwBzB,MAAM,CAACD,EAA/B,EAAmCyB,SAAnC,CADuB,CAAA;AAAA,WAnDS;AAqDlCE,UAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,YACZ7B,OAAAA,MAAM,CAACG,MAAP,GACIL,QAAQ,CAACgC,MAAT,CAAgB9B,MAAM,CAACG,MAAvB,EAA+B;AAC7BL,cAAAA,QAAQ,EAARA,QAD6B;AAE7BK,cAAAA,MAAM,EAAEA,MAFqB;AAG7BH,cAAAA,MAAM,EAANA,MAAAA;AAH6B,aAA/B,CADJ,GAMI,IAPQ,CAAA;AAAA,WArDoB;AA6DlC+B,UAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,YACZ/B,OAAAA,MAAM,CAACgC,MAAP,GACIlC,QAAQ,CAACgC,MAAT,CAAgB9B,MAAM,CAACgC,MAAvB,EAA+B;AAC7BlC,cAAAA,QAAQ,EAARA,QAD6B;AAE7BK,cAAAA,MAAM,EAAEA,MAFqB;AAG7BH,cAAAA,MAAM,EAANA,MAAAA;AAH6B,aAA/B,CADJ,GAMI,IAPQ,CAAA;AAAA,WAAA;AA7DoB,SAApC,CAAA;;AAuEAF,QAAAA,QAAQ,CAACmC,SAAT,CAAmBjB,OAAnB,CAA2B,UAAAkB,OAAO,EAAI;AACpCC,UAAAA,MAAM,CAACC,MAAP,CAAcjC,MAAd,EAAsB+B,OAAO,CAACnC,YAA9B,IAAA,IAAA,GAAA,KAAA,CAAA,GAAsBmC,OAAO,CAACnC,YAAR,CAAuBI,MAAvB,EAA+BL,QAA/B,CAAtB,CAAA,CAAA;AACD,SAFD,CAAA,CAAA;;AAIA,QAAA,OAAOK,MAAP,CAAA;AACD,OAzFI;AA2FL;AAEAkC,MAAAA,eAAe,EAAEC,UAAI,CACnB,YAAA;AAAA,QAAM,OAAA,CACJxC,QAAQ,CAACyC,aAAT,EADI,EAEJzC,QAAQ,CAAC0C,qBAAT,EAFI,EAGJ1C,QAAQ,CAAC2C,QAAT,EAAoBC,CAAAA,aAApB,CAAkCC,IAH9B,EAIJ7C,QAAQ,CAAC2C,QAAT,EAAoBC,CAAAA,aAApB,CAAkCE,KAJ9B,CAAN,CAAA;AAAA,OADmB,EAOnB,UAACC,UAAD,EAAaC,WAAb,EAA0BH,IAA1B,EAAgCC,KAAhC,EAA0C;AACxC,QAAA,IAAMG,WAAW,GAAGD,WAAW,CAACE,MAAZ,CAAmB,UAAAhD,MAAM,EAAA;AAAA,UAC3C2C,OAAAA,IAD2C,oBAC3CA,IAAI,CAAEM,QAAN,CAAejD,MAAM,CAACE,EAAtB,CAD2C,CAAA;AAAA,SAAzB,CAApB,CAAA;AAGA,QAAA,IAAMgD,YAAY,GAAGJ,WAAW,CAACE,MAAZ,CAAmB,UAAAhD,MAAM,EAAA;AAAA,UAC5C4C,OAAAA,KAD4C,oBAC5CA,KAAK,CAAEK,QAAP,CAAgBjD,MAAM,CAACE,EAAvB,CAD4C,CAAA;AAAA,SAAzB,CAArB,CAAA;AAGA,QAAA,IAAMiD,aAAa,GAAGL,WAAW,CAACE,MAAZ,CACpB,UAAAhD,MAAM,EAAA;AAAA,UAAI,OAAA,EAAC2C,IAAD,IAACA,IAAAA,IAAAA,IAAI,CAAEM,QAAN,CAAejD,MAAM,CAACE,EAAtB,CAAD,KAA8B,EAAC0C,KAAD,IAACA,IAAAA,IAAAA,KAAK,CAAEK,QAAP,CAAgBjD,MAAM,CAACE,EAAvB,CAAD,CAAlC,CAAA;AAAA,SADc,CAAtB,CAAA;AAGA,QAAA,IAAMkD,YAAY,GAAGC,iBAAiB,CACpCR,UADoC,EAAA,EAAA,CAAA,MAAA,CAEhCE,WAFgC,EAEhBI,aAFgB,EAEED,YAFF,CAAA,EAGpCpD,QAHoC,CAAtC,CAAA;AAMA,QAAA,OAAOsD,YAAP,CAAA;AACD,OAxBkB,EAyBnB;AACEE,QAAAA,GAAG,EAAE,iBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,qBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,oCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OAzBmB,CA7FhB;AA6HLC,MAAAA,qBAAqB,EAAEpB,UAAI,CACzB,YAAA;AAAA,QAAM,OAAA,CACJxC,QAAQ,CAACyC,aAAT,EADI,EAEJzC,QAAQ,CAAC0C,qBAAT,EAFI,EAGJ1C,QAAQ,CAAC2C,QAAT,EAAoBC,CAAAA,aAApB,CAAkCC,IAH9B,EAIJ7C,QAAQ,CAAC2C,QAAT,EAAoBC,CAAAA,aAApB,CAAkCE,KAJ9B,CAAN,CAAA;AAAA,OADyB,EAOzB,UAACC,UAAD,EAAaC,WAAb,EAA0BH,IAA1B,EAAgCC,KAAhC,EAA0C;AACxCE,QAAAA,WAAW,GAAGA,WAAW,CAACE,MAAZ,CACZ,UAAAhD,MAAM,EAAA;AAAA,UAAI,OAAA,EAAC2C,IAAD,IAACA,IAAAA,IAAAA,IAAI,CAAEM,QAAN,CAAejD,MAAM,CAACE,EAAtB,CAAD,KAA8B,EAAC0C,KAAD,IAACA,IAAAA,IAAAA,KAAK,CAAEK,QAAP,CAAgBjD,MAAM,CAACE,EAAvB,CAAD,CAAlC,CAAA;AAAA,SADM,CAAd,CAAA;AAGA,QAAOmD,OAAAA,iBAAiB,CAACR,UAAD,EAAaC,WAAb,EAA0BhD,QAA1B,EAAoC,QAApC,CAAxB,CAAA;AACD,OAZwB,EAazB;AACEwD,QAAAA,GAAG,EAAE,uBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,qCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OAbyB,CA7HtB;AAiJLE,MAAAA,mBAAmB,EAAErB,UAAI,CACvB,YAAA;AAAA,QAAA,OAAM,CACJxC,QAAQ,CAACyC,aAAT,EADI,EAEJzC,QAAQ,CAAC0C,qBAAT,EAFI,EAGJ1C,QAAQ,CAAC2C,QAAT,GAAoBC,aAApB,CAAkCC,IAH9B,CAAN,CAAA;AAAA,OADuB,EAMvB,UAACE,UAAD,EAAaC,WAAb,EAA0BH,IAA1B,EAAmC;AACjCG,QAAAA,WAAW,GAAGA,WAAW,CAACE,MAAZ,CAAmB,UAAAhD,MAAM,EAAA;AAAA,UAAI2C,OAAAA,IAAJ,oBAAIA,IAAI,CAAEM,QAAN,CAAejD,MAAM,CAACE,EAAtB,CAAJ,CAAA;AAAA,SAAzB,CAAd,CAAA;AACA,QAAOmD,OAAAA,iBAAiB,CAACR,UAAD,EAAaC,WAAb,EAA0BhD,QAA1B,EAAoC,MAApC,CAAxB,CAAA;AACD,OATsB,EAUvB;AACEwD,QAAAA,GAAG,EAAE,qBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,qCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OAVuB,CAjJpB;AAkKLG,MAAAA,oBAAoB,EAAEtB,UAAI,CACxB,YAAA;AAAA,QAAA,OAAM,CACJxC,QAAQ,CAACyC,aAAT,EADI,EAEJzC,QAAQ,CAAC0C,qBAAT,EAFI,EAGJ1C,QAAQ,CAAC2C,QAAT,GAAoBC,aAApB,CAAkCE,KAH9B,CAAN,CAAA;AAAA,OADwB,EAMxB,UAACC,UAAD,EAAaC,WAAb,EAA0BF,KAA1B,EAAoC;AAClCE,QAAAA,WAAW,GAAGA,WAAW,CAACE,MAAZ,CAAmB,UAAAhD,MAAM,EAAA;AAAA,UAAI4C,OAAAA,KAAJ,oBAAIA,KAAK,CAAEK,QAAP,CAAgBjD,MAAM,CAACE,EAAvB,CAAJ,CAAA;AAAA,SAAzB,CAAd,CAAA;AACA,QAAOmD,OAAAA,iBAAiB,CAACR,UAAD,EAAaC,WAAb,EAA0BhD,QAA1B,EAAoC,OAApC,CAAxB,CAAA;AACD,OATuB,EAUxB;AACEwD,QAAAA,GAAG,EAAE,sBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,qCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OAVwB,CAlKrB;AAmLL;AAEAI,MAAAA,eAAe,EAAEvB,UAAI,CACnB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAACuC,eAAT,EAAD,CAAN,CAAA;AAAA,OADmB,EAEnB,UAAAe,YAAY,EAAI;AACd,QAAA,OAAO,EAAIA,CAAAA,MAAAA,CAAAA,YAAJ,CAAkBU,CAAAA,OAAlB,EAAP,CAAA;AACD,OAJkB,EAKnB;AACER,QAAAA,GAAG,EAAE,iBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,qCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OALmB,CArLhB;AAiMLM,MAAAA,mBAAmB,EAAEzB,UAAI,CACvB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAAC6D,mBAAT,EAAD,CAAN,CAAA;AAAA,OADuB,EAEvB,UAAAP,YAAY,EAAI;AACd,QAAA,OAAO,EAAIA,CAAAA,MAAAA,CAAAA,YAAJ,CAAkBU,CAAAA,OAAlB,EAAP,CAAA;AACD,OAJsB,EAKvB;AACER,QAAAA,GAAG,EAAE,qBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,qCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OALuB,CAjMpB;AA6MLO,MAAAA,qBAAqB,EAAE1B,UAAI,CACzB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAAC4D,qBAAT,EAAD,CAAN,CAAA;AAAA,OADyB,EAEzB,UAAAN,YAAY,EAAI;AACd,QAAA,OAAO,EAAIA,CAAAA,MAAAA,CAAAA,YAAJ,CAAkBU,CAAAA,OAAlB,EAAP,CAAA;AACD,OAJwB,EAKzB;AACER,QAAAA,GAAG,EAAE,uBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,qCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OALyB,CA7MtB;AAyNLQ,MAAAA,oBAAoB,EAAE3B,UAAI,CACxB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAAC8D,oBAAT,EAAD,CAAN,CAAA;AAAA,OADwB,EAExB,UAAAR,YAAY,EAAI;AACd,QAAA,OAAO,EAAIA,CAAAA,MAAAA,CAAAA,YAAJ,CAAkBU,CAAAA,OAAlB,EAAP,CAAA;AACD,OAJuB,EAKxB;AACER,QAAAA,GAAG,EAAE,sBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,qCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OALwB,CAzNrB;AAqOL;AAEAS,MAAAA,cAAc,EAAE5B,UAAI,CAClB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAACuC,eAAT,EAAD,CAAN,CAAA;AAAA,OADkB,EAElB,UAAAe,YAAY,EAAI;AACd,QAAA,OAAOA,YAAY,CAChB5B,GADI,CACA,UAAAb,WAAW,EAAI;AAClB,UAAOA,OAAAA,WAAW,CAACQ,OAAnB,CAAA;AACD,SAHI,CAAA,CAIJgD,IAJI,EAAP,CAAA;AAKD,OARiB,EASlB;AACEb,QAAAA,GAAG,EAAE,gBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,qCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OATkB,CAvOf;AAuPLW,MAAAA,kBAAkB,EAAE9B,UAAI,CACtB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAAC6D,mBAAT,EAAD,CAAN,CAAA;AAAA,OADsB,EAEtB,UAAAhB,IAAI,EAAI;AACN,QAAA,OAAOA,IAAI,CACRnB,GADI,CACA,UAAAb,WAAW,EAAI;AAClB,UAAOA,OAAAA,WAAW,CAACQ,OAAnB,CAAA;AACD,SAHI,CAAA,CAIJgD,IAJI,EAAP,CAAA;AAKD,OARqB,EAStB;AACEb,QAAAA,GAAG,EAAE,oBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,uBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,uBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,sCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OATsB,CAvPnB;AAuQLY,MAAAA,oBAAoB,EAAE/B,UAAI,CACxB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAAC4D,qBAAT,EAAD,CAAN,CAAA;AAAA,OADwB,EAExB,UAAAf,IAAI,EAAI;AACN,QAAA,OAAOA,IAAI,CACRnB,GADI,CACA,UAAAb,WAAW,EAAI;AAClB,UAAOA,OAAAA,WAAW,CAACQ,OAAnB,CAAA;AACD,SAHI,CAAA,CAIJgD,IAJI,EAAP,CAAA;AAKD,OARuB,EASxB;AACEb,QAAAA,GAAG,EAAE,sBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,uBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,uBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,sCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OATwB,CAvQrB;AAuRLa,MAAAA,mBAAmB,EAAEhC,UAAI,CACvB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAAC8D,oBAAT,EAAD,CAAN,CAAA;AAAA,OADuB,EAEvB,UAAAjB,IAAI,EAAI;AACN,QAAA,OAAOA,IAAI,CACRnB,GADI,CACA,UAAAb,WAAW,EAAI;AAClB,UAAOA,OAAAA,WAAW,CAACQ,OAAnB,CAAA;AACD,SAHI,CAAA,CAIJgD,IAJI,EAAP,CAAA;AAKD,OARsB,EASvB;AACEb,QAAAA,GAAG,EAAE,qBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,uBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,uBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,sCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OATuB,CAvRpB;AAuSL;AAEAc,MAAAA,oBAAoB,EAAEjC,UAAI,CACxB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAACuE,oBAAT,EAAD,CAAN,CAAA;AAAA,OADwB,EAExB,UAAAG,WAAW,EAAI;AACb,QAAA,OAAOA,WAAW,CAACxB,MAAZ,CAAmB,UAAA7C,MAAM,EAAA;AAAA,UAAA,IAAA,kBAAA,CAAA;;AAAA,UAAA,OAAI,wBAACA,MAAM,CAACK,UAAR,KAAC,IAAA,IAAA,kBAAA,CAAmBO,MAApB,CAAJ,CAAA;AAAA,SAAzB,CAAP,CAAA;AACD,OAJuB,EAKxB;AACEuC,QAAAA,GAAG,EAAE,sBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,uBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,uBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,sCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OALwB,CAzSrB;AAqTLgB,MAAAA,kBAAkB,EAAEnC,UAAI,CACtB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAACsE,kBAAT,EAAD,CAAN,CAAA;AAAA,OADsB,EAEtB,UAAAI,WAAW,EAAI;AACb,QAAA,OAAOA,WAAW,CAACxB,MAAZ,CAAmB,UAAA7C,MAAM,EAAA;AAAA,UAAA,IAAA,mBAAA,CAAA;;AAAA,UAAA,OAAI,yBAACA,MAAM,CAACK,UAAR,KAAC,IAAA,IAAA,mBAAA,CAAmBO,MAApB,CAAJ,CAAA;AAAA,SAAzB,CAAP,CAAA;AACD,OAJqB,EAKtB;AACEuC,QAAAA,GAAG,EAAE,oBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,uBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,uBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,sCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OALsB,CArTnB;AAiULiB,MAAAA,mBAAmB,EAAEpC,UAAI,CACvB,YAAA;AAAA,QAAA,OAAM,CAACxC,QAAQ,CAACwE,mBAAT,EAAD,CAAN,CAAA;AAAA,OADuB,EAEvB,UAAAE,WAAW,EAAI;AACb,QAAA,OAAOA,WAAW,CAACxB,MAAZ,CAAmB,UAAA7C,MAAM,EAAA;AAAA,UAAA,IAAA,mBAAA,CAAA;;AAAA,UAAA,OAAI,yBAACA,MAAM,CAACK,UAAR,KAAC,IAAA,IAAA,mBAAA,CAAmBO,MAApB,CAAJ,CAAA;AAAA,SAAzB,CAAP,CAAA;AACD,OAJsB,EAKvB;AACEuC,QAAAA,GAAG,EAAE,qBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,uBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,uBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,sCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OALuB,CAjUpB;AA6ULrC,MAAAA,cAAc,EAAEkB,UAAI,CAClB,YAAA;AAAA,QAAA,OAAM,CACJxC,QAAQ,CAAC6D,mBAAT,EADI,EAEJ7D,QAAQ,CAAC4D,qBAAT,EAFI,EAGJ5D,QAAQ,CAAC8D,oBAAT,EAHI,CAAN,CAAA;AAAA,OADkB,EAMlB,UAACjB,IAAD,EAAOgC,MAAP,EAAe/B,KAAf,EAAyB;AAAA,QAAA,IAAA,eAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,OAAA,CAAA;;AACvB,QAAA,OAAO,EACDD,CAAAA,MAAAA,CAAAA,CAAAA,eAAAA,GAAAA,CAAAA,MAAAA,GAAAA,IAAI,CAAC,CAAD,CADH,KACD,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAASxB,OADR,KAAA,IAAA,GAAA,eAAA,GACmB,EADnB,EAEDwD,CAAAA,iBAAAA,GAAAA,CAAAA,QAAAA,GAAAA,MAAM,CAAC,CAAD,CAFL,KAED,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAWxD,OAFV,KAAA,IAAA,GAAA,iBAAA,GAEqB,EAFrB,EAGDyB,CAAAA,gBAAAA,GAAAA,CAAAA,OAAAA,GAAAA,KAAK,CAAC,CAAD,CAHJ,KAGD,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAUzB,OAHT,KAAA,IAAA,GAAA,gBAAA,GAGoB,EAHpB,CAKJK,CAAAA,GALI,CAKA,UAAArB,MAAM,EAAI;AACb,UAAOA,OAAAA,MAAM,CAACiB,cAAP,EAAP,CAAA;AACD,SAPI,CAAA,CAQJ+C,IARI,EAAP,CAAA;AASD,OAhBiB,EAiBlB;AACEb,QAAAA,GAAG,EAAE,gBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,uBAAA,CAAA;;AAAA,UACLzD,OAAAA,CAAAA,uBAAAA,GAAAA,QAAQ,CAACG,OAAT,CAAiBuD,QADZ,sCACwB1D,QAAQ,CAACG,OAAT,CAAiBwD,YADzC,CAAA;AAAA,SAAA;AAFT,OAjBkB,CA7Uf;AAqWLmB,MAAAA,SAAS,EAAE,SAAC1E,SAAAA,CAAAA,EAAD,EAAgB;AACzB,QAAMC,IAAAA,MAAM,GAAG,EAAA,CAAA,MAAA,CACVL,QAAQ,CAACoE,cAAT,EADU,EAEVpE,QAAQ,CAACuE,oBAAT,EAFU,EAGVvE,QAAQ,CAACsE,kBAAT,EAHU,EAIVtE,QAAQ,CAACwE,mBAAT,EAJU,CAKbO,CAAAA,IALa,CAKR,UAAAC,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAAC5E,EAAF,KAASA,EAAb,CAAA;AAAA,SALO,CAAf,CAAA;;AAOA,QAAI,IAAA,CAACC,MAAL,EAAa;AACX,UAAA,IAAI4E,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,YAAAA,OAAO,CAACC,IAAR,CAAA,iCAAA,GAA+CjF,EAA/C,CAAA,CAAA;AACD,WAAA;;AACD,UAAM,MAAA,IAAIkF,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OAAOjF,MAAP,CAAA;AACD,OArXI;AAuXLkF,MAAAA,mBAAmB,EAAE,SAAA,mBAAA,CAACnF,EAAD,EAAKyB,SAAL,EAAmB;AACtC,QAAMhB,IAAAA,WAAW,GAAGb,QAAQ,CAACuC,eAAT,EAA2BwC,CAAAA,IAA3B,CAAgC,UAAAC,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAAC5E,EAAF,KAASA,EAAb,CAAA;AAAA,SAAjC,CAApB,CAAA;;AAEA,QAAI,IAAA,CAACS,WAAL,EAAkB;AAChB,UAAA,OAAA;AACD,SAAA;;AAED,QAAA,OAAO2E,gBAAU,CACf;AACEhC,UAAAA,GAAG,EAAE3C,WAAW,CAACT,EADnB;AAEEqF,UAAAA,IAAI,EAAE,KAAA;AAFR,SADe,EAKf5D,SALe,CAAjB,CAAA;AAOD,OArYI;AAuYL6D,MAAAA,mBAAmB,EAAE,SAAA,mBAAA,CAACtF,EAAD,EAAKyB,SAAL,EAAmB;AACtC,QAAMhB,IAAAA,WAAW,GAAGb,QAAQ,CAAC+D,eAAT,EAA2BgB,CAAAA,IAA3B,CAAgC,UAAAC,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAAC5E,EAAF,KAASA,EAAb,CAAA;AAAA,SAAjC,CAApB,CAAA;;AAEA,QAAI,IAAA,CAACS,WAAL,EAAkB;AAChB,UAAA,OAAA;AACD,SAAA;;AAED,QAAA,IAAM8E,YAAY,GAAG;AACnBnC,UAAAA,GAAG,EAAE3C,WAAW,CAACT,EADE;AAEnBqF,UAAAA,IAAI,EAAE,KAAA;AAFa,SAArB,CAAA;AAKA,QAAA,OAAOD,gBAAU,CAACG,YAAD,EAAe9D,SAAf,CAAjB,CAAA;AACD,OApZI;AAsZLD,MAAAA,cAAc,EAAE,SAAA,cAAA,CAACxB,EAAD,EAAKyB,SAAL,EAAmB;AACjC,QAAA,IAAMxB,MAAM,GAAGL,QAAQ,CAAC8E,SAAT,CAAmB1E,EAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACC,MAAL,EAAa;AACX,UAAM,MAAA,IAAIiF,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,IAAMK,YAAyB,GAAG;AAChCnC,UAAAA,GAAG,EAAEnD,MAAM,CAACD,EADoB;AAEhCqF,UAAAA,IAAI,EAAE,cAF0B;AAGhC9E,UAAAA,OAAO,EAAEN,MAAM,CAACM,OAHgB;AAIhCC,UAAAA,OAAO,EAAEP,MAAM,CAACO,OAAAA;AAJgB,SAAlC,CAAA;AAOA,QAAA,OAAO4E,gBAAU,CAACG,YAAD,EAAe9D,SAAf,CAAjB,CAAA;AACD,OAraI;AAuaLC,MAAAA,cAAc,EAAE,SAAA,cAAA,CAAC1B,EAAD,EAAKyB,SAAL,EAAmB;AACjC,QAAA,IAAMxB,MAAM,GAAGL,QAAQ,CAAC8E,SAAT,CAAmB1E,EAAnB,CAAf,CAAA;AAEA,QAAA,IAAMuF,YAAyB,GAAG;AAChCnC,UAAAA,GAAG,EAAEnD,MAAM,CAACD,EADoB;AAEhCqF,UAAAA,IAAI,EAAE,cAF0B;AAGhC9E,UAAAA,OAAO,EAAEN,MAAM,CAACM,OAHgB;AAIhCC,UAAAA,OAAO,EAAEP,MAAM,CAACO,OAAAA;AAJgB,SAAlC,CAAA;AAOA,QAAA,OAAO4E,gBAAU,CAACG,YAAD,EAAe9D,SAAf,CAAjB,CAAA;AACD,OAAA;AAlbI,KAAP,CAAA;AAobD,GAAA;AAxboB,EAAhB;AA2bA,SAAS0B,iBAAT,CACLR,UADK,EAEL6C,cAFK,EAGL5F,QAHK,EAIL6F,YAJK,EAKL;AAAA,EAAA,IAAA,qBAAA,EAAA,cAAA,CAAA;;AACA;AACA;AACA;AACA;AACA;AAEA,EAAIC,IAAAA,QAAQ,GAAG,CAAf,CAAA;;AAEA,EAAMC,IAAAA,YAAY,GAAG,SAAfA,YAAe,CAACC,OAAD,EAA+BvF,KAA/B,EAA6C;AAAA,IAAA,IAAdA,KAAc,KAAA,KAAA,CAAA,EAAA;AAAdA,MAAAA,KAAc,GAAN,CAAM,CAAA;AAAA,KAAA;;AAChEqF,IAAAA,QAAQ,GAAGG,IAAI,CAACC,GAAL,CAASJ,QAAT,EAAmBrF,KAAnB,CAAX,CAAA;AAEAuF,IAAAA,OAAO,CACJ9C,MADH,CACU,UAAAhD,MAAM,EAAA;AAAA,MAAIA,OAAAA,MAAM,CAACiG,YAAP,EAAJ,CAAA;AAAA,KADhB,CAEGjF,CAAAA,OAFH,CAEW,UAAAhB,MAAM,EAAI;AAAA,MAAA,IAAA,eAAA,CAAA;;AACjB,MAAA,IAAA,CAAA,eAAA,GAAIA,MAAM,CAAC8F,OAAX,KAAI,IAAA,IAAA,eAAA,CAAgB/E,MAApB,EAA4B;AAC1B8E,QAAAA,YAAY,CAAC7F,MAAM,CAAC8F,OAAR,EAAiBvF,KAAK,GAAG,CAAzB,CAAZ,CAAA;AACD,OAAA;AACF,KANH,EAMK,CANL,CAAA,CAAA;AAOD,GAVD,CAAA;;AAYAsF,EAAAA,YAAY,CAAChD,UAAD,CAAZ,CAAA;AAEA,EAAIO,IAAAA,YAAsC,GAAG,EAA7C,CAAA;;AAEA,EAAM8C,IAAAA,iBAAiB,GAAG,SAApBA,iBAAoB,CACxBC,cADwB,EAExB5F,KAFwB,EAGrB;AACH;AACA,IAAA,IAAMI,WAAmC,GAAG;AAC1CJ,MAAAA,KAAK,EAALA,KAD0C;AAE1CL,MAAAA,EAAE,EAAE,CAACyF,YAAD,OAAkBpF,KAAlB,CAAA,CAA2ByC,MAA3B,CAAkCoD,OAAlC,CAAA,CAA2CC,IAA3C,CAAgD,GAAhD,CAFsC;AAG1ClF,MAAAA,OAAO,EAAE,EAHiC;AAI1CkE,MAAAA,mBAAmB,EAAE,SAAA,mBAAA,CAAAiB,WAAW,EAAA;AAAA,QAAA,OAC9BxG,QAAQ,CAACuF,mBAAT,MAAgC9E,KAAhC,EAAyC+F,WAAzC,CAD8B,CAAA;AAAA,OAJU;AAM1Cd,MAAAA,mBAAmB,EAAE,SAAA,mBAAA,CAAAc,WAAW,EAAA;AAAA,QAAA,OAC9BxG,QAAQ,CAAC0F,mBAAT,MAAgCjF,KAAhC,EAAyC+F,WAAzC,CAD8B,CAAA;AAAA,OAAA;AANU,KAA5C,CAFG;;AAaH,IAAA,IAAMC,oBAAyC,GAAG,EAAlD,CAbG;;AAgBHJ,IAAAA,cAAc,CAACnF,OAAf,CAAuB,UAAAwF,aAAa,EAAI;AACtC;AAEA,MAAMC,IAAAA,yBAAyB,GAAG,EAAIF,CAAAA,MAAAA,CAAAA,oBAAJ,EAA0BzC,OAA1B,EAAA,CAAoC,CAApC,CAAlC,CAAA;AAEA,MAAM4C,IAAAA,YAAY,GAAGF,aAAa,CAACxG,MAAd,CAAqBO,KAArB,KAA+BI,WAAW,CAACJ,KAAhE,CAAA;AAEA,MAAA,IAAIP,MAAJ,CAAA;AACA,MAAIK,IAAAA,aAAa,GAAG,KAApB,CAAA;;AAEA,MAAA,IAAIqG,YAAY,IAAIF,aAAa,CAACxG,MAAd,CAAqB2G,MAAzC,EAAiD;AAC/C;AACA3G,QAAAA,MAAM,GAAGwG,aAAa,CAACxG,MAAd,CAAqB2G,MAA9B,CAAA;AACD,OAHD,MAGO;AACL;AACA3G,QAAAA,MAAM,GAAGwG,aAAa,CAACxG,MAAvB,CAAA;AACAK,QAAAA,aAAa,GAAG,IAAhB,CAAA;AACD,OAAA;;AAED,MAAI,IAAA,CAAAoG,yBAAyB,IAAzB,IAAA,GAAA,KAAA,CAAA,GAAAA,yBAAyB,CAAEzG,MAA3B,MAAsCA,MAA1C,EAAkD;AAChD;AACAyG,QAAAA,yBAAyB,CAACjG,UAA1B,CAAqCiB,IAArC,CAA0C+E,aAA1C,CAAA,CAAA;AACD,OAHD,MAGO;AACL;AACA,QAAA,IAAMrG,MAAM,GAAGL,QAAQ,CAACC,YAAT,CAAsBC,MAAtB,EAA8B;AAC3CE,UAAAA,EAAE,EAAE,CAACyF,YAAD,EAAepF,KAAf,EAAsBP,MAAM,CAACE,EAA7B,EAAiCsG,aAAjC,oBAAiCA,aAAa,CAAEtG,EAAhD,CAAA,CACD8C,MADC,CACMoD,OADN,CAEDC,CAAAA,IAFC,CAEI,GAFJ,CADuC;AAI3ChG,UAAAA,aAAa,EAAbA,aAJ2C;AAK3CC,UAAAA,aAAa,EAAED,aAAa,GAAA,EAAA,GACrBkG,oBAAoB,CAACvD,MAArB,CAA4B,UAAA8B,CAAC,EAAA;AAAA,YAAA,OAAIA,CAAC,CAAC9E,MAAF,KAAaA,MAAjB,CAAA;AAAA,WAA7B,CAAA,CAAsDe,MADjC,GAExB6F,SAPuC;AAQ3CrG,UAAAA,KAAK,EAALA,KAR2C;AAS3CH,UAAAA,KAAK,EAAEmG,oBAAoB,CAACxF,MAAAA;AATe,SAA9B,CAAf,CAFK;;AAeLZ,QAAAA,MAAM,CAACK,UAAP,CAAkBiB,IAAlB,CAAuB+E,aAAvB,EAfK;AAiBL;;AACAD,QAAAA,oBAAoB,CAAC9E,IAArB,CAA0BtB,MAA1B,CAAA,CAAA;AACD,OAAA;;AAEDQ,MAAAA,WAAW,CAACQ,OAAZ,CAAoBM,IAApB,CAAyB+E,aAAzB,CAAA,CAAA;AACAA,MAAAA,aAAa,CAAC7F,WAAd,GAA4BA,WAA5B,CAAA;AACD,KA7CD,CAAA,CAAA;AA+CAyC,IAAAA,YAAY,CAAC3B,IAAb,CAAkBd,WAAlB,CAAA,CAAA;;AAEA,IAAIJ,IAAAA,KAAK,GAAG,CAAZ,EAAe;AACb2F,MAAAA,iBAAiB,CAACK,oBAAD,EAAuBhG,KAAK,GAAG,CAA/B,CAAjB,CAAA;AACD,KAAA;AACF,GAvED,CAAA;;AAyEA,EAAMsG,IAAAA,aAAa,GAAGnB,cAAc,CAAClE,GAAf,CAAmB,UAACxB,MAAD,EAASI,KAAT,EAAA;AAAA,IAAA,OACvCN,QAAQ,CAACC,YAAT,CAAsBC,MAAtB,EAA8B;AAC5BO,MAAAA,KAAK,EAAEqF,QADqB;AAE5BxF,MAAAA,KAAK,EAALA,KAAAA;AAF4B,KAA9B,CADuC,CAAA;AAAA,GAAnB,CAAtB,CAAA;AAOA8F,EAAAA,iBAAiB,CAACW,aAAD,EAAgBjB,QAAQ,GAAG,CAA3B,CAAjB,CAAA;AAEAxC,EAAAA,YAAY,CAACU,OAAb,EAAA,CA3GA;AA8GA;AACA;;AAEA,EAAA,IAAMgD,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAC3F,OAAD,EAAkC;AAC/D,IAAA,IAAM4F,eAAe,GAAG5F,OAAO,CAAC6B,MAAR,CAAe,UAAA7C,MAAM,EAAA;AAAA,MAAA,OAC3CA,MAAM,CAACH,MAAP,CAAciG,YAAd,EAD2C,CAAA;AAAA,KAArB,CAAxB,CAAA;AAIA,IAAA,OAAOc,eAAe,CAACvF,GAAhB,CAAoB,UAAArB,MAAM,EAAI;AACnC,MAAIM,IAAAA,OAAO,GAAG,CAAd,CAAA;AACA,MAAIC,IAAAA,OAAO,GAAG,CAAd,CAAA;AACA,MAAA,IAAIsG,aAAa,GAAG,CAAC,CAAD,CAApB,CAAA;;AAEA,MAAI7G,IAAAA,MAAM,CAACK,UAAP,IAAqBL,MAAM,CAACK,UAAP,CAAkBO,MAA3C,EAAmD;AACjDiG,QAAAA,aAAa,GAAG,EAAhB,CAAA;AAEAF,QAAAA,sBAAsB,CAAC3G,MAAM,CAACK,UAAR,CAAtB,CAA0CQ,OAA1C,CACE,UAAsD,IAAA,EAAA;AAAA,UAA1CiG,IAAAA,YAA0C,QAAnDxG,OAAmD;AAAA,cAAnByG,YAAmB,QAA5BxG,OAA4B,CAAA;AACpDD,UAAAA,OAAO,IAAIwG,YAAX,CAAA;AACAD,UAAAA,aAAa,CAACvF,IAAd,CAAmByF,YAAnB,CAAA,CAAA;AACD,SAJH,CAAA,CAAA;AAMD,OATD,MASO;AACLzG,QAAAA,OAAO,GAAG,CAAV,CAAA;AACD,OAAA;;AAED,MAAM0G,IAAAA,eAAe,GAAGpB,IAAI,CAACqB,GAAL,CAAArB,KAAAA,CAAAA,IAAI,EAAQiB,aAAR,CAA5B,CAAA;AACAtG,MAAAA,OAAO,GAAGA,OAAO,GAAGyG,eAApB,CAAA;AAEAhH,MAAAA,MAAM,CAACM,OAAP,GAAiBA,OAAO,GAAG,CAAV,GAAcA,OAAd,GAAwBmG,SAAzC,CAAA;AACAzG,MAAAA,MAAM,CAACO,OAAP,GAAiBA,OAAO,GAAG,CAAV,GAAcA,OAAd,GAAwBkG,SAAzC,CAAA;AAEA,MAAO,OAAA;AAAEnG,QAAAA,OAAO,EAAPA,OAAF;AAAWC,QAAAA,OAAO,EAAPA,OAAAA;AAAX,OAAP,CAAA;AACD,KAzBM,CAAP,CAAA;AA0BD,GA/BD,CAAA;;AAiCAoG,EAAAA,sBAAsB,CAAC1D,CAAAA,qBAAAA,GAAAA,CAAAA,cAAAA,GAAAA,YAAY,CAAC,CAAD,CAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAC,cAAiBjC,CAAAA,OAAlB,KAA6B,IAAA,GAAA,qBAAA,GAAA,EAA7B,CAAtB,CAAA;AAEA,EAAA,OAAOiC,YAAP,CAAA;AACD;;;;;"}
|
|
1
|
+
{"version":3,"file":"Headers.js","sources":["../../../src/features/Headers.ts"],"sourcesContent":["import {\n Column,\n CoreHeader,\n Header,\n HeaderGroup,\n TableGenerics,\n TableInstance,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type HeadersInstance<TGenerics extends TableGenerics> = {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => Header<TGenerics>\n getHeaderGroups: () => HeaderGroup<TGenerics>[]\n getLeftHeaderGroups: () => HeaderGroup<TGenerics>[]\n getCenterHeaderGroups: () => HeaderGroup<TGenerics>[]\n getRightHeaderGroups: () => HeaderGroup<TGenerics>[]\n\n getFooterGroups: () => HeaderGroup<TGenerics>[]\n getLeftFooterGroups: () => HeaderGroup<TGenerics>[]\n getCenterFooterGroups: () => HeaderGroup<TGenerics>[]\n getRightFooterGroups: () => HeaderGroup<TGenerics>[]\n\n getFlatHeaders: () => Header<TGenerics>[]\n getLeftFlatHeaders: () => Header<TGenerics>[]\n getCenterFlatHeaders: () => Header<TGenerics>[]\n getRightFlatHeaders: () => Header<TGenerics>[]\n\n getLeafHeaders: () => Header<TGenerics>[]\n getLeftLeafHeaders: () => Header<TGenerics>[]\n getCenterLeafHeaders: () => Header<TGenerics>[]\n getRightLeafHeaders: () => Header<TGenerics>[]\n\n getHeader: (id: string) => Header<TGenerics>\n}\n\n//\n\nexport const Headers = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): HeadersInstance<TGenerics> => {\n return {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n index: options.index,\n isPlaceholder: options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getSize: () => {\n let sum = 0\n\n const recurse = (header: CoreHeader<TGenerics>) => {\n if (header.subHeaders.length) {\n header.subHeaders.forEach(recurse)\n } else {\n sum += header.column.getSize() ?? 0\n }\n }\n\n recurse(header)\n\n return sum\n },\n getStart: () => {\n if (header.index > 0) {\n const prevSiblingHeader =\n header.headerGroup.headers[header.index - 1]\n return prevSiblingHeader.getStart() + prevSiblingHeader.getSize()\n }\n\n return 0\n },\n getLeafHeaders: (): Header<TGenerics>[] => {\n const leafHeaders: CoreHeader<TGenerics>[] = []\n\n const recurseHeader = (h: CoreHeader<TGenerics>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h)\n }\n\n recurseHeader(header)\n\n return leafHeaders as Header<TGenerics>[]\n },\n renderHeader: () =>\n column.header\n ? instance.render(column.header, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n renderFooter: () =>\n column.footer\n ? instance.render(column.footer, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, instance))\n })\n\n return header as Header<TGenerics>\n },\n\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns = leafColumns.filter(column =>\n left?.includes(column.id)\n )\n const rightColumns = leafColumns.filter(column =>\n right?.includes(column.id)\n )\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n instance\n )\n\n return headerGroups\n },\n {\n key: 'getHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, instance, 'center')\n },\n {\n key: 'getCenterHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n leafColumns = leafColumns.filter(column => left?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'left')\n },\n {\n key: 'getLeftHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n leafColumns = leafColumns.filter(column => right?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'right')\n },\n {\n key: 'getRightHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [instance.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getLeftFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [instance.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getCenterFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [instance.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getRightFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [instance.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getLeftFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [instance.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getCenterFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [instance.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getRightFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [instance.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getCenterLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [instance.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getLeftLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [instance.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getRightLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n instance.getLeftHeaderGroups(),\n instance.getCenterHeaderGroups(),\n instance.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: 'getLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getHeader: (id: string) => {\n const header = [\n ...instance.getFlatHeaders(),\n ...instance.getCenterFlatHeaders(),\n ...instance.getLeftFlatHeaders(),\n ...instance.getRightFlatHeaders(),\n ].find(d => d.id === id)\n\n if (!header) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find header with id: ${id}`)\n }\n throw new Error()\n }\n\n return header\n },\n }\n },\n}\n\nexport function buildHeaderGroups<TGenerics extends TableGenerics>(\n allColumns: Column<TGenerics>[],\n columnsToGroup: Column<TGenerics>[],\n instance: TableInstance<TGenerics>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TGenerics>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TGenerics>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TGenerics>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TGenerics> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TGenerics>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (latestPendingParentHeader?.column === column) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = instance.createHeader(column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n instance.createHeader(column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (headers: Header<TGenerics>[]) => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan > 0 ? colSpan : undefined\n header.rowSpan = rowSpan > 0 ? rowSpan : undefined\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["Headers","createInstance","instance","createHeader","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getSize","sum","recurse","length","forEach","getStart","prevSiblingHeader","headers","getLeafHeaders","leafHeaders","recurseHeader","h","map","push","renderHeader","render","renderFooter","footer","_features","feature","Object","assign","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","leftColumns","filter","includes","rightColumns","centerColumns","headerGroups","buildHeaderGroups","key","debug","debugAll","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","center","getHeader","find","d","process","env","NODE_ENV","console","warn","Error","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","createHeaderGroup","headersToGroup","Boolean","join","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
|
|
@@ -17,13 +17,13 @@ var utils = require('../utils.js');
|
|
|
17
17
|
|
|
18
18
|
//
|
|
19
19
|
var Pagination = {
|
|
20
|
-
getInitialState: function getInitialState() {
|
|
20
|
+
getInitialState: function getInitialState(initialState) {
|
|
21
21
|
return {
|
|
22
|
-
pagination: {
|
|
22
|
+
pagination: _rollupPluginBabelHelpers["extends"]({
|
|
23
23
|
pageCount: -1,
|
|
24
24
|
pageIndex: 0,
|
|
25
25
|
pageSize: 10
|
|
26
|
-
}
|
|
26
|
+
}, initialState == null ? void 0 : initialState.pagination)
|
|
27
27
|
};
|
|
28
28
|
},
|
|
29
29
|
getDefaultOptions: function getDefaultOptions(instance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n RowModel,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount: number\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationOptions<TGenerics extends TableGenerics> = {\n manualPagination?: boolean\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<TGenerics extends TableGenerics> = {\n queueResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: () => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: () => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: () => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TGenerics>\n getPaginationRowModel: () => RowModel<TGenerics>\n _getPaginationRowModel?: () => RowModel<TGenerics>\n getPageCount: () => number\n}\n\n//\n\nexport const Pagination = {\n getInitialState: (): PaginationTableState => {\n return {\n pagination: {\n pageCount: -1,\n pageIndex: 0,\n pageSize: 10,\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationInstance<TGenerics> => {\n let registered = false\n return {\n queueResetPageIndex: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetPageIndex\n ) {\n instance.resetPageIndex()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(safeUpdater)\n },\n resetPagination: () => {\n instance.setPagination(\n instance.initialState.pagination ?? {\n pageIndex: 0,\n pageSize: 10,\n pageCount: -1,\n }\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n old.pageCount && old.pageCount > 0\n ? old.pageCount - 1\n : Number.MAX_SAFE_INTEGER\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: () => {\n instance.setPageIndex(0)\n },\n resetPageSize: () => {\n instance.setPageSize(instance.initialState?.pagination?.pageSize ?? 10)\n },\n setPageSize: updater => {\n instance.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n instance.setPagination(old => {\n let newPageCount = functionalUpdate(updater, old.pageCount)\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [\n instance.getState().pagination.pageSize,\n instance.getState().pagination.pageCount,\n ],\n (pageSize, pageCount) => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: 'getPageOptions',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex } = instance.getState().pagination\n\n const pageCount = instance.getPageCount()\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n },\n\n previousPage: () => {\n return instance.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return instance.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => instance.getExpandedRowModel(),\n getPaginationRowModel: () => {\n if (\n !instance._getPaginationRowModel &&\n instance.options.getPaginationRowModel\n ) {\n instance._getPaginationRowModel =\n instance.options.getPaginationRowModel(instance)\n }\n\n if (\n instance.options.manualPagination ||\n !instance._getPaginationRowModel\n ) {\n return instance.getPrePaginationRowModel()\n }\n\n return instance._getPaginationRowModel()\n },\n\n getPageCount: () => {\n const { pageCount } = instance.getState().pagination\n if (pageCount > 0) {\n return pageCount\n }\n\n return Math.ceil(\n instance.getPrePaginationRowModel().rows.length /\n instance.getState().pagination.pageSize\n )\n },\n }\n },\n}\n"],"names":["Pagination","getInitialState","pagination","pageCount","pageIndex","pageSize","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","createInstance","registered","queueResetPageIndex","options","autoResetAll","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","initialState","setPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","Math","min","max","_extends","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","getState","pageOptions","Array","fill","map","_","i","key","debug","debugAll","debugTable","getCanPreviousPage","getCanNextPage","getPageCount","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","manualPagination","ceil","rows","length"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n RowModel,\n Updater,\n TableFeature,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount: number\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationInitialTableState = {\n pagination?: Partial<PaginationState>\n}\n\nexport type PaginationOptions<TGenerics extends TableGenerics> = {\n manualPagination?: boolean\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<TGenerics extends TableGenerics> = {\n queueResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: () => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: () => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: () => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TGenerics>\n getPaginationRowModel: () => RowModel<TGenerics>\n _getPaginationRowModel?: () => RowModel<TGenerics>\n getPageCount: () => number\n}\n\n//\n\nexport const Pagination: TableFeature = {\n getInitialState: (initialState): PaginationTableState => {\n return {\n pagination: {\n pageCount: -1,\n pageIndex: 0,\n pageSize: 10,\n ...initialState?.pagination,\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationInstance<TGenerics> => {\n let registered = false\n return {\n queueResetPageIndex: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetPageIndex\n ) {\n instance.resetPageIndex()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(safeUpdater)\n },\n resetPagination: () => {\n instance.setPagination(\n instance.initialState.pagination ?? {\n pageIndex: 0,\n pageSize: 10,\n pageCount: -1,\n }\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n old.pageCount && old.pageCount > 0\n ? old.pageCount - 1\n : Number.MAX_SAFE_INTEGER\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: () => {\n instance.setPageIndex(0)\n },\n resetPageSize: () => {\n instance.setPageSize(instance.initialState?.pagination?.pageSize ?? 10)\n },\n setPageSize: updater => {\n instance.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n instance.setPagination(old => {\n let newPageCount = functionalUpdate(updater, old.pageCount)\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [\n instance.getState().pagination.pageSize,\n instance.getState().pagination.pageCount,\n ],\n (pageSize, pageCount) => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: 'getPageOptions',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex } = instance.getState().pagination\n\n const pageCount = instance.getPageCount()\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n },\n\n previousPage: () => {\n return instance.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return instance.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => instance.getExpandedRowModel(),\n getPaginationRowModel: () => {\n if (\n !instance._getPaginationRowModel &&\n instance.options.getPaginationRowModel\n ) {\n instance._getPaginationRowModel =\n instance.options.getPaginationRowModel(instance)\n }\n\n if (\n instance.options.manualPagination ||\n !instance._getPaginationRowModel\n ) {\n return instance.getPrePaginationRowModel()\n }\n\n return instance._getPaginationRowModel()\n },\n\n getPageCount: () => {\n const { pageCount } = instance.getState().pagination\n if (pageCount > 0) {\n return pageCount\n }\n\n return Math.ceil(\n instance.getPrePaginationRowModel().rows.length /\n instance.getState().pagination.pageSize\n )\n },\n }\n },\n}\n"],"names":["Pagination","getInitialState","initialState","pagination","_extends","pageCount","pageIndex","pageSize","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","createInstance","registered","queueResetPageIndex","options","autoResetAll","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","setPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","Math","min","max","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","getState","pageOptions","Array","fill","map","_","i","key","debug","debugAll","debugTable","getCanPreviousPage","getCanNextPage","getPageCount","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","manualPagination","ceil","rows","length"],"mappings":"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"}
|