{"version":3,"file":"components/chunks/chunk-num-17.e4f4dce5140b657d8b61.js","mappings":"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","sources":["webpack://bernafon/./js/feature/forms/embed-form.js"],"sourcesContent":["import { trackFormSubmit, trackHCLFormSubmit } from \"../../gtm-tracking\";\n\n/* eslint-disable no-unused-expressions */\nvar clickDimensionExternalForm = {\n className: '.clickdform .responsiveRow',\n init: function init() {\n this.handleLayout();\n this.handleCustomValidation();\n },\n handleLayout: function handleLayout() {\n document.querySelectorAll(this.className).forEach(function (item) {\n var isText = item.contains(item.querySelector('input[type=\"text\"]'));\n var isSelect = item.contains(item.querySelector('select'));\n var isTextarea = item.contains(item.querySelector('textarea'));\n var columns = item.querySelectorAll('.responsiveCell:not(.emptyCell)').length || 0;\n var isRadio = item.contains(item.querySelector('input[type=\"radio\"]'));\n if (isText) {\n item.classList.add('text-row');\n }\n if (isSelect) {\n item.classList.add('select-row');\n }\n if (isTextarea) {\n item.classList.add('textarea-row');\n }\n if (columns) {\n item.classList.add(\"columns-\".concat(columns));\n }\n if (isRadio) {\n item.classList.add('radio-row');\n }\n item.querySelectorAll('input[type=\"text\"], select').forEach(function (el) {\n var parentElement = el.parentNode;\n var labelSpan = item.querySelector('.responsiveCell > div span');\n el.tagName === 'SELECT' ? parentElement.classList.add('select-wrapper') : parentElement.classList.add('input-wrapper');\n var label = document.createElement('label');\n label.innerHTML = labelSpan.innerText;\n labelSpan.parentNode.parentNode.removeChild(labelSpan.parentNode);\n parentElement.replaceChild(label, el.previousSibling);\n label.setAttribute('for', el.id);\n el.addEventListener('focus', function () {\n label.classList.add('focused-label');\n });\n el.addEventListener('blur', function () {\n if (el.value === '') {\n label.classList.remove('focused-label');\n }\n });\n });\n });\n document.querySelectorAll(\"\".concat(this.className, \" input[type=\\\"checkbox\\\"]\")).forEach(function (item) {\n var parentElement = item.parentNode;\n parentElement.classList.add('checkbox-wrapper');\n var label = document.createElement('label');\n label.innerHTML = item.nextElementSibling.innerText;\n parentElement.replaceChild(label, item.nextElementSibling);\n label.setAttribute('for', item.id);\n });\n document.querySelectorAll(\"\".concat(this.className, \" a[href^=\\\"#\\\"]\")).forEach(function (item) {\n item.addEventListener('click', function (e) {\n e.preventDefault();\n var targetID = item.getAttribute('href').substring(1);\n var target = document.getElementById(targetID);\n var correction = document.getElementById('header').offsetHeight + 28;\n target.scrollIntoView();\n window.scrollBy(0, -correction);\n });\n });\n },\n // rpa form\n handleCustomValidation: function handleCustomValidation() {\n var inputs = document.querySelectorAll('.clickdform .responsiveRow input[type=\"text\"], .clickdform .responsiveRow input[type=\"checkbox\"], .clickdform .responsiveRow select');\n var submitBtn = document.getElementById('btnSubmit');\n function checkIfRequired(item) {\n return item.getAttribute('aria-required') === 'true';\n }\n function validate(item) {\n var emailRe = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n var conditionsForInvalid = {\n textinput: item.getAttribute('type') === 'text' && checkIfRequired(item) && item.value.length < 1,\n email: item.classList.contains('EmailComponent') && !emailRe.test(item.value),\n select: checkIfRequired(item) && item.value < 0,\n checkbox: item.getAttribute('type') === 'checkbox' && !item.checked && checkIfRequired(item)\n };\n var isInvalid = Object.values(conditionsForInvalid).includes(true);\n var container = item.parentElement.parentElement.parentElement;\n if (isInvalid) {\n var validationText = container.querySelector('[requrederrormsg]').getAttribute('requrederrormsg');\n var validationContainer = container.querySelector('.requiredInfo');\n validationContainer.innerText = validationText;\n container.classList.add('error');\n } else {\n container.classList.remove('error');\n }\n }\n function handleInputsOnBlur() {\n inputs.forEach(function (item) {\n item.addEventListener('blur', function () {\n validate(item);\n });\n });\n }\n function scrollToFirstError() {\n var error = document.querySelectorAll('.clickdform .error')[0];\n error.scrollIntoView();\n window.scrollBy(0, -60);\n }\n function addTracking() {\n var clinicName = new URLSearchParams(window.location.search).get(\"place\");\n var postalCode = window.location.href.split(\"/\").pop().split(\"?\").shift();\n if (clinicName && postalCode) {\n trackHCLFormSubmit(\"\".concat(clinicName, \" - \").concat(postalCode));\n } else {\n trackFormSubmit(window.location.pathname);\n }\n }\n function handleOnSubmit() {\n inputs.forEach(function (item) {\n validate(item);\n });\n var isFormValid = document.querySelectorAll('.clickdform .error').length < 1;\n if (isFormValid) {\n submitBtn.click();\n addTracking();\n } else {\n scrollToFirstError();\n }\n }\n function handleSubmitButton() {\n if (submitBtn) {\n var newElement = submitBtn.cloneNode(true);\n newElement.setAttribute('onclick', null);\n newElement.classList.add('fake-button');\n newElement.id = 'fakeBtnSubmit';\n submitBtn.parentElement.appendChild(newElement);\n submitBtn.style.display = 'none';\n document.querySelector('.buttonContainer .fake-button').addEventListener('click', handleOnSubmit, false);\n }\n }\n handleInputsOnBlur();\n handleSubmitButton();\n }\n};\nwindow.onload = function onLoad() {\n clickDimensionExternalForm.init();\n};"],"names":["clickDimensionExternalForm","className","init","this","handleLayout","handleCustomValidation","document","querySelectorAll","forEach","item","isText","contains","querySelector","isSelect","isTextarea","columns","length","isRadio","classList","add","concat","el","parentElement","parentNode","labelSpan","tagName","label","createElement","innerHTML","innerText","removeChild","replaceChild","previousSibling","setAttribute","id","addEventListener","value","remove","nextElementSibling","e","preventDefault","targetID","getAttribute","substring","target","getElementById","correction","offsetHeight","scrollIntoView","window","scrollBy","inputs","submitBtn","checkIfRequired","validate","conditionsForInvalid","textinput","email","test","select","checkbox","checked","isInvalid","Object","values","includes","container","validationText","handleOnSubmit","clinicName","postalCode","click","URLSearchParams","location","search","get","href","split","pop","shift","trackHCLFormSubmit","trackFormSubmit","pathname","newElement","cloneNode","appendChild","style","display","handleSubmitButton","onload"],"sourceRoot":""}