wickes-css2 2.105.0-develop.1 → 2.105.0-develop.11
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.
- package/Readme.md +5 -4
- package/build/css/category-main.css +1 -1
- package/build/css/components/checkout-payment-details-v2.css +1 -1
- package/build/css/homepage-main.css +1 -1
- package/build/css/kitchen-plp-main.css +1 -1
- package/build/css/main.css +1 -1
- package/build/css/my-account-main-v2.css +1 -1
- package/build/css/my-account-main.css +1 -1
- package/build/css/pages/checkout-new.css +1 -1
- package/build/css/pages/checkout.css +1 -1
- package/build/css/pages/my-account-v2.css +1 -1
- package/build/css/pages/page_checkout_delivery-new.css +1 -1
- package/build/css/pages/page_discount.css +1 -1
- package/build/css/pages/page_product_search.css +1 -1
- package/build/css/pages/page_products-list-combined.css +1 -1
- package/build/css/pages/page_products-list.css +1 -1
- package/build/css/pages/tradePro-rewards.css +1 -1
- package/build/css/pdp-main-before-combine.css +1 -1
- package/build/css/pdp-main-critical.css +1 -1
- package/build/css/pdp-main-non-critical.css +1 -1
- package/build/css/pdp-main.css +1 -1
- package/build/css/plp-main.css +1 -1
- package/build/css/store-locator-main.css +1 -1
- package/build/img/google-pay-mark.svg +11 -0
- package/build/img/quick-filters/bath1.svg +10 -0
- package/build/img/quick-filters/bath3.svg +3 -0
- package/build/img/quick-filters/bath4.svg +10 -0
- package/build/img/quick-filters/bath5.svg +10 -0
- package/build/img/quick-filters/image1.jpg +0 -0
- package/build/img/quick-filters/image2.jpg +0 -0
- package/build/img/quick-filters/image3.jpg +0 -0
- package/build/js/account-members.min.js +1 -1
- package/build/js/basket.min.js +2 -2
- package/build/js/bundle.min.js +1 -1
- package/build/js/checkout.min.js +2 -2
- package/build/js/emulation.min.js +12140 -11596
- package/build/js/general.bundle.min.js +1 -1
- package/build/js/kitchen/kitchen-plp.min.js +1 -9
- package/build/js/merged-checkout.min.js +2 -2
- package/build/js/mini-basket-slider.min.js +1 -1
- package/build/js/my-account.min.js +1 -1
- package/build/js/page/basket/basket-update-cart-action.js +59 -56
- package/build/js/page/basket/basket-update-cart.js +27 -27
- package/build/js/page/basket/basket-utils.js +40 -33
- package/build/js/page/basket/mini-basket-total.js +70 -66
- package/build/js/page/basket/quantity-change-handler.js +73 -55
- package/build/js/page/basket/update-quantity-operation.js +39 -30
- package/build/js/page/basket/update-quantity.js +62 -62
- package/build/js/page/basket-v2.js +360 -225
- package/build/js/page/billie-business-type.js +27 -27
- package/build/js/page/checkout-payment-details.js +301 -299
- package/build/js/page/components/billie-modal.js +31 -0
- package/build/js/page/components/discounts.js +39 -36
- package/build/js/page/components/mini-basket-slider.js +604 -545
- package/build/js/page/filters/desktop-nav.js +64 -0
- package/build/js/page/filters/mobile-nav.js +93 -0
- package/build/js/page/filters/plp-filters-chips.js +92 -0
- package/build/js/page/filters/plp-filters-mobile.js +150 -0
- package/build/js/page/filters/plp-filters-panel.js +123 -0
- package/build/js/page/filters/plp-filters-utils.js +66 -0
- package/build/js/page/filters/plp-filters.js +268 -0
- package/build/js/page/filters/sort-by.js +172 -0
- package/build/js/page/kitchen/colour-swatches.js +5 -2
- package/build/js/page/klarna-modal-scroll-disable.js +4 -4
- package/build/js/page/my-account.js +32 -47
- package/build/js/page/online-exclusive.js +28 -31
- package/build/js/page/quick-filter.js +108 -0
- package/build/js/page/search-filter.js +62 -0
- package/build/js/page/share-project-list.js +57 -0
- package/build/js/page/tradePro-rewards.js +69 -39
- package/build/js/page/utils/copy-to-clipboard.js +79 -47
- package/build/js/page/utils/helpers.js +14 -9
- package/build/js/page/utils/show-more-less.js +273 -0
- package/build/js/pdp.bundle.min.js +1 -1
- package/build/js/plp-filters.min.js +9 -0
- package/build/js/plp.bundle.min.js +1 -1
- package/build/js/project-list.min.js +143 -85
- package/build/js/search-filter.min.js +1 -0
- package/build/js/share-project-list.min.js +1 -0
- package/build/js/tradePro-rewards.min.js +1 -1
- package/package.json +4 -2
- package/src/components/.DS_Store +0 -0
- package/src/components/accordion.hbs +2 -2
- package/src/components/checkout-payment-details-v2.hbs +1 -1
- package/src/components/date-selection.hbs +25 -6
- package/src/components/generate-project-id.hbs +1 -1
- package/src/components/kitchen/dropdown.hbs +6 -3
- package/src/components/kitchen/filter-modal-content-kitchen.hbs +10 -0
- package/src/components/kitchen/filter-modal.hbs +10 -13
- package/src/components/kitchen/kitchen-card.hbs +1 -1
- package/src/components/kitchen/plp-filters.hbs +3 -1
- package/src/components/kitchen/sort-by.hbs +1 -1
- package/src/components/my-account/barcode.hbs +1 -3
- package/src/components/my-account/cards-swap.hbs +10 -0
- package/src/components/my-account/clipboard-code-card.hbs +3 -3
- package/src/components/my-account/discount.hbs +1 -1
- package/src/components/my-account/greetings.hbs +1 -1
- package/src/components/order-summary.hbs +1 -0
- package/src/components/price-block-v2.hbs +1 -0
- package/src/components/quick-filter.hbs +56 -0
- package/src/components/search-filter-modal-content.hbs +102 -0
- package/src/components/search-filter.hbs +121 -112
- package/src/components/shopping-list-with-share-list-v2.hbs +28 -10
- package/src/components/shopping-list.hbs +5 -5
- package/src/data/data_plp_load-more.json +1 -1
- package/src/data/data_quick-filter.json +508 -0
- package/src/data/my-account/data_my-account.json +9 -0
- package/src/elements/btn.hbs +7 -0
- package/src/img/google-pay-mark.svg +11 -0
- package/src/img/quick-filters/bath1.svg +10 -0
- package/src/img/quick-filters/bath3.svg +3 -0
- package/src/img/quick-filters/bath4.svg +10 -0
- package/src/img/quick-filters/bath5.svg +10 -0
- package/src/img/quick-filters/image1.jpg +0 -0
- package/src/img/quick-filters/image2.jpg +0 -0
- package/src/img/quick-filters/image3.jpg +0 -0
- package/src/js/components/cards-swap.js +74 -0
- package/src/js/components/general/accordion.js +44 -33
- package/src/js/components/general/cart-slider.js +19 -16
- package/src/js/components/general/create-popup-slider.js +168 -173
- package/src/js/components/pdp-billie-modal-scroll-reset.js +53 -0
- package/src/js/components/share-project-list.js +8 -5
- package/src/js/emulation/big-wins.js +1081 -904
- package/src/js/emulation/billie-modal.js +39 -18
- package/src/js/emulation/checkout-payment-details.js +47 -38
- package/src/js/emulation/custom-slider-emulation.js +17 -13
- package/src/js/emulation/filters-emulation.js +164 -0
- package/src/js/emulation/forms.js +360 -323
- package/src/js/emulation/mini-basket-data.js +1051 -923
- package/src/js/emulation/paymentLoader.js +17 -17
- package/src/js/emulation/pdf-file-loader.js +89 -91
- package/src/js/emulation/popover-mini-basket.js +246 -239
- package/src/js/emulation/product-counter.js +50 -0
- package/src/js/emulation/project-list-pdp.js +320 -316
- package/src/js/emulation/repayment-toggle.js +23 -24
- package/src/js/emulation/reset-filter-desktop.js +5 -0
- package/src/js/emulation/selectable.js +22 -18
- package/src/js/emulation/wismo-details.js +23 -31
- package/src/js/page/basket/basket-update-cart-action.js +59 -56
- package/src/js/page/basket/basket-update-cart.js +27 -27
- package/src/js/page/basket/basket-utils.js +40 -33
- package/src/js/page/basket/mini-basket-total.js +70 -66
- package/src/js/page/basket/quantity-change-handler.js +73 -55
- package/src/js/page/basket/update-quantity-operation.js +39 -30
- package/src/js/page/basket/update-quantity.js +62 -62
- package/src/js/page/basket-v2.js +360 -225
- package/src/js/page/billie-business-type.js +27 -27
- package/src/js/page/checkout-payment-details.js +301 -299
- package/src/js/page/components/billie-modal.js +31 -0
- package/src/js/page/components/discounts.js +39 -36
- package/src/js/page/components/mini-basket-slider.js +604 -545
- package/src/js/page/filters/desktop-nav.js +64 -0
- package/src/js/page/filters/mobile-nav.js +93 -0
- package/src/js/page/filters/plp-filters-chips.js +92 -0
- package/src/js/page/filters/plp-filters-mobile.js +150 -0
- package/src/js/page/filters/plp-filters-panel.js +123 -0
- package/src/js/page/filters/plp-filters-utils.js +66 -0
- package/src/js/page/filters/plp-filters.js +268 -0
- package/src/js/page/filters/sort-by.js +172 -0
- package/src/js/page/kitchen/colour-swatches.js +5 -2
- package/src/js/page/klarna-modal-scroll-disable.js +4 -4
- package/src/js/page/my-account.js +32 -47
- package/src/js/page/online-exclusive.js +28 -31
- package/src/js/page/quick-filter.js +108 -0
- package/src/js/page/search-filter.js +62 -0
- package/src/js/page/share-project-list.js +57 -0
- package/src/js/page/tradePro-rewards.js +69 -39
- package/src/js/page/utils/copy-to-clipboard.js +79 -47
- package/src/js/page/utils/helpers.js +14 -9
- package/src/js/page/utils/show-more-less.js +273 -0
- package/src/page_empty-shared-project-list-bicester-hub.html +4 -0
- package/src/page_empty-shopping-list_guest.html +1 -0
- package/src/page_kitchen-plp.html +2 -2
- package/src/page_my-account-installer.html +1 -1
- package/src/page_my-account-trade-pro-carousel-double.html +127 -0
- package/src/page_my-account-trade-pro-carousel.html +134 -0
- package/src/page_my-account-trade-pro.html +1 -1
- package/src/page_my-shopping-list-add-notes.html +1 -0
- package/src/page_my-shopping-list-energy.html +1 -0
- package/src/page_my-shopping-list-hide-download.html +3 -2
- package/src/page_my-shopping-list-pdf.html +2 -0
- package/src/page_my-shopping-list-saved-ref.html +1 -0
- package/src/page_my-shopping-list-wisdom-oos-registered.html +1 -0
- package/src/page_my-shopping-list-wisdom-oos.html +1 -0
- package/src/page_my-shopping-list-wisdom-partial-registered.html +1 -0
- package/src/page_my-shopping-list-wisdom-registered.html +1 -0
- package/src/page_my-shopping-list-wisdom.html +1 -0
- package/src/page_my-shopping-list.html +1 -0
- package/src/page_my-shopping-list_not-register.html +3 -0
- package/src/page_plp-with-paint.html +2 -7
- package/src/page_plp.html +2 -7
- package/src/page_plp_v2-energy-efficiency.html +1 -6
- package/src/page_plp_v2-favourite-products.html +6 -7
- package/src/page_plp_v2-quick-filter_colourSwatches_11.html +79 -0
- package/src/page_plp_v2-quick-filter_colourSwatches_5.html +79 -0
- package/src/page_plp_v2-quick-filter_iconAndText_5.html +79 -0
- package/src/page_plp_v2-quick-filter_iconAndText_9.html +79 -0
- package/src/page_plp_v2-quick-filter_iconOnly_11.html +79 -0
- package/src/page_plp_v2-quick-filter_iconOnly_5.html +79 -0
- package/src/page_plp_v2-quick-filter_imageAndText_5.html +79 -0
- package/src/page_plp_v2-quick-filter_imageAndText_9.html +79 -0
- package/src/page_plp_v2-quick-filter_textOnly_5.html +79 -0
- package/src/page_plp_v2-quick-filter_textOnly_9.html +79 -0
- package/src/page_plp_v2-vat.html +2 -7
- package/src/page_plp_v2.html +22 -9
- package/src/page_product-details-tile-steps-klarna-widget-with-method-ids.html +120 -0
- package/src/page_product_search-vat.html +2 -7
- package/src/page_product_search.html +2 -7
- package/src/page_project-list-generate-project-list-ID.html +3 -0
- package/src/page_project-list-vat.html +4 -0
- package/src/page_project-list-with-new-share-popup-android.html +16 -0
- package/src/page_project-list-with-new-share-popup-ios.html +16 -0
- package/src/page_project-list-with-new-share-popup.html +2 -1
- package/src/page_search-results.html +2 -7
- package/src/page_shared-project-list-bicester-hub.html +3 -1
- package/src/page_shopping-cart-v2-klarna-with-method-ids.html +50 -0
- package/src/page_tradepro-discount-app.html +1 -1
- package/src/page_tradepro-discount-double.html +109 -0
- package/src/page_tradepro-discount.html +36 -2
- package/src/partials/head.hbs +1 -0
- package/src/scss/common/_common.scss +10 -4
- package/src/scss/components/_accordion.scss +1 -3
- package/src/scss/components/_custom-slider.scss +17 -16
- package/src/scss/components/_date-selection-add-new-styles.scss +48 -7
- package/src/scss/components/_date-selection.scss +80 -1
- package/src/scss/components/{kitchen/_filter-modal.scss → _filter-modal.scss} +55 -4
- package/src/scss/components/{kitchen/_plp-filters.scss → _plp-filters.scss} +31 -13
- package/src/scss/components/_popover-mini-basket.scss +3 -3
- package/src/scss/components/_quick-filter.scss +288 -0
- package/src/scss/components/_search-filter.scss +95 -15
- package/src/scss/components/_shared-shopping-list.scss +22 -0
- package/src/scss/components/_shopping-list.scss +18 -8
- package/src/scss/components/_sort-by.scss +190 -0
- package/src/scss/components/checkout-chip.scss +2 -2
- package/src/scss/components/checkout-payment-details-v2.scss +10 -4
- package/src/scss/components/checkout-payment-repayment-terms.scss +1 -1
- package/src/scss/components/kitchen/_price-tooltip.scss +1 -1
- package/src/scss/components/kitchen/_price.scss +1 -1
- package/src/scss/components/my-account/_barcode.scss +9 -1
- package/src/scss/components/my-account/_cards-swap.scss +60 -0
- package/src/scss/components/my-account/_clipboard-code.scss +11 -3
- package/src/scss/components/my-account/_discount.scss +12 -2
- package/src/scss/globals/_global-components.scss +3 -0
- package/src/scss/helpers/_colors-semantic.scss +68 -68
- package/src/scss/helpers/_variables.scss +244 -196
- package/src/scss/kitchen-plp-main.scss +0 -4
- package/src/scss/main.scss +65 -65
- package/src/scss/pages/_checkout-confirmation-new.scss +49 -21
- package/src/scss/pages/my-account-v2.scss +42 -5
- package/src/scss/pages/page_discount.scss +8 -4
- package/src/scss/pages/page_product-details-v2.scss +1 -4
- package/src/scss/pages/page_product_search.scss +9 -1
- package/src/scss/pages/page_products-list-combined.scss +28 -24
- package/src/scss/pages/page_products-list.scss +8 -0
- package/src/scss/pages/tradePro-rewards.scss +3 -4
- package/src/scss/plp-main.scss +1 -0
- package/src/sitemap.html +40 -4
- package/build/img/google-pay-mark.png +0 -0
- package/build/js/page/accordion.js +0 -35
- package/build/js/page/kitchen/plp-filters-chips.js +0 -90
- package/build/js/page/kitchen/plp-filters-mobile.js +0 -72
- package/build/js/page/kitchen/plp-filters-panel.js +0 -119
- package/build/js/page/kitchen/plp-filters-utils.js +0 -65
- package/build/js/page/kitchen/plp-filters.js +0 -205
- package/build/js/page/kitchen/sort-by.js +0 -157
- package/src/img/google-pay-mark.png +0 -0
- package/src/js/components/general/search-filter.js +0 -21
- package/src/js/page/accordion.js +0 -35
- package/src/js/page/kitchen/plp-filters-chips.js +0 -90
- package/src/js/page/kitchen/plp-filters-mobile.js +0 -72
- package/src/js/page/kitchen/plp-filters-panel.js +0 -119
- package/src/js/page/kitchen/plp-filters-utils.js +0 -65
- package/src/js/page/kitchen/plp-filters.js +0 -205
- package/src/js/page/kitchen/sort-by.js +0 -157
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
var Wick = Wick || {};
|
|
2
2
|
Wick.onlineExclusive = (function () {
|
|
3
|
-
|
|
4
3
|
let rangesToggler = $('.ranges-toggle'),
|
|
5
4
|
rangesList = $('.ranges'),
|
|
6
5
|
otherRanges = $('.other-ranges'),
|
|
@@ -27,8 +26,10 @@ Wick.onlineExclusive = (function () {
|
|
|
27
26
|
otherRangesHeating = $('.other-ranges__item_heating');
|
|
28
27
|
|
|
29
28
|
rangesToggler.on('click', function () {
|
|
30
|
-
rangesToggler
|
|
31
|
-
.
|
|
29
|
+
rangesToggler
|
|
30
|
+
.toggleClass('border-bottom-rounded_false')
|
|
31
|
+
.find('.icon')
|
|
32
|
+
.toggleClass('icon-rotated');
|
|
32
33
|
if (window.innerWidth > 768) {
|
|
33
34
|
rangesList.toggleClass('d-block border-bottom-rounded');
|
|
34
35
|
} else if (window.innerWidth < 768) {
|
|
@@ -38,18 +39,17 @@ Wick.onlineExclusive = (function () {
|
|
|
38
39
|
});
|
|
39
40
|
|
|
40
41
|
if (window.innerWidth < 768) {
|
|
41
|
-
rangesList.on(
|
|
42
|
+
rangesList.on('click', 'a', function (e) {
|
|
42
43
|
e.preventDefault();
|
|
43
44
|
otherRanges.show();
|
|
44
45
|
|
|
45
|
-
$(document).mouseup(function(e) {
|
|
46
|
-
if (!rangesList.is(e.target) && rangesList.has(e.target).length === 0)
|
|
47
|
-
{
|
|
46
|
+
$(document).mouseup(function (e) {
|
|
47
|
+
if (!rangesList.is(e.target) && rangesList.has(e.target).length === 0) {
|
|
48
48
|
rangesList.hide();
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
switch ($(this).parent().attr(
|
|
52
|
+
switch ($(this).parent().attr('data-value')) {
|
|
53
53
|
case 'gardens-btn':
|
|
54
54
|
rangesComponent.hide();
|
|
55
55
|
gardensComponent.show();
|
|
@@ -96,15 +96,13 @@ Wick.onlineExclusive = (function () {
|
|
|
96
96
|
otherRanges.hide();
|
|
97
97
|
break;
|
|
98
98
|
}
|
|
99
|
-
|
|
100
99
|
});
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
rangesList.on( 'click', 'a', function(e) {
|
|
100
|
+
} else if (window.innerWidth >= 768) {
|
|
101
|
+
rangesList.on('click', 'a', function (e) {
|
|
104
102
|
e.preventDefault();
|
|
105
103
|
otherRanges.show();
|
|
106
104
|
|
|
107
|
-
switch ($(this).parent().attr(
|
|
105
|
+
switch ($(this).parent().attr('data-value')) {
|
|
108
106
|
case 'gardens-btn':
|
|
109
107
|
rangesEl.removeClass('range-btn');
|
|
110
108
|
$(this).addClass('range-btn');
|
|
@@ -171,10 +169,10 @@ Wick.onlineExclusive = (function () {
|
|
|
171
169
|
break;
|
|
172
170
|
}
|
|
173
171
|
});
|
|
174
|
-
otherRangesList.on(
|
|
172
|
+
otherRangesList.on('click', 'a', function (e) {
|
|
175
173
|
e.preventDefault();
|
|
176
174
|
|
|
177
|
-
switch ($(this).parent().parent().attr(
|
|
175
|
+
switch ($(this).parent().parent().attr('data-value')) {
|
|
178
176
|
case 'gardens-btn':
|
|
179
177
|
rangesEl.removeClass('range-btn');
|
|
180
178
|
$('#gardens-btn').addClass('range-btn');
|
|
@@ -243,33 +241,33 @@ Wick.onlineExclusive = (function () {
|
|
|
243
241
|
});
|
|
244
242
|
}
|
|
245
243
|
|
|
246
|
-
viewBtn.on('click', function(e) {
|
|
244
|
+
viewBtn.on('click', function (e) {
|
|
247
245
|
e.preventDefault();
|
|
248
246
|
rangesComponent.show();
|
|
249
247
|
otherRanges.hide();
|
|
250
248
|
rangesEl.removeClass('range-btn');
|
|
251
249
|
});
|
|
252
250
|
|
|
253
|
-
$(function(){
|
|
254
|
-
$('a.online-exclusive__banner').on('click', function(event) {
|
|
251
|
+
$(function () {
|
|
252
|
+
$('a.online-exclusive__banner').on('click', function (event) {
|
|
255
253
|
event.preventDefault();
|
|
256
|
-
let sc = $(this).attr(
|
|
254
|
+
let sc = $(this).attr('href'),
|
|
257
255
|
dn = $(sc).offset().top - 10;
|
|
258
|
-
$('html, body').animate({scrollTop: dn}, 1000);
|
|
256
|
+
$('html, body').animate({ scrollTop: dn }, 1000);
|
|
259
257
|
});
|
|
260
258
|
});
|
|
261
259
|
|
|
262
|
-
$(function(){
|
|
263
|
-
$('a.view-link').on('click', function(event) {
|
|
260
|
+
$(function () {
|
|
261
|
+
$('a.view-link').on('click', function (event) {
|
|
264
262
|
event.preventDefault();
|
|
265
|
-
let sc = $(this).attr(
|
|
263
|
+
let sc = $(this).attr('href'),
|
|
266
264
|
dn = $(sc).offset().top - 10;
|
|
267
|
-
$('html, body').animate({scrollTop: dn}, 1000);
|
|
265
|
+
$('html, body').animate({ scrollTop: dn }, 1000);
|
|
268
266
|
});
|
|
269
267
|
});
|
|
270
268
|
|
|
271
|
-
$(function(){
|
|
272
|
-
$('a.ranges-el').on('click', function(event) {
|
|
269
|
+
$(function () {
|
|
270
|
+
$('a.ranges-el').on('click', function (event) {
|
|
273
271
|
event.preventDefault();
|
|
274
272
|
let dn;
|
|
275
273
|
|
|
@@ -281,12 +279,12 @@ Wick.onlineExclusive = (function () {
|
|
|
281
279
|
dn = 990;
|
|
282
280
|
}
|
|
283
281
|
|
|
284
|
-
$('html, body').animate({scrollTop: dn}, 1000);
|
|
282
|
+
$('html, body').animate({ scrollTop: dn }, 1000);
|
|
285
283
|
});
|
|
286
284
|
});
|
|
287
285
|
|
|
288
|
-
$(function(){
|
|
289
|
-
$('.other-ranges__item').on('click', function(event) {
|
|
286
|
+
$(function () {
|
|
287
|
+
$('.other-ranges__item').on('click', function (event) {
|
|
290
288
|
event.preventDefault();
|
|
291
289
|
let dn;
|
|
292
290
|
|
|
@@ -298,8 +296,7 @@ Wick.onlineExclusive = (function () {
|
|
|
298
296
|
dn = 810;
|
|
299
297
|
}
|
|
300
298
|
|
|
301
|
-
$('html, body').animate({scrollTop: dn}, 1000);
|
|
299
|
+
$('html, body').animate({ scrollTop: dn }, 1000);
|
|
302
300
|
});
|
|
303
301
|
});
|
|
304
|
-
|
|
305
302
|
})();
|
|
@@ -0,0 +1,108 @@
|
|
|
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
|
+
},
|
|
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('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
|
+
}
|
|
102
|
+
|
|
103
|
+
initializeSwiper($slider);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
init();
|
|
108
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// import { createShowMoreLess } from './utils/show-more-less';
|
|
2
|
+
|
|
3
|
+
var Wick = Wick || {};
|
|
4
|
+
|
|
5
|
+
Wick.Overlay = (function () {
|
|
6
|
+
var filterMobile = $('.filter-results_mobile');
|
|
7
|
+
$('#open-overlay').click(function (event) {
|
|
8
|
+
event.preventDefault();
|
|
9
|
+
$('body').addClass('is-filters-visible');
|
|
10
|
+
filterMobile.toggleClass('show');
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
$('#close-overlay, .filter-results__btn-close').click(function (event) {
|
|
14
|
+
event.preventDefault();
|
|
15
|
+
if (filterMobile.hasClass('show')) {
|
|
16
|
+
$('body').removeClass('is-filters-visible');
|
|
17
|
+
filterMobile.removeClass('show');
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
$('.filter-results_desktop .filter__item input[type="checkbox"]').click(function () {
|
|
22
|
+
$(this).closest('form').submit();
|
|
23
|
+
});
|
|
24
|
+
})();
|
|
25
|
+
|
|
26
|
+
Wick.SearchFilter = (function () {
|
|
27
|
+
const SEL = {
|
|
28
|
+
CATEGORY: '.category-filter',
|
|
29
|
+
FILTER_MOBILE: '.filter-results_mobile',
|
|
30
|
+
OPEN: '.filter-modal-cta',
|
|
31
|
+
CLOSE: '.close',
|
|
32
|
+
FILTER_RESULT: '.filter-results_desktop',
|
|
33
|
+
DESKTOP_CHECKBOX: '.filter-results_desktop .filter__item input[type="checkbox"]',
|
|
34
|
+
BODY_ACTIVE: 'is-filters-visible',
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// removed show more/show less logic from frontend (will be implemented on backend)
|
|
38
|
+
// const SRPShowMoreLess = createShowMoreLess({
|
|
39
|
+
// excludeGroup: ($group) => $group.hasClass(SEL.CATEGORY),
|
|
40
|
+
// });
|
|
41
|
+
|
|
42
|
+
// const $fm = $(SEL.FILTER_MOBILE);
|
|
43
|
+
// SRPShowMoreLess.init($(SEL.FILTER_RESULT));
|
|
44
|
+
// SRPShowMoreLess.init($fm);
|
|
45
|
+
|
|
46
|
+
$(SEL.OPEN).on('click', function (event) {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
// removed show more/show less logic from frontend (will be implemented on backend)
|
|
49
|
+
// SRPShowMoreLess.init($fm);
|
|
50
|
+
// SRPShowMoreLess.resetAll($fm);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
$(document).on('click', SEL.CLOSE, function (event) {
|
|
54
|
+
event.preventDefault();
|
|
55
|
+
// removed show more/show less logic from frontend (will be implemented on backend)
|
|
56
|
+
// SRPShowMoreLess.resetAll($fm);
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
$(document).on('click', SEL.DESKTOP_CHECKBOX, function () {
|
|
60
|
+
$(this).closest('form').submit();
|
|
61
|
+
});
|
|
62
|
+
})();
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { copyToClipboard } from './utils/copy-to-clipboard';
|
|
2
|
+
|
|
3
|
+
var Wick = Wick || {};
|
|
4
|
+
Wick.ShareProjectList = (function () {
|
|
5
|
+
function init() {
|
|
6
|
+
var $input = $('#share-list-modal #shopping-list-link');
|
|
7
|
+
var linkContainer = $('#copy-link');
|
|
8
|
+
var $actualLink = linkContainer.find('a');
|
|
9
|
+
var copyClass = 'copy-link_hovered';
|
|
10
|
+
|
|
11
|
+
$actualLink.on('click', function (e) {
|
|
12
|
+
e.preventDefault();
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
function focusAndSelectInput() {
|
|
16
|
+
if (!$input.length) return;
|
|
17
|
+
|
|
18
|
+
var el = $input.get(0);
|
|
19
|
+
|
|
20
|
+
$input.removeAttr('disabled');
|
|
21
|
+
|
|
22
|
+
el.focus();
|
|
23
|
+
|
|
24
|
+
var len = (el.value || '').length;
|
|
25
|
+
if (typeof el.setSelectionRange === 'function') {
|
|
26
|
+
el.setSelectionRange(0, len);
|
|
27
|
+
} else if (typeof el.select === 'function') {
|
|
28
|
+
el.select();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
linkContainer.on('click', function (e) {
|
|
33
|
+
e.preventDefault();
|
|
34
|
+
|
|
35
|
+
focusAndSelectInput();
|
|
36
|
+
|
|
37
|
+
var value = ($input.val() || '').trim();
|
|
38
|
+
if (!value) return;
|
|
39
|
+
|
|
40
|
+
copyToClipboard(value, linkContainer[0], { noUpperCase: true })
|
|
41
|
+
.then(function () {
|
|
42
|
+
$actualLink.addClass(copyClass);
|
|
43
|
+
})
|
|
44
|
+
.catch(function (e) {
|
|
45
|
+
console.error(e);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
$input.on('click', function (e) {
|
|
50
|
+
e.preventDefault();
|
|
51
|
+
focusAndSelectInput();
|
|
52
|
+
$actualLink.removeClass(copyClass);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
init();
|
|
57
|
+
})();
|
|
@@ -1,46 +1,76 @@
|
|
|
1
|
-
import {copyToClipboard} from
|
|
1
|
+
import { copyToClipboard } from './utils/copy-to-clipboard';
|
|
2
2
|
|
|
3
3
|
var Wick = window.Wick || {};
|
|
4
4
|
|
|
5
5
|
Wick.TradeProRewards = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
6
|
+
el: {
|
|
7
|
+
$tradeProRewards: $('.page_tradePro-rewards'),
|
|
8
|
+
buttonSelector: '.copy-tradePro-barcode',
|
|
9
|
+
},
|
|
10
|
+
|
|
11
|
+
message: 'Code copied to clipboard',
|
|
12
|
+
errorMessage: 'Unable to copy. Please copy manually',
|
|
13
|
+
|
|
14
|
+
copyToClipboardInit() {
|
|
15
|
+
Wick.SnackBar.init();
|
|
16
|
+
|
|
17
|
+
$(document).on('click', Wick.TradeProRewards.el.buttonSelector, async function (e) {
|
|
18
|
+
e.preventDefault();
|
|
19
|
+
e.stopPropagation();
|
|
20
|
+
|
|
21
|
+
const $btn = $(this);
|
|
22
|
+
const $input = $btn.parent().find('input');
|
|
23
|
+
|
|
24
|
+
if (!$input.length) return false;
|
|
25
|
+
|
|
26
|
+
const discountCodeValue = ($input.val() || '').trim();
|
|
27
|
+
if (!discountCodeValue) return false;
|
|
28
|
+
|
|
29
|
+
$input.removeAttr('disabled').attr('readonly', 'readonly');
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
await copyToClipboard(discountCodeValue, e.currentTarget, { noUpperCase: true });
|
|
33
|
+
|
|
34
|
+
Wick.SnackBar.show({
|
|
35
|
+
text: Wick.TradeProRewards.message,
|
|
36
|
+
type: Wick.SnackBar.types.SUCCESS,
|
|
37
|
+
withCloseButton: false,
|
|
38
|
+
autoClose: true,
|
|
39
|
+
delayBeforeClose: 3000,
|
|
40
|
+
});
|
|
41
|
+
} catch (err) {
|
|
42
|
+
try {
|
|
43
|
+
const el = $input.get(0);
|
|
44
|
+
el.focus();
|
|
45
|
+
el.select();
|
|
46
|
+
el.setSelectionRange(0, 999999);
|
|
47
|
+
} catch (e) {
|
|
48
|
+
console.error(e);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
Wick.SnackBar.show({
|
|
52
|
+
text: Wick.TradeProRewards.errorMessage,
|
|
53
|
+
type: Wick.SnackBar.types.ERROR,
|
|
54
|
+
withCloseButton: false,
|
|
55
|
+
autoClose: true,
|
|
56
|
+
delayBeforeClose: 4000,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
$input.attr('disabled', 'disabled').removeAttr('readonly');
|
|
61
|
+
window.getSelection()?.removeAllRanges?.();
|
|
62
|
+
|
|
63
|
+
return false;
|
|
64
|
+
});
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
init() {
|
|
68
|
+
Wick.TradeProRewards.copyToClipboardInit();
|
|
69
|
+
},
|
|
70
|
+
};
|
|
41
71
|
|
|
42
72
|
$(document).ready(function () {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
73
|
+
if (Wick.TradeProRewards.el.$tradeProRewards.length) {
|
|
74
|
+
Wick.TradeProRewards.init();
|
|
75
|
+
}
|
|
46
76
|
});
|
|
@@ -1,56 +1,88 @@
|
|
|
1
1
|
export function copyToClipboard(copyValue, currentSelector, options = {}) {
|
|
2
|
-
|
|
3
|
-
position: 'absolute',
|
|
4
|
-
top: 0,
|
|
5
|
-
left: 0,
|
|
6
|
-
opacity: 0
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
$(currentSelector).parent().append($temp);
|
|
10
|
-
|
|
11
|
-
let str;
|
|
12
|
-
if (options.noUpperCase) {
|
|
13
|
-
str = copyValue;
|
|
14
|
-
} else {
|
|
15
|
-
str = copyValue.replace(/(^\w|\s\w)/g, function (m) {
|
|
16
|
-
return m.toUpperCase()
|
|
17
|
-
});
|
|
18
|
-
}
|
|
2
|
+
const textTrimmed = normalizeCopyText(copyValue, options);
|
|
19
3
|
|
|
20
|
-
|
|
21
|
-
return value !== ''
|
|
22
|
-
});
|
|
4
|
+
if (!textTrimmed) return Promise.reject(new Error('Empty text'));
|
|
23
5
|
|
|
24
|
-
|
|
6
|
+
// 1) iOS app bridge (WKWebView)
|
|
7
|
+
if (window.webkit?.messageHandlers?.copy) {
|
|
8
|
+
try {
|
|
9
|
+
window.webkit.messageHandlers.copy.postMessage(textTrimmed);
|
|
10
|
+
return Promise.resolve(true);
|
|
11
|
+
} catch (e) {
|
|
12
|
+
console.error(e);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
25
15
|
|
|
26
|
-
|
|
16
|
+
// 2) Android app bridge
|
|
17
|
+
if (window.Android?.copyToClipboard && typeof window.Android.copyToClipboard === 'function') {
|
|
18
|
+
try {
|
|
19
|
+
window.Android.copyToClipboard(textTrimmed);
|
|
20
|
+
return Promise.resolve(true);
|
|
21
|
+
} catch (e) {
|
|
22
|
+
console.error(e);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
27
25
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
$temp.select();
|
|
32
|
-
$temp[0].setSelectionRange(0, 999999);
|
|
33
|
-
} else {
|
|
34
|
-
$temp.select();
|
|
35
|
-
}
|
|
26
|
+
if (navigator.clipboard?.writeText) {
|
|
27
|
+
return navigator.clipboard.writeText(textTrimmed).then(() => true);
|
|
28
|
+
}
|
|
36
29
|
|
|
37
|
-
|
|
38
|
-
$temp.remove();
|
|
30
|
+
return legacyExecCommandCopy(textTrimmed, currentSelector);
|
|
39
31
|
}
|
|
40
32
|
|
|
41
|
-
function
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
33
|
+
function normalizeCopyText(copyValue, options) {
|
|
34
|
+
let raw = copyValue == null ? '' : copyValue + '';
|
|
35
|
+
|
|
36
|
+
const str = options.noUpperCase ? raw : raw.replace(/(^\w|\s\w)/g, (m) => m.toUpperCase());
|
|
37
|
+
|
|
38
|
+
return str
|
|
39
|
+
.split(' ')
|
|
40
|
+
.filter((v) => v !== '')
|
|
41
|
+
.join(' ')
|
|
42
|
+
.trim();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function legacyExecCommandCopy(text, currentSelector) {
|
|
46
|
+
return new Promise(function (resolve, reject) {
|
|
47
|
+
try {
|
|
48
|
+
let $parent = $(currentSelector).parent();
|
|
49
|
+
|
|
50
|
+
let $temp = $('<textarea>').val(text).attr('readonly', 'readonly').css({
|
|
51
|
+
position: 'fixed',
|
|
52
|
+
top: 0,
|
|
53
|
+
left: '-9999px',
|
|
54
|
+
opacity: 0,
|
|
55
|
+
width: '1px',
|
|
56
|
+
height: '1px',
|
|
57
|
+
padding: 0,
|
|
58
|
+
border: 0,
|
|
59
|
+
margin: 0,
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
$parent.append($temp);
|
|
63
|
+
|
|
64
|
+
let el = $temp.get(0);
|
|
65
|
+
|
|
66
|
+
el.focus();
|
|
67
|
+
let len = (el.value || '').length;
|
|
68
|
+
if (typeof el.setSelectionRange === 'function') {
|
|
69
|
+
el.setSelectionRange(0, len);
|
|
70
|
+
} else {
|
|
71
|
+
$temp.select();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
let ok = document.execCommand('copy');
|
|
75
|
+
|
|
76
|
+
$temp.remove();
|
|
77
|
+
|
|
78
|
+
if (window.getSelection) {
|
|
79
|
+
let sel = window.getSelection();
|
|
80
|
+
if (sel && sel.removeAllRanges) sel.removeAllRanges();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
ok ? resolve(true) : reject(new Error('execCommand failed'));
|
|
84
|
+
} catch (e) {
|
|
85
|
+
reject(e);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
56
88
|
}
|
|
@@ -3,7 +3,7 @@ export function highlightCharacter(str, char, charClass) {
|
|
|
3
3
|
return str;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
-
const pattern = new RegExp(`\\${char}+`,
|
|
6
|
+
const pattern = new RegExp(`\\${char}+`, 'g');
|
|
7
7
|
const replacement = `<span class="${charClass}">$&</span>`;
|
|
8
8
|
|
|
9
9
|
return str.replace(pattern, replacement);
|
|
@@ -12,7 +12,7 @@ export function highlightCharacter(str, char, charClass) {
|
|
|
12
12
|
export function createImageElements(images, alt) {
|
|
13
13
|
return images.map((link) => {
|
|
14
14
|
return $('<img>').attr('src', link).attr('alt', alt);
|
|
15
|
-
})
|
|
15
|
+
});
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export function countLetters(str) {
|
|
@@ -35,15 +35,17 @@ export function isKeyboardOpen() {
|
|
|
35
35
|
return screenHeight !== screenHeightWithoutKeyboard;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
export function isTouchDevice
|
|
38
|
+
export function isTouchDevice() {
|
|
39
39
|
return 'ontouchstart' in window;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
export function isApp
|
|
43
|
-
return navigator.userAgent.match(
|
|
42
|
+
export function isApp() {
|
|
43
|
+
return navigator.userAgent.match(
|
|
44
|
+
/TradeProMobile_iOS|TradeProMobile_Android|DIYMobile_iOS|DIYMobile_Android|DIYApp_Guest_Mobile_iOS|DIYApp_Guest_Mobile_Android|AGENT_PLACEHOLDER/i
|
|
45
|
+
);
|
|
44
46
|
}
|
|
45
47
|
|
|
46
|
-
export function trimFields
|
|
48
|
+
export function trimFields() {
|
|
47
49
|
const fields = Wick.AddressBook.getFieldsConfigurations();
|
|
48
50
|
fields.forEach((field) => {
|
|
49
51
|
const trimmedValue = field.input.val().trim();
|
|
@@ -55,8 +57,11 @@ export function scrollToElement(element, offset = 20) {
|
|
|
55
57
|
const targetElement = $(element);
|
|
56
58
|
|
|
57
59
|
if (targetElement.length > 0) {
|
|
58
|
-
$('html, body').animate(
|
|
59
|
-
|
|
60
|
-
|
|
60
|
+
$('html, body').animate(
|
|
61
|
+
{
|
|
62
|
+
scrollTop: targetElement.offset().top - offset,
|
|
63
|
+
},
|
|
64
|
+
300
|
|
65
|
+
);
|
|
61
66
|
}
|
|
62
67
|
}
|