@mjsz-vbr-elements/shared 2.32.0 → 2.33.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 (61) hide show
  1. package/assets/css/base/borders.css +8 -0
  2. package/assets/css/base/color.primary.css +17 -0
  3. package/assets/css/base/color.secondary.css +11 -0
  4. package/assets/css/base/ease.css +30 -0
  5. package/assets/css/base/font.css +22 -0
  6. package/assets/css/base/shadow.css +49 -0
  7. package/assets/css/base/sizes.css +21 -0
  8. package/assets/css/components/accordion.css +86 -0
  9. package/assets/css/components/avatar.css +29 -0
  10. package/assets/css/components/badge.css +54 -0
  11. package/assets/css/components/card.css +22 -0
  12. package/assets/css/components/countdown.css +190 -0
  13. package/assets/css/components/definition-list.css +69 -0
  14. package/assets/css/components/double-bar.css +78 -0
  15. package/assets/css/components/error-notice.css +26 -0
  16. package/assets/css/components/floating-content.css +74 -0
  17. package/assets/css/components/form-field.css +74 -0
  18. package/assets/css/components/game-center-game-data.css +91 -0
  19. package/assets/css/components/game-center-timeline.css +665 -0
  20. package/assets/css/components/game-center.css +275 -0
  21. package/assets/css/components/game-item.css +35 -0
  22. package/assets/css/components/games-timeline.css +280 -0
  23. package/assets/css/components/hero.css +51 -0
  24. package/assets/css/components/icon-button.css +30 -0
  25. package/assets/css/components/list.css +138 -0
  26. package/assets/css/components/loading-indicator.css +8 -0
  27. package/assets/css/components/paginator.css +63 -0
  28. package/assets/css/components/playoffs.css +81 -0
  29. package/assets/css/components/progress.css +67 -0
  30. package/assets/css/components/responsive-table.css +13 -0
  31. package/assets/css/components/standings-selector.css +79 -0
  32. package/assets/css/components/table.css +205 -0
  33. package/assets/css/components/tabs.css +111 -0
  34. package/assets/css/components/timezone-selector.css +19 -0
  35. package/assets/css/components/top-list.css +97 -0
  36. package/assets/css/components/typography.css +41 -0
  37. package/assets/css/core/normalize.css +94 -0
  38. package/assets/css/core/utils.css +174 -0
  39. package/assets/css/core.css +22 -0
  40. package/assets/css/theme.css +63 -0
  41. package/dist/icons/index.js +414 -3
  42. package/package.json +8 -9
  43. package/dist/icons/IconArrowDown.js +0 -18
  44. package/dist/icons/IconArrowUp.js +0 -18
  45. package/dist/icons/IconBroadcast.js +0 -39
  46. package/dist/icons/IconChange.js +0 -19
  47. package/dist/icons/IconHockeyPuck.js +0 -19
  48. package/dist/icons/IconLaunch.js +0 -18
  49. package/dist/icons/IconLeft.js +0 -20
  50. package/dist/icons/IconMenu.js +0 -18
  51. package/dist/icons/IconMore.js +0 -34
  52. package/dist/icons/IconRight.js +0 -20
  53. package/dist/icons/IconSheet.js +0 -28
  54. package/dist/icons/IconSort.js +0 -24
  55. package/dist/icons/IconSortAsc.js +0 -24
  56. package/dist/icons/IconSortDesc.js +0 -24
  57. package/dist/icons/IconStar.js +0 -23
  58. package/dist/icons/IconTimer.js +0 -19
  59. package/dist/icons/IconWarning.js +0 -32
  60. package/dist/icons/IconWhistle.js +0 -15
  61. package/dist/icons/IconYoutube.js +0 -21
@@ -0,0 +1,8 @@
1
+ :where(:host) {
2
+ --radius-1: 2px;
3
+ --radius-2: 5px;
4
+ --radius-3: 16px;
5
+ --radius-4: 32px;
6
+ --radius-5: 64px;
7
+ --radius-6: 96px;
8
+ }
@@ -0,0 +1,17 @@
1
+ :where(:host, :root) {
2
+ --mvw-color-white: #fff;
3
+ --mvw-color-black: #000;
4
+
5
+ --mvw-color-primary-0: #ffffff;
6
+ --mvw-color-primary-50: #eceff1;
7
+ --mvw-color-primary-100: #cfd8dc;
8
+ --mvw-color-primary-200: #b0bec5;
9
+ --mvw-color-primary-300: #90a4ae;
10
+ --mvw-color-primary-400: #78909c;
11
+ --mvw-color-primary-500: #607d8b;
12
+ --mvw-color-primary-600: #546e7a;
13
+ --mvw-color-primary-700: #455a64;
14
+ --mvw-color-primary-800: #37474f;
15
+ --mvw-color-primary-900: #263238;
16
+ --mvw-color-primary-950: #182024;
17
+ }
@@ -0,0 +1,11 @@
1
+ :where(:host, :root) {
2
+ --mvw-color-secondary-100: #dcedc8;
3
+ --mvw-color-secondary-200: #badb94;
4
+ --mvw-color-secondary-300: #aed581;
5
+ --mvw-color-secondary-400: #9ccc65;
6
+ --mvw-color-secondary-500: #8bc34a;
7
+ --mvw-color-secondary-700: #689f38;
8
+ --mvw-color-secondary-800: #558b2f;
9
+ --mvw-color-secondary-900: #33691e;
10
+ --mvw-color-secondary-950: #14290c;
11
+ }
@@ -0,0 +1,30 @@
1
+ :where(:host) {
2
+ --ease-spring-1: linear(
3
+ 0,
4
+ 0.009,
5
+ 0.035 2.1%,
6
+ 0.141,
7
+ 0.281 6.7%,
8
+ 0.723 12.9%,
9
+ 0.938 16.7%,
10
+ 1.017,
11
+ 1.077,
12
+ 1.121,
13
+ 1.149 24.3%,
14
+ 1.159,
15
+ 1.163,
16
+ 1.161,
17
+ 1.154 29.9%,
18
+ 1.129 32.8%,
19
+ 1.051 39.6%,
20
+ 1.017 43.1%,
21
+ 0.991,
22
+ 0.977 51%,
23
+ 0.974 53.8%,
24
+ 0.975 57.1%,
25
+ 0.997 69.8%,
26
+ 1.003 76.9%,
27
+ 1.004 83.8%,
28
+ 1
29
+ );
30
+ }
@@ -0,0 +1,22 @@
1
+ :where(:host) {
2
+ --font-size-50: 0.625rem; /* 10px */
3
+ --font-size-100: 0.6875rem; /* 11px */
4
+ --font-size-200: 0.75rem; /* 12px */
5
+ --font-size-300: 0.8125rem; /* 13px */
6
+ --font-size-400: 0.875rem; /* 14px */
7
+ --font-size-500: 1rem; /* 16px */
8
+ --font-size-600: 1.125rem; /* 18px */
9
+ --font-size-700: 1.25rem; /* 20px */
10
+ --font-size-800: 1.5rem; /* 24px */
11
+ --font-size-900: 1.75rem; /* 28px */
12
+ --font-size-950: 2rem; /* 32px */
13
+
14
+ --font-lineheight-50: 0.95;
15
+ --font-lineheight-100: 1;
16
+ --font-lineheight-200: 1.1;
17
+ --font-lineheight-300: 1.25;
18
+ --font-lineheight-400: 1.375;
19
+ --font-lineheight-500: 1.5;
20
+ --font-lineheight-600: 1.75;
21
+ --font-lineheight-700: 2;
22
+ }
@@ -0,0 +1,49 @@
1
+ :where(:host) {
2
+ --shadow-color: 220 3% 15%;
3
+ --shadow-strength: 1%;
4
+ --inner-shadow-highlight: inset 0 -0.5px 0 0 #fff, inset 0 0.5px 0 0 #0001;
5
+ /* --shadow-1: 0 1px 2px -1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
6
+ --shadow-2: 0 3px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
7
+ 0 7px 14px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)); */
8
+ --shadow-3: 0 -1px 3px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%)),
9
+ 0 1px 2px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)),
10
+ 0 2px 5px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
11
+ 0 4px 12px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)),
12
+ 0 12px 15px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));
13
+ /* --shadow-4: 0 -2px 5px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%)),
14
+ 0 1px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
15
+ 0 2px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
16
+ 0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
17
+ 0 9px 9px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)),
18
+ 0 16px 16px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 6%)); */
19
+ /* --shadow-5: 0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%)),
20
+ 0 2px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
21
+ 0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
22
+ 0 10px 10px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
23
+ 0 20px 20px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)),
24
+ 0 40px 40px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%)); */
25
+ --shadow-6: 0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%)),
26
+ 0 3px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
27
+ 0 7px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
28
+ 0 12px 10px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
29
+ 0 22px 18px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)),
30
+ 0 41px 33px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 6%)),
31
+ 0 100px 80px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));
32
+ /* --inner-shadow-0: inset 0 0 0 1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
33
+ --inner-shadow-1: inset 0 1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)),
34
+ var(--inner-shadow-highlight);
35
+ --inner-shadow-2: inset 0 1px 4px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)),
36
+ var(--inner-shadow-highlight);
37
+ --inner-shadow-3: inset 0 2px 8px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)),
38
+ var(--inner-shadow-highlight);
39
+ --inner-shadow-4: inset 0 2px 14px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)),
40
+ var(--inner-shadow-highlight); */
41
+ }
42
+
43
+ @media (prefers-color-scheme: dark) {
44
+ :where(:host) {
45
+ --shadow-color: 220 40% 2%;
46
+ --shadow-strength: 25%;
47
+ --inner-shadow-highlight: inset 0 -0.5px 0 0 #fff1, inset 0 0.5px 0 0 #0007;
48
+ }
49
+ }
@@ -0,0 +1,21 @@
1
+ :where(:host) {
2
+ /* --size-000: -0.5rem;
3
+ --size-00: -0.25rem; */
4
+ --size-1: 1px;
5
+ --size-2: 0.125rem;
6
+ /* --size-3: 3px; */
7
+ --size-4: 0.25rem;
8
+ /* --size-5: 5px; */
9
+ --size-6: 0.375rem;
10
+ /* --size-7: 7px; */
11
+ --size-8: 0.5rem;
12
+ /* --size-9: 9px; */
13
+ --size-10: 0.625rem;
14
+ /* --size-11: 11px; */
15
+ --size-12: 0.75rem;
16
+ /* --size-13: 13px; */
17
+ --size-16: 1rem;
18
+ /* --size-20: 20px; */
19
+ --size-24: 1.5rem;
20
+ --size-32: 2rem;
21
+ }
@@ -0,0 +1,86 @@
1
+ @layer components.variables {
2
+ :where(:host) {
3
+ --mvw-card-color: light-dark(var(--mvw-color-primary-950), var(--mvw-color-primary-200));
4
+ --mvw-card-bg-color: light-dark(var(--mvw-color-white), var(--mvw-color-primary-950));
5
+ --mvw-card-tonal-active-bg-color: light-dark(var(--mvw-color-primary-50), var(--mvw-color-primary-900));
6
+ }
7
+ }
8
+
9
+ @layer components {
10
+ :where(details) {
11
+ --_accordion-transition-time: 0.2s;
12
+ --_bg-color: var(--mvw-card-bg-color);
13
+ --_shadow: none;
14
+
15
+ container-type: inline-size;
16
+ display: block;
17
+ background-color: var(--_bg-color);
18
+ border-radius: var(--radius-2);
19
+ color: var(--mvw-card-color);
20
+ box-shadow: var(--_shadow);
21
+ transition: all var(--_accordion-transition-time) ease-out;
22
+
23
+ @media (prefers-reduced-motion: no-preference) {
24
+ interpolate-size: allow-keywords;
25
+ }
26
+
27
+ &::details-content {
28
+ block-size: 0;
29
+ opacity: 0;
30
+ overflow-y: clip;
31
+ transition:
32
+ content-visibility var(--_accordion-transition-time) allow-discrete,
33
+ opacity var(--_accordion-transition-time),
34
+ block-size var(--_accordion-transition-time);
35
+ }
36
+
37
+ &[open]::details-content {
38
+ block-size: auto;
39
+ opacity: 1;
40
+ }
41
+
42
+ & > summary {
43
+ background-color: inherit;
44
+ cursor: pointer;
45
+ font-weight: 700;
46
+ padding-block: var(--size-16);
47
+ user-select: none;
48
+
49
+ align-items: center;
50
+ display: flex;
51
+ gap: var(--size-8);
52
+ list-style: none;
53
+
54
+ &::marker,
55
+ &::-webkit-details-marker {
56
+ display: none;
57
+ }
58
+
59
+ strong {
60
+ flex: 1;
61
+ }
62
+
63
+ svg {
64
+ transition: rotate 0.8s var(--ease-spring-1, ease);
65
+ }
66
+ }
67
+
68
+ &[open] > summary svg {
69
+ rotate: 180deg;
70
+ }
71
+
72
+ &.elevated {
73
+ --_shadow: var(--shadow-3);
74
+ }
75
+
76
+ &.tonal {
77
+ &[open] {
78
+ background-color: var(--mvw-card-tonal-active-bg-color);
79
+ }
80
+ }
81
+
82
+ &:where(.tonal) > * {
83
+ padding-inline: var(--size-16);
84
+ }
85
+ }
86
+ }
@@ -0,0 +1,29 @@
1
+ @layer components.variables {
2
+ :where(:host) {
3
+ --mvw-avatar-border-color: light-dark(var(--mvw-color-primary-100), var(--mvw-color-primary-700));
4
+ }
5
+ }
6
+
7
+ @layer components {
8
+ :where(.avatar) {
9
+ --_width: 20px;
10
+
11
+ display: inline-flex;
12
+ vertical-align: middle;
13
+ aspect-ratio: 1;
14
+ inline-size: var(--_width);
15
+ justify-content: center;
16
+ overflow: clip;
17
+ position: relative;
18
+ border-radius: 100%;
19
+ border: 1px solid var(--mvw-avatar-border-color);
20
+
21
+ img {
22
+ block-size: 100%;
23
+ inline-size: 100%;
24
+ inset: 0;
25
+ object-fit: cover;
26
+ position: absolute;
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,54 @@
1
+ @layer components {
2
+ :where(.badge) {
3
+ --_bg-color: var(--mvw-bg-muted);
4
+ --_color: var(--mvw-text-muted);
5
+
6
+ padding: var(--size-2) var(--size-4);
7
+ display: inline-flex;
8
+ gap: var(--size-2);
9
+ font-size: var(--font-size-100);
10
+ font-weight: 700;
11
+ line-height: var(--font-lineheight-300);
12
+ color: var(--_color);
13
+ background-color: var(--_bg-color);
14
+ border-radius: var(--radius-2);
15
+
16
+ svg {
17
+ fill: currentColor;
18
+ }
19
+
20
+ /* Variant */
21
+ &.inverted {
22
+ --_bg-color: var(--mvw-bg-inverted);
23
+ --_color: var(--mvw-text-inverted);
24
+ }
25
+
26
+ &.live {
27
+ --_bg-color: var(--mvw-color-live);
28
+ --_color: var(--mvw-color-white);
29
+ }
30
+
31
+ &.error {
32
+ --_bg-color: var(--mvw-color-error);
33
+ --_color: var(--mvw-color-white);
34
+ }
35
+
36
+ &.warning {
37
+ --_bg-color: var(--mvw-color-warning);
38
+ --_color: var(--mvw-color-white);
39
+ }
40
+
41
+ /* Size */
42
+ &.xs {
43
+ font-size: var(--font-size-50);
44
+ }
45
+ &.lg {
46
+ font-size: var(--font-size-300);
47
+ padding: var(--size-4) var(--size-6);
48
+ }
49
+
50
+ & + & {
51
+ margin-inline-start: var(--size-4);
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,22 @@
1
+ @layer components {
2
+ :where(.card) {
3
+ --_border: none;
4
+ --_bg-color: light-dark(var(--mvw-color-white), var(--mvw-color-primary-900));
5
+
6
+ container-type: inline-size;
7
+ container-name: card-wrapper;
8
+
9
+ padding: var(--size-16);
10
+ background-color: var(--_bg-color);
11
+ border: var(--_border);
12
+ border-radius: var(--radius-2);
13
+ box-shadow: var(--shadow-3);
14
+
15
+ &.bordered {
16
+ --_bg-color: light-dark(var(--mvw-color-primary-50), var(--mvw-color-primary-950));
17
+ --_border: 1px solid light-dark(var(--mvw-color-primary-100), var(--mvw-color-primary-900));
18
+ box-shadow: none;
19
+ border-radius: 0;
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,190 @@
1
+ @layer components.variables {
2
+ :where(:host) {
3
+ /* Countdown */
4
+ --mvw-countdown-title-height: calc(var(--size-16) * 2);
5
+ --mvw-countdown-title-bg: light-dark(var(--mvw-color-primary-900), var(--mvw-color-primary-100));
6
+ --mvw-countdown-gamedata-height: calc(var(--size-16) * 4);
7
+ --mvw-countdown-active-color: light-dark(var(--mvw-color-secondary-500), var(--mvw-color-secondary-800));
8
+ --mvw-countdown-gamedata-bg: light-dark(var(--mvw-color-primary-700), var(--mvw-color-primary-300));
9
+ --mvw-countdown-result-bg: light-dark(var(--mvw-color-primary-800), var(--mvw-color-primary-200));
10
+ }
11
+ }
12
+
13
+ @layer components {
14
+ :where(.game-countdown) {
15
+ display: grid;
16
+ grid-template-rows: var(--mvw-countdown-title-height) 1fr var(--mvw-countdown-gamedata-height);
17
+ box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2);
18
+
19
+ .game-countdown-title {
20
+ text-align: center;
21
+ font-size: var(--font-size-400);
22
+ font-weight: 700;
23
+ line-height: var(--mvw-countdown-title-height);
24
+ color: var(--mvw-text-faded);
25
+ background-color: var(--mvw-countdown-title-bg);
26
+ }
27
+
28
+ .game-countdown-container {
29
+ display: grid;
30
+ grid-template-areas: 'stack';
31
+ place-items: center;
32
+ background-color: var(--mvw-countdown-result-bg);
33
+
34
+ > div {
35
+ visibility: hidden;
36
+ }
37
+
38
+ > div.is-visible {
39
+ visibility: visible;
40
+ }
41
+ }
42
+
43
+ .game-countdown-result {
44
+ grid-area: stack;
45
+ display: grid;
46
+ grid-template-columns: 1fr auto 1fr;
47
+ grid-template-areas: 'period period period' 'home-score separator away-score' 'period-results period-results period-results';
48
+ gap: 0 var(--size-8);
49
+ align-items: center;
50
+
51
+ color: var(--mvw-text-dimmed);
52
+ font-weight: 700;
53
+
54
+ .is-separator {
55
+ grid-area: separator;
56
+ /* font-size: 3.125rem; */
57
+ line-height: 1;
58
+ font-size: clamp(2rem, 10vw, 5rem);
59
+ }
60
+
61
+ :is(.is-home-score, .is-away-score) {
62
+ display: flex;
63
+ }
64
+
65
+ .is-home-score {
66
+ grid-area: home-score;
67
+ }
68
+
69
+ .is-away-score {
70
+ grid-area: away-score;
71
+ }
72
+
73
+ .is-period-results {
74
+ grid-area: period-results;
75
+ font-size: var(--font-size-400);
76
+ text-align: center;
77
+ }
78
+
79
+ .is-period {
80
+ grid-area: period;
81
+ font-size: var(--font-size-50);
82
+ font-weight: 700;
83
+ text-align: center;
84
+ text-transform: uppercase;
85
+ }
86
+
87
+ .is-live {
88
+ color: var(--mvw-countdown-active-color);
89
+ }
90
+ }
91
+
92
+ .game-countdown-counter {
93
+ grid-area: stack;
94
+ display: flex;
95
+ gap: var(--size-16);
96
+ justify-content: space-around;
97
+ padding: var(--size-16);
98
+
99
+ font-size: var(--font-size-100);
100
+ font-weight: 700;
101
+ text-transform: uppercase;
102
+ color: var(--mvw-text-dimmed);
103
+
104
+ .is-number {
105
+ color: var(--mvw-countdown-active-color);
106
+ }
107
+ }
108
+
109
+ .game-countdown-gamedata {
110
+ display: grid;
111
+ grid-template-columns: 40px 1fr auto 1fr 40px;
112
+ grid-template-areas: 'home-team-logo game-date game-date game-date away-team-logo' 'home-team-logo home-team separator away-team away-team-logo';
113
+ gap: 0 0.5rem;
114
+ align-content: center;
115
+ align-items: center;
116
+ padding-inline: var(--size-16);
117
+ background-color: var(--mvw-countdown-gamedata-bg);
118
+ font-size: var(--mvw-font-size-500);
119
+ font-weight: 700;
120
+ line-height: var(--font-lineheight-400);
121
+ color: light-dark(var(--mvw-color-primary-50), var(--mvw-color-primary-800));
122
+
123
+ .is-game-date {
124
+ grid-area: game-date;
125
+ text-align: center;
126
+ color: var(--mvw-text-faded);
127
+ font-size: var(--font-size-200);
128
+ }
129
+
130
+ .is-home-team-logo {
131
+ grid-area: home-team-logo;
132
+ }
133
+ .is-away-team-logo {
134
+ grid-area: away-team-logo;
135
+ }
136
+
137
+ :is(.is-home-team, .is-away-team) {
138
+ overflow: hidden;
139
+ text-overflow: ellipsis;
140
+ white-space: nowrap;
141
+ }
142
+
143
+ .is-home-team {
144
+ grid-area: home-team;
145
+ text-align: end;
146
+ }
147
+ .is-away-team {
148
+ grid-area: away-team;
149
+ }
150
+
151
+ .is-separator {
152
+ grid-area: separator;
153
+ text-align: center;
154
+ }
155
+
156
+ img {
157
+ display: block;
158
+ width: 100%;
159
+ aspect-ratio: 1;
160
+ }
161
+ }
162
+
163
+ .is-number {
164
+ display: grid;
165
+ grid-template-areas: 'stack';
166
+ justify-items: center;
167
+ position: relative;
168
+ overflow: hidden;
169
+ mask-image: linear-gradient(to bottom, transparent 0, black 16%, black 84%, transparent 100%);
170
+ animation: 400ms fade-in ease-out;
171
+
172
+ > span {
173
+ grid-area: stack;
174
+ font-size: clamp(3.125rem, 10vw, 5rem);
175
+ line-height: 1;
176
+ font-weight: 700;
177
+ }
178
+
179
+ @keyframes fade-in {
180
+ from {
181
+ opacity: 0;
182
+ }
183
+
184
+ to {
185
+ opacity: 1;
186
+ }
187
+ }
188
+ }
189
+ }
190
+ }
@@ -0,0 +1,69 @@
1
+ @layer components {
2
+ :where(.definition-list) {
3
+ --_border-style: solid;
4
+ --_border-width: 1px;
5
+ --_border-color: var(--mvw-border-muted);
6
+
7
+ display: grid;
8
+ gap: var(--size-8);
9
+ padding: 0;
10
+
11
+ &.dotted {
12
+ --_border-style: dotted;
13
+ --_border-width: 2px;
14
+ }
15
+
16
+ li {
17
+ display: grid;
18
+ margin: 0;
19
+ padding: 0;
20
+
21
+ .term {
22
+ display: block;
23
+ font-weight: 700;
24
+ overflow: hidden;
25
+ position: relative;
26
+ color: var(--mvw-text-muted);
27
+ }
28
+
29
+ hr {
30
+ display: none;
31
+ margin: 0;
32
+ }
33
+ }
34
+
35
+ @container (width > 30ch) {
36
+ gap: var(--size-8);
37
+
38
+ li {
39
+ align-items: baseline;
40
+ display: grid;
41
+ gap: var(--size-8);
42
+ grid-template-columns: 1fr auto;
43
+
44
+ &:has(hr) {
45
+ grid-template-columns: auto 1fr auto;
46
+ }
47
+
48
+ hr {
49
+ background-color: transparent;
50
+ border-block-end: var(--_border-width) var(--_border-style) var(--_border-color);
51
+ block-size: 2px;
52
+ display: block;
53
+ }
54
+
55
+ .term {
56
+ inline-size: max-content;
57
+
58
+ &::after {
59
+ display: inline-block;
60
+ }
61
+ }
62
+ .description {
63
+ color: var(--text-color-2);
64
+ text-align: end;
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,78 @@
1
+ @layer components {
2
+ :where(.double-bar) {
3
+ display: grid;
4
+ grid-template-columns: 0.3fr 1fr 1fr 0.3fr;
5
+ grid-template-areas: 'value-start title title value-end' 'bar-start bar-start bar-end bar-end';
6
+ align-items: center;
7
+
8
+ @media (width > 500px) {
9
+ grid-template-areas: 'title title title title' 'value-start bar-start bar-end value-end';
10
+ }
11
+
12
+ .is-value {
13
+ font-weight: 700;
14
+ color: var(--mvw-text-highlighted);
15
+ }
16
+
17
+ .is-value-start {
18
+ grid-area: value-start;
19
+ padding-inline-end: 0.5rem;
20
+ justify-self: end;
21
+ }
22
+
23
+ .is-value-end {
24
+ grid-area: value-end;
25
+ padding-inline-start: 0.5rem;
26
+ }
27
+
28
+ .is-bar {
29
+ background-color: var(--mvw-bg-muted);
30
+ height: 8px;
31
+ margin-block: 5px;
32
+ }
33
+
34
+ .is-bar-start {
35
+ grid-area: bar-start;
36
+
37
+ display: flex;
38
+ justify-content: flex-end;
39
+ }
40
+
41
+ .is-bar-start--progress {
42
+ background-color: var(--mvw-gamecenter-home-team-identifier-color);
43
+ outline: 1px solid
44
+ light-dark(
45
+ oklch(from var(--mvw-gamecenter-home-team-identifier-color) calc(l - 0.4) c h),
46
+ oklch(from var(--mvw-gamecenter-home-team-identifier-color) calc(l + 0.4) c h)
47
+ );
48
+ outline-offset: -1px;
49
+ height: 100%;
50
+ transition: width 0.3s ease-out;
51
+ }
52
+
53
+ .is-bar-end {
54
+ grid-area: bar-end;
55
+ }
56
+
57
+ .is-bar-end--progress {
58
+ background-color: var(--mvw-gamecenter-away-team-identifier-color);
59
+ outline: 1px solid
60
+ light-dark(
61
+ oklch(from var(--mvw-gamecenter-away-team-identifier-color) calc(l - 0.4) c h),
62
+ oklch(from var(--mvw-gamecenter-away-team-identifier-color) calc(l + 0.4) c h)
63
+ );
64
+ outline-offset: -1px;
65
+ height: 100%;
66
+ }
67
+
68
+ .is-title {
69
+ grid-area: title;
70
+
71
+ justify-self: center;
72
+ font-size: var(--font-size-400);
73
+ font-weight: 700;
74
+ line-height: 1.5rem;
75
+ color: var(--mvw-text-muted);
76
+ }
77
+ }
78
+ }