{"version":3,"file":"chunks/ece02cf6fb8a90.js","mappings":"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","sources":["webpack:///./resources/js/common/streamHub.ts","webpack:///./resources/js/components/specific/contactsalesform.ts"],"sourcesContent":["import axios from 'axios';\nimport stgConfig from \"../../../config\";\nimport Environment from '../buyer-experience/common/environment';\n\nconst STAGING_ENDPOINT = `${window.location.hostname.indexOf('qa-wac') > -1 ? 'https://qa-wac.internal.atlassian.com' : stgConfig.stgWacInternalUrl}/endpoint`;\n\nconst BXP_EXPRESS_ENDPOINT = {\n [Environment.production()]: 'https://www.atlassian.com/endpoint',\n [Environment.staging()]: STAGING_ENDPOINT,\n [Environment.dev()]: STAGING_ENDPOINT,\n};\n\n/**\n * Submit a post request to bxp express /webinarsignup/updatestreamhub endpoint\n * this endpoint should take the email address and emit an event to streamhub\n * @param {*} userEmail\n */\n\nexport const postEmailToStreamHub = (userEmail: string) => {\n const environment = Environment.getEnvironment();\n return axios.post(`${BXP_EXPRESS_ENDPOINT[environment]}/webinarsignup/updatestreamhub`, {\n user_email: userEmail\n });\n};\n\nexport const postObjectToStreamhubContact = (obj, endpoint, responseHandler, errorHandler, state) => {\n console.log('endpoint', endpoint)\n const environment = Environment.getEnvironment();\n return axios.post(`${BXP_EXPRESS_ENDPOINT[environment]}/streamhub/${endpoint}`, obj)\n .then(\n (response) => {\n if (responseHandler) {\n new responseHandler(response, state);\n }\n },\n (error) => {\n if (errorHandler) {\n new errorHandler(error, state);\n }\n }\n );\n}","import {\n postObjectToStreamhubContact\n} from '../../common/streamHub';\nimport {\n ConsentHubClient as Client,\n ConsentHelper\n} from '../../common/ConsentHubV2';\nimport Environment from \"../../common/environment\";\n\nimport tracking from '../../utils/tracking';\n\nconst emailRegex = /@(gmail\\.|yahoo\\.|aol\\.|comcast\\.net|hotmail\\.|ymail\\.|msn\\.|mac\\.|sina\\.|freemail\\.|me\\.|icloud\\.|live\\.|gnail\\.|gmsil\\.|gmial\\.|gamil\\.|gail\\.)/;\nconst defaultEmailPattern = /([\\w\\.\\+\\-]+)@(\\[(\\d{1,3}\\.){3}|(([a-zA-Z\\d-]+\\.)+))([a-zA-Z]{2,15}|\\d{1,3})(\\]?)/;\nconst defaultBusinessEmailPattern = /([\\w\\.\\+\\-]+)@(\\[(\\d{1,3}\\.){3}|(?!(gmail\\.)|(yahoo\\.)|(aol\\.)|(comcast\\.net)|(hotmail\\.)|(ymail\\.)|(msn\\.)|(mac\\.)|(sina\\.)|(freemail\\.)|(me\\.)|(icloud\\.)|(live\\.)|(gnail\\.)|(gmsil\\.)|(gmial\\.)|(gamil\\.)|(gail\\.))(([a-zA-Z\\d-]+\\.)+))([a-zA-Z]{2,15}|\\d{1,3})(\\]?)/;\nlet isFormChecking = false;\nlet isKeying = false;\n\nexport default class ContactSalesForm {\n domRoot: HTMLElement;\n params: any;\n consentKey: any;\n privacyPolicyText: any;\n consentCheckboxText: any;\n consentConfigInfo: {};\n activeForm: HTMLFormElement;\n errorSubmit: any;\n ConsentHub: Client;\n consents: NodeListOf;\n consentCheckboxes: NodeListOf;\n errorMessages: any;\n referrers: any;\n referringURL: string;\n contactForms: HTMLFormElement[];\n availableFormTypes: any;\n availableFormTypeLabels: any;\n typeOfForm: any;\n urlParams: URLSearchParams;\n urlFormType: any;\n tabs: NodeListOf;\n fauxSelectors: NodeListOf;\n productServiceInputs: NodeListOf;\n textAreas: NodeListOf;\n numberInputs: NodeListOf;\n plainOptions: NodeListOf;\n productOrService: any;\n productOrServiceTogglers: NodeListOf;\n submitTo: any;\n formId: any;\n formDef: any;\n isIntercomTracking: boolean;\n isBusinessDomainOnly?: boolean;\n intercomAppId: any;\n postSubmission: any;\n redirect: any;\n form: any;\n mainFormContainer: any;\n postSubmitMessage: any;\n emailFields: NodeList;\n consentHelper: {};\n\n constructor(domRoot: HTMLElement, params: any) {\n this.domRoot = domRoot;\n this.params = params;\n this.consentKey = params.consentType;\n this.privacyPolicyText = params.privacyPolicyText;\n this.consentCheckboxText = params.consentCheckboxText;\n this.consentConfigInfo = {};\n this.activeForm = domRoot.querySelector('form') as HTMLFormElement;\n this.errorSubmit = params.errorSubmit;\n this.ConsentHub = new Client();\n this.consents = domRoot.querySelectorAll('.consent-checkbox-container');\n this.consentCheckboxes = domRoot.querySelectorAll('.consent-checkbox');\n this.errorMessages = params.errorMessages;\n this.referrers = params.referrers;\n this.referringURL = document.referrer.replace(/#(.*?)/, '').replace(/\\?(.*?)/, '');\n this.contactForms = Array.from(domRoot.querySelectorAll(\"form\"));\n this.availableFormTypes = params.formTypes;\n this.availableFormTypeLabels = params.formTypeLabels;\n this.typeOfForm = domRoot.querySelector(\".formTypeSelector\");\n this.urlParams = new URLSearchParams(window.location.search.substring(1));\n this.urlFormType = this.urlParams.get(\"formType\");\n this.tabs = domRoot.querySelectorAll('.tab-multi-popper');\n this.fauxSelectors = domRoot.querySelectorAll(\".faux-selector select\");\n this.productServiceInputs = domRoot.querySelectorAll(\".radio-labels input\");\n this.textAreas = domRoot.querySelectorAll('textarea');\n this.numberInputs = domRoot.querySelectorAll('input[type=\"number\"]');\n this.plainOptions = domRoot.querySelectorAll(\".plain-radio, .plain-checkbox\");\n this.productOrService = domRoot.querySelector(\"#productInterest__c\");\n this.productOrServiceTogglers = domRoot.querySelectorAll(\".select-style-input\");\n this.submitTo = params.submitTo;\n this.formId = params.formId;\n this.formDef = params.formDef;\n this.isIntercomTracking = this.params.isIntercomTracking.toLowerCase() === \"true\";\n this.isBusinessDomainOnly = this.params.isBusinessDomainOnly.toLowerCase() === \"true\";\n this.intercomAppId = params.intercomAppId;\n this.postSubmission = this.params.postSubmission;\n this.redirect = this.params.redirect;\n this.form = domRoot.querySelector('.form--contact-sales-form');\n this.mainFormContainer = domRoot.querySelector('.main-form-container');\n this.postSubmitMessage = domRoot.querySelector('.form--contact-sales-form__message');\n this.emailFields = domRoot.querySelectorAll('input[type=\"email\"]');\n this.consentHelper = {};\n this.init();\n }\n\n init() {\n this.getConsentInfo();\n this.getUserData(); \n this.formSubmitListener();\n this.tabsListener();\n this.productTogglersListener();\n this.fauxSelectorsListener();\n this.plainListeners();\n this.routeToForm();\n this.addMunchkin();\n this.setFieldValidity();\n this.setFieldValidityForCheckBoxes();\n this.setEmailFieldValidity();\n\n window.addEventListener(\"beforeunload\", () => {\n this.clearForm();\n });\n\n }\n\n addMunchkin() {\n const orgIdSandBox = \"353-DGC-691\";\n const orgIdProd = \"594-ATC-127\";\n const isProd = window.location.hostname.match(/^(www\\.){0,1}(atlassian.com|bitbucket.org|opsgenie.com|bitbucket.org|trello.com)$/);\n\n let didInit = false;\n\n function initMunchkin() {\n if (didInit === false) {\n didInit = true;\n Munchkin.init(isProd ? orgIdProd : orgIdSandBox);\n }\n }\n const s = document.createElement(\"script\")\n s.type = \"text/javascript\";\n s.async = true;\n s.src = \"//munchkin.marketo.net/munchkin.js\";\n s.onreadystatechange = function () {\n if (this.readyState == \"complete\" || this.readyState == \"loaded\") {\n initMunchkin()\n }\n };\n s.onload = initMunchkin;\n document.getElementsByTagName(\"head\")[0].appendChild(s);\n }\n\n routeToForm() {\n if (this.availableFormTypes.length > 1) {\n let referralFound = this.findReferrerInSites();\n let formTypeInput = this.domRoot.querySelector('option#formType-' + this.availableFormTypes[0]);\n\n if (this.urlFormType && this.availableFormTypes.includes(this.urlFormType)) {\n formTypeInput = this.domRoot.querySelector('option#formType-' + this.urlFormType);\n } else if (referralFound) {\n formTypeInput = this.domRoot.querySelector('option#formType-' + referralFound);\n }\n this.updateSelectorValue(formTypeInput.parentNode, formTypeInput);\n }\n }\n\n findReferrerInSites() {\n for (let formType in this.referrers) {\n let links = this.referrers[formType];\n for (let l = 0; l < links.length; l++) {\n let link = links[l].startsWith('http') ? links[l] : window.location.origin + links[l];\n if (link == this.referringURL) {\n return formType;\n }\n }\n }\n return false;\n }\n\n plainListeners() {\n this.plainOptions.forEach(plainOption => {\n plainOption.addEventListener(\"change\", () => {\n this.setConditionalDisplays(plainOption.dataset.conditionalType, plainOption.dataset.conditional, !plainOption.checked);\n })\n });\n\n this.numberInputs.forEach(numberInput => {\n numberInput.addEventListener(\"mousewheel\", (event) => {\n if (numberInput == document.activeElement) {\n event.preventDefault();\n }\n })\n });\n this.textAreas.forEach(textArea => {\n textArea.addEventListener(\"keyup\", () => {\n let val = textArea.value;\n let lineBreaks = val.match(/[\\n\\r]/g) ? (val.match(/[\\n\\r]/g).length * 1.5) : 0;\n let minHeight = (val.length > 70 ? ((val.length / 70) * 2.5) : 4) + lineBreaks;\n textArea.style.minHeight = minHeight + 'rem';\n })\n })\n }\n\n /* faux selectors (custom selectors) */\n\n updateSelectorValue(selector: HTMLSelectElement, selectorOption?: HTMLOptionElement) {\n //selectorOption.parentNode.previousElementSibling.innerText = selectorOption.dataset.localizedValue;\n if (!selectorOption) {\n selectorOption = selector.options[selector.selectedIndex];\n }\n selector.value = selectorOption.value;\n if (selectorOption.hasAttribute('data-conditional')) {\n this.setConditionalDisplays(selectorOption.dataset.conditionalType, selectorOption.dataset.conditional);\n }\n\n if (selectorOption.attributes?.name?.value == \"formType\") {\n this.urlParams.delete(\"formType\");\n const otherParams = this.urlParams.toString();\n history.replaceState({}, '', `?formType=${selectorOption.dataset.conditional}${otherParams.length ? '&' : ''}${otherParams}`);\n this.activeForm = this.domRoot.querySelector('#form-' + selectorOption.dataset.conditional);\n }\n }\n\n fauxSelectorsListener() {\n this.fauxSelectors.forEach((fauxSelector: HTMLSelectElement) => {\n fauxSelector.addEventListener(\"change\", (_event) => {\n this.updateSelectorValue(fauxSelector);\n this.checkFormValidity();\n });\n });\n }\n\n /* custom product/service selector */\n\n toggleProductSelectionDropdown(optionsContainer, close?: boolean) {\n let productOrServiceToggler = optionsContainer.previousElementSibling;\n if (close) {\n productOrServiceToggler.classList.remove(\"toggled\");\n productOrServiceToggler.setAttribute(\"aria-expanded\", false);\n optionsContainer.classList.add(\"hiding\");\n setTimeout(function () {\n optionsContainer.style.display = \"none\";\n productOrServiceToggler.focus();\n }, 500);\n isKeying = false;\n } else {\n productOrServiceToggler.classList.add(\"toggled\");\n productOrServiceToggler.setAttribute(\"aria-expanded\", true);\n optionsContainer.style.display = \"block\";\n let firstButton = optionsContainer.querySelector('button[aria-selected=\"true\"]');\n firstButton.focus();\n setTimeout(function () {\n optionsContainer.classList.remove(\"hiding\");\n }, 50)\n }\n }\n\n productTogglersListener() {\n this.productOrServiceTogglers.forEach(toggler => {\n let optionsContainer = toggler.nextElementSibling;\n\n toggler.addEventListener(\"click\", () => {\n if (!optionsContainer.classList.contains(\"hiding\")) {\n this.toggleProductSelectionDropdown(optionsContainer, true);\n } else {\n this.toggleProductSelectionDropdown(optionsContainer);\n }\n });\n\n toggler.addEventListener(\"keydown\", (event) => {\n const keymatch = /ArrowDown|ArrowUp|Enter|Space/g;\n if (event.code.match(keymatch)) {\n this.toggleProductSelectionDropdown(optionsContainer);\n } else if (!optionsContainer.classList.contains(\"hiding\") ||\n event.key == \"Escape\") {\n this.toggleProductSelectionDropdown(optionsContainer, true);\n }\n });\n });\n\n this.productServiceInputs.forEach(input => {\n let parentEl = input.closest(\".product-or-service-toggler\");\n let dropdown = input.closest(\".multi-select-container\");\n\n let productOrServiceToggler = parentEl.querySelector('.select-style-input');\n let actualValue = parentEl.querySelector('.actual-value');\n\n input.addEventListener(\"change\", () => {\n productOrServiceToggler.value = input.dataset.localizedValue;\n productOrServiceToggler.innerText = input.dataset.localizedValue;\n actualValue.value = input.value;\n const e = new Event(\"change\");\n actualValue.dispatchEvent(e);\n isKeying = false;\n this.setConditionalDisplays(input.dataset.conditionalType, input.dataset.conditional);\n });\n\n input.addEventListener(\"click\", (event) => {\n if (!isKeying && event.clientX != 0 && event.clientY != 0) {\n this.toggleProductSelectionDropdown(dropdown, true);\n }\n isKeying = false;\n })\n\n input.addEventListener(\"keydown\", (event) => {\n isKeying = true;\n if (event.key == \"Enter\" || event.key == \"Escape\") {\n event.preventDefault();\n input.blur();\n this.toggleProductSelectionDropdown(dropdown, true);\n }\n });\n\n input.addEventListener(\"blur\", (event) => {\n if (!isKeying && !dropdown.contains(event.relatedTarget)) {\n this.toggleProductSelectionDropdown(dropdown, true);\n }\n })\n });\n }\n\n tabsListener() {\n this.tabs.forEach((thisTab, index) => {\n thisTab.addEventListener(\"click\", () => {\n\n let siblingTabs = thisTab.parentNode.querySelectorAll('.tab-multi-popper')\n siblingTabs.forEach(tab => {\n tab.setAttribute(\"aria-selected\", \"false\");\n tab.setAttribute(\"tabindex\", \"-1\");\n });\n thisTab.setAttribute(\"aria-selected\", \"true\");\n thisTab.setAttribute(\"tabindex\", \"0\");\n });\n\n thisTab.addEventListener(\"keydown\", event => {\n if (event.key.includes(\"Arrow\")) {\n let siblingTabs = thisTab.parentNode.querySelectorAll('.tab-multi-popper')\n\n let newIndex = 1;\n if (index == 1) {\n newIndex = 0;\n }\n siblingTabs[index].setAttribute(\"aria-selected\", \"false\");\n siblingTabs[index].setAttribute(\"tabindex\", \"-1\");\n\n siblingTabs[newIndex].setAttribute(\"aria-selected\", \"true\");\n siblingTabs[newIndex].setAttribute(\"tabindex\", \"0\");\n siblingTabs[newIndex].focus();\n } else if (event.key == \"Escape\") {\n this.toggleProductSelectionDropdown(thisTab.closest('.multi-select-container'), true);\n }\n })\n });\n }\n\n /* other listeners */\n\n checkFormValidity() {\n isFormChecking = true;\n const submitButton = this.activeForm.querySelector('[type=\"submit\"]');\n if (this.activeForm.checkValidity()) {\n // Check that submit button exists (and not \"Contact Support\" link)\n if (submitButton) {\n submitButton.className = submitButton.dataset.buttonStyle;\n }\n } else {\n submitButton.className = 'component__link custom button button--regular n30 hover-n40 text-n600 border-color-default';\n }\n setTimeout(function () {\n isFormChecking = false;\n }, 50)\n }\n\n clearError(event) {\n let allFields = [event.target];\n const plainRegex = /select|radio|checkbox/;\n\n if (event.target.type.match(plainRegex) && event.target.className.includes(\"plain\")) {\n allFields = document.querySelectorAll(`[name=\"${event.target.name}\"]`)\n }\n allFields.forEach(field => {\n let fieldIdentifier = field.type.match(plainRegex) ? field.name : field.id;\n let fieldError = document.getElementById(fieldIdentifier + \"-description\");\n if (fieldError) {\n fieldError.innerText = \"\";\n fieldError.classList.remove(\"error\");\n }\n field.setCustomValidity(\"\");\n });\n this.checkFormValidity();\n }\n\n messageError(event: Event, forceEmailPatternError?: boolean) {\n if (!isFormChecking && event.target) {\n let errMessage = '';\n\n let fieldIdentifier = event.target.className.includes(\"plain\") ? event.target.name : event.target.id;\n let errorMessages = this.errorMessages[fieldIdentifier];\n let fieldError = document.getElementById(fieldIdentifier + \"-description\");\n\n if (event.target.validity.valueMissing) {\n errMessage = errorMessages.missing;\n } else if (event.target.validity.patternMismatch) {\n if (event.target.type == \"email\" && event.target.value.match(emailRegex)) {\n errMessage = errorMessages.email\n } else {\n errMessage = errorMessages.pattern;\n }\n } else if (event.target.validity.tooShort) {\n errMessage = errorMessages.tooShort ?? '';\n } else if (event.target.validity.tooLong) {\n errMessage = errorMessages.tooLong ?? '';\n } else if (event.target.validity.rangeOverflow) {\n errMessage = errorMessages.rangeOverflow ?? '';\n } else if (event.target.validity.rangeUnderflow) {\n errMessage = errorMessages.rangeUnderflow ?? '';\n }\n\n if(event.target.type == \"email\" && forceEmailPatternError) {\n if (event.target.type == \"email\" && event.target.value.match(emailRegex)) {\n errMessage = errorMessages.email\n } else {\n errMessage = errorMessages.pattern;\n }\n }\n\n fieldError.innerText = errMessage;\n fieldError.classList.add(\"error\");\n event.target.setCustomValidity(\" \");\n }\n\n }\n\n setFieldValidity() {\n const self = this;\n this.domRoot.querySelectorAll(\".required\").forEach(requirement => {\n if (requirement.offsetParent\n && !requirement.hasMessageEventListener\n && requirement.type !== \"checkbox\"\n && requirement.type !== \"email\"\n ) {\n self.addRequiredAttribute(requirement);\n } else if (requirement.offsetParent == null && requirement.hasMessageEventListener) {\n self.removeRequiredAttribute(requirement);\n }\n });\n }\n\n removeRequiredAttribute(targetElement: HTMLInputElement) {\n targetElement.removeAttribute(\"required\");\n targetElement.removeEventListener('invalid', (event) => {\n this.messageError(event);\n });\n [\"keyup\", \"change\"].forEach(eventType => {\n targetElement.removeEventListener(eventType, (event) => {\n this.clearError(event);\n });\n });\n targetElement.hasMessageEventListener = false;\n }\n\n addRequiredAttribute(targetElement: HTMLInputElement) {\n targetElement.setAttribute(\"required\", \"required\");\n targetElement.addEventListener('invalid', (event) => {\n this.messageError(event);\n });\n [\"keyup\", \"change\"].forEach(eventType => {\n targetElement.addEventListener(eventType, (event) => {\n this.clearError(event);\n });\n });\n targetElement.hasMessageEventListener = true;\n }\n\n setFieldValidityForCheckBoxes() {\n const self = this;\n self.domRoot.querySelectorAll('fieldSet .checkbox input.required')\n .forEach((element: HTMLInputElement) => {\n const requiredInputsParentElement = element.offsetParent;\n if (requiredInputsParentElement && !element.hasMessageEventListener) {\n self.addRequiredAttribute(element);\n }\n requiredInputsParentElement!.addEventListener('change', (e) => {\n const targetInputElement = e.target as HTMLInputElement;\n const allCheckedInputs = requiredInputsParentElement?.querySelectorAll('input:checked');\n if (targetInputElement.checked) {\n self.removeRequiredAttribute(element);\n self.addRequiredAttribute(targetInputElement);\n } else {\n /**\n * If check is false, remove the targetINputElement's requried Attribute field\n * ...and if there are no more checked inputs then\n * add required attribute back to original required element\n */\n self.removeRequiredAttribute(targetInputElement);\n if (allCheckedInputs && allCheckedInputs.length < 1) {\n self.addRequiredAttribute(element);\n }\n }\n self.checkFormValidity();\n })\n });\n }\n\n setEmailFieldValidity() {\n const self = this;\n self.emailFields.forEach((element: any) => {\n element.setAttribute(\"required\", \"required\");\n let elementPattern = element?.pattern;\n [\"keyup\", \"change\"].forEach(eventType => {\n element.addEventListener(eventType, (event: any) => {\n event.preventDefault();\n if (!elementPattern) {\n elementPattern = this.isBusinessDomainOnly ? defaultBusinessEmailPattern : defaultEmailPattern;\n }\n const regexTest = new RegExp(elementPattern).test(event.target.value);\n if (regexTest) {\n self.clearError(event);\n } else {\n self.messageError(event, true);\n }\n });\n });\n element.hasMessageEventListener = true;\n });\n }\n\n clearForm() {\n this.contactForms.forEach(form => form.reset())\n }\n\n getFormVals(form, serialize) {\n let obj = {};\n var array = [];\n let intercomMapping = {};\n [...form.elements].forEach(item => {\n let individual = {};\n let key = item.dataset.key;\n if (item.type == \"email\") {\n item.value = item.value.toLowerCase()\n }\n if (item.type == \"number\") {\n item.value = Number(item.value);\n }\n if (key && (item.offsetParent || item.tagName == \"BUTTON\")) {\n if (item.type == \"radio\" && item.checked) {\n obj[key] = item.value;\n individual.name = key;\n individual.value = item.value;\n } else if (item.type == \"checkbox\" && item.checked) {\n if (obj[key]) {\n obj[key] = obj[key] + ',' + item.dataset.localizedValue;\n individual.value = individual.value + ',' + item.dataset.localizedValue;\n } else {\n obj[key] = item.dataset.localizedValue;\n individual.value = item.dataset.localizedValue;\n }\n individual.name = key;\n } else if (item.type !== \"radio\" && item.type !== \"checkbox\" && item.tagName !== \"BUTTON\" ||\n (item.tagName == \"BUTTON\" && item.getAttribute(\"aria-selected\") == \"true\")) {\n let textFieldValue = item.value.replace(//g, '>')\n // salesforce rejects < & > characters but we want users to still be able to enter them\n obj[key] = textFieldValue;\n individual.name = key;\n individual.value = textFieldValue;\n }\n array.push(individual);\n }\n\n if (Object.prototype.hasOwnProperty.call(item.dataset, 'intercomMapping')) {\n const itercomMappingKey = item.dataset.intercomMapping.toLowerCase();\n intercomMapping[itercomMappingKey] = item.dataset.key;\n }\n });\n obj['intercomMapping'] = intercomMapping;\n\n return serialize ? array : obj;\n }\n\n getCookie(name: string) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) {\n return parts.pop().split(';').shift();\n }\n return '';\n }\n\n getSubscriberDetails(form) {\n let formData = this.getFormVals(form, true);\n return formData.reduce((acc, field) => {\n if (field.name !== 'email' && field.name !== 'list_name') {\n acc[field.name] = field.value;\n }\n return acc;\n }, {});\n }\n\n submitSuccess(data, state) {\n if (state.postSubmission == \"Redirect\") {\n window.location.href = state.redirect + window.location.search;\n } else {\n state.mainFormContainer.style.display = 'none';\n state.postSubmitMessage.style.display = 'block';\n }\n tracking.trackEvent('ConsentHub Submit', {\n \"success\": true,\n \"event\": \"Submitted\",\n \"eventComponent\": \"Contact Sales Form\"\n });\n }\n\n submitFailure(data, state) {\n state.activeForm.querySelector('.post-submit').innerHTML = state.params.errorSubmit;\n tracking.trackEvent('ConsentHub Submit', {\n \"success\": false,\n \"event\": \"Failed\",\n \"eventComponent\": \"Contact Sales Form\",\n \"error-message\": data\n });\n }\n\n sendToStreamhub(formValues) {\n let currentTime = new Date();\n let random = Math.round(Math.random() * 10000);\n\n let streamHubInfo = {\n \"gmoiLocale\": this.consentConfigInfo.locale,\n \"formType\": this.typeOfForm ? this.typeOfForm.value : this.availableFormTypeLabels[0],\n \"formDef\": this.formDef,\n \"formSubmissionId\": random + currentTime.getTime(),\n \"created_at\": currentTime,\n \"marketoCookieId\": this.getCookie('_mkto_trk'),\n \"anonymousId\": this.getCookie('ajs_anonymous_id').replace(/%22/g, ''),\n \"atlassianId\": this.getCookie('ajs_user_id').replace(/%22/g, ''),\n \"submitted\": currentTime.toString(),\n \"source_sequence\": currentTime.getTime(),\n \"userAgent\": window.navigator.userAgent,\n \"isIntercomTracking\": this.isIntercomTracking,\n \"intercomAppId\": this.intercomAppId.trim().toLowerCase()\n };\n const payLoad = Object.assign(formValues, streamHubInfo);\n postObjectToStreamhubContact(\n payLoad,\n this.submitTo,\n this.submitSuccess,\n this.submitFailure, this);\n }\n\n consenthubFailure(error) {\n tracking.trackEvent('ConsentHub Submit', {\n \"success\": false,\n \"event\": \"Failed\",\n \"eventComponent\": \"ConsentHub Submit\",\n \"error-message\": error\n });\n this.submitFailure(error, this);\n }\n\n formSubmitListener() {\n this.contactForms.forEach(contactForm => {\n let honeyPot = this.activeForm.querySelector('.email_hp');\n\n contactForm.addEventListener(\"submit\", (event: SubmitEvent) => {\n event.preventDefault();\n if (honeyPot.value === \"\" && this.activeForm.checkValidity()) {\n let buttonSubmit = this.activeForm.querySelector('[type=\"submit\"]');\n buttonSubmit.classList.add('loading', 'disabled');\n let formValues = this.getFormVals(contactForm);\n let consentHelperObj = {\n gdprId: contactForm.querySelector('.consent-checkbox') ? contactForm.querySelector('.consent-checkbox').id : this.params.gdprId,\n consentLabel: this.consentCheckboxText,\n email: formValues.email,\n formId: this.formId,\n formUrl: window.location.href,\n privacyPolicy: this.privacyPolicyText,\n paramsLocale: this.consentConfigInfo.locale,\n site: \"atlassian\"\n };\n\n this.consentHelper = new ConsentHelper(consentHelperObj, contactForm);\n this.consentHelper.submitForm(() => {\n this.sendToStreamhub(formValues)\n }, (error) => {\n this.consenthubFailure(error);\n });\n }\n });\n })\n }\n\n showCheckbox() {\n this.consents.forEach(consent => {\n consent.style.display = \"flex\";\n })\n }\n\n hideCheckboxAndConsent() {\n this.consentCheckboxes.forEach(consentCheckbox => {\n consentCheckbox.checked = true;\n })\n }\n\n getConsentInfo() {\n this.ConsentHub.requestConfig()\n .then(config => {\n this.consentConfigInfo = config;\n if (config.localeRequiresMarketingCommunicationOptIn) {\n this.showCheckbox();\n } else {\n this.hideCheckboxAndConsent();\n }\n })\n .catch(() => {\n this.showCheckbox();\n })\n }\n\n async getUserData() {\n const apiUrl = Environment.getAPIPrivateURL();\n const data = await fetch(`${apiUrl}/me`,\n {\n method: \"GET\",\n credentials: \"include\",\n headers: {\n \"Content-type\": \"application/json; charset=UTF-8\",\n }\n })\n .then((res) => res.json())\n .catch();\n\n if (data && data.email) {\n \n const emailFields = this.domRoot.querySelectorAll(\"input[type='email']\");\n if (emailFields.length) {\n emailFields[0].value = data.email;\n }\n }\n }\n\n setConditionalDisplays(conditionalType, conditionalValue, hide) {\n const conditionals = Array.from(this.domRoot.querySelectorAll(`.${conditionalType}-conditional`));\n conditionals.forEach(condition => {\n if (hide) {\n condition.style.display = \"none\";\n } else if (condition.classList.contains(conditionalValue)) {\n condition.style.display = \"flex\";\n } else {\n condition.style.display = \"none\";\n }\n });\n this.setFieldValidity()\n }\n\n}\n"],"names":["STAGING_ENDPOINT","concat","window","location","hostname","indexOf","stgConfig","BXP_EXPRESS_ENDPOINT","_defineProperty","_BXP_EXPRESS_ENDPOINT","Environment","postEmailToStreamHub","userEmail","environment","axios","user_email","postObjectToStreamhubContact","obj","endpoint","responseHandler","errorHandler","state","console","log","then","response","error","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_arrayLikeToArray","arr","len","arr2","Array","_defineProperties","target","props","descriptor","input","hint","prim","toPrimitive","res","String","_toPrimitive","emailRegex","defaultEmailPattern","defaultBusinessEmailPattern","isFormChecking","isKeying","ContactSalesForm","domRoot","params","instance","Constructor","_classCallCheck","this","consentKey","consentType","privacyPolicyText","consentCheckboxText","consentConfigInfo","activeForm","querySelector","errorSubmit","ConsentHub","Client","consents","querySelectorAll","consentCheckboxes","errorMessages","referrers","referringURL","document","referrer","replace","contactForms","from","availableFormTypes","formTypes","availableFormTypeLabels","formTypeLabels","typeOfForm","urlParams","URLSearchParams","search","substring","urlFormType","get","tabs","fauxSelectors","productServiceInputs","textAreas","numberInputs","plainOptions","productOrService","productOrServiceTogglers","submitTo","formId","formDef","isIntercomTracking","toLowerCase","isBusinessDomainOnly","intercomAppId","postSubmission","redirect","form","mainFormContainer","postSubmitMessage","emailFields","consentHelper","init","protoProps","_getUserData","_this","getConsentInfo","getUserData","formSubmitListener","tabsListener","productTogglersListener","fauxSelectorsListener","plainListeners","routeToForm","addMunchkin","setFieldValidity","setFieldValidityForCheckBoxes","setEmailFieldValidity","addEventListener","clearForm","isProd","match","didInit","initMunchkin","Munchkin","s","createElement","src","onreadystatechange","readyState","onload","getElementsByTagName","appendChild","referralFound","findReferrerInSites","formTypeInput","includes","updateSelectorValue","parentNode","formType","links","l","startsWith","origin","_this2","plainOption","setConditionalDisplays","dataset","conditionalType","conditional","checked","numberInput","event","activeElement","preventDefault","textArea","lineBreaks","minHeight","style","selector","selectorOption","_selectorOption$attri","_selectorOption$attri2","options","selectedIndex","hasAttribute","attributes","otherParams","toString","history","replaceState","_this3","fauxSelector","_event","checkFormValidity","optionsContainer","close","productOrServiceToggler","previousElementSibling","classList","remove","setAttribute","add","setTimeout","display","focus","_this4","toggler","nextElementSibling","contains","toggleProductSelectionDropdown","code","parentEl","closest","dropdown","actualValue","localizedValue","innerText","e","Event","dispatchEvent","clientX","clientY","blur","relatedTarget","_this5","thisTab","index","tab","siblingTabs","newIndex","submitButton","checkValidity","className","buttonStyle","allFields","plainRegex","field","fieldIdentifier","id","fieldError","getElementById","setCustomValidity","forceEmailPatternError","errMessage","validity","valueMissing","missing","patternMismatch","email","pattern","tooShort","_errorMessages$tooSho","tooLong","_errorMessages$tooLon","rangeOverflow","_errorMessages$rangeO","rangeUnderflow","_errorMessages$rangeU","requirement","offsetParent","hasMessageEventListener","addRequiredAttribute","removeRequiredAttribute","targetElement","_this6","removeAttribute","removeEventListener","messageError","eventType","clearError","_this7","element","requiredInputsParentElement","targetInputElement","allCheckedInputs","_this8","elementPattern","RegExp","test","serialize","array","intercomMapping","elements","isArray","_arrayWithoutHoles","_iterableToArray","o","minLen","n","_unsupportedIterableToArray","_nonIterableSpread","item","individual","Number","tagName","getAttribute","textFieldValue","itercomMappingKey","parts","cookie","split","shift","getFormVals","reduce","acc","data","href","tracking","innerHTML","formValues","currentTime","Date","random","Math","round","streamHubInfo","locale","getTime","getCookie","navigator","userAgent","trim","payLoad","assign","submitSuccess","submitFailure","_this9","contactForm","honeyPot","consentHelperObj","gdprId","consentLabel","formUrl","privacyPolicy","paramsLocale","site","ConsentHelper","submitForm","sendToStreamhub","consenthubFailure","consent","consentCheckbox","_this10","requestConfig","config","localeRequiresMarketingCommunicationOptIn","showCheckbox","hideCheckboxAndConsent","_callee","apiUrl","_context","fetch","credentials","headers","json","args","arguments","apply","conditionalValue","hide","condition"],"sourceRoot":""}