@faststore/ui 3.80.0 → 3.84.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/ui",
3
- "version": "3.80.0",
3
+ "version": "3.84.0",
4
4
  "description": "A lightweight, framework agnostic component library for React",
5
5
  "author": "emersonlaurentino",
6
6
  "license": "MIT",
@@ -47,7 +47,7 @@
47
47
  }
48
48
  ],
49
49
  "dependencies": {
50
- "@faststore/components": "^3.80.0",
50
+ "@faststore/components": "^3.84.0",
51
51
  "include-media": "^1.4.10",
52
52
  "modern-normalize": "^1.1.0",
53
53
  "react-swipeable": "^7.0.0",
@@ -70,5 +70,5 @@
70
70
  "volta": {
71
71
  "extends": "../../package.json"
72
72
  },
73
- "gitHead": "1b4a2efd041bfbd78d6848e5da407d1fe0d3c66b"
73
+ "gitHead": "6fa29e5b0a01dab3971a688484c8ec73e1a40aad"
74
74
  }
@@ -4,80 +4,89 @@
4
4
  // --------------------------------------------------------
5
5
 
6
6
  // Default properties
7
- --fs-product-card-padding : var(--fs-spacing-1) var(--fs-spacing-1) var(--fs-spacing-2) var(--fs-spacing-1);
8
- --fs-product-card-min-width : 10rem;
9
- --fs-product-card-gap : var(--fs-spacing-2);
7
+ --fs-product-card-padding : var(--fs-spacing-1) var(--fs-spacing-1) var(--fs-spacing-2) var(--fs-spacing-1);
8
+ --fs-product-card-min-width : 10rem;
9
+ --fs-product-card-gap : var(--fs-spacing-2);
10
10
 
11
- --fs-product-card-shadow : var(--fs-shadow);
12
- --fs-product-card-shadow-hover : var(--fs-shadow-hover);
11
+ --fs-product-card-shadow : var(--fs-shadow);
12
+ --fs-product-card-shadow-hover : var(--fs-shadow-hover);
13
13
 
14
- --fs-product-card-bkg-color : var(--fs-color-body-bkg);
15
- --fs-product-card-bkg-color-hover : var(--fs-product-card-bkg-color);
16
- --fs-product-card-bkg-color-focus : var(--fs-product-card-bkg-color-hover);
14
+ --fs-product-card-bkg-color : var(--fs-color-body-bkg);
15
+ --fs-product-card-bkg-color-hover : var(--fs-product-card-bkg-color);
16
+ --fs-product-card-bkg-color-focus : var(--fs-product-card-bkg-color-hover);
17
17
 
18
- --fs-product-card-border-radius : var(--fs-border-radius);
19
- --fs-product-card-border-width : var(--fs-border-width);
20
- --fs-product-card-border-color : var(--fs-border-color-light);
21
- --fs-product-card-border-color-hover : var(--fs-border-color-hover);
18
+ --fs-product-card-border-radius : var(--fs-border-radius);
19
+ --fs-product-card-border-width : var(--fs-border-width);
20
+ --fs-product-card-border-color : var(--fs-border-color-light);
21
+ --fs-product-card-border-color-hover : var(--fs-border-color-hover);
22
22
 
23
- --fs-product-card-transition-function : var(--fs-transition-function);
24
- --fs-product-card-transition-property : var(--fs-transition-property);
25
- --fs-product-card-transition-timing : var(--fs-transition-timing);
23
+ --fs-product-card-transition-function : var(--fs-transition-function);
24
+ --fs-product-card-transition-property : var(--fs-transition-property);
25
+ --fs-product-card-transition-timing : var(--fs-transition-timing);
26
26
 
27
27
  // Image
28
- --fs-product-card-img-radius : var(--fs-product-card-border-radius);
29
- --fs-product-card-img-scale-hover : 1;
28
+ --fs-product-card-img-radius : var(--fs-product-card-border-radius);
29
+ --fs-product-card-img-scale-hover : 1;
30
30
 
31
31
  // Title
32
- --fs-product-card-title-color : var(--fs-color-text);
33
- --fs-product-card-title-size : var(--fs-text-size-base);
34
- --fs-product-card-title-weight : var(--fs-text-weight-regular);
35
- --fs-product-card-title-max-lines : var(--fs-text-max-lines);
32
+ --fs-product-card-title-color : var(--fs-color-text);
33
+ --fs-product-card-title-size : var(--fs-text-size-base);
34
+ --fs-product-card-title-weight : var(--fs-text-weight-regular);
35
+ --fs-product-card-title-max-lines : var(--fs-text-max-lines);
36
36
 
37
37
  // Price
38
- --fs-product-card-price-color : var(--fs-color-text);
39
- --fs-product-card-price-size : var(--fs-text-size-base);
38
+ --fs-product-card-price-color : var(--fs-color-text);
39
+ --fs-product-card-price-size : var(--fs-text-size-base);
40
40
 
41
41
  // Out Of Stock
42
- --fs-product-card-out-of-stock-bkg-color : transparent;
43
- --fs-product-card-out-of-stock-border-color: var(--fs-color-neutral-1);
44
- --fs-product-card-out-of-stock-img-opacity : .5;
42
+ --fs-product-card-out-of-stock-bkg-color : transparent;
43
+ --fs-product-card-out-of-stock-border-color : var(--fs-color-neutral-1);
44
+ --fs-product-card-out-of-stock-img-opacity : .5;
45
45
 
46
46
  // Taxes label
47
- --fs-product-card-taxes-label-color : var(--fs-color-info-text);
48
- --fs-product-card-taxes-text-size : var(--fs-text-size-tiny);
49
- --fs-product-card-taxes-text-weight : var(--fs-text-weight-regular);
47
+ --fs-product-card-taxes-label-color : var(--fs-color-info-text);
48
+ --fs-product-card-taxes-text-size : var(--fs-text-size-tiny);
49
+ --fs-product-card-taxes-text-weight : var(--fs-text-weight-regular);
50
50
 
51
51
  // Wide
52
- --fs-product-card-wide-padding : 0;
53
- --fs-product-card-wide-content-padding : var(--fs-spacing-2);
54
- --fs-product-card-wide-bkg-color : var(--fs-color-neutral-bkg);
55
- --fs-product-card-wide-min-width : 9rem;
52
+ --fs-product-card-wide-padding : 0;
53
+ --fs-product-card-wide-content-padding : var(--fs-spacing-2);
54
+ --fs-product-card-wide-bkg-color : var(--fs-color-neutral-bkg);
55
+ --fs-product-card-wide-min-width : 9rem;
56
56
 
57
57
  // Sponsored Label
58
- --fs-product-card-sponsored-label-size : var(--fs-text-size-tiny);
59
- --fs-product-card-sponsored-label-color : var(--fs-color-text-light);
58
+ --fs-product-card-sponsored-label-size : var(--fs-text-size-tiny);
59
+ --fs-product-card-sponsored-label-color : var(--fs-color-text-light);
60
+
61
+ // Delivery Promise Badges
62
+ --fs-product-card-delivery-promise-badge-text-size : var(--fs-text-size-tiny);
63
+ --fs-product-card-delivery-promise-badge-status-width : var(--fs-spacing-1);
64
+ --fs-product-card-delivery-promise-badge-status-border-radius: var(--fs-border-radius-circle);
65
+
66
+ --fs-product-card-delivery-promise-badge-status-available : var(--fs-color-success-2);
67
+ --fs-product-card-delivery-promise-badge-status-unavailable : var(--fs-color-neutral-bkg);
60
68
 
61
69
  // --------------------------------------------------------
62
70
  // Structural Styles
63
71
  // --------------------------------------------------------
64
72
 
65
73
  position: relative;
66
- min-width: var(--fs-product-card-min-width);
67
- height: 100%;
68
74
  display: flex;
69
75
  flex-direction: column;
70
76
  row-gap: var(--fs-product-card-gap);
77
+ min-width: var(--fs-product-card-min-width);
78
+ height: 100%;
71
79
  padding: var(--fs-product-card-padding);
80
+ overflow: hidden;
72
81
  background-color: var(--fs-product-card-bkg-color);
73
82
  border: var(--fs-product-card-border-width) solid transparent;
74
83
  border-radius: var(--fs-product-card-border-radius);
75
- overflow: hidden;
76
84
  box-shadow: var(--fs-product-card-shadow);
77
85
  transition: var(--fs-product-card-transition-property) var(--fs-product-card-transition-timing) var(--fs-product-card-transition-function);
78
86
 
79
87
  &:focus-within {
80
88
  @include focus-ring;
89
+
81
90
  background-color: var(--fs-product-card-bkg-color-focus);
82
91
  }
83
92
 
@@ -98,9 +107,9 @@
98
107
  position: relative;
99
108
  display: flex;
100
109
  justify-content: center;
101
- overflow: hidden;
102
110
  width: 100%;
103
111
  aspect-ratio: var(--fs-product-card-image-aspect-ratio);
112
+ overflow: hidden;
104
113
 
105
114
  img {
106
115
  width: 100%;
@@ -116,9 +125,9 @@
116
125
  row-gap: var(--fs-product-card-gap);
117
126
 
118
127
  [data-fs-product-card-taxes-label] {
119
- color: var(--fs-product-card-taxes-label-color);
120
128
  font-size: var(--fs-product-card-taxes-text-size);
121
129
  font-weight: var(--fs-product-card-taxes-text-weight);
130
+ color: var(--fs-product-card-taxes-label-color);
122
131
  }
123
132
 
124
133
  [data-fs-link] {
@@ -144,8 +153,8 @@
144
153
 
145
154
  [data-fs-product-card-sponsored-label] {
146
155
  font-size: var(--fs-product-card-sponsored-label-size);
147
- color: var(--fs-product-card-sponsored-label-color);
148
156
  line-height: 1.33;
157
+ color: var(--fs-product-card-sponsored-label-color);
149
158
  }
150
159
 
151
160
  [data-fs-product-card-title] {
@@ -174,6 +183,32 @@
174
183
  height: fit-content;
175
184
  }
176
185
 
186
+ [data-fs-product-card-delivery-promise-badges] {
187
+ display: flex;
188
+ flex-direction: column;
189
+ row-gap: var(--fs-spacing-0);
190
+ font-size: var(--fs-product-card-delivery-promise-badge-text-size);
191
+
192
+ [data-fs-product-card-delivery-promise-badge] {
193
+ &::before {
194
+ display: inline-block;
195
+ width: var(--fs-product-card-delivery-promise-badge-status-width);
196
+ height: var(--fs-product-card-delivery-promise-badge-status-width);
197
+ margin-right: var(--fs-spacing-1);
198
+ content: "";
199
+ border-radius: var(--fs-product-card-delivery-promise-badge-status-border-radius);
200
+ }
201
+
202
+ &[data-fs-product-card-delivery-promise-badge-availability="true"]::before {
203
+ background-color: var(--fs-product-card-delivery-promise-badge-status-available);
204
+ }
205
+
206
+ &[data-fs-product-card-delivery-promise-badge-availability="false"]::before {
207
+ background-color: var(--fs-product-card-delivery-promise-badge-status-unavailable);
208
+ }
209
+ }
210
+ }
211
+
177
212
  // --------------------------------------------------------
178
213
  // Variants Styles
179
214
  // --------------------------------------------------------
@@ -183,7 +218,6 @@
183
218
  --fs-product-card-border-color : var(--fs-product-card-out-of-stock-border-color);
184
219
 
185
220
  [data-fs-product-card-image] { opacity: var(--fs-product-card-out-of-stock-img-opacity); }
186
-
187
221
  }
188
222
 
189
223
  &[data-fs-product-card-bordered="true"] {
@@ -210,8 +244,8 @@
210
244
  padding-bottom: var(--fs-product-card-wide-content-padding);
211
245
 
212
246
  [data-fs-product-card-content] {
213
- padding-left: var(--fs-product-card-wide-content-padding);
214
247
  padding-right: var(--fs-product-card-wide-content-padding);
248
+ padding-left: var(--fs-product-card-wide-content-padding);
215
249
 
216
250
  [data-fs-link] > span { @include truncate-title(2); }
217
251
 
@@ -5,15 +5,15 @@
5
5
  // Default properties
6
6
 
7
7
  // Shadow
8
- --fs-product-comparison-box-shadow: var(--fs-shadow-darker);
8
+ --fs-product-comparison-box-shadow: var(--fs-shadow-darker);
9
9
 
10
10
  // Background
11
- --fs-product-comparison-bkg-color: var(--fs-color-body-bkg);
11
+ --fs-product-comparison-bkg-color: var(--fs-color-body-bkg);
12
12
  --fs-product-comparison-bkg-color-neutral: var(--fs-color-neutral-1);
13
13
 
14
14
  // Text
15
- --fs-product-comparison-text-weight: var(--fs-text-weight-light);
16
- --fs-product-comparison-text-color: var(--fs-border-color-light);
15
+ --fs-product-comparison-text-weight: var(--fs-text-weight-light);
16
+ --fs-product-comparison-text-color: var(--fs-border-color-light);
17
17
 
18
18
  // --------------------------------------------------------
19
19
  // Structural Styles
@@ -96,19 +96,19 @@
96
96
  // Default properties
97
97
 
98
98
  // Background
99
- --fs-product-comparison-bkg-color: var(--fs-color-body-bkg);
99
+ --fs-product-comparison-bkg-color: var(--fs-color-body-bkg);
100
100
 
101
101
  // Title
102
- --fs-product-comparison-title-size: var(--fs-text-size-6);
103
- --fs-product-comparison-title-weight: var(--fs-text-weight-semibold);
102
+ --fs-product-comparison-title-size: var(--fs-text-size-6);
103
+ --fs-product-comparison-title-weight: var(--fs-text-weight-semibold);
104
104
 
105
105
  // Spacing
106
- --fs-product-comparison-padding: var(--fs-spacing-8);
106
+ --fs-product-comparison-padding: var(--fs-spacing-8);
107
107
 
108
108
  // Partial
109
- --fs-product-comparison-slide-over-partial-gap: calc(2 * var(--fs-grid-padding));
110
- --fs-product-comparison-slide-over-partial-width-mobile: calc(100vw - var(--fs-slide-over-partial-gap));
111
- --fs-product-comparison-slide-over-partial-width-notebook: calc(100% / 3);
109
+ --fs-product-comparison-slide-over-partial-gap: calc(2 * var(--fs-grid-padding));
110
+ --fs-product-comparison-slide-over-partial-width-mobile: calc(100vw - var(--fs-slide-over-partial-gap));
111
+ --fs-product-comparison-slide-over-partial-width-notebook: calc(100% / 3);
112
112
  --fs-product-comparison-slide-over-partial-max-width-notebook: calc(var(--fs-grid-breakpoint-notebook) / 3);
113
113
 
114
114
  // --------------------------------------------------------
@@ -195,33 +195,32 @@
195
195
  align-items: center;
196
196
  justify-content: space-between;
197
197
  width: 100%;
198
- margin-bottom: var(--fs-spacing-0);
199
198
  padding: 0;
199
+ margin-bottom: var(--fs-spacing-0);
200
200
 
201
201
  [data-fs-button-wrapper] {
202
- width: 100%;
203
202
  display: flex;
204
- flex-direction: row;
205
- flex-wrap: wrap;
203
+ flex-flow: row wrap;
206
204
  justify-content: space-between;
207
- text-align: start;
205
+ width: 100%;
208
206
  padding: 0;
209
207
  padding-right: var(--fs-spacing-1);
208
+ text-align: start;
210
209
  }
211
210
  }
212
211
 
213
212
  [data-fs-product-comparison-row-header-button-title] {
214
213
  font-size: var(--fs-text-size-3);
215
214
  font-weight: var(--fs-text-weight-medium);
216
- color: var(--fs-color-text);
217
215
  line-height: 1.7;
216
+ color: var(--fs-color-text);
218
217
  }
219
218
 
220
219
  [data-fs-product-comparison-row-header-button-description] {
221
220
  font-size: var(--fs-text-size-2);
222
221
  font-weight: var(--fs-text-weight-regular);
223
- color: var(--fs-color-text-light);
224
222
  line-height: 1.25;
223
+ color: var(--fs-color-text-light);
225
224
  }
226
225
 
227
226
  [data-fs-product-comparison-row-label] {
@@ -82,8 +82,12 @@
82
82
  --fs-color-focus-ring-danger : #e1adad;
83
83
 
84
84
  // SITUATIONS
85
- --fs-color-success-text : #1e493b;
86
- --fs-color-success-bkg : #b3ebd5;
85
+ --fs-color-success-0 : #1e493b;
86
+ --fs-color-success-1 : #b3ebd5;
87
+ --fs-color-success-2 : #016810;
88
+
89
+ --fs-color-success-text : var(--fs-color-success-0);
90
+ --fs-color-success-bkg : var(--fs-color-success-1);
87
91
  --fs-color-success-border : var(--fs-color-success-text);
88
92
 
89
93
  --fs-color-warning-text : var(--fs-color-text);
@@ -275,7 +279,7 @@
275
279
  // SHADOW
276
280
  --fs-shadow : none;
277
281
  --fs-shadow-darker : 0 0 10px rgb(0 0 0 / 20%);
278
- --fs-shadow-hover : 0 2px 3px rgba(0,0,0,.1);
282
+ --fs-shadow-hover : 0 2px 3px rgb(0 0 0 / 10%);
279
283
 
280
284
  // LOGO
281
285
  --fs-logo-width : 7rem;