{"version":3,"sources":["webpack:///./cartridges/org_newbalance/cartridge/client/default/js/components/miniCart.js"],"names":["updateMiniCart","events","require","module","exports","$body","$","$minicart","$miniCartPopOver","on","event","count","isNumeric","quantityTotal","text","attr","minicartCountOfItems","title","removeClass","triggerEventDelayed","target","TRACKING_MINICART","trigger","length","url","data","parseInt","addClass","spinner","start","get","empty","append","then","utils","initalizePaypal","stop","e","has","this","parents","is","css","html","document","page","body","querySelector","dataset","action","default","windowScroll","windowHeight","timeout","$window","window","headerHeight","innerHeight","bannerHeight","menuHeight","miniCartPopOver","adjustPopover","scrollTop","width","popoverListener","cancelAnimationFrame","requestAnimationFrame","addEventListener"],"mappings":"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","file":"minicart-chunk.js","sourcesContent":["'use strict';\r\n\r\nvar updateMiniCart = true;\r\nconst events = require('../util/events');\r\n\r\nmodule.exports = function () {\r\n var $body = $('body');\r\n var $minicart = $('.minicart');\r\n var $miniCartPopOver = $('.minicart .popover');\r\n $minicart.on('count:update', function (event, count) {\r\n if (count && $.isNumeric(count.quantityTotal)) {\r\n $('.minicart .minicart-quantity').text(count.quantityTotal);\r\n $('.minicart .minicart-link').attr({\r\n 'aria-label': count.minicartCountOfItems,\r\n title: count.minicartCountOfItems\r\n });\r\n if (count.quantityTotal > 0 && count.quantityTotal < 100) {\r\n $('.minicart .minicart-quantity').removeClass('d-none');\r\n } else if (count.quantityTotal > 99) {\r\n $('.minicart .minicart-quantity').text(' ');\r\n }\r\n }\r\n });\r\n\r\n $minicart.on('click', (event) => {\r\n events.triggerEventDelayed(event.target, events.TRACKING_MINICART);\r\n });\r\n\r\n $miniCartPopOver.on('mouseenter touchstart', function () {\r\n $miniCartPopOver.trigger('minicart:hovered');\r\n });\r\n\r\n $minicart.on('mouseenter touchstart open:minicart', function () {\r\n if ($('.search:visible').length === 0) {\r\n return;\r\n }\r\n var url = $minicart.data('action-url');\r\n var count = parseInt($('.minicart .minicart-quantity').text(), 10);\r\n\r\n if (count !== 0 && $('.minicart .popover.show').length === 0) {\r\n $minicart.trigger('minicartHover');\r\n if (!updateMiniCart) {\r\n $miniCartPopOver.addClass('show');\r\n $('body').trigger('minicart:updateProductRecommendator');\r\n return;\r\n }\r\n $miniCartPopOver.addClass('show');\r\n $miniCartPopOver.spinner().start();\r\n $.get(url, function (data) {\r\n $miniCartPopOver.empty();\r\n $miniCartPopOver.append(data);\r\n import(/* webpackChunkName: \"utils-chunk\" */ '../utils').then(function (utils) {\r\n utils.initalizePaypal();\r\n });\r\n updateMiniCart = false;\r\n $.spinner().stop();\r\n $('body').trigger('minicart:updateProductRecommendator');\r\n });\r\n }\r\n\r\n $('body').trigger('minicart:updateProductRecommendator');\r\n });\r\n $body.on('touchstart click', function (e) {\r\n if ($minicart.has(e.target).length <= 0) {\r\n $('.minicart .popover').removeClass('show');\r\n }\r\n });\r\n $body.on('change', '.minicart .quantity', function () {\r\n if ($(this).parents('.bonus-product-line-item').length && $('.cart-page').length) {\r\n // location.reload();\r\n }\r\n });\r\n $body.on('product:afterAddToCart', function () {\r\n updateMiniCart = true;\r\n });\r\n $body.on('cart:update', function () {\r\n updateMiniCart = true;\r\n });\r\n $body.on('minicart:updateProductRecommendator', function () {\r\n if ($('.mini-cart-recommendator-products .product-tile').length >= 1 && $('.minicart-product-recommendator').is(':empty')) {\r\n if ($('.minicart-product-recommendator').css('display') !== 'none') {\r\n $miniCartPopOver.addClass('product-recommendator');\r\n }\r\n $('.minicart-product-recommendator').html($('.mini-cart-recommendator-products').html());\r\n }\r\n });\r\n\r\n $(document).on('click touchstart', '.minicart .close', function () {\r\n $body.trigger('click');\r\n });\r\n var page = document.body.querySelector('.page');\r\n if (page && page.dataset.action === 'Cart-Show') {\r\n import(/* webpackChunkName: \"utils-chunk\" */ '../utils').then(function (utils) {\r\n utils.initalizePaypal();\r\n });\r\n import('../checkout/oneyOSM');\r\n }\r\n import(/* webpackChunkName: \"cart-chunk\" */ '../cart/cart').then(function (module) {\r\n module.default();\r\n });\r\n};\r\n\r\n(function () {\r\n var $window = $(window);\r\n var windowScroll;\r\n var windowHeight;\r\n var headerHeight = $('header').innerHeight();\r\n var bannerHeight = $('.header-banner').innerHeight();\r\n var menuHeight = $('.header-navigation').innerHeight();\r\n var miniCartPopOver = $('.minicart .popover.popover-bottom');\r\n\r\n // Setup a timer\r\n var timeout;\r\n\r\n var adjustPopover = function adjustPopver() {\r\n windowScroll = $window.scrollTop();\r\n windowHeight = $window.innerHeight();\r\n if ($window.width() > 992) {\r\n if (windowScroll > bannerHeight) {\r\n miniCartPopOver.attr('style', 'top:' + (menuHeight) + 'px !important; min-height: ' + (windowHeight - menuHeight) + 'px !important; max-height: ' + (windowHeight - menuHeight) + 'px !important');\r\n } else {\r\n miniCartPopOver.attr('style', 'top:' + (headerHeight - windowScroll) + 'px !important; min-height: ' + (windowHeight - menuHeight) + 'px !important; max-height: ' + (windowHeight - menuHeight) + 'px !important');\r\n }\r\n }\r\n };\r\n\r\n // Run once on page load\r\n adjustPopover();\r\n\r\n /**\r\n * popover listener with timeout\r\n */\r\n function popoverListener() {\r\n // If there's a timer, cancel it\r\n if (timeout) {\r\n window.cancelAnimationFrame(timeout);\r\n }\r\n // Setup the new requestAnimationFrame()\r\n timeout = window.requestAnimationFrame(adjustPopover);\r\n }\r\n\r\n // Listen for scroll events\r\n window.addEventListener('scroll', popoverListener, false);\r\n window.addEventListener('resize', popoverListener, false);\r\n}());\r\n"],"sourceRoot":""}