vanilla-framework 4.14.0 → 4.16.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 +19 -16
- package/scss/_base_button.scss +1 -1
- package/scss/_base_details.scss +1 -1
- package/scss/_base_forms.scss +8 -7
- package/scss/_base_hr.scss +2 -3
- package/scss/_base_icon-definitions.scss +29 -0
- package/scss/_base_links.scss +1 -1
- package/scss/_base_placeholders.scss +3 -3
- package/scss/_base_typography-definitions.scss +1 -1
- package/scss/_global_functions.scss +17 -5
- package/scss/_layouts_application-panels.scss +3 -12
- package/scss/_layouts_application.scss +2 -2
- package/scss/_layouts_fluid-breakout.scss +2 -2
- package/scss/_patterns_accordion.scss +1 -1
- package/scss/_patterns_article-pagination.scss +4 -5
- package/scss/_patterns_buttons.scss +1 -1
- package/scss/_patterns_chip.scss +8 -9
- package/scss/_patterns_code-snippet.scss +1 -1
- package/scss/_patterns_contextual-menu.scss +1 -1
- package/scss/_patterns_cta.scss +27 -0
- package/scss/_patterns_equal-height-row.scss +87 -43
- package/scss/_patterns_grid.scss +74 -2
- package/scss/_patterns_icons.scss +10 -8
- package/scss/_patterns_image.scss +53 -15
- package/scss/_patterns_links.scss +1 -1
- package/scss/_patterns_list-tree.scss +49 -43
- package/scss/_patterns_lists.scss +58 -17
- package/scss/_patterns_logo-section.scss +4 -42
- package/scss/_patterns_matrix.scss +2 -2
- package/scss/_patterns_navigation-reduced.scss +50 -14
- package/scss/_patterns_navigation.scss +119 -36
- package/scss/_patterns_pull-quotes.scss +1 -1
- package/scss/_patterns_rule.scss +6 -2
- package/scss/_patterns_search-and-filter.scss +11 -12
- package/scss/_patterns_separator.scss +1 -0
- package/scss/_patterns_side-navigation.scss +1 -1
- package/scss/_patterns_status-label.scss +5 -0
- package/scss/_patterns_table-mobile-card.scss +1 -1
- package/scss/_patterns_tooltips.scss +26 -8
- package/scss/_settings_breakpoints.scss +16 -0
- package/scss/_settings_colors.scss +17 -8
- package/scss/_utilities_floats.scss +6 -6
- package/scss/_utilities_hide.scss +9 -9
- package/scss/_utilities_show.scss +3 -3
- package/scss/_vanilla.scss +2 -0
|
@@ -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
|
}
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
width: 33.333%;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
@media (
|
|
34
|
+
@media ($threshold-4-6-col <= width < $threshold-6-12-col) {
|
|
35
35
|
flex-direction: column;
|
|
36
36
|
|
|
37
37
|
&:nth-child(2),
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
.p-matrix__desc {
|
|
143
143
|
margin-bottom: $spv-nudge-compensation;
|
|
144
144
|
|
|
145
|
-
@media (
|
|
145
|
+
@media (width < $breakpoint-heading-threshold) {
|
|
146
146
|
margin-top: -#{$sp-unit};
|
|
147
147
|
}
|
|
148
148
|
|
|
@@ -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
|
|
@@ -86,7 +85,7 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
86
85
|
@extend %navigation-link-text;
|
|
87
86
|
@extend %vf-navigation-separator;
|
|
88
87
|
@include vf-transition($properties, snap);
|
|
89
|
-
@include vf-focus;
|
|
88
|
+
@include vf-focus-themed;
|
|
90
89
|
|
|
91
90
|
// override button styles
|
|
92
91
|
background-color: transparent;
|
|
@@ -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,12 +326,8 @@ $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
|
-
@include vf-focus;
|
|
330
|
+
@include vf-focus-themed;
|
|
333
331
|
|
|
334
332
|
display: flex;
|
|
335
333
|
}
|
|
@@ -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
|
|
|
@@ -483,7 +478,7 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
483
478
|
@extend %navigation-link-responsive-padding-horizontal;
|
|
484
479
|
@extend %navigation-link-responsive-padding-vertical;
|
|
485
480
|
@extend %navigation-link-text;
|
|
486
|
-
@include vf-focus;
|
|
481
|
+
@include vf-focus-themed;
|
|
487
482
|
|
|
488
483
|
margin: 0 0 auto 0;
|
|
489
484
|
}
|
|
@@ -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
|
|
@@ -689,7 +688,7 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
|
|
|
689
688
|
top: $spv--large * 2 + map-get($line-heights, default-text);
|
|
690
689
|
}
|
|
691
690
|
|
|
692
|
-
@media (
|
|
691
|
+
@media (width < $breakpoint-navigation-threshold) {
|
|
693
692
|
box-shadow: none;
|
|
694
693
|
}
|
|
695
694
|
}
|
|
@@ -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;
|
package/scss/_patterns_rule.scss
CHANGED
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
.p-rule,
|
|
5
5
|
.p-rule--muted,
|
|
6
6
|
.p-rule--highlight {
|
|
7
|
-
@extend %
|
|
7
|
+
@extend %hr;
|
|
8
|
+
|
|
9
|
+
&.is-fixed-width {
|
|
10
|
+
@extend %fixed-width-hr;
|
|
11
|
+
}
|
|
8
12
|
}
|
|
9
13
|
|
|
10
14
|
.p-rule--muted {
|
|
@@ -15,7 +19,7 @@
|
|
|
15
19
|
@include vf-highlight-bar($colors--theme--text-default);
|
|
16
20
|
|
|
17
21
|
&.is-accent {
|
|
18
|
-
@include vf-highlight-bar($
|
|
22
|
+
@include vf-highlight-bar($colors--theme--accent);
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
25
|
}
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
$input-height: calc(map-get($line-heights, default-text) + $input-vertical-padding + $spv-nudge - $input-border-thickness);
|
|
23
23
|
|
|
24
24
|
.p-search-and-filter {
|
|
25
|
-
border-bottom: $input-border-thickness solid $colors--
|
|
25
|
+
border-bottom: $input-border-thickness solid $colors--theme--border-high-contrast;
|
|
26
26
|
position: relative;
|
|
27
27
|
|
|
28
28
|
.p-search-and-filter__search-container {
|
|
29
29
|
align-items: center;
|
|
30
|
-
background-color: $colors--
|
|
30
|
+
background-color: $colors--theme--background-inputs;
|
|
31
31
|
display: flex;
|
|
32
32
|
flex-wrap: wrap;
|
|
33
33
|
height: auto;
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
.p-search-and-filter__selected-count {
|
|
55
|
-
color: $
|
|
55
|
+
color: $colors--theme--link-default;
|
|
56
56
|
cursor: pointer;
|
|
57
57
|
position: absolute;
|
|
58
58
|
right: 0.5rem;
|
|
59
|
-
top:
|
|
59
|
+
top: 0.3rem;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
&[aria-expanded='true'] {
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
.p-search-and-filter__panel {
|
|
73
73
|
@include vf-transition(opacity, fast);
|
|
74
74
|
|
|
75
|
-
background-color: $
|
|
75
|
+
background-color: $colors--theme--background-inputs;
|
|
76
76
|
box-shadow: $box-shadow;
|
|
77
77
|
opacity: 1;
|
|
78
78
|
padding: $input-vertical-padding $sph--large 0;
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
.p-search-and-filter__search-prompt {
|
|
90
|
-
background: $
|
|
90
|
+
background: $colors--theme--background-inputs;
|
|
91
91
|
cursor: pointer;
|
|
92
92
|
margin-left: -1rem;
|
|
93
93
|
margin-right: -1rem;
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
|
|
100
100
|
.p-search-and-filter__clear {
|
|
101
101
|
@extend %vf-button-has-icon;
|
|
102
|
-
background-color: $colors--
|
|
102
|
+
background-color: $colors--theme--background-inputs;
|
|
103
103
|
|
|
104
104
|
border: none;
|
|
105
105
|
bottom: $focus-outline-offset;
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
|
|
146
146
|
@mixin vf-filter-panel-section {
|
|
147
147
|
.p-filter-panel-section {
|
|
148
|
-
border-bottom: 1px solid $
|
|
148
|
+
border-bottom: 1px solid $colors--theme--border-low-contrast;
|
|
149
149
|
margin: 0;
|
|
150
150
|
padding-bottom: $spv--large;
|
|
151
151
|
|
|
@@ -168,9 +168,8 @@
|
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
.p-filter-panel-section__heading {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
margin-bottom: 0;
|
|
171
|
+
@extend %vf-heading-5;
|
|
172
|
+
color: $colors--theme--text-muted;
|
|
174
173
|
}
|
|
175
174
|
|
|
176
175
|
.p-filter-panel-section__chips {
|
|
@@ -185,7 +184,7 @@
|
|
|
185
184
|
|
|
186
185
|
.p-filter-panel-section__counter {
|
|
187
186
|
bottom: 0;
|
|
188
|
-
color: $
|
|
187
|
+
color: $colors--theme--link-default;
|
|
189
188
|
cursor: pointer;
|
|
190
189
|
position: absolute;
|
|
191
190
|
right: 0.25rem;
|