{"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<Element>;\n  consentCheckboxes: NodeListOf<Element>;\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<Element>;\n  fauxSelectors: NodeListOf<Element>;\n  productServiceInputs: NodeListOf<Element>;\n  textAreas: NodeListOf<HTMLTextAreaElement>;\n  numberInputs: NodeListOf<Element>;\n  plainOptions: NodeListOf<Element>;\n  productOrService: any;\n  productOrServiceTogglers: NodeListOf<Element>;\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<Element>;\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, '<').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":""}