@faststore/ui 3.99.0 → 4.0.0-dev.2

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 (136) hide show
  1. package/dist/cjs/index.js +1 -12
  2. package/dist/{cjs/components → components}/atoms/Incentive/Incentive.d.ts +1 -2
  3. package/dist/components/atoms/Incentive/Incentive.d.ts.map +1 -0
  4. package/dist/components/atoms/Incentive/index.d.ts.map +1 -0
  5. package/dist/{esm/components → components}/organisms/Tiles/Tile.d.ts +1 -2
  6. package/dist/components/organisms/Tiles/Tile.d.ts.map +1 -0
  7. package/dist/{cjs/components → components}/organisms/Tiles/Tiles.d.ts +1 -2
  8. package/dist/components/organisms/Tiles/Tiles.d.ts.map +1 -0
  9. package/dist/components/organisms/Tiles/index.d.ts.map +1 -0
  10. package/dist/es/index.mjs +46 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/{cjs/typings → typings}/PolymorphicGenerics.d.ts +1 -7
  13. package/dist/typings/PolymorphicGenerics.d.ts.map +1 -0
  14. package/dist/typings/index.d.ts.map +1 -0
  15. package/package.json +28 -29
  16. package/src/components/atoms/Button/styles.scss +4 -2
  17. package/src/components/atoms/Checkbox/styles.scss +3 -1
  18. package/src/components/atoms/Input/styles.scss +4 -2
  19. package/src/components/atoms/Link/styles.scss +4 -2
  20. package/src/components/atoms/Radio/styles.scss +3 -1
  21. package/src/components/atoms/Select/styles.scss +7 -5
  22. package/src/components/atoms/Textarea/styles.scss +3 -1
  23. package/src/components/molecules/Accordion/styles.scss +3 -1
  24. package/src/components/molecules/Breadcrumb/styles.scss +8 -5
  25. package/src/components/molecules/BuyButton/styles.scss +3 -2
  26. package/src/components/molecules/Carousel/styles.scss +22 -16
  27. package/src/components/molecules/CartItem/styles.scss +3 -1
  28. package/src/components/molecules/FileUploadCard/styles.scss +14 -14
  29. package/src/components/molecules/Gift/styles.scss +5 -3
  30. package/src/components/molecules/InputField/styles.scss +7 -3
  31. package/src/components/molecules/Modal/styles.scss +3 -1
  32. package/src/components/molecules/NavbarLinks/styles.scss +9 -6
  33. package/src/components/molecules/PickupPointCard/styles.scss +4 -2
  34. package/src/components/molecules/Popover/styles.scss +1 -1
  35. package/src/components/molecules/ProductCard/styles.scss +7 -5
  36. package/src/components/molecules/ProductTile/styles.scss +6 -4
  37. package/src/components/molecules/ProductTitle/styles.scss +8 -6
  38. package/src/components/molecules/SearchDropdown/styles.scss +4 -2
  39. package/src/components/molecules/SearchInputField/styles.scss +8 -10
  40. package/src/components/molecules/SearchProducts/styles.scss +5 -3
  41. package/src/components/molecules/SkuSelector/styles.scss +9 -9
  42. package/src/components/molecules/TextareaField/styles.scss +5 -3
  43. package/src/components/molecules/Toast/styles.scss +5 -3
  44. package/src/components/molecules/Toggle/styles.scss +3 -1
  45. package/src/components/organisms/BannerNewsletter/styles.scss +3 -1
  46. package/src/components/organisms/BannerText/styles.scss +6 -3
  47. package/src/components/organisms/EmptyState/styles.scss +4 -2
  48. package/src/components/organisms/Filter/styles.scss +6 -4
  49. package/src/components/organisms/FilterSkeleton/styles.scss +3 -1
  50. package/src/components/organisms/Footer/styles.scss +23 -21
  51. package/src/components/organisms/Hero/styles.scss +19 -16
  52. package/src/components/organisms/ImageGallery/styles.scss +26 -24
  53. package/src/components/organisms/Incentives/styles.scss +5 -3
  54. package/src/components/organisms/LocalizationSelector/styles.scss +90 -0
  55. package/src/components/organisms/Navbar/styles.scss +47 -29
  56. package/src/components/organisms/NavbarSlider/styles.scss +10 -2
  57. package/src/components/organisms/Newsletter/styles.scss +13 -12
  58. package/src/components/organisms/PaymentMethods/styles.scss +6 -4
  59. package/src/components/organisms/ProductComparison/styles.scss +7 -5
  60. package/src/components/organisms/ProductDetails/styles.scss +27 -25
  61. package/src/components/organisms/ProductGallery/styles.scss +20 -18
  62. package/src/components/organisms/ProductGrid/styles.scss +5 -3
  63. package/src/components/organisms/ProductShelf/styles.scss +5 -3
  64. package/src/components/organisms/QuickOrderDrawer/styles.scss +3 -13
  65. package/src/components/organisms/RegionPopover/styles.scss +3 -1
  66. package/src/components/organisms/SKUMatrix/styles.scss +22 -23
  67. package/src/components/organisms/SearchInput/styles.scss +3 -1
  68. package/src/components/organisms/SlideOver/styles.scss +46 -10
  69. package/src/components/organisms/Tiles/styles.scss +6 -4
  70. package/src/styles/base/layout.scss +6 -4
  71. package/src/styles/base/reset.scss +4 -2
  72. package/src/styles/base/tokens.scss +11 -9
  73. package/src/styles/base/typography.scss +2 -1
  74. package/src/styles/base/utilities.scss +32 -18
  75. package/src/styles/base.scss +4 -4
  76. package/src/styles/components.scss +1 -0
  77. package/src/styles/global.scss +1 -1
  78. package/dist/cjs/components/atoms/Incentive/Incentive.d.ts.map +0 -1
  79. package/dist/cjs/components/atoms/Incentive/Incentive.js +0 -9
  80. package/dist/cjs/components/atoms/Incentive/Incentive.js.map +0 -1
  81. package/dist/cjs/components/atoms/Incentive/index.d.ts.map +0 -1
  82. package/dist/cjs/components/atoms/Incentive/index.js +0 -9
  83. package/dist/cjs/components/atoms/Incentive/index.js.map +0 -1
  84. package/dist/cjs/components/organisms/Tiles/Tile.d.ts +0 -12
  85. package/dist/cjs/components/organisms/Tiles/Tile.d.ts.map +0 -1
  86. package/dist/cjs/components/organisms/Tiles/Tile.js +0 -9
  87. package/dist/cjs/components/organisms/Tiles/Tile.js.map +0 -1
  88. package/dist/cjs/components/organisms/Tiles/Tiles.d.ts.map +0 -1
  89. package/dist/cjs/components/organisms/Tiles/Tiles.js +0 -33
  90. package/dist/cjs/components/organisms/Tiles/Tiles.js.map +0 -1
  91. package/dist/cjs/components/organisms/Tiles/index.d.ts.map +0 -1
  92. package/dist/cjs/components/organisms/Tiles/index.js +0 -11
  93. package/dist/cjs/components/organisms/Tiles/index.js.map +0 -1
  94. package/dist/cjs/index.d.ts.map +0 -1
  95. package/dist/cjs/index.js.map +0 -1
  96. package/dist/cjs/typings/PolymorphicGenerics.d.ts.map +0 -1
  97. package/dist/cjs/typings/PolymorphicGenerics.js +0 -9
  98. package/dist/cjs/typings/PolymorphicGenerics.js.map +0 -1
  99. package/dist/cjs/typings/index.d.ts.map +0 -1
  100. package/dist/cjs/typings/index.js +0 -3
  101. package/dist/cjs/typings/index.js.map +0 -1
  102. package/dist/esm/components/atoms/Incentive/Incentive.d.ts +0 -12
  103. package/dist/esm/components/atoms/Incentive/Incentive.d.ts.map +0 -1
  104. package/dist/esm/components/atoms/Incentive/Incentive.js +0 -6
  105. package/dist/esm/components/atoms/Incentive/Incentive.js.map +0 -1
  106. package/dist/esm/components/atoms/Incentive/index.d.ts +0 -3
  107. package/dist/esm/components/atoms/Incentive/index.d.ts.map +0 -1
  108. package/dist/esm/components/atoms/Incentive/index.js +0 -2
  109. package/dist/esm/components/atoms/Incentive/index.js.map +0 -1
  110. package/dist/esm/components/organisms/Tiles/Tile.d.ts.map +0 -1
  111. package/dist/esm/components/organisms/Tiles/Tile.js +0 -6
  112. package/dist/esm/components/organisms/Tiles/Tile.js.map +0 -1
  113. package/dist/esm/components/organisms/Tiles/Tiles.d.ts +0 -12
  114. package/dist/esm/components/organisms/Tiles/Tiles.d.ts.map +0 -1
  115. package/dist/esm/components/organisms/Tiles/Tiles.js +0 -30
  116. package/dist/esm/components/organisms/Tiles/Tiles.js.map +0 -1
  117. package/dist/esm/components/organisms/Tiles/index.d.ts +0 -5
  118. package/dist/esm/components/organisms/Tiles/index.d.ts.map +0 -1
  119. package/dist/esm/components/organisms/Tiles/index.js +0 -3
  120. package/dist/esm/components/organisms/Tiles/index.js.map +0 -1
  121. package/dist/esm/index.d.ts +0 -6
  122. package/dist/esm/index.d.ts.map +0 -1
  123. package/dist/esm/index.js +0 -5
  124. package/dist/esm/index.js.map +0 -1
  125. package/dist/esm/typings/PolymorphicGenerics.d.ts +0 -29
  126. package/dist/esm/typings/PolymorphicGenerics.d.ts.map +0 -1
  127. package/dist/esm/typings/PolymorphicGenerics.js +0 -8
  128. package/dist/esm/typings/PolymorphicGenerics.js.map +0 -1
  129. package/dist/esm/typings/index.d.ts +0 -2
  130. package/dist/esm/typings/index.d.ts.map +0 -1
  131. package/dist/esm/typings/index.js +0 -2
  132. package/dist/esm/typings/index.js.map +0 -1
  133. /package/dist/{cjs/components → components}/atoms/Incentive/index.d.ts +0 -0
  134. /package/dist/{cjs/components → components}/organisms/Tiles/index.d.ts +0 -0
  135. /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
  136. /package/dist/{cjs/typings → typings}/index.d.ts +0 -0
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-navbar] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Navbar
@@ -5,34 +7,34 @@
5
7
 
6
8
  // Default properties
7
9
 
8
- --fs-navbar-height-mobile : 3.5rem;
10
+ --fs-navbar-height-mobile: 3.5rem;
9
11
 
10
- --fs-navbar-bkg-color : rgb(255 255 255 / 90%);
12
+ --fs-navbar-bkg-color: rgb(255 255 255 / 90%);
11
13
 
12
- --fs-navbar-transition-timing : var(--fs-transition-timing);
13
- --fs-navbar-transition-function : var(--fs-transition-function);
14
+ --fs-navbar-transition-timing: var(--fs-transition-timing);
15
+ --fs-navbar-transition-function: var(--fs-transition-function);
14
16
 
15
- --fs-navbar-box-shadow : 0 var(--fs-spacing-0) var(--fs-spacing-3) rgb(0 0 0 / 5%);
17
+ --fs-navbar-box-shadow: 0 var(--fs-spacing-0) var(--fs-spacing-3) rgb(0 0 0 / 5%);
16
18
 
17
19
  // Header
18
- --fs-navbar-header-padding : 0 var(--fs-spacing-0);
20
+ --fs-navbar-header-padding: 0 var(--fs-spacing-0);
19
21
 
20
- --fs-navbar-header-padding-top-notebook : var(--fs-spacing-1);
21
- --fs-navbar-header-padding-bottom-notebook : var(--fs-navbar-header-padding-top-notebook);
22
+ --fs-navbar-header-padding-top-notebook: var(--fs-spacing-1);
23
+ --fs-navbar-header-padding-bottom-notebook: var(--fs-navbar-header-padding-top-notebook);
22
24
 
23
25
  // Search
24
- --fs-navbar-search-button-icon-width-mobile : var(--fs-spacing-5);
25
- --fs-navbar-search-button-icon-height-mobile : var(--fs-navbar-search-button-icon-width-mobile);
26
+ --fs-navbar-search-button-icon-width-mobile: var(--fs-spacing-5);
27
+ --fs-navbar-search-button-icon-height-mobile: var(--fs-navbar-search-button-icon-width-mobile);
26
28
 
27
29
  // Search Expanded
28
- --fs-navbar-search-expanded-input-width : calc(100% - var(--fs-spacing-7));
30
+ --fs-navbar-search-expanded-input-width: calc(100% - var(--fs-spacing-7));
29
31
 
30
- --fs-navbar-search-expanded-button-icon-margin-right : -4.063rem;
32
+ --fs-navbar-search-expanded-button-icon-margin-right: -4.063rem;
31
33
 
32
34
  // Logo
33
- --fs-navbar-logo-width : var(--fs-logo-width);
34
- --fs-navbar-logo-border-left-width : var(--fs-border-width);
35
- --fs-navbar-logo-border-left-color : var(--fs-border-color-light);
35
+ --fs-navbar-logo-width: var(--fs-logo-width);
36
+ --fs-navbar-logo-border-left-width: var(--fs-border-width);
37
+ --fs-navbar-logo-border-left-color: var(--fs-border-color-light);
36
38
 
37
39
  // --------------------------------------------------------
38
40
  // Structural Styles
@@ -45,12 +47,12 @@
45
47
  box-shadow: var(--fs-navbar-box-shadow);
46
48
  transition: top var(--fs-navbar-transition-timing) var(--fs-navbar-transition-function);
47
49
 
48
- @include media("<notebook") {
50
+ @include utilities.media("<notebook") {
49
51
  height: var(--fs-navbar-height-mobile);
50
52
  }
51
53
 
52
54
  &[data-fs-navbar-scroll="down"] {
53
- > [data-fs-navbar-links] {
55
+ >[data-fs-navbar-links] {
54
56
  top: calc(-1 * var(--fs-spacing-3));
55
57
  height: 0;
56
58
  padding: 0;
@@ -59,7 +61,7 @@
59
61
  }
60
62
 
61
63
  &[data-fs-navbar-scroll="up"] {
62
- > [data-fs-navbar-links] {
64
+ >[data-fs-navbar-links] {
63
65
  top: 0;
64
66
  opacity: 1;
65
67
  }
@@ -69,7 +71,7 @@
69
71
  flex: 1 0 100%;
70
72
  order: 2;
71
73
 
72
- @include media("<notebook") {
74
+ @include utilities.media("<notebook") {
73
75
  display: none;
74
76
  }
75
77
  }
@@ -82,17 +84,17 @@
82
84
  width: 100%;
83
85
  height: 100%;
84
86
 
85
- @include media("<notebook") {
87
+ @include utilities.media("<notebook") {
86
88
  padding: 0;
87
89
  }
88
90
 
89
- @include media(">=notebook") {
91
+ @include utilities.media(">=notebook") {
90
92
  display: grid;
91
- grid-template-columns: 1fr minmax(auto, 37.5rem) 1fr;
93
+ grid-template-columns: 1fr minmax(auto, 32.5rem) 1fr;
92
94
  }
93
95
 
94
96
  [data-fs-navbar-button-menu] {
95
- @include media(">=notebook") {
97
+ @include utilities.media(">=notebook") {
96
98
  display: none;
97
99
  }
98
100
 
@@ -106,7 +108,7 @@
106
108
  justify-content: flex-end;
107
109
 
108
110
  [data-fs-button-signin-link] + [data-fs-cart-toggle] {
109
- @include media(">=notebook") {
111
+ @include utilities.media(">=notebook") {
110
112
  margin-inline-start: var(--fs-spacing-3);
111
113
  }
112
114
  }
@@ -115,9 +117,23 @@
115
117
  display: none;
116
118
  }
117
119
 
118
- @include media(">=notebook") {
120
+ [data-fs-localization-button] {
121
+ [data-fs-button-wrapper] [data-fs-button-icon] + span {
122
+ display: grid;
123
+ grid-template-columns: auto 1fr;
124
+ gap: var(--fs-spacing-1);
125
+ align-items: center;
126
+ }
127
+ }
128
+
129
+ @include utilities.media(">=notebook") {
119
130
  order: 2;
120
131
 
132
+ [data-fs-button] {
133
+ // TODO: remove this after adding `regular` size to the button
134
+ --fs-button-height: 40px;
135
+ }
136
+
121
137
  [data-fs-button-signin-link] {
122
138
  display: inline-flex;
123
139
  }
@@ -127,7 +143,7 @@
127
143
  display: none;
128
144
  transition: flex var(--fs-navbar-transition-timing) var(--fs-navbar-transition-function);
129
145
 
130
- @include media("<notebook") {
146
+ @include utilities.media("<notebook") {
131
147
  display: flex;
132
148
  flex: 0;
133
149
  flex-direction: column;
@@ -139,7 +155,9 @@
139
155
  padding: 0;
140
156
  border-width: 0;
141
157
 
142
- &:hover, &:focus, &:focus-visible &:hover:focus-visible {
158
+ &:hover,
159
+ &:focus,
160
+ &:focus-visible &:hover:focus-visible {
143
161
  border-width: 0;
144
162
  box-shadow: 0 0;
145
163
  }
@@ -196,7 +214,7 @@
196
214
  align-self: stretch;
197
215
  height: 100%;
198
216
 
199
- @include media("<notebook") {
217
+ @include utilities.media("<notebook") {
200
218
  padding: var(--fs-spacing-1) 0 var(--fs-spacing-1) var(--fs-spacing-3);
201
219
  margin-inline: auto 0;
202
220
  border-inline-start: var(--fs-navbar-logo-border-left-width) solid var(--fs-navbar-logo-border-left-color);
@@ -205,7 +223,7 @@
205
223
  [data-fs-logo] {
206
224
  width: var(--fs-navbar-logo-width);
207
225
 
208
- @include media(">=notebook") {
226
+ @include utilities.media(">=notebook") {
209
227
  padding: var(--fs-spacing-2) 0;
210
228
  }
211
229
  }
@@ -13,7 +13,7 @@
13
13
 
14
14
  // Footer
15
15
  --fs-navbar-slider-footer-padding-top : var(--fs-navbar-slider-header-padding-bottom);
16
- --fs-navbar-slider-footer-margin-top : var(--fs-navbar-slider-header-padding-bottom);
16
+ --fs-navbar-slider-footer-margin-top : auto;
17
17
 
18
18
  // Logo
19
19
  --fs-navbar-slider-logo-padding : 0;
@@ -23,11 +23,13 @@
23
23
  // Structural Styles
24
24
  // --------------------------------------------------------
25
25
 
26
+ display: flex;
27
+ flex-direction: column;
26
28
  padding: var(--fs-navbar-slider-padding);
27
29
 
28
30
  [data-fs-navbar-slider-header] {
29
- padding: 0;
30
31
  height: var(--fs-navbar-slider-header-height);
32
+ padding: 0;
31
33
  padding-bottom: var(--fs-navbar-slider-header-padding-bottom);
32
34
  }
33
35
 
@@ -45,5 +47,11 @@
45
47
  width: fit-content;
46
48
  padding-left: 0;
47
49
  }
50
+
51
+ [data-fs-localization-button] {
52
+ [data-localization-button-arrow] {
53
+ display: none;
54
+ }
55
+ }
48
56
  }
49
57
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-newsletter] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Newsletter
@@ -40,15 +42,14 @@
40
42
  border-radius: var(--fs-newsletter-border-radius);
41
43
 
42
44
  [data-fs-newsletter-form] {
43
- padding: var(--fs-newsletter-padding-mobile);
44
45
  display: flex;
45
46
  flex-direction: column;
46
47
  row-gap: var(--fs-spacing-4);
48
+ padding: var(--fs-newsletter-padding-mobile);
47
49
 
48
- @include media(">=notebook") {
50
+ @include utilities.media(">=notebook") {
49
51
  padding: var(--fs-newsletter-padding-desktop);
50
52
  }
51
-
52
53
  }
53
54
 
54
55
  [data-fs-newsletter-content] {
@@ -68,9 +69,9 @@
68
69
  line-height: 1.5;
69
70
  text-align: center;
70
71
 
71
- @include media(">=notebook") {
72
- text-align: left;
72
+ @include utilities.media(">=notebook") {
73
73
  align-content: flex-start;
74
+ text-align: left;
74
75
  }
75
76
  }
76
77
 
@@ -91,7 +92,7 @@
91
92
  height: var(--fs-newsletter-icon-size);
92
93
  }
93
94
 
94
- @include media(">=notebook") {
95
+ @include utilities.media(">=notebook") {
95
96
  justify-content: left;
96
97
  }
97
98
  }
@@ -99,7 +100,7 @@
99
100
  [data-fs-newsletter-addendum] {
100
101
  text-align: center;
101
102
 
102
- @include media(">=notebook") {
103
+ @include utilities.media(">=notebook") {
103
104
  text-align: left;
104
105
  }
105
106
  }
@@ -109,7 +110,7 @@
109
110
  // --------------------------------------------------------
110
111
 
111
112
  &:not([data-fs-newsletter="card"]) {
112
- @include media(">=notebook") {
113
+ @include utilities.media(">=notebook") {
113
114
  [data-fs-newsletter-form] {
114
115
  display: grid;
115
116
  grid-template-columns: repeat(2, 1fr);
@@ -118,8 +119,8 @@
118
119
 
119
120
  [data-fs-button] {
120
121
  width: auto;
121
- margin-left: auto;
122
122
  min-width: 40%;
123
+ margin-left: auto;
123
124
  }
124
125
  }
125
126
  }
@@ -139,19 +140,19 @@
139
140
  }
140
141
 
141
142
  &[data-fs-newsletter-color-variant="main"] {
142
- background-color: var(--fs-newsletter-main-bkg-color);
143
143
  color: var(--fs-newsletter-main-text-color);
144
+ background-color: var(--fs-newsletter-main-bkg-color);
144
145
 
145
146
  [data-fs-link="true"] { color: var(--fs-color-link-inverse); }
146
147
  }
147
148
 
148
149
  &[data-fs-newsletter-color-variant="light"] {
149
- background-color: var(--fs-newsletter-light-bkg-color);
150
150
  color: var(--fs-newsletter-light-text-color);
151
+ background-color: var(--fs-newsletter-light-bkg-color);
151
152
  }
152
153
 
153
154
  &[data-fs-newsletter-color-variant="accent"] {
154
- background-color: var(--fs-newsletter-accent-bkg-color);
155
155
  color: var(--fs-newsletter-accent-text-color);
156
+ background-color: var(--fs-newsletter-accent-bkg-color);
156
157
  }
157
158
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-payment-methods] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Payment Methods
@@ -27,13 +29,13 @@
27
29
  // --------------------------------------------------------
28
30
 
29
31
  [data-fs-payment-methods-title] {
30
- & > *:first-child {
32
+ > *:first-child {
31
33
  font-size: var(--fs-payment-methods-title-size);
32
34
  font-weight: var(--fs-payment-methods-title-weight);
33
35
  line-height: var(--fs-payment-methods-title-line-height);
34
36
  }
35
37
 
36
- @include media("<notebook") {
38
+ @include utilities.media("<notebook") {
37
39
  text-align: center;
38
40
  }
39
41
  }
@@ -45,7 +47,7 @@
45
47
  justify-content: space-between;
46
48
  margin-top: var(--fs-payment-methods-flags-margin-top);
47
49
 
48
- @include media("<notebook") {
50
+ @include utilities.media("<notebook") {
49
51
  column-gap: var(--fs-grid-gap-2);
50
52
  }
51
53
  }
@@ -57,8 +59,8 @@
57
59
  width: var(--fs-payment-methods-flag-width);
58
60
  height: var(--fs-payment-methods-flag-height);
59
61
  overflow: hidden;
62
+ background-color: var(--fs-payment-methods-flag-bkg-color);
60
63
  border: var(--fs-payment-methods-flag-border-width) solid var(--fs-payment-methods-flag-border-color);
61
64
  border-radius: var(--fs-payment-methods-flag-border-radius);
62
- background-color: var(--fs-payment-methods-flag-bkg-color);
63
65
  }
64
66
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-product-comparison-toolbar] {
2
4
  // Design Tokens for Product Comparison Toolbar
3
5
  // --------------------------------------------------------
@@ -57,7 +59,7 @@
57
59
  color: var(--fs-color-disabled-text);
58
60
  }
59
61
 
60
- @include media("<notebook") {
62
+ @include utilities.media("<notebook") {
61
63
  [data-fs-button] {
62
64
  &[data-fs-button-variant="primary"],
63
65
  &[data-fs-button-variant="tertiary"] {
@@ -72,7 +74,7 @@
72
74
  }
73
75
  }
74
76
 
75
- @include media(">notebook") {
77
+ @include utilities.media(">notebook") {
76
78
  display: flex;
77
79
  gap: var(--fs-spacing-2);
78
80
  align-items: center;
@@ -176,7 +178,7 @@
176
178
  margin-top: var(--fs-spacing-3);
177
179
  border-top: var(--fs-border-width) solid var(--fs-border-color-light);
178
180
 
179
- @include media(">tablet") {
181
+ @include utilities.media(">tablet") {
180
182
  width: 100%;
181
183
  }
182
184
 
@@ -251,7 +253,7 @@
251
253
  }
252
254
  }
253
255
 
254
- @include media(">notebook") {
256
+ @include utilities.media(">notebook") {
255
257
  display: flex;
256
258
  flex-direction: column;
257
259
  padding: var(--fs-spacing-6) var(--fs-spacing-8);
@@ -341,7 +343,7 @@
341
343
  }
342
344
 
343
345
  [data-fs-product-comparison-dropdown-button] {
344
- @include media(">notebook") {
346
+ @include utilities.media(">notebook") {
345
347
  display: none;
346
348
  }
347
349
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-product-details] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Product Details
@@ -23,7 +25,7 @@
23
25
  flex-direction: column;
24
26
  row-gap: var(--fs-product-details-vertical-spacing);
25
27
 
26
- @include media(">=tablet") {
28
+ @include utilities.media(">=tablet") {
27
29
  display: grid;
28
30
  grid-template-columns: repeat(12, 1fr);
29
31
  row-gap: 0;
@@ -40,15 +42,15 @@
40
42
  }
41
43
 
42
44
  [data-fs-product-price] {
43
- [data-fs-price-variant="spot"]{
44
- margin: 0;
45
- font-size: var(--fs-text-size-4);
46
- font-weight: var(--fs-text-weight-black);
47
- line-height: 1.12;
45
+ [data-fs-price-variant="spot"] {
46
+ margin: 0;
47
+ font-size: var(--fs-text-size-4);
48
+ font-weight: var(--fs-text-weight-black);
49
+ line-height: 1.12;
48
50
  }
49
51
  }
50
52
 
51
- @include media(">=tablet") {
53
+ @include utilities.media(">=tablet") {
52
54
  padding: var(--fs-spacing-3);
53
55
  border: var(--fs-product-details-section-border-width) solid var(--fs-product-details-section-border-color);
54
56
 
@@ -57,7 +59,7 @@
57
59
  }
58
60
  }
59
61
 
60
- @include media(">=notebook") {
62
+ @include utilities.media(">=notebook") {
61
63
  padding: var(--fs-product-details-vertical-spacing) var(--fs-spacing-5);
62
64
  }
63
65
  }
@@ -66,12 +68,12 @@
66
68
  [data-fs-product-details-info] {
67
69
  background-color: var(--fs-product-details-section-bkg-color);
68
70
 
69
- @include media(">=tablet") {
71
+ @include utilities.media(">=tablet") {
70
72
  grid-column: 8 / span 5;
71
73
  height: 100%;
72
74
  }
73
75
 
74
- @include media(">=notebook") {
76
+ @include utilities.media(">=notebook") {
75
77
  grid-column: 9 / span 4;
76
78
  }
77
79
  }
@@ -81,7 +83,7 @@
81
83
  // -----------------------------
82
84
 
83
85
  [data-fs-product-details-title] {
84
- @include media(">=tablet") {
86
+ @include utilities.media(">=tablet") {
85
87
  border-bottom: 0;
86
88
  border-radius: var(--fs-product-details-section-border-radius) var(--fs-product-details-section-border-radius) 0 0;
87
89
  }
@@ -96,7 +98,7 @@
96
98
  flex-direction: column;
97
99
  row-gap: var(--fs-product-details-vertical-spacing);
98
100
 
99
- @include media(">=tablet") {
101
+ @include utilities.media(">=tablet") {
100
102
  grid-row: span 5;
101
103
  row-gap: 0;
102
104
  border-radius: 0 0 var(--fs-product-details-section-border-radius) var(--fs-product-details-section-border-radius);
@@ -133,29 +135,29 @@
133
135
  // -----------------------------
134
136
 
135
137
  [data-fs-product-details-gallery] {
136
- @include media(">=tablet") {
138
+ @include utilities.media(">=tablet") {
137
139
  grid-row: 1 / span 3;
138
140
  grid-column: span 7;
139
141
  max-height: 23.75rem;
140
142
  }
141
143
 
142
- @include media(">tablet", "<notebook") {
144
+ @include utilities.media(">tablet", "<notebook") {
143
145
  max-height: 35rem;
144
146
  }
145
147
 
146
- @include media(">=notebook") {
148
+ @include utilities.media(">=notebook") {
147
149
  max-height: 33.125rem;
148
150
  }
149
151
 
150
152
  &[data-fs-image-gallery="without-selector"] {
151
- @include media(">=notebook") {
153
+ @include utilities.media(">=notebook") {
152
154
  grid-row-end: span 4;
153
155
  grid-column: span 8;
154
156
  }
155
157
  }
156
158
 
157
159
  &[data-fs-image-gallery="with-selector"] {
158
- @include media(">=notebook") {
160
+ @include utilities.media(">=notebook") {
159
161
  grid-row: 1 / span 4;
160
162
  grid-column: span 8;
161
163
  }
@@ -167,31 +169,31 @@
167
169
  // -----------------------------
168
170
 
169
171
  [data-fs-product-description] {
170
- @include media(">=tablet") {
172
+ @include utilities.media(">=tablet") {
171
173
  grid-row: span 10;
172
174
  grid-column: span 7;
173
175
  margin-top: var(--fs-spacing-7);
174
176
  }
175
177
 
176
- @include media(">=notebook") {
178
+ @include utilities.media(">=notebook") {
177
179
  grid-column: span 8;
178
180
  }
179
181
  }
180
182
 
181
183
  [data-fs-product-details-description-content] {
182
- font-size: var(--fs-text-size-body);
183
- line-height: 1.5;
184
- /**
184
+ /**
185
185
  * display: contents allows you to remove an element from the box tree but still keep its contents
186
186
  * It doesn't have padding or margin, for example.
187
- *
187
+ *
188
188
  * https://blogs.igalia.com/mrego/2018/01/11/display-contents-is-coming/
189
- */
189
+ */
190
190
  display: contents;
191
+ font-size: var(--fs-text-size-body);
192
+ line-height: 1.5;
191
193
  }
192
194
 
193
195
  [data-fs-image-gallery="with-selector"] ~ [data-fs-product-description] {
194
- @include media(">=notebook") {
196
+ @include utilities.media(">=notebook") {
195
197
  grid-column: 2 / 9;
196
198
  }
197
199
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-product-listing] {
2
4
  --product-listing-row-height: var(--fs-spacing-6);
3
5
 
@@ -9,14 +11,14 @@
9
11
  }
10
12
 
11
13
  [data-fs-product-listing-search-term] {
12
- @include media(">=notebook") {
14
+ @include utilities.media(">=notebook") {
13
15
  padding-bottom: var(--fs-spacing-6);
14
16
  }
15
17
 
16
18
  h1 {
17
19
  font-size: var(--fs-text-size-4);
18
20
 
19
- @include media(">=tablet") { font-size: var(--fs-text-size-5); }
21
+ @include utilities.media(">=tablet") { font-size: var(--fs-text-size-5); }
20
22
 
21
23
  span {
22
24
  font-weight: var(--fs-text-weight-bold);
@@ -30,11 +32,11 @@
30
32
  width: 100%;
31
33
  height: 100%;
32
34
 
33
- @include media("<notebook") {
35
+ @include utilities.media("<notebook") {
34
36
  padding-inline: 0;
35
37
  }
36
38
 
37
- @include media(">=notebook") {
39
+ @include utilities.media(">=notebook") {
38
40
  display: grid;
39
41
  grid-template-rows: var(--product-listing-row-height) auto;
40
42
  grid-template-columns: repeat(12, 1fr);
@@ -44,7 +46,7 @@
44
46
  }
45
47
 
46
48
  [data-fs-product-listing-filters] {
47
- @include media(">=notebook") {
49
+ @include utilities.media(">=notebook") {
48
50
  position: sticky;
49
51
  top: var(--fs-grid-gap-2);
50
52
  grid-row: span 2;
@@ -59,15 +61,15 @@
59
61
  justify-content: space-between;
60
62
  order: 1;
61
63
  width: 100%;
62
- min-height: rem(68px);
64
+ min-height: utilities.rem(68px);
63
65
  padding: 0 var(--fs-grid-padding);
64
66
 
65
67
  [data-fs-product-listing-sort-skeleton] {
66
- min-width: rem(225px);
68
+ min-width: utilities.rem(225px);
67
69
  min-height: var(--fs-spacing-5);
68
70
  }
69
71
 
70
- @include media(">=notebook") {
72
+ @include utilities.media(">=notebook") {
71
73
  grid-column: 6 / span 7;
72
74
  justify-content: flex-end;
73
75
  order: unset;
@@ -89,15 +91,15 @@
89
91
  align-items: center;
90
92
  justify-content: center;
91
93
  order: 2;
92
- min-height: rem(45px);
94
+ min-height: utilities.rem(45px);
93
95
  padding: var(--fs-spacing-2) var(--fs-spacing-3);
94
96
 
95
- @include media("<notebook") {
97
+ @include utilities.media("<notebook") {
96
98
  justify-content: space-between;
97
99
  background-color: var(--fs-color-neutral-bkg);
98
100
  }
99
101
 
100
- @include media(">=notebook") {
102
+ @include utilities.media(">=notebook") {
101
103
  grid-column: 4 /span 2;
102
104
  gap: var(--fs-spacing-3);
103
105
  justify-content: left;
@@ -109,7 +111,7 @@
109
111
  }
110
112
 
111
113
  [data-fs-product-listing-results-count-skeleton] {
112
- min-width: rem(130px);
114
+ min-width: utilities.rem(130px);
113
115
  }
114
116
  }
115
117
 
@@ -120,18 +122,18 @@
120
122
  padding: 0 var(--padding);
121
123
  border-top: var(--fs-border-radius-small) solid var(--fs-color-neutral-bkg);
122
124
 
123
- @include media("<notebook") {
125
+ @include utilities.media("<notebook") {
124
126
  background-color: var(--fs-color-neutral-bkg);
125
127
  }
126
128
 
127
- @include media(">=notebook") {
129
+ @include utilities.media(">=notebook") {
128
130
  grid-column: 4 / span 9;
129
131
  order: unset;
130
132
  padding: 0;
131
133
  background-color: unset;
132
134
  }
133
135
 
134
- [data-fs-product-grid] { min-height: rem(290px); }
136
+ [data-fs-product-grid] { min-height: utilities.rem(290px); }
135
137
 
136
138
  [data-fs-product-card] { min-width: 100%; }
137
139
  }
@@ -141,7 +143,7 @@
141
143
  margin: var(--fs-spacing-1) calc(-1 * var(--padding));
142
144
  background-color: var(--fs-color-body-bkg);
143
145
 
144
- @include media(">=notebook") {
146
+ @include utilities.media(">=notebook") {
145
147
  padding: 0;
146
148
  margin: var(--fs-spacing-6) 0;
147
149
 
@@ -163,14 +165,14 @@
163
165
  margin-right: calc(-1 * var(--padding));
164
166
  margin-left: calc(-1 * var(--padding));
165
167
 
166
- @include media(">=notebook") {
168
+ @include utilities.media(">=notebook") {
167
169
  padding: var(--fs-spacing-1) var(--fs-spacing-2);
168
170
  }
169
171
 
170
172
  [data-fs-button] {
171
173
  width: 100%;
172
174
 
173
- @include media(">=notebook") {
175
+ @include utilities.media(">=notebook") {
174
176
  width: fit-content;
175
177
  }
176
178
  }