@undrr/undrr-mangrove 1.3.3 → 1.4.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 (166) hide show
  1. package/README.md +33 -29
  2. package/components/BarChart.js +2 -2
  3. package/components/BookCard.js +6 -0
  4. package/components/BookCard.js.LICENSE.txt +11 -0
  5. package/components/Breadcrumbs.js +6 -0
  6. package/components/Breadcrumbs.js.LICENSE.txt +9 -0
  7. package/components/Checkbox.js +6 -0
  8. package/components/Checkbox.js.LICENSE.txt +9 -0
  9. package/components/Chips.js +6 -0
  10. package/components/Chips.js.LICENSE.txt +9 -0
  11. package/components/CtaButton.js +6 -0
  12. package/components/CtaButton.js.LICENSE.txt +9 -0
  13. package/components/EmbedContainer.js +6 -0
  14. package/components/EmbedContainer.js.LICENSE.txt +9 -0
  15. package/components/Fetcher.js +2 -2
  16. package/components/Footer.js +6 -0
  17. package/components/Footer.js.LICENSE.txt +9 -0
  18. package/components/FormErrorSummary.js +6 -0
  19. package/components/FormErrorSummary.js.LICENSE.txt +9 -0
  20. package/components/FormGroup.js +6 -0
  21. package/components/FormGroup.js.LICENSE.txt +9 -0
  22. package/components/FullWidth.js +6 -0
  23. package/components/FullWidth.js.LICENSE.txt +9 -0
  24. package/components/Gallery.js +1 -1
  25. package/components/Hero.js +6 -0
  26. package/components/Hero.js.LICENSE.txt +9 -0
  27. package/components/HighlightBox.js +6 -0
  28. package/components/HighlightBox.js.LICENSE.txt +9 -0
  29. package/components/HorizontalBookCard.js +6 -0
  30. package/components/HorizontalBookCard.js.LICENSE.txt +11 -0
  31. package/components/HorizontalCard.js +6 -0
  32. package/components/HorizontalCard.js.LICENSE.txt +11 -0
  33. package/components/IconCard.js +2 -2
  34. package/components/Loader.js +6 -0
  35. package/components/Loader.js.LICENSE.txt +9 -0
  36. package/components/MapComponent.js +2 -2
  37. package/components/MegaMenu.js +2 -2
  38. package/components/PageHeader.js +6 -0
  39. package/components/PageHeader.js.LICENSE.txt +9 -0
  40. package/components/Pager.js +2 -2
  41. package/components/QuoteHighlight.js +1 -1
  42. package/components/Radio.js +6 -0
  43. package/components/Radio.js.LICENSE.txt +9 -0
  44. package/components/ScrollContainer.js +1 -1
  45. package/components/Select.js +6 -0
  46. package/components/Select.js.LICENSE.txt +9 -0
  47. package/components/ShareButtons.js +1 -1
  48. package/components/ShowMore.js +6 -0
  49. package/components/ShowMore.js.LICENSE.txt +9 -0
  50. package/components/StatsCard.js +2 -2
  51. package/components/SyndicationSearchWidget.js +2 -2
  52. package/components/Tab.js +6 -0
  53. package/components/Tab.js.LICENSE.txt +9 -0
  54. package/components/TextCta.js +6 -0
  55. package/components/TextCta.js.LICENSE.txt +11 -0
  56. package/components/TextInput.js +6 -0
  57. package/components/TextInput.js.LICENSE.txt +9 -0
  58. package/components/Textarea.js +6 -0
  59. package/components/Textarea.js.LICENSE.txt +9 -0
  60. package/components/VerticalCard.js +6 -0
  61. package/components/VerticalCard.js.LICENSE.txt +11 -0
  62. package/components/hydrate.js +1 -1
  63. package/css/style-delta.css +467 -0
  64. package/css/style-delta.css.map +1 -0
  65. package/css/style-gutenberg.css +21 -18
  66. package/css/style-gutenberg.css.map +1 -1
  67. package/css/style-irp-legacy.css +472 -0
  68. package/css/style-irp-legacy.css.map +1 -0
  69. package/css/style-irp.css +99 -103
  70. package/css/style-irp.css.map +1 -1
  71. package/css/style-legacy.css +465 -0
  72. package/css/style-legacy.css.map +1 -0
  73. package/css/style-mcr-legacy.css +472 -0
  74. package/css/style-mcr-legacy.css.map +1 -0
  75. package/css/style-mcr.css +99 -103
  76. package/css/style-mcr.css.map +1 -1
  77. package/css/style-preventionweb-legacy.css +472 -0
  78. package/css/style-preventionweb-legacy.css.map +1 -0
  79. package/css/style-preventionweb.css +99 -103
  80. package/css/style-preventionweb.css.map +1 -1
  81. package/css/style.css +99 -103
  82. package/css/style.css.map +1 -1
  83. package/error-pages/401.html +10 -11
  84. package/error-pages/403.html +11 -12
  85. package/error-pages/404.html +13 -14
  86. package/error-pages/429.html +12 -13
  87. package/error-pages/500.html +10 -11
  88. package/error-pages/502.html +12 -13
  89. package/error-pages/503.html +12 -13
  90. package/error-pages/504.html +10 -11
  91. package/error-pages/5xx.html +10 -11
  92. package/error-pages/challenge.html +12 -13
  93. package/error-pages/managed-challenge.html +12 -13
  94. package/js/README.md +57 -0
  95. package/js/__tests__/show-more.test.js +76 -0
  96. package/js/__tests__/table-of-contents.test.js +198 -0
  97. package/js/on-this-page-nav.js +531 -0
  98. package/js/show-more.js +24 -3
  99. package/js/table-of-contents.js +168 -0
  100. package/js/tabs.js +445 -83
  101. package/package.json +1 -1
  102. package/scss/Atom/BaseTypography/Blockquote/blockquote.scss +1 -8
  103. package/scss/Atom/BaseTypography/Cite/cite.scss +2 -2
  104. package/scss/Atom/Images/AuthorImage/author-image.scss +4 -4
  105. package/scss/Atom/Images/ImageCaptionCredit/image-caption-credit.scss +24 -28
  106. package/scss/Atom/Images/ImageCredit/image-credit.scss +1 -1
  107. package/scss/Atom/Layout/Container/container.scss +2 -2
  108. package/scss/Atom/Layout/Grid/grid.scss +1 -1
  109. package/scss/Atom/ReachElement/Details/details.scss +6 -6
  110. package/scss/Atom/ReachElement/Figcaption/figcaption.scss +1 -1
  111. package/scss/Atom/Table/table.scss +0 -8
  112. package/scss/Components/Boilerplate/boilerplate.scss +2 -2
  113. package/scss/Components/Breadcrumbs/breadcrumbs.scss +2 -9
  114. package/scss/Components/Buttons/Chips/chips.scss +5 -19
  115. package/scss/Components/Buttons/CtaButton/buttons.scss +3 -124
  116. package/scss/Components/Buttons/CtaButton/cta-button.scss +99 -0
  117. package/scss/Components/Buttons/ShareButtons/share-buttons.scss +2 -2
  118. package/scss/Components/Cards/Card/card.scss +45 -6
  119. package/scss/Components/Cards/StatsCard/stats-card.scss +2 -2
  120. package/scss/Components/ErrorPages/error-pages.scss +12 -12
  121. package/scss/Components/Footer/footer.scss +72 -4
  122. package/scss/Components/Forms/Select/select.scss +2 -2
  123. package/scss/Components/Forms/_form-base.scss +5 -5
  124. package/scss/Components/Forms/_form-legacy.scss +1 -1
  125. package/scss/Components/Gallery/gallery.scss +7 -7
  126. package/scss/Components/Hero/hero.scss +43 -23
  127. package/scss/Components/HighlightBox/highlight-box.scss +5 -5
  128. package/scss/Components/MegaMenu/mega-menu.scss +750 -0
  129. package/scss/Components/MegaMenu/megamenu.scss +3 -733
  130. package/scss/Components/OnThisPageNav/on-this-page-nav.scss +206 -0
  131. package/scss/Components/PageHeader/page-header.scss +5 -5
  132. package/scss/Components/Pagination/pagination.scss +2 -2
  133. package/scss/Components/ScrollContainer/scroll-container.scss +1 -1
  134. package/scss/Components/Snackbar/snackbar.scss +1 -1
  135. package/scss/Components/SyndicationSearchWidget/SyndicationSearchWidget.scss +3 -1480
  136. package/scss/Components/SyndicationSearchWidget/syndication-search-widget.scss +1515 -0
  137. package/scss/Components/Tab/tab.scss +68 -9
  138. package/scss/Components/TableOfContents/TableOfContents.scss +3 -17
  139. package/scss/Components/TableOfContents/table-of-contents.scss +17 -0
  140. package/scss/Components/TextCta/text-cta.scss +139 -0
  141. package/scss/Components/TextCta/textcta.scss +3 -27
  142. package/scss/Molecules/ImageCaption/image-caption.scss +6 -16
  143. package/scss/Molecules/SectionHeader/section-header.scss +8 -0
  144. package/scss/Molecules/SectionHeader/sectionheader.scss +3 -8
  145. package/scss/Utilities/FullWidth/FullWidth.scss +3 -23
  146. package/scss/Utilities/FullWidth/full-width.scss +23 -0
  147. package/scss/Utilities/Loader/loader.scss +1 -1
  148. package/scss/Utilities/ShowMore/ShowMore.scss +3 -26
  149. package/scss/Utilities/ShowMore/show-more.scss +26 -0
  150. package/scss/assets/scss/_components.scss +15 -9
  151. package/scss/assets/scss/_foundational.scss +13 -7
  152. package/scss/assets/scss/_mixins.scss +9 -314
  153. package/scss/assets/scss/_utility.scss +19 -71
  154. package/scss/assets/scss/_variables-delta.scss +110 -0
  155. package/scss/assets/scss/_variables-irp.scss +1 -1
  156. package/scss/assets/scss/_variables-mcr.scss +1 -1
  157. package/scss/assets/scss/_variables-preventionweb.scss +1 -1
  158. package/scss/assets/scss/_variables.scss +101 -34
  159. package/scss/assets/scss/style-delta.scss +8 -0
  160. package/scss/assets/scss/style-gutenberg.scss +2 -2
  161. package/scss/assets/scss/style-irp-legacy.scss +20 -0
  162. package/scss/assets/scss/style-legacy.scss +20 -0
  163. package/scss/assets/scss/style-mcr-legacy.scss +20 -0
  164. package/scss/assets/scss/style-preventionweb-legacy.scss +20 -0
  165. package/scss/Components/BlockquoteComponent/blockquotecomp.scss +0 -31
  166. package/scss/Components/Buttons/CtaLink/cta-link.scss +0 -61
@@ -9,6 +9,24 @@
9
9
  * \___/|_| \_|____/|_| \_\_| \_\ |_| |_|\__,_|_| |_|\__, |_| \___/ \_/ \___|
10
10
  * |___/
11
11
  */
12
+ @use "sass:math";
13
+
14
+ // Root font-size configuration
15
+ // Default is 16 (browser-standard root where 1rem = 16px).
16
+ // Set to 10 for legacy 10px root (1.6rem = 16px) — see style-*-legacy.scss.
17
+ // New integrations should use the default; override only for backward compatibility.
18
+ $mg-html-font-size: 16 !default;
19
+
20
+ @if $mg-html-font-size == 0 {
21
+ @error "$mg-html-font-size must not be 0 (division by zero). Use 16 (default) or 10 (legacy).";
22
+ }
23
+
24
+ // Converts an intended pixel value to rem for the configured root.
25
+ // Example: mg-rem(16) → 1.6rem (root=10) or 1rem (root=16)
26
+ @function mg-rem($px) {
27
+ @return math.div($px, $mg-html-font-size) * 1rem;
28
+ }
29
+
12
30
  // font file variables
13
31
  // Path adjusted for Storybook staticDirs (serves assets/ at root, not /assets/)
14
32
  $mgIconFontPath: "../fonts/mangrove-icon-set/font";
@@ -157,21 +175,21 @@ $sendai-turquoise: $sendai-turquoise-900; // alias
157
175
  * @presenter Spacing
158
176
  */
159
177
  $mg-spacing-0: 0;
160
- $mg-spacing-25: 0.25rem;
161
- $mg-spacing-50: 0.5rem;
162
- $mg-spacing-75: 0.75rem;
163
- $mg-spacing-100: 1rem;
164
- $mg-spacing-150: 1.5rem;
165
- $mg-spacing-175: 1.8rem;
166
- $mg-spacing-200: 2rem;
167
- $mg-spacing-250: 2.4rem;
168
- $mg-spacing-300: 3rem;
169
- $mg-spacing-350: 3rem;
170
- $mg-spacing-400: 5rem;
171
- $mg-spacing-500: 6rem;
172
- $mg-spacing-600: 8rem;
173
- $mg-spacing-800: 10rem;
174
- $mg-spacing-1000: 40rem;
178
+ $mg-spacing-25: mg-rem(2.5);
179
+ $mg-spacing-50: mg-rem(5);
180
+ $mg-spacing-75: mg-rem(7.5);
181
+ $mg-spacing-100: mg-rem(10);
182
+ $mg-spacing-150: mg-rem(15);
183
+ $mg-spacing-175: mg-rem(18);
184
+ $mg-spacing-200: mg-rem(20);
185
+ $mg-spacing-250: mg-rem(24);
186
+ $mg-spacing-300: mg-rem(30);
187
+ $mg-spacing-350: mg-rem(35);
188
+ $mg-spacing-400: mg-rem(50);
189
+ $mg-spacing-500: mg-rem(60);
190
+ $mg-spacing-600: mg-rem(80);
191
+ $mg-spacing-800: mg-rem(100);
192
+ $mg-spacing-1000: mg-rem(400);
175
193
 
176
194
  /**
177
195
  * @tokens Font sizes
@@ -180,20 +198,20 @@ $mg-spacing-1000: 40rem;
180
198
  * https://github.com/UX-and-I/storybook-design-token
181
199
  */
182
200
 
183
- $mg-font-size-100: 1rem;
184
- $mg-font-size-150: 1.125rem;
185
- $mg-font-size-200: 1.25rem;
186
- $mg-font-size-250: 1.4rem;
187
- $mg-font-size-300: 1.6rem; // regular body text
188
- $mg-font-size-400: 1.8rem;
189
- $mg-font-size-500: 2.3rem;
190
- $mg-font-size-600: 3.2rem;
191
- $mg-font-size-800: 3.6rem;
192
- $mg-font-size-900: 4rem;
193
- $mg-font-size-1000: 4.8rem;
194
- $mg-font-size-1100: 6.4rem;
201
+ $mg-font-size-100: mg-rem(10);
202
+ $mg-font-size-150: mg-rem(11.25);
203
+ $mg-font-size-200: mg-rem(12.5);
204
+ $mg-font-size-250: mg-rem(14);
205
+ $mg-font-size-300: mg-rem(16); // regular body text
206
+ $mg-font-size-400: mg-rem(18);
207
+ $mg-font-size-500: mg-rem(23);
208
+ $mg-font-size-600: mg-rem(32);
209
+ $mg-font-size-800: mg-rem(36);
210
+ $mg-font-size-900: mg-rem(40);
211
+ $mg-font-size-1000: mg-rem(48);
212
+ $mg-font-size-1100: mg-rem(64);
195
213
  $mg-font-body: $mg-font-size-300;
196
- $mg-font-tag: $mg-font-size-200;
214
+ $mg-font-tag: $mg-font-size-250 !default;
197
215
  $mg-font-line-height-500: 1.25em;
198
216
  $mg-font-line-height-700: 1.5em;
199
217
 
@@ -218,12 +236,12 @@ $mg-font-line-height-700: 1.5em;
218
236
  padding-bottom: $mg-spacing-175;
219
237
  } @else if $size == "huge" {
220
238
  font-size: $mg-font-size-1000;
221
- padding-top: $mg-spacing-350;
239
+ padding-top: $mg-spacing-300;
222
240
  padding-bottom: $mg-spacing-250;
223
241
  } @else if $size == "xhuge" {
224
242
  font-size: $mg-font-size-1100;
225
243
  padding-top: $mg-spacing-400;
226
- padding-bottom: $mg-spacing-350;
244
+ padding-bottom: $mg-spacing-300;
227
245
  }
228
246
  }
229
247
 
@@ -250,10 +268,10 @@ $mg-font-family-arabic-body: "Dubai", sans-serif;
250
268
  * @presenter Spacing
251
269
  */
252
270
 
253
- $mg-width-150: 15rem;
254
- $mg-width-300: 30rem;
255
- $mg-width-400: 40rem;
256
- $mg-width-600: 60rem;
271
+ $mg-width-150: mg-rem(150);
272
+ $mg-width-300: mg-rem(300);
273
+ $mg-width-400: mg-rem(400);
274
+ $mg-width-600: mg-rem(600);
257
275
 
258
276
  /**
259
277
  * @tokens Breakpoints
@@ -292,6 +310,8 @@ $mg-color-button: $mg-color-white !default;
292
310
  $mg-color-button--hover: $mg-color-white !default;
293
311
  $mg-color-button-background: $mg-color-interactive !default;
294
312
  $mg-color-button-background--hover: $mg-color-interactive-active !default;
313
+ $mg-color-button-secondary-background: $mg-color-blue-800 !default;
314
+ $mg-color-button-secondary-background--hover: $mg-color-blue-700 !default;
295
315
  $mg-radius-button: $mg-spacing-0 !default;
296
316
  $mg-border-width-button: 1px !default;
297
317
  $mg-color-text-button: $mg-color-white !default;
@@ -308,6 +328,15 @@ $mg-color-form-check--checked: $mg-color-interactive !default;
308
328
  $mg-color-form-focus: $mg-color-interactive !default;
309
329
  $mg-radius-form-input: $mg-spacing-0 !default;
310
330
 
331
+ // card
332
+ $mg-card-background: none !default;
333
+ $mg-card-padding: 0rem !default;
334
+ $mg-card-border-radius: 0 !default;
335
+ $mg-card-icon-badge-radius: 20% !default;
336
+
337
+ // CTA banner
338
+ $mg-cta-padding: $mg-spacing-400 0 !default;
339
+
311
340
  // shared variant accent colours (used by hero, cards, and other components)
312
341
  $mg-color-secondary: $mg-color-orange-800 !default;
313
342
  $mg-color-tertiary: $mg-color-neutral-900 !default;
@@ -319,7 +348,16 @@ $mg-color-hero--secondary: $mg-color-secondary !default;
319
348
  $mg-color-hero--tertiary: $mg-color-tertiary !default;
320
349
  $mg-color-hero--quaternary: $mg-color-quaternary !default;
321
350
  $mg-opacity-hero: 0.85 !default;
351
+ $mg-color-hero-title: $mg-color-neutral-0 !default;
322
352
  $mg-spacing-hero-overlay: 0 !default;
353
+ $mg-hero-overlay-max-width: $mg-width-400 !default;
354
+ $mg-hero-overlay-padding: $mg-spacing-200 !default;
355
+ $mg-color-hero-button-secondary-background: rgba($mg-color-neutral-0, 0.9) !default;
356
+ $mg-color-hero-button-secondary-color: $mg-color-hero !default;
357
+ $mg-border-color-hero-button-secondary: $mg-color-neutral-0 !default;
358
+
359
+ // mega menu
360
+ $mg-color-mega-content-bg: $mg-color-button !default;
323
361
 
324
362
  // tabs
325
363
  $mg-color-tabbar-background: $mg-color-blue-50 !default;
@@ -334,6 +372,7 @@ $mg-padding-tab: $mg-spacing-75 $mg-spacing-150 !default;
334
372
  $mg-color-text-tab: $mg-color-neutral-700 !default;
335
373
  $mg-color-text-tab--hover: $mg-color-white !default;
336
374
  $mg-color-text-tab-active: $mg-color-neutral-700 !default;
375
+ $mg-color-text-tab-no-results: $mg-color-neutral-500 !default;
337
376
  $mg-color-tab-section-background: $mg-color-neutral-0 !default;
338
377
  $mg-padding-tab-section: $mg-spacing-100 $mg-spacing-0 !default;
339
378
  $mg-radius-tab-section: $mg-spacing-0 !default;
@@ -347,6 +386,34 @@ $mg-tabs-border-bottom: true !default;
347
386
 
348
387
  $author-image-radius: 50%;
349
388
 
389
+ // Z-index layers: use these named tokens for global stacking contexts
390
+ // (fixed, sticky, or portaled elements). One token per UI concept — backdrops
391
+ // and sub-layers use $token - 1 / $token + 1 arithmetic within the component
392
+ // SCSS rather than separate variables. Local stacking within a component's own
393
+ // isolated context uses raw values with an explanatory comment.
394
+ // Pick the nearest existing layer; open a GitHub discussion before adding one.
395
+
396
+ /**
397
+ * @tokens Z-index layers
398
+ */
399
+
400
+ // Background utility — pseudo-element placed behind all sibling content
401
+ $mg-z-index-behind: -1; // ::before backgrounds (e.g. mg-container-full-width)
402
+
403
+ // Navigation zone — ⚠ FROZEN: Drupal themes depend on these exact values
404
+ $mg-z-index-nav: 10; // MegaMenu (mobile sidebar/overlay uses nav - 1 = 9)
405
+ $mg-z-index-sticky: 11; // Secondary sticky bars, e.g. OnThisPageNav
406
+ $mg-z-index-nav-toggle: 14; // Mobile nav hamburger toggle (above all nav layers)
407
+ $mg-z-index-header: 22; // PageHeader (above nav and sticky bar)
408
+
409
+ // Overlay zone — floats above page content
410
+ $mg-z-index-drawer: 2000; // Drawer / side panel (backdrop uses drawer - 1 = 1999)
411
+ $mg-z-index-dropdown: 2500; // Dropdowns and inline menus (above drawers)
412
+
413
+ // Modal zone — portaled to <body>, must clear all page chrome
414
+ $mg-z-index-modal: 5000; // Modal and dialog (backdrop uses modal - 1 = 4999)
415
+ $mg-z-index-toast: 5500; // Toast notifications (Snackbar), above modals
416
+
350
417
  /**
351
418
  * @tokens-end
352
419
  */
@@ -0,0 +1,8 @@
1
+ @import "./variables";
2
+ @import "./variables-delta";
3
+ @import "./fonts";
4
+ @import "./breakpoints";
5
+ @import "./mixins";
6
+ @import "./utility";
7
+ @import "./foundational";
8
+ @import "./components";
@@ -21,8 +21,8 @@
21
21
  // @import './components';
22
22
  @import "../../Atom/Layout/Container/container";
23
23
  @import "../../Atom/Layout/Grid/grid";
24
- @import "../../Components/Buttons/CtaButton/buttons";
24
+ @import "../../Components/Buttons/CtaButton/cta-button";
25
25
  @import "../../Components/Cards/Card/card";
26
26
  @import "../../Components/Hero/hero";
27
27
  @import "../../Components/Tab/tab";
28
- @import "../../Utilities/FullWidth/FullWidth";
28
+ @import "../../Utilities/FullWidth/full-width";
@@ -0,0 +1,20 @@
1
+ /* ============================================================================
2
+ * LEGACY 10px ROOT — IRP theme
3
+ *
4
+ * This stylesheet uses a 10px root font-size (1rem = 10px), which does not
5
+ * conform to browser standards or WCAG 1.4.4 Resize Text. It is provided
6
+ * for backward compatibility with sites that have custom CSS assuming the
7
+ * 10px root.
8
+ *
9
+ * Migrate to the standard theme (style-irp.css) before end of 2026.
10
+ *
11
+ * Migration guide: https://github.com/unisdr/undrr-mangrove/blob/main/docs/RELEASE-1.4.md
12
+ * GitHub issue: https://github.com/unisdr/undrr-mangrove/issues/836
13
+ * Pull request: https://github.com/unisdr/undrr-mangrove/pull/852
14
+ * ========================================================================= */
15
+ /* stylelint-disable no-invalid-position-at-import-rule, at-rule-empty-line-before */
16
+ @warn "You are compiling the legacy 10px root theme (style-irp-legacy). This variant will be removed after 2026. See docs/RELEASE-1.4.md for migration options.";
17
+
18
+ $mg-html-font-size: 10;
19
+
20
+ @import "./style-irp";
@@ -0,0 +1,20 @@
1
+ /* ============================================================================
2
+ * LEGACY 10px ROOT — Global UNDRR theme
3
+ *
4
+ * This stylesheet uses a 10px root font-size (1rem = 10px), which does not
5
+ * conform to browser standards or WCAG 1.4.4 Resize Text. It is provided
6
+ * for backward compatibility with sites that have custom CSS assuming the
7
+ * 10px root.
8
+ *
9
+ * Migrate to the standard theme (style.css) before end of 2026.
10
+ *
11
+ * Migration guide: https://github.com/unisdr/undrr-mangrove/blob/main/docs/RELEASE-1.4.md
12
+ * GitHub issue: https://github.com/unisdr/undrr-mangrove/issues/836
13
+ * Pull request: https://github.com/unisdr/undrr-mangrove/pull/852
14
+ * ========================================================================= */
15
+ /* stylelint-disable no-invalid-position-at-import-rule, at-rule-empty-line-before */
16
+ @warn "You are compiling the legacy 10px root theme (style-legacy). This variant will be removed after 2026. See docs/RELEASE-1.4.md for migration options.";
17
+
18
+ $mg-html-font-size: 10;
19
+
20
+ @import "./style";
@@ -0,0 +1,20 @@
1
+ /* ============================================================================
2
+ * LEGACY 10px ROOT — MCR2030 theme
3
+ *
4
+ * This stylesheet uses a 10px root font-size (1rem = 10px), which does not
5
+ * conform to browser standards or WCAG 1.4.4 Resize Text. It is provided
6
+ * for backward compatibility with sites that have custom CSS assuming the
7
+ * 10px root.
8
+ *
9
+ * Migrate to the standard theme (style-mcr.css) before end of 2026.
10
+ *
11
+ * Migration guide: https://github.com/unisdr/undrr-mangrove/blob/main/docs/RELEASE-1.4.md
12
+ * GitHub issue: https://github.com/unisdr/undrr-mangrove/issues/836
13
+ * Pull request: https://github.com/unisdr/undrr-mangrove/pull/852
14
+ * ========================================================================= */
15
+ /* stylelint-disable no-invalid-position-at-import-rule, at-rule-empty-line-before */
16
+ @warn "You are compiling the legacy 10px root theme (style-mcr-legacy). This variant will be removed after 2026. See docs/RELEASE-1.4.md for migration options.";
17
+
18
+ $mg-html-font-size: 10;
19
+
20
+ @import "./style-mcr";
@@ -0,0 +1,20 @@
1
+ /* ============================================================================
2
+ * LEGACY 10px ROOT — PreventionWeb theme
3
+ *
4
+ * This stylesheet uses a 10px root font-size (1rem = 10px), which does not
5
+ * conform to browser standards or WCAG 1.4.4 Resize Text. It is provided
6
+ * for backward compatibility with sites that have custom CSS assuming the
7
+ * 10px root.
8
+ *
9
+ * Migrate to the standard theme (style-preventionweb.css) before end of 2026.
10
+ *
11
+ * Migration guide: https://github.com/unisdr/undrr-mangrove/blob/main/docs/RELEASE-1.4.md
12
+ * GitHub issue: https://github.com/unisdr/undrr-mangrove/issues/836
13
+ * Pull request: https://github.com/unisdr/undrr-mangrove/pull/852
14
+ * ========================================================================= */
15
+ /* stylelint-disable no-invalid-position-at-import-rule, at-rule-empty-line-before */
16
+ @warn "You are compiling the legacy 10px root theme (style-preventionweb-legacy). This variant will be removed after 2026. See docs/RELEASE-1.4.md for migration options.";
17
+
18
+ $mg-html-font-size: 10;
19
+
20
+ @import "./style-preventionweb";
@@ -1,31 +0,0 @@
1
- /* blockquote cta start */
2
- .blockquote {
3
- background-color: none;
4
- padding: $mg-spacing-150 $mg-spacing-100;
5
-
6
- @include devicebreak(medium) {
7
- padding: 5.313rem $mg-spacing-500;
8
- }
9
-
10
- &.gray {
11
- background-color: $mg-color-neutral-200;
12
- }
13
-
14
- &.yellow {
15
- background-color: $mg-color-yellow;
16
- }
17
-
18
- &.red {
19
- background-color: $mg-color-red-900;
20
- }
21
-
22
- &.green {
23
- background-color: $mg-color-green;
24
- }
25
-
26
- &.blue {
27
- background-color: $mg-color-azure;
28
- }
29
- }
30
-
31
- /* blockquote cta end */
@@ -1,61 +0,0 @@
1
- .cta__link {
2
- @extend %button;
3
- @extend %img_none;
4
-
5
- color: $mg-color-black;
6
-
7
- &.cta--arrow {
8
- @extend %chevron-right-expanded;
9
-
10
- padding-left: 0;
11
- padding-right: $mg-spacing-100;
12
- }
13
-
14
- &.cta--space {
15
- &::after {
16
- @extend %ctaimg;
17
- @include transition(0.2s ease);
18
-
19
- // background:
20
- // url(#{$img-path-Iconfourback}/arrow-left-expand-defaut.svg)
21
- // no-repeat left center;
22
- }
23
-
24
- &:hover {
25
- &::after {
26
- @include translate(70%, 0);
27
- }
28
- }
29
- }
30
- }
31
-
32
- [dir="rtl"] {
33
- .cta__link {
34
- align-items: flex-end;
35
-
36
- &.cta--space {
37
- &::after {
38
- @include transform(rotate(180deg));
39
-
40
- margin-left: 0;
41
- margin-right: $mg-spacing-25;
42
- }
43
-
44
- &:hover::after {
45
- @include transform(translate(-50%, 0) rotate(180deg));
46
- }
47
- }
48
-
49
- &.cta--arrow {
50
- padding-left: $mg-spacing-100;
51
- padding-right: 0;
52
-
53
- i {
54
- @include transform(translate(0) rotate(180deg));
55
-
56
- left: 0;
57
- right: 1.25rem;
58
- }
59
- }
60
- }
61
- }