vanilla-framework 4.0.0-alpha.2 → 4.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/package.json +7 -7
  2. package/scss/_base_code.scss +1 -2
  3. package/scss/_base_fontfaces.scss +8 -8
  4. package/scss/_base_forms.scss +3 -4
  5. package/scss/_base_hr.scss +9 -8
  6. package/scss/_base_icon-definitions.scss +4 -0
  7. package/scss/_base_links.scss +8 -0
  8. package/scss/_base_placeholders.scss +4 -2
  9. package/scss/_base_typography-definitions.scss +15 -2
  10. package/scss/_base_typography.scss +1 -1
  11. package/scss/_global_functions.scss +4 -4
  12. package/scss/_patterns_article-pagination.scss +1 -1
  13. package/scss/_patterns_badge.scss +1 -1
  14. package/scss/_patterns_card.scss +1 -4
  15. package/scss/_patterns_code-snippet.scss +1 -1
  16. package/scss/_patterns_contextual-menu.scss +0 -2
  17. package/scss/_patterns_form-password-toggle.scss +1 -1
  18. package/scss/_patterns_icons.scss +14 -0
  19. package/scss/_patterns_links.scss +3 -3
  20. package/scss/_patterns_lists.scss +4 -4
  21. package/scss/_patterns_media-object.scss +1 -2
  22. package/scss/_patterns_modal.scss +0 -1
  23. package/scss/_patterns_navigation.scss +237 -19
  24. package/scss/_patterns_notifications.scss +0 -1
  25. package/scss/_patterns_pagination.scss +1 -1
  26. package/scss/_patterns_rule.scss +18 -1
  27. package/scss/_patterns_search-and-filter.scss +0 -1
  28. package/scss/_patterns_search-box.scss +0 -1
  29. package/scss/_patterns_section.scss +11 -1
  30. package/scss/_patterns_segmented-control.scss +1 -9
  31. package/scss/_patterns_status-label.scss +1 -2
  32. package/scss/_patterns_strip.scss +3 -3
  33. package/scss/_patterns_switch.scss +0 -1
  34. package/scss/_patterns_table-mobile-card.scss +0 -1
  35. package/scss/_patterns_table-of-contents.scss +2 -2
  36. package/scss/_patterns_tabs.scss +1 -1
  37. package/scss/_patterns_tooltips.scss +0 -1
  38. package/scss/_settings_colors.scss +14 -11
  39. package/scss/_settings_placeholders.scss +1 -1
  40. package/scss/_settings_spacing.scss +1 -0
  41. package/scss/_utilities_text-figures.scss +8 -0
  42. package/scss/_utilities_text-max-width.scss +14 -0
  43. package/scss/_utilities_vertical-spacing.scss +4 -0
  44. package/scss/_vanilla.scss +4 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vanilla-framework",
3
- "version": "4.0.0-alpha.2",
3
+ "version": "4.0.0-rc.1",
4
4
  "author": {
5
5
  "email": "webteam@canonical.com",
6
6
  "name": "Canonical Webteam"
@@ -45,7 +45,7 @@
45
45
  "watch:essential": "sass --load-path=node_modules --embed-sources --style=compressed scss/build.scss:build/css/build.css --watch",
46
46
  "watch": "yarn build && yarn watch:scss",
47
47
  "clean": "rm -rf build docs/static/css node_modules/ yarn-error.log",
48
- "percy": "percy exec -- node snapshots.js",
48
+ "percy": "percy snapshot snapshots.js",
49
49
  "icon-svgs-to-mixins": "node scripts/convert-svgs-to-icon-mixins.js icons"
50
50
  },
51
51
  "files": [
@@ -57,15 +57,15 @@
57
57
  "devDependencies": {
58
58
  "@canonical/cookie-policy": "3.4.0",
59
59
  "@canonical/latest-news": "1.4.1",
60
- "@percy/script": "1.1.0",
60
+ "@percy/cli": "1.26.0",
61
61
  "@testing-library/cypress": "9.0.0",
62
62
  "autoprefixer": "10.4.14",
63
- "cypress": "12.11.0",
63
+ "cypress": "12.13.0",
64
64
  "get-site-urls": "3.0.0",
65
65
  "markdown-spellcheck": "1.3.1",
66
66
  "parker": "0.0.10",
67
- "postcss": "8.4.23",
68
- "postcss-cli": "9.1.0",
67
+ "postcss": "8.4.24",
68
+ "postcss-cli": "10.1.0",
69
69
  "postcss-scss": "4.0.6",
70
70
  "prettier": "2.8.8",
71
71
  "sass": "1.62.1",
@@ -75,6 +75,6 @@
75
75
  "stylelint-order": "5.0.0",
76
76
  "stylelint-prettier": "2.0.0",
77
77
  "svgo": "2.8.0",
78
- "yaml": "2.2.2"
78
+ "yaml": "2.3.1"
79
79
  }
80
80
  }
@@ -26,7 +26,6 @@ $code-inline-padding: 0.25rem;
26
26
  kbd,
27
27
  samp {
28
28
  background-color: $color-code-background;
29
- border-radius: $border-radius;
30
29
  box-decoration-break: slice;
31
30
  color: inherit;
32
31
  line-height: map-get($line-heights, default-text) - $code-inline-padding;
@@ -61,7 +60,7 @@ $code-inline-padding: 0.25rem;
61
60
 
62
61
  pre {
63
62
  background-color: $color-code-background;
64
- color: $color-dark;
63
+ color: $colors--light-theme--text-default;
65
64
  display: block;
66
65
  margin-bottom: $spv--x-large;
67
66
  margin-top: 0;
@@ -7,7 +7,7 @@
7
7
  font-stretch: 100%; /* min and max value for the width axis, expressed as percentage */
8
8
  font-style: normal;
9
9
  font-weight: 100 800; /* min and max value for the weight axis */
10
- src: url('#{$assets-path}15be2ffe-UbuntuBeta0.865[wdth,wght]-latin.woff2') format('woff2-variations');
10
+ src: url('#{$assets-path}f1ea362b-Ubuntu%5Bwdth,wght%5D-latin-v0.896a.woff2') format('woff2-variations');
11
11
  }
12
12
 
13
13
  @font-face {
@@ -15,14 +15,14 @@
15
15
  font-stretch: 100%; /* min and max value for the width axis, expressed as percentage */
16
16
  font-style: italic;
17
17
  font-weight: 100 800; /* min and max value for the weight axis */
18
- src: url('#{$assets-path}a84821f4-UbuntuBeta0.865-Italic[wdth,wght]-latin.woff2') format('woff2-variations');
18
+ src: url('#{$assets-path}90b59210-Ubuntu-Italic%5Bwdth,wght%5D-latin-v0.896a.woff2') format('woff2-variations');
19
19
  }
20
20
 
21
21
  @font-face {
22
22
  font-family: 'Ubuntu Mono variable';
23
23
  font-style: normal;
24
24
  font-weight: 100 800; /* min and max value for the weight axis */
25
- src: url('#{$assets-path}ec568c8f-UbuntuMonoBeta0.865[wght]-latin.woff2') format('woff2-variations');
25
+ src: url('#{$assets-path}d5fc1819-UbuntuMono%5Bwght%5D-latin-v0.869.woff2') format('woff2-variations');
26
26
  }
27
27
 
28
28
  @if $font-allow-cyrillic-greek-latin {
@@ -32,7 +32,7 @@
32
32
  font-stretch: 100%; /* min and max value for the width axis, expressed as percentage */
33
33
  font-style: normal;
34
34
  font-weight: 100 800; /* min and max value for the weight axis */
35
- src: url('#{$assets-path}929e5b64-UbuntuBeta0.865[wdth,wght]-cyrillic-extended.woff2') format('woff2-variations');
35
+ src: url('#{$assets-path}77cd6650-Ubuntu%5Bwdth,wght%5D-cyrillic-extended-v0.896a.woff2') format('woff2-variations');
36
36
  unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
37
37
  }
38
38
 
@@ -42,7 +42,7 @@
42
42
  font-stretch: 100%; /* min and max value for the width axis, expressed as percentage */
43
43
  font-style: normal;
44
44
  font-weight: 100 800; /* min and max value for the weight axis */
45
- src: url('#{$assets-path}ec29c093-UbuntuBeta0.865[wdth,wght]-cyrillic.woff2') format('woff2-variations');
45
+ src: url('#{$assets-path}2702fce5-Ubuntu%5Bwdth,wght%5D-cyrillic-v0.896a.woff2') format('woff2-variations');
46
46
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
47
47
  }
48
48
 
@@ -52,7 +52,7 @@
52
52
  font-stretch: 100%; /* min and max value for the width axis, expressed as percentage */
53
53
  font-style: normal;
54
54
  font-weight: 100 800; /* min and max value for the weight axis */
55
- src: url('#{$assets-path}0a8276a6-UbuntuBeta0.865[wdth,wght]-greek-extended.woff2') format('woff2-variations');
55
+ src: url('#{$assets-path}5c108b7d-Ubuntu%5Bwdth,wght%5D-greek-extended-v0.896a.woff2') format('woff2-variations');
56
56
  unicode-range: U+1F00-1FFF;
57
57
  }
58
58
 
@@ -62,7 +62,7 @@
62
62
  font-stretch: 100%; /* min and max value for the width axis, expressed as percentage */
63
63
  font-style: normal;
64
64
  font-weight: 100 800; /* min and max value for the weight axis */
65
- src: url('#{$assets-path}16acdbb4-UbuntuBeta0.865[wdth,wght]-greek.woff2') format('woff2-variations');
65
+ src: url('#{$assets-path}0a14c405-Ubuntu%5Bwdth,wght%5D-greek-v0.896a.woff2') format('woff2-variations');
66
66
  unicode-range: U+0370-03FF;
67
67
  }
68
68
 
@@ -72,7 +72,7 @@
72
72
  font-stretch: 100%; /* min and max value for the width axis, expressed as percentage */
73
73
  font-style: normal;
74
74
  font-weight: 100 800; /* min and max value for the weight axis */
75
- src: url('#{$assets-path}c81d0142-UbuntuBeta0.865[wdth,wght]-latin-extended.woff2') format('woff2-variations');
75
+ src: url('#{$assets-path}19f68eeb-Ubuntu%5Bwdth,wght%5D-latin-extended-v0.896a.woff2') format('woff2-variations');
76
76
  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
77
77
  }
78
78
  }
@@ -25,13 +25,13 @@
25
25
  border: 0 solid transparent;
26
26
  border-bottom: $input-border-thickness solid $colors--light-theme--text-default;
27
27
  border-radius: 0;
28
- color: $color-dark;
28
+ color: $colors--light-theme--text-default;
29
29
  font-family: unquote($font-base-family);
30
30
  font-size: 1rem;
31
31
  font-weight: $font-weight-regular-text;
32
32
  line-height: map-get($line-heights, default-text);
33
33
  margin-bottom: $input-margin-bottom;
34
- min-width: 10em;
34
+ min-width: 8em;
35
35
  padding-left: $sph--small;
36
36
  padding-right: $sph--small;
37
37
  vertical-align: baseline;
@@ -198,7 +198,7 @@
198
198
  background-repeat: no-repeat;
199
199
  background-size: map-get($icon-sizes, default);
200
200
  box-shadow: none;
201
- color: $color-dark;
201
+ color: $colors--light-theme--text-default;
202
202
  min-height: map-get($line-heights, default-text);
203
203
  padding-right: calc($default-icon-size + 2 * $sph--small);
204
204
  text-indent: 0.01px;
@@ -240,7 +240,6 @@
240
240
  fieldset {
241
241
  @extend %vf-card;
242
242
  @extend %vf-is-bordered;
243
- @extend %vf-has-round-corners;
244
243
 
245
244
  margin-left: 0;
246
245
  margin-right: 0;
@@ -35,10 +35,6 @@
35
35
  @extend %u-no-margin--bottom--hr;
36
36
  }
37
37
 
38
- &.is-muted {
39
- background-color: $colors--light-theme--border-low-contrast;
40
- }
41
-
42
38
  &.is-fixed-width {
43
39
  @extend %fixed-width-hr;
44
40
  }
@@ -67,15 +63,20 @@
67
63
 
68
64
  @mixin vf-hr-theme(
69
65
  // color of the horizontal rule line
70
- $color-hr-line
66
+ $color-hr-line-default,
67
+ $color-hr-line-muted
71
68
  ) {
72
- background: $color-hr-line;
69
+ background: $color-hr-line-default;
70
+
71
+ &.is-muted {
72
+ background-color: $color-hr-line-muted;
73
+ }
73
74
  }
74
75
 
75
76
  @mixin vf-hr-light-theme {
76
- @include vf-hr-theme($colors--light-theme--border-default);
77
+ @include vf-hr-theme($color-hr-line-default: $colors--light-theme--border-default, $color-hr-line-muted: $colors--light-theme--border-low-contrast);
77
78
  }
78
79
 
79
80
  @mixin vf-hr-dark-theme {
80
- @include vf-hr-theme($colors--dark-theme--border-default);
81
+ @include vf-hr-theme($color-hr-line-default: $colors--dark-theme--border-default, $color-hr-line-muted: $colors--dark-theme--border-low-contrast);
81
82
  }
@@ -418,6 +418,10 @@
418
418
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 110 16A8 8 0 018 0zm0 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm2.814 2.45l1.203.897-5.537 7.43-3.485-3.694 1.09-1.03 2.259 2.394 4.47-5.997z' fill='#{vf-url-friendly-color($color)}' fill-rule='nonzero'/%3E%3C/svg%3E");
419
419
  }
420
420
 
421
+ @mixin vf-icon-error-grey($color) {
422
+ background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1.52588e-05C12.4183 1.52588e-05 16 3.58174 16 8.00002C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8.00002C0 3.58174 3.58172 1.52588e-05 8 1.52588e-05ZM10.2821 4.63808L11.3427 5.69874L9.05007 7.99008L11.3427 10.2821L10.2821 11.3427L7.99007 9.05008L5.69873 11.3427L4.63807 10.2821L6.92907 7.99008L4.63807 5.69874L5.69873 4.63808L7.99007 6.92908L10.2821 4.63808ZM1.5 8.00002C1.5 4.41016 4.41015 1.50002 8 1.50002C11.5899 1.50002 14.5 4.41016 14.5 8.00002C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8.00002Z' fill='#{vf-url-friendly-color($color)}' fill-rule='evenodd'/%3E%3C/svg%3E");
423
+ }
424
+
421
425
  @mixin vf-icon-switcher-dashboard($color) {
422
426
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.25 9a.75.75 0 01.75.75v3.5a.75.75 0 01-.75.75h-3.5a.75.75 0 01-.75-.75v-3.5A.75.75 0 012.75 9h3.5zm7 0a.75.75 0 01.75.75v3.5a.75.75 0 01-.75.75h-3.5a.75.75 0 01-.75-.75v-3.5A.75.75 0 019.75 9h3.5zM5.5 10.5h-2v2h2v-2zm7 0h-2v2h2v-2zM6.25 2a.75.75 0 01.75.75v3.5a.75.75 0 01-.75.75h-3.5A.75.75 0 012 6.25v-3.5A.75.75 0 012.75 2h3.5zm7 0a.75.75 0 01.75.75v3.5a.75.75 0 01-.75.75h-3.5A.75.75 0 019 6.25v-3.5A.75.75 0 019.75 2h3.5zM5.5 3.5h-2v2h2v-2zm7 0h-2v2h2v-2z' fill='#{vf-url-friendly-color($color)}' fill-rule='nonzero'/%3E%3C/svg%3E");
423
427
  }
@@ -27,6 +27,14 @@
27
27
  &:visited {
28
28
  color: $color-link-visited;
29
29
  }
30
+
31
+ &.is-dark {
32
+ color: $color-link-dark;
33
+
34
+ &:visited {
35
+ color: $color-link-visited-dark;
36
+ }
37
+ }
30
38
  }
31
39
  // stylelint-enable selector-max-type
32
40
  }
@@ -7,6 +7,8 @@
7
7
  @include vf-b-typography-definitions;
8
8
 
9
9
  // Styling
10
+
11
+ // deprecated, will be removed in future version of Vanilla
10
12
  %vf-has-round-corners {
11
13
  border-radius: $border-radius;
12
14
  }
@@ -25,12 +27,12 @@
25
27
 
26
28
  %vf-bg--light {
27
29
  background-color: $color-light;
28
- color: $color-dark;
30
+ color: $colors--light-theme--text-default;
29
31
  }
30
32
 
31
33
  %vf-bg--x-light {
32
34
  background-color: $color-x-light;
33
- color: $color-dark;
35
+ color: $colors--light-theme--text-default;
34
36
  }
35
37
 
36
38
  %vf-card-padding {
@@ -1,6 +1,14 @@
1
1
  @mixin vf-b-typography-definitions {
2
+ %vf-is-accent {
3
+ &.is-accent {
4
+ color: $color-accent;
5
+ }
6
+ }
7
+
2
8
  //@section Heading styling in placeholders
3
9
  %vf-heading-2 {
10
+ @extend %vf-is-accent;
11
+
4
12
  font-size: #{map-get($font-sizes, h2-mobile)}rem;
5
13
  font-style: normal;
6
14
  font-weight: 180;
@@ -28,6 +36,8 @@
28
36
  }
29
37
 
30
38
  %vf-heading-3 {
39
+ @extend %vf-is-accent;
40
+
31
41
  font-size: #{map-get($font-sizes, h3-mobile)}rem;
32
42
  font-style: normal;
33
43
  font-weight: 550;
@@ -50,6 +60,8 @@
50
60
  }
51
61
 
52
62
  %vf-heading-4 {
63
+ @extend %vf-is-accent;
64
+
53
65
  font-size: #{map-get($font-sizes, h4-mobile)}rem;
54
66
  font-style: normal;
55
67
  font-weight: 275;
@@ -184,11 +196,12 @@
184
196
  %small-caps-text {
185
197
  @extend %default-text;
186
198
  font-variant-caps: all-small-caps;
199
+ font-variant-numeric: oldstyle-nums;
187
200
  letter-spacing: 0.05em;
188
- margin-bottom: map-get($sp-after, default-text) - map-get($nudges, p);
201
+ margin-bottom: map-get($sp-after, p-small-caps) - map-get($nudges, p);
189
202
 
190
203
  &.u-no-margin--bottom {
191
- @extend %u-no-margin--bottom--small;
204
+ @extend %u-no-margin--bottom--default-text;
192
205
  }
193
206
 
194
207
  // deprecated: the use of .u-align-text--x-small-to-default on small caps text is deprecated
@@ -8,7 +8,7 @@
8
8
 
9
9
  // stylelint-disable selector-max-type -- base styles can use type selectors
10
10
  html {
11
- color: $color-dark;
11
+ color: $colors--light-theme--text-default;
12
12
  font-family: unquote($font-base-family);
13
13
  // These vendor prefixes are unique and cannot be added by autoprefixer
14
14
  -moz-osx-font-smoothing: grayscale;
@@ -34,9 +34,9 @@
34
34
  // Test value of bg $color and return light or dark text color accordingly
35
35
  @function vf-contrast-text-color($color) {
36
36
  @if (lightness($color) > 55) {
37
- @return $color-dark; // Lighter background, return dark color
37
+ @return $colors--light-theme--text-default; // Lighter background, return dark color
38
38
  } @else {
39
- @return $color-x-light; // Darker background, return light color
39
+ @return $colors--dark-theme--text-default; // Darker background, return light color
40
40
  }
41
41
  }
42
42
 
@@ -44,9 +44,9 @@
44
44
  // variable.
45
45
  @function vf-determine-text-color($background-color) {
46
46
  @if (lightness($background-color) > 50) {
47
- @return $color-dark;
47
+ @return $colors--light-theme--text-default;
48
48
  } @else {
49
- @return $color-x-light;
49
+ @return $colors--dark-theme--text-default;
50
50
  }
51
51
  }
52
52
 
@@ -17,7 +17,7 @@
17
17
 
18
18
  .p-article-pagination__label,
19
19
  .p-article-pagination__title {
20
- color: $color-dark;
20
+ color: $colors--light-theme--text-default;
21
21
  display: block;
22
22
  margin-top: 0;
23
23
  width: 100%;
@@ -3,7 +3,7 @@
3
3
  @mixin vf-p-badge {
4
4
  %vf-badge {
5
5
  @extend %x-small-text;
6
- background-color: $color-dark;
6
+ background-color: $colors--light-theme--text-default;
7
7
  border-radius: 1rem;
8
8
  box-sizing: content-box;
9
9
  color: $color-x-light;
@@ -12,7 +12,6 @@
12
12
  .p-card {
13
13
  @extend %vf-card;
14
14
  @extend %vf-is-bordered;
15
- @extend %vf-has-round-corners;
16
15
 
17
16
  padding: calc($spv--large - 1px);
18
17
  }
@@ -22,7 +21,6 @@
22
21
  %p-card--highlighted {
23
22
  @extend %vf-card;
24
23
  @extend %vf-has-box-shadow;
25
- @extend %vf-has-round-corners;
26
24
  }
27
25
 
28
26
  .p-card--highlighted {
@@ -33,7 +31,7 @@
33
31
  @mixin vf-p-card-overlay {
34
32
  .p-card--overlay {
35
33
  background: transparentize($color-x-light, 0.1);
36
- color: $color-dark;
34
+ color: $colors--light-theme--text-default;
37
35
  margin-bottom: $spv--x-large;
38
36
  overflow: auto;
39
37
  padding: $spv--large;
@@ -44,7 +42,6 @@
44
42
  .p-card--muted {
45
43
  @extend %vf-bg--light;
46
44
  @extend %vf-has-box-shadow;
47
- @extend %vf-has-round-corners;
48
45
 
49
46
  margin-bottom: $spv--x-large;
50
47
  overflow: auto;
@@ -115,7 +115,7 @@ $code-snippet-header-v-spacing: $spv--small;
115
115
  .p-code-snippet__dropdown {
116
116
  background-color: $color-transparent;
117
117
  border: 0;
118
- color: $color-dark;
118
+ color: $colors--light-theme--text-default;
119
119
  margin-bottom: 0;
120
120
  margin-left: $sph--small;
121
121
  min-width: min-content;
@@ -14,7 +14,6 @@
14
14
  // Dropdown element for contextual menu
15
15
  .p-contextual-menu__dropdown {
16
16
  @extend %vf-has-box-shadow;
17
- @extend %vf-has-round-corners;
18
17
 
19
18
  display: none;
20
19
  margin: 0;
@@ -79,7 +78,6 @@
79
78
  width: 100%;
80
79
 
81
80
  &:hover {
82
- border-radius: $border-radius;
83
81
  text-decoration: none;
84
82
  }
85
83
  }
@@ -18,7 +18,7 @@
18
18
  .p-form-password-toggle + [type='text'] {
19
19
  &[readonly],
20
20
  &[readonly='readonly'] {
21
- color: $color-dark;
21
+ color: $colors--light-theme--text-default;
22
22
  }
23
23
  }
24
24
  }
@@ -21,6 +21,8 @@
21
21
  @include vf-p-icon-copy;
22
22
  @include vf-p-icon-search;
23
23
  @include vf-p-icon-success;
24
+ @include vf-p-icon-success-grey;
25
+ @include vf-p-icon-error-grey;
24
26
  @include vf-p-icon-share;
25
27
  @include vf-p-icon-user;
26
28
  @include vf-p-icon-spinner;
@@ -1359,6 +1361,18 @@
1359
1361
  }
1360
1362
  }
1361
1363
 
1364
+ @mixin vf-p-icon-error-grey {
1365
+ .p-icon--error-grey {
1366
+ @extend %icon;
1367
+ @include vf-icon-error-grey($color-mid-dark);
1368
+
1369
+ [class*='--dark'] &,
1370
+ &.is-light {
1371
+ @include vf-icon-error-grey($color-x-light);
1372
+ }
1373
+ }
1374
+ }
1375
+
1362
1376
  @mixin vf-p-icon-switcher-dashboard {
1363
1377
  .p-icon--switcher-dashboard {
1364
1378
  @extend %icon;
@@ -2,10 +2,10 @@
2
2
 
3
3
  @mixin vf-p-links {
4
4
  .p-link--soft {
5
- color: $color-dark;
5
+ color: $colors--light-theme--text-default;
6
6
 
7
7
  &:visited {
8
- color: $color-dark;
8
+ color: $colors--light-theme--text-default;
9
9
  text-decoration: none;
10
10
  }
11
11
 
@@ -70,7 +70,7 @@
70
70
  }
71
71
 
72
72
  .p-top__link {
73
- color: $color-dark;
73
+ color: $colors--light-theme--text-default;
74
74
  padding: 0 $sph--small 0 $sph--large;
75
75
  text-decoration: none;
76
76
  }
@@ -77,7 +77,7 @@ $list-step-bullet-margin: $sph--x-large;
77
77
  }
78
78
 
79
79
  &::before {
80
- color: $color-dark;
80
+ color: $colors--light-theme--text-default;
81
81
  content: counters(list-item, '.') '. ';
82
82
  display: inline-block;
83
83
  text-align: right;
@@ -86,7 +86,7 @@ $list-step-bullet-margin: $sph--x-large;
86
86
 
87
87
  %vf-list-item-bullet {
88
88
  &::before {
89
- color: $color-dark;
89
+ color: $colors--light-theme--text-default;
90
90
  content: '•';
91
91
  display: inline-block;
92
92
  text-align: right;
@@ -198,7 +198,7 @@ $list-step-bullet-margin: $sph--x-large;
198
198
 
199
199
  &::before {
200
200
  @extend %vf-list-item-state-base;
201
- @include vf-icon-success;
201
+ @include vf-icon-success-grey($color-mid-dark);
202
202
  }
203
203
  }
204
204
 
@@ -207,7 +207,7 @@ $list-step-bullet-margin: $sph--x-large;
207
207
 
208
208
  &::before {
209
209
  @extend %vf-list-item-state-base;
210
- @include vf-icon-error;
210
+ @include vf-icon-error-grey($color-mid-dark);
211
211
  }
212
212
  }
213
213
 
@@ -10,7 +10,7 @@
10
10
  %vf-meta-list-item {
11
11
  @extend %small-text;
12
12
 
13
- color: $color-dark;
13
+ color: $colors--light-theme--text-default;
14
14
  padding-left: map-get($icon-sizes, default) + $sph--large;
15
15
  }
16
16
 
@@ -28,7 +28,6 @@
28
28
 
29
29
  .p-media-object__image {
30
30
  align-self: flex-start;
31
- border-radius: $border-radius;
32
31
  flex-basis: inherit;
33
32
  flex-shrink: 0;
34
33
  margin-right: $sph--large;
@@ -23,7 +23,6 @@
23
23
  .p-modal__dialog {
24
24
  @extend %vf-card;
25
25
  @extend %vf-has-box-shadow;
26
- @extend %vf-has-round-corners;
27
26
 
28
27
  left: $sph--x-large;
29
28
  margin-bottom: 0;
@@ -117,7 +117,8 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
117
117
  }
118
118
  }
119
119
 
120
- .p-navigation {
120
+ .p-navigation,
121
+ .p-navigation--sliding {
121
122
  display: flex;
122
123
  flex-direction: column;
123
124
  flex-shrink: 0;
@@ -244,10 +245,13 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
244
245
  .p-navigation__tagged-logo {
245
246
  display: flex; // to prevent logo link from expanding full width
246
247
  margin-right: 0;
247
- min-width: 13rem;
248
+
249
+ @media (min-width: $breakpoint-navigation-threshold) {
250
+ min-width: 13rem;
251
+ }
248
252
 
249
253
  .p-navigation__logo-tag {
250
- background-color: $color-accent;
254
+ background-color: $color-ubuntu;
251
255
  height: $navigation-logo-tag-height;
252
256
  left: 0;
253
257
  position: absolute;
@@ -499,7 +503,8 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
499
503
  }
500
504
 
501
505
  // when navigation search is expanded
502
- .p-navigation.has-search-open {
506
+ .p-navigation.has-search-open,
507
+ .p-navigation--sliding.has-search-open {
503
508
  // make sure search in navigation renders on top of the overlay
504
509
  .p-navigation__nav {
505
510
  display: flex;
@@ -547,7 +552,6 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
547
552
  .p-navigation__dropdown,
548
553
  .p-navigation__dropdown--right {
549
554
  @extend %vf-has-box-shadow;
550
- @extend %vf-has-round-corners;
551
555
 
552
556
  display: none;
553
557
  margin: 0;
@@ -607,8 +611,8 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
607
611
  }
608
612
  }
609
613
 
610
- .p-navigation__dropdown,
611
- .p-navigation__dropdown--right {
614
+ > .p-navigation__dropdown,
615
+ > .p-navigation__dropdown--right {
612
616
  display: block;
613
617
  }
614
618
  }
@@ -652,21 +656,216 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
652
656
  }
653
657
  }
654
658
 
659
+ @keyframes vf-nav-fade-in {
660
+ from {
661
+ opacity: 0;
662
+ }
663
+ to {
664
+ opacity: 0.5;
665
+ }
666
+ }
667
+
668
+ $sliding-nav-animation-settings: map-get($animation-duration, brisk) ease;
669
+
670
+ .p-navigation--sliding.has-menu-open {
671
+ height: 100vh;
672
+ overflow-y: hidden;
673
+
674
+ @media (min-width: $breakpoint-navigation-threshold) {
675
+ height: auto;
676
+ overflow-y: visible;
677
+ }
678
+
679
+ .p-navigation__banner .p-navigation__items {
680
+ display: flex;
681
+ flex-wrap: nowrap;
682
+
683
+ @media (min-width: $breakpoint-navigation-threshold) {
684
+ display: none;
685
+ }
686
+ }
687
+ .p-navigation__nav {
688
+ display: block;
689
+ height: 100vh;
690
+ overflow-x: hidden;
691
+
692
+ .p-navigation__items {
693
+ display: block;
694
+ }
695
+
696
+ @media (min-width: $breakpoint-navigation-threshold) {
697
+ display: flex;
698
+ height: auto;
699
+ overflow-x: visible;
700
+
701
+ .p-navigation__items {
702
+ display: flex;
703
+ }
704
+ }
705
+ }
706
+
707
+ .p-navigation__items:not(:first-child)::before {
708
+ content: none;
709
+ }
710
+ }
711
+
712
+ /* stylelint-disable max-nesting-depth */
713
+ .p-navigation--sliding .p-navigation__items {
714
+ transition: transform $sliding-nav-animation-settings;
715
+
716
+ &.is-active {
717
+ transform: translateX(-25vw);
718
+ @media (min-width: $breakpoint-navigation-threshold) {
719
+ transform: none;
720
+ }
721
+ .p-navigation__dropdown {
722
+ transform: translateX(25vw);
723
+ @media (min-width: $breakpoint-navigation-threshold) {
724
+ transform: none;
725
+ }
726
+ &[aria-hidden='false'],
727
+ &:not([aria-hidden]) {
728
+ transform: translateX(-75vw);
729
+ @media (min-width: $breakpoint-navigation-threshold) {
730
+ transform: none;
731
+ }
732
+ &.is-active {
733
+ transform: translateX(-100vw);
734
+ @media (min-width: $breakpoint-navigation-threshold) {
735
+ transform: none;
736
+ }
737
+ }
738
+ }
739
+ }
740
+ }
741
+ }
742
+ /* stylelint-enable max-nesting-depth */
743
+
744
+ .p-navigation--sliding .p-navigation__item--dropdown-toggle {
745
+ position: initial;
746
+
747
+ &::after {
748
+ content: none;
749
+ }
750
+
751
+ .p-navigation__link::after {
752
+ background-position: center;
753
+ background-repeat: no-repeat;
754
+ background-size: contain;
755
+ content: '';
756
+ display: block;
757
+ height: $spv--large;
758
+ pointer-events: none;
759
+ position: absolute;
760
+ right: map-get($grid-margin-widths, small);
761
+ text-indent: calc(100% + 10rem);
762
+ top: 1rem;
763
+ transform: rotate(-90deg);
764
+ width: map-get($icon-sizes, default);
765
+ @include vf-icon-chevron($colors--dark-theme--text-default);
766
+
767
+ @media (min-width: $breakpoint-navigation-threshold) {
768
+ right: 0.5rem;
769
+ top: 1.2rem;
770
+ transform: none;
771
+ }
772
+ }
773
+
774
+ &.is-active > .p-navigation__link::after {
775
+ @media (min-width: $breakpoint-navigation-threshold) {
776
+ transform: rotate(180deg);
777
+ }
778
+ }
779
+ }
780
+
781
+ .p-navigation--sliding .p-navigation__item--dropdown-close {
782
+ .p-navigation__link::after {
783
+ left: 1rem;
784
+ transform: rotate(90deg);
785
+ }
786
+ @media (min-width: $breakpoint-navigation-threshold) {
787
+ display: none;
788
+ }
789
+ }
790
+
791
+ /* stylelint-disable max-nesting-depth */
792
+
793
+ .p-navigation--sliding .p-navigation__dropdown {
794
+ display: block;
795
+ height: 100vh;
796
+ left: 100vw;
797
+ position: absolute;
798
+ top: 0;
799
+ transition: transform $sliding-nav-animation-settings;
800
+
801
+ @media (min-width: $breakpoint-navigation-threshold) {
802
+ display: none;
803
+ height: auto;
804
+ left: auto;
805
+ min-width: unset;
806
+ top: unset;
807
+ }
808
+
809
+ &::before {
810
+ box-shadow: -100vw 15px 0 15px black;
811
+ content: '';
812
+ height: 100%;
813
+ opacity: 0;
814
+ position: absolute;
815
+ transition: opacity $sliding-nav-animation-settings;
816
+ width: 100%;
817
+
818
+ @media (min-width: $breakpoint-navigation-threshold) {
819
+ content: none;
820
+ }
821
+ }
822
+
823
+ &[aria-hidden='false'],
824
+ &:not([aria-hidden]) {
825
+ &::before {
826
+ opacity: 0.75;
827
+ }
828
+
829
+ display: block;
830
+ transform: translateX(-75vw);
831
+
832
+ @media (min-width: $breakpoint-navigation-threshold) {
833
+ transform: none;
834
+
835
+ .p-navigation__item--dropdown-close {
836
+ @media (min-width: $breakpoint-navigation-threshold) {
837
+ display: none;
838
+ }
839
+ }
840
+ }
841
+
842
+ &.is-active {
843
+ transform: translateX(-100vw);
844
+ }
845
+ }
846
+ }
847
+
848
+ /* stylelint-enable max-nesting-depth */
849
+
655
850
  // Theming
656
851
  @if ($theme-default-nav == 'dark') {
657
- .p-navigation {
852
+ .p-navigation,
853
+ .p-navigation--sliding {
658
854
  @include vf-navigation-dark-theme;
659
855
  }
660
856
 
661
- .p-navigation.is-light {
857
+ .p-navigation.is-light,
858
+ .p-navigation--sliding.is-light {
662
859
  @include vf-navigation-light-theme;
663
860
  }
664
861
  } @else {
665
- .p-navigation {
862
+ .p-navigation,
863
+ .p-navigation--sliding {
666
864
  @include vf-navigation-light-theme;
667
865
  }
668
866
 
669
- .p-navigation.is-dark {
867
+ .p-navigation.is-dark,
868
+ .p-navigation--sliding.is-dark {
670
869
  @include vf-navigation-dark-theme;
671
870
  }
672
871
  }
@@ -683,7 +882,8 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
683
882
  $color-navigation-background--hover,
684
883
  // color for the navigation highlight bar
685
884
  $color-navigation-highlight,
686
- $color-navigation-icon
885
+ $color-navigation-icon,
886
+ $overlay-target-opacity
687
887
  ) {
688
888
  background-color: $color-navigation-background;
689
889
 
@@ -717,12 +917,25 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
717
917
  &::after {
718
918
  @include vf-icon-chevron($color-navigation-icon);
719
919
  }
920
+ & > .p-navigation__link {
921
+ &::after {
922
+ @include vf-icon-chevron($color-navigation-icon);
923
+ }
924
+ }
720
925
 
721
926
  &.is-active > .p-navigation__link {
722
927
  background-color: $color-navigation-background--active;
723
928
  }
724
929
  }
725
930
 
931
+ .p-navigation__item--dropdown-close {
932
+ & > .p-navigation__link {
933
+ &::after {
934
+ @include vf-icon-chevron($color-navigation-icon);
935
+ }
936
+ }
937
+ }
938
+
726
939
  .p-navigation__toggle--search::after,
727
940
  .p-navigation__item .p-navigation__link--search-toggle::after {
728
941
  @include vf-icon-search($color-navigation-icon);
@@ -752,12 +965,15 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
752
965
 
753
966
  // on mobile expanded nav needs to match pressed color of the buttons
754
967
  &.has-menu-open .p-navigation__nav,
968
+ &.p-navigation:target .p-navigation__nav,
969
+ &.p-navigation:target .p-navigation__dropdown,
755
970
  &.has-search-open .p-navigation__nav {
756
- background-color: $color-navigation-background--active;
971
+ background-color: $color-navigation-background;
972
+ }
757
973
 
758
- @media (min-width: $breakpoint-navigation-threshold) {
759
- background-color: transparent;
760
- }
974
+ .p-navigation__dropdown[aria-hidden='false']::before,
975
+ .p-navigation__dropdown:not([aria-hidden])::before {
976
+ opacity: $overlay-target-opacity;
761
977
  }
762
978
  }
763
979
 
@@ -769,7 +985,8 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
769
985
  $color-navigation-background--active: $colors--light-theme--background-active,
770
986
  $color-navigation-highlight: $colors--light-theme--text-default,
771
987
  $color-navigation-separator: $colors--light-theme--border-low-contrast,
772
- $color-navigation-icon: $colors--light-theme--text-default
988
+ $color-navigation-icon: $colors--light-theme--text-default,
989
+ $overlay-target-opacity: 0.33
773
990
  );
774
991
  }
775
992
 
@@ -778,9 +995,10 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
778
995
  $color-navigation-text: $colors--dark-theme--text-default,
779
996
  $color-navigation-background: $colors--dark-theme--background-default,
780
997
  $color-navigation-background--hover: $colors--dark-theme--background-hover,
781
- $color-navigation-background--active: $colors--dark-theme--background-active,
998
+ $color-navigation-background--active: $colors--dark-theme--background-alt,
782
999
  $color-navigation-highlight: $colors--dark-theme--text-default,
783
1000
  $color-navigation-separator: $colors--dark-theme--border-low-contrast,
784
- $color-navigation-icon: $colors--dark-theme--text-default
1001
+ $color-navigation-icon: $colors--dark-theme--text-default,
1002
+ $overlay-target-opacity: 0.75
785
1003
  );
786
1004
  }
@@ -79,7 +79,6 @@ $notification-text-margin-bottom: $spv--large - $spv-nudge;
79
79
  background-position: $sph--large $notification-icon-vert-offset;
80
80
  background-repeat: no-repeat;
81
81
  background-size: map-get($icon-sizes, default);
82
- border-radius: 0 $border-radius $border-radius 0;
83
82
  margin-bottom: $spv--x-large;
84
83
  padding-bottom: calc($spv--small - 1px);
85
84
  padding-left: $notification-content-icon-space;
@@ -8,7 +8,7 @@
8
8
  &.is-active,
9
9
  &[aria-current='page'] {
10
10
  background-color: scale-color($color-x-light, $lightness: -$active-background-opacity-amount * 100%);
11
- color: $color-dark;
11
+ color: $colors--light-theme--text-default;
12
12
  text-decoration: none;
13
13
  }
14
14
  }
@@ -2,11 +2,28 @@
2
2
 
3
3
  @mixin vf-p-rule {
4
4
  .p-rule,
5
+ .p-rule--muted,
5
6
  .p-rule--highlight {
6
7
  @extend %u-no-margin--bottom--hr;
7
8
  }
8
9
 
10
+ .p-rule--muted {
11
+ background-color: $colors--light-theme--border-low-contrast;
12
+
13
+ &.is-dark {
14
+ background-color: $colors--dark-theme--border-low-contrast;
15
+ }
16
+ }
17
+
9
18
  .p-rule--highlight {
10
- @include vf-highlight-bar($color-dark);
19
+ @include vf-highlight-bar($colors--light-theme--text-default);
20
+
21
+ &.is-dark {
22
+ @include vf-highlight-bar($colors--dark-theme--text-default);
23
+ }
24
+
25
+ &.is-accent {
26
+ @include vf-highlight-bar($color-accent);
27
+ }
11
28
  }
12
29
  }
@@ -73,7 +73,6 @@
73
73
  @include vf-transition(opacity, fast);
74
74
 
75
75
  background-color: $color-x-light;
76
- border-radius: $border-radius;
77
76
  box-shadow: $box-shadow;
78
77
  opacity: 1;
79
78
  padding: $input-vertical-padding $sph--large 0;
@@ -60,7 +60,6 @@
60
60
 
61
61
  border-left-style: solid;
62
62
  border-left-width: 1px;
63
- border-radius: 0 $border-radius $border-radius 0;
64
63
  margin-right: $bar-thickness;
65
64
  }
66
65
  }
@@ -8,7 +8,17 @@
8
8
  }
9
9
  }
10
10
 
11
- .p-block {
11
+ .p-section--deep {
12
+ // same as %section-padding--default
13
+ padding-bottom: $spv--strip-deep * 0.5;
14
+
15
+ @media (min-width: $breakpoint-large) {
16
+ padding-bottom: $spv--strip-deep;
17
+ }
18
+ }
19
+
20
+ .p-block, // deprecated, use .p-section--shallow
21
+ .p-section--shallow {
12
22
  // same as %section-padding--shallow
13
23
  padding-bottom: $spv--x-large;
14
24
  }
@@ -1,7 +1,7 @@
1
1
  @mixin vf-p-segmented-control {
2
2
  .p-segmented-control,
3
3
  // p-tab-buttons is deprecated,
4
- // please use p-segmented-control instead
4
+ // please use p-segmented-control instead
5
5
  .p-tab-buttons {
6
6
  .p-segmented-control__list,
7
7
  .p-tab-buttons__list {
@@ -36,14 +36,6 @@
36
36
  width: $input-border-thickness;
37
37
  }
38
38
  }
39
-
40
- &:first-child {
41
- border-radius: $border-radius 0 0 $border-radius;
42
- }
43
-
44
- &:last-child {
45
- border-radius: 0 $border-radius $border-radius 0;
46
- }
47
39
  }
48
40
 
49
41
  &.is-dense .p-segmented-control__button,
@@ -6,7 +6,6 @@
6
6
  @extend %x-small-text;
7
7
  @extend %u-no-margin--bottom--small;
8
8
 
9
- border-radius: $border-radius;
10
9
  display: inline-block;
11
10
  font-weight: $font-weight-bold;
12
11
  padding: map-get($nudges, x-small) $sph--small;
@@ -36,7 +35,7 @@
36
35
  @extend %vf-status-label;
37
36
 
38
37
  background-color: $color-caution;
39
- color: $color-dark;
38
+ color: $colors--light-theme--text-default;
40
39
  }
41
40
 
42
41
  .p-status-label--information,
@@ -35,8 +35,8 @@
35
35
  .p-strip--dark {
36
36
  @extend %vf-strip;
37
37
 
38
- background-color: $color-dark;
39
- color: $color-light;
38
+ background-color: $colors--dark-theme--background-default;
39
+ color: $colors--dark-theme--text-default;
40
40
  }
41
41
 
42
42
  .p-strip--white {
@@ -64,7 +64,7 @@
64
64
  background-size: cover;
65
65
 
66
66
  &.is-light {
67
- color: $color-dark;
67
+ color: $colors--light-theme--text-default;
68
68
  }
69
69
 
70
70
  &.is-dark {
@@ -45,7 +45,6 @@ $knob-size: $sp-unit * 2;
45
45
  width: $knob-size * 2;
46
46
 
47
47
  &::before {
48
- @extend %vf-has-round-corners;
49
48
  @extend %vf-has-box-shadow;
50
49
  @include vf-transition($duration: slow);
51
50
 
@@ -26,7 +26,6 @@
26
26
 
27
27
  tr {
28
28
  border: $border;
29
- border-radius: $border-radius;
30
29
  display: block;
31
30
  margin-bottom: $spv--x-large;
32
31
  padding: 0 $sph--large;
@@ -36,11 +36,11 @@
36
36
 
37
37
  .p-table-of-contents__link {
38
38
  border-bottom: 0;
39
- color: $color-dark;
39
+ color: $colors--light-theme--text-default;
40
40
  margin-bottom: $sp-x-small;
41
41
 
42
42
  &:visited {
43
- color: $color-dark;
43
+ color: $colors--light-theme--text-default;
44
44
  }
45
45
 
46
46
  &:hover {
@@ -44,7 +44,7 @@
44
44
 
45
45
  align-items: center;
46
46
  border: none;
47
- color: $color-dark;
47
+ color: $colors--light-theme--text-default;
48
48
  display: flex;
49
49
  gap: $sph--small;
50
50
  height: 100%;
@@ -36,7 +36,6 @@ $tooltip-overlay-top-border-radius: 0% 0% 100% 100%;
36
36
 
37
37
  background-color: $color-dark;
38
38
  border: 0;
39
- border-radius: $border-radius;
40
39
  color: $color-x-light;
41
40
  display: none;
42
41
  left: -2 * $triangle-height;
@@ -34,6 +34,9 @@ $color-link: #06c !default;
34
34
  $color-link-visited: #7d42b8 !default;
35
35
  $color-focus: #2e96ff !default;
36
36
 
37
+ $color-link-dark: #69c !default;
38
+ $color-link-visited-dark: #a679d2 !default;
39
+
37
40
  // Focus modifications to meet AA 3:1 contrast ratio against
38
41
  // button background for positive/negative buttons
39
42
  $color-focus-positive: #003008 !default;
@@ -95,7 +98,7 @@ $states: (
95
98
  // --border-low-contrast - low contrast version of border color, to be used when border needs more visibility (separators)
96
99
 
97
100
  // Light theme
98
- $colors--light-theme--text-default: #111 !default;
101
+ $colors--light-theme--text-default: #000 !default;
99
102
  $colors--light-theme--text-muted: rgba($color-x-dark, $muted-text-opacity-amount) !default;
100
103
  $colors--light-theme--text-inactive: rgba($color-x-dark, $inactive-text-opacity-amount) !default;
101
104
 
@@ -106,7 +109,7 @@ $colors--light-theme--background-active: adjust-color($color-x-dark, $lightness:
106
109
  $colors--light-theme--background-hover: adjust-color($color-x-dark, $lightness: 100% * (1 - $hover-background-opacity-amount)) !default;
107
110
  $colors--light-theme--background-overlay: transparentize($color-dark, 0.15) !default;
108
111
 
109
- $colors--light-theme--border-default: rgba($color-x-dark, 0.15) !default;
112
+ $colors--light-theme--border-default: rgba($color-x-dark, 0.2) !default;
110
113
  $colors--light-theme--border-high-contrast: rgba($color-x-dark, 0.56) !default;
111
114
  $colors--light-theme--border-low-contrast: rgba($color-x-dark, 0.1) !default;
112
115
 
@@ -152,15 +155,15 @@ $colors--dark-theme--text-hover: hsl(0, 0%, 76%) !default; // minimum contrast o
152
155
  $colors--dark-theme--text-muted: rgba($colors--dark-theme--text-default, $muted-text-opacity-amount) !default;
153
156
  $colors--dark-theme--text-inactive: rgba($colors--dark-theme--text-default, $inactive-text-opacity-amount) !default;
154
157
 
155
- $colors--dark-theme--background-default: hsl(0, 0%, 15%) !default;
156
- $colors--dark-theme--background-alt: hsl(0, 0%, 20%) !default;
158
+ $colors--dark-theme--background-default: #262626 !default;
159
+ $colors--dark-theme--background-alt: #2d2d2d !default;
157
160
  $colors--dark-theme--background-active: rgba($colors--dark-theme--text-default, $active-background-opacity-amount) !default;
158
161
  $colors--dark-theme--background-hover: rgba($colors--dark-theme--text-default, $hover-background-opacity-amount) !default;
159
162
  $colors--dark-theme--background-overlay: transparentize($color-dark, 0.15) !default;
160
163
 
161
- $colors--dark-theme--border-default: rgba($colors--dark-theme--text-default, 0.2) !default;
162
- $colors--dark-theme--border-high-contrast: hsl(0deg 0% 60%) !default;
163
- $colors--dark-theme--border-low-contrast: rgba($colors--dark-theme--text-default, 0.1) !default;
164
+ $colors--dark-theme--border-default: rgba($colors--dark-theme--text-default, 0.3) !default;
165
+ $colors--dark-theme--border-high-contrast: rgba($colors--dark-theme--text-default, 0.5) !default;
166
+ $colors--dark-theme--border-low-contrast: rgba($colors--dark-theme--text-default, 0.05) !default;
164
167
 
165
168
  $colors-dark-theme--tinted-backgrounds: (
166
169
  neutral: (
@@ -204,8 +207,8 @@ $colors--paper-theme--background-active: rgba($color-x-dark, $active-background-
204
207
  $colors--paper-theme--background-hover: rgba($color-x-dark, $hover-background-opacity-amount) !default;
205
208
 
206
209
  // Branding colors
207
- $color-brand: #333 !default;
210
+ $color-ubuntu: #e95420; // Ubuntu orange, should not be overridden
211
+ $color-brand: $color-ubuntu !default;
208
212
  $color-brand-dark: $color-brand !default;
209
- $color-brand-background: $colors--dark-theme--background-default;
210
- $color-accent: #e95420 !default;
211
- $color-accent-background: $color-brand !default;
213
+ $color-accent: #0f95a1 !default;
214
+ $color-accent-background: $colors--dark-theme--background-default !default; // changed from "brand" colour to dark theme background
@@ -4,7 +4,7 @@
4
4
  // Global placeholder settings
5
5
  $input-border-thickness: 1.5px;
6
6
  $bar-thickness: 0.1875rem !default; // 3px at 16px fontsize, expressed in rems so it scales with text if the root font-size changes at a breakpoint
7
- $border-radius: $sp-unit * 0.25 !default;
7
+ $border-radius: 0; // deprecated, will be removed in future version of Vanilla
8
8
  $border: $input-border-thickness solid $color-mid-light !default;
9
9
  $box-shadow: 0 1px 1px 0 transparentize($color-x-dark, 0.85), 0 2px 2px -1px transparentize($color-x-dark, 0.85), 0 0 3px 0 transparentize($color-x-dark, 0.8) !default;
10
10
  $box-shadow--deep: 0 0 2rem 0 rgba($color-x-dark, $shadow-opacity) !default;
@@ -97,6 +97,7 @@ $sp-after: (
97
97
  h4: $spv--x-large,
98
98
  h4-mobile: $spv--x-large,
99
99
  p: $spv--x-large,
100
+ p-small-caps: $spv--large,
100
101
  p-dense: $spv--large,
101
102
  default-text: $sp-unit,
102
103
  small: $spv--large,
@@ -0,0 +1,8 @@
1
+ @import 'settings';
2
+
3
+ // Force a parent to clear floated children
4
+ @mixin vf-u-text-figures {
5
+ .u-text-figures {
6
+ font-variant-numeric: oldstyle-nums !important;
7
+ }
8
+ }
@@ -0,0 +1,14 @@
1
+ @import 'settings';
2
+
3
+ // Force child text elements (such as list items) to use text max width
4
+ @mixin vf-u-text-max-width {
5
+ // currently we only need this on list items, as paragraphs and headings have max width by default
6
+
7
+ // stylelint-disable selector-max-type -- Utility needs to target elements
8
+ ul.u-text-max-width,
9
+ ol.u-text-max-width,
10
+ .u-text-max-width ul,
11
+ .u-text-max-width ol {
12
+ max-width: $text-max-width !important;
13
+ }
14
+ }
@@ -1,4 +1,8 @@
1
1
  @mixin vf-u-vertical-spacing($start: -3, $end: 3) {
2
+ // FIXME
3
+ // this utility works only on elements that don't have borders or backgrounds
4
+ // by adding an ::after pseudo-element it extends the inside of the element
5
+ // rather than modyfing the space after it
2
6
  %u-vertical-spacer {
3
7
  content: '';
4
8
  display: block;
@@ -83,6 +83,8 @@
83
83
  @import 'utilities_vertical-spacing';
84
84
  @import 'utilities_vertically-center';
85
85
  @import 'utilities_no-print';
86
+ @import 'utilities_text-max-width';
87
+ @import 'utilities_text-figures';
86
88
 
87
89
  // Include all the CSS
88
90
  @mixin vanilla {
@@ -170,4 +172,6 @@
170
172
  @include vf-u-show;
171
173
  @include vf-u-visualise-baseline;
172
174
  @include vf-u-no-print;
175
+ @include vf-u-text-max-width;
176
+ @include vf-u-text-figures;
173
177
  }