@tanstack/table-core 8.5.3 → 8.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tanstack/table-core",
3
3
  "author": "Tanner Linsley",
4
- "version": "8.5.3",
4
+ "version": "8.5.6",
5
5
  "description": "Headless UI for building powerful tables & datagrids for TS/JS.",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/tanstack/table#readme",
@@ -15,6 +15,7 @@ import { DeepKeys, DeepValue, RequiredKeys } from './utils'
15
15
  // visits: number
16
16
  // status: string
17
17
  // progress: number
18
+ // createdAt: Date
18
19
  // nested: {
19
20
  // foo: [
20
21
  // {
@@ -267,7 +267,7 @@ export const RowSelection: TableFeature = {
267
267
  // },
268
268
 
269
269
  getIsAllRowsSelected: () => {
270
- const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows
270
+ const preGroupedFlatRows = table.getFilteredRowModel().flatRows
271
271
  const { rowSelection } = table.getState()
272
272
 
273
273
  let isAllRowsSelected = Boolean(
@@ -309,7 +309,7 @@ export const RowSelection: TableFeature = {
309
309
  ).length
310
310
  return (
311
311
  totalSelected > 0 &&
312
- totalSelected < table.getCoreRowModel().flatRows.length
312
+ totalSelected < table.getFilteredRowModel().flatRows.length
313
313
  )
314
314
  },
315
315
 
package/src/utils.ts CHANGED
@@ -48,16 +48,48 @@ export type DeepKeys<T> = unknown extends T
48
48
  : object extends T
49
49
  ? string
50
50
  : T extends readonly any[] & IsTuple<T>
51
- ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>>
51
+ ? AllowedIndexes<T> | DeepKeysPrefix<T>
52
52
  : T extends any[]
53
53
  ? never & 'Dynamic length array indexing is not supported'
54
+ : T extends Date
55
+ ? never
54
56
  : T extends object
55
- ? (keyof T & string) | DeepKeysPrefix<T, keyof T>
57
+ ? (keyof T & string) | DeepKeysPrefix<T>
56
58
  : never
57
59
 
58
- type DeepKeysPrefix<T, TPrefix> = TPrefix extends keyof T & (number | string)
59
- ? `${TPrefix}.${DeepKeys<T[TPrefix]> & string}`
60
- : never
60
+ type Key = string | number | symbol
61
+ type Join<L extends Key | undefined, R extends Key | undefined> = L extends
62
+ | string
63
+ | number
64
+ ? R extends string | number
65
+ ? `${L}.${R}`
66
+ : L
67
+ : R extends string | number
68
+ ? R
69
+ : undefined
70
+ type Union<
71
+ L extends unknown | undefined,
72
+ R extends unknown | undefined
73
+ > = L extends undefined
74
+ ? R extends undefined
75
+ ? undefined
76
+ : R
77
+ : R extends undefined
78
+ ? L
79
+ : L | R
80
+ type DeepKeysPrefix<
81
+ T extends object,
82
+ Prev extends Key | undefined = undefined,
83
+ Path extends Key | undefined = undefined,
84
+ PrevTypes extends object = T
85
+ > = string &
86
+ {
87
+ [K in keyof T]: T[K] extends PrevTypes | T
88
+ ? Union<Union<Prev, Path>, Join<Path, K>>
89
+ : T[K] extends object
90
+ ? DeepKeysPrefix<T[K], Union<Prev, Path>, Join<Path, K>, PrevTypes | T>
91
+ : Union<Union<Prev, Path>, Join<Path, K>>
92
+ }[keyof T]
61
93
 
62
94
  export type DeepValue<T, TProp> = T extends Record<string | number, any>
63
95
  ? TProp extends `${infer TBranch}.${infer TDeepProp}`