wickes-css2 2.98.0-develop.3 → 2.98.0-develop.5

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 (62) hide show
  1. package/build/css/category-main.css +1 -1
  2. package/build/css/components/energy-efficiency.css +1 -1
  3. package/build/css/components/legal-info.css +1 -1
  4. package/build/css/homepage-main.css +1 -1
  5. package/build/css/main.css +1 -1
  6. package/build/css/my-account-main-v2.css +1 -1
  7. package/build/css/my-account-main.css +1 -1
  8. package/build/css/pages/page_quiz.css +1 -1
  9. package/build/css/pdp-main-before-combine.css +1 -1
  10. package/build/css/pdp-main-critical.css +1 -1
  11. package/build/css/pdp-main-non-critical.css +1 -1
  12. package/build/css/pdp-main.css +1 -1
  13. package/build/css/plp-main.css +1 -1
  14. package/build/css/store-locator-main.css +1 -1
  15. package/build/js/basket.min.js +1 -1
  16. package/build/js/bundle.min.js +1 -1
  17. package/build/js/checkout.min.js +1 -1
  18. package/build/js/emulation.min.js +106 -32
  19. package/build/js/general.bundle.min.js +1 -1
  20. package/build/js/merged-checkout.min.js +1 -1
  21. package/build/js/page/pdp.js +4 -1
  22. package/build/js/pdp.bundle.min.js +1 -1
  23. package/build/js/plp.bundle.min.js +1 -1
  24. package/build/js/project-list.min.js +1 -1
  25. package/package.json +1 -1
  26. package/src/components/checkout_order-summary-new.hbs +18 -13
  27. package/src/components/header-minicart.hbs +3 -3
  28. package/src/components/legal-info.hbs +22 -25
  29. package/src/components/mini-basket/mini-basket-empty.hbs +17 -0
  30. package/src/components/mini-basket/mini-basket.hbs +39 -0
  31. package/src/components/mini-basket/product-item.hbs +22 -0
  32. package/src/components/pdp-price-actions.hbs +1 -1
  33. package/src/components/price-block-v2.hbs +0 -1
  34. package/src/data/data_confirmation-summary.json +3 -3
  35. package/src/data/data_latest-offers.json +1 -1
  36. package/src/data/data_mini-basket.json +80 -6
  37. package/src/data/data_page-category.json +2 -1
  38. package/src/data/data_page-merge-basket.json +1 -1
  39. package/src/data/data_store-locator-v2.json +1 -1
  40. package/src/js/components/general/backdrop.js +23 -0
  41. package/src/js/components/general/cart-slider.js +16 -0
  42. package/src/js/components/general/create-popup-slider.js +196 -0
  43. package/src/js/components/general/mini-basket-slider.js +8 -0
  44. package/src/js/emulation/big-wins.js +29 -29
  45. package/src/js/emulation/custom-slider-emulation.js +28 -0
  46. package/src/js/emulation/mock.js +46 -1
  47. package/src/js/emulation/popover-mini-basket.js +2 -2
  48. package/src/js/page/pdp.js +4 -1
  49. package/src/layouts/base.hbs +6 -0
  50. package/src/layouts/my-account-v2.hbs +7 -0
  51. package/src/page_product-details-saved-pl.html +16 -13
  52. package/src/page_product-details-with-global-search-v2.html +1 -0
  53. package/src/scss/common/_scroll-disable.scss +4 -2
  54. package/src/scss/components/_custom-slider.scss +512 -0
  55. package/src/scss/components/legal-info.scss +61 -0
  56. package/src/scss/globals/_global-components.scss +1 -0
  57. package/src/scss/helpers/_mixins.scss +8 -0
  58. package/src/scss/helpers/_variables.scss +1 -0
  59. package/src/scss/homepage-main.scss +1 -0
  60. package/src/scss/main.scss +1 -0
  61. package/src/scss/partials/_header-critical.scss +14 -0
  62. package/src/scss/partials/_header.scss +14 -0
@@ -0,0 +1,512 @@
1
+ @import '../helpers/helpers';
2
+
3
+ .custom-slider {
4
+ height: 100%;
5
+ margin-bottom: 0;
6
+ border-radius: 0;
7
+ position: fixed;
8
+ background-color: $white;
9
+ box-shadow: 0 4px 8px rgba(0, 0, 0, .2);
10
+ transition: transform .4s ease, opacity .4s ease;
11
+ opacity: 0;
12
+ display: flex;
13
+ flex-direction: column;
14
+ justify-content: space-between;
15
+ z-index: 1041;
16
+
17
+ &__wrap {
18
+ padding: 8px 16px 0;
19
+ height: 100%;
20
+ width: 100%;
21
+ display: flex;
22
+ flex-direction: column;
23
+ overflow-y: auto;
24
+
25
+ &--scroll {
26
+ margin-bottom: 72px;
27
+ }
28
+ }
29
+
30
+ &.bottom-to-top {
31
+ bottom: 0;
32
+ left: 0;
33
+ right: 0;
34
+ transform: translateY(100%);
35
+ }
36
+
37
+ &.right-to-left {
38
+ top: 0;
39
+ bottom: 0;
40
+ right: 0;
41
+ transform: translateX(100%);
42
+ }
43
+
44
+ &.show {
45
+ transform: translateY(0) translateX(0);
46
+ opacity: 1;
47
+ }
48
+
49
+ &__header {
50
+ display: flex;
51
+ align-items: center;
52
+ justify-content: space-between;
53
+
54
+ .link {
55
+ display: flex;
56
+ align-items: center;
57
+ font-weight: 500;
58
+ text-decoration: none;
59
+
60
+ &:hover {
61
+ text-decoration: underline;
62
+ }
63
+
64
+ .icon-wrap {
65
+ font-size: 1.2rem;
66
+ margin-right: 8px;
67
+ }
68
+ }
69
+
70
+ .close-popup {
71
+ cursor: pointer;
72
+ font-size: 1rem;
73
+ }
74
+
75
+ .icon-wrap.close-popup {
76
+ color: $warm-grey;
77
+ background: none;
78
+ border: 0;
79
+ outline: none;
80
+ }
81
+ }
82
+
83
+ &__message {
84
+ margin-top: 8px;
85
+ display: flex;
86
+
87
+ .icon-wrap {
88
+ font-size: 1rem;
89
+ margin-right: 8px;
90
+
91
+ &.success {
92
+ color: $green;
93
+ }
94
+
95
+ &.warning {
96
+ color: $orange;
97
+ }
98
+
99
+ &.error {
100
+ color: $app-error;
101
+ }
102
+ }
103
+
104
+ .messages {
105
+ display: flex;
106
+ flex-direction: column;
107
+
108
+ &__text {
109
+ font-size: 1rem;
110
+ font-weight: 500;
111
+ line-height: 1.5rem;
112
+ margin-bottom: 0;
113
+ }
114
+
115
+ &__notice {
116
+ margin-top: 4px;
117
+ font-size: .75rem;
118
+ font-weight: 400;
119
+ line-height: 1rem;
120
+ color: $squant;
121
+ }
122
+ }
123
+ }
124
+
125
+ .products {
126
+ margin-top: 8px;
127
+ margin-bottom: 0;
128
+ padding-left: 0;
129
+ list-style-type: none;
130
+
131
+ &__item {
132
+ display: flex;
133
+ flex-direction: row;
134
+ align-items: flex-start;
135
+ justify-content: space-between;
136
+ grid-gap: 8px;
137
+ padding: 8px 0;
138
+
139
+ & + .products__item {
140
+ border-top: 1px solid $gray-light;
141
+ }
142
+ }
143
+
144
+ &__image {
145
+ width: 100%;
146
+ height: auto;
147
+ max-width: 64px;
148
+
149
+ .product-img {
150
+ width: 100%;
151
+ height: auto;
152
+ }
153
+ }
154
+
155
+ &__details {
156
+ flex: 1;
157
+
158
+ .item,
159
+ .price {
160
+ margin-bottom: 0;
161
+ }
162
+
163
+ .title {
164
+ font-size: .875rem;
165
+ font-weight: 500;
166
+ line-height: 1.375rem;
167
+ text-decoration: none;
168
+ }
169
+
170
+ .item {
171
+ font-size: .75rem;
172
+ font-weight: 400;
173
+ line-height: 1rem;
174
+ color: $squant;
175
+
176
+ .value {
177
+ color: $gray-dark;
178
+ }
179
+
180
+ & + .item {
181
+ margin-top: 4px;
182
+ }
183
+ }
184
+
185
+ .price {
186
+ @include font-size(18);
187
+ @include line-height(24);
188
+ margin-top: 8px;
189
+ font-weight: 700;
190
+ color: $blue-dark;
191
+
192
+ .inc {
193
+ @include font-size(12);
194
+ @include line-height(16);
195
+ font-weight: 500;
196
+ }
197
+ }
198
+ }
199
+ }
200
+
201
+ &__footer {
202
+ margin-top: auto;
203
+ display: flex;
204
+ grid-gap: 16px;
205
+ padding: 16px;
206
+ background: $white;
207
+ transition: all .3s ease;
208
+
209
+ &.footer-fixed {
210
+ box-shadow: 0px -4px 12px 0px rgba(0, 0, 0, .08);
211
+ position: fixed;
212
+ width: 100%;
213
+ left: 0;
214
+ bottom: 0;
215
+ transform: none;
216
+ }
217
+ }
218
+
219
+ &__ctas {
220
+ display: flex;
221
+ grid-gap: 16px;
222
+
223
+ .btn-checkout {
224
+ display: flex;
225
+ justify-content: center;
226
+ align-items: center;
227
+ }
228
+ }
229
+
230
+ &__content {
231
+ margin-top: 16px;
232
+ }
233
+
234
+ .icon-wrap {
235
+ @include icon-wrap;
236
+
237
+ &--xl {
238
+ width: 124px;
239
+ height: 124px;
240
+ font-size: 5rem;
241
+ color: $blue-satin;
242
+ }
243
+ }
244
+
245
+ &__count {
246
+ @include font-size(18);
247
+ @include line-height(24);
248
+ font-weight: 700;
249
+ }
250
+
251
+ &__empty {
252
+ display: flex;
253
+ flex-direction: column;
254
+ align-items: center;
255
+ justify-content: center;
256
+ height: 100%;
257
+
258
+ .text {
259
+ @include font-size(16);
260
+ @include line-height(24);
261
+ margin-top: 16px;
262
+ margin-bottom: 0;
263
+ font-weight: 400;
264
+ }
265
+
266
+ .close-popup {
267
+ margin-top: 24px;
268
+ }
269
+ }
270
+
271
+ &.mini-basket {
272
+ .custom-slider__wrap {
273
+ padding-top: 16px;
274
+ }
275
+
276
+ .custom-slider__footer {
277
+ box-shadow: 0px -4px 12px 0px rgba(0, 0, 0, .08);
278
+ flex-direction: column;
279
+ }
280
+ }
281
+
282
+ .mini-basket {
283
+ &__total {
284
+ display: flex;
285
+ flex-direction: column;
286
+
287
+ &-toggle {
288
+ display: flex;
289
+ align-items: center;
290
+ justify-content: space-between;
291
+ width: 100%;
292
+ background: transparent;
293
+ padding: 0;
294
+
295
+ .text {
296
+ @include font-size(14);
297
+ @include line-height(22);
298
+ font-weight: 500;
299
+ }
300
+
301
+ .value {
302
+ @include font-size(18);
303
+ @include line-height(24);
304
+ font-weight: 700;
305
+ }
306
+
307
+ &[aria-expanded="true"] {
308
+ .icon-wrap .arrow-icon {
309
+ transform: rotate(180deg);
310
+ }
311
+ }
312
+ }
313
+
314
+ &-collapse {
315
+ padding-left: 32px;
316
+ }
317
+
318
+ .checkout-widget {
319
+ &__details {
320
+ padding-left: 32px;
321
+ margin-bottom: 0;
322
+ list-style-type: none;
323
+ }
324
+
325
+ &__item {
326
+ @include font-size(14);
327
+ @include line-height(22);
328
+ font-weight: 400;
329
+ display: flex;
330
+ justify-content: space-between;
331
+ align-items: center;
332
+
333
+ &:first-child {
334
+ padding-top: 16px;
335
+ }
336
+
337
+ &-value {
338
+ font-weight: 500;
339
+ }
340
+
341
+ & + .checkout-widget__item:not(.checkout-widget__item-vat) {
342
+ margin-top: 16px;
343
+ }
344
+
345
+ &-vat {
346
+ @include font-size(12);
347
+ @include line-height(16);
348
+ font-weight: 400;
349
+ color: $squant;
350
+ padding-bottom: 16px;
351
+ margin-top: 4px;
352
+ margin-bottom: 16px;
353
+ border-bottom: 1px solid $gray-light;
354
+ }
355
+
356
+ &-free {
357
+ align-items: center;
358
+ justify-content: flex-start;
359
+
360
+ span {
361
+ display: flex;
362
+ align-items: center;
363
+
364
+ .icon {
365
+ margin-left: 10px;
366
+ color: $polishedPine;
367
+ }
368
+ }
369
+ }
370
+ }
371
+
372
+ &__details-discount {
373
+ margin-top: 16px;
374
+ display: grid;
375
+ grid-template-columns: 1fr auto;
376
+
377
+ .checkout-widget__detail-name {
378
+ cursor: pointer;
379
+ }
380
+
381
+ .checkout-widget__detail-value {
382
+ grid-column: 2;
383
+ grid-row: 1;
384
+ margin-left: auto;
385
+ font-weight: 500;
386
+ }
387
+
388
+ .checkout-widget__details-hidden {
389
+ padding-left: 15px;
390
+ font-size: .75rem;
391
+ line-height: 1rem;
392
+ list-style-type: disc;
393
+ font-weight: 400;
394
+ color: $gray-dark;
395
+ }
396
+
397
+ .checkout-widget__detail-name {
398
+ .icon {
399
+ color: $blue;
400
+ font-size: 1rem;
401
+ transition: all .3s ease;
402
+ transform: rotate(180deg);
403
+ }
404
+
405
+ &[aria-expanded="true"] {
406
+ .icon {
407
+ transform: rotate(0);
408
+ }
409
+ }
410
+ }
411
+
412
+ .checkout-widget__voucher-remove {
413
+ display: none;
414
+ }
415
+ }
416
+ }
417
+ }
418
+
419
+ &__wrap-total {
420
+ display: flex;
421
+ align-items: center;
422
+
423
+ .icon-wrap {
424
+ color: $warm-grey;
425
+ margin-right: 8px;
426
+ }
427
+ }
428
+ }
429
+ }
430
+
431
+ @include media-breakpoint-up(sm) {
432
+ .custom-slider {
433
+ &__wrap {
434
+ padding: 24px 24px 0;
435
+ margin: 0 auto;
436
+
437
+ &--scroll {
438
+ margin-bottom: 88px;
439
+ }
440
+ }
441
+
442
+ .products {
443
+ margin-top: 12px;
444
+
445
+ &__details .title {
446
+ @include multiline-ellipsis();
447
+ }
448
+
449
+ &__item {
450
+ padding: 12px 0;
451
+ grid-gap: 12px;
452
+ }
453
+
454
+ &__image {
455
+ max-width: 94px;
456
+ }
457
+ }
458
+
459
+ &__footer {
460
+ padding: 24px;
461
+ }
462
+
463
+ &__content {
464
+ margin-top: 24px;
465
+ }
466
+
467
+ &.mini-basket {
468
+ .custom-slider__wrap {
469
+ padding-top: 24px;
470
+ }
471
+ }
472
+ }
473
+ }
474
+
475
+ @include media-breakpoint-up(md) {
476
+ .custom-slider {
477
+ &__header {
478
+ position: relative;
479
+
480
+ .link.close-popup {
481
+ display: none;
482
+ }
483
+
484
+ .icon-wrap.close-popup {
485
+ position: absolute;
486
+ right: 0;
487
+ top: 0;
488
+ }
489
+ }
490
+
491
+ &__message {
492
+ margin-top: 0;
493
+
494
+ .message__text {
495
+ max-width: 90%;
496
+ }
497
+ }
498
+
499
+ &__wrap {
500
+ width: 500px;
501
+ position: relative;
502
+ }
503
+ }
504
+ }
505
+
506
+ @include media-breakpoint-up(xl) {
507
+ .custom-slider {
508
+ &__wrap {
509
+ width: 600px;
510
+ }
511
+ }
512
+ }
@@ -1,3 +1,64 @@
1
+ @import '../helpers/helpers';
2
+
1
3
  .legal-info {
2
4
  margin-top: 40px;
5
+ border: 1px solid $gray;
6
+ border-radius: 4px;
7
+ padding: 16px;
8
+ position: relative;
9
+ font-size: 1rem;
10
+ font-weight: 400;
11
+ line-height: 1.5rem;
12
+
13
+ &__toggle {
14
+ margin-bottom: 0;
15
+ font-size: 1.125rem;
16
+ font-weight: 500;
17
+ line-height: 1.5rem;
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: space-between;
21
+
22
+ .icon-wrap {
23
+ cursor: pointer;
24
+ display: flex;
25
+ align-items: center;
26
+ justify-content: center;
27
+
28
+ &:after {
29
+ content: '+';
30
+ color: $blue;
31
+ font-size: 1.575rem;
32
+ }
33
+ }
34
+
35
+ &[aria-expanded='true'] {
36
+ .icon-wrap {
37
+ &:after {
38
+ content: '-';
39
+ font-size: 2.95rem;
40
+ }
41
+ }
42
+ }
43
+ }
44
+
45
+ .collapse-wrap {
46
+ margin-top: 16px;
47
+ }
48
+
49
+ .container {
50
+ padding: 0;
51
+ }
52
+ }
53
+
54
+ @include media-breakpoint-up(sm) {
55
+ .legal-info {
56
+ padding: 24px;
57
+ }
58
+ }
59
+
60
+ @include media-breakpoint-up(md) {
61
+ .legal-info {
62
+ padding: 24px 40px;
63
+ }
3
64
  }
@@ -4,6 +4,7 @@
4
4
  @import '../components/back-to-top';
5
5
  @import '../components/payments';
6
6
  @import '../components/popover-mini-basket';
7
+ @import '../components/custom-slider';
7
8
  @import '../components/autocomplete';
8
9
  @import '../components/google_banner';
9
10
  @import '../components/smart-banner';
@@ -148,6 +148,14 @@
148
148
  line-height: #{$line-height-px / 16}rem;
149
149
  }
150
150
 
151
+ @mixin multiline-ellipsis($line-count: 1) {
152
+ overflow: hidden;
153
+ text-overflow: ellipsis;
154
+ -webkit-box-orient: vertical;
155
+ display: -webkit-box;
156
+ -webkit-line-clamp: $line-count;
157
+ }
158
+
151
159
  @mixin icon-wrap($width: 24px, $height: 24px, $font-size-px: 16) {
152
160
  width: $width;
153
161
  height: $height;
@@ -4,6 +4,7 @@
4
4
  $blue-dark: #0a3055; // Base brand color for background
5
5
  $blue: #0277bd; // CTAs
6
6
  $green: #67a509; // Tick icons; Buttons in the checkout
7
+ $polishedPine: #67a589;
7
8
  $green-dark: #487306; // Active state of button-action
8
9
 
9
10
  // Additional colors
@@ -6,6 +6,7 @@
6
6
 
7
7
  // Base
8
8
  @import 'common/homepage-common';
9
+ @import 'common/scroll-disable';
9
10
 
10
11
  @import 'globals/global-partials';
11
12
 
@@ -26,6 +26,7 @@
26
26
  @import 'components/payments';//deep dependence
27
27
  @import 'components/notifications';//deep dependence
28
28
  @import 'components/popover-mini-basket';//deep dependence
29
+ @import 'components/custom-slider';
29
30
  @import 'components/lines-group';//deep dependence
30
31
  @import 'components/autocomplete';//deep dependence
31
32
  @import 'components/card';//deep dependence
@@ -266,6 +266,20 @@
266
266
  padding-right: 0;
267
267
  }
268
268
 
269
+ button.header-minicart__btn {
270
+ background: none;
271
+ border: 0;
272
+ box-shadow: none;
273
+ outline: none;
274
+ cursor: pointer;
275
+
276
+ &:hover {
277
+ .header-right__link-title {
278
+ text-decoration: underline;
279
+ }
280
+ }
281
+ }
282
+
269
283
  .header-minicart__btn-icon {
270
284
  vertical-align: top;
271
285
  }
@@ -288,6 +288,20 @@
288
288
  padding-right: 0;
289
289
  }
290
290
 
291
+ button.header-minicart__btn {
292
+ background: none;
293
+ border: 0;
294
+ box-shadow: none;
295
+ outline: none;
296
+ cursor: pointer;
297
+
298
+ &:hover {
299
+ .header-right__link-title {
300
+ text-decoration: underline;
301
+ }
302
+ }
303
+ }
304
+
291
305
  .header-shop-list {
292
306
  .icon {
293
307
  color: $white;