@cdx-ui/data-grid 0.3.11 → 0.3.13
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/README.md +3 -1
- package/coverage.svg +1 -1
- package/lib/commonjs/DataGrid.js +490 -81
- package/lib/commonjs/DataGrid.js.map +1 -1
- package/lib/commonjs/DataGridFilterPanel.js +547 -0
- package/lib/commonjs/DataGridFilterPanel.js.map +1 -0
- package/lib/commonjs/adapter/columnTypes.js +256 -0
- package/lib/commonjs/adapter/columnTypes.js.map +1 -0
- package/lib/commonjs/adapter/columns.js +140 -4
- package/lib/commonjs/adapter/columns.js.map +1 -1
- package/lib/commonjs/adapter/filterOperators.js +422 -0
- package/lib/commonjs/adapter/filterOperators.js.map +1 -0
- package/lib/commonjs/adapter/pinning.js +105 -0
- package/lib/commonjs/adapter/pinning.js.map +1 -0
- package/lib/commonjs/adapter/selectColumn.js +11 -0
- package/lib/commonjs/adapter/selectColumn.js.map +1 -1
- package/lib/commonjs/adapter/treeData.js +195 -0
- package/lib/commonjs/adapter/treeData.js.map +1 -0
- package/lib/commonjs/index.js +26 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/numberCells.js +280 -0
- package/lib/commonjs/numberCells.js.map +1 -0
- package/lib/commonjs/styles.js +107 -1
- package/lib/commonjs/styles.js.map +1 -1
- package/lib/commonjs/types.js +39 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useDataGridTable.js +234 -18
- package/lib/commonjs/useDataGridTable.js.map +1 -1
- package/lib/module/DataGrid.js +497 -88
- package/lib/module/DataGrid.js.map +1 -1
- package/lib/module/DataGridFilterPanel.js +540 -0
- package/lib/module/DataGridFilterPanel.js.map +1 -0
- package/lib/module/adapter/columnTypes.js +240 -0
- package/lib/module/adapter/columnTypes.js.map +1 -0
- package/lib/module/adapter/columns.js +137 -4
- package/lib/module/adapter/columns.js.map +1 -1
- package/lib/module/adapter/filterOperators.js +406 -0
- package/lib/module/adapter/filterOperators.js.map +1 -0
- package/lib/module/adapter/pinning.js +94 -0
- package/lib/module/adapter/pinning.js.map +1 -0
- package/lib/module/adapter/selectColumn.js +11 -1
- package/lib/module/adapter/selectColumn.js.map +1 -1
- package/lib/module/adapter/treeData.js +187 -0
- package/lib/module/adapter/treeData.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/numberCells.js +275 -0
- package/lib/module/numberCells.js.map +1 -0
- package/lib/module/styles.js +106 -0
- package/lib/module/styles.js.map +1 -1
- package/lib/module/types.js +38 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useDataGridTable.js +238 -22
- package/lib/module/useDataGridTable.js.map +1 -1
- package/lib/typescript/DataGrid.d.ts.map +1 -1
- package/lib/typescript/DataGridFilterPanel.d.ts +52 -0
- package/lib/typescript/DataGridFilterPanel.d.ts.map +1 -0
- package/lib/typescript/adapter/columnTypes.d.ts +32 -0
- package/lib/typescript/adapter/columnTypes.d.ts.map +1 -0
- package/lib/typescript/adapter/columns.d.ts +14 -5
- package/lib/typescript/adapter/columns.d.ts.map +1 -1
- package/lib/typescript/adapter/filterOperators.d.ts +43 -0
- package/lib/typescript/adapter/filterOperators.d.ts.map +1 -0
- package/lib/typescript/adapter/pinning.d.ts +26 -0
- package/lib/typescript/adapter/pinning.d.ts.map +1 -0
- package/lib/typescript/adapter/selectColumn.d.ts +8 -0
- package/lib/typescript/adapter/selectColumn.d.ts.map +1 -1
- package/lib/typescript/adapter/treeData.d.ts +36 -0
- package/lib/typescript/adapter/treeData.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +4 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/numberCells.d.ts +46 -0
- package/lib/typescript/numberCells.d.ts.map +1 -0
- package/lib/typescript/styles.d.ts +32 -0
- package/lib/typescript/styles.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +154 -7
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/useDataGridTable.d.ts +40 -4
- package/lib/typescript/useDataGridTable.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/DataGrid.tsx +745 -95
- package/src/DataGridFilterPanel.tsx +648 -0
- package/src/adapter/columnTypes.ts +327 -0
- package/src/adapter/columns.test.ts +75 -1
- package/src/adapter/columns.ts +192 -3
- package/src/adapter/filterOperators.test.ts +292 -0
- package/src/adapter/filterOperators.ts +524 -0
- package/src/adapter/pinning.ts +134 -0
- package/src/adapter/selectColumn.ts +12 -1
- package/src/adapter/treeData.ts +228 -0
- package/src/index.ts +19 -0
- package/src/numberCells.tsx +379 -0
- package/src/styles.ts +131 -0
- package/src/types.ts +190 -7
- package/src/useDataGridTable.test.ts +69 -0
- package/src/useDataGridTable.ts +338 -17
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/** The shape TanStack rows share; filtered and sorted rows carry their filtered `subRows`. */
|
|
4
|
+
|
|
5
|
+
const pathKey = path => JSON.stringify(path);
|
|
6
|
+
const warnedDuplicatePaths = new Set();
|
|
7
|
+
export function buildTreeIndex(rows, getTreeDataPath, keyOf) {
|
|
8
|
+
const byPath = new Map();
|
|
9
|
+
const paths = new Map();
|
|
10
|
+
for (const row of rows) {
|
|
11
|
+
const path = getTreeDataPath(row);
|
|
12
|
+
const key = pathKey(path);
|
|
13
|
+
if (__DEV__ && byPath.has(key) && !warnedDuplicatePaths.has(key)) {
|
|
14
|
+
warnedDuplicatePaths.add(key);
|
|
15
|
+
console.warn(`[DataGrid] Duplicate tree data path ${key}. Paths must be unique.`);
|
|
16
|
+
}
|
|
17
|
+
byPath.set(key, row);
|
|
18
|
+
paths.set(row, path);
|
|
19
|
+
}
|
|
20
|
+
const roots = [];
|
|
21
|
+
const childrenOf = new Map();
|
|
22
|
+
const rowOf = new Map();
|
|
23
|
+
const parentKeyOf = new Map();
|
|
24
|
+
const childKeysOf = new Map();
|
|
25
|
+
for (const row of rows) {
|
|
26
|
+
const path = paths.get(row) ?? [];
|
|
27
|
+
const key = keyOf(row);
|
|
28
|
+
rowOf.set(key, row);
|
|
29
|
+
let parent;
|
|
30
|
+
for (let length = path.length - 1; length > 0 && parent === undefined; length -= 1) {
|
|
31
|
+
parent = byPath.get(pathKey(path.slice(0, length)));
|
|
32
|
+
}
|
|
33
|
+
if (parent === undefined || parent === row) {
|
|
34
|
+
roots.push(row);
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
const parentKey = keyOf(parent);
|
|
38
|
+
parentKeyOf.set(key, parentKey);
|
|
39
|
+
const siblings = childrenOf.get(parent);
|
|
40
|
+
if (siblings) {
|
|
41
|
+
siblings.push(row);
|
|
42
|
+
} else {
|
|
43
|
+
childrenOf.set(parent, [row]);
|
|
44
|
+
}
|
|
45
|
+
const siblingKeys = childKeysOf.get(parentKey);
|
|
46
|
+
if (siblingKeys) {
|
|
47
|
+
siblingKeys.push(key);
|
|
48
|
+
} else {
|
|
49
|
+
childKeysOf.set(parentKey, [key]);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const depthOf = new Map();
|
|
53
|
+
const breadthFirst = roots.map(row => keyOf(row));
|
|
54
|
+
for (const key of breadthFirst) {
|
|
55
|
+
depthOf.set(key, 0);
|
|
56
|
+
}
|
|
57
|
+
// The array iterator also visits children pushed during the loop.
|
|
58
|
+
for (const key of breadthFirst) {
|
|
59
|
+
for (const child of childKeysOf.get(key) ?? []) {
|
|
60
|
+
depthOf.set(child, (depthOf.get(key) ?? 0) + 1);
|
|
61
|
+
breadthFirst.push(child);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
roots,
|
|
66
|
+
childrenOf,
|
|
67
|
+
rowOf,
|
|
68
|
+
parentKeyOf,
|
|
69
|
+
childKeysOf,
|
|
70
|
+
depthOf,
|
|
71
|
+
keysDeepestFirst: breadthFirst.reverse()
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* With `propagateParents`, a parent is `all` exactly when every child is `all`, whatever the model
|
|
77
|
+
* says about the parent itself. Without it, a parent's own selection decides, and partly selected
|
|
78
|
+
* descendants show as `some`.
|
|
79
|
+
*/
|
|
80
|
+
export function computeTreeSelection(index, selected, propagateParents) {
|
|
81
|
+
const status = new Map();
|
|
82
|
+
for (const key of index.keysDeepestFirst) {
|
|
83
|
+
const isSelected = selected.has(key);
|
|
84
|
+
const children = index.childKeysOf.get(key);
|
|
85
|
+
if (!children?.length) {
|
|
86
|
+
status.set(key, isSelected ? 'all' : 'none');
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
let all = true;
|
|
90
|
+
let some = false;
|
|
91
|
+
for (const child of children) {
|
|
92
|
+
const childStatus = status.get(child) ?? 'none';
|
|
93
|
+
if (childStatus !== 'all') {
|
|
94
|
+
all = false;
|
|
95
|
+
}
|
|
96
|
+
if (childStatus !== 'none') {
|
|
97
|
+
some = true;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (propagateParents) {
|
|
101
|
+
status.set(key, all ? 'all' : some || isSelected ? 'some' : 'none');
|
|
102
|
+
} else {
|
|
103
|
+
status.set(key, isSelected ? 'all' : some ? 'some' : 'none');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return status;
|
|
107
|
+
}
|
|
108
|
+
export function applyTreeSelection(index, selected, targets, value, propagateParents) {
|
|
109
|
+
const next = new Set(selected);
|
|
110
|
+
for (const key of targets) {
|
|
111
|
+
if (value) {
|
|
112
|
+
next.add(key);
|
|
113
|
+
} else {
|
|
114
|
+
next.delete(key);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (propagateParents) {
|
|
118
|
+
for (const key of index.keysDeepestFirst) {
|
|
119
|
+
const children = index.childKeysOf.get(key);
|
|
120
|
+
if (!children?.length) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
if (children.every(child => next.has(child))) {
|
|
124
|
+
next.add(key);
|
|
125
|
+
} else {
|
|
126
|
+
next.delete(key);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return next;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Rows a toggle writes (`targets`) and the rows whose state decides the toggle direction
|
|
135
|
+
* (`units`). With `descendants`, a row's filtered sub-rows are included; a row whose children were
|
|
136
|
+
* all filtered out takes its whole subtree, so a matching group can still be picked.
|
|
137
|
+
*/
|
|
138
|
+
export function selectionScope(rows, index, descendants) {
|
|
139
|
+
const targets = [];
|
|
140
|
+
const units = [];
|
|
141
|
+
const visitFullSubtree = key => {
|
|
142
|
+
targets.push(key);
|
|
143
|
+
const children = index.childKeysOf.get(key);
|
|
144
|
+
if (!children?.length) {
|
|
145
|
+
units.push(key);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
children.forEach(visitFullSubtree);
|
|
149
|
+
};
|
|
150
|
+
const visit = row => {
|
|
151
|
+
if (!descendants) {
|
|
152
|
+
targets.push(row.id);
|
|
153
|
+
units.push(row.id);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if (row.subRows.length === 0) {
|
|
157
|
+
visitFullSubtree(row.id);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
targets.push(row.id);
|
|
161
|
+
row.subRows.forEach(visit);
|
|
162
|
+
};
|
|
163
|
+
rows.forEach(visit);
|
|
164
|
+
return {
|
|
165
|
+
targets,
|
|
166
|
+
units
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/** Keeps every row that matches and every ancestor of a match. */
|
|
171
|
+
export function keepMatchesWithAncestors(rows, index, keyOf, matches) {
|
|
172
|
+
const keep = new Set();
|
|
173
|
+
for (const row of rows) {
|
|
174
|
+
if (!matches(row)) {
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
for (let key = keyOf(row); key !== undefined;) {
|
|
178
|
+
if (keep.has(key)) {
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
keep.add(key);
|
|
182
|
+
key = index.parentKeyOf.get(key);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return rows.filter(row => keep.has(keyOf(row)));
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=treeData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pathKey","path","JSON","stringify","warnedDuplicatePaths","Set","buildTreeIndex","rows","getTreeDataPath","keyOf","byPath","Map","paths","row","key","__DEV__","has","add","console","warn","set","roots","childrenOf","rowOf","parentKeyOf","childKeysOf","get","parent","length","undefined","slice","push","parentKey","siblings","siblingKeys","depthOf","breadthFirst","map","child","keysDeepestFirst","reverse","computeTreeSelection","index","selected","propagateParents","status","isSelected","children","all","some","childStatus","applyTreeSelection","targets","value","next","delete","every","selectionScope","descendants","units","visitFullSubtree","forEach","visit","id","subRows","keepMatchesWithAncestors","matches","keep","filter"],"sourceRoot":"../../../src","sources":["adapter/treeData.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
export { DataGrid } from './DataGrid';
|
|
4
|
+
export { getDefaultFilterOperator, getGridFilterOperators } from './adapter/filterOperators';
|
|
5
|
+
export { gridDeltaNumberColDef, gridPolarityNumberColDef } from './numberCells';
|
|
4
6
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DataGrid"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,YAAY","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DataGrid","getDefaultFilterOperator","getGridFilterOperators","gridDeltaNumberColDef","gridPolarityNumberColDef"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,YAAY;AACrC,SAASC,wBAAwB,EAAEC,sBAAsB,QAAQ,2BAA2B;AAC5F,SAASC,qBAAqB,EAAEC,wBAAwB,QAAQ,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { View } from 'react-native';
|
|
4
|
+
import { Text } from '@cdx-ui/components';
|
|
5
|
+
import { ArrowDropDown, ArrowDropUp, TrendingDown, TrendingFlat, TrendingUp } from '@cdx-ui/icons';
|
|
6
|
+
import { cn } from '@cdx-ui/utils';
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
/** Unicode minus (U+2212). The spec requires this character, not a hyphen. */
|
|
9
|
+
const MINUS = '\u2212';
|
|
10
|
+
const defaultNumberFormat = new Intl.NumberFormat(undefined, {
|
|
11
|
+
maximumFractionDigits: 20
|
|
12
|
+
});
|
|
13
|
+
const TONE_CLASS = {
|
|
14
|
+
success: 'text-content-success',
|
|
15
|
+
danger: 'text-content-danger',
|
|
16
|
+
neutral: 'text-content-primary'
|
|
17
|
+
};
|
|
18
|
+
const ARROW_SLOT = {
|
|
19
|
+
default: 'h-5 w-3.5 items-center justify-center overflow-hidden',
|
|
20
|
+
compact: 'h-4 w-3 items-center justify-center overflow-hidden'
|
|
21
|
+
};
|
|
22
|
+
const ARROW_SIZE = {
|
|
23
|
+
default: 20,
|
|
24
|
+
compact: 16
|
|
25
|
+
};
|
|
26
|
+
const TREND_SIZE = {
|
|
27
|
+
default: 14,
|
|
28
|
+
compact: 12
|
|
29
|
+
};
|
|
30
|
+
function toFiniteNumber(value) {
|
|
31
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : null;
|
|
32
|
+
}
|
|
33
|
+
function columnValueFormatter(format) {
|
|
34
|
+
if (!format) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
return value => {
|
|
38
|
+
const numeric = toFiniteNumber(value);
|
|
39
|
+
return numeric == null ? '' : format(numeric);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function formatRaw(value, row, col) {
|
|
43
|
+
const formatted = col.valueFormatter?.(value, row, col);
|
|
44
|
+
if (typeof formatted === 'string' && formatted.length > 0) {
|
|
45
|
+
return formatted;
|
|
46
|
+
}
|
|
47
|
+
return defaultNumberFormat.format(value);
|
|
48
|
+
}
|
|
49
|
+
function unsigned(formatted) {
|
|
50
|
+
const withoutSign = formatted.replace(/^[-−+]\s*/, '');
|
|
51
|
+
if (withoutSign.startsWith('(') && withoutSign.endsWith(')')) {
|
|
52
|
+
return withoutSign.slice(1, -1);
|
|
53
|
+
}
|
|
54
|
+
return withoutSign;
|
|
55
|
+
}
|
|
56
|
+
function polarityOf(value) {
|
|
57
|
+
if (value > 0) {
|
|
58
|
+
return 'positive';
|
|
59
|
+
}
|
|
60
|
+
if (value < 0) {
|
|
61
|
+
return 'negative';
|
|
62
|
+
}
|
|
63
|
+
return 'neutral';
|
|
64
|
+
}
|
|
65
|
+
function directionOf(value) {
|
|
66
|
+
if (value > 0) {
|
|
67
|
+
return 'increase';
|
|
68
|
+
}
|
|
69
|
+
if (value < 0) {
|
|
70
|
+
return 'decrease';
|
|
71
|
+
}
|
|
72
|
+
return 'flat';
|
|
73
|
+
}
|
|
74
|
+
function polarityTone(polarity) {
|
|
75
|
+
if (polarity === 'positive') {
|
|
76
|
+
return 'success';
|
|
77
|
+
}
|
|
78
|
+
if (polarity === 'negative') {
|
|
79
|
+
return 'danger';
|
|
80
|
+
}
|
|
81
|
+
return 'neutral';
|
|
82
|
+
}
|
|
83
|
+
function deltaTone(direction, increaseIsGood) {
|
|
84
|
+
if (direction === 'flat') {
|
|
85
|
+
return 'neutral';
|
|
86
|
+
}
|
|
87
|
+
const favorable = direction === 'increase' ? increaseIsGood : !increaseIsGood;
|
|
88
|
+
return favorable ? 'success' : 'danger';
|
|
89
|
+
}
|
|
90
|
+
function polarityLabel(polarity) {
|
|
91
|
+
if (polarity === 'positive') {
|
|
92
|
+
return 'Positive';
|
|
93
|
+
}
|
|
94
|
+
if (polarity === 'negative') {
|
|
95
|
+
return 'Negative';
|
|
96
|
+
}
|
|
97
|
+
return 'Neutral';
|
|
98
|
+
}
|
|
99
|
+
function directionLabel(direction) {
|
|
100
|
+
if (direction === 'increase') {
|
|
101
|
+
return 'Increase';
|
|
102
|
+
}
|
|
103
|
+
if (direction === 'decrease') {
|
|
104
|
+
return 'Decrease';
|
|
105
|
+
}
|
|
106
|
+
return 'No change';
|
|
107
|
+
}
|
|
108
|
+
function NumberReadout({
|
|
109
|
+
label,
|
|
110
|
+
display,
|
|
111
|
+
tone,
|
|
112
|
+
density,
|
|
113
|
+
children
|
|
114
|
+
}) {
|
|
115
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
116
|
+
className: "relative flex-row items-center gap-0.5",
|
|
117
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
118
|
+
className: "absolute h-px w-px overflow-hidden opacity-0",
|
|
119
|
+
children: label
|
|
120
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
121
|
+
"aria-hidden": true,
|
|
122
|
+
accessibilityElementsHidden: true,
|
|
123
|
+
importantForAccessibility: "no-hide-descendants",
|
|
124
|
+
className: "flex-row items-center gap-0.5",
|
|
125
|
+
children: [children, /*#__PURE__*/_jsx(Text, {
|
|
126
|
+
color: tone === 'neutral' ? 'primary' : tone,
|
|
127
|
+
size: density === 'compact' ? 'sm' : 'md',
|
|
128
|
+
children: display
|
|
129
|
+
})]
|
|
130
|
+
})]
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
function ToneIcon({
|
|
134
|
+
icon: Icon,
|
|
135
|
+
tone,
|
|
136
|
+
size,
|
|
137
|
+
slotClassName
|
|
138
|
+
}) {
|
|
139
|
+
return /*#__PURE__*/_jsx(View, {
|
|
140
|
+
className: cn(TONE_CLASS[tone], slotClassName),
|
|
141
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
142
|
+
size: size
|
|
143
|
+
})
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
function PolarityNumberCell({
|
|
147
|
+
value,
|
|
148
|
+
row,
|
|
149
|
+
col,
|
|
150
|
+
density
|
|
151
|
+
}) {
|
|
152
|
+
const numeric = toFiniteNumber(value);
|
|
153
|
+
if (numeric == null) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
const polarity = polarityOf(numeric);
|
|
157
|
+
const magnitude = unsigned(formatRaw(numeric, row, col));
|
|
158
|
+
const display = polarity === 'negative' ? `${MINUS}${magnitude}` : magnitude;
|
|
159
|
+
return /*#__PURE__*/_jsx(NumberReadout, {
|
|
160
|
+
label: `${polarityLabel(polarity)} ${magnitude}`,
|
|
161
|
+
display: display,
|
|
162
|
+
tone: polarityTone(polarity),
|
|
163
|
+
density: density
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function DeltaSymbol({
|
|
167
|
+
direction,
|
|
168
|
+
tone,
|
|
169
|
+
density,
|
|
170
|
+
symbol
|
|
171
|
+
}) {
|
|
172
|
+
if (symbol === 'sign') {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
if (symbol === 'arrow') {
|
|
176
|
+
if (direction === 'flat') {
|
|
177
|
+
return /*#__PURE__*/_jsx(View, {
|
|
178
|
+
className: ARROW_SLOT[density]
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return /*#__PURE__*/_jsx(ToneIcon, {
|
|
182
|
+
icon: direction === 'increase' ? ArrowDropUp : ArrowDropDown,
|
|
183
|
+
tone: tone,
|
|
184
|
+
size: ARROW_SIZE[density],
|
|
185
|
+
slotClassName: ARROW_SLOT[density]
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
const icon = direction === 'increase' ? TrendingUp : direction === 'decrease' ? TrendingDown : TrendingFlat;
|
|
189
|
+
return /*#__PURE__*/_jsx(ToneIcon, {
|
|
190
|
+
icon: icon,
|
|
191
|
+
tone: tone,
|
|
192
|
+
size: TREND_SIZE[density]
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
function DeltaNumberCell({
|
|
196
|
+
value,
|
|
197
|
+
row,
|
|
198
|
+
col,
|
|
199
|
+
density,
|
|
200
|
+
increaseIsGood,
|
|
201
|
+
symbol
|
|
202
|
+
}) {
|
|
203
|
+
const numeric = toFiniteNumber(value);
|
|
204
|
+
if (numeric == null) {
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
const direction = directionOf(numeric);
|
|
208
|
+
const tone = deltaTone(direction, increaseIsGood);
|
|
209
|
+
const magnitude = unsigned(formatRaw(numeric, row, col));
|
|
210
|
+
let display = magnitude;
|
|
211
|
+
if (symbol === 'sign' && direction === 'increase') {
|
|
212
|
+
display = `+${magnitude}`;
|
|
213
|
+
} else if (symbol === 'sign' && direction === 'decrease') {
|
|
214
|
+
display = `${MINUS}${magnitude}`;
|
|
215
|
+
}
|
|
216
|
+
return /*#__PURE__*/_jsx(NumberReadout, {
|
|
217
|
+
label: `${directionLabel(direction)} ${magnitude}`,
|
|
218
|
+
display: display,
|
|
219
|
+
tone: tone,
|
|
220
|
+
density: density,
|
|
221
|
+
children: /*#__PURE__*/_jsx(DeltaSymbol, {
|
|
222
|
+
direction: direction,
|
|
223
|
+
tone: tone,
|
|
224
|
+
density: density,
|
|
225
|
+
symbol: symbol
|
|
226
|
+
})
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
export function gridPolarityNumberColDef(options = {}) {
|
|
230
|
+
const density = options.density ?? 'default';
|
|
231
|
+
return {
|
|
232
|
+
type: 'number',
|
|
233
|
+
align: 'end',
|
|
234
|
+
headerAlign: 'end',
|
|
235
|
+
...(options.valueFormatter ? {
|
|
236
|
+
valueFormatter: columnValueFormatter(options.valueFormatter)
|
|
237
|
+
} : {}),
|
|
238
|
+
renderCell: ({
|
|
239
|
+
value,
|
|
240
|
+
row,
|
|
241
|
+
col
|
|
242
|
+
}) => /*#__PURE__*/_jsx(PolarityNumberCell, {
|
|
243
|
+
value: value,
|
|
244
|
+
row: row,
|
|
245
|
+
col: col,
|
|
246
|
+
density: density
|
|
247
|
+
})
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
export function gridDeltaNumberColDef(options = {}) {
|
|
251
|
+
const density = options.density ?? 'default';
|
|
252
|
+
const increaseIsGood = options.increaseIsGood ?? true;
|
|
253
|
+
const symbol = options.symbol ?? 'arrow';
|
|
254
|
+
return {
|
|
255
|
+
type: 'number',
|
|
256
|
+
align: 'end',
|
|
257
|
+
headerAlign: 'end',
|
|
258
|
+
...(options.valueFormatter ? {
|
|
259
|
+
valueFormatter: columnValueFormatter(options.valueFormatter)
|
|
260
|
+
} : {}),
|
|
261
|
+
renderCell: ({
|
|
262
|
+
value,
|
|
263
|
+
row,
|
|
264
|
+
col
|
|
265
|
+
}) => /*#__PURE__*/_jsx(DeltaNumberCell, {
|
|
266
|
+
value: value,
|
|
267
|
+
row: row,
|
|
268
|
+
col: col,
|
|
269
|
+
density: density,
|
|
270
|
+
increaseIsGood: increaseIsGood,
|
|
271
|
+
symbol: symbol
|
|
272
|
+
})
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=numberCells.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","Text","ArrowDropDown","ArrowDropUp","TrendingDown","TrendingFlat","TrendingUp","cn","jsx","_jsx","jsxs","_jsxs","MINUS","defaultNumberFormat","Intl","NumberFormat","undefined","maximumFractionDigits","TONE_CLASS","success","danger","neutral","ARROW_SLOT","default","compact","ARROW_SIZE","TREND_SIZE","toFiniteNumber","value","Number","isFinite","columnValueFormatter","format","numeric","formatRaw","row","col","formatted","valueFormatter","length","unsigned","withoutSign","replace","startsWith","endsWith","slice","polarityOf","directionOf","polarityTone","polarity","deltaTone","direction","increaseIsGood","favorable","polarityLabel","directionLabel","NumberReadout","label","display","tone","density","children","className","accessibilityElementsHidden","importantForAccessibility","color","size","ToneIcon","icon","Icon","slotClassName","PolarityNumberCell","magnitude","DeltaSymbol","symbol","DeltaNumberCell","gridPolarityNumberColDef","options","type","align","headerAlign","renderCell","gridDeltaNumberColDef"],"sourceRoot":"../../src","sources":["numberCells.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/styles.js
CHANGED
|
@@ -35,6 +35,47 @@ export const dataGridMainVariants = cva('relative min-h-0 w-full min-w-0 max-w-f
|
|
|
35
35
|
overlay: false
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Opaque sticky fill so pinned cells cover scrolled content.
|
|
41
|
+
* Body hover matches the row's 50% secondary tint, mixed over the primary surface
|
|
42
|
+
* so the cell stays opaque while content scrolls underneath.
|
|
43
|
+
*/
|
|
44
|
+
export const dataGridPinnedSurfaceVariants = cva(Platform.select({
|
|
45
|
+
web: 'bg-surface-primary',
|
|
46
|
+
default: ''
|
|
47
|
+
}), {
|
|
48
|
+
variants: {
|
|
49
|
+
header: {
|
|
50
|
+
true: 'bg-neutral-50',
|
|
51
|
+
false: Platform.select({
|
|
52
|
+
web: 'web:[tr:hover_&]:bg-[color-mix(in_srgb,var(--color-surface-secondary)_50%,var(--color-surface-primary))]',
|
|
53
|
+
default: ''
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
defaultVariants: {
|
|
58
|
+
header: false
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
export const dataGridPinnedEdgeVariants = cva('', {
|
|
62
|
+
variants: {
|
|
63
|
+
edge: {
|
|
64
|
+
start: Platform.select({
|
|
65
|
+
web: 'border-e border-stroke-secondary',
|
|
66
|
+
default: ''
|
|
67
|
+
}),
|
|
68
|
+
end: Platform.select({
|
|
69
|
+
web: 'border-s border-stroke-secondary',
|
|
70
|
+
default: ''
|
|
71
|
+
}),
|
|
72
|
+
none: ''
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
defaultVariants: {
|
|
76
|
+
edge: 'none'
|
|
77
|
+
}
|
|
78
|
+
});
|
|
38
79
|
export const dataGridToolbarVariants = cva('shrink-0 flex-row items-center gap-3 border-b border-stroke-secondary px-4 py-4');
|
|
39
80
|
export const dataGridToolbarSearchVariants = cva('max-w-80 min-w-0 flex-1');
|
|
40
81
|
export const dataGridToolbarActionsVariants = cva('ms-auto flex-row items-center gap-3');
|
|
@@ -106,6 +147,38 @@ export const dataGridBodyVariants = cva(Platform.select({
|
|
|
106
147
|
default: ''
|
|
107
148
|
}));
|
|
108
149
|
export const dataGridFilterInputVariants = cva('min-w-24');
|
|
150
|
+
|
|
151
|
+
// The toolbar panel sits at a fixed spot in the grid root. A panel opened from a column is anchored
|
|
152
|
+
// to its opener in a portal, so its position and width cap come from the anchored overlay instead.
|
|
153
|
+
export const dataGridFilterPanelVariants = cva('w-max gap-3 rounded-lg border border-stroke-secondary bg-surface-primary px-3 pb-2 pt-3 shadow-lg', {
|
|
154
|
+
variants: {
|
|
155
|
+
anchored: {
|
|
156
|
+
true: '',
|
|
157
|
+
false: 'absolute start-4 top-16 z-30 max-w-[calc(100%-2rem)]'
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
defaultVariants: {
|
|
161
|
+
anchored: false
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
// The panel is as wide as one unwrapped row, capped at the grid's width. Below that, fields wrap
|
|
166
|
+
// onto new lines and grow to fill them, so the layout follows the grid's width, not the viewport.
|
|
167
|
+
export const dataGridFilterPanelRowVariants = cva('flex-row flex-wrap items-end gap-2');
|
|
168
|
+
export const dataGridFilterPanelLogicVariants = cva('min-h-8 w-24 shrink-0 justify-center');
|
|
169
|
+
export const dataGridFilterPanelFieldVariants = cva('min-w-0 shrink grow gap-1', {
|
|
170
|
+
variants: {
|
|
171
|
+
size: {
|
|
172
|
+
column: 'w-40',
|
|
173
|
+
operator: 'w-40',
|
|
174
|
+
value: 'w-56'
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
export const dataGridFilterPanelColumnVariants = cva('w-full');
|
|
179
|
+
export const dataGridFilterPanelOperatorVariants = cva('w-full');
|
|
180
|
+
export const dataGridFilterPanelValueVariants = cva('w-full');
|
|
181
|
+
export const dataGridFilterPanelFooterVariants = cva('flex-row items-center justify-between gap-2 border-t border-stroke-secondary pt-2');
|
|
109
182
|
export const dataGridHeadVariants = cva(['h-12 bg-neutral-50 px-4', Platform.select({
|
|
110
183
|
web: 'border-b border-stroke-secondary',
|
|
111
184
|
default: ''
|
|
@@ -118,6 +191,39 @@ export const dataGridCellVariants = cva(['h-12 px-4', Platform.select({
|
|
|
118
191
|
web: 'border-b border-stroke-secondary',
|
|
119
192
|
default: ''
|
|
120
193
|
})]);
|
|
194
|
+
export const dataGridDetailToggleCellVariants = cva(['w-12 px-2', Platform.select({
|
|
195
|
+
web: 'border-b border-stroke-secondary',
|
|
196
|
+
default: ''
|
|
197
|
+
})]);
|
|
198
|
+
|
|
199
|
+
// Header labels and depth-0 content line up because both reserve the toggle slot.
|
|
200
|
+
export const dataGridTreeCellInnerVariants = cva('min-w-0 flex-1 flex-row items-center gap-2');
|
|
201
|
+
export const dataGridTreeToggleSlotVariants = cva('size-8 shrink-0 items-center justify-center');
|
|
202
|
+
export const dataGridTreeContentVariants = cva('min-w-0 flex-1 flex-row items-center');
|
|
203
|
+
export const dataGridDetailPanelCellVariants = cva(['px-4 py-3', Platform.select({
|
|
204
|
+
web: 'border-b border-stroke-secondary bg-surface-primary',
|
|
205
|
+
default: ''
|
|
206
|
+
})]);
|
|
207
|
+
|
|
208
|
+
// Same `w-0 min-w-full` trick as the header label: a declared column width truncates the value
|
|
209
|
+
// with an ellipsis instead of wrapping it onto a second line and growing the fixed-height row.
|
|
210
|
+
export const dataGridCellTextVariants = cva('min-w-0', {
|
|
211
|
+
variants: {
|
|
212
|
+
align: {
|
|
213
|
+
start: 'text-start',
|
|
214
|
+
center: 'text-center',
|
|
215
|
+
end: 'text-end'
|
|
216
|
+
},
|
|
217
|
+
fitToColumn: {
|
|
218
|
+
true: 'w-0 min-w-full',
|
|
219
|
+
false: ''
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
defaultVariants: {
|
|
223
|
+
align: 'start',
|
|
224
|
+
fitToColumn: false
|
|
225
|
+
}
|
|
226
|
+
});
|
|
121
227
|
export const dataGridSelectCellVariants = cva(['w-14 px-4', Platform.select({
|
|
122
228
|
web: 'border-b border-stroke-secondary',
|
|
123
229
|
default: ''
|
package/lib/module/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","cva","dataGridRootVariants","variants","autoHeight","true","false","defaultVariants","dataGridMainVariants","overlay","compoundVariants","className","dataGridToolbarVariants","dataGridToolbarSearchVariants","dataGridToolbarActionsVariants","dataGridFooterVariants","dataGridOverlayVariants","headerFilters","dataGridEmptyOverlayVariants","dataGridHeaderCellInnerVariants","align","
|
|
1
|
+
{"version":3,"names":["Platform","cva","dataGridRootVariants","variants","autoHeight","true","false","defaultVariants","dataGridMainVariants","overlay","compoundVariants","className","dataGridPinnedSurfaceVariants","select","web","default","header","dataGridPinnedEdgeVariants","edge","start","end","none","dataGridToolbarVariants","dataGridToolbarSearchVariants","dataGridToolbarActionsVariants","dataGridFooterVariants","dataGridOverlayVariants","headerFilters","dataGridEmptyOverlayVariants","dataGridHeaderCellInnerVariants","align","center","fitToColumn","dataGridHeaderLabelVariants","dataGridSortButtonVariants","position","leading","trailing","sorted","dataGridTableVariants","dataGridHeaderVariants","dataGridBodyVariants","dataGridFilterInputVariants","dataGridFilterPanelVariants","anchored","dataGridFilterPanelRowVariants","dataGridFilterPanelLogicVariants","dataGridFilterPanelFieldVariants","size","column","operator","value","dataGridFilterPanelColumnVariants","dataGridFilterPanelOperatorVariants","dataGridFilterPanelValueVariants","dataGridFilterPanelFooterVariants","dataGridHeadVariants","dataGridSelectHeadVariants","dataGridCellVariants","dataGridDetailToggleCellVariants","dataGridTreeCellInnerVariants","dataGridTreeToggleSlotVariants","dataGridTreeContentVariants","dataGridDetailPanelCellVariants","dataGridCellTextVariants","dataGridSelectCellVariants","dataGridPaginationVariants","dataGridPaginationRangeVariants"],"sourceRoot":"../../src","sources":["styles.ts"],"mappings":"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","ignoreList":[]}
|