@sc-360-v2/storefront-cms-library 0.3.29 → 0.3.30

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 (39) hide show
  1. package/dist/animation-control.scss +23 -0
  2. package/dist/builder.js +1 -1
  3. package/dist/bulk-order-pad.scss +72 -7
  4. package/dist/cart-details.scss +570 -278
  5. package/dist/cart-summary.scss +102 -73
  6. package/dist/cartDropdownOverlay.scss +10 -5
  7. package/dist/checkout.scss +130 -77
  8. package/dist/contact-us.scss +3 -0
  9. package/dist/dropdownTemplate.scss +13 -2
  10. package/dist/fb-dropdown.scss +6 -2
  11. package/dist/form-preview.scss +24 -1
  12. package/dist/form-zindex-module.scss +25 -0
  13. package/dist/functions.scss +72 -2
  14. package/dist/icons.js +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/light-box-v2.scss +1 -1
  17. package/dist/modal.scss +60 -33
  18. package/dist/position-module.scss +74 -0
  19. package/dist/prefix-list.scss +55 -0
  20. package/dist/quick-order-pad.scss +36 -8
  21. package/dist/responsive-behaviour.scss +21 -0
  22. package/dist/section.scss +13 -9
  23. package/dist/shareCartSideBar.scss +4 -2
  24. package/dist/submit-quote.scss +107 -49
  25. package/dist/types/builder/interfaces/global.d.ts +13 -0
  26. package/dist/types/builder/tools/element-edit/amountEstimator.d.ts +441 -0
  27. package/dist/types/builder/tools/element-edit/buttonInstance.d.ts +364 -0
  28. package/dist/types/builder/tools/element-edit/cartSummary.d.ts +2 -2
  29. package/dist/types/builder/tools/element-edit/common.d.ts +1 -0
  30. package/dist/types/builder/tools/element-edit/countdown.d.ts +384 -44
  31. package/dist/types/builder/tools/element-edit/dummy.d.ts +0 -0
  32. package/dist/types/builder/tools/element-edit/productActions.d.ts +390 -43
  33. package/dist/types/builder/tools/element-edit/quickLinks.d.ts +192 -22
  34. package/dist/types/builder/tools/element-edit/repeater.d.ts +439 -1
  35. package/dist/types/builder/tools/element-edit/table.d.ts +0 -1
  36. package/dist/types/builder/tools/element-edit/typographyInstance.d.ts +981 -0
  37. package/dist/types/builder/tools/element-edit/video.d.ts +192 -22
  38. package/dist/types/global/types.d.ts +2 -0
  39. package/package.json +1 -1
@@ -10,7 +10,7 @@ $activeElementSelector: "[data-has-clicked='true']";
10
10
  #{$lbMain} {
11
11
  position: var(--_p-fixed);
12
12
  inset: 0 0 0 0;
13
- z-index: calc(var(--_higher-zIndex) + var(--_lt-bx-zi));
13
+ z-index: calc(var(--_higher-zIndex) + var(--_lt-bx-zi, 1));
14
14
  --_cms-section-add-button-zIndex: var(--_higher-zIndex);
15
15
  --_cms-sl-df-zIndex: 1;
16
16
  --_cms-element-active-zIndex: calc(
package/dist/modal.scss CHANGED
@@ -11,10 +11,12 @@ $header_font_weight: 600;
11
11
  $close_btn_font_size: 24px;
12
12
  $close_btn_size: 35px;
13
13
  $footer_btn_background_color: #ffffff;
14
+ $component_bg_color: #ffffff;
14
15
  $footer_btn_padding: 10px 15px;
15
16
  $footer_btn_font_size: 14px;
16
17
  $primary_100: var(--Primary-100, #ced4f6);
17
18
  $primary_500: var(--Primary-500, #162578);
19
+ $gray_500: var(--Gray-500, #667085);
18
20
  $gray_900: var(--Gray-900, #101828);
19
21
  $gap_between_elements: 24px;
20
22
  $padding_horizontal: 24px;
@@ -60,7 +62,7 @@ $active_btn_text_color: #fff;
60
62
  border-radius: $border_radius;
61
63
  display: flex;
62
64
  flex-direction: column;
63
- gap: $gap_between_elements;
65
+ // gap: $gap_between_elements;
64
66
  z-index: calc(var(--_higher-zIndex) + var(--_cs-et-zIndex) + 10);
65
67
  cursor: auto;
66
68
 
@@ -83,6 +85,7 @@ $active_btn_text_color: #fff;
83
85
  display: flex;
84
86
  align-items: center;
85
87
  justify-content: space-between;
88
+ padding-bottom: 6px;
86
89
 
87
90
  h2 {
88
91
  font-size: $header_font_size;
@@ -118,6 +121,7 @@ $active_btn_text_color: #fff;
118
121
  .modal-body {
119
122
  font-size: 14px;
120
123
  color: $gray_900;
124
+ padding-bottom: 30px;
121
125
  }
122
126
 
123
127
  .modal-footer {
@@ -134,14 +138,14 @@ $active_btn_text_color: #fff;
134
138
  .modal-footer-white-btn {
135
139
  padding: 12px 24px;
136
140
  border-radius: 4px;
137
- background-color: #fff;
141
+ background-color: $component_bg_color;
138
142
  color: #243dc6;
139
- font-weight: 600;
143
+ font-weight: 500;
140
144
  width: 100%;
141
- border: 1px solid #fff;
145
+ border: 1px solid $component_bg_color;
142
146
  display: flex;
143
147
  justify-content: center;
144
-
148
+ font-size: 14px;
145
149
  &:hover {
146
150
  border: 1px solid #243dc6;
147
151
  }
@@ -151,7 +155,7 @@ $active_btn_text_color: #fff;
151
155
  padding: 12px 24px;
152
156
  border-radius: 4px;
153
157
  background-color: #d92d20;
154
- color: #fff;
158
+ color: $component_bg_color;
155
159
  font-weight: 600;
156
160
  width: 100%;
157
161
  display: flex;
@@ -260,8 +264,8 @@ $shadow-md: 0 8px 20px rgba(0, 0, 0, 0.1);
260
264
  transform 0.5s ease-in-out;
261
265
  top: 50%;
262
266
  left: 50%;
263
- width: 99vw;
264
- height: 98vh;
267
+ width: 98.5%;
268
+ height: 98%;
265
269
  border-radius: $radius-lg;
266
270
  transform: translate(-50%, -50%);
267
271
  box-shadow: none;
@@ -302,15 +306,14 @@ $shadow-md: 0 8px 20px rgba(0, 0, 0, 0.1);
302
306
  top: 0;
303
307
  background: $white;
304
308
  z-index: 1;
305
- padding: 0 16px;
306
- border-bottom: 1px solid #d0d5dd;
309
+ padding: 10px 16px;
310
+ border-bottom: 0.5px solid #d0d5dd;
307
311
  .title-bar {
308
312
  display: flex;
309
313
  justify-content: space-between;
310
314
  align-items: center;
311
315
  // padding: 15px 0px;
312
- height: 60px;
313
-
316
+ // height: 56px;
314
317
  .left-col {
315
318
  display: flex;
316
319
  gap: 10px;
@@ -318,14 +321,16 @@ $shadow-md: 0 8px 20px rgba(0, 0, 0, 0.1);
318
321
  }
319
322
 
320
323
  .title {
321
- font-size: $font-size-lg;
322
- font-weight: 600;
323
324
  display: flex;
324
325
  align-items: center;
325
- gap: 6px;
326
- color: var(--_gray-900);
327
- line-height: 24px;
328
-
326
+ // gap: 6px;
327
+ .quickOrderTitle {
328
+ color: $gray_900;
329
+ font-size: $font-size-base;
330
+ font-weight: 700;
331
+ line-height: 24px; /* 171.429% */
332
+ text-transform: capitalize;
333
+ }
329
334
  .modal_heading_icon {
330
335
  width: 36px;
331
336
  height: 36px;
@@ -340,22 +345,37 @@ $shadow-md: 0 8px 20px rgba(0, 0, 0, 0.1);
340
345
  }
341
346
 
342
347
  .count {
343
- font-weight: 700;
344
- color: $gray-600;
345
- background-color: #f2f4f7;
346
- border-radius: 50%;
347
- font-size: $font-size-sm;
348
- width: 25px;
349
- height: 25px;
350
348
  display: flex;
349
+ padding: 2px 8px;
351
350
  align-items: center;
352
- justify-content: center;
351
+ border-radius: 100px;
352
+ background: var(--Gray-100, #f2f4f7);
353
+ mix-blend-mode: multiply;
354
+ color: var(--Gray-700, #344054);
355
+ text-align: center;
356
+ margin-left: 6px;
357
+ font-family: Lato;
358
+ font-size: 12px;
359
+ font-style: normal;
360
+ font-weight: 600;
361
+ line-height: 18px; /* 150% */
362
+ // font-weight: 700;
363
+ // color: $gray-600;
364
+ // background-color: #f2f4f7;
365
+ // border-radius: 6px;
366
+ // font-size: $font-size-sm;
367
+ // // width: 25px;
368
+ // height: 25px;
369
+ // padding: 0 8px;
370
+ // display: flex;
371
+ // // align-items: center;
372
+ // justify-content: center;
353
373
  }
354
374
  }
355
375
 
356
376
  .actions {
357
377
  display: flex;
358
- gap: 8px;
378
+ gap: 12px;
359
379
  span {
360
380
  width: 36px;
361
381
  height: 36px;
@@ -371,6 +391,10 @@ $shadow-md: 0 8px 20px rgba(0, 0, 0, 0.1);
371
391
  color: $black;
372
392
  }
373
393
  }
394
+ .sc_modal-close svg {
395
+ width: 14px !important;
396
+ height: 14px !important;
397
+ }
374
398
  }
375
399
  }
376
400
 
@@ -421,7 +445,7 @@ $shadow-md: 0 8px 20px rgba(0, 0, 0, 0.1);
421
445
  bottom: 0;
422
446
  display: flex;
423
447
  justify-content: space-between;
424
- padding: 10px 16px;
448
+ padding: 16px 22px;
425
449
  border-top: 1px solid $gray-300;
426
450
  font-size: $font-size-base;
427
451
  background: $footer_btn_background_color;
@@ -430,13 +454,16 @@ $shadow-md: 0 8px 20px rgba(0, 0, 0, 0.1);
430
454
  display: flex;
431
455
  gap: 24px;
432
456
  span {
457
+ color: $gray_900;
458
+ font-size: 14px;
433
459
  font-weight: 700;
434
460
  line-height: 20px;
435
- font-size: 14px;
436
- color: #101828;
437
461
  .footer_label {
462
+ color: $gray_500;
463
+ font-size: 14px;
438
464
  font-weight: 400;
439
- color: #667085;
465
+ line-height: 20px;
466
+ margin-right: 6px;
440
467
  }
441
468
  }
442
469
  }
@@ -450,7 +477,7 @@ $shadow-md: 0 8px 20px rgba(0, 0, 0, 0.1);
450
477
  padding: 10px 14px;
451
478
  font-weight: 500;
452
479
  font-size: $font-size-base;
453
- color: #333;
480
+ color: var(--_gray-900);
454
481
  cursor: pointer;
455
482
  transition: background 0.2s;
456
483
 
@@ -463,7 +490,7 @@ $shadow-md: 0 8px 20px rgba(0, 0, 0, 0.1);
463
490
  background: $primary;
464
491
  color: $white;
465
492
  border-radius: $radius;
466
- padding: 10px 20px;
493
+ padding: 10px 16px;
467
494
  font-weight: 600;
468
495
  font-size: $font-size-base;
469
496
  display: flex;
@@ -0,0 +1,74 @@
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+
4
+ @use "./functions.scss" as *;
5
+ @use "./prefix-list.scss" as *;
6
+
7
+ $elementDragging: "[data-cms-new-element-dragging-v2='true']";
8
+ $dataResizerTrue: '[data-cms-element-resizer="true"]';
9
+ $var: "--_sf-width-rsp-psn";
10
+
11
+ @function convertListToCommaSeparateString($list) {
12
+ $items: ();
13
+ @each $key, $value in $list {
14
+ $sl: ".#{$value}";
15
+ $items: list.append($items, $sl, comma);
16
+ }
17
+
18
+ @return $items;
19
+ }
20
+
21
+ $position: (
22
+ class: (
23
+ absolute: "flx-abs",
24
+ fixed: "flx-fxd",
25
+ sticky: "flx-stk",
26
+ ),
27
+ zIndex: "--_ctm-flex-z-index",
28
+ attributes: (
29
+ horizontal: "data-position-horizonal",
30
+ vertical: "data-position-vertical",
31
+ ),
32
+ data: (
33
+ horizontal: (
34
+ right: prepareMediaVariable(--_ctm-flex-psn-hoft, 0px),
35
+ left: prepareMediaVariable(--_ctm-flex-psn-hoft, 0px),
36
+ ),
37
+ vertical: (
38
+ top: prepareMediaVariable(--_ctm-flex-psn-voft, 0px),
39
+ bottom: prepareMediaVariable(--_ctm-flex-psn-voft, 0px),
40
+ ),
41
+ ),
42
+ );
43
+
44
+ @mixin FlexPositionModuleStyles() {
45
+ $cls: map.get($position, class);
46
+ $zIndex: map.get($position, zIndex);
47
+ $attributes: map.get($position, attributes);
48
+ $data: map.get($position, data);
49
+
50
+ :is(#{convertListToCommaSeparateString($cls)}) {
51
+ @each $key, $value in $data {
52
+ @each $key1, $value1 in $value {
53
+ &[#{map.get($attributes, $key)}="#{$key1}"] {
54
+ #{$key1}: #{$value1};
55
+ }
56
+ }
57
+ }
58
+ z-index: var(#{$zIndex});
59
+ @each $key, $value in $cls {
60
+ &.#{$value} {
61
+ &:is(:not(#{$elementDragging}, #{$dataResizerTrue})) {
62
+ position: var(--_p-#{$key}) !important;
63
+ @if ($key == fixed) {
64
+ @include FlexUpdatedPrefixCSSVariable($var);
65
+ width: var(#{$var}, #{prepareMediaVariable(--_ctm-lt-wh)}) !important;
66
+ }
67
+ @if ($key != sticky) {
68
+ margin: 0px !important;
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,55 @@
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+
4
+ @use "./functions.scss" as *;
5
+
6
+ $dataElementType: "data-element-type";
7
+ $dataLayerElementType: "data-layer-element-type";
8
+
9
+ $prefixList: (
10
+ section: sec,
11
+ grid: gri,
12
+ stack: sta,
13
+ repeater: rep,
14
+ repeater-item: repe,
15
+ product: pro,
16
+ category: cat,
17
+ categoryWidget: cate,
18
+ brand: bran,
19
+ subCategory: subc,
20
+ productDetails: prod,
21
+ categoryDetails: categ,
22
+ lightboxv2: lig,
23
+ layouter: lay,
24
+ layouter-item: layo,
25
+ layouter-pro: layou,
26
+ layouter-pro-item: layout,
27
+ tbs-v2: tbs,
28
+ tbsContainer: tbsco,
29
+ marchandiserSets: march,
30
+ buyForWithTabs: buy,
31
+ buyForTabsContainer: buyFo,
32
+ spotlight: spo,
33
+ );
34
+
35
+ @function convertIntoActualVariable($prefix, $type) {
36
+ $types: (
37
+ width: "lt-wh",
38
+ );
39
+ $suffix: map.get($types, $type);
40
+ @return --_ctm-#{$prefix}-#{$suffix};
41
+ }
42
+
43
+ @mixin FlexUpdatedPrefixCSSVariable($var, $isLayer: false) {
44
+ $selector: "";
45
+ @if ($isLayer == false) {
46
+ $selector: $dataElementType;
47
+ } @else {
48
+ $selector: $dataLayerElementType;
49
+ }
50
+ @each $key, $value in $prefixList {
51
+ &[#{$selector}="#{$key}"] {
52
+ #{$var}: #{prepareMediaVariable(convertIntoActualVariable($value, width))};
53
+ }
54
+ }
55
+ }
@@ -5,6 +5,7 @@ $gray-800: #444;
5
5
  $primary: var(--_primary-400);
6
6
  $primary-hover: var(--_primary-500);
7
7
  $white: var(--_white);
8
+ $text-color: #667085;
8
9
 
9
10
  // Typography
10
11
  $font-size-base: 14px;
@@ -16,7 +17,7 @@ $input-padding: 10px 12px;
16
17
  // .quick-order-main Styles
17
18
  .quick-order-main {
18
19
  display: flex;
19
- padding: 12px;
20
+ // padding: 12px;
20
21
  flex-direction: column;
21
22
  gap: 16px;
22
23
  width: 100%;
@@ -26,13 +27,29 @@ $input-padding: 10px 12px;
26
27
  gap: 12px;
27
28
  height: fit-content;
28
29
  align-items: center;
30
+ padding: 12px;
31
+ border-bottom: 0.5px solid var(--Gray-200, #eaecf0);
29
32
 
30
33
  .quick-order-product-dropdown-section {
31
34
  width: 320px;
32
35
  height: 40px;
33
- border: 0.5px solid #d0d5dd;
36
+ // border: 0.5px solid #d0d5dd;
34
37
  border-radius: 4px;
35
-
38
+ .dropdown-input-section {
39
+ border-radius: 4px;
40
+ border: 0.5px solid var(--Gray-300, #d0d5dd);
41
+ display: flex;
42
+ width: 320px;
43
+ padding: 8px 12px;
44
+ justify-content: space-between;
45
+ align-items: center;
46
+ input {
47
+ color: $text-color;
48
+ font-size: 16px;
49
+ font-weight: 400;
50
+ line-height: 24px; /* 150% */
51
+ }
52
+ }
36
53
  .dropdown-input-section {
37
54
  padding: 0px 12px;
38
55
 
@@ -77,17 +94,19 @@ $input-padding: 10px 12px;
77
94
  }
78
95
 
79
96
  .or-text {
80
- align-self: center;
81
- font-weight: 600;
82
- color: $gray-800;
83
- font-size: $font-size-base;
97
+ color: var(--Gray-600, #475467);
98
+ font-family: Lato;
99
+ font-size: 14px;
100
+ font-style: normal;
101
+ font-weight: 400;
102
+ line-height: 20px;
84
103
  }
85
104
 
86
105
  .add-btn {
87
106
  background-color: $primary;
88
107
  color: $white;
89
108
  padding: 10px 16px;
90
- border-radius: $radius;
109
+ border-radius: 4px;
91
110
  font-weight: 600;
92
111
  font-size: 14px;
93
112
  cursor: pointer;
@@ -117,3 +136,12 @@ $input-padding: 10px 12px;
117
136
  }
118
137
  }
119
138
  }
139
+ .cart_products_wrapper {
140
+ padding: 12px;
141
+ .emptyData {
142
+ color: $text-color;
143
+ font-size: 16px;
144
+ font-weight: 400;
145
+ line-height: 24px;
146
+ }
147
+ }
@@ -0,0 +1,21 @@
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+
4
+ @use "./prefix-list.scss" as *;
5
+ @use "./functions.scss" as *;
6
+
7
+ $rb_cls: ".flx__rb__fxd";
8
+ $elementSelector: '[data-div-type="element"]';
9
+ $fullView: '[data-view-state="full"]';
10
+ $var: "--_sf-width-rb-vl";
11
+
12
+ @mixin FlexElementResponsiveBehaviourStyles() {
13
+ #{$elementSelector} {
14
+ &#{$rb_cls} {
15
+ &:not(#{$fullView}) {
16
+ @include FlexUpdatedPrefixCSSVariable(#{$var});
17
+ width: var(#{$var}, #{prepareMediaVariable(--_ctm-lt-wh)}) !important;
18
+ }
19
+ }
20
+ }
21
+ }
package/dist/section.scss CHANGED
@@ -1,6 +1,9 @@
1
1
  @use "sass:map";
2
2
  @use "sass:list";
3
3
  @use "./functions.scss" as *;
4
+ @use "./position-module.scss" as *;
5
+ @use "./animation-control.scss" as *;
6
+ @use "./responsive-behaviour.scss" as *;
4
7
 
5
8
  $activeElementSelector: "[data-has-clicked='true']";
6
9
  $repeterLElement: '[data-element-type="repeater"]';
@@ -11,7 +14,7 @@ $mb: "mb_d_none";
11
14
  $rp: (
12
15
  class: (
13
16
  #{$tb}: (
14
- tablet: (
17
+ laptop: (
15
18
  display: "none !important",
16
19
  ),
17
20
  ),
@@ -29,16 +32,17 @@ $rp: (
29
32
  );
30
33
 
31
34
  body {
35
+ // Responsive
32
36
  @include prepareCustomClassCSSProps($rp);
33
37
 
34
- [data-anim-id="flex-animation-element"] {
35
- &:not(.animate__animated) {
36
- opacity: 0;
37
- }
38
- &.animate__animated {
39
- animation-delay: calc(1ms * var(--_ctm-flex-anim-delay, 1));
40
- }
41
- }
38
+ // Animation
39
+ @include FlexAnimationModuleStyles();
40
+
41
+ // Position
42
+ @include FlexPositionModuleStyles();
43
+
44
+ // Responsive
45
+ @include FlexElementResponsiveBehaviourStyles();
42
46
  }
43
47
 
44
48
  section {
@@ -177,7 +177,9 @@ $shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
177
177
  .sidebar-footer {
178
178
  margin-top: auto;
179
179
  display: flex;
180
- justify-content: space-between;
180
+ justify-content: end;
181
+ align-items: center;
182
+ gap: 24px;
181
183
  padding: 12px;
182
184
  border-top: 1px solid #eee;
183
185
 
@@ -188,7 +190,7 @@ $shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
188
190
  cursor: pointer;
189
191
  font-weight: 600;
190
192
 
191
- padding: 12px 16px;
193
+ padding: 12px 14px;
192
194
  border-radius: 6px;
193
195
  &:hover {
194
196
  background: var(--_gray-100);