@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
@@ -1,5 +1,5 @@
1
1
  .mg-tabs__list {
2
- background: $mg-color-tabbar-background;
2
+ background: var(--mg-color-tabbar-background);
3
3
  width: 100%;
4
4
  margin: 0;
5
5
  display: -webkit-inline-box;
@@ -15,11 +15,11 @@
15
15
  content: " ";
16
16
  width: 100%;
17
17
  height: 1px;
18
- top: -$mg-spacing-25;
19
- margin-bottom: -$mg-spacing-25;
18
+ top: calc(-1 * var(--mg-spacing-25));
19
+ margin-bottom: calc(-1 * var(--mg-spacing-25));
20
20
  position: relative;
21
21
  z-index: 1; // border indicator floats above the tab list background — local to tabbar
22
- border-bottom: $mg-spacing-25 solid $mg-color-tab-border;
22
+ border-bottom: var(--mg-spacing-25) solid var(--mg-color-tab-border);
23
23
  }
24
24
  }
25
25
  }
@@ -56,11 +56,11 @@
56
56
 
57
57
  .mg-tabs__item {
58
58
  width: 100%; // Make each tab take full width
59
- margin-bottom: $mg-spacing-25; // Add spacing between tabs
59
+ margin-bottom: var(--mg-spacing-25); // Add spacing between tabs
60
60
  }
61
61
 
62
62
  .mg-tabs__section {
63
- padding: $mg-spacing-150;
63
+ padding: var(--mg-spacing-150);
64
64
  }
65
65
 
66
66
  .mg-tabs__link {
@@ -74,7 +74,7 @@
74
74
 
75
75
  &:before {
76
76
  position: absolute;
77
- right: $mg-spacing-150;
77
+ right: var(--mg-spacing-150);
78
78
  top: 50%;
79
79
  border-style: solid;
80
80
  border-width: 0.2em 0.2em 0 0;
@@ -148,53 +148,53 @@
148
148
 
149
149
  .mg-tabs__link {
150
150
  border: none;
151
- border-radius: $mg-radius-tab;
152
- background: $mg-color-tab-background--inactive;
153
- color: $mg-color-text-tab;
151
+ border-radius: var(--mg-radius-tab);
152
+ background: var(--mg-color-tab-background--inactive);
153
+ color: var(--mg-color-text-tab);
154
154
  font-family: $mg-font-family-headings;
155
155
  font-size: $mg-font-size-400;
156
156
  font-weight: 600;
157
157
  line-height: 1.421;
158
158
  margin: 0;
159
159
  display: block;
160
- padding: $mg-padding-tab;
160
+ padding: var(--mg-padding-tab);
161
161
  position: relative;
162
162
  text-decoration: none;
163
163
  }
164
164
 
165
165
  .mg-tabs__link:hover,
166
166
  .mg-tabs__link:focus-visible {
167
- background: $mg-color-tab-background--hover;
168
- border-bottom: $mg-spacing-25 solid $mg-color-tab-border--hover;
169
- color: $mg-color-text-tab--hover;
167
+ background: var(--mg-color-tab-background--hover);
168
+ border-bottom: var(--mg-spacing-25) solid var(--mg-color-tab-border--hover);
169
+ color: var(--mg-color-text-tab--hover);
170
170
  z-index: 2; // border-overlap micro-fix within tabbar stacking context
171
171
  text-decoration: none;
172
172
  }
173
173
 
174
174
  .mg-tabs__link:focus-visible {
175
- outline: 2px solid $mg-color-interactive;
175
+ outline: 2px solid rgb(var(--mg-color-interactive));
176
176
  outline-offset: -2px;
177
177
  }
178
178
 
179
179
  .mg-tabs__link.is-active {
180
- color: $mg-color-text-tab-active;
181
- background-color: $mg-color-tab-background;
180
+ color: var(--mg-color-text-tab-active);
181
+ background-color: var(--mg-color-tab-background);
182
182
  text-shadow: none;
183
- border-bottom: $mg-spacing-25 solid $mg-color-tab-border--active;
183
+ border-bottom: var(--mg-spacing-25) solid var(--mg-color-tab-border--active);
184
184
  }
185
185
 
186
186
  .mg-tabs__link.is-active:hover,
187
187
  .mg-tabs__link.is-active:focus-visible {
188
- background: $mg-color-tab-background;
189
- border-bottom: $mg-spacing-25 solid $mg-color-tab-border--hover;
190
- color: $mg-color-text-tab-active;
188
+ background: var(--mg-color-tab-background);
189
+ border-bottom: var(--mg-spacing-25) solid var(--mg-color-tab-border--hover);
190
+ color: var(--mg-color-text-tab-active);
191
191
  }
192
192
 
193
193
  .mg-tabs__section {
194
- background-color: $mg-color-tab-section-background;
195
- box-shadow: $mg-box-shadow-tab-section;
196
- padding: $mg-padding-tab-section;
197
- border-radius: 0 0 $mg-radius-tab-section $mg-radius-tab-section;
194
+ background-color: var(--mg-color-tab-section-background);
195
+ box-shadow: var(--mg-box-shadow-tab-section);
196
+ padding: var(--mg-padding-tab-section);
197
+ border-radius: 0 0 var(--mg-radius-tab-section) var(--mg-radius-tab-section);
198
198
 
199
199
  // ensure tab content is available to interaction
200
200
  // https://gitlab.com/undrr/web-backlog/-/issues/1929
@@ -207,11 +207,11 @@
207
207
  padding-right: 0;
208
208
 
209
209
  @include devicebreak(medium) {
210
- padding-right: $mg-spacing-300;
210
+ padding-right: var(--mg-spacing-300);
211
211
  }
212
212
 
213
213
  li {
214
- margin-left: $mg-spacing-100;
214
+ margin-left: var(--mg-spacing-100);
215
215
  margin-right: 0;
216
216
  padding-right: 0;
217
217
  }
@@ -220,24 +220,24 @@
220
220
 
221
221
  // Flip stacked chevron for RTL
222
222
  .mg-tabs--stacked .mg-tabs__link {
223
- padding-right: $mg-padding-tab;
223
+ padding-right: var(--mg-padding-tab);
224
224
  padding-left: mg-rem(40);
225
225
 
226
226
  &:before {
227
227
  right: auto;
228
- left: $mg-spacing-150;
228
+ left: var(--mg-spacing-150);
229
229
  }
230
230
  }
231
231
 
232
232
  // Horizontal tabs only have chevrons at mobile breakpoint
233
233
  @media (max-width: $mg-breakpoint-mobile) {
234
234
  .mg-tabs--horizontal .mg-tabs__link {
235
- padding-right: $mg-padding-tab;
235
+ padding-right: var(--mg-padding-tab);
236
236
  padding-left: mg-rem(40);
237
237
 
238
238
  &:before {
239
239
  right: auto;
240
- left: $mg-spacing-150;
240
+ left: var(--mg-spacing-150);
241
241
  }
242
242
  }
243
243
  }
@@ -252,7 +252,7 @@
252
252
 
253
253
  // Filter input for stacked tabs
254
254
  .mg-tabs__filter {
255
- margin-bottom: $mg-spacing-150;
255
+ margin-bottom: var(--mg-spacing-150);
256
256
  }
257
257
 
258
258
  .mg-tabs__filter-input {
@@ -265,8 +265,8 @@
265
265
  }
266
266
 
267
267
  .mg-tabs__no-results {
268
- padding: $mg-spacing-150;
269
- color: $mg-color-text-tab-no-results;
268
+ padding: var(--mg-spacing-150);
269
+ color: var(--mg-color-text-tab-no-results);
270
270
  font-style: italic;
271
271
  }
272
272
 
@@ -1,17 +1,17 @@
1
1
  .mg-table-of-contents {
2
- // background-color: $mg-color-neutral-50;
3
- // padding: $mg-spacing-150;
4
- // margin-bottom: $mg-spacing-50;
2
+ // background-color: rgb(var(--mg-color-neutral-50));
3
+ // padding: var(--mg-spacing-150);
4
+ // margin-bottom: var(--mg-spacing-50);
5
5
  // width: 400px;
6
6
  // max-width: 100%;
7
7
 
8
8
  li {
9
- margin-left: $mg-spacing-50;
10
- margin-bottom: $mg-spacing-50;
9
+ margin-left: var(--mg-spacing-50);
10
+ margin-bottom: var(--mg-spacing-50);
11
11
  }
12
12
  }
13
13
 
14
14
  // .mg-on-this-page-header {
15
15
  // font-size: $mg-font-size-400;
16
- // margin-bottom: $mg-spacing-100;
16
+ // margin-bottom: var(--mg-spacing-100);
17
17
  // }
@@ -1,7 +1,7 @@
1
1
  /* CTA banner start */
2
2
 
3
3
  .mg-cta {
4
- padding: $mg-cta-padding;
4
+ padding: var(--mg-cta-padding);
5
5
  background-color: var(--mg-cta-bg, initial);
6
6
 
7
7
  &__inner {
@@ -13,17 +13,17 @@
13
13
  }
14
14
 
15
15
  &__headline {
16
- color: $mg-color-white;
16
+ color: rgb(var(--mg-color-white));
17
17
  font-weight: 700;
18
- margin-bottom: $mg-spacing-100;
18
+ margin-bottom: var(--mg-spacing-100);
19
19
  }
20
20
 
21
21
  &__text {
22
- color: rgba($mg-color-white, 0.9);
23
- margin-bottom: $mg-spacing-150;
22
+ color: rgb(var(--mg-color-neutral-0) / 0.9);
23
+ margin-bottom: var(--mg-spacing-150);
24
24
 
25
25
  p {
26
- margin-bottom: $mg-spacing-75;
26
+ margin-bottom: var(--mg-spacing-75);
27
27
 
28
28
  &:last-child {
29
29
  margin-bottom: 0;
@@ -31,7 +31,7 @@
31
31
  }
32
32
 
33
33
  a {
34
- color: $mg-color-white;
34
+ color: rgb(var(--mg-color-white));
35
35
  text-decoration: underline;
36
36
  }
37
37
  }
@@ -39,8 +39,8 @@
39
39
  &__actions {
40
40
  display: flex;
41
41
  flex-wrap: wrap;
42
- gap: $mg-spacing-100;
43
- margin-top: $mg-spacing-150;
42
+ gap: var(--mg-spacing-100);
43
+ margin-top: var(--mg-spacing-150);
44
44
  }
45
45
 
46
46
  &__image {
@@ -70,7 +70,7 @@
70
70
  display: grid;
71
71
  grid-template-columns: 1fr;
72
72
  align-items: center;
73
- gap: $mg-spacing-200;
73
+ gap: var(--mg-spacing-200);
74
74
  }
75
75
 
76
76
  .mg-cta__body {
@@ -95,43 +95,43 @@
95
95
 
96
96
  // Color variants — same system as Hero
97
97
  &--primary {
98
- background-color: $mg-color-hero;
98
+ background-color: rgb(var(--mg-color-hero));
99
99
  }
100
100
 
101
101
  &--secondary {
102
- background-color: $mg-color-hero--secondary;
102
+ background-color: rgb(var(--mg-color-hero--secondary));
103
103
  }
104
104
 
105
105
  &--tertiary {
106
- background-color: $mg-color-hero--tertiary;
106
+ background-color: rgb(var(--mg-color-hero--tertiary));
107
107
  }
108
108
 
109
109
  &--quaternary {
110
- background-color: $mg-color-hero--quaternary;
110
+ background-color: rgb(var(--mg-color-hero--quaternary));
111
111
  }
112
112
 
113
113
  // Button overrides for dark backgrounds (matches Hero pattern)
114
114
  a.mg-button,
115
115
  a.mg-button:hover,
116
116
  a.mg-button:visited {
117
- color: $mg-color-hero;
117
+ color: rgb(var(--mg-color-hero));
118
118
  }
119
119
 
120
120
  a.mg-button-primary {
121
- background-color: $mg-color-neutral-0;
121
+ background-color: rgb(var(--mg-color-neutral-0));
122
122
  }
123
123
 
124
124
  a.mg-button-secondary,
125
125
  a.mg-button-secondary:hover,
126
126
  a.mg-button-secondary:visited {
127
- background-color: $mg-color-hero-button-secondary-background;
128
- color: $mg-color-hero-button-secondary-color;
129
- border-color: $mg-border-color-hero-button-secondary;
127
+ background-color: var(--mg-color-hero-button-secondary-background);
128
+ color: rgb(var(--mg-color-hero-button-secondary-color));
129
+ border-color: rgb(var(--mg-border-color-hero-button-secondary));
130
130
  }
131
131
 
132
132
  a.mg-button:focus-visible {
133
- box-shadow: 0 0 0 2px $mg-color-neutral-0;
134
- outline: 2px solid $mg-color-neutral-0;
133
+ box-shadow: 0 0 0 2px rgb(var(--mg-color-neutral-0));
134
+ outline: 2px solid rgb(var(--mg-color-neutral-0));
135
135
  outline-offset: 2px;
136
136
  }
137
137
  }
@@ -1,17 +1,17 @@
1
1
  /* image caption start */
2
2
  .mg-image-caption {
3
- border-bottom: 2px solid $mg-color-black;
3
+ border-bottom: 2px solid rgb(var(--mg-color-black));
4
4
 
5
5
  @include devicebreak(medium) {
6
6
  display: flex;
7
7
  justify-content: space-between;
8
- padding-bottom: $mg-spacing-150;
8
+ padding-bottom: var(--mg-spacing-150);
9
9
  }
10
10
 
11
11
  p {
12
- color: $mg-color-neutral-600;
12
+ color: rgb(var(--mg-color-neutral-600));
13
13
  font-size: $mg-font-size-200;
14
- margin-bottom: $mg-spacing-50;
14
+ margin-bottom: var(--mg-spacing-50);
15
15
 
16
16
  @include devicebreak(medium) {
17
17
  border: 0;
@@ -20,20 +20,20 @@
20
20
  }
21
21
 
22
22
  + .mg-credits {
23
- border-top: 1px solid $mg-color-neutral-500;
23
+ border-top: 1px solid rgb(var(--mg-color-neutral-500));
24
24
  display: flex;
25
25
  flex-shrink: 0;
26
26
  flex-wrap: wrap;
27
- margin-bottom: $mg-spacing-50;
28
- padding-top: $mg-spacing-50;
27
+ margin-bottom: var(--mg-spacing-50);
28
+ padding-top: var(--mg-spacing-50);
29
29
 
30
30
  @include devicebreak(medium) {
31
- border-left: 1px solid $mg-color-neutral-500;
31
+ border-left: 1px solid rgb(var(--mg-color-neutral-500));
32
32
  border-top: 0;
33
33
  display: block;
34
34
  margin-bottom: 0;
35
- margin-left: $mg-spacing-150;
36
- padding-left: $mg-spacing-150;
35
+ margin-left: var(--mg-spacing-150);
36
+ padding-left: var(--mg-spacing-150);
37
37
  padding-top: 0;
38
38
  }
39
39
  }
@@ -41,7 +41,7 @@
41
41
 
42
42
  .mg-credits {
43
43
  display: flex;
44
- margin-bottom: $mg-spacing-50;
44
+ margin-bottom: var(--mg-spacing-50);
45
45
 
46
46
  @include devicebreak(medium) {
47
47
  border-top: 0;
@@ -51,7 +51,7 @@
51
51
  }
52
52
 
53
53
  strong {
54
- margin-left: $mg-spacing-25;
54
+ margin-left: var(--mg-spacing-25);
55
55
 
56
56
  @include devicebreak(medium) {
57
57
  margin-left: 0;
@@ -69,11 +69,11 @@
69
69
 
70
70
  + .mg-credits {
71
71
  @include devicebreak(medium) {
72
- border-right: 1px solid $mg-color-neutral-500;
72
+ border-right: 1px solid rgb(var(--mg-color-neutral-500));
73
73
  border-top: 0;
74
74
  display: block;
75
- margin-right: $mg-spacing-150;
76
- padding-right: $mg-spacing-150;
75
+ margin-right: var(--mg-spacing-150);
76
+ padding-right: var(--mg-spacing-150);
77
77
  padding-top: 0;
78
78
  }
79
79
  }
@@ -87,7 +87,7 @@
87
87
  }
88
88
 
89
89
  strong {
90
- margin-right: $mg-spacing-25;
90
+ margin-right: var(--mg-spacing-25);
91
91
 
92
92
  @include devicebreak(medium) {
93
93
  margin-right: 0;
@@ -1,7 +1,7 @@
1
1
  /* header section start */
2
2
  .mg-section-header {
3
3
  h2 {
4
- margin-bottom: $mg-spacing-100;
4
+ margin-bottom: var(--mg-spacing-100);
5
5
  }
6
6
  }
7
7
 
@@ -15,7 +15,7 @@
15
15
  position: absolute;
16
16
  top: 0;
17
17
  width: 100vw;
18
- z-index: $mg-z-index-behind; // pseudo-element background sits behind sibling content
18
+ z-index: var(--mg-z-index-behind); // pseudo-element background sits behind sibling content
19
19
  }
20
20
 
21
21
  [dir="rtl"] .mg-container-full-width::before {
@@ -14,15 +14,15 @@
14
14
  .mg-loader {
15
15
  @include animation(loader-animation 2s linear infinite);
16
16
 
17
- border: 8px solid $mg-color-blue-600;
17
+ border: 8px solid rgb(var(--mg-color-blue-600));
18
18
  border-radius: 50%;
19
- border-top: 8px solid $mg-color-neutral-300;
19
+ border-top: 8px solid rgb(var(--mg-color-neutral-300));
20
20
  height: 40px;
21
21
  width: 40px;
22
22
 
23
23
  @include devicebreak(medium) {
24
- border: 14px solid $mg-color-blue-600;
25
- border-top: 14px solid $mg-color-neutral-300;
24
+ border: 14px solid rgb(var(--mg-color-blue-600));
25
+ border-top: 14px solid rgb(var(--mg-color-neutral-300));
26
26
  height: 96px;
27
27
  width: 96px;
28
28
  }
@@ -35,7 +35,6 @@
35
35
  // Components
36
36
  @import "../../Components/Boilerplate/boilerplate";
37
37
  @import "../../Components/Forms/form-base";
38
- @import "../../Components/Forms/form-legacy";
39
38
  @import "../../Components/Forms/FormGroup/form-group";
40
39
  @import "../../Components/Forms/TextInput/text-input";
41
40
  @import "../../Components/Forms/Textarea/textarea";
@@ -7,18 +7,13 @@
7
7
  }
8
8
 
9
9
  html {
10
- // Only override the browser default when using the legacy 10px root.
11
- // When $mg-html-font-size is 16, skip the override entirely so the
12
- // browser default (or user-configured) root font-size is respected.
13
- @if $mg-html-font-size != 16 {
14
- font-size: $mg-html-font-size * 1px;
15
- }
16
-
10
+ // No root font-size override: Mangrove uses the browser-standard 16px root
11
+ // (or the user's configured default). The legacy 10px root was removed in 2.0.
17
12
  -webkit-tap-highlight-color: transparent;
18
13
  }
19
14
 
20
15
  body {
21
- color: $mg-color-text;
16
+ color: rgb(var(--mg-color-text));
22
17
  font-family: $mg-font-family;
23
18
  font-size: $mg-font-size-300;
24
19
  line-height: $mg-font-line-height-700;
@@ -35,8 +30,8 @@ h4,
35
30
  h5,
36
31
  h6,
37
32
  caption {
38
- margin: $mg-spacing-100 $mg-spacing-0;
39
- padding: $mg-spacing-0;
33
+ margin: var(--mg-spacing-100) var(--mg-spacing-0);
34
+ padding: var(--mg-spacing-0);
40
35
  }
41
36
 
42
37
  // h1-h6 inherit Roboto from body. Roboto Condensed is reserved for compact UI
@@ -85,38 +80,38 @@ p {
85
80
 
86
81
  ul,
87
82
  ol {
88
- margin: 0 0 $mg-spacing-100;
89
- padding-left: $mg-spacing-200;
83
+ margin: 0 0 var(--mg-spacing-100);
84
+ padding-left: var(--mg-spacing-200);
90
85
  list-style-position: outside;
91
86
 
92
87
  li {
93
- margin-bottom: $mg-spacing-0;
94
- padding-left: $mg-spacing-0;
88
+ margin-bottom: var(--mg-spacing-0);
89
+ padding-left: var(--mg-spacing-0);
95
90
  }
96
91
  }
97
92
 
98
93
  dl {
99
94
  line-height: 1.37;
100
- margin: $mg-spacing-0;
95
+ margin: var(--mg-spacing-0);
101
96
  }
102
97
 
103
98
  dt {
104
99
  font-weight: 600;
105
- margin-bottom: $mg-spacing-25;
100
+ margin-bottom: var(--mg-spacing-25);
106
101
  }
107
102
 
108
103
  dd {
109
- margin-bottom: $mg-spacing-50;
110
- margin-inline-start: $mg-spacing-200;
104
+ margin-bottom: var(--mg-spacing-50);
105
+ margin-inline-start: var(--mg-spacing-200);
111
106
 
112
107
  @include devicebreak(medium) {
113
- margin-bottom: $mg-spacing-100;
114
- margin-inline-start: $mg-spacing-300;
108
+ margin-bottom: var(--mg-spacing-100);
109
+ margin-inline-start: var(--mg-spacing-300);
115
110
  }
116
111
  }
117
112
 
118
113
  dd + dt {
119
- margin-block-start: $mg-spacing-100;
114
+ margin-block-start: var(--mg-spacing-100);
120
115
  }
121
116
 
122
117
  header {
@@ -125,8 +120,8 @@ header {
125
120
 
126
121
  hr {
127
122
  border: 0;
128
- border-block-start: 2px solid $mg-color-neutral-400; // #808080 — 3.95:1 on white (non-text contrast)
129
- margin-block: $mg-spacing-200;
123
+ border-block-start: 2px solid rgb(var(--mg-color-neutral-400)); // #808080 — 3.95:1 on white (non-text contrast)
124
+ margin-block: var(--mg-spacing-200);
130
125
  }
131
126
 
132
127
  img {
@@ -135,11 +130,11 @@ img {
135
130
  }
136
131
 
137
132
  a {
138
- color: $mg-color-interactive;
133
+ color: rgb(var(--mg-color-interactive));
139
134
  text-decoration: none;
140
135
 
141
136
  &:hover {
142
- color: $mg-color-interactive-active;
137
+ color: rgb(var(--mg-color-interactive-active));
143
138
  text-decoration: underline;
144
139
  }
145
140
  }
@@ -94,7 +94,7 @@
94
94
  }
95
95
 
96
96
  %border-bottom {
97
- border-bottom: 1px solid $mg-color-neutral-400;
97
+ border-bottom: 1px solid rgb(var(--mg-color-neutral-400));
98
98
  }
99
99
 
100
100
  %img-cover {
@@ -0,0 +1,68 @@
1
+ // Delta Resilience theme — runtime CSS custom property overrides.
2
+ // Applied when .mg-theme-delta is present on <body> or a wrapping element.
3
+ $_delta-color-primary--raw: 19 46 72;
4
+ $_delta-color-primary-800--raw: 12 30 48;
5
+ $_delta-color-dark--raw: 24 24 35;
6
+ $_delta-color-card-bg--raw: 250 250 250;
7
+
8
+ .mg-theme-delta {
9
+ // Runtime marker: lets JS/tooling detect that this brand theme is active
10
+ // (guards the sub-brand body-class trap). See docs/RELEASE-2.0.md.
11
+ --mg-theme-loaded: delta;
12
+ --mg-color-interactive: #{$_delta-color-primary--raw};
13
+ --mg-color-interactive-active: #{$_delta-color-primary--raw};
14
+ --mg-color-tag: var(--mg-color-interactive);
15
+ --mg-color-tag--hover: var(--mg-color-interactive-active);
16
+ --mg-radius-tag: var(--mg-spacing-50);
17
+ --mg-color-button: #{$_delta-color-primary--raw};
18
+ --mg-color-button--hover: #{$_delta-color-primary-800--raw};
19
+ --mg-color-button-background: transparent;
20
+ --mg-color-button-background--hover: rgb(#{$_delta-color-primary--raw} / 0.06);
21
+ --mg-color-button-secondary-background: transparent;
22
+ --mg-color-button-secondary-background--hover: rgb(#{$_delta-color-primary--raw} / 0.06);
23
+ --mg-color-button-outline-primary: #{$_delta-color-primary--raw};
24
+ --mg-color-button-outline-primary--hover: #{$_delta-color-primary-800--raw};
25
+ --mg-color-button-outline-secondary: #{$_delta-color-primary--raw};
26
+ --mg-color-button-outline-secondary--hover: #{$_delta-color-primary-800--raw};
27
+ --mg-color-text-button: #{$_delta-color-primary--raw};
28
+ --mg-border-color-button: #{$_delta-color-primary--raw};
29
+ --mg-radius-button: var(--mg-spacing-50);
30
+ --mg-border-width-button: 1px;
31
+ --mg-padding-button: var(--mg-spacing-100) var(--mg-spacing-200);
32
+ --mg-font-size-button: #{$mg-font-size-250};
33
+ --mg-card-background: rgb(#{$_delta-color-card-bg--raw});
34
+ --mg-card-padding: var(--mg-spacing-150);
35
+ --mg-card-border-radius: var(--mg-spacing-50);
36
+ --mg-card-icon-badge-radius: 15%;
37
+ --mg-color-form-check: var(--mg-color-interactive);
38
+ --mg-color-form-check--hover: var(--mg-color-interactive-active);
39
+ --mg-color-form-check--checked: var(--mg-color-interactive);
40
+ --mg-color-form-focus: var(--mg-color-interactive);
41
+ --mg-radius-form-input: var(--mg-spacing-50);
42
+ --mg-color-mega-content-bg: var(--mg-color-white);
43
+ --mg-color-hero: #{$_delta-color-primary--raw};
44
+ --mg-opacity-hero: 1;
45
+ --mg-hero-overlay-max-width: var(--mg-width-600);
46
+ --mg-hero-overlay-padding: var(--mg-spacing-400);
47
+ --mg-color-hero-title: oklch(68.5% 0.169 237.323);
48
+ --mg-color-hero--tertiary: rgb(#{$_delta-color-dark--raw});
49
+ --mg-color-hero-button-secondary-background: rgb(#{$_delta-color-primary--raw});
50
+ --mg-color-hero-button-secondary-color: var(--mg-color-white);
51
+ --mg-border-color-hero-button-secondary: var(--mg-color-white);
52
+ --mg-spacing-hero-overlay: #{mg-rem(20)} 0;
53
+ --mg-color-tabbar-background: none;
54
+ --mg-color-tab-background: rgb(#{$_delta-color-primary--raw});
55
+ --mg-color-tab-background--inactive: var(--mg-color-white);
56
+ --mg-color-tab-border: var(--mg-color-blue-200);
57
+ --mg-color-tab-border--hover: rgb(#{$_delta-color-primary-800--raw});
58
+ --mg-color-tab-border--active: var(--mg-color-blue-200);
59
+ --mg-color-tab-background--hover: rgb(#{$_delta-color-primary--raw} / 0.7);
60
+ --mg-radius-tab: var(--mg-spacing-50) var(--mg-spacing-50) 0 0;
61
+ --mg-padding-tab: var(--mg-spacing-150) var(--mg-spacing-200);
62
+ --mg-color-text-tab: var(--mg-color-neutral-700);
63
+ --mg-color-text-tab--hover: var(--mg-color-white);
64
+ --mg-color-text-tab-active: var(--mg-color-white);
65
+ --mg-padding-tab-section: var(--mg-spacing-300);
66
+ --mg-radius-tab-section: var(--mg-spacing-50);
67
+ --mg-box-shadow-tab-section: none;
68
+ }