wickes-css2 2.105.0-develop.3 → 2.105.0-develop.4

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 (160) hide show
  1. package/Readme.md +1 -2
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/homepage-main.css +1 -1
  4. package/build/css/kitchen-plp-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_product_search.css +1 -1
  9. package/build/css/pages/page_products-list-combined.css +1 -1
  10. package/build/css/pages/page_products-list.css +1 -1
  11. package/build/css/pdp-main-before-combine.css +1 -1
  12. package/build/css/pdp-main-non-critical.css +1 -1
  13. package/build/css/pdp-main.css +1 -1
  14. package/build/css/plp-main.css +1 -1
  15. package/build/css/store-locator-main.css +1 -1
  16. package/build/js/basket.min.js +2 -2
  17. package/build/js/bundle.min.js +1 -1
  18. package/build/js/checkout.min.js +2 -2
  19. package/build/js/emulation.min.js +12122 -11594
  20. package/build/js/general.bundle.min.js +1 -1
  21. package/build/js/kitchen/kitchen-plp.min.js +1 -9
  22. package/build/js/merged-checkout.min.js +2 -2
  23. package/build/js/mini-basket-slider.min.js +1 -1
  24. package/build/js/page/basket/basket-update-cart-action.js +59 -56
  25. package/build/js/page/basket/basket-update-cart.js +27 -27
  26. package/build/js/page/basket/basket-utils.js +40 -33
  27. package/build/js/page/basket/mini-basket-total.js +70 -66
  28. package/build/js/page/basket/quantity-change-handler.js +73 -55
  29. package/build/js/page/basket/update-quantity-operation.js +39 -30
  30. package/build/js/page/basket/update-quantity.js +62 -62
  31. package/build/js/page/basket-v2.js +362 -229
  32. package/build/js/page/billie-business-type.js +27 -27
  33. package/build/js/page/checkout-payment-details.js +301 -299
  34. package/build/js/page/components/discounts.js +39 -36
  35. package/build/js/page/components/mini-basket-slider.js +604 -545
  36. package/build/js/page/filters/desktop-nav.js +64 -0
  37. package/build/js/page/filters/mobile-nav.js +93 -0
  38. package/build/js/page/filters/plp-filters-chips.js +92 -0
  39. package/build/js/page/filters/plp-filters-mobile.js +150 -0
  40. package/build/js/page/filters/plp-filters-panel.js +123 -0
  41. package/build/js/page/filters/plp-filters-utils.js +66 -0
  42. package/build/js/page/filters/plp-filters.js +256 -0
  43. package/build/js/page/filters/sort-by.js +172 -0
  44. package/build/js/page/klarna-modal-scroll-disable.js +4 -4
  45. package/build/js/page/online-exclusive.js +28 -30
  46. package/build/js/page/search-filter.js +62 -0
  47. package/build/js/page/utils/helpers.js +14 -9
  48. package/build/js/page/utils/show-more-less.js +273 -0
  49. package/build/js/pdp.bundle.min.js +1 -1
  50. package/build/js/plp-filters.min.js +9 -0
  51. package/build/js/plp.bundle.min.js +1 -1
  52. package/build/js/project-list.min.js +1 -1
  53. package/build/js/search-filter.min.js +1 -0
  54. package/package.json +3 -3
  55. package/src/components/accordion.hbs +2 -2
  56. package/src/components/kitchen/dropdown.hbs +6 -3
  57. package/src/components/kitchen/filter-modal-content-kitchen.hbs +10 -0
  58. package/src/components/kitchen/filter-modal.hbs +10 -13
  59. package/src/components/kitchen/plp-filters.hbs +3 -1
  60. package/src/components/kitchen/sort-by.hbs +1 -1
  61. package/src/components/search-filter-modal-content.hbs +102 -0
  62. package/src/components/search-filter.hbs +121 -112
  63. package/src/data/data_plp_load-more.json +1 -1
  64. package/src/elements/btn.hbs +7 -0
  65. package/src/js/components/general/accordion.js +38 -29
  66. package/src/js/components/general/cart-slider.js +19 -16
  67. package/src/js/components/general/create-popup-slider.js +168 -173
  68. package/src/js/emulation/big-wins.js +1081 -904
  69. package/src/js/emulation/billie-modal.js +23 -19
  70. package/src/js/emulation/checkout-payment-details.js +47 -38
  71. package/src/js/emulation/custom-slider-emulation.js +17 -13
  72. package/src/js/emulation/filters-emulation.js +164 -0
  73. package/src/js/emulation/forms.js +360 -323
  74. package/src/js/emulation/mini-basket-data.js +1051 -923
  75. package/src/js/emulation/paymentLoader.js +17 -17
  76. package/src/js/emulation/pdf-file-loader.js +89 -91
  77. package/src/js/emulation/popover-mini-basket.js +246 -239
  78. package/src/js/emulation/product-counter.js +50 -0
  79. package/src/js/emulation/project-list-pdp.js +321 -316
  80. package/src/js/emulation/repayment-toggle.js +23 -24
  81. package/src/js/emulation/reset-filter-desktop.js +5 -0
  82. package/src/js/emulation/selectable.js +22 -18
  83. package/src/js/emulation/wismo-details.js +23 -31
  84. package/src/js/page/basket/basket-update-cart-action.js +59 -56
  85. package/src/js/page/basket/basket-update-cart.js +27 -27
  86. package/src/js/page/basket/basket-utils.js +40 -33
  87. package/src/js/page/basket/mini-basket-total.js +70 -66
  88. package/src/js/page/basket/quantity-change-handler.js +73 -55
  89. package/src/js/page/basket/update-quantity-operation.js +39 -30
  90. package/src/js/page/basket/update-quantity.js +62 -62
  91. package/src/js/page/basket-v2.js +362 -229
  92. package/src/js/page/billie-business-type.js +27 -27
  93. package/src/js/page/checkout-payment-details.js +301 -299
  94. package/src/js/page/components/discounts.js +39 -36
  95. package/src/js/page/components/mini-basket-slider.js +604 -545
  96. package/src/js/page/filters/desktop-nav.js +64 -0
  97. package/src/js/page/filters/mobile-nav.js +93 -0
  98. package/src/js/page/filters/plp-filters-chips.js +92 -0
  99. package/src/js/page/filters/plp-filters-mobile.js +150 -0
  100. package/src/js/page/filters/plp-filters-panel.js +123 -0
  101. package/src/js/page/filters/plp-filters-utils.js +66 -0
  102. package/src/js/page/filters/plp-filters.js +256 -0
  103. package/src/js/page/filters/sort-by.js +172 -0
  104. package/src/js/page/klarna-modal-scroll-disable.js +4 -4
  105. package/src/js/page/online-exclusive.js +28 -30
  106. package/src/js/page/search-filter.js +62 -0
  107. package/src/js/page/utils/helpers.js +14 -9
  108. package/src/js/page/utils/show-more-less.js +273 -0
  109. package/src/page_empty-shared-project-list-bicester-hub.html +3 -0
  110. package/src/page_kitchen-plp.html +2 -2
  111. package/src/page_plp-with-paint.html +2 -7
  112. package/src/page_plp.html +2 -7
  113. package/src/page_plp_v2-energy-efficiency.html +1 -6
  114. package/src/page_plp_v2-favourite-products.html +6 -7
  115. package/src/page_plp_v2-vat.html +2 -7
  116. package/src/page_plp_v2.html +22 -9
  117. package/src/page_product_search-vat.html +2 -7
  118. package/src/page_product_search.html +2 -7
  119. package/src/page_project-list-with-new-share-popup-android.html +1 -0
  120. package/src/page_project-list-with-new-share-popup-ios.html +1 -0
  121. package/src/page_project-list-with-new-share-popup.html +1 -0
  122. package/src/page_search-results.html +2 -7
  123. package/src/page_shared-project-list-bicester-hub.html +1 -0
  124. package/src/scss/common/_common.scss +5 -4
  125. package/src/scss/components/_accordion.scss +1 -3
  126. package/src/scss/components/_custom-slider.scss +15 -14
  127. package/src/scss/components/_date-selection-add-new-styles.scss +6 -7
  128. package/src/scss/components/_date-selection.scss +1 -1
  129. package/src/scss/components/{kitchen/_filter-modal.scss → _filter-modal.scss} +55 -4
  130. package/src/scss/components/{kitchen/_plp-filters.scss → _plp-filters.scss} +31 -13
  131. package/src/scss/components/_popover-mini-basket.scss +3 -3
  132. package/src/scss/components/_search-filter.scss +95 -15
  133. package/src/scss/components/_sort-by.scss +190 -0
  134. package/src/scss/components/checkout-chip.scss +2 -2
  135. package/src/scss/components/checkout-payment-repayment-terms.scss +1 -1
  136. package/src/scss/globals/_global-components.scss +3 -0
  137. package/src/scss/helpers/_colors-semantic.scss +68 -68
  138. package/src/scss/helpers/_variables.scss +242 -196
  139. package/src/scss/kitchen-plp-main.scss +0 -3
  140. package/src/scss/main.scss +65 -65
  141. package/src/scss/pages/page_product-details-v2.scss +1 -4
  142. package/src/scss/pages/page_product_search.scss +9 -1
  143. package/src/scss/pages/page_products-list-combined.scss +28 -24
  144. package/src/scss/pages/page_products-list.scss +8 -0
  145. package/src/scss/pages/tradePro-rewards.scss +2 -3
  146. package/build/js/page/accordion.js +0 -35
  147. package/build/js/page/kitchen/plp-filters-chips.js +0 -90
  148. package/build/js/page/kitchen/plp-filters-mobile.js +0 -72
  149. package/build/js/page/kitchen/plp-filters-panel.js +0 -119
  150. package/build/js/page/kitchen/plp-filters-utils.js +0 -65
  151. package/build/js/page/kitchen/plp-filters.js +0 -205
  152. package/build/js/page/kitchen/sort-by.js +0 -157
  153. package/src/js/components/general/search-filter.js +0 -21
  154. package/src/js/page/accordion.js +0 -35
  155. package/src/js/page/kitchen/plp-filters-chips.js +0 -90
  156. package/src/js/page/kitchen/plp-filters-mobile.js +0 -72
  157. package/src/js/page/kitchen/plp-filters-panel.js +0 -119
  158. package/src/js/page/kitchen/plp-filters-utils.js +0 -65
  159. package/src/js/page/kitchen/plp-filters.js +0 -205
  160. package/src/js/page/kitchen/sort-by.js +0 -157
@@ -0,0 +1 @@
1
+ !function o(i,n,s){function l(t,e){if(!n[t]){if(!i[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(c)return c(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=n[t]={exports:{}},i[t][0].call(r.exports,function(e){return l(i[t][1][e]||e)},r,r.exports,o,i,n,s)}return n[t].exports}for(var c="function"==typeof require&&require,e=0;e<s.length;e++)l(s[e]);return l}({1:[function(e,t,r){"use strict";var o,i,n;o=$(".filter-results_mobile"),$("#open-overlay").click(function(e){e.preventDefault(),$("body").addClass("is-filters-visible"),o.toggleClass("show")}),$("#close-overlay, .filter-results__btn-close").click(function(e){e.preventDefault(),o.hasClass("show")&&($("body").removeClass("is-filters-visible"),o.removeClass("show"))}),$('.filter-results_desktop .filter__item input[type="checkbox"]').click(function(){$(this).closest("form").submit()}),i=".close",n='.filter-results_desktop .filter__item input[type="checkbox"]',$(".filter-modal-cta").on("click",function(e){e.preventDefault()}),$(document).on("click",i,function(e){e.preventDefault()}),$(document).on("click",n,function(){$(this).closest("form").submit()})},{}]},{},[1]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickes-css2",
3
- "version": "2.105.0-develop.3",
3
+ "version": "2.105.0-develop.4",
4
4
  "description": "CSS and JS and page templates in use by Wickes",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -17,7 +17,7 @@
17
17
  "src/scss/**/*.{scss,css}": [
18
18
  "sass-lint-auto-fix",
19
19
  "prettier --write",
20
- "sass-lint -c .sasslintrc"
20
+ "sass-lint -c .sasslintrc --"
21
21
  ]
22
22
  },
23
23
  "keywords": [
@@ -125,7 +125,7 @@
125
125
  "branches": [
126
126
  "alt-master",
127
127
  {
128
- "name": "develop",
128
+ "name": "custom-tag/0.5.0-icons",
129
129
  "prerelease": "${name.replace(/^custom-tag\\//g, '')}"
130
130
  }
131
131
  ],
@@ -1,7 +1,7 @@
1
- <div class="accordion {{mod}} {{collapsed}}">
1
+ <div class="accordion {{mod}} {{collapsed}}" {{#if facetStep}}data-facet-step="{{facetStep}}"{{/if}}>
2
2
  <h5 class="accordion__header">
3
3
  {{#unless hide-chevron}}
4
- <span class="icon accordion__header-icon">
4
+ <span class="icon accordion__header-icon">
5
5
  <i class="fas fa-angle-up"></i>
6
6
  </span>
7
7
  {{/unless}}
@@ -1,13 +1,16 @@
1
1
  <div class="sort-dd" role="menu" aria-label="Sort options" hidden>
2
- <button class="sort-opt" type="button" data-value="relevance">
2
+ <button class="sort-opt" type="button" data-value="relevance"
3
+ {{#unless isKitchenMode}}data-is-plp-srp="true"{{/unless}}>
3
4
  <i class="fa fa-check sort-opt__check" aria-hidden="true"></i>
4
5
  <span>Relevance</span>
5
6
  </button>
6
- <button class="sort-opt" type="button" data-value="priceLow">
7
+ <button class="sort-opt" type="button" data-value="priceLow"
8
+ {{#unless isKitchenMode}}data-is-plp-srp="true"{{/unless}}>
7
9
  <i class="fa fa-check sort-opt__check" aria-hidden="true"></i>
8
10
  <span>Price (lowest first)</span>
9
11
  </button>
10
- <button class="sort-opt" type="button" data-value="priceHigh">
12
+ <button class="sort-opt" type="button" data-value="priceHigh"
13
+ {{#unless isKitchenMode}}data-is-plp-srp="true"{{/unless}}>
11
14
  <i class="fa fa-check sort-opt__check" aria-hidden="true"></i>
12
15
  <span>Price (highest first)</span>
13
16
  </button>
@@ -0,0 +1,10 @@
1
+ {{#with kitchen-plp}}
2
+ {{> kitchen/chips mod="mobile"}}
3
+ {{#each filters}}
4
+ {{#extend "accordion" header=name collapsed="accordion_collapsed" hidden="hidden-state"}}
5
+ {{#content "content"}}
6
+ {{> kitchen/filter-option }}
7
+ {{/content}}
8
+ {{/extend}}
9
+ {{/each}}
10
+ {{/with}}
@@ -1,29 +1,26 @@
1
1
  {{#extend "modal" id="filterModal" classMod="filter-modal modal-scroll-observer" title="" showCloseBtn=true centered=true backdrop=true fullWidth=true}}
2
2
  {{#content "header"}}
3
3
  <h4 class="filter-modal__title">
4
- Filter kitchens
4
+ {{ modalTitle }}
5
5
  </h4>
6
6
  {{/content}}
7
7
  {{#content "body"}}
8
8
  <div class="filter-modal__content">
9
- {{#with kitchen-plp}}
10
- {{> kitchen/chips mod="mobile"}}
11
- {{#each filters}}
12
- {{#extend "accordion" header=name collapsed="accordion_collapsed" hidden="hidden-state"}}
13
- {{#content "content"}}
14
- {{> kitchen/filter-option }}
15
- {{/content}}
16
- {{/extend}}
17
- {{/each}}
18
- {{/with}}
9
+ {{#if isKitchenMode}}
10
+ {{> kitchen/filter-modal-content-kitchen }}
11
+ {{else}}
12
+ {{> search-filter-modal-content }}
13
+ {{/if}}
19
14
  </div>
20
15
  {{/content}}
21
16
 
22
17
  {{#content "footer"}}
23
18
  <div class="modal-box__inner-row justify-content-center modal-box__footer-row">
24
19
  <div class="modal-box__inner-columns">
25
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Clear all</button>
26
- <button type="button" class="btn btn-primary" data-dismiss="modal">View results</button>
20
+ <button type="button" class="btn btn-secondary" data-dismiss="modal"
21
+ {{#unless isKitchenMode}}data-is-plp-srp="true"{{/unless}} >Clear all</button>
22
+ <button type="button" class="btn btn-primary" data-dismiss="modal"
23
+ {{#unless isKitchenMode}}data-is-plp-srp="true"{{/unless}}>View results</button>
27
24
  </div>
28
25
  </div>
29
26
  {{/content}}
@@ -3,13 +3,15 @@
3
3
  <div class="plp-filters__bar plp-filters__bar-mobile" role="tablist" aria-label="Filters">
4
4
  {{> kitchen/mobile-nav-item
5
5
  icon="fas fa-filter"
6
- title="Filter"
6
+ title="Filter by"
7
7
  modalId="filterModal"
8
8
  }}
9
9
  {{> kitchen/mobile-nav-item
10
10
  icon="fas fa-sort-alt"
11
11
  title="Sort by"
12
+ info="Relevance"
12
13
  dropdown=true
14
+ isKitchenMode=true
13
15
  }}
14
16
  </div>
15
17
  <div class="container">
@@ -2,7 +2,7 @@
2
2
  <label class="sort__label">Sort by</label>
3
3
 
4
4
  <button class="sort-button" type="button" aria-haspopup="menu" aria-expanded="false">
5
- <span class="js-sort-info"></span>
5
+ <span class="js-sort-info">Relevance</span>
6
6
  <i class="sort__chevron fa fa-chevron-down" aria-hidden="true"></i>
7
7
  </button>
8
8
 
@@ -0,0 +1,102 @@
1
+ <form class="filter-results filter-results_mobile">
2
+ {{#extend "accordion" collapsed="accordion_collapsed" hidden="hidden-state" header="Color Family" mod="filter" facetStep="5" }}
3
+ {{#content "content"}}
4
+ {{#each filters.colors}}
5
+ <div class="filter__item">
6
+ <label for="m-{{id}}" class="chb chb-color">
7
+ <input type="checkbox" value="{{label}}" id="m-{{id}}" name="{{id}}-filter">
8
+ <ins><i class="fas fa-check"></i></ins>
9
+ <span>{{label}}</span>
10
+ </label>
11
+ </div>
12
+ {{/each}}
13
+ {{/content}}
14
+ {{/extend}}
15
+ {{#extend "accordion" collapsed="accordion_collapsed" hidden="hidden-state" header="Shop by category" mod="filter category-filter" fixed-height=""}}
16
+ {{#content "content"}}
17
+ {{>category-tree filters}}
18
+ {{/content}}
19
+ {{/extend}}
20
+ {{#extend "accordion" collapsed="accordion_collapsed" hidden="hidden-state" header="Shop by pack quantity" mod="filter" facetStep="5"}}
21
+ {{#content "content"}}
22
+ {{/content}}
23
+ {{/extend}}
24
+ {{#extend "accordion" collapsed="accordion_collapsed" hidden="hidden-state" header="Shop by type" mod="filter" facetStep="5"}}
25
+ {{#content "content"}}
26
+ {{#each filters.type-list}}
27
+ <div class="filter__item">
28
+ <label for="m-{{id}}" class="chb chb-{{classForGtm}}">
29
+ <input type="checkbox" value="{{value}}" id="m-{{id}}"
30
+ name="m-{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
31
+ <ins><i class="fas fa-check"></i></ins>
32
+ <span>{{label}}</span>
33
+ <span class="filter-quantity">({{quantity}})</span>
34
+ </label>
35
+ </div>
36
+ {{/each}}
37
+ {{/content}}
38
+ {{/extend}}
39
+ {{#extend "accordion" collapsed="accordion_collapsed" hidden="hidden-state" header="Customer Rating" mod="filter" facetStep="5"}}
40
+ {{#content "content"}}
41
+ {{#each filters.rated}}
42
+ <div class="filter__item">
43
+ {{#ifvalue quantity value='0'}}
44
+ {{else}}
45
+ <label class="chb chb-{{classForGtm}}">
46
+ <input type="checkbox" value="{{value}}" id="{{id}}" name="{{id}}" {{#if checked}}checked{{/if}} {{#if
47
+ disabled}}disabled{{/if}}>
48
+ <ins><i class="fas fa-check"></i></ins>
49
+ <div class="filter__reviews">
50
+ <div class="product-rating">
51
+ <div class="rating-bg">
52
+ <i class="fa fa-star" aria-hidden="true"></i>
53
+ <i class="fa fa-star" aria-hidden="true"></i>
54
+ <i class="fa fa-star" aria-hidden="true"></i>
55
+ <i class="fa fa-star" aria-hidden="true"></i>
56
+ <i class="fa fa-star" aria-hidden="true"></i>
57
+ <div class="rating-overlay" data-rating="{{#if rating}}{{rating}}{{else}}0{{/if}}">
58
+ <span class="star-overlay">
59
+ <i class="fa fa-star" aria-hidden="true"></i>
60
+ </span>
61
+ <span class="star-overlay">
62
+ <i class="fa fa-star" aria-hidden="true"></i>
63
+ </span>
64
+ <span class="star-overlay">
65
+ <i class="fa fa-star" aria-hidden="true"></i>
66
+ </span>
67
+ <span class="star-overlay">
68
+ <i class="fa fa-star" aria-hidden="true"></i>
69
+ </span>
70
+ <span class="star-overlay">
71
+ <i class="fa fa-star" aria-hidden="true"></i>
72
+ </span>
73
+ </div>
74
+ </div>
75
+ ({{quantity}})
76
+ </div>
77
+ </div>
78
+ </label>
79
+ {{/ifvalue}}
80
+ </div>
81
+ {{/each}}
82
+ {{/content}}
83
+ {{/extend}}
84
+ {{#extend "accordion" collapsed="accordion_collapsed" hidden="hidden-state" header="Shop by bulb shape" mod="filter" facetStep="5"}}
85
+ {{#content "content"}}
86
+ {{/content}}
87
+ {{/extend}}
88
+ {{#extend "accordion" collapsed="accordion_collapsed" hidden="hidden-state" header="Shop by number of gangs" mod="filter" facetStep="5"}}
89
+ {{#content "content"}}
90
+ {{/content}}
91
+ {{/extend}}
92
+ {{#extend "accordion" collapsed="accordion_collapsed" hidden="hidden-state" header="Shop by bulb fitting" mod="filter" facetStep="5"}}
93
+ {{#content "content"}}
94
+ {{/content}}
95
+ {{/extend}}
96
+ {{#extend "accordion" collapsed="accordion_collapsed" hidden="hidden-state" header="Shop by wattage" mod="filter" facetStep="5"}}
97
+ {{#content "content"}}
98
+ {{/content}}
99
+ {{/extend}}
100
+
101
+
102
+ </form>
@@ -1,134 +1,143 @@
1
1
  <form class="filter-results filter-results_desktop">
2
2
  <div class="filter-results__heading">
3
- <span class="heading-4">Filter results</span>
4
- <button type="reset" class="filter-results__clear" value="Clear all">Clear all</button>
3
+ <div class="flex">
4
+ <span class="heading-4">{{#unless filterTitle}}Filter by{{/unless}}{{filterTitle}}</span>
5
+ <button type="reset" class="filter-results__clear" value="Clear all">Clear all</button>
6
+ </div>
7
+ {{#unless filterTitle}}
8
+ <div class="sort-products-list__total">
9
+ <span class="product-count">{{plp_load-more.pagination.totalNumberOfResults}}</span> <span>results</span>
10
+ </div>
11
+ {{/unless}}
5
12
  </div>
6
- {{#extend "accordion" header="Color Family" mod="filter"}}
7
- {{#content "content"}}
8
- {{#each filters.colors}}
9
- <div class="filter__item">
10
- <label for="{{id}}" class="chb chb-color">
11
- <input type="checkbox" value="{{label}}" id="{{id}}" name="{{id}}-filter">
12
- <ins><i class="fas fa-check"></i></ins>
13
- <span>{{label}}</span>
14
- </label>
15
- </div>
16
- {{/each}}
17
- {{/content}}
18
- {{/extend}}
19
- {{#extend "accordion" header="Shop by category" mod="filter category-filter" fixed-height=""}}
20
- {{#content "content"}}
21
- {{>category-tree filters}}
22
- {{/content}}
23
- {{/extend}}
24
- {{#extend "accordion" header="Shop by pack quantity" mod="filter"}}
25
- {{#content "content"}}
26
- {{/content}}
27
- {{/extend}}
28
- {{#extend "accordion" header="Shop by type" mod="filter"}}
29
- {{#content "content"}}
30
- {{#each filters.type-list}}
31
- <div class="filter__item">
32
- <label for="{{id}}" class="chb chb-{{classForGtm}}">
33
- <input type="checkbox" value="{{value}}" id="{{id}}"
34
- name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
35
- <ins><i class="fas fa-check"></i></ins>
36
- <span>{{label}}</span>
37
- <span class="filter-quantity">({{quantity}})</span>
38
- </label>
39
- </div>
40
- {{/each}}
41
- {{/content}}
42
- {{/extend}}
43
- {{#extend "accordion" header="Shop by type 2" mod="filter"}}
13
+ <div class="accordions">
14
+ {{#extend "accordion" header="Color Family" mod="filter" facetStep="5"}}
44
15
  {{#content "content"}}
45
- {{#each filters.type-list2}}
46
- <div class="filter__item">
47
- <label for="{{id}}" class="chb chb-{{classForGtm}}">
48
- <input type="checkbox" value="{{value}}" id="{{id}}"
49
- name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
50
- <ins><i class="fas fa-check"></i></ins>
51
- <span>{{label}}</span>
52
- <span class="filter-quantity">({{quantity}})</span>
53
- </label>
54
- </div>
55
- {{/each}}
16
+ {{#each filters.colors}}
17
+ <div class="filter__item">
18
+ <label for="{{id}}" class="chb chb-color">
19
+ <input type="checkbox" value="{{label}}" id="{{id}}" name="{{id}}-filter">
20
+ <ins><i class="fas fa-check"></i></ins>
21
+ <span>{{label}}</span>
22
+ </label>
23
+ </div>
24
+ {{/each}}
56
25
  {{/content}}
57
- {{/extend}}
58
- {{#extend "accordion" header="Shop by type 3" mod="filter"}}
26
+ {{/extend}}
27
+ {{#extend "accordion" header="Shop by category" mod="filter category-filter" fixed-height=""}}
59
28
  {{#content "content"}}
60
- {{#each filters.type-list3}}
61
- <div class="filter__item">
62
- <label for="{{id}}" class="chb chb-{{classForGtm}}">
63
- <input type="checkbox" value="{{value}}" id="{{id}}"
64
- name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
65
- <ins><i class="fas fa-check"></i></ins>
66
- <span>{{label}}</span>
67
- <span class="filter-quantity">({{quantity}})</span>
68
- </label>
69
- </div>
70
- {{/each}}
29
+ {{>category-tree filters}}
71
30
  {{/content}}
72
- {{/extend}}
73
- {{#extend "accordion" header="Customer Rating" mod="filter"}}
31
+ {{/extend}}
32
+ {{#extend "accordion" header="Shop by pack quantity" mod="filter" facetStep="5"}}
74
33
  {{#content "content"}}
75
- {{#each filters.rated}}
76
- <div class="filter__item">
77
- {{#ifvalue quantity value='0'}}
78
- {{else}}
79
- <label for="{{id}}" class="chb chb-{{classForGtm}}">
80
- <input type="checkbox" value="{{value}}" id="{{id}}"
81
- name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
82
- <ins><i class="fas fa-check"></i></ins>
83
- <div class="filter__reviews">
84
- <div class="product-rating">
85
- <div class="rating-bg">
86
- <i class="fa fa-star" aria-hidden="true"></i>
87
- <i class="fa fa-star" aria-hidden="true"></i>
88
- <i class="fa fa-star" aria-hidden="true"></i>
89
- <i class="fa fa-star" aria-hidden="true"></i>
90
- <i class="fa fa-star" aria-hidden="true"></i>
91
- <div class="rating-overlay" data-rating="{{#if rating}}{{rating}}{{else}}0{{/if}}">
34
+ {{/content}}
35
+ {{/extend}}
36
+ {{#extend "accordion" header="Shop by type" mod="filter" facetStep="5"}}
37
+ {{#content "content"}}
38
+ {{#each filters.type-list}}
39
+ <div class="filter__item">
40
+ <label for="{{id}}" class="chb chb-{{classForGtm}}">
41
+ <input type="checkbox" value="{{value}}" id="{{id}}"
42
+ name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
43
+ <ins><i class="fas fa-check"></i></ins>
44
+ <span>{{label}}</span>
45
+ <span class="filter-quantity">({{quantity}})</span>
46
+ </label>
47
+ </div>
48
+ {{/each}}
49
+ {{/content}}
50
+ {{/extend}}
51
+ {{#extend "accordion" header="Shop by type 2" mod="filter" facetStep="5"}}
52
+ {{#content "content"}}
53
+ {{#each filters.type-list2}}
54
+ <div class="filter__item">
55
+ <label for="{{id}}" class="chb chb-{{classForGtm}}">
56
+ <input type="checkbox" value="{{value}}" id="{{id}}"
57
+ name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
58
+ <ins><i class="fas fa-check"></i></ins>
59
+ <span>{{label}}</span>
60
+ <span class="filter-quantity">({{quantity}})</span>
61
+ </label>
62
+ </div>
63
+ {{/each}}
64
+ {{/content}}
65
+ {{/extend}}
66
+ {{#extend "accordion" header="Shop by type 3" mod="filter" facetStep="5"}}
67
+ {{#content "content"}}
68
+ {{#each filters.type-list3}}
69
+ <div class="filter__item">
70
+ <label for="{{id}}" class="chb chb-{{classForGtm}}">
71
+ <input type="checkbox" value="{{value}}" id="{{id}}"
72
+ name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
73
+ <ins><i class="fas fa-check"></i></ins>
74
+ <span>{{label}}</span>
75
+ <span class="filter-quantity">({{quantity}})</span>
76
+ </label>
77
+ </div>
78
+ {{/each}}
79
+ {{/content}}
80
+ {{/extend}}
81
+ {{#extend "accordion" header="Customer Rating" mod="filter" facetStep="5"}}
82
+ {{#content "content"}}
83
+ {{#each filters.rated}}
84
+ <div class="filter__item">
85
+ {{#ifvalue quantity value='0'}}
86
+ {{else}}
87
+ <label for="{{id}}" class="chb chb-{{classForGtm}}">
88
+ <input type="checkbox" value="{{value}}" id="{{id}}"
89
+ name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
90
+ <ins><i class="fas fa-check"></i></ins>
91
+ <div class="filter__reviews">
92
+ <div class="product-rating">
93
+ <div class="rating-bg">
94
+ <i class="fa fa-star" aria-hidden="true"></i>
95
+ <i class="fa fa-star" aria-hidden="true"></i>
96
+ <i class="fa fa-star" aria-hidden="true"></i>
97
+ <i class="fa fa-star" aria-hidden="true"></i>
98
+ <i class="fa fa-star" aria-hidden="true"></i>
99
+ <div class="rating-overlay" data-rating="{{#if rating}}{{rating}}{{else}}0{{/if}}">
92
100
  <span class="star-overlay">
93
101
  <i class="fa fa-star" aria-hidden="true"></i>
94
102
  </span>
95
- <span class="star-overlay">
103
+ <span class="star-overlay">
96
104
  <i class="fa fa-star" aria-hidden="true"></i>
97
105
  </span>
98
- <span class="star-overlay">
106
+ <span class="star-overlay">
99
107
  <i class="fa fa-star" aria-hidden="true"></i>
100
108
  </span>
101
- <span class="star-overlay">
109
+ <span class="star-overlay">
102
110
  <i class="fa fa-star" aria-hidden="true"></i>
103
111
  </span>
104
- <span class="star-overlay">
112
+ <span class="star-overlay">
105
113
  <i class="fa fa-star" aria-hidden="true"></i>
106
114
  </span>
107
- </div>
108
- </div>
109
- ({{quantity}})
110
- </div>
111
115
  </div>
112
- </label>
113
- {{/ifvalue}}
114
- </div>
115
- {{/each}}
116
+ </div>
117
+ ({{quantity}})
118
+ </div>
119
+ </div>
120
+ </label>
121
+ {{/ifvalue}}
122
+ </div>
123
+ {{/each}}
124
+ {{/content}}
125
+ {{/extend}}
126
+ {{#extend "accordion" header="Shop by bulb shape" mod="filter" facetStep="5"}}
127
+ {{#content "content"}}
128
+ {{/content}}
129
+ {{/extend}}
130
+ {{#extend "accordion" header="Shop by number of gangs" mod="filter" facetStep="5"}}
131
+ {{#content "content"}}
116
132
  {{/content}}
117
- {{/extend}}
118
- {{#extend "accordion" header="Shop by bulb shape" mod="filter"}}
119
- {{#content "content"}}
120
- {{/content}}
121
- {{/extend}}
122
- {{#extend "accordion" header="Shop by number of gangs" mod="filter"}}
123
- {{#content "content"}}
124
- {{/content}}
125
- {{/extend}}
126
- {{#extend "accordion" header="Shop by bulb fitting" mod="filter"}}
127
- {{#content "content"}}
128
- {{/content}}
129
- {{/extend}}
130
- {{#extend "accordion" header="Shop by wattage" mod="filter"}}
131
- {{#content "content"}}
132
- {{/content}}
133
- {{/extend}}
133
+ {{/extend}}
134
+ {{#extend "accordion" header="Shop by bulb fitting" mod="filter" facetStep="5"}}
135
+ {{#content "content"}}
136
+ {{/content}}
137
+ {{/extend}}
138
+ {{#extend "accordion" header="Shop by wattage" mod="filter" facetStep="5"}}
139
+ {{#content "content"}}
140
+ {{/content}}
141
+ {{/extend}}
142
+ </div>
134
143
  </form>
@@ -381,7 +381,7 @@
381
381
  "currentPage": 0,
382
382
  "sort": null,
383
383
  "numberOfPages": 3,
384
- "totalNumberOfResults": 65,
384
+ "totalNumberOfResults": 1818,
385
385
  "startPageItem": 1,
386
386
  "endPageItem": 0,
387
387
  "offset": 0,
@@ -0,0 +1,7 @@
1
+ <button
2
+ class="{{class}}"
3
+ data-action="{{action}}"
4
+ {{#if ariaControls}}aria-controls="{{ariaControls}}"{{/if}}
5
+ >
6
+ {{text}}
7
+ </button>
@@ -1,35 +1,44 @@
1
1
  var Wick = Wick || {};
2
- Wick.Accordion = (function(){
3
- var $accordion = $('.accordion'),
4
- accordionToggler = '.accordion__header',
5
- accordionIcon = '.accordion__action',
6
- accordionContent = '.accordion__content',
7
- collapsed = 'accordion_collapsed',
8
- $asideAccordion = $('.aside-accordion .js-toggle-aside-accordion');
9
- var bindEvents = function (index, element) {
10
- var $acc = $(element);
2
+ Wick.Accordion = (function () {
3
+ var accordionRoot = '.accordion',
4
+ accordionToggler = '.accordion__header',
5
+ accordionIcon = '.accordion__action',
6
+ accordionContent = '.accordion__content',
7
+ collapsed = 'accordion_collapsed',
8
+ $asideAccordion = $('.aside-accordion .js-toggle-aside-accordion');
11
9
 
12
- var accordionTrigger = $acc.attr('data-action-element') === 'icon' ? accordionIcon : accordionToggler
13
- $acc.find(accordionTrigger).on('click', function(){
14
- $acc.toggleClass(collapsed);
15
- $acc.children(accordionContent).slideToggle(200);
16
- });
17
- };
10
+ function getTriggerSelector($acc) {
11
+ return $acc.attr('data-action-element') === 'icon' ? accordionIcon : accordionToggler;
12
+ }
18
13
 
19
- var init = function () {
20
- $accordion.each(bindEvents);
14
+ function onAccordionClick(e) {
15
+ var $acc = $(e.target).closest(accordionRoot);
16
+ if (!$acc.length) return;
21
17
 
22
- $asideAccordion.click(function() {
23
- if (window.matchMedia("(min-width: 992px)").matches) {
24
- if ($(this).text().toLowerCase() != 'useful links') {
25
- $(this).closest('.aside-nav2__holder')
26
- .toggleClass('is-active')
27
- .find('.aside-nav2__list')
28
- .slideToggle(250);
29
- }
30
- }
31
- });
32
- }
18
+ var trigger = getTriggerSelector($acc);
19
+ if (!$(e.target).closest(trigger).length) return;
33
20
 
34
- init();
21
+ $acc.toggleClass(collapsed);
22
+ $acc.children(accordionContent).stop(true, true).slideToggle(200);
23
+ }
24
+
25
+ function init() {
26
+ $(document)
27
+ .off('click.wickAccordion', accordionToggler + ',' + accordionIcon)
28
+ .on('click.wickAccordion', accordionToggler + ',' + accordionIcon, onAccordionClick);
29
+
30
+ $asideAccordion.off('click.wickAsideAccordion').on('click.wickAsideAccordion', function () {
31
+ if (window.matchMedia('(min-width: 992px)').matches) {
32
+ if ($(this).text().toLowerCase() !== 'useful links') {
33
+ $(this)
34
+ .closest('.aside-nav2__holder')
35
+ .toggleClass('is-active')
36
+ .find('.aside-nav2__list')
37
+ .slideToggle(250);
38
+ }
39
+ }
40
+ });
41
+ }
42
+
43
+ init();
35
44
  })();
@@ -1,20 +1,23 @@
1
1
  const cartSliderHTML = '<div class="custom-slider just-added d-none"></div>';
2
2
 
3
3
  createPopupSlider({
4
- type: 'cart',
5
- sliderSelector: '.custom-slider.just-added',
6
- onAppendEvent: 'productAddedToCart',
7
- onAppend: function (event, { showSlider, handleScroll, el }) {
8
- if (!$('.custom-slider.just-added').length) {
9
- $('body').append(cartSliderHTML);
10
- }
11
- const htmlContent = event.detail.html;
12
- $(el.slider).append(htmlContent);
13
- showSlider();
14
- Wick.MiniBasketSliderFE.isMiniBasketLoaded = false;
15
- $(el.sliderWrap).on('scroll', _.debounce(() => handleScroll(el.sliderWrap), 100));
16
- },
17
- onClose: function () {
18
- Wick.MiniBasketSliderFE.cartEntries = [];
19
- }
4
+ type: 'cart',
5
+ sliderSelector: '.custom-slider.just-added',
6
+ onAppendEvent: 'productAddedToCart',
7
+ onAppend: function (event, { showSlider, handleScroll, el }) {
8
+ if (!$('.custom-slider.just-added').length) {
9
+ $('body').append(cartSliderHTML);
10
+ }
11
+ const htmlContent = event.detail.html;
12
+ $(el.slider).append(htmlContent);
13
+ showSlider();
14
+ Wick.MiniBasketSliderFE.isMiniBasketLoaded = false;
15
+ $(el.sliderWrap).on(
16
+ 'scroll',
17
+ _.debounce(() => handleScroll(el.sliderWrap), 100)
18
+ );
19
+ },
20
+ onClose: function () {
21
+ Wick.MiniBasketSliderFE.cartEntries = [];
22
+ },
20
23
  });