@telefonica/mistica 17.7.0 → 17.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/css/blau.css +17 -2
  2. package/css/community/cyber.css +56 -25
  3. package/css/esimflag.css +17 -2
  4. package/css/mistica-common.css +15 -0
  5. package/css/mistica.css +1 -1
  6. package/css/movistar.css +15 -0
  7. package/css/o2.css +17 -2
  8. package/css/telefonica.css +25 -10
  9. package/css/vivo-evolution.css +17 -2
  10. package/css/vivo.css +15 -0
  11. package/dist/accordion.css-mistica.js +6 -6
  12. package/dist/accordion.js +67 -74
  13. package/dist/align.css-mistica.js +1 -1
  14. package/dist/autocomplete.css-mistica.js +1 -1
  15. package/dist/avatar.css-mistica.js +1 -1
  16. package/dist/badge.css-mistica.js +1 -1
  17. package/dist/box.css-mistica.js +13 -13
  18. package/dist/boxed.css-mistica.js +24 -24
  19. package/dist/boxed.d.ts +2 -2
  20. package/dist/boxed.js +27 -27
  21. package/dist/button-group.css-mistica.js +1 -1
  22. package/dist/button-layout.css-mistica.js +14 -14
  23. package/dist/button.css-mistica.js +38 -38
  24. package/dist/callout.css-mistica.js +11 -11
  25. package/dist/card-internal.css-mistica.js +21 -21
  26. package/dist/carousel.css-mistica.js +8 -8
  27. package/dist/checkbox.css-mistica.js +11 -11
  28. package/dist/chip.css-mistica.js +15 -15
  29. package/dist/chip.js +26 -26
  30. package/dist/circle.css-mistica.js +1 -1
  31. package/dist/community/advanced-data-card.css-mistica.js +8 -8
  32. package/dist/community/ai-card.css-mistica.js +2 -2
  33. package/dist/community/blocks.css-mistica.js +1 -1
  34. package/dist/community/cyber/example-component.css-mistica.js +1 -1
  35. package/dist/community/example-component.css-mistica.js +1 -1
  36. package/dist/community/skins/cyber-skin.js +60 -5
  37. package/dist/counter.css-mistica.js +1 -1
  38. package/dist/cover-hero.css-mistica.js +2 -2
  39. package/dist/credit-card-number-field.css-mistica.js +3 -3
  40. package/dist/date-field.css-mistica.js +1 -1
  41. package/dist/date-time-picker.css-mistica.js +1 -1
  42. package/dist/date-time-picker.js +5 -2
  43. package/dist/dialog.css-mistica.js +4 -4
  44. package/dist/divider.css-mistica.js +5 -5
  45. package/dist/double-field.css-mistica.js +2 -2
  46. package/dist/drawer.css-mistica.js +1 -1
  47. package/dist/empty-state-card.css-mistica.js +1 -1
  48. package/dist/empty-state.css-mistica.js +5 -5
  49. package/dist/fade-in.css-mistica.js +1 -1
  50. package/dist/fade-out.css-mistica.js +1 -1
  51. package/dist/feedback.css-mistica.js +1 -1
  52. package/dist/feedback.js +123 -123
  53. package/dist/file-upload.css-mistica.js +7 -7
  54. package/dist/fixed-footer-layout.css-mistica.js +2 -2
  55. package/dist/form.css-mistica.js +1 -1
  56. package/dist/generated/mistica-icons/icon-add-user-filled.js +38 -18
  57. package/dist/generated/mistica-icons/icon-add-user-light.js +29 -13
  58. package/dist/generated/mistica-icons/icon-add-user-regular.js +32 -16
  59. package/dist/generated/mistica-icons/icon-gift-filled.js +23 -13
  60. package/dist/generated/mistica-icons/icon-gift-light.js +27 -17
  61. package/dist/generated/mistica-icons/icon-gift-regular.js +23 -13
  62. package/dist/generated/mistica-icons/icon-mobile-question-filled.js +29 -13
  63. package/dist/generated/mistica-icons/icon-mobile-question-light.js +40 -16
  64. package/dist/generated/mistica-icons/icon-mobile-question-regular.js +33 -9
  65. package/dist/generated/mistica-icons/icon-mobile-shield-filled.js +28 -12
  66. package/dist/generated/mistica-icons/icon-mobile-shield-light.js +30 -14
  67. package/dist/generated/mistica-icons/icon-mobile-shield-regular.js +36 -16
  68. package/dist/generated/mistica-icons/icon-mobile-usage-filled.js +29 -13
  69. package/dist/generated/mistica-icons/icon-mobile-usage-light.js +30 -14
  70. package/dist/generated/mistica-icons/icon-mobile-usage-regular.js +32 -16
  71. package/dist/generated/mistica-icons/icon-mobile-user-filled.js +27 -11
  72. package/dist/generated/mistica-icons/icon-mobile-user-light.js +29 -13
  73. package/dist/generated/mistica-icons/icon-mobile-user-regular.js +27 -11
  74. package/dist/generated/mistica-icons/icon-multidevice-filled.js +32 -16
  75. package/dist/generated/mistica-icons/icon-multidevice-light.js +42 -22
  76. package/dist/generated/mistica-icons/icon-multidevice-regular.js +34 -14
  77. package/dist/generated/mistica-icons/icon-negative-film-filled.js +23 -12
  78. package/dist/generated/mistica-icons/icon-negative-film-light.js +23 -12
  79. package/dist/generated/mistica-icons/icon-negative-film-regular.js +23 -13
  80. package/dist/generated/mistica-icons/icon-offer-percent-filled.js +32 -16
  81. package/dist/generated/mistica-icons/icon-offer-percent-light.js +23 -7
  82. package/dist/generated/mistica-icons/icon-offer-percent-regular.js +23 -7
  83. package/dist/generated/mistica-icons/icon-pay-invoice-filled.js +26 -10
  84. package/dist/generated/mistica-icons/icon-pay-invoice-light.js +30 -14
  85. package/dist/generated/mistica-icons/icon-pay-invoice-regular.js +45 -29
  86. package/dist/generated/mistica-icons/icon-people-network-filled.js +30 -20
  87. package/dist/generated/mistica-icons/icon-people-network-light.js +18 -8
  88. package/dist/generated/mistica-icons/icon-people-network-regular.js +20 -10
  89. package/dist/generated/mistica-icons/icon-pig-money-filled.js +23 -12
  90. package/dist/generated/mistica-icons/icon-pig-money-light.js +29 -12
  91. package/dist/generated/mistica-icons/icon-pig-money-regular.js +30 -13
  92. package/dist/generated/mistica-icons/icon-plane-filled.js +31 -21
  93. package/dist/generated/mistica-icons/icon-plane-light.js +15 -5
  94. package/dist/generated/mistica-icons/icon-plane-regular.js +19 -9
  95. package/dist/generated/mistica-icons/icon-play-filled.js +21 -11
  96. package/dist/generated/mistica-icons/icon-play-light.js +20 -10
  97. package/dist/generated/mistica-icons/icon-play-regular.js +20 -10
  98. package/dist/generated/mistica-icons/icon-podium-filled.js +25 -15
  99. package/dist/generated/mistica-icons/icon-podium-light.js +21 -11
  100. package/dist/generated/mistica-icons/icon-podium-regular.js +25 -15
  101. package/dist/generated/mistica-icons/icon-postpay-filled.js +32 -12
  102. package/dist/generated/mistica-icons/icon-postpay-light.js +30 -10
  103. package/dist/generated/mistica-icons/icon-postpay-regular.js +38 -18
  104. package/dist/generated/mistica-icons/icon-prepaid-filled.js +37 -21
  105. package/dist/generated/mistica-icons/icon-prepaid-light.js +39 -15
  106. package/dist/generated/mistica-icons/icon-prepaid-regular.js +35 -11
  107. package/dist/generated/mistica-icons/icon-queue-filled.js +35 -15
  108. package/dist/generated/mistica-icons/icon-queue-light.js +31 -15
  109. package/dist/generated/mistica-icons/icon-queue-regular.js +31 -15
  110. package/dist/generated/mistica-icons/icon-reload-filled.d.ts +3 -0
  111. package/dist/generated/mistica-icons/icon-reload-filled.js +159 -0
  112. package/dist/generated/mistica-icons/icon-reload-light.js +28 -18
  113. package/dist/generated/mistica-icons/icon-reload-regular.js +27 -17
  114. package/dist/generated/mistica-icons/icon-search-money-filled.js +28 -18
  115. package/dist/generated/mistica-icons/icon-search-money-light.js +34 -18
  116. package/dist/generated/mistica-icons/icon-search-money-regular.js +32 -16
  117. package/dist/generated/mistica-icons/icon-settings-filled.js +29 -19
  118. package/dist/generated/mistica-icons/icon-settings-light.js +31 -21
  119. package/dist/generated/mistica-icons/icon-settings-regular.js +36 -20
  120. package/dist/generated/mistica-icons/icon-shared-mobile-data-filled.js +33 -17
  121. package/dist/generated/mistica-icons/icon-shared-mobile-data-light.js +26 -10
  122. package/dist/generated/mistica-icons/icon-shared-mobile-data-regular.js +25 -9
  123. package/dist/generated/mistica-icons/icon-shield-checked-ok-filled.js +18 -8
  124. package/dist/generated/mistica-icons/icon-shield-checked-ok-light.js +32 -16
  125. package/dist/generated/mistica-icons/icon-shield-checked-ok-regular.js +38 -22
  126. package/dist/generated/mistica-icons/icon-shopping-bag-filled.js +22 -12
  127. package/dist/generated/mistica-icons/icon-shopping-bag-light.js +22 -12
  128. package/dist/generated/mistica-icons/icon-shopping-bag-regular.js +22 -12
  129. package/dist/generated/mistica-icons/icon-smart-wifi-filled.js +32 -16
  130. package/dist/generated/mistica-icons/icon-smart-wifi-light.js +30 -14
  131. package/dist/generated/mistica-icons/icon-smart-wifi-regular.js +34 -18
  132. package/dist/generated/mistica-icons/icon-star-filled.js +24 -14
  133. package/dist/generated/mistica-icons/icon-star-light.js +24 -14
  134. package/dist/generated/mistica-icons/icon-star-regular.js +20 -10
  135. package/dist/generated/mistica-icons/icon-status-chart-filled.js +26 -10
  136. package/dist/generated/mistica-icons/icon-status-chart-light.js +31 -15
  137. package/dist/generated/mistica-icons/icon-status-chart-regular.js +24 -8
  138. package/dist/generated/mistica-icons/icon-support-agent-filled.js +32 -16
  139. package/dist/generated/mistica-icons/icon-support-agent-light.js +34 -18
  140. package/dist/generated/mistica-icons/icon-support-agent-regular.js +35 -19
  141. package/dist/generated/mistica-icons/icon-tachometer-filled.js +28 -18
  142. package/dist/generated/mistica-icons/icon-tachometer-light.js +27 -11
  143. package/dist/generated/mistica-icons/icon-tachometer-regular.js +27 -11
  144. package/dist/generated/mistica-icons/icon-time-filled.js +22 -12
  145. package/dist/generated/mistica-icons/icon-time-light.js +32 -16
  146. package/dist/generated/mistica-icons/icon-time-regular.js +28 -12
  147. package/dist/generated/mistica-icons/icon-travel-bag-filled.js +32 -16
  148. package/dist/generated/mistica-icons/icon-travel-bag-light.js +32 -16
  149. package/dist/generated/mistica-icons/icon-travel-bag-regular.js +32 -16
  150. package/dist/generated/mistica-icons/icon-trophy-filled.js +22 -12
  151. package/dist/generated/mistica-icons/icon-trophy-light.js +24 -14
  152. package/dist/generated/mistica-icons/icon-trophy-regular.js +31 -21
  153. package/dist/generated/mistica-icons/icon-user-account-filled.js +18 -8
  154. package/dist/generated/mistica-icons/icon-user-account-light.js +19 -9
  155. package/dist/generated/mistica-icons/icon-user-account-regular.js +26 -16
  156. package/dist/generated/mistica-icons/icon-user-support-filled.js +25 -15
  157. package/dist/generated/mistica-icons/icon-user-support-light.js +33 -23
  158. package/dist/generated/mistica-icons/icon-user-support-regular.js +31 -21
  159. package/dist/generated/mistica-icons/icon-wallet-filled.js +36 -20
  160. package/dist/generated/mistica-icons/icon-wallet-light.js +31 -15
  161. package/dist/generated/mistica-icons/icon-wallet-regular.js +28 -12
  162. package/dist/generated/mistica-icons/icon-wifi-filled.js +33 -17
  163. package/dist/generated/mistica-icons/icon-wifi-light.js +33 -17
  164. package/dist/generated/mistica-icons/icon-wifi-regular.js +24 -8
  165. package/dist/generated/mistica-icons/icon-winner-filled.js +18 -8
  166. package/dist/generated/mistica-icons/icon-winner-light.js +22 -6
  167. package/dist/generated/mistica-icons/icon-winner-regular.js +23 -7
  168. package/dist/grid-layout.css-mistica.js +3 -3
  169. package/dist/grid.css-mistica.js +120 -120
  170. package/dist/header.css-mistica.js +1 -1
  171. package/dist/hero.css-mistica.js +2 -2
  172. package/dist/hooks.js +32 -29
  173. package/dist/horizontal-scroll.css-mistica.js +1 -1
  174. package/dist/icon-button.css-mistica.js +53 -53
  175. package/dist/icons/icon-chevron.css-mistica.js +2 -2
  176. package/dist/icons/icon-error.css-mistica.js +1 -1
  177. package/dist/icons/icon-error.js +51 -31
  178. package/dist/icons/icon-info.js +42 -10
  179. package/dist/icons/icon-stepper-success-vivo.d.ts +7 -0
  180. package/dist/icons/icon-stepper-success-vivo.js +78 -0
  181. package/dist/icons/icon-success-vivo-new.d.ts +1 -0
  182. package/dist/icons/icon-success-vivo.d.ts +1 -0
  183. package/dist/icons/icon-success.js +137 -58
  184. package/dist/image.css-mistica.js +2 -2
  185. package/dist/index.d.ts +3 -0
  186. package/dist/index.js +4 -0
  187. package/dist/inline.css-mistica.js +11 -11
  188. package/dist/list.css-mistica.js +42 -30
  189. package/dist/list.css.d.ts +4 -0
  190. package/dist/list.js +167 -160
  191. package/dist/loading-bar.css-mistica.js +1 -1
  192. package/dist/loading-screen.css-mistica.js +4 -4
  193. package/dist/logo.css-mistica.js +5 -5
  194. package/dist/menu.css-mistica.js +12 -12
  195. package/dist/mosaic.css-mistica.js +1 -1
  196. package/dist/navigation-bar.css-mistica.js +9 -9
  197. package/dist/navigation-breadcrumbs.css-mistica.js +1 -1
  198. package/dist/navigation-shared.css-mistica.js +9 -9
  199. package/dist/package-version.js +1 -1
  200. package/dist/pagination.css-mistica.js +18 -18
  201. package/dist/pin-field.css-mistica.js +1 -1
  202. package/dist/popover.css-mistica.js +1 -1
  203. package/dist/progress-bar.css-mistica.js +6 -6
  204. package/dist/radio-button.css-mistica.js +19 -19
  205. package/dist/rating.css-mistica.js +2 -2
  206. package/dist/responsive-layout.css-mistica.js +6 -6
  207. package/dist/screen-reader-only.css-mistica.js +1 -1
  208. package/dist/select.css-mistica.js +15 -15
  209. package/dist/sheet-action-row.css-mistica.js +1 -1
  210. package/dist/sheet-common.css-mistica.js +1 -1
  211. package/dist/sheet-info.css-mistica.js +1 -1
  212. package/dist/sidenav-bar-layout.css-mistica.js +1 -1
  213. package/dist/sidenav-bar.css-mistica.js +71 -71
  214. package/dist/skeletons.css-mistica.js +6 -6
  215. package/dist/skins/blau.js +44 -1
  216. package/dist/skins/defaults.js +43 -0
  217. package/dist/skins/esimflag.js +44 -1
  218. package/dist/skins/movistar.js +43 -0
  219. package/dist/skins/o2.js +44 -1
  220. package/dist/skins/skin-contract.css-mistica.js +757 -738
  221. package/dist/skins/skin-contract.css.d.ts +19 -0
  222. package/dist/skins/telefonica.js +52 -9
  223. package/dist/skins/types/index.d.ts +4 -0
  224. package/dist/skins/vivo-evolution.js +45 -2
  225. package/dist/skins/vivo.js +43 -0
  226. package/dist/skip-link.css-mistica.js +1 -1
  227. package/dist/slider.css-mistica.js +18 -18
  228. package/dist/snackbar.css-mistica.js +4 -4
  229. package/dist/spinner.css-mistica.js +1 -1
  230. package/dist/square.css-mistica.js +1 -1
  231. package/dist/stack.css-mistica.js +5 -5
  232. package/dist/stacking-group.css-mistica.js +1 -1
  233. package/dist/stepper.css-mistica.js +2 -2
  234. package/dist/stepper.js +31 -25
  235. package/dist/switch-component.css-mistica.js +35 -35
  236. package/dist/table.css-mistica.js +9 -9
  237. package/dist/tabs.css-mistica.js +17 -17
  238. package/dist/tag.css-mistica.js +1 -1
  239. package/dist/text-field-base.css-mistica.js +18 -18
  240. package/dist/text-field-components.css-mistica.js +3 -3
  241. package/dist/text-link.css-mistica.js +6 -6
  242. package/dist/text.css-mistica.js +6 -6
  243. package/dist/timeline.css-mistica.js +9 -9
  244. package/dist/timer.css-mistica.js +6 -6
  245. package/dist/tooltip.css-mistica.js +1 -1
  246. package/dist/touchable.css-mistica.js +1 -1
  247. package/dist/utils/aspect-ratio-support.css-mistica.js +2 -2
  248. package/dist/video.css-mistica.js +1 -1
  249. package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  250. package/dist-es/accordion.css-mistica.js +6 -6
  251. package/dist-es/accordion.js +104 -111
  252. package/dist-es/align.css-mistica.js +1 -1
  253. package/dist-es/autocomplete.css-mistica.js +1 -1
  254. package/dist-es/avatar.css-mistica.js +1 -1
  255. package/dist-es/badge.css-mistica.js +1 -1
  256. package/dist-es/box.css-mistica.js +13 -13
  257. package/dist-es/boxed.css-mistica.js +23 -23
  258. package/dist-es/boxed.js +34 -34
  259. package/dist-es/button-group.css-mistica.js +1 -1
  260. package/dist-es/button-layout.css-mistica.js +14 -14
  261. package/dist-es/button.css-mistica.js +35 -35
  262. package/dist-es/callout.css-mistica.js +11 -11
  263. package/dist-es/card-internal.css-mistica.js +21 -21
  264. package/dist-es/carousel.css-mistica.js +8 -8
  265. package/dist-es/checkbox.css-mistica.js +11 -11
  266. package/dist-es/chip.css-mistica.js +15 -15
  267. package/dist-es/chip.js +38 -38
  268. package/dist-es/circle.css-mistica.js +1 -1
  269. package/dist-es/community/advanced-data-card.css-mistica.js +8 -8
  270. package/dist-es/community/ai-card.css-mistica.js +2 -2
  271. package/dist-es/community/blocks.css-mistica.js +1 -1
  272. package/dist-es/community/cyber/example-component.css-mistica.js +1 -1
  273. package/dist-es/community/example-component.css-mistica.js +1 -1
  274. package/dist-es/community/skins/cyber-skin.js +60 -5
  275. package/dist-es/counter.css-mistica.js +1 -1
  276. package/dist-es/cover-hero.css-mistica.js +2 -2
  277. package/dist-es/credit-card-number-field.css-mistica.js +3 -3
  278. package/dist-es/date-field.css-mistica.js +1 -1
  279. package/dist-es/date-time-picker.css-mistica.js +1 -1
  280. package/dist-es/date-time-picker.js +5 -2
  281. package/dist-es/dialog.css-mistica.js +4 -4
  282. package/dist-es/divider.css-mistica.js +5 -5
  283. package/dist-es/double-field.css-mistica.js +2 -2
  284. package/dist-es/drawer.css-mistica.js +1 -1
  285. package/dist-es/empty-state-card.css-mistica.js +1 -1
  286. package/dist-es/empty-state.css-mistica.js +5 -5
  287. package/dist-es/fade-in.css-mistica.js +1 -1
  288. package/dist-es/fade-out.css-mistica.js +1 -1
  289. package/dist-es/feedback.css-mistica.js +1 -1
  290. package/dist-es/feedback.js +158 -158
  291. package/dist-es/file-upload.css-mistica.js +7 -7
  292. package/dist-es/fixed-footer-layout.css-mistica.js +2 -2
  293. package/dist-es/form.css-mistica.js +1 -1
  294. package/dist-es/generated/mistica-icons/icon-add-user-filled.js +50 -30
  295. package/dist-es/generated/mistica-icons/icon-add-user-light.js +37 -21
  296. package/dist-es/generated/mistica-icons/icon-add-user-regular.js +44 -28
  297. package/dist-es/generated/mistica-icons/icon-gift-filled.js +27 -17
  298. package/dist-es/generated/mistica-icons/icon-gift-light.js +34 -24
  299. package/dist-es/generated/mistica-icons/icon-gift-regular.js +28 -18
  300. package/dist-es/generated/mistica-icons/icon-mobile-question-filled.js +35 -19
  301. package/dist-es/generated/mistica-icons/icon-mobile-question-light.js +49 -25
  302. package/dist-es/generated/mistica-icons/icon-mobile-question-regular.js +42 -18
  303. package/dist-es/generated/mistica-icons/icon-mobile-shield-filled.js +34 -18
  304. package/dist-es/generated/mistica-icons/icon-mobile-shield-light.js +37 -21
  305. package/dist-es/generated/mistica-icons/icon-mobile-shield-regular.js +43 -23
  306. package/dist-es/generated/mistica-icons/icon-mobile-usage-filled.js +35 -19
  307. package/dist-es/generated/mistica-icons/icon-mobile-usage-light.js +39 -23
  308. package/dist-es/generated/mistica-icons/icon-mobile-usage-regular.js +42 -26
  309. package/dist-es/generated/mistica-icons/icon-mobile-user-filled.js +30 -14
  310. package/dist-es/generated/mistica-icons/icon-mobile-user-light.js +35 -19
  311. package/dist-es/generated/mistica-icons/icon-mobile-user-regular.js +33 -17
  312. package/dist-es/generated/mistica-icons/icon-multidevice-filled.js +37 -21
  313. package/dist-es/generated/mistica-icons/icon-multidevice-light.js +52 -32
  314. package/dist-es/generated/mistica-icons/icon-multidevice-regular.js +49 -29
  315. package/dist-es/generated/mistica-icons/icon-negative-film-filled.js +30 -19
  316. package/dist-es/generated/mistica-icons/icon-negative-film-light.js +29 -18
  317. package/dist-es/generated/mistica-icons/icon-negative-film-regular.js +32 -22
  318. package/dist-es/generated/mistica-icons/icon-offer-percent-filled.js +34 -18
  319. package/dist-es/generated/mistica-icons/icon-offer-percent-light.js +28 -12
  320. package/dist-es/generated/mistica-icons/icon-offer-percent-regular.js +26 -10
  321. package/dist-es/generated/mistica-icons/icon-pay-invoice-filled.js +31 -15
  322. package/dist-es/generated/mistica-icons/icon-pay-invoice-light.js +38 -22
  323. package/dist-es/generated/mistica-icons/icon-pay-invoice-regular.js +50 -34
  324. package/dist-es/generated/mistica-icons/icon-people-network-filled.js +31 -21
  325. package/dist-es/generated/mistica-icons/icon-people-network-light.js +21 -11
  326. package/dist-es/generated/mistica-icons/icon-people-network-regular.js +23 -13
  327. package/dist-es/generated/mistica-icons/icon-pig-money-filled.js +30 -19
  328. package/dist-es/generated/mistica-icons/icon-pig-money-light.js +37 -20
  329. package/dist-es/generated/mistica-icons/icon-pig-money-regular.js +38 -21
  330. package/dist-es/generated/mistica-icons/icon-plane-filled.js +40 -30
  331. package/dist-es/generated/mistica-icons/icon-plane-light.js +18 -8
  332. package/dist-es/generated/mistica-icons/icon-plane-regular.js +20 -10
  333. package/dist-es/generated/mistica-icons/icon-play-filled.js +24 -14
  334. package/dist-es/generated/mistica-icons/icon-play-light.js +24 -14
  335. package/dist-es/generated/mistica-icons/icon-play-regular.js +24 -14
  336. package/dist-es/generated/mistica-icons/icon-podium-filled.js +34 -24
  337. package/dist-es/generated/mistica-icons/icon-podium-light.js +24 -14
  338. package/dist-es/generated/mistica-icons/icon-podium-regular.js +29 -19
  339. package/dist-es/generated/mistica-icons/icon-postpay-filled.js +39 -19
  340. package/dist-es/generated/mistica-icons/icon-postpay-light.js +35 -15
  341. package/dist-es/generated/mistica-icons/icon-postpay-regular.js +49 -29
  342. package/dist-es/generated/mistica-icons/icon-prepaid-filled.js +48 -32
  343. package/dist-es/generated/mistica-icons/icon-prepaid-light.js +51 -27
  344. package/dist-es/generated/mistica-icons/icon-prepaid-regular.js +46 -22
  345. package/dist-es/generated/mistica-icons/icon-queue-filled.js +41 -21
  346. package/dist-es/generated/mistica-icons/icon-queue-light.js +37 -21
  347. package/dist-es/generated/mistica-icons/icon-queue-regular.js +37 -21
  348. package/dist-es/generated/mistica-icons/icon-reload-filled.js +109 -0
  349. package/dist-es/generated/mistica-icons/icon-reload-light.js +37 -27
  350. package/dist-es/generated/mistica-icons/icon-reload-regular.js +36 -26
  351. package/dist-es/generated/mistica-icons/icon-search-money-filled.js +38 -28
  352. package/dist-es/generated/mistica-icons/icon-search-money-light.js +43 -27
  353. package/dist-es/generated/mistica-icons/icon-search-money-regular.js +45 -29
  354. package/dist-es/generated/mistica-icons/icon-settings-filled.js +37 -27
  355. package/dist-es/generated/mistica-icons/icon-settings-light.js +40 -30
  356. package/dist-es/generated/mistica-icons/icon-settings-regular.js +46 -30
  357. package/dist-es/generated/mistica-icons/icon-shared-mobile-data-filled.js +36 -20
  358. package/dist-es/generated/mistica-icons/icon-shared-mobile-data-light.js +31 -15
  359. package/dist-es/generated/mistica-icons/icon-shared-mobile-data-regular.js +28 -12
  360. package/dist-es/generated/mistica-icons/icon-shield-checked-ok-filled.js +20 -10
  361. package/dist-es/generated/mistica-icons/icon-shield-checked-ok-light.js +37 -21
  362. package/dist-es/generated/mistica-icons/icon-shield-checked-ok-regular.js +44 -28
  363. package/dist-es/generated/mistica-icons/icon-shopping-bag-filled.js +27 -17
  364. package/dist-es/generated/mistica-icons/icon-shopping-bag-light.js +25 -15
  365. package/dist-es/generated/mistica-icons/icon-shopping-bag-regular.js +25 -15
  366. package/dist-es/generated/mistica-icons/icon-smart-wifi-filled.js +36 -20
  367. package/dist-es/generated/mistica-icons/icon-smart-wifi-light.js +36 -20
  368. package/dist-es/generated/mistica-icons/icon-smart-wifi-regular.js +45 -29
  369. package/dist-es/generated/mistica-icons/icon-star-filled.js +26 -16
  370. package/dist-es/generated/mistica-icons/icon-star-light.js +31 -21
  371. package/dist-es/generated/mistica-icons/icon-star-regular.js +24 -14
  372. package/dist-es/generated/mistica-icons/icon-status-chart-filled.js +37 -21
  373. package/dist-es/generated/mistica-icons/icon-status-chart-light.js +41 -25
  374. package/dist-es/generated/mistica-icons/icon-status-chart-regular.js +34 -18
  375. package/dist-es/generated/mistica-icons/icon-support-agent-filled.js +39 -23
  376. package/dist-es/generated/mistica-icons/icon-support-agent-light.js +44 -28
  377. package/dist-es/generated/mistica-icons/icon-support-agent-regular.js +46 -30
  378. package/dist-es/generated/mistica-icons/icon-tachometer-filled.js +38 -28
  379. package/dist-es/generated/mistica-icons/icon-tachometer-light.js +33 -17
  380. package/dist-es/generated/mistica-icons/icon-tachometer-regular.js +33 -17
  381. package/dist-es/generated/mistica-icons/icon-time-filled.js +25 -15
  382. package/dist-es/generated/mistica-icons/icon-time-light.js +45 -29
  383. package/dist-es/generated/mistica-icons/icon-time-regular.js +34 -18
  384. package/dist-es/generated/mistica-icons/icon-travel-bag-filled.js +38 -22
  385. package/dist-es/generated/mistica-icons/icon-travel-bag-light.js +41 -25
  386. package/dist-es/generated/mistica-icons/icon-travel-bag-regular.js +40 -24
  387. package/dist-es/generated/mistica-icons/icon-trophy-filled.js +23 -13
  388. package/dist-es/generated/mistica-icons/icon-trophy-light.js +28 -18
  389. package/dist-es/generated/mistica-icons/icon-trophy-regular.js +35 -25
  390. package/dist-es/generated/mistica-icons/icon-user-account-filled.js +21 -11
  391. package/dist-es/generated/mistica-icons/icon-user-account-light.js +23 -13
  392. package/dist-es/generated/mistica-icons/icon-user-account-regular.js +31 -21
  393. package/dist-es/generated/mistica-icons/icon-user-support-filled.js +35 -25
  394. package/dist-es/generated/mistica-icons/icon-user-support-light.js +44 -34
  395. package/dist-es/generated/mistica-icons/icon-user-support-regular.js +41 -31
  396. package/dist-es/generated/mistica-icons/icon-wallet-filled.js +42 -26
  397. package/dist-es/generated/mistica-icons/icon-wallet-light.js +37 -21
  398. package/dist-es/generated/mistica-icons/icon-wallet-regular.js +35 -19
  399. package/dist-es/generated/mistica-icons/icon-wifi-filled.js +44 -28
  400. package/dist-es/generated/mistica-icons/icon-wifi-light.js +48 -32
  401. package/dist-es/generated/mistica-icons/icon-wifi-regular.js +30 -14
  402. package/dist-es/generated/mistica-icons/icon-winner-filled.js +21 -11
  403. package/dist-es/generated/mistica-icons/icon-winner-light.js +28 -12
  404. package/dist-es/generated/mistica-icons/icon-winner-regular.js +29 -13
  405. package/dist-es/grid-layout.css-mistica.js +3 -3
  406. package/dist-es/grid.css-mistica.js +120 -120
  407. package/dist-es/header.css-mistica.js +1 -1
  408. package/dist-es/hero.css-mistica.js +2 -2
  409. package/dist-es/hooks.js +24 -21
  410. package/dist-es/horizontal-scroll.css-mistica.js +1 -1
  411. package/dist-es/icon-button.css-mistica.js +53 -53
  412. package/dist-es/icons/icon-chevron.css-mistica.js +2 -2
  413. package/dist-es/icons/icon-error.css-mistica.js +1 -1
  414. package/dist-es/icons/icon-error.js +55 -35
  415. package/dist-es/icons/icon-info.js +53 -21
  416. package/dist-es/icons/icon-stepper-success-vivo.js +69 -0
  417. package/dist-es/icons/icon-success.js +112 -74
  418. package/dist-es/image.css-mistica.js +2 -2
  419. package/dist-es/index.js +566 -565
  420. package/dist-es/inline.css-mistica.js +11 -11
  421. package/dist-es/list.css-mistica.js +8 -8
  422. package/dist-es/list.js +230 -223
  423. package/dist-es/loading-bar.css-mistica.js +1 -1
  424. package/dist-es/loading-screen.css-mistica.js +4 -4
  425. package/dist-es/logo.css-mistica.js +5 -5
  426. package/dist-es/menu.css-mistica.js +12 -12
  427. package/dist-es/mosaic.css-mistica.js +1 -1
  428. package/dist-es/navigation-bar.css-mistica.js +9 -9
  429. package/dist-es/navigation-breadcrumbs.css-mistica.js +1 -1
  430. package/dist-es/navigation-shared.css-mistica.js +9 -9
  431. package/dist-es/package-version.js +1 -1
  432. package/dist-es/pagination.css-mistica.js +18 -18
  433. package/dist-es/pin-field.css-mistica.js +1 -1
  434. package/dist-es/popover.css-mistica.js +1 -1
  435. package/dist-es/progress-bar.css-mistica.js +6 -6
  436. package/dist-es/radio-button.css-mistica.js +19 -19
  437. package/dist-es/rating.css-mistica.js +2 -2
  438. package/dist-es/responsive-layout.css-mistica.js +6 -6
  439. package/dist-es/screen-reader-only.css-mistica.js +1 -1
  440. package/dist-es/select.css-mistica.js +15 -15
  441. package/dist-es/sheet-action-row.css-mistica.js +1 -1
  442. package/dist-es/sheet-common.css-mistica.js +1 -1
  443. package/dist-es/sheet-info.css-mistica.js +1 -1
  444. package/dist-es/sidenav-bar-layout.css-mistica.js +1 -1
  445. package/dist-es/sidenav-bar.css-mistica.js +71 -71
  446. package/dist-es/skeletons.css-mistica.js +6 -6
  447. package/dist-es/skins/blau.js +44 -1
  448. package/dist-es/skins/defaults.js +43 -0
  449. package/dist-es/skins/esimflag.js +44 -1
  450. package/dist-es/skins/movistar.js +43 -0
  451. package/dist-es/skins/o2.js +44 -1
  452. package/dist-es/skins/skin-contract.css-mistica.js +757 -738
  453. package/dist-es/skins/telefonica.js +52 -9
  454. package/dist-es/skins/vivo-evolution.js +45 -2
  455. package/dist-es/skins/vivo.js +43 -0
  456. package/dist-es/skip-link.css-mistica.js +1 -1
  457. package/dist-es/slider.css-mistica.js +18 -18
  458. package/dist-es/snackbar.css-mistica.js +4 -4
  459. package/dist-es/spinner.css-mistica.js +1 -1
  460. package/dist-es/square.css-mistica.js +1 -1
  461. package/dist-es/stack.css-mistica.js +5 -5
  462. package/dist-es/stacking-group.css-mistica.js +1 -1
  463. package/dist-es/stepper.css-mistica.js +2 -2
  464. package/dist-es/stepper.js +60 -54
  465. package/dist-es/style.css +1 -1
  466. package/dist-es/switch-component.css-mistica.js +35 -35
  467. package/dist-es/table.css-mistica.js +9 -9
  468. package/dist-es/tabs.css-mistica.js +17 -17
  469. package/dist-es/tag.css-mistica.js +1 -1
  470. package/dist-es/text-field-base.css-mistica.js +17 -17
  471. package/dist-es/text-field-components.css-mistica.js +3 -3
  472. package/dist-es/text-link.css-mistica.js +6 -6
  473. package/dist-es/text.css-mistica.js +6 -6
  474. package/dist-es/timeline.css-mistica.js +9 -9
  475. package/dist-es/timer.css-mistica.js +6 -6
  476. package/dist-es/tooltip.css-mistica.js +1 -1
  477. package/dist-es/touchable.css-mistica.js +1 -1
  478. package/dist-es/utils/aspect-ratio-support.css-mistica.js +2 -2
  479. package/dist-es/video.css-mistica.js +1 -1
  480. package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  481. package/doc/layout.md +30 -0
  482. package/package.json +1 -1
  483. package/src/accordion.tsx +1 -21
  484. package/src/boxed.tsx +6 -2
  485. package/src/chip.tsx +4 -2
  486. package/src/community/skins/cyber-skin.tsx +28 -6
  487. package/src/date-time-picker.css.ts +0 -1
  488. package/src/date-time-picker.tsx +1 -0
  489. package/src/feedback.tsx +36 -29
  490. package/src/hooks.tsx +8 -4
  491. package/src/icons/icon-error.tsx +17 -1
  492. package/src/icons/icon-info.tsx +22 -1
  493. package/src/icons/icon-stepper-success-vivo.tsx +58 -0
  494. package/src/icons/icon-success-vivo-new.tsx +1 -0
  495. package/src/icons/icon-success-vivo.tsx +1 -0
  496. package/src/icons/icon-success.tsx +56 -37
  497. package/src/index.tsx +3 -0
  498. package/src/list.css.ts +20 -0
  499. package/src/list.tsx +9 -3
  500. package/src/package-version.tsx +1 -1
  501. package/src/skins/blau.tsx +18 -2
  502. package/src/skins/defaults.tsx +17 -1
  503. package/src/skins/esimflag.tsx +18 -2
  504. package/src/skins/movistar.tsx +16 -0
  505. package/src/skins/o2.tsx +18 -2
  506. package/src/skins/skin-contract.css.ts +4 -0
  507. package/src/skins/telefonica.tsx +26 -10
  508. package/src/skins/types/index.tsx +4 -0
  509. package/src/skins/vivo-evolution.tsx +18 -2
  510. package/src/skins/vivo.tsx +16 -0
  511. package/src/stepper.tsx +16 -6
package/src/feedback.tsx CHANGED
@@ -2,7 +2,6 @@
2
2
  import * as React from 'react';
3
3
  import {useTheme, useScreenSize} from './hooks';
4
4
  import ButtonFixedFooterLayout from './button-fixed-footer-layout';
5
- import {VIVO_EVOLUTION_SKIN, VIVO_SKIN} from './skins/constants';
6
5
  import {useSetOverscrollColor} from './overscroll-color-context';
7
6
  import IconSuccess from './icons/icon-success';
8
7
  import IconError from './icons/icon-error';
@@ -12,7 +11,7 @@ import {
12
11
  requestVibration as requestVibrationNative,
13
12
  } from '@tef-novum/webview-bridge';
14
13
  import {isRunningAcceptanceTest} from './utils/platform';
15
- import {Text6, Text2, Text3} from './text';
14
+ import {getTextSizesWithWeight, Text, Text2} from './text';
16
15
  import Box from './box';
17
16
  import {InternalBoxed} from './boxed';
18
17
  import ResponsiveLayout, {ResetResponsiveLayout} from './responsive-layout';
@@ -21,7 +20,7 @@ import classnames from 'classnames';
21
20
  import ButtonGroup from './button-group';
22
21
  import {vars} from './skins/skin-contract.css';
23
22
  import * as styles from './feedback.css';
24
- import IconSuccessVivoNew from './icons/icon-success-vivo-new';
23
+ import {ThemeVariant, useThemeVariant} from './theme-variant-context';
25
24
 
26
25
  import type {Theme} from './theme';
27
26
  import type {DataAttributes, IconProps} from './utils/types';
@@ -35,6 +34,8 @@ const checkHasButtons = ({primaryButton, secondaryButton}: FeedbackButtonsProps)
35
34
 
36
35
  type HapticFeedback = 'error' | 'success';
37
36
 
37
+ const successFeedbackAsset = <IconSuccess size="100%" />;
38
+
38
39
  const requestVibration = (type: HapticFeedback) => {
39
40
  if (isWebViewBridgeAvailable()) {
40
41
  requestVibrationNative(type).catch(() => {});
@@ -60,7 +61,11 @@ const useHapticFeedback = (type?: HapticFeedback) => {
60
61
 
61
62
  const renderFeedbackBody = (
62
63
  {asset, title, description, slot}: Pick<FeedbackScreenProps, 'asset' | 'title' | 'description' | 'slot'>,
63
- animateText: boolean
64
+ animateText: boolean,
65
+ {
66
+ feedbackScreenTitle: titlePreset,
67
+ feedbackScreenDescription: descriptionPreset,
68
+ }: Pick<Theme['textPresets'], 'feedbackScreenDescription' | 'feedbackScreenTitle'>
64
69
  ) => {
65
70
  const normalizedDescription =
66
71
  description && Array.isArray(description) ? (
@@ -73,13 +78,15 @@ const renderFeedbackBody = (
73
78
  description
74
79
  );
75
80
  return (
76
- <Stack space={24}>
81
+ <Stack space={40}>
77
82
  <div className={styles.assetContainer} data-testid="icon">
78
83
  {asset}
79
84
  </div>
80
85
  <Stack space={16} className={classnames(styles.feedbackData)}>
81
86
  <div className={classnames(animateText && styles.feedbackTextAppearFast)} data-testid="title">
82
- <Text6 as="h1">{title}</Text6>
87
+ <Text {...getTextSizesWithWeight({textPreset: titlePreset})} as="h1">
88
+ {title}
89
+ </Text>
83
90
  </div>
84
91
 
85
92
  {normalizedDescription && (
@@ -88,9 +95,14 @@ const renderFeedbackBody = (
88
95
  data-testid="description"
89
96
  >
90
97
  {normalizedDescription && (
91
- <Text3 regular color={vars.colors.textSecondary}>
98
+ <Text
99
+ {...getTextSizesWithWeight({
100
+ textPreset: descriptionPreset,
101
+ })}
102
+ color={vars.colors.textSecondary}
103
+ >
92
104
  {normalizedDescription}
93
- </Text3>
105
+ </Text>
94
106
  )}
95
107
  </div>
96
108
  )}
@@ -209,14 +221,15 @@ export const FeedbackScreen = ({
209
221
  dataAttributes,
210
222
  }: FeedbackScreenProps): JSX.Element => {
211
223
  useHapticFeedback(hapticFeedback);
212
- const {platformOverrides, isDarkMode} = useTheme();
224
+ const {platformOverrides, isDarkMode, textPresets} = useTheme();
213
225
  const {isTabletOrSmaller} = useScreenSize();
214
226
 
215
227
  const hasButtons = checkHasButtons({primaryButton, secondaryButton, link});
216
228
 
217
229
  const feedbackBody = renderFeedbackBody(
218
230
  {asset, title, description, slot},
219
- animateText && areAnimationsSupported(platformOverrides)
231
+ animateText && areAnimationsSupported(platformOverrides),
232
+ textPresets
220
233
  );
221
234
 
222
235
  if (!isTabletOrSmaller && unstable_inlineInDesktop) {
@@ -281,7 +294,7 @@ export const FeedbackScreen = ({
281
294
 
282
295
  export const SuccessFeedbackScreen = ({dataAttributes, ...props}: AssetFeedbackProps): JSX.Element => {
283
296
  const {isTabletOrSmaller} = useScreenSize();
284
- const {skinName, themeVariants} = useTheme();
297
+ const {themeVariants} = useTheme();
285
298
 
286
299
  return (
287
300
  <FeedbackScreen
@@ -293,13 +306,7 @@ export const SuccessFeedbackScreen = ({dataAttributes, ...props}: AssetFeedbackP
293
306
  : 'default'
294
307
  }
295
308
  hapticFeedback="success"
296
- asset={
297
- skinName === VIVO_SKIN || skinName === VIVO_EVOLUTION_SKIN ? (
298
- <IconSuccessVivoNew size="100%" />
299
- ) : (
300
- <IconSuccess size="100%" />
301
- )
302
- }
309
+ asset={successFeedbackAsset}
303
310
  animateText
304
311
  imageUrl={props.imageUrl}
305
312
  imageFit={props.imageFit}
@@ -353,13 +360,19 @@ export const InfoFeedbackScreen = ({
353
360
  Icon = IconInfo,
354
361
  ...props
355
362
  }: InfoFeedbackScreenProps): JSX.Element => {
363
+ const themeVariant = useThemeVariant();
364
+
356
365
  return (
357
366
  <FeedbackScreen
358
367
  dataAttributes={{
359
368
  testid: 'InfoFeedbackScreen',
360
369
  ...dataAttributes,
361
370
  }}
362
- asset={<Icon size="100%" color={vars.colors.brand} />}
371
+ asset={
372
+ <ThemeVariant variant={themeVariant}>
373
+ <Icon size="100%" color={vars.colors.brand} />
374
+ </ThemeVariant>
375
+ }
363
376
  {...props}
364
377
  />
365
378
  );
@@ -377,17 +390,11 @@ export const SuccessFeedback = ({
377
390
  dataAttributes,
378
391
  }: AssetFeedbackProps): JSX.Element => {
379
392
  useHapticFeedback('success');
380
- const {skinName, platformOverrides, themeVariants} = useTheme();
381
-
382
- const asset =
383
- skinName === VIVO_SKIN || skinName === VIVO_EVOLUTION_SKIN ? (
384
- <IconSuccessVivoNew size="100%" />
385
- ) : (
386
- <IconSuccess size="100%" />
387
- );
393
+ const {platformOverrides, themeVariants, textPresets} = useTheme();
388
394
  const feedbackBody = renderFeedbackBody(
389
- {asset, title, description, slot},
390
- areAnimationsSupported(platformOverrides)
395
+ {asset: successFeedbackAsset, title, description, slot},
396
+ areAnimationsSupported(platformOverrides),
397
+ textPresets
391
398
  );
392
399
  const inlineFeedbackBody = renderInlineFeedbackBody(feedbackBody, {
393
400
  primaryButton,
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
  }
@@ -100,6 +100,21 @@ const IconErrorVivo = ({size = 48}: Props): JSX.Element => {
100
100
  );
101
101
  };
102
102
 
103
+ const IconErrorVivoEvolution = ({size = 48}: Props): JSX.Element => {
104
+ return (
105
+ <svg role="presentation" width={size} height={size} viewBox="0 0 48 48" fill="none">
106
+ <path
107
+ d="M0 18C0 8.05888 8.05888 0 18 0H30C39.9411 0 48 8.05888 48 18V30C48 39.9411 39.9411 48 30 48H18C8.05888 48 0 39.9411 0 30V18Z"
108
+ fill={vars.colors.errorLow}
109
+ />
110
+ <path
111
+ d="M23.9948 12.5801C24.1593 12.5795 24.335 12.5865 24.5026 12.6016C25.9418 12.7313 27.318 13.5064 28.1149 14.8243L28.1247 14.8399L35.8552 28.877C36.7357 30.3471 36.7031 32.1087 35.822 33.4893C35.0153 34.753 33.4865 35.418 31.9851 35.418H16.0144C14.513 35.418 12.9841 34.753 12.1774 33.4893C11.2963 32.1087 11.2637 30.3471 12.1442 28.877L19.8747 14.8399L19.8845 14.8243C20.6814 13.5064 22.0576 12.7313 23.4968 12.6016C23.6628 12.5866 23.829 12.5795 23.9948 12.5801ZM23.9909 14.4551C23.8827 14.4546 23.7736 14.459 23.6647 14.4688C22.7771 14.5489 21.9631 15.0211 21.4978 15.7793L13.7683 29.8135L13.7585 29.8301C13.231 30.7026 13.2628 31.7054 13.7575 32.4805C14.1466 33.0901 15.0042 33.543 16.0144 33.543H31.9851C32.9952 33.543 33.8528 33.0901 34.2419 32.4805C34.7366 31.7054 34.7685 30.7026 34.2409 29.8301L34.2311 29.8135L26.5017 15.7793C26.0363 15.0211 25.2224 14.5488 24.3347 14.4688C24.2274 14.4591 24.1094 14.4546 23.9997 14.4551H23.9909ZM23.9997 28.9756C24.5175 28.9756 24.9372 29.3954 24.9372 29.9131C24.9369 30.4307 24.5173 30.8506 23.9997 30.8506C23.4821 30.8506 23.0625 30.4307 23.0622 29.9131C23.0622 29.3954 23.4819 28.9756 23.9997 28.9756ZM23.9997 19.5948C24.5175 19.5948 24.9372 20.0145 24.9372 20.5323V26.7823C24.9371 27.3 24.5174 27.7198 23.9997 27.7198C23.482 27.7198 23.0623 27.3 23.0622 26.7823V20.5323C23.0622 20.0145 23.4819 19.5948 23.9997 19.5948Z"
112
+ fill={vars.colors.errorHigh}
113
+ />
114
+ </svg>
115
+ );
116
+ };
117
+
103
118
  const IconErrorDefault = ({size = 48}: Props): JSX.Element => {
104
119
  const {platformOverrides} = useTheme();
105
120
 
@@ -148,8 +163,9 @@ const IconError = (props: Props): JSX.Element => {
148
163
  case O2_SKIN:
149
164
  return <IconErrorO2 {...props} />;
150
165
  case VIVO_SKIN:
151
- case VIVO_EVOLUTION_SKIN:
152
166
  return <IconErrorVivo {...props} />;
167
+ case VIVO_EVOLUTION_SKIN:
168
+ return <IconErrorVivoEvolution {...props} />;
153
169
  default:
154
170
  return <IconErrorDefault {...props} />;
155
171
  }
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  import {useTheme} from '../hooks';
4
4
  import {O2_SKIN, VIVO_SKIN, VIVO_EVOLUTION_SKIN} from '../skins/constants';
5
5
  import {vars} from '../skins/skin-contract.css';
6
+ import {useThemeVariant} from '../theme-variant-context';
6
7
 
7
8
  type Props = {
8
9
  size?: number | string;
@@ -34,6 +35,25 @@ const IconInfoVivo = ({size = 48}: Props): JSX.Element => {
34
35
  );
35
36
  };
36
37
 
38
+ const IconInfoVivoEvolution = ({size = 48}: Props): JSX.Element => {
39
+ const themeVariant = useThemeVariant();
40
+ const isAlternative = themeVariant === 'alternative';
41
+
42
+ return (
43
+ <svg role="presentation" width={size} height={size} viewBox="0 0 48 48" fill="none">
44
+ <path
45
+ d="M0 18C0 8.05888 8.05888 0 18 0H30C39.9411 0 48 8.05888 48 18V30C48 39.9411 39.9411 48 30 48H18C8.05888 48 0 39.9411 0 30V18Z"
46
+ fill={isAlternative ? vars.colors.neutralLowAlternative : vars.colors.neutralLow}
47
+ />
48
+ <g fill={vars.colors.neutralHigh}>
49
+ <path d="M24 21.0453C24.5178 21.0453 24.9375 21.465 24.9375 21.9828V29.8075C24.9375 30.3253 24.5178 30.745 24 30.745C23.4822 30.745 23.0625 30.3253 23.0625 29.8075V21.9828C23.0625 21.465 23.4822 21.0453 24 21.0453Z" />
50
+ <path d="M24 20.0675C24.5178 20.0675 24.9375 19.6478 24.9375 19.13C24.9375 18.6122 24.5178 18.1925 24 18.1925C23.4822 18.1925 23.0625 18.6122 23.0625 19.13C23.0625 19.6478 23.4822 20.0675 24 20.0675Z" />
51
+ <path d="M11.5 21.8125C11.5 16.1171 16.1171 11.5 21.8125 11.5H26.1875C31.8829 11.5 36.5 16.1171 36.5 21.8125V26.1875C36.5 31.8829 31.8829 36.5 26.1875 36.5H21.8125C16.1171 36.5 11.5 31.8829 11.5 26.1875V21.8125ZM21.8125 13.375C17.1526 13.375 13.375 17.1526 13.375 21.8125V26.1875C13.375 30.8474 17.1526 34.625 21.8125 34.625H26.1875C30.8474 34.625 34.625 30.8474 34.625 26.1875V21.8125C34.625 17.1526 30.8474 13.375 26.1875 13.375H21.8125Z" />
52
+ </g>
53
+ </svg>
54
+ );
55
+ };
56
+
37
57
  const IconInfoDefault = ({size = 48}: Props): JSX.Element => {
38
58
  return (
39
59
  <svg role="presentation" width={size} height={size} viewBox="0 0 64 64">
@@ -53,8 +73,9 @@ const IconInfo = (props: Props): JSX.Element => {
53
73
  case O2_SKIN:
54
74
  return <IconInfoO2 {...props} />;
55
75
  case VIVO_SKIN:
56
- case VIVO_EVOLUTION_SKIN:
57
76
  return <IconInfoVivo {...props} />;
77
+ case VIVO_EVOLUTION_SKIN:
78
+ return <IconInfoVivoEvolution {...props} />;
58
79
  default:
59
80
  return <IconInfoDefault {...props} />;
60
81
  }
@@ -0,0 +1,58 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import {useTheme} from '../hooks';
4
+ import {getAnimateDrawLineProps, getAnimateHopInProps, mergeProperties} from '../utils/animation';
5
+ import {useThemeVariant} from '../theme-variant-context';
6
+ import {vars} from '../skins/skin-contract.css';
7
+
8
+ type Props = {
9
+ size?: number | string;
10
+ color?: string;
11
+ skipAnimation?: boolean;
12
+ };
13
+
14
+ const IconStepperSuccessVivo = ({size = 48, color, skipAnimation = false}: Props): JSX.Element => {
15
+ const themeVariant = useThemeVariant();
16
+ const {platformOverrides} = useTheme();
17
+
18
+ const defaultColor =
19
+ themeVariant === 'brand' || themeVariant === 'media'
20
+ ? vars.colors.neutralHighBrand
21
+ : themeVariant === 'negative'
22
+ ? vars.colors.neutralHighNegative
23
+ : vars.colors.brand;
24
+
25
+ return (
26
+ <svg role="presentation" width={size} height={size} viewBox="0 0 64 64">
27
+ <g stroke={color ? undefined : defaultColor}>
28
+ <path
29
+ vectorEffect="non-scaling-stroke"
30
+ fill="none"
31
+ stroke={color}
32
+ strokeWidth="2"
33
+ strokeMiterlimit="10"
34
+ d="M61.4,32c0,19.5-10,29.4-29.4,29.4C12.5,61.4,2.6,51.5,2.6,32S12.5,2.6,32,2.6S61.4,12.5,61.4,32z"
35
+ transform="rotate(90 32 32)"
36
+ {...(!skipAnimation && getAnimateDrawLineProps('202', '0.2s', platformOverrides))}
37
+ />
38
+ <polyline
39
+ vectorEffect="non-scaling-stroke"
40
+ fill="none"
41
+ stroke={color}
42
+ strokeWidth="2"
43
+ strokeMiterlimit="10"
44
+ strokeLinecap="round"
45
+ strokeLinejoin="round"
46
+ points="20,34.9 27.4,44.3 45.6,21"
47
+ {...(!skipAnimation &&
48
+ mergeProperties(
49
+ getAnimateDrawLineProps('44', '0.6s', platformOverrides),
50
+ getAnimateHopInProps('0.6s', platformOverrides)
51
+ ))}
52
+ />
53
+ </g>
54
+ </svg>
55
+ );
56
+ };
57
+
58
+ export default IconStepperSuccessVivo;
@@ -7,6 +7,7 @@ type Props = {
7
7
  size?: number | string;
8
8
  };
9
9
 
10
+ /** @deprecated This legacy Vivo icon is kept for backwards compatibility. */
10
11
  const IconSuccessVivoNew = ({size = 48}: Props): JSX.Element => {
11
12
  const {platformOverrides} = useTheme();
12
13
  const gradientId = React.useId();
@@ -9,6 +9,7 @@ type Props = {
9
9
  size?: number | string;
10
10
  };
11
11
 
12
+ /** @deprecated This legacy Vivo icon is kept for backwards compatibility. */
12
13
  const IconSuccessVivo = ({size = 48}: Props): JSX.Element => {
13
14
  const themeVariant = useThemeVariant();
14
15
  const {platformOverrides} = useTheme();
@@ -1,7 +1,12 @@
1
1
  'use client';
2
2
  import * as React from 'react';
3
3
  import {O2_SKIN, VIVO_SKIN, VIVO_EVOLUTION_SKIN} from '../skins/constants';
4
- import {getAnimateDrawLineProps, getAnimateHopInProps, mergeProperties} from '../utils/animation';
4
+ import {
5
+ getAnimateCircleScaleInProps,
6
+ getAnimateDrawLineProps,
7
+ getAnimateHopInProps,
8
+ mergeProperties,
9
+ } from '../utils/animation';
5
10
  import {useTheme} from '../hooks';
6
11
  import {vars} from '../skins/skin-contract.css';
7
12
  import {useThemeVariant} from '../theme-variant-context';
@@ -54,46 +59,59 @@ const IconSuccessO2 = ({size = 48, color, skipAnimation = false}: Props): JSX.El
54
59
  );
55
60
  };
56
61
 
57
- const IconSuccessVivo = ({size = 48, color, skipAnimation = false}: Props): JSX.Element => {
62
+ const IconSuccessVivo = ({size = 48}: Props): JSX.Element => {
58
63
  const {platformOverrides} = useTheme();
64
+ const gradientId = React.useId();
59
65
 
66
+ return (
67
+ <svg role="presentation" width={size} height={size} viewBox="0 0 64 64" fill="none">
68
+ <circle
69
+ cx="32"
70
+ cy="32"
71
+ r="31"
72
+ stroke={`url(#${gradientId})`}
73
+ {...getAnimateCircleScaleInProps('31', platformOverrides)}
74
+ />
75
+ <polyline
76
+ fill="none"
77
+ stroke="white"
78
+ strokeWidth="1.5"
79
+ strokeLinecap="round"
80
+ strokeLinejoin="round"
81
+ points="24,32.75 30,39 40.5,24.5"
82
+ {...getAnimateDrawLineProps('44', '0.4s', platformOverrides, '0.5 0 0.83 0.83')}
83
+ />
84
+ <defs>
85
+ <linearGradient
86
+ id={gradientId}
87
+ x1="6.66663"
88
+ y1="6.66669"
89
+ x2="58.3441"
90
+ y2="7.98638"
91
+ gradientUnits="userSpaceOnUse"
92
+ >
93
+ <stop stopColor="#E5B9FF" />
94
+ <stop offset="1" stopColor="#FF6ACE" />
95
+ </linearGradient>
96
+ </defs>
97
+ </svg>
98
+ );
99
+ };
100
+
101
+ const IconSuccessVivoEvolution = ({size = 48}: Props): JSX.Element => {
60
102
  const themeVariant = useThemeVariant();
61
- const defaultColor =
62
- themeVariant === 'brand' || themeVariant === 'media'
63
- ? vars.colors.neutralHighBrand
64
- : themeVariant === 'negative'
65
- ? vars.colors.neutralHighNegative
66
- : vars.colors.brand;
103
+ const isBrand = themeVariant === 'brand';
67
104
 
68
105
  return (
69
- <svg role="presentation" width={size} height={size} viewBox="0 0 64 64">
70
- <g stroke={color ? undefined : defaultColor}>
71
- <path
72
- vectorEffect="non-scaling-stroke"
73
- fill="none"
74
- stroke={color ? color : undefined}
75
- strokeWidth="2"
76
- strokeMiterlimit="10"
77
- d="M61.4,32c0,19.5-10,29.4-29.4,29.4C12.5,61.4,2.6,51.5,2.6,32S12.5,2.6,32,2.6S61.4,12.5,61.4,32z"
78
- transform="rotate(90 32 32)"
79
- {...(!skipAnimation && getAnimateDrawLineProps('202', '0.2s', platformOverrides))}
80
- />
81
- <polyline
82
- vectorEffect="non-scaling-stroke"
83
- fill="none"
84
- stroke={color ? color : undefined}
85
- strokeWidth="2"
86
- strokeMiterlimit="10"
87
- strokeLinecap="round"
88
- strokeLinejoin="round"
89
- points="20,34.9 27.4,44.3 45.6,21"
90
- {...(!skipAnimation &&
91
- mergeProperties(
92
- getAnimateDrawLineProps('44', '0.6s', platformOverrides),
93
- getAnimateHopInProps('0.6s', platformOverrides)
94
- ))}
95
- />
96
- </g>
106
+ <svg role="presentation" width={size} height={size} viewBox="0 0 48 48" fill="none">
107
+ <path
108
+ d="M0 18C0 8.05888 8.05888 0 18 0H30C39.9411 0 48 8.05888 48 18V30C48 39.9411 39.9411 48 30 48H18C8.05888 48 0 39.9411 0 30V18Z"
109
+ fill={isBrand ? vars.colors.backgroundBrandSecondary : vars.colors.successLow}
110
+ />
111
+ <path
112
+ d="M34.9092 15.5156C35.2803 15.1548 35.8734 15.1632 36.2344 15.5342C36.5952 15.9053 36.5869 16.4984 36.2158 16.8594L20.1572 32.4844C19.7933 32.8385 19.2135 32.8385 18.8496 32.4844L11.7842 25.6094C11.4132 25.2484 11.4048 24.6553 11.7656 24.2842C12.1266 23.9132 12.7197 23.9048 13.0908 24.2656L19.5039 30.5049L34.9092 15.5156Z"
113
+ fill={isBrand ? vars.colors.neutralHighBrand : vars.colors.successHigh}
114
+ />
97
115
  </svg>
98
116
  );
99
117
  };
@@ -146,8 +164,9 @@ const IconSuccess = ({size, color, skipAnimation}: Props): JSX.Element => {
146
164
  case O2_SKIN:
147
165
  return <IconSuccessO2 size={size} color={color} skipAnimation={skipAnimation} />;
148
166
  case VIVO_SKIN:
149
- case VIVO_EVOLUTION_SKIN:
150
167
  return <IconSuccessVivo size={size} color={color} skipAnimation={skipAnimation} />;
168
+ case VIVO_EVOLUTION_SKIN:
169
+ return <IconSuccessVivoEvolution size={size} color={color} skipAnimation={skipAnimation} />;
151
170
  default:
152
171
  return <IconSuccessDefault size={size} color={color} skipAnimation={skipAnimation} />;
153
172
  }
package/src/index.tsx CHANGED
@@ -168,7 +168,9 @@ export {default as IconInfo} from './icons/icon-info';
168
168
  export {default as IconChevron} from './icons/icon-chevron';
169
169
  export {default as IconError} from './icons/icon-error';
170
170
  export {default as IconSuccess} from './icons/icon-success';
171
+ /** @deprecated This legacy Vivo icon is kept for backwards compatibility. */
171
172
  export {default as IconSuccessVivo} from './icons/icon-success-vivo';
173
+ /** @deprecated This legacy Vivo icon is kept for backwards compatibility. */
172
174
  export {default as IconSuccessVivoNew} from './icons/icon-success-vivo-new';
173
175
 
174
176
  export {SkeletonCircle, SkeletonRow, SkeletonLine, SkeletonRectangle, SkeletonText} from './skeletons';
@@ -1908,6 +1910,7 @@ export {default as IconRecycleRegular} from './generated/mistica-icons/icon-recy
1908
1910
  export {default as IconRefreshFilled} from './generated/mistica-icons/icon-refresh-filled';
1909
1911
  export {default as IconRefreshLight} from './generated/mistica-icons/icon-refresh-light';
1910
1912
  export {default as IconRefreshRegular} from './generated/mistica-icons/icon-refresh-regular';
1913
+ export {default as IconReloadFilled} from './generated/mistica-icons/icon-reload-filled';
1911
1914
  export {default as IconReloadLight} from './generated/mistica-icons/icon-reload-light';
1912
1915
  export {default as IconReloadRegular} from './generated/mistica-icons/icon-reload-regular';
1913
1916
  export {default as IconRenovateDeviceChangeMobileFilled} from './generated/mistica-icons/icon-renovate-device-change-mobile-filled';
package/src/list.css.ts CHANGED
@@ -140,6 +140,21 @@ export const innerContent = style({
140
140
 
141
141
  export const assetContainer = style([sprinkles({paddingRight: 16}), {gridColumn: 1, paddingBottom: 16}]);
142
142
 
143
+ export const contentSmall = style({
144
+ paddingTop: vars.spacing.boxedSmallPadding.top,
145
+ });
146
+
147
+ export const innerContentSmall = style({
148
+ // 48px total row height: border-box makes minHeight include paddingBottom, only the top padding is left out
149
+ boxSizing: 'border-box',
150
+ minHeight: `max(0px, calc(48px - ${vars.spacing.boxedSmallPadding.top}))`,
151
+ paddingBottom: vars.spacing.boxedSmallPadding.bottom,
152
+ });
153
+
154
+ export const assetContainerSmall = style({
155
+ paddingBottom: vars.spacing.boxedSmallPadding.bottom,
156
+ });
157
+
143
158
  export const asset = sprinkles({
144
159
  display: 'flex',
145
160
  flexShrink: 0,
@@ -249,6 +264,11 @@ export const dualActionRight = style([dualActionRightBase, sprinkles({height: '1
249
264
 
250
265
  export const dualActionRightIconButton = style([dualActionRightBase, {paddingTop: 16, paddingBottom: 16}]);
251
266
 
267
+ export const dualActionRightIconButtonSmall = style({
268
+ paddingTop: vars.spacing.boxedSmallPadding.top,
269
+ paddingBottom: vars.spacing.boxedSmallPadding.bottom,
270
+ });
271
+
252
272
  const ulVerticalGap = 8;
253
273
  const ulVerticalGapDesktop = 16;
254
274
 
package/src/list.tsx CHANGED
@@ -123,10 +123,11 @@ export const Content = ({
123
123
  const DetailComponent = small ? Text1 : Text2;
124
124
 
125
125
  return (
126
- <div className={styles.content} id={labelId}>
126
+ <div className={classNames(styles.content, {[styles.contentSmall]: small})} id={labelId}>
127
127
  {asset && (
128
128
  <div
129
129
  className={classNames(styles.assetContainer, {
130
+ [styles.assetContainerSmall]: small,
130
131
  [styles.center]: centerY,
131
132
  [styles.disabled]: disabled,
132
133
  })}
@@ -159,7 +160,7 @@ export const Content = ({
159
160
  </div>
160
161
  </div>
161
162
  )}
162
- <div className={styles.innerContent}>
163
+ <div className={classNames(styles.innerContent, {[styles.innerContentSmall]: small})}>
163
164
  <div
164
165
  className={classNames(styles.rowBody, {[styles.disabled]: disabled})}
165
166
  style={{justifyContent: centerY ? 'center' : 'flex-start'}}
@@ -454,6 +455,7 @@ const RowContent = React.forwardRef<
454
455
  const outsideVariant = useThemeVariant();
455
456
  const isOverBrand =
456
457
  outsideVariant === 'brand' || outsideVariant === 'media' || outsideVariant === 'negative';
458
+ const {small} = React.useContext(ListContext);
457
459
  const {
458
460
  asset,
459
461
  headline,
@@ -756,7 +758,11 @@ const RowContent = React.forwardRef<
756
758
  if (props.iconButton) {
757
759
  return isInteractive
758
760
  ? renderRowWithDoubleInteraction(
759
- <div className={styles.dualActionRightIconButton}>
761
+ <div
762
+ className={classNames(styles.dualActionRightIconButton, {
763
+ [styles.dualActionRightIconButtonSmall]: small,
764
+ })}
765
+ >
760
766
  {props.iconButton.Icon ? (
761
767
  <IconButton {...props.iconButton} disabled={props.disabled} />
762
768
  ) : (
@@ -1,2 +1,2 @@
1
1
  // DO NOT EDIT THIS FILE. It's autogenerated by set-version.js
2
- export const PACKAGE_VERSION = '17.7.0' as string;
2
+ export const PACKAGE_VERSION = '17.9.0' as string;
@@ -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: {
@@ -708,6 +713,16 @@ export const getBlauSkin: GetKnownSkin = () => {
708
713
  size: {desktop: 28, mobile: 20},
709
714
  weight: 'light',
710
715
  },
716
+ feedbackScreenDescription: {
717
+ lineHeight: {desktop: 24, mobile: 24},
718
+ size: {desktop: 18, mobile: 16},
719
+ weight: 'regular',
720
+ },
721
+ feedbackScreenTitle: {
722
+ lineHeight: {desktop: 40, mobile: 32},
723
+ size: {desktop: 32, mobile: 24},
724
+ weight: 'light',
725
+ },
711
726
  headerPretitle: {
712
727
  lineHeight: {desktop: 24, mobile: 24},
713
728
  size: {desktop: 18, mobile: 16},
@@ -785,6 +800,7 @@ export const getBlauSkin: GetKnownSkin = () => {
785
800
  },
786
801
  responsiveLayoutMargin: {mobile: 16, desktop: 48},
787
802
  boxedDefaultPadding: {left: {mobile: 16, desktop: 16}, right: {mobile: 16, desktop: 16}},
803
+ boxedSmallPadding: {top: {mobile: 8, desktop: 8}, bottom: {mobile: 8, desktop: 8}},
788
804
  },
789
805
  };
790
806
  return skin;
@@ -39,6 +39,16 @@ export const defaultTextPresetsConfig: TextPresetsConfig = {
39
39
  size: {desktop: 28, mobile: 20},
40
40
  weight: 'bold',
41
41
  },
42
+ feedbackScreenDescription: {
43
+ lineHeight: {desktop: 24, mobile: 24},
44
+ size: {desktop: 18, mobile: 16},
45
+ weight: 'regular',
46
+ },
47
+ feedbackScreenTitle: {
48
+ lineHeight: {desktop: 40, mobile: 32},
49
+ size: {desktop: 32, mobile: 24},
50
+ weight: 'light',
51
+ },
42
52
  title1: {
43
53
  lineHeight: {desktop: 20, mobile: 16},
44
54
  size: {desktop: 14, mobile: 12},
@@ -56,7 +66,12 @@ export const defaultTextPresetsConfig: TextPresetsConfig = {
56
66
  tabsLabel: {weight: 'medium', size: {mobile: 16, desktop: 18}, lineHeight: {mobile: 24, desktop: 24}},
57
67
  chipLabel: {
58
68
  lineHeight: {desktop: 24, mobile: 20},
59
- size: {desktop: 16, mobile: 14},
69
+ size: {desktop: 16, mobile: 16},
70
+ weight: 'medium',
71
+ },
72
+ chipLabelSmall: {
73
+ lineHeight: {desktop: 24, mobile: 20},
74
+ size: {desktop: 14, mobile: 14},
60
75
  weight: 'medium',
61
76
  },
62
77
  inputHelperText: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
@@ -128,5 +143,6 @@ export const defaultSpacing: SpacingConfig = {
128
143
  right: {mobile: 16, desktop: 24},
129
144
  },
130
145
  boxedDefaultPadding: {left: {mobile: 16, desktop: 16}, right: {mobile: 16, desktop: 16}},
146
+ boxedSmallPadding: {top: {mobile: 8, desktop: 8}, bottom: {mobile: 8, desktop: 8}},
131
147
  responsiveLayoutMargin: {mobile: 16, desktop: 48},
132
148
  };