wickes-css2 2.103.0-lg-867-improve-retail-media-v3.2 → 2.103.0-rg-1802-gift-card-error-codes.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 (82) hide show
  1. package/Readme.md +1 -3
  2. package/build/css/components/checkout-payment-details-v2.css +1 -1
  3. package/build/css/pages/page_checkout_delivery-new.css +1 -1
  4. package/build/css/pages/page_product-details-v2.css +1 -1
  5. package/build/css/pdp-main-before-combine.css +1 -1
  6. package/build/css/pdp-main-non-critical.css +1 -1
  7. package/build/css/pdp-main.css +1 -1
  8. package/build/img/giftcard.svg +28 -0
  9. package/build/img/klarna.svg +10 -0
  10. package/build/img/payment/checkout/klarna.svg +10 -0
  11. package/build/img/payment/footer/klarna.svg +10 -0
  12. package/build/js/account-members.min.js +1 -1
  13. package/build/js/add-project-list-id.min.js +1 -1
  14. package/build/js/address-book.min.js +1 -1
  15. package/build/js/basket.min.js +2 -2
  16. package/build/js/bundle.min.js +1 -1
  17. package/build/js/change-password.min.js +1 -1
  18. package/build/js/checkout.min.js +2 -2
  19. package/build/js/emulation.min.js +272 -16
  20. package/build/js/general.bundle.min.js +1 -1
  21. package/build/js/gift-cards.min.js +1 -0
  22. package/build/js/merged-checkout.min.js +2 -2
  23. package/build/js/page/components/gift-cards.js +894 -0
  24. package/build/js/page/components/order-summary.js +42 -25
  25. package/build/js/page/components/toggle-password-visibility.js +22 -0
  26. package/build/js/page/utils/gift-cards-utils.js +176 -0
  27. package/build/js/page/utils/input-handling.js +92 -0
  28. package/build/js/page/utils/show-hide-input.js +28 -0
  29. package/build/js/page/utils/validation.js +46 -1
  30. package/build/js/pdp.bundle.min.js +1 -1
  31. package/build/js/personal-details.min.js +1 -1
  32. package/build/js/plp.bundle.min.js +1 -1
  33. package/build/js/project-list.min.js +44 -1
  34. package/build/js/quiz.min.js +1 -1
  35. package/build/js/toggle-password-visibility.min.js +1 -0
  36. package/build/js/track-my-order.min.js +1 -1
  37. package/package.json +2 -2
  38. package/src/components/checkout-payment-details-v2.hbs +10 -11
  39. package/src/components/checkout_payment-new.hbs +1 -4
  40. package/src/components/checkout_payment-other-methods.hbs +1 -4
  41. package/src/components/gift-cards-hint.hbs +9 -0
  42. package/src/components/gift-cards.hbs +90 -0
  43. package/src/components/giftcard-chip.hbs +23 -0
  44. package/src/components/giftcard-summary.hbs +6 -0
  45. package/src/components/payments-checkout-v2.hbs +2 -7
  46. package/src/components/payments-checkout.hbs +1 -6
  47. package/src/components/payments.hbs +1 -5
  48. package/src/components/table_order-details-klarna.hbs +1 -1
  49. package/src/components/table_payment.hbs +1 -4
  50. package/src/data/data_wismo.json +1 -1
  51. package/src/elements/form-row.hbs +1 -1
  52. package/src/elements/input.hbs +31 -2
  53. package/src/img/giftcard.svg +28 -0
  54. package/src/img/klarna.svg +10 -0
  55. package/src/img/payment/checkout/klarna.svg +10 -0
  56. package/src/img/payment/footer/klarna.svg +10 -0
  57. package/src/js/components/general/notification.js +2 -1
  58. package/src/js/emulation/checkout-data.js +35 -0
  59. package/src/js/emulation/checkout-payment-details.js +23 -14
  60. package/src/js/emulation/forms.js +7 -2
  61. package/src/js/emulation/gift-cards.js +205 -0
  62. package/src/js/page/components/gift-cards.js +894 -0
  63. package/src/js/page/components/order-summary.js +42 -25
  64. package/src/js/page/components/toggle-password-visibility.js +22 -0
  65. package/src/js/page/utils/gift-cards-utils.js +176 -0
  66. package/src/js/page/utils/input-handling.js +92 -0
  67. package/src/js/page/utils/show-hide-input.js +28 -0
  68. package/src/js/page/utils/validation.js +46 -1
  69. package/src/layouts/checkout.hbs +1 -5
  70. package/src/page_checkout_payment-details_guest-with-checkout-journey.html +1 -1
  71. package/src/page_my-account_change-password.html +1 -0
  72. package/src/page_my-order.html +1 -1
  73. package/src/page_payment-details-with-clearpay.html +2 -2
  74. package/src/page_payment-details-with-gift-card.html +8 -5
  75. package/src/page_shopping-cart-v2.html +2 -2
  76. package/src/scss/components/_gift-cards.scss +360 -0
  77. package/src/scss/components/checkout-payment-details-v2.scss +2 -0
  78. package/src/scss/pages/page_checkout_delivery-new.scss +26 -0
  79. package/src/scss/pages/page_product-details-v2.scss +4 -0
  80. package/src/sitemap.html +0 -6
  81. package/src/js/components/toggle-password-visibility.js +0 -58
  82. package/src/page_split-orders-klarna.html +0 -106
@@ -0,0 +1,360 @@
1
+ .giftcard-row {
2
+ position: relative;
3
+ display: flex;
4
+ gap: 16px;
5
+ }
6
+
7
+ .giftcard {
8
+ border: 1px solid $gray;
9
+ border-radius: 4px;
10
+ background: $white;
11
+ padding: 12px 16px;
12
+ width: 100%;
13
+ order: 3;
14
+ position: relative;
15
+
16
+ .giftcard__field {
17
+ .form-row {
18
+ margin-bottom: 0;
19
+ }
20
+ }
21
+ }
22
+
23
+ .giftcard-add {
24
+ display: inline-flex;
25
+ align-items: center;
26
+ gap: 8px;
27
+ color: $blue;
28
+ text-decoration: none;
29
+ cursor: pointer;
30
+
31
+ &__icon {
32
+ width: 16px;
33
+ height: 16px;
34
+ }
35
+
36
+ &__text {
37
+ font-size: .875rem;
38
+ line-height: 1.375rem;
39
+ font-weight: 500;
40
+ }
41
+ }
42
+
43
+ .giftcard-hint {
44
+ display: block;
45
+ color: $squant;
46
+ font-size: .875rem;
47
+ line-height: 1.375rem;
48
+ font-weight: 400;
49
+ margin-left: 32px;
50
+ }
51
+
52
+ .giftcard-inline {
53
+ padding: 12px 8px;
54
+
55
+ &__header {
56
+ display: flex;
57
+ justify-content: space-between;
58
+ margin-bottom: 16px;
59
+ }
60
+
61
+ &__title {
62
+ font-weight: 500;
63
+ font-size: 1.125rem;
64
+ line-height: 1.5rem;
65
+ white-space: nowrap;
66
+ }
67
+
68
+ &__balance {
69
+ color: $blue;
70
+ font-weight: 400;
71
+ font-size: .875rem;
72
+ line-height: 1.375rem;
73
+ text-decoration: underline;
74
+ white-space: nowrap;
75
+ }
76
+
77
+ &__close {
78
+ position: absolute;
79
+ width: 24px;
80
+ height: 24px;
81
+ top: 8px;
82
+ right: 8px;
83
+ cursor: pointer;
84
+ display: flex;
85
+ justify-content: center;
86
+ align-items: center;
87
+ color: $warm-grey;
88
+ }
89
+
90
+ &__fields {
91
+ display: flex;
92
+ flex-direction: column;
93
+ gap: 24px;
94
+ }
95
+
96
+ .notification {
97
+ margin-bottom: 16px;
98
+ }
99
+ }
100
+
101
+ .form-row__label {
102
+ margin-bottom: 8px;
103
+ }
104
+
105
+ .giftcard__btn {
106
+ width: 100%;
107
+ }
108
+
109
+ .giftcard__field {
110
+ position: relative;
111
+ display: flex;
112
+ flex-direction: column;
113
+ padding-bottom: 18px;
114
+ min-width: 0;
115
+ }
116
+
117
+ .giftcard-inline .giftcard-inline__fields > .form-row.giftcard__field {
118
+ margin-bottom: 0;
119
+ }
120
+
121
+ .giftcard-field--error .giftcard__input {
122
+ border-color: $red;
123
+ }
124
+
125
+ .giftcard__error-text {
126
+ font-weight: 400;
127
+ font-size: .75rem;
128
+ line-height: 1rem;
129
+ color: $red;
130
+ margin-top: 8px;
131
+ }
132
+
133
+ .giftcard .toggle-show svg {
134
+ pointer-events: none;
135
+ }
136
+
137
+ .form-row .toggle-show {
138
+ font-size: 1rem;
139
+ cursor: pointer;
140
+ position: absolute;
141
+ right: 8px;
142
+ top: 0;
143
+ height: 100%;
144
+ display: inline-flex;
145
+ align-items: center;
146
+ justify-content: center;
147
+ width: 24px;
148
+ }
149
+
150
+ .giftcard-applied {
151
+ width: 100%;
152
+ border: 1px solid $gray-light;
153
+ border-radius: 4px;
154
+ background: $white;
155
+ padding: 15px 16px;
156
+ order: 2;
157
+
158
+ &__inner {
159
+ display: flex;
160
+ align-items: center;
161
+ justify-content: center;
162
+ gap: 12px;
163
+ }
164
+
165
+ &__icon {
166
+ display: inline-flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ }
170
+
171
+ .fa-check-circle {
172
+ text-align: center;
173
+ color: $green;
174
+ font-size: 1rem;
175
+ }
176
+
177
+ &__text {
178
+ margin: 0;
179
+ font-size: .875rem;
180
+ line-height: 1.5rem;
181
+ font-weight: 500;
182
+ word-break: break-word;
183
+ }
184
+ }
185
+
186
+ .giftcard-summary {
187
+ position: relative;
188
+ width: 100%;
189
+
190
+ &__hint {
191
+ margin-top: 16px;
192
+ margin-bottom: 0;
193
+ font-size: .875rem;
194
+ font-weight: 400;
195
+ line-height: 1.375rem;
196
+ }
197
+
198
+ &__add {
199
+ text-decoration: underline;
200
+ cursor: pointer;
201
+ color: $blue;
202
+ }
203
+ }
204
+
205
+ .giftcard-chip-list {
206
+ display: flex;
207
+ flex-direction: column;
208
+ gap: 16px;
209
+ }
210
+
211
+ .giftcard-chip {
212
+ display: flex;
213
+ align-items: center;
214
+ width: 100%;
215
+ gap: 12px;
216
+ padding: 12px 16px;
217
+ border: 1px solid $gray;
218
+ border-radius: 4px;
219
+ background: $white;
220
+ min-height: 44px;
221
+ position: relative;
222
+
223
+ &__close {
224
+ position: absolute;
225
+ width: 24px;
226
+ height: 24px;
227
+ top: 8px;
228
+ right: 8px;
229
+ cursor: pointer;
230
+ display: flex;
231
+ justify-content: center;
232
+ align-items: center;
233
+ color: $warm-grey;
234
+ }
235
+ }
236
+
237
+ .giftcard-chip__icon {
238
+ width: 48px;
239
+ height: 30px;
240
+ display: inline-flex;
241
+ align-items: center;
242
+ justify-content: center;
243
+ }
244
+
245
+ .giftcard-chip__content {
246
+ flex: 1 1 auto;
247
+ min-width: 0;
248
+ }
249
+
250
+ .giftcard-chip__line {
251
+ display: block;
252
+ line-height: 1.25rem;
253
+
254
+ .giftcard-chip__applied {
255
+ font-size: .875rem;
256
+ font-weight: 400;
257
+ line-height: 1.5rem;
258
+ color: $gray-dark;
259
+ }
260
+ }
261
+
262
+ .giftcard-chip__number {
263
+ font-weight: 500;
264
+ line-height: 1.5rem;
265
+ font-size: 1rem;
266
+ color: $gray-dark;
267
+ }
268
+
269
+ .giftcard-chip__applied {
270
+ white-space: nowrap;
271
+ }
272
+
273
+ @include media-breakpoint-up(sm) {
274
+ .giftcard-inline__fields {
275
+ display: flex;
276
+ flex-direction: row;
277
+ justify-content: space-between;
278
+ gap: 16px;
279
+ }
280
+
281
+ .giftcard-inline__fields > .form-row.giftcard__field--pin.giftcard__field--pin {
282
+ width: 116px;
283
+ }
284
+
285
+ .giftcard-inline__fields > .form-row.giftcard__field--number.giftcard__field--number {
286
+ width: 224px;
287
+ }
288
+
289
+ .giftcard__actions {
290
+ display: flex;
291
+ align-items: flex-end;
292
+ height: 72px;
293
+ }
294
+
295
+ .giftcard-summary {
296
+ &__hint {
297
+ width: 354px;
298
+
299
+ &--max {
300
+ width: 100%;
301
+ }
302
+ }
303
+ }
304
+ }
305
+
306
+ @include media-breakpoint-up(md) {
307
+ .giftcard-inline__fields > .form-row.giftcard__field--pin.giftcard__field--pin {
308
+ width: 214px;
309
+ }
310
+
311
+ .giftcard-inline__fields > .form-row.giftcard__field--number.giftcard__field--number {
312
+ width: 240px;
313
+ }
314
+
315
+
316
+ .giftcard-inline__title {
317
+ font-weight: 700;
318
+ }
319
+
320
+ .giftcard-summary {
321
+ &__hint {
322
+ width: 100%;
323
+
324
+ &--max {
325
+ width: 460px;
326
+ }
327
+ }
328
+ }
329
+ }
330
+
331
+ @include media-breakpoint-up(lg) {
332
+ .giftcard-inline__fields {
333
+ max-width: 470px;
334
+ }
335
+
336
+ .giftcard-summary {
337
+ &__hint {
338
+ width: 100%;
339
+
340
+ &--max {
341
+ width: 100%;
342
+ }
343
+ }
344
+ }
345
+ }
346
+
347
+ @include media-breakpoint-up(xl) {
348
+ .giftcard-inline__fields {
349
+ max-width: 100%;
350
+ }
351
+
352
+ .giftcard__btn {
353
+ width: 140px;
354
+ }
355
+
356
+ .giftcard__field--number,
357
+ .giftcard__field--pin {
358
+ width: 100%;
359
+ }
360
+ }
@@ -1,5 +1,6 @@
1
1
  @import '../helpers/helpers';
2
2
  @import '../components/tooltip';
3
+ @import '../components/gift-cards';
3
4
 
4
5
  .checkout-payment-details-v2 {
5
6
  .checkout-payment-details {
@@ -73,6 +74,7 @@
73
74
  font-size: 14px;
74
75
  font-weight: 400;
75
76
  line-height: 24px;
77
+ vertical-align: top;
76
78
  }
77
79
 
78
80
  .form-row {
@@ -27,6 +27,8 @@
27
27
  .checkout-widget {
28
28
  &__details {
29
29
  font-size: 1rem;
30
+ display: flex;
31
+ flex-direction: column;
30
32
 
31
33
  .checkout-widget {
32
34
  &__item {
@@ -53,6 +55,19 @@
53
55
  &__details-discount {
54
56
  order: 1;
55
57
  }
58
+
59
+ &__gift-card {
60
+ order: 2;
61
+ margin-bottom: 0;
62
+ margin-top: 20px;
63
+ font-weight: 700;
64
+
65
+ .checkout-widget__item-value {
66
+ ::first-letter {
67
+ font-size: 1rem;
68
+ }
69
+ }
70
+ }
56
71
  }
57
72
  }
58
73
 
@@ -194,6 +209,10 @@
194
209
  margin: 40px 0;
195
210
  }
196
211
 
212
+ .loader-wrapper.page-loader {
213
+ position: fixed;
214
+ }
215
+
197
216
  .oos-block {
198
217
  @include make-col(12);
199
218
 
@@ -399,6 +418,13 @@
399
418
  margin-bottom: 13px;
400
419
  }
401
420
  }
421
+
422
+ .notification {
423
+ &:only-child,
424
+ &:last-child {
425
+ margin-bottom: 30px;
426
+ }
427
+ }
402
428
  }
403
429
 
404
430
  #modalDeliveryEdit,
@@ -143,6 +143,10 @@
143
143
  list-style: inherit;
144
144
  }
145
145
 
146
+ .share-buttons__list {
147
+ list-style: none;
148
+ }
149
+
146
150
  @include media-breakpoint-only(md) {
147
151
  padding-top: 35px;
148
152
  }
package/src/sitemap.html CHANGED
@@ -805,12 +805,6 @@
805
805
  Klarna TradePro Payment Details
806
806
  </a>
807
807
  </li>
808
- <li>
809
- <span class="page-id">6</span>
810
- <a href="page_split-orders-klarna.html" target="_blank">
811
- Klarna Split Orders
812
- </a>
813
- </li>
814
808
  <li>
815
809
  <span class="page-id">7</span>
816
810
  <a href="page_checkout_confirmation-new-klarna.html" target="_blank">
@@ -1,58 +0,0 @@
1
- var Wick = window.Wick || {};
2
-
3
- Wick.TogglePasswordVisibility = {
4
- el: {
5
- $toggleShow: $('[data-show-content] .toggle-show'),
6
- inputWrap: $('.form-row[data-show-content] .input-wrap'),
7
- toggleIcon: '.toggle-show',
8
- },
9
-
10
- updateIconVisibility(inputField, toggleIcon) {
11
- const valueLength = inputField.val().length;
12
- if (valueLength > 0) {
13
- toggleIcon.show();
14
- } else {
15
- toggleIcon.hide();
16
- }
17
- },
18
-
19
- attachInputListener(inputField, toggleIcon) {
20
- inputField.on('input', function () {
21
- Wick.TogglePasswordVisibility.updateIconVisibility($(this), toggleIcon);
22
- });
23
- },
24
-
25
- attachToggleClickListener(inputField, toggleIcon) {
26
- toggleIcon.on('click', function () {
27
- const isPasswordType = inputField.attr('type') === 'password';
28
- const iconSvg = $(this).find('svg');
29
-
30
- if (isPasswordType) {
31
- inputField.attr('type', 'text');
32
- iconSvg.removeClass('fa-eye-slash').addClass('fa-eye');
33
- } else {
34
- inputField.attr('type', 'password');
35
- iconSvg.removeClass('fa-eye').addClass('fa-eye-slash');
36
- }
37
- });
38
- },
39
-
40
- init() {
41
- Wick.TogglePasswordVisibility.el.inputWrap.each(function () {
42
- const inputField = $(this).find('input');
43
- const toggleIcon = $(this).find(Wick.TogglePasswordVisibility.el.toggleIcon);
44
-
45
- Wick.TogglePasswordVisibility.attachInputListener(inputField, toggleIcon);
46
- Wick.TogglePasswordVisibility.updateIconVisibility(inputField, toggleIcon);
47
- Wick.TogglePasswordVisibility.attachToggleClickListener(inputField, toggleIcon);
48
- });
49
- },
50
- };
51
-
52
- $(document).ready(function () {
53
- if (!Wick.TogglePasswordVisibility.el.$toggleShow.length) {
54
- return;
55
- }
56
-
57
- Wick.TogglePasswordVisibility.init();
58
- });
@@ -1,106 +0,0 @@
1
- {{#extend "checkout" pageClass="page_checkout page_checkout-confirmation page_split-orders" title="Split Orders"
2
- logout=true}}
3
- {{#content "steps"}}
4
- <div class="page-header">
5
- <h1 class="page-header__title">Thank You, Your Order Has Been Placed</h1>
6
- <p class="page-header__order-number">Order number: <span class="page-header__order-number_strong">143402004</span>
7
- </p>
8
- <p class="page-header__intro">We have emailed your order confirmation to <a href="#">michael.michael@gmail.com</a>
9
- with details of when your order will be delivered.
10
- This email will also contain our contact details should you wish to get in touch with us.</p>
11
- </div>
12
- {{/content}}
13
- {{#content "main"}}
14
-
15
- <div>
16
- <h3>Products delivered by Wickes</h3>
17
- <p>The product listed below will be delivered to you by Wickes. This order
18
- may be split into several parts, if so you will be notified by email. The
19
- date, time slot and address for this delivery are listed below: </p>
20
- </div>
21
-
22
- <div class="product-delivery-table">
23
- <div class="product-delivery-table__delivery-info">
24
- <div class="row">
25
- <div class="product-delivery-table__date">
26
- <h4>Delivery date</h4>
27
- <div class="product-delivery-table__date-inner">
28
- <div class="checkout-address-time__time-regular">MAR</div>
29
- <div class="checkout-address-time__time-primary">15</div>
30
- <div class="checkout-address-time__time-additional">8:00am - 6:00pm</div>
31
- </div>
32
- </div>
33
- <div class="product-delivery-table__time">
34
- <h4>Delivery time</h4>
35
- <div class="product-delivery-table__content">
36
- Beetween<br />8:00AM - 6:00PM
37
- </div>
38
- </div>
39
- <div class="product-delivery-table__address">
40
- <h4>Delivery address</h4>
41
- <div class="product-delivery-table__content">
42
- 459 Acasia way<br/>
43
- Wimbledon<br/>
44
- London<br/>
45
- S7 7ET
46
- </div>
47
- </div>
48
- </div>
49
- </div>
50
-
51
- <div class="shopping-card-container">
52
- {{#each page_shopping-cart.linesCollection}}
53
- {{>order-line mod="order-line_shrink"}}
54
- {{/each}}
55
- </div>
56
- </div>
57
-
58
- {{>checkout-supply-info checkout-components.supply-info.[2]}}
59
- <div class="checkout-confirmation-shopping-cards">
60
- {{#each page_shopping-cart.linesCollection}}
61
- <div class="checkout-confirmation-shopping-card">
62
- <h4>Collection from Oldham store <span class="checkout__text-highlighted">1 Item</span></h4>
63
- <span class="checkout__text-highlighted">Your order will be ready for collection within 1 store hour.</span>
64
- <div class="shopping-card-container shopping-card-container_bordered">
65
- <div class="delivery-details-option__delivery-info">
66
- <div class="delivery-details-option__delivery-info-left">
67
- {{>checkout-address-time time=true within=true}}
68
- </div>
69
- <div class="delivery-details-option__delivery-info-right">
70
- {{>schedule}}
71
- </div>
72
- </div>
73
- {{>order-line mod="order-line_shrink"}}
74
- </div>
75
- </div>
76
- {{/each}}
77
- </div>
78
-
79
- <div>
80
- <h3>Products delivered by suppliers</h3>
81
- <p>The following products will be delivered by our suppliers. They will be contacting you to arrange a delivery
82
- date.</p>
83
- </div>
84
-
85
- <div class="product-supplier-delivery-wrap">
86
- <div class="product-delivery-table product-supplier-delivery">
87
- <h4 class="shopping-card-heading">Products delivered by our supplier expected within <span>14</span> days <span class="checkout__text-highlighted">2 Items</span></h4>
88
- <div class="shopping-card-container">
89
- {{#each page_shopping-cart.linesCollection}}
90
- {{>order-line mod="order-line_shrink"}}
91
- {{/each}}
92
- </div>
93
- </div>
94
- </div>
95
-
96
-
97
- <a href="./" class="btn btn-secondary checkout-continue-shopping">Return to shopping</a>
98
- {{/content}}
99
- {{#content "aside"}}
100
- {{> checkout_order-summary label="Total: "}}
101
- {{> checkout_payment-other-methods klarna="true"}}
102
- {{> checkout_information }}
103
-
104
- <a href="./" class="btn btn-secondary checkout-continue-shopping_mobile">Return to shopping</a>
105
- {{/content}}
106
- {{/extend}}