vanilla-framework 4.14.0 → 4.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +19 -16
- package/scss/_base_button.scss +1 -1
- package/scss/_base_details.scss +1 -1
- package/scss/_base_forms.scss +8 -7
- package/scss/_base_hr.scss +2 -3
- package/scss/_base_icon-definitions.scss +29 -0
- package/scss/_base_links.scss +1 -1
- package/scss/_base_placeholders.scss +3 -3
- package/scss/_base_typography-definitions.scss +1 -1
- package/scss/_global_functions.scss +17 -5
- package/scss/_layouts_application-panels.scss +3 -12
- package/scss/_layouts_application.scss +2 -2
- package/scss/_layouts_fluid-breakout.scss +2 -2
- package/scss/_patterns_accordion.scss +1 -1
- package/scss/_patterns_article-pagination.scss +4 -5
- package/scss/_patterns_buttons.scss +1 -1
- package/scss/_patterns_chip.scss +8 -9
- package/scss/_patterns_code-snippet.scss +1 -1
- package/scss/_patterns_contextual-menu.scss +1 -1
- package/scss/_patterns_cta.scss +27 -0
- package/scss/_patterns_equal-height-row.scss +87 -43
- package/scss/_patterns_grid.scss +74 -2
- package/scss/_patterns_icons.scss +10 -8
- package/scss/_patterns_image.scss +53 -15
- package/scss/_patterns_links.scss +1 -1
- package/scss/_patterns_list-tree.scss +49 -43
- package/scss/_patterns_lists.scss +58 -17
- package/scss/_patterns_logo-section.scss +4 -42
- package/scss/_patterns_matrix.scss +2 -2
- package/scss/_patterns_navigation-reduced.scss +50 -14
- package/scss/_patterns_navigation.scss +119 -36
- package/scss/_patterns_pull-quotes.scss +1 -1
- package/scss/_patterns_rule.scss +6 -2
- package/scss/_patterns_search-and-filter.scss +11 -12
- package/scss/_patterns_separator.scss +1 -0
- package/scss/_patterns_side-navigation.scss +1 -1
- package/scss/_patterns_status-label.scss +5 -0
- package/scss/_patterns_table-mobile-card.scss +1 -1
- package/scss/_patterns_tooltips.scss +26 -8
- package/scss/_settings_breakpoints.scss +16 -0
- package/scss/_settings_colors.scss +17 -8
- package/scss/_utilities_floats.scss +6 -6
- package/scss/_utilities_hide.scss +9 -9
- package/scss/_utilities_show.scss +3 -3
- package/scss/_vanilla.scss +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vanilla-framework",
|
|
3
|
-
"version": "4.
|
|
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-
|
|
33
|
-
"build
|
|
34
|
-
"build
|
|
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.
|
|
61
|
+
"@percy/cli": "1.29.3",
|
|
61
62
|
"@testing-library/cypress": "10.0.2",
|
|
62
|
-
"autoprefixer": "10.4.
|
|
63
|
-
"cypress": "13.
|
|
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.
|
|
69
|
+
"postcss": "8.4.44",
|
|
68
70
|
"postcss-cli": "11.0.0",
|
|
69
71
|
"postcss-scss": "4.0.9",
|
|
70
|
-
"prettier": "3.3.
|
|
71
|
-
"sass": "1.77.
|
|
72
|
-
"
|
|
73
|
-
"stylelint
|
|
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.
|
|
78
|
+
"stylelint-prettier": "5.0.2",
|
|
76
79
|
"svgo": "3.3.2",
|
|
77
|
-
"yaml": "2.
|
|
80
|
+
"yaml": "2.5.0"
|
|
78
81
|
}
|
|
79
82
|
}
|
package/scss/_base_button.scss
CHANGED
package/scss/_base_details.scss
CHANGED
package/scss/_base_forms.scss
CHANGED
|
@@ -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
|
}
|
package/scss/_base_hr.scss
CHANGED
|
@@ -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");
|
package/scss/_base_links.scss
CHANGED
|
@@ -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%;
|
|
@@ -60,16 +60,22 @@
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
// Adds visual focus to elements on :focus-visible
|
|
64
|
-
//
|
|
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
|
|
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
|
|
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--
|
|
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;
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
grid-column: 2 / -1;
|
|
150
150
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
151
151
|
|
|
152
|
-
@media (
|
|
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 (
|
|
166
|
+
@media (width < $threshold-4-6-col) {
|
|
167
167
|
justify-content: flex-start;
|
|
168
168
|
}
|
|
169
169
|
}
|
|
@@ -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 (
|
|
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 (
|
|
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
|
|
package/scss/_patterns_chip.scss
CHANGED
|
@@ -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 - $
|
|
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($
|
|
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: $
|
|
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: $
|
|
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: $
|
|
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: $
|
|
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: $
|
|
228
|
+
border: $input-border-thickness solid $colors--theme--border-information;
|
|
230
229
|
border-color: $colors--theme--border-information;
|
|
231
230
|
}
|
|
232
231
|
|
|
@@ -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
|
+
}
|