@skyscanner/backpack-web 38.21.0 → 39.0.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/bpk-component-skeleton/index.d.ts +1 -1
- package/bpk-component-skeleton/index.js +1 -1
- package/bpk-component-skeleton/src/BpkSkeleton.js +3 -2
- package/bpk-component-skeleton/src/BpkSkeleton.module.css +1 -1
- package/bpk-component-skeleton/src/common-types.d.ts +7 -0
- package/bpk-component-skeleton/src/common-types.js +4 -0
- package/bpk-mixins/_badges-v2.scss +37 -36
- package/bpk-mixins/_badges.scss +37 -36
- package/bpk-mixins/_borders.scss +16 -16
- package/bpk-mixins/_breakpoints.scss +11 -11
- package/bpk-mixins/_buttons.scss +141 -137
- package/bpk-mixins/_cards.scss +13 -13
- package/bpk-mixins/_chips.scss +66 -66
- package/bpk-mixins/_forms.scss +214 -202
- package/bpk-mixins/_icons.scss +7 -4
- package/bpk-mixins/_index.scss +19 -19
- package/bpk-mixins/_layers.scss +34 -34
- package/bpk-mixins/_margins.scss +3 -3
- package/bpk-mixins/_panels.scss +9 -9
- package/bpk-mixins/_radii.scss +6 -6
- package/bpk-mixins/_scroll-indicators.scss +2 -2
- package/bpk-mixins/_shadows.scss +4 -4
- package/bpk-mixins/_spinners.scss +10 -10
- package/bpk-mixins/_tokens.scss +1 -3
- package/bpk-mixins/_typography.scss +204 -195
- package/bpk-mixins/_utils.scss +17 -12
- package/bpk-stylesheets/index.scss +13 -14
- package/bpk-stylesheets/normalize.css +18 -422
- package/bpk-stylesheets/normalize.scss +422 -0
- package/package.json +2 -6
- package/unstable__bpk-mixins/_badges-v2.scss +0 -240
- package/unstable__bpk-mixins/_badges.scss +0 -240
- package/unstable__bpk-mixins/_borders.scss +0 -268
- package/unstable__bpk-mixins/_breakpoints.scss +0 -221
- package/unstable__bpk-mixins/_buttons.scss +0 -587
- package/unstable__bpk-mixins/_cards.scss +0 -94
- package/unstable__bpk-mixins/_chips.scss +0 -249
- package/unstable__bpk-mixins/_forms.scss +0 -1045
- package/unstable__bpk-mixins/_icons.scss +0 -88
- package/unstable__bpk-mixins/_index.scss +0 -38
- package/unstable__bpk-mixins/_layers.scss +0 -199
- package/unstable__bpk-mixins/_margins.scss +0 -75
- package/unstable__bpk-mixins/_panels.scss +0 -96
- package/unstable__bpk-mixins/_radii.scss +0 -80
- package/unstable__bpk-mixins/_scroll-indicators.scss +0 -79
- package/unstable__bpk-mixins/_shadows.scss +0 -58
- package/unstable__bpk-mixins/_spinners.scss +0 -102
- package/unstable__bpk-mixins/_tokens.scss +0 -19
- package/unstable__bpk-mixins/_typography.scss +0 -1225
- package/unstable__bpk-mixins/_utils.scss +0 -267
|
@@ -1,1045 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Backpack - Skyscanner's Design System
|
|
3
|
-
*
|
|
4
|
-
* Copyright 2016 Skyscanner Ltd
|
|
5
|
-
*
|
|
6
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
* you may not use this file except in compliance with the License.
|
|
8
|
-
* You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
* See the License for the specific language governing permissions and
|
|
16
|
-
* limitations under the License.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
/* stylelint-disable at-rule-disallowed-list */
|
|
20
|
-
|
|
21
|
-
@use 'tokens.scss';
|
|
22
|
-
@use 'typography.scss';
|
|
23
|
-
@use 'utils.scss';
|
|
24
|
-
|
|
25
|
-
////
|
|
26
|
-
/// @group forms
|
|
27
|
-
////
|
|
28
|
-
|
|
29
|
-
/// Form input. Can be used for text, email, number, password and tel type inputs.
|
|
30
|
-
///
|
|
31
|
-
/// @example scss
|
|
32
|
-
/// .selector {
|
|
33
|
-
/// @include bpk-input();
|
|
34
|
-
/// }
|
|
35
|
-
|
|
36
|
-
@mixin bpk-input {
|
|
37
|
-
display: inline-block;
|
|
38
|
-
width: 100%;
|
|
39
|
-
height: tokens.$bpk-input-height;
|
|
40
|
-
padding: tokens.$bpk-input-padding-y tokens.$bpk-input-padding-x;
|
|
41
|
-
border: tokens.$bpk-input-border;
|
|
42
|
-
border-radius: tokens.$bpk-input-border-radius;
|
|
43
|
-
background: tokens.$bpk-input-background;
|
|
44
|
-
color: tokens.$bpk-text-primary-day;
|
|
45
|
-
appearance: none;
|
|
46
|
-
|
|
47
|
-
&::placeholder {
|
|
48
|
-
color: tokens.$bpk-text-secondary-day;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
&:disabled {
|
|
52
|
-
border-color: tokens.$bpk-input-disabled-border-color;
|
|
53
|
-
background: tokens.$bpk-input-background;
|
|
54
|
-
color: tokens.$bpk-input-disabled-color;
|
|
55
|
-
cursor: not-allowed;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
&[type='number'] {
|
|
59
|
-
-moz-appearance: textfield; // stylelint-disable property-no-vendor-prefix
|
|
60
|
-
|
|
61
|
-
&::-webkit-inner-spin-button,
|
|
62
|
-
&::-webkit-outer-spin-button {
|
|
63
|
-
appearance: none;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
&[type='number'],
|
|
68
|
-
&[type='tel'],
|
|
69
|
-
&[type='email'] {
|
|
70
|
-
@include utils.bpk-rtl {
|
|
71
|
-
text-align: right;
|
|
72
|
-
direction: ltr;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
&::-ms-clear {
|
|
77
|
-
display: none;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/// Valid form input. Modifies the bpk-input mixin.
|
|
82
|
-
///
|
|
83
|
-
/// @require {mixin} bpk-input
|
|
84
|
-
///
|
|
85
|
-
/// @example scss
|
|
86
|
-
/// .selector {
|
|
87
|
-
/// @include bpk-input();
|
|
88
|
-
/// @include bpk-input--valid();
|
|
89
|
-
/// }
|
|
90
|
-
|
|
91
|
-
@mixin bpk-input--valid {
|
|
92
|
-
padding-right: tokens.bpk-spacing-xl();
|
|
93
|
-
background: tokens.$bpk-input-background
|
|
94
|
-
url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjMGM4MzhhICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTEyIDIyLjVDNi4yMDEgMjIuNSAxLjUgMTcuNzk5IDEuNSAxMlM2LjIwMSAxLjUgMTIgMS41IDIyLjUgNi4yMDEgMjIuNSAxMiAxNy43OTkgMjIuNSAxMiAyMi41em01LjU2LTEyLjQ0YTEuNSAxLjUgMCAwIDAtMi4xMi0yLjEybC00Ljk0IDQuOTM5LTEuOTQtMS45NGExLjUgMS41IDAgMCAwLTIuMTIgMi4xMjJsMyAzYTEuNSAxLjUgMCAwIDAgMi4xMiAwbDYtNnoiLz48L3N2Zz4=')
|
|
95
|
-
no-repeat right tokens.bpk-spacing-md() center;
|
|
96
|
-
background-size: tokens.$bpk-icon-size-sm tokens.$bpk-icon-size-sm;
|
|
97
|
-
|
|
98
|
-
@include utils.bpk-rtl {
|
|
99
|
-
padding-right: tokens.$bpk-input-padding-x;
|
|
100
|
-
padding-left: tokens.bpk-spacing-xl();
|
|
101
|
-
background-position: left tokens.bpk-spacing-md() center;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/// Invalid form input. Modifies the bpk-input mixin.
|
|
106
|
-
///
|
|
107
|
-
/// @require {mixin} bpk-input
|
|
108
|
-
///
|
|
109
|
-
/// @example scss
|
|
110
|
-
/// .selector {
|
|
111
|
-
/// @include bpk-input();
|
|
112
|
-
/// @include bpk-input--invalid();
|
|
113
|
-
/// }
|
|
114
|
-
|
|
115
|
-
@mixin bpk-input--invalid {
|
|
116
|
-
padding-right: tokens.bpk-spacing-xl();
|
|
117
|
-
background: tokens.$bpk-input-background
|
|
118
|
-
url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjZTcwODY2ICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTEyIDEuNUExMC41IDEwLjUgMCAxIDAgMjIuNSAxMiAxMC41IDEwLjUgMCAwIDAgMTIgMS41ek0xMiAxOGExLjUgMS41IDAgMSAxIDEuNS0xLjVBMS41IDEuNSAwIDAgMSAxMiAxOHptMS41LTZhMS41IDEuNSAwIDAgMS0zIDBWNy41YTEuNSAxLjUgMCAwIDEgMyAweiIvPjwvc3ZnPg==')
|
|
119
|
-
no-repeat right tokens.bpk-spacing-md() center;
|
|
120
|
-
background-size: tokens.$bpk-icon-size-sm tokens.$bpk-icon-size-sm;
|
|
121
|
-
|
|
122
|
-
@include utils.bpk-themeable-property(
|
|
123
|
-
border-color,
|
|
124
|
-
--bpk-input-invalid-border-color,
|
|
125
|
-
tokens.$bpk-form-validation-color
|
|
126
|
-
);
|
|
127
|
-
|
|
128
|
-
@include utils.bpk-rtl {
|
|
129
|
-
padding-right: tokens.$bpk-input-padding-x;
|
|
130
|
-
padding-left: tokens.bpk-spacing-xl();
|
|
131
|
-
background-position: left tokens.bpk-spacing-md() center;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/// Clearable form input. Modifies the bpk-input mixin.
|
|
136
|
-
///
|
|
137
|
-
/// @require {mixin} bpk-input
|
|
138
|
-
///
|
|
139
|
-
/// @example scss
|
|
140
|
-
/// .selector {
|
|
141
|
-
/// @include bpk-input();
|
|
142
|
-
/// @include bpk-input--clearable();
|
|
143
|
-
/// }
|
|
144
|
-
|
|
145
|
-
@mixin bpk-input--clearable {
|
|
146
|
-
padding-right: tokens.bpk-spacing-xl();
|
|
147
|
-
|
|
148
|
-
@include utils.bpk-rtl {
|
|
149
|
-
padding-right: tokens.$bpk-input-padding-x;
|
|
150
|
-
padding-left: tokens.bpk-spacing-xl();
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
&:focus {
|
|
154
|
-
background: tokens.$bpk-input-background;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/// Clearable form input container. Modifies the bpk-input mixin.
|
|
159
|
-
///
|
|
160
|
-
/// @require {mixin} bpk-input
|
|
161
|
-
///
|
|
162
|
-
/// @example scss
|
|
163
|
-
/// .selector {
|
|
164
|
-
/// @include bpk-input();
|
|
165
|
-
/// @include bpk-input__container();
|
|
166
|
-
/// }
|
|
167
|
-
|
|
168
|
-
@mixin bpk-input__container {
|
|
169
|
-
position: relative;
|
|
170
|
-
display: inline-block;
|
|
171
|
-
width: 100%;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
/// Clearable (clear button) form input. Modifies the bpk-input mixin.
|
|
175
|
-
///
|
|
176
|
-
/// @require {mixin} bpk-input
|
|
177
|
-
///
|
|
178
|
-
/// @example scss
|
|
179
|
-
/// .selector {
|
|
180
|
-
/// @include bpk-input();
|
|
181
|
-
/// @include bpk-input__clear-button();
|
|
182
|
-
/// }
|
|
183
|
-
|
|
184
|
-
@mixin bpk-input__clear-button {
|
|
185
|
-
position: absolute;
|
|
186
|
-
right: tokens.bpk-spacing-md();
|
|
187
|
-
height: tokens.$bpk-input-height;
|
|
188
|
-
|
|
189
|
-
// remove any default button styling
|
|
190
|
-
padding: 0;
|
|
191
|
-
border: 0;
|
|
192
|
-
background-color: transparent;
|
|
193
|
-
color: tokens.$bpk-text-secondary-day;
|
|
194
|
-
cursor: pointer;
|
|
195
|
-
appearance: none; // hidden by default
|
|
196
|
-
|
|
197
|
-
@include utils.bpk-rtl {
|
|
198
|
-
right: inherit;
|
|
199
|
-
left: tokens.bpk-spacing-md();
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
@include utils.bpk-hover {
|
|
203
|
-
color: tokens.$bpk-text-primary-day;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
&:active {
|
|
207
|
-
color: tokens.$bpk-text-primary-day;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
&--large {
|
|
211
|
-
right: tokens.bpk-spacing-base();
|
|
212
|
-
height: tokens.$bpk-input-large-height;
|
|
213
|
-
|
|
214
|
-
@include utils.bpk-rtl {
|
|
215
|
-
left: tokens.bpk-spacing-base();
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
/// Large form input. Modifies the bpk-input mixin.
|
|
221
|
-
///
|
|
222
|
-
/// @require {mixin} bpk-input
|
|
223
|
-
///
|
|
224
|
-
/// @example scss
|
|
225
|
-
/// .selector {
|
|
226
|
-
/// @include bpk-input();
|
|
227
|
-
/// @include bpk-input--large();
|
|
228
|
-
/// }
|
|
229
|
-
|
|
230
|
-
@mixin bpk-input--large {
|
|
231
|
-
height: tokens.$bpk-input-large-height;
|
|
232
|
-
padding-right: tokens.bpk-spacing-base();
|
|
233
|
-
padding-left: tokens.bpk-spacing-base();
|
|
234
|
-
border-radius: tokens.$bpk-input-large-border-radius;
|
|
235
|
-
|
|
236
|
-
&.bpk-input--valid,
|
|
237
|
-
&.bpk-input--invalid,
|
|
238
|
-
&.bpk-input--clearable {
|
|
239
|
-
padding-right: tokens.bpk-spacing-xxl();
|
|
240
|
-
background-position: right tokens.bpk-spacing-base() center;
|
|
241
|
-
|
|
242
|
-
@include utils.bpk-rtl {
|
|
243
|
-
padding-right: tokens.bpk-spacing-base();
|
|
244
|
-
padding-left: tokens.bpk-spacing-xxl();
|
|
245
|
-
background-position: left tokens.bpk-spacing-base() center;
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
/// Docked (first-child) form input. Modifies the bpk-input mixin.
|
|
251
|
-
///
|
|
252
|
-
/// @require {mixin} bpk-input
|
|
253
|
-
///
|
|
254
|
-
/// @example scss
|
|
255
|
-
/// .selector {
|
|
256
|
-
/// @include bpk-input();
|
|
257
|
-
/// @include bpk-input--docked-first-child();
|
|
258
|
-
/// }
|
|
259
|
-
|
|
260
|
-
@mixin bpk-input--docked-first-child {
|
|
261
|
-
border-right-width: 0;
|
|
262
|
-
border-radius: tokens.$bpk-input-border-radius 0 0 tokens.$bpk-input-border-radius;
|
|
263
|
-
|
|
264
|
-
@include utils.bpk-rtl {
|
|
265
|
-
border-right-width: tokens.$bpk-input-border-width;
|
|
266
|
-
border-left-width: 0;
|
|
267
|
-
border-radius: 0 tokens.$bpk-input-border-radius tokens.$bpk-input-border-radius 0;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
&:focus {
|
|
271
|
-
position: relative; // brings outline to the front
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
/// Docked (last-child) form input. Modifies the bpk-input mixin.
|
|
276
|
-
///
|
|
277
|
-
/// @require {mixin} bpk-input
|
|
278
|
-
///
|
|
279
|
-
/// @example scss
|
|
280
|
-
/// .selector {
|
|
281
|
-
/// @include bpk-input();
|
|
282
|
-
/// @include bpk-input--docked-last-child();
|
|
283
|
-
/// }
|
|
284
|
-
|
|
285
|
-
@mixin bpk-input--docked-last-child {
|
|
286
|
-
border-radius: 0 tokens.$bpk-input-border-radius tokens.$bpk-input-border-radius 0;
|
|
287
|
-
|
|
288
|
-
@include utils.bpk-rtl {
|
|
289
|
-
border-radius: tokens.$bpk-input-border-radius 0 0 tokens.$bpk-input-border-radius;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
&:focus {
|
|
293
|
-
position: relative; // brings outline to the front
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/// Docked (middle-child) form input. Modifies the bpk-input mixin.
|
|
298
|
-
///
|
|
299
|
-
/// @require {mixin} bpk-input
|
|
300
|
-
///
|
|
301
|
-
/// @example scss
|
|
302
|
-
/// .selector {
|
|
303
|
-
/// @include bpk-input();
|
|
304
|
-
/// @include bpk-input--docked-middle-child();
|
|
305
|
-
/// }
|
|
306
|
-
|
|
307
|
-
@mixin bpk-input--docked-middle-child {
|
|
308
|
-
border-right-width: 0;
|
|
309
|
-
border-radius: 0;
|
|
310
|
-
|
|
311
|
-
@include utils.bpk-rtl {
|
|
312
|
-
border-right-width: tokens.$bpk-input-border-width;
|
|
313
|
-
border-left-width: 0;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
&:focus {
|
|
317
|
-
position: relative; // brings outline to the front
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
/// Docked form input (inputs must sit side-by-side in the DOM). Modifies the bpk-input mixin.
|
|
322
|
-
///
|
|
323
|
-
/// @require {mixin} bpk-input
|
|
324
|
-
///
|
|
325
|
-
/// @example scss
|
|
326
|
-
/// .selector {
|
|
327
|
-
/// @include bpk-input();
|
|
328
|
-
/// @include bpk-input--docked();
|
|
329
|
-
/// }
|
|
330
|
-
|
|
331
|
-
@mixin bpk-input--docked {
|
|
332
|
-
&:first-child {
|
|
333
|
-
@include bpk-input--docked-first-child;
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
&:last-child {
|
|
337
|
-
@include bpk-input--docked-last-child;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
&:not(:first-child):not(:last-child) {
|
|
341
|
-
@include bpk-input--docked-middle-child;
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
/// Form select input.
|
|
346
|
-
///
|
|
347
|
-
/// @example scss
|
|
348
|
-
/// .selector {
|
|
349
|
-
/// @include bpk-select();
|
|
350
|
-
/// }
|
|
351
|
-
|
|
352
|
-
@mixin bpk-select {
|
|
353
|
-
display: inline-block;
|
|
354
|
-
width: 100%;
|
|
355
|
-
height: tokens.$bpk-input-height;
|
|
356
|
-
padding: tokens.bpk-spacing-md() - (2 * tokens.$bpk-one-pixel-rem) tokens.bpk-spacing-md();
|
|
357
|
-
padding-right: tokens.bpk-spacing-xl();
|
|
358
|
-
border: solid tokens.$bpk-one-pixel-rem tokens.$bpk-line-day;
|
|
359
|
-
border-radius: tokens.$bpk-select-border-radius;
|
|
360
|
-
background: tokens.$bpk-surface-default-day
|
|
361
|
-
url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjMTYxNjE2ICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTE2LjUzNyA4LjI1SDcuNDYzYTEuMzU4IDEuMzU4IDAgMCAwLTEuMTEgMi4yNTFsNC4zNTQgNC43N2ExLjUzIDEuNTMgMCAwIDAgMi4xODQuMDRsNC43MTgtNC43N2ExLjM1NyAxLjM1NyAwIDAgMC0xLjA3Mi0yLjI5MXoiLz48L3N2Zz4=')
|
|
362
|
-
no-repeat right tokens.bpk-spacing-md() center;
|
|
363
|
-
background-size: tokens.$bpk-input-height * 0.5;
|
|
364
|
-
color: tokens.$bpk-text-primary-day;
|
|
365
|
-
line-height: (tokens.$bpk-line-height-base - (2 * tokens.$bpk-select-border-width));
|
|
366
|
-
appearance: none;
|
|
367
|
-
|
|
368
|
-
@include utils.bpk-rtl {
|
|
369
|
-
padding-right: tokens.bpk-spacing-md();
|
|
370
|
-
padding-left: tokens.bpk-spacing-xl();
|
|
371
|
-
background-position: left tokens.bpk-spacing-md() center;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
@media screen\0 {
|
|
375
|
-
/* stylelint-disable-next-line declaration-no-important */
|
|
376
|
-
padding: tokens.bpk-spacing-md() !important;
|
|
377
|
-
/* stylelint-disable-next-line declaration-no-important */
|
|
378
|
-
background-image: none !important;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
&:disabled {
|
|
382
|
-
border-color: tokens.$bpk-surface-highlight-day;
|
|
383
|
-
background: tokens.$bpk-surface-default-day
|
|
384
|
-
url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjMDAwMDAwICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTE2LjUzNyA4LjI1SDcuNDYzYTEuMzU4IDEuMzU4IDAgMCAwLTEuMTEgMi4yNTFsNC4zNTQgNC43N2ExLjUzIDEuNTMgMCAwIDAgMi4xODQuMDRsNC43MTgtNC43N2ExLjM1NyAxLjM1NyAwIDAgMC0xLjA3Mi0yLjI5MXoiLz48L3N2Zz4=')
|
|
385
|
-
no-repeat right tokens.bpk-spacing-md() center;
|
|
386
|
-
background-size: tokens.$bpk-input-height * 0.5;
|
|
387
|
-
color: tokens.$bpk-text-disabled-day;
|
|
388
|
-
cursor: not-allowed;
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
/// Large form select input. Modifies the bpk-select mixin.
|
|
393
|
-
///
|
|
394
|
-
/// @require {mixin} bpk-select
|
|
395
|
-
///
|
|
396
|
-
/// @example scss
|
|
397
|
-
/// .selector {
|
|
398
|
-
/// @include bpk-select();
|
|
399
|
-
/// @include bpk-select--large();
|
|
400
|
-
/// }
|
|
401
|
-
|
|
402
|
-
@mixin bpk-select--large {
|
|
403
|
-
height: tokens.$bpk-input-large-height;
|
|
404
|
-
padding: tokens.bpk-spacing-md() tokens.bpk-spacing-base();
|
|
405
|
-
padding-right: tokens.bpk-spacing-xxl();
|
|
406
|
-
border-radius: tokens.$bpk-select-large-border-radius;
|
|
407
|
-
background: tokens.$bpk-surface-default-day
|
|
408
|
-
url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjMTYxNjE2ICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTE2LjUzNyA4LjI1SDcuNDYzYTEuMzU4IDEuMzU4IDAgMCAwLTEuMTEgMi4yNTFsNC4zNTQgNC43N2ExLjUzIDEuNTMgMCAwIDAgMi4xODQuMDRsNC43MTgtNC43N2ExLjM1NyAxLjM1NyAwIDAgMC0xLjA3Mi0yLjI5MXoiLz48L3N2Zz4=')
|
|
409
|
-
no-repeat right tokens.bpk-spacing-base() center;
|
|
410
|
-
|
|
411
|
-
@include utils.bpk-rtl {
|
|
412
|
-
padding-right: tokens.bpk-spacing-base();
|
|
413
|
-
padding-left: tokens.bpk-spacing-xxl();
|
|
414
|
-
background-position: left tokens.bpk-spacing-base() center;
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
/// Docked (first-child) form select input. Modifies the bpk-select mixin.
|
|
419
|
-
///
|
|
420
|
-
/// @require {mixin} bpk-select
|
|
421
|
-
///
|
|
422
|
-
/// @example scss
|
|
423
|
-
/// .selector {
|
|
424
|
-
/// @include bpk-select();
|
|
425
|
-
/// @include bpk-select--docked-first-child();
|
|
426
|
-
/// }
|
|
427
|
-
|
|
428
|
-
@mixin bpk-select--docked-first-child {
|
|
429
|
-
border-right-width: 0;
|
|
430
|
-
border-radius: tokens.$bpk-select-border-radius 0 0 tokens.$bpk-select-border-radius;
|
|
431
|
-
|
|
432
|
-
@include utils.bpk-rtl {
|
|
433
|
-
border-right-width: tokens.$bpk-select-border-width;
|
|
434
|
-
border-left-width: 0;
|
|
435
|
-
border-radius: 0 tokens.$bpk-select-border-radius tokens.$bpk-select-border-radius 0;
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
/// Docked (last-child) form select input. Modifies the bpk-select mixin.
|
|
440
|
-
///
|
|
441
|
-
/// @require {mixin} bpk-select
|
|
442
|
-
///
|
|
443
|
-
/// @example scss
|
|
444
|
-
/// .selector {
|
|
445
|
-
/// @include bpk-select();
|
|
446
|
-
/// @include bpk-select--docked-last-child();
|
|
447
|
-
/// }
|
|
448
|
-
|
|
449
|
-
@mixin bpk-select--docked-last-child {
|
|
450
|
-
border-radius: 0 tokens.$bpk-select-border-radius tokens.$bpk-select-border-radius 0;
|
|
451
|
-
|
|
452
|
-
@include utils.bpk-rtl {
|
|
453
|
-
border-radius: tokens.$bpk-select-border-radius 0 0 tokens.$bpk-select-border-radius;
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
/// Docked (middle-child) form select input. Modifies the bpk-select mixin.
|
|
458
|
-
///
|
|
459
|
-
/// @require {mixin} bpk-select
|
|
460
|
-
///
|
|
461
|
-
/// @example scss
|
|
462
|
-
/// .selector {
|
|
463
|
-
/// @include bpk-select();
|
|
464
|
-
/// @include bpk-select--docked-middle-child();
|
|
465
|
-
/// }
|
|
466
|
-
|
|
467
|
-
@mixin bpk-select--docked-middle-child {
|
|
468
|
-
border-right-width: 0;
|
|
469
|
-
border-radius: 0;
|
|
470
|
-
|
|
471
|
-
@include utils.bpk-rtl {
|
|
472
|
-
border-right-width: tokens.$bpk-select-border-width;
|
|
473
|
-
border-left-width: 0;
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
/// Docked form select input (selects must sit side-by-side in the DOM). Modifies the bpk-select mixin.
|
|
478
|
-
///
|
|
479
|
-
/// @require {mixin} bpk-select
|
|
480
|
-
///
|
|
481
|
-
/// @example scss
|
|
482
|
-
/// .selector {
|
|
483
|
-
/// @include bpk-select();
|
|
484
|
-
/// @include bpk-select--docked();
|
|
485
|
-
/// }
|
|
486
|
-
|
|
487
|
-
@mixin bpk-select--docked {
|
|
488
|
-
&:first-child {
|
|
489
|
-
@include bpk-select--docked-first-child;
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
&:last-child {
|
|
493
|
-
@include bpk-select--docked-last-child;
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
&:not(:first-child):not(:last-child) {
|
|
497
|
-
@include bpk-select--docked-middle-child;
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
/// Invalid form input. Modifies the bpk-selct mixin.
|
|
502
|
-
///
|
|
503
|
-
/// @require {mixin} bpk-select
|
|
504
|
-
///
|
|
505
|
-
/// @example scss
|
|
506
|
-
/// .selector {
|
|
507
|
-
/// @include bpk-select();
|
|
508
|
-
/// @include bpk-select--invalid();
|
|
509
|
-
/// }
|
|
510
|
-
|
|
511
|
-
@mixin bpk-select--invalid {
|
|
512
|
-
padding-right: tokens.bpk-spacing-xl();
|
|
513
|
-
background: tokens.$bpk-surface-default-day
|
|
514
|
-
url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjMTYxNjE2ICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTE2LjUzNyA4LjI1SDcuNDYzYTEuMzU4IDEuMzU4IDAgMCAwLTEuMTEgMi4yNTFsNC4zNTQgNC43N2ExLjUzIDEuNTMgMCAwIDAgMi4xODQuMDRsNC43MTgtNC43N2ExLjM1NyAxLjM1NyAwIDAgMC0xLjA3Mi0yLjI5MXoiLz48L3N2Zz4=')
|
|
515
|
-
no-repeat right tokens.bpk-spacing-md() center;
|
|
516
|
-
background-size: tokens.$bpk-input-height * 0.5;
|
|
517
|
-
|
|
518
|
-
@include utils.bpk-themeable-property(
|
|
519
|
-
border-color,
|
|
520
|
-
--bpk-select-invalid-border-color,
|
|
521
|
-
tokens.$bpk-form-validation-color
|
|
522
|
-
);
|
|
523
|
-
|
|
524
|
-
@include utils.bpk-rtl {
|
|
525
|
-
padding-right: tokens.bpk-spacing-md();
|
|
526
|
-
padding-left: tokens.bpk-spacing-xl();
|
|
527
|
-
background-position: left tokens.bpk-spacing-md() center;
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
/// Form checkbox. Should be applied to containing label element.
|
|
532
|
-
///
|
|
533
|
-
/// @example scss
|
|
534
|
-
/// .selector {
|
|
535
|
-
/// @include bpk-checkbox();
|
|
536
|
-
/// }
|
|
537
|
-
|
|
538
|
-
@mixin bpk-checkbox {
|
|
539
|
-
position: relative;
|
|
540
|
-
display: inline-block;
|
|
541
|
-
padding-left: tokens.bpk-spacing-lg() + tokens.bpk-spacing-sm();
|
|
542
|
-
|
|
543
|
-
@include typography.bpk-text;
|
|
544
|
-
@include typography.bpk-body-default;
|
|
545
|
-
|
|
546
|
-
@include utils.bpk-rtl {
|
|
547
|
-
padding-right: tokens.bpk-spacing-lg() + tokens.bpk-spacing-sm();
|
|
548
|
-
padding-left: 0;
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
|
|
552
|
-
/// Label for checkbox. Should be applied to label text element.
|
|
553
|
-
///
|
|
554
|
-
/// @example scss
|
|
555
|
-
/// .selector {
|
|
556
|
-
/// @include bpk-checkbox__label();
|
|
557
|
-
/// }
|
|
558
|
-
|
|
559
|
-
@mixin bpk-checkbox__label {
|
|
560
|
-
vertical-align: baseline;
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
/// Small label for checkbox. Should be applied to label text element.
|
|
564
|
-
/// Modifies bpk-checkbox__label.
|
|
565
|
-
///
|
|
566
|
-
/// @example scss
|
|
567
|
-
/// .selector {
|
|
568
|
-
/// @include bpk-checkbox__label();
|
|
569
|
-
/// @include bpk-checkbox__label--small();
|
|
570
|
-
/// }
|
|
571
|
-
|
|
572
|
-
@mixin bpk-checkbox__label--small {
|
|
573
|
-
@include typography.bpk-text;
|
|
574
|
-
@include typography.bpk-caption;
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
/// White label checkbox. Modifies the bpk-checkbox mixin.
|
|
578
|
-
///
|
|
579
|
-
/// @require {mixin} bpk-checkbox
|
|
580
|
-
///
|
|
581
|
-
/// @example scss
|
|
582
|
-
/// .selector {
|
|
583
|
-
/// @include bpk-checkbox();
|
|
584
|
-
/// @include bpk-checkbox--white();
|
|
585
|
-
/// }
|
|
586
|
-
|
|
587
|
-
@mixin bpk-checkbox--white {
|
|
588
|
-
color: tokens.$bpk-surface-default-day;
|
|
589
|
-
}
|
|
590
|
-
|
|
591
|
-
/// Disabled form checkbox. Modifies the bpk-checkbox mixin.
|
|
592
|
-
///
|
|
593
|
-
/// @require {mixin} bpk-checkbox
|
|
594
|
-
///
|
|
595
|
-
/// @example scss
|
|
596
|
-
/// .selector {
|
|
597
|
-
/// @include bpk-checkbox();
|
|
598
|
-
/// @include bpk-checkbox--disabled();
|
|
599
|
-
/// }
|
|
600
|
-
|
|
601
|
-
@mixin bpk-checkbox--disabled {
|
|
602
|
-
color: tokens.$bpk-label-disabled-color;
|
|
603
|
-
cursor: not-allowed;
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
/// Invalid form checkbox. Modifies the bpk-checkbox mixin.
|
|
607
|
-
///
|
|
608
|
-
/// @require {mixin} bpk-checkbox
|
|
609
|
-
///
|
|
610
|
-
/// @example scss
|
|
611
|
-
/// .selector {
|
|
612
|
-
/// @include bpk-checkbox();
|
|
613
|
-
/// @include bpk-checkbox--invalid();
|
|
614
|
-
/// }
|
|
615
|
-
|
|
616
|
-
@mixin bpk-checkbox--invalid {
|
|
617
|
-
input[type='checkbox'] {
|
|
618
|
-
border: (tokens.$bpk-one-pixel-rem * 3) solid tokens.$bpk-text-error-day;
|
|
619
|
-
}
|
|
620
|
-
}
|
|
621
|
-
|
|
622
|
-
/// Used to create the check/tick inside
|
|
623
|
-
/// a checked checkbox.
|
|
624
|
-
///
|
|
625
|
-
/// @example scss
|
|
626
|
-
/// .selector {
|
|
627
|
-
/// @include bpk-checkbox__checkmark();
|
|
628
|
-
/// }
|
|
629
|
-
@mixin bpk-checkbox__checkmark {
|
|
630
|
-
background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2213%22%20height%3D%229%22%20viewBox%3D%220%200%2013%209%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.35352%203.64648L5.5%207.5L11.5%201.5%22%20stroke%3D%22white%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E');
|
|
631
|
-
background-repeat: no-repeat;
|
|
632
|
-
background-position: tokens.$bpk-one-pixel-rem center;
|
|
633
|
-
background-size: calc(100% - tokens.$bpk-one-pixel-rem * 2.5) auto;
|
|
634
|
-
|
|
635
|
-
&:disabled {
|
|
636
|
-
background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2213%22%20height%3D%229%22%20viewBox%3D%220%200%2013%209%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.35352%203.64648L5.5%207.5L11.5%201.5%22%20stroke%3D%22lightgrey%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E');
|
|
637
|
-
}
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
/// Form checkbox input.
|
|
641
|
-
///
|
|
642
|
-
/// @example scss
|
|
643
|
-
/// .selector {
|
|
644
|
-
/// @include bpk-checkbox__input();
|
|
645
|
-
/// }
|
|
646
|
-
|
|
647
|
-
@mixin bpk-checkbox__input {
|
|
648
|
-
$checkbox-input-size: tokens.bpk-spacing-lg() - (tokens.$bpk-one-pixel-rem * 4);
|
|
649
|
-
|
|
650
|
-
position: absolute;
|
|
651
|
-
top: (tokens.$bpk-line-height-base - $checkbox-input-size) * 0.5;
|
|
652
|
-
left: 0;
|
|
653
|
-
width: $checkbox-input-size;
|
|
654
|
-
height: $checkbox-input-size;
|
|
655
|
-
margin: 0;
|
|
656
|
-
padding: 0;
|
|
657
|
-
border: (tokens.$bpk-one-pixel-rem * 3) solid tokens.$bpk-text-secondary-day;
|
|
658
|
-
border-radius: (tokens.$bpk-one-pixel-rem * 4);
|
|
659
|
-
cursor: pointer;
|
|
660
|
-
vertical-align: text-bottom;
|
|
661
|
-
appearance: none;
|
|
662
|
-
|
|
663
|
-
@include utils.bpk-rtl {
|
|
664
|
-
right: 0;
|
|
665
|
-
left: auto;
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
@media screen\0 {
|
|
669
|
-
/* stylelint-disable-next-line declaration-no-important */
|
|
670
|
-
background: none !important;
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
&:checked,
|
|
674
|
-
&:indeterminate {
|
|
675
|
-
@include utils.bpk-themeable-property(
|
|
676
|
-
background-color,
|
|
677
|
-
--bpk-checkbox-checked-color,
|
|
678
|
-
tokens.$bpk-core-accent-day
|
|
679
|
-
);
|
|
680
|
-
@include utils.bpk-themeable-property(
|
|
681
|
-
border-color,
|
|
682
|
-
--bpk-checkbox-checked-color,
|
|
683
|
-
tokens.$bpk-core-accent-day
|
|
684
|
-
);
|
|
685
|
-
|
|
686
|
-
&:disabled {
|
|
687
|
-
border-color: tokens.$bpk-text-disabled-day;
|
|
688
|
-
background: none;
|
|
689
|
-
}
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
&:checked:not(:indeterminate) {
|
|
693
|
-
@include bpk-checkbox__checkmark;
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
&:disabled {
|
|
697
|
-
border-color: tokens.$bpk-text-disabled-day;
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
|
-
|
|
701
|
-
/// Form radio button mixin. This is a reusable mixin to set border styles for the radio button.
|
|
702
|
-
///
|
|
703
|
-
/// @param {variable} $color
|
|
704
|
-
///
|
|
705
|
-
/// @access private
|
|
706
|
-
@mixin _bpk-radio-border($color) {
|
|
707
|
-
border: tokens.$bpk-border-size-xl solid $color;
|
|
708
|
-
border-radius: tokens.$bpk-border-radius-lg;
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
/// Form radio button. Should be applied to containing label element.
|
|
712
|
-
///
|
|
713
|
-
/// @example scss
|
|
714
|
-
/// .selector {
|
|
715
|
-
/// @include bpk-radio();
|
|
716
|
-
/// }
|
|
717
|
-
|
|
718
|
-
@mixin bpk-radio {
|
|
719
|
-
position: relative;
|
|
720
|
-
display: inline-block;
|
|
721
|
-
padding-left: tokens.bpk-spacing-lg() + tokens.bpk-spacing-sm();
|
|
722
|
-
|
|
723
|
-
@include utils.bpk-rtl {
|
|
724
|
-
padding-right: tokens.bpk-spacing-lg() + tokens.bpk-spacing-sm();
|
|
725
|
-
padding-left: 0;
|
|
726
|
-
}
|
|
727
|
-
}
|
|
728
|
-
|
|
729
|
-
/// Disabled form radio button. Modifies the bpk-radio mixin.
|
|
730
|
-
///
|
|
731
|
-
/// @require {mixin} bpk-radio
|
|
732
|
-
///
|
|
733
|
-
/// @example scss
|
|
734
|
-
/// .selector {
|
|
735
|
-
/// @include bpk-radio();
|
|
736
|
-
/// @include bpk-radio--disabled();
|
|
737
|
-
/// }
|
|
738
|
-
|
|
739
|
-
@mixin bpk-radio--disabled {
|
|
740
|
-
color: tokens.$bpk-label-disabled-color;
|
|
741
|
-
cursor: not-allowed;
|
|
742
|
-
}
|
|
743
|
-
|
|
744
|
-
/// White label radio button. Modifies the bpk-radio mixin.
|
|
745
|
-
///
|
|
746
|
-
/// @require {mixin} bpk-radio
|
|
747
|
-
///
|
|
748
|
-
/// @example scss
|
|
749
|
-
/// .selector {
|
|
750
|
-
/// @include bpk-radio();
|
|
751
|
-
/// @include bpk-radio--white();
|
|
752
|
-
/// }
|
|
753
|
-
|
|
754
|
-
@mixin bpk-radio--white {
|
|
755
|
-
color: tokens.$bpk-text-primary-inverse-day;
|
|
756
|
-
|
|
757
|
-
input[type='radio'] {
|
|
758
|
-
background: tokens.$bpk-text-primary-inverse-day;
|
|
759
|
-
}
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
/// Invalid radio button. Modifies the bpk-radio mixin.
|
|
763
|
-
///
|
|
764
|
-
/// @require {mixin} bpk-radio
|
|
765
|
-
///
|
|
766
|
-
/// @example scss
|
|
767
|
-
/// .selector {
|
|
768
|
-
/// @include bpk-radio();
|
|
769
|
-
/// @include bpk-radio--invalid();
|
|
770
|
-
/// }
|
|
771
|
-
|
|
772
|
-
@mixin bpk-radio--invalid {
|
|
773
|
-
input[type='radio'] {
|
|
774
|
-
@include _bpk-radio-border(tokens.$bpk-text-error-day);
|
|
775
|
-
}
|
|
776
|
-
}
|
|
777
|
-
|
|
778
|
-
/// Form radio input.
|
|
779
|
-
///
|
|
780
|
-
/// @example scss
|
|
781
|
-
/// .selector {
|
|
782
|
-
/// @include bpk-radio__input();
|
|
783
|
-
/// }
|
|
784
|
-
|
|
785
|
-
@mixin bpk-radio__input {
|
|
786
|
-
$bpk-radio-size: tokens.bpk-spacing-lg() - (tokens.$bpk-one-pixel-rem * 4);
|
|
787
|
-
|
|
788
|
-
position: absolute;
|
|
789
|
-
top: 0;
|
|
790
|
-
left: 0;
|
|
791
|
-
width: $bpk-radio-size;
|
|
792
|
-
height: $bpk-radio-size;
|
|
793
|
-
margin: 0;
|
|
794
|
-
padding: 0;
|
|
795
|
-
cursor: pointer;
|
|
796
|
-
vertical-align: text-bottom;
|
|
797
|
-
appearance: none;
|
|
798
|
-
|
|
799
|
-
@include _bpk-radio-border(tokens.$bpk-text-secondary-day);
|
|
800
|
-
|
|
801
|
-
@include utils.bpk-rtl {
|
|
802
|
-
right: 0;
|
|
803
|
-
left: auto;
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
@media screen\0 {
|
|
807
|
-
/* stylelint-disable-next-line declaration-no-important */
|
|
808
|
-
background: none !important;
|
|
809
|
-
}
|
|
810
|
-
|
|
811
|
-
&:checked {
|
|
812
|
-
@include utils.bpk-themeable-property(
|
|
813
|
-
border-color,
|
|
814
|
-
--bpk-radio-checked-color,
|
|
815
|
-
tokens.$bpk-core-accent-day
|
|
816
|
-
);
|
|
817
|
-
|
|
818
|
-
&:disabled {
|
|
819
|
-
border-color: tokens.$bpk-text-disabled-day;
|
|
820
|
-
}
|
|
821
|
-
}
|
|
822
|
-
|
|
823
|
-
&:disabled {
|
|
824
|
-
border-color: tokens.$bpk-text-disabled-day;
|
|
825
|
-
}
|
|
826
|
-
}
|
|
827
|
-
|
|
828
|
-
/// Form label.
|
|
829
|
-
///
|
|
830
|
-
/// @example scss
|
|
831
|
-
/// .selector {
|
|
832
|
-
/// @include bpk-label();
|
|
833
|
-
/// }
|
|
834
|
-
|
|
835
|
-
@mixin bpk-label {
|
|
836
|
-
display: block;
|
|
837
|
-
color: tokens.$bpk-text-primary-day;
|
|
838
|
-
font-size: tokens.$bpk-font-size-xs;
|
|
839
|
-
font-weight: tokens.$bpk-font-weight-bold;
|
|
840
|
-
line-height: tokens.$bpk-line-height-xs;
|
|
841
|
-
}
|
|
842
|
-
|
|
843
|
-
/// Invalid form label. Modifies the bpk-label mixin.
|
|
844
|
-
///
|
|
845
|
-
/// @require {mixin} bpk-label
|
|
846
|
-
///
|
|
847
|
-
/// @example scss
|
|
848
|
-
/// .selector {
|
|
849
|
-
/// @include bpk-label();
|
|
850
|
-
/// @include bpk-label--invalid();
|
|
851
|
-
/// }
|
|
852
|
-
|
|
853
|
-
@mixin bpk-label--invalid {
|
|
854
|
-
@include utils.bpk-themeable-property(
|
|
855
|
-
color,
|
|
856
|
-
--bpk-form-validation-text-color,
|
|
857
|
-
tokens.$bpk-form-validation-color
|
|
858
|
-
);
|
|
859
|
-
}
|
|
860
|
-
|
|
861
|
-
/// White form label. Modifies the bpk-label mixin.
|
|
862
|
-
///
|
|
863
|
-
/// @require {mixin} bpk-label
|
|
864
|
-
///
|
|
865
|
-
/// @example scss
|
|
866
|
-
/// .selector {
|
|
867
|
-
/// @include bpk-label();
|
|
868
|
-
/// @include bpk-label--white();
|
|
869
|
-
/// }
|
|
870
|
-
|
|
871
|
-
@mixin bpk-label--white {
|
|
872
|
-
color: tokens.$bpk-color-white;
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
/// Disabled form label. Modifies the bpk-label mixin.
|
|
876
|
-
///
|
|
877
|
-
/// @require {mixin} bpk-label
|
|
878
|
-
///
|
|
879
|
-
/// @example scss
|
|
880
|
-
/// .selector {
|
|
881
|
-
/// @include bpk-label();
|
|
882
|
-
/// @include bpk-label--disabled();
|
|
883
|
-
/// }
|
|
884
|
-
|
|
885
|
-
@mixin bpk-label--disabled {
|
|
886
|
-
color: tokens.$bpk-label-disabled-color;
|
|
887
|
-
cursor: not-allowed;
|
|
888
|
-
}
|
|
889
|
-
|
|
890
|
-
/// Form validation.
|
|
891
|
-
///
|
|
892
|
-
/// @example scss
|
|
893
|
-
/// .selector {
|
|
894
|
-
/// @include bpk-form-validation();
|
|
895
|
-
/// }
|
|
896
|
-
|
|
897
|
-
@mixin bpk-form-validation {
|
|
898
|
-
position: relative;
|
|
899
|
-
transform: translateY(-#{tokens.bpk-spacing-base()});
|
|
900
|
-
transition:
|
|
901
|
-
opacity tokens.$bpk-duration-sm ease-in-out,
|
|
902
|
-
transform tokens.$bpk-duration-sm ease-in-out;
|
|
903
|
-
opacity: 0;
|
|
904
|
-
|
|
905
|
-
@include utils.bpk-themeable-property(
|
|
906
|
-
color,
|
|
907
|
-
--bpk-form-validation-text-color,
|
|
908
|
-
tokens.$bpk-form-validation-color
|
|
909
|
-
);
|
|
910
|
-
}
|
|
911
|
-
|
|
912
|
-
/// Form validation transition state. Modifies the bpk-form-validation mixin.
|
|
913
|
-
///
|
|
914
|
-
/// @require {mixin} bpk-form-validation
|
|
915
|
-
///
|
|
916
|
-
/// @example scss
|
|
917
|
-
/// .selector {
|
|
918
|
-
/// @include bpk-form-validation();
|
|
919
|
-
///
|
|
920
|
-
/// &--appear {
|
|
921
|
-
/// @include bpk-form-validation--appear();
|
|
922
|
-
/// }
|
|
923
|
-
/// }
|
|
924
|
-
|
|
925
|
-
@mixin bpk-form-validation--appear {
|
|
926
|
-
transform: translateY(0);
|
|
927
|
-
opacity: 1;
|
|
928
|
-
}
|
|
929
|
-
|
|
930
|
-
/// Checkbox form validation. Modifies the bpk-form-validation mixin.
|
|
931
|
-
///
|
|
932
|
-
/// @require {mixin} bpk-form-validation
|
|
933
|
-
///
|
|
934
|
-
/// @example scss
|
|
935
|
-
/// .selector {
|
|
936
|
-
/// @include bpk-form-validation();
|
|
937
|
-
///
|
|
938
|
-
/// &--is-checkbox {
|
|
939
|
-
/// @include bpk-form-validation--is-checkbox();
|
|
940
|
-
/// }
|
|
941
|
-
/// }
|
|
942
|
-
|
|
943
|
-
@mixin bpk-form-validation--is-checkbox {
|
|
944
|
-
display: inline-block;
|
|
945
|
-
}
|
|
946
|
-
|
|
947
|
-
/// Form validation container.
|
|
948
|
-
///
|
|
949
|
-
/// @example scss
|
|
950
|
-
/// .selector {
|
|
951
|
-
/// @include bpk-form-validation__container();
|
|
952
|
-
/// }
|
|
953
|
-
|
|
954
|
-
@mixin bpk-form-validation__container {
|
|
955
|
-
margin-top: tokens.bpk-spacing-md();
|
|
956
|
-
font-size: tokens.$bpk-font-size-xs;
|
|
957
|
-
}
|
|
958
|
-
|
|
959
|
-
/// Form textarea.
|
|
960
|
-
///
|
|
961
|
-
/// @example scss
|
|
962
|
-
/// .selector {
|
|
963
|
-
/// @include bpk-textarea();
|
|
964
|
-
/// }
|
|
965
|
-
|
|
966
|
-
@mixin bpk-textarea {
|
|
967
|
-
display: inline-block;
|
|
968
|
-
width: 100%;
|
|
969
|
-
max-width: 100%;
|
|
970
|
-
min-height: tokens.bpk-spacing-md() * 11;
|
|
971
|
-
padding: tokens.$bpk-input-padding-y tokens.$bpk-input-padding-x;
|
|
972
|
-
border: tokens.$bpk-input-border;
|
|
973
|
-
border-radius: tokens.$bpk-input-border-radius;
|
|
974
|
-
background: tokens.$bpk-input-background;
|
|
975
|
-
color: tokens.$bpk-text-primary-day;
|
|
976
|
-
appearance: none;
|
|
977
|
-
|
|
978
|
-
&::placeholder {
|
|
979
|
-
color: tokens.$bpk-text-secondary-day;
|
|
980
|
-
}
|
|
981
|
-
|
|
982
|
-
&:disabled {
|
|
983
|
-
border-color: tokens.$bpk-input-disabled-border-color;
|
|
984
|
-
background: tokens.$bpk-input-background;
|
|
985
|
-
color: tokens.$bpk-input-disabled-color;
|
|
986
|
-
cursor: not-allowed;
|
|
987
|
-
}
|
|
988
|
-
|
|
989
|
-
&::-ms-clear {
|
|
990
|
-
display: none;
|
|
991
|
-
}
|
|
992
|
-
}
|
|
993
|
-
|
|
994
|
-
/// Invalid form input. Modifies the bpk-textarea mixin.
|
|
995
|
-
///
|
|
996
|
-
/// @require {mixin} bpk-textarea
|
|
997
|
-
///
|
|
998
|
-
/// @example scss
|
|
999
|
-
/// .selector {
|
|
1000
|
-
/// @include bpk-textarea();
|
|
1001
|
-
/// @include bpk-textarea--invalid();
|
|
1002
|
-
/// }
|
|
1003
|
-
|
|
1004
|
-
@mixin bpk-textarea--invalid {
|
|
1005
|
-
padding-right: tokens.bpk-spacing-xl();
|
|
1006
|
-
background: tokens.$bpk-input-background
|
|
1007
|
-
url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjZTcwODY2ICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTEyIDEuNUExMC41IDEwLjUgMCAxIDAgMjIuNSAxMiAxMC41IDEwLjUgMCAwIDAgMTIgMS41ek0xMiAxOGExLjUgMS41IDAgMSAxIDEuNS0xLjVBMS41IDEuNSAwIDAgMSAxMiAxOHptMS41LTZhMS41IDEuNSAwIDAgMS0zIDBWNy41YTEuNSAxLjUgMCAwIDEgMyAweiIvPjwvc3ZnPg==')
|
|
1008
|
-
no-repeat right tokens.bpk-spacing-md() center;
|
|
1009
|
-
|
|
1010
|
-
@include utils.bpk-themeable-property(
|
|
1011
|
-
border-color,
|
|
1012
|
-
--bpk-textarea-invalid-border-color,
|
|
1013
|
-
tokens.$bpk-form-validation-color
|
|
1014
|
-
);
|
|
1015
|
-
|
|
1016
|
-
@include utils.bpk-rtl {
|
|
1017
|
-
padding-right: tokens.$bpk-input-padding-x;
|
|
1018
|
-
padding-left: tokens.bpk-spacing-xl();
|
|
1019
|
-
background-position: left tokens.bpk-spacing-md() center;
|
|
1020
|
-
|
|
1021
|
-
&.bpk-textarea--large {
|
|
1022
|
-
padding-right: tokens.bpk-spacing-base();
|
|
1023
|
-
padding-left: tokens.bpk-spacing-xxl();
|
|
1024
|
-
background-position: right tokens.bpk-spacing-base() center;
|
|
1025
|
-
}
|
|
1026
|
-
}
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1029
|
-
@mixin bpk-textarea--large {
|
|
1030
|
-
min-height: 6 * tokens.bpk-spacing-base();
|
|
1031
|
-
padding-right: tokens.bpk-spacing-base();
|
|
1032
|
-
padding-left: tokens.bpk-spacing-base();
|
|
1033
|
-
border-radius: tokens.$bpk-input-large-border-radius;
|
|
1034
|
-
|
|
1035
|
-
&.bpk-textarea--invalid {
|
|
1036
|
-
padding-right: tokens.bpk-spacing-xxl();
|
|
1037
|
-
background-position: right tokens.bpk-spacing-base() center;
|
|
1038
|
-
|
|
1039
|
-
@include utils.bpk-rtl {
|
|
1040
|
-
padding-right: tokens.bpk-spacing-base();
|
|
1041
|
-
padding-left: tokens.bpk-spacing-xxl();
|
|
1042
|
-
background-position: left tokens.bpk-spacing-base() center;
|
|
1043
|
-
}
|
|
1044
|
-
}
|
|
1045
|
-
}
|