@tanstack/react-table 8.0.0-alpha.3 → 8.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/build/cjs/core.js +1 -1
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/createTable.js.map +1 -1
  4. package/build/cjs/features/Expanding.js +5 -9
  5. package/build/cjs/features/Expanding.js.map +1 -1
  6. package/build/cjs/features/Filters.js +3 -3
  7. package/build/cjs/features/Filters.js.map +1 -1
  8. package/build/cjs/features/Grouping.js +2 -2
  9. package/build/cjs/features/Grouping.js.map +1 -1
  10. package/build/cjs/features/Pagination.js +24 -20
  11. package/build/cjs/features/Pagination.js.map +1 -1
  12. package/build/cjs/features/Pinning.js +2 -2
  13. package/build/cjs/features/Pinning.js.map +1 -1
  14. package/build/cjs/features/Sorting.js +2 -2
  15. package/build/cjs/features/Sorting.js.map +1 -1
  16. package/build/cjs/index.js +2 -0
  17. package/build/cjs/index.js.map +1 -1
  18. package/build/cjs/utils/paginateRowsFn.js +44 -0
  19. package/build/cjs/utils/paginateRowsFn.js.map +1 -0
  20. package/build/cjs/utils.js +9 -14
  21. package/build/cjs/utils.js.map +1 -1
  22. package/build/esm/index.js +75 -54
  23. package/build/esm/index.js.map +1 -1
  24. package/build/stats-html.html +1 -1
  25. package/build/stats-react.json +266 -234
  26. package/build/types/core.d.ts +0 -2
  27. package/build/types/createTable.d.ts +1 -2
  28. package/build/types/features/Pagination.d.ts +5 -4
  29. package/build/types/index.d.ts +2 -1
  30. package/build/types/utils.d.ts +0 -4
  31. package/build/umd/index.development.js +75 -53
  32. package/build/umd/index.development.js.map +1 -1
  33. package/build/umd/index.production.js +1 -1
  34. package/build/umd/index.production.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/core.tsx +1 -92
  37. package/src/createTable.tsx +1 -1
  38. package/src/features/Expanding.ts +5 -3
  39. package/src/features/Filters.ts +4 -4
  40. package/src/features/Grouping.ts +1 -1
  41. package/src/features/Pagination.ts +44 -33
  42. package/src/features/Pinning.ts +1 -3
  43. package/src/features/Sorting.ts +1 -1
  44. package/src/index.tsx +2 -1
  45. package/src/utils.tsx +7 -69
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterType, filterTypes } from '../filterTypes'\nimport {\n Column,\n Listener,\n OnChangeFn,\n ReactTable,\n Row,\n Updater,\n} from '../types'\nimport { functionalUpdate, isFunction, makeStateUpdater, memo } from '../utils'\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type FilterFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> =\n {\n (\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: any\n ): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n }\n\nexport type ColumnFilterAutoRemoveTestFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = (\n value: unknown,\n column?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n) => boolean\n\nexport type CustomFilterTypes<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = Record<\n string,\n FilterFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n>\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n}\n\nexport type FilterType<TFilterFns> =\n | 'auto'\n | BuiltInFilterType\n | keyof TFilterFns\n | FilterFn<unknown, unknown, TFilterFns, any, any>\n\nexport type FiltersColumnDef<TFilterFns> = {\n filterType?: FilterType<TFilterFns>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n filterType: FilterType<TFilterFns>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getIsColumnFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (value: any) => void\n getPreFilteredRows: () =>\n | Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n filterFromChildrenUp?: boolean\n filterTypes?: TFilterFns\n enableFilters?: boolean\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n columnFilterRowsFn?: (\n instance: ReactTable<any, any, any, any, any>,\n coreRowModel: RowModel<any, any, any, any, any>\n ) => RowModel<any, any, any, any, any>\n // Global\n globalFilterType?: FilterType<TFilterFns>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilters?: boolean\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n globalFilterRowsFn?: (\n instance: ReactTable<any, any, any, any, any>,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getColumnCanGlobalFilterFn?: (\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => boolean\n}\n\nexport type FiltersInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyFiltersReset: () => void\n getColumnAutoFilterFn: (\n columnId: string\n ) => FilterFn<any, any, any, any, any> | undefined\n\n getColumnFilterFn: (\n columnId: string\n ) => FilterFn<any, any, any, any, any> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, value: any) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n getColumnCanGlobalFilterFn?: (\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n getColumnFilteredRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreFilteredRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getPreColumnFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreColumnFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreColumnFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getColumnFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getColumnFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getColumnFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n\n // Global\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<any, any, any, any, any> | undefined\n getGlobalFilterFn: () => FilterFn<any, any, any, any, any> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getGlobalFilteredRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreGlobalFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGlobalFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGlobalFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getGlobalFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGlobalFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGlobalFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getDefaultColumn<TFilterFns>(): FiltersColumnDef<TFilterFns> {\n return {\n filterType: 'auto',\n }\n}\n\nexport function getInitialState(): FiltersTableState {\n return {\n columnFilters: [],\n globalFilter: undefined,\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): FiltersOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n autoResetColumnFilters: true,\n filterFromChildrenUp: true,\n autoResetGlobalFilter: true,\n globalFilterType: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance.getCoreFlatRows()[0]?.getAllCellsByColumnId()[\n column.id\n ]?.value\n\n return typeof value === 'string'\n },\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): FiltersColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n { key: 'column.getFacetInfo', debug: instance.options.debug }\n )\n\n return {\n filterType: column.filterType,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getIsColumnFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val => instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): FiltersInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n\n return {\n _notifyFiltersReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (instance.options.autoResetAll === true) {\n instance.resetSorting()\n } else {\n if (instance.options.autoResetColumnFilters) {\n instance.resetColumnFilters()\n }\n if (instance.options.autoResetGlobalFilter) {\n instance.resetGlobalFilter()\n }\n }\n },\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreFlatRows()[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterTypes.includesString\n }\n\n if (typeof value === 'number') {\n return filterTypes.betweenNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterTypes.equals\n }\n\n if (Array.isArray(value)) {\n return filterTypes.arrIncludes\n }\n\n return filterTypes.weakEquals\n },\n getGlobalAutoFilterFn: () => {\n return filterTypes.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterTypes = instance.options.filterTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterType)\n ? column.filterType\n : column.filterType === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterTypes as Record<string, any>)?.[\n column.filterType as string\n ] ??\n (filterTypes[column.filterType as BuiltInFilterType] as FilterFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >)\n },\n\n getGlobalFilterFn: () => {\n const { filterTypes: userFilterTypes, globalFilterType } =\n instance.options\n\n return isFunction(globalFilterType)\n ? globalFilterType\n : globalFilterType === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterTypes as Record<string, any>)?.[\n globalFilterType as string\n ] ??\n (filterTypes[globalFilterType as BuiltInFilterType] as FilterFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(\n updateFn,\n updateFn(instance.getState().columnFilters)\n )\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(\n updater,\n functionalUpdate(updater, instance.getState().globalFilter)\n )\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(undefined)\n },\n\n getColumnCanColumnFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanFilter ??\n column.defaultCanColumnFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanFilter ??\n column.defaultCanGlobalFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(\n instance.options?.initialState?.columnFilters ?? []\n )\n },\n\n getColumnFilteredRowModel: memo(\n () => [\n instance.getState().columnFilters,\n instance.getCoreRowModel(),\n instance.options.columnFilterRowsFn,\n ],\n (columnFilters, rowModel, columnFiltersFn) => {\n const columnFilteredRowModel = (() => {\n if (!columnFilters?.length || !columnFiltersFn) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Column Filtering...')\n\n return columnFiltersFn(instance as any, rowModel)\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => columnFilteredRowModel.rows\n })\n\n return columnFilteredRowModel\n },\n { key: 'getColumnFilteredRowModel', debug: instance.options.debug }\n ),\n\n // These might be easier to remember than \"column\" filtered rows\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n getPreFilteredRows: () => instance.getCoreRowModel().rows,\n getPreFilteredFlatRows: () => instance.getCoreRowModel().flatRows,\n getPreFilteredRowsById: () => instance.getCoreRowModel().rowsById,\n\n // Pre Column Filter\n getPreColumnFilteredRows: () => instance.getCoreRowModel().rows,\n getPreColumnFilteredFlatRows: () => instance.getCoreRowModel().flatRows,\n getPreColumnFilteredRowsById: () => instance.getCoreRowModel().rowsById,\n getColumnFilteredRows: () => instance.getColumnFilteredRowModel().rows,\n\n getColumnFilteredFlatRows: () =>\n instance.getColumnFilteredRowModel().flatRows,\n getColumnFilteredRowsById: () =>\n instance.getColumnFilteredRowModel().rowsById,\n getGlobalFilteredRowModel: memo(\n () => [\n instance.getState().globalFilter,\n instance.getColumnFilteredRowModel(),\n instance.options.globalFilterRowsFn,\n ],\n (globalFilterValue, columnFilteredRowModel, globalFiltersFn) => {\n const globalFilteredRowModel = (() => {\n if (!globalFiltersFn || !globalFilterValue) {\n return columnFilteredRowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Global Filtering...')\n\n return globalFiltersFn(\n instance as ReactTable<any, any, any, any, any>,\n columnFilteredRowModel\n )\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => globalFilteredRowModel.rows\n })\n\n return globalFilteredRowModel\n },\n {\n key: 'getGlobalFilteredRowModel',\n debug: instance.options.debug,\n onChange: () => instance._notifySortingReset(),\n }\n ),\n\n getPreGlobalFilteredRows: () => instance.getColumnFilteredRowModel().rows,\n getPreGlobalFilteredFlatRows: () =>\n instance.getColumnFilteredRowModel().flatRows,\n getPreGlobalFilteredRowsById: () =>\n instance.getColumnFilteredRowModel().rowsById,\n getGlobalFilteredRows: () => instance.getGlobalFilteredRowModel().rows,\n getGlobalFilteredFlatRows: () =>\n instance.getGlobalFilteredRowModel().flatRows,\n getGlobalFilteredRowsById: () =>\n instance.getGlobalFilteredRowModel().rowsById,\n }\n}\n\nexport function shouldAutoRemoveFilter(\n filterFn?: FilterFn<any, any, any, any, any>,\n value?: any,\n column?: Column<any, any, any, any, any>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["getDefaultColumn","filterType","getInitialState","columnFilters","globalFilter","undefined","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","autoResetColumnFilters","filterFromChildrenUp","autoResetGlobalFilter","globalFilterType","getColumnCanGlobalFilterFn","column","value","getCoreFlatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getIsColumnFiltered","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","getInstance","registered","_notifyFiltersReset","autoResetAll","resetSorting","resetColumnFilters","resetGlobalFilter","getColumnAutoFilterFn","columnId","firstRow","filterTypes","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterTypes","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","filterFn","shouldAutoRemoveFilter","getState","setGlobalFilter","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanFilter","defaultCanColumnFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","initialState","getColumnFilteredRowModel","getCoreRowModel","columnFilterRowsFn","rowModel","columnFiltersFn","columnFilteredRowModel","info","nonFilteredColumns","forEach","getPreFilteredRowModel","getPreFilteredFlatRows","flatRows","getPreFilteredRowsById","rowsById","getPreColumnFilteredRows","getPreColumnFilteredFlatRows","getPreColumnFilteredRowsById","getColumnFilteredRows","getColumnFilteredFlatRows","getColumnFilteredRowsById","getGlobalFilteredRowModel","globalFilterRowsFn","globalFilterValue","globalFiltersFn","globalFilteredRowModel","onChange","_notifySortingReset","getPreGlobalFilteredRows","getPreGlobalFilteredFlatRows","getPreGlobalFilteredRowsById","getGlobalFilteredRows","getGlobalFilteredFlatRows","getGlobalFilteredRowsById","autoRemove"],"mappings":";;;;;;;;;;;;;;;;;AAuRA;AAEO,SAASA,gBAAT,GAAsE;AAC3E,SAAO;AACLC,IAAAA,UAAU,EAAE;AADP,GAAP;AAGD;AAEM,SAASC,eAAT,GAA8C;AACnD,SAAO;AACLC,IAAAA,aAAa,EAAE,EADV;AAELC,IAAAA,YAAY,EAAEC;AAFT,GAAP;AAID;AAEM,SAASC,iBAAT,CAOLC,QAPK,EAQoE;AACzE,SAAO;AACLC,IAAAA,qBAAqB,EAAEC,sBAAgB,CAAC,eAAD,EAAkBF,QAAlB,CADlC;AAELG,IAAAA,oBAAoB,EAAED,sBAAgB,CAAC,cAAD,EAAiBF,QAAjB,CAFjC;AAGLI,IAAAA,sBAAsB,EAAE,IAHnB;AAILC,IAAAA,oBAAoB,EAAE,IAJjB;AAKLC,IAAAA,qBAAqB,EAAE,IALlB;AAMLC,IAAAA,gBAAgB,EAAE,MANb;AAOLC,IAAAA,0BAA0B,EAAE,oCAAAC,MAAM,EAAI;AAAA;;AACpC,UAAMC,KAAK,4BAAGV,QAAQ,CAACW,eAAT,GAA2B,CAA3B,CAAH,+CAAG,sBAA+BC,qBAA/B,GACZH,MAAM,CAACI,EADK,CAAH,qBAAG,uBAEXH,KAFH;AAIA,aAAO,OAAOA,KAAP,KAAiB,QAAxB;AACD;AAbI,GAAP;AAeD;AAEM,SAASI,YAAT,CAOLL,MAPK,EAQLT,QARK,EASmE;AACxE,MAAMe,YAAY,GAAGC,UAAI,CACvB;AAAA,WAAM,CAACP,MAAM,CAACQ,kBAAP,EAAD,CAAN;AAAA,GADuB,EAEvB,UAACC,IAAD,EAAe;AAAA;;AAAA,QAAdA,IAAc;AAAdA,MAAAA,IAAc,GAAP,EAAO;AAAA;;AACb,QAAIC,uBAAuB,GAAG,IAAIC,GAAJ,EAA9B;AAEA,QAAIC,uBAAmC,GAAG,oCACxCH,IAAI,CAAC,CAAD,CADoC,qBACxC,OAASI,MAAT,CAAgBb,MAAM,CAACI,EAAvB,CADwC,oCACV,IADU,uCAExCK,IAAI,CAAC,CAAD,CAFoC,qBAExC,QAASI,MAAT,CAAgBb,MAAM,CAACI,EAAvB,CAFwC,qCAEV,IAFU,CAA1C;;AAKA,SAAK,IAAIU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,IAAI,CAACM,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AAAA;;AACpC,UAAMb,MAAK,cAAGQ,IAAI,CAACK,CAAD,CAAP,qBAAG,QAASD,MAAT,CAAgBb,MAAM,CAACI,EAAvB,CAAd;;AAEA,UAAIM,uBAAuB,CAACM,GAAxB,CAA4Bf,MAA5B,CAAJ,EAAwC;AAAA;;AACtCS,QAAAA,uBAAuB,CAACO,GAAxB,CACEhB,MADF,EAEE,0BAACS,uBAAuB,CAACQ,GAAxB,CAA4BjB,MAA5B,CAAD,oCAAuC,CAAvC,IAA4C,CAF9C;AAID,OALD,MAKO;AACLS,QAAAA,uBAAuB,CAACO,GAAxB,CAA4BhB,MAA5B,EAAmC,CAAnC;AACD;;AAED,UAAIA,MAAK,GAAGW,uBAAuB,CAAC,CAAD,CAAnC,EAAwC;AACtCA,QAAAA,uBAAuB,CAAC,CAAD,CAAvB,GAA6BX,MAA7B;AACD,OAFD,MAEO,IAAIA,MAAK,GAAGW,uBAAuB,CAAC,CAAD,CAAnC,EAAwC;AAC7CA,QAAAA,uBAAuB,CAAC,CAAD,CAAvB,GAA6BX,MAA7B;AACD;AACF;;AAED,WAAO;AACLS,MAAAA,uBAAuB,EAAvBA,uBADK;AAELE,MAAAA,uBAAuB,EAAvBA;AAFK,KAAP;AAID,GAjCsB,EAkCvB;AAAEO,IAAAA,GAAG,EAAE,qBAAP;AAA8BC,IAAAA,KAAK,EAAE7B,QAAQ,CAAC8B,OAAT,CAAiBD;AAAtD,GAlCuB,CAAzB;AAqCA,SAAO;AACLnC,IAAAA,UAAU,EAAEe,MAAM,CAACf,UADd;AAELqC,IAAAA,kBAAkB,EAAE;AAAA,aAAM/B,QAAQ,CAACgC,wBAAT,CAAkCvB,MAAM,CAACI,EAAzC,CAAN;AAAA,KAFf;AAGLoB,IAAAA,kBAAkB,EAAE;AAAA,aAAMjC,QAAQ,CAACkC,wBAAT,CAAkCzB,MAAM,CAACI,EAAzC,CAAN;AAAA,KAHf;AAILsB,IAAAA,oBAAoB,EAAE;AAAA,aAAMnC,QAAQ,CAACmC,oBAAT,CAA8B1B,MAAM,CAACI,EAArC,CAAN;AAAA,KAJjB;AAKLuB,IAAAA,mBAAmB,EAAE;AAAA,aAAMpC,QAAQ,CAACqC,mBAAT,CAA6B5B,MAAM,CAACI,EAApC,CAAN;AAAA,KALhB;AAMLyB,IAAAA,oBAAoB,EAAE;AAAA,aAAMtC,QAAQ,CAACsC,oBAAT,CAA8B7B,MAAM,CAACI,EAArC,CAAN;AAAA,KANjB;AAOL0B,IAAAA,oBAAoB,EAAE,8BAAAC,GAAG;AAAA,aAAIxC,QAAQ,CAACuC,oBAAT,CAA8B9B,MAAM,CAACI,EAArC,EAAyC2B,GAAzC,CAAJ;AAAA,KAPpB;AAQLC,IAAAA,0BAA0B,EAAE;AAAA,aAAM1B,YAAY,GAAGI,uBAArB;AAAA,KARvB;AASLuB,IAAAA,0BAA0B,EAAE;AAAA,aAAM3B,YAAY,GAAGM,uBAArB;AAAA,KATvB;AAULJ,IAAAA,kBAAkB,EAAE;AAAA,aAAMnB,SAAN;AAAA;AAVf,GAAP;AAYD;AAEM,SAAS6C,WAAT,CAOL3C,QAPK,EAQqE;AAC1E,MAAI4C,UAAU,GAAG,KAAjB;AAEA,SAAO;AACLC,IAAAA,mBAAmB,EAAE,+BAAM;AACzB,UAAI,CAACD,UAAL,EAAiB;AACfA,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;;AAED,UAAI5C,QAAQ,CAAC8B,OAAT,CAAiBgB,YAAjB,KAAkC,KAAtC,EAA6C;AAC3C;AACD;;AAED,UAAI9C,QAAQ,CAAC8B,OAAT,CAAiBgB,YAAjB,KAAkC,IAAtC,EAA4C;AAC1C9C,QAAAA,QAAQ,CAAC+C,YAAT;AACD,OAFD,MAEO;AACL,YAAI/C,QAAQ,CAAC8B,OAAT,CAAiB1B,sBAArB,EAA6C;AAC3CJ,UAAAA,QAAQ,CAACgD,kBAAT;AACD;;AACD,YAAIhD,QAAQ,CAAC8B,OAAT,CAAiBxB,qBAArB,EAA4C;AAC1CN,UAAAA,QAAQ,CAACiD,iBAAT;AACD;AACF;AACF,KArBI;AAsBLC,IAAAA,qBAAqB,EAAE,+BAAAC,QAAQ,EAAI;AACjC,UAAMC,QAAQ,GAAGpD,QAAQ,CAACW,eAAT,GAA2B,CAA3B,CAAjB;AAEA,UAAMD,KAAK,GAAG0C,QAAH,oBAAGA,QAAQ,CAAE9B,MAAV,CAAiB6B,QAAjB,CAAd;;AAEA,UAAI,OAAOzC,KAAP,KAAiB,QAArB,EAA+B;AAC7B,eAAO2C,uBAAW,CAACC,cAAnB;AACD;;AAED,UAAI,OAAO5C,KAAP,KAAiB,QAArB,EAA+B;AAC7B,eAAO2C,uBAAW,CAACE,kBAAnB;AACD;;AAED,UAAI7C,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,QAAvC,EAAiD;AAC/C,eAAO2C,uBAAW,CAACG,MAAnB;AACD;;AAED,UAAIC,KAAK,CAACC,OAAN,CAAchD,KAAd,CAAJ,EAA0B;AACxB,eAAO2C,uBAAW,CAACM,WAAnB;AACD;;AAED,aAAON,uBAAW,CAACO,UAAnB;AACD,KA5CI;AA6CLC,IAAAA,qBAAqB,EAAE,iCAAM;AAC3B,aAAOR,uBAAW,CAACC,cAAnB;AACD,KA/CI;AAgDLQ,IAAAA,iBAAiB,EAAE,2BAAAX,QAAQ,EAAI;AAAA;;AAC7B,UAAM1C,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;AACA,UAAMa,eAAe,GAAGhE,QAAQ,CAAC8B,OAAT,CAAiBuB,WAAzC;;AAEA,UAAI,CAAC5C,MAAL,EAAa;AACX,cAAM,IAAIwD,KAAJ,EAAN;AACD;;AAED,aAAOC,gBAAU,CAACzD,MAAM,CAACf,UAAR,CAAV,GACHe,MAAM,CAACf,UADJ,GAEHe,MAAM,CAACf,UAAP,KAAsB,MAAtB,GACAM,QAAQ,CAACkD,qBAAT,CAA+BC,QAA/B,CADA,WAECa,eAFD,oBAECA,eAAD,CACEvD,MAAM,CAACf,UADT,CAFA,mBAKC2D,uBAAW,CAAC5C,MAAM,CAACf,UAAR,CAPhB;AAcD,KAtEI;AAwELyE,IAAAA,iBAAiB,EAAE,6BAAM;AAAA;;AACvB,8BACEnE,QAAQ,CAAC8B,OADX;AAAA,UAAqBkC,eAArB,qBAAQX,WAAR;AAAA,UAAsC9C,gBAAtC,qBAAsCA,gBAAtC;AAGA,aAAO2D,gBAAU,CAAC3D,gBAAD,CAAV,GACHA,gBADG,GAEHA,gBAAgB,KAAK,MAArB,GACAP,QAAQ,CAAC6D,qBAAT,EADA,YAECG,eAFD,oBAECA,eAAD,CACEzD,gBADF,CAFA,oBAKC8C,uBAAW,CAAC9C,gBAAD,CAPhB;AAcD,KA1FI;AA4FL6D,IAAAA,gBAAgB,EAAE,0BAACC,OAAD,EAA0C;AAC1D,UAAMC,WAAW,GAAGtE,QAAQ,CAACuE,iBAAT,EAApB;;AAEA,UAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD,EAA6B;AAAA;;AAC5C,oCAAOC,sBAAgB,CAACL,OAAD,EAAUI,GAAV,CAAvB,qBAAO,kBAAgCE,MAAhC,CAAuC,UAAAA,MAAM,EAAI;AACtD,cAAMlE,MAAM,GAAG6D,WAAW,CAACM,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAChE,EAAF,KAAS8D,MAAM,CAAC9D,EAApB;AAAA,WAAlB,CAAf;;AAEA,cAAIJ,MAAJ,EAAY;AACV,gBAAMqE,QAAQ,GAAG9E,QAAQ,CAAC8D,iBAAT,CAA2BrD,MAAM,CAACI,EAAlC,CAAjB;;AAEA,gBAAIkE,sBAAsB,CAACD,QAAD,EAAWH,MAAM,CAACjE,KAAlB,EAAyBD,MAAzB,CAA1B,EAA4D;AAC1D,qBAAO,KAAP;AACD;AACF;;AAED,iBAAO,IAAP;AACD,SAZM,CAAP;AAaD,OAdD;;AAgBAT,MAAAA,QAAQ,CAAC8B,OAAT,CAAiB7B,qBAAjB,oBAAAD,QAAQ,CAAC8B,OAAT,CAAiB7B,qBAAjB,CACEuE,QADF,EAEEA,QAAQ,CAACxE,QAAQ,CAACgF,QAAT,GAAoBpF,aAArB,CAFV;AAID,KAnHI;AAqHLqF,IAAAA,eAAe,EAAE,yBAAAZ,OAAO,EAAI;AAC1BrE,MAAAA,QAAQ,CAAC8B,OAAT,CAAiB3B,oBAAjB,oBAAAH,QAAQ,CAAC8B,OAAT,CAAiB3B,oBAAjB,CACEkE,OADF,EAEEK,sBAAgB,CAACL,OAAD,EAAUrE,QAAQ,CAACgF,QAAT,GAAoBnF,YAA9B,CAFlB;AAID,KA1HI;AA4HLoD,IAAAA,iBAAiB,EAAE,6BAAM;AACvBjD,MAAAA,QAAQ,CAACiF,eAAT,CAAyBnF,SAAzB;AACD,KA9HI;AAgILkC,IAAAA,wBAAwB,EAAE,kCAAAmB,QAAQ,EAAI;AAAA;;AACpC,UAAM1C,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;;AAEA,UAAI,CAAC1C,MAAL,EAAa;AACX,cAAM,IAAIwD,KAAJ,EAAN;AACD;;AAED,mFACExD,MAAM,CAACyE,gBADT,oCAEEzE,MAAM,CAAC0E,kBAFT,oBAGEnF,QAAQ,CAAC8B,OAAT,CAAiBsD,aAHnB,oBAIEpF,QAAQ,CAAC8B,OAAT,CAAiBuD,mBAJnB,oBAKE5E,MAAM,CAAC6E,gBALT,oBAME7E,MAAM,CAAC8E,sBANT,oBAOE,CAAC,CAAC9E,MAAM,CAAC+E,UAPX;AASD,KAhJI;AAkJLtD,IAAAA,wBAAwB,EAAE,kCAAAiB,QAAQ,EAAI;AAAA;;AACpC,UAAM1C,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;;AAEA,UAAI,CAAC1C,MAAL,EAAa;AACX,cAAM,IAAIwD,KAAJ,EAAN;AACD;;AAED,sBACG,2EAACjE,QAAQ,CAAC8B,OAAT,CAAiBsD,aAAlB,oCACCpF,QAAQ,CAAC8B,OAAT,CAAiB2D,kBADlB,qBAEChF,MAAM,CAACyE,gBAFR,qBAGCzE,MAAM,CAACgF,kBAHR,qBAIChF,MAAM,CAAC6E,gBAJR,qBAKC7E,MAAM,CAACiF,sBALR,oBAMC,CAAC,CAACjF,MAAM,CAAC+E,UANV,MAOCxF,QAAQ,CAAC8B,OAAT,CAAiBtB,0BAPlB,oBAOCR,QAAQ,CAAC8B,OAAT,CAAiBtB,0BAAjB,CAA8CC,MAA9C,CAPD,CADH,oBASE,IATF;AAWD,KApKI;AAsKL4B,IAAAA,mBAAmB,EAAE,6BAAAc,QAAQ;AAAA,aAC3BnD,QAAQ,CAACmC,oBAAT,CAA8BgB,QAA9B,IAA0C,CAAC,CADhB;AAAA,KAtKxB;AAyKLb,IAAAA,oBAAoB,EAAE,8BAAAa,QAAQ;AAAA;;AAAA,sCAC5BnD,QAAQ,CAACgF,QAAT,GAAoBpF,aADQ,+CAC5B,sBAAmCgF,IAAnC,CAAwC,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,OAAzC,CAD4B,qBAC5B,uBAAiEzC,KADrC;AAAA,KAzKzB;AA4KLyB,IAAAA,oBAAoB,EAAE,8BAAAgB,QAAQ;AAAA;;AAAA,iEAC5BnD,QAAQ,CAACgF,QAAT,GAAoBpF,aADQ,qBAC5B,uBAAmC+F,SAAnC,CAA6C,UAAAd,CAAC;AAAA,eAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,OAA9C,CAD4B,qCAE5B,CAAC,CAF2B;AAAA,KA5KzB;AAgLLZ,IAAAA,oBAAoB,EAAE,8BAACY,QAAD,EAAWzC,KAAX,EAAqB;AACzC,UAAI,CAACyC,QAAL,EAAe;AAEfnD,MAAAA,QAAQ,CAACoE,gBAAT,CAA0B,UAAAK,GAAG,EAAI;AAC/B,YAAMhE,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;;AAEA,YAAI,CAAC1C,MAAL,EAAa;AACX,cAAImF,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,YAAAA,OAAO,CAACC,IAAR,oDACmD7C,QADnD;AAGD;;AACD,gBAAM,IAAIc,KAAJ,EAAN;AACD;;AAED,YAAMa,QAAQ,GAAG9E,QAAQ,CAAC8D,iBAAT,CAA2BrD,MAAM,CAACI,EAAlC,CAAjB;AACA,YAAMoF,cAAc,GAAGxB,GAAH,oBAAGA,GAAG,CAAEG,IAAL,CAAU,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,SAAX,CAAvB;AAEA,YAAM+C,SAAS,GAAGxB,sBAAgB,CAChChE,KADgC,EAEhCuF,cAAc,GAAGA,cAAc,CAACvF,KAAlB,GAA0BZ,SAFR,CAAlC,CAf+B;;AAqB/B,YACEiF,sBAAsB,CACpBD,QADoB,EAQpBoB,SARoB,EASpBzF,MAToB,CADxB,EAYE;AAAA;;AACA,gCAAOgE,GAAP,oBAAOA,GAAG,CAAEE,MAAL,CAAY,UAAAE,CAAC;AAAA,mBAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,WAAb,CAAP,0BAA8C,EAA9C;AACD;;AAED,YAAMgD,YAAY,GAAG;AAAEtF,UAAAA,EAAE,EAAEsC,QAAN;AAAgBzC,UAAAA,KAAK,EAAEwF;AAAvB,SAArB;;AAEA,YAAID,cAAJ,EAAoB;AAAA;;AAClB,6BACExB,GADF,oBACEA,GAAG,CAAE2B,GAAL,CAAS,UAAAvB,CAAC,EAAI;AACZ,gBAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb,EAAuB;AACrB,qBAAOgD,YAAP;AACD;;AACD,mBAAOtB,CAAP;AACD,WALD,CADF,uBAMQ,EANR;AAQD;;AAED,YAAIJ,GAAJ,YAAIA,GAAG,CAAEjD,MAAT,EAAiB;AACf,2BAAWiD,GAAX,GAAgB0B,YAAhB;AACD;;AAED,eAAO,CAACA,YAAD,CAAP;AACD,OAvDD;AAwDD,KA3OI;AA6OLnD,IAAAA,kBAAkB,EAAE,8BAAM;AAAA;;AACxBhD,MAAAA,QAAQ,CAACoE,gBAAT,gDACEpE,QAAQ,CAAC8B,OADX,8CACE,mBAAkBuE,YADpB,qBACE,sBAAgCzG,aADlC,oCACmD,EADnD;AAGD,KAjPI;AAmPL0G,IAAAA,yBAAyB,EAAEtF,UAAI,CAC7B;AAAA,aAAM,CACJhB,QAAQ,CAACgF,QAAT,GAAoBpF,aADhB,EAEJI,QAAQ,CAACuG,eAAT,EAFI,EAGJvG,QAAQ,CAAC8B,OAAT,CAAiB0E,kBAHb,CAAN;AAAA,KAD6B,EAM7B,UAAC5G,aAAD,EAAgB6G,QAAhB,EAA0BC,eAA1B,EAA8C;AAC5C,UAAMC,sBAAsB,GAAI,YAAM;AACpC,YAAI,EAAC/G,aAAD,YAACA,aAAa,CAAE4B,MAAhB,KAA0B,CAACkF,eAA/B,EAAgD;AAC9C,iBAAOD,QAAP;AACD;;AAED,YAAIb,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC9F,QAAQ,CAAC8B,OAAT,CAAiBD,KAA9D,EACEkE,OAAO,CAACa,IAAR,CAAa,qBAAb;AAEF,eAAOF,eAAe,CAAC1G,QAAD,EAAkByG,QAAlB,CAAtB;AACD,OAT8B,EAA/B,CAD4C;AAa5C;;;AACA,UAAMI,kBAAkB,GAAG7G,QAAQ,CAChCuE,iBADwB,GAExBI,MAFwB,CAGvB,UAAAlE,MAAM;AAAA;;AAAA,eACJ,4BAACT,QAAQ,CAACgF,QAAT,GAAoBpF,aAArB,aAAC,uBAAmCgF,IAAnC,CAAwC,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAChE,EAAF,KAASJ,MAAM,CAACI,EAApB;AAAA,SAAzC,CAAD,CADI;AAAA,OAHiB,CAA3B,CAd4C;AAsB5C;;AAEAgG,MAAAA,kBAAkB,CAACC,OAAnB,CAA2B,UAAArG,MAAM,EAAI;AACnCA,QAAAA,MAAM,CAACQ,kBAAP,GAA4B;AAAA,iBAAM0F,sBAAsB,CAACzF,IAA7B;AAAA,SAA5B;AACD,OAFD;AAIA,aAAOyF,sBAAP;AACD,KAnC4B,EAoC7B;AAAE/E,MAAAA,GAAG,EAAE,2BAAP;AAAoCC,MAAAA,KAAK,EAAE7B,QAAQ,CAAC8B,OAAT,CAAiBD;AAA5D,KApC6B,CAnP1B;AA0RL;AACAkF,IAAAA,sBAAsB,EAAE;AAAA,aAAM/G,QAAQ,CAACuG,eAAT,EAAN;AAAA,KA3RnB;AA4RLtF,IAAAA,kBAAkB,EAAE;AAAA,aAAMjB,QAAQ,CAACuG,eAAT,GAA2BrF,IAAjC;AAAA,KA5Rf;AA6RL8F,IAAAA,sBAAsB,EAAE;AAAA,aAAMhH,QAAQ,CAACuG,eAAT,GAA2BU,QAAjC;AAAA,KA7RnB;AA8RLC,IAAAA,sBAAsB,EAAE;AAAA,aAAMlH,QAAQ,CAACuG,eAAT,GAA2BY,QAAjC;AAAA,KA9RnB;AAgSL;AACAC,IAAAA,wBAAwB,EAAE;AAAA,aAAMpH,QAAQ,CAACuG,eAAT,GAA2BrF,IAAjC;AAAA,KAjSrB;AAkSLmG,IAAAA,4BAA4B,EAAE;AAAA,aAAMrH,QAAQ,CAACuG,eAAT,GAA2BU,QAAjC;AAAA,KAlSzB;AAmSLK,IAAAA,4BAA4B,EAAE;AAAA,aAAMtH,QAAQ,CAACuG,eAAT,GAA2BY,QAAjC;AAAA,KAnSzB;AAoSLI,IAAAA,qBAAqB,EAAE;AAAA,aAAMvH,QAAQ,CAACsG,yBAAT,GAAqCpF,IAA3C;AAAA,KApSlB;AAsSLsG,IAAAA,yBAAyB,EAAE;AAAA,aACzBxH,QAAQ,CAACsG,yBAAT,GAAqCW,QADZ;AAAA,KAtStB;AAwSLQ,IAAAA,yBAAyB,EAAE;AAAA,aACzBzH,QAAQ,CAACsG,yBAAT,GAAqCa,QADZ;AAAA,KAxStB;AA0SLO,IAAAA,yBAAyB,EAAE1G,UAAI,CAC7B;AAAA,aAAM,CACJhB,QAAQ,CAACgF,QAAT,GAAoBnF,YADhB,EAEJG,QAAQ,CAACsG,yBAAT,EAFI,EAGJtG,QAAQ,CAAC8B,OAAT,CAAiB6F,kBAHb,CAAN;AAAA,KAD6B,EAM7B,UAACC,iBAAD,EAAoBjB,sBAApB,EAA4CkB,eAA5C,EAAgE;AAC9D,UAAMC,sBAAsB,GAAI,YAAM;AACpC,YAAI,CAACD,eAAD,IAAoB,CAACD,iBAAzB,EAA4C;AAC1C,iBAAOjB,sBAAP;AACD;;AAED,YAAIf,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC9F,QAAQ,CAAC8B,OAAT,CAAiBD,KAA9D,EACEkE,OAAO,CAACa,IAAR,CAAa,qBAAb;AAEF,eAAOiB,eAAe,CACpB7H,QADoB,EAEpB2G,sBAFoB,CAAtB;AAID,OAZ8B,EAA/B,CAD8D;AAgB9D;;;AACA,UAAME,kBAAkB,GAAG7G,QAAQ,CAChCuE,iBADwB,GAExBI,MAFwB,CAGvB,UAAAlE,MAAM;AAAA;;AAAA,eACJ,4BAACT,QAAQ,CAACgF,QAAT,GAAoBpF,aAArB,aAAC,uBAAmCgF,IAAnC,CAAwC,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAChE,EAAF,KAASJ,MAAM,CAACI,EAApB;AAAA,SAAzC,CAAD,CADI;AAAA,OAHiB,CAA3B,CAjB8D;AAyB9D;;AAEAgG,MAAAA,kBAAkB,CAACC,OAAnB,CAA2B,UAAArG,MAAM,EAAI;AACnCA,QAAAA,MAAM,CAACQ,kBAAP,GAA4B;AAAA,iBAAM6G,sBAAsB,CAAC5G,IAA7B;AAAA,SAA5B;AACD,OAFD;AAIA,aAAO4G,sBAAP;AACD,KAtC4B,EAuC7B;AACElG,MAAAA,GAAG,EAAE,2BADP;AAEEC,MAAAA,KAAK,EAAE7B,QAAQ,CAAC8B,OAAT,CAAiBD,KAF1B;AAGEkG,MAAAA,QAAQ,EAAE;AAAA,eAAM/H,QAAQ,CAACgI,mBAAT,EAAN;AAAA;AAHZ,KAvC6B,CA1S1B;AAwVLC,IAAAA,wBAAwB,EAAE;AAAA,aAAMjI,QAAQ,CAACsG,yBAAT,GAAqCpF,IAA3C;AAAA,KAxVrB;AAyVLgH,IAAAA,4BAA4B,EAAE;AAAA,aAC5BlI,QAAQ,CAACsG,yBAAT,GAAqCW,QADT;AAAA,KAzVzB;AA2VLkB,IAAAA,4BAA4B,EAAE;AAAA,aAC5BnI,QAAQ,CAACsG,yBAAT,GAAqCa,QADT;AAAA,KA3VzB;AA6VLiB,IAAAA,qBAAqB,EAAE;AAAA,aAAMpI,QAAQ,CAAC0H,yBAAT,GAAqCxG,IAA3C;AAAA,KA7VlB;AA8VLmH,IAAAA,yBAAyB,EAAE;AAAA,aACzBrI,QAAQ,CAAC0H,yBAAT,GAAqCT,QADZ;AAAA,KA9VtB;AAgWLqB,IAAAA,yBAAyB,EAAE;AAAA,aACzBtI,QAAQ,CAAC0H,yBAAT,GAAqCP,QADZ;AAAA;AAhWtB,GAAP;AAmWD;AAEM,SAASpC,sBAAT,CACLD,QADK,EAELpE,KAFK,EAGLD,MAHK,EAIL;AACA,SACE,CAACqE,QAAQ,IAAIA,QAAQ,CAACyD,UAArB,GACGzD,QAAQ,CAACyD,UAAT,CAAoB7H,KAApB,EAA2BD,MAA3B,CADH,GAEG,KAFJ,KAGA,OAAOC,KAAP,KAAiB,WAHjB,IAIC,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAACA,KALjC;AAOD;;;;;;;;;"}
1
+ {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterType, filterTypes } from '../filterTypes'\nimport {\n Column,\n Listener,\n OnChangeFn,\n ReactTable,\n Row,\n Updater,\n} from '../types'\nimport { functionalUpdate, isFunction, makeStateUpdater, memo } from '../utils'\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type FilterFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> =\n {\n (\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: any\n ): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n }\n\nexport type ColumnFilterAutoRemoveTestFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = (\n value: unknown,\n column?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n) => boolean\n\nexport type CustomFilterTypes<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = Record<\n string,\n FilterFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n>\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n}\n\nexport type FilterType<TFilterFns> =\n | 'auto'\n | BuiltInFilterType\n | keyof TFilterFns\n | FilterFn<unknown, unknown, TFilterFns, any, any>\n\nexport type FiltersColumnDef<TFilterFns> = {\n filterType?: FilterType<TFilterFns>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n filterType: FilterType<TFilterFns>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getIsColumnFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (value: any) => void\n getPreFilteredRows: () =>\n | Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n filterFromChildrenUp?: boolean\n filterTypes?: TFilterFns\n enableFilters?: boolean\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n columnFilterRowsFn?: (\n instance: ReactTable<any, any, any, any, any>,\n coreRowModel: RowModel<any, any, any, any, any>\n ) => RowModel<any, any, any, any, any>\n // Global\n globalFilterType?: FilterType<TFilterFns>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilters?: boolean\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n globalFilterRowsFn?: (\n instance: ReactTable<any, any, any, any, any>,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getColumnCanGlobalFilterFn?: (\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => boolean\n}\n\nexport type FiltersInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyFiltersReset: () => void\n getColumnAutoFilterFn: (\n columnId: string\n ) => FilterFn<any, any, any, any, any> | undefined\n\n getColumnFilterFn: (\n columnId: string\n ) => FilterFn<any, any, any, any, any> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, value: any) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n getColumnCanGlobalFilterFn?: (\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n getColumnFilteredRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreFilteredRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getPreColumnFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreColumnFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreColumnFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getColumnFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getColumnFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getColumnFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n\n // Global\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<any, any, any, any, any> | undefined\n getGlobalFilterFn: () => FilterFn<any, any, any, any, any> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getGlobalFilteredRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreGlobalFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGlobalFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGlobalFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getGlobalFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGlobalFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGlobalFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getDefaultColumn<TFilterFns>(): FiltersColumnDef<TFilterFns> {\n return {\n filterType: 'auto',\n }\n}\n\nexport function getInitialState(): FiltersTableState {\n return {\n columnFilters: [],\n globalFilter: undefined,\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): FiltersOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n autoResetColumnFilters: true,\n filterFromChildrenUp: true,\n autoResetGlobalFilter: true,\n globalFilterType: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance.getCoreFlatRows()[0]?.getAllCellsByColumnId()[\n column.id\n ]?.value\n\n return typeof value === 'string'\n },\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): FiltersColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n { key: 'column.getFacetInfo', debug: instance.options.debug }\n )\n\n return {\n filterType: column.filterType,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getIsColumnFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val => instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): FiltersInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n\n return {\n _notifyFiltersReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (instance.options.autoResetAll === true) {\n instance.resetSorting()\n } else {\n if (instance.options.autoResetColumnFilters) {\n instance.resetColumnFilters()\n }\n if (instance.options.autoResetGlobalFilter) {\n instance.resetGlobalFilter()\n }\n }\n },\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreFlatRows()[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterTypes.includesString\n }\n\n if (typeof value === 'number') {\n return filterTypes.betweenNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterTypes.equals\n }\n\n if (Array.isArray(value)) {\n return filterTypes.arrIncludes\n }\n\n return filterTypes.weakEquals\n },\n getGlobalAutoFilterFn: () => {\n return filterTypes.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterTypes = instance.options.filterTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterType)\n ? column.filterType\n : column.filterType === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterTypes as Record<string, any>)?.[\n column.filterType as string\n ] ??\n (filterTypes[column.filterType as BuiltInFilterType] as FilterFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >)\n },\n\n getGlobalFilterFn: () => {\n const { filterTypes: userFilterTypes, globalFilterType } =\n instance.options\n\n return isFunction(globalFilterType)\n ? globalFilterType\n : globalFilterType === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterTypes as Record<string, any>)?.[\n globalFilterType as string\n ] ??\n (filterTypes[globalFilterType as BuiltInFilterType] as FilterFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(\n updateFn,\n updateFn(instance.getState().columnFilters)\n )\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(\n updater,\n functionalUpdate(updater, instance.getState().globalFilter)\n )\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(undefined)\n },\n\n getColumnCanColumnFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanFilter ??\n column.defaultCanColumnFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanFilter ??\n column.defaultCanGlobalFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getColumnFilteredRowModel: memo(\n () => [\n instance.getState().columnFilters,\n instance.getCoreRowModel(),\n instance.options.columnFilterRowsFn,\n ],\n (columnFilters, rowModel, columnFiltersFn) => {\n const columnFilteredRowModel = (() => {\n if (!columnFilters?.length || !columnFiltersFn) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Column Filtering...')\n\n return columnFiltersFn(instance as any, rowModel)\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => columnFilteredRowModel.rows\n })\n\n return columnFilteredRowModel\n },\n { key: 'getColumnFilteredRowModel', debug: instance.options.debug }\n ),\n\n // These might be easier to remember than \"column\" filtered rows\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n getPreFilteredRows: () => instance.getCoreRowModel().rows,\n getPreFilteredFlatRows: () => instance.getCoreRowModel().flatRows,\n getPreFilteredRowsById: () => instance.getCoreRowModel().rowsById,\n\n // Pre Column Filter\n getPreColumnFilteredRows: () => instance.getCoreRowModel().rows,\n getPreColumnFilteredFlatRows: () => instance.getCoreRowModel().flatRows,\n getPreColumnFilteredRowsById: () => instance.getCoreRowModel().rowsById,\n getColumnFilteredRows: () => instance.getColumnFilteredRowModel().rows,\n\n getColumnFilteredFlatRows: () =>\n instance.getColumnFilteredRowModel().flatRows,\n getColumnFilteredRowsById: () =>\n instance.getColumnFilteredRowModel().rowsById,\n getGlobalFilteredRowModel: memo(\n () => [\n instance.getState().globalFilter,\n instance.getColumnFilteredRowModel(),\n instance.options.globalFilterRowsFn,\n ],\n (globalFilterValue, columnFilteredRowModel, globalFiltersFn) => {\n const globalFilteredRowModel = (() => {\n if (!globalFiltersFn || !globalFilterValue) {\n return columnFilteredRowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Global Filtering...')\n\n return globalFiltersFn(\n instance as ReactTable<any, any, any, any, any>,\n columnFilteredRowModel\n )\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => globalFilteredRowModel.rows\n })\n\n return globalFilteredRowModel\n },\n {\n key: 'getGlobalFilteredRowModel',\n debug: instance.options.debug,\n onChange: () => {\n instance._notifySortingReset()\n },\n }\n ),\n\n getPreGlobalFilteredRows: () => instance.getColumnFilteredRowModel().rows,\n getPreGlobalFilteredFlatRows: () =>\n instance.getColumnFilteredRowModel().flatRows,\n getPreGlobalFilteredRowsById: () =>\n instance.getColumnFilteredRowModel().rowsById,\n getGlobalFilteredRows: () => instance.getGlobalFilteredRowModel().rows,\n getGlobalFilteredFlatRows: () =>\n instance.getGlobalFilteredRowModel().flatRows,\n getGlobalFilteredRowsById: () =>\n instance.getGlobalFilteredRowModel().rowsById,\n }\n}\n\nexport function shouldAutoRemoveFilter(\n filterFn?: FilterFn<any, any, any, any, any>,\n value?: any,\n column?: Column<any, any, any, any, any>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["getDefaultColumn","filterType","getInitialState","columnFilters","globalFilter","undefined","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","autoResetColumnFilters","filterFromChildrenUp","autoResetGlobalFilter","globalFilterType","getColumnCanGlobalFilterFn","column","value","getCoreFlatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getIsColumnFiltered","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","getInstance","registered","_notifyFiltersReset","autoResetAll","resetSorting","resetColumnFilters","resetGlobalFilter","getColumnAutoFilterFn","columnId","firstRow","filterTypes","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterTypes","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","filterFn","shouldAutoRemoveFilter","getState","setGlobalFilter","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanFilter","defaultCanColumnFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","initialState","getColumnFilteredRowModel","getCoreRowModel","columnFilterRowsFn","rowModel","columnFiltersFn","columnFilteredRowModel","info","nonFilteredColumns","forEach","getPreFilteredRowModel","getPreFilteredFlatRows","flatRows","getPreFilteredRowsById","rowsById","getPreColumnFilteredRows","getPreColumnFilteredFlatRows","getPreColumnFilteredRowsById","getColumnFilteredRows","getColumnFilteredFlatRows","getColumnFilteredRowsById","getGlobalFilteredRowModel","globalFilterRowsFn","globalFilterValue","globalFiltersFn","globalFilteredRowModel","onChange","_notifySortingReset","getPreGlobalFilteredRows","getPreGlobalFilteredFlatRows","getPreGlobalFilteredRowsById","getGlobalFilteredRows","getGlobalFilteredFlatRows","getGlobalFilteredRowsById","autoRemove"],"mappings":";;;;;;;;;;;;;;;;;AAuRA;AAEO,SAASA,gBAAT,GAAsE;AAC3E,SAAO;AACLC,IAAAA,UAAU,EAAE;AADP,GAAP;AAGD;AAEM,SAASC,eAAT,GAA8C;AACnD,SAAO;AACLC,IAAAA,aAAa,EAAE,EADV;AAELC,IAAAA,YAAY,EAAEC;AAFT,GAAP;AAID;AAEM,SAASC,iBAAT,CAOLC,QAPK,EAQoE;AACzE,SAAO;AACLC,IAAAA,qBAAqB,EAAEC,sBAAgB,CAAC,eAAD,EAAkBF,QAAlB,CADlC;AAELG,IAAAA,oBAAoB,EAAED,sBAAgB,CAAC,cAAD,EAAiBF,QAAjB,CAFjC;AAGLI,IAAAA,sBAAsB,EAAE,IAHnB;AAILC,IAAAA,oBAAoB,EAAE,IAJjB;AAKLC,IAAAA,qBAAqB,EAAE,IALlB;AAMLC,IAAAA,gBAAgB,EAAE,MANb;AAOLC,IAAAA,0BAA0B,EAAE,oCAAAC,MAAM,EAAI;AAAA;;AACpC,UAAMC,KAAK,4BAAGV,QAAQ,CAACW,eAAT,GAA2B,CAA3B,CAAH,+CAAG,sBAA+BC,qBAA/B,GACZH,MAAM,CAACI,EADK,CAAH,qBAAG,uBAEXH,KAFH;AAIA,aAAO,OAAOA,KAAP,KAAiB,QAAxB;AACD;AAbI,GAAP;AAeD;AAEM,SAASI,YAAT,CAOLL,MAPK,EAQLT,QARK,EASmE;AACxE,MAAMe,YAAY,GAAGC,UAAI,CACvB;AAAA,WAAM,CAACP,MAAM,CAACQ,kBAAP,EAAD,CAAN;AAAA,GADuB,EAEvB,UAACC,IAAD,EAAe;AAAA;;AAAA,QAAdA,IAAc;AAAdA,MAAAA,IAAc,GAAP,EAAO;AAAA;;AACb,QAAIC,uBAAuB,GAAG,IAAIC,GAAJ,EAA9B;AAEA,QAAIC,uBAAmC,GAAG,oCACxCH,IAAI,CAAC,CAAD,CADoC,qBACxC,OAASI,MAAT,CAAgBb,MAAM,CAACI,EAAvB,CADwC,oCACV,IADU,uCAExCK,IAAI,CAAC,CAAD,CAFoC,qBAExC,QAASI,MAAT,CAAgBb,MAAM,CAACI,EAAvB,CAFwC,qCAEV,IAFU,CAA1C;;AAKA,SAAK,IAAIU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,IAAI,CAACM,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AAAA;;AACpC,UAAMb,MAAK,cAAGQ,IAAI,CAACK,CAAD,CAAP,qBAAG,QAASD,MAAT,CAAgBb,MAAM,CAACI,EAAvB,CAAd;;AAEA,UAAIM,uBAAuB,CAACM,GAAxB,CAA4Bf,MAA5B,CAAJ,EAAwC;AAAA;;AACtCS,QAAAA,uBAAuB,CAACO,GAAxB,CACEhB,MADF,EAEE,0BAACS,uBAAuB,CAACQ,GAAxB,CAA4BjB,MAA5B,CAAD,oCAAuC,CAAvC,IAA4C,CAF9C;AAID,OALD,MAKO;AACLS,QAAAA,uBAAuB,CAACO,GAAxB,CAA4BhB,MAA5B,EAAmC,CAAnC;AACD;;AAED,UAAIA,MAAK,GAAGW,uBAAuB,CAAC,CAAD,CAAnC,EAAwC;AACtCA,QAAAA,uBAAuB,CAAC,CAAD,CAAvB,GAA6BX,MAA7B;AACD,OAFD,MAEO,IAAIA,MAAK,GAAGW,uBAAuB,CAAC,CAAD,CAAnC,EAAwC;AAC7CA,QAAAA,uBAAuB,CAAC,CAAD,CAAvB,GAA6BX,MAA7B;AACD;AACF;;AAED,WAAO;AACLS,MAAAA,uBAAuB,EAAvBA,uBADK;AAELE,MAAAA,uBAAuB,EAAvBA;AAFK,KAAP;AAID,GAjCsB,EAkCvB;AAAEO,IAAAA,GAAG,EAAE,qBAAP;AAA8BC,IAAAA,KAAK,EAAE7B,QAAQ,CAAC8B,OAAT,CAAiBD;AAAtD,GAlCuB,CAAzB;AAqCA,SAAO;AACLnC,IAAAA,UAAU,EAAEe,MAAM,CAACf,UADd;AAELqC,IAAAA,kBAAkB,EAAE;AAAA,aAAM/B,QAAQ,CAACgC,wBAAT,CAAkCvB,MAAM,CAACI,EAAzC,CAAN;AAAA,KAFf;AAGLoB,IAAAA,kBAAkB,EAAE;AAAA,aAAMjC,QAAQ,CAACkC,wBAAT,CAAkCzB,MAAM,CAACI,EAAzC,CAAN;AAAA,KAHf;AAILsB,IAAAA,oBAAoB,EAAE;AAAA,aAAMnC,QAAQ,CAACmC,oBAAT,CAA8B1B,MAAM,CAACI,EAArC,CAAN;AAAA,KAJjB;AAKLuB,IAAAA,mBAAmB,EAAE;AAAA,aAAMpC,QAAQ,CAACqC,mBAAT,CAA6B5B,MAAM,CAACI,EAApC,CAAN;AAAA,KALhB;AAMLyB,IAAAA,oBAAoB,EAAE;AAAA,aAAMtC,QAAQ,CAACsC,oBAAT,CAA8B7B,MAAM,CAACI,EAArC,CAAN;AAAA,KANjB;AAOL0B,IAAAA,oBAAoB,EAAE,8BAAAC,GAAG;AAAA,aAAIxC,QAAQ,CAACuC,oBAAT,CAA8B9B,MAAM,CAACI,EAArC,EAAyC2B,GAAzC,CAAJ;AAAA,KAPpB;AAQLC,IAAAA,0BAA0B,EAAE;AAAA,aAAM1B,YAAY,GAAGI,uBAArB;AAAA,KARvB;AASLuB,IAAAA,0BAA0B,EAAE;AAAA,aAAM3B,YAAY,GAAGM,uBAArB;AAAA,KATvB;AAULJ,IAAAA,kBAAkB,EAAE;AAAA,aAAMnB,SAAN;AAAA;AAVf,GAAP;AAYD;AAEM,SAAS6C,WAAT,CAOL3C,QAPK,EAQqE;AAC1E,MAAI4C,UAAU,GAAG,KAAjB;AAEA,SAAO;AACLC,IAAAA,mBAAmB,EAAE,+BAAM;AACzB,UAAI,CAACD,UAAL,EAAiB;AACfA,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;;AAED,UAAI5C,QAAQ,CAAC8B,OAAT,CAAiBgB,YAAjB,KAAkC,KAAtC,EAA6C;AAC3C;AACD;;AAED,UAAI9C,QAAQ,CAAC8B,OAAT,CAAiBgB,YAAjB,KAAkC,IAAtC,EAA4C;AAC1C9C,QAAAA,QAAQ,CAAC+C,YAAT;AACD,OAFD,MAEO;AACL,YAAI/C,QAAQ,CAAC8B,OAAT,CAAiB1B,sBAArB,EAA6C;AAC3CJ,UAAAA,QAAQ,CAACgD,kBAAT;AACD;;AACD,YAAIhD,QAAQ,CAAC8B,OAAT,CAAiBxB,qBAArB,EAA4C;AAC1CN,UAAAA,QAAQ,CAACiD,iBAAT;AACD;AACF;AACF,KArBI;AAsBLC,IAAAA,qBAAqB,EAAE,+BAAAC,QAAQ,EAAI;AACjC,UAAMC,QAAQ,GAAGpD,QAAQ,CAACW,eAAT,GAA2B,CAA3B,CAAjB;AAEA,UAAMD,KAAK,GAAG0C,QAAH,oBAAGA,QAAQ,CAAE9B,MAAV,CAAiB6B,QAAjB,CAAd;;AAEA,UAAI,OAAOzC,KAAP,KAAiB,QAArB,EAA+B;AAC7B,eAAO2C,uBAAW,CAACC,cAAnB;AACD;;AAED,UAAI,OAAO5C,KAAP,KAAiB,QAArB,EAA+B;AAC7B,eAAO2C,uBAAW,CAACE,kBAAnB;AACD;;AAED,UAAI7C,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,QAAvC,EAAiD;AAC/C,eAAO2C,uBAAW,CAACG,MAAnB;AACD;;AAED,UAAIC,KAAK,CAACC,OAAN,CAAchD,KAAd,CAAJ,EAA0B;AACxB,eAAO2C,uBAAW,CAACM,WAAnB;AACD;;AAED,aAAON,uBAAW,CAACO,UAAnB;AACD,KA5CI;AA6CLC,IAAAA,qBAAqB,EAAE,iCAAM;AAC3B,aAAOR,uBAAW,CAACC,cAAnB;AACD,KA/CI;AAgDLQ,IAAAA,iBAAiB,EAAE,2BAAAX,QAAQ,EAAI;AAAA;;AAC7B,UAAM1C,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;AACA,UAAMa,eAAe,GAAGhE,QAAQ,CAAC8B,OAAT,CAAiBuB,WAAzC;;AAEA,UAAI,CAAC5C,MAAL,EAAa;AACX,cAAM,IAAIwD,KAAJ,EAAN;AACD;;AAED,aAAOC,gBAAU,CAACzD,MAAM,CAACf,UAAR,CAAV,GACHe,MAAM,CAACf,UADJ,GAEHe,MAAM,CAACf,UAAP,KAAsB,MAAtB,GACAM,QAAQ,CAACkD,qBAAT,CAA+BC,QAA/B,CADA,WAECa,eAFD,oBAECA,eAAD,CACEvD,MAAM,CAACf,UADT,CAFA,mBAKC2D,uBAAW,CAAC5C,MAAM,CAACf,UAAR,CAPhB;AAcD,KAtEI;AAwELyE,IAAAA,iBAAiB,EAAE,6BAAM;AAAA;;AACvB,8BACEnE,QAAQ,CAAC8B,OADX;AAAA,UAAqBkC,eAArB,qBAAQX,WAAR;AAAA,UAAsC9C,gBAAtC,qBAAsCA,gBAAtC;AAGA,aAAO2D,gBAAU,CAAC3D,gBAAD,CAAV,GACHA,gBADG,GAEHA,gBAAgB,KAAK,MAArB,GACAP,QAAQ,CAAC6D,qBAAT,EADA,YAECG,eAFD,oBAECA,eAAD,CACEzD,gBADF,CAFA,oBAKC8C,uBAAW,CAAC9C,gBAAD,CAPhB;AAcD,KA1FI;AA4FL6D,IAAAA,gBAAgB,EAAE,0BAACC,OAAD,EAA0C;AAC1D,UAAMC,WAAW,GAAGtE,QAAQ,CAACuE,iBAAT,EAApB;;AAEA,UAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD,EAA6B;AAAA;;AAC5C,oCAAOC,sBAAgB,CAACL,OAAD,EAAUI,GAAV,CAAvB,qBAAO,kBAAgCE,MAAhC,CAAuC,UAAAA,MAAM,EAAI;AACtD,cAAMlE,MAAM,GAAG6D,WAAW,CAACM,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAChE,EAAF,KAAS8D,MAAM,CAAC9D,EAApB;AAAA,WAAlB,CAAf;;AAEA,cAAIJ,MAAJ,EAAY;AACV,gBAAMqE,QAAQ,GAAG9E,QAAQ,CAAC8D,iBAAT,CAA2BrD,MAAM,CAACI,EAAlC,CAAjB;;AAEA,gBAAIkE,sBAAsB,CAACD,QAAD,EAAWH,MAAM,CAACjE,KAAlB,EAAyBD,MAAzB,CAA1B,EAA4D;AAC1D,qBAAO,KAAP;AACD;AACF;;AAED,iBAAO,IAAP;AACD,SAZM,CAAP;AAaD,OAdD;;AAgBAT,MAAAA,QAAQ,CAAC8B,OAAT,CAAiB7B,qBAAjB,oBAAAD,QAAQ,CAAC8B,OAAT,CAAiB7B,qBAAjB,CACEuE,QADF,EAEEA,QAAQ,CAACxE,QAAQ,CAACgF,QAAT,GAAoBpF,aAArB,CAFV;AAID,KAnHI;AAqHLqF,IAAAA,eAAe,EAAE,yBAAAZ,OAAO,EAAI;AAC1BrE,MAAAA,QAAQ,CAAC8B,OAAT,CAAiB3B,oBAAjB,oBAAAH,QAAQ,CAAC8B,OAAT,CAAiB3B,oBAAjB,CACEkE,OADF,EAEEK,sBAAgB,CAACL,OAAD,EAAUrE,QAAQ,CAACgF,QAAT,GAAoBnF,YAA9B,CAFlB;AAID,KA1HI;AA4HLoD,IAAAA,iBAAiB,EAAE,6BAAM;AACvBjD,MAAAA,QAAQ,CAACiF,eAAT,CAAyBnF,SAAzB;AACD,KA9HI;AAgILkC,IAAAA,wBAAwB,EAAE,kCAAAmB,QAAQ,EAAI;AAAA;;AACpC,UAAM1C,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;;AAEA,UAAI,CAAC1C,MAAL,EAAa;AACX,cAAM,IAAIwD,KAAJ,EAAN;AACD;;AAED,mFACExD,MAAM,CAACyE,gBADT,oCAEEzE,MAAM,CAAC0E,kBAFT,oBAGEnF,QAAQ,CAAC8B,OAAT,CAAiBsD,aAHnB,oBAIEpF,QAAQ,CAAC8B,OAAT,CAAiBuD,mBAJnB,oBAKE5E,MAAM,CAAC6E,gBALT,oBAME7E,MAAM,CAAC8E,sBANT,oBAOE,CAAC,CAAC9E,MAAM,CAAC+E,UAPX;AASD,KAhJI;AAkJLtD,IAAAA,wBAAwB,EAAE,kCAAAiB,QAAQ,EAAI;AAAA;;AACpC,UAAM1C,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;;AAEA,UAAI,CAAC1C,MAAL,EAAa;AACX,cAAM,IAAIwD,KAAJ,EAAN;AACD;;AAED,sBACG,2EAACjE,QAAQ,CAAC8B,OAAT,CAAiBsD,aAAlB,oCACCpF,QAAQ,CAAC8B,OAAT,CAAiB2D,kBADlB,qBAEChF,MAAM,CAACyE,gBAFR,qBAGCzE,MAAM,CAACgF,kBAHR,qBAIChF,MAAM,CAAC6E,gBAJR,qBAKC7E,MAAM,CAACiF,sBALR,oBAMC,CAAC,CAACjF,MAAM,CAAC+E,UANV,MAOCxF,QAAQ,CAAC8B,OAAT,CAAiBtB,0BAPlB,oBAOCR,QAAQ,CAAC8B,OAAT,CAAiBtB,0BAAjB,CAA8CC,MAA9C,CAPD,CADH,oBASE,IATF;AAWD,KApKI;AAsKL4B,IAAAA,mBAAmB,EAAE,6BAAAc,QAAQ;AAAA,aAC3BnD,QAAQ,CAACmC,oBAAT,CAA8BgB,QAA9B,IAA0C,CAAC,CADhB;AAAA,KAtKxB;AAyKLb,IAAAA,oBAAoB,EAAE,8BAAAa,QAAQ;AAAA;;AAAA,sCAC5BnD,QAAQ,CAACgF,QAAT,GAAoBpF,aADQ,+CAC5B,sBAAmCgF,IAAnC,CAAwC,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,OAAzC,CAD4B,qBAC5B,uBAAiEzC,KADrC;AAAA,KAzKzB;AA4KLyB,IAAAA,oBAAoB,EAAE,8BAAAgB,QAAQ;AAAA;;AAAA,iEAC5BnD,QAAQ,CAACgF,QAAT,GAAoBpF,aADQ,qBAC5B,uBAAmC+F,SAAnC,CAA6C,UAAAd,CAAC;AAAA,eAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,OAA9C,CAD4B,qCAE5B,CAAC,CAF2B;AAAA,KA5KzB;AAgLLZ,IAAAA,oBAAoB,EAAE,8BAACY,QAAD,EAAWzC,KAAX,EAAqB;AACzC,UAAI,CAACyC,QAAL,EAAe;AAEfnD,MAAAA,QAAQ,CAACoE,gBAAT,CAA0B,UAAAK,GAAG,EAAI;AAC/B,YAAMhE,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;;AAEA,YAAI,CAAC1C,MAAL,EAAa;AACX,cAAImF,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,YAAAA,OAAO,CAACC,IAAR,oDACmD7C,QADnD;AAGD;;AACD,gBAAM,IAAIc,KAAJ,EAAN;AACD;;AAED,YAAMa,QAAQ,GAAG9E,QAAQ,CAAC8D,iBAAT,CAA2BrD,MAAM,CAACI,EAAlC,CAAjB;AACA,YAAMoF,cAAc,GAAGxB,GAAH,oBAAGA,GAAG,CAAEG,IAAL,CAAU,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,SAAX,CAAvB;AAEA,YAAM+C,SAAS,GAAGxB,sBAAgB,CAChChE,KADgC,EAEhCuF,cAAc,GAAGA,cAAc,CAACvF,KAAlB,GAA0BZ,SAFR,CAAlC,CAf+B;;AAqB/B,YACEiF,sBAAsB,CACpBD,QADoB,EAQpBoB,SARoB,EASpBzF,MAToB,CADxB,EAYE;AAAA;;AACA,gCAAOgE,GAAP,oBAAOA,GAAG,CAAEE,MAAL,CAAY,UAAAE,CAAC;AAAA,mBAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,WAAb,CAAP,0BAA8C,EAA9C;AACD;;AAED,YAAMgD,YAAY,GAAG;AAAEtF,UAAAA,EAAE,EAAEsC,QAAN;AAAgBzC,UAAAA,KAAK,EAAEwF;AAAvB,SAArB;;AAEA,YAAID,cAAJ,EAAoB;AAAA;;AAClB,6BACExB,GADF,oBACEA,GAAG,CAAE2B,GAAL,CAAS,UAAAvB,CAAC,EAAI;AACZ,gBAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb,EAAuB;AACrB,qBAAOgD,YAAP;AACD;;AACD,mBAAOtB,CAAP;AACD,WALD,CADF,uBAMQ,EANR;AAQD;;AAED,YAAIJ,GAAJ,YAAIA,GAAG,CAAEjD,MAAT,EAAiB;AACf,2BAAWiD,GAAX,GAAgB0B,YAAhB;AACD;;AAED,eAAO,CAACA,YAAD,CAAP;AACD,OAvDD;AAwDD,KA3OI;AA6OLnD,IAAAA,kBAAkB,EAAE,8BAAM;AAAA;;AACxBhD,MAAAA,QAAQ,CAACoE,gBAAT,oDAA0BpE,QAAQ,CAACqG,YAAnC,qBAA0B,uBAAuBzG,aAAjD,oCAAkE,EAAlE;AACD,KA/OI;AAiPL0G,IAAAA,yBAAyB,EAAEtF,UAAI,CAC7B;AAAA,aAAM,CACJhB,QAAQ,CAACgF,QAAT,GAAoBpF,aADhB,EAEJI,QAAQ,CAACuG,eAAT,EAFI,EAGJvG,QAAQ,CAAC8B,OAAT,CAAiB0E,kBAHb,CAAN;AAAA,KAD6B,EAM7B,UAAC5G,aAAD,EAAgB6G,QAAhB,EAA0BC,eAA1B,EAA8C;AAC5C,UAAMC,sBAAsB,GAAI,YAAM;AACpC,YAAI,EAAC/G,aAAD,YAACA,aAAa,CAAE4B,MAAhB,KAA0B,CAACkF,eAA/B,EAAgD;AAC9C,iBAAOD,QAAP;AACD;;AAED,YAAIb,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC9F,QAAQ,CAAC8B,OAAT,CAAiBD,KAA9D,EACEkE,OAAO,CAACa,IAAR,CAAa,qBAAb;AAEF,eAAOF,eAAe,CAAC1G,QAAD,EAAkByG,QAAlB,CAAtB;AACD,OAT8B,EAA/B,CAD4C;AAa5C;;;AACA,UAAMI,kBAAkB,GAAG7G,QAAQ,CAChCuE,iBADwB,GAExBI,MAFwB,CAGvB,UAAAlE,MAAM;AAAA;;AAAA,eACJ,4BAACT,QAAQ,CAACgF,QAAT,GAAoBpF,aAArB,aAAC,uBAAmCgF,IAAnC,CAAwC,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAChE,EAAF,KAASJ,MAAM,CAACI,EAApB;AAAA,SAAzC,CAAD,CADI;AAAA,OAHiB,CAA3B,CAd4C;AAsB5C;;AAEAgG,MAAAA,kBAAkB,CAACC,OAAnB,CAA2B,UAAArG,MAAM,EAAI;AACnCA,QAAAA,MAAM,CAACQ,kBAAP,GAA4B;AAAA,iBAAM0F,sBAAsB,CAACzF,IAA7B;AAAA,SAA5B;AACD,OAFD;AAIA,aAAOyF,sBAAP;AACD,KAnC4B,EAoC7B;AAAE/E,MAAAA,GAAG,EAAE,2BAAP;AAAoCC,MAAAA,KAAK,EAAE7B,QAAQ,CAAC8B,OAAT,CAAiBD;AAA5D,KApC6B,CAjP1B;AAwRL;AACAkF,IAAAA,sBAAsB,EAAE;AAAA,aAAM/G,QAAQ,CAACuG,eAAT,EAAN;AAAA,KAzRnB;AA0RLtF,IAAAA,kBAAkB,EAAE;AAAA,aAAMjB,QAAQ,CAACuG,eAAT,GAA2BrF,IAAjC;AAAA,KA1Rf;AA2RL8F,IAAAA,sBAAsB,EAAE;AAAA,aAAMhH,QAAQ,CAACuG,eAAT,GAA2BU,QAAjC;AAAA,KA3RnB;AA4RLC,IAAAA,sBAAsB,EAAE;AAAA,aAAMlH,QAAQ,CAACuG,eAAT,GAA2BY,QAAjC;AAAA,KA5RnB;AA8RL;AACAC,IAAAA,wBAAwB,EAAE;AAAA,aAAMpH,QAAQ,CAACuG,eAAT,GAA2BrF,IAAjC;AAAA,KA/RrB;AAgSLmG,IAAAA,4BAA4B,EAAE;AAAA,aAAMrH,QAAQ,CAACuG,eAAT,GAA2BU,QAAjC;AAAA,KAhSzB;AAiSLK,IAAAA,4BAA4B,EAAE;AAAA,aAAMtH,QAAQ,CAACuG,eAAT,GAA2BY,QAAjC;AAAA,KAjSzB;AAkSLI,IAAAA,qBAAqB,EAAE;AAAA,aAAMvH,QAAQ,CAACsG,yBAAT,GAAqCpF,IAA3C;AAAA,KAlSlB;AAoSLsG,IAAAA,yBAAyB,EAAE;AAAA,aACzBxH,QAAQ,CAACsG,yBAAT,GAAqCW,QADZ;AAAA,KApStB;AAsSLQ,IAAAA,yBAAyB,EAAE;AAAA,aACzBzH,QAAQ,CAACsG,yBAAT,GAAqCa,QADZ;AAAA,KAtStB;AAwSLO,IAAAA,yBAAyB,EAAE1G,UAAI,CAC7B;AAAA,aAAM,CACJhB,QAAQ,CAACgF,QAAT,GAAoBnF,YADhB,EAEJG,QAAQ,CAACsG,yBAAT,EAFI,EAGJtG,QAAQ,CAAC8B,OAAT,CAAiB6F,kBAHb,CAAN;AAAA,KAD6B,EAM7B,UAACC,iBAAD,EAAoBjB,sBAApB,EAA4CkB,eAA5C,EAAgE;AAC9D,UAAMC,sBAAsB,GAAI,YAAM;AACpC,YAAI,CAACD,eAAD,IAAoB,CAACD,iBAAzB,EAA4C;AAC1C,iBAAOjB,sBAAP;AACD;;AAED,YAAIf,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC9F,QAAQ,CAAC8B,OAAT,CAAiBD,KAA9D,EACEkE,OAAO,CAACa,IAAR,CAAa,qBAAb;AAEF,eAAOiB,eAAe,CACpB7H,QADoB,EAEpB2G,sBAFoB,CAAtB;AAID,OAZ8B,EAA/B,CAD8D;AAgB9D;;;AACA,UAAME,kBAAkB,GAAG7G,QAAQ,CAChCuE,iBADwB,GAExBI,MAFwB,CAGvB,UAAAlE,MAAM;AAAA;;AAAA,eACJ,4BAACT,QAAQ,CAACgF,QAAT,GAAoBpF,aAArB,aAAC,uBAAmCgF,IAAnC,CAAwC,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAChE,EAAF,KAASJ,MAAM,CAACI,EAApB;AAAA,SAAzC,CAAD,CADI;AAAA,OAHiB,CAA3B,CAjB8D;AAyB9D;;AAEAgG,MAAAA,kBAAkB,CAACC,OAAnB,CAA2B,UAAArG,MAAM,EAAI;AACnCA,QAAAA,MAAM,CAACQ,kBAAP,GAA4B;AAAA,iBAAM6G,sBAAsB,CAAC5G,IAA7B;AAAA,SAA5B;AACD,OAFD;AAIA,aAAO4G,sBAAP;AACD,KAtC4B,EAuC7B;AACElG,MAAAA,GAAG,EAAE,2BADP;AAEEC,MAAAA,KAAK,EAAE7B,QAAQ,CAAC8B,OAAT,CAAiBD,KAF1B;AAGEkG,MAAAA,QAAQ,EAAE,oBAAM;AACd/H,QAAAA,QAAQ,CAACgI,mBAAT;AACD;AALH,KAvC6B,CAxS1B;AAwVLC,IAAAA,wBAAwB,EAAE;AAAA,aAAMjI,QAAQ,CAACsG,yBAAT,GAAqCpF,IAA3C;AAAA,KAxVrB;AAyVLgH,IAAAA,4BAA4B,EAAE;AAAA,aAC5BlI,QAAQ,CAACsG,yBAAT,GAAqCW,QADT;AAAA,KAzVzB;AA2VLkB,IAAAA,4BAA4B,EAAE;AAAA,aAC5BnI,QAAQ,CAACsG,yBAAT,GAAqCa,QADT;AAAA,KA3VzB;AA6VLiB,IAAAA,qBAAqB,EAAE;AAAA,aAAMpI,QAAQ,CAAC0H,yBAAT,GAAqCxG,IAA3C;AAAA,KA7VlB;AA8VLmH,IAAAA,yBAAyB,EAAE;AAAA,aACzBrI,QAAQ,CAAC0H,yBAAT,GAAqCT,QADZ;AAAA,KA9VtB;AAgWLqB,IAAAA,yBAAyB,EAAE;AAAA,aACzBtI,QAAQ,CAAC0H,yBAAT,GAAqCP,QADZ;AAAA;AAhWtB,GAAP;AAmWD;AAEM,SAASpC,sBAAT,CACLD,QADK,EAELpE,KAFK,EAGLD,MAHK,EAIL;AACA,SACE,CAACqE,QAAQ,IAAIA,QAAQ,CAACyD,UAArB,GACGzD,QAAQ,CAACyD,UAAT,CAAoB7H,KAApB,EAA2BD,MAA3B,CADH,GAEG,KAFJ,KAGA,OAAOC,KAAP,KAAiB,WAHjB,IAIC,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAACA,KALjC;AAOD;;;;;;;;;"}
@@ -133,9 +133,9 @@ function getInstance(instance) {
133
133
  return (_instance$getState$gr2 = instance.getState().grouping) == null ? void 0 : _instance$getState$gr2.indexOf(columnId);
134
134
  },
135
135
  resetGrouping: function resetGrouping() {
136
- var _instance$options$ini, _instance$options, _instance$options$ini2;
136
+ var _instance$initialStat, _instance$initialStat2;
137
137
 
138
- instance.setGrouping((_instance$options$ini = (_instance$options = instance.options) == null ? void 0 : (_instance$options$ini2 = _instance$options.initialState) == null ? void 0 : _instance$options$ini2.grouping) != null ? _instance$options$ini : []);
138
+ instance.setGrouping((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.grouping) != null ? _instance$initialStat : []);
139
139
  },
140
140
  getToggleGroupingProps: function getToggleGroupingProps(columnId, userProps) {
141
141
  var column = instance.getColumn(columnId);
@@ -1 +1 @@
1
- {"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import React, { MouseEvent, TouchEvent } from 'react'\nimport { RowModel } from '..'\nimport { BuiltInAggregationType, aggregationTypes } from '../aggregationTypes'\nimport {\n Cell,\n Column,\n Getter,\n OnChangeFn,\n PropGetterValue,\n ReactTable,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n propGetter,\n} from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn = (leafValues: any[], childValues: any[]) => any\n\nexport type AggregationType<TAggregationFns> =\n | 'auto'\n | BuiltInAggregationType\n | keyof TAggregationFns\n | AggregationFn\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TAggregationFns> = {\n aggregationType?: AggregationType<TAggregationFns>\n aggregateValue?: (columnValue: unknown) => any\n renderAggregatedCell?: () => React.ReactNode\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<\n _TData,\n _TValue,\n _TFilterFns,\n _TSortingFns,\n TAggregationFns\n> = {\n aggregationType?: AggregationType<TAggregationFns>\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 = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n aggregationTypes?: TAggregationFns\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n groupRowsFn?: (\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type ToggleGroupingProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type GroupingInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyGroupingReset: () => void\n getColumnAutoAggregationFn: (columnId: string) => AggregationFn | undefined\n getColumnAggregationFn: (columnId: string) => AggregationFn | 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 getGroupedRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreGroupedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGroupedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGroupedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getGroupedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGroupedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGroupedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getDefaultColumn<TFilterFns>(): GroupingColumnDef<TFilterFns> {\n return {\n aggregationType: 'auto',\n }\n}\n\nexport function getInitialState(): GroupingTableState {\n return {\n grouping: [],\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n autoResetGrouping: true,\n groupedColumnMode: 'reorder',\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n aggregationType: column.aggregationType,\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\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n\n return {\n _notifyGroupingReset: () => {\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.getCoreFlatRows()[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationTypes.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationTypes.extent\n }\n\n return aggregationTypes.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationTypes = instance.options.aggregationTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationType)\n ? column.aggregationType\n : column.aggregationType === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userAggregationTypes as Record<string, any>)?.[\n column.aggregationType as string\n ] ??\n (aggregationTypes[\n column.aggregationType as BuiltInAggregationType\n ] as AggregationFn)\n },\n\n setGrouping: updater =>\n instance.options.onGroupingChange?.(\n updater,\n functionalUpdate(updater, instance.getState().grouping)\n ),\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.options?.initialState?.grouping ?? [])\n },\n\n getToggleGroupingProps: (columnId, userProps) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n return\n }\n\n const canGroup = column.getCanGroup()\n\n const initialProps: ToggleGroupingProps = {\n title: canGroup ? 'Toggle Grouping' : undefined,\n onClick: canGroup\n ? (e: MouseEvent | TouchEvent) => {\n e.persist()\n column.toggleGrouping?.()\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getGroupedRowModel: memo(\n () => [\n instance.getState().grouping,\n instance.getSortedRowModel(),\n instance.options.groupRowsFn,\n ],\n (grouping, rowModel, groupRowsFn) => {\n if (!groupRowsFn || !grouping.length) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Grouping...')\n\n return groupRowsFn(instance, rowModel)\n },\n {\n key: 'getGroupedRowModel',\n debug: instance.options.debug,\n onChange: () => instance._notifyExpandedReset(),\n }\n ),\n\n getPreGroupedRows: () => instance.getSortedRowModel().rows,\n getPreGroupedFlatRows: () => instance.getSortedRowModel().flatRows,\n getPreGroupedRowsById: () => instance.getSortedRowModel().rowsById,\n getGroupedRows: () => instance.getGroupedRowModel().rows,\n getGroupedFlatRows: () => instance.getGroupedRowModel().flatRows,\n getGroupedRowsById: () => instance.getGroupedRowModel().rowsById,\n }\n}\n\nexport function createRow<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingRow {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n}\n\nexport function createCell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> &\n GroupingCell,\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n _instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingCell {\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 }\n}\n\nexport function orderColumns<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n leafColumns: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\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"],"names":["getDefaultColumn","aggregationType","getInitialState","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingProps","userProps","getInstance","registered","_notifyGroupingReset","options","autoResetAll","resetGrouping","getColumnAutoAggregationFn","columnId","firstRow","getCoreFlatRows","value","values","aggregationTypes","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationTypes","Error","isFunction","getColumnAutoFilterFn","setGrouping","updater","functionalUpdate","getState","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","indexOf","initialState","canGroup","initialProps","title","undefined","onClick","e","persist","propGetter","getRowIsGrouped","rowId","getRow","groupingColumnId","getGroupedRowModel","memo","getSortedRowModel","groupRowsFn","rowModel","length","process","env","NODE_ENV","debug","console","info","key","onChange","_notifyExpandedReset","getPreGroupedRows","rows","getPreGroupedFlatRows","flatRows","getPreGroupedRowsById","rowsById","getGroupedRows","getGroupedFlatRows","getGroupedRowsById","createRow","row","createCell","cell","_instance","getIsPlaceholder","getIsAggregated","subRows","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 React, { MouseEvent, TouchEvent } from 'react'\nimport { RowModel } from '..'\nimport { BuiltInAggregationType, aggregationTypes } from '../aggregationTypes'\nimport {\n Cell,\n Column,\n Getter,\n OnChangeFn,\n PropGetterValue,\n ReactTable,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n propGetter,\n} from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn = (leafValues: any[], childValues: any[]) => any\n\nexport type AggregationType<TAggregationFns> =\n | 'auto'\n | BuiltInAggregationType\n | keyof TAggregationFns\n | AggregationFn\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TAggregationFns> = {\n aggregationType?: AggregationType<TAggregationFns>\n aggregateValue?: (columnValue: unknown) => any\n renderAggregatedCell?: () => React.ReactNode\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<\n _TData,\n _TValue,\n _TFilterFns,\n _TSortingFns,\n TAggregationFns\n> = {\n aggregationType?: AggregationType<TAggregationFns>\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 = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n aggregationTypes?: TAggregationFns\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n groupRowsFn?: (\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type ToggleGroupingProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type GroupingInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyGroupingReset: () => void\n getColumnAutoAggregationFn: (columnId: string) => AggregationFn | undefined\n getColumnAggregationFn: (columnId: string) => AggregationFn | 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 getGroupedRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreGroupedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGroupedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGroupedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getGroupedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGroupedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGroupedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getDefaultColumn<TFilterFns>(): GroupingColumnDef<TFilterFns> {\n return {\n aggregationType: 'auto',\n }\n}\n\nexport function getInitialState(): GroupingTableState {\n return {\n grouping: [],\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n autoResetGrouping: true,\n groupedColumnMode: 'reorder',\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n aggregationType: column.aggregationType,\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\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n\n return {\n _notifyGroupingReset: () => {\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.getCoreFlatRows()[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationTypes.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationTypes.extent\n }\n\n return aggregationTypes.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationTypes = instance.options.aggregationTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationType)\n ? column.aggregationType\n : column.aggregationType === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userAggregationTypes as Record<string, any>)?.[\n column.aggregationType as string\n ] ??\n (aggregationTypes[\n column.aggregationType as BuiltInAggregationType\n ] as AggregationFn)\n },\n\n setGrouping: updater =>\n instance.options.onGroupingChange?.(\n updater,\n functionalUpdate(updater, instance.getState().grouping)\n ),\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 if (!column) {\n return\n }\n\n const canGroup = column.getCanGroup()\n\n const initialProps: ToggleGroupingProps = {\n title: canGroup ? 'Toggle Grouping' : undefined,\n onClick: canGroup\n ? (e: MouseEvent | TouchEvent) => {\n e.persist()\n column.toggleGrouping?.()\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getGroupedRowModel: memo(\n () => [\n instance.getState().grouping,\n instance.getSortedRowModel(),\n instance.options.groupRowsFn,\n ],\n (grouping, rowModel, groupRowsFn) => {\n if (!groupRowsFn || !grouping.length) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Grouping...')\n\n return groupRowsFn(instance, rowModel)\n },\n {\n key: 'getGroupedRowModel',\n debug: instance.options.debug,\n onChange: () => instance._notifyExpandedReset(),\n }\n ),\n\n getPreGroupedRows: () => instance.getSortedRowModel().rows,\n getPreGroupedFlatRows: () => instance.getSortedRowModel().flatRows,\n getPreGroupedRowsById: () => instance.getSortedRowModel().rowsById,\n getGroupedRows: () => instance.getGroupedRowModel().rows,\n getGroupedFlatRows: () => instance.getGroupedRowModel().flatRows,\n getGroupedRowsById: () => instance.getGroupedRowModel().rowsById,\n }\n}\n\nexport function createRow<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingRow {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n}\n\nexport function createCell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> &\n GroupingCell,\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n _instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingCell {\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 }\n}\n\nexport function orderColumns<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n leafColumns: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\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"],"names":["getDefaultColumn","aggregationType","getInitialState","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingProps","userProps","getInstance","registered","_notifyGroupingReset","options","autoResetAll","resetGrouping","getColumnAutoAggregationFn","columnId","firstRow","getCoreFlatRows","value","values","aggregationTypes","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationTypes","Error","isFunction","getColumnAutoFilterFn","setGrouping","updater","functionalUpdate","getState","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","indexOf","initialState","canGroup","initialProps","title","undefined","onClick","e","persist","propGetter","getRowIsGrouped","rowId","getRow","groupingColumnId","getGroupedRowModel","memo","getSortedRowModel","groupRowsFn","rowModel","length","process","env","NODE_ENV","debug","console","info","key","onChange","_notifyExpandedReset","getPreGroupedRows","rows","getPreGroupedFlatRows","flatRows","getPreGroupedRowsById","rowsById","getGroupedRows","getGroupedFlatRows","getGroupedRowsById","createRow","row","createCell","cell","_instance","getIsPlaceholder","getIsAggregated","subRows","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
@@ -20,8 +20,7 @@ function getInitialState() {
20
20
  return {
21
21
  pagination: {
22
22
  pageIndex: 0,
23
- pageSize: 10,
24
- pageCount: -1
23
+ pageSize: 10
25
24
  }
26
25
  };
27
26
  }
@@ -50,17 +49,15 @@ function getInstance(instance) {
50
49
  },
51
50
  setPagination: function setPagination(updater) {
52
51
  var safeUpdater = function safeUpdater(old) {
53
- utils.functionalUpdate(old, updater);
52
+ var newState = utils.functionalUpdate(updater, old);
54
53
 
55
- if (!instance.options.paginateRowsFn) {
56
- var _instance$getPreExpan;
54
+ if (instance.options.paginateRowsFn) {
55
+ var _instance$getPrePagin;
57
56
 
58
- return _rollupPluginBabelHelpers["extends"]({}, old, {
59
- pageCount: (_instance$getPreExpan = instance.getPreExpandedRows()) != null && _instance$getPreExpan.length ? Math.ceil(instance.getPreExpandedRows().length / instance.getState().pagination.pageSize) : 0
60
- });
57
+ newState.pageCount = (_instance$getPrePagin = instance.getPrePaginationRows()) != null && _instance$getPrePagin.length ? Math.ceil(instance.getPrePaginationRows().length / instance.getState().pagination.pageSize) : 0;
61
58
  }
62
59
 
63
- return old;
60
+ return newState;
64
61
  };
65
62
 
66
63
  return instance.options.onPaginationChange == null ? void 0 : instance.options.onPaginationChange(safeUpdater, utils.functionalUpdate(safeUpdater, instance.getState().pagination));
@@ -76,10 +73,11 @@ function getInstance(instance) {
76
73
  },
77
74
  setPageIndex: function setPageIndex(updater) {
78
75
  instance.setPagination(function (old) {
79
- var newPageIndex = utils.functionalUpdate(updater, old.pageIndex);
80
- var maxPageIndex = old.pageCount > 0 ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER;
76
+ var pageIndex = utils.functionalUpdate(updater, old.pageIndex);
77
+ var maxPageIndex = old.pageCount && old.pageCount > 0 ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER;
78
+ pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex);
81
79
  return _rollupPluginBabelHelpers["extends"]({}, old, {
82
- pageIndex: Math.min(Math.max(0, newPageIndex), maxPageIndex)
80
+ pageIndex: pageIndex
83
81
  });
84
82
  });
85
83
  },
@@ -87,9 +85,9 @@ function getInstance(instance) {
87
85
  instance.setPageIndex(0);
88
86
  },
89
87
  resetPageSize: function resetPageSize() {
90
- var _instance$options$ini, _instance$options$ini2, _instance$options$ini3;
88
+ var _instance$initialStat2, _instance$initialStat3, _instance$initialStat4;
91
89
 
92
- instance.setPageSize((_instance$options$ini = (_instance$options$ini2 = instance.options.initialState) == null ? void 0 : (_instance$options$ini3 = _instance$options$ini2.pagination) == null ? void 0 : _instance$options$ini3.pageSize) != null ? _instance$options$ini : 10);
90
+ instance.setPageSize((_instance$initialStat2 = (_instance$initialStat3 = instance.initialState) == null ? void 0 : (_instance$initialStat4 = _instance$initialStat3.pagination) == null ? void 0 : _instance$initialStat4.pageSize) != null ? _instance$initialStat2 : 10);
93
91
  },
94
92
  setPageSize: function setPageSize(updater) {
95
93
  instance.setPagination(function (old) {
@@ -104,8 +102,14 @@ function getInstance(instance) {
104
102
  },
105
103
  setPageCount: function setPageCount(updater) {
106
104
  return instance.setPagination(function (old) {
105
+ var newPageCount = utils.functionalUpdate(updater, old.pageCount);
106
+
107
+ if (typeof newPageCount === 'number') {
108
+ newPageCount = Math.max(-1, newPageCount);
109
+ }
110
+
107
111
  return _rollupPluginBabelHelpers["extends"]({}, old, {
108
- pageCount: Math.max(-1, utils.functionalUpdate(updater, old.pageCount))
112
+ pageCount: newPageCount
109
113
  });
110
114
  });
111
115
  },
@@ -114,7 +118,7 @@ function getInstance(instance) {
114
118
  }, function (pageSize, pageCount) {
115
119
  var pageOptions = [];
116
120
 
117
- if (pageCount > 0) {
121
+ if (pageCount && pageCount > 0) {
118
122
  pageOptions = [].concat(new Array(pageCount)).fill(null).map(function (_, i) {
119
123
  return i;
120
124
  });
@@ -144,13 +148,13 @@ function getInstance(instance) {
144
148
 
145
149
  return pageIndex < Math.ceil(instance.getPrePaginationRows().length / pageSize) - 1;
146
150
  },
147
- gotoPreviousPage: function gotoPreviousPage() {
148
- return instance.setPageIndex == null ? void 0 : instance.setPageIndex(function (old) {
151
+ previousPage: function previousPage() {
152
+ return instance.setPageIndex(function (old) {
149
153
  return old - 1;
150
154
  });
151
155
  },
152
- gotoNextPage: function gotoNextPage() {
153
- return instance.setPageIndex == null ? void 0 : instance.setPageIndex(function (old) {
156
+ nextPage: function nextPage() {
157
+ return instance.setPageIndex(function (old) {
154
158
  return old + 1;
155
159
  });
156
160
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n Column,\n OnChangeFn,\n ReactTable,\n Row,\n RowModel,\n TableState,\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<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n paginateRowsFn?: (\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyPageIndexReset: () => 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 gotoPreviousPage: () => void\n gotoNextPage: () => void\n getPaginationRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPrePaginationRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPrePaginationFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPrePaginationRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getPaginationRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPaginationFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPaginationRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getInitialState(): PaginationTableState {\n return {\n pagination: {\n pageIndex: 0,\n pageSize: 10,\n pageCount: -1,\n },\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): PaginationDefaultOptions {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): PaginationInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n return {\n _notifyPageIndexReset: () => {\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.resetPageSize()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n const newState = functionalUpdate(old, updater)\n\n if (!instance.options.paginateRowsFn) {\n return {\n ...old,\n pageCount: instance.getPreExpandedRows()?.length\n ? Math.ceil(\n instance.getPreExpandedRows().length /\n instance.getState().pagination.pageSize\n )\n : 0,\n }\n }\n\n return old\n }\n\n return instance.options.onPaginationChange?.(\n safeUpdater,\n functionalUpdate(safeUpdater, instance.getState().pagination)\n )\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 const newPageIndex = functionalUpdate(updater, old.pageIndex)\n const maxPageIndex =\n old.pageCount > 0 ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER\n\n return {\n ...old,\n pageIndex: Math.min(Math.max(0, newPageIndex), maxPageIndex),\n }\n })\n },\n resetPageIndex: () => {\n instance.setPageIndex(0)\n },\n resetPageSize: () => {\n instance.setPageSize(\n instance.options.initialState?.pagination?.pageSize ?? 10\n )\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 ...old,\n pageCount: Math.max(-1, functionalUpdate(updater, old.pageCount)),\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 > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: 'getPageOptions',\n debug: instance.options.debug,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex, pageCount, pageSize } = instance.getState().pagination\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return (\n pageIndex <\n Math.ceil(instance.getPrePaginationRows().length / pageSize) - 1\n )\n },\n\n gotoPreviousPage: () => {\n return instance.setPageIndex?.(old => old! - 1)\n },\n\n gotoNextPage: () => {\n return instance.setPageIndex?.(old => old! + 1)\n },\n\n getPaginationRowModel: memo(\n () => [\n instance.getState().pagination,\n instance.getExpandedRowModel(),\n instance.options.paginateRowsFn,\n ],\n (_pagination, rowModel, paginateRowsFn) => {\n if (!paginateRowsFn || !rowModel.rows.length) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Paginating...')\n\n return paginateRowsFn(instance, rowModel)\n },\n {\n key: 'getPaginationRowModel',\n debug: instance.options.debug,\n }\n ),\n\n getPrePaginationRows: () => instance.getExpandedRowModel().rows,\n getPrePaginationFlatRows: () => instance.getExpandedRowModel().flatRows,\n getPrePaginationRowsById: () => instance.getExpandedRowModel().rowsById,\n getPaginationRows: () => instance.getPaginationRowModel().rows,\n getPaginationFlatRows: () => instance.getPaginationRowModel().flatRows,\n getPaginationRowsById: () => instance.getPaginationRowModel().rowsById,\n }\n}\n"],"names":["getInitialState","pagination","pageIndex","pageSize","pageCount","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","getInstance","registered","_notifyPageIndexReset","options","autoResetAll","resetPageSize","setPagination","updater","safeUpdater","old","functionalUpdate","paginateRowsFn","getPreExpandedRows","length","Math","ceil","getState","resetPagination","initialState","setPageIndex","newPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","min","max","resetPageIndex","setPageSize","topRowIndex","floor","setPageCount","getPageOptions","memo","pageOptions","Array","fill","map","_","i","key","debug","getCanPreviousPage","getCanNextPage","getPrePaginationRows","gotoPreviousPage","gotoNextPage","getPaginationRowModel","getExpandedRowModel","_pagination","rowModel","rows","process","env","NODE_ENV","console","info","getPrePaginationFlatRows","flatRows","getPrePaginationRowsById","rowsById","getPaginationRows","getPaginationFlatRows","getPaginationRowsById"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n Column,\n OnChangeFn,\n ReactTable,\n Row,\n RowModel,\n TableState,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PageCount = undefined | null | number\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount?: PageCount\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n paginateRowsFn?: (\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyPageIndexReset: () => 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<PageCount>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPaginationRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPrePaginationRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPrePaginationFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPrePaginationRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getPaginationRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPaginationFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPaginationRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getInitialState(): PaginationTableState {\n return {\n pagination: {\n pageIndex: 0,\n pageSize: 10,\n },\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): PaginationDefaultOptions {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): PaginationInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n return {\n _notifyPageIndexReset: () => {\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.resetPageSize()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n if (instance.options.paginateRowsFn) {\n newState.pageCount = instance.getPrePaginationRows()?.length\n ? Math.ceil(\n instance.getPrePaginationRows().length /\n instance.getState().pagination.pageSize\n )\n : 0\n }\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(\n safeUpdater,\n functionalUpdate(safeUpdater, instance.getState().pagination)\n )\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.debug,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex, pageCount, pageSize } = instance.getState().pagination\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return (\n pageIndex <\n Math.ceil(instance.getPrePaginationRows().length / pageSize) - 1\n )\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 getPaginationRowModel: memo(\n () => [\n instance.getState().pagination,\n instance.getExpandedRowModel(),\n instance.options.paginateRowsFn,\n ],\n (_pagination, rowModel, paginateRowsFn) => {\n if (!paginateRowsFn || !rowModel.rows.length) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Paginating...')\n\n return paginateRowsFn(instance, rowModel)\n },\n {\n key: 'getPaginationRowModel',\n debug: instance.options.debug,\n }\n ),\n\n getPrePaginationRows: () => instance.getExpandedRowModel().rows,\n getPrePaginationFlatRows: () => instance.getExpandedRowModel().flatRows,\n getPrePaginationRowsById: () => instance.getExpandedRowModel().rowsById,\n getPaginationRows: () => instance.getPaginationRowModel().rows,\n getPaginationFlatRows: () => instance.getPaginationRowModel().flatRows,\n getPaginationRowsById: () => instance.getPaginationRowModel().rowsById,\n }\n}\n"],"names":["getInitialState","pagination","pageIndex","pageSize","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","getInstance","registered","_notifyPageIndexReset","options","autoResetAll","resetPageSize","setPagination","updater","safeUpdater","old","newState","functionalUpdate","paginateRowsFn","pageCount","getPrePaginationRows","length","Math","ceil","getState","resetPagination","initialState","setPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","min","max","resetPageIndex","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","pageOptions","Array","fill","map","_","i","key","debug","getCanPreviousPage","getCanNextPage","previousPage","nextPage","getPaginationRowModel","getExpandedRowModel","_pagination","rowModel","rows","process","env","NODE_ENV","console","info","getPrePaginationFlatRows","flatRows","getPrePaginationRowsById","rowsById","getPaginationRows","getPaginationFlatRows","getPaginationRowsById"],"mappings":";;;;;;;;;;;;;;;;;AAkHA;AAEO,SAASA,eAAT,GAAiD;AACtD,SAAO;AACLC,IAAAA,UAAU,EAAE;AACVC,MAAAA,SAAS,EAAE,CADD;AAEVC,MAAAA,QAAQ,EAAE;AAFA;AADP,GAAP;AAMD;AAEM,SAASC,iBAAT,CAOLC,QAPK,EAQqB;AAC1B,SAAO;AACLC,IAAAA,kBAAkB,EAAEC,sBAAgB,CAAC,YAAD,EAAeF,QAAf,CAD/B;AAELG,IAAAA,kBAAkB,EAAE;AAFf,GAAP;AAID;AAEM,SAASC,WAAT,CAOLJ,QAPK,EAQwE;AAC7E,MAAIK,UAAU,GAAG,KAAjB;AACA,SAAO;AACLC,IAAAA,qBAAqB,EAAE,iCAAM;AAC3B,UAAI,CAACD,UAAL,EAAiB;AACfA,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;;AAED,UAAIL,QAAQ,CAACO,OAAT,CAAiBC,YAAjB,KAAkC,KAAtC,EAA6C;AAC3C;AACD;;AAED,UACER,QAAQ,CAACO,OAAT,CAAiBC,YAAjB,KAAkC,IAAlC,IACAR,QAAQ,CAACO,OAAT,CAAiBJ,kBAFnB,EAGE;AACAH,QAAAA,QAAQ,CAACS,aAAT;AACD;AACF,KAjBI;AAkBLC,IAAAA,aAAa,EAAE,uBAAAC,OAAO,EAAI;AACxB,UAAMC,WAAqC,GAAG,SAAxCA,WAAwC,CAAAC,GAAG,EAAI;AACnD,YAAIC,QAAQ,GAAGC,sBAAgB,CAACJ,OAAD,EAAUE,GAAV,CAA/B;;AAEA,YAAIb,QAAQ,CAACO,OAAT,CAAiBS,cAArB,EAAqC;AAAA;;AACnCF,UAAAA,QAAQ,CAACG,SAAT,GAAqB,yBAAAjB,QAAQ,CAACkB,oBAAT,qCAAiCC,MAAjC,GACjBC,IAAI,CAACC,IAAL,CACErB,QAAQ,CAACkB,oBAAT,GAAgCC,MAAhC,GACEnB,QAAQ,CAACsB,QAAT,GAAoB1B,UAApB,CAA+BE,QAFnC,CADiB,GAKjB,CALJ;AAMD;;AAED,eAAOgB,QAAP;AACD,OAbD;;AAeA,aAAOd,QAAQ,CAACO,OAAT,CAAiBN,kBAAxB,oBAAOD,QAAQ,CAACO,OAAT,CAAiBN,kBAAjB,CACLW,WADK,EAELG,sBAAgB,CAACH,WAAD,EAAcZ,QAAQ,CAACsB,QAAT,GAAoB1B,UAAlC,CAFX,CAAP;AAID,KAtCI;AAuCL2B,IAAAA,eAAe,EAAE,2BAAM;AAAA;;AACrBvB,MAAAA,QAAQ,CAACU,aAAT,0BACEV,QAAQ,CAACwB,YAAT,CAAsB5B,UADxB,oCACsC;AAClCC,QAAAA,SAAS,EAAE,CADuB;AAElCC,QAAAA,QAAQ,EAAE,EAFwB;AAGlCmB,QAAAA,SAAS,EAAE,CAAC;AAHsB,OADtC;AAOD,KA/CI;AAgDLQ,IAAAA,YAAY,EAAE,sBAAAd,OAAO,EAAI;AACvBX,MAAAA,QAAQ,CAACU,aAAT,CAAuB,UAAAG,GAAG,EAAI;AAC5B,YAAIhB,SAAS,GAAGkB,sBAAgB,CAACJ,OAAD,EAAUE,GAAG,CAAChB,SAAd,CAAhC;AAEA,YAAM6B,YAAY,GAChBb,GAAG,CAACI,SAAJ,IAAiBJ,GAAG,CAACI,SAAJ,GAAgB,CAAjC,GACIJ,GAAG,CAACI,SAAJ,GAAgB,CADpB,GAEIU,MAAM,CAACC,gBAHb;AAKA/B,QAAAA,SAAS,GAAGuB,IAAI,CAACS,GAAL,CAAST,IAAI,CAACU,GAAL,CAAS,CAAT,EAAYjC,SAAZ,CAAT,EAAiC6B,YAAjC,CAAZ;AAEA,wDACKb,GADL;AAEEhB,UAAAA,SAAS,EAATA;AAFF;AAID,OAdD;AAeD,KAhEI;AAiELkC,IAAAA,cAAc,EAAE,0BAAM;AACpB/B,MAAAA,QAAQ,CAACyB,YAAT,CAAsB,CAAtB;AACD,KAnEI;AAoELhB,IAAAA,aAAa,EAAE,yBAAM;AAAA;;AACnBT,MAAAA,QAAQ,CAACgC,WAAT,qDAAqBhC,QAAQ,CAACwB,YAA9B,+CAAqB,uBAAuB5B,UAA5C,qBAAqB,uBAAmCE,QAAxD,qCAAoE,EAApE;AACD,KAtEI;AAuELkC,IAAAA,WAAW,EAAE,qBAAArB,OAAO,EAAI;AACtBX,MAAAA,QAAQ,CAACU,aAAT,CAAuB,UAAAG,GAAG,EAAI;AAC5B,YAAMf,QAAQ,GAAGsB,IAAI,CAACU,GAAL,CAAS,CAAT,EAAYf,sBAAgB,CAACJ,OAAD,EAAUE,GAAG,CAACf,QAAd,CAA5B,CAAjB;AACA,YAAMmC,WAAW,GAAGpB,GAAG,CAACf,QAAJ,GAAee,GAAG,CAAChB,SAAvC;AACA,YAAMA,SAAS,GAAGuB,IAAI,CAACc,KAAL,CAAWD,WAAW,GAAGnC,QAAzB,CAAlB;AAEA,wDACKe,GADL;AAEEhB,UAAAA,SAAS,EAATA,SAFF;AAGEC,UAAAA,QAAQ,EAARA;AAHF;AAKD,OAVD;AAWD,KAnFI;AAoFLqC,IAAAA,YAAY,EAAE,sBAAAxB,OAAO;AAAA,aACnBX,QAAQ,CAACU,aAAT,CAAuB,UAAAG,GAAG,EAAI;AAC5B,YAAIuB,YAAY,GAAGrB,sBAAgB,CAACJ,OAAD,EAAUE,GAAG,CAACI,SAAd,CAAnC;;AAEA,YAAI,OAAOmB,YAAP,KAAwB,QAA5B,EAAsC;AACpCA,UAAAA,YAAY,GAAGhB,IAAI,CAACU,GAAL,CAAS,CAAC,CAAV,EAAaM,YAAb,CAAf;AACD;;AAED,wDACKvB,GADL;AAEEI,UAAAA,SAAS,EAAEmB;AAFb;AAID,OAXD,CADmB;AAAA,KApFhB;AAkGLC,IAAAA,cAAc,EAAEC,UAAI,CAClB;AAAA,aAAM,CACJtC,QAAQ,CAACsB,QAAT,GAAoB1B,UAApB,CAA+BE,QAD3B,EAEJE,QAAQ,CAACsB,QAAT,GAAoB1B,UAApB,CAA+BqB,SAF3B,CAAN;AAAA,KADkB,EAKlB,UAACnB,QAAD,EAAWmB,SAAX,EAAyB;AACvB,UAAIsB,WAAqB,GAAG,EAA5B;;AACA,UAAItB,SAAS,IAAIA,SAAS,GAAG,CAA7B,EAAgC;AAC9BsB,QAAAA,WAAW,GAAG,UAAI,IAAIC,KAAJ,CAAUvB,SAAV,CAAJ,EAA0BwB,IAA1B,CAA+B,IAA/B,EAAqCC,GAArC,CAAyC,UAACC,CAAD,EAAIC,CAAJ;AAAA,iBAAUA,CAAV;AAAA,SAAzC,CAAd;AACD;;AACD,aAAOL,WAAP;AACD,KAXiB,EAYlB;AACEM,MAAAA,GAAG,EAAE,gBADP;AAEEC,MAAAA,KAAK,EAAE9C,QAAQ,CAACO,OAAT,CAAiBuC;AAF1B,KAZkB,CAlGf;AAoHLC,IAAAA,kBAAkB,EAAE;AAAA,aAAM/C,QAAQ,CAACsB,QAAT,GAAoB1B,UAApB,CAA+BC,SAA/B,GAA2C,CAAjD;AAAA,KApHf;AAsHLmD,IAAAA,cAAc,EAAE,0BAAM;AACpB,kCAA2ChD,QAAQ,CAACsB,QAAT,GAAoB1B,UAA/D;AAAA,UAAQC,SAAR,yBAAQA,SAAR;AAAA,UAAmBoB,SAAnB,yBAAmBA,SAAnB;AAAA,UAA8BnB,QAA9B,yBAA8BA,QAA9B;;AAEA,UAAImB,SAAS,KAAK,CAAC,CAAnB,EAAsB;AACpB,eAAO,IAAP;AACD;;AAED,UAAIA,SAAS,KAAK,CAAlB,EAAqB;AACnB,eAAO,KAAP;AACD;;AAED,aACEpB,SAAS,GACTuB,IAAI,CAACC,IAAL,CAAUrB,QAAQ,CAACkB,oBAAT,GAAgCC,MAAhC,GAAyCrB,QAAnD,IAA+D,CAFjE;AAID,KArII;AAuILmD,IAAAA,YAAY,EAAE,wBAAM;AAClB,aAAOjD,QAAQ,CAACyB,YAAT,CAAsB,UAAAZ,GAAG;AAAA,eAAIA,GAAG,GAAG,CAAV;AAAA,OAAzB,CAAP;AACD,KAzII;AA2ILqC,IAAAA,QAAQ,EAAE,oBAAM;AACd,aAAOlD,QAAQ,CAACyB,YAAT,CAAsB,UAAAZ,GAAG,EAAI;AAClC,eAAOA,GAAG,GAAG,CAAb;AACD,OAFM,CAAP;AAGD,KA/II;AAiJLsC,IAAAA,qBAAqB,EAAEb,UAAI,CACzB;AAAA,aAAM,CACJtC,QAAQ,CAACsB,QAAT,GAAoB1B,UADhB,EAEJI,QAAQ,CAACoD,mBAAT,EAFI,EAGJpD,QAAQ,CAACO,OAAT,CAAiBS,cAHb,CAAN;AAAA,KADyB,EAMzB,UAACqC,WAAD,EAAcC,QAAd,EAAwBtC,cAAxB,EAA2C;AACzC,UAAI,CAACA,cAAD,IAAmB,CAACsC,QAAQ,CAACC,IAAT,CAAcpC,MAAtC,EAA8C;AAC5C,eAAOmC,QAAP;AACD;;AAED,UAAIE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC1D,QAAQ,CAACO,OAAT,CAAiBuC,KAA9D,EACEa,OAAO,CAACC,IAAR,CAAa,eAAb;AAEF,aAAO5C,cAAc,CAAChB,QAAD,EAAWsD,QAAX,CAArB;AACD,KAfwB,EAgBzB;AACET,MAAAA,GAAG,EAAE,uBADP;AAEEC,MAAAA,KAAK,EAAE9C,QAAQ,CAACO,OAAT,CAAiBuC;AAF1B,KAhByB,CAjJtB;AAuKL5B,IAAAA,oBAAoB,EAAE;AAAA,aAAMlB,QAAQ,CAACoD,mBAAT,GAA+BG,IAArC;AAAA,KAvKjB;AAwKLM,IAAAA,wBAAwB,EAAE;AAAA,aAAM7D,QAAQ,CAACoD,mBAAT,GAA+BU,QAArC;AAAA,KAxKrB;AAyKLC,IAAAA,wBAAwB,EAAE;AAAA,aAAM/D,QAAQ,CAACoD,mBAAT,GAA+BY,QAArC;AAAA,KAzKrB;AA0KLC,IAAAA,iBAAiB,EAAE;AAAA,aAAMjE,QAAQ,CAACmD,qBAAT,GAAiCI,IAAvC;AAAA,KA1Kd;AA2KLW,IAAAA,qBAAqB,EAAE;AAAA,aAAMlE,QAAQ,CAACmD,qBAAT,GAAiCW,QAAvC;AAAA,KA3KlB;AA4KLK,IAAAA,qBAAqB,EAAE;AAAA,aAAMnE,QAAQ,CAACmD,qBAAT,GAAiCa,QAAvC;AAAA;AA5KlB,GAAP;AA8KD;;;;;;"}
@@ -50,9 +50,9 @@ function getInstance(instance) {
50
50
  return instance.options.onColumnPinningChange == null ? void 0 : instance.options.onColumnPinningChange(updater, utils.functionalUpdate(updater, instance.getState().columnPinning));
51
51
  },
52
52
  resetColumnPinning: function resetColumnPinning() {
53
- var _instance$options$ini, _instance$options$ini2;
53
+ var _instance$initialStat, _instance$initialStat2;
54
54
 
55
- return instance.setColumnPinning((_instance$options$ini = (_instance$options$ini2 = instance.options.initialState) == null ? void 0 : _instance$options$ini2.columnPinning) != null ? _instance$options$ini : {});
55
+ return instance.setColumnPinning((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnPinning) != null ? _instance$initialStat : {});
56
56
  },
57
57
  pinColumn: function pinColumn(columnId, position) {
58
58
  var column = instance.getColumn(columnId);
@@ -1 +1 @@
1
- {"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import { OnChangeFn, Updater, ReactTable, Column } from '../types'\nimport { functionalUpdate, makeStateUpdater } from '../utils'\n\ntype ColumnPinningPosition = false | 'left' | 'right'\n\nexport type ColumnPinningState = {\n left?: string[]\n right?: string[]\n}\n\nexport type ColumnPinningTableState = {\n columnPinning: ColumnPinningState\n}\n\nexport type ColumnPinningOptions = {\n onColumnPinningChange?: OnChangeFn<ColumnPinningState>\n enablePinning?: boolean\n}\n\nexport type ColumnPinningDefaultOptions = {\n onColumnPinningChange: OnChangeFn<ColumnPinningState>\n}\n\nexport type ColumnPinningColumnDef = {\n enablePinning?: boolean\n defaultCanPin?: boolean\n}\n\nexport type ColumnPinningColumn = {\n getCanPin: () => boolean\n getPinnedIndex: () => number\n getIsPinned: () => ColumnPinningPosition\n pin: (position: ColumnPinningPosition) => void\n}\n\nexport type ColumnPinningInstance<\n _TData,\n _TValue,\n _TFilterFns,\n _TSortingFns,\n _TAggregationFns\n> = {\n setColumnPinning: (updater: Updater<ColumnPinningState>) => void\n resetColumnPinning: () => void\n pinColumn: (columnId: string, position: ColumnPinningPosition) => void\n getColumnCanPin: (columnId: string) => boolean\n getColumnIsPinned: (columnId: string) => ColumnPinningPosition\n getColumnPinnedIndex: (columnId: string) => number\n}\n\n//\n\nexport function getInitialState(): ColumnPinningTableState {\n return {\n columnPinning: {\n left: [],\n right: [],\n },\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnPinningDefaultOptions {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', instance),\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnPinningColumn {\n return {\n getCanPin: () => instance.getColumnCanPin(column.id),\n getPinnedIndex: () => instance.getColumnPinnedIndex(column.id),\n getIsPinned: () => instance.getColumnIsPinned(column.id),\n pin: position => instance.pinColumn(column.id, position),\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnPinningInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> {\n return {\n setColumnPinning: updater =>\n instance.options.onColumnPinningChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnPinning)\n ),\n\n resetColumnPinning: () =>\n instance.setColumnPinning(\n instance.options.initialState?.columnPinning ?? {}\n ),\n\n pinColumn: (columnId, position) => {\n const column = instance.getColumn(columnId)\n\n const columnIds = column\n ?.getLeafColumns()\n .map(d => d.id)\n .filter(Boolean) as string[]\n\n instance.setColumnPinning(old => {\n if (position === 'right') {\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: [\n ...(old?.right ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n }\n }\n\n if (position === 'left') {\n return {\n left: [\n ...(old?.left ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n }\n\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n })\n },\n\n getColumnCanPin: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n d.enablePinning ??\n instance.options.enablePinning ??\n d.defaultCanPin ??\n !!d.accessorFn\n )\n },\n\n getColumnIsPinned: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumnIds = column.getLeafColumns().map(d => d.id)\n\n const { left, right } = instance.getState().columnPinning\n\n const isLeft = leafColumnIds.some(d => left?.includes(d))\n const isRight = leafColumnIds.some(d => right?.includes(d))\n\n return isLeft ? 'left' : isRight ? 'right' : false\n },\n\n getColumnPinnedIndex: columnId => {\n const position = instance.getColumnIsPinned(columnId)\n\n return position\n ? instance.getState().columnPinning?.[position]?.indexOf(columnId) ?? -1\n : 0\n },\n }\n}\n"],"names":["getInitialState","columnPinning","left","right","getDefaultOptions","instance","onColumnPinningChange","makeStateUpdater","createColumn","column","getCanPin","getColumnCanPin","id","getPinnedIndex","getColumnPinnedIndex","getIsPinned","getColumnIsPinned","pin","position","pinColumn","getInstance","setColumnPinning","updater","options","functionalUpdate","getState","resetColumnPinning","initialState","columnId","getColumn","columnIds","getLeafColumns","map","d","filter","Boolean","old","includes","Error","leafColumns","some","enablePinning","defaultCanPin","accessorFn","leafColumnIds","isLeft","isRight","indexOf"],"mappings":"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"}
1
+ {"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import { OnChangeFn, Updater, ReactTable, Column } from '../types'\nimport { functionalUpdate, makeStateUpdater } from '../utils'\n\ntype ColumnPinningPosition = false | 'left' | 'right'\n\nexport type ColumnPinningState = {\n left?: string[]\n right?: string[]\n}\n\nexport type ColumnPinningTableState = {\n columnPinning: ColumnPinningState\n}\n\nexport type ColumnPinningOptions = {\n onColumnPinningChange?: OnChangeFn<ColumnPinningState>\n enablePinning?: boolean\n}\n\nexport type ColumnPinningDefaultOptions = {\n onColumnPinningChange: OnChangeFn<ColumnPinningState>\n}\n\nexport type ColumnPinningColumnDef = {\n enablePinning?: boolean\n defaultCanPin?: boolean\n}\n\nexport type ColumnPinningColumn = {\n getCanPin: () => boolean\n getPinnedIndex: () => number\n getIsPinned: () => ColumnPinningPosition\n pin: (position: ColumnPinningPosition) => void\n}\n\nexport type ColumnPinningInstance<\n _TData,\n _TValue,\n _TFilterFns,\n _TSortingFns,\n _TAggregationFns\n> = {\n setColumnPinning: (updater: Updater<ColumnPinningState>) => void\n resetColumnPinning: () => void\n pinColumn: (columnId: string, position: ColumnPinningPosition) => void\n getColumnCanPin: (columnId: string) => boolean\n getColumnIsPinned: (columnId: string) => ColumnPinningPosition\n getColumnPinnedIndex: (columnId: string) => number\n}\n\n//\n\nexport function getInitialState(): ColumnPinningTableState {\n return {\n columnPinning: {\n left: [],\n right: [],\n },\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnPinningDefaultOptions {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', instance),\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnPinningColumn {\n return {\n getCanPin: () => instance.getColumnCanPin(column.id),\n getPinnedIndex: () => instance.getColumnPinnedIndex(column.id),\n getIsPinned: () => instance.getColumnIsPinned(column.id),\n pin: position => instance.pinColumn(column.id, position),\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnPinningInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> {\n return {\n setColumnPinning: updater =>\n instance.options.onColumnPinningChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnPinning)\n ),\n\n resetColumnPinning: () =>\n instance.setColumnPinning(instance.initialState?.columnPinning ?? {}),\n\n pinColumn: (columnId, position) => {\n const column = instance.getColumn(columnId)\n\n const columnIds = column\n ?.getLeafColumns()\n .map(d => d.id)\n .filter(Boolean) as string[]\n\n instance.setColumnPinning(old => {\n if (position === 'right') {\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: [\n ...(old?.right ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n }\n }\n\n if (position === 'left') {\n return {\n left: [\n ...(old?.left ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n }\n\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n })\n },\n\n getColumnCanPin: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n d.enablePinning ??\n instance.options.enablePinning ??\n d.defaultCanPin ??\n !!d.accessorFn\n )\n },\n\n getColumnIsPinned: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumnIds = column.getLeafColumns().map(d => d.id)\n\n const { left, right } = instance.getState().columnPinning\n\n const isLeft = leafColumnIds.some(d => left?.includes(d))\n const isRight = leafColumnIds.some(d => right?.includes(d))\n\n return isLeft ? 'left' : isRight ? 'right' : false\n },\n\n getColumnPinnedIndex: columnId => {\n const position = instance.getColumnIsPinned(columnId)\n\n return position\n ? instance.getState().columnPinning?.[position]?.indexOf(columnId) ?? -1\n : 0\n },\n }\n}\n"],"names":["getInitialState","columnPinning","left","right","getDefaultOptions","instance","onColumnPinningChange","makeStateUpdater","createColumn","column","getCanPin","getColumnCanPin","id","getPinnedIndex","getColumnPinnedIndex","getIsPinned","getColumnIsPinned","pin","position","pinColumn","getInstance","setColumnPinning","updater","options","functionalUpdate","getState","resetColumnPinning","initialState","columnId","getColumn","columnIds","getLeafColumns","map","d","filter","Boolean","old","includes","Error","leafColumns","some","enablePinning","defaultCanPin","accessorFn","leafColumnIds","isLeft","isRight","indexOf"],"mappings":"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"}
@@ -261,9 +261,9 @@ function getInstance(instance) {
261
261
  })) != null ? _instance$getState$so2 : -1;
262
262
  },
263
263
  resetSorting: function resetSorting() {
264
- var _instance$options$ini, _instance$options, _instance$options$ini2;
264
+ var _instance$initialStat, _instance$initialStat2;
265
265
 
266
- instance.setSorting((_instance$options$ini = (_instance$options = instance.options) == null ? void 0 : (_instance$options$ini2 = _instance$options.initialState) == null ? void 0 : _instance$options$ini2.sorting) != null ? _instance$options$ini : []);
266
+ instance.setSorting((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.sorting) != null ? _instance$initialStat : []);
267
267
  },
268
268
  getToggleSortingProps: function getToggleSortingProps(columnId, userProps) {
269
269
  var column = instance.getColumn(columnId);