@telefonica/mistica 17.3.0 → 17.4.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 (334) hide show
  1. package/css/blau.css +24 -16
  2. package/css/esimflag.css +35 -18
  3. package/css/mistica.css +1 -1
  4. package/css/movistar.css +29 -18
  5. package/css/o2.css +26 -18
  6. package/css/telefonica.css +38 -18
  7. package/css/vivo-evolution.css +66 -20
  8. package/css/vivo.css +26 -18
  9. package/dist/accordion.css-mistica.js +10 -10
  10. package/dist/align.css-mistica.js +1 -1
  11. package/dist/autocomplete.css-mistica.js +4 -4
  12. package/dist/avatar.css-mistica.js +1 -1
  13. package/dist/badge.css-mistica.js +1 -1
  14. package/dist/box.css-mistica.js +13 -13
  15. package/dist/boxed.css-mistica.js +24 -24
  16. package/dist/boxed.d.ts +9 -0
  17. package/dist/boxed.js +18 -15
  18. package/dist/button-group.css-mistica.js +1 -1
  19. package/dist/button-layout.css-mistica.js +19 -19
  20. package/dist/button.css-mistica.js +50 -50
  21. package/dist/callout.css-mistica.js +13 -13
  22. package/dist/card-internal.css-mistica.js +22 -22
  23. package/dist/carousel.css-mistica.js +30 -30
  24. package/dist/checkbox.css-mistica.js +15 -15
  25. package/dist/chip.css-mistica.js +18 -18
  26. package/dist/circle.css-mistica.js +2 -2
  27. package/dist/community/advanced-data-card.css-mistica.js +19 -19
  28. package/dist/community/ai-card.css-mistica.js +12 -12
  29. package/dist/community/blocks.css-mistica.js +1 -1
  30. package/dist/community/cyber/example-component.css-mistica.js +1 -1
  31. package/dist/community/example-component.css-mistica.js +2 -2
  32. package/dist/community/skins/cyber-skin.js +19 -17
  33. package/dist/counter.css-mistica.js +6 -6
  34. package/dist/cover-hero.css-mistica.js +7 -7
  35. package/dist/credit-card-number-field.css-mistica.js +3 -3
  36. package/dist/date-field.css-mistica.js +1 -1
  37. package/dist/date-time-picker.css-mistica.js +1 -1
  38. package/dist/dialog.css-mistica.js +10 -10
  39. package/dist/divider.css-mistica.js +5 -5
  40. package/dist/double-field.css-mistica.js +2 -2
  41. package/dist/drawer.css-mistica.js +4 -4
  42. package/dist/empty-state-card.css-mistica.js +1 -1
  43. package/dist/empty-state.css-mistica.js +8 -8
  44. package/dist/fade-in.css-mistica.js +1 -1
  45. package/dist/feedback.css-mistica.js +5 -5
  46. package/dist/file-upload.css-mistica.js +10 -10
  47. package/dist/fixed-footer-layout.css-mistica.js +6 -6
  48. package/dist/form.css-mistica.js +1 -1
  49. package/dist/generated/mistica-icons/icon-panel-collapse-regular.js +165 -0
  50. package/dist/generated/mistica-icons/icon-panel-expand-regular.js +159 -0
  51. package/dist/grid-layout.css-mistica.js +3 -3
  52. package/dist/grid.css-mistica.js +120 -120
  53. package/dist/header.css-mistica.js +1 -1
  54. package/dist/hero.css-mistica.js +4 -4
  55. package/dist/horizontal-scroll.css-mistica.js +1 -1
  56. package/dist/icon-button.css-mistica.js +53 -53
  57. package/dist/icons/icon-chevron.css-mistica.js +2 -2
  58. package/dist/icons/icon-error.css-mistica.js +1 -1
  59. package/dist/image.css-mistica.js +8 -8
  60. package/dist/index.d.ts +5 -0
  61. package/dist/index.js +10 -1
  62. package/dist/inline.css-mistica.js +11 -11
  63. package/dist/list.css-mistica.js +40 -28
  64. package/dist/list.css.d.ts +2 -0
  65. package/dist/list.d.ts +3 -1
  66. package/dist/list.js +176 -165
  67. package/dist/loading-bar.css-mistica.js +1 -1
  68. package/dist/loading-screen.css-mistica.js +12 -12
  69. package/dist/logo.css-mistica.js +5 -5
  70. package/dist/menu.css-mistica.js +13 -13
  71. package/dist/mobile-navigation-menu.d.ts +26 -0
  72. package/dist/mobile-navigation-menu.js +145 -0
  73. package/dist/mosaic.css-mistica.js +1 -1
  74. package/dist/navigation-bar.css-mistica.js +31 -97
  75. package/dist/navigation-bar.css.d.ts +0 -24
  76. package/dist/navigation-bar.d.ts +3 -38
  77. package/dist/navigation-bar.js +399 -586
  78. package/dist/navigation-breadcrumbs.css-mistica.js +1 -1
  79. package/dist/navigation-shared.css-mistica.js +79 -0
  80. package/dist/navigation-shared.css.d.ts +26 -0
  81. package/dist/navigation-shared.d.ts +66 -0
  82. package/dist/navigation-shared.js +264 -0
  83. package/dist/package-version.js +1 -1
  84. package/dist/pagination.css-mistica.js +22 -22
  85. package/dist/pin-field.css-mistica.js +4 -4
  86. package/dist/popover.css-mistica.js +1 -1
  87. package/dist/portal.d.ts +1 -1
  88. package/dist/progress-bar.css-mistica.js +7 -7
  89. package/dist/radio-button.css-mistica.js +27 -27
  90. package/dist/rating.css-mistica.js +4 -4
  91. package/dist/responsive-layout.css-mistica.js +6 -6
  92. package/dist/screen-reader-only.css-mistica.js +1 -1
  93. package/dist/select.css-mistica.js +21 -21
  94. package/dist/sheet-action-row.css-mistica.js +1 -1
  95. package/dist/sheet-common.css-mistica.js +7 -7
  96. package/dist/sheet-info.css-mistica.js +1 -1
  97. package/dist/sidenav-bar-context.d.ts +25 -0
  98. package/dist/sidenav-bar-context.js +72 -0
  99. package/dist/sidenav-bar-data.d.ts +15 -0
  100. package/dist/sidenav-bar-data.js +38 -0
  101. package/dist/sidenav-bar-first-level-item.d.ts +42 -0
  102. package/dist/sidenav-bar-first-level-item.js +174 -0
  103. package/dist/sidenav-bar-keyboard.d.ts +13 -0
  104. package/dist/sidenav-bar-keyboard.js +314 -0
  105. package/dist/sidenav-bar-layout.css-mistica.js +28 -0
  106. package/dist/sidenav-bar-layout.css.d.ts +5 -0
  107. package/dist/sidenav-bar-layout.d.ts +22 -0
  108. package/dist/sidenav-bar-layout.js +103 -0
  109. package/dist/sidenav-bar-mobile.d.ts +24 -0
  110. package/dist/sidenav-bar-mobile.js +332 -0
  111. package/dist/sidenav-bar-motion.d.ts +32 -0
  112. package/dist/sidenav-bar-motion.js +84 -0
  113. package/dist/sidenav-bar-panel.d.ts +31 -0
  114. package/dist/sidenav-bar-panel.js +208 -0
  115. package/dist/sidenav-bar-row.d.ts +82 -0
  116. package/dist/sidenav-bar-row.js +230 -0
  117. package/dist/sidenav-bar-second-level-item.d.ts +43 -0
  118. package/dist/sidenav-bar-second-level-item.js +89 -0
  119. package/dist/sidenav-bar-section.d.ts +23 -0
  120. package/dist/sidenav-bar-section.js +167 -0
  121. package/dist/sidenav-bar-types.d.ts +192 -0
  122. package/dist/sidenav-bar-types.js +11 -0
  123. package/dist/sidenav-bar.css-mistica.js +325 -0
  124. package/dist/sidenav-bar.css.d.ts +93 -0
  125. package/dist/sidenav-bar.d.ts +102 -0
  126. package/dist/sidenav-bar.js +492 -0
  127. package/dist/skeletons.css-mistica.js +8 -8
  128. package/dist/skins/blau.js +12 -8
  129. package/dist/skins/esimflag.js +13 -9
  130. package/dist/skins/movistar.js +13 -9
  131. package/dist/skins/o2.js +13 -9
  132. package/dist/skins/skin-contract.css-mistica.js +735 -731
  133. package/dist/skins/skin-contract.css.d.ts +4 -0
  134. package/dist/skins/telefonica.js +13 -9
  135. package/dist/skins/types/colors.d.ts +2 -0
  136. package/dist/skins/vivo-evolution.js +14 -10
  137. package/dist/skins/vivo.js +13 -9
  138. package/dist/skip-link.css-mistica.js +2 -2
  139. package/dist/slider.css-mistica.js +24 -24
  140. package/dist/snackbar.css-mistica.js +14 -14
  141. package/dist/spinner.css-mistica.js +1 -1
  142. package/dist/square.css-mistica.js +1 -1
  143. package/dist/stack.css-mistica.js +5 -5
  144. package/dist/stacking-group.css-mistica.js +1 -1
  145. package/dist/stepper.css-mistica.js +9 -9
  146. package/dist/switch-component.css-mistica.js +48 -42
  147. package/dist/switch-component.css.d.ts +2 -0
  148. package/dist/switch-component.js +18 -18
  149. package/dist/table.css-mistica.js +9 -9
  150. package/dist/tabs.css-mistica.js +22 -22
  151. package/dist/tag.css-mistica.js +3 -3
  152. package/dist/text-field-base.css-mistica.js +19 -19
  153. package/dist/text-field-components.css-mistica.js +10 -10
  154. package/dist/text-link.css-mistica.js +6 -6
  155. package/dist/text-tokens.d.ts +6 -0
  156. package/dist/text-tokens.js +157 -133
  157. package/dist/text.css-mistica.js +6 -6
  158. package/dist/timeline.css-mistica.js +11 -11
  159. package/dist/timer.css-mistica.js +6 -6
  160. package/dist/tooltip.css-mistica.js +2 -2
  161. package/dist/touchable.css-mistica.js +4 -4
  162. package/dist/utils/aspect-ratio-support.css-mistica.js +2 -2
  163. package/dist/video.css-mistica.js +1 -1
  164. package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  165. package/dist-es/accordion.css-mistica.js +7 -7
  166. package/dist-es/align.css-mistica.js +1 -1
  167. package/dist-es/autocomplete.css-mistica.js +2 -2
  168. package/dist-es/avatar.css-mistica.js +1 -1
  169. package/dist-es/badge.css-mistica.js +1 -1
  170. package/dist-es/box.css-mistica.js +13 -13
  171. package/dist-es/boxed.css-mistica.js +23 -23
  172. package/dist-es/boxed.js +25 -25
  173. package/dist-es/button-group.css-mistica.js +1 -1
  174. package/dist-es/button-layout.css-mistica.js +16 -16
  175. package/dist-es/button.css-mistica.js +38 -38
  176. package/dist-es/callout.css-mistica.js +12 -12
  177. package/dist-es/card-internal.css-mistica.js +17 -17
  178. package/dist-es/carousel.css-mistica.js +10 -10
  179. package/dist-es/checkbox.css-mistica.js +13 -13
  180. package/dist-es/chip.css-mistica.js +17 -17
  181. package/dist-es/circle.css-mistica.js +2 -2
  182. package/dist-es/community/advanced-data-card.css-mistica.js +7 -7
  183. package/dist-es/community/ai-card.css-mistica.js +4 -4
  184. package/dist-es/community/blocks.css-mistica.js +1 -1
  185. package/dist-es/community/cyber/example-component.css-mistica.js +1 -1
  186. package/dist-es/community/example-component.css-mistica.js +2 -2
  187. package/dist-es/community/skins/cyber-skin.js +19 -17
  188. package/dist-es/counter.css-mistica.js +2 -2
  189. package/dist-es/cover-hero.css-mistica.js +4 -4
  190. package/dist-es/credit-card-number-field.css-mistica.js +3 -3
  191. package/dist-es/date-field.css-mistica.js +1 -1
  192. package/dist-es/date-time-picker.css-mistica.js +1 -1
  193. package/dist-es/dialog.css-mistica.js +5 -5
  194. package/dist-es/divider.css-mistica.js +5 -5
  195. package/dist-es/double-field.css-mistica.js +2 -2
  196. package/dist-es/drawer.css-mistica.js +2 -2
  197. package/dist-es/empty-state-card.css-mistica.js +1 -1
  198. package/dist-es/empty-state.css-mistica.js +7 -7
  199. package/dist-es/fade-in.css-mistica.js +1 -1
  200. package/dist-es/feedback.css-mistica.js +2 -2
  201. package/dist-es/file-upload.css-mistica.js +8 -8
  202. package/dist-es/fixed-footer-layout.css-mistica.js +3 -3
  203. package/dist-es/form.css-mistica.js +1 -1
  204. package/dist-es/generated/mistica-icons/icon-panel-collapse-regular.js +115 -0
  205. package/dist-es/generated/mistica-icons/icon-panel-expand-regular.js +109 -0
  206. package/dist-es/grid-layout.css-mistica.js +3 -3
  207. package/dist-es/grid.css-mistica.js +120 -120
  208. package/dist-es/header.css-mistica.js +1 -1
  209. package/dist-es/hero.css-mistica.js +3 -3
  210. package/dist-es/horizontal-scroll.css-mistica.js +1 -1
  211. package/dist-es/icon-button.css-mistica.js +53 -53
  212. package/dist-es/icons/icon-chevron.css-mistica.js +2 -2
  213. package/dist-es/icons/icon-error.css-mistica.js +1 -1
  214. package/dist-es/image.css-mistica.js +4 -4
  215. package/dist-es/index.js +2279 -2276
  216. package/dist-es/inline.css-mistica.js +11 -11
  217. package/dist-es/list.css-mistica.js +8 -2
  218. package/dist-es/list.js +275 -264
  219. package/dist-es/loading-bar.css-mistica.js +1 -1
  220. package/dist-es/loading-screen.css-mistica.js +5 -5
  221. package/dist-es/logo.css-mistica.js +5 -5
  222. package/dist-es/menu.css-mistica.js +13 -13
  223. package/dist-es/mobile-navigation-menu.js +90 -0
  224. package/dist-es/mosaic.css-mistica.js +1 -1
  225. package/dist-es/navigation-bar.css-mistica.js +11 -20
  226. package/dist-es/navigation-bar.js +469 -656
  227. package/dist-es/navigation-breadcrumbs.css-mistica.js +1 -1
  228. package/dist-es/navigation-shared.css-mistica.js +11 -0
  229. package/dist-es/navigation-shared.js +192 -0
  230. package/dist-es/package-version.js +1 -1
  231. package/dist-es/pagination.css-mistica.js +19 -19
  232. package/dist-es/pin-field.css-mistica.js +2 -2
  233. package/dist-es/popover.css-mistica.js +1 -1
  234. package/dist-es/progress-bar.css-mistica.js +7 -7
  235. package/dist-es/radio-button.css-mistica.js +22 -22
  236. package/dist-es/rating.css-mistica.js +3 -3
  237. package/dist-es/responsive-layout.css-mistica.js +6 -6
  238. package/dist-es/screen-reader-only.css-mistica.js +1 -1
  239. package/dist-es/select.css-mistica.js +18 -18
  240. package/dist-es/sheet-action-row.css-mistica.js +1 -1
  241. package/dist-es/sheet-common.css-mistica.js +2 -2
  242. package/dist-es/sheet-info.css-mistica.js +1 -1
  243. package/dist-es/sidenav-bar-context.js +14 -0
  244. package/dist-es/sidenav-bar-data.js +12 -0
  245. package/dist-es/sidenav-bar-first-level-item.js +124 -0
  246. package/dist-es/sidenav-bar-keyboard.js +253 -0
  247. package/dist-es/sidenav-bar-layout.css-mistica.js +2 -0
  248. package/dist-es/sidenav-bar-layout.js +86 -0
  249. package/dist-es/sidenav-bar-mobile.js +277 -0
  250. package/dist-es/sidenav-bar-motion.js +26 -0
  251. package/dist-es/sidenav-bar-panel.js +146 -0
  252. package/dist-es/sidenav-bar-row.js +208 -0
  253. package/dist-es/sidenav-bar-second-level-item.js +72 -0
  254. package/dist-es/sidenav-bar-section.js +112 -0
  255. package/dist-es/sidenav-bar-types.js +2 -0
  256. package/dist-es/sidenav-bar.css-mistica.js +74 -0
  257. package/dist-es/sidenav-bar.js +429 -0
  258. package/dist-es/skeletons.css-mistica.js +7 -7
  259. package/dist-es/skins/blau.js +12 -8
  260. package/dist-es/skins/esimflag.js +13 -9
  261. package/dist-es/skins/movistar.js +13 -9
  262. package/dist-es/skins/o2.js +13 -9
  263. package/dist-es/skins/skin-contract.css-mistica.js +735 -731
  264. package/dist-es/skins/telefonica.js +13 -9
  265. package/dist-es/skins/vivo-evolution.js +14 -10
  266. package/dist-es/skins/vivo.js +13 -9
  267. package/dist-es/skip-link.css-mistica.js +2 -2
  268. package/dist-es/slider.css-mistica.js +20 -20
  269. package/dist-es/snackbar.css-mistica.js +5 -5
  270. package/dist-es/spinner.css-mistica.js +1 -1
  271. package/dist-es/square.css-mistica.js +1 -1
  272. package/dist-es/stack.css-mistica.js +5 -5
  273. package/dist-es/stacking-group.css-mistica.js +1 -1
  274. package/dist-es/stepper.css-mistica.js +3 -3
  275. package/dist-es/style.css +1 -1
  276. package/dist-es/switch-component.css-mistica.js +37 -37
  277. package/dist-es/switch-component.js +26 -26
  278. package/dist-es/table.css-mistica.js +9 -9
  279. package/dist-es/tabs.css-mistica.js +19 -19
  280. package/dist-es/tag.css-mistica.js +2 -2
  281. package/dist-es/text-field-base.css-mistica.js +17 -17
  282. package/dist-es/text-field-components.css-mistica.js +4 -4
  283. package/dist-es/text-link.css-mistica.js +6 -6
  284. package/dist-es/text-tokens.js +82 -67
  285. package/dist-es/text.css-mistica.js +6 -6
  286. package/dist-es/timeline.css-mistica.js +10 -10
  287. package/dist-es/timer.css-mistica.js +6 -6
  288. package/dist-es/tooltip.css-mistica.js +2 -2
  289. package/dist-es/touchable.css-mistica.js +2 -2
  290. package/dist-es/utils/aspect-ratio-support.css-mistica.js +2 -2
  291. package/dist-es/video.css-mistica.js +1 -1
  292. package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  293. package/package.json +2 -1
  294. package/src/boxed.css.ts +1 -0
  295. package/src/boxed.tsx +18 -5
  296. package/src/callout.css.ts +4 -2
  297. package/src/community/skins/cyber-skin.tsx +19 -16
  298. package/src/index.tsx +14 -0
  299. package/src/list.css.ts +36 -1
  300. package/src/list.tsx +370 -344
  301. package/src/mobile-navigation-menu.tsx +168 -0
  302. package/src/navigation-bar.css.ts +2 -267
  303. package/src/navigation-bar.tsx +77 -370
  304. package/src/navigation-shared.css.ts +289 -0
  305. package/src/navigation-shared.tsx +262 -0
  306. package/src/package-version.tsx +1 -1
  307. package/src/portal.tsx +1 -1
  308. package/src/sidenav-bar-context.tsx +41 -0
  309. package/src/sidenav-bar-data.ts +49 -0
  310. package/src/sidenav-bar-first-level-item.tsx +203 -0
  311. package/src/sidenav-bar-keyboard.tsx +393 -0
  312. package/src/sidenav-bar-layout.css.ts +89 -0
  313. package/src/sidenav-bar-layout.tsx +61 -0
  314. package/src/sidenav-bar-mobile.tsx +302 -0
  315. package/src/sidenav-bar-motion.tsx +70 -0
  316. package/src/sidenav-bar-panel.tsx +269 -0
  317. package/src/sidenav-bar-row.tsx +272 -0
  318. package/src/sidenav-bar-second-level-item.tsx +99 -0
  319. package/src/sidenav-bar-section.tsx +98 -0
  320. package/src/sidenav-bar-types.ts +224 -0
  321. package/src/sidenav-bar.css.ts +1018 -0
  322. package/src/sidenav-bar.tsx +821 -0
  323. package/src/skins/blau.tsx +12 -8
  324. package/src/skins/esimflag.tsx +13 -9
  325. package/src/skins/movistar.tsx +13 -9
  326. package/src/skins/o2.tsx +13 -9
  327. package/src/skins/skin-contract.css.ts +2 -0
  328. package/src/skins/telefonica.tsx +13 -9
  329. package/src/skins/types/colors.tsx +2 -0
  330. package/src/skins/vivo-evolution.tsx +14 -10
  331. package/src/skins/vivo.tsx +13 -9
  332. package/src/switch-component.css.ts +20 -0
  333. package/src/switch-component.tsx +9 -1
  334. package/src/text-tokens.tsx +24 -0
@@ -0,0 +1,102 @@
1
+ import type { Variant } from './theme-variant-context';
2
+ import type { ExclusifyUnion } from './utils/utility-types';
3
+ import type { DataAttributes } from './utils/types';
4
+ import type { SidenavEntry, SidenavLogo, SidenavSlot } from './sidenav-bar-types';
5
+ type SidenavBarBaseProps = {
6
+ /**
7
+ * First-level entries of the body. Each entry is either a section with items, or a stand-alone item
8
+ * that needs no section.
9
+ * @see SidenavEntry
10
+ * @see SidenavSection
11
+ * @see SidenavFirstLevelItem
12
+ */
13
+ entries?: ReadonlyArray<SidenavEntry>;
14
+ /** Accessible name of the navigation landmark. Defaults to a localized "Main navigation". */
15
+ 'aria-label'?: string;
16
+ /** Color variant (default, brand, alternative, negative, media). @default 'default' */
17
+ variant?: Variant;
18
+ /** Width of expanded sidenav in pixels. The second column takes the same width. @default 240 */
19
+ width?: number;
20
+ /** Opens the children of a parent item in a second column, to the right of the sidenav.
21
+ * @default false */
22
+ doublePanel?: boolean;
23
+ /** Logo of the header. Defaults to the isotype of the skin at 32px, in both the expanded and the
24
+ * collapsed state. It takes true for that same default, false to hide the logo, an element of your
25
+ * own, or a function that receives the collapsed state and returns one logo for each state. The
26
+ * collapsed rail clamps the width of the logo to 32px, and the spot is at least 32px tall: a taller
27
+ * logo of your own makes the spot grow. The mobile top bar matches the main navigation
28
+ * bar: it shows the isotype at 40px, and it reports a collapsed state of false.
29
+ * @see SidenavLogoRenderProps */
30
+ logo?: SidenavLogo;
31
+ /** Custom content below logo/collapse in header. It takes an element, or a function that receives the
32
+ * collapse state and returns the content for that state.
33
+ * @see SidenavSlotRenderProps */
34
+ headerSlot?: SidenavSlot;
35
+ /** Custom background color of the whole sidenav: header, body, footer and second column. Use an
36
+ * opaque color: the header and the footer are sticky over the scrolling body, so a translucent color
37
+ * lets the body content show through them. */
38
+ background?: string;
39
+ /** ID of currently selected item (controlled selection). */
40
+ selectedItemId?: string | null;
41
+ /** Called when selection changes. */
42
+ onSelectedItemIdChange?: (id: string | null) => void;
43
+ dataAttributes?: DataAttributes;
44
+ };
45
+ /**
46
+ * Constraints enforced by the type system:
47
+ *
48
+ * - A boxed sidenav has its own edge, so the vertical right divider does not apply to it:
49
+ * `divider` is only accepted when `boxed` is false.
50
+ * - The collapsed state is either controlled through `collapsed` (requires `onCollapse`)
51
+ * or uncontrolled through `defaultCollapsed` (optional `onCollapse`), never both.
52
+ * - `showCollapseButton: false` removes the built-in collapse button, which is the only control that
53
+ * toggles the state from inside. Without it, the sidenav never changes the state by itself, so
54
+ * `onCollapse` has no event to report and `defaultCollapsed` has no state to seed: both are not
55
+ * allowed. That sidenav takes `collapsed` alone, and mirrors it on every render, so a control of your
56
+ * own (for example in a slot) still collapses it through that prop.
57
+ * - `fixedFooter` is only allowed when `footerSlot` is provided.
58
+ */
59
+ type SidenavBarProps = SidenavBarBaseProps & ExclusifyUnion<{
60
+ /** Renders as a floating box (with own edge). Divider not applicable. */
61
+ boxed: true;
62
+ } | {
63
+ /** Renders as full-width. @default false */
64
+ boxed?: false;
65
+ /** Shows vertical right divider (only when boxed=false). @default true */
66
+ divider?: boolean;
67
+ }> & ExclusifyUnion<{
68
+ /** Controlled collapsed state. */
69
+ collapsed: boolean;
70
+ /** Handler for collapsed state changes (required for controlled mode). */
71
+ onCollapse: (collapsed: boolean) => void;
72
+ /** Renders the built-in collapse button, which lets the user toggle the state. @default true */
73
+ showCollapseButton?: true;
74
+ } | {
75
+ /** Initial collapsed state (uncontrolled). @default false */
76
+ defaultCollapsed?: boolean;
77
+ /** Optional handler for collapsed state changes (for logging/effects). */
78
+ onCollapse?: (collapsed: boolean) => void;
79
+ /** Renders the built-in collapse button, which lets the user toggle the state. @default true */
80
+ showCollapseButton?: true;
81
+ } | {
82
+ /** Collapsed state. There is no built-in button to toggle it, so the sidenav mirrors this
83
+ * prop on every render. Unlike `defaultCollapsed`, it is not a seed: a later change of it
84
+ * moves the sidenav. @default false */
85
+ collapsed?: boolean;
86
+ /** Hides the built-in collapse button. Only a change of `collapsed` moves the sidenav. */
87
+ showCollapseButton: false;
88
+ }> & ExclusifyUnion<{
89
+ /** Custom content in footer region (at bottom of sidenav). It takes an element, or a function
90
+ * that receives the collapse state and returns the content for that state.
91
+ * @see SidenavSlotRenderProps */
92
+ footerSlot: SidenavSlot;
93
+ /** Keep footer fixed when scrolling. @default false */
94
+ fixedFooter?: boolean;
95
+ } | {
96
+ /** No footer slot. */
97
+ footerSlot?: undefined;
98
+ }>;
99
+ declare const SidenavBar: ({ entries, "aria-label": ariaLabelProp, variant, boxed, divider, showCollapseButton, collapsed: collapsedProp, defaultCollapsed, onCollapse, doublePanel, width, logo, headerSlot, footerSlot, fixedFooter, background, selectedItemId, onSelectedItemIdChange, dataAttributes, }: SidenavBarProps) => JSX.Element;
100
+ export default SidenavBar;
101
+ export { SidenavBar };
102
+ export type { SidenavBarProps };
@@ -0,0 +1,492 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: Object.getOwnPropertyDescriptor(all, name).get
10
+ });
11
+ }
12
+ _export(exports, {
13
+ get SidenavBar () {
14
+ return Co;
15
+ },
16
+ get default () {
17
+ return Co;
18
+ }
19
+ });
20
+ const _jsxruntime = require("react/jsx-runtime");
21
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
22
+ const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
23
+ const _reacttransitiongroup = require("react-transition-group");
24
+ const _sidenavbarcssmistica = require("./sidenav-bar.css-mistica.js");
25
+ const _themevariantcontext = require("./theme-variant-context.js");
26
+ const _dom = require("./utils/dom.js");
27
+ const _css = require("./utils/css.js");
28
+ const _hooks = require("./hooks.js");
29
+ const _iconbutton = require("./icon-button.js");
30
+ const _logo = require("./logo.js");
31
+ const _iconpanelexpandregular = /*#__PURE__*/ _interop_require_default(require("./generated/mistica-icons/icon-panel-expand-regular.js"));
32
+ const _iconpanelcollapseregular = /*#__PURE__*/ _interop_require_default(require("./generated/mistica-icons/icon-panel-collapse-regular.js"));
33
+ const _sidenavbarfirstlevelitem = require("./sidenav-bar-first-level-item.js");
34
+ const _sidenavbarsecondlevelitem = require("./sidenav-bar-second-level-item.js");
35
+ const _sidenavbarsection = require("./sidenav-bar-section.js");
36
+ const _sidenavbarpanel = require("./sidenav-bar-panel.js");
37
+ const _sidenavbarmobile = require("./sidenav-bar-mobile.js");
38
+ const _sidenavbarmotion = require("./sidenav-bar-motion.js");
39
+ const _sidenavbarkeyboard = require("./sidenav-bar-keyboard.js");
40
+ const _sidenavbarcontext = require("./sidenav-bar-context.js");
41
+ const _boxed = require("./boxed.js");
42
+ const _sidenavbardata = require("./sidenav-bar-data.js");
43
+ const _texttokens = require("./text-tokens.js");
44
+ const _sidenavbartypes = require("./sidenav-bar-types.js");
45
+ function _interop_require_default(obj) {
46
+ return obj && obj.__esModule ? obj : {
47
+ default: obj
48
+ };
49
+ }
50
+ function _getRequireWildcardCache(nodeInterop) {
51
+ if (typeof WeakMap !== "function") return null;
52
+ var cacheBabelInterop = new WeakMap();
53
+ var cacheNodeInterop = new WeakMap();
54
+ return (_getRequireWildcardCache = function(nodeInterop) {
55
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
56
+ })(nodeInterop);
57
+ }
58
+ function _interop_require_wildcard(obj, nodeInterop) {
59
+ if (!nodeInterop && obj && obj.__esModule) {
60
+ return obj;
61
+ }
62
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
63
+ return {
64
+ default: obj
65
+ };
66
+ }
67
+ var cache = _getRequireWildcardCache(nodeInterop);
68
+ if (cache && cache.has(obj)) {
69
+ return cache.get(obj);
70
+ }
71
+ var newObj = {
72
+ __proto__: null
73
+ };
74
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
75
+ for(var key in obj){
76
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
77
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
78
+ if (desc && (desc.get || desc.set)) {
79
+ Object.defineProperty(newObj, key, desc);
80
+ } else {
81
+ newObj[key] = obj[key];
82
+ }
83
+ }
84
+ }
85
+ newObj.default = obj;
86
+ if (cache) {
87
+ cache.set(obj, newObj);
88
+ }
89
+ return newObj;
90
+ }
91
+ function _define_property(obj, key, value) {
92
+ if (key in obj) {
93
+ Object.defineProperty(obj, key, {
94
+ value: value,
95
+ enumerable: true,
96
+ configurable: true,
97
+ writable: true
98
+ });
99
+ } else {
100
+ obj[key] = value;
101
+ }
102
+ return obj;
103
+ }
104
+ function _object_spread(target) {
105
+ for(var i = 1; i < arguments.length; i++){
106
+ var source = arguments[i] != null ? arguments[i] : {};
107
+ var ownKeys = Object.keys(source);
108
+ if (typeof Object.getOwnPropertySymbols === "function") {
109
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
110
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
111
+ }));
112
+ }
113
+ ownKeys.forEach(function(key) {
114
+ _define_property(target, key, source[key]);
115
+ });
116
+ }
117
+ return target;
118
+ }
119
+ function ownKeys(object, enumerableOnly) {
120
+ var keys = Object.keys(object);
121
+ if (Object.getOwnPropertySymbols) {
122
+ var symbols = Object.getOwnPropertySymbols(object);
123
+ if (enumerableOnly) {
124
+ symbols = symbols.filter(function(sym) {
125
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
126
+ });
127
+ }
128
+ keys.push.apply(keys, symbols);
129
+ }
130
+ return keys;
131
+ }
132
+ function _object_spread_props(target, source) {
133
+ source = source != null ? source : {};
134
+ if (Object.getOwnPropertyDescriptors) {
135
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
136
+ } else {
137
+ ownKeys(Object(source)).forEach(function(key) {
138
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
139
+ });
140
+ }
141
+ return target;
142
+ }
143
+ const be = function(e) {
144
+ let { standalone: r } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
145
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarfirstlevelitem.SidenavFirstLevelItem, {
146
+ id: e.id,
147
+ label: e.label,
148
+ asset: e.asset,
149
+ showAssetWhenExpanded: e.showAssetWhenExpanded,
150
+ rightSlot: e.rightSlot,
151
+ standalone: r,
152
+ defaultOpen: e.defaultOpen,
153
+ secondLevelItems: e.children,
154
+ href: e.href,
155
+ to: e.to,
156
+ onPress: e.onPress,
157
+ newTab: e.newTab,
158
+ onNavigate: e.onNavigate
159
+ }, e.id);
160
+ }, De = (e, r)=>(0, _sidenavbardata.getFirstLevelItems)(e).find((a)=>{
161
+ var _a_children;
162
+ return (_a_children = a.children) === null || _a_children === void 0 ? void 0 : _a_children.some((d)=>d.id === r);
163
+ }), xe = (e, r)=>(0, _sidenavbardata.getFirstLevelItems)(e).find((a)=>a.id === r), Jn = (e)=>{
164
+ const r = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), d = (u, p)=>{
165
+ var _u_children, _u_children1;
166
+ r.has(u.id) ? a.add(u.id) : r.add(u.id), p > 0 && ((_u_children = u.children) === null || _u_children === void 0 ? void 0 : _u_children.length) && console.error(`SidenavItem "${u.label}" at level ${p} cannot have children. SidenavItem supports maximum 2 levels of nesting. Only level 0 items can have children.`), (_u_children1 = u.children) === null || _u_children1 === void 0 ? void 0 : _u_children1.forEach((E)=>d(E, p + 1));
167
+ };
168
+ (0, _sidenavbardata.getFirstLevelItems)(e).forEach((u)=>d(u, 0)), a.size > 0 && console.error(`SidenavBar: duplicate item IDs found: ${Array.from(a).join(", ")}. All SidenavItem ids must be unique within a SidenavBar.`);
169
+ }, Qn = (e)=>e.map((r, a)=>{
170
+ if ((0, _sidenavbardata.isSidenavSection)(r)) {
171
+ const d = e[a - 1], u = !!r.dividerTop && !!d && (0, _sidenavbardata.isSidenavSection)(d) && !!d.dividerBottom, p = a === 0, E = a === e.length - 1;
172
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
173
+ role: "listitem",
174
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarsection.SidenavSection, {
175
+ title: r.title,
176
+ dividerTop: r.dividerTop && !p && !u,
177
+ dividerBottom: r.dividerBottom && !E,
178
+ children: r.items.map((V)=>be(V))
179
+ })
180
+ }, `${(0, _sidenavbardata.getSidenavSectionTitle)(r.title).text}-${a}`);
181
+ }
182
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
183
+ className: _sidenavbarcssmistica.standaloneItem,
184
+ role: "listitem",
185
+ children: be(r, {
186
+ standalone: !0
187
+ })
188
+ }, r.id);
189
+ }), Co = (param)=>{
190
+ let { entries: e, "aria-label": r, variant: a = "default", boxed: d = !1, divider: u = !0, showCollapseButton: p = !0, collapsed: E, defaultCollapsed: V = !1, onCollapse: M, doublePanel: c = !1, width: Q = _sidenavbarcssmistica.DEFAULT_WIDTH, logo: O, headerSlot: X, footerSlot: b, fixedFooter: T = !1, background: F, selectedItemId: v, onSelectedItemIdChange: A, dataAttributes: Y } = param;
191
+ const { isTabletOrSmaller: Ce } = (0, _hooks.useScreenSize)(), { componentProperties: Be, texts: W, t: _ } = (0, _hooks.useTheme)(), ee = r !== null && r !== void 0 ? r : W.sidenavLandmark || _(_texttokens.sidenavLandmark), h = (0, _sidenavbarmotion.useIsMotionOff)(), Le = (0, _themevariantcontext.normalizeVariant)((0, _themevariantcontext.useThemeVariant)()), [D, f] = _react.useState(()=>{
192
+ var _De;
193
+ var _De_id;
194
+ return c && e && v ? (_De_id = (_De = De(e, v)) === null || _De === void 0 ? void 0 : _De.id) !== null && _De_id !== void 0 ? _De_id : null : null;
195
+ }), z = E !== void 0, [Ne, Oe] = _react.useState(V), s = z ? !!E : Ne, L = _react.useRef(null), ne = _react.useRef(null), [x, Te] = _react.useState(null), [oe, te] = _react.useState(s);
196
+ _react.useEffect(()=>{
197
+ if (h) {
198
+ te(s);
199
+ return;
200
+ }
201
+ const o = setTimeout(()=>te(s), _sidenavbarcssmistica.COLLAPSE_DURATION_MS);
202
+ return ()=>clearTimeout(o);
203
+ }, [
204
+ s,
205
+ h
206
+ ]);
207
+ const w = s ? oe ? "collapsed" : "collapsing" : oe ? "expanding" : "expanded", [re, se] = _react.useState(null), ie = _react.useCallback((o)=>{
208
+ c && se(o), f(null), o && (A === null || A === void 0 ? void 0 : A(o));
209
+ }, [
210
+ c,
211
+ A
212
+ ]), [we, Pe] = _react.useState(v);
213
+ if (v !== we && (Pe(v), re !== null && se(null), c && e && v && re !== v)) {
214
+ const o = De(e, v);
215
+ if (o) f(o.id);
216
+ else {
217
+ var _m_children;
218
+ const m = xe(e, v);
219
+ m && !((_m_children = m.children) === null || _m_children === void 0 ? void 0 : _m_children.length) && f(null);
220
+ }
221
+ }
222
+ const [Re, ye] = _react.useState(c);
223
+ c !== Re && (ye(c), c || f(null));
224
+ var _e_length;
225
+ const [Ie, ke] = _react.useState((_e_length = e === null || e === void 0 ? void 0 : e.length) !== null && _e_length !== void 0 ? _e_length : 0);
226
+ var _e_length1, _e_length2;
227
+ ((_e_length1 = e === null || e === void 0 ? void 0 : e.length) !== null && _e_length1 !== void 0 ? _e_length1 : 0) !== Ie && (ke((_e_length2 = e === null || e === void 0 ? void 0 : e.length) !== null && _e_length2 !== void 0 ? _e_length2 : 0), f(null)), _react.useEffect(()=>{
228
+ if (!c || !D) return;
229
+ const o = (S)=>{
230
+ const ve = L.current;
231
+ ve && (S.composedPath().includes(ve) || f(null));
232
+ }, m = (S)=>{
233
+ S.key === "Escape" && f(null);
234
+ };
235
+ return document.addEventListener("click", o), document.addEventListener("keydown", m), ()=>{
236
+ document.removeEventListener("click", o), document.removeEventListener("keydown", m);
237
+ };
238
+ }, [
239
+ c,
240
+ D
241
+ ]);
242
+ const C = F ? {
243
+ backgroundColor: F
244
+ } : void 0, [H, Ve] = _react.useState(!1), [P, Me] = _react.useState(!1), [Fe, ae] = _react.useState(!1), U = _react.useRef(null), R = _react.useRef(null), y = _react.useRef(null);
245
+ _react.useEffect(()=>{
246
+ if (!y.current) return;
247
+ const o = new IntersectionObserver((param)=>{
248
+ let [S] = param;
249
+ Ve(!S.isIntersecting);
250
+ }, {
251
+ root: y.current,
252
+ threshold: 0,
253
+ rootMargin: "1px 0px 1px 0px"
254
+ }), m = new IntersectionObserver((param)=>{
255
+ let [S] = param;
256
+ Me(!S.isIntersecting);
257
+ }, {
258
+ root: y.current,
259
+ threshold: 0,
260
+ rootMargin: "1px 0px 1px 0px"
261
+ });
262
+ return U.current && o.observe(U.current), R.current && m.observe(R.current), ()=>{
263
+ o.disconnect(), m.disconnect();
264
+ };
265
+ }, []);
266
+ const j = (0, _sidenavbartypes.isSidenavMoving)(w), Ae = _react.useCallback(()=>{
267
+ if (j) return;
268
+ const o = !s;
269
+ if (!z) {
270
+ Oe(o), M === null || M === void 0 ? void 0 : M(o);
271
+ return;
272
+ }
273
+ M === null || M === void 0 ? void 0 : M(o);
274
+ }, [
275
+ s,
276
+ j,
277
+ z,
278
+ M
279
+ ]), We = _react.useMemo(()=>({
280
+ collapsed: s,
281
+ collapseState: w,
282
+ isMotionOff: h,
283
+ doublePanel: c,
284
+ panelOpenForItemId: D,
285
+ setPanelOpenForItemId: f,
286
+ selectItemAndClosePanel: ie,
287
+ containerRef: L,
288
+ selectedItemId: v !== null && v !== void 0 ? v : null
289
+ }), [
290
+ s,
291
+ w,
292
+ h,
293
+ c,
294
+ D,
295
+ ie,
296
+ L,
297
+ v
298
+ ]), _e = (0, _sidenavbarkeyboard.useSidenavRailKeyboard)(L), ze = s ? _sidenavbarcssmistica.COLLAPSED_WIDTH : Q;
299
+ process.env.NODE_ENV !== "production" && e && Jn(e);
300
+ const i = (0, _themevariantcontext.normalizeVariant)(a);
301
+ if (Ce) return /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarmobile.SidenavBarMobile, {
302
+ entries: e,
303
+ "aria-label": ee,
304
+ variant: i,
305
+ logo: O,
306
+ headerSlot: X,
307
+ footerSlot: b,
308
+ selectedItemId: v !== null && v !== void 0 ? v : null,
309
+ onSelectedItemIdChange: A,
310
+ dataAttributes: Y
311
+ });
312
+ const K = {
313
+ collapsed: s,
314
+ state: w
315
+ }, le = O === void 0 || O === !0, $ = (0, _sidenavbardata.renderSidenavLogo)(O, K, /* @__PURE__ */ (0, _jsxruntime.jsx)(_logo.Logo, {
316
+ size: _sidenavbarcssmistica.LOGO_SIZE,
317
+ type: "isotype"
318
+ })), de = p ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconbutton.IconButton, {
319
+ Icon: s ? _iconpanelexpandregular.default : _iconpanelcollapseregular.default,
320
+ type: "neutral",
321
+ backgroundType: "transparent",
322
+ small: !0,
323
+ onPress: Ae,
324
+ "aria-label": s ? W.sidenavExpand || _(_texttokens.sidenavExpand) : W.sidenavCollapse || _(_texttokens.sidenavCollapse),
325
+ "aria-expanded": !s
326
+ }) : null, q = (0, _sidenavbardata.renderSidenavSlot)(X, K), ce = (0, _sidenavbardata.renderSidenavSlot)(b, K), I = !!($ || de || q), He = d && (0, _boxed.shouldShowBoxedBorder)(i, Le, Be.showBoxedBorder), N = c && D && e ? xe(e, D) : void 0, k = N === null || N === void 0 ? void 0 : N.children, ue = !!(k === null || k === void 0 ? void 0 : k.length);
327
+ return N && (k === null || k === void 0 ? void 0 : k.length) && ((x === null || x === void 0 ? void 0 : x.label) !== N.label || (x === null || x === void 0 ? void 0 : x.children) !== k) && Te({
328
+ itemId: N.id,
329
+ label: N.label,
330
+ children: k
331
+ }), /* @__PURE__ */ (0, _jsxruntime.jsx)(_themevariantcontext.ThemeVariant, {
332
+ variant: i,
333
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarcontext.SidenavBarContext.Provider, {
334
+ value: We,
335
+ children: /* @__PURE__ */ (0, _jsxruntime.jsxs)("nav", _object_spread_props(_object_spread({
336
+ ref: L,
337
+ "aria-label": ee,
338
+ onKeyDown: _e,
339
+ className: (0, _classnames.default)(_sidenavbarcssmistica.container, {
340
+ [_sidenavbarcssmistica.withRightDivider[i]]: u && !d,
341
+ [_sidenavbarcssmistica.boxed]: d,
342
+ [_sidenavbarcssmistica.boxedBorder]: He,
343
+ [_sidenavbarcssmistica.columnsWhileMoving]: j
344
+ }),
345
+ style: (0, _css.applyCssVars)({
346
+ [_sidenavbarcssmistica.sidenavWidthVar]: `${ze}px`,
347
+ [_sidenavbarcssmistica.sidenavPanelWidthVar]: `${Q}px`,
348
+ [_sidenavbarcssmistica.collapseDurationVar]: `${h ? 0 : _sidenavbarcssmistica.COLLAPSE_DURATION_MS}ms`,
349
+ [_sidenavbarcssmistica.contentDurationVar]: `${h ? 0 : _sidenavbarcssmistica.CONTENT_DURATION_MS}ms`
350
+ })
351
+ }, (0, _dom.getPrefixedDataAttributes)(_object_spread({
352
+ testid: "SidenavBar"
353
+ }, Y))), {
354
+ children: [
355
+ /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
356
+ className: (0, _classnames.default)(_sidenavbarcssmistica.mainColumn, {
357
+ [_sidenavbarcssmistica.columnSeparator[i]]: ue || Fe
358
+ }),
359
+ children: [
360
+ I && /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
361
+ className: (0, _classnames.default)(_sidenavbarcssmistica.headerBase, _sidenavbarcssmistica.regionBackground[i], {
362
+ [_sidenavbarcssmistica.headerNegativeBoxedBackground]: d && i === "negative"
363
+ }),
364
+ style: C,
365
+ children: [
366
+ /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
367
+ className: (0, _classnames.default)(_sidenavbarcssmistica.headerControls, {
368
+ [_sidenavbarcssmistica.headerControlsCollapsed]: s
369
+ }),
370
+ children: [
371
+ $ && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
372
+ className: (0, _classnames.default)(_sidenavbarcssmistica.logo, {
373
+ [_sidenavbarcssmistica.logoDefault]: le,
374
+ [_sidenavbarcssmistica.logoCollapsed]: s
375
+ }),
376
+ "aria-hidden": le || void 0,
377
+ children: $
378
+ }),
379
+ de
380
+ ]
381
+ }),
382
+ q && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
383
+ className: (0, _classnames.default)(_sidenavbarcssmistica.headerSlot, {
384
+ [_sidenavbarcssmistica.headerSlotCollapsed]: s
385
+ }),
386
+ children: q
387
+ })
388
+ ]
389
+ }),
390
+ /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
391
+ ref: y,
392
+ className: (0, _classnames.default)(_sidenavbarcssmistica.bodyBase, _sidenavbarcssmistica.regionBackground[i], {
393
+ [_sidenavbarcssmistica.bodyWithFixedFooter]: !!b && T
394
+ }),
395
+ style: C,
396
+ onFocus: (o)=>{
397
+ const m = o.target;
398
+ try {
399
+ m.matches(":focus-visible") && m.scrollIntoView({
400
+ block: "nearest"
401
+ });
402
+ } catch (e) {}
403
+ },
404
+ children: [
405
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
406
+ ref: U
407
+ }),
408
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
409
+ className: (0, _classnames.default)(_sidenavbarcssmistica.headerScrollSpacer, {
410
+ [_sidenavbarcssmistica.regionBackground[i]]: I && H
411
+ }),
412
+ style: I && H ? C : void 0,
413
+ children: I && H && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
414
+ className: (0, _classnames.default)(_sidenavbarcssmistica.scrollSpacerDivider, _sidenavbarcssmistica.scrollDividerVariant[i])
415
+ })
416
+ }),
417
+ e && // The body is the list of the first level. Each entry is one of its items.
418
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
419
+ className: _sidenavbarcssmistica.bodyContent,
420
+ role: "list",
421
+ children: Qn(e)
422
+ }),
423
+ b && !T && /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
424
+ children: [
425
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
426
+ ref: R
427
+ }),
428
+ P && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
429
+ className: (0, _classnames.default)(_sidenavbarcssmistica.scrollDivider, _sidenavbarcssmistica.footerScrollDivider, _sidenavbarcssmistica.scrollDividerVariant[i])
430
+ }),
431
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
432
+ className: (0, _classnames.default)(_sidenavbarcssmistica.footerBase, _sidenavbarcssmistica.regionBackground[i], {
433
+ [_sidenavbarcssmistica.footerCollapsed]: s
434
+ }),
435
+ style: C,
436
+ children: ce
437
+ })
438
+ ]
439
+ }),
440
+ b && T && /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
441
+ children: [
442
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
443
+ ref: R
444
+ }),
445
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
446
+ className: (0, _classnames.default)(_sidenavbarcssmistica.footerScrollSpacer, {
447
+ [_sidenavbarcssmistica.regionBackground[i]]: P
448
+ }),
449
+ style: P ? C : void 0,
450
+ children: P && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
451
+ className: (0, _classnames.default)(_sidenavbarcssmistica.scrollSpacerDivider, _sidenavbarcssmistica.scrollDividerVariant[i])
452
+ })
453
+ })
454
+ ]
455
+ })
456
+ ]
457
+ }),
458
+ b && T && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
459
+ className: (0, _classnames.default)(_sidenavbarcssmistica.footerBase, _sidenavbarcssmistica.footerFixed, _sidenavbarcssmistica.regionBackground[i], {
460
+ [_sidenavbarcssmistica.footerCollapsed]: s
461
+ }),
462
+ style: C,
463
+ children: ce
464
+ })
465
+ ]
466
+ }),
467
+ x && /* @__PURE__ */ (0, _jsxruntime.jsx)(_reacttransitiongroup.CSSTransition, {
468
+ in: ue,
469
+ timeout: h ? 0 : _sidenavbarcssmistica.COLLAPSE_DURATION_MS,
470
+ nodeRef: ne,
471
+ classNames: _sidenavbarcssmistica.doublePanelTransitionClasses,
472
+ appear: !0,
473
+ mountOnEnter: !0,
474
+ unmountOnExit: !0,
475
+ onEnter: ()=>ae(!0),
476
+ onExited: ()=>ae(!1),
477
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarpanel.SidenavDoublePanel, {
478
+ ref: ne,
479
+ itemId: x.itemId,
480
+ label: x.label,
481
+ variant: i,
482
+ backgroundColor: F,
483
+ children: x.children.map((o)=>(0, _sidenavbarsecondlevelitem.renderSidenavSecondLevelItem)(o, {
484
+ placement: "panel"
485
+ }))
486
+ })
487
+ })
488
+ ]
489
+ }))
490
+ })
491
+ });
492
+ };
@@ -19,16 +19,16 @@ _export(exports, {
19
19
  return r;
20
20
  },
21
21
  get line () {
22
- return n;
22
+ return p;
23
23
  },
24
24
  get row () {
25
- return p;
25
+ return n;
26
26
  }
27
27
  });
28
28
  /* empty css */ /* empty css */ var o = {
29
- default: "v17_3_zopolw5 v17_3_zopolw0 v17_3_1y2v1nf99",
30
- alternative: "v17_3_zopolw6 v17_3_zopolw1 v17_3_1y2v1nf99",
31
- brand: "v17_3_zopolw7 v17_3_zopolw2 v17_3_1y2v1nf9c",
32
- negative: "v17_3_zopolw8 v17_3_zopolw3 v17_3_1y2v1nf9b",
33
- media: "v17_3_zopolw9 v17_3_zopolw4 v17_3_1y2v1nf9b"
34
- }, l = "v17_3_zopolwc v17_3_zopolwb v17_3_1y2v1nfrc", p = "v17_3_zopolwd v17_3_1y2v1nfra v17_3_1y2v1nfrp v17_3_1y2v1nfrj", r = "v17_3_zopolwe v17_3_1y2v1nfrs v17_3_1y2v1nfru", n = "v17_3_zopolwg v17_3_zopolwf v17_3_1y2v1nfrt";
29
+ default: "v17_4_zopolw5 v17_4_zopolw0 v17_4_1y2v1nf9d",
30
+ alternative: "v17_4_zopolw6 v17_4_zopolw1 v17_4_1y2v1nf9d",
31
+ brand: "v17_4_zopolw7 v17_4_zopolw2 v17_4_1y2v1nf9g",
32
+ negative: "v17_4_zopolw8 v17_4_zopolw3 v17_4_1y2v1nf9f",
33
+ media: "v17_4_zopolw9 v17_4_zopolw4 v17_4_1y2v1nf9f"
34
+ }, l = "v17_4_zopolwc v17_4_zopolwb v17_4_1y2v1nfrg", n = "v17_4_zopolwd v17_4_1y2v1nfre v17_4_1y2v1nfrt v17_4_1y2v1nfrn", r = "v17_4_zopolwe v17_4_1y2v1nfrw v17_4_1y2v1nfry", p = "v17_4_zopolwg v17_4_zopolwf v17_4_1y2v1nfrx";
@@ -86,6 +86,8 @@ const e = {
86
86
  backgroundContainerNegative: (0, _color.applyAlpha)(e.darkModeBlack, 0.4),
87
87
  backgroundContainerBrandOverBrand: e.blauBluePrimary30,
88
88
  backgroundContainerAlternative: e.blauBluePrimary20,
89
+ backgroundContainerAlternativeOverAlternative: e.white,
90
+ backgroundContainerAlternativeOverBrand: e.blauBluePrimary30,
89
91
  backgroundOverlay: (0, _color.applyAlpha)(e.blauBlueSecondary, 0.75),
90
92
  backgroundSkeleton: e.grey3,
91
93
  backgroundSkeletonInverse: e.blauBlueSecondary,
@@ -132,12 +134,12 @@ const e = {
132
134
  buttonLinkBackgroundBrandPressed: (0, _color.applyAlpha)(e.white, 0.15),
133
135
  buttonLinkBackgroundMediaPressed: (0, _color.applyAlpha)(e.white, 0.15),
134
136
  buttonLinkNeutralBackgroundPressed: e.grey1,
135
- buttonLinkNeutralBackgroundBrand: e.white,
136
- buttonLinkNeutralBackgroundBrandPressed: e.grey1,
137
- buttonLinkNeutralBackgroundNegative: e.white,
138
- buttonLinkNeutralBackgroundNegativePressed: e.grey1,
139
- buttonLinkNeutralBackgroundMedia: e.white,
140
- buttonLinkNeutralBackgroundMediaPressed: e.grey1,
137
+ buttonLinkNeutralBackgroundBrand: (0, _color.applyAlpha)(e.white, 0),
138
+ buttonLinkNeutralBackgroundBrandPressed: (0, _color.applyAlpha)(e.white, 0.15),
139
+ buttonLinkNeutralBackgroundNegative: (0, _color.applyAlpha)(e.white, 0),
140
+ buttonLinkNeutralBackgroundNegativePressed: (0, _color.applyAlpha)(e.white, 0.15),
141
+ buttonLinkNeutralBackgroundMedia: (0, _color.applyAlpha)(e.white, 0),
142
+ buttonLinkNeutralBackgroundMediaPressed: (0, _color.applyAlpha)(e.white, 0.15),
141
143
  buttonPrimaryBackground: e.blauBlueSecondary,
142
144
  buttonPrimaryBackgroundInverse: e.blauBlueSecondary,
143
145
  buttonPrimaryBackgroundNegative: e.white,
@@ -203,9 +205,9 @@ const e = {
203
205
  textLinkSnackbar: e.blauPurple30,
204
206
  textLinkNeutral: e.grey6,
205
207
  textLinkNeutralBrand: e.grey6,
206
- textLinkNeutralNegative: e.grey6,
208
+ textLinkNeutralNegative: e.white,
207
209
  textLinkNeutralAlternative: e.grey6,
208
- textLinkNeutralMedia: e.grey6,
210
+ textLinkNeutralMedia: e.white,
209
211
  textActivated: e.blauBlueSecondary,
210
212
  textBrand: e.blauBlueSecondary,
211
213
  inputBorder: e.grey4,
@@ -393,6 +395,8 @@ const e = {
393
395
  backgroundContainerNegative: e.darkModeGrey,
394
396
  backgroundContainerBrandOverBrand: e.darkModeGrey,
395
397
  backgroundContainerAlternative: e.darkModeGrey,
398
+ backgroundContainerAlternativeOverAlternative: e.darkModeGrey,
399
+ backgroundContainerAlternativeOverBrand: e.darkModeGrey,
396
400
  backgroundOverlay: (0, _color.applyAlpha)(e.darkModeGrey, 0.8),
397
401
  backgroundSkeleton: e.darkModeGrey,
398
402
  backgroundSkeletonInverse: e.darkModeGrey,