@faststore/ui 3.99.0-dev.1 → 3.99.0-dev.10

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-gift] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Gift
@@ -35,7 +37,7 @@
35
37
  // --------------------------------------------------------
36
38
 
37
39
  position: relative;
38
- margin-top: calc(var(--fs-gift-icon-size)/2);
40
+ margin-top: calc(var(--fs-gift-icon-size) / 2);
39
41
 
40
42
  [data-fs-gift-wrapper] {
41
43
  display: grid;
@@ -43,9 +45,9 @@
43
45
  align-items: flex-start;
44
46
  height: var(--fs-gift-height);
45
47
  overflow: hidden;
48
+ background-color: var(--fs-gift-bkg-color);
46
49
  border: var(--fs-gift-border-width) solid var(--fs-gift-border-color);
47
50
  border-radius: var(--fs-gift-border-radius);
48
- background-color: var(--fs-gift-bkg-color);
49
51
  }
50
52
 
51
53
  [data-fs-gift-image] {
@@ -71,7 +73,7 @@
71
73
  line-height: var(--fs-gift-title-line-height);
72
74
  color: var(--fs-gift-title-color);
73
75
 
74
- @include truncate-title;
76
+ @include utilities.truncate-title;
75
77
  }
76
78
 
77
79
  [data-fs-gift-product-summary] {
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities.scss";
2
+
1
3
  [data-fs-input-field] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Input Field
@@ -51,6 +53,7 @@
51
53
 
52
54
  [data-fs-input] {
53
55
  --fs-input-padding: var(--fs-input-field-padding);
56
+
54
57
  padding: var(--fs-input-field-padding);
55
58
  color: var(--fs-input-field-color);
56
59
 
@@ -70,7 +73,7 @@
70
73
 
71
74
  &:not(:placeholder-shown) + label,
72
75
  &:focus + label {
73
- top: rem(6px);
76
+ top: utilities.rem(6px);
74
77
  left: var(--fs-border-width);
75
78
  font-size: var(--fs-input-field-label-size);
76
79
  }
@@ -95,7 +98,8 @@
95
98
  &[data-fs-input-field-error="true"] {
96
99
  [data-fs-input] {
97
100
  border-color: var(--fs-input-field-error-border-color);
98
- @include input-focus-ring(
101
+
102
+ @include utilities.input-focus-ring(
99
103
  $outline: #{var(--fs-input-field-error-focus-ring)},
100
104
  $border: #{var(--fs-input-field-error-border-color)}
101
105
  );
@@ -115,7 +119,7 @@
115
119
  }
116
120
 
117
121
  &[data-fs-input-field-actionable="true"] {
118
- min-width: rem(250px);
122
+ min-width: utilities.rem(250px);
119
123
 
120
124
  [data-fs-input] { padding-right: var(--fs-spacing-13); }
121
125
 
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-modal] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Modal
@@ -58,7 +60,7 @@
58
60
  background-color: var(--fs-modal-background-color);
59
61
  border-radius: var(--fs-modal-border-radius);
60
62
 
61
- @include media(">=tablet") {
63
+ @include utilities.media(">=tablet") {
62
64
  width: var(--fs-modal-width-tablet);
63
65
  min-width: var(--fs-modal-min-width-tablet);
64
66
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-navbar-links] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Navbar Links
@@ -32,10 +34,10 @@
32
34
  background-color: var(--fs-navbar-links-bkg-color);
33
35
  transition: var(--fs-navbar-links-transition-property) var(--fs-navbar-links-transition-timing) var(--fs-navbar-links-transition-function);
34
36
 
35
- @include media("<notebook") { padding: 0; }
37
+ @include utilities.media("<notebook") { padding: 0; }
36
38
 
37
39
  [data-fs-navbar-links-wrapper] {
38
- @include media(">=notebook") {
40
+ @include utilities.media(">=notebook") {
39
41
  display: flex;
40
42
  align-items: center;
41
43
  }
@@ -58,19 +60,20 @@
58
60
  color: var(--fs-color-text-display);
59
61
  }
60
62
 
61
- @include media("<notebook") {
63
+ @include utilities.media("<notebook") {
62
64
  display: none;
63
65
  }
64
66
  }
65
67
 
66
- @include media(">=notebook") {
68
+ @include utilities.media(">=notebook") {
67
69
  [data-fs-navbar-links-list] {
68
70
  position: relative;
69
71
  display: flex;
70
- align-items: center;
71
72
  column-gap: var(--fs-spacing-3);
73
+ align-items: center;
72
74
  padding-left: var(--fs-navbar-links-list-padding-left-notebook);
73
75
  margin-left: var(--fs-navbar-links-list-margin-left-notebook);
76
+
74
77
  &::before {
75
78
  position: absolute;
76
79
  left: calc(-1 * var(--fs-spacing-1));
@@ -87,7 +90,7 @@
87
90
  }
88
91
  }
89
92
 
90
- @include media("<notebook") {
93
+ @include utilities.media("<notebook") {
91
94
  border-top: var(--fs-navbar-links-border-top-width-mobile) solid var(--fs-navbar-links-border-top-color-mobile);
92
95
  border-bottom: var(--fs-navbar-links-border-bottom-width-mobile) solid var(--fs-navbar-links-border-bottom-color-mobile);
93
96
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-pickup-point-card] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Pickup Point Card
@@ -47,7 +49,7 @@
47
49
  [data-fs-pickup-point-card-header-title] {
48
50
  font-weight: var(--fs-pickup-point-card-header-title-font-weight);
49
51
 
50
- @include truncate-title(1);
52
+ @include utilities.truncate-title(1);
51
53
  }
52
54
 
53
55
  [data-fs-pickup-point-card-header-postal-code] {
@@ -76,7 +78,7 @@
76
78
  font-size: var(--fs-pickup-point-card-distance-font-size);
77
79
 
78
80
  > span {
79
- @include truncate-title(3);
81
+ @include utilities.truncate-title(3);
80
82
  }
81
83
  }
82
84
  }
@@ -6,7 +6,7 @@
6
6
  // Default properties
7
7
  --fs-popover-margin : 0 var(--fs-spacing-3);
8
8
  --fs-popover-padding : var(--fs-spacing-3) var(--fs-spacing-4) var(--fs-spacing-4);
9
- --fs-popover-padding-inline : var(--fs-spacing-4);
9
+ --fs-popover-padding-inline : var(--fs-spacing-4);
10
10
  --fs-popover-border-radius : var(--fs-border-radius);
11
11
  --fs-popover-bkg-color : var(--fs-color-body-bkg);
12
12
  --fs-popover-box-shadow : var(--fs-shadow-darker);
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities.scss";
2
+
1
3
  [data-fs-product-card] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Product Card
@@ -85,7 +87,7 @@
85
87
  transition: var(--fs-product-card-transition-property) var(--fs-product-card-transition-timing) var(--fs-product-card-transition-function);
86
88
 
87
89
  &:focus-within {
88
- @include focus-ring;
90
+ @include utilities.focus-ring;
89
91
 
90
92
  background-color: var(--fs-product-card-bkg-color-focus);
91
93
  }
@@ -137,7 +139,7 @@
137
139
  text-decoration: none;
138
140
  outline: none;
139
141
 
140
- > span { @include truncate-title(1); }
142
+ > span { @include utilities.truncate-title(1); }
141
143
 
142
144
  &::after {
143
145
  position: absolute;
@@ -164,7 +166,7 @@
164
166
  color: var(--fs-product-card-title-color);
165
167
  > a { line-height: 1.25; }
166
168
 
167
- @include truncate-title(var(--fs-product-card-title-max-lines));
169
+ @include utilities.truncate-title(var(--fs-product-card-title-max-lines));
168
170
  }
169
171
 
170
172
  [data-fs-product-card-prices] {
@@ -247,9 +249,9 @@
247
249
  padding-right: var(--fs-product-card-wide-content-padding);
248
250
  padding-left: var(--fs-product-card-wide-content-padding);
249
251
 
250
- [data-fs-link] > span { @include truncate-title(2); }
252
+ [data-fs-link] > span { @include utilities.truncate-title(2); }
251
253
 
252
- @include media(">=notebook") {
254
+ @include utilities.media(">=notebook") {
253
255
  flex-direction: row;
254
256
  justify-content: space-between;
255
257
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-product-tile-skeleton] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Product Tile Skeleton
@@ -25,13 +27,13 @@
25
27
  padding: 0;
26
28
  overflow: hidden;
27
29
 
28
- @include media(">=tablet") {
30
+ @include utilities.media(">=tablet") {
29
31
  display: grid;
30
32
  grid-auto-rows: 62% auto;
31
33
  [data-fs-product-card-image] { height: 100%; }
32
34
  }
33
35
 
34
- @include media(">=notebook") { grid-auto-rows: 80% auto; }
36
+ @include utilities.media(">=notebook") { grid-auto-rows: 80% auto; }
35
37
 
36
38
  [data-fs-product-tile-skeleton-content] {
37
39
  display: flex;
@@ -40,7 +42,7 @@
40
42
  padding: var(--fs-product-tile-skeleton-content-padding);
41
43
  background-color: var(--fs-product-tile-skeleton-wide-bkg-color);
42
44
 
43
- @include media(">=notebook") {
45
+ @include utilities.media(">=notebook") {
44
46
  flex-direction: row;
45
47
  justify-content: space-between;
46
48
  height: 100%;
@@ -65,7 +67,7 @@
65
67
 
66
68
  [data-fs-skeleton-variant="image"] { border-radius: 0; }
67
69
 
68
- @include media(">=tablet") { height: 100%; }
70
+ @include utilities.media(">=tablet") { height: 100%; }
69
71
  }
70
72
 
71
73
  [data-fs-product-tile-skeleton-image],
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-product-title] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Product Title
@@ -20,14 +22,14 @@
20
22
 
21
23
  [data-fs-product-title-header] {
22
24
  display: flex;
23
- justify-content: space-between;
24
- max-width: 42ch;
25
25
  flex-wrap: wrap;
26
- column-gap: var(--fs-product-title-column-gap);
27
26
  row-gap: var(--fs-product-title-row-gap);
27
+ column-gap: var(--fs-product-title-column-gap);
28
+ justify-content: space-between;
29
+ max-width: 42ch;
28
30
 
29
31
  // Title prop
30
- & > *:first-child {
32
+ > *:first-child {
31
33
  font-size: var(--fs-product-title-text-size);
32
34
  font-weight: var(--fs-product-title-text-weight);
33
35
  line-height: var(--fs-product-title-line-height);
@@ -35,7 +37,7 @@
35
37
 
36
38
  [data-fs-badge] { white-space: nowrap; }
37
39
 
38
- @include media(">=tablet", "<notebook") {
40
+ @include utilities.media(">=tablet", "<notebook") {
39
41
  flex-direction: column;
40
42
  row-gap: var(--fs-product-title-row-gap);
41
43
  }
@@ -43,8 +45,8 @@
43
45
 
44
46
  [data-fs-product-title-addendum] {
45
47
  display: flex;
46
- justify-content: space-between;
47
48
  align-items: center;
49
+ justify-content: space-between;
48
50
  margin-top: var(--fs-product-title-row-gap);
49
51
  font-size: var(--fs-product-title-addendum-size);
50
52
  line-height: var(--fs-product-title-addendum-line-height);
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-search-dropdown] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Search Dropdown
@@ -36,12 +38,12 @@
36
38
  background-color: var(--fs-search-dropdown-bkg-color);
37
39
  &:empty { display: none; }
38
40
 
39
- @include media(">=tablet") {
41
+ @include utilities.media(">=tablet") {
40
42
  top: var(--fs-search-dropdown-position-top-tablet);
41
43
  left: var(--fs-search-dropdown-position-left-tablet);
42
44
  }
43
45
 
44
- @include media(">=notebook") {
46
+ @include utilities.media(">=notebook") {
45
47
  top: var(--fs-search-dropdown-position-top-desktop);
46
48
  left: 0;
47
49
  width: var(--fs-search-dropdown-width-desktop);
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities.scss";
2
+
1
3
  [data-fs-search-input-field-wrapper] {
2
4
  position: relative;
3
5
  display: inline-flex;
@@ -39,11 +41,9 @@
39
41
  width: 100%;
40
42
  height: var(--fs-search-input-field-height-mobile);
41
43
 
42
- @include input-focus-ring;
44
+ @include utilities.input-focus-ring;
43
45
 
44
- @include media(">=notebook") {
45
- height: var(--fs-search-input-field-height-desktop);
46
- }
46
+ @include utilities.media(">=notebook") { height: var(--fs-search-input-field-height-desktop); }
47
47
 
48
48
  [data-fs-search-input-field-actions] {
49
49
  position: relative;
@@ -52,7 +52,7 @@
52
52
  gap: 0;
53
53
  align-items: center;
54
54
 
55
- @include media(">=notebook") {
55
+ @include utilities.media(">=notebook") {
56
56
  position: absolute;
57
57
  min-height: var(--fs-search-input-field-button-min-height);
58
58
  inset-inline-end: 0;
@@ -69,13 +69,11 @@
69
69
  border var(--fs-search-input-field-transition-timing)
70
70
  var(--fs-search-input-field-transition-function);
71
71
 
72
- @include media("<notebook") {
73
- border: 0;
74
- }
72
+ @include utilities.media("<notebook") { border: 0; }
75
73
  }
76
74
 
77
75
  [data-fs-icon-button][data-fs-button-variant] {
78
- @include media(">=notebook") {
76
+ @include utilities.media(">=notebook") {
79
77
  min-height: var(--fs-search-input-field-button-min-height);
80
78
  padding-top: var(--fs-search-input-field-button-padding-top-desktop);
81
79
  padding-bottom:
@@ -106,7 +104,7 @@
106
104
  &[data-fs-search-input-field] [data-fs-search-input-field-upload-button] {
107
105
  right: 2.5rem;
108
106
 
109
- @include media(">=notebook") {
107
+ @include utilities.media(">=notebook") {
110
108
  right: 3rem;
111
109
  }
112
110
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities.scss";
2
+
1
3
  [data-fs-search-products] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Search Products
@@ -111,7 +113,7 @@
111
113
  text-decoration: none;
112
114
  outline: none;
113
115
 
114
- @include truncate-title;
116
+ @include utilities.truncate-title;
115
117
  }
116
118
 
117
119
  [data-fs-search-product-item-prices] {
@@ -153,7 +155,7 @@
153
155
  [data-fs-search-product-item-control-actions-desktop] {
154
156
  display: none;
155
157
 
156
- @include media(">tablet") {
158
+ @include utilities.media(">tablet") {
157
159
  display: block;
158
160
  }
159
161
  }
@@ -161,7 +163,7 @@
161
163
  [data-fs-search-product-item-control-actions-mobile] {
162
164
  display: block;
163
165
 
164
- @include media(">tablet") {
166
+ @include utilities.media(">tablet") {
165
167
  display: none;
166
168
  }
167
169
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities.scss";
2
+
1
3
  @mixin sku-selector-focus-ring {
2
4
  @media not all and (min-resolution: .001dpcm) { // Target only Safari browsers
3
5
  @supports (-webkit-appearance:none) {
@@ -6,7 +8,7 @@
6
8
  border-color: var(--fs-border-color-active);
7
9
  border-width: var(--fs-border-width-thick);
8
10
 
9
- @include focus-ring;
11
+ @include utilities.focus-ring;
10
12
  }
11
13
  }
12
14
  }
@@ -15,7 +17,7 @@
15
17
  border-color: var(--fs-border-color-active);
16
18
  border-width: var(--fs-border-width-thick);
17
19
 
18
- @include focus-ring;
20
+ @include utilities.focus-ring;
19
21
  }
20
22
  }
21
23
 
@@ -62,7 +64,6 @@
62
64
  --fs-sku-selector-color-height : var(--fs-sku-selector-color-width);
63
65
  --fs-sku-selector-color-border-radius : var(--fs-sku-selector-image-border-radius);
64
66
 
65
-
66
67
  // --------------------------------------------------------
67
68
  // Structural Styles
68
69
  // --------------------------------------------------------
@@ -80,8 +81,8 @@
80
81
  [data-fs-sku-selector-list] {
81
82
  display: flex;
82
83
  flex-wrap: wrap;
83
- column-gap: var(--fs-spacing-1);
84
84
  row-gap: var(--fs-spacing-1);
85
+ column-gap: var(--fs-spacing-1);
85
86
  }
86
87
 
87
88
  [data-fs-sku-selector-option] {
@@ -91,9 +92,9 @@
91
92
 
92
93
  [data-fs-sku-selector-option-link] {
93
94
  position: absolute;
95
+ z-index: 1;
94
96
  width: 100%;
95
97
  height: 100%;
96
- z-index: 1;
97
98
  }
98
99
 
99
100
  span {
@@ -101,14 +102,13 @@
101
102
  display: flex;
102
103
  align-items: center;
103
104
  justify-content: center;
104
- overflow: hidden;
105
105
  width: 100%;
106
106
  height: 100%;
107
+ overflow: hidden;
107
108
  border: var(--fs-border-width) solid var(--fs-sku-selector-option-border-color);
108
109
  border-radius: var(--fs-sku-selector-option-border-radius);
109
110
  box-shadow: 0;
110
111
  transition: box-shadow var(--fs-sku-selector-option-transition-timing) var(--fs-sku-selector-option-transition-function), background-color var(--fs-sku-selector-option-transition-timing) var(--fs-sku-selector-option-transition-function);
111
-
112
112
  }
113
113
 
114
114
  @include sku-selector-focus-ring;
@@ -135,8 +135,8 @@
135
135
  > span {
136
136
  overflow: hidden;
137
137
  color: var(--fs-sku-selector-option-disabled-color);
138
- border-color: var(--fs-sku-selector-option-disabled-border-color);
139
138
  pointer-events: none;
139
+ border-color: var(--fs-sku-selector-option-disabled-border-color);
140
140
 
141
141
  [data-fs-sku-selector-option-image] { opacity: .7; }
142
142
 
@@ -161,10 +161,10 @@
161
161
  [data-fs-sku-selector-option-color] {
162
162
  width: var(--fs-sku-selector-color-width);
163
163
  height: var(--fs-sku-selector-color-height);
164
+ background-color: var(--data-fs-sku-selector-option-color-bkg-color);
164
165
  border-radius: var(--fs-sku-selector-color-border-radius);
165
166
  transition: transform var(--fs-sku-selector-option-transition-timing) var(--fs-sku-selector-option-transition-function);
166
167
  transform-origin: center center;
167
- background-color: var(--data-fs-sku-selector-option-color-bkg-color);
168
168
  }
169
169
 
170
170
  [data-fs-sku-selector-option] {
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities.scss";
2
+
1
3
  [data-fs-textarea-field] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Input Field
@@ -100,14 +102,14 @@
100
102
  &:focus + label {
101
103
  top: var(--fs-border-width);
102
104
  left: var(--fs-textarea-field-label-left);
103
- padding-top: rem(6px);
105
+ padding-top: utilities.rem(6px);
104
106
  font-size: var(--fs-textarea-field-label-size);
105
107
  white-space: nowrap;
106
108
  }
107
109
 
108
110
  &:focus + label {
109
111
  top: var(--fs-border-width-thick);
110
- padding-top: calc(rem(6px) - var(--fs-border-width));
112
+ padding-top: calc(utilities.rem(6px) - var(--fs-border-width));
111
113
  }
112
114
 
113
115
  &:disabled + label {
@@ -124,7 +126,7 @@
124
126
  [data-fs-textarea] {
125
127
  border-color: var(--fs-textarea-field-error-border-color);
126
128
 
127
- @include input-focus-ring(
129
+ @include utilities.input-focus-ring(
128
130
  $outline: #{var(--fs-textarea-field-error-focus-ring)},
129
131
  $border: #{var(--fs-textarea-field-error-border-color)}
130
132
  );
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-toast] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Toast
@@ -63,17 +65,17 @@
63
65
  transition: var(--fs-toast-transition-property) var(--fs-toast-transition-timing) var(--fs-toast-transition-function);
64
66
  transform: translate3d(0, 0, 0);
65
67
 
66
- @include media(">=tablet") {
68
+ @include utilities.media(">=tablet") {
67
69
  top: var(--fs-toast-top-tablet);
68
70
  inset-inline-end: var(--fs-spacing-4);
69
- max-width: rem(398px);
71
+ max-width: utilities.rem(398px);
70
72
  }
71
73
 
72
74
  &[data-fs-toast-visible="true"] {
73
75
  opacity: 1;
74
76
  transform: translate3d(0, 50%, 0);
75
77
 
76
- @include media(">=tablet") {
78
+ @include utilities.media(">=tablet") {
77
79
  transform: translate3d(0, 10%, 0);
78
80
  }
79
81
  }
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities.scss";
2
+
1
3
  [data-fs-toggle] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Toggle
@@ -63,7 +65,7 @@
63
65
  overflow: visible;
64
66
 
65
67
  input {
66
- @include focus-ring-visible;
68
+ @include utilities.focus-ring-visible;
67
69
 
68
70
  position: absolute;
69
71
  z-index: 1;
@@ -1,8 +1,10 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-banner-text-newsletter] {
2
4
 
3
5
  > section > [data-fs-content] { width: 100%; }
4
6
 
5
- @include media(">=notebook") {
7
+ @include utilities.media(">=notebook") {
6
8
  display: grid;
7
9
  grid-template-columns: 1fr 1fr;
8
10
  column-gap: var(--fs-grid-gap-3);
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-banner-text] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for Banner Text
@@ -53,7 +55,8 @@
53
55
  justify-content: center;
54
56
  height: 100%;
55
57
  padding: var(--fs-banner-text-padding-mobile);
56
- @include media(">=notebook") {
58
+
59
+ @include utilities.media(">=notebook") {
57
60
  padding: var(--fs-banner-text-padding-desktop);
58
61
  }
59
62
  }
@@ -73,7 +76,7 @@
73
76
  font-weight: var(--fs-banner-text-title-weight);
74
77
  line-height: var(--fs-banner-text-title-line-height);
75
78
 
76
- @include media(">=notebook") {
79
+ @include utilities.media(">=notebook") {
77
80
  display: block;
78
81
  font-size: var(--fs-banner-text-primary-title-size);
79
82
  }
@@ -87,7 +90,7 @@
87
90
  font-weight: var(--fs-banner-text-title-weight);
88
91
  line-height: var(--fs-banner-text-title-line-height);
89
92
 
90
- @include media(">=notebook") { display: block; }
93
+ @include utilities.media(">=notebook") { display: block; }
91
94
  }
92
95
 
93
96
  p {
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/base/utilities";
2
+
1
3
  [data-fs-empty-state] {
2
4
  // --------------------------------------------------------
3
5
  // Design Tokens for EmptyState
@@ -23,14 +25,14 @@
23
25
  display: flex;
24
26
  flex-direction: column;
25
27
  row-gap: var(--fs-spacing-3);
26
- justify-content: center;
27
28
  align-items: center;
29
+ justify-content: center;
28
30
  height: var(--fs-empty-state-height);
29
31
  min-height: var(--fs-empty-state-min-height);
30
32
  padding: var(--fs-empty-state-padding);
31
33
  background-color: var(--fs-empty-state-bkg-color);
32
34
 
33
- @include media(">=notebook") {
35
+ @include utilities.media(">=notebook") {
34
36
  align-items: center;
35
37
  }
36
38