@skyscanner/backpack-web 38.22.0 → 40.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.
Files changed (50) hide show
  1. package/bpk-component-bottom-sheet/src/BpkBottomSheet.d.ts +15 -0
  2. package/bpk-component-bottom-sheet/src/BpkBottomSheet.js +44 -2
  3. package/bpk-component-bottom-sheet/src/BpkBottomSheet.module.css +1 -1
  4. package/bpk-component-card-list/src/BpkCardListRowRail/BpkCardListCarousel.module.css +1 -1
  5. package/bpk-component-card-list/src/BpkCardListRowRail/BpkCardListRowRailContainer.module.css +1 -1
  6. package/bpk-component-inset-banner/src/BpkInsetBannerV2/BpkInsetBannerSponsored.js +6 -0
  7. package/bpk-mixins/_badges-v2.scss +37 -36
  8. package/bpk-mixins/_badges.scss +37 -36
  9. package/bpk-mixins/_borders.scss +16 -16
  10. package/bpk-mixins/_breakpoints.scss +11 -11
  11. package/bpk-mixins/_buttons.scss +141 -137
  12. package/bpk-mixins/_cards.scss +13 -13
  13. package/bpk-mixins/_chips.scss +66 -66
  14. package/bpk-mixins/_forms.scss +214 -202
  15. package/bpk-mixins/_icons.scss +7 -4
  16. package/bpk-mixins/_index.scss +19 -19
  17. package/bpk-mixins/_layers.scss +34 -34
  18. package/bpk-mixins/_margins.scss +3 -3
  19. package/bpk-mixins/_panels.scss +9 -9
  20. package/bpk-mixins/_radii.scss +6 -6
  21. package/bpk-mixins/_scroll-indicators.scss +2 -2
  22. package/bpk-mixins/_shadows.scss +4 -4
  23. package/bpk-mixins/_spinners.scss +10 -10
  24. package/bpk-mixins/_tokens.scss +1 -3
  25. package/bpk-mixins/_typography.scss +204 -195
  26. package/bpk-mixins/_utils.scss +17 -12
  27. package/bpk-stylesheets/index.scss +13 -14
  28. package/bpk-stylesheets/normalize.css +18 -422
  29. package/bpk-stylesheets/normalize.scss +422 -0
  30. package/package.json +1 -5
  31. package/unstable__bpk-mixins/_badges-v2.scss +0 -240
  32. package/unstable__bpk-mixins/_badges.scss +0 -240
  33. package/unstable__bpk-mixins/_borders.scss +0 -268
  34. package/unstable__bpk-mixins/_breakpoints.scss +0 -221
  35. package/unstable__bpk-mixins/_buttons.scss +0 -587
  36. package/unstable__bpk-mixins/_cards.scss +0 -94
  37. package/unstable__bpk-mixins/_chips.scss +0 -249
  38. package/unstable__bpk-mixins/_forms.scss +0 -1045
  39. package/unstable__bpk-mixins/_icons.scss +0 -88
  40. package/unstable__bpk-mixins/_index.scss +0 -38
  41. package/unstable__bpk-mixins/_layers.scss +0 -199
  42. package/unstable__bpk-mixins/_margins.scss +0 -75
  43. package/unstable__bpk-mixins/_panels.scss +0 -96
  44. package/unstable__bpk-mixins/_radii.scss +0 -80
  45. package/unstable__bpk-mixins/_scroll-indicators.scss +0 -79
  46. package/unstable__bpk-mixins/_shadows.scss +0 -58
  47. package/unstable__bpk-mixins/_spinners.scss +0 -102
  48. package/unstable__bpk-mixins/_tokens.scss +0 -19
  49. package/unstable__bpk-mixins/_typography.scss +0 -1225
  50. package/unstable__bpk-mixins/_utils.scss +0 -267
@@ -18,9 +18,9 @@
18
18
 
19
19
  /* stylelint-disable at-rule-disallowed-list */
20
20
 
21
- @import 'tokens.scss';
22
- @import 'typography.scss';
23
- @import 'utils.scss';
21
+ @use 'tokens';
22
+ @use 'typography';
23
+ @use 'utils';
24
24
 
25
25
  ////
26
26
  /// @group forms
@@ -36,22 +36,22 @@
36
36
  @mixin bpk-input {
37
37
  display: inline-block;
38
38
  width: 100%;
39
- height: $bpk-input-height;
40
- padding: $bpk-input-padding-y $bpk-input-padding-x;
41
- border: $bpk-input-border;
42
- border-radius: $bpk-input-border-radius;
43
- background: $bpk-input-background;
44
- color: $bpk-text-primary-day;
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
45
  appearance: none;
46
46
 
47
47
  &::placeholder {
48
- color: $bpk-text-secondary-day;
48
+ color: tokens.$bpk-text-secondary-day;
49
49
  }
50
50
 
51
51
  &:disabled {
52
- border-color: $bpk-input-disabled-border-color;
53
- background: $bpk-input-background;
54
- color: $bpk-input-disabled-color;
52
+ border-color: tokens.$bpk-input-disabled-border-color;
53
+ background: tokens.$bpk-input-background;
54
+ color: tokens.$bpk-input-disabled-color;
55
55
  cursor: not-allowed;
56
56
  }
57
57
 
@@ -67,7 +67,7 @@
67
67
  &[type='number'],
68
68
  &[type='tel'],
69
69
  &[type='email'] {
70
- @include bpk-rtl {
70
+ @include utils.bpk-rtl {
71
71
  text-align: right;
72
72
  direction: ltr;
73
73
  }
@@ -89,16 +89,16 @@
89
89
  /// }
90
90
 
91
91
  @mixin bpk-input--valid {
92
- padding-right: bpk-spacing-xl();
93
- background: $bpk-input-background
92
+ padding-right: tokens.bpk-spacing-xl();
93
+ background: tokens.$bpk-input-background
94
94
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjMGM4MzhhICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTEyIDIyLjVDNi4yMDEgMjIuNSAxLjUgMTcuNzk5IDEuNSAxMlM2LjIwMSAxLjUgMTIgMS41IDIyLjUgNi4yMDEgMjIuNSAxMiAxNy43OTkgMjIuNSAxMiAyMi41em01LjU2LTEyLjQ0YTEuNSAxLjUgMCAwIDAtMi4xMi0yLjEybC00Ljk0IDQuOTM5LTEuOTQtMS45NGExLjUgMS41IDAgMCAwLTIuMTIgMi4xMjJsMyAzYTEuNSAxLjUgMCAwIDAgMi4xMiAwbDYtNnoiLz48L3N2Zz4=')
95
- no-repeat right bpk-spacing-md() center;
96
- background-size: $bpk-icon-size-sm $bpk-icon-size-sm;
95
+ no-repeat right tokens.bpk-spacing-md() center;
96
+ background-size: tokens.$bpk-icon-size-sm tokens.$bpk-icon-size-sm;
97
97
 
98
- @include bpk-rtl {
99
- padding-right: $bpk-input-padding-x;
100
- padding-left: bpk-spacing-xl();
101
- background-position: left bpk-spacing-md() center;
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
102
  }
103
103
  }
104
104
 
@@ -113,22 +113,22 @@
113
113
  /// }
114
114
 
115
115
  @mixin bpk-input--invalid {
116
- padding-right: bpk-spacing-xl();
117
- background: $bpk-input-background
116
+ padding-right: tokens.bpk-spacing-xl();
117
+ background: tokens.$bpk-input-background
118
118
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjZTcwODY2ICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTEyIDEuNUExMC41IDEwLjUgMCAxIDAgMjIuNSAxMiAxMC41IDEwLjUgMCAwIDAgMTIgMS41ek0xMiAxOGExLjUgMS41IDAgMSAxIDEuNS0xLjVBMS41IDEuNSAwIDAgMSAxMiAxOHptMS41LTZhMS41IDEuNSAwIDAgMS0zIDBWNy41YTEuNSAxLjUgMCAwIDEgMyAweiIvPjwvc3ZnPg==')
119
- no-repeat right bpk-spacing-md() center;
120
- background-size: $bpk-icon-size-sm $bpk-icon-size-sm;
119
+ no-repeat right tokens.bpk-spacing-md() center;
120
+ background-size: tokens.$bpk-icon-size-sm tokens.$bpk-icon-size-sm;
121
121
 
122
- @include bpk-themeable-property(
122
+ @include utils.bpk-themeable-property(
123
123
  border-color,
124
124
  --bpk-input-invalid-border-color,
125
- $bpk-form-validation-color
125
+ tokens.$bpk-form-validation-color
126
126
  );
127
127
 
128
- @include bpk-rtl {
129
- padding-right: $bpk-input-padding-x;
130
- padding-left: bpk-spacing-xl();
131
- background-position: left bpk-spacing-md() center;
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
132
  }
133
133
  }
134
134
 
@@ -143,15 +143,15 @@
143
143
  /// }
144
144
 
145
145
  @mixin bpk-input--clearable {
146
- padding-right: bpk-spacing-xl();
146
+ padding-right: tokens.bpk-spacing-xl();
147
147
 
148
- @include bpk-rtl {
149
- padding-right: $bpk-input-padding-x;
150
- padding-left: bpk-spacing-xl();
148
+ @include utils.bpk-rtl {
149
+ padding-right: tokens.$bpk-input-padding-x;
150
+ padding-left: tokens.bpk-spacing-xl();
151
151
  }
152
152
 
153
153
  &:focus {
154
- background: $bpk-input-background;
154
+ background: tokens.$bpk-input-background;
155
155
  }
156
156
  }
157
157
 
@@ -183,36 +183,36 @@
183
183
 
184
184
  @mixin bpk-input__clear-button {
185
185
  position: absolute;
186
- right: bpk-spacing-md();
187
- height: $bpk-input-height;
186
+ right: tokens.bpk-spacing-md();
187
+ height: tokens.$bpk-input-height;
188
188
 
189
189
  // remove any default button styling
190
190
  padding: 0;
191
191
  border: 0;
192
192
  background-color: transparent;
193
- color: $bpk-text-secondary-day;
193
+ color: tokens.$bpk-text-secondary-day;
194
194
  cursor: pointer;
195
195
  appearance: none; // hidden by default
196
196
 
197
- @include bpk-rtl {
197
+ @include utils.bpk-rtl {
198
198
  right: inherit;
199
- left: bpk-spacing-md();
199
+ left: tokens.bpk-spacing-md();
200
200
  }
201
201
 
202
202
  @include utils.bpk-hover {
203
- color: $bpk-text-primary-day;
203
+ color: tokens.$bpk-text-primary-day;
204
204
  }
205
205
 
206
206
  &:active {
207
- color: $bpk-text-primary-day;
207
+ color: tokens.$bpk-text-primary-day;
208
208
  }
209
209
 
210
210
  &--large {
211
- right: bpk-spacing-base();
212
- height: $bpk-input-large-height;
211
+ right: tokens.bpk-spacing-base();
212
+ height: tokens.$bpk-input-large-height;
213
213
 
214
- @include bpk-rtl {
215
- left: bpk-spacing-base();
214
+ @include utils.bpk-rtl {
215
+ left: tokens.bpk-spacing-base();
216
216
  }
217
217
  }
218
218
  }
@@ -228,21 +228,21 @@
228
228
  /// }
229
229
 
230
230
  @mixin bpk-input--large {
231
- height: $bpk-input-large-height;
232
- padding-right: bpk-spacing-base();
233
- padding-left: bpk-spacing-base();
234
- border-radius: $bpk-input-large-border-radius;
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
235
 
236
236
  &.bpk-input--valid,
237
237
  &.bpk-input--invalid,
238
238
  &.bpk-input--clearable {
239
- padding-right: bpk-spacing-xxl();
240
- background-position: right bpk-spacing-base() center;
239
+ padding-right: tokens.bpk-spacing-xxl();
240
+ background-position: right tokens.bpk-spacing-base() center;
241
241
 
242
- @include bpk-rtl {
243
- padding-right: bpk-spacing-base();
244
- padding-left: bpk-spacing-xxl();
245
- background-position: left bpk-spacing-base() center;
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
246
  }
247
247
  }
248
248
  }
@@ -259,12 +259,14 @@
259
259
 
260
260
  @mixin bpk-input--docked-first-child {
261
261
  border-right-width: 0;
262
- border-radius: $bpk-input-border-radius 0 0 $bpk-input-border-radius;
262
+ border-radius: tokens.$bpk-input-border-radius 0 0
263
+ tokens.$bpk-input-border-radius;
263
264
 
264
- @include bpk-rtl {
265
- border-right-width: $bpk-input-border-width;
265
+ @include utils.bpk-rtl {
266
+ border-right-width: tokens.$bpk-input-border-width;
266
267
  border-left-width: 0;
267
- border-radius: 0 $bpk-input-border-radius $bpk-input-border-radius 0;
268
+ border-radius: 0 tokens.$bpk-input-border-radius
269
+ tokens.$bpk-input-border-radius 0;
268
270
  }
269
271
 
270
272
  &:focus {
@@ -283,10 +285,12 @@
283
285
  /// }
284
286
 
285
287
  @mixin bpk-input--docked-last-child {
286
- border-radius: 0 $bpk-input-border-radius $bpk-input-border-radius 0;
288
+ border-radius: 0 tokens.$bpk-input-border-radius
289
+ tokens.$bpk-input-border-radius 0;
287
290
 
288
- @include bpk-rtl {
289
- border-radius: $bpk-input-border-radius 0 0 $bpk-input-border-radius;
291
+ @include utils.bpk-rtl {
292
+ border-radius: tokens.$bpk-input-border-radius 0 0
293
+ tokens.$bpk-input-border-radius;
290
294
  }
291
295
 
292
296
  &:focus {
@@ -308,8 +312,8 @@
308
312
  border-right-width: 0;
309
313
  border-radius: 0;
310
314
 
311
- @include bpk-rtl {
312
- border-right-width: $bpk-input-border-width;
315
+ @include utils.bpk-rtl {
316
+ border-right-width: tokens.$bpk-input-border-width;
313
317
  border-left-width: 0;
314
318
  }
315
319
 
@@ -352,39 +356,42 @@
352
356
  @mixin bpk-select {
353
357
  display: inline-block;
354
358
  width: 100%;
355
- height: $bpk-input-height;
356
- padding: bpk-spacing-md() - (2 * $bpk-one-pixel-rem) bpk-spacing-md();
357
- padding-right: bpk-spacing-xl();
358
- border: solid $bpk-one-pixel-rem $bpk-line-day;
359
- border-radius: $bpk-select-border-radius;
360
- background: $bpk-surface-default-day
359
+ height: tokens.$bpk-input-height;
360
+ padding: tokens.bpk-spacing-md() - (2 * tokens.$bpk-one-pixel-rem)
361
+ tokens.bpk-spacing-md();
362
+ padding-right: tokens.bpk-spacing-xl();
363
+ border: solid tokens.$bpk-one-pixel-rem tokens.$bpk-line-day;
364
+ border-radius: tokens.$bpk-select-border-radius;
365
+ background: tokens.$bpk-surface-default-day
361
366
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjMTYxNjE2ICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTE2LjUzNyA4LjI1SDcuNDYzYTEuMzU4IDEuMzU4IDAgMCAwLTEuMTEgMi4yNTFsNC4zNTQgNC43N2ExLjUzIDEuNTMgMCAwIDAgMi4xODQuMDRsNC43MTgtNC43N2ExLjM1NyAxLjM1NyAwIDAgMC0xLjA3Mi0yLjI5MXoiLz48L3N2Zz4=')
362
- no-repeat right bpk-spacing-md() center;
363
- background-size: $bpk-input-height / 2;
364
- color: $bpk-text-primary-day;
365
- line-height: ($bpk-line-height-base - (2 * $bpk-select-border-width));
367
+ no-repeat right tokens.bpk-spacing-md() center;
368
+ background-size: tokens.$bpk-input-height * 0.5;
369
+ color: tokens.$bpk-text-primary-day;
370
+ line-height: (
371
+ tokens.$bpk-line-height-base - (2 * tokens.$bpk-select-border-width)
372
+ );
366
373
  appearance: none;
367
374
 
368
- @include bpk-rtl {
369
- padding-right: bpk-spacing-md();
370
- padding-left: bpk-spacing-xl();
371
- background-position: left bpk-spacing-md() center;
375
+ @include utils.bpk-rtl {
376
+ padding-right: tokens.bpk-spacing-md();
377
+ padding-left: tokens.bpk-spacing-xl();
378
+ background-position: left tokens.bpk-spacing-md() center;
372
379
  }
373
380
 
374
381
  @media screen\0 {
375
382
  /* stylelint-disable-next-line declaration-no-important */
376
- padding: bpk-spacing-md() !important;
383
+ padding: tokens.bpk-spacing-md() !important;
377
384
  /* stylelint-disable-next-line declaration-no-important */
378
385
  background-image: none !important;
379
386
  }
380
387
 
381
388
  &:disabled {
382
- border-color: $bpk-surface-highlight-day;
383
- background: $bpk-surface-default-day
389
+ border-color: tokens.$bpk-surface-highlight-day;
390
+ background: tokens.$bpk-surface-default-day
384
391
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjMDAwMDAwICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTE2LjUzNyA4LjI1SDcuNDYzYTEuMzU4IDEuMzU4IDAgMCAwLTEuMTEgMi4yNTFsNC4zNTQgNC43N2ExLjUzIDEuNTMgMCAwIDAgMi4xODQuMDRsNC43MTgtNC43N2ExLjM1NyAxLjM1NyAwIDAgMC0xLjA3Mi0yLjI5MXoiLz48L3N2Zz4=')
385
- no-repeat right bpk-spacing-md() center;
386
- background-size: $bpk-input-height / 2;
387
- color: $bpk-text-disabled-day;
392
+ no-repeat right tokens.bpk-spacing-md() center;
393
+ background-size: tokens.$bpk-input-height * 0.5;
394
+ color: tokens.$bpk-text-disabled-day;
388
395
  cursor: not-allowed;
389
396
  }
390
397
  }
@@ -400,18 +407,18 @@
400
407
  /// }
401
408
 
402
409
  @mixin bpk-select--large {
403
- height: $bpk-input-large-height;
404
- padding: bpk-spacing-md() bpk-spacing-base();
405
- padding-right: bpk-spacing-xxl();
406
- border-radius: $bpk-select-large-border-radius;
407
- background: $bpk-surface-default-day
410
+ height: tokens.$bpk-input-large-height;
411
+ padding: tokens.bpk-spacing-md() tokens.bpk-spacing-base();
412
+ padding-right: tokens.bpk-spacing-xxl();
413
+ border-radius: tokens.$bpk-select-large-border-radius;
414
+ background: tokens.$bpk-surface-default-day
408
415
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjMTYxNjE2ICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTE2LjUzNyA4LjI1SDcuNDYzYTEuMzU4IDEuMzU4IDAgMCAwLTEuMTEgMi4yNTFsNC4zNTQgNC43N2ExLjUzIDEuNTMgMCAwIDAgMi4xODQuMDRsNC43MTgtNC43N2ExLjM1NyAxLjM1NyAwIDAgMC0xLjA3Mi0yLjI5MXoiLz48L3N2Zz4=')
409
- no-repeat right bpk-spacing-base() center;
416
+ no-repeat right tokens.bpk-spacing-base() center;
410
417
 
411
- @include bpk-rtl {
412
- padding-right: bpk-spacing-base();
413
- padding-left: bpk-spacing-xxl();
414
- background-position: left bpk-spacing-base() center;
418
+ @include utils.bpk-rtl {
419
+ padding-right: tokens.bpk-spacing-base();
420
+ padding-left: tokens.bpk-spacing-xxl();
421
+ background-position: left tokens.bpk-spacing-base() center;
415
422
  }
416
423
  }
417
424
 
@@ -427,12 +434,14 @@
427
434
 
428
435
  @mixin bpk-select--docked-first-child {
429
436
  border-right-width: 0;
430
- border-radius: $bpk-select-border-radius 0 0 $bpk-select-border-radius;
437
+ border-radius: tokens.$bpk-select-border-radius 0 0
438
+ tokens.$bpk-select-border-radius;
431
439
 
432
- @include bpk-rtl {
433
- border-right-width: $bpk-select-border-width;
440
+ @include utils.bpk-rtl {
441
+ border-right-width: tokens.$bpk-select-border-width;
434
442
  border-left-width: 0;
435
- border-radius: 0 $bpk-select-border-radius $bpk-select-border-radius 0;
443
+ border-radius: 0 tokens.$bpk-select-border-radius
444
+ tokens.$bpk-select-border-radius 0;
436
445
  }
437
446
  }
438
447
 
@@ -447,10 +456,12 @@
447
456
  /// }
448
457
 
449
458
  @mixin bpk-select--docked-last-child {
450
- border-radius: 0 $bpk-select-border-radius $bpk-select-border-radius 0;
459
+ border-radius: 0 tokens.$bpk-select-border-radius
460
+ tokens.$bpk-select-border-radius 0;
451
461
 
452
- @include bpk-rtl {
453
- border-radius: $bpk-select-border-radius 0 0 $bpk-select-border-radius;
462
+ @include utils.bpk-rtl {
463
+ border-radius: tokens.$bpk-select-border-radius 0 0
464
+ tokens.$bpk-select-border-radius;
454
465
  }
455
466
  }
456
467
 
@@ -468,8 +479,8 @@
468
479
  border-right-width: 0;
469
480
  border-radius: 0;
470
481
 
471
- @include bpk-rtl {
472
- border-right-width: $bpk-select-border-width;
482
+ @include utils.bpk-rtl {
483
+ border-right-width: tokens.$bpk-select-border-width;
473
484
  border-left-width: 0;
474
485
  }
475
486
  }
@@ -509,22 +520,22 @@
509
520
  /// }
510
521
 
511
522
  @mixin bpk-select--invalid {
512
- padding-right: bpk-spacing-xl();
513
- background: $bpk-surface-default-day
523
+ padding-right: tokens.bpk-spacing-xl();
524
+ background: tokens.$bpk-surface-default-day
514
525
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjMTYxNjE2ICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTE2LjUzNyA4LjI1SDcuNDYzYTEuMzU4IDEuMzU4IDAgMCAwLTEuMTEgMi4yNTFsNC4zNTQgNC43N2ExLjUzIDEuNTMgMCAwIDAgMi4xODQuMDRsNC43MTgtNC43N2ExLjM1NyAxLjM1NyAwIDAgMC0xLjA3Mi0yLjI5MXoiLz48L3N2Zz4=')
515
- no-repeat right bpk-spacing-md() center;
516
- background-size: $bpk-input-height / 2;
526
+ no-repeat right tokens.bpk-spacing-md() center;
527
+ background-size: tokens.$bpk-input-height * 0.5;
517
528
 
518
- @include bpk-themeable-property(
529
+ @include utils.bpk-themeable-property(
519
530
  border-color,
520
531
  --bpk-select-invalid-border-color,
521
- $bpk-form-validation-color
532
+ tokens.$bpk-form-validation-color
522
533
  );
523
534
 
524
- @include bpk-rtl {
525
- padding-right: bpk-spacing-md();
526
- padding-left: bpk-spacing-xl();
527
- background-position: left bpk-spacing-md() center;
535
+ @include utils.bpk-rtl {
536
+ padding-right: tokens.bpk-spacing-md();
537
+ padding-left: tokens.bpk-spacing-xl();
538
+ background-position: left tokens.bpk-spacing-md() center;
528
539
  }
529
540
  }
530
541
 
@@ -538,13 +549,13 @@
538
549
  @mixin bpk-checkbox {
539
550
  position: relative;
540
551
  display: inline-block;
541
- padding-left: bpk-spacing-lg() + bpk-spacing-sm();
552
+ padding-left: tokens.bpk-spacing-lg() + tokens.bpk-spacing-sm();
542
553
 
543
- @include bpk-text;
544
- @include bpk-body-default;
554
+ @include typography.bpk-text;
555
+ @include typography.bpk-body-default;
545
556
 
546
- @include bpk-rtl {
547
- padding-right: bpk-spacing-lg() + bpk-spacing-sm();
557
+ @include utils.bpk-rtl {
558
+ padding-right: tokens.bpk-spacing-lg() + tokens.bpk-spacing-sm();
548
559
  padding-left: 0;
549
560
  }
550
561
  }
@@ -570,8 +581,8 @@
570
581
  /// }
571
582
 
572
583
  @mixin bpk-checkbox__label--small {
573
- @include bpk-text;
574
- @include bpk-caption;
584
+ @include typography.bpk-text;
585
+ @include typography.bpk-caption;
575
586
  }
576
587
 
577
588
  /// White label checkbox. Modifies the bpk-checkbox mixin.
@@ -585,7 +596,7 @@
585
596
  /// }
586
597
 
587
598
  @mixin bpk-checkbox--white {
588
- color: $bpk-surface-default-day;
599
+ color: tokens.$bpk-surface-default-day;
589
600
  }
590
601
 
591
602
  /// Disabled form checkbox. Modifies the bpk-checkbox mixin.
@@ -599,7 +610,7 @@
599
610
  /// }
600
611
 
601
612
  @mixin bpk-checkbox--disabled {
602
- color: $bpk-label-disabled-color;
613
+ color: tokens.$bpk-label-disabled-color;
603
614
  cursor: not-allowed;
604
615
  }
605
616
 
@@ -615,7 +626,7 @@
615
626
 
616
627
  @mixin bpk-checkbox--invalid {
617
628
  input[type='checkbox'] {
618
- border: ($bpk-one-pixel-rem * 3) solid $bpk-text-error-day;
629
+ border: (tokens.$bpk-one-pixel-rem * 3) solid tokens.$bpk-text-error-day;
619
630
  }
620
631
  }
621
632
 
@@ -629,8 +640,8 @@
629
640
  @mixin bpk-checkbox__checkmark {
630
641
  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
642
  background-repeat: no-repeat;
632
- background-position: $bpk-one-pixel-rem center;
633
- background-size: calc(100% - $bpk-one-pixel-rem * 2.5) auto;
643
+ background-position: tokens.$bpk-one-pixel-rem center;
644
+ background-size: calc(100% - tokens.$bpk-one-pixel-rem * 2.5) auto;
634
645
 
635
646
  &:disabled {
636
647
  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');
@@ -645,22 +656,23 @@
645
656
  /// }
646
657
 
647
658
  @mixin bpk-checkbox__input {
648
- $checkbox-input-size: bpk-spacing-lg() - ($bpk-one-pixel-rem * 4);
659
+ $checkbox-input-size: tokens.bpk-spacing-lg() -
660
+ (tokens.$bpk-one-pixel-rem * 4);
649
661
 
650
662
  position: absolute;
651
- top: ($bpk-line-height-base - $checkbox-input-size) / 2;
663
+ top: (tokens.$bpk-line-height-base - $checkbox-input-size) * 0.5;
652
664
  left: 0;
653
665
  width: $checkbox-input-size;
654
666
  height: $checkbox-input-size;
655
667
  margin: 0;
656
668
  padding: 0;
657
- border: ($bpk-one-pixel-rem * 3) solid $bpk-text-secondary-day;
658
- border-radius: ($bpk-one-pixel-rem * 4);
669
+ border: (tokens.$bpk-one-pixel-rem * 3) solid tokens.$bpk-text-secondary-day;
670
+ border-radius: (tokens.$bpk-one-pixel-rem * 4);
659
671
  cursor: pointer;
660
672
  vertical-align: text-bottom;
661
673
  appearance: none;
662
674
 
663
- @include bpk-rtl {
675
+ @include utils.bpk-rtl {
664
676
  right: 0;
665
677
  left: auto;
666
678
  }
@@ -672,19 +684,19 @@
672
684
 
673
685
  &:checked,
674
686
  &:indeterminate {
675
- @include bpk-themeable-property(
687
+ @include utils.bpk-themeable-property(
676
688
  background-color,
677
689
  --bpk-checkbox-checked-color,
678
- $bpk-core-accent-day
690
+ tokens.$bpk-core-accent-day
679
691
  );
680
- @include bpk-themeable-property(
692
+ @include utils.bpk-themeable-property(
681
693
  border-color,
682
694
  --bpk-checkbox-checked-color,
683
- $bpk-core-accent-day
695
+ tokens.$bpk-core-accent-day
684
696
  );
685
697
 
686
698
  &:disabled {
687
- border-color: $bpk-text-disabled-day;
699
+ border-color: tokens.$bpk-text-disabled-day;
688
700
  background: none;
689
701
  }
690
702
  }
@@ -694,7 +706,7 @@
694
706
  }
695
707
 
696
708
  &:disabled {
697
- border-color: $bpk-text-disabled-day;
709
+ border-color: tokens.$bpk-text-disabled-day;
698
710
  }
699
711
  }
700
712
 
@@ -704,8 +716,8 @@
704
716
  ///
705
717
  /// @access private
706
718
  @mixin _bpk-radio-border($color) {
707
- border: $bpk-border-size-xl solid $color;
708
- border-radius: $bpk-border-radius-lg;
719
+ border: tokens.$bpk-border-size-xl solid $color;
720
+ border-radius: tokens.$bpk-border-radius-lg;
709
721
  }
710
722
 
711
723
  /// Form radio button. Should be applied to containing label element.
@@ -718,10 +730,10 @@
718
730
  @mixin bpk-radio {
719
731
  position: relative;
720
732
  display: inline-block;
721
- padding-left: bpk-spacing-lg() + bpk-spacing-sm();
733
+ padding-left: tokens.bpk-spacing-lg() + tokens.bpk-spacing-sm();
722
734
 
723
- @include bpk-rtl {
724
- padding-right: bpk-spacing-lg() + bpk-spacing-sm();
735
+ @include utils.bpk-rtl {
736
+ padding-right: tokens.bpk-spacing-lg() + tokens.bpk-spacing-sm();
725
737
  padding-left: 0;
726
738
  }
727
739
  }
@@ -737,7 +749,7 @@
737
749
  /// }
738
750
 
739
751
  @mixin bpk-radio--disabled {
740
- color: $bpk-label-disabled-color;
752
+ color: tokens.$bpk-label-disabled-color;
741
753
  cursor: not-allowed;
742
754
  }
743
755
 
@@ -752,10 +764,10 @@
752
764
  /// }
753
765
 
754
766
  @mixin bpk-radio--white {
755
- color: $bpk-text-primary-inverse-day;
767
+ color: tokens.$bpk-text-primary-inverse-day;
756
768
 
757
769
  input[type='radio'] {
758
- background: $bpk-text-primary-inverse-day;
770
+ background: tokens.$bpk-text-primary-inverse-day;
759
771
  }
760
772
  }
761
773
 
@@ -771,7 +783,7 @@
771
783
 
772
784
  @mixin bpk-radio--invalid {
773
785
  input[type='radio'] {
774
- @include _bpk-radio-border($bpk-text-error-day);
786
+ @include _bpk-radio-border(tokens.$bpk-text-error-day);
775
787
  }
776
788
  }
777
789
 
@@ -783,7 +795,7 @@
783
795
  /// }
784
796
 
785
797
  @mixin bpk-radio__input {
786
- $bpk-radio-size: bpk-spacing-lg() - ($bpk-one-pixel-rem * 4);
798
+ $bpk-radio-size: tokens.bpk-spacing-lg() - (tokens.$bpk-one-pixel-rem * 4);
787
799
 
788
800
  position: absolute;
789
801
  top: 0;
@@ -796,9 +808,9 @@
796
808
  vertical-align: text-bottom;
797
809
  appearance: none;
798
810
 
799
- @include _bpk-radio-border($bpk-text-secondary-day);
811
+ @include _bpk-radio-border(tokens.$bpk-text-secondary-day);
800
812
 
801
- @include bpk-rtl {
813
+ @include utils.bpk-rtl {
802
814
  right: 0;
803
815
  left: auto;
804
816
  }
@@ -809,19 +821,19 @@
809
821
  }
810
822
 
811
823
  &:checked {
812
- @include bpk-themeable-property(
824
+ @include utils.bpk-themeable-property(
813
825
  border-color,
814
826
  --bpk-radio-checked-color,
815
- $bpk-core-accent-day
827
+ tokens.$bpk-core-accent-day
816
828
  );
817
829
 
818
830
  &:disabled {
819
- border-color: $bpk-text-disabled-day;
831
+ border-color: tokens.$bpk-text-disabled-day;
820
832
  }
821
833
  }
822
834
 
823
835
  &:disabled {
824
- border-color: $bpk-text-disabled-day;
836
+ border-color: tokens.$bpk-text-disabled-day;
825
837
  }
826
838
  }
827
839
 
@@ -834,10 +846,10 @@
834
846
 
835
847
  @mixin bpk-label {
836
848
  display: block;
837
- color: $bpk-text-primary-day;
838
- font-size: $bpk-font-size-xs;
839
- font-weight: $bpk-font-weight-bold;
840
- line-height: $bpk-line-height-xs;
849
+ color: tokens.$bpk-text-primary-day;
850
+ font-size: tokens.$bpk-font-size-xs;
851
+ font-weight: tokens.$bpk-font-weight-bold;
852
+ line-height: tokens.$bpk-line-height-xs;
841
853
  }
842
854
 
843
855
  /// Invalid form label. Modifies the bpk-label mixin.
@@ -851,10 +863,10 @@
851
863
  /// }
852
864
 
853
865
  @mixin bpk-label--invalid {
854
- @include bpk-themeable-property(
866
+ @include utils.bpk-themeable-property(
855
867
  color,
856
868
  --bpk-form-validation-text-color,
857
- $bpk-form-validation-color
869
+ tokens.$bpk-form-validation-color
858
870
  );
859
871
  }
860
872
 
@@ -869,7 +881,7 @@
869
881
  /// }
870
882
 
871
883
  @mixin bpk-label--white {
872
- color: $bpk-color-white;
884
+ color: tokens.$bpk-color-white;
873
885
  }
874
886
 
875
887
  /// Disabled form label. Modifies the bpk-label mixin.
@@ -883,7 +895,7 @@
883
895
  /// }
884
896
 
885
897
  @mixin bpk-label--disabled {
886
- color: $bpk-label-disabled-color;
898
+ color: tokens.$bpk-label-disabled-color;
887
899
  cursor: not-allowed;
888
900
  }
889
901
 
@@ -896,16 +908,16 @@
896
908
 
897
909
  @mixin bpk-form-validation {
898
910
  position: relative;
899
- transform: translateY(-#{bpk-spacing-base()});
911
+ transform: translateY(-#{tokens.bpk-spacing-base()});
900
912
  transition:
901
- opacity $bpk-duration-sm ease-in-out,
902
- transform $bpk-duration-sm ease-in-out;
913
+ opacity tokens.$bpk-duration-sm ease-in-out,
914
+ transform tokens.$bpk-duration-sm ease-in-out;
903
915
  opacity: 0;
904
916
 
905
- @include bpk-themeable-property(
917
+ @include utils.bpk-themeable-property(
906
918
  color,
907
919
  --bpk-form-validation-text-color,
908
- $bpk-form-validation-color
920
+ tokens.$bpk-form-validation-color
909
921
  );
910
922
  }
911
923
 
@@ -952,8 +964,8 @@
952
964
  /// }
953
965
 
954
966
  @mixin bpk-form-validation__container {
955
- margin-top: bpk-spacing-md();
956
- font-size: $bpk-font-size-xs;
967
+ margin-top: tokens.bpk-spacing-md();
968
+ font-size: tokens.$bpk-font-size-xs;
957
969
  }
958
970
 
959
971
  /// Form textarea.
@@ -967,22 +979,22 @@
967
979
  display: inline-block;
968
980
  width: 100%;
969
981
  max-width: 100%;
970
- min-height: bpk-spacing-md() * 11;
971
- padding: $bpk-input-padding-y $bpk-input-padding-x;
972
- border: $bpk-input-border;
973
- border-radius: $bpk-input-border-radius;
974
- background: $bpk-input-background;
975
- color: $bpk-text-primary-day;
982
+ min-height: tokens.bpk-spacing-md() * 11;
983
+ padding: tokens.$bpk-input-padding-y tokens.$bpk-input-padding-x;
984
+ border: tokens.$bpk-input-border;
985
+ border-radius: tokens.$bpk-input-border-radius;
986
+ background: tokens.$bpk-input-background;
987
+ color: tokens.$bpk-text-primary-day;
976
988
  appearance: none;
977
989
 
978
990
  &::placeholder {
979
- color: $bpk-text-secondary-day;
991
+ color: tokens.$bpk-text-secondary-day;
980
992
  }
981
993
 
982
994
  &:disabled {
983
- border-color: $bpk-input-disabled-border-color;
984
- background: $bpk-input-background;
985
- color: $bpk-input-disabled-color;
995
+ border-color: tokens.$bpk-input-disabled-border-color;
996
+ background: tokens.$bpk-input-background;
997
+ color: tokens.$bpk-input-disabled-color;
986
998
  cursor: not-allowed;
987
999
  }
988
1000
 
@@ -1002,44 +1014,44 @@
1002
1014
  /// }
1003
1015
 
1004
1016
  @mixin bpk-textarea--invalid {
1005
- padding-right: bpk-spacing-xl();
1006
- background: $bpk-input-background
1017
+ padding-right: tokens.bpk-spacing-xl();
1018
+ background: tokens.$bpk-input-background
1007
1019
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmNpcmNsZSwgZWxsaXBzZSwgbGluZSwgcGF0aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgeyBmaWxsOiAjZTcwODY2ICFpbXBvcnRhbnQgfTwvc3R5bGU+PHBhdGggZD0iTTEyIDEuNUExMC41IDEwLjUgMCAxIDAgMjIuNSAxMiAxMC41IDEwLjUgMCAwIDAgMTIgMS41ek0xMiAxOGExLjUgMS41IDAgMSAxIDEuNS0xLjVBMS41IDEuNSAwIDAgMSAxMiAxOHptMS41LTZhMS41IDEuNSAwIDAgMS0zIDBWNy41YTEuNSAxLjUgMCAwIDEgMyAweiIvPjwvc3ZnPg==')
1008
- no-repeat right bpk-spacing-md() center;
1020
+ no-repeat right tokens.bpk-spacing-md() center;
1009
1021
 
1010
- @include bpk-themeable-property(
1022
+ @include utils.bpk-themeable-property(
1011
1023
  border-color,
1012
1024
  --bpk-textarea-invalid-border-color,
1013
- $bpk-form-validation-color
1025
+ tokens.$bpk-form-validation-color
1014
1026
  );
1015
1027
 
1016
- @include bpk-rtl {
1017
- padding-right: $bpk-input-padding-x;
1018
- padding-left: bpk-spacing-xl();
1019
- background-position: left bpk-spacing-md() center;
1028
+ @include utils.bpk-rtl {
1029
+ padding-right: tokens.$bpk-input-padding-x;
1030
+ padding-left: tokens.bpk-spacing-xl();
1031
+ background-position: left tokens.bpk-spacing-md() center;
1020
1032
 
1021
1033
  &.bpk-textarea--large {
1022
- padding-right: bpk-spacing-base();
1023
- padding-left: bpk-spacing-xxl();
1024
- background-position: right bpk-spacing-base() center;
1034
+ padding-right: tokens.bpk-spacing-base();
1035
+ padding-left: tokens.bpk-spacing-xxl();
1036
+ background-position: right tokens.bpk-spacing-base() center;
1025
1037
  }
1026
1038
  }
1027
1039
  }
1028
1040
 
1029
1041
  @mixin bpk-textarea--large {
1030
- min-height: 6 * bpk-spacing-base();
1031
- padding-right: bpk-spacing-base();
1032
- padding-left: bpk-spacing-base();
1033
- border-radius: $bpk-input-large-border-radius;
1042
+ min-height: 6 * tokens.bpk-spacing-base();
1043
+ padding-right: tokens.bpk-spacing-base();
1044
+ padding-left: tokens.bpk-spacing-base();
1045
+ border-radius: tokens.$bpk-input-large-border-radius;
1034
1046
 
1035
1047
  &.bpk-textarea--invalid {
1036
- padding-right: bpk-spacing-xxl();
1037
- background-position: right bpk-spacing-base() center;
1048
+ padding-right: tokens.bpk-spacing-xxl();
1049
+ background-position: right tokens.bpk-spacing-base() center;
1038
1050
 
1039
- @include bpk-rtl {
1040
- padding-right: bpk-spacing-base();
1041
- padding-left: bpk-spacing-xxl();
1042
- background-position: left bpk-spacing-base() center;
1051
+ @include utils.bpk-rtl {
1052
+ padding-right: tokens.bpk-spacing-base();
1053
+ padding-left: tokens.bpk-spacing-xxl();
1054
+ background-position: left tokens.bpk-spacing-base() center;
1043
1055
  }
1044
1056
  }
1045
1057
  }