{"version":3,"file":"434.87dc49.js","mappings":"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","sources":["webpack://electro/./js/src/pages/single-product.js"],"sourcesContent":["(function ($) {\n let currentBVID;\n const ICON_SCENT_ICON_IMAGE_BASE = '/wp-content/themes/electro/views/modules/defs.svg#icon-scent-';\n const $stars = $('.js-inline-rating .product__bv-rating');\n\n /*\n * changeBV\n * change BV controls as scent changes\n */\n function changeBV(bvid) {\n $('[data-bv-show=\"inline_rating\"]').each(function () {\n $(this).attr('data-bv-product-id', bvid);\n });\n $('[data-bv-show=\"reviews\"]').attr('data-bv-product-id', bvid);\n }\n\n function getUrlParameter(name) {\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n const regex = new RegExp(`[\\\\?&]${ name }=([^&#]*)`);\n const results = regex.exec(location.search);\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n }\n\n // Change markup in the features grid element when scent icon is changed\n // if ACF override field data is present in data- attributes.\n function updateFeatures(data) {\n if (!data) {\n return;\n }\n\n const $originalFirstFeature = $('.features--left li:not(.feature-override)').first();\n\n if (data.firstFeatureIcon && data.firstFeatureName && data.firstFeatureCopy) {\n const { firstFeatureIcon, firstFeatureName, firstFeatureCopy } = data;\n let $firstFeatureOverride = $('.features--left .feature-override');\n\n if ($firstFeatureOverride.length < 1) {\n // Make a clone to show instead of the original\n const $featureClone = $originalFirstFeature.clone().addClass('feature-override', 'hide');\n $featureClone.prependTo($('.features--left'));\n }\n\n $firstFeatureOverride = $('.features--left .feature-override');\n\n $firstFeatureOverride.find('span.heading').text(firstFeatureName);\n $firstFeatureOverride.find('p').text(firstFeatureCopy);\n const iconBasePath = $originalFirstFeature.find('use').attr('xlink:href').split('#')[0];\n const icon = `${iconBasePath}#icon-feature-${firstFeatureIcon}`;\n $firstFeatureOverride.find('use').attr('xlink:href', icon);\n\n $firstFeatureOverride.removeClass('hide');\n $originalFirstFeature.addClass('hide');\n } else {\n $('.features--left .feature-override').addClass('hide');\n $originalFirstFeature.removeClass('hide');\n }\n\n if (data.featureImage) {\n const $originalImage = $('.features-image:not(.feature-override)');\n\n let $overrideImage = $('.features-image.feature-override');\n\n if ($overrideImage.length > 0) {\n // Just switch the src of the existing override image element\n $overrideImage.attr('src', data.featureImage).attr('srcset', data.featureImage);\n } else {\n // Make a clone to show instead of the original\n const $imageClone = $originalImage\n .clone()\n .addClass('feature-override', 'hide')\n .attr('src', data.featureImage)\n .attr('srcset', data.featureImage);\n $imageClone.prependTo($('.features-image').parent());\n $overrideImage = $('.features-image.feature-override');\n }\n\n $overrideImage.removeClass('hide');\n $originalImage.addClass('hide');\n } else {\n $('.features-image.feature-override').addClass('hide');\n $('.features-image:not(.feature-override)').removeClass('hide');\n }\n }\n\n // init page\n $(() => {\n // handle page data setup\n const productDataSection = $('#product-data');\n const pageData = productDataSection.data();\n\n\n const $activeIcon = $('.js-scent-icon.active');\n const data = $activeIcon.find('.icon').data();\n\n const buyNowBtn = $('button#wtb');\n\n updateFeatures(data);\n\n let syncScentAndSize = false;\n if (pageData.sync_scent_size) {\n syncScentAndSize = true;\n }\n\n if (pageData.initialReviewCount) {\n $('.js-has-no-reviews').hide();\n } else {\n $('.js-has-reviews').hide();\n }\n if (!pageData.bvid) {\n $('.js-inline-rating').hide();\n $('.review-teaser').hide();\n } else {\n currentBVID = pageData.bvid;\n $('.js-inline-rating').show();\n }\n\n const $scentIcons = $('.js-scent-icon').on('click', (e) => {\n // Make sure we get the svg, which has the scent data- attached\n const $this = $(e.currentTarget);\n\n if ($this.hasClass('active')) {\n return;\n }\n\n const scentData = $this.find('.icon').data();\n\n // Change H1\n $('.js-product-name').html(scentData.product);\n\n // Update upcs for buy now button if it exists\n let upc = null;\n if(buyNowBtn.length) {\n upc = scentData.upc;\n buyNowBtn.attr('data-upc', upc);\n buyNowBtn.attr('data-eans', upc);\n productDataSection.attr('data-wtb-upc', upc);\n }\n\n // push data into browser History\n // changing page happens in statechange handler\n History.pushState(scentData, scentData.seotitle, scentData.url);\n });\n\n const $sizeIcons = $('.js-size-icon').on('click', (e) => {\n const $this = $(e.target);\n if ($this.hasClass('active')) {\n return;\n }\n\n $sizeIcons.removeClass('active');\n $this.addClass('active');\n\n // update page based on selected item\n const data = $this.data();\n $('.js-size-dimensions').text(data.dimensions);\n if (data.image) {\n $('.js-size-image').attr('src', data.image);\n $('.js-size-image').attr('srcset', data.image);\n }\n\n // sync scent icons\n if (syncScentAndSize) {\n const index = $sizeIcons.index($sizeIcons.filter('.active'));\n $scentIcons.eq(index).click();\n }\n });\n\n // initial active size icon\n let sizeActiveIndex = 0;\n if (syncScentAndSize) {\n sizeActiveIndex = $scentIcons.index($scentIcons.filter('.active'));\n }\n $sizeIcons.eq(sizeActiveIndex).addClass('active');\n\n function reloadScript() {\n const src1 = $('.reload-script-1').attr('src');\n $('.reload-script-1').attr('src', `${src1.split('?')[0] }?${ Math.floor(Math.random() * 10000000)}`);\n const src2 = $('.reload-script-2').attr('src');\n $('.reload-script-2').attr('src', `${src2.split('?')[0] }?${ Math.floor(Math.random() * 10000000)}`);\n }\n\n $(window).on('statechange', () => {\n const state = History.getState();\n const { data } = state;\n\n if (!data.bvid) {\n $('.js-inline-rating').hide();\n $('.review-teaser').hide();\n } else {\n currentBVID = data.bvid;\n $('.js-inline-rating').show();\n $('.review-teaser').show();\n }\n\n // update active class on scent icons\n // update scent images\n const $activeScent = $scentIcons.filter('.active');\n $activeScent.removeClass('active');\n $('use', $activeScent).attr(\n 'xlink:href',\n ICON_SCENT_ICON_IMAGE_BASE + $activeScent.find('.icon').data('scentIcon')\n );\n const $newScent = $(`.js-scent-icon .icon[data-name=\"${data.name}\"]`)\n .closest('.js-scent-icon')\n .addClass('active');\n $('use', $newScent).attr('xlink:href', `${ICON_SCENT_ICON_IMAGE_BASE + data.scentIcon}-active`);\n\n // sync size icons\n if (syncScentAndSize) {\n const index = $scentIcons.index($scentIcons.filter('.active'));\n $sizeIcons.eq(index).click();\n }\n\n // update page based on selected scent\n $('.js-scent-name').html(data.name);\n $('.js-scent-description').html(data.desc);\n $('.js-glamour-image').attr('src', data.glamourImage);\n $('.js-glamour-image').attr('srcset', data.glamourImage);\n $('.js-bv-rating').text(data.bvRating);\n\n updateFeatures(data);\n\n // show and hide elements based on whether product\n // has any bv reviews\n if (data.bvReviewCount) {\n $('.js-has-no-reviews').hide();\n $('.js-has-reviews').show();\n } else {\n $('.js-has-no-reviews').show();\n $('.js-has-reviews').hide();\n }\n\n // Fetch new slides\n $('#SwiperWrapper2').load(`${document.URL } #SwiperWrapper2>*`);\n $('#SwiperWrapper1').load(`${document.URL } #SwiperWrapper1>*`, () => {\n\n // Wait for the new slides to load\n const waitForSwiperSlides = ()=>{\n return new Promise((resolve) => {\n const checkSlides = () => {\n const slides = $('#SwiperWrapper1 .swiper-slide');\n if (slides.length > 0) {\n resolve(slides);\n } else {\n setTimeout(checkSlides, 100); // Check again after 100ms\n }\n };\n checkSlides();\n });\n }\n\n // Re-run swiper after the new slides have been loaded\n waitForSwiperSlides().then((slides) => {\n window.PDPSwiper.run();\n });\n });\n\n changeBV(data.bvid);\n playGalleryVideo();\n });\n\n // copy star ratings from top of page to review teaser panel\n // if (pageData.initialReviewCount) {\n // var id = setInterval(function () {\n // var html = $stars.html();\n // if (!html) {\n // return;\n // }\n // $('.js-bv-inline-stars-copy').html(html);\n // clearInterval(id);\n // }, 500);\n // }\n });\n\n // Play product family video if `#video` is in URL\n $(document).ready(() => {\n const { hash } = window.location;\n if (hash === '#video') {\n $('#play-button').click();\n } else if (hash === '#review' || getUrlParameter('bvdata') == 'action=rr_submit_review') {\n // write review needs $BV initialized\n const writeReview = function () {\n $('.js-write-review').click();\n };\n if (window.$BV) {\n writeReview();\n } else {\n const bvOldCallback = window.bvCallback;\n window.bvCallback = function (BV) {\n if (bvOldCallback) {\n bvOldCallback(BV);\n }\n writeReview();\n };\n }\n }\n });\n\n // Play product family video if `#video-modal` is in URL or clicked on, when in the gallery.\n function playGalleryVideo() {\n $('a[href=\"#video-modal\"]').click((e) => {\n e.preventDefault();\n $('#video-modal').modal('show');\n });\n\n $('button.close').click((e) => {\n e.preventDefault();\n $('#video-modal').modal('hide');\n })\n\n $('#video-modal').on('shown.bs.modal', () => {\n $('#video-modal__video').get(0).play();\n });\n\n $('#video-modal').on('hidden.bs.modal', function (e) {\n $('#video-modal__video').get(0).pause();\n $('#video-modal__video').get(0).currentTime = 0;\n });\n }\n\n // Handle the video modal on load.\n $(document).ready(() => {\n playGalleryVideo();\n });\n\n // start write review process\n $('.js-has-no-reviews, .js-write-review').on('click', () => {\n $BV.ui('rr', 'submit_review', {\n productId: currentBVID,\n });\n\n $BV.configure('global', {\n events: {\n submissionSubmitted (data) {\n // JS to be triggered once submission is submitted.\n // Redirect to coupon page\n if ($('#product-data').attr('data-bvid') == 'cling-wrap-100') {\n const promoID = 105523345; // ClingWrap\n window.location.href = `/offers/review-coupon/?promo=${ promoID}`;\n } else if ($('#product-data').attr('data-bvid') == 'press-n-seal-40') {\n const promoID = 105523365; // PressNSeal\n window.location.href = `/offers/review-coupon/?promo=${ promoID}`;\n }\n },\n },\n });\n\n return false;\n });\n\n // slideshow for scents\n const scentCount = $('.scent-list li').length;\n function initSlickShow() {\n $('.scent-list').slick({\n infinite: true,\n slidesToShow: scentCount,\n slidesToScroll: 2,\n dots: false,\n arrows: true,\n adaptiveHeight: true,\n responsive: [\n {\n breakpoint: 480,\n settings: {\n infinite: true,\n slidesToShow: 3,\n slidesToScroll: 3,\n // centerMode: true,\n arrows: true,\n dots: false,\n adaptiveHeight: true,\n },\n },\n {\n breakpoint: 768,\n settings: 'unslick',\n },\n ],\n });\n }\n\n if (scentCount > 3 && window.innerWidth < 768) {\n // Styles are already loaded\n console.log('init slick');\n initSlickShow();\n }\n\n // link in panel should toggle review display & scroll if opening\n const $open = $('.open-sesame');\n const $bvWrapper = $('.bv-wrapper');\n $open.on('click', (e) => {\n e.preventDefault();\n $bvWrapper.slideToggle(500, () => {\n $open.toggleClass('minus');\n });\n if (!$open.hasClass('minus')) {\n // scroll if not open\n $('html, body').animate(\n {\n scrollTop: $('#review-jump-link').offset().top,\n },\n 500\n );\n }\n });\n\n // handle read review buttons\n // top link always opens & scrolls to reviews\n $('.open-sesame-top').on('click', (e) => {\n e.preventDefault();\n $bvWrapper.show();\n $open.addClass('minus');\n $('html, body').animate(\n {\n scrollTop: $('#review-jump-link').offset().top,\n },\n 500\n );\n });\n\n // handle #shop to open shop panel\n const $shopButton = $('.js-buy-button');\n function openShop() {\n if ($shopButton.is(':visible')) {\n $shopButton.click();\n } else {\n setTimeout(openShop, 250);\n }\n }\n if (location.hash === '#shop') {\n openShop();\n }\n})(jQuery);\n"],"names":["$","currentBVID","ICON_SCENT_ICON_IMAGE_BASE","updateFeatures","data","$originalFirstFeature","first","firstFeatureIcon","firstFeatureName","firstFeatureCopy","$firstFeatureOverride","length","clone","addClass","prependTo","find","text","iconBasePath","attr","split","icon","concat","removeClass","featureImage","$originalImage","$overrideImage","parent","playGalleryVideo","click","e","preventDefault","modal","on","get","play","pause","currentTime","productDataSection","pageData","buyNowBtn","syncScentAndSize","sync_scent_size","initialReviewCount","hide","bvid","show","$scentIcons","$this","currentTarget","hasClass","scentData","html","product","upc","History","pushState","seotitle","url","$sizeIcons","target","dimensions","image","index","filter","eq","sizeActiveIndex","window","getState","$activeScent","$newScent","name","closest","scentIcon","desc","glamourImage","bvRating","bvReviewCount","load","document","URL","Promise","resolve","checkSlides","slides","setTimeout","then","PDPSwiper","run","each","this","ready","hash","location","replace","results","RegExp","exec","search","decodeURIComponent","getUrlParameter","writeReview","$BV","bvOldCallback","bvCallback","BV","ui","productId","configure","events","submissionSubmitted","href","scentCount","innerWidth","console","log","slick","infinite","slidesToShow","slidesToScroll","dots","arrows","adaptiveHeight","responsive","breakpoint","settings","$open","$bvWrapper","slideToggle","toggleClass","animate","scrollTop","offset","top","$shopButton","openShop","is","jQuery"],"sourceRoot":""}