{"version":3,"file":"6837.a6a12f9572331602990a.js","mappings":"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","sources":["webpack://UmbracoVuePrototype/./Scripts/src/vue-components/_templates/EnquiryOverlay/style.scss","webpack://UmbracoVuePrototype/./Scripts/src/ts/commonStylingComp.ts","webpack://UmbracoVuePrototype/./Scripts/src/vue-components/_templates/EnquiryOverlay/model.ts","webpack://UmbracoVuePrototype/./Scripts/src/vue-components/_templates/EnquiryOverlay/index.vue?1989","webpack://UmbracoVuePrototype/./Scripts/src/vue-components/_templates/EnquiryOverlay/index.vue","webpack://UmbracoVuePrototype/./Scripts/src/vue-components/_templates/EnquiryOverlay/component.ts","webpack://UmbracoVuePrototype/./Scripts/src/vue-components/_templates/EnquiryOverlay/style.scss?ccb8","webpack://UmbracoVuePrototype/./Scripts/src/vue-components/_templates/EnquiryOverlay/index.vue?4342","webpack://UmbracoVuePrototype/./Scripts/src/vue-components/_templates/_models/ButtonFontSettingsModel.ts"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.enquiry-overlay .no-transition[data-v-3f25988d]{transition-duration:0s !important}.enquiry-overlay .invisible[data-v-3f25988d]{opacity:0;pointer-events:none}.enquiry-overlay .overlay[data-v-3f25988d]{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);transition:opacity .2s ease-in-out,z-index .2s ease-in-out;display:flex;justify-content:center;align-items:center}.enquiry-overlay .overlay.close[data-v-3f25988d]{z-index:-1;opacity:0}.enquiry-overlay .overlay.open[data-v-3f25988d]{z-index:100;opacity:1}.enquiry-overlay .enquiry-model-content[data-v-3f25988d]{position:fixed;background-color:var(--background-colour);background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;box-shadow:0 3px 9px rgba(0,0,0,.5);left:50%;top:50%;transform:translate(-50%, -50%);min-width:50%;max-width:95%;width:1000px;padding:20px 30px;display:flex;justify-content:center;align-items:center}.enquiry-overlay .enquiry-model-content .enquiry-form[data-v-3f25988d]{width:100%}.enquiry-overlay .enquiry-model-content .success-container[data-v-3f25988d]{position:absolute;width:100%;padding:30px;white-space:pre-wrap}.enquiry-overlay .enquiry-model-content .success-container .clear-container[data-v-3f25988d]{position:fixed;top:20px}.enquiry-overlay .enquiry-model-content .clear-container[data-v-3f25988d]{position:absolute;width:100%;display:inline-flex;padding-right:60px;justify-content:var(--cross-justify)}.enquiry-overlay .enquiry-model-content .clear-container .icon-clear[data-v-3f25988d]{font-size:25px;color:var(--cross-colour);cursor:pointer}.enquiry-overlay .enquiry-model-content h3[data-v-3f25988d]{margin-top:0px}.enquiry-overlay .enquiry-model-content .title-text[data-v-3f25988d]{margin-bottom:5px}.enquiry-overlay .enquiry-model-content .description-container[data-v-3f25988d]{margin-bottom:25px}.enquiry-overlay .enquiry-model-content .description-container .error-text[data-v-3f25988d]{color:var(--error-colour) !important}.enquiry-overlay .enquiry-model-content input[data-v-3f25988d]:disabled{opacity:.5}.enquiry-overlay .enquiry-model-content button[data-v-3f25988d]:disabled{opacity:.5;pointer-events:none}.enquiry-overlay .enquiry-model-content textarea[data-v-3f25988d]:disabled{opacity:.5}.enquiry-overlay .enquiry-model-content .input-box[data-v-3f25988d]{display:block;width:100%;height:35px;border-radius:4px;margin:15px 0px 15px 0px;border:1px solid #dedede;background:#f4f4f4;padding:0px 15px 0px 15px;color:#000}.enquiry-overlay .enquiry-model-content .input-box.input-area[data-v-3f25988d]{resize:none;height:150px;padding:15px}.enquiry-overlay .enquiry-model-content .input-box[data-v-3f25988d]::placeholder{color:#cbcbcb}.enquiry-overlay .enquiry-model-content .input-box[data-v-3f25988d]:active,.enquiry-overlay .enquiry-model-content .input-box[data-v-3f25988d]:focus,.enquiry-overlay .enquiry-model-content .input-box[data-v-3f25988d]:focus-visible{border:1px solid #046491;outline:none}.enquiry-overlay .enquiry-model-content .input-box.error[data-v-3f25988d]{border:1px solid var(--error-colour)}.enquiry-overlay .enquiry-model-content.close[data-v-3f25988d]{z-index:-1;opacity:0}.enquiry-overlay .enquiry-model-content.open[data-v-3f25988d]{z-index:100;opacity:1}.enquiry-overlay .enquiry-model-content .button-container[data-v-3f25988d]{display:inline-flex;width:100%;justify-content:var(--button-justify)}.enquiry-overlay .enquiry-model-content .button-container button[data-v-3f25988d]{margin:15px 0px 10px 0px;width:var(--button-width)}.enquiry-overlay .enquiry-model-content .button-container button[data-v-3f25988d]:hover{font-size:var(--font-size-hover) !important;font-weight:var(--font-weight-hover) !important;font-family:var(--font-family-hover) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./Scripts/src/vue-components/_templates/EnquiryOverlay/style.scss\"],\"names\":[],\"mappings\":\"AACE,iDACE,iCAAA,CAEF,6CACE,SAAA,CACA,mBAAA,CAEF,2CACE,cAAA,CACA,UAAA,CACA,WAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,+BAAA,CACA,0DAAA,CACA,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,iDACE,UAAA,CACA,SAAA,CAEF,gDACE,WAAA,CACA,SAAA,CAGJ,yDACE,cAAA,CACA,yCAAA,CACA,2BAAA,CACA,qBAAA,CACA,+BAAA,CACA,iBAAA,CACA,SAAA,CACA,mCAAA,CACA,QAAA,CACA,OAAA,CACA,+BAAA,CACA,aAAA,CACA,aAAA,CACA,YAAA,CACA,iBAAA,CACA,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,uEACE,UAAA,CAEF,4EACE,iBAAA,CACA,UAAA,CACA,YAAA,CACA,oBAAA,CACA,6FACE,cAAA,CACA,QAAA,CAGJ,0EACE,iBAAA,CACA,UAAA,CACA,mBAAA,CACA,kBAAA,CACA,oCAAA,CACA,sFACE,cAAA,CACA,yBAAA,CACA,cAAA,CAGJ,4DACE,cAAA,CAEF,qEACE,iBAAA,CAEF,gFACE,kBAAA,CACA,4FACE,oCAAA,CAGJ,wEACE,UAAA,CAEF,yEACE,UAAA,CACA,mBAAA,CAEF,2EACE,UAAA,CAEF,oEACE,aAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,wBAAA,CACA,wBAAA,CACA,kBAAA,CACA,yBAAA,CACA,UAAA,CAEA,+EACE,WAAA,CACA,YAAA,CACA,YAAA,CAGJ,iFACE,aAAA,CAEF,uOAGE,wBAAA,CACA,YAAA,CAEF,0EACE,oCAAA,CAEF,+DACE,UAAA,CACA,SAAA,CAEF,8DACE,WAAA,CACA,SAAA,CAEF,2EACE,mBAAA,CACA,UAAA,CACA,qCAAA,CACA,kFACE,wBAAA,CACA,yBAAA,CACA,wFACE,2CAAA,CACA,+CAAA,CACA,+CAAA\",\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export function justifyLeftRight(justify: string): string {\r\n switch (justify) {\r\n case \"left\":\r\n return \"flex-start\"\r\n case \"right\":\r\n return \"flex-end\"\r\n case \"justify\":\r\n return \"space-between\";\r\n default:\r\n return \"center\"\r\n }\r\n}\r\nexport function justifyTopBottom(justify: string): string {\r\n switch (justify) {\r\n case \"top\": {\r\n return \"flex-start\";\r\n }\r\n case \"bottom\": {\r\n return \"flex-end\";\r\n }\r\n default: {\r\n return \"center\";\r\n }\r\n }\r\n}\r\n","import { justifyLeftRight } from \"@/ts/commonStylingComp\";\r\nimport { ButtonFontSettingsModel } from \"../_models/ButtonFontSettingsModel\";\r\nimport { TextFontSettingsModel } from \"../_models/TextFontSettingsModel\";\r\nimport { validate } from \"./../../../ts/validationComp\";\r\nexport class EnquiryComponentModel {\r\n public button: Button;\r\n public title: TextFontSettingsModel;\r\n public titleJustify: string;\r\n public subtitle: TextFontSettingsModel;\r\n public subtitleJustify: string;\r\n public response: TextFontSettingsModel;\r\n public responseJustify: string;\r\n public responseText: string;\r\n public crossColour: string;\r\n public crossJustify: string;\r\n public errorColour: string;\r\n public overlayBackground: string;\r\n public customAddressText: string;\r\n public customMessageText: string;\r\n public customPropertyIds: string;\r\n public mandatoryFields: MandatoryFields;\r\n constructor(componentModel: any) {\r\n if (!componentModel) {\r\n componentModel = {};\r\n }\r\n if (!componentModel.button) {\r\n componentModel.button = {};\r\n }\r\n if (!componentModel.button.font) {\r\n componentModel.button.font = {};\r\n }\r\n if (!componentModel.title) {\r\n componentModel.title = {};\r\n }\r\n if (!componentModel.subtitle) {\r\n componentModel.subtitle = {};\r\n }\r\n if (!componentModel.response) {\r\n componentModel.response = {};\r\n }\r\n if (!componentModel.overlay) {\r\n componentModel.overlay = {};\r\n }\r\n if (!componentModel.mandatoryFields) {\r\n componentModel.mandatoryFields = {};\r\n }\r\n this.button = new Button(componentModel.button);\r\n this.title = new TextFontSettingsModel(componentModel.title);\r\n this.titleJustify = validate().string(componentModel.titleJustify, \"left\");\r\n if (this.titleJustify === \"right\") {\r\n this.crossJustify = \"flex-start\";\r\n } else {\r\n this.crossJustify = \"flex-end\";\r\n }\r\n this.subtitle = new TextFontSettingsModel(componentModel.subtitle);\r\n this.subtitleJustify = validate().string(componentModel.subtitleJustify, \"left\");\r\n this.response = new TextFontSettingsModel(componentModel.response);\r\n this.responseJustify = validate().string(componentModel.responseJustify, \"center\");\r\n this.responseText = validate().string(componentModel.responseText, \"Thank you,\\\\nwe will respond to you shortly.\");\r\n this.responseText = this.responseText.replace(\"\\\\n\", \"\\n\");\r\n if (this.title.colour !== \"\") {\r\n this.crossColour = this.title.colour;\r\n } else {\r\n this.crossColour = \"var{--h1-colour}\"\r\n }\r\n this.errorColour = validate().colour(\r\n componentModel.errorColour,\r\n \"rgb(251, 251, 251)\"\r\n );\r\n this.overlayBackground = validate().colour(\r\n componentModel.overlay.backgroundColour,\r\n \"var(--primary-colour)\"\r\n );\r\n this.customAddressText = \"\";\r\n this.customMessageText = \"\";\r\n this.customPropertyIds = \"\";\r\n this.mandatoryFields = new MandatoryFields(componentModel.mandatoryFields);\r\n }\r\n}\r\n\r\nclass MandatoryFields {\r\n public phone: boolean;\r\n public company: boolean;\r\n public message: boolean;\r\n\r\n constructor(mandatoryModel: any) {\r\n this.phone = validate().boolean(mandatoryModel.phone, false);\r\n this.company = validate().boolean(mandatoryModel.company, false);\r\n this.message = validate().boolean(mandatoryModel.message, true);\r\n }\r\n}\r\n\r\nclass Button {\r\n public style: string;\r\n public justify: string;\r\n public width: string;\r\n public font: ButtonFontSettingsModel;\r\n constructor(buttonModel: any) {\r\n this.style = validate().string(buttonModel.style, \"Default\");\r\n this.width = validate().size(buttonModel.width, \"auto\");\r\n this.font = new ButtonFontSettingsModel(buttonModel.font);\r\n const justifyTmp = validate().string(buttonModel.justify, \"left\");\r\n this.justify = justifyLeftRight(justifyTmp);\r\n }\r\n}\r\n","import { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeStyle as _normalizeStyle, vModelText as _vModelText, withDirectives as _withDirectives, resolveComponent as _resolveComponent, vShow as _vShow, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"clear-container\" }\nconst _hoisted_2 = { class: \"clear-container\" }\nconst _hoisted_3 = { class: \"description-container\" }\nconst _hoisted_4 = [\"disabled\"]\nconst _hoisted_5 = [\"placeholder\", \"disabled\"]\nconst _hoisted_6 = [\"placeholder\", \"disabled\"]\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = [\"placeholder\", \"disabled\"]\nconst _hoisted_9 = { class: \"button-container\" }\nconst _hoisted_10 = [\"disabled\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_vue_recaptcha = _resolveComponent(\"vue-recaptcha\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"enquiry-overlay\",\n style: _normalizeStyle(_ctx.overlayStyle)\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"overlay\", _ctx.displayEnquiryOverlayClass]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.closeEnquiry()))\n }, null, 2 /* CLASS */),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"enquiry-model-content\", [_ctx.displayEnquiryOverlayClass, _ctx.transitionDisableClass]])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"success-container form-submission-successful\", _ctx.successDisplayClass])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"a\", {\n class: \"icon-clear\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.closeEnquiry()))\n })\n ]),\n _createElementVNode(\"p\", {\n class: \"h1-default\",\n style: _normalizeStyle(_ctx.successStyle)\n }, _toDisplayString(_ctx.enquiryModel.responseText), 5 /* TEXT, STYLE */)\n ], 2 /* CLASS */),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"enquiry-form\", _ctx.enquiryDisplayClass])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"a\", {\n class: \"icon-clear\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.closeEnquiry()))\n })\n ]),\n _createElementVNode(\"h3\", {\n class: \"h1-default title-text\",\n style: _normalizeStyle(_ctx.titleStyle)\n }, \"Enquiry\", 4 /* STYLE */),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"h4\", {\n class: \"description-text\",\n style: _normalizeStyle(_ctx.subtitleStyle)\n }, _toDisplayString(_ctx.propertyAddress), 5 /* TEXT, STYLE */),\n _createElementVNode(\"div\", {\n class: \"h4-default error-text\",\n style: _normalizeStyle(_ctx.subtitleStyle)\n }, _toDisplayString(_ctx.errorMessage), 5 /* TEXT, STYLE */)\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.name) = $event)),\n class: _normalizeClass([\"input-box\", _ctx.nameErrorClass]),\n placeholder: \"* Name\",\n type: \"text\",\n disabled: _ctx.inputDisabled\n }, null, 10 /* CLASS, PROPS */, _hoisted_4), [\n [_vModelText, _ctx.name]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.company) = $event)),\n class: _normalizeClass([_ctx.companyErrorClass, \"input-box\"]),\n placeholder: _ctx.enquiryModel.mandatoryFields.company? '* Company': 'Company',\n type: \"text\",\n disabled: _ctx.inputDisabled\n }, null, 10 /* CLASS, PROPS */, _hoisted_5), [\n [_vModelText, _ctx.company]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.phone) = $event)),\n class: _normalizeClass([_ctx.phoneErrorClass, \"input-box\"]),\n placeholder: _ctx.enquiryModel.mandatoryFields.phone? '* Phone': 'Phone',\n type: \"text\",\n disabled: _ctx.inputDisabled\n }, null, 10 /* CLASS, PROPS */, _hoisted_6), [\n [_vModelText, _ctx.phone]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.email) = $event)),\n class: _normalizeClass([\"input-box\", _ctx.emailErrorClass]),\n placeholder: \"* Email\",\n type: \"text\",\n disabled: _ctx.inputDisabled\n }, null, 10 /* CLASS, PROPS */, _hoisted_7), [\n [_vModelText, _ctx.email]\n ]),\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.message) = $event)),\n class: _normalizeClass([\"input-box input-area\", _ctx.messageErrorClass]),\n placeholder: _ctx.enquiryModel.mandatoryFields.message? '* Message': 'Message',\n rows: \"4\",\n cols: \"50\",\n disabled: _ctx.inputDisabled\n }, null, 10 /* CLASS, PROPS */, _hoisted_8), [\n [_vModelText, _ctx.message]\n ]),\n (_ctx.displayCaptcha)\n ? _withDirectives((_openBlock(), _createBlock(_component_vue_recaptcha, {\n key: 0,\n ref: \"vueRecaptcha\",\n sitekey: _ctx.googleCaptchaKey,\n size: \"normal\",\n theme: \"light\",\n hl: \"en\",\n onVerify: _ctx.recaptchaVerified,\n onExpire: _ctx.recaptchaExpired,\n onFail: _ctx.recaptchaFailed\n }, null, 8 /* PROPS */, [\"sitekey\", \"onVerify\", \"onExpire\", \"onFail\"])), [\n [_vShow, _ctx.showRecaptcha]\n ])\n : _createCommentVNode(\"v-if\", true),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n disabled: _ctx.inputDisabled,\n class: _normalizeClass([\r\n 'b' + _ctx.enquiryModel.button.style,\r\n _ctx.transitionDisableClass\r\n ]),\n style: _normalizeStyle(_ctx.buttonFontStyle),\n onClick: _cache[8] || (_cache[8] = ($event: any) => (_ctx.submitEnquiry()))\n }, _toDisplayString(_ctx.buttonText), 15 /* TEXT, CLASS, STYLE, PROPS */, _hoisted_10)\n ])\n ], 2 /* CLASS */)\n ], 2 /* CLASS */)\n ], 4 /* STYLE */))\n}","\r\n\r\n\r\n","import { globalValues } from \"@/ts/globalValuesComp\";\r\nimport { PropType, defineComponent, ref } from \"vue\";\r\nimport vueRecaptcha from \"vue3-recaptcha2\";\r\nimport { enquiryCapture } from \"../../../ts/enquiryComp\";\r\nimport { validate } from \"../../../ts/validationComp\";\r\nimport { listingDetailsUtil } from \"../../../ts/listingDetailsModuleComp\";\r\nimport { EnquiryComponentModel } from \"./model\";\r\n\r\nexport default defineComponent({\r\n components: {\r\n vueRecaptcha\r\n },\r\n props: {\r\n isDisplayedProp: {\r\n type: Boolean,\r\n default: new Boolean(false),\r\n },\r\n enquiryModelProp: {\r\n type: Object as PropType,\r\n default: new EnquiryComponentModel({}),\r\n },\r\n },\r\n emits: [\"enquiry-overlay-closed\"],\r\n setup() {\r\n const vueRecaptcha = ref null }>(null);\r\n const showRecaptcha = ref(true);\r\n const recaptchaExpired = () => {\r\n vueRecaptcha.value?.reset();\r\n };\r\n const recaptchaFailed = () => {\r\n console.log();\r\n };\r\n return {\r\n vueRecaptcha,\r\n showRecaptcha,\r\n recaptchaExpired,\r\n recaptchaFailed\r\n };\r\n },\r\n data() {\r\n return {\r\n propertyAddress: \"\" as string,\r\n errorMessage: \"\" as string,\r\n inputDisabled: false as boolean,\r\n nameErrorClass: \"\" as string,\r\n emailErrorClass: \"\" as string,\r\n messageErrorClass: \"\" as string,\r\n phoneErrorClass: \"\" as string,\r\n companyErrorClass: \"\" as string,\r\n name: \"\" as string,\r\n company: \"\" as string,\r\n phone: \"\" as string,\r\n email: \"\" as string,\r\n message: \"\" as string,\r\n buttonText: \"Submit\" as string,\r\n googleCaptchaKey: \"\" as string,\r\n // captcha is badly implemented. Ensure backend is active.\r\n captchaVerified: false as boolean,\r\n captchaSecurityKey: \"\" as string,\r\n // styles\r\n transitionDisableClass: \"\" as string,\r\n overlayStyle: {} as Record,\r\n buttonStyle: {} as Record,\r\n titleStyle: {} as Record,\r\n subtitleStyle: {} as Record,\r\n buttonFontStyle: {} as Record,\r\n successStyle: {} as Record,\r\n enquiryDisplayClass: \"\" as string,\r\n successDisplayClass: \"invisible\" as string\r\n };\r\n },\r\n computed: {\r\n enquiryModel: function(): EnquiryComponentModel {\r\n if (Object.keys(this.enquiryModelProp).length === 0) {\r\n return new EnquiryComponentModel({});\r\n } else {\r\n return this.enquiryModelProp;\r\n }\r\n },\r\n displayEnquiryOverlayClass: function () {\r\n if (this.isDisplayedProp) {\r\n this.loadStyles();\r\n this.openEnquiry();\r\n this.disableTransitions();\r\n return \"open\";\r\n } else {\r\n this.closeEnquiry();\r\n return \"close\";\r\n }\r\n },\r\n displayCaptcha: function () {\r\n // v-if is used to render the module only after values are loaded. :key deosn't work as it renders component once when initiatally loaded,\r\n // On second load when key has been changed the Map component fails as the map.js does not allow 2 calls of the load operation.\r\n // forceupdate also does not work as this is not a reactivity issue but a load/data issue.\r\n if (this.googleCaptchaKey !== \"\" && this.isDisplayedProp) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n },\r\n mounted() {\r\n this.setCaptchaKey();\r\n },\r\n methods: {\r\n async disableTransitions(): Promise {\r\n this.transitionDisableClass = \"no-transition\";\r\n await new Promise((resolve) => setTimeout(resolve, 1000));\r\n this.transitionDisableClass = \"\";\r\n },\r\n openEnquiry(): void {\r\n this.lockVerticalScroll();\r\n if (this.enquiryModelProp.customAddressText != \"\") {\r\n this.propertyAddress = this.enquiryModelProp.customAddressText;\r\n } else {\r\n this.propertyAddress = this.setupAddress();\r\n }\r\n this.message = this.enquiryModelProp.customMessageText;\r\n },\r\n closeEnquiry(): void {\r\n this.$emit(\"enquiry-overlay-closed\");\r\n this.unlockVerticalScroll();\r\n },\r\n loadStyles(): void {\r\n this.overlayStyle = {\r\n \"--button-justify\": this.enquiryModelProp.button.justify,\r\n \"--button-width\": this.enquiryModelProp.button.width,\r\n \"--background-colour\": this.enquiryModelProp.overlayBackground,\r\n \"--error-colour\": this.enquiryModelProp.errorColour,\r\n \"--cross-colour\": this.enquiryModelProp.crossColour,\r\n \"--cross-justify\": this.enquiryModelProp.crossJustify\r\n };\r\n this.buttonFontStyle = this.enquiryModelProp.button.font.getStyle();\r\n this.titleStyle = this.enquiryModelProp.title.getStyle();\r\n this.titleStyle[\"text-align\"] = this.enquiryModelProp.titleJustify;\r\n this.subtitleStyle = this.enquiryModelProp.subtitle.getStyle();\r\n this.subtitleStyle[\"text-align\"] = this.enquiryModelProp.subtitleJustify;\r\n this.successStyle = this.enquiryModelProp.response.getStyle();\r\n this.successStyle[\"text-align\"] = this.enquiryModelProp.responseJustify;\r\n },\r\n unlockVerticalScroll() {\r\n const bodyElement = document.getElementsByTagName(\r\n \"body\"\r\n )[0] as HTMLElement;\r\n\r\n bodyElement.style.overflowY = \"visible\";\r\n },\r\n lockVerticalScroll() {\r\n const bodyElement = document.getElementsByTagName(\r\n \"body\"\r\n )[0] as HTMLElement;\r\n\r\n bodyElement.style.overflowY = \"hidden\";\r\n },\r\n\r\n // detrmines if enquiry input is valid.\r\n hasValidEnquiryInput(): boolean {\r\n this.nameErrorClass = \"\";\r\n this.messageErrorClass = \"\";\r\n this.emailErrorClass = \"\";\r\n this.phoneErrorClass = \"\";\r\n this.companyErrorClass = \"\";\r\n let hasNoError: boolean = true;\r\n if (!this.captchaVerified) {\r\n this.errorMessage = \"Please complete the reCAPTCHA.\";\r\n hasNoError = false;\r\n }\r\n if (this.name.trim().length === 0) {\r\n this.nameErrorClass = \"error\";\r\n this.errorMessage = \"* Please fill in the mandatory fields.\";\r\n hasNoError = false;\r\n }\r\n if (this.message.trim().length === 0 && this.enquiryModelProp.mandatoryFields.message) {\r\n this.messageErrorClass = \"error\";\r\n this.errorMessage = \"* Please fill in the mandatory fields.\";\r\n hasNoError = false;\r\n }\r\n if (this.phone.trim().length === 0 && this.enquiryModelProp.mandatoryFields.phone) {\r\n this.phoneErrorClass = \"error\";\r\n this.errorMessage = \"* Please fill in the mandatory fields.\";\r\n hasNoError = false;\r\n }\r\n if (this.company.trim().length === 0 && this.enquiryModelProp.mandatoryFields.company) {\r\n this.companyErrorClass = \"error\";\r\n this.errorMessage = \"* Please fill in the mandatory fields.\";\r\n hasNoError = false;\r\n }\r\n if (this.email.trim().length === 0) {\r\n this.emailErrorClass = \"error\";\r\n this.errorMessage = \"* Please fill in the mandatory fields.\";\r\n hasNoError = false;\r\n } else if (!validate().email(this.email)) {\r\n this.emailErrorClass = \"error\";\r\n this.errorMessage = \"Please enter a valid email.\";\r\n hasNoError = false;\r\n }\r\n return hasNoError;\r\n },\r\n // disable inputs while API is sent to Surga.\r\n disableInputs(): void {\r\n this.buttonText = \"Sending\";\r\n this.inputDisabled = true;\r\n },\r\n // enable inputs after API reply is received.\r\n enableInputs(result: boolean): void {\r\n this.buttonText = \"Submit\";\r\n this.inputDisabled = false;\r\n if (result) {\r\n this.enquiryDisplayClass = \"invisible\";\r\n this.successDisplayClass = \"\";\r\n this.message = \"\";\r\n this.phone = \"\";\r\n this.email = \"\";\r\n this.company = \"\";\r\n this.name = \"\";\r\n } else {\r\n this.errorMessage =\r\n \"A problem has occurred while sending your enquiry. Please try again later.\";\r\n }\r\n },\r\n // runs when enquiry is submitted.\r\n async submitEnquiry() {\r\n if (this.hasValidEnquiryInput()) {\r\n this.disableInputs();\r\n let surgaId;\r\n if (this.enquiryModelProp.customPropertyIds) {\r\n surgaId = this.enquiryModelProp.customPropertyIds;\r\n } else {\r\n surgaId = listingDetailsUtil()\r\n .get()\r\n .listingProperty(\"SurgaWebListingId\");\r\n }\r\n const result = await enquiryCapture().sendEnquiryCapture(\r\n this.name,\r\n this.company,\r\n this.phone,\r\n this.email,\r\n this.message,\r\n surgaId,\r\n this.captchaSecurityKey\r\n );\r\n this.enableInputs(result);\r\n vueRecaptcha.value?.reset();\r\n }\r\n },\r\n setCaptchaKey(): void {\r\n this.googleCaptchaKey = globalValues().get(\"captchaKey\", \"\");\r\n },\r\n recaptchaVerified(response: string): void {\r\n this.captchaVerified = true;\r\n this.captchaSecurityKey = response;\r\n },\r\n\r\n // setups the address and returns the string.\r\n setupAddress(): string {\r\n const streetNumber: string = listingDetailsUtil()\r\n .get()\r\n .listingProperty(\"StreetNumber\");\r\n const streetName: string = listingDetailsUtil()\r\n .get()\r\n .listingProperty(\"StreetName\");\r\n const suburbName: string = listingDetailsUtil()\r\n .get()\r\n .listingProperty(\"SuburbName\");\r\n const PostCode: string = listingDetailsUtil()\r\n .get()\r\n .listingProperty(\"PostCode\");\r\n const siteName: string = listingDetailsUtil()\r\n .get()\r\n .listingProperty(\"SiteName\");\r\n let addressString: string = \"\";\r\n if (siteName) {\r\n addressString = addressString + siteName + \", \";\r\n }\r\n if (streetNumber) {\r\n addressString = addressString + streetNumber;\r\n }\r\n if (streetName) {\r\n addressString = addressString + \" \" + streetName + \", \";\r\n }\r\n if (suburbName) {\r\n addressString = addressString + suburbName;\r\n }\r\n if (PostCode) {\r\n addressString = addressString + \" \" + PostCode;\r\n }\r\n addressString = addressString.trim();\r\n while (addressString[addressString.length - 1] === \",\") {\r\n addressString = addressString.slice(0, -1);\r\n addressString = addressString.trim();\r\n }\r\n return addressString;\r\n },\r\n }\r\n});\r\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-3.use[2]!./style.scss?vue&type=style&index=0&id=3f25988d&scoped=true&lang=scss&external\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-3.use[2]!./style.scss?vue&type=style&index=0&id=3f25988d&scoped=true&lang=scss&external\";\n export default content && content.locals ? content.locals : undefined;\n","import { render } from \"./index.vue?vue&type=template&id=3f25988d&scoped=true&ts=true\"\nimport script from \"./component.ts?vue&type=script&lang=ts&external\"\nexport * from \"./component.ts?vue&type=script&lang=ts&external\"\n\nimport \"./style.scss?vue&type=style&index=0&id=3f25988d&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3f25988d\"]])\n\nexport default __exports__","import { validate } from \"../../../ts/validationComp\";\r\nexport class ButtonFontSettingsModel {\r\n public size: string;\r\n public sizeHover: string;\r\n public type: string;\r\n public typeHover: string;\r\n public weight: string;\r\n public weightHover: string;\r\n public letterSpacing: string;\r\n constructor(buttonModel: any) {\r\n if (!buttonModel) {\r\n buttonModel = {};\r\n }\r\n this.size = validate().size(buttonModel.size, \"\");\r\n this.sizeHover = validate().size(buttonModel.sizeHover, \"\");\r\n this.type = validate().string(buttonModel.type, \"\");\r\n this.typeHover = validate().string(buttonModel.typeHover, \"\");\r\n this.weight = validate().fontWeight(buttonModel.weight, \"\");\r\n this.weightHover = validate().fontWeight(buttonModel.weightHover, \"\");\r\n this.letterSpacing = validate().size(buttonModel.letterSpacing, \"\");\r\n }\r\n public getStyle(): Record {\r\n const styles: Record = {};\r\n if (this.size !== \"\") {\r\n styles[\"font-size\"] = this.size;\r\n }\r\n if (this.type !== \"\") {\r\n styles[\"font-family\"] = this.type;\r\n }\r\n if (this.weight !== \"\") {\r\n styles[\"font-weight\"] = this.weight;\r\n }\r\n if (this.sizeHover !== \"\") {\r\n styles[\"--font-size-hover\"] = this.sizeHover;\r\n } else {\r\n if (this.size !== \"\") {\r\n styles[\"--font-size-hover\"] = this.size;\r\n } else {\r\n styles[\"--font-size-hover\"] = \"inherit\";\r\n }\r\n }\r\n if (this.typeHover !== \"\") {\r\n styles[\"--font-family-hover\"] = this.typeHover;\r\n } else {\r\n if (this.type !== \"\") {\r\n styles[\"--font-family-hover\"] = this.type;\r\n } else {\r\n styles[\"--font-family-hover\"] = \"inherit\";\r\n }\r\n }\r\n if (this.weightHover !== \"\") {\r\n styles[\"--font-weight-hover\"] = this.weightHover;\r\n } else {\r\n if (this.weight !== \"\") {\r\n styles[\"--font-weight-hover\"] = this.weight;\r\n } else {\r\n styles[\"--font-weight-hover\"] = \"inherit\";\r\n }\r\n }\r\n if (this.letterSpacing !== \"\") {\r\n styles[\"letter-spacing\"] = this.letterSpacing;\r\n }\r\n return styles\r\n }\r\n}"],"names":["___CSS_LOADER_EXPORT___","push","module","id","justifyLeftRight","justify","justifyTopBottom","EnquiryComponentModel","constructor","componentModel","button","font","title","subtitle","response","overlay","mandatoryFields","this","Button","titleJustify","string","crossJustify","subtitleJustify","responseJustify","responseText","replace","colour","crossColour","errorColour","overlayBackground","backgroundColour","customAddressText","customMessageText","customPropertyIds","MandatoryFields","mandatoryModel","phone","boolean","company","message","buttonModel","style","width","size","justifyTmp","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","components","vueRecaptcha","props","isDisplayedProp","type","Boolean","default","enquiryModelProp","Object","emits","setup","showRecaptcha","recaptchaExpired","value","reset","recaptchaFailed","console","log","data","propertyAddress","errorMessage","inputDisabled","nameErrorClass","emailErrorClass","messageErrorClass","phoneErrorClass","companyErrorClass","name","email","buttonText","googleCaptchaKey","captchaVerified","captchaSecurityKey","transitionDisableClass","overlayStyle","buttonStyle","titleStyle","subtitleStyle","buttonFontStyle","successStyle","enquiryDisplayClass","successDisplayClass","computed","enquiryModel","keys","length","displayEnquiryOverlayClass","loadStyles","openEnquiry","disableTransitions","closeEnquiry","displayCaptcha","mounted","setCaptchaKey","methods","Promise","resolve","setTimeout","lockVerticalScroll","setupAddress","$emit","unlockVerticalScroll","getStyle","document","getElementsByTagName","overflowY","hasValidEnquiryInput","hasNoError","trim","disableInputs","enableInputs","result","submitEnquiry","surgaId","get","listingProperty","sendEnquiryCapture","recaptchaVerified","streetNumber","streetName","suburbName","PostCode","siteName","addressString","slice","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_ctx","_cache","$props","$setup","$data","$options","_component_vue_recaptcha","placeholder","disabled","rows","cols","ref","sitekey","theme","hl","ButtonFontSettingsModel","sizeHover","typeHover","weight","fontWeight","weightHover","letterSpacing","styles"],"sourceRoot":""}