@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.
Files changed (174) hide show
  1. package/dist/CollapseButtons/CollapseButtons.js +14 -12
  2. package/dist/CollapseButtons/CollapseButtons.js.map +1 -1
  3. package/dist/DynamicDrawer/DynamicDrawer.js +49 -15
  4. package/dist/DynamicDrawer/DynamicDrawer.js.map +1 -1
  5. package/dist/Spotlight/Spotlight.js +12 -4
  6. package/dist/Spotlight/Spotlight.js.map +1 -1
  7. package/dist/assets/{Alert-DLvq0ijF.js → Alert-lsFKOp9i.js} +1 -1
  8. package/dist/assets/Alert.stories-CJo4lRxC.js +3 -0
  9. package/dist/assets/{ApiQueries.stories-BbHdt3D-.js → ApiQueries.stories-D0UZZegu.js} +1 -1
  10. package/dist/assets/ArrowForward-DRfbjzX3.js +1 -0
  11. package/dist/assets/{Asterisk-DOs1vb3E.js → Asterisk-DBQW9-Hr.js} +1 -1
  12. package/dist/assets/{AuthDialog.stories-jk761e7b.js → AuthDialog.stories-DuwnjpZ7.js} +1 -1
  13. package/dist/assets/{Box-bJJaav7j.js → Box-DmUruWLD.js} +1 -1
  14. package/dist/assets/{Breadcrumbs.stories-BuOHIr3y.js → Breadcrumbs.stories-ByiC2Wb2.js} +1 -1
  15. package/dist/assets/{Button-CGpAVIMc.js → Button-BNfMxbgA.js} +1 -1
  16. package/dist/assets/{Button-sImJ8QmZ.js → Button-CmhM5bz3.js} +1 -1
  17. package/dist/assets/{Button.stories-Bq1mLEUo.js → Button.stories-Bj2K37Jv.js} +1 -1
  18. package/dist/assets/{ButtonBase-h8Hyf02N.js → ButtonBase-6XHj9BVq.js} +1 -1
  19. package/dist/assets/{CardContent-DIOhSkFH.js → CardContent-CL6EvtRI.js} +1 -1
  20. package/dist/assets/{ChartsConfig.stories-BYQlzYdn.js → ChartsConfig.stories-LLpYzjbe.js} +1 -1
  21. package/dist/assets/{Checkbox-f_OZ-31l.js → Checkbox-BgiXBHEo.js} +1 -1
  22. package/dist/assets/{Chips.stories-BK3guGeT.js → Chips.stories-Ci0QKHT2.js} +1 -1
  23. package/dist/assets/{CircularProgress-DczpWKmA.js → CircularProgress-D0J5GtY7.js} +1 -1
  24. package/dist/assets/Close-BgjTWYFL.js +1 -0
  25. package/dist/assets/{Collapse-DMTLRgKX.js → Collapse-Bv9tgZ8u.js} +1 -1
  26. package/dist/assets/CollapseButtons.stories-qcma0dAa.js +1 -0
  27. package/dist/assets/{CollapsibleTree.stories-4aAqF8CW.js → CollapsibleTree.stories-Br8WRPe6.js} +1 -1
  28. package/dist/assets/{Color-6AOWCN3U-BTNSEyHk.js → Color-6AOWCN3U-CMdAw3GI.js} +1 -1
  29. package/dist/assets/{Contact.stories-DjrtJ_kt.js → Contact.stories-B4_5efx6.js} +1 -1
  30. package/dist/assets/{Container-1esFF051.js → Container-D3cI2ye_.js} +1 -1
  31. package/dist/assets/{Cross-ByOy89mc.js → Cross-DPRfrOPy.js} +1 -1
  32. package/dist/assets/{CustomChip-KnurWVYb.js → CustomChip-PgDS_Voh.js} +1 -1
  33. package/dist/assets/{DataEdit-BMhNIi4f.js → DataEdit-CkUFsWww.js} +1 -1
  34. package/dist/assets/DataEdit.stories-B_gAKoLC.js +1 -0
  35. package/dist/assets/{DataFooter.stories-DF7dM1Fz.js → DataFooter.stories-DbpkHjQo.js} +1 -1
  36. package/dist/assets/{DataHeader.stories-DQIR10X9.js → DataHeader.stories-Bvm601kr.js} +1 -1
  37. package/dist/assets/{Dataflow.stories-DpdyGVoM.js → Dataflow.stories-tehj-YyM.js} +1 -1
  38. package/dist/assets/{DeleteAllChip.stories-qla6HDue.js → DeleteAllChip.stories-B2GXOU9b.js} +1 -1
  39. package/dist/assets/{Dialog-Dbd5q2ZH.js → Dialog-C-s0yijE.js} +1 -1
  40. package/dist/assets/{Divider-B7XS2Z4V.js → Divider-R2ewHtk_.js} +1 -1
  41. package/dist/assets/{DocsRenderer-JROSPFPF-DxQ3qCAa.js → DocsRenderer-JROSPFPF-B12ntMcZ.js} +5 -5
  42. package/dist/assets/Done-BSbaFiq0.js +1 -0
  43. package/dist/assets/DynamicDrawer.stories-DvyX483Y.js +37 -0
  44. package/dist/assets/{EmojiObjects-CrPOWO9t.js → EmojiObjects-CUssVW0A.js} +1 -1
  45. package/dist/assets/ExpandLess-3-xtTF1p.js +1 -0
  46. package/dist/assets/ExpandMore-Dsuz1jjM.js +1 -0
  47. package/dist/assets/{ExpansionPanel-B1gQpUNm.js → ExpansionPanel-Ctt2zdHC.js} +1 -1
  48. package/dist/assets/ExpansionPanel.stories-Y0OQrCya.js +1 -0
  49. package/dist/assets/{FormControlLabel-DClPtT5c.js → FormControlLabel-KcN9FnOb.js} +1 -1
  50. package/dist/assets/{Grid-WD2CtAjS.js → Grid-CAOlztbh.js} +1 -1
  51. package/dist/assets/{GroupedChips.stories-BFwWBunB.js → GroupedChips.stories-DWt0FQPY.js} +1 -1
  52. package/dist/assets/{Grow-DSRrEILj.js → Grow-BVFMWm8n.js} +1 -1
  53. package/dist/assets/{HierarchicalFilter.stories-Bppptfog.js → HierarchicalFilter.stories-MVTDp771.js} +1 -1
  54. package/dist/assets/{IconButton-C2dWVjln.js → IconButton-Dp4IAclR.js} +1 -1
  55. package/dist/assets/Info-CoiGqhtP.js +1 -0
  56. package/dist/assets/{Input-COkKYOw9.js → Input-D3cr-q9v.js} +1 -1
  57. package/dist/assets/Input.stories-DtawhaJn.js +1 -0
  58. package/dist/assets/{InputAdornment-pyuuGkIU.js → InputAdornment-BrIoALkp.js} +1 -1
  59. package/dist/assets/{InputNumber.stories-MaeAi7rL.js → InputNumber.stories-DGMrxC8T.js} +1 -1
  60. package/dist/assets/{KeyboardArrowUp-BPaNNPVf.js → KeyboardArrowUp-BJ-W09bQ.js} +1 -1
  61. package/dist/assets/{LabelDivider.stories-w8VxMsr2.js → LabelDivider.stories-wqEP_oCG.js} +1 -1
  62. package/dist/assets/Lens-DL6gr_7r.js +1 -0
  63. package/dist/assets/{Link-BB954hTb.js → Link-Cy9v91bv.js} +1 -1
  64. package/dist/assets/ListContext-BolWnBju.js +1 -0
  65. package/dist/assets/{Loading.stories-v_HtvQr3.js → Loading.stories-De_C1LJZ.js} +1 -1
  66. package/dist/assets/{Logo.stories-DLoZ5lO1.js → Logo.stories-B2olSDi3.js} +1 -1
  67. package/dist/assets/{MenuItem-Dk2le0wB.js → MenuItem-xLtVfh-T.js} +1 -1
  68. package/dist/assets/{Mode-DV4h0Dsf.js → Mode-RRlNQ4iw.js} +1 -1
  69. package/dist/assets/Mode.stories-dnjijlGY.js +1 -0
  70. package/dist/assets/{NoData-CdbAN-4W.js → NoData-D6mg_-dW.js} +1 -1
  71. package/dist/assets/NoData.stories-C-Vrbcyh.js +1 -0
  72. package/dist/assets/{Pagination.stories-D-kKSGCN.js → Pagination.stories-CFads3QR.js} +1 -1
  73. package/dist/assets/{Paper-CzjB2og1.js → Paper-Dayln0Ct.js} +1 -1
  74. package/dist/assets/{PeriodPicker.stories-BMNsudLf.js → PeriodPicker.stories-WiKHiYoH.js} +1 -1
  75. package/dist/assets/{Popover-Dni1WekO.js → Popover-Uzeun2Me.js} +1 -1
  76. package/dist/assets/{RadioGroup-uId6ySpH.js → RadioGroup-IiFhU5FR.js} +1 -1
  77. package/dist/assets/{Select-CQoiqqhZ.js → Select-BIqUJwXA.js} +1 -1
  78. package/dist/assets/{Select-ep7J94QW.js → Select-Bj1EePtO.js} +1 -1
  79. package/dist/assets/Select.stories-CdLByW3w.js +1 -0
  80. package/dist/assets/{Share.stories-WUBNy4Qb.js → Share.stories-BPSMsgsW.js} +1 -1
  81. package/dist/assets/{ShortUrls.stories-DBNnSJxj.js → ShortUrls.stories-C1IzSYP-.js} +1 -1
  82. package/dist/assets/{SisccFooter.stories-D1gNONWP.js → SisccFooter.stories-B_KGM6Te.js} +1 -1
  83. package/dist/assets/Spotlight-e96SEFo8.js +1 -0
  84. package/dist/assets/Spotlight.stories-Bl--pg6O.js +1 -0
  85. package/dist/assets/{SvgIcon-B8VoEIlq.js → SvgIcon-Dtvy-hDq.js} +1 -1
  86. package/dist/assets/{SwitchBase-R3HuWU6Y.js → SwitchBase-CeuHloJI.js} +1 -1
  87. package/dist/assets/{TableFooter.stories-ClFTY60F.js → TableFooter.stories-DR-PraFS.js} +1 -1
  88. package/dist/assets/{TableHeader.stories-CB9Ctx1a.js → TableHeader.stories-EDQnJrCu.js} +1 -1
  89. package/dist/assets/{TableHtml5.stories-BK2LJwdn.js → TableHtml5.stories-B6QmzZHD.js} +1 -1
  90. package/dist/assets/{TableLayout.stories-K2I_udUV.js → TableLayout.stories-cJkp4kO2.js} +1 -1
  91. package/dist/assets/{TablePreview-DN978dC4.js → TablePreview-DxC2fyuT.js} +1 -1
  92. package/dist/assets/{TablePreview.stories-O0tb1AAn.js → TablePreview.stories-CjT1xFNp.js} +1 -1
  93. package/dist/assets/{TableRow-B9TedUIc.js → TableRow-B8M-ulux.js} +1 -1
  94. package/dist/assets/{Tag-DcoagxTe.js → Tag-Bb2TI0qq.js} +1 -1
  95. package/dist/assets/{Tag.stories-P1jMjUrq.js → Tag.stories-fUOTGOyo.js} +1 -1
  96. package/dist/assets/{TextField-5051t4Am.js → TextField-DxOJEku1.js} +1 -1
  97. package/dist/assets/{TextareaAutosize-gFplu4fL.js → TextareaAutosize-BuimkFTu.js} +1 -1
  98. package/dist/assets/{ToggleButton-CsD4JcOv.js → ToggleButton-xSebksOI.js} +1 -1
  99. package/dist/assets/ToggleButton.stories-BPw0QHQj.js +1 -0
  100. package/dist/assets/{Tooltip-DREhTS_h.js → Tooltip-BdFpdKle.js} +1 -1
  101. package/dist/assets/{Tooltip-BXIJ2uXm.js → Tooltip-Cr-X_MGO.js} +1 -1
  102. package/dist/assets/Tooltip.stories-C-eZ4J7F.js +1 -0
  103. package/dist/assets/{TransitionGroupContext-D6sjJNEJ.js → TransitionGroupContext-vR4yp620.js} +1 -1
  104. package/dist/assets/{Typography-ClsWOt-6.js → Typography-4tT-8Vq3.js} +1 -1
  105. package/dist/assets/{UserRightForm.stories-Zo5vh2zl.js → UserRightForm.stories-VkE0iOGB.js} +1 -1
  106. package/dist/assets/{VerticalButton-B_O8pash.js → VerticalButton-BqhQlGPm.js} +1 -1
  107. package/dist/assets/VerticalButton.stories-CsPp2-IW.js +1 -0
  108. package/dist/assets/{VirtualizedTree-BF_MqvzN.js → VirtualizedTree-DlUJVpsf.js} +1 -1
  109. package/dist/assets/{VirtualizedTree.stories-DA9US7cG.js → VirtualizedTree.stories-DasSw1os.js} +1 -1
  110. package/dist/assets/{Warning-T79zdunJ.js → Warning-CUCZNg43.js} +1 -1
  111. package/dist/assets/{WithTooltip-7X4HQR7L-L3z0XmSM.js → WithTooltip-7X4HQR7L-Bxcej_qF.js} +1 -1
  112. package/dist/assets/{axe-BUET0tVO.js → axe-Ct4E0xPw.js} +1 -1
  113. package/dist/assets/{client-Q1A578R6.js → client-C0Xfvd0A.js} +1 -1
  114. package/dist/assets/{colorManipulator-B2o8XrQV.js → colorManipulator-BRfZz3Rt.js} +1 -1
  115. package/dist/assets/{createSvgIcon-4qOyWnqh.js → createSvgIcon-jHwa-vp_.js} +1 -1
  116. package/dist/assets/{dividerClasses-CAcyJZOV.js → dividerClasses-cKFss8pv.js} +1 -1
  117. package/dist/assets/{formControlState-DKLgOIxq.js → formControlState-CIijR2PK.js} +1 -1
  118. package/dist/assets/formatter-L2YTDE3Q-C81xPPqq.js +1 -0
  119. package/dist/assets/{getThemeProps-BA6y06SF.js → getThemeProps-Ddmedtnn.js} +1 -1
  120. package/dist/assets/{iframe-qtIZP86u.js → iframe-DfF7YRst.js} +21 -21
  121. package/dist/assets/{index-DG_o2QcF.js → index-BV2Z4KO3.js} +1 -1
  122. package/dist/assets/index-Binpa5ab.js +1 -0
  123. package/dist/assets/{index-BFErXZfB.js → index-CQZTM3VE.js} +1 -1
  124. package/dist/assets/{index-D2TUKnmT.js → index-Ck05sfAe.js} +1 -1
  125. package/dist/assets/{index-BggZdvPH.js → index-DfQuWBDf.js} +1 -1
  126. package/dist/assets/{index-acdQxXhU.js → index-kY5obwXL.js} +1 -1
  127. package/dist/assets/{isMuiElement-CypnYP9m.js → isMuiElement-BU4kXOcf.js} +1 -1
  128. package/dist/assets/{listItemTextClasses-zH19y4kc.js → listItemTextClasses-BZLtsNjk.js} +1 -1
  129. package/dist/assets/{makeStyles-D7muGbyC.js → makeStyles-BbUppdz5.js} +1 -1
  130. package/dist/assets/{react-18-b26yu5pp.js → react-18-CTeNF7C9.js} +1 -1
  131. package/dist/assets/{styled-CcJp_mIC.js → styled-DQ5NvUeV.js} +1 -1
  132. package/dist/assets/{syntaxhighlighter-YFXUGROL-Co_wHuNw.js → syntaxhighlighter-YFXUGROL-kpxdXeZy.js} +1 -1
  133. package/dist/assets/{useControlled-BlAnc8DH.js → useControlled-l1S0VsZo.js} +1 -1
  134. package/dist/assets/{useKeybordEscapeHandler-B66lWhjR.js → useKeybordEscapeHandler-B44YG5ZS.js} +1 -1
  135. package/dist/assets/{useMediaQuery-BZDrSLp9.js → useMediaQuery-DOO2JAZR.js} +1 -1
  136. package/dist/assets/{useSlotProps-DjCN7Raw.js → useSlotProps-DH0Yt92a.js} +1 -1
  137. package/dist/assets/useTheme-CCowxcMW.js +1 -0
  138. package/dist/assets/{useThemeProps-BEHSnQQW.js → useThemeProps-DbK-G6z4.js} +1 -1
  139. package/dist/assets/{utils-BXvZU5O7.js → utils-BTU_AX2M.js} +1 -1
  140. package/dist/assets/{utils-DxJvQL_T.js → utils-Bt9BIhNn.js} +1 -1
  141. package/dist/assets/{with-input-SPuE9h6H.js → with-input-BBQh-opS.js} +1 -1
  142. package/dist/assets/{withSpotlight-Dg2BflVO.js → withSpotlight-DcdDXesI.js} +1 -1
  143. package/dist/iframe.html +1 -1
  144. package/dist/manifests/components.html +5 -3
  145. package/dist/manifests/components.json +8 -1
  146. package/dist/project.json +1 -1
  147. package/dist/theme/theme.js +12 -2
  148. package/dist/theme/theme.js.map +1 -1
  149. package/package.json +1 -1
  150. package/dist/assets/Alert.stories-Y9vU5rJ5.js +0 -3
  151. package/dist/assets/ArrowForward-DZAZ71mo.js +0 -1
  152. package/dist/assets/Close-h_394zG_.js +0 -1
  153. package/dist/assets/CollapseButtons.stories-BquDbI3m.js +0 -1
  154. package/dist/assets/DataEdit.stories-C-9NchST.js +0 -1
  155. package/dist/assets/Done-c1xy3r5H.js +0 -1
  156. package/dist/assets/DynamicDrawer.stories-B03kh6mx.js +0 -37
  157. package/dist/assets/ExpandLess-BHBGSniB.js +0 -1
  158. package/dist/assets/ExpandMore-BZU62EGf.js +0 -1
  159. package/dist/assets/ExpansionPanel.stories-Ct2CiQPu.js +0 -1
  160. package/dist/assets/Info-UTXmKXR9.js +0 -1
  161. package/dist/assets/Input.stories-bpnbyrUO.js +0 -1
  162. package/dist/assets/Lens-ii0Badvw.js +0 -1
  163. package/dist/assets/ListContext-BVgSHS6e.js +0 -1
  164. package/dist/assets/Mode.stories-Dh38jPXP.js +0 -1
  165. package/dist/assets/NoData.stories-C1tL_Xwz.js +0 -1
  166. package/dist/assets/Select.stories-tHoxameh.js +0 -1
  167. package/dist/assets/Spotlight-T9sUvY6V.js +0 -1
  168. package/dist/assets/Spotlight.stories-oLDJ4xPx.js +0 -1
  169. package/dist/assets/ToggleButton.stories-D6Mbdp_n.js +0 -1
  170. package/dist/assets/Tooltip.stories-BALJqobr.js +0 -1
  171. package/dist/assets/VerticalButton.stories-D7ZBM9Yl.js +0 -1
  172. package/dist/assets/formatter-L2YTDE3Q-BAt0mjPF.js +0 -1
  173. package/dist/assets/index-CaEHFs7i.js +0 -1
  174. 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, { onKeyDown: (e) => {
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
- return /* @__PURE__ */ jsxs(Grid, { container: true, "data-testid": testId, justifyContent: justify, tabIndex: 0, sx: {
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
- "&:focus": {
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, tabIndex: toggleId ? 0 : -1, isOpen: toggleId === id, toggle: () => handleToggle(id), testId: `${testId}_${id}`, id }),
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
- // #1788: the "Remove all" chip is a squared frame with barely rounded
483
- // angles, so it reads as a different control from the informative chips.
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: expanded items are concatenated inside a single outer frame,
495
- // separated by vertical dividers, the last one closing the rounded border.
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.label, children: text })
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(Fragment, { children: [
728
- /* @__PURE__ */ jsxs(Box, { className: classes.concatenatedChips, children: [
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.concatenatedChips, children: R.map((chip) => valueChip(chip, {
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",