wickes-css2 2.103.0-develop.3 → 2.103.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/homepage-main.css +1 -1
  3. package/build/css/kitchen-plp-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/pdp-main-before-combine.css +1 -1
  8. package/build/css/pdp-main-non-critical.css +1 -1
  9. package/build/css/pdp-main.css +1 -1
  10. package/build/css/plp-main.css +1 -1
  11. package/build/css/store-locator-main.css +1 -1
  12. package/build/js/basket.min.js +2 -2
  13. package/build/js/bundle.min.js +1 -1
  14. package/build/js/checkout.min.js +2 -2
  15. package/build/js/emulation.min.js +10 -954
  16. package/build/js/general.bundle.min.js +1 -1
  17. package/build/js/merged-checkout.min.js +2 -2
  18. package/build/js/page/basket-v2.js +244 -138
  19. package/build/js/page/components/discounts.js +6 -6
  20. package/build/js/pdp.bundle.min.js +1 -1
  21. package/build/js/plp.bundle.min.js +1 -1
  22. package/build/js/project-list.min.js +1 -1
  23. package/package.json +2 -2
  24. package/src/components/mini-basket/mini-basket-empty.hbs +13 -3
  25. package/src/components/mini-basket/mini-basket.hbs +13 -32
  26. package/src/components/mini-basket/product-item.hbs +16 -37
  27. package/src/data/data_confirmation-summary.json +2 -4
  28. package/src/data/data_mini-basket.json +80 -4
  29. package/src/js/components/banner-placement-manager.js +10 -1
  30. package/src/js/components/general/cart-slider.js +0 -3
  31. package/src/js/components/general/create-popup-slider.js +2 -5
  32. package/src/js/components/general/mini-basket-slider.js +8 -0
  33. package/src/js/emulation/custom-slider-emulation.js +10 -4
  34. package/src/js/page/basket-v2.js +244 -138
  35. package/src/js/page/components/discounts.js +6 -6
  36. package/src/layouts/base.hbs +6 -0
  37. package/src/partials/scripts.hbs +0 -1
  38. package/src/scss/components/_custom-slider.scss +3 -125
  39. package/src/scss/components/_popover-mini-basket.scss +4 -0
  40. package/build/js/mini-basket-slider.min.js +0 -1
  41. package/build/js/page/basket/basket-update-cart-action.js +0 -60
  42. package/build/js/page/basket/basket-update-cart.js +0 -29
  43. package/build/js/page/basket/basket-utils.js +0 -50
  44. package/build/js/page/basket/mini-basket-total.js +0 -97
  45. package/build/js/page/basket/quantity-change-handler.js +0 -56
  46. package/build/js/page/basket/update-quantity-operation.js +0 -37
  47. package/build/js/page/basket/update-quantity.js +0 -65
  48. package/build/js/page/components/mini-basket-slider.js +0 -562
  49. package/src/components/mini-basket/mini-basket-order-item.hbs +0 -73
  50. package/src/js/emulation/mini-basket-data.js +0 -949
  51. package/src/js/page/basket/basket-update-cart-action.js +0 -60
  52. package/src/js/page/basket/basket-update-cart.js +0 -29
  53. package/src/js/page/basket/basket-utils.js +0 -50
  54. package/src/js/page/basket/mini-basket-total.js +0 -97
  55. package/src/js/page/basket/quantity-change-handler.js +0 -56
  56. package/src/js/page/basket/update-quantity-operation.js +0 -37
  57. package/src/js/page/basket/update-quantity.js +0 -65
  58. package/src/js/page/components/mini-basket-slider.js +0 -562
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickes-css2",
3
- "version": "2.103.0-develop.3",
3
+ "version": "2.103.0-develop.5",
4
4
  "description": "CSS and JS and page templates in use by Wickes",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -108,7 +108,7 @@
108
108
  "branches": [
109
109
  "alt-master",
110
110
  {
111
- "name": "custom-tag/0.3.0-legends",
111
+ "name": "develop",
112
112
  "prerelease": "${name.replace(/^custom-tag\\//g, '')}"
113
113
  }
114
114
  ],
@@ -1,7 +1,17 @@
1
- <div class="custom-slider__empty">
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">
2
10
  <span class="icon-wrap icon-wrap--xl">
3
11
  <i class="fas fa-shopping-basket"></i>
4
12
  </span>
5
- <p class="text">Your basket is currently empty.</p>
6
- <button class="btn btn-primary close-popup">Continue Shopping</button>
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>
7
17
  </div>
@@ -1,58 +1,39 @@
1
- <div class="custom-slider mini-basket popover-mini-basket d-none">
1
+ <div class="custom-slider mini-basket d-none">
2
2
  <div class="custom-slider__wrap">
3
3
  <div class="custom-slider__header">
4
- <span class="custom-slider__count">Your basket</span>
4
+ <span class="custom-slider__count">Your basket (1)</span>
5
5
  <button type="button" class="icon-wrap close-popup">
6
6
  <i class="far fa-times icon"></i>
7
7
  </button>
8
8
  </div>
9
- <div class="custom-slider__notifications"></div>
10
- <div class="products popover-mini-basket__cards-holder"></div>
9
+ <div class="products popover-mini-basket__cards-holder">
10
+ {{#each mini-basket.products}}
11
+ {{> mini-basket/product-item this switch-vat=true}}
12
+ {{/each}}
13
+ </div>
11
14
  </div>
12
15
  <div class="custom-slider__footer footer-fixed">
13
16
  <div class="mini-basket__total">
14
- <button class="btn mini-basket__total-toggle collapsed" type="button" data-toggle="collapse" data-target="#checkout-details-accordion-3" aria-expanded="false" aria-controls="checkout-details-accordion-3">
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">
15
18
  <span class="mini-basket__wrap-total">
16
19
  <span class="icon-wrap">
17
20
  <i class="fas fa-chevron-down arrow-icon"></i>
18
21
  </span>
19
22
  <span class="text">Total:</span>
20
23
  </span>
21
- <span class="mini-basket__total-toggle-value"></span>
24
+ <span class="value">{{mini-basket.total.totalPrice.formattedValue}}</span>
22
25
  </button>
23
26
 
24
- <div class="checkout-widget checkout-widget_order-summary">
25
- <ul class="checkout-widget__details checkout-info-wrap collapse" id="checkout-details-accordion-3">
26
- <li class="checkout-widget__accordion-wrap checkout-widget__details-discount" style="display: none">
27
- <span class="checkout-widget__detail-name checkout-widget__detail-name_accordion collapsed" data-toggle="collapse" data-target="#acheckout-widget-accordion-3">
28
- Discount(s):
29
- <span class="icon accordion__header-icon-small">
30
- <i class="fas fa-angle-up"></i>
31
- </span>
32
- </span>
33
- <ul class="checkout-widget__details-hidden collapse" id="acheckout-widget-accordion-3"></ul>
34
- <span class="checkout-widget__detail-value checkout-widget__item-value">£0.00</span>
35
- </li>
36
- </ul>
37
- </div>
27
+ {{> checkout_order-summary-new confirmationSummary=true head=true mod=true id=3 mobile=true hideApplyVoucher=true}}
38
28
  </div>
39
29
  <div class="custom-slider__ctas">
40
- <a href="/cart" class="btn btn_full btn-secondary btn-view-basket-cta">View Basket</a>
41
- <a id="addToCartPopupCheckoutButton" href="/cart/checkout" class="btn btn-action btn_full btn-checkout">
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">
42
32
  Checkout
43
33
  <span class="icon-wrap ml-2">
44
34
  <i class="fas fa-arrow-right"></i>
45
35
  </span>
46
- </a>
47
- </div>
48
- </div>
49
-
50
- <div class="loader-wrapper basket-loader d-none">
51
- <div class="loader-spinner">
52
- <svg class="circular-loader" viewBox="25 25 50 50">
53
- <circle class="loader-path" cx="50" cy="50" r="20" fill="none"></circle>
54
- </svg>
36
+ </button>
55
37
  </div>
56
- <h2>Updating basket…</h2>
57
38
  </div>
58
39
  </div>
@@ -1,45 +1,24 @@
1
- <div class="card product-card-preview" data-id="{{id}}">
1
+ <div class="card product-card-preview">
2
2
  <div class="products__item card__inner">
3
3
  <a class="card__img-wrap card__img-wrap_link products__image" href="page_product-details-with-global-search-v2.html">
4
4
  <img class="product-img" src="{{src}}" alt="">
5
5
  </a>
6
6
  <div class="products__details product-card__content">
7
- <div class="products__details-header">
8
- <a href="#" class="title product-card__title product-card__title_link">{{title}}</a>
9
- <button class="btn btn--remove" data-action="remove">
10
- <i class="fas fa-trash remove-icon"></i>
11
- </button>
12
- </div>
13
- <div class="products__details-body">
14
- {{#if CC}}
15
- <p class="item">Click &amp; Collect: <span class="value">{{CC}}</span></p>
16
- {{/if}}
17
- </div>
18
- <div class="products__details-footer">
19
- <div class="products__quantity-control">
20
- <button class="btn btn--quantity" data-action="minus" {{#ifCond quantity.value '<=' 1}}disabled{{/ifCond}}>
21
- <i class="fal fa-minus quantity-cta-icon"></i>
22
- </button>
23
- <label class="quantity product-card__quantity-label">
24
- <span class="product-card__quantity-value">{{quantity.value}}</span>
25
- </label>
26
- <button class="btn btn--quantity" data-action="plus">
27
- <i class="fal fa-plus quantity-cta-icon"></i>
28
- </button>
29
- </div>
30
- {{#if switch-vat}}
31
- <p class="price including-vat-inherit">
32
- <span class="value">{{incVatPrice}}</span>
33
- <span class="inc">Inc.VAT</span>
34
- </p>
35
- <p class="price excluding-vat-inherit">
36
- <span class="value">{{excVatPrice}}</span>
37
- <span class="inc">Exc.VAT</span>
38
- </p>
39
- {{else}}
40
- <p class="price">{{price}}</p>
41
- {{/if}}
42
- </div>
7
+ <a href="#" class="title product-card__title product-card__title_link">{{title}}</a>
8
+ <p class="item">Click &amp; Collect: <span class="value">{{CC}}</span></p>
9
+ <p class="item">Qty: <span class="value">{{quantity.value}}</span></p>
10
+ {{#if switch-vat}}
11
+ <p class="price including-vat-inherit">
12
+ {{incVatPrice}}
13
+ <span class="inc">Inc.VAT</span>
14
+ </p>
15
+ <p class="price excluding-vat-inherit">
16
+ {{excVatPrice}}
17
+ <span class="inc">Exc.VAT</span>
18
+ </p>
19
+ {{else}}
20
+ <p class="price">{{price}}</p>
21
+ {{/if}}
43
22
  </div>
44
23
  </div>
45
24
  </div>
@@ -13,8 +13,7 @@
13
13
  },
14
14
  {
15
15
  "title": "Click & Collect:",
16
- "value": "Free",
17
- "mod": "cc"
16
+ "value": "Free"
18
17
  },
19
18
  {
20
19
  "title": "Delivery:",
@@ -23,8 +22,7 @@
23
22
  },
24
23
  {
25
24
  "title": "Charity donation:",
26
- "value": "£1.00",
27
- "mod": "charity"
25
+ "value": "£1.00"
28
26
  }
29
27
  ],
30
28
  "total": {
@@ -3,7 +3,6 @@
3
3
  "number": 0,
4
4
  "products": [
5
5
  {
6
- "id": 1,
7
6
  "quantity": {
8
7
  "value": "1"
9
8
  },
@@ -16,9 +15,87 @@
16
15
  "CC": "East Grinstead"
17
16
  },
18
17
  {
19
- "id": 2,
20
18
  "quantity": {
21
- "value": "5"
19
+ "value": "1"
20
+ },
21
+ "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
22
+ "src": "img/placeholders/[e-img-4to3].jpg",
23
+ "price": "£2,009.00",
24
+ "incVatPrice": "£309.00",
25
+ "excVatPrice": "£109.00",
26
+ "bad-amount": true
27
+ },
28
+ {
29
+ "quantity": {
30
+ "value": "1"
31
+ },
32
+ "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
33
+ "src": "img/placeholders/[e-img-4to3].jpg",
34
+ "price": "£2,009.00",
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"
22
99
  },
23
100
  "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
24
101
  "src": "img/placeholders/[e-img-4to3].jpg",
@@ -48,4 +125,3 @@
48
125
  }
49
126
  }
50
127
  }
51
-
@@ -212,7 +212,16 @@ Wick.BannerPlacementManager = {
212
212
  },
213
213
  getListSlots() {
214
214
  return $(Wick.BannerPlacementManager.el.productsWrap)
215
- .children(Wick.BannerPlacementManager.el.allListSlots);
215
+ .children(Wick.BannerPlacementManager.el.allListSlots)
216
+ .filter(function() {
217
+ if ($(this).hasClass(Wick.BannerPlacementManager.classes.productBanners)) {
218
+ const position = Wick.BannerPlacementManager.getBannerPosition(this);
219
+ const productsCount = Wick.BannerPlacementManager.getListLength();
220
+ return position <= productsCount;
221
+ }
222
+
223
+ return true;
224
+ });
216
225
  },
217
226
  getBannerPriority(banner) {
218
227
  if ($(banner).hasClass(Wick.BannerPlacementManager.classes.sponsorProducts)) {
@@ -13,7 +13,4 @@ createPopupSlider({
13
13
  showSlider();
14
14
  $(el.sliderWrap).on('scroll', _.debounce(() => handleScroll(el.sliderWrap), 100));
15
15
  },
16
- onClose: function () {
17
- Wick.MiniBasketSliderFE.cartEntries = [];
18
- }
19
16
  });
@@ -8,7 +8,7 @@ function createEvent(eventName, payload, eventDetail) {
8
8
  });
9
9
  }
10
10
 
11
- function createPopupSlider({ type, sliderSelector, onAppendEvent, onAppend, onClose }) {
11
+ function createPopupSlider({ type, sliderSelector, onAppendEvent, onAppend }) {
12
12
  const events = {
13
13
  CLOSE_JUST_ADDED: 'CLOSE_JUST_ADDED',
14
14
  CLOSE_MINI_BASKET: 'CLOSE_MINI_BASKET'
@@ -119,9 +119,6 @@ function createPopupSlider({ type, sliderSelector, onAppendEvent, onAppend, onCl
119
119
  .finally(() => {
120
120
  hideSlider();
121
121
  Wick.Backdrop.hide();
122
- if (typeof onClose === 'function') {
123
- onClose();
124
- }
125
122
  })
126
123
  }
127
124
 
@@ -170,7 +167,7 @@ function createPopupSlider({ type, sliderSelector, onAppendEvent, onAppend, onCl
170
167
  bindClosePopup();
171
168
 
172
169
  if (onAppendEvent && onAppend) {
173
- window.addEventListener(onAppendEvent, (event) => {
170
+ document.addEventListener(onAppendEvent, (event) => {
174
171
  onAppend(event, { showSlider, handleScroll, el });
175
172
  });
176
173
  }
@@ -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
+ });
@@ -7,16 +7,22 @@ function simulateHybrisSendingHtml() {
7
7
  document.dispatchEvent(event);
8
8
  }
9
9
 
10
- function bindResolveEvent(events) {
11
- $(window).on(events.join(' '), function ({ detail: { resolve } }) {
10
+ function initCloseJustAddedDiff() {
11
+ $(window).on('CLOSE_JUST_ADDED CLOSE_MINI_BASKET', function ({ detail: { resolve }}) {
12
12
  setTimeout(() => {
13
- resolve();
13
+ return resolve();
14
14
  }, 200);
15
15
  });
16
+ };
17
+
18
+ function simulateShowMiniBasket() {
19
+ const event = new CustomEvent('showMiniBasket', {});
20
+ document.dispatchEvent(event);
16
21
  }
17
22
 
18
23
  $(document).ready(function () {
19
24
  $('.btn-add-to-basket').on('click', simulateHybrisSendingHtml);
25
+ $('.header-minicart__btn').on('click', simulateShowMiniBasket);
20
26
 
21
- bindResolveEvent(['CLOSE_JUST_ADDED', 'CLOSE_MINI_BASKET', 'MINI_BASKET_CHECKOUT', 'MINI_BASKET_VIEW_BASKET']);
27
+ initCloseJustAddedDiff();
22
28
  });