@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.
Files changed (112) hide show
  1. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +112 -0
  2. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/build/cjs/aggregationTypes.js +130 -0
  4. package/build/cjs/aggregationTypes.js.map +1 -0
  5. package/build/cjs/core.js +545 -0
  6. package/build/cjs/core.js.map +1 -0
  7. package/build/cjs/createTable.js +65 -0
  8. package/build/cjs/createTable.js.map +1 -0
  9. package/build/cjs/features/ColumnSizing.js +316 -0
  10. package/build/cjs/features/ColumnSizing.js.map +1 -0
  11. package/build/cjs/features/Expanding.js +238 -0
  12. package/build/cjs/features/Expanding.js.map +1 -0
  13. package/build/cjs/features/Filters.js +413 -0
  14. package/build/cjs/features/Filters.js.map +1 -0
  15. package/build/cjs/features/Grouping.js +227 -0
  16. package/build/cjs/features/Grouping.js.map +1 -0
  17. package/build/cjs/features/Headers.js +630 -0
  18. package/build/cjs/features/Headers.js.map +1 -0
  19. package/build/cjs/features/Ordering.js +86 -0
  20. package/build/cjs/features/Ordering.js.map +1 -0
  21. package/build/cjs/features/Pagination.js +193 -0
  22. package/build/cjs/features/Pagination.js.map +1 -0
  23. package/build/cjs/features/Pinning.js +148 -0
  24. package/build/cjs/features/Pinning.js.map +1 -0
  25. package/build/cjs/features/RowSelection.js +525 -0
  26. package/build/cjs/features/RowSelection.js.map +1 -0
  27. package/build/cjs/features/Sorting.js +313 -0
  28. package/build/cjs/features/Sorting.js.map +1 -0
  29. package/build/cjs/features/Visibility.js +172 -0
  30. package/build/cjs/features/Visibility.js.map +1 -0
  31. package/build/cjs/filterTypes.js +172 -0
  32. package/build/cjs/filterTypes.js.map +1 -0
  33. package/build/cjs/index.js +75 -0
  34. package/build/cjs/index.js.map +1 -0
  35. package/build/cjs/sortTypes.js +122 -0
  36. package/build/cjs/sortTypes.js.map +1 -0
  37. package/build/cjs/types.js +22 -0
  38. package/build/cjs/types.js.map +1 -0
  39. package/build/cjs/utils/columnFilterRowsFn.js +131 -0
  40. package/build/cjs/utils/columnFilterRowsFn.js.map +1 -0
  41. package/build/cjs/utils/expandRowsFn.js +38 -0
  42. package/build/cjs/utils/expandRowsFn.js.map +1 -0
  43. package/build/cjs/utils/globalFilterRowsFn.js +101 -0
  44. package/build/cjs/utils/globalFilterRowsFn.js.map +1 -0
  45. package/build/cjs/utils/groupRowsFn.js +155 -0
  46. package/build/cjs/utils/groupRowsFn.js.map +1 -0
  47. package/build/cjs/utils/paginateRowsFn.js +44 -0
  48. package/build/cjs/utils/paginateRowsFn.js.map +1 -0
  49. package/build/cjs/utils/sortRowsFn.js +94 -0
  50. package/build/cjs/utils/sortRowsFn.js.map +1 -0
  51. package/build/cjs/utils.js +167 -0
  52. package/build/cjs/utils.js.map +1 -0
  53. package/build/esm/index.js +4689 -0
  54. package/build/esm/index.js.map +1 -0
  55. package/build/stats-html.html +2689 -0
  56. package/build/stats-react.json +939 -0
  57. package/build/types/aggregationTypes.d.ts +22 -0
  58. package/build/types/core.d.ts +105 -0
  59. package/build/types/createTable.d.ts +42 -0
  60. package/build/types/features/ColumnSizing.d.ts +75 -0
  61. package/build/types/features/Expanding.d.ts +50 -0
  62. package/build/types/features/Filters.d.ts +92 -0
  63. package/build/types/features/Grouping.d.ts +85 -0
  64. package/build/types/features/Headers.d.ts +43 -0
  65. package/build/types/features/Ordering.d.ts +21 -0
  66. package/build/types/features/Pagination.d.ts +41 -0
  67. package/build/types/features/Pinning.d.ts +41 -0
  68. package/build/types/features/RowSelection.d.ts +60 -0
  69. package/build/types/features/Sorting.d.ts +81 -0
  70. package/build/types/features/Visibility.d.ts +49 -0
  71. package/build/types/filterTypes.d.ts +50 -0
  72. package/build/types/index.d.ts +23 -0
  73. package/build/types/sortTypes.d.ts +18 -0
  74. package/build/types/types.d.ts +138 -0
  75. package/build/types/utils/columnFilterRowsFn.d.ts +2 -0
  76. package/build/types/utils/expandRowsFn.d.ts +2 -0
  77. package/build/types/utils/globalFilterRowsFn.d.ts +2 -0
  78. package/build/types/utils/groupRowsFn.d.ts +2 -0
  79. package/build/types/utils/paginateRowsFn.d.ts +2 -0
  80. package/build/types/utils/sortRowsFn.d.ts +2 -0
  81. package/build/types/utils.d.ts +23 -0
  82. package/build/umd/index.development.js +4728 -0
  83. package/build/umd/index.development.js.map +1 -0
  84. package/build/umd/index.production.js +12 -0
  85. package/build/umd/index.production.js.map +1 -0
  86. package/package.json +40 -0
  87. package/src/.DS_Store +0 -0
  88. package/src/aggregationTypes.ts +115 -0
  89. package/src/core.tsx +763 -0
  90. package/src/createTable.tsx +137 -0
  91. package/src/features/ColumnSizing.ts +432 -0
  92. package/src/features/Expanding.ts +320 -0
  93. package/src/features/Filters.ts +567 -0
  94. package/src/features/Grouping.ts +363 -0
  95. package/src/features/Headers.ts +747 -0
  96. package/src/features/Ordering.ts +112 -0
  97. package/src/features/Pagination.ts +252 -0
  98. package/src/features/Pinning.ts +177 -0
  99. package/src/features/RowSelection.ts +655 -0
  100. package/src/features/Sorting.ts +460 -0
  101. package/src/features/Visibility.ts +242 -0
  102. package/src/filterTypes.ts +188 -0
  103. package/src/index.tsx +23 -0
  104. package/src/sortTypes.ts +147 -0
  105. package/src/types.ts +311 -0
  106. package/src/utils/columnFilterRowsFn.ts +113 -0
  107. package/src/utils/expandRowsFn.ts +30 -0
  108. package/src/utils/globalFilterRowsFn.ts +89 -0
  109. package/src/utils/groupRowsFn.ts +170 -0
  110. package/src/utils/paginateRowsFn.ts +28 -0
  111. package/src/utils/sortRowsFn.ts +95 -0
  112. 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
+ }