@telefonica/mistica 17.4.0 → 17.6.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 (576) hide show
  1. package/css/blau.css +5 -0
  2. package/css/esimflag.css +5 -0
  3. package/css/mistica-common.css +5 -0
  4. package/css/mistica.css +1 -1
  5. package/css/movistar.css +5 -0
  6. package/css/o2.css +5 -0
  7. package/css/telefonica.css +5 -0
  8. package/css/vivo-evolution.css +5 -0
  9. package/css/vivo.css +5 -0
  10. package/dist/accordion.css-mistica.js +6 -6
  11. package/dist/align.css-mistica.js +1 -1
  12. package/dist/autocomplete.css-mistica.js +1 -1
  13. package/dist/avatar.css-mistica.js +1 -1
  14. package/dist/badge.css-mistica.js +1 -1
  15. package/dist/box.css-mistica.js +13 -13
  16. package/dist/boxed.css-mistica.js +24 -24
  17. package/dist/button-group.css-mistica.js +1 -1
  18. package/dist/button-layout.css-mistica.js +14 -14
  19. package/dist/button.css-mistica.js +36 -36
  20. package/dist/callout.css-mistica.js +11 -11
  21. package/dist/card-cover.d.ts +2 -2
  22. package/dist/card-data.d.ts +2 -2
  23. package/dist/card-data.js +6 -8
  24. package/dist/card-internal.css-mistica.js +47 -29
  25. package/dist/card-internal.css.d.ts +4 -0
  26. package/dist/card-internal.d.ts +38 -3
  27. package/dist/card-internal.js +394 -301
  28. package/dist/card-media.d.ts +2 -2
  29. package/dist/card-media.js +7 -9
  30. package/dist/card-naked.d.ts +2 -2
  31. package/dist/card-naked.js +9 -11
  32. package/dist/carousel.css-mistica.js +8 -8
  33. package/dist/checkbox.css-mistica.js +11 -11
  34. package/dist/checkbox.d.ts +2 -0
  35. package/dist/checkbox.js +10 -10
  36. package/dist/chip.css-mistica.js +15 -15
  37. package/dist/circle.css-mistica.js +1 -1
  38. package/dist/community/advanced-data-card.css-mistica.js +20 -11
  39. package/dist/community/advanced-data-card.css.d.ts +2 -0
  40. package/dist/community/advanced-data-card.d.ts +7 -3
  41. package/dist/community/advanced-data-card.js +164 -142
  42. package/dist/community/ai-card.css-mistica.js +2 -2
  43. package/dist/community/ai-card.js +1 -1
  44. package/dist/community/blocks.css-mistica.js +1 -1
  45. package/dist/community/cyber/example-component.css-mistica.js +1 -1
  46. package/dist/community/example-component.css-mistica.js +2 -2
  47. package/dist/counter.css-mistica.js +1 -1
  48. package/dist/cover-hero.css-mistica.js +2 -2
  49. package/dist/credit-card-number-field.css-mistica.js +3 -3
  50. package/dist/date-field.css-mistica.js +1 -1
  51. package/dist/date-time-picker.css-mistica.js +1 -1
  52. package/dist/dialog.css-mistica.js +4 -4
  53. package/dist/divider.css-mistica.js +5 -5
  54. package/dist/double-field.css-mistica.js +2 -2
  55. package/dist/drawer.css-mistica.js +1 -1
  56. package/dist/empty-state-card.css-mistica.js +1 -1
  57. package/dist/empty-state.css-mistica.js +5 -5
  58. package/dist/fade-in.css-mistica.js +1 -1
  59. package/dist/fade-out.css-mistica.js +11 -0
  60. package/dist/fade-out.css.d.ts +1 -0
  61. package/dist/fade-out.d.ts +11 -0
  62. package/dist/fade-out.js +88 -0
  63. package/dist/feedback.css-mistica.js +1 -1
  64. package/dist/file-upload.css-mistica.js +7 -7
  65. package/dist/fixed-footer-layout.css-mistica.js +2 -2
  66. package/dist/form.css-mistica.js +1 -1
  67. package/dist/generated/mistica-icons/icon-antenna-filled.js +40 -12
  68. package/dist/generated/mistica-icons/icon-antenna-light.js +37 -17
  69. package/dist/generated/mistica-icons/icon-antenna-regular.js +42 -14
  70. package/dist/generated/mistica-icons/icon-arrow-up-down-filled.js +26 -16
  71. package/dist/generated/mistica-icons/icon-arrow-up-down-light.js +22 -12
  72. package/dist/generated/mistica-icons/icon-arrow-up-down-regular.js +30 -20
  73. package/dist/generated/mistica-icons/icon-arrows-left-and-right-filled.js +26 -16
  74. package/dist/generated/mistica-icons/icon-arrows-left-and-right-light.js +24 -14
  75. package/dist/generated/mistica-icons/icon-arrows-left-and-right-regular.js +26 -16
  76. package/dist/generated/mistica-icons/icon-authentication-success-filled.js +31 -11
  77. package/dist/generated/mistica-icons/icon-authentication-success-light.js +33 -17
  78. package/dist/generated/mistica-icons/icon-authentication-success-regular.js +29 -13
  79. package/dist/generated/mistica-icons/icon-blog-filled.js +36 -16
  80. package/dist/generated/mistica-icons/icon-blog-light.js +34 -14
  81. package/dist/generated/mistica-icons/icon-blog-regular.js +32 -16
  82. package/dist/generated/mistica-icons/icon-book-filled.js +19 -9
  83. package/dist/generated/mistica-icons/icon-book-light.js +25 -15
  84. package/dist/generated/mistica-icons/icon-book-regular.js +16 -6
  85. package/dist/generated/mistica-icons/icon-box-filled.js +35 -19
  86. package/dist/generated/mistica-icons/icon-box-light.js +28 -18
  87. package/dist/generated/mistica-icons/icon-box-regular.js +26 -16
  88. package/dist/generated/mistica-icons/icon-box-star-filled.js +37 -17
  89. package/dist/generated/mistica-icons/icon-box-star-light.js +22 -6
  90. package/dist/generated/mistica-icons/icon-box-star-regular.js +30 -14
  91. package/dist/generated/mistica-icons/icon-briefcase-filled.js +28 -12
  92. package/dist/generated/mistica-icons/icon-briefcase-light.js +21 -11
  93. package/dist/generated/mistica-icons/icon-briefcase-regular.js +29 -19
  94. package/dist/generated/mistica-icons/icon-calendar-event-filled.js +23 -12
  95. package/dist/generated/mistica-icons/icon-calendar-event-light.js +28 -11
  96. package/dist/generated/mistica-icons/icon-calendar-event-regular.js +30 -13
  97. package/dist/generated/mistica-icons/icon-calendar-filled.js +32 -22
  98. package/dist/generated/mistica-icons/icon-calendar-light.js +39 -23
  99. package/dist/generated/mistica-icons/icon-calendar-month-filled.js +23 -12
  100. package/dist/generated/mistica-icons/icon-calendar-month-light.js +30 -13
  101. package/dist/generated/mistica-icons/icon-calendar-month-regular.js +30 -13
  102. package/dist/generated/mistica-icons/icon-calendar-regular.js +33 -17
  103. package/dist/generated/mistica-icons/icon-car-filled.js +25 -9
  104. package/dist/generated/mistica-icons/icon-car-light.js +24 -14
  105. package/dist/generated/mistica-icons/icon-car-regular.js +24 -14
  106. package/dist/generated/mistica-icons/icon-care-briefcase-filled.js +23 -12
  107. package/dist/generated/mistica-icons/icon-care-briefcase-light.js +25 -14
  108. package/dist/generated/mistica-icons/icon-care-briefcase-regular.js +18 -8
  109. package/dist/generated/mistica-icons/icon-care-filled.js +25 -15
  110. package/dist/generated/mistica-icons/icon-care-home-filled.js +24 -13
  111. package/dist/generated/mistica-icons/icon-care-home-light.js +24 -13
  112. package/dist/generated/mistica-icons/icon-care-home-regular.js +26 -16
  113. package/dist/generated/mistica-icons/icon-care-laptop-filled.js +22 -11
  114. package/dist/generated/mistica-icons/icon-care-laptop-light.js +24 -13
  115. package/dist/generated/mistica-icons/icon-care-laptop-regular.js +28 -18
  116. package/dist/generated/mistica-icons/icon-care-light.js +22 -12
  117. package/dist/generated/mistica-icons/icon-care-mobile-filled.js +22 -11
  118. package/dist/generated/mistica-icons/icon-care-mobile-light.js +29 -12
  119. package/dist/generated/mistica-icons/icon-care-mobile-regular.js +33 -17
  120. package/dist/generated/mistica-icons/icon-care-regular.js +23 -13
  121. package/dist/generated/mistica-icons/icon-care-shield-filled.js +24 -14
  122. package/dist/generated/mistica-icons/icon-care-shield-light.js +23 -13
  123. package/dist/generated/mistica-icons/icon-care-shield-regular.js +26 -16
  124. package/dist/generated/mistica-icons/icon-change-plan-filled.js +36 -16
  125. package/dist/generated/mistica-icons/icon-change-plan-light.js +38 -18
  126. package/dist/generated/mistica-icons/icon-change-plan-regular.js +30 -14
  127. package/dist/generated/mistica-icons/icon-chip-device-filled.js +32 -16
  128. package/dist/generated/mistica-icons/icon-chip-device-light.js +33 -17
  129. package/dist/generated/mistica-icons/icon-chip-device-regular.js +36 -20
  130. package/dist/generated/mistica-icons/icon-chip-sim-card-filled.js +25 -15
  131. package/dist/generated/mistica-icons/icon-chip-sim-card-light.js +36 -20
  132. package/dist/generated/mistica-icons/icon-chip-sim-card-regular.js +42 -26
  133. package/dist/generated/mistica-icons/icon-credit-card-filled.js +20 -10
  134. package/dist/generated/mistica-icons/icon-credit-card-light.js +18 -8
  135. package/dist/generated/mistica-icons/icon-credit-card-regular.js +23 -13
  136. package/dist/generated/mistica-icons/icon-document-information-filled.d.ts +3 -0
  137. package/dist/generated/mistica-icons/icon-document-information-filled.js +165 -0
  138. package/dist/generated/mistica-icons/icon-document-information-light.d.ts +3 -0
  139. package/dist/generated/mistica-icons/icon-document-information-light.js +165 -0
  140. package/dist/generated/mistica-icons/icon-document-information-regular.d.ts +3 -0
  141. package/dist/generated/mistica-icons/icon-document-information-regular.js +165 -0
  142. package/dist/generated/mistica-icons/icon-document-other-filled.js +25 -9
  143. package/dist/generated/mistica-icons/icon-document-other-light.js +33 -17
  144. package/dist/generated/mistica-icons/icon-document-other-regular.js +25 -9
  145. package/dist/generated/mistica-icons/icon-dollar-symbol-circle-filled.js +25 -15
  146. package/dist/generated/mistica-icons/icon-dollar-symbol-circle-light.js +30 -14
  147. package/dist/generated/mistica-icons/icon-dollar-symbol-circle-regular.js +29 -13
  148. package/dist/generated/mistica-icons/icon-error-filled.js +33 -17
  149. package/dist/generated/mistica-icons/icon-error-light.js +29 -13
  150. package/dist/generated/mistica-icons/icon-error-regular.js +32 -16
  151. package/dist/generated/mistica-icons/icon-esim-filled.js +33 -17
  152. package/dist/generated/mistica-icons/icon-esim-light.js +43 -23
  153. package/dist/generated/mistica-icons/icon-esim-regular.js +29 -9
  154. package/dist/generated/mistica-icons/icon-eye-filled.js +18 -8
  155. package/dist/generated/mistica-icons/icon-eye-light.js +31 -15
  156. package/dist/generated/mistica-icons/icon-eye-regular.js +29 -13
  157. package/dist/generated/mistica-icons/icon-file-ok-filled.js +30 -14
  158. package/dist/generated/mistica-icons/icon-file-ok-light.js +29 -13
  159. package/dist/generated/mistica-icons/icon-file-ok-regular.js +31 -15
  160. package/dist/generated/mistica-icons/icon-fingerprint-filled.js +36 -15
  161. package/dist/generated/mistica-icons/icon-fingerprint-light.js +35 -14
  162. package/dist/generated/mistica-icons/icon-fingerprint-regular.js +29 -9
  163. package/dist/generated/mistica-icons/icon-home-filled.js +17 -7
  164. package/dist/generated/mistica-icons/icon-home-light.js +21 -11
  165. package/dist/generated/mistica-icons/icon-home-regular.js +29 -19
  166. package/dist/generated/mistica-icons/icon-home-wifi-filled.js +39 -19
  167. package/dist/generated/mistica-icons/icon-home-wifi-light.js +30 -14
  168. package/dist/generated/mistica-icons/icon-home-wifi-regular.js +37 -17
  169. package/dist/generated/mistica-icons/icon-id-card-filled.js +32 -16
  170. package/dist/generated/mistica-icons/icon-id-card-light.js +27 -11
  171. package/dist/generated/mistica-icons/icon-id-card-regular.js +31 -15
  172. package/dist/generated/mistica-icons/icon-information-user-filled.js +32 -12
  173. package/dist/generated/mistica-icons/icon-information-user-light.js +37 -21
  174. package/dist/generated/mistica-icons/icon-information-user-regular.js +44 -28
  175. package/dist/generated/mistica-icons/icon-internet-filled.js +18 -8
  176. package/dist/generated/mistica-icons/icon-internet-light.js +21 -11
  177. package/dist/generated/mistica-icons/icon-internet-regular.js +19 -9
  178. package/dist/generated/mistica-icons/icon-internet-roaming-filled.d.ts +3 -0
  179. package/dist/generated/mistica-icons/icon-internet-roaming-filled.js +159 -0
  180. package/dist/generated/mistica-icons/icon-internet-roaming-light.d.ts +3 -0
  181. package/dist/generated/mistica-icons/icon-internet-roaming-light.js +159 -0
  182. package/dist/generated/mistica-icons/icon-internet-roaming-regular.d.ts +3 -0
  183. package/dist/generated/mistica-icons/icon-internet-roaming-regular.js +159 -0
  184. package/dist/generated/mistica-icons/icon-key-filled.js +21 -11
  185. package/dist/generated/mistica-icons/icon-key-light.js +31 -15
  186. package/dist/generated/mistica-icons/icon-key-regular.js +32 -16
  187. package/dist/generated/mistica-icons/icon-list-filled.js +23 -12
  188. package/dist/generated/mistica-icons/icon-list-light.js +31 -15
  189. package/dist/generated/mistica-icons/icon-list-regular.js +34 -18
  190. package/dist/generated/mistica-icons/icon-location-filled.js +25 -15
  191. package/dist/generated/mistica-icons/icon-location-light.js +30 -14
  192. package/dist/generated/mistica-icons/icon-location-regular.js +30 -14
  193. package/dist/generated/mistica-icons/icon-lock-closed-filled.js +25 -15
  194. package/dist/generated/mistica-icons/icon-lock-closed-light.js +31 -15
  195. package/dist/generated/mistica-icons/icon-lock-closed-regular.js +35 -19
  196. package/dist/generated/mistica-icons/icon-message-filled.js +23 -12
  197. package/dist/generated/mistica-icons/icon-message-light.js +28 -11
  198. package/dist/generated/mistica-icons/icon-message-regular.js +27 -10
  199. package/dist/generated/mistica-icons/icon-mobile-device-filled.js +25 -15
  200. package/dist/generated/mistica-icons/icon-mobile-device-light.js +26 -10
  201. package/dist/generated/mistica-icons/icon-mobile-device-regular.js +32 -16
  202. package/dist/generated/mistica-icons/icon-mobile-information-filled.d.ts +3 -0
  203. package/dist/generated/mistica-icons/icon-mobile-information-filled.js +165 -0
  204. package/dist/generated/mistica-icons/icon-mobile-information-light.d.ts +3 -0
  205. package/dist/generated/mistica-icons/icon-mobile-information-light.js +173 -0
  206. package/dist/generated/mistica-icons/icon-mobile-information-regular.d.ts +3 -0
  207. package/dist/generated/mistica-icons/icon-mobile-information-regular.js +165 -0
  208. package/dist/generated/mistica-icons/icon-search-ai-filled.js +165 -0
  209. package/dist/generated/mistica-icons/icon-search-ai-light.js +165 -0
  210. package/dist/generated/mistica-icons/icon-search-ai-regular.js +165 -0
  211. package/dist/generated/mistica-icons/icons-keywords.js +57 -0
  212. package/dist/grid-layout.css-mistica.js +3 -3
  213. package/dist/grid.css-mistica.js +120 -120
  214. package/dist/header.css-mistica.js +1 -1
  215. package/dist/header.d.ts +3 -1
  216. package/dist/header.js +81 -73
  217. package/dist/hero.css-mistica.js +2 -2
  218. package/dist/horizontal-scroll.css-mistica.js +1 -1
  219. package/dist/icon-button.css-mistica.js +53 -53
  220. package/dist/icons/icon-chevron.css-mistica.js +2 -2
  221. package/dist/icons/icon-error.css-mistica.js +1 -1
  222. package/dist/image.css-mistica.js +11 -11
  223. package/dist/index.d.ts +13 -0
  224. package/dist/index.js +52 -0
  225. package/dist/inline.css-mistica.js +11 -11
  226. package/dist/list.css-mistica.js +7 -7
  227. package/dist/loading-bar.css-mistica.js +1 -1
  228. package/dist/loading-screen.css-mistica.js +4 -4
  229. package/dist/logo.css-mistica.js +5 -5
  230. package/dist/menu.css-mistica.js +13 -13
  231. package/dist/mosaic.css-mistica.js +1 -1
  232. package/dist/navigation-bar.css-mistica.js +9 -9
  233. package/dist/navigation-breadcrumbs.css-mistica.js +1 -1
  234. package/dist/navigation-shared.css-mistica.js +9 -9
  235. package/dist/package-version.js +1 -1
  236. package/dist/pagination.css-mistica.js +18 -18
  237. package/dist/pin-field.css-mistica.js +1 -1
  238. package/dist/popover.css-mistica.js +1 -1
  239. package/dist/progress-bar.css-mistica.js +6 -6
  240. package/dist/radio-button.css-mistica.js +19 -19
  241. package/dist/radio-button.d.ts +3 -1
  242. package/dist/radio-button.js +73 -72
  243. package/dist/rating.css-mistica.js +2 -2
  244. package/dist/responsive-layout.css-mistica.js +6 -6
  245. package/dist/screen-reader-only.css-mistica.js +1 -1
  246. package/dist/select.css-mistica.js +15 -15
  247. package/dist/sheet-action-row.css-mistica.js +1 -1
  248. package/dist/sheet-common.css-mistica.js +1 -1
  249. package/dist/sheet-info.css-mistica.js +1 -1
  250. package/dist/sidenav-bar-layout.css-mistica.js +1 -1
  251. package/dist/sidenav-bar.css-mistica.js +71 -71
  252. package/dist/skeletons.css-mistica.js +6 -6
  253. package/dist/skins/blau.js +11 -0
  254. package/dist/skins/defaults.js +11 -0
  255. package/dist/skins/esimflag.js +11 -0
  256. package/dist/skins/movistar.js +11 -0
  257. package/dist/skins/o2.js +11 -0
  258. package/dist/skins/skin-contract.css-mistica.js +740 -735
  259. package/dist/skins/skin-contract.css.d.ts +5 -0
  260. package/dist/skins/telefonica.js +11 -0
  261. package/dist/skins/types/index.d.ts +1 -0
  262. package/dist/skins/vivo-evolution.js +11 -0
  263. package/dist/skins/vivo.js +11 -0
  264. package/dist/skip-link.css-mistica.js +1 -1
  265. package/dist/slider.css-mistica.js +18 -18
  266. package/dist/snackbar.css-mistica.js +4 -4
  267. package/dist/spinner.css-mistica.js +1 -1
  268. package/dist/square.css-mistica.js +1 -1
  269. package/dist/stack.css-mistica.js +5 -5
  270. package/dist/stacking-group.css-mistica.js +1 -1
  271. package/dist/stepper.css-mistica.js +2 -2
  272. package/dist/switch-component.css-mistica.js +35 -35
  273. package/dist/switch-component.d.ts +2 -0
  274. package/dist/switch-component.js +19 -18
  275. package/dist/table.css-mistica.js +9 -9
  276. package/dist/tabs.css-mistica.js +17 -17
  277. package/dist/tag.css-mistica.js +1 -1
  278. package/dist/text-field-base.css-mistica.js +22 -22
  279. package/dist/text-field-components.css-mistica.js +3 -3
  280. package/dist/text-link.css-mistica.js +6 -6
  281. package/dist/text.css-mistica.js +6 -6
  282. package/dist/timeline.css-mistica.js +9 -9
  283. package/dist/timer.css-mistica.js +6 -6
  284. package/dist/tooltip.css-mistica.js +1 -1
  285. package/dist/touchable.css-mistica.js +1 -1
  286. package/dist/utils/aspect-ratio-support.css-mistica.js +2 -2
  287. package/dist/video.css-mistica.js +1 -1
  288. package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  289. package/dist-es/accordion.css-mistica.js +6 -6
  290. package/dist-es/align.css-mistica.js +1 -1
  291. package/dist-es/autocomplete.css-mistica.js +1 -1
  292. package/dist-es/avatar.css-mistica.js +1 -1
  293. package/dist-es/badge.css-mistica.js +1 -1
  294. package/dist-es/box.css-mistica.js +13 -13
  295. package/dist-es/boxed.css-mistica.js +23 -23
  296. package/dist-es/button-group.css-mistica.js +1 -1
  297. package/dist-es/button-layout.css-mistica.js +14 -14
  298. package/dist-es/button.css-mistica.js +35 -35
  299. package/dist-es/callout.css-mistica.js +11 -11
  300. package/dist-es/card-data.js +10 -12
  301. package/dist-es/card-internal.css-mistica.js +25 -19
  302. package/dist-es/card-internal.js +482 -395
  303. package/dist-es/card-media.js +11 -13
  304. package/dist-es/card-naked.js +14 -16
  305. package/dist-es/carousel.css-mistica.js +8 -8
  306. package/dist-es/checkbox.css-mistica.js +11 -11
  307. package/dist-es/checkbox.js +19 -19
  308. package/dist-es/chip.css-mistica.js +15 -15
  309. package/dist-es/circle.css-mistica.js +1 -1
  310. package/dist-es/community/advanced-data-card.css-mistica.js +10 -7
  311. package/dist-es/community/advanced-data-card.js +214 -192
  312. package/dist-es/community/ai-card.css-mistica.js +2 -2
  313. package/dist-es/community/ai-card.js +1 -1
  314. package/dist-es/community/blocks.css-mistica.js +1 -1
  315. package/dist-es/community/cyber/example-component.css-mistica.js +1 -1
  316. package/dist-es/community/example-component.css-mistica.js +2 -2
  317. package/dist-es/counter.css-mistica.js +1 -1
  318. package/dist-es/cover-hero.css-mistica.js +2 -2
  319. package/dist-es/credit-card-number-field.css-mistica.js +3 -3
  320. package/dist-es/date-field.css-mistica.js +1 -1
  321. package/dist-es/date-time-picker.css-mistica.js +1 -1
  322. package/dist-es/dialog.css-mistica.js +4 -4
  323. package/dist-es/divider.css-mistica.js +5 -5
  324. package/dist-es/double-field.css-mistica.js +2 -2
  325. package/dist-es/drawer.css-mistica.js +1 -1
  326. package/dist-es/empty-state-card.css-mistica.js +1 -1
  327. package/dist-es/empty-state.css-mistica.js +5 -5
  328. package/dist-es/fade-in.css-mistica.js +1 -1
  329. package/dist-es/fade-out.css-mistica.js +2 -0
  330. package/dist-es/fade-out.js +79 -0
  331. package/dist-es/feedback.css-mistica.js +1 -1
  332. package/dist-es/file-upload.css-mistica.js +7 -7
  333. package/dist-es/fixed-footer-layout.css-mistica.js +2 -2
  334. package/dist-es/form.css-mistica.js +1 -1
  335. package/dist-es/generated/mistica-icons/icon-antenna-filled.js +50 -22
  336. package/dist-es/generated/mistica-icons/icon-antenna-light.js +47 -27
  337. package/dist-es/generated/mistica-icons/icon-antenna-regular.js +52 -24
  338. package/dist-es/generated/mistica-icons/icon-arrow-up-down-filled.js +29 -19
  339. package/dist-es/generated/mistica-icons/icon-arrow-up-down-light.js +26 -16
  340. package/dist-es/generated/mistica-icons/icon-arrow-up-down-regular.js +34 -24
  341. package/dist-es/generated/mistica-icons/icon-arrows-left-and-right-filled.js +30 -20
  342. package/dist-es/generated/mistica-icons/icon-arrows-left-and-right-light.js +32 -22
  343. package/dist-es/generated/mistica-icons/icon-arrows-left-and-right-regular.js +34 -24
  344. package/dist-es/generated/mistica-icons/icon-authentication-success-filled.js +42 -22
  345. package/dist-es/generated/mistica-icons/icon-authentication-success-light.js +44 -28
  346. package/dist-es/generated/mistica-icons/icon-authentication-success-regular.js +42 -26
  347. package/dist-es/generated/mistica-icons/icon-blog-filled.js +44 -24
  348. package/dist-es/generated/mistica-icons/icon-blog-light.js +45 -25
  349. package/dist-es/generated/mistica-icons/icon-blog-regular.js +45 -29
  350. package/dist-es/generated/mistica-icons/icon-book-filled.js +23 -13
  351. package/dist-es/generated/mistica-icons/icon-book-light.js +33 -23
  352. package/dist-es/generated/mistica-icons/icon-book-regular.js +22 -12
  353. package/dist-es/generated/mistica-icons/icon-box-filled.js +38 -22
  354. package/dist-es/generated/mistica-icons/icon-box-light.js +38 -28
  355. package/dist-es/generated/mistica-icons/icon-box-regular.js +37 -27
  356. package/dist-es/generated/mistica-icons/icon-box-star-filled.js +49 -29
  357. package/dist-es/generated/mistica-icons/icon-box-star-light.js +29 -13
  358. package/dist-es/generated/mistica-icons/icon-box-star-regular.js +33 -17
  359. package/dist-es/generated/mistica-icons/icon-briefcase-filled.js +32 -16
  360. package/dist-es/generated/mistica-icons/icon-briefcase-light.js +24 -14
  361. package/dist-es/generated/mistica-icons/icon-briefcase-regular.js +32 -22
  362. package/dist-es/generated/mistica-icons/icon-calendar-event-filled.js +28 -17
  363. package/dist-es/generated/mistica-icons/icon-calendar-event-light.js +34 -17
  364. package/dist-es/generated/mistica-icons/icon-calendar-event-regular.js +36 -19
  365. package/dist-es/generated/mistica-icons/icon-calendar-filled.js +42 -32
  366. package/dist-es/generated/mistica-icons/icon-calendar-light.js +45 -29
  367. package/dist-es/generated/mistica-icons/icon-calendar-month-filled.js +31 -20
  368. package/dist-es/generated/mistica-icons/icon-calendar-month-light.js +38 -21
  369. package/dist-es/generated/mistica-icons/icon-calendar-month-regular.js +38 -21
  370. package/dist-es/generated/mistica-icons/icon-calendar-regular.js +45 -29
  371. package/dist-es/generated/mistica-icons/icon-car-filled.js +26 -10
  372. package/dist-es/generated/mistica-icons/icon-car-light.js +33 -23
  373. package/dist-es/generated/mistica-icons/icon-car-regular.js +29 -19
  374. package/dist-es/generated/mistica-icons/icon-care-briefcase-filled.js +30 -19
  375. package/dist-es/generated/mistica-icons/icon-care-briefcase-light.js +28 -17
  376. package/dist-es/generated/mistica-icons/icon-care-briefcase-regular.js +24 -14
  377. package/dist-es/generated/mistica-icons/icon-care-filled.js +29 -19
  378. package/dist-es/generated/mistica-icons/icon-care-home-filled.js +32 -21
  379. package/dist-es/generated/mistica-icons/icon-care-home-light.js +31 -20
  380. package/dist-es/generated/mistica-icons/icon-care-home-regular.js +40 -30
  381. package/dist-es/generated/mistica-icons/icon-care-laptop-filled.js +29 -18
  382. package/dist-es/generated/mistica-icons/icon-care-laptop-light.js +31 -20
  383. package/dist-es/generated/mistica-icons/icon-care-laptop-regular.js +33 -23
  384. package/dist-es/generated/mistica-icons/icon-care-light.js +24 -14
  385. package/dist-es/generated/mistica-icons/icon-care-mobile-filled.js +30 -19
  386. package/dist-es/generated/mistica-icons/icon-care-mobile-light.js +35 -18
  387. package/dist-es/generated/mistica-icons/icon-care-mobile-regular.js +50 -34
  388. package/dist-es/generated/mistica-icons/icon-care-regular.js +38 -28
  389. package/dist-es/generated/mistica-icons/icon-care-shield-filled.js +33 -23
  390. package/dist-es/generated/mistica-icons/icon-care-shield-light.js +27 -17
  391. package/dist-es/generated/mistica-icons/icon-care-shield-regular.js +33 -23
  392. package/dist-es/generated/mistica-icons/icon-change-plan-filled.js +41 -21
  393. package/dist-es/generated/mistica-icons/icon-change-plan-light.js +42 -22
  394. package/dist-es/generated/mistica-icons/icon-change-plan-regular.js +35 -19
  395. package/dist-es/generated/mistica-icons/icon-chip-device-filled.js +37 -21
  396. package/dist-es/generated/mistica-icons/icon-chip-device-light.js +46 -30
  397. package/dist-es/generated/mistica-icons/icon-chip-device-regular.js +48 -32
  398. package/dist-es/generated/mistica-icons/icon-chip-sim-card-filled.js +26 -16
  399. package/dist-es/generated/mistica-icons/icon-chip-sim-card-light.js +43 -27
  400. package/dist-es/generated/mistica-icons/icon-chip-sim-card-regular.js +59 -43
  401. package/dist-es/generated/mistica-icons/icon-credit-card-filled.js +24 -14
  402. package/dist-es/generated/mistica-icons/icon-credit-card-light.js +19 -9
  403. package/dist-es/generated/mistica-icons/icon-credit-card-regular.js +26 -16
  404. package/dist-es/generated/mistica-icons/icon-document-information-filled.js +115 -0
  405. package/dist-es/generated/mistica-icons/icon-document-information-light.js +115 -0
  406. package/dist-es/generated/mistica-icons/icon-document-information-regular.js +115 -0
  407. package/dist-es/generated/mistica-icons/icon-document-other-filled.js +31 -15
  408. package/dist-es/generated/mistica-icons/icon-document-other-light.js +42 -26
  409. package/dist-es/generated/mistica-icons/icon-document-other-regular.js +32 -16
  410. package/dist-es/generated/mistica-icons/icon-dollar-symbol-circle-filled.js +28 -18
  411. package/dist-es/generated/mistica-icons/icon-dollar-symbol-circle-light.js +41 -25
  412. package/dist-es/generated/mistica-icons/icon-dollar-symbol-circle-regular.js +42 -26
  413. package/dist-es/generated/mistica-icons/icon-error-filled.js +44 -28
  414. package/dist-es/generated/mistica-icons/icon-error-light.js +37 -21
  415. package/dist-es/generated/mistica-icons/icon-error-regular.js +40 -24
  416. package/dist-es/generated/mistica-icons/icon-esim-filled.js +48 -32
  417. package/dist-es/generated/mistica-icons/icon-esim-light.js +58 -38
  418. package/dist-es/generated/mistica-icons/icon-esim-regular.js +35 -15
  419. package/dist-es/generated/mistica-icons/icon-eye-filled.js +24 -14
  420. package/dist-es/generated/mistica-icons/icon-eye-light.js +43 -27
  421. package/dist-es/generated/mistica-icons/icon-eye-regular.js +33 -17
  422. package/dist-es/generated/mistica-icons/icon-file-ok-filled.js +41 -25
  423. package/dist-es/generated/mistica-icons/icon-file-ok-light.js +37 -21
  424. package/dist-es/generated/mistica-icons/icon-file-ok-regular.js +41 -25
  425. package/dist-es/generated/mistica-icons/icon-fingerprint-filled.js +45 -24
  426. package/dist-es/generated/mistica-icons/icon-fingerprint-light.js +39 -18
  427. package/dist-es/generated/mistica-icons/icon-fingerprint-regular.js +32 -12
  428. package/dist-es/generated/mistica-icons/icon-home-filled.js +19 -9
  429. package/dist-es/generated/mistica-icons/icon-home-light.js +24 -14
  430. package/dist-es/generated/mistica-icons/icon-home-regular.js +30 -20
  431. package/dist-es/generated/mistica-icons/icon-home-wifi-filled.js +51 -31
  432. package/dist-es/generated/mistica-icons/icon-home-wifi-light.js +36 -20
  433. package/dist-es/generated/mistica-icons/icon-home-wifi-regular.js +51 -31
  434. package/dist-es/generated/mistica-icons/icon-id-card-filled.js +40 -24
  435. package/dist-es/generated/mistica-icons/icon-id-card-light.js +38 -22
  436. package/dist-es/generated/mistica-icons/icon-id-card-regular.js +42 -26
  437. package/dist-es/generated/mistica-icons/icon-information-user-filled.js +36 -16
  438. package/dist-es/generated/mistica-icons/icon-information-user-light.js +51 -35
  439. package/dist-es/generated/mistica-icons/icon-information-user-regular.js +58 -42
  440. package/dist-es/generated/mistica-icons/icon-internet-filled.js +22 -12
  441. package/dist-es/generated/mistica-icons/icon-internet-light.js +25 -15
  442. package/dist-es/generated/mistica-icons/icon-internet-regular.js +22 -12
  443. package/dist-es/generated/mistica-icons/icon-internet-roaming-filled.js +109 -0
  444. package/dist-es/generated/mistica-icons/icon-internet-roaming-light.js +109 -0
  445. package/dist-es/generated/mistica-icons/icon-internet-roaming-regular.js +109 -0
  446. package/dist-es/generated/mistica-icons/icon-key-filled.js +23 -13
  447. package/dist-es/generated/mistica-icons/icon-key-light.js +40 -24
  448. package/dist-es/generated/mistica-icons/icon-key-regular.js +40 -24
  449. package/dist-es/generated/mistica-icons/icon-list-filled.js +29 -18
  450. package/dist-es/generated/mistica-icons/icon-list-light.js +38 -22
  451. package/dist-es/generated/mistica-icons/icon-list-regular.js +42 -26
  452. package/dist-es/generated/mistica-icons/icon-location-filled.js +29 -19
  453. package/dist-es/generated/mistica-icons/icon-location-light.js +37 -21
  454. package/dist-es/generated/mistica-icons/icon-location-regular.js +37 -21
  455. package/dist-es/generated/mistica-icons/icon-lock-closed-filled.js +28 -18
  456. package/dist-es/generated/mistica-icons/icon-lock-closed-light.js +35 -19
  457. package/dist-es/generated/mistica-icons/icon-lock-closed-regular.js +40 -24
  458. package/dist-es/generated/mistica-icons/icon-message-filled.js +29 -18
  459. package/dist-es/generated/mistica-icons/icon-message-light.js +36 -19
  460. package/dist-es/generated/mistica-icons/icon-message-regular.js +35 -18
  461. package/dist-es/generated/mistica-icons/icon-mobile-device-filled.js +30 -20
  462. package/dist-es/generated/mistica-icons/icon-mobile-device-light.js +34 -18
  463. package/dist-es/generated/mistica-icons/icon-mobile-device-regular.js +37 -21
  464. package/dist-es/generated/mistica-icons/icon-mobile-information-filled.js +115 -0
  465. package/dist-es/generated/mistica-icons/icon-mobile-information-light.js +123 -0
  466. package/dist-es/generated/mistica-icons/icon-mobile-information-regular.js +115 -0
  467. package/dist-es/generated/mistica-icons/icon-search-ai-filled.js +115 -0
  468. package/dist-es/generated/mistica-icons/icon-search-ai-light.js +115 -0
  469. package/dist-es/generated/mistica-icons/icon-search-ai-regular.js +115 -0
  470. package/dist-es/generated/mistica-icons/icons-keywords.js +57 -0
  471. package/dist-es/grid-layout.css-mistica.js +3 -3
  472. package/dist-es/grid.css-mistica.js +120 -120
  473. package/dist-es/header.css-mistica.js +1 -1
  474. package/dist-es/header.js +113 -105
  475. package/dist-es/hero.css-mistica.js +2 -2
  476. package/dist-es/horizontal-scroll.css-mistica.js +1 -1
  477. package/dist-es/icon-button.css-mistica.js +53 -53
  478. package/dist-es/icons/icon-chevron.css-mistica.js +2 -2
  479. package/dist-es/icons/icon-error.css-mistica.js +1 -1
  480. package/dist-es/image.css-mistica.js +4 -4
  481. package/dist-es/index.js +2361 -2348
  482. package/dist-es/inline.css-mistica.js +11 -11
  483. package/dist-es/list.css-mistica.js +7 -7
  484. package/dist-es/loading-bar.css-mistica.js +1 -1
  485. package/dist-es/loading-screen.css-mistica.js +4 -4
  486. package/dist-es/logo.css-mistica.js +5 -5
  487. package/dist-es/menu.css-mistica.js +13 -13
  488. package/dist-es/mosaic.css-mistica.js +1 -1
  489. package/dist-es/navigation-bar.css-mistica.js +9 -9
  490. package/dist-es/navigation-breadcrumbs.css-mistica.js +1 -1
  491. package/dist-es/navigation-shared.css-mistica.js +9 -9
  492. package/dist-es/package-version.js +1 -1
  493. package/dist-es/pagination.css-mistica.js +18 -18
  494. package/dist-es/pin-field.css-mistica.js +1 -1
  495. package/dist-es/popover.css-mistica.js +1 -1
  496. package/dist-es/progress-bar.css-mistica.js +6 -6
  497. package/dist-es/radio-button.css-mistica.js +19 -19
  498. package/dist-es/radio-button.js +91 -90
  499. package/dist-es/rating.css-mistica.js +2 -2
  500. package/dist-es/responsive-layout.css-mistica.js +6 -6
  501. package/dist-es/screen-reader-only.css-mistica.js +1 -1
  502. package/dist-es/select.css-mistica.js +15 -15
  503. package/dist-es/sheet-action-row.css-mistica.js +1 -1
  504. package/dist-es/sheet-common.css-mistica.js +1 -1
  505. package/dist-es/sheet-info.css-mistica.js +1 -1
  506. package/dist-es/sidenav-bar-layout.css-mistica.js +1 -1
  507. package/dist-es/sidenav-bar.css-mistica.js +71 -71
  508. package/dist-es/skeletons.css-mistica.js +6 -6
  509. package/dist-es/skins/blau.js +11 -0
  510. package/dist-es/skins/defaults.js +11 -0
  511. package/dist-es/skins/esimflag.js +11 -0
  512. package/dist-es/skins/movistar.js +11 -0
  513. package/dist-es/skins/o2.js +11 -0
  514. package/dist-es/skins/skin-contract.css-mistica.js +740 -735
  515. package/dist-es/skins/telefonica.js +11 -0
  516. package/dist-es/skins/vivo-evolution.js +11 -0
  517. package/dist-es/skins/vivo.js +11 -0
  518. package/dist-es/skip-link.css-mistica.js +1 -1
  519. package/dist-es/slider.css-mistica.js +18 -18
  520. package/dist-es/snackbar.css-mistica.js +4 -4
  521. package/dist-es/spinner.css-mistica.js +1 -1
  522. package/dist-es/square.css-mistica.js +1 -1
  523. package/dist-es/stack.css-mistica.js +5 -5
  524. package/dist-es/stacking-group.css-mistica.js +1 -1
  525. package/dist-es/stepper.css-mistica.js +2 -2
  526. package/dist-es/style.css +1 -1
  527. package/dist-es/switch-component.css-mistica.js +35 -35
  528. package/dist-es/switch-component.js +34 -33
  529. package/dist-es/table.css-mistica.js +9 -9
  530. package/dist-es/tabs.css-mistica.js +17 -17
  531. package/dist-es/tag.css-mistica.js +1 -1
  532. package/dist-es/text-field-base.css-mistica.js +17 -17
  533. package/dist-es/text-field-components.css-mistica.js +3 -3
  534. package/dist-es/text-link.css-mistica.js +6 -6
  535. package/dist-es/text.css-mistica.js +6 -6
  536. package/dist-es/timeline.css-mistica.js +9 -9
  537. package/dist-es/timer.css-mistica.js +6 -6
  538. package/dist-es/tooltip.css-mistica.js +1 -1
  539. package/dist-es/touchable.css-mistica.js +1 -1
  540. package/dist-es/utils/aspect-ratio-support.css-mistica.js +2 -2
  541. package/dist-es/video.css-mistica.js +1 -1
  542. package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  543. package/doc/components.md +35 -0
  544. package/package.json +4 -3
  545. package/src/card-cover.tsx +2 -2
  546. package/src/card-data.tsx +3 -4
  547. package/src/card-internal.css.ts +36 -0
  548. package/src/card-internal.tsx +162 -9
  549. package/src/card-media.tsx +3 -4
  550. package/src/card-naked.tsx +3 -4
  551. package/src/checkbox.tsx +6 -1
  552. package/src/community/__screenshot_tests__/__image_snapshots__/ai-card-screenshot-test-tsx-ai-card-line-break-at-chars-1-snap.png +0 -0
  553. package/src/community/__screenshot_tests__/__image_snapshots__/ai-card-screenshot-test-tsx-ai-card-static-text-1-snap.png +0 -0
  554. package/src/community/__screenshot_tests__/ai-card-screenshot-test.tsx +28 -0
  555. package/src/community/__stories__/advanced-data-card-story.tsx +5 -0
  556. package/src/community/__type_tests__/advanced-data-card-type-test.tsx +3 -0
  557. package/src/community/advanced-data-card.css.ts +26 -1
  558. package/src/community/advanced-data-card.tsx +123 -73
  559. package/src/community/ai-card.tsx +3 -3
  560. package/src/fade-out.css.ts +12 -0
  561. package/src/fade-out.tsx +50 -0
  562. package/src/header.tsx +39 -17
  563. package/src/index.tsx +13 -0
  564. package/src/package-version.tsx +1 -1
  565. package/src/radio-button.tsx +7 -1
  566. package/src/skins/blau.tsx +5 -0
  567. package/src/skins/defaults.tsx +5 -0
  568. package/src/skins/esimflag.tsx +5 -0
  569. package/src/skins/movistar.tsx +5 -0
  570. package/src/skins/o2.tsx +5 -0
  571. package/src/skins/skin-contract.css.ts +1 -0
  572. package/src/skins/telefonica.tsx +5 -0
  573. package/src/skins/types/index.tsx +1 -0
  574. package/src/skins/vivo-evolution.tsx +5 -0
  575. package/src/skins/vivo.tsx +5 -0
  576. package/src/switch-component.tsx +7 -3
@@ -10,17 +10,19 @@ import Divider from '../divider';
10
10
  import {Text2, Text, useTextPresetSizes} from '../text';
11
11
  import {vars} from '../skins/skin-contract.css';
12
12
  import Box from '../box';
13
- import Touchable from '../touchable';
14
13
  import classNames from 'classnames';
14
+ import Touchable from '../touchable';
15
15
  import {useInnerText, useTheme} from '../hooks';
16
16
  import {getPrefixedDataAttributes} from '../utils/dom';
17
17
  import Inline from '../inline';
18
18
  import {applyCssVars} from '../utils/css';
19
19
  import Tag from '../tag';
20
20
  import {isBiggerHeading} from '../utils/headings';
21
- import {TopActions} from '../card-internal';
21
+ import {TopActions, useControlState, CardWithControl} from '../card-internal';
22
+ import {useRadioContext} from '../radio-button';
23
+ import * as cardStyles from '../card-internal.css';
22
24
 
23
- import type {CardAction} from '../card-internal';
25
+ import type {CardSelectionProps, CardAction} from '../card-internal';
24
26
  import type {PressHandler} from '../touchable';
25
27
  import type {ExclusifyUnion} from '../utils/utility-types';
26
28
  import type StackingGroup from '../stacking-group';
@@ -55,7 +57,11 @@ type TouchableProps = {
55
57
  }
56
58
  >;
57
59
  type TouchableCard<T> = T & TouchableProps;
58
- type MaybeTouchableCard<T> = ExclusifyUnion<TouchableCard<T> | T>;
60
+ type CardInteractionProps<T> = ExclusifyUnion<
61
+ | (TouchableCard<T> & {selected?: boolean})
62
+ | (T & {selected?: boolean})
63
+ | (Omit<T, 'actions' | 'onClose'> & CardSelectionProps)
64
+ >;
59
65
 
60
66
  type CardContentProps = {
61
67
  headline?: string | RendersNullableElement<typeof Tag>;
@@ -265,7 +271,7 @@ type AllowedSlot =
265
271
  | typeof SimpleBlock
266
272
  | typeof ValueBlock;
267
273
 
268
- type AdvancedDataCardProps = MaybeTouchableCard<{
274
+ type AdvancedDataCardProps = CardInteractionProps<{
269
275
  stackingGroup?: RendersNullableElement<typeof StackingGroup>;
270
276
  headline?: RendersNullableElement<typeof Tag>;
271
277
  pretitle?: string;
@@ -295,6 +301,10 @@ type AdvancedDataCardProps = MaybeTouchableCard<{
295
301
  export const AdvancedDataCard = React.forwardRef<HTMLDivElement, AdvancedDataCardProps>(
296
302
  (
297
303
  {
304
+ selected,
305
+ checkbox,
306
+ switch: switchProps,
307
+ radioValue,
298
308
  stackingGroup,
299
309
  headline,
300
310
  pretitle,
@@ -326,14 +336,24 @@ export const AdvancedDataCard = React.forwardRef<HTMLDivElement, AdvancedDataCar
326
336
  },
327
337
  ref
328
338
  ) => {
329
- const isTouchable = !!touchableProps.href || !!touchableProps.onPress || !!touchableProps.to;
330
-
339
+ const {isChecked, toggleChecked} = useControlState(switchProps || checkbox);
340
+ const radioContext = useRadioContext();
341
+ const isSelectable = !!switchProps || !!checkbox || radioValue !== undefined;
342
+ const isSelected =
343
+ switchProps || checkbox
344
+ ? isChecked
345
+ : radioValue !== undefined
346
+ ? radioContext.selectedValue === radioValue
347
+ : selected;
348
+ const {isIos} = useTheme();
349
+ const isTouchable =
350
+ isSelectable || !!touchableProps.href || !!touchableProps.onPress || !!touchableProps.to;
331
351
  const footerProps = {button, footerImage, footerText, footerTextLinesMax, buttonLink};
332
352
 
333
353
  const hasFooter = !!button || !!footerImage || !!footerText || !!buttonLink;
334
354
  const hasSlots = !!slot?.length;
335
355
 
336
- const topActionsCount = (actions?.length || 0) + (onClose ? 1 : 0);
356
+ const topActionsCount = isSelectable ? 1 : (actions?.length || 0) + (onClose ? 1 : 0);
337
357
 
338
358
  const {text: headlineText, ref: headlineRef} = useInnerText();
339
359
  const {text: slotText, ref: slotRef} = useInnerText();
@@ -347,79 +367,109 @@ export const AdvancedDataCard = React.forwardRef<HTMLDivElement, AdvancedDataCar
347
367
  .filter(Boolean)
348
368
  .join(' ');
349
369
 
370
+ const content = (
371
+ <>
372
+ {isTouchable && <div className={styles.touchableCardHoverOverlay} />}
373
+
374
+ <div
375
+ className={classNames(
376
+ styles.cardContentStyle,
377
+ !hasFooter && !hasSlots ? styles.minHeight : ''
378
+ )}
379
+ aria-hidden={isTouchable && !isSelectable}
380
+ >
381
+ <Box paddingTop={8}>
382
+ <Inline space={0}>
383
+ <Stack space={8}>
384
+ {stackingGroup}
385
+ <CardContent
386
+ headline={headline}
387
+ headlineRef={headlineRef}
388
+ pretitle={pretitle}
389
+ pretitleAs={pretitleAs}
390
+ pretitleLinesMax={pretitleLinesMax}
391
+ title={title}
392
+ titleAs={titleAs}
393
+ titleLinesMax={titleLinesMax}
394
+ subtitle={subtitle}
395
+ subtitleLinesMax={subtitleLinesMax}
396
+ description={description}
397
+ descriptionLinesMax={descriptionLinesMax}
398
+ />
399
+ </Stack>
400
+ {/** Hack to avoid content from rendering on top of the top action buttons */}
401
+ {!stackingGroup && (
402
+ <div
403
+ style={applyCssVars({
404
+ [styles.vars.topActionsCount]: String(topActionsCount),
405
+ })}
406
+ className={classNames(
407
+ styles.topActionsWithoutIcon,
408
+ switchProps && styles.switchSpace[isIos ? 'ios' : 'default']
409
+ )}
410
+ />
411
+ )}
412
+ </Inline>
413
+ </Box>
414
+ </div>
415
+ <div style={{flexGrow: 1}} />
416
+ {hasSlots && (
417
+ <div className={styles.slot} ref={slotRef} aria-hidden={isTouchable && !isSelectable}>
418
+ {slot.map((item, index) => {
419
+ return (
420
+ <div key={index}>
421
+ <div className={styles.paddingX}>{item}</div>
422
+
423
+ {index + 1 !== slot.length && (
424
+ <Box paddingY={slotDividerPadding}>
425
+ {!noSlotDivider && <Divider />}
426
+ </Box>
427
+ )}
428
+ </div>
429
+ );
430
+ })}
431
+ </div>
432
+ )}
433
+ </>
434
+ );
435
+
350
436
  return (
351
437
  <section
352
- className={styles.container}
438
+ className={classNames(
439
+ styles.container,
440
+ isSelected && cardStyles.selectionOutline,
441
+ isSelected && cardStyles.selectionOutlineColor.default
442
+ )}
353
443
  {...getPrefixedDataAttributes({testid: 'AdvancedDataCard', ...dataAttributes})}
354
444
  ref={ref}
355
445
  aria-label={isTouchable ? undefined : ariaLabel}
356
446
  >
357
447
  <Boxed className={styles.dataCard} width="100%" height="100%" minHeight={styles.MIN_HEIGHT}>
358
- <Touchable
359
- maybe
360
- {...touchableProps}
361
- aria-label={isTouchable ? ariaLabel : undefined}
362
- className={styles.touchable}
363
- >
364
- {isTouchable && <div className={styles.touchableCardHoverOverlay} />}
365
-
366
- <div
367
- className={classNames(
368
- styles.cardContentStyle,
369
- !hasFooter && !hasSlots ? styles.minHeight : ''
370
- )}
371
- aria-hidden={isTouchable}
448
+ {isSelectable ? (
449
+ <CardWithControl
450
+ maybe
451
+ {...(checkbox
452
+ ? {checkbox}
453
+ : switchProps
454
+ ? {switch: switchProps}
455
+ : {radioValue: radioValue ?? ''})}
456
+ checked={isChecked}
457
+ onChange={toggleChecked}
458
+ aria-label={ariaLabel}
459
+ className={classNames(styles.touchable, styles.selectionTouchable)}
372
460
  >
373
- <Box paddingTop={8}>
374
- <Inline space={0}>
375
- <Stack space={8}>
376
- {stackingGroup}
377
- <CardContent
378
- headline={headline}
379
- headlineRef={headlineRef}
380
- pretitle={pretitle}
381
- pretitleAs={pretitleAs}
382
- pretitleLinesMax={pretitleLinesMax}
383
- title={title}
384
- titleAs={titleAs}
385
- titleLinesMax={titleLinesMax}
386
- subtitle={subtitle}
387
- subtitleLinesMax={subtitleLinesMax}
388
- description={description}
389
- descriptionLinesMax={descriptionLinesMax}
390
- />
391
- </Stack>
392
- {/** Hack to avoid content from rendering on top of the top action buttons */}
393
- {!stackingGroup && (
394
- <div
395
- style={applyCssVars({
396
- [styles.vars.topActionsCount]: String(topActionsCount),
397
- })}
398
- className={styles.topActionsWithoutIcon}
399
- />
400
- )}
401
- </Inline>
402
- </Box>
403
- </div>
404
- <div style={{flexGrow: 1}} />
405
- {hasSlots && (
406
- <div className={styles.slot} ref={slotRef} aria-hidden={isTouchable}>
407
- {slot.map((item, index) => {
408
- return (
409
- <div key={index}>
410
- <div className={styles.paddingX}>{item}</div>
411
-
412
- {index + 1 !== slot.length && (
413
- <Box paddingY={slotDividerPadding}>
414
- {!noSlotDivider && <Divider />}
415
- </Box>
416
- )}
417
- </div>
418
- );
419
- })}
420
- </div>
421
- )}
422
- </Touchable>
461
+ {content}
462
+ </CardWithControl>
463
+ ) : (
464
+ <Touchable
465
+ maybe
466
+ {...touchableProps}
467
+ aria-label={isTouchable ? ariaLabel : undefined}
468
+ className={styles.touchable}
469
+ >
470
+ {content}
471
+ </Touchable>
472
+ )}
423
473
  {hasFooter && <CardFooter {...footerProps} />}
424
474
  </Boxed>
425
475
  <TopActions actions={actions} onClose={onClose} />
@@ -2,7 +2,7 @@
2
2
  import * as React from 'react';
3
3
  import classnames from 'classnames';
4
4
  import {BaseTouchable} from '../touchable';
5
- import {Text3} from '../text';
5
+ import {Text2} from '../text';
6
6
  import {vars} from '../skins/skin-contract.css';
7
7
  import {useIsInViewport} from '../hooks';
8
8
  import {isClientSide} from '../utils/environment';
@@ -201,7 +201,7 @@ const AiCard = ({
201
201
  </span>
202
202
  )}
203
203
  <div ref={textLineRef} className={styles.textLine} aria-hidden="true" style={textLineStyle}>
204
- <Text3 regular color={vars.colors.textPrimary} as="span">
204
+ <Text2 regular color={vars.colors.textPrimary} as="span">
205
205
  <span className={styles.textWrapper}>
206
206
  <span className={styles.ghost}>
207
207
  {text}
@@ -222,7 +222,7 @@ const AiCard = ({
222
222
  )}
223
223
  </span>
224
224
  </span>
225
- </Text3>
225
+ </Text2>
226
226
  </div>
227
227
  </BaseTouchable>
228
228
  );
@@ -0,0 +1,12 @@
1
+ import {style, keyframes} from '@vanilla-extract/css';
2
+
3
+ const fadeIn = keyframes({
4
+ '0%': {opacity: 1},
5
+ '100%': {opacity: 0},
6
+ });
7
+
8
+ export const wrapper = style({
9
+ animationName: fadeIn,
10
+ animationTimingFunction: 'ease',
11
+ animationFillMode: 'both',
12
+ });
@@ -0,0 +1,50 @@
1
+ import * as React from 'react';
2
+ import * as styles from './fade-out.css';
3
+ import {getPrefixedDataAttributes} from './utils/dom';
4
+
5
+ import type {DataAttributes} from './utils/types';
6
+
7
+ const defaultDuration = '0.3s';
8
+
9
+ type Props = {
10
+ children?: React.ReactNode;
11
+ className?: string;
12
+ delay?: string;
13
+ duration?: string;
14
+ dataAttributes?: DataAttributes;
15
+ };
16
+
17
+ const FadeOut = ({
18
+ children,
19
+ className = '',
20
+ /**
21
+ * The length of the fade-in animation.
22
+ * Use a CSS time value, for example '0.3s' or '300ms'.
23
+ * The default value is '0.3s'.
24
+ */
25
+ duration = defaultDuration,
26
+ /**
27
+ * The wait time before the fade-in animation starts.
28
+ * Use a CSS time value, for example '0.3s' or '300ms'.
29
+ * The default value is '0' (no wait time).
30
+ */
31
+ delay = '0',
32
+ dataAttributes,
33
+ }: Props): JSX.Element => {
34
+ return (
35
+ <div
36
+ {...getPrefixedDataAttributes({testid: 'FadeOut', ...dataAttributes})}
37
+ className={`${styles.wrapper} ${className}`}
38
+ style={{
39
+ animationDelay: delay,
40
+ WebkitAnimationDelay: delay,
41
+ animationDuration: duration,
42
+ WebkitAnimationDuration: duration,
43
+ }}
44
+ >
45
+ {children}
46
+ </div>
47
+ );
48
+ };
49
+
50
+ export default FadeOut;
package/src/header.tsx CHANGED
@@ -5,11 +5,11 @@ import Stack from './stack';
5
5
  import ResponsiveLayout from './responsive-layout';
6
6
  import GridLayout from './grid-layout';
7
7
  import {useSetOverscrollColor} from './overscroll-color-context';
8
- import {Text7, Text6, Text3, Text2} from './text';
8
+ import {Text7, Text6, Text, Text2, Text3} from './text';
9
9
  import {vars} from './skins/skin-contract.css';
10
10
  import * as styles from './header.css';
11
11
  import {getPrefixedDataAttributes} from './utils/dom';
12
- import {Title3, Title4} from './title';
12
+ import {Title1, Title2, Title3, Title4} from './title';
13
13
  import {
14
14
  type DataAttributes,
15
15
  type HeadingType,
@@ -17,6 +17,7 @@ import {
17
17
  type RendersNullableElement,
18
18
  } from './utils/types';
19
19
  import {isBiggerHeading} from './utils/headings';
20
+ import {useTheme} from './hooks';
20
21
 
21
22
  import type NavigationBreadcrumbs from './navigation-breadcrumbs';
22
23
  import type {ButtonPrimary, ButtonSecondary} from './button';
@@ -30,12 +31,15 @@ type OverridableTextProps = {
30
31
 
31
32
  type RichText = string | ({text: string} & OverridableTextProps);
32
33
 
34
+ type TitleSizes = 'title1' | 'title2' | 'title3' | 'title4';
35
+
33
36
  type HeaderProps = {
34
37
  headline?: React.ReactNode;
35
38
  pretitle?: RichText;
36
39
  pretitleAs?: HeadingType;
37
40
  title?: string;
38
41
  titleAs?: HeadingType;
42
+ titleSize?: TitleSizes;
39
43
  description?: string;
40
44
  small?: boolean;
41
45
  dataAttributes?: DataAttributes;
@@ -47,45 +51,63 @@ export const Header = ({
47
51
  pretitleAs,
48
52
  title,
49
53
  titleAs = 'h2',
54
+ titleSize,
50
55
  description,
51
56
  dataAttributes,
52
57
  small = false,
53
58
  }: HeaderProps): JSX.Element => {
59
+ const {textPresets} = useTheme();
60
+
54
61
  const renderPretitle = () => {
55
62
  if (!pretitle) {
56
63
  return null;
57
64
  }
58
65
  const baseTextProps = {
59
- regular: true,
60
66
  color: vars.colors.textPrimary,
61
67
  as: pretitleAs,
62
68
  dataAttributes: {testid: 'pretitle'},
69
+ desktopSize: textPresets.headerPretitle.size.desktop,
70
+ mobileSize: textPresets.headerPretitle.size.mobile,
71
+ desktopLineHeight: textPresets.headerPretitle.lineHeight.desktop,
72
+ mobileLineHeight: textPresets.headerPretitle.lineHeight.mobile,
73
+ weight: textPresets.headerPretitle.weight,
63
74
  } as const;
64
75
 
65
76
  if (typeof pretitle === 'string') {
66
- return <Text3 {...baseTextProps}>{pretitle}</Text3>;
77
+ return <Text {...baseTextProps}>{pretitle}</Text>;
67
78
  }
68
79
  const {text, ...textProps} = pretitle;
69
80
  return (
70
- <Text3 {...baseTextProps} {...textProps}>
81
+ <Text {...baseTextProps} {...textProps}>
71
82
  {text}
72
- </Text3>
83
+ </Text>
73
84
  );
74
85
  };
75
86
 
87
+ const renderTitle = () => {
88
+ if (!title) return undefined;
89
+
90
+ const baseTitleProps = {
91
+ children: title,
92
+ as: titleAs,
93
+ dataAttributes: {testid: 'title'},
94
+ } as const;
95
+
96
+ const titleComponents = {
97
+ title1: Title1,
98
+ title2: Title2,
99
+ title3: Title3,
100
+ title4: Title4,
101
+ } as const;
102
+
103
+ const TitleComponent = titleSize ? titleComponents[titleSize] : small ? Title3 : Title4;
104
+
105
+ return <TitleComponent {...baseTitleProps} />;
106
+ };
107
+
76
108
  const pretitleContent = renderPretitle();
77
109
 
78
- const titleContent = title ? (
79
- small ? (
80
- <Title3 as={titleAs} dataAttributes={{testid: 'title'}}>
81
- {title}
82
- </Title3>
83
- ) : (
84
- <Title4 as={titleAs} dataAttributes={{testid: 'title'}}>
85
- {title}
86
- </Title4>
87
- )
88
- ) : undefined;
110
+ const titleContent = renderTitle();
89
111
 
90
112
  const headlineContent = headline ? (
91
113
  <div
package/src/index.tsx CHANGED
@@ -7,6 +7,7 @@ export {default as Touchable} from './touchable';
7
7
  export type {TouchableElement} from './touchable';
8
8
  export {default as Spinner} from './spinner';
9
9
  export {default as FadeIn} from './fade-in';
10
+ export {default as FadeOut} from './fade-out';
10
11
 
11
12
  export {AccordionItem, BoxedAccordionItem, Accordion, BoxedAccordion} from './accordion';
12
13
  export {ButtonPrimary, ButtonSecondary, ButtonDanger, ButtonLink, ButtonLinkDanger} from './button';
@@ -971,6 +972,9 @@ export {default as IconDisturbRegular} from './generated/mistica-icons/icon-dist
971
972
  export {default as IconDnaFilled} from './generated/mistica-icons/icon-dna-filled';
972
973
  export {default as IconDnaLight} from './generated/mistica-icons/icon-dna-light';
973
974
  export {default as IconDnaRegular} from './generated/mistica-icons/icon-dna-regular';
975
+ export {default as IconDocumentInformationFilled} from './generated/mistica-icons/icon-document-information-filled';
976
+ export {default as IconDocumentInformationLight} from './generated/mistica-icons/icon-document-information-light';
977
+ export {default as IconDocumentInformationRegular} from './generated/mistica-icons/icon-document-information-regular';
974
978
  export {default as IconDocumentOtherFilled} from './generated/mistica-icons/icon-document-other-filled';
975
979
  export {default as IconDocumentOtherLight} from './generated/mistica-icons/icon-document-other-light';
976
980
  export {default as IconDocumentOtherRegular} from './generated/mistica-icons/icon-document-other-regular';
@@ -1392,6 +1396,9 @@ export {default as IconInternetPendriveFilled} from './generated/mistica-icons/i
1392
1396
  export {default as IconInternetPendriveLight} from './generated/mistica-icons/icon-internet-pendrive-light';
1393
1397
  export {default as IconInternetPendriveRegular} from './generated/mistica-icons/icon-internet-pendrive-regular';
1394
1398
  export {default as IconInternetRegular} from './generated/mistica-icons/icon-internet-regular';
1399
+ export {default as IconInternetRoamingFilled} from './generated/mistica-icons/icon-internet-roaming-filled';
1400
+ export {default as IconInternetRoamingLight} from './generated/mistica-icons/icon-internet-roaming-light';
1401
+ export {default as IconInternetRoamingRegular} from './generated/mistica-icons/icon-internet-roaming-regular';
1395
1402
  export {default as IconIntranetFilled} from './generated/mistica-icons/icon-intranet-filled';
1396
1403
  export {default as IconIntranetLight} from './generated/mistica-icons/icon-intranet-light';
1397
1404
  export {default as IconIntranetRegular} from './generated/mistica-icons/icon-intranet-regular';
@@ -1584,6 +1591,9 @@ export {default as IconMobileDeviceRegular} from './generated/mistica-icons/icon
1584
1591
  export {default as IconMobileEuroFilled} from './generated/mistica-icons/icon-mobile-euro-filled';
1585
1592
  export {default as IconMobileEuroLight} from './generated/mistica-icons/icon-mobile-euro-light';
1586
1593
  export {default as IconMobileEuroRegular} from './generated/mistica-icons/icon-mobile-euro-regular';
1594
+ export {default as IconMobileInformationFilled} from './generated/mistica-icons/icon-mobile-information-filled';
1595
+ export {default as IconMobileInformationLight} from './generated/mistica-icons/icon-mobile-information-light';
1596
+ export {default as IconMobileInformationRegular} from './generated/mistica-icons/icon-mobile-information-regular';
1587
1597
  export {default as IconMobilePauseFilled} from './generated/mistica-icons/icon-mobile-pause-filled';
1588
1598
  export {default as IconMobilePauseLight} from './generated/mistica-icons/icon-mobile-pause-light';
1589
1599
  export {default as IconMobilePauseRegular} from './generated/mistica-icons/icon-mobile-pause-regular';
@@ -1966,6 +1976,9 @@ export {default as IconSdFilled} from './generated/mistica-icons/icon-sd-filled'
1966
1976
  export {default as IconSdLight} from './generated/mistica-icons/icon-sd-light';
1967
1977
  export {default as IconSdRegular} from './generated/mistica-icons/icon-sd-regular';
1968
1978
  export {default as IconSeaLight} from './generated/mistica-icons/icon-sea-light';
1979
+ export {default as IconSearchAiFilled} from './generated/mistica-icons/icon-search-ai-filled';
1980
+ export {default as IconSearchAiLight} from './generated/mistica-icons/icon-search-ai-light';
1981
+ export {default as IconSearchAiRegular} from './generated/mistica-icons/icon-search-ai-regular';
1969
1982
  export {default as IconSearchCloudFilled} from './generated/mistica-icons/icon-search-cloud-filled';
1970
1983
  export {default as IconSearchCloudLight} from './generated/mistica-icons/icon-search-cloud-light';
1971
1984
  export {default as IconSearchCloudRegular} from './generated/mistica-icons/icon-search-cloud-regular';
@@ -1,2 +1,2 @@
1
1
  // DO NOT EDIT THIS FILE. It's autogenerated by set-version.js
2
- export const PACKAGE_VERSION = '17.4.0' as string;
2
+ export const PACKAGE_VERSION = '17.6.0' as string;
@@ -44,6 +44,7 @@ type PropsRender = {
44
44
  }) => React.ReactNode;
45
45
  children?: undefined;
46
46
  dataAttributes?: DataAttributes;
47
+ className?: string;
47
48
  'aria-label'?: string;
48
49
  'aria-labelledby'?: string;
49
50
  };
@@ -54,6 +55,7 @@ type PropsChildren = {
54
55
  children?: React.ReactNode;
55
56
  render?: undefined;
56
57
  dataAttributes?: DataAttributes;
58
+ className?: string;
57
59
  'aria-label'?: string;
58
60
  'aria-labelledby'?: string;
59
61
  };
@@ -62,6 +64,7 @@ const RadioButton = ({
62
64
  value,
63
65
  id,
64
66
  dataAttributes,
67
+ className,
65
68
  'aria-labelledby': ariaLabelledby,
66
69
  'aria-label': ariaLabel,
67
70
  ...rest
@@ -171,7 +174,10 @@ const RadioButton = ({
171
174
  }
172
175
  }}
173
176
  onKeyDown={disabled ? undefined : handleKeyDown}
174
- className={disabled ? styles.radioButtonContainerDisabled : styles.radioButton}
177
+ className={classnames(
178
+ disabled ? styles.radioButtonContainerDisabled : styles.radioButton,
179
+ className
180
+ )}
175
181
  {...getPrefixedDataAttributes({testid: 'RadioButton', ...dataAttributes})}
176
182
  >
177
183
  {rest.render ? (
@@ -708,6 +708,11 @@ export const getBlauSkin: GetKnownSkin = () => {
708
708
  size: {desktop: 28, mobile: 20},
709
709
  weight: 'light',
710
710
  },
711
+ headerPretitle: {
712
+ lineHeight: {desktop: 24, mobile: 24},
713
+ size: {desktop: 18, mobile: 16},
714
+ weight: 'regular',
715
+ },
711
716
  indicator: {weight: 'medium'},
712
717
  inputHelperText: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
713
718
  inputLabel: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
@@ -24,6 +24,11 @@ export const defaultTextPresetsConfig: TextPresetsConfig = {
24
24
  cardDescriptionSnap: {lineHeight: {desktop: 24, mobile: 20}, size: {desktop: 16, mobile: 14}},
25
25
  cardPretitleDefault: {lineHeight: {desktop: 24, mobile: 20}, size: {desktop: 16, mobile: 14}},
26
26
  cardPretitleSnap: {lineHeight: {desktop: 24, mobile: 20}, size: {desktop: 16, mobile: 14}},
27
+ headerPretitle: {
28
+ lineHeight: {desktop: 24, mobile: 22},
29
+ size: {desktop: 18, mobile: 16},
30
+ weight: 'regular',
31
+ },
27
32
  cardSubtitleDefault: {lineHeight: {desktop: 24, mobile: 20}, size: {desktop: 16, mobile: 14}},
28
33
  cardSubtitleSnap: {lineHeight: {desktop: 24, mobile: 20}, size: {desktop: 16, mobile: 14}},
29
34
  cardTitleDefault: {lineHeight: {desktop: 28, mobile: 24}, size: {desktop: 20, mobile: 18}},
@@ -712,6 +712,11 @@ export const getEsimflagSkin: GetKnownSkin = () => {
712
712
  size: {desktop: 28, mobile: 20},
713
713
  weight: 'bold',
714
714
  },
715
+ headerPretitle: {
716
+ lineHeight: {desktop: 24, mobile: 24},
717
+ size: {desktop: 18, mobile: 16},
718
+ weight: 'regular',
719
+ },
715
720
  indicator: {weight: 'medium'},
716
721
  inputHelperText: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
717
722
  inputLabel: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
@@ -719,6 +719,11 @@ export const getMovistarSkin: GetKnownSkin = () => {
719
719
  size: {desktop: 20, mobile: 20},
720
720
  weight: 'bold',
721
721
  },
722
+ headerPretitle: {
723
+ lineHeight: {desktop: 24, mobile: 22},
724
+ size: {desktop: 18, mobile: 16},
725
+ weight: 'regular',
726
+ },
722
727
  indicator: {weight: 'medium'},
723
728
  inputHelperText: {lineHeight: {desktop: 20, mobile: 20}, size: {desktop: 14, mobile: 14}},
724
729
  inputLabel: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
package/src/skins/o2.tsx CHANGED
@@ -715,6 +715,11 @@ export const getO2Skin: GetKnownSkin = () => {
715
715
  size: {desktop: 28, mobile: 20},
716
716
  weight: 'bold',
717
717
  },
718
+ headerPretitle: {
719
+ lineHeight: {desktop: 24, mobile: 24},
720
+ size: {desktop: 18, mobile: 16},
721
+ weight: 'regular',
722
+ },
718
723
  indicator: {weight: 'medium'},
719
724
  inputHelperText: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
720
725
  inputLabel: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
@@ -375,6 +375,7 @@ const textPresets: ToThemeTokens<TextPresetsConfig> = {
375
375
  size: '',
376
376
  weight: '',
377
377
  },
378
+ headerPretitle: {lineHeight: '', size: '', weight: ''},
378
379
  };
379
380
 
380
381
  const spacing: ToThemeTokens<SpacingConfig> = {
@@ -716,6 +716,11 @@ export const getTelefonicaSkin: GetKnownSkin = () => {
716
716
  size: {desktop: 28, mobile: 20},
717
717
  weight: 'regular',
718
718
  },
719
+ headerPretitle: {
720
+ lineHeight: {desktop: 24, mobile: 24},
721
+ size: {desktop: 18, mobile: 16},
722
+ weight: 'regular',
723
+ },
719
724
  indicator: {weight: 'medium'},
720
725
  inputHelperText: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
721
726
  inputLabel: {lineHeight: {desktop: 20, mobile: 16}, size: {desktop: 14, mobile: 12}},
@@ -60,6 +60,7 @@ export type TextPresetsConfig = {
60
60
  cardDescriptionSnap: TextSizeTokenConfig;
61
61
  cardPretitleDefault: TextSizeTokenConfig;
62
62
  cardPretitleSnap: TextSizeTokenConfig;
63
+ headerPretitle: TextTokenConfig;
63
64
  cardSubtitleDefault: TextSizeTokenConfig;
64
65
  cardSubtitleSnap: TextSizeTokenConfig;
65
66
  cardTitleDefault: TextSizeTokenConfig;