@skyscanner/backpack-web 41.18.0 → 41.19.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 (47) hide show
  1. package/bpk-component-badge/index.d.ts +2 -2
  2. package/bpk-component-badge/index.js +2 -2
  3. package/bpk-component-badge/src/BpkBadge.module.css +1 -1
  4. package/bpk-component-badge/src/themeAttributes.d.ts +25 -2
  5. package/bpk-component-badge/src/themeAttributes.js +27 -1
  6. package/bpk-component-button/index.d.ts +2 -2
  7. package/bpk-component-button/index.js +1 -1
  8. package/bpk-component-button/src/BpkButtonV2/BpkButton.d.ts +1 -1
  9. package/bpk-component-button/src/BpkButtonV2/BpkButton.js +38 -6
  10. package/bpk-component-button/src/BpkButtonV2/BpkButton.module.css +1 -1
  11. package/bpk-component-button/src/BpkButtonV2/common-types.d.ts +2 -0
  12. package/bpk-component-button/src/themeAttributes.d.ts +1 -0
  13. package/bpk-component-button/src/themeAttributes.js +3 -2
  14. package/bpk-component-chip/index.d.ts +2 -2
  15. package/bpk-component-chip/index.js +2 -2
  16. package/bpk-component-chip/src/BpkSelectableChip.module.css +1 -1
  17. package/bpk-component-chip/src/themeAttributes.d.ts +4 -0
  18. package/bpk-component-chip/src/themeAttributes.js +7 -1
  19. package/bpk-component-pagination/src/BpkPaginationPage.module.css +1 -1
  20. package/bpk-component-scrollable-calendar/src/utils.d.ts +1 -1
  21. package/bpk-component-segmented-control/index.d.ts +2 -0
  22. package/bpk-component-segmented-control/index.js +2 -1
  23. package/bpk-component-segmented-control/src/BpkSegmentedControlV2/BpkSegmentedControlV2.d.ts +19 -0
  24. package/bpk-component-segmented-control/src/BpkSegmentedControlV2/BpkSegmentedControlV2.js +81 -0
  25. package/bpk-component-segmented-control/src/BpkSegmentedControlV2/BpkSegmentedControlV2.module.css +18 -0
  26. package/bpk-component-segmented-control/src/BpkSegmentedControlV2/common-types.d.ts +57 -0
  27. package/bpk-component-segmented-control/src/BpkSegmentedControlV2/common-types.js +24 -0
  28. package/bpk-component-table/index.d.ts +13 -0
  29. package/bpk-component-table/index.js +3 -1
  30. package/bpk-component-table/src/BpkTable.d.ts +8 -0
  31. package/bpk-component-table/src/BpkTable.js +7 -14
  32. package/bpk-component-table/src/BpkTableBody.d.ts +7 -0
  33. package/bpk-component-table/src/BpkTableBody.js +3 -5
  34. package/bpk-component-table/src/BpkTableCell.d.ts +9 -0
  35. package/bpk-component-table/src/BpkTableCell.js +7 -15
  36. package/bpk-component-table/src/BpkTableHead.d.ts +7 -0
  37. package/bpk-component-table/src/BpkTableHead.js +3 -5
  38. package/bpk-component-table/src/BpkTableHeadCell.d.ts +9 -0
  39. package/bpk-component-table/src/BpkTableHeadCell.js +2 -6
  40. package/bpk-component-table/src/BpkTableRow.d.ts +7 -0
  41. package/bpk-component-table/src/BpkTableRow.js +3 -5
  42. package/bpk-mixins/_badges.scss +147 -25
  43. package/bpk-mixins/_buttons.scss +173 -79
  44. package/bpk-mixins/_chips.scss +104 -18
  45. package/bpk-mixins/_index.scss +1 -0
  46. package/bpk-mixins/_segmented-control.scss +263 -0
  47. package/package.json +2 -1
@@ -26,6 +26,112 @@
26
26
  /// @group buttons
27
27
  ////
28
28
 
29
+ // --- Private: pressed/hover colour declarations ---
30
+ // These mixins centralise pressed/hover token references.
31
+ // hover and loading can include the same mixin — token values
32
+ // are defined exactly once.
33
+
34
+ @mixin _bpk-button-primary-hover {
35
+ @include utils.bpk-themeable-property(
36
+ background-color,
37
+ --bpk-button-primary-hover-background-color,
38
+ tokens.$bpk-private-button-primary-pressed-background-day
39
+ );
40
+ @include utils.bpk-themeable-property(
41
+ color,
42
+ --bpk-button-primary-hover-text-color,
43
+ tokens.$bpk-text-on-dark-day
44
+ );
45
+ }
46
+
47
+ @mixin _bpk-button-primary-on-dark-hover {
48
+ @include utils.bpk-themeable-property(
49
+ background-color,
50
+ --bpk-button-primary-on-dark-hover-background-color,
51
+ tokens.$bpk-private-button-primary-on-dark-pressed-background-day
52
+ );
53
+ @include utils.bpk-themeable-property(
54
+ color,
55
+ --bpk-button-primary-on-dark-hover-text-color,
56
+ tokens.$bpk-text-on-light-day
57
+ );
58
+ }
59
+
60
+ @mixin _bpk-button-primary-on-light-hover {
61
+ @include utils.bpk-themeable-property(
62
+ background-color,
63
+ --bpk-button-primary-on-light-hover-background-color,
64
+ tokens.$bpk-private-button-primary-on-light-pressed-background-day
65
+ );
66
+ @include utils.bpk-themeable-property(
67
+ color,
68
+ --bpk-button-primary-on-light-hover-text-color,
69
+ tokens.$bpk-text-on-dark-night
70
+ );
71
+ }
72
+
73
+ @mixin _bpk-button-secondary-hover {
74
+ @include utils.bpk-themeable-property(
75
+ background-color,
76
+ --bpk-button-secondary-hover-background-color,
77
+ tokens.$bpk-private-button-secondary-pressed-background-day
78
+ );
79
+ @include utils.bpk-themeable-property(
80
+ color,
81
+ --bpk-button-secondary-hover-text-color,
82
+ tokens.$bpk-text-primary-day
83
+ );
84
+ }
85
+
86
+ @mixin _bpk-button-secondary-on-dark-hover {
87
+ @include utils.bpk-themeable-property(
88
+ background-color,
89
+ --bpk-button-secondary-on-dark-hover-background-color,
90
+ tokens.$bpk-private-button-secondary-on-dark-pressed-background-day
91
+ );
92
+ @include utils.bpk-themeable-property(
93
+ color,
94
+ --bpk-button-secondary-on-dark-hover-text-color,
95
+ tokens.$bpk-text-on-dark-day
96
+ );
97
+ }
98
+
99
+ @mixin _bpk-button-destructive-hover {
100
+ @include utils.bpk-themeable-property(
101
+ background-color,
102
+ --bpk-button-destructive-hover-background-color,
103
+ tokens.$bpk-private-button-destructive-pressed-background-day
104
+ );
105
+ @include utils.bpk-themeable-property(
106
+ color,
107
+ --bpk-button-destructive-hover-text-color,
108
+ tokens.$bpk-text-primary-inverse-day
109
+ );
110
+ }
111
+
112
+ @mixin _bpk-button-featured-hover {
113
+ @include utils.bpk-themeable-property(
114
+ background-color,
115
+ --bpk-button-featured-hover-background-color,
116
+ tokens.$bpk-private-button-featured-pressed-background-day
117
+ );
118
+ @include utils.bpk-themeable-property(
119
+ color,
120
+ --bpk-button-featured-hover-text-color,
121
+ tokens.$bpk-text-primary-inverse-day
122
+ );
123
+ }
124
+
125
+ @mixin _bpk-button-link-on-dark-hover {
126
+ @include utils.bpk-themeable-property(
127
+ color,
128
+ --bpk-button-link-on-dark-hover-text-color,
129
+ tokens.$bpk-private-button-link-on-dark-pressed-foreground-day
130
+ );
131
+ }
132
+
133
+ // --- End private mixins ---
134
+
29
135
  /// Standard button.
30
136
  ///
31
137
  /// @example scss
@@ -39,13 +145,17 @@
39
145
  margin: 0;
40
146
  padding: (6 * tokens.$bpk-one-pixel-rem) tokens.bpk-spacing-base();
41
147
  border: 0;
42
- border-radius: tokens.$bpk-button-border-radius;
43
148
  text-align: center;
44
149
  text-decoration: none;
45
150
  cursor: pointer;
46
151
  vertical-align: middle;
47
152
  user-select: none;
48
153
 
154
+ @include utils.bpk-themeable-property(
155
+ border-radius,
156
+ --bpk-button-border-radius,
157
+ tokens.$bpk-button-border-radius
158
+ );
49
159
  @include typography.bpk-label-1;
50
160
  @include utils.bpk-themeable-property(
51
161
  color,
@@ -59,16 +169,7 @@
59
169
  );
60
170
 
61
171
  @include utils.bpk-hover {
62
- @include utils.bpk-themeable-property(
63
- color,
64
- --bpk-button-primary-hover-text-color,
65
- tokens.$bpk-text-on-dark-day
66
- );
67
- @include utils.bpk-themeable-property(
68
- background-color,
69
- --bpk-button-primary-hover-background-color,
70
- tokens.$bpk-private-button-primary-pressed-background-day
71
- );
172
+ @include _bpk-button-primary-hover;
72
173
  }
73
174
 
74
175
  &:active {
@@ -89,6 +190,11 @@
89
190
  color: tokens.$bpk-text-disabled-day;
90
191
  cursor: not-allowed;
91
192
  }
193
+
194
+ // Loading state override: restore hover/pressed appearance while disabled.
195
+ &.bpk-button--loading:disabled {
196
+ @include _bpk-button-primary-hover;
197
+ }
92
198
  }
93
199
 
94
200
  /// Large button. Modifies the bpk-button mixin.
@@ -129,16 +235,7 @@
129
235
  );
130
236
 
131
237
  @include utils.bpk-hover {
132
- @include utils.bpk-themeable-property(
133
- color,
134
- --bpk-button-primary-on-dark-hover-text-color,
135
- tokens.$bpk-text-on-light-day
136
- );
137
- @include utils.bpk-themeable-property(
138
- background-color,
139
- --bpk-button-primary-on-dark-hover-background-color,
140
- tokens.$bpk-private-button-primary-on-dark-pressed-background-day
141
- );
238
+ @include _bpk-button-primary-on-dark-hover;
142
239
  }
143
240
 
144
241
  &:active {
@@ -158,6 +255,11 @@
158
255
  background-color: tokens.$bpk-private-button-primary-on-dark-disabled-background-day;
159
256
  color: tokens.$bpk-private-button-primary-on-dark-disabled-foreground-day;
160
257
  }
258
+
259
+ // Loading state override: restore hover/pressed appearance while disabled.
260
+ &.bpk-button--loading:disabled {
261
+ @include _bpk-button-primary-on-dark-hover;
262
+ }
161
263
  }
162
264
 
163
265
  /// PrimaryOnLight button. Modifies the bpk-button mixin.
@@ -183,16 +285,7 @@
183
285
  );
184
286
 
185
287
  @include utils.bpk-hover {
186
- @include utils.bpk-themeable-property(
187
- color,
188
- --bpk-button-primary-on-light-hover-text-color,
189
- tokens.$bpk-text-on-dark-night
190
- );
191
- @include utils.bpk-themeable-property(
192
- background-color,
193
- --bpk-button-primary-on-light-hover-background-color,
194
- tokens.$bpk-private-button-primary-on-light-pressed-background-day
195
- );
288
+ @include _bpk-button-primary-on-light-hover;
196
289
  }
197
290
 
198
291
  &:active {
@@ -212,6 +305,11 @@
212
305
  background-color: tokens.$bpk-private-button-primary-on-light-disabled-background-day;
213
306
  color: tokens.$bpk-private-button-primary-on-light-disabled-foreground-day;
214
307
  }
308
+
309
+ // Loading state override: restore hover/pressed appearance while disabled.
310
+ &.bpk-button--loading:disabled {
311
+ @include _bpk-button-primary-on-light-hover;
312
+ }
215
313
  }
216
314
 
217
315
  /// Secondary button. Modifies the bpk-button mixin.
@@ -237,16 +335,7 @@
237
335
  );
238
336
 
239
337
  @include utils.bpk-hover {
240
- @include utils.bpk-themeable-property(
241
- color,
242
- --bpk-button-secondary-hover-text-color,
243
- tokens.$bpk-text-primary-day
244
- );
245
- @include utils.bpk-themeable-property(
246
- background-color,
247
- --bpk-button-secondary-hover-background-color,
248
- tokens.$bpk-private-button-secondary-pressed-background-day
249
- );
338
+ @include _bpk-button-secondary-hover;
250
339
  }
251
340
 
252
341
  &:active {
@@ -266,6 +355,11 @@
266
355
  background-color: tokens.$bpk-private-button-disabled-background-day;
267
356
  color: tokens.$bpk-text-disabled-day;
268
357
  }
358
+
359
+ // Loading state override: restore hover/pressed appearance while disabled.
360
+ &.bpk-button--loading:disabled {
361
+ @include _bpk-button-secondary-hover;
362
+ }
269
363
  }
270
364
 
271
365
  /// Secondary on dark button. Modifies the bpk-button mixin.
@@ -291,16 +385,7 @@
291
385
  );
292
386
 
293
387
  @include utils.bpk-hover {
294
- @include utils.bpk-themeable-property(
295
- color,
296
- --bpk-button-secondary-on-dark-hover-text-color,
297
- tokens.$bpk-text-on-dark-day
298
- );
299
- @include utils.bpk-themeable-property(
300
- background-color,
301
- --bpk-button-secondary-on-dark-hover-background-color,
302
- tokens.$bpk-private-button-secondary-on-dark-pressed-background-day
303
- );
388
+ @include _bpk-button-secondary-on-dark-hover;
304
389
  }
305
390
 
306
391
  &:active {
@@ -320,6 +405,11 @@
320
405
  background-color: tokens.$bpk-private-button-secondary-on-dark-disabled-background-day;
321
406
  color: tokens.$bpk-private-button-secondary-on-dark-disabled-foreground-day;
322
407
  }
408
+
409
+ // Loading state override: restore hover/pressed appearance while disabled.
410
+ &.bpk-button--loading:disabled {
411
+ @include _bpk-button-secondary-on-dark-hover;
412
+ }
323
413
  }
324
414
 
325
415
  /// Destructive button. Modifies the bpk-button & bpk-button--secondary lib.
@@ -347,16 +437,7 @@
347
437
  );
348
438
 
349
439
  @include utils.bpk-hover {
350
- @include utils.bpk-themeable-property(
351
- color,
352
- --bpk-button-destructive-hover-text-color,
353
- tokens.$bpk-text-primary-inverse-day
354
- );
355
- @include utils.bpk-themeable-property(
356
- background-color,
357
- --bpk-button-destructive-hover-background-color,
358
- tokens.$bpk-private-button-destructive-pressed-background-day
359
- );
440
+ @include _bpk-button-destructive-hover;
360
441
  }
361
442
 
362
443
  &:active {
@@ -376,6 +457,11 @@
376
457
  background-color: tokens.$bpk-private-button-disabled-background-day;
377
458
  color: tokens.$bpk-text-disabled-day;
378
459
  }
460
+
461
+ // Loading state override: restore hover/pressed appearance while disabled.
462
+ &.bpk-button--loading:disabled {
463
+ @include _bpk-button-destructive-hover;
464
+ }
379
465
  }
380
466
 
381
467
  /// Link-style button. Modifies the bpk-button mixin.
@@ -425,6 +511,18 @@
425
511
  text-decoration: none;
426
512
  }
427
513
 
514
+ // Loading state override: restore pressed appearance while disabled.
515
+ &.bpk-button--loading:disabled,
516
+ &.bpk-button--loading:disabled:active {
517
+ background: none;
518
+
519
+ @include utils.bpk-themeable-property(
520
+ color,
521
+ --bpk-button-link-loading-color,
522
+ tokens.$bpk-text-primary-day
523
+ );
524
+ }
525
+
428
526
  &-large {
429
527
  padding: $vertical-padding-large 0;
430
528
  }
@@ -433,7 +531,7 @@
433
531
  /// Link on dark button. Modifies the bpk-button & bpk-button--link lib.
434
532
  ///
435
533
  /// @require {mixin} bpk-button
436
-
534
+ ///
437
535
  /// @example scss
438
536
  /// .selector {
439
537
  /// @include bpk-button();
@@ -449,11 +547,7 @@
449
547
  );
450
548
 
451
549
  @include utils.bpk-hover {
452
- @include utils.bpk-themeable-property(
453
- color,
454
- --bpk-button-link-on-dark-hover-text-color,
455
- tokens.$bpk-private-button-link-on-dark-pressed-foreground-day
456
- );
550
+ @include _bpk-button-link-on-dark-hover;
457
551
  }
458
552
 
459
553
  &:active {
@@ -480,6 +574,12 @@
480
574
  tokens.$bpk-private-button-link-on-dark-disabled-foreground-day
481
575
  );
482
576
  }
577
+
578
+ // Loading state override: restore pressed/hover appearance while disabled.
579
+ &.bpk-button--loading:disabled,
580
+ &.bpk-button--loading:disabled:active {
581
+ @include _bpk-button-link-on-dark-hover;
582
+ }
483
583
  }
484
584
 
485
585
  /// Button link icon only aligned. Modifies the bpk-button mixin.
@@ -532,7 +632,6 @@
532
632
 
533
633
  padding-right: $horizontal-padding;
534
634
  padding-left: $horizontal-padding;
535
- border-radius: tokens.$bpk-button-border-radius;
536
635
  }
537
636
 
538
637
  /// Large icon-only button. Modifies the bpk-button & bpk-button--large lib.
@@ -555,7 +654,6 @@
555
654
 
556
655
  padding-right: $horizontal-padding;
557
656
  padding-left: $horizontal-padding;
558
- border-radius: tokens.$bpk-button-border-radius;
559
657
  }
560
658
 
561
659
  /// Featured button. Modifies the bpk-button
@@ -582,16 +680,7 @@
582
680
  );
583
681
 
584
682
  @include utils.bpk-hover {
585
- @include utils.bpk-themeable-property(
586
- color,
587
- --bpk-button-featured-hover-text-color,
588
- tokens.$bpk-text-primary-inverse-day
589
- );
590
- @include utils.bpk-themeable-property(
591
- background-color,
592
- --bpk-button-featured-hover-background-color,
593
- tokens.$bpk-private-button-featured-pressed-background-day
594
- );
683
+ @include _bpk-button-featured-hover;
595
684
  }
596
685
 
597
686
  &:active {
@@ -611,6 +700,11 @@
611
700
  background-color: tokens.$bpk-private-button-disabled-background-day;
612
701
  color: tokens.$bpk-text-disabled-day;
613
702
  }
703
+
704
+ // Loading state override: restore hover/pressed appearance while disabled.
705
+ &.bpk-button--loading:disabled {
706
+ @include _bpk-button-featured-hover;
707
+ }
614
708
  }
615
709
 
616
710
  /// Full width button. Modifies the bpk-button to horizontally fill its container
@@ -24,15 +24,29 @@
24
24
  @use 'shadows';
25
25
  @use 'utils';
26
26
 
27
+ // Private helper: applies a box-shadow border with CSS variable fallback.
28
+ // bpk-border-sm() uses a box-shadow shorthand, so bpk-themeable-property cannot
29
+ // embed a CSS variable inside it — this mixin applies the two-line fallback pattern manually.
30
+ @mixin _bpk-chip-themeable-border($var-name, $fallback-color) {
31
+ box-shadow: 0 0 0 tokens.$bpk-border-size-sm $fallback-color inset;
32
+ box-shadow: 0 0 0 tokens.$bpk-border-size-sm
33
+ var(#{$var-name}, $fallback-color) inset;
34
+ }
35
+
27
36
  @mixin bpk-chip {
28
37
  display: inline-flex;
29
38
  height: tokens.bpk-spacing-xl();
30
39
  padding: 0 tokens.bpk-spacing-base();
31
40
  align-items: center;
32
41
  border: none;
33
- border-radius: tokens.$bpk-border-radius-xs * 2;
34
42
  cursor: pointer;
35
43
 
44
+ @include utils.bpk-themeable-property(
45
+ border-radius,
46
+ --bpk-chip-border-radius,
47
+ tokens.$bpk-border-radius-sm
48
+ );
49
+
36
50
  &__leading-accessory-view {
37
51
  display: inline-flex;
38
52
  fill: currentcolor;
@@ -49,17 +63,33 @@
49
63
  }
50
64
 
51
65
  &--on-dark {
52
- background-color: transparent;
53
- color: tokens.$bpk-text-on-dark-day;
54
-
55
- @include borders.bpk-border-sm(tokens.$bpk-line-on-dark-day);
66
+ @include utils.bpk-themeable-property(
67
+ background-color,
68
+ --bpk-chip-on-dark-background-color,
69
+ transparent
70
+ );
71
+ @include utils.bpk-themeable-property(
72
+ color,
73
+ --bpk-chip-on-dark-text-color,
74
+ tokens.$bpk-text-on-dark-day
75
+ );
76
+ @include _bpk-chip-themeable-border(
77
+ --bpk-chip-on-dark-border-color,
78
+ tokens.$bpk-line-on-dark-day
79
+ );
56
80
 
57
81
  @include utils.bpk-hover {
58
- @include borders.bpk-border-sm(tokens.$bpk-surface-default-day);
82
+ @include _bpk-chip-themeable-border(
83
+ --bpk-chip-on-dark-hover-border-color,
84
+ tokens.$bpk-surface-default-day
85
+ );
59
86
  }
60
87
 
61
88
  &:active:not(:disabled) {
62
- @include borders.bpk-border-sm(tokens.$bpk-surface-default-day);
89
+ @include _bpk-chip-themeable-border(
90
+ --bpk-chip-on-dark-active-border-color,
91
+ tokens.$bpk-surface-default-day
92
+ );
63
93
  }
64
94
 
65
95
  &-selected {
@@ -76,10 +106,20 @@
76
106
  @include borders.bpk-border-sm(transparent);
77
107
 
78
108
  @include utils.bpk-hover {
109
+ @include utils.bpk-themeable-property(
110
+ background-color,
111
+ --bpk-chip-on-dark-selected-hover-background-color,
112
+ tokens.$bpk-surface-default-day
113
+ );
79
114
  @include borders.bpk-border-sm(transparent);
80
115
  }
81
116
 
82
117
  &:active:not(:disabled) {
118
+ @include utils.bpk-themeable-property(
119
+ background-color,
120
+ --bpk-chip-on-dark-selected-active-background-color,
121
+ tokens.$bpk-surface-default-day
122
+ );
83
123
  @include borders.bpk-border-sm(transparent);
84
124
  }
85
125
  }
@@ -108,17 +148,38 @@
108
148
  }
109
149
 
110
150
  &--default {
111
- background-color: transparent;
112
- color: tokens.$bpk-text-primary-day;
113
-
114
- @include borders.bpk-border-sm(tokens.$bpk-line-day);
151
+ @include utils.bpk-themeable-property(
152
+ background-color,
153
+ --bpk-chip-default-background-color,
154
+ transparent
155
+ );
156
+ @include utils.bpk-themeable-property(
157
+ color,
158
+ --bpk-chip-default-text-color,
159
+ tokens.$bpk-text-primary-day
160
+ );
161
+ @include _bpk-chip-themeable-border(
162
+ --bpk-chip-default-border-color,
163
+ tokens.$bpk-line-day
164
+ );
115
165
 
116
166
  @include utils.bpk-hover {
117
- @include borders.bpk-border-sm(tokens.$bpk-core-primary-day);
167
+ @include utils.bpk-themeable-property(
168
+ background-color,
169
+ --bpk-chip-default-hover-background-color,
170
+ transparent
171
+ );
172
+ @include _bpk-chip-themeable-border(
173
+ --bpk-chip-default-hover-border-color,
174
+ tokens.$bpk-core-primary-day
175
+ );
118
176
  }
119
177
 
120
178
  &:active:not(:disabled) {
121
- @include borders.bpk-border-sm(tokens.$bpk-core-primary-day);
179
+ @include _bpk-chip-themeable-border(
180
+ --bpk-chip-default-active-border-color,
181
+ tokens.$bpk-core-primary-day
182
+ );
122
183
  }
123
184
 
124
185
  &-selected {
@@ -135,10 +196,20 @@
135
196
  @include borders.bpk-border-sm(transparent);
136
197
 
137
198
  @include utils.bpk-hover {
199
+ @include utils.bpk-themeable-property(
200
+ background-color,
201
+ --bpk-chip-default-selected-hover-background-color,
202
+ tokens.$bpk-core-primary-day
203
+ );
138
204
  @include borders.bpk-border-sm(transparent);
139
205
  }
140
206
 
141
207
  &:active:not(:disabled) {
208
+ @include utils.bpk-themeable-property(
209
+ background-color,
210
+ --bpk-chip-default-selected-active-background-color,
211
+ tokens.$bpk-core-primary-day
212
+ );
142
213
  @include borders.bpk-border-sm(transparent);
143
214
  }
144
215
  }
@@ -167,17 +238,32 @@
167
238
  }
168
239
 
169
240
  &--on-image {
170
- background-color: tokens.$bpk-surface-default-day;
171
- color: tokens.$bpk-text-primary-day;
172
-
241
+ @include utils.bpk-themeable-property(
242
+ background-color,
243
+ --bpk-chip-on-image-background-color,
244
+ tokens.$bpk-surface-default-day
245
+ );
246
+ @include utils.bpk-themeable-property(
247
+ color,
248
+ --bpk-chip-on-image-text-color,
249
+ tokens.$bpk-text-primary-day
250
+ );
173
251
  @include shadows.bpk-box-shadow-sm;
174
252
 
175
253
  @include utils.bpk-hover {
176
- background-color: tokens.$bpk-canvas-contrast-day;
254
+ @include utils.bpk-themeable-property(
255
+ background-color,
256
+ --bpk-chip-on-image-hover-background-color,
257
+ tokens.$bpk-canvas-contrast-day
258
+ );
177
259
  }
178
260
 
179
261
  &:active:not(:disabled) {
180
- background-color: tokens.$bpk-canvas-contrast-day;
262
+ @include utils.bpk-themeable-property(
263
+ background-color,
264
+ --bpk-chip-on-image-active-background-color,
265
+ tokens.$bpk-canvas-contrast-day
266
+ );
181
267
  }
182
268
 
183
269
  &-selected {
@@ -30,6 +30,7 @@
30
30
  @forward 'panels';
31
31
  @forward 'radii';
32
32
  @forward 'scroll-indicators';
33
+ @forward 'segmented-control';
33
34
  @forward 'shadows';
34
35
  @forward 'spinners';
35
36
  @forward 'surfaces';