{"version":3,"file":"vue-google-maps-address-autocomplete.esm-PlQyzhDm.js","sources":["../../../node_modules/vue-google-maps-address-autocomplete/dist/vue-google-maps-address-autocomplete.esm.js"],"sourcesContent":["var script = {\n data () {\n return {\n addressAutocompleteRef: 'addressAutocompleteReference',\n };\n },\n props: {\n countryRestrictions: {\n type: Array,\n default () {\n return ['be'];\n },\n },\n },\n methods: {\n loadScript (src, id = null) {\n return new Promise(function (resolve, reject) {\n if (document.querySelector('script[src=\"' + src + '\"]')) {\n resolve();\n\n return;\n }\n\n const el = document.createElement('script');\n\n el.type = 'text/javascript';\n el.async = true;\n el.src = src;\n el.id = id;\n\n el.addEventListener('load', resolve);\n el.addEventListener('error', reject);\n el.addEventListener('abort', reject);\n\n document.head.appendChild(el);\n });\n },\n loadGoogleMapsScript () {\n this.loadScript(`https://maps.googleapis.com/maps/api/js?key=${this.$googleMapsApiKey}&libraries=places`)\n .then(() => {\n this.initializeAddressAutocomplete();\n });\n },\n initializeAddressAutocomplete () {\n const refComponent = this.$scopedSlots.default()[0].context.$refs[this.addressAutocompleteRef];\n\n if (!refComponent) return;\n\n let inputElement;\n if (refComponent.$children && refComponent.$children[0]) {\n inputElement = Object.values(refComponent.$children[0].$refs)[0];\n } else if (refComponent.$refs) {\n inputElement = Object.values(refComponent.$refs)[0];\n } else {\n inputElement = refComponent;\n }\n\n this.autocomplete = new google.maps.places.Autocomplete(\n inputElement,\n { types: ['geocode'] },\n );\n\n this.autocomplete.setComponentRestrictions({ country: this.countryRestrictions });\n\n this.autocomplete.addListener('place_changed', () => {\n const place = this.autocomplete.getPlace();\n const ac = place.address_components;\n\n if (!ac) return;\n\n const {\n route: streetName,\n street_number: streetNumber = null,\n postal_code: zipCode = null,\n locality: city = null,\n } = ac.reduce(function (map, obj) {\n map[obj.types[0]] = obj.short_name;\n return map;\n }, {});\n\n this.$emit('update-address', { streetName, streetNumber, zipCode, city });\n });\n },\n },\n render () {\n return this.$scopedSlots.default({\n loadGoogleMapsScript: this.loadGoogleMapsScript,\n addressAutocompleteRef: this.addressAutocompleteRef,\n });\n },\n};\n\nscript.__file = \"src/AddressAutocomplete.vue\";\n\n// Import vue component\n\n// install function executed by Vue.use()\nfunction install(Vue) {\n if (install.installed) return;\n install.installed = true;\n Vue.component('AddressAutocomplete', script);\n}\n// Create module definition for Vue.use()\nconst plugin = {\n install,\n};\n\n// To auto-install when vue is found\nlet GlobalVue = null;\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\n// Inject install function into component - allows component\n// to be registered via Vue.use() as well as Vue.component()\nscript.install = install;\n\nexport { script as default };\n//# sourceMappingURL=vue-google-maps-address-autocomplete.esm.js.map\n"],"names":["script","src","id","resolve","reject","el","refComponent","inputElement","ac","streetName","streetNumber","zipCode","city","map","obj","install","Vue","plugin","GlobalVue"],"mappings":"AAAG,IAACA,EAAS,CACX,MAAQ,CACN,MAAO,CACL,uBAAwB,8BAC9B,CACG,EACD,MAAO,CACL,oBAAqB,CACnB,KAAM,MACN,SAAW,CACT,MAAO,CAAC,IAAI,CACb,CACF,CACF,EACD,QAAS,CACP,WAAYC,EAAKC,EAAK,KAAM,CAC1B,OAAO,IAAI,QAAQ,SAAUC,EAASC,EAAQ,CAC5C,GAAI,SAAS,cAAc,eAAiBH,EAAM,IAAI,EAAG,CACvDE,IAEA,MACD,CAED,MAAME,EAAK,SAAS,cAAc,QAAQ,EAE1CA,EAAG,KAAO,kBACVA,EAAG,MAAQ,GACXA,EAAG,IAAMJ,EACTI,EAAG,GAAKH,EAERG,EAAG,iBAAiB,OAAQF,CAAO,EACnCE,EAAG,iBAAiB,QAASD,CAAM,EACnCC,EAAG,iBAAiB,QAASD,CAAM,EAEnC,SAAS,KAAK,YAAYC,CAAE,CACpC,CAAO,CACF,EACD,sBAAwB,CACtB,KAAK,WAAW,+CAA+C,KAAK,iBAAiB,mBAAmB,EACvG,KAAK,IAAM,CACV,KAAK,8BAA6B,CAC1C,CAAO,CACF,EACD,+BAAiC,CAC/B,MAAMC,EAAe,KAAK,aAAa,QAAS,EAAC,CAAC,EAAE,QAAQ,MAAM,KAAK,sBAAsB,EAE7F,GAAI,CAACA,EAAc,OAEnB,IAAIC,EACAD,EAAa,WAAaA,EAAa,UAAU,CAAC,EACpDC,EAAe,OAAO,OAAOD,EAAa,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,EACtDA,EAAa,MACtBC,EAAe,OAAO,OAAOD,EAAa,KAAK,EAAE,CAAC,EAElDC,EAAeD,EAGjB,KAAK,aAAe,IAAI,OAAO,KAAK,OAAO,aACzCC,EACA,CAAE,MAAO,CAAC,SAAS,CAAG,CAC9B,EAEM,KAAK,aAAa,yBAAyB,CAAE,QAAS,KAAK,mBAAmB,CAAE,EAEhF,KAAK,aAAa,YAAY,gBAAiB,IAAM,CAEnD,MAAMC,EADQ,KAAK,aAAa,SAAQ,EACvB,mBAEjB,GAAI,CAACA,EAAI,OAET,KAAM,CACJ,MAAOC,EACP,cAAeC,EAAe,KAC9B,YAAaC,EAAU,KACvB,SAAUC,EAAO,IAClB,EAAGJ,EAAG,OAAO,SAAUK,EAAKC,EAAK,CAChC,OAAAD,EAAIC,EAAI,MAAM,CAAC,CAAC,EAAIA,EAAI,WACjBD,CACR,EAAE,CAAE,CAAA,EAEL,KAAK,MAAM,iBAAkB,CAAE,WAAAJ,EAAY,aAAAC,EAAc,QAAAC,EAAS,KAAAC,CAAI,CAAE,CAChF,CAAO,CACF,CACF,EACD,QAAU,CACR,OAAO,KAAK,aAAa,QAAQ,CAC/B,qBAAsB,KAAK,qBAC3B,uBAAwB,KAAK,sBACnC,CAAK,CACF,CACH,EAEAZ,EAAO,OAAS,8BAKhB,SAASe,EAAQC,EAAK,CAChBD,EAAQ,YACZA,EAAQ,UAAY,GACpBC,EAAI,UAAU,sBAAuBhB,CAAM,EAC7C,CAEA,MAAMiB,EAAS,CACb,QAAAF,CACF,EAGA,IAAIG,EAAY,KACZ,OAAO,OAAW,IACpBA,EAAY,OAAO,IACV,OAAO,OAAW,MAC3BA,EAAY,OAAO,KAEjBA,GACFA,EAAU,IAAID,CAAM,EAKtBjB,EAAO,QAAUe","x_google_ignoreList":[0]}