vanilla-framework 4.13.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 +14 -12
- package/scss/_base_forms-range.scss +2 -2
- package/scss/_base_forms.scss +0 -5
- package/scss/_base_icon-definitions.scss +29 -0
- package/scss/_base_placeholders.scss +1 -3
- package/scss/_global_functions.scss +1 -1
- 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_form-tick-elements.scss +1 -1
- package/scss/_patterns_grid.scss +74 -2
- package/scss/_patterns_icons.scss +10 -8
- package/scss/_patterns_image.scss +19 -3
- package/scss/_patterns_links.scss +26 -0
- package/scss/_patterns_logo-section.scss +4 -42
- package/scss/_patterns_media-object.scss +21 -1
- package/scss/_patterns_navigation-reduced.scss +121 -0
- package/scss/_patterns_navigation.scss +169 -40
- package/scss/_patterns_switch.scss +7 -7
- package/scss/_settings_colors.scss +18 -5
- package/scss/_settings_spacing.scss +1 -0
- package/scss/_vanilla.scss +4 -1
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,14 +31,14 @@
|
|
|
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",
|
|
38
38
|
"serve": "./entrypoint 0.0.0.0:${PORT}",
|
|
39
39
|
"test-scss": "node -e 'require(\"./tests/parker\").parkerTest()'",
|
|
40
40
|
"test-spelling": "mdspell templates/docs/**/*.md -r -n -a --en-gb",
|
|
41
|
-
"test": "yarn lint-scss && yarn lint-prettier && yarn test-spelling && yarn test-scss",
|
|
41
|
+
"test": "yarn lint-scss && yarn lint-prettier && yarn test-spelling && yarn test-scss && yarn jest",
|
|
42
42
|
"lint-prettier": "prettier -c .",
|
|
43
43
|
"lint-scss": "stylelint 'scss/**/*.scss'",
|
|
44
44
|
"watch:scss": "sass --load-path=node_modules --embed-sources --style=compressed scss:build/css --watch",
|
|
@@ -57,22 +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
|
+
"jest": "29.7.0",
|
|
65
|
+
"js-beautify": "1.15.1",
|
|
64
66
|
"markdown-spellcheck": "1.3.1",
|
|
65
67
|
"parker": "0.0.10",
|
|
66
|
-
"postcss": "8.4.
|
|
68
|
+
"postcss": "8.4.40",
|
|
67
69
|
"postcss-cli": "11.0.0",
|
|
68
70
|
"postcss-scss": "4.0.9",
|
|
69
|
-
"prettier": "3.3.
|
|
70
|
-
"sass": "1.77.
|
|
71
|
-
"stylelint": "16.
|
|
72
|
-
"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",
|
|
73
75
|
"stylelint-order": "6.0.4",
|
|
74
|
-
"stylelint-prettier": "5.0.
|
|
76
|
+
"stylelint-prettier": "5.0.2",
|
|
75
77
|
"svgo": "3.3.2",
|
|
76
|
-
"yaml": "2.
|
|
78
|
+
"yaml": "2.5.0"
|
|
77
79
|
}
|
|
78
80
|
}
|
|
@@ -78,11 +78,11 @@
|
|
|
78
78
|
outline: none;
|
|
79
79
|
|
|
80
80
|
&::-webkit-slider-thumb {
|
|
81
|
-
outline: $bar-thickness solid $
|
|
81
|
+
outline: $bar-thickness solid $colors--theme--focus;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
&::-moz-range-thumb {
|
|
85
|
-
outline: $bar-thickness solid $
|
|
85
|
+
outline: $bar-thickness solid $colors--theme--focus;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
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
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
|
|
63
63
|
// Adds visual focus to elements on :focus-visible,
|
|
64
64
|
// or :focus if the browser doesn't support the former
|
|
65
|
-
@mixin vf-focus($color: $
|
|
65
|
+
@mixin vf-focus($color: $colors--theme--focus, $width: $bar-thickness, $has-validation: false) {
|
|
66
66
|
&:focus {
|
|
67
67
|
outline: $width solid $color;
|
|
68
68
|
outline-offset: -#{$width};
|
|
@@ -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:
|
|
@@ -27,14 +29,28 @@
|
|
|
27
29
|
.p-image-container,
|
|
28
30
|
[class^='p-image-container--'] {
|
|
29
31
|
align-items: center;
|
|
30
|
-
display:
|
|
32
|
+
display: flex;
|
|
31
33
|
justify-content: center;
|
|
32
34
|
text-align: center;
|
|
35
|
+
|
|
36
|
+
&.is-highlighted {
|
|
37
|
+
background: $colors--theme--background-alt;
|
|
38
|
+
}
|
|
39
|
+
|
|
33
40
|
.p-image-container__image {
|
|
41
|
+
// max height prevents the image from stretching the container
|
|
42
|
+
// when the aspect ratio is set, and object-fit ensures the aspect ratio
|
|
43
|
+
// of the image content is maintained
|
|
44
|
+
max-height: 100%;
|
|
34
45
|
object-fit: contain;
|
|
35
46
|
}
|
|
36
|
-
|
|
37
|
-
|
|
47
|
+
|
|
48
|
+
&.is-cover {
|
|
49
|
+
.p-image-container__image {
|
|
50
|
+
height: 100%;
|
|
51
|
+
object-fit: cover;
|
|
52
|
+
width: 100%;
|
|
53
|
+
}
|
|
38
54
|
}
|
|
39
55
|
}
|
|
40
56
|
|
|
@@ -77,4 +77,30 @@
|
|
|
77
77
|
padding: 0 $sph--small 0 $sph--large;
|
|
78
78
|
text-decoration: none;
|
|
79
79
|
}
|
|
80
|
+
|
|
81
|
+
.p-link--anchor-heading {
|
|
82
|
+
color: $colors--theme--text-default;
|
|
83
|
+
|
|
84
|
+
&:visited {
|
|
85
|
+
color: $colors--theme--text-default;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&::after {
|
|
89
|
+
@extend %icon;
|
|
90
|
+
@include vf-icon-get-link-themed;
|
|
91
|
+
|
|
92
|
+
content: '';
|
|
93
|
+
margin-left: $sph--small;
|
|
94
|
+
padding: $spv--small $sph--small;
|
|
95
|
+
vertical-align: baseline;
|
|
96
|
+
visibility: hidden;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
&:hover,
|
|
100
|
+
&:focus {
|
|
101
|
+
&::after {
|
|
102
|
+
visibility: visible;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
80
106
|
}
|
|
@@ -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,3 +1,7 @@
|
|
|
1
|
+
// Note: vf-url-friendly-color does not work with the new theming variable
|
|
2
|
+
// setup, since it can't interpolate CSS variables during compilation. Instead,
|
|
3
|
+
// we're hard-coding light/dark icons here when necessary.
|
|
4
|
+
|
|
1
5
|
@import 'settings';
|
|
2
6
|
|
|
3
7
|
@mixin vf-p-media-object {
|
|
@@ -10,7 +14,7 @@
|
|
|
10
14
|
%vf-meta-list-item {
|
|
11
15
|
@extend %small-text;
|
|
12
16
|
|
|
13
|
-
color: $colors--
|
|
17
|
+
color: $colors--theme--text-default;
|
|
14
18
|
padding-left: map-get($icon-sizes, default) + $sph--large;
|
|
15
19
|
}
|
|
16
20
|
|
|
@@ -65,18 +69,34 @@
|
|
|
65
69
|
@extend %vf-iconed-list-item;
|
|
66
70
|
// prettier-ignore
|
|
67
71
|
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="90" height="90"><g transform="translate(0 -962.362)"><path color="%23000" fill="none" stroke-width="7.5" overflow="visible" enable-background="accumulate" d="M0 962.362h90v90H0z"/><path d="M35.914 968.362v9c0 4.837-4.078 8.914-8.914 8.914-4.836 0-8.914-4.077-8.914-8.914v-8.547C7.56 969.892 6 973.59 6 986.362v42c0 18 3 18 30 18h18c27 0 30 0 30-18v-42c0-12.773-1.56-16.47-12.086-17.547v8.547c0 4.837-4.078 8.914-8.914 8.914-4.836 0-8.914-4.077-8.914-8.914v-9H35.914zm.086 24h18c24 0 24 0 24 12v24c0 12 0 12-24 12H36c-24 0-24 0-24-12v-24c0-12 0-12 24-12z" fill="' + vf-url-friendly-color($color-mid-dark) + '"/><rect width="6" height="18" x="24" y="962.362" ry="3" color="%23000" fill="' + vf-url-friendly-color($color-mid-dark) + '" stroke-width=".1" overflow="visible" enable-background="accumulate"/><rect ry="3" y="962.362" x="60" height="18" width="6" color="%23000" fill="' + vf-url-friendly-color($color-mid-dark) + '" stroke-width=".1" overflow="visible" enable-background="accumulate"/><path style="text-align:center;line-height:125%;-inkscape-font-specification:Ubuntu Medium" d="M33.336 1001.364v.01c-1.8 0-3.5.348-5.087 1.043-1.548.663-2.913 1.553-4.08 2.664l-.352.337 3.06 4.335.474-.472c.158-.158.425-.388.787-.673l.01-.013.01-.012c.342-.295.74-.582 1.194-.86.467-.27 1.002-.507 1.607-.71.577-.19 1.206-.288 1.896-.288 1.048 0 1.885.26 2.58.768.626.46.964 1.222.964 2.497 0 .56-.114 1.1-.35 1.647-.246.538-.58 1.082-1.006 1.635h-.002c-.408.535-.896 1.088-1.466 1.658-.582.582-1.192 1.176-1.827 1.785h-.004c-.827.8-1.653 1.613-2.48 2.44-.846.845-1.61 1.748-2.292 2.704h-.002c-.692.967-1.26 2.02-1.702 3.15-.426 1.134-.635 2.372-.635 3.707v.72c0 .31.015.583.046.828l.064.493h18.65v-5.197H31.386c.072-.144.057-.21.18-.392l.006-.012h.002c.33-.507.727-1.034 1.192-1.576.47-.548.966-1.096 1.488-1.645l.008-.01c.527-.553.998-1.027 1.413-1.416h.007c.8-.775 1.6-1.56 2.4-2.36h.007c.813-.844 1.534-1.7 2.163-2.576h.002c.66-.906 1.197-1.83 1.613-2.773.428-.994.645-2.02.645-3.054 0-2.528-.756-4.605-2.28-6.102-1.524-1.55-3.862-2.28-6.9-2.28zm16.626.635v.01l-.024.537c-.106 2.31-.24 4.618-.4 6.927-.158 2.277-.384 4.688-.676 7.233l-.07.628h.632c2.187 0 3.982.12 5.37.353h.004c1.42.23 2.518.58 3.283 1.01h.01c.804.44 1.316.945 1.6 1.512.302.606.46 1.297.46 2.1 0 .514-.094.994-.278 1.457-.174.414-.456.79-.876 1.14h-.016c-.375.333-.9.615-1.582.836-.677.193-1.514.298-2.51.298-1.48 0-2.72-.144-3.718-.42-1.012-.31-1.79-.596-2.3-.84l-.638-.304-1.17 5.187.394.198c.32.16.74.313 1.287.477.553.167 1.168.315 1.847.45.703.163 1.43.3 2.184.407.77.11 1.527.163 2.273.163 1.826 0 3.44-.214 4.84-.66h.008c1.386-.473 2.56-1.12 3.502-1.948.94-.827 1.647-1.823 2.105-2.967.454-1.135.68-2.365.68-3.678 0-2.868-1.023-5.22-3.034-6.892-1.888-1.617-4.76-2.472-8.434-2.75.033-.27.064-.51.097-.834.055-.535.096-1.096.123-1.68l.002-.025c.052-.575.09-1.138.117-1.688l.003-.027c.035-.38.054-.693.077-1.02h10.055V1002H49.962z" font-size="35.345" font-weight="500" letter-spacing="0" word-spacing="0" text-anchor="middle" fill="' + vf-url-friendly-color($color-mid-dark) + '" font-family="Ubuntu"/></g></svg>');
|
|
72
|
+
|
|
73
|
+
.is-dark & {
|
|
74
|
+
// prettier-ignore
|
|
75
|
+
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="90" height="90"><g transform="translate(0 -962.362)"><path color="%23000" fill="none" stroke-width="7.5" overflow="visible" enable-background="accumulate" d="M0 962.362h90v90H0z"/><path d="M35.914 968.362v9c0 4.837-4.078 8.914-8.914 8.914-4.836 0-8.914-4.077-8.914-8.914v-8.547C7.56 969.892 6 973.59 6 986.362v42c0 18 3 18 30 18h18c27 0 30 0 30-18v-42c0-12.773-1.56-16.47-12.086-17.547v8.547c0 4.837-4.078 8.914-8.914 8.914-4.836 0-8.914-4.077-8.914-8.914v-9H35.914zm.086 24h18c24 0 24 0 24 12v24c0 12 0 12-24 12H36c-24 0-24 0-24-12v-24c0-12 0-12 24-12z" fill="' + vf-url-friendly-color($color-mid-light) + '"/><rect width="6" height="18" x="24" y="962.362" ry="3" color="%23000" fill="' + vf-url-friendly-color($color-mid-light) + '" stroke-width=".1" overflow="visible" enable-background="accumulate"/><rect ry="3" y="962.362" x="60" height="18" width="6" color="%23000" fill="' + vf-url-friendly-color($color-mid-light) + '" stroke-width=".1" overflow="visible" enable-background="accumulate"/><path style="text-align:center;line-height:125%;-inkscape-font-specification:Ubuntu Medium" d="M33.336 1001.364v.01c-1.8 0-3.5.348-5.087 1.043-1.548.663-2.913 1.553-4.08 2.664l-.352.337 3.06 4.335.474-.472c.158-.158.425-.388.787-.673l.01-.013.01-.012c.342-.295.74-.582 1.194-.86.467-.27 1.002-.507 1.607-.71.577-.19 1.206-.288 1.896-.288 1.048 0 1.885.26 2.58.768.626.46.964 1.222.964 2.497 0 .56-.114 1.1-.35 1.647-.246.538-.58 1.082-1.006 1.635h-.002c-.408.535-.896 1.088-1.466 1.658-.582.582-1.192 1.176-1.827 1.785h-.004c-.827.8-1.653 1.613-2.48 2.44-.846.845-1.61 1.748-2.292 2.704h-.002c-.692.967-1.26 2.02-1.702 3.15-.426 1.134-.635 2.372-.635 3.707v.72c0 .31.015.583.046.828l.064.493h18.65v-5.197H31.386c.072-.144.057-.21.18-.392l.006-.012h.002c.33-.507.727-1.034 1.192-1.576.47-.548.966-1.096 1.488-1.645l.008-.01c.527-.553.998-1.027 1.413-1.416h.007c.8-.775 1.6-1.56 2.4-2.36h.007c.813-.844 1.534-1.7 2.163-2.576h.002c.66-.906 1.197-1.83 1.613-2.773.428-.994.645-2.02.645-3.054 0-2.528-.756-4.605-2.28-6.102-1.524-1.55-3.862-2.28-6.9-2.28zm16.626.635v.01l-.024.537c-.106 2.31-.24 4.618-.4 6.927-.158 2.277-.384 4.688-.676 7.233l-.07.628h.632c2.187 0 3.982.12 5.37.353h.004c1.42.23 2.518.58 3.283 1.01h.01c.804.44 1.316.945 1.6 1.512.302.606.46 1.297.46 2.1 0 .514-.094.994-.278 1.457-.174.414-.456.79-.876 1.14h-.016c-.375.333-.9.615-1.582.836-.677.193-1.514.298-2.51.298-1.48 0-2.72-.144-3.718-.42-1.012-.31-1.79-.596-2.3-.84l-.638-.304-1.17 5.187.394.198c.32.16.74.313 1.287.477.553.167 1.168.315 1.847.45.703.163 1.43.3 2.184.407.77.11 1.527.163 2.273.163 1.826 0 3.44-.214 4.84-.66h.008c1.386-.473 2.56-1.12 3.502-1.948.94-.827 1.647-1.823 2.105-2.967.454-1.135.68-2.365.68-3.678 0-2.868-1.023-5.22-3.034-6.892-1.888-1.617-4.76-2.472-8.434-2.75.033-.27.064-.51.097-.834.055-.535.096-1.096.123-1.68l.002-.025c.052-.575.09-1.138.117-1.688l.003-.027c.035-.38.054-.693.077-1.02h10.055V1002H49.962z" font-size="35.345" font-weight="500" letter-spacing="0" word-spacing="0" text-anchor="middle" fill="' + vf-url-friendly-color($color-mid-light) + '" font-family="Ubuntu"/></g></svg>');
|
|
76
|
+
}
|
|
68
77
|
}
|
|
69
78
|
|
|
70
79
|
&--location {
|
|
71
80
|
@extend %vf-iconed-list-item;
|
|
72
81
|
// prettier-ignore
|
|
73
82
|
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="90" height="90"><g color="%23000"><path d="M45 0C30.088 0 18 12.088 18 27c0 .562.03 1.103.063 1.656.013.248.012.497.03.75.02.23.07.46.095.688C20.22 51.854 41.922 90 45 90c3.078 0 24.78-38.146 26.813-59.906.02-.232.076-.46.093-.688.022-.248.016-.5.03-.75.032-.56.064-1.12.064-1.656C72 12.088 59.912 0 45 0zm0 18c4.97 0 9 4.03 9 9s-4.03 9-9 9-9-4.03-9-9 4.03-9 9-9z" fill="' + vf-url-friendly-color($color-mid-dark) + '" stroke-width="3" overflow="visible" enable-background="accumulate"/><path fill="none" stroke-width="7.5" overflow="visible" enable-background="accumulate" d="M0 0h90v90H0z"/></g></svg>');
|
|
83
|
+
|
|
84
|
+
.is-dark & {
|
|
85
|
+
// prettier-ignore
|
|
86
|
+
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="90" height="90"><g color="%23000"><path d="M45 0C30.088 0 18 12.088 18 27c0 .562.03 1.103.063 1.656.013.248.012.497.03.75.02.23.07.46.095.688C20.22 51.854 41.922 90 45 90c3.078 0 24.78-38.146 26.813-59.906.02-.232.076-.46.093-.688.022-.248.016-.5.03-.75.032-.56.064-1.12.064-1.656C72 12.088 59.912 0 45 0zm0 18c4.97 0 9 4.03 9 9s-4.03 9-9 9-9-4.03-9-9 4.03-9 9-9z" fill="' + vf-url-friendly-color($color-mid-light) + '" stroke-width="3" overflow="visible" enable-background="accumulate"/><path fill="none" stroke-width="7.5" overflow="visible" enable-background="accumulate" d="M0 0h90v90H0z"/></g></svg>');
|
|
87
|
+
}
|
|
74
88
|
}
|
|
75
89
|
|
|
76
90
|
&--venue {
|
|
77
91
|
@extend %vf-iconed-list-item;
|
|
78
92
|
// prettier-ignore
|
|
79
93
|
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="90" height="90" viewBox="0 0 90 90.000001"><g transform="translate(-111.967 -929.337)" color="%23000"><path fill="none" stroke-width="4" overflow="visible" enable-background="accumulate" d="M111.967 929.336h90v90h-90z"/><circle r="6.5" cy="24.5" cx="23.5" transform="matrix(1.846 0 0 1.846 113.583 929.105)" fill="' + vf-url-friendly-color($color-mid-dark) + '" stroke-width="2" overflow="visible" enable-background="accumulate"/><circle r="21" cy="45" cx="45" transform="matrix(1.429 0 0 1.429 92.682 910.05)" fill="none" stroke="' + vf-url-friendly-color($color-mid-dark) + '" stroke-width="4.2" stroke-linejoin="round" overflow="visible" enable-background="accumulate"/><path d="M152.967 931.736l8-2.4v15h-8zM160.967 1016.336h-8v-12h8zM198.967 970.336v8h-12v-8zM114.967 978.336v-8h12v8z" overflow="visible" fill="' + vf-url-friendly-color($color-mid-dark) + '" stroke-width="6" enable-background="accumulate"/></g></svg>');
|
|
94
|
+
|
|
95
|
+
.is-dark & {
|
|
96
|
+
@extend %vf-iconed-list-item;
|
|
97
|
+
// prettier-ignore
|
|
98
|
+
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="90" height="90" viewBox="0 0 90 90.000001"><g transform="translate(-111.967 -929.337)" color="%23000"><path fill="none" stroke-width="4" overflow="visible" enable-background="accumulate" d="M111.967 929.336h90v90h-90z"/><circle r="6.5" cy="24.5" cx="23.5" transform="matrix(1.846 0 0 1.846 113.583 929.105)" fill="' + vf-url-friendly-color($color-mid-light) + '" stroke-width="2" overflow="visible" enable-background="accumulate"/><circle r="21" cy="45" cx="45" transform="matrix(1.429 0 0 1.429 92.682 910.05)" fill="none" stroke="' + vf-url-friendly-color($color-mid-light) + '" stroke-width="4.2" stroke-linejoin="round" overflow="visible" enable-background="accumulate"/><path d="M152.967 931.736l8-2.4v15h-8zM160.967 1016.336h-8v-12h8zM198.967 970.336v8h-12v-8zM114.967 978.336v-8h12v8z" overflow="visible" fill="' + vf-url-friendly-color($color-mid-light) + '" stroke-width="6" enable-background="accumulate"/></g></svg>');
|
|
99
|
+
}
|
|
80
100
|
}
|
|
81
101
|
}
|
|
82
102
|
|