{"version":3,"sources":["webpack:///./src/components/Forms/Section.vue?0ebf","webpack:///./src/components/Forms/ErrorList.vue?13c8","webpack:///./src/components/Forms/ErrorList.vue?26cd","webpack:///./src/components/Forms/ErrorList.vue","webpack:///./src/components/Forms/ErrorList.vue?805f","webpack:///./src/components/Forms/ErrorList.vue?12a6","webpack:///./src/components/Forms/Form.vue?18a3","webpack:///./src/components/Forms/Section.vue?3fc9","webpack:///./src/components/Forms/FieldTypes/FormDateField.vue?a543","webpack:///./src/components/Forms/FieldTypes/FormDateField.vue","webpack:///./src/components/Forms/FieldTypes/FormDateField.vue?e801","webpack:///./src/components/Forms/FieldTypes/FormDateField.vue?e688","webpack:///./src/components/Forms/FieldTypes/FormDropdownField.vue?8ddb","webpack:///./src/components/Forms/FieldTypes/FormDropdownField.vue","webpack:///./src/components/Forms/FieldTypes/FormDropdownField.vue?8924","webpack:///./src/components/Forms/FieldTypes/FormDropdownField.vue?97ae","webpack:///./src/components/Forms/FieldTypes/FormEmailField.vue?924d","webpack:///./src/components/Forms/FieldTypes/FormEmailField.vue","webpack:///./src/components/Forms/FieldTypes/FormEmailField.vue?9c17","webpack:///./src/components/Forms/FieldTypes/FormEmailField.vue?6a2f","webpack:///./src/components/Forms/FieldTypes/FormStaticTextField.vue?3074","webpack:///./src/components/Forms/FieldTypes/FormStaticTextField.vue","webpack:///./src/components/Forms/FieldTypes/FormStaticTextField.vue?8813","webpack:///./src/components/Forms/FieldTypes/FormStaticTextField.vue?c88b","webpack:///./src/components/Forms/FieldTypes/FormTelField.vue?ed13","webpack:///./src/components/Forms/FieldTypes/FormTelField.vue","webpack:///./src/components/Forms/FieldTypes/FormTelField.vue?f3fd","webpack:///./src/components/Forms/FieldTypes/FormTelField.vue?b788","webpack:///./src/components/Forms/FieldTypes/FormTextareaField.vue?83ec","webpack:///./src/components/Forms/FieldTypes/FormTextareaField.vue","webpack:///./src/components/Forms/FieldTypes/FormTextareaField.vue?ba41","webpack:///./src/components/Forms/FieldTypes/FormTextareaField.vue?997b","webpack:///./src/components/Forms/FieldTypes/FormTextField.vue?586e","webpack:///./src/components/Forms/FieldTypes/FormTextField.vue","webpack:///./src/components/Forms/FieldTypes/FormTextField.vue?a3ac","webpack:///./src/components/Forms/FieldTypes/FormTextField.vue?b8fa","webpack:///./src/components/Forms/Section.vue","webpack:///./src/components/Forms/Section.vue?e2a0","webpack:///./src/components/Forms/Section.vue?80a3","webpack:///./src/components/Forms/Form.vue","webpack:///./src/components/Forms/Form.vue?d965","webpack:///./src/components/Forms/Form.vue?4d45","webpack:///./src/components/Forms/Form.vue?ca87"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_l","error","key","Key","SubfieldKey","_v","_s","Message","staticRenderFns","component","style","fieldBg","attrs","loading","on","loadAutosave","autosaveDate","_e","domProps","definition","Options","SubmittedText","section","SectionId","ref","refInFor","errors","ctx","type","handleFieldInput","class","submitButtonClass","submitButtonColour","submitButtonBackgroundColour","submitForm","SubmitButtonText","def","CSSClasses","join","IsSegregated","Title","VerticalAlignment","field","FieldId","LayoutOptions","ColumnSpan","TypeName","_b","tag","handleInput","getProps","hasErrors","directives","name","rawName","value","expression","elemId","Required","Placeholder","$event","target","composing","Label","Value","$emit","length","components","ErrorList","$$selectedVal","Array","prototype","filter","call","options","o","selected","map","val","_value","multiple","option","MaxLength","MinLength","CSSStyles","Text","FormGraphicalPDFField","FormVideoUploadField","FormMultiFileUploaderField","formContext","formType","e","fieldDef","FormFields","$refs","getValue","values","forEach","find","v","undefined","setValue","required","FormDateField","FormDropdownField","FormEmailField","FormStaticTextField","FormTelField","FormTextareaField","FormTextField","context","errored","submitted","autosaveManager","Require","FormAutosave","hasAutosave","submitPercent","recaptchaService","ReCaptcha","progress","total","Math","round","console","log","Items","ClientWebsiteId","Website","Id","Forms","GetForm","then","enableAutosave","state","GetState","catch","Sections","sectionComponent","setData","err","collectData","data","normalisedData","normaliseData","SubmitForm","result","Valid","Submitted","Result","resetRecaptcha","ValidationState","Errors","includeRecaptcha","Promise","resolve","reject","push","getRecaptchaResponse","recaptchaResponse","Log","Debug","Reset","GetResponse","newValues","entry","i","default","Section","Loader"],"mappings":"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","file":"js/chunk-6e5bded7.fd138a2b.js","sourcesContent":["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!./Section.vue?vue&type=style&index=0&id=21bc423e&scoped=true&lang=css&\"","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!./ErrorList.vue?vue&type=style&index=0&id=a5bf78fc&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-field__errors\"},[_c('ul',_vm._l((_vm.errors),function(error){return _c('li',{key:error.Key + error.SubfieldKey},[_vm._v(\" \"+_vm._s(error.Message)+\" \")])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { FormSubmissionValidationError } from 'client-website-ts-library/types/Forms';\n\n@Component\nexport default class ErrorList extends Vue {\n @Prop()\n private readonly errors!: FormSubmissionValidationError[];\n}\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!./ErrorList.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!./ErrorList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErrorList.vue?vue&type=template&id=a5bf78fc&scoped=true&\"\nimport script from \"./ErrorList.vue?vue&type=script&lang=ts&\"\nexport * from \"./ErrorList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ErrorList.vue?vue&type=style&index=0&id=a5bf78fc&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 \"a5bf78fc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"form\",style:({'--field-bg': _vm.fieldBg})},[_c('Loader',{attrs:{\"loading\":_vm.loading}}),(_vm.hasAutosave)?_c('div',{staticClass:\"form__panel form__panel--autosaved\",on:{\"click\":_vm.loadAutosave}},[_c('p',[_vm._v(\" This form was autosaved at \"+_vm._s(_vm.autosaveDate)+\". Click here to load the autosave. \")])]):_vm._e(),(_vm.errored)?_c('div',{staticClass:\"form__panel form__panel--errored\"},[_c('p',[_vm._v(\" An error occurred. Please try again later. \")])]):_vm._e(),(_vm.definition)?[(_vm.submitted)?_c('div',{staticClass:\"form__panel form__panel--success\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.definition.Options.SubmittedText)}})]):[_vm._l((_vm.definition.Sections),function(section){return _c('Section',{key:section.SectionId,ref:section.SectionId,refInFor:true,attrs:{\"def\":section,\"errors\":_vm.errors,\"form-context\":_vm.ctx,\"form-type\":_vm.type},on:{\"field_input\":_vm.handleFieldInput}})}),_c('div',{staticClass:\"center-text\"},[_c('Button',{staticClass:\"form__submit-btn\",class:_vm.submitButtonClass,attrs:{\"loading\":_vm.loading,\"colour\":_vm.submitButtonColour,\"background-colour\":_vm.submitButtonBackgroundColour},on:{\"click\":_vm.submitForm}},[_vm._v(_vm._s(_vm.definition.Options.SubmitButtonText))])],1)]]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-section\",class:[_vm.def.CSSClasses.join(','), {'form-section--segregated': _vm.def.IsSegregated}]},[(_vm.def.DisplayTitle)?_c('h6',{staticClass:\"form-section__title\"},[_vm._v(_vm._s(_vm.def.Title))]):_vm._e(),_c('div',{staticClass:\"form-section__content\"},[_c('Row',{attrs:{\"vertical-align\":_vm.def.VerticalAlignment}},_vm._l((_vm.def.FormFields),function(field){return _c('Column',{key:field.FieldId,attrs:{\"width\":field.LayoutOptions.ColumnSpan}},[_c('Form' + field.TypeName + 'Field',_vm._b({ref:field.FieldId,refInFor:true,tag:\"component\",on:{\"input\":_vm.handleInput}},'component',_vm.getProps(field),false))],1)}),1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"type\":\"date\",\"id\":_vm.elemId,\"required\":_vm.def.Required,\"placeholder\":_vm.def.Placeholder},domProps:{\"value\":(_vm.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.value=$event.target.value},_vm.handleInput]}}),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\nimport { DateField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\n\nimport ErrorList from '../ErrorList.vue';\n\n@Component({\n components: {\n ErrorList,\n },\n})\nexport default class FormDateField extends Vue implements IFormField {\n @Prop()\n private readonly def!: DateField;\n\n @Prop()\n private readonly errors!: FormSubmissionValidationError[];\n\n private value: string | null = null;\n\n get hasErrors(): boolean {\n return this.errors.length > 0;\n }\n\n get elemId() {\n return `field_${this.def.FieldId}`;\n }\n\n getValue(): FormValue {\n return {\n Key: this.def.Key,\n Value: this.value,\n };\n }\n\n setValue(value: FormValue): void {\n if (typeof value.Value === 'string' || value.Value === null) {\n this.value = value.Value;\n }\n }\n\n handleInput(): void {\n this.$emit('input', this.def);\n }\n}\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!./FormDateField.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!./FormDateField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormDateField.vue?vue&type=template&id=f7cca14e&\"\nimport script from \"./FormDateField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormDateField.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"id\":_vm.elemId},on:{\"input\":_vm.handleInput,\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.value=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[(_vm.def.Placeholder)?_c('option',{attrs:{\"selected\":\"\",\"disabled\":\"\"}},[_vm._v(_vm._s(_vm.def.Placeholder))]):_vm._e(),_vm._l((_vm.def.Options),function(option){return _c('option',{key:option.Value},[_vm._v(_vm._s(option.Label))])})],2),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],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\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\nimport { DropdownField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\n\nimport ErrorList from '../ErrorList.vue';\n\n@Component({\n components: {\n ErrorList,\n },\n})\nexport default class FormTextField extends Vue implements IFormField {\n @Prop()\n private readonly def!: DropdownField;\n\n @Prop()\n private readonly errors!: FormSubmissionValidationError[];\n\n private value: string | null = null;\n\n get hasErrors(): boolean {\n return this.errors.length > 0;\n }\n\n get elemId() {\n return `field_${this.def.FieldId}`;\n }\n\n getValue(): FormValue {\n return {\n Key: this.def.Key,\n Value: this.value,\n };\n }\n\n setValue(value: FormValue) {\n if (typeof value.Value === 'string' || value.Value === null) {\n this.value = value.Value;\n }\n }\n\n handleInput(): void {\n this.$emit('input', this.def);\n }\n}\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!./FormDropdownField.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!./FormDropdownField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormDropdownField.vue?vue&type=template&id=6c94f628&\"\nimport script from \"./FormDropdownField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormDropdownField.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"type\":\"email\",\"id\":_vm.elemId,\"required\":_vm.def.Required,\"placeholder\":_vm.def.Placeholder,\"maxlength\":_vm.def.MaxLength || 1000,\"minlength\":_vm.def.MinLength || 0,\"autocomplete\":\"email\"},domProps:{\"value\":(_vm.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.value=$event.target.value},_vm.handleInput]}}),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],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\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\nimport { EmailField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\n\nimport ErrorList from '../ErrorList.vue';\n\n@Component({\n components: {\n ErrorList,\n },\n})\nexport default class FormEmailField extends Vue implements IFormField {\n @Prop()\n private readonly def!: EmailField;\n\n @Prop()\n private readonly errors!: FormSubmissionValidationError[];\n\n private value: string | null = null;\n\n get hasErrors(): boolean {\n return this.errors.length > 0;\n }\n\n get elemId() {\n return `field_${this.def.FieldId}`;\n }\n\n getValue(): FormValue {\n return {\n Key: this.def.Key,\n Value: this.value,\n };\n }\n\n setValue(value: FormValue) {\n if (typeof value.Value === 'string' || value.Value === null) {\n this.value = value.Value;\n }\n }\n\n handleInput(): void {\n this.$emit('input', this.def);\n }\n}\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!./FormEmailField.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!./FormEmailField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormEmailField.vue?vue&type=template&id=154ec92e&\"\nimport script from \"./FormEmailField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormEmailField.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('div',{staticClass:\"static-text\",style:(_vm.def.CSSStyles.join(' ')),domProps:{\"innerHTML\":_vm._s(_vm.def.Text)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\nimport { StaticText, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\n\nimport ErrorList from '../ErrorList.vue';\n\n@Component({\n components: {\n ErrorList,\n },\n})\nexport default class FormStaticTextField extends Vue implements IFormField {\n @Prop()\n private readonly def!: StaticText;\n\n @Prop()\n private readonly errors!: FormSubmissionValidationError[];\n\n private value: string | null = null;\n\n get hasErrors(): boolean {\n return this.errors.length > 0;\n }\n\n get elemId() {\n return `field_${this.def.FieldId}`;\n }\n\n getValue(): FormValue {\n return {\n Key: this.def.Key,\n Value: null,\n };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\n setValue(value: FormValue): void {}\n}\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!./FormStaticTextField.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!./FormStaticTextField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormStaticTextField.vue?vue&type=template&id=0118d07e&\"\nimport script from \"./FormStaticTextField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormStaticTextField.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"type\":\"tel\",\"id\":_vm.elemId,\"required\":_vm.def.Required,\"placeholder\":_vm.def.Placeholder,\"maxlength\":_vm.def.MaxLength || 1000,\"minlength\":_vm.def.MinLength || 0,\"autocomplete\":\"tel\"},domProps:{\"value\":(_vm.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.value=$event.target.value},_vm.handleInput]}}),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],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\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\nimport { TelField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\n\nimport ErrorList from '../ErrorList.vue';\n\n@Component({\n components: {\n ErrorList,\n },\n})\nexport default class FormTelField extends Vue implements IFormField {\n @Prop()\n private readonly def!: TelField;\n\n @Prop()\n private readonly errors!: FormSubmissionValidationError[];\n\n private value: string | null = null;\n\n get hasErrors(): boolean {\n return this.errors.length > 0;\n }\n\n get elemId() {\n return `field_${this.def.FieldId}`;\n }\n\n getValue(): FormValue {\n return {\n Key: this.def.Key,\n Value: this.value,\n };\n }\n\n setValue(value: FormValue) {\n if (typeof value.Value === 'string' || value.Value === null) {\n this.value = value.Value;\n }\n }\n\n handleInput(): void {\n this.$emit('input', this.def);\n }\n}\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!./FormTelField.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!./FormTelField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormTelField.vue?vue&type=template&id=0df1bb67&\"\nimport script from \"./FormTelField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormTelField.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"type\":\"text\",\"id\":_vm.elemId,\"required\":_vm.def.Required,\"placeholder\":_vm.def.Placeholder,\"rows\":\"4\",\"maxlength\":_vm.def.MaxLength || 1000,\"minlength\":_vm.def.MinLength || 0},domProps:{\"value\":(_vm.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.value=$event.target.value},_vm.handleInput]}}),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],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\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\nimport { TextareaField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\n\nimport ErrorList from '../ErrorList.vue';\n\n@Component({\n components: {\n ErrorList,\n },\n})\nexport default class FormTextareaField extends Vue implements IFormField {\n @Prop()\n private readonly def!: TextareaField;\n\n @Prop()\n private readonly errors!: FormSubmissionValidationError[];\n\n private value: string | null = null;\n\n get hasErrors(): boolean {\n return this.errors.length > 0;\n }\n\n get elemId() {\n return `field_${this.def.FieldId}`;\n }\n\n getValue(): FormValue {\n return {\n Key: this.def.Key,\n Value: this.value,\n };\n }\n\n setValue(value: FormValue) {\n if (typeof value.Value === 'string' || value.Value === null) {\n this.value = value.Value;\n }\n }\n\n handleInput(): void {\n this.$emit('input', this.def);\n }\n}\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!./FormTextareaField.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!./FormTextareaField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormTextareaField.vue?vue&type=template&id=3acac4c6&\"\nimport script from \"./FormTextareaField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormTextareaField.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"type\":\"text\",\"id\":_vm.elemId,\"required\":_vm.def.Required,\"placeholder\":_vm.def.Placeholder,\"maxlength\":_vm.def.MaxLength || 1000,\"minlength\":_vm.def.MinLength || 0},domProps:{\"value\":(_vm.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.value=$event.target.value},_vm.handleInput]}}),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],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\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\nimport { TextField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\n\nimport ErrorList from '../ErrorList.vue';\n\n@Component({\n components: {\n ErrorList,\n },\n})\nexport default class FormTextField extends Vue implements IFormField {\n @Prop()\n private readonly def!: TextField;\n\n @Prop()\n private readonly errors!: FormSubmissionValidationError[];\n\n private value: string | null = null;\n\n get hasErrors(): boolean {\n return this.errors.length > 0;\n }\n\n get elemId() {\n return `field_${this.def.FieldId}`;\n }\n\n getValue(): FormValue {\n return {\n Key: this.def.Key,\n Value: this.value,\n };\n }\n\n setValue(value: FormValue) {\n if (typeof value.Value === 'string' || value.Value === null) {\n this.value = value.Value;\n }\n }\n\n handleInput(): void {\n this.$emit('input', this.def);\n }\n}\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!./FormTextField.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!./FormTextField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormTextField.vue?vue&type=template&id=e56964a6&\"\nimport script from \"./FormTextField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormTextField.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport {\n FormSection,\n FormSubmissionValidationError,\n FormConstructorData,\n FormField,\n FormValue,\n} from 'client-website-ts-library/types/Forms';\nimport { IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\n\n// Field components\nimport FormDateField from './FieldTypes/FormDateField.vue';\nimport FormDropdownField from './FieldTypes/FormDropdownField.vue';\nimport FormEmailField from './FieldTypes/FormEmailField.vue';\nimport FormStaticTextField from './FieldTypes/FormStaticTextField.vue';\nimport FormTelField from './FieldTypes/FormTelField.vue';\nimport FormTextareaField from './FieldTypes/FormTextareaField.vue';\nimport FormTextField from './FieldTypes/FormTextField.vue';\n\n// Big field types get loaded in async for more speeds\nconst FormGraphicalPDFField = () => import('./FieldTypes/PDFs/FormGraphicalPDFField.vue');\nconst FormVideoUploadField = () => import('./FieldTypes/FormVideoUploadField.vue');\nconst FormMultiFileUploaderField = () => import('./FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue');\n\n@Component({\n components: {\n FormDateField,\n FormDropdownField,\n FormEmailField,\n FormStaticTextField,\n FormTelField,\n FormTextareaField,\n FormTextField,\n FormGraphicalPDFField,\n FormVideoUploadField,\n FormMultiFileUploaderField,\n },\n})\nexport default class Section extends Vue {\n @Prop({ required: true })\n private readonly def!: FormSection;\n\n @Prop({ required: true })\n private readonly errors!: FormSubmissionValidationError[];\n\n @Prop({ required: true })\n private readonly formContext!: FormConstructorData;\n\n @Prop({ required: true })\n private readonly formType!: string;\n\n getProps(field: FormField): object {\n return {\n def: field,\n formContext: this.formContext,\n formType: this.formType,\n errors: this.errors.filter((e) => e.Key === field.Key),\n };\n }\n\n handleInput(fieldDef: FormField): void {\n this.$emit('field_input', fieldDef);\n }\n\n collectData(): FormValue[] {\n return this.def.FormFields.map((field) => ((this.$refs[field.FieldId] as Vue[])[0] as unknown as IFormField).getValue());\n }\n\n setData(values: FormValue[]): void {\n this.def.FormFields.forEach((field) => {\n const val = values.find((v) => v.Key === field.Key);\n\n if (val === undefined || val.Value === null) return;\n\n ((this.$refs[field.FieldId] as Vue[])[0] as unknown as IFormField).setValue(val);\n });\n }\n}\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!./Section.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!./Section.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Section.vue?vue&type=template&id=21bc423e&scoped=true&\"\nimport script from \"./Section.vue?vue&type=script&lang=ts&\"\nexport * from \"./Section.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Section.vue?vue&type=style&index=0&id=21bc423e&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 \"21bc423e\",\n null\n \n)\n\nexport default component.exports","\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\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { FormDefinition, FormSubmissionValidationError, FormField, FormValue } from 'client-website-ts-library/types/Forms';\nimport {\n AutosaveManager,\n ServiceManager,\n ServiceType,\n API,\n Config,\n Logger,\n LogLevel,\n ReCaptchaService,\n} from 'client-website-ts-library/services';\nimport { Context } from 'client-website-ts-library/types';\nimport { PDFFieldData } from 'client-website-ts-library/types/Forms/FieldTypes';\nimport { IRequestProgressDelegate } from 'client-website-ts-library/services/API/IRequestProgressDelegate';\n\nimport Section from './Section.vue';\nimport Loader from '../UI/Loader.vue';\n\n@Component({\n components: {\n Section,\n Loader,\n },\n})\nexport default class Form extends Vue implements IRequestProgressDelegate {\n @Prop({ default: () => ({ Items: [] }) })\n private readonly context!: Context;\n\n @Prop()\n private readonly type!: string;\n\n @Prop()\n private readonly submitButtonColour!: string;\n\n @Prop()\n private readonly submitButtonBackgroundColour!: string;\n\n @Prop()\n private readonly submitButtonClass!: string;\n\n @Prop()\n private readonly autosaveNamespace!: string;\n\n @Prop()\n private readonly enableAutosave!: boolean;\n\n @Prop({ default: 'var(--form-field-bg)' })\n private readonly fieldBg!: string;\n\n @Prop({ default: 'var(--form-field-colour)' })\n private readonly fieldColour!: string;\n\n @Prop({ default: 'var(--form-label-colour)' })\n private readonly labelColour!: string;\n\n @Prop({ default: 'var(--form-field-border-colour)' })\n private readonly borderColour!: string;\n\n @Prop({ default: 'var(--form-label-focused-bg)' })\n private readonly labelFocusedBg!: string;\n\n @Prop({ default: 'var(--form-label-focused-colour)' })\n private readonly labelFocusedColour!: string;\n\n private ctx: Context = this.context;\n\n private errored = false;\n\n private submitted = false;\n\n private errors: FormSubmissionValidationError[] = [];\n\n private loading = true;\n\n private definition: FormDefinition | null = null;\n\n private autosaveManager: AutosaveManager = ServiceManager.Require(ServiceType.FormAutosave);\n\n private hasAutosave = false;\n\n private autosaveDate: string | null = null;\n\n private submitPercent = 0;\n\n private recaptchaService = ServiceManager.Require(ServiceType.ReCaptcha) as ReCaptchaService;\n\n onProgress(progress: number, total: number) {\n this.submitPercent = Math.round((progress / total) * 100);\n\n console.log(this.submitPercent);\n }\n\n mounted() {\n if (this.ctx === null) {\n this.ctx = {\n Items: [],\n ClientWebsiteId: Config.Website.Id,\n };\n }\n\n if (this.ctx.ClientWebsiteId === undefined) {\n this.ctx.ClientWebsiteId = Config.Website.Id;\n }\n\n API.Forms.GetForm(this.type, this.context).then((def) => {\n this.loading = false;\n this.definition = def;\n\n if (this.enableAutosave) {\n const state = this.autosaveManager.GetState(this.type);\n\n if (state !== null) {\n this.hasAutosave = true;\n }\n }\n }).catch(() => {\n this.errored = true;\n });\n }\n\n loadAutosave(): void {\n if (!this.hasAutosave) return;\n\n const state = this.autosaveManager.GetState(this.type);\n\n if (state === null) return;\n\n this.definition!.Sections.forEach((section) => {\n const sectionComponent = (this.$refs[section.SectionId] as Vue[])[0] as Section;\n\n sectionComponent.setData(state);\n });\n }\n\n private handleFieldInput(fieldDef: FormField): void {\n this.errors = this.errors.filter((err) => err.Key !== fieldDef.Key);\n }\n\n submitForm(): void {\n if (this.loading) return;\n\n this.loading = true;\n\n this.errors = [];\n\n this.collectData(true).then((data) => {\n const normalisedData = Form.normaliseData(data);\n\n console.log(normalisedData);\n\n this.loading = false;\n\n // this.context.ClientWebsiteId = Config.Website.Id;\n\n // if (this.enableAutosave) this.autosaveManager.SetState(this.type, data);\n\n API.Forms.SubmitForm(this.type, this.context, normalisedData).then((result) => {\n this.loading = false;\n\n if (!result.Valid) {\n // Reset ReCaptcha\n this.resetRecaptcha();\n\n // Update errors\n this.errors = result.ValidationState.Errors;\n } else if (result.Submitted) {\n // Inform the user that the form was submitted\n this.submitted = true;\n\n this.$emit('submitted', result.Result);\n }\n }).catch(() => {\n // Reset ReCaptcha\n this.resetRecaptcha();\n\n // Inform the user that there was an error\n this.errored = true;\n });\n });\n }\n\n private static normaliseData(data: FormValue[]): FormValue[] {\n const newValues: FormValue[] = [];\n\n data.forEach((entry) => {\n if (entry.Value instanceof Array) {\n if (entry.Value.length) {\n newValues.push({\n Key: `${entry.Key}_length`,\n Value: entry.Value.length,\n });\n\n for (let i = 0; i < entry.Value.length; i += 1) {\n newValues.push({\n Key: `${entry.Key}_${i}`,\n Value: entry.Value[i],\n });\n }\n }\n } else {\n newValues.push(entry);\n }\n });\n\n return newValues;\n }\n\n private collectData(includeRecaptcha: boolean): Promise {\n return new Promise((resolve, reject) => {\n const data: FormValue[] = [];\n\n // Loop through each form secction and collect the data from it\n this.definition!.Sections.forEach((section) => {\n const sectionComponent = (this.$refs[section.SectionId] as Vue[])[0] as Section;\n\n data.push(...sectionComponent.collectData());\n });\n\n // If we also need to submit the ReCaptcha response, make sure we call getResponse on the ReCaptcha component\n if (includeRecaptcha) {\n this.getRecaptchaResponse().then((recaptchaResponse: string) => {\n Logger.Log(LogLevel.Debug, '[Form]', 'Got ReCaptcha response');\n\n data.push({\n Key: '_recaptcha',\n Value: recaptchaResponse,\n });\n\n resolve(data);\n }).catch(reject);\n\n return;\n }\n\n // If we don't need ReCaptcha, resolve straight away\n resolve(data);\n });\n }\n\n private resetRecaptcha(): void {\n this.recaptchaService.Reset();\n }\n\n private getRecaptchaResponse(): Promise {\n return this.recaptchaService.GetResponse();\n }\n}\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!./Form.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!./Form.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Form.vue?vue&type=template&id=0e3dfe49&scoped=true&\"\nimport script from \"./Form.vue?vue&type=script&lang=ts&\"\nexport * from \"./Form.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Form.vue?vue&type=style&index=0&id=0e3dfe49&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 \"0e3dfe49\",\n null\n \n)\n\nexport default component.exports","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!./Form.vue?vue&type=style&index=0&id=0e3dfe49&scoped=true&lang=css&\""],"sourceRoot":""}