@undrr/undrr-mangrove 1.8.2 → 2.0.0-alpha.2
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.
- package/components/BookCard.js +2 -2
- package/components/BookCard.js.LICENSE.txt +1 -1
- package/components/Breadcrumbs.js +3 -2
- package/components/Checkbox.js +3 -2
- package/components/Chips.js +3 -2
- package/components/CtaButton.js +3 -2
- package/components/EmbedContainer.js +3 -2
- package/components/Footer.js +2 -2
- package/components/Footer.js.LICENSE.txt +1 -1
- package/components/FormAction.js +6 -0
- package/components/FormAction.js.LICENSE.txt +9 -0
- package/components/FormErrorSummary.js +3 -2
- package/components/FormGroup.js +3 -2
- package/components/FullWidth.js +3 -2
- package/components/Gallery.js +2 -2
- package/components/Gallery.js.LICENSE.txt +1 -1
- package/components/Hero.js +2 -2
- package/components/Hero.js.LICENSE.txt +1 -1
- package/components/HighlightBox.js +3 -2
- package/components/HorizontalBookCard.js +2 -2
- package/components/HorizontalBookCard.js.LICENSE.txt +1 -1
- package/components/HorizontalCard.js +2 -2
- package/components/HorizontalCard.js.LICENSE.txt +1 -1
- package/components/IconCard.js +2 -2
- package/components/IconCard.js.LICENSE.txt +1 -1
- package/components/Loader.js +3 -2
- package/components/MegaMenu.js +2 -2
- package/components/MegaMenu.js.LICENSE.txt +1 -1
- package/components/PageHeader.js +3 -2
- package/components/Pager.js +2 -2
- package/components/Pager.js.LICENSE.txt +1 -1
- package/components/QuoteHighlight.js +3 -2
- package/components/Radio.js +3 -2
- package/components/ScrollContainer.js +3 -2
- package/components/Select.js +3 -2
- package/components/ShareButtons.js +2 -2
- package/components/ShareButtons.js.LICENSE.txt +1 -1
- package/components/ShowMore.js +3 -2
- package/components/StatsCard.js +2 -2
- package/components/StatsCard.js.LICENSE.txt +10 -0
- package/components/SyndicationSearchWidget.js +2 -2
- package/components/SyndicationSearchWidget.js.LICENSE.txt +1 -1
- package/components/Tab.js +3 -2
- package/components/TextCta.js +2 -2
- package/components/TextCta.js.LICENSE.txt +10 -0
- package/components/TextInput.js +3 -2
- package/components/Textarea.js +3 -2
- package/components/UserFeedback.js +6 -0
- package/components/UserFeedback.js.LICENSE.txt +9 -0
- package/components/VerticalCard.js +2 -2
- package/components/VerticalCard.js.LICENSE.txt +1 -1
- package/components/hydrate.js +1 -1
- package/css/style-all.css +422 -0
- package/css/style-all.css.map +1 -0
- package/css/style-delta.css +122 -171
- package/css/style-delta.css.map +1 -1
- package/css/style-gutenberg.css +55 -89
- package/css/style-gutenberg.css.map +1 -1
- package/css/style-irp.css +122 -161
- package/css/style-irp.css.map +1 -1
- package/css/style-mcr.css +122 -161
- package/css/style-mcr.css.map +1 -1
- package/css/style-preventionweb.css +122 -161
- package/css/style-preventionweb.css.map +1 -1
- package/css/style.css +121 -154
- package/css/style.css.map +1 -1
- package/package.json +2 -2
- package/scss/Atom/BaseTypography/Abbr/abbr.scss +1 -1
- package/scss/Atom/BaseTypography/Code/code.scss +41 -36
- package/scss/Atom/BaseTypography/Mark/mark.scss +2 -2
- package/scss/Atom/Images/AuthorImage/author-image.scss +8 -8
- package/scss/Atom/Images/ImageCaptionCredit/image-caption-credit.scss +9 -9
- package/scss/Atom/Layout/Container/container.scss +2 -4
- package/scss/Atom/Layout/Grid/grid.scss +15 -15
- package/scss/Atom/Navigation/MenuItems/menu-items.scss +10 -3
- package/scss/Atom/ReachElement/Details/details.scss +44 -39
- package/scss/Atom/Table/table.scss +22 -10
- package/scss/Atom/Tag/tag.scss +32 -32
- package/scss/Components/Boilerplate/boilerplate.scss +7 -7
- package/scss/Components/Breadcrumbs/breadcrumbs.scss +9 -9
- package/scss/Components/Buttons/Chips/chips.scss +63 -23
- package/scss/Components/Buttons/CtaButton/cta-button.scss +142 -20
- package/scss/Components/Buttons/ShareButtons/share-buttons.scss +16 -16
- package/scss/Components/Cards/Card/card.scss +77 -50
- package/scss/Components/Cards/StatsCard/stats-card.scss +32 -34
- package/scss/Components/CookieConsentBanner/cookie-consent-banner.scss +75 -74
- package/scss/Components/ErrorPages/error-pages.scss +9 -9
- package/scss/Components/Footer/footer.scss +12 -12
- package/scss/Components/Forms/FormAction/form-action.scss +50 -0
- package/scss/Components/Forms/FormGroup/form-group.scss +18 -7
- package/scss/Components/Forms/Select/select.scss +1 -1
- package/scss/Components/Forms/TextInput/text-input.scss +1 -1
- package/scss/Components/Forms/_form-base.scss +68 -61
- package/scss/Components/Gallery/gallery.scss +71 -70
- package/scss/Components/Hero/hero.scss +241 -74
- package/scss/Components/HighlightBox/highlight-box.scss +3 -3
- package/scss/Components/MegaMenu/mega-menu.scss +73 -76
- package/scss/Components/OnThisPageNav/on-this-page-nav.scss +36 -37
- package/scss/Components/PageHeader/page-header.scss +7 -7
- package/scss/Components/Pager/pager.scss +85 -62
- package/scss/Components/PreviewAccess/preview-access.scss +35 -35
- package/scss/Components/QuoteHighlight/quote-highlight.scss +32 -32
- package/scss/Components/ScrollContainer/scroll-container.scss +52 -32
- package/scss/Components/Snackbar/snackbar.scss +24 -31
- package/scss/Components/SyndicationSearchWidget/syndication-search-widget.scss +147 -139
- package/scss/Components/Tab/tab.scss +215 -34
- package/scss/Components/TableOfContents/table-of-contents.scss +6 -6
- package/scss/Components/TextCta/text-cta.scss +69 -23
- package/scss/Components/UserFeedback/user-feedback.scss +69 -0
- package/scss/Molecules/ImageCaption/image-caption.scss +16 -16
- package/scss/Molecules/SectionHeader/section-header.scss +1 -1
- package/scss/Utilities/FullWidth/full-width.scss +1 -1
- package/scss/Utilities/Loader/loader.scss +4 -4
- package/scss/assets/scss/_components.scss +3 -2
- package/scss/assets/scss/_foundational.scss +44 -26
- package/scss/assets/scss/_mixins.scss +34 -1
- package/scss/assets/scss/_theme-delta.scss +68 -0
- package/scss/assets/scss/_theme-irp.scss +39 -0
- package/scss/assets/scss/_theme-mcr.scss +56 -0
- package/scss/assets/scss/_theme-preventionweb.scss +37 -0
- package/scss/assets/scss/_utility.scss +112 -112
- package/scss/assets/scss/_variables.scss +358 -354
- package/scss/assets/scss/style-all.scss +19 -0
- package/scss/assets/scss/style-delta.scss +1 -1
- package/scss/assets/scss/style-irp.scss +1 -1
- package/scss/assets/scss/style-mcr.scss +1 -1
- package/scss/assets/scss/style-preventionweb.scss +1 -1
- package/css/style-irp-legacy.css +0 -476
- package/css/style-irp-legacy.css.map +0 -1
- package/css/style-legacy.css +0 -469
- package/css/style-legacy.css.map +0 -1
- package/css/style-mcr-legacy.css +0 -476
- package/css/style-mcr-legacy.css.map +0 -1
- package/css/style-preventionweb-legacy.css +0 -476
- package/css/style-preventionweb-legacy.css.map +0 -1
- package/scss/Components/Forms/_form-legacy.scss +0 -152
- package/scss/Components/Pagination/pagination.scss +0 -112
- package/scss/assets/scss/_variables-delta.scss +0 -110
- package/scss/assets/scss/_variables-irp.scss +0 -50
- package/scss/assets/scss/_variables-mcr.scss +0 -65
- package/scss/assets/scss/_variables-preventionweb.scss +0 -48
- package/scss/assets/scss/style-irp-legacy.scss +0 -20
- package/scss/assets/scss/style-legacy.scss +0 -20
- package/scss/assets/scss/style-mcr-legacy.scss +0 -20
- package/scss/assets/scss/style-preventionweb-legacy.scss +0 -20
|
@@ -17,19 +17,38 @@
|
|
|
17
17
|
align-items: center;
|
|
18
18
|
background: transparent;
|
|
19
19
|
display: flex;
|
|
20
|
-
font-family: $mg-font-family
|
|
21
|
-
font-size:
|
|
20
|
+
font-family: $mg-font-family;
|
|
21
|
+
font-size: var(--mg-font-size-button);
|
|
22
22
|
font-weight: 600;
|
|
23
23
|
line-height: 1;
|
|
24
|
-
border-radius:
|
|
25
|
-
color:
|
|
24
|
+
border-radius: var(--mg-radius-button);
|
|
25
|
+
color: rgb(var(--mg-color-button));
|
|
26
26
|
cursor: pointer;
|
|
27
27
|
justify-content: center;
|
|
28
|
-
padding:
|
|
29
|
-
border:
|
|
28
|
+
padding: var(--mg-padding-button);
|
|
29
|
+
border: var(--mg-border-width-button) solid var(--mg-border-color-button);
|
|
30
|
+
|
|
31
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
32
|
+
transition:
|
|
33
|
+
background-color 200ms ease,
|
|
34
|
+
border-color 200ms ease,
|
|
35
|
+
color 200ms ease,
|
|
36
|
+
scale var(--mg-motion-duration-fast) var(--mg-motion-easing-standard);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&:active:not(.disabled) {
|
|
40
|
+
scale: 0.96;
|
|
41
|
+
}
|
|
30
42
|
|
|
43
|
+
// Visible, token-driven focus ring. A neutral separator ring plus a
|
|
44
|
+
// focus-coloured ring reads clearly on any button background (unlike a
|
|
45
|
+
// same-colour glow), follows the button's border-radius, and is not clipped
|
|
46
|
+
// by overflow like an outline can be.
|
|
31
47
|
&:focus-visible {
|
|
32
|
-
box-shadow:
|
|
48
|
+
box-shadow:
|
|
49
|
+
0 0 0 var(--mg-focus-ring-offset) rgb(var(--mg-color-neutral-0)),
|
|
50
|
+
0 0 0 calc(var(--mg-focus-ring-offset) + var(--mg-focus-ring-width))
|
|
51
|
+
rgb(var(--mg-color-focus-ring));
|
|
33
52
|
outline: 0;
|
|
34
53
|
}
|
|
35
54
|
|
|
@@ -38,41 +57,144 @@
|
|
|
38
57
|
}
|
|
39
58
|
}
|
|
40
59
|
|
|
41
|
-
.mg-
|
|
42
|
-
|
|
60
|
+
.mg-buttons {
|
|
61
|
+
align-items: center;
|
|
62
|
+
display: flex;
|
|
63
|
+
flex-wrap: wrap;
|
|
64
|
+
gap: var(--mg-spacing-75);
|
|
43
65
|
}
|
|
44
66
|
|
|
45
67
|
button {
|
|
46
68
|
&:focus-visible {
|
|
47
|
-
box-shadow: 0 0 4px
|
|
69
|
+
box-shadow: 0 0 4px rgb(var(--mg-color-button-background));
|
|
48
70
|
outline: 0;
|
|
49
71
|
}
|
|
50
72
|
}
|
|
51
73
|
|
|
52
74
|
.mg-button-primary {
|
|
53
|
-
background-color:
|
|
75
|
+
background-color: rgb(var(--mg-color-button-background));
|
|
54
76
|
|
|
55
77
|
&:hover {
|
|
56
|
-
color:
|
|
57
|
-
background-color:
|
|
78
|
+
color: rgb(var(--mg-color-button));
|
|
79
|
+
background-color: rgb(var(--mg-color-button-background--hover));
|
|
58
80
|
}
|
|
59
81
|
}
|
|
60
82
|
|
|
61
83
|
.mg-button-secondary {
|
|
62
|
-
background-color:
|
|
84
|
+
background-color: rgb(var(--mg-color-button-secondary-background));
|
|
85
|
+
|
|
86
|
+
&:hover {
|
|
87
|
+
color: rgb(var(--mg-color-button));
|
|
88
|
+
background-color: rgb(var(--mg-color-button-secondary-background--hover));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// The outline modifier composes with the existing emphasis variants:
|
|
93
|
+
// .mg-button.mg-button-primary.mg-button-outline or
|
|
94
|
+
// .mg-button.mg-button-secondary.mg-button-outline.
|
|
95
|
+
.mg-button-outline {
|
|
96
|
+
background-color: transparent;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.mg-button-primary.mg-button-outline {
|
|
100
|
+
border-color: rgb(var(--mg-color-button-outline-primary));
|
|
101
|
+
color: rgb(var(--mg-color-button-outline-primary));
|
|
63
102
|
|
|
64
103
|
&:hover {
|
|
65
|
-
color:
|
|
66
|
-
|
|
104
|
+
background-color: rgb(var(--mg-color-button-outline-primary--hover));
|
|
105
|
+
color: rgb(var(--mg-color-button));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.mg-button-secondary.mg-button-outline {
|
|
110
|
+
border-color: rgb(var(--mg-color-button-outline-secondary));
|
|
111
|
+
color: rgb(var(--mg-color-button-outline-secondary));
|
|
112
|
+
|
|
113
|
+
&:hover {
|
|
114
|
+
background-color: rgb(var(--mg-color-button-outline-secondary--hover));
|
|
115
|
+
color: rgb(var(--mg-color-button));
|
|
67
116
|
}
|
|
68
117
|
}
|
|
69
118
|
|
|
70
119
|
.mg-button.disabled {
|
|
71
|
-
background-color:
|
|
72
|
-
color:
|
|
120
|
+
background-color: rgb(var(--mg-color-neutral-500));
|
|
121
|
+
color: rgb(var(--mg-color-neutral-0));
|
|
73
122
|
pointer-events: none;
|
|
74
123
|
}
|
|
75
124
|
|
|
125
|
+
// Compact editorial CTA: text plus a circular directional badge. Consumers opt
|
|
126
|
+
// into this modifier so form submits and utility actions retain their
|
|
127
|
+
// conventional button treatment.
|
|
128
|
+
.mg-button.mg-button-cta {
|
|
129
|
+
background: transparent;
|
|
130
|
+
border-color: transparent;
|
|
131
|
+
color: rgb(var(--mg-color-text));
|
|
132
|
+
flex: 0 0 auto;
|
|
133
|
+
justify-content: flex-start;
|
|
134
|
+
max-inline-size: 100%;
|
|
135
|
+
min-height: mg-rem(44);
|
|
136
|
+
overflow-wrap: anywhere;
|
|
137
|
+
padding: var(--mg-spacing-50) 0;
|
|
138
|
+
padding-inline-end: calc(#{mg-rem(22)} + var(--mg-spacing-50));
|
|
139
|
+
position: relative;
|
|
140
|
+
text-align: start;
|
|
141
|
+
white-space: normal;
|
|
142
|
+
|
|
143
|
+
// The compact editorial treatment keeps its label steady and gives the
|
|
144
|
+
// directional badge the tactile response instead of scaling the whole row.
|
|
145
|
+
&:active:not(.disabled) {
|
|
146
|
+
scale: 1;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
&::after {
|
|
150
|
+
align-items: center;
|
|
151
|
+
background: rgb(var(--mg-color-interactive));
|
|
152
|
+
border-radius: 50%;
|
|
153
|
+
color: rgb(var(--mg-color-neutral-0));
|
|
154
|
+
content: "›";
|
|
155
|
+
display: inline-flex;
|
|
156
|
+
flex: 0 0 mg-rem(22);
|
|
157
|
+
font-family: $mg-font-family;
|
|
158
|
+
font-size: mg-rem(18);
|
|
159
|
+
font-weight: 700;
|
|
160
|
+
height: mg-rem(22);
|
|
161
|
+
inline-size: mg-rem(22);
|
|
162
|
+
inset-block-start: 50%;
|
|
163
|
+
inset-inline-end: 0;
|
|
164
|
+
justify-content: center;
|
|
165
|
+
line-height: 1;
|
|
166
|
+
padding-block-end: 0.06em; // optically centres the asymmetric chevron
|
|
167
|
+
padding-inline-start: 0.03em;
|
|
168
|
+
position: absolute;
|
|
169
|
+
translate: 0 -50%;
|
|
170
|
+
|
|
171
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
172
|
+
transition: background-color var(--mg-motion-duration-fast)
|
|
173
|
+
var(--mg-motion-easing-standard);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
&:hover {
|
|
178
|
+
background: transparent;
|
|
179
|
+
border-color: transparent;
|
|
180
|
+
color: rgb(var(--mg-color-interactive-active));
|
|
181
|
+
text-decoration: underline;
|
|
182
|
+
text-underline-offset: 0.2em;
|
|
183
|
+
|
|
184
|
+
&::after {
|
|
185
|
+
background: rgb(var(--mg-color-interactive-active));
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
&:active::after {
|
|
190
|
+
scale: 0.96;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
[dir="rtl"] .mg-button.mg-button-cta::after {
|
|
195
|
+
content: "‹";
|
|
196
|
+
}
|
|
197
|
+
|
|
76
198
|
// [dir='rtl'] {
|
|
77
199
|
// .button {
|
|
78
200
|
// &.button-primary {
|
|
@@ -81,7 +203,7 @@ button {
|
|
|
81
203
|
// @include transform(rotate(180deg));
|
|
82
204
|
|
|
83
205
|
// margin-left: 0;
|
|
84
|
-
// margin-right:
|
|
206
|
+
// margin-right: var(--mg-spacing-25);
|
|
85
207
|
// }
|
|
86
208
|
|
|
87
209
|
// &:hover::after {
|
|
@@ -95,6 +217,6 @@ button {
|
|
|
95
217
|
// Arabic font override
|
|
96
218
|
:lang(ar) {
|
|
97
219
|
.mg-button {
|
|
98
|
-
font-family: $mg-font-family-arabic-
|
|
220
|
+
font-family: $mg-font-family-arabic-body;
|
|
99
221
|
}
|
|
100
222
|
}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
max-width: 400px;
|
|
3
3
|
display: flex;
|
|
4
4
|
flex-direction: column;
|
|
5
|
-
gap:
|
|
5
|
+
gap: var(--mg-spacing-100);
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.mg-share__header {
|
|
9
9
|
font-family: $mg-font-family;
|
|
10
|
-
color:
|
|
10
|
+
color: rgb(var(--mg-color-text));
|
|
11
11
|
font-weight: 600;
|
|
12
12
|
font-size: $mg-font-size-300;
|
|
13
13
|
display: flex;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
.mg-share__buttons {
|
|
18
18
|
display: flex;
|
|
19
|
-
gap:
|
|
19
|
+
gap: var(--mg-spacing-50);
|
|
20
20
|
flex-direction: row;
|
|
21
21
|
justify-content: left;
|
|
22
22
|
align-items: center;
|
|
@@ -26,22 +26,22 @@
|
|
|
26
26
|
font-size: $mg-font-size-400;
|
|
27
27
|
width: mg-rem(40);
|
|
28
28
|
height: mg-rem(40);
|
|
29
|
-
padding:
|
|
30
|
-
border-radius:
|
|
31
|
-
background-color:
|
|
32
|
-
color:
|
|
29
|
+
padding: var(--mg-spacing-100);
|
|
30
|
+
border-radius: var(--mg-radius-button);
|
|
31
|
+
background-color: rgb(var(--mg-color-button-background));
|
|
32
|
+
color: rgb(var(--mg-color-button));
|
|
33
33
|
display: flex;
|
|
34
34
|
justify-content: center;
|
|
35
35
|
align-items: center;
|
|
36
36
|
cursor: pointer;
|
|
37
|
-
border:
|
|
37
|
+
border: var(--mg-border-width-button) solid var(--mg-border-color-button);
|
|
38
38
|
|
|
39
39
|
&:hover {
|
|
40
|
-
background-color:
|
|
40
|
+
background-color: rgb(var(--mg-color-blue-700) / 0.8);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
&:focus-visible {
|
|
44
|
-
box-shadow: 0 0 4px
|
|
44
|
+
box-shadow: 0 0 4px rgb(var(--mg-color-button-background--hover));
|
|
45
45
|
outline: 0;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
justify-content: space-between;
|
|
53
53
|
align-items: center;
|
|
54
54
|
cursor: pointer;
|
|
55
|
-
border: 0 solid
|
|
56
|
-
color:
|
|
55
|
+
border: 0 solid var(--mg-border-color-button);
|
|
56
|
+
color: rgb(var(--mg-color-button));
|
|
57
57
|
font-family: $mg-font-family;
|
|
58
|
-
padding:
|
|
59
|
-
background-color:
|
|
58
|
+
padding: var(--mg-spacing-100);
|
|
59
|
+
background-color: rgb(var(--mg-color-blue-900));
|
|
60
60
|
|
|
61
61
|
&:hover .mg-share__copy-text {
|
|
62
62
|
text-decoration: underline;
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
.mg-share__copy-text {
|
|
80
|
-
color:
|
|
80
|
+
color: rgb(var(--mg-color-button));
|
|
81
81
|
font-size: $mg-font-size-100;
|
|
82
82
|
overflow: hidden;
|
|
83
83
|
scrollbar-width: 0;
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
display: flex;
|
|
96
96
|
justify-content: center;
|
|
97
97
|
align-items: center;
|
|
98
|
-
background-color:
|
|
98
|
+
background-color: rgb(var(--mg-color-blue-900) / 0.5);
|
|
99
99
|
|
|
100
100
|
img {
|
|
101
101
|
width: 18px;
|
|
@@ -5,28 +5,47 @@
|
|
|
5
5
|
display: inline-block;
|
|
6
6
|
position: relative;
|
|
7
7
|
isolation: isolate;
|
|
8
|
-
margin-bottom:
|
|
9
|
-
background:
|
|
10
|
-
padding:
|
|
11
|
-
border-radius:
|
|
8
|
+
margin-bottom: var(--mg-spacing-100);
|
|
9
|
+
background: var(--mg-card-background);
|
|
10
|
+
padding: var(--mg-card-padding);
|
|
11
|
+
border-radius: var(--mg-card-border-radius);
|
|
12
|
+
box-shadow: var(--mg-card-shadow);
|
|
13
|
+
|
|
14
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
15
|
+
transition: box-shadow var(--mg-motion-duration-fast) var(--mg-motion-easing-standard);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&:hover {
|
|
19
|
+
box-shadow: var(--mg-card-shadow-hover);
|
|
20
|
+
}
|
|
12
21
|
|
|
13
22
|
// Vertical CARD
|
|
14
23
|
&__vc {
|
|
24
|
+
align-content: flex-start;
|
|
15
25
|
display: grid;
|
|
16
|
-
gap:
|
|
26
|
+
gap: var(--mg-spacing-50);
|
|
17
27
|
|
|
18
28
|
.mg-card__visual {
|
|
19
29
|
aspect-ratio: 16/9;
|
|
30
|
+
border-radius: calc(var(--mg-card-border-radius) / 2);
|
|
20
31
|
overflow: hidden;
|
|
32
|
+
outline: 1px solid rgb(var(--mg-color-neutral-900) / 0.1);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&:not(.mg-card__book) .mg-card__image {
|
|
36
|
+
block-size: 100%;
|
|
37
|
+
inline-size: 100%;
|
|
21
38
|
}
|
|
39
|
+
|
|
40
|
+
@include mg-card-image-zoom;
|
|
22
41
|
}
|
|
23
42
|
|
|
24
43
|
// Horizontal CARD
|
|
25
44
|
&__hc {
|
|
26
|
-
color:
|
|
45
|
+
color: rgb(var(--mg-color-neutral-800));
|
|
27
46
|
display: grid;
|
|
28
47
|
grid-template-columns: 1fr;
|
|
29
|
-
gap:
|
|
48
|
+
gap: var(--mg-spacing-100);
|
|
30
49
|
|
|
31
50
|
.mg-card__content {
|
|
32
51
|
grid-column: 1 / 3;
|
|
@@ -57,10 +76,22 @@
|
|
|
57
76
|
}
|
|
58
77
|
}
|
|
59
78
|
|
|
79
|
+
// Horizontal card image zoom on hover (book covers excluded — they sit in a
|
|
80
|
+
// bordered frame where a zoom reads oddly).
|
|
81
|
+
&__hc:not(.mg-card-book__hc) {
|
|
82
|
+
.mg-card__visual {
|
|
83
|
+
border-radius: calc(var(--mg-card-border-radius) / 2);
|
|
84
|
+
overflow: hidden;
|
|
85
|
+
outline: 1px solid rgb(var(--mg-color-neutral-900) / 0.1);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@include mg-card-image-zoom;
|
|
89
|
+
}
|
|
90
|
+
|
|
60
91
|
&__hc.mg-card-book__hc {
|
|
61
92
|
.mg-card__visual {
|
|
62
93
|
align-self: flex-start;
|
|
63
|
-
border: 1px solid
|
|
94
|
+
border: 1px solid rgb(var(--mg-color-neutral-600) / 0.2);
|
|
64
95
|
max-width: 200px;
|
|
65
96
|
overflow: hidden;
|
|
66
97
|
|
|
@@ -72,7 +103,7 @@
|
|
|
72
103
|
|
|
73
104
|
&:has(.mg-card__visual) {
|
|
74
105
|
grid-template-rows: unset;
|
|
75
|
-
gap: 0
|
|
106
|
+
gap: 0 var(--mg-spacing-100);
|
|
76
107
|
|
|
77
108
|
@media (min-width: $mg-breakpoint-mobile) {
|
|
78
109
|
grid-template-columns: 160px 1fr;
|
|
@@ -95,14 +126,14 @@
|
|
|
95
126
|
}
|
|
96
127
|
|
|
97
128
|
&__label {
|
|
98
|
-
color:
|
|
129
|
+
color: rgb(var(--mg-color-tag));
|
|
99
130
|
cursor: pointer;
|
|
100
131
|
display: inline-block;
|
|
101
132
|
font-size: $mg-font-tag;
|
|
102
|
-
margin-right:
|
|
133
|
+
margin-right: var(--mg-spacing-50);
|
|
103
134
|
|
|
104
135
|
&:hover {
|
|
105
|
-
color:
|
|
136
|
+
color: rgb(var(--mg-color-tag));
|
|
106
137
|
}
|
|
107
138
|
}
|
|
108
139
|
|
|
@@ -111,11 +142,12 @@
|
|
|
111
142
|
font-size: $mg-font-size-500;
|
|
112
143
|
font-weight: bold;
|
|
113
144
|
line-height: $mg-font-line-height-500;
|
|
114
|
-
padding-bottom:
|
|
115
|
-
padding-top:
|
|
145
|
+
padding-bottom: var(--mg-spacing-75);
|
|
146
|
+
padding-top: var(--mg-spacing-100);
|
|
147
|
+
text-wrap: balance;
|
|
116
148
|
|
|
117
149
|
a {
|
|
118
|
-
color:
|
|
150
|
+
color: rgb(var(--mg-color-interactive));
|
|
119
151
|
cursor: pointer;
|
|
120
152
|
display: inline;
|
|
121
153
|
text-decoration: underline;
|
|
@@ -123,7 +155,7 @@
|
|
|
123
155
|
}
|
|
124
156
|
|
|
125
157
|
.active {
|
|
126
|
-
background:
|
|
158
|
+
background: rgb(var(--mg-color-neutral-50));
|
|
127
159
|
font-weight: bold;
|
|
128
160
|
}
|
|
129
161
|
}
|
|
@@ -162,8 +194,7 @@
|
|
|
162
194
|
|
|
163
195
|
// Focus: card-level outline when title link is focused via keyboard
|
|
164
196
|
&__title a:focus-visible {
|
|
165
|
-
|
|
166
|
-
outline-offset: 2px;
|
|
197
|
+
@include mg-focus-ring;
|
|
167
198
|
}
|
|
168
199
|
|
|
169
200
|
// Hover: thicker underline + nudge chevron
|
|
@@ -191,9 +222,9 @@
|
|
|
191
222
|
|
|
192
223
|
// Color variants (shared accent colours from _variables.scss)
|
|
193
224
|
$card-variant-colours: (
|
|
194
|
-
"secondary":
|
|
195
|
-
"tertiary":
|
|
196
|
-
"quaternary":
|
|
225
|
+
"secondary": rgb(var(--mg-color-secondary)),
|
|
226
|
+
"tertiary": rgb(var(--mg-color-tertiary)),
|
|
227
|
+
"quaternary": rgb(var(--mg-color-quaternary)),
|
|
197
228
|
);
|
|
198
229
|
|
|
199
230
|
@each $name, $color in $card-variant-colours {
|
|
@@ -206,7 +237,7 @@ $card-variant-colours: (
|
|
|
206
237
|
// Double class selector ensures this overrides variant colors regardless of source order
|
|
207
238
|
.mg-card.mg-card--plain-title {
|
|
208
239
|
.mg-card__title a {
|
|
209
|
-
color:
|
|
240
|
+
color: rgb(var(--mg-color-text));
|
|
210
241
|
text-decoration: none;
|
|
211
242
|
}
|
|
212
243
|
|
|
@@ -216,12 +247,13 @@ $card-variant-colours: (
|
|
|
216
247
|
}
|
|
217
248
|
|
|
218
249
|
.mg-card__summary {
|
|
219
|
-
padding-bottom:
|
|
250
|
+
padding-bottom: var(--mg-spacing-50);
|
|
251
|
+
text-wrap: pretty;
|
|
220
252
|
}
|
|
221
253
|
|
|
222
254
|
.mg-card__summary a,
|
|
223
255
|
.mg-card__text-link {
|
|
224
|
-
color:
|
|
256
|
+
color: rgb(var(--mg-color-interactive));
|
|
225
257
|
}
|
|
226
258
|
|
|
227
259
|
.mg-card__summary a,
|
|
@@ -248,11 +280,11 @@ $card-variant-colours: (
|
|
|
248
280
|
|
|
249
281
|
.mg-card__visual {
|
|
250
282
|
aspect-ratio: 3/4;
|
|
251
|
-
border: 1px solid
|
|
283
|
+
border: 1px solid rgb(var(--mg-color-neutral-600) / 0.2);
|
|
252
284
|
}
|
|
253
285
|
.mg-card__title {
|
|
254
286
|
font-size: $mg-font-size-300;
|
|
255
|
-
padding-top:
|
|
287
|
+
padding-top: var(--mg-spacing-25);
|
|
256
288
|
}
|
|
257
289
|
}
|
|
258
290
|
|
|
@@ -271,7 +303,7 @@ $card-variant-colours: (
|
|
|
271
303
|
display: flex;
|
|
272
304
|
flex-direction: column;
|
|
273
305
|
align-items: flex-start;
|
|
274
|
-
gap:
|
|
306
|
+
gap: var(--mg-spacing-100);
|
|
275
307
|
max-width: 300px;
|
|
276
308
|
|
|
277
309
|
@media (min-width: $mg-breakpoint-mobile) {
|
|
@@ -286,7 +318,7 @@ $card-variant-colours: (
|
|
|
286
318
|
.mg-card__visual-label {
|
|
287
319
|
font-size: $mg-font-tag;
|
|
288
320
|
font-weight: 700;
|
|
289
|
-
color:
|
|
321
|
+
color: rgb(var(--mg-color-tag));
|
|
290
322
|
width: 100%;
|
|
291
323
|
}
|
|
292
324
|
|
|
@@ -358,7 +390,7 @@ $card-variant-colours: (
|
|
|
358
390
|
|
|
359
391
|
// Icon class container - uses container query units to scale like images
|
|
360
392
|
.mg-card__icon-wrap {
|
|
361
|
-
color:
|
|
393
|
+
color: rgb(var(--mg-color-interactive));
|
|
362
394
|
line-height: 1;
|
|
363
395
|
display: flex;
|
|
364
396
|
align-items: center;
|
|
@@ -398,7 +430,7 @@ $card-variant-colours: (
|
|
|
398
430
|
// Colored background behind icon (circle by default, rounded rect in Delta)
|
|
399
431
|
&--colored {
|
|
400
432
|
background-color: var(--mg-icon-bg);
|
|
401
|
-
border-radius:
|
|
433
|
+
border-radius: var(--mg-card-icon-badge-radius);
|
|
402
434
|
aspect-ratio: 1;
|
|
403
435
|
width: 72px;
|
|
404
436
|
min-width: 72px;
|
|
@@ -408,7 +440,7 @@ $card-variant-colours: (
|
|
|
408
440
|
|
|
409
441
|
.mg-icon {
|
|
410
442
|
font-size: 32px;
|
|
411
|
-
color: var(--mg-icon-fg,
|
|
443
|
+
color: var(--mg-icon-fg, rgb(var(--mg-color-neutral-700)));
|
|
412
444
|
}
|
|
413
445
|
}
|
|
414
446
|
}
|
|
@@ -435,8 +467,7 @@ $card-variant-colours: (
|
|
|
435
467
|
outline: none;
|
|
436
468
|
|
|
437
469
|
&::after {
|
|
438
|
-
|
|
439
|
-
outline-offset: 2px;
|
|
470
|
+
@include mg-focus-ring;
|
|
440
471
|
}
|
|
441
472
|
}
|
|
442
473
|
}
|
|
@@ -456,7 +487,7 @@ $card-variant-colours: (
|
|
|
456
487
|
line-height: $mg-font-line-height-500;
|
|
457
488
|
|
|
458
489
|
a {
|
|
459
|
-
color:
|
|
490
|
+
color: rgb(var(--mg-color-interactive));
|
|
460
491
|
text-decoration: underline;
|
|
461
492
|
text-underline-offset: 3px;
|
|
462
493
|
|
|
@@ -465,25 +496,23 @@ $card-variant-colours: (
|
|
|
465
496
|
}
|
|
466
497
|
|
|
467
498
|
&:focus-visible {
|
|
468
|
-
|
|
469
|
-
outline-offset: 2px;
|
|
470
|
-
border-radius: 2px;
|
|
499
|
+
@include mg-focus-ring;
|
|
471
500
|
}
|
|
472
501
|
}
|
|
473
502
|
}
|
|
474
503
|
|
|
475
504
|
.mg-card__cta {
|
|
476
505
|
margin-top: auto;
|
|
477
|
-
padding-top:
|
|
506
|
+
padding-top: var(--mg-spacing-100);
|
|
478
507
|
}
|
|
479
508
|
|
|
480
509
|
.mg-card__link {
|
|
481
510
|
margin-top: auto;
|
|
482
|
-
padding-top:
|
|
511
|
+
padding-top: var(--mg-spacing-75);
|
|
483
512
|
margin-bottom: 0;
|
|
484
513
|
|
|
485
514
|
a {
|
|
486
|
-
color:
|
|
515
|
+
color: rgb(var(--mg-color-interactive));
|
|
487
516
|
text-decoration: none;
|
|
488
517
|
position: relative;
|
|
489
518
|
z-index: 2; // above stretched-link cover — local to card stacking context
|
|
@@ -493,9 +522,7 @@ $card-variant-colours: (
|
|
|
493
522
|
}
|
|
494
523
|
|
|
495
524
|
&:focus-visible {
|
|
496
|
-
|
|
497
|
-
outline-offset: 2px;
|
|
498
|
-
border-radius: 2px;
|
|
525
|
+
@include mg-focus-ring;
|
|
499
526
|
}
|
|
500
527
|
}
|
|
501
528
|
}
|
|
@@ -503,7 +530,7 @@ $card-variant-colours: (
|
|
|
503
530
|
// Bordered variant (colored border via CSS custom property)
|
|
504
531
|
&--bordered {
|
|
505
532
|
border: 2px solid var(--mg-card-border);
|
|
506
|
-
padding: max(
|
|
533
|
+
padding: max(var(--mg-card-padding), var(--mg-spacing-150));
|
|
507
534
|
}
|
|
508
535
|
|
|
509
536
|
// Centered variant
|
|
@@ -523,27 +550,27 @@ $card-variant-colours: (
|
|
|
523
550
|
// Negative variant (for dark backgrounds)
|
|
524
551
|
&--negative {
|
|
525
552
|
.mg-card__icon-wrap {
|
|
526
|
-
color:
|
|
553
|
+
color: rgb(var(--mg-color-white));
|
|
527
554
|
}
|
|
528
555
|
|
|
529
556
|
.mg-card__label {
|
|
530
|
-
color:
|
|
557
|
+
color: rgb(var(--mg-color-neutral-0) / 0.8);
|
|
531
558
|
}
|
|
532
559
|
|
|
533
560
|
.mg-card__title,
|
|
534
561
|
.mg-card__title a {
|
|
535
|
-
color:
|
|
562
|
+
color: rgb(var(--mg-color-white));
|
|
536
563
|
}
|
|
537
564
|
|
|
538
565
|
.mg-card__summary {
|
|
539
|
-
color:
|
|
566
|
+
color: rgb(var(--mg-color-neutral-0) / 0.8);
|
|
540
567
|
}
|
|
541
568
|
|
|
542
569
|
.mg-card__link a {
|
|
543
|
-
color:
|
|
570
|
+
color: rgb(var(--mg-color-white));
|
|
544
571
|
|
|
545
572
|
&:focus-visible {
|
|
546
|
-
outline-color:
|
|
573
|
+
outline-color: rgb(var(--mg-color-white));
|
|
547
574
|
}
|
|
548
575
|
}
|
|
549
576
|
}
|