wickes-css2 2.106.0-develop.6 → 2.106.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.
Files changed (56) hide show
  1. package/Readme.md +0 -1
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/components/global-search.css +1 -1
  4. package/build/css/homepage-main.css +1 -1
  5. package/build/css/kitchen-plp-main.css +1 -1
  6. package/build/css/main.css +1 -1
  7. package/build/css/my-account-main-v2.css +1 -1
  8. package/build/css/my-account-main.css +1 -1
  9. package/build/css/pages/page_products-list-combined.css +1 -1
  10. package/build/css/pdp-main-before-combine.css +1 -1
  11. package/build/css/pdp-main-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 +9 -1
  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/filters/plp-filters-mobile.js +7 -4
  22. package/build/js/page/filters/plp-filters-utils.js +0 -9
  23. package/build/js/page/filters/plp-filters.js +3 -11
  24. package/build/js/page/plp-img-v2.js +25 -0
  25. package/build/js/page/share-project-list.js +33 -151
  26. package/build/js/pdp.bundle.min.js +1 -1
  27. package/build/js/plp-filters.min.js +2 -2
  28. package/build/js/plp.bundle.min.js +1 -1
  29. package/build/js/project-list.min.js +1 -1
  30. package/build/js/share-project-list.min.js +1 -1
  31. package/package.json +2 -2
  32. package/src/components/card_product_v2.hbs +6 -1
  33. package/src/components/price-block-v2.hbs +16 -15
  34. package/src/data/data_search-results_v2.json +2 -1
  35. package/src/js/components/general/switchVat.js +1 -4
  36. package/src/js/components/share-project-list.js +56 -0
  37. package/src/js/emulation/mock.js +10 -0
  38. package/src/js/emulation/plp-load-more.js +4 -1
  39. package/src/js/page/filters/plp-filters-mobile.js +7 -4
  40. package/src/js/page/filters/plp-filters-utils.js +0 -9
  41. package/src/js/page/filters/plp-filters.js +3 -11
  42. package/src/js/page/plp-img-v2.js +25 -0
  43. package/src/js/page/share-project-list.js +33 -151
  44. package/src/page_plp-with-paint.html +1 -1
  45. package/src/page_plp_v2-energy-efficiency.html +1 -1
  46. package/src/page_plp_v2-favourite-products.html +1 -1
  47. package/src/page_plp_v2-vat.html +32 -27
  48. package/src/page_plp_v2.html +1 -1
  49. package/src/page_product-details-cnc-success-notification-vat.html +3 -2
  50. package/src/page_product_search-vat.html +1 -1
  51. package/src/page_product_search.html +1 -1
  52. package/src/page_search-results.html +1 -1
  53. package/src/partials/scripts.hbs +3 -0
  54. package/src/scss/components/_custom-slider.scss +2 -2
  55. package/src/scss/helpers/_variables.scss +15 -6
  56. package/src/scss/pages/page_products-list-combined.scss +2 -34
@@ -1,5 +1,8 @@
1
1
  function getHtmlByCurrentPage({currentPage}) {
2
- const matchingData = Wick.FEMock.productListPagesData.find(item => item.page === currentPage);
2
+ const pagesData = Wick.VatToggle.isToggleVatAvailable()
3
+ ? Wick.FEMock.productListVatPagesData
4
+ : Wick.FEMock.productListPagesData;
5
+ const matchingData = pagesData.find(item => item.page === currentPage);
3
6
 
4
7
  return matchingData.html;
5
8
  }
@@ -65,6 +65,11 @@ Wick.PLPFiltersMobile = {
65
65
  $btn.text(total > 0 ? `View results (${total})` : 'View results');
66
66
  },
67
67
 
68
+ hideAccordions() {
69
+ $(Wick.PLPFiltersMobile.$ACCORDION).addClass(Wick.PLPFiltersMobile.ACCORDION_COLLAPSED);
70
+ $(Wick.PLPFiltersMobile.$ACCORDION_CONTENT).hide();
71
+ },
72
+
68
73
  init() {
69
74
  // two-way binding for input between desktop and modal
70
75
  $(document)
@@ -81,14 +86,13 @@ Wick.PLPFiltersMobile = {
81
86
  $(document)
82
87
  .off('shown.bs.modal.plpFiltersMobile', Wick.PLPFiltersMobile.MODAL_SEL)
83
88
  .on('shown.bs.modal.plpFiltersMobile', Wick.PLPFiltersMobile.MODAL_SEL, function () {
84
- Wick.PLPFilters.setDOMFromState($(this), Wick.PLPFilters.draftState);
89
+ Wick.PLPFilters.setDOMFromState($(this), Wick.PLPFilters.appliedState);
85
90
  });
86
91
 
87
92
  $(document)
88
93
  .off('hide.bs.modal.plpFiltersMobile', Wick.PLPFiltersMobile.MODAL_SEL)
89
94
  .on('hide.bs.modal.plpFiltersMobile', Wick.PLPFiltersMobile.MODAL_SEL, function () {
90
- const scope = $(Wick.PLPFiltersMobile.ROOT_WRAPPER).add($(this));
91
- Wick.PLPFilters.draftState = Wick.PLPFilters.collectStateFromDOM(scope);
95
+ Wick.PLPFiltersMobile.hideAccordions();
92
96
  });
93
97
 
94
98
  // mobile "View results" button in modal
@@ -122,7 +126,6 @@ Wick.PLPFiltersMobile = {
122
126
 
123
127
  e.preventDefault();
124
128
 
125
- Wick.PLPFilters.draftState = {};
126
129
  Wick.PLPFilters.appliedState = {};
127
130
  Wick.PLPFilters.writeStateToURL(Wick.PLPFilters.appliedState, false);
128
131
 
@@ -1,14 +1,6 @@
1
1
  var Wick = window.Wick || {};
2
2
 
3
3
  Wick.PLPUtils = (function () {
4
- function cloneState(state) {
5
- const out = {};
6
- Object.keys(state).forEach((k) => {
7
- out[k] = new Set(state[k]);
8
- });
9
- return out;
10
- }
11
-
12
4
  function syncTwinInputsByName(name, checked, source) {
13
5
  const all = $('.filter-card__checkbox, .swatch__checkbox, .checkbox__input').filter(
14
6
  function () {
@@ -65,7 +57,6 @@ Wick.PLPUtils = (function () {
65
57
  }
66
58
 
67
59
  return {
68
- cloneState,
69
60
  syncTwinInputsByName,
70
61
  getPanelType,
71
62
  countItems,
@@ -6,7 +6,6 @@ Wick.PLPFilters = {
6
6
  ROOT: '.plp-filters',
7
7
  GROUP: '.plp-filters__group',
8
8
  APPLY_BTN: '.plp-filters__apply',
9
- draftState: null,
10
9
 
11
10
  INPUTS: '.filter-card__checkbox, .swatch__checkbox, .checkbox__input',
12
11
 
@@ -25,7 +24,6 @@ Wick.PLPFilters = {
25
24
  }
26
25
 
27
26
  Wick.PLPFilters.appliedState = Wick.PLPFilters.readStateFromURL(rootWrapper);
28
- Wick.PLPFilters.draftState = Wick.PLPUtils.cloneState(Wick.PLPFilters.appliedState);
29
27
  Wick.PLPFilters.setDOMFromState(rootWrapper, Wick.PLPFilters.appliedState);
30
28
 
31
29
  // 3) chips
@@ -45,11 +43,8 @@ Wick.PLPFilters = {
45
43
  handlePageShow() {
46
44
  window.addEventListener('pageshow', function () {
47
45
  const rootWrapper = $(Wick.PLPFilters.ROOT_WRAPPER);
48
- const stateScope = rootWrapper.add($(Wick.PLPFiltersMobile.MODAL_SEL));
49
-
50
- Wick.PLPFilters.appliedState = Wick.PLPFilters.readStateFromURL(stateScope);
51
- Wick.PLPFilters.draftState = Wick.PLPFilters.appliedState;
52
- Wick.PLPFilters.setDOMFromState(stateScope, Wick.PLPFilters.appliedState);
46
+ Wick.PLPFilters.appliedState = Wick.PLPFilters.readStateFromURL(rootWrapper);
47
+ Wick.PLPFilters.setDOMFromState(rootWrapper, Wick.PLPFilters.appliedState);
53
48
  });
54
49
  },
55
50
 
@@ -192,10 +187,7 @@ Wick.PLPFilters = {
192
187
 
193
188
  // ===== APPLY
194
189
  applyFromScopes(scopeForCollect, push) {
195
- const nextState = Wick.PLPFilters.collectStateFromDOM(scopeForCollect);
196
-
197
- Wick.PLPFilters.draftState = nextState;
198
- Wick.PLPFilters.appliedState = nextState;
190
+ Wick.PLPFilters.appliedState = Wick.PLPFilters.collectStateFromDOM(scopeForCollect);
199
191
  Wick.PLPFilters.writeStateToURL(Wick.PLPFilters.appliedState, !!push);
200
192
  },
201
193
 
@@ -0,0 +1,25 @@
1
+ $(document).ready(function () {
2
+
3
+ let imgWrap = $('.products-list-v2 .card__img-wrap');
4
+ let img = $('.products-list-v2 .card__img-v2');
5
+
6
+ square();
7
+
8
+ img.height(function () {
9
+ if (Math.round($(this).height()) > Math.round($(this).width())) {
10
+ $(this).height('99.9%'); //fix for ie
11
+ } else if ((Math.round($(this).height()) < Math.round($(this).width()))){
12
+ $(this).width('99.9%'); // fix for ie
13
+ } else {
14
+ $(this).width('99.9%'); // fix for ie
15
+ $(this).height('99.9%'); // fix for ie
16
+ }
17
+ });
18
+
19
+ function square() {
20
+ let width = imgWrap.width();
21
+ imgWrap.height(width);
22
+ }
23
+
24
+ $(window).on('resize', square);
25
+ });
@@ -1,175 +1,57 @@
1
1
  import { copyToClipboard } from './utils/copy-to-clipboard';
2
2
 
3
- var Wick = window.Wick || {};
4
-
3
+ var Wick = Wick || {};
5
4
  Wick.ShareProjectList = (function () {
6
- const SELECTORS = {
7
- input: '#share-list-modal #shopping-list-link',
8
- linkContainer: '#copy-link',
9
- link: 'a',
10
- };
11
-
12
- const CLASSES = {
13
- copied: 'copy-link_hovered',
14
- };
15
-
16
- function logActiveElement() {
17
- const active = document.activeElement;
18
-
19
- if (!active) {
20
- return;
21
- }
22
- }
23
-
24
- function getElements() {
25
- const $input = $(SELECTORS.input);
26
- const $linkContainer = $(SELECTORS.linkContainer);
27
- const $link = $linkContainer.find(SELECTORS.link);
28
-
29
- return {
30
- $input: $input,
31
- $linkContainer: $linkContainer,
32
- $link: $link,
33
- };
34
- }
35
-
36
- function enableFocusAndSelect($input, source) {
37
- if (!$input.length) {
38
- return;
39
- }
5
+ function init() {
6
+ var $input = $('#share-list-modal #shopping-list-link');
7
+ var linkContainer = $('#copy-link');
8
+ var $actualLink = linkContainer.find('a');
9
+ var copyClass = 'copy-link_hovered';
40
10
 
41
- const input = $input.get(0);
42
- const value = input.value || '';
43
- const valueLength = value.length;
11
+ $actualLink.on('click', function (e) {
12
+ e.preventDefault();
13
+ });
44
14
 
45
- logActiveElement('[ShareProjectList] before removeAttr disabled');
15
+ function focusAndSelectInput() {
16
+ if (!$input.length) return;
46
17
 
47
- $input.removeAttr('disabled');
18
+ var el = $input.get(0);
48
19
 
49
- try {
50
- input.focus();
51
- } catch (error) {
52
- console.error('[ShareProjectList] input.focus() failed', {
53
- source: source,
54
- error: error,
55
- });
56
- }
20
+ $input.removeAttr('disabled');
57
21
 
58
- logActiveElement('[ShareProjectList] after input.focus()');
22
+ el.focus();
59
23
 
60
- try {
61
- if (typeof input.setSelectionRange === 'function') {
62
- input.setSelectionRange(0, valueLength);
63
- } else if (typeof input.select === 'function') {
64
- input.select();
24
+ var len = (el.value || '').length;
25
+ if (typeof el.setSelectionRange === 'function') {
26
+ el.setSelectionRange(0, len);
27
+ } else if (typeof el.select === 'function') {
28
+ el.select();
65
29
  }
66
- } catch (error) {
67
- console.error('[ShareProjectList] selection failed', {
68
- source: source,
69
- error: error,
70
- });
71
30
  }
72
31
 
73
- logActiveElement('[ShareProjectList] after selection');
74
-
75
- setTimeout(function () {
76
- logActiveElement('[ShareProjectList] after 0ms timeout');
77
- }, 0);
78
-
79
- setTimeout(function () {
80
- logActiveElement('[ShareProjectList] after 50ms timeout');
81
- }, 50);
82
-
83
- setTimeout(function () {
84
- logActiveElement('[ShareProjectList] after 150ms timeout');
85
- }, 150);
86
- }
87
-
88
- function getInputValue($input) {
89
- const value = String($input.val() || '').trim();
90
-
91
- return value;
92
- }
93
-
94
- function bindEvents(elements) {
95
- const $input = elements.$input;
96
- const $linkContainer = elements.$linkContainer;
97
- const $link = elements.$link;
32
+ linkContainer.on('click', function (e) {
33
+ e.preventDefault();
98
34
 
99
- $input.on('focus', function () {
100
- logActiveElement('[ShareProjectList] on input focus');
101
- });
35
+ focusAndSelectInput();
102
36
 
103
- $input.on('blur', function () {
104
- logActiveElement('[ShareProjectList] on input blur');
105
- });
37
+ var value = ($input.val() || '').trim();
38
+ if (!value) return;
106
39
 
107
- $link.on('click', function (event) {
108
- event.preventDefault();
109
- });
110
-
111
- $linkContainer.on('mousedown', function () {
112
- logActiveElement('[ShareProjectList] on mousedown before focus');
113
- });
114
-
115
- $linkContainer.on('click', function (event) {
116
- let value;
117
-
118
- logActiveElement('[ShareProjectList] before click preventDefault');
119
-
120
- event.preventDefault();
121
-
122
- enableFocusAndSelect($input, 'linkContainer click');
123
-
124
- value = getInputValue($input);
125
- if (!value) {
126
- return;
127
- }
128
-
129
- copyToClipboard(value, $linkContainer.get(0), { noUpperCase: true })
40
+ copyToClipboard(value, linkContainer[0], { noUpperCase: true })
130
41
  .then(function () {
131
- $link.addClass(CLASSES.copied);
132
-
133
- logActiveElement('[ShareProjectList] after copy success before refocus');
134
-
135
- enableFocusAndSelect($input, 'copy success refocus');
136
-
137
- setTimeout(function () {
138
- enableFocusAndSelect($input, 'copy success refocus timeout 0');
139
- }, 0);
140
-
141
- setTimeout(function () {
142
- enableFocusAndSelect($input, 'copy success refocus timeout 50');
143
- }, 50);
42
+ $actualLink.addClass(copyClass);
144
43
  })
145
- .catch(function (error) {
146
- console.error('[ShareProjectList] Failed to copy shopping list link', error);
147
-
148
- logActiveElement('[ShareProjectList] after copy error before refocus');
149
-
150
- enableFocusAndSelect($input, 'copy error refocus');
44
+ .catch(function (e) {
45
+ console.error(e);
151
46
  });
152
47
  });
153
48
 
154
- $input.on('click', function () {
155
- enableFocusAndSelect($input, 'input click');
156
- $link.removeClass(CLASSES.copied);
49
+ $input.on('click', function (e) {
50
+ e.preventDefault();
51
+ focusAndSelectInput();
52
+ $actualLink.removeClass(copyClass);
157
53
  });
158
54
  }
159
55
 
160
- function init() {
161
- var elements = getElements();
162
-
163
- if (!elements.$input.length || !elements.$linkContainer.length || !elements.$link.length) {
164
- return;
165
- }
166
-
167
- bindEvents(elements);
168
- }
169
-
170
- return {
171
- init: init,
172
- };
56
+ init();
173
57
  })();
174
-
175
- Wick.ShareProjectList.init();
@@ -63,7 +63,7 @@
63
63
  {{/content}}
64
64
  {{#content "foot" mode="append"}}
65
65
  <script defer src="./js/page/plp.js"></script>
66
-
66
+ <script defer src="./js/page/plp-img-v2.js"></script>
67
67
  <script defer src="./js/page/plp-cards-v2.js"></script>
68
68
  <script defer src="./js/search-filter.min.js"></script>
69
69
  {{/content}}
@@ -70,7 +70,7 @@
70
70
 
71
71
  <script defer src="./js/plp.bundle.min.js"></script>
72
72
  <script defer src="./js/energy-efficiency.min.js"></script>
73
-
73
+ <script defer src="./js/page/plp-img-v2.js"></script>
74
74
  <script defer src="./js/page/plp-cards-v2.js"></script>
75
75
  <script defer src="./js/search-filter.min.js"></script>
76
76
  {{/content}}
@@ -69,7 +69,7 @@
69
69
  {{/content}}
70
70
  {{#content "foot" mode="append"}}
71
71
  <script defer src="./js/page/plp.js"></script>
72
-
72
+ <script defer src="./js/page/plp-img-v2.js"></script>
73
73
  <script defer src="./js/page/plp-cards-v2.js"></script>
74
74
  <script defer src="./js/plp-favourite-product.bundle.min.js"></script>
75
75
  <script defer src="./js/plp-filters.min.js"></script>
@@ -1,19 +1,20 @@
1
- {{#extend "base" hybrisClass="hybris-class" pageClass="products-list-page" title="Products list" pagePlp=true switch-vat=true}}
2
- {{#content "head" mode="append" pagePlp=true}}
3
- <link type="text/css" rel="stylesheet" href="./css/pages/page_products-list.css">
4
- {{/content}}
1
+ {{#extend "base" hybrisClass="hybris-class" pageClass="products-list-page retail-media category-seo-config" title="Products list" globalSearchV2="true" pagePlp=true switch-vat=true bundle="plp"}}
2
+ {{#content "head" mode="append" pagePlp=true}}
3
+ <link type="text/css" rel="stylesheet" href="./css/components/global-search.css">
4
+ {{/content}}
5
+ <style></style>
5
6
  {{#content "body"}}
6
7
  <main>
7
8
  <div class="container">
8
-
9
9
  <div class="page-header page-header_border-all">
10
10
  <h1 class="page-header__title">
11
11
  Fire Doors
12
12
  </h1>
13
-
14
13
  {{> srp-injected}}
15
14
  </div>
16
15
 
16
+ {{> color-picker-plp }}
17
+
17
18
  <div class="row">
18
19
  <aside class="left-aside">
19
20
  {{> search-filter collapsed="accordion_collapsed" hidden="hidden-state"}}
@@ -21,35 +22,39 @@
21
22
 
22
23
  <div class="content">
23
24
  <div class="sort-products-list">
24
- <div class="sort-products-list__section sort-products-list__items-per-page">
25
- {{> form-row dropdown="true" ddn-mod="ddn_small" id="d1-top" label="Products per page" label-hidden="true" placeholder="All products per page"}}
26
- </div>
27
- <div class="sort-products-list__section sort-products-list__pagination">
28
- {{> pagination pagination1="true" }}
29
- {{> pagination pagination2="true" }}
25
+ <input id="numberOfPagesPLP" value="3" type="hidden">
26
+ <div class="sort-products-list__total">
27
+ <span>{{plp_load-more.pagination.totalNumberOfResults}} products</span>
30
28
  </div>
31
29
  <div class="sort-products-list__section sort-products-list__sort-by">
32
- {{> form-row dropdown="true" ddn-mod="ddn_small" id="d2" label="Sort by" label-hidden="true" placeholder="Name (descending)"}}
30
+ {{> form-row dropdown="true" ddn-mod="ddn_small" id="#sort_form1" label="Sort by" label-hidden="true" placeholder="Name (descending)"}}
33
31
  </div>
34
32
  </div>
35
33
 
36
34
  <div class="products-list products-list-v2">
37
- {{#if search-result_v2.product-banner}}
38
- {{>card_product_banner_v2}}
39
- {{/if}}
40
35
  {{#each search-result_v2.products}}
41
36
  {{>card_product_v2 switch-vat=true}}
42
37
  {{/each}}
38
+ {{#if search-result_v2.product-banner}}
39
+ {{#each search-result_v2.product-banner}}
40
+ {{>card_product_banner_v2}}
41
+ {{/each}}
42
+ {{/if}}
43
+ {{#if search-result_v2.sponsor-banner}}
44
+ {{#each search-result_v2.sponsor-banner}}
45
+ {{>card_sponsor_banner}}
46
+ {{/each}}
47
+ {{/if}}
48
+ {{#if search-result_v2.sponsor-product}}
49
+ {{#each search-result_v2.sponsor-product}}
50
+ {{>card_sponsor_product}}
51
+ {{/each}}
52
+ {{/if}}
43
53
  </div>
44
-
45
- <div class="sort-products-list">
46
- <div class="sort-products-list__section sort-products-list__items-per-page is-hidden">
47
- {{> form-row dropdown="true" ddn-mod="ddn_small" id="d1-bottom" label="Products per page" label-hidden="true" placeholder="All products per page"}}
48
- </div>
49
- <div class="sort-products-list__section sort-products-list__pagination">
50
- {{> pagination pagination1="true" }}
51
- {{> pagination pagination2="true" }}
52
- </div>
54
+ <div class="load-more-wrap">
55
+ <button class="btn btn-primary btn_full btn-load-more">
56
+ Load more
57
+ </button>
53
58
  </div>
54
59
  </div>
55
60
  <!-- ./content -->
@@ -65,9 +70,9 @@
65
70
  </main>
66
71
  {{/content}}
67
72
  {{#content "foot" mode="append"}}
68
- <script defer src="./js/page/plp.js"></script>
69
-
73
+ <script defer src="./js/page/plp-img-v2.js"></script>
70
74
  <script defer src="./js/page/plp-cards-v2.js"></script>
71
75
  <script defer src="./js/search-filter.min.js"></script>
76
+ <script defer src="./js/plp-filters.min.js"></script>
72
77
  {{/content}}
73
78
  {{/extend}}
@@ -83,7 +83,7 @@
83
83
  {{#content "foot" mode="append"}}
84
84
  {{> kitchen/filter-modal isKitchenMode=false modalTitle="Filter by" }}
85
85
  <script defer src="./js/plp.bundle.min.js"></script>
86
-
86
+ <script defer src="./js/page/plp-img-v2.js"></script>
87
87
  <script defer src="./js/page/plp-cards-v2.js"></script>
88
88
  <script defer src="./js/search-filter.min.js"></script>
89
89
  <script defer src="./js/plp-filters.min.js"></script>
@@ -1,12 +1,13 @@
1
1
  {{#extend "base" pageClass="page-product-details" title="Product details page WisDOM VAT"
2
2
  isDiscount=true
3
3
  isSQM=true
4
- isDescription=false
4
+ isDescription=true
5
5
  isCashback=false
6
6
  isSize=true
7
7
  isGuide=true
8
8
  hourly-delivery=true
9
- badge-text='15% off'
9
+ badge-text='2 for £47'
10
+ badge-text-exc='2 for £46'
10
11
  badge-color='yellow'
11
12
  badge-text-color='gray'
12
13
  currentlyInStock=true
@@ -60,7 +60,7 @@
60
60
  {{/content}}
61
61
  {{#content "foot" mode="append"}}
62
62
  <script defer src="./js/page/plp.js"></script>
63
-
63
+ <script defer src="./js/page/plp-img-v2.js"></script>
64
64
  <script defer src="./js/page/plp-cards-v2.js"></script>
65
65
  <script defer src="./js/components/badge-cashback.js"></script>
66
66
  <script defer src="./js/search-filter.min.js"></script>
@@ -60,7 +60,7 @@
60
60
  {{/content}}
61
61
  {{#content "foot" mode="append"}}
62
62
  <script defer src="./js/page/plp.js"></script>
63
-
63
+ <script defer src="./js/page/plp-img-v2.js"></script>
64
64
  <script defer src="./js/page/plp-cards-v2.js"></script>
65
65
  <script defer src="./js/components/badge-cashback.js"></script>
66
66
  <script defer src="./js/search-filter.min.js"></script>
@@ -72,7 +72,7 @@
72
72
  {{#content "foot" mode="append"}}
73
73
  <script defer src="./js/plp.bundle.min.js"></script>
74
74
  <script defer src="./js/energy-efficiency.min.js"></script>
75
-
75
+ <script defer src="./js/page/plp-img-v2.js"></script>
76
76
  <script defer src="./js/page/plp-cards-v2.js"></script>
77
77
  <script defer src="./js/search-filter.min.js"></script>
78
78
  {{/content}}
@@ -13,6 +13,9 @@
13
13
  {{#ifCond bundle "==" "basket"}}
14
14
  <script src="./js/basket.min.js"></script>
15
15
  {{/ifCond}}
16
+ {{#ifCond bundle "==" "plp"}}
17
+ <script src="./js/plp.bundle.min.js"></script>
18
+ {{/ifCond}}
16
19
  {{!-- BUNDLES END --}}
17
20
  <script src="./js/mini-basket-slider.min.js"></script>
18
21
  <script src="./js/pdp-count-stepper.min.js"></script>
@@ -337,7 +337,7 @@
337
337
  transition: all 0.3s ease;
338
338
 
339
339
  &.footer-fixed {
340
- box-shadow: 0 -4px 12px 0 rgba(0, 0, 0, 0.08);
340
+ box-shadow: 0px -4px 12px 0px rgba(0, 0, 0, 0.08);
341
341
  position: fixed;
342
342
  width: 100%;
343
343
  left: 0;
@@ -408,7 +408,7 @@
408
408
  }
409
409
 
410
410
  .custom-slider__footer {
411
- box-shadow: 0 -4px 12px 0 rgba(0, 0, 0, 0.08);
411
+ box-shadow: 0px -4px 12px 0px rgba(0, 0, 0, 0.08);
412
412
  flex-direction: column;
413
413
  }
414
414
  }
@@ -33,6 +33,7 @@ $error-bg: #fcf2f3; // Error notification background colour
33
33
  $positive: #8dc63f; // Positive colour
34
34
  $negative: #ed1c24; // Negative colour
35
35
  $blue-badge: #019ee3;
36
+ $pacific-depths: #004587;
36
37
  $usp-icon-color: #1a77bc; // Usp icon color
37
38
  $pacific-depths: #004587;
38
39
  $line-through: #242424;
@@ -46,6 +47,10 @@ $footer-gray: #f5f5f5;
46
47
  $footer-bullet: #c8c8c8;
47
48
  $footer-copyright: #626262;
48
49
 
50
+ $footer-gray: #f5f5f5;
51
+ $footer-bullet: #c8c8c8;
52
+ $footer-copyright: #626262;
53
+
49
54
  $white: #fff;
50
55
  $black: #000;
51
56
  $black-lite: #111;
@@ -62,6 +67,7 @@ $blue-ocean: #003058;
62
67
  $blue-ocean-dark: #0a3054;
63
68
  $gray-middle: #aaa;
64
69
  $light-blue: #e6f1f8;
70
+
65
71
  // Colour block colours
66
72
  $moon-shadow: #658089;
67
73
  $fawn: #f0ddce;
@@ -105,7 +111,7 @@ $black-transparent75: rgba(0, 0, 0, 0.75);
105
111
  $black-transparent80: rgba(0, 0, 0, 0.8);
106
112
  $blue-transparent20: rgba(2, 119, 189, 0.2);
107
113
  $blue-transparent10: rgba(2, 119, 189, 0.1);
108
- $blue-transparent3: rgba(2, 119, 189, 0.32);
114
+ $blue-transparent3: #0277bd52;
109
115
  $blue-transparent5: rgba(2, 119, 189, 0.05);
110
116
  $blue-transparent5-rgb: rgb(242, 248, 251);
111
117
  $dark-blue-transparent10: rgba(10, 48, 85, 0.1);
@@ -299,7 +305,7 @@ $btn-line-height-sm: $input-btn-line-height-sm !default;
299
305
 
300
306
  $btn-padding-y-lg: $input-btn-padding-y-lg !default;
301
307
  $btn-padding-x-lg: $input-btn-padding-x-lg !default;
302
- $btn-line-height-lg: $input-btn-line-height-lg !default;
308
+ $btn-line-height-lg: $input-btn_line-height-lg !default;
303
309
 
304
310
  $btn-border-radius: $border-radius !default;
305
311
  $btn-border-radius-lg: $border-radius-lg !default;
@@ -379,7 +385,8 @@ $zindex-share: 1 !default;
379
385
 
380
386
  // This variable affects the `.h-*` and `.w-*` classes.
381
387
  $sizes: () !default;
382
- // sass-lint:disable indentation
388
+
389
+ /* sass-lint:disable indentation */
383
390
  $sizes: map-merge(
384
391
  (
385
392
  25: 25%,
@@ -389,7 +396,8 @@ $sizes: map-merge(
389
396
  ),
390
397
  $sizes
391
398
  );
392
- // sass-lint:enable indentation
399
+ /* sass-lint:enable indentation */
400
+
393
401
  // Spacing
394
402
  //
395
403
  // Control the default styling of most Bootstrap elements by modifying these
@@ -399,7 +407,8 @@ $sizes: map-merge(
399
407
  // stylelint-disable
400
408
  $spacer: 1rem !default;
401
409
  $spacers: () !default;
402
- // sass-lint:disable indentation
410
+
411
+ /* sass-lint:disable indentation */
403
412
  $spacers: map-merge(
404
413
  (
405
414
  0: 0,
@@ -419,7 +428,7 @@ $spacers: map-merge(
419
428
  ),
420
429
  $spacers
421
430
  );
422
- // sass-lint:enable indentation
431
+ /* sass-lint:enable indentation */
423
432
 
424
433
  // Bootstrap Printing checked
425
434
  $print-page-size: a3 !default;