@sis-cc/dotstatsuite-visions 15.8.0 → 15.9.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 (165) hide show
  1. package/dist/DynamicDrawer/DynamicDrawer.js +1 -1
  2. package/dist/DynamicDrawer/DynamicDrawer.js.map +1 -1
  3. package/dist/GroupedChips/GroupedChips.js +1 -0
  4. package/dist/GroupedChips/GroupedChips.js.map +1 -1
  5. package/dist/assets/{Alert-V-3Dzmed.js → Alert-DEM4J89t.js} +1 -1
  6. package/dist/assets/Alert.stories-xJrSPlLu.js +3 -0
  7. package/dist/assets/{ApiQueries.stories-l9rG0Gi1.js → ApiQueries.stories-CJCEvZ3K.js} +1 -1
  8. package/dist/assets/ArrowForward-Dno_X5W-.js +1 -0
  9. package/dist/assets/{Asterisk-ZI3pxf8J.js → Asterisk-CdTi40xP.js} +1 -1
  10. package/dist/assets/{AuthDialog.stories-BJlr8t4w.js → AuthDialog.stories-7miocgMG.js} +1 -1
  11. package/dist/assets/{Box-W9ybFVF_.js → Box-kR75auIU.js} +1 -1
  12. package/dist/assets/{Breadcrumbs.stories-DMaSZuEE.js → Breadcrumbs.stories-BpXLmHzm.js} +1 -1
  13. package/dist/assets/{Button-BMx72dTj.js → Button-C3zFrP42.js} +1 -1
  14. package/dist/assets/{Button-DRhDukgi.js → Button-fwWSBbmQ.js} +1 -1
  15. package/dist/assets/{Button.stories-C26OBTAJ.js → Button.stories-DFS3H0sC.js} +1 -1
  16. package/dist/assets/{ButtonBase-BBvXo3JJ.js → ButtonBase-Clx5JnRy.js} +1 -1
  17. package/dist/assets/{CardContent-BU2070f5.js → CardContent-D-YOm5vw.js} +1 -1
  18. package/dist/assets/{ChartsConfig.stories-MFmcHw2a.js → ChartsConfig.stories-Bxj7X0JA.js} +1 -1
  19. package/dist/assets/{Checkbox-BsLMSABz.js → Checkbox-Cf7wn9ip.js} +1 -1
  20. package/dist/assets/{Chips.stories-8E1uecVA.js → Chips.stories-sCyks7f1.js} +1 -1
  21. package/dist/assets/{CircularProgress-CA3yNVgI.js → CircularProgress-RePhc3-i.js} +1 -1
  22. package/dist/assets/Close-CbvuEges.js +1 -0
  23. package/dist/assets/{Collapse-eShneXQc.js → Collapse-Doo6pq99.js} +1 -1
  24. package/dist/assets/{CollapseButtons.stories-BWt2Qxfx.js → CollapseButtons.stories-L01pAYc5.js} +1 -1
  25. package/dist/assets/{CollapsibleTree.stories-BO6mggHX.js → CollapsibleTree.stories-DTMM15c2.js} +1 -1
  26. package/dist/assets/{Color-6AOWCN3U-Ddze5jdH.js → Color-6AOWCN3U-Ddjo_PPJ.js} +1 -1
  27. package/dist/assets/{Contact.stories-CGc3QK5j.js → Contact.stories-BlpmELc1.js} +1 -1
  28. package/dist/assets/{Container-D3cuyXIA.js → Container-DhpAVHtf.js} +1 -1
  29. package/dist/assets/{Cross-BrVdedLC.js → Cross-DWgmmCZm.js} +1 -1
  30. package/dist/assets/{CustomChip-QLrx9KDv.js → CustomChip-DeDaghii.js} +1 -1
  31. package/dist/assets/{DataEdit-H2FApR7q.js → DataEdit-CR8FfAvw.js} +1 -1
  32. package/dist/assets/DataEdit.stories-eOlGlCNn.js +1 -0
  33. package/dist/assets/{DataFooter.stories-DnN7jsA4.js → DataFooter.stories-DvE2zy1k.js} +1 -1
  34. package/dist/assets/{DataHeader.stories-BQI1cJZj.js → DataHeader.stories-Ckp5jIud.js} +1 -1
  35. package/dist/assets/{Dataflow.stories-wYwl3ENp.js → Dataflow.stories-i4EFNEW3.js} +1 -1
  36. package/dist/assets/{DeleteAllChip.stories-BeXNr8K7.js → DeleteAllChip.stories-CnDS-IaV.js} +1 -1
  37. package/dist/assets/{Dialog-BaZ10LEz.js → Dialog-CbacCXaL.js} +1 -1
  38. package/dist/assets/{Divider-CoC0luWw.js → Divider-jqKAmaY3.js} +1 -1
  39. package/dist/assets/{DocsRenderer-JROSPFPF-CnkMUw1c.js → DocsRenderer-JROSPFPF-DAT-azcP.js} +5 -5
  40. package/dist/assets/Done-BiBTcQXa.js +1 -0
  41. package/dist/assets/{DynamicDrawer.stories-CCEu-sU9.js → DynamicDrawer.stories-Cw8GUGW_.js} +1 -1
  42. package/dist/assets/{EmojiObjects-CnCG5UgN.js → EmojiObjects-BIzP6ZCj.js} +1 -1
  43. package/dist/assets/ExpandLess-C1jrSIzq.js +1 -0
  44. package/dist/assets/ExpandMore-BeRZrJY0.js +1 -0
  45. package/dist/assets/{ExpansionPanel-D_AeHrLe.js → ExpansionPanel-xw3-9wzj.js} +1 -1
  46. package/dist/assets/ExpansionPanel.stories-D0Vurjik.js +1 -0
  47. package/dist/assets/{FormControlLabel-BBNNt0tY.js → FormControlLabel-DDdNBdtG.js} +1 -1
  48. package/dist/assets/{Grid-BWiwTDwI.js → Grid-hI1L9TYO.js} +1 -1
  49. package/dist/assets/GroupedChips.stories-CfiI9F2H.js +1 -0
  50. package/dist/assets/{Grow-D-SCjBhP.js → Grow-Ec-9_feF.js} +1 -1
  51. package/dist/assets/{HierarchicalFilter.stories-DG97GvqY.js → HierarchicalFilter.stories-B6qaA4-E.js} +1 -1
  52. package/dist/assets/{IconButton-D3LZwxeh.js → IconButton-Cb9_2fe-.js} +1 -1
  53. package/dist/assets/Info-CGpzieFy.js +1 -0
  54. package/dist/assets/{Input-CG7hWula.js → Input-CbvyF0wm.js} +1 -1
  55. package/dist/assets/Input.stories-Cfd4EYOd.js +1 -0
  56. package/dist/assets/{InputAdornment-wH9Pk4BJ.js → InputAdornment-DDxsNAoT.js} +1 -1
  57. package/dist/assets/{InputNumber.stories-DbTt5yY9.js → InputNumber.stories-oca9TMZo.js} +1 -1
  58. package/dist/assets/{KeyboardArrowUp-BQlBVrzR.js → KeyboardArrowUp-Dhc_z93E.js} +1 -1
  59. package/dist/assets/{LabelDivider.stories-CHr3sPha.js → LabelDivider.stories-Do_4KYrg.js} +1 -1
  60. package/dist/assets/Lens-xG2sLfCx.js +1 -0
  61. package/dist/assets/{Link-CW-F3Ifh.js → Link-C36LOI3K.js} +1 -1
  62. package/dist/assets/ListContext-DYreZ6Ok.js +1 -0
  63. package/dist/assets/{Loading.stories-pasDf9ga.js → Loading.stories-CM00DSxc.js} +1 -1
  64. package/dist/assets/{Logo.stories-4dE0moOS.js → Logo.stories-BPu1rCVZ.js} +1 -1
  65. package/dist/assets/{MenuItem-hdb0Irmm.js → MenuItem-BVKX-mQt.js} +1 -1
  66. package/dist/assets/{Mode-Dp7t05YL.js → Mode-L2jaa2y-.js} +1 -1
  67. package/dist/assets/Mode.stories-rvy0G2k3.js +1 -0
  68. package/dist/assets/{NoData-C2J93DBh.js → NoData-gN_WiO4X.js} +1 -1
  69. package/dist/assets/NoData.stories-DZHQVWVH.js +1 -0
  70. package/dist/assets/{Pagination.stories-4nFZOaRx.js → Pagination.stories-jPiTkAbQ.js} +1 -1
  71. package/dist/assets/{Paper-CfwX0KYH.js → Paper-qzkegRQN.js} +1 -1
  72. package/dist/assets/{PeriodPicker.stories-BHgs9XrT.js → PeriodPicker.stories-4zyfoidv.js} +1 -1
  73. package/dist/assets/{Popover-ByKoXp0g.js → Popover-4M9bPAGT.js} +1 -1
  74. package/dist/assets/{RadioGroup-CVN7CdtH.js → RadioGroup-D1oghbPM.js} +1 -1
  75. package/dist/assets/{Select-Ah8Sr9D7.js → Select-CLccc8gg.js} +1 -1
  76. package/dist/assets/{Select-CZlFdPFr.js → Select-gSkt3VT8.js} +1 -1
  77. package/dist/assets/Select.stories-CBOAvW2f.js +1 -0
  78. package/dist/assets/{Share.stories-CuH7BlqS.js → Share.stories-C5ynu7vZ.js} +1 -1
  79. package/dist/assets/{ShortUrls.stories-BSEZqiug.js → ShortUrls.stories-D9Jmread.js} +1 -1
  80. package/dist/assets/{SisccFooter.stories-CdemtEFX.js → SisccFooter.stories-D6QzbeSg.js} +1 -1
  81. package/dist/assets/{Spotlight-UDcctnnY.js → Spotlight-CfEKgKbi.js} +1 -1
  82. package/dist/assets/Spotlight.stories-B304DPRg.js +1 -0
  83. package/dist/assets/{SvgIcon-GW3NHFPt.js → SvgIcon-B4njL0mU.js} +1 -1
  84. package/dist/assets/{SwitchBase-CCzuyW--.js → SwitchBase-D2aIULBt.js} +1 -1
  85. package/dist/assets/{TableFooter.stories-CSl6ORjJ.js → TableFooter.stories-CRBNPIVC.js} +1 -1
  86. package/dist/assets/{TableHeader.stories-lOvgAoFp.js → TableHeader.stories-sWZsyhdg.js} +1 -1
  87. package/dist/assets/{TableHtml5.stories-Ct5JhZem.js → TableHtml5.stories-BzpMZA_y.js} +1 -1
  88. package/dist/assets/{TableLayout.stories-wgGQO_RF.js → TableLayout.stories-58G0tXHN.js} +1 -1
  89. package/dist/assets/{TablePreview-Bguyp4ux.js → TablePreview-BegQUhBM.js} +1 -1
  90. package/dist/assets/{TablePreview.stories-C07Zrl2y.js → TablePreview.stories-BTZJt-Kr.js} +1 -1
  91. package/dist/assets/{TableRow-D4jT1GuD.js → TableRow-BwaUnYCC.js} +1 -1
  92. package/dist/assets/{Tag-D_PSGLRB.js → Tag-Bx9_l0wQ.js} +1 -1
  93. package/dist/assets/{Tag.stories-BGz4rLgQ.js → Tag.stories-2JJlfF3m.js} +1 -1
  94. package/dist/assets/{TextField-BXgCmF8Q.js → TextField-DeJ8wpMx.js} +1 -1
  95. package/dist/assets/{TextareaAutosize-CUsXNnA-.js → TextareaAutosize-D36Jv8uS.js} +1 -1
  96. package/dist/assets/{ToggleButton-DS6EygMq.js → ToggleButton-CAQxvhmJ.js} +1 -1
  97. package/dist/assets/ToggleButton.stories-DjgXYHO2.js +1 -0
  98. package/dist/assets/{Tooltip-Dvdo7S1U.js → Tooltip-CuZ4ONf5.js} +1 -1
  99. package/dist/assets/{Tooltip-DZsQm3GS.js → Tooltip-DxRH4cyD.js} +1 -1
  100. package/dist/assets/Tooltip.stories-cwZDcm9C.js +1 -0
  101. package/dist/assets/{TransitionGroupContext-DbDYdOiF.js → TransitionGroupContext-C3sqH9Ai.js} +1 -1
  102. package/dist/assets/{Typography-DYcf_Ayy.js → Typography-DucSr5vw.js} +1 -1
  103. package/dist/assets/{UserRightForm.stories-CcPzuoJl.js → UserRightForm.stories-_uUJFFiQ.js} +1 -1
  104. package/dist/assets/{VerticalButton-CKODcoq-.js → VerticalButton-Clv5ED-l.js} +1 -1
  105. package/dist/assets/VerticalButton.stories-DZoWeE_t.js +1 -0
  106. package/dist/assets/{VirtualizedTree-BQYvYoZ9.js → VirtualizedTree-CMRq05Wi.js} +1 -1
  107. package/dist/assets/{VirtualizedTree.stories-ClWDKQEG.js → VirtualizedTree.stories-Dc7DTvtN.js} +1 -1
  108. package/dist/assets/{Warning-Dbhnnj_m.js → Warning-iq5382n1.js} +1 -1
  109. package/dist/assets/{WithTooltip-7X4HQR7L-BayPkXD1.js → WithTooltip-7X4HQR7L-CiAzdJuC.js} +1 -1
  110. package/dist/assets/{axe-eaOgx4RW.js → axe-CX8lqyom.js} +1 -1
  111. package/dist/assets/{client-36kPzaj1.js → client-CNtnGSel.js} +1 -1
  112. package/dist/assets/{createSvgIcon-CwSFSuEP.js → createSvgIcon-Dhw1ZPnl.js} +1 -1
  113. package/dist/assets/{dividerClasses-BSbaW54m.js → dividerClasses-CAKRlKNq.js} +1 -1
  114. package/dist/assets/{formControlState-Dq_bwOCf.js → formControlState-CepUnK6I.js} +1 -1
  115. package/dist/assets/formatter-L2YTDE3Q-JlVBezLF.js +1 -0
  116. package/dist/assets/{getThemeProps-Cjg5fzgj.js → getThemeProps-p2tz9grW.js} +1 -1
  117. package/dist/assets/{iframe-BzEY7Zfj.js → iframe-DO8BaJAw.js} +3 -3
  118. package/dist/assets/index-B6RYGuxp.js +1 -0
  119. package/dist/assets/{index-DBNjO75x.js → index-Bx486E3T.js} +1 -1
  120. package/dist/assets/{index-tN9_2JiQ.js → index-CDYZMfH2.js} +1 -1
  121. package/dist/assets/{index-D2JcAg0e.js → index-DQgLZVQy.js} +1 -1
  122. package/dist/assets/{index-DGuNP1VT.js → index-DovOdZBv.js} +1 -1
  123. package/dist/assets/{isMuiElement-CpZGtZDN.js → isMuiElement-Nstdele8.js} +1 -1
  124. package/dist/assets/{listItemTextClasses-ExaZzYPW.js → listItemTextClasses-DbR4Y0x3.js} +1 -1
  125. package/dist/assets/{makeStyles-Bs4Qifu9.js → makeStyles-1sdzB3LA.js} +1 -1
  126. package/dist/assets/{react-18-DWVRGhlU.js → react-18-DhralOFB.js} +1 -1
  127. package/dist/assets/{styled-Dr9ejy2i.js → styled-jzrQGA5W.js} +1 -1
  128. package/dist/assets/{syntaxhighlighter-YFXUGROL-nMWIOH3U.js → syntaxhighlighter-YFXUGROL-CRN2m6Rf.js} +1 -1
  129. package/dist/assets/{useControlled-GTBZUQV_.js → useControlled-B99t6jQE.js} +1 -1
  130. package/dist/assets/{useKeybordEscapeHandler-URdF8HzX.js → useKeybordEscapeHandler-BpsMUxFP.js} +1 -1
  131. package/dist/assets/{useMediaQuery-D81N7oT5.js → useMediaQuery-DQ49HkbI.js} +1 -1
  132. package/dist/assets/{useSlotProps-BFMlVVvR.js → useSlotProps-CK4gGeaU.js} +1 -1
  133. package/dist/assets/useTheme-4lTw46Fa.js +1 -0
  134. package/dist/assets/{useThemeProps-Bsm0LxNF.js → useThemeProps-CGttVwgL.js} +1 -1
  135. package/dist/assets/{utils-BajTNxtA.js → utils-CFobb0wa.js} +1 -1
  136. package/dist/assets/{utils-Bu5jlHL9.js → utils-CxU8ILV4.js} +1 -1
  137. package/dist/assets/{with-input-C9xBwdkd.js → with-input-xAtKbhv1.js} +1 -1
  138. package/dist/assets/{withSpotlight-KFvoW166.js → withSpotlight-DEgS-hWx.js} +1 -1
  139. package/dist/iframe.html +1 -1
  140. package/dist/manifests/components.json +1 -1
  141. package/dist/project.json +1 -1
  142. package/package.json +1 -1
  143. package/dist/assets/Alert.stories-BaDcijMq.js +0 -3
  144. package/dist/assets/ArrowForward-PkzJTKgb.js +0 -1
  145. package/dist/assets/Close-Cb4p1h7Q.js +0 -1
  146. package/dist/assets/DataEdit.stories-BZMfuk6p.js +0 -1
  147. package/dist/assets/Done-Cv_QdWKp.js +0 -1
  148. package/dist/assets/ExpandLess-CwuGWIhv.js +0 -1
  149. package/dist/assets/ExpandMore-CVf7vwBD.js +0 -1
  150. package/dist/assets/ExpansionPanel.stories-Pmsh32qd.js +0 -1
  151. package/dist/assets/GroupedChips.stories-w_XgGcfb.js +0 -1
  152. package/dist/assets/Info-BEYHjG8k.js +0 -1
  153. package/dist/assets/Input.stories-DqpnieVq.js +0 -1
  154. package/dist/assets/Lens-lB7PLexf.js +0 -1
  155. package/dist/assets/ListContext-CCJZm3q7.js +0 -1
  156. package/dist/assets/Mode.stories-DWhzb24r.js +0 -1
  157. package/dist/assets/NoData.stories-CRl9hRPc.js +0 -1
  158. package/dist/assets/Select.stories-D-XWTiL1.js +0 -1
  159. package/dist/assets/Spotlight.stories-CcXHgP-D.js +0 -1
  160. package/dist/assets/ToggleButton.stories-18nkIIZz.js +0 -1
  161. package/dist/assets/Tooltip.stories-CGMN4KBk.js +0 -1
  162. package/dist/assets/VerticalButton.stories-D8XjXwAJ.js +0 -1
  163. package/dist/assets/formatter-L2YTDE3Q-BHQ2NIA0.js +0 -1
  164. package/dist/assets/index-D6sH_Dkr.js +0 -1
  165. package/dist/assets/useTheme-Cu8Lp_0G.js +0 -1
@@ -1181,7 +1181,7 @@ const DynamicDrawer = (props) => {
1181
1181
  Box,
1182
1182
  {
1183
1183
  component: "ul",
1184
- "aria-label": "filters",
1184
+ "aria-label": labels.tabs || "Filters",
1185
1185
  "data-testid": testId,
1186
1186
  className: classNames.list,
1187
1187
  sx: {
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicDrawer.js","sources":["../../src/DynamicDrawer/images/single-selection.png","../../src/DynamicDrawer/images/children-selection.png","../../src/DynamicDrawer/images/branch-selection.png","../../src/DynamicDrawer/images/level-selection.png","../../src/DynamicDrawer/SelectionModesMobile.jsx","../../src/DynamicDrawer/AdvancedSelection.jsx","../../src/DynamicDrawer/WarningPopup.jsx","../../src/DynamicDrawer/DynamicDrawer.jsx"],"sourcesContent":["export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAEMUlEQVR4Ae3dPY+bMBgH8Fvybe5bZMoXytItn6AbU5lyE0gdMoWJqYluyGZ1yUaHm05yOxytepeqQrIgckj8+MFv+VsMQGxjfn7BcAn3MFsUWFgEHmaLYr6sV2uBhSwwX9azRfGfcrUWJwQLgdVagNLCr5cUlD0Mu1VQ2vn1UoOyh2G3Cko7v15qUPYw7FZBaefXSw3KHobdKijt/HqpQdnDsFsFpZ1fLzUoexh2q1aU7y/PSS4fr98JqnTKj18/3taPSS5/vn0CJU/VgpLH8W39CEpQhjfgolWiVaJVYjJ0NmHCvFIzLGCs1KDQ7iCcU/7++ff4Ncnl/eX5rPPesknv4LfkfldxQMlW3aAEJZsAW0auW6WUUgQfmqYhALumFEJ8Dj5UVQVKnlqKjDLP821goSzLrioio6QVl9Dvbk/SNA0ob+caiwnKMR2jz0BpxDUWOVbKLMvy8EKUYyXPtGWaXGiXREzRNbURB2XbtjL40Lbt2Jh64TPXrfJCMVLYDUq2WgQlKNkE2DIKulUej8fKRxCC8svZoCl3u51mqjL9rjgmQ0bdCZRGXGORFeVms3HwV4y6rrsWn3Kr3O12Y+RMn0X2OMPorFWrBKWRmyYyKDUotF2gpLlpUinK6ec/gyOkfNkZnOj0G6BkM06QUtPnA94V9I1jwG6aooFSg0LbBUqamyYVKDUotF1BUwohSh+Bdp8aNCWm6LT+oUkFSg0KbZei3G63zfThcDh0s/wEp+iKkjZ4mdYfnleail2MD8qLNKYf3AVlVVXTD5XNXYyVbM98bsso5cvObQJssRKkFEIUPsLhcDAdZ0+nU9B3O4Tz8ZgElGz4oAQlmwBbRmiV0VLiR8xsVQdKUF4XcD1WqlZJu6O4fkIWMSJ7nAFKi7oeJgXl0MNiC5QWeMOkirIsSwdfLzc6xH6/7x4u0cZxb5cdtidiE2QESjbUOCibpgnslTia4iT4a7LhMBv6luuxMnQPi/KB0gJvmBSUQw+LLSvK4F+CQSyg63dnSCnZZh+BZeR6MgTKs8GA3sEVZZZlX5IIWZZ13cNbqyyK4qx+It309rxStUpQdk2HoYODEpTn45D/Dp5lmY832PAfc7PZeL7sBDYpZCiOtys4Q9kDy8I1Zdu2Ro/7I4ocx9v6z4f6hLbpk6GEEHhOBZQ8jvgCNZujB0r8kxi22lNfKQhs/jMojuvJEE0XlDQ3TSpFiX8So9Ex2qUoaZ3I6Fimkb09zjAtaBcflDQ3TSpQalBou0BJc9OkUpR5nvt4783YMZ+enro5EW0cd33jqCgHE7nANkDJViFxUEopHby6wfIQUkrN2HRtl+sOfq08EX8OSrbKAyUo2QTYMkKrBCWbAFtGaJWgZBNgywitEpRsAmwZoVWCkk2ALSO0ygko58t6tRZYyALzZT1bFA+zRYGFReAfqhQA2zKS9CAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAEEElEQVR4Ae3dv2rbQBwH8Cx+m7yFJz9H3sFLN+8t3TTVELAnGTp4srKoSw0JGDIcXQwJqIPJ0HCtS9zQRKUYxCGO6PS7n+5O5++hQVLuTvLnfvdHjuOcDUYpNhaBs8EoHY7zyUxgIwsMx/lglP6nnMxEiWQhMJkJUFr4KUVBqWDY7YLSzk8pDUoFw24XlHZ+SmlQKhh2u6C081NKg1LBsNsFpZ2fUhqUCobdLijt/JTSoFQw7HatKF9211Furz++EVTplK+/vj/NzqPcnr++AyVP04KSx/Fpdg5KUIY34CIqEZWISiyGagsmrCs1wwLGSg0K7QnCOeWfn3+3n6PcXnbXtc5rckjv4Ca1n1QeULI1NyhBySbAVpHrqLzb7S+v7gLfvtw+EIBdU15mdywfY+y0kosPN6Dk+cAtKHkcB6MUlKAM72PwiEpEJaKSsFwoyxKLIZqbphQoNSi0U6CkuWlKPe6f73e/A98e98+aW2865frBsel+evxzULI1HihBySbAVlHQUbndbjMfSQjKX84GTblerz/6SFmWEWIVlJq2iplyuVyK7lOe50fXmCnX6zWhx7UtUhQFKNui6fODUu9COAtKApq+yElQambZLk/FPO106aapG5QaFNqpCCn1Q1qoZ4N+2gkVTX9foNS7EM6CkoCmLwJKvQvhbNCUQoiFj0R75A+aEu9XEjqHvggo9S6EsxXlarUquk+bzea4pI9wiV5R0gavto13Em9ngLJtWNTzIyrrIuTjijLLsu6HyuIkxkraGzzkUjFPO2QUWsEIKYUQqY+02WwIg1LQTzuE1+OxCCjZ8EEJSjYBtooQlb2lxF9IsDUdKEHZLOB6rERUNreJYQ5QGkI1ZwNls5FhDlAaQjVnA2WzkWEOUBpCNWcDZbORYY789uHi/U3g2+XVveHLUbO5Xleq145sH5RsDQpKULIJsFVkFZUy0nQ4HAjAdEopJe1Xo+GXcv3LW1DWIpchKpMk+RRFSpLk2GO8RWWaprX26emhtw8FVh0clMfQYejgoARlfRzy38GTJPHxDTb811wul56nnfDXiW3v0NsM3vZGw8/vmvJwOHT/fTV+rlAURX0cNTimz+AGlZ9WFlCytTcoQckmwFaR66iUUvqZStpctR/TjhACiyGejgBKHseyLCvK6XS6CiwtFotjj3G9RKfpVpS026Vd1LCUt7czDO+vlg2UNRD6ISjpdrWSoKyB0A8ryul06uN7b9665nw+7+W0E/LqkjYlun7aqaISlPSufSwppXTw1Q2Wl5BSEl6n66gk3GJfioCSraVACUo2AbaKEJWgZBNgqwhRCUo2AbaKEJWgZBNgqwhRCUo2AbaKEJUdUA7H+WQmsJEFhuN8MErPBuH96/ie3tI/t0x8FMP3CcUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAD4klEQVR4Ae3cMWvbQBQH8Cz+NvkW7uLP4e/gDt28N5Qummow2JMMKXiqvahLhnjKIAqlYINaMBkarnWJa5qoBIEtgvLi9+7pdFL+xw2q7t31/Ltn+SQcn7Q6IaqKwEmrE7Z7UX8Uo4oF2r2o1QkfKPujOEWxEOiPYlBa+OW6gjKHYXcISju/XG9Q5jDsDkFp55frDcocht0hKO38cr1BmcOwOwSlnV+uNyhzGHaHoLTzy/UGZQ7D7tCK8m592ch6//OLQFVOef/7++3otJF1d/EGlDpLC0odx9vRKShB6d8FF1mJrERWYjP0aMOEfWXBZQHXygIU2R2Ec8q/v/59O29kvVtfPnrzHvNP+Rv8mNFfVAwo1ZYblKBUE1AbyHVWLteb4Xzpef18dS0Adk05nC1VvsZY6iDdswUodb5wC0odx1YnBCUo/fsaPLISWYmsFGwX0jTFZkjmVtALlAUoslOglLkV9LrZ7FbrP57Xm82uYOrPnXJ94/jcfGrcDkq1xQMlKNUE1AbyOis/Xvzoni3c1+F8JQD2mjKbXKmPJgsHr8c9OGu1QcniooJBSemw2kDJ4qKCQUnpsNpAyeKigkFJ6bDaQMniooJBSemw2kDJ4mpOcLbw+MkmhRUFpQJiNgQoQakmoDaQ11k5nK9evY7cV9kv/XlNmU2u8JFiqSfxvPKFfWeIdWVCVrK4qGBQUjqsNlCyuKhgUFI6rDZQsrioYFBSOqw2ULK4qODhbNnuRe7r+/Ov1LSeaMsWHg/ZnuDhnAYlR4uMBSXJw2kEJUeLjAUlycNpdE2Jv5DgrA4ZC0qSh9MISo4WGQtKkofTCEqOFhkLSpKH0whKjhYZC0qSh9MISo4WGQtKkofTGF1dd98uPK8N/GsyzhpVH+v6Hrz6V1zaDECpRgtKPyhNQ8t2uxUAy7PSGPOuoWU2m4FSZ20rowyC4EMjShAE2VJURhmGoeDt4GGXJElAqbMuoNRxTNMUlA2iDIJg1ogynU4rvlbqbEB8GqWyT3CfEHTm4ppyu93GDS1JkgguwPIbR8F/1uwuoFRbX1CCUk1AbSDXWWmM8f+zqh4fO3Ec62xYyhzF9WZI9sYApcytoNeecjAYfPKsTCaTLNdrlpWy6RYsjt6pyp4MyV7CPitBKQM89ALlwcLyCJSWgIfue8rBYDDxrIzH41p+7JS5L7QdW3Ydd323s89K25dbZv96UBpjEu+LMeZwSTr6yHVWHj2x+gWCUm3NQAlKNQG1gZCVoFQTUBsIWQlKNQG1gZCVoFQTUBsIWQlKNQG1gZCVJVC2e1F/FKOKBdq9qNUJH34pEFVF4D/hsYhLBy7VNQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAD/klEQVR4Ae3dP2vbQBgG8Cz+NvkWnvw58h28dPPe0k1Th4AzqZDBU5RFXWpowJDhNoMLImC8ORjilDQqxSAu1qskeu716Xx5xA3ySe/58rtX/yzHOukNUhYVgZPeIO0P89HYsMAC/WHeG6T/KUdjU3JyEBiNDSkd/KxQUloYbrOkdPOzoklpYbjNktLNz4ompYXhNktKNz8rmpQWhtssKd38rGhSWhhus6R087OiSWlhuM06URaRTqvVClDFKdfr9ddIpyzLSKkztp1RJkmSRjFdXFzshqIzyjRNgc0hwJCiKEipMy6k1HEsy5KUEVEmSZJFMU0mk473lTonICG10tkRPCQEnb74ptxutybSqSgKYAeMXzgCbxZ3CCnVxpeUpFQTUGvId1Y+b+6e5peBl7/LXwCwb8qn+eXD+DTw8ufnJ1LqDBIpdRwfxqekJGV4u05mJbOSWQmcLpRlyZMhzE2IIqWAglWREnMTop4f7583d6GXx3uh629V+b5wfKs/R7yclGqDR0pSqgmoNRR0Vs7n805usBuD/Ods0JTT6VTnbmzLVnzfvFXbMJobImWzTcslFeVkMvFwyz3P8136xpyV0+m05Sggq3f2TTaksy1jqqwkZUu52uqkrJGgFaRE5WpxFWXLkxnX1WM+7LjatIwnZUuw5tUjpKxt8UFXBH3hGLRcrXOkrJGgFaRE5WpxpKyRoBVBUxpjvncxYdepQVPyFB3dQmpxpKyRoBUV5dXVlYfflpjNZrvT9ghP0StKbOfVdgT5eWVbscb1SdlI03bBh6DMsoz7yraZ8WL9al/Z/CHOQZbEfNg5CFhzoxFSGmM6+dWd2Wz2Yut434ugr3be9yeEshYp1UaClKRUE1BriFl5tJTn2ULlWSwHbeTsyw0A7DsrSQkMkhxCStkFqCUlgCaHkFJ2AWpJCaDJIaSUXYBaUgJocggpZReglpQAmhyS367OPt8EXs6vf8u9f7XW99XOq5057oWkVBs/UpJSTUCtIaesXEc6bbdbABin5ENi9rhJKdwO930fvMrKJEm+RTElSbJz7YySD4nZbekKGzgpSbl32OBDYvZB8Nedfb/SPux08hM26m/Kh8QIZzOOVZ0dwR37HWC4b0o+JGZvr4yfDO01xJekVMsBUpJSTUCtId9ZuVhuzq8XgZcft34fao2NJm/eYm5CFCkFFKyKlJibEEVKAQWrIiXmJkSRUkDBqkiJuQlRpBRQsCpSYm5CFCkFFKxqsdzkt6vAy2K5Af4639fgQBePJYSUaiNFSlKqCag1xKwkpZqAWkPMSlKqCag1xKwkpZqAWkPMSlKqCag1xKw8AGV/mI/GhgUW6A/z3iA9OegvIH2oxv8BrKHQ/zYsUVYAAAAASUVORK5CYII=\"","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Box from '@mui/material/Box';\nimport Paper from '@mui/material/Paper';\nimport Typography from '@mui/material/Typography';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { Button } from '../Button/Button';\n\nconst mapIndexed = R.addIndex(R.map);\nconst ButtonCarousel = ({ selectionModes, selectionMode, setSelectionMode, classes }) => {\n return (\n <Box\n sx={{\n overflowX: 'auto',\n overflowY: 'hidden',\n whiteSpace: 'nowrap',\n display: 'block', // allow horizontal scrolling\n width: '100%',\n maxWidth: '100%',\n '&::-webkit-scrollbar': { display: 'none' }, // optional: hide scrollbar\n scrollbarWidth: 'none',\n }}\n >\n {mapIndexed(\n ({ value, label, img }) => (\n <Tooltip\n key={value}\n classes={{ tooltip: classes.tooltip }}\n title={<img style={{ width: '72px', height: '90px' }} src={img} alt={value} />}\n tabIndex={-1}\n >\n <Button\n className={cx(classes.selectButton, classes.selectButtonNarrow)}\n selected={value === selectionMode}\n onClick={() => {\n setSelectionMode(value);\n }}\n aria-pressed={value === selectionMode}\n aria-label={label}\n tabIndex={0}\n sx={{\n flex: '0 0 auto', // Prevents buttons from shrinking\n scrollSnapAlign: 'center',\n minWidth: 40, // Minimum width for buttons\n whiteSpace: 'wrap',\n }}\n >\n <Paper elevation={0} className={classes.selectModeItem} key={value}>\n <Typography>{label}</Typography>\n {!R.isNil(img) && R.is(String, img) && <img src={img} alt={value} />}\n </Paper>\n </Button>\n </Tooltip>\n ),\n selectionModes\n )}\n </Box>\n );\n};\n\nexport default ButtonCarousel;\n\nButtonCarousel.propTypes = {\n selectionModes: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n img: PropTypes.string,\n })\n ).isRequired,\n selectionMode: PropTypes.string.isRequired,\n setSelectionMode: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport {\n getEvolvedDisableAccessor,\n getHierarchicalId,\n getScopeGetters,\n} from '../VirtualizedTree/utils';\nimport IconButton from '@mui/material/Button';\nimport Paper from '@mui/material/Paper';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { Button } from '../Button/Button';\nimport { Spotlight } from '../Spotlight/Spotlight';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { VirtualizedTree } from '../VirtualizedTree/VirtualizedTree';\nimport { withExpansionTree } from '../VirtualizedTree/withExpansionTree';\nimport { withSpotlight } from '../VirtualizedTree/withSpotlight';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { EmojiObjects } from '@mui/icons-material';\nimport singleImg from './images/single-selection.png';\nimport childrenImg from './images/children-selection.png';\nimport branchImg from './images/branch-selection.png';\nimport levelImg from './images/level-selection.png';\nimport Divider from '@mui/material/Divider';\nimport ButtonCarousel from './SelectionModesMobile';\n\nconst useStyles = makeStyles((theme) => ({\n header: {\n color: 'black',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n },\n headerLabel: {\n fontSize: '16px',\n fontFamily: 'PT Sans Narrow',\n fontWeight: '700',\n color: theme.palette.grey[700],\n },\n selectionTitle: {\n fontSize: '12px',\n fontFamily: \"'Helvetica Neue', Helvetica, Arial, sans-serif\",\n fontWeight: '500',\n color: theme.palette.grey['A700'],\n },\n closeButton: {\n color: 'grey !important',\n padding: 0,\n },\n selectMode: {\n marginLeft: 10,\n '& .MuiInputBase-root': {\n height: 32,\n },\n },\n narrowTop: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n },\n spotlight: { width: '45%' },\n selection: {\n display: 'flex',\n alignItems: 'center',\n },\n narrowSpotlight: { width: '100%' },\n selectionButton: {\n marginLeft: 24,\n marginRight: 15,\n height: 32,\n },\n narrowSelectionButton: {\n height: 32,\n marginTop: 15,\n marginRight: 10,\n },\n selectionMenu: {\n padding: 24,\n },\n narrowSelectionMenu: {\n width: '100%',\n },\n selectModeContainer: {\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n alignItems: 'flex-start',\n },\n selectButtonNarrow: {\n width: 160,\n height: 50,\n border: `1px solid ${theme.palette.primary.light}`,\n margin: 5,\n },\n selectButton: {\n color: theme.palette.primary.main,\n '&:hover': {\n color: theme.palette.primary.main,\n backgroundColor: theme.palette.action.hover,\n },\n },\n selectModeItem: {\n boxShadow: 'none',\n display: 'flex',\n backgroundColor: 'transparent',\n flexDirection: 'row-reverse',\n alignItems: 'center',\n '& p': {\n paddingLeft: '5px',\n fontSize: '12px',\n fontFamily: \"'Helvetica Neue', Helvetica, Arial, sans-serif\",\n color: theme.palette.primary.main,\n fontWeight: '500',\n lineHeight: 1.43,\n textAlign: 'left',\n },\n '& img': {\n width: 21,\n height: 30,\n },\n },\n hint: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n marginRight: 7,\n color: theme.palette.primary.main,\n },\n divider: {\n backgroundColor: theme.palette.primary.light,\n },\n actions: {\n justifyContent: 'flex-end',\n },\n ellipsis: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n tooltip: {\n backgroundColor: theme.palette.action.hover,\n },\n subheader: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n },\n narrowHeader: {\n alignItems: 'flex-start',\n width: '100%',\n },\n topElements: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n}));\n\nconst AdvancedSelection = (props) => {\n const {\n id,\n items,\n labelRenderer,\n isNarrow,\n labels,\n disableAccessor = R.always(false),\n expandAll,\n collapseAll,\n selection,\n setSelection,\n allSelection,\n setAllSelection,\n spotlight,\n setSpotlight,\n expandedIds,\n allItems,\n filter,\n ...rest\n } = props;\n const [selectionMode, setSelectionMode] = useState('single');\n const classes = useStyles();\n const getTotal = (totalItems, spotlightAcc) => {\n const itemsIds = R.pluck('id', totalItems);\n const total = R.pipe(R.uniq, R.length)(itemsIds);\n if (R.is(Function, spotlightAcc)) {\n return spotlightAcc(total);\n }\n return total;\n };\n\n const selectionItems = R.map((item) => {\n const selectedIds = R.propOr([], id, allSelection);\n return {\n ...item,\n isSelected: R.includes(item.id, selectedIds) ? !item.isSelected : !!item.isSelected,\n };\n }, items);\n const indexedFilteredItems = R.indexBy(getHierarchicalId, selectionItems);\n\n const selectionOptions = [\n {\n value: 'single',\n label: R.prop('singleSelection', labels),\n img: singleImg,\n },\n {\n value: 'children',\n label: R.prop('childrenSelection', labels),\n img: childrenImg,\n },\n\n {\n value: 'branch',\n label: R.prop('branchSelection', labels),\n img: branchImg,\n },\n {\n value: 'level',\n label: R.prop('levelSelection', labels),\n img: levelImg,\n },\n ];\n\n const _allGroupedItems = R.pipe(\n R.map((item) => ({\n ...item,\n isSelected: R.has(item.id, selection) ? !item.isSelected : !!item.isSelected,\n })),\n R.groupBy(R.propOr('#ROOT', 'parentId'))\n )(allItems);\n\n const isChildInSelectionScope = (child, ancestor) => {\n if (!R.has(getHierarchicalId(child), indexedFilteredItems)) {\n return false;\n }\n if (selectionMode === 'single' || selectionMode === 'level') {\n return false;\n }\n if (selectionMode === 'children') {\n return child.parentId === getHierarchicalId(ancestor);\n }\n return true;\n };\n\n const _disableAccessor = getEvolvedDisableAccessor(\n _allGroupedItems,\n disableAccessor,\n isChildInSelectionScope\n );\n\n const isDisabled = (item) => (R.is(Function, disableAccessor) ? disableAccessor(item) : false);\n const scopeGetter = R.prop(selectionMode, getScopeGetters);\n\n const onChangeSelection = (ids) => {\n const nextSelection = R.reduce(\n (acc, itemId) => (R.has(itemId, acc) ? R.dissoc(itemId, acc) : R.assoc(itemId, itemId, acc)),\n selection,\n ids\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n\n const rejectonlyDisabledItems = (item) => _disableAccessor(item);\n const getSelectedItems = (item) => R.propOr(false, 'isSelected')(item);\n\n const selectAll = () => {\n const imposedIds = R.reduce(\n (acc, item) => R.uniq(R.concat(R.propOr([], 'imposedIds', item), acc)),\n []\n )(items);\n const ids = R.pluck('id', R.reject(getSelectedItems, R.reject(rejectonlyDisabledItems, items)));\n const allIds = R.concat(imposedIds, ids);\n const nextSelection = R.reduce(\n (acc, itemId) => (R.has(itemId, acc) ? acc : R.assoc(itemId, itemId, acc)),\n {},\n allIds\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n\n const deselectAll = () => {\n const itemIds = R.pipe(R.filter(getSelectedItems), R.pluck('id'))(items);\n const ids = R.difference(itemIds, selection);\n const nextSelection = R.reduce(\n (acc, itemId) => (R.has(itemId, acc) ? acc : R.assoc(itemId, itemId, acc)),\n {},\n ids\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n const mapIndexed = R.addIndex(R.map);\n return (\n <Grid container>\n <Grid\n item\n container\n xs={12}\n className={cx(classes.topElements, { [classes.narrowTop]: isNarrow })}\n >\n {isNarrow && (\n <Grid item container xs={12}>\n <div className={cx(classes.selectModeContainer, { [classes.narrowHeader]: isNarrow })}>\n <ButtonCarousel\n selectionModes={selectionOptions}\n selectionMode={selectionMode}\n setSelectionMode={setSelectionMode}\n classes={classes}\n isNarrow={isNarrow}\n />\n </div>\n </Grid>\n )}\n <div className={classes.spotlight}>\n <Spotlight\n hasClearAll={true}\n placeholder={getTotal(items, R.prop('placeholder', labels))}\n term={spotlight.term}\n hasCommit={false}\n spotlight={{ fields: {} }}\n action={setSpotlight}\n labels={labels}\n />\n </div>\n </Grid>\n\n <Grid item xs={isNarrow ? 12 : 8}>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n <div>\n <Button onClick={collapseAll} color=\"primary\">\n {R.prop('colapseAll', labels)}\n </Button>\n <Button style={{ marginLeft: 10 }} onClick={expandAll} color=\"primary\">\n {R.prop('expandAll', labels)}\n </Button>\n </div>\n <div>\n <Button onClick={selectAll} color=\"primary\">\n {R.prop('selectAll', labels)}\n </Button>\n <Button style={{ marginLeft: 10 }} onClick={deselectAll} color=\"primary\">\n {R.prop('deselectAll', labels)}\n </Button>\n </div>\n </div>\n <Divider className={classes.divider} />\n\n <VirtualizedTree\n {...rest}\n disableAccessor={_disableAccessor}\n isGreyed={isDisabled}\n labels={labels}\n labelRenderer={labelRenderer}\n items={selectionItems}\n changeSelection={(newSelection, ids) => onChangeSelection(newSelection, ids, filter)}\n withExpandControl={true}\n treeHeight={isNarrow ? 0 : 450}\n scopeGetter={scopeGetter}\n expandedIds={expandedIds}\n />\n </Grid>\n {!isNarrow && (\n <Grid item container xs={4}>\n <div className={cx(classes.selectModeContainer)}>\n <div className={classes.hint}>\n <Tooltip\n role=\"tooltip\"\n variant=\"light\"\n title={<Typography variant=\"body2\">{R.prop('hint', labels)}</Typography>}\n aria-label={R.prop('hint', labels)}\n tabIndex={0}\n >\n <IconButton>\n <EmojiObjects />\n </IconButton>\n </Tooltip>\n <Typography\n className={classes.selectionTitle}\n aria-label={R.prop('selectionMode', labels)}\n tabIndex={0}\n >\n {R.prop('selectionMode', labels)}\n </Typography>\n </div>\n <div className={cx(classes.selectModeContainer, classes.selectionMenu)}>\n {mapIndexed(\n ({ value, label, img }) => (\n <Tooltip\n key={value}\n classes={{ tooltip: classes.tooltip }}\n title={<img style={{ width: '72px', height: '90px' }} src={img} alt={value} />}\n tabIndex={-1}\n >\n <Button\n className={classes.selectButton}\n selected={value === selectionMode}\n onClick={() => {\n setSelectionMode(value);\n }}\n aria-pressed={value === selectionMode}\n aria-label={label}\n tabIndex={0}\n >\n <Paper elevation={0} className={classes.selectModeItem} key={value}>\n <Typography>{label}</Typography>\n {!R.isNil(img) && R.is(String, img) && <img src={img} alt={value} />}\n </Paper>\n </Button>\n </Tooltip>\n ),\n selectionOptions\n )}\n </div>\n </div>\n </Grid>\n )}\n </Grid>\n );\n};\n\nAdvancedSelection.propTypes = {\n id: PropTypes.string,\n accessibility: PropTypes.bool,\n disableAccessor: PropTypes.func,\n HTMLRenderer: PropTypes.func,\n filter: PropTypes.object,\n selection: PropTypes.object,\n allSelection: PropTypes.object,\n setAllSelection: PropTypes.func,\n setSelection: PropTypes.func,\n isRtl: PropTypes.bool,\n isNarrow: PropTypes.bool,\n items: PropTypes.array,\n labels: PropTypes.shape({\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n disableItemLabel: PropTypes.string,\n singleSelection: PropTypes.string,\n childrenSelection: PropTypes.string,\n branchSelection: PropTypes.string,\n levelSelection: PropTypes.string,\n selectAll: PropTypes.string,\n deselectAll: PropTypes.string,\n apply: PropTypes.string,\n cancel: PropTypes.string,\n }),\n labelRenderer: PropTypes.func,\n expandAll: PropTypes.func,\n collapseAll: PropTypes.func,\n spotlight: PropTypes.object,\n setSpotlight: PropTypes.func,\n expandedIds: PropTypes.object,\n allItems: PropTypes.array,\n};\n\nexport default withSpotlight(withExpansionTree(AdvancedSelection));\n","import * as React from 'react';\nimport * as R from 'ramda';\nimport { Button } from '../Button/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport makeStyles from '@mui/styles/makeStyles';\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'warningPopup', 'title'], theme),\n textAlign: 'center',\n },\n content: {\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'warningPopup', 'content'], theme),\n },\n}));\n\nexport const WarningPopup = ({ open, handleClose, handleSubmit, labels }) => {\n const classes = useStyles();\n return (\n <Dialog\n fullWidth={false}\n maxWidth={'sm'}\n disableScrollLock\n open={open}\n onClose={handleClose}\n onSubmit={handleSubmit}\n aria-labelledby={R.prop('popupTitle', labels)}\n aria-describedby={R.prop('popupContent', labels)}\n >\n <DialogTitle id={R.prop('popupTitle', labels)} className={classes.title}>\n {R.prop('popupTitle', labels)}\n </DialogTitle>\n <DialogContent id={R.prop('popupContent', labels)} className={classes.content}>\n <DialogContentText>{R.prop('popupContent', labels)}</DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={handleClose} aria-label={R.prop('discard', labels)} color=\"primary\">\n {R.prop('discard', labels)}\n </Button>\n <Button\n onClick={handleSubmit}\n aria-label={R.prop('apply', labels)}\n color=\"primary\"\n alternative=\"siscc\"\n variant=\"contained\"\n >\n {R.prop('apply', labels)}\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n","import React, {\n useState,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n startTransition,\n} from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Box from '@mui/material/Box';\nimport AdvancedSelection from './AdvancedSelection';\nimport Paper from '@mui/material/Paper';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { useTheme } from '@mui/material/styles';\nimport { ArrowBack, Close, Add, Remove } from '@mui/icons-material';\nimport IconButton from '@mui/material/Button';\nimport { Button } from '../Button/Button';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { WarningPopup } from './WarningPopup';\nimport FocusTrap from '@mui/material/Unstable_TrapFocus';\nimport CustomChip from '../Chips/CustomChip';\nimport makeStylesFn from '../Chips/styles';\nimport { myTooltipRenderer } from '../Chips/utils';\nimport { getHierarchicalId } from '../VirtualizedTree/utils';\nimport { getIsRtl } from '../utils';\n\nconst useChipStyles = makeStyles(makeStylesFn);\n\n// The panel is a single element reused by every dimension, so its id is stable\n// and every card's button can point at it; what changes is which card labels it.\nconst panelDomId = (testId) => `${testId}-panel`;\nconst dimensionLabelId = (dimId) => `dimension-label-${dimId}`;\n\nconst useStyles = makeStyles((theme) => ({\n label: {\n color: theme.palette.grey[700],\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'tab', 'title'], theme),\n },\n frame: {\n border: `solid 1px ${theme.palette.grey[400]}`,\n borderRadius: theme.shape.borderRadius,\n transition: 'border-color 0.2s ease',\n '&:hover, &:focus-within': {\n borderColor: theme.palette.primary.main,\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'tab', 'frame'], theme),\n },\n },\n labelSelected: {\n color: theme.palette.primary.main,\n },\n chipDeleteLeft: {\n flexDirection: 'row-reverse',\n '& .MuiChip-deleteIcon': {\n margin: theme.spacing(0, 0.5, 0, -0.5),\n },\n },\n // #1788: the \"Remove all\" chip is a squared frame with barely rounded\n // angles, so it reads as a different control from the informative chips.\n removeAllChip: {\n borderRadius: 1,\n },\n // #1789: a long value truncates on one line and exposes its full text via\n // the native title tooltip, instead of wrapping the chip over several lines.\n ellipsisLabel: {\n display: 'block',\n maxWidth: 220,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n // #1787: expanded items are concatenated inside a single outer frame,\n // separated by vertical dividers, the last one closing the rounded border.\n concatenatedChips: {\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'stretch',\n border: `solid 1px ${theme.palette.grey[400]}`,\n borderRadius: 3,\n overflow: 'hidden',\n '& > *': {\n margin: 0,\n borderRadius: 0,\n borderRight: `solid 1px ${theme.palette.grey[400]}`,\n },\n '& > *:last-child': {\n borderRight: 'none',\n },\n },\n dimensionButton: {\n padding: 0,\n border: 'none',\n background: 'none',\n font: 'inherit',\n textAlign: 'start',\n cursor: 'pointer',\n minWidth: 0,\n maxWidth: '100%',\n },\n toggleButton: {\n minWidth: '20px',\n padding: theme.spacing(0.2),\n color: theme.palette.text.secondary,\n },\n list: {\n display: 'flex',\n flexDirection: 'column',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n overflowY: 'auto',\n overflowX: 'hidden',\n width: '100%',\n borderRight: `solid 1px ${theme.palette.divider}`,\n },\n tooltipNotice: {\n textDecoration: 'underline dotted',\n },\n tabSelected: {\n backgroundColor: `${theme.palette.action.hover} !important`,\n '&:hover': {\n backgroundColor: `${theme.palette.action.selected} !important`,\n },\n },\n tab: {\n '&:hover': {\n backgroundColor: `${theme.palette.action.selected}`,\n },\n },\n}));\n\n// Walks parentId upward through an index of the dimension's full values list\n// (keyed by hierarchicalId, same convention VirtualizedTree uses), returning\n// ancestors root-first, not including v itself.\nconst getAncestors = (indexedValues, v) => {\n const parent = R.prop(R.prop('parentId', v), indexedValues);\n if (R.isNil(parent)) return [];\n return R.append(parent, getAncestors(indexedValues, parent));\n};\n\n// A hierarchical dimension can list the same value more than once (e.g. a\n// country classified under two different regional groups), sharing `.id` but\n// with distinct hierarchicalId/parentId. Grouping by `.id` here is what makes\n// those render as one chip instead of two, and what makes toggling/clearing\n// them work: every downstream consumer (chip rendering, the N-items count,\n// handleClearAllSelections) reads this deduplicated output.\nconst getSelectedItems = (item, allSelection, labelRenderer) => {\n const dimId = R.prop('id', item);\n const values = R.propOr([], 'values', item);\n const toggledIds = R.propOr([], dimId, allSelection);\n\n const selected = R.filter(\n (v) => (R.includes(v.id, toggledIds) ? !v.isSelected : !!v.isSelected),\n values\n );\n\n const groups = R.values(R.groupBy(R.prop('id'), selected));\n const indexedValues = R.indexBy(getHierarchicalId, values);\n\n return R.map((group) => {\n const representative = R.head(group);\n if (R.length(group) <= 1) {\n return { id: representative.id, label: labelRenderer(representative), items: [] };\n }\n const parents = R.map(\n (occurrence) => R.append(occurrence, getAncestors(indexedValues, occurrence)),\n group\n );\n return {\n id: representative.id,\n label: labelRenderer(representative),\n items: [{ ...representative, parents }],\n };\n }, groups);\n};\n\n// An item can bypass the values/allSelection-driven computation above and\n// supply its own chip list directly (e.g. a period/frequency panel, whose\n// selection isn't a list of togglable values). Used by the tab loop below,\n// and by hasAnySelection/handleClearAllSelections so such an item still\n// participates in \"any selection\" detection and the header's clear-all.\nconst getItemSelectedItems = (item, allSelection, labelRenderer) =>\n R.has('selectedItems', item)\n ? R.propOr([], 'selectedItems', item)\n : getSelectedItems(item, allSelection, labelRenderer);\n\nconst TabPanel = (props) => {\n const {\n children,\n open,\n item,\n classes,\n labels,\n onClose,\n isNarrow,\n setOpen,\n labelRenderer,\n descriptionAccessor,\n HTMLRenderer,\n panelId,\n styles = {},\n ...other\n } = props;\n const drawerClasses = useStyles();\n const description = descriptionAccessor ? descriptionAccessor(item) : '';\n const hasDescription = !R.isEmpty(description || '');\n return (\n <section\n hidden={!open}\n id={panelId}\n aria-labelledby={dimensionLabelId(R.prop('id', item))}\n className={isNarrow ? classes.tabPanelNarrow : classes.tabPanel}\n style={{ width: R.prop('width', styles) }}\n {...other}\n >\n {open && (\n <Box sx={{ p: 3 }}>\n <Box\n display=\"flex\"\n justifyContent={isNarrow ? 'space-between' : 'flex-end'}\n alignItems=\"center\"\n >\n {isNarrow && (\n <Box display=\"flex\" justifyContent={'flex-start'} alignItems=\"center\">\n <IconButton\n onClick={() => setOpen(false)}\n data-testid=\"back_button\"\n aria-label={R.prop('back', labels)}\n sx={{\n padding: 0,\n float: 'left',\n justifyContent: 'flex-start',\n minWidth: '24px',\n }}\n size=\"large\"\n edge=\"start\"\n >\n <ArrowBack />\n </IconButton>\n <Tooltip\n title={\n !hasDescription ? (\n ''\n ) : R.isNil(HTMLRenderer) ? (\n description\n ) : (\n <HTMLRenderer html={description} />\n )\n }\n placement=\"top\"\n enterDelay={400}\n enterNextDelay={400}\n aria-label={description}\n disableHoverListener={!hasDescription}\n disableInteractive={R.isNil(HTMLRenderer)}\n >\n <Typography\n variant=\"h6\"\n aria-label={R.prop('title', labels)(labelRenderer(item))}\n tabIndex={0}\n className={cx({ [drawerClasses.tooltipNotice]: hasDescription })}\n sx={{\n margin: 0,\n padding: 0,\n }}\n >\n {R.prop('title', labels)(labelRenderer(item))}\n </Typography>\n </Tooltip>\n </Box>\n )}\n <IconButton\n onClick={onClose}\n aria-label={R.prop('cancel', labels)}\n sx={{\n color: 'grey !important',\n minWidth: '24px',\n padding: 0,\n float: 'right',\n }}\n size=\"large\"\n >\n <Close />\n </IconButton>\n </Box>\n {children}\n </Box>\n )}\n </section>\n );\n};\n\n// A dimension card: its name (a real button that opens the dimension panel)\n// plus the chips standing for what is currently selected on it. The card is a\n// list item, not a tab: it holds its own interactive controls (the chips'\n// delete icons, the show more/less toggle), which the ARIA tabs pattern\n// forbids inside a role=\"tab\" element.\nconst DimensionCard = React.forwardRef(\n (\n {\n label,\n labels,\n description = '',\n HTMLRenderer,\n selected,\n item,\n selectedItems,\n onDeleteValue,\n onDeleteAllDimValues,\n isEditMode,\n isOpen,\n onOpen,\n panelId,\n labelId,\n collapseThreshold = 6,\n removeAllThreshold = 2,\n labelRenderer,\n ...rest\n },\n ref\n ) => {\n const classes = useStyles();\n const chipClasses = useChipStyles();\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n const [expanded, setExpanded] = useState(false);\n const dimId = R.prop('id', item);\n const count = R.length(selectedItems);\n const showCollapseToggle = count >= collapseThreshold;\n const showRemoveAll = count >= removeAllThreshold && !showCollapseToggle;\n const hasDescription = !R.isEmpty(description);\n const chipsId = `${labelId}-chips`;\n // labels.nItems is what localises the count chip; the literal is only a\n // last-resort default for consumers that have not supplied it yet.\n const nItemsLabel = R.is(Function, R.prop('nItems', labels))\n ? labels.nItems(count)\n : `${count} items`;\n\n const toggle = (icon, text) => (\n <IconButton\n size=\"small\"\n aria-expanded={expanded}\n aria-controls={chipsId}\n onClick={(e) => {\n e.stopPropagation();\n setExpanded(!expanded);\n }}\n className={classes.toggleButton}\n >\n {icon}\n <Typography noWrap variant=\"body2\" className={classes.label}>\n {text}\n </Typography>\n </IconButton>\n );\n\n const valueChip = ({ id, label: itemLabel, items, isNotRemovable }) => (\n <CustomChip\n key={id}\n id={id}\n parentId={dimId}\n label={itemLabel}\n items={items}\n renderer={myTooltipRenderer({ isRtl, labelRenderer })}\n labelRenderer={labelRenderer}\n chipClasses={cx(chipClasses.secondaryChip, chipClasses.chip, classes.chipDeleteLeft)}\n iconClasses={chipClasses.icon}\n labelClasses={cx(chipClasses.spaceLabel, classes.ellipsisLabel)}\n title={R.is(String, itemLabel) ? itemLabel : undefined}\n onDelete={\n R.is(Function, onDeleteValue) && isEditMode && !isNotRemovable ? onDeleteValue : undefined\n }\n />\n );\n\n const countChip = (\n <CustomChip\n label={nItemsLabel}\n chipClasses={cx(chipClasses.mainChip, chipClasses.chip, classes.chipDeleteLeft)}\n labelClasses={cx(chipClasses.spaceLabel, chipClasses.formatLabel)}\n iconClasses={chipClasses.icon}\n onDelete={\n R.is(Function, onDeleteAllDimValues) && isEditMode\n ? () => onDeleteAllDimValues(dimId, selectedItems)\n : undefined\n }\n />\n );\n\n return (\n <Paper {...rest} ref={ref} className={cx(rest.className, classes.frame)}>\n <Box sx={{ display: 'flex', flexDirection: 'column', width: '100%' }}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', width: '100%' }}>\n <Tooltip\n title={\n !hasDescription ? (\n ''\n ) : R.isNil(HTMLRenderer) ? (\n description\n ) : (\n <HTMLRenderer html={description} />\n )\n }\n placement=\"top\"\n enterDelay={400}\n enterNextDelay={400}\n aria-label={description}\n disableHoverListener={!hasDescription}\n disableInteractive={R.isNil(HTMLRenderer)}\n >\n <button\n type=\"button\"\n id={labelId}\n aria-label={R.is(String, label) ? label : undefined}\n className={classes.dimensionButton}\n aria-expanded={isOpen}\n aria-controls={panelId}\n onClick={(e) => {\n e.stopPropagation();\n onOpen();\n }}\n >\n <Typography\n noWrap\n variant=\"body2\"\n title={hasDescription ? undefined : label}\n className={cx(classes.label, {\n [classes.labelSelected]: selected,\n [classes.tooltipNotice]: hasDescription,\n })}\n >\n {label}\n </Typography>\n </button>\n </Tooltip>\n </Box>\n <Box sx={{ mt: 0.5, display: 'flex', flexWrap: 'wrap', alignItems: 'center', gap: 0.5 }}>\n {R.isEmpty(selectedItems) ? (\n <CustomChip\n label={R.propOr('All items', 'allItems', labels)}\n chipClasses={cx(chipClasses.mainChip, chipClasses.chip)}\n labelClasses={cx(chipClasses.spaceLabel, chipClasses.formatLabel)}\n iconClasses={chipClasses.icon}\n />\n ) : showCollapseToggle ? (\n <>\n {/* the count chip stays put once expanded (#1787): expanding\n adds the values below it, it does not replace it */}\n {countChip}\n {expanded\n ? toggle(<Remove fontSize=\"small\" />, R.propOr('Show less', 'showLess', labels))\n : toggle(<Add fontSize=\"small\" />, R.propOr('Show more', 'showMore', labels))}\n {expanded && (\n <Box id={chipsId} className={classes.concatenatedChips}>\n {R.map((chip) => valueChip(chip))(selectedItems)}\n </Box>\n )}\n </>\n ) : (\n <>\n {showRemoveAll && isEditMode && (\n <CustomChip\n label={R.propOr('Remove all', 'removeAll', labels)}\n chipClasses={cx(\n chipClasses.mainChip,\n chipClasses.chip,\n classes.chipDeleteLeft,\n classes.removeAllChip\n )}\n labelClasses={cx(chipClasses.spaceLabel, chipClasses.formatLabel)}\n iconClasses={chipClasses.icon}\n onDelete={\n R.is(Function, onDeleteAllDimValues)\n ? () => onDeleteAllDimValues(dimId, selectedItems)\n : undefined\n }\n />\n )}\n {R.map((chip) => valueChip(chip))(selectedItems)}\n </>\n )}\n </Box>\n </Box>\n </Paper>\n );\n }\n);\n\n/**\n * Vertical drawer used to select values across a list of dimensions.\n *\n * Pending selections are held in component state until they are applied. By\n * default the drawer renders its own header above the list: a title plus an\n * \"Edit\" button (opens the first dimension) that becomes a \"Clear all filters\"\n * button (discards pending selections, without touching what is already\n * applied) once a panel is open. Configure its copy via `labels.filtersTitle`,\n * `labels.edit`, and `labels.clearAllFilters`.\n *\n * @param {Object} props\n * @param {*} [props.clearSelectionKey] - Changing this value clears the pending\n * selection of every dimension, the same action the built-in header's \"Clear\n * all filters\" button performs. Useful for a consumer-rendered control\n * outside the drawer. The value on first render never clears, so an\n * undefined or constant key leaves the drawer's behaviour unchanged.\n * @param {React.ReactNode} [props.header] - Overrides the built-in header\n * entirely. Rendered above the dimension tabs, inside the drawer's focus\n * trap and above the overlay that closes it, so controls placed here stay\n * usable, by pointer and by keyboard, while a panel is open.\n * @param {Object} props.labels - Drawer copy. `labels.nItems(count)` localises\n * the collapsed count chip, `labels.allItems`, `labels.removeAll`,\n * `labels.showMore` and `labels.showLess` the other chip controls.\n * @param {Array} props.list - Dimensions, each `{ id, values, ... }`. An item\n * whose selection isn't a list of togglable values (e.g. a time period)\n * can instead supply `selectedItems` directly — an array of\n * `{ id, label, items, isNotRemovable? }` chips, bypassing the\n * values/allSelection-driven computation used for the rest of the list.\n * Pair it with `onDeleteValue(dimId, ids)` and/or\n * `onDeleteAllDimValues(dimId, items)` on the same item to handle deleting\n * one chip or all of them (falling back to the drawer's own handlers when\n * omitted); a chip marked `isNotRemovable` never shows a delete icon. Such\n * an item still participates in `hasAnySelection` and the header's \"Clear\n * all filters\" (via its own `onDeleteAllDimValues`, if provided).\n */\nexport const DynamicDrawer = (props) => {\n const classNames = useStyles();\n const [open, setOpen] = useState(false);\n const [openPopup, setOpenPopup] = useState(false);\n const [selectedId, setSelectedId] = useState(null);\n const [selection, setSelection] = useState({});\n const [allSelection, setAllSelection] = useState({});\n const allSelectionRef = useRef(allSelection);\n allSelectionRef.current = allSelection;\n\n const {\n list,\n labelRenderer,\n descriptionAccessor,\n HTMLRenderer,\n onClick,\n handleChangePanel,\n onClosePanel,\n isNarrow,\n labels,\n disableAccessor = R.always(false),\n isApplyHiddenNarrow = true,\n openTabId,\n expandAll,\n collapseAll,\n expandedIds,\n allItems,\n periodPanel,\n classes,\n testId = 'tabs',\n // the per-tab counter tag these fed was replaced by the applied-filter\n // chips; still destructured so a consumer passing them does not have them\n // spread onto AdvancedSelection\n tagAccessor,\n tagAriaLabel,\n children,\n styles = {},\n collapseThreshold = 6,\n clearSelectionKey,\n header,\n ...rest\n } = props;\n\n // Toggling an id here means \"flip its selected state relative to its baked-in\n // default\", matching how AdvancedSelection's onChangeSelection populates\n // allSelection[dimId] from checkbox clicks (see selectionItems in AdvancedSelection.jsx).\n const toggleOffSelection = (dimId, valueIds) => {\n const currentIds = R.propOr([], dimId, allSelectionRef.current);\n const currentMap = R.zipObj(currentIds, currentIds);\n return R.reduce(\n (acc, id) => (R.has(id, acc) ? R.dissoc(id, acc) : R.assoc(id, id, acc)),\n currentMap,\n valueIds\n );\n };\n\n // Toggles off every currently-selected item across every dimension, so items\n // selected via baked-in defaults end up deselected too, not just this\n // session's pending toggles. Starts from the existing selection (not {})\n // and leaves untouched dimensions as-is, so a dimension already cleared by\n // a previous call keeps its toggled-off state instead of losing it and\n // reverting to its baked-in defaults.\n const handleClearAllSelections = () => {\n const nextAllSelection = R.reduce(\n (acc, item) => {\n const dimId = R.prop('id', item);\n if (R.has('selectedItems', item)) {\n const items = R.propOr([], 'selectedItems', item);\n if (!R.isEmpty(items) && R.is(Function, item.onDeleteAllDimValues)) {\n item.onDeleteAllDimValues(dimId, items);\n }\n return acc;\n }\n const selectedValueIds = R.pluck(\n 'id',\n getSelectedItems(item, allSelectionRef.current, R.identity)\n );\n if (R.isEmpty(selectedValueIds)) return acc;\n const nextMap = toggleOffSelection(dimId, selectedValueIds);\n const nextIds = R.values(nextMap);\n return R.isEmpty(nextIds) ? R.dissoc(dimId, acc) : R.assoc(dimId, nextIds, acc);\n },\n allSelectionRef.current,\n list\n );\n const openDimIds = R.propOr([], selectedId, nextAllSelection);\n setAllSelection(nextAllSelection);\n setSelection(R.zipObj(openDimIds, openDimIds));\n };\n\n // Consumers clear every dimension's selection (baked-in or pending) by\n // changing this key. This is the same action the built-in header's \"Clear\n // all filters\" button performs.\n const clearSelectionKeyRef = useRef(clearSelectionKey);\n useEffect(() => {\n if (clearSelectionKeyRef.current === clearSelectionKey) return;\n clearSelectionKeyRef.current = clearSelectionKey;\n handleClearAllSelections();\n }, [clearSelectionKey]);\n useLayoutEffect(() => {\n if (!openTabId) return;\n const item = R.find((listItem) => R.prop('id', listItem) === openTabId)(list);\n if (item && (selectedId !== openTabId || !open)) {\n const id = R.prop('id', item);\n const filterSelection = R.pipe(R.propOr([], id), (arr) => R.zipObj(arr, arr))(allSelection);\n startTransition(() => {\n setSelection({ ...filterSelection });\n setSelectedId(id);\n setOpen(true);\n });\n }\n }, [openTabId, list, allSelection, selectedId, open]);\n\n const handleChange = (e, item) => {\n const id = R.prop('id', item);\n const filterSelection = R.pipe(R.propOr([], id), (arr) => R.zipObj(arr, arr))(allSelection);\n setSelection({ ...filterSelection });\n handleChangePanel(id, selection, allSelection);\n setSelectedId(id);\n setOpen(true);\n };\n const applyDeselection = (dimId, valueIds) => {\n const nextMap = toggleOffSelection(dimId, valueIds);\n const nextIds = R.values(nextMap);\n const newAllSelection = R.isEmpty(nextIds)\n ? R.dissoc(dimId, allSelectionRef.current)\n : R.assoc(dimId, nextIds, allSelectionRef.current);\n setAllSelection(newAllSelection);\n if (dimId === selectedId) {\n setSelection(nextMap);\n }\n };\n\n const handleDeleteValue = (dimId, valueIds) => {\n applyDeselection(dimId, valueIds);\n };\n const handleDeleteAllDimValues = (dimId, values) => {\n applyDeselection(dimId, R.pluck('id', values));\n };\n\n const handleSubmit = () => {\n onClick(allSelection);\n setAllSelection({});\n setSelection({});\n setOpen(false);\n setSelectedId(null);\n onClosePanel();\n };\n const handleSubmitPopup = () => {\n handleSubmit();\n setOpenPopup(false);\n };\n const handleClosePopup = () => {\n setOpen(false);\n setOpenPopup(false);\n setAllSelection({});\n setSelection({});\n setSelectedId(null);\n onClosePanel();\n };\n const handleClose = () => {\n if (!R.isEmpty(selection) || !R.isEmpty(allSelection) || !isApplyHiddenNarrow) {\n setOpenPopup(true);\n } else {\n handleClosePopup();\n }\n };\n\n const filter = useMemo(() => {\n if (!selectedId) return {};\n return R.find((item) => R.prop('id', item) === selectedId)(list);\n }, [selectedId, list]);\n\n const isHidden = open && isNarrow;\n // A panel being open is what puts the drawer in edit mode: chips become\n // deletable and the page behind is covered. Whether anything has actually\n // been modified is a separate question, and the one that governs the Apply\n // button — \"Apply only appears after a modification\" (#1789).\n const hasPendingModification = !R.isEmpty(allSelection) || !isApplyHiddenNarrow;\n const isEditMode = open && !isNarrow;\n const isApplyShown = isEditMode && hasPendingModification;\n const isNotHiddenButton = hasPendingModification && isNarrow;\n const panelId = panelDomId(testId);\n\n const hasAnySelection = R.any(\n (item) => !R.isEmpty(getItemSelectedItems(item, allSelection, R.identity)),\n list\n );\n\n const defaultHeader = !isNarrow && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '4px 8px',\n }}\n >\n <Typography variant=\"body2\">{labels.filtersTitle || 'Filters'}</Typography>\n {open ? (\n hasAnySelection && (\n <Button size=\"small\" variant=\"text\" color=\"primary\" onClick={handleClearAllSelections}>\n {labels.clearAllFilters || 'Clear all filters'}\n </Button>\n )\n ) : (\n <Button\n size=\"small\"\n variant=\"text\"\n color=\"primary\"\n onClick={() => handleChange(null, R.head(list))}\n >\n {labels.edit || 'Edit'}\n </Button>\n )}\n </Box>\n );\n\n useEffect(() => {\n if (isEditMode) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n return () => {\n document.body.style.overflow = '';\n };\n }, [open, isNarrow]);\n\n return (\n <FocusTrap open={open}>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n {isEditMode && (\n <Box\n onClick={() => handleClose()}\n sx={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100vw',\n height: '100vh',\n zIndex: 990,\n }}\n />\n )}\n <WarningPopup\n open={openPopup}\n handleClose={handleClosePopup}\n handleSubmit={handleSubmitPopup}\n labels={labels}\n />\n <div\n style={{\n display: isHidden ? 'none' : 'flex',\n flexDirection: 'column',\n width: '100%',\n // the closing overlay below is positioned, so it would paint over a\n // static header whatever the dom order: lift the whole column above it\n position: 'relative',\n zIndex: 1000,\n }}\n >\n {header || defaultHeader}\n {/* a list of dimension cards, not a tablist: each card carries its\n own interactive controls, which role=\"tab\" does not allow */}\n <Box\n component=\"ul\"\n aria-label=\"filters\"\n data-testid={testId}\n className={classNames.list}\n sx={{\n display: isHidden ? 'none' : 'flex',\n height: isEditMode ? R.prop('height', styles) : '100%',\n zIndex: 1000,\n }}\n >\n {R.map((item) => {\n const id = R.prop('id', item);\n const selectedItems = getItemSelectedItems(item, allSelection, labelRenderer);\n\n return (\n <Box component=\"li\" key={id} sx={{ display: 'flex' }}>\n <DimensionCard\n data-testid={`${id}-tab`}\n onClick={(e) => handleChange(e, item)}\n labels={labels}\n label={labelRenderer(item)}\n labelRenderer={labelRenderer}\n isEditMode={isEditMode}\n isOpen={open && selectedId === id}\n onOpen={() => handleChange(null, item)}\n panelId={panelId}\n labelId={dimensionLabelId(id)}\n description={descriptionAccessor ? descriptionAccessor(item) : ''}\n HTMLRenderer={HTMLRenderer}\n selected={selectedId === id}\n item={item}\n selectedItems={selectedItems}\n onDeleteValue={item.onDeleteValue || handleDeleteValue}\n onDeleteAllDimValues={item.onDeleteAllDimValues || handleDeleteAllDimValues}\n collapseThreshold={collapseThreshold}\n className={cx(classNames.tab, {\n [classNames.tabSelected]: R.prop('id', filter) === id,\n })}\n sx={{\n alignItems: 'start',\n width: '100%',\n maxWidth: '100%',\n textTransform: 'none',\n // MUI's Tab used to supply this padding; the card is a\n // plain Paper now, so it carries its own\n padding: '12px 16px',\n }}\n />\n </Box>\n );\n })(list)}\n </Box>\n {(isApplyShown || isNotHiddenButton) && (\n <Button\n style={{ float: 'bottom', margin: '10px' }}\n aria-label={R.prop('apply', labels)}\n id=\"apply_button\"\n variant=\"contained\"\n onClick={handleSubmit}\n >\n {R.prop('apply', labels)}\n </Button>\n )}\n </div>\n <TabPanel\n item={filter}\n panelId={panelId}\n data-testid={`${testId}_panel`}\n open={open}\n labels={labels}\n classes={classes}\n onClose={handleClose}\n isNarrow={isNarrow}\n setOpen={setOpen}\n labelRenderer={labelRenderer}\n descriptionAccessor={descriptionAccessor}\n HTMLRenderer={HTMLRenderer}\n styles={styles}\n >\n {R.equals(R.prop('id', filter), periodPanel) ? (\n children\n ) : (\n <AdvancedSelection\n id={selectedId}\n items={R.prop('values', filter) || []}\n isOpen={open}\n labelRenderer={labelRenderer}\n disableAccessor={disableAccessor ? R.pipe(R.prop('isEnabled'), R.not) : undefined}\n labels={labels}\n isNarrow={isNarrow}\n expandAll={expandAll}\n collapseAll={collapseAll}\n expandedIds={expandedIds}\n allItems={allItems}\n selection={selection}\n setSelection={setSelection}\n setAllSelection={setAllSelection}\n allSelection={allSelection}\n HTMLRenderer={HTMLRenderer}\n {...rest}\n filter={filter}\n />\n )}\n </TabPanel>\n </div>\n </FocusTrap>\n );\n};\n"],"names":["useStyles","IconButton","AdvancedSelection"],"mappings":"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"}
1
+ {"version":3,"file":"DynamicDrawer.js","sources":["../../src/DynamicDrawer/images/single-selection.png","../../src/DynamicDrawer/images/children-selection.png","../../src/DynamicDrawer/images/branch-selection.png","../../src/DynamicDrawer/images/level-selection.png","../../src/DynamicDrawer/SelectionModesMobile.jsx","../../src/DynamicDrawer/AdvancedSelection.jsx","../../src/DynamicDrawer/WarningPopup.jsx","../../src/DynamicDrawer/DynamicDrawer.jsx"],"sourcesContent":["export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAEMUlEQVR4Ae3dPY+bMBgH8Fvybe5bZMoXytItn6AbU5lyE0gdMoWJqYluyGZ1yUaHm05yOxytepeqQrIgckj8+MFv+VsMQGxjfn7BcAn3MFsUWFgEHmaLYr6sV2uBhSwwX9azRfGfcrUWJwQLgdVagNLCr5cUlD0Mu1VQ2vn1UoOyh2G3Cko7v15qUPYw7FZBaefXSw3KHobdKijt/HqpQdnDsFsFpZ1fLzUoexh2q1aU7y/PSS4fr98JqnTKj18/3taPSS5/vn0CJU/VgpLH8W39CEpQhjfgolWiVaJVYjJ0NmHCvFIzLGCs1KDQ7iCcU/7++ff4Ncnl/eX5rPPesknv4LfkfldxQMlW3aAEJZsAW0auW6WUUgQfmqYhALumFEJ8Dj5UVQVKnlqKjDLP821goSzLrioio6QVl9Dvbk/SNA0ob+caiwnKMR2jz0BpxDUWOVbKLMvy8EKUYyXPtGWaXGiXREzRNbURB2XbtjL40Lbt2Jh64TPXrfJCMVLYDUq2WgQlKNkE2DIKulUej8fKRxCC8svZoCl3u51mqjL9rjgmQ0bdCZRGXGORFeVms3HwV4y6rrsWn3Kr3O12Y+RMn0X2OMPorFWrBKWRmyYyKDUotF2gpLlpUinK6ec/gyOkfNkZnOj0G6BkM06QUtPnA94V9I1jwG6aooFSg0LbBUqamyYVKDUotF1BUwohSh+Bdp8aNCWm6LT+oUkFSg0KbZei3G63zfThcDh0s/wEp+iKkjZ4mdYfnleail2MD8qLNKYf3AVlVVXTD5XNXYyVbM98bsso5cvObQJssRKkFEIUPsLhcDAdZ0+nU9B3O4Tz8ZgElGz4oAQlmwBbRmiV0VLiR8xsVQdKUF4XcD1WqlZJu6O4fkIWMSJ7nAFKi7oeJgXl0MNiC5QWeMOkirIsSwdfLzc6xH6/7x4u0cZxb5cdtidiE2QESjbUOCibpgnslTia4iT4a7LhMBv6luuxMnQPi/KB0gJvmBSUQw+LLSvK4F+CQSyg63dnSCnZZh+BZeR6MgTKs8GA3sEVZZZlX5IIWZZ13cNbqyyK4qx+It309rxStUpQdk2HoYODEpTn45D/Dp5lmY832PAfc7PZeL7sBDYpZCiOtys4Q9kDy8I1Zdu2Ro/7I4ocx9v6z4f6hLbpk6GEEHhOBZQ8jvgCNZujB0r8kxi22lNfKQhs/jMojuvJEE0XlDQ3TSpFiX8So9Ex2qUoaZ3I6Fimkb09zjAtaBcflDQ3TSpQalBou0BJc9OkUpR5nvt4783YMZ+enro5EW0cd33jqCgHE7nANkDJViFxUEopHby6wfIQUkrN2HRtl+sOfq08EX8OSrbKAyUo2QTYMkKrBCWbAFtGaJWgZBNgywitEpRsAmwZoVWCkk2ALSO0ygko58t6tRZYyALzZT1bFA+zRYGFReAfqhQA2zKS9CAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAEEElEQVR4Ae3dv2rbQBwH8Cx+m7yFJz9H3sFLN+8t3TTVELAnGTp4srKoSw0JGDIcXQwJqIPJ0HCtS9zQRKUYxCGO6PS7n+5O5++hQVLuTvLnfvdHjuOcDUYpNhaBs8EoHY7zyUxgIwsMx/lglP6nnMxEiWQhMJkJUFr4KUVBqWDY7YLSzk8pDUoFw24XlHZ+SmlQKhh2u6C081NKg1LBsNsFpZ2fUhqUCobdLijt/JTSoFQw7HatKF9211Furz++EVTplK+/vj/NzqPcnr++AyVP04KSx/Fpdg5KUIY34CIqEZWISiyGagsmrCs1wwLGSg0K7QnCOeWfn3+3n6PcXnbXtc5rckjv4Ca1n1QeULI1NyhBySbAVpHrqLzb7S+v7gLfvtw+EIBdU15mdywfY+y0kosPN6Dk+cAtKHkcB6MUlKAM72PwiEpEJaKSsFwoyxKLIZqbphQoNSi0U6CkuWlKPe6f73e/A98e98+aW2865frBsel+evxzULI1HihBySbAVlHQUbndbjMfSQjKX84GTblerz/6SFmWEWIVlJq2iplyuVyK7lOe50fXmCnX6zWhx7UtUhQFKNui6fODUu9COAtKApq+yElQambZLk/FPO106aapG5QaFNqpCCn1Q1qoZ4N+2gkVTX9foNS7EM6CkoCmLwJKvQvhbNCUQoiFj0R75A+aEu9XEjqHvggo9S6EsxXlarUquk+bzea4pI9wiV5R0gavto13Em9ngLJtWNTzIyrrIuTjijLLsu6HyuIkxkraGzzkUjFPO2QUWsEIKYUQqY+02WwIg1LQTzuE1+OxCCjZ8EEJSjYBtooQlb2lxF9IsDUdKEHZLOB6rERUNreJYQ5QGkI1ZwNls5FhDlAaQjVnA2WzkWEOUBpCNWcDZbORYY789uHi/U3g2+XVveHLUbO5Xleq145sH5RsDQpKULIJsFVkFZUy0nQ4HAjAdEopJe1Xo+GXcv3LW1DWIpchKpMk+RRFSpLk2GO8RWWaprX26emhtw8FVh0clMfQYejgoARlfRzy38GTJPHxDTb811wul56nnfDXiW3v0NsM3vZGw8/vmvJwOHT/fTV+rlAURX0cNTimz+AGlZ9WFlCytTcoQckmwFaR66iUUvqZStpctR/TjhACiyGejgBKHseyLCvK6XS6CiwtFotjj3G9RKfpVpS026Vd1LCUt7czDO+vlg2UNRD6ISjpdrWSoKyB0A8ryul06uN7b9665nw+7+W0E/LqkjYlun7aqaISlPSufSwppXTw1Q2Wl5BSEl6n66gk3GJfioCSraVACUo2AbaKEJWgZBNgqwhRCUo2AbaKEJWgZBNgqwhRCUo2AbaKEJUdUA7H+WQmsJEFhuN8MErPBuH96/ie3tI/t0x8FMP3CcUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAD4klEQVR4Ae3cMWvbQBQH8Cz+NvkW7uLP4e/gDt28N5Qummow2JMMKXiqvahLhnjKIAqlYINaMBkarnWJa5qoBIEtgvLi9+7pdFL+xw2q7t31/Ltn+SQcn7Q6IaqKwEmrE7Z7UX8Uo4oF2r2o1QkfKPujOEWxEOiPYlBa+OW6gjKHYXcISju/XG9Q5jDsDkFp55frDcocht0hKO38cr1BmcOwOwSlnV+uNyhzGHaHoLTzy/UGZQ7D7tCK8m592ch6//OLQFVOef/7++3otJF1d/EGlDpLC0odx9vRKShB6d8FF1mJrERWYjP0aMOEfWXBZQHXygIU2R2Ec8q/v/59O29kvVtfPnrzHvNP+Rv8mNFfVAwo1ZYblKBUE1AbyHVWLteb4Xzpef18dS0Adk05nC1VvsZY6iDdswUodb5wC0odx1YnBCUo/fsaPLISWYmsFGwX0jTFZkjmVtALlAUoslOglLkV9LrZ7FbrP57Xm82uYOrPnXJ94/jcfGrcDkq1xQMlKNUE1AbyOis/Xvzoni3c1+F8JQD2mjKbXKmPJgsHr8c9OGu1QcniooJBSemw2kDJ4qKCQUnpsNpAyeKigkFJ6bDaQMniooJBSemw2kDJ4mpOcLbw+MkmhRUFpQJiNgQoQakmoDaQ11k5nK9evY7cV9kv/XlNmU2u8JFiqSfxvPKFfWeIdWVCVrK4qGBQUjqsNlCyuKhgUFI6rDZQsrioYFBSOqw2ULK4qODhbNnuRe7r+/Ov1LSeaMsWHg/ZnuDhnAYlR4uMBSXJw2kEJUeLjAUlycNpdE2Jv5DgrA4ZC0qSh9MISo4WGQtKkofTCEqOFhkLSpKH0whKjhYZC0qSh9MISo4WGQtKkofTGF1dd98uPK8N/GsyzhpVH+v6Hrz6V1zaDECpRgtKPyhNQ8t2uxUAy7PSGPOuoWU2m4FSZ20rowyC4EMjShAE2VJURhmGoeDt4GGXJElAqbMuoNRxTNMUlA2iDIJg1ogynU4rvlbqbEB8GqWyT3CfEHTm4ppyu93GDS1JkgguwPIbR8F/1uwuoFRbX1CCUk1AbSDXWWmM8f+zqh4fO3Ec62xYyhzF9WZI9sYApcytoNeecjAYfPKsTCaTLNdrlpWy6RYsjt6pyp4MyV7CPitBKQM89ALlwcLyCJSWgIfue8rBYDDxrIzH41p+7JS5L7QdW3Ydd323s89K25dbZv96UBpjEu+LMeZwSTr6yHVWHj2x+gWCUm3NQAlKNQG1gZCVoFQTUBsIWQlKNQG1gZCVoFQTUBsIWQlKNQG1gZCVJVC2e1F/FKOKBdq9qNUJH34pEFVF4D/hsYhLBy7VNQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAD/klEQVR4Ae3dP2vbQBgG8Cz+NvkWnvw58h28dPPe0k1Th4AzqZDBU5RFXWpowJDhNoMLImC8ORjilDQqxSAu1qskeu716Xx5xA3ySe/58rtX/yzHOukNUhYVgZPeIO0P89HYsMAC/WHeG6T/KUdjU3JyEBiNDSkd/KxQUloYbrOkdPOzoklpYbjNktLNz4ompYXhNktKNz8rmpQWhtssKd38rGhSWhhus6R087OiSWlhuM06URaRTqvVClDFKdfr9ddIpyzLSKkztp1RJkmSRjFdXFzshqIzyjRNgc0hwJCiKEipMy6k1HEsy5KUEVEmSZJFMU0mk473lTonICG10tkRPCQEnb74ptxutybSqSgKYAeMXzgCbxZ3CCnVxpeUpFQTUGvId1Y+b+6e5peBl7/LXwCwb8qn+eXD+DTw8ufnJ1LqDBIpdRwfxqekJGV4u05mJbOSWQmcLpRlyZMhzE2IIqWAglWREnMTop4f7583d6GXx3uh629V+b5wfKs/R7yclGqDR0pSqgmoNRR0Vs7n805usBuD/Ods0JTT6VTnbmzLVnzfvFXbMJobImWzTcslFeVkMvFwyz3P8136xpyV0+m05Sggq3f2TTaksy1jqqwkZUu52uqkrJGgFaRE5WpxFWXLkxnX1WM+7LjatIwnZUuw5tUjpKxt8UFXBH3hGLRcrXOkrJGgFaRE5WpxpKyRoBVBUxpjvncxYdepQVPyFB3dQmpxpKyRoBUV5dXVlYfflpjNZrvT9ghP0StKbOfVdgT5eWVbscb1SdlI03bBh6DMsoz7yraZ8WL9al/Z/CHOQZbEfNg5CFhzoxFSGmM6+dWd2Wz2Yut434ugr3be9yeEshYp1UaClKRUE1BriFl5tJTn2ULlWSwHbeTsyw0A7DsrSQkMkhxCStkFqCUlgCaHkFJ2AWpJCaDJIaSUXYBaUgJocggpZReglpQAmhyS367OPt8EXs6vf8u9f7XW99XOq5057oWkVBs/UpJSTUCtIaesXEc6bbdbABin5ENi9rhJKdwO930fvMrKJEm+RTElSbJz7YySD4nZbekKGzgpSbl32OBDYvZB8Nedfb/SPux08hM26m/Kh8QIZzOOVZ0dwR37HWC4b0o+JGZvr4yfDO01xJekVMsBUpJSTUCtId9ZuVhuzq8XgZcft34fao2NJm/eYm5CFCkFFKyKlJibEEVKAQWrIiXmJkSRUkDBqkiJuQlRpBRQsCpSYm5CFCkFFKxqsdzkt6vAy2K5Af4639fgQBePJYSUaiNFSlKqCag1xKwkpZqAWkPMSlKqCag1xKwkpZqAWkPMSlKqCag1xKw8AGV/mI/GhgUW6A/z3iA9OegvIH2oxv8BrKHQ/zYsUVYAAAAASUVORK5CYII=\"","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Box from '@mui/material/Box';\nimport Paper from '@mui/material/Paper';\nimport Typography from '@mui/material/Typography';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { Button } from '../Button/Button';\n\nconst mapIndexed = R.addIndex(R.map);\nconst ButtonCarousel = ({ selectionModes, selectionMode, setSelectionMode, classes }) => {\n return (\n <Box\n sx={{\n overflowX: 'auto',\n overflowY: 'hidden',\n whiteSpace: 'nowrap',\n display: 'block', // allow horizontal scrolling\n width: '100%',\n maxWidth: '100%',\n '&::-webkit-scrollbar': { display: 'none' }, // optional: hide scrollbar\n scrollbarWidth: 'none',\n }}\n >\n {mapIndexed(\n ({ value, label, img }) => (\n <Tooltip\n key={value}\n classes={{ tooltip: classes.tooltip }}\n title={<img style={{ width: '72px', height: '90px' }} src={img} alt={value} />}\n tabIndex={-1}\n >\n <Button\n className={cx(classes.selectButton, classes.selectButtonNarrow)}\n selected={value === selectionMode}\n onClick={() => {\n setSelectionMode(value);\n }}\n aria-pressed={value === selectionMode}\n aria-label={label}\n tabIndex={0}\n sx={{\n flex: '0 0 auto', // Prevents buttons from shrinking\n scrollSnapAlign: 'center',\n minWidth: 40, // Minimum width for buttons\n whiteSpace: 'wrap',\n }}\n >\n <Paper elevation={0} className={classes.selectModeItem} key={value}>\n <Typography>{label}</Typography>\n {!R.isNil(img) && R.is(String, img) && <img src={img} alt={value} />}\n </Paper>\n </Button>\n </Tooltip>\n ),\n selectionModes\n )}\n </Box>\n );\n};\n\nexport default ButtonCarousel;\n\nButtonCarousel.propTypes = {\n selectionModes: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n img: PropTypes.string,\n })\n ).isRequired,\n selectionMode: PropTypes.string.isRequired,\n setSelectionMode: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport {\n getEvolvedDisableAccessor,\n getHierarchicalId,\n getScopeGetters,\n} from '../VirtualizedTree/utils';\nimport IconButton from '@mui/material/Button';\nimport Paper from '@mui/material/Paper';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { Button } from '../Button/Button';\nimport { Spotlight } from '../Spotlight/Spotlight';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { VirtualizedTree } from '../VirtualizedTree/VirtualizedTree';\nimport { withExpansionTree } from '../VirtualizedTree/withExpansionTree';\nimport { withSpotlight } from '../VirtualizedTree/withSpotlight';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { EmojiObjects } from '@mui/icons-material';\nimport singleImg from './images/single-selection.png';\nimport childrenImg from './images/children-selection.png';\nimport branchImg from './images/branch-selection.png';\nimport levelImg from './images/level-selection.png';\nimport Divider from '@mui/material/Divider';\nimport ButtonCarousel from './SelectionModesMobile';\n\nconst useStyles = makeStyles((theme) => ({\n header: {\n color: 'black',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n },\n headerLabel: {\n fontSize: '16px',\n fontFamily: 'PT Sans Narrow',\n fontWeight: '700',\n color: theme.palette.grey[700],\n },\n selectionTitle: {\n fontSize: '12px',\n fontFamily: \"'Helvetica Neue', Helvetica, Arial, sans-serif\",\n fontWeight: '500',\n color: theme.palette.grey['A700'],\n },\n closeButton: {\n color: 'grey !important',\n padding: 0,\n },\n selectMode: {\n marginLeft: 10,\n '& .MuiInputBase-root': {\n height: 32,\n },\n },\n narrowTop: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n },\n spotlight: { width: '45%' },\n selection: {\n display: 'flex',\n alignItems: 'center',\n },\n narrowSpotlight: { width: '100%' },\n selectionButton: {\n marginLeft: 24,\n marginRight: 15,\n height: 32,\n },\n narrowSelectionButton: {\n height: 32,\n marginTop: 15,\n marginRight: 10,\n },\n selectionMenu: {\n padding: 24,\n },\n narrowSelectionMenu: {\n width: '100%',\n },\n selectModeContainer: {\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n alignItems: 'flex-start',\n },\n selectButtonNarrow: {\n width: 160,\n height: 50,\n border: `1px solid ${theme.palette.primary.light}`,\n margin: 5,\n },\n selectButton: {\n color: theme.palette.primary.main,\n '&:hover': {\n color: theme.palette.primary.main,\n backgroundColor: theme.palette.action.hover,\n },\n },\n selectModeItem: {\n boxShadow: 'none',\n display: 'flex',\n backgroundColor: 'transparent',\n flexDirection: 'row-reverse',\n alignItems: 'center',\n '& p': {\n paddingLeft: '5px',\n fontSize: '12px',\n fontFamily: \"'Helvetica Neue', Helvetica, Arial, sans-serif\",\n color: theme.palette.primary.main,\n fontWeight: '500',\n lineHeight: 1.43,\n textAlign: 'left',\n },\n '& img': {\n width: 21,\n height: 30,\n },\n },\n hint: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n marginRight: 7,\n color: theme.palette.primary.main,\n },\n divider: {\n backgroundColor: theme.palette.primary.light,\n },\n actions: {\n justifyContent: 'flex-end',\n },\n ellipsis: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n tooltip: {\n backgroundColor: theme.palette.action.hover,\n },\n subheader: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n },\n narrowHeader: {\n alignItems: 'flex-start',\n width: '100%',\n },\n topElements: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n}));\n\nconst AdvancedSelection = (props) => {\n const {\n id,\n items,\n labelRenderer,\n isNarrow,\n labels,\n disableAccessor = R.always(false),\n expandAll,\n collapseAll,\n selection,\n setSelection,\n allSelection,\n setAllSelection,\n spotlight,\n setSpotlight,\n expandedIds,\n allItems,\n filter,\n ...rest\n } = props;\n const [selectionMode, setSelectionMode] = useState('single');\n const classes = useStyles();\n const getTotal = (totalItems, spotlightAcc) => {\n const itemsIds = R.pluck('id', totalItems);\n const total = R.pipe(R.uniq, R.length)(itemsIds);\n if (R.is(Function, spotlightAcc)) {\n return spotlightAcc(total);\n }\n return total;\n };\n\n const selectionItems = R.map((item) => {\n const selectedIds = R.propOr([], id, allSelection);\n return {\n ...item,\n isSelected: R.includes(item.id, selectedIds) ? !item.isSelected : !!item.isSelected,\n };\n }, items);\n const indexedFilteredItems = R.indexBy(getHierarchicalId, selectionItems);\n\n const selectionOptions = [\n {\n value: 'single',\n label: R.prop('singleSelection', labels),\n img: singleImg,\n },\n {\n value: 'children',\n label: R.prop('childrenSelection', labels),\n img: childrenImg,\n },\n\n {\n value: 'branch',\n label: R.prop('branchSelection', labels),\n img: branchImg,\n },\n {\n value: 'level',\n label: R.prop('levelSelection', labels),\n img: levelImg,\n },\n ];\n\n const _allGroupedItems = R.pipe(\n R.map((item) => ({\n ...item,\n isSelected: R.has(item.id, selection) ? !item.isSelected : !!item.isSelected,\n })),\n R.groupBy(R.propOr('#ROOT', 'parentId'))\n )(allItems);\n\n const isChildInSelectionScope = (child, ancestor) => {\n if (!R.has(getHierarchicalId(child), indexedFilteredItems)) {\n return false;\n }\n if (selectionMode === 'single' || selectionMode === 'level') {\n return false;\n }\n if (selectionMode === 'children') {\n return child.parentId === getHierarchicalId(ancestor);\n }\n return true;\n };\n\n const _disableAccessor = getEvolvedDisableAccessor(\n _allGroupedItems,\n disableAccessor,\n isChildInSelectionScope\n );\n\n const isDisabled = (item) => (R.is(Function, disableAccessor) ? disableAccessor(item) : false);\n const scopeGetter = R.prop(selectionMode, getScopeGetters);\n\n const onChangeSelection = (ids) => {\n const nextSelection = R.reduce(\n (acc, itemId) => (R.has(itemId, acc) ? R.dissoc(itemId, acc) : R.assoc(itemId, itemId, acc)),\n selection,\n ids\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n\n const rejectonlyDisabledItems = (item) => _disableAccessor(item);\n const getSelectedItems = (item) => R.propOr(false, 'isSelected')(item);\n\n const selectAll = () => {\n const imposedIds = R.reduce(\n (acc, item) => R.uniq(R.concat(R.propOr([], 'imposedIds', item), acc)),\n []\n )(items);\n const ids = R.pluck('id', R.reject(getSelectedItems, R.reject(rejectonlyDisabledItems, items)));\n const allIds = R.concat(imposedIds, ids);\n const nextSelection = R.reduce(\n (acc, itemId) => (R.has(itemId, acc) ? acc : R.assoc(itemId, itemId, acc)),\n {},\n allIds\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n\n const deselectAll = () => {\n const itemIds = R.pipe(R.filter(getSelectedItems), R.pluck('id'))(items);\n const ids = R.difference(itemIds, selection);\n const nextSelection = R.reduce(\n (acc, itemId) => (R.has(itemId, acc) ? acc : R.assoc(itemId, itemId, acc)),\n {},\n ids\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n const mapIndexed = R.addIndex(R.map);\n return (\n <Grid container>\n <Grid\n item\n container\n xs={12}\n className={cx(classes.topElements, { [classes.narrowTop]: isNarrow })}\n >\n {isNarrow && (\n <Grid item container xs={12}>\n <div className={cx(classes.selectModeContainer, { [classes.narrowHeader]: isNarrow })}>\n <ButtonCarousel\n selectionModes={selectionOptions}\n selectionMode={selectionMode}\n setSelectionMode={setSelectionMode}\n classes={classes}\n isNarrow={isNarrow}\n />\n </div>\n </Grid>\n )}\n <div className={classes.spotlight}>\n <Spotlight\n hasClearAll={true}\n placeholder={getTotal(items, R.prop('placeholder', labels))}\n term={spotlight.term}\n hasCommit={false}\n spotlight={{ fields: {} }}\n action={setSpotlight}\n labels={labels}\n />\n </div>\n </Grid>\n\n <Grid item xs={isNarrow ? 12 : 8}>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n <div>\n <Button onClick={collapseAll} color=\"primary\">\n {R.prop('colapseAll', labels)}\n </Button>\n <Button style={{ marginLeft: 10 }} onClick={expandAll} color=\"primary\">\n {R.prop('expandAll', labels)}\n </Button>\n </div>\n <div>\n <Button onClick={selectAll} color=\"primary\">\n {R.prop('selectAll', labels)}\n </Button>\n <Button style={{ marginLeft: 10 }} onClick={deselectAll} color=\"primary\">\n {R.prop('deselectAll', labels)}\n </Button>\n </div>\n </div>\n <Divider className={classes.divider} />\n\n <VirtualizedTree\n {...rest}\n disableAccessor={_disableAccessor}\n isGreyed={isDisabled}\n labels={labels}\n labelRenderer={labelRenderer}\n items={selectionItems}\n changeSelection={(newSelection, ids) => onChangeSelection(newSelection, ids, filter)}\n withExpandControl={true}\n treeHeight={isNarrow ? 0 : 450}\n scopeGetter={scopeGetter}\n expandedIds={expandedIds}\n />\n </Grid>\n {!isNarrow && (\n <Grid item container xs={4}>\n <div className={cx(classes.selectModeContainer)}>\n <div className={classes.hint}>\n <Tooltip\n role=\"tooltip\"\n variant=\"light\"\n title={<Typography variant=\"body2\">{R.prop('hint', labels)}</Typography>}\n aria-label={R.prop('hint', labels)}\n tabIndex={0}\n >\n <IconButton>\n <EmojiObjects />\n </IconButton>\n </Tooltip>\n <Typography\n className={classes.selectionTitle}\n aria-label={R.prop('selectionMode', labels)}\n tabIndex={0}\n >\n {R.prop('selectionMode', labels)}\n </Typography>\n </div>\n <div className={cx(classes.selectModeContainer, classes.selectionMenu)}>\n {mapIndexed(\n ({ value, label, img }) => (\n <Tooltip\n key={value}\n classes={{ tooltip: classes.tooltip }}\n title={<img style={{ width: '72px', height: '90px' }} src={img} alt={value} />}\n tabIndex={-1}\n >\n <Button\n className={classes.selectButton}\n selected={value === selectionMode}\n onClick={() => {\n setSelectionMode(value);\n }}\n aria-pressed={value === selectionMode}\n aria-label={label}\n tabIndex={0}\n >\n <Paper elevation={0} className={classes.selectModeItem} key={value}>\n <Typography>{label}</Typography>\n {!R.isNil(img) && R.is(String, img) && <img src={img} alt={value} />}\n </Paper>\n </Button>\n </Tooltip>\n ),\n selectionOptions\n )}\n </div>\n </div>\n </Grid>\n )}\n </Grid>\n );\n};\n\nAdvancedSelection.propTypes = {\n id: PropTypes.string,\n accessibility: PropTypes.bool,\n disableAccessor: PropTypes.func,\n HTMLRenderer: PropTypes.func,\n filter: PropTypes.object,\n selection: PropTypes.object,\n allSelection: PropTypes.object,\n setAllSelection: PropTypes.func,\n setSelection: PropTypes.func,\n isRtl: PropTypes.bool,\n isNarrow: PropTypes.bool,\n items: PropTypes.array,\n labels: PropTypes.shape({\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n disableItemLabel: PropTypes.string,\n singleSelection: PropTypes.string,\n childrenSelection: PropTypes.string,\n branchSelection: PropTypes.string,\n levelSelection: PropTypes.string,\n selectAll: PropTypes.string,\n deselectAll: PropTypes.string,\n apply: PropTypes.string,\n cancel: PropTypes.string,\n }),\n labelRenderer: PropTypes.func,\n expandAll: PropTypes.func,\n collapseAll: PropTypes.func,\n spotlight: PropTypes.object,\n setSpotlight: PropTypes.func,\n expandedIds: PropTypes.object,\n allItems: PropTypes.array,\n};\n\nexport default withSpotlight(withExpansionTree(AdvancedSelection));\n","import * as React from 'react';\nimport * as R from 'ramda';\nimport { Button } from '../Button/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport makeStyles from '@mui/styles/makeStyles';\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'warningPopup', 'title'], theme),\n textAlign: 'center',\n },\n content: {\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'warningPopup', 'content'], theme),\n },\n}));\n\nexport const WarningPopup = ({ open, handleClose, handleSubmit, labels }) => {\n const classes = useStyles();\n return (\n <Dialog\n fullWidth={false}\n maxWidth={'sm'}\n disableScrollLock\n open={open}\n onClose={handleClose}\n onSubmit={handleSubmit}\n aria-labelledby={R.prop('popupTitle', labels)}\n aria-describedby={R.prop('popupContent', labels)}\n >\n <DialogTitle id={R.prop('popupTitle', labels)} className={classes.title}>\n {R.prop('popupTitle', labels)}\n </DialogTitle>\n <DialogContent id={R.prop('popupContent', labels)} className={classes.content}>\n <DialogContentText>{R.prop('popupContent', labels)}</DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={handleClose} aria-label={R.prop('discard', labels)} color=\"primary\">\n {R.prop('discard', labels)}\n </Button>\n <Button\n onClick={handleSubmit}\n aria-label={R.prop('apply', labels)}\n color=\"primary\"\n alternative=\"siscc\"\n variant=\"contained\"\n >\n {R.prop('apply', labels)}\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n","import React, {\n useState,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n startTransition,\n} from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Box from '@mui/material/Box';\nimport AdvancedSelection from './AdvancedSelection';\nimport Paper from '@mui/material/Paper';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { useTheme } from '@mui/material/styles';\nimport { ArrowBack, Close, Add, Remove } from '@mui/icons-material';\nimport IconButton from '@mui/material/Button';\nimport { Button } from '../Button/Button';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { WarningPopup } from './WarningPopup';\nimport FocusTrap from '@mui/material/Unstable_TrapFocus';\nimport CustomChip from '../Chips/CustomChip';\nimport makeStylesFn from '../Chips/styles';\nimport { myTooltipRenderer } from '../Chips/utils';\nimport { getHierarchicalId } from '../VirtualizedTree/utils';\nimport { getIsRtl } from '../utils';\n\nconst useChipStyles = makeStyles(makeStylesFn);\n\n// The panel is a single element reused by every dimension, so its id is stable\n// and every card's button can point at it; what changes is which card labels it.\nconst panelDomId = (testId) => `${testId}-panel`;\nconst dimensionLabelId = (dimId) => `dimension-label-${dimId}`;\n\nconst useStyles = makeStyles((theme) => ({\n label: {\n color: theme.palette.grey[700],\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'tab', 'title'], theme),\n },\n frame: {\n border: `solid 1px ${theme.palette.grey[400]}`,\n borderRadius: theme.shape.borderRadius,\n transition: 'border-color 0.2s ease',\n '&:hover, &:focus-within': {\n borderColor: theme.palette.primary.main,\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'tab', 'frame'], theme),\n },\n },\n labelSelected: {\n color: theme.palette.primary.main,\n },\n chipDeleteLeft: {\n flexDirection: 'row-reverse',\n '& .MuiChip-deleteIcon': {\n margin: theme.spacing(0, 0.5, 0, -0.5),\n },\n },\n // #1788: the \"Remove all\" chip is a squared frame with barely rounded\n // angles, so it reads as a different control from the informative chips.\n removeAllChip: {\n borderRadius: 1,\n },\n // #1789: a long value truncates on one line and exposes its full text via\n // the native title tooltip, instead of wrapping the chip over several lines.\n ellipsisLabel: {\n display: 'block',\n maxWidth: 220,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n // #1787: expanded items are concatenated inside a single outer frame,\n // separated by vertical dividers, the last one closing the rounded border.\n concatenatedChips: {\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'stretch',\n border: `solid 1px ${theme.palette.grey[400]}`,\n borderRadius: 3,\n overflow: 'hidden',\n '& > *': {\n margin: 0,\n borderRadius: 0,\n borderRight: `solid 1px ${theme.palette.grey[400]}`,\n },\n '& > *:last-child': {\n borderRight: 'none',\n },\n },\n dimensionButton: {\n padding: 0,\n border: 'none',\n background: 'none',\n font: 'inherit',\n textAlign: 'start',\n cursor: 'pointer',\n minWidth: 0,\n maxWidth: '100%',\n },\n toggleButton: {\n minWidth: '20px',\n padding: theme.spacing(0.2),\n color: theme.palette.text.secondary,\n },\n list: {\n display: 'flex',\n flexDirection: 'column',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n overflowY: 'auto',\n overflowX: 'hidden',\n width: '100%',\n borderRight: `solid 1px ${theme.palette.divider}`,\n },\n tooltipNotice: {\n textDecoration: 'underline dotted',\n },\n tabSelected: {\n backgroundColor: `${theme.palette.action.hover} !important`,\n '&:hover': {\n backgroundColor: `${theme.palette.action.selected} !important`,\n },\n },\n tab: {\n '&:hover': {\n backgroundColor: `${theme.palette.action.selected}`,\n },\n },\n}));\n\n// Walks parentId upward through an index of the dimension's full values list\n// (keyed by hierarchicalId, same convention VirtualizedTree uses), returning\n// ancestors root-first, not including v itself.\nconst getAncestors = (indexedValues, v) => {\n const parent = R.prop(R.prop('parentId', v), indexedValues);\n if (R.isNil(parent)) return [];\n return R.append(parent, getAncestors(indexedValues, parent));\n};\n\n// A hierarchical dimension can list the same value more than once (e.g. a\n// country classified under two different regional groups), sharing `.id` but\n// with distinct hierarchicalId/parentId. Grouping by `.id` here is what makes\n// those render as one chip instead of two, and what makes toggling/clearing\n// them work: every downstream consumer (chip rendering, the N-items count,\n// handleClearAllSelections) reads this deduplicated output.\nconst getSelectedItems = (item, allSelection, labelRenderer) => {\n const dimId = R.prop('id', item);\n const values = R.propOr([], 'values', item);\n const toggledIds = R.propOr([], dimId, allSelection);\n\n const selected = R.filter(\n (v) => (R.includes(v.id, toggledIds) ? !v.isSelected : !!v.isSelected),\n values\n );\n\n const groups = R.values(R.groupBy(R.prop('id'), selected));\n const indexedValues = R.indexBy(getHierarchicalId, values);\n\n return R.map((group) => {\n const representative = R.head(group);\n if (R.length(group) <= 1) {\n return { id: representative.id, label: labelRenderer(representative), items: [] };\n }\n const parents = R.map(\n (occurrence) => R.append(occurrence, getAncestors(indexedValues, occurrence)),\n group\n );\n return {\n id: representative.id,\n label: labelRenderer(representative),\n items: [{ ...representative, parents }],\n };\n }, groups);\n};\n\n// An item can bypass the values/allSelection-driven computation above and\n// supply its own chip list directly (e.g. a period/frequency panel, whose\n// selection isn't a list of togglable values). Used by the tab loop below,\n// and by hasAnySelection/handleClearAllSelections so such an item still\n// participates in \"any selection\" detection and the header's clear-all.\nconst getItemSelectedItems = (item, allSelection, labelRenderer) =>\n R.has('selectedItems', item)\n ? R.propOr([], 'selectedItems', item)\n : getSelectedItems(item, allSelection, labelRenderer);\n\nconst TabPanel = (props) => {\n const {\n children,\n open,\n item,\n classes,\n labels,\n onClose,\n isNarrow,\n setOpen,\n labelRenderer,\n descriptionAccessor,\n HTMLRenderer,\n panelId,\n styles = {},\n ...other\n } = props;\n const drawerClasses = useStyles();\n const description = descriptionAccessor ? descriptionAccessor(item) : '';\n const hasDescription = !R.isEmpty(description || '');\n return (\n <section\n hidden={!open}\n id={panelId}\n aria-labelledby={dimensionLabelId(R.prop('id', item))}\n className={isNarrow ? classes.tabPanelNarrow : classes.tabPanel}\n style={{ width: R.prop('width', styles) }}\n {...other}\n >\n {open && (\n <Box sx={{ p: 3 }}>\n <Box\n display=\"flex\"\n justifyContent={isNarrow ? 'space-between' : 'flex-end'}\n alignItems=\"center\"\n >\n {isNarrow && (\n <Box display=\"flex\" justifyContent={'flex-start'} alignItems=\"center\">\n <IconButton\n onClick={() => setOpen(false)}\n data-testid=\"back_button\"\n aria-label={R.prop('back', labels)}\n sx={{\n padding: 0,\n float: 'left',\n justifyContent: 'flex-start',\n minWidth: '24px',\n }}\n size=\"large\"\n edge=\"start\"\n >\n <ArrowBack />\n </IconButton>\n <Tooltip\n title={\n !hasDescription ? (\n ''\n ) : R.isNil(HTMLRenderer) ? (\n description\n ) : (\n <HTMLRenderer html={description} />\n )\n }\n placement=\"top\"\n enterDelay={400}\n enterNextDelay={400}\n aria-label={description}\n disableHoverListener={!hasDescription}\n disableInteractive={R.isNil(HTMLRenderer)}\n >\n <Typography\n variant=\"h6\"\n aria-label={R.prop('title', labels)(labelRenderer(item))}\n tabIndex={0}\n className={cx({ [drawerClasses.tooltipNotice]: hasDescription })}\n sx={{\n margin: 0,\n padding: 0,\n }}\n >\n {R.prop('title', labels)(labelRenderer(item))}\n </Typography>\n </Tooltip>\n </Box>\n )}\n <IconButton\n onClick={onClose}\n aria-label={R.prop('cancel', labels)}\n sx={{\n color: 'grey !important',\n minWidth: '24px',\n padding: 0,\n float: 'right',\n }}\n size=\"large\"\n >\n <Close />\n </IconButton>\n </Box>\n {children}\n </Box>\n )}\n </section>\n );\n};\n\n// A dimension card: its name (a real button that opens the dimension panel)\n// plus the chips standing for what is currently selected on it. The card is a\n// list item, not a tab: it holds its own interactive controls (the chips'\n// delete icons, the show more/less toggle), which the ARIA tabs pattern\n// forbids inside a role=\"tab\" element.\nconst DimensionCard = React.forwardRef(\n (\n {\n label,\n labels,\n description = '',\n HTMLRenderer,\n selected,\n item,\n selectedItems,\n onDeleteValue,\n onDeleteAllDimValues,\n isEditMode,\n isOpen,\n onOpen,\n panelId,\n labelId,\n collapseThreshold = 6,\n removeAllThreshold = 2,\n labelRenderer,\n ...rest\n },\n ref\n ) => {\n const classes = useStyles();\n const chipClasses = useChipStyles();\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n const [expanded, setExpanded] = useState(false);\n const dimId = R.prop('id', item);\n const count = R.length(selectedItems);\n const showCollapseToggle = count >= collapseThreshold;\n const showRemoveAll = count >= removeAllThreshold && !showCollapseToggle;\n const hasDescription = !R.isEmpty(description);\n const chipsId = `${labelId}-chips`;\n // labels.nItems is what localises the count chip; the literal is only a\n // last-resort default for consumers that have not supplied it yet.\n const nItemsLabel = R.is(Function, R.prop('nItems', labels))\n ? labels.nItems(count)\n : `${count} items`;\n\n const toggle = (icon, text) => (\n <IconButton\n size=\"small\"\n aria-expanded={expanded}\n aria-controls={chipsId}\n onClick={(e) => {\n e.stopPropagation();\n setExpanded(!expanded);\n }}\n className={classes.toggleButton}\n >\n {icon}\n <Typography noWrap variant=\"body2\" className={classes.label}>\n {text}\n </Typography>\n </IconButton>\n );\n\n const valueChip = ({ id, label: itemLabel, items, isNotRemovable }) => (\n <CustomChip\n key={id}\n id={id}\n parentId={dimId}\n label={itemLabel}\n items={items}\n renderer={myTooltipRenderer({ isRtl, labelRenderer })}\n labelRenderer={labelRenderer}\n chipClasses={cx(chipClasses.secondaryChip, chipClasses.chip, classes.chipDeleteLeft)}\n iconClasses={chipClasses.icon}\n labelClasses={cx(chipClasses.spaceLabel, classes.ellipsisLabel)}\n title={R.is(String, itemLabel) ? itemLabel : undefined}\n onDelete={\n R.is(Function, onDeleteValue) && isEditMode && !isNotRemovable ? onDeleteValue : undefined\n }\n />\n );\n\n const countChip = (\n <CustomChip\n label={nItemsLabel}\n chipClasses={cx(chipClasses.mainChip, chipClasses.chip, classes.chipDeleteLeft)}\n labelClasses={cx(chipClasses.spaceLabel, chipClasses.formatLabel)}\n iconClasses={chipClasses.icon}\n onDelete={\n R.is(Function, onDeleteAllDimValues) && isEditMode\n ? () => onDeleteAllDimValues(dimId, selectedItems)\n : undefined\n }\n />\n );\n\n return (\n <Paper {...rest} ref={ref} className={cx(rest.className, classes.frame)}>\n <Box sx={{ display: 'flex', flexDirection: 'column', width: '100%' }}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', width: '100%' }}>\n <Tooltip\n title={\n !hasDescription ? (\n ''\n ) : R.isNil(HTMLRenderer) ? (\n description\n ) : (\n <HTMLRenderer html={description} />\n )\n }\n placement=\"top\"\n enterDelay={400}\n enterNextDelay={400}\n aria-label={description}\n disableHoverListener={!hasDescription}\n disableInteractive={R.isNil(HTMLRenderer)}\n >\n <button\n type=\"button\"\n id={labelId}\n aria-label={R.is(String, label) ? label : undefined}\n className={classes.dimensionButton}\n aria-expanded={isOpen}\n aria-controls={panelId}\n onClick={(e) => {\n e.stopPropagation();\n onOpen();\n }}\n >\n <Typography\n noWrap\n variant=\"body2\"\n title={hasDescription ? undefined : label}\n className={cx(classes.label, {\n [classes.labelSelected]: selected,\n [classes.tooltipNotice]: hasDescription,\n })}\n >\n {label}\n </Typography>\n </button>\n </Tooltip>\n </Box>\n <Box sx={{ mt: 0.5, display: 'flex', flexWrap: 'wrap', alignItems: 'center', gap: 0.5 }}>\n {R.isEmpty(selectedItems) ? (\n <CustomChip\n label={R.propOr('All items', 'allItems', labels)}\n chipClasses={cx(chipClasses.mainChip, chipClasses.chip)}\n labelClasses={cx(chipClasses.spaceLabel, chipClasses.formatLabel)}\n iconClasses={chipClasses.icon}\n />\n ) : showCollapseToggle ? (\n <>\n {/* the count chip stays put once expanded (#1787): expanding\n adds the values below it, it does not replace it */}\n {countChip}\n {expanded\n ? toggle(<Remove fontSize=\"small\" />, R.propOr('Show less', 'showLess', labels))\n : toggle(<Add fontSize=\"small\" />, R.propOr('Show more', 'showMore', labels))}\n {expanded && (\n <Box id={chipsId} className={classes.concatenatedChips}>\n {R.map((chip) => valueChip(chip))(selectedItems)}\n </Box>\n )}\n </>\n ) : (\n <>\n {showRemoveAll && isEditMode && (\n <CustomChip\n label={R.propOr('Remove all', 'removeAll', labels)}\n chipClasses={cx(\n chipClasses.mainChip,\n chipClasses.chip,\n classes.chipDeleteLeft,\n classes.removeAllChip\n )}\n labelClasses={cx(chipClasses.spaceLabel, chipClasses.formatLabel)}\n iconClasses={chipClasses.icon}\n onDelete={\n R.is(Function, onDeleteAllDimValues)\n ? () => onDeleteAllDimValues(dimId, selectedItems)\n : undefined\n }\n />\n )}\n {R.map((chip) => valueChip(chip))(selectedItems)}\n </>\n )}\n </Box>\n </Box>\n </Paper>\n );\n }\n);\n\n/**\n * Vertical drawer used to select values across a list of dimensions.\n *\n * Pending selections are held in component state until they are applied. By\n * default the drawer renders its own header above the list: a title plus an\n * \"Edit\" button (opens the first dimension) that becomes a \"Clear all filters\"\n * button (discards pending selections, without touching what is already\n * applied) once a panel is open. Configure its copy via `labels.filtersTitle`,\n * `labels.edit`, and `labels.clearAllFilters`.\n *\n * @param {Object} props\n * @param {*} [props.clearSelectionKey] - Changing this value clears the pending\n * selection of every dimension, the same action the built-in header's \"Clear\n * all filters\" button performs. Useful for a consumer-rendered control\n * outside the drawer. The value on first render never clears, so an\n * undefined or constant key leaves the drawer's behaviour unchanged.\n * @param {React.ReactNode} [props.header] - Overrides the built-in header\n * entirely. Rendered above the dimension tabs, inside the drawer's focus\n * trap and above the overlay that closes it, so controls placed here stay\n * usable, by pointer and by keyboard, while a panel is open.\n * @param {Object} props.labels - Drawer copy. `labels.nItems(count)` localises\n * the collapsed count chip, `labels.allItems`, `labels.removeAll`,\n * `labels.showMore` and `labels.showLess` the other chip controls.\n * @param {Array} props.list - Dimensions, each `{ id, values, ... }`. An item\n * whose selection isn't a list of togglable values (e.g. a time period)\n * can instead supply `selectedItems` directly — an array of\n * `{ id, label, items, isNotRemovable? }` chips, bypassing the\n * values/allSelection-driven computation used for the rest of the list.\n * Pair it with `onDeleteValue(dimId, ids)` and/or\n * `onDeleteAllDimValues(dimId, items)` on the same item to handle deleting\n * one chip or all of them (falling back to the drawer's own handlers when\n * omitted); a chip marked `isNotRemovable` never shows a delete icon. Such\n * an item still participates in `hasAnySelection` and the header's \"Clear\n * all filters\" (via its own `onDeleteAllDimValues`, if provided).\n */\nexport const DynamicDrawer = (props) => {\n const classNames = useStyles();\n const [open, setOpen] = useState(false);\n const [openPopup, setOpenPopup] = useState(false);\n const [selectedId, setSelectedId] = useState(null);\n const [selection, setSelection] = useState({});\n const [allSelection, setAllSelection] = useState({});\n const allSelectionRef = useRef(allSelection);\n allSelectionRef.current = allSelection;\n\n const {\n list,\n labelRenderer,\n descriptionAccessor,\n HTMLRenderer,\n onClick,\n handleChangePanel,\n onClosePanel,\n isNarrow,\n labels,\n disableAccessor = R.always(false),\n isApplyHiddenNarrow = true,\n openTabId,\n expandAll,\n collapseAll,\n expandedIds,\n allItems,\n periodPanel,\n classes,\n testId = 'tabs',\n // the per-tab counter tag these fed was replaced by the applied-filter\n // chips; still destructured so a consumer passing them does not have them\n // spread onto AdvancedSelection\n tagAccessor,\n tagAriaLabel,\n children,\n styles = {},\n collapseThreshold = 6,\n clearSelectionKey,\n header,\n ...rest\n } = props;\n\n // Toggling an id here means \"flip its selected state relative to its baked-in\n // default\", matching how AdvancedSelection's onChangeSelection populates\n // allSelection[dimId] from checkbox clicks (see selectionItems in AdvancedSelection.jsx).\n const toggleOffSelection = (dimId, valueIds) => {\n const currentIds = R.propOr([], dimId, allSelectionRef.current);\n const currentMap = R.zipObj(currentIds, currentIds);\n return R.reduce(\n (acc, id) => (R.has(id, acc) ? R.dissoc(id, acc) : R.assoc(id, id, acc)),\n currentMap,\n valueIds\n );\n };\n\n // Toggles off every currently-selected item across every dimension, so items\n // selected via baked-in defaults end up deselected too, not just this\n // session's pending toggles. Starts from the existing selection (not {})\n // and leaves untouched dimensions as-is, so a dimension already cleared by\n // a previous call keeps its toggled-off state instead of losing it and\n // reverting to its baked-in defaults.\n const handleClearAllSelections = () => {\n const nextAllSelection = R.reduce(\n (acc, item) => {\n const dimId = R.prop('id', item);\n if (R.has('selectedItems', item)) {\n const items = R.propOr([], 'selectedItems', item);\n if (!R.isEmpty(items) && R.is(Function, item.onDeleteAllDimValues)) {\n item.onDeleteAllDimValues(dimId, items);\n }\n return acc;\n }\n const selectedValueIds = R.pluck(\n 'id',\n getSelectedItems(item, allSelectionRef.current, R.identity)\n );\n if (R.isEmpty(selectedValueIds)) return acc;\n const nextMap = toggleOffSelection(dimId, selectedValueIds);\n const nextIds = R.values(nextMap);\n return R.isEmpty(nextIds) ? R.dissoc(dimId, acc) : R.assoc(dimId, nextIds, acc);\n },\n allSelectionRef.current,\n list\n );\n const openDimIds = R.propOr([], selectedId, nextAllSelection);\n setAllSelection(nextAllSelection);\n setSelection(R.zipObj(openDimIds, openDimIds));\n };\n\n // Consumers clear every dimension's selection (baked-in or pending) by\n // changing this key. This is the same action the built-in header's \"Clear\n // all filters\" button performs.\n const clearSelectionKeyRef = useRef(clearSelectionKey);\n useEffect(() => {\n if (clearSelectionKeyRef.current === clearSelectionKey) return;\n clearSelectionKeyRef.current = clearSelectionKey;\n handleClearAllSelections();\n }, [clearSelectionKey]);\n useLayoutEffect(() => {\n if (!openTabId) return;\n const item = R.find((listItem) => R.prop('id', listItem) === openTabId)(list);\n if (item && (selectedId !== openTabId || !open)) {\n const id = R.prop('id', item);\n const filterSelection = R.pipe(R.propOr([], id), (arr) => R.zipObj(arr, arr))(allSelection);\n startTransition(() => {\n setSelection({ ...filterSelection });\n setSelectedId(id);\n setOpen(true);\n });\n }\n }, [openTabId, list, allSelection, selectedId, open]);\n\n const handleChange = (e, item) => {\n const id = R.prop('id', item);\n const filterSelection = R.pipe(R.propOr([], id), (arr) => R.zipObj(arr, arr))(allSelection);\n setSelection({ ...filterSelection });\n handleChangePanel(id, selection, allSelection);\n setSelectedId(id);\n setOpen(true);\n };\n const applyDeselection = (dimId, valueIds) => {\n const nextMap = toggleOffSelection(dimId, valueIds);\n const nextIds = R.values(nextMap);\n const newAllSelection = R.isEmpty(nextIds)\n ? R.dissoc(dimId, allSelectionRef.current)\n : R.assoc(dimId, nextIds, allSelectionRef.current);\n setAllSelection(newAllSelection);\n if (dimId === selectedId) {\n setSelection(nextMap);\n }\n };\n\n const handleDeleteValue = (dimId, valueIds) => {\n applyDeselection(dimId, valueIds);\n };\n const handleDeleteAllDimValues = (dimId, values) => {\n applyDeselection(dimId, R.pluck('id', values));\n };\n\n const handleSubmit = () => {\n onClick(allSelection);\n setAllSelection({});\n setSelection({});\n setOpen(false);\n setSelectedId(null);\n onClosePanel();\n };\n const handleSubmitPopup = () => {\n handleSubmit();\n setOpenPopup(false);\n };\n const handleClosePopup = () => {\n setOpen(false);\n setOpenPopup(false);\n setAllSelection({});\n setSelection({});\n setSelectedId(null);\n onClosePanel();\n };\n const handleClose = () => {\n if (!R.isEmpty(selection) || !R.isEmpty(allSelection) || !isApplyHiddenNarrow) {\n setOpenPopup(true);\n } else {\n handleClosePopup();\n }\n };\n\n const filter = useMemo(() => {\n if (!selectedId) return {};\n return R.find((item) => R.prop('id', item) === selectedId)(list);\n }, [selectedId, list]);\n\n const isHidden = open && isNarrow;\n // A panel being open is what puts the drawer in edit mode: chips become\n // deletable and the page behind is covered. Whether anything has actually\n // been modified is a separate question, and the one that governs the Apply\n // button — \"Apply only appears after a modification\" (#1789).\n const hasPendingModification = !R.isEmpty(allSelection) || !isApplyHiddenNarrow;\n const isEditMode = open && !isNarrow;\n const isApplyShown = isEditMode && hasPendingModification;\n const isNotHiddenButton = hasPendingModification && isNarrow;\n const panelId = panelDomId(testId);\n\n const hasAnySelection = R.any(\n (item) => !R.isEmpty(getItemSelectedItems(item, allSelection, R.identity)),\n list\n );\n\n const defaultHeader = !isNarrow && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '4px 8px',\n }}\n >\n <Typography variant=\"body2\">{labels.filtersTitle || 'Filters'}</Typography>\n {open ? (\n hasAnySelection && (\n <Button size=\"small\" variant=\"text\" color=\"primary\" onClick={handleClearAllSelections}>\n {labels.clearAllFilters || 'Clear all filters'}\n </Button>\n )\n ) : (\n <Button\n size=\"small\"\n variant=\"text\"\n color=\"primary\"\n onClick={() => handleChange(null, R.head(list))}\n >\n {labels.edit || 'Edit'}\n </Button>\n )}\n </Box>\n );\n\n useEffect(() => {\n if (isEditMode) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n return () => {\n document.body.style.overflow = '';\n };\n }, [open, isNarrow]);\n\n return (\n <FocusTrap open={open}>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n {isEditMode && (\n <Box\n onClick={() => handleClose()}\n sx={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100vw',\n height: '100vh',\n zIndex: 990,\n }}\n />\n )}\n <WarningPopup\n open={openPopup}\n handleClose={handleClosePopup}\n handleSubmit={handleSubmitPopup}\n labels={labels}\n />\n <div\n style={{\n display: isHidden ? 'none' : 'flex',\n flexDirection: 'column',\n width: '100%',\n // the closing overlay below is positioned, so it would paint over a\n // static header whatever the dom order: lift the whole column above it\n position: 'relative',\n zIndex: 1000,\n }}\n >\n {header || defaultHeader}\n {/* a list of dimension cards, not a tablist: each card carries its\n own interactive controls, which role=\"tab\" does not allow */}\n <Box\n component=\"ul\"\n aria-label={labels.tabs || 'Filters'}\n data-testid={testId}\n className={classNames.list}\n sx={{\n display: isHidden ? 'none' : 'flex',\n height: isEditMode ? R.prop('height', styles) : '100%',\n zIndex: 1000,\n }}\n >\n {R.map((item) => {\n const id = R.prop('id', item);\n const selectedItems = getItemSelectedItems(item, allSelection, labelRenderer);\n\n return (\n <Box component=\"li\" key={id} sx={{ display: 'flex' }}>\n <DimensionCard\n data-testid={`${id}-tab`}\n onClick={(e) => handleChange(e, item)}\n labels={labels}\n label={labelRenderer(item)}\n labelRenderer={labelRenderer}\n isEditMode={isEditMode}\n isOpen={open && selectedId === id}\n onOpen={() => handleChange(null, item)}\n panelId={panelId}\n labelId={dimensionLabelId(id)}\n description={descriptionAccessor ? descriptionAccessor(item) : ''}\n HTMLRenderer={HTMLRenderer}\n selected={selectedId === id}\n item={item}\n selectedItems={selectedItems}\n onDeleteValue={item.onDeleteValue || handleDeleteValue}\n onDeleteAllDimValues={item.onDeleteAllDimValues || handleDeleteAllDimValues}\n collapseThreshold={collapseThreshold}\n className={cx(classNames.tab, {\n [classNames.tabSelected]: R.prop('id', filter) === id,\n })}\n sx={{\n alignItems: 'start',\n width: '100%',\n maxWidth: '100%',\n textTransform: 'none',\n // MUI's Tab used to supply this padding; the card is a\n // plain Paper now, so it carries its own\n padding: '12px 16px',\n }}\n />\n </Box>\n );\n })(list)}\n </Box>\n {(isApplyShown || isNotHiddenButton) && (\n <Button\n style={{ float: 'bottom', margin: '10px' }}\n aria-label={R.prop('apply', labels)}\n id=\"apply_button\"\n variant=\"contained\"\n onClick={handleSubmit}\n >\n {R.prop('apply', labels)}\n </Button>\n )}\n </div>\n <TabPanel\n item={filter}\n panelId={panelId}\n data-testid={`${testId}_panel`}\n open={open}\n labels={labels}\n classes={classes}\n onClose={handleClose}\n isNarrow={isNarrow}\n setOpen={setOpen}\n labelRenderer={labelRenderer}\n descriptionAccessor={descriptionAccessor}\n HTMLRenderer={HTMLRenderer}\n styles={styles}\n >\n {R.equals(R.prop('id', filter), periodPanel) ? (\n children\n ) : (\n <AdvancedSelection\n id={selectedId}\n items={R.prop('values', filter) || []}\n isOpen={open}\n labelRenderer={labelRenderer}\n disableAccessor={disableAccessor ? R.pipe(R.prop('isEnabled'), R.not) : undefined}\n labels={labels}\n isNarrow={isNarrow}\n expandAll={expandAll}\n collapseAll={collapseAll}\n expandedIds={expandedIds}\n allItems={allItems}\n selection={selection}\n setSelection={setSelection}\n setAllSelection={setAllSelection}\n allSelection={allSelection}\n HTMLRenderer={HTMLRenderer}\n {...rest}\n filter={filter}\n />\n )}\n </TabPanel>\n </div>\n </FocusTrap>\n );\n};\n"],"names":["useStyles","IconButton","AdvancedSelection"],"mappings":"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"}
@@ -43,6 +43,7 @@ const GroupedChips = ({
43
43
  CustomChip,
44
44
  {
45
45
  parentId,
46
+ ariaLabel,
46
47
  label: `${R.length(values)} ${R.prop("reducingChip")(labels)}`,
47
48
  chipClasses: cx(classes.secondaryChip, classes.chip),
48
49
  onDelete: isNotRemovable ? null : onDelete,
@@ -1 +1 @@
1
- {"version":3,"file":"GroupedChips.js","sources":["../../src/GroupedChips/GroupedChips.jsx"],"sourcesContent":["import { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React, { Fragment } from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport { getIsRtl } from '../utils';\nimport makeStylesFn from '../Chips/styles';\nimport CustomChip from '../Chips/CustomChip';\nimport { myTooltipRenderer } from '../Chips/utils';\n\nconst useStyles = makeStyles(makeStylesFn);\n\nconst EMPTY_ITEM_PROPS = {};\n\nexport const GroupedChips = ({\n itemProps = EMPTY_ITEM_PROPS,\n onDelete,\n labelRenderer = R.prop('label'),\n tooltipRenderer,\n ariaLabel,\n reducingNbChips = 15,\n labels,\n testId = 'chips-test-id',\n ariaLabelTooltip = ' parent of ',\n}) => {\n const { id: parentId, isNotRemovable, values = [] } = itemProps;\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n const classes = useStyles();\n\n return (\n <Fragment>\n <CustomChip\n testId={testId}\n parentId={parentId}\n label={`${labelRenderer(itemProps)}:`}\n ariaLabel={ariaLabel}\n chipClasses={cx(classes.mainChip, classes.chip)}\n onDelete={isNotRemovable ? null : onDelete}\n iconClasses={classes.icon}\n labelClasses={cx(classes.spaceLabel, classes.formatLabel)}\n />\n {R.pipe(R.length, R.flip(R.gt)(reducingNbChips))(values) ? (\n <CustomChip\n parentId={parentId}\n label={`${R.length(values)} ${R.prop('reducingChip')(labels)}`}\n chipClasses={cx(classes.secondaryChip, classes.chip)}\n onDelete={isNotRemovable ? null : onDelete}\n iconClasses={classes.icon}\n labelClasses={cx(classes.spaceLabel, classes.formatLabel)}\n />\n ) : (\n R.map((items) => {\n const lastItem = R.last(items);\n const { id, isNotRemovable: isLastItemNotRemovable, deprecated } = lastItem;\n\n return (\n <CustomChip\n deprecated={deprecated}\n key={id}\n id={id}\n items={R.pipe(R.length, R.gte(2)) ? items : null}\n renderer={\n R.is(Function)(tooltipRenderer)\n ? tooltipRenderer\n : myTooltipRenderer({ isRtl, labelRenderer })\n }\n label={labelRenderer(lastItem)}\n labelRenderer={labelRenderer}\n ariaLabel={ariaLabel}\n parentId={parentId}\n onDelete={isLastItemNotRemovable ? null : onDelete}\n chipClasses={cx(classes.secondaryChip, classes.chip)}\n iconClasses={classes.icon}\n labelClasses={cx(classes.spaceLabel, classes.formatLabel)}\n ariaLabelTooltip={ariaLabelTooltip}\n />\n );\n })(values)\n )}\n </Fragment>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroupedChips.js","sources":["../../src/GroupedChips/GroupedChips.jsx"],"sourcesContent":["import { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React, { Fragment } from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport { getIsRtl } from '../utils';\nimport makeStylesFn from '../Chips/styles';\nimport CustomChip from '../Chips/CustomChip';\nimport { myTooltipRenderer } from '../Chips/utils';\n\nconst useStyles = makeStyles(makeStylesFn);\n\nconst EMPTY_ITEM_PROPS = {};\n\nexport const GroupedChips = ({\n itemProps = EMPTY_ITEM_PROPS,\n onDelete,\n labelRenderer = R.prop('label'),\n tooltipRenderer,\n ariaLabel,\n reducingNbChips = 15,\n labels,\n testId = 'chips-test-id',\n ariaLabelTooltip = ' parent of ',\n}) => {\n const { id: parentId, isNotRemovable, values = [] } = itemProps;\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n const classes = useStyles();\n\n return (\n <Fragment>\n <CustomChip\n testId={testId}\n parentId={parentId}\n label={`${labelRenderer(itemProps)}:`}\n ariaLabel={ariaLabel}\n chipClasses={cx(classes.mainChip, classes.chip)}\n onDelete={isNotRemovable ? null : onDelete}\n iconClasses={classes.icon}\n labelClasses={cx(classes.spaceLabel, classes.formatLabel)}\n />\n {R.pipe(R.length, R.flip(R.gt)(reducingNbChips))(values) ? (\n <CustomChip\n parentId={parentId}\n ariaLabel={ariaLabel}\n label={`${R.length(values)} ${R.prop('reducingChip')(labels)}`}\n chipClasses={cx(classes.secondaryChip, classes.chip)}\n onDelete={isNotRemovable ? null : onDelete}\n iconClasses={classes.icon}\n labelClasses={cx(classes.spaceLabel, classes.formatLabel)}\n />\n ) : (\n R.map((items) => {\n const lastItem = R.last(items);\n const { id, isNotRemovable: isLastItemNotRemovable, deprecated } = lastItem;\n\n return (\n <CustomChip\n deprecated={deprecated}\n key={id}\n id={id}\n items={R.pipe(R.length, R.gte(2)) ? items : null}\n renderer={\n R.is(Function)(tooltipRenderer)\n ? tooltipRenderer\n : myTooltipRenderer({ isRtl, labelRenderer })\n }\n label={labelRenderer(lastItem)}\n labelRenderer={labelRenderer}\n ariaLabel={ariaLabel}\n parentId={parentId}\n onDelete={isLastItemNotRemovable ? null : onDelete}\n chipClasses={cx(classes.secondaryChip, classes.chip)}\n iconClasses={classes.icon}\n labelClasses={cx(classes.spaceLabel, classes.formatLabel)}\n ariaLabelTooltip={ariaLabelTooltip}\n />\n );\n })(values)\n )}\n </Fragment>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AAUA,MAAM,SAAA,GAAY,WAAW,YAAY,CAAA;AAEzC,MAAM,mBAAmB,EAAC;AAEnB,MAAM,eAAe,CAAC;AAAA,EAC3B,SAAA,GAAY,gBAAA;AAAA,EACZ,QAAA;AAAA,EACA,aAAA,GAAgB,CAAA,CAAE,IAAA,CAAK,OAAO,CAAA;AAAA,EAC9B,eAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA,GAAkB,EAAA;AAAA,EAClB,MAAA;AAAA,EACA,MAAA,GAAS,eAAA;AAAA,EACT,gBAAA,GAAmB;AACrB,CAAA,KAAM;AACJ,EAAA,MAAM,EAAE,EAAA,EAAI,QAAA,EAAU,gBAAgB,MAAA,GAAS,IAAG,GAAI,SAAA;AACtD,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,KAAA,GAAQ,SAAS,KAAK,CAAA;AAC5B,EAAA,MAAM,UAAU,SAAA,EAAU;AAE1B,EAAA,4BACG,QAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,MAAA;AAAA,QACA,QAAA;AAAA,QACA,KAAA,EAAO,CAAA,EAAG,aAAA,CAAc,SAAS,CAAC,CAAA,CAAA,CAAA;AAAA,QAClC,SAAA;AAAA,QACA,WAAA,EAAa,EAAA,CAAG,OAAA,CAAQ,QAAA,EAAU,QAAQ,IAAI,CAAA;AAAA,QAC9C,QAAA,EAAU,iBAAiB,IAAA,GAAO,QAAA;AAAA,QAClC,aAAa,OAAA,CAAQ,IAAA;AAAA,QACrB,YAAA,EAAc,EAAA,CAAG,OAAA,CAAQ,UAAA,EAAY,QAAQ,WAAW;AAAA;AAAA,KAC1D;AAAA,IACC,CAAA,CAAE,IAAA,CAAK,CAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,IAAA,CAAK,CAAA,CAAE,EAAE,CAAA,CAAE,eAAe,CAAC,CAAA,CAAE,MAAM,CAAA,mBACrD,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,QAAA;AAAA,QACA,SAAA;AAAA,QACA,KAAA,EAAO,CAAA,EAAG,CAAA,CAAE,MAAA,CAAO,MAAM,CAAC,CAAA,CAAA,EAAI,CAAA,CAAE,IAAA,CAAK,cAAc,CAAA,CAAE,MAAM,CAAC,CAAA,CAAA;AAAA,QAC5D,WAAA,EAAa,EAAA,CAAG,OAAA,CAAQ,aAAA,EAAe,QAAQ,IAAI,CAAA;AAAA,QACnD,QAAA,EAAU,iBAAiB,IAAA,GAAO,QAAA;AAAA,QAClC,aAAa,OAAA,CAAQ,IAAA;AAAA,QACrB,YAAA,EAAc,EAAA,CAAG,OAAA,CAAQ,UAAA,EAAY,QAAQ,WAAW;AAAA;AAAA,KAC1D,GAEA,CAAA,CAAE,GAAA,CAAI,CAAC,KAAA,KAAU;AACf,MAAA,MAAM,QAAA,GAAW,CAAA,CAAE,IAAA,CAAK,KAAK,CAAA;AAC7B,MAAA,MAAM,EAAE,EAAA,EAAI,cAAA,EAAgB,sBAAA,EAAwB,YAAW,GAAI,QAAA;AAEnE,MAAA,uBACE,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,UAAA;AAAA,UAEA,EAAA;AAAA,UACA,KAAA,EAAO,CAAA,CAAE,IAAA,CAAK,CAAA,CAAE,MAAA,EAAQ,EAAE,GAAA,CAAI,CAAC,CAAC,CAAA,GAAI,KAAA,GAAQ,IAAA;AAAA,UAC5C,QAAA,EACE,CAAA,CAAE,EAAA,CAAG,QAAQ,CAAA,CAAE,eAAe,CAAA,GAC1B,eAAA,GACA,iBAAA,CAAkB,EAAE,KAAA,EAAO,aAAA,EAAe,CAAA;AAAA,UAEhD,KAAA,EAAO,cAAc,QAAQ,CAAA;AAAA,UAC7B,aAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAA;AAAA,UACA,QAAA,EAAU,yBAAyB,IAAA,GAAO,QAAA;AAAA,UAC1C,WAAA,EAAa,EAAA,CAAG,OAAA,CAAQ,aAAA,EAAe,QAAQ,IAAI,CAAA;AAAA,UACnD,aAAa,OAAA,CAAQ,IAAA;AAAA,UACrB,YAAA,EAAc,EAAA,CAAG,OAAA,CAAQ,UAAA,EAAY,QAAQ,WAAW,CAAA;AAAA,UACxD;AAAA,SAAA;AAAA,QAhBK;AAAA,OAiBP;AAAA,IAEJ,CAAC,EAAE,MAAM;AAAA,GAAA,EAEb,CAAA;AAEJ;;;;"}
@@ -1,4 +1,4 @@
1
- import{M as x,N as k,j as i,R as w,p as I}from"./iframe-BzEY7Zfj.js";import{c as R}from"./index-DBNjO75x.js";import{P as W}from"./Paper-CfwX0KYH.js";import{I as E}from"./IconButton-D3LZwxeh.js";import{C as A}from"./Close-Cb4p1h7Q.js";import{m as N}from"./makeStyles-Bs4Qifu9.js";import{c as p}from"./createSvgIcon-CwSFSuEP.js";function b(n,e=0,a=1){return k(n,e,a)}function P(n){n=n.slice(1);const e=new RegExp(`.{1,${n.length>=6?2:1}}`,"g");let a=n.match(e);return a&&a[0].length===1&&(a=a.map(r=>r+r)),a?`rgb${a.length===4?"a":""}(${a.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function d(n){if(n.type)return n;if(n.charAt(0)==="#")return d(P(n));const e=n.indexOf("("),a=n.substring(0,e);if(["rgb","rgba","hsl","hsla","color"].indexOf(a)===-1)throw new Error(x(9,n));let r=n.substring(e+1,n.length-1),o;if(a==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o)===-1)throw new Error(x(10,o))}else r=r.split(",");return r=r.map(s=>parseFloat(s)),{type:a,values:r,colorSpace:o}}function h(n){const{type:e,colorSpace:a}=n;let{values:r}=n;return e.indexOf("rgb")!==-1?r=r.map((o,s)=>s<3?parseInt(o,10):o):e.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),e.indexOf("color")!==-1?r=`${a} ${r.join(" ")}`:r=`${r.join(", ")}`,`${e}(${r})`}function C(n,e){if(n=d(n),e=b(e),n.type.indexOf("hsl")!==-1)n.values[2]*=1-e;else if(n.type.indexOf("rgb")!==-1||n.type.indexOf("color")!==-1)for(let a=0;a<3;a+=1)n.values[a]*=1-e;return h(n)}function v(n,e){if(n=d(n),e=b(e),n.type.indexOf("hsl")!==-1)n.values[2]+=(100-n.values[2])*e;else if(n.type.indexOf("rgb")!==-1)for(let a=0;a<3;a+=1)n.values[a]+=(255-n.values[a])*e;else if(n.type.indexOf("color")!==-1)for(let a=0;a<3;a+=1)n.values[a]+=(1-n.values[a])*e;return h(n)}const L=p(i.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m4.59-12.42L10 14.17l-2.59-2.58L6 13l4 4 8-8z"}),"CheckCircleOutlineOutlined"),B=p(i.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"ErrorOutline"),T=p(i.jsx("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined"),_=p(i.jsx("path",{d:"M12 5.99 19.53 19H4.47zM12 2 1 21h22zm1 14h-2v2h2zm0-6h-2v4h2z"}),"ReportProblemOutlined"),t=n=>n.palette.mode==="light"?C:v,l=n=>n.palette.mode==="light"?v:C,q=N(n=>({root:{...n.typography.body2,borderRadius:n.shape.borderRadius,backgroundColor:"transparent",display:"flex",padding:"6px 16px"},standardSuccess:{color:t(n)(n.palette.success.main,.6),backgroundColor:l(n)(n.palette.success.main,.9),"& $icon":{color:n.palette.success.main}},standardInfo:{color:t(n)(n.palette.info.main,.6),backgroundColor:l(n)(n.palette.info.main,.9),"& $icon":{color:n.palette.info.main}},standardWarning:{color:t(n)(n.palette.warning.main,.6),backgroundColor:l(n)(n.palette.warning.main,.9),"& $icon":{color:n.palette.warning.main}},standardError:{color:t(n)(n.palette.error.main,.6),backgroundColor:l(n)(n.palette.error.main,.9),"& $icon":{color:n.palette.error.main}},outlinedSuccess:{color:t(n)(n.palette.success.main,.6),border:`1px solid ${n.palette.success.main}`,"& $icon":{color:n.palette.success.main}},outlinedInfo:{color:t(n)(n.palette.info.main,.6),border:`1px solid ${n.palette.info.main}`,"& $icon":{color:n.palette.info.main}},outlinedWarning:{color:t(n)(n.palette.warning.main,.6),border:`1px solid ${n.palette.warning.main}`,"& $icon":{color:n.palette.warning.main}},outlinedError:{color:t(n)(n.palette.error.main,.6),border:`1px solid ${n.palette.error.main}`,"& $icon":{color:n.palette.error.main}},filledSuccess:{color:"#fff",fontWeight:n.typography.fontWeightMedium,backgroundColor:n.palette.success.main},filledInfo:{color:"#fff",fontWeight:n.typography.fontWeightMedium,backgroundColor:n.palette.info.main},filledWarning:{color:"#fff",fontWeight:n.typography.fontWeightMedium,backgroundColor:n.palette.warning.main},filledError:{color:"#fff",fontWeight:n.typography.fontWeightMedium,backgroundColor:n.palette.error.main},icon:{marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9},message:{padding:"8px 0",display:"flex",flexDirection:"column",justifyContent:"center"},action:{display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}})),y={success:i.jsx(L,{fontSize:"inherit"}),warning:i.jsx(_,{fontSize:"inherit"}),error:i.jsx(B,{fontSize:"inherit"}),info:i.jsx(T,{fontSize:"inherit"})},D=w.forwardRef(function(e,a){const r=q(),{action:o,children:s,className:$,closeText:f="Close",color:O,icon:u,iconMapping:j=y,onClose:g,role:S="alert",severity:c="success",variant:z="standard",...M}=e,m=o!=null;return i.jsxs(W,{role:S,square:!0,elevation:0,className:R(r.root,r[`${z}${I(O||c)}`],$),ref:a,...M,children:[u!==!1?i.jsx("div",{className:r.icon,children:u||j[c]||y[c]}):null,i.jsx("div",{className:r.message,children:s}),m?i.jsx("div",{className:r.action,children:o}):null,!m&&g?i.jsx("div",{className:r.action,children:i.jsx(E,{size:"small","aria-label":f,title:f,color:"inherit",onClick:g,children:i.jsx(A,{fontSize:"small"})})}):null]})});D.__docgenInfo={description:`Alert component wrapper around MUI Paper with severity styling.
1
+ import{M as x,N as k,j as i,R as w,p as I}from"./iframe-DO8BaJAw.js";import{c as R}from"./index-Bx486E3T.js";import{P as W}from"./Paper-qzkegRQN.js";import{I as E}from"./IconButton-Cb9_2fe-.js";import{C as A}from"./Close-CbvuEges.js";import{m as N}from"./makeStyles-1sdzB3LA.js";import{c as p}from"./createSvgIcon-Dhw1ZPnl.js";function b(n,e=0,a=1){return k(n,e,a)}function P(n){n=n.slice(1);const e=new RegExp(`.{1,${n.length>=6?2:1}}`,"g");let a=n.match(e);return a&&a[0].length===1&&(a=a.map(r=>r+r)),a?`rgb${a.length===4?"a":""}(${a.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function d(n){if(n.type)return n;if(n.charAt(0)==="#")return d(P(n));const e=n.indexOf("("),a=n.substring(0,e);if(["rgb","rgba","hsl","hsla","color"].indexOf(a)===-1)throw new Error(x(9,n));let r=n.substring(e+1,n.length-1),o;if(a==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o)===-1)throw new Error(x(10,o))}else r=r.split(",");return r=r.map(s=>parseFloat(s)),{type:a,values:r,colorSpace:o}}function h(n){const{type:e,colorSpace:a}=n;let{values:r}=n;return e.indexOf("rgb")!==-1?r=r.map((o,s)=>s<3?parseInt(o,10):o):e.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),e.indexOf("color")!==-1?r=`${a} ${r.join(" ")}`:r=`${r.join(", ")}`,`${e}(${r})`}function C(n,e){if(n=d(n),e=b(e),n.type.indexOf("hsl")!==-1)n.values[2]*=1-e;else if(n.type.indexOf("rgb")!==-1||n.type.indexOf("color")!==-1)for(let a=0;a<3;a+=1)n.values[a]*=1-e;return h(n)}function v(n,e){if(n=d(n),e=b(e),n.type.indexOf("hsl")!==-1)n.values[2]+=(100-n.values[2])*e;else if(n.type.indexOf("rgb")!==-1)for(let a=0;a<3;a+=1)n.values[a]+=(255-n.values[a])*e;else if(n.type.indexOf("color")!==-1)for(let a=0;a<3;a+=1)n.values[a]+=(1-n.values[a])*e;return h(n)}const L=p(i.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m4.59-12.42L10 14.17l-2.59-2.58L6 13l4 4 8-8z"}),"CheckCircleOutlineOutlined"),B=p(i.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"ErrorOutline"),T=p(i.jsx("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined"),_=p(i.jsx("path",{d:"M12 5.99 19.53 19H4.47zM12 2 1 21h22zm1 14h-2v2h2zm0-6h-2v4h2z"}),"ReportProblemOutlined"),t=n=>n.palette.mode==="light"?C:v,l=n=>n.palette.mode==="light"?v:C,q=N(n=>({root:{...n.typography.body2,borderRadius:n.shape.borderRadius,backgroundColor:"transparent",display:"flex",padding:"6px 16px"},standardSuccess:{color:t(n)(n.palette.success.main,.6),backgroundColor:l(n)(n.palette.success.main,.9),"& $icon":{color:n.palette.success.main}},standardInfo:{color:t(n)(n.palette.info.main,.6),backgroundColor:l(n)(n.palette.info.main,.9),"& $icon":{color:n.palette.info.main}},standardWarning:{color:t(n)(n.palette.warning.main,.6),backgroundColor:l(n)(n.palette.warning.main,.9),"& $icon":{color:n.palette.warning.main}},standardError:{color:t(n)(n.palette.error.main,.6),backgroundColor:l(n)(n.palette.error.main,.9),"& $icon":{color:n.palette.error.main}},outlinedSuccess:{color:t(n)(n.palette.success.main,.6),border:`1px solid ${n.palette.success.main}`,"& $icon":{color:n.palette.success.main}},outlinedInfo:{color:t(n)(n.palette.info.main,.6),border:`1px solid ${n.palette.info.main}`,"& $icon":{color:n.palette.info.main}},outlinedWarning:{color:t(n)(n.palette.warning.main,.6),border:`1px solid ${n.palette.warning.main}`,"& $icon":{color:n.palette.warning.main}},outlinedError:{color:t(n)(n.palette.error.main,.6),border:`1px solid ${n.palette.error.main}`,"& $icon":{color:n.palette.error.main}},filledSuccess:{color:"#fff",fontWeight:n.typography.fontWeightMedium,backgroundColor:n.palette.success.main},filledInfo:{color:"#fff",fontWeight:n.typography.fontWeightMedium,backgroundColor:n.palette.info.main},filledWarning:{color:"#fff",fontWeight:n.typography.fontWeightMedium,backgroundColor:n.palette.warning.main},filledError:{color:"#fff",fontWeight:n.typography.fontWeightMedium,backgroundColor:n.palette.error.main},icon:{marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9},message:{padding:"8px 0",display:"flex",flexDirection:"column",justifyContent:"center"},action:{display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}})),y={success:i.jsx(L,{fontSize:"inherit"}),warning:i.jsx(_,{fontSize:"inherit"}),error:i.jsx(B,{fontSize:"inherit"}),info:i.jsx(T,{fontSize:"inherit"})},D=w.forwardRef(function(e,a){const r=q(),{action:o,children:s,className:$,closeText:f="Close",color:O,icon:u,iconMapping:j=y,onClose:g,role:S="alert",severity:c="success",variant:z="standard",...M}=e,m=o!=null;return i.jsxs(W,{role:S,square:!0,elevation:0,className:R(r.root,r[`${z}${I(O||c)}`],$),ref:a,...M,children:[u!==!1?i.jsx("div",{className:r.icon,children:u||j[c]||y[c]}):null,i.jsx("div",{className:r.message,children:s}),m?i.jsx("div",{className:r.action,children:o}):null,!m&&g?i.jsx("div",{className:r.action,children:i.jsx(E,{size:"small","aria-label":f,title:f,color:"inherit",onClick:g,children:i.jsx(A,{fontSize:"small"})})}):null]})});D.__docgenInfo={description:`Alert component wrapper around MUI Paper with severity styling.
2
2
 
3
3
  @param {AlertProps} props
4
4
  @param {AlertRef} ref
@@ -0,0 +1,3 @@
1
+ import{j as e,r as m}from"./iframe-DO8BaJAw.js";import{A as s}from"./Alert-DEM4J89t.js";import"./preload-helper-PPVm8Dsz.js";import"./index-Bx486E3T.js";import"./Paper-qzkegRQN.js";import"./styled-jzrQGA5W.js";import"./IconButton-Cb9_2fe-.js";import"./ButtonBase-Clx5JnRy.js";import"./TransitionGroupContext-C3sqH9Ai.js";import"./Close-CbvuEges.js";import"./createSvgIcon-Dhw1ZPnl.js";import"./SvgIcon-B4njL0mU.js";import"./makeStyles-1sdzB3LA.js";const O={title:"Example/Alert",component:s,tags:["autodocs"]},p=t=>{const[o,a]=m.useState(!1);return e.jsx(s,{...t,onClick:()=>a(!o),children:o?"ON":"OFF"})},r={render:t=>e.jsx(p,{...t})};r.parameters={...r.parameters,docs:{...r.parameters?.docs,source:{originalSource:`{
2
+ render: args => <ControlledAlert {...args} />
3
+ }`,...r.parameters?.docs?.source}}};const F=["Controlled"];export{r as Controlled,F as __namedExportsOrder,O as default};