wickes-css2 2.111.0-develop.1 → 2.111.0-develop.2

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 (87) hide show
  1. package/Readme.md +1 -1
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/components/global-search.css +1 -1
  4. package/build/css/homepage-main.css +1 -1
  5. package/build/css/kitchen-plp-main.css +1 -1
  6. package/build/css/main.css +1 -1
  7. package/build/css/my-account-main-v2.css +1 -1
  8. package/build/css/my-account-main.css +1 -1
  9. package/build/css/pdp-main-before-combine.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 +2 -2
  15. package/build/js/bundle.min.js +1 -1
  16. package/build/js/checkout.min.js +2 -2
  17. package/build/js/emulation.min.js +95 -10
  18. package/build/js/general.bundle.min.js +1 -1
  19. package/build/js/gift-cards.min.js +1 -1
  20. package/build/js/merged-checkout.min.js +2 -2
  21. package/build/js/mini-basket-slider.min.js +1 -1
  22. package/build/js/page/basket-v2.js +11 -18
  23. package/build/js/page/components/discounts.js +15 -8
  24. package/build/js/page/components/mini-basket-slider.js +18 -24
  25. package/build/js/page/components/voucher.js +56 -2
  26. package/build/js/pdp.bundle.min.js +1 -1
  27. package/build/js/plp.bundle.min.js +1 -1
  28. package/build/js/project-list.min.js +1 -1
  29. package/package.json +1 -1
  30. package/src/components/cart-voucher.hbs +4 -4
  31. package/src/components/checkout-voucher-remove-modal.hbs +16 -0
  32. package/src/components/mini-basket/mini-basket-order-item.hbs +4 -4
  33. package/src/components/tradepro-discount-banner.hbs +8 -0
  34. package/src/components/wismo-payment.hbs +50 -7
  35. package/src/data/data_delivery-address-v2.json +6 -6
  36. package/src/data/data_discounts.json +6 -6
  37. package/src/data/data_shopping-cart-v2.json +32 -11
  38. package/src/data/data_shopping-cart-with-energy.json +12 -12
  39. package/src/data/data_wismo.json +2 -1
  40. package/src/js/components/general/switchVat.js +9 -7
  41. package/src/js/components/general/tradepro-discount-banner.js +69 -0
  42. package/src/js/emulation/basket-data.js +11 -1
  43. package/src/js/emulation/checkout-data.js +3 -0
  44. package/src/js/emulation/mini-basket-data.js +68 -0
  45. package/src/js/emulation/tradepro-discount-banner-emulation.js +13 -0
  46. package/src/js/page/basket-v2.js +11 -18
  47. package/src/js/page/components/discounts.js +15 -8
  48. package/src/js/page/components/mini-basket-slider.js +18 -24
  49. package/src/js/page/components/voucher.js +56 -2
  50. package/src/layouts/checkout.hbs +1 -0
  51. package/src/page_basket-energy-efficiency.html +4 -0
  52. package/src/page_checkout_confirmation-new-marketing-consent-error.html +7 -0
  53. package/src/page_checkout_confirmation-new-marketing-consent.html +4 -0
  54. package/src/page_checkout_delivery-address-v2.html +4 -0
  55. package/src/page_checkout_delivery-details-v2-asm.html +7 -1
  56. package/src/page_checkout_delivery-details-v2-calendar-message.html +4 -0
  57. package/src/page_checkout_delivery-details-v2-oos.html +4 -0
  58. package/src/page_checkout_delivery-details-v2-wisdom-not-available.html +4 -0
  59. package/src/page_checkout_delivery-details-v2-wisdom.html +4 -0
  60. package/src/page_checkout_delivery-details-with-loader-v2.html +4 -0
  61. package/src/page_checkout_delivery-details_guest-new.html +4 -0
  62. package/src/page_checkout_delivery_address-asm-new.html +4 -0
  63. package/src/page_checkout_merge-basket-v2.html +6 -3
  64. package/src/page_checkout_merge-basket-vat-v2.html +6 -1
  65. package/src/page_checkout_merge-basket-with-energy.html +4 -0
  66. package/src/page_checkout_next-day-delivery-details.html +4 -0
  67. package/src/page_checkout_payment-details-v2-asm.html +4 -0
  68. package/src/page_checkout_payment-details-v2.html +4 -0
  69. package/src/page_checkout_payment-details_guest-click-collect-icon.html +4 -0
  70. package/src/page_checkout_payment-details_guest-with-checkout-journey.html +7 -0
  71. package/src/page_checkout_payment-details_login-with-checkout-journey.html +7 -0
  72. package/src/page_checkout_payment-details_with-card-loader.html +4 -0
  73. package/src/page_checkout_payment-details_with-loader-v2.html +4 -0
  74. package/src/page_checkout_rapid-delivery-details.html +4 -0
  75. package/src/page_empty-basket-instore.html +4 -0
  76. package/src/page_homepage-with-global-search-v2-vat.html +1 -0
  77. package/src/page_instore_progress_bar.html +4 -0
  78. package/src/page_product-details-with-global-search-v2.html +1 -0
  79. package/src/page_shopping-cart-registered-v2.html +4 -0
  80. package/src/page_shopping-cart-v2-vat.html +6 -0
  81. package/src/page_shopping-cart-v2.html +5 -2
  82. package/src/page_shopping-cart-v3-instore.html +4 -0
  83. package/src/scss/components/_checkout-voucher-remove-modal.scss +108 -0
  84. package/src/scss/components/_tradepro-discount-banner.scss +78 -0
  85. package/src/scss/components/global-search.scss +11 -0
  86. package/src/scss/globals/_global-components.scss +1 -0
  87. package/src/scss/main.scss +2 -0
@@ -0,0 +1,13 @@
1
+ var Wick = window.Wick || {};
2
+
3
+ $(document).ready(function () {
4
+ var href = window.location.href;
5
+ var isTargetPage =
6
+ href.indexOf('page_homepage-with-global-search-v2-vat') > -1 ||
7
+ href.indexOf('page_checkout_delivery-details-v2-asm') > -1 ||
8
+ href.indexOf('page_product-details-with-global-search-v2') > -1;
9
+
10
+ if (isTargetPage && Wick.TradeProDiscountBanner && !Wick.TradeProDiscountBanner.isOn()) {
11
+ Wick.TradeProDiscountBanner.init();
12
+ }
13
+ });
@@ -901,6 +901,11 @@ Wick.BasketPage = {
901
901
  return '';
902
902
  }
903
903
  },
904
+ buildPromotion: function (entry) {
905
+ return Wick.VatToggle.isToggleVatAvailable() && entry.displayDescriptionExclusiveVat
906
+ ? `<div class="order-item__promo including-vat-inherit">${entry.displayDescription}</div><div class="order-item__promo excluding-vat-inherit">${entry.displayDescriptionExclusiveVat}</div>`
907
+ : `<div class="order-item__promo">${entry.displayDescription}</div>`;
908
+ },
904
909
  addPromotions: function (item, data) {
905
910
  let arr = [];
906
911
 
@@ -910,18 +915,12 @@ Wick.BasketPage = {
910
915
  if (promo.orderEntryNumber === item.entryNumber) {
911
916
  if (arr.length) {
912
917
  let duplicate = arr.every((el) => {
913
- return (
914
- el !==
915
- `<div class="order-item__promo">${entry.description}</div>`
916
- );
918
+ return el !== Wick.BasketPage.buildPromotion(entry);
917
919
  });
918
920
 
919
- !duplicate ||
920
- arr.push(
921
- `<div class="order-item__promo">${entry.description}</div>`
922
- );
921
+ !duplicate || arr.push(Wick.BasketPage.buildPromotion(entry));
923
922
  } else {
924
- arr.push(`<div class="order-item__promo">${entry.description}</div>`);
923
+ arr.push(Wick.BasketPage.buildPromotion(entry));
925
924
  }
926
925
  }
927
926
  });
@@ -933,18 +932,12 @@ Wick.BasketPage = {
933
932
  if (promo.orderEntryNumber === item.entryNumber && entry.description) {
934
933
  if (arr.length) {
935
934
  let duplicate = arr.every((el) => {
936
- return (
937
- el !==
938
- `<div class="order-item__promo">${entry.description}</div>`
939
- );
935
+ return el !== Wick.BasketPage.buildPromotion(entry);
940
936
  });
941
937
 
942
- !duplicate ||
943
- arr.push(
944
- `<div class="order-item__promo">${entry.description}</div>`
945
- );
938
+ !duplicate || arr.push(Wick.BasketPage.buildPromotion(entry));
946
939
  } else {
947
- arr.push(`<div class="order-item__promo">${entry.description}</div>`);
940
+ arr.push(Wick.BasketPage.buildPromotion(entry));
948
941
  }
949
942
  }
950
943
  });
@@ -17,10 +17,10 @@ export function updateDiscount(data, isVoucher) {
17
17
  if (isVoucher) {
18
18
  promotions.forEach((discountItem) => {
19
19
  osEl.$discountList().append(() => {
20
- if (discountItem.usedCouponCode && discountItem.description) {
20
+ if (discountItem.usedCouponCode && discountItem.displayDescription) {
21
21
  return `
22
22
  <li data-coupon-code="${discountItem.usedCouponCode}">
23
- ${discountItem.description}
23
+ ${buildDescriptionHtml(discountItem)}
24
24
  <span class="icon checkout-widget__voucher-remove">
25
25
  <span class="fas fa-times"></span>
26
26
  </span>
@@ -28,8 +28,8 @@ export function updateDiscount(data, isVoucher) {
28
28
  `;
29
29
  }
30
30
 
31
- if (discountItem.description) {
32
- return `<li>${discountItem.description}</li>`;
31
+ if (discountItem.displayDescription) {
32
+ return `<li>${buildDescriptionHtml(discountItem)}</li>`;
33
33
  }
34
34
 
35
35
  return '';
@@ -46,20 +46,27 @@ export function updateDiscount(data, isVoucher) {
46
46
 
47
47
  function appendOrderPromotions(discountObj) {
48
48
  if (!_.isEmpty(discountObj)) {
49
- if (discountObj.usedCouponCode && discountObj.description) {
49
+ if (discountObj.usedCouponCode && discountObj.displayDescription) {
50
50
  osEl.$discountList().append(createRemoveCouponItem(discountObj));
51
- } else if (discountObj.description) {
51
+ } else if (discountObj.displayDescription) {
52
52
  osEl.$discountList().append(function () {
53
- return `<li>${discountObj.description}</li>`;
53
+ return `<li>${buildDescriptionHtml(discountObj)}</li>`;
54
54
  });
55
55
  }
56
56
  }
57
57
  }
58
58
 
59
+ function buildDescriptionHtml(obj) {
60
+ if (Wick.VatToggle.isToggleVatAvailable() && obj.displayDescriptionExclusiveVat) {
61
+ return `<span class="including-vat-inherit">${obj.displayDescription}</span><span class="excluding-vat-inherit">${obj.displayDescriptionExclusiveVat}</span>`;
62
+ }
63
+ return obj.displayDescription;
64
+ }
65
+
59
66
  function createRemoveCouponItem(obj) {
60
67
  return `
61
68
  <li data-coupon-code="${obj.usedCouponCode}">
62
- ${obj.description}
69
+ ${buildDescriptionHtml(obj)}
63
70
  <span class="icon checkout-widget__voucher-remove">
64
71
  <span class="fas fa-times"></span>
65
72
  </span>
@@ -33,7 +33,7 @@ Handlebars.registerHelper('removeFirst', function (str, remove) {
33
33
  });
34
34
 
35
35
  Handlebars.registerHelper('isToggleVatAvailable', function () {
36
- return Wick.checkLocalEnv ? false : window.ACC?.app?.isVatToggleAvailable;
36
+ return !!window.ACC?.app?.isVatToggleAvailable;
37
37
  });
38
38
 
39
39
  var Wick = window.Wick || {};
@@ -439,6 +439,15 @@ Wick.MiniBasketSliderFE = {
439
439
  Wick.MiniBasketSliderFE.addPromotions
440
440
  );
441
441
  },
442
+ buildPromoHtml: function (entry) {
443
+ const desc = entry.displayDescription;
444
+ const descExc = entry.displayDescriptionExclusiveVat;
445
+ const isVatAvailable = !!window.ACC?.app?.isVatToggleAvailable;
446
+ if (isVatAvailable && descExc) {
447
+ return `<div class="products__promo"><span class="including-vat-inherit">${desc}</span><span class="excluding-vat-inherit">${descExc}</span></div>`;
448
+ }
449
+ return `<div class="products__promo">${desc}</div>`;
450
+ },
442
451
  addPromotions: function (item, data) {
443
452
  let arr = [];
444
453
 
@@ -446,17 +455,9 @@ Wick.MiniBasketSliderFE = {
446
455
  data.potentialProductPromotions.forEach((entry) => {
447
456
  entry.consumedEntries.forEach((promo) => {
448
457
  if (promo.orderEntryNumber === item.entryNumber) {
449
- if (arr.length) {
450
- let duplicate = arr.every((el) => {
451
- return (
452
- el !== `<div class="products__promo">${entry.description}</div>`
453
- );
454
- });
455
-
456
- !duplicate ||
457
- arr.push(`<div class="products__promo">${entry.description}</div>`);
458
- } else {
459
- arr.push(`<div class="products__promo">${entry.description}</div>`);
458
+ const html = Wick.MiniBasketSliderFE.buildPromoHtml(entry);
459
+ if (!arr.includes(html)) {
460
+ arr.push(html);
460
461
  }
461
462
  }
462
463
  });
@@ -465,18 +466,10 @@ Wick.MiniBasketSliderFE = {
465
466
  data.appliedProductPromotions &&
466
467
  data.appliedProductPromotions.forEach((entry) => {
467
468
  entry.consumedEntries.forEach((promo) => {
468
- if (promo.orderEntryNumber === item.entryNumber && entry.description) {
469
- if (arr.length) {
470
- let duplicate = arr.every((el) => {
471
- return (
472
- el !== `<div class="products__promo">${entry.description}</div>`
473
- );
474
- });
475
-
476
- !duplicate ||
477
- arr.push(`<div class="products__promo">${entry.description}</div>`);
478
- } else {
479
- arr.push(`<div class="products__promo">${entry.description}</div>`);
469
+ if (promo.orderEntryNumber === item.entryNumber && entry.displayDescription) {
470
+ const html = Wick.MiniBasketSliderFE.buildPromoHtml(entry);
471
+ if (!arr.includes(html)) {
472
+ arr.push(html);
480
473
  }
481
474
  }
482
475
  });
@@ -550,6 +543,7 @@ Wick.MiniBasketSliderFE = {
550
543
  Wick.MiniBasketSliderFE.showMiniBasketEvent();
551
544
  setTimeout(() => {
552
545
  Wick.MiniBasketSliderFE.isInitial = false;
546
+ Wick.MiniBasketSliderFE.isMiniBasketLoaded = true;
553
547
  }, 100);
554
548
  return;
555
549
  }
@@ -77,9 +77,49 @@ function executionVoucherApplying(value, context) {
77
77
  }
78
78
  }
79
79
 
80
+ let pendingVoucherRemoval = null;
81
+
80
82
  export function voucherRemove() {
81
- let voucher = $(this).parent(),
82
- voucherCode = voucher.attr('data-coupon-code');
83
+ const voucher = $(this).parent();
84
+ const voucherCode = voucher.attr('data-coupon-code');
85
+ const couponName = getVoucherDisplayName(voucher) || voucherCode;
86
+ const $modal = $('#voucher-remove-popup');
87
+
88
+ if ($modal.length) {
89
+ $modal.find('.modal-box__title').text(`Remove ${couponName} discount?`);
90
+ $modal
91
+ .find('.description')
92
+ .html(
93
+ `Are you sure you want to remove your <span class='voucher-remove-modal__coupon-name'>${couponName} discount</span> from this order? The total cost of your order will increase.`
94
+ );
95
+ pendingVoucherRemoval = { voucherCode, voucher };
96
+
97
+ const scrollPos = $(window).scrollTop();
98
+ if (Wick.Responsive.isTouchDevice()) {
99
+ $modal.one('show.bs.modal', function (e) {
100
+ e.stopPropagation();
101
+ $('body').css({ position: 'fixed', top: -scrollPos, width: '100%' });
102
+ });
103
+ $modal.one('hidden.bs.modal', function () {
104
+ $('body').css({ position: '', top: '', width: '' });
105
+ window.requestAnimationFrame(function () {
106
+ window.scrollTo(0, scrollPos);
107
+ });
108
+ });
109
+ }
110
+
111
+ $modal.modal('show');
112
+ } else {
113
+ voucher.addClass('checkout-widget__voucher-removed').text('Voucher removed');
114
+ voucherRemoveAction(voucherCode, voucher);
115
+ }
116
+ }
117
+
118
+ function confirmVoucherRemove() {
119
+ if (!pendingVoucherRemoval) return;
120
+ const { voucherCode, voucher } = pendingVoucherRemoval;
121
+ pendingVoucherRemoval = null;
122
+ $('#voucher-remove-popup').modal('hide');
83
123
  voucher.addClass('checkout-widget__voucher-removed').text('Voucher removed');
84
124
  voucherRemoveAction(voucherCode, voucher);
85
125
  }
@@ -115,6 +155,7 @@ function executionVoucherRemoving(data) {
115
155
  );
116
156
  updateClearpayPlacements(data.total);
117
157
  updateClearpayVisibility(data.total);
158
+ Wick.BasketPage && Wick.BasketPage.updateCart(true);
118
159
  }
119
160
 
120
161
  function applyVoucher(data, context) {
@@ -131,6 +172,7 @@ function applyVoucher(data, context) {
131
172
  );
132
173
  updateClearpayPlacements(data.total);
133
174
  updateClearpayVisibility(data.total);
175
+ Wick.BasketPage && Wick.BasketPage.updateCart(true);
134
176
  setTimeout(function () {
135
177
  voucherButton.attr('disabled', false);
136
178
  $voucherFormInput.val('');
@@ -196,6 +238,16 @@ function getNotAppliedVoucher() {
196
238
  }
197
239
  }
198
240
 
241
+ function getVoucherDisplayName($voucher) {
242
+ if (Wick.VatToggle.isToggleVatAvailable()) {
243
+ const selector = Wick.VatToggle.isActive()
244
+ ? '.excluding-vat, .excluding-vat-inherit'
245
+ : '.including-vat, .including-vat-inherit';
246
+ return $voucher.find(selector).first().text().trim();
247
+ }
248
+ return $voucher.text().trim();
249
+ }
250
+
199
251
  function clearValidationErrors(form) {
200
252
  var $form = $(form);
201
253
  if ($form.hasClass(voucherEl.formInvalid)) {
@@ -261,5 +313,7 @@ $(document).ready(function () {
261
313
  getCSRFToken();
262
314
  }
263
315
 
316
+ $(document).on('click', '[data-action="confirm-voucher-remove"]', confirmVoucherRemove);
317
+
264
318
  init();
265
319
  });
@@ -21,6 +21,7 @@
21
21
  {{> header_checkout }}
22
22
  {{/block}}
23
23
  <a id="skip-to-content"></a>
24
+ {{#block "banner"}}{{/block}}
24
25
  <main {{#if fullWidth}}class="full-width-content"{{/if}}>
25
26
  <div class="container">
26
27
  <div class="row">
@@ -58,6 +58,10 @@
58
58
  <div class="modal-images"></div>
59
59
  {{/content}}
60
60
  {{/extend}}
61
+ {{> checkout-voucher-remove-modal
62
+ shopping-cart-v2.checkout.voucher-remove-popup
63
+ id="voucher-remove-popup"
64
+ }}
61
65
  <script defer src="./js/energy-efficiency.min.js"></script>
62
66
  <script defer src="./js/basket.min.js"></script>
63
67
  {{/content}}
@@ -66,4 +66,11 @@
66
66
  </div>
67
67
  </div>
68
68
  {{/content}}
69
+
70
+ {{#content "foot" mode="append"}}
71
+ {{> checkout-voucher-remove-modal
72
+ shopping-cart-v2.checkout.voucher-remove-popup
73
+ id="voucher-remove-popup"
74
+ }}
75
+ {{/content}}
69
76
  {{/extend}}
@@ -38,6 +38,10 @@
38
38
  {{/content}}
39
39
 
40
40
  {{#content "foot" mode="append"}}
41
+ {{> checkout-voucher-remove-modal
42
+ shopping-cart-v2.checkout.voucher-remove-popup
43
+ id="voucher-remove-popup"
44
+ }}
41
45
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
42
46
  {{/content}}
43
47
 
@@ -39,6 +39,10 @@
39
39
  {{/content}}
40
40
 
41
41
  {{#content "foot" mode="append"}}
42
+ {{> checkout-voucher-remove-modal
43
+ shopping-cart-v2.checkout.voucher-remove-popup
44
+ id="voucher-remove-popup"
45
+ }}
42
46
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
43
47
  {{/content}}
44
48
  {{/extend}}
@@ -12,7 +12,9 @@
12
12
  {{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true email=true}}
13
13
  {{/content}}
14
14
 
15
-
15
+ {{#content "banner"}}
16
+ {{>tradepro-discount-banner}}
17
+ {{/content}}
16
18
  {{#content "main"}}
17
19
  <div class="delivery-block">
18
20
  <h3 class="delivery-block__heading">Delivery Information</h3>
@@ -124,6 +126,10 @@
124
126
  {{/content}}
125
127
 
126
128
  {{#content "foot" mode="append"}}
129
+ {{> checkout-voucher-remove-modal
130
+ shopping-cart-v2.checkout.voucher-remove-popup
131
+ id="voucher-remove-popup"
132
+ }}
127
133
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
128
134
  <script defer src="./js/page/select-address.js"></script>
129
135
 
@@ -127,6 +127,10 @@
127
127
  {{/content}}
128
128
 
129
129
  {{#content "foot" mode="append"}}
130
+ {{> checkout-voucher-remove-modal
131
+ shopping-cart-v2.checkout.voucher-remove-popup
132
+ id="voucher-remove-popup"
133
+ }}
130
134
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
131
135
  <script defer src="./js/page/select-address.js"></script>
132
136
 
@@ -151,6 +151,10 @@
151
151
  {{/content}}
152
152
 
153
153
  {{#content "foot" mode="append"}}
154
+ {{> checkout-voucher-remove-modal
155
+ shopping-cart-v2.checkout.voucher-remove-popup
156
+ id="voucher-remove-popup"
157
+ }}
154
158
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
155
159
  <script defer src="./js/page/select-address.js"></script>
156
160
 
@@ -133,6 +133,10 @@
133
133
  {{/content}}
134
134
 
135
135
  {{#content "foot" mode="append"}}
136
+ {{> checkout-voucher-remove-modal
137
+ shopping-cart-v2.checkout.voucher-remove-popup
138
+ id="voucher-remove-popup"
139
+ }}
136
140
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
137
141
  <script defer src="./js/page/select-address.js"></script>
138
142
 
@@ -130,6 +130,10 @@
130
130
  {{/content}}
131
131
 
132
132
  {{#content "foot" mode="append"}}
133
+ {{> checkout-voucher-remove-modal
134
+ shopping-cart-v2.checkout.voucher-remove-popup
135
+ id="voucher-remove-popup"
136
+ }}
133
137
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
134
138
  <script defer src="./js/page/select-address.js"></script>
135
139
 
@@ -126,6 +126,10 @@
126
126
  {{/content}}
127
127
 
128
128
  {{#content "foot" mode="append"}}
129
+ {{> checkout-voucher-remove-modal
130
+ shopping-cart-v2.checkout.voucher-remove-popup
131
+ id="voucher-remove-popup"
132
+ }}
129
133
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
130
134
  <script defer src="./js/page/select-address.js"></script>
131
135
 
@@ -124,6 +124,10 @@
124
124
  {{/content}}
125
125
 
126
126
  {{#content "foot" mode="append"}}
127
+ {{> checkout-voucher-remove-modal
128
+ shopping-cart-v2.checkout.voucher-remove-popup
129
+ id="voucher-remove-popup"
130
+ }}
127
131
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
128
132
 
129
133
  {{#extend "modal" classMod="edit-delivery-address" id="modalDeliveryEdit" title="Edit delivery address" fullWidth=true}}
@@ -31,6 +31,10 @@
31
31
  {{/content}}
32
32
 
33
33
  {{#content "foot" mode="append"}}
34
+ {{> checkout-voucher-remove-modal
35
+ shopping-cart-v2.checkout.voucher-remove-popup
36
+ id="voucher-remove-popup"
37
+ }}
34
38
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
35
39
  <script defer src="./js/page/select-address.js"></script>
36
40
 
@@ -1,4 +1,4 @@
1
- {{#extend "base" pageClass="page_basket basket" title="Merged basket" hideBreadcrumbs=true footerCheckoutNew=true pageBasket=true}}
1
+ {{#extend "base" pageClass="page_basket basket" title="Merged basket" hideBreadcrumbs=true footerCheckoutNew=true pageBasket=true bundle="basket"}}
2
2
  {{#content "head" mode="append"}}
3
3
  <link type="text/css" rel="stylesheet" href="./css/pages/checkout.css">
4
4
  <link type="text/css" rel="stylesheet" href="./css/pages/page_merged-basket.css">
@@ -55,7 +55,10 @@
55
55
  </main>
56
56
  {{/content}}
57
57
  {{#content "foot" mode="append"}}
58
- <script defer="defer" src="./js/page/checkout-confirmation-new.js"></script>
59
- <script defer src="./js/basket.min.js"></script>
58
+ {{> checkout-voucher-remove-modal
59
+ shopping-cart-v2.checkout.voucher-remove-popup
60
+ id="voucher-remove-popup"
61
+ }}
62
+ <script defer="defer" src="./js/page/checkout-confirmation-new.js"></script>
60
63
  {{/content}}
61
64
  {{/extend}}
@@ -5,6 +5,7 @@
5
5
  footerCheckoutNew=true
6
6
  pageBasket=true
7
7
  switch-vat=true
8
+ bundle="basket"
8
9
  }}
9
10
  {{#content "head" mode="append"}}
10
11
  <link type="text/css" rel="stylesheet" href="./css/pages/checkout.css">
@@ -62,6 +63,10 @@
62
63
  </main>
63
64
  {{/content}}
64
65
  {{#content "foot" mode="append"}}
65
- <script defer="defer" src="./js/page/checkout-confirmation-new.js"></script>
66
+ {{> checkout-voucher-remove-modal
67
+ shopping-cart-v2.checkout.voucher-remove-popup
68
+ id="voucher-remove-popup"
69
+ }}
70
+ <script defer="defer" src="./js/page/checkout-confirmation-new.js"></script>
66
71
  {{/content}}
67
72
  {{/extend}}
@@ -61,6 +61,10 @@
61
61
  <div class="modal-images"></div>
62
62
  {{/content}}
63
63
  {{/extend}}
64
+ {{> checkout-voucher-remove-modal
65
+ shopping-cart-v2.checkout.voucher-remove-popup
66
+ id="voucher-remove-popup"
67
+ }}
64
68
  <script defer="defer" src="./js/page/checkout-confirmation-new.js"></script>
65
69
  <script defer src="./js/basket.min.js"></script>
66
70
  <script defer src="./js/energy-efficiency.min.js"></script>
@@ -133,6 +133,10 @@
133
133
  {{/content}}
134
134
 
135
135
  {{#content "foot" mode="append"}}
136
+ {{> checkout-voucher-remove-modal
137
+ shopping-cart-v2.checkout.voucher-remove-popup
138
+ id="voucher-remove-popup"
139
+ }}
136
140
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
137
141
  <script defer src="./js/page/select-address.js"></script>
138
142
 
@@ -48,6 +48,10 @@
48
48
  {{/content}}
49
49
 
50
50
  {{#content "foot" mode="append"}}
51
+ {{> checkout-voucher-remove-modal
52
+ shopping-cart-v2.checkout.voucher-remove-popup
53
+ id="voucher-remove-popup"
54
+ }}
51
55
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
52
56
  <script defer src="./js/page/checkout-payment-details.js"></script>
53
57
  {{> checkout-terms-and-conditions-modal }}
@@ -48,6 +48,10 @@
48
48
  {{/content}}
49
49
 
50
50
  {{#content "foot" mode="append"}}
51
+ {{> checkout-voucher-remove-modal
52
+ shopping-cart-v2.checkout.voucher-remove-popup
53
+ id="voucher-remove-popup"
54
+ }}
51
55
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
52
56
  <script defer src="./js/page/checkout-payment-details.js"></script>
53
57
  {{> checkout-terms-and-conditions-modal }}
@@ -20,6 +20,10 @@
20
20
  {{> checkout_click-and-collect }}
21
21
  {{/content}}
22
22
  {{#content "foot" mode="append"}}
23
+ {{> checkout-voucher-remove-modal
24
+ shopping-cart-v2.checkout.voucher-remove-popup
25
+ id="voucher-remove-popup"
26
+ }}
23
27
  <script defer src="./js/page/checkout-payment-details.js"></script>
24
28
  {{> checkout-terms-and-conditions-modal }}
25
29
  {{/content}}
@@ -66,4 +66,11 @@
66
66
  </div>
67
67
  </div>
68
68
  {{/content}}
69
+
70
+ {{#content "foot" mode="append"}}
71
+ {{> checkout-voucher-remove-modal
72
+ shopping-cart-v2.checkout.voucher-remove-popup
73
+ id="voucher-remove-popup"
74
+ }}
75
+ {{/content}}
69
76
  {{/extend}}
@@ -66,4 +66,11 @@
66
66
  </div>
67
67
  </div>
68
68
  {{/content}}
69
+
70
+ {{#content "foot" mode="append"}}
71
+ {{> checkout-voucher-remove-modal
72
+ shopping-cart-v2.checkout.voucher-remove-popup
73
+ id="voucher-remove-popup"
74
+ }}
75
+ {{/content}}
69
76
  {{/extend}}
@@ -48,6 +48,10 @@
48
48
  {{/content}}
49
49
 
50
50
  {{#content "foot" mode="append"}}
51
+ {{> checkout-voucher-remove-modal
52
+ shopping-cart-v2.checkout.voucher-remove-popup
53
+ id="voucher-remove-popup"
54
+ }}
51
55
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
52
56
  <script defer src="./js/page/checkout-payment-details.js"></script>
53
57
  {{> checkout-terms-and-conditions-modal }}
@@ -48,6 +48,10 @@
48
48
  {{/content}}
49
49
 
50
50
  {{#content "foot" mode="append"}}
51
+ {{> checkout-voucher-remove-modal
52
+ shopping-cart-v2.checkout.voucher-remove-popup
53
+ id="voucher-remove-popup"
54
+ }}
51
55
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
52
56
  <script defer src="./js/page/checkout-payment-details.js"></script>
53
57
  {{> checkout-terms-and-conditions-modal }}
@@ -137,6 +137,10 @@
137
137
  {{#content "foot" mode="append"}}
138
138
  {{> loader titleLoader="Loading Rapid delivery..." hidden=true modifier="basket-loader rapid-loader"}}
139
139
 
140
+ {{> checkout-voucher-remove-modal
141
+ shopping-cart-v2.checkout.voucher-remove-popup
142
+ id="voucher-remove-popup"
143
+ }}
140
144
  <script defer src="./js/page/checkout-confirmation-new.js"></script>
141
145
  <script defer src="./js/page/select-address.js"></script>
142
146
 
@@ -28,6 +28,10 @@
28
28
  </main>
29
29
  {{/content}}
30
30
  {{#content "foot" mode="append"}}
31
+ {{> checkout-voucher-remove-modal
32
+ shopping-cart-v2.checkout.voucher-remove-popup
33
+ id="voucher-remove-popup"
34
+ }}
31
35
  <script defer src="./js/global-search.min.js"></script>
32
36
  <script defer src="./js/page/basket.js"></script>
33
37
  <script defer src="./js/add-project-list-id.min.js"></script>
@@ -140,6 +140,7 @@
140
140
  </div>
141
141
  </div>
142
142
 
143
+ {{>tradepro-discount-banner}}
143
144
  <main class="banner-inside">
144
145
  {{>offer-banner}}
145
146
  <div class="hero">