@sis-cc/dotstatsuite-visions 15.13.0 → 15.15.0
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/CollapseButtons/CollapseButtons.js +14 -12
- package/dist/CollapseButtons/CollapseButtons.js.map +1 -1
- package/dist/DynamicDrawer/DynamicDrawer.js +49 -15
- package/dist/DynamicDrawer/DynamicDrawer.js.map +1 -1
- package/dist/Spotlight/Spotlight.js +12 -4
- package/dist/Spotlight/Spotlight.js.map +1 -1
- package/dist/assets/{Alert-DLvq0ijF.js → Alert-lsFKOp9i.js} +1 -1
- package/dist/assets/Alert.stories-CJo4lRxC.js +3 -0
- package/dist/assets/{ApiQueries.stories-BbHdt3D-.js → ApiQueries.stories-D0UZZegu.js} +1 -1
- package/dist/assets/ArrowForward-DRfbjzX3.js +1 -0
- package/dist/assets/{Asterisk-DOs1vb3E.js → Asterisk-DBQW9-Hr.js} +1 -1
- package/dist/assets/{AuthDialog.stories-jk761e7b.js → AuthDialog.stories-DuwnjpZ7.js} +1 -1
- package/dist/assets/{Box-bJJaav7j.js → Box-DmUruWLD.js} +1 -1
- package/dist/assets/{Breadcrumbs.stories-BuOHIr3y.js → Breadcrumbs.stories-ByiC2Wb2.js} +1 -1
- package/dist/assets/{Button-CGpAVIMc.js → Button-BNfMxbgA.js} +1 -1
- package/dist/assets/{Button-sImJ8QmZ.js → Button-CmhM5bz3.js} +1 -1
- package/dist/assets/{Button.stories-Bq1mLEUo.js → Button.stories-Bj2K37Jv.js} +1 -1
- package/dist/assets/{ButtonBase-h8Hyf02N.js → ButtonBase-6XHj9BVq.js} +1 -1
- package/dist/assets/{CardContent-DIOhSkFH.js → CardContent-CL6EvtRI.js} +1 -1
- package/dist/assets/{ChartsConfig.stories-BYQlzYdn.js → ChartsConfig.stories-LLpYzjbe.js} +1 -1
- package/dist/assets/{Checkbox-f_OZ-31l.js → Checkbox-BgiXBHEo.js} +1 -1
- package/dist/assets/{Chips.stories-BK3guGeT.js → Chips.stories-Ci0QKHT2.js} +1 -1
- package/dist/assets/{CircularProgress-DczpWKmA.js → CircularProgress-D0J5GtY7.js} +1 -1
- package/dist/assets/Close-BgjTWYFL.js +1 -0
- package/dist/assets/{Collapse-DMTLRgKX.js → Collapse-Bv9tgZ8u.js} +1 -1
- package/dist/assets/CollapseButtons.stories-qcma0dAa.js +1 -0
- package/dist/assets/{CollapsibleTree.stories-4aAqF8CW.js → CollapsibleTree.stories-Br8WRPe6.js} +1 -1
- package/dist/assets/{Color-6AOWCN3U-BTNSEyHk.js → Color-6AOWCN3U-CMdAw3GI.js} +1 -1
- package/dist/assets/{Contact.stories-DjrtJ_kt.js → Contact.stories-B4_5efx6.js} +1 -1
- package/dist/assets/{Container-1esFF051.js → Container-D3cI2ye_.js} +1 -1
- package/dist/assets/{Cross-ByOy89mc.js → Cross-DPRfrOPy.js} +1 -1
- package/dist/assets/{CustomChip-KnurWVYb.js → CustomChip-PgDS_Voh.js} +1 -1
- package/dist/assets/{DataEdit-BMhNIi4f.js → DataEdit-CkUFsWww.js} +1 -1
- package/dist/assets/DataEdit.stories-B_gAKoLC.js +1 -0
- package/dist/assets/{DataFooter.stories-DF7dM1Fz.js → DataFooter.stories-DbpkHjQo.js} +1 -1
- package/dist/assets/{DataHeader.stories-DQIR10X9.js → DataHeader.stories-Bvm601kr.js} +1 -1
- package/dist/assets/{Dataflow.stories-DpdyGVoM.js → Dataflow.stories-tehj-YyM.js} +1 -1
- package/dist/assets/{DeleteAllChip.stories-qla6HDue.js → DeleteAllChip.stories-B2GXOU9b.js} +1 -1
- package/dist/assets/{Dialog-Dbd5q2ZH.js → Dialog-C-s0yijE.js} +1 -1
- package/dist/assets/{Divider-B7XS2Z4V.js → Divider-R2ewHtk_.js} +1 -1
- package/dist/assets/{DocsRenderer-JROSPFPF-DxQ3qCAa.js → DocsRenderer-JROSPFPF-B12ntMcZ.js} +5 -5
- package/dist/assets/Done-BSbaFiq0.js +1 -0
- package/dist/assets/DynamicDrawer.stories-DvyX483Y.js +37 -0
- package/dist/assets/{EmojiObjects-CrPOWO9t.js → EmojiObjects-CUssVW0A.js} +1 -1
- package/dist/assets/ExpandLess-3-xtTF1p.js +1 -0
- package/dist/assets/ExpandMore-Dsuz1jjM.js +1 -0
- package/dist/assets/{ExpansionPanel-B1gQpUNm.js → ExpansionPanel-Ctt2zdHC.js} +1 -1
- package/dist/assets/ExpansionPanel.stories-Y0OQrCya.js +1 -0
- package/dist/assets/{FormControlLabel-DClPtT5c.js → FormControlLabel-KcN9FnOb.js} +1 -1
- package/dist/assets/{Grid-WD2CtAjS.js → Grid-CAOlztbh.js} +1 -1
- package/dist/assets/{GroupedChips.stories-BFwWBunB.js → GroupedChips.stories-DWt0FQPY.js} +1 -1
- package/dist/assets/{Grow-DSRrEILj.js → Grow-BVFMWm8n.js} +1 -1
- package/dist/assets/{HierarchicalFilter.stories-Bppptfog.js → HierarchicalFilter.stories-MVTDp771.js} +1 -1
- package/dist/assets/{IconButton-C2dWVjln.js → IconButton-Dp4IAclR.js} +1 -1
- package/dist/assets/Info-CoiGqhtP.js +1 -0
- package/dist/assets/{Input-COkKYOw9.js → Input-D3cr-q9v.js} +1 -1
- package/dist/assets/Input.stories-DtawhaJn.js +1 -0
- package/dist/assets/{InputAdornment-pyuuGkIU.js → InputAdornment-BrIoALkp.js} +1 -1
- package/dist/assets/{InputNumber.stories-MaeAi7rL.js → InputNumber.stories-DGMrxC8T.js} +1 -1
- package/dist/assets/{KeyboardArrowUp-BPaNNPVf.js → KeyboardArrowUp-BJ-W09bQ.js} +1 -1
- package/dist/assets/{LabelDivider.stories-w8VxMsr2.js → LabelDivider.stories-wqEP_oCG.js} +1 -1
- package/dist/assets/Lens-DL6gr_7r.js +1 -0
- package/dist/assets/{Link-BB954hTb.js → Link-Cy9v91bv.js} +1 -1
- package/dist/assets/ListContext-BolWnBju.js +1 -0
- package/dist/assets/{Loading.stories-v_HtvQr3.js → Loading.stories-De_C1LJZ.js} +1 -1
- package/dist/assets/{Logo.stories-DLoZ5lO1.js → Logo.stories-B2olSDi3.js} +1 -1
- package/dist/assets/{MenuItem-Dk2le0wB.js → MenuItem-xLtVfh-T.js} +1 -1
- package/dist/assets/{Mode-DV4h0Dsf.js → Mode-RRlNQ4iw.js} +1 -1
- package/dist/assets/Mode.stories-dnjijlGY.js +1 -0
- package/dist/assets/{NoData-CdbAN-4W.js → NoData-D6mg_-dW.js} +1 -1
- package/dist/assets/NoData.stories-C-Vrbcyh.js +1 -0
- package/dist/assets/{Pagination.stories-D-kKSGCN.js → Pagination.stories-CFads3QR.js} +1 -1
- package/dist/assets/{Paper-CzjB2og1.js → Paper-Dayln0Ct.js} +1 -1
- package/dist/assets/{PeriodPicker.stories-BMNsudLf.js → PeriodPicker.stories-WiKHiYoH.js} +1 -1
- package/dist/assets/{Popover-Dni1WekO.js → Popover-Uzeun2Me.js} +1 -1
- package/dist/assets/{RadioGroup-uId6ySpH.js → RadioGroup-IiFhU5FR.js} +1 -1
- package/dist/assets/{Select-CQoiqqhZ.js → Select-BIqUJwXA.js} +1 -1
- package/dist/assets/{Select-ep7J94QW.js → Select-Bj1EePtO.js} +1 -1
- package/dist/assets/Select.stories-CdLByW3w.js +1 -0
- package/dist/assets/{Share.stories-WUBNy4Qb.js → Share.stories-BPSMsgsW.js} +1 -1
- package/dist/assets/{ShortUrls.stories-DBNnSJxj.js → ShortUrls.stories-C1IzSYP-.js} +1 -1
- package/dist/assets/{SisccFooter.stories-D1gNONWP.js → SisccFooter.stories-B_KGM6Te.js} +1 -1
- package/dist/assets/Spotlight-e96SEFo8.js +1 -0
- package/dist/assets/Spotlight.stories-Bl--pg6O.js +1 -0
- package/dist/assets/{SvgIcon-B8VoEIlq.js → SvgIcon-Dtvy-hDq.js} +1 -1
- package/dist/assets/{SwitchBase-R3HuWU6Y.js → SwitchBase-CeuHloJI.js} +1 -1
- package/dist/assets/{TableFooter.stories-ClFTY60F.js → TableFooter.stories-DR-PraFS.js} +1 -1
- package/dist/assets/{TableHeader.stories-CB9Ctx1a.js → TableHeader.stories-EDQnJrCu.js} +1 -1
- package/dist/assets/{TableHtml5.stories-BK2LJwdn.js → TableHtml5.stories-B6QmzZHD.js} +1 -1
- package/dist/assets/{TableLayout.stories-K2I_udUV.js → TableLayout.stories-cJkp4kO2.js} +1 -1
- package/dist/assets/{TablePreview-DN978dC4.js → TablePreview-DxC2fyuT.js} +1 -1
- package/dist/assets/{TablePreview.stories-O0tb1AAn.js → TablePreview.stories-CjT1xFNp.js} +1 -1
- package/dist/assets/{TableRow-B9TedUIc.js → TableRow-B8M-ulux.js} +1 -1
- package/dist/assets/{Tag-DcoagxTe.js → Tag-Bb2TI0qq.js} +1 -1
- package/dist/assets/{Tag.stories-P1jMjUrq.js → Tag.stories-fUOTGOyo.js} +1 -1
- package/dist/assets/{TextField-5051t4Am.js → TextField-DxOJEku1.js} +1 -1
- package/dist/assets/{TextareaAutosize-gFplu4fL.js → TextareaAutosize-BuimkFTu.js} +1 -1
- package/dist/assets/{ToggleButton-CsD4JcOv.js → ToggleButton-xSebksOI.js} +1 -1
- package/dist/assets/ToggleButton.stories-BPw0QHQj.js +1 -0
- package/dist/assets/{Tooltip-DREhTS_h.js → Tooltip-BdFpdKle.js} +1 -1
- package/dist/assets/{Tooltip-BXIJ2uXm.js → Tooltip-Cr-X_MGO.js} +1 -1
- package/dist/assets/Tooltip.stories-C-eZ4J7F.js +1 -0
- package/dist/assets/{TransitionGroupContext-D6sjJNEJ.js → TransitionGroupContext-vR4yp620.js} +1 -1
- package/dist/assets/{Typography-ClsWOt-6.js → Typography-4tT-8Vq3.js} +1 -1
- package/dist/assets/{UserRightForm.stories-Zo5vh2zl.js → UserRightForm.stories-VkE0iOGB.js} +1 -1
- package/dist/assets/{VerticalButton-B_O8pash.js → VerticalButton-BqhQlGPm.js} +1 -1
- package/dist/assets/VerticalButton.stories-CsPp2-IW.js +1 -0
- package/dist/assets/{VirtualizedTree-BF_MqvzN.js → VirtualizedTree-DlUJVpsf.js} +1 -1
- package/dist/assets/{VirtualizedTree.stories-DA9US7cG.js → VirtualizedTree.stories-DasSw1os.js} +1 -1
- package/dist/assets/{Warning-T79zdunJ.js → Warning-CUCZNg43.js} +1 -1
- package/dist/assets/{WithTooltip-7X4HQR7L-L3z0XmSM.js → WithTooltip-7X4HQR7L-Bxcej_qF.js} +1 -1
- package/dist/assets/{axe-BUET0tVO.js → axe-Ct4E0xPw.js} +1 -1
- package/dist/assets/{client-Q1A578R6.js → client-C0Xfvd0A.js} +1 -1
- package/dist/assets/{colorManipulator-B2o8XrQV.js → colorManipulator-BRfZz3Rt.js} +1 -1
- package/dist/assets/{createSvgIcon-4qOyWnqh.js → createSvgIcon-jHwa-vp_.js} +1 -1
- package/dist/assets/{dividerClasses-CAcyJZOV.js → dividerClasses-cKFss8pv.js} +1 -1
- package/dist/assets/{formControlState-DKLgOIxq.js → formControlState-CIijR2PK.js} +1 -1
- package/dist/assets/formatter-L2YTDE3Q-C81xPPqq.js +1 -0
- package/dist/assets/{getThemeProps-BA6y06SF.js → getThemeProps-Ddmedtnn.js} +1 -1
- package/dist/assets/{iframe-qtIZP86u.js → iframe-DfF7YRst.js} +21 -21
- package/dist/assets/{index-DG_o2QcF.js → index-BV2Z4KO3.js} +1 -1
- package/dist/assets/index-Binpa5ab.js +1 -0
- package/dist/assets/{index-BFErXZfB.js → index-CQZTM3VE.js} +1 -1
- package/dist/assets/{index-D2TUKnmT.js → index-Ck05sfAe.js} +1 -1
- package/dist/assets/{index-BggZdvPH.js → index-DfQuWBDf.js} +1 -1
- package/dist/assets/{index-acdQxXhU.js → index-kY5obwXL.js} +1 -1
- package/dist/assets/{isMuiElement-CypnYP9m.js → isMuiElement-BU4kXOcf.js} +1 -1
- package/dist/assets/{listItemTextClasses-zH19y4kc.js → listItemTextClasses-BZLtsNjk.js} +1 -1
- package/dist/assets/{makeStyles-D7muGbyC.js → makeStyles-BbUppdz5.js} +1 -1
- package/dist/assets/{react-18-b26yu5pp.js → react-18-CTeNF7C9.js} +1 -1
- package/dist/assets/{styled-CcJp_mIC.js → styled-DQ5NvUeV.js} +1 -1
- package/dist/assets/{syntaxhighlighter-YFXUGROL-Co_wHuNw.js → syntaxhighlighter-YFXUGROL-kpxdXeZy.js} +1 -1
- package/dist/assets/{useControlled-BlAnc8DH.js → useControlled-l1S0VsZo.js} +1 -1
- package/dist/assets/{useKeybordEscapeHandler-B66lWhjR.js → useKeybordEscapeHandler-B44YG5ZS.js} +1 -1
- package/dist/assets/{useMediaQuery-BZDrSLp9.js → useMediaQuery-DOO2JAZR.js} +1 -1
- package/dist/assets/{useSlotProps-DjCN7Raw.js → useSlotProps-DH0Yt92a.js} +1 -1
- package/dist/assets/useTheme-CCowxcMW.js +1 -0
- package/dist/assets/{useThemeProps-BEHSnQQW.js → useThemeProps-DbK-G6z4.js} +1 -1
- package/dist/assets/{utils-BXvZU5O7.js → utils-BTU_AX2M.js} +1 -1
- package/dist/assets/{utils-DxJvQL_T.js → utils-Bt9BIhNn.js} +1 -1
- package/dist/assets/{with-input-SPuE9h6H.js → with-input-BBQh-opS.js} +1 -1
- package/dist/assets/{withSpotlight-Dg2BflVO.js → withSpotlight-DcdDXesI.js} +1 -1
- package/dist/iframe.html +1 -1
- package/dist/manifests/components.html +5 -3
- package/dist/manifests/components.json +8 -1
- package/dist/project.json +1 -1
- package/dist/theme/theme.js +12 -2
- package/dist/theme/theme.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/Alert.stories-Y9vU5rJ5.js +0 -3
- package/dist/assets/ArrowForward-DZAZ71mo.js +0 -1
- package/dist/assets/Close-h_394zG_.js +0 -1
- package/dist/assets/CollapseButtons.stories-BquDbI3m.js +0 -1
- package/dist/assets/DataEdit.stories-C-9NchST.js +0 -1
- package/dist/assets/Done-c1xy3r5H.js +0 -1
- package/dist/assets/DynamicDrawer.stories-B03kh6mx.js +0 -37
- package/dist/assets/ExpandLess-BHBGSniB.js +0 -1
- package/dist/assets/ExpandMore-BZU62EGf.js +0 -1
- package/dist/assets/ExpansionPanel.stories-Ct2CiQPu.js +0 -1
- package/dist/assets/Info-UTXmKXR9.js +0 -1
- package/dist/assets/Input.stories-bpnbyrUO.js +0 -1
- package/dist/assets/Lens-ii0Badvw.js +0 -1
- package/dist/assets/ListContext-BVgSHS6e.js +0 -1
- package/dist/assets/Mode.stories-Dh38jPXP.js +0 -1
- package/dist/assets/NoData.stories-C1tL_Xwz.js +0 -1
- package/dist/assets/Select.stories-tHoxameh.js +0 -1
- package/dist/assets/Spotlight-T9sUvY6V.js +0 -1
- package/dist/assets/Spotlight.stories-oLDJ4xPx.js +0 -1
- package/dist/assets/ToggleButton.stories-D6Mbdp_n.js +0 -1
- package/dist/assets/Tooltip.stories-BALJqobr.js +0 -1
- package/dist/assets/VerticalButton.stories-D7ZBM9Yl.js +0 -1
- package/dist/assets/formatter-L2YTDE3Q-BAt0mjPF.js +0 -1
- package/dist/assets/index-CaEHFs7i.js +0 -1
- package/dist/assets/useTheme-CSCt5nqc.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import React, { useState, useCallback, createElement } from 'react';
|
|
2
|
+
import React, { useState, useRef, useCallback, createElement } from 'react';
|
|
3
3
|
import useMediaQuery from '@mui/material/useMediaQuery';
|
|
4
4
|
import Grid from '@mui/material/Grid';
|
|
5
5
|
import Typography$1 from '@mui/material/Typography';
|
|
@@ -176,12 +176,9 @@ Item.propTypes = {
|
|
|
176
176
|
|
|
177
177
|
const CustomPaper = ({
|
|
178
178
|
isMobileView,
|
|
179
|
-
children
|
|
180
|
-
onClose
|
|
179
|
+
children
|
|
181
180
|
}) => {
|
|
182
|
-
return /* @__PURE__ */ jsx(Paper, {
|
|
183
|
-
if (e.key === "Escape" && onClose) onClose();
|
|
184
|
-
}, sx: {
|
|
181
|
+
return /* @__PURE__ */ jsx(Paper, { sx: {
|
|
185
182
|
padding: 2.5,
|
|
186
183
|
// Multiplies by theme.spacing (2.5 * 8px = 20px)
|
|
187
184
|
margin: 1.25,
|
|
@@ -247,19 +244,24 @@ const CollapseButtons = ({
|
|
|
247
244
|
}) => {
|
|
248
245
|
const isMobileView = useMediaQuery(breakpoint);
|
|
249
246
|
const [toggleId, setIsOpen] = useState(selectedItemId);
|
|
247
|
+
const containerRef = useRef(null);
|
|
250
248
|
const mdGridSize = COLUMNS[nbColumns] ?? 3;
|
|
251
249
|
const handleToggle = useCallback((id) => {
|
|
252
250
|
setIsOpen((prevId) => prevId === id ? null : id);
|
|
253
251
|
}, []);
|
|
254
|
-
|
|
252
|
+
const handleKeyDown = useCallback((event) => {
|
|
253
|
+
if (event.key !== "Escape" || !toggleId) return;
|
|
254
|
+
event.stopPropagation();
|
|
255
|
+
containerRef.current?.querySelector('[aria-expanded="true"]')?.focus();
|
|
256
|
+
setIsOpen(null);
|
|
257
|
+
}, [toggleId]);
|
|
258
|
+
return /* @__PURE__ */ jsxs(Grid, { container: true, ref: containerRef, "data-testid": testId, justifyContent: justify, onKeyDown: handleKeyDown, sx: {
|
|
255
259
|
...accessibility && {
|
|
256
|
-
"
|
|
260
|
+
"& .MuiButton-root:focus-visible, & .MuiLink-root:focus-visible": {
|
|
257
261
|
outlineColor: "highlight.hl1",
|
|
258
262
|
// Safely pulls theme.palette.highlight.hl1 automatically
|
|
259
263
|
outlineWidth: 2,
|
|
260
|
-
outlineStyle: "auto"
|
|
261
|
-
paddingBottom: 2
|
|
262
|
-
// 2 * 8px = 16px
|
|
264
|
+
outlineStyle: "auto"
|
|
263
265
|
}
|
|
264
266
|
}
|
|
265
267
|
}, children: [
|
|
@@ -271,7 +273,7 @@ const CollapseButtons = ({
|
|
|
271
273
|
p: 1
|
|
272
274
|
// Adds 8px padding evenly inside every item box without layout shifting
|
|
273
275
|
} }, /* @__PURE__ */ jsxs(Typography$1, { variant: "h3", children: [
|
|
274
|
-
/* @__PURE__ */ jsx(ToggleButton, { textTransform, label,
|
|
276
|
+
/* @__PURE__ */ jsx(ToggleButton, { textTransform, label, isOpen: toggleId === id, toggle: () => handleToggle(id), testId: `${testId}_${id}`, id }),
|
|
275
277
|
isMobileView && /* @__PURE__ */ jsx(CollapseSection$1, { id, toggleId, values, isMobileView, action, isSecondLevelClikable, labelAccessor, testId })
|
|
276
278
|
] }))),
|
|
277
279
|
!isMobileView && items.map(({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapseButtons.js","sources":["../../src/ToggleButton/ToggleButton.jsx","../../src/CollapseButtons/Item.jsx","../../src/CollapseButtons/Paper.jsx","../../src/CollapseButtons/CollapseSection.jsx","../../src/CollapseButtons/CollapseButtons.jsx"],"sourcesContent":["import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Button from '@mui/material/Button';\nimport { KeyboardArrowDown, KeyboardArrowUp } from '@mui/icons-material';\n\nconst useStyles = makeStyles((theme) => {\n const color1 = R.path(['palette', 'highlight', 'hl1'], theme) || theme.palette.primary.dark;\n return {\n root: {\n minHeight: '43px',\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(0.75, 2, 0.5, 2),\n color: theme.palette.getContrastText(theme.palette.primary.main),\n backgroundColor:\n R.path(['palette', 'button', 'mainOpacity'], theme) || theme.palette.primary.main,\n display: 'flex',\n justifyContent: 'space-between',\n '&:hover': {\n color: theme.palette.getContrastText(color1),\n backgroundColor: color1,\n },\n },\n label: {\n textAlign: 'left',\n fontSize: '0.9375rem',\n lineHeight: '1.0',\n },\n selected: {\n color: theme.palette.getContrastText(color1),\n backgroundColor: color1,\n },\n };\n});\n\nexport const ToggleButton = ({\n isOpen,\n label,\n toggle,\n testId,\n tabIndex = 0,\n textTransform = 'capitalize',\n}) => {\n const classes = useStyles();\n return (\n <Button\n aria-expanded={isOpen}\n aria-label={label}\n tabIndex={tabIndex}\n data-testid={testId}\n classes={{ root: classes.root, label: classes.label }}\n className={cx({ [classes.selected]: isOpen })}\n style={{ textTransform }}\n fullWidth\n variant=\"text\"\n onClick={R.is(Function)(toggle) ? toggle : null}\n >\n {label}\n {isOpen ? <KeyboardArrowUp /> : <KeyboardArrowDown />}\n </Button>\n );\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport Grid from '@mui/material/Grid';\nimport Button from '@mui/material/Button';\nimport Link from '@mui/material/Link';\nimport makeStyles from '@mui/styles/makeStyles';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport { Typography } from '@mui/material';\n\nconst useStyles = makeStyles((theme) => ({\n paperItem: {\n alignItems: 'baseline',\n },\n itemTitle: {\n ...theme.typography.body2,\n color: theme.palette.primary.main,\n },\n button: {\n '&:hover': {\n backgroundColor:\n R.path(['palette', 'tertiary', 'light'])(theme) || theme.palette.secondary.light,\n },\n padding: theme.spacing(1.25),\n textAlign: 'left',\n textTransform: 'none',\n justifyContent: 'flex-start',\n display: 'flex',\n },\n itemSubtitle: {\n ...theme.typography.body1,\n display: 'flex',\n flexDirection: 'column',\n color: theme.palette.grey[800],\n },\n itemSubtitleLink: {\n ...theme.typography.body1,\n color: theme.palette.grey[800],\n '&:hover': {\n color: theme.palette.primary.main,\n },\n },\n svg: {\n color: theme.palette.grey[600],\n fontSize: '1rem',\n marginRight: theme.spacing(0.5),\n marginTop: theme.spacing(0.25),\n marginBottom: 'auto',\n },\n}));\n\nconst Item = ({ parentId, item, action, testId, isSecondLevelClikable, labelAccessor }) => {\n const classes = useStyles();\n const mapIndexed = R.addIndex(R.map);\n return (\n <Grid className={classes.paperItem}>\n <Typography variant=\"h4\">\n <Button\n aria-label={R.prop('label')(item)}\n className={classes.button}\n fullWidth\n data-testid={testId}\n // eslint-disable-next-line jsx-a11y/prefer-tag-over-role -- no href target, navigation is handled via onClick/onKeyDown\n role=\"link\"\n onClick={() => {\n if (R.not(R.is(Function)(action))) return;\n action(parentId, R.prop('id')(item));\n }}\n tabIndex={0}\n >\n <SvgIcon className={classes.svg}>\n <path d={R.prop('svgPath')(item)} />\n </SvgIcon>\n <Grid container item xs={12} direction=\"column\">\n <span className={classes.itemTitle}>{labelAccessor(item, parentId)}</span>\n <span className={classes.itemSubtitle}>\n {mapIndexed((subtopic, index) => {\n if (R.not(R.is(Object)(subtopic))) return subtopic;\n if (R.not(isSecondLevelClikable)) return labelAccessor(subtopic, parentId);\n const id = R.prop('id')(subtopic);\n return (\n <Typography variant=\"h5\" key={`${id}::${index}`}>\n <Link\n className={classes.itemSubtitleLink}\n // eslint-disable-next-line jsx-a11y/prefer-tag-over-role -- no href target, navigation is handled via onClick/onKeyDown\n role=\"link\"\n onClick={(e) => {\n if (R.not(R.is(Function)(action))) return;\n action(parentId, id);\n e.stopPropagation();\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n if (R.not(R.is(Function)(action))) return;\n action(parentId, id);\n e.stopPropagation();\n }\n }}\n tabIndex={0}\n underline=\"none\"\n style={{ display: 'list-item' }}\n >\n {labelAccessor(subtopic, parentId)}\n </Link>\n </Typography>\n );\n })(\n R.pipe(\n R.propOr([], 'subtopics'),\n R.ifElse(R.always(isSecondLevelClikable), R.identity, R.intersperse(' • '))\n )(item)\n )}\n </span>\n </Grid>\n </Button>\n </Typography>\n </Grid>\n );\n};\n\nItem.propTypes = {\n parentId: PropTypes.string,\n testId: PropTypes.string,\n item: PropTypes.object,\n action: PropTypes.func,\n isSecondLevelClikable: PropTypes.bool,\n labelAccessor: PropTypes.func,\n};\n\nexport default Item;\n","import React from 'react';\nimport Paper from '@mui/material/Paper';\nimport Grid from '@mui/material/Grid';\n\nconst CustomPaper = ({ isMobileView, children, onClose }) => {\n return (\n <Paper\n onKeyDown={(e) => {\n if (e.key === 'Escape' && onClose) onClose();\n }}\n sx={{\n padding: 2.5, // Multiplies by theme.spacing (2.5 * 8px = 20px)\n margin: 1.25, // Multiplies by theme.spacing (1.25 * 8px = 10px)\n borderRadius: 'unset',\n ...(isMobileView && {\n display: 'flex',\n flexDirection: 'column',\n columnCount: 'unset',\n }),\n }}\n >\n <Grid\n sx={{\n columnCount: isMobileView ? 'unset' : 3,\n columnFill: 'balance',\n ...(isMobileView && {\n display: 'flex',\n flexDirection: 'column',\n }),\n }}\n >\n {children}\n </Grid>\n </Paper>\n );\n};\n\nexport default CustomPaper;\n","import React from 'react';\nimport Collapse from '@mui/material/Collapse';\nimport Item from './Item';\nimport Paper from './Paper';\n\nconst EMPTY_VALUES = [];\n\nconst CollapseSection = ({\n id,\n toggleId,\n values = EMPTY_VALUES,\n isMobileView,\n action,\n isSecondLevelClikable,\n labelAccessor,\n testId,\n}) => {\n const isOpen = toggleId === id;\n\n return (\n <Collapse in={isOpen} timeout=\"auto\" unmountOnExit sx={{ width: '100%' }}>\n <Paper elevation={10} isMobileView={isMobileView}>\n {values.map((item, index) => {\n const itemId = item?.id ?? index;\n return (\n <Item\n key={`${index}-${itemId}`}\n testId={`${testId}_${id}_value_${itemId}`}\n parentId={id}\n item={item}\n action={action}\n isSecondLevelClikable={isSecondLevelClikable}\n labelAccessor={labelAccessor}\n />\n );\n })}\n </Paper>\n </Collapse>\n );\n};\n\n// Optimizes re-rendering cycles\nexport default React.memo(CollapseSection);\n","import React, { useState, useCallback } from 'react';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { ToggleButton } from '../ToggleButton/ToggleButton';\nimport CollapseSection from './CollapseSection';\n\nexport const MAX_COLUMNS = 12;\nexport const COLUMNS = [12, 12, 6, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1];\n\nconst EMPTY_ITEMS = [];\nconst EMPTY_GRID_BUTTONS_PROPS = {};\nconst noop = () => {};\nconst defaultBreakpoint = (theme) => theme.breakpoints.down('md');\nconst defaultLabelAccessor = (obj) => obj?.label;\n\nexport const CollapseButtons = ({\n items = EMPTY_ITEMS,\n action = noop,\n nbColumns = 3,\n testId = 'collapseButton',\n isSecondLevelClikable,\n gridButtonsProps = EMPTY_GRID_BUTTONS_PROPS,\n breakpoint = defaultBreakpoint,\n justify,\n textTransform = 'none',\n labelAccessor = defaultLabelAccessor,\n accessibility,\n selectedItemId,\n}) => {\n const isMobileView = useMediaQuery(breakpoint);\n const [toggleId, setIsOpen] = useState(selectedItemId);\n\n // Safe fallback translation of R.nth(nbColumns)(COLUMNS)\n const mdGridSize = COLUMNS[nbColumns] ?? 3;\n\n // Optimize callback references\n const handleToggle = useCallback((id) => {\n setIsOpen((prevId) => (prevId === id ? null : id));\n }, []);\n\n return (\n <Grid\n container\n data-testid={testId}\n justifyContent={justify}\n tabIndex={0}\n sx={{\n ...(accessibility && {\n '&:focus': {\n outlineColor: 'highlight.hl1', // Safely pulls theme.palette.highlight.hl1 automatically\n outlineWidth: 2,\n outlineStyle: 'auto',\n paddingBottom: 2, // 2 * 8px = 16px\n },\n }),\n }}\n >\n {items.map(({ id, label, values = [] }, index) => (\n <Grid\n item\n xs={12}\n sm={12}\n md={mdGridSize}\n {...gridButtonsProps}\n key={`${index}::${id}`}\n sx={{\n p: 1, // Adds 8px padding evenly inside every item box without layout shifting\n }}\n >\n <Typography variant=\"h3\">\n <ToggleButton\n textTransform={textTransform}\n label={label}\n tabIndex={toggleId ? 0 : -1}\n isOpen={toggleId === id}\n toggle={() => handleToggle(id)}\n testId={`${testId}_${id}`}\n id={id}\n />\n {isMobileView && (\n <CollapseSection\n id={id}\n toggleId={toggleId}\n values={values}\n isMobileView={isMobileView}\n action={action}\n isSecondLevelClikable={isSecondLevelClikable}\n labelAccessor={labelAccessor}\n testId={testId}\n />\n )}\n </Typography>\n </Grid>\n ))}\n\n {!isMobileView &&\n items.map(({ id, values = [] }) => (\n <CollapseSection\n key={`desktop-collapse-${id}`}\n id={id}\n toggleId={toggleId}\n values={values}\n isMobileView={isMobileView}\n action={action}\n isSecondLevelClikable={isSecondLevelClikable}\n labelAccessor={labelAccessor}\n testId={testId}\n />\n ))}\n </Grid>\n );\n};\n"],"names":["useStyles","makeStyles","theme","color1","R","path","palette","primary","dark","root","minHeight","borderRadius","shape","padding","spacing","color","getContrastText","main","backgroundColor","display","justifyContent","label","textAlign","fontSize","lineHeight","selected","ToggleButton","isOpen","toggle","testId","tabIndex","textTransform","classes","cx","is","Function","paperItem","alignItems","itemTitle","typography","body2","button","secondary","light","itemSubtitle","body1","flexDirection","grey","itemSubtitleLink","svg","marginRight","marginTop","marginBottom","Item","parentId","item","action","isSecondLevelClikable","labelAccessor","mapIndexed","addIndex","map","prop","not","subtopic","index","Object","id","e","stopPropagation","key","pipe","propOr","ifElse","always","identity","intersperse","propTypes","PropTypes","string","object","func","bool","CustomPaper","isMobileView","children","onClose","margin","columnCount","columnFill","EMPTY_VALUES","CollapseSection","toggleId","values","width","Paper","itemId","React","memo","MAX_COLUMNS","COLUMNS","EMPTY_ITEMS","EMPTY_GRID_BUTTONS_PROPS","noop","defaultBreakpoint","breakpoints","down","defaultLabelAccessor","obj","CollapseButtons","items","nbColumns","gridButtonsProps","breakpoint","justify","accessibility","selectedItemId","useMediaQuery","setIsOpen","useState","mdGridSize","handleToggle","useCallback","prevId","outlineColor","outlineWidth","outlineStyle","paddingBottom","p","Typography"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CollapseButtons.js","sources":["../../src/ToggleButton/ToggleButton.jsx","../../src/CollapseButtons/Item.jsx","../../src/CollapseButtons/Paper.jsx","../../src/CollapseButtons/CollapseSection.jsx","../../src/CollapseButtons/CollapseButtons.jsx"],"sourcesContent":["import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Button from '@mui/material/Button';\nimport { KeyboardArrowDown, KeyboardArrowUp } from '@mui/icons-material';\n\nconst useStyles = makeStyles((theme) => {\n const color1 = R.path(['palette', 'highlight', 'hl1'], theme) || theme.palette.primary.dark;\n return {\n root: {\n minHeight: '43px',\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(0.75, 2, 0.5, 2),\n color: theme.palette.getContrastText(theme.palette.primary.main),\n backgroundColor:\n R.path(['palette', 'button', 'mainOpacity'], theme) || theme.palette.primary.main,\n display: 'flex',\n justifyContent: 'space-between',\n '&:hover': {\n color: theme.palette.getContrastText(color1),\n backgroundColor: color1,\n },\n },\n label: {\n textAlign: 'left',\n fontSize: '0.9375rem',\n lineHeight: '1.0',\n },\n selected: {\n color: theme.palette.getContrastText(color1),\n backgroundColor: color1,\n },\n };\n});\n\nexport const ToggleButton = ({\n isOpen,\n label,\n toggle,\n testId,\n tabIndex = 0,\n textTransform = 'capitalize',\n}) => {\n const classes = useStyles();\n return (\n <Button\n aria-expanded={isOpen}\n aria-label={label}\n tabIndex={tabIndex}\n data-testid={testId}\n classes={{ root: classes.root, label: classes.label }}\n className={cx({ [classes.selected]: isOpen })}\n style={{ textTransform }}\n fullWidth\n variant=\"text\"\n onClick={R.is(Function)(toggle) ? toggle : null}\n >\n {label}\n {isOpen ? <KeyboardArrowUp /> : <KeyboardArrowDown />}\n </Button>\n );\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport Grid from '@mui/material/Grid';\nimport Button from '@mui/material/Button';\nimport Link from '@mui/material/Link';\nimport makeStyles from '@mui/styles/makeStyles';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport { Typography } from '@mui/material';\n\nconst useStyles = makeStyles((theme) => ({\n paperItem: {\n alignItems: 'baseline',\n },\n itemTitle: {\n ...theme.typography.body2,\n color: theme.palette.primary.main,\n },\n button: {\n '&:hover': {\n backgroundColor:\n R.path(['palette', 'tertiary', 'light'])(theme) || theme.palette.secondary.light,\n },\n padding: theme.spacing(1.25),\n textAlign: 'left',\n textTransform: 'none',\n justifyContent: 'flex-start',\n display: 'flex',\n },\n itemSubtitle: {\n ...theme.typography.body1,\n display: 'flex',\n flexDirection: 'column',\n color: theme.palette.grey[800],\n },\n itemSubtitleLink: {\n ...theme.typography.body1,\n color: theme.palette.grey[800],\n '&:hover': {\n color: theme.palette.primary.main,\n },\n },\n svg: {\n color: theme.palette.grey[600],\n fontSize: '1rem',\n marginRight: theme.spacing(0.5),\n marginTop: theme.spacing(0.25),\n marginBottom: 'auto',\n },\n}));\n\nconst Item = ({ parentId, item, action, testId, isSecondLevelClikable, labelAccessor }) => {\n const classes = useStyles();\n const mapIndexed = R.addIndex(R.map);\n return (\n <Grid className={classes.paperItem}>\n <Typography variant=\"h4\">\n <Button\n aria-label={R.prop('label')(item)}\n className={classes.button}\n fullWidth\n data-testid={testId}\n // eslint-disable-next-line jsx-a11y/prefer-tag-over-role -- no href target, navigation is handled via onClick/onKeyDown\n role=\"link\"\n onClick={() => {\n if (R.not(R.is(Function)(action))) return;\n action(parentId, R.prop('id')(item));\n }}\n tabIndex={0}\n >\n <SvgIcon className={classes.svg}>\n <path d={R.prop('svgPath')(item)} />\n </SvgIcon>\n <Grid container item xs={12} direction=\"column\">\n <span className={classes.itemTitle}>{labelAccessor(item, parentId)}</span>\n <span className={classes.itemSubtitle}>\n {mapIndexed((subtopic, index) => {\n if (R.not(R.is(Object)(subtopic))) return subtopic;\n if (R.not(isSecondLevelClikable)) return labelAccessor(subtopic, parentId);\n const id = R.prop('id')(subtopic);\n return (\n <Typography variant=\"h5\" key={`${id}::${index}`}>\n <Link\n className={classes.itemSubtitleLink}\n // eslint-disable-next-line jsx-a11y/prefer-tag-over-role -- no href target, navigation is handled via onClick/onKeyDown\n role=\"link\"\n onClick={(e) => {\n if (R.not(R.is(Function)(action))) return;\n action(parentId, id);\n e.stopPropagation();\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n if (R.not(R.is(Function)(action))) return;\n action(parentId, id);\n e.stopPropagation();\n }\n }}\n tabIndex={0}\n underline=\"none\"\n style={{ display: 'list-item' }}\n >\n {labelAccessor(subtopic, parentId)}\n </Link>\n </Typography>\n );\n })(\n R.pipe(\n R.propOr([], 'subtopics'),\n R.ifElse(R.always(isSecondLevelClikable), R.identity, R.intersperse(' • '))\n )(item)\n )}\n </span>\n </Grid>\n </Button>\n </Typography>\n </Grid>\n );\n};\n\nItem.propTypes = {\n parentId: PropTypes.string,\n testId: PropTypes.string,\n item: PropTypes.object,\n action: PropTypes.func,\n isSecondLevelClikable: PropTypes.bool,\n labelAccessor: PropTypes.func,\n};\n\nexport default Item;\n","import React from 'react';\nimport Paper from '@mui/material/Paper';\nimport Grid from '@mui/material/Grid';\n\nconst CustomPaper = ({ isMobileView, children }) => {\n return (\n <Paper\n sx={{\n padding: 2.5, // Multiplies by theme.spacing (2.5 * 8px = 20px)\n margin: 1.25, // Multiplies by theme.spacing (1.25 * 8px = 10px)\n borderRadius: 'unset',\n ...(isMobileView && {\n display: 'flex',\n flexDirection: 'column',\n columnCount: 'unset',\n }),\n }}\n >\n <Grid\n sx={{\n columnCount: isMobileView ? 'unset' : 3,\n columnFill: 'balance',\n ...(isMobileView && {\n display: 'flex',\n flexDirection: 'column',\n }),\n }}\n >\n {children}\n </Grid>\n </Paper>\n );\n};\n\nexport default CustomPaper;\n","import React from 'react';\nimport Collapse from '@mui/material/Collapse';\nimport Item from './Item';\nimport Paper from './Paper';\n\nconst EMPTY_VALUES = [];\n\nconst CollapseSection = ({\n id,\n toggleId,\n values = EMPTY_VALUES,\n isMobileView,\n action,\n isSecondLevelClikable,\n labelAccessor,\n testId,\n}) => {\n const isOpen = toggleId === id;\n\n return (\n <Collapse in={isOpen} timeout=\"auto\" unmountOnExit sx={{ width: '100%' }}>\n <Paper elevation={10} isMobileView={isMobileView}>\n {values.map((item, index) => {\n const itemId = item?.id ?? index;\n return (\n <Item\n key={`${index}-${itemId}`}\n testId={`${testId}_${id}_value_${itemId}`}\n parentId={id}\n item={item}\n action={action}\n isSecondLevelClikable={isSecondLevelClikable}\n labelAccessor={labelAccessor}\n />\n );\n })}\n </Paper>\n </Collapse>\n );\n};\n\n// Optimizes re-rendering cycles\nexport default React.memo(CollapseSection);\n","import React, { useState, useCallback, useRef } from 'react';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { ToggleButton } from '../ToggleButton/ToggleButton';\nimport CollapseSection from './CollapseSection';\n\nexport const MAX_COLUMNS = 12;\nexport const COLUMNS = [12, 12, 6, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1];\n\nconst EMPTY_ITEMS = [];\nconst EMPTY_GRID_BUTTONS_PROPS = {};\nconst noop = () => {};\nconst defaultBreakpoint = (theme) => theme.breakpoints.down('md');\nconst defaultLabelAccessor = (obj) => obj?.label;\n\nexport const CollapseButtons = ({\n items = EMPTY_ITEMS,\n action = noop,\n nbColumns = 3,\n testId = 'collapseButton',\n isSecondLevelClikable,\n gridButtonsProps = EMPTY_GRID_BUTTONS_PROPS,\n breakpoint = defaultBreakpoint,\n justify,\n textTransform = 'none',\n labelAccessor = defaultLabelAccessor,\n accessibility,\n selectedItemId,\n}) => {\n const isMobileView = useMediaQuery(breakpoint);\n const [toggleId, setIsOpen] = useState(selectedItemId);\n const containerRef = useRef(null);\n\n // Safe fallback translation of R.nth(nbColumns)(COLUMNS)\n const mdGridSize = COLUMNS[nbColumns] ?? 3;\n\n // Optimize callback references\n const handleToggle = useCallback((id) => {\n setIsOpen((prevId) => (prevId === id ? null : id));\n }, []);\n\n // Escape, from the open section or from its button, closes the section and hands\n // the focus back to that button (the only one flagged as expanded).\n const handleKeyDown = useCallback(\n (event) => {\n if (event.key !== 'Escape' || !toggleId) return;\n event.stopPropagation();\n containerRef.current?.querySelector('[aria-expanded=\"true\"]')?.focus();\n setIsOpen(null);\n },\n [toggleId]\n );\n\n return (\n <Grid\n container\n ref={containerRef}\n data-testid={testId}\n justifyContent={justify}\n onKeyDown={handleKeyDown}\n sx={{\n ...(accessibility && {\n '& .MuiButton-root:focus-visible, & .MuiLink-root:focus-visible': {\n outlineColor: 'highlight.hl1', // Safely pulls theme.palette.highlight.hl1 automatically\n outlineWidth: 2,\n outlineStyle: 'auto',\n },\n }),\n }}\n >\n {items.map(({ id, label, values = [] }, index) => (\n <Grid\n item\n xs={12}\n sm={12}\n md={mdGridSize}\n {...gridButtonsProps}\n key={`${index}::${id}`}\n sx={{\n p: 1, // Adds 8px padding evenly inside every item box without layout shifting\n }}\n >\n <Typography variant=\"h3\">\n <ToggleButton\n textTransform={textTransform}\n label={label}\n isOpen={toggleId === id}\n toggle={() => handleToggle(id)}\n testId={`${testId}_${id}`}\n id={id}\n />\n {isMobileView && (\n <CollapseSection\n id={id}\n toggleId={toggleId}\n values={values}\n isMobileView={isMobileView}\n action={action}\n isSecondLevelClikable={isSecondLevelClikable}\n labelAccessor={labelAccessor}\n testId={testId}\n />\n )}\n </Typography>\n </Grid>\n ))}\n\n {!isMobileView &&\n items.map(({ id, values = [] }) => (\n <CollapseSection\n key={`desktop-collapse-${id}`}\n id={id}\n toggleId={toggleId}\n values={values}\n isMobileView={isMobileView}\n action={action}\n isSecondLevelClikable={isSecondLevelClikable}\n labelAccessor={labelAccessor}\n testId={testId}\n />\n ))}\n </Grid>\n );\n};\n"],"names":["useStyles","makeStyles","theme","color1","R","path","palette","primary","dark","root","minHeight","borderRadius","shape","padding","spacing","color","getContrastText","main","backgroundColor","display","justifyContent","label","textAlign","fontSize","lineHeight","selected","ToggleButton","isOpen","toggle","testId","tabIndex","textTransform","classes","cx","is","Function","paperItem","alignItems","itemTitle","typography","body2","button","secondary","light","itemSubtitle","body1","flexDirection","grey","itemSubtitleLink","svg","marginRight","marginTop","marginBottom","Item","parentId","item","action","isSecondLevelClikable","labelAccessor","mapIndexed","addIndex","map","prop","not","subtopic","index","Object","id","e","stopPropagation","key","pipe","propOr","ifElse","always","identity","intersperse","propTypes","PropTypes","string","object","func","bool","CustomPaper","isMobileView","children","margin","columnCount","columnFill","EMPTY_VALUES","CollapseSection","toggleId","values","width","Paper","itemId","React","memo","MAX_COLUMNS","COLUMNS","EMPTY_ITEMS","EMPTY_GRID_BUTTONS_PROPS","noop","defaultBreakpoint","breakpoints","down","defaultLabelAccessor","obj","CollapseButtons","items","nbColumns","gridButtonsProps","breakpoint","justify","accessibility","selectedItemId","useMediaQuery","setIsOpen","useState","containerRef","useRef","mdGridSize","handleToggle","useCallback","prevId","handleKeyDown","event","current","querySelector","focus","outlineColor","outlineWidth","outlineStyle","p","Typography"],"mappings":"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"}
|
|
@@ -331,6 +331,8 @@ const AdvancedSelection = (props) => {
|
|
|
331
331
|
});
|
|
332
332
|
};
|
|
333
333
|
const mapIndexed = R.addIndex(R.map);
|
|
334
|
+
const filterLabel = filter && labelRenderer(filter);
|
|
335
|
+
const filterSubject = R.is(String, filterLabel) ? filterLabel : void 0;
|
|
334
336
|
return /* @__PURE__ */ jsxs(Grid, { container: true, children: [
|
|
335
337
|
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, className: cx(classes.topElements, {
|
|
336
338
|
[classes.narrowTop]: isNarrow
|
|
@@ -340,7 +342,7 @@ const AdvancedSelection = (props) => {
|
|
|
340
342
|
}), children: /* @__PURE__ */ jsx(ButtonCarousel, { selectionModes: selectionOptions, selectionMode, setSelectionMode, classes, isNarrow }) }) }),
|
|
341
343
|
/* @__PURE__ */ jsx("div", { className: classes.spotlight, children: /* @__PURE__ */ jsx(Spotlight, { hasClearAll: true, placeholder: getTotal(items, R.prop("placeholder", labels)), term: spotlight.term, hasCommit: false, spotlight: {
|
|
342
344
|
fields: {}
|
|
343
|
-
}, action: setSpotlight, labels }) })
|
|
345
|
+
}, action: setSpotlight, labels, subject: filterSubject }) })
|
|
344
346
|
] }),
|
|
345
347
|
/* @__PURE__ */ jsxs(Grid, { item: true, xs: isNarrow ? 12 : 8, children: [
|
|
346
348
|
/* @__PURE__ */ jsxs("div", { style: {
|
|
@@ -479,8 +481,13 @@ const useStyles = makeStyles((theme) => ({
|
|
|
479
481
|
chipBorder: {
|
|
480
482
|
border: `solid 1px ${dynamicDrawerMixin(theme, "chips", "outlineColor")}`
|
|
481
483
|
},
|
|
482
|
-
//
|
|
483
|
-
//
|
|
484
|
+
// Pill radius for standalone chips (value, count, "All items"). Kept off
|
|
485
|
+
// "Remove all" (removeAllChip below) and off in-group chips, whose own
|
|
486
|
+
// radius is zeroed by concatenatedChipsRow's `& > *` so only the group's
|
|
487
|
+
// outer corners round.
|
|
488
|
+
chipRadius: {
|
|
489
|
+
borderRadius: dynamicDrawerMixin(theme, "chips", "radius")
|
|
490
|
+
},
|
|
484
491
|
removeAllChip: {
|
|
485
492
|
borderRadius: dynamicDrawerMixin(theme, "chips", "removeAllBorderRadius")
|
|
486
493
|
},
|
|
@@ -491,15 +498,31 @@ const useStyles = makeStyles((theme) => ({
|
|
|
491
498
|
ellipsisLabel: {
|
|
492
499
|
...R.pathOr({}, ["mixins", "dynamicDrawer", "chips", "ellipsisLabel"], theme)
|
|
493
500
|
},
|
|
494
|
-
// #1787:
|
|
495
|
-
//
|
|
501
|
+
// #1787: the outer frame around the count chip + toggle (collapsed), and
|
|
502
|
+
// around that same row stacked over the expanded value-chip row — one
|
|
503
|
+
// continuous rounded card either way, never two floating pieces.
|
|
496
504
|
concatenatedChips: {
|
|
497
505
|
display: "flex",
|
|
498
|
-
flexWrap: "wrap",
|
|
499
|
-
alignItems: "stretch",
|
|
500
506
|
border: `solid 1px ${dynamicDrawerMixin(theme, "chips", "dividerColor")}`,
|
|
501
507
|
borderRadius: dynamicDrawerMixin(theme, "chips", "groupBorderRadius"),
|
|
502
|
-
overflow: "hidden"
|
|
508
|
+
overflow: "hidden"
|
|
509
|
+
},
|
|
510
|
+
concatenatedChipsExpanded: {
|
|
511
|
+
flexDirection: "column",
|
|
512
|
+
"& > *:not(:last-child)": {
|
|
513
|
+
borderBottom: `solid 1px ${dynamicDrawerMixin(theme, "chips", "dividerColor")}`
|
|
514
|
+
}
|
|
515
|
+
},
|
|
516
|
+
// One row inside the frame: the header (count chip + toggle) is one row,
|
|
517
|
+
// the expanded value chips (which themselves wrap onto several lines) are
|
|
518
|
+
// another. Dividers and the zeroed child radius are per-row, so wrapped
|
|
519
|
+
// chips only ever get a right-hand divider, never a stray corner radius.
|
|
520
|
+
concatenatedChipsRow: {
|
|
521
|
+
display: "flex",
|
|
522
|
+
flexWrap: "wrap",
|
|
523
|
+
alignItems: "stretch",
|
|
524
|
+
flex: 1,
|
|
525
|
+
minWidth: 0,
|
|
503
526
|
"& > *": {
|
|
504
527
|
margin: 0,
|
|
505
528
|
borderRadius: 0,
|
|
@@ -529,7 +552,17 @@ const useStyles = makeStyles((theme) => ({
|
|
|
529
552
|
toggleButton: {
|
|
530
553
|
minWidth: "20px",
|
|
531
554
|
padding: theme.spacing(0.2),
|
|
532
|
-
color: dynamicDrawerMixin(theme, "toggleButton", "color")
|
|
555
|
+
color: dynamicDrawerMixin(theme, "toggleButton", "color"),
|
|
556
|
+
// Set directly on the button too, not just via concatenatedChipsRow's
|
|
557
|
+
// `& > *` — both are single-class selectors of equal specificity, so
|
|
558
|
+
// which one wins MUI's own (rounded) button classes otherwise comes
|
|
559
|
+
// down to style-insertion order. Flat and flush either way.
|
|
560
|
+
borderRadius: "0 !important",
|
|
561
|
+
margin: "0 !important",
|
|
562
|
+
height: "100%"
|
|
563
|
+
},
|
|
564
|
+
toggleLabel: {
|
|
565
|
+
...R.pathOr({}, ["mixins", "dynamicDrawer", "toggleButton", "label"], theme)
|
|
533
566
|
},
|
|
534
567
|
list: {
|
|
535
568
|
display: "flex",
|
|
@@ -688,7 +721,7 @@ const DimensionCard = React.forwardRef(({
|
|
|
688
721
|
setExpanded(!expanded);
|
|
689
722
|
}, className: classes.toggleButton, children: [
|
|
690
723
|
icon,
|
|
691
|
-
/* @__PURE__ */ jsx(Typography, { noWrap: true, variant: "body2", className: classes.
|
|
724
|
+
/* @__PURE__ */ jsx(Typography, { noWrap: true, variant: "body2", className: classes.toggleLabel, children: text })
|
|
692
725
|
] });
|
|
693
726
|
const valueChip = ({
|
|
694
727
|
id,
|
|
@@ -700,7 +733,7 @@ const DimensionCard = React.forwardRef(({
|
|
|
700
733
|
} = {}) => /* @__PURE__ */ jsx(CustomChip, { id, parentId: dimId, label: itemLabel, items, renderer: myTooltipRenderer({
|
|
701
734
|
isRtl,
|
|
702
735
|
labelRenderer
|
|
703
|
-
}), labelRenderer, chipClasses: cx(chipClasses.secondaryChip, chipClasses.chip, classes.chipDeleteLeft, bordered && classes.chipBorder), iconClasses: chipClasses.icon, labelClasses: cx(chipClasses.spaceLabel, classes.ellipsisLabel), title: R.is(String, itemLabel) ? itemLabel : void 0, onDelete: R.is(Function, onDeleteValue) && isEditMode && !isNotRemovable ? onDeleteValue : void 0 }, id);
|
|
736
|
+
}), labelRenderer, chipClasses: cx(chipClasses.secondaryChip, chipClasses.chip, classes.chipDeleteLeft, bordered && classes.chipBorder, bordered && classes.chipRadius), iconClasses: chipClasses.icon, labelClasses: cx(chipClasses.spaceLabel, classes.ellipsisLabel), title: R.is(String, itemLabel) ? itemLabel : void 0, onDelete: R.is(Function, onDeleteValue) && isEditMode && !isNotRemovable ? onDeleteValue : void 0 }, id);
|
|
704
737
|
const countChip = /* @__PURE__ */ jsx(CustomChip, { label: nItemsLabel, chipClasses: cx(chipClasses.mainChip, chipClasses.chip, classes.chipDeleteLeft), labelClasses: cx(chipClasses.spaceLabel, chipClasses.formatLabel), iconClasses: chipClasses.icon, onDelete: R.is(Function, onDeleteAllDimValues) && isEditMode ? () => onDeleteAllDimValues(dimId, selectedItems) : void 0 });
|
|
705
738
|
return /* @__PURE__ */ jsx(Paper, { ...rest, ref, className: cx(rest.className, classes.frame), children: /* @__PURE__ */ jsxs(Box, { sx: {
|
|
706
739
|
display: "flex",
|
|
@@ -724,12 +757,12 @@ const DimensionCard = React.forwardRef(({
|
|
|
724
757
|
flexWrap: "wrap",
|
|
725
758
|
alignItems: "center",
|
|
726
759
|
gap: 0.5
|
|
727
|
-
}, children: R.isEmpty(selectedItems) ? /* @__PURE__ */ jsx(CustomChip, { label: R.propOr("All items", "allItems", labels), chipClasses: cx(chipClasses.mainChip, chipClasses.chip, classes.chipBorder), labelClasses: cx(chipClasses.spaceLabel, chipClasses.formatLabel), iconClasses: chipClasses.icon }) : showCollapseToggle ? /* @__PURE__ */ jsxs(
|
|
728
|
-
/* @__PURE__ */ jsxs(Box, { className: classes.
|
|
760
|
+
}, children: R.isEmpty(selectedItems) ? /* @__PURE__ */ jsx(CustomChip, { label: R.propOr("All items", "allItems", labels), chipClasses: cx(chipClasses.mainChip, chipClasses.chip, classes.chipBorder, classes.chipRadius), labelClasses: cx(chipClasses.spaceLabel, chipClasses.formatLabel), iconClasses: chipClasses.icon }) : showCollapseToggle ? /* @__PURE__ */ jsxs(Box, { className: cx(classes.concatenatedChips, expanded && classes.concatenatedChipsExpanded), children: [
|
|
761
|
+
/* @__PURE__ */ jsxs(Box, { className: classes.concatenatedChipsRow, children: [
|
|
729
762
|
countChip,
|
|
730
763
|
expanded ? toggle(/* @__PURE__ */ jsx(Remove, { fontSize: "small" }), R.propOr("Show less", "showLess", labels)) : toggle(/* @__PURE__ */ jsx(Add, { fontSize: "small" }), R.propOr("Show more", "showMore", labels))
|
|
731
764
|
] }),
|
|
732
|
-
expanded && /* @__PURE__ */ jsx(Box, { id: chipsId, className: classes.
|
|
765
|
+
expanded && /* @__PURE__ */ jsx(Box, { id: chipsId, className: classes.concatenatedChipsRow, children: R.map((chip) => valueChip(chip, {
|
|
733
766
|
bordered: false
|
|
734
767
|
}))(selectedItems) })
|
|
735
768
|
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -902,6 +935,7 @@ const DynamicDrawer = (props) => {
|
|
|
902
935
|
const isEditMode = open && !isNarrow;
|
|
903
936
|
const isApplyShown = isEditMode && hasPendingModification;
|
|
904
937
|
const isNotHiddenButton = hasPendingModification && isNarrow;
|
|
938
|
+
const canRemoveChips = isEditMode || isNotHiddenButton;
|
|
905
939
|
const panelId = panelDomId(testId);
|
|
906
940
|
const hasAnySelection = R.any((item) => !R.isEmpty(getItemSelectedItems(item, allSelection, R.identity)), list);
|
|
907
941
|
const defaultHeader = !isNarrow && /* @__PURE__ */ jsxs(Box, { sx: {
|
|
@@ -967,7 +1001,7 @@ const DynamicDrawer = (props) => {
|
|
|
967
1001
|
const selectedItems = getItemSelectedItems(item, allSelection, labelRenderer);
|
|
968
1002
|
return /* @__PURE__ */ jsx(Box, { component: "li", sx: {
|
|
969
1003
|
display: "flex"
|
|
970
|
-
}, children: /* @__PURE__ */ jsx(DimensionCard, { "data-testid": `${id}-tab`, onClick: (e) => handleChange(e, item), labels, label: labelRenderer(item), labelRenderer, isEditMode, isOpen: open && selectedId === id, onOpen: () => handleChange(null, item), panelId, labelId: dimensionLabelId(id), description: descriptionAccessor ? descriptionAccessor(item) : "", HTMLRenderer, selected: selectedId === id, item, selectedItems, onDeleteValue: item.onDeleteValue || handleDeleteValue, onDeleteAllDimValues: item.onDeleteAllDimValues || handleDeleteAllDimValues, collapseThreshold, className: cx(classNames.tab, {
|
|
1004
|
+
}, children: /* @__PURE__ */ jsx(DimensionCard, { "data-testid": `${id}-tab`, onClick: (e) => handleChange(e, item), labels, label: labelRenderer(item), labelRenderer, isEditMode: canRemoveChips, isOpen: open && selectedId === id, onOpen: () => handleChange(null, item), panelId, labelId: dimensionLabelId(id), description: descriptionAccessor ? descriptionAccessor(item) : "", HTMLRenderer, selected: selectedId === id, item, selectedItems, onDeleteValue: item.onDeleteValue || handleDeleteValue, onDeleteAllDimValues: item.onDeleteAllDimValues || handleDeleteAllDimValues, collapseThreshold, className: cx(classNames.tab, {
|
|
971
1005
|
[classNames.tabSelected]: R.prop("id", filter) === id
|
|
972
1006
|
}), sx: {
|
|
973
1007
|
alignItems: "start",
|