@snyk-mktg/brand-ui 2.2.1 → 2.3.0

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.
@@ -5,6 +5,27 @@
5
5
  not read the '@use' directive.
6
6
  */
7
7
 
8
+ /**
9
+ * Typically, we would want this color map lower (in the evo theme) but these themes were not
10
+ * built in a scale friendly way. So it needs to be up here. Everything will remain the same
11
+ * aside and I will import the evo colors into the evo colors file.
12
+ */
13
+ $evoui-colors: (
14
+ 'pink': #ff0ff3,
15
+ 'orange': #ff7f00,
16
+ 'blue': #003cff,
17
+ 'red': #ff003f,
18
+ 'teal': #00ff7f,
19
+ 'yellow': #ffff00,
20
+ 'purple': #7f00ff,
21
+ 'light-blue': #00ffff,
22
+ 'steel': #3f3f7f,
23
+ 'white': #ffffff,
24
+ 'black': #000000,
25
+ 'grey': #1e1e1e,
26
+ 'silver': #797979,
27
+ );
28
+
8
29
  /* Color variables */
9
30
  $brandui-colors: (
10
31
  'dark-purple': #441c99,
@@ -70,6 +70,70 @@ $brandui-default-themes: (
70
70
  ),
71
71
  ),
72
72
  ),
73
+ // Adding the evo theme here rather than in the evo folder
74
+ // Moving the theme down would involve bringinng a ton of imports down as well.
75
+ // This is an issue with BUI that we should resolve. But for now, its here.
76
+ evo:
77
+ (
78
+ light: (
79
+ text-solid: map.get($evoui-colors, 'white'),
80
+ // deprecate
81
+ solid: map.get($evoui-colors, 'white'),
82
+ solid-primary: map.get($evoui-colors, 'orange'),
83
+ solid-secondary: map.get($evoui-colors, 'pink'),
84
+ solid-tertiary: map.get($evoui-colors, 'blue'),
85
+ contrast: map.get($evoui-colors, 'black'),
86
+ base: map.get($evoui-colors, 'black'),
87
+ spotlight: map.get($evoui-colors, 'grey'),
88
+ highlight: map.get($evoui-colors, 'orange'),
89
+ text-gradient: (
90
+ // We don't want text gradients for the evo theme
91
+ start: map.get($evoui-colors, 'white'),
92
+ end: map.get($evoui-colors, 'white'),
93
+ ),
94
+ gradient-primary: (
95
+ start: map.get($evoui-colors, 'orange'),
96
+ end: map.get($evoui-colors, 'pink'),
97
+ ),
98
+ gradient-secondary: (
99
+ start: map.get($evoui-colors, 'blue'),
100
+ end: map.get($evoui-colors, 'light-blue'),
101
+ ),
102
+ gradient-tertiary: (
103
+ start: map.get($evoui-colors, 'purple'),
104
+ end: map.get($evoui-colors, 'pink'),
105
+ ),
106
+ ),
107
+ dark: (
108
+ text-solid: map.get($evoui-colors, 'white'),
109
+ // deprecate
110
+ solid: map.get($evoui-colors, 'white'),
111
+ solid-primary: map.get($evoui-colors, 'orange'),
112
+ solid-secondary: map.get($evoui-colors, 'pink'),
113
+ solid-tertiary: map.get($evoui-colors, 'blue'),
114
+ contrast: map.get($evoui-colors, 'black'),
115
+ base: map.get($evoui-colors, 'black'),
116
+ spotlight: map.get($evoui-colors, 'grey'),
117
+ highlight: map.get($evoui-colors, 'orange'),
118
+ text-gradient: (
119
+ // We don't want text gradients for the evo theme
120
+ start: map.get($evoui-colors, 'white'),
121
+ end: map.get($evoui-colors, 'white'),
122
+ ),
123
+ gradient-primary: (
124
+ start: map.get($evoui-colors, 'orange'),
125
+ end: map.get($evoui-colors, 'pink'),
126
+ ),
127
+ gradient-secondary: (
128
+ start: map.get($evoui-colors, 'blue'),
129
+ end: map.get($evoui-colors, 'light-blue'),
130
+ ),
131
+ gradient-tertiary: (
132
+ start: map.get($evoui-colors, 'purple'),
133
+ end: map.get($evoui-colors, 'pink'),
134
+ ),
135
+ ),
136
+ ),
73
137
  ) !default;
74
138
 
75
139
  $brandui-extended-themes: () !default; // Leave empty. Used to override or extend at the project-level
@@ -0,0 +1,12 @@
1
+ @use 'sass:map';
2
+ @use '../../base/variables/sizing' as *;
3
+
4
+ .text-grid-item {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: map.get($brandui-padding, 'extra-small');
8
+
9
+ &.center {
10
+ text-align: center;
11
+ }
12
+ }
@@ -49,6 +49,7 @@
49
49
  @use '../scss/components/molecules/tables' as *;
50
50
  @use '../scss/components/molecules/table-of-contents' as *;
51
51
  @use '../scss/components/molecules/title-text' as *;
52
+ @use '../scss/components/molecules/text-grid-item' as *;
52
53
  @use '../scss/components/molecules/text-media' as *;
53
54
  @use '../scss/components/molecules/quote' as *;
54
55
  @use '../scss/components/organisms/breadcrumbs' as *;
@@ -1,21 +1,32 @@
1
1
  // Base modules
2
2
  @use '../../scss/base/fonts' as *; // Must be first to load Google fonts asap
3
- @use '../base/variables/colors' as *;
4
- @use '../base/variables/themes' as *;
5
3
  @use '../../scss/base/functions' as *;
6
4
  @use '../../scss/base/mixins' as *;
7
- @use '../../scss/base/color' as *;
8
- @use '../base/baseline' as *;
9
- @use '../../scss/base/typography' as *;
10
5
  @use '../../scss/base/links' as *;
11
6
  @use '../../scss/base/layout' as *;
12
7
  @use '../../scss/base/spacing' as *;
13
8
  @use '../../scss/base/sizing' as *;
9
+ @use '../../scss/base/decorations/decorations' as *;
14
10
  @use '../../scss/base/decorations/glows' as *;
15
11
  @use '../../scss/base/decorations/flourishes' as *;
16
12
  @use '../../scss/base/decorations/markers' as *;
17
13
  @use '../../scss/base/decorations/separators' as *;
18
14
  @use '../../scss/base/decorations/sparkles' as *;
19
15
 
16
+ // Variables - The web version imports this differently. I'm
17
+ // putting it in this file to make thing more concise but if this gets so large it
18
+ // needs to be imported the same way, refer to that project
19
+
20
+ @use '../base/variables/themes' as *;
21
+ // @use '../base/variables/icons' as *;
22
+ @use './base/variables/colors' as *;
23
+
24
+ // Mixins, see comment above
25
+ @use './base/mixins/glass' as *;
26
+
20
27
  // @use './base/variables/colors' as *;
28
+ @use './base/baseline' as *;
29
+ @use './base/typography' as *;
21
30
  @use './base/decorations/backgrounds' as *;
31
+ @use './base/color' as *;
32
+ @use './base/variables/typography' as *;
@@ -4,7 +4,6 @@
4
4
  @use '../components/atoms/checkbox' as *;
5
5
  @use '../components/atoms/chip' as *;
6
6
  @use '../components/atoms/dropdown' as *;
7
- @use '../components/atoms/feature-checkmark' as *;
8
7
  @use '../components/atoms/icons' as *;
9
8
  @use '../components/atoms/input' as *;
10
9
  @use '../components/atoms/locale-selector' as *;
@@ -31,7 +30,6 @@
31
30
  @use '../components/molecules/announcements' as *;
32
31
  @use '../components/molecules/avatar-grid-item' as *;
33
32
  @use '../components/molecules/avatar-username' as *;
34
- @use '../components/molecules/cards/card' as *;
35
33
  @use '../components/molecules/cards/card-bg-image' as *;
36
34
  @use '../components/molecules/charts/charts' as *;
37
35
  @use '../components/molecules/charts/vertical-chart' as *;
@@ -75,4 +73,7 @@
75
73
  // evo overwrites
76
74
 
77
75
  @use './components/atoms/button' as *;
76
+ @use './components/atoms/feature-checkmark' as *;
77
+ @use './components/molecules/cards/card' as *;
78
+ @use './components/molecules/text-grid-item' as *;
78
79
  @use './components/organisms/navigation' as *;
@@ -17,3 +17,5 @@
17
17
  @use '../../scss/utilities/transitions.scss' as *;
18
18
  @use '../../scss/utilities/visibility.scss' as *;
19
19
  @use '../../scss/utilities/keyframes.scss' as *;
20
+
21
+ @use './utilities/rich-text.scss' as *;
@@ -0,0 +1,50 @@
1
+ @use 'sass:map';
2
+ @use '../../base/baseline' as *;
3
+ @use './variables/typography' as *;
4
+
5
+ * {
6
+ // outline: none;
7
+ margin: 0;
8
+ padding: 0;
9
+ box-sizing: border-box;
10
+ }
11
+
12
+ html,
13
+ body {
14
+ height: 100%;
15
+ font-variant-numeric: proportional-nums;
16
+ -webkit-font-smoothing: antialiased;
17
+ /* Disable scroll behavior until can figure out why it
18
+ scrolls when clicking interactive HTML tags (select, checkbox) */
19
+ // scroll-behavior: smooth;
20
+ // scroll-padding-top: 200px;
21
+ }
22
+
23
+ body {
24
+ font-size: 1rem;
25
+ font-family: map.get($brandui-font-family, roboto), sans-serif;
26
+ color: brandui-color-labels(ui-body);
27
+
28
+ &.dark-mode,
29
+ & .dark-mode {
30
+ color: brandui-color-labels(ui-body-dark);
31
+ }
32
+ -webkit-font-smoothing: antialiased;
33
+ }
34
+
35
+ body {
36
+ font-family: map.get($brandui-font-family, geist-mono), monospace;
37
+ }
38
+
39
+ h1,
40
+ h2,
41
+ h3,
42
+ h4,
43
+ h5,
44
+ h6 {
45
+ font-family: map.get($brandui-font-family, geist), sans-serif;
46
+ }
47
+
48
+ code:not([class]) {
49
+ font-family: map.get($brandui-font-family, geist), sans-serif;
50
+ }
@@ -0,0 +1,8 @@
1
+ @use '../../base/color' as *;
2
+ @use '../../base/mixins/color-mode' as colors;
3
+ @use '../base/variables/colors' as *;
4
+ @use '../../base/functions' as *;
5
+
6
+ .bg-page {
7
+ // @include colors.color-mode(background-color, brandui-color-labels(default), brandui-color-labels(default-dark));
8
+ }
@@ -0,0 +1,352 @@
1
+ @use 'sass:map';
2
+ @use 'sass:string';
3
+ @use '../../base/variables/colors' as *;
4
+ @use '../base/variables/typography' as *;
5
+ @use '../../base/variables/breakpoints' as *;
6
+ @use '../../base/variables/sizing' as *;
7
+ @use '../../base/mixins/page-theme' as theme;
8
+ @use '../../base/mixins/typography' as font;
9
+ @use '../../base/functions' as *;
10
+
11
+ @each $element-key, $element-val in $text-elements {
12
+ // Text Styles
13
+ .txt-#{$element-key} {
14
+ font-family: map.get($element-val, 'family'), map.get($element-val, 'type');
15
+ font-size: map.get($brandui-font-size, $element-key);
16
+ font-weight: map.get($element-val, 'weight');
17
+ letter-spacing: map.get($element-val, letter-spacing);
18
+ line-height: map.get($brandui-line-height, $element-key);
19
+ padding: 0;
20
+ text-transform: map.get($element-val, text-transform);
21
+
22
+ @if ($element-key == 'body' or $element-key == 'body-bold') {
23
+ strong,
24
+ b {
25
+ font-weight: 700;
26
+
27
+ strong,
28
+ b {
29
+ font-weight: 700;
30
+ }
31
+ }
32
+ }
33
+
34
+ @if ($element-key == 'body-small' or $element-key == 'body-small-medium') {
35
+ strong,
36
+ b {
37
+ font-weight: 500;
38
+
39
+ strong,
40
+ b {
41
+ font-weight: 500;
42
+ }
43
+ }
44
+ }
45
+
46
+ // Responsive font values
47
+ @if (map.get($text-elements-responsive, $element-key)) {
48
+ $responsive-val: map.get($text-elements-responsive, $element-key);
49
+ $responsive-key: map.get($responsive-val, 'target');
50
+
51
+ @media (max-width: '#{map.get($brandui-device-breakpoints-new, mobile, value)}px') {
52
+ font-family: map.get($responsive-val, 'family'), map.get($responsive-val, 'type');
53
+ font-size: map.get($brandui-font-size, $responsive-key);
54
+ font-weight: map.get($responsive-val, 'weight');
55
+ letter-spacing: map.get($responsive-val, letter-spacing);
56
+ line-height: map.get($brandui-line-height, $responsive-key);
57
+ text-transform: map.get($responsive-val, text-transform);
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ .code-wrap {
64
+ background: map.get($brandui-colors, 'snow');
65
+ border: 0.0625rem solid RGBA(brandui-rgb-labels(neutral-1), 0.1);
66
+ border-radius: 0.375rem;
67
+ box-sizing: border-box;
68
+ color: map.get($brandui-colors, 'rose');
69
+ display: inline-block;
70
+ font-family: map.get($brandui-font-family, roboto-mono), monospace;
71
+ font-size: map.get($brandui-font-size, code);
72
+ line-height: map.get($brandui-line-height, code);
73
+ padding: 0.1875rem 0.375rem;
74
+ position: relative;
75
+
76
+ &.code-block {
77
+ display: block;
78
+ padding: 0.375rem 0.75rem;
79
+ width: 100%;
80
+ }
81
+
82
+ &.dark-mode {
83
+ background: map.get($brandui-colors, 'space');
84
+ color: map.get($brandui-colors, 'white');
85
+ }
86
+ }
87
+
88
+ @each $device-key, $device-map in $brandui-device-breakpoints-new {
89
+ $device-value: map.get($device-map, 'value');
90
+ $device-prefix: map.get($device-map, 'prefix');
91
+
92
+ @media (max-width: string.unquote('#{$device-value}px')) {
93
+ // Device Breakpoints Start
94
+
95
+ @for $i from 1 through 10 {
96
+ .#{$device-prefix}txt-line-clamp-#{$i} {
97
+ -webkit-line-clamp: #{$i};
98
+ }
99
+ }
100
+
101
+ .#{$device-prefix}txt-left {
102
+ text-align: left;
103
+ }
104
+
105
+ .#{$device-prefix}hover\:txt-left {
106
+ &:hover {
107
+ text-align: left;
108
+ }
109
+ }
110
+
111
+ .#{$device-prefix}txt-center {
112
+ text-align: center;
113
+ }
114
+
115
+ .#{$device-prefix}hover\:txt-center {
116
+ &:hover {
117
+ text-align: center;
118
+ }
119
+ }
120
+
121
+ .#{$device-prefix}txt-right {
122
+ text-align: right;
123
+ }
124
+
125
+ .#{$device-prefix}hover\:txt-right {
126
+ &:hover {
127
+ text-align: right;
128
+ }
129
+ }
130
+
131
+ .#{$device-prefix}white-space-nowrap {
132
+ white-space: nowrap;
133
+ }
134
+
135
+ .#{$device-prefix}hover\:white-space-nowrap {
136
+ &:hover {
137
+ white-space: nowrap;
138
+ }
139
+ }
140
+
141
+ .#{$device-prefix}white-space-initial {
142
+ white-space: initial;
143
+ }
144
+
145
+ .#{$device-prefix}hover\:white-space-initial {
146
+ &:hover {
147
+ white-space: initial;
148
+ }
149
+ }
150
+
151
+ .#{$device-prefix}txt-break-all {
152
+ word-break: break-all;
153
+ }
154
+
155
+ .#{$device-prefix}txt-keep-all {
156
+ word-break: keep-all;
157
+ }
158
+
159
+ .#{$device-prefix}txt-normal {
160
+ word-break: normal;
161
+ }
162
+
163
+ .#{$device-prefix}txt-overflow-wrap-normal {
164
+ overflow-wrap: normal;
165
+ }
166
+
167
+ .#{$device-prefix}txt-overflow-wrap-break-word {
168
+ overflow-wrap: break-word;
169
+ }
170
+
171
+ .#{$device-prefix}txt-overflow-wrap-anywhere {
172
+ overflow-wrap: anywhere;
173
+ }
174
+
175
+ .#{$device-prefix}txt-overflow-ellipsis {
176
+ text-overflow: ellipsis;
177
+ }
178
+
179
+ .#{$device-prefix}hover\:txt-overflow-ellipsis {
180
+ &:hover {
181
+ text-overflow: ellipsis;
182
+ }
183
+ }
184
+
185
+ .#{$device-prefix}txt-uppercase {
186
+ text-transform: uppercase;
187
+ }
188
+
189
+ .#{$device-prefix}hover\:txt-uppercase {
190
+ &:hover {
191
+ text-transform: uppercase;
192
+ }
193
+ }
194
+
195
+ .#{$device-prefix}txt-lowercase {
196
+ text-transform: lowercase;
197
+ }
198
+
199
+ .#{$device-prefix}hover\:txt-lowercase {
200
+ &:hover {
201
+ text-transform: lowercase;
202
+ }
203
+ }
204
+
205
+ .#{$device-prefix}txt-capitalize {
206
+ text-transform: capitalize;
207
+ }
208
+
209
+ .#{$device-prefix}hover\:txt-capitalize {
210
+ &:hover {
211
+ text-transform: capitalize;
212
+ }
213
+ }
214
+
215
+ .#{$device-prefix}txt-transform-none {
216
+ text-transform: none;
217
+ }
218
+
219
+ .#{$device-prefix}hover\:txt-transform-none {
220
+ &:hover {
221
+ text-transform: none;
222
+ }
223
+ }
224
+
225
+ .#{$device-prefix}txt-transform-initial {
226
+ text-transform: initial;
227
+ }
228
+
229
+ .#{$device-prefix}hover\:txt-transform-initial {
230
+ &:hover {
231
+ text-transform: initial;
232
+ }
233
+ }
234
+
235
+ // Device Breakpoints End
236
+ }
237
+ }
238
+
239
+ .txt-decoration-style-dashed {
240
+ text-decoration-style: dashed;
241
+ }
242
+
243
+ .txt-decoration-style-dotted {
244
+ text-decoration-style: dotted;
245
+ }
246
+
247
+ .txt-decoration-style-double {
248
+ text-decoration-style: double;
249
+ }
250
+
251
+ .txt-decoration-style-wavy {
252
+ text-decoration-style: wavy;
253
+ }
254
+
255
+ .txt-decoration-style-solid {
256
+ text-decoration-style: solid;
257
+ }
258
+
259
+ .txt-decoration-style-none {
260
+ text-decoration-style: none;
261
+ }
262
+
263
+ .txt-decoration-none {
264
+ text-decoration: none;
265
+ }
266
+
267
+ .group:hover .group-hover\:txt-decoration-none {
268
+ text-decoration: none;
269
+ }
270
+
271
+ .hover\:txt-decoration-none {
272
+ &:hover {
273
+ text-decoration: none;
274
+ }
275
+ }
276
+
277
+ .txt-decoration-underline {
278
+ text-decoration: underline;
279
+ -moz-text-underline-offset: map.get($brandui-padding, slim);
280
+ text-underline-offset: map.get($brandui-padding, slim);
281
+ -moz-text-decoration-thickness: map.get($brandui-padding, hairline);
282
+ text-decoration-thickness: map.get($brandui-padding, hairline);
283
+ }
284
+
285
+ .group:hover .group-hover\:txt-decoration-underline {
286
+ text-decoration: underline;
287
+ -moz-text-underline-offset: map.get($brandui-padding, slim);
288
+ text-underline-offset: map.get($brandui-padding, slim);
289
+ -moz-text-decoration-thickness: map.get($brandui-padding, hairline);
290
+ text-decoration-thickness: map.get($brandui-padding, hairline);
291
+ }
292
+
293
+ .hover\:txt-decoration-underline {
294
+ &:hover {
295
+ text-decoration: underline;
296
+ -moz-text-underline-offset: map.get($brandui-padding, slim);
297
+ text-underline-offset: map.get($brandui-padding, slim);
298
+ -moz-text-decoration-thickness: map.get($brandui-padding, hairline);
299
+ text-decoration-thickness: map.get($brandui-padding, hairline);
300
+ }
301
+ }
302
+
303
+ .link-decoration-underline a {
304
+ text-decoration: underline;
305
+ -moz-text-underline-offset: map.get($brandui-padding, slim);
306
+ text-underline-offset: map.get($brandui-padding, slim);
307
+ -moz-text-decoration-thickness: map.get($brandui-padding, hairline);
308
+ text-decoration-thickness: map.get($brandui-padding, hairline);
309
+ }
310
+
311
+ .group:hover .group-hover\:link-decoration-underline a {
312
+ text-decoration: underline;
313
+ -moz-text-underline-offset: map.get($brandui-padding, slim);
314
+ text-underline-offset: map.get($brandui-padding, slim);
315
+ -moz-text-decoration-thickness: map.get($brandui-padding, hairline);
316
+ text-decoration-thickness: map.get($brandui-padding, hairline);
317
+ }
318
+
319
+ .hover\:link-decoration-underline a {
320
+ &:hover {
321
+ text-decoration: underline;
322
+ -moz-text-underline-offset: map.get($brandui-padding, slim);
323
+ text-underline-offset: map.get($brandui-padding, slim);
324
+ -moz-text-decoration-thickness: map.get($brandui-padding, hairline);
325
+ text-decoration-thickness: map.get($brandui-padding, hairline);
326
+ }
327
+ }
328
+
329
+ // Used in the Labs site in place of the section intro
330
+ .scrolling-ticker {
331
+ width: max-content;
332
+ margin-bottom: string.unquote('-#{map.get($brandui-padding, extra-large)}');
333
+ display: flex;
334
+ gap: map.get($brandui-padding, small);
335
+ @include font.get-typography(mini-header);
336
+ @include theme.theme-color(color, 'text-solid');
337
+
338
+ p {
339
+ min-width: fit-content;
340
+ display: flex;
341
+ font-family: map.get($brandui-font-family, space-mono), monospace;
342
+ }
343
+
344
+ p + p:before {
345
+ content: '✷';
346
+ margin-right: map.get($brandui-padding, small);
347
+ font-family: 'brandui-icons';
348
+ font-style: normal;
349
+ font-size: map.get($brandui-font-size, 'subhead-small');
350
+ font-weight: 600;
351
+ }
352
+ }
@@ -5,10 +5,15 @@
5
5
  @use '../../../base/decorations/backgrounds' as *;
6
6
 
7
7
  .decoration-bg {
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+ max-width: 100vw;
12
+ overflow: visible;
8
13
  &.evo-logo {
9
14
  position: absolute;
10
15
  opacity: 0.05;
11
- transform: scale(4);
16
+ transform: scale(1);
12
17
  width: brandui-col-spacing(16);
13
18
  background: transparent url('#{$brandui-images}decorations/evo-logo-decoration.svg') center no-repeat;
14
19
  background-size: contain;
@@ -34,5 +39,57 @@
34
39
  left: -40rem;
35
40
  transform: rotate(180deg);
36
41
  }
42
+
43
+ &-center {
44
+ left: 0;
45
+ right: 0;
46
+ top: -90%;
47
+ bottom: 0;
48
+ }
49
+
50
+ &-png {
51
+ position: absolute;
52
+ margin: auto;
53
+ opacity: 1;
54
+ transform: scale(1);
55
+ width: brandui-col-spacing(16);
56
+ // background: transparent url('#{$brandui-images}decorations/evo-logo-decoration-png.png') center no-repeat;
57
+ background: transparent url('#{$brandui-images}decorations/evo-decoration-logo-png-alt.png');
58
+ background-position: center;
59
+
60
+ background-repeat: no-repeat;
61
+
62
+ background-size: contain;
63
+
64
+ background-attachment: fixed;
65
+ // mix-blend-mode: screen;
66
+ z-index: -1;
67
+ padding-bottom: 28rem;
68
+
69
+ &-top-right {
70
+ top: 0;
71
+ right: -40rem;
72
+ }
73
+ &-bottom-right {
74
+ bottom: -5rem;
75
+ right: -40rem;
76
+ }
77
+ &-top-left {
78
+ top: 0;
79
+ left: -40rem;
80
+ transform: rotate(180deg);
81
+ }
82
+ &-bottom-left {
83
+ bottom: -5rem;
84
+ left: -40rem;
85
+ transform: rotate(180deg);
86
+ }
87
+ &-center {
88
+ left: 0;
89
+ right: 0;
90
+ top: -75%;
91
+ bottom: 0;
92
+ }
93
+ }
37
94
  }
38
95
  }
@@ -0,0 +1,37 @@
1
+ @use '../../../base/mixins/color-mode' as color;
2
+ @use '../../../base/functions' as *;
3
+
4
+ // default for evo is true when it comes to density
5
+ @mixin bg-glass($dense: true) {
6
+ @if $dense {
7
+ backdrop-filter: blur(0.625rem);
8
+ -webkit-backdrop-filter: blur(0.625rem);
9
+ @include color.color-mode(background-color, RGBA(brandui-rgb-labels(ui-stroke), 0.6), RGBA(brandui-rgb-labels(ui-stroke-dark), 0.6));
10
+ } @else {
11
+ backdrop-filter: blur(0.625rem);
12
+ -webkit-backdrop-filter: blur(0.625rem);
13
+ @include color.color-mode(background-color, RGBA(brandui-rgb-labels(ui-stroke), 0.5), RGBA(brandui-rgb-labels(ui-stroke-dark), 0.5));
14
+ }
15
+
16
+ &.group {
17
+ &:hover,
18
+ &:focus {
19
+ @if $dense {
20
+ @include color.color-mode(background-color, RGBA(brandui-rgb-labels(ui-stroke), 0.5), RGBA(brandui-rgb-labels(ui-stroke-dark), 0.5));
21
+ } @else {
22
+ @include color.color-mode(background-color, RGBA(brandui-rgb-labels(ui-stroke), 0.3), RGBA(brandui-rgb-labels(ui-stroke-dark), 0.3));
23
+ }
24
+ }
25
+ }
26
+ }
27
+
28
+ @mixin border-glass {
29
+ @include color.color-mode(border-color, RGBA(brandui-rgb-labels(neutral-5), 0.2), RGBA(brandui-rgb-labels(neutral-5), 0.2));
30
+
31
+ &.group {
32
+ &:hover,
33
+ &:focus {
34
+ @include color.color-mode(border-color, RGBA(brandui-rgb-labels(neutral-5), 0.1), RGBA(brandui-rgb-labels(neutral-5), 0.1));
35
+ }
36
+ }
37
+ }
@@ -1,6 +1,53 @@
1
1
  @use 'sass:map';
2
2
  @use '../../../base/variables/colors' as *;
3
3
 
4
- $evo-color-labels: ();
4
+ // EvoUI color palette in the base colors file
5
+
6
+ $evo-color-labels: (
7
+ 'default': map.get($evoui-colors, 'black'),
8
+ 'default-dark': map.get($evoui-colors, 'black'),
9
+ 'ui-headline': map.get($evoui-colors, 'white'),
10
+ 'ui-headline-dark': map.get($evoui-colors, 'white'),
11
+ 'ui-body': map.get($evoui-colors, 'white'),
12
+ 'ui-body-dark': map.get($evoui-colors, 'white'),
13
+ 'ui-fill': map.get($evoui-colors, 'black'),
14
+ 'ui-fill-dark': map.get($evoui-colors, 'black'),
15
+ 'ui-stroke': map.get($evoui-colors, 'grey'),
16
+ 'ui-stroke-dark': map.get($evoui-colors, 'grey'),
17
+ 'ui-text': map.get($evoui-colors, 'white'),
18
+ 'ui-text-dark': map.get($evoui-colors, 'white'),
19
+ 'action': map.get($evoui-colors, 'orange'),
20
+ 'action-dark': map.get($evoui-colors, 'orange'),
21
+ 'action-outline': map.get($evoui-colors, 'orange'),
22
+ 'action-contrast': map.get($evoui-colors, 'black'),
23
+ 'action-contrast-dark': map.get($evoui-colors, 'black'),
24
+ 'action-secondary': map.get($evoui-colors, 'pink'),
25
+ 'action-secondary-dark': map.get($evoui-colors, 'pink'),
26
+ 'action-secondary-contrast': map.get($evoui-colors, 'white'),
27
+ 'action-secondary-contrast-dark': map.get($evoui-colors, 'white'),
28
+ 'info': map.get($evoui-colors, 'blue'),
29
+ 'info-dark': map.get($evoui-colors, 'blue'),
30
+ 'info-contrast': map.get($evoui-colors, 'white'),
31
+ 'info-contrast-dark': map.get($evoui-colors, 'white'),
32
+ 'success': map.get($evoui-colors, 'teal'),
33
+ 'success-dark': map.get($evoui-colors, 'teal'),
34
+ 'success-contrast': map.get($evoui-colors, 'white'),
35
+ 'success-contrast-dark': map.get($evoui-colors, 'white'),
36
+ 'warning': map.get($evoui-colors, 'yellow'),
37
+ 'warning-dark': map.get($evoui-colors, 'yellow'),
38
+ 'warning-contrast': map.get($evoui-colors, 'white'),
39
+ 'warning-contrast-dark': map.get($evoui-colors, 'white'),
40
+ 'fail': map.get($evoui-colors, 'red'),
41
+ 'fail-dark': map.get($evoui-colors, 'red'),
42
+ 'fail-contrast': map.get($evoui-colors, 'white'),
43
+ 'fail-contrast-dark': map.get($evoui-colors, 'white'),
44
+ 'neutral-1': map.get($evoui-colors, 'black'),
45
+ 'neutral-2': map.get($evoui-colors, 'steel'),
46
+ 'neutral-3': map.get($evoui-colors, 'grey'),
47
+ 'neutral-4': map.get($evoui-colors, 'silver'),
48
+ 'neutral-5': map.get($evoui-colors, 'white'),
49
+ 'neutral-6': map.get($evoui-colors, 'orange'),
50
+ );
5
51
 
6
52
  $brandui-color-labels: map.merge($brandui-color-labels, $evo-color-labels);
53
+ $brandui-colors: map.merge($brandui-colors, $evoui-colors);
@@ -1,6 +1,5 @@
1
1
  @use 'sass:map';
2
2
  @use '../../../base/variables/colors' as *;
3
- @use '../../../base/variables/themes' as *;
4
3
 
5
4
  /**
6
5
  * Note: For the generateJson.js file, we need to use the 'map.get()'
@@ -13,5 +12,3 @@
13
12
  */
14
13
 
15
14
  $evo-default-themes: () !default;
16
-
17
- $brandui-themes: map.merge($brandui-default-themes, $evo-default-themes);
@@ -1,19 +1,252 @@
1
1
  @use 'sass:map';
2
2
  @use '../../../base/variables/typography' as font;
3
3
 
4
- $evo-font-family: ();
5
-
4
+ $evoui-font-family: (
5
+ geist: 'Geist',
6
+ geist-mono: 'Geist Mono',
7
+ );
6
8
  // Why does this work? Do I need the font 'as'?
7
- $brandui-font-family: map.merge(font.$brandui-font-family, $evo-font-family);
9
+ $brandui-font-family: map.merge(font.$brandui-font-family, $evoui-font-family);
10
+
11
+ $evoui-font-size: (
12
+ hero-title-large: 4.375rem,
13
+ hero-title-small: 3.75rem,
14
+ );
15
+ $brandui-font-size: map.merge(font.$brandui-font-size, $evoui-font-size);
16
+
17
+ $evoui-line-height: ();
18
+ $brandui-line-height: map.merge(font.$brandui-line-height, $evoui-line-height);
8
19
 
9
- $evo-text-elements: ();
20
+ $evoui-text-elements: (
21
+ 'hero-title-large': (
22
+ 'weight': 900,
23
+ 'family': map.get($brandui-font-family, geist),
24
+ 'type': sans-serif,
25
+ 'letter-spacing': -0.01em,
26
+ 'text-transform': none,
27
+ ),
28
+ 'hero-title-small': (
29
+ 'weight': 900,
30
+ 'family': map.get($brandui-font-family, geist),
31
+ 'type': sans-serif,
32
+ 'letter-spacing': -0.01em,
33
+ 'text-transform': none,
34
+ ),
35
+ 'page-title-large': (
36
+ 'weight': 900,
37
+ // 'family': map.get($brandui-font-family, poppins),
38
+ 'family': map.get($brandui-font-family, geist),
39
+ 'type': sans-serif,
40
+ 'letter-spacing': -0.01em,
41
+ // 'text-transform': none,
42
+ 'text-transform': none,
43
+ ),
44
+ 'page-title': (
45
+ 'weight': 900,
46
+ // 'family': map.get($brandui-font-family, poppins),
47
+ 'family': map.get($brandui-font-family, geist),
48
+ 'type': sans-serif,
49
+ 'letter-spacing': -0.01em,
50
+ // 'text-transform': none,
51
+ 'text-transform': none,
52
+ ),
53
+ 'section-title': (
54
+ 'weight': 900,
55
+ // 'family': map.get($brandui-font-family, poppins),
56
+ 'family': map.get($brandui-font-family, geist),
57
+ 'type': sans-serif,
58
+ 'letter-spacing': -0.01em,
59
+ // 'text-transform': none,
60
+ 'text-transform': none,
61
+ ),
62
+ 'headline-large': (
63
+ 'weight': 700,
64
+ // 'family': map.get($brandui-font-family, poppins),
65
+ 'family': map.get($brandui-font-family, geist-mono),
66
+ 'type': monospace,
67
+ 'letter-spacing': -0.01em,
68
+ 'text-transform': none,
69
+ ),
70
+ 'headline-small': (
71
+ 'weight': 700,
72
+ // 'family': map.get($brandui-font-family, poppins),
73
+ 'family': map.get($brandui-font-family, geist-mono),
74
+ 'type': monospace,
75
+ 'letter-spacing': -0.01em,
76
+ 'text-transform': none,
77
+ ),
78
+ 'subhead': (
79
+ // 'weight': 600,
80
+ 'weight': 700,
81
+ // 'family': map.get($brandui-font-family, poppins),
82
+ 'family': map.get($brandui-font-family, geist),
83
+ 'type': sans-serif,
84
+ 'letter-spacing': -0.01em,
85
+ 'text-transform': none,
86
+ ),
87
+ 'subhead-small': (
88
+ // 'weight': 600,
89
+ 'weight': 700,
90
+ // 'family': map.get($brandui-font-family, poppins),
91
+ 'family': map.get($brandui-font-family, geist),
92
+ 'type': sans-serif,
93
+ 'letter-spacing': -0.01em,
94
+ 'text-transform': none,
95
+ ),
96
+ 'mini-header': (
97
+ // 'weight': 600,
98
+ 'weight': 400,
99
+ // 'family': map.get($brandui-font-family, poppins),
100
+ 'family': map.get($brandui-font-family, geist-mono),
101
+ 'type': monospace,
102
+ 'letter-spacing': 0.12em,
103
+ 'text-transform': uppercase,
104
+ ),
105
+ 'mini-header-small': (
106
+ // 'weight': 600,
107
+ 'weight': 400,
108
+ // 'family': map.get($brandui-font-family, poppins),
109
+ 'family': map.get($brandui-font-family, geist-mono),
110
+ 'type': monospace,
111
+ 'letter-spacing': 0.12em,
112
+ 'text-transform': uppercase,
113
+ ),
114
+ 'body-lead': (
115
+ 'weight': 500,
116
+ // 'family': map.get($brandui-font-family, poppins),
117
+ 'family': map.get($brandui-font-family, geist-mono),
118
+ 'type': monospace,
119
+ 'letter-spacing': 0.01em,
120
+ 'text-transform': none,
121
+ ),
122
+ 'body-lead-bold': (
123
+ 'weight': 700,
124
+ // 'family': map.get($brandui-font-family, poppins),
125
+ 'family': map.get($brandui-font-family, geist-mono),
126
+ 'type': monospace,
127
+ 'letter-spacing': 0.01em,
128
+ 'text-transform': none,
129
+ ),
130
+ 'body': (
131
+ 'weight': 400,
132
+ 'family': map.get($brandui-font-family, geist-mono),
133
+ 'type': monospace,
134
+ 'letter-spacing': 0,
135
+ 'text-transform': none,
136
+ ),
137
+ 'body-bold': (
138
+ 'weight': 600,
139
+ 'family': map.get($brandui-font-family, geist-mono),
140
+ 'type': monospace,
141
+ 'letter-spacing': 0.005em,
142
+ 'text-transform': none,
143
+ ),
144
+ 'body-long': (
145
+ 'weight': 400,
146
+ 'family': map.get($brandui-font-family, geist-mono),
147
+ 'type': monospace,
148
+ 'letter-spacing': 0.01em,
149
+ 'text-transform': none,
150
+ ),
151
+ 'body-small': (
152
+ 'weight': 400,
153
+ 'family': map.get($brandui-font-family, geist-mono),
154
+ 'type': monospace,
155
+ 'letter-spacing': 0,
156
+ 'text-transform': none,
157
+ ),
158
+ 'body-small-medium': (
159
+ 'weight': 500,
160
+ 'family': map.get($brandui-font-family, geist-mono),
161
+ 'type': monospace,
162
+ 'letter-spacing': 0,
163
+ 'text-transform': none,
164
+ ),
165
+ 'code': (
166
+ 'weight': 400,
167
+ 'family': map.get($brandui-font-family, geist-mono),
168
+ 'type': monospace,
169
+ 'letter-spacing': 0,
170
+ 'text-transform': none,
171
+ ),
172
+ );
10
173
 
11
- $evo-text-elements-responsive: ();
174
+ $evoui-text-elements-responsive: (
175
+ 'hero-title-large': (
176
+ 'target': 'hero-title-small',
177
+ 'weight': 900,
178
+ 'family': map.get($brandui-font-family, geist),
179
+ 'type': sans-serif,
180
+ 'letter-spacing': -0.01em,
181
+ 'text-transform': none,
182
+ ),
183
+ 'hero-title-small': (
184
+ 'target': 'hero-title-small',
185
+ 'weight': 900,
186
+ 'family': map.get($brandui-font-family, geist),
187
+ 'type': sans-serif,
188
+ 'letter-spacing': -0.01em,
189
+ 'text-transform': none,
190
+ ),
191
+ 'page-title-large': (
192
+ 'target': 'hero-title-small',
193
+ 'weight': 900,
194
+ // 'family': map.get($brandui-font-family, poppins),
195
+ 'family': map.get($brandui-font-family, geist),
196
+ 'type': sans-serif,
197
+ 'letter-spacing': -0.01em,
198
+ // 'text-transform': none,
199
+ 'text-transform': none,
200
+ ),
201
+ 'page-title': (
202
+ 'target': 'hero-title-small',
203
+ 'weight': 900,
204
+ 'family': map.get($brandui-font-family, geist),
205
+ 'type': sans-serif,
206
+ 'letter-spacing': -0.01em,
207
+ 'text-transform': none,
208
+ ),
209
+ 'section-title': (
210
+ 'target': 'hero-title-small',
211
+ 'weight': 900,
212
+ 'family': map.get($brandui-font-family, geist),
213
+ 'type': sans-serif,
214
+ 'letter-spacing': -0.01em,
215
+ 'text-transform': none,
216
+ ),
217
+ 'headline-large': (
218
+ 'target': 'headline-small',
219
+ 'weight': 700,
220
+ // 'family': map.get($brandui-font-family, poppins),
221
+ 'family': map.get($brandui-font-family, geist-mono),
222
+ 'type': monospace,
223
+ 'letter-spacing': 0,
224
+ 'text-transform': none,
225
+ ),
226
+ 'headline-small': (
227
+ 'target': 'subhead',
228
+ 'weight': 700,
229
+ // 'family': map.get($brandui-font-family, poppins),
230
+ 'family': map.get($brandui-font-family, geist-mono),
231
+ 'type': monospace,
232
+ 'letter-spacing': 0,
233
+ 'text-transform': none,
234
+ ),
235
+ 'subhead': (
236
+ 'target': 'subhead-small',
237
+ 'weight': 700,
238
+ // 'family': map.get($brandui-font-family, poppins),
239
+ 'family': map.get($brandui-font-family, geist-mono),
240
+ 'type': monospace,
241
+ 'letter-spacing': 0,
242
+ 'text-transform': none,
243
+ ),
244
+ );
12
245
 
13
246
  $text-elements: font.$text-elements;
14
247
  $text-elements-responsive: font.$text-elements-responsive;
15
248
 
16
- @each $key, $value in $evo-text-elements {
249
+ @each $key, $value in $evoui-text-elements {
17
250
  @if map.has-key($text-elements, $key) {
18
251
  $text-elements: map.set($text-elements, $key, map.merge(map.get($text-elements, $key), $value));
19
252
  } @else {
@@ -21,7 +254,7 @@ $text-elements-responsive: font.$text-elements-responsive;
21
254
  }
22
255
  }
23
256
 
24
- @each $key, $value in $evo-text-elements-responsive {
257
+ @each $key, $value in $evoui-text-elements-responsive {
25
258
  @if map.has-key($text-elements-responsive, $key) {
26
259
  $text-elements-responsive: map.set($text-elements-responsive, $key, map.merge(map.get($text-elements-responsive, $key), $value));
27
260
  } @else {
@@ -29,5 +262,5 @@ $text-elements-responsive: font.$text-elements-responsive;
29
262
  }
30
263
  }
31
264
 
32
- $brandui-font-size: font.$brandui-font-size;
33
- $brandui-line-height: font.$brandui-line-height;
265
+ $brandui-font-size: $brandui-font-size;
266
+ $brandui-line-height: $brandui-line-height;
@@ -1,7 +1,121 @@
1
+ @use 'sass:map';
2
+ @use '../../../components/atoms/button' as *;
3
+ @use '../../base/variables/typography' as *;
4
+ @use '../../../base/functions' as *;
5
+ @use '../../../base/variables/effects' as *;
6
+ @use '../../../base/variables/sizing' as *;
7
+ @use '../../../base/mixins/color-mode' as color;
8
+
9
+ $primary-conic-light-values: RGBA(brandui-rgb-labels(action-dark), 1), RGBA(brandui-rgb-labels(action-dark), 0.3),
10
+ RGBA(brandui-rgb-labels(action-secondary-dark), 0.3), RGBA(brandui-rgb-labels(action-secondary-dark), 1);
11
+ $primary-conic-dark-values: RGBA(brandui-rgb-labels(action-dark), 1), RGBA(brandui-rgb-labels(action-dark), 0.3),
12
+ RGBA(brandui-rgb-labels(action-secondary-dark), 0.3), RGBA(brandui-rgb-labels(action-secondary-dark), 1);
13
+ $secondary-conic-light-values: RGBA(brandui-rgb-labels(action-dark), 1), RGBA(brandui-rgb-labels(action-dark), 0.3),
14
+ RGBA(brandui-rgb-labels(action-secondary-dark), 0.3), RGBA(brandui-rgb-labels(action-secondary-dark), 1);
15
+ $secondary-conic-dark-values: RGBA(brandui-rgb-labels(action-dark), 1), RGBA(brandui-rgb-labels(action-dark), 0.3),
16
+ RGBA(brandui-rgb-labels(action-secondary-dark), 0.3), RGBA(brandui-rgb-labels(action-secondary-dark), 1);
17
+
1
18
  .button {
19
+ font-family: map.get($brandui-font-family, geist-mono), monospace;
20
+ border-radius: map.get($brandui-radius, medium);
21
+
2
22
  &.primary {
3
- &:before,
23
+ &:hover,
24
+ &:focus {
25
+ @include color.gradient-mode-pseudo(
26
+ '&:before',
27
+ background,
28
+ 'linear',
29
+ 90deg,
30
+ brandui-color-labels(action),
31
+ brandui-color-labels(action-secondary),
32
+ brandui-color-labels(action-dark),
33
+ brandui-color-labels(action-secondary-dark)
34
+ );
35
+ }
36
+
37
+ // This is the rotating conic-gradient glimmer effect
38
+ @include color.conic-gradient-mode-pseudo(
39
+ '&:after',
40
+ background,
41
+ var(--glimmer-angle),
42
+ $primary-conic-light-values,
43
+ $primary-conic-dark-values
44
+ );
45
+ }
46
+
47
+ &.secondary {
48
+ @include color.color-mode(color, brandui-color-labels(action-secondary-contrast), brandui-color-labels(action-secondary-contrast-dark));
49
+ @include color.color-mode-pseudo('&:before', background-color, brandui-color-labels(neutral-1), brandui-color-labels(neutral-1));
50
+
51
+ &:hover,
52
+ &:focus {
53
+ @include color.color-mode(color, brandui-color-labels(action-secondary-contrast), brandui-color-labels(action-secondary-contrast-dark));
54
+ @include color.color-mode-pseudo('&:before', background-color, brandui-color-labels(neutral-6), brandui-color-labels(neutral-3));
55
+ }
56
+
57
+ // This is the rotating conic-gradient glimmer effect
58
+ @include color.conic-gradient-mode-pseudo(
59
+ '&:after',
60
+ background,
61
+ var(--glimmer-angle),
62
+ $secondary-conic-light-values,
63
+ $secondary-conic-dark-values
64
+ );
65
+ }
66
+ &.tertiary,
67
+ &.glyph,
68
+ &.arrow,
69
+ &.external {
70
+ transition: all map.get($brandui-transition, fast);
71
+ @include color.gradient-mode(
72
+ 'background',
73
+ 'linear',
74
+ '140deg',
75
+ brandui-color-labels(action),
76
+ brandui-color-labels(action-secondary),
77
+ brandui-color-labels(action-dark),
78
+ brandui-color-labels(action-secondary-dark)
79
+ ) {
80
+ -webkit-background-clip: text;
81
+ -webkit-text-fill-color: transparent;
82
+ }
83
+ &:after {
84
+ @include color.gradient-mode(
85
+ 'background',
86
+ 'linear',
87
+ '140deg',
88
+ brandui-color-labels(action),
89
+ brandui-color-labels(action-secondary),
90
+ brandui-color-labels(action-dark),
91
+ brandui-color-labels(action-secondary-dark)
92
+ ) {
93
+ -webkit-background-clip: text;
94
+ -webkit-text-fill-color: transparent;
95
+ }
96
+ }
97
+
98
+ &:hover,
99
+ &:focus {
100
+ -webkit-text-fill-color: initial;
101
+ @include color.color-mode(color, brandui-color-labels(ui-text), brandui-color-labels(ui-text-dark));
102
+ &:after {
103
+ -webkit-text-fill-color: initial;
104
+ }
105
+ }
106
+ }
107
+
108
+ &.tertiary,
109
+ &.glyph,
110
+ &.arrow {
111
+ &:after {
112
+ content: '\e905'; // icon-arrow-right
113
+ }
114
+ }
115
+
116
+ &.external {
4
117
  &:after {
118
+ content: '\e906'; // icon-arrow-top-right
5
119
  }
6
120
  }
7
121
  }
@@ -0,0 +1,28 @@
1
+ @use 'sass:map';
2
+ @use '../../../components/atoms/feature-checkmark.scss' as *;
3
+ @use '../../../base/mixins/color-mode' as colors;
4
+ @use '../../../base/variables/sizing' as *;
5
+ @use '../../../base/functions' as *;
6
+
7
+ .feature-checkmark {
8
+ &:after {
9
+ // Need to unset here because the handdrawn highlight marker is set regardless of theme
10
+ all: unset;
11
+ content: '\e910'; // icon-check
12
+ display: flex;
13
+ justify-content: center;
14
+ align-items: center;
15
+ position: absolute;
16
+ inset: 0;
17
+ font-family: 'brandui-icons';
18
+ font-size: map.get($brandui-padding, large);
19
+ font-style: normal;
20
+ font-weight: normal;
21
+ font-variant: normal;
22
+ text-transform: none;
23
+ line-height: 1;
24
+ -webkit-font-smoothing: antialiased;
25
+
26
+ @include colors.color-mode(color, brandui-color-labels(action-secondary), brandui-color-labels(action-secondary-dark));
27
+ }
28
+ }
@@ -0,0 +1,7 @@
1
+ @use 'sass:map';
2
+ @use '../../../base/variables/sizing' as *;
3
+ @use '../../../components/molecules/text-grid-item' as *;
4
+
5
+ .text-grid-item {
6
+ gap: map.get($brandui-padding, 'medium');
7
+ }
@@ -0,0 +1,14 @@
1
+ @use 'sass:map';
2
+ @use '../../../../base/variables/sizing' as *;
3
+ @use '../../../../base/variables/effects' as *;
4
+ @use '../../../../components/molecules/cards/card' as *;
5
+ @use '../../../base/mixins/glass' as glass;
6
+
7
+ .card {
8
+ border-width: map.get($brandui-padding, 'hairline');
9
+ // box-shadow: map.get($brandui-shadow, 'outline');
10
+ //TODO: Extend Drop shadow theme later
11
+ box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.4);
12
+ @include glass.bg-glass;
13
+ @include glass.border-glass;
14
+ }
@@ -0,0 +1,18 @@
1
+ @use 'sass:map';
2
+ @use '../../utilities/rich-text' as *;
3
+ @use '../../base/mixins/color-mode' as color;
4
+ @use '../../base/functions' as *;
5
+
6
+ .txt-rich,
7
+ .txt-rich-long {
8
+ a:not([class]) {
9
+ font-weight: 400;
10
+ text-decoration: none;
11
+ @include color.color-mode(color, brandui-color-labels('action-secondary'), brandui-color-labels('action-secondary-dark'));
12
+
13
+ &:hover,
14
+ &:focus {
15
+ @include color.color-mode(color, brandui-color-labels('ui-text'), brandui-color-labels('ui-text-dark'));
16
+ }
17
+ }
18
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snyk-mktg/brand-ui",
3
- "version": "2.2.1",
3
+ "version": "2.3.0",
4
4
  "description": "The official style library for Snyk’s BrandUI Design System",
5
5
  "scripts": {
6
6
  "dev:css": "gulp devCss",