@tanstack/table-core 8.0.0-alpha.10
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/build/cjs/_virtual/_rollupPluginBabelHelpers.js +112 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/build/cjs/aggregationTypes.js +130 -0
- package/build/cjs/aggregationTypes.js.map +1 -0
- package/build/cjs/core.js +545 -0
- package/build/cjs/core.js.map +1 -0
- package/build/cjs/createTable.js +65 -0
- package/build/cjs/createTable.js.map +1 -0
- package/build/cjs/features/ColumnSizing.js +316 -0
- package/build/cjs/features/ColumnSizing.js.map +1 -0
- package/build/cjs/features/Expanding.js +238 -0
- package/build/cjs/features/Expanding.js.map +1 -0
- package/build/cjs/features/Filters.js +413 -0
- package/build/cjs/features/Filters.js.map +1 -0
- package/build/cjs/features/Grouping.js +227 -0
- package/build/cjs/features/Grouping.js.map +1 -0
- package/build/cjs/features/Headers.js +630 -0
- package/build/cjs/features/Headers.js.map +1 -0
- package/build/cjs/features/Ordering.js +86 -0
- package/build/cjs/features/Ordering.js.map +1 -0
- package/build/cjs/features/Pagination.js +193 -0
- package/build/cjs/features/Pagination.js.map +1 -0
- package/build/cjs/features/Pinning.js +148 -0
- package/build/cjs/features/Pinning.js.map +1 -0
- package/build/cjs/features/RowSelection.js +525 -0
- package/build/cjs/features/RowSelection.js.map +1 -0
- package/build/cjs/features/Sorting.js +313 -0
- package/build/cjs/features/Sorting.js.map +1 -0
- package/build/cjs/features/Visibility.js +172 -0
- package/build/cjs/features/Visibility.js.map +1 -0
- package/build/cjs/filterTypes.js +172 -0
- package/build/cjs/filterTypes.js.map +1 -0
- package/build/cjs/index.js +75 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/sortTypes.js +122 -0
- package/build/cjs/sortTypes.js.map +1 -0
- package/build/cjs/types.js +22 -0
- package/build/cjs/types.js.map +1 -0
- package/build/cjs/utils/columnFilterRowsFn.js +131 -0
- package/build/cjs/utils/columnFilterRowsFn.js.map +1 -0
- package/build/cjs/utils/expandRowsFn.js +38 -0
- package/build/cjs/utils/expandRowsFn.js.map +1 -0
- package/build/cjs/utils/globalFilterRowsFn.js +101 -0
- package/build/cjs/utils/globalFilterRowsFn.js.map +1 -0
- package/build/cjs/utils/groupRowsFn.js +155 -0
- package/build/cjs/utils/groupRowsFn.js.map +1 -0
- package/build/cjs/utils/paginateRowsFn.js +44 -0
- package/build/cjs/utils/paginateRowsFn.js.map +1 -0
- package/build/cjs/utils/sortRowsFn.js +94 -0
- package/build/cjs/utils/sortRowsFn.js.map +1 -0
- package/build/cjs/utils.js +167 -0
- package/build/cjs/utils.js.map +1 -0
- package/build/esm/index.js +4689 -0
- package/build/esm/index.js.map +1 -0
- package/build/stats-html.html +2689 -0
- package/build/stats-react.json +939 -0
- package/build/types/aggregationTypes.d.ts +22 -0
- package/build/types/core.d.ts +105 -0
- package/build/types/createTable.d.ts +42 -0
- package/build/types/features/ColumnSizing.d.ts +75 -0
- package/build/types/features/Expanding.d.ts +50 -0
- package/build/types/features/Filters.d.ts +92 -0
- package/build/types/features/Grouping.d.ts +85 -0
- package/build/types/features/Headers.d.ts +43 -0
- package/build/types/features/Ordering.d.ts +21 -0
- package/build/types/features/Pagination.d.ts +41 -0
- package/build/types/features/Pinning.d.ts +41 -0
- package/build/types/features/RowSelection.d.ts +60 -0
- package/build/types/features/Sorting.d.ts +81 -0
- package/build/types/features/Visibility.d.ts +49 -0
- package/build/types/filterTypes.d.ts +50 -0
- package/build/types/index.d.ts +23 -0
- package/build/types/sortTypes.d.ts +18 -0
- package/build/types/types.d.ts +138 -0
- package/build/types/utils/columnFilterRowsFn.d.ts +2 -0
- package/build/types/utils/expandRowsFn.d.ts +2 -0
- package/build/types/utils/globalFilterRowsFn.d.ts +2 -0
- package/build/types/utils/groupRowsFn.d.ts +2 -0
- package/build/types/utils/paginateRowsFn.d.ts +2 -0
- package/build/types/utils/sortRowsFn.d.ts +2 -0
- package/build/types/utils.d.ts +23 -0
- package/build/umd/index.development.js +4728 -0
- package/build/umd/index.development.js.map +1 -0
- package/build/umd/index.production.js +12 -0
- package/build/umd/index.production.js.map +1 -0
- package/package.json +40 -0
- package/src/.DS_Store +0 -0
- package/src/aggregationTypes.ts +115 -0
- package/src/core.tsx +763 -0
- package/src/createTable.tsx +137 -0
- package/src/features/ColumnSizing.ts +432 -0
- package/src/features/Expanding.ts +320 -0
- package/src/features/Filters.ts +567 -0
- package/src/features/Grouping.ts +363 -0
- package/src/features/Headers.ts +747 -0
- package/src/features/Ordering.ts +112 -0
- package/src/features/Pagination.ts +252 -0
- package/src/features/Pinning.ts +177 -0
- package/src/features/RowSelection.ts +655 -0
- package/src/features/Sorting.ts +460 -0
- package/src/features/Visibility.ts +242 -0
- package/src/filterTypes.ts +188 -0
- package/src/index.tsx +23 -0
- package/src/sortTypes.ts +147 -0
- package/src/types.ts +311 -0
- package/src/utils/columnFilterRowsFn.ts +113 -0
- package/src/utils/expandRowsFn.ts +30 -0
- package/src/utils/globalFilterRowsFn.ts +89 -0
- package/src/utils/groupRowsFn.ts +170 -0
- package/src/utils/paginateRowsFn.ts +28 -0
- package/src/utils/sortRowsFn.ts +95 -0
- package/src/utils.tsx +221 -0
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tanstack/table-core",
|
|
3
|
+
"author": "Tanner Linsley",
|
|
4
|
+
"version": "8.0.0-alpha.10",
|
|
5
|
+
"description": "Hooks for building lightweight, fast and extendable datagrids for React",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://github.com/tanstack/react-table#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/tanstack/react-table.git"
|
|
11
|
+
},
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"registry": "https://registry.npmjs.org/"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"react",
|
|
17
|
+
"table",
|
|
18
|
+
"table-core",
|
|
19
|
+
"datagrid"
|
|
20
|
+
],
|
|
21
|
+
"funding": {
|
|
22
|
+
"type": "github",
|
|
23
|
+
"url": "https://github.com/sponsors/tannerlinsley"
|
|
24
|
+
},
|
|
25
|
+
"module": "build/esm/index.js",
|
|
26
|
+
"main": "build/cjs/index.js",
|
|
27
|
+
"browser": "build/umd/index.production.min.js",
|
|
28
|
+
"types": "build/types/index.d.ts",
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=12"
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"build",
|
|
34
|
+
"src"
|
|
35
|
+
],
|
|
36
|
+
"peerDependencies": {
|
|
37
|
+
"react": ">=16",
|
|
38
|
+
"react-dom": ">=16"
|
|
39
|
+
}
|
|
40
|
+
}
|
package/src/.DS_Store
ADDED
|
Binary file
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
export const aggregationTypes = {
|
|
2
|
+
sum,
|
|
3
|
+
min,
|
|
4
|
+
max,
|
|
5
|
+
extent,
|
|
6
|
+
mean,
|
|
7
|
+
median,
|
|
8
|
+
unique,
|
|
9
|
+
uniqueCount,
|
|
10
|
+
count,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type BuiltInAggregationType = keyof typeof aggregationTypes
|
|
14
|
+
|
|
15
|
+
function sum(_leafValues: unknown[], childValues: unknown[]) {
|
|
16
|
+
// It's faster to just add the aggregations together instead of
|
|
17
|
+
// process leaf nodes individually
|
|
18
|
+
return childValues.reduce(
|
|
19
|
+
(sum: number, next: unknown) => sum + (typeof next === 'number' ? next : 0),
|
|
20
|
+
0
|
|
21
|
+
)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function min(_leafValues: unknown[], childValues: unknown[]) {
|
|
25
|
+
let min: number | undefined
|
|
26
|
+
|
|
27
|
+
for (const value of childValues as number[]) {
|
|
28
|
+
if (
|
|
29
|
+
value != null &&
|
|
30
|
+
(min! > value || (min === undefined && value >= value))
|
|
31
|
+
) {
|
|
32
|
+
min = value
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return min
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function max(_leafValues: unknown[], childValues: unknown[]) {
|
|
40
|
+
let max: number | undefined
|
|
41
|
+
|
|
42
|
+
for (const value of childValues as number[]) {
|
|
43
|
+
if (
|
|
44
|
+
value != null &&
|
|
45
|
+
(max! < value || (max === undefined && value >= value))
|
|
46
|
+
) {
|
|
47
|
+
max = value
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return max
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function extent(_leafValues: unknown[], childValues: unknown[]) {
|
|
55
|
+
let min: number | undefined
|
|
56
|
+
let max: number | undefined
|
|
57
|
+
|
|
58
|
+
for (const value of childValues as number[]) {
|
|
59
|
+
if (value != null) {
|
|
60
|
+
if (min === undefined) {
|
|
61
|
+
if (value >= value) min = max = value
|
|
62
|
+
} else {
|
|
63
|
+
if (min > value) min = value
|
|
64
|
+
if (max! < value) max = value
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return [min, max]
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function mean(leafValues: unknown[]) {
|
|
73
|
+
let count = 0
|
|
74
|
+
let sum = 0
|
|
75
|
+
|
|
76
|
+
for (let value of leafValues as number[]) {
|
|
77
|
+
if (value != null && (value = +value) >= value) {
|
|
78
|
+
++count, (sum += value)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (count) return sum / count
|
|
83
|
+
|
|
84
|
+
return
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function median(values: unknown[]) {
|
|
88
|
+
if (!values.length) {
|
|
89
|
+
return
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
let min = 0
|
|
93
|
+
let max = 0
|
|
94
|
+
|
|
95
|
+
values.forEach(value => {
|
|
96
|
+
if (typeof value === 'number') {
|
|
97
|
+
min = Math.min(min, value)
|
|
98
|
+
max = Math.max(max, value)
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
return (min + max) / 2
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function unique<T>(values: T[]) {
|
|
106
|
+
return Array.from(new Set(values).values())
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function uniqueCount(values: unknown[]) {
|
|
110
|
+
return new Set(values).size
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function count(values: unknown[]) {
|
|
114
|
+
return values.length
|
|
115
|
+
}
|