{"version":3,"file":"blocks/cta-panel.js","mappings":"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","sources":["webpack://electro/webpack/runtime/chunk loaded","webpack://electro/./js/src/controllers/optimize.js","webpack://electro/./js/src/app.js","webpack://electro/./js/src/blocks/cta-panel.js","webpack://electro/./js/src/controllers/SMS.js","webpack://electro/./js/src/pages/page-home.js","webpack://electro/external var \"jQuery\"","webpack://electro/webpack/bootstrap","webpack://electro/webpack/runtime/compat get default export","webpack://electro/webpack/runtime/define property getters","webpack://electro/webpack/runtime/global","webpack://electro/webpack/runtime/hasOwnProperty shorthand","webpack://electro/webpack/runtime/make namespace object","webpack://electro/webpack/runtime/runtimeId","webpack://electro/webpack/runtime/publicPath","webpack://electro/webpack/runtime/jsonp chunk loading","webpack://electro/webpack/runtime/nonce","webpack://electro/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import { parametersWatcher } from './parametersWatcher';\nimport GatedContent from \"./gatedContent\";\nimport {SMS} from \"./SMS\";\n\n// Example data:\n// {\n// image: '/wp-content/themes/electro/img/weather-bug/weather-sun.svg',\n// text: 'Today’s weather report: BBQ ahead! Try our recipe for',\n// cta: {\n// text: 'ribs',\n// link: '/ribs/',\n// },\n// disclaimer: {\n// text1: \"*weather forecast provided by\",\n// text2: \"Openweathermap.org\",\n// url: \"https://openweathermap.org/\"\n// }\n// }\n\n/**\n * ALl Google Optimize A/B Testing related functions.\n *\n * These functions are supposed to provide control over altering content on the website.\n * They are called by the Google Optimize A/B Testing platform.\n *\n */\nexport default class Optimize {\n constructor() {\n window.showHeaderBanner = this.showHeaderBanner;\n window.hideHeaderBanner = this.hideHeaderBanner;\n window.showRecipesClassicsCard = this.showRecipesClassicsCard;\n window.hideRecipesClassicsCard = this.hideRecipesClassicsCard;\n window.showRecommendationSliderCard = this.showRecommendationSliderCard;\n window.hideRecommendationSliderCard = this.hideRecommendationSliderCard;\n window.showProductsSliderCard = this.showProductsSliderCard;\n window.hideProductsSliderCard = this.hideProductsSliderCard;\n window.showRecipesSliderCard = this.showRecipesSliderCard;\n window.hideRecipesSliderCard = this.hideRecipesSliderCard;\n window.showCollectionsSliderCard = this.showCollectionsSliderCard;\n window.hideCollectionsSliderCard = this.hideCollectionsSliderCard;\n window.renderSignUpModalA = this.renderSignUpModalA;\n window.renderSignUpModalB = this.renderSignUpModalB;\n window.updateHomePageHeroCopy = this.updateHomePageHeroCopy;\n window.updateGatedContentStatus = this.updateGatedContentStatus;\n window.showWeatherNotification = this.showWeatherNotification;\n window.hideWeatherNotification = this.hideWeatherNotification;\n window.showSMSModalHomePage = this.showSMSModalHomePage;\n window.showSMSModalRDP = this.showSMSModalRDP;\n\n // Run the parameters watcher, for testing through URL parameters.\n parametersWatcher();\n }\n\n /**\n * Show the pencil banner, with a copy change.\n */\n showHeaderBanner(copy = null) {\n const pencilBanner = document.querySelector('.header-banner--signup');\n if (!pencilBanner) {\n return;\n }\n pencilBanner.style.display = 'block';\n if (copy) {\n const copyElement = pencilBanner.querySelector('.header-banner__content .banner__inner p');\n if (!copyElement) {\n return;\n }\n copyElement.innerHTML = copy;\n }\n }\n\n /**\n * Hides the pencil banner when called.\n */\n hideHeaderBanner() {\n const pencilBanner = document.querySelector('.header-banner--signup');\n if (!pencilBanner) {\n return;\n }\n pencilBanner.style.display = 'none';\n }\n\n /**\n * Show the recipes' classics card.\n */\n showRecipesClassicsCard() {\n // Hide the first recipe with class : kingsford-classics-list__recipe-card\n const firstRecipe = document.querySelector('.kingsford-classics-list__recipe-card.non-lytics');\n if (!firstRecipe) {\n return;\n }\n firstRecipe.style.display = 'none';\n\n // Show the Lytics card\n const signupCta = document.querySelector('.recipe-card--signup-cta');\n if (!signupCta) {\n return;\n }\n signupCta.style.display = 'flex';\n }\n\n /**\n * Hides the recipes' classics card.\n */\n hideRecipesClassicsCard() {\n // Show the all recipe cards.\n const allRecipesCards = document.querySelectorAll('.kingsford-classics-list__recipe-card.non-lytics');\n if (!allRecipesCards) {\n return;\n }\n allRecipesCards.forEach((recipe) => {\n recipe.style.display = 'flex';\n });\n\n // Hide the Lytics card.\n const signupCta = document.querySelector('.recipe-card--signup-cta');\n if (!signupCta) {\n return;\n }\n signupCta.style.display = 'none';\n }\n\n /**\n * Show the recommendation's slider's lytics card.\n */\n showRecommendationSliderCard() {\n // get all sections with id prefix \"recommendation-slider--\"\n let recommendationSliders = document.querySelectorAll('[id^=\"recommendation-slider--\"]');\n if (!recommendationSliders) {\n return false;\n }\n recommendationSliders = Array.from(recommendationSliders);\n if (recommendationSliders.length < 1) {\n return false;\n }\n\n // Show all the slides(including the duplicate ones).\n recommendationSliders.forEach((slider) => {\n Array.from(slider.querySelectorAll('.slide--lytics-card')).forEach((slide) => {\n slide.classList.remove('lytics-disable');\n });\n });\n }\n\n /**\n * Hides the recommendation's slider's lytics card.\n */\n hideRecommendationSliderCard() {\n // get all sections with id prefix \"recommendation-slider--\"\n let recommendationSliders = document.querySelectorAll('[id^=\"recommendation-slider--\"]');\n if (!recommendationSliders) {\n return false;\n }\n recommendationSliders = Array.from(recommendationSliders);\n if (recommendationSliders.length < 1) {\n return false;\n }\n\n // Hide all the slides(including the duplicate ones).\n recommendationSliders.forEach((slider) => {\n Array.from(slider.querySelectorAll('.slide--lytics-card')).forEach((slide) => {\n slide.classList.add('lytics-disable');\n });\n });\n }\n\n /**\n * Show the Products slider's lytics card.\n */\n showProductsSliderCard() {\n // get all sections with id prefix \"recommendation-slider--\"\n let sliders = document.querySelectorAll('[id^=\"product-carousel--\"]');\n if (!sliders) {\n return false;\n }\n sliders = Array.from(sliders);\n if (sliders.length < 1) {\n return false;\n }\n\n // Show all the slides(including the duplicate ones).\n sliders.forEach((slider) => {\n Array.from(slider.querySelectorAll('.slide--lytics-card')).forEach((slide) => {\n slide.classList.remove('lytics-disable');\n });\n });\n }\n\n /**\n * Hides the Products slider's lytics card.\n */\n hideProductsSliderCard() {\n // get all sections with id prefix \"recommendation-slider--\"\n let sliders = document.querySelectorAll('[id^=\"product-carousel--\"]');\n if (!sliders) {\n return false;\n }\n sliders = Array.from(sliders);\n if (sliders.length < 1) {\n return false;\n }\n\n // Hide all the slides(including the duplicate ones).\n sliders.forEach((slider) => {\n Array.from(slider.querySelectorAll('.slide--lytics-card')).forEach((slide) => {\n slide.classList.add('lytics-disable');\n });\n });\n }\n\n /**\n * Show the Recipes slider's lytics card.\n */\n showRecipesSliderCard() {\n // get all sections with id prefix \"recommendation-slider--\"\n let sliders = document.querySelectorAll('[id^=\"recipe-carousel--\"]');\n if (!sliders) {\n return false;\n }\n sliders = Array.from(sliders);\n if (sliders.length < 1) {\n return false;\n }\n\n // Show all the slides(including the duplicate ones).\n sliders.forEach((slider) => {\n Array.from(slider.querySelectorAll('.slide--lytics-card')).forEach((slide) => {\n slide.classList.remove('lytics-disable');\n });\n });\n }\n\n /**\n * Hides the Recipes slider's lytics card.\n */\n hideRecipesSliderCard() {\n // get all sections with id prefix \"recommendation-slider--\"\n let sliders = document.querySelectorAll('[id^=\"recipe-carousel--\"]');\n if (!sliders) {\n return false;\n }\n sliders = Array.from(sliders);\n if (sliders.length < 1) {\n return false;\n }\n\n // Hide all the slides(including the duplicate ones).\n sliders.forEach((slider) => {\n Array.from(slider.querySelectorAll('.slide--lytics-card')).forEach((slide) => {\n slide.classList.add('lytics-disable');\n });\n });\n }\n\n /**\n * Show the Collections slider's lytics card.\n */\n showCollectionsSliderCard() {\n // get all sections with id prefix \"recommendation-slider--\"\n let sliders = document.querySelectorAll('[id^=\"recipe-collection-carousel--\"]');\n if (!sliders) {\n return false;\n }\n sliders = Array.from(sliders);\n if (sliders.length < 1) {\n return false;\n }\n\n // Show all the slides(including the duplicate ones).\n sliders.forEach((slider) => {\n Array.from(slider.querySelectorAll('.slide--lytics-card')).forEach((slide) => {\n slide.classList.remove('lytics-disable');\n });\n });\n }\n\n /**\n * Hides the Collections slider's lytics card.\n */\n hideCollectionsSliderCard() {\n // get all sections with id prefix \"recommendation-slider--\"\n let sliders = document.querySelectorAll('[id^=\"recipe-collection-carousel--\"]');\n if (!sliders) {\n return false;\n }\n sliders = Array.from(sliders);\n if (sliders.length < 1) {\n return false;\n }\n\n // Hide all the slides(including the duplicate ones).\n sliders.forEach((slider) => {\n Array.from(slider.querySelectorAll('.slide--lytics-card')).forEach((slide) => {\n slide.classList.add('lytics-disable');\n });\n });\n }\n\n renderSignUpModalA() {\n if (document.querySelectorAll('form.register').length > 1 && document.querySelector('.signup-form-variant-b')) {\n document.querySelector('.signup-form-variant-b').remove();\n }\n }\n\n renderSignUpModalB() {\n if (document.querySelectorAll('form.register').length > 1 && document.querySelector('.signup-form-variant-a')) {\n document.querySelector('.signup-form-variant-a').remove();\n }\n }\n\n updateHomePageHeroCopy(lyticsSegment) {\n const segmentationMap = JSON.parse(document.querySelector('input.lytics-segmentation-hero').value);\n if (lyticsSegment && segmentationMap) {\n const segment = segmentationMap.find((o) => o.lytics_segment === lyticsSegment);\n const hero = document.querySelector('.b-split-hero');\n hero.querySelector('.b-split-hero__title').innerText = segment.values.title;\n hero.querySelector('.b-split-hero__subtitle').innerText = segment.values.subtitle;\n if (hero.querySelectorAll('.b-split-hero__cta-wrapper__cta').length > 1) {\n $('.b-split-hero__cta-wrapper__cta').each((i, e) => {\n if (i > 0) {\n e.remove();\n }\n });\n }\n hero.querySelector('.b-split-hero__cta-wrapper__cta .e-button__copy').innerText = segment.values.cta_text;\n hero.querySelector('.b-split-hero__cta-wrapper__cta .e-button__copy').classList.remove('js-user-account');\n hero.querySelector('.b-split-hero__cta-wrapper__cta').href =\n `/?registerModal=1&lytics_campaign=${ segment.lytics_crm}`;\n }\n }\n\n updateGatedContentStatus() {\n new GatedContent().show();\n }\n\n /**\n * Shows the weather notification, only if html is passed to it.\n *\n * Example: `Grill-friendly weather alert! It’s the perfect week to make brisket`\n * @param html\n * @returns {boolean}\n */\n showWeatherNotification(html = null) {\n if (Electro.DEBUG) {\n console.info('WeatherNotification.showHeaderBanner()');\n }\n\n const weatherBanner = document.querySelector('.js-weather-banner');\n if (\n weatherBanner &&\n html.image &&\n html.text &&\n html.cta.link &&\n html.cta.text &&\n html.disclaimer.text1 &&\n html.disclaimer.text2 &&\n html.disclaimer.url\n ) {\n console.info('true');\n // Update the html\n const htmlBody = weatherBanner.querySelector('.b-weather-notification__content');\n\n const notification = `\n \n
\n ${html.text} ${html.cta.text}\n ${html.disclaimer.text1} ${html.disclaimer.text2}\n
\n \n `;\n htmlBody.innerHTML = notification;\n\n weatherBanner.classList.add('is-active');\n weatherBanner.classList.remove('is-inactive');\n\n const closeBtn = weatherBanner.querySelector('.js-close-weather-banner');\n closeBtn.addEventListener('click', () => {\n weatherBanner.classList.remove('is-active');\n weatherBanner.classList.add('is-inactive');\n });\n }\n\n return true;\n }\n\n hideWeatherNotification() {\n if (Electro.DEBUG) {\n console.info('WeatherNotification.hideWeatherNotification()');\n }\n\n const weatherBanner = document.querySelector('.js-weather-banner');\n if (weatherBanner) {\n weatherBanner.classList.remove('is-active');\n weatherBanner.classList.add('is-inactive');\n }\n }\n\n /**\n * Show the SMS popup on homepage.\n */\n showSMSModalHomePage() {\n console.log('showSMSModalHomePage');\n SMS.triggerModal();\n }\n\n /**\n * Show the SMS popup on recipe page.\n */\n showSMSModalRDP() {\n SMS.triggerModal();\n }\n}\n","import 'parsleyjs';\nimport MicroModal from 'micromodal';\nimport 'electro-privacy';\nimport LazyLoad from 'vanilla-lazyload';\nimport pym from 'pym.js';\n\n// global js components\nimport KingsfordHeader from './components/kingsford-header';\nimport KingsfordFooter from './components/kingsford-footer';\nimport RegisterLogin from './components/register-login';\nimport Social from './components/social-widget';\nimport FAQPanel from './components/faq-panel';\nimport Scroll from './controllers/scroll';\nimport HeaderMenuItems from './controllers/headerMenuItems';\nimport ImageOverVideo from './components/image-over-video';\n\n// pages\nimport HomePage from './pages/page-home';\n\n// \"Google Optimize\" Content Controllers.\nimport Optimize from './controllers/optimize';\nimport { passSource } from './controllers/parametersWatcher';\n\nimport GatedContent from './controllers/gatedContent';\n\n// Sentry\nimport * as Sentry from \"@sentry/browser\";\n\n\nSentry.init({\n dsn: Electro.Sentry.dsn,\n integrations: [\n Sentry.browserTracingIntegration(),\n Sentry.replayIntegration(),\n ],\n environment: Electro.Sentry.environment,\n release: Electro.themeVersion,\n sampleRate: Electro.Sentry.sampleRate,\n maxBreadcrumbs: Electro.Sentry.maxBreadcrumbs,\n attachStacktrace: Electro.Sentry.attachStacktrace,\n tracesSampleRate: Electro.Sentry.tracesSampleRate,\n tracePropagationTargets: [WEBROOT],\n replaysSessionSampleRate: Electro.Sentry.replaysSessionSampleRate,\n replaysOnErrorSampleRate: Electro.Sentry.replaysOnErrorSampleRate,\n});\n\n\n// Constants\nexport const buttonFilledSvg = `\n\n \n \n \n \n`;\nexport const buttonOutlineSvg = `\n\n \n \n \n`;\nclass App {\n constructor() {\n // Load redirects before anything else.\n this.redirects();\n\n window.addEventListener('DOMContentLoaded', () => {\n this.init();\n });\n }\n\n /**\n * Add redirects here that can not be handled by PHP\n */\n redirects() {\n if (window.location.search === '?utm_source=package&utm_medium=qrcode&utm_campaign=high-heat-briquets' && window.location.pathname === '/') {\n window.location.href = '/recipes/grilled-skirt-steak/?utm_source=package&utm_medium=qrcode&utm_campaign=high-heat-briquets';\n }\n if (window.location.search === '?utm_source=package&utm_medium=qrcode&utm_campaign=low-slow-briquets' && window.location.pathname === '/') {\n window.location.href = '/recipes/smoked-pork-butt/?utm_source=package&utm_medium=qrcode&utm_campaign=low-slow-briquets';\n }\n }\n\n loadModal() {\n /**\n * on load setup micromodal login/register popup\n * show based on url params\n */\n if (!CLWP_PC_GLOBAL.isLoggedIn) {\n try {\n MicroModal.init({\n awaitCloseAnimation: true,\n closeTrigger: 'data-custom-close',\n onShow: (modal) => {\n const callbackHandler = modal.getAttribute('data-open-callback');\n if (!callbackHandler) return;\n\n const callbackHandlerArr = callbackHandler.split('.');\n let callback = null;\n\n if (callbackHandlerArr.length > 1) {\n // Handle class.function format (e.g., \"MyClass.myMethod\")\n const classHandler = callbackHandlerArr[0];\n const methodName = callbackHandlerArr[1];\n callback = window.Electro[classHandler]?.[methodName];\n } else {\n // Handle direct function format (e.g., \"myFunction\")\n callback = window.Electro[callbackHandler];\n }\n\n if (callback && typeof callback === 'function') {\n callback(modal);\n }\n },\n onClose: (modal) => {\n if (`#${modal.id} iframe`) {\n const video = $(`#${modal.id} iframe`).attr('src');\n $(`#${modal.id} iframe`).attr('src', '');\n $(`#${modal.id} iframe`).attr('src', video);\n }\n },\n });\n\n const params = new URLSearchParams(window.location.search);\n // check if lytics_campaign is present, to pass the source.\n if (params.has('lytics_campaign')) {\n passSource(params.get('lytics_campaign'), document.querySelectorAll('.pc-consumer-source input'));\n }\n\n if (params.has('loginModal')) {\n MicroModal.show('modal-login', {\n closeTrigger: 'data-custom-close',\n });\n } else if (params.has('registerModal')) {\n MicroModal.show('modal-signup', {\n closeTrigger: 'data-custom-close',\n });\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('micromodal error:', e);\n }\n\n $('#signup-form.multi-page').on('click', '.js-register-form-continue', (e) => {\n e.preventDefault();\n $('.modal-signup-page.page-1').hide();\n $('.modal-signup-page.page-2').fadeIn(200);\n $('.modal__back').fadeIn(200);\n });\n $('#modal-signup').on('click', '.modal__back', (e) => {\n e.preventDefault();\n $('.modal__back').hide();\n $('.modal-signup-page.page-2').hide();\n $('.modal-signup-page.page-1').fadeIn(200);\n });\n $('#signup-form.multi-page .page-1 input').on('change, keyup', (e) => {\n if ($('#signup-form').parsley().isValid({group: 'page-1'})) {\n $('.js-register-form-continue').removeClass('e-button--disabled');\n } else {\n $('.js-register-form-continue').add('e-button--disabled');\n }\n });\n\n // handle login/register when account page or cart\n let loginRedirect = null;\n $(document).on('click', '.js-user-account', (e) => {\n e.preventDefault();\n\n window.loginRedirect = e.currentTarget.getAttribute('href');\n if (\n window.location.pathname !== '/my-account/login' &&\n window.location.pathname !== '/my-account/register'\n ) {\n if (Electro.DEBUG) {\n console.info('Open Modal');\n }\n\n // allow user to login/register\n MicroModal.show('modal-login', {\n closeTrigger: 'data-custom-close',\n });\n } else {\n const activeForm = document.querySelector('.tab-form.active');\n if (activeForm) {\n activeForm.querySelector('input:first-of-type').focus();\n }\n if (document.querySelector('.js-header-drawer').classList.contains('is-active')) {\n document.querySelector('.js-header-drawer').classList.remove('is-active');\n document.querySelector('.js-header-overlay').classList.remove('is-active');\n }\n }\n\n return false;\n });\n\n $(document).on('click', '#BVRRContainer .bv-submission-button', (e) => {\n e.preventDefault();\n e.stopPropagation();\n loginRedirect = `${window.location.origin + window.location.pathname}?reviewModal=1`;\n window.location = `/my-account/login?redirect_to=${loginRedirect}`;\n });\n } else if (window.KFD_Params.has('reviewModal')) {\n // show review modal if logged in and reviewModal query var present\n let refreshIntervalId = null;\n refreshIntervalId = setInterval(() => {\n if (typeof $BV !== 'undefined') {\n clearInterval(refreshIntervalId);\n setTimeout(() => {\n $('#BVRRContainer .bv-submission-button').trigger('click');\n }, 500);\n }\n }, 500);\n }\n }\n\n loginRedirect() {\n /**\n * Redirect users after successful login, to the redirect_to destination, or the current page\n */\n $(document).on('cloroxPreferenceCenterLogin cloroxPreferenceCenterRegister', (e) => {\n const loginRedirect = window.KFD_Params.has('redirect_to') ? window.KFD_Params.get('redirect_to') : null;\n const bveventId = window.KFD_Params.has('bveventid') ? window.KFD_Params.get('bveventid') : null;\n if (loginRedirect) {\n document.location = loginRedirect;\n } else if (window.loginRedirect) {\n document.location = window.loginRedirect;\n } else if (bveventId && document.referrer) {\n // Redirect to the referrer page if the user is coming from a review modal\n document.location = `${document.referrer}?bveventid=${bveventId}`;\n } else {\n document.location.reload();\n }\n });\n\n }\n\n gatedRecipes() {\n const {pathname} = window.location;\n const pathContains = (p) => window.location.pathname.indexOf(p) === 0;\n\n if (pathContains('/recipes/') && pathname !== '/recipes/') {\n const gatedContent = new GatedContent();\n gatedContent.init();\n }\n }\n\n setupShowPasswords() {\n const showPasswords = document.body.querySelectorAll('.show-password');\n\n if (showPasswords.length) {\n showPasswords.forEach((showPassword) => {\n showPassword.addEventListener('click', (e) => {\n e.preventDefault();\n\n const pwField = e.currentTarget.parentNode.querySelector('input');\n e.currentTarget.classList.toggle('is-active');\n\n if (pwField.type === 'password') {\n pwField.type = 'text';\n } else {\n pwField.type = 'password';\n }\n });\n });\n }\n }\n\n responsiveIframes() {\n const {pathname} = window.location;\n const pathContains = (p) => window.location.pathname.indexOf(p) === 0;\n\n if (pathContains('/fireitup/')) {\n const url = document.getElementById('hw-iframe').getAttribute('data-url');\n const pymParent = new pym.Parent('hw-iframe', url, {});\n }\n }\n\n init() {\n window.KingsfordHeader = new KingsfordHeader();\n window.KingsfordFooter = new KingsfordFooter();\n window.KFD_Social = new Social();\n window.KFD_Params = new URLSearchParams(window.location.search);\n window.KFD_Scroll = new Scroll();\n new Optimize();\n this.loadModal();\n this.loginRedirect();\n this.responsiveIframes();\n new HeaderMenuItems();\n new LazyLoad();\n new HomePage();\n\n if ($('.module-video').length) {\n new ImageOverVideo();\n }\n\n if (document.querySelector('.b-faqs')) {\n const faqPanel = new FAQPanel();\n faqPanel.init();\n }\n\n const pathContains = (p) => window.location.pathname.indexOf(p) === 0;\n if (pathContains('/my-account/')) {\n window.RegisterLogin = new RegisterLogin();\n }\n this.gatedRecipes();\n\n document.querySelectorAll('.read-more-container').forEach((el) => {\n const content = el.querySelector('.read-more-content');\n const toggle = el.querySelector('.read-more-toggle');\n\n if (el.offsetHeight > 150) {\n content.classList.add('mobile-collapsed');\n } else {\n toggle.remove();\n return;\n }\n\n toggle.addEventListener('click', (event) => {\n event.preventDefault();\n if (!toggle.classList.contains('open')) {\n content.classList.remove('mobile-collapsed');\n toggle.classList.add('open');\n } else {\n content.classList.add('mobile-collapsed');\n toggle.classList.remove('open');\n }\n });\n });\n\n this.setupShowPasswords();\n\n document.getElementById('do-not-share').addEventListener('click', (e) => {\n if(typeof OneTrust !== 'undefined') {\n OneTrust.ToggleInfoDisplay();\n }\n });\n\n // Share functions\n document.querySelectorAll('.facebook-share').forEach((el) => {\n el.addEventListener('click', (e) => {\n e.preventDefault();\n window.KFD_Social.newWindow('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(document.URL) + '"e=' + encodeURIComponent(document.URL));\n return false;\n });\n });\n document.querySelectorAll('.twitter-share').forEach((el) => {\n el.addEventListener('click', (e) => {\n e.preventDefault();\n window.KFD_Social.newWindow('https://twitter.com/intent/tweet?text=' + encodeURIComponent(document.title) + ':%20' + encodeURIComponent(document.URL));\n return false;\n });\n });\n document.querySelectorAll('.pinterest-share').forEach((el) => {\n el.addEventListener('click', (e) => {\n e.preventDefault();\n const thumbnail = el.getAttribute('data-thumbnail');\n window.KFD_Social.newWindow('http://pinterest.com/pin/create/button/?url=' + encodeURIComponent(document.URL) + '&media=' + thumbnail + '&description=' + encodeURIComponent(document.title) );\n return false;\n });\n });\n\n // registration form submit handler to google recaptcha v3 suport\n // recaptcha adds g-recaptcha-response to form data, but we must submit form on callback\n window.onPCRegisterSubmit = (token) => {\n $('form.register.ajax-form').submit();\n }\n }\n}\n\nfunction closeModal(id) {\n MicroModal.close(id);\n}\n\nwindow.closeModal = closeModal.bind();\n\nexport default App;\n","/*\nreplaceCTAPanelData('cta-panel--default', {\n image_url: 'https://www.kingsford.com/wp-content/uploads/2022/01/KFD_PtP22_siteTile_TheGuys_raw.png',\n title: 'title',\n subtitle: 'subtitle',\n cta_link: 'https://google.com/',\n cta_text: 'cta text',\n cta_variant: 'primary',\n});\n*/\n\nimport {buttonFilledSvg, buttonOutlineSvg} from \"../app\";\n\nfunction replaceCTAPanelData(id, data) {\n try {\n const section = document.getElementById(id);\n setBackgroundImage(section, data.image_url);\n setTitle(section, data.title);\n setSubtitle(section, data.subtitle);\n setCTA(section, {\n ctaLink: data.cta_link,\n ctaText: data.cta_text,\n // TODO: Enable the variant to be set from the data, when it is implemented in the cms\n // ctaVariant: data.cta_variant,\n ctaVariant: 'white',\n });\n } catch (error) {\n console.error(error);\n }\n}\n\nconst setBackgroundImage = (section, value) => {\n const element = section.querySelector('.e-background-image');\n element.src = value;\n};\n\nconst setTitle = (section, value) => {\n const element = section.querySelector('.b-cta-panel__info-wrapper__title');\n element.innerHTML = value;\n};\n\nconst setSubtitle = (section, value) => {\n const element = section.querySelector('.b-cta-panel__info-wrapper__subtitle');\n element.innerHTML = value;\n};\n\nconst setCTA = (section, value) => {\n const element = section.querySelector('.b-cta-panel__button-wrapper');\n element.innerHTML = `\n \n ${buttonOutlineSvg}\n ${buttonFilledSvg}\n ${value.ctaText}\n \n `;\n};\n\nwindow.replaceCTAPanelData = replaceCTAPanelData;\n","import MicroModal from 'micromodal';\n\nexport class SMS {\n static isUserLoggedIn() {\n return CLWP_PC_GLOBAL.isLoggedIn;\n }\n\n static isUserOptedIn() {\n return Electro.SMSOptedIn;\n }\n\n static userHasPhoneMobile() {\n return Electro.HasPhoneMobile;\n }\n\n /**\n * This triggers a modal on any page.\n *\n * This can be used on the homepage popups, and on the recipe detail page.\n *\n * This does not run conditionals on should or should not trigger the modal. The conditionals should be run before calling this method.\n */\n static triggerModal() {\n sessionStorage.setItem('seenAttentiveForm', '1');\n\n let type = 'new_user_sms_opt_in';\n if ( document.getElementById('single-recipe') ) {\n type = 'recipe_sms_opt_in';\n } else if ( SMS.isUserLoggedIn() ) {\n type = 'existing_user_sms_opt_in';\n }\n\n // Show the modal\n MicroModal.show(`modal-${type}`, {\n closeTrigger: 'data-custom-close',\n });\n }\n\n static setSMSModalTimer() {\n setTimeout(() => {\n SMS.triggerModal();\n }, 10000);\n }\n}\n","import {SMS} from \"../controllers/SMS\";\n\nexport default class HomePage {\n static instance = null;\n\n static getInstance() {\n if (HomePage.instance === null) {\n HomePage.instance = new HomePage();\n }\n return HomePage.instance;\n }\n\n init() {\n if(Electro.DEBUG) {\n console.log('HomePage.init');\n }\n if (!sessionStorage.seenAttentiveForm && !SMS.isUserOptedIn()) {\n SMS.setSMSModalTimer();\n } else {\n if(Electro.DEBUG) {\n console.log('User has already seen the form');\n }\n }\n\n // Submit new user form\n const newUserForm = document.querySelector('.new-user-form');\n if (newUserForm) {\n $(newUserForm).parsley();\n newUserForm.addEventListener('submit', async (e) => {\n e.preventDefault();\n // Disable the submit button\n newUserForm.querySelector('button[type=\"submit\"]').disabled = true;\n await this.submitNewUserForm(e);\n\n // Enable back the submit button\n newUserForm.querySelector('button[type=\"submit\"]').disabled = false;\n });\n }\n\n document.querySelectorAll('.sms-opt-in-form').forEach(form => {\n $(form).parsley();\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n this.submitOptInForm(e);\n });\n });\n }\n\n async submitNewUserForm(e) {\n const form = e.target;\n\n if (!$(form).parsley().isValid) {\n console.log('Form is not valid.');\n return;\n }\n\n const formData = new FormData(e.target);\n const formValues = {};\n\n // Iterate through the FormData entries\n for (const [name, value] of formData.entries()) {\n formValues[name] = value;\n }\n\n fetch('/wp-json/clorox-preference-center/v1/newsletter/', {\n method: 'POST',\n headers: {\n credentials: 'same-origin',\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(formValues),\n })\n .then((result) => result.json())\n .then((json) => {\n if (Electro.DEBUG) {\n console.info(json);\n }\n if (json.status === 0) {\n // Success\n this.displayConfirmation(form);\n } else {\n if (Electro.DEBUG) {\n console.error('Error:', json);\n }\n form.querySelector('.error-message').textContent = json.message;\n form.querySelector('.error-message').classList.remove('hidden');\n }\n });\n\n }\n\n async submitOptInForm(e) {\n const form = e.target;\n\n if (!$(form).parsley().isValid) {\n console.log('Form is not valid.');\n return;\n }\n\n // Check the user data, to update the globals first.\n await this.checkUserData();\n\n // Send a fetch request\n const formData = new FormData(e.target);\n const formValues = {};\n\n // Iterate through the FormData entries\n for (const [name, value] of formData.entries()) {\n formValues[name] = value;\n }\n\n // Is this a recipe form?\n if (form.querySelector('input[name=\"recipe_id\"]')) {\n formValues.recipe = form.querySelector('input[name=\"recipe_id\"]').value;\n }\n\n fetch('/wp-json/electro/v1/sms/optInUser/', {\n method: 'POST',\n headers: {\n credentials: 'same-origin',\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(formValues),\n })\n .then(response => response.json())\n .then(data => {\n if (data.status === 0) {\n if (Electro.DEBUG) {\n console.log('Success:', data);\n }\n this.displayConfirmation(form);\n } else {\n if (Electro.DEBUG) {\n console.error('Error:', data);\n }\n form.querySelector('.error-message').textContent = data.message;\n form.querySelector('.error-message').classList.remove('hidden');\n }\n });\n }\n\n\n /**\n * This checks the user's SMS opt-in status, against the SMS API.\n *\n * This only runs if the optin status is false.\n */\n checkUserData() {\n // Run conditionals\n if (!SMS.isUserOptedIn()) {\n // Wait for the response, then update the globals for the user\n return new Promise((resolve, reject) => {\n const request = fetch('/wp-json/electro/v1/sms/getUserData/', {\n method: 'GET',\n headers: {\n credentials: 'same-origin',\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'X-WP-Nonce': Electro.wp_rest_nonce,\n },\n });\n request.then(response => response.json())\n .then(data => {\n if (data.status !== 0) {\n reject(data.message);\n }\n if (Electro.DEBUG) {\n console.log('Success:', data);\n }\n // Update the globals\n Electro.SMSOptedIn = data.optedIn === 1;\n Electro.HasPhoneMobile = data.phoneMobile !== '';\n resolve(data);\n }).catch(error => {\n if (Electro.DEBUG) {\n console.error('Error:', error);\n }\n reject(error);\n });\n\n });\n }\n\n // Resolve with no data\n return Promise.resolve();\n }\n\n displayConfirmation(form) {\n if (Electro.DEBUG) {\n console.info('SmsOptIn.displayConfirmation');\n }\n const container = form.closest('.content-container');\n container.querySelector('.form-container').classList.add('hidden');\n container.querySelector('.form-container').remove();\n container.querySelector('.confirmation').classList.remove('hidden');\n }\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n // If not home page, return\n const isHomePage = document.querySelector('body').classList.contains('home');\n if(!isHomePage) return;\n\n // If the instance already exists, then return\n if(window.Electro.homePage) return;\n\n // Create the instance and initialize\n window.Electro.homePage = HomePage.getInstance();\n window.Electro.homePage.init();\n});\n\n","module.exports = jQuery;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 750;","__webpack_require__.p = \"/wp-content/themes/electro/js/build/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t390: 0,\n\t750: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkelectro\"] = self[\"webpackChunkelectro\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [121], () => (__webpack_require__(5180)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","Sentry","dsn","Electro","integrations","environment","release","themeVersion","sampleRate","maxBreadcrumbs","attachStacktrace","tracesSampleRate","tracePropagationTargets","WEBROOT","replaysSessionSampleRate","replaysOnErrorSampleRate","window","closeModal","id","MicroModal","close","bind","replaceCTAPanelData","data","section","document","getElementById","value","querySelector","src","setBackgroundImage","image_url","innerHTML","setTitle","title","setSubtitle","subtitle","concat","ctaVariant","ctaLink","ctaText","setCTA","cta_link","cta_text","error","console","SMS","_classCallCheck","key","CLWP_PC_GLOBAL","isLoggedIn","SMSOptedIn","HasPhoneMobile","sessionStorage","setItem","type","isUserLoggedIn","show","closeTrigger","setTimeout","triggerModal","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_defineProperties","_toPropertyKey","toPrimitive","String","_toPrimitive","HomePage","_this","DEBUG","log","seenAttentiveForm","isUserOptedIn","setSMSModalTimer","newUserForm","$","parsley","addEventListener","_ref","_callee","_context","preventDefault","disabled","submitNewUserForm","_x","querySelectorAll","form","submitOptInForm","_submitNewUserForm","_callee2","formData","formValues","_iterator","_step","_step$value","_this2","_context2","target","isValid","FormData","_createForOfIteratorHelper","entries","_slicedToArray","err","fetch","headers","credentials","Accept","body","JSON","stringify","result","json","info","status","displayConfirmation","textContent","message","classList","remove","_x2","_submitOptInForm","_callee3","_iterator2","_step2","_step2$value","_this3","_context3","this","checkUserData","recipe","response","_x3","reject","wp_rest_nonce","optedIn","phoneMobile","container","closest","add","instance","contains","homePage","getInstance","init","module","exports","jQuery","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","m","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","getter","__esModule","definition","get","globalThis","Function","obj","prop","b","baseURI","self","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","nc","__webpack_exports__"],"sourceRoot":""}