{"version":3,"file":"C8rq0IVO.js","sources":["../../../../components/Autocompleter.vue","../../../../composables/useAutocompleter.ts","../../../../components/signup/AddressChecker.vue"],"sourcesContent":["\n\n\n","import { ref, watch, onMounted } from 'vue'\nimport { useDebounce } from '@vueuse/core'\nimport { Loader } from '@googlemaps/js-api-loader'\nimport { useErrorReporter } from '@/composables/useErrorReporter'\n\nexport function useAddressAutocompleter () {\n\tconst { reportError } = useErrorReporter(useBugsnag().notify)\n\tconst searchTerm = ref('')\n\tconst searchPlaceId = ref('')\n\tconst activeSearchItem = ref(-1)\n\tconst resultList = ref<{desc: string, id: string}[]>([])\n\tconst isSearchActive = ref(false)\n\tconst dontSearch = ref(false)\n\tconst service = ref(null)\n\tconst loaderError = ref(false)\n\tconst selectedFromList = ref(false)\n\n\tconst displaySuggestions = (predictions: google.maps.places.AutocompletePrediction[] | null, status: google.maps.places.PlacesServiceStatus) => {\n\t\tif (!google || status !== google.maps.places.PlacesServiceStatus.OK || !predictions) { return }\n\t\tresultList.value.length = 0\n\t\tpredictions\n\t\t\t.filter(result => result.description)\n\t\t\t.forEach(result => resultList.value.push({ desc: result.description, id: result.place_id }))\n\t}\n\n\tconst doSearch = async () => {\n\t\tif (!google || loaderError.value) { return }\n\n\t\tif (!service.value) {\n\t\t\tconst { AutocompleteService } = await google.maps.importLibrary('places') as google.maps.PlacesLibrary\n\t\t\tservice.value = new AutocompleteService()\n\t\t}\n\t\tif (searchTerm.value) {\n\t\t\tconst options = {\n\t\t\t\tinput: searchTerm.value,\n\t\t\t\tlocationBias: {\n\t\t\t\t\tcenter: new google.maps.LatLng(39.5186, -104.7614), // Parker, CO\n\t\t\t\t\tradius: 80000 // 80km or ~50mi\n\t\t\t\t},\n\t\t\t\ttypes: [ 'address' ]\n\t\t\t}\n\t\t\tservice.value.getPlacePredictions(options, displaySuggestions)\n\t\t}\n\t}\n\n\tconst searchFocused = (event: FocusEvent) => {\n\t\tisSearchActive.value = true\n\t\tconst target = event.target as HTMLInputElement | null\n\t\ttarget?.select()\n\t}\n\n\tconst searchBlurred = () => {\n\t\tsetTimeout(() => { isSearchActive.value = false }, 150)\n\t}\n\n\tconst checkActiveSearchIndex = () => {\n\t\tif (activeSearchItem.value < 0) {\n\t\t\tactiveSearchItem.value = resultList.value.length - 1\n\t\t} else if (activeSearchItem.value >= resultList.value.length) {\n\t\t\tactiveSearchItem.value = -1\n\t\t}\n\t}\n\n\tconst handleKeyPress = (event: KeyboardEvent) => {\n\t\tselectedFromList.value = false\n\t\tif (event.key === 'ArrowDown') {\n\t\t\tactiveSearchItem.value++\n\t\t\tcheckActiveSearchIndex()\n\t\t} else if (event.key === 'ArrowUp') {\n\t\t\tactiveSearchItem.value--\n\t\t\tcheckActiveSearchIndex()\n\t\t} else if (event.key === 'Enter') {\n\t\t\tif (activeSearchItem.value >= 0) {\n\t\t\t\tsetSearchTerm(resultList.value[activeSearchItem.value]?.desc, resultList.value[activeSearchItem.value]?.id, activeSearchItem.value)\n\t\t\t}\n\t\t}\n\t}\n\n\tconst setSearchTerm = (newSearchTerm: string, id: string, index: number) => {\n\t\tdontSearch.value = true\n\t\tsearchTerm.value = newSearchTerm\n\t\tsearchPlaceId.value = id\n\t\tselectedFromList.value = true\n\t\tif (index !== undefined) {\n\t\t\tactiveSearchItem.value = index\n\t\t}\n\t}\n\n\tconst debounced = useDebounce(searchTerm, 200)\n\n\twatch(debounced, () => {\n\t\tif (!dontSearch.value) {\n\t\t\tdoSearch()\n\t\t}\n\t\tdontSearch.value = false\n\t})\n\n\tonMounted(() => {\n\t\tconst loader = new Loader({ // https://developers.google.com/maps/documentation/javascript/overview#Loading_the_Maps_API\n\t\t\tapiKey: import.meta.env.VITE_GOOGLE_MAPS_API_KEY,\n\t\t\tversion: 'quarterly',\n\t\t\tlibraries: [ 'places', 'geocoding' ]\n\t\t})\n\n\t\tloader.load().then(async () => {\n\t\t\tawait google.maps.importLibrary('places')\n\t\t}).catch((error) => {\n\t\t\treportError('Google Maps API Error', error)\n\t\t\tloaderError.value = true\n\t\t})\n\t})\n\n\treturn { setSearchTerm, searchTerm, activeSearchItem, resultList, isSearchActive, searchFocused, searchBlurred, handleKeyPress, searchPlaceId, selectedFromList }\n}\n","\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\n\n\n\n"],"names":["props","__props","resultList","isSearchActive","activeSearchItem","toRefs","emit","__emit","handleSetSearchTerm","searchTerm","id","index","useAddressAutocompleter","reportError","useErrorReporter","useBugsnag","ref","searchPlaceId","dontSearch","service","loaderError","selectedFromList","displaySuggestions","predictions","status","result","doSearch","AutocompleteService","options","searchFocused","event","target","searchBlurred","checkActiveSearchIndex","handleKeyPress","setSearchTerm","_a","_b","newSearchTerm","debounced","useDebounce","watch","onMounted","Loader","error","loading","getProspectAddressData","getProspectAddressWithPlaceId","useProspectAddress","addToast","useToast","t","useI18n","buttonText","isHeroForm","showErrorMessageOnInvalid","errorMessage","showList","zipCode","placeId","trackedEvent","ADDRESS_CHECK_AUTOCOMPLETE_SELECT","useTrackEvent","submit","ERROR_TRACK","ADDRESS_CHECK_SUBMIT","showIcon","computed","floatingLabel","hideLabel","submitfocusClasses","searchFocusClasses"],"mappings":"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"}