@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,82 @@
1
+ import * as React from 'react';
2
+ import type { DataAttributes } from './utils/types';
3
+ import type { SidenavAsset } from './sidenav-bar-types';
4
+ /**
5
+ * Where a row stands. The rail (a first-level row) and the accordion (a second-level row under its parent)
6
+ * move with the bar when it collapses. A panel (the dialog panel, or the second column) never moves with
7
+ * it, so a row of a panel always sees a bar at rest expanded.
8
+ */
9
+ type SidenavRowPlacement = 'rail' | 'accordion' | 'panel';
10
+ /** Props that make the row navigate. The item builds them with `useSidenavNavigation`. */
11
+ type SidenavRowNavigationProps = {
12
+ onPress: () => Promise<void>;
13
+ } | {
14
+ href: string;
15
+ newTab?: boolean;
16
+ onNavigate: () => Promise<void>;
17
+ } | {
18
+ to: string;
19
+ newTab?: boolean;
20
+ onNavigate: () => Promise<void>;
21
+ };
22
+ /** Props that make the row open and close its children instead of navigating. */
23
+ type SidenavRowToggleProps = {
24
+ onPress: () => void;
25
+ expanded: boolean;
26
+ /** Id of the dialog panel that the row opens, when it opens one. */
27
+ controls?: string;
28
+ };
29
+ type SidenavRowProps = {
30
+ /** Id of the item, written to the DOM so the keyboard code and the tests find the row. */
31
+ id?: string;
32
+ label: string;
33
+ asset?: SidenavAsset;
34
+ /** Hide the asset without removing it from the data. The collapsed rail always shows it. */
35
+ showAsset?: boolean;
36
+ rightSlot?: React.ReactNode;
37
+ /** Paint the selected background. A parent takes it for a hidden selected descendant. */
38
+ showBackground?: boolean;
39
+ /** Paint the accent bar. Only the selected item itself takes it, never a parent of it. */
40
+ showAccent?: boolean;
41
+ /** Id written on the label, so the accordion list can take its name from it. */
42
+ labelId?: string;
43
+ /** Render the chevron of a parent item, rotated when its children are open. */
44
+ chevron?: {
45
+ rotated: boolean;
46
+ direction: 'down' | 'right';
47
+ };
48
+ /**
49
+ * Where the row stands, which tells it whether the collapse motion of the bar reaches it. The context
50
+ * gives the phase of that motion, and it cannot tell the place.
51
+ */
52
+ placement: SidenavRowPlacement;
53
+ /** Show the label as a tooltip on the right, for the collapsed rail. */
54
+ tooltip?: boolean;
55
+ /** Present when the row navigates. Mutually exclusive with `toggle`. */
56
+ navigation?: SidenavRowNavigationProps;
57
+ /** Present when the row opens and closes its children. Mutually exclusive with `navigation`. */
58
+ toggle?: SidenavRowToggleProps;
59
+ /** True when the row is the current page, or holds it among its children. */
60
+ current?: boolean;
61
+ dataAttributes?: DataAttributes;
62
+ };
63
+ /**
64
+ * The visible row of an item, at both levels: the accent, the asset, the label, the right slot, the
65
+ * chevron, and the tooltip of the collapsed rail. It holds no state: `SidenavFirstLevelItem` and
66
+ * `SidenavSecondLevelItem` decide what the row shows, and this component paints it.
67
+ */
68
+ declare const SidenavRow: ({ id, label, asset, showAsset, rightSlot, showBackground, showAccent, labelId, chevron, placement, tooltip, navigation, toggle, current, dataAttributes, }: SidenavRowProps) => JSX.Element;
69
+ /**
70
+ * Builds the props that make a row navigate. Every navigation of the sidenav reports the new selection
71
+ * and closes the open panel in one call, so the selection does not reopen the column that the press
72
+ * closed.
73
+ */
74
+ declare const useSidenavNavigation: (itemId: string, props: {
75
+ onPress?: () => void;
76
+ href?: string;
77
+ to?: string;
78
+ newTab?: boolean;
79
+ onNavigate?: () => void | Promise<void>;
80
+ }) => SidenavRowNavigationProps | undefined;
81
+ export { SidenavRow, useSidenavNavigation };
82
+ export type { SidenavRowPlacement };
@@ -0,0 +1,230 @@
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 SidenavRow () {
14
+ return we;
15
+ },
16
+ get useSidenavNavigation () {
17
+ return xe;
18
+ }
19
+ });
20
+ const _jsxruntime = require("react/jsx-runtime");
21
+ const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
22
+ const _sidenavbarcssmistica = require("./sidenav-bar.css-mistica.js");
23
+ const _sidenavbarcontext = require("./sidenav-bar-context.js");
24
+ const _sidenavbarmotion = require("./sidenav-bar-motion.js");
25
+ const _dom = require("./utils/dom.js");
26
+ const _themevariantcontext = require("./theme-variant-context.js");
27
+ const _touchable = /*#__PURE__*/ _interop_require_default(require("./touchable.js"));
28
+ const _tooltip = /*#__PURE__*/ _interop_require_default(require("./tooltip.js"));
29
+ const _text = require("./text.js");
30
+ const _iconchevron = /*#__PURE__*/ _interop_require_default(require("./icons/icon-chevron.js"));
31
+ function _interop_require_default(obj) {
32
+ return obj && obj.__esModule ? obj : {
33
+ default: obj
34
+ };
35
+ }
36
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
37
+ try {
38
+ var info = gen[key](arg);
39
+ var value = info.value;
40
+ } catch (error) {
41
+ reject(error);
42
+ return;
43
+ }
44
+ if (info.done) {
45
+ resolve(value);
46
+ } else {
47
+ Promise.resolve(value).then(_next, _throw);
48
+ }
49
+ }
50
+ function _async_to_generator(fn) {
51
+ return function() {
52
+ var self = this, args = arguments;
53
+ return new Promise(function(resolve, reject) {
54
+ var gen = fn.apply(self, args);
55
+ function _next(value) {
56
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
57
+ }
58
+ function _throw(err) {
59
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
60
+ }
61
+ _next(undefined);
62
+ });
63
+ };
64
+ }
65
+ function _define_property(obj, key, value) {
66
+ if (key in obj) {
67
+ Object.defineProperty(obj, key, {
68
+ value: value,
69
+ enumerable: true,
70
+ configurable: true,
71
+ writable: true
72
+ });
73
+ } else {
74
+ obj[key] = value;
75
+ }
76
+ return obj;
77
+ }
78
+ function _object_spread(target) {
79
+ for(var i = 1; i < arguments.length; i++){
80
+ var source = arguments[i] != null ? arguments[i] : {};
81
+ var ownKeys = Object.keys(source);
82
+ if (typeof Object.getOwnPropertySymbols === "function") {
83
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
84
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
85
+ }));
86
+ }
87
+ ownKeys.forEach(function(key) {
88
+ _define_property(target, key, source[key]);
89
+ });
90
+ }
91
+ return target;
92
+ }
93
+ function ownKeys(object, enumerableOnly) {
94
+ var keys = Object.keys(object);
95
+ if (Object.getOwnPropertySymbols) {
96
+ var symbols = Object.getOwnPropertySymbols(object);
97
+ if (enumerableOnly) {
98
+ symbols = symbols.filter(function(sym) {
99
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
100
+ });
101
+ }
102
+ keys.push.apply(keys, symbols);
103
+ }
104
+ return keys;
105
+ }
106
+ function _object_spread_props(target, source) {
107
+ source = source != null ? source : {};
108
+ if (Object.getOwnPropertyDescriptors) {
109
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
110
+ } else {
111
+ ownKeys(Object(source)).forEach(function(key) {
112
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
113
+ });
114
+ }
115
+ return target;
116
+ }
117
+ const we = (param)=>{
118
+ let { id: s, label: e, asset: a, showAsset: r = !0, rightSlot: l, showBackground: S = !1, showAccent: R = !1, labelId: g, chevron: h, placement: P, tooltip: W = !1, navigation: b, toggle: c, current: L = !1, dataAttributes: V } = param;
119
+ const n = (0, _themevariantcontext.useThemeVariant)(), { collapseState: y } = (0, _sidenavbarcontext.useSidenavBarContext)(), u = P === "panel" ? "expanded" : y, o = u === "collapsed" || u === "collapsing", p = u !== "expanded";
120
+ let d = null;
121
+ typeof a == "function" ? d = /* @__PURE__ */ (0, _jsxruntime.jsx)(a, {
122
+ size: 20,
123
+ color: "currentColor"
124
+ }) : a && (d = a);
125
+ const z = r && d ? /* @__PURE__ */ (0, _jsxruntime.jsx)("span", {
126
+ className: (0, _classnames.default)(_sidenavbarcssmistica.itemAsset, _sidenavbarcssmistica.itemAssetVariant[n]),
127
+ children: d
128
+ }) : null, { ref: F, frozenWidth: m } = (0, _sidenavbarmotion.useRestWidth)(p), I = /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
129
+ ref: F,
130
+ id: g,
131
+ className: (0, _classnames.default)(_sidenavbarcssmistica.itemLabel, {
132
+ [_sidenavbarcssmistica.itemLabelCollapsed]: o,
133
+ [_sidenavbarcssmistica.itemLabelFrozenWidth]: m !== void 0,
134
+ [_sidenavbarcssmistica.itemLabelKeepsWidth]: p && m === void 0
135
+ }),
136
+ style: m !== void 0 ? {
137
+ width: m
138
+ } : void 0,
139
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
140
+ className: _sidenavbarcssmistica.itemLabelContent,
141
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
142
+ regular: !0,
143
+ color: "inherit",
144
+ children: e
145
+ })
146
+ })
147
+ }), f = (0, _classnames.default)(_sidenavbarcssmistica.itemTouchable, _sidenavbarcssmistica.itemTouchableVariant[n], {
148
+ [_sidenavbarcssmistica.itemTouchableSelected[n]]: S,
149
+ [_sidenavbarcssmistica.itemTouchableCollapsed]: o
150
+ }), v = /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
151
+ children: [
152
+ z,
153
+ I,
154
+ l && /* @__PURE__ */ (0, _jsxruntime.jsx)("span", {
155
+ className: (0, _classnames.default)(_sidenavbarcssmistica.itemRightSlot, {
156
+ [_sidenavbarcssmistica.itemRightSlotCollapsed]: o
157
+ }),
158
+ children: l
159
+ }),
160
+ h && /* @__PURE__ */ (0, _jsxruntime.jsx)("span", {
161
+ className: (0, _classnames.default)(_sidenavbarcssmistica.itemChevron, _sidenavbarcssmistica.itemChevronVariant[n], {
162
+ [_sidenavbarcssmistica.itemChevronRotated]: h.rotated,
163
+ [_sidenavbarcssmistica.itemChevronCollapsed]: o
164
+ }),
165
+ "aria-hidden": "true",
166
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconchevron.default, {
167
+ size: 16,
168
+ color: "currentColor",
169
+ direction: h.direction
170
+ })
171
+ })
172
+ ]
173
+ }), C = L ? "page" : void 0, N = c ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_touchable.default, {
174
+ className: f,
175
+ onPress: c.onPress,
176
+ "aria-expanded": c.expanded,
177
+ "aria-controls": c.controls,
178
+ "aria-label": e,
179
+ dataAttributes: {
180
+ "parent-item": "true"
181
+ },
182
+ children: v
183
+ }) : b ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_touchable.default, _object_spread_props(_object_spread({}, b), {
184
+ className: f,
185
+ "aria-current": C,
186
+ "aria-label": o ? e : void 0,
187
+ children: v
188
+ })) : /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
189
+ className: f,
190
+ "aria-current": C,
191
+ children: v
192
+ }), w = _object_spread({
193
+ testid: "SidenavItem"
194
+ }, V);
195
+ return s && (w["sidenav-item-id"] = s), /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", _object_spread_props(_object_spread({
196
+ className: _sidenavbarcssmistica.itemRow
197
+ }, (0, _dom.getPrefixedDataAttributes)(w)), {
198
+ children: [
199
+ R && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
200
+ className: (0, _classnames.default)(_sidenavbarcssmistica.itemAccent, _sidenavbarcssmistica.itemAccentVariant[n])
201
+ }),
202
+ W ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_tooltip.default, {
203
+ position: "right",
204
+ description: e,
205
+ target: N,
206
+ targetStyle: {
207
+ flex: 1,
208
+ minWidth: 0
209
+ }
210
+ }) : N
211
+ ]
212
+ }));
213
+ }, xe = (s, e)=>{
214
+ const { selectItemAndClosePanel: a } = (0, _sidenavbarcontext.useSidenavBarContext)(), r = (l)=>()=>_async_to_generator(function*() {
215
+ a(s !== null && s !== void 0 ? s : null), yield l === null || l === void 0 ? void 0 : l();
216
+ })();
217
+ if (e.onPress) return {
218
+ onPress: r(e.onPress)
219
+ };
220
+ if (e.href !== void 0) return {
221
+ href: e.href,
222
+ newTab: e.newTab,
223
+ onNavigate: r(e.onNavigate)
224
+ };
225
+ if (e.to !== void 0) return {
226
+ to: e.to,
227
+ newTab: e.newTab,
228
+ onNavigate: r(e.onNavigate)
229
+ };
230
+ };
@@ -0,0 +1,43 @@
1
+ import * as React from 'react';
2
+ import type { SidenavRowPlacement } from './sidenav-bar-row';
3
+ import type { DataAttributes } from './utils/types';
4
+ import type { SidenavAsset, SidenavSecondLevelItem as SidenavSecondLevelItemData } from './sidenav-bar-types';
5
+ /** A second-level row never stands on the rail: it stands in the accordion of its parent, or in a panel. */
6
+ type SidenavSecondLevelPlacement = Exclude<SidenavRowPlacement, 'rail'>;
7
+ type SidenavSecondLevelItemProps = {
8
+ /** Unique identifier for selection tracking. */
9
+ id: string;
10
+ /** Display text. A text longer than the row wraps over several lines, and it never truncates. */
11
+ label: string;
12
+ /** Icon component or element. The collapsed rail never shows a second-level row, so it is optional. */
13
+ asset?: SidenavAsset;
14
+ /** Custom content on the right side (e.g., Badge). */
15
+ rightSlot?: React.ReactNode;
16
+ /**
17
+ * Where the row stands. The accordion of its parent opens in place and moves with the bar; a panel
18
+ * (the dialog panel, or the second column) never moves with it. The context alone cannot tell the two
19
+ * apart, so the parent names the place.
20
+ */
21
+ placement: SidenavSecondLevelPlacement;
22
+ onPress?: () => void;
23
+ href?: string;
24
+ to?: string;
25
+ /** Open link in new tab. @default false */
26
+ newTab?: boolean;
27
+ /** Called after navigation. */
28
+ onNavigate?: () => void | Promise<void>;
29
+ dataAttributes?: DataAttributes;
30
+ };
31
+ /**
32
+ * A second-level item. It always navigates, and it never has children of its own, so it holds no state:
33
+ * it reads the current selection and renders one row.
34
+ */
35
+ declare const SidenavSecondLevelItem: ({ id, label, asset, rightSlot, placement, dataAttributes, ...navigationProps }: SidenavSecondLevelItemProps) => JSX.Element;
36
+ /**
37
+ * Renders a second-level item from its data. The accordion of a parent item, the dialog panel and the second
38
+ * column list the same items, so this is the one place that maps the data to the props of the row.
39
+ */
40
+ declare const renderSidenavSecondLevelItem: (item: SidenavSecondLevelItemData, { placement }: {
41
+ placement: SidenavSecondLevelPlacement;
42
+ }) => React.ReactElement;
43
+ export { SidenavSecondLevelItem, renderSidenavSecondLevelItem };
@@ -0,0 +1,89 @@
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 SidenavSecondLevelItem () {
14
+ return h;
15
+ },
16
+ get renderSidenavSecondLevelItem () {
17
+ return b;
18
+ }
19
+ });
20
+ const _jsxruntime = require("react/jsx-runtime");
21
+ const _sidenavbarcontext = require("./sidenav-bar-context.js");
22
+ const _sidenavbarrow = require("./sidenav-bar-row.js");
23
+ function _object_without_properties(source, excluded) {
24
+ if (source == null) return {};
25
+ var target = _object_without_properties_loose(source, excluded);
26
+ var key, i;
27
+ if (Object.getOwnPropertySymbols) {
28
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
29
+ for(i = 0; i < sourceSymbolKeys.length; i++){
30
+ key = sourceSymbolKeys[i];
31
+ if (excluded.indexOf(key) >= 0) continue;
32
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
33
+ target[key] = source[key];
34
+ }
35
+ }
36
+ return target;
37
+ }
38
+ function _object_without_properties_loose(source, excluded) {
39
+ if (source == null) return {};
40
+ var target = {};
41
+ var sourceKeys = Object.keys(source);
42
+ var key, i;
43
+ for(i = 0; i < sourceKeys.length; i++){
44
+ key = sourceKeys[i];
45
+ if (excluded.indexOf(key) >= 0) continue;
46
+ target[key] = source[key];
47
+ }
48
+ return target;
49
+ }
50
+ const h = (_param)=>{
51
+ var { id: e, label: o, asset: r, rightSlot: a, placement: s, dataAttributes: d } = _param, c = _object_without_properties(_param, [
52
+ "id",
53
+ "label",
54
+ "asset",
55
+ "rightSlot",
56
+ "placement",
57
+ "dataAttributes"
58
+ ]);
59
+ const { selectedItemId: l } = (0, _sidenavbarcontext.useSidenavBarContext)(), i = (0, _sidenavbarrow.useSidenavNavigation)(e, c), n = l === e;
60
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
61
+ role: "listitem",
62
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarrow.SidenavRow, {
63
+ id: e,
64
+ label: o,
65
+ asset: r,
66
+ rightSlot: a,
67
+ showBackground: n,
68
+ showAccent: n,
69
+ current: n,
70
+ placement: s,
71
+ navigation: i,
72
+ dataAttributes: d
73
+ })
74
+ });
75
+ }, b = (e, param)=>{
76
+ let { placement: o } = param;
77
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)(h, {
78
+ id: e.id,
79
+ label: e.label,
80
+ asset: e.asset,
81
+ rightSlot: e.rightSlot,
82
+ placement: o,
83
+ href: e.href,
84
+ to: e.to,
85
+ onPress: e.onPress,
86
+ newTab: e.newTab,
87
+ onNavigate: e.onNavigate
88
+ }, e.id);
89
+ };
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import type { SidenavSectionTitle } from './sidenav-bar-types';
3
+ import type { DataAttributes } from './utils/types';
4
+ type SidenavSectionProps = {
5
+ /**
6
+ * Section heading, and accessible name of the list of the section. It is mandatory: a screen reader
7
+ * needs it to tell one section from another. When the sidenav is collapsed the heading closes and the
8
+ * items move up, but it still names the list. Give `{text, hidden: true}` to keep the name and paint
9
+ * no heading.
10
+ */
11
+ title: SidenavSectionTitle;
12
+ /** Renders a divider above the section. @default false */
13
+ dividerTop?: boolean;
14
+ /** Renders a divider below the section. @default false */
15
+ dividerBottom?: boolean;
16
+ /** Navigation items (`SidenavItem` elements).
17
+ * @see SidenavItem
18
+ */
19
+ children: React.ReactNode;
20
+ dataAttributes?: DataAttributes;
21
+ };
22
+ declare const SidenavSection: ({ title, dividerTop, dividerBottom, children, dataAttributes, }: SidenavSectionProps) => JSX.Element;
23
+ export { SidenavSection };
@@ -0,0 +1,167 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SidenavSection", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return M;
10
+ }
11
+ });
12
+ const _jsxruntime = require("react/jsx-runtime");
13
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
14
+ const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
15
+ const _sidenavbarcssmistica = require("./sidenav-bar.css-mistica.js");
16
+ const _themevariantcontext = require("./theme-variant-context.js");
17
+ const _dom = require("./utils/dom.js");
18
+ const _divider = /*#__PURE__*/ _interop_require_default(require("./divider.js"));
19
+ const _text = require("./text.js");
20
+ const _sidenavbarcontext = require("./sidenav-bar-context.js");
21
+ const _sidenavbarmotion = require("./sidenav-bar-motion.js");
22
+ const _sidenavbardata = require("./sidenav-bar-data.js");
23
+ function _interop_require_default(obj) {
24
+ return obj && obj.__esModule ? obj : {
25
+ default: obj
26
+ };
27
+ }
28
+ function _getRequireWildcardCache(nodeInterop) {
29
+ if (typeof WeakMap !== "function") return null;
30
+ var cacheBabelInterop = new WeakMap();
31
+ var cacheNodeInterop = new WeakMap();
32
+ return (_getRequireWildcardCache = function(nodeInterop) {
33
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
34
+ })(nodeInterop);
35
+ }
36
+ function _interop_require_wildcard(obj, nodeInterop) {
37
+ if (!nodeInterop && obj && obj.__esModule) {
38
+ return obj;
39
+ }
40
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
41
+ return {
42
+ default: obj
43
+ };
44
+ }
45
+ var cache = _getRequireWildcardCache(nodeInterop);
46
+ if (cache && cache.has(obj)) {
47
+ return cache.get(obj);
48
+ }
49
+ var newObj = {
50
+ __proto__: null
51
+ };
52
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
53
+ for(var key in obj){
54
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
55
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
56
+ if (desc && (desc.get || desc.set)) {
57
+ Object.defineProperty(newObj, key, desc);
58
+ } else {
59
+ newObj[key] = obj[key];
60
+ }
61
+ }
62
+ }
63
+ newObj.default = obj;
64
+ if (cache) {
65
+ cache.set(obj, newObj);
66
+ }
67
+ return newObj;
68
+ }
69
+ function _define_property(obj, key, value) {
70
+ if (key in obj) {
71
+ Object.defineProperty(obj, key, {
72
+ value: value,
73
+ enumerable: true,
74
+ configurable: true,
75
+ writable: true
76
+ });
77
+ } else {
78
+ obj[key] = value;
79
+ }
80
+ return obj;
81
+ }
82
+ function _object_spread(target) {
83
+ for(var i = 1; i < arguments.length; i++){
84
+ var source = arguments[i] != null ? arguments[i] : {};
85
+ var ownKeys = Object.keys(source);
86
+ if (typeof Object.getOwnPropertySymbols === "function") {
87
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
88
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
89
+ }));
90
+ }
91
+ ownKeys.forEach(function(key) {
92
+ _define_property(target, key, source[key]);
93
+ });
94
+ }
95
+ return target;
96
+ }
97
+ function ownKeys(object, enumerableOnly) {
98
+ var keys = Object.keys(object);
99
+ if (Object.getOwnPropertySymbols) {
100
+ var symbols = Object.getOwnPropertySymbols(object);
101
+ if (enumerableOnly) {
102
+ symbols = symbols.filter(function(sym) {
103
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
104
+ });
105
+ }
106
+ keys.push.apply(keys, symbols);
107
+ }
108
+ return keys;
109
+ }
110
+ function _object_spread_props(target, source) {
111
+ source = source != null ? source : {};
112
+ if (Object.getOwnPropertyDescriptors) {
113
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
114
+ } else {
115
+ ownKeys(Object(source)).forEach(function(key) {
116
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
117
+ });
118
+ }
119
+ return target;
120
+ }
121
+ const M = (param)=>{
122
+ let { title: n, dividerTop: d, dividerBottom: a, children: l, dataAttributes: c } = param;
123
+ const { collapsed: m, collapseState: p } = (0, _sidenavbarcontext.useSidenavBarContext)(), v = (0, _themevariantcontext.useThemeVariant)(), { text: f, isHeadingVisible: t } = (0, _sidenavbardata.getSidenavSectionTitle)(n), o = _react.useId(), s = t && p !== "expanded", { ref: h, frozenWidth: i } = (0, _sidenavbarmotion.useRestWidth)(s);
124
+ return /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", _object_spread_props(_object_spread({
125
+ className: _sidenavbarcssmistica.section
126
+ }, (0, _dom.getPrefixedDataAttributes)(_object_spread({
127
+ testid: "SidenavSection"
128
+ }, c))), {
129
+ children: [
130
+ d && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
131
+ className: _sidenavbarcssmistica.sectionDividerTop,
132
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_divider.default, {})
133
+ }),
134
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
135
+ ref: h,
136
+ id: o,
137
+ "aria-hidden": "true",
138
+ className: (0, _classnames.default)(_sidenavbarcssmistica.sectionTitle, _sidenavbarcssmistica.sectionTitleVariant[v], {
139
+ [_sidenavbarcssmistica.sectionTitleHidden]: !t,
140
+ [_sidenavbarcssmistica.sectionTitleCollapsed]: t && m,
141
+ [_sidenavbarcssmistica.sectionTitleKeepsWidth]: s && i === void 0
142
+ }),
143
+ style: i !== void 0 ? {
144
+ width: i
145
+ } : void 0,
146
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
147
+ className: _sidenavbarcssmistica.sectionTitleContent,
148
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
149
+ medium: !0,
150
+ color: "inherit",
151
+ children: f
152
+ })
153
+ })
154
+ }),
155
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
156
+ className: _sidenavbarcssmistica.sectionContent,
157
+ role: "list",
158
+ "aria-labelledby": o,
159
+ children: l
160
+ }),
161
+ a && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
162
+ className: _sidenavbarcssmistica.sectionDividerBottom,
163
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_divider.default, {})
164
+ })
165
+ ]
166
+ }));
167
+ };