wickes-css2 2.110.0 → 2.111.0-complete-your-project.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 (112) hide show
  1. package/build/css/category-main.css +1 -1
  2. package/build/css/homepage-main.css +1 -1
  3. package/build/css/kitchen-plp-main.css +1 -1
  4. package/build/css/main.css +1 -1
  5. package/build/css/my-account-main-v2.css +1 -1
  6. package/build/css/my-account-main.css +1 -1
  7. package/build/css/pages/page_personal-details.css +1 -1
  8. package/build/css/pages/page_product-details-v2.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/account-hub.min.js +1 -1
  16. package/build/js/basket.min.js +1 -1
  17. package/build/js/bloomreach-widget.min.js +1 -0
  18. package/build/js/bundle.min.js +1 -1
  19. package/build/js/checkout.min.js +1 -1
  20. package/build/js/emulation.min.js +3025 -217
  21. package/build/js/general.bundle.min.js +1 -1
  22. package/build/js/merged-checkout.min.js +1 -1
  23. package/build/js/page/bloomreach-widget.js +1148 -0
  24. package/build/js/page/utils/create-count-stepper.js +30 -9
  25. package/build/js/page/utils/create-loading-button.js +37 -0
  26. package/build/js/page/utils/create-toast.js +79 -0
  27. package/build/js/page/utils/custom-dropdown.js +80 -0
  28. package/build/js/pdp-count-stepper.min.js +1 -1
  29. package/build/js/pdp.bundle.min.js +1 -1
  30. package/build/js/plp.bundle.min.js +1 -1
  31. package/build/js/project-list.min.js +1 -1
  32. package/build/js/saving-shopping-list.min.js +1 -1
  33. package/package.json +1 -1
  34. package/src/components/base/button.hbs +23 -5
  35. package/src/components/bloomreach/complete-card-dropdown.hbs +47 -0
  36. package/src/components/bloomreach/complete-card-skeleton.hbs +19 -0
  37. package/src/components/bloomreach/complete-card.hbs +138 -0
  38. package/src/components/bloomreach/complete-divider.hbs +3 -0
  39. package/src/components/bloomreach/complete-summary-skeleton.hbs +12 -0
  40. package/src/components/bloomreach/complete-summary.hbs +43 -0
  41. package/src/components/bloomreach/complete-wrapper.hbs +1 -0
  42. package/src/components/bloomreach/complete-your-project.hbs +21 -0
  43. package/src/components/gift-cards.hbs +1 -1
  44. package/src/elements/checkbox.hbs +8 -1
  45. package/src/js/components/general/cart-slider.js +19 -6
  46. package/src/js/emulation/bloomreach-widget-calculations.js +140 -0
  47. package/src/js/emulation/bloomreach-widget-loading.js +11 -0
  48. package/src/js/emulation/mock.js +3097 -1
  49. package/src/js/emulation/notify-me.js +1 -1
  50. package/src/js/page/bloomreach-widget.js +1148 -0
  51. package/src/js/page/utils/create-count-stepper.js +30 -9
  52. package/src/js/page/utils/create-loading-button.js +37 -0
  53. package/src/js/page/utils/create-toast.js +79 -0
  54. package/src/js/page/utils/custom-dropdown.js +80 -0
  55. package/src/page_product-details-banner.html +0 -1
  56. package/src/page_product-details-big-wins-disabled-delivery.html +0 -1
  57. package/src/page_product-details-big-wins-non-registered.html +0 -1
  58. package/src/page_product-details-big-wins-out-nearest.html +0 -1
  59. package/src/page_product-details-big-wins-unhappy.html +0 -1
  60. package/src/page_product-details-big-wins.html +0 -1
  61. package/src/page_product-details-billie.html +0 -1
  62. package/src/page_product-details-bloomreach.html +130 -0
  63. package/src/page_product-details-calculator.html +0 -1
  64. package/src/page_product-details-cashback-v2.html +0 -1
  65. package/src/page_product-details-clearpay.html +0 -1
  66. package/src/page_product-details-cnc-error-notification.html +0 -1
  67. package/src/page_product-details-cnc-success-notification-vat.html +0 -1
  68. package/src/page_product-details-cnc-success-notification.html +0 -1
  69. package/src/page_product-details-default-store.html +0 -1
  70. package/src/page_product-details-energy-efficiency.html +0 -1
  71. package/src/page_product-details-flooring-with-pr-placeholder.html +0 -1
  72. package/src/page_product-details-flooring.html +0 -1
  73. package/src/page_product-details-gallery-actual.html +0 -1
  74. package/src/page_product-details-mfe-calculator.html +0 -1
  75. package/src/page_product-details-minimum-v2.html +0 -1
  76. package/src/page_product-details-mtm-doors.html +0 -1
  77. package/src/page_product-details-only-clearpay.html +0 -1
  78. package/src/page_product-details-paint-mixing.html +0 -1
  79. package/src/page_product-details-saved-pl.html +0 -1
  80. package/src/page_product-details-tile-steps-klarna-widget-with-method-ids.html +0 -1
  81. package/src/page_product-details-tile-steps-logout.html +0 -1
  82. package/src/page_product-details-tile-steps-no-new-project-list.html +0 -1
  83. package/src/page_product-details-tile-steps-with-klarna.html +0 -1
  84. package/src/page_product-details-tile-steps.html +0 -1
  85. package/src/page_product-details-v2.html +0 -1
  86. package/src/page_product-details-vat.html +0 -1
  87. package/src/page_product-details-wisdom-mcfc-registered.html +0 -1
  88. package/src/page_product-details-wisdom-mcfc.html +0 -1
  89. package/src/page_product-details-wisdom-oos-registered.html +0 -1
  90. package/src/page_product-details-wisdom-oos.html +0 -1
  91. package/src/page_product-details-wisdom-registered.html +0 -1
  92. package/src/page_product-details-wisdom.html +0 -1
  93. package/src/page_product-details-with-favourite.html +0 -1
  94. package/src/page_product-details-with-global-search-v2.html +7 -1
  95. package/src/page_product-details_no-previous-default.html +0 -1
  96. package/src/page_track-my-order-result.html +1 -0
  97. package/src/partials/scripts.hbs +1 -0
  98. package/src/scss/common/_common.scss +1 -0
  99. package/src/scss/common/_elements.scss +13 -1
  100. package/src/scss/common/_loading-button.scss +49 -0
  101. package/src/scss/components/_notifications.scss +86 -5
  102. package/src/scss/components/bloomreach/_bloomreach.scss +3 -0
  103. package/src/scss/components/bloomreach/_complete-card-dropdown.scss +174 -0
  104. package/src/scss/components/bloomreach/_complete-card.scss +402 -0
  105. package/src/scss/components/bloomreach/_complete-your-project.scss +207 -0
  106. package/src/scss/helpers/_variables.scss +1 -0
  107. package/src/scss/pages/page_product-details-v2.scss +45 -2
  108. package/src/scss/pdp-main-critical.scss +0 -1
  109. package/src/scss/pdp-main.scss +1 -1
  110. package/src/sitemap.html +6 -0
  111. package/src/scss/components/_pdp-action-v2-critical.scss +0 -27
  112. package/src/scss/components/_pdp-action-v2.scss +0 -27
@@ -63,7 +63,6 @@
63
63
  delivery=true
64
64
  nearest-purchase=true
65
65
  }}
66
- {{> fulfilment-accordions }}
67
66
  </div>
68
67
  <div class="pdp__description">
69
68
  {{> product-main-info-v2 isAdvice=true isUserLogedOut=true}}
@@ -63,7 +63,6 @@
63
63
  delivery=true
64
64
  nearest-purchase=true
65
65
  }}
66
- {{> fulfilment-accordions }}
67
66
  </div>
68
67
  <div class="pdp__description">
69
68
  {{> product-main-info-v2 isAdvice=true isAddNewProjectBlocked=true}}
@@ -64,7 +64,6 @@
64
64
  nearest-purchase=true
65
65
  klarna-placement=true
66
66
  }}
67
- {{> fulfilment-accordions }}
68
67
  </div>
69
68
  <div class="pdp__description">
70
69
  {{> product-main-info-v2 isAdvice=true}}
@@ -63,7 +63,6 @@
63
63
  delivery=true
64
64
  nearest-purchase=true
65
65
  }}
66
- {{> fulfilment-accordions }}
67
66
  </div>
68
67
  <div class="pdp__description">
69
68
  {{> product-main-info-v2 isAdvice=true manualShareTooltip=true}}
@@ -59,7 +59,6 @@
59
59
  cc=true
60
60
  delivery=true
61
61
  }}
62
- {{> fulfilment-accordions }}
63
62
  </div>
64
63
  <div class="pdp__description">
65
64
  {{> product-main-info-v2 }}
@@ -68,7 +68,6 @@
68
68
  delivery=true
69
69
  nearest-purchase=true
70
70
  }}
71
- {{> fulfilment-accordions }}
72
71
  </div>
73
72
  <div class="pdp__description">
74
73
  {{> product-main-info-v2 isAdvice=true}}
@@ -66,7 +66,6 @@ pagePdp=true
66
66
  nearest-purchase=true
67
67
  more-stores-present=true
68
68
  }}
69
- {{> fulfilment-accordions }}
70
69
  </div>
71
70
  <div class="pdp__description">
72
71
  {{> product-main-info-v2 }}
@@ -66,7 +66,6 @@ pagePdp=true
66
66
  nearest-purchase=true
67
67
  more-stores-present=true
68
68
  }}
69
- {{> fulfilment-accordions }}
70
69
  </div>
71
70
  <div class="pdp__description">
72
71
  {{> product-main-info-v2 }}
@@ -65,7 +65,6 @@
65
65
  nearest-purchase=true
66
66
  more-stores-present=true
67
67
  }}
68
- {{> fulfilment-accordions }}
69
68
  </div>
70
69
  <div class="pdp__description">
71
70
  {{> product-main-info-v2 }}
@@ -65,7 +65,6 @@
65
65
  nearest-purchase=true
66
66
  more-stores-present=true
67
67
  }}
68
- {{> fulfilment-accordions }}
69
68
  </div>
70
69
  <div class="pdp__description">
71
70
  {{> product-main-info-v2 }}
@@ -65,7 +65,6 @@
65
65
  nearest-purchase=true
66
66
  more-stores-present=true
67
67
  }}
68
- {{> fulfilment-accordions }}
69
68
  </div>
70
69
  <div class="pdp__description">
71
70
  {{> product-main-info-v2 }}
@@ -65,7 +65,6 @@
65
65
  nearest-purchase=true
66
66
  more-stores-present=true
67
67
  }}
68
- {{> fulfilment-accordions }}
69
68
  </div>
70
69
  <div class="pdp__description">
71
70
  {{> product-main-info-v2 }}
@@ -312,7 +312,6 @@
312
312
  delivery=true
313
313
  nearest-purchase=true
314
314
  }}
315
- {{> fulfilment-accordions }}
316
315
  </div>
317
316
  <div class="pdp__description">
318
317
  {{> product-main-info-v2 isAdvice=true}}
@@ -63,11 +63,17 @@ switch-vat=true
63
63
  cc=true
64
64
  delivery=true
65
65
  }}
66
- {{> fulfilment-accordions }}
67
66
  </div>
68
67
  <div class="pdp__description">
69
68
  {{> product-main-info-v2 isProductSaved=true}}
70
69
  </div>
70
+ <div
71
+ class="pdp__widget"
72
+ data-complete-widget
73
+ data-context-key="completeYourProject3Recomendations"
74
+ >
75
+ {{> bloomreach/complete-your-project title="Complete your project"}}
76
+ </div>
71
77
  {{> fulfilment-accordions }}
72
78
  </div>
73
79
  </div>
@@ -69,7 +69,6 @@
69
69
  distance="1.4"
70
70
  nearestName="Watford"
71
71
  }}
72
- {{> fulfilment-accordions }}
73
72
  </div>
74
73
  <div class="pdp__description">
75
74
  {{> product-main-info-v2 }}
@@ -36,6 +36,7 @@ mainClass="track-order"
36
36
  <h2 class="my-order__title">Order {{track_order.order.number}}</h2>
37
37
  <p class="my-order__placed">Order placed on <span class="date">{{track_order.order.orderDate}}</span></p>
38
38
  {{> button
39
+ primary="true"
39
40
  full=true
40
41
  modification="btn--print"
41
42
  text="Print"
@@ -23,6 +23,7 @@
23
23
  <script defer src="https://kit.fontawesome.com/b73abc6840.js" crossorigin="anonymous"></script>
24
24
  {{#if pagePdp}}
25
25
  <script defer src="./js/saving-shopping-list.min.js"></script>
26
+ <script defer src="./js/bloomreach-widget.min.js"></script>
26
27
  <script async src="https://static.addtoany.com/menu/page.js"></script>
27
28
  {{/if}}
28
29
 
@@ -7,6 +7,7 @@
7
7
  @import 'app';
8
8
  @import 'rewards-counter';
9
9
  @import 'vat-toggle';
10
+ @import 'loading-button';
10
11
 
11
12
  // common
12
13
  body {
@@ -258,7 +258,7 @@
258
258
  color: $gray-border;
259
259
 
260
260
  .inactive-message {
261
- font-size: .75rem;
261
+ font-size: 0.75rem;
262
262
  }
263
263
  }
264
264
  }
@@ -266,6 +266,18 @@
266
266
  &-round {
267
267
  @include checkbox-round;
268
268
  }
269
+
270
+ &--action {
271
+ input {
272
+ &:checked,
273
+ &.fake-checked {
274
+ &:not(:disabled) + ins {
275
+ background: $green;
276
+ border-color: $green;
277
+ }
278
+ }
279
+ }
280
+ }
269
281
  }
270
282
 
271
283
  .file-loader {
@@ -0,0 +1,49 @@
1
+ .loading-button {
2
+ position: relative;
3
+
4
+ &__loader {
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ }
9
+
10
+ &--loading {
11
+ cursor: wait !important;
12
+ pointer-events: none;
13
+ min-height: 40px;
14
+ background-color: $green;
15
+ border: 1px solid $green;
16
+
17
+ &:focus {
18
+ background-color: $green;
19
+ }
20
+
21
+ .loading-button__text {
22
+ visibility: hidden;
23
+ }
24
+
25
+ .loading-button__loader {
26
+ display: flex;
27
+ position: absolute;
28
+ left: 50%;
29
+ transform: translateX(-50%);
30
+ align-items: center;
31
+ justify-content: center;
32
+ }
33
+ }
34
+
35
+ .loader-wrapper {
36
+ .loader-spinner {
37
+ width: 24px;
38
+ height: 24px;
39
+
40
+ .circular-loader {
41
+ stroke-width: 8px;
42
+
43
+ .loader-path {
44
+ stroke: $white;
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
@@ -15,7 +15,7 @@
15
15
  position: absolute;
16
16
  right: 8px;
17
17
  top: 8px;
18
- font-size: .875rem;
18
+ font-size: 0.875rem;
19
19
  color: $warm-grey;
20
20
  cursor: pointer;
21
21
 
@@ -28,7 +28,7 @@
28
28
  position: absolute;
29
29
  right: 8px;
30
30
  top: 8px;
31
- font-size: .875rem;
31
+ font-size: 0.875rem;
32
32
  color: $warm-grey;
33
33
  cursor: pointer;
34
34
  }
@@ -130,14 +130,14 @@
130
130
 
131
131
  .title {
132
132
  font-weight: 500;
133
- font-size: .875rem;
133
+ font-size: 0.875rem;
134
134
  line-height: 1.5rem;
135
135
  margin-bottom: 0;
136
136
  }
137
137
 
138
138
  .description {
139
139
  font-weight: 400;
140
- font-size: .875rem;
140
+ font-size: 0.875rem;
141
141
  line-height: 1.375rem;
142
142
  margin-bottom: 0;
143
143
  }
@@ -149,7 +149,7 @@
149
149
  min-height: 0;
150
150
  max-height: 0;
151
151
  overflow: hidden;
152
- transition: max-height .15s ease-out;
152
+ transition: max-height 0.15s ease-out;
153
153
 
154
154
  .notification-item {
155
155
  margin: 0;
@@ -186,3 +186,84 @@
186
186
  cursor: pointer;
187
187
  }
188
188
  }
189
+
190
+ .toast-container {
191
+ background-color: $white;
192
+ position: fixed;
193
+ left: 50%;
194
+ bottom: 48px;
195
+ z-index: $zindex-modal;
196
+ max-width: 640px;
197
+ transform: translate(-50%, calc(100% + 48px));
198
+ animation: toast-slide-up 0.25s ease-out forwards;
199
+ }
200
+
201
+ .toast {
202
+ @include font-size(14);
203
+ @include line-height(22);
204
+
205
+ display: flex;
206
+ align-items: center;
207
+ min-height: 48px;
208
+ margin-bottom: 0 !important;
209
+ padding: 8px;
210
+ border: 5px solid $white;
211
+ box-shadow: none;
212
+ font-weight: 500;
213
+
214
+ .notification__icon {
215
+ @include font-size(16);
216
+
217
+ position: static;
218
+ display: flex;
219
+ flex: 0 0 24px;
220
+ align-items: center;
221
+ justify-content: center;
222
+ width: 24px;
223
+ height: 24px;
224
+ margin-right: 8px;
225
+ transform: none;
226
+ }
227
+
228
+ &.notification_success {
229
+ background-color: rgba($green, 0.05);
230
+
231
+ .notification__icon {
232
+ color: $green;
233
+ }
234
+ }
235
+
236
+ &.notification_warning {
237
+ background-color: rgba($orange, 0.05);
238
+
239
+ .notification__icon {
240
+ color: $yellow;
241
+ }
242
+ }
243
+
244
+ &.notification_error {
245
+ background-color: rgba($red, 0.05);
246
+
247
+ .notification__icon {
248
+ color: $red;
249
+ }
250
+ }
251
+ }
252
+
253
+ @keyframes toast-slide-up {
254
+ from {
255
+ transform: translate(-50%, calc(100% + 48px));
256
+ }
257
+
258
+ to {
259
+ transform: translate(-50%, 0);
260
+ }
261
+ }
262
+
263
+ @include media-breakpoint-down(sm) {
264
+ .toast-container {
265
+ bottom: 48px;
266
+ width: max-content;
267
+ max-width: calc(100% - 32px);
268
+ }
269
+ }
@@ -0,0 +1,3 @@
1
+ @import 'complete-your-project';
2
+ @import 'complete-card';
3
+ @import 'complete-card-dropdown';
@@ -0,0 +1,174 @@
1
+ .complete-card-dropdown {
2
+ position: relative;
3
+ width: 100%;
4
+ min-width: 0;
5
+ max-width: 100%;
6
+ margin-bottom: 18px;
7
+ overflow: visible;
8
+
9
+ &__toggle {
10
+ @include font-size(14);
11
+ @include line-height(24);
12
+
13
+ position: relative;
14
+ display: grid;
15
+ grid-template-columns: minmax(0, 1fr) auto;
16
+ align-items: center;
17
+ column-gap: 12px;
18
+ box-sizing: border-box;
19
+ width: 100%;
20
+ min-width: 0;
21
+ max-width: 100%;
22
+ min-height: 40px;
23
+ padding: 7px 12px;
24
+ overflow: hidden;
25
+ border: 1px solid $gray;
26
+ border-radius: 4px;
27
+ background-color: $white;
28
+ font-weight: 400;
29
+ text-align: left;
30
+ cursor: pointer;
31
+ }
32
+
33
+ &__value {
34
+ display: block;
35
+ width: 100%;
36
+ min-width: 0;
37
+ max-width: 100%;
38
+ overflow: hidden;
39
+ text-overflow: ellipsis;
40
+ white-space: nowrap;
41
+ }
42
+
43
+ &__icon {
44
+ position: static;
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: center;
48
+ min-width: 0;
49
+ pointer-events: none;
50
+ color: $blue;
51
+ transition: transform 0.2s;
52
+ }
53
+
54
+ &__menu {
55
+ position: absolute;
56
+ top: calc(100% + 4px);
57
+ left: 0;
58
+ z-index: $dropdown-z-index;
59
+ display: none;
60
+ width: 100%;
61
+ min-width: 0;
62
+ max-width: 100%;
63
+ max-height: 220px;
64
+ padding-top: 4px;
65
+ overflow-y: auto;
66
+ border-radius: 3px;
67
+ background-color: $white;
68
+ box-shadow: 0 0 15px $black-transparent20;
69
+ }
70
+
71
+ &__option {
72
+ @include font-size(14);
73
+ @include line-height(20);
74
+
75
+ display: block;
76
+ width: 100%;
77
+ min-width: 0;
78
+ max-width: 100%;
79
+ padding: 10px 12px;
80
+ border: 1px solid transparent;
81
+ background-color: $white;
82
+ color: $blue-dark;
83
+ text-align: left;
84
+ overflow: visible;
85
+ text-overflow: initial;
86
+ white-space: normal;
87
+ overflow-wrap: break-word;
88
+ word-break: normal;
89
+ cursor: pointer;
90
+ outline: none;
91
+
92
+ &:first-of-type {
93
+ pointer-events: none;
94
+ }
95
+
96
+ &:hover,
97
+ &:focus {
98
+ background-color: $ma-white;
99
+ outline: none;
100
+ }
101
+
102
+ &--selected {
103
+ border-color: $black;
104
+ }
105
+ }
106
+
107
+ &__error {
108
+ @include font-size(12);
109
+ @include line-height(16);
110
+
111
+ display: none;
112
+ margin-top: 4px;
113
+ color: $red;
114
+ font-weight: 400;
115
+ }
116
+
117
+ &--open {
118
+ .complete-card-dropdown {
119
+ &__toggle {
120
+ border-color: $blue;
121
+ }
122
+
123
+ &__icon {
124
+ transform: rotate(180deg);
125
+ }
126
+
127
+ &__menu {
128
+ display: block;
129
+ }
130
+ }
131
+ }
132
+
133
+ &--error {
134
+ .complete-card-dropdown {
135
+ &__toggle {
136
+ border-color: $red;
137
+ }
138
+
139
+ &__error {
140
+ display: block;
141
+ }
142
+ }
143
+ }
144
+ }
145
+
146
+ @include media-breakpoint-up(md) {
147
+ .complete-card-dropdown {
148
+ &__error {
149
+ position: absolute;
150
+ top: 44px;
151
+ }
152
+ }
153
+ }
154
+
155
+ @include media-breakpoint-down(sm) {
156
+ .complete-card-dropdown {
157
+ &__toggle {
158
+ @include font-size(14);
159
+ }
160
+ }
161
+ }
162
+
163
+ @media screen and (max-width: 375px) {
164
+ .complete-card-dropdown {
165
+ margin-bottom: 5px;
166
+
167
+ &__toggle {
168
+ @include font-size(12);
169
+
170
+ column-gap: 8px;
171
+ padding: 7px 12px;
172
+ }
173
+ }
174
+ }