@undrr/undrr-mangrove 1.8.2 → 2.0.0-alpha.1

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 (139) hide show
  1. package/components/BookCard.js +2 -2
  2. package/components/BookCard.js.LICENSE.txt +2 -2
  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/FormErrorSummary.js +3 -2
  11. package/components/FormGroup.js +3 -2
  12. package/components/FullWidth.js +3 -2
  13. package/components/Gallery.js +2 -2
  14. package/components/Gallery.js.LICENSE.txt +1 -1
  15. package/components/Hero.js +2 -2
  16. package/components/Hero.js.LICENSE.txt +1 -1
  17. package/components/HighlightBox.js +3 -2
  18. package/components/HorizontalBookCard.js +2 -2
  19. package/components/HorizontalBookCard.js.LICENSE.txt +2 -2
  20. package/components/HorizontalCard.js +2 -2
  21. package/components/HorizontalCard.js.LICENSE.txt +2 -2
  22. package/components/IconCard.js +2 -2
  23. package/components/IconCard.js.LICENSE.txt +2 -2
  24. package/components/Loader.js +3 -2
  25. package/components/MegaMenu.js +2 -2
  26. package/components/MegaMenu.js.LICENSE.txt +1 -1
  27. package/components/PageHeader.js +3 -2
  28. package/components/Pager.js +2 -2
  29. package/components/Pager.js.LICENSE.txt +1 -1
  30. package/components/QuoteHighlight.js +3 -2
  31. package/components/Radio.js +3 -2
  32. package/components/ScrollContainer.js +3 -2
  33. package/components/Select.js +3 -2
  34. package/components/ShareButtons.js +2 -2
  35. package/components/ShareButtons.js.LICENSE.txt +1 -1
  36. package/components/ShowMore.js +3 -2
  37. package/components/StatsCard.js +2 -2
  38. package/components/StatsCard.js.LICENSE.txt +11 -1
  39. package/components/SyndicationSearchWidget.js +2 -2
  40. package/components/SyndicationSearchWidget.js.LICENSE.txt +1 -1
  41. package/components/Tab.js +3 -2
  42. package/components/TextCta.js +2 -2
  43. package/components/TextCta.js.LICENSE.txt +11 -1
  44. package/components/TextInput.js +3 -2
  45. package/components/Textarea.js +3 -2
  46. package/components/VerticalCard.js +2 -2
  47. package/components/VerticalCard.js.LICENSE.txt +2 -2
  48. package/components/hydrate.js +1 -1
  49. package/css/style-all.css +384 -0
  50. package/css/style-all.css.map +1 -0
  51. package/css/style-delta.css +81 -168
  52. package/css/style-delta.css.map +1 -1
  53. package/css/style-gutenberg.css +14 -85
  54. package/css/style-gutenberg.css.map +1 -1
  55. package/css/style-irp.css +81 -158
  56. package/css/style-irp.css.map +1 -1
  57. package/css/style-mcr.css +81 -158
  58. package/css/style-mcr.css.map +1 -1
  59. package/css/style-preventionweb.css +81 -158
  60. package/css/style-preventionweb.css.map +1 -1
  61. package/css/style.css +79 -150
  62. package/css/style.css.map +1 -1
  63. package/package.json +1 -1
  64. package/scss/Atom/BaseTypography/Abbr/abbr.scss +1 -1
  65. package/scss/Atom/BaseTypography/Code/code.scss +34 -34
  66. package/scss/Atom/BaseTypography/Mark/mark.scss +2 -2
  67. package/scss/Atom/Images/AuthorImage/author-image.scss +8 -8
  68. package/scss/Atom/Images/ImageCaptionCredit/image-caption-credit.scss +9 -9
  69. package/scss/Atom/Layout/Container/container.scss +2 -4
  70. package/scss/Atom/Layout/Grid/grid.scss +15 -15
  71. package/scss/Atom/Navigation/MenuItems/menu-items.scss +3 -3
  72. package/scss/Atom/ReachElement/Details/details.scss +7 -7
  73. package/scss/Atom/Table/table.scss +8 -8
  74. package/scss/Atom/Tag/tag.scss +32 -32
  75. package/scss/Components/Boilerplate/boilerplate.scss +7 -7
  76. package/scss/Components/Breadcrumbs/breadcrumbs.scss +9 -9
  77. package/scss/Components/Buttons/Chips/chips.scss +8 -8
  78. package/scss/Components/Buttons/CtaButton/cta-button.scss +43 -16
  79. package/scss/Components/Buttons/ShareButtons/share-buttons.scss +16 -16
  80. package/scss/Components/Cards/Card/card.scss +44 -44
  81. package/scss/Components/Cards/StatsCard/stats-card.scss +32 -32
  82. package/scss/Components/CookieConsentBanner/cookie-consent-banner.scss +27 -27
  83. package/scss/Components/ErrorPages/error-pages.scss +7 -7
  84. package/scss/Components/Footer/footer.scss +12 -12
  85. package/scss/Components/Forms/FormGroup/form-group.scss +3 -3
  86. package/scss/Components/Forms/Select/select.scss +1 -1
  87. package/scss/Components/Forms/TextInput/text-input.scss +1 -1
  88. package/scss/Components/Forms/_form-base.scss +54 -54
  89. package/scss/Components/Gallery/gallery.scss +69 -69
  90. package/scss/Components/Hero/hero.scss +52 -52
  91. package/scss/Components/HighlightBox/highlight-box.scss +3 -3
  92. package/scss/Components/MegaMenu/mega-menu.scss +70 -70
  93. package/scss/Components/OnThisPageNav/on-this-page-nav.scss +30 -30
  94. package/scss/Components/PageHeader/page-header.scss +7 -7
  95. package/scss/Components/Pager/pager.scss +43 -43
  96. package/scss/Components/Pagination/pagination.scss +2 -2
  97. package/scss/Components/PreviewAccess/preview-access.scss +35 -35
  98. package/scss/Components/QuoteHighlight/quote-highlight.scss +32 -32
  99. package/scss/Components/ScrollContainer/scroll-container.scss +16 -16
  100. package/scss/Components/Snackbar/snackbar.scss +20 -24
  101. package/scss/Components/SyndicationSearchWidget/syndication-search-widget.scss +135 -135
  102. package/scss/Components/Tab/tab.scss +34 -34
  103. package/scss/Components/TableOfContents/table-of-contents.scss +6 -6
  104. package/scss/Components/TextCta/text-cta.scss +21 -21
  105. package/scss/Molecules/ImageCaption/image-caption.scss +16 -16
  106. package/scss/Molecules/SectionHeader/section-header.scss +1 -1
  107. package/scss/Utilities/FullWidth/full-width.scss +1 -1
  108. package/scss/Utilities/Loader/loader.scss +4 -4
  109. package/scss/assets/scss/_components.scss +0 -1
  110. package/scss/assets/scss/_foundational.scss +20 -25
  111. package/scss/assets/scss/_mixins.scss +1 -1
  112. package/scss/assets/scss/_theme-delta.scss +68 -0
  113. package/scss/assets/scss/_theme-irp.scss +39 -0
  114. package/scss/assets/scss/_theme-mcr.scss +56 -0
  115. package/scss/assets/scss/_theme-preventionweb.scss +37 -0
  116. package/scss/assets/scss/_utility.scss +112 -112
  117. package/scss/assets/scss/_variables.scss +289 -348
  118. package/scss/assets/scss/style-all.scss +19 -0
  119. package/scss/assets/scss/style-delta.scss +1 -1
  120. package/scss/assets/scss/style-irp.scss +1 -1
  121. package/scss/assets/scss/style-mcr.scss +1 -1
  122. package/scss/assets/scss/style-preventionweb.scss +1 -1
  123. package/css/style-irp-legacy.css +0 -476
  124. package/css/style-irp-legacy.css.map +0 -1
  125. package/css/style-legacy.css +0 -469
  126. package/css/style-legacy.css.map +0 -1
  127. package/css/style-mcr-legacy.css +0 -476
  128. package/css/style-mcr-legacy.css.map +0 -1
  129. package/css/style-preventionweb-legacy.css +0 -476
  130. package/css/style-preventionweb-legacy.css.map +0 -1
  131. package/scss/Components/Forms/_form-legacy.scss +0 -152
  132. package/scss/assets/scss/_variables-delta.scss +0 -110
  133. package/scss/assets/scss/_variables-irp.scss +0 -50
  134. package/scss/assets/scss/_variables-mcr.scss +0 -65
  135. package/scss/assets/scss/_variables-preventionweb.scss +0 -48
  136. package/scss/assets/scss/style-irp-legacy.scss +0 -20
  137. package/scss/assets/scss/style-legacy.scss +0 -20
  138. package/scss/assets/scss/style-mcr-legacy.scss +0 -20
  139. package/scss/assets/scss/style-preventionweb-legacy.scss +0 -20
@@ -2,7 +2,7 @@
2
2
  .mg-gallery {
3
3
  position: relative;
4
4
  display: grid;
5
- gap: $mg-spacing-200;
5
+ gap: var(--mg-spacing-200);
6
6
  width: 100%;
7
7
 
8
8
  // Mobile: stack vertically (main → description → thumbnails)
@@ -37,7 +37,7 @@
37
37
  &__main {
38
38
  grid-area: main;
39
39
  position: relative;
40
- background-color: $mg-color-white;
40
+ background-color: rgb(var(--mg-color-white));
41
41
  overflow: hidden;
42
42
  }
43
43
 
@@ -47,14 +47,14 @@
47
47
  }
48
48
 
49
49
  &:focus-visible {
50
- outline: 2px solid $mg-color-interactive;
50
+ outline: 2px solid rgb(var(--mg-color-interactive));
51
51
  outline-offset: 2px;
52
52
  }
53
53
 
54
54
  &__image-wrapper {
55
55
  width: 100%;
56
56
  aspect-ratio: 16 / 9;
57
- background-color: $mg-color-neutral-50;
57
+ background-color: rgb(var(--mg-color-neutral-50));
58
58
  display: flex;
59
59
  align-items: center;
60
60
  justify-content: center;
@@ -84,7 +84,7 @@
84
84
  width: 100%;
85
85
  height: 100%;
86
86
  overflow: auto;
87
- padding: $mg-spacing-200;
87
+ padding: var(--mg-spacing-200);
88
88
  display: flex;
89
89
  flex-direction: column;
90
90
  align-items: center;
@@ -102,10 +102,10 @@
102
102
  }
103
103
 
104
104
  &__spinner {
105
- width: $mg-spacing-300; // 30px
106
- height: $mg-spacing-300;
107
- border: 4px solid $mg-color-neutral-300;
108
- border-top-color: $mg-color-interactive;
105
+ width: var(--mg-spacing-300); // 30px
106
+ height: var(--mg-spacing-300);
107
+ border: 4px solid rgb(var(--mg-color-neutral-300));
108
+ border-top-color: rgb(var(--mg-color-interactive));
109
109
  border-radius: 50%;
110
110
  animation: mg-gallery-spin 0.8s linear infinite;
111
111
  }
@@ -119,10 +119,10 @@
119
119
  // Description area
120
120
  &__description {
121
121
  grid-area: description;
122
- padding: $mg-spacing-150 0;
122
+ padding: var(--mg-spacing-150) 0;
123
123
 
124
124
  @include devicebreak(medium) {
125
- padding: $mg-spacing-150;
125
+ padding: var(--mg-spacing-150);
126
126
  }
127
127
  }
128
128
 
@@ -130,13 +130,13 @@
130
130
  font-family: $mg-font-family-headings;
131
131
  font-size: $mg-font-size-400;
132
132
  font-weight: 700;
133
- margin-bottom: $mg-spacing-50;
134
- color: $mg-color-text;
133
+ margin-bottom: var(--mg-spacing-50);
134
+ color: rgb(var(--mg-color-text));
135
135
  }
136
136
 
137
137
  &__caption {
138
138
  font-size: $mg-font-size-300;
139
- color: $mg-color-neutral-800;
139
+ color: rgb(var(--mg-color-neutral-800));
140
140
  line-height: 1.5;
141
141
  margin: 0;
142
142
  }
@@ -145,8 +145,8 @@
145
145
  &__thumbnails {
146
146
  grid-area: thumbnails;
147
147
  display: flex;
148
- gap: $mg-spacing-100;
149
- padding: $mg-spacing-100 0;
148
+ gap: var(--mg-spacing-100);
149
+ padding: var(--mg-spacing-100) 0;
150
150
 
151
151
  // Mobile: horizontal scroll
152
152
  flex-direction: row;
@@ -172,22 +172,22 @@
172
172
 
173
173
  // Custom scrollbar styling
174
174
  scrollbar-width: thin;
175
- scrollbar-color: $mg-color-neutral-500 $mg-color-neutral-100;
175
+ scrollbar-color: rgb(var(--mg-color-neutral-500)) rgb(var(--mg-color-neutral-100));
176
176
 
177
177
  &::-webkit-scrollbar {
178
- width: $mg-spacing-50;
179
- height: $mg-spacing-50;
178
+ width: var(--mg-spacing-50);
179
+ height: var(--mg-spacing-50);
180
180
  }
181
181
 
182
182
  &::-webkit-scrollbar-track {
183
- background: $mg-color-neutral-100;
183
+ background: rgb(var(--mg-color-neutral-100));
184
184
  }
185
185
 
186
186
  &::-webkit-scrollbar-thumb {
187
- background: $mg-color-neutral-500;
187
+ background: rgb(var(--mg-color-neutral-500));
188
188
 
189
189
  &:hover {
190
- background: $mg-color-neutral-600;
190
+ background: rgb(var(--mg-color-neutral-600));
191
191
  }
192
192
  }
193
193
  }
@@ -195,13 +195,13 @@
195
195
  // Individual thumbnail button
196
196
  &__thumbnail {
197
197
  flex-shrink: 0;
198
- width: $mg-spacing-400; // 50px
199
- height: $mg-spacing-400;
198
+ width: var(--mg-spacing-400); // 50px
199
+ height: var(--mg-spacing-400);
200
200
  border: none;
201
201
  border-left: 4px solid transparent;
202
202
  overflow: hidden;
203
203
  cursor: pointer;
204
- background: $mg-color-neutral-100;
204
+ background: rgb(var(--mg-color-neutral-100));
205
205
  padding: 0;
206
206
  position: relative;
207
207
 
@@ -214,8 +214,8 @@
214
214
  }
215
215
 
216
216
  .mg-gallery--thumbnails-bottom & {
217
- width: $mg-spacing-400;
218
- height: $mg-spacing-400;
217
+ width: var(--mg-spacing-400);
218
+ height: var(--mg-spacing-400);
219
219
  border-left: none;
220
220
  border-bottom: 4px solid transparent;
221
221
  }
@@ -229,11 +229,11 @@
229
229
  }
230
230
 
231
231
  &:hover {
232
- border-left-color: $mg-color-neutral-400;
232
+ border-left-color: rgb(var(--mg-color-neutral-400));
233
233
 
234
234
  .mg-gallery--thumbnails-bottom & {
235
235
  border-left-color: transparent;
236
- border-bottom-color: $mg-color-neutral-400;
236
+ border-bottom-color: rgb(var(--mg-color-neutral-400));
237
237
  }
238
238
  }
239
239
 
@@ -242,12 +242,12 @@
242
242
  }
243
243
 
244
244
  &:focus-visible {
245
- outline: 2px solid $mg-color-interactive;
245
+ outline: 2px solid rgb(var(--mg-color-interactive));
246
246
  outline-offset: 2px;
247
247
  }
248
248
 
249
249
  &--active {
250
- border-left-color: $mg-color-interactive;
250
+ border-left-color: rgb(var(--mg-color-interactive));
251
251
 
252
252
  &::after {
253
253
  content: "";
@@ -257,13 +257,13 @@
257
257
  bottom: 0;
258
258
  width: 1px;
259
259
  opacity: 0.5;
260
- background: $mg-color-white;
260
+ background: rgb(var(--mg-color-white));
261
261
  pointer-events: none;
262
262
  }
263
263
 
264
264
  .mg-gallery--thumbnails-bottom & {
265
265
  border-left-color: transparent;
266
- border-bottom-color: $mg-color-interactive;
266
+ border-bottom-color: rgb(var(--mg-color-interactive));
267
267
 
268
268
  &::after {
269
269
  top: auto;
@@ -277,7 +277,7 @@
277
277
  }
278
278
 
279
279
  &--html {
280
- background: $mg-color-neutral-200;
280
+ background: rgb(var(--mg-color-neutral-200));
281
281
  }
282
282
  }
283
283
 
@@ -288,7 +288,7 @@
288
288
  width: 100%;
289
289
  height: 100%;
290
290
  font-size: $mg-font-size-400;
291
- color: $mg-color-neutral-600;
291
+ color: rgb(var(--mg-color-neutral-600));
292
292
  }
293
293
 
294
294
  &__thumbnail-html-preview {
@@ -301,7 +301,7 @@
301
301
  display: flex;
302
302
  align-items: center;
303
303
  justify-content: center;
304
- background: $mg-color-neutral-50;
304
+ background: rgb(var(--mg-color-neutral-50));
305
305
  }
306
306
 
307
307
  &__thumbnail-html-content {
@@ -329,13 +329,13 @@
329
329
  top: 50%;
330
330
  left: 50%;
331
331
  transform: translate(-50%, -50%);
332
- width: $mg-spacing-200; // 20px
333
- height: $mg-spacing-200;
332
+ width: var(--mg-spacing-200); // 20px
333
+ height: var(--mg-spacing-200);
334
334
  display: flex;
335
335
  align-items: center;
336
336
  justify-content: center;
337
337
  background: rgb(0 0 0 / 0.6);
338
- color: $mg-color-white;
338
+ color: rgb(var(--mg-color-white));
339
339
  font-size: $mg-font-size-100; // 10px
340
340
  pointer-events: none;
341
341
  padding-left: 2px;
@@ -346,11 +346,11 @@
346
346
  position: absolute;
347
347
  top: 50%;
348
348
  transform: translateY(-50%);
349
- width: $mg-spacing-300;
350
- height: $mg-spacing-300;
349
+ width: var(--mg-spacing-300);
350
+ height: var(--mg-spacing-300);
351
351
  border: none;
352
- background: $mg-color-neutral-700;
353
- color: $mg-color-white;
352
+ background: rgb(var(--mg-color-neutral-700));
353
+ color: rgb(var(--mg-color-white));
354
354
  font-size: $mg-font-size-400;
355
355
  cursor: pointer;
356
356
  z-index: 2; // nav button above gallery images — local to gallery stacking context
@@ -361,7 +361,7 @@
361
361
  @include transition(background-color 0.2s, opacity 0.2s);
362
362
 
363
363
  &:hover {
364
- background: $mg-color-neutral-600;
364
+ background: rgb(var(--mg-color-neutral-600));
365
365
  }
366
366
 
367
367
  &:focus {
@@ -369,36 +369,36 @@
369
369
  }
370
370
 
371
371
  &:focus-visible {
372
- outline: 2px solid $mg-color-interactive;
372
+ outline: 2px solid rgb(var(--mg-color-interactive));
373
373
  outline-offset: 2px;
374
374
  }
375
375
 
376
376
  &:disabled {
377
- background: $mg-color-neutral-300;
377
+ background: rgb(var(--mg-color-neutral-300));
378
378
  cursor: not-allowed;
379
379
  opacity: 0.5;
380
380
  }
381
381
 
382
382
  &--prev {
383
- left: $mg-spacing-100;
383
+ left: var(--mg-spacing-100);
384
384
  }
385
385
 
386
386
  &--next {
387
- right: $mg-spacing-100;
387
+ right: var(--mg-spacing-100);
388
388
  }
389
389
 
390
390
  // Smaller arrows on mobile to avoid overlap with content
391
391
  @include devicebreak(small) {
392
- width: $mg-spacing-250;
393
- height: $mg-spacing-250;
392
+ width: var(--mg-spacing-250);
393
+ height: var(--mg-spacing-250);
394
394
  font-size: $mg-font-size-300;
395
395
 
396
396
  &--prev {
397
- left: $mg-spacing-50;
397
+ left: var(--mg-spacing-50);
398
398
  }
399
399
 
400
400
  &--next {
401
- right: $mg-spacing-50;
401
+ right: var(--mg-spacing-50);
402
402
  }
403
403
  }
404
404
  }
@@ -406,19 +406,19 @@
406
406
  // Corner arrow controls (bottom right position)
407
407
  &__arrow-controls {
408
408
  position: absolute;
409
- bottom: $mg-spacing-100;
410
- right: $mg-spacing-100;
409
+ bottom: var(--mg-spacing-100);
410
+ right: var(--mg-spacing-100);
411
411
  display: flex;
412
- gap: $mg-spacing-100;
412
+ gap: var(--mg-spacing-100);
413
413
  z-index: 2; // arrow controls above gallery images — local to gallery stacking context
414
414
  }
415
415
 
416
416
  &__arrow-button {
417
- width: $mg-spacing-300;
418
- height: $mg-spacing-300;
417
+ width: var(--mg-spacing-300);
418
+ height: var(--mg-spacing-300);
419
419
  border: none;
420
- background: $mg-color-neutral-700;
421
- color: $mg-color-white;
420
+ background: rgb(var(--mg-color-neutral-700));
421
+ color: rgb(var(--mg-color-white));
422
422
  font-size: $mg-font-size-400;
423
423
  cursor: pointer;
424
424
  display: flex;
@@ -428,7 +428,7 @@
428
428
  @include transition(background-color 0.2s, opacity 0.2s);
429
429
 
430
430
  &:hover {
431
- background: $mg-color-neutral-600;
431
+ background: rgb(var(--mg-color-neutral-600));
432
432
  }
433
433
 
434
434
  &:focus {
@@ -436,12 +436,12 @@
436
436
  }
437
437
 
438
438
  &:focus-visible {
439
- outline: 2px solid $mg-color-interactive;
439
+ outline: 2px solid rgb(var(--mg-color-interactive));
440
440
  outline-offset: 2px;
441
441
  }
442
442
 
443
443
  &:disabled {
444
- background: $mg-color-neutral-300;
444
+ background: rgb(var(--mg-color-neutral-300));
445
445
  cursor: not-allowed;
446
446
  opacity: 0.5;
447
447
  }
@@ -460,11 +460,11 @@
460
460
  border-right: 4px solid transparent;
461
461
 
462
462
  &:hover {
463
- border-right-color: $mg-color-neutral-400;
463
+ border-right-color: rgb(var(--mg-color-neutral-400));
464
464
  }
465
465
 
466
466
  &--active {
467
- border-right-color: $mg-color-interactive;
467
+ border-right-color: rgb(var(--mg-color-interactive));
468
468
 
469
469
  &::after {
470
470
  left: auto;
@@ -475,25 +475,25 @@
475
475
 
476
476
  &__arrow--prev {
477
477
  left: auto;
478
- right: $mg-spacing-100;
478
+ right: var(--mg-spacing-100);
479
479
 
480
480
  @include devicebreak(small) {
481
- right: $mg-spacing-50;
481
+ right: var(--mg-spacing-50);
482
482
  }
483
483
  }
484
484
 
485
485
  &__arrow--next {
486
486
  right: auto;
487
- left: $mg-spacing-100;
487
+ left: var(--mg-spacing-100);
488
488
 
489
489
  @include devicebreak(small) {
490
- left: $mg-spacing-50;
490
+ left: var(--mg-spacing-50);
491
491
  }
492
492
  }
493
493
 
494
494
  &__arrow-controls {
495
495
  right: auto;
496
- left: $mg-spacing-100;
496
+ left: var(--mg-spacing-100);
497
497
  }
498
498
  }
499
499
  }
@@ -9,12 +9,12 @@
9
9
  .mg-hero {
10
10
  background-size: cover;
11
11
  background-position: center;
12
- color: $mg-color-neutral-0;
12
+ color: rgb(var(--mg-color-neutral-0));
13
13
  display: grid;
14
14
  grid-template-columns: 1fr;
15
15
  position: relative;
16
16
  margin-left: calc(50% - (50vw)); // to expand out of the parent container
17
- padding-left: $mg-spacing-100;
17
+ padding-left: var(--mg-spacing-100);
18
18
  width: 100vw;
19
19
 
20
20
  @media (min-width: $mg-breakpoint-tablet) {
@@ -30,44 +30,44 @@
30
30
  a.mg-button,
31
31
  a.mg-button:hover,
32
32
  a.mg-button:visited {
33
- color: $mg-color-hero;
33
+ color: rgb(var(--mg-color-hero));
34
34
  }
35
35
 
36
36
  a.mg-button-primary {
37
- background-color: $mg-color-neutral-0;
37
+ background-color: rgb(var(--mg-color-neutral-0));
38
38
  }
39
39
 
40
40
  a.mg-button-secondary,
41
41
  a.mg-button-secondary:hover,
42
42
  a.mg-button-secondary:visited {
43
- background-color: $mg-color-hero-button-secondary-background;
44
- color: $mg-color-hero-button-secondary-color;
45
- border-color: $mg-border-color-hero-button-secondary;
43
+ background-color: var(--mg-color-hero-button-secondary-background);
44
+ color: rgb(var(--mg-color-hero-button-secondary-color));
45
+ border-color: rgb(var(--mg-border-color-hero-button-secondary));
46
46
  }
47
47
 
48
48
  a.mg-button:focus-visible {
49
- box-shadow: 0 0 0 2px $mg-color-neutral-0;
50
- outline: 2px solid $mg-color-neutral-0;
49
+ box-shadow: 0 0 0 2px rgb(var(--mg-color-neutral-0));
50
+ outline: 2px solid rgb(var(--mg-color-neutral-0));
51
51
  outline-offset: 2px;
52
52
  }
53
53
 
54
54
  &__overlay {
55
55
  align-items: center;
56
- background-color: rgba($mg-color-hero, $mg-opacity-hero);
56
+ background-color: rgb(var(--mg-color-blue-900) / var(--mg-opacity-hero));
57
57
  display: grid;
58
- margin: $mg-spacing-hero-overlay;
59
- max-width: $mg-hero-overlay-max-width;
60
- padding: $mg-hero-overlay-padding;
58
+ margin: var(--mg-spacing-hero-overlay);
59
+ max-width: var(--mg-hero-overlay-max-width);
60
+ padding: var(--mg-hero-overlay-padding);
61
61
  }
62
62
 
63
63
  &__content {
64
64
  display: grid;
65
- margin-top: $mg-spacing-25;
65
+ margin-top: var(--mg-spacing-25);
66
66
  row-gap: mg-rem(10);
67
67
  }
68
68
 
69
69
  &__meta {
70
- padding-bottom: $mg-spacing-25;
70
+ padding-bottom: var(--mg-spacing-25);
71
71
 
72
72
  &.meta-detail {
73
73
  display: flex;
@@ -80,8 +80,8 @@
80
80
  font-family: $mg-font-family-headings;
81
81
  font-size: $mg-font-tag;
82
82
  font-weight: bold;
83
- margin-right: $mg-spacing-25;
84
- padding: $mg-spacing-25 0;
83
+ margin-right: var(--mg-spacing-25);
84
+ padding: var(--mg-spacing-25) 0;
85
85
 
86
86
  &.detail {
87
87
  font-weight: normal;
@@ -92,13 +92,13 @@
92
92
  a,
93
93
  a:hover,
94
94
  a:visited {
95
- color: $mg-color-neutral-0;
95
+ color: rgb(var(--mg-color-neutral-0));
96
96
  }
97
97
 
98
98
  // Title styles (for both <h1> and <a>)
99
99
  &__title {
100
- color: $mg-color-hero-title;
101
- margin-bottom: $mg-spacing-25;
100
+ color: rgb(var(--mg-color-hero-title));
101
+ margin-bottom: var(--mg-spacing-25);
102
102
  display: inline-block;
103
103
  font-family: $mg-font-family-headings;
104
104
  font-weight: bold;
@@ -108,7 +108,7 @@
108
108
  a,
109
109
  a:hover,
110
110
  a:visited {
111
- color: $mg-color-hero-title;
111
+ color: rgb(var(--mg-color-hero-title));
112
112
  }
113
113
 
114
114
  // General text styles for larger text
@@ -135,7 +135,7 @@
135
135
  h4,
136
136
  h5,
137
137
  h6 {
138
- color: $mg-color-hero-title;
138
+ color: rgb(var(--mg-color-hero-title));
139
139
  font-weight: bold;
140
140
  font-size: $mg-font-size-600;
141
141
 
@@ -161,14 +161,14 @@
161
161
  &__summaryText {
162
162
  @include mg-typography("small");
163
163
 
164
- margin-bottom: $mg-spacing-25;
164
+ margin-bottom: var(--mg-spacing-25);
165
165
  }
166
166
  }
167
167
 
168
168
  .mg-hero__buttons {
169
- padding-top: $mg-spacing-75;
169
+ padding-top: var(--mg-spacing-75);
170
170
  display: flex;
171
- padding-bottom: $mg-spacing-50;
171
+ padding-bottom: var(--mg-spacing-50);
172
172
  }
173
173
 
174
174
  // Child variant
@@ -179,29 +179,29 @@
179
179
  }
180
180
 
181
181
  // Stylistic variants
182
- $variant-colours: (
183
- "secondary": $mg-color-hero--secondary,
184
- "tertiary": $mg-color-hero--tertiary,
185
- "quaternary": $mg-color-hero--quaternary,
182
+ $variant-colour-props: (
183
+ "secondary": "--mg-color-orange-800",
184
+ "tertiary": "--mg-color-neutral-900",
185
+ "quaternary": "--mg-color-red-800",
186
186
  );
187
187
 
188
- @each $name, $color in $variant-colours {
188
+ @each $name, $prop in $variant-colour-props {
189
189
  .mg-hero--#{$name} .mg-hero__overlay {
190
- background-color: rgba($color, $mg-opacity-hero);
190
+ background-color: rgb(var(#{$prop}) / var(--mg-opacity-hero));
191
191
 
192
192
  a.mg-button,
193
193
  a.mg-button:hover,
194
194
  a.mg-button:visited {
195
- color: #{$color};
195
+ color: rgb(var(#{$prop}));
196
196
  }
197
197
 
198
198
  // Preserve secondary button's dedicated tokens over the generic color above
199
199
  a.mg-button-secondary,
200
200
  a.mg-button-secondary:hover,
201
201
  a.mg-button-secondary:visited {
202
- background-color: $mg-color-hero-button-secondary-background;
203
- color: $mg-color-hero-button-secondary-color;
204
- border-color: $mg-border-color-hero-button-secondary;
202
+ background-color: var(--mg-color-hero-button-secondary-background);
203
+ color: rgb(var(--mg-color-hero-button-secondary-color));
204
+ border-color: rgb(var(--mg-border-color-hero-button-secondary));
205
205
  }
206
206
  }
207
207
  }
@@ -209,7 +209,7 @@ $variant-colours: (
209
209
  // RTL tweaks (background layout only)
210
210
  [dir="rtl"] .mg-hero:not(.mg-hero--split) {
211
211
  margin-right: calc(50% - (50vw)); // to expand out of the parent container
212
- padding-right: $mg-spacing-100;
212
+ padding-right: var(--mg-spacing-100);
213
213
 
214
214
  @media (min-width: $mg-breakpoint-tablet) {
215
215
  padding-right: calc(50vw - calc($mg-breakpoint-desktop / 2)); // to keep the overlay fixed
@@ -227,31 +227,31 @@ $variant-colours: (
227
227
 
228
228
  // Reset background-layout padding offsets
229
229
  padding-left: 0;
230
- background-color: $mg-color-hero;
230
+ background-color: rgb(var(--mg-color-hero));
231
231
 
232
232
  // Button/CTA overrides (mirrors background layout, but scoped to split section
233
233
  // since there is no __overlay to target)
234
234
  a.mg-button,
235
235
  a.mg-button:hover,
236
236
  a.mg-button:visited {
237
- color: $mg-color-hero;
237
+ color: rgb(var(--mg-color-hero));
238
238
  }
239
239
 
240
240
  a.mg-button-primary {
241
- background-color: $mg-color-neutral-0;
241
+ background-color: rgb(var(--mg-color-neutral-0));
242
242
  }
243
243
 
244
244
  a.mg-button-secondary,
245
245
  a.mg-button-secondary:hover,
246
246
  a.mg-button-secondary:visited {
247
- background-color: $mg-color-hero-button-secondary-background;
248
- color: $mg-color-hero-button-secondary-color;
249
- border-color: $mg-border-color-hero-button-secondary;
247
+ background-color: var(--mg-color-hero-button-secondary-background);
248
+ color: rgb(var(--mg-color-hero-button-secondary-color));
249
+ border-color: rgb(var(--mg-border-color-hero-button-secondary));
250
250
  }
251
251
 
252
252
  a.mg-button:focus-visible {
253
- box-shadow: 0 0 0 2px $mg-color-neutral-0;
254
- outline: 2px solid $mg-color-neutral-0;
253
+ box-shadow: 0 0 0 2px rgb(var(--mg-color-neutral-0));
254
+ outline: 2px solid rgb(var(--mg-color-neutral-0));
255
255
  outline-offset: 2px;
256
256
  }
257
257
 
@@ -286,7 +286,7 @@ $variant-colours: (
286
286
  .mg-hero__content {
287
287
  display: grid;
288
288
  row-gap: mg-rem(10);
289
- padding: $mg-spacing-200 $mg-spacing-100;
289
+ padding: var(--mg-spacing-200) var(--mg-spacing-100);
290
290
  align-content: center;
291
291
  }
292
292
 
@@ -332,13 +332,13 @@ $variant-colours: (
332
332
  position: absolute;
333
333
  inset-inline: 0;
334
334
  inset-block-end: 0;
335
- background: rgba($mg-color-neutral-900, 0.75);
336
- color: $mg-color-neutral-0;
337
- padding: $mg-spacing-50 $mg-spacing-100;
335
+ background: rgb(var(--mg-color-neutral-900) / 0.75);
336
+ color: rgb(var(--mg-color-neutral-0));
337
+ padding: var(--mg-spacing-50) var(--mg-spacing-100);
338
338
  display: flex;
339
339
  justify-content: space-between;
340
340
  align-items: center;
341
- gap: $mg-spacing-100;
341
+ gap: var(--mg-spacing-100);
342
342
  }
343
343
  }
344
344
  }
@@ -359,14 +359,14 @@ $variant-colours: (
359
359
  }
360
360
 
361
361
  // Variant colours at full opacity for split (no rgba wrapper needed — no photo underneath)
362
- @each $name, $color in $variant-colours {
362
+ @each $name, $prop in $variant-colour-props {
363
363
  .mg-hero--split.mg-hero--#{$name} {
364
- background-color: $color;
364
+ background-color: rgb(var(#{$prop}));
365
365
 
366
366
  a.mg-button,
367
367
  a.mg-button:hover,
368
368
  a.mg-button:visited {
369
- color: #{$color};
369
+ color: rgb(var(#{$prop}));
370
370
  }
371
371
  }
372
372
  }
@@ -21,18 +21,18 @@
21
21
 
22
22
  // Tone variants
23
23
  .mg-highlight-box--primary {
24
- background: var(--button-color-background, #{$mg-color-blue-900});
24
+ background: var(--button-color-background, #{rgb(var(--mg-color-blue-900))});
25
25
  }
26
26
 
27
27
  .mg-highlight-box--secondary {
28
- background: var(--tag-color-background-purple, #{$sendai-purple});
28
+ background: var(--tag-color-background-purple, var(--sendai-purple));
29
29
  }
30
30
 
31
31
  .mg-highlight-box.mg-highlight-box--primary,
32
32
  .mg-highlight-box.mg-highlight-box--secondary {
33
33
  border: none;
34
34
  box-shadow: inset 0 -8px 0 0 rgb(255 255 255 / 0.5);
35
- color: $mg-color-white;
35
+ color: rgb(var(--mg-color-white));
36
36
 
37
37
  // Force every descendant to inherit the variant's white color. The double
38
38
  // class selector and descendant `*` give us specificity (0,2,1) so we beat