@tanstack/table-core 8.0.0-alpha.60 → 8.0.0-alpha.61

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 (54) hide show
  1. package/build/cjs/features/Expanding.js +1 -3
  2. package/build/cjs/features/Expanding.js.map +1 -1
  3. package/build/cjs/features/Filters.js +0 -23
  4. package/build/cjs/features/Filters.js.map +1 -1
  5. package/build/cjs/features/Grouping.js +0 -18
  6. package/build/cjs/features/Grouping.js.map +1 -1
  7. package/build/cjs/features/Pagination.js +1 -1
  8. package/build/cjs/features/Pagination.js.map +1 -1
  9. package/build/cjs/features/RowSelection.js +0 -32
  10. package/build/cjs/features/RowSelection.js.map +1 -1
  11. package/build/cjs/features/Sorting.js +0 -18
  12. package/build/cjs/features/Sorting.js.map +1 -1
  13. package/build/cjs/utils/getColumnFilteredRowModelSync.js +1 -1
  14. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -1
  15. package/build/cjs/utils/getCoreRowModelAsync.js +1 -2
  16. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  17. package/build/cjs/utils/getCoreRowModelSync.js +1 -2
  18. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  19. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +1 -1
  20. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -1
  21. package/build/cjs/utils/getGroupedRowModel.js +3 -1
  22. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  23. package/build/cjs/utils/getSortedRowModelSync.js +1 -1
  24. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  25. package/build/esm/index.js +10 -103
  26. package/build/esm/index.js.map +1 -1
  27. package/build/stats-html.html +1 -1
  28. package/build/stats-react.json +341 -341
  29. package/build/types/features/Expanding.d.ts +1 -1
  30. package/build/types/features/Filters.d.ts +0 -3
  31. package/build/types/features/Grouping.d.ts +0 -3
  32. package/build/types/features/Pagination.d.ts +1 -1
  33. package/build/types/features/RowSelection.d.ts +0 -2
  34. package/build/types/features/Sorting.d.ts +0 -2
  35. package/build/umd/index.development.js +10 -103
  36. package/build/umd/index.development.js.map +1 -1
  37. package/build/umd/index.production.js +1 -1
  38. package/build/umd/index.production.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/features/Expanding.ts +2 -4
  41. package/src/features/Filters.ts +0 -33
  42. package/src/features/Grouping.ts +0 -25
  43. package/src/features/Pagination.ts +3 -2
  44. package/src/features/RowSelection.ts +0 -29
  45. package/src/features/Sorting.ts +0 -22
  46. package/src/utils/getColumnFilteredRowModelAsync.ts +1 -1
  47. package/src/utils/getColumnFilteredRowModelSync.ts +1 -1
  48. package/src/utils/getCoreRowModelAsync.ts +1 -2
  49. package/src/utils/getCoreRowModelSync.ts +1 -2
  50. package/src/utils/getGlobalFilteredRowModelAsync.ts +1 -1
  51. package/src/utils/getGlobalFilteredRowModelSync.ts +1 -1
  52. package/src/utils/getGroupedRowModel.ts +2 -1
  53. package/src/utils/getSortedRowModelAsync.ts +1 -1
  54. package/src/utils/getSortedRowModelSync.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModelSync<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().grouping, instance.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n instance.getColumn(columnId)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (\n leafRows: Row<TGenerics>[],\n groupedRows: Row<TGenerics>[],\n depth: number\n ) => {\n const values: Record<string, unknown> = {}\n\n instance.getAllLeafColumns().forEach(column => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n const aggregateFn = instance.getColumnAggregationFn(column.id)\n\n if (aggregateFn) {\n values[column.id] = aggregateFn(\n () =>\n leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n columnValue = column.aggregateValue(columnValue)\n }\n\n return columnValue\n }),\n () => groupedRows.map(row => row.values[column.id])\n )\n } else if (column.aggregationFn) {\n console.info({ column })\n throw new Error(\n process.env.NODE_ENV !== 'production'\n ? `Table: Invalid column.aggregateType option for column listed above`\n : ''\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n const groupedFlatRows: Row<TGenerics>[] = []\n const groupedRowsById: Record<string, Row<TGenerics>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TGenerics>[],\n depth = 0,\n parentId: string\n ) => {\n // This is the last level, just return the rows\n if (depth === existingGrouping.length) {\n return rows\n }\n\n const columnId = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = instance.createRow(\n id,\n undefined,\n index,\n depth,\n values\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0, '')\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n {\n key: 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance.queueResetExpanded()\n })\n },\n }\n )\n}\n\nfunction groupBy<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\n columnId: string\n) {\n const groupMap = new Map<any, Row<TGenerics>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.values[columnId]}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n map.set(resKey, [...previous, row])\n }\n return map\n }, groupMap)\n}\n"],"names":["getGroupedRowModelSync","instance","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","aggregateRowsToValues","leafRows","groupedRows","depth","values","getAllLeafColumns","forEach","column","includes","id","aggregateFn","getColumnAggregationFn","map","row","columnValue","aggregateValue","aggregationFn","console","info","Error","process","env","NODE_ENV","groupedFlatRows","groupedRowsById","groupUpRecursively","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","index","groupingValue","subRows","flattenBy","createRow","undefined","Object","assign","groupingColumnId","subRow","push","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","queue","queueResetExpanded","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}
1
+ {"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModelSync<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().grouping, instance.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n instance.getColumn(columnId)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (\n leafRows: Row<TGenerics>[],\n groupedRows: Row<TGenerics>[],\n depth: number\n ) => {\n const values: Record<string, unknown> = {}\n\n instance.getAllLeafColumns().forEach(column => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n const aggregateFn = instance.getColumnAggregationFn(column.id)\n\n if (aggregateFn) {\n values[column.id] = aggregateFn(\n () =>\n leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n columnValue = column.aggregateValue(columnValue)\n }\n\n return columnValue\n }),\n () => groupedRows.map(row => row.values[column.id])\n )\n } else if (column.aggregationFn) {\n console.info({ column })\n throw new Error(\n process.env.NODE_ENV !== 'production'\n ? `Table: Invalid column.aggregateType option for column listed above`\n : ''\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n const groupedFlatRows: Row<TGenerics>[] = []\n const groupedRowsById: Record<string, Row<TGenerics>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TGenerics>[],\n depth = 0,\n parentId: string\n ) => {\n // This is the last level, just return the rows\n if (depth === existingGrouping.length) {\n return rows\n }\n\n const columnId = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = instance.createRow(\n id,\n undefined,\n index,\n depth,\n values\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0, '')\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n {\n key: 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetExpanded()\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\n columnId: string\n) {\n const groupMap = new Map<any, Row<TGenerics>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.values[columnId]}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n map.set(resKey, [...previous, row])\n }\n return map\n }, groupMap)\n}\n"],"names":["getGroupedRowModelSync","instance","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","aggregateRowsToValues","leafRows","groupedRows","depth","values","getAllLeafColumns","forEach","column","includes","id","aggregateFn","getColumnAggregationFn","map","row","columnValue","aggregateValue","aggregationFn","console","info","Error","process","env","NODE_ENV","groupedFlatRows","groupedRowsById","groupUpRecursively","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","index","groupingValue","subRows","flattenBy","createRow","undefined","Object","assign","groupingColumnId","subRow","push","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}
@@ -107,7 +107,7 @@ function getSortedRowModelSync() {
107
107
  },
108
108
  onChange: function onChange() {
109
109
  instance.queue(function () {
110
- instance.queueResetGrouping();
110
+ instance._autoResetPageIndex();
111
111
  });
112
112
  }
113
113
  });
@@ -1 +1 @@
1
- {"version":3,"file":"getSortedRowModelSync.js","sources":["../../../src/utils/getSortedRowModelSync.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { SortingFn } from '../features/Sorting'\nimport { memo } from '../utils'\n\nexport function getSortedRowModelSync<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().sorting, instance.getPreSortedRowModel()],\n (sorting, rowModel) => {\n if (!rowModel.rows.length || !sorting?.length) {\n return rowModel\n }\n\n const sortingState = instance.getState().sorting\n\n const sortedFlatRows: Row<TGenerics>[] = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort =>\n instance.getColumnCanSort(sort.id)\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1\n invertSorting?: boolean\n sortingFn: SortingFn<TGenerics>\n }\n > = {}\n\n availableSorting.forEach(sortEntry => {\n const column = instance.getColumn(sortEntry.id)!\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.sortUndefined,\n invertSorting: column.invertSorting,\n sortingFn: instance.getColumnSortingFn(sortEntry.id)!,\n }\n })\n\n const sortData = (rows: Row<TGenerics>[]) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.slice()\n\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n const sortEntry = availableSorting[i]!\n const columnInfo = columnInfoById[sortEntry.id]!\n const isDesc = sortEntry?.desc ?? false\n\n if (columnInfo.sortUndefined) {\n const aValue = rowA.values[sortEntry.id]\n const bValue = rowB.values[sortEntry.id]\n\n const aUndefined = typeof aValue === 'undefined'\n const bUndefined = typeof bValue === 'undefined'\n\n if (aUndefined || bUndefined) {\n return aUndefined && bUndefined\n ? 0\n : aUndefined\n ? columnInfo.sortUndefined\n : -columnInfo.sortUndefined\n }\n }\n\n // This function should always return in ascending order\n let sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id)\n\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length <= 1) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById,\n }\n },\n {\n key: 'getSortedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance.queueResetGrouping()\n })\n },\n }\n )\n}\n"],"names":["getSortedRowModelSync","instance","memo","getState","sorting","getPreSortedRowModel","rowModel","rows","length","sortingState","sortedFlatRows","availableSorting","filter","sort","getColumnCanSort","id","columnInfoById","forEach","sortEntry","column","getColumn","sortUndefined","invertSorting","sortingFn","getColumnSortingFn","sortData","sortedData","slice","rowA","rowB","i","columnInfo","isDesc","desc","aValue","values","bValue","aUndefined","bUndefined","sortInt","index","row","push","subRows","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","queue","queueResetGrouping"],"mappings":"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"}
1
+ {"version":3,"file":"getSortedRowModelSync.js","sources":["../../../src/utils/getSortedRowModelSync.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { SortingFn } from '../features/Sorting'\nimport { memo } from '../utils'\n\nexport function getSortedRowModelSync<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().sorting, instance.getPreSortedRowModel()],\n (sorting, rowModel) => {\n if (!rowModel.rows.length || !sorting?.length) {\n return rowModel\n }\n\n const sortingState = instance.getState().sorting\n\n const sortedFlatRows: Row<TGenerics>[] = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort =>\n instance.getColumnCanSort(sort.id)\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1\n invertSorting?: boolean\n sortingFn: SortingFn<TGenerics>\n }\n > = {}\n\n availableSorting.forEach(sortEntry => {\n const column = instance.getColumn(sortEntry.id)!\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.sortUndefined,\n invertSorting: column.invertSorting,\n sortingFn: instance.getColumnSortingFn(sortEntry.id)!,\n }\n })\n\n const sortData = (rows: Row<TGenerics>[]) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.slice()\n\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n const sortEntry = availableSorting[i]!\n const columnInfo = columnInfoById[sortEntry.id]!\n const isDesc = sortEntry?.desc ?? false\n\n if (columnInfo.sortUndefined) {\n const aValue = rowA.values[sortEntry.id]\n const bValue = rowB.values[sortEntry.id]\n\n const aUndefined = typeof aValue === 'undefined'\n const bUndefined = typeof bValue === 'undefined'\n\n if (aUndefined || bUndefined) {\n return aUndefined && bUndefined\n ? 0\n : aUndefined\n ? columnInfo.sortUndefined\n : -columnInfo.sortUndefined\n }\n }\n\n // This function should always return in ascending order\n let sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id)\n\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length <= 1) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById,\n }\n },\n {\n key: 'getSortedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n"],"names":["getSortedRowModelSync","instance","memo","getState","sorting","getPreSortedRowModel","rowModel","rows","length","sortingState","sortedFlatRows","availableSorting","filter","sort","getColumnCanSort","id","columnInfoById","forEach","sortEntry","column","getColumn","sortUndefined","invertSorting","sortingFn","getColumnSortingFn","sortData","sortedData","slice","rowA","rowB","i","columnInfo","isDesc","desc","aValue","values","bValue","aUndefined","bUndefined","sortInt","index","row","push","subRows","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","queue","_autoResetPageIndex"],"mappings":"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"}
@@ -1068,9 +1068,7 @@ var Expanding = {
1068
1068
  createInstance: function createInstance(instance) {
1069
1069
  var registered = false;
1070
1070
  return {
1071
- queueResetExpanded: function queueResetExpanded() {
1072
- instance.queueResetPageIndex();
1073
-
1071
+ _autoResetExpanded: function _autoResetExpanded() {
1074
1072
  if (!registered) {
1075
1073
  registered = true;
1076
1074
  return;
@@ -1444,9 +1442,7 @@ var Filters = {
1444
1442
  return {
1445
1443
  onColumnFiltersChange: makeStateUpdater('columnFilters', instance),
1446
1444
  onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
1447
- autoResetColumnFilters: true,
1448
1445
  filterFromLeafRows: true,
1449
- autoResetGlobalFilter: true,
1450
1446
  globalFilterFn: 'auto',
1451
1447
  getColumnCanGlobalFilterFn: function getColumnCanGlobalFilterFn(column) {
1452
1448
  var _instance$getCoreRowM, _instance$getCoreRowM2;
@@ -1533,28 +1529,7 @@ var Filters = {
1533
1529
  };
1534
1530
  },
1535
1531
  createInstance: function createInstance(instance) {
1536
- var registered = false;
1537
1532
  return {
1538
- queueResetFilters: function queueResetFilters() {
1539
- instance.queueResetSorting();
1540
-
1541
- if (!registered) {
1542
- registered = true;
1543
- return;
1544
- }
1545
-
1546
- if (instance.options.autoResetAll === false) {
1547
- return;
1548
- }
1549
-
1550
- if (instance.options.autoResetAll === true || instance.options.autoResetColumnFilters) {
1551
- instance.resetColumnFilters();
1552
- }
1553
-
1554
- if (instance.options.autoResetAll === true || instance.options.autoResetGlobalFilter) {
1555
- instance.resetGlobalFilter();
1556
- }
1557
- },
1558
1533
  getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
1559
1534
  var firstRow = instance.getCoreRowModel().flatRows[0];
1560
1535
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
@@ -1890,7 +1865,6 @@ var Grouping = {
1890
1865
  getDefaultOptions: function getDefaultOptions(instance) {
1891
1866
  return {
1892
1867
  onGroupingChange: makeStateUpdater('grouping', instance),
1893
- autoResetGrouping: true,
1894
1868
  groupedColumnMode: 'reorder'
1895
1869
  };
1896
1870
  },
@@ -1915,24 +1889,7 @@ var Grouping = {
1915
1889
  };
1916
1890
  },
1917
1891
  createInstance: function createInstance(instance) {
1918
- var registered = false;
1919
1892
  return {
1920
- queueResetGrouping: function queueResetGrouping() {
1921
- instance.queueResetExpanded();
1922
-
1923
- if (!registered) {
1924
- registered = true;
1925
- return;
1926
- }
1927
-
1928
- if (instance.options.autoResetAll === false) {
1929
- return;
1930
- }
1931
-
1932
- if (instance.options.autoResetAll === true || instance.options.autoResetGrouping) {
1933
- instance.resetGrouping();
1934
- }
1935
- },
1936
1893
  getColumnAutoAggregationFn: function getColumnAutoAggregationFn(columnId) {
1937
1894
  var firstRow = instance.getCoreRowModel().flatRows[0];
1938
1895
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
@@ -2172,7 +2129,7 @@ var Pagination = {
2172
2129
  createInstance: function createInstance(instance) {
2173
2130
  var registered = false;
2174
2131
  return {
2175
- queueResetPageIndex: function queueResetPageIndex() {
2132
+ _autoResetPageIndex: function _autoResetPageIndex() {
2176
2133
  if (!registered) {
2177
2134
  registered = true;
2178
2135
  return;
@@ -2634,7 +2591,6 @@ var RowSelection = {
2634
2591
  getDefaultOptions: function getDefaultOptions(instance) {
2635
2592
  return {
2636
2593
  onRowSelectionChange: makeStateUpdater('rowSelection', instance),
2637
- autoResetRowSelection: true,
2638
2594
  enableRowSelection: true,
2639
2595
  enableMultiRowSelection: true,
2640
2596
  enableSubRowSelection: true // enableGroupingRowSelection: false,
@@ -2644,23 +2600,7 @@ var RowSelection = {
2644
2600
  };
2645
2601
  },
2646
2602
  createInstance: function createInstance(instance) {
2647
- var registered = false; // const pageRows = instance.getPageRows()
2648
-
2649
2603
  return {
2650
- queueResetRowSelection: function queueResetRowSelection() {
2651
- if (!registered) {
2652
- registered = true;
2653
- return;
2654
- }
2655
-
2656
- if (instance.options.autoResetAll === false) {
2657
- return;
2658
- }
2659
-
2660
- if (instance.options.autoResetAll === true || instance.options.autoResetRowSelection) {
2661
- instance.resetRowSelection();
2662
- }
2663
- },
2664
2604
  setRowSelection: function setRowSelection(updater) {
2665
2605
  return instance.options.onRowSelectionChange == null ? void 0 : instance.options.onRowSelectionChange(updater);
2666
2606
  },
@@ -2790,11 +2730,6 @@ var RowSelection = {
2790
2730
  var _instance$options$deb;
2791
2731
 
2792
2732
  return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
2793
- },
2794
- onChange: function onChange() {
2795
- instance.queue(function () {
2796
- return instance.queueResetExpanded();
2797
- });
2798
2733
  }
2799
2734
  }),
2800
2735
  getFilteredSelectedRowModel: memo(function () {
@@ -2815,11 +2750,6 @@ var RowSelection = {
2815
2750
  var _instance$options$deb2;
2816
2751
 
2817
2752
  return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
2818
- },
2819
- onChange: function onChange() {
2820
- return instance.queue(function () {
2821
- return instance.queueResetExpanded();
2822
- });
2823
2753
  }
2824
2754
  }),
2825
2755
  getGroupedSelectedRowModel: memo(function () {
@@ -2840,11 +2770,6 @@ var RowSelection = {
2840
2770
  var _instance$options$deb3;
2841
2771
 
2842
2772
  return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugTable;
2843
- },
2844
- onChange: function onChange() {
2845
- return instance.queue(function () {
2846
- return instance.queueResetExpanded();
2847
- });
2848
2773
  }
2849
2774
  }),
2850
2775
  ///
@@ -3222,7 +3147,6 @@ var Sorting = {
3222
3147
  getDefaultOptions: function getDefaultOptions(instance) {
3223
3148
  return {
3224
3149
  onSortingChange: makeStateUpdater('sorting', instance),
3225
- autoResetSorting: true,
3226
3150
  isMultiSortEvent: function isMultiSortEvent(e) {
3227
3151
  return e.shiftKey;
3228
3152
  }
@@ -3255,24 +3179,7 @@ var Sorting = {
3255
3179
  };
3256
3180
  },
3257
3181
  createInstance: function createInstance(instance) {
3258
- var registered = false;
3259
3182
  return {
3260
- queueResetSorting: function queueResetSorting() {
3261
- instance.queueResetGrouping();
3262
-
3263
- if (!registered) {
3264
- registered = true;
3265
- return;
3266
- }
3267
-
3268
- if (instance.options.autoResetAll === false) {
3269
- return;
3270
- }
3271
-
3272
- if (instance.options.autoResetAll === true || instance.options.autoResetSorting) {
3273
- instance.resetSorting();
3274
- }
3275
- },
3276
3183
  getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
3277
3184
  var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
3278
3185
  var isString = false;
@@ -4389,8 +4296,7 @@ function getCoreRowModelSync() {
4389
4296
  },
4390
4297
  onChange: function onChange() {
4391
4298
  instance.queue(function () {
4392
- instance.queueResetFilters();
4393
- instance.queueResetRowSelection();
4299
+ instance._autoResetPageIndex();
4394
4300
  });
4395
4301
  }
4396
4302
  });
@@ -4496,8 +4402,7 @@ function getCoreRowModelAsync(opts) {
4496
4402
  },
4497
4403
  onChange: function onChange() {
4498
4404
  instance.queue(function () {
4499
- instance.queueResetFilters();
4500
- instance.queueResetRowSelection();
4405
+ instance._autoResetPageIndex();
4501
4406
  });
4502
4407
  }
4503
4408
  });
@@ -4676,7 +4581,7 @@ function getColumnFilteredRowModelSync() {
4676
4581
  },
4677
4582
  onChange: function onChange() {
4678
4583
  instance.queue(function () {
4679
- instance.queueResetSorting();
4584
+ instance._autoResetPageIndex();
4680
4585
  });
4681
4586
  }
4682
4587
  });
@@ -4748,7 +4653,7 @@ function getGlobalFilteredRowModelSync() {
4748
4653
  },
4749
4654
  onChange: function onChange() {
4750
4655
  instance.queue(function () {
4751
- instance.queueResetSorting();
4656
+ instance._autoResetPageIndex();
4752
4657
  });
4753
4658
  }
4754
4659
  });
@@ -4848,7 +4753,7 @@ function getSortedRowModelSync() {
4848
4753
  },
4849
4754
  onChange: function onChange() {
4850
4755
  instance.queue(function () {
4851
- instance.queueResetGrouping();
4756
+ instance._autoResetPageIndex();
4852
4757
  });
4853
4758
  }
4854
4759
  });
@@ -4990,7 +4895,9 @@ function getGroupedRowModelSync() {
4990
4895
  },
4991
4896
  onChange: function onChange() {
4992
4897
  instance.queue(function () {
4993
- instance.queueResetExpanded();
4898
+ instance._autoResetExpanded();
4899
+
4900
+ instance._autoResetPageIndex();
4994
4901
  });
4995
4902
  }
4996
4903
  });