wickes-css2 2.112.0-why-not-add.4 → 2.112.0

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 (26) hide show
  1. package/Readme.md +0 -4
  2. package/build/js/bloomreach-widget.min.js +1 -1
  3. package/build/js/emulation.min.js +2446 -2397
  4. package/build/js/page/bloomreach-widget/bloomreach-widget-tracking.js +87 -0
  5. package/build/js/page/bloomreach-widget/bloomreach-widget.js +9 -0
  6. package/build/js/page/bloomreach-widget/complete-your-project-widget.js +65 -0
  7. package/build/js/page/bloomreach-widget/why-not-add-widget.js +36 -2
  8. package/build/js/page/checkout-payment-details.js +10 -0
  9. package/build/js/page/utils/data-layer.js +9 -0
  10. package/package.json +1 -5
  11. package/src/components/address-billie.hbs +22 -18
  12. package/src/components/checkout-edit-billing-address.hbs +1 -1
  13. package/src/components/checkout-payment-details-v2.hbs +6 -1
  14. package/src/components/share-list-modal-without-social-icons.hbs +1 -1
  15. package/src/components/share-list-modal.hbs +1 -1
  16. package/src/js/emulation/mock.js +2394 -2348
  17. package/src/js/emulation/tracking-emulation.js +38 -0
  18. package/src/js/page/bloomreach-widget/bloomreach-widget-tracking.js +87 -0
  19. package/src/js/page/bloomreach-widget/bloomreach-widget.js +9 -0
  20. package/src/js/page/bloomreach-widget/complete-your-project-widget.js +65 -0
  21. package/src/js/page/bloomreach-widget/why-not-add-widget.js +36 -2
  22. package/src/js/page/checkout-payment-details.js +10 -0
  23. package/src/js/page/utils/data-layer.js +9 -0
  24. package/src/page_payment-details-billie-registered-only.html +76 -0
  25. package/src/page_payment-details-billie-unregistered-only.html +76 -0
  26. package/src/sitemap.html +12 -0
@@ -0,0 +1,38 @@
1
+ const TRACKING_WIDGET_SELECTOR = '[data-complete-widget], [data-why-not-add-widget]';
2
+ const TRACKED_EVENT_NAMES = [
3
+ 'brRecommendationWidgetView',
4
+ 'brRecommendationWidgetClick',
5
+ 'brRecommendationWidgetAddToCart',
6
+ ];
7
+
8
+ function initializeTrackingEmulation() {
9
+ if (
10
+ !document.querySelector(TRACKING_WIDGET_SELECTOR) ||
11
+ window.__trackingEmulationInitialized
12
+ ) {
13
+ return;
14
+ }
15
+
16
+ window.__trackingEmulationInitialized = true;
17
+ window.dataLayer = window.dataLayer || [];
18
+
19
+ const originalPush = window.dataLayer.push;
20
+
21
+ window.dataLayer.push = function () {
22
+ const entries = Array.prototype.slice.call(arguments);
23
+ const result = originalPush.apply(window.dataLayer, entries);
24
+
25
+ entries.forEach(function (entry) {
26
+ if (!entry || TRACKED_EVENT_NAMES.indexOf(entry.event) === -1) {
27
+ return;
28
+ }
29
+
30
+ console.log('[TRACKING EMULATION]', entry.event, entry);
31
+ console.log('[DATA LAYER]', window.dataLayer.slice());
32
+ });
33
+
34
+ return result;
35
+ };
36
+ }
37
+
38
+ $(document).ready(initializeTrackingEmulation);
@@ -0,0 +1,87 @@
1
+ import { pushDataLayerEvent } from '../utils/data-layer';
2
+
3
+ const EVENT_NAMES = {
4
+ view: 'brRecommendationWidgetView',
5
+ click: 'brRecommendationWidgetClick',
6
+ addToCart: 'brRecommendationWidgetAddToCart',
7
+ };
8
+
9
+ function disconnectViewObserver(state) {
10
+ if (!state.viewObserver) {
11
+ return;
12
+ }
13
+
14
+ state.viewObserver.disconnect();
15
+ state.viewObserver = null;
16
+ }
17
+
18
+ function observeView(state, elements) {
19
+ if (!window.IntersectionObserver) {
20
+ return;
21
+ }
22
+
23
+ elements = Array.isArray(elements) ? elements : [elements];
24
+
25
+ state.viewObserver = new IntersectionObserver(function (entries) {
26
+ if (
27
+ entries.some(function (entry) {
28
+ return entry.isIntersecting;
29
+ })
30
+ ) {
31
+ pushDataLayerEvent(EVENT_NAMES.view, state.widgetData);
32
+ disconnectViewObserver(state);
33
+ }
34
+ });
35
+
36
+ elements.forEach(function (element) {
37
+ if (element) {
38
+ state.viewObserver.observe(element);
39
+ }
40
+ });
41
+ }
42
+
43
+ function trackClick(state, itemId) {
44
+ pushDataLayerEvent(EVENT_NAMES.click, {
45
+ ...state.widgetData,
46
+ item_id: itemId,
47
+ });
48
+ }
49
+
50
+ function trackAddToCart(state, items) {
51
+ pushDataLayerEvent(EVENT_NAMES.addToCart, {
52
+ ...state.widgetData,
53
+ items,
54
+ });
55
+ }
56
+
57
+ export function createBloomreachWidgetTracking() {
58
+ const state = {
59
+ initWidgetPayload: null,
60
+ viewObserver: null,
61
+ };
62
+
63
+ return {
64
+ setPayload(payloadData) {
65
+ disconnectViewObserver(state);
66
+ const metadata = payloadData.widgetMetadata;
67
+
68
+ state.widgetData = {
69
+ wrid: metadata.responseId,
70
+ wid: metadata.id,
71
+ wty: metadata.type,
72
+ };
73
+ },
74
+
75
+ observeView(element) {
76
+ observeView(state, element);
77
+ },
78
+
79
+ trackClick(itemId) {
80
+ trackClick(state, itemId);
81
+ },
82
+
83
+ trackAddToCart(items) {
84
+ trackAddToCart(state, items);
85
+ },
86
+ };
87
+ }
@@ -1,5 +1,6 @@
1
1
  var Wick = window.Wick || {};
2
2
 
3
+ import { isApp } from '../utils/helpers';
3
4
  import { createEvent } from '../utils/create-event';
4
5
  import CompleteYourProjectWidget from './complete-your-project-widget';
5
6
  import WhyNotAddWidget from './why-not-add-widget';
@@ -80,6 +81,14 @@ Wick.BloomreachWidget = {
80
81
  return '';
81
82
  },
82
83
 
84
+ removeBlankTargets($root) {
85
+ if (!isApp()) {
86
+ return;
87
+ }
88
+
89
+ $root.find('a[target="_blank"]').removeAttr('target');
90
+ },
91
+
83
92
  getWasPrice(product) {
84
93
  const displayPrice = Wick.BloomreachWidget.getDisplayPrice(product);
85
94
 
@@ -4,6 +4,7 @@ import { createCountStepper } from '../utils/create-count-stepper';
4
4
  import { createDropdown } from '../utils/custom-dropdown';
5
5
  import { createLoadingButton } from '../utils/create-loading-button';
6
6
  import { createToast } from '../utils/create-toast';
7
+ import { createBloomreachWidgetTracking } from './bloomreach-widget-tracking';
7
8
 
8
9
  const Handlebars = require('hbsfy/runtime');
9
10
 
@@ -34,6 +35,7 @@ const CompleteYourProjectWidget = {
34
35
  lastCalculationResponse: null,
35
36
  dropdownCurrent: {},
36
37
  toast: null,
38
+ tracking: createBloomreachWidgetTracking(),
37
39
 
38
40
  el: {
39
41
  cardCheckbox: '.complete-card__select input[type="checkbox"]',
@@ -427,6 +429,55 @@ const CompleteYourProjectWidget = {
427
429
  });
428
430
  },
429
431
 
432
+ getSelectedTrackingItems($root) {
433
+ const { completeCard, cardCheckbox, recommendationIndexAttr } =
434
+ CompleteYourProjectWidget.el;
435
+ const items = [];
436
+
437
+ $root.find(completeCard).each(function () {
438
+ const $card = $(this);
439
+ const recommendationIndex = Number($card.attr(recommendationIndexAttr));
440
+
441
+ if (recommendationIndex === 0 || !$card.find(cardCheckbox).prop('checked')) {
442
+ return;
443
+ }
444
+
445
+ const recommendation = CompleteYourProjectWidget.recommendations[recommendationIndex];
446
+ const baseProduct = recommendation && recommendation.baseProduct;
447
+ const selectedProduct = CompleteYourProjectWidget.getCardProduct($card);
448
+
449
+ if (!baseProduct || !baseProduct.code || !selectedProduct || !selectedProduct.code) {
450
+ return;
451
+ }
452
+
453
+ items.push({
454
+ item_id: baseProduct.code,
455
+ sku: selectedProduct.code,
456
+ });
457
+ });
458
+
459
+ return items;
460
+ },
461
+
462
+ bindProductTracking($root) {
463
+ const { completeCard, recommendationIndexAttr, titleEl } = CompleteYourProjectWidget.el;
464
+
465
+ $root.off('click.bloomreachWidgetTracking', titleEl);
466
+ $root.on('click.bloomreachWidgetTracking', titleEl, function () {
467
+ const $card = $(this).closest(completeCard);
468
+ const recommendationIndex = Number($card.attr(recommendationIndexAttr));
469
+
470
+ if (recommendationIndex === 0) {
471
+ return;
472
+ }
473
+
474
+ const recommendation = CompleteYourProjectWidget.recommendations[recommendationIndex];
475
+ const baseProduct = recommendation && recommendation.baseProduct;
476
+
477
+ CompleteYourProjectWidget.tracking.trackClick(baseProduct && baseProduct.code);
478
+ });
479
+ },
480
+
430
481
  updateSummary($root, response = {}) {
431
482
  const totalPriceExclusiveVat = response.totalPriceExclusiveVat || response.totalExcVatPrice;
432
483
 
@@ -818,6 +869,12 @@ const CompleteYourProjectWidget = {
818
869
  return;
819
870
  }
820
871
 
872
+ const trackingItems = CompleteYourProjectWidget.getSelectedTrackingItems($root);
873
+
874
+ if (trackingItems.length) {
875
+ CompleteYourProjectWidget.tracking.trackAddToCart(trackingItems);
876
+ }
877
+
821
878
  CompleteYourProjectWidget.dispatchAddToCart($root, $button);
822
879
  });
823
880
  },
@@ -991,6 +1048,7 @@ const CompleteYourProjectWidget = {
991
1048
  CompleteYourProjectWidget.bindDropdowns();
992
1049
  CompleteYourProjectWidget.bindDropdownValidation($completeWidget);
993
1050
  CompleteYourProjectWidget.bindAddToCart($completeWidget);
1051
+ CompleteYourProjectWidget.bindProductTracking($completeWidget);
994
1052
  CompleteYourProjectWidget.bindVatToggle();
995
1053
  CompleteYourProjectWidget.initQuantityFields($completeWidget);
996
1054
 
@@ -1007,12 +1065,19 @@ const CompleteYourProjectWidget = {
1007
1065
  init(payloadData) {
1008
1066
  const $containers = $(CompleteYourProjectWidget.el.widgetContainer);
1009
1067
 
1068
+ CompleteYourProjectWidget.tracking.setPayload(payloadData);
1069
+
1010
1070
  if (!payloadData || !Wick.BloomreachWidget.hasRecommendations(payloadData)) {
1011
1071
  $containers.find(CompleteYourProjectWidget.el.completeWidget).hide();
1012
1072
  return;
1013
1073
  }
1014
1074
 
1015
1075
  CompleteYourProjectWidget.renderWidgetFromPayload(payloadData);
1076
+
1077
+ CompleteYourProjectWidget.tracking.observeView([
1078
+ $containers.find(CompleteYourProjectWidget.el.titleEl).get(0),
1079
+ $containers.find(CompleteYourProjectWidget.el.ctaButton).get(0),
1080
+ ]);
1016
1081
  },
1017
1082
  };
1018
1083
 
@@ -1,6 +1,7 @@
1
1
  var Wick = window.Wick || {};
2
2
 
3
3
  import { createLoadingButton } from '../utils/create-loading-button';
4
+ import { createBloomreachWidgetTracking } from './bloomreach-widget-tracking';
4
5
 
5
6
  const Handlebars = require('hbsfy/runtime');
6
7
 
@@ -32,11 +33,15 @@ const WhyNotAddWidget = {
32
33
  products: [],
33
34
  sliders: [],
34
35
  loadingButton: null,
36
+ tracking: createBloomreachWidgetTracking(),
35
37
 
36
38
  el: {
37
39
  cta: '.why-not-add-card__cta',
38
40
  next: '[data-why-not-add-next]',
39
41
  pagination: '[data-why-not-add-pagination]',
42
+ productCard: '.why-not-add-card',
43
+ productCodeAttr: 'data-product-code',
44
+ productLink: '.why-not-add-card__title',
40
45
  prev: '[data-why-not-add-prev]',
41
46
  root: '[data-why-not-add]',
42
47
  slider: '[data-why-not-add-slider]',
@@ -119,14 +124,26 @@ const WhyNotAddWidget = {
119
124
  WhyNotAddWidget.sliders.push(slider);
120
125
  });
121
126
  },
127
+
128
+ bindProductTracking($root) {
129
+ $root.off('click.bloomreachWidgetTracking', WhyNotAddWidget.el.productLink);
130
+ $root.on('click.bloomreachWidgetTracking', WhyNotAddWidget.el.productLink, function () {
131
+ const productCode = $(this)
132
+ .closest(WhyNotAddWidget.el.productCard)
133
+ .attr(WhyNotAddWidget.el.productCodeAttr);
134
+
135
+ WhyNotAddWidget.tracking.trackClick(productCode);
136
+ });
137
+ },
138
+
122
139
  bindAddToCart($root) {
123
140
  $root.off('click.whyNotAdd', WhyNotAddWidget.el.cta);
124
141
  $root.on('click.whyNotAdd', WhyNotAddWidget.el.cta, function (event) {
125
142
  event.preventDefault();
126
143
 
127
144
  const $button = $(this);
128
- const $card = $button.closest('.why-not-add-card');
129
- const productCode = $card.attr('data-product-code');
145
+ const $card = $button.closest(WhyNotAddWidget.el.productCard);
146
+ const productCode = $card.attr(WhyNotAddWidget.el.productCodeAttr);
130
147
 
131
148
  if (!productCode || WhyNotAddWidget.loadingButton.isLoading($button)) {
132
149
  return;
@@ -136,6 +153,13 @@ const WhyNotAddWidget = {
136
153
  productCode,
137
154
  };
138
155
 
156
+ WhyNotAddWidget.tracking.trackAddToCart([
157
+ {
158
+ item_id: productCode,
159
+ sku: productCode,
160
+ },
161
+ ]);
162
+
139
163
  WhyNotAddWidget.loadingButton.start($button);
140
164
 
141
165
  Wick.BloomreachWidget.dispatchWidgetEvent(WhyNotAddWidget.ADD_TO_CART_EVENT, payload)
@@ -169,9 +193,12 @@ const WhyNotAddWidget = {
169
193
  });
170
194
  }
171
195
 
196
+ Wick.BloomreachWidget.removeBlankTargets($root);
197
+
172
198
  Wick.BloomreachWidget.drawRating($root);
173
199
  WhyNotAddWidget.initSliders($root);
174
200
  WhyNotAddWidget.bindAddToCart($root);
201
+ WhyNotAddWidget.bindProductTracking($root);
175
202
  WhyNotAddWidget.bindVatToggle();
176
203
  Wick.BloomreachWidget.reapplyVatDisplay();
177
204
  },
@@ -179,6 +206,8 @@ const WhyNotAddWidget = {
179
206
  init(payloadData) {
180
207
  const $containers = $(WhyNotAddWidget.el.widgetContainer);
181
208
 
209
+ WhyNotAddWidget.tracking.setPayload(payloadData);
210
+
182
211
  if (!payloadData) {
183
212
  $containers.empty().hide();
184
213
  return;
@@ -190,6 +219,11 @@ const WhyNotAddWidget = {
190
219
  WhyNotAddWidget.renderWidget($container, payloadData);
191
220
  WhyNotAddWidget.initRenderedWidget($container);
192
221
  });
222
+
223
+ WhyNotAddWidget.tracking.observeView([
224
+ $containers.find(WhyNotAddWidget.el.productLink).get(0),
225
+ $containers.find(WhyNotAddWidget.el.cta).get(0),
226
+ ]);
193
227
  },
194
228
  };
195
229
 
@@ -244,6 +244,7 @@ Wick.CheckoutPaymentDetails = (function () {
244
244
  setBillieStepVisibility(getBillieRepaymentTermsLength() === 1);
245
245
  resetBillieRepaymentSelection();
246
246
  showBillieBusiness();
247
+ initBillieBusinessType();
247
248
  break;
248
249
 
249
250
  case 'clearpay':
@@ -324,6 +325,14 @@ Wick.CheckoutPaymentDetails = (function () {
324
325
  });
325
326
  }
326
327
 
328
+ function initBillieBusinessType() {
329
+ const $radios = elements.$billieBusiness.find(`input${elements.businessTypeName}`);
330
+ if ($radios.length === 1) {
331
+ $radios.prop('checked', true);
332
+ toggleBusinessTypeFields($radios.val());
333
+ }
334
+ }
335
+
327
336
  function forceReflow($element) {
328
337
  if (!$element.length) return;
329
338
  void $element[0].offsetHeight;
@@ -345,6 +354,7 @@ Wick.CheckoutPaymentDetails = (function () {
345
354
 
346
355
  const hasSelection = $('input[name="repaymentTerms"]:checked').length > 0;
347
356
  setBillieStepVisibility(hasSelection);
357
+ initBillieBusinessType();
348
358
 
349
359
  const $row = $(this).closest('.form-row[data-row-required]');
350
360
  $row.removeClass('form-row_validation-error').find('.form-row__error').remove();
@@ -0,0 +1,9 @@
1
+ export function pushDataLayerEvent(eventName, data) {
2
+ window.dataLayer = window.dataLayer || [];
3
+ window.dataLayer.push({
4
+ event: eventName,
5
+ data,
6
+ });
7
+
8
+ return true;
9
+ }
@@ -0,0 +1,76 @@
1
+ {{#extend "checkout" pageClass="page_checkout-delivery-new page_checkout-confirmation-new" title="Checkout - Payment details with Billie" isAsideSticky="true" clearPayIcon=true billieIcon=true}}
2
+
3
+ {{#content "head" mode="append"}}
4
+ <link type="text/css" rel="stylesheet" href="./css/pages/checkout-new.css">
5
+ <link type="text/css" rel="stylesheet" href="./css/pages/page_checkout_delivery-new.css">
6
+ <link type="text/css" rel="stylesheet" href="./css/components/payment-details-BPS-form.css">
7
+ <link type="text/css" rel="stylesheet" href="./css/components/checkout-payment-details-v2.css">
8
+
9
+ <script src="https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js"></script>
10
+ {{/content}}
11
+ {{#content "notification"}}
12
+ {{> notifications notification-page.error text="Sorry, there are errors on this page. Please review the information you've entered and update sections marked in red."}}
13
+ {{/content}}
14
+ {{#content "steps"}}
15
+ {{> steps-three-steps active-step-index="2"}}
16
+ {{/content}}
17
+
18
+ {{#content "aside"}}
19
+ {{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true clearPayIcon=clearPayIcon billieIcon=true paymentsCheckoutV2=true hideDeliveryCostMessage=true}}
20
+ {{/content}}
21
+
22
+
23
+ {{#content "main"}}
24
+ <div class="delivery-block">
25
+ <h3 class="delivery-block__heading">Delivery Information</h3>
26
+ <div class="delivery-block__wrapper">
27
+ {{#with checkoutOrder.deliveryPayments.[0]}}
28
+ <div class="checkout-order">
29
+ {{> checkout-order-block}}
30
+ </div>
31
+ {{/with}}
32
+ </div>
33
+ </div>
34
+
35
+ <div class="click-collect-block">
36
+ <h3 class="click-collect-block__heading">Click & Collect</h3>
37
+ <div class="click-collect-block__wrapper">
38
+ {{#with checkoutOrder.clickCollectDeliveryAddress.[0]}}
39
+ <div class="checkout-order">
40
+ {{> checkout-order-block}}
41
+ </div>
42
+ {{/with}}
43
+ </div>
44
+ </div>
45
+
46
+ <div class="billing-payment-block">
47
+ <h3 class="billing-payment-block__heading">Billing & Payment</h3>
48
+ <div class="billing-payment-block__wrapper">
49
+ {{> checkout-payment-details-v2
50
+ apple-pay=true
51
+ google-pay=true
52
+ clear-pay=true
53
+ billie=true
54
+ edit-bill-mod=true
55
+ billie-form=true
56
+ open-delivery-block=true
57
+ billie-business-type="REGISTERED_SOLE_TRADER_BUSINESS"
58
+ }}
59
+ </div>
60
+ </div>
61
+
62
+ {{/content}}
63
+
64
+ {{#content "foot" mode="append"}}
65
+ <script
66
+ async
67
+ src="https://pay.google.com/gp/p/js/pay.js">
68
+ </script>
69
+ <script defer src="./js/page/checkout-confirmation-new.js"></script>
70
+ <script defer src="./js/page/checkout-payment-details.js"></script>
71
+ <script defer src="./js/page/klarna-modal-scroll-disable.js"></script>
72
+ <script defer src="./js/page/billie-business-type.js"></script>
73
+ {{> checkout-terms-and-conditions-modal }}
74
+ {{> payment-loader hidden=true spinnerTypes=(array "billie-logo" "clearpay-logo" "paypal-logo")}}
75
+ {{/content}}
76
+ {{/extend}}
@@ -0,0 +1,76 @@
1
+ {{#extend "checkout" pageClass="page_checkout-delivery-new page_checkout-confirmation-new" title="Checkout - Payment details with Billie" isAsideSticky="true" clearPayIcon=true billieIcon=true}}
2
+
3
+ {{#content "head" mode="append"}}
4
+ <link type="text/css" rel="stylesheet" href="./css/pages/checkout-new.css">
5
+ <link type="text/css" rel="stylesheet" href="./css/pages/page_checkout_delivery-new.css">
6
+ <link type="text/css" rel="stylesheet" href="./css/components/payment-details-BPS-form.css">
7
+ <link type="text/css" rel="stylesheet" href="./css/components/checkout-payment-details-v2.css">
8
+
9
+ <script src="https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js"></script>
10
+ {{/content}}
11
+ {{#content "notification"}}
12
+ {{> notifications notification-page.error text="Sorry, there are errors on this page. Please review the information you've entered and update sections marked in red."}}
13
+ {{/content}}
14
+ {{#content "steps"}}
15
+ {{> steps-three-steps active-step-index="2"}}
16
+ {{/content}}
17
+
18
+ {{#content "aside"}}
19
+ {{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true clearPayIcon=clearPayIcon billieIcon=true paymentsCheckoutV2=true hideDeliveryCostMessage=true}}
20
+ {{/content}}
21
+
22
+
23
+ {{#content "main"}}
24
+ <div class="delivery-block">
25
+ <h3 class="delivery-block__heading">Delivery Information</h3>
26
+ <div class="delivery-block__wrapper">
27
+ {{#with checkoutOrder.deliveryPayments.[0]}}
28
+ <div class="checkout-order">
29
+ {{> checkout-order-block}}
30
+ </div>
31
+ {{/with}}
32
+ </div>
33
+ </div>
34
+
35
+ <div class="click-collect-block">
36
+ <h3 class="click-collect-block__heading">Click & Collect</h3>
37
+ <div class="click-collect-block__wrapper">
38
+ {{#with checkoutOrder.clickCollectDeliveryAddress.[0]}}
39
+ <div class="checkout-order">
40
+ {{> checkout-order-block}}
41
+ </div>
42
+ {{/with}}
43
+ </div>
44
+ </div>
45
+
46
+ <div class="billing-payment-block">
47
+ <h3 class="billing-payment-block__heading">Billing & Payment</h3>
48
+ <div class="billing-payment-block__wrapper">
49
+ {{> checkout-payment-details-v2
50
+ apple-pay=true
51
+ google-pay=true
52
+ clear-pay=true
53
+ billie=true
54
+ edit-bill-mod=true
55
+ billie-form=true
56
+ open-delivery-block=true
57
+ billie-business-type="UNREGISTERED_SOLE_TRADER_BUSINESS"
58
+ }}
59
+ </div>
60
+ </div>
61
+
62
+ {{/content}}
63
+
64
+ {{#content "foot" mode="append"}}
65
+ <script
66
+ async
67
+ src="https://pay.google.com/gp/p/js/pay.js">
68
+ </script>
69
+ <script defer src="./js/page/checkout-confirmation-new.js"></script>
70
+ <script defer src="./js/page/checkout-payment-details.js"></script>
71
+ <script defer src="./js/page/klarna-modal-scroll-disable.js"></script>
72
+ <script defer src="./js/page/billie-business-type.js"></script>
73
+ {{> checkout-terms-and-conditions-modal }}
74
+ {{> payment-loader hidden=true spinnerTypes=(array "billie-logo" "clearpay-logo" "paypal-logo")}}
75
+ {{/content}}
76
+ {{/extend}}
package/src/sitemap.html CHANGED
@@ -992,6 +992,18 @@
992
992
  Billie Basket
993
993
  </a>
994
994
  </li>
995
+ <li>
996
+ <span class="page-id">5</span>
997
+ <a href="page_payment-details-billie-unregistered-only.html" target="_blank">
998
+ Billie - Payment details with unregistered business type only
999
+ </a>
1000
+ </li>
1001
+ <li>
1002
+ <span class="page-id">6</span>
1003
+ <a href="page_payment-details-billie-registered-only.html" target="_blank">
1004
+ Billie - Payment details with registered business type only
1005
+ </a>
1006
+ </li>
995
1007
  </ul>
996
1008
  <h3>
997
1009
  Pages with Gift Cards