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 +1 @@
1
- !function t(i,r,c){function l(n,e){if(!r[n]){if(!i[n]){var o="function"==typeof require&&require;if(!e&&o)return o(n,!0);if(u)return u(n,!0);throw(e=new Error("Cannot find module '"+n+"'")).code="MODULE_NOT_FOUND",e}o=r[n]={exports:{}},i[n][0].call(o.exports,function(e){return l(i[n][1][e]||e)},o,o.exports,t,i,r,c)}return r[n].exports}for(var u="function"==typeof require&&require,e=0;e<c.length;e++)l(c[e]);return l}({1:[function(e,n,o){"use strict";var t,i,r=e("./utils/copy-to-clipboard"),e=window.Wick||{};function c(){document.activeElement}function l(e,n){if(e.length){var o=e.get(0),t=(o.value||"").length;c(),e.removeAttr("disabled");try{o.focus()}catch(e){console.error("[ShareProjectList] input.focus() failed",{source:n,error:e})}c();try{"function"==typeof o.setSelectionRange?o.setSelectionRange(0,t):"function"==typeof o.select&&o.select()}catch(e){console.error("[ShareProjectList] selection failed",{source:n,error:e})}c(),setTimeout(function(){c()},0),setTimeout(function(){c()},50),setTimeout(function(){c()},150)}}function u(e){var n=e.$input,o=e.$linkContainer,t=e.$link;n.on("focus",function(){c()}),n.on("blur",function(){c()}),t.on("click",function(e){e.preventDefault()}),o.on("mousedown",function(){c()}),o.on("click",function(e){c(),e.preventDefault(),l(n,"linkContainer click"),(e=String(n.val()||"").trim())&&(0,r.copyToClipboard)(e,o.get(0),{noUpperCase:!0}).then(function(){t.addClass(i.copied),c(),l(n,"copy success refocus"),setTimeout(function(){l(n,"copy success refocus timeout 0")},0),setTimeout(function(){l(n,"copy success refocus timeout 50")},50)}).catch(function(e){console.error("[ShareProjectList] Failed to copy shopping list link",e),c(),l(n,"copy error refocus")})}),n.on("click",function(){l(n,"input click"),t.removeClass(i.copied)})}e.ShareProjectList=(t={input:"#share-list-modal #shopping-list-link",linkContainer:"#copy-link",link:"a"},i={copied:"copy-link_hovered"},{init:function(){o=$(t.input),e=$(t.linkContainer),n=e.find(t.link);var e,n,o={$input:o,$linkContainer:e,$link:n};o.$input.length&&o.$linkContainer.length&&o.$link.length&&u(o)}}),e.ShareProjectList.init()},{"./utils/copy-to-clipboard":2}],2:[function(e,n,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.copyToClipboard=function(e,n){var o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},e=function(e,n){e=null==e?"":e+"";return(n.noUpperCase?e:e.replace(/(^\w|\s\w)/g,function(e){return e.toUpperCase()})).split(" ").filter(function(e){return""!==e}).join(" ").trim()}(e,o);if(!e)return Promise.reject(new Error("Empty text"));if(null!=(o=window.webkit)&&null!=(o=o.messageHandlers)&&o.copy)try{return window.webkit.messageHandlers.copy.postMessage(e),Promise.resolve(!0)}catch(e){console.error(e)}if(null!=(o=window.Android)&&o.copyToClipboard&&"function"==typeof window.Android.copyToClipboard)try{return window.Android.copyToClipboard(e),Promise.resolve(!0)}catch(e){console.error(e)}if(null!=(o=navigator.clipboard)&&o.writeText)return navigator.clipboard.writeText(e).then(function(){return!0});return function(u,s){return new Promise(function(e,n){try{var o,t=$(s).parent(),i=$("<textarea>").val(u).attr("readonly","readonly").css({position:"fixed",top:0,left:"-9999px",opacity:0,width:"1px",height:"1px",padding:0,border:0,margin:0}),r=(t.append(i),i.get(0)),c=(r.focus(),(r.value||"").length),l=("function"==typeof r.setSelectionRange?r.setSelectionRange(0,c):i.select(),document.execCommand("copy"));i.remove(),window.getSelection&&(o=window.getSelection())&&o.removeAllRanges&&o.removeAllRanges(),l?e(!0):n(new Error("execCommand failed"))}catch(e){n(e)}})}(e,n)}},{}]},{},[1]);
1
+ !function t(r,i,c){function l(n,e){if(!i[n]){if(!r[n]){var o="function"==typeof require&&require;if(!e&&o)return o(n,!0);if(a)return a(n,!0);throw(e=new Error("Cannot find module '"+n+"'")).code="MODULE_NOT_FOUND",e}o=i[n]={exports:{}},r[n][0].call(o.exports,function(e){return l(r[n][1][e]||e)},o,o.exports,t,r,i,c)}return i[n].exports}for(var a="function"==typeof require&&require,e=0;e<c.length;e++)l(c[e]);return l}({1:[function(e,n,o){"use strict";var t,r,i,c,l=e("./utils/copy-to-clipboard");function a(){var e,n;t.length&&(e=t.get(0),t.removeAttr("disabled"),e.focus(),n=(e.value||"").length,"function"==typeof e.setSelectionRange?e.setSelectionRange(0,n):"function"==typeof e.select&&e.select())}t=$("#share-list-modal #shopping-list-link"),r=$("#copy-link"),i=r.find("a"),c="copy-link_hovered",i.on("click",function(e){e.preventDefault()}),r.on("click",function(e){e.preventDefault(),a();e=(t.val()||"").trim();e&&(0,l.copyToClipboard)(e,r[0],{noUpperCase:!0}).then(function(){i.addClass(c)}).catch(function(e){console.error(e)})}),t.on("click",function(e){e.preventDefault(),a(),i.removeClass(c)})},{"./utils/copy-to-clipboard":2}],2:[function(e,n,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.copyToClipboard=function(e,n){var o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},e=function(e,n){e=null==e?"":e+"";return(n.noUpperCase?e:e.replace(/(^\w|\s\w)/g,function(e){return e.toUpperCase()})).split(" ").filter(function(e){return""!==e}).join(" ").trim()}(e,o);if(!e)return Promise.reject(new Error("Empty text"));if(null!=(o=window.webkit)&&null!=(o=o.messageHandlers)&&o.copy)try{return window.webkit.messageHandlers.copy.postMessage(e),Promise.resolve(!0)}catch(e){console.error(e)}if(null!=(o=window.Android)&&o.copyToClipboard&&"function"==typeof window.Android.copyToClipboard)try{return window.Android.copyToClipboard(e),Promise.resolve(!0)}catch(e){console.error(e)}if(null!=(o=navigator.clipboard)&&o.writeText)return navigator.clipboard.writeText(e).then(function(){return!0});return function(a,u){return new Promise(function(e,n){try{var o,t=$(u).parent(),r=$("<textarea>").val(a).attr("readonly","readonly").css({position:"fixed",top:0,left:"-9999px",opacity:0,width:"1px",height:"1px",padding:0,border:0,margin:0}),i=(t.append(r),r.get(0)),c=(i.focus(),(i.value||"").length),l=("function"==typeof i.setSelectionRange?i.setSelectionRange(0,c):r.select(),document.execCommand("copy"));r.remove(),window.getSelection&&(o=window.getSelection())&&o.removeAllRanges&&o.removeAllRanges(),l?e(!0):n(new Error("execCommand failed"))}catch(e){n(e)}})}(e,n)}},{}]},{},[1]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickes-css2",
3
- "version": "2.106.0-develop.6",
3
+ "version": "2.106.0-develop.7",
4
4
  "description": "CSS and JS and page templates in use by Wickes",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -125,7 +125,7 @@
125
125
  "branches": [
126
126
  "alt-master",
127
127
  {
128
- "name": "custom-tag/0.5.0-icons",
128
+ "name": "develop",
129
129
  "prerelease": "${name.replace(/^custom-tag\\//g, '')}"
130
130
  }
131
131
  ],
@@ -6,7 +6,12 @@
6
6
  {{#if badge-text}}
7
7
  <div class="products-list-v2__badges price__badges-v2 price__badges-v2-{{badge-color}}
8
8
  {{#if badge-text-color}}price__badges-v2-text-{{badge-text-color}}{{/if}}">
9
- <div class="products-list-v2__badge">{{badge-text}}</div>
9
+ {{#ifCond switch-vat '&&' badge-text-exc}}
10
+ <div class="products-list-v2__badge including-vat">{{badge-text}}</div>
11
+ <div class="products-list-v2__badge excluding-vat d-none">{{badge-text-exc}}</div>
12
+ {{else}}
13
+ <div class="products-list-v2__badge">{{badge-text}}</div>
14
+ {{/ifCond}}
10
15
  </div>
11
16
  {{/if}}
12
17
  <a href="{{range-link}}" class="card__img-wrap">
@@ -3,7 +3,12 @@
3
3
  <div class="pdp__badges pdp-price-container__badges price__badges-v2 price__badges-v2-{{badge-color}}
4
4
  {{#if badge-text-color}}price__badges-v2-text-{{badge-text-color}}{{/if}}
5
5
  {{#if badge-wide}}price__badges-v2-wide{{/if}}">
6
- <div class="pdp__badge">{{badge-text}}</div>
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}}
7
12
  </div>
8
13
  {{/if}}
9
14
  <div class="pdp-price">
@@ -17,9 +22,9 @@
17
22
  <div class="main-price__vat">Inc.VAT</div>
18
23
  </div>
19
24
  {{#if isSQM}}
20
- <div class="pdp-price__sqm">&pound;40.00 per SQM</div>
25
+ <div class="pdp-price__sqm">&pound;40 per SQM</div>
21
26
  {{/if}}
22
- <div class="pdp-price__remainder">You save &pound;40.00</div>
27
+ <div class="pdp-price__remainder">You save &pound;40</div>
23
28
  {{#if isExcludingDelivery}}
24
29
  <a href="#" class="pdp-price__excluding-delivery">Excluding delivery</a>
25
30
  {{/if}}
@@ -37,9 +42,7 @@
37
42
  </div>
38
43
  {{else}}
39
44
  <div class="pdp-price__description">
40
- Long offer message Lorem ipsum dolor sit amet,
41
- consectetur adipiscing elit.
42
- Aenean euismod bibendum laoreet
45
+ Offer price equivalent to &pound;24 per item
43
46
  </div>
44
47
  {{/if}}
45
48
  {{/if}}
@@ -50,15 +53,15 @@
50
53
  </div>
51
54
  <div class="pdp-price-sale__value excluding-vat d-none">
52
55
  {{#if isDiscount}}
53
- <div class="pdp-price__old-price"><s>&pound;119.99</s></div>
56
+ <div class="pdp-price__old-price"><s>&pound;118.99</s></div>
54
57
  <div class="main-price">
55
- <div class="main-price__value pdp-price__new-price">&pound;79.99</div>
58
+ <div class="main-price__value pdp-price__new-price">&pound;78.99</div>
56
59
  <div class="main-price__vat">Exc.VAT</div>
57
60
  </div>
58
61
  {{#if isSQM}}
59
- <div class="pdp-price__sqm">&pound;40.00 per SQM</div>
62
+ <div class="pdp-price__sqm">&pound;39 per SQM</div>
60
63
  {{/if}}
61
- <div class="pdp-price__remainder">You save &pound;40.00</div>
64
+ <div class="pdp-price__remainder">You save &pound;39</div>
62
65
  {{#if isExcludingDelivery}}
63
66
  <a href="#" class="pdp-price__excluding-delivery">Excluding delivery</a>
64
67
  {{/if}}
@@ -76,9 +79,7 @@
76
79
  </div>
77
80
  {{else}}
78
81
  <div class="pdp-price__description">
79
- Long offer message Lorem ipsum dolor sit amet,
80
- consectetur adipiscing elit.
81
- Aenean euismod bibendum laoreet
82
+ Offer price equivalent to &pound;23 per item
82
83
  </div>
83
84
  {{/if}}
84
85
  {{/if}}
@@ -93,9 +94,9 @@
93
94
  <div class="pdp-price__old-price"><s>&pound;119.99</s></div>
94
95
  <div class="pdp-price__new-price">&pound;79.99</div>
95
96
  {{#if isSQM}}
96
- <div class="pdp-price__sqm">&pound;40.00 per SQM</div>
97
+ <div class="pdp-price__sqm">&pound;40 per SQM</div>
97
98
  {{/if}}
98
- <div class="pdp-price__remainder">You save &pound;40.00</div>
99
+ <div class="pdp-price__remainder">You save &pound;40</div>
99
100
  {{#if isExcludingDelivery}}
100
101
  <a href="#" class="pdp-price__excluding-delivery">Excluding delivery</a>
101
102
  {{/if}}
@@ -84,7 +84,8 @@
84
84
  "price": "<span class='product-card__price-value-text'>From</span> £99,009.00",
85
85
  "review-rating": "1.0",
86
86
  "recommended": false,
87
- "badge-text": "Buy Bulk and Save",
87
+ "badge-text": "15% off",
88
+ "badge-text-exc": "14% off",
88
89
  "badge-color": "blue",
89
90
  "badge-text-color": "white"
90
91
  },
@@ -54,10 +54,7 @@ Wick.VatToggle = {
54
54
  },
55
55
 
56
56
  isToggleVatAvailable: function() {
57
- //added so that it doesn't trigger in the local environment
58
- if (!Wick.checkLocalEnv) {
59
- return window.ACC.app.isVatToggleAvailable;
60
- }
57
+ return window.ACC.app.isVatToggleAvailable;
61
58
  },
62
59
 
63
60
  isOn: function () {
@@ -0,0 +1,56 @@
1
+ // this file should be delete after <script defer="defer" src="./js/share-project-list.min.js"></script>
2
+ // implementation on backend (IC-1182 comment https://wickesit.atlassian.net/browse/IC-1182?focusedCommentId=312018)
3
+
4
+ var Wick = Wick || {};
5
+
6
+ Wick.ShareProjectList = (function () {
7
+ function init() {
8
+ var shoppingListLinkInput = $('#share-list-modal #shopping-list-link'),
9
+ shoppingListLinkEl = shoppingListLinkInput[0],
10
+ linkContainer = $('#copy-link'),
11
+ actualLink = linkContainer.find('a'),
12
+ copyClass = 'copy-link_hovered';
13
+
14
+ actualLink.click(function (e) {
15
+ e.preventDefault();
16
+ });
17
+
18
+ linkContainer.click(function () {
19
+ if (navigator.userAgent.match(/TradeProMobile_iOS|DIYMobile_iOS/i)) {
20
+ iosCopyToClipboard(shoppingListLinkInput);
21
+ } else if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {
22
+ shoppingListLinkEl.select();
23
+ shoppingListLinkEl.setSelectionRange(0, 999999);
24
+ } else {
25
+ shoppingListLinkEl.select();
26
+ }
27
+
28
+ document.execCommand('copy');
29
+ actualLink.addClass(copyClass);
30
+ });
31
+
32
+ shoppingListLinkInput.click(function () {
33
+ linkContainer.click();
34
+ actualLink.removeClass(copyClass);
35
+ });
36
+ }
37
+
38
+ function iosCopyToClipboard($input) {
39
+ var el = $input.get(0);
40
+ var editable = el.contentEditable;
41
+ var readOnly = el.readOnly;
42
+
43
+ el.contentEditable = true;
44
+ el.readOnly = false;
45
+ var range = document.createRange();
46
+ range.selectNodeContents(el);
47
+ var sel = window.getSelection();
48
+ sel.removeAllRanges();
49
+ sel.addRange(range);
50
+ el.setSelectionRange(0, 999999);
51
+ el.contentEditable = editable;
52
+ el.readOnly = readOnly;
53
+ }
54
+
55
+ init();
56
+ })();