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.
Files changed (45) hide show
  1. package/package.json +19 -16
  2. package/scss/_base_button.scss +1 -1
  3. package/scss/_base_details.scss +1 -1
  4. package/scss/_base_forms.scss +8 -7
  5. package/scss/_base_hr.scss +2 -3
  6. package/scss/_base_icon-definitions.scss +29 -0
  7. package/scss/_base_links.scss +1 -1
  8. package/scss/_base_placeholders.scss +3 -3
  9. package/scss/_base_typography-definitions.scss +1 -1
  10. package/scss/_global_functions.scss +17 -5
  11. package/scss/_layouts_application-panels.scss +3 -12
  12. package/scss/_layouts_application.scss +2 -2
  13. package/scss/_layouts_fluid-breakout.scss +2 -2
  14. package/scss/_patterns_accordion.scss +1 -1
  15. package/scss/_patterns_article-pagination.scss +4 -5
  16. package/scss/_patterns_buttons.scss +1 -1
  17. package/scss/_patterns_chip.scss +8 -9
  18. package/scss/_patterns_code-snippet.scss +1 -1
  19. package/scss/_patterns_contextual-menu.scss +1 -1
  20. package/scss/_patterns_cta.scss +27 -0
  21. package/scss/_patterns_equal-height-row.scss +87 -43
  22. package/scss/_patterns_grid.scss +74 -2
  23. package/scss/_patterns_icons.scss +10 -8
  24. package/scss/_patterns_image.scss +53 -15
  25. package/scss/_patterns_links.scss +1 -1
  26. package/scss/_patterns_list-tree.scss +49 -43
  27. package/scss/_patterns_lists.scss +58 -17
  28. package/scss/_patterns_logo-section.scss +4 -42
  29. package/scss/_patterns_matrix.scss +2 -2
  30. package/scss/_patterns_navigation-reduced.scss +50 -14
  31. package/scss/_patterns_navigation.scss +119 -36
  32. package/scss/_patterns_pull-quotes.scss +1 -1
  33. package/scss/_patterns_rule.scss +6 -2
  34. package/scss/_patterns_search-and-filter.scss +11 -12
  35. package/scss/_patterns_separator.scss +1 -0
  36. package/scss/_patterns_side-navigation.scss +1 -1
  37. package/scss/_patterns_status-label.scss +5 -0
  38. package/scss/_patterns_table-mobile-card.scss +1 -1
  39. package/scss/_patterns_tooltips.scss +26 -8
  40. package/scss/_settings_breakpoints.scss +16 -0
  41. package/scss/_settings_colors.scss +17 -8
  42. package/scss/_utilities_floats.scss +6 -6
  43. package/scss/_utilities_hide.scss +9 -9
  44. package/scss/_utilities_show.scss +3 -3
  45. package/scss/_vanilla.scss +2 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vanilla-framework",
3
- "version": "4.14.0",
3
+ "version": "4.16.0",
4
4
  "author": {
5
5
  "email": "webteam@canonical.com",
6
6
  "name": "Canonical Webteam"
@@ -29,9 +29,10 @@
29
29
  "scripts": {
30
30
  "start": "yarn build && yarn serve",
31
31
  "build": "yarn build-scss && yarn build-js && yarn build-class-references",
32
- "build-scss": "sass --load-path=node_modules --embed-sources --style=compressed scss:build/css && postcss --use autoprefixer --replace 'build/css/**/*.css' --map",
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",
32
+ "build-tokens": "((style-dictionary build --verbose --config ./sd.config.json) || true)",
33
+ "build-scss": "yarn build-tokens && sass --load-path=node_modules --embed-sources --style=compressed --silence-deprecation=mixed-decls scss:build/css && postcss --use autoprefixer --replace 'build/css/**/*.css' --map",
34
+ "build:essential": "yarn run build-js && sass --load-path=node_modules --embed-sources --style=compressed --silence-deprecation=mixed-decls scss/build.scss:build/css/build.css scss/docs:build/css/docs && postcss --use autoprefixer --replace 'build/css/**/*.css' --map",
35
+ "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
36
  "build-class-references": "node scripts/create-class-references.js",
36
37
  "cypress:open": "cypress open",
37
38
  "cypress:run": "cypress run",
@@ -41,8 +42,8 @@
41
42
  "test": "yarn lint-scss && yarn lint-prettier && yarn test-spelling && yarn test-scss && yarn jest",
42
43
  "lint-prettier": "prettier -c .",
43
44
  "lint-scss": "stylelint 'scss/**/*.scss'",
44
- "watch:scss": "sass --load-path=node_modules --embed-sources --style=compressed scss:build/css --watch",
45
- "watch:essential": "sass --load-path=node_modules --embed-sources --style=compressed scss/build.scss:build/css/build.css --watch",
45
+ "watch:scss": "sass --load-path=node_modules --embed-sources --style=compressed --silence-deprecation=mixed-decls scss:build/css --watch",
46
+ "watch:essential": "sass --load-path=node_modules --embed-sources --style=compressed --silence-deprecation=mixed-decls scss/build.scss:build/css/build.css --watch",
46
47
  "watch": "yarn build && yarn watch:scss",
47
48
  "clean": "rm -rf build docs/static/css node_modules/ yarn-error.log",
48
49
  "percy": "percy snapshot snapshots.js",
@@ -57,23 +58,25 @@
57
58
  "devDependencies": {
58
59
  "@canonical/cookie-policy": "3.6.4",
59
60
  "@canonical/latest-news": "1.5.0",
60
- "@percy/cli": "1.28.7",
61
+ "@percy/cli": "1.29.3",
61
62
  "@testing-library/cypress": "10.0.2",
62
- "autoprefixer": "10.4.19",
63
- "cypress": "13.10.0",
63
+ "autoprefixer": "10.4.20",
64
+ "cypress": "13.14.1",
64
65
  "jest": "29.7.0",
66
+ "js-beautify": "1.15.1",
65
67
  "markdown-spellcheck": "1.3.1",
66
68
  "parker": "0.0.10",
67
- "postcss": "8.4.38",
69
+ "postcss": "8.4.44",
68
70
  "postcss-cli": "11.0.0",
69
71
  "postcss-scss": "4.0.9",
70
- "prettier": "3.3.0",
71
- "sass": "1.77.4",
72
- "stylelint": "16.6.1",
73
- "stylelint-config-recommended-scss": "14.0.0",
72
+ "prettier": "3.3.3",
73
+ "sass": "1.77.8",
74
+ "style-dictionary": "4.1.0",
75
+ "stylelint": "16.9.0",
76
+ "stylelint-config-recommended-scss": "14.1.0",
74
77
  "stylelint-order": "6.0.4",
75
- "stylelint-prettier": "5.0.0",
78
+ "stylelint-prettier": "5.0.2",
76
79
  "svgo": "3.3.2",
77
- "yaml": "2.4.3"
80
+ "yaml": "2.5.0"
78
81
  }
79
82
  }
@@ -15,7 +15,7 @@
15
15
 
16
16
  %vf-button-base {
17
17
  @include vf-transition(#{background-color, border-color}, snap, in);
18
- @include vf-focus;
18
+ @include vf-focus-themed;
19
19
 
20
20
  border-style: solid;
21
21
  border-width: $input-border-thickness;
@@ -7,7 +7,7 @@
7
7
 
8
8
  summary {
9
9
  @extend %common-default-text-properties;
10
- @include vf-focus;
10
+ @include vf-focus-themed;
11
11
 
12
12
  margin-bottom: $spv-nudge; //push subsequent text onto baseline
13
13
  max-width: $text-max-width;
@@ -13,7 +13,7 @@
13
13
  // Default form input element styles
14
14
  %vf-input-elements {
15
15
  @extend %bordered-text-vertical-padding;
16
- @include vf-focus($has-validation: true);
16
+ @include vf-focus-themed($has-validation: true);
17
17
  @include vf-animation(#{background-color}, fast);
18
18
 
19
19
  // stylelint-disable property-no-vendor-prefix
@@ -145,7 +145,7 @@
145
145
 
146
146
  [type='file'] {
147
147
  @extend %bordered-text-vertical-padding;
148
- @include vf-focus;
148
+ @include vf-focus-themed;
149
149
 
150
150
  margin-bottom: $input-margin-bottom;
151
151
  width: 100%;
@@ -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] {
@@ -230,5 +225,11 @@
230
225
  margin-right: 0;
231
226
  padding: calc($spv--large - $input-border-thickness);
232
227
  }
228
+
229
+ legend {
230
+ &.is-required::before {
231
+ content: '* ';
232
+ }
233
+ }
233
234
  // stylelint-enable selector-max-type
234
235
  }
@@ -27,10 +27,8 @@
27
27
  // stylelint-disable selector-max-type -- base styles can use type selectors
28
28
  hr {
29
29
  @extend %hr;
30
- background: $colors--theme--border-default;
31
-
32
- margin-bottom: calc($spv--small - 1px);
33
30
 
31
+ // DEPRECATED: use `.p-rule--muted` instead
34
32
  &.is-muted {
35
33
  background-color: $colors--theme--border-low-contrast;
36
34
  }
@@ -40,6 +38,7 @@
40
38
  @extend %u-no-margin--bottom--hr;
41
39
  }
42
40
 
41
+ // DEPRECATED: use rule component inside of the grid instead
43
42
  &.is-fixed-width {
44
43
  @extend %fixed-width-hr;
45
44
  }
@@ -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");
@@ -8,7 +8,7 @@
8
8
  }
9
9
 
10
10
  %vf-link-base {
11
- @include vf-focus;
11
+ @include vf-focus-themed;
12
12
 
13
13
  color: $colors--theme--link-default;
14
14
  text-decoration: none;
@@ -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
@@ -100,8 +98,10 @@
100
98
  }
101
99
 
102
100
  %hr {
101
+ background: $colors--theme--border-default;
103
102
  border: 0;
104
103
  height: 1px;
104
+ margin-bottom: calc($spv--small - 1px);
105
105
  margin-top: 0;
106
106
  position: relative;
107
107
  width: 100%;
@@ -1,7 +1,7 @@
1
1
  @mixin vf-b-typography-definitions {
2
2
  %vf-is-accent {
3
3
  &.is-accent {
4
- color: $color-accent;
4
+ color: $colors--theme--accent;
5
5
  }
6
6
  }
7
7
 
@@ -60,16 +60,22 @@
60
60
  }
61
61
  }
62
62
 
63
- // Adds visual focus to elements on :focus-visible,
64
- // or :focus if the browser doesn't support the former
65
- @mixin vf-focus($color: $colors--theme--focus, $width: $bar-thickness, $has-validation: false) {
63
+ // Adds visual focus to elements on :focus-visible or :focus if the browser
64
+ // doesn't support the former
65
+ @mixin vf-focus-themed($light-color: $colors--light-theme--focus, $dark-color: $colors--dark-theme--focus, $width: $bar-thickness, $has-validation: false) {
66
+ --vf-focus-outline-color: #{$light-color};
67
+
68
+ .is-dark & {
69
+ --vf-focus-outline-color: #{$dark-color};
70
+ }
71
+
66
72
  &:focus {
67
- outline: $width solid $color;
73
+ outline: $width solid var(--vf-focus-outline-color);
68
74
  outline-offset: -#{$width};
69
75
  }
70
76
 
71
77
  &:focus-visible {
72
- outline: $width solid $color;
78
+ outline: $width solid var(--vf-focus-outline-color);
73
79
  outline-offset: -#{$width};
74
80
  }
75
81
 
@@ -93,6 +99,12 @@
93
99
  }
94
100
  }
95
101
 
102
+ // This mixin is deprecated and will be removed in a future version of Vanilla.
103
+ // Please use vf-focus-themed instead.
104
+ @mixin vf-focus($color: $colors--theme--focus, $width: $bar-thickness, $has-validation: false) {
105
+ @include vf-focus-themed($light-color: $color, $width: $width, $has-validation: $has-validation);
106
+ }
107
+
96
108
  // Raises a number to a power (https://css-tricks.com/snippets/sass/power-function/)
97
109
  @function pow($number, $exponent) {
98
110
  $value: 1;
@@ -1,14 +1,9 @@
1
1
  @mixin vf-l-application-panels {
2
2
  .p-panel {
3
- background: $colors--light-theme--background-default;
4
- color: $colors--light-theme--text-default;
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--light-theme--background-default;
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--light-theme--border-low-contrast;
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--light-theme--border-low-contrast;
268
+ border-left: 1px solid $colors--theme--border-default;
269
269
  box-shadow: none;
270
270
  grid-area: aside;
271
271
  justify-self: auto;
@@ -149,7 +149,7 @@
149
149
  grid-column: 2 / -1;
150
150
  grid-template-columns: repeat(2, minmax(0, 1fr));
151
151
 
152
- @media (max-width: $threshold-4-6-col - 1) {
152
+ @media (width < $threshold-4-6-col) {
153
153
  grid-template-columns: repeat(1, minmax(0, 1fr));
154
154
  width: $l-fluid-breakout-main-child-width;
155
155
  }
@@ -163,7 +163,7 @@
163
163
  &:nth-child(2) {
164
164
  justify-content: flex-end;
165
165
 
166
- @media (max-width: $threshold-4-6-col - 1) {
166
+ @media (width < $threshold-4-6-col) {
167
167
  justify-content: flex-start;
168
168
  }
169
169
  }
@@ -17,7 +17,7 @@
17
17
 
18
18
  .p-accordion__tab {
19
19
  @extend %single-border-text-vpadding--scaling;
20
- @include vf-focus;
20
+ @include vf-focus-themed;
21
21
 
22
22
  background-color: inherit;
23
23
  border: 0;
@@ -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;
@@ -56,7 +55,7 @@
56
55
  padding-left: $sp-xx-large;
57
56
  text-align: left;
58
57
 
59
- @media (max-width: $breakpoint-x-small - 1) {
58
+ @media (width < $breakpoint-x-small) {
60
59
  margin-right: 0;
61
60
  width: auto;
62
61
 
@@ -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
 
@@ -85,7 +84,7 @@
85
84
  padding-right: $sp-xx-large;
86
85
  text-align: right;
87
86
 
88
- @media (max-width: $breakpoint-x-small - 1) {
87
+ @media (width < $breakpoint-x-small) {
89
88
  width: 100%;
90
89
  }
91
90
 
@@ -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
  }
@@ -80,7 +80,7 @@
80
80
  $button-disabled-border-color: $colors--theme--button-positive-default,
81
81
  $button-text-color: $colors--theme--button-positive-text
82
82
  );
83
- @include vf-focus($color-focus-positive);
83
+ @include vf-focus-themed($light-color: $color-focus-positive);
84
84
  }
85
85
  }
86
86
 
@@ -1,22 +1,21 @@
1
1
  @use 'sass:math';
2
2
  @import 'settings';
3
- $chip-border-thickness: 1px;
4
3
 
5
4
  @mixin vf-p-chip {
6
5
  %vf-chip {
7
6
  @extend %small-text;
8
7
  @include vf-transition(#{background-color, border-color}, snap, out);
9
- @include vf-focus;
8
+ @include vf-focus-themed;
10
9
 
11
10
  align-items: baseline;
12
11
  border-radius: 1rem;
13
12
  display: inline-flex;
14
13
  margin: 0 $sph--small $input-margin-bottom 0;
15
14
  max-width: 100%;
16
- padding: calc($spv--x-small - $chip-border-thickness) $sph--small; // account for border thickness using calc
15
+ padding: calc($spv--x-small - $input-border-thickness) $sph--small; // account for border thickness using calc
17
16
  position: relative;
18
17
  user-select: none;
19
- vertical-align: calc($chip-border-thickness - map-get($nudges, p));
18
+ vertical-align: calc($input-border-thickness - map-get($nudges, p));
20
19
  white-space: nowrap;
21
20
 
22
21
  .p-chip__lead,
@@ -78,7 +77,7 @@ $chip-border-thickness: 1px;
78
77
  @extend %vf-chip;
79
78
 
80
79
  background-color: $colors--theme--background-neutral-default;
81
- border: $chip-border-thickness solid $colors--theme--border-neutral;
80
+ border: $input-border-thickness solid $colors--theme--border-neutral;
82
81
  border-color: $colors--theme--border-neutral;
83
82
  }
84
83
 
@@ -115,7 +114,7 @@ $chip-border-thickness: 1px;
115
114
  @extend %vf-chip;
116
115
 
117
116
  background-color: $colors--theme--background-positive-default;
118
- border: $chip-border-thickness solid $colors--theme--border-positive;
117
+ border: $input-border-thickness solid $colors--theme--border-positive;
119
118
  border-color: $colors--theme--border-positive;
120
119
  }
121
120
 
@@ -152,7 +151,7 @@ $chip-border-thickness: 1px;
152
151
  @extend %vf-chip;
153
152
 
154
153
  background-color: $colors--theme--background-caution-default;
155
- border: $chip-border-thickness solid $colors--theme--border-caution;
154
+ border: $input-border-thickness solid $colors--theme--border-caution;
156
155
  border-color: $colors--theme--border-caution;
157
156
  }
158
157
 
@@ -189,7 +188,7 @@ $chip-border-thickness: 1px;
189
188
  @extend %vf-chip;
190
189
 
191
190
  background-color: $colors--theme--background-negative-default;
192
- border: $chip-border-thickness solid $colors--theme--border-negative;
191
+ border: $input-border-thickness solid $colors--theme--border-negative;
193
192
  border-color: $colors--theme--border-negative;
194
193
  }
195
194
 
@@ -226,7 +225,7 @@ $chip-border-thickness: 1px;
226
225
  @extend %vf-chip;
227
226
 
228
227
  background-color: $colors--theme--background-information-default;
229
- border: $chip-border-thickness solid $colors--theme--border-information;
228
+ border: $input-border-thickness solid $colors--theme--border-information;
230
229
  border-color: $colors--theme--border-information;
231
230
  }
232
231
 
@@ -9,7 +9,7 @@
9
9
 
10
10
  Code block:
11
11
  .p-code-snippet__block:
12
- Code block without any additonal styling elements.
12
+ Code block without any additional styling elements.
13
13
  "&.is-wrapped":
14
14
  Code block with wrapped content in lines.
15
15
  .p-code-snippet__block--icon:
@@ -66,7 +66,7 @@
66
66
  }
67
67
 
68
68
  .p-contextual-menu__link {
69
- @include vf-focus;
69
+ @include vf-focus-themed;
70
70
 
71
71
  border: 0;
72
72
  clear: both;
@@ -0,0 +1,27 @@
1
+ /*
2
+ @classreference
3
+ cta-block:
4
+ CTA Block:
5
+ .p-cta-block:
6
+ Main element of the CTA block.
7
+ "&.is-borderless":
8
+ Borderless variant, to be used to hide top border and padding.
9
+ */
10
+
11
+ @import 'settings';
12
+
13
+ @mixin vf-p-cta-block {
14
+ .p-cta-block {
15
+ align-items: baseline;
16
+ border-top: 1px solid $colors--theme--border-low-contrast;
17
+ display: flex;
18
+ flex-wrap: wrap;
19
+ padding-bottom: $spv--x-large;
20
+ padding-top: $spv--small;
21
+
22
+ &.is-borderless {
23
+ border: none;
24
+ padding-top: 0;
25
+ }
26
+ }
27
+ }