wickes-css2 2.103.0-RG-1756-incorrect-payment-method-when-proceed-payment-with-gift-card.2 → 2.103.0-RG-1742-billie-30-60-90-days.1

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 (176) hide show
  1. package/Readme.md +3 -1
  2. package/build/css/components/checkout-payment-details-v2.css +1 -1
  3. package/build/js/account-members.min.js +1 -1
  4. package/build/js/add-project-list-id.min.js +1 -1
  5. package/build/js/address-book.min.js +1 -1
  6. package/build/js/basket.min.js +2 -2
  7. package/build/js/bundle.min.js +1 -1
  8. package/build/js/change-password.min.js +1 -1
  9. package/build/js/checkout.min.js +2 -2
  10. package/build/js/emulation.min.js +35 -273
  11. package/build/js/general.bundle.min.js +1 -1
  12. package/build/js/merged-checkout.min.js +2 -2
  13. package/build/js/page/components/order-summary.js +25 -42
  14. package/build/js/page/utils/validation.js +1 -46
  15. package/build/js/pdp.bundle.min.js +1 -1
  16. package/build/js/personal-details.min.js +1 -1
  17. package/build/js/plp.bundle.min.js +1 -1
  18. package/build/js/project-list.min.js +1 -44
  19. package/build/js/quiz.min.js +1 -1
  20. package/build/js/track-my-order.min.js +1 -1
  21. package/package.json +2 -2
  22. package/src/components/checkout-payment-details-v2.hbs +17 -5
  23. package/src/components/checkout-payment-repayment-terms.hbs +25 -0
  24. package/src/elements/form-row.hbs +1 -1
  25. package/src/elements/input.hbs +2 -31
  26. package/src/js/components/general/notification.js +1 -2
  27. package/src/js/components/toggle-password-visibility.js +58 -0
  28. package/src/js/emulation/checkout-payment-details.js +14 -23
  29. package/src/js/emulation/forms.js +21 -8
  30. package/src/js/page/components/order-summary.js +25 -42
  31. package/src/js/page/utils/validation.js +1 -46
  32. package/src/layouts/checkout.hbs +5 -1
  33. package/src/page_my-account_change-password.html +0 -1
  34. package/src/page_payment-details-with-gift-card.html +5 -8
  35. package/src/scss/components/checkout-payment-details-v2.scss +1 -2
  36. package/src/scss/components/checkout-payment-repayment-terms.scss +103 -0
  37. package/src/scss/pages/page_checkout_delivery-new.scss +0 -26
  38. package/build/css/components/energy-efficiency.css +0 -1
  39. package/build/css/components/global-search.css +0 -1
  40. package/build/css/components/kitchen/strip-stickers.css +0 -1
  41. package/build/css/components/legal-info.css +0 -1
  42. package/build/css/components/loader.css +0 -1
  43. package/build/css/components/long-banner.css +0 -1
  44. package/build/css/components/payment-details-BPS-form.css +0 -1
  45. package/build/css/components/pdf-loader.css +0 -1
  46. package/build/css/components/pdp-favourite-product.css +0 -1
  47. package/build/css/components/plp-favourite-product.css +0 -1
  48. package/build/css/components/price-block-v2-critical.css +0 -1
  49. package/build/css/components/price-block-v2.css +0 -1
  50. package/build/css/components/special-opening-schedule-v2.css +0 -1
  51. package/build/css/components/special-opening-schedule.css +0 -1
  52. package/build/css/components/store-locator-about.css +0 -1
  53. package/build/css/components/store-locator-facilities.css +0 -1
  54. package/build/css/components/store-locator-lookup.css +0 -1
  55. package/build/css/components/store-locator-v2-details.css +0 -1
  56. package/build/css/components/strip-stickers.css +0 -1
  57. package/build/css/components/tile-calculator.css +0 -1
  58. package/build/css/components/trade-pro-extras.css +0 -1
  59. package/build/css/pages/bicester-header.css +0 -1
  60. package/build/css/pages/bicester-project-list.css +0 -1
  61. package/build/css/pages/checkout-new.css +0 -1
  62. package/build/css/pages/checkout.css +0 -1
  63. package/build/css/pages/design-appointment.css +0 -1
  64. package/build/css/pages/home-movers.css +0 -1
  65. package/build/css/pages/iframe-paypage.css +0 -1
  66. package/build/css/pages/my-account-v2.css +0 -1
  67. package/build/css/pages/my-account.css +0 -1
  68. package/build/css/pages/new-usp-bar.css +0 -1
  69. package/build/css/pages/oldweb_header.css +0 -1
  70. package/build/css/pages/page_account-deletion.css +0 -1
  71. package/build/css/pages/page_act-trade-pro.css +0 -1
  72. package/build/css/pages/page_address-book.css +0 -1
  73. package/build/css/pages/page_bathroom-trends.css +0 -1
  74. package/build/css/pages/page_book-consultant-thank-you-new.css +0 -1
  75. package/build/css/pages/page_change-password.css +0 -1
  76. package/build/css/pages/page_checkout-payment-details.css +0 -1
  77. package/build/css/pages/page_checkout_delivery-new.css +0 -1
  78. package/build/css/pages/page_cms_homepage.css +0 -1
  79. package/build/css/pages/page_contact-us.css +0 -1
  80. package/build/css/pages/page_content.css +0 -1
  81. package/build/css/pages/page_coshh.css +0 -1
  82. package/build/css/pages/page_default-store.css +0 -1
  83. package/build/css/pages/page_discount.css +0 -1
  84. package/build/css/pages/page_empty-basket.css +0 -1
  85. package/build/css/pages/page_favourite-list.css +0 -1
  86. package/build/css/pages/page_fdl-management.css +0 -1
  87. package/build/css/pages/page_fdl-product.css +0 -1
  88. package/build/css/pages/page_fi.css +0 -1
  89. package/build/css/pages/page_forgotten-password.css +0 -1
  90. package/build/css/pages/page_half-login.css +0 -1
  91. package/build/css/pages/page_home.css +0 -1
  92. package/build/css/pages/page_hotspot-guttering.css +0 -1
  93. package/build/css/pages/page_in-store-checkout.css +0 -1
  94. package/build/css/pages/page_in-store_MVP_order-summary-submitted.css +0 -1
  95. package/build/css/pages/page_in-store_MVP_order-summary.css +0 -1
  96. package/build/css/pages/page_installation.css +0 -1
  97. package/build/css/pages/page_installer.css +0 -1
  98. package/build/css/pages/page_installer_form.css +0 -1
  99. package/build/css/pages/page_kitchen-claims.css +0 -1
  100. package/build/css/pages/page_kitchen-list.css +0 -1
  101. package/build/css/pages/page_login.css +0 -1
  102. package/build/css/pages/page_marketing-preferences.css +0 -1
  103. package/build/css/pages/page_merged-basket.css +0 -1
  104. package/build/css/pages/page_my-account_tradePro.css +0 -1
  105. package/build/css/pages/page_my-order.css +0 -1
  106. package/build/css/pages/page_my-orders.css +0 -1
  107. package/build/css/pages/page_new-checkout-forgot.css +0 -1
  108. package/build/css/pages/page_new-checkout_login-register.css +0 -1
  109. package/build/css/pages/page_no-results.css +0 -1
  110. package/build/css/pages/page_online-exclusive.css +0 -1
  111. package/build/css/pages/page_paint-mixing-error.css +0 -1
  112. package/build/css/pages/page_personal-details.css +0 -1
  113. package/build/css/pages/page_pre_home.css +0 -1
  114. package/build/css/pages/page_pre_home_thank-you.css +0 -1
  115. package/build/css/pages/page_product-details-critical.css +0 -1
  116. package/build/css/pages/page_product-details-v2-critical.css +0 -1
  117. package/build/css/pages/page_product-details-v2.css +0 -1
  118. package/build/css/pages/page_product-details.css +0 -1
  119. package/build/css/pages/page_product_search.css +0 -1
  120. package/build/css/pages/page_products-list-combined.css +0 -1
  121. package/build/css/pages/page_products-list-phone.css +0 -1
  122. package/build/css/pages/page_products-list.css +0 -1
  123. package/build/css/pages/page_products-list_v2.css +0 -1
  124. package/build/css/pages/page_projects.css +0 -1
  125. package/build/css/pages/page_quiz.css +0 -1
  126. package/build/css/pages/page_rate-review.css +0 -1
  127. package/build/css/pages/page_registration.css +0 -1
  128. package/build/css/pages/page_shopping-cart-v2.css +0 -1
  129. package/build/css/pages/page_shopping-cart.css +0 -1
  130. package/build/css/pages/page_split-orders.css +0 -1
  131. package/build/css/pages/page_store-locator-details.css +0 -1
  132. package/build/css/pages/page_store-locator.css +0 -1
  133. package/build/css/pages/page_thankyou.css +0 -1
  134. package/build/css/pages/page_ti.css +0 -1
  135. package/build/css/pages/page_tiling-calculator-generic.css +0 -1
  136. package/build/css/pages/page_top-rated.css +0 -1
  137. package/build/css/pages/page_track-my-order.css +0 -1
  138. package/build/css/pages/page_track_your_order.css +0 -1
  139. package/build/css/pages/page_trade_installer.css +0 -1
  140. package/build/css/pages/page_upd-pass.css +0 -1
  141. package/build/css/pages/page_wismo-details.css +0 -1
  142. package/build/css/pages/page_wismo-order-history.css +0 -1
  143. package/build/css/pages/page_wismo-orders.css +0 -1
  144. package/build/css/pages/print_quiz.css +0 -1
  145. package/build/css/pages/sticky_header.css +0 -1
  146. package/build/css/pages/tradePro-about.css +0 -1
  147. package/build/css/pages/tradePro-address-book.css +0 -1
  148. package/build/css/pages/tradePro-delivery-details.css +0 -1
  149. package/build/css/pages/tradePro-discount.css +0 -1
  150. package/build/css/pages/tradePro-order-history.css +0 -1
  151. package/build/css/pages/tradePro-payment-details.css +0 -1
  152. package/build/css/pages/tradePro-rewards-old.css +0 -1
  153. package/build/css/pages/tradePro-rewards.css +0 -1
  154. package/build/css/pages/tradePro-signup.css +0 -1
  155. package/build/css/pages/tradePro-thankyou-activate.css +0 -1
  156. package/build/img/giftcard.svg +0 -28
  157. package/build/js/gift-cards.min.js +0 -1
  158. package/build/js/page/components/gift-cards.js +0 -887
  159. package/build/js/page/components/toggle-password-visibility.js +0 -22
  160. package/build/js/page/utils/gift-cards-utils.js +0 -151
  161. package/build/js/page/utils/input-handling.js +0 -92
  162. package/build/js/page/utils/show-hide-input.js +0 -28
  163. package/build/js/toggle-password-visibility.min.js +0 -1
  164. package/src/components/gift-cards-hint.hbs +0 -9
  165. package/src/components/gift-cards.hbs +0 -90
  166. package/src/components/giftcard-chip.hbs +0 -23
  167. package/src/components/giftcard-summary.hbs +0 -6
  168. package/src/img/giftcard.svg +0 -28
  169. package/src/js/emulation/checkout-data.js +0 -35
  170. package/src/js/emulation/gift-cards.js +0 -205
  171. package/src/js/page/components/gift-cards.js +0 -887
  172. package/src/js/page/components/toggle-password-visibility.js +0 -22
  173. package/src/js/page/utils/gift-cards-utils.js +0 -151
  174. package/src/js/page/utils/input-handling.js +0 -92
  175. package/src/js/page/utils/show-hide-input.js +0 -28
  176. package/src/scss/components/_gift-cards.scss +0 -361
@@ -1,205 +0,0 @@
1
- (function () {
2
- if (!window.Wick) return;
3
-
4
- const M_OK = '0000000000000001';
5
- const M_ZERO_BALANCE = '0000000000000000';
6
- const M_NOT_RECOGNISED = '1111111111111111';
7
- const M_LOCKED = '2222222222222222';
8
- const M_MERCHANT_ISSUE = '3333333333333333';
9
- const M_EXCHANGE = '4040404040404040';
10
- const M_EXPIRED = '4444444444444444';
11
- const M_INVALID = '5555555555555555';
12
- const M_ADDED = '6666666666666666';
13
- const M_CONFIG_PROBLEM = '9999999999999999';
14
-
15
- const M_PAY_ERR_101 = '7777777777777101';
16
- const M_PAY_ERR_102 = '7777777777777102';
17
- const M_PAY_ERR_103 = '7777777777777103';
18
-
19
- const PAY_ERROR_CARD_MAP = {
20
- [M_PAY_ERR_101]: 101,
21
- [M_PAY_ERR_102]: 102,
22
- [M_PAY_ERR_103]: 103,
23
- };
24
-
25
- const GIFT_CARDS_LIMIT = 3;
26
- const BASE_ORDER_TOTAL = 300.00;
27
-
28
- let PAY_ERROR_CODE;
29
-
30
- const mock = {
31
- orderTotal: BASE_ORDER_TOTAL,
32
- giftCardTotal: 0.00,
33
- giftCards: [],
34
- };
35
-
36
- const toMasked = (num) => `************${String(num || '').slice(-5)}`;
37
-
38
- function recomputeTotalsAndOrder() {
39
- mock.giftCardTotal = mock.giftCards.reduce((sum, c) => sum + Number(c.amountToRedeem || 0), 0);
40
- const remaining = Math.max(0, BASE_ORDER_TOTAL - mock.giftCardTotal);
41
- mock.orderTotal = Number(remaining.toFixed(2));
42
- }
43
-
44
- function applyWithClamp(requestedAmount) {
45
- const remaining = Math.max(0, BASE_ORDER_TOTAL - mock.giftCardTotal);
46
- const applied = Math.min(Number(requestedAmount || 0), remaining);
47
- return Number(applied.toFixed(2));
48
- }
49
-
50
- function successPayload() {
51
- return {
52
- orderTotal: mock.orderTotal,
53
- giftCardTotal: mock.giftCardTotal,
54
- giftCards: mock.giftCards.slice()
55
- };
56
- }
57
-
58
- function getGiftCardErrorCode(giftCardNumber) {
59
- switch (giftCardNumber) {
60
- case M_NOT_RECOGNISED:
61
- return 10;
62
- case M_LOCKED:
63
- return 16;
64
- case M_MERCHANT_ISSUE:
65
- return 20;
66
- case M_EXCHANGE:
67
- return 40;
68
- case M_EXPIRED:
69
- return 60;
70
- case M_INVALID:
71
- return 99;
72
- case M_ADDED:
73
- return 89;
74
- case M_CONFIG_PROBLEM:
75
- return -1;
76
- default:
77
- return null;
78
- }
79
- }
80
-
81
- function addGiftCardMock(giftCardNumber) {
82
- const errorCode = getGiftCardErrorCode(giftCardNumber);
83
-
84
- if (Number.isFinite(errorCode)) {
85
- return Promise.reject({ code: errorCode });
86
- }
87
-
88
- let requested;
89
- if (giftCardNumber === M_OK) {
90
- requested = 123.45;
91
- } else if (giftCardNumber === M_ZERO_BALANCE) {
92
- requested = 0;
93
- } else {
94
- requested = 50.00;
95
- }
96
-
97
- if (mock.giftCards.length >= GIFT_CARDS_LIMIT) {
98
- return Promise.reject({ code: 20 });
99
- }
100
-
101
- const beforeTotal = mock.giftCardTotal;
102
- const applied = applyWithClamp(requested);
103
-
104
- mock.giftCards.push({
105
- id: (Date.now() + Math.random()).toString(36),
106
- maskedNumber: toMasked(giftCardNumber),
107
- amountToRedeem: applied,
108
- originalNumber: giftCardNumber,
109
- });
110
-
111
- if (mock.giftCards.length === GIFT_CARDS_LIMIT) {
112
- const leftover = Math.max(0, BASE_ORDER_TOTAL - (beforeTotal + applied));
113
- if (leftover > 0) {
114
- const last = mock.giftCards[mock.giftCards.length - 1];
115
- last.amountToRedeem = Number((Number(last.amountToRedeem) + leftover).toFixed(2));
116
- }
117
- mock.giftCardTotal = BASE_ORDER_TOTAL;
118
- mock.orderTotal = 0;
119
- return Promise.resolve(successPayload());
120
- }
121
-
122
- recomputeTotalsAndOrder();
123
- return Promise.resolve(successPayload());
124
- }
125
-
126
- function removeGiftCardMock(index) {
127
- const beforeLen = mock.giftCards.length;
128
- if (index < 0 || index >= beforeLen) return Promise.reject({ code: 20 });
129
-
130
- mock.giftCards.splice(index, 1);
131
- recomputeTotalsAndOrder();
132
- return Promise.resolve(successPayload());
133
- }
134
-
135
- function anyPayErrorCardApplied() {
136
- for (const gc of mock.giftCards) {
137
- const code = PAY_ERROR_CARD_MAP[gc.originalNumber];
138
- if (Number.isFinite(code)) return code;
139
- }
140
- return undefined;
141
- }
142
-
143
- function initGiftCardMock() {
144
- if (!$('.giftcard-row, .giftcard').length) return;
145
-
146
- $(window).off(Wick.GiftCard.ADD_GIFT_CARD);
147
- $(window).off(Wick.GiftCard.REMOVE_GIFT_CARD);
148
- $(window).off(Wick.GiftCard.PAY_WITH_GIFT_CARD);
149
-
150
- $(window).on(Wick.GiftCard.ADD_GIFT_CARD, function (e) {
151
- const payload = (e.detail && e.detail.payload) || {};
152
- const giftCardNumber = payload.giftCardNumber;
153
- setTimeout(function () {
154
- addGiftCardMock(giftCardNumber)
155
- .then(function (p) { e.detail.resolve(Object.assign({ code: 0 }, p)); })
156
- .catch(function (err) { e.detail.reject(err); });
157
- }, 1000);
158
- });
159
-
160
- $(window).on(Wick.GiftCard.REMOVE_GIFT_CARD, function (e) {
161
- const payload = (e.detail && e.detail.payload) || {};
162
- const index = Number(payload.index);
163
- setTimeout(function () {
164
- removeGiftCardMock(index)
165
- .then(function (p) { e.detail.resolve(Object.assign({ code: 0 }, p)); })
166
- .catch(function (err) { e.detail.reject(err); });
167
- }, 1000);
168
- });
169
-
170
- $(window).on(Wick.GiftCard.PAY_WITH_GIFT_CARD, function (e) {
171
- setTimeout(function () {
172
- const forcedErrorFromCard = anyPayErrorCardApplied();
173
- if (Number.isFinite(forcedErrorFromCard)) {
174
- return e.detail.reject({
175
- errorCode: forcedErrorFromCard,
176
- giftCards: mock.giftCards.slice(),
177
- });
178
- }
179
-
180
- if (Number(mock.orderTotal) === 0) {
181
- e.detail.resolve({ url: 'page_checkout_confirmation-billie.html' });
182
- } else {
183
- const errorCode = Number.isFinite(PAY_ERROR_CODE) ? PAY_ERROR_CODE : undefined;
184
- e.detail.reject({
185
- errorCode,
186
- giftCards: mock.giftCards.slice(),
187
- });
188
- }
189
- }, 1000);
190
- });
191
- }
192
-
193
- $(document).ready(function () {
194
- mock.giftCards = [];
195
- recomputeTotalsAndOrder();
196
-
197
- Wick.GiftCard.init({
198
- giftCardsLimit: GIFT_CARDS_LIMIT,
199
- errorCode: PAY_ERROR_CODE,
200
- giftCards: mock.giftCards.slice()
201
- });
202
- });
203
-
204
- $(document).ready(initGiftCardMock);
205
- })();