@faststore/ui 2.0.122-alpha.0 → 2.0.132-alpha.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 (57) hide show
  1. package/dist/index.d.ts +0 -6
  2. package/dist/index.js +0 -4
  3. package/dist/index.js.map +1 -1
  4. package/package.json +2 -2
  5. package/src/components/atoms/Button/styles.scss +103 -63
  6. package/src/components/molecules/Accordion/styles.scss +3 -1
  7. package/src/components/molecules/Alert/styles.scss +2 -15
  8. package/src/components/molecules/Banner/styles.scss +1 -1
  9. package/src/components/molecules/BuyButton/styles.scss +9 -5
  10. package/src/components/molecules/Carousel/styles.scss +82 -56
  11. package/src/components/molecules/InputField/styles.scss +3 -9
  12. package/src/components/molecules/LinkButton/styles.scss +1 -2
  13. package/src/components/molecules/NavbarLinks/styles.scss +12 -9
  14. package/src/components/molecules/QuantitySelector/styles.scss +20 -75
  15. package/src/components/molecules/RegionBar/styles.scss +12 -9
  16. package/src/components/molecules/SearchInputField/styles.scss +16 -30
  17. package/src/components/organisms/Filter/styles.scss +11 -10
  18. package/src/components/organisms/Hero/styles.scss +4 -2
  19. package/src/components/organisms/ImageGallery/styles.scss +33 -20
  20. package/src/components/organisms/ProductShelf/styles.scss +2 -3
  21. package/src/index.ts +0 -16
  22. package/dist/components/molecules/Bullets/Bullets.d.ts +0 -35
  23. package/dist/components/molecules/Bullets/Bullets.js +0 -12
  24. package/dist/components/molecules/Bullets/Bullets.js.map +0 -1
  25. package/dist/components/molecules/Bullets/index.d.ts +0 -2
  26. package/dist/components/molecules/Bullets/index.js +0 -2
  27. package/dist/components/molecules/Bullets/index.js.map +0 -1
  28. package/dist/components/molecules/Carousel/Arrows.d.ts +0 -12
  29. package/dist/components/molecules/Carousel/Arrows.js +0 -6
  30. package/dist/components/molecules/Carousel/Arrows.js.map +0 -1
  31. package/dist/components/molecules/Carousel/Carousel.d.ts +0 -54
  32. package/dist/components/molecules/Carousel/Carousel.js +0 -183
  33. package/dist/components/molecules/Carousel/Carousel.js.map +0 -1
  34. package/dist/components/molecules/Carousel/CarouselItem.d.ts +0 -11
  35. package/dist/components/molecules/Carousel/CarouselItem.js +0 -18
  36. package/dist/components/molecules/Carousel/CarouselItem.js.map +0 -1
  37. package/dist/components/molecules/Carousel/hooks/useSlideVisibility.d.ts +0 -9
  38. package/dist/components/molecules/Carousel/hooks/useSlideVisibility.js +0 -29
  39. package/dist/components/molecules/Carousel/hooks/useSlideVisibility.js.map +0 -1
  40. package/dist/components/molecules/Carousel/index.d.ts +0 -2
  41. package/dist/components/molecules/Carousel/index.js +0 -3
  42. package/dist/components/molecules/Carousel/index.js.map +0 -1
  43. package/dist/hooks/useSlider/index.d.ts +0 -2
  44. package/dist/hooks/useSlider/index.js +0 -3
  45. package/dist/hooks/useSlider/index.js.map +0 -1
  46. package/dist/hooks/useSlider/useSlider.d.ts +0 -64
  47. package/dist/hooks/useSlider/useSlider.js +0 -103
  48. package/dist/hooks/useSlider/useSlider.js.map +0 -1
  49. package/src/components/molecules/Bullets/Bullets.tsx +0 -88
  50. package/src/components/molecules/Bullets/index.ts +0 -2
  51. package/src/components/molecules/Carousel/Arrows.tsx +0 -58
  52. package/src/components/molecules/Carousel/Carousel.tsx +0 -387
  53. package/src/components/molecules/Carousel/CarouselItem.tsx +0 -54
  54. package/src/components/molecules/Carousel/hooks/useSlideVisibility.ts +0 -59
  55. package/src/components/molecules/Carousel/index.ts +0 -2
  56. package/src/hooks/useSlider/index.ts +0 -2
  57. package/src/hooks/useSlider/useSlider.ts +0 -209
package/dist/index.d.ts CHANGED
@@ -3,13 +3,7 @@ export { default as TextArea } from './components/atoms/TextArea';
3
3
  export type { TextAreaProps } from './components/atoms/TextArea';
4
4
  export { default as Incentive } from './components/atoms/Incentive';
5
5
  export type { IncentiveProps } from './components/atoms/Incentive';
6
- export { default as Bullets } from './components/molecules/Bullets';
7
- export type { BulletsProps } from './components/molecules/Bullets';
8
- export { default as Carousel } from './components/molecules/Carousel';
9
- export type { CarouselProps } from './components/molecules/Carousel';
10
6
  export { default as Banner, BannerContent, BannerImage, BannerLink, } from './components/molecules/Banner';
11
7
  export type { BannerProps, BannerContentProps, BannerImageProps, BannerLinkProps, } from './components/molecules/Banner';
12
8
  export { Tile, Tiles } from './components/organisms/Tiles';
13
9
  export type { TilesProps, TileProps } from './components/organisms/Tiles';
14
- export { default as useSlider } from './hooks/useSlider';
15
- export type { UseSliderArgs, SliderState, SliderDispatch, SlideDirection, } from './hooks/useSlider';
package/dist/index.js CHANGED
@@ -3,11 +3,7 @@ export * from '@faststore/components';
3
3
  export { default as TextArea } from './components/atoms/TextArea';
4
4
  export { default as Incentive } from './components/atoms/Incentive';
5
5
  // Molecules
6
- export { default as Bullets } from './components/molecules/Bullets';
7
- export { default as Carousel } from './components/molecules/Carousel';
8
6
  export { default as Banner, BannerContent, BannerImage, BannerLink, } from './components/molecules/Banner';
9
7
  // Organisms
10
8
  export { Tile, Tiles } from './components/organisms/Tiles';
11
- // Hooks
12
- export { default as useSlider } from './hooks/useSlider';
13
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AAErC,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAGjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAGnE,YAAY;AAEZ,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAGnE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAGrE,OAAO,EACL,OAAO,IAAI,MAAM,EACjB,aAAa,EACb,WAAW,EACX,UAAU,GACX,MAAM,+BAA+B,CAAA;AAQtC,YAAY;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAG1D,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AAErC,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAGjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAGnE,YAAY;AACZ,OAAO,EACL,OAAO,IAAI,MAAM,EACjB,aAAa,EACb,WAAW,EACX,UAAU,GACX,MAAM,+BAA+B,CAAA;AAQtC,YAAY;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/ui",
3
- "version": "2.0.122-alpha.0",
3
+ "version": "2.0.132-alpha.0",
4
4
  "description": "A lightweight, framework agnostic component library for React",
5
5
  "author": "emersonlaurentino",
6
6
  "license": "MIT",
@@ -58,5 +58,5 @@
58
58
  "node": "16.18.0",
59
59
  "yarn": "1.19.1"
60
60
  },
61
- "gitHead": "253c09ebb08354e8c7fead371d64e97cdf0b204b"
61
+ "gitHead": "e6d7561f0783b20ba4966d9e7c971146300ff129"
62
62
  }
@@ -100,7 +100,7 @@
100
100
 
101
101
  // Small
102
102
  --fs-button-small-padding : var(--fs-spacing-0) var(--fs-spacing-1);
103
- --fs-button-small-min-height : var(--fs-spacing-5);
103
+ --fs-button-small-min-height : var(--fs-spacing-7);
104
104
  --fs-button-small-gap : var(--fs-spacing-1);
105
105
  --fs-button-small-icon-width : var(--fs-spacing-3);
106
106
  --fs-button-small-icon-height : var(--fs-button-small-icon-width);
@@ -112,31 +112,52 @@
112
112
  // Structural Styles
113
113
  // --------------------------------------------------------
114
114
 
115
- display: inline-flex;
116
- column-gap: var(--fs-button-gap);
117
- align-items: center;
118
- justify-content: center;
115
+ display: flex;
116
+ align-items: stretch;
117
+ width: fit-content;
119
118
  min-height: var(--fs-button-height);
120
- padding: var(--fs-button-padding);
121
- font-size: var(--fs-button-text-size);
122
- font-weight: var(--fs-button-text-weight);
123
- line-height: var(--fs-button-text-size);
124
- text-decoration: none;
119
+ padding: 0;
125
120
  cursor: pointer;
126
- border: var(--fs-button-border-width) solid var(--fs-button-border-color);
127
- border-radius: var(--fs-button-border-radius);
128
- outline: none;
129
- box-shadow: var(--fs-button-shadow);
130
- transition: var(--fs-button-transition-property) var(--fs-button-transition-timing) var(--fs-button-transition-function);
121
+
122
+ [data-fs-button-wrapper] {
123
+ position: relative;
124
+ display: inline-flex;
125
+ column-gap: var(--fs-button-gap);
126
+ align-items: center;
127
+ justify-content: center;
128
+ width: 100%;
129
+ padding: var(--fs-button-padding);
130
+ font-size: var(--fs-button-text-size);
131
+ font-weight: var(--fs-button-text-weight);
132
+ line-height: var(--fs-button-text-size);
133
+ text-decoration: none;
134
+ border: var(--fs-button-border-width) solid var(--fs-button-border-color);
135
+ border-radius: var(--fs-button-border-radius);
136
+ outline: none;
137
+ box-shadow: var(--fs-button-shadow);
138
+ transition: var(--fs-button-transition-property) var(--fs-button-transition-timing) var(--fs-button-transition-function);
139
+ }
140
+
131
141
 
132
142
  // --------------------------------------------------------
133
143
  // Variants Styles
134
144
  // --------------------------------------------------------
135
145
 
136
146
  &[data-fs-button-variant] {
137
- @include focus-ring-visible;
138
147
 
139
- &:disabled, &[data-fs-button-disabled="true"] {
148
+ &:focus, &:focus-visible { box-shadow: none; }
149
+
150
+ @media not all and (min-resolution: .001dpcm) {
151
+ @supports (-webkit-appearance:none) {
152
+ &:focus [data-fs-button-wrapper],
153
+ &:focus:hover [data-fs-button-wrapper] { @include focus-ring; }
154
+ }
155
+ }
156
+
157
+ &:focus-visible [data-fs-button-wrapper],
158
+ &:focus-visible:hover [data-fs-button-wrapper] { @include focus-ring; }
159
+
160
+ &:disabled [data-fs-button-wrapper], &[data-fs-button-disabled="true"] [data-fs-button-wrapper] {
140
161
  color: var(--fs-button-disabled-text-color);
141
162
  cursor: not-allowed;
142
163
  background-color: var(--fs-button-disabled-bkg-color);
@@ -153,58 +174,66 @@
153
174
 
154
175
  &[data-fs-button-size="small"] {
155
176
  --fs-control-tap-size: var(--fs-button-small-min-height);
177
+ padding: var(--fs-spacing-1);
156
178
 
157
- column-gap: var(--fs-button-small-gap);
158
- padding: var(--fs-button-small-padding);
179
+ [data-fs-button-wrapper] {
180
+ column-gap: var(--fs-button-small-gap);
181
+ padding: var(--fs-button-small-padding);
182
+ }
159
183
 
184
+ &:not([data-fs-icon-button="true"]) {
160
185
  [data-fs-icon] {
161
186
  width: var(--fs-button-small-icon-width);
162
187
  height: var(--fs-button-small-icon-height);
163
188
  }
164
-
189
+ }
165
190
  }
166
191
 
167
192
  &[data-fs-button-variant="primary"] {
168
- color: var(--fs-button-primary-text-color);
169
- background-color: var(--fs-button-primary-bkg-color);
170
- border: var(--fs-button-border-width) solid var(--fs-button-primary-border-color);
193
+ [data-fs-button-wrapper] {
194
+ color: var(--fs-button-primary-text-color);
195
+ background-color: var(--fs-button-primary-bkg-color);
196
+ border: var(--fs-button-border-width) solid var(--fs-button-primary-border-color);
197
+ }
171
198
 
172
- &:hover {
199
+ &:hover [data-fs-button-wrapper] {
173
200
  color: var(--fs-button-primary-text-color-hover);
174
201
  background-color: var(--fs-button-primary-bkg-color-hover);
175
202
  border-color: var(--fs-button-primary-border-color-hover);
176
203
  box-shadow: var(--fs-button-primary-shadow-hover);
177
204
  }
178
205
 
179
- &:focus, &:focus-visible {
206
+ &:focus [data-fs-button-wrapper], &:focus-visible [data-fs-button-wrapper] {
180
207
  color: var(--fs-button-primary-text-color-hover);
181
208
  background-color: var(--fs-button-primary-bkg-color-hover);
182
209
  }
183
210
 
184
- &:active {
211
+ &:active [data-fs-button-wrapper] {
185
212
  color: var(--fs-button-primary-text-color-active);
186
213
  background-color: var(--fs-button-primary-bkg-color-active);
187
214
  border-color: var(--fs-button-primary-border-color-active);
188
215
  }
189
216
 
190
217
  &[data-fs-button-inverse="true"] {
191
- color: var(--fs-button-primary-inverse-text-color);
192
- background-color: var(--fs-button-primary-inverse-bkg-color);
193
- border: var(--fs-button-border-width) solid var(--fs-button-primary-inverse-border-color);
218
+ [data-fs-button-wrapper] {
219
+ color: var(--fs-button-primary-inverse-text-color);
220
+ background-color: var(--fs-button-primary-inverse-bkg-color);
221
+ border: var(--fs-button-border-width) solid var(--fs-button-primary-inverse-border-color);
222
+ }
194
223
 
195
- &:hover {
224
+ &:hover [data-fs-button-wrapper] {
196
225
  color: var(--fs-button-primary-inverse-text-color-hover);
197
226
  background-color: var(--fs-button-primary-inverse-bkg-color-hover);
198
227
  border-color: var(--fs-button-primary-inverse-border-color-hover);
199
228
  box-shadow: var(--fs-button-primary-inverse-shadow-hover);
200
229
  }
201
230
 
202
- &:focus, &:focus-visible {
231
+ &:focus [data-fs-button-wrapper], &:focus-visible [data-fs-button-wrapper] {
203
232
  color: var(--fs-button-primary-inverse-text-color-hover);
204
233
  background-color: var(--fs-button-primary-inverse-bkg-color-hover);
205
234
  }
206
235
 
207
- &:active {
236
+ &:active [data-fs-button-wrapper] {
208
237
  color: var(--fs-button-primary-inverse-text-color-active);
209
238
  background-color: var(--fs-button-primary-inverse-bkg-color-active);
210
239
  border-color: var(--fs-button-primary-inverse-border-color-active);
@@ -213,46 +242,52 @@
213
242
  }
214
243
 
215
244
  &[data-fs-button-variant="secondary"] {
216
- color: var(--fs-button-secondary-text-color);
217
- background-color: var(--fs-button-secondary-bkg-color);
218
- border: var(--fs-button-border-width) solid var(--fs-button-secondary-border-color);
219
245
 
220
- &:hover {
246
+ [data-fs-button-wrapper] {
247
+ color: var(--fs-button-secondary-text-color);
248
+ background-color: var(--fs-button-secondary-bkg-color);
249
+ border: var(--fs-button-border-width) solid var(--fs-button-secondary-border-color);
250
+ }
251
+
252
+ &:hover [data-fs-button-wrapper] {
221
253
  color: var(--fs-button-secondary-text-color-hover);
222
254
  background-color: var(--fs-button-secondary-bkg-color-hover);
223
255
  border-color: var(--fs-button-secondary-border-color-hover);
224
256
  box-shadow: var(--fs-button-secondary-shadow-hover);
225
257
  }
226
258
 
227
- &:focus, &:focus-visible {
259
+ &:focus [data-fs-button-wrapper], &:focus-visible [data-fs-button-wrapper] {
228
260
  color: var(--fs-button-secondary-text-color-hover);
229
261
  background-color: var(--fs-button-secondary-bkg-color-hover);
230
262
  }
231
263
 
232
- &:active {
264
+ &:active [data-fs-button-wrapper] {
233
265
  color: var(--fs-button-secondary-text-color-active);
234
266
  background-color: var(--fs-button-secondary-bkg-color-active);
235
267
  border-color: var(--fs-button-secondary-border-color-active);
236
268
  }
237
269
 
238
270
  &[data-fs-button-inverse="true"] {
239
- color: var(--fs-button-secondary-inverse-text-color);
240
- background-color: var(--fs-button-secondary-inverse-bkg-color);
241
- border: var(--fs-button-border-width) solid var(--fs-button-secondary-inverse-border-color);
242
271
 
243
- &:hover {
272
+ [data-fs-button-wrapper] {
273
+ color: var(--fs-button-secondary-inverse-text-color);
274
+ background-color: var(--fs-button-secondary-inverse-bkg-color);
275
+ border: var(--fs-button-border-width) solid var(--fs-button-secondary-inverse-border-color);
276
+ }
277
+
278
+ &:hover [data-fs-button-wrapper] {
244
279
  color: var(--fs-button-secondary-inverse-text-color-hover);
245
280
  background-color: var(--fs-button-secondary-inverse-bkg-color-hover);
246
281
  border-color: var(--fs-button-secondary-inverse-border-color-hover);
247
282
  box-shadow: var(--fs-button-secondary-inverse-shadow-hover);
248
283
  }
249
284
 
250
- &:focus, &:focus-visible {
285
+ &:focus [data-fs-button-wrapper], &:focus-visible [data-fs-button-wrapper] {
251
286
  color: var(--fs-button-secondary-inverse-text-color-hover);
252
287
  background-color: var(--fs-button-secondary-inverse-bkg-color-hover);
253
288
  }
254
289
 
255
- &:active {
290
+ &:active [data-fs-button-wrapper] {
256
291
  color: var(--fs-button-secondary-inverse-text-color-active);
257
292
  background-color: var(--fs-button-secondary-inverse-bkg-color-active);
258
293
  border-color: var(--fs-button-secondary-inverse-border-color-active);
@@ -261,46 +296,52 @@
261
296
  }
262
297
 
263
298
  &[data-fs-button-variant="tertiary"] {
264
- color: var(--fs-button-tertiary-text-color);
265
- background-color: var(--fs-button-tertiary-bkg-color);
266
- border: var(--fs-button-border-width) solid var(--fs-button-tertiary-border-color);
267
299
 
268
- &:hover {
300
+ [data-fs-button-wrapper] {
301
+ color: var(--fs-button-tertiary-text-color);
302
+ background-color: var(--fs-button-tertiary-bkg-color);
303
+ border: var(--fs-button-border-width) solid var(--fs-button-tertiary-border-color);
304
+ }
305
+
306
+ &:hover [data-fs-button-wrapper] {
269
307
  color: var(--fs-button-tertiary-text-color-hover);
270
308
  background-color: var(--fs-button-tertiary-bkg-color-hover);
271
309
  border-color: var(--fs-button-tertiary-border-color-hover);
272
310
  box-shadow: var(--fs-button-tertiary-shadow-hover);
273
311
  }
274
312
 
275
- &:focus, &:focus-visible {
313
+ &:focus [data-fs-button-wrapper], &:focus-visible [data-fs-button-wrapper] {
276
314
  color: var(--fs-button-tertiary-text-color-hover);
277
315
  background-color: var(--fs-button-tertiary-bkg-color-hover);
278
316
  }
279
317
 
280
- &:active {
318
+ &:active [data-fs-button-wrapper] {
281
319
  color: var(--fs-button-tertiary-text-color-active);
282
320
  background-color: var(--fs-button-tertiary-bkg-color-active);
283
321
  border-color: var(--fs-button-tertiary-border-color-active);
284
322
  }
285
323
 
286
324
  &[data-fs-button-inverse="true"] {
287
- color: var(--fs-button-tertiary-inverse-text-color);
288
- background-color: var(--fs-button-tertiary-inverse-bkg-color);
289
- border: var(--fs-button-border-width) solid var(--fs-button-tertiary-inverse-border-color);
290
325
 
291
- &:hover {
326
+ [data-fs-button-wrapper] {
327
+ color: var(--fs-button-tertiary-inverse-text-color);
328
+ background-color: var(--fs-button-tertiary-inverse-bkg-color);
329
+ border: var(--fs-button-border-width) solid var(--fs-button-tertiary-inverse-border-color);
330
+ }
331
+
332
+ &:hover [data-fs-button-wrapper] {
292
333
  color: var(--fs-button-tertiary-inverse-text-color-hover);
293
334
  background-color: var(--fs-button-tertiary-inverse-bkg-color-hover);
294
335
  border-color: var(--fs-button-tertiary-inverse-border-color-hover);
295
336
  box-shadow: var(--fs-button-tertiary-inverse-shadow-hover);
296
337
  }
297
338
 
298
- &:focus, &:focus-visible {
339
+ &:focus [data-fs-button-wrapper], &:focus-visible [data-fs-button-wrapper] {
299
340
  color: var(--fs-button-tertiary-inverse-text-color-hover);
300
341
  background-color: var(--fs-button-tertiary-inverse-bkg-color-hover);
301
342
  }
302
343
 
303
- &:active {
344
+ &:active [data-fs-button-wrapper] {
304
345
  color: var(--fs-button-tertiary-inverse-text-color-active);
305
346
  background-color: var(--fs-button-tertiary-inverse-bkg-color-active);
306
347
  border-color: var(--fs-button-tertiary-inverse-border-color-active);
@@ -309,18 +350,17 @@
309
350
  }
310
351
 
311
352
  &[data-fs-icon-button="true"] {
312
- position: relative;
313
- column-gap: 0;
353
+ width: var(--fs-button-height);
314
354
 
315
- &[data-fs-button-variant] {
316
- width: var(--fs-button-height);
317
- height: var(--fs-button-height);
318
- padding: var(--fs-button-icon-padding);
355
+ [data-fs-button-wrapper] {
356
+ column-gap: 0;
357
+ padding: 0;
319
358
  border-width: 0;
359
+ width: 100%;
320
360
  }
321
361
  }
322
362
 
323
- &[data-fs-button-loading="true"] {
363
+ &[data-fs-button-loading="true"] [data-fs-button-wrapper] {
324
364
  > * {
325
365
  opacity: 0;
326
366
  pointer-events: none;
@@ -37,7 +37,9 @@
37
37
  }
38
38
  }
39
39
 
40
- [data-fs-accordion-button] {
40
+ [data-fs-accordion-button] { width: 100%; }
41
+
42
+ [data-fs-accordion-button] [data-fs-button-wrapper] {
41
43
  display: inline-flex;
42
44
  align-items: center;
43
45
  justify-content: space-between;
@@ -76,22 +76,9 @@
76
76
  }
77
77
 
78
78
  [data-fs-alert-button] {
79
- min-width: var(--fs-control-tap-size);
80
- height: 100%;
81
- padding: var(--fs-spacing-0);
82
79
  margin-left: auto;
83
- color: var(--fs-alert-button-text-color);
84
- background-color: var(--fs-alert-button-bkg-color);
85
-
86
- > span {
87
- display: flex;
88
- align-items: center;
89
- justify-content: center;
90
- width: 100%;
91
- height: 100%;
92
- background-color: var(--fs-alert-button-bkg-color);
93
- border-radius: var(--fs-alert-button-border-radius);
94
- }
80
+
81
+ [data-fs-button-wrapper] { color: var(--fs-alert-button-text-color); }
95
82
 
96
83
  &:hover span {
97
84
  filter: brightness(0.95);
@@ -59,7 +59,7 @@
59
59
 
60
60
  [data-fs-banner-text-link] [data-fs-link-button] {
61
61
  min-width: var(--fs-banner-button-link-min-width);
62
- margin-top: var(--fs-banner-button-link-margin-top);
62
+ margin: var(--fs-banner-button-link-margin-top) auto 0;
63
63
  }
64
64
 
65
65
  // --------------------------------------------------------
@@ -25,22 +25,26 @@
25
25
  @include focus-ring-visible;
26
26
 
27
27
  color: var(--fs-buy-button-text-color);
28
- background-color: var(--fs-buy-button-bkg-color);
29
- border: var(--fs-button-border-width) solid var(--fs-buy-button-border-color);
30
28
 
31
- &:hover {
29
+ [data-fs-button-wrapper] {
30
+ background-color: var(--fs-buy-button-bkg-color);
31
+ border: var(--fs-button-border-width) solid var(--fs-buy-button-border-color);
32
+ }
33
+
34
+
35
+ &:hover [data-fs-button-wrapper] {
32
36
  color: var(--fs-buy-button-text-color-hover);
33
37
  background-color: var(--fs-buy-button-bkg-color-hover);
34
38
  border-color: var(--fs-buy-button-border-color-hover);
35
39
  box-shadow: var(--fs-buy-button-shadow-hover);
36
40
  }
37
41
 
38
- &:focus, &:focus-visible {
42
+ &:focus [data-fs-button-wrapper], &:focus-visible [data-fs-button-wrapper] {
39
43
  color: var(--fs-buy-button-text-color-hover);
40
44
  background-color: var(--fs-buy-button-bkg-color-hover);
41
45
  }
42
46
 
43
- &:active {
47
+ &:active [data-fs-button-wrapper] {
44
48
  color: var(--fs-buy-button-text-color-hover);
45
49
  background-color: var(--fs-buy-button-bkg-color-active);
46
50
  border-color: var(--fs-buy-button-border-color-active);
@@ -4,49 +4,59 @@
4
4
  // --------------------------------------------------------
5
5
 
6
6
  // Track
7
- --fs-carousel-padding-desktop : var(--fs-spacing-0) 6.25rem;
7
+ --fs-carousel-padding-mobile : 0 var(--fs-grid-padding);
8
+ --fs-carousel-padding-desktop : 0 calc((100vw - 1230px)/2);
8
9
 
9
10
  // Item
10
- --fs-carousel-item-width-mobile : 80%;
11
- --fs-carousel-item-width-desktop : 15rem;
12
- --fs-carousel-item-margin-right : var(--fs-spacing-0);
11
+ --fs-carousel-item-width-mobile : 60%;
12
+ --fs-carousel-item-width-tablet : 14.2rem;
13
+ --fs-carousel-item-width-desktop : 14.4rem;
14
+ --fs-carousel-item-margin-right : var(--fs-spacing-3);
13
15
 
14
16
  // Controls
15
- --fs-carousel-controls-width : 3.125rem;
16
- --fs-carousel-controls-height : var(--fs-carousel-controls-width);
17
- --fs-carousel-controls-position-top : calc((100% - var(--fs-spacing-7) - var(--fs-spacing-1)) / 2);
18
- --fs-carousel-controls-bkg-color : var(--fs-color-neutral-0);
19
- --fs-carousel-controls-border-radius : var(--fs-border-radius-circle);
20
- --fs-carousel-controls-box-shadow : var(--fs-shadow-darker);
21
- --fs-carousel-controls-icon-color : var(--fs-color-neutral-7);
22
-
23
- --fs-carousel-controls-control-left : var(--fs-spacing-5);
24
- --fs-carousel-controls-control-right : var(--fs-carousel-controls-control-left);
17
+ --fs-carousel-controls-width : 3.125rem;
18
+ --fs-carousel-controls-height : var(--fs-carousel-controls-width);
19
+ --fs-carousel-controls-bkg-color : var(--fs-color-neutral-0);
20
+ --fs-carousel-controls-border-radius : var(--fs-border-radius-circle);
21
+ --fs-carousel-controls-box-shadow : var(--fs-shadow-darker);
22
+ --fs-carousel-controls-icon-color : var(--fs-color-neutral-7);
23
+
24
+ --fs-carousel-controls-control-left : var(--fs-spacing-4);
25
+ --fs-carousel-controls-control-right : var(--fs-carousel-controls-control-left);
26
+ --fs-carousel-controls-control-max-left : calc(-1 * var(--fs-spacing-11));
27
+ --fs-carousel-controls-control-max-right : var(--fs-carousel-controls-control-max-left);
25
28
 
26
29
  // Bullets
27
- --fs-carousel-bullets-padding-top : var(--fs-carousel-controls-control-left);
28
-
29
- --fs-carousel-bullet-width-mobile : 100%;
30
- --fs-carousel-bullet-width-desktop : var(--fs-spacing-1);
31
- --fs-carousel-bullet-height-mobile : var(--fs-carousel-item-margin-right);
32
- --fs-carousel-bullet-height-desktop : var(--fs-carousel-bullet-width-desktop);
33
- --fs-carousel-bullet-margin-right : var(--fs-carousel-item-margin-right);
34
- --fs-carousel-bullet-bkg-color : var(--fs-color-neutral-3);
35
- --fs-carousel-bullet-bkg-color-selected : var(--fs-color-main-4);
36
- --fs-carousel-bullet-border-radius : var(--fs-carousel-controls-border-radius);
30
+ --fs-carousel-bullets-padding-top : var(--fs-carousel-controls-control-left);
31
+ --fs-carousel-bullets-padding-left : var(--fs-grid-padding);
32
+ --fs-carousel-bullets-padding-right : var(--fs-carousel-bullets-padding-left);
33
+ --fs-carousel-bullets-column-gap-mobile : var(--fs-spacing-0);
34
+ --fs-carousel-bullets-column-gap-tablet : var(--fs-spacing-3);
35
+
36
+ --fs-carousel-bullet-width-mobile : 100%;
37
+ --fs-carousel-bullet-width-desktop : var(--fs-spacing-1);
38
+ --fs-carousel-bullet-height-mobile : var(--fs-spacing-0);
39
+ --fs-carousel-bullet-height-desktop : var(--fs-carousel-bullet-width-desktop);
40
+ --fs-carousel-bullet-bkg-color : var(--fs-color-neutral-3);
41
+ --fs-carousel-bullet-bkg-color-selected : var(--fs-color-main-4);
42
+ --fs-carousel-bullet-border-radius : var(--fs-carousel-controls-border-radius);
37
43
 
38
44
  // --------------------------------------------------------
39
45
  // Structural Styles
40
46
  // --------------------------------------------------------
41
47
 
48
+ width: inherit;
49
+
42
50
  &:hover {
43
51
  [data-fs-carousel-controls] {
52
+ position: relative;
53
+
44
54
  @include media(">=tablet") {
45
55
  display: flex;
46
- width: 100%;
56
+ margin: var(--fs-carousel-padding-desktop);
47
57
 
48
58
  [data-fs-carousel-control] {
49
- top: var(--fs-carousel-controls-position-top);
59
+ bottom: calc(var(--fs-carousel-controls-height) + var(--fs-control-tap-size));
50
60
  display: flex;
51
61
  align-items: center;
52
62
  justify-content: center;
@@ -62,25 +72,41 @@
62
72
 
63
73
  [data-fs-carousel-control="left"] {
64
74
  position: absolute;
65
- left: var(--fs-carousel-controls-control-left);
75
+ left: var(--fs-carousel-controls-control-right);
76
+ @include media(">notebook") {
77
+ left: var(--fs-carousel-controls-control-max-left);
78
+ }
66
79
  }
67
80
 
68
81
  [data-fs-carousel-control="right"] {
69
82
  position: absolute;
70
83
  right: var(--fs-carousel-controls-control-right);
84
+ @include media(">notebook") {
85
+ right: var(--fs-carousel-controls-control-max-right);
86
+ }
71
87
  }
72
88
 
73
- [data-fs-icon] { display: flex; }
89
+ [data-fs-icon] {
90
+ display: flex;
91
+ color: var(--fs-carousel-controls-icon-color);
92
+ }
74
93
  }
75
94
  }
76
95
  }
77
96
 
97
+ [data-fs-carousel-controls] {
98
+ position: relative;
99
+ display: none;
100
+ }
101
+
78
102
  [data-fs-carousel-track] {
103
+ padding: var(--fs-carousel-padding-mobile);
104
+
79
105
  &::-webkit-scrollbar {
80
106
  display: none;
81
107
  }
82
108
 
83
- @include media(">=tablet") {
109
+ @include media(">notebook") {
84
110
  padding: var(--fs-carousel-padding-desktop);
85
111
  }
86
112
  }
@@ -88,51 +114,48 @@
88
114
  [data-fs-carousel-item] {
89
115
  width: var(--fs-carousel-item-width-mobile);
90
116
 
91
- @include media(">=tablet") {
92
- width: var(--fs-carousel-item-width-desktop);
93
- height: 100%;
117
+ &:not(:last-of-type) {
94
118
  margin-right: var(--fs-carousel-item-margin-right);
95
119
  }
96
- }
97
120
 
98
- [data-fs-icon] {
99
- color: var(--fs-carousel-controls-icon-color);
100
- }
121
+ @include media(">=tablet") {
122
+ width: var(--fs-carousel-item-width-tablet);
123
+ height: 100%;
124
+ }
101
125
 
102
- [data-fs-carousel-controls] {
103
- display: none;
126
+ @include media(">=desktop") {
127
+ width: var(--fs-carousel-item-width-desktop);
128
+ }
104
129
  }
105
130
 
106
131
  [data-fs-carousel-bullets] {
132
+ position: relative;
107
133
  width: 100%;
108
134
  padding-top: var(--fs-carousel-bullets-padding-top);
135
+ display: flex;
136
+ flex-flow: row nowrap;
137
+ column-gap: var(--fs-carousel-bullets-column-gap-mobile);
138
+ padding-left: var(--fs-carousel-bullets-padding-left);
139
+ padding-right: var(--fs-carousel-bullets-padding-right);
109
140
 
110
141
  @include media(">=tablet") {
111
- display: flex;
142
+ width: fit-content;
112
143
  align-items: center;
113
144
  justify-content: center;
145
+ margin: auto;
146
+ column-gap: var(--fs-carousel-bullets-column-gap-tablet);
114
147
  }
115
148
 
116
- [data-fs-bullets] {
117
- display: flex;
118
- flex-flow: row nowrap;
119
-
120
- @include media(">=tablet") {
121
- column-gap: var(--fs-spacing-3);
122
- }
123
-
124
- [data-fs-bullet] {
125
- width: var(--fs-carousel-bullet-width-mobile);
126
- height: var(--fs-carousel-bullet-height-mobile);
149
+ [data-fs-carousel-bullet] {
150
+ width: var(--fs-carousel-bullet-width-mobile);
151
+ align-items: center;
152
+ justify-content: center;
153
+ [data-fs-button-wrapper] {
127
154
  padding: 0;
128
- margin-right: var(--fs-carousel-bullet-margin-right);
155
+ height: var(--fs-carousel-bullet-height-mobile);
129
156
  background-color: var(--fs-carousel-bullet-bkg-color);
130
157
  border-color: transparent;
131
-
132
- &[aria-selected="true"] {
133
- background-color: var(--fs-carousel-bullet-bkg-color-selected);
134
- }
135
-
158
+ border-radius: 0;
136
159
  @include media(">=tablet") {
137
160
  width: var(--fs-carousel-bullet-width-desktop);
138
161
  height: var(--fs-carousel-bullet-height-desktop);
@@ -140,6 +163,9 @@
140
163
  border-radius: var(--fs-carousel-bullet-border-radius);
141
164
  }
142
165
  }
166
+ &[aria-selected="true"] [data-fs-button-wrapper] {
167
+ background-color: var(--fs-carousel-bullet-bkg-color-selected);
168
+ }
143
169
  }
144
170
  }
145
171
  }