@undrr/undrr-mangrove 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +4 -4
  2. package/components/BarChart.js +1 -1
  3. package/components/Fetcher.js +1 -1
  4. package/components/Gallery.js +1 -1
  5. package/components/IconCard.js +2 -2
  6. package/components/IconCard.js.LICENSE.txt +1 -1
  7. package/components/MapComponent.js +2 -2
  8. package/components/MegaMenu.js +1 -1
  9. package/components/Pager.js +1 -1
  10. package/components/QuoteHighlight.js +1 -1
  11. package/components/ScrollContainer.js +1 -1
  12. package/components/ShareButtons.js +1 -1
  13. package/components/StatsCard.js +2 -2
  14. package/components/SyndicationSearchWidget.js +2 -2
  15. package/css/style-gutenberg.css +10 -2
  16. package/css/style-gutenberg.css.map +1 -1
  17. package/css/style-irp.css +28 -69
  18. package/css/style-irp.css.map +1 -1
  19. package/css/style-mcr.css +28 -69
  20. package/css/style-mcr.css.map +1 -1
  21. package/css/style-preventionweb.css +28 -69
  22. package/css/style-preventionweb.css.map +1 -1
  23. package/css/style.css +28 -69
  24. package/css/style.css.map +1 -1
  25. package/error-pages/401.html +1 -1
  26. package/error-pages/403.html +1 -1
  27. package/error-pages/404.html +1 -1
  28. package/error-pages/429.html +1 -1
  29. package/error-pages/500.html +1 -1
  30. package/error-pages/502.html +1 -1
  31. package/error-pages/503.html +1 -1
  32. package/error-pages/504.html +1 -1
  33. package/error-pages/5xx.html +1 -1
  34. package/error-pages/challenge.html +1 -1
  35. package/error-pages/managed-challenge.html +1 -1
  36. package/js/show-more.js +15 -9
  37. package/package.json +1 -1
  38. package/scss/Atom/Tag/tag.scss +115 -0
  39. package/scss/Components/Boilerplate/boilerplate.scss +15 -0
  40. package/scss/Components/Cards/Card/card.scss +88 -23
  41. package/scss/Components/Cards/StatsCard/stats-card.scss +1 -1
  42. package/scss/Components/Footer/footer.scss +20 -3
  43. package/scss/Components/Forms/Checkbox/checkbox.scss +2 -22
  44. package/scss/Components/Forms/FormGroup/form-group.scss +24 -0
  45. package/scss/Components/Forms/InputFields/input-fields.scss +7 -177
  46. package/scss/Components/Forms/Radio/radio.scss +2 -13
  47. package/scss/Components/Forms/Select/select.scss +6 -15
  48. package/scss/Components/Forms/TextInput/text-input.scss +13 -0
  49. package/scss/Components/Forms/Textarea/textarea.scss +2 -0
  50. package/scss/Components/Forms/_form-base.scss +324 -0
  51. package/scss/Components/Forms/_form-legacy.scss +153 -0
  52. package/scss/Components/Hero/hero.scss +1 -1
  53. package/scss/Components/HighlightBox/highlight-box.scss +0 -9
  54. package/scss/Components/MegaMenu/megamenu.scss +1 -1
  55. package/scss/Components/PageHeader/page-header.scss +1 -1
  56. package/scss/Components/SyndicationSearchWidget/SyndicationSearchWidget.scss +49 -1
  57. package/scss/Utilities/EmbedContainer/embed-container.scss +58 -0
  58. package/scss/Utilities/ShowMore/ShowMore.scss +8 -17
  59. package/scss/assets/scss/_components.scss +7 -10
  60. package/scss/assets/scss/_mixins.scss +4 -68
  61. package/scss/assets/scss/_utility.scss +87 -0
  62. package/scss/assets/scss/_variables-irp.scss +12 -3
  63. package/scss/assets/scss/_variables-mcr.scss +12 -3
  64. package/scss/assets/scss/_variables-preventionweb.scss +10 -2
  65. package/scss/assets/scss/_variables.scss +37 -10
  66. package/scss/Atom/Navigation/LanguageSwitcherRow/language-switcher-row.scss +0 -12
  67. package/scss/Atom/Navigation/ProgressBarNavigation/progress-bar-navigation.scss +0 -70
  68. package/scss/Atom/Navigation/SidebarFirstLevel/sidebar-first-level.scss +0 -26
  69. package/scss/Components/Accordion/accordion.scss +0 -119
  70. package/scss/Components/Forms/Dropdowns/CustomSelect/custom-select.scss +0 -110
  71. package/scss/Components/Forms/Dropdowns/Multiselect/multi-select.scss +0 -228
  72. package/scss/Components/LanguageSwitcher/language-switcher.scss +0 -162
  73. package/scss/Components/Sidebar/sidebar.scss +0 -236
  74. package/scss/Molecules/SidebarData/sidebar-data.scss +0 -44
@@ -1,18 +1,4 @@
1
1
  /* content-card start */
2
- // $colors: (
3
- // 'yellow': $mg-color-yellow,
4
- // 'red': $mg-color-red-900,
5
- // 'green': $mg-color-green,
6
- // 'blue': $mg-color-azure,
7
- // 'gray': $mg-color-neutral-100,
8
- // );
9
- // $backgroundcolors: (
10
- // 'yellow': $mg-color-yellow-light,
11
- // 'red': $mg-color-red-600,
12
- // 'green': $mg-color-green-light,
13
- // 'blue': $mg-color-azure-light,
14
- // 'gray': $mg-color-neutral-100,
15
- // );
16
2
 
17
3
  // MG CARD using CSS GRID
18
4
  .mg-card {
@@ -105,14 +91,14 @@
105
91
  }
106
92
 
107
93
  &__label {
108
- color: $mg-color-label;
94
+ color: $mg-color-tag;
109
95
  cursor: pointer;
110
96
  display: inline-block;
111
- font-size: $mg-font-label;
97
+ font-size: $mg-font-tag;
112
98
  margin-right: $mg-spacing-50;
113
99
 
114
100
  &:hover {
115
- color: $mg-color-label;
101
+ color: $mg-color-tag;
116
102
  }
117
103
  }
118
104
 
@@ -124,9 +110,11 @@
124
110
  padding-top: $mg-spacing-100;
125
111
 
126
112
  a {
127
- color: $mg-color-text;
113
+ color: $mg-color-interactive;
128
114
  cursor: pointer;
129
- display: inline-block;
115
+ display: inline;
116
+ text-decoration: underline;
117
+ text-underline-offset: 3px;
130
118
  }
131
119
 
132
120
  .active {
@@ -135,7 +123,8 @@
135
123
  }
136
124
  }
137
125
 
138
- &__title a::after {
126
+ // Stretched link overlay (covers entire card)
127
+ &__title a::before {
139
128
  bottom: 0;
140
129
  content: "";
141
130
  left: 0;
@@ -144,6 +133,81 @@
144
133
  top: 0;
145
134
  z-index: 100;
146
135
  }
136
+
137
+ // Inline chevron indicator (CSS border triangle — no Unicode dependency)
138
+ &__title a::after {
139
+ border-color: currentColor;
140
+ border-style: solid;
141
+ border-width: 0.15em 0.15em 0 0;
142
+ content: "";
143
+ display: inline-block;
144
+ height: 0.35em;
145
+ margin-inline-start: 0.25em;
146
+ position: relative;
147
+ top: -0.1em;
148
+ transform: rotate(45deg);
149
+ translate: 0 0;
150
+ vertical-align: middle;
151
+ width: 0.35em;
152
+
153
+ @media (prefers-reduced-motion: no-preference) {
154
+ transition: translate 200ms ease;
155
+ }
156
+ }
157
+
158
+ // Focus: card-level outline when title link is focused via keyboard
159
+ &__title a:focus-visible {
160
+ outline: 2px solid $mg-color-interactive;
161
+ outline-offset: 2px;
162
+ }
163
+
164
+ // Hover: thicker underline + nudge chevron
165
+ &:hover &__title a {
166
+ text-decoration-thickness: 2px;
167
+ }
168
+
169
+ &:hover &__title a::after {
170
+ @media (prefers-reduced-motion: no-preference) {
171
+ translate: 0.15em 0;
172
+ }
173
+ }
174
+ }
175
+
176
+ // RTL chevron — flip direction
177
+ [dir="rtl"] .mg-card__title a::after {
178
+ transform: rotate(225deg);
179
+ }
180
+
181
+ [dir="rtl"] .mg-card:hover .mg-card__title a::after {
182
+ @media (prefers-reduced-motion: no-preference) {
183
+ translate: -0.15em 0;
184
+ }
185
+ }
186
+
187
+ // Color variants (shared accent colours from _variables.scss)
188
+ $card-variant-colours: (
189
+ "secondary": $mg-color-secondary,
190
+ "tertiary": $mg-color-tertiary,
191
+ "quaternary": $mg-color-quaternary,
192
+ );
193
+
194
+ @each $name, $color in $card-variant-colours {
195
+ .mg-card--#{$name} .mg-card__title a {
196
+ color: #{$color};
197
+ }
198
+ }
199
+
200
+ // Opt-out modifier: plain title (no blue, no underline, no chevron)
201
+ // Double class selector ensures this overrides variant colors regardless of source order
202
+ .mg-card.mg-card--plain-title {
203
+ .mg-card__title a {
204
+ color: $mg-color-text;
205
+ text-decoration: none;
206
+ }
207
+
208
+ .mg-card__title a::after {
209
+ content: none;
210
+ }
147
211
  }
148
212
 
149
213
  .mg-card__summary {
@@ -356,11 +420,12 @@
356
420
  line-height: $mg-font-line-height-500;
357
421
 
358
422
  a {
359
- color: $mg-color-text;
360
- text-decoration: none;
423
+ color: $mg-color-interactive;
424
+ text-decoration: underline;
425
+ text-underline-offset: 3px;
361
426
 
362
427
  &:hover {
363
- text-decoration: underline;
428
+ text-decoration-thickness: 2px;
364
429
  }
365
430
 
366
431
  &:focus-visible {
@@ -33,7 +33,7 @@
33
33
  &__label {
34
34
  font-size: $mg-font-size-200;
35
35
  font-weight: 600;
36
- color: $mg-color-label;
36
+ color: $mg-color-tag;
37
37
  text-transform: uppercase;
38
38
  letter-spacing: 0.05em;
39
39
  line-height: 1.2;
@@ -1,6 +1,4 @@
1
- .mg-footer,
2
- .page-node-type-landing_page_gutenberg .field--name-body > * {
3
- // reset the spacer for the landing page body of the footer
1
+ .mg-footer {
4
2
  --mg-gutenberg-spacer: 0;
5
3
  }
6
4
 
@@ -14,6 +12,10 @@
14
12
  a:hover {
15
13
  color: $mg-color-white;
16
14
  }
15
+
16
+ .container {
17
+ margin-bottom: 0;
18
+ }
17
19
  }
18
20
 
19
21
  .mg-footer--about-footer--links {
@@ -24,4 +26,19 @@
24
26
 
25
27
  .mg-footer--about-footer--description {
26
28
  font-size: $mg-font-size-400;
29
+ }
30
+
31
+ .mg-footer--social-links {
32
+ display: inline-flex;
33
+ gap: 1.5rem;
34
+ padding-left: 0;
35
+
36
+ li {
37
+ display: inline-block;
38
+ }
39
+
40
+ li a {
41
+ color: $mg-color-white;
42
+ text-underline-offset: 5px;
43
+ }
27
44
  }
@@ -1,22 +1,2 @@
1
- /* checkbox */
2
- .form-check {
3
- align-items: center;
4
- display: flex;
5
- position: relative;
6
-
7
- label {
8
- cursor: pointer;
9
- font-size: $mg-font-size-300;
10
- padding: 0 7px;
11
- }
12
- }
13
-
14
- input[type="checkbox"] {
15
- @extend %checbox-radio-before;
16
-
17
- border-radius: 0;
18
-
19
- // &:checked {
20
- // background: url(#{$img-path-Icon}/icon-check.svg) 1px 0 no-repeat;
21
- // }
22
- }
1
+ // Checkbox-specific overrides.
2
+ // Shared form styles live in _form-base.scss (.mg-form-check).
@@ -0,0 +1,24 @@
1
+ // FormGroup — styled fieldset/legend for grouping related form controls.
2
+
3
+ .mg-form-group {
4
+ border: 0;
5
+ margin: 0;
6
+ min-width: 0;
7
+ padding: 0;
8
+
9
+ &__legend {
10
+ @extend %paragraph-font-300;
11
+
12
+ display: block;
13
+ margin-bottom: $mg-spacing-50;
14
+ padding: 0;
15
+ }
16
+
17
+ &--disabled &__legend {
18
+ color: $mg-color-neutral-400;
19
+ }
20
+
21
+ &--error &__legend {
22
+ color: $mg-color-red-900;
23
+ }
24
+ }
@@ -1,177 +1,7 @@
1
- label {
2
- @extend %paragraph-font-300;
3
-
4
- display: block;
5
-
6
- &.error {
7
- @extend %paragraph-font-300;
8
-
9
- color: $mg-color-black;
10
- margin-top: 0;
11
- }
12
-
13
- &.disabled {
14
- color: $mg-color-neutral-400;
15
- }
16
- }
17
-
18
- .help {
19
- color: $mg-color-neutral-500;
20
- display: block;
21
- font-size: $mg-font-size-200;
22
- margin-bottom: 0;
23
- margin-top: $mg-spacing-25;
24
- }
25
-
26
- .error {
27
- color: $mg-color-red-900;
28
- font-size: $mg-font-size-300;
29
- margin-bottom: 0;
30
- margin-top: $mg-spacing-25;
31
- }
32
-
33
- input[type="text"],
34
- input[type="number"],
35
- input[type="email"],
36
- input[type="password"],
37
- input[type="search"],
38
- input[type="tel"],
39
- input[type="date"],
40
- textarea {
41
- @extend %background-white;
42
-
43
- -moz-appearance: none;
44
- -webkit-appearance: none;
45
- appearance: none;
46
- border: 2px solid $mg-color-black;
47
- border-radius: 0;
48
- box-sizing: border-box;
49
- display: block;
50
- font-family: $mg-font-family;
51
- font-size: $mg-font-size-300;
52
- height: 46px;
53
- margin-top: $mg-spacing-25;
54
- padding: 0.625rem;
55
- width: 100%;
56
-
57
- &::placeholder {
58
- color: $mg-color-neutral-500;
59
- }
60
-
61
- &:focus {
62
- box-shadow: 0 0 4px $mg-color-blue-800;
63
- outline: 0;
64
- }
65
-
66
- input[type="date"],
67
- input[type="search"] {
68
- position: relative;
69
- }
70
-
71
- &.disabled {
72
- background-color: $mg-color-white;
73
- border: 2px solid $mg-color-neutral-400;
74
- color: $mg-color-neutral-400;
75
-
76
- &::placeholder {
77
- color: $mg-color-neutral-400;
78
- }
79
- }
80
-
81
- &.error {
82
- border: 2px solid $mg-color-red-900;
83
- }
84
- }
85
-
86
- input[type="date"] {
87
- // background:
88
- // url(#{$img-path-Icon}/calender-black.svg) no-repeat left 14px
89
- // bottom 12px;
90
- background-color: $mg-color-white;
91
- color: $mg-color-neutral-500;
92
- }
93
-
94
-
95
- .help {
96
- &.disabled {
97
- color: $mg-color-neutral-400;
98
- }
99
- }
100
-
101
- textarea {
102
- height: auto;
103
- max-width: 100%;
104
- resize: vertical;
105
- }
106
-
107
- input[type="date"]::-webkit-calendar-picker-indicator {
108
- appearance: none;
109
- left: 3px;
110
- opacity: 0;
111
- position: absolute;
112
- }
113
-
114
- [dir="rtl"] {
115
- input[type="text"],
116
- input[type="number"],
117
- input[type="email"],
118
- input[type="password"],
119
- input[type="search"],
120
- input[type="tel"],
121
- input[type="date"],
122
- textarea {
123
- @media (hover: none) and (pointer: coarse) {
124
- input[type="date"] {
125
- padding-right: $mg-spacing-100;
126
- }
127
- }
128
- }
129
-
130
- // input[type="date"],
131
- // input[type="search"] {
132
- // background:
133
- // url(#{$img-path-Icon}/calender-black.svg) no-repeat right 14px
134
- // bottom 12px;
135
- // background-color: $mg-color-white;
136
- // padding-left: 0.635rem;
137
- // padding-right: $mg-spacing-200;
138
- // text-align: right;
139
- // }
140
-
141
- // input[type="search"] {
142
- // background:
143
- // url(#{$img-path-Icon}/search-black.svg) no-repeat right 14px
144
- // bottom 12px;
145
- // }
146
-
147
- // input[type="date"] {
148
- // &.disabled {
149
- // background-image: url(#{$img-path-Icon}/date-disabled.svg);
150
- // }
151
- // }
152
-
153
- input[type="date"]::-webkit-calendar-picker-indicator {
154
- left: inherit;
155
- position: absolute;
156
- right: 27px;
157
- }
158
-
159
- input::-webkit-date-and-time-value {
160
- margin-right: 0;
161
- text-align: right;
162
- }
163
- }
164
-
165
- // Arabic
166
- :lang(ar) {
167
- input[type="text"],
168
- input[type="number"],
169
- input[type="email"],
170
- input[type="password"],
171
- input[type="search"],
172
- input[type="tel"],
173
- input[type="date"],
174
- textarea {
175
- font-family: $mg-font-family-arabic-body;
176
- }
177
- }
1
+ // DEPRECATED — February 2026
2
+ // This file has been replaced by:
3
+ // - stories/Components/Forms/_form-base.scss (shared form styles)
4
+ // - stories/Components/Forms/TextInput/text-input.scss (TextInput-specific)
5
+ // Scheduled for removal: August 2026.
6
+ // If you see this message, update your import path.
7
+ @warn "input-fields.scss is deprecated. Import _form-base.scss and TextInput/text-input.scss instead. Removal: August 2026.";
@@ -1,13 +1,2 @@
1
- /* radio */
2
- input[type="radio"] {
3
- @extend %checbox-radio-before;
4
-
5
- background-color: transparent;
6
- border-radius: 100%;
7
- box-shadow: inset 0 0 0 $mg-color-white;
8
-
9
- &:checked {
10
- background-color: $mg-color-red-900;
11
- box-shadow: inset 0 0 0 3px $mg-color-white;
12
- }
13
- }
1
+ // Radio-specific overrides.
2
+ // Shared form styles live in _form-base.scss (.mg-form-check).
@@ -1,19 +1,10 @@
1
- .select-default {
2
- @extend %select_default;
3
- @include x-appearance(none);
4
-
5
- // background:
6
- // $mg-color-white url(#{$img-path-Icon}/chevron-down.svg) no-repeat
7
- // right 22px center;
8
- border-radius: 0;
9
- color: $mg-color-black;
10
- display: block;
11
- }
1
+ // Select-specific overrides.
2
+ // Shared form styles live in _form-base.scss (.mg-form-select).
12
3
 
13
4
  [dir="rtl"] {
14
- .select-default {
15
- background-position: left 22px center;
16
- padding: $mg-spacing-50 $mg-spacing-50 $mg-spacing-50 $mg-spacing-800;
17
- text-align: right;
5
+ .mg-form-select {
6
+ background-position: left 0.625rem center;
7
+ padding-left: $mg-spacing-200;
8
+ padding-right: 0.625rem;
18
9
  }
19
10
  }
@@ -0,0 +1,13 @@
1
+ // TextInput-specific overrides (date picker styling).
2
+ // Shared form styles live in _form-base.scss.
3
+
4
+ .mg-form-input[type="date"] {
5
+ color: $mg-color-neutral-500;
6
+
7
+ &::-webkit-calendar-picker-indicator {
8
+ appearance: none;
9
+ left: 3px;
10
+ opacity: 0;
11
+ position: absolute;
12
+ }
13
+ }
@@ -0,0 +1,2 @@
1
+ // Textarea-specific overrides.
2
+ // Shared form styles live in _form-base.scss (.mg-form-textarea).