@telefonica/mistica 16.25.0 → 16.26.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 (190) hide show
  1. package/css/mistica-common.css +618 -42
  2. package/css/mistica.css +1 -1
  3. package/dist/accordion.css-mistica.js +6 -6
  4. package/dist/align.css-mistica.js +1 -1
  5. package/dist/avatar.css-mistica.js +1 -1
  6. package/dist/badge.css-mistica.js +1 -1
  7. package/dist/box.css-mistica.js +13 -13
  8. package/dist/boxed.css-mistica.js +24 -24
  9. package/dist/button-group.css-mistica.js +1 -1
  10. package/dist/button-layout.css-mistica.js +13 -13
  11. package/dist/button.css-mistica.js +16 -16
  12. package/dist/callout.css-mistica.js +5 -5
  13. package/dist/card.css-mistica.js +3 -3
  14. package/dist/carousel.css-mistica.js +6 -6
  15. package/dist/checkbox.css-mistica.js +7 -7
  16. package/dist/chip.css-mistica.js +12 -12
  17. package/dist/circle.css-mistica.js +1 -1
  18. package/dist/community/advanced-data-card.css-mistica.js +6 -6
  19. package/dist/community/blocks.css-mistica.js +1 -1
  20. package/dist/community/example-component.css-mistica.js +1 -1
  21. package/dist/counter.css-mistica.js +1 -1
  22. package/dist/counter.js +13 -13
  23. package/dist/cover-hero.css-mistica.js +3 -3
  24. package/dist/credit-card-number-field.css-mistica.js +3 -3
  25. package/dist/date-field.css-mistica.js +1 -1
  26. package/dist/date-time-picker.css-mistica.js +1 -1
  27. package/dist/dialog.css-mistica.js +4 -4
  28. package/dist/divider.css-mistica.js +2 -2
  29. package/dist/double-field.css-mistica.js +2 -2
  30. package/dist/drawer.css-mistica.js +1 -1
  31. package/dist/empty-state-card.css-mistica.js +1 -1
  32. package/dist/empty-state.css-mistica.js +5 -5
  33. package/dist/fade-in.css-mistica.js +1 -1
  34. package/dist/feedback.css-mistica.js +1 -1
  35. package/dist/fixed-footer-layout.css-mistica.js +4 -4
  36. package/dist/form.css-mistica.js +1 -1
  37. package/dist/grid-layout.css-mistica.js +3 -3
  38. package/dist/grid.css-mistica.js +122 -122
  39. package/dist/header.css-mistica.js +1 -1
  40. package/dist/hero.css-mistica.js +2 -2
  41. package/dist/highlighted-card.css-mistica.js +4 -4
  42. package/dist/horizontal-scroll.css-mistica.js +1 -1
  43. package/dist/icon-button.css-mistica.js +42 -42
  44. package/dist/icons/icon-chevron.css-mistica.js +2 -2
  45. package/dist/icons/icon-error.css-mistica.js +1 -1
  46. package/dist/image.css-mistica.js +3 -3
  47. package/dist/inline.css-mistica.js +10 -10
  48. package/dist/list.css-mistica.js +1 -1
  49. package/dist/list.d.ts +9 -5
  50. package/dist/list.js +82 -78
  51. package/dist/loading-bar.css-mistica.js +1 -1
  52. package/dist/loading-screen.css-mistica.js +4 -4
  53. package/dist/logo.css-mistica.js +5 -5
  54. package/dist/maybe-dismissable.css-mistica.js +1 -1
  55. package/dist/menu.css-mistica.js +12 -12
  56. package/dist/mosaic.css-mistica.js +1 -1
  57. package/dist/navigation-bar.css-mistica.js +16 -16
  58. package/dist/navigation-breadcrumbs.css-mistica.js +1 -1
  59. package/dist/package-version.js +1 -1
  60. package/dist/pin-field.css-mistica.js +1 -1
  61. package/dist/popover.css-mistica.js +1 -1
  62. package/dist/progress-bar.css-mistica.js +4 -4
  63. package/dist/radio-button.css-mistica.js +14 -14
  64. package/dist/rating.css-mistica.js +2 -2
  65. package/dist/responsive-layout.css-mistica.js +4 -4
  66. package/dist/screen-reader-only.css-mistica.js +1 -1
  67. package/dist/select.css-mistica.js +15 -15
  68. package/dist/sheet-action-row.css-mistica.js +1 -1
  69. package/dist/sheet-common.css-mistica.js +1 -1
  70. package/dist/sheet-info.css-mistica.js +1 -1
  71. package/dist/skeletons.css-mistica.js +4 -4
  72. package/dist/skins/skin-contract.css-mistica.js +348 -348
  73. package/dist/slider.css-mistica.js +10 -10
  74. package/dist/snackbar.css-mistica.js +4 -4
  75. package/dist/spinner.css-mistica.js +1 -1
  76. package/dist/stack.css-mistica.js +5 -5
  77. package/dist/stack.d.ts +3 -1
  78. package/dist/stack.js +18 -16
  79. package/dist/stacking-group.css-mistica.js +1 -1
  80. package/dist/stepper.css-mistica.js +2 -2
  81. package/dist/switch-component.css-mistica.js +26 -26
  82. package/dist/table.css-mistica.js +8 -8
  83. package/dist/tabs.css-mistica.js +12 -12
  84. package/dist/tag.css-mistica.js +1 -1
  85. package/dist/text-field-base.css-mistica.js +1 -1
  86. package/dist/text-field-components.css-mistica.js +3 -3
  87. package/dist/text-link.css-mistica.js +5 -5
  88. package/dist/text.css-mistica.js +7 -7
  89. package/dist/theme-context.css-mistica.js +388 -388
  90. package/dist/timeline.css-mistica.js +10 -10
  91. package/dist/timer.css-mistica.js +6 -6
  92. package/dist/tooltip.css-mistica.js +1 -1
  93. package/dist/touchable.css-mistica.js +1 -1
  94. package/dist/utils/aspect-ratio-support.css-mistica.js +3 -3
  95. package/dist/video.css-mistica.js +1 -1
  96. package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  97. package/dist-es/accordion.css-mistica.js +6 -6
  98. package/dist-es/align.css-mistica.js +1 -1
  99. package/dist-es/avatar.css-mistica.js +1 -1
  100. package/dist-es/badge.css-mistica.js +1 -1
  101. package/dist-es/box.css-mistica.js +13 -13
  102. package/dist-es/boxed.css-mistica.js +23 -23
  103. package/dist-es/button-group.css-mistica.js +1 -1
  104. package/dist-es/button-layout.css-mistica.js +13 -13
  105. package/dist-es/button.css-mistica.js +16 -16
  106. package/dist-es/callout.css-mistica.js +5 -5
  107. package/dist-es/card.css-mistica.js +3 -3
  108. package/dist-es/carousel.css-mistica.js +6 -6
  109. package/dist-es/checkbox.css-mistica.js +7 -7
  110. package/dist-es/chip.css-mistica.js +12 -12
  111. package/dist-es/circle.css-mistica.js +1 -1
  112. package/dist-es/community/advanced-data-card.css-mistica.js +6 -6
  113. package/dist-es/community/blocks.css-mistica.js +1 -1
  114. package/dist-es/community/example-component.css-mistica.js +1 -1
  115. package/dist-es/counter.css-mistica.js +1 -1
  116. package/dist-es/counter.js +45 -45
  117. package/dist-es/cover-hero.css-mistica.js +3 -3
  118. package/dist-es/credit-card-number-field.css-mistica.js +3 -3
  119. package/dist-es/date-field.css-mistica.js +1 -1
  120. package/dist-es/date-time-picker.css-mistica.js +1 -1
  121. package/dist-es/dialog.css-mistica.js +4 -4
  122. package/dist-es/divider.css-mistica.js +2 -2
  123. package/dist-es/double-field.css-mistica.js +2 -2
  124. package/dist-es/drawer.css-mistica.js +1 -1
  125. package/dist-es/empty-state-card.css-mistica.js +1 -1
  126. package/dist-es/empty-state.css-mistica.js +5 -5
  127. package/dist-es/fade-in.css-mistica.js +1 -1
  128. package/dist-es/feedback.css-mistica.js +1 -1
  129. package/dist-es/fixed-footer-layout.css-mistica.js +4 -4
  130. package/dist-es/form.css-mistica.js +1 -1
  131. package/dist-es/grid-layout.css-mistica.js +3 -3
  132. package/dist-es/grid.css-mistica.js +122 -122
  133. package/dist-es/header.css-mistica.js +1 -1
  134. package/dist-es/hero.css-mistica.js +2 -2
  135. package/dist-es/highlighted-card.css-mistica.js +4 -4
  136. package/dist-es/horizontal-scroll.css-mistica.js +1 -1
  137. package/dist-es/icon-button.css-mistica.js +42 -42
  138. package/dist-es/icons/icon-chevron.css-mistica.js +2 -2
  139. package/dist-es/icons/icon-error.css-mistica.js +1 -1
  140. package/dist-es/image.css-mistica.js +3 -3
  141. package/dist-es/inline.css-mistica.js +10 -10
  142. package/dist-es/list.css-mistica.js +1 -1
  143. package/dist-es/list.js +83 -79
  144. package/dist-es/loading-bar.css-mistica.js +1 -1
  145. package/dist-es/loading-screen.css-mistica.js +4 -4
  146. package/dist-es/logo.css-mistica.js +5 -5
  147. package/dist-es/maybe-dismissable.css-mistica.js +1 -1
  148. package/dist-es/menu.css-mistica.js +12 -12
  149. package/dist-es/mosaic.css-mistica.js +1 -1
  150. package/dist-es/navigation-bar.css-mistica.js +16 -16
  151. package/dist-es/navigation-breadcrumbs.css-mistica.js +1 -1
  152. package/dist-es/package-version.js +1 -1
  153. package/dist-es/pin-field.css-mistica.js +1 -1
  154. package/dist-es/popover.css-mistica.js +1 -1
  155. package/dist-es/progress-bar.css-mistica.js +4 -4
  156. package/dist-es/radio-button.css-mistica.js +14 -14
  157. package/dist-es/rating.css-mistica.js +2 -2
  158. package/dist-es/responsive-layout.css-mistica.js +4 -4
  159. package/dist-es/screen-reader-only.css-mistica.js +1 -1
  160. package/dist-es/select.css-mistica.js +15 -15
  161. package/dist-es/sheet-action-row.css-mistica.js +1 -1
  162. package/dist-es/sheet-common.css-mistica.js +1 -1
  163. package/dist-es/sheet-info.css-mistica.js +1 -1
  164. package/dist-es/skeletons.css-mistica.js +4 -4
  165. package/dist-es/skins/skin-contract.css-mistica.js +348 -348
  166. package/dist-es/slider.css-mistica.js +10 -10
  167. package/dist-es/snackbar.css-mistica.js +4 -4
  168. package/dist-es/spinner.css-mistica.js +1 -1
  169. package/dist-es/stack.css-mistica.js +5 -5
  170. package/dist-es/stack.js +23 -21
  171. package/dist-es/stacking-group.css-mistica.js +1 -1
  172. package/dist-es/stepper.css-mistica.js +2 -2
  173. package/dist-es/style.css +1 -1
  174. package/dist-es/switch-component.css-mistica.js +26 -26
  175. package/dist-es/table.css-mistica.js +8 -8
  176. package/dist-es/tabs.css-mistica.js +12 -12
  177. package/dist-es/tag.css-mistica.js +1 -1
  178. package/dist-es/text-field-base.css-mistica.js +1 -1
  179. package/dist-es/text-field-components.css-mistica.js +3 -3
  180. package/dist-es/text-link.css-mistica.js +5 -5
  181. package/dist-es/text.css-mistica.js +7 -7
  182. package/dist-es/theme-context.css-mistica.js +388 -388
  183. package/dist-es/timeline.css-mistica.js +10 -10
  184. package/dist-es/timer.css-mistica.js +6 -6
  185. package/dist-es/tooltip.css-mistica.js +1 -1
  186. package/dist-es/touchable.css-mistica.js +1 -1
  187. package/dist-es/utils/aspect-ratio-support.css-mistica.js +3 -3
  188. package/dist-es/video.css-mistica.js +1 -1
  189. package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  190. package/package.json +3 -3
@@ -43,10 +43,19 @@
43
43
  --vcolor-controlActivated: var(--mistica-color-controlActivatedInverse);
44
44
  --vcolor-checkbox-tick: var(--mistica-color-controlKnobInverse);
45
45
  --vcolor-checkbox-background: transparent;
46
+
47
+ --vcolor-inputBorder: var(--mistica-color-backgroundContainer);
48
+
49
+ --vcolor-barTrack: var(--mistica-color-barTrackInverse);
50
+
51
+ --vcolor-switch-trackBackground: transparent;
52
+ --vcolor-switch-handleChecked: var(--mistica-color-controlKnobInverse);
53
+ --vcolor-switch-handleHover: var(--mistica-color-inverse);
46
54
  }
47
55
 
48
56
  [data-mistica-skin] > *,
49
57
  [data-mistica-variant='default'] > *,
58
+ .mistica-boxed > *,
50
59
  .mistica-card > *,
51
60
  .mistica-snap-card > *,
52
61
  .mistica-display-card > * {
@@ -92,6 +101,14 @@
92
101
  --vcolor-controlActivated: var(--mistica-color-controlActivated);
93
102
  --vcolor-checkbox-tick: var(--mistica-color-inverse);
94
103
  --vcolor-checkbox-background: var(--mistica-color-background);
104
+
105
+ --vcolor-inputBorder: var(--mistica-color-inputBorder);
106
+
107
+ --vcolor-barTrack: var(--mistica-color-barTrack);
108
+
109
+ --vcolor-switch-trackBackground: var(--mistica-color-backgroundAlternative);
110
+ --vcolor-switch-handleChecked: var(--mistica-color-inverse);
111
+ --vcolor-switch-handleHover: var(--mistica-color-neutralHigh);
95
112
  }
96
113
 
97
114
  @media (prefers-color-scheme: dark) {
@@ -102,12 +119,20 @@
102
119
  --mistica-boxed-border: none;
103
120
  }
104
121
 
122
+ [data-mistica-variant='inverse'] > * {
123
+ --vcolor-inputBorder: var(--mistica-color-inputBorder);
124
+ }
125
+
105
126
  [data-mistica-color-scheme='light'][data-mistica-skin] > *,
106
127
  [data-mistica-color-scheme='light'] [data-mistica-variant='default'] > *,
107
128
  [data-mistica-color-scheme='light'] .mistica-card > *,
108
129
  [data-mistica-color-scheme='light'] .mistica-snap-card > * {
109
130
  --mistica-boxed-border: 1px solid var(--mistica-color-border);
110
131
  }
132
+
133
+ [data-mistica-color-scheme='light'] [data-mistica-variant='inverse'] > * {
134
+ --vcolor-inputBorder: var(--mistica-color-backgroundContainer);
135
+ }
111
136
  }
112
137
 
113
138
  [data-mistica-color-scheme='dark'][data-mistica-skin] > *,
@@ -117,6 +142,10 @@
117
142
  --mistica-boxed-border: none;
118
143
  }
119
144
 
145
+ [data-mistica-color-scheme='dark'] [data-mistica-variant='inverse'] > * {
146
+ --vcolor-inputBorder: var(--mistica-color-inputBorder);
147
+ }
148
+
120
149
  [data-mistica-skin] {
121
150
  background: var(--mistica-color-background);
122
151
  }
@@ -201,6 +230,7 @@
201
230
  font-size: var(--mistica-font-size-link);
202
231
  line-height: var(--mistica-line-height-link);
203
232
  font-weight: var(--mistica-font-weight-link);
233
+ -webkit-tap-highlight-color: transparent;
204
234
  }
205
235
  .mistica-text-title1 {
206
236
  color: var(--vcolor-textSecondary);
@@ -294,6 +324,7 @@
294
324
  align-items: center;
295
325
  justify-content: center;
296
326
  text-decoration: none;
327
+ -webkit-tap-highlight-color: transparent;
297
328
  }
298
329
  label.mistica-chip {
299
330
  padding: 0;
@@ -340,13 +371,15 @@ label.mistica-chip > span:before {
340
371
  width: 100%;
341
372
  height: 100%;
342
373
  background: transparent;
343
- transition: background-color 0.1s ease-in-out;
374
+ /* transition: background-color 0.1s ease-in-out; */
344
375
  }
345
376
 
346
- button.mistica-chip:hover:before,
347
- a.mistica-chip:hover:before,
348
- label.mistica-chip > input:hover + span:before {
349
- background: var(--mistica-color-backgroundContainerHover);
377
+ @media (pointer: fine) {
378
+ button.mistica-chip:hover:before,
379
+ a.mistica-chip:hover:before,
380
+ label.mistica-chip > input:hover + span:before {
381
+ background: var(--mistica-color-backgroundContainerHover);
382
+ }
350
383
  }
351
384
 
352
385
  button.mistica-chip:active:before,
@@ -383,6 +416,7 @@ label.mistica-chip > input:checked + span {
383
416
  color: inherit;
384
417
  font: inherit;
385
418
  cursor: pointer;
419
+ -webkit-tap-highlight-color: transparent;
386
420
  padding: 0;
387
421
  margin: 0;
388
422
  min-width: 24px;
@@ -451,10 +485,13 @@ label.mistica-chip > input:checked + span {
451
485
  line-height: inherit;
452
486
  font-family: inherit;
453
487
  text-decoration: underline;
488
+ -webkit-tap-highlight-color: transparent;
454
489
  }
455
490
 
456
- .mistica-text-link:hover:not([disabled]) {
457
- text-decoration-thickness: 0.125em;
491
+ @media (pointer: fine) {
492
+ .mistica-text-link:hover:not([disabled]) {
493
+ text-decoration-thickness: 0.125em;
494
+ }
458
495
  }
459
496
 
460
497
  .mistica-text-link[disabled] {
@@ -480,6 +517,7 @@ label.mistica-chip > input:checked + span {
480
517
  line-height: var(--mistica-line-height-1);
481
518
  font-weight: var(--mistica-font-weight-1);
482
519
  color: var(--vcolor-textPrimary);
520
+ -webkit-tap-highlight-color: transparent;
483
521
  }
484
522
 
485
523
  .mistica-breadcrumb li + li::before {
@@ -491,8 +529,10 @@ label.mistica-chip > input:checked + span {
491
529
  content: '';
492
530
  }
493
531
 
494
- .mistica-breadcrumb a:hover {
495
- text-decoration-thickness: 0.125rem;
532
+ @media (pointer: fine) {
533
+ .mistica-breadcrumb a:hover {
534
+ text-decoration-thickness: 0.125rem;
535
+ }
496
536
  }
497
537
 
498
538
  .mistica-breadcrumb li:last-of-type a {
@@ -523,7 +563,7 @@ label.mistica-chip > input:checked + span {
523
563
  text-align: center;
524
564
  text-decoration: none;
525
565
  display: inline-block;
526
- --webkit-tap-highlight-color: transparent;
566
+ -webkit-tap-highlight-color: transparent;
527
567
  transition:
528
568
  background-color 0.1s ease-in-out,
529
569
  color 0.1s ease-in-out,
@@ -544,8 +584,10 @@ label.mistica-chip > input:checked + span {
544
584
  background: var(--vcolor-buttonPrimaryBackground);
545
585
  }
546
586
 
547
- [class^='mistica-button-primary']:hover {
548
- background: var(--vcolor-buttonPrimaryBackgroundHover);
587
+ @media (pointer: fine) {
588
+ [class^='mistica-button-primary']:hover {
589
+ background: var(--vcolor-buttonPrimaryBackgroundHover);
590
+ }
549
591
  }
550
592
 
551
593
  [class^='mistica-button-primary']:active {
@@ -558,8 +600,10 @@ label.mistica-chip > input:checked + span {
558
600
  border-color: var(--vcolor-buttonSecondaryBorder);
559
601
  }
560
602
 
561
- [class^='mistica-button-secondary']:hover {
562
- background: var(--vcolor-buttonSecondaryBackgroundHover);
603
+ @media (pointer: fine) {
604
+ [class^='mistica-button-secondary']:hover {
605
+ background: var(--vcolor-buttonSecondaryBackgroundHover);
606
+ }
563
607
  }
564
608
 
565
609
  [class^='mistica-button-secondary']:active {
@@ -571,8 +615,10 @@ label.mistica-chip > input:checked + span {
571
615
  background: var(--mistica-color-buttonDangerBackground);
572
616
  }
573
617
 
574
- [class^='mistica-button-danger']:hover {
575
- background: var(--mistica-color-buttonDangerBackgroundHover);
618
+ @media (pointer: fine) {
619
+ [class^='mistica-button-danger']:hover {
620
+ background: var(--mistica-color-buttonDangerBackgroundHover);
621
+ }
576
622
  }
577
623
 
578
624
  [class^='mistica-button-danger']:active {
@@ -583,9 +629,10 @@ label.mistica-chip > input:checked + span {
583
629
  color: var(--vcolor-textLink);
584
630
  background: transparent;
585
631
  }
586
-
587
- [class^='mistica-button-link']:hover {
588
- background: var(--vcolor-buttonLinkBackgroundPressed);
632
+ @media (pointer: fine) {
633
+ [class^='mistica-button-link']:hover {
634
+ background: var(--vcolor-buttonLinkBackgroundPressed);
635
+ }
589
636
  }
590
637
 
591
638
  [class^='mistica-button-link']:active {
@@ -617,6 +664,7 @@ label.mistica-chip > input:checked + span {
617
664
  height: auto;
618
665
  transition: background 0.1s ease-in-out;
619
666
  isolation: isolate;
667
+ -webkit-tap-highlight-color: transparent;
620
668
  }
621
669
 
622
670
  @media (min-width: 1024px) {
@@ -648,13 +696,15 @@ label.mistica-chip > input:checked + span {
648
696
  z-index: 1;
649
697
  }
650
698
 
651
- a.mistica-card:hover:after,
652
- a.mistica-snap-card:hover:after,
653
- a.mistica-display-card:hover:after,
654
- button.mistica-card:hover:after,
655
- button.mistica-snap-card:hover:after,
656
- button.mistica-display-card:hover:after {
657
- background: var(--mistica-color-backgroundContainerHover);
699
+ @media (pointer: fine) {
700
+ a.mistica-card:hover:after,
701
+ a.mistica-snap-card:hover:after,
702
+ a.mistica-display-card:hover:after,
703
+ button.mistica-card:hover:after,
704
+ button.mistica-snap-card:hover:after,
705
+ button.mistica-display-card:hover:after {
706
+ background: var(--mistica-color-backgroundContainerHover);
707
+ }
658
708
  }
659
709
 
660
710
  a.mistica-card:active:after,
@@ -669,6 +719,7 @@ button.mistica-display-card:active:after {
669
719
  .mistica-naked-card,
670
720
  .mistica-small-naked-card {
671
721
  text-decoration: none;
722
+ -webkit-tap-highlight-color: transparent;
672
723
  }
673
724
 
674
725
  .mistica-naked-card > *,
@@ -678,11 +729,13 @@ button.mistica-display-card:active:after {
678
729
  filter 0.1s ease-in-out;
679
730
  }
680
731
 
681
- a.mistica-naked-card:hover > *,
682
- button.mistica-naked-card:hover > *,
683
- a.mistica-small-naked-card:hover > *,
684
- button.mistica-small-naked-card:hover > * {
685
- opacity: 0.8;
732
+ @media (pointer: fine) {
733
+ a.mistica-naked-card:hover > *,
734
+ button.mistica-naked-card:hover > *,
735
+ a.mistica-small-naked-card:hover > *,
736
+ button.mistica-small-naked-card:hover > * {
737
+ opacity: 0.8;
738
+ }
686
739
  }
687
740
 
688
741
  a.mistica-naked-card:active > *,
@@ -692,12 +745,14 @@ button.mistica-small-naked-card:active > * {
692
745
  opacity: 0.6;
693
746
  }
694
747
 
695
- a.mistica-naked-card:hover > .mistica-card__media,
696
- button.mistica-naked-card:hover > .mistica-card__media,
697
- a.mistica-small-naked-card:hover > .mistica-card__media,
698
- button.mistica-small-naked-card:hover > .mistica-card__media {
699
- opacity: 1;
700
- filter: brightness(75%);
748
+ @media (pointer: fine) {
749
+ a.mistica-naked-card:hover > .mistica-card__media,
750
+ button.mistica-naked-card:hover > .mistica-card__media,
751
+ a.mistica-small-naked-card:hover > .mistica-card__media,
752
+ button.mistica-small-naked-card:hover > .mistica-card__media {
753
+ opacity: 1;
754
+ filter: brightness(75%);
755
+ }
701
756
  }
702
757
 
703
758
  a.mistica-naked-card:active > .mistica-card__media,
@@ -803,9 +858,11 @@ button.mistica-small-naked-card:active > .mistica-card__media {
803
858
  background: var(--mistica-color-cardContentOverlay);
804
859
  }
805
860
 
806
- a.mistica-display-card:has(.mistica-card__media):hover:after,
807
- button.mistica-display-card:has(.mistica-card__media):hover:after {
808
- background: var(--mistica-color-cardContentOverlay) var(--mistica-color-backgroundContainerHover);
861
+ @media (pointer: fine) {
862
+ a.mistica-display-card:has(.mistica-card__media):hover:after,
863
+ button.mistica-display-card:has(.mistica-card__media):hover:after {
864
+ background: var(--mistica-color-cardContentOverlay) var(--mistica-color-backgroundContainerHover);
865
+ }
809
866
  }
810
867
 
811
868
  a.mistica-display-card:has(.mistica-card__media):active:after,
@@ -929,6 +986,11 @@ button.mistica-display-card:has(.mistica-card__media):active:after {
929
986
  padding: 16px;
930
987
  margin: 0 -16px;
931
988
  transition: background-color 0.1s ease-in-out;
989
+ -webkit-tap-highlight-color: transparent;
990
+ }
991
+
992
+ .mistica-accordion-item__summary::-webkit-details-marker {
993
+ display: none;
932
994
  }
933
995
 
934
996
  .mistica-accordion-item__summary-body {
@@ -963,8 +1025,10 @@ button.mistica-display-card:has(.mistica-card__media):active:after {
963
1025
  color: var(--vcolor-accordionChevronOpen);
964
1026
  }
965
1027
 
966
- .mistica-accordion-item__summary:hover {
967
- background-color: var(--vcolor-accordionHover);
1028
+ @media (pointer: fine) {
1029
+ .mistica-accordion-item__summary:hover {
1030
+ background-color: var(--vcolor-accordionHover);
1031
+ }
968
1032
  }
969
1033
 
970
1034
  .mistica-accordion-item__summary:active {
@@ -1200,6 +1264,93 @@ button.mistica-display-card:has(.mistica-card__media):active:after {
1200
1264
  }
1201
1265
  }
1202
1266
 
1267
+ /* Switch */
1268
+ .mistica-switch {
1269
+ --switch-border-width: 2px;
1270
+ --switch-transition: 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
1271
+ appearance: none;
1272
+ position: relative;
1273
+ width: 52px;
1274
+ height: 32px;
1275
+ border-radius: 16px;
1276
+ background-color: var(--vcolor-switch-trackBackground);
1277
+ border: var(--switch-border-width) solid var(--vcolor-control);
1278
+ padding: 0;
1279
+ margin: 0;
1280
+ box-sizing: border-box;
1281
+ cursor: pointer;
1282
+ -webkit-tap-highlight-color: transparent;
1283
+ transition:
1284
+ background-color var(--switch-transition),
1285
+ border-color var(--switch-transition);
1286
+ }
1287
+
1288
+ /* :after is the switch handle (bolita) */
1289
+ .mistica-switch:after {
1290
+ content: '';
1291
+ position: absolute;
1292
+ top: calc(8px - var(--switch-border-width));
1293
+ left: calc(8px - var(--switch-border-width));
1294
+ width: 16px;
1295
+ height: 16px;
1296
+ border-radius: 50%;
1297
+ background-color: var(--vcolor-control);
1298
+ transition:
1299
+ transform var(--switch-transition),
1300
+ background-color var(--switch-transition);
1301
+ }
1302
+
1303
+ @media (pointer: fine) {
1304
+ .mistica-switch:hover:after {
1305
+ background-color: var(--vcolor-switch-handleHover);
1306
+ }
1307
+ }
1308
+
1309
+ .mistica-switch:checked {
1310
+ background-color: var(--vcolor-controlActivated);
1311
+ border-color: var(--vcolor-controlActivated);
1312
+ }
1313
+ .mistica-switch:checked:after {
1314
+ background-color: var(--vcolor-switch-handleChecked);
1315
+ transform: translateX(20px) scale(1.5);
1316
+ }
1317
+
1318
+ .mistica-switch:active:after {
1319
+ transform: scale(1.75);
1320
+ }
1321
+ .mistica-switch:checked:active:after {
1322
+ transform: translateX(20px) scale(1.75);
1323
+ }
1324
+
1325
+ /* :before is the ripple effect overlay on hover */
1326
+ .mistica-switch:before {
1327
+ content: '';
1328
+ position: absolute;
1329
+ top: calc(-8px + var(--switch-border-width));
1330
+ left: calc(-8px + var(--switch-border-width));
1331
+ width: 40px;
1332
+ height: 40px;
1333
+ border-radius: 50%;
1334
+ background-color: transparent;
1335
+ transition:
1336
+ transform var(--switch-transition),
1337
+ background-color var(--switch-transition);
1338
+ }
1339
+
1340
+ .mistica-switch:checked:before {
1341
+ transform: translateX(20px);
1342
+ }
1343
+
1344
+ @media (pointer: fine) {
1345
+ .mistica-switch:hover:before {
1346
+ background-color: var(--mistica-color-backgroundContainerHover);
1347
+ }
1348
+ }
1349
+
1350
+ .mistica-switch:active:before {
1351
+ background-color: var(--mistica-color-backgroundContainerPressed);
1352
+ }
1353
+
1203
1354
  /* Checkbox */
1204
1355
  .mistica-checkbox {
1205
1356
  appearance: none;
@@ -1217,6 +1368,7 @@ button.mistica-display-card:has(.mistica-card__media):active:after {
1217
1368
  background: var(--vcolor-checkbox-background);
1218
1369
  box-shadow: inset 0 0 0 2px var(--vcolor-control);
1219
1370
  cursor: pointer;
1371
+ -webkit-tap-highlight-color: transparent;
1220
1372
  transition: box-shadow 0.3s;
1221
1373
  }
1222
1374
 
@@ -1257,6 +1409,7 @@ button.mistica-display-card:has(.mistica-card__media):active:after {
1257
1409
  line-height: var(--mistica-line-height-3);
1258
1410
  font-weight: var(--mistica-font-weight-3);
1259
1411
  cursor: pointer;
1412
+ -webkit-tap-highlight-color: transparent;
1260
1413
  }
1261
1414
 
1262
1415
  .mistica-checkbox-label:has(.mistica-checkbox:disabled) {
@@ -1267,3 +1420,426 @@ button.mistica-display-card:has(.mistica-card__media):active:after {
1267
1420
  .mistica-checkbox-label:has(.mistica-checkbox:disabled) > .mistica-checkbox {
1268
1421
  opacity: initial; /* avoid applying 0.5 opacity twice */
1269
1422
  }
1423
+
1424
+ /* Counter */
1425
+
1426
+ .mistica-counter {
1427
+ border-radius: var(--mistica-border-radius-button);
1428
+ background: var(--mistica-color-backgroundContainer);
1429
+ display: inline-flex;
1430
+ gap: 8px;
1431
+ overflow: hidden;
1432
+ border: 1px solid var(--vcolor-inputBorder);
1433
+ }
1434
+
1435
+ .mistica-counter input {
1436
+ width: 3.75ch;
1437
+ background: transparent;
1438
+ border: none;
1439
+ appearance: none;
1440
+ font-size: var(--mistica-font-size-3);
1441
+ line-height: var(--mistica-line-height-3);
1442
+ font-weight: 400;
1443
+ caret-color: var(--mistica-color-textActivated);
1444
+ color: var(--mistica-color-textPrimary);
1445
+ text-overflow: ellipsis;
1446
+ outline: none;
1447
+ box-shadow: none;
1448
+ text-align: center;
1449
+ -moz-appearance: textfield;
1450
+ }
1451
+
1452
+ .mistica-counter__button {
1453
+ user-select: none;
1454
+ isolation: isolate;
1455
+ position: relative;
1456
+ display: flex;
1457
+ justify-content: center;
1458
+ align-items: center;
1459
+ background: transparent;
1460
+ border: none;
1461
+ color: var(--mistica-color-controlActivated);
1462
+ cursor: pointer;
1463
+ width: 40px;
1464
+ height: 40px;
1465
+ -webkit-tap-highlight-color: transparent;
1466
+ }
1467
+
1468
+ .mistica-counter__button svg {
1469
+ z-index: 1;
1470
+ }
1471
+
1472
+ .mistica-counter__button:before {
1473
+ z-index: 0;
1474
+ content: '';
1475
+ display: block;
1476
+ position: absolute;
1477
+ left: 3px;
1478
+ top: 3px;
1479
+ right: 3px;
1480
+ bottom: 3px;
1481
+ border-radius: var(--mistica-border-radius-button);
1482
+ background: var(--mistica-color-brandLow);
1483
+ transform: scale(0);
1484
+ transition:
1485
+ transform 0.2s ease-in-out,
1486
+ background 0.1s ease-in-out;
1487
+ }
1488
+
1489
+ @media (pointer: coarse) {
1490
+ .mistica-counter__button:before {
1491
+ transition: none;
1492
+ }
1493
+ }
1494
+
1495
+ @media (pointer: fine) {
1496
+ .mistica-counter__button:hover:not(:disabled):before {
1497
+ transform: scale(1);
1498
+ }
1499
+ }
1500
+
1501
+ .mistica-counter__button:active:not(:disabled):before {
1502
+ transform: scale(1.06);
1503
+ }
1504
+
1505
+ .mistica-counter__button:disabled {
1506
+ cursor: default;
1507
+ color: var(--mistica-color-control);
1508
+ }
1509
+
1510
+ /* Slider */
1511
+
1512
+ .mistica-slider {
1513
+ --slider-thumb-position: 50%;
1514
+ isolation: isolate;
1515
+ position: relative;
1516
+ appearance: none;
1517
+ -webkit-appearance: none;
1518
+ background: transparent;
1519
+ height: 20px;
1520
+ outline: none;
1521
+ margin: 0;
1522
+ cursor: pointer;
1523
+ -webkit-tap-highlight-color: transparent;
1524
+ }
1525
+
1526
+ .mistica-slider::-webkit-slider-thumb {
1527
+ position: relative;
1528
+ z-index: 1;
1529
+ appearance: none;
1530
+ background: var(--vcolor-controlActivated);
1531
+ width: 20px;
1532
+ height: 20px;
1533
+ cursor: grab;
1534
+ border-radius: 50%;
1535
+ transition: box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
1536
+ box-shadow: none;
1537
+ }
1538
+
1539
+ .mistica-slider::-moz-range-thumb {
1540
+ position: relative;
1541
+ z-index: 1;
1542
+ background: var(--vcolor-controlActivated);
1543
+ width: 20px;
1544
+ height: 20px;
1545
+ cursor: grab;
1546
+ border-radius: 50%;
1547
+ transition: box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
1548
+ border: none; /*Removes extra border that FF applies*/
1549
+ }
1550
+
1551
+ @media (pointer: fine) {
1552
+ .mistica-slider::-webkit-slider-thumb:hover {
1553
+ box-shadow: 0 0 0 4px rgba(from var(--vcolor-controlActivated) r g b / 0.2);
1554
+ }
1555
+ .mistica-slider::-moz-range-thumb:hover {
1556
+ box-shadow: 0 0 0 4px rgba(from var(--vcolor-controlActivated) r g b / 0.2);
1557
+ }
1558
+ }
1559
+
1560
+ .mistica-slider:active::-webkit-slider-thumb,
1561
+ .mistica-slider:focus-visible::-webkit-slider-thumb {
1562
+ cursor: grabbing;
1563
+ box-shadow: 0 0 0 8px rgba(from var(--vcolor-controlActivated) r g b / 0.2);
1564
+ }
1565
+
1566
+ .mistica-slider:active::-moz-range-thumb,
1567
+ .mistica-slider:focus-visible::-moz-range-thumb {
1568
+ cursor: grabbing;
1569
+ box-shadow: 0 0 0 8px rgba(from var(--vcolor-controlActivated) r g b / 0.2);
1570
+ }
1571
+
1572
+ .mistica-slider::before {
1573
+ content: '';
1574
+ position: absolute;
1575
+ z-index: 0;
1576
+ top: 50%;
1577
+ left: 0;
1578
+ width: 100%;
1579
+ height: 4px;
1580
+ margin-top: -2px;
1581
+ border-radius: var(--mistica-border-radius-bar);
1582
+ background: linear-gradient(
1583
+ to right,
1584
+ var(--vcolor-controlActivated) var(--slider-thumb-position),
1585
+ var(--vcolor-barTrack) var(--slider-thumb-position)
1586
+ );
1587
+ }
1588
+
1589
+ .mistica-slider::-moz-range-track {
1590
+ position: absolute;
1591
+ z-index: 0;
1592
+ top: 50%;
1593
+ left: 0;
1594
+ width: 100%;
1595
+ height: 4px;
1596
+ margin-top: -2px;
1597
+ border-radius: var(--mistica-border-radius-bar);
1598
+ background: linear-gradient(
1599
+ to right,
1600
+ var(--vcolor-controlActivated) var(--slider-thumb-position),
1601
+ var(--vcolor-barTrack) var(--slider-thumb-position)
1602
+ );
1603
+ }
1604
+
1605
+ /* FeedbackScreen */
1606
+
1607
+ @keyframes mistica-animation-shake {
1608
+ 10%,
1609
+ 90% {
1610
+ transform: translateX(3px);
1611
+ }
1612
+ 20%,
1613
+ 80% {
1614
+ transform: translateX(6px);
1615
+ }
1616
+ 30%,
1617
+ 50%,
1618
+ 70% {
1619
+ transform: translateX(0);
1620
+ }
1621
+ 40%,
1622
+ 60% {
1623
+ transform: translateX(8px);
1624
+ }
1625
+ }
1626
+
1627
+ @keyframes mistica-animation-text-appear {
1628
+ 0% {
1629
+ opacity: 0;
1630
+ transform: translateY(var(--text-appear-distance));
1631
+ }
1632
+ 100% {
1633
+ opacity: 1;
1634
+ transform: translateY(0);
1635
+ }
1636
+ }
1637
+
1638
+ .mistica-feedback-screen {
1639
+ --text-animation: mistica-animation-text-appear 1s both cubic-bezier(0.215, 0.61, 0.355, 1);
1640
+ --text-appear-distance: 16px;
1641
+ padding: 64px 0 16px;
1642
+ }
1643
+
1644
+ @media (min-width: 1024px) {
1645
+ .mistica-feedback-screen {
1646
+ --text-appear-distance: 40px;
1647
+ margin-top: 64px;
1648
+ border-radius: var(--mistica-border-radius-legacyDisplay);
1649
+ border: var(--mistica-boxed-border);
1650
+ background: var(--mistica-color-backgroundContainer);
1651
+ padding: 64px;
1652
+ }
1653
+
1654
+ .mistica-feedback-screen > .mistica-fixed-footer-buttons {
1655
+ margin-top: 40px;
1656
+ }
1657
+ }
1658
+
1659
+ @media (max-width: 1023px) {
1660
+ .mistica-feedback-screen {
1661
+ /* Space for fixed buttons */
1662
+ padding-bottom: 142px;
1663
+ }
1664
+ }
1665
+
1666
+ .mistica-feedback-screen__asset {
1667
+ --asset-animation: mistica-animation-shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
1668
+ width: 48px;
1669
+ height: 48px;
1670
+ margin-bottom: 24px;
1671
+ }
1672
+
1673
+ .mistica-feedback-screen__asset-error-inside {
1674
+ animation: var(--asset-animation);
1675
+ animation-delay: 0.8s;
1676
+ }
1677
+
1678
+ .mistica-feedback-screen__asset-error-outside {
1679
+ animation: var(--asset-animation);
1680
+ animation-delay: 0.84s;
1681
+ }
1682
+
1683
+ .mistica-feedback-screen__title {
1684
+ font-size: var(--mistica-font-size-6);
1685
+ line-height: var(--mistica-line-height-6);
1686
+ font-weight: var(--mistica-font-weight-6);
1687
+ color: var(--mistica-color-textPrimary);
1688
+ animation: var(--text-animation);
1689
+ animation-delay: 0.6s;
1690
+ }
1691
+
1692
+ .mistica-feedback-screen__description {
1693
+ margin-top: 16px;
1694
+ font-size: var(--mistica-font-size-3);
1695
+ line-height: var(--mistica-line-height-3);
1696
+ font-weight: 400;
1697
+ color: var(--mistica-color-textSecondary);
1698
+ animation: var(--text-animation);
1699
+ animation-delay: 0.8s;
1700
+ }
1701
+
1702
+ .mistica-feedback-screen__slot {
1703
+ margin-top: 16px;
1704
+ animation: var(--text-animation);
1705
+ color: var(--mistica-color-textSecondary);
1706
+ animation-delay: 1s;
1707
+ }
1708
+
1709
+ .mistica-fixed-footer-buttons {
1710
+ display: flex;
1711
+ gap: 16px;
1712
+ }
1713
+
1714
+ @media (max-width: 1023px) {
1715
+ .mistica-fixed-footer,
1716
+ .mistica-fixed-footer-buttons {
1717
+ position: fixed;
1718
+ bottom: 0;
1719
+ left: 0;
1720
+ right: 0;
1721
+ background: var(--mistica-color-background);
1722
+ box-shadow: 0 -2px 8px 0 rgba(0, 0, 0, 0.1);
1723
+ }
1724
+
1725
+ .mistica-fixed-footer-buttons {
1726
+ padding: 16px;
1727
+ display: flex;
1728
+ flex-direction: column;
1729
+ gap: 16px;
1730
+ }
1731
+ }
1732
+
1733
+ @media (min-width: 768px) and (max-width: 1023px) {
1734
+ .mistica-fixed-footer-buttons {
1735
+ padding: 32px 24px;
1736
+ }
1737
+ }
1738
+
1739
+ /* TextField */
1740
+ .mistica-text-field {
1741
+ --border-width: 1px;
1742
+ --vertical-padding: calc(8px - var(--border-width));
1743
+ --gap: 12px;
1744
+ --right-padding: calc(16px - var(--border-width));
1745
+ --shrinked-label-line-height: 1.25rem;
1746
+ --label-scale: 1;
1747
+ --icon-size: 1.5rem;
1748
+ position: relative;
1749
+ overflow: hidden;
1750
+ border-radius: var(--mistica-border-radius-input);
1751
+ border: var(--border-width) solid var(--mistica-color-inputBorder);
1752
+ width: 328px;
1753
+ background: var(--mistica-color-backgroundContainer);
1754
+ color: var(--mistica-color-textPrimary);
1755
+ }
1756
+
1757
+ @media (max-width: 1023px) {
1758
+ .mistica-text-field {
1759
+ --shrinked-label-line-height: 1rem;
1760
+ width: 100%;
1761
+ }
1762
+ }
1763
+
1764
+ .mistica-text-field > * {
1765
+ --start-icon-size: 0px;
1766
+ --left-padding: calc(12px - var(--border-width) + var(--start-icon-size));
1767
+ }
1768
+
1769
+ .mistica-text-field .mistica-text-field__start-icon ~ * {
1770
+ --start-icon-size: calc(var(--icon-size) + var(--gap));
1771
+ }
1772
+
1773
+ .mistica-text-field__start-icon {
1774
+ width: var(--icon-size);
1775
+ height: var(--icon-size);
1776
+ position: absolute;
1777
+ top: calc(50% - var(--icon-size) / 2);
1778
+ left: 12px;
1779
+ color: var(--mistica-color-neutralHigh);
1780
+ margin-right: var(--gap);
1781
+ pointer-events: none;
1782
+ }
1783
+
1784
+ .mistica-text-field > label {
1785
+ position: absolute;
1786
+ left: var(--left-padding);
1787
+ top: var(--vertical-padding);
1788
+ pointer-events: none;
1789
+ transform-origin: 0 0;
1790
+ font-size: var(--mistica-font-size-3);
1791
+ line-height: var(--mistica-line-height-3);
1792
+ width: calc(100% - var(--left-padding) - var(--right-padding));
1793
+ transform: translateY(calc(var(--shrinked-label-line-height) / 2));
1794
+ transition:
1795
+ transform 150ms,
1796
+ width 150ms;
1797
+ color: var(--mistica-color-textSecondary);
1798
+ -webkit-line-clamp: 1;
1799
+ overflow: hidden;
1800
+ display: -webkit-box;
1801
+ -webkit-box-orient: vertical;
1802
+ }
1803
+
1804
+ .mistica-text-field:focus-within > label,
1805
+ .mistica-text-field > input:not(:placeholder-shown) + label {
1806
+ --label-scale: 0.75;
1807
+ transform: translateY(0) scale(var(--label-scale));
1808
+ line-height: calc(var(--shrinked-label-line-height) / var(--label-scale));
1809
+ width: calc((100% - var(--left-padding) - var(--right-padding)) / var(--label-scale));
1810
+ color: var(--mistica-color-textActivated);
1811
+ }
1812
+
1813
+ .mistica-text-field > input {
1814
+ width: 100%;
1815
+ background: transparent;
1816
+ border: none;
1817
+ appearance: none;
1818
+ font-size: var(--mistica-font-size-3);
1819
+ line-height: var(--mistica-line-height-3);
1820
+ font-weight: 400;
1821
+ padding: calc(var(--vertical-padding) + var(--shrinked-label-line-height)) var(--right-padding)
1822
+ var(--vertical-padding) var(--left-padding);
1823
+ caret-color: var(--mistica-color-textActivated);
1824
+ color: inherit;
1825
+ border-radius: calc(var(--mistica-border-radius-input) - var(--border-width));
1826
+ text-overflow: ellipsis;
1827
+ outline: none;
1828
+ box-shadow: none;
1829
+ }
1830
+
1831
+ .mistica-text-field > input::placeholder {
1832
+ opacity: 0;
1833
+ transition: opacity 150ms cubic-bezier(0, 0, 0.2, 1) 0ms;
1834
+ }
1835
+
1836
+ .mistica-text-field > input:focus::placeholder {
1837
+ opacity: 0.5;
1838
+ }
1839
+
1840
+ .mistica-text-field > input::-webkit-search-cancel-button {
1841
+ appearance: none;
1842
+ }
1843
+ .mistica-text-field > input::-webkit-search-decoration {
1844
+ appearance: none;
1845
+ }