wickes-css2 2.102.0-lg-788-improve-mini-basket.6 → 2.103.0-gift-cards.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 (114) hide show
  1. package/Readme.md +1 -3
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/components/card-product-banner.css +1 -1
  4. package/build/css/components/checkout-payment-details-v2.css +1 -1
  5. package/build/css/homepage-main.css +1 -1
  6. package/build/css/kitchen-plp-main.css +1 -1
  7. package/build/css/main.css +1 -1
  8. package/build/css/my-account-main-v2.css +1 -1
  9. package/build/css/my-account-main.css +1 -1
  10. package/build/css/pages/my-account-v2.css +1 -1
  11. package/build/css/pages/page_checkout_delivery-new.css +1 -1
  12. package/build/css/pages/page_products-list-combined.css +1 -1
  13. package/build/css/pages/page_products-list.css +1 -1
  14. package/build/css/pdp-main-before-combine.css +1 -1
  15. package/build/css/pdp-main-non-critical.css +1 -1
  16. package/build/css/pdp-main.css +1 -1
  17. package/build/css/plp-main.css +1 -1
  18. package/build/css/store-locator-main.css +1 -1
  19. package/build/img/giftcard.svg +28 -0
  20. package/build/js/account-members.min.js +1 -1
  21. package/build/js/basket.min.js +2 -2
  22. package/build/js/bundle.min.js +1 -1
  23. package/build/js/checkout.min.js +2 -2
  24. package/build/js/emulation.min.js +76 -1024
  25. package/build/js/general.bundle.min.js +1 -1
  26. package/build/js/gift-cards.min.js +1 -0
  27. package/build/js/merged-checkout.min.js +2 -2
  28. package/build/js/page/basket-v2.js +244 -138
  29. package/build/js/page/components/discounts.js +6 -6
  30. package/build/js/page/components/gift-cards.js +610 -0
  31. package/build/js/page/components/toggle-password-visibility.js +22 -0
  32. package/build/js/page/plp-cards-v2.js +6 -15
  33. package/build/js/page/plp-load-more.js +1 -1
  34. package/build/js/page/utils/gift-cards-utils.js +43 -0
  35. package/build/js/page/utils/show-hide-input.js +28 -0
  36. package/build/js/pdp.bundle.min.js +1 -1
  37. package/build/js/plp.bundle.min.js +1 -1
  38. package/build/js/project-list.min.js +1 -1
  39. package/build/js/toggle-password-visibility.min.js +1 -0
  40. package/package.json +2 -2
  41. package/src/components/card_product_v2.hbs +5 -10
  42. package/src/components/checkout-payment-details-v2.hbs +2 -1
  43. package/src/components/gift-cards-hint.hbs +9 -0
  44. package/src/components/gift-cards.hbs +89 -0
  45. package/src/components/giftcard-chip.hbs +23 -0
  46. package/src/components/injected-content.hbs +1 -1
  47. package/src/components/mini-basket/mini-basket-empty.hbs +13 -3
  48. package/src/components/mini-basket/mini-basket.hbs +13 -32
  49. package/src/components/mini-basket/product-item.hbs +16 -37
  50. package/src/data/data_confirmation-summary.json +2 -4
  51. package/src/data/data_mini-basket.json +80 -4
  52. package/src/data/data_search-results_v2.json +141 -56
  53. package/src/data/my-account/data_my-account.json +6 -0
  54. package/src/elements/form-row.hbs +1 -1
  55. package/src/elements/input.hbs +31 -2
  56. package/src/img/giftcard.svg +28 -0
  57. package/src/js/components/general/cart-slider.js +0 -3
  58. package/src/js/components/general/create-popup-slider.js +1 -4
  59. package/src/js/components/general/mini-basket-slider.js +8 -0
  60. package/src/js/components/product-banner.js +148 -0
  61. package/src/js/emulation/checkout-data.js +35 -0
  62. package/src/js/emulation/checkout-payment-details.js +23 -14
  63. package/src/js/emulation/custom-slider-emulation.js +10 -4
  64. package/src/js/emulation/forms.js +7 -2
  65. package/src/js/page/basket-v2.js +244 -138
  66. package/src/js/page/components/discounts.js +6 -6
  67. package/src/js/page/components/gift-cards.js +610 -0
  68. package/src/js/page/components/toggle-password-visibility.js +22 -0
  69. package/src/js/page/plp-cards-v2.js +6 -15
  70. package/src/js/page/plp-load-more.js +1 -1
  71. package/src/js/page/utils/gift-cards-utils.js +43 -0
  72. package/src/js/page/utils/show-hide-input.js +28 -0
  73. package/src/layouts/base.hbs +6 -0
  74. package/src/page_my-account_change-password.html +1 -0
  75. package/src/page_payment-details-with-gift-card.html +2 -1
  76. package/src/page_plp_v2.html +6 -16
  77. package/src/page_search-results.html +2 -12
  78. package/src/page_tradePro_rewards_home_installer_message.html +56 -0
  79. package/src/page_tradePro_rewards_instore_installer_message.html +77 -0
  80. package/src/partials/scripts.hbs +0 -1
  81. package/src/scss/components/_custom-slider.scss +3 -125
  82. package/src/scss/components/_gift-cards.scss +357 -0
  83. package/src/scss/components/_popover-mini-basket.scss +4 -0
  84. package/src/scss/components/card-product-banner.scss +3 -91
  85. package/src/scss/components/checkout-payment-details-v2.scss +2 -0
  86. package/src/scss/pages/my-account-v2.scss +29 -0
  87. package/src/scss/pages/page_checkout_delivery-new.scss +19 -0
  88. package/src/scss/pages/page_products-list-combined.scss +0 -11
  89. package/src/scss/pages/page_products-list.scss +0 -8
  90. package/src/sitemap.html +8 -0
  91. package/build/js/mini-basket-slider.min.js +0 -1
  92. package/build/js/page/basket/basket-update-cart-action.js +0 -60
  93. package/build/js/page/basket/basket-update-cart.js +0 -29
  94. package/build/js/page/basket/basket-utils.js +0 -50
  95. package/build/js/page/basket/mini-basket-total.js +0 -97
  96. package/build/js/page/basket/quantity-change-handler.js +0 -56
  97. package/build/js/page/basket/update-quantity-operation.js +0 -37
  98. package/build/js/page/basket/update-quantity.js +0 -65
  99. package/build/js/page/components/mini-basket-slider.js +0 -535
  100. package/src/components/card_sponsor_banner.hbs +0 -8
  101. package/src/components/card_sponsor_product.hbs +0 -6
  102. package/src/components/mini-basket/mini-basket-order-item.hbs +0 -73
  103. package/src/js/components/banner-placement-manager.js +0 -258
  104. package/src/js/components/toggle-password-visibility.js +0 -58
  105. package/src/js/emulation/banner-placement-manager.js +0 -53
  106. package/src/js/emulation/mini-basket-data.js +0 -949
  107. package/src/js/page/basket/basket-update-cart-action.js +0 -60
  108. package/src/js/page/basket/basket-update-cart.js +0 -29
  109. package/src/js/page/basket/basket-utils.js +0 -50
  110. package/src/js/page/basket/mini-basket-total.js +0 -97
  111. package/src/js/page/basket/quantity-change-handler.js +0 -56
  112. package/src/js/page/basket/update-quantity-operation.js +0 -37
  113. package/src/js/page/basket/update-quantity.js +0 -65
  114. package/src/js/page/components/mini-basket-slider.js +0 -535
@@ -0,0 +1,357 @@
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: 24px;
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
+
97
+ .form-row__label {
98
+ margin-bottom: 8px;
99
+ }
100
+
101
+ .giftcard__btn {
102
+ width: 100%;
103
+ }
104
+
105
+ .giftcard__field {
106
+ position: relative;
107
+ display: flex;
108
+ flex-direction: column;
109
+ padding-bottom: 18px;
110
+ min-width: 0;
111
+ }
112
+
113
+ .giftcard-inline .giftcard-inline__fields > .form-row.giftcard__field {
114
+ margin-bottom: 0;
115
+ }
116
+
117
+ .giftcard-field--error .giftcard__input {
118
+ border-color: $red;
119
+ }
120
+
121
+ .giftcard__error-text {
122
+ font-weight: 400;
123
+ font-size: .75rem;
124
+ line-height: 1rem;
125
+ color: $red;
126
+ margin-top: 8px;
127
+ }
128
+
129
+ .giftcard .toggle-show svg {
130
+ pointer-events: none;
131
+ }
132
+
133
+ .form-row .toggle-show {
134
+ font-size: 1rem;
135
+ cursor: pointer;
136
+ position: absolute;
137
+ right: 8px;
138
+ top: 0;
139
+ height: 100%;
140
+ display: inline-flex;
141
+ align-items: center;
142
+ justify-content: center;
143
+ width: 24px;
144
+ }
145
+
146
+ .giftcard-applied {
147
+ width: 100%;
148
+ border: 1px solid $gray-light;
149
+ border-radius: 4px;
150
+ background: $white;
151
+ padding: 15px 16px;
152
+ order: 2;
153
+
154
+ &__inner {
155
+ display: flex;
156
+ align-items: center;
157
+ justify-content: center;
158
+ gap: 12px;
159
+ }
160
+
161
+ &__icon {
162
+ display: inline-flex;
163
+ align-items: center;
164
+ justify-content: center;
165
+ }
166
+
167
+ .fa-check-circle {
168
+ text-align: center;
169
+ width: 100%;
170
+ color: $green;
171
+ font-size: 1rem;
172
+ }
173
+
174
+ &__text {
175
+ margin: 0;
176
+ font-size: .875rem;
177
+ line-height: 1.5rem;
178
+ font-weight: 500;
179
+ word-break: break-word;
180
+ }
181
+ }
182
+
183
+ .giftcard-summary {
184
+ position: relative;
185
+ width: 100%;
186
+
187
+ &__hint {
188
+ margin-top: 16px;
189
+ margin-bottom: 0;
190
+ font-size: .875rem;
191
+ font-weight: 400;
192
+ line-height: 1.375rem;
193
+ }
194
+
195
+ &__add {
196
+ text-decoration: underline;
197
+ cursor: pointer;
198
+ color: $blue;
199
+ }
200
+ }
201
+
202
+ .giftcard-chip-list {
203
+ display: flex;
204
+ flex-direction: column;
205
+ gap: 16px;
206
+ }
207
+
208
+ .giftcard-chip {
209
+ display: flex;
210
+ align-items: center;
211
+ width: 100%;
212
+ gap: 12px;
213
+ padding: 12px 16px;
214
+ border: 1px solid $gray;
215
+ border-radius: 4px;
216
+ background: $white;
217
+ min-height: 44px;
218
+ position: relative;
219
+
220
+ &__close {
221
+ position: absolute;
222
+ width: 24px;
223
+ height: 24px;
224
+ top: 8px;
225
+ right: 8px;
226
+ cursor: pointer;
227
+ display: flex;
228
+ justify-content: center;
229
+ align-items: center;
230
+ color: $warm-grey;
231
+ }
232
+ }
233
+
234
+ .giftcard-chip__icon {
235
+ width: 48px;
236
+ height: 30px;
237
+ display: inline-flex;
238
+ align-items: center;
239
+ justify-content: center;
240
+ }
241
+
242
+ .giftcard-chip__content {
243
+ flex: 1 1 auto;
244
+ min-width: 0;
245
+ }
246
+
247
+ .giftcard-chip__line {
248
+ display: block;
249
+ line-height: 1.25rem;
250
+
251
+ .giftcard-chip__applied {
252
+ font-size: .875rem;
253
+ font-weight: 400;
254
+ line-height: 1.5rem;
255
+ color: $gray-dark;
256
+ }
257
+ }
258
+
259
+ .giftcard-chip__number {
260
+ font-weight: 500;
261
+ line-height: 1.5rem;
262
+ font-size: 1rem;
263
+ color: $gray-dark;
264
+ }
265
+
266
+ .giftcard-chip__applied {
267
+ white-space: nowrap;
268
+ }
269
+
270
+ @include media-breakpoint-up(sm) {
271
+ .giftcard-inline__fields {
272
+ display: flex;
273
+ flex-direction: row;
274
+ justify-content: space-between;
275
+ gap: 16px;
276
+ }
277
+
278
+ .giftcard-inline__fields > .form-row.giftcard__field--pin.giftcard__field--pin {
279
+ width: 116px;
280
+ }
281
+
282
+ .giftcard-inline__fields > .form-row.giftcard__field--number.giftcard__field--number {
283
+ width: 224px;
284
+ }
285
+
286
+ .giftcard__actions {
287
+ display: flex;
288
+ align-items: flex-end;
289
+ height: 72px;
290
+ }
291
+
292
+ .giftcard-summary {
293
+ &__hint {
294
+ width: 354px;
295
+
296
+ &--max {
297
+ width: 100%;
298
+ }
299
+ }
300
+ }
301
+ }
302
+
303
+ @include media-breakpoint-up(md) {
304
+ .giftcard-inline__fields > .form-row.giftcard__field--pin.giftcard__field--pin {
305
+ width: 214px;
306
+ }
307
+
308
+ .giftcard-inline__fields > .form-row.giftcard__field--number.giftcard__field--number {
309
+ width: 240px;
310
+ }
311
+
312
+
313
+ .giftcard-inline__title {
314
+ font-weight: 700;
315
+ }
316
+
317
+ .giftcard-summary {
318
+ &__hint {
319
+ width: 100%;
320
+
321
+ &--max {
322
+ width: 460px;
323
+ }
324
+ }
325
+ }
326
+ }
327
+
328
+ @include media-breakpoint-up(lg) {
329
+ .giftcard-inline__fields {
330
+ max-width: 470px;
331
+ }
332
+
333
+ .giftcard-summary {
334
+ &__hint {
335
+ width: 100%;
336
+
337
+ &--max {
338
+ width: 100%;
339
+ }
340
+ }
341
+ }
342
+ }
343
+
344
+ @include media-breakpoint-up(xl) {
345
+ .giftcard-inline__fields {
346
+ max-width: 100%;
347
+ }
348
+
349
+ .giftcard__btn {
350
+ width: 140px;
351
+ }
352
+
353
+ .giftcard__field--number,
354
+ .giftcard__field--pin {
355
+ width: 100%;
356
+ }
357
+ }
@@ -173,6 +173,10 @@
173
173
  .card__img {
174
174
  border: 0;
175
175
  }
176
+
177
+ .product-card__content {
178
+ height: auto;
179
+ }
176
180
  }
177
181
  }
178
182
  }
@@ -4,7 +4,7 @@
4
4
  @include make-col(4);
5
5
  margin-bottom: 30px;
6
6
 
7
- @include media-breakpoint-down(md) {
7
+ @include media-breakpoint-down(md) {
8
8
  @include make-col(6);
9
9
  }
10
10
 
@@ -39,7 +39,7 @@
39
39
  padding: 0 15px;
40
40
 
41
41
  @include media-breakpoint-down(sm) {
42
- display: inline-block;
42
+ display: inline-block;
43
43
  padding: 0;
44
44
  width: 100%;
45
45
  }
@@ -49,92 +49,4 @@
49
49
  display: inline-block;
50
50
  width: 100%;
51
51
  }
52
- }
53
-
54
- .products-list {
55
- .card-sponsor-product,
56
- .card-sponsor-banner {
57
- @include make-col(4);
58
- margin-bottom: 0;
59
- }
60
-
61
- .card-sponsor-banner {
62
- &__link {
63
- display: inline-block;
64
- width: 100%;
65
- height: 100%;
66
- padding: 0 15px;
67
- }
68
-
69
- &__image {
70
- display: inline-block;
71
- width: 100%;
72
- }
73
- }
74
-
75
- .card-sponsor-product {
76
- .product-card {
77
- max-width: 100%;
78
- }
79
- }
80
-
81
- .product-card__sponsored {
82
- @include font-size(12);
83
- @include line-height(16);
84
- color: $squant;
85
- font-weight: 400;
86
- margin-top: -3px;
87
- margin-bottom: 15px;
88
- padding: 2px 4px;
89
-
90
- &:not(.product-card__sponsored--empty) {
91
- width: max-content;
92
- background: $gray-light;
93
- }
94
- }
95
- }
96
-
97
- @include media-breakpoint-down(md) {
98
- .products-list {
99
- .card-sponsor-product,
100
- .card-sponsor-banner {
101
- @include make-col(6);
102
-
103
- .card {
104
- max-width: 100%;
105
- }
106
- }
107
- }
108
-
109
- .products-list-v2 {
110
- .card-sponsor-product:nth-of-type(n+3) {
111
- .card {
112
- &:before {
113
- content: none;
114
- }
115
- }
116
- }
117
- }
118
- }
119
-
120
- @include media-breakpoint-down(sm) {
121
- .products-list {
122
- .product-card__sponsored {
123
- margin-right: auto;
124
- margin-left: auto;
125
- }
126
-
127
- .card-sponsor-banner {
128
- position: relative;
129
-
130
- &::after {
131
- content: '';
132
- position: absolute;
133
- bottom: 20px;
134
- left: 5px;
135
- width: calc(100% - 10px);
136
- border-bottom: 1px solid $gray;
137
- }
138
- }
139
- }
140
- }
52
+ }
@@ -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 {
@@ -137,6 +137,27 @@
137
137
  margin-bottom: 0;
138
138
  }
139
139
  }
140
+
141
+ &__banner-wrapper {
142
+ padding-top: 16px;
143
+
144
+ &--background {
145
+ background-color: $ma-white;
146
+ }
147
+
148
+ .notification {
149
+ margin: 0;
150
+
151
+ &.notification_general {
152
+ margin: 0;
153
+ }
154
+
155
+ &_link {
156
+ color: $white;
157
+ text-decoration: none;
158
+ }
159
+ }
160
+ }
140
161
  }
141
162
 
142
163
  .tooltip {
@@ -214,6 +235,10 @@
214
235
  }
215
236
  }
216
237
  }
238
+
239
+ &__banner-wrapper {
240
+ padding-top: 24px;
241
+ }
217
242
  }
218
243
  }
219
244
 
@@ -232,6 +257,10 @@
232
257
  margin-top: 16px;
233
258
  margin-bottom: 16px;
234
259
  }
260
+
261
+ &__banner-wrapper {
262
+ padding-top: 40px;
263
+ }
235
264
  }
236
265
  }
237
266
 
@@ -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
 
@@ -47,17 +47,6 @@ $color-bar-radius: 3px;
47
47
  }
48
48
  }
49
49
 
50
- .sponsor-top-banner {
51
- margin-bottom: 20px;
52
- margin-top: 10px;
53
-
54
- &__image {
55
- display: block;
56
- max-width: 100%;
57
- margin-bottom: 20px;
58
- }
59
- }
60
-
61
50
  .color-pick {
62
51
  &__wrap {
63
52
  display: none;
@@ -37,14 +37,6 @@
37
37
  }
38
38
  }
39
39
  }
40
-
41
- .sponsor-top-banner {
42
- &__image {
43
- margin-bottom: 20px;
44
- display: block;
45
- max-width: 100%;
46
- }
47
- }
48
40
  }
49
41
 
50
42
  .products-list {
package/src/sitemap.html CHANGED
@@ -697,10 +697,18 @@
697
697
  <span class="page-id">10.13</span>
698
698
  <a href="page_tradePro_rewards_home_single.html" target="_blank">TradePro Rewards Home Single Carousel Element</a>
699
699
  </li>
700
+ <li>
701
+ <span class="page-id"></span>
702
+ <a href="page_tradePro_rewards_home_installer_message.html" target="_blank">TradePro Rewards Home (Installer message)</a>
703
+ </li>
700
704
  <li>
701
705
  <span class="page-id">10.14</span>
702
706
  <a href="page_tradePro_rewards_instore.html" target="_blank">TradePro Rewards In-store only</a>
703
707
  </li>
708
+ <li>
709
+ <span class="page-id"></span>
710
+ <a href="page_tradePro_rewards_instore_installer_message.html" target="_blank">TradePro Rewards In-store only (Installer message)</a>
711
+ </li>
704
712
  <li>
705
713
  <span class="page-id">10.15</span>
706
714
  <a href="page_tradePro_rewards_online.html" target="_blank">TradePro Rewards Online only</a>