{ "version": 3, "sources": ["../components/cacheForm.js", "../pages/partners_signup.js"], "sourcesContent": ["(function ( $ ) {\n var elements = 'input[type=\"text\"], input[type=\"tel\"], input[type=\"radio\"], input[type=\"checkbox\"], select, textarea';\n $.fn.FormCache = function(conf) {\n if (conf && conf.elements) elements = conf.elements;\n function getData(key) {\n var data;\n if(typeof(Storage)!==\"undefined\"){\n if(localStorage[key]) {\n data = JSON.parse(localStorage[key]);\n }\n \n if(!data) {\n localStorage[key] = JSON.stringify({});\n data = JSON.parse(localStorage[key]);\n }\n } else {\n if (!document[key]) {\n document[key] = {};\n } \n\n data = document[key];\n }\n\n return data;\n }\n\n function storeData(key, data) {\n if(typeof(Storage)!==\"undefined\"){\n localStorage[key] = JSON.stringify(data);\n } else {\n document[key] = data;\n }\n }\n\n function onChange(event) {\n var input = $(event.target);\n var key = input.parents('form:first').attr('id');\n var data = JSON.parse(localStorage[key]);\n \n if(input.attr('type') == 'radio' || input.attr('type') == 'checkbox') {\n data[input.attr('id')] = input.is(':checked');\n }else {\n data[input.attr('name')] = input.val();\n }\n \n storeData(key, data);\n }\n \n return this.each(function() { \n var element = $(this);\n \n var key = element.attr('id');\n var data = getData(key);\n \n element.find(elements).change(onChange);\n element.find(elements).each(function(){\n \n var input = $(this);\n var value = data[input.attr('name')];\n if(input.attr('type') == 'radio' || input.attr('type') == 'checkbox') {\n value = data[input.attr('id')];\n if(value) {\n input.prop('checked', true);\n } else {\n input.removeAttr('checked');\n }\n } else {\n input.val(value);\n }\n\n // call change to make sure hs registers change\n if (value) input.change();\n \n });\n });\n }; \n}( jQuery ))", "import \"../components/cacheForm.js\";\n\n$(document).ready(function() {\n const toggleLoading = function() {\n $('body').toggleClass('is-loading');\n }\n\n // HS - Mapping\n const languageMap = {\n DE: 'German',\n EN: 'English',\n FR: 'French',\n IT: 'Italian',\n SP: 'Spanish',\n DU: 'Dutch',\n GR: 'Greek',\n RU: 'Russian',\n PR: 'Portuguese',\n TR: 'Turkish'\n }\n\n const mapLanguage = function(language) {\n var defaultLang = language.split('/')[0].trim();\n return languageMap[defaultLang.toUpperCase()] ? languageMap[defaultLang.toUpperCase()] : null;\n }\n\n // if job position is provided via query param, its preselected here\n const initializePreselectedValues = function($form) {\n if (document.preselected.language) {\n const hsLanguage = mapLanguage(document.preselected.language);\n\n if (hsLanguage && hsLanguage !== document.preselected.language) {\n $('input[name=\"language\"]').val(hsLanguage).change();\n }\n }\n }\n\n const renderProgress = function(index) {\n for (let i = 0; i <= index; i++) {\n $(`.step-${i}`).addClass('active');\n }\n $('[id^=hs-form-iframe]:not(:last)').hide()\n }\n\n const renderPrevButton = function($form, prevIndex) {\n const elActions = $form.find('.hs-submit .actions');\n const nextButton = $form.find('.hs-submit .actions .hs-button.primary');\n const markup = 'BACK';\n elActions.prepend(markup)\n elActions.addClass('flex-column flex-md-row-reverse justify-content-md-between')\n elActions[0].style.justifyContent = 'space-between'\n elActions[0].style.display = 'flex'\n nextButton[0].style.minWidth = '150px'\n }\n\n // injects email in hidden fields on subsequent forms\n const injectEmail = function() {\n if (document.formData && document.formData.email && document.formData.email.length > 0) {\n // wait a bit to make sure to overwrite all other auto fill settings\n setTimeout(function() {\n $('input[name=\"email\"]').val(document.formData.email).change();\n }, 500);\n\n }\n }\n\n const cacheForm = function($form, index) {\n const conf = {};\n if (index === 0) {\n conf.elements = 'input[type=\"email\"], input[type=\"text\"], input[type=\"tel\"], input[type=\"radio\"], input[type=\"checkbox\"], select, textarea';\n }\n\n $form.FormCache(conf);\n }\n\n const cleanUp = function() {\n if(typeof(Storage)!==\"undefined\"){\n localStorage.clear();\n }\n }\n\n const createHSForm = function(index) {\n // create form\n hbspt.forms.create({\n portalId: document.portalId,\n formId: document.formIds[index],\n target: document.targetId,\n region: \"eu1\",\n\n onFormReady: function($form) {\n if (!document.formData) document.formData = {};\n // Hide default submit button\n $(\"#hs-form-iframe-0\").find(\".hs_submit\").hide();\n \n // limit amount of chars in message field\n $('input[name=\"website\"]').attr('maxlength','255').change();\n $('input[name=\"company\"]').attr('maxlength','255').change();\n $('input[name=\"lastname\"]').attr('maxlength','255').change();\n $('input[name=\"jobtitle\"]').attr('maxlength','255').change();\n $('input[name=\"firstname\"]').attr('maxlength','255').change();\n $('textarea[name=\"message\"]').attr('maxlength','255').change();\n\n renderProgress(index);\n\n // populate email field (hidden in all but first form)\n injectEmail($form);\n\n // inject previous button\n if (index > 0) {\n const prevIndex = index - 1;\n renderPrevButton($form, prevIndex);\n\n // register event handler for prev button\n $form.on('click', '[data-previous]', function(evt) {\n toggleLoading();\n $(`#hs-form-iframe-${index}`).hide();\n createHSForm($(evt.currentTarget).data('previous'));\n });\n } else {\n initializePreselectedValues($form);\n }\n\n cacheForm($form, index);\n toggleLoading();\n },\n onFormSubmit: function($form) {\n toggleLoading();\n if (typeof gtag !== 'undefined') {\n gtag('event', 'conversion', {'send_to': 'AW-874316721/jLmiCLuOqGoQsYf0oAM'});\n gtag('event', 'form.submit', {});\n }\n\n // store email address to populate fields in subsequent forms\n // this makes sure tracking works in any case\n if (index === 0) {\n const email = $form.find('input[name=\"email\"]').val();\n document.formData.email = email;\n }\n },\n onFormSubmitted: function($form) {\n if (index < document.formIds.length - 1) {\n index ++;\n createHSForm(index);\n } else {\n // clean up\n cleanUp();\n $('body').removeClass('is-loading');\n $(`.step-${document.formIds.length}`).addClass('active');\n $('#paginator-container').css('margin-top', '65vh');\n }\n }\n });\n }\n\n // FLOW\n var index = 0;\n toggleLoading();\n $(document).ready(function(){\n createHSForm(index);\n });\n});\n"], "mappings": "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", "names": [] }