@telefonica/mistica 17.6.0 → 17.8.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 (491) hide show
  1. package/css/blau.css +7 -2
  2. package/css/community/cyber.css +7 -2
  3. package/css/esimflag.css +7 -2
  4. package/css/mistica-common.css +5 -0
  5. package/css/mistica.css +1 -1
  6. package/css/movistar.css +5 -0
  7. package/css/o2.css +7 -2
  8. package/css/telefonica.css +7 -2
  9. package/css/vivo-evolution.css +5 -0
  10. package/css/vivo.css +5 -0
  11. package/dist/accordion.css-mistica.js +6 -6
  12. package/dist/align.css-mistica.js +1 -1
  13. package/dist/autocomplete.css-mistica.js +1 -1
  14. package/dist/avatar.css-mistica.js +1 -1
  15. package/dist/badge.css-mistica.js +1 -1
  16. package/dist/box.css-mistica.js +13 -13
  17. package/dist/boxed.css-mistica.js +24 -24
  18. package/dist/button-group.css-mistica.js +1 -1
  19. package/dist/button-layout.css-mistica.js +14 -14
  20. package/dist/button.css-mistica.js +34 -34
  21. package/dist/callout.css-mistica.js +11 -11
  22. package/dist/card-internal.css-mistica.js +21 -21
  23. package/dist/carousel.css-mistica.js +8 -8
  24. package/dist/checkbox.css-mistica.js +11 -11
  25. package/dist/chip.css-mistica.js +15 -15
  26. package/dist/chip.js +26 -26
  27. package/dist/circle.css-mistica.js +1 -1
  28. package/dist/community/advanced-data-card.css-mistica.js +8 -8
  29. package/dist/community/ai-card.css-mistica.js +11 -11
  30. package/dist/community/blocks.css-mistica.js +1 -1
  31. package/dist/community/cyber/example-component.css-mistica.js +1 -1
  32. package/dist/community/example-component.css-mistica.js +2 -2
  33. package/dist/community/skins/cyber-skin.js +12 -1
  34. package/dist/counter.css-mistica.js +1 -1
  35. package/dist/cover-hero.css-mistica.js +2 -2
  36. package/dist/credit-card-number-field.css-mistica.js +3 -3
  37. package/dist/date-field.css-mistica.js +1 -1
  38. package/dist/date-time-picker.css-mistica.js +1 -1
  39. package/dist/date-time-picker.js +5 -2
  40. package/dist/dialog.css-mistica.js +4 -4
  41. package/dist/divider.css-mistica.js +5 -5
  42. package/dist/double-field.css-mistica.js +2 -2
  43. package/dist/drawer.css-mistica.js +1 -1
  44. package/dist/empty-state-card.css-mistica.js +1 -1
  45. package/dist/empty-state.css-mistica.js +5 -5
  46. package/dist/fade-in.css-mistica.js +1 -1
  47. package/dist/fade-out.css-mistica.js +1 -1
  48. package/dist/feedback.css-mistica.js +1 -1
  49. package/dist/file-upload.css-mistica.js +7 -7
  50. package/dist/fixed-footer-layout.css-mistica.js +2 -2
  51. package/dist/form.css-mistica.js +1 -1
  52. package/dist/generated/mistica-icons/icon-add-user-filled.js +38 -18
  53. package/dist/generated/mistica-icons/icon-add-user-light.js +29 -13
  54. package/dist/generated/mistica-icons/icon-add-user-regular.js +32 -16
  55. package/dist/generated/mistica-icons/icon-gift-filled.js +23 -13
  56. package/dist/generated/mistica-icons/icon-gift-light.js +27 -17
  57. package/dist/generated/mistica-icons/icon-gift-regular.js +23 -13
  58. package/dist/generated/mistica-icons/icon-mobile-question-filled.js +29 -13
  59. package/dist/generated/mistica-icons/icon-mobile-question-light.js +40 -16
  60. package/dist/generated/mistica-icons/icon-mobile-question-regular.js +33 -9
  61. package/dist/generated/mistica-icons/icon-mobile-shield-filled.js +28 -12
  62. package/dist/generated/mistica-icons/icon-mobile-shield-light.js +30 -14
  63. package/dist/generated/mistica-icons/icon-mobile-shield-regular.js +36 -16
  64. package/dist/generated/mistica-icons/icon-mobile-usage-filled.js +29 -13
  65. package/dist/generated/mistica-icons/icon-mobile-usage-light.js +30 -14
  66. package/dist/generated/mistica-icons/icon-mobile-usage-regular.js +32 -16
  67. package/dist/generated/mistica-icons/icon-mobile-user-filled.js +27 -11
  68. package/dist/generated/mistica-icons/icon-mobile-user-light.js +29 -13
  69. package/dist/generated/mistica-icons/icon-mobile-user-regular.js +27 -11
  70. package/dist/generated/mistica-icons/icon-multidevice-filled.js +32 -16
  71. package/dist/generated/mistica-icons/icon-multidevice-light.js +42 -22
  72. package/dist/generated/mistica-icons/icon-multidevice-regular.js +34 -14
  73. package/dist/generated/mistica-icons/icon-negative-film-filled.js +23 -12
  74. package/dist/generated/mistica-icons/icon-negative-film-light.js +23 -12
  75. package/dist/generated/mistica-icons/icon-negative-film-regular.js +23 -13
  76. package/dist/generated/mistica-icons/icon-offer-percent-filled.js +32 -16
  77. package/dist/generated/mistica-icons/icon-offer-percent-light.js +23 -7
  78. package/dist/generated/mistica-icons/icon-offer-percent-regular.js +23 -7
  79. package/dist/generated/mistica-icons/icon-pay-invoice-filled.js +26 -10
  80. package/dist/generated/mistica-icons/icon-pay-invoice-light.js +30 -14
  81. package/dist/generated/mistica-icons/icon-pay-invoice-regular.js +45 -29
  82. package/dist/generated/mistica-icons/icon-people-network-filled.js +30 -20
  83. package/dist/generated/mistica-icons/icon-people-network-light.js +18 -8
  84. package/dist/generated/mistica-icons/icon-people-network-regular.js +20 -10
  85. package/dist/generated/mistica-icons/icon-pig-money-filled.js +23 -12
  86. package/dist/generated/mistica-icons/icon-pig-money-light.js +29 -12
  87. package/dist/generated/mistica-icons/icon-pig-money-regular.js +30 -13
  88. package/dist/generated/mistica-icons/icon-plane-filled.js +31 -21
  89. package/dist/generated/mistica-icons/icon-plane-light.js +15 -5
  90. package/dist/generated/mistica-icons/icon-plane-regular.js +19 -9
  91. package/dist/generated/mistica-icons/icon-play-filled.js +21 -11
  92. package/dist/generated/mistica-icons/icon-play-light.js +20 -10
  93. package/dist/generated/mistica-icons/icon-play-regular.js +20 -10
  94. package/dist/generated/mistica-icons/icon-podium-filled.js +25 -15
  95. package/dist/generated/mistica-icons/icon-podium-light.js +21 -11
  96. package/dist/generated/mistica-icons/icon-podium-regular.js +25 -15
  97. package/dist/generated/mistica-icons/icon-postpay-filled.js +32 -12
  98. package/dist/generated/mistica-icons/icon-postpay-light.js +30 -10
  99. package/dist/generated/mistica-icons/icon-postpay-regular.js +38 -18
  100. package/dist/generated/mistica-icons/icon-prepaid-filled.js +37 -21
  101. package/dist/generated/mistica-icons/icon-prepaid-light.js +39 -15
  102. package/dist/generated/mistica-icons/icon-prepaid-regular.js +35 -11
  103. package/dist/generated/mistica-icons/icon-queue-filled.js +35 -15
  104. package/dist/generated/mistica-icons/icon-queue-light.js +31 -15
  105. package/dist/generated/mistica-icons/icon-queue-regular.js +31 -15
  106. package/dist/generated/mistica-icons/icon-reload-filled.d.ts +3 -0
  107. package/dist/generated/mistica-icons/icon-reload-filled.js +159 -0
  108. package/dist/generated/mistica-icons/icon-reload-light.js +28 -18
  109. package/dist/generated/mistica-icons/icon-reload-regular.js +27 -17
  110. package/dist/generated/mistica-icons/icon-search-money-filled.js +28 -18
  111. package/dist/generated/mistica-icons/icon-search-money-light.js +34 -18
  112. package/dist/generated/mistica-icons/icon-search-money-regular.js +32 -16
  113. package/dist/generated/mistica-icons/icon-settings-filled.js +29 -19
  114. package/dist/generated/mistica-icons/icon-settings-light.js +31 -21
  115. package/dist/generated/mistica-icons/icon-settings-regular.js +36 -20
  116. package/dist/generated/mistica-icons/icon-shared-mobile-data-filled.js +33 -17
  117. package/dist/generated/mistica-icons/icon-shared-mobile-data-light.js +26 -10
  118. package/dist/generated/mistica-icons/icon-shared-mobile-data-regular.js +25 -9
  119. package/dist/generated/mistica-icons/icon-shield-checked-ok-filled.js +18 -8
  120. package/dist/generated/mistica-icons/icon-shield-checked-ok-light.js +32 -16
  121. package/dist/generated/mistica-icons/icon-shield-checked-ok-regular.js +38 -22
  122. package/dist/generated/mistica-icons/icon-shopping-bag-filled.js +22 -12
  123. package/dist/generated/mistica-icons/icon-shopping-bag-light.js +22 -12
  124. package/dist/generated/mistica-icons/icon-shopping-bag-regular.js +22 -12
  125. package/dist/generated/mistica-icons/icon-smart-wifi-filled.js +32 -16
  126. package/dist/generated/mistica-icons/icon-smart-wifi-light.js +30 -14
  127. package/dist/generated/mistica-icons/icon-smart-wifi-regular.js +34 -18
  128. package/dist/generated/mistica-icons/icon-star-filled.js +24 -14
  129. package/dist/generated/mistica-icons/icon-star-light.js +24 -14
  130. package/dist/generated/mistica-icons/icon-star-regular.js +20 -10
  131. package/dist/generated/mistica-icons/icon-status-chart-filled.js +26 -10
  132. package/dist/generated/mistica-icons/icon-status-chart-light.js +31 -15
  133. package/dist/generated/mistica-icons/icon-status-chart-regular.js +24 -8
  134. package/dist/generated/mistica-icons/icon-support-agent-filled.js +32 -16
  135. package/dist/generated/mistica-icons/icon-support-agent-light.js +34 -18
  136. package/dist/generated/mistica-icons/icon-support-agent-regular.js +35 -19
  137. package/dist/generated/mistica-icons/icon-tachometer-filled.js +28 -18
  138. package/dist/generated/mistica-icons/icon-tachometer-light.js +27 -11
  139. package/dist/generated/mistica-icons/icon-tachometer-regular.js +27 -11
  140. package/dist/generated/mistica-icons/icon-time-filled.js +22 -12
  141. package/dist/generated/mistica-icons/icon-time-light.js +32 -16
  142. package/dist/generated/mistica-icons/icon-time-regular.js +28 -12
  143. package/dist/generated/mistica-icons/icon-travel-bag-filled.js +32 -16
  144. package/dist/generated/mistica-icons/icon-travel-bag-light.js +32 -16
  145. package/dist/generated/mistica-icons/icon-travel-bag-regular.js +32 -16
  146. package/dist/generated/mistica-icons/icon-trophy-filled.js +22 -12
  147. package/dist/generated/mistica-icons/icon-trophy-light.js +24 -14
  148. package/dist/generated/mistica-icons/icon-trophy-regular.js +31 -21
  149. package/dist/generated/mistica-icons/icon-user-account-filled.js +18 -8
  150. package/dist/generated/mistica-icons/icon-user-account-light.js +19 -9
  151. package/dist/generated/mistica-icons/icon-user-account-regular.js +26 -16
  152. package/dist/generated/mistica-icons/icon-user-support-filled.js +25 -15
  153. package/dist/generated/mistica-icons/icon-user-support-light.js +33 -23
  154. package/dist/generated/mistica-icons/icon-user-support-regular.js +31 -21
  155. package/dist/generated/mistica-icons/icon-wallet-filled.js +36 -20
  156. package/dist/generated/mistica-icons/icon-wallet-light.js +31 -15
  157. package/dist/generated/mistica-icons/icon-wallet-regular.js +28 -12
  158. package/dist/generated/mistica-icons/icon-wifi-filled.js +33 -17
  159. package/dist/generated/mistica-icons/icon-wifi-light.js +33 -17
  160. package/dist/generated/mistica-icons/icon-wifi-regular.js +24 -8
  161. package/dist/generated/mistica-icons/icon-winner-filled.js +18 -8
  162. package/dist/generated/mistica-icons/icon-winner-light.js +22 -6
  163. package/dist/generated/mistica-icons/icon-winner-regular.js +23 -7
  164. package/dist/grid-layout.css-mistica.js +3 -3
  165. package/dist/grid.css-mistica.js +120 -120
  166. package/dist/header.css-mistica.js +1 -1
  167. package/dist/hero.css-mistica.js +2 -2
  168. package/dist/hooks.js +32 -29
  169. package/dist/horizontal-scroll.css-mistica.js +1 -1
  170. package/dist/icon-button.css-mistica.js +53 -53
  171. package/dist/icons/icon-chevron.css-mistica.js +2 -2
  172. package/dist/icons/icon-error.css-mistica.js +1 -1
  173. package/dist/image.css-mistica.js +11 -11
  174. package/dist/index.d.ts +1 -0
  175. package/dist/index.js +4 -0
  176. package/dist/inline.css-mistica.js +11 -11
  177. package/dist/list.css-mistica.js +7 -7
  178. package/dist/loading-bar.css-mistica.js +1 -1
  179. package/dist/loading-screen.css-mistica.js +4 -4
  180. package/dist/logo.css-mistica.js +5 -5
  181. package/dist/menu.css-mistica.js +26 -24
  182. package/dist/menu.css.d.ts +2 -2
  183. package/dist/menu.d.ts +15 -3
  184. package/dist/menu.js +184 -162
  185. package/dist/mosaic.css-mistica.js +1 -1
  186. package/dist/navigation-bar.css-mistica.js +9 -9
  187. package/dist/navigation-breadcrumbs.css-mistica.js +1 -1
  188. package/dist/navigation-shared.css-mistica.js +9 -9
  189. package/dist/package-version.js +1 -1
  190. package/dist/pagination.css-mistica.js +18 -18
  191. package/dist/pin-field.css-mistica.js +1 -1
  192. package/dist/popover.css-mistica.js +1 -1
  193. package/dist/popover.d.ts +1 -0
  194. package/dist/progress-bar.css-mistica.js +6 -6
  195. package/dist/radio-button.css-mistica.js +19 -19
  196. package/dist/rating.css-mistica.js +2 -2
  197. package/dist/responsive-layout.css-mistica.js +6 -6
  198. package/dist/screen-reader-only.css-mistica.js +1 -1
  199. package/dist/select.css-mistica.js +15 -15
  200. package/dist/sheet-action-row.css-mistica.js +1 -1
  201. package/dist/sheet-common.css-mistica.js +1 -1
  202. package/dist/sheet-info.css-mistica.js +1 -1
  203. package/dist/sidenav-bar-layout.css-mistica.js +1 -1
  204. package/dist/sidenav-bar.css-mistica.js +71 -71
  205. package/dist/sidenav-bar.js +55 -50
  206. package/dist/skeletons.css-mistica.js +6 -6
  207. package/dist/skins/blau.js +12 -1
  208. package/dist/skins/defaults.js +11 -0
  209. package/dist/skins/esimflag.js +12 -1
  210. package/dist/skins/movistar.js +11 -0
  211. package/dist/skins/o2.js +12 -1
  212. package/dist/skins/skin-contract.css-mistica.js +743 -738
  213. package/dist/skins/skin-contract.css.d.ts +5 -0
  214. package/dist/skins/telefonica.js +12 -1
  215. package/dist/skins/types/index.d.ts +1 -0
  216. package/dist/skins/vivo-evolution.js +11 -0
  217. package/dist/skins/vivo.js +11 -0
  218. package/dist/skip-link.css-mistica.js +1 -1
  219. package/dist/slider.css-mistica.js +18 -18
  220. package/dist/snackbar.css-mistica.js +4 -4
  221. package/dist/spinner.css-mistica.js +1 -1
  222. package/dist/square.css-mistica.js +1 -1
  223. package/dist/stack.css-mistica.js +5 -5
  224. package/dist/stacking-group.css-mistica.js +1 -1
  225. package/dist/stepper.css-mistica.js +2 -2
  226. package/dist/switch-component.css-mistica.js +35 -35
  227. package/dist/table.css-mistica.js +9 -9
  228. package/dist/tabs.css-mistica.js +17 -17
  229. package/dist/tag.css-mistica.js +1 -1
  230. package/dist/text-field-base.css-mistica.js +18 -18
  231. package/dist/text-field-components.css-mistica.js +3 -3
  232. package/dist/text-link.css-mistica.js +6 -6
  233. package/dist/text.css-mistica.js +6 -6
  234. package/dist/timeline.css-mistica.js +9 -9
  235. package/dist/timer.css-mistica.js +6 -6
  236. package/dist/tooltip.css-mistica.js +1 -1
  237. package/dist/tooltip.d.ts +3 -1
  238. package/dist/tooltip.js +158 -147
  239. package/dist/touchable.css-mistica.js +1 -1
  240. package/dist/utils/aspect-ratio-support.css-mistica.js +2 -2
  241. package/dist/video.css-mistica.js +1 -1
  242. package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  243. package/dist-es/accordion.css-mistica.js +6 -6
  244. package/dist-es/align.css-mistica.js +1 -1
  245. package/dist-es/autocomplete.css-mistica.js +1 -1
  246. package/dist-es/avatar.css-mistica.js +1 -1
  247. package/dist-es/badge.css-mistica.js +1 -1
  248. package/dist-es/box.css-mistica.js +13 -13
  249. package/dist-es/boxed.css-mistica.js +23 -23
  250. package/dist-es/button-group.css-mistica.js +1 -1
  251. package/dist-es/button-layout.css-mistica.js +14 -14
  252. package/dist-es/button.css-mistica.js +34 -34
  253. package/dist-es/callout.css-mistica.js +11 -11
  254. package/dist-es/card-internal.css-mistica.js +21 -21
  255. package/dist-es/carousel.css-mistica.js +8 -8
  256. package/dist-es/checkbox.css-mistica.js +11 -11
  257. package/dist-es/chip.css-mistica.js +15 -15
  258. package/dist-es/chip.js +38 -38
  259. package/dist-es/circle.css-mistica.js +1 -1
  260. package/dist-es/community/advanced-data-card.css-mistica.js +8 -8
  261. package/dist-es/community/ai-card.css-mistica.js +4 -4
  262. package/dist-es/community/blocks.css-mistica.js +1 -1
  263. package/dist-es/community/cyber/example-component.css-mistica.js +1 -1
  264. package/dist-es/community/example-component.css-mistica.js +2 -2
  265. package/dist-es/community/skins/cyber-skin.js +12 -1
  266. package/dist-es/counter.css-mistica.js +1 -1
  267. package/dist-es/cover-hero.css-mistica.js +2 -2
  268. package/dist-es/credit-card-number-field.css-mistica.js +3 -3
  269. package/dist-es/date-field.css-mistica.js +1 -1
  270. package/dist-es/date-time-picker.css-mistica.js +1 -1
  271. package/dist-es/date-time-picker.js +5 -2
  272. package/dist-es/dialog.css-mistica.js +4 -4
  273. package/dist-es/divider.css-mistica.js +5 -5
  274. package/dist-es/double-field.css-mistica.js +2 -2
  275. package/dist-es/drawer.css-mistica.js +1 -1
  276. package/dist-es/empty-state-card.css-mistica.js +1 -1
  277. package/dist-es/empty-state.css-mistica.js +5 -5
  278. package/dist-es/fade-in.css-mistica.js +1 -1
  279. package/dist-es/fade-out.css-mistica.js +1 -1
  280. package/dist-es/feedback.css-mistica.js +1 -1
  281. package/dist-es/file-upload.css-mistica.js +7 -7
  282. package/dist-es/fixed-footer-layout.css-mistica.js +2 -2
  283. package/dist-es/form.css-mistica.js +1 -1
  284. package/dist-es/generated/mistica-icons/icon-add-user-filled.js +50 -30
  285. package/dist-es/generated/mistica-icons/icon-add-user-light.js +37 -21
  286. package/dist-es/generated/mistica-icons/icon-add-user-regular.js +44 -28
  287. package/dist-es/generated/mistica-icons/icon-gift-filled.js +27 -17
  288. package/dist-es/generated/mistica-icons/icon-gift-light.js +34 -24
  289. package/dist-es/generated/mistica-icons/icon-gift-regular.js +28 -18
  290. package/dist-es/generated/mistica-icons/icon-mobile-question-filled.js +35 -19
  291. package/dist-es/generated/mistica-icons/icon-mobile-question-light.js +49 -25
  292. package/dist-es/generated/mistica-icons/icon-mobile-question-regular.js +42 -18
  293. package/dist-es/generated/mistica-icons/icon-mobile-shield-filled.js +34 -18
  294. package/dist-es/generated/mistica-icons/icon-mobile-shield-light.js +37 -21
  295. package/dist-es/generated/mistica-icons/icon-mobile-shield-regular.js +43 -23
  296. package/dist-es/generated/mistica-icons/icon-mobile-usage-filled.js +35 -19
  297. package/dist-es/generated/mistica-icons/icon-mobile-usage-light.js +39 -23
  298. package/dist-es/generated/mistica-icons/icon-mobile-usage-regular.js +42 -26
  299. package/dist-es/generated/mistica-icons/icon-mobile-user-filled.js +30 -14
  300. package/dist-es/generated/mistica-icons/icon-mobile-user-light.js +35 -19
  301. package/dist-es/generated/mistica-icons/icon-mobile-user-regular.js +33 -17
  302. package/dist-es/generated/mistica-icons/icon-multidevice-filled.js +37 -21
  303. package/dist-es/generated/mistica-icons/icon-multidevice-light.js +52 -32
  304. package/dist-es/generated/mistica-icons/icon-multidevice-regular.js +49 -29
  305. package/dist-es/generated/mistica-icons/icon-negative-film-filled.js +30 -19
  306. package/dist-es/generated/mistica-icons/icon-negative-film-light.js +29 -18
  307. package/dist-es/generated/mistica-icons/icon-negative-film-regular.js +32 -22
  308. package/dist-es/generated/mistica-icons/icon-offer-percent-filled.js +34 -18
  309. package/dist-es/generated/mistica-icons/icon-offer-percent-light.js +28 -12
  310. package/dist-es/generated/mistica-icons/icon-offer-percent-regular.js +26 -10
  311. package/dist-es/generated/mistica-icons/icon-pay-invoice-filled.js +31 -15
  312. package/dist-es/generated/mistica-icons/icon-pay-invoice-light.js +38 -22
  313. package/dist-es/generated/mistica-icons/icon-pay-invoice-regular.js +50 -34
  314. package/dist-es/generated/mistica-icons/icon-people-network-filled.js +31 -21
  315. package/dist-es/generated/mistica-icons/icon-people-network-light.js +21 -11
  316. package/dist-es/generated/mistica-icons/icon-people-network-regular.js +23 -13
  317. package/dist-es/generated/mistica-icons/icon-pig-money-filled.js +30 -19
  318. package/dist-es/generated/mistica-icons/icon-pig-money-light.js +37 -20
  319. package/dist-es/generated/mistica-icons/icon-pig-money-regular.js +38 -21
  320. package/dist-es/generated/mistica-icons/icon-plane-filled.js +40 -30
  321. package/dist-es/generated/mistica-icons/icon-plane-light.js +18 -8
  322. package/dist-es/generated/mistica-icons/icon-plane-regular.js +20 -10
  323. package/dist-es/generated/mistica-icons/icon-play-filled.js +24 -14
  324. package/dist-es/generated/mistica-icons/icon-play-light.js +24 -14
  325. package/dist-es/generated/mistica-icons/icon-play-regular.js +24 -14
  326. package/dist-es/generated/mistica-icons/icon-podium-filled.js +34 -24
  327. package/dist-es/generated/mistica-icons/icon-podium-light.js +24 -14
  328. package/dist-es/generated/mistica-icons/icon-podium-regular.js +29 -19
  329. package/dist-es/generated/mistica-icons/icon-postpay-filled.js +39 -19
  330. package/dist-es/generated/mistica-icons/icon-postpay-light.js +35 -15
  331. package/dist-es/generated/mistica-icons/icon-postpay-regular.js +49 -29
  332. package/dist-es/generated/mistica-icons/icon-prepaid-filled.js +48 -32
  333. package/dist-es/generated/mistica-icons/icon-prepaid-light.js +51 -27
  334. package/dist-es/generated/mistica-icons/icon-prepaid-regular.js +46 -22
  335. package/dist-es/generated/mistica-icons/icon-queue-filled.js +41 -21
  336. package/dist-es/generated/mistica-icons/icon-queue-light.js +37 -21
  337. package/dist-es/generated/mistica-icons/icon-queue-regular.js +37 -21
  338. package/dist-es/generated/mistica-icons/icon-reload-filled.js +109 -0
  339. package/dist-es/generated/mistica-icons/icon-reload-light.js +37 -27
  340. package/dist-es/generated/mistica-icons/icon-reload-regular.js +36 -26
  341. package/dist-es/generated/mistica-icons/icon-search-money-filled.js +38 -28
  342. package/dist-es/generated/mistica-icons/icon-search-money-light.js +43 -27
  343. package/dist-es/generated/mistica-icons/icon-search-money-regular.js +45 -29
  344. package/dist-es/generated/mistica-icons/icon-settings-filled.js +37 -27
  345. package/dist-es/generated/mistica-icons/icon-settings-light.js +40 -30
  346. package/dist-es/generated/mistica-icons/icon-settings-regular.js +46 -30
  347. package/dist-es/generated/mistica-icons/icon-shared-mobile-data-filled.js +36 -20
  348. package/dist-es/generated/mistica-icons/icon-shared-mobile-data-light.js +31 -15
  349. package/dist-es/generated/mistica-icons/icon-shared-mobile-data-regular.js +28 -12
  350. package/dist-es/generated/mistica-icons/icon-shield-checked-ok-filled.js +20 -10
  351. package/dist-es/generated/mistica-icons/icon-shield-checked-ok-light.js +37 -21
  352. package/dist-es/generated/mistica-icons/icon-shield-checked-ok-regular.js +44 -28
  353. package/dist-es/generated/mistica-icons/icon-shopping-bag-filled.js +27 -17
  354. package/dist-es/generated/mistica-icons/icon-shopping-bag-light.js +25 -15
  355. package/dist-es/generated/mistica-icons/icon-shopping-bag-regular.js +25 -15
  356. package/dist-es/generated/mistica-icons/icon-smart-wifi-filled.js +36 -20
  357. package/dist-es/generated/mistica-icons/icon-smart-wifi-light.js +36 -20
  358. package/dist-es/generated/mistica-icons/icon-smart-wifi-regular.js +45 -29
  359. package/dist-es/generated/mistica-icons/icon-star-filled.js +26 -16
  360. package/dist-es/generated/mistica-icons/icon-star-light.js +31 -21
  361. package/dist-es/generated/mistica-icons/icon-star-regular.js +24 -14
  362. package/dist-es/generated/mistica-icons/icon-status-chart-filled.js +37 -21
  363. package/dist-es/generated/mistica-icons/icon-status-chart-light.js +41 -25
  364. package/dist-es/generated/mistica-icons/icon-status-chart-regular.js +34 -18
  365. package/dist-es/generated/mistica-icons/icon-support-agent-filled.js +39 -23
  366. package/dist-es/generated/mistica-icons/icon-support-agent-light.js +44 -28
  367. package/dist-es/generated/mistica-icons/icon-support-agent-regular.js +46 -30
  368. package/dist-es/generated/mistica-icons/icon-tachometer-filled.js +38 -28
  369. package/dist-es/generated/mistica-icons/icon-tachometer-light.js +33 -17
  370. package/dist-es/generated/mistica-icons/icon-tachometer-regular.js +33 -17
  371. package/dist-es/generated/mistica-icons/icon-time-filled.js +25 -15
  372. package/dist-es/generated/mistica-icons/icon-time-light.js +45 -29
  373. package/dist-es/generated/mistica-icons/icon-time-regular.js +34 -18
  374. package/dist-es/generated/mistica-icons/icon-travel-bag-filled.js +38 -22
  375. package/dist-es/generated/mistica-icons/icon-travel-bag-light.js +41 -25
  376. package/dist-es/generated/mistica-icons/icon-travel-bag-regular.js +40 -24
  377. package/dist-es/generated/mistica-icons/icon-trophy-filled.js +23 -13
  378. package/dist-es/generated/mistica-icons/icon-trophy-light.js +28 -18
  379. package/dist-es/generated/mistica-icons/icon-trophy-regular.js +35 -25
  380. package/dist-es/generated/mistica-icons/icon-user-account-filled.js +21 -11
  381. package/dist-es/generated/mistica-icons/icon-user-account-light.js +23 -13
  382. package/dist-es/generated/mistica-icons/icon-user-account-regular.js +31 -21
  383. package/dist-es/generated/mistica-icons/icon-user-support-filled.js +35 -25
  384. package/dist-es/generated/mistica-icons/icon-user-support-light.js +44 -34
  385. package/dist-es/generated/mistica-icons/icon-user-support-regular.js +41 -31
  386. package/dist-es/generated/mistica-icons/icon-wallet-filled.js +42 -26
  387. package/dist-es/generated/mistica-icons/icon-wallet-light.js +37 -21
  388. package/dist-es/generated/mistica-icons/icon-wallet-regular.js +35 -19
  389. package/dist-es/generated/mistica-icons/icon-wifi-filled.js +44 -28
  390. package/dist-es/generated/mistica-icons/icon-wifi-light.js +48 -32
  391. package/dist-es/generated/mistica-icons/icon-wifi-regular.js +30 -14
  392. package/dist-es/generated/mistica-icons/icon-winner-filled.js +21 -11
  393. package/dist-es/generated/mistica-icons/icon-winner-light.js +28 -12
  394. package/dist-es/generated/mistica-icons/icon-winner-regular.js +29 -13
  395. package/dist-es/grid-layout.css-mistica.js +3 -3
  396. package/dist-es/grid.css-mistica.js +120 -120
  397. package/dist-es/header.css-mistica.js +1 -1
  398. package/dist-es/hero.css-mistica.js +2 -2
  399. package/dist-es/hooks.js +24 -21
  400. package/dist-es/horizontal-scroll.css-mistica.js +1 -1
  401. package/dist-es/icon-button.css-mistica.js +53 -53
  402. package/dist-es/icons/icon-chevron.css-mistica.js +2 -2
  403. package/dist-es/icons/icon-error.css-mistica.js +1 -1
  404. package/dist-es/image.css-mistica.js +4 -4
  405. package/dist-es/index.js +566 -565
  406. package/dist-es/inline.css-mistica.js +11 -11
  407. package/dist-es/list.css-mistica.js +7 -7
  408. package/dist-es/loading-bar.css-mistica.js +1 -1
  409. package/dist-es/loading-screen.css-mistica.js +4 -4
  410. package/dist-es/logo.css-mistica.js +5 -5
  411. package/dist-es/menu.css-mistica.js +14 -15
  412. package/dist-es/menu.js +238 -216
  413. package/dist-es/mosaic.css-mistica.js +1 -1
  414. package/dist-es/navigation-bar.css-mistica.js +9 -9
  415. package/dist-es/navigation-breadcrumbs.css-mistica.js +1 -1
  416. package/dist-es/navigation-shared.css-mistica.js +9 -9
  417. package/dist-es/package-version.js +1 -1
  418. package/dist-es/pagination.css-mistica.js +18 -18
  419. package/dist-es/pin-field.css-mistica.js +1 -1
  420. package/dist-es/popover.css-mistica.js +1 -1
  421. package/dist-es/progress-bar.css-mistica.js +6 -6
  422. package/dist-es/radio-button.css-mistica.js +19 -19
  423. package/dist-es/rating.css-mistica.js +2 -2
  424. package/dist-es/responsive-layout.css-mistica.js +6 -6
  425. package/dist-es/screen-reader-only.css-mistica.js +1 -1
  426. package/dist-es/select.css-mistica.js +15 -15
  427. package/dist-es/sheet-action-row.css-mistica.js +1 -1
  428. package/dist-es/sheet-common.css-mistica.js +1 -1
  429. package/dist-es/sheet-info.css-mistica.js +1 -1
  430. package/dist-es/sidenav-bar-layout.css-mistica.js +1 -1
  431. package/dist-es/sidenav-bar.css-mistica.js +71 -71
  432. package/dist-es/sidenav-bar.js +70 -65
  433. package/dist-es/skeletons.css-mistica.js +6 -6
  434. package/dist-es/skins/blau.js +12 -1
  435. package/dist-es/skins/defaults.js +11 -0
  436. package/dist-es/skins/esimflag.js +12 -1
  437. package/dist-es/skins/movistar.js +11 -0
  438. package/dist-es/skins/o2.js +12 -1
  439. package/dist-es/skins/skin-contract.css-mistica.js +743 -738
  440. package/dist-es/skins/telefonica.js +12 -1
  441. package/dist-es/skins/vivo-evolution.js +11 -0
  442. package/dist-es/skins/vivo.js +11 -0
  443. package/dist-es/skip-link.css-mistica.js +1 -1
  444. package/dist-es/slider.css-mistica.js +18 -18
  445. package/dist-es/snackbar.css-mistica.js +4 -4
  446. package/dist-es/spinner.css-mistica.js +1 -1
  447. package/dist-es/square.css-mistica.js +1 -1
  448. package/dist-es/stack.css-mistica.js +5 -5
  449. package/dist-es/stacking-group.css-mistica.js +1 -1
  450. package/dist-es/stepper.css-mistica.js +2 -2
  451. package/dist-es/style.css +1 -1
  452. package/dist-es/switch-component.css-mistica.js +35 -35
  453. package/dist-es/table.css-mistica.js +9 -9
  454. package/dist-es/tabs.css-mistica.js +17 -17
  455. package/dist-es/tag.css-mistica.js +1 -1
  456. package/dist-es/text-field-base.css-mistica.js +17 -17
  457. package/dist-es/text-field-components.css-mistica.js +3 -3
  458. package/dist-es/text-link.css-mistica.js +6 -6
  459. package/dist-es/text.css-mistica.js +6 -6
  460. package/dist-es/timeline.css-mistica.js +9 -9
  461. package/dist-es/timer.css-mistica.js +6 -6
  462. package/dist-es/tooltip.css-mistica.js +1 -1
  463. package/dist-es/tooltip.js +198 -187
  464. package/dist-es/touchable.css-mistica.js +1 -1
  465. package/dist-es/utils/aspect-ratio-support.css-mistica.js +2 -2
  466. package/dist-es/video.css-mistica.js +1 -1
  467. package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  468. package/package.json +1 -1
  469. package/src/chip.tsx +4 -2
  470. package/src/community/skins/cyber-skin.tsx +7 -2
  471. package/src/date-time-picker.css.ts +0 -1
  472. package/src/date-time-picker.tsx +1 -0
  473. package/src/hooks.tsx +8 -4
  474. package/src/index.tsx +1 -0
  475. package/src/menu.css.ts +5 -9
  476. package/src/menu.tsx +82 -64
  477. package/src/package-version.tsx +1 -1
  478. package/src/popover.tsx +1 -0
  479. package/src/sidenav-bar.tsx +9 -2
  480. package/src/skins/blau.tsx +7 -2
  481. package/src/skins/defaults.tsx +6 -1
  482. package/src/skins/esimflag.tsx +7 -2
  483. package/src/skins/movistar.tsx +5 -0
  484. package/src/skins/o2.tsx +7 -2
  485. package/src/skins/skin-contract.css.ts +1 -0
  486. package/src/skins/telefonica.tsx +7 -2
  487. package/src/skins/types/index.tsx +1 -0
  488. package/src/skins/vivo-evolution.tsx +5 -0
  489. package/src/skins/vivo.tsx +5 -0
  490. package/src/tooltip.css.ts +1 -0
  491. package/src/tooltip.tsx +94 -90
package/src/hooks.tsx CHANGED
@@ -6,6 +6,7 @@ import ScreenSizeContext from './screen-size-context';
6
6
  import {listenResize} from './utils/dom';
7
7
  import {isClientSide} from './utils/environment';
8
8
  import {isEqual} from './utils/helpers';
9
+ import {isFirefox} from './utils/platform';
9
10
 
10
11
  import type {Theme} from './theme';
11
12
  import type {ScreenSizeContextType} from './screen-size-context';
@@ -43,16 +44,19 @@ export const useDisableBodyScroll = (disable: boolean): void => {
43
44
  // if the scrollbar is visible, we don't want to hide it because content will be resized
44
45
  const overflowY = hasScrollbar ? 'scroll' : 'hidden';
45
46
 
47
+ // Firefox correctly respects overflow:hidden on body without needing position:fixed.
48
+ // Using position:fixed in Firefox breaks position:sticky elements (e.g. Sidenavbar).
49
+ const fixedPositionStyles = isFirefox()
50
+ ? []
51
+ : ['position: fixed;', `top: ${-bodyScrollTop}px;`, 'left: 0px;', 'right: 0px;'];
52
+
46
53
  document.body.style.cssText =
47
54
  bodyStyles +
48
55
  (bodyStyles.endsWith(';') ? '' : ';') +
49
56
  [
50
57
  'overflow: hidden;',
51
58
  `overflow-y: ${overflowY};`,
52
- 'position: fixed;',
53
- `top: ${-bodyScrollTop}px;`,
54
- 'left: 0px;',
55
- 'right: 0px;',
59
+ ...fixedPositionStyles,
56
60
  'overscroll-behavior-y: contain;', // disable overscroll
57
61
  ].join('');
58
62
  }
package/src/index.tsx CHANGED
@@ -1908,6 +1908,7 @@ export {default as IconRecycleRegular} from './generated/mistica-icons/icon-recy
1908
1908
  export {default as IconRefreshFilled} from './generated/mistica-icons/icon-refresh-filled';
1909
1909
  export {default as IconRefreshLight} from './generated/mistica-icons/icon-refresh-light';
1910
1910
  export {default as IconRefreshRegular} from './generated/mistica-icons/icon-refresh-regular';
1911
+ export {default as IconReloadFilled} from './generated/mistica-icons/icon-reload-filled';
1911
1912
  export {default as IconReloadLight} from './generated/mistica-icons/icon-reload-light';
1912
1913
  export {default as IconReloadRegular} from './generated/mistica-icons/icon-reload-regular';
1913
1914
  export {default as IconRenovateDeviceChangeMobileFilled} from './generated/mistica-icons/icon-renovate-device-change-mobile-filled';
package/src/menu.css.ts CHANGED
@@ -4,23 +4,21 @@ import {vars as skinVars} from './skins/skin-contract.css';
4
4
  import * as mq from './media-queries.css';
5
5
 
6
6
  const top = createVar();
7
- const bottom = createVar();
8
7
  const left = createVar();
9
8
  const width = createVar();
10
- const right = createVar();
11
9
  const maxHeight = createVar();
10
+ const maxWidth = createVar();
12
11
  const transformOrigin = createVar();
13
12
 
14
13
  const MENU_MIN_WIDTH = 136;
15
- const MENU_MAX_WIDTH = 280;
14
+ export const MENU_MAX_WIDTH = 280;
16
15
 
17
16
  export const vars = {
18
17
  top,
19
- bottom,
20
18
  left,
21
- right,
22
19
  width,
23
20
  maxHeight,
21
+ maxWidth,
24
22
  transformOrigin,
25
23
  };
26
24
 
@@ -35,12 +33,10 @@ export const menuContainer = style([
35
33
  }),
36
34
  {
37
35
  top,
38
- bottom,
39
36
  left,
40
- right,
41
37
  width,
42
- minWidth: MENU_MIN_WIDTH,
43
- maxWidth: MENU_MAX_WIDTH,
38
+ minWidth: `min(${MENU_MIN_WIDTH}px, ${maxWidth})`,
39
+ maxWidth: `min(${MENU_MAX_WIDTH}px, ${maxWidth})`,
44
40
  maxHeight,
45
41
  transformOrigin,
46
42
  listStyleType: 'none',
package/src/menu.tsx CHANGED
@@ -270,8 +270,14 @@ export const MenuSection = ({children}: MenuSectionProps): JSX.Element => {
270
270
  );
271
271
  };
272
272
 
273
- const MARGIN_THRESHOLD = 12;
274
273
  const MENU_OFFSET_FROM_TARGET = 8;
274
+ const REFLECTED_PLACEMENT = {top: 'bottom', bottom: 'top', left: 'right', right: 'left'} as const;
275
+ const TRANSFORM_ORIGINS = {
276
+ top: 'center bottom',
277
+ bottom: 'center top',
278
+ left: 'right center',
279
+ right: 'left center',
280
+ } as const;
275
281
 
276
282
  type MenuRenderProps = {
277
283
  ref: (element: HTMLElement | null) => void;
@@ -286,19 +292,36 @@ type TargetRenderProps = {
286
292
  };
287
293
 
288
294
  export type MenuProps = {
295
+ /**
296
+ * Width in pixels. Values are clamped to the range 136–280.
297
+ * The final width never exceeds the viewport width, even if that
298
+ * means going below the 136px minimum.
299
+ *
300
+ * Examples: 100 → 136, 200 → 200, 500 → 280.
301
+ */
289
302
  width?: number;
290
303
  renderTarget: (props: TargetRenderProps) => React.ReactNode;
291
304
  renderMenu: (props: MenuRenderProps) => React.ReactNode;
292
305
  children?: void;
293
- position?: 'left' | 'right';
294
306
  dataAttributes?: DataAttributes;
295
- };
307
+ } & ExclusifyUnion<
308
+ | {
309
+ /** @deprecated Use placement and alignment instead. */
310
+ position?: 'left' | 'right';
311
+ }
312
+ | {
313
+ placement?: 'top' | 'bottom' | 'left' | 'right';
314
+ alignment?: 'start' | 'middle' | 'end';
315
+ }
316
+ >;
296
317
 
297
318
  export const Menu = ({
298
319
  renderTarget,
299
320
  renderMenu,
300
321
  width,
301
322
  position = 'left',
323
+ placement = 'bottom',
324
+ alignment = position === 'left' ? 'start' : 'end',
302
325
  dataAttributes,
303
326
  }: MenuProps): JSX.Element => {
304
327
  const [isMenuOpen, setIsMenuOpen] = React.useState(false);
@@ -309,11 +332,9 @@ export const Menu = ({
309
332
  const menuRef = React.useRef<HTMLDivElement | null>(null);
310
333
 
311
334
  const [itemsComputedProps, setItemsComputedProps] = React.useState<{
312
- left?: number;
313
- right?: number;
314
- top: string;
315
- bottom: string;
316
- maxHeight?: number;
335
+ left: number;
336
+ top: number;
337
+ maxHeight: number;
317
338
  transformOrigin: string;
318
339
  } | null>(null);
319
340
 
@@ -326,44 +347,52 @@ export const Menu = ({
326
347
  return;
327
348
  }
328
349
 
329
- const {top: topTarget, right: rightTarget, left: leftTarget, bottom: bottomTarget} = targetRect;
330
-
331
- const heightMenu = menu.scrollHeight;
332
-
333
- const leftDirection = position === 'left' ? leftTarget : undefined;
334
- const rightDirection = position === 'right' ? windowSize.width - rightTarget : undefined;
335
-
336
- const topTargetWithOffset = topTarget - MENU_OFFSET_FROM_TARGET;
337
- const bottomTargetWithOffset = bottomTarget + MENU_OFFSET_FROM_TARGET;
338
-
339
- const availableSpaceOnBottom = windowSize.height - bottomTargetWithOffset - MARGIN_THRESHOLD;
340
- const availableSpaceOnTop = topTargetWithOffset - MARGIN_THRESHOLD;
341
- const menuFitsOnBottom = availableSpaceOnBottom > heightMenu;
342
- const menuFitsOnTop = availableSpaceOnTop > heightMenu;
343
-
344
- const isMenuOnBottom =
345
- menuFitsOnBottom || (!menuFitsOnTop && availableSpaceOnBottom > availableSpaceOnTop);
346
-
347
- if (isMenuOnBottom) {
348
- setItemsComputedProps({
349
- left: leftDirection,
350
- right: rightDirection,
351
- top: `${bottomTargetWithOffset}px`,
352
- bottom: 'auto',
353
- maxHeight: menuFitsOnBottom ? undefined : availableSpaceOnBottom,
354
- transformOrigin: 'center top',
355
- });
356
- } else {
357
- setItemsComputedProps({
358
- left: leftDirection,
359
- right: rightDirection,
360
- top: 'auto',
361
- bottom: `${windowSize.height - topTargetWithOffset}px`,
362
- maxHeight: menuFitsOnTop ? undefined : availableSpaceOnTop,
363
- transformOrigin: 'center bottom',
364
- });
350
+ const availableSpace = {
351
+ top: targetRect.top - MENU_OFFSET_FROM_TARGET,
352
+ bottom: windowSize.height - targetRect.bottom - MENU_OFFSET_FROM_TARGET,
353
+ left: targetRect.left - MENU_OFFSET_FROM_TARGET,
354
+ right: windowSize.width - targetRect.right - MENU_OFFSET_FROM_TARGET,
355
+ };
356
+ const menuSize = placement === 'top' || placement === 'bottom' ? menu.scrollHeight : menu.offsetWidth;
357
+ const candidateReflectedPlacement = REFLECTED_PLACEMENT[placement];
358
+ let finalPlacement =
359
+ availableSpace[placement] < menuSize &&
360
+ availableSpace[candidateReflectedPlacement] > availableSpace[placement]
361
+ ? candidateReflectedPlacement
362
+ : placement;
363
+ if (
364
+ (finalPlacement === 'left' || finalPlacement === 'right') &&
365
+ availableSpace[finalPlacement] < menu.offsetWidth
366
+ ) {
367
+ finalPlacement = availableSpace.bottom >= availableSpace.top ? 'bottom' : 'top';
365
368
  }
366
- }, [position, isMenuOpen, menu, target, width, windowSize]);
369
+
370
+ const isVertical = finalPlacement === 'top' || finalPlacement === 'bottom';
371
+ const maxHeight = Math.max(0, isVertical ? availableSpace[finalPlacement] : windowSize.height);
372
+ const heightMenu = Math.min(menu.scrollHeight, maxHeight);
373
+ const widthMenu = menu.offsetWidth;
374
+ const targetStart = isVertical ? targetRect.left : targetRect.top;
375
+ const targetSize = isVertical ? targetRect.width : targetRect.height;
376
+ const alignmentSize = isVertical ? widthMenu : heightMenu;
377
+ const alignmentOffset = alignment === 'start' ? 0 : alignment === 'end' ? 1 : 0.5;
378
+ const alignedPosition = targetStart + (targetSize - alignmentSize) * alignmentOffset;
379
+ const shiftedPosition = Math.max(
380
+ 0,
381
+ Math.min(alignedPosition, (isVertical ? windowSize.width : windowSize.height) - alignmentSize)
382
+ );
383
+ const positions = {
384
+ top: {left: shiftedPosition, top: targetRect.top - MENU_OFFSET_FROM_TARGET - heightMenu},
385
+ bottom: {left: shiftedPosition, top: targetRect.bottom + MENU_OFFSET_FROM_TARGET},
386
+ left: {left: targetRect.left - MENU_OFFSET_FROM_TARGET - widthMenu, top: shiftedPosition},
387
+ right: {left: targetRect.right + MENU_OFFSET_FROM_TARGET, top: shiftedPosition},
388
+ };
389
+
390
+ setItemsComputedProps({
391
+ ...positions[finalPlacement],
392
+ maxHeight,
393
+ transformOrigin: TRANSFORM_ORIGINS[finalPlacement],
394
+ });
395
+ }, [placement, alignment, isMenuOpen, menu, target, width, windowSize]);
367
396
 
368
397
  const targetProps = React.useMemo(
369
398
  () => ({
@@ -504,29 +533,18 @@ export const Menu = ({
504
533
  <div
505
534
  style={{
506
535
  ...applyCssVars({
536
+ [styles.vars.maxWidth]:
537
+ `${Math.min(styles.MENU_MAX_WIDTH, Math.max(0, windowSize.width))}px`,
538
+ ...(width && {
539
+ [styles.vars.width]: `${width}px`,
540
+ }),
507
541
  ...(itemsComputedProps
508
542
  ? {
509
- [styles.vars.top]: itemsComputedProps.top,
510
- [styles.vars.bottom]: itemsComputedProps.bottom,
543
+ [styles.vars.top]: `${itemsComputedProps.top}px`,
544
+ [styles.vars.left]: `${itemsComputedProps.left}px`,
545
+ [styles.vars.maxHeight]: `${itemsComputedProps.maxHeight}px`,
511
546
  [styles.vars.transformOrigin]:
512
547
  itemsComputedProps.transformOrigin,
513
-
514
- ...(itemsComputedProps.left !== undefined && {
515
- [styles.vars.left]: `${itemsComputedProps.left}px`,
516
- }),
517
-
518
- ...(itemsComputedProps.right !== undefined && {
519
- [styles.vars.right]: `${itemsComputedProps.right}px`,
520
- }),
521
-
522
- ...(itemsComputedProps.maxHeight !== undefined && {
523
- [styles.vars.maxHeight]:
524
- `${itemsComputedProps.maxHeight}px`,
525
- }),
526
-
527
- ...(width !== undefined && {
528
- [styles.vars.width]: width ? `${width}px` : '',
529
- }),
530
548
  }
531
549
  : {}),
532
550
  }),
@@ -1,2 +1,2 @@
1
1
  // DO NOT EDIT THIS FILE. It's autogenerated by set-version.js
2
- export const PACKAGE_VERSION = '17.6.0' as string;
2
+ export const PACKAGE_VERSION = '17.8.0' as string;
package/src/popover.tsx CHANGED
@@ -21,6 +21,7 @@ type Props = {
21
21
  onClose?: () => void;
22
22
  closeButtonLabel?: string;
23
23
  position?: Position;
24
+ alignment?: 'start' | 'middle' | 'end';
24
25
  width?: number;
25
26
  trackingEvent?: TrackingEvent | ReadonlyArray<TrackingEvent>;
26
27
  open?: boolean;
@@ -446,8 +446,15 @@ const SidenavBar = ({
446
446
  const footerDividerSentinelRef = React.useRef<HTMLDivElement>(null);
447
447
  const bodyRef = React.useRef<HTMLDivElement>(null);
448
448
 
449
+ // The mobile treatment replaces the whole rail, so a trip to a narrow screen unmounts the body and
450
+ // its sentinels. Both dividers go back to their rest state, and the observers of the new body decide
451
+ // again: a divider earned by a scroll before the trip does not belong to the body that comes back.
449
452
  React.useEffect(() => {
450
- if (!bodyRef.current) return;
453
+ if (!bodyRef.current) {
454
+ setShowHeaderDivider(false);
455
+ setShowFooterDivider(false);
456
+ return;
457
+ }
451
458
 
452
459
  // The sentinels have no height, and at rest they sit exactly on the edge of the scrollport. A
453
460
  // fractional layout (a boxed sidenav measures 100vh minus its margins) can leave them half a
@@ -478,7 +485,7 @@ const SidenavBar = ({
478
485
  headerObserver.disconnect();
479
486
  footerObserver.disconnect();
480
487
  };
481
- }, []);
488
+ }, [isTabletOrSmaller]);
482
489
 
483
490
  // The rail is travelling between its two widths. See `columnsWhileMoving`.
484
491
  const isMoving = isSidenavMoving(collapseState);
@@ -699,8 +699,13 @@ export const getBlauSkin: GetKnownSkin = () => {
699
699
  cardTitleDefault: {lineHeight: {desktop: 28, mobile: 24}, size: {desktop: 20, mobile: 18}},
700
700
  cardTitleSnap: {lineHeight: {desktop: 24, mobile: 20}, size: {desktop: 16, mobile: 14}},
701
701
  chipLabel: {
702
- lineHeight: {desktop: 24, mobile: 20},
703
- size: {desktop: 16, mobile: 14},
702
+ lineHeight: {desktop: 24, mobile: 24},
703
+ size: {desktop: 16, mobile: 16},
704
+ weight: 'medium',
705
+ },
706
+ chipLabelSmall: {
707
+ lineHeight: {desktop: 20, mobile: 20},
708
+ size: {desktop: 14, mobile: 14},
704
709
  weight: 'medium',
705
710
  },
706
711
  drawerTitle: {
@@ -56,7 +56,12 @@ export const defaultTextPresetsConfig: TextPresetsConfig = {
56
56
  tabsLabel: {weight: 'medium', size: {mobile: 16, desktop: 18}, lineHeight: {mobile: 24, desktop: 24}},
57
57
  chipLabel: {
58
58
  lineHeight: {desktop: 24, mobile: 20},
59
- size: {desktop: 16, mobile: 14},
59
+ size: {desktop: 16, mobile: 16},
60
+ weight: 'medium',
61
+ },
62
+ chipLabelSmall: {
63
+ lineHeight: {desktop: 24, mobile: 20},
64
+ size: {desktop: 14, mobile: 14},
60
65
  weight: 'medium',
61
66
  },
62
67
  inputHelperText: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
@@ -703,8 +703,13 @@ export const getEsimflagSkin: GetKnownSkin = () => {
703
703
  cardTitleDefault: {lineHeight: {desktop: 28, mobile: 24}, size: {desktop: 20, mobile: 18}},
704
704
  cardTitleSnap: {lineHeight: {desktop: 24, mobile: 20}, size: {desktop: 16, mobile: 14}},
705
705
  chipLabel: {
706
- lineHeight: {desktop: 24, mobile: 20},
707
- size: {desktop: 16, mobile: 14},
706
+ lineHeight: {desktop: 24, mobile: 24},
707
+ size: {desktop: 16, mobile: 16},
708
+ weight: 'medium',
709
+ },
710
+ chipLabelSmall: {
711
+ lineHeight: {desktop: 20, mobile: 20},
712
+ size: {desktop: 14, mobile: 14},
708
713
  weight: 'medium',
709
714
  },
710
715
  drawerTitle: {
@@ -714,6 +714,11 @@ export const getMovistarSkin: GetKnownSkin = () => {
714
714
  size: {desktop: 18, mobile: 14},
715
715
  weight: 'medium',
716
716
  },
717
+ chipLabelSmall: {
718
+ lineHeight: {desktop: 22, mobile: 20},
719
+ size: {desktop: 16, mobile: 14},
720
+ weight: 'medium',
721
+ },
717
722
  drawerTitle: {
718
723
  lineHeight: {desktop: 26, mobile: 26},
719
724
  size: {desktop: 20, mobile: 20},
package/src/skins/o2.tsx CHANGED
@@ -706,8 +706,13 @@ export const getO2Skin: GetKnownSkin = () => {
706
706
  cardTitleDefault: {lineHeight: {desktop: 28, mobile: 24}, size: {desktop: 20, mobile: 18}},
707
707
  cardTitleSnap: {lineHeight: {desktop: 24, mobile: 20}, size: {desktop: 16, mobile: 14}},
708
708
  chipLabel: {
709
- lineHeight: {desktop: 24, mobile: 20},
710
- size: {desktop: 16, mobile: 14},
709
+ lineHeight: {desktop: 24, mobile: 24},
710
+ size: {desktop: 16, mobile: 16},
711
+ weight: 'medium',
712
+ },
713
+ chipLabelSmall: {
714
+ lineHeight: {desktop: 20, mobile: 20},
715
+ size: {desktop: 14, mobile: 14},
711
716
  weight: 'medium',
712
717
  },
713
718
  drawerTitle: {
@@ -357,6 +357,7 @@ const textPresets: ToThemeTokens<TextPresetsConfig> = {
357
357
  text9: {weight: '', size: '', lineHeight: ''},
358
358
  text10: {weight: '', size: '', lineHeight: ''},
359
359
  chipLabel: {weight: '', size: '', lineHeight: ''},
360
+ chipLabelSmall: {weight: '', size: '', lineHeight: ''},
360
361
  inputHelperText: {size: '', lineHeight: ''},
361
362
  inputLabel: {size: '', lineHeight: ''},
362
363
  inputValue: {size: '', lineHeight: ''},
@@ -707,8 +707,13 @@ export const getTelefonicaSkin: GetKnownSkin = () => {
707
707
  cardTitleDefault: {lineHeight: {desktop: 28, mobile: 24}, size: {desktop: 20, mobile: 18}},
708
708
  cardTitleSnap: {lineHeight: {desktop: 24, mobile: 20}, size: {desktop: 16, mobile: 14}},
709
709
  chipLabel: {
710
- lineHeight: {desktop: 24, mobile: 20},
711
- size: {desktop: 16, mobile: 14},
710
+ lineHeight: {desktop: 24, mobile: 24},
711
+ size: {desktop: 16, mobile: 16},
712
+ weight: 'medium',
713
+ },
714
+ chipLabelSmall: {
715
+ lineHeight: {desktop: 20, mobile: 20},
716
+ size: {desktop: 14, mobile: 14},
712
717
  weight: 'medium',
713
718
  },
714
719
  drawerTitle: {
@@ -67,6 +67,7 @@ export type TextPresetsConfig = {
67
67
  cardTitleSnap: TextSizeTokenConfig;
68
68
  drawerTitle: TextTokenConfig;
69
69
  chipLabel: TextTokenConfig;
70
+ chipLabelSmall: TextTokenConfig;
70
71
  link: TextWeightTokenConfig<'regular' | 'medium'>;
71
72
  loadingScreenTitle: TextSizeTokenConfig;
72
73
  title1: TextTokenConfig<'regular' | 'medium'>;
@@ -744,6 +744,11 @@ export const getVivoEvolutionSkin: GetKnownSkin = () => {
744
744
  size: {desktop: 16, mobile: 14},
745
745
  weight: 'medium',
746
746
  },
747
+ chipLabelSmall: {
748
+ lineHeight: {desktop: 24, mobile: 20},
749
+ size: {desktop: 16, mobile: 14},
750
+ weight: 'medium',
751
+ },
747
752
  drawerTitle: {
748
753
  lineHeight: {desktop: 32, mobile: 24},
749
754
  size: {desktop: 28, mobile: 20},
@@ -700,6 +700,11 @@ export const getVivoSkin: GetKnownSkin = () => {
700
700
  size: {desktop: 16, mobile: 14},
701
701
  weight: 'medium',
702
702
  },
703
+ chipLabelSmall: {
704
+ lineHeight: {desktop: 24, mobile: 20},
705
+ size: {desktop: 16, mobile: 14},
706
+ weight: 'medium',
707
+ },
703
708
  drawerTitle: {
704
709
  lineHeight: {desktop: 32, mobile: 24},
705
710
  size: {desktop: 28, mobile: 20},
@@ -53,6 +53,7 @@ export const contentContainer = style([
53
53
  overflow: 'hidden',
54
54
  }),
55
55
  {
56
+ overflowY: 'auto',
56
57
  minWidth: CONTENT_MIN_WIDTH - 2 * BORDER_SIZE, // border is not included in this container
57
58
  },
58
59
  ]);