wickes-css2 2.103.0-RG-1742-billie-30-60-90-days.3 → 2.103.0-develop.10

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 (101) hide show
  1. package/Readme.md +5 -1
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/components/card-product-banner.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/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 +1301 -369
  20. package/build/js/general.bundle.min.js +1 -1
  21. package/build/js/merged-checkout.min.js +2 -2
  22. package/build/js/mini-basket-slider.min.js +1 -0
  23. package/build/js/page/basket/basket-update-cart-action.js +59 -0
  24. package/build/js/page/basket/basket-update-cart.js +29 -0
  25. package/build/js/page/basket/basket-utils.js +50 -0
  26. package/build/js/page/basket/mini-basket-total.js +97 -0
  27. package/build/js/page/basket/quantity-change-handler.js +64 -0
  28. package/build/js/page/basket/update-quantity-operation.js +37 -0
  29. package/build/js/page/basket/update-quantity.js +65 -0
  30. package/build/js/page/basket-v2.js +138 -244
  31. package/build/js/page/checkout-payment-details.js +43 -96
  32. package/build/js/page/components/discounts.js +6 -6
  33. package/build/js/page/components/mini-basket-slider.js +569 -0
  34. package/build/js/page/plp-cards-v2.js +15 -6
  35. package/build/js/page/plp-load-more.js +1 -1
  36. package/build/js/pdp.bundle.min.js +1 -1
  37. package/build/js/plp.bundle.min.js +1 -1
  38. package/build/js/project-list.min.js +1 -1
  39. package/package.json +18 -3
  40. package/src/components/card_product_v2.hbs +10 -5
  41. package/src/components/card_sponsor_banner.hbs +8 -0
  42. package/src/components/card_sponsor_product.hbs +6 -0
  43. package/src/components/checkout-payment-details-v2.hbs +23 -35
  44. package/src/components/injected-content.hbs +1 -1
  45. package/src/components/mini-basket/mini-basket-empty.hbs +3 -13
  46. package/src/components/mini-basket/mini-basket-order-item.hbs +73 -0
  47. package/src/components/mini-basket/mini-basket.hbs +32 -13
  48. package/src/components/mini-basket/product-item.hbs +37 -16
  49. package/src/components/srp-injected.hbs +3 -13
  50. package/src/data/data_confirmation-summary.json +4 -2
  51. package/src/data/data_mini-basket.json +4 -80
  52. package/src/data/data_search-results_v2.json +56 -141
  53. package/src/js/components/banner-placement-manager.js +267 -0
  54. package/src/js/components/general/cart-slider.js +4 -0
  55. package/src/js/components/general/create-popup-slider.js +5 -2
  56. package/src/js/emulation/account-hub.js +40 -40
  57. package/src/js/emulation/banner-placement-manager.js +53 -0
  58. package/src/js/emulation/checkout-payment-details.js +8 -8
  59. package/src/js/emulation/custom-slider-emulation.js +4 -10
  60. package/src/js/emulation/forms.js +89 -118
  61. package/src/js/emulation/mini-basket-data.js +949 -0
  62. package/src/js/emulation/paymentLoader.js +3 -4
  63. package/src/js/page/basket/basket-update-cart-action.js +59 -0
  64. package/src/js/page/basket/basket-update-cart.js +29 -0
  65. package/src/js/page/basket/basket-utils.js +50 -0
  66. package/src/js/page/basket/mini-basket-total.js +97 -0
  67. package/src/js/page/basket/quantity-change-handler.js +64 -0
  68. package/src/js/page/basket/update-quantity-operation.js +37 -0
  69. package/src/js/page/basket/update-quantity.js +65 -0
  70. package/src/js/page/basket-v2.js +138 -244
  71. package/src/js/page/checkout-payment-details.js +43 -96
  72. package/src/js/page/components/discounts.js +6 -6
  73. package/src/js/page/components/mini-basket-slider.js +569 -0
  74. package/src/js/page/plp-cards-v2.js +15 -6
  75. package/src/js/page/plp-load-more.js +1 -1
  76. package/src/layouts/base.hbs +0 -6
  77. package/src/page_plp_v2.html +17 -6
  78. package/src/page_search-results.html +12 -2
  79. package/src/partials/scripts.hbs +1 -0
  80. package/src/scss/category-main.scss +1 -0
  81. package/src/scss/components/_custom-slider.scss +131 -3
  82. package/src/scss/components/_popover-mini-basket.scss +0 -4
  83. package/src/scss/components/card-product-banner.scss +91 -3
  84. package/src/scss/emulation.scss +3 -3
  85. package/src/scss/helpers/_colors-semantic.scss +120 -0
  86. package/src/scss/helpers/_variables.scss +2 -0
  87. package/src/scss/main.scss +0 -2
  88. package/src/scss/pages/_facets.scss +86 -0
  89. package/src/scss/pages/page_products-list-combined.scss +11 -0
  90. package/src/scss/pages/page_products-list.scss +8 -0
  91. package/src/scss/plp-main.scss +1 -0
  92. package/build/css/components/checkout-chip.css +0 -1
  93. package/build/css/components/checkout-payment-repayment-terms.css +0 -1
  94. package/src/components/checkout-chip.hbs +0 -15
  95. package/src/components/checkout-payment-repayment-terms.hbs +0 -12
  96. package/src/data/data_billie-terms.json +0 -7
  97. package/src/js/components/general/mini-basket-slider.js +0 -8
  98. package/src/js/components/product-banner.js +0 -148
  99. package/src/js/emulation/repayment-toggle.js +0 -35
  100. package/src/scss/components/checkout-chip.scss +0 -64
  101. package/src/scss/components/checkout-payment-repayment-terms.scss +0 -39
package/package.json CHANGED
@@ -1,11 +1,23 @@
1
1
  {
2
2
  "name": "wickes-css2",
3
- "version": "2.103.0-RG-1742-billie-30-60-90-days.3",
3
+ "version": "2.103.0-develop.10",
4
4
  "description": "CSS and JS and page templates in use by Wickes",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
7
  "lint:fix": "sass-lint-auto-fix",
8
- "build": "gulp build"
8
+ "build": "gulp build",
9
+ "prepare": "husky install",
10
+ "setup:husky": "yarn prepare && npx husky add .husky/pre-commit \"yarn lint-staged\" && git add .husky/pre-commit"
11
+ },
12
+ "lint-staged": {
13
+ "src/js/**/*.js": [
14
+ "eslint --fix",
15
+ "prettier --write"
16
+ ],
17
+ "src/scss/**/*.{scss,css}": [
18
+ "prettier --write",
19
+ "sass-lint-auto-fix"
20
+ ]
9
21
  },
10
22
  "keywords": [
11
23
  "css",
@@ -48,11 +60,14 @@
48
60
  "gulp-uglify": "^3.0.2",
49
61
  "gulp-watch": "^5.0.0",
50
62
  "handlebars-layouts": "^3.1.4",
63
+ "husky": "8.0.3",
64
+ "lint-staged": "13.2.3",
51
65
  "mocha": "^6.2.2",
52
66
  "node-sass": "^4.0.0",
53
67
  "postcss": "^8.4.16",
54
68
  "postcss-combine-duplicated-selectors": "^10.0.3",
55
69
  "postcss-combine-media-query": "^1.0.1",
70
+ "prettier": "^3.7.4",
56
71
  "pug": "2.0.4",
57
72
  "sass": "^1.54.9",
58
73
  "sass-lint-auto-fix": "^0.21.2",
@@ -108,7 +123,7 @@
108
123
  "branches": [
109
124
  "alt-master",
110
125
  {
111
- "name": "custom-tag/RG-1742-billie-30-60-90-days",
126
+ "name": "develop",
112
127
  "prerelease": "${name.replace(/^custom-tag\\//g, '')}"
113
128
  }
114
129
  ],
@@ -19,11 +19,11 @@
19
19
  <div class="product-card__reviews product-card__reviews-v2">
20
20
  <div class="product-rating product-rating-v2">
21
21
  <div class="rating-bg">
22
- <i class="fa fa-star star-in" aria-hidden="true"></i>
23
- <i class="fa fa-star star-in" aria-hidden="true"></i>
24
- <i class="fa fa-star star-in" aria-hidden="true"></i>
25
- <i class="fa fa-star star-in" aria-hidden="true"></i>
26
- <i class="fa fa-star star-in" aria-hidden="true"></i>
22
+ <i class="fa fa-star star-in" aria-hidden="true"></i>
23
+ <i class="fa fa-star star-in" aria-hidden="true"></i>
24
+ <i class="fa fa-star star-in" aria-hidden="true"></i>
25
+ <i class="fa fa-star star-in" aria-hidden="true"></i>
26
+ <i class="fa fa-star star-in" aria-hidden="true"></i>
27
27
 
28
28
  <div class="rating-overlay" data-rating="{{#if review-rating}}{{review-rating}}{{else}}0{{/if}}">
29
29
  <span class="star-overlay">
@@ -48,6 +48,11 @@
48
48
  </div>
49
49
  {{/if}}
50
50
  </div>
51
+ {{#if isSponsor}}
52
+ <div class="product-card__sponsored">Sponsored</div>
53
+ {{else}}
54
+ <div class="product-card__sponsored product-card__sponsored--empty">&nbsp;</div>
55
+ {{/if}}
51
56
  {{#if switch-vat}}
52
57
  <div class="including-vat product-card__price {{#if sale}} product-card__price_sale {{/if}} {{#if
53
58
  recommended}}product-card__min-height{{/if}}">
@@ -0,0 +1,8 @@
1
+ <div class="card-sponsor-banner {{#unless show}}d-none{{/unless}}"
2
+ {{#if desktop-position}}data-desktop-position="{{desktop-position}}"{{/if}}
3
+ {{#if mobile-position}}data-mobile-position="{{mobile-position}}"{{/if}}
4
+ >
5
+ <a class="card-sponsor-banner__link" href="{{href}}">
6
+ <img class="card-sponsor-banner__image" src="{{src}}" alt="banner">
7
+ </a>
8
+ </div>
@@ -0,0 +1,6 @@
1
+ <div class="card-sponsor-product {{#unless show}}d-none{{/unless}}"
2
+ {{#if desktop-position}}data-desktop-position="{{desktop-position}}"{{/if}}
3
+ {{#if mobile-position}}data-mobile-position="{{mobile-position}}"{{/if}}
4
+ >
5
+ {{>card_product_v2}}
6
+ </div>
@@ -66,13 +66,13 @@
66
66
  <div class="form-row">
67
67
  <div class="form-row__field form-row__field-clearpay">
68
68
  <label
69
- class="rbn rbn_align clearpay-label__rbn"
70
- for="checkout-payment-details-clearpay">
69
+ class="rbn rbn_align clearpay-label__rbn"
70
+ for="checkout-payment-details-clearpay">
71
71
  <input
72
- type="radio"
73
- id="checkout-payment-details-clearpay"
74
- name="payment-method"
75
- value="clearpay">
72
+ type="radio"
73
+ id="checkout-payment-details-clearpay"
74
+ name="payment-method"
75
+ value="clearpay">
76
76
  <ins></ins>
77
77
  <div class="clearpay-logo">
78
78
  <img class="payments-checkout__image" src="./img/payment/checkout/clearpay.svg" alt="clearpay">
@@ -85,13 +85,13 @@
85
85
  <div class="form-row">
86
86
  <div class="form-row__field form-row__field-apple">
87
87
  <label
88
- class="rbn rbn_align apple-label__rbn"
89
- for="checkout-payment-details-apple">
88
+ class="rbn rbn_align apple-label__rbn"
89
+ for="checkout-payment-details-apple">
90
90
  <input
91
- type="radio"
92
- id="checkout-payment-details-apple"
93
- name="payment-method"
94
- value="apple">
91
+ type="radio"
92
+ id="checkout-payment-details-apple"
93
+ name="payment-method"
94
+ value="apple">
95
95
  <ins></ins>
96
96
  <div class="apple-logo">
97
97
  <img src="img/apple-pay.svg" alt="apple pay">
@@ -104,13 +104,13 @@
104
104
  <div class="form-row">
105
105
  <div class="form-row__field form-row__field-google">
106
106
  <label
107
- class="rbn rbn_align google-label__rbn"
108
- for="checkout-payment-details-google">
107
+ class="rbn rbn_align google-label__rbn"
108
+ for="checkout-payment-details-google">
109
109
  <input
110
- type="radio"
111
- id="checkout-payment-details-google"
112
- name="payment-method"
113
- value="google">
110
+ type="radio"
111
+ id="checkout-payment-details-google"
112
+ name="payment-method"
113
+ value="google">
114
114
  <ins></ins>
115
115
  <div class="google-logo">
116
116
  <img src="img/google-pay-mark.png" alt="google pay">
@@ -124,8 +124,7 @@
124
124
  <label class="rbn rbn_align" for="checkout-payment-details-paypal">
125
125
  <input type="radio" id="checkout-payment-details-paypal" name="payment-method" value="paypal">
126
126
  <ins></ins>
127
- <img class="checkout-payment-details__icon" src="img/payments_paypal-large.png" width="90" height="24"
128
- alt="paypal">
127
+ <img class="checkout-payment-details__icon" src="img/payments_paypal-large.png" width="90" height="24" alt="paypal">
129
128
  </label>
130
129
  </div>
131
130
  </div>
@@ -164,18 +163,7 @@
164
163
  </div>
165
164
  </div>
166
165
 
167
- <div class="form-row js-billie-repayment-terms" style="display: none" data-billie data-row-required data-message="Please select repayment terms">
168
- <div class="form-row__field">
169
- {{> checkout-payment-repayment-terms
170
- name="repaymentTerms"
171
- title="Select repayment terms"
172
- repaymentTerms=billieTerms
173
- }}
174
- </div>
175
- </div>
176
-
177
166
  {{> checkout-payment-info-block
178
- showRepaymentTerms=false
179
167
  dataAttr="data-klarna"
180
168
  blockClass="checkout-payment-details__klarna"
181
169
  infoClass="klarna-info"
@@ -212,11 +200,10 @@
212
200
 
213
201
  {{> checkout-payment-info-block
214
202
  dataAttr="data-billie"
215
- showRepaymentTerms=true
216
203
  blockClass="checkout-payment-details__billie"
217
204
  infoClass="billie-info"
218
205
 
219
- heading="Get first. Pay later <br> Pay <span class='term'>30</span> days after shipment"
206
+ heading="Get first. Pay later <br> Pay 30 days after shipment"
220
207
  brandLogoHtml="<img
221
208
  src='https://static.billie.io/badges/Billie_Checkout_Default.svg'
222
209
  alt='Billie Pay Later'
@@ -239,11 +226,12 @@
239
226
  <img class="clearpay-widget__image" src="./img/payment/checkout/clearpay-widget.png" alt="clearpay widget">
240
227
  </div>
241
228
  </div>
229
+
230
+
242
231
  <div class="billing-address">
243
232
  {{> checkout-edit-billing-address actionBlock="true" no-set-card="true" billie-form=billie-form}}
244
233
  </div>
245
- <div data-existing-card
246
- class="form-row form-row__action form-row__action_custom checkout-payment-details__place-order paypal__row">
234
+ <div data-existing-card class="form-row form-row__action form-row__action_custom checkout-payment-details__place-order paypal__row">
247
235
  <div class="form-row__col-btn" data-paypal style="display: none;">
248
236
  <a class="pay-pal_wrap" href="./page_checkout_confirmation-new.html">
249
237
  <div class="buttons-container">
@@ -10,4 +10,4 @@
10
10
  </div>
11
11
  {{/if}}
12
12
  {{/each}}
13
- </div>
13
+ </div>
@@ -1,17 +1,7 @@
1
- <div class="custom-slider mini-basket d-none">
2
- <div class="custom-slider__wrap">
3
- <div class="custom-slider__header">
4
- <span class="custom-slider__count">Your basket (0)</span>
5
- <a href="#" type="button" class="icon-wrap close-popup">
6
- <i class="far fa-times icon"></i>
7
- </a>
8
- </div>
9
- <div class="custom-slider__empty">
1
+ <div class="custom-slider__empty">
10
2
  <span class="icon-wrap icon-wrap--xl">
11
3
  <i class="fas fa-shopping-basket"></i>
12
4
  </span>
13
- <p class="text">Your basket is currently empty.</p>
14
- <button class="btn btn-primary close-popup">Continue Shopping</button>
15
- </div>
16
- </div>
5
+ <p class="text">Your basket is currently empty.</p>
6
+ <button class="btn btn-primary close-popup">Continue Shopping</button>
17
7
  </div>
@@ -0,0 +1,73 @@
1
+ <div class="card product-card-preview" data-id="{{item.entryNumber}}">
2
+ <div
3
+ class="products__item card__inner"
4
+ data-name="{{item.product.name}}"
5
+ data-id="{{item.product.code}}"
6
+ data-price="{{item.product.price.formattedPriceWithoutCurrencySymbol}}"
7
+ data-brand="{{item.product.brandName}}"
8
+ data-category="{{removeFirst item.product.categoryPath 'Products/'}}"
9
+ data-position="{{position}}"
10
+ data-quantity="{{item.quantity}}"
11
+ >
12
+ <a href="{{item.product.url}}" class="card__img-wrap card__img-wrap_link products__image">
13
+ <img
14
+ class="product-img"
15
+ src="{{item.product.image.url}}"
16
+ alt="{{item.product.image.altText}}">
17
+ </a>
18
+ <div class="products__details product-card__content">
19
+ <div class="products__details-header">
20
+ <a href="{{item.product.url}}" class="title product-card__title product-card__title_link">
21
+ {{item.product.name}}
22
+ </a>
23
+ <button class="btn btn--remove {{#unless item.updateable}}d-none{{/unless}}" data-action="remove">
24
+ <i class="fas fa-trash remove-icon"></i>
25
+ </button>
26
+ </div>
27
+ <div class="products__details-body">
28
+ {{#if item.deliveryPointOfService.name}}
29
+ <p class="item">Click &amp; Collect: <span class="value">{{item.deliveryPointOfService.description}}</span></p>
30
+ {{else}}
31
+ <p class="item">Added for delivery</p>
32
+ {{/if}}
33
+ </div>
34
+
35
+ {{{promotionsHtml}}}
36
+
37
+ <div class="products__details-footer">
38
+ <div class="products__quantity-control">
39
+ <button class="btn btn--quantity" data-action="minus"
40
+ {{#unless item.updateable}}disabled{{/unless}} {{#if (eq item.quantity 1)}}disabled{{/if}}>
41
+ <i class="fal fa-minus quantity-cta-icon"></i>
42
+ </button>
43
+ <div class="quantity product-card__quantity-label">
44
+ <span class="value product-card__quantity-value" value="{{item.quantity}}">{{item.quantity}}</span>
45
+ </div>
46
+ <button class="btn btn--quantity" data-action="plus" {{#unless item.updateable}}disabled{{/unless}}>
47
+ <i class="fal fa-plus quantity-cta-icon"></i>
48
+ </button>
49
+ </div>
50
+ {{#if (eq item.basePrice.value 0)}}
51
+ <span class="order-item__value product-card__price-value">FREE</span>
52
+ {{else}}
53
+ {{#if (isToggleVatAvailable)}}
54
+ <div class="price including-vat-inherit">
55
+ <span class="product-card__price-value">
56
+ <span class="order-item__value">{{item.basePrice.formattedValue}}</span>
57
+ <span class="inc">Inc.VAT</span>
58
+ </span>
59
+ </div>
60
+ <div class="price excluding-vat-inherit">
61
+ <span class="product-card__price-value">
62
+ <span class="order-item__value">{{item.basePriceExcVat.formattedValue}}</span>
63
+ <span class="inc">Exc.VAT</span>
64
+ </span>
65
+ </div>
66
+ {{else}}
67
+ <span class="price product-card__price-value">{{item.basePrice.formattedValue}}</span>
68
+ {{/if}}
69
+ {{/if}}
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </div>
@@ -1,39 +1,58 @@
1
- <div class="custom-slider mini-basket d-none">
1
+ <div class="custom-slider mini-basket popover-mini-basket d-none">
2
2
  <div class="custom-slider__wrap">
3
3
  <div class="custom-slider__header">
4
- <span class="custom-slider__count">Your basket (1)</span>
4
+ <span class="custom-slider__count">Your basket</span>
5
5
  <button type="button" class="icon-wrap close-popup">
6
6
  <i class="far fa-times icon"></i>
7
7
  </button>
8
8
  </div>
9
- <div class="products popover-mini-basket__cards-holder">
10
- {{#each mini-basket.products}}
11
- {{> mini-basket/product-item this switch-vat=true}}
12
- {{/each}}
13
- </div>
9
+ <div class="custom-slider__notifications"></div>
10
+ <div class="products popover-mini-basket__cards-holder"></div>
14
11
  </div>
15
12
  <div class="custom-slider__footer footer-fixed">
16
13
  <div class="mini-basket__total">
17
- <button class="btn mini-basket__total-toggle" type="button" data-toggle="collapse" data-target="#checkout-details-accordion-3" aria-expanded="false" aria-controls="checkout-details-accordion-3">
14
+ <button class="btn mini-basket__total-toggle collapsed" type="button" data-toggle="collapse" data-target="#checkout-details-accordion-3" aria-expanded="false" aria-controls="checkout-details-accordion-3">
18
15
  <span class="mini-basket__wrap-total">
19
16
  <span class="icon-wrap">
20
17
  <i class="fas fa-chevron-down arrow-icon"></i>
21
18
  </span>
22
19
  <span class="text">Total:</span>
23
20
  </span>
24
- <span class="value">{{mini-basket.total.totalPrice.formattedValue}}</span>
21
+ <span class="mini-basket__total-toggle-value"></span>
25
22
  </button>
26
23
 
27
- {{> checkout_order-summary-new confirmationSummary=true head=true mod=true id=3 mobile=true hideApplyVoucher=true}}
24
+ <div class="checkout-widget checkout-widget_order-summary">
25
+ <ul class="checkout-widget__details checkout-info-wrap collapse" id="checkout-details-accordion-3">
26
+ <li class="checkout-widget__accordion-wrap checkout-widget__details-discount" style="display: none">
27
+ <span class="checkout-widget__detail-name checkout-widget__detail-name_accordion collapsed" data-toggle="collapse" data-target="#acheckout-widget-accordion-3">
28
+ Discount(s):
29
+ <span class="icon accordion__header-icon-small">
30
+ <i class="fas fa-angle-up"></i>
31
+ </span>
32
+ </span>
33
+ <ul class="checkout-widget__details-hidden collapse" id="acheckout-widget-accordion-3"></ul>
34
+ <span class="checkout-widget__detail-value checkout-widget__item-value">£0.00</span>
35
+ </li>
36
+ </ul>
37
+ </div>
28
38
  </div>
29
39
  <div class="custom-slider__ctas">
30
- <a href="page_shopping-cart.html" class="btn btn_full btn-secondary">View Basket</a>
31
- <button class="btn btn-action btn_full btn-checkout">
40
+ <a href="/cart" class="btn btn_full btn-secondary btn-view-basket-cta">View Basket</a>
41
+ <a id="addToCartPopupCheckoutButton" href="/cart/checkout" class="btn btn-action btn_full btn-checkout">
32
42
  Checkout
33
43
  <span class="icon-wrap ml-2">
34
44
  <i class="fas fa-arrow-right"></i>
35
45
  </span>
36
- </button>
46
+ </a>
47
+ </div>
48
+ </div>
49
+
50
+ <div class="loader-wrapper basket-loader d-none">
51
+ <div class="loader-spinner">
52
+ <svg class="circular-loader" viewBox="25 25 50 50">
53
+ <circle class="loader-path" cx="50" cy="50" r="20" fill="none"></circle>
54
+ </svg>
37
55
  </div>
56
+ <h2>Updating basket…</h2>
38
57
  </div>
39
58
  </div>
@@ -1,24 +1,45 @@
1
- <div class="card product-card-preview">
1
+ <div class="card product-card-preview" data-id="{{id}}">
2
2
  <div class="products__item card__inner">
3
3
  <a class="card__img-wrap card__img-wrap_link products__image" href="page_product-details-with-global-search-v2.html">
4
4
  <img class="product-img" src="{{src}}" alt="">
5
5
  </a>
6
6
  <div class="products__details product-card__content">
7
- <a href="#" class="title product-card__title product-card__title_link">{{title}}</a>
8
- <p class="item">Click &amp; Collect: <span class="value">{{CC}}</span></p>
9
- <p class="item">Qty: <span class="value">{{quantity.value}}</span></p>
10
- {{#if switch-vat}}
11
- <p class="price including-vat-inherit">
12
- {{incVatPrice}}
13
- <span class="inc">Inc.VAT</span>
14
- </p>
15
- <p class="price excluding-vat-inherit">
16
- {{excVatPrice}}
17
- <span class="inc">Exc.VAT</span>
18
- </p>
19
- {{else}}
20
- <p class="price">{{price}}</p>
21
- {{/if}}
7
+ <div class="products__details-header">
8
+ <a href="#" class="title product-card__title product-card__title_link">{{title}}</a>
9
+ <button class="btn btn--remove" data-action="remove">
10
+ <i class="fas fa-trash remove-icon"></i>
11
+ </button>
12
+ </div>
13
+ <div class="products__details-body">
14
+ {{#if CC}}
15
+ <p class="item">Click &amp; Collect: <span class="value">{{CC}}</span></p>
16
+ {{/if}}
17
+ </div>
18
+ <div class="products__details-footer">
19
+ <div class="products__quantity-control">
20
+ <button class="btn btn--quantity" data-action="minus" {{#ifCond quantity.value '<=' 1}}disabled{{/ifCond}}>
21
+ <i class="fal fa-minus quantity-cta-icon"></i>
22
+ </button>
23
+ <label class="quantity product-card__quantity-label">
24
+ <span class="product-card__quantity-value">{{quantity.value}}</span>
25
+ </label>
26
+ <button class="btn btn--quantity" data-action="plus">
27
+ <i class="fal fa-plus quantity-cta-icon"></i>
28
+ </button>
29
+ </div>
30
+ {{#if switch-vat}}
31
+ <p class="price including-vat-inherit">
32
+ <span class="value">{{incVatPrice}}</span>
33
+ <span class="inc">Inc.VAT</span>
34
+ </p>
35
+ <p class="price excluding-vat-inherit">
36
+ <span class="value">{{excVatPrice}}</span>
37
+ <span class="inc">Exc.VAT</span>
38
+ </p>
39
+ {{else}}
40
+ <p class="price">{{price}}</p>
41
+ {{/if}}
42
+ </div>
22
43
  </div>
23
44
  </div>
24
45
  </div>
@@ -1,19 +1,9 @@
1
1
  <div class="srp-injected">
2
2
  <div class="srp-injected__content clamped-text">
3
3
  <p>
4
- <span style="font-size:12pt; font-variant:normal; white-space:pre-wrap">
5
- <span style="font-family:'Helvetica Neue',sans-serif">
6
- <span style="color:#000000">
7
- <span style="font-weight:400">
8
- <span style="font-style:normal">
9
- <span style="text-decoration:none">
10
- The right lighting can turn your bathroom into a sanctuary, blending style and practicality. From sleek ceiling lights to illuminated and elegant wall fixtures, each of our options is designed to elevate your space. Create a warm, inviting glow that turns your bathroom into a haven of comfort and style.
11
- </span>
12
- </span>
13
- </span>
14
- </span>
15
- </span>
16
- </span>
4
+ The right lighting can turn your bathroom into a sanctuary, blending style and practicality. From sleek ceiling
5
+ lights to illuminated and elegant wall fixtures, each of our options is designed to elevate your space. Create a
6
+ warm, inviting glow that turns your bathroom into a haven of comfort and style.
17
7
  </p>
18
8
  </div>
19
9
  </div>
@@ -13,7 +13,8 @@
13
13
  },
14
14
  {
15
15
  "title": "Click & Collect:",
16
- "value": "Free"
16
+ "value": "Free",
17
+ "mod": "cc"
17
18
  },
18
19
  {
19
20
  "title": "Delivery:",
@@ -22,7 +23,8 @@
22
23
  },
23
24
  {
24
25
  "title": "Charity donation:",
25
- "value": "£1.00"
26
+ "value": "£1.00",
27
+ "mod": "charity"
26
28
  }
27
29
  ],
28
30
  "total": {
@@ -3,6 +3,7 @@
3
3
  "number": 0,
4
4
  "products": [
5
5
  {
6
+ "id": 1,
6
7
  "quantity": {
7
8
  "value": "1"
8
9
  },
@@ -15,87 +16,9 @@
15
16
  "CC": "East Grinstead"
16
17
  },
17
18
  {
19
+ "id": 2,
18
20
  "quantity": {
19
- "value": "1"
20
- },
21
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
22
- "src": "img/placeholders/[e-img-4to3].jpg",
23
- "price": "£2,009.00",
24
- "incVatPrice": "£309.00",
25
- "excVatPrice": "£109.00",
26
- "bad-amount": true
27
- },
28
- {
29
- "quantity": {
30
- "value": "1"
31
- },
32
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
33
- "src": "img/placeholders/[e-img-4to3].jpg",
34
- "price": "£2,009.00",
35
- "incVatPrice": "£309.00",
36
- "excVatPrice": "£109.00",
37
- "bad-amount": true
38
- },
39
- {
40
- "quantity": {
41
- "value": "1"
42
- },
43
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
44
- "src": "img/placeholders/tap.jpg",
45
- "price": "£2,009.00",
46
- "incVatPrice": "£30.00",
47
- "excVatPrice": "£10.00",
48
- "lower-quantity": true,
49
- "CC": "East Grinstead"
50
- },
51
- {
52
- "quantity": {
53
- "value": "1"
54
- },
55
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
56
- "src": "img/placeholders/[e-img-4to3].jpg",
57
- "price": "£2,009.00",
58
- "incVatPrice": "£309.00",
59
- "excVatPrice": "£109.00",
60
- "bad-amount": true
61
- },
62
- {
63
- "quantity": {
64
- "value": "1"
65
- },
66
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
67
- "src": "img/placeholders/[e-img-4to3].jpg",
68
- "price": "£2,009.00",
69
- "incVatPrice": "£309.00",
70
- "excVatPrice": "£109.00",
71
- "bad-amount": true
72
- },
73
- {
74
- "quantity": {
75
- "value": "1"
76
- },
77
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
78
- "src": "img/placeholders/tap.jpg",
79
- "price": "£2,009.00",
80
- "incVatPrice": "£30.00",
81
- "excVatPrice": "£10.00",
82
- "lower-quantity": true,
83
- "CC": "East Grinstead"
84
- },
85
- {
86
- "quantity": {
87
- "value": "1"
88
- },
89
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
90
- "src": "img/placeholders/[e-img-4to3].jpg",
91
- "price": "£2,009.00",
92
- "incVatPrice": "£309.00",
93
- "excVatPrice": "£109.00",
94
- "bad-amount": true
95
- },
96
- {
97
- "quantity": {
98
- "value": "1"
21
+ "value": "5"
99
22
  },
100
23
  "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
101
24
  "src": "img/placeholders/[e-img-4to3].jpg",
@@ -125,3 +48,4 @@
125
48
  }
126
49
  }
127
50
  }
51
+