{"version":3,"sources":["webpack:///./app/javascript/packs/blogs.js","webpack:///./app/javascript/channels/index.js","webpack:///./app/javascript/channels sync _channel\\.js$","webpack:///./app/javascript/common/src/navigation.js","webpack:///./app/javascript/common/src/form-abandonment.js","webpack:///./app/javascript/blogs/src/index.js","webpack:///./app/javascript/common/src/new-search.js","webpack:///./app/javascript/common/images/footer-banner.png","webpack:///./app/javascript/common/images/logos/logo.png","webpack:///./app/javascript/common/images/logos/logo-white.png","webpack:///./app/javascript/common/images/logos/logo-brand.svg","webpack:///./app/javascript/common/images/logos/logo-brand-small.svg","webpack:///./app/javascript/common/images/logos/logo-inline.svg","webpack:///./app/javascript/common/images/logos/footer-logo-brand.svg","webpack:///./app/javascript/common/images/logout.svg","webpack:///./app/javascript/common/images/settings.svg","webpack:///./app/javascript/common/images/menu.svg","webpack:///./app/javascript/common/images/close-menu.svg","webpack:///./app/javascript/common/src/form-validation.js","webpack:///./app/javascript/common/src/index.js","webpack:///./app/javascript/common/src/recaptcha.js"],"names":["channels","require","keys","forEach","webpackEmptyContext","req","e","Error","code","resolve","module","exports","id","$","$nav","$navbarToggler","find","$closeButton","$overlay","$footer","on","this","css","show","hide","$videoModal","$video","resetVideoSrc","attr","document","nav","window","scrollTop","addClass","removeClass","$buyMoreNav","userId","localStorage","getItem","each","location","href","$logoutButton","removeItem","querySelectorAll","addEventListener","dataLayer","Object","history","filter","name","isFormSubmitEvent","map","getFormName","indexOf","findFormFromHistory","notEmpty","it","gtag","join","target","tagName","toUpperCase","inputName","getAttribute","form","formName","slice","push","event","length","Turbo","session","drive","URLSearchParams","search","has","submit","setTimeout","modal","$verifyEmailModal","getElementById","$user_id","setItem","isFocusParam","get","focus","value","forms","Array","prototype","call","submitButton","querySelector","checkValidity","disabled","preventDefault","stopPropagation","classList","add","Rails","start","ActiveStorage","install","a","recaptchaInput","first","matches","match","actionName","split","word","charAt","toLowerCase","functionName","response","formData","FormData","fetch","action","method","body","headers","console","error"],"mappings":"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","file":"js/blogs-92c1c311830fc0342291.chunk.js","sourcesContent":["import 'common'\n\nimport 'blogs/src'\nimport 'blogs/styles'","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context('.', true, /_channel\\.js$/)\nchannels.keys().forEach(channels)\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 14;","$(function() {\n const $nav = $('nav#header');\n const $navbarToggler = $nav.find('button.navbar-toggler');\n const $closeButton = $nav.find('a.close-button');\n const $overlay = $nav.find('.overlay');\n const $footer = $('#footer');\n\n $navbarToggler.on('click', function() {\n $(this).css('display', 'none');\n $closeButton.show();\n $overlay.css(\"width\", \"100%\");\n $footer.hide();\n });\n \n $closeButton.on('click', function() {\n $(this).css('display', 'none');\n $navbarToggler.show();\n $overlay.css(\"width\", \"0%\");\n $footer.show();\n });\n})\n\n$(function() {\n const $videoModal = $('#videoModal');\n const $video = $videoModal.find('iframe');\n const $closeButton = $videoModal.find('.btn-close');\n\n function resetVideoSrc() {\n $video.attr('src', $video.attr('src'));\n }\n\n $videoModal.on('hidden.bs.modal', resetVideoSrc);\n\n $closeButton.on('click', resetVideoSrc);\n});\n\n$(document).on('scroll', function() {\n const nav = $('#header');\n const scroll = $(window).scrollTop();\n if (scroll > 0) {\n nav.addClass('navbar__shadow');\n } else {\n nav.removeClass('navbar__shadow');\n }\n});\n\n\n$(function() {\n const $buyMoreNav = $('.buy-more-nav');\n const userId = localStorage.getItem('user_id');\n\n $buyMoreNav.each(function() {\n $(this).on('click', function() {\n if (userId) {\n window.location.href = `/plan/new?user_id=${userId}`;\n } else {\n window.location.href = '/plan/new'\n }\n })\n })\n})\n\n$(function() {\n const $logoutButton = $('.logout-button');\n if ($logoutButton) {\n $logoutButton.on('click', function() {\n localStorage.removeItem('user_id');\n })\n }\n})\n","(function() {\n if (typeof document.querySelectorAll === \"undefined\") {\n return\n }\n window.addEventListener('beforeunload', function(e) {\n findUnsubmittedForms().forEach(function(it) {\n gtag('event', 'form_abandoned', {\n 'event_category': 'Form Abandoned',\n 'event_action': it.history.join(\" > \")\n });\n })\n })\n\n var history = {}\n\n window.addEventListener(\"load\", function() {\n document.addEventListener(\"change\", function(e) {\n var target = e.target\n if (target && target.tagName && (target.tagName.toUpperCase() == \"INPUT\" || target.tagName.toUpperCase() == \"TEXTAREA\" || target.tagName.toUpperCase() == \"SELECT\")) {\n var inputName = target.getAttribute(\"name\")\n var form = target.form\n if (form && inputName) {\n var formName = form.getAttribute(\"name\")\n if (typeof history[formName] == \"undefined\") {\n history[formName] = []\n }\n if (history[formName].slice(-1) != inputName) {\n history[formName].push(inputName)\n }\n }\n }\n })\n })\n\n function findUnsubmittedForms() {\n return Object.keys(history).filter(hasNoFormSubmitEvent(window.dataLayer)).map(findFormFromHistory).filter(notEmpty)\n }\n\n function hasNoFormSubmitEvent(dataLayer) {\n return function(name) {\n return dataLayer.filter(isFormSubmitEvent).map(getFormName).indexOf(name) == -1\n }\n }\n\n function isFormSubmitEvent(e) {\n return e.event === 'gtm.formSubmit'\n }\n\n function getFormName(e) {\n return e['gtm.element'].name\n }\n\n function findFormFromHistory(name) {\n return {\n name: name,\n history: (history[name] || [])\n }\n }\n\n function notEmpty(form) {\n return form.history.length > 0\n }\n\n})()","import \"@hotwired/turbo-rails\"\nimport '../../common/src/recaptcha'\nimport 'common/src/form-validation'\nTurbo.session.drive = false\n\n\n$(function() {\n var urlParams = new URLSearchParams(window.location.search);\n\n if(urlParams.has('resubmit')) {\n $('#check-brand-form').submit();\n }\n});\n\n$(document).on(\"turbo:submit-end \", function () {\n setTimeout(() => {\n $(\"#check-mail-modal\").modal(\"show\");\n const $verifyEmailModal = document.getElementById('check-mail-modal'); \n if (!$verifyEmailModal) return;\n \n \n const $user_id = $verifyEmailModal.getAttribute('data-user-id');\n if (!$user_id) return;\n \n localStorage.setItem('user_id', $user_id);\n }, 1000);\n setTimeout(() => {\n $(\"#end-trial-modal\").modal(\"show\");\n }, 1000);\n setTimeout(() => {\n $(\"#thank-request-modal\").modal(\"show\");\n }, 1000);\n});\n\n","$(function() {\n const urlParams = new URLSearchParams(window.location.search);\n const isFocusParam = urlParams.get('focus') === 'true';\n let newSearchInput = $('#user_sign_up_search_attributes_brand_name');\n\n if (isFocusParam) {\n $('#user_sign_up_search_attributes_brand_name').focus();\n $('#query').focus();\n $('#query')[0].value = '';\n }\n})\n","module.exports = __webpack_public_path__ + \"media/common/images/footer-banner-7f9e8708d5dd46a079f645f667282538.png\";","module.exports = __webpack_public_path__ + \"media/common/images/logos/logo-7407bd07870fc6cf877fbda1ee0c5ecc.png\";","module.exports = __webpack_public_path__ + \"media/common/images/logos/logo-white-1d7b63835ad4346286a4a950870978f2.png\";","module.exports = __webpack_public_path__ + \"media/common/images/logos/logo-brand-a03eed11dedfdecd56d9522fcd2a261d.svg\";","module.exports = __webpack_public_path__ + \"media/common/images/logos/logo-brand-small-a2b17252de47f15139912cfd60e34db9.svg\";","module.exports = __webpack_public_path__ + \"media/common/images/logos/logo-inline-52c34d64941296f7005230bbd1e0e0ab.svg\";","module.exports = __webpack_public_path__ + \"media/common/images/logos/footer-logo-brand-4e323de23f98b4ec9cabb5c30555f1b2.svg\";","module.exports = __webpack_public_path__ + \"media/common/images/logout-dfcd5f3d127f1819901ba1b21c8c12ac.svg\";","module.exports = __webpack_public_path__ + \"media/common/images/settings-970ea81511f023a1bd3b319a41d7219d.svg\";","module.exports = __webpack_public_path__ + \"media/common/images/menu-93b80f1f824f74ef92f3a2cdc0a9441b.svg\";","module.exports = __webpack_public_path__ + \"media/common/images/close-menu-482e656f31dcd8b4191130004e15f822.svg\";","// Fetch all the forms we want to apply custom Bootstrap validation styles to\nvar forms = document.querySelectorAll('.needs-validation')\n\n// Loop over them and prevent submission\nArray.prototype.slice.call(forms)\n .forEach(function (form) {\n form.addEventListener('submit', function (event) {\n let submitButton = form.querySelector('button[type=\"submit\"]');\n if (!form.checkValidity()) {\n event.preventDefault()\n event.stopPropagation()\n } else {\n submitButton.disabled = true;\n }\n \n form.classList.add('was-validated')\n }, false)\n })\n","import Rails from \"@rails/ujs\"\nimport * as ActiveStorage from \"@rails/activestorage\"\nimport \"channels\"\n\nRails.start()\nActiveStorage.start()\n\nimport gtag, { install } from 'ga-gtag';\ninstall('G-85NLX2C38E');\n\ngtag('config', 'G-85NLX2C38E');\ngtag('config', 'AW-10793116392');\n\nwindow.gtag = gtag;\n\nimport 'jquery'\nimport 'bootstrap'\n\nimport './navigation'\nimport './form-abandonment'\nimport './new-search'\n\nvar _ = require('lodash');\n","$(document).on('turbo:load', function() {\n const signupForms = $('form');\n\n signupForms.on('submit', async function(e) {\n e.preventDefault;\n const recaptchaInput = $(this).find('input[name*=\"g-recaptcha-response-data\"]').first();\n const matches = recaptchaInput.attr('name').match(/\\[([^\\]]+)\\]/);\n\n if (matches) {\n let actionName = matches[1];\n actionName = actionName.split('_').map(word => \n word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()\n ).join('');\n\n const functionName = `executeRecaptchaFor${actionName}Async`;\n\n if (typeof window[functionName] === 'function') {\n \n try {\n const response = await window[functionName]();\n recaptchaInput.value = response;\n \n const formData = new FormData(this);\n\n // Send the AJAX request\n const fetchResponse = await fetch(this.action, {\n method: this.method,\n body: formData,\n headers: {\n 'Accept': 'text/vnd.turbo-stream.html'\n }\n });\n } catch (error) {\n console.error(`Error calling ${functionName}:`, error);\n }\n } else {\n console.error(`Function ${functionName} is not defined.`);\n }\n }\n })\n})\n"],"sourceRoot":""}