@skyscanner/backpack-web 38.22.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.
Files changed (44) hide show
  1. package/bpk-mixins/_badges-v2.scss +37 -36
  2. package/bpk-mixins/_badges.scss +37 -36
  3. package/bpk-mixins/_borders.scss +16 -16
  4. package/bpk-mixins/_breakpoints.scss +11 -11
  5. package/bpk-mixins/_buttons.scss +141 -137
  6. package/bpk-mixins/_cards.scss +13 -13
  7. package/bpk-mixins/_chips.scss +66 -66
  8. package/bpk-mixins/_forms.scss +214 -202
  9. package/bpk-mixins/_icons.scss +7 -4
  10. package/bpk-mixins/_index.scss +19 -19
  11. package/bpk-mixins/_layers.scss +34 -34
  12. package/bpk-mixins/_margins.scss +3 -3
  13. package/bpk-mixins/_panels.scss +9 -9
  14. package/bpk-mixins/_radii.scss +6 -6
  15. package/bpk-mixins/_scroll-indicators.scss +2 -2
  16. package/bpk-mixins/_shadows.scss +4 -4
  17. package/bpk-mixins/_spinners.scss +10 -10
  18. package/bpk-mixins/_tokens.scss +1 -3
  19. package/bpk-mixins/_typography.scss +204 -195
  20. package/bpk-mixins/_utils.scss +17 -12
  21. package/bpk-stylesheets/index.scss +13 -14
  22. package/bpk-stylesheets/normalize.css +18 -422
  23. package/bpk-stylesheets/normalize.scss +422 -0
  24. package/package.json +1 -5
  25. package/unstable__bpk-mixins/_badges-v2.scss +0 -240
  26. package/unstable__bpk-mixins/_badges.scss +0 -240
  27. package/unstable__bpk-mixins/_borders.scss +0 -268
  28. package/unstable__bpk-mixins/_breakpoints.scss +0 -221
  29. package/unstable__bpk-mixins/_buttons.scss +0 -587
  30. package/unstable__bpk-mixins/_cards.scss +0 -94
  31. package/unstable__bpk-mixins/_chips.scss +0 -249
  32. package/unstable__bpk-mixins/_forms.scss +0 -1045
  33. package/unstable__bpk-mixins/_icons.scss +0 -88
  34. package/unstable__bpk-mixins/_index.scss +0 -38
  35. package/unstable__bpk-mixins/_layers.scss +0 -199
  36. package/unstable__bpk-mixins/_margins.scss +0 -75
  37. package/unstable__bpk-mixins/_panels.scss +0 -96
  38. package/unstable__bpk-mixins/_radii.scss +0 -80
  39. package/unstable__bpk-mixins/_scroll-indicators.scss +0 -79
  40. package/unstable__bpk-mixins/_shadows.scss +0 -58
  41. package/unstable__bpk-mixins/_spinners.scss +0 -102
  42. package/unstable__bpk-mixins/_tokens.scss +0 -19
  43. package/unstable__bpk-mixins/_typography.scss +0 -1225
  44. package/unstable__bpk-mixins/_utils.scss +0 -267
@@ -18,8 +18,8 @@
18
18
 
19
19
  /* stylelint-disable at-rule-disallowed-list */
20
20
 
21
- @import 'tokens.scss';
22
- @import 'utils.scss';
21
+ @use 'tokens';
22
+ @use 'utils';
23
23
 
24
24
  ////
25
25
  /// @group svgs
@@ -38,7 +38,10 @@
38
38
  /// @access private
39
39
 
40
40
  @mixin _bpk-svg--align-to-large-button() {
41
- margin-top: ($bpk-private-button-line-height - $bpk-icon-size-lg) / 2;
41
+ margin-top: (
42
+ tokens.$bpk-private-button-line-height - tokens.$bpk-icon-size-lg
43
+ ) *
44
+ 0.5;
42
45
  vertical-align: top;
43
46
  }
44
47
 
@@ -82,7 +85,7 @@
82
85
  /// }
83
86
 
84
87
  @mixin bpk-icon--rtl-support() {
85
- @include bpk-rtl {
88
+ @include utils.bpk-rtl {
86
89
  transform: scaleX(-1);
87
90
  }
88
91
  }
@@ -16,23 +16,23 @@
16
16
  * limitations under the License.
17
17
  */
18
18
 
19
- /* stylelint-disable at-rule-disallowed-list */
19
+ @forward 'tokens';
20
+ @forward 'badges';
21
+ @forward 'borders';
22
+ @forward 'breakpoints';
23
+ @forward 'buttons';
24
+ @forward 'cards';
25
+ @forward 'chips';
26
+ @forward 'forms';
27
+ @forward 'icons';
28
+ @forward 'layers';
29
+ @forward 'margins';
30
+ @forward 'panels';
31
+ @forward 'radii';
32
+ @forward 'scroll-indicators';
33
+ @forward 'shadows';
34
+ @forward 'spinners';
35
+ @forward 'typography';
36
+ @forward 'utils';
20
37
 
21
- @import 'tokens.scss';
22
- @import 'badges.scss';
23
- @import 'borders.scss';
24
- @import 'breakpoints.scss';
25
- @import 'buttons.scss';
26
- @import 'cards.scss';
27
- @import 'chips.scss';
28
- @import 'forms.scss';
29
- @import 'icons.scss';
30
- @import 'layers.scss';
31
- @import 'margins.scss';
32
- @import 'panels.scss';
33
- @import 'radii.scss';
34
- @import 'scroll-indicators.scss';
35
- @import 'shadows.scss';
36
- @import 'spinners.scss';
37
- @import 'typography.scss';
38
- @import 'utils.scss';
38
+ @warn "You're using blank import of all mixins. This might affect performance of your build tool and your bundle size. \nConsider switching to more granular imports, e.g. @use '@skyscanner/backpack-web/bpk-mixins/buttons'";
@@ -18,10 +18,10 @@
18
18
 
19
19
  /* stylelint-disable at-rule-disallowed-list */
20
20
 
21
- @import 'tokens.scss';
22
- @import 'radii.scss';
23
- @import 'shadows.scss';
24
- @import 'utils.scss';
21
+ @use 'tokens';
22
+ @use 'radii';
23
+ @use 'shadows';
24
+ @use 'utils';
25
25
 
26
26
  ////
27
27
  /// @group layers
@@ -35,14 +35,14 @@
35
35
  /// }
36
36
 
37
37
  @mixin bpk-layer(
38
- $background-color: $bpk-color-white,
39
- $border-color: $bpk-surface-highlight-day
38
+ $background-color: tokens.$bpk-color-white,
39
+ $border-color: tokens.$bpk-surface-highlight-day
40
40
  ) {
41
- border: $bpk-one-pixel-rem solid $border-color;
41
+ border: tokens.$bpk-one-pixel-rem solid $border-color;
42
42
  background-color: $background-color;
43
43
 
44
- @include bpk-border-radius-sm;
45
- @include bpk-box-shadow-lg;
44
+ @include radii.bpk-border-radius-sm;
45
+ @include shadows.bpk-box-shadow-lg;
46
46
  }
47
47
 
48
48
  /// Layer arrow base styles.
@@ -64,7 +64,7 @@
64
64
  }
65
65
 
66
66
  &::before {
67
- border: ($arrow-size + $bpk-one-pixel-rem) solid transparent;
67
+ border: ($arrow-size + tokens.$bpk-one-pixel-rem) solid transparent;
68
68
  }
69
69
 
70
70
  &::after {
@@ -82,26 +82,26 @@
82
82
 
83
83
  @mixin bpk-layer-arrow-top(
84
84
  $arrow-size,
85
- $arrow-color: $bpk-color-white,
86
- $border-color: $bpk-color-sky-gray-tint-06
85
+ $arrow-color: tokens.$bpk-color-white,
86
+ $border-color: tokens.$bpk-color-sky-gray-tint-06
87
87
  ) {
88
88
  bottom: 100%;
89
89
  width: ($arrow-size * 2);
90
90
  height: $arrow-size;
91
91
 
92
92
  &::before {
93
- top: -1 * ($arrow-size + $bpk-one-pixel-rem);
94
- margin-left: -1 * $bpk-one-pixel-rem;
93
+ top: -1 * ($arrow-size + tokens.$bpk-one-pixel-rem);
94
+ margin-left: -1 * tokens.$bpk-one-pixel-rem;
95
95
  border-bottom-color: $border-color;
96
96
 
97
- @include bpk-rtl {
98
- margin-right: -1 * $bpk-one-pixel-rem;
97
+ @include utils.bpk-rtl {
98
+ margin-right: -1 * tokens.$bpk-one-pixel-rem;
99
99
  margin-left: 0;
100
100
  }
101
101
  }
102
102
 
103
103
  &::after {
104
- top: -1 * $arrow-size + $bpk-one-pixel-rem;
104
+ top: -1 * $arrow-size + tokens.$bpk-one-pixel-rem;
105
105
  border-bottom-color: $arrow-color;
106
106
  }
107
107
  }
@@ -116,21 +116,21 @@
116
116
 
117
117
  @mixin bpk-layer-arrow-right(
118
118
  $arrow-size,
119
- $arrow-color: $bpk-color-white,
120
- $border-color: $bpk-color-sky-gray-tint-06
119
+ $arrow-color: tokens.$bpk-color-white,
120
+ $border-color: tokens.$bpk-color-sky-gray-tint-06
121
121
  ) {
122
122
  left: 100%;
123
123
  width: $arrow-size;
124
124
  height: ($arrow-size * 2);
125
125
 
126
126
  &::before {
127
- right: -1 * ($arrow-size + $bpk-one-pixel-rem);
128
- margin-top: -1 * $bpk-one-pixel-rem;
127
+ right: -1 * ($arrow-size + tokens.$bpk-one-pixel-rem);
128
+ margin-top: -1 * tokens.$bpk-one-pixel-rem;
129
129
  border-left-color: $border-color;
130
130
  }
131
131
 
132
132
  &::after {
133
- right: -1 * $arrow-size + $bpk-one-pixel-rem;
133
+ right: -1 * $arrow-size + tokens.$bpk-one-pixel-rem;
134
134
  border-left-color: $arrow-color;
135
135
  }
136
136
  }
@@ -145,26 +145,26 @@
145
145
 
146
146
  @mixin bpk-layer-arrow-bottom(
147
147
  $arrow-size,
148
- $arrow-color: $bpk-color-white,
149
- $border-color: $bpk-color-sky-gray-tint-06
148
+ $arrow-color: tokens.$bpk-color-white,
149
+ $border-color: tokens.$bpk-color-sky-gray-tint-06
150
150
  ) {
151
151
  top: 100%;
152
152
  width: ($arrow-size * 2);
153
153
  height: $arrow-size;
154
154
 
155
155
  &::before {
156
- bottom: -1 * ($arrow-size + $bpk-one-pixel-rem);
157
- margin-left: -1 * $bpk-one-pixel-rem;
156
+ bottom: -1 * ($arrow-size + tokens.$bpk-one-pixel-rem);
157
+ margin-left: -1 * tokens.$bpk-one-pixel-rem;
158
158
  border-top-color: $border-color;
159
159
 
160
- @include bpk-rtl {
161
- margin-right: -1 * $bpk-one-pixel-rem;
160
+ @include utils.bpk-rtl {
161
+ margin-right: -1 * tokens.$bpk-one-pixel-rem;
162
162
  margin-left: 0;
163
163
  }
164
164
  }
165
165
 
166
166
  &::after {
167
- bottom: -1 * $arrow-size + $bpk-one-pixel-rem;
167
+ bottom: -1 * $arrow-size + tokens.$bpk-one-pixel-rem;
168
168
  border-top-color: $arrow-color;
169
169
  }
170
170
  }
@@ -179,21 +179,21 @@
179
179
 
180
180
  @mixin bpk-layer-arrow-left(
181
181
  $arrow-size,
182
- $arrow-color: $bpk-color-white,
183
- $border-color: $bpk-color-sky-gray-tint-06
182
+ $arrow-color: tokens.$bpk-color-white,
183
+ $border-color: tokens.$bpk-color-sky-gray-tint-06
184
184
  ) {
185
185
  right: 100%;
186
186
  width: $arrow-size;
187
187
  height: ($arrow-size * 2);
188
188
 
189
189
  &::before {
190
- left: -1 * ($arrow-size + $bpk-one-pixel-rem);
191
- margin-top: -1 * $bpk-one-pixel-rem;
190
+ left: -1 * ($arrow-size + tokens.$bpk-one-pixel-rem);
191
+ margin-top: -1 * tokens.$bpk-one-pixel-rem;
192
192
  border-right-color: $border-color;
193
193
  }
194
194
 
195
195
  &::after {
196
- left: -1 * $arrow-size + $bpk-one-pixel-rem;
196
+ left: -1 * $arrow-size + tokens.$bpk-one-pixel-rem;
197
197
  border-right-color: $arrow-color;
198
198
  }
199
199
  }
@@ -18,7 +18,7 @@
18
18
 
19
19
  /* stylelint-disable at-rule-disallowed-list */
20
20
 
21
- @import 'utils.scss';
21
+ @use 'utils';
22
22
 
23
23
  /// RTL aware leading margin
24
24
  ///
@@ -38,7 +38,7 @@
38
38
  margin-right: 0;
39
39
  }
40
40
 
41
- @include bpk-rtl {
41
+ @include utils.bpk-rtl {
42
42
  @if $resetOppositeMargin {
43
43
  margin-left: 0;
44
44
  }
@@ -65,7 +65,7 @@
65
65
 
66
66
  margin-right: $margin;
67
67
 
68
- @include bpk-rtl {
68
+ @include utils.bpk-rtl {
69
69
  margin-left: $margin;
70
70
 
71
71
  @if $resetOppositeMargin {
@@ -18,9 +18,9 @@
18
18
 
19
19
  /* stylelint-disable at-rule-disallowed-list */
20
20
 
21
- @import 'tokens.scss';
22
- @import 'borders.scss';
23
- @import 'radii.scss';
21
+ @use 'tokens';
22
+ @use 'borders';
23
+ @use 'radii';
24
24
 
25
25
  ////
26
26
  /// @group panels
@@ -34,9 +34,9 @@
34
34
  /// }
35
35
  @mixin bpk-panel {
36
36
  display: block;
37
- background-color: $bpk-card-background-color;
37
+ background-color: tokens.$bpk-card-background-color;
38
38
 
39
- @include bpk-border-radius-md;
39
+ @include radii.bpk-border-radius-md;
40
40
  }
41
41
 
42
42
  /// Adds padding to panels. Modifies the bpk-panel mixin.
@@ -49,7 +49,7 @@
49
49
  /// @include bpk-panel--padded();
50
50
  /// }
51
51
  @mixin bpk-panel--padded {
52
- padding: $bpk-card-padding;
52
+ padding: tokens.$bpk-card-padding;
53
53
  }
54
54
 
55
55
  /// Controls if we have a keyline or not on the panel
@@ -63,7 +63,7 @@
63
63
  /// @include bpk-panel--keyline();
64
64
  /// }
65
65
  @mixin bpk-panel--keyline {
66
- @include bpk-border-sm($bpk-panel-border-color);
66
+ @include borders.bpk-border-sm(tokens.$bpk-panel-border-color);
67
67
  }
68
68
 
69
69
  /// Makes panel full width by removing the border radius
@@ -91,6 +91,6 @@
91
91
  /// }
92
92
  @mixin bpk-panel--full-width-keyline {
93
93
  box-shadow:
94
- $bpk-panel-border-color 0 -1 * $bpk-one-pixel-rem 0 0 inset,
95
- $bpk-panel-border-color 0 $bpk-one-pixel-rem 0 0 inset;
94
+ tokens.$bpk-panel-border-color 0 -1 * tokens.$bpk-one-pixel-rem 0 0 inset,
95
+ tokens.$bpk-panel-border-color 0 tokens.$bpk-one-pixel-rem 0 0 inset;
96
96
  }
@@ -18,7 +18,7 @@
18
18
 
19
19
  /* stylelint-disable at-rule-disallowed-list */
20
20
 
21
- @import 'tokens.scss';
21
+ @use 'tokens';
22
22
 
23
23
  ////
24
24
  /// @group radii
@@ -32,7 +32,7 @@
32
32
  /// }
33
33
 
34
34
  @mixin bpk-border-radius-xs {
35
- border-radius: $bpk-border-radius-xs;
35
+ border-radius: tokens.$bpk-border-radius-xs;
36
36
  }
37
37
 
38
38
  /// Small border radius.
@@ -43,7 +43,7 @@
43
43
  /// }
44
44
 
45
45
  @mixin bpk-border-radius-sm {
46
- border-radius: $bpk-border-radius-sm;
46
+ border-radius: tokens.$bpk-border-radius-sm;
47
47
  }
48
48
 
49
49
  /// Medium border radius.
@@ -54,7 +54,7 @@
54
54
  /// }
55
55
 
56
56
  @mixin bpk-border-radius-md {
57
- border-radius: $bpk-border-radius-md;
57
+ border-radius: tokens.$bpk-border-radius-md;
58
58
  }
59
59
 
60
60
  /// Large border radius.
@@ -65,7 +65,7 @@
65
65
  /// }
66
66
 
67
67
  @mixin bpk-border-radius-lg {
68
- border-radius: $bpk-border-radius-lg;
68
+ border-radius: tokens.$bpk-border-radius-lg;
69
69
  }
70
70
 
71
71
  /// Extra large border radius.
@@ -76,5 +76,5 @@
76
76
  /// }
77
77
 
78
78
  @mixin bpk-border-radius-xl {
79
- border-radius: $bpk-border-radius-xl;
79
+ border-radius: tokens.$bpk-border-radius-xl;
80
80
  }
@@ -18,7 +18,7 @@
18
18
 
19
19
  /* stylelint-disable at-rule-disallowed-list */
20
20
 
21
- @import 'tokens.scss';
21
+ @use 'tokens';
22
22
 
23
23
  ////
24
24
  /// @group scroll-indicator
@@ -37,7 +37,7 @@
37
37
  content: ' ';
38
38
  display: block;
39
39
  z-index: 1;
40
- width: bpk-spacing-xl();
40
+ width: tokens.bpk-spacing-xl();
41
41
  background-image: linear-gradient(
42
42
  $gradient-direction,
43
43
  rgba($gradient-color, 1),
@@ -18,7 +18,7 @@
18
18
 
19
19
  /* stylelint-disable at-rule-disallowed-list */
20
20
 
21
- @import 'tokens.scss';
21
+ @use 'tokens';
22
22
 
23
23
  ////
24
24
  /// @group box-shadows
@@ -32,7 +32,7 @@
32
32
  /// }
33
33
 
34
34
  @mixin bpk-box-shadow-sm {
35
- box-shadow: $bpk-box-shadow-sm;
35
+ box-shadow: tokens.$bpk-box-shadow-sm;
36
36
  }
37
37
 
38
38
  /// Large box shadow.
@@ -43,7 +43,7 @@
43
43
  /// }
44
44
 
45
45
  @mixin bpk-box-shadow-lg {
46
- box-shadow: $bpk-box-shadow-lg;
46
+ box-shadow: tokens.$bpk-box-shadow-lg;
47
47
  }
48
48
 
49
49
  /// Extra large box shadow.
@@ -54,5 +54,5 @@
54
54
  /// }
55
55
 
56
56
  @mixin bpk-box-shadow-xl {
57
- box-shadow: $bpk-box-shadow-xl;
57
+ box-shadow: tokens.$bpk-box-shadow-xl;
58
58
  }
@@ -18,9 +18,9 @@
18
18
 
19
19
  /* stylelint-disable at-rule-disallowed-list */
20
20
 
21
- @import 'tokens.scss';
22
- @import './icons.scss';
23
- @import './utils.scss';
21
+ @use 'tokens';
22
+ @use 'icons';
23
+ @use 'utils';
24
24
 
25
25
  @keyframes bpk-keyframe-spin {
26
26
  100% {
@@ -38,8 +38,8 @@
38
38
  /// }
39
39
 
40
40
  @mixin bpk-spinner() {
41
- width: bpk-spacing-base();
42
- height: bpk-spacing-base();
41
+ width: tokens.bpk-spacing-base();
42
+ height: tokens.bpk-spacing-base();
43
43
  animation: bpk-keyframe-spin 600ms linear infinite;
44
44
  }
45
45
 
@@ -54,8 +54,8 @@
54
54
  /// }
55
55
 
56
56
  @mixin bpk-spinner--lg() {
57
- width: bpk-spacing-lg();
58
- height: bpk-spacing-lg();
57
+ width: tokens.bpk-spacing-lg();
58
+ height: tokens.bpk-spacing-lg();
59
59
  }
60
60
 
61
61
  /// Extra large spinner. Modifies the bpk-spinner mixin.
@@ -69,8 +69,8 @@
69
69
  /// }
70
70
 
71
71
  @mixin bpk-spinner--xl() {
72
- width: bpk-spacing-xl();
73
- height: bpk-spacing-xl();
72
+ width: tokens.bpk-spacing-xl();
73
+ height: tokens.bpk-spacing-xl();
74
74
  }
75
75
 
76
76
  /// Align spinner to button. Modifies the bpk-spinner mixin.
@@ -98,5 +98,5 @@
98
98
  /// }
99
99
 
100
100
  @mixin bpk-spinner--align-to-large-button() {
101
- @include bpk-icon-lg--align-to-large-button;
101
+ @include icons.bpk-icon-lg--align-to-large-button;
102
102
  }
@@ -16,6 +16,4 @@
16
16
  * limitations under the License.
17
17
  */
18
18
 
19
- /* stylelint-disable at-rule-disallowed-list */
20
-
21
- @import '@skyscanner/bpk-foundations-web/tokens/base.default';
19
+ @forward '@skyscanner/bpk-foundations-web/tokens/base.default';