@tanstack/table-core 8.0.0-alpha.65 → 8.0.0-alpha.67

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 (84) hide show
  1. package/build/cjs/core.js +0 -2
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/features/Cells.js +1 -1
  4. package/build/cjs/features/Cells.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +65 -140
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Columns.js +5 -5
  8. package/build/cjs/features/Columns.js.map +1 -1
  9. package/build/cjs/features/Expanding.js +49 -87
  10. package/build/cjs/features/Expanding.js.map +1 -1
  11. package/build/cjs/features/Filters.js +89 -145
  12. package/build/cjs/features/Filters.js.map +1 -1
  13. package/build/cjs/features/Grouping.js +30 -58
  14. package/build/cjs/features/Grouping.js.map +1 -1
  15. package/build/cjs/features/Headers.js +16 -40
  16. package/build/cjs/features/Headers.js.map +1 -1
  17. package/build/cjs/features/Ordering.js +1 -1
  18. package/build/cjs/features/Ordering.js.map +1 -1
  19. package/build/cjs/features/Pagination.js +1 -1
  20. package/build/cjs/features/Pagination.js.map +1 -1
  21. package/build/cjs/features/Pinning.js +70 -95
  22. package/build/cjs/features/Pinning.js.map +1 -1
  23. package/build/cjs/features/RowSelection.js +60 -112
  24. package/build/cjs/features/RowSelection.js.map +1 -1
  25. package/build/cjs/features/Sorting.js +33 -83
  26. package/build/cjs/features/Sorting.js.map +1 -1
  27. package/build/cjs/features/Visibility.js +16 -39
  28. package/build/cjs/features/Visibility.js.map +1 -1
  29. package/build/cjs/utils/getCoreRowModelAsync.js +1 -1
  30. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  31. package/build/cjs/utils/getCoreRowModelSync.js +1 -1
  32. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  33. package/build/cjs/utils/getExpandedRowModel.js +2 -2
  34. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  35. package/build/cjs/utils/getFilteredRowModelSync.js +64 -69
  36. package/build/cjs/utils/getFilteredRowModelSync.js.map +1 -1
  37. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  38. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  39. package/build/cjs/utils/getPaginationRowModel.js +1 -1
  40. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  41. package/build/cjs/utils/getSortedRowModelSync.js +3 -3
  42. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  43. package/build/esm/index.js +546 -924
  44. package/build/esm/index.js.map +1 -1
  45. package/build/stats-html.html +1 -1
  46. package/build/stats-react.json +354 -354
  47. package/build/types/features/ColumnSizing.d.ts +2 -13
  48. package/build/types/features/Expanding.d.ts +1 -6
  49. package/build/types/features/Filters.d.ts +12 -14
  50. package/build/types/features/Grouping.d.ts +0 -7
  51. package/build/types/features/Pinning.d.ts +0 -4
  52. package/build/types/features/RowSelection.d.ts +1 -7
  53. package/build/types/features/Sorting.d.ts +3 -14
  54. package/build/types/features/Visibility.d.ts +0 -4
  55. package/build/types/types.d.ts +0 -2
  56. package/build/umd/index.development.js +534 -912
  57. package/build/umd/index.development.js.map +1 -1
  58. package/build/umd/index.production.js +1 -1
  59. package/build/umd/index.production.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/core.ts +0 -2
  62. package/src/features/Cells.ts +1 -1
  63. package/src/features/ColumnSizing.ts +67 -125
  64. package/src/features/Columns.ts +6 -5
  65. package/src/features/Expanding.ts +58 -105
  66. package/src/features/Filters.ts +122 -172
  67. package/src/features/Grouping.ts +36 -60
  68. package/src/features/Headers.ts +18 -40
  69. package/src/features/Ordering.ts +1 -1
  70. package/src/features/Pagination.ts +1 -1
  71. package/src/features/Pinning.ts +66 -89
  72. package/src/features/RowSelection.ts +63 -115
  73. package/src/features/Sorting.ts +36 -94
  74. package/src/features/Visibility.ts +19 -49
  75. package/src/types.ts +0 -2
  76. package/src/utils/getCoreRowModelAsync.ts +1 -1
  77. package/src/utils/getCoreRowModelSync.ts +1 -1
  78. package/src/utils/getExpandedRowModel.ts +2 -2
  79. package/src/utils/getFilteredRowModelAsync.ts +118 -10
  80. package/src/utils/getFilteredRowModelSync.ts +95 -104
  81. package/src/utils/getGroupedRowModel.ts +1 -1
  82. package/src/utils/getPaginationRowModel.ts +1 -1
  83. package/src/utils/getSortedRowModelAsync.ts +1 -1
  84. package/src/utils/getSortedRowModelSync.ts +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterFn, filterFns } from '../filterFns'\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n TableFeature,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\nimport { filterRows } from '../utils/filterRowsUtils'\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n columnFiltersProgress: number\n globalFilterProgress: number\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type FilterFn<TGenerics extends TableGenerics> = {\n (row: Row<TGenerics>, columnId: string, filterValue: any): boolean\n resolveFilterValue?: TransformFilterValueFn<TGenerics>\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type TransformFilterValueFn<TGenerics extends TableGenerics> = (\n value: any,\n column?: Column<TGenerics>\n) => unknown\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends TableGenerics> = (\n value: any,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends TableGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends TableGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n enableFaceting?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends TableGenerics> = {\n filterFn: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getColumnIsFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (updater: Updater<any>) => void\n getFacetedRowModel: () => RowModel<TGenerics>\n getFacetedUniqueValues: () => Map<any, number>\n getFacetedMinMaxValues: () => [any, any]\n}\n\nexport type FiltersRow<TGenerics extends TableGenerics> = {\n columnFilterMap: Record<string, boolean>\n subRowsByFacetId: Record<string, Row<TGenerics>[]>\n}\n\nexport type FiltersOptions<TGenerics extends TableGenerics> = {\n enableFilters?: boolean\n manualFiltering?: boolean\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n enableColumnFilters?: boolean\n getFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n // Global\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilter?: boolean\n getColumnCanGlobalFilter?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends TableGenerics> = {\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, updater: Updater<any>) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n getColumnFacetedRowModel: (columnId: string) => RowModel<TGenerics>\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // Column Filters\n getPreFilteredRowModel: () => RowModel<TGenerics>\n getFilteredRowModel: () => RowModel<TGenerics>\n _getFilteredRowModel?: () => 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 getGlobalFacetedRowModel: () => RowModel<TGenerics>\n getGlobalFacetedUniqueValues: () => Map<any, number>\n getGlobalFacetedMinMaxValues: () => [number, number]\n}\n\n//\n\nexport const Filters: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (state): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n filterFromLeafRows: true,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n return {\n filterFn: column.filterFn,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getColumnIsFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val =>\n instance.setColumnFilterValue(column.id, val),\n getFacetedRowModel: memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n // Include this to force the filtered facet info to be calculated\n instance.getFilteredRowModel(),\n ],\n (rowModel, columnFilters, globalFilter, _) => {\n if (!columnFilters?.length && !globalFilter) {\n return rowModel\n }\n\n return filterRows(\n rowModel.rows,\n [\n ...columnFilters.map(d => d.id).filter(d => d !== column.id),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as string[],\n instance\n )\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getFacetedRowModel_' + column.id,\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getFacetedUniqueValues: memo(\n () => [column.getFacetedRowModel()],\n facetedRowModel => getRowModelUniqueValues(facetedRowModel, column.id),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'column.getFacetedUniqueValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getFacetedMinMaxValues: memo(\n () => [column.getFacetedRowModel()],\n facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'column.getFacetedMinMaxValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersRow<TGenerics> => {\n return {\n columnFilterMap: {},\n subRowsByFacetId: {},\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n return {\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 filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.inNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns.arrIncludes\n }\n\n return filterFns.weakEquals\n },\n getColumnFacetedRowModel: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return column.getFacetedRowModel()\n },\n getGlobalAutoFilterFn: () => {\n return filterFns.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterFns = instance.options.filterFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterFn)\n ? column.filterFn\n : column.filterFn === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterFns as Record<string, any>)?.[\n column.filterFn as string\n ] ??\n (filterFns[\n column.filterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n getGlobalFilterFn: () => {\n const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =\n instance.options\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n globalFilterFn as string\n ] ??\n (filterFns[\n globalFilterFn as BuiltInFilterFn\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?.(updateFn)\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(updater)\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(instance.initialState.globalFilter)\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.enableColumnFilter ?? true) &&\n (instance.options.enableColumnFilters ?? true) &&\n (instance.options.enableFilters ?? true) &&\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 (column.enableGlobalFilter ?? true) &&\n (instance.options.enableGlobalFilter ?? true) &&\n (instance.options.enableFilters ?? true) &&\n (instance.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\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 `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 getFilteredRowModel: () => {\n if (\n !instance._getFilteredRowModel &&\n instance.options.getFilteredRowModel\n ) {\n instance._getFilteredRowModel =\n instance.options.getFilteredRowModel(instance)\n }\n\n if (\n instance.options.manualFiltering ||\n !instance._getFilteredRowModel\n ) {\n return instance.getPreFilteredRowModel()\n }\n\n return instance._getFilteredRowModel()\n },\n\n getGlobalFacetedRowModel: memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n // Include this to force the filtered facet info to be calculated\n instance.getFilteredRowModel(),\n ],\n (rowModel, columnFilters, globalFilter, _) => {\n if (!columnFilters?.length && !globalFilter) {\n return rowModel\n }\n\n return filterRows(\n rowModel.rows,\n columnFilters.map(d => d.id),\n instance\n )\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'getGlobalFacetedRowModel',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getGlobalFacetedUniqueValues: memo(\n () => [instance.getGlobalFacetedRowModel()],\n facetedRowModel =>\n getRowModelUniqueValues(facetedRowModel, '__global__'),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getGlobalFacetedUniqueValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getGlobalFacetedMinMaxValues: memo(\n () => [instance.getGlobalFacetedRowModel()],\n facetedRowModel =>\n getRowModelMinMaxValues(facetedRowModel, '__global__'),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getGlobalFacetedMinMaxValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(\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\nexport function getRowModelMinMaxValues<TGenerics extends TableGenerics>(\n rowModel: RowModel<TGenerics>,\n columnId: string\n) {\n let facetedMinMaxValues: [any, any] = [\n rowModel.flatRows[0]?.values[columnId] ?? null,\n rowModel.flatRows[0]?.values[columnId] ?? null,\n ]\n\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n const value = rowModel.flatRows[i]?.values[columnId]\n\n if (value < facetedMinMaxValues[0]) {\n facetedMinMaxValues[0] = value\n } else if (value > facetedMinMaxValues[1]) {\n facetedMinMaxValues[1] = value\n }\n }\n\n return facetedMinMaxValues\n}\n\nexport function getRowModelUniqueValues<TGenerics extends TableGenerics>(\n rowModel: RowModel<TGenerics>,\n columnId: string\n) {\n let facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n const value = rowModel.flatRows[i]?.values[columnId]\n\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1)\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n\n return facetedUniqueValues\n}\n"],"names":["Filters","getDefaultColumn","filterFn","getInitialState","state","_extends","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","filterFromLeafRows","globalFilterFn","getColumnCanGlobalFilter","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnFilterIndex","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getFacetedRowModel","memo","getPreFilteredRowModel","getState","getFilteredRowModel","rowModel","_","length","filterRows","rows","map","d","filter","Boolean","key","process","env","NODE_ENV","debug","options","debugAll","debugColumns","getFacetedUniqueValues","facetedRowModel","getRowModelUniqueValues","getFacetedMinMaxValues","getRowModelMinMaxValues","createRow","row","columnFilterMap","subRowsByFacetId","createInstance","getColumnAutoFilterFn","columnId","firstRow","values","filterFns","includesString","inNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getColumnFacetedRowModel","getColumn","Error","getGlobalAutoFilterFn","getColumnFilterFn","userFilterFns","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","find","shouldAutoRemoveFilter","setGlobalFilter","resetGlobalFilter","initialState","enableColumnFilter","enableColumnFilters","enableFilters","accessorFn","enableGlobalFilter","findIndex","console","warn","previousfilter","newFilter","newFilterObj","resetColumnFilters","_getFilteredRowModel","manualFiltering","getGlobalFacetedRowModel","getGlobalFacetedUniqueValues","getGlobalFacetedMinMaxValues","autoRemove","facetedMinMaxValues","i","facetedUniqueValues","Map","has","set","get"],"mappings":"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"}
1
+ {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterFn, filterFns } from '../filterFns'\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n TableFeature,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\nimport { filterRows } from '../utils/filterRowsUtils'\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n columnFiltersProgress: number\n globalFilterProgress: number\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ResolvedColumnFilter<TGenerics extends TableGenerics> = {\n id: string\n resolvedValue: unknown\n filterFn: FilterFn<TGenerics>\n}\n\nexport type FilterFn<TGenerics extends TableGenerics> = {\n (row: Row<TGenerics>, columnId: string, filterValue: any): boolean\n resolveFilterValue?: TransformFilterValueFn<TGenerics>\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type TransformFilterValueFn<TGenerics extends TableGenerics> = (\n value: any,\n column?: Column<TGenerics>\n) => unknown\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends TableGenerics> = (\n value: any,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends TableGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends TableGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n enableFaceting?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends TableGenerics> = {\n filterFn: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n getAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getFilterFn: () => FilterFn<TGenerics> | undefined\n setFilterValue: (updater: Updater<any>) => void\n getCanFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getFacetedRowModel: () => RowModel<TGenerics>\n getIsFiltered: () => boolean\n getFilterValue: () => unknown\n getFilterIndex: () => number\n getFacetedUniqueValues: () => Map<any, number>\n getFacetedMinMaxValues: () => [any, any]\n}\n\nexport type FiltersRow<TGenerics extends TableGenerics> = {\n columnFilterMap: Record<string, boolean>\n subRowsByFacetId: Record<string, Row<TGenerics>[]>\n}\n\nexport type FiltersOptions<TGenerics extends TableGenerics> = {\n enableFilters?: boolean\n manualFiltering?: boolean\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n enableColumnFilters?: boolean\n getFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n // Global\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilter?: boolean\n getColumnCanGlobalFilter?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends TableGenerics> = {\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n\n resetColumnFilters: () => void\n\n // Column Filters\n getPreFilteredRowModel: () => RowModel<TGenerics>\n getFilteredRowModel: () => RowModel<TGenerics>\n _getFilteredRowModel?: () => 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\n getGlobalFacetedRowModel: () => RowModel<TGenerics>\n getGlobalFacetedUniqueValues: () => Map<any, number>\n getGlobalFacetedMinMaxValues: () => [number, number]\n}\n\n//\n\nexport const Filters: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (state): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n filterFromLeafRows: true,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n return {\n filterFn: column.filterFn,\n getAutoFilterFn: () => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[column.id]\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.inNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns.arrIncludes\n }\n\n return filterFns.weakEquals\n },\n getFilterFn: () => {\n const userFilterFns = instance.options.filterFns\n\n return isFunction(column.filterFn)\n ? column.filterFn\n : column.filterFn === 'auto'\n ? column.getAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n column.filterFn as string\n ] ??\n (filterFns[\n column.filterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n getCanFilter: () => {\n return (\n (column.enableColumnFilter ?? true) &&\n (instance.options.enableColumnFilters ?? true) &&\n (instance.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n },\n\n getCanGlobalFilter: () => {\n return (\n (column.enableGlobalFilter ?? true) &&\n (instance.options.enableGlobalFilter ?? true) &&\n (instance.options.enableFilters ?? true) &&\n (instance.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\n )\n },\n\n getIsFiltered: () => column.getFilterIndex() > -1,\n\n getFilterValue: () =>\n instance.getState().columnFilters?.find(d => d.id === column.id)?.value,\n\n getFilterIndex: () =>\n instance.getState().columnFilters?.findIndex(d => d.id === column.id) ??\n -1,\n\n setFilterValue: value => {\n instance.setColumnFilters(old => {\n const filterFn = column.getFilterFn()\n const previousfilter = old?.find(d => d.id === column.id)\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 !== column.id) ?? []\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === column.id) {\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 getFacetedRowModel: memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n // Include this to force the filtered facet info to be calculated\n instance.getFilteredRowModel(),\n ],\n (rowModel, columnFilters, globalFilter, _) => {\n if (!columnFilters?.length && !globalFilter) {\n return rowModel\n }\n\n return filterRows(\n rowModel.rows,\n [\n ...columnFilters.map(d => d.id).filter(d => d !== column.id),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as string[],\n instance\n )\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getFacetedRowModel_' + column.id,\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getFacetedUniqueValues: memo(\n () => [column.getFacetedRowModel()],\n facetedRowModel => getRowModelUniqueValues(facetedRowModel, column.id),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'column.getFacetedUniqueValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getFacetedMinMaxValues: memo(\n () => [column.getFacetedRowModel()],\n facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'column.getFacetedMinMaxValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersRow<TGenerics> => {\n return {\n columnFilterMap: {},\n subRowsByFacetId: {},\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n return {\n getGlobalAutoFilterFn: () => {\n return filterFns.includesString\n },\n\n getGlobalFilterFn: () => {\n const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =\n instance.options\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n globalFilterFn as string\n ] ??\n (filterFns[\n globalFilterFn as BuiltInFilterFn\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 = column.getFilterFn()\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(updateFn)\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(updater)\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(instance.initialState.globalFilter)\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n getFilteredRowModel: () => {\n if (\n !instance._getFilteredRowModel &&\n instance.options.getFilteredRowModel\n ) {\n instance._getFilteredRowModel =\n instance.options.getFilteredRowModel(instance)\n }\n\n if (\n instance.options.manualFiltering ||\n !instance._getFilteredRowModel\n ) {\n return instance.getPreFilteredRowModel()\n }\n\n return instance._getFilteredRowModel()\n },\n\n getGlobalFacetedRowModel: memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n // Include this to force the filtered facet info to be calculated\n instance.getFilteredRowModel(),\n ],\n (rowModel, columnFilters, globalFilter, _) => {\n if (!columnFilters?.length && !globalFilter) {\n return rowModel\n }\n\n return filterRows(\n rowModel.rows,\n columnFilters.map(d => d.id),\n instance\n )\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'getGlobalFacetedRowModel',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getGlobalFacetedUniqueValues: memo(\n () => [instance.getGlobalFacetedRowModel()],\n facetedRowModel =>\n getRowModelUniqueValues(facetedRowModel, '__global__'),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getGlobalFacetedUniqueValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getGlobalFacetedMinMaxValues: memo(\n () => [instance.getGlobalFacetedRowModel()],\n facetedRowModel =>\n getRowModelMinMaxValues(facetedRowModel, '__global__'),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getGlobalFacetedMinMaxValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(\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\nexport function getRowModelMinMaxValues<TGenerics extends TableGenerics>(\n rowModel: RowModel<TGenerics>,\n columnId: string\n) {\n let facetedMinMaxValues: [any, any] = [\n rowModel.flatRows[0]?.values[columnId] ?? null,\n rowModel.flatRows[0]?.values[columnId] ?? null,\n ]\n\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n const value = rowModel.flatRows[i]?.values[columnId]\n\n if (value < facetedMinMaxValues[0]) {\n facetedMinMaxValues[0] = value\n } else if (value > facetedMinMaxValues[1]) {\n facetedMinMaxValues[1] = value\n }\n }\n\n return facetedMinMaxValues\n}\n\nexport function getRowModelUniqueValues<TGenerics extends TableGenerics>(\n rowModel: RowModel<TGenerics>,\n columnId: string\n) {\n let facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n const value = rowModel.flatRows[i]?.values[columnId]\n\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1)\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n\n return facetedUniqueValues\n}\n"],"names":["Filters","getDefaultColumn","filterFn","getInitialState","state","_extends","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","filterFromLeafRows","globalFilterFn","getColumnCanGlobalFilter","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getAutoFilterFn","firstRow","values","filterFns","includesString","inNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getFilterFn","userFilterFns","options","isFunction","getCanFilter","enableColumnFilter","enableColumnFilters","enableFilters","accessorFn","getCanGlobalFilter","enableGlobalFilter","getIsFiltered","getFilterIndex","getFilterValue","getState","find","d","findIndex","setFilterValue","setColumnFilters","old","previousfilter","newFilter","functionalUpdate","shouldAutoRemoveFilter","filter","newFilterObj","map","length","getFacetedRowModel","memo","getPreFilteredRowModel","getFilteredRowModel","rowModel","_","filterRows","rows","Boolean","key","process","env","NODE_ENV","debug","debugAll","debugColumns","getFacetedUniqueValues","facetedRowModel","getRowModelUniqueValues","getFacetedMinMaxValues","getRowModelMinMaxValues","createRow","row","columnFilterMap","subRowsByFacetId","createInstance","getGlobalAutoFilterFn","getGlobalFilterFn","updater","leafColumns","getAllLeafColumns","updateFn","setGlobalFilter","resetGlobalFilter","initialState","resetColumnFilters","_getFilteredRowModel","manualFiltering","getGlobalFacetedRowModel","getGlobalFacetedUniqueValues","getGlobalFacetedMinMaxValues","autoRemove","columnId","facetedMinMaxValues","i","facetedUniqueValues","Map","has","set","get"],"mappings":"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"}
@@ -36,21 +36,39 @@ var Grouping = {
36
36
  },
37
37
  createColumn: function createColumn(column, instance) {
38
38
  return {
39
- aggregationFn: column.aggregationFn,
40
- getCanGroup: function getCanGroup() {
41
- return instance.getColumnCanGroup(column.id);
39
+ toggleGrouping: function toggleGrouping() {
40
+ instance.setGrouping(function (old) {
41
+ // Find any existing grouping for this column
42
+ if (old != null && old.includes(column.id)) {
43
+ return old.filter(function (d) {
44
+ return d !== column.id;
45
+ });
46
+ }
47
+
48
+ return [].concat(old != null ? old : [], [column.id]);
49
+ });
42
50
  },
43
- getGroupedIndex: function getGroupedIndex() {
44
- return instance.getColumnGroupedIndex(column.id);
51
+ getCanGroup: function getCanGroup() {
52
+ var _ref, _ref2, _ref3, _column$enableGroupin;
53
+
54
+ return (_ref = (_ref2 = (_ref3 = (_column$enableGroupin = column.enableGrouping) != null ? _column$enableGroupin : true) != null ? _ref3 : instance.options.enableGrouping) != null ? _ref2 : true) != null ? _ref : !!column.accessorFn;
45
55
  },
46
56
  getIsGrouped: function getIsGrouped() {
47
- return instance.getColumnIsGrouped(column.id);
57
+ var _instance$getState$gr;
58
+
59
+ return (_instance$getState$gr = instance.getState().grouping) == null ? void 0 : _instance$getState$gr.includes(column.id);
48
60
  },
49
- toggleGrouping: function toggleGrouping() {
50
- return instance.toggleColumnGrouping(column.id);
61
+ getGroupedIndex: function getGroupedIndex() {
62
+ var _instance$getState$gr2;
63
+
64
+ return (_instance$getState$gr2 = instance.getState().grouping) == null ? void 0 : _instance$getState$gr2.indexOf(column.id);
51
65
  },
52
66
  getToggleGroupingHandler: function getToggleGroupingHandler() {
53
- return instance.getToggleGroupingHandler(column.id);
67
+ var canGroup = column.getCanGroup();
68
+ return function () {
69
+ if (!canGroup) return;
70
+ column.toggleGrouping();
71
+ };
54
72
  }
55
73
  };
56
74
  },
@@ -71,7 +89,7 @@ var Grouping = {
71
89
  return aggregationFns.aggregationFns.count;
72
90
  },
73
91
  getColumnAggregationFn: function getColumnAggregationFn(columnId) {
74
- var _ref;
92
+ var _ref4;
75
93
 
76
94
  var column = instance.getColumn(columnId);
77
95
  var userAggregationFns = instance.options.aggregationFns;
@@ -80,62 +98,16 @@ var Grouping = {
80
98
  throw new Error();
81
99
  }
82
100
 
83
- return utils.isFunction(column.aggregationFn) ? column.aggregationFn : column.aggregationFn === 'auto' ? instance.getColumnAutoAggregationFn(columnId) : (_ref = userAggregationFns == null ? void 0 : userAggregationFns[column.aggregationFn]) != null ? _ref : aggregationFns.aggregationFns[column.aggregationFn];
101
+ return utils.isFunction(column.aggregationFn) ? column.aggregationFn : column.aggregationFn === 'auto' ? instance.getColumnAutoAggregationFn(columnId) : (_ref4 = userAggregationFns == null ? void 0 : userAggregationFns[column.aggregationFn]) != null ? _ref4 : aggregationFns.aggregationFns[column.aggregationFn];
84
102
  },
85
103
  setGrouping: function setGrouping(updater) {
86
104
  return instance.options.onGroupingChange == null ? void 0 : instance.options.onGroupingChange(updater);
87
105
  },
88
- toggleColumnGrouping: function toggleColumnGrouping(columnId) {
89
- instance.setGrouping(function (old) {
90
- // Find any existing grouping for this column
91
- if (old != null && old.includes(columnId)) {
92
- return old.filter(function (d) {
93
- return d !== columnId;
94
- });
95
- }
96
-
97
- return [].concat(old != null ? old : [], [columnId]);
98
- });
99
- },
100
- getColumnCanGroup: function getColumnCanGroup(columnId) {
101
- var _ref2, _ref3, _column$enableGroupin;
102
-
103
- var column = instance.getColumn(columnId);
104
-
105
- if (!column) {
106
- throw new Error();
107
- }
108
-
109
- return (_ref2 = (_ref3 = (_column$enableGroupin = column.enableGrouping) != null ? _column$enableGroupin : instance.options.enableGrouping) != null ? _ref3 : column.defaultCanGroup) != null ? _ref2 : !!column.accessorFn;
110
- },
111
- getColumnIsGrouped: function getColumnIsGrouped(columnId) {
112
- var _instance$getState$gr;
113
-
114
- return (_instance$getState$gr = instance.getState().grouping) == null ? void 0 : _instance$getState$gr.includes(columnId);
115
- },
116
- getColumnGroupedIndex: function getColumnGroupedIndex(columnId) {
117
- var _instance$getState$gr2;
118
-
119
- return (_instance$getState$gr2 = instance.getState().grouping) == null ? void 0 : _instance$getState$gr2.indexOf(columnId);
120
- },
121
106
  resetGrouping: function resetGrouping() {
122
107
  var _instance$initialStat, _instance$initialStat2;
123
108
 
124
109
  instance.setGrouping((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.grouping) != null ? _instance$initialStat : []);
125
110
  },
126
- getToggleGroupingHandler: function getToggleGroupingHandler(columnId) {
127
- var column = instance.getColumn(columnId);
128
- var canGroup = column.getCanGroup();
129
- return function () {
130
- if (!canGroup) return;
131
- column.toggleGrouping == null ? void 0 : column.toggleGrouping();
132
- };
133
- },
134
- getRowIsGrouped: function getRowIsGrouped(rowId) {
135
- var _instance$getRow;
136
-
137
- return !!((_instance$getRow = instance.getRow(rowId)) != null && _instance$getRow.groupingColumnId);
138
- },
139
111
  getPreGroupedRowModel: function getPreGroupedRowModel() {
140
112
  return instance.getSortedRowModel();
141
113
  },
@@ -155,7 +127,7 @@ var Grouping = {
155
127
  createRow: function createRow(row, instance) {
156
128
  return {
157
129
  getIsGrouped: function getIsGrouped() {
158
- return instance.getRowIsGrouped(row.id);
130
+ return !!row.groupingColumnId;
159
131
  }
160
132
  };
161
133
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableInstance,\n Row,\n Updater,\n Renderable,\n TableGenerics,\n TableFeature,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | TGenerics['Rendered']\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingHandler: (columnId: string) => undefined | (() => void)\n getRowIsGrouped: (rowId: string) => boolean\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (state): GroupingTableState => {\n return {\n grouping: [],\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n aggregationFn: column.aggregationFn,\n getCanGroup: () => instance.getColumnCanGroup(column.id),\n getGroupedIndex: () => instance.getColumnGroupedIndex(column.id),\n getIsGrouped: () => instance.getColumnIsGrouped(column.id),\n toggleGrouping: () => instance.toggleColumnGrouping(column.id),\n getToggleGroupingHandler: () =>\n instance.getToggleGroupingHandler(column.id)!,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n return {\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? instance.getColumnAutoAggregationFn(columnId)\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n toggleColumnGrouping: columnId => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(columnId)) {\n return old.filter(d => d !== columnId)\n }\n\n return [...(old ?? []), columnId]\n })\n },\n\n getColumnCanGroup: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableGrouping ??\n instance.options.enableGrouping ??\n column.defaultCanGroup ??\n !!column.accessorFn\n )\n },\n\n getColumnIsGrouped: columnId => {\n return instance.getState().grouping?.includes(columnId)\n },\n\n getColumnGroupedIndex: columnId =>\n instance.getState().grouping?.indexOf(columnId),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getToggleGroupingHandler: columnId => {\n const column = instance.getColumn(columnId)\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping?.()\n }\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n value: cell.value,\n })\n : null\n },\n }\n },\n}\n\nexport function orderColumns<TGenerics extends TableGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n) {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","state","_extends","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingHandler","createInstance","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","options","Error","isFunction","setGrouping","updater","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","getState","indexOf","resetGrouping","initialState","canGroup","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
1
+ {"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableInstance,\n Row,\n Updater,\n Renderable,\n TableGenerics,\n TableFeature,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | TGenerics['Rendered']\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n 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 getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (state): GroupingTableState => {\n return {\n grouping: [],\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n toggleGrouping: () => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(column.id)) {\n return old.filter(d => d !== column.id)\n }\n\n return [...(old ?? []), column.id]\n })\n },\n\n getCanGroup: () => {\n return (\n column.enableGrouping ??\n true ??\n instance.options.enableGrouping ??\n true ??\n !!column.accessorFn\n )\n },\n\n getIsGrouped: () => {\n return instance.getState().grouping?.includes(column.id)\n },\n\n getGroupedIndex: () => instance.getState().grouping?.indexOf(column.id),\n\n getToggleGroupingHandler: () => {\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping()\n }\n },\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n return {\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? instance.getColumnAutoAggregationFn(columnId)\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => !!row.groupingColumnId,\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n value: cell.value,\n })\n : null\n },\n }\n },\n}\n\nexport function orderColumns<TGenerics extends TableGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n) {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","state","_extends","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","groupedColumnMode","createColumn","column","toggleGrouping","setGrouping","old","includes","id","filter","d","getCanGroup","enableGrouping","options","accessorFn","getIsGrouped","getState","getGroupedIndex","indexOf","getToggleGroupingHandler","canGroup","createInstance","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","Error","isFunction","updater","resetGrouping","initialState","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","groupingColumnId","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
@@ -33,30 +33,6 @@ var Headers = {
33
33
  colSpan: 0,
34
34
  rowSpan: 0,
35
35
  headerGroup: null,
36
- getSize: function getSize() {
37
- var sum = 0;
38
-
39
- var recurse = function recurse(header) {
40
- if (header.subHeaders.length) {
41
- header.subHeaders.forEach(recurse);
42
- } else {
43
- var _header$column$getSiz;
44
-
45
- sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0;
46
- }
47
- };
48
-
49
- recurse(header);
50
- return sum;
51
- },
52
- getStart: function getStart() {
53
- if (header.index > 0) {
54
- var prevSiblingHeader = header.headerGroup.headers[header.index - 1];
55
- return prevSiblingHeader.getStart() + prevSiblingHeader.getSize();
56
- }
57
-
58
- return 0;
59
- },
60
36
  getLeafHeaders: function getLeafHeaders() {
61
37
  var leafHeaders = [];
62
38
 
@@ -109,7 +85,7 @@ var Headers = {
109
85
  var headerGroups = buildHeaderGroups(allColumns, [].concat(leftColumns, centerColumns, rightColumns), instance);
110
86
  return headerGroups;
111
87
  }, {
112
- key: process.env.NODE_ENV === 'production' && 'getHeaderGroups',
88
+ key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',
113
89
  debug: function debug() {
114
90
  var _instance$options$deb;
115
91
 
@@ -124,7 +100,7 @@ var Headers = {
124
100
  });
125
101
  return buildHeaderGroups(allColumns, leafColumns, instance, 'center');
126
102
  }, {
127
- key: process.env.NODE_ENV === 'production' && 'getCenterHeaderGroups',
103
+ key: process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',
128
104
  debug: function debug() {
129
105
  var _instance$options$deb2;
130
106
 
@@ -139,7 +115,7 @@ var Headers = {
139
115
  });
140
116
  return buildHeaderGroups(allColumns, leafColumns, instance, 'left');
141
117
  }, {
142
- key: process.env.NODE_ENV === 'production' && 'getLeftHeaderGroups',
118
+ key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',
143
119
  debug: function debug() {
144
120
  var _instance$options$deb3;
145
121
 
@@ -154,7 +130,7 @@ var Headers = {
154
130
  });
155
131
  return buildHeaderGroups(allColumns, leafColumns, instance, 'right');
156
132
  }, {
157
- key: process.env.NODE_ENV === 'production' && 'getRightHeaderGroups',
133
+ key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',
158
134
  debug: function debug() {
159
135
  var _instance$options$deb4;
160
136
 
@@ -167,7 +143,7 @@ var Headers = {
167
143
  }, function (headerGroups) {
168
144
  return [].concat(headerGroups).reverse();
169
145
  }, {
170
- key: process.env.NODE_ENV === 'production' && 'getFooterGroups',
146
+ key: process.env.NODE_ENV === 'development' && 'getFooterGroups',
171
147
  debug: function debug() {
172
148
  var _instance$options$deb5;
173
149
 
@@ -179,7 +155,7 @@ var Headers = {
179
155
  }, function (headerGroups) {
180
156
  return [].concat(headerGroups).reverse();
181
157
  }, {
182
- key: process.env.NODE_ENV === 'production' && 'getLeftFooterGroups',
158
+ key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',
183
159
  debug: function debug() {
184
160
  var _instance$options$deb6;
185
161
 
@@ -191,7 +167,7 @@ var Headers = {
191
167
  }, function (headerGroups) {
192
168
  return [].concat(headerGroups).reverse();
193
169
  }, {
194
- key: process.env.NODE_ENV === 'production' && 'getCenterFooterGroups',
170
+ key: process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',
195
171
  debug: function debug() {
196
172
  var _instance$options$deb7;
197
173
 
@@ -203,7 +179,7 @@ var Headers = {
203
179
  }, function (headerGroups) {
204
180
  return [].concat(headerGroups).reverse();
205
181
  }, {
206
- key: process.env.NODE_ENV === 'production' && 'getRightFooterGroups',
182
+ key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',
207
183
  debug: function debug() {
208
184
  var _instance$options$deb8;
209
185
 
@@ -218,7 +194,7 @@ var Headers = {
218
194
  return headerGroup.headers;
219
195
  }).flat();
220
196
  }, {
221
- key: process.env.NODE_ENV === 'production' && 'getFlatHeaders',
197
+ key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',
222
198
  debug: function debug() {
223
199
  var _instance$options$deb9;
224
200
 
@@ -232,7 +208,7 @@ var Headers = {
232
208
  return headerGroup.headers;
233
209
  }).flat();
234
210
  }, {
235
- key: process.env.NODE_ENV === 'production' && 'getLeftFlatHeaders',
211
+ key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',
236
212
  debug: function debug() {
237
213
  var _instance$options$deb10;
238
214
 
@@ -246,7 +222,7 @@ var Headers = {
246
222
  return headerGroup.headers;
247
223
  }).flat();
248
224
  }, {
249
- key: process.env.NODE_ENV === 'production' && 'getCenterFlatHeaders',
225
+ key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',
250
226
  debug: function debug() {
251
227
  var _instance$options$deb11;
252
228
 
@@ -260,7 +236,7 @@ var Headers = {
260
236
  return headerGroup.headers;
261
237
  }).flat();
262
238
  }, {
263
- key: process.env.NODE_ENV === 'production' && 'getRightFlatHeaders',
239
+ key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',
264
240
  debug: function debug() {
265
241
  var _instance$options$deb12;
266
242
 
@@ -277,7 +253,7 @@ var Headers = {
277
253
  return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
278
254
  });
279
255
  }, {
280
- key: process.env.NODE_ENV === 'production' && 'getCenterLeafHeaders',
256
+ key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',
281
257
  debug: function debug() {
282
258
  var _instance$options$deb13;
283
259
 
@@ -293,7 +269,7 @@ var Headers = {
293
269
  return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
294
270
  });
295
271
  }, {
296
- key: process.env.NODE_ENV === 'production' && 'getLeftLeafHeaders',
272
+ key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',
297
273
  debug: function debug() {
298
274
  var _instance$options$deb14;
299
275
 
@@ -309,7 +285,7 @@ var Headers = {
309
285
  return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
310
286
  });
311
287
  }, {
312
- key: process.env.NODE_ENV === 'production' && 'getRightLeafHeaders',
288
+ key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',
313
289
  debug: function debug() {
314
290
  var _instance$options$deb15;
315
291
 
@@ -325,7 +301,7 @@ var Headers = {
325
301
  return header.getLeafHeaders();
326
302
  }).flat();
327
303
  }, {
328
- key: process.env.NODE_ENV === 'production' && 'getLeafHeaders',
304
+ key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',
329
305
  debug: function debug() {
330
306
  var _instance$options$deb16;
331
307