wickes-css2 2.106.0-remove-unpkg.1 → 2.106.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 (95) hide show
  1. package/Readme.md +1 -2
  2. package/build/css/components/checkout-payment-details-v2.css +1 -1
  3. package/build/css/main.css +1 -1
  4. package/build/css/pages/page_checkout_delivery-new.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/css/plp-main.css +1 -1
  9. package/build/img/billie-pay-later.svg +13 -0
  10. package/build/img/giftcard.svg +28 -0
  11. package/build/js/account-members.min.js +1 -1
  12. package/build/js/add-project-list-id.min.js +1 -1
  13. package/build/js/address-book.min.js +1 -1
  14. package/build/js/basket.min.js +2 -2
  15. package/build/js/bundle.min.js +1 -1
  16. package/build/js/change-password.min.js +1 -1
  17. package/build/js/checkout.min.js +2 -2
  18. package/build/js/emulation.min.js +2120 -1843
  19. package/build/js/general.bundle.min.js +1 -1
  20. package/build/js/gift-cards.min.js +1 -0
  21. package/build/js/kitchen/kitchen-plp.min.js +1 -1
  22. package/build/js/merged-checkout.min.js +2 -2
  23. package/build/js/mini-basket-slider.min.js +1 -1
  24. package/build/js/page/basket/basket-update-cart-action.js +4 -1
  25. package/build/js/page/basket/klarna.js +13 -3
  26. package/build/js/page/basket-v2.js +6 -2
  27. package/build/js/page/components/gift-cards.js +927 -0
  28. package/build/js/page/components/order-summary.js +57 -28
  29. package/build/js/page/components/toggle-password-visibility.js +22 -0
  30. package/build/js/page/components/voucher.js +52 -47
  31. package/build/js/page/kitchen/card-carousel.js +3 -2
  32. package/build/js/page/kitchen/colour-swatches.js +8 -3
  33. package/build/js/page/share-project-list.js +151 -33
  34. package/build/js/page/utils/gift-cards-utils.js +242 -0
  35. package/build/js/page/utils/input-handling.js +104 -0
  36. package/build/js/page/utils/show-hide-input.js +31 -0
  37. package/build/js/page/utils/validation.js +146 -96
  38. package/build/js/pdp.bundle.min.js +1 -1
  39. package/build/js/personal-details.min.js +1 -1
  40. package/build/js/plp.bundle.min.js +1 -1
  41. package/build/js/project-list.min.js +57 -14
  42. package/build/js/quiz.min.js +1 -1
  43. package/build/js/share-project-list.min.js +1 -1
  44. package/build/js/track-my-order.min.js +1 -1
  45. package/package.json +3 -7
  46. package/src/components/card_product_v2.hbs +6 -1
  47. package/src/components/checkout-payment-details-v2.hbs +4 -3
  48. package/src/components/gift-cards-hint.hbs +9 -0
  49. package/src/components/gift-cards.hbs +90 -0
  50. package/src/components/giftcard-chip.hbs +23 -0
  51. package/src/components/giftcard-summary.hbs +6 -0
  52. package/src/components/kitchen/slide.hbs +8 -6
  53. package/src/components/price-block-v2.hbs +16 -15
  54. package/src/data/data_search-results_v2.json +2 -1
  55. package/src/elements/form-row.hbs +1 -1
  56. package/src/elements/input.hbs +31 -2
  57. package/src/img/billie-pay-later.svg +13 -0
  58. package/src/img/giftcard.svg +28 -0
  59. package/src/js/components/general/notification.js +60 -40
  60. package/src/js/components/general/switchVat.js +151 -154
  61. package/src/js/emulation/basket-data.js +2126 -2038
  62. package/src/js/emulation/checkLocalEnv.js +6 -5
  63. package/src/js/emulation/checkout-data.js +33 -0
  64. package/src/js/emulation/checkout-payment-details.js +23 -21
  65. package/src/js/emulation/forms.js +9 -2
  66. package/src/js/emulation/gift-cards.js +216 -0
  67. package/src/js/emulation/mock.js +10 -0
  68. package/src/js/emulation/plp-load-more.js +19 -13
  69. package/src/js/page/basket/basket-update-cart-action.js +4 -1
  70. package/src/js/page/basket/klarna.js +13 -3
  71. package/src/js/page/basket-v2.js +6 -2
  72. package/src/js/page/components/gift-cards.js +927 -0
  73. package/src/js/page/components/order-summary.js +57 -28
  74. package/src/js/page/components/toggle-password-visibility.js +22 -0
  75. package/src/js/page/components/voucher.js +52 -47
  76. package/src/js/page/kitchen/card-carousel.js +3 -2
  77. package/src/js/page/kitchen/colour-swatches.js +8 -3
  78. package/src/js/page/share-project-list.js +151 -33
  79. package/src/js/page/utils/gift-cards-utils.js +242 -0
  80. package/src/js/page/utils/input-handling.js +104 -0
  81. package/src/js/page/utils/show-hide-input.js +31 -0
  82. package/src/js/page/utils/validation.js +146 -96
  83. package/src/layouts/checkout.hbs +1 -5
  84. package/src/page_my-account_change-password.html +1 -0
  85. package/src/page_payment-details-with-gift-card.html +8 -5
  86. package/src/page_plp_v2-vat.html +31 -26
  87. package/src/page_product-details-cnc-success-notification-vat.html +3 -2
  88. package/src/partials/scripts.hbs +3 -0
  89. package/src/scss/components/_gift-cards.scss +359 -0
  90. package/src/scss/components/_search-filter.scss +3 -0
  91. package/src/scss/components/checkout-payment-details-v2.scss +6 -2
  92. package/src/scss/pages/page_checkout_delivery-new.scss +30 -6
  93. package/src/js/.DS_Store +0 -0
  94. package/src/js/components/share-project-list.js +0 -56
  95. package/src/js/components/toggle-password-visibility.js +0 -58
@@ -0,0 +1,359 @@
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: 0.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: 0.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: 0.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: 0.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: 0.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: 0.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: 0.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
+ .giftcard-inline__title {
316
+ font-weight: 700;
317
+ }
318
+
319
+ .giftcard-summary {
320
+ &__hint {
321
+ width: 100%;
322
+
323
+ &--max {
324
+ width: 460px;
325
+ }
326
+ }
327
+ }
328
+ }
329
+
330
+ @include media-breakpoint-up(lg) {
331
+ .giftcard-inline__fields {
332
+ max-width: 470px;
333
+ }
334
+
335
+ .giftcard-summary {
336
+ &__hint {
337
+ width: 100%;
338
+
339
+ &--max {
340
+ width: 100%;
341
+ }
342
+ }
343
+ }
344
+ }
345
+
346
+ @include media-breakpoint-up(xl) {
347
+ .giftcard-inline__fields {
348
+ max-width: 100%;
349
+ }
350
+
351
+ .giftcard__btn {
352
+ width: 140px;
353
+ }
354
+
355
+ .giftcard__field--number,
356
+ .giftcard__field--pin {
357
+ width: 100%;
358
+ }
359
+ }
@@ -45,6 +45,9 @@
45
45
  .accordions {
46
46
  overflow: auto;
47
47
  max-height: calc(100vh - 137px);
48
+ // prevents Top Facets from being bold
49
+ will-change: transform;
50
+ transform: translate3d(0, 0, 0);
48
51
  }
49
52
 
50
53
  &_mobile {
@@ -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 {
@@ -331,8 +333,10 @@
331
333
  }
332
334
  }
333
335
 
334
- .google {
335
- &-logo {
336
+ .google,
337
+ .billie {
338
+ &-logo,
339
+ &-badge-container {
336
340
  margin: -3px 0;
337
341
  }
338
342
  }
@@ -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 {
@@ -44,15 +46,27 @@
44
46
  }
45
47
 
46
48
  &-vat {
47
- font-size: .75rem;
49
+ font-size: 0.75rem;
48
50
  margin-top: -15px;
49
51
  }
50
52
  }
51
53
 
52
-
53
54
  &__details-discount {
54
55
  order: 1;
55
56
  }
57
+
58
+ &__gift-card {
59
+ order: 2;
60
+ margin-bottom: 0;
61
+ margin-top: 20px;
62
+ font-weight: 700;
63
+
64
+ .checkout-widget__item-value {
65
+ ::first-letter {
66
+ font-size: 1rem;
67
+ }
68
+ }
69
+ }
56
70
  }
57
71
  }
58
72
 
@@ -194,6 +208,10 @@
194
208
  margin: 40px 0;
195
209
  }
196
210
 
211
+ .loader-wrapper.page-loader {
212
+ position: fixed;
213
+ }
214
+
197
215
  .oos-block {
198
216
  @include make-col(12);
199
217
 
@@ -272,7 +290,6 @@
272
290
  line-height: 1.125rem;
273
291
  font-weight: 400;
274
292
 
275
-
276
293
  &__heading {
277
294
  color: $blue-ocean;
278
295
  font-weight: 400;
@@ -387,7 +404,7 @@
387
404
 
388
405
  .date-selection {
389
406
  &__wrapper {
390
- font-size: .875rem;
407
+ font-size: 0.875rem;
391
408
  line-height: 1.125rem;
392
409
  font-weight: 400;
393
410
  margin-bottom: 23px;
@@ -399,6 +416,13 @@
399
416
  margin-bottom: 13px;
400
417
  }
401
418
  }
419
+
420
+ .notification {
421
+ &:only-child,
422
+ &:last-child {
423
+ margin-bottom: 30px;
424
+ }
425
+ }
402
426
  }
403
427
 
404
428
  #modalDeliveryEdit,
@@ -409,7 +433,7 @@
409
433
  }
410
434
 
411
435
  .modal-box__header .close {
412
- right: .6875rem;
436
+ right: 0.6875rem;
413
437
  top: 1.625rem;
414
438
  }
415
439
 
@@ -686,7 +710,7 @@
686
710
  padding: 17px 13px;
687
711
 
688
712
  &-info {
689
- font-size: .875rem;
713
+ font-size: 0.875rem;
690
714
  margin-left: 30px;
691
715
  }
692
716
  }
package/src/js/.DS_Store DELETED
Binary file
@@ -1,56 +0,0 @@
1
- // this file should be delete after <script defer="defer" src="./js/share-project-list.min.js"></script>
2
- // implementation on backend (IC-1182 comment https://wickesit.atlassian.net/browse/IC-1182?focusedCommentId=312018)
3
-
4
- var Wick = Wick || {};
5
-
6
- Wick.ShareProjectList = (function () {
7
- function init() {
8
- var shoppingListLinkInput = $('#share-list-modal #shopping-list-link'),
9
- shoppingListLinkEl = shoppingListLinkInput[0],
10
- linkContainer = $('#copy-link'),
11
- actualLink = linkContainer.find('a'),
12
- copyClass = 'copy-link_hovered';
13
-
14
- actualLink.click(function (e) {
15
- e.preventDefault();
16
- });
17
-
18
- linkContainer.click(function () {
19
- if (navigator.userAgent.match(/TradeProMobile_iOS|DIYMobile_iOS/i)) {
20
- iosCopyToClipboard(shoppingListLinkInput);
21
- } else if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {
22
- shoppingListLinkEl.select();
23
- shoppingListLinkEl.setSelectionRange(0, 999999);
24
- } else {
25
- shoppingListLinkEl.select();
26
- }
27
-
28
- document.execCommand('copy');
29
- actualLink.addClass(copyClass);
30
- });
31
-
32
- shoppingListLinkInput.click(function () {
33
- linkContainer.click();
34
- actualLink.removeClass(copyClass);
35
- });
36
- }
37
-
38
- function iosCopyToClipboard($input) {
39
- var el = $input.get(0);
40
- var editable = el.contentEditable;
41
- var readOnly = el.readOnly;
42
-
43
- el.contentEditable = true;
44
- el.readOnly = false;
45
- var range = document.createRange();
46
- range.selectNodeContents(el);
47
- var sel = window.getSelection();
48
- sel.removeAllRanges();
49
- sel.addRange(range);
50
- el.setSelectionRange(0, 999999);
51
- el.contentEditable = editable;
52
- el.readOnly = readOnly;
53
- }
54
-
55
- init();
56
- })();
@@ -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
- });