@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.
Files changed (145) hide show
  1. package/components/BookCard.js +2 -2
  2. package/components/BookCard.js.LICENSE.txt +1 -1
  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/FormAction.js +6 -0
  11. package/components/FormAction.js.LICENSE.txt +9 -0
  12. package/components/FormErrorSummary.js +3 -2
  13. package/components/FormGroup.js +3 -2
  14. package/components/FullWidth.js +3 -2
  15. package/components/Gallery.js +2 -2
  16. package/components/Gallery.js.LICENSE.txt +1 -1
  17. package/components/Hero.js +2 -2
  18. package/components/Hero.js.LICENSE.txt +1 -1
  19. package/components/HighlightBox.js +3 -2
  20. package/components/HorizontalBookCard.js +2 -2
  21. package/components/HorizontalBookCard.js.LICENSE.txt +1 -1
  22. package/components/HorizontalCard.js +2 -2
  23. package/components/HorizontalCard.js.LICENSE.txt +1 -1
  24. package/components/IconCard.js +2 -2
  25. package/components/IconCard.js.LICENSE.txt +1 -1
  26. package/components/Loader.js +3 -2
  27. package/components/MegaMenu.js +2 -2
  28. package/components/MegaMenu.js.LICENSE.txt +1 -1
  29. package/components/PageHeader.js +3 -2
  30. package/components/Pager.js +2 -2
  31. package/components/Pager.js.LICENSE.txt +1 -1
  32. package/components/QuoteHighlight.js +3 -2
  33. package/components/Radio.js +3 -2
  34. package/components/ScrollContainer.js +3 -2
  35. package/components/Select.js +3 -2
  36. package/components/ShareButtons.js +2 -2
  37. package/components/ShareButtons.js.LICENSE.txt +1 -1
  38. package/components/ShowMore.js +3 -2
  39. package/components/StatsCard.js +2 -2
  40. package/components/StatsCard.js.LICENSE.txt +10 -0
  41. package/components/SyndicationSearchWidget.js +2 -2
  42. package/components/SyndicationSearchWidget.js.LICENSE.txt +1 -1
  43. package/components/Tab.js +3 -2
  44. package/components/TextCta.js +2 -2
  45. package/components/TextCta.js.LICENSE.txt +10 -0
  46. package/components/TextInput.js +3 -2
  47. package/components/Textarea.js +3 -2
  48. package/components/UserFeedback.js +6 -0
  49. package/components/UserFeedback.js.LICENSE.txt +9 -0
  50. package/components/VerticalCard.js +2 -2
  51. package/components/VerticalCard.js.LICENSE.txt +1 -1
  52. package/components/hydrate.js +1 -1
  53. package/css/style-all.css +422 -0
  54. package/css/style-all.css.map +1 -0
  55. package/css/style-delta.css +122 -171
  56. package/css/style-delta.css.map +1 -1
  57. package/css/style-gutenberg.css +55 -89
  58. package/css/style-gutenberg.css.map +1 -1
  59. package/css/style-irp.css +122 -161
  60. package/css/style-irp.css.map +1 -1
  61. package/css/style-mcr.css +122 -161
  62. package/css/style-mcr.css.map +1 -1
  63. package/css/style-preventionweb.css +122 -161
  64. package/css/style-preventionweb.css.map +1 -1
  65. package/css/style.css +121 -154
  66. package/css/style.css.map +1 -1
  67. package/package.json +2 -2
  68. package/scss/Atom/BaseTypography/Abbr/abbr.scss +1 -1
  69. package/scss/Atom/BaseTypography/Code/code.scss +41 -36
  70. package/scss/Atom/BaseTypography/Mark/mark.scss +2 -2
  71. package/scss/Atom/Images/AuthorImage/author-image.scss +8 -8
  72. package/scss/Atom/Images/ImageCaptionCredit/image-caption-credit.scss +9 -9
  73. package/scss/Atom/Layout/Container/container.scss +2 -4
  74. package/scss/Atom/Layout/Grid/grid.scss +15 -15
  75. package/scss/Atom/Navigation/MenuItems/menu-items.scss +10 -3
  76. package/scss/Atom/ReachElement/Details/details.scss +44 -39
  77. package/scss/Atom/Table/table.scss +22 -10
  78. package/scss/Atom/Tag/tag.scss +32 -32
  79. package/scss/Components/Boilerplate/boilerplate.scss +7 -7
  80. package/scss/Components/Breadcrumbs/breadcrumbs.scss +9 -9
  81. package/scss/Components/Buttons/Chips/chips.scss +63 -23
  82. package/scss/Components/Buttons/CtaButton/cta-button.scss +142 -20
  83. package/scss/Components/Buttons/ShareButtons/share-buttons.scss +16 -16
  84. package/scss/Components/Cards/Card/card.scss +77 -50
  85. package/scss/Components/Cards/StatsCard/stats-card.scss +32 -34
  86. package/scss/Components/CookieConsentBanner/cookie-consent-banner.scss +75 -74
  87. package/scss/Components/ErrorPages/error-pages.scss +9 -9
  88. package/scss/Components/Footer/footer.scss +12 -12
  89. package/scss/Components/Forms/FormAction/form-action.scss +50 -0
  90. package/scss/Components/Forms/FormGroup/form-group.scss +18 -7
  91. package/scss/Components/Forms/Select/select.scss +1 -1
  92. package/scss/Components/Forms/TextInput/text-input.scss +1 -1
  93. package/scss/Components/Forms/_form-base.scss +68 -61
  94. package/scss/Components/Gallery/gallery.scss +71 -70
  95. package/scss/Components/Hero/hero.scss +241 -74
  96. package/scss/Components/HighlightBox/highlight-box.scss +3 -3
  97. package/scss/Components/MegaMenu/mega-menu.scss +73 -76
  98. package/scss/Components/OnThisPageNav/on-this-page-nav.scss +36 -37
  99. package/scss/Components/PageHeader/page-header.scss +7 -7
  100. package/scss/Components/Pager/pager.scss +85 -62
  101. package/scss/Components/PreviewAccess/preview-access.scss +35 -35
  102. package/scss/Components/QuoteHighlight/quote-highlight.scss +32 -32
  103. package/scss/Components/ScrollContainer/scroll-container.scss +52 -32
  104. package/scss/Components/Snackbar/snackbar.scss +24 -31
  105. package/scss/Components/SyndicationSearchWidget/syndication-search-widget.scss +147 -139
  106. package/scss/Components/Tab/tab.scss +215 -34
  107. package/scss/Components/TableOfContents/table-of-contents.scss +6 -6
  108. package/scss/Components/TextCta/text-cta.scss +69 -23
  109. package/scss/Components/UserFeedback/user-feedback.scss +69 -0
  110. package/scss/Molecules/ImageCaption/image-caption.scss +16 -16
  111. package/scss/Molecules/SectionHeader/section-header.scss +1 -1
  112. package/scss/Utilities/FullWidth/full-width.scss +1 -1
  113. package/scss/Utilities/Loader/loader.scss +4 -4
  114. package/scss/assets/scss/_components.scss +3 -2
  115. package/scss/assets/scss/_foundational.scss +44 -26
  116. package/scss/assets/scss/_mixins.scss +34 -1
  117. package/scss/assets/scss/_theme-delta.scss +68 -0
  118. package/scss/assets/scss/_theme-irp.scss +39 -0
  119. package/scss/assets/scss/_theme-mcr.scss +56 -0
  120. package/scss/assets/scss/_theme-preventionweb.scss +37 -0
  121. package/scss/assets/scss/_utility.scss +112 -112
  122. package/scss/assets/scss/_variables.scss +358 -354
  123. package/scss/assets/scss/style-all.scss +19 -0
  124. package/scss/assets/scss/style-delta.scss +1 -1
  125. package/scss/assets/scss/style-irp.scss +1 -1
  126. package/scss/assets/scss/style-mcr.scss +1 -1
  127. package/scss/assets/scss/style-preventionweb.scss +1 -1
  128. package/css/style-irp-legacy.css +0 -476
  129. package/css/style-irp-legacy.css.map +0 -1
  130. package/css/style-legacy.css +0 -469
  131. package/css/style-legacy.css.map +0 -1
  132. package/css/style-mcr-legacy.css +0 -476
  133. package/css/style-mcr-legacy.css.map +0 -1
  134. package/css/style-preventionweb-legacy.css +0 -476
  135. package/css/style-preventionweb-legacy.css.map +0 -1
  136. package/scss/Components/Forms/_form-legacy.scss +0 -152
  137. package/scss/Components/Pagination/pagination.scss +0 -112
  138. package/scss/assets/scss/_variables-delta.scss +0 -110
  139. package/scss/assets/scss/_variables-irp.scss +0 -50
  140. package/scss/assets/scss/_variables-mcr.scss +0 -65
  141. package/scss/assets/scss/_variables-preventionweb.scss +0 -48
  142. package/scss/assets/scss/style-irp-legacy.scss +0 -20
  143. package/scss/assets/scss/style-legacy.scss +0 -20
  144. package/scss/assets/scss/style-mcr-legacy.scss +0 -20
  145. package/scss/assets/scss/style-preventionweb-legacy.scss +0 -20
@@ -5,11 +5,11 @@ g-grid {
5
5
 
6
6
  .mg-grid > * {
7
7
  flex: 1;
8
- margin: $mg-spacing-0 $mg-spacing-0 $mg-spacing-100 1.2292%;
8
+ margin: var(--mg-spacing-0) var(--mg-spacing-0) var(--mg-spacing-100) 1.2292%;
9
9
  }
10
10
 
11
11
  .mg-grid > *:first-child {
12
- margin-left: $mg-spacing-0;
12
+ margin-left: var(--mg-spacing-0);
13
13
  }
14
14
 
15
15
  [class*="mg-grid__"] {
@@ -20,50 +20,50 @@ g-grid {
20
20
  // Unfortunately IE11 (which this flexbox grid is for) does not support calc inside of flex
21
21
  // So we've hard coded the percentage values. All other modern browsers get to use grid.
22
22
  .mg-grid__col-2 > * {
23
- flex: $mg-spacing-0 $mg-spacing-0 49.38538%;
23
+ flex: var(--mg-spacing-0) var(--mg-spacing-0) 49.38538%;
24
24
  max-width: 49.38538%;
25
25
 
26
26
  &:nth-of-type(3n) {
27
- margin-left: $mg-spacing-0;
27
+ margin-left: var(--mg-spacing-0);
28
28
  }
29
29
  }
30
30
 
31
31
  .mg-grid__col-3 > * {
32
- flex: $mg-spacing-0 $mg-spacing-0 32.51384%;
32
+ flex: var(--mg-spacing-0) var(--mg-spacing-0) 32.51384%;
33
33
  max-width: 32.51384%;
34
34
 
35
35
  &:nth-of-type(4n) {
36
- margin-left: $mg-spacing-0;
36
+ margin-left: var(--mg-spacing-0);
37
37
  }
38
38
  }
39
39
 
40
40
  .mg-grid__col-4 > * {
41
41
  // 0.9219246
42
- flex: $mg-spacing-0 $mg-spacing-0 24.078%;
42
+ flex: var(--mg-spacing-0) var(--mg-spacing-0) 24.078%;
43
43
  max-width: 24.078%;
44
44
 
45
45
  &:nth-of-type(5n) {
46
- margin-left: $mg-spacing-0;
46
+ margin-left: var(--mg-spacing-0);
47
47
  }
48
48
  }
49
49
 
50
50
  .mg-grid__col-5 > * {
51
51
  // 0.98338624
52
- flex: $mg-spacing-0 $mg-spacing-0 19.01661%;
52
+ flex: var(--mg-spacing-0) var(--mg-spacing-0) 19.01661%;
53
53
  max-width: 19.01661%;
54
54
 
55
55
  &:nth-of-type(6n) {
56
- margin-left: $mg-spacing-0;
56
+ margin-left: var(--mg-spacing-0);
57
57
  }
58
58
  }
59
59
 
60
60
  .mg-grid__col-6 > * {
61
61
  // 1.024360667
62
- flex: $mg-spacing-0 $mg-spacing-0 15.6423%;
62
+ flex: var(--mg-spacing-0) var(--mg-spacing-0) 15.6423%;
63
63
  max-width: 15.6423%;
64
64
 
65
65
  &:nth-of-type(7n) {
66
- margin-left: $mg-spacing-0;
66
+ margin-left: var(--mg-spacing-0);
67
67
  }
68
68
  }
69
69
 
@@ -81,8 +81,8 @@ g-grid {
81
81
  .mg-grid {
82
82
  display: grid;
83
83
  grid-column: main;
84
- column-gap: $mg-spacing-200;
85
- row-gap: $mg-spacing-200;
84
+ column-gap: var(--mg-spacing-200);
85
+ row-gap: var(--mg-spacing-200);
86
86
  }
87
87
 
88
88
  @media (min-width: $mg-breakpoint-tablet) {
@@ -99,7 +99,7 @@ g-grid {
99
99
  }
100
100
 
101
101
  .mg-grid > * {
102
- margin: $mg-spacing-0;
102
+ margin: var(--mg-spacing-0);
103
103
  max-width: unset;
104
104
  }
105
105
 
@@ -9,13 +9,20 @@
9
9
  letter-spacing: 0.03em;
10
10
 
11
11
  &:hover {
12
- color: $mg-color-neutral-600;
12
+ color: rgb(var(--mg-color-neutral-600));
13
13
  cursor: pointer;
14
+ text-decoration: underline;
15
+ }
16
+
17
+ &:focus-visible {
18
+ @include mg-focus-ring;
19
+
20
+ text-decoration: underline;
14
21
  }
15
22
 
16
23
  &.selected {
17
- border-bottom: 2px solid $mg-color-red-900;
18
- padding-bottom: $mg-spacing-25;
24
+ border-bottom: 2px solid rgb(var(--mg-color-red-900));
25
+ padding-bottom: var(--mg-spacing-25);
19
26
  }
20
27
  }
21
28
  }
@@ -6,16 +6,14 @@ details {
6
6
  cursor: pointer;
7
7
 
8
8
  &:focus-visible {
9
- outline: 2px solid $mg-color-interactive;
10
- outline-offset: 2px;
11
- border-radius: mg-rem(2);
9
+ @include mg-focus-ring;
12
10
  }
13
11
  }
14
12
  }
15
13
 
16
14
  /* Enhanced: opt-in card treatment via .mg-details */
17
15
  details.mg-details {
18
- border: 1px solid $mg-color-neutral-400; // #808080 — 3.95:1 on white (passes WCAG 1.4.11)
16
+ border: 1px solid rgb(var(--mg-color-neutral-400)); // #808080 — 3.95:1 on white (passes WCAG 1.4.11)
19
17
  border-radius: mg-rem(4);
20
18
  padding: mg-rem(10);
21
19
  transition: box-shadow 0.2s ease-in-out;
@@ -27,15 +25,20 @@ details.mg-details {
27
25
  > summary {
28
26
  @extend %paragraph-font-300;
29
27
 
30
- color: $mg-color-interactive;
28
+ color: rgb(var(--mg-color-interactive));
31
29
  font-weight: 600;
32
30
  list-style-type: none;
33
- padding: mg-rem(10) mg-rem(10) mg-rem(10) mg-rem(32);
31
+ min-height: mg-rem(48);
32
+ padding-block: mg-rem(10);
33
+ padding-inline: mg-rem(10) mg-rem(44);
34
34
  position: relative;
35
35
  transition: background-color 0.2s ease-in-out;
36
36
 
37
37
  &:hover {
38
- background-color: rgba($mg-color-interactive, 0.08); // theme-adaptive tint
38
+ background-color: rgb(
39
+ var(--mg-color-blue-900) / 0.08
40
+ ); // interactive hover tint
41
+
39
42
  border-radius: mg-rem(2);
40
43
  }
41
44
 
@@ -44,17 +47,36 @@ details.mg-details {
44
47
  }
45
48
 
46
49
  &::before {
47
- content: "";
50
+ align-items: center;
51
+ background: rgb(var(--mg-color-interactive) / 0.06);
52
+ border-radius: 50%;
53
+ content: "+";
54
+ display: flex;
55
+ font-family: $mg-font-family;
56
+ font-size: $mg-font-size-400;
57
+ font-weight: 400;
58
+ height: mg-rem(30);
59
+ inset-inline-end: mg-rem(10);
60
+ justify-content: center;
48
61
  position: absolute;
49
- left: mg-rem(10);
50
62
  top: 50%;
51
- transform: translateY(-50%); // ► collapsed
52
- width: 0;
53
- height: 0;
54
- border-top: 6px solid transparent;
55
- border-bottom: 6px solid transparent;
56
- border-left: 8px solid $mg-color-interactive;
57
- transition: transform 0.2s ease-in-out;
63
+ transform: translateY(-50%);
64
+ width: mg-rem(30);
65
+
66
+ @media (prefers-reduced-motion: no-preference) {
67
+ transition:
68
+ background-color var(--mg-motion-duration-fast)
69
+ var(--mg-motion-easing-standard),
70
+ scale var(--mg-motion-duration-fast) var(--mg-motion-easing-standard);
71
+ }
72
+ }
73
+
74
+ &:hover::before {
75
+ background: rgb(var(--mg-color-interactive) / 0.12);
76
+ }
77
+
78
+ &:active::before {
79
+ scale: 0.96;
58
80
  }
59
81
  }
60
82
 
@@ -67,35 +89,18 @@ details.mg-details {
67
89
  }
68
90
 
69
91
  &[open] {
70
- border-color: $mg-color-interactive; // theme-adaptive; #004f91 = 8.27:1 on white
92
+ border-color: rgb(
93
+ var(--mg-color-interactive)
94
+ ); // theme-adaptive; #004f91 = 8.27:1 on white
71
95
 
72
96
  > summary {
73
97
  margin-bottom: 0;
74
98
  padding-bottom: mg-rem(10);
75
- border-bottom: 1px solid $mg-color-neutral-400; // 3.95:1 on white
99
+ border-bottom: 1px solid rgb(var(--mg-color-neutral-400)); // 3.95:1 on white
76
100
 
77
101
  &::before {
78
- transform: translateY(-50%) rotate(90deg); // ▼ open
79
- }
80
- }
81
- }
82
- }
83
-
84
- [dir="rtl"] {
85
- details.mg-details {
86
- > summary {
87
- padding: mg-rem(10) mg-rem(32) mg-rem(10) mg-rem(10);
88
- }
89
-
90
- > summary::before {
91
- left: auto;
92
- right: mg-rem(10);
93
- transform: translateY(-50%) rotate(180deg); // ◄ collapsed (RTL)
94
- }
95
-
96
- &[open] {
97
- > summary::before {
98
- transform: translateY(-50%) rotate(90deg); // ▼ open (RTL)
102
+ content: "−";
103
+ transform: translateY(-50%);
99
104
  }
100
105
  }
101
106
  }
@@ -23,7 +23,7 @@
23
23
  @extend %border-none;
24
24
 
25
25
  &:nth-child(even) {
26
- background-color: $mg-color-neutral-25;
26
+ background-color: rgb(var(--mg-color-neutral-25));
27
27
  }
28
28
  }
29
29
  }
@@ -33,7 +33,7 @@
33
33
 
34
34
  th,
35
35
  td {
36
- border: 1px solid $mg-color-neutral-400;
36
+ border: 1px solid rgb(var(--mg-color-neutral-400));
37
37
  border-collapse: collapse;
38
38
  box-sizing: border-box;
39
39
  min-width: 50px;
@@ -62,14 +62,14 @@
62
62
 
63
63
  &.mg-table--border {
64
64
  tr {
65
- border: 1px solid $mg-color-neutral-400;
65
+ border: 1px solid rgb(var(--mg-color-neutral-400));
66
66
 
67
67
  th,
68
68
  td {
69
69
  @extend %border-none;
70
70
 
71
71
  @include devicebreak(medium) {
72
- border: 1px solid $mg-color-neutral-400;
72
+ border: 1px solid rgb(var(--mg-color-neutral-400));
73
73
  }
74
74
  }
75
75
  }
@@ -81,20 +81,33 @@
81
81
  .mg-table td {
82
82
  font-size: $mg-font-size-300;
83
83
  line-height: 1.4;
84
- padding: $mg-spacing-25;
84
+ padding: var(--mg-spacing-25);
85
+ text-align: start;
85
86
  vertical-align: top;
86
87
 
87
88
  @include devicebreak(medium) {
88
- padding: $mg-spacing-25 $mg-spacing-200 $mg-spacing-25 $mg-spacing-25;
89
+ padding: var(--mg-spacing-25) var(--mg-spacing-200) var(--mg-spacing-25)
90
+ var(--mg-spacing-25);
89
91
  }
90
92
  }
91
93
 
92
94
  .mg-table thead tr th {
93
- // background-color: $mg-color-neutral-300;
95
+ // background-color: rgb(var(--mg-color-neutral-300));
94
96
  font-weight: 600;
97
+ }
98
+
99
+ .mg-table .mg-table__cell--start {
100
+ text-align: start;
101
+ }
102
+
103
+ .mg-table .mg-table__cell--center {
95
104
  text-align: center;
96
105
  }
97
106
 
107
+ .mg-table .mg-table__cell--end {
108
+ text-align: end;
109
+ }
110
+
98
111
  .mg-table tbody tr {
99
112
  @extend %border-bottom;
100
113
  }
@@ -119,10 +132,9 @@
119
132
  [dir="rtl"] {
120
133
  .mg-table th,
121
134
  .mg-table td {
122
- text-align: right;
123
-
124
135
  @include devicebreak(medium) {
125
- padding: $mg-spacing-25 $mg-spacing-25 $mg-spacing-25 $mg-spacing-200;
136
+ padding: var(--mg-spacing-25) var(--mg-spacing-25) var(--mg-spacing-25)
137
+ var(--mg-spacing-200);
126
138
  }
127
139
  }
128
140
  }
@@ -2,7 +2,7 @@
2
2
  // -
3
3
  // A compact tag used to categorise content (content type, country, theme, etc.).
4
4
  // Inherits its background from the --tag-color-background CSS custom property set
5
- // by each site theme, falling back to the $mg-color-tag token.
5
+ // by each site theme, falling back to the rgb(var(--mg-color-tag)) token.
6
6
  // -
7
7
  // Usage:
8
8
  // <span class="mg-tag">Organization</span>
@@ -14,72 +14,72 @@
14
14
 
15
15
  .mg-tag {
16
16
  display: inline-block;
17
- padding: $mg-spacing-25 $mg-spacing-50;
17
+ padding: var(--mg-spacing-25) var(--mg-spacing-50);
18
18
  font-family: $mg-font-family-headings;
19
19
  font-size: $mg-font-size-250;
20
20
  font-weight: 500;
21
21
  line-height: 1.4;
22
22
  color: #fff;
23
- background-color: $mg-color-tag;
24
- background-color: var(--tag-color-background, #{$mg-color-tag});
25
- border-radius: $mg-radius-tag;
23
+ background-color: rgb(var(--mg-color-tag));
24
+ background-color: var(--tag-color-background, #{rgb(var(--mg-color-tag))});
25
+ border-radius: var(--mg-radius-tag);
26
26
  text-decoration: none;
27
27
  transition: background-color 0.2s ease;
28
28
 
29
29
  &:hover {
30
30
  color: #fff;
31
- background-color: $mg-color-tag--hover;
32
- background-color: var(--tag-color-background-hover, #{$mg-color-tag--hover});
31
+ background-color: rgb(var(--mg-color-tag--hover));
32
+ background-color: var(--tag-color-background-hover, #{rgb(var(--mg-color-tag--hover))});
33
33
  text-decoration: none;
34
34
  }
35
35
  }
36
36
 
37
37
  // --secondary: de-emphasised/metadata tags (neutral gray)
38
38
  .mg-tag--secondary {
39
- background-color: $mg-color-tag-secondary;
40
- background-color: var(--tag-color-background-secondary, #{$mg-color-tag-secondary});
39
+ background-color: rgb(var(--mg-color-tag-secondary));
40
+ background-color: var(--tag-color-background-secondary, #{rgb(var(--mg-color-tag-secondary))});
41
41
 
42
42
  &:hover {
43
- background-color: $mg-color-tag-secondary--hover;
44
- background-color: var(--tag-color-background-secondary-hover, #{$mg-color-tag-secondary--hover});
43
+ background-color: rgb(var(--mg-color-tag-secondary--hover));
44
+ background-color: var(--tag-color-background-secondary-hover, #{rgb(var(--mg-color-tag-secondary--hover))});
45
45
  }
46
46
  }
47
47
 
48
48
  // --outline: subtle border-only tag
49
49
  .mg-tag--outline {
50
- color: $mg-color-tag;
51
- color: var(--tag-color-background, #{$mg-color-tag});
50
+ color: rgb(var(--mg-color-tag));
51
+ color: var(--tag-color-background, #{rgb(var(--mg-color-tag))});
52
52
  background-color: transparent;
53
- border: 1px solid $mg-color-tag;
54
- border-color: var(--tag-color-background, #{$mg-color-tag});
53
+ border: 1px solid rgb(var(--mg-color-tag));
54
+ border-color: var(--tag-color-background, #{rgb(var(--mg-color-tag))});
55
55
 
56
56
  &:hover {
57
- color: $mg-color-tag;
58
- color: var(--tag-color-background, #{$mg-color-tag});
59
- background-color: $mg-color-blue-50;
60
- background-color: var(--tag-color-background-outline-hover, #{$mg-color-blue-50});
57
+ color: rgb(var(--mg-color-tag));
58
+ color: var(--tag-color-background, #{rgb(var(--mg-color-tag))});
59
+ background-color: rgb(var(--mg-color-blue-50));
60
+ background-color: var(--tag-color-background-outline-hover, #{rgb(var(--mg-color-blue-50))});
61
61
  }
62
62
  }
63
63
 
64
64
  // --accent: featured/highlighted content (orange)
65
65
  .mg-tag--accent {
66
- background-color: $mg-color-tag-accent;
67
- background-color: var(--tag-color-background-accent, #{$mg-color-tag-accent});
66
+ background-color: rgb(var(--mg-color-tag-accent));
67
+ background-color: var(--tag-color-background-accent, #{rgb(var(--mg-color-tag-accent))});
68
68
 
69
69
  &:hover {
70
- background-color: $mg-color-tag-accent--hover;
71
- background-color: var(--tag-color-background-accent-hover, #{$mg-color-tag-accent--hover});
70
+ background-color: rgb(var(--mg-color-tag-accent--hover));
71
+ background-color: var(--tag-color-background-accent-hover, #{rgb(var(--mg-color-tag-accent--hover))});
72
72
  }
73
73
  }
74
74
 
75
75
  // Adjacent tag spacing
76
76
  .mg-tag + .mg-tag {
77
- margin-left: $mg-spacing-25;
77
+ margin-left: var(--mg-spacing-25);
78
78
  }
79
79
 
80
80
  [dir="rtl"] .mg-tag + .mg-tag {
81
81
  margin-left: 0;
82
- margin-right: $mg-spacing-25;
82
+ margin-right: var(--mg-spacing-25);
83
83
  }
84
84
 
85
85
  // Tag container — auto-styles child elements as tags.
@@ -88,28 +88,28 @@
88
88
  .mg-tag-container {
89
89
  display: flex;
90
90
  flex-wrap: wrap;
91
- gap: $mg-spacing-25;
91
+ gap: var(--mg-spacing-25);
92
92
 
93
93
  > span,
94
94
  > div,
95
95
  > a,
96
96
  > li {
97
97
  display: inline-block;
98
- padding: $mg-spacing-25 $mg-spacing-50;
98
+ padding: var(--mg-spacing-25) var(--mg-spacing-50);
99
99
  font-size: $mg-font-size-250;
100
100
  font-weight: 500;
101
101
  line-height: 1.4;
102
102
  color: #fff;
103
- background-color: $mg-color-tag;
104
- background-color: var(--tag-color-background, #{$mg-color-tag});
105
- border-radius: $mg-radius-tag;
103
+ background-color: rgb(var(--mg-color-tag));
104
+ background-color: var(--tag-color-background, #{rgb(var(--mg-color-tag))});
105
+ border-radius: var(--mg-radius-tag);
106
106
  text-decoration: none;
107
107
  transition: background-color 0.2s ease;
108
108
 
109
109
  &:hover {
110
110
  color: #fff;
111
- background-color: $mg-color-tag--hover;
112
- background-color: var(--tag-color-background-hover, #{$mg-color-tag--hover});
111
+ background-color: rgb(var(--mg-color-tag--hover));
112
+ background-color: var(--tag-color-background-hover, #{rgb(var(--mg-color-tag--hover))});
113
113
  text-decoration: none;
114
114
  }
115
115
  }
@@ -4,16 +4,16 @@
4
4
 
5
5
  .mg-boilerplate {
6
6
  // Add your base styles here
7
- padding: $mg-spacing-100;
8
- border: 1px solid $mg-color-red-900;
9
- border-radius: $mg-radius-button;
7
+ padding: var(--mg-spacing-100);
8
+ border: 1px solid rgb(var(--mg-color-red-900));
9
+ border-radius: var(--mg-radius-button);
10
10
 
11
11
  &__title {
12
12
  font-size: mg-rem(15);
13
13
  margin-bottom: mg-rem(10);
14
14
 
15
15
  a {
16
- color: $mg-color-interactive;
16
+ color: rgb(var(--mg-color-interactive));
17
17
  text-decoration: underline;
18
18
  text-underline-offset: 3px;
19
19
 
@@ -22,7 +22,7 @@
22
22
  }
23
23
 
24
24
  &:focus-visible {
25
- outline: 2px solid $mg-color-interactive;
25
+ outline: 2px solid rgb(var(--mg-color-interactive));
26
26
  outline-offset: 2px;
27
27
  }
28
28
  }
@@ -34,10 +34,10 @@
34
34
 
35
35
  // Add any additional nested styles or modifiers here
36
36
  &--primary {
37
- background-color: $mg-color-blue-200;
37
+ background-color: rgb(var(--mg-color-blue-200));
38
38
  }
39
39
 
40
40
  &--secondary {
41
- background-color: $mg-color-blue-100;
41
+ background-color: rgb(var(--mg-color-blue-100));
42
42
  }
43
43
  }
@@ -27,12 +27,12 @@
27
27
 
28
28
  a {
29
29
  background: none;
30
- color: $mg-color-text;
30
+ color: rgb(var(--mg-color-text));
31
31
  font-weight: 600;
32
32
  letter-spacing: 0.03em;
33
33
 
34
34
  &:hover {
35
- color: $mg-color-text;
35
+ color: rgb(var(--mg-color-text));
36
36
  }
37
37
  }
38
38
  }
@@ -43,8 +43,8 @@
43
43
  display: inline-block;
44
44
  width: 0.4em;
45
45
  height: 0.4em;
46
- border-right: 0.125em solid $mg-color-text;
47
- border-top: 0.125em solid $mg-color-text;
46
+ border-right: 0.125em solid rgb(var(--mg-color-text));
47
+ border-top: 0.125em solid rgb(var(--mg-color-text));
48
48
  transform: rotate(45deg);
49
49
 
50
50
  // Asymmetric margin: left side is larger to optically center the rotated
@@ -61,12 +61,12 @@
61
61
 
62
62
  .mg-breadcrumb.mg-breadcrumb--white {
63
63
  li {
64
- color: $mg-color-white;
64
+ color: rgb(var(--mg-color-white));
65
65
  a {
66
- color: $mg-color-white;
66
+ color: rgb(var(--mg-color-white));
67
67
 
68
68
  &:hover {
69
- color: $mg-color-white;
69
+ color: rgb(var(--mg-color-white));
70
70
  opacity: 0.7;
71
71
  }
72
72
  }
@@ -74,11 +74,11 @@
74
74
 
75
75
  &:last-of-type,
76
76
  li:last-of-type {
77
- color: $mg-color-white;
77
+ color: rgb(var(--mg-color-white));
78
78
  }
79
79
 
80
80
  li + li:before {
81
- border-color: $mg-color-white;
81
+ border-color: rgb(var(--mg-color-white));
82
82
  }
83
83
  }
84
84
 
@@ -1,35 +1,75 @@
1
1
  .mg-chip {
2
2
  align-items: center;
3
- background: $mg-color-neutral-50;
4
- border-radius: 20px;
5
- box-shadow: 0 1px 2px rgb(0 0 0 / 0.2);
3
+ background: rgb(var(--mg-color-neutral-50));
4
+ border: 0;
5
+ border-radius: 999px;
6
+ box-sizing: border-box;
7
+ box-shadow: var(--mg-shadow-raised);
8
+ color: rgb(var(--mg-color-text));
9
+ cursor: pointer;
6
10
  display: inline-flex;
7
- min-height: $mg-spacing-250;
8
- padding: $mg-spacing-25 $mg-spacing-50;
11
+ font-family: $mg-font-family;
12
+ font-size: $mg-font-size-250;
13
+ font-weight: 500;
14
+ justify-content: center;
15
+ line-height: 1.25;
16
+ min-height: mg-rem(40);
17
+ padding: var(--mg-spacing-50) var(--mg-spacing-150);
18
+ text-align: start;
19
+ text-decoration: none;
20
+
21
+ @media (prefers-reduced-motion: no-preference) {
22
+ transition:
23
+ background-color var(--mg-motion-duration-fast)
24
+ var(--mg-motion-easing-standard),
25
+ box-shadow var(--mg-motion-duration-fast) var(--mg-motion-easing-standard),
26
+ color var(--mg-motion-duration-fast) var(--mg-motion-easing-standard),
27
+ scale var(--mg-motion-duration-fast) var(--mg-motion-easing-standard);
28
+ }
9
29
 
10
30
  &:hover {
11
- background-color: $mg-color-neutral-300;
31
+ background-color: rgb(var(--mg-color-neutral-300));
32
+ color: rgb(var(--mg-color-text));
33
+ text-decoration: none;
34
+ }
35
+
36
+ &:active {
37
+ scale: 0.96;
38
+ }
39
+
40
+ &:focus-visible {
41
+ border-radius: 999px;
42
+ box-shadow:
43
+ 0 0 0 var(--mg-focus-ring-offset) rgb(var(--mg-color-neutral-0)),
44
+ 0 0 0 calc(var(--mg-focus-ring-offset) + var(--mg-focus-ring-width))
45
+ rgb(var(--mg-color-focus-ring));
46
+ outline: 0;
12
47
  }
13
48
 
14
- &.mg-chip__cross {
15
- &::before {
16
- // background: url(#{$img-path-Iconfourback}/times-red.svg) no-repeat left;
17
- content: "";
18
- display: inline-flex;
19
- height: 22px;
20
- margin-left: -$mg-spacing-25;
21
- margin-right: $mg-spacing-25;
22
- padding-right: mg-rem(14);
23
- position: relative;
24
- top: 0;
25
- width: auto;
49
+ @media (forced-colors: active) {
50
+ border: 1px solid ButtonText;
51
+
52
+ &:focus-visible {
53
+ outline: 2px solid Highlight;
54
+ outline-offset: 2px;
26
55
  }
27
56
  }
28
- }
29
57
 
30
- [dir="rtl"] {
31
- .mg-chip__cross::before {
32
- margin-left: $mg-spacing-25;
33
- margin-right: -$mg-spacing-25;
58
+ &.mg-chip__cross::after {
59
+ align-items: center;
60
+ content: "×";
61
+ display: inline-flex;
62
+ flex: 0 0 mg-rem(20);
63
+ font-size: mg-rem(18);
64
+ font-weight: 400;
65
+ height: mg-rem(20);
66
+ justify-content: center;
67
+ line-height: 1;
68
+ margin-inline-end: calc(-1 * var(--mg-spacing-50));
69
+ margin-inline-start: var(--mg-spacing-50);
34
70
  }
35
71
  }
72
+
73
+ :lang(ar) .mg-chip {
74
+ font-family: $mg-font-family-arabic-body;
75
+ }