wickes-css2 2.106.0-develop.2 → 2.106.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 (59) hide show
  1. package/Readme.md +1 -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-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/emulation.min.js +61 -20
  17. package/build/js/page/basket-v2.js +5 -5
  18. package/build/js/page/components/billie-modal.js +20 -20
  19. package/build/js/page/count-stepper/pdp-count-stepper.js +29 -0
  20. package/build/js/page/filters/plp-filters.js +2 -2
  21. package/build/js/page/kitchen/colour-swatches.js +152 -152
  22. package/build/js/page/quick-filter.js +106 -103
  23. package/build/js/page/utils/create-count-stepper.js +141 -0
  24. package/build/js/pdp-count-stepper.min.js +1 -0
  25. package/build/js/plp-filters.min.js +1 -1
  26. package/package.json +2 -2
  27. package/src/components/home-movers/form.hbs +1 -1
  28. package/src/components/price-block-v2.hbs +1 -1
  29. package/src/elements/count-button.hbs +10 -0
  30. package/src/js/components/pdp-billie-modal-scroll-reset.js +46 -42
  31. package/src/js/emulation/billie-modal.js +6 -6
  32. package/src/js/emulation/mock.js +88 -21
  33. package/src/js/emulation/validity-emulation.js +33 -0
  34. package/src/js/page/basket-v2.js +5 -5
  35. package/src/js/page/components/billie-modal.js +20 -20
  36. package/src/js/page/count-stepper/pdp-count-stepper.js +29 -0
  37. package/src/js/page/filters/plp-filters.js +2 -2
  38. package/src/js/page/kitchen/colour-swatches.js +152 -152
  39. package/src/js/page/quick-filter.js +106 -103
  40. package/src/js/page/utils/create-count-stepper.js +141 -0
  41. package/src/page_plp-with-paint.html +1 -1
  42. package/src/page_plp_v2-energy-efficiency.html +1 -1
  43. package/src/page_plp_v2-favourite-products.html +1 -1
  44. package/src/page_plp_v2-vat.html +1 -1
  45. package/src/page_plp_v2.html +1 -1
  46. package/src/page_product_search-vat.html +1 -1
  47. package/src/page_product_search.html +1 -1
  48. package/src/page_search-results.html +1 -1
  49. package/src/partials/scripts.hbs +1 -0
  50. package/src/scss/components/_custom-slider.scss +7 -6
  51. package/src/scss/components/_input-counter.scss +65 -0
  52. package/src/scss/components/_quick-filter.scss +32 -10
  53. package/src/scss/components/kitchen/_price-tooltip.scss +3 -2
  54. package/src/scss/components/kitchen/_price.scss +2 -2
  55. package/src/scss/helpers/_variables.scss +7 -16
  56. package/src/scss/pages/page_products-list-combined.scss +34 -2
  57. package/src/scss/pdp-main.scss +1 -0
  58. package/build/js/page/plp-img-v2.js +0 -25
  59. package/src/js/page/plp-img-v2.js +0 -25
@@ -1,108 +1,111 @@
1
1
  $(document).ready(function () {
2
- const SELECTORS = {
3
- quickFilter: '.quick-filter',
4
- swiperContainer: '.swiper-container',
5
- pagination: '.swiper-pagination',
6
- nextButton: '.quick-filter__next-btn',
7
- prevButton: '.quick-filter__prev-btn',
8
- };
9
-
10
- const CSS_CLASSES = {
11
- locked: 'quick-filter--locked',
12
- colourSwatch: 'quick-filter--colour',
13
- textOnly: 'quick-filter--text',
14
- bulletClass: 'swiper-pagination-bullet',
15
- bulletActiveClass: 'swiper-pagination-bullet-active'
16
- };
17
-
18
- const CONFIG = {
19
- speed: 400,
20
- defaultSpaceBetween: 16,
21
- textOnlySpaceBetween: 8,
22
- resizeDebounceTime: 250,
23
- breakpoints: {
24
- mobile: 767,
25
- mobileSpaceBetween: 8,
26
- },
27
- };
28
-
29
- function shouldSkipSlider($slider) {
30
- return $slider.hasClass(CSS_CLASSES.colourSwatch);
31
- }
32
-
33
- function getSpaceBetween($slider) {
34
- const isTextOnly = $slider.hasClass(CSS_CLASSES.textOnly);
35
- return isTextOnly ? CONFIG.textOnlySpaceBetween : CONFIG.defaultSpaceBetween;
36
- }
37
-
38
- function getSwiperConfig($pagination, $nextBtn, $prevBtn, spaceBetween) {
39
- return {
40
- speed: CONFIG.speed,
41
- spaceBetween: spaceBetween,
42
- slidesPerView: 'auto',
43
- watchOverflow: true,
44
- pagination: {
45
- el: $pagination[0],
46
- type: 'bullets',
47
- clickable: true,
48
- bulletClass: CSS_CLASSES.bulletClass,
49
- bulletActiveClass: CSS_CLASSES.bulletActiveClass,
50
- },
51
- navigation: {
52
- nextEl: $nextBtn[0],
53
- prevEl: $prevBtn[0],
54
- },
55
- breakpoints: {
56
- [CONFIG.breakpoints.mobile]: {
57
- spaceBetween: CONFIG.breakpoints.mobileSpaceBetween,
58
- },
59
- },
60
- on: {
61
- lock: handleLock,
62
- unlock: handleUnlock,
63
- },
2
+ const SELECTORS = {
3
+ quickFilter: '.quick-filter',
4
+ swiperContainer: '.swiper-container',
5
+ pagination: '.swiper-pagination',
6
+ nextButton: '.quick-filter__next-btn',
7
+ prevButton: '.quick-filter__prev-btn',
64
8
  };
65
- }
66
-
67
- function handleLock() {
68
- this.el.parentElement.classList.add(CSS_CLASSES.locked);
69
- }
70
-
71
- function handleUnlock() {
72
- this.el.parentElement.classList.remove(CSS_CLASSES.locked);
73
- }
74
-
75
- function initializeSwiper($slider) {
76
- const $container = $slider.find(SELECTORS.swiperContainer);
77
- const $pagination = $slider.find(SELECTORS.pagination);
78
- const $nextBtn = $slider.find(SELECTORS.nextButton);
79
- const $prevBtn = $slider.find(SELECTORS.prevButton);
80
-
81
- const spaceBetween = getSpaceBetween($slider);
82
- const config = getSwiperConfig($pagination, $nextBtn, $prevBtn, spaceBetween);
83
-
84
- const swiper = new Swiper($container[0], config);
85
9
 
86
- bindResizeHandler(swiper);
87
- }
88
-
89
- function bindResizeHandler(swiper) {
90
- $(window).on('resize', _.debounce(function () {
91
- swiper.update();
92
- }, CONFIG.resizeDebounceTime));
93
- }
94
-
95
- function init() {
96
- $(SELECTORS.quickFilter).each(function (index, slider) {
97
- const $slider = $(slider);
98
-
99
- if (shouldSkipSlider($slider)) {
100
- return;
101
- }
10
+ const CSS_CLASSES = {
11
+ locked: 'quick-filter--locked',
12
+ colourSwatch: 'quick-filter--colour',
13
+ textOnly: 'quick-filter--text',
14
+ bulletClass: 'swiper-pagination-bullet',
15
+ bulletActiveClass: 'swiper-pagination-bullet-active',
16
+ };
102
17
 
103
- initializeSwiper($slider);
104
- });
105
- }
18
+ const CONFIG = {
19
+ speed: 400,
20
+ defaultSpaceBetween: 16,
21
+ textOnlySpaceBetween: 8,
22
+ resizeDebounceTime: 250,
23
+ breakpoints: {
24
+ mobile: 767,
25
+ mobileSpaceBetween: 8,
26
+ },
27
+ };
106
28
 
107
- init();
108
- });
29
+ function shouldSkipSlider($slider) {
30
+ return $slider.hasClass(CSS_CLASSES.colourSwatch);
31
+ }
32
+
33
+ function getSpaceBetween($slider) {
34
+ const isTextOnly = $slider.hasClass(CSS_CLASSES.textOnly);
35
+ return isTextOnly ? CONFIG.textOnlySpaceBetween : CONFIG.defaultSpaceBetween;
36
+ }
37
+
38
+ function getSwiperConfig($pagination, $nextBtn, $prevBtn, spaceBetween) {
39
+ return {
40
+ speed: CONFIG.speed,
41
+ spaceBetween: spaceBetween,
42
+ slidesPerView: 'auto',
43
+ watchOverflow: true,
44
+ pagination: {
45
+ el: $pagination[0],
46
+ type: 'bullets',
47
+ clickable: true,
48
+ bulletClass: CSS_CLASSES.bulletClass,
49
+ bulletActiveClass: CSS_CLASSES.bulletActiveClass,
50
+ },
51
+ navigation: {
52
+ nextEl: $nextBtn[0],
53
+ prevEl: $prevBtn[0],
54
+ },
55
+ breakpoints: {
56
+ [CONFIG.breakpoints.mobile]: {
57
+ spaceBetween: CONFIG.breakpoints.mobileSpaceBetween,
58
+ },
59
+ },
60
+ on: {
61
+ lock: handleLock,
62
+ unlock: handleUnlock,
63
+ },
64
+ };
65
+ }
66
+
67
+ function handleLock() {
68
+ this.el.parentElement.classList.add(CSS_CLASSES.locked);
69
+ }
70
+
71
+ function handleUnlock() {
72
+ this.el.parentElement.classList.remove(CSS_CLASSES.locked);
73
+ }
74
+
75
+ function initializeSwiper($slider) {
76
+ const $container = $slider.find(SELECTORS.swiperContainer);
77
+ const $pagination = $slider.find(SELECTORS.pagination);
78
+ const $nextBtn = $slider.find(SELECTORS.nextButton);
79
+ const $prevBtn = $slider.find(SELECTORS.prevButton);
80
+
81
+ const spaceBetween = getSpaceBetween($slider);
82
+ const config = getSwiperConfig($pagination, $nextBtn, $prevBtn, spaceBetween);
83
+
84
+ const swiper = new Swiper($container[0], config);
85
+
86
+ bindResizeHandler(swiper);
87
+ }
88
+
89
+ function bindResizeHandler(swiper) {
90
+ $(window).on(
91
+ 'resize',
92
+ _.debounce(function () {
93
+ swiper.update();
94
+ }, CONFIG.resizeDebounceTime)
95
+ );
96
+ }
97
+
98
+ function init() {
99
+ $(SELECTORS.quickFilter).each(function (index, slider) {
100
+ const $slider = $(slider);
101
+
102
+ if (shouldSkipSlider($slider)) {
103
+ return;
104
+ }
105
+
106
+ initializeSwiper($slider);
107
+ });
108
+ }
109
+
110
+ init();
111
+ });
@@ -0,0 +1,141 @@
1
+ import countButton from '../../../elements/count-button.hbs';
2
+
3
+ // ===== HELPERS =====
4
+
5
+ function normalizeOptions(options) {
6
+ return {
7
+ inputSel: '#quantity-field',
8
+
9
+ min: 1,
10
+
11
+ enhancedInputClass: 'count-stepper__input',
12
+ enhancedParentClass: 'count-stepper',
13
+
14
+ onChange: null,
15
+
16
+ ...options,
17
+ };
18
+ }
19
+
20
+ function toInt(value) {
21
+ const n = parseInt(String(value || '').trim(), 10);
22
+ return Number.isFinite(n) ? n : NaN;
23
+ }
24
+
25
+ function clampMin(n, min) {
26
+ return Math.max(min, n);
27
+ }
28
+
29
+ function ensureQty(value, fallback) {
30
+ const n = toInt(value);
31
+ return Number.isFinite(n) ? n : fallback;
32
+ }
33
+
34
+ function buildBtn(type, disabled) {
35
+ return countButton({
36
+ type,
37
+ icon: type === 'plus' ? 'fa-plus' : 'fa-minus',
38
+ ariaLabel: type === 'plus' ? 'Increase quantity' : 'Decrease quantity',
39
+ disabled: !!disabled,
40
+ });
41
+ }
42
+
43
+ function getButtonsWrap($input) {
44
+ return $input.parent();
45
+ }
46
+
47
+ function getMinusBtn($wrap) {
48
+ return $wrap.find('[data-count-btn][data-count-type="minus"]').first();
49
+ }
50
+
51
+ function getPlusBtn($wrap) {
52
+ return $wrap.find('[data-count-btn][data-count-type="plus"]').first();
53
+ }
54
+
55
+ function updateButtons($input, opt) {
56
+ const $wrap = getButtonsWrap($input);
57
+ const qty = ensureQty($input.val(), opt.min);
58
+
59
+ const $minus = getMinusBtn($wrap);
60
+
61
+ if ($minus.length) $minus.prop('disabled', qty <= opt.min);
62
+ }
63
+
64
+ function setQty($input, opt, qty) {
65
+ const next = clampMin(qty, opt.min);
66
+ $input.val(String(next));
67
+ updateButtons($input, opt);
68
+
69
+ if (typeof opt.onChange === 'function') {
70
+ opt.onChange(next, $input.get(0));
71
+ }
72
+ }
73
+
74
+ function ensureButtons($input, opt) {
75
+ const $parent = getButtonsWrap($input);
76
+
77
+ $input.addClass(opt.enhancedInputClass);
78
+ $parent.addClass(opt.enhancedParentClass);
79
+
80
+ const hasMinus = getMinusBtn($parent).length;
81
+ const hasPlus = getPlusBtn($parent).length;
82
+
83
+ if (!hasMinus) {
84
+ $input.before(buildBtn('minus', true));
85
+ }
86
+ if (!hasPlus) {
87
+ $input.after(buildBtn('plus', false));
88
+ }
89
+
90
+ const initial = ensureQty($input.val(), opt.min);
91
+ setQty($input, opt, initial);
92
+ }
93
+
94
+ function getInputs($root, inputSel) {
95
+ const $scope = $root && $root.length ? $root : $(document);
96
+ const $self = $scope.is(inputSel) ? $scope : $();
97
+ const $found = $scope.find(inputSel);
98
+ return $self.add($found);
99
+ }
100
+
101
+ // ===== FACTORY =====
102
+
103
+ export function createCountStepper(options = {}) {
104
+ const OPT = normalizeOptions(options);
105
+ if (!OPT.inputSel) throw new Error('[createCountStepper] Missing inputSel');
106
+
107
+ const NS = `.cnt_${Math.random().toString(16).slice(2)}`;
108
+
109
+ function init($root) {
110
+ getInputs($root, OPT.inputSel).each(function () {
111
+ ensureButtons($(this), OPT);
112
+ });
113
+ }
114
+
115
+ // +/- click
116
+ $(document)
117
+ .off(`click${NS}`, '[data-count-btn]')
118
+ .on(`click${NS}`, '[data-count-btn]', function (e) {
119
+ const $btn = $(this);
120
+ const $parent = $btn.parent();
121
+ const $input = $parent.find(OPT.inputSel).first();
122
+
123
+ if (!$input.length) return;
124
+
125
+ e.preventDefault();
126
+
127
+ const type = ($btn.attr('data-count-type') || '').toLowerCase();
128
+ const current = ensureQty($input.val(), OPT.min);
129
+
130
+ if (type === 'plus') setQty($input, OPT, current + 1);
131
+ if (type === 'minus') setQty($input, OPT, current - 1);
132
+ });
133
+
134
+ $(document)
135
+ .off(`input${NS} change${NS}`, OPT.inputSel)
136
+ .on(`input${NS} change${NS}`, OPT.inputSel, function () {
137
+ updateButtons($(this), OPT);
138
+ });
139
+
140
+ return { init };
141
+ }
@@ -63,7 +63,7 @@
63
63
  {{/content}}
64
64
  {{#content "foot" mode="append"}}
65
65
  <script defer src="./js/page/plp.js"></script>
66
- <script defer src="./js/page/plp-img-v2.js"></script>
66
+
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
- <script defer src="./js/page/plp-img-v2.js"></script>
73
+
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
- <script defer src="./js/page/plp-img-v2.js"></script>
72
+
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>
@@ -66,7 +66,7 @@
66
66
  {{/content}}
67
67
  {{#content "foot" mode="append"}}
68
68
  <script defer src="./js/page/plp.js"></script>
69
- <script defer src="./js/page/plp-img-v2.js"></script>
69
+
70
70
  <script defer src="./js/page/plp-cards-v2.js"></script>
71
71
  <script defer src="./js/search-filter.min.js"></script>
72
72
  {{/content}}
@@ -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
- <script defer src="./js/page/plp-img-v2.js"></script>
86
+
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>
@@ -60,7 +60,7 @@
60
60
  {{/content}}
61
61
  {{#content "foot" mode="append"}}
62
62
  <script defer src="./js/page/plp.js"></script>
63
- <script defer src="./js/page/plp-img-v2.js"></script>
63
+
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
- <script defer src="./js/page/plp-img-v2.js"></script>
63
+
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
- <script defer src="./js/page/plp-img-v2.js"></script>
75
+
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}}
@@ -15,6 +15,7 @@
15
15
  {{/ifCond}}
16
16
  {{!-- BUNDLES END --}}
17
17
  <script src="./js/mini-basket-slider.min.js"></script>
18
+ <script src="./js/pdp-count-stepper.min.js"></script>
18
19
  <script src="./js/emulation.min.js"></script>
19
20
  <script defer src="https://kit.fontawesome.com/b73abc6840.js" crossorigin="anonymous"></script>
20
21
  {{#if pagePdp}}
@@ -7,8 +7,9 @@
7
7
  position: fixed;
8
8
  background-color: $white;
9
9
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
10
- /* prettier-ignore */
11
- transition: transform 0.4s ease, opacity 0.4s ease;
10
+ transition-property: transform, opacity;
11
+ transition-duration: 0.4s;
12
+ transition-timing-function: ease;
12
13
  opacity: 0;
13
14
  display: flex;
14
15
  flex-direction: column;
@@ -291,7 +292,7 @@
291
292
  }
292
293
 
293
294
  &[disabled] {
294
- border: none;
295
+ border: 0;
295
296
  opacity: 0.6;
296
297
  }
297
298
  }
@@ -336,7 +337,7 @@
336
337
  transition: all 0.3s ease;
337
338
 
338
339
  &.footer-fixed {
339
- box-shadow: 0px -4px 12px 0px rgba(0, 0, 0, 0.08);
340
+ box-shadow: 0 -4px 12px 0 rgba(0, 0, 0, 0.08);
340
341
  position: fixed;
341
342
  width: 100%;
342
343
  left: 0;
@@ -407,7 +408,7 @@
407
408
  }
408
409
 
409
410
  .custom-slider__footer {
410
- box-shadow: 0px -4px 12px 0px rgba(0, 0, 0, 0.08);
411
+ box-shadow: 0 -4px 12px 0 rgba(0, 0, 0, 0.08);
411
412
  flex-direction: column;
412
413
  }
413
414
  }
@@ -496,7 +497,7 @@
496
497
 
497
498
  .icon {
498
499
  margin-left: 10px;
499
- color: $polishedPine;
500
+ color: $polished-pine;
500
501
  }
501
502
  }
502
503
  }
@@ -0,0 +1,65 @@
1
+ .count-stepper {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ gap: 8px;
5
+ margin-top: 6px;
6
+
7
+ .quantity-label {
8
+ padding-right: 9px;
9
+ margin: 0 !important;
10
+ }
11
+
12
+ &__input {
13
+ height: 40px;
14
+ width: 46px;
15
+ border: 1px solid $gray;
16
+ border-radius: 3px;
17
+ margin-right: 0 !important;
18
+ }
19
+ }
20
+
21
+ .count-btn {
22
+ font-size: 1.3rem;
23
+ width: 24px;
24
+ height: 24px;
25
+ padding: 0;
26
+ border: 0;
27
+ background: transparent;
28
+ display: inline-flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ cursor: pointer;
32
+ color: $blue;
33
+ outline: none;
34
+ box-shadow: none;
35
+ -webkit-tap-highlight-color: transparent;
36
+
37
+ i {
38
+ font-size: 16px;
39
+ line-height: 1;
40
+ }
41
+
42
+ &[disabled] {
43
+ cursor: not-allowed;
44
+ opacity: 0.6;
45
+ }
46
+
47
+ &:focus {
48
+ outline: none;
49
+ box-shadow: none;
50
+ }
51
+
52
+ &:focus-visible {
53
+ border-radius: 4px;
54
+ box-shadow: 0 0 0 3px rgba($blue, 0.35);
55
+ }
56
+
57
+ &:focus:not(:focus-visible) {
58
+ box-shadow: none;
59
+ }
60
+
61
+ &::-moz-focus-inner {
62
+ border: 0;
63
+ padding: 0;
64
+ }
65
+ }
@@ -1,3 +1,7 @@
1
+ $page-bullet-color: $gray;
2
+ $page-bullet-active-color: $blue;
3
+ $quick-filter-shadow: rgba(0, 0, 0, 0.12);
4
+
1
5
  .page-header {
2
6
  &_border-all:has(~ .quick-filter) {
3
7
  padding: 0;
@@ -18,7 +22,11 @@
18
22
  display: flex;
19
23
  flex-direction: column;
20
24
  align-items: center;
25
+
26
+ // sass-lint:disable no-misspelled-properties
21
27
  gap: 8px;
28
+ // sass-lint:enable no-misspelled-properties
29
+
22
30
  padding: 12px;
23
31
  width: 104px;
24
32
  height: auto;
@@ -64,20 +72,24 @@
64
72
  svg {
65
73
  position: relative;
66
74
  z-index: 1;
75
+
76
+ // sass-lint:disable no-important
67
77
  width: 38px !important;
78
+ // sass-lint:enable no-important
79
+
68
80
  height: 38px;
69
81
  margin-top: -30px;
70
82
  }
71
83
  }
72
84
 
73
85
  &__next-btn {
74
- right: 0px;
86
+ right: 0;
75
87
 
76
88
  &::before {
77
89
  content: '';
78
90
  position: absolute;
79
91
  top: 0;
80
- right: 0px;
92
+ right: 0;
81
93
  bottom: 0;
82
94
  width: 71px;
83
95
  background: linear-gradient(270deg, $white 37%, transparent 100%);
@@ -86,13 +98,13 @@
86
98
  }
87
99
 
88
100
  &__prev-btn {
89
- left: 0px;
101
+ left: 0;
90
102
 
91
103
  &::before {
92
104
  content: '';
93
105
  position: absolute;
94
106
  top: 0;
95
- left: 0px;
107
+ left: 0;
96
108
  bottom: 0;
97
109
  width: 71px;
98
110
  background: linear-gradient(90deg, $white 37%, transparent 100%);
@@ -118,14 +130,16 @@
118
130
 
119
131
  .swiper-pagination-bullet {
120
132
  border-radius: 5px;
121
- background-color: #ccc;
133
+ background-color: $page-bullet-color;
122
134
  height: 6px;
123
135
  width: 6px;
124
- transition: width .3s ease-in, background-color .3s ease-in;
136
+ transition-property: width, background-color;
137
+ transition-duration: 0.3s;
138
+ transition-timing-function: ease-in;
125
139
  }
126
140
 
127
141
  .swiper-pagination-bullet-active {
128
- background-color: #0277bd;
142
+ background-color: $page-bullet-active-color;
129
143
  width: 24px;
130
144
  }
131
145
 
@@ -140,6 +154,7 @@
140
154
  }
141
155
 
142
156
  &--selected img {
157
+ // prettier-ignore
143
158
  filter: brightness(0) saturate(100%) invert(27%) sepia(98%) saturate(1821%) hue-rotate(188deg) brightness(95%) contrast(101%);
144
159
  }
145
160
  }
@@ -155,6 +170,7 @@
155
170
  }
156
171
 
157
172
  &--selected img {
173
+ // prettier-ignore
158
174
  filter: brightness(0) saturate(100%) invert(27%) sepia(98%) saturate(1821%) hue-rotate(188deg) brightness(95%) contrast(101%);
159
175
  }
160
176
  }
@@ -213,7 +229,10 @@
213
229
 
214
230
  .swiper-wrapper {
215
231
  flex-wrap: wrap;
232
+
233
+ // sass-lint:disable no-misspelled-properties
216
234
  gap: 4px;
235
+ // sass-lint:enable no-misspelled-properties
217
236
  }
218
237
 
219
238
  .swiper-pagination {
@@ -267,17 +286,20 @@
267
286
 
268
287
  .tooltip {
269
288
  display: flex;
270
- filter: drop-shadow(0 0 8px rgba(0, 0, 0, .12));
289
+ filter: drop-shadow(0 0 8px $quick-filter-shadow);
271
290
  margin-bottom: 4px;
272
291
 
273
292
  .arrow {
274
- &:before {
293
+ &::before {
275
294
  border-top-color: $white;
276
295
  }
277
296
  }
278
297
 
279
298
  &-inner {
299
+ // sass-lint:disable no-important
280
300
  padding: 8px 16px !important;
301
+ // sass-lint:enable no-important
302
+
281
303
  background-color: $white;
282
304
  color: $gray-dark;
283
305
  font-size: 14px;
@@ -285,4 +307,4 @@
285
307
  }
286
308
  }
287
309
  }
288
- }
310
+ }