@tanstack/table-core 8.0.0-alpha.49 → 8.0.0-alpha.53

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 (69) hide show
  1. package/build/cjs/features/ColumnSizing.js +2 -2
  2. package/build/cjs/features/ColumnSizing.js.map +1 -1
  3. package/build/cjs/features/Expanding.js +3 -3
  4. package/build/cjs/features/Expanding.js.map +1 -1
  5. package/build/cjs/features/Filters.js +5 -8
  6. package/build/cjs/features/Filters.js.map +1 -1
  7. package/build/cjs/features/Grouping.js +3 -3
  8. package/build/cjs/features/Grouping.js.map +1 -1
  9. package/build/cjs/features/Ordering.js +1 -1
  10. package/build/cjs/features/Ordering.js.map +1 -1
  11. package/build/cjs/features/Pagination.js +2 -2
  12. package/build/cjs/features/Pagination.js.map +1 -1
  13. package/build/cjs/features/Pinning.js +1 -1
  14. package/build/cjs/features/Pinning.js.map +1 -1
  15. package/build/cjs/features/RowSelection.js +5 -5
  16. package/build/cjs/features/RowSelection.js.map +1 -1
  17. package/build/cjs/features/Sorting.js +3 -3
  18. package/build/cjs/features/Sorting.js.map +1 -1
  19. package/build/cjs/features/Visibility.js +1 -1
  20. package/build/cjs/features/Visibility.js.map +1 -1
  21. package/build/cjs/utils/getColumnFilteredRowModelSync.js +1 -1
  22. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -1
  23. package/build/cjs/utils/getCoreRowModelAsync.js +2 -3
  24. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  25. package/build/cjs/utils/getCoreRowModelSync.js +2 -3
  26. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  27. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +1 -1
  28. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -1
  29. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  30. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  31. package/build/cjs/utils/getSortedRowModelSync.js +1 -1
  32. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  33. package/build/esm/index.js +34 -39
  34. package/build/esm/index.js.map +1 -1
  35. package/build/stats-html.html +1 -1
  36. package/build/stats-react.json +321 -321
  37. package/build/types/features/Expanding.d.ts +1 -1
  38. package/build/types/features/Filters.d.ts +4 -6
  39. package/build/types/features/Grouping.d.ts +1 -1
  40. package/build/types/features/Ordering.d.ts +1 -1
  41. package/build/types/features/Pagination.d.ts +1 -1
  42. package/build/types/features/RowSelection.d.ts +1 -1
  43. package/build/types/features/Sorting.d.ts +1 -1
  44. package/build/types/types.d.ts +1 -1
  45. package/build/umd/index.development.js +34 -39
  46. package/build/umd/index.development.js.map +1 -1
  47. package/build/umd/index.production.js +1 -1
  48. package/build/umd/index.production.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/features/ColumnSizing.ts +2 -8
  51. package/src/features/Expanding.ts +4 -8
  52. package/src/features/Filters.ts +9 -20
  53. package/src/features/Grouping.ts +4 -8
  54. package/src/features/Ordering.ts +4 -7
  55. package/src/features/Pagination.ts +3 -6
  56. package/src/features/Pinning.ts +1 -4
  57. package/src/features/RowSelection.ts +6 -9
  58. package/src/features/Sorting.ts +4 -8
  59. package/src/features/Visibility.ts +1 -4
  60. package/src/types.ts +1 -1
  61. package/src/utils/getColumnFilteredRowModelAsync.ts +1 -1
  62. package/src/utils/getColumnFilteredRowModelSync.ts +1 -1
  63. package/src/utils/getCoreRowModelAsync.ts +2 -2
  64. package/src/utils/getCoreRowModelSync.ts +2 -2
  65. package/src/utils/getGlobalFilteredRowModelAsync.ts +1 -1
  66. package/src/utils/getGlobalFilteredRowModelSync.ts +1 -1
  67. package/src/utils/getGroupedRowModel.ts +1 -1
  68. package/src/utils/getSortedRowModelAsync.ts +1 -1
  69. package/src/utils/getSortedRowModelSync.ts +1 -1
@@ -60,10 +60,10 @@ var ColumnSizing = {
60
60
  return Math.min(Math.max((_column$minWidth = column.minWidth) != null ? _column$minWidth : defaultColumnSizing.minWidth, (_ref = columnSize != null ? columnSize : column.width) != null ? _ref : defaultColumnSizing.width), (_column$maxWidth = column.maxWidth) != null ? _column$maxWidth : defaultColumnSizing.maxWidth);
61
61
  },
62
62
  setColumnSizing: function setColumnSizing(updater) {
63
- return instance.options.onColumnSizingChange == null ? void 0 : instance.options.onColumnSizingChange(updater, utils.functionalUpdate(updater, instance.getState().columnSizing));
63
+ return instance.options.onColumnSizingChange == null ? void 0 : instance.options.onColumnSizingChange(updater);
64
64
  },
65
65
  setColumnSizingInfo: function setColumnSizingInfo(updater) {
66
- return instance.options.onColumnSizingInfoChange == null ? void 0 : instance.options.onColumnSizingInfoChange(updater, utils.functionalUpdate(updater, instance.getState().columnSizingInfo));
66
+ return instance.options.onColumnSizingInfoChange == null ? void 0 : instance.options.onColumnSizingInfoChange(updater);
67
67
  },
68
68
  resetColumnSizing: function resetColumnSizing() {
69
69
  var _instance$initialStat;
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnSizing.js","sources":["../../../src/features/ColumnSizing.ts"],"sourcesContent":["import {\n Column,\n Getter,\n Header,\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\n//\n\nexport type ColumnSizing = Record<string, number>\n\nexport type ColumnSizingInfoState = {\n startOffset: null | number\n startSize: null | number\n deltaOffset: null | number\n deltaPercentage: null | number\n isResizingColumn: false | string\n columnSizingStart: [string, number][]\n}\n\nexport type ColumnSizingTableState = {\n columnSizing: ColumnSizing\n columnSizingInfo: ColumnSizingInfoState\n}\n\nexport type ColumnResizeMode = 'onChange' | 'onEnd'\n\nexport type ColumnSizingOptions = {\n enableColumnResizing?: boolean\n columnResizeMode?: ColumnResizeMode\n onColumnSizingChange?: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange?: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnSizingDefaultOptions = {\n columnResizeMode: ColumnResizeMode\n onColumnSizingChange: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnResizerProps = {\n title?: string\n onMouseDown?: (e: MouseEvent) => void\n onTouchStart?: (e: TouchEvent) => void\n draggable?: boolean\n role?: string\n}\n\nexport type ColumnSizingInstance<TGenerics extends AnyGenerics> = {\n getColumnWidth: (columnId: string) => number\n setColumnSizing: (updater: Updater<ColumnSizing>) => void\n setColumnSizingInfo: (updater: Updater<ColumnSizingInfoState>) => void\n resetColumnSizing: () => void\n resetColumnSize: (columnId: string) => void\n resetHeaderSize: (headerId: string) => void\n resetHeaderSizeInfo: () => void\n getColumnCanResize: (columnId: string) => boolean\n getHeaderCanResize: (headerId: string) => boolean\n getHeaderResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n getColumnIsResizing: (columnId: string) => boolean\n getHeaderIsResizing: (headerId: string) => boolean\n}\n\nexport type ColumnSizingColumnDef = {\n enableResizing?: boolean\n defaultCanResize?: boolean\n width?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type ColumnSizingColumn<TGenerics extends AnyGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n resetSize: () => void\n}\n\nexport type ColumnSizingHeader<TGenerics extends AnyGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n getResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n resetSize: () => void\n}\n\n//\n\nexport const defaultColumnSizing = {\n width: 150,\n minWidth: 20,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nexport const ColumnSizing = {\n getDefaultColumn: (): ColumnSizingColumnDef => {\n return defaultColumnSizing\n },\n getInitialState: (): ColumnSizingTableState => {\n return {\n columnSizing: {},\n columnSizingInfo: {\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingDefaultOptions => {\n return {\n columnResizeMode: 'onEnd',\n onColumnSizingChange: makeStateUpdater('columnSizing', instance),\n onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', instance),\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingInstance<TGenerics> => {\n return {\n getColumnWidth: (columnId: string) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const columnSize = instance.getState().columnSizing[column.id]\n\n return Math.min(\n Math.max(\n column.minWidth ?? defaultColumnSizing.minWidth,\n columnSize ?? column.width ?? defaultColumnSizing.width\n ),\n column.maxWidth ?? defaultColumnSizing.maxWidth\n )\n },\n setColumnSizing: updater =>\n instance.options.onColumnSizingChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnSizing)\n ),\n setColumnSizingInfo: updater =>\n instance.options.onColumnSizingInfoChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnSizingInfo)\n ),\n resetColumnSizing: () => {\n instance.setColumnSizing(instance.initialState.columnSizing ?? {})\n },\n resetHeaderSizeInfo: () => {\n instance.setColumnSizingInfo(\n instance.initialState.columnSizingInfo ?? {}\n )\n },\n resetColumnSize: columnId => {\n instance.setColumnSizing(({ [columnId]: _, ...rest }) => {\n return rest\n })\n },\n resetHeaderSize: headerId => {\n const header = instance.getHeader(headerId)\n\n return instance.resetColumnSize(header.column.id)\n },\n getHeaderCanResize: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnCanResize(header.column.id)\n },\n getColumnCanResize: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableResizing ??\n instance.options.enableColumnResizing ??\n column.defaultCanResize ??\n true\n )\n },\n getColumnIsResizing: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.getState().columnSizingInfo.isResizingColumn === columnId\n )\n },\n getHeaderIsResizing: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnIsResizing(header.column.id)\n },\n\n getHeaderResizerProps: (headerId, userProps) => {\n const header = instance.getHeader(headerId)\n const column = instance.getColumn(header.column.id)\n\n const canResize = column.getCanResize()\n\n const onResizeStart = (e: unknown) => {\n if (isTouchStartEvent(e)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n }\n\n const header = headerId ? instance.getHeader(headerId) : undefined\n\n const startSize = header ? header.getWidth() : column.getWidth()\n\n const columnSizingStart: [string, number][] = header\n ? header.getLeafHeaders().map(d => [d.column.id, d.getWidth()])\n : [[column.id, column.getWidth()]]\n\n const clientX = isTouchStartEvent(e)\n ? Math.round(e.touches[0].clientX)\n : (e as MouseEvent).clientX\n\n const updateOffset = (\n eventType: 'move' | 'end',\n clientXPos?: number\n ) => {\n if (typeof clientXPos !== 'number') {\n return\n }\n\n let newColumnSizing: ColumnSizing = {}\n\n instance.setColumnSizingInfo(old => {\n const deltaOffset = clientXPos - (old?.startOffset ?? 0)\n const deltaPercentage = Math.max(\n deltaOffset / (old?.startSize ?? 0),\n -0.999999\n )\n\n old.columnSizingStart.forEach(([columnId, headerWidth]) => {\n newColumnSizing[columnId] =\n Math.round(\n Math.max(headerWidth + headerWidth * deltaPercentage, 0) *\n 100\n ) / 100\n })\n\n return {\n ...old,\n deltaOffset,\n deltaPercentage,\n }\n })\n\n if (\n instance.options.columnResizeMode === 'onChange' ||\n eventType === 'end'\n ) {\n instance.setColumnSizing(old => ({\n ...old,\n ...newColumnSizing,\n }))\n }\n }\n\n const onMove = (clientXPos?: number) =>\n updateOffset('move', clientXPos)\n\n const onEnd = (clientXPos?: number) => {\n updateOffset('end', clientXPos)\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: [],\n }))\n }\n\n const mouseEvents = {\n moveHandler: (e: MouseEvent) => onMove(e.clientX),\n upHandler: (e: MouseEvent) => {\n document.removeEventListener('mousemove', mouseEvents.moveHandler)\n document.removeEventListener('mouseup', mouseEvents.upHandler)\n onEnd(e.clientX)\n },\n }\n\n const touchEvents = {\n moveHandler: (e: TouchEvent) => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onMove(e.touches[0].clientX)\n return false\n },\n upHandler: (e: TouchEvent) => {\n document.removeEventListener('touchmove', touchEvents.moveHandler)\n document.removeEventListener('touchend', touchEvents.upHandler)\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onEnd(e.touches[0].clientX)\n },\n }\n\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n\n if (isTouchStartEvent(e)) {\n document.addEventListener(\n 'touchmove',\n touchEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'touchend',\n touchEvents.upHandler,\n passiveIfSupported\n )\n } else {\n document.addEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'mouseup',\n mouseEvents.upHandler,\n passiveIfSupported\n )\n }\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id,\n }))\n }\n\n const initialProps: ColumnResizerProps = canResize\n ? {\n title: 'Toggle Grouping',\n draggable: false,\n role: 'separator',\n onMouseDown: (e: MouseEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n onTouchStart: (e: TouchEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n }\n : {}\n\n return propGetter(initialProps, userProps)\n },\n }\n },\n\n createColumn: <TGenerics extends AnyGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingColumn<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(column.id),\n getCanResize: () => instance.getColumnCanResize(column.id),\n resetSize: () => instance.resetColumnSize(column.id),\n }\n },\n\n createHeader: <TGenerics extends AnyGenerics>(\n header: Header<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingHeader<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(header.column.id),\n getCanResize: () => instance.getColumnCanResize(header.column.id),\n resetSize: () => instance.resetColumnSize(header.column.id),\n getResizerProps: userProps =>\n instance.getHeaderResizerProps(header.id, userProps),\n }\n },\n}\n\nlet passiveSupported: boolean | null = null\nexport function passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n const noop = () => {}\n\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\nfunction isTouchStartEvent(e: unknown): e is TouchEvent {\n return (e as TouchEvent).type === 'touchstart'\n}\n"],"names":["defaultColumnSizing","width","minWidth","maxWidth","Number","MAX_SAFE_INTEGER","ColumnSizing","getDefaultColumn","getInitialState","columnSizing","columnSizingInfo","startOffset","startSize","deltaOffset","deltaPercentage","isResizingColumn","columnSizingStart","getDefaultOptions","instance","columnResizeMode","onColumnSizingChange","makeStateUpdater","onColumnSizingInfoChange","getInstance","getColumnWidth","columnId","column","getColumn","Error","columnSize","getState","id","Math","min","max","setColumnSizing","updater","options","functionalUpdate","setColumnSizingInfo","resetColumnSizing","initialState","resetHeaderSizeInfo","resetColumnSize","rest","_toPropertyKey","resetHeaderSize","headerId","header","getHeader","getHeaderCanResize","getColumnCanResize","enableResizing","enableColumnResizing","defaultCanResize","getColumnIsResizing","getHeaderIsResizing","getHeaderResizerProps","userProps","canResize","getCanResize","onResizeStart","e","isTouchStartEvent","touches","length","undefined","getWidth","getLeafHeaders","map","d","clientX","round","updateOffset","eventType","clientXPos","newColumnSizing","old","forEach","headerWidth","_extends","onMove","onEnd","mouseEvents","moveHandler","upHandler","document","removeEventListener","touchEvents","cancelable","preventDefault","stopPropagation","passiveIfSupported","passiveEventSupported","passive","addEventListener","initialProps","title","draggable","role","onMouseDown","persist","onTouchStart","propGetter","createColumn","getIsResizing","resetSize","createHeader","getResizerProps","passiveSupported","supported","noop","window","err","type"],"mappings":"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"}
1
+ {"version":3,"file":"ColumnSizing.js","sources":["../../../src/features/ColumnSizing.ts"],"sourcesContent":["import {\n Column,\n Getter,\n Header,\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\n//\n\nexport type ColumnSizing = Record<string, number>\n\nexport type ColumnSizingInfoState = {\n startOffset: null | number\n startSize: null | number\n deltaOffset: null | number\n deltaPercentage: null | number\n isResizingColumn: false | string\n columnSizingStart: [string, number][]\n}\n\nexport type ColumnSizingTableState = {\n columnSizing: ColumnSizing\n columnSizingInfo: ColumnSizingInfoState\n}\n\nexport type ColumnResizeMode = 'onChange' | 'onEnd'\n\nexport type ColumnSizingOptions = {\n enableColumnResizing?: boolean\n columnResizeMode?: ColumnResizeMode\n onColumnSizingChange?: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange?: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnSizingDefaultOptions = {\n columnResizeMode: ColumnResizeMode\n onColumnSizingChange: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnResizerProps = {\n title?: string\n onMouseDown?: (e: MouseEvent) => void\n onTouchStart?: (e: TouchEvent) => void\n draggable?: boolean\n role?: string\n}\n\nexport type ColumnSizingInstance<TGenerics extends AnyGenerics> = {\n getColumnWidth: (columnId: string) => number\n setColumnSizing: (updater: Updater<ColumnSizing>) => void\n setColumnSizingInfo: (updater: Updater<ColumnSizingInfoState>) => void\n resetColumnSizing: () => void\n resetColumnSize: (columnId: string) => void\n resetHeaderSize: (headerId: string) => void\n resetHeaderSizeInfo: () => void\n getColumnCanResize: (columnId: string) => boolean\n getHeaderCanResize: (headerId: string) => boolean\n getHeaderResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n getColumnIsResizing: (columnId: string) => boolean\n getHeaderIsResizing: (headerId: string) => boolean\n}\n\nexport type ColumnSizingColumnDef = {\n enableResizing?: boolean\n defaultCanResize?: boolean\n width?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type ColumnSizingColumn<TGenerics extends AnyGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n resetSize: () => void\n}\n\nexport type ColumnSizingHeader<TGenerics extends AnyGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n getResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n resetSize: () => void\n}\n\n//\n\nexport const defaultColumnSizing = {\n width: 150,\n minWidth: 20,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nexport const ColumnSizing = {\n getDefaultColumn: (): ColumnSizingColumnDef => {\n return defaultColumnSizing\n },\n getInitialState: (): ColumnSizingTableState => {\n return {\n columnSizing: {},\n columnSizingInfo: {\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingDefaultOptions => {\n return {\n columnResizeMode: 'onEnd',\n onColumnSizingChange: makeStateUpdater('columnSizing', instance),\n onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', instance),\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingInstance<TGenerics> => {\n return {\n getColumnWidth: (columnId: string) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const columnSize = instance.getState().columnSizing[column.id]\n\n return Math.min(\n Math.max(\n column.minWidth ?? defaultColumnSizing.minWidth,\n columnSize ?? column.width ?? defaultColumnSizing.width\n ),\n column.maxWidth ?? defaultColumnSizing.maxWidth\n )\n },\n setColumnSizing: updater =>\n instance.options.onColumnSizingChange?.(updater),\n setColumnSizingInfo: updater =>\n instance.options.onColumnSizingInfoChange?.(updater),\n resetColumnSizing: () => {\n instance.setColumnSizing(instance.initialState.columnSizing ?? {})\n },\n resetHeaderSizeInfo: () => {\n instance.setColumnSizingInfo(\n instance.initialState.columnSizingInfo ?? {}\n )\n },\n resetColumnSize: columnId => {\n instance.setColumnSizing(({ [columnId]: _, ...rest }) => {\n return rest\n })\n },\n resetHeaderSize: headerId => {\n const header = instance.getHeader(headerId)\n\n return instance.resetColumnSize(header.column.id)\n },\n getHeaderCanResize: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnCanResize(header.column.id)\n },\n getColumnCanResize: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableResizing ??\n instance.options.enableColumnResizing ??\n column.defaultCanResize ??\n true\n )\n },\n getColumnIsResizing: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.getState().columnSizingInfo.isResizingColumn === columnId\n )\n },\n getHeaderIsResizing: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnIsResizing(header.column.id)\n },\n\n getHeaderResizerProps: (headerId, userProps) => {\n const header = instance.getHeader(headerId)\n const column = instance.getColumn(header.column.id)\n\n const canResize = column.getCanResize()\n\n const onResizeStart = (e: unknown) => {\n if (isTouchStartEvent(e)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n }\n\n const header = headerId ? instance.getHeader(headerId) : undefined\n\n const startSize = header ? header.getWidth() : column.getWidth()\n\n const columnSizingStart: [string, number][] = header\n ? header.getLeafHeaders().map(d => [d.column.id, d.getWidth()])\n : [[column.id, column.getWidth()]]\n\n const clientX = isTouchStartEvent(e)\n ? Math.round(e.touches[0].clientX)\n : (e as MouseEvent).clientX\n\n const updateOffset = (\n eventType: 'move' | 'end',\n clientXPos?: number\n ) => {\n if (typeof clientXPos !== 'number') {\n return\n }\n\n let newColumnSizing: ColumnSizing = {}\n\n instance.setColumnSizingInfo(old => {\n const deltaOffset = clientXPos - (old?.startOffset ?? 0)\n const deltaPercentage = Math.max(\n deltaOffset / (old?.startSize ?? 0),\n -0.999999\n )\n\n old.columnSizingStart.forEach(([columnId, headerWidth]) => {\n newColumnSizing[columnId] =\n Math.round(\n Math.max(headerWidth + headerWidth * deltaPercentage, 0) *\n 100\n ) / 100\n })\n\n return {\n ...old,\n deltaOffset,\n deltaPercentage,\n }\n })\n\n if (\n instance.options.columnResizeMode === 'onChange' ||\n eventType === 'end'\n ) {\n instance.setColumnSizing(old => ({\n ...old,\n ...newColumnSizing,\n }))\n }\n }\n\n const onMove = (clientXPos?: number) =>\n updateOffset('move', clientXPos)\n\n const onEnd = (clientXPos?: number) => {\n updateOffset('end', clientXPos)\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: [],\n }))\n }\n\n const mouseEvents = {\n moveHandler: (e: MouseEvent) => onMove(e.clientX),\n upHandler: (e: MouseEvent) => {\n document.removeEventListener('mousemove', mouseEvents.moveHandler)\n document.removeEventListener('mouseup', mouseEvents.upHandler)\n onEnd(e.clientX)\n },\n }\n\n const touchEvents = {\n moveHandler: (e: TouchEvent) => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onMove(e.touches[0].clientX)\n return false\n },\n upHandler: (e: TouchEvent) => {\n document.removeEventListener('touchmove', touchEvents.moveHandler)\n document.removeEventListener('touchend', touchEvents.upHandler)\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onEnd(e.touches[0].clientX)\n },\n }\n\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n\n if (isTouchStartEvent(e)) {\n document.addEventListener(\n 'touchmove',\n touchEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'touchend',\n touchEvents.upHandler,\n passiveIfSupported\n )\n } else {\n document.addEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'mouseup',\n mouseEvents.upHandler,\n passiveIfSupported\n )\n }\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id,\n }))\n }\n\n const initialProps: ColumnResizerProps = canResize\n ? {\n title: 'Toggle Grouping',\n draggable: false,\n role: 'separator',\n onMouseDown: (e: MouseEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n onTouchStart: (e: TouchEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n }\n : {}\n\n return propGetter(initialProps, userProps)\n },\n }\n },\n\n createColumn: <TGenerics extends AnyGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingColumn<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(column.id),\n getCanResize: () => instance.getColumnCanResize(column.id),\n resetSize: () => instance.resetColumnSize(column.id),\n }\n },\n\n createHeader: <TGenerics extends AnyGenerics>(\n header: Header<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingHeader<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(header.column.id),\n getCanResize: () => instance.getColumnCanResize(header.column.id),\n resetSize: () => instance.resetColumnSize(header.column.id),\n getResizerProps: userProps =>\n instance.getHeaderResizerProps(header.id, userProps),\n }\n },\n}\n\nlet passiveSupported: boolean | null = null\nexport function passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n const noop = () => {}\n\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\nfunction isTouchStartEvent(e: unknown): e is TouchEvent {\n return (e as TouchEvent).type === 'touchstart'\n}\n"],"names":["defaultColumnSizing","width","minWidth","maxWidth","Number","MAX_SAFE_INTEGER","ColumnSizing","getDefaultColumn","getInitialState","columnSizing","columnSizingInfo","startOffset","startSize","deltaOffset","deltaPercentage","isResizingColumn","columnSizingStart","getDefaultOptions","instance","columnResizeMode","onColumnSizingChange","makeStateUpdater","onColumnSizingInfoChange","getInstance","getColumnWidth","columnId","column","getColumn","Error","columnSize","getState","id","Math","min","max","setColumnSizing","updater","options","setColumnSizingInfo","resetColumnSizing","initialState","resetHeaderSizeInfo","resetColumnSize","rest","_toPropertyKey","resetHeaderSize","headerId","header","getHeader","getHeaderCanResize","getColumnCanResize","enableResizing","enableColumnResizing","defaultCanResize","getColumnIsResizing","getHeaderIsResizing","getHeaderResizerProps","userProps","canResize","getCanResize","onResizeStart","e","isTouchStartEvent","touches","length","undefined","getWidth","getLeafHeaders","map","d","clientX","round","updateOffset","eventType","clientXPos","newColumnSizing","old","forEach","headerWidth","_extends","onMove","onEnd","mouseEvents","moveHandler","upHandler","document","removeEventListener","touchEvents","cancelable","preventDefault","stopPropagation","passiveIfSupported","passiveEventSupported","passive","addEventListener","initialProps","title","draggable","role","onMouseDown","persist","onTouchStart","propGetter","createColumn","getIsResizing","resetSize","createHeader","getResizerProps","passiveSupported","supported","noop","window","err","type"],"mappings":"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"}
@@ -33,8 +33,8 @@ var Expanding = {
33
33
  getInstance: function getInstance(instance) {
34
34
  var registered = false;
35
35
  return {
36
- _notifyExpandedReset: function _notifyExpandedReset() {
37
- instance._notifyPageIndexReset();
36
+ queueResetExpanded: function queueResetExpanded() {
37
+ instance.queueResetPageIndex();
38
38
 
39
39
  if (!registered) {
40
40
  registered = true;
@@ -50,7 +50,7 @@ var Expanding = {
50
50
  }
51
51
  },
52
52
  setExpanded: function setExpanded(updater) {
53
- return instance.options.onExpandedChange == null ? void 0 : instance.options.onExpandedChange(updater, utils.functionalUpdate(updater, instance.getState().expanded));
53
+ return instance.options.onExpandedChange == null ? void 0 : instance.options.onExpandedChange(updater);
54
54
  },
55
55
  toggleRowExpanded: function toggleRowExpanded(rowId, expanded) {
56
56
  if (!rowId) return;
@@ -1 +1 @@
1
- {"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { RowModel } from '..'\nimport {\n Getter,\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n}\n\nexport type ExpandedOptions<TGenerics extends AnyGenerics> = {\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n getExpandedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n expandSubRows?: boolean\n defaultCanExpand?: boolean\n getIsRowExpanded?: (row: Row<TGenerics>) => boolean\n getRowCanExpand?: (row: Row<TGenerics>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ToggleExpandedProps = {\n title?: string\n onClick?: (event: unknown) => void\n}\n\nexport type ExpandedInstance<TGenerics extends AnyGenerics> = {\n _notifyExpandedReset: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleRowExpanded: (rowId: string, expanded?: boolean) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: () => void\n getRowCanExpand: (rowId: string) => boolean\n getCanSomeRowsExpand: () => boolean\n getIsRowExpanded: (rowId: string) => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TGenerics>\n _getExpandedRowModel?: () => RowModel<TGenerics>\n getPreExpandedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Expanding = {\n getInitialState: (): ExpandedTableState => {\n return {\n expanded: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedOptions<TGenerics> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n\n return {\n _notifyExpandedReset: () => {\n instance._notifyPageIndexReset()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n instance.resetExpanded()\n }\n },\n setExpanded: updater =>\n instance.options.onExpandedChange?.(\n updater,\n functionalUpdate(updater, instance.getState().expanded)\n ),\n toggleRowExpanded: (rowId, expanded) => {\n if (!rowId) return\n\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[rowId]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [rowId]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [rowId]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: () => {\n instance.setExpanded(instance.initialState?.expanded ?? {})\n },\n getIsRowExpanded: rowId => {\n const row = instance.getPreExpandedRowModel().rowsById[rowId]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getIsRowExpanded: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[rowId])\n )\n },\n getRowCanExpand: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getRowCanExpand: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n return (\n instance.options.getRowCanExpand?.(row) ??\n instance.options.enableExpanded ??\n instance.options.defaultCanExpand ??\n !!row.subRows?.length\n )\n },\n getCanSomeRowsExpand: () => {\n return Object.keys(instance.getRowModel().rowsById).some(id =>\n instance.getRowCanExpand(id)\n )\n },\n getToggleExpandedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n return\n }\n\n const canExpand = instance.getRowCanExpand(rowId)\n\n const initialProps: ToggleExpandedProps = {\n title: canExpand ? 'Toggle Expanded' : undefined,\n onClick: canExpand\n ? (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleRowExpanded(rowId)\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n getToggleAllRowsExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle All Expanded',\n onClick: (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleAllRowsExpanded()\n },\n }\n\n return propGetter(initialProps, userProps)\n },\n getIsSomeRowsExpanded: () => {\n const expanded = instance.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (\n Object.keys(instance.getRowModel().rowsById).some(\n id => !instance.getIsRowExpanded(id)\n )\n ) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowModel().rowsById)\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n getExpandedRowModel: () => {\n if (\n !instance._getExpandedRowModel &&\n instance.options.getExpandedRowModel\n ) {\n instance._getExpandedRowModel =\n instance.options.getExpandedRowModel(instance)\n }\n\n if (!instance._getExpandedRowModel) {\n return instance.getPreExpandedRowModel()\n }\n\n return instance._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends AnyGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded =>\n void instance.toggleRowExpanded(row.id, expanded),\n getIsExpanded: () => instance.getIsRowExpanded(row.id),\n getCanExpand: () => row.subRows && !!row.subRows.length,\n getToggleExpandedProps: userProps =>\n instance.getToggleExpandedProps(row.id, userProps),\n }\n },\n}\n"],"names":["Expanding","getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","getInstance","registered","_notifyExpandedReset","_notifyPageIndexReset","options","autoResetAll","resetExpanded","setExpanded","updater","functionalUpdate","getState","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowModel","rowsById","forEach","_extends","rest","_toPropertyKey","toggleAllRowsExpanded","getIsAllRowsExpanded","initialState","getIsRowExpanded","row","getPreExpandedRowModel","process","env","NODE_ENV","console","warn","Error","getRowCanExpand","getRow","enableExpanded","defaultCanExpand","subRows","length","getCanSomeRowsExpand","some","id","getToggleExpandedProps","userProps","canExpand","initialProps","title","undefined","onClick","e","persist","propGetter","getToggleAllRowsExpandedProps","getIsSomeRowsExpanded","values","Boolean","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getGroupedRowModel","getExpandedRowModel","_getExpandedRowModel","createRow","toggleExpanded","getIsExpanded","getCanExpand"],"mappings":"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"}
1
+ {"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { RowModel } from '..'\nimport {\n Getter,\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n}\n\nexport type ExpandedOptions<TGenerics extends AnyGenerics> = {\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n getExpandedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n expandSubRows?: boolean\n defaultCanExpand?: boolean\n getIsRowExpanded?: (row: Row<TGenerics>) => boolean\n getRowCanExpand?: (row: Row<TGenerics>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ToggleExpandedProps = {\n title?: string\n onClick?: (event: unknown) => void\n}\n\nexport type ExpandedInstance<TGenerics extends AnyGenerics> = {\n queueResetExpanded: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleRowExpanded: (rowId: string, expanded?: boolean) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: () => void\n getRowCanExpand: (rowId: string) => boolean\n getCanSomeRowsExpand: () => boolean\n getIsRowExpanded: (rowId: string) => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TGenerics>\n _getExpandedRowModel?: () => RowModel<TGenerics>\n getPreExpandedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Expanding = {\n getInitialState: (): ExpandedTableState => {\n return {\n expanded: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedOptions<TGenerics> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetExpanded: () => {\n instance.queueResetPageIndex()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n instance.resetExpanded()\n }\n },\n setExpanded: updater => instance.options.onExpandedChange?.(updater),\n toggleRowExpanded: (rowId, expanded) => {\n if (!rowId) return\n\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[rowId]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [rowId]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [rowId]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: () => {\n instance.setExpanded(instance.initialState?.expanded ?? {})\n },\n getIsRowExpanded: rowId => {\n const row = instance.getPreExpandedRowModel().rowsById[rowId]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getIsRowExpanded: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[rowId])\n )\n },\n getRowCanExpand: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getRowCanExpand: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n return (\n instance.options.getRowCanExpand?.(row) ??\n instance.options.enableExpanded ??\n instance.options.defaultCanExpand ??\n !!row.subRows?.length\n )\n },\n getCanSomeRowsExpand: () => {\n return Object.keys(instance.getRowModel().rowsById).some(id =>\n instance.getRowCanExpand(id)\n )\n },\n getToggleExpandedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n return\n }\n\n const canExpand = instance.getRowCanExpand(rowId)\n\n const initialProps: ToggleExpandedProps = {\n title: canExpand ? 'Toggle Expanded' : undefined,\n onClick: canExpand\n ? (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleRowExpanded(rowId)\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n getToggleAllRowsExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle All Expanded',\n onClick: (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleAllRowsExpanded()\n },\n }\n\n return propGetter(initialProps, userProps)\n },\n getIsSomeRowsExpanded: () => {\n const expanded = instance.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (\n Object.keys(instance.getRowModel().rowsById).some(\n id => !instance.getIsRowExpanded(id)\n )\n ) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowModel().rowsById)\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n getExpandedRowModel: () => {\n if (\n !instance._getExpandedRowModel &&\n instance.options.getExpandedRowModel\n ) {\n instance._getExpandedRowModel =\n instance.options.getExpandedRowModel(instance)\n }\n\n if (!instance._getExpandedRowModel) {\n return instance.getPreExpandedRowModel()\n }\n\n return instance._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends AnyGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded =>\n void instance.toggleRowExpanded(row.id, expanded),\n getIsExpanded: () => instance.getIsRowExpanded(row.id),\n getCanExpand: () => row.subRows && !!row.subRows.length,\n getToggleExpandedProps: userProps =>\n instance.getToggleExpandedProps(row.id, userProps),\n }\n },\n}\n"],"names":["Expanding","getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","getInstance","registered","queueResetExpanded","queueResetPageIndex","options","autoResetAll","resetExpanded","setExpanded","updater","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowModel","rowsById","forEach","_extends","rest","_toPropertyKey","toggleAllRowsExpanded","getIsAllRowsExpanded","initialState","getIsRowExpanded","row","getPreExpandedRowModel","process","env","NODE_ENV","console","warn","Error","getState","getRowCanExpand","getRow","enableExpanded","defaultCanExpand","subRows","length","getCanSomeRowsExpand","some","id","getToggleExpandedProps","userProps","canExpand","initialProps","title","undefined","onClick","e","persist","propGetter","getToggleAllRowsExpandedProps","getIsSomeRowsExpanded","values","Boolean","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getGroupedRowModel","getExpandedRowModel","_getExpandedRowModel","createRow","toggleExpanded","getIsExpanded","getCanExpand"],"mappings":"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"}
@@ -102,7 +102,7 @@ var Filters = {
102
102
  getColumnFilterIndex: function getColumnFilterIndex() {
103
103
  return instance.getColumnFilterIndex(column.id);
104
104
  },
105
- getIsColumnFiltered: function getIsColumnFiltered() {
105
+ getColumnIsFiltered: function getColumnIsFiltered() {
106
106
  return instance.getColumnIsFiltered(column.id);
107
107
  },
108
108
  getColumnFilterValue: function getColumnFilterValue() {
@@ -125,8 +125,8 @@ var Filters = {
125
125
  getInstance: function getInstance(instance) {
126
126
  var registered = false;
127
127
  return {
128
- _notifyFiltersReset: function _notifyFiltersReset() {
129
- instance._notifySortingReset();
128
+ queueResetFilters: function queueResetFilters() {
129
+ instance.queueResetSorting();
130
130
 
131
131
  if (!registered) {
132
132
  registered = true;
@@ -213,10 +213,10 @@ var Filters = {
213
213
  });
214
214
  };
215
215
 
216
- instance.options.onColumnFiltersChange == null ? void 0 : instance.options.onColumnFiltersChange(updateFn, updateFn(instance.getState().columnFilters));
216
+ instance.options.onColumnFiltersChange == null ? void 0 : instance.options.onColumnFiltersChange(updateFn);
217
217
  },
218
218
  setGlobalFilter: function setGlobalFilter(updater) {
219
- instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater, utils.functionalUpdate(updater, instance.getState().globalFilter));
219
+ instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater);
220
220
  },
221
221
  resetGlobalFilter: function resetGlobalFilter() {
222
222
  instance.setGlobalFilter(instance.initialState.globalFilter);
@@ -316,9 +316,6 @@ var Filters = {
316
316
 
317
317
  instance.setColumnFilters((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
318
318
  },
319
- getPreFilteredRowModel: function getPreFilteredRowModel() {
320
- return instance.getCoreRowModel();
321
- },
322
319
  getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
323
320
  return instance.getCoreRowModel();
324
321
  },
@@ -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 AnyGenerics,\n PartialGenerics,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type 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\n/*\nA filter function is any function that takes an array of rows and returns an array of rows. Because filter functions can be used for both column and global filters, they are passed an array of columnIds to filter on. \n*/\n\nexport type FilterFn<TGenerics extends AnyGenerics> = {\n (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends AnyGenerics> = (\n value: unknown,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends AnyGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends AnyGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends AnyGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends AnyGenerics> = {\n filterFn: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getIsColumnFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (value: any) => void\n getPreFilteredRows: () => Row<TGenerics>[] | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<TGenerics extends AnyGenerics> = {\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n enableFilters?: boolean\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n getColumnFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n // Global\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n getGlobalFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends AnyGenerics> = {\n _notifyFiltersReset: () => void\n getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, value: any) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // All\n getPreFilteredRowModel: () => RowModel<TGenerics>\n\n // Column Filters\n getPreColumnFilteredRowModel: () => RowModel<TGenerics>\n getColumnFilteredRowModel: () => RowModel<TGenerics>\n _getColumnFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getPreGlobalFilteredRowModel: () => RowModel<TGenerics>\n getGlobalFilteredRowModel: () => RowModel<TGenerics>\n _getGlobalFilteredRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Filters = {\n getDefaultColumn: <\n TGenerics extends AnyGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n autoResetColumnFilters: true,\n filterFromLeafRows: true,\n autoResetGlobalFilter: true,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends AnyGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n {\n key: 'column.getFacetInfo',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n\n return {\n filterFn: column.filterFn,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getIsColumnFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val =>\n instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n let registered = false\n\n return {\n _notifyFiltersReset: () => {\n instance._notifySortingReset()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetColumnFilters\n ) {\n instance.resetColumnFilters()\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGlobalFilter\n ) {\n instance.resetGlobalFilter()\n }\n },\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.betweenNumberRange\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 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?.(\n updateFn,\n updateFn(instance.getState().columnFilters)\n )\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(\n updater,\n functionalUpdate(updater, instance.getState().globalFilter)\n )\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(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.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanColumnFilter ??\n column.defaultCanFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanGlobalFilter ??\n column.defaultCanFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TGenerics>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),\n getColumnFilteredRowModel: () => {\n if (\n !instance._getColumnFilteredRowModel &&\n instance.options.getColumnFilteredRowModel\n ) {\n instance._getColumnFilteredRowModel =\n instance.options.getColumnFilteredRowModel(instance)\n }\n\n if (!instance._getColumnFilteredRowModel) {\n return instance.getPreColumnFilteredRowModel()\n }\n\n return instance._getColumnFilteredRowModel()\n },\n getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),\n getGlobalFilteredRowModel: () => {\n if (\n !instance._getGlobalFilteredRowModel &&\n instance.options.getGlobalFilteredRowModel\n ) {\n instance._getGlobalFilteredRowModel =\n instance.options.getGlobalFilteredRowModel(instance)\n }\n\n if (!instance._getGlobalFilteredRowModel) {\n return instance.getPreGlobalFilteredRowModel()\n }\n\n return instance._getGlobalFilteredRowModel()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends AnyGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["Filters","getDefaultColumn","filterFn","getInitialState","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","autoResetColumnFilters","filterFromLeafRows","autoResetGlobalFilter","globalFilterFn","getColumnCanGlobalFilterFn","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","debugAll","debugColumns","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getIsColumnFiltered","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","getInstance","registered","_notifyFiltersReset","_notifySortingReset","autoResetAll","resetColumnFilters","resetGlobalFilter","getColumnAutoFilterFn","columnId","firstRow","filterFns","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterFns","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","shouldAutoRemoveFilter","getState","setGlobalFilter","initialState","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanColumnFilter","defaultCanFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","getPreFilteredRowModel","getPreColumnFilteredRowModel","getColumnFilteredRowModel","_getColumnFilteredRowModel","getPreGlobalFilteredRowModel","getGlobalFilteredRowModel","_getGlobalFilteredRowModel","autoRemove"],"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 AnyGenerics,\n PartialGenerics,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type 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\n/*\nA filter function is any function that takes an array of rows and returns an array of rows. Because filter functions can be used for both column and global filters, they are passed an array of columnIds to filter on. \n*/\n\nexport type FilterFn<TGenerics extends AnyGenerics> = {\n (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends AnyGenerics> = (\n value: unknown,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends AnyGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends AnyGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends AnyGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends AnyGenerics> = {\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 getPreFilteredRows: () => Row<TGenerics>[] | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<TGenerics extends AnyGenerics> = {\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n enableFilters?: boolean\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n getColumnFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n // Global\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n getGlobalFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends AnyGenerics> = {\n queueResetFilters: () => void\n getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, updater: Updater<any>) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // Column Filters\n getPreColumnFilteredRowModel: () => RowModel<TGenerics>\n getColumnFilteredRowModel: () => RowModel<TGenerics>\n _getColumnFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getPreGlobalFilteredRowModel: () => RowModel<TGenerics>\n getGlobalFilteredRowModel: () => RowModel<TGenerics>\n _getGlobalFilteredRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Filters = {\n getDefaultColumn: <\n TGenerics extends AnyGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n autoResetColumnFilters: true,\n filterFromLeafRows: true,\n autoResetGlobalFilter: true,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends AnyGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n {\n key: 'column.getFacetInfo',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n\n return {\n 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 getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetFilters: () => {\n instance.queueResetSorting()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetColumnFilters\n ) {\n instance.resetColumnFilters()\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGlobalFilter\n ) {\n instance.resetGlobalFilter()\n }\n },\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.betweenNumberRange\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 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.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanColumnFilter ??\n column.defaultCanFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanGlobalFilter ??\n column.defaultCanFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `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 getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),\n getColumnFilteredRowModel: () => {\n if (\n !instance._getColumnFilteredRowModel &&\n instance.options.getColumnFilteredRowModel\n ) {\n instance._getColumnFilteredRowModel =\n instance.options.getColumnFilteredRowModel(instance)\n }\n\n if (!instance._getColumnFilteredRowModel) {\n return instance.getPreColumnFilteredRowModel()\n }\n\n return instance._getColumnFilteredRowModel()\n },\n getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),\n getGlobalFilteredRowModel: () => {\n if (\n !instance._getGlobalFilteredRowModel &&\n instance.options.getGlobalFilteredRowModel\n ) {\n instance._getGlobalFilteredRowModel =\n instance.options.getGlobalFilteredRowModel(instance)\n }\n\n if (!instance._getGlobalFilteredRowModel) {\n return instance.getPreGlobalFilteredRowModel()\n }\n\n return instance._getGlobalFilteredRowModel()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends AnyGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["Filters","getDefaultColumn","filterFn","getInitialState","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","autoResetColumnFilters","filterFromLeafRows","autoResetGlobalFilter","globalFilterFn","getColumnCanGlobalFilterFn","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","debugAll","debugColumns","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","getInstance","registered","queueResetFilters","queueResetSorting","autoResetAll","resetColumnFilters","resetGlobalFilter","getColumnAutoFilterFn","columnId","firstRow","filterFns","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterFns","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","shouldAutoRemoveFilter","setGlobalFilter","initialState","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanColumnFilter","defaultCanFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","getState","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","getPreColumnFilteredRowModel","getColumnFilteredRowModel","_getColumnFilteredRowModel","getPreGlobalFilteredRowModel","getGlobalFilteredRowModel","_getGlobalFilteredRowModel","autoRemove"],"mappings":"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"}
@@ -57,8 +57,8 @@ var Grouping = {
57
57
  getInstance: function getInstance(instance) {
58
58
  var registered = false;
59
59
  return {
60
- _notifyGroupingReset: function _notifyGroupingReset() {
61
- instance._notifyExpandedReset();
60
+ queueResetGrouping: function queueResetGrouping() {
61
+ instance.queueResetExpanded();
62
62
 
63
63
  if (!registered) {
64
64
  registered = true;
@@ -100,7 +100,7 @@ var Grouping = {
100
100
  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
101
  },
102
102
  setGrouping: function setGrouping(updater) {
103
- return instance.options.onGroupingChange == null ? void 0 : instance.options.onGroupingChange(updater, utils.functionalUpdate(updater, instance.getState().grouping));
103
+ return instance.options.onGroupingChange == null ? void 0 : instance.options.onGroupingChange(updater);
104
104
  },
105
105
  toggleColumnGrouping: function toggleColumnGrouping(columnId) {
106
106
  instance.setGrouping(function (old) {
@@ -1 +1 @@
1
- {"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport {\n Cell,\n Column,\n Getter,\n OnChangeFn,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n PartialGenerics,\n Renderable,\n UseRenderer,\n AnyGenerics,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n propGetter,\n} from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends AnyGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends AnyGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends AnyGenerics> =\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 AnyGenerics> = {\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 AnyGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell<TGenerics extends AnyGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | ReturnType<UseRenderer<TGenerics>>\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends AnyGenerics> = {\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type ToggleGroupingProps = {\n title?: string\n onClick?: (event: unknown) => void\n}\n\nexport type GroupingInstance<TGenerics extends AnyGenerics> = {\n _notifyGroupingReset: () => void\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n getRowIsGrouped: (rowId: string) => boolean\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping = {\n getDefaultColumn: <\n TGenerics extends AnyGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (): GroupingTableState => {\n return {\n grouping: [],\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n autoResetGrouping: true,\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends AnyGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n aggregationFn: column.aggregationFn,\n getCanGroup: () => instance.getColumnCanGroup(column.id),\n getGroupedIndex: () => instance.getColumnGroupedIndex(column.id),\n getIsGrouped: () => instance.getColumnIsGrouped(column.id),\n toggleGrouping: () => instance.toggleColumnGrouping(column.id),\n getToggleGroupingProps: userProps =>\n instance.getToggleGroupingProps(column.id, userProps),\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n let registered = false\n\n return {\n _notifyGroupingReset: () => {\n instance._notifyExpandedReset()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGrouping\n ) {\n instance.resetGrouping()\n }\n },\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? instance.getColumnAutoAggregationFn(columnId)\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater =>\n instance.options.onGroupingChange?.(\n updater,\n functionalUpdate(updater, instance.getState().grouping)\n ),\n\n toggleColumnGrouping: columnId => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(columnId)) {\n return old.filter(d => d !== columnId)\n }\n\n return [...(old ?? []), columnId]\n })\n },\n\n getColumnCanGroup: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableGrouping ??\n instance.options.enableGrouping ??\n column.defaultCanGroup ??\n !!column.accessorFn\n )\n },\n\n getColumnIsGrouped: columnId => {\n return instance.getState().grouping?.includes(columnId)\n },\n\n getColumnGroupedIndex: columnId =>\n instance.getState().grouping?.indexOf(columnId),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getToggleGroupingProps: (columnId, userProps) => {\n const column = instance.getColumn(columnId)\n\n const canGroup = column.getCanGroup()\n\n const initialProps: ToggleGroupingProps = {\n title: canGroup ? 'Toggle Grouping' : undefined,\n onClick: canGroup\n ? (e: unknown) => {\n column.toggleGrouping?.()\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (!instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends AnyGenerics>(\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 AnyGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n value: cell.value,\n })\n : null\n },\n }\n },\n\n orderColumns: <TGenerics extends AnyGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n ) => {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n },\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingProps","userProps","getInstance","registered","_notifyGroupingReset","_notifyExpandedReset","options","autoResetAll","resetGrouping","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","Error","isFunction","setGrouping","updater","functionalUpdate","getState","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","indexOf","initialState","canGroup","initialProps","title","undefined","onClick","e","propGetter","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","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 Getter,\n OnChangeFn,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n PartialGenerics,\n Renderable,\n UseRenderer,\n AnyGenerics,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n propGetter,\n} from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends AnyGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends AnyGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends AnyGenerics> =\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 AnyGenerics> = {\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 AnyGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell<TGenerics extends AnyGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | ReturnType<UseRenderer<TGenerics>>\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends AnyGenerics> = {\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type ToggleGroupingProps = {\n title?: string\n onClick?: (event: unknown) => void\n}\n\nexport type GroupingInstance<TGenerics extends AnyGenerics> = {\n queueResetGrouping: () => void\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n getRowIsGrouped: (rowId: string) => boolean\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping = {\n getDefaultColumn: <\n TGenerics extends AnyGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (): GroupingTableState => {\n return {\n grouping: [],\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n autoResetGrouping: true,\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends AnyGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n aggregationFn: column.aggregationFn,\n getCanGroup: () => instance.getColumnCanGroup(column.id),\n getGroupedIndex: () => instance.getColumnGroupedIndex(column.id),\n getIsGrouped: () => instance.getColumnIsGrouped(column.id),\n toggleGrouping: () => instance.toggleColumnGrouping(column.id),\n getToggleGroupingProps: userProps =>\n instance.getToggleGroupingProps(column.id, userProps),\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetGrouping: () => {\n instance.queueResetExpanded()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGrouping\n ) {\n instance.resetGrouping()\n }\n },\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? instance.getColumnAutoAggregationFn(columnId)\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n toggleColumnGrouping: columnId => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(columnId)) {\n return old.filter(d => d !== columnId)\n }\n\n return [...(old ?? []), columnId]\n })\n },\n\n getColumnCanGroup: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableGrouping ??\n instance.options.enableGrouping ??\n column.defaultCanGroup ??\n !!column.accessorFn\n )\n },\n\n getColumnIsGrouped: columnId => {\n return instance.getState().grouping?.includes(columnId)\n },\n\n getColumnGroupedIndex: columnId =>\n instance.getState().grouping?.indexOf(columnId),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getToggleGroupingProps: (columnId, userProps) => {\n const column = instance.getColumn(columnId)\n\n const canGroup = column.getCanGroup()\n\n const initialProps: ToggleGroupingProps = {\n title: canGroup ? 'Toggle Grouping' : undefined,\n onClick: canGroup\n ? (e: unknown) => {\n column.toggleGrouping?.()\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (!instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends AnyGenerics>(\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 AnyGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n value: cell.value,\n })\n : null\n },\n }\n },\n\n orderColumns: <TGenerics extends AnyGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n ) => {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n },\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingProps","userProps","getInstance","registered","queueResetGrouping","queueResetExpanded","options","autoResetAll","resetGrouping","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","Error","isFunction","setGrouping","updater","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","getState","indexOf","initialState","canGroup","initialProps","title","undefined","onClick","e","propGetter","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","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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"}