@undrr/undrr-mangrove 1.8.2 → 2.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/BookCard.js +2 -2
- package/components/BookCard.js.LICENSE.txt +1 -1
- package/components/Breadcrumbs.js +3 -2
- package/components/Checkbox.js +3 -2
- package/components/Chips.js +3 -2
- package/components/CtaButton.js +3 -2
- package/components/EmbedContainer.js +3 -2
- package/components/Footer.js +2 -2
- package/components/Footer.js.LICENSE.txt +1 -1
- package/components/FormAction.js +6 -0
- package/components/FormAction.js.LICENSE.txt +9 -0
- package/components/FormErrorSummary.js +3 -2
- package/components/FormGroup.js +3 -2
- package/components/FullWidth.js +3 -2
- package/components/Gallery.js +2 -2
- package/components/Gallery.js.LICENSE.txt +1 -1
- package/components/Hero.js +2 -2
- package/components/Hero.js.LICENSE.txt +1 -1
- package/components/HighlightBox.js +3 -2
- package/components/HorizontalBookCard.js +2 -2
- package/components/HorizontalBookCard.js.LICENSE.txt +1 -1
- package/components/HorizontalCard.js +2 -2
- package/components/HorizontalCard.js.LICENSE.txt +1 -1
- package/components/IconCard.js +2 -2
- package/components/IconCard.js.LICENSE.txt +1 -1
- package/components/Loader.js +3 -2
- package/components/MegaMenu.js +2 -2
- package/components/MegaMenu.js.LICENSE.txt +1 -1
- package/components/PageHeader.js +3 -2
- package/components/Pager.js +2 -2
- package/components/Pager.js.LICENSE.txt +1 -1
- package/components/QuoteHighlight.js +3 -2
- package/components/Radio.js +3 -2
- package/components/ScrollContainer.js +3 -2
- package/components/Select.js +3 -2
- package/components/ShareButtons.js +2 -2
- package/components/ShareButtons.js.LICENSE.txt +1 -1
- package/components/ShowMore.js +3 -2
- package/components/StatsCard.js +2 -2
- package/components/StatsCard.js.LICENSE.txt +10 -0
- package/components/SyndicationSearchWidget.js +2 -2
- package/components/SyndicationSearchWidget.js.LICENSE.txt +1 -1
- package/components/Tab.js +3 -2
- package/components/TextCta.js +2 -2
- package/components/TextCta.js.LICENSE.txt +10 -0
- package/components/TextInput.js +3 -2
- package/components/Textarea.js +3 -2
- package/components/UserFeedback.js +6 -0
- package/components/UserFeedback.js.LICENSE.txt +9 -0
- package/components/VerticalCard.js +2 -2
- package/components/VerticalCard.js.LICENSE.txt +1 -1
- package/components/hydrate.js +1 -1
- package/css/style-all.css +422 -0
- package/css/style-all.css.map +1 -0
- package/css/style-delta.css +122 -171
- package/css/style-delta.css.map +1 -1
- package/css/style-gutenberg.css +55 -89
- package/css/style-gutenberg.css.map +1 -1
- package/css/style-irp.css +122 -161
- package/css/style-irp.css.map +1 -1
- package/css/style-mcr.css +122 -161
- package/css/style-mcr.css.map +1 -1
- package/css/style-preventionweb.css +122 -161
- package/css/style-preventionweb.css.map +1 -1
- package/css/style.css +121 -154
- package/css/style.css.map +1 -1
- package/package.json +2 -2
- package/scss/Atom/BaseTypography/Abbr/abbr.scss +1 -1
- package/scss/Atom/BaseTypography/Code/code.scss +41 -36
- package/scss/Atom/BaseTypography/Mark/mark.scss +2 -2
- package/scss/Atom/Images/AuthorImage/author-image.scss +8 -8
- package/scss/Atom/Images/ImageCaptionCredit/image-caption-credit.scss +9 -9
- package/scss/Atom/Layout/Container/container.scss +2 -4
- package/scss/Atom/Layout/Grid/grid.scss +15 -15
- package/scss/Atom/Navigation/MenuItems/menu-items.scss +10 -3
- package/scss/Atom/ReachElement/Details/details.scss +44 -39
- package/scss/Atom/Table/table.scss +22 -10
- package/scss/Atom/Tag/tag.scss +32 -32
- package/scss/Components/Boilerplate/boilerplate.scss +7 -7
- package/scss/Components/Breadcrumbs/breadcrumbs.scss +9 -9
- package/scss/Components/Buttons/Chips/chips.scss +63 -23
- package/scss/Components/Buttons/CtaButton/cta-button.scss +142 -20
- package/scss/Components/Buttons/ShareButtons/share-buttons.scss +16 -16
- package/scss/Components/Cards/Card/card.scss +77 -50
- package/scss/Components/Cards/StatsCard/stats-card.scss +32 -34
- package/scss/Components/CookieConsentBanner/cookie-consent-banner.scss +75 -74
- package/scss/Components/ErrorPages/error-pages.scss +9 -9
- package/scss/Components/Footer/footer.scss +12 -12
- package/scss/Components/Forms/FormAction/form-action.scss +50 -0
- package/scss/Components/Forms/FormGroup/form-group.scss +18 -7
- package/scss/Components/Forms/Select/select.scss +1 -1
- package/scss/Components/Forms/TextInput/text-input.scss +1 -1
- package/scss/Components/Forms/_form-base.scss +68 -61
- package/scss/Components/Gallery/gallery.scss +71 -70
- package/scss/Components/Hero/hero.scss +241 -74
- package/scss/Components/HighlightBox/highlight-box.scss +3 -3
- package/scss/Components/MegaMenu/mega-menu.scss +73 -76
- package/scss/Components/OnThisPageNav/on-this-page-nav.scss +36 -37
- package/scss/Components/PageHeader/page-header.scss +7 -7
- package/scss/Components/Pager/pager.scss +85 -62
- package/scss/Components/PreviewAccess/preview-access.scss +35 -35
- package/scss/Components/QuoteHighlight/quote-highlight.scss +32 -32
- package/scss/Components/ScrollContainer/scroll-container.scss +52 -32
- package/scss/Components/Snackbar/snackbar.scss +24 -31
- package/scss/Components/SyndicationSearchWidget/syndication-search-widget.scss +147 -139
- package/scss/Components/Tab/tab.scss +215 -34
- package/scss/Components/TableOfContents/table-of-contents.scss +6 -6
- package/scss/Components/TextCta/text-cta.scss +69 -23
- package/scss/Components/UserFeedback/user-feedback.scss +69 -0
- package/scss/Molecules/ImageCaption/image-caption.scss +16 -16
- package/scss/Molecules/SectionHeader/section-header.scss +1 -1
- package/scss/Utilities/FullWidth/full-width.scss +1 -1
- package/scss/Utilities/Loader/loader.scss +4 -4
- package/scss/assets/scss/_components.scss +3 -2
- package/scss/assets/scss/_foundational.scss +44 -26
- package/scss/assets/scss/_mixins.scss +34 -1
- package/scss/assets/scss/_theme-delta.scss +68 -0
- package/scss/assets/scss/_theme-irp.scss +39 -0
- package/scss/assets/scss/_theme-mcr.scss +56 -0
- package/scss/assets/scss/_theme-preventionweb.scss +37 -0
- package/scss/assets/scss/_utility.scss +112 -112
- package/scss/assets/scss/_variables.scss +358 -354
- package/scss/assets/scss/style-all.scss +19 -0
- package/scss/assets/scss/style-delta.scss +1 -1
- package/scss/assets/scss/style-irp.scss +1 -1
- package/scss/assets/scss/style-mcr.scss +1 -1
- package/scss/assets/scss/style-preventionweb.scss +1 -1
- package/css/style-irp-legacy.css +0 -476
- package/css/style-irp-legacy.css.map +0 -1
- package/css/style-legacy.css +0 -469
- package/css/style-legacy.css.map +0 -1
- package/css/style-mcr-legacy.css +0 -476
- package/css/style-mcr-legacy.css.map +0 -1
- package/css/style-preventionweb-legacy.css +0 -476
- package/css/style-preventionweb-legacy.css.map +0 -1
- package/scss/Components/Forms/_form-legacy.scss +0 -152
- package/scss/Components/Pagination/pagination.scss +0 -112
- package/scss/assets/scss/_variables-delta.scss +0 -110
- package/scss/assets/scss/_variables-irp.scss +0 -50
- package/scss/assets/scss/_variables-mcr.scss +0 -65
- package/scss/assets/scss/_variables-preventionweb.scss +0 -48
- package/scss/assets/scss/style-irp-legacy.scss +0 -20
- package/scss/assets/scss/style-legacy.scss +0 -20
- package/scss/assets/scss/style-mcr-legacy.scss +0 -20
- package/scss/assets/scss/style-preventionweb-legacy.scss +0 -20
|
@@ -1,202 +1,158 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* This is from the UNDRR Mangrove component library
|
|
3
3
|
* https://github.com/unisdr/undrr-mangrove?tab=readme-ov-file
|
|
4
|
+
* Version: 2.0.0-alpha.2
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* ██╗ ██╗███╗ ██╗██████╗ ██████╗ ██████╗
|
|
7
|
+
* ██║ ██║████╗ ██║██╔══██╗██╔══██╗██╔══██╗
|
|
8
|
+
* ██║ ██║██╔██╗ ██║██║ ██║██████╔╝██████╔╝
|
|
9
|
+
* ██║ ██║██║╚██╗██║██║ ██║██╔══██╗██╔══██╗
|
|
10
|
+
* ╚██████╔╝██║ ╚████║██████╔╝██║ ██║██║ ██║
|
|
11
|
+
* ╚═════╝ ╚═╝ ╚═══╝╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
|
12
|
+
*
|
|
13
|
+
* ███╗ ███╗█████╗ ███╗ ██╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗███████╗
|
|
14
|
+
* ████╗ ████║██╔══██╗████╗ ██║██╔════╝ ██╔══██╗██╔═══██╗██║ ██║██╔════╝
|
|
15
|
+
* ██╔████╔██║███████║██╔██╗ ██║██║ ███╗██████╔╝██║ ██║██║ ██║█████╗
|
|
16
|
+
* ██║╚██╔╝██║██╔══██║██║╚██╗██║██║ ██║██╔══██╗██║ ██║╚██╗ ██╔╝██╔══╝
|
|
17
|
+
* ██║ ╚═╝ ██║██║ ██║██║ ╚████║╚██████╔╝██║ ██║╚██████╔╝ ╚████╔╝ ███████╗
|
|
18
|
+
* ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═══╝ ╚══════╝
|
|
19
|
+
*
|
|
20
|
+
* ██████╗
|
|
21
|
+
* ╚════██╗
|
|
22
|
+
* █████╔╝
|
|
23
|
+
* ██╔═══╝
|
|
24
|
+
* ███████╗
|
|
25
|
+
* ╚══════╝
|
|
11
26
|
*/
|
|
12
27
|
@use "sass:math";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
28
|
+
@use "sass:meta";
|
|
29
|
+
|
|
30
|
+
// --- Mangrove 2.0 upgrade guard (build-time) ---
|
|
31
|
+
// Color and spacing tokens are now CSS custom properties. Assigning the old
|
|
32
|
+
// SCSS variables ($mg-color-* / $mg-spacing-*) before importing Mangrove no
|
|
33
|
+
// longer changes anything — it is a silent no-op. If a consumer still defines
|
|
34
|
+
// one of the commonly-overridden token variables, warn loudly at compile time
|
|
35
|
+
// rather than let their brand colors quietly revert to the defaults.
|
|
36
|
+
// See docs/RELEASE-2.0.md (breaking change #1). This fires only for consumer
|
|
37
|
+
// overrides — Mangrove itself no longer defines these SCSS variables.
|
|
38
|
+
@each $_legacy in "mg-color-interactive", "mg-color-interactive-active",
|
|
39
|
+
"mg-color-button-background", "mg-color-button-background--hover",
|
|
40
|
+
"mg-color-tag", "mg-color-form-check", "mg-color-form-focus",
|
|
41
|
+
"mg-color-hero--secondary", "mg-spacing-150", "mg-spacing-300" {
|
|
42
|
+
@if meta.variable-exists($_legacy) {
|
|
43
|
+
@warn "Mangrove 2.0: `$#{$_legacy}` no longer has any effect — color and spacing tokens are CSS custom properties now. Move the override into a `.mg-theme-* { --#{$_legacy}: ...; }` block (or `:root`). See docs/RELEASE-2.0.md.";
|
|
44
|
+
}
|
|
22
45
|
}
|
|
23
46
|
|
|
24
|
-
//
|
|
25
|
-
//
|
|
47
|
+
// Root font-size anchor: fixed at the browser-standard 16px root (1rem = 16px),
|
|
48
|
+
// used by mg-rem() to convert intended pixel values to rem at build time. The
|
|
49
|
+
// legacy 10px root — the `!default` override and the style-*-legacy.scss
|
|
50
|
+
// variants — was removed in 2.0; consumers use a standard 16px document root.
|
|
51
|
+
$mg-html-font-size: 16; // BUILD-TIME ONLY
|
|
52
|
+
|
|
53
|
+
// Converts an intended pixel value to rem for the 16px root.
|
|
54
|
+
// Example: mg-rem(16) → 1rem, mg-rem(24) → 1.5rem
|
|
26
55
|
@function mg-rem($px) {
|
|
27
56
|
@return math.div($px, $mg-html-font-size) * 1rem;
|
|
28
57
|
}
|
|
29
58
|
|
|
30
59
|
// font file variables
|
|
31
60
|
// Path adjusted for Storybook staticDirs (serves assets/ at root, not /assets/)
|
|
32
|
-
$mgIconFontPath: "../fonts/mangrove-icon-set/font" !default;
|
|
61
|
+
$mgIconFontPath: "../fonts/mangrove-icon-set/font" !default; // BUILD-TIME ONLY
|
|
33
62
|
|
|
34
63
|
// image variables
|
|
35
|
-
$img-path: "~/stories/assets/images";
|
|
36
|
-
$img-path-Icon: "~/stories/assets/icons";
|
|
37
|
-
$img-path-Iconback: "~/stories/assets/icons";
|
|
38
|
-
$img-path-Iconfourback: "~/stories/assets/icons";
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @tokens Colors - basic
|
|
42
|
-
* @presenter Color
|
|
43
|
-
*
|
|
44
|
-
* https://github.com/UX-and-I/storybook-design-token
|
|
45
|
-
*/
|
|
64
|
+
$img-path: "~/stories/assets/images"; // BUILD-TIME ONLY
|
|
65
|
+
$img-path-Icon: "~/stories/assets/icons"; // BUILD-TIME ONLY
|
|
66
|
+
$img-path-Iconback: "~/stories/assets/icons"; // BUILD-TIME ONLY
|
|
67
|
+
$img-path-Iconfourback: "~/stories/assets/icons"; // BUILD-TIME ONLY
|
|
46
68
|
|
|
47
69
|
// MG-COLORS BLUE SHADES (#004f91)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
70
|
+
:root {
|
|
71
|
+
--mg-color-blue-50: 230 237 244;
|
|
72
|
+
--mg-color-blue-100: 204 220 233;
|
|
73
|
+
--mg-color-blue-200: 179 202 222;
|
|
74
|
+
--mg-color-blue-300: 153 185 211;
|
|
75
|
+
--mg-color-blue-400: 128 167 200;
|
|
76
|
+
--mg-color-blue-500: 102 149 189;
|
|
77
|
+
--mg-color-blue-600: 77 132 178;
|
|
78
|
+
--mg-color-blue-700: 51 114 167;
|
|
79
|
+
--mg-color-blue-800: 26 97 156;
|
|
80
|
+
--mg-color-blue-900: 0 79 145;
|
|
81
|
+
}
|
|
59
82
|
|
|
60
83
|
// MG-COLORS ORANGE SHADES (#eb752a)
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
84
|
+
:root {
|
|
85
|
+
--mg-color-orange-50: 253 241 234;
|
|
86
|
+
--mg-color-orange-100: 251 227 212;
|
|
87
|
+
--mg-color-orange-200: 249 214 191;
|
|
88
|
+
--mg-color-orange-300: 247 200 170;
|
|
89
|
+
--mg-color-orange-400: 245 186 149;
|
|
90
|
+
--mg-color-orange-500: 243 172 127;
|
|
91
|
+
--mg-color-orange-600: 241 158 106;
|
|
92
|
+
--mg-color-orange-700: 239 145 85;
|
|
93
|
+
--mg-color-orange-800: 237 131 63;
|
|
94
|
+
--mg-color-orange-900: 235 117 42;
|
|
95
|
+
}
|
|
72
96
|
|
|
73
97
|
// MG-COLORS RED SHADES (#c10920)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* @tokens Colors - neutral
|
|
88
|
-
* @presenter Color
|
|
89
|
-
*
|
|
90
|
-
* https://github.com/UX-and-I/storybook-design-token
|
|
91
|
-
*/
|
|
92
|
-
|
|
93
|
-
$mg-color-neutral-0: #fff;
|
|
94
|
-
$mg-color-neutral-25: #f2f2f2;
|
|
95
|
-
$mg-color-neutral-50: #e6e6e6;
|
|
96
|
-
$mg-color-neutral-100: #ccc;
|
|
97
|
-
$mg-color-neutral-200: #b3b3b3;
|
|
98
|
-
$mg-color-neutral-300: #999;
|
|
99
|
-
$mg-color-neutral-400: #808080;
|
|
100
|
-
$mg-color-neutral-500: #666;
|
|
101
|
-
$mg-color-neutral-600: #4d4d4d;
|
|
102
|
-
$mg-color-neutral-700: #333;
|
|
103
|
-
$mg-color-neutral-800: #1a1a1a;
|
|
104
|
-
$mg-color-neutral-900: #000;
|
|
105
|
-
$mg-color-black: $mg-color-neutral-800;
|
|
106
|
-
$mg-color-white: $mg-color-neutral-0;
|
|
98
|
+
:root {
|
|
99
|
+
--mg-color-red-50: 249 230 233;
|
|
100
|
+
--mg-color-red-100: 243 206 210;
|
|
101
|
+
--mg-color-red-200: 236 181 188;
|
|
102
|
+
--mg-color-red-300: 230 157 166;
|
|
103
|
+
--mg-color-red-400: 224 132 144;
|
|
104
|
+
--mg-color-red-500: 218 107 121;
|
|
105
|
+
--mg-color-red-600: 212 83 99;
|
|
106
|
+
--mg-color-red-700: 205 58 77;
|
|
107
|
+
--mg-color-red-800: 199 34 54;
|
|
108
|
+
--mg-color-red-900: 193 9 32;
|
|
109
|
+
}
|
|
107
110
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
// MG-COLORS NEUTRAL
|
|
112
|
+
:root {
|
|
113
|
+
--mg-color-neutral-0: 255 255 255;
|
|
114
|
+
--mg-color-neutral-25: 242 242 242;
|
|
115
|
+
--mg-color-neutral-50: 230 230 230;
|
|
116
|
+
--mg-color-neutral-100: 204 204 204;
|
|
117
|
+
--mg-color-neutral-200: 179 179 179;
|
|
118
|
+
--mg-color-neutral-300: 153 153 153;
|
|
119
|
+
--mg-color-neutral-400: 128 128 128;
|
|
120
|
+
--mg-color-neutral-500: 102 102 102;
|
|
121
|
+
--mg-color-neutral-600: 77 77 77;
|
|
122
|
+
--mg-color-neutral-700: 51 51 51;
|
|
123
|
+
--mg-color-neutral-800: 26 26 26;
|
|
124
|
+
--mg-color-neutral-900: 0 0 0;
|
|
125
|
+
}
|
|
114
126
|
|
|
115
127
|
// MG-COLORS ACCENT
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
* @tokens Colors - interactive
|
|
123
|
-
* @presenter Color
|
|
124
|
-
*
|
|
125
|
-
* https://github.com/UX-and-I/storybook-design-token
|
|
126
|
-
*/
|
|
127
|
-
|
|
128
|
-
$mg-color-interactive-active: $mg-color-blue-700 !default;
|
|
129
|
-
$mg-color-interactive: $mg-color-blue-900 !default;
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* @tokens UNDRR Colors
|
|
133
|
-
* @presenter Color
|
|
134
|
-
*
|
|
135
|
-
* https://github.com/UX-and-I/storybook-design-token
|
|
136
|
-
*/
|
|
137
|
-
|
|
138
|
-
// Unclear if these are needed
|
|
139
|
-
$undrr-color-corporate-blue: $mg-color-blue-900;
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* @tokens Sendai Framework Colors
|
|
143
|
-
* @presenter Color
|
|
144
|
-
*
|
|
145
|
-
* https://github.com/UX-and-I/storybook-design-token
|
|
146
|
-
*/
|
|
147
|
-
|
|
148
|
-
// SENDAI COLORS
|
|
149
|
-
$sendai-red-400: #d45363;
|
|
150
|
-
$sendai-red-600: #cd3a4d;
|
|
151
|
-
$sendai-red-800: #c72236;
|
|
152
|
-
$sendai-red-900: #c10920;
|
|
153
|
-
$sendai-red: $sendai-red-900; // alias
|
|
154
|
-
|
|
155
|
-
$sendai-orange-400: #f19e6a;
|
|
156
|
-
$sendai-orange-600: #ef9155;
|
|
157
|
-
$sendai-orange-800: #ed833f;
|
|
158
|
-
$sendai-orange-900: #eb752a;
|
|
159
|
-
$sendai-orange: $sendai-orange-900; // alias
|
|
160
|
-
|
|
161
|
-
$sendai-purple-400: #b669ab;
|
|
162
|
-
$sendai-purple-600: #ab549f;
|
|
163
|
-
$sendai-purple-800: #a13e93;
|
|
164
|
-
$sendai-purple-900: #962987;
|
|
165
|
-
$sendai-purple: $sendai-purple-900; // alias
|
|
166
|
-
|
|
167
|
-
$sendai-turquoise-400: #4dc7c6;
|
|
168
|
-
$sendai-turquoise-600: #33bfbe;
|
|
169
|
-
$sendai-turquoise-800: #1ab7b6;
|
|
170
|
-
$sendai-turquoise-900: #00afae;
|
|
171
|
-
$sendai-turquoise: $sendai-turquoise-900; // alias
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* @tokens Spacing
|
|
175
|
-
* @presenter Spacing
|
|
176
|
-
*/
|
|
177
|
-
$mg-spacing-0: 0;
|
|
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);
|
|
128
|
+
:root {
|
|
129
|
+
--mg-color-accent-100: 244 228 150;
|
|
130
|
+
--mg-color-accent-200: 211 206 169;
|
|
131
|
+
--mg-color-accent-300: 253 246 217;
|
|
132
|
+
--mg-color-accent-400: 10 105 105;
|
|
133
|
+
}
|
|
193
134
|
|
|
194
135
|
/**
|
|
195
|
-
*
|
|
196
|
-
* @presenter FontSize
|
|
197
|
-
*
|
|
198
|
-
* https://github.com/UX-and-I/storybook-design-token
|
|
136
|
+
* Spacing scale — CSS custom properties emitted to :root.
|
|
199
137
|
*/
|
|
138
|
+
:root {
|
|
139
|
+
--mg-spacing-0: 0;
|
|
140
|
+
--mg-spacing-25: #{mg-rem(2.5)};
|
|
141
|
+
--mg-spacing-50: #{mg-rem(5)};
|
|
142
|
+
--mg-spacing-75: #{mg-rem(7.5)};
|
|
143
|
+
--mg-spacing-100: #{mg-rem(10)};
|
|
144
|
+
--mg-spacing-150: #{mg-rem(15)};
|
|
145
|
+
--mg-spacing-175: #{mg-rem(18)};
|
|
146
|
+
--mg-spacing-200: #{mg-rem(20)};
|
|
147
|
+
--mg-spacing-250: #{mg-rem(24)};
|
|
148
|
+
--mg-spacing-300: #{mg-rem(30)};
|
|
149
|
+
--mg-spacing-350: #{mg-rem(35)};
|
|
150
|
+
--mg-spacing-400: #{mg-rem(50)};
|
|
151
|
+
--mg-spacing-500: #{mg-rem(60)};
|
|
152
|
+
--mg-spacing-600: #{mg-rem(80)};
|
|
153
|
+
--mg-spacing-800: #{mg-rem(100)};
|
|
154
|
+
--mg-spacing-1000: #{mg-rem(400)};
|
|
155
|
+
}
|
|
200
156
|
|
|
201
157
|
$mg-font-size-100: mg-rem(10);
|
|
202
158
|
$mg-font-size-150: mg-rem(11.25);
|
|
@@ -224,34 +180,27 @@ $mg-font-line-height-700: 1.5em;
|
|
|
224
180
|
font-size: $mg-font-size-400;
|
|
225
181
|
} @else if $size == "medium" {
|
|
226
182
|
font-size: $mg-font-size-500;
|
|
227
|
-
padding-top:
|
|
228
|
-
padding-bottom:
|
|
183
|
+
padding-top: var(--mg-spacing-250);
|
|
184
|
+
padding-bottom: var(--mg-spacing-150);
|
|
229
185
|
} @else if $size == "large" {
|
|
230
186
|
font-size: $mg-font-size-600;
|
|
231
|
-
padding-top:
|
|
232
|
-
padding-bottom:
|
|
187
|
+
padding-top: var(--mg-spacing-250);
|
|
188
|
+
padding-bottom: var(--mg-spacing-150);
|
|
233
189
|
} @else if $size == "xlarge" {
|
|
234
190
|
font-size: $mg-font-size-900;
|
|
235
|
-
padding-top:
|
|
236
|
-
padding-bottom:
|
|
191
|
+
padding-top: var(--mg-spacing-300);
|
|
192
|
+
padding-bottom: var(--mg-spacing-175);
|
|
237
193
|
} @else if $size == "huge" {
|
|
238
194
|
font-size: $mg-font-size-1000;
|
|
239
|
-
padding-top:
|
|
240
|
-
padding-bottom:
|
|
195
|
+
padding-top: var(--mg-spacing-300);
|
|
196
|
+
padding-bottom: var(--mg-spacing-250);
|
|
241
197
|
} @else if $size == "xhuge" {
|
|
242
198
|
font-size: $mg-font-size-1100;
|
|
243
|
-
padding-top:
|
|
244
|
-
padding-bottom:
|
|
199
|
+
padding-top: var(--mg-spacing-400);
|
|
200
|
+
padding-bottom: var(--mg-spacing-300);
|
|
245
201
|
}
|
|
246
202
|
}
|
|
247
203
|
|
|
248
|
-
/**
|
|
249
|
-
* @tokens Font families
|
|
250
|
-
* @presenter FontFamily
|
|
251
|
-
*
|
|
252
|
-
* https://github.com/UX-and-I/storybook-design-token
|
|
253
|
-
*/
|
|
254
|
-
|
|
255
204
|
$mg-font-family: "Roboto", sans-serif;
|
|
256
205
|
$mg-font-family-condensed: "Roboto Condensed", sans-serif;
|
|
257
206
|
$mg-font-family-headings: $mg-font-family-condensed !default;
|
|
@@ -264,131 +213,39 @@ $mg-font-family-arabic-body: "Dubai", sans-serif;
|
|
|
264
213
|
// $mg-font-family-icons: "mangrove-icon-set";
|
|
265
214
|
// Not yet activated as we are using the FontAwesome namespace
|
|
266
215
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
*/
|
|
271
|
-
|
|
272
|
-
$mg-width-150: mg-rem(150);
|
|
273
|
-
$mg-width-300: mg-rem(300);
|
|
274
|
-
$mg-width-400: mg-rem(400);
|
|
275
|
-
$mg-width-600: mg-rem(600);
|
|
276
|
-
|
|
277
|
-
/**
|
|
278
|
-
* @tokens Breakpoints
|
|
279
|
-
* @presenter Spacing
|
|
280
|
-
*/
|
|
281
|
-
|
|
216
|
+
// BUILD-TIME ONLY — breakpoints cannot be CSS custom properties.
|
|
217
|
+
// @media queries require static values resolved at compile time; var() is invalid there.
|
|
218
|
+
// Do not add --mg-breakpoint-* custom properties.
|
|
282
219
|
$mg-breakpoint-mobile: 480px;
|
|
283
220
|
$mg-breakpoint-tablet: 900px;
|
|
284
|
-
$mg-breakpoint-desktop: 1164px;
|
|
221
|
+
$mg-breakpoint-desktop: 1164px;
|
|
285
222
|
$mg-breakpoint-desktop-wide: 1440px;
|
|
286
223
|
|
|
287
|
-
/**
|
|
288
|
-
* @tokens Colors - component
|
|
289
|
-
* @presenter Color
|
|
290
|
-
*
|
|
291
|
-
* https://github.com/UX-and-I/storybook-design-token
|
|
292
|
-
*/
|
|
293
|
-
|
|
294
|
-
// page container
|
|
295
|
-
$mg-container-spacer: $mg-spacing-150;
|
|
296
|
-
|
|
297
|
-
// text
|
|
298
|
-
$mg-color-text: $mg-color-neutral-800;
|
|
299
|
-
|
|
300
|
-
// tag
|
|
301
|
-
$mg-color-tag: $mg-color-interactive !default;
|
|
302
|
-
$mg-color-tag--hover: $mg-color-interactive-active !default;
|
|
303
|
-
$mg-color-tag-secondary: $mg-color-neutral-500 !default;
|
|
304
|
-
$mg-color-tag-secondary--hover: $mg-color-neutral-600 !default;
|
|
305
|
-
$mg-color-tag-accent: $mg-color-orange-900 !default;
|
|
306
|
-
$mg-color-tag-accent--hover: $mg-color-orange-800 !default;
|
|
307
|
-
$mg-radius-tag: $mg-spacing-0 !default;
|
|
308
|
-
|
|
309
|
-
// button
|
|
310
|
-
$mg-color-button: $mg-color-white !default;
|
|
311
|
-
$mg-color-button--hover: $mg-color-white !default;
|
|
312
|
-
$mg-color-button-background: $mg-color-interactive !default;
|
|
313
|
-
$mg-color-button-background--hover: $mg-color-interactive-active !default;
|
|
314
|
-
$mg-color-button-secondary-background: $mg-color-blue-800 !default;
|
|
315
|
-
$mg-color-button-secondary-background--hover: $mg-color-blue-700 !default;
|
|
316
|
-
$mg-radius-button: $mg-spacing-0 !default;
|
|
317
|
-
$mg-border-width-button: 1px !default;
|
|
318
|
-
$mg-color-text-button: $mg-color-white !default;
|
|
319
|
-
$mg-border-color-button: $mg-color-text-button !default;
|
|
320
|
-
$mg-padding-button: $mg-spacing-100 $mg-spacing-150 !default;
|
|
321
|
-
$mg-font-size-button: $mg-font-size-250 !default;
|
|
322
|
-
|
|
323
|
-
// form check (checkbox / radio)
|
|
324
|
-
$mg-color-form-check: $mg-color-interactive !default;
|
|
325
|
-
$mg-color-form-check--hover: $mg-color-interactive-active !default;
|
|
326
|
-
$mg-color-form-check--checked: $mg-color-interactive !default;
|
|
327
|
-
|
|
328
|
-
// form inputs (text, textarea, select)
|
|
329
|
-
$mg-color-form-focus: $mg-color-interactive !default;
|
|
330
|
-
$mg-radius-form-input: $mg-spacing-0 !default;
|
|
331
|
-
|
|
332
|
-
// card
|
|
333
|
-
$mg-card-background: none !default;
|
|
334
|
-
$mg-card-padding: 0rem !default;
|
|
335
|
-
$mg-card-border-radius: 0 !default;
|
|
336
|
-
$mg-card-icon-badge-radius: 20% !default;
|
|
337
|
-
|
|
338
|
-
// CTA banner
|
|
339
|
-
$mg-cta-padding: $mg-spacing-400 0 !default;
|
|
340
|
-
|
|
341
|
-
// shared variant accent colours (used by hero, cards, and other components)
|
|
342
|
-
$mg-color-secondary: $mg-color-orange-800 !default;
|
|
343
|
-
$mg-color-tertiary: $mg-color-neutral-900 !default;
|
|
344
|
-
$mg-color-quaternary: $mg-color-red-800 !default;
|
|
345
|
-
|
|
346
|
-
// hero (aliases for backward compatibility)
|
|
347
|
-
$mg-color-hero: $mg-color-interactive !default;
|
|
348
|
-
$mg-color-hero--secondary: $mg-color-secondary !default;
|
|
349
|
-
$mg-color-hero--tertiary: $mg-color-tertiary !default;
|
|
350
|
-
$mg-color-hero--quaternary: $mg-color-quaternary !default;
|
|
351
|
-
$mg-opacity-hero: 0.85 !default;
|
|
352
|
-
$mg-color-hero-title: $mg-color-neutral-0 !default;
|
|
353
|
-
$mg-spacing-hero-overlay: 0 !default;
|
|
354
|
-
$mg-hero-overlay-max-width: $mg-width-400 !default;
|
|
355
|
-
$mg-hero-overlay-padding: $mg-spacing-200 !default;
|
|
356
|
-
$mg-color-hero-button-secondary-background: rgba(
|
|
357
|
-
$mg-color-neutral-0,
|
|
358
|
-
0.9
|
|
359
|
-
) !default;
|
|
360
|
-
$mg-color-hero-button-secondary-color: $mg-color-hero !default;
|
|
361
|
-
$mg-border-color-hero-button-secondary: $mg-color-neutral-0 !default;
|
|
362
|
-
|
|
363
|
-
// mega menu
|
|
364
|
-
$mg-color-mega-content-bg: $mg-color-button !default;
|
|
365
|
-
|
|
366
224
|
// tabs
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
$mg-color-tab-border: $mg-color-neutral-700 !default;
|
|
371
|
-
$mg-color-tab-border--hover: $mg-color-neutral-900 !default;
|
|
372
|
-
$mg-color-tab-border--active: $mg-color-blue-800 !default;
|
|
373
|
-
$mg-color-tab-background--hover: $mg-color-blue-800 !default;
|
|
374
|
-
$mg-radius-tab: $mg-spacing-0 !default;
|
|
375
|
-
$mg-padding-tab: $mg-spacing-75 $mg-spacing-150 !default;
|
|
376
|
-
$mg-color-text-tab: $mg-color-neutral-700 !default;
|
|
377
|
-
$mg-color-text-tab--hover: $mg-color-white !default;
|
|
378
|
-
$mg-color-text-tab-active: $mg-color-neutral-700 !default;
|
|
379
|
-
$mg-color-text-tab-no-results: $mg-color-neutral-500 !default;
|
|
380
|
-
$mg-color-tab-section-background: $mg-color-neutral-0 !default;
|
|
381
|
-
$mg-padding-tab-section: $mg-spacing-100 $mg-spacing-0 !default;
|
|
382
|
-
$mg-radius-tab-section: $mg-spacing-0 !default;
|
|
383
|
-
$mg-box-shadow-tab-section: none !default;
|
|
225
|
+
// BUILD-TIME ONLY: $mg-tabs-border-bottom drives @if conditional in tab.scss.
|
|
226
|
+
// Cannot become a CSS custom property — no runtime conditional equivalent exists.
|
|
227
|
+
// All sub-brands use true. To disable, set to false before @use.
|
|
384
228
|
$mg-tabs-border-bottom: true !default;
|
|
385
229
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
230
|
+
:root {
|
|
231
|
+
--mg-color-tabbar-background: rgb(var(--mg-color-blue-50));
|
|
232
|
+
--mg-color-tab-background: rgb(var(--mg-color-blue-200));
|
|
233
|
+
--mg-color-tab-background--inactive: rgb(var(--mg-color-blue-50));
|
|
234
|
+
--mg-color-tab-border: rgb(var(--mg-color-neutral-700));
|
|
235
|
+
--mg-color-tab-border--hover: rgb(var(--mg-color-neutral-900));
|
|
236
|
+
--mg-color-tab-border--active: rgb(var(--mg-color-blue-800));
|
|
237
|
+
--mg-color-tab-background--hover: rgb(var(--mg-color-blue-800));
|
|
238
|
+
--mg-radius-tab: 0;
|
|
239
|
+
--mg-padding-tab: var(--mg-spacing-75) var(--mg-spacing-150);
|
|
240
|
+
--mg-color-text-tab: rgb(var(--mg-color-neutral-700));
|
|
241
|
+
--mg-color-text-tab--hover: rgb(var(--mg-color-neutral-0));
|
|
242
|
+
--mg-color-text-tab-active: rgb(var(--mg-color-neutral-700));
|
|
243
|
+
--mg-color-text-tab-no-results: rgb(var(--mg-color-neutral-500));
|
|
244
|
+
--mg-color-tab-section-background: rgb(var(--mg-color-neutral-0));
|
|
245
|
+
--mg-padding-tab-section: var(--mg-spacing-100) var(--mg-spacing-0);
|
|
246
|
+
--mg-radius-tab-section: 0;
|
|
247
|
+
--mg-box-shadow-tab-section: none;
|
|
248
|
+
}
|
|
392
249
|
|
|
393
250
|
// Z-index layers: use these named tokens for global stacking contexts
|
|
394
251
|
// (fixed, sticky, or portaled elements). One token per UI concept — backdrops
|
|
@@ -397,58 +254,205 @@ $author-image-radius: 50%;
|
|
|
397
254
|
// isolated context uses raw values with an explanatory comment.
|
|
398
255
|
// Pick the nearest existing layer; open a GitHub discussion before adding one.
|
|
399
256
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
257
|
+
:root {
|
|
258
|
+
// Interactive
|
|
259
|
+
--mg-color-interactive: var(--mg-color-blue-900);
|
|
260
|
+
--mg-color-interactive-active: var(--mg-color-blue-700);
|
|
261
|
+
|
|
262
|
+
// Text + aliases
|
|
263
|
+
--mg-color-text: var(--mg-color-neutral-800);
|
|
264
|
+
--mg-color-black: var(--mg-color-neutral-800);
|
|
265
|
+
--mg-color-white: var(--mg-color-neutral-0);
|
|
266
|
+
|
|
267
|
+
// Tags
|
|
268
|
+
--mg-color-tag: var(--mg-color-interactive);
|
|
269
|
+
--mg-color-tag--hover: var(--mg-color-interactive-active);
|
|
270
|
+
--mg-color-tag-secondary: var(--mg-color-neutral-500);
|
|
271
|
+
--mg-color-tag-secondary--hover: var(--mg-color-neutral-600);
|
|
272
|
+
--mg-color-tag-accent: var(--mg-color-orange-900);
|
|
273
|
+
--mg-color-tag-accent--hover: var(--mg-color-orange-800);
|
|
274
|
+
|
|
275
|
+
// Buttons
|
|
276
|
+
--mg-color-button: var(--mg-color-neutral-0);
|
|
277
|
+
--mg-color-button--hover: var(--mg-color-neutral-0);
|
|
278
|
+
--mg-color-button-background: var(--mg-color-interactive);
|
|
279
|
+
--mg-color-button-background--hover: var(--mg-color-interactive-active);
|
|
280
|
+
--mg-color-button-secondary-background: var(--mg-color-blue-800);
|
|
281
|
+
--mg-color-button-secondary-background--hover: var(--mg-color-blue-700);
|
|
282
|
+
--mg-color-button-outline-primary: var(--mg-color-interactive);
|
|
283
|
+
--mg-color-button-outline-primary--hover: var(--mg-color-interactive-active);
|
|
284
|
+
--mg-color-button-outline-secondary: var(--mg-color-button-secondary-background);
|
|
285
|
+
--mg-color-button-outline-secondary--hover: var(--mg-color-button-secondary-background--hover);
|
|
286
|
+
--mg-color-text-button: var(--mg-color-neutral-0);
|
|
287
|
+
--mg-border-color-button: var(--mg-color-text-button);
|
|
288
|
+
|
|
289
|
+
// Form
|
|
290
|
+
--mg-color-form-check: var(--mg-color-interactive);
|
|
291
|
+
--mg-color-form-check--hover: var(--mg-color-interactive-active);
|
|
292
|
+
--mg-color-form-check--checked: var(--mg-color-interactive);
|
|
293
|
+
--mg-color-form-focus: var(--mg-color-interactive);
|
|
294
|
+
|
|
295
|
+
// Focus ring
|
|
296
|
+
--mg-color-focus-ring: var(--mg-color-interactive);
|
|
297
|
+
|
|
298
|
+
// Brand hierarchy
|
|
299
|
+
--mg-color-secondary: var(--mg-color-orange-800);
|
|
300
|
+
--mg-color-tertiary: var(--mg-color-neutral-900);
|
|
301
|
+
--mg-color-quaternary: var(--mg-color-red-800);
|
|
302
|
+
|
|
303
|
+
// Hero
|
|
304
|
+
--mg-color-hero: var(--mg-color-interactive);
|
|
305
|
+
--mg-color-hero--secondary: var(--mg-color-secondary);
|
|
306
|
+
--mg-color-hero--tertiary: var(--mg-color-tertiary);
|
|
307
|
+
--mg-color-hero--quaternary: var(--mg-color-quaternary);
|
|
308
|
+
--mg-color-hero-title: var(--mg-color-neutral-0);
|
|
309
|
+
--mg-color-hero-button-secondary-background: rgb(var(--mg-color-neutral-0) / 0.9);
|
|
310
|
+
--mg-color-hero-button-secondary-color: var(--mg-color-hero);
|
|
311
|
+
--mg-border-color-hero-button-secondary: var(--mg-color-neutral-0);
|
|
312
|
+
|
|
313
|
+
// Mega menu
|
|
314
|
+
--mg-color-mega-content-bg: var(--mg-color-button);
|
|
315
|
+
|
|
316
|
+
// Modal
|
|
317
|
+
--mg-color-modal-scrim: rgb(var(--mg-color-neutral-900) / 0.85);
|
|
318
|
+
|
|
319
|
+
// Legacy one-off colors (hardcoded — no palette backing)
|
|
320
|
+
--mg-color-green: #008484;
|
|
321
|
+
--mg-color-green-light: #90ee90;
|
|
322
|
+
--mg-color-green-dark: #006400;
|
|
323
|
+
--mg-color-yellow: #ff0;
|
|
324
|
+
--mg-color-yellow-light: lightyellow;
|
|
325
|
+
--mg-color-yellow-dark: #d6d624;
|
|
326
|
+
--mg-color-azure: #f0ffff;
|
|
327
|
+
--mg-color-azure-dark: #d4e3e3;
|
|
328
|
+
--mg-color-azure-light: #f0f8f8;
|
|
329
|
+
--mg-color-ebony-clay: #3d4242;
|
|
330
|
+
|
|
331
|
+
// Sendai Framework
|
|
332
|
+
--sendai-red-400: #d45363;
|
|
333
|
+
--sendai-red-600: #cd3a4d;
|
|
334
|
+
--sendai-red-800: #c72236;
|
|
335
|
+
--sendai-red-900: #c10920;
|
|
336
|
+
--sendai-red: var(--sendai-red-900);
|
|
337
|
+
--sendai-orange-400: #f19e6a;
|
|
338
|
+
--sendai-orange-600: #ef9155;
|
|
339
|
+
--sendai-orange-800: #ed833f;
|
|
340
|
+
--sendai-orange-900: #eb752a;
|
|
341
|
+
--sendai-orange: var(--sendai-orange-900);
|
|
342
|
+
--sendai-purple-400: #b669ab;
|
|
343
|
+
--sendai-purple-600: #ab549f;
|
|
344
|
+
--sendai-purple-800: #a13e93;
|
|
345
|
+
--sendai-purple-900: #962987;
|
|
346
|
+
--sendai-purple: var(--sendai-purple-900);
|
|
347
|
+
--sendai-turquoise-400: #4dc7c6;
|
|
348
|
+
--sendai-turquoise-600: #33bfbe;
|
|
349
|
+
--sendai-turquoise-800: #1ab7b6;
|
|
350
|
+
--sendai-turquoise-900: #00afae;
|
|
351
|
+
--sendai-turquoise: var(--sendai-turquoise-900);
|
|
352
|
+
|
|
353
|
+
// UNDRR
|
|
354
|
+
--undrr-color-corporate-blue: var(--mg-color-blue-900);
|
|
355
|
+
}
|
|
424
356
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
//
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
//
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
//
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
357
|
+
:root {
|
|
358
|
+
// Container
|
|
359
|
+
--mg-container-spacer: var(--mg-spacing-150);
|
|
360
|
+
|
|
361
|
+
// Tag
|
|
362
|
+
--mg-radius-tag: var(--mg-spacing-0);
|
|
363
|
+
|
|
364
|
+
// Button
|
|
365
|
+
--mg-radius-button: var(--mg-spacing-50);
|
|
366
|
+
--mg-border-width-button: 1px;
|
|
367
|
+
--mg-padding-button: var(--mg-spacing-100) var(--mg-spacing-150);
|
|
368
|
+
--mg-font-size-button: #{$mg-font-size-250};
|
|
369
|
+
|
|
370
|
+
// Form
|
|
371
|
+
--mg-radius-form-input: var(--mg-spacing-50);
|
|
372
|
+
|
|
373
|
+
// Focus ring
|
|
374
|
+
--mg-focus-ring-width: 2px;
|
|
375
|
+
--mg-focus-ring-offset: 2px;
|
|
376
|
+
--mg-focus-ring-radius: 2px;
|
|
377
|
+
|
|
378
|
+
// Modernisation: shared surface, elevation, and motion semantics
|
|
379
|
+
--mg-surface-raised: rgb(var(--mg-color-neutral-0));
|
|
380
|
+
--mg-shadow-raised: inset 0 0 0 1px rgb(var(--mg-color-neutral-600) / 0.24);
|
|
381
|
+
--mg-shadow-raised-hover: inset 0 0 0 2px rgb(var(--mg-color-interactive));
|
|
382
|
+
--mg-motion-duration-fast: 160ms;
|
|
383
|
+
--mg-motion-duration-medium: 300ms;
|
|
384
|
+
--mg-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
385
|
+
|
|
386
|
+
// Card
|
|
387
|
+
--mg-card-background: var(--mg-surface-raised);
|
|
388
|
+
--mg-card-padding: var(--mg-spacing-150);
|
|
389
|
+
--mg-card-border-radius: var(--mg-spacing-50);
|
|
390
|
+
--mg-card-shadow: var(--mg-shadow-raised);
|
|
391
|
+
--mg-card-shadow-hover: var(--mg-shadow-raised-hover);
|
|
392
|
+
--mg-card-icon-badge-radius: 20%;
|
|
393
|
+
|
|
394
|
+
// CTA
|
|
395
|
+
--mg-cta-padding: var(--mg-spacing-400);
|
|
396
|
+
|
|
397
|
+
// Author image
|
|
398
|
+
--mg-author-image-radius: 50%;
|
|
399
|
+
|
|
400
|
+
// Hero
|
|
401
|
+
--mg-opacity-hero: 0.85;
|
|
402
|
+
--mg-spacing-hero-overlay: 0;
|
|
403
|
+
--mg-hero-overlay-max-width: #{mg-rem(600)};
|
|
404
|
+
--mg-hero-overlay-padding: var(--mg-spacing-300);
|
|
405
|
+
--mg-hero-overlay-radius: var(--mg-spacing-50);
|
|
406
|
+
--mg-hero-overlay-shadow: 0 18px 55px rgb(var(--mg-color-neutral-900) / 0.22);
|
|
407
|
+
--mg-hero-gradient-start-opacity: 0.98;
|
|
408
|
+
--mg-hero-gradient-middle-opacity: 0.82;
|
|
409
|
+
--mg-hero-gradient-end-opacity: 0.08;
|
|
410
|
+
|
|
411
|
+
// Widths (build-time resolved)
|
|
412
|
+
--mg-width-150: #{mg-rem(150)};
|
|
413
|
+
--mg-width-300: #{mg-rem(300)};
|
|
414
|
+
--mg-width-400: #{mg-rem(400)};
|
|
415
|
+
--mg-width-600: #{mg-rem(600)};
|
|
416
|
+
|
|
417
|
+
// Z-index (named stacking contexts)
|
|
418
|
+
--mg-z-index-behind: -1;
|
|
419
|
+
--mg-z-index-nav: 10;
|
|
420
|
+
--mg-z-index-sticky: 11;
|
|
421
|
+
--mg-z-index-nav-toggle: 14;
|
|
422
|
+
--mg-z-index-header: 22;
|
|
423
|
+
--mg-z-index-drawer: 2000;
|
|
424
|
+
--mg-z-index-dropdown: 2500;
|
|
425
|
+
--mg-z-index-modal: 5000;
|
|
426
|
+
--mg-z-index-toast: 5500;
|
|
427
|
+
}
|
|
449
428
|
|
|
450
429
|
// Header height
|
|
451
430
|
$header-height-xlarge: 115px;
|
|
452
431
|
$header-height-medium: 75px;
|
|
453
432
|
|
|
454
433
|
/* variables end */
|
|
434
|
+
|
|
435
|
+
// stylelint-disable comment-whitespace-inside -- Preserve the fixed-width source easter egg.
|
|
436
|
+
/*============================================================================+
|
|
437
|
+
| [z-level: -2] [Biome: Server Rack] [Activity: Constructing Frameworks] |
|
|
438
|
+
+=============================================================================+
|
|
439
|
+
|X| d | _ _ _ _ ___ ___ ___ c X |
|
|
440
|
+
|X| [HTML] | w | | | | \| | \| _ \ _ \ [JS] | X |
|
|
441
|
+
|X| \--/ | [===] | |_| | | | |) | / / \--/ | X |
|
|
442
|
+
|X| || | || \___/|_|\_|___/|_|_\_|_\ || | d X |
|
|
443
|
+
|X| || | || | [=O=]X|
|
|
444
|
+
|X| c || | || c \ [DB_]X|
|
|
445
|
+
|X| _||_ | _||_ __ __ _ _ _ ___ ___ _____ __ ___ X |
|
|
446
|
+
|X|d [CSS ] | [NODE] | \/ | /_\ | \| |/ __| _ \/ _ \ \ / / | __| X |
|
|
447
|
+
|X|\ \--/ | \--/ | |\/| |/ _ \| | | (_ | / (_) \ V / | _| X |
|
|
448
|
+
|X|| || | d || |_| |_/_/ \_\_|\_|\___|_|_\\___/ \_/ |___| X |
|
|
449
|
+
|X|| || | || X |
|
|
450
|
+
|X|| || d | || ___ w X |
|
|
451
|
+
|X|| [=O=] | || c |_ ) d [=O=] X |
|
|
452
|
+
|X|| [API] | || [DOM] / / [=O=] [JSON] X |
|
|
453
|
+
|X|\============|==== || ========= \--/ /___| [CMS] || X |
|
|
454
|
+
|X| || || || X |
|
|
455
|
+
+=============================================================================+
|
|
456
|
+
| KEY: d=web-dwarf c=coder-dwarf w=wrangler [=O=]=data forge X=stairwell |
|
|
457
|
+
+============================================================================*/
|
|
458
|
+
// stylelint-enable comment-whitespace-inside
|