@12-apps/ui 6.78.1 → 6.78.2
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/dist/_internal/components/data-display/DataGrid/DataGrid.body.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.cells.js +1 -1
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -3
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +12 -12
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +13 -13
- package/dist/_internal/components/data-display/DataViews/data-views-card-body.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +9 -9
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +2 -2
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +3 -3
- package/dist/_internal/components/data-display/index.js +3 -3
- package/dist/_internal/components/index.js +3 -3
- package/dist/{chunk-ZFXTRPQO.js → chunk-5RYPVYWP.js} +2 -2
- package/dist/{chunk-FXZUVZON.js → chunk-DYHOBKPU.js} +2 -2
- package/dist/{chunk-XYSE2QZN.js → chunk-EF4DVYD2.js} +2 -2
- package/dist/{chunk-QCQWOSSD.js → chunk-GHXW6O5T.js} +4 -9
- package/dist/chunk-GHXW6O5T.js.map +1 -0
- package/dist/{chunk-ZTPB7PVI.js → chunk-HPEBSLYP.js} +2 -2
- package/dist/{chunk-ICDAYOJ6.js → chunk-K6FW4YDA.js} +9 -2
- package/dist/chunk-K6FW4YDA.js.map +1 -0
- package/dist/{chunk-2VHAD4NE.js → chunk-LI6XSM5D.js} +3 -3
- package/dist/{chunk-FAIQCGSL.js → chunk-M3DSPEZ3.js} +2 -2
- package/dist/{chunk-GFXS5PJL.js → chunk-NBXG3SQ3.js} +3 -3
- package/dist/{chunk-SCAPSX6T.js → chunk-O36MIQIO.js} +2 -2
- package/dist/{chunk-QIYX33SH.js → chunk-RHKQ2RSY.js} +4 -4
- package/dist/{chunk-C47LBKEG.js → chunk-SFT4YN6O.js} +2 -2
- package/dist/{chunk-F6IMOMA3.js → chunk-ZPACE34U.js} +3 -3
- package/dist/data-display/DataGrid.js +3 -3
- package/dist/data-display/DataViews.js +13 -13
- package/dist/types/components/data-display/DataGrid/DataGrid.cells.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts +6 -0
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/data-display/DataGrid/DataGrid.cells.tsx +13 -0
- package/src/components/data-display/DataGrid/DataGrid.types.ts +6 -0
- package/src/components/data-display/DataViews/data-views-grid-helpers.tsx +4 -5
- package/dist/chunk-ICDAYOJ6.js.map +0 -1
- package/dist/chunk-QCQWOSSD.js.map +0 -1
- /package/dist/{chunk-ZFXTRPQO.js.map → chunk-5RYPVYWP.js.map} +0 -0
- /package/dist/{chunk-FXZUVZON.js.map → chunk-DYHOBKPU.js.map} +0 -0
- /package/dist/{chunk-XYSE2QZN.js.map → chunk-EF4DVYD2.js.map} +0 -0
- /package/dist/{chunk-ZTPB7PVI.js.map → chunk-HPEBSLYP.js.map} +0 -0
- /package/dist/{chunk-2VHAD4NE.js.map → chunk-LI6XSM5D.js.map} +0 -0
- /package/dist/{chunk-FAIQCGSL.js.map → chunk-M3DSPEZ3.js.map} +0 -0
- /package/dist/{chunk-GFXS5PJL.js.map → chunk-NBXG3SQ3.js.map} +0 -0
- /package/dist/{chunk-SCAPSX6T.js.map → chunk-O36MIQIO.js.map} +0 -0
- /package/dist/{chunk-QIYX33SH.js.map → chunk-RHKQ2RSY.js.map} +0 -0
- /package/dist/{chunk-C47LBKEG.js.map → chunk-SFT4YN6O.js.map} +0 -0
- /package/dist/{chunk-F6IMOMA3.js.map → chunk-ZPACE34U.js.map} +0 -0
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
GridBody,
|
|
3
3
|
GridHeader,
|
|
4
4
|
rowIdOf
|
|
5
|
-
} from "../../../../chunk-
|
|
6
|
-
import "../../../../chunk-
|
|
5
|
+
} from "../../../../chunk-5RYPVYWP.js";
|
|
6
|
+
import "../../../../chunk-K6FW4YDA.js";
|
|
7
7
|
import "../../../../chunk-G3E66C6J.js";
|
|
8
8
|
import "../../../../chunk-YKCAJ2TN.js";
|
|
9
9
|
import "../../../../chunk-PZ5AY32C.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DataGrid,
|
|
3
3
|
GRID_ONLY_PROPS
|
|
4
|
-
} from "../../../../chunk-
|
|
4
|
+
} from "../../../../chunk-DYHOBKPU.js";
|
|
5
5
|
import "../../../../chunk-EARWC6PD.js";
|
|
6
6
|
import "../../../../chunk-LDROG4QI.js";
|
|
7
|
-
import "../../../../chunk-
|
|
8
|
-
import "../../../../chunk-
|
|
7
|
+
import "../../../../chunk-5RYPVYWP.js";
|
|
8
|
+
import "../../../../chunk-K6FW4YDA.js";
|
|
9
9
|
import "../../../../chunk-G3E66C6J.js";
|
|
10
10
|
import "../../../../chunk-YKCAJ2TN.js";
|
|
11
11
|
import "../../../../chunk-PZ5AY32C.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
DataViewsGrid
|
|
4
|
-
} from "../../../../chunk-
|
|
5
|
-
import "../../../../chunk-
|
|
6
|
-
import "../../../../chunk-
|
|
4
|
+
} from "../../../../chunk-LI6XSM5D.js";
|
|
5
|
+
import "../../../../chunk-RHKQ2RSY.js";
|
|
6
|
+
import "../../../../chunk-NBXG3SQ3.js";
|
|
7
7
|
import "../../../../chunk-7TCOYCD7.js";
|
|
8
|
-
import "../../../../chunk-
|
|
8
|
+
import "../../../../chunk-EF4DVYD2.js";
|
|
9
9
|
import "../../../../chunk-555TUQ7E.js";
|
|
10
10
|
import "../../../../chunk-LUNN5GTB.js";
|
|
11
11
|
import "../../../../chunk-IQ2U5MVO.js";
|
|
@@ -27,8 +27,8 @@ import "../../../../chunk-33MMQHYU.js";
|
|
|
27
27
|
import "../../../../chunk-7D7CJRL7.js";
|
|
28
28
|
import "../../../../chunk-GCZJH4XL.js";
|
|
29
29
|
import "../../../../chunk-CBOB5AV6.js";
|
|
30
|
-
import "../../../../chunk-
|
|
31
|
-
import "../../../../chunk-
|
|
30
|
+
import "../../../../chunk-O36MIQIO.js";
|
|
31
|
+
import "../../../../chunk-M3DSPEZ3.js";
|
|
32
32
|
import "../../../../chunk-VBGC7G4F.js";
|
|
33
33
|
import "../../../../chunk-WSAUWJFO.js";
|
|
34
34
|
import "../../../../chunk-VJG43WKU.js";
|
|
@@ -38,11 +38,11 @@ import "../../../../chunk-4IE66GY2.js";
|
|
|
38
38
|
import "../../../../chunk-5YDS6HO3.js";
|
|
39
39
|
import "../../../../chunk-QYX4567K.js";
|
|
40
40
|
import "../../../../chunk-VMN6KG2U.js";
|
|
41
|
-
import "../../../../chunk-
|
|
42
|
-
import "../../../../chunk-
|
|
41
|
+
import "../../../../chunk-ZPACE34U.js";
|
|
42
|
+
import "../../../../chunk-HPEBSLYP.js";
|
|
43
43
|
import "../../../../chunk-YGQX7BNI.js";
|
|
44
44
|
import "../../../../chunk-PL2AB5HJ.js";
|
|
45
|
-
import "../../../../chunk-
|
|
45
|
+
import "../../../../chunk-GHXW6O5T.js";
|
|
46
46
|
import "../../../../chunk-IMLIIW77.js";
|
|
47
47
|
import "../../../../chunk-LLZWB32X.js";
|
|
48
48
|
import "../../../../chunk-U5FOJBLG.js";
|
|
@@ -105,11 +105,11 @@ import "../../../../chunk-PN4HVM43.js";
|
|
|
105
105
|
import "../../../../chunk-C3UKR3NT.js";
|
|
106
106
|
import "../../../../chunk-D6KL74KI.js";
|
|
107
107
|
import "../../../../chunk-L5CPOEDP.js";
|
|
108
|
-
import "../../../../chunk-
|
|
108
|
+
import "../../../../chunk-DYHOBKPU.js";
|
|
109
109
|
import "../../../../chunk-EARWC6PD.js";
|
|
110
110
|
import "../../../../chunk-LDROG4QI.js";
|
|
111
|
-
import "../../../../chunk-
|
|
112
|
-
import "../../../../chunk-
|
|
111
|
+
import "../../../../chunk-5RYPVYWP.js";
|
|
112
|
+
import "../../../../chunk-K6FW4YDA.js";
|
|
113
113
|
import "../../../../chunk-G3E66C6J.js";
|
|
114
114
|
import "../../../../chunk-6DPAWXZ3.js";
|
|
115
115
|
import "../../../../chunk-WEBEOBN5.js";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
DataViewsTableBase
|
|
4
|
-
} from "../../../../chunk-
|
|
4
|
+
} from "../../../../chunk-SFT4YN6O.js";
|
|
5
5
|
import "../../../../chunk-4HUSG5MR.js";
|
|
6
|
-
import "../../../../chunk-
|
|
6
|
+
import "../../../../chunk-LI6XSM5D.js";
|
|
7
7
|
import "../../../../chunk-ZOLAYP2D.js";
|
|
8
|
-
import "../../../../chunk-
|
|
9
|
-
import "../../../../chunk-
|
|
8
|
+
import "../../../../chunk-RHKQ2RSY.js";
|
|
9
|
+
import "../../../../chunk-NBXG3SQ3.js";
|
|
10
10
|
import "../../../../chunk-7TCOYCD7.js";
|
|
11
|
-
import "../../../../chunk-
|
|
11
|
+
import "../../../../chunk-EF4DVYD2.js";
|
|
12
12
|
import "../../../../chunk-555TUQ7E.js";
|
|
13
13
|
import "../../../../chunk-LUNN5GTB.js";
|
|
14
14
|
import "../../../../chunk-IQ2U5MVO.js";
|
|
@@ -34,8 +34,8 @@ import "../../../../chunk-6J7RGNSF.js";
|
|
|
34
34
|
import "../../../../chunk-LG52LMAM.js";
|
|
35
35
|
import "../../../../chunk-C7CIUDXZ.js";
|
|
36
36
|
import "../../../../chunk-5M4TYFR3.js";
|
|
37
|
-
import "../../../../chunk-
|
|
38
|
-
import "../../../../chunk-
|
|
37
|
+
import "../../../../chunk-O36MIQIO.js";
|
|
38
|
+
import "../../../../chunk-M3DSPEZ3.js";
|
|
39
39
|
import "../../../../chunk-VBGC7G4F.js";
|
|
40
40
|
import "../../../../chunk-WSAUWJFO.js";
|
|
41
41
|
import "../../../../chunk-VJG43WKU.js";
|
|
@@ -48,11 +48,11 @@ import "../../../../chunk-VMN6KG2U.js";
|
|
|
48
48
|
import "../../../../chunk-G6EJLEVV.js";
|
|
49
49
|
import "../../../../chunk-B2JSUFDX.js";
|
|
50
50
|
import "../../../../chunk-DZEC6RFM.js";
|
|
51
|
-
import "../../../../chunk-
|
|
52
|
-
import "../../../../chunk-
|
|
51
|
+
import "../../../../chunk-ZPACE34U.js";
|
|
52
|
+
import "../../../../chunk-HPEBSLYP.js";
|
|
53
53
|
import "../../../../chunk-YGQX7BNI.js";
|
|
54
54
|
import "../../../../chunk-PL2AB5HJ.js";
|
|
55
|
-
import "../../../../chunk-
|
|
55
|
+
import "../../../../chunk-GHXW6O5T.js";
|
|
56
56
|
import "../../../../chunk-IMLIIW77.js";
|
|
57
57
|
import "../../../../chunk-LLZWB32X.js";
|
|
58
58
|
import "../../../../chunk-U5FOJBLG.js";
|
|
@@ -144,11 +144,11 @@ import "../../../../chunk-AL5E624U.js";
|
|
|
144
144
|
import "../../../../chunk-GYXUCS37.js";
|
|
145
145
|
import "../../../../chunk-LV7LSPBF.js";
|
|
146
146
|
import "../../../../chunk-L5CPOEDP.js";
|
|
147
|
-
import "../../../../chunk-
|
|
147
|
+
import "../../../../chunk-DYHOBKPU.js";
|
|
148
148
|
import "../../../../chunk-EARWC6PD.js";
|
|
149
149
|
import "../../../../chunk-LDROG4QI.js";
|
|
150
|
-
import "../../../../chunk-
|
|
151
|
-
import "../../../../chunk-
|
|
150
|
+
import "../../../../chunk-5RYPVYWP.js";
|
|
151
|
+
import "../../../../chunk-K6FW4YDA.js";
|
|
152
152
|
import "../../../../chunk-G3E66C6J.js";
|
|
153
153
|
import "../../../../chunk-NUGT7LMR.js";
|
|
154
154
|
import "../../../../chunk-NQCTANF3.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
CardBody
|
|
4
|
-
} from "../../../../chunk-
|
|
5
|
-
import "../../../../chunk-
|
|
4
|
+
} from "../../../../chunk-EF4DVYD2.js";
|
|
5
|
+
import "../../../../chunk-GHXW6O5T.js";
|
|
6
6
|
import "../../../../chunk-KHG57NAE.js";
|
|
7
7
|
import "../../../../chunk-WVML3ENZ.js";
|
|
8
8
|
import "../../../../chunk-AY5GKCH7.js";
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import {
|
|
3
3
|
useColumnsWithActions,
|
|
4
4
|
useRenderedColumns
|
|
5
|
-
} from "../../../../chunk-
|
|
6
|
-
import "../../../../chunk-
|
|
5
|
+
} from "../../../../chunk-HPEBSLYP.js";
|
|
6
|
+
import "../../../../chunk-GHXW6O5T.js";
|
|
7
7
|
import "../../../../chunk-KHG57NAE.js";
|
|
8
8
|
import "../../../../chunk-WVML3ENZ.js";
|
|
9
9
|
import "../../../../chunk-AY5GKCH7.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
GridMain
|
|
4
|
-
} from "../../../../chunk-
|
|
4
|
+
} from "../../../../chunk-NBXG3SQ3.js";
|
|
5
5
|
import "../../../../chunk-7TCOYCD7.js";
|
|
6
|
-
import "../../../../chunk-
|
|
6
|
+
import "../../../../chunk-EF4DVYD2.js";
|
|
7
7
|
import "../../../../chunk-O5UGAL2V.js";
|
|
8
8
|
import "../../../../chunk-4IE66GY2.js";
|
|
9
9
|
import "../../../../chunk-QYX4567K.js";
|
|
10
|
-
import "../../../../chunk-
|
|
10
|
+
import "../../../../chunk-GHXW6O5T.js";
|
|
11
11
|
import "../../../../chunk-BBBHPK2Q.js";
|
|
12
12
|
import "../../../../chunk-5CAWRMDX.js";
|
|
13
13
|
import "../../../../chunk-U3HEYECF.js";
|
|
@@ -22,11 +22,11 @@ import "../../../../chunk-TWTGBQHF.js";
|
|
|
22
22
|
import "../../../../chunk-HPL4ONTN.js";
|
|
23
23
|
import "../../../../chunk-6LOGBWLG.js";
|
|
24
24
|
import "../../../../chunk-L5CPOEDP.js";
|
|
25
|
-
import "../../../../chunk-
|
|
25
|
+
import "../../../../chunk-DYHOBKPU.js";
|
|
26
26
|
import "../../../../chunk-EARWC6PD.js";
|
|
27
27
|
import "../../../../chunk-LDROG4QI.js";
|
|
28
|
-
import "../../../../chunk-
|
|
29
|
-
import "../../../../chunk-
|
|
28
|
+
import "../../../../chunk-5RYPVYWP.js";
|
|
29
|
+
import "../../../../chunk-K6FW4YDA.js";
|
|
30
30
|
import "../../../../chunk-G3E66C6J.js";
|
|
31
31
|
import "../../../../chunk-6DPAWXZ3.js";
|
|
32
32
|
import "../../../../chunk-VUHLNYAE.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
isActionsColumn,
|
|
9
9
|
renderBulkActions,
|
|
10
10
|
togglePillValues
|
|
11
|
-
} from "../../../../chunk-
|
|
11
|
+
} from "../../../../chunk-GHXW6O5T.js";
|
|
12
12
|
import "../../../../chunk-KHG57NAE.js";
|
|
13
13
|
import "../../../../chunk-WVML3ENZ.js";
|
|
14
14
|
import "../../../../chunk-AY5GKCH7.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
GridShell
|
|
4
|
-
} from "../../../../chunk-
|
|
5
|
-
import "../../../../chunk-
|
|
4
|
+
} from "../../../../chunk-RHKQ2RSY.js";
|
|
5
|
+
import "../../../../chunk-NBXG3SQ3.js";
|
|
6
6
|
import "../../../../chunk-7TCOYCD7.js";
|
|
7
|
-
import "../../../../chunk-
|
|
7
|
+
import "../../../../chunk-EF4DVYD2.js";
|
|
8
8
|
import "../../../../chunk-555TUQ7E.js";
|
|
9
9
|
import "../../../../chunk-LUNN5GTB.js";
|
|
10
10
|
import "../../../../chunk-IQ2U5MVO.js";
|
|
@@ -26,8 +26,8 @@ import "../../../../chunk-33MMQHYU.js";
|
|
|
26
26
|
import "../../../../chunk-7D7CJRL7.js";
|
|
27
27
|
import "../../../../chunk-GCZJH4XL.js";
|
|
28
28
|
import "../../../../chunk-CBOB5AV6.js";
|
|
29
|
-
import "../../../../chunk-
|
|
30
|
-
import "../../../../chunk-
|
|
29
|
+
import "../../../../chunk-O36MIQIO.js";
|
|
30
|
+
import "../../../../chunk-M3DSPEZ3.js";
|
|
31
31
|
import "../../../../chunk-VBGC7G4F.js";
|
|
32
32
|
import "../../../../chunk-WSAUWJFO.js";
|
|
33
33
|
import "../../../../chunk-VJG43WKU.js";
|
|
@@ -38,7 +38,7 @@ import "../../../../chunk-5YDS6HO3.js";
|
|
|
38
38
|
import "../../../../chunk-QYX4567K.js";
|
|
39
39
|
import "../../../../chunk-VMN6KG2U.js";
|
|
40
40
|
import "../../../../chunk-PL2AB5HJ.js";
|
|
41
|
-
import "../../../../chunk-
|
|
41
|
+
import "../../../../chunk-GHXW6O5T.js";
|
|
42
42
|
import "../../../../chunk-BBBHPK2Q.js";
|
|
43
43
|
import "../../../../chunk-5CAWRMDX.js";
|
|
44
44
|
import "../../../../chunk-U3HEYECF.js";
|
|
@@ -98,11 +98,11 @@ import "../../../../chunk-PN4HVM43.js";
|
|
|
98
98
|
import "../../../../chunk-C3UKR3NT.js";
|
|
99
99
|
import "../../../../chunk-D6KL74KI.js";
|
|
100
100
|
import "../../../../chunk-L5CPOEDP.js";
|
|
101
|
-
import "../../../../chunk-
|
|
101
|
+
import "../../../../chunk-DYHOBKPU.js";
|
|
102
102
|
import "../../../../chunk-EARWC6PD.js";
|
|
103
103
|
import "../../../../chunk-LDROG4QI.js";
|
|
104
|
-
import "../../../../chunk-
|
|
105
|
-
import "../../../../chunk-
|
|
104
|
+
import "../../../../chunk-5RYPVYWP.js";
|
|
105
|
+
import "../../../../chunk-K6FW4YDA.js";
|
|
106
106
|
import "../../../../chunk-G3E66C6J.js";
|
|
107
107
|
import "../../../../chunk-6DPAWXZ3.js";
|
|
108
108
|
import "../../../../chunk-WEBEOBN5.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
ShellToolbar
|
|
4
|
-
} from "../../../../chunk-
|
|
5
|
-
import "../../../../chunk-
|
|
4
|
+
} from "../../../../chunk-O36MIQIO.js";
|
|
5
|
+
import "../../../../chunk-M3DSPEZ3.js";
|
|
6
6
|
import "../../../../chunk-VBGC7G4F.js";
|
|
7
7
|
import "../../../../chunk-WSAUWJFO.js";
|
|
8
8
|
import "../../../../chunk-VJG43WKU.js";
|
|
@@ -10,7 +10,7 @@ import "../../../../chunk-YEGZIYVM.js";
|
|
|
10
10
|
import "../../../../chunk-YLGY3D52.js";
|
|
11
11
|
import "../../../../chunk-4IE66GY2.js";
|
|
12
12
|
import "../../../../chunk-VMN6KG2U.js";
|
|
13
|
-
import "../../../../chunk-
|
|
13
|
+
import "../../../../chunk-GHXW6O5T.js";
|
|
14
14
|
import "../../../../chunk-5CAWRMDX.js";
|
|
15
15
|
import "../../../../chunk-HLYYB4O5.js";
|
|
16
16
|
import "../../../../chunk-KHG57NAE.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
GridToolbar
|
|
4
|
-
} from "../../../../chunk-
|
|
4
|
+
} from "../../../../chunk-M3DSPEZ3.js";
|
|
5
5
|
import "../../../../chunk-VBGC7G4F.js";
|
|
6
6
|
import "../../../../chunk-WSAUWJFO.js";
|
|
7
7
|
import "../../../../chunk-VJG43WKU.js";
|
|
@@ -9,7 +9,7 @@ import "../../../../chunk-YEGZIYVM.js";
|
|
|
9
9
|
import "../../../../chunk-YLGY3D52.js";
|
|
10
10
|
import "../../../../chunk-4IE66GY2.js";
|
|
11
11
|
import "../../../../chunk-VMN6KG2U.js";
|
|
12
|
-
import "../../../../chunk-
|
|
12
|
+
import "../../../../chunk-GHXW6O5T.js";
|
|
13
13
|
import "../../../../chunk-5CAWRMDX.js";
|
|
14
14
|
import "../../../../chunk-HLYYB4O5.js";
|
|
15
15
|
import "../../../../chunk-KHG57NAE.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
useDataViewsState
|
|
4
|
-
} from "../../../../chunk-
|
|
5
|
-
import "../../../../chunk-
|
|
4
|
+
} from "../../../../chunk-ZPACE34U.js";
|
|
5
|
+
import "../../../../chunk-HPEBSLYP.js";
|
|
6
6
|
import "../../../../chunk-YGQX7BNI.js";
|
|
7
7
|
import "../../../../chunk-PL2AB5HJ.js";
|
|
8
|
-
import "../../../../chunk-
|
|
8
|
+
import "../../../../chunk-GHXW6O5T.js";
|
|
9
9
|
import "../../../../chunk-IMLIIW77.js";
|
|
10
10
|
import "../../../../chunk-LLZWB32X.js";
|
|
11
11
|
import "../../../../chunk-U5FOJBLG.js";
|
|
@@ -136,11 +136,11 @@ import "../../../chunk-BF4FYOAR.js";
|
|
|
136
136
|
import "../../../chunk-L5CPOEDP.js";
|
|
137
137
|
import {
|
|
138
138
|
DataGrid
|
|
139
|
-
} from "../../../chunk-
|
|
139
|
+
} from "../../../chunk-DYHOBKPU.js";
|
|
140
140
|
import "../../../chunk-EARWC6PD.js";
|
|
141
141
|
import "../../../chunk-LDROG4QI.js";
|
|
142
|
-
import "../../../chunk-
|
|
143
|
-
import "../../../chunk-
|
|
142
|
+
import "../../../chunk-5RYPVYWP.js";
|
|
143
|
+
import "../../../chunk-K6FW4YDA.js";
|
|
144
144
|
import "../../../chunk-G3E66C6J.js";
|
|
145
145
|
import "../../../chunk-SNCSGLJ6.js";
|
|
146
146
|
import {
|
|
@@ -711,11 +711,11 @@ import "../../chunk-LV7LSPBF.js";
|
|
|
711
711
|
import "../../chunk-L5CPOEDP.js";
|
|
712
712
|
import {
|
|
713
713
|
DataGrid
|
|
714
|
-
} from "../../chunk-
|
|
714
|
+
} from "../../chunk-DYHOBKPU.js";
|
|
715
715
|
import "../../chunk-EARWC6PD.js";
|
|
716
716
|
import "../../chunk-LDROG4QI.js";
|
|
717
|
-
import "../../chunk-
|
|
718
|
-
import "../../chunk-
|
|
717
|
+
import "../../chunk-5RYPVYWP.js";
|
|
718
|
+
import "../../chunk-K6FW4YDA.js";
|
|
719
719
|
import "../../chunk-G3E66C6J.js";
|
|
720
720
|
import "../../chunk-SNCSGLJ6.js";
|
|
721
721
|
import {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GridRow,
|
|
3
3
|
HeaderCell
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-K6FW4YDA.js";
|
|
5
5
|
import {
|
|
6
6
|
rem
|
|
7
7
|
} from "./chunk-YKCAJ2TN.js";
|
|
@@ -118,4 +118,4 @@ export {
|
|
|
118
118
|
GridHeader,
|
|
119
119
|
GridBody
|
|
120
120
|
};
|
|
121
|
-
//# sourceMappingURL=chunk-
|
|
121
|
+
//# sourceMappingURL=chunk-5RYPVYWP.js.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
GridBody,
|
|
11
11
|
GridHeader
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-5RYPVYWP.js";
|
|
13
13
|
|
|
14
14
|
// src/components/data-display/DataGrid/DataGrid.tsx
|
|
15
15
|
import Paper from "@mui/material/Paper/index.js";
|
|
@@ -120,4 +120,4 @@ export {
|
|
|
120
120
|
DataGrid,
|
|
121
121
|
GRID_ONLY_PROPS
|
|
122
122
|
};
|
|
123
|
-
//# sourceMappingURL=chunk-
|
|
123
|
+
//# sourceMappingURL=chunk-DYHOBKPU.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
cardGridTracks
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GHXW6O5T.js";
|
|
4
4
|
import {
|
|
5
5
|
default as default2
|
|
6
6
|
} from "./chunk-6DPAWXZ3.js";
|
|
@@ -48,4 +48,4 @@ function CardBody({
|
|
|
48
48
|
export {
|
|
49
49
|
CardBody
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
51
|
+
//# sourceMappingURL=chunk-EF4DVYD2.js.map
|
|
@@ -27,16 +27,11 @@ function buildGridColumns(columns, visibleColumns, onRowClick) {
|
|
|
27
27
|
return {
|
|
28
28
|
...col,
|
|
29
29
|
hidden,
|
|
30
|
+
// On the cell, not a wrapper inside it: its padding opens the row too.
|
|
31
|
+
onCellClick: onRowClick,
|
|
30
32
|
cell: (ctx) => {
|
|
31
33
|
const content = col.cell ? col.cell(ctx) : ctx.value == null ? "" : String(ctx.value);
|
|
32
|
-
return /* @__PURE__ */ jsx(
|
|
33
|
-
default2,
|
|
34
|
-
{
|
|
35
|
-
onClick: () => onRowClick(ctx.row),
|
|
36
|
-
sx: { cursor: "pointer", width: "100%", height: "100%", display: "flex", alignItems: "center" },
|
|
37
|
-
children: content
|
|
38
|
-
}
|
|
39
|
-
);
|
|
34
|
+
return /* @__PURE__ */ jsx(default2, { sx: { width: "100%", height: "100%", display: "flex", alignItems: "center" }, children: content });
|
|
40
35
|
}
|
|
41
36
|
};
|
|
42
37
|
});
|
|
@@ -166,4 +161,4 @@ export {
|
|
|
166
161
|
togglePillValues,
|
|
167
162
|
cardGridTracks
|
|
168
163
|
};
|
|
169
|
-
//# sourceMappingURL=chunk-
|
|
164
|
+
//# sourceMappingURL=chunk-GHXW6O5T.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/DataViews/data-views-grid-helpers.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Theme } from \"@mui/material/styles/index.js\";\n\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { type GridColumn } from \"../DataGrid\";\nimport { type SortFieldDefinition } from \"../../layout/ContentToolbar\";\nimport { Box } from \"../../../mui/Box\";\nimport { rem, sxRem } from \"../../../tokens/relative\";\nimport { Button } from \"../../form/Button\";\nimport { DropdownMenu, type DropdownMenuItem } from \"../../navigation/DropdownMenu\";\n\nimport type {\n DataViewColumn,\n DataViewState,\n FilterFieldConfig,\n RangeFieldConfig,\n RowAction,\n} from \"./data-views-types\";\n\n/** Is this the non-clickable actions column? */\nexport function isActionsColumn<T extends Record<string, unknown>>(col: GridColumn<T>): boolean {\n return col.type === \"actions\" || col.id === \"actions\";\n}\n\n/**\n * Map the DataView columns to grid columns, applying visibility and — when a row\n * click handler is present — making each non-actions cell, padding included, open the row.\n */\nexport function buildGridColumns<T extends Record<string, unknown>>(\n columns: DataViewColumn<T>[],\n visibleColumns: string[],\n onRowClick: ((row: T) => void) | undefined,\n): GridColumn<T>[] {\n return columns.map((col) => {\n const hidden = col.hideable !== false && !visibleColumns.includes(col.id);\n if (!onRowClick || isActionsColumn(col)) return { ...col, hidden };\n return {\n ...col,\n hidden,\n // On the cell, not a wrapper inside it: its padding opens the row too.\n onCellClick: onRowClick,\n cell: (ctx) => {\n const content = col.cell ? col.cell(ctx) : ctx.value == null ? \"\" : String(ctx.value);\n return (\n <Box sx={{ width: \"100%\", height: \"100%\", display: \"flex\", alignItems: \"center\" }}>\n {content}\n </Box>\n );\n },\n };\n });\n}\n\ninterface ActionsColumnConfig<T extends Record<string, unknown>> {\n /** Whose type scale the column's width is drawn at. */\n theme: Theme;\n /** Actions that build the auto \"⋮\" kebab. Ignored when `renderRowMenu` is set. */\n rowActions: RowAction<T>[];\n /** Optional leading slot (e.g. a favourite star) rendered before the kebab. */\n leading?: (row: T) => React.ReactNode;\n testIdPrefix: string;\n getRowId: (row: T) => string | number;\n /**\n * Escape hatch: render a bespoke per-row menu (e.g. an entity's self-contained\n * 3-dots menu that owns its own popups) INSTEAD of the auto kebab built from\n * `rowActions`. This is how the table row and the card share ONE menu component.\n * `rowActions`/`bulkActions` still drive the multi-row bulk menu, which a\n * single-row menu intentionally does not replace.\n */\n renderRowMenu?: (row: T) => React.ReactNode;\n}\n\n/**\n * The auto \"⋮\" kebab actions column built from the reusable `rowActions` — the\n * SAME definitions that feed the bulk menu, so the two never drift. Each item\n * acts on just this row; `rowLabel` provides a per-row label when set. An\n * optional `leading` slot (e.g. a favourite star) renders before the kebab.\n * When `renderRowMenu` is supplied, the cell renders that bespoke menu instead.\n */\nexport function buildRowActionsColumn<T extends Record<string, unknown>>(\n config: ActionsColumnConfig<T>,\n): DataViewColumn<T> {\n const { theme, rowActions, leading, testIdPrefix, getRowId, renderRowMenu } = config;\n const kebabActions = rowActions.filter((action) => action.row !== false);\n return {\n id: \"actions\",\n header: \"\",\n type: \"actions\",\n enableSort: false,\n hideable: false,\n // Narrow: the column only holds the \"⋮\" kebab (plus an optional leading icon),\n // so it needs room for just one or two icons — 72 or 44 design px.\n width: rem(theme, leading ? 72 : 44),\n cell: ({ row }) => (\n <Box component=\"span\" sx={{ display: \"inline-flex\", alignItems: \"center\", gap: sxRem(2), justifyContent: \"flex-end\" }}>\n {leading?.(row)}\n {renderRowMenu\n ? renderRowMenu(row)\n : renderAutoKebab(kebabActions, row, testIdPrefix, getRowId)}\n </Box>\n ),\n };\n}\n\n/** The built-in kebab menu for one row, derived from `rowActions`. */\nfunction renderAutoKebab<T extends Record<string, unknown>>(\n kebabActions: RowAction<T>[],\n row: T,\n testIdPrefix: string,\n getRowId: (row: T) => string | number,\n): React.ReactNode {\n const copy = useDataViewsCopy();\n const items: DropdownMenuItem[] = kebabActions\n .filter((action) => action.isVisible?.(row) ?? true)\n .map((action) => ({\n id: action.id,\n label: action.rowLabel ? action.rowLabel(row) : action.label,\n color: action.color,\n onClick: () => void action.onSelect([row]),\n }));\n if (items.length === 0) return null;\n return (\n <DropdownMenu\n size=\"sm\"\n items={items}\n trigger={\n <Button variant=\"text\" size=\"sm\" dataTestId={`${testIdPrefix}-actions-${getRowId(row)}`} aria-label={copy.grid.rowActions}>\n ⋮\n </Button>\n }\n />\n );\n}\n\n/** Sort options derived from the sortable columns when a page supplies none. */\nexport function defaultSortFields<T extends Record<string, unknown>>(\n columns: DataViewColumn<T>[],\n): SortFieldDefinition[] {\n return columns\n .filter(\n (col) =>\n col.enableSort !== false &&\n col.type !== \"actions\" &&\n col.id !== \"actions\" &&\n typeof col.header === \"string\" &&\n col.header !== \"\",\n )\n .map((col) => ({\n value: col.id,\n label: col.header as string,\n orderOptions: [\n { value: \"asc\", label: \"Crescente\" },\n { value: \"desc\", label: \"Decrescente\" },\n ],\n }));\n}\n\n/** Count active filters (search + selected pills + bounded ranges) for the badge. */\nexport function computeActiveFilterCount<T extends Record<string, unknown>>(\n state: DataViewState,\n fields: FilterFieldConfig<T>[],\n rangeFields: RangeFieldConfig<T>[],\n): number {\n const ranges = state.ranges ?? {};\n const pillCount = fields.reduce((n, field) => n + ((state.pills[field.id]?.length ?? 0) > 0 ? 1 : 0), 0);\n const rangeCount = rangeFields.reduce((n, field) => {\n const range = ranges[field.id];\n return n + (range && (range.min != null || range.max != null) ? 1 : 0);\n }, 0);\n return (state.search.trim() ? 1 : 0) + pillCount + rangeCount;\n}\n\nfunction bulkMenuItems<T extends Record<string, unknown>>(\n rowActions: RowAction<T>[],\n selectedRows: T[],\n clearSelection: () => void,\n): DropdownMenuItem[] {\n return rowActions\n .filter((action) => action.bulk !== false)\n .map((action) => {\n // State-machine guards: the action runs only on the rows it applies to,\n // and disappears from the menu when none of the selection qualifies.\n const targets = action.isVisible ? selectedRows.filter(action.isVisible) : selectedRows;\n return { action, targets };\n })\n .filter(({ targets }) => targets.length > 0)\n .map(({ action, targets }) => ({\n id: action.id,\n label: action.label,\n color: action.color,\n onClick: () => {\n // Run the (possibly async) handler on the captured selection, then clear\n // it — but only once the work settles. On failure keep the selection so\n // the user can see which rows still need action and retry.\n const result = action.onSelect(targets);\n if (result instanceof Promise) {\n void result.then(\n () => clearSelection(),\n () => {\n /* keep the selection on failure so the user can retry */\n },\n );\n } else {\n clearSelection();\n }\n },\n }));\n}\n\ninterface RenderBulkArgs<T extends Record<string, unknown>> {\n rowActions: RowAction<T>[] | undefined;\n bulkActions: ((selectedRows: T[], clearSelection: () => void) => React.ReactNode) | undefined;\n selectedRows: T[];\n clearSelection: () => void;\n testIdPrefix: string;\n}\n\n/**\n * The selection bulk control shown in the toolbar. Prefers the reusable\n * `rowActions` (an \"Ações\" dropdown mirroring the row kebab); falls back to the\n * low-level `bulkActions` render prop. Renders nothing with no selection.\n */\nexport function renderBulkActions<T extends Record<string, unknown>>({\n rowActions,\n bulkActions,\n selectedRows,\n clearSelection,\n testIdPrefix,\n}: RenderBulkArgs<T>): React.ReactNode {\n const copy = useDataViewsCopy();\n if (selectedRows.length === 0) return undefined;\n if (rowActions) {\n const items = bulkMenuItems(rowActions, selectedRows, clearSelection);\n if (items.length === 0) return undefined;\n return (\n <DropdownMenu\n size=\"sm\"\n items={items}\n trigger={\n <Button variant=\"outline\" size=\"sm\" dataTestId={`${testIdPrefix}-bulk-actions`}>\n {copy.grid.bulkActions(selectedRows.length)}\n </Button>\n }\n />\n );\n }\n return bulkActions ? bulkActions(selectedRows, clearSelection) : undefined;\n}\n\n/** Toggle a single value in a pill's selected-list (returns the next list). */\nexport function togglePillValues(current: string[] | undefined, value: string, checked: boolean): string[] {\n const list = current ?? [];\n return checked ? [...list, value] : list.filter((v) => v !== value);\n}\n\n/**\n * The card grid's `grid-template-columns`, as an sx fragment.\n *\n * One rule at every width: each card asks for `targetWidth` and `auto-fill`\n * decides how many fit. Density moves the target, so it changes the count at\n * every size — which the previous column-count cap could not do, because its\n * track floor bottomed out at a constant shared by all three densities.\n *\n * Below `sm` this is a single column, and no target changes that. That is why\n * the density control hides itself there rather than offering three settings\n * that all draw the same thing.\n */\nexport function cardGridTracks(targetWidth: number) {\n return {\n gridTemplateColumns: (theme: Theme) => ({\n xs: \"1fr\",\n sm: `repeat(auto-fill, minmax(${rem(theme, targetWidth)}, 1fr))`,\n }),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA6CU,cAkDJ,YAlDI;AAxBH,SAAS,gBAAmD,KAA6B;AAC9F,SAAO,IAAI,SAAS,aAAa,IAAI,OAAO;AAC9C;AAMO,SAAS,iBACd,SACA,gBACA,YACiB;AACjB,SAAO,QAAQ,IAAI,CAAC,QAAQ;AAC1B,UAAM,SAAS,IAAI,aAAa,SAAS,CAAC,eAAe,SAAS,IAAI,EAAE;AACxE,QAAI,CAAC,cAAc,gBAAgB,GAAG,EAAG,QAAO,EAAE,GAAG,KAAK,OAAO;AACjE,WAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA;AAAA,MAEA,aAAa;AAAA,MACb,MAAM,CAAC,QAAQ;AACb,cAAM,UAAU,IAAI,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,SAAS,OAAO,KAAK,OAAO,IAAI,KAAK;AACpF,eACE,oBAACA,UAAA,EAAI,IAAI,EAAE,OAAO,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,YAAY,SAAS,GAC7E,mBACH;AAAA,MAEJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;AA4BO,SAAS,sBACd,QACmB;AACnB,QAAM,EAAE,OAAO,YAAY,SAAS,cAAc,UAAU,cAAc,IAAI;AAC9E,QAAM,eAAe,WAAW,OAAO,CAAC,WAAW,OAAO,QAAQ,KAAK;AACvE,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,UAAU;AAAA;AAAA;AAAA,IAGV,OAAO,IAAI,OAAO,UAAU,KAAK,EAAE;AAAA,IACnC,MAAM,CAAC,EAAE,IAAI,MACX,qBAACA,UAAA,EAAI,WAAU,QAAO,IAAI,EAAE,SAAS,eAAe,YAAY,UAAU,KAAK,MAAM,CAAC,GAAG,gBAAgB,WAAW,GACjH;AAAA,gBAAU,GAAG;AAAA,MACb,gBACG,cAAc,GAAG,IACjB,gBAAgB,cAAc,KAAK,cAAc,QAAQ;AAAA,OAC/D;AAAA,EAEJ;AACF;AAGA,SAAS,gBACP,cACA,KACA,cACA,UACiB;AACjB,QAAM,OAAO,iBAAiB;AAC9B,QAAM,QAA4B,aAC/B,OAAO,CAAC,WAAW,OAAO,YAAY,GAAG,KAAK,IAAI,EAClD,IAAI,CAAC,YAAY;AAAA,IAChB,IAAI,OAAO;AAAA,IACX,OAAO,OAAO,WAAW,OAAO,SAAS,GAAG,IAAI,OAAO;AAAA,IACvD,OAAO,OAAO;AAAA,IACd,SAAS,MAAM,KAAK,OAAO,SAAS,CAAC,GAAG,CAAC;AAAA,EAC3C,EAAE;AACJ,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA,SACE,oBAAC,UAAO,SAAQ,QAAO,MAAK,MAAK,YAAY,GAAG,YAAY,YAAY,SAAS,GAAG,CAAC,IAAI,cAAY,KAAK,KAAK,YAAY,oBAE3H;AAAA;AAAA,EAEJ;AAEJ;AAGO,SAAS,kBACd,SACuB;AACvB,SAAO,QACJ;AAAA,IACC,CAAC,QACC,IAAI,eAAe,SACnB,IAAI,SAAS,aACb,IAAI,OAAO,aACX,OAAO,IAAI,WAAW,YACtB,IAAI,WAAW;AAAA,EACnB,EACC,IAAI,CAAC,SAAS;AAAA,IACb,OAAO,IAAI;AAAA,IACX,OAAO,IAAI;AAAA,IACX,cAAc;AAAA,MACZ,EAAE,OAAO,OAAO,OAAO,YAAY;AAAA,MACnC,EAAE,OAAO,QAAQ,OAAO,cAAc;AAAA,IACxC;AAAA,EACF,EAAE;AACN;AAGO,SAAS,yBACd,OACA,QACA,aACQ;AACR,QAAM,SAAS,MAAM,UAAU,CAAC;AAChC,QAAM,YAAY,OAAO,OAAO,CAAC,GAAG,UAAU,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC;AACvG,QAAM,aAAa,YAAY,OAAO,CAAC,GAAG,UAAU;AAClD,UAAM,QAAQ,OAAO,MAAM,EAAE;AAC7B,WAAO,KAAK,UAAU,MAAM,OAAO,QAAQ,MAAM,OAAO,QAAQ,IAAI;AAAA,EACtE,GAAG,CAAC;AACJ,UAAQ,MAAM,OAAO,KAAK,IAAI,IAAI,KAAK,YAAY;AACrD;AAEA,SAAS,cACP,YACA,cACA,gBACoB;AACpB,SAAO,WACJ,OAAO,CAAC,WAAW,OAAO,SAAS,KAAK,EACxC,IAAI,CAAC,WAAW;AAGf,UAAM,UAAU,OAAO,YAAY,aAAa,OAAO,OAAO,SAAS,IAAI;AAC3E,WAAO,EAAE,QAAQ,QAAQ;AAAA,EAC3B,CAAC,EACA,OAAO,CAAC,EAAE,QAAQ,MAAM,QAAQ,SAAS,CAAC,EAC1C,IAAI,CAAC,EAAE,QAAQ,QAAQ,OAAO;AAAA,IAC7B,IAAI,OAAO;AAAA,IACX,OAAO,OAAO;AAAA,IACd,OAAO,OAAO;AAAA,IACd,SAAS,MAAM;AAIb,YAAM,SAAS,OAAO,SAAS,OAAO;AACtC,UAAI,kBAAkB,SAAS;AAC7B,aAAK,OAAO;AAAA,UACV,MAAM,eAAe;AAAA,UACrB,MAAM;AAAA,UAEN;AAAA,QACF;AAAA,MACF,OAAO;AACL,uBAAe;AAAA,MACjB;AAAA,IACF;AAAA,EACF,EAAE;AACN;AAeO,SAAS,kBAAqD;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuC;AACrC,QAAM,OAAO,iBAAiB;AAC9B,MAAI,aAAa,WAAW,EAAG,QAAO;AACtC,MAAI,YAAY;AACd,UAAM,QAAQ,cAAc,YAAY,cAAc,cAAc;AACpE,QAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL;AAAA,QACA,SACE,oBAAC,UAAO,SAAQ,WAAU,MAAK,MAAK,YAAY,GAAG,YAAY,iBAC5D,eAAK,KAAK,YAAY,aAAa,MAAM,GAC5C;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACA,SAAO,cAAc,YAAY,cAAc,cAAc,IAAI;AACnE;AAGO,SAAS,iBAAiB,SAA+B,OAAe,SAA4B;AACzG,QAAM,OAAO,WAAW,CAAC;AACzB,SAAO,UAAU,CAAC,GAAG,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC,MAAM,MAAM,KAAK;AACpE;AAcO,SAAS,eAAe,aAAqB;AAClD,SAAO;AAAA,IACL,qBAAqB,CAAC,WAAkB;AAAA,MACtC,IAAI;AAAA,MACJ,IAAI,4BAA4B,IAAI,OAAO,WAAW,CAAC;AAAA,IACzD;AAAA,EACF;AACF;","names":["default"]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
buildGridColumns,
|
|
3
3
|
buildRowActionsColumn,
|
|
4
4
|
isActionsColumn
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GHXW6O5T.js";
|
|
6
6
|
|
|
7
7
|
// src/components/data-display/DataViews/data-views-columns.ts
|
|
8
8
|
import { useTheme } from "@mui/material/styles/index.js";
|
|
@@ -62,4 +62,4 @@ export {
|
|
|
62
62
|
useColumnsWithActions,
|
|
63
63
|
useRenderedColumns
|
|
64
64
|
};
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
65
|
+
//# sourceMappingURL=chunk-HPEBSLYP.js.map
|
|
@@ -87,6 +87,11 @@ function HeaderCell({
|
|
|
87
87
|
}
|
|
88
88
|
);
|
|
89
89
|
}
|
|
90
|
+
function cellClick(column, row, isEditing) {
|
|
91
|
+
const onCellClick = column.onCellClick;
|
|
92
|
+
if (!onCellClick || isEditing) return void 0;
|
|
93
|
+
return () => onCellClick(row);
|
|
94
|
+
}
|
|
90
95
|
function DataCell({
|
|
91
96
|
row,
|
|
92
97
|
rowIndex,
|
|
@@ -106,9 +111,11 @@ function DataCell({
|
|
|
106
111
|
"data-slot": "cell",
|
|
107
112
|
"data-col-id": column.id,
|
|
108
113
|
"data-editing": isEditing,
|
|
114
|
+
onClick: cellClick(column, row, isEditing),
|
|
109
115
|
sx: {
|
|
110
116
|
...columnBox(theme, column),
|
|
111
|
-
height: rowHeight
|
|
117
|
+
height: rowHeight,
|
|
118
|
+
...column.onCellClick && { cursor: "pointer" }
|
|
112
119
|
},
|
|
113
120
|
role: "gridcell",
|
|
114
121
|
tabIndex: -1,
|
|
@@ -205,4 +212,4 @@ export {
|
|
|
205
212
|
DataCell,
|
|
206
213
|
GridRow
|
|
207
214
|
};
|
|
208
|
-
//# sourceMappingURL=chunk-
|
|
215
|
+
//# sourceMappingURL=chunk-K6FW4YDA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/DataGrid/DataGrid.cells.tsx"],"sourcesContent":["/**\n * The DataGrid's cell and row renderers.\n *\n * Components rather than closures over the grid's scope: as inline `render*`\n * functions they could reach every piece of the component's state, which is how\n * the body grew past 700 lines. Each one now states exactly what it needs.\n */\nimport ArrowDownward from '@mui/icons-material/ArrowDownward';\nimport ArrowUpward from '@mui/icons-material/ArrowUpward';\nimport ExpandLess from '@mui/icons-material/ExpandLess';\nimport ExpandMore from '@mui/icons-material/ExpandMore';\nimport UnfoldMore from '@mui/icons-material/UnfoldMore';\nimport Button from '@mui/material/Button/index.js';\nimport Checkbox from '@mui/material/Checkbox/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport TableCell from '@mui/material/TableCell/index.js';\nimport TableRow from '@mui/material/TableRow/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { useTheme, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { rem } from '../../../tokens/relative';\n\nimport { cellValue } from './DataGrid.rows';\nimport type { DataGridModel } from './DataGrid.model';\nimport type { DataGridProps, GridColumn, GridSort } from './DataGrid.types';\nimport type { DataGridCopy } from '../../../copy';\n\n/** The glyph for a column's current sort state — unsorted included. */\nfunction SortIcon({ dir }: { dir: GridSort['dir'] | undefined }): React.JSX.Element {\n if (!dir) return <UnfoldMore fontSize=\"small\" sx={{ opacity: 0.5 }} />;\n return dir === 'asc' ? <ArrowUpward fontSize=\"small\" /> : <ArrowDownward fontSize=\"small\" />;\n}\n\n/** `aria-sort`'s three values, which are not the same words as `SortDirection`. */\nfunction ariaSort(dir: GridSort['dir'] | undefined): 'none' | 'ascending' | 'descending' {\n if (!dir) return 'none';\n return dir === 'asc' ? 'ascending' : 'descending';\n}\n\n/**\n * One of a column's `width`/`minWidth`/`maxWidth` as CSS. A number is design\n * px through the type scale — except 1 or less, which `sx` has always read as a\n * fraction of the table and still does; a string (`'312px'`, `'20%'`) is used as\n * given.\n */\nfunction columnLength(theme: Theme, value: number | string | undefined): string | undefined {\n if (typeof value !== 'number') return value;\n return value <= 1 && value !== 0 ? `${value * 100}%` : rem(theme, value);\n}\n\n/** A column's size constraints, as the `sx` of its header and its cells. */\nfunction columnBox<T extends Record<string, unknown>>(\n theme: Theme,\n column: GridColumn<T>,\n): { minWidth?: string; maxWidth?: string; width?: string } {\n return {\n minWidth: columnLength(theme, column.minWidth),\n maxWidth: columnLength(theme, column.maxWidth),\n width: columnLength(theme, column.width),\n };\n}\n\nexport interface HeaderCellProps<T extends Record<string, unknown>> {\n column: GridColumn<T>;\n sort: GridSort | undefined;\n sortable: boolean;\n stickyHeader: boolean;\n /** The header row's height, as CSS. */\n headerHeight: string;\n onSort: (columnId: string) => void;\n copy: DataGridCopy;\n}\n\nexport function HeaderCell<T extends Record<string, unknown>>({\n column,\n sort,\n sortable,\n stickyHeader,\n headerHeight,\n onSort,\n copy,\n}: HeaderCellProps<T>): React.JSX.Element {\n const theme = useTheme();\n const content = column.headerCell ? column.headerCell(column) : column.header;\n return (\n <TableCell\n data-slot=\"header-cell\"\n data-sort={sort?.dir ?? 'none'}\n sx={{\n position: stickyHeader ? 'sticky' : 'static',\n top: 0,\n zIndex: 1,\n backgroundColor: theme.palette.background.paper,\n borderBottom: `1px solid ${theme.palette.divider}`,\n height: headerHeight,\n ...columnBox(theme, column),\n }}\n role=\"columnheader\"\n aria-sort={ariaSort(sort?.dir)}\n >\n {sortable ? (\n <Button\n onClick={() => onSort(column.id)}\n sx={{\n justifyContent: 'flex-start',\n textTransform: 'none',\n fontWeight: 500,\n color: 'inherit',\n p: 0,\n minWidth: 0,\n '&:hover': { backgroundColor: 'transparent', opacity: 0.8 },\n }}\n endIcon={<SortIcon dir={sort?.dir} />}\n aria-label={column.ariaLabel ?? copy.sortBy(String(column.header))}\n >\n {content}\n </Button>\n ) : (\n <Typography variant=\"subtitle2\" fontWeight={500}>\n {content}\n </Typography>\n )}\n </TableCell>\n );\n}\n\nexport interface DataCellProps<T extends Record<string, unknown>> {\n row: T;\n rowIndex: number;\n rowId: string | number;\n column: GridColumn<T>;\n /** The row's height, as CSS — `DataGridModel.rowHeight`. */\n rowHeight: string;\n editing: NonNullable<DataGridProps<T>['editing']>;\n model: Pick<DataGridModel<T>, 'editingCell' | 'setEditingCell'>;\n}\n\n/** The cell's own click, padding included — never while the cell is being edited (FUT-3849). */\nfunction cellClick<T extends Record<string, unknown>>(\n column: GridColumn<T>,\n row: T,\n isEditing: boolean,\n): (() => void) | undefined {\n const onCellClick = column.onCellClick;\n if (!onCellClick || isEditing) return undefined;\n return () => onCellClick(row);\n}\n\nexport function DataCell<T extends Record<string, unknown>>({\n row,\n rowIndex,\n rowId,\n column,\n rowHeight,\n editing,\n model,\n}: DataCellProps<T>): React.JSX.Element {\n const theme = useTheme();\n const value = cellValue(row, column);\n const isEditing =\n model.editingCell?.rowId === rowId && model.editingCell?.colId === column.id;\n const content = column.cell\n ? column.cell({ value, row, rowIndex, col: column })\n : String(value ?? '');\n return (\n <TableCell\n data-slot=\"cell\"\n data-col-id={column.id}\n data-editing={isEditing}\n onClick={cellClick(column, row, isEditing)}\n sx={{\n ...columnBox(theme, column),\n height: rowHeight,\n ...(column.onCellClick && { cursor: \"pointer\" }),\n }}\n role=\"gridcell\"\n tabIndex={-1}\n >\n {isEditing && column.editor\n ? column.editor({\n value,\n row,\n onChange: () => undefined,\n commit: () => {\n editing.onEditCommit?.({ rowId, colId: column.id, value, row });\n model.setEditingCell(null);\n },\n cancel: () => model.setEditingCell(null),\n })\n : content}\n </TableCell>\n );\n}\n\nexport interface GridRowProps<T extends Record<string, unknown>> {\n row: T;\n index: number;\n rowId: string | number;\n isSelected: boolean;\n isExpanded: boolean;\n totalColumns: number;\n model: DataGridModel<T>;\n props: DataGridProps<T>;\n}\n\n/** The leading checkbox / chevron cells, which exist only for enabled features. */\nfunction RowControls<T extends Record<string, unknown>>({\n row,\n index,\n rowId,\n isSelected,\n isExpanded,\n model,\n props,\n}: GridRowProps<T>): React.JSX.Element {\n const { selection = { mode: 'none' }, expansion } = props;\n return (\n <>\n {selection.mode !== 'none' && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n checked={isSelected}\n onChange={(event) => model.onToggleRow(rowId, event.target.checked)}\n inputProps={{ 'aria-label': props.copy.selectRow(index + 1) }}\n />\n </TableCell>\n )}\n {expansion && (\n <TableCell padding=\"checkbox\">\n {expansion.isRowExpandable?.(row) === false ? null : (\n <IconButton\n size=\"small\"\n // Stopped so a host that opens the record on a row click does not\n // ALSO open it here: the chevron is its own control.\n onClick={(event) => {\n event.stopPropagation();\n model.onToggleExpansion(rowId);\n }}\n aria-expanded={isExpanded}\n aria-label={\n isExpanded\n ? (expansion.collapseLabel ?? props.copy.collapseRow)\n : (expansion.expandLabel ?? props.copy.expandRow)\n }\n data-slot=\"expand-toggle\"\n >\n {isExpanded ? <ExpandLess /> : <ExpandMore />}\n </IconButton>\n )}\n </TableCell>\n )}\n </>\n );\n}\n\nexport function GridRow<T extends Record<string, unknown>>(\n rowProps: GridRowProps<T>,\n): React.JSX.Element {\n const { row, index, rowId, isSelected, isExpanded, totalColumns, model, props } = rowProps;\n const theme = useTheme();\n const expansion = props.expansion;\n return (\n <React.Fragment>\n <TableRow\n data-slot=\"row\"\n data-selected={isSelected}\n data-expanded={isExpanded}\n sx={{\n '&:hover': { backgroundColor: theme.palette.action.hover },\n ...(isSelected && { backgroundColor: theme.palette.action.selected }),\n height: model.rowHeight,\n }}\n role=\"row\"\n aria-selected={isSelected}\n >\n <RowControls {...rowProps} />\n {model.visibleColumns.map((column) => (\n <DataCell\n key={column.id}\n row={row}\n rowIndex={index}\n rowId={rowId}\n column={column}\n rowHeight={model.rowHeight}\n editing={props.editing ?? { mode: 'none' }}\n model={model}\n />\n ))}\n </TableRow>\n {expansion && isExpanded && expansion.isRowExpandable?.(row) !== false && (\n <TableRow data-slot=\"row-detail\">\n <TableCell colSpan={totalColumns}>{expansion.render(row, index)}</TableCell>\n </TableRow>\n )}\n </React.Fragment>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GridShell
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-RHKQ2RSY.js";
|
|
4
4
|
import {
|
|
5
5
|
useDataViewsState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ZPACE34U.js";
|
|
7
7
|
|
|
8
8
|
// src/components/data-display/DataViews/DataViewsGrid.tsx
|
|
9
9
|
import { useEffect, useRef } from "react";
|
|
@@ -27,4 +27,4 @@ function DataViewsGrid(props) {
|
|
|
27
27
|
export {
|
|
28
28
|
DataViewsGrid
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
30
|
+
//# sourceMappingURL=chunk-LI6XSM5D.js.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-4IE66GY2.js";
|
|
10
10
|
import {
|
|
11
11
|
renderBulkActions
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-GHXW6O5T.js";
|
|
13
13
|
import {
|
|
14
14
|
useDataViewsCopy
|
|
15
15
|
} from "./chunk-KHG57NAE.js";
|
|
@@ -143,4 +143,4 @@ function GridToolbar(props) {
|
|
|
143
143
|
export {
|
|
144
144
|
GridToolbar
|
|
145
145
|
};
|
|
146
|
-
//# sourceMappingURL=chunk-
|
|
146
|
+
//# sourceMappingURL=chunk-M3DSPEZ3.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-7TCOYCD7.js";
|
|
4
4
|
import {
|
|
5
5
|
CardBody
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EF4DVYD2.js";
|
|
7
7
|
import {
|
|
8
8
|
toGridExpansion
|
|
9
9
|
} from "./chunk-O5UGAL2V.js";
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
} from "./chunk-KHG57NAE.js";
|
|
29
29
|
import {
|
|
30
30
|
DataGrid
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-DYHOBKPU.js";
|
|
32
32
|
import {
|
|
33
33
|
default as default2
|
|
34
34
|
} from "./chunk-6DPAWXZ3.js";
|
|
@@ -250,4 +250,4 @@ function GridMain(props) {
|
|
|
250
250
|
export {
|
|
251
251
|
GridMain
|
|
252
252
|
};
|
|
253
|
-
//# sourceMappingURL=chunk-
|
|
253
|
+
//# sourceMappingURL=chunk-NBXG3SQ3.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GridToolbar
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-M3DSPEZ3.js";
|
|
4
4
|
|
|
5
5
|
// src/components/data-display/DataViews/data-views-shell-toolbar.tsx
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -68,4 +68,4 @@ function ShellToolbar({
|
|
|
68
68
|
export {
|
|
69
69
|
ShellToolbar
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-O36MIQIO.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GridMain
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NBXG3SQ3.js";
|
|
4
4
|
import {
|
|
5
5
|
FilterDialog,
|
|
6
6
|
GridFilterPanel
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
} from "./chunk-K3PMMW23.js";
|
|
30
30
|
import {
|
|
31
31
|
ShellToolbar
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-O36MIQIO.js";
|
|
33
33
|
import {
|
|
34
34
|
SHELL_PROPS,
|
|
35
35
|
useStickyBarTop
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
} from "./chunk-5YDS6HO3.js";
|
|
41
41
|
import {
|
|
42
42
|
togglePillValues
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-GHXW6O5T.js";
|
|
44
44
|
import {
|
|
45
45
|
DataViewsLayoutProvider,
|
|
46
46
|
useDataViewsLayout
|
|
@@ -251,4 +251,4 @@ function GridShell(props) {
|
|
|
251
251
|
export {
|
|
252
252
|
GridShell
|
|
253
253
|
};
|
|
254
|
-
//# sourceMappingURL=chunk-
|
|
254
|
+
//# sourceMappingURL=chunk-RHKQ2RSY.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-4HUSG5MR.js";
|
|
4
4
|
import {
|
|
5
5
|
DataViewsGrid
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LI6XSM5D.js";
|
|
7
7
|
import {
|
|
8
8
|
viewStateKey
|
|
9
9
|
} from "./chunk-ZOLAYP2D.js";
|
|
@@ -166,4 +166,4 @@ function renderViewDialogs(ctl, fields, columns, views, testIdPrefix, onSaved) {
|
|
|
166
166
|
export {
|
|
167
167
|
DataViewsTableBase
|
|
168
168
|
};
|
|
169
|
-
//# sourceMappingURL=chunk-
|
|
169
|
+
//# sourceMappingURL=chunk-SFT4YN6O.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useColumnsWithActions,
|
|
3
3
|
useRenderedColumns
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-HPEBSLYP.js";
|
|
5
5
|
import {
|
|
6
6
|
filterRows
|
|
7
7
|
} from "./chunk-YGQX7BNI.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
computeActiveFilterCount,
|
|
14
14
|
defaultSortFields
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GHXW6O5T.js";
|
|
16
16
|
import {
|
|
17
17
|
serverDerived,
|
|
18
18
|
useServerQuery
|
|
@@ -172,4 +172,4 @@ function useDataViewsState({
|
|
|
172
172
|
export {
|
|
173
173
|
useDataViewsState
|
|
174
174
|
};
|
|
175
|
-
//# sourceMappingURL=chunk-
|
|
175
|
+
//# sourceMappingURL=chunk-ZPACE34U.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "../chunk-L5CPOEDP.js";
|
|
2
2
|
import {
|
|
3
3
|
DataGrid
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-DYHOBKPU.js";
|
|
5
5
|
import "../chunk-EARWC6PD.js";
|
|
6
6
|
import "../chunk-LDROG4QI.js";
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-5RYPVYWP.js";
|
|
8
|
+
import "../chunk-K6FW4YDA.js";
|
|
9
9
|
import "../chunk-G3E66C6J.js";
|
|
10
10
|
import "../chunk-YKCAJ2TN.js";
|
|
11
11
|
import "../chunk-PZ5AY32C.js";
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
} from "../chunk-MBMZNSBP.js";
|
|
4
4
|
import {
|
|
5
5
|
DataViewsTableBase
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-SFT4YN6O.js";
|
|
7
7
|
import "../chunk-4HUSG5MR.js";
|
|
8
8
|
import {
|
|
9
9
|
DataViewsGrid
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-LI6XSM5D.js";
|
|
11
11
|
import {
|
|
12
12
|
BaseListCard
|
|
13
13
|
} from "../chunk-CSD6SWBZ.js";
|
|
@@ -23,12 +23,12 @@ import {
|
|
|
23
23
|
DropIndicator,
|
|
24
24
|
useDragItem
|
|
25
25
|
} from "../chunk-K4EKTMTC.js";
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-RHKQ2RSY.js";
|
|
27
|
+
import "../chunk-NBXG3SQ3.js";
|
|
28
28
|
import {
|
|
29
29
|
DataViewsBoard
|
|
30
30
|
} from "../chunk-7TCOYCD7.js";
|
|
31
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-EF4DVYD2.js";
|
|
32
32
|
import "../chunk-555TUQ7E.js";
|
|
33
33
|
import "../chunk-LUNN5GTB.js";
|
|
34
34
|
import "../chunk-IQ2U5MVO.js";
|
|
@@ -54,8 +54,8 @@ import "../chunk-6J7RGNSF.js";
|
|
|
54
54
|
import "../chunk-LG52LMAM.js";
|
|
55
55
|
import "../chunk-C7CIUDXZ.js";
|
|
56
56
|
import "../chunk-5M4TYFR3.js";
|
|
57
|
-
import "../chunk-
|
|
58
|
-
import "../chunk-
|
|
57
|
+
import "../chunk-O36MIQIO.js";
|
|
58
|
+
import "../chunk-M3DSPEZ3.js";
|
|
59
59
|
import "../chunk-VBGC7G4F.js";
|
|
60
60
|
import "../chunk-WSAUWJFO.js";
|
|
61
61
|
import "../chunk-VJG43WKU.js";
|
|
@@ -68,15 +68,15 @@ import "../chunk-VMN6KG2U.js";
|
|
|
68
68
|
import "../chunk-G6EJLEVV.js";
|
|
69
69
|
import "../chunk-B2JSUFDX.js";
|
|
70
70
|
import "../chunk-DZEC6RFM.js";
|
|
71
|
-
import "../chunk-
|
|
72
|
-
import "../chunk-
|
|
71
|
+
import "../chunk-ZPACE34U.js";
|
|
72
|
+
import "../chunk-HPEBSLYP.js";
|
|
73
73
|
import "../chunk-YGQX7BNI.js";
|
|
74
74
|
import {
|
|
75
75
|
DataViewsScopeTabs,
|
|
76
76
|
assertNoScopePillOverlap,
|
|
77
77
|
resolveScope
|
|
78
78
|
} from "../chunk-PL2AB5HJ.js";
|
|
79
|
-
import "../chunk-
|
|
79
|
+
import "../chunk-GHXW6O5T.js";
|
|
80
80
|
import "../chunk-IMLIIW77.js";
|
|
81
81
|
import "../chunk-LLZWB32X.js";
|
|
82
82
|
import "../chunk-U5FOJBLG.js";
|
|
@@ -188,11 +188,11 @@ import "../chunk-AL5E624U.js";
|
|
|
188
188
|
import "../chunk-GYXUCS37.js";
|
|
189
189
|
import "../chunk-LV7LSPBF.js";
|
|
190
190
|
import "../chunk-L5CPOEDP.js";
|
|
191
|
-
import "../chunk-
|
|
191
|
+
import "../chunk-DYHOBKPU.js";
|
|
192
192
|
import "../chunk-EARWC6PD.js";
|
|
193
193
|
import "../chunk-LDROG4QI.js";
|
|
194
|
-
import "../chunk-
|
|
195
|
-
import "../chunk-
|
|
194
|
+
import "../chunk-5RYPVYWP.js";
|
|
195
|
+
import "../chunk-K6FW4YDA.js";
|
|
196
196
|
import "../chunk-G3E66C6J.js";
|
|
197
197
|
import "../chunk-SNCSGLJ6.js";
|
|
198
198
|
import "../chunk-UMICTXMP.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGrid.cells.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataGrid/DataGrid.cells.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAqClD,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC5D,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,IAAI,GACL,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2CxC;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9D,GAAG,EAAE,CAAC,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAC,CAAC;CACjE;
|
|
1
|
+
{"version":3,"file":"DataGrid.cells.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataGrid/DataGrid.cells.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAqClD,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC5D,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,IAAI,GACL,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2CxC;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9D,GAAG,EAAE,CAAC,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAC,CAAC;CACjE;AAaD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC1D,GAAG,EACH,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,KAAK,GACN,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoCtC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACzB;AAoDD,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,KAAK,CAAC,GAAG,CAAC,OAAO,CAuCnB"}
|
|
@@ -42,6 +42,12 @@ export interface GridColumn<T = Record<string, unknown>> {
|
|
|
42
42
|
rowIndex: number;
|
|
43
43
|
col: GridColumn<T>;
|
|
44
44
|
}) => React.ReactNode;
|
|
45
|
+
/**
|
|
46
|
+
* Fired by a click anywhere in the cell, its padding included. Opening a row
|
|
47
|
+
* from a wrapper inside the content left the padding dead: a strip either
|
|
48
|
+
* side of every column that showed the hover and did nothing (FUT-3849).
|
|
49
|
+
*/
|
|
50
|
+
onCellClick?: (row: T) => void;
|
|
45
51
|
headerCell?: (col: GridColumn<T>) => React.ReactNode;
|
|
46
52
|
/** Cell editor renderer (edit mode) */
|
|
47
53
|
editor?: (ctx: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGrid.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataGrid/DataGrid.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataGrid.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataGrid/DataGrid.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { DataViewColumn, DataViewState, FilterFieldConfig, RangeFieldConfig
|
|
|
6
6
|
export declare function isActionsColumn<T extends Record<string, unknown>>(col: GridColumn<T>): boolean;
|
|
7
7
|
/**
|
|
8
8
|
* Map the DataView columns to grid columns, applying visibility and — when a row
|
|
9
|
-
* click handler is present —
|
|
9
|
+
* click handler is present — making each non-actions cell, padding included, open the row.
|
|
10
10
|
*/
|
|
11
11
|
export declare function buildGridColumns<T extends Record<string, unknown>>(columns: DataViewColumn<T>[], visibleColumns: string[], onRowClick: ((row: T) => void) | undefined): GridColumn<T>[];
|
|
12
12
|
interface ActionsColumnConfig<T extends Record<string, unknown>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-grid-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-grid-helpers.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMvE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAE9F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAC5B,cAAc,EAAE,MAAM,EAAE,EACxB,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,GACzC,UAAU,CAAC,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"data-views-grid-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-grid-helpers.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -136,6 +136,17 @@ export interface DataCellProps<T extends Record<string, unknown>> {
|
|
|
136
136
|
model: Pick<DataGridModel<T>, 'editingCell' | 'setEditingCell'>;
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
+
/** The cell's own click, padding included — never while the cell is being edited (FUT-3849). */
|
|
140
|
+
function cellClick<T extends Record<string, unknown>>(
|
|
141
|
+
column: GridColumn<T>,
|
|
142
|
+
row: T,
|
|
143
|
+
isEditing: boolean,
|
|
144
|
+
): (() => void) | undefined {
|
|
145
|
+
const onCellClick = column.onCellClick;
|
|
146
|
+
if (!onCellClick || isEditing) return undefined;
|
|
147
|
+
return () => onCellClick(row);
|
|
148
|
+
}
|
|
149
|
+
|
|
139
150
|
export function DataCell<T extends Record<string, unknown>>({
|
|
140
151
|
row,
|
|
141
152
|
rowIndex,
|
|
@@ -157,9 +168,11 @@ export function DataCell<T extends Record<string, unknown>>({
|
|
|
157
168
|
data-slot="cell"
|
|
158
169
|
data-col-id={column.id}
|
|
159
170
|
data-editing={isEditing}
|
|
171
|
+
onClick={cellClick(column, row, isEditing)}
|
|
160
172
|
sx={{
|
|
161
173
|
...columnBox(theme, column),
|
|
162
174
|
height: rowHeight,
|
|
175
|
+
...(column.onCellClick && { cursor: "pointer" }),
|
|
163
176
|
}}
|
|
164
177
|
role="gridcell"
|
|
165
178
|
tabIndex={-1}
|
|
@@ -40,6 +40,12 @@ export interface GridColumn<T = Record<string, unknown>> {
|
|
|
40
40
|
enableEdit?: boolean;
|
|
41
41
|
/** Custom renderers */
|
|
42
42
|
cell?: (ctx: { value: unknown; row: T; rowIndex: number; col: GridColumn<T> }) => React.ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* Fired by a click anywhere in the cell, its padding included. Opening a row
|
|
45
|
+
* from a wrapper inside the content left the padding dead: a strip either
|
|
46
|
+
* side of every column that showed the hover and did nothing (FUT-3849).
|
|
47
|
+
*/
|
|
48
|
+
onCellClick?: (row: T) => void;
|
|
43
49
|
headerCell?: (col: GridColumn<T>) => React.ReactNode;
|
|
44
50
|
/** Cell editor renderer (edit mode) */
|
|
45
51
|
editor?: (ctx: {
|
|
@@ -25,7 +25,7 @@ export function isActionsColumn<T extends Record<string, unknown>>(col: GridColu
|
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Map the DataView columns to grid columns, applying visibility and — when a row
|
|
28
|
-
* click handler is present —
|
|
28
|
+
* click handler is present — making each non-actions cell, padding included, open the row.
|
|
29
29
|
*/
|
|
30
30
|
export function buildGridColumns<T extends Record<string, unknown>>(
|
|
31
31
|
columns: DataViewColumn<T>[],
|
|
@@ -38,13 +38,12 @@ export function buildGridColumns<T extends Record<string, unknown>>(
|
|
|
38
38
|
return {
|
|
39
39
|
...col,
|
|
40
40
|
hidden,
|
|
41
|
+
// On the cell, not a wrapper inside it: its padding opens the row too.
|
|
42
|
+
onCellClick: onRowClick,
|
|
41
43
|
cell: (ctx) => {
|
|
42
44
|
const content = col.cell ? col.cell(ctx) : ctx.value == null ? "" : String(ctx.value);
|
|
43
45
|
return (
|
|
44
|
-
<Box
|
|
45
|
-
onClick={() => onRowClick(ctx.row)}
|
|
46
|
-
sx={{ cursor: "pointer", width: "100%", height: "100%", display: "flex", alignItems: "center" }}
|
|
47
|
-
>
|
|
46
|
+
<Box sx={{ width: "100%", height: "100%", display: "flex", alignItems: "center" }}>
|
|
48
47
|
{content}
|
|
49
48
|
</Box>
|
|
50
49
|
);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/data-display/DataGrid/DataGrid.cells.tsx"],"sourcesContent":["/**\n * The DataGrid's cell and row renderers.\n *\n * Components rather than closures over the grid's scope: as inline `render*`\n * functions they could reach every piece of the component's state, which is how\n * the body grew past 700 lines. Each one now states exactly what it needs.\n */\nimport ArrowDownward from '@mui/icons-material/ArrowDownward';\nimport ArrowUpward from '@mui/icons-material/ArrowUpward';\nimport ExpandLess from '@mui/icons-material/ExpandLess';\nimport ExpandMore from '@mui/icons-material/ExpandMore';\nimport UnfoldMore from '@mui/icons-material/UnfoldMore';\nimport Button from '@mui/material/Button/index.js';\nimport Checkbox from '@mui/material/Checkbox/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport TableCell from '@mui/material/TableCell/index.js';\nimport TableRow from '@mui/material/TableRow/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { useTheme, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { rem } from '../../../tokens/relative';\n\nimport { cellValue } from './DataGrid.rows';\nimport type { DataGridModel } from './DataGrid.model';\nimport type { DataGridProps, GridColumn, GridSort } from './DataGrid.types';\nimport type { DataGridCopy } from '../../../copy';\n\n/** The glyph for a column's current sort state — unsorted included. */\nfunction SortIcon({ dir }: { dir: GridSort['dir'] | undefined }): React.JSX.Element {\n if (!dir) return <UnfoldMore fontSize=\"small\" sx={{ opacity: 0.5 }} />;\n return dir === 'asc' ? <ArrowUpward fontSize=\"small\" /> : <ArrowDownward fontSize=\"small\" />;\n}\n\n/** `aria-sort`'s three values, which are not the same words as `SortDirection`. */\nfunction ariaSort(dir: GridSort['dir'] | undefined): 'none' | 'ascending' | 'descending' {\n if (!dir) return 'none';\n return dir === 'asc' ? 'ascending' : 'descending';\n}\n\n/**\n * One of a column's `width`/`minWidth`/`maxWidth` as CSS. A number is design\n * px through the type scale — except 1 or less, which `sx` has always read as a\n * fraction of the table and still does; a string (`'312px'`, `'20%'`) is used as\n * given.\n */\nfunction columnLength(theme: Theme, value: number | string | undefined): string | undefined {\n if (typeof value !== 'number') return value;\n return value <= 1 && value !== 0 ? `${value * 100}%` : rem(theme, value);\n}\n\n/** A column's size constraints, as the `sx` of its header and its cells. */\nfunction columnBox<T extends Record<string, unknown>>(\n theme: Theme,\n column: GridColumn<T>,\n): { minWidth?: string; maxWidth?: string; width?: string } {\n return {\n minWidth: columnLength(theme, column.minWidth),\n maxWidth: columnLength(theme, column.maxWidth),\n width: columnLength(theme, column.width),\n };\n}\n\nexport interface HeaderCellProps<T extends Record<string, unknown>> {\n column: GridColumn<T>;\n sort: GridSort | undefined;\n sortable: boolean;\n stickyHeader: boolean;\n /** The header row's height, as CSS. */\n headerHeight: string;\n onSort: (columnId: string) => void;\n copy: DataGridCopy;\n}\n\nexport function HeaderCell<T extends Record<string, unknown>>({\n column,\n sort,\n sortable,\n stickyHeader,\n headerHeight,\n onSort,\n copy,\n}: HeaderCellProps<T>): React.JSX.Element {\n const theme = useTheme();\n const content = column.headerCell ? column.headerCell(column) : column.header;\n return (\n <TableCell\n data-slot=\"header-cell\"\n data-sort={sort?.dir ?? 'none'}\n sx={{\n position: stickyHeader ? 'sticky' : 'static',\n top: 0,\n zIndex: 1,\n backgroundColor: theme.palette.background.paper,\n borderBottom: `1px solid ${theme.palette.divider}`,\n height: headerHeight,\n ...columnBox(theme, column),\n }}\n role=\"columnheader\"\n aria-sort={ariaSort(sort?.dir)}\n >\n {sortable ? (\n <Button\n onClick={() => onSort(column.id)}\n sx={{\n justifyContent: 'flex-start',\n textTransform: 'none',\n fontWeight: 500,\n color: 'inherit',\n p: 0,\n minWidth: 0,\n '&:hover': { backgroundColor: 'transparent', opacity: 0.8 },\n }}\n endIcon={<SortIcon dir={sort?.dir} />}\n aria-label={column.ariaLabel ?? copy.sortBy(String(column.header))}\n >\n {content}\n </Button>\n ) : (\n <Typography variant=\"subtitle2\" fontWeight={500}>\n {content}\n </Typography>\n )}\n </TableCell>\n );\n}\n\nexport interface DataCellProps<T extends Record<string, unknown>> {\n row: T;\n rowIndex: number;\n rowId: string | number;\n column: GridColumn<T>;\n /** The row's height, as CSS — `DataGridModel.rowHeight`. */\n rowHeight: string;\n editing: NonNullable<DataGridProps<T>['editing']>;\n model: Pick<DataGridModel<T>, 'editingCell' | 'setEditingCell'>;\n}\n\nexport function DataCell<T extends Record<string, unknown>>({\n row,\n rowIndex,\n rowId,\n column,\n rowHeight,\n editing,\n model,\n}: DataCellProps<T>): React.JSX.Element {\n const theme = useTheme();\n const value = cellValue(row, column);\n const isEditing =\n model.editingCell?.rowId === rowId && model.editingCell?.colId === column.id;\n const content = column.cell\n ? column.cell({ value, row, rowIndex, col: column })\n : String(value ?? '');\n return (\n <TableCell\n data-slot=\"cell\"\n data-col-id={column.id}\n data-editing={isEditing}\n sx={{\n ...columnBox(theme, column),\n height: rowHeight,\n }}\n role=\"gridcell\"\n tabIndex={-1}\n >\n {isEditing && column.editor\n ? column.editor({\n value,\n row,\n onChange: () => undefined,\n commit: () => {\n editing.onEditCommit?.({ rowId, colId: column.id, value, row });\n model.setEditingCell(null);\n },\n cancel: () => model.setEditingCell(null),\n })\n : content}\n </TableCell>\n );\n}\n\nexport interface GridRowProps<T extends Record<string, unknown>> {\n row: T;\n index: number;\n rowId: string | number;\n isSelected: boolean;\n isExpanded: boolean;\n totalColumns: number;\n model: DataGridModel<T>;\n props: DataGridProps<T>;\n}\n\n/** The leading checkbox / chevron cells, which exist only for enabled features. */\nfunction RowControls<T extends Record<string, unknown>>({\n row,\n index,\n rowId,\n isSelected,\n isExpanded,\n model,\n props,\n}: GridRowProps<T>): React.JSX.Element {\n const { selection = { mode: 'none' }, expansion } = props;\n return (\n <>\n {selection.mode !== 'none' && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n checked={isSelected}\n onChange={(event) => model.onToggleRow(rowId, event.target.checked)}\n inputProps={{ 'aria-label': props.copy.selectRow(index + 1) }}\n />\n </TableCell>\n )}\n {expansion && (\n <TableCell padding=\"checkbox\">\n {expansion.isRowExpandable?.(row) === false ? null : (\n <IconButton\n size=\"small\"\n // Stopped so a host that opens the record on a row click does not\n // ALSO open it here: the chevron is its own control.\n onClick={(event) => {\n event.stopPropagation();\n model.onToggleExpansion(rowId);\n }}\n aria-expanded={isExpanded}\n aria-label={\n isExpanded\n ? (expansion.collapseLabel ?? props.copy.collapseRow)\n : (expansion.expandLabel ?? props.copy.expandRow)\n }\n data-slot=\"expand-toggle\"\n >\n {isExpanded ? <ExpandLess /> : <ExpandMore />}\n </IconButton>\n )}\n </TableCell>\n )}\n </>\n );\n}\n\nexport function GridRow<T extends Record<string, unknown>>(\n rowProps: GridRowProps<T>,\n): React.JSX.Element {\n const { row, index, rowId, isSelected, isExpanded, totalColumns, model, props } = rowProps;\n const theme = useTheme();\n const expansion = props.expansion;\n return (\n <React.Fragment>\n <TableRow\n data-slot=\"row\"\n data-selected={isSelected}\n data-expanded={isExpanded}\n sx={{\n '&:hover': { backgroundColor: theme.palette.action.hover },\n ...(isSelected && { backgroundColor: theme.palette.action.selected }),\n height: model.rowHeight,\n }}\n role=\"row\"\n aria-selected={isSelected}\n >\n <RowControls {...rowProps} />\n {model.visibleColumns.map((column) => (\n <DataCell\n key={column.id}\n row={row}\n rowIndex={index}\n rowId={rowId}\n column={column}\n rowHeight={model.rowHeight}\n editing={props.editing ?? { mode: 'none' }}\n model={model}\n />\n ))}\n </TableRow>\n {expansion && isExpanded && expansion.isRowExpandable?.(row) !== false && (\n <TableRow data-slot=\"row-detail\">\n <TableCell colSpan={totalColumns}>{expansion.render(row, index)}</TableCell>\n </TableRow>\n )}\n </React.Fragment>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/data-display/DataViews/data-views-grid-helpers.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Theme } from \"@mui/material/styles/index.js\";\n\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { type GridColumn } from \"../DataGrid\";\nimport { type SortFieldDefinition } from \"../../layout/ContentToolbar\";\nimport { Box } from \"../../../mui/Box\";\nimport { rem, sxRem } from \"../../../tokens/relative\";\nimport { Button } from \"../../form/Button\";\nimport { DropdownMenu, type DropdownMenuItem } from \"../../navigation/DropdownMenu\";\n\nimport type {\n DataViewColumn,\n DataViewState,\n FilterFieldConfig,\n RangeFieldConfig,\n RowAction,\n} from \"./data-views-types\";\n\n/** Is this the non-clickable actions column? */\nexport function isActionsColumn<T extends Record<string, unknown>>(col: GridColumn<T>): boolean {\n return col.type === \"actions\" || col.id === \"actions\";\n}\n\n/**\n * Map the DataView columns to grid columns, applying visibility and — when a row\n * click handler is present — wrapping each non-actions cell so clicking opens the row.\n */\nexport function buildGridColumns<T extends Record<string, unknown>>(\n columns: DataViewColumn<T>[],\n visibleColumns: string[],\n onRowClick: ((row: T) => void) | undefined,\n): GridColumn<T>[] {\n return columns.map((col) => {\n const hidden = col.hideable !== false && !visibleColumns.includes(col.id);\n if (!onRowClick || isActionsColumn(col)) return { ...col, hidden };\n return {\n ...col,\n hidden,\n cell: (ctx) => {\n const content = col.cell ? col.cell(ctx) : ctx.value == null ? \"\" : String(ctx.value);\n return (\n <Box\n onClick={() => onRowClick(ctx.row)}\n sx={{ cursor: \"pointer\", width: \"100%\", height: \"100%\", display: \"flex\", alignItems: \"center\" }}\n >\n {content}\n </Box>\n );\n },\n };\n });\n}\n\ninterface ActionsColumnConfig<T extends Record<string, unknown>> {\n /** Whose type scale the column's width is drawn at. */\n theme: Theme;\n /** Actions that build the auto \"⋮\" kebab. Ignored when `renderRowMenu` is set. */\n rowActions: RowAction<T>[];\n /** Optional leading slot (e.g. a favourite star) rendered before the kebab. */\n leading?: (row: T) => React.ReactNode;\n testIdPrefix: string;\n getRowId: (row: T) => string | number;\n /**\n * Escape hatch: render a bespoke per-row menu (e.g. an entity's self-contained\n * 3-dots menu that owns its own popups) INSTEAD of the auto kebab built from\n * `rowActions`. This is how the table row and the card share ONE menu component.\n * `rowActions`/`bulkActions` still drive the multi-row bulk menu, which a\n * single-row menu intentionally does not replace.\n */\n renderRowMenu?: (row: T) => React.ReactNode;\n}\n\n/**\n * The auto \"⋮\" kebab actions column built from the reusable `rowActions` — the\n * SAME definitions that feed the bulk menu, so the two never drift. Each item\n * acts on just this row; `rowLabel` provides a per-row label when set. An\n * optional `leading` slot (e.g. a favourite star) renders before the kebab.\n * When `renderRowMenu` is supplied, the cell renders that bespoke menu instead.\n */\nexport function buildRowActionsColumn<T extends Record<string, unknown>>(\n config: ActionsColumnConfig<T>,\n): DataViewColumn<T> {\n const { theme, rowActions, leading, testIdPrefix, getRowId, renderRowMenu } = config;\n const kebabActions = rowActions.filter((action) => action.row !== false);\n return {\n id: \"actions\",\n header: \"\",\n type: \"actions\",\n enableSort: false,\n hideable: false,\n // Narrow: the column only holds the \"⋮\" kebab (plus an optional leading icon),\n // so it needs room for just one or two icons — 72 or 44 design px.\n width: rem(theme, leading ? 72 : 44),\n cell: ({ row }) => (\n <Box component=\"span\" sx={{ display: \"inline-flex\", alignItems: \"center\", gap: sxRem(2), justifyContent: \"flex-end\" }}>\n {leading?.(row)}\n {renderRowMenu\n ? renderRowMenu(row)\n : renderAutoKebab(kebabActions, row, testIdPrefix, getRowId)}\n </Box>\n ),\n };\n}\n\n/** The built-in kebab menu for one row, derived from `rowActions`. */\nfunction renderAutoKebab<T extends Record<string, unknown>>(\n kebabActions: RowAction<T>[],\n row: T,\n testIdPrefix: string,\n getRowId: (row: T) => string | number,\n): React.ReactNode {\n const copy = useDataViewsCopy();\n const items: DropdownMenuItem[] = kebabActions\n .filter((action) => action.isVisible?.(row) ?? true)\n .map((action) => ({\n id: action.id,\n label: action.rowLabel ? action.rowLabel(row) : action.label,\n color: action.color,\n onClick: () => void action.onSelect([row]),\n }));\n if (items.length === 0) return null;\n return (\n <DropdownMenu\n size=\"sm\"\n items={items}\n trigger={\n <Button variant=\"text\" size=\"sm\" dataTestId={`${testIdPrefix}-actions-${getRowId(row)}`} aria-label={copy.grid.rowActions}>\n ⋮\n </Button>\n }\n />\n );\n}\n\n/** Sort options derived from the sortable columns when a page supplies none. */\nexport function defaultSortFields<T extends Record<string, unknown>>(\n columns: DataViewColumn<T>[],\n): SortFieldDefinition[] {\n return columns\n .filter(\n (col) =>\n col.enableSort !== false &&\n col.type !== \"actions\" &&\n col.id !== \"actions\" &&\n typeof col.header === \"string\" &&\n col.header !== \"\",\n )\n .map((col) => ({\n value: col.id,\n label: col.header as string,\n orderOptions: [\n { value: \"asc\", label: \"Crescente\" },\n { value: \"desc\", label: \"Decrescente\" },\n ],\n }));\n}\n\n/** Count active filters (search + selected pills + bounded ranges) for the badge. */\nexport function computeActiveFilterCount<T extends Record<string, unknown>>(\n state: DataViewState,\n fields: FilterFieldConfig<T>[],\n rangeFields: RangeFieldConfig<T>[],\n): number {\n const ranges = state.ranges ?? {};\n const pillCount = fields.reduce((n, field) => n + ((state.pills[field.id]?.length ?? 0) > 0 ? 1 : 0), 0);\n const rangeCount = rangeFields.reduce((n, field) => {\n const range = ranges[field.id];\n return n + (range && (range.min != null || range.max != null) ? 1 : 0);\n }, 0);\n return (state.search.trim() ? 1 : 0) + pillCount + rangeCount;\n}\n\nfunction bulkMenuItems<T extends Record<string, unknown>>(\n rowActions: RowAction<T>[],\n selectedRows: T[],\n clearSelection: () => void,\n): DropdownMenuItem[] {\n return rowActions\n .filter((action) => action.bulk !== false)\n .map((action) => {\n // State-machine guards: the action runs only on the rows it applies to,\n // and disappears from the menu when none of the selection qualifies.\n const targets = action.isVisible ? selectedRows.filter(action.isVisible) : selectedRows;\n return { action, targets };\n })\n .filter(({ targets }) => targets.length > 0)\n .map(({ action, targets }) => ({\n id: action.id,\n label: action.label,\n color: action.color,\n onClick: () => {\n // Run the (possibly async) handler on the captured selection, then clear\n // it — but only once the work settles. On failure keep the selection so\n // the user can see which rows still need action and retry.\n const result = action.onSelect(targets);\n if (result instanceof Promise) {\n void result.then(\n () => clearSelection(),\n () => {\n /* keep the selection on failure so the user can retry */\n },\n );\n } else {\n clearSelection();\n }\n },\n }));\n}\n\ninterface RenderBulkArgs<T extends Record<string, unknown>> {\n rowActions: RowAction<T>[] | undefined;\n bulkActions: ((selectedRows: T[], clearSelection: () => void) => React.ReactNode) | undefined;\n selectedRows: T[];\n clearSelection: () => void;\n testIdPrefix: string;\n}\n\n/**\n * The selection bulk control shown in the toolbar. Prefers the reusable\n * `rowActions` (an \"Ações\" dropdown mirroring the row kebab); falls back to the\n * low-level `bulkActions` render prop. Renders nothing with no selection.\n */\nexport function renderBulkActions<T extends Record<string, unknown>>({\n rowActions,\n bulkActions,\n selectedRows,\n clearSelection,\n testIdPrefix,\n}: RenderBulkArgs<T>): React.ReactNode {\n const copy = useDataViewsCopy();\n if (selectedRows.length === 0) return undefined;\n if (rowActions) {\n const items = bulkMenuItems(rowActions, selectedRows, clearSelection);\n if (items.length === 0) return undefined;\n return (\n <DropdownMenu\n size=\"sm\"\n items={items}\n trigger={\n <Button variant=\"outline\" size=\"sm\" dataTestId={`${testIdPrefix}-bulk-actions`}>\n {copy.grid.bulkActions(selectedRows.length)}\n </Button>\n }\n />\n );\n }\n return bulkActions ? bulkActions(selectedRows, clearSelection) : undefined;\n}\n\n/** Toggle a single value in a pill's selected-list (returns the next list). */\nexport function togglePillValues(current: string[] | undefined, value: string, checked: boolean): string[] {\n const list = current ?? [];\n return checked ? [...list, value] : list.filter((v) => v !== value);\n}\n\n/**\n * The card grid's `grid-template-columns`, as an sx fragment.\n *\n * One rule at every width: each card asks for `targetWidth` and `auto-fill`\n * decides how many fit. Density moves the target, so it changes the count at\n * every size — which the previous column-count cap could not do, because its\n * track floor bottomed out at a constant shared by all three densities.\n *\n * Below `sm` this is a single column, and no target changes that. That is why\n * the density control hides itself there rather than offering three settings\n * that all draw the same thing.\n */\nexport function cardGridTracks(targetWidth: number) {\n return {\n gridTemplateColumns: (theme: Theme) => ({\n xs: \"1fr\",\n sm: `repeat(auto-fill, minmax(${rem(theme, targetWidth)}, 1fr))`,\n }),\n };\n}\n"],"mappings":"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","names":["default"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|