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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/build/cjs/core.js +66 -73
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/createTable.js +47 -33
  4. package/build/cjs/createTable.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +23 -22
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Expanding.js +10 -22
  8. package/build/cjs/features/Expanding.js.map +1 -1
  9. package/build/cjs/features/Filters.js +27 -58
  10. package/build/cjs/features/Filters.js.map +1 -1
  11. package/build/cjs/features/Grouping.js +10 -27
  12. package/build/cjs/features/Grouping.js.map +1 -1
  13. package/build/cjs/features/Headers.js +108 -28
  14. package/build/cjs/features/Headers.js.map +1 -1
  15. package/build/cjs/features/Ordering.js +2 -2
  16. package/build/cjs/features/Ordering.js.map +1 -1
  17. package/build/cjs/features/Pagination.js +24 -29
  18. package/build/cjs/features/Pagination.js.map +1 -1
  19. package/build/cjs/features/Pinning.js.map +1 -1
  20. package/build/cjs/features/RowSelection.js +23 -38
  21. package/build/cjs/features/RowSelection.js.map +1 -1
  22. package/build/cjs/features/Sorting.js +10 -22
  23. package/build/cjs/features/Sorting.js.map +1 -1
  24. package/build/cjs/features/Visibility.js +10 -2
  25. package/build/cjs/features/Visibility.js.map +1 -1
  26. package/build/cjs/filterTypes.js.map +1 -1
  27. package/build/cjs/index.js +12 -0
  28. package/build/cjs/index.js.map +1 -1
  29. package/build/cjs/sortTypes.js.map +1 -1
  30. package/build/cjs/types.js +22 -0
  31. package/build/cjs/types.js.map +1 -0
  32. package/build/cjs/utils/columnFilterRowsFn.js.map +1 -1
  33. package/build/cjs/utils/expandRowsFn.js.map +1 -1
  34. package/build/cjs/utils/globalFilterRowsFn.js.map +1 -1
  35. package/build/cjs/utils/groupRowsFn.js.map +1 -1
  36. package/build/cjs/utils/paginateRowsFn.js.map +1 -1
  37. package/build/cjs/utils/sortRowsFn.js.map +1 -1
  38. package/build/cjs/utils.js +44 -18
  39. package/build/cjs/utils.js.map +1 -1
  40. package/build/esm/index.js +1388 -1355
  41. package/build/esm/index.js.map +1 -1
  42. package/build/stats-html.html +1 -1
  43. package/build/stats-react.json +337 -307
  44. package/build/types/core.d.ts +63 -67
  45. package/build/types/createTable.d.ts +34 -44
  46. package/build/types/features/ColumnSizing.d.ts +13 -7
  47. package/build/types/features/Expanding.d.ts +11 -16
  48. package/build/types/features/Filters.d.ts +39 -47
  49. package/build/types/features/Grouping.d.ts +28 -27
  50. package/build/types/features/Headers.d.ts +30 -30
  51. package/build/types/features/Ordering.d.ts +5 -5
  52. package/build/types/features/Pagination.d.ts +11 -16
  53. package/build/types/features/Pinning.d.ts +5 -5
  54. package/build/types/features/RowSelection.d.ts +15 -23
  55. package/build/types/features/Sorting.d.ts +26 -25
  56. package/build/types/features/Visibility.d.ts +9 -9
  57. package/build/types/filterTypes.d.ts +10 -10
  58. package/build/types/index.d.ts +1 -0
  59. package/build/types/sortTypes.d.ts +7 -7
  60. package/build/types/types.d.ts +34 -23
  61. package/build/types/utils/columnFilterRowsFn.d.ts +2 -2
  62. package/build/types/utils/expandRowsFn.d.ts +2 -2
  63. package/build/types/utils/globalFilterRowsFn.d.ts +2 -2
  64. package/build/types/utils/groupRowsFn.d.ts +2 -2
  65. package/build/types/utils/paginateRowsFn.d.ts +2 -2
  66. package/build/types/utils/sortRowsFn.d.ts +2 -2
  67. package/build/types/utils.d.ts +5 -6
  68. package/build/umd/index.development.js +1397 -1354
  69. package/build/umd/index.development.js.map +1 -1
  70. package/build/umd/index.production.js +1 -1
  71. package/build/umd/index.production.js.map +1 -1
  72. package/package.json +1 -1
  73. package/src/core.tsx +192 -520
  74. package/src/createTable.tsx +137 -192
  75. package/src/features/ColumnSizing.ts +48 -77
  76. package/src/features/Expanding.ts +25 -113
  77. package/src/features/Filters.ts +91 -293
  78. package/src/features/Grouping.ts +60 -165
  79. package/src/features/Headers.ts +148 -331
  80. package/src/features/Ordering.ts +19 -42
  81. package/src/features/Pagination.ts +35 -110
  82. package/src/features/Pinning.ts +16 -40
  83. package/src/features/RowSelection.ts +47 -227
  84. package/src/features/Sorting.ts +49 -143
  85. package/src/features/Visibility.ts +23 -64
  86. package/src/filterTypes.ts +19 -82
  87. package/src/index.tsx +1 -0
  88. package/src/sortTypes.ts +19 -31
  89. package/src/types.ts +80 -100
  90. package/src/utils/columnFilterRowsFn.ts +11 -53
  91. package/src/utils/expandRowsFn.ts +7 -27
  92. package/src/utils/globalFilterRowsFn.ts +10 -43
  93. package/src/utils/groupRowsFn.ts +13 -37
  94. package/src/utils/paginateRowsFn.ts +5 -11
  95. package/src/utils/sortRowsFn.ts +8 -28
  96. package/src/utils.tsx +61 -35
@@ -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(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":"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"}
1
+ {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterType, filterTypes } from '../filterTypes'\nimport {\n Column,\n OnChangeFn,\n PartialGenerics,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type FilterFn<TGenerics extends PartialGenerics> = {\n (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends PartialGenerics> = (\n value: unknown,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterTypes<TGenerics extends PartialGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n}\n\nexport type FilterType<TGenerics extends PartialGenerics> =\n | 'auto'\n | BuiltInFilterType\n | TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends PartialGenerics> = {\n filterType?: FilterType<Overwrite<TGenerics, { Value: any }>>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends PartialGenerics> = {\n filterType: FilterType<Overwrite<TGenerics, { Value: any }>>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getIsColumnFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (value: any) => void\n getPreFilteredRows: () => Row<TGenerics>[] | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<TGenerics extends PartialGenerics> = {\n filterFromChildrenUp?: boolean\n filterTypes?: TGenerics['FilterFns']\n enableFilters?: boolean\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n columnFilterRowsFn?: (\n instance: TableInstance<TGenerics>,\n coreRowModel: RowModel<TGenerics>\n ) => RowModel<TGenerics>\n // Global\n globalFilterType?: FilterType<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilters?: boolean\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n globalFilterRowsFn?: (\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n ) => RowModel<TGenerics>\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends PartialGenerics> = {\n _notifyFiltersReset: () => void\n getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | 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?: (column: Column<TGenerics>) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // All\n getPreFilteredRowModel: () => RowModel<TGenerics>\n\n // Column Filters\n getPreColumnFilteredRowModel: () => RowModel<TGenerics>\n getColumnFilteredRowModel: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getPreGlobalFilteredRowModel: () => RowModel<TGenerics>\n getGlobalFilteredRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport function getDefaultColumn<\n TGenerics extends PartialGenerics\n>(): FiltersColumnDef<TGenerics> {\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<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): FiltersOptions<TGenerics> {\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\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n}\n\nexport function createColumn<TGenerics extends PartialGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n): FiltersColumn<TGenerics> {\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 {\n key: 'column.getFacetInfo',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\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<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): FiltersInstance<TGenerics> {\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.getCoreRowModel().flatRows[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[\n column.filterType as BuiltInFilterType\n ] as FilterFn<TGenerics>)\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[\n globalFilterType as BuiltInFilterType\n ] as FilterFn<TGenerics>)\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<TGenerics>,\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 getPreFilteredRowModel: () => instance.getCoreRowModel(),\n getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),\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 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 {\n key: 'getColumnFilteredRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),\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 return globalFiltersFn(\n instance as TableInstance<TGenerics>,\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.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance._notifySortingReset()\n },\n }\n ),\n }\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends PartialGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\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","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","debugAll","debugColumns","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","getPreFilteredRowModel","getPreColumnFilteredRowModel","getColumnFilteredRowModel","columnFilterRowsFn","rowModel","columnFiltersFn","columnFilteredRowModel","nonFilteredColumns","forEach","debugTable","getPreGlobalFilteredRowModel","getGlobalFilteredRowModel","globalFilterRowsFn","globalFilterValue","globalFiltersFn","globalFilteredRowModel","onChange","_notifySortingReset","autoRemove"],"mappings":"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"}
@@ -71,7 +71,7 @@ function getInstance(instance) {
71
71
  }
72
72
  },
73
73
  getColumnAutoAggregationFn: function getColumnAutoAggregationFn(columnId) {
74
- var firstRow = instance.getCoreFlatRows()[0];
74
+ var firstRow = instance.getCoreRowModel().flatRows[0];
75
75
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
76
76
 
77
77
  if (typeof value === 'number') {
@@ -139,11 +139,6 @@ function getInstance(instance) {
139
139
  },
140
140
  getToggleGroupingProps: function getToggleGroupingProps(columnId, userProps) {
141
141
  var column = instance.getColumn(columnId);
142
-
143
- if (!column) {
144
- return;
145
- }
146
-
147
142
  var canGroup = column.getCanGroup();
148
143
  var initialProps = {
149
144
  title: canGroup ? 'Toggle Grouping' : undefined,
@@ -159,6 +154,9 @@ function getInstance(instance) {
159
154
 
160
155
  return !!((_instance$getRow = instance.getRow(rowId)) != null && _instance$getRow.groupingColumnId);
161
156
  },
157
+ getPreGroupedRowModel: function getPreGroupedRowModel() {
158
+ return instance.getSortedRowModel();
159
+ },
162
160
  getGroupedRowModel: utils.memo(function () {
163
161
  return [instance.getState().grouping, instance.getSortedRowModel(), instance.options.groupRowsFn];
164
162
  }, function (grouping, rowModel, groupRowsFn) {
@@ -166,33 +164,18 @@ function getInstance(instance) {
166
164
  return rowModel;
167
165
  }
168
166
 
169
- if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Grouping...');
170
167
  return groupRowsFn(instance, rowModel);
171
168
  }, {
172
169
  key: 'getGroupedRowModel',
173
- debug: instance.options.debug,
170
+ debug: function debug() {
171
+ var _instance$options$deb;
172
+
173
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
174
+ },
174
175
  onChange: function onChange() {
175
176
  return instance._notifyExpandedReset();
176
177
  }
177
- }),
178
- getPreGroupedRows: function getPreGroupedRows() {
179
- return instance.getSortedRowModel().rows;
180
- },
181
- getPreGroupedFlatRows: function getPreGroupedFlatRows() {
182
- return instance.getSortedRowModel().flatRows;
183
- },
184
- getPreGroupedRowsById: function getPreGroupedRowsById() {
185
- return instance.getSortedRowModel().rowsById;
186
- },
187
- getGroupedRows: function getGroupedRows() {
188
- return instance.getGroupedRowModel().rows;
189
- },
190
- getGroupedFlatRows: function getGroupedFlatRows() {
191
- return instance.getGroupedRowModel().flatRows;
192
- },
193
- getGroupedRowsById: function getGroupedRowsById() {
194
- return instance.getGroupedRowModel().rowsById;
195
- }
178
+ })
196
179
  };
197
180
  }
198
181
  function createRow(row, instance) {
@@ -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.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":";;;;;;;;;;;;;;;;;AAkLA;AAEO,SAASA,gBAAT,GAAuE;AAC5E,SAAO;AACLC,IAAAA,eAAe,EAAE;AADZ,GAAP;AAGD;AAEM,SAASC,eAAT,GAA+C;AACpD,SAAO;AACLC,IAAAA,QAAQ,EAAE;AADL,GAAP;AAGD;AAEM,SAASC,iBAAT,CAOLC,QAPK,EAQqE;AAC1E,SAAO;AACLC,IAAAA,gBAAgB,EAAEC,sBAAgB,CAAC,UAAD,EAAaF,QAAb,CAD7B;AAELG,IAAAA,iBAAiB,EAAE,IAFd;AAGLC,IAAAA,iBAAiB,EAAE;AAHd,GAAP;AAKD;AAEM,SAASC,YAAT,CAOLC,MAPK,EAQLN,QARK,EASoE;AACzE,SAAO;AACLJ,IAAAA,eAAe,EAAEU,MAAM,CAACV,eADnB;AAELW,IAAAA,WAAW,EAAE;AAAA,aAAMP,QAAQ,CAACQ,iBAAT,CAA2BF,MAAM,CAACG,EAAlC,CAAN;AAAA,KAFR;AAGLC,IAAAA,eAAe,EAAE;AAAA,aAAMV,QAAQ,CAACW,qBAAT,CAA+BL,MAAM,CAACG,EAAtC,CAAN;AAAA,KAHZ;AAILG,IAAAA,YAAY,EAAE;AAAA,aAAMZ,QAAQ,CAACa,kBAAT,CAA4BP,MAAM,CAACG,EAAnC,CAAN;AAAA,KAJT;AAKLK,IAAAA,cAAc,EAAE;AAAA,aAAMd,QAAQ,CAACe,oBAAT,CAA8BT,MAAM,CAACG,EAArC,CAAN;AAAA,KALX;AAMLO,IAAAA,sBAAsB,EAAE,gCAAAC,SAAS;AAAA,aAC/BjB,QAAQ,CAACgB,sBAAT,CAAgCV,MAAM,CAACG,EAAvC,EAA2CQ,SAA3C,CAD+B;AAAA;AAN5B,GAAP;AASD;AAEM,SAASC,WAAT,CAOLlB,QAPK,EAQsE;AAC3E,MAAImB,UAAU,GAAG,KAAjB;AAEA,SAAO;AACLC,IAAAA,oBAAoB,EAAE,gCAAM;AAC1B,UAAI,CAACD,UAAL,EAAiB;AACfA,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;;AAED,UAAInB,QAAQ,CAACqB,OAAT,CAAiBC,YAAjB,KAAkC,KAAtC,EAA6C;AAC3C;AACD;;AAED,UACEtB,QAAQ,CAACqB,OAAT,CAAiBC,YAAjB,KAAkC,IAAlC,IACAtB,QAAQ,CAACqB,OAAT,CAAiBlB,iBAFnB,EAGE;AACAH,QAAAA,QAAQ,CAACuB,aAAT;AACD;AACF,KAjBI;AAkBLC,IAAAA,0BAA0B,EAAE,oCAAAC,QAAQ,EAAI;AACtC,UAAMC,QAAQ,GAAG1B,QAAQ,CAAC2B,eAAT,GAA2B,CAA3B,CAAjB;AAEA,UAAMC,KAAK,GAAGF,QAAH,oBAAGA,QAAQ,CAAEG,MAAV,CAAiBJ,QAAjB,CAAd;;AAEA,UAAI,OAAOG,KAAP,KAAiB,QAArB,EAA+B;AAC7B,eAAOE,iCAAgB,CAACC,GAAxB;AACD;;AAED,UAAIC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BP,KAA/B,MAA0C,eAA9C,EAA+D;AAC7D,eAAOE,iCAAgB,CAACM,MAAxB;AACD;;AAED,aAAON,iCAAgB,CAACO,KAAxB;AACD,KAhCI;AAiCLC,IAAAA,sBAAsB,EAAE,gCAAAb,QAAQ,EAAI;AAAA;;AAClC,UAAMnB,MAAM,GAAGN,QAAQ,CAACuC,SAAT,CAAmBd,QAAnB,CAAf;AACA,UAAMe,oBAAoB,GAAGxC,QAAQ,CAACqB,OAAT,CAAiBS,gBAA9C;;AAEA,UAAI,CAACxB,MAAL,EAAa;AACX,cAAM,IAAImC,KAAJ,EAAN;AACD;;AAED,aAAOC,gBAAU,CAACpC,MAAM,CAACV,eAAR,CAAV,GACHU,MAAM,CAACV,eADJ,GAEHU,MAAM,CAACV,eAAP,KAA2B,MAA3B,GACAI,QAAQ,CAAC2C,qBAAT,CAA+BlB,QAA/B,CADA,WAECe,oBAFD,oBAECA,oBAAD,CACElC,MAAM,CAACV,eADT,CAFA,mBAKCkC,iCAAgB,CACfxB,MAAM,CAACV,eADQ,CAPrB;AAUD,KAnDI;AAqDLgD,IAAAA,WAAW,EAAE,qBAAAC,OAAO;AAAA,aAClB7C,QAAQ,CAACqB,OAAT,CAAiBpB,gBADC,oBAClBD,QAAQ,CAACqB,OAAT,CAAiBpB,gBAAjB,CACE4C,OADF,EAEEC,sBAAgB,CAACD,OAAD,EAAU7C,QAAQ,CAAC+C,QAAT,GAAoBjD,QAA9B,CAFlB,CADkB;AAAA,KArDf;AA2DLiB,IAAAA,oBAAoB,EAAE,8BAAAU,QAAQ,EAAI;AAChCzB,MAAAA,QAAQ,CAAC4C,WAAT,CAAqB,UAAAI,GAAG,EAAI;AAC1B;AACA,YAAIA,GAAJ,YAAIA,GAAG,CAAEC,QAAL,CAAcxB,QAAd,CAAJ,EAA6B;AAC3B,iBAAOuB,GAAG,CAACE,MAAJ,CAAW,UAAAC,CAAC;AAAA,mBAAIA,CAAC,KAAK1B,QAAV;AAAA,WAAZ,CAAP;AACD;;AAED,yBAAYuB,GAAZ,WAAYA,GAAZ,GAAmB,EAAnB,GAAwBvB,QAAxB;AACD,OAPD;AAQD,KApEI;AAsELjB,IAAAA,iBAAiB,EAAE,2BAAAiB,QAAQ,EAAI;AAAA;;AAC7B,UAAMnB,MAAM,GAAGN,QAAQ,CAACuC,SAAT,CAAmBd,QAAnB,CAAf;;AAEA,UAAI,CAACnB,MAAL,EAAa;AACX,cAAM,IAAImC,KAAJ,EAAN;AACD;;AAED,wDACEnC,MAAM,CAAC8C,cADT,oCAEEpD,QAAQ,CAACqB,OAAT,CAAiB+B,cAFnB,oBAGE9C,MAAM,CAAC+C,eAHT,oBAIE,CAAC,CAAC/C,MAAM,CAACgD,UAJX;AAMD,KAnFI;AAqFLzC,IAAAA,kBAAkB,EAAE,4BAAAY,QAAQ,EAAI;AAAA;;AAC9B,sCAAOzB,QAAQ,CAAC+C,QAAT,GAAoBjD,QAA3B,qBAAO,sBAA8BmD,QAA9B,CAAuCxB,QAAvC,CAAP;AACD,KAvFI;AAyFLd,IAAAA,qBAAqB,EAAE,+BAAAc,QAAQ;AAAA;;AAAA,uCAC7BzB,QAAQ,CAAC+C,QAAT,GAAoBjD,QADS,qBAC7B,uBAA8ByD,OAA9B,CAAsC9B,QAAtC,CAD6B;AAAA,KAzF1B;AA4FLF,IAAAA,aAAa,EAAE,yBAAM;AAAA;;AACnBvB,MAAAA,QAAQ,CAAC4C,WAAT,oDAAqB5C,QAAQ,CAACwD,YAA9B,qBAAqB,uBAAuB1D,QAA5C,oCAAwD,EAAxD;AACD,KA9FI;AAgGLkB,IAAAA,sBAAsB,EAAE,gCAACS,QAAD,EAAWR,SAAX,EAAyB;AAC/C,UAAMX,MAAM,GAAGN,QAAQ,CAACuC,SAAT,CAAmBd,QAAnB,CAAf;;AAEA,UAAI,CAACnB,MAAL,EAAa;AACX;AACD;;AAED,UAAMmD,QAAQ,GAAGnD,MAAM,CAACC,WAAP,EAAjB;AAEA,UAAMmD,YAAiC,GAAG;AACxCC,QAAAA,KAAK,EAAEF,QAAQ,GAAG,iBAAH,GAAuBG,SADE;AAExCC,QAAAA,OAAO,EAAEJ,QAAQ,GACb,UAACK,CAAD,EAAgC;AAC9BA,UAAAA,CAAC,CAACC,OAAF;AACAzD,UAAAA,MAAM,CAACQ,cAAP,oBAAAR,MAAM,CAACQ,cAAP;AACD,SAJY,GAKb8C;AAPoC,OAA1C;AAUA,aAAOI,gBAAU,CAACN,YAAD,EAAezC,SAAf,CAAjB;AACD,KApHI;AAsHLgD,IAAAA,eAAe,EAAE,yBAAAC,KAAK;AAAA;;AAAA,aAAI,CAAC,sBAAClE,QAAQ,CAACmE,MAAT,CAAgBD,KAAhB,CAAD,aAAC,iBAAwBE,gBAAzB,CAAL;AAAA,KAtHjB;AAwHLC,IAAAA,kBAAkB,EAAEC,UAAI,CACtB;AAAA,aAAM,CACJtE,QAAQ,CAAC+C,QAAT,GAAoBjD,QADhB,EAEJE,QAAQ,CAACuE,iBAAT,EAFI,EAGJvE,QAAQ,CAACqB,OAAT,CAAiBmD,WAHb,CAAN;AAAA,KADsB,EAMtB,UAAC1E,QAAD,EAAW2E,QAAX,EAAqBD,WAArB,EAAqC;AACnC,UAAI,CAACA,WAAD,IAAgB,CAAC1E,QAAQ,CAAC4E,MAA9B,EAAsC;AACpC,eAAOD,QAAP;AACD;;AAED,UAAIE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC7E,QAAQ,CAACqB,OAAT,CAAiByD,KAA9D,EACEC,OAAO,CAACC,IAAR,CAAa,aAAb;AAEF,aAAOR,WAAW,CAACxE,QAAD,EAAWyE,QAAX,CAAlB;AACD,KAfqB,EAgBtB;AACEQ,MAAAA,GAAG,EAAE,oBADP;AAEEH,MAAAA,KAAK,EAAE9E,QAAQ,CAACqB,OAAT,CAAiByD,KAF1B;AAGEI,MAAAA,QAAQ,EAAE;AAAA,eAAMlF,QAAQ,CAACmF,oBAAT,EAAN;AAAA;AAHZ,KAhBsB,CAxHnB;AA+ILC,IAAAA,iBAAiB,EAAE;AAAA,aAAMpF,QAAQ,CAACuE,iBAAT,GAA6Bc,IAAnC;AAAA,KA/Id;AAgJLC,IAAAA,qBAAqB,EAAE;AAAA,aAAMtF,QAAQ,CAACuE,iBAAT,GAA6BgB,QAAnC;AAAA,KAhJlB;AAiJLC,IAAAA,qBAAqB,EAAE;AAAA,aAAMxF,QAAQ,CAACuE,iBAAT,GAA6BkB,QAAnC;AAAA,KAjJlB;AAkJLC,IAAAA,cAAc,EAAE;AAAA,aAAM1F,QAAQ,CAACqE,kBAAT,GAA8BgB,IAApC;AAAA,KAlJX;AAmJLM,IAAAA,kBAAkB,EAAE;AAAA,aAAM3F,QAAQ,CAACqE,kBAAT,GAA8BkB,QAApC;AAAA,KAnJf;AAoJLK,IAAAA,kBAAkB,EAAE;AAAA,aAAM5F,QAAQ,CAACqE,kBAAT,GAA8BoB,QAApC;AAAA;AApJf,GAAP;AAsJD;AAEM,SAASI,SAAT,CAOLC,GAPK,EAQL9F,QARK,EASQ;AACb,SAAO;AACLY,IAAAA,YAAY,EAAE;AAAA,aAAMZ,QAAQ,CAACiE,eAAT,CAAyB6B,GAAG,CAACrF,EAA7B,CAAN;AAAA;AADT,GAAP;AAGD;AAEM,SAASsF,UAAT,CAOLC,IAPK,EASL1F,MATK,EAULwF,GAVK,EAWLG,SAXK,EAYS;AACd,SAAO;AACLrF,IAAAA,YAAY,EAAE;AAAA,aACZN,MAAM,CAACM,YAAP,MAAyBN,MAAM,CAACG,EAAP,KAAcqF,GAAG,CAAC1B,gBAD/B;AAAA,KADT;AAGL8B,IAAAA,gBAAgB,EAAE;AAAA,aAAM,CAACF,IAAI,CAACpF,YAAL,EAAD,IAAwBN,MAAM,CAACM,YAAP,EAA9B;AAAA,KAHb;AAILuF,IAAAA,eAAe,EAAE;AAAA;;AAAA,aACf,CAACH,IAAI,CAACpF,YAAL,EAAD,IACA,CAACoF,IAAI,CAACE,gBAAL,EADD,IAEA,iBAAAJ,GAAG,CAACM,OAAJ,kCAAa1B,MAAb,IAAsB,CAHP;AAAA;AAJZ,GAAP;AASD;AAEM,SAAS2B,YAAT,CAOLC,WAPK,EAcLxG,QAdK,EAeLM,iBAfK,EAgBL;AACA,MAAI,EAACN,QAAD,YAACA,QAAQ,CAAE4E,MAAX,KAAqB,CAACtE,iBAA1B,EAA6C;AAC3C,WAAOkG,WAAP;AACD;;AAED,MAAMC,kBAAkB,GAAGD,WAAW,CAACpD,MAAZ,CACzB,UAAAsD,GAAG;AAAA,WAAI,CAAC1G,QAAQ,CAACmD,QAAT,CAAkBuD,GAAG,CAAC/F,EAAtB,CAAL;AAAA,GADsB,CAA3B;;AAIA,MAAIL,iBAAiB,KAAK,QAA1B,EAAoC;AAClC,WAAOmG,kBAAP;AACD;;AAED,MAAME,eAAe,GAAG3G,QAAQ,CAC7B4G,GADqB,CACjB,UAAAC,CAAC;AAAA,WAAIL,WAAW,CAACM,IAAZ,CAAiB,UAAAJ,GAAG;AAAA,aAAIA,GAAG,CAAC/F,EAAJ,KAAWkG,CAAf;AAAA,KAApB,CAAJ;AAAA,GADgB,EAErBzD,MAFqB,CAEd2D,OAFc,CAAxB;AAIA,mBAAWJ,eAAX,EAA+BF,kBAA/B;AACD;;;;;;;;;;;"}
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 TableInstance,\n Row,\n Updater,\n PartialGenerics,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n propGetter,\n} from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends PartialGenerics> = (\n leafValues: TGenerics['Row'][],\n childValues: TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationTypes<TGenerics extends PartialGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationType<TGenerics extends PartialGenerics> =\n | 'auto'\n | BuiltInAggregationType\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends PartialGenerics> = {\n aggregationType?: AggregationType<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n renderAggregatedCell?: () => React.ReactNode\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends PartialGenerics> = {\n aggregationType?: AggregationType<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell = {\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<TGenerics extends PartialGenerics> = {\n aggregationTypes?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n groupRowsFn?: (\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n ) => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type ToggleGroupingProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type GroupingInstance<TGenerics extends PartialGenerics> = {\n _notifyGroupingReset: () => void\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n getRowIsGrouped: (rowId: string) => boolean\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport function getDefaultColumn<\n TGenerics extends PartialGenerics\n>(): GroupingColumnDef<TGenerics> {\n return {\n aggregationType: 'auto',\n }\n}\n\nexport function getInitialState(): GroupingTableState {\n return {\n grouping: [],\n }\n}\n\nexport function getDefaultOptions<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): GroupingOptions<TGenerics> {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n autoResetGrouping: true,\n groupedColumnMode: 'reorder',\n }\n}\n\nexport function createColumn<TGenerics extends PartialGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n): GroupingColumn<TGenerics> {\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<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): GroupingInstance<TGenerics> {\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.getCoreRowModel().flatRows[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<TGenerics>)\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 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 getPreGroupedRowModel: () => instance.getSortedRowModel(),\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 return groupRowsFn(instance, rowModel)\n },\n {\n key: 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => instance._notifyExpandedReset(),\n }\n ),\n }\n}\n\nexport function createRow<TGenerics extends PartialGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n): GroupingRow {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n}\n\nexport function createCell<TGenerics extends PartialGenerics>(\n cell: Cell<TGenerics> & GroupingCell,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n _instance: TableInstance<TGenerics>\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<TGenerics extends PartialGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n) {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"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","getCoreRowModel","flatRows","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","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","memo","groupRowsFn","rowModel","length","key","debug","debugAll","debugTable","onChange","_notifyExpandedReset","createRow","row","createCell","cell","_instance","getIsPlaceholder","getIsAggregated","subRows","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
@@ -13,6 +13,7 @@
13
13
  Object.defineProperty(exports, '__esModule', { value: true });
14
14
 
15
15
  var utils = require('../utils.js');
16
+ var ColumnSizing = require('./ColumnSizing.js');
16
17
 
17
18
  //
18
19
  function createRow(row, instance) {
@@ -29,7 +30,11 @@ function createRow(row, instance) {
29
30
  });
30
31
  }, {
31
32
  key: 'row._getAllVisibleCells',
32
- debug: instance.options.debug
33
+ debug: function debug() {
34
+ var _instance$options$deb;
35
+
36
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
37
+ }
33
38
  }),
34
39
  getVisibleCells: utils.memo(function () {
35
40
  return [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()];
@@ -37,7 +42,11 @@ function createRow(row, instance) {
37
42
  return [].concat(left, center, right);
38
43
  }, {
39
44
  key: 'row.getVisibleCells',
40
- debug: instance.options.debug
45
+ debug: function debug() {
46
+ var _instance$options$deb2;
47
+
48
+ return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
49
+ }
41
50
  }),
42
51
  getCenterVisibleCells: utils.memo(function () {
43
52
  return [row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
@@ -48,7 +57,11 @@ function createRow(row, instance) {
48
57
  });
49
58
  }, {
50
59
  key: 'row.getCenterVisibleCells',
51
- debug: instance.options.debug
60
+ debug: function debug() {
61
+ var _instance$options$deb3;
62
+
63
+ return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugRows;
64
+ }
52
65
  }),
53
66
  getLeftVisibleCells: utils.memo(function () {
54
67
  return [row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
@@ -61,7 +74,11 @@ function createRow(row, instance) {
61
74
  return cells;
62
75
  }, {
63
76
  key: 'row.getLeftVisibleCells',
64
- debug: instance.options.debug
77
+ debug: function debug() {
78
+ var _instance$options$deb4;
79
+
80
+ return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugRows;
81
+ }
65
82
  }),
66
83
  getRightVisibleCells: utils.memo(function () {
67
84
  return [row._getAllVisibleCells(), instance.getState().columnPinning.right];
@@ -74,7 +91,11 @@ function createRow(row, instance) {
74
91
  return cells;
75
92
  }, {
76
93
  key: 'row.getRightVisibleCells',
77
- debug: instance.options.debug
94
+ debug: function debug() {
95
+ var _instance$options$deb5;
96
+
97
+ return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugRows;
98
+ }
78
99
  })
79
100
  };
80
101
  }
@@ -143,9 +164,9 @@ function getInstance(instance) {
143
164
  column: column
144
165
  });
145
166
  }
146
- }; // Yes, we have to convert instance to uknown, because we know more than the compiler here.
167
+ }; // Yes, we have to convert instance to unknown, because we know more than the compiler here.
147
168
 
148
- return header;
169
+ return Object.assign(header, ColumnSizing.createHeader(header, instance));
149
170
  },
150
171
  // Header Groups
151
172
  getHeaderGroups: utils.memo(function () {
@@ -164,7 +185,11 @@ function getInstance(instance) {
164
185
  return headerGroups;
165
186
  }, {
166
187
  key: 'getHeaderGroups',
167
- debug: instance.options.debug
188
+ debug: function debug() {
189
+ var _instance$options$deb6;
190
+
191
+ return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugHeaders;
192
+ }
168
193
  }),
169
194
  getCenterHeaderGroups: utils.memo(function () {
170
195
  return [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
@@ -175,7 +200,11 @@ function getInstance(instance) {
175
200
  return buildHeaderGroups(allColumns, leafColumns, instance, 'center');
176
201
  }, {
177
202
  key: 'getCenterHeaderGroups',
178
- debug: instance.options.debug
203
+ debug: function debug() {
204
+ var _instance$options$deb7;
205
+
206
+ return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugHeaders;
207
+ }
179
208
  }),
180
209
  getLeftHeaderGroups: utils.memo(function () {
181
210
  return [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left];
@@ -186,7 +215,11 @@ function getInstance(instance) {
186
215
  return buildHeaderGroups(allColumns, leafColumns, instance, 'left');
187
216
  }, {
188
217
  key: 'getLeftHeaderGroups',
189
- debug: instance.options.debug
218
+ debug: function debug() {
219
+ var _instance$options$deb8;
220
+
221
+ return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugHeaders;
222
+ }
190
223
  }),
191
224
  getRightHeaderGroups: utils.memo(function () {
192
225
  return [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.right];
@@ -197,7 +230,11 @@ function getInstance(instance) {
197
230
  return buildHeaderGroups(allColumns, leafColumns, instance, 'right');
198
231
  }, {
199
232
  key: 'getRightHeaderGroups',
200
- debug: instance.options.debug
233
+ debug: function debug() {
234
+ var _instance$options$deb9;
235
+
236
+ return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugHeaders;
237
+ }
201
238
  }),
202
239
  // Footer Groups
203
240
  getFooterGroups: utils.memo(function () {
@@ -206,7 +243,11 @@ function getInstance(instance) {
206
243
  return [].concat(headerGroups).reverse();
207
244
  }, {
208
245
  key: 'getFooterGroups',
209
- debug: instance.options.debug
246
+ debug: function debug() {
247
+ var _instance$options$deb10;
248
+
249
+ return (_instance$options$deb10 = instance.options.debugAll) != null ? _instance$options$deb10 : instance.options.debugHeaders;
250
+ }
210
251
  }),
211
252
  getLeftFooterGroups: utils.memo(function () {
212
253
  return [instance.getLeftHeaderGroups()];
@@ -214,7 +255,11 @@ function getInstance(instance) {
214
255
  return [].concat(headerGroups).reverse();
215
256
  }, {
216
257
  key: 'getLeftFooterGroups',
217
- debug: instance.options.debug
258
+ debug: function debug() {
259
+ var _instance$options$deb11;
260
+
261
+ return (_instance$options$deb11 = instance.options.debugAll) != null ? _instance$options$deb11 : instance.options.debugHeaders;
262
+ }
218
263
  }),
219
264
  getCenterFooterGroups: utils.memo(function () {
220
265
  return [instance.getCenterHeaderGroups()];
@@ -222,7 +267,11 @@ function getInstance(instance) {
222
267
  return [].concat(headerGroups).reverse();
223
268
  }, {
224
269
  key: 'getCenterFooterGroups',
225
- debug: instance.options.debug
270
+ debug: function debug() {
271
+ var _instance$options$deb12;
272
+
273
+ return (_instance$options$deb12 = instance.options.debugAll) != null ? _instance$options$deb12 : instance.options.debugHeaders;
274
+ }
226
275
  }),
227
276
  getRightFooterGroups: utils.memo(function () {
228
277
  return [instance.getRightHeaderGroups()];
@@ -230,7 +279,11 @@ function getInstance(instance) {
230
279
  return [].concat(headerGroups).reverse();
231
280
  }, {
232
281
  key: 'getRightFooterGroups',
233
- debug: instance.options.debug
282
+ debug: function debug() {
283
+ var _instance$options$deb13;
284
+
285
+ return (_instance$options$deb13 = instance.options.debugAll) != null ? _instance$options$deb13 : instance.options.debugHeaders;
286
+ }
234
287
  }),
235
288
  // Flat Headers
236
289
  getFlatHeaders: utils.memo(function () {
@@ -241,7 +294,11 @@ function getInstance(instance) {
241
294
  }).flat();
242
295
  }, {
243
296
  key: 'getFlatHeaders',
244
- debug: instance.options.debug
297
+ debug: function debug() {
298
+ var _instance$options$deb14;
299
+
300
+ return (_instance$options$deb14 = instance.options.debugAll) != null ? _instance$options$deb14 : instance.options.debugHeaders;
301
+ }
245
302
  }),
246
303
  getLeftFlatHeaders: utils.memo(function () {
247
304
  return [instance.getLeftHeaderGroups()];
@@ -251,7 +308,11 @@ function getInstance(instance) {
251
308
  }).flat();
252
309
  }, {
253
310
  key: 'getLeftFlatHeaders',
254
- debug: instance.options.debug
311
+ debug: function debug() {
312
+ var _instance$options$deb15;
313
+
314
+ return (_instance$options$deb15 = instance.options.debugAll) != null ? _instance$options$deb15 : instance.options.debugHeaders;
315
+ }
255
316
  }),
256
317
  getCenterFlatHeaders: utils.memo(function () {
257
318
  return [instance.getCenterHeaderGroups()];
@@ -261,7 +322,11 @@ function getInstance(instance) {
261
322
  }).flat();
262
323
  }, {
263
324
  key: 'getCenterFlatHeaders',
264
- debug: instance.options.debug
325
+ debug: function debug() {
326
+ var _instance$options$deb16;
327
+
328
+ return (_instance$options$deb16 = instance.options.debugAll) != null ? _instance$options$deb16 : instance.options.debugHeaders;
329
+ }
265
330
  }),
266
331
  getRightFlatHeaders: utils.memo(function () {
267
332
  return [instance.getRightHeaderGroups()];
@@ -271,7 +336,11 @@ function getInstance(instance) {
271
336
  }).flat();
272
337
  }, {
273
338
  key: 'getRightFlatHeaders',
274
- debug: instance.options.debug
339
+ debug: function debug() {
340
+ var _instance$options$deb17;
341
+
342
+ return (_instance$options$deb17 = instance.options.debugAll) != null ? _instance$options$deb17 : instance.options.debugHeaders;
343
+ }
275
344
  }),
276
345
  // Leaf Headers
277
346
  getCenterLeafHeaders: utils.memo(function () {
@@ -284,7 +353,11 @@ function getInstance(instance) {
284
353
  });
285
354
  }, {
286
355
  key: 'getCenterLeafHeaders',
287
- debug: instance.options.debug
356
+ debug: function debug() {
357
+ var _instance$options$deb18;
358
+
359
+ return (_instance$options$deb18 = instance.options.debugAll) != null ? _instance$options$deb18 : instance.options.debugHeaders;
360
+ }
288
361
  }),
289
362
  getLeftLeafHeaders: utils.memo(function () {
290
363
  return [instance.getLeftFlatHeaders()];
@@ -296,7 +369,11 @@ function getInstance(instance) {
296
369
  });
297
370
  }, {
298
371
  key: 'getLeftLeafHeaders',
299
- debug: instance.options.debug
372
+ debug: function debug() {
373
+ var _instance$options$deb19;
374
+
375
+ return (_instance$options$deb19 = instance.options.debugAll) != null ? _instance$options$deb19 : instance.options.debugHeaders;
376
+ }
300
377
  }),
301
378
  getRightLeafHeaders: utils.memo(function () {
302
379
  return [instance.getRightFlatHeaders()];
@@ -308,7 +385,11 @@ function getInstance(instance) {
308
385
  });
309
386
  }, {
310
387
  key: 'getRightLeafHeaders',
311
- debug: instance.options.debug
388
+ debug: function debug() {
389
+ var _instance$options$deb20;
390
+
391
+ return (_instance$options$deb20 = instance.options.debugAll) != null ? _instance$options$deb20 : instance.options.debugHeaders;
392
+ }
312
393
  }),
313
394
  getLeafHeaders: utils.memo(function () {
314
395
  return [instance.getLeftHeaderGroups(), instance.getCenterHeaderGroups(), instance.getRightHeaderGroups()];
@@ -320,7 +401,11 @@ function getInstance(instance) {
320
401
  }).flat();
321
402
  }, {
322
403
  key: 'getLeafHeaders',
323
- debug: instance.options.debug
404
+ debug: function debug() {
405
+ var _instance$options$deb21;
406
+
407
+ return (_instance$options$deb21 = instance.options.debugAll) != null ? _instance$options$deb21 : instance.options.debugHeaders;
408
+ }
324
409
  }),
325
410
  getHeader: function getHeader(id) {
326
411
  var header = [].concat(instance.getFlatHeaders(), instance.getCenterFlatHeaders(), instance.getLeftFlatHeaders(), instance.getRightFlatHeaders()).find(function (d) {
@@ -383,11 +468,6 @@ function getInstance(instance) {
383
468
  },
384
469
  getFooterProps: function getFooterProps(id, userProps) {
385
470
  var header = instance.getHeader(id);
386
-
387
- if (!header) {
388
- return;
389
- }
390
-
391
471
  var initialProps = {
392
472
  key: header.id,
393
473
  role: 'columnfooter',