@sc-360-v2/storefront-cms-library 0.3.35 → 0.3.37

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.
@@ -473,7 +473,6 @@ $resizeActive: '[data-cms-element-resizer="true"]';
473
473
  background-color: #eaeaea;
474
474
  border: 1px solid var(--_gray-100);
475
475
  border-radius: 4px;
476
- margin-right: 24px;
477
476
  }
478
477
 
479
478
  .product_info_wrapper {
@@ -1400,3 +1399,17 @@ width: 380px;
1400
1399
  // width: 100%;
1401
1400
  // }
1402
1401
  // }
1402
+
1403
+ .cart-item-attr-grid {
1404
+ display: grid;
1405
+ grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
1406
+ gap: 1rem;
1407
+ margin-top: 24px;
1408
+
1409
+ .attr-grid-item {
1410
+ padding: 1rem;
1411
+ border: 1px solid var(--_gray-200);
1412
+ border-radius: 6px;
1413
+ background-color: var(--_base-white);
1414
+ }
1415
+ }
package/dist/cart.scss CHANGED
@@ -220,10 +220,7 @@
220
220
  --_ctm-mob-dn-mi-ct-tt-le-ht-dc,
221
221
  var(--_ctm-tab-dn-mi-ct-tt-le-ht-dc, var(--_ctm-dn-mi-ct-tt-le-ht-dc))
222
222
  );
223
- text-decoration: var(
224
- --_ctm-mob-dn-mi-ct-tt-ue-dc,
225
- var(--_ctm-tab-dn-mi-ct-tt-ue-dc, var(--_ctm-dn-mi-ct-tt-ue-dc))
226
- );
223
+
227
224
  }
228
225
  }
229
226
  }
@@ -74,6 +74,9 @@
74
74
  flex-wrap: wrap;
75
75
  gap: 16px;
76
76
  margin-top: 20px;
77
+ max-height: 500px;
78
+ overflow-y: auto;
79
+ padding: 2px;
77
80
  .attribute {
78
81
  width: 100%;
79
82
  display: flex;
@@ -96,6 +99,95 @@
96
99
  &.required::after {
97
100
  content: " *";
98
101
  color: var(--_error-500);
102
+
103
+
104
+ [data-div-type="element"] {
105
+ &[data-element-type="cartAttributes"] {
106
+ // width: var(
107
+ // --_ctm-mob-ele-nw-wh-st-mx,
108
+ // var(
109
+ // --_ctm-tab-ele-nw-wh-st-mx,
110
+ // var(--_sf-el-wh-st-mx, calc(1% * var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh))))
111
+ // )
112
+ // );
113
+
114
+ // margin: var(--_ctm-mob-lt-mn, var(--_ctm-tab-lt-mn, var(--_ctm-lt-mn)));
115
+
116
+ height: max-content;
117
+ min-width: 240px;
118
+
119
+ // aspect-ratio: var(
120
+ // --_ctm-mob-aspect-ratio,
121
+ // var(--_ctm-tab-aspect-ratio, var(--_sf-aspect-ratio))
122
+ // );
123
+
124
+ & > .wrapper {
125
+ display: flex;
126
+ align-items: center;
127
+ justify-content: center;
128
+ width: 100%;
129
+ height: auto;
130
+ }
131
+
132
+ .cart__section {
133
+ display: flex;
134
+ align-items: center;
135
+ cursor: pointer;
136
+ gap: 8px;
137
+ }
138
+ .cart-attribute-container {
139
+ display: flex;
140
+ flex-direction: column;
141
+ gap: 20px;
142
+ background-color: var(--_ctm-dn-ct-as-cr-bd-cr);
143
+ margin: var(--_ctm-dn-ct-as-cr-mn);
144
+ padding: var(--_ctm-lt-pg);
145
+ border-color: var(--_ctm-dn-ct-as-cr-br-cr);
146
+ border-style: var(--_ctm-dn-ct-as-cr-br-se);
147
+ border-width: var(--_ctm-dn-ct-as-cr-br-wh);
148
+ border-radius: var(--_ctm-dn-ct-as-cr-br-rs);
149
+ // box-shadow: var();
150
+ }
151
+ .cart-attribute-title {
152
+ color: var(--_ctm-dn-ct-as-hr-cr);
153
+ font-family: var(--_ctm-dn-ct-as-hr-ft-fy);
154
+ font-size: var(--_ctm-dn-ct-as-hr-ft-se);
155
+ font-weight: var(--_ctm-dn-ct-as-hr-ft-wt);
156
+ font-style: var(--_ctm-dn-ct-as-hr-ft-se-ic);
157
+ text-align: var(--_ctm-dn-ct-as-hr-tt-an);
158
+ letter-spacing: var(--_ctm-dn-ct-as-hr-lr-sg);
159
+ line-height: var(--_ctm-dn-ct-as-hr-le-ht);
160
+ text-decoration: var(--_ctm-dn-ct-as-hr-ue);
161
+ background-color: var(--_ctm-dn-ct-as-hr-bd-cr);
162
+ padding: var(--_ctm-dn-ct-as-hr-pg);
163
+ margin: var(--_ctm-dn-ct-as-hr-mn);
164
+ border-color: var(--_ctm-dn-ct-as-hr-br-cr);
165
+ border-style: var(--_ctm-dn-ct-as-hr-br-se);
166
+ border-width: var(--_ctm-dn-ct-as-hr-br-wh);
167
+ border-radius: var(--_ctm-dn-ct-as-hr-br-rs);
168
+ // box-shadow: var();
169
+ }
170
+ .attributes-section-body {
171
+ padding: 0;
172
+ width: 100%;
173
+ display: flex;
174
+ flex-wrap: wrap;
175
+ gap: 16px;
176
+ margin-top: 20px;
177
+ .attribute {
178
+ width: 100%;
179
+ .label {
180
+ display: block;
181
+ font-size: var(--_ctm-dn-ct-as-is-ll-ft-se);
182
+ font-weight: var(--_ctm-dn-ct-as-is-ll-ft-wt);
183
+ color: var(--_ctm-dn-ct-as-is-ll-cr);
184
+ margin-bottom: 0.5rem;
185
+ letter-spacing: var(--_ctm-dn-ct-as-is-ll-lr-sg);
186
+ line-height: var(--_ctm-dn-ct-as-is-ll-le-ht);
187
+ margin-bottom: 10px;
188
+ &.required::after {
189
+ content: " *";
190
+ color: var(--_error-500);
99
191
  }
100
192
  }
101
193
  }
@@ -105,6 +197,105 @@
105
197
  }
106
198
  .attribute_field {
107
199
  width: 100%;
200
+ .attribute_form_field {
201
+ width: 100%;
202
+ }
203
+
204
+ .attribute_form_field {
205
+ width: 100% !important;
206
+ padding: 12px;
207
+ border-radius: var(--_ctm-dn-ct-as-is-fd-br-rs);
208
+ border-style: var(--_ctm-dn-ct-as-is-fd-br-se);
209
+ border-width: var(--_ctm-dn-ct-as-is-fd-br-wh);
210
+ border-color: var(--_ctm-dn-ct-as-is-fd-br-cr);
211
+ outline: none;
212
+ transition: border-color 0.2s ease-in-out;
213
+ font-size: 14px;
214
+ height: 40px;
215
+
216
+ &:focus {
217
+ border-color: var(--_primary-400);
218
+ outline: 2px solid var(--_primary-200);
219
+ }
220
+ &.error {
221
+ border-color: #dc2626;
222
+ background-color: #fef2f2;
223
+ }
224
+ .react-datepicker-wrapper {
225
+ width: 100%;
226
+ .react-datepicker__close-icon::after {
227
+ background-color: transparent;
228
+ font-size: 25px;
229
+ color: var(--_gray-500);
230
+ }
231
+ }
232
+ }
233
+
234
+ textarea {
235
+ min-height: 100px;
236
+ resize: vertical;
237
+ }
238
+ }
239
+ .text_area_attribute {
240
+ width: 100%;
241
+ .input_textarea_a {
242
+ width: 100%;
243
+ }
244
+ }
245
+ .cart_item_attr_disabled {
246
+ pointer-events: none;
247
+ opacity: 0.5;
248
+ cursor: auto;
249
+ }
250
+ }
251
+ }
252
+ }
253
+
254
+ .custom-upload {
255
+ text-align: center;
256
+ border: 1px solid var(--_gray-200);
257
+ border-radius: 6px;
258
+ padding: 16px;
259
+ &:hover {
260
+ cursor: pointer;
261
+ border: 1px solid var(--_primary-200);
262
+ background: var(--_primary-25);
263
+ }
264
+ .uploadicon {
265
+ padding: 10px;
266
+ background: #f2f4f7;
267
+ display: inline-block;
268
+ border-radius: 50%;
269
+ margin-bottom: 12px;
270
+ color: var(--_gray-600);
271
+ }
272
+ p {
273
+ padding-bottom: 4px;
274
+ color: var(--_gray-600);
275
+ font-size: 14px;
276
+ strong {
277
+ color: var(--_primary-400);
278
+ font-weight: 600;
279
+ }
280
+ }
281
+ span {
282
+ color: var(--_gray-600);
283
+ font-size: 12px;
284
+ }
285
+ }
286
+
287
+ }
288
+ }
289
+ }
290
+ .error-text {
291
+ font-size: 12px;
292
+ color: var(--_error-500);
293
+ }
294
+ .attribute_field {
295
+ width: 100%;
296
+ .react-datepicker-wrapper {
297
+ width: 100%;
298
+ }
108
299
 
109
300
  .attribute_form_field {
110
301
  width: 100%;
@@ -25,45 +25,25 @@ $button-padding: 6px 12px;
25
25
  // font-weight: 500;
26
26
  // padding: $spacing-sm;
27
27
  white-space: nowrap;
28
- color: var(
29
- --_ctm-mob-dn-pt-as-ss-cr,
30
- var(--_ctm-tab-dn-pt-as-ss-cr, var(--_ctm-dn-pt-as-ss-cr))
31
- );
32
- font-family: var(
33
- --_sf-hr-ff,
34
- var(
35
- --_ctm-mob-dn-pt-as-ss-ft-fy,
36
- var(--_ctm-tab-dn-pt-as-ss-ft-fy, var(--_ctm-dn-pt-as-ss-ft-fy))
37
- )
38
- );
39
- font-size: var(
40
- --_ctm-mob-dn-pt-as-ss-ft-se,
41
- var(--_ctm-tab-dn-pt-as-ss-ft-se, var(--_ctm-dn-pt-as-ss-ft-se))
42
- );
43
- font-weight: var(
44
- --_ctm-mob-dn-pt-as-ss-ft-wt,
45
- var(--_ctm-tab-dn-pt-as-ss-ft-wt, var(--_ctm-dn-pt-as-ss-ft-wt))
46
- );
47
- font-style: var(
48
- --_ctm-mob-dn-pt-as-ss-ft-se-ic,
49
- var(--_ctm-tab-dn-pt-as-ss-ft-se-ic, var(--_ctm-dn-pt-as-ss-ft-se-ic))
50
- );
51
- text-align: var(
52
- --_ctm-mob-dn-pt-as-ss-tt-an,
53
- var(--_ctm-tab-dn-pt-as-ss-tt-an, var(--_ctm-dn-pt-as-ss-tt-an))
54
- );
55
- letter-spacing: var(
56
- --_ctm-mob-dn-pt-as-ss-lr-sg,
57
- var(--_ctm-tab-dn-pt-as-ss-lr-sg, var(--_ctm-dn-pt-as-ss-lr-sg))
58
- );
59
- line-height: var(
60
- --_ctm-mob-dn-pt-as-ss-le-ht,
61
- var(--_ctm-tab-dn-pt-as-ss-le-ht, var(--_ctm-dn-pt-as-ss-le-ht))
62
- );
63
- text-decoration: var(
64
- --_ctm-mob-dn-pt-as-ss-ue,
65
- var(--_ctm-tab-dn-pt-as-ss-ue, var(--_ctm-dn-pt-as-ss-ue))
66
- );
28
+ color: var(--_ctm-mob-dn-pt-as-ss-cr,
29
+ var(--_ctm-tab-dn-pt-as-ss-cr, var(--_ctm-dn-pt-as-ss-cr)));
30
+ font-family: var(--_sf-hr-ff,
31
+ var(--_ctm-mob-dn-pt-as-ss-ft-fy,
32
+ var(--_ctm-tab-dn-pt-as-ss-ft-fy, var(--_ctm-dn-pt-as-ss-ft-fy))));
33
+ font-size: var(--_ctm-mob-dn-pt-as-ss-ft-se,
34
+ var(--_ctm-tab-dn-pt-as-ss-ft-se, var(--_ctm-dn-pt-as-ss-ft-se)));
35
+ font-weight: var(--_ctm-mob-dn-pt-as-ss-ft-wt,
36
+ var(--_ctm-tab-dn-pt-as-ss-ft-wt, var(--_ctm-dn-pt-as-ss-ft-wt)));
37
+ font-style: var(--_ctm-mob-dn-pt-as-ss-ft-se-ic,
38
+ var(--_ctm-tab-dn-pt-as-ss-ft-se-ic, var(--_ctm-dn-pt-as-ss-ft-se-ic)));
39
+ text-align: var(--_ctm-mob-dn-pt-as-ss-tt-an,
40
+ var(--_ctm-tab-dn-pt-as-ss-tt-an, var(--_ctm-dn-pt-as-ss-tt-an)));
41
+ letter-spacing: var(--_ctm-mob-dn-pt-as-ss-lr-sg,
42
+ var(--_ctm-tab-dn-pt-as-ss-lr-sg, var(--_ctm-dn-pt-as-ss-lr-sg)));
43
+ line-height: var(--_ctm-mob-dn-pt-as-ss-le-ht,
44
+ var(--_ctm-tab-dn-pt-as-ss-le-ht, var(--_ctm-dn-pt-as-ss-le-ht)));
45
+ text-decoration: var(--_ctm-mob-dn-pt-as-ss-ue,
46
+ var(--_ctm-tab-dn-pt-as-ss-ue, var(--_ctm-dn-pt-as-ss-ue)));
67
47
  }
68
48
 
69
49
  .overlay-panel {
@@ -78,12 +58,13 @@ $button-padding: 6px 12px;
78
58
  display: flex;
79
59
  flex-direction: column;
80
60
  width: 260px;
61
+
81
62
  // width: 220px;
82
63
  .header-template {
83
64
  display: flex;
84
65
  align-items: center;
85
66
  justify-content: space-between;
86
- padding: 8px 12px 10px 12px;
67
+ padding: 2px 12px 10px 12px;
87
68
  border-bottom: 1px solid #eee;
88
69
 
89
70
  span {
@@ -109,47 +90,65 @@ $button-padding: 6px 12px;
109
90
  }
110
91
  }
111
92
  }
112
- .option {
113
- display: flex;
114
- align-items: center;
115
- padding: 8px $spacing-md;
116
- cursor: pointer;
117
- font-size: $font-size;
118
- min-height: 48px;
119
- border-radius: 4px;
120
93
 
121
- &.disabled {
94
+ .options-container {
95
+ max-height: 200px;
96
+ overflow-y: auto;
97
+
98
+ .option {
99
+ display: flex;
100
+ align-items: center;
101
+ padding: 8px $spacing-md;
102
+ cursor: pointer;
103
+ font-size: $font-size;
104
+ min-height: 48px;
105
+ border-radius: 4px;
106
+
107
+ &.disabled {
108
+ .label-content {
109
+ width: 100%;
110
+ align-items: center;
111
+
112
+ }
113
+ }
114
+
122
115
  .label-content {
123
- width: 100%;
124
- align-items: center;
116
+ display: flex;
117
+ flex-direction: column;
118
+ gap: 4px;
119
+
120
+ .option-description {
121
+ &>div {
122
+ max-width: 204px;
123
+ white-space: nowrap;
124
+ overflow: hidden;
125
+ text-overflow: ellipsis;
126
+ }
127
+ }
125
128
  }
126
- }
127
129
 
128
- .label-content {
129
- display: flex;
130
- flex-direction: column;
131
- gap: 4px;
132
- }
130
+ &:hover {
131
+ background-color: var(--_gray-100);
132
+ }
133
133
 
134
- &:hover {
135
- background-color: var(--_gray-100);
136
- }
134
+ input {
135
+ margin-right: 8px;
136
+ width: auto;
137
+ cursor: pointer;
138
+ }
137
139
 
138
- input {
139
- margin-right: 8px;
140
- width: auto;
141
- cursor: pointer;
142
- }
143
- input[type="radio"] {
144
- margin-right: 8px;
145
- accent-color: $primary-color; // 🔴 Red color when selected
146
- }
140
+ input[type="radio"] {
141
+ margin-right: 8px;
142
+ accent-color: $primary-color; // 🔴 Red color when selected
143
+ }
147
144
 
148
- &:has(input[type="radio"]:checked) {
149
- background-color: var(--_gray-200);
145
+ &:has(input[type="radio"]:checked) {
146
+ background-color: var(--_gray-200);
147
+ }
150
148
  }
151
149
  }
152
150
 
151
+
153
152
  .footer {
154
153
  display: flex;
155
154
  justify-content: space-between;
@@ -166,6 +165,7 @@ $button-padding: 6px 12px;
166
165
  justify-content: center;
167
166
  flex: 1 0 0;
168
167
  margin: $spacing-md 0px;
168
+
169
169
  &:hover {
170
170
  border: 1px solid $primary-color;
171
171
  border-radius: 4px;
@@ -198,6 +198,7 @@ $button-padding: 6px 12px;
198
198
  }
199
199
  }
200
200
  }
201
+
201
202
  .position-bottom {
202
203
  top: 80%;
203
204
  margin-top: 8px;
@@ -206,7 +207,8 @@ $button-padding: 6px 12px;
206
207
  }
207
208
 
208
209
  .position-top {
209
- top: -192px; /* shows above the button */
210
+ top: -192px;
211
+ /* shows above the button */
210
212
  margin-bottom: 8px;
211
213
  }
212
- }
214
+ }
@@ -4,7 +4,7 @@ $Gray-600: #475467;
4
4
  $link-color: #243dc6;
5
5
 
6
6
  .customTreeWrapper {
7
- padding: 20px;
7
+ padding: 20px 20px 20px 145px;
8
8
  font-family: sans-serif;
9
9
 
10
10
  h3 {
@@ -14,12 +14,22 @@ $link-color: #243dc6;
14
14
  line-height: 28px;
15
15
  margin-bottom: 12px;
16
16
  }
17
-
17
+ .treeNode {
18
+ position: relative;
19
+ &::after {
20
+ content: "";
21
+ position: absolute;
22
+ bottom: 0;
23
+ left: 0;
24
+ width: 100%;
25
+ border-bottom:1px dotted var(--_gray-300);
26
+ }
27
+ }
18
28
  .treeNode,
19
29
  .treeItem {
20
30
  position: relative;
21
31
  padding-left: 16px;
22
- border-left: 1px dotted $border-color;
32
+ border-left: 1px dotted var(--_gray-300);
23
33
  margin: 24px 0;
24
34
  }
25
35
 
@@ -2,6 +2,10 @@
2
2
  display: grid;
3
3
  gap: 2px;
4
4
  width: max-content;
5
+ &:focus-within {
6
+ border: 1px solid var(--_primary-300);
7
+ outline: 2px solid var(--_primary-50);
8
+ }
5
9
 
6
10
  .dropdown-disabled {
7
11
  opacity: 0.6;
@@ -19,26 +23,9 @@
19
23
  display: flex;
20
24
  justify-content: space-between;
21
25
  padding: 8px 12px;
22
- // border: 1px solid #ccc;
23
- // border-radius: 4px;
24
- border-style: var(
25
- --_ctm-mob-dn-pt-as-is-br-se,
26
- var(--_ctm-tab-dn-pt-as-is-br-se, var(--_ctm-dn-pt-as-is-br-se))
27
- );
28
- border-width: var(
29
- --_ctm-mob-dn-pt-as-is-br-wh,
30
- var(--_ctm-tab-dn-pt-as-is-br-wh, var(--_ctm-dn-pt-as-is-br-wh))
31
- );
32
- // border: ;
33
- border-radius: var(
34
- --_ctm-mob-dn-pt-as-is-br-rs,
35
- var(--_ctm-tab-dn-pt-as-is-br-rs, var(--_ctm-dn-pt-as-is-br-rs))
36
- );
37
- border-color: var(
38
- --_ctm-mob-dn-pt-as-is-br-cr,
39
- var(--_ctm-tab-dn-pt-as-is-br-cr, var(--_ctm-dn-pt-as-is-br-cr))
40
- );
41
- width: 240px;
26
+ border: 1px solid var(--_gray-300);
27
+ border-radius: 6px;
28
+ width: 100%;
42
29
  align-items: center;
43
30
  .dropdown-chips {
44
31
  display: flex;
@@ -115,11 +102,11 @@
115
102
  z-index: 10;
116
103
  min-width: 240px;
117
104
  max-height: 300px;
105
+ padding: 4px;
118
106
 
119
107
  .dropdown-opt {
120
108
  font-size: 14px;
121
109
  cursor: pointer;
122
- height: 40px;
123
110
 
124
111
  &.no-result {
125
112
  color: #aaa;
@@ -135,6 +122,7 @@
135
122
  gap: 8px;
136
123
  height: auto !important;
137
124
  max-height: 52px;
125
+ border-radius: 4px;
138
126
  &:hover {
139
127
  background-color: #f4f4f4;
140
128
  }
@@ -160,8 +148,9 @@
160
148
  }
161
149
  }
162
150
  .selected {
163
- background-color: #e6f0ff;
151
+ background-color: var(--_primary-25);
164
152
  font-weight: bold;
153
+ color: var(--_primary-500);
165
154
  }
166
155
  }
167
156
  .dropdown-group-li {