vanilla-framework 4.14.0 → 4.15.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.
- package/package.json +12 -11
- package/scss/_base_forms.scss +0 -5
- package/scss/_base_icon-definitions.scss +29 -0
- package/scss/_base_placeholders.scss +1 -3
- package/scss/_layouts_application-panels.scss +3 -12
- package/scss/_layouts_application.scss +2 -2
- package/scss/_patterns_article-pagination.scss +2 -3
- package/scss/_patterns_buttons.scss +1 -1
- package/scss/_patterns_cta.scss +20 -0
- package/scss/_patterns_grid.scss +74 -2
- package/scss/_patterns_icons.scss +10 -8
- package/scss/_patterns_image.scss +2 -0
- package/scss/_patterns_logo-section.scss +4 -42
- package/scss/_patterns_navigation-reduced.scss +50 -14
- package/scss/_patterns_navigation.scss +115 -32
- package/scss/_settings_colors.scss +8 -2
- package/scss/_vanilla.scss +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vanilla-framework",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.15.0",
|
|
4
4
|
"author": {
|
|
5
5
|
"email": "webteam@canonical.com",
|
|
6
6
|
"name": "Canonical Webteam"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"build": "yarn build-scss && yarn build-js && yarn build-class-references",
|
|
32
32
|
"build-scss": "sass --load-path=node_modules --embed-sources --style=compressed scss:build/css && postcss --use autoprefixer --replace 'build/css/**/*.css' --map",
|
|
33
33
|
"build:essential": "yarn run build-js && sass --load-path=node_modules --embed-sources --style=compressed scss/build.scss:build/css/build.css scss/docs:build/css/docs && postcss --use autoprefixer --replace 'build/css/**/*.css' --map",
|
|
34
|
-
"build-js": "mkdir -p build/js/modules && cp node_modules/@canonical/cookie-policy/build/js/cookie-policy.js build/js/modules && cp node_modules/@canonical/latest-news/dist/latest-news.js build/js/modules",
|
|
34
|
+
"build-js": "mkdir -p build/js/modules && cp node_modules/@canonical/cookie-policy/build/js/cookie-policy.js build/js/modules && cp node_modules/@canonical/latest-news/dist/latest-news.js build/js/modules && cp node_modules/js-beautify/js/lib/beautify.js node_modules/js-beautify/js/lib/beautify-html.js node_modules/js-beautify/js/lib/beautify-css.js build/js/modules",
|
|
35
35
|
"build-class-references": "node scripts/create-class-references.js",
|
|
36
36
|
"cypress:open": "cypress open",
|
|
37
37
|
"cypress:run": "cypress run",
|
|
@@ -57,23 +57,24 @@
|
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@canonical/cookie-policy": "3.6.4",
|
|
59
59
|
"@canonical/latest-news": "1.5.0",
|
|
60
|
-
"@percy/cli": "1.
|
|
60
|
+
"@percy/cli": "1.29.0",
|
|
61
61
|
"@testing-library/cypress": "10.0.2",
|
|
62
62
|
"autoprefixer": "10.4.19",
|
|
63
|
-
"cypress": "13.
|
|
63
|
+
"cypress": "13.13.2",
|
|
64
64
|
"jest": "29.7.0",
|
|
65
|
+
"js-beautify": "1.15.1",
|
|
65
66
|
"markdown-spellcheck": "1.3.1",
|
|
66
67
|
"parker": "0.0.10",
|
|
67
|
-
"postcss": "8.4.
|
|
68
|
+
"postcss": "8.4.40",
|
|
68
69
|
"postcss-cli": "11.0.0",
|
|
69
70
|
"postcss-scss": "4.0.9",
|
|
70
|
-
"prettier": "3.3.
|
|
71
|
-
"sass": "1.77.
|
|
72
|
-
"stylelint": "16.
|
|
73
|
-
"stylelint-config-recommended-scss": "14.
|
|
71
|
+
"prettier": "3.3.3",
|
|
72
|
+
"sass": "1.77.8",
|
|
73
|
+
"stylelint": "16.8.1",
|
|
74
|
+
"stylelint-config-recommended-scss": "14.1.0",
|
|
74
75
|
"stylelint-order": "6.0.4",
|
|
75
|
-
"stylelint-prettier": "5.0.
|
|
76
|
+
"stylelint-prettier": "5.0.2",
|
|
76
77
|
"svgo": "3.3.2",
|
|
77
|
-
"yaml": "2.
|
|
78
|
+
"yaml": "2.5.0"
|
|
78
79
|
}
|
|
79
80
|
}
|
package/scss/_base_forms.scss
CHANGED
|
@@ -163,11 +163,6 @@
|
|
|
163
163
|
&::-webkit-search-results-decoration {
|
|
164
164
|
display: none;
|
|
165
165
|
}
|
|
166
|
-
|
|
167
|
-
&::-webkit-search-cancel-button {
|
|
168
|
-
-webkit-appearance: searchfield-cancel-button; // stylelint-disable-line property-no-vendor-prefix
|
|
169
|
-
cursor: pointer;
|
|
170
|
-
}
|
|
171
166
|
}
|
|
172
167
|
|
|
173
168
|
input[list] {
|
|
@@ -17,10 +17,35 @@
|
|
|
17
17
|
background-image: vf-icon-chevron-url($color);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
// Default chevron is the same as down chevron - points down, as in its usage
|
|
21
|
+
// in accordions/dropdowns
|
|
20
22
|
@mixin vf-icon-chevron-themed {
|
|
21
23
|
@include vf-themed-icon($light-value: vf-icon-chevron-url($colors--light-theme--icon), $dark-value: vf-icon-chevron-url($colors--dark-theme--icon));
|
|
22
24
|
}
|
|
23
25
|
|
|
26
|
+
@mixin vf-icon-chevron-up-themed {
|
|
27
|
+
@include vf-themed-icon($light-value: vf-icon-chevron-url($colors--light-theme--icon), $dark-value: vf-icon-chevron-url($colors--dark-theme--icon));
|
|
28
|
+
transform: rotate(180deg);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@mixin vf-icon-chevron-right-themed {
|
|
32
|
+
@include vf-themed-icon($light-value: vf-icon-chevron-url($colors--light-theme--icon), $dark-value: vf-icon-chevron-url($colors--dark-theme--icon));
|
|
33
|
+
transform: rotate(-90deg);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@mixin vf-icon-chevron-down-themed {
|
|
37
|
+
@include vf-icon-chevron-themed;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@mixin vf-icon-chevron-left-themed {
|
|
41
|
+
@include vf-themed-icon($light-value: vf-icon-chevron-url($colors--light-theme--icon), $dark-value: vf-icon-chevron-url($colors--dark-theme--icon));
|
|
42
|
+
transform: rotate(90deg);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@mixin vf-icon-chevron-muted {
|
|
46
|
+
@include vf-themed-icon($light-value: vf-icon-chevron-url($colors--light-theme--text-muted), $dark-value: vf-icon-chevron-url($colors--dark-theme--text-muted));
|
|
47
|
+
}
|
|
48
|
+
|
|
24
49
|
// anchor
|
|
25
50
|
@function vf-icon-anchor-url($color) {
|
|
26
51
|
@return url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1a2.5 2.5 0 01.75 4.885v1.068h2.27v1.5H8.75v5.022c2.438-.161 4.172-1.077 4.172-1.669h1.5C14.422 13.57 11.547 15 8 15c-3.547 0-6.422-1.43-6.422-3.194h1.5c0 .592 1.734 1.508 4.172 1.67V8.452H4.904v-1.5H7.25V5.886A2.501 2.501 0 018 1zm0 1.5a1 1 0 100 2 1 1 0 000-2z' fill='#{vf-url-friendly-color($color)}' fill-rule='nonzero'/%3E%3C/svg%3E");
|
|
@@ -269,6 +294,10 @@
|
|
|
269
294
|
@include vf-themed-icon($light-value: vf-icon-search-url($colors--light-theme--icon), $dark-value: vf-icon-search-url($colors--dark-theme--icon));
|
|
270
295
|
}
|
|
271
296
|
|
|
297
|
+
@mixin vf-icon-search-muted {
|
|
298
|
+
@include vf-themed-icon($light-value: vf-icon-search-url($colors--light-theme--text-muted), $dark-value: vf-icon-search-url($colors--dark-theme--text-muted));
|
|
299
|
+
}
|
|
300
|
+
|
|
272
301
|
// success
|
|
273
302
|
@function vf-icon-success-url($color: $color-positive, $color-symbol: $color-x-light) {
|
|
274
303
|
@return url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cg fill='none' fill-rule='nonzero'%3E%3Cpath fill='#{vf-url-friendly-color($color)}' d='M8 1a7 7 0 110 14A7 7 0 018 1zm2.83 3.502L6.863 9.884 5.174 8.096l-1.09 1.03 2.92 3.096 5.034-6.83-1.208-.89z'/%3E%3Cpath fill='#{vf-url-friendly-color($color-symbol)}' d='M10.83 4.502l1.208.89-5.033 6.83-2.922-3.096 1.091-1.03 1.689 1.789z'/%3E%3C/g%3E%3C/svg%3E");
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
%vf-card-padding {
|
|
46
|
-
overflow: auto;
|
|
46
|
+
overflow: auto; // prevent overflow of child margins
|
|
47
47
|
padding: $spv--large;
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -52,8 +52,6 @@
|
|
|
52
52
|
@extend %vf-card-padding;
|
|
53
53
|
|
|
54
54
|
margin-bottom: $spv--x-large;
|
|
55
|
-
overflow: auto; // prevent overflow of child margins
|
|
56
|
-
padding: $spv--large;
|
|
57
55
|
}
|
|
58
56
|
|
|
59
57
|
//accordion, table
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
@mixin vf-l-application-panels {
|
|
2
2
|
.p-panel {
|
|
3
|
-
background: $colors--
|
|
4
|
-
color: $colors--
|
|
3
|
+
background: $colors--theme--background-default;
|
|
4
|
+
color: $colors--theme--text-default;
|
|
5
5
|
max-width: 100%;
|
|
6
6
|
min-height: 100%; // make sure it fills whole container even when has little content
|
|
7
|
-
|
|
8
|
-
&.is-dark {
|
|
9
|
-
background: $colors--dark-theme--background-default;
|
|
10
|
-
color: $colors--dark-theme--text-default;
|
|
11
|
-
}
|
|
12
7
|
}
|
|
13
8
|
|
|
14
9
|
.p-panel__header {
|
|
@@ -18,14 +13,10 @@
|
|
|
18
13
|
}
|
|
19
14
|
|
|
20
15
|
.p-panel__header.is-sticky {
|
|
21
|
-
background: $colors--
|
|
16
|
+
background: $colors--theme--background-default;
|
|
22
17
|
position: sticky;
|
|
23
18
|
top: 0;
|
|
24
19
|
z-index: 5;
|
|
25
|
-
|
|
26
|
-
.p-panel.is-dark & {
|
|
27
|
-
background: $colors--dark-theme--background-default;
|
|
28
|
-
}
|
|
29
20
|
}
|
|
30
21
|
|
|
31
22
|
.p-panel__content {
|
|
@@ -229,7 +229,7 @@ $application-layout--side-nav-width-expanded: 15rem !default;
|
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
.l-application .l-status {
|
|
232
|
-
border-top: 1px solid $colors--
|
|
232
|
+
border-top: 1px solid $colors--theme--border-default;
|
|
233
233
|
grid-area: status;
|
|
234
234
|
z-index: 102;
|
|
235
235
|
}
|
|
@@ -265,7 +265,7 @@ $application-layout--side-nav-width-expanded: 15rem !default;
|
|
|
265
265
|
|
|
266
266
|
@media (min-width: $application-layout--breakpoint-side-nav-collapsed) {
|
|
267
267
|
&.is-pinned {
|
|
268
|
-
border-left: 1px solid $colors--
|
|
268
|
+
border-left: 1px solid $colors--theme--border-default;
|
|
269
269
|
box-shadow: none;
|
|
270
270
|
grid-area: aside;
|
|
271
271
|
justify-self: auto;
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
@mixin vf-p-article-pagination {
|
|
4
4
|
%chevron-icon {
|
|
5
5
|
@extend %icon;
|
|
6
|
-
@include vf-icon-chevron-themed;
|
|
7
6
|
|
|
8
7
|
content: '';
|
|
9
8
|
position: absolute;
|
|
@@ -73,9 +72,9 @@
|
|
|
73
72
|
|
|
74
73
|
&::before {
|
|
75
74
|
@extend %chevron-icon;
|
|
75
|
+
@include vf-icon-chevron-left-themed;
|
|
76
76
|
|
|
77
77
|
left: $sp-small;
|
|
78
|
-
transform: rotate(90deg);
|
|
79
78
|
}
|
|
80
79
|
}
|
|
81
80
|
|
|
@@ -95,9 +94,9 @@
|
|
|
95
94
|
|
|
96
95
|
&::after {
|
|
97
96
|
@extend %chevron-icon;
|
|
97
|
+
@include vf-icon-chevron-right-themed;
|
|
98
98
|
|
|
99
99
|
right: $sp-small;
|
|
100
|
-
transform: rotate(-90deg);
|
|
101
100
|
}
|
|
102
101
|
}
|
|
103
102
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
@classreference
|
|
3
|
+
cta-block:
|
|
4
|
+
CTA Block:
|
|
5
|
+
.p-cta-block:
|
|
6
|
+
Main element of the CTA block.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
@import 'settings';
|
|
10
|
+
|
|
11
|
+
@mixin vf-p-cta-block {
|
|
12
|
+
.p-cta-block {
|
|
13
|
+
align-items: baseline;
|
|
14
|
+
border-top: 1px solid $colors--theme--border-low-contrast;
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-wrap: wrap;
|
|
17
|
+
padding-bottom: $spv--x-large;
|
|
18
|
+
padding-top: $spv--small;
|
|
19
|
+
}
|
|
20
|
+
}
|
package/scss/_patterns_grid.scss
CHANGED
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
// (see https://github.com/canonical/vanilla-framework/issues/3199)
|
|
40
40
|
.grid-demo .col,
|
|
41
41
|
.grid-demo [class*='#{$grid-column-prefix}'] {
|
|
42
|
-
background:
|
|
42
|
+
background: $colors--theme--background-negative-default;
|
|
43
43
|
margin-bottom: $spv--small;
|
|
44
44
|
}
|
|
45
45
|
|
|
@@ -167,11 +167,12 @@
|
|
|
167
167
|
|
|
168
168
|
// variants
|
|
169
169
|
|
|
170
|
+
// deprecated, will be removed in v5
|
|
170
171
|
.row.is-bordered {
|
|
171
172
|
position: relative;
|
|
172
173
|
|
|
173
174
|
&::before {
|
|
174
|
-
background: $
|
|
175
|
+
background: $colors--theme--border-low-contrast;
|
|
175
176
|
content: '';
|
|
176
177
|
height: 1px;
|
|
177
178
|
left: map-get($grid-margin-widths, small);
|
|
@@ -319,6 +320,77 @@
|
|
|
319
320
|
}
|
|
320
321
|
}
|
|
321
322
|
|
|
323
|
+
// 75/25 split on medium and large screens
|
|
324
|
+
.row--75-25 {
|
|
325
|
+
@extend %vf-row;
|
|
326
|
+
|
|
327
|
+
> .col {
|
|
328
|
+
@include vf-grid-column($grid-columns-small);
|
|
329
|
+
|
|
330
|
+
@media (min-width: $threshold-4-6-col) {
|
|
331
|
+
&:nth-of-type(1) {
|
|
332
|
+
@include vf-grid-column(4);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
&:nth-of-type(2) {
|
|
336
|
+
@include vf-grid-column(2);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// if there is only one column, use the whole width
|
|
340
|
+
&:only-of-type {
|
|
341
|
+
@include vf-grid-column(6);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
@media (min-width: $threshold-6-12-col) {
|
|
346
|
+
&:nth-of-type(1) {
|
|
347
|
+
@include vf-grid-column($col-75);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
&:nth-of-type(2) {
|
|
351
|
+
@include vf-grid-column($col-25);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.row--75-25-on-medium {
|
|
358
|
+
@extend %vf-row;
|
|
359
|
+
|
|
360
|
+
> .col {
|
|
361
|
+
@media ($threshold-4-6-col <= width < $threshold-6-12-col) {
|
|
362
|
+
&:nth-of-type(1) {
|
|
363
|
+
@include vf-grid-column(4);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
&:nth-of-type(2) {
|
|
367
|
+
@include vf-grid-column(2);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
// if there is only one column, use the whole width
|
|
371
|
+
&:only-of-type {
|
|
372
|
+
@include vf-grid-column(6);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.row--75-25-on-large {
|
|
379
|
+
@extend %vf-row;
|
|
380
|
+
|
|
381
|
+
> .col {
|
|
382
|
+
@media (min-width: $threshold-6-12-col) {
|
|
383
|
+
&:nth-of-type(1) {
|
|
384
|
+
@include vf-grid-column($col-75);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
&:nth-of-type(2) {
|
|
388
|
+
@include vf-grid-column($col-25);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
|
|
322
394
|
.row--25-25-50 {
|
|
323
395
|
@extend %vf-row;
|
|
324
396
|
|
|
@@ -130,21 +130,23 @@
|
|
|
130
130
|
|
|
131
131
|
@mixin vf-p-icon-chevron {
|
|
132
132
|
.p-icon--chevron-up {
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
.p-icon--chevron-left {
|
|
136
|
-
transform: rotate(90deg);
|
|
133
|
+
@include vf-icon-chevron-up-themed;
|
|
137
134
|
}
|
|
138
135
|
.p-icon--chevron-right {
|
|
139
|
-
|
|
136
|
+
@include vf-icon-chevron-right-themed;
|
|
137
|
+
}
|
|
138
|
+
.p-icon--chevron-down {
|
|
139
|
+
@include vf-icon-chevron-down-themed;
|
|
140
|
+
}
|
|
141
|
+
.p-icon--chevron-left {
|
|
142
|
+
@include vf-icon-chevron-left-themed;
|
|
140
143
|
}
|
|
141
144
|
|
|
142
|
-
.p-icon--chevron-
|
|
145
|
+
.p-icon--chevron-up,
|
|
143
146
|
.p-icon--chevron-right,
|
|
144
147
|
.p-icon--chevron-down,
|
|
145
|
-
.p-icon--chevron-
|
|
148
|
+
.p-icon--chevron-left {
|
|
146
149
|
@extend %icon;
|
|
147
|
-
@include vf-icon-chevron-themed;
|
|
148
150
|
}
|
|
149
151
|
}
|
|
150
152
|
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
Image container:
|
|
5
5
|
.p-image-container:
|
|
6
6
|
Main element of the image component.
|
|
7
|
+
"&.is-cover":
|
|
8
|
+
Cover variant, to be used to set the `.p-image-container__image` within to cover the container.
|
|
7
9
|
"&.is-highlighted":
|
|
8
10
|
Highlighted variant, to be used to highlight contents.
|
|
9
11
|
.p-image-container--16-9:
|
|
@@ -4,17 +4,16 @@
|
|
|
4
4
|
@extend %small-caps-text;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
$logo-section-item-size:
|
|
8
|
-
$logo-section-item-size-medium: 6rem; // height of the logos on medium screens
|
|
7
|
+
$logo-section-item-size: 6.5rem; // height of the logos on large screens
|
|
9
8
|
$logo-section-item-size-small: 4rem; // height of the logos on small screens
|
|
10
9
|
|
|
11
10
|
$logo-section-offset: 1rem; // offset by which rows are pulled closer together
|
|
12
|
-
$logo-section-offset-medium: 0.75rem; // height of the logos on medium screens
|
|
13
11
|
$logo-section-offset-small: 0.5rem; // height of the logos on small screens
|
|
14
12
|
|
|
15
|
-
$logo-section-item-gap:
|
|
16
|
-
$logo-section-item-gap-dense: calc(0.5 * $logo-section-item-gap);
|
|
13
|
+
$logo-section-item-gap: 2rem;
|
|
17
14
|
|
|
15
|
+
// TODO: Remove .p-logo-section--dense since it's been deprecated in favor
|
|
16
|
+
// of just using .p-logo-section instead
|
|
18
17
|
.p-logo-section,
|
|
19
18
|
.p-logo-section--dense {
|
|
20
19
|
.p-logo-section__item {
|
|
@@ -25,11 +24,6 @@
|
|
|
25
24
|
margin-top: calc(-1 * $logo-section-offset-small); // pull the previous row of logos down
|
|
26
25
|
|
|
27
26
|
@media (min-width: $breakpoint-small) {
|
|
28
|
-
margin-bottom: calc(-1 * $logo-section-offset-medium);
|
|
29
|
-
margin-top: calc(-1 * $logo-section-offset-medium);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@media (min-width: $breakpoint-large) {
|
|
33
27
|
margin-bottom: calc(-1 * $logo-section-offset);
|
|
34
28
|
margin-top: calc(-1 * $logo-section-offset);
|
|
35
29
|
}
|
|
@@ -42,10 +36,6 @@
|
|
|
42
36
|
width: auto;
|
|
43
37
|
|
|
44
38
|
@media (min-width: $breakpoint-small) {
|
|
45
|
-
height: $logo-section-item-size-medium;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@media (min-width: $breakpoint-large) {
|
|
49
39
|
height: $logo-section-item-size;
|
|
50
40
|
}
|
|
51
41
|
}
|
|
@@ -58,36 +48,12 @@
|
|
|
58
48
|
padding-top: $logo-section-offset-small;
|
|
59
49
|
|
|
60
50
|
@media (min-width: $breakpoint-small) {
|
|
61
|
-
padding-bottom: $logo-section-offset-medium;
|
|
62
|
-
padding-top: $logo-section-offset-medium;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
@media (min-width: $breakpoint-large) {
|
|
66
51
|
padding-bottom: $logo-section-offset;
|
|
67
52
|
padding-top: $logo-section-offset;
|
|
68
53
|
}
|
|
69
54
|
}
|
|
70
55
|
}
|
|
71
56
|
|
|
72
|
-
.p-logo-section--dense {
|
|
73
|
-
.p-logo-section__item {
|
|
74
|
-
display: inline-block;
|
|
75
|
-
margin: 0;
|
|
76
|
-
margin-bottom: calc(-1 * $logo-section-offset-small); // pull the next row of logos up
|
|
77
|
-
margin-right: $logo-section-item-gap-dense;
|
|
78
|
-
margin-top: calc(-1 * $logo-section-offset-small); // pull the previous row of logos down
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.p-logo-section__logo {
|
|
82
|
-
height: $logo-section-item-size-small;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.p-logo-section__items {
|
|
86
|
-
padding-bottom: $logo-section-offset-small;
|
|
87
|
-
padding-top: $logo-section-offset-small;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
57
|
// fallback for old logo sections that may have logos not properly aligned by design team
|
|
92
58
|
.p-logo-section.has-misaligned-images,
|
|
93
59
|
.p-logo-section--dense.has-misaligned-images {
|
|
@@ -98,10 +64,6 @@
|
|
|
98
64
|
width: $logo-section-item-size-small;
|
|
99
65
|
|
|
100
66
|
@media (min-width: $breakpoint-small) {
|
|
101
|
-
width: $logo-section-item-size-medium;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
@media (min-width: $breakpoint-large) {
|
|
105
67
|
width: $logo-section-item-size;
|
|
106
68
|
}
|
|
107
69
|
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
@mixin vf-p-navigation-reduced {
|
|
2
2
|
.p-navigation--reduced {
|
|
3
|
+
// height of reduced navigation calculated from line height and padding
|
|
4
|
+
$reduced-nav-height: calc(map-get($line-heights, x-small) + 2 * $spv--small);
|
|
5
|
+
|
|
6
|
+
background-color: $colors--theme--background-alt;
|
|
3
7
|
position: relative;
|
|
4
8
|
z-index: 99; // display above sticky top navigation, but below modals/overlays
|
|
5
9
|
|
|
@@ -7,24 +11,38 @@
|
|
|
7
11
|
|
|
8
12
|
// orange logo tag is hidden in reduced navigation
|
|
9
13
|
.p-navigation__tagged-logo {
|
|
10
|
-
.p-navigation__link {
|
|
11
|
-
padding-left: 0;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
14
|
.p-navigation__logo-tag {
|
|
15
15
|
display: none;
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
@media (min-width: $breakpoint-navigation-threshold) {
|
|
19
|
+
// on large screens align the logo with the grid start
|
|
20
|
+
.p-navigation__link {
|
|
21
|
+
padding-left: 0;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
17
24
|
}
|
|
18
25
|
|
|
19
26
|
// reduced nav logo text uses default font size (on small screens)
|
|
20
27
|
.p-navigation__logo-title {
|
|
28
|
+
color: $colors--theme--text-muted;
|
|
21
29
|
font-size: #{map-get($font-sizes, default)}rem;
|
|
30
|
+
font-weight: $font-weight-regular-text;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// reduced padding on small screens
|
|
34
|
+
.p-navigation__link {
|
|
35
|
+
padding-bottom: $spv--medium;
|
|
36
|
+
padding-top: $spv--medium;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// links in the banner (Menu toggle, search toggle) use muted text colour
|
|
40
|
+
.p-navigation__banner .p-navigation__link {
|
|
41
|
+
color: $colors--theme--text-muted;
|
|
22
42
|
}
|
|
23
43
|
|
|
24
44
|
// REDUCED SIZE OF NAVIGATION ON LARGE SCREENS
|
|
25
45
|
@media (min-width: $breakpoint-navigation-threshold) {
|
|
26
|
-
background-color: $colors--theme--background-alt;
|
|
27
|
-
|
|
28
46
|
// adjust font size for reduced nav on large screens
|
|
29
47
|
.p-navigation__link,
|
|
30
48
|
.p-navigation__logo-title {
|
|
@@ -40,18 +58,39 @@
|
|
|
40
58
|
|
|
41
59
|
.p-navigation__item--dropdown-toggle .p-navigation__link {
|
|
42
60
|
&::after {
|
|
61
|
+
@include vf-icon-chevron-muted;
|
|
43
62
|
top: $spv--small;
|
|
44
63
|
}
|
|
45
64
|
}
|
|
46
65
|
|
|
47
66
|
.p-navigation__item--dropdown-toggle.is-active {
|
|
48
67
|
background-color: $colors--theme--background-default;
|
|
68
|
+
|
|
69
|
+
.p-navigation__link {
|
|
70
|
+
color: $colors--theme--text-default;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.p-navigation__link::after {
|
|
74
|
+
@include vf-icon-chevron-themed;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.p-navigation__link--search-toggle {
|
|
79
|
+
&::after {
|
|
80
|
+
@include vf-icon-search-muted;
|
|
81
|
+
}
|
|
49
82
|
}
|
|
50
83
|
}
|
|
51
84
|
|
|
52
85
|
// SEARCH IN REDUCED NAVIGATION
|
|
53
86
|
|
|
54
87
|
.p-navigation__link--search-toggle {
|
|
88
|
+
// use muted icon to align with text colour
|
|
89
|
+
&::after {
|
|
90
|
+
@include vf-icon-search-muted;
|
|
91
|
+
top: calc($spv--medium + map-get($nudges, x-small));
|
|
92
|
+
}
|
|
93
|
+
|
|
55
94
|
// search label is always hidden in reduced navigation
|
|
56
95
|
.p-navigation__search-label {
|
|
57
96
|
display: none;
|
|
@@ -64,21 +103,18 @@
|
|
|
64
103
|
}
|
|
65
104
|
}
|
|
66
105
|
|
|
67
|
-
// hide secondary navigation banner when search is open on mobile
|
|
68
|
-
&.has-search-open + .has-search-open .p-navigation__banner {
|
|
69
|
-
display: none;
|
|
70
|
-
}
|
|
71
106
|
@media (min-width: $breakpoint-navigation-threshold) {
|
|
72
|
-
&.has-search-open + .has-search-open .p-navigation__banner {
|
|
73
|
-
display: flex; // reset to value as defined in _patterns_navigation.scss
|
|
74
|
-
}
|
|
75
|
-
|
|
76
107
|
&.has-search-open {
|
|
77
108
|
// make sure reduced navigation items remain visible when search is open
|
|
78
109
|
// both classes needed for specificity
|
|
79
110
|
.p-navigation__nav .p-navigation__items {
|
|
80
111
|
display: inline-flex;
|
|
81
112
|
}
|
|
113
|
+
|
|
114
|
+
// position the search under the reduced navigation
|
|
115
|
+
.p-navigation__search {
|
|
116
|
+
top: $reduced-nav-height;
|
|
117
|
+
}
|
|
82
118
|
}
|
|
83
119
|
}
|
|
84
120
|
}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
@import 'settings';
|
|
2
2
|
|
|
3
3
|
$lightness-threshold: 70;
|
|
4
|
-
$navigation-logo-tag-width: 1.
|
|
5
|
-
$navigation-logo-tag-height:
|
|
6
|
-
$navigation-logo-
|
|
7
|
-
$navigation-logo-banner-height: 3rem; // legacy logo height (small and medium screens)
|
|
8
|
-
$navigation-logo-banner-height-desktop: 3.5rem; // legacy logo height (on large screens)
|
|
4
|
+
$navigation-logo-tag-width: 1.375rem; // 22px when 1rem is 16px
|
|
5
|
+
$navigation-logo-tag-height: 2.375rem; // 38px when 1rem is 16px
|
|
6
|
+
$navigation-logo-banner-height: 3.5rem; // legacy logo height (on large screens)
|
|
9
7
|
$navigation-logo-size: 1rem;
|
|
10
|
-
$navigation-logo-padding: calc(1.5rem + 0.
|
|
8
|
+
$navigation-logo-padding: calc(1.5rem + 0.1rem); // ~25.6px to align better with logos as originally designed in SVG
|
|
11
9
|
$sph-navigation-link: 0.3rem;
|
|
12
|
-
$spv-navigation-logo-bottom-position: 0.
|
|
10
|
+
$spv-navigation-logo-bottom-position: 0.25rem; // 4px when 1rem is 16px
|
|
11
|
+
$navigation-height: calc(map-get($line-heights, default-text) + 2 * $spv--large); // navigation bar height based on line height and paddings
|
|
13
12
|
|
|
14
13
|
@mixin vf-p-navigation {
|
|
15
14
|
// placeholders
|
|
@@ -143,6 +142,7 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
143
142
|
.p-navigation--sliding,
|
|
144
143
|
.p-navigation--reduced {
|
|
145
144
|
background-color: $colors--theme--background-default;
|
|
145
|
+
color: $colors--theme--text-default;
|
|
146
146
|
display: flex;
|
|
147
147
|
flex-direction: column;
|
|
148
148
|
flex-shrink: 0;
|
|
@@ -155,6 +155,7 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
155
155
|
|
|
156
156
|
// p-search-box overrides
|
|
157
157
|
.p-search-box {
|
|
158
|
+
background-color: $colors--theme--background-default;
|
|
158
159
|
flex: 1 0 auto;
|
|
159
160
|
margin-left: map-get($grid-margin-widths, small);
|
|
160
161
|
margin-right: map-get($grid-margin-widths, small);
|
|
@@ -303,7 +304,8 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
303
304
|
.p-navigation__link--menu-toggle {
|
|
304
305
|
// reset padding for navigation links in the navigation banner
|
|
305
306
|
@extend %navigation-link-responsive-padding-horizontal;
|
|
306
|
-
|
|
307
|
+
padding-bottom: $spv--large;
|
|
308
|
+
padding-top: $spv--large;
|
|
307
309
|
|
|
308
310
|
// remove navigation separator for navigation links in the navigation banner
|
|
309
311
|
&::before {
|
|
@@ -324,10 +326,6 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
324
326
|
height: $navigation-logo-banner-height;
|
|
325
327
|
margin: 0 $sph--large 0 0;
|
|
326
328
|
|
|
327
|
-
@media (min-width: $breakpoint-navigation-threshold) {
|
|
328
|
-
height: $navigation-logo-banner-height-desktop;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
329
|
.p-navigation__item {
|
|
332
330
|
@include vf-focus;
|
|
333
331
|
|
|
@@ -344,24 +342,20 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
344
342
|
}
|
|
345
343
|
|
|
346
344
|
.p-navigation__logo-tag {
|
|
345
|
+
align-items: flex-end;
|
|
347
346
|
background-color: $color-ubuntu;
|
|
347
|
+
display: flex;
|
|
348
348
|
height: $navigation-logo-tag-height;
|
|
349
|
+
justify-content: center;
|
|
349
350
|
left: 0;
|
|
351
|
+
padding-bottom: $spv-navigation-logo-bottom-position;
|
|
350
352
|
position: absolute;
|
|
351
353
|
top: 0;
|
|
352
354
|
width: $navigation-logo-tag-width;
|
|
353
|
-
|
|
354
|
-
@media (min-width: $breakpoint-navigation-threshold) {
|
|
355
|
-
height: $navigation-logo-tag-height-desktop;
|
|
356
|
-
}
|
|
357
355
|
}
|
|
358
356
|
|
|
359
357
|
.p-navigation__logo-icon {
|
|
360
|
-
bottom: $spv-navigation-logo-bottom-position;
|
|
361
358
|
height: $navigation-logo-size;
|
|
362
|
-
left: 50%;
|
|
363
|
-
position: absolute;
|
|
364
|
-
transform: translate(-50%, 0);
|
|
365
359
|
width: $navigation-logo-size;
|
|
366
360
|
}
|
|
367
361
|
|
|
@@ -415,6 +409,7 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
415
409
|
display: flex;
|
|
416
410
|
flex-wrap: wrap;
|
|
417
411
|
margin-top: 0; // prevents bottom border of nav from moving 1px
|
|
412
|
+
position: static;
|
|
418
413
|
}
|
|
419
414
|
}
|
|
420
415
|
|
|
@@ -576,12 +571,8 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
576
571
|
position: absolute;
|
|
577
572
|
right: calc($sph--large / 2);
|
|
578
573
|
text-indent: calc(100% + 10rem);
|
|
579
|
-
top: calc($spv--
|
|
574
|
+
top: calc($spv--large + map-get($nudges, x-small));
|
|
580
575
|
width: map-get($icon-sizes, default);
|
|
581
|
-
|
|
582
|
-
@media (min-width: $breakpoint-navigation-threshold) {
|
|
583
|
-
top: calc($spv--large + map-get($nudges, x-small));
|
|
584
|
-
}
|
|
585
576
|
}
|
|
586
577
|
}
|
|
587
578
|
|
|
@@ -626,6 +617,7 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
626
617
|
// make sure search in navigation renders on top of the overlay
|
|
627
618
|
.p-navigation__nav {
|
|
628
619
|
display: flex;
|
|
620
|
+
position: relative;
|
|
629
621
|
z-index: 60;
|
|
630
622
|
}
|
|
631
623
|
|
|
@@ -636,7 +628,14 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
636
628
|
|
|
637
629
|
// show expanded search box
|
|
638
630
|
.p-navigation__search {
|
|
631
|
+
background-color: $colors--theme--background-default;
|
|
639
632
|
display: flex;
|
|
633
|
+
position: absolute;
|
|
634
|
+
width: 100%;
|
|
635
|
+
|
|
636
|
+
@media (min-width: $breakpoint-navigation-threshold) {
|
|
637
|
+
background-color: transparent;
|
|
638
|
+
}
|
|
640
639
|
}
|
|
641
640
|
|
|
642
641
|
// fade in search overlay
|
|
@@ -730,6 +729,8 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
730
729
|
}
|
|
731
730
|
|
|
732
731
|
&.is-active {
|
|
732
|
+
background: $colors--theme--background-active;
|
|
733
|
+
|
|
733
734
|
&::after {
|
|
734
735
|
transform: rotate(0deg);
|
|
735
736
|
|
|
@@ -748,9 +749,56 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
748
749
|
// increase padding to accommodate chevron icon
|
|
749
750
|
padding-right: calc(2 * $sph--small + map-get($icon-sizes, default));
|
|
750
751
|
}
|
|
752
|
+
}
|
|
751
753
|
|
|
752
|
-
|
|
753
|
-
|
|
754
|
+
.p-navigation--reduced .p-navigation__dropdown.is-full-width,
|
|
755
|
+
.p-navigation--sliding .p-navigation__dropdown.is-full-width {
|
|
756
|
+
.p-navigation__dropdown-content--full-width {
|
|
757
|
+
@extend %vf-has-box-shadow;
|
|
758
|
+
@include vf-transition(transform, snap);
|
|
759
|
+
background-color: $colors--theme--background-default;
|
|
760
|
+
border-top: 1px solid $colors--theme--border-default;
|
|
761
|
+
display: none; // hide on small screens
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
// on desktop display full width meganav dropdowns
|
|
765
|
+
@media (min-width: $breakpoint-navigation-threshold) {
|
|
766
|
+
background-color: $color-transparent;
|
|
767
|
+
box-shadow: none;
|
|
768
|
+
left: 0;
|
|
769
|
+
overflow: hidden;
|
|
770
|
+
position: absolute;
|
|
771
|
+
right: 0;
|
|
772
|
+
|
|
773
|
+
// hide mobile sliding menu on full width view
|
|
774
|
+
.p-navigation__dropdown-content--sliding {
|
|
775
|
+
display: none;
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
.p-navigation__dropdown-content--full-width {
|
|
779
|
+
display: block;
|
|
780
|
+
transform: translateY(0);
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
// collapsed dropdowns are animated off-screen
|
|
785
|
+
&.is-collapsed .p-navigation__dropdown-content--full-width {
|
|
786
|
+
transform: translateY(-101%);
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
// rows think they are nested (because they are inside of navigation row)
|
|
790
|
+
// we need to reset them back to original state
|
|
791
|
+
.row,
|
|
792
|
+
[class*='row--'] {
|
|
793
|
+
@extend %fixed-width-container--common-properties;
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
.p-navigation__dropdown-container {
|
|
798
|
+
display: none;
|
|
799
|
+
|
|
800
|
+
.p-navigation__item--dropdown-toggle.is-active & {
|
|
801
|
+
display: block;
|
|
754
802
|
}
|
|
755
803
|
}
|
|
756
804
|
|
|
@@ -789,6 +837,7 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
789
837
|
|
|
790
838
|
.p-navigation--sliding.has-menu-open,
|
|
791
839
|
.p-navigation--reduced.has-menu-open {
|
|
840
|
+
box-shadow: $colors--theme--background-overlay 0px 0px 0px 100vh;
|
|
792
841
|
height: 100vh;
|
|
793
842
|
overflow-y: hidden;
|
|
794
843
|
position: fixed;
|
|
@@ -797,7 +846,7 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
797
846
|
@media (min-width: $breakpoint-navigation-threshold) {
|
|
798
847
|
height: auto;
|
|
799
848
|
overflow-y: visible;
|
|
800
|
-
position:
|
|
849
|
+
position: relative;
|
|
801
850
|
width: auto;
|
|
802
851
|
}
|
|
803
852
|
|
|
@@ -811,7 +860,7 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
811
860
|
}
|
|
812
861
|
.p-navigation__nav {
|
|
813
862
|
display: block;
|
|
814
|
-
height: 100vh;
|
|
863
|
+
height: calc(100vh - $navigation-height);
|
|
815
864
|
overflow-x: hidden;
|
|
816
865
|
|
|
817
866
|
.p-navigation__items {
|
|
@@ -838,12 +887,17 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
838
887
|
.p-navigation--sliding .p-navigation__dropdown,
|
|
839
888
|
.p-navigation--reduced .p-navigation__dropdown {
|
|
840
889
|
display: block;
|
|
841
|
-
height: 100vh;
|
|
890
|
+
height: calc(100vh - $navigation-height);
|
|
842
891
|
left: 100vw;
|
|
843
892
|
position: absolute;
|
|
844
893
|
top: 0;
|
|
845
894
|
transition: transform $sliding-nav-animation-settings;
|
|
846
895
|
|
|
896
|
+
// set background of child elements to properly cover parent dropdown levels when scrolling
|
|
897
|
+
& > * {
|
|
898
|
+
background: $colors--theme--background-default;
|
|
899
|
+
}
|
|
900
|
+
|
|
847
901
|
@media (min-width: $breakpoint-navigation-threshold) {
|
|
848
902
|
display: none;
|
|
849
903
|
height: auto;
|
|
@@ -852,8 +906,9 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
852
906
|
top: unset;
|
|
853
907
|
}
|
|
854
908
|
|
|
909
|
+
// overlay to create fade out effect on parent level
|
|
855
910
|
&::before {
|
|
856
|
-
box-shadow: -100vw
|
|
911
|
+
box-shadow: -100vw 0 0 0 $colors--light-theme--background-overlay;
|
|
857
912
|
content: '';
|
|
858
913
|
height: 100%;
|
|
859
914
|
opacity: 0;
|
|
@@ -866,10 +921,14 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
866
921
|
}
|
|
867
922
|
}
|
|
868
923
|
|
|
924
|
+
&[aria-hidden='true'] {
|
|
925
|
+
overflow: hidden; // prevent scrolling when dropdown is off screen
|
|
926
|
+
}
|
|
927
|
+
|
|
869
928
|
&[aria-hidden='false'],
|
|
870
929
|
&:not([aria-hidden]) {
|
|
871
930
|
&::before {
|
|
872
|
-
|
|
931
|
+
opacity: 1;
|
|
873
932
|
}
|
|
874
933
|
|
|
875
934
|
display: block;
|
|
@@ -925,6 +984,30 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
925
984
|
|
|
926
985
|
.p-navigation--sliding,
|
|
927
986
|
.p-navigation--reduced {
|
|
987
|
+
// FIXME
|
|
988
|
+
// We want to add some additional spacing on the bottom of the sliding dropdowns
|
|
989
|
+
// so that the last item is not directly at the bottom of the screen when scrolling,
|
|
990
|
+
// but because of the way it's currently implemented, the only way to achieve this
|
|
991
|
+
// is to add padding to the last item in the dropdown.
|
|
992
|
+
// This is a temporary solution until we can find a better way to implement this, but
|
|
993
|
+
// it may require bigger restructuring of the sliding navigation.
|
|
994
|
+
|
|
995
|
+
// top (1st) level navigation dropdown
|
|
996
|
+
.p-navigation__nav .p-navigation__items,
|
|
997
|
+
// 2nd level navigation dropdown (that has separate mobile and desktop versions)
|
|
998
|
+
.p-navigation__dropdown-content--sliding,
|
|
999
|
+
// further nested levels
|
|
1000
|
+
// (because of some weird style combination we have to select last child instead of adding padding on dropdown container itself)
|
|
1001
|
+
.p-navigation__dropdown > :last-child {
|
|
1002
|
+
// should be enough to make some space at the bottom
|
|
1003
|
+
// and workaround the issues of 100vh not taking address toolbar into account
|
|
1004
|
+
padding-bottom: 3rem;
|
|
1005
|
+
|
|
1006
|
+
@media (min-width: $breakpoint-navigation-threshold) {
|
|
1007
|
+
padding-bottom: 0;
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
|
|
928
1011
|
// Default positioning for nested dropdown buttons. Overridden by subsequent styles.
|
|
929
1012
|
.p-navigation__item--dropdown-toggle {
|
|
930
1013
|
position: initial;
|
|
@@ -39,9 +39,9 @@ $color-link-visited-dark: #a679d2 !default;
|
|
|
39
39
|
$color-focus-dark: #9cf !default;
|
|
40
40
|
|
|
41
41
|
// Focus modifications to meet AA 3:1 contrast ratio against
|
|
42
|
-
// button background for positive
|
|
42
|
+
// button background for positive buttons
|
|
43
43
|
$color-focus-positive: #003008 !default;
|
|
44
|
-
$color-focus-
|
|
44
|
+
$color-focus-positive-dark: #9cf !default;
|
|
45
45
|
|
|
46
46
|
// Button background color changes
|
|
47
47
|
$input-background-opacity-amount: 0.04;
|
|
@@ -93,6 +93,7 @@ $states: (
|
|
|
93
93
|
// --link-default - default link color
|
|
94
94
|
// --link-visited - visited link color
|
|
95
95
|
// --focus - focus highlight/outline color
|
|
96
|
+
// --positive-focus - focus highlight/outline color for positive buttons
|
|
96
97
|
//
|
|
97
98
|
// Background colors:
|
|
98
99
|
// --background - default background color
|
|
@@ -114,6 +115,7 @@ $colors--light-theme--text-inactive: rgba($color-x-dark, $inactive-text-opacity-
|
|
|
114
115
|
$colors--light-theme--link-default: $color-link !default;
|
|
115
116
|
$colors--light-theme--link-visited: $color-link-visited !default;
|
|
116
117
|
$colors--light-theme--focus: $color-focus !default;
|
|
118
|
+
$colors--light-theme--positive-focus: $color-focus-positive !default;
|
|
117
119
|
|
|
118
120
|
$colors--light-theme--background-default: #fff !default;
|
|
119
121
|
$colors--light-theme--background-alt: #f7f7f7 !default;
|
|
@@ -174,6 +176,7 @@ $colors--dark-theme--text-inactive: rgba($colors--dark-theme--text-default, $ina
|
|
|
174
176
|
$colors--dark-theme--link-default: $color-link-dark !default;
|
|
175
177
|
$colors--dark-theme--link-visited: $color-link-visited-dark !default;
|
|
176
178
|
$colors--dark-theme--focus: $color-focus-dark !default;
|
|
179
|
+
$colors--dark-theme--positive-focus: $color-focus-positive-dark !default;
|
|
177
180
|
|
|
178
181
|
$colors--dark-theme--background-default: #262626 !default;
|
|
179
182
|
$colors--dark-theme--background-alt: #202020 !default;
|
|
@@ -241,6 +244,7 @@ $colors--theme--text-inactive: var(--vf-color-text-inactive);
|
|
|
241
244
|
$colors--theme--link-default: var(--vf-color-link-default);
|
|
242
245
|
$colors--theme--link-visited: var(--vf-color-link-visited);
|
|
243
246
|
$colors--theme--focus: var(--vf-color-focus);
|
|
247
|
+
$colors--theme--positive-focus: var(--vf-color-positive-focus);
|
|
244
248
|
|
|
245
249
|
$colors--theme--background-default: var(--vf-color-background-default);
|
|
246
250
|
$colors--theme--background-alt: var(--vf-color-background-alt);
|
|
@@ -296,6 +300,7 @@ $colors--theme--button-negative-text: var(--vf-color-button-negative-text);
|
|
|
296
300
|
--vf-color-link-default: #{$colors--light-theme--link-default};
|
|
297
301
|
--vf-color-link-visited: #{$colors--light-theme--link-visited};
|
|
298
302
|
--vf-color-focus: #{$colors--light-theme--focus};
|
|
303
|
+
--vf-color-positive-focus: #{$colors--light-theme--positive-focus};
|
|
299
304
|
|
|
300
305
|
--vf-color-background-default: #{$colors--light-theme--background-default};
|
|
301
306
|
--vf-color-background-alt: #{$colors--light-theme--background-alt};
|
|
@@ -351,6 +356,7 @@ $colors--theme--button-negative-text: var(--vf-color-button-negative-text);
|
|
|
351
356
|
--vf-color-link-default: #{$colors--dark-theme--link-default};
|
|
352
357
|
--vf-color-link-visited: #{$colors--dark-theme--link-visited};
|
|
353
358
|
--vf-color-focus: #{$colors--dark-theme--focus};
|
|
359
|
+
--vf-color-positive-focus: #{$colors--dark-theme--positive-focus};
|
|
354
360
|
|
|
355
361
|
--vf-color-background-default: #{$colors--dark-theme--background-default};
|
|
356
362
|
--vf-color-background-alt: #{$colors--dark-theme--background-alt};
|
package/scss/_vanilla.scss
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
@import 'patterns_chip';
|
|
12
12
|
@import 'patterns_code-snippet';
|
|
13
13
|
@import 'patterns_contextual-menu';
|
|
14
|
+
@import 'patterns_cta';
|
|
14
15
|
@import 'patterns_divider';
|
|
15
16
|
@import 'patterns_equal-height-row';
|
|
16
17
|
@import 'patterns_form-help-text';
|
|
@@ -104,6 +105,7 @@
|
|
|
104
105
|
@include vf-p-chip;
|
|
105
106
|
@include vf-p-code-snippet;
|
|
106
107
|
@include vf-p-contextual-menu;
|
|
108
|
+
@include vf-p-cta-block;
|
|
107
109
|
@include vf-p-divider;
|
|
108
110
|
@include vf-p-equal-height-row;
|
|
109
111
|
@include vf-p-form-help-text;
|