wickes-css2 2.103.0-RG-1587-replace-klarna-logo-with-svg-image.1 → 2.103.0-RG-1742-billie-30-60-90-days.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 (64) hide show
  1. package/Readme.md +1 -0
  2. package/build/css/components/card-product-banner.css +1 -1
  3. package/build/css/components/checkout-payment-details-v2.css +1 -1
  4. package/build/css/components/checkout-payment-repayment-terms.css +1 -0
  5. package/build/css/main.css +1 -1
  6. package/build/css/pages/page_products-list-combined.css +1 -1
  7. package/build/css/pages/page_products-list.css +1 -1
  8. package/build/css/pdp-main-non-critical.css +1 -1
  9. package/build/css/plp-main.css +1 -1
  10. package/build/js/basket.min.js +1 -1
  11. package/build/js/bundle.min.js +1 -1
  12. package/build/js/checkout.min.js +1 -1
  13. package/build/js/emulation.min.js +164 -152
  14. package/build/js/merged-checkout.min.js +1 -1
  15. package/build/js/page/checkout-payment-details.js +96 -43
  16. package/build/js/page/plp-cards-v2.js +6 -15
  17. package/build/js/page/plp-load-more.js +1 -1
  18. package/build/js/plp.bundle.min.js +1 -1
  19. package/build/js/project-list.min.js +1 -1
  20. package/package.json +2 -2
  21. package/src/components/card_product_v2.hbs +5 -10
  22. package/src/components/checkout-payment-details-v2.hbs +48 -30
  23. package/src/components/checkout-payment-repayment-terms.hbs +25 -0
  24. package/src/components/checkout_payment-new.hbs +4 -1
  25. package/src/components/checkout_payment-other-methods.hbs +4 -1
  26. package/src/components/injected-content.hbs +1 -1
  27. package/src/components/payments-checkout-v2.hbs +7 -2
  28. package/src/components/payments-checkout.hbs +6 -1
  29. package/src/components/payments.hbs +5 -1
  30. package/src/components/table_order-details-klarna.hbs +1 -1
  31. package/src/components/table_payment.hbs +4 -1
  32. package/src/data/data_search-results_v2.json +141 -56
  33. package/src/data/data_wismo.json +1 -1
  34. package/src/js/components/product-banner.js +148 -0
  35. package/src/js/emulation/checkout-payment-details.js +8 -8
  36. package/src/js/emulation/forms.js +118 -89
  37. package/src/js/emulation/paymentLoader.js +4 -3
  38. package/src/js/emulation/repayment-toggle.js +35 -0
  39. package/src/js/page/checkout-payment-details.js +96 -43
  40. package/src/js/page/plp-cards-v2.js +6 -15
  41. package/src/js/page/plp-load-more.js +1 -1
  42. package/src/page_checkout_payment-details_guest-with-checkout-journey.html +1 -1
  43. package/src/page_my-order.html +1 -1
  44. package/src/page_payment-details-with-clearpay.html +2 -2
  45. package/src/page_plp_v2.html +6 -16
  46. package/src/page_search-results.html +2 -12
  47. package/src/page_shopping-cart-v2.html +2 -2
  48. package/src/page_split-orders-klarna.html +106 -0
  49. package/src/scss/components/card-product-banner.scss +3 -91
  50. package/src/scss/components/checkout-payment-details-v2.scss +1 -0
  51. package/src/scss/components/checkout-payment-repayment-terms.scss +104 -0
  52. package/src/scss/pages/page_products-list-combined.scss +0 -11
  53. package/src/scss/pages/page_products-list.scss +0 -8
  54. package/src/sitemap.html +6 -0
  55. package/build/img/klarna.svg +0 -10
  56. package/build/img/payment/checkout/klarna.svg +0 -10
  57. package/build/img/payment/footer/klarna.svg +0 -10
  58. package/src/components/card_sponsor_banner.hbs +0 -8
  59. package/src/components/card_sponsor_product.hbs +0 -6
  60. package/src/img/klarna.svg +0 -10
  61. package/src/img/payment/checkout/klarna.svg +0 -10
  62. package/src/img/payment/footer/klarna.svg +0 -10
  63. package/src/js/components/banner-placement-manager.js +0 -267
  64. package/src/js/emulation/banner-placement-manager.js +0 -53
@@ -303,60 +303,6 @@ Wick.Autocomplete = (function(){
303
303
  init();
304
304
  })();
305
305
 
306
- // Simulate prompt for input
307
- function getInputs() {
308
- const productBannerPositions = prompt("Enter Product Banner Positions:", "2") || "";
309
- const sponsorProductPositions = prompt("Enter Sponsor Product Positions (comma-separated):", "6,7,8") || "";
310
- const sponsorBannerPositions = prompt("Enter Sponsor Banner Positions:", "10") || "";
311
-
312
- return {
313
- productBannerPositions: productBannerPositions ? productBannerPositions.split(",").map(Number) : [],
314
- sponsorProductPositions: sponsorProductPositions ? sponsorProductPositions.split(",").map(Number) : [],
315
- sponsorBannerPositions: sponsorBannerPositions ? sponsorBannerPositions.split(",").map(Number) : [],
316
- };
317
- }
318
-
319
- function getPositionAttr() {
320
- const isMobile = Wick.BannerPlacementManager.isMobileResolution();
321
- return isMobile
322
- ? 'data-mobile-position'
323
- : 'data-desktop-position';
324
- }
325
-
326
- function updatePositions(inputs) {
327
- const productBannerElements = document.querySelectorAll(".card-product-banner");
328
- productBannerElements.forEach((el, index) => {
329
- if (inputs.productBannerPositions[index] !== undefined) {
330
- el.setAttribute(getPositionAttr(), inputs.productBannerPositions[index]);
331
- }
332
- });
333
-
334
- const sponsorProductElements = document.querySelectorAll(".card-sponsor-product");
335
- sponsorProductElements.forEach((el, index) => {
336
- if (inputs.sponsorProductPositions[index] !== undefined) {
337
- el.setAttribute(getPositionAttr(), inputs.sponsorProductPositions[index]);
338
- }
339
- });
340
-
341
- const sponsorBannerElements = document.querySelectorAll(".card-sponsor-banner");
342
- sponsorBannerElements.forEach((el, index) => {
343
- if (inputs.sponsorBannerPositions[index] !== undefined) {
344
- el.setAttribute(getPositionAttr(), inputs.sponsorBannerPositions[index]);
345
- }
346
- });
347
- }
348
-
349
- function init() {
350
- const inputs = getInputs();
351
- updatePositions(inputs);
352
- }
353
-
354
- $(document).ready(function () {
355
- if ($('.retail-media .products-list.products-list-v2').length) {
356
- setTimeout(() => init(), 100)
357
- }
358
- });
359
-
360
306
  var Wick = Wick || {};
361
307
  Wick.BasketData = (function () {
362
308
  return {
@@ -3520,21 +3466,21 @@ Wick.DeliveryDetails = (function () {
3520
3466
 
3521
3467
  var Wick = Wick || {};
3522
3468
 
3523
- Wick.PaymentDetails = (function () {
3469
+ Wick.PaymentDetails = (function() {
3524
3470
  var $btnEnterDetails = $('.btn-enter-details'),
3525
3471
  $form = $btnEnterDetails.parents('form'),
3526
3472
  isGuestPage = $('.page_checkout-payment-details_guest').length;
3527
3473
 
3528
- function bindEvents () {
3529
- $btnEnterDetails.on('click', function(){
3530
- if ($form.find('#card-name').val().length &&
3474
+ function bindEvents() {
3475
+ $btnEnterDetails.on('click', function() {
3476
+ if ($form.find('#card-name').val()?.length &&
3531
3477
  $form.find('#first-line-address').val().length &&
3532
3478
  $form.find('#address-line-1').val().length &&
3533
3479
  $form.find('#town-city').val().length &&
3534
- $form.find('#postcode_additional').val().length){
3480
+ $form.find('#postcode_additional').val().length) {
3535
3481
  $('.checkout-payment-details__card-details').removeClass('checkout-payment-details__card-details_hidden');
3536
3482
  $('html, body').animate({
3537
- scrollTop: $('.checkout-payment-details__card-details').offset().top - 15
3483
+ scrollTop: $('.checkout-payment-details__card-details').offset().top - 15,
3538
3484
  }, 700);
3539
3485
  return false;
3540
3486
  }
@@ -3542,14 +3488,14 @@ Wick.PaymentDetails = (function () {
3542
3488
  return false;
3543
3489
  });
3544
3490
 
3545
- $('.checkout-payment-details__card-details').on('submit', function(){
3491
+ $('.checkout-payment-details__card-details').on('submit', function() {
3546
3492
  var $form = $(this);
3547
3493
  if ($form.find('#card-type').val() &&
3548
3494
  $form.find('#card-name1').val().length &&
3549
3495
  $form.find('#card-number').val().length &&
3550
3496
  $form.find('#month').val() &&
3551
3497
  $form.find('#year').val() &&
3552
- $form.find('#security-code').val()){
3498
+ $form.find('#security-code').val()) {
3553
3499
  window.location.href = isGuestPage
3554
3500
  ? './page_checkout_confirmation_guest.html'
3555
3501
  : './page_checkout_confirmation.html';
@@ -4015,7 +3961,7 @@ Wick.FooterСurrentYear = (function () {
4015
3961
  })();
4016
3962
 
4017
3963
  var Wick = Wick || {};
4018
- Wick.Forms = (function(){
3964
+ Wick.Forms = (function() {
4019
3965
  var fieldRow = '.form-row[data-row-required]',
4020
3966
  field = '.form-row__field',
4021
3967
  fieldError = '.form-row__error',
@@ -4025,43 +3971,44 @@ Wick.Forms = (function(){
4025
3971
  // validationError = '<div class="form-row__error">Error message here</div>',
4026
3972
  $forgotPassword = $('.link-forgot-password'),
4027
3973
  scenarios = [{
4028
- condition: function(){
4029
- // fill in the valid returning customer's details
4030
- // Email: responsive@test.com; Password: 123456
4031
- return $('#login-email').val() === 'responsive@test.com' && $('#password').val() === '123456';
4032
- },
4033
- action: function(){
4034
- // redirected to the homepage
4035
- Wick.User.login();
4036
- window.location.href = './';
4037
- }
3974
+ condition: function() {
3975
+ // fill in the valid returning customer's details
3976
+ // Email: responsive@test.com; Password: 123456
3977
+ return $('#login-email').val() === 'responsive@test.com' && $('#password').val() === '123456';
4038
3978
  },
3979
+ action: function() {
3980
+ // redirected to the homepage
3981
+ Wick.User.login();
3982
+ window.location.href = './';
3983
+ },
3984
+ },
4039
3985
  {
4040
- condition: function(){
3986
+ condition: function() {
4041
3987
  // continue as a new user with "test+random@user.com"
4042
3988
  return $('#registration-email').val().length;
4043
3989
  // return $('#registration-email').val() === 'test+random@user.com';
4044
3990
  },
4045
- action: function(){
3991
+ action: function() {
4046
3992
  // redirected to the register form
4047
3993
  window.location.href = './page_registration.html';
4048
- }
3994
+ },
4049
3995
  },
4050
3996
  {
4051
- condition: function(){
3997
+ condition: function() {
4052
3998
  // When I click forgotten password link
4053
3999
  },
4054
- action: function(){
4000
+ action: function() {
4055
4001
  // redirected on the "Forgotten Password" page
4056
4002
  window.location.href = './page_forgotten-password.html';
4057
- }
4058
- }
4059
- ];
4003
+ },
4004
+ },
4005
+ ],
4060
4006
 
4061
- validationError = function (errorMsg) {
4062
- return `<div class="form-row__error"> ${errorMsg || 'Error message here'}</div>`
4063
- }
4064
- function isElementInViewport (el) {
4007
+ validationError = function(errorMsg) {
4008
+ return `<div class="form-row__error"> ${errorMsg || 'Error message here'}</div>`;
4009
+ };
4010
+
4011
+ function isElementInViewport(el) {
4065
4012
  if (typeof jQuery === 'function' && el instanceof jQuery) {
4066
4013
  el = el[0];
4067
4014
  }
@@ -4074,15 +4021,21 @@ Wick.Forms = (function(){
4074
4021
  );
4075
4022
  }
4076
4023
 
4077
- var showValidationErrors = function (form, errorMsg) {
4024
+ var showValidationErrors = function(form, errorMsg) {
4078
4025
  var $form = $(form);
4079
4026
  if (!$form.hasClass(formInvalid)) {
4080
4027
  $form.find('.form-row__error').remove();
4081
- $form.addClass(formInvalid).find(fieldRow).append(validationError(errorMsg)).addClass(rowValidationError);
4028
+ var $rows = $form.find(fieldRow).filter(function() {
4029
+ return $(this).css('display') !== 'none';
4030
+ });
4031
+
4032
+ $rows.append(validationError(errorMsg)).addClass(rowValidationError);
4082
4033
  }
4083
4034
 
4084
- var $firstMsg = $form.find(fieldRow).first();
4085
- if($firstMsg.length && !isElementInViewport($firstMsg)){
4035
+ var $firstMsg = $form.find(fieldRow).filter(function() {
4036
+ return $(this).css('display') !== 'none';
4037
+ }).first();
4038
+ if ($firstMsg.length && !isElementInViewport($firstMsg)) {
4086
4039
  var inModal = $firstMsg.closest('.modal').length,
4087
4040
  $scrollableEl = inModal ? $firstMsg.closest('.modal') : $('html, body'),
4088
4041
  y = inModal ? 0 : $firstMsg.offset().top - 30;
@@ -4091,22 +4044,26 @@ Wick.Forms = (function(){
4091
4044
  }
4092
4045
  };
4093
4046
 
4094
- var clearValidationErrors = function (form) {
4047
+ var clearValidationErrors = function(form) {
4095
4048
  var $form = $(form);
4096
- if ($form.hasClass(formInvalid)) {
4097
- $form.removeClass(formInvalid)
4098
- .find(fieldRow).removeClass(rowValidationError)
4099
- .find(fieldError).remove();
4100
- }
4049
+
4050
+ $form.removeClass(formInvalid);
4051
+
4052
+ $form.find(fieldRow)
4053
+ .removeClass(rowValidationError)
4054
+ .find(fieldError).remove();
4055
+
4056
+ $form.find(fieldError).remove();
4101
4057
  };
4102
4058
 
4103
- var handleSmoothScroll = function () {
4059
+
4060
+ var handleSmoothScroll = function() {
4104
4061
  $('html, body').animate({
4105
- scrollTop: $('.cards-store-list').offset().top - 60
4062
+ scrollTop: $('.cards-store-list').offset().top - 60,
4106
4063
  }, 300);
4107
4064
  };
4108
4065
 
4109
- var handleFormSubmit = function () {
4066
+ var handleFormSubmit = function() {
4110
4067
  var form = this;
4111
4068
 
4112
4069
  if ($(form).is('#form-login') || $(form).is('#form-register')) {
@@ -4120,21 +4077,21 @@ Wick.Forms = (function(){
4120
4077
  }
4121
4078
 
4122
4079
  if ($(form).is('#form-forgotten-password')) {
4123
- if ($(form).find('#email').val().length){
4080
+ if ($(form).find('#email').val().length) {
4124
4081
  window.location.href = './page_upd-pass.html';
4125
4082
  return false;
4126
4083
  }
4127
4084
  }
4128
4085
 
4129
4086
  if ($(form).is('#form-forgotten-password-popup')) {
4130
- if ($(form).find('#email').val().length){
4087
+ if ($(form).find('#email').val().length) {
4131
4088
  window.location.href = './page_checkout_sign-in.html';
4132
4089
  return false;
4133
4090
  }
4134
4091
  }
4135
4092
 
4136
4093
  if ($(form).is('#checkout-form-forgotten-password-popup')) {
4137
- if ($(form).find('#email').val().length){
4094
+ if ($(form).find('#email').val().length) {
4138
4095
  $('.modal-reset-wrap').addClass('d-block');
4139
4096
  $('.request-pass').addClass('d-none');
4140
4097
  $('.modal-title').text('Password Reset');
@@ -4143,7 +4100,7 @@ Wick.Forms = (function(){
4143
4100
  }
4144
4101
 
4145
4102
  if ($(form).is('.update-pass')) {
4146
- if ($(form).find('#new-password').val().length && $(form).find('#confirmed-password').val().length){
4103
+ if ($(form).find('#new-password').val().length && $(form).find('#confirmed-password').val().length) {
4147
4104
  window.location.href = './page_login.html';
4148
4105
  return false;
4149
4106
  }
@@ -4152,7 +4109,7 @@ Wick.Forms = (function(){
4152
4109
  if ($(form).is('.change-email')) {
4153
4110
  if ($(form).find('#new-email').val().length &&
4154
4111
  $(form).find('#confirm-new-email').val().length &&
4155
- $(form).find('#password').val().length){
4112
+ $(form).find('#password').val().length) {
4156
4113
  window.location.href = './page_my-account.html';
4157
4114
  return false;
4158
4115
  }
@@ -4161,7 +4118,7 @@ Wick.Forms = (function(){
4161
4118
  if ($(form).is('.form-change-password')) {
4162
4119
  if ($(form).find('#current-password').val().length &&
4163
4120
  $(form).find('#new-password').val().length &&
4164
- $(form).find('#confirm-password').val().length){
4121
+ $(form).find('#confirm-password').val().length) {
4165
4122
  window.location.href = './page_my-account.html';
4166
4123
  return false;
4167
4124
  }
@@ -4173,14 +4130,14 @@ Wick.Forms = (function(){
4173
4130
  $(form).find('#postcode').val().length &&
4174
4131
  $(form).find('#email').val().length &&
4175
4132
  $(form).find('#password').val().length &&
4176
- $(form).find('#confirm-password').val().length){
4133
+ $(form).find('#confirm-password').val().length) {
4177
4134
  window.location.href = './page_my-account.html';
4178
4135
  return false;
4179
4136
  }
4180
4137
  }
4181
4138
 
4182
4139
  if ($(form).is('.form-personal-details')) {
4183
- if ($(form).find('#first-name').val().length && $(form).find('#surname').val().length){
4140
+ if ($(form).find('#first-name').val().length && $(form).find('#surname').val().length) {
4184
4141
  window.location.href = './page_my-account.html';
4185
4142
  return false;
4186
4143
  }
@@ -4188,26 +4145,26 @@ Wick.Forms = (function(){
4188
4145
 
4189
4146
  if ($(form).is('.form-address-details')) {
4190
4147
  if ($(form).find('#first-name').val().length &&
4191
- $(form).find('#second-name').val().length &&
4192
- $(form).find('#address1').val().length &&
4193
- $(form).find('#town-city').val().length &&
4194
- $(form).find('#mobile-telephone').val().length) {
4148
+ $(form).find('#second-name').val().length &&
4149
+ $(form).find('#address1').val().length &&
4150
+ $(form).find('#town-city').val().length &&
4151
+ $(form).find('#mobile-telephone').val().length) {
4195
4152
  window.location.href = './page_my-account_address-book.html';
4196
4153
  return false;
4197
4154
  }
4198
4155
  }
4199
4156
 
4200
4157
  if ($(form).is('.form-locator')) {
4201
- if ($(form).find('#store-id').val()){
4158
+ if ($(form).find('#store-id').val()) {
4202
4159
  window.location.href = './page_store-locator-details.html';
4203
4160
  return false;
4204
4161
  }
4205
4162
  }
4206
4163
 
4207
4164
  if ($(form).is('.form-locator-list')) {
4208
- if ($(form).find('#postcode-town').val().length){
4165
+ if ($(form).find('#postcode-town').val().length) {
4209
4166
  var actionAfterSubmit = $(form).attr('data-action');
4210
- if (actionAfterSubmit === 'scroll-to-list'){
4167
+ if (actionAfterSubmit === 'scroll-to-list') {
4211
4168
  clearValidationErrors(this);
4212
4169
  handleSmoothScroll();
4213
4170
  } else {
@@ -4218,7 +4175,7 @@ Wick.Forms = (function(){
4218
4175
  }
4219
4176
 
4220
4177
  if ($(form).is('#form-mini-basket')) {
4221
- if (Wick.User.isLoggedIn()){
4178
+ if (Wick.User.isLoggedIn()) {
4222
4179
  window.location.href = './page_checkout_delivery-address.html';
4223
4180
  } else {
4224
4181
  window.location.href = './page_checkout_sign-in.html';
@@ -4226,13 +4183,31 @@ Wick.Forms = (function(){
4226
4183
  return false;
4227
4184
  }
4228
4185
 
4229
- function isNotEmpty(field){
4230
- return !!$(field).val();
4186
+ function isNotEmpty(field) {
4187
+ var $field = $(field);
4188
+ var type = ($field.attr('type') || '').toLowerCase();
4189
+
4190
+ if (type === 'checkbox') {
4191
+ return $field.is(':checked');
4192
+ }
4193
+
4194
+ if (type === 'radio') {
4195
+ var name = $field.attr('name');
4196
+ if (!name) return false;
4197
+
4198
+ var $scope = $field.closest('[data-row-required]');
4199
+ if (!$scope.length) $scope = $field.closest('form');
4200
+
4201
+ return $scope.find('input[type="radio"][name="' + name.replace(/"/g, '\\"') + '"]').is(':checked');
4202
+ }
4203
+
4204
+ return !!$field.val();
4231
4205
  }
4232
4206
 
4207
+
4233
4208
  if ($(form).is('#form-checkout-your-details')) {
4234
4209
  var requiredFields = $(form).find('[data-row-required]:visible :input');
4235
- if (_.every(requiredFields, isNotEmpty)){
4210
+ if (_.every(requiredFields, isNotEmpty)) {
4236
4211
  window.location.href = $(form).attr('data-action');
4237
4212
  return false;
4238
4213
  }
@@ -4240,7 +4215,7 @@ Wick.Forms = (function(){
4240
4215
 
4241
4216
  if ($(form).is('#checkout-your-details-modal')) {
4242
4217
  var requiredFields = $(form).find('[data-row-required]:visible :input');
4243
- if (_.every(requiredFields, isNotEmpty)){
4218
+ if (_.every(requiredFields, isNotEmpty)) {
4244
4219
  $('#modalDeliveryEdit').modal('hide');
4245
4220
  return false;
4246
4221
  }
@@ -4254,15 +4229,15 @@ Wick.Forms = (function(){
4254
4229
  }
4255
4230
  }
4256
4231
 
4257
- if ($(form).is('.checkout-register')){
4232
+ if ($(form).is('.checkout-register')) {
4258
4233
  if ($(form).find('#password').val().length &&
4259
- $(form).find('#confirm-password').val().length) {
4234
+ $(form).find('#confirm-password').val().length) {
4260
4235
  window.location.href = './page_my-account.html';
4261
4236
  return false;
4262
4237
  }
4263
4238
  }
4264
4239
 
4265
- if ($(form).is('#form-checkout-voucher')){
4240
+ if ($(form).is('#form-checkout-voucher')) {
4266
4241
  if ($(form).find('#voucher-code').val().length) {
4267
4242
  return false;
4268
4243
  }
@@ -4274,11 +4249,11 @@ Wick.Forms = (function(){
4274
4249
  }
4275
4250
  }
4276
4251
 
4277
- if ($(form).is('.header-search')){
4252
+ if ($(form).is('.header-search')) {
4278
4253
  window.location.href = './page_search-results.html';
4279
4254
  }
4280
4255
 
4281
- if ($(form).is('.click-and-collect__locator-form')){
4256
+ if ($(form).is('.click-and-collect__locator-form')) {
4282
4257
  var $form = $(form);
4283
4258
  if ($form.find('#click-and-collect-town').val().length) {
4284
4259
  clearValidationErrors(this);
@@ -4291,24 +4266,24 @@ Wick.Forms = (function(){
4291
4266
  return false;
4292
4267
  }
4293
4268
 
4294
- if($(form).is('.form-track-order')) {
4295
- var $form = $(form);
4269
+ if ($(form).is('.form-track-order')) {
4270
+ var $form = $(form);
4296
4271
 
4297
- if ($form.find('#order').val().length &&
4298
- $form.find('#tel').val().length &&
4299
- $form.find('#email').val().length &&
4300
- $form.find('#postcode').val().length) {
4301
- clearValidationErrors(this);
4302
- } else if (!$form.hasClass(formInvalid)) {
4303
- $form.addClass(formInvalid);
4272
+ if ($form.find('#order').val().length &&
4273
+ $form.find('#tel').val().length &&
4274
+ $form.find('#email').val().length &&
4275
+ $form.find('#postcode').val().length) {
4276
+ clearValidationErrors(this);
4277
+ } else if (!$form.hasClass(formInvalid)) {
4278
+ $form.addClass(formInvalid);
4304
4279
 
4305
- $(fieldRow).each(function() {
4306
- $(this).addClass(rowValidationError)
4307
- .append('<div class="form-row__error">' + $(this).data('message') + '</div>');
4308
- });
4309
- }
4280
+ $(fieldRow).each(function() {
4281
+ $(this).addClass(rowValidationError)
4282
+ .append('<div class="form-row__error">' + $(this).data('message') + '</div>');
4283
+ });
4284
+ }
4310
4285
 
4311
- return false;
4286
+ return false;
4312
4287
  }
4313
4288
 
4314
4289
  if ($(form).is('#edit-billing-address')) {
@@ -4324,28 +4299,28 @@ Wick.Forms = (function(){
4324
4299
  };
4325
4300
 
4326
4301
  var scrollLocatorListPage = function() {
4327
- var isLocatorListPage = $('.cards-store-list').length;
4328
- var isScrollNeeded = window.location.hash === "#stores-list";
4329
- if (isLocatorListPage && isScrollNeeded) {
4330
- handleSmoothScroll();
4331
- }
4302
+ var isLocatorListPage = $('.cards-store-list').length;
4303
+ var isScrollNeeded = window.location.hash === '#stores-list';
4304
+ if (isLocatorListPage && isScrollNeeded) {
4305
+ handleSmoothScroll();
4306
+ }
4332
4307
  };
4333
4308
 
4334
- let bindEvents = function () {
4309
+ let bindEvents = function() {
4335
4310
  let selector = excludedClassesForForm.reduce((acc, className) => {
4336
4311
  return acc + ':not([class^="' + className + '"])';
4337
4312
  }, 'form');
4338
4313
  $(document).on('submit', selector, handleFormSubmit);
4339
4314
  $forgotPassword.on('click', scenarios[2].action);
4340
- $('.btn-cancel').on('click', function(){
4315
+ $('.btn-cancel').on('click', function() {
4341
4316
  window.location.href = './page_my-account.html';
4342
4317
  });
4343
- $('.btn-previous').on('click', function(){
4318
+ $('.btn-previous').on('click', function() {
4344
4319
  window.location.href = './page_login.html';
4345
4320
  });
4346
4321
  };
4347
4322
 
4348
- var init = function () {
4323
+ var init = function() {
4349
4324
  bindEvents();
4350
4325
  scrollLocatorListPage();
4351
4326
  };
@@ -4354,8 +4329,8 @@ Wick.Forms = (function(){
4354
4329
 
4355
4330
  return {
4356
4331
  showValidationErrors: showValidationErrors,
4357
- clearValidationErrors: clearValidationErrors
4358
- }
4332
+ clearValidationErrors: clearValidationErrors,
4333
+ };
4359
4334
  })();
4360
4335
 
4361
4336
  var Wick = Wick || {};
@@ -9984,6 +9959,8 @@ $(document).ready(function () {
9984
9959
  initMyOrdersEvent();
9985
9960
  });
9986
9961
 
9962
+ var Wick = Wick || {};
9963
+
9987
9964
  const paymentLoader= '.payment-loader';
9988
9965
  const paymentLoaderHideClass= 'payment-loader--hidden';
9989
9966
  const paymentLoaderModal = '.payment-loader__modal'
@@ -9991,11 +9968,10 @@ const paymentTypeSelectors = {
9991
9968
  apple: '.apple__button',
9992
9969
  google: '.google__button',
9993
9970
  clearpay: '#checkout-payment-details-clearpay',
9994
- billie: '#checkout-payment-details-billie, .billie__button',
9995
9971
  paypal: '#checkout-payment-details-paypal'
9996
9972
  };
9997
9973
 
9998
- function showPaymentLoader(paymentType) {
9974
+ Wick.showPaymentLoader = function(paymentType) {
9999
9975
  $(paymentLoader).find(`${paymentLoaderModal} > div`).hide();
10000
9976
  $(`.${paymentType}-checkout-logo`).show();
10001
9977
  $(`${paymentLoader} .spinner`).show();
@@ -10007,7 +9983,7 @@ function showPaymentLoader(paymentType) {
10007
9983
  }
10008
9984
 
10009
9985
  Object.entries(paymentTypeSelectors).forEach(([type, triggerSelector]) => {
10010
- $(document).on('click', triggerSelector, () => showPaymentLoader(type));
9986
+ $(document).on('click', triggerSelector, () => Wick.showPaymentLoader(type));
10011
9987
  });
10012
9988
 
10013
9989
  var Wick = Wick || {};
@@ -11038,6 +11014,42 @@ Wick.ReferenceField = (function () {
11038
11014
  init();
11039
11015
  })();
11040
11016
 
11017
+ var Wick = Wick || {};
11018
+
11019
+ Wick.RepaymentToggle = (function () {
11020
+ const SELECTORS = {
11021
+ repaymentRadio: 'input[name="repaymentTerms"]',
11022
+ term: '.billie-info .term',
11023
+ paymentMethod: '[name="payment-method"]'
11024
+ };
11025
+
11026
+ function updateTerm(value) {
11027
+ const $term = $(SELECTORS.term);
11028
+ if (!$term.length) return;
11029
+
11030
+ $term.text(value);
11031
+ }
11032
+
11033
+ function bindEvents () {
11034
+ $(document).on('change', SELECTORS.repaymentRadio, function () {
11035
+ const value = $(this).val();
11036
+ if (!value) return;
11037
+
11038
+ updateTerm(value);
11039
+
11040
+ const currentMethod = $(SELECTORS.paymentMethod + ':checked').val();
11041
+ if (currentMethod !== 'billie') return;
11042
+
11043
+ if (typeof Wick.showPaymentLoader === 'function') {
11044
+ Wick.showPaymentLoader('billie');
11045
+ }
11046
+
11047
+ });
11048
+ }
11049
+
11050
+ bindEvents();
11051
+ })();
11052
+
11041
11053
  var Wick = Wick || {};
11042
11054
  Wick.Selectable = (function(){
11043
11055
  $selectable = $('.js-selectable'),