@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.
Files changed (145) hide show
  1. package/components/BookCard.js +2 -2
  2. package/components/BookCard.js.LICENSE.txt +1 -1
  3. package/components/Breadcrumbs.js +3 -2
  4. package/components/Checkbox.js +3 -2
  5. package/components/Chips.js +3 -2
  6. package/components/CtaButton.js +3 -2
  7. package/components/EmbedContainer.js +3 -2
  8. package/components/Footer.js +2 -2
  9. package/components/Footer.js.LICENSE.txt +1 -1
  10. package/components/FormAction.js +6 -0
  11. package/components/FormAction.js.LICENSE.txt +9 -0
  12. package/components/FormErrorSummary.js +3 -2
  13. package/components/FormGroup.js +3 -2
  14. package/components/FullWidth.js +3 -2
  15. package/components/Gallery.js +2 -2
  16. package/components/Gallery.js.LICENSE.txt +1 -1
  17. package/components/Hero.js +2 -2
  18. package/components/Hero.js.LICENSE.txt +1 -1
  19. package/components/HighlightBox.js +3 -2
  20. package/components/HorizontalBookCard.js +2 -2
  21. package/components/HorizontalBookCard.js.LICENSE.txt +1 -1
  22. package/components/HorizontalCard.js +2 -2
  23. package/components/HorizontalCard.js.LICENSE.txt +1 -1
  24. package/components/IconCard.js +2 -2
  25. package/components/IconCard.js.LICENSE.txt +1 -1
  26. package/components/Loader.js +3 -2
  27. package/components/MegaMenu.js +2 -2
  28. package/components/MegaMenu.js.LICENSE.txt +1 -1
  29. package/components/PageHeader.js +3 -2
  30. package/components/Pager.js +2 -2
  31. package/components/Pager.js.LICENSE.txt +1 -1
  32. package/components/QuoteHighlight.js +3 -2
  33. package/components/Radio.js +3 -2
  34. package/components/ScrollContainer.js +3 -2
  35. package/components/Select.js +3 -2
  36. package/components/ShareButtons.js +2 -2
  37. package/components/ShareButtons.js.LICENSE.txt +1 -1
  38. package/components/ShowMore.js +3 -2
  39. package/components/StatsCard.js +2 -2
  40. package/components/StatsCard.js.LICENSE.txt +10 -0
  41. package/components/SyndicationSearchWidget.js +2 -2
  42. package/components/SyndicationSearchWidget.js.LICENSE.txt +1 -1
  43. package/components/Tab.js +3 -2
  44. package/components/TextCta.js +2 -2
  45. package/components/TextCta.js.LICENSE.txt +10 -0
  46. package/components/TextInput.js +3 -2
  47. package/components/Textarea.js +3 -2
  48. package/components/UserFeedback.js +6 -0
  49. package/components/UserFeedback.js.LICENSE.txt +9 -0
  50. package/components/VerticalCard.js +2 -2
  51. package/components/VerticalCard.js.LICENSE.txt +1 -1
  52. package/components/hydrate.js +1 -1
  53. package/css/style-all.css +422 -0
  54. package/css/style-all.css.map +1 -0
  55. package/css/style-delta.css +122 -171
  56. package/css/style-delta.css.map +1 -1
  57. package/css/style-gutenberg.css +55 -89
  58. package/css/style-gutenberg.css.map +1 -1
  59. package/css/style-irp.css +122 -161
  60. package/css/style-irp.css.map +1 -1
  61. package/css/style-mcr.css +122 -161
  62. package/css/style-mcr.css.map +1 -1
  63. package/css/style-preventionweb.css +122 -161
  64. package/css/style-preventionweb.css.map +1 -1
  65. package/css/style.css +121 -154
  66. package/css/style.css.map +1 -1
  67. package/package.json +2 -2
  68. package/scss/Atom/BaseTypography/Abbr/abbr.scss +1 -1
  69. package/scss/Atom/BaseTypography/Code/code.scss +41 -36
  70. package/scss/Atom/BaseTypography/Mark/mark.scss +2 -2
  71. package/scss/Atom/Images/AuthorImage/author-image.scss +8 -8
  72. package/scss/Atom/Images/ImageCaptionCredit/image-caption-credit.scss +9 -9
  73. package/scss/Atom/Layout/Container/container.scss +2 -4
  74. package/scss/Atom/Layout/Grid/grid.scss +15 -15
  75. package/scss/Atom/Navigation/MenuItems/menu-items.scss +10 -3
  76. package/scss/Atom/ReachElement/Details/details.scss +44 -39
  77. package/scss/Atom/Table/table.scss +22 -10
  78. package/scss/Atom/Tag/tag.scss +32 -32
  79. package/scss/Components/Boilerplate/boilerplate.scss +7 -7
  80. package/scss/Components/Breadcrumbs/breadcrumbs.scss +9 -9
  81. package/scss/Components/Buttons/Chips/chips.scss +63 -23
  82. package/scss/Components/Buttons/CtaButton/cta-button.scss +142 -20
  83. package/scss/Components/Buttons/ShareButtons/share-buttons.scss +16 -16
  84. package/scss/Components/Cards/Card/card.scss +77 -50
  85. package/scss/Components/Cards/StatsCard/stats-card.scss +32 -34
  86. package/scss/Components/CookieConsentBanner/cookie-consent-banner.scss +75 -74
  87. package/scss/Components/ErrorPages/error-pages.scss +9 -9
  88. package/scss/Components/Footer/footer.scss +12 -12
  89. package/scss/Components/Forms/FormAction/form-action.scss +50 -0
  90. package/scss/Components/Forms/FormGroup/form-group.scss +18 -7
  91. package/scss/Components/Forms/Select/select.scss +1 -1
  92. package/scss/Components/Forms/TextInput/text-input.scss +1 -1
  93. package/scss/Components/Forms/_form-base.scss +68 -61
  94. package/scss/Components/Gallery/gallery.scss +71 -70
  95. package/scss/Components/Hero/hero.scss +241 -74
  96. package/scss/Components/HighlightBox/highlight-box.scss +3 -3
  97. package/scss/Components/MegaMenu/mega-menu.scss +73 -76
  98. package/scss/Components/OnThisPageNav/on-this-page-nav.scss +36 -37
  99. package/scss/Components/PageHeader/page-header.scss +7 -7
  100. package/scss/Components/Pager/pager.scss +85 -62
  101. package/scss/Components/PreviewAccess/preview-access.scss +35 -35
  102. package/scss/Components/QuoteHighlight/quote-highlight.scss +32 -32
  103. package/scss/Components/ScrollContainer/scroll-container.scss +52 -32
  104. package/scss/Components/Snackbar/snackbar.scss +24 -31
  105. package/scss/Components/SyndicationSearchWidget/syndication-search-widget.scss +147 -139
  106. package/scss/Components/Tab/tab.scss +215 -34
  107. package/scss/Components/TableOfContents/table-of-contents.scss +6 -6
  108. package/scss/Components/TextCta/text-cta.scss +69 -23
  109. package/scss/Components/UserFeedback/user-feedback.scss +69 -0
  110. package/scss/Molecules/ImageCaption/image-caption.scss +16 -16
  111. package/scss/Molecules/SectionHeader/section-header.scss +1 -1
  112. package/scss/Utilities/FullWidth/full-width.scss +1 -1
  113. package/scss/Utilities/Loader/loader.scss +4 -4
  114. package/scss/assets/scss/_components.scss +3 -2
  115. package/scss/assets/scss/_foundational.scss +44 -26
  116. package/scss/assets/scss/_mixins.scss +34 -1
  117. package/scss/assets/scss/_theme-delta.scss +68 -0
  118. package/scss/assets/scss/_theme-irp.scss +39 -0
  119. package/scss/assets/scss/_theme-mcr.scss +56 -0
  120. package/scss/assets/scss/_theme-preventionweb.scss +37 -0
  121. package/scss/assets/scss/_utility.scss +112 -112
  122. package/scss/assets/scss/_variables.scss +358 -354
  123. package/scss/assets/scss/style-all.scss +19 -0
  124. package/scss/assets/scss/style-delta.scss +1 -1
  125. package/scss/assets/scss/style-irp.scss +1 -1
  126. package/scss/assets/scss/style-mcr.scss +1 -1
  127. package/scss/assets/scss/style-preventionweb.scss +1 -1
  128. package/css/style-irp-legacy.css +0 -476
  129. package/css/style-irp-legacy.css.map +0 -1
  130. package/css/style-legacy.css +0 -469
  131. package/css/style-legacy.css.map +0 -1
  132. package/css/style-mcr-legacy.css +0 -476
  133. package/css/style-mcr-legacy.css.map +0 -1
  134. package/css/style-preventionweb-legacy.css +0 -476
  135. package/css/style-preventionweb-legacy.css.map +0 -1
  136. package/scss/Components/Forms/_form-legacy.scss +0 -152
  137. package/scss/Components/Pagination/pagination.scss +0 -112
  138. package/scss/assets/scss/_variables-delta.scss +0 -110
  139. package/scss/assets/scss/_variables-irp.scss +0 -50
  140. package/scss/assets/scss/_variables-mcr.scss +0 -65
  141. package/scss/assets/scss/_variables-preventionweb.scss +0 -48
  142. package/scss/assets/scss/style-irp-legacy.scss +0 -20
  143. package/scss/assets/scss/style-legacy.scss +0 -20
  144. package/scss/assets/scss/style-mcr-legacy.scss +0 -20
  145. package/scss/assets/scss/style-preventionweb-legacy.scss +0 -20
@@ -3,9 +3,9 @@
3
3
  // ========================================
4
4
 
5
5
  .mg-pager {
6
- margin-top: $mg-spacing-200;
7
- padding-top: $mg-spacing-150;
8
- border-top: 1px solid $mg-color-neutral-50;
6
+ margin-top: var(--mg-spacing-200);
7
+ padding-top: var(--mg-spacing-150);
8
+ border-top: 1px solid rgb(var(--mg-color-neutral-600) / 0.16);
9
9
  }
10
10
 
11
11
  // ----------------------------------------
@@ -17,7 +17,7 @@
17
17
  flex-wrap: wrap;
18
18
  align-items: center;
19
19
  justify-content: center;
20
- gap: $mg-spacing-25;
20
+ gap: var(--mg-spacing-50);
21
21
  list-style: none;
22
22
  margin: 0;
23
23
  padding: 0;
@@ -30,7 +30,7 @@
30
30
  &--ellipsis {
31
31
  display: flex;
32
32
  align-items: center;
33
- padding: 0 $mg-spacing-25;
33
+ padding: 0 var(--mg-spacing-25);
34
34
  }
35
35
  }
36
36
 
@@ -38,54 +38,60 @@
38
38
  display: inline-flex;
39
39
  align-items: center;
40
40
  justify-content: center;
41
- min-width: 40px;
42
- min-height: 40px;
43
- padding: $mg-spacing-50;
41
+ min-width: mg-rem(44);
42
+ min-height: mg-rem(44);
43
+ padding: 0;
44
44
  font-size: $mg-font-size-200;
45
- font-weight: 500;
46
- color: $mg-color-text;
47
- background: #fff;
48
- border: 1px solid $mg-color-neutral-100;
49
- border-radius: $mg-spacing-25;
45
+ font-weight: 600;
46
+ color: rgb(var(--mg-color-text));
47
+ background: transparent;
48
+ border: 0;
49
+ border-radius: 50%;
50
50
  cursor: pointer;
51
- transition: background-color 0.15s, border-color 0.15s, color 0.15s;
51
+
52
+ @media (prefers-reduced-motion: no-preference) {
53
+ transition:
54
+ background-color var(--mg-motion-duration-fast)
55
+ var(--mg-motion-easing-standard),
56
+ color var(--mg-motion-duration-fast) var(--mg-motion-easing-standard),
57
+ scale var(--mg-motion-duration-fast) var(--mg-motion-easing-standard);
58
+ }
52
59
 
53
60
  &:hover:not(:disabled, .mg-pager__link--disabled) {
54
- background: $mg-color-blue-50;
55
- border-color: $mg-color-interactive;
56
- color: $mg-color-interactive;
61
+ background: rgb(var(--mg-color-interactive) / 0.08);
62
+ color: rgb(var(--mg-color-interactive-active));
63
+ text-decoration: none;
57
64
  }
58
65
 
59
66
  &:focus-visible {
60
- outline: 2px solid $mg-color-interactive;
61
- outline-offset: 2px;
67
+ @include mg-focus-ring;
68
+ }
69
+
70
+ &:active:not(:disabled, .mg-pager__link--disabled, .mg-pager__link--current) {
71
+ scale: 0.96;
62
72
  }
63
73
 
64
74
  &--current {
65
- color: #fff;
66
- background: $mg-color-interactive;
67
- border-color: $mg-color-interactive;
75
+ color: rgb(var(--mg-color-text));
76
+ background: rgb(var(--mg-color-interactive) / 0.12);
68
77
  cursor: default;
69
78
 
70
79
  &:hover {
71
- background: $mg-color-interactive;
72
- color: #fff;
80
+ background: rgb(var(--mg-color-interactive) / 0.12);
81
+ color: rgb(var(--mg-color-text));
73
82
  }
74
83
  }
75
84
 
76
85
  &--disabled,
77
86
  &:disabled {
78
- color: $mg-color-neutral-500;
79
- background: $mg-color-neutral-50;
80
- border-color: $mg-color-neutral-50;
87
+ color: rgb(var(--mg-color-neutral-500));
88
+ background: rgb(var(--mg-color-neutral-100) / 0.7);
81
89
  cursor: not-allowed;
82
- opacity: 0.5;
83
90
  }
84
91
 
85
92
  &--prev,
86
93
  &--next {
87
- gap: $mg-spacing-25;
88
- padding: $mg-spacing-50 $mg-spacing-75;
94
+ background: rgb(var(--mg-color-interactive) / 0.06);
89
95
  }
90
96
  }
91
97
 
@@ -94,13 +100,19 @@
94
100
  }
95
101
 
96
102
  .mg-pager__text {
97
- @media (width <= 480px) {
98
- display: none;
99
- }
103
+ position: absolute;
104
+ width: 1px;
105
+ height: 1px;
106
+ padding: 0;
107
+ margin: -1px;
108
+ overflow: hidden;
109
+ clip-path: inset(50%);
110
+ white-space: nowrap;
111
+ border: 0;
100
112
  }
101
113
 
102
114
  .mg-pager__ellipsis {
103
- color: $mg-color-neutral-500;
115
+ color: rgb(var(--mg-color-neutral-500));
104
116
  font-size: $mg-font-size-200;
105
117
  }
106
118
 
@@ -112,7 +124,7 @@
112
124
  display: flex;
113
125
  flex-direction: column;
114
126
  align-items: center;
115
- gap: $mg-spacing-100;
127
+ gap: var(--mg-spacing-100);
116
128
 
117
129
  @media (width >= $mg-breakpoint-tablet) {
118
130
  flex-direction: row;
@@ -126,7 +138,7 @@
126
138
 
127
139
  .mg-pager__range {
128
140
  margin: 0;
129
- color: $mg-color-neutral-500;
141
+ color: rgb(var(--mg-color-neutral-500));
130
142
  font-size: $mg-font-size-200;
131
143
  white-space: nowrap;
132
144
  }
@@ -138,30 +150,32 @@
138
150
  .mg-pager__jump {
139
151
  display: inline-flex;
140
152
  align-items: center;
141
- gap: $mg-spacing-50;
153
+ gap: var(--mg-spacing-50);
142
154
  margin: 0;
143
155
  }
144
156
 
145
157
  .mg-pager__jump-label {
146
- color: $mg-color-neutral-500;
158
+ color: rgb(var(--mg-color-neutral-500));
147
159
  font-size: $mg-font-size-200;
148
160
  white-space: nowrap;
149
161
  }
150
162
 
151
163
  .mg-pager__jump-input {
152
164
  width: 4em;
153
- min-height: 40px;
154
- padding: $mg-spacing-25 $mg-spacing-50;
165
+ min-height: mg-rem(44);
166
+ padding: var(--mg-spacing-25) var(--mg-spacing-50);
155
167
  font-size: $mg-font-size-200;
156
- color: $mg-color-text;
157
- background: #fff;
158
- border: 1px solid $mg-color-neutral-100;
159
- border-radius: $mg-spacing-25;
168
+ color: rgb(var(--mg-color-text));
169
+ background: rgb(var(--mg-color-neutral-50));
170
+ border: 1px solid rgb(var(--mg-color-neutral-600) / 0.22);
171
+ border-radius: var(--mg-radius-form-input);
160
172
  text-align: center;
161
173
 
162
174
  &:focus-visible {
163
- outline: 2px solid $mg-color-interactive;
164
- outline-offset: 2px;
175
+ background: rgb(var(--mg-color-neutral-0));
176
+ border-color: rgb(var(--mg-color-interactive));
177
+
178
+ @include mg-focus-ring;
165
179
  }
166
180
  }
167
181
 
@@ -169,25 +183,34 @@
169
183
  display: inline-flex;
170
184
  align-items: center;
171
185
  justify-content: center;
172
- min-height: 40px;
173
- padding: $mg-spacing-25 $mg-spacing-75;
186
+ min-height: mg-rem(44);
187
+ padding: var(--mg-spacing-25) var(--mg-spacing-75);
174
188
  font-size: $mg-font-size-200;
175
189
  font-weight: 500;
176
- color: #fff;
177
- background: $mg-color-interactive;
178
- border: 1px solid $mg-color-interactive;
179
- border-radius: $mg-spacing-25;
190
+ color: rgb(var(--mg-color-neutral-0));
191
+ background: rgb(var(--mg-color-interactive));
192
+ border: 1px solid rgb(var(--mg-color-interactive));
193
+ border-radius: var(--mg-radius-button);
180
194
  cursor: pointer;
181
- transition: background-color 0.15s;
195
+
196
+ @media (prefers-reduced-motion: no-preference) {
197
+ transition:
198
+ background-color var(--mg-motion-duration-fast) var(--mg-motion-easing-standard),
199
+ border-color var(--mg-motion-duration-fast) var(--mg-motion-easing-standard),
200
+ scale var(--mg-motion-duration-fast) var(--mg-motion-easing-standard);
201
+ }
182
202
 
183
203
  &:hover:not(:disabled) {
184
- background: $mg-color-interactive-active;
185
- border-color: $mg-color-interactive-active;
204
+ background: rgb(var(--mg-color-interactive-active));
205
+ border-color: rgb(var(--mg-color-interactive-active));
186
206
  }
187
207
 
188
208
  &:focus-visible {
189
- outline: 2px solid $mg-color-interactive;
190
- outline-offset: 2px;
209
+ @include mg-focus-ring;
210
+ }
211
+
212
+ &:active:not(:disabled) {
213
+ scale: 0.96;
191
214
  }
192
215
 
193
216
  &:disabled {
@@ -202,27 +225,27 @@
202
225
 
203
226
  .mg-pager__notice {
204
227
  text-align: center;
205
- color: $mg-color-neutral-500;
228
+ color: rgb(var(--mg-color-neutral-500));
206
229
  font-size: $mg-font-size-200;
207
- padding: $mg-spacing-100 0;
230
+ padding: var(--mg-spacing-100) 0;
208
231
  }
209
232
 
210
233
  .mg-pager__notice-action {
211
234
  display: inline;
212
235
  padding: 0;
213
236
  font: inherit;
214
- color: $mg-color-interactive;
237
+ color: rgb(var(--mg-color-interactive));
215
238
  background: none;
216
239
  border: none;
217
240
  cursor: pointer;
218
241
  text-decoration: underline;
219
242
 
220
243
  &:hover {
221
- color: $mg-color-interactive-active;
244
+ color: rgb(var(--mg-color-interactive-active));
222
245
  }
223
246
 
224
247
  &:focus-visible {
225
- outline: 2px solid $mg-color-interactive;
248
+ outline: 2px solid rgb(var(--mg-color-interactive));
226
249
  outline-offset: 2px;
227
250
  }
228
251
  }
@@ -21,12 +21,12 @@ html:has(body [data-mg-preview-access]:not(.mg-preview-access--unlocked)) {
21
21
  &__overlay {
22
22
  position: fixed;
23
23
  inset: 0;
24
- z-index: $mg-z-index-modal;
24
+ z-index: var(--mg-z-index-modal);
25
25
  display: flex;
26
26
  align-items: center;
27
27
  justify-content: center;
28
- padding: $mg-spacing-200;
29
- background: $mg-color-modal-scrim;
28
+ padding: var(--mg-spacing-200);
29
+ background: var(--mg-color-modal-scrim);
30
30
 
31
31
  // Re-assert visibility against the gate rule above, which uses !important
32
32
  // to win over any component-level visibility overrides on body siblings.
@@ -36,39 +36,39 @@ html:has(body [data-mg-preview-access]:not(.mg-preview-access--unlocked)) {
36
36
  &__modal {
37
37
  width: 100%;
38
38
  max-width: mg-rem(480);
39
- padding: $mg-spacing-350;
40
- background: $mg-color-white;
39
+ padding: var(--mg-spacing-350);
40
+ background: rgb(var(--mg-color-white));
41
41
 
42
42
  // Sharp-cornered to match Mangrove chrome (Hero, PageHeader, Cards).
43
43
  border-radius: 0;
44
- border-top: mg-rem(4) solid $mg-color-interactive;
44
+ border-top: mg-rem(4) solid rgb(var(--mg-color-interactive));
45
45
  box-shadow: 0 mg-rem(8) mg-rem(32) rgb(0 0 0 / 0.25);
46
46
  }
47
47
 
48
48
  // Eyebrow uses a neutral colour so it passes 4.5:1 across all five themes.
49
49
  // Brand identity is carried by the top accent border and the submit button.
50
50
  &__eyebrow {
51
- margin: 0 0 $mg-spacing-50;
51
+ margin: 0 0 var(--mg-spacing-50);
52
52
  font-family: $mg-font-family-headings;
53
53
  font-size: $mg-font-size-250;
54
54
  font-weight: 700;
55
- color: $mg-color-neutral-700;
55
+ color: rgb(var(--mg-color-neutral-700));
56
56
  }
57
57
 
58
58
  &__title {
59
- margin: 0 0 $mg-spacing-150;
59
+ margin: 0 0 var(--mg-spacing-150);
60
60
  font-family: $mg-font-family-headings;
61
61
  font-size: $mg-font-size-500;
62
62
  line-height: 1.2;
63
- color: $mg-color-neutral-800;
63
+ color: rgb(var(--mg-color-neutral-800));
64
64
  }
65
65
 
66
66
  &__body {
67
- margin: 0 0 $mg-spacing-250;
67
+ margin: 0 0 var(--mg-spacing-250);
68
68
  font-family: $mg-font-family;
69
69
  font-size: $mg-font-size-300;
70
70
  line-height: 1.5;
71
- color: $mg-color-neutral-700;
71
+ color: rgb(var(--mg-color-neutral-700));
72
72
  }
73
73
 
74
74
  &__form {
@@ -77,80 +77,80 @@ html:has(body [data-mg-preview-access]:not(.mg-preview-access--unlocked)) {
77
77
 
78
78
  &__label {
79
79
  display: block;
80
- margin: 0 0 $mg-spacing-50;
80
+ margin: 0 0 var(--mg-spacing-50);
81
81
  font-family: $mg-font-family-headings;
82
82
  font-size: $mg-font-size-300;
83
83
  font-weight: 700;
84
- color: $mg-color-neutral-700;
84
+ color: rgb(var(--mg-color-neutral-700));
85
85
  }
86
86
 
87
87
  &__field {
88
88
  display: flex;
89
- gap: $mg-spacing-50;
90
- margin: 0 0 $mg-spacing-50;
89
+ gap: var(--mg-spacing-50);
90
+ margin: 0 0 var(--mg-spacing-50);
91
91
  }
92
92
 
93
93
  &__input {
94
94
  flex: 1;
95
95
  min-width: 0;
96
- padding: $mg-spacing-100 $mg-spacing-150;
96
+ padding: var(--mg-spacing-100) var(--mg-spacing-150);
97
97
  font-family: $mg-font-family;
98
98
  font-size: $mg-font-size-300;
99
- color: $mg-color-neutral-800;
100
- background: $mg-color-white;
101
- border: 1px solid $mg-color-neutral-200;
99
+ color: rgb(var(--mg-color-neutral-800));
100
+ background: rgb(var(--mg-color-white));
101
+ border: 1px solid rgb(var(--mg-color-neutral-200));
102
102
  border-radius: 0;
103
103
 
104
104
  &:focus {
105
- outline: 2px solid $mg-color-form-focus;
105
+ outline: 2px solid rgb(var(--mg-color-form-focus));
106
106
  outline-offset: 2px;
107
- border-color: $mg-color-form-focus;
107
+ border-color: rgb(var(--mg-color-form-focus));
108
108
  }
109
109
  }
110
110
 
111
111
  &__submit {
112
- padding: $mg-spacing-100 $mg-spacing-200;
112
+ padding: var(--mg-spacing-100) var(--mg-spacing-200);
113
113
  font-family: $mg-font-family-headings;
114
114
  font-size: $mg-font-size-300;
115
115
  font-weight: 600;
116
- color: $mg-color-white;
117
- background: $mg-color-interactive;
116
+ color: rgb(var(--mg-color-white));
117
+ background: rgb(var(--mg-color-interactive));
118
118
  border: 0;
119
119
  border-radius: 0;
120
120
  cursor: pointer;
121
121
 
122
- // $mg-color-interactive-active equals $mg-color-interactive in several
122
+ // rgb(var(--mg-color-interactive-active)) equals rgb(var(--mg-color-interactive)) in several
123
123
  // themes (PW, IRP, MCR, DELTA), so layer a brightness shift to ensure
124
124
  // the hover affordance is visible everywhere.
125
125
  &:hover {
126
- background: $mg-color-interactive-active;
126
+ background: rgb(var(--mg-color-interactive-active));
127
127
  filter: brightness(0.92);
128
128
  }
129
129
 
130
130
  &:focus-visible {
131
- outline: 2px solid $mg-color-form-focus;
131
+ outline: 2px solid rgb(var(--mg-color-form-focus));
132
132
  outline-offset: 2px;
133
133
  }
134
134
  }
135
135
 
136
136
  &__error {
137
- min-height: $mg-spacing-200;
138
- margin: 0 0 $mg-spacing-150;
137
+ min-height: var(--mg-spacing-200);
138
+ margin: 0 0 var(--mg-spacing-150);
139
139
  font-family: $mg-font-family;
140
140
  font-size: $mg-font-size-250;
141
- color: $mg-color-red-900;
141
+ color: rgb(var(--mg-color-red-900));
142
142
  }
143
143
 
144
144
  &__contact {
145
145
  margin: 0;
146
- padding-top: $mg-spacing-150;
146
+ padding-top: var(--mg-spacing-150);
147
147
  font-family: $mg-font-family;
148
148
  font-size: $mg-font-size-250;
149
- color: $mg-color-neutral-600;
150
- border-top: 1px solid $mg-color-neutral-100;
149
+ color: rgb(var(--mg-color-neutral-600));
150
+ border-top: 1px solid rgb(var(--mg-color-neutral-100));
151
151
 
152
152
  a {
153
- color: $mg-color-interactive;
153
+ color: rgb(var(--mg-color-interactive));
154
154
  text-decoration: underline;
155
155
  }
156
156
  }
@@ -1,7 +1,7 @@
1
1
  .mg-quote-highlight {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- border-radius: $mg-spacing-50;
4
+ border-radius: var(--mg-spacing-50);
5
5
  overflow: hidden;
6
6
  box-shadow: 0 4px 12px rgb(0 0 0 / 0.08);
7
7
 
@@ -15,13 +15,13 @@
15
15
  // Alignment variants
16
16
  &--full {
17
17
  width: 100%;
18
- margin-bottom: $mg-spacing-400;
18
+ margin-bottom: var(--mg-spacing-400);
19
19
  }
20
20
 
21
21
  &--left {
22
22
  float: left;
23
- margin-right: $mg-spacing-400;
24
- margin-bottom: $mg-spacing-400;
23
+ margin-right: var(--mg-spacing-400);
24
+ margin-bottom: var(--mg-spacing-400);
25
25
  width: 100%;
26
26
 
27
27
  @include devicebreak(medium) {
@@ -32,14 +32,14 @@
32
32
  [dir="rtl"] & {
33
33
  float: right;
34
34
  margin-right: 0;
35
- margin-left: $mg-spacing-400;
35
+ margin-left: var(--mg-spacing-400);
36
36
  }
37
37
  }
38
38
 
39
39
  &--right {
40
40
  float: right;
41
- margin-left: $mg-spacing-400;
42
- margin-bottom: $mg-spacing-400;
41
+ margin-left: var(--mg-spacing-400);
42
+ margin-bottom: var(--mg-spacing-400);
43
43
  width: 100%;
44
44
 
45
45
  @include devicebreak(medium) {
@@ -50,7 +50,7 @@
50
50
  [dir="rtl"] & {
51
51
  float: left;
52
52
  margin-left: 0;
53
- margin-right: $mg-spacing-400;
53
+ margin-right: var(--mg-spacing-400);
54
54
  }
55
55
  }
56
56
 
@@ -76,33 +76,33 @@
76
76
  }
77
77
 
78
78
  &__content {
79
- padding: $mg-spacing-400;
79
+ padding: var(--mg-spacing-400);
80
80
  flex: 1;
81
81
  display: flex;
82
82
  flex-direction: column;
83
83
  justify-content: center;
84
84
 
85
85
  @include devicebreak(medium) {
86
- padding: $mg-spacing-500;
86
+ padding: var(--mg-spacing-500);
87
87
  }
88
88
  }
89
89
 
90
90
  &__quote {
91
91
  margin: 0;
92
92
  position: relative;
93
- padding: 0 0 0 $mg-spacing-400;
93
+ padding: 0 0 0 var(--mg-spacing-400);
94
94
  font-weight: 600;
95
95
  font-size: $mg-font-size-400;
96
96
  font-style: italic;
97
97
  line-height: 1.5;
98
- margin-bottom: $mg-spacing-300;
98
+ margin-bottom: var(--mg-spacing-300);
99
99
  text-wrap: balance;
100
100
 
101
101
  &::before {
102
102
  content: "\201C";
103
103
  position: absolute;
104
104
  left: 0;
105
- top: -$mg-spacing-100;
105
+ top: calc(-1 * var(--mg-spacing-100));
106
106
  font-size: $mg-font-size-1000;
107
107
  font-weight: bold;
108
108
  color: inherit;
@@ -115,7 +115,7 @@
115
115
 
116
116
  [dir="rtl"] & {
117
117
  padding-left: 0;
118
- padding-right: $mg-spacing-400;
118
+ padding-right: var(--mg-spacing-400);
119
119
 
120
120
  &::before {
121
121
  left: auto;
@@ -127,11 +127,11 @@
127
127
  &__separator {
128
128
  height: 4px;
129
129
  width: 100px;
130
- margin: $mg-spacing-100 0 $mg-spacing-200 0;
130
+ margin: var(--mg-spacing-100) 0 var(--mg-spacing-200) 0;
131
131
  }
132
132
 
133
133
  &__attribution {
134
- margin-top: $mg-spacing-100;
134
+ margin-top: var(--mg-spacing-100);
135
135
 
136
136
  &-wrapper {
137
137
  display: flex;
@@ -149,7 +149,7 @@
149
149
  }
150
150
 
151
151
  &-title {
152
- margin: $mg-spacing-50 0 0;
152
+ margin: var(--mg-spacing-50) 0 0;
153
153
  font-size: $mg-font-size-200;
154
154
  }
155
155
  }
@@ -159,12 +159,12 @@
159
159
  height: 50px;
160
160
  border-radius: 50%;
161
161
  overflow: hidden;
162
- margin-right: $mg-spacing-200;
162
+ margin-right: var(--mg-spacing-200);
163
163
  flex-shrink: 0;
164
164
 
165
165
  [dir="rtl"] & {
166
166
  margin-right: 0;
167
- margin-left: $mg-spacing-200;
167
+ margin-left: var(--mg-spacing-200);
168
168
  }
169
169
  }
170
170
 
@@ -199,50 +199,50 @@
199
199
 
200
200
  // Color variants
201
201
  &--light {
202
- background-color: rgba($mg-color-interactive, 0.1);
202
+ background-color: rgb(var(--mg-color-blue-900) / 0.1);
203
203
 
204
204
  .mg-quote-highlight__quote {
205
- color: rgba($mg-color-interactive, 0.9);
205
+ color: rgb(var(--mg-color-blue-900) / 0.9);
206
206
 
207
207
  &::before {
208
- color: rgba($mg-color-interactive, 0.5);
208
+ color: rgb(var(--mg-color-blue-900) / 0.5);
209
209
  }
210
210
  }
211
211
 
212
212
  .mg-quote-highlight__separator {
213
- background-color: rgba($mg-color-interactive, 0.7);
213
+ background-color: rgb(var(--mg-color-blue-900) / 0.7);
214
214
  }
215
215
  }
216
216
 
217
217
  &--dark {
218
- background-color: rgba($mg-color-interactive, 0.7);
219
- color: $mg-color-white;
218
+ background-color: rgb(var(--mg-color-blue-900) / 0.7);
219
+ color: rgb(var(--mg-color-white));
220
220
 
221
221
  .mg-quote-highlight__quote {
222
222
  &::before {
223
- color: rgba($mg-color-white, 0.8);
223
+ color: rgb(var(--mg-color-neutral-0) / 0.8);
224
224
  }
225
225
  }
226
226
 
227
227
  .mg-quote-highlight__separator {
228
- background-color: $mg-color-white;
228
+ background-color: rgb(var(--mg-color-white));
229
229
  }
230
230
  }
231
231
 
232
232
  &--bright {
233
- background-color: $mg-color-white;
234
- border: 1px solid $mg-color-neutral-200;
233
+ background-color: rgb(var(--mg-color-white));
234
+ border: 1px solid rgb(var(--mg-color-neutral-200));
235
235
 
236
236
  .mg-quote-highlight__quote {
237
- color: $mg-color-neutral-900;
237
+ color: rgb(var(--mg-color-neutral-900));
238
238
 
239
239
  &::before {
240
- color: $mg-color-neutral-500;
240
+ color: rgb(var(--mg-color-neutral-500));
241
241
  }
242
242
  }
243
243
 
244
244
  .mg-quote-highlight__separator {
245
- background-color: rgba($mg-color-interactive, 0.7);
245
+ background-color: rgb(var(--mg-color-blue-900) / 0.7);
246
246
  }
247
247
  }
248
248
  }