wickes-css2 2.112.0-develop.4 → 2.112.0-develop.7
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.
- package/Readme.md +1 -1
- package/build/css/category-main.css +1 -1
- package/build/css/components/global-search.css +1 -1
- package/build/css/homepage-main.css +1 -1
- package/build/css/kitchen-plp-main.css +1 -1
- package/build/css/main.css +1 -1
- package/build/css/my-account-main-v2.css +1 -1
- package/build/css/my-account-main.css +1 -1
- package/build/css/pages/page_product-details-critical.css +1 -1
- package/build/css/pages/page_product-details.css +1 -1
- package/build/css/pdp-main-before-combine.css +1 -1
- package/build/css/pdp-main-critical.css +1 -1
- package/build/css/pdp-main-non-critical.css +1 -1
- package/build/css/pdp-main.css +1 -1
- package/build/css/plp-main.css +1 -1
- package/build/css/store-locator-main.css +1 -1
- package/build/js/basket.min.js +1 -1
- package/build/js/bloomreach-widget.min.js +1 -1
- package/build/js/emulation.min.js +664 -38
- package/build/js/page/basket-v2.js +29 -20
- package/build/js/page/bloomreach-widget/bloomreach-widget.js +250 -0
- package/build/js/page/{bloomreach-widget.js → bloomreach-widget/complete-your-project-widget.js} +205 -359
- package/build/js/page/bloomreach-widget/why-not-add-widget.js +198 -0
- package/package.json +1 -5
- package/src/components/bloomreach/complete-card.hbs +4 -32
- package/src/components/bloomreach/why-not-add-card-skeleton.hbs +14 -0
- package/src/components/bloomreach/why-not-add-card.hbs +73 -0
- package/src/components/bloomreach/why-not-add-content.hbs +41 -0
- package/src/components/bloomreach/why-not-add-skeleton.hbs +9 -0
- package/src/components/bloomreach/why-not-add.hbs +6 -0
- package/src/components/my-account/order.hbs +6 -1
- package/src/components/order-item.hbs +7 -7
- package/src/components/pdp-price-actions.hbs +2 -2
- package/src/components/potential-promotion.hbs +4 -4
- package/src/components/price-badges.hbs +12 -0
- package/src/components/price-block-v2.hbs +5 -12
- package/src/components/reviews-rating.hbs +22 -0
- package/src/components/share-list-modal-without-social-icons.hbs +2 -2
- package/src/components/share-list-modal.hbs +7 -3
- package/src/data/data_shopping-cart-v2.json +46 -2
- package/src/data/data_shopping-cart-with-energy.json +26 -2
- package/src/data/my-account/data_my-order.json +8 -0
- package/src/js/emulation/basket-data.js +312 -0
- package/src/js/emulation/bloomreach-widget-loading.js +2 -2
- package/src/js/emulation/mock.js +309 -0
- package/src/js/emulation/shopping-list.js +40 -49
- package/src/js/emulation/why-not-add-loading.js +11 -0
- package/src/js/emulation/why-not-add.js +28 -0
- package/src/js/page/basket-v2.js +29 -20
- package/src/js/page/bloomreach-widget/bloomreach-widget.js +250 -0
- package/src/js/page/{bloomreach-widget.js → bloomreach-widget/complete-your-project-widget.js} +205 -359
- package/src/js/page/bloomreach-widget/why-not-add-widget.js +198 -0
- package/src/page_product-details-bloomreach.html +1 -1
- package/src/page_product-details-with-global-search-v2.html +2 -1
- package/src/page_product-details-with-why-not-add-single.html +131 -0
- package/src/page_track-my-order-result.html +1 -0
- package/src/scss/components/_tradepro-discount-banner.scss +10 -14
- package/src/scss/components/bloomreach/_bloomreach.scss +3 -0
- package/src/scss/components/bloomreach/_complete-card.scss +0 -38
- package/src/scss/components/bloomreach/_reviews.scss +60 -0
- package/src/scss/components/bloomreach/_why-not-add-card.scss +223 -0
- package/src/scss/components/bloomreach/_why-not-add.scss +143 -0
- package/src/scss/components/global-search.scss +0 -6
- package/src/scss/pages/page_product-details-critical.scss +7 -0
- package/src/scss/pages/page_product-details.scss +7 -0
- package/src/sitemap.html +10 -4
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
var Wick = window.Wick || {};
|
|
2
|
+
|
|
3
|
+
import { createLoadingButton } from '../utils/create-loading-button';
|
|
4
|
+
|
|
5
|
+
const Handlebars = require('hbsfy/runtime');
|
|
6
|
+
|
|
7
|
+
Handlebars.registerPartial('loader', require('../../../elements/loader.hbs'));
|
|
8
|
+
Handlebars.registerPartial('button', require('../../../components/base/button.hbs'));
|
|
9
|
+
Handlebars.registerPartial(
|
|
10
|
+
'bloomreach/why-not-add',
|
|
11
|
+
require('../../../components/bloomreach/why-not-add.hbs')
|
|
12
|
+
);
|
|
13
|
+
Handlebars.registerPartial(
|
|
14
|
+
'bloomreach/why-not-add-skeleton',
|
|
15
|
+
require('../../../components/bloomreach/why-not-add-skeleton.hbs')
|
|
16
|
+
);
|
|
17
|
+
Handlebars.registerPartial(
|
|
18
|
+
'bloomreach/why-not-add-card-skeleton',
|
|
19
|
+
require('../../../components/bloomreach/why-not-add-card-skeleton.hbs')
|
|
20
|
+
);
|
|
21
|
+
Handlebars.registerPartial(
|
|
22
|
+
'bloomreach/why-not-add-card',
|
|
23
|
+
require('../../../components/bloomreach/why-not-add-card.hbs')
|
|
24
|
+
);
|
|
25
|
+
Handlebars.registerPartial('reviews-rating', require('../../../components/reviews-rating.hbs'));
|
|
26
|
+
|
|
27
|
+
const whyNotAddTemplate = require('../../../components/bloomreach/why-not-add-content.hbs');
|
|
28
|
+
|
|
29
|
+
const WhyNotAddWidget = {
|
|
30
|
+
ADD_TO_CART_EVENT: 'addToCart',
|
|
31
|
+
|
|
32
|
+
products: [],
|
|
33
|
+
sliders: [],
|
|
34
|
+
loadingButton: null,
|
|
35
|
+
|
|
36
|
+
el: {
|
|
37
|
+
cta: '.why-not-add-card__cta',
|
|
38
|
+
next: '[data-why-not-add-next]',
|
|
39
|
+
pagination: '[data-why-not-add-pagination]',
|
|
40
|
+
prev: '[data-why-not-add-prev]',
|
|
41
|
+
root: '[data-why-not-add]',
|
|
42
|
+
slider: '[data-why-not-add-slider]',
|
|
43
|
+
widgetContainer: '[data-why-not-add-widget]',
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
normalizeProducts(payloadData) {
|
|
47
|
+
return Wick.BloomreachWidget.normalizePayload(payloadData)
|
|
48
|
+
.map(function (item) {
|
|
49
|
+
return item.baseProduct || item;
|
|
50
|
+
})
|
|
51
|
+
.slice(0, 5);
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
renderWidget($container, payloadData) {
|
|
55
|
+
const products = WhyNotAddWidget.normalizeProducts(payloadData);
|
|
56
|
+
|
|
57
|
+
if (!products.length) {
|
|
58
|
+
$container.empty().hide();
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
WhyNotAddWidget.products = products;
|
|
63
|
+
|
|
64
|
+
$container
|
|
65
|
+
.html(
|
|
66
|
+
whyNotAddTemplate({
|
|
67
|
+
products: products.map(Wick.BloomreachWidget.getProductRenderData),
|
|
68
|
+
isSingleProduct: products.length === 1,
|
|
69
|
+
})
|
|
70
|
+
)
|
|
71
|
+
.show();
|
|
72
|
+
},
|
|
73
|
+
|
|
74
|
+
destroySliders() {
|
|
75
|
+
WhyNotAddWidget.sliders.forEach(function (slider) {
|
|
76
|
+
if (slider && slider.destroy) {
|
|
77
|
+
slider.destroy(true, true);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
WhyNotAddWidget.sliders = [];
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
initSliders($root) {
|
|
85
|
+
WhyNotAddWidget.destroySliders();
|
|
86
|
+
|
|
87
|
+
$root.find(WhyNotAddWidget.el.slider).each(function () {
|
|
88
|
+
const $slider = $(this);
|
|
89
|
+
const $widget = $slider.closest(WhyNotAddWidget.el.root);
|
|
90
|
+
const slidesCount = $slider.find('.swiper-slide').length;
|
|
91
|
+
|
|
92
|
+
if (slidesCount <= 1) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const slider = new Swiper(this, {
|
|
97
|
+
roundLengths: true,
|
|
98
|
+
slidesPerView: 1,
|
|
99
|
+
spaceBetween: 12,
|
|
100
|
+
watchOverflow: true,
|
|
101
|
+
navigation: {
|
|
102
|
+
nextEl: $widget.find(WhyNotAddWidget.el.next)[0],
|
|
103
|
+
prevEl: $widget.find(WhyNotAddWidget.el.prev)[0],
|
|
104
|
+
disabledClass: 'why-not-add__arrow--disabled',
|
|
105
|
+
},
|
|
106
|
+
pagination: {
|
|
107
|
+
el: $widget.find(WhyNotAddWidget.el.pagination)[0],
|
|
108
|
+
clickable: true,
|
|
109
|
+
renderBullet(index, className) {
|
|
110
|
+
return `<button class="${className}" type="button" aria-label="Go to slide ${
|
|
111
|
+
index + 1
|
|
112
|
+
}"></button>`;
|
|
113
|
+
},
|
|
114
|
+
bulletClass: 'why-not-add__pagination-item',
|
|
115
|
+
bulletActiveClass: 'why-not-add__pagination-item--active',
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
WhyNotAddWidget.sliders.push(slider);
|
|
120
|
+
});
|
|
121
|
+
},
|
|
122
|
+
bindAddToCart($root) {
|
|
123
|
+
$root.off('click.whyNotAdd', WhyNotAddWidget.el.cta);
|
|
124
|
+
$root.on('click.whyNotAdd', WhyNotAddWidget.el.cta, function (event) {
|
|
125
|
+
event.preventDefault();
|
|
126
|
+
|
|
127
|
+
const $button = $(this);
|
|
128
|
+
const $card = $button.closest('.why-not-add-card');
|
|
129
|
+
const productCode = $card.attr('data-product-code');
|
|
130
|
+
|
|
131
|
+
if (!productCode || WhyNotAddWidget.loadingButton.isLoading($button)) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const payload = {
|
|
136
|
+
productCode,
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
WhyNotAddWidget.loadingButton.start($button);
|
|
140
|
+
|
|
141
|
+
Wick.BloomreachWidget.dispatchWidgetEvent(WhyNotAddWidget.ADD_TO_CART_EVENT, payload)
|
|
142
|
+
.then(function () {
|
|
143
|
+
WhyNotAddWidget.loadingButton.stop($button);
|
|
144
|
+
Wick.MiniBasketSliderFE.isMiniBasketLoaded = false;
|
|
145
|
+
})
|
|
146
|
+
.catch(function () {
|
|
147
|
+
WhyNotAddWidget.loadingButton.stop($button);
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
},
|
|
151
|
+
|
|
152
|
+
bindVatToggle() {
|
|
153
|
+
if (Wick.BloomreachWidget.bindVatToggle) {
|
|
154
|
+
Wick.BloomreachWidget.bindVatToggle('whyNotAddVatToggle');
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
initRenderedWidget($container) {
|
|
159
|
+
const $root = $container.find(WhyNotAddWidget.el.root);
|
|
160
|
+
|
|
161
|
+
if (!$root.length) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
if (!WhyNotAddWidget.loadingButton) {
|
|
166
|
+
WhyNotAddWidget.loadingButton = createLoadingButton({
|
|
167
|
+
text: Wick.BloomreachWidget.el.loadingButtonText,
|
|
168
|
+
loader: Wick.BloomreachWidget.el.loadingButtonLoader,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
Wick.BloomreachWidget.removeBlankTargets($root);
|
|
173
|
+
|
|
174
|
+
Wick.BloomreachWidget.drawRating($root);
|
|
175
|
+
WhyNotAddWidget.initSliders($root);
|
|
176
|
+
WhyNotAddWidget.bindAddToCart($root);
|
|
177
|
+
WhyNotAddWidget.bindVatToggle();
|
|
178
|
+
Wick.BloomreachWidget.reapplyVatDisplay();
|
|
179
|
+
},
|
|
180
|
+
|
|
181
|
+
init(payloadData) {
|
|
182
|
+
const $containers = $(WhyNotAddWidget.el.widgetContainer);
|
|
183
|
+
|
|
184
|
+
if (!payloadData) {
|
|
185
|
+
$containers.empty().hide();
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
$containers.each(function () {
|
|
190
|
+
const $container = $(this);
|
|
191
|
+
|
|
192
|
+
WhyNotAddWidget.renderWidget($container, payloadData);
|
|
193
|
+
WhyNotAddWidget.initRenderedWidget($container);
|
|
194
|
+
});
|
|
195
|
+
},
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
export default WhyNotAddWidget;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wickes-css2",
|
|
3
|
-
"version": "2.112.0-develop.
|
|
3
|
+
"version": "2.112.0-develop.7",
|
|
4
4
|
"description": "CSS and JS and page templates in use by Wickes",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -123,10 +123,6 @@
|
|
|
123
123
|
{
|
|
124
124
|
"name": "develop",
|
|
125
125
|
"prerelease": true
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"name": "custom-tag/*",
|
|
129
|
-
"prerelease": "${name.replace(/^custom-tag\\//g, '')}"
|
|
130
126
|
}
|
|
131
127
|
],
|
|
132
128
|
"plugins": [
|
|
@@ -25,38 +25,10 @@
|
|
|
25
25
|
{{name}}
|
|
26
26
|
</a>
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<i class="fa fa-star star-in" aria-hidden="true"></i>
|
|
33
|
-
<i class="fa fa-star star-in" aria-hidden="true"></i>
|
|
34
|
-
<i class="fa fa-star star-in" aria-hidden="true"></i>
|
|
35
|
-
|
|
36
|
-
<div class="rating-overlay"
|
|
37
|
-
data-rating="{{#if externalAverageRating}}{{externalAverageRating}}{{else}}0{{/if}}">
|
|
38
|
-
<span class="star-overlay">
|
|
39
|
-
<i class="fa fa-star" aria-hidden="true"></i>
|
|
40
|
-
</span>
|
|
41
|
-
<span class="star-overlay">
|
|
42
|
-
<i class="fa fa-star" aria-hidden="true"></i>
|
|
43
|
-
</span>
|
|
44
|
-
<span class="star-overlay">
|
|
45
|
-
<i class="fa fa-star" aria-hidden="true"></i>
|
|
46
|
-
</span>
|
|
47
|
-
<span class="star-overlay">
|
|
48
|
-
<i class="fa fa-star" aria-hidden="true"></i>
|
|
49
|
-
</span>
|
|
50
|
-
<span class="star-overlay">
|
|
51
|
-
<i class="fa fa-star" aria-hidden="true"></i>
|
|
52
|
-
</span>
|
|
53
|
-
</div>
|
|
54
|
-
|
|
55
|
-
<span class="complete-card__reviews-count">
|
|
56
|
-
(<span class="complete-card__reviews-count-value">{{externalReviewCount}}</span>)
|
|
57
|
-
</span>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
28
|
+
{{> reviews-rating
|
|
29
|
+
externalAverageRating=externalAverageRating
|
|
30
|
+
externalReviewCount=externalReviewCount
|
|
31
|
+
}}
|
|
60
32
|
</div>
|
|
61
33
|
<div class="complete-card__options">
|
|
62
34
|
{{#if dropdownOptions.length}}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<div class="why-not-add-card why-not-add-card--skeleton ssc">
|
|
2
|
+
<div class="ssc-square why-not-add-card__image"></div>
|
|
3
|
+
|
|
4
|
+
<div class="ssc-line why-not-add-card__skeleton-title"></div>
|
|
5
|
+
<div class="ssc-line why-not-add-card__skeleton-title-short"></div>
|
|
6
|
+
|
|
7
|
+
<div class="ssc-line why-not-add-card__skeleton-reviews"></div>
|
|
8
|
+
|
|
9
|
+
<div class="ssc-line why-not-add-card__skeleton-price"></div>
|
|
10
|
+
|
|
11
|
+
<div class="ssc-line why-not-add-card__skeleton-delivery"></div>
|
|
12
|
+
|
|
13
|
+
<div class="ssc-square why-not-add-card__skeleton-cta"></div>
|
|
14
|
+
</div>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<div class="why-not-add-card" data-product-code="{{code}}">
|
|
2
|
+
{{#if image.url}}
|
|
3
|
+
<img
|
|
4
|
+
class="why-not-add-card__image"
|
|
5
|
+
src="{{image.url}}"
|
|
6
|
+
alt="{{image.altText}}"
|
|
7
|
+
>
|
|
8
|
+
{{/if}}
|
|
9
|
+
|
|
10
|
+
<div class="why-not-add-card__content">
|
|
11
|
+
<a href="{{url}}" target="_blank" class="why-not-add-card__title">
|
|
12
|
+
{{name}}
|
|
13
|
+
</a>
|
|
14
|
+
|
|
15
|
+
{{> reviews-rating
|
|
16
|
+
externalAverageRating=externalAverageRating
|
|
17
|
+
externalReviewCount=externalReviewCount
|
|
18
|
+
}}
|
|
19
|
+
|
|
20
|
+
<div class="why-not-add-card__bottom">
|
|
21
|
+
<div class="why-not-add-card__price-wrap">
|
|
22
|
+
<div class="why-not-add-card__price {{#if wasPriceFormatted}}why-not-add-card__price--sale{{/if}}">
|
|
23
|
+
{{#if wasPriceFormatted}}
|
|
24
|
+
<span class="why-not-add-card__was-price">
|
|
25
|
+
{{#if switch-vat}}
|
|
26
|
+
<span class="including-vat-inherit">{{incVatWasPriceFormatted}}</span>
|
|
27
|
+
<span class="excluding-vat-inherit">{{excVatWasPriceFormatted}}</span>
|
|
28
|
+
{{else}}
|
|
29
|
+
{{wasPriceFormatted}}
|
|
30
|
+
{{/if}}
|
|
31
|
+
</span>
|
|
32
|
+
|
|
33
|
+
<span class="why-not-add-card__sale-price">
|
|
34
|
+
{{#if switch-vat}}
|
|
35
|
+
<span class="including-vat-inherit">{{incVatFormattedValue}}</span>
|
|
36
|
+
<span class="excluding-vat-inherit">{{excVatFormattedValue}}</span>
|
|
37
|
+
{{else}}
|
|
38
|
+
{{price.formattedValue}}
|
|
39
|
+
{{/if}}
|
|
40
|
+
</span>
|
|
41
|
+
{{else}}
|
|
42
|
+
<span class="why-not-add-card__regular-price">
|
|
43
|
+
{{#if switch-vat}}
|
|
44
|
+
<span class="including-vat-inherit">{{incVatFormattedValue}}</span>
|
|
45
|
+
<span class="excluding-vat-inherit">{{excVatFormattedValue}}</span>
|
|
46
|
+
{{else}}
|
|
47
|
+
{{price.formattedValue}}
|
|
48
|
+
{{/if}}
|
|
49
|
+
</span>
|
|
50
|
+
{{/if}}
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
{{#if switch-vat}}
|
|
54
|
+
<div class="why-not-add-card__vat-label">
|
|
55
|
+
<span class="including-vat-inherit">Inc.VAT</span>
|
|
56
|
+
<span class="excluding-vat-inherit">Exc.VAT</span>
|
|
57
|
+
</div>
|
|
58
|
+
{{/if}}
|
|
59
|
+
|
|
60
|
+
<div class="why-not-add-card__delivery">Excluding delivery</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
{{> button
|
|
64
|
+
type="button"
|
|
65
|
+
action=true
|
|
66
|
+
icon="fas fa-shopping-basket"
|
|
67
|
+
showLoader=true
|
|
68
|
+
loaderModifier="why-not-add-card__loader"
|
|
69
|
+
modification="why-not-add-card__cta"
|
|
70
|
+
}}
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<div class="why-not-add {{#if isSingleProduct}}why-not-add--single{{/if}}" data-why-not-add>
|
|
2
|
+
<div class="why-not-add__header">
|
|
3
|
+
<h3 class="why-not-add__title">Why not add</h3>
|
|
4
|
+
|
|
5
|
+
{{#unless isSingleProduct}}
|
|
6
|
+
<div class="why-not-add__arrows">
|
|
7
|
+
<button
|
|
8
|
+
class="why-not-add__arrow why-not-add__arrow-prev"
|
|
9
|
+
type="button"
|
|
10
|
+
aria-label="Previous slide"
|
|
11
|
+
data-why-not-add-prev
|
|
12
|
+
>
|
|
13
|
+
<i class="fas fa-chevron-left"></i>
|
|
14
|
+
</button>
|
|
15
|
+
|
|
16
|
+
<button
|
|
17
|
+
class="why-not-add__arrow why-not-add__arrow-next"
|
|
18
|
+
type="button"
|
|
19
|
+
aria-label="Next slide"
|
|
20
|
+
data-why-not-add-next
|
|
21
|
+
>
|
|
22
|
+
<i class="fas fa-chevron-right"></i>
|
|
23
|
+
</button>
|
|
24
|
+
</div>
|
|
25
|
+
{{/unless}}
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<div class="swiper-container why-not-add__slider" data-why-not-add-slider>
|
|
29
|
+
<div class="swiper-wrapper">
|
|
30
|
+
{{#each products}}
|
|
31
|
+
<div class="swiper-slide why-not-add__slide">
|
|
32
|
+
{{> bloomreach/why-not-add-card this}}
|
|
33
|
+
</div>
|
|
34
|
+
{{/each}}
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
{{#unless isSingleProduct}}
|
|
39
|
+
<div class="why-not-add__pagination" data-why-not-add-pagination></div>
|
|
40
|
+
{{/unless}}
|
|
41
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<div class="why-not-add why-not-add--skeleton ssc">
|
|
2
|
+
<div class="why-not-add__header">
|
|
3
|
+
<div class="ssc-line why-not-add__skeleton-title"></div>
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
<div class="why-not-add__skeleton-cards">
|
|
7
|
+
{{> bloomreach/why-not-add-card-skeleton}}
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
<div class="order__header">
|
|
3
3
|
<h3 class="order__title">{{title}}</h3>
|
|
4
4
|
<div class="order__subtotal-wrap">
|
|
5
|
-
|
|
5
|
+
{{#if switchVat}}
|
|
6
|
+
<p class="order__subtotal including-vat">Item(s) subtotal: <b>{{subtotal}}</b></p>
|
|
7
|
+
<p class="order__subtotal excluding-vat d-none">Item(s) subtotal: <b>{{subtotalExcVat}}</b></p>
|
|
8
|
+
{{else}}
|
|
9
|
+
<p class="order__subtotal">Item(s) subtotal: <b>{{subtotal}}</b></p>
|
|
10
|
+
{{/if}}
|
|
6
11
|
{{> info-icon
|
|
7
12
|
modification="icon-info"
|
|
8
13
|
title=subtotalTooltip
|
|
@@ -91,20 +91,20 @@
|
|
|
91
91
|
<div class="order-item__price">
|
|
92
92
|
<div class="order-item__price-title">Item price:</div>
|
|
93
93
|
<div class="order-item__price-value">
|
|
94
|
-
{{#ifvalue
|
|
94
|
+
{{#ifvalue displayBasePrice value='0'}}
|
|
95
95
|
<span class="order-item__value">FREE</span>
|
|
96
96
|
{{else}}
|
|
97
97
|
{{#if switch-vat}}
|
|
98
98
|
<div class="including-vat">
|
|
99
|
-
<span class="order-item__value">£{{
|
|
99
|
+
<span class="order-item__value">£{{displayBasePrice}}</span>
|
|
100
100
|
<div class="price-vat">Inc.VAT</div>
|
|
101
101
|
</div>
|
|
102
102
|
<div class="excluding-vat d-none">
|
|
103
|
-
<span class="order-item__value">£{{
|
|
103
|
+
<span class="order-item__value">£{{displayBasePriceExclusiveVat}}</span>
|
|
104
104
|
<div class="price-vat">Exc.VAT</div>
|
|
105
105
|
</div>
|
|
106
106
|
{{else}}
|
|
107
|
-
<span class="order-item__value">£{{
|
|
107
|
+
<span class="order-item__value">£{{displayBasePrice}}</span>
|
|
108
108
|
{{/if}}
|
|
109
109
|
{{/ifvalue}}
|
|
110
110
|
</div>
|
|
@@ -136,15 +136,15 @@
|
|
|
136
136
|
{{else}}
|
|
137
137
|
{{#if switch-vat}}
|
|
138
138
|
<div class="including-vat">
|
|
139
|
-
<span class="order-item__value">£{{
|
|
139
|
+
<span class="order-item__value">£{{displayItemTotalWithoutDiscount}}</span>
|
|
140
140
|
<div class="price-vat">Inc.VAT</div>
|
|
141
141
|
</div>
|
|
142
142
|
<div class="excluding-vat d-none">
|
|
143
|
-
<span class="order-item__value">£{{
|
|
143
|
+
<span class="order-item__value">£{{displayItemTotalWithoutDiscountExclusiveVat}}</span>
|
|
144
144
|
<div class="price-vat">Exc.VAT</div>
|
|
145
145
|
</div>
|
|
146
146
|
{{else}}
|
|
147
|
-
<span class="order-item__value">£{{
|
|
147
|
+
<span class="order-item__value">£{{displayItemTotalWithoutDiscount}}</span>
|
|
148
148
|
{{/if}}
|
|
149
149
|
{{/ifvalue}}
|
|
150
150
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{#if c-and-c}}
|
|
2
2
|
<div class="{{#if tile-measurement}}ti__total{{else}}pdp-price{{/if}}__control-holder">
|
|
3
|
-
<button class="btn btn-
|
|
4
|
-
<span class="btn__text">
|
|
3
|
+
<button class="btn btn-action btn_full" data-toggle="modal" data-target="#modal-click-and-collect">
|
|
4
|
+
<span class="btn__text">Click & Collect</span>
|
|
5
5
|
</button>
|
|
6
6
|
</div>
|
|
7
7
|
{{/if}}
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
<div class="p-promotion__icon">
|
|
3
3
|
<i class="icon fas fa-gift"></i>
|
|
4
4
|
</div>
|
|
5
|
-
{{#ifCond switch-vat '&&'
|
|
5
|
+
{{#ifCond switch-vat '&&' displayDescriptionExclusiveVat}}
|
|
6
6
|
<div class="p-promotion__description including-vat">
|
|
7
|
-
{{
|
|
7
|
+
{{displayDescription}}
|
|
8
8
|
</div>
|
|
9
9
|
<div class="p-promotion__description excluding-vat d-none">
|
|
10
|
-
{{
|
|
10
|
+
{{displayDescriptionExclusiveVat}}
|
|
11
11
|
</div>
|
|
12
12
|
{{else}}
|
|
13
13
|
<div class="p-promotion__description">
|
|
14
|
-
{{
|
|
14
|
+
{{displayDescription}}
|
|
15
15
|
</div>
|
|
16
16
|
{{/ifCond}}
|
|
17
17
|
<div class="p-promotion__close">
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<div class="pdp__badges-wrapper">
|
|
2
|
+
<div class="pdp__badges pdp-price-container__badges price__badges-v2 price__badges-v2-{{badge-color}}
|
|
3
|
+
{{#if badge-text-color}}price__badges-v2-text-{{badge-text-color}}{{/if}}
|
|
4
|
+
{{#if badge-wide}}price__badges-v2-wide{{/if}}">
|
|
5
|
+
{{#ifCond switch-vat '&&' badge-text-exc}}
|
|
6
|
+
<div class="pdp__badge including-vat">{{badge-text}}</div>
|
|
7
|
+
<div class="pdp__badge excluding-vat d-none">{{badge-text-exc}}</div>
|
|
8
|
+
{{else}}
|
|
9
|
+
<div class="pdp__badge">{{badge-text}}</div>
|
|
10
|
+
{{/ifCond}}
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
<div class="pdp-price-container">
|
|
2
|
-
{{#if isDiscount}}
|
|
3
|
-
<div class="pdp__badges pdp-price-container__badges price__badges-v2 price__badges-v2-{{badge-color}}
|
|
4
|
-
{{#if badge-text-color}}price__badges-v2-text-{{badge-text-color}}{{/if}}
|
|
5
|
-
{{#if badge-wide}}price__badges-v2-wide{{/if}}">
|
|
6
|
-
{{#ifCond switch-vat '&&' badge-text-exc}}
|
|
7
|
-
<div class="pdp__badge including-vat">{{badge-text}}</div>
|
|
8
|
-
<div class="pdp__badge excluding-vat d-none">{{badge-text-exc}}</div>
|
|
9
|
-
{{else}}
|
|
10
|
-
<div class="pdp__badge">{{badge-text}}</div>
|
|
11
|
-
{{/ifCond}}
|
|
12
|
-
</div>
|
|
13
|
-
{{/if}}
|
|
14
2
|
<div class="pdp-price">
|
|
3
|
+
{{#if isDiscount}}
|
|
4
|
+
{{> price-badges}}
|
|
5
|
+
{{/if}}
|
|
15
6
|
<div class="pdp-price__value">
|
|
16
7
|
{{#if switch-vat}}
|
|
17
8
|
<div class="pdp-price-sale__value including-vat">
|
|
@@ -196,6 +187,8 @@
|
|
|
196
187
|
</div>
|
|
197
188
|
{{/if}}
|
|
198
189
|
|
|
190
|
+
{{> bloomreach/why-not-add context=mockDataKey}}
|
|
191
|
+
|
|
199
192
|
{{#if mfeProductCalculator}}
|
|
200
193
|
<div class="pdp-price__quantity-calculator">MFE Calculator Placeholder</div>
|
|
201
194
|
{{/if}}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<div class="reviews">
|
|
2
|
+
<div class="rating-bg">
|
|
3
|
+
<i class="fa fa-star star-in" aria-hidden="true"></i>
|
|
4
|
+
<i class="fa fa-star star-in" aria-hidden="true"></i>
|
|
5
|
+
<i class="fa fa-star star-in" aria-hidden="true"></i>
|
|
6
|
+
<i class="fa fa-star star-in" aria-hidden="true"></i>
|
|
7
|
+
<i class="fa fa-star star-in" aria-hidden="true"></i>
|
|
8
|
+
|
|
9
|
+
<div
|
|
10
|
+
class="rating-overlay"
|
|
11
|
+
data-rating="{{#if externalAverageRating}}{{externalAverageRating}}{{else}}0{{/if}}"
|
|
12
|
+
>
|
|
13
|
+
<span class="star-overlay"><i class="fa fa-star" aria-hidden="true"></i></span>
|
|
14
|
+
<span class="star-overlay"><i class="fa fa-star" aria-hidden="true"></i></span>
|
|
15
|
+
<span class="star-overlay"><i class="fa fa-star" aria-hidden="true"></i></span>
|
|
16
|
+
<span class="star-overlay"><i class="fa fa-star" aria-hidden="true"></i></span>
|
|
17
|
+
<span class="star-overlay"><i class="fa fa-star" aria-hidden="true"></i></span>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<span class="{{#if countClass}}{{countClass}}{{else}}reviews-count{{/if}}">(<span class="{{#if countValueClass}}{{countValueClass}}{{else}}reviews-count-value{{/if}}">{{#if externalReviewCount}}{{externalReviewCount}}{{else}}0{{/if}}</span>)</span>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
|
|
19
19
|
<form class="share-list__form" action="#" id="share-list-form">
|
|
20
20
|
|
|
21
|
-
{{> form-row type="
|
|
21
|
+
{{> form-row type="text" id="share-via-email" label="Share via email" info="Enter email addresses separated by space:"}}
|
|
22
22
|
|
|
23
23
|
<div class="share-via-email-box">
|
|
24
|
-
{{> form-row type="
|
|
24
|
+
{{> form-row type="text"}}
|
|
25
25
|
</div>
|
|
26
26
|
|
|
27
27
|
<span id="add-btn" class="add-email-btn">
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
|
|
19
19
|
<form class="share-list__form" action="#" id="share-list-form">
|
|
20
20
|
|
|
21
|
-
{{> form-row type="
|
|
21
|
+
{{> form-row type="text" id="share-via-email" label="Share via email" info="Enter email addresses separated by space:"}}
|
|
22
22
|
|
|
23
23
|
<div class="share-via-email-box">
|
|
24
|
-
{{> form-row type="
|
|
24
|
+
{{> form-row type="text"}}
|
|
25
25
|
</div>
|
|
26
26
|
|
|
27
27
|
<span id="add-btn" class="add-email-btn">
|
|
@@ -89,6 +89,10 @@
|
|
|
89
89
|
})
|
|
90
90
|
|
|
91
91
|
$(".share-list__cancel").bind("click", function() {
|
|
92
|
-
$("
|
|
92
|
+
$(".js-share-email").val("");
|
|
93
|
+
|
|
94
|
+
if (window.Wick && Wick.ShoppingList && typeof Wick.ShoppingList.resetFormErrors === "function") {
|
|
95
|
+
Wick.ShoppingList.resetFormErrors();
|
|
96
|
+
}
|
|
93
97
|
});
|
|
94
98
|
</script>
|