{"version":3,"sources":["webpack:///./src/views/marketing/ContactUs.vue?c116","webpack:///./src/views/marketing/ContactUs.vue","webpack:///./src/views/marketing/ContactUs.vue?30cd","webpack:///./src/views/marketing/ContactUs.vue?9306","webpack:///./src/views/marketing/ContactUs.vue?7556","webpack:///../../../src/components/VTextarea/VTextarea.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_v","firstNameErrors","on","$event","$v","firstName","$touch","model","value","callback","$$v","expression","lastNameErrors","lastName","emailErrors","email","contactReasons","reasonErrors","scopedSlots","_u","key","fn","ref","item","_s","replace","trim","reason","messageErrors","message","submit","isInfoDialogOpen","infoTitle","infoMessage","infoButton","_e","staticRenderFns","extend","name","metaInfo","link","rel","href","$route","path","mixins","components","DoceoIcon","InfoDialog","data","DOCEO_ICONS","BusinessInquiry","Investor","Press","captchaSiteKey","validations","required","val","toLowerCase","created","mounted","captchaScript","document","createElement","setAttribute","getElementById","appendChild","computed","errors","$dirty","push","methods","$invalid","grecaptcha","window","Promise","resolve","reject","ready","execute","action","then","token","captchaToken","contactClient","contactUs","reCaptchaToken","addContact","$reset","component","VBtn","VCol","VContainer","VRow","VSelect","VTextField","VTextarea","baseMixins","props","autoGrow","noResize","rowHeight","type","Number","default","validator","v","isNaN","parseFloat","rows","parseInt","classes","noResizeHandle","watch","lazyValue","$nextTick","setTimeout","calculateInputHeight","input","$refs","height","minHeight","Math","genInput","onInput","onKeyDown","isFocused","e"],"mappings":"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","file":"js/chunk-d92babbc.cfe00a34.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"marketing pb-16 background-header\",attrs:{\"id\":\"marketing-contact\",\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"10\"}},[_c('v-row',{staticClass:\"my-16\"},[_c('v-col',{attrs:{\"cols\":\"10\",\"sm\":\"7\",\"md\":\"5\",\"offset\":\"1\",\"offset-md\":\"0\"}},[_c('v-row',{staticClass:\"mt-16 pt-16\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h1',[_vm._v(\"Contact Us\")])])],1),_c('v-row',{attrs:{\"id\":\"form\",\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"First name\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.firstNameErrors},on:{\"blur\":function($event){return _vm.$v.firstName.$touch()}},model:{value:(_vm.firstName),callback:function ($$v) {_vm.firstName=$$v},expression:\"firstName\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Last name\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.lastNameErrors},on:{\"blur\":function($event){return _vm.$v.lastName.$touch()}},model:{value:(_vm.lastName),callback:function ($$v) {_vm.lastName=$$v},expression:\"lastName\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"Email address\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.emailErrors},on:{\"blur\":function($event){return _vm.$v.email.$touch()}},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-select',{attrs:{\"label\":\"How can we help?\",\"outlined\":\"\",\"items\":_vm.contactReasons,\"dense\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.reasonErrors},on:{\"blur\":function($event){return _vm.$v.email.$touch()}},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.replace(/([A-Z])/g, \" $1\").trim())+\" \")]}},{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.replace(/([A-Z])/g, \" $1\").trim())+\" \")]}}]),model:{value:(_vm.reason),callback:function ($$v) {_vm.reason=$$v},expression:\"reason\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"rows\":\"3\",\"label\":\"Message\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.messageErrors},on:{\"blur\":function($event){return _vm.$v.message.$touch()}},model:{value:(_vm.message),callback:function ($$v) {_vm.message=$$v},expression:\"message\"}})],1)],1),_c('v-row',{staticClass:\"mt-5\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"primary\",\"outlined\":\"\",\"ripple\":false},on:{\"click\":_vm.submit}},[_vm._v(\"Send\")])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"id\":\"form-footer\"}},[_vm._v(\" This site is protected by reCAPTCHA and the Google \"),_c('a',{attrs:{\"href\":\"https://policies.google.com/privacy\",\"target\":\"_blank\",\"rel\":\"noopener\"}},[_vm._v(\"Privacy Policy\")]),_vm._v(\" and \"),_c('a',{attrs:{\"href\":\"https://policies.google.com/terms\",\"target\":\"_blank\",\"rel\":\"noopener\"}},[_vm._v(\"Terms of Service\")]),_vm._v(\" apply. \")])],1)],1)],1)],1)],1)],1)],1),(_vm.isInfoDialogOpen)?_c('InfoDialog',{attrs:{\"isOpen\":_vm.isInfoDialogOpen,\"title\":_vm.infoTitle,\"message\":_vm.infoMessage,\"buttonText\":_vm.infoButton},on:{\"close\":function($event){_vm.isInfoDialogOpen = false}}}):_vm._e(),_c('div',{attrs:{\"id\":\"contactCaptchaScript\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ContactClient, ContactUs, ContactUsReason, IContactUs } from \"@/api/DoceoApi\";\r\nimport DoceoIcon from \"@/components/DoceoIcon.vue\";\r\nimport DOCEO_ICONS from \"@/constants/icons\";\r\nimport { validationMixin } from \"vuelidate\";\r\nimport { required, email } from \"vuelidate/lib/validators\";\r\nimport InfoDialog from \"@/components/userManagement/InfoDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n name: \"ContactUs\",\r\n metaInfo() {\r\n return {\r\n link: [{ rel: \"canonical\", href: `${process.env.VUE_APP_BASE_URL}${this.$route.path}` }],\r\n };\r\n },\r\n mixins: [validationMixin],\r\n components: { DoceoIcon, InfoDialog },\r\n data: () => ({\r\n DOCEO_ICONS,\r\n\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n message: \"\",\r\n reason: ContactUsReason.BusinessInquiry as ContactUsReason,\r\n contactReasons: [ContactUsReason.BusinessInquiry, ContactUsReason.Investor, ContactUsReason.Press] as ContactUsReason[],\r\n\r\n isInfoDialogOpen: false,\r\n infoTitle: \"Contact us\",\r\n infoMessage: \"\",\r\n infoButton: \"Okay\",\r\n\r\n captchaSiteKey: null as string | null,\r\n }),\r\n validations: {\r\n firstName: { required },\r\n lastName: { required },\r\n email: { required, email: (val) => (email as any)(val.toLowerCase()) },\r\n message: { required },\r\n reason: { required },\r\n },\r\n created() {\r\n this.captchaSiteKey = process.env.VUE_APP_RECAPTCHA_SITE_KEY ?? null;\r\n },\r\n mounted() {\r\n // add captcha script to this component\r\n const captchaScript = document.createElement(\"script\");\r\n captchaScript.setAttribute(\"src\", \"https://www.google.com/recaptcha/api.js?render=\" + this.captchaSiteKey);\r\n captchaScript.setAttribute(\"async\", \"\");\r\n document.getElementById(\"contactCaptchaScript\")?.appendChild(captchaScript);\r\n },\r\n computed: {\r\n firstNameErrors() {\r\n const errors = [] as string[];\r\n if (!this.$v.firstName.$dirty) return errors;\r\n !this.$v.firstName.required && errors.push(\"First name is required.\");\r\n return errors;\r\n },\r\n lastNameErrors() {\r\n const errors = [] as string[];\r\n if (!this.$v.lastName.$dirty) return errors;\r\n !this.$v.lastName.required && errors.push(\"Last name is required.\");\r\n return errors;\r\n },\r\n messageErrors() {\r\n const errors = [] as string[];\r\n if (!this.$v.message.$dirty) return errors;\r\n !this.$v.message.required && errors.push(\"Message is required.\");\r\n return errors;\r\n },\r\n emailErrors() {\r\n const errors = [] as string[];\r\n if (!this.$v.email.$dirty) return errors;\r\n !this.$v.email.email && errors.push(\"Must be valid Email\");\r\n !this.$v.email.required && errors.push(\"Email is required.\");\r\n return errors;\r\n },\r\n reasonErrors() {\r\n const errors = [] as string[];\r\n if (!this.$v.reason.$dirty) return errors;\r\n !this.$v.reason.required && errors.push(\"Reason is required.\");\r\n return errors;\r\n },\r\n },\r\n methods: {\r\n async submit() {\r\n this.$v.$touch();\r\n\r\n if (this.$v.$invalid) {\r\n return;\r\n }\r\n\r\n const grecaptcha = (window as any).grecaptcha;\r\n const captchaToken = await new Promise((resolve, reject) => {\r\n grecaptcha.ready(() => {\r\n grecaptcha.execute(this.captchaSiteKey, { action: \"contact\" }).then((token: string) => {\r\n resolve(token);\r\n });\r\n });\r\n });\r\n\r\n let contactClient = new ContactClient();\r\n let contactUs: IContactUs = {\r\n name: `${this.lastName}, ${this.firstName}`,\r\n email: this.email,\r\n message: this.message,\r\n reason: this.reason,\r\n reCaptchaToken: captchaToken,\r\n };\r\n\r\n try {\r\n await contactClient.addContact(new ContactUs(contactUs));\r\n this.infoMessage = \"Thank you for your interest in the Doceo project! We will respond back as soon as possible\";\r\n this.isInfoDialogOpen = true;\r\n this.firstName = \"\";\r\n this.lastName = \"\";\r\n this.email = \"\";\r\n this.message = \"\";\r\n this.$v.$reset();\r\n } catch {\r\n this.infoMessage = \"Error submitting request\";\r\n this.isInfoDialogOpen = true;\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContactUs.vue?vue&type=template&id=70564d72&scoped=true&\"\nimport script from \"./ContactUs.vue?vue&type=script&lang=ts&\"\nexport * from \"./ContactUs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ContactUs.vue?vue&type=style&index=0&id=70564d72&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"70564d72\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VContainer,VRow,VSelect,VTextField,VTextarea})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=style&index=0&id=70564d72&scoped=true&lang=css&\"","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n"],"sourceRoot":""}