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