wickes-css2 2.98.0-develop.4 → 2.98.0-develop.5

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 (58) hide show
  1. package/build/css/category-main.css +1 -1
  2. package/build/css/components/energy-efficiency.css +1 -1
  3. package/build/css/homepage-main.css +1 -1
  4. package/build/css/main.css +1 -1
  5. package/build/css/my-account-main-v2.css +1 -1
  6. package/build/css/my-account-main.css +1 -1
  7. package/build/css/pages/page_quiz.css +1 -1
  8. package/build/css/pdp-main-before-combine.css +1 -1
  9. package/build/css/pdp-main-critical.css +1 -1
  10. package/build/css/pdp-main-non-critical.css +1 -1
  11. package/build/css/pdp-main.css +1 -1
  12. package/build/css/plp-main.css +1 -1
  13. package/build/css/store-locator-main.css +1 -1
  14. package/build/js/basket.min.js +1 -1
  15. package/build/js/bundle.min.js +1 -1
  16. package/build/js/checkout.min.js +1 -1
  17. package/build/js/emulation.min.js +106 -32
  18. package/build/js/general.bundle.min.js +1 -1
  19. package/build/js/merged-checkout.min.js +1 -1
  20. package/build/js/page/pdp.js +4 -1
  21. package/build/js/pdp.bundle.min.js +1 -1
  22. package/build/js/plp.bundle.min.js +1 -1
  23. package/build/js/project-list.min.js +1 -1
  24. package/package.json +1 -1
  25. package/src/components/checkout_order-summary-new.hbs +18 -13
  26. package/src/components/header-minicart.hbs +3 -3
  27. package/src/components/mini-basket/mini-basket-empty.hbs +17 -0
  28. package/src/components/mini-basket/mini-basket.hbs +39 -0
  29. package/src/components/mini-basket/product-item.hbs +22 -0
  30. package/src/components/pdp-price-actions.hbs +1 -1
  31. package/src/components/price-block-v2.hbs +0 -1
  32. package/src/data/data_confirmation-summary.json +3 -3
  33. package/src/data/data_latest-offers.json +1 -1
  34. package/src/data/data_mini-basket.json +80 -6
  35. package/src/data/data_page-merge-basket.json +1 -1
  36. package/src/data/data_store-locator-v2.json +1 -1
  37. package/src/js/components/general/backdrop.js +23 -0
  38. package/src/js/components/general/cart-slider.js +16 -0
  39. package/src/js/components/general/create-popup-slider.js +196 -0
  40. package/src/js/components/general/mini-basket-slider.js +8 -0
  41. package/src/js/emulation/big-wins.js +29 -29
  42. package/src/js/emulation/custom-slider-emulation.js +28 -0
  43. package/src/js/emulation/mock.js +46 -1
  44. package/src/js/emulation/popover-mini-basket.js +2 -2
  45. package/src/js/page/pdp.js +4 -1
  46. package/src/layouts/base.hbs +6 -0
  47. package/src/layouts/my-account-v2.hbs +7 -0
  48. package/src/page_product-details-saved-pl.html +16 -13
  49. package/src/page_product-details-with-global-search-v2.html +1 -0
  50. package/src/scss/common/_scroll-disable.scss +4 -2
  51. package/src/scss/components/_custom-slider.scss +512 -0
  52. package/src/scss/globals/_global-components.scss +1 -0
  53. package/src/scss/helpers/_mixins.scss +8 -0
  54. package/src/scss/helpers/_variables.scss +1 -0
  55. package/src/scss/homepage-main.scss +1 -0
  56. package/src/scss/main.scss +1 -0
  57. package/src/scss/partials/_header-critical.scss +14 -0
  58. package/src/scss/partials/_header.scss +14 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickes-css2",
3
- "version": "2.98.0-develop.4",
3
+ "version": "2.98.0-develop.5",
4
4
  "description": "CSS and JS and page templates in use by Wickes",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -18,21 +18,26 @@
18
18
  </li>
19
19
  {{/each}}
20
20
  {{/if}}
21
- {{> checkout-voucher-accordion id=id}}
21
+ {{#unless hideApplyVoucher}}
22
+ {{> checkout-voucher-accordion id=id}}
23
+ {{/unless}}
22
24
  {{#if discounts}}
23
25
  <li class="checkout-widget__accordion-wrap checkout-widget__details-discount">
24
- <span class="checkout-widget__detail-name checkout-widget__detail-name_accordion collapsed" data-toggle="collapse"
25
- data-target="#acheckout-widget-accordion-{{id}}">Discount(s):
26
- <span class="icon accordion__header-icon-small">
27
- <i class="fas fa-angle-up"></i>
28
- </span>
29
- </span>
30
- <ul class="checkout-widget__details-hidden collapse" id="acheckout-widget-accordion-{{id}}">
31
- {{#each discounts}}
32
- {{> cart-voucher}}
33
- {{/each}}
34
- </ul>
35
- <span class="checkout-widget__detail-value">£0.00</span>
26
+ <span
27
+ class="checkout-widget__detail-name checkout-widget__detail-name_accordion collapsed"
28
+ data-toggle="collapse"
29
+ data-target="#acheckout-widget-accordion-{{id}}">
30
+ Discount(s):
31
+ <span class="icon accordion__header-icon-small">
32
+ <i class="fas fa-angle-up"></i>
33
+ </span>
34
+ </span>
35
+ <ul class="checkout-widget__details-hidden collapse" id="acheckout-widget-accordion-{{id}}">
36
+ {{#each discounts}}
37
+ {{> cart-voucher}}
38
+ {{/each}}
39
+ </ul>
40
+ <span class="checkout-widget__detail-value">£0.00</span>
36
41
  </li>
37
42
  {{/if}}
38
43
  </ul>
@@ -6,12 +6,12 @@
6
6
  </span>
7
7
  <span class="header-right__link-title">Basket</span>
8
8
  </span>
9
- <a href="page_shopping-cart.html" class="header-right__link header-minicart__btn header-minicart__btn_link" style="display: none;">
9
+ <button type="button" class="header-right__link header-minicart__btn header-minicart__btn_link" style="display: none;">
10
10
  <span class="btn__text">
11
11
  <i class="fas fa-shopping-basket fa-2x"></i>
12
12
  </span>
13
13
  <span class="header-right__link-title">Basket</span>
14
- </a>
14
+ </button>
15
15
  </div>
16
16
  <span class="header-minicart__counter">0</span>
17
- </div>
17
+ </div>
@@ -0,0 +1,17 @@
1
+ <div class="custom-slider mini-basket d-none">
2
+ <div class="custom-slider__wrap">
3
+ <div class="custom-slider__header">
4
+ <span class="custom-slider__count">Your basket (0)</span>
5
+ <a href="#" type="button" class="icon-wrap close-popup">
6
+ <i class="far fa-times icon"></i>
7
+ </a>
8
+ </div>
9
+ <div class="custom-slider__empty">
10
+ <span class="icon-wrap icon-wrap--xl">
11
+ <i class="fas fa-shopping-basket"></i>
12
+ </span>
13
+ <p class="text">Your basket is currently empty.</p>
14
+ <button class="btn btn-primary close-popup">Continue Shopping</button>
15
+ </div>
16
+ </div>
17
+ </div>
@@ -0,0 +1,39 @@
1
+ <div class="custom-slider mini-basket d-none">
2
+ <div class="custom-slider__wrap custom-slider__wrap--scroll">
3
+ <div class="custom-slider__header">
4
+ <span class="custom-slider__count">Your basket (1)</span>
5
+ <button type="button" class="icon-wrap close-popup">
6
+ <i class="far fa-times icon"></i>
7
+ </button>
8
+ </div>
9
+ <ul class="products">
10
+ {{#each mini-basket.products}}
11
+ {{> mini-basket/product-item this switch-vat=true}}
12
+ {{/each}}
13
+ </ul>
14
+ </div>
15
+ <div class="custom-slider__footer footer-fixed">
16
+ <div class="mini-basket__total">
17
+ <button class="btn mini-basket__total-toggle" type="button" data-toggle="collapse" data-target="#checkout-details-accordion-3" aria-expanded="false" aria-controls="checkout-details-accordion-3">
18
+ <span class="mini-basket__wrap-total">
19
+ <span class="icon-wrap">
20
+ <i class="fas fa-chevron-down arrow-icon"></i>
21
+ </span>
22
+ <span class="text">Total:</span>
23
+ </span>
24
+ <span class="value">{{mini-basket.total.totalPrice.formattedValue}}</span>
25
+ </button>
26
+
27
+ {{> checkout_order-summary-new confirmationSummary=true head=true mod=true id=3 mobile=true hideApplyVoucher=true}}
28
+ </div>
29
+ <div class="custom-slider__ctas">
30
+ <a href="page_shopping-cart.html" class="btn btn_full btn-secondary">View Basket</a>
31
+ <button class="btn btn-action btn_full btn-checkout">
32
+ Checkout
33
+ <span class="icon-wrap ml-2">
34
+ <i class="fas fa-arrow-right"></i>
35
+ </span>
36
+ </button>
37
+ </div>
38
+ </div>
39
+ </div>
@@ -0,0 +1,22 @@
1
+ <li class="products__item">
2
+ <a class="products__image" href="page_product-details-with-global-search-v2.html">
3
+ <img class="product-img" src="{{src}}" alt="">
4
+ </a>
5
+ <div class="products__details">
6
+ <a href="#" class="title">{{title}}</a>
7
+ <p class="item">Click &amp; Collect: <span class="value">{{CC}}</span></p>
8
+ <p class="item">Qty: <span class="value">{{quantity.value}}</span></p>
9
+ {{#if switch-vat}}
10
+ <p class="price including-vat-inherit">
11
+ {{incVatPrice}}
12
+ <span class="inc">Inc.VAT</span>
13
+ </p>
14
+ <p class="price excluding-vat-inherit">
15
+ {{excVatPrice}}
16
+ <span class="inc">Exc.VAT</span>
17
+ </p>
18
+ {{else}}
19
+ <p class="price">{{price}}</p>
20
+ {{/if}}
21
+ </div>
22
+ </li>
@@ -83,4 +83,4 @@
83
83
  <span class="btn__text">Order Paint Mix</span>
84
84
  </button>
85
85
  </div>
86
- {{/if}}
86
+ {{/if}}
@@ -194,7 +194,6 @@
194
194
  big-wins=big-wins
195
195
  wisdom=wisdom
196
196
  mcfc=mcfc
197
- paint-mix=true
198
197
  available=available
199
198
  stock-accordion="stock-accordion"
200
199
  isUserNonRegistered=isUserNonRegistered
@@ -2,12 +2,12 @@
2
2
  "confirmation-summary": {
3
3
  "info": [
4
4
  {
5
- "title": "Items Subtotal:",
5
+ "title": "Items subtotal:",
6
6
  "value": "£44.44",
7
7
  "mod": "bold"
8
8
  },
9
9
  {
10
- "title": "Includes VAT:",
10
+ "title": "VAT:",
11
11
  "value": "£71.66",
12
12
  "mod": "vat"
13
13
  },
@@ -21,7 +21,7 @@
21
21
  "mod": "delivery"
22
22
  },
23
23
  {
24
- "title": "Young Minds donation:",
24
+ "title": "Charity donation:",
25
25
  "value": "£1.00"
26
26
  }
27
27
  ],
@@ -2409,4 +2409,4 @@
2409
2409
  ]
2410
2410
  }
2411
2411
  }
2412
- }
2412
+ }
@@ -11,7 +11,8 @@
11
11
  "price": "£2,009.00",
12
12
  "incVatPrice": "£30.00",
13
13
  "excVatPrice": "£10.00",
14
- "lower-quantity": true
14
+ "lower-quantity": true,
15
+ "CC": "East Grinstead"
15
16
  },
16
17
  {
17
18
  "quantity": {
@@ -31,9 +32,77 @@
31
32
  "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
32
33
  "src": "img/placeholders/[e-img-4to3].jpg",
33
34
  "price": "£2,009.00",
34
- "incVatPrice": "£3,009.00",
35
- "excVatPrice": "£1,009.00",
36
- "basket-product": true
35
+ "incVatPrice": "£309.00",
36
+ "excVatPrice": "£109.00",
37
+ "bad-amount": true
38
+ },
39
+ {
40
+ "quantity": {
41
+ "value": "1"
42
+ },
43
+ "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
44
+ "src": "img/placeholders/tap.jpg",
45
+ "price": "£2,009.00",
46
+ "incVatPrice": "£30.00",
47
+ "excVatPrice": "£10.00",
48
+ "lower-quantity": true,
49
+ "CC": "East Grinstead"
50
+ },
51
+ {
52
+ "quantity": {
53
+ "value": "1"
54
+ },
55
+ "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
56
+ "src": "img/placeholders/[e-img-4to3].jpg",
57
+ "price": "£2,009.00",
58
+ "incVatPrice": "£309.00",
59
+ "excVatPrice": "£109.00",
60
+ "bad-amount": true
61
+ },
62
+ {
63
+ "quantity": {
64
+ "value": "1"
65
+ },
66
+ "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
67
+ "src": "img/placeholders/[e-img-4to3].jpg",
68
+ "price": "£2,009.00",
69
+ "incVatPrice": "£309.00",
70
+ "excVatPrice": "£109.00",
71
+ "bad-amount": true
72
+ },
73
+ {
74
+ "quantity": {
75
+ "value": "1"
76
+ },
77
+ "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
78
+ "src": "img/placeholders/tap.jpg",
79
+ "price": "£2,009.00",
80
+ "incVatPrice": "£30.00",
81
+ "excVatPrice": "£10.00",
82
+ "lower-quantity": true,
83
+ "CC": "East Grinstead"
84
+ },
85
+ {
86
+ "quantity": {
87
+ "value": "1"
88
+ },
89
+ "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
90
+ "src": "img/placeholders/[e-img-4to3].jpg",
91
+ "price": "£2,009.00",
92
+ "incVatPrice": "£309.00",
93
+ "excVatPrice": "£109.00",
94
+ "bad-amount": true
95
+ },
96
+ {
97
+ "quantity": {
98
+ "value": "1"
99
+ },
100
+ "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
101
+ "src": "img/placeholders/[e-img-4to3].jpg",
102
+ "price": "£2,009.00",
103
+ "incVatPrice": "£309.00",
104
+ "excVatPrice": "£109.00",
105
+ "bad-amount": true
37
106
  }
38
107
  ],
39
108
  "just-added": [
@@ -48,6 +117,11 @@
48
117
  "excVatPrice": "£1,009.00",
49
118
  "basket-product": true
50
119
  }
51
- ]
120
+ ],
121
+ "total": {
122
+ "totalPrice": {
123
+ "formattedValue": "£17.50"
124
+ }
125
+ }
52
126
  }
53
- }
127
+ }
@@ -110,7 +110,7 @@
110
110
  "energyEfficiency": {
111
111
  "type": "Old",
112
112
  "rating": "C",
113
- "linkProduct": "https://media.wickes.co.uk/image/upload/v1676542815/documents/wickes/Product-Info-Example_qj5mln.pdf",
113
+ "linkProduct": "https://media.wickes.co.uk/image/upload/v1676542815/documents/wickes/Product-Info-Example_qj5mln.pdf"
114
114
  }
115
115
  },
116
116
  {
@@ -8,7 +8,7 @@
8
8
  "telephone": "01872 6511 101",
9
9
  "fax": "01872 6511 101",
10
10
  "sat-nav": "X11 1TT",
11
- "store-info": "Maecenas nisl leo, consectetur a lacus eu, lacinia tincidunt elit. Suspendisse bibendum molestie lectus sit amet vehicula. Vestibulum in nisi at felis finibus maximus. Fusce placerat viverra semper. Sed in nulla quis neque commodo faucibus a ut eros.",
11
+ "store-info": "Maecenas nisl leo, consectetur a lacus eu, lacinia tincidunt elit. Suspendisse bibendum molestie lectus sit amet vehicula. Vestibulum in nisi at felis finibus maximus. Fusce placerat viverra semper. Sed in nulla quis neque commodo faucibus a ut eros."
12
12
  },
13
13
  "accordion-data": [
14
14
  {
@@ -0,0 +1,23 @@
1
+ var Wick = Wick || {};
2
+
3
+ Wick.Backdrop = (function () {
4
+ const el = {
5
+ modalBackdrop: 'modal-backdrop',
6
+ modalBackdropShow: 'show'
7
+ }
8
+
9
+ function show() {
10
+ if (!$(`.${el.modalBackdrop}`).length) {
11
+ $('body').append(`<div class="${el.modalBackdrop} ${el.modalBackdropShow}"></div>`);
12
+ }
13
+ }
14
+
15
+ function hide() {
16
+ $('body').find(`.${el.modalBackdrop}.${el.modalBackdropShow}`).remove();
17
+ }
18
+
19
+ return {
20
+ show,
21
+ hide,
22
+ };
23
+ })();
@@ -0,0 +1,16 @@
1
+ const cartSliderHTML = '<div class="custom-slider just-added d-none"></div>';
2
+
3
+ createPopupSlider({
4
+ type: 'cart',
5
+ sliderSelector: '.custom-slider.just-added',
6
+ onAppendEvent: 'productAddedToCart',
7
+ onAppend: function (event, { showSlider, handleScroll, el }) {
8
+ if (!$('.custom-slider.just-added').length) {
9
+ $('body').append(cartSliderHTML);
10
+ }
11
+ const htmlContent = event.detail.html;
12
+ $(el.slider).append(htmlContent);
13
+ showSlider();
14
+ $(el.sliderWrap).on('scroll', _.debounce(() => handleScroll(el.sliderWrap), 100));
15
+ },
16
+ });
@@ -0,0 +1,196 @@
1
+ function createEvent(eventName, payload, eventDetail) {
2
+ return new CustomEvent(eventName, {
3
+ detail: {
4
+ payload,
5
+ resolve: eventDetail.resolve,
6
+ reject: eventDetail.reject,
7
+ },
8
+ });
9
+ }
10
+
11
+ function createPopupSlider({ type, sliderSelector, onAppendEvent, onAppend }) {
12
+ const events = {
13
+ CLOSE_JUST_ADDED: 'CLOSE_JUST_ADDED',
14
+ CLOSE_MINI_BASKET: 'CLOSE_MINI_BASKET'
15
+ }
16
+
17
+ const el = {
18
+ $body: $('body'),
19
+ slider: sliderSelector,
20
+ sliderWrap: `${sliderSelector} .custom-slider__wrap`,
21
+ sliderWrapScroll: 'custom-slider__wrap--scroll',
22
+ footer: '.custom-slider__footer',
23
+ closePopup: `${sliderSelector} .close-popup`,
24
+ $stickyWrapper: $('.sticky-wrapper'),
25
+ $headerWrapper: $('.header-wrapper'),
26
+ scrollDisable: 'slider-scroll-disable',
27
+ footerFixed: 'footer-fixed',
28
+ btnMiniBasket: '.header-minicart__btn',
29
+ };
30
+
31
+ function isSmallBreakpoint() {
32
+ return Wick.Responsive.getCurrentBreakpoint() === 'down-sm';
33
+ }
34
+
35
+ function getAnimationClass() {
36
+ return isSmallBreakpoint() ? 'bottom-to-top' : 'right-to-left';
37
+ }
38
+
39
+ function adjustHeight() {
40
+ const stickyWrapperHeight = el.$stickyWrapper.outerHeight() || 0;
41
+ const headerWrapperHeight = el.$headerWrapper.outerHeight() || 0;
42
+
43
+ const totalHeight = stickyWrapperHeight + headerWrapperHeight;
44
+ $(el.slider).css('height', `calc(100% - ${totalHeight}px)`);
45
+ }
46
+
47
+ function hideSlider() {
48
+ $(el.slider).removeClass('show');
49
+
50
+ setTimeout(() => {
51
+ el.$body.removeClass(el.scrollDisable);
52
+
53
+ if (!isSmallBreakpoint()) {
54
+ el.$body.css('padding-right', '');
55
+ }
56
+
57
+ if (type === 'cart') {
58
+ $(el.slider)
59
+ .removeAttr('style')
60
+ .empty();
61
+ }
62
+
63
+ $(el.slider).addClass('d-none');
64
+ }, 400);
65
+ }
66
+
67
+ function handleScroll(sliderWrap) {
68
+ const scrollHeight = $(sliderWrap)[0].scrollHeight;
69
+ const scrollTop = $(sliderWrap).scrollTop();
70
+ const clientHeight = $(sliderWrap)[0].clientHeight;
71
+ const scrollBottom = scrollHeight - scrollTop - clientHeight;
72
+
73
+ if (scrollBottom > 75) {
74
+ $(el.footer).addClass(el.footerFixed);
75
+ $(sliderWrap).addClass(el.sliderWrapScroll);
76
+ } else {
77
+ $(el.footer).removeClass(el.footerFixed);
78
+ $(sliderWrap).removeClass(el.sliderWrapScroll);
79
+ }
80
+ }
81
+
82
+ function showSlider() {
83
+ if (isSmallBreakpoint()) {
84
+ adjustHeight();
85
+ }
86
+
87
+ const animationClass = getAnimationClass();
88
+ const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;
89
+ $(el.slider)
90
+ .removeClass('bottom-to-top right-to-left')
91
+ .addClass(animationClass);
92
+
93
+ $('html, body').animate({ scrollTop: 0 }, 300, () => {
94
+ Wick.Backdrop.show();
95
+ $(el.slider).removeClass('d-none');
96
+
97
+ setTimeout(() => {
98
+ $(el.slider).addClass('show');
99
+ handleScroll(el.sliderWrap);
100
+ el.$body.addClass(el.scrollDisable);
101
+
102
+ if (!isSmallBreakpoint()) {
103
+ el.$body.css('padding-right', `${scrollBarWidth}px`);
104
+ }
105
+ }, 100);
106
+ });
107
+ }
108
+
109
+ function handleSliderClose(eventName) {
110
+ return new Promise((resolve, reject) => {
111
+ const eventDetail = {resolve, reject};
112
+ const event = createEvent(eventName, {}, eventDetail);
113
+ window.dispatchEvent(event);
114
+ })
115
+ .then(() => {})
116
+ .catch((error) => {
117
+ console.error(error);
118
+ })
119
+ .finally(() => {
120
+ hideSlider();
121
+ Wick.Backdrop.hide();
122
+ })
123
+ }
124
+
125
+ function bindClosePopup() {
126
+ $(document).on('click', el.closePopup, async () => {
127
+ if (type === 'cart') {
128
+ await handleSliderClose(events.CLOSE_JUST_ADDED);
129
+ }
130
+
131
+ if (type === 'miniBasket') {
132
+ await handleSliderClose(events.CLOSE_MINI_BASKET)
133
+ }
134
+
135
+ hideSlider();
136
+ Wick.Backdrop.hide();
137
+ });
138
+ }
139
+
140
+ function handleResize() {
141
+ const animationClass = getAnimationClass();
142
+
143
+ if ($(el.slider).hasClass('show')) {
144
+ $(el.slider)
145
+ .removeClass('bottom-to-top right-to-left')
146
+ .addClass(animationClass);
147
+
148
+ if (isSmallBreakpoint()) {
149
+ adjustHeight();
150
+ } else {
151
+ $(el.slider).css('height', '');
152
+ Wick.Backdrop.show();
153
+ }
154
+ }
155
+ }
156
+
157
+ function shouldClosePopup(event) {
158
+ const $target = $(event.target);
159
+ return (
160
+ !$target.closest(el.slider).length &&
161
+ !$target.closest(el.closePopup).length &&
162
+ $(el.slider).hasClass('show')
163
+ );
164
+ }
165
+
166
+ function init() {
167
+ bindClosePopup();
168
+
169
+ if (onAppendEvent && onAppend) {
170
+ document.addEventListener(onAppendEvent, (event) => {
171
+ onAppend(event, { showSlider, handleScroll, el });
172
+ });
173
+ }
174
+
175
+ $(window).on('resize', _.debounce(handleResize, 100));
176
+
177
+ $('body').on('click', async (event) => {
178
+ if (shouldClosePopup(event)) {
179
+ if (type === 'cart') {
180
+ await handleSliderClose(events.CLOSE_JUST_ADDED);
181
+ }
182
+
183
+ if (type === 'miniBasket') {
184
+ await handleSliderClose(events.CLOSE_MINI_BASKET)
185
+ }
186
+ }
187
+ });
188
+ }
189
+
190
+ init();
191
+
192
+ return {
193
+ showSlider,
194
+ handleScroll,
195
+ };
196
+ }
@@ -0,0 +1,8 @@
1
+ createPopupSlider({
2
+ type: 'miniBasket',
3
+ sliderSelector: '.custom-slider.mini-basket',
4
+ onAppendEvent: 'showMiniBasket',
5
+ onAppend: function (event, { showSlider }) {
6
+ showSlider();
7
+ },
8
+ });
@@ -612,35 +612,35 @@ Wick.BigWinsProto = function () {
612
612
  $temp.remove();
613
613
  });
614
614
 
615
- bwVar.$addForDelivery.on('click', function () {
616
- Wick.SnackBar.show(
617
- {
618
- text: 'Notification success message for Delivery with Close Btn',
619
- type: Wick.SnackBar.types.SUCCESS
620
- }
621
- );
622
- Wick.SnackBar.show(
623
- {
624
- text: 'Notification warning message for Delivery with Close Btn',
625
- type: Wick.SnackBar.types.WARNING
626
- }
627
- );
628
- Wick.SnackBar.show(
629
- {
630
- text: 'Notification error message for Delivery with Close Btn',
631
- type: Wick.SnackBar.types.ERROR
632
- }
633
- );
634
- Wick.SnackBar.show(
635
- {
636
- text: 'Notification success message for Delivery with Autoclose',
637
- type: Wick.SnackBar.types.SUCCESS,
638
- withCloseButton: false,
639
- autoClose: true,
640
- delayBeforeClose: 3000
641
- }
642
- );
643
- });
615
+ // bwVar.$addForDelivery.on('click', function () {
616
+ // Wick.SnackBar.show(
617
+ // {
618
+ // text: 'Notification success message for Delivery with Close Btn',
619
+ // type: Wick.SnackBar.types.SUCCESS
620
+ // }
621
+ // );
622
+ // Wick.SnackBar.show(
623
+ // {
624
+ // text: 'Notification warning message for Delivery with Close Btn',
625
+ // type: Wick.SnackBar.types.WARNING
626
+ // }
627
+ // );
628
+ // Wick.SnackBar.show(
629
+ // {
630
+ // text: 'Notification error message for Delivery with Close Btn',
631
+ // type: Wick.SnackBar.types.ERROR
632
+ // }
633
+ // );
634
+ // Wick.SnackBar.show(
635
+ // {
636
+ // text: 'Notification success message for Delivery with Autoclose',
637
+ // type: Wick.SnackBar.types.SUCCESS,
638
+ // withCloseButton: false,
639
+ // autoClose: true,
640
+ // delayBeforeClose: 3000
641
+ // }
642
+ // );
643
+ // });
644
644
 
645
645
  bwVar.$addClickAndCollect.on('click', function (e) {
646
646
  e.stopPropagation();
@@ -0,0 +1,28 @@
1
+
2
+ function simulateHybrisSendingHtml() {
3
+ const htmlFromHybris = Wick.FEMock.cartPDP;
4
+ const event = new CustomEvent('productAddedToCart', {
5
+ detail: { html: htmlFromHybris }
6
+ });
7
+ document.dispatchEvent(event);
8
+ }
9
+
10
+ function initCloseJustAddedDiff() {
11
+ $(window).on('CLOSE_JUST_ADDED CLOSE_MINI_BASKET', function ({ detail: { resolve }}) {
12
+ setTimeout(() => {
13
+ return resolve();
14
+ }, 200);
15
+ });
16
+ };
17
+
18
+ function simulateShowMiniBasket() {
19
+ const event = new CustomEvent('showMiniBasket', {});
20
+ document.dispatchEvent(event);
21
+ }
22
+
23
+ $(document).ready(function () {
24
+ $('.btn-add-to-basket').on('click', simulateHybrisSendingHtml);
25
+ $('.header-minicart__btn').on('click', simulateShowMiniBasket);
26
+
27
+ initCloseJustAddedDiff();
28
+ });