@faststore/ui 2.0.114-alpha.0 → 2.0.122-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.
@@ -0,0 +1,133 @@
1
+ [data-fs-newsletter] {
2
+ // --------------------------------------------------------
3
+ // Design Tokens for Newsletter
4
+ // --------------------------------------------------------
5
+
6
+ // Default properties
7
+ --fs-newsletter-padding : var(--fs-spacing-4) var(--fs-spacing-1) var(--fs-spacing-5) var(--fs-spacing-1);
8
+ --fs-newsletter-bkg : var(--fs-color-primary-bkg);
9
+ --fs-newsletter-text-color : var(--fs-color-text-inverse);
10
+
11
+ // Title
12
+ --fs-newsletter-title-size : var(--fs-text-size-title-section);
13
+ --fs-newsletter-title-weight : var(--fs-text-weight-bold);
14
+
15
+ // Card
16
+ --fs-newsletter-card-border-radius : var(--fs-border-radius);
17
+
18
+ // --------------------------------------------------------
19
+ // Structural Styles
20
+ // --------------------------------------------------------
21
+
22
+ display: flex;
23
+ flex-direction: column;
24
+ align-items: center;
25
+ width: 100%;
26
+ padding: var(--fs-newsletter-padding);
27
+ color: var(--fs-newsletter-text-color);
28
+ background-color: var(--fs-newsletter-bkg);
29
+
30
+ [data-fs-newsletter-form] {
31
+ @include media(">=notebook") {
32
+ display: grid;
33
+ grid-template-columns: repeat(2, 1fr);
34
+ column-gap: var(--fs-spacing-8);
35
+ padding-top: var(--fs-spacing-6);
36
+ padding-bottom: var(--fs-spacing-6);
37
+
38
+ [data-fs-newsletter-header] {
39
+ align-content: flex-start;
40
+ }
41
+ }
42
+
43
+ [data-fs-newsletter-controls] {
44
+ @include media(">=notebook") {
45
+ grid-template-columns: repeat(3, 1fr);
46
+ margin-top: 0;
47
+
48
+ [data-fs-input-field] {
49
+ grid-column: 1 / span 3;
50
+ }
51
+
52
+ [data-fs-button-inverse] {
53
+ grid-column: 3;
54
+ }
55
+
56
+ [data-fs-newsletter-addendum] {
57
+ grid-column: 1 / span 3;
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ [data-fs-newsletter-header] {
64
+ display: grid;
65
+ row-gap: var(--fs-spacing-2);
66
+ line-height: 1.5;
67
+ text-align: center;
68
+
69
+ @include media(">=notebook") {
70
+ text-align: left;
71
+ }
72
+ }
73
+
74
+ [data-fs-newsletter-header] h3 {
75
+ display: grid;
76
+ grid-template-columns: var(--fs-spacing-5) auto;
77
+ column-gap: var(--fs-spacing-1);
78
+ align-items: center;
79
+ justify-content: center;
80
+ font-size: var(--fs-newsletter-title-size);
81
+ font-weight: var(--fs-newsletter-title-weight);
82
+ color: var(--fs-newsletter-text-color);
83
+
84
+ @include media(">=notebook") {
85
+ justify-content: left;
86
+ }
87
+ }
88
+
89
+ [data-fs-newsletter-controls] {
90
+ display: grid;
91
+ row-gap: var(--fs-spacing-3);
92
+ margin-top: var(--fs-spacing-4);
93
+
94
+ [data-fs-button-inverse] {
95
+ margin-top: var(--fs-spacing-3);
96
+ }
97
+ }
98
+
99
+ [data-fs-newsletter-addendum] {
100
+ text-align: center;
101
+
102
+ @include media(">=notebook") {
103
+ text-align: left;
104
+ }
105
+ }
106
+
107
+ // --------------------------------------------------------
108
+ // Variants Styles
109
+ // --------------------------------------------------------
110
+
111
+ &[data-fs-newsletter="card"] {
112
+ text-align: center;
113
+ border-radius: var(--fs-newsletter-card-border-radius);
114
+
115
+ [data-fs-newsletter-header] {
116
+ text-align: center;
117
+ }
118
+
119
+ @include media(">=notebook") {
120
+ [data-fs-newsletter-form] {
121
+ display: block;
122
+ }
123
+
124
+ [data-fs-newsletter-controls] {
125
+ margin-top: var(--fs-spacing-4);
126
+ }
127
+ }
128
+
129
+ [data-fs-newsletter-header] h3 {
130
+ justify-content: center;
131
+ }
132
+ }
133
+ }
@@ -0,0 +1,183 @@
1
+ [data-fs-product-details] {
2
+ // --------------------------------------------------------
3
+ // Design Tokens for Product Details
4
+ // --------------------------------------------------------
5
+
6
+ // Default properties
7
+ --fs-product-details-vertical-spacing : var(--fs-spacing-4);
8
+
9
+ --fs-product-details-section-border-radius : var(--fs-border-radius);
10
+ --fs-product-details-section-border-color : var(--fs-border-color-light);
11
+ --fs-product-details-section-border-width : var(--fs-border-width);
12
+
13
+ // --------------------------------------------------------
14
+ // Structural Styles
15
+ // --------------------------------------------------------
16
+
17
+ margin-top: 0;
18
+
19
+ [data-fs-product-details-body] {
20
+ display: flex;
21
+ flex-direction: column;
22
+ row-gap: var(--fs-product-details-vertical-spacing);
23
+
24
+ @include media(">=tablet") {
25
+ display: grid;
26
+ grid-template-columns: repeat(12, 1fr);
27
+ row-gap: 0;
28
+ column-gap: var(--fs-product-details-vertical-spacing);
29
+ }
30
+ }
31
+
32
+ [data-fs-product-details-section] {
33
+ height: fit-content;
34
+
35
+ [data-fs-buy-button] {
36
+ width: 100%;
37
+ margin-top: var(--fs-spacing-3);
38
+ }
39
+
40
+ [data-fs-price] {
41
+ display: block;
42
+
43
+ &[data-fs-price-variant="spot"] {
44
+ margin: 0;
45
+ font-weight: var(--fs-text-weight-black);
46
+ }
47
+ }
48
+
49
+ @include media(">=tablet") {
50
+ padding: var(--fs-spacing-3);
51
+ border: var(--fs-product-details-section-border-width) solid var(--fs-product-details-section-border-color);
52
+
53
+ &:not(:first-child) {
54
+ border-top: 0;
55
+ }
56
+ }
57
+
58
+ @include media(">=notebook") {
59
+ padding: var(--fs-product-details-vertical-spacing) var(--fs-spacing-5);
60
+ }
61
+ }
62
+
63
+ [data-fs-product-details-title],
64
+ [data-fs-product-details-info] {
65
+ @include media(">=tablet") {
66
+ grid-column: 8 / span 5;
67
+ height: 100%;
68
+ }
69
+
70
+ @include media(">=notebook") {
71
+ grid-column: 9 / span 4;
72
+ }
73
+ }
74
+
75
+ // -----------------------------
76
+ // Title Section
77
+ // -----------------------------
78
+
79
+ [data-fs-product-details-title] {
80
+ @include media(">=tablet") {
81
+ border-bottom: 0;
82
+ border-radius: var(--fs-product-details-section-border-radius) var(--fs-product-details-section-border-radius) 0 0;
83
+ }
84
+ }
85
+
86
+ // -----------------------------
87
+ // Info Section
88
+ // -----------------------------
89
+
90
+ [data-fs-product-details-info] {
91
+ display: flex;
92
+ flex-direction: column;
93
+ row-gap: var(--fs-product-details-vertical-spacing);
94
+
95
+ @include media(">=tablet") {
96
+ grid-row: span 5;
97
+ row-gap: 0;
98
+ }
99
+ }
100
+
101
+ // Settings
102
+
103
+ [data-fs-product-details-settings] {
104
+ display: flex;
105
+ flex-direction: column;
106
+ row-gap: var(--fs-product-details-vertical-spacing);
107
+ }
108
+
109
+ [data-fs-product-details-selectors] {
110
+ display: flex;
111
+ flex-direction: column;
112
+ row-gap: var(--fs-product-details-vertical-spacing);
113
+ }
114
+
115
+ [data-fs-product-details-values] {
116
+ display: flex;
117
+ justify-content: space-between;
118
+ }
119
+
120
+ // Shipping
121
+
122
+ [data-fs-product-details-shipping] {
123
+ @include media(">=tablet") {
124
+ border-radius: 0 0 var(--fs-product-details-section-border-radius) var(--fs-product-details-section-border-radius);
125
+ }
126
+ }
127
+
128
+ // -----------------------------
129
+ // Gallery Section
130
+ // -----------------------------
131
+
132
+ [data-fs-product-details-gallery] {
133
+ @include media(">=tablet") {
134
+ grid-row: 1 / span 3;
135
+ grid-column: span 7;
136
+ max-height: 23.75rem;
137
+ }
138
+
139
+ @include media(">tablet", "<notebook") {
140
+ max-height: 35rem;
141
+ }
142
+
143
+ @include media(">=notebook") {
144
+ max-height: 33.125rem;
145
+ }
146
+
147
+ &[data-fs-image-gallery="without-selector"] {
148
+ @include media(">=notebook") {
149
+ grid-row-end: span 4;
150
+ grid-column: span 8;
151
+ }
152
+ }
153
+
154
+ &[data-fs-image-gallery="with-selector"] {
155
+ @include media(">=notebook") {
156
+ grid-row: 1 / span 4;
157
+ grid-column: span 8;
158
+ }
159
+ }
160
+ }
161
+
162
+ // -----------------------------
163
+ // Content Section
164
+ // -----------------------------
165
+
166
+ [data-fs-product-details-content] {
167
+ @include media(">=tablet") {
168
+ grid-row: span 10;
169
+ grid-column: span 7;
170
+ margin-top: var(--fs-spacing-7);
171
+ }
172
+
173
+ @include media(">=notebook") {
174
+ grid-column: span 8;
175
+ }
176
+ }
177
+
178
+ [data-fs-image-gallery="with-selector"] ~ [data-fs-product-details-content] {
179
+ @include media(">=notebook") {
180
+ grid-column: 2 / 9;
181
+ }
182
+ }
183
+ }
@@ -0,0 +1,180 @@
1
+ [data-fs-product-listing] {
2
+ --product-listing-row-height: var(--fs-spacing-6);
3
+
4
+ height: 100%;
5
+ padding-top: 0;
6
+
7
+ [data-fs-empty-state] {
8
+ margin: var(--fs-spacing-3) 0;
9
+ }
10
+
11
+ @include media(">=notebook") {
12
+ [data-fs-empty-state] {
13
+ margin: 0 0 var(--fs-spacing-5);
14
+ }
15
+ }
16
+
17
+ [data-fs-product-listing-search-term] {
18
+ @include media(">=notebook") {
19
+ padding-bottom: var(--fs-spacing-6);
20
+ }
21
+
22
+ h1 {
23
+ font-size: var(--fs-text-size-4);
24
+
25
+ @include media(">=tablet") { font-size: var(--fs-text-size-5); }
26
+
27
+ span {
28
+ font-weight: var(--fs-text-weight-bold);
29
+ }
30
+ }
31
+ }
32
+
33
+ [data-fs-product-listing-content-grid] {
34
+ display: flex;
35
+ flex-direction: column;
36
+ height: 100%;
37
+ padding-right: 0;
38
+ padding-left: 0;
39
+
40
+ @include media(">=notebook") {
41
+ display: grid;
42
+ grid-template-rows: var(--product-listing-row-height) auto;
43
+ grid-template-columns: repeat(12, 1fr);
44
+ row-gap: var(--fs-spacing-0);
45
+ column-gap: var(--fs-spacing-4);
46
+ padding-right: var(--fs-grid-padding);
47
+ padding-left: var(--fs-grid-padding);
48
+ }
49
+ }
50
+
51
+ [data-fs-product-listing-filters] {
52
+ @include media(">=notebook") {
53
+ position: sticky;
54
+ top: var(--fs-grid-gap-2);
55
+ grid-row: span 2;
56
+ grid-column: 1 / span 3;
57
+ align-self: start;
58
+ }
59
+ }
60
+
61
+ [data-fs-product-listing-sort] {
62
+ display: flex;
63
+ align-items: center;
64
+ justify-content: space-between;
65
+ order: 1;
66
+ width: 100%;
67
+ min-height: rem(68px);
68
+ padding: var(--fs-spacing-1) var(--fs-spacing-3) var(--fs-spacing-2);
69
+ background-color: var(--fs-color-body-bkg);
70
+
71
+ [data-fs-product-listing-sort-skeleton] {
72
+ min-width: rem(225px);
73
+ min-height: var(--fs-spacing-5);
74
+ }
75
+
76
+ @include media(">=notebook") {
77
+ grid-column: 6 / span 7;
78
+ justify-content: flex-end;
79
+ order: unset;
80
+ min-height: initial;
81
+ padding: 0;
82
+
83
+ [data-fs-button] {
84
+ display: none;
85
+ }
86
+
87
+ [data-fs-product-listing-filter-button-skeleton] {
88
+ display: none;
89
+ }
90
+ }
91
+ }
92
+
93
+ [data-fs-product-listing-results-count] {
94
+ display: flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+ order: 2;
98
+ min-height: rem(45px);
99
+ padding: var(--fs-spacing-2) var(--fs-spacing-3);
100
+ background-color: var(--fs-color-neutral-bkg);
101
+
102
+ @include media(">=notebook") {
103
+ grid-column: 4 /span 2;
104
+ justify-content: left;
105
+ order: unset;
106
+ min-height: initial;
107
+ padding: 0;
108
+ background-color: unset;
109
+ }
110
+
111
+ [data-fs-product-listing-results-count-skeleton] {
112
+ min-width: rem(130px);
113
+ }
114
+ }
115
+
116
+ [data-fs-product-listing-results] {
117
+ --padding: var(--fs-spacing-1);
118
+
119
+ order: 3;
120
+ padding: var(--padding) var(--padding) 0;
121
+ background-color: var(--fs-color-neutral-bkg);
122
+
123
+ @include media(">=notebook") {
124
+ grid-column: 4 / span 9;
125
+ order: unset;
126
+ padding: 0;
127
+ background-color: unset;
128
+ }
129
+
130
+ [data-fs-product-card] { min-width: 100%; }
131
+ }
132
+
133
+ [data-fs-product-listing-sponsored] {
134
+ padding: var(--fs-spacing-4) var(--fs-spacing-3);
135
+ margin: var(--fs-spacing-1) calc(-1 * var(--padding));
136
+ background-color: var(--fs-color-body-bkg);
137
+
138
+ @include media(">=notebook") {
139
+ padding: 0;
140
+ margin: var(--fs-spacing-6) 0;
141
+
142
+ [data-fs-tiles] {
143
+ row-gap: 0;
144
+ column-gap: var(--fs-grid-gap-2);
145
+ }
146
+ }
147
+
148
+ h3 { margin-bottom: var(--fs-spacing-1); }
149
+ }
150
+
151
+ [data-fs-product-listing-pagination] {
152
+ display: flex;
153
+ align-items: center;
154
+ justify-content: center;
155
+ min-height: var(--fs-spacing-13);
156
+ padding: var(--fs-spacing-4);
157
+ margin-right: calc(-1 * var(--padding));
158
+ margin-left: calc(-1 * var(--padding));
159
+
160
+ @include media(">=notebook") {
161
+ padding: var(--fs-spacing-1) var(--fs-spacing-2);
162
+ }
163
+
164
+ [data-fs-button] {
165
+ width: 100%;
166
+
167
+ @include media(">=notebook") {
168
+ width: fit-content;
169
+ }
170
+ }
171
+ }
172
+
173
+ [data-fs-product-listing-pagination="top"] {
174
+ margin-bottom: var(--padding);
175
+ }
176
+
177
+ [data-fs-product-listing-pagination="bottom"] {
178
+ margin-top: var(--padding);
179
+ }
180
+ }
@@ -0,0 +1,56 @@
1
+ [data-fs-tiles] {
2
+ // --------------------------------------------------------
3
+ // Design Tokens for Tiles
4
+ // --------------------------------------------------------
5
+
6
+ // Default properties
7
+ --fs-tiles-gap-mobile : var(--fs-grid-gap-2);
8
+ --fs-tiles-gap-notebook : var(--fs-grid-gap-3);
9
+
10
+ // Tile
11
+ --fs-tiles-tile-min-width : 9rem;
12
+ --fs-tiles-tile-border-radius : var(--fs-border-radius);
13
+
14
+ // --------------------------------------------------------
15
+ // Structural Styles
16
+ // --------------------------------------------------------
17
+
18
+ display: grid;
19
+ grid-template-columns: repeat(2, 1fr);
20
+ row-gap: var(--fs-tiles-gap-mobile);
21
+ column-gap: var(--fs-tiles-gap-mobile);
22
+
23
+ @include media(">=tablet") {
24
+ grid-template-columns: repeat(4, 1fr);
25
+ }
26
+
27
+ @include media(">=notebook") { column-gap: var(--fs-tiles-gap-notebook); }
28
+
29
+ [data-fs-tile] {
30
+ min-width: var(--fs-tiles-tile-min-width);
31
+
32
+ > * {
33
+ overflow: hidden;
34
+ border-radius: var(--fs-tiles-tile-border-radius);
35
+
36
+ @include media(">=tablet") {
37
+ display: grid;
38
+ grid-auto-rows: 62% auto;
39
+ [data-fs-product-card-image] { height: 100%; }
40
+ }
41
+
42
+ @include media(">=notebook") { grid-auto-rows: 80% auto; }
43
+ }
44
+ }
45
+
46
+ // --------------------------------------------------------
47
+ // Variants Styles
48
+ // --------------------------------------------------------
49
+
50
+ &[data-fs-tiles-variant="expanded-first"] > [data-fs-tile]:first-child,
51
+ &[data-fs-tiles-variant="expanded-first-two"] > [data-fs-tile]:first-child,
52
+ &[data-fs-tiles-variant="expanded-first-two"] > [data-fs-tile]:nth-child(2) {
53
+ grid-column: span 2;
54
+ min-width: 12rem;
55
+ }
56
+ }
@@ -7,6 +7,7 @@
7
7
  @import "../components/atoms/Link/styles";
8
8
  @import "../components/atoms/List/styles";
9
9
  @import "../components/atoms/Loader/styles";
10
+ @import "../components/atoms/Logo/styles";
10
11
  @import "../components/atoms/Overlay/styles";
11
12
  @import "../components/atoms/Price/styles";
12
13
  @import "../components/atoms/Radio/styles";
@@ -18,8 +19,10 @@
18
19
  // Molecules
19
20
  @import "../components/molecules/Accordion/styles";
20
21
  @import "../components/molecules/Alert/styles";
22
+ @import "../components/molecules/Banner/styles";
21
23
  @import "../components/molecules/Breadcrumb/styles";
22
24
  @import "../components/molecules/BuyButton/styles";
25
+ @import "../components/molecules/Carousel/styles";
23
26
  @import "../components/molecules/CartItem/styles";
24
27
  @import "../components/molecules/CheckboxField/styles";
25
28
  @import "../components/molecules/DiscountBadge/styles";
@@ -28,8 +31,11 @@
28
31
  @import "../components/molecules/InputField/styles";
29
32
  @import "../components/molecules/LinkButton/styles";
30
33
  @import "../components/molecules/Modal/styles";
34
+ @import "../components/molecules/NavbarLinks/styles";
31
35
  @import "../components/molecules/OrderSummary/styles";
32
36
  @import "../components/molecules/ProductCard/styles";
37
+ @import "../components/molecules/ProductCardSkeleton/styles";
38
+ @import "../components/molecules/ProductTile/styles";
33
39
  @import "../components/molecules/ProductTitle/styles";
34
40
  @import "../components/molecules/QuantitySelector/styles";
35
41
  @import "../components/molecules/RadioField/styles";
@@ -50,18 +56,28 @@
50
56
  @import "../components/molecules/ToggleField/styles";
51
57
 
52
58
  // Organisms
59
+ @import "../components/organisms/BannerNewsletter/styles";
53
60
  @import "../components/organisms/CartSidebar/styles";
54
61
  @import "../components/organisms/EmptyState/styles";
55
62
  @import "../components/organisms/Filter/styles";
63
+ @import "../components/organisms/FilterSkeleton/styles";
56
64
  @import "../components/organisms/FilterSlider/styles";
65
+ @import "../components/organisms/Footer/styles";
57
66
  @import "../components/organisms/Hero/styles";
58
67
  @import "../components/organisms/ImageGallery/styles";
68
+ @import "../components/organisms/Incentives/styles";
69
+ @import "../components/organisms/Navbar/styles";
70
+ @import "../components/organisms/NavbarSlider/styles";
71
+ @import "../components/organisms/Newsletter/styles";
59
72
  @import "../components/organisms/OutOfStock/styles";
60
73
  @import "../components/organisms/PaymentMethods/styles";
61
74
  @import "../components/organisms/PriceRange/styles";
75
+ @import "../components/organisms/ProductDetails/styles";
76
+ @import "../components/organisms/ProductGallery/styles";
62
77
  @import "../components/organisms/ProductGrid/styles";
63
78
  @import "../components/organisms/ProductShelf/styles";
64
79
  @import "../components/organisms/RegionModal/styles";
65
80
  @import "../components/organisms/SearchInput/styles";
66
81
  @import "../components/organisms/ShippingSimulation/styles";
67
82
  @import "../components/organisms/SlideOver/styles";
83
+ @import "../components/organisms/Tiles/styles";
@@ -1,2 +1 @@
1
1
  @import "./base";
2
- @import "./components";