{"version":3,"file":"geoapify-angular-geocoder-autocomplete.mjs","sources":["../../../projects/angular-geocoder-autocomplete/src/lib/geoapify-config.ts","../../../projects/angular-geocoder-autocomplete/src/lib/geocoder-autocomplete.component.ts","../../../projects/angular-geocoder-autocomplete/src/lib/geocoder-autocomplete.module.ts","../../../projects/angular-geocoder-autocomplete/src/public-api.ts","../../../projects/angular-geocoder-autocomplete/src/geoapify-angular-geocoder-autocomplete.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const GEOAPIFY_CONFIG = new InjectionToken<GeoapifyConfig>('geoapify.config');\nexport interface GeoapifyConfig {\n    apiKey: string;\n}\n","import {\n  Component,\n  OnInit,\n  ViewChild,\n  ElementRef,\n  AfterViewInit,\n  SimpleChanges,\n  Input,\n  OnChanges,\n  Output,\n  EventEmitter,\n  OnDestroy,\n  Inject\n} from '@angular/core';\nimport {\n  GeocoderAutocomplete,\n  LocationType,\n  SupportedLanguage,\n  CountyCode,\n  GeoPosition,\n  GeocoderAutocompleteOptions,\n  ByCountryCodeOptions,\n  ByCircleOptions,\n  ByRectOptions,\n  ByProximityOptions,\n  Category,\n  ItemType\n} from '@geoapify/geocoder-autocomplete';\nimport { GeoapifyConfig, GEOAPIFY_CONFIG } from './geoapify-config';\n\n@Component({\n  selector: 'geoapify-geocoder-autocomplete',\n  template: '<div class=\"geocoder-container\" #container></div>',\n  styles: [\n    '.geocoder-container {position: relative}'\n  ],\n  standalone: false\n})\nexport class GeocoderAutocompleteComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n\n  autocomplete: GeocoderAutocomplete;\n\n  @ViewChild('container')\n  container: ElementRef;\n\n  @Input()\n  value: string;\n\n  @Input()\n  placeholder: string;\n\n  @Input()\n  type: LocationType;\n\n  @Input()\n  skipIcons: boolean;\n\n  @Input()\n  addDetails: boolean;\n\n  @Input()\n  lang: SupportedLanguage;\n\n  @Input()\n  filterByCountryCode: ByCountryCodeOptions;\n\n  @Input()\n  filterByCircle: ByCircleOptions;\n\n  @Input()\n  filterByRect: ByRectOptions;\n\n  @Input()\n  biasByCountryCode: ByCountryCodeOptions;\n\n  @Input()\n  biasByCircle: ByCircleOptions;\n\n  @Input()\n  biasByRect: ByRectOptions;\n\n  @Input()\n  biasByProximity: ByProximityOptions;\n\n  @Input()\n  addCategorySearch: boolean;\n\n  @Input()\n  showPlacesByCategoryList: boolean;\n\n  @Input()\n  hidePlacesByCategoryListAfterSelect: boolean;\n\n  @Input()\n  enablePlacesByCategoryLazyLoading: boolean;\n\n  @Input()\n  placesByCategoryLimit: number;\n\n  @Input()\n  placesByCategoryFilter: {\n    [key: string]: ByCircleOptions | ByRectOptions | string;\n  };\n\n  @Input()\n  placesByCategoryBias: {\n    [key: string]: ByCircleOptions | ByRectOptions | ByProximityOptions;\n  };\n\n  @Input()\n  countryCodes: CountyCode[];   // deprecated\n\n  @Input()\n  position: GeoPosition;   // deprecated\n\n  @Input()\n  limit: number;\n\n  @Input()\n  debounceDelay: number;\n\n  @Input()\n  allowNonVerifiedHouseNumber: boolean;\n\n  @Input()\n  allowNonVerifiedStreet: boolean;\n\n  @Input()\n  skipSelectionOnArrowKey: boolean;\n\n  @Input()\n  preprocessingHook: (value: string) => string;\n\n  @Input()\n  postprocessingHook: (feature: any) => string;\n\n  @Input()\n  suggestionsFilter: (suggestions: any[]) => any[];\n\n  @Input()\n  sendGeocoderRequestFunc: (value: string, geocoderAutocomplete: GeocoderAutocomplete) => Promise<any>;\n\n  @Input()\n  sendPlaceDetailsRequestFunc: (feature: any, geocoderAutocomplete: GeocoderAutocomplete) => Promise<any>;\n\n  @Input()\n  sendPlacesByCategoryRequestFunc: (category: string[], offset: number, geocoderAutocomplete: GeocoderAutocomplete) => Promise<any>;\n\n  @Output()\n  placeSelect: EventEmitter<any> = new EventEmitter<any>();\n\n  @Output()\n  suggestionsChange: EventEmitter<any> = new EventEmitter<any>();\n\n  @Output()\n  userInput: EventEmitter<string> = new EventEmitter<string>();\n\n  @Output()\n  open: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n  @Output()\n  close: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n  @Output()\n  requestStart: EventEmitter<any> = new EventEmitter<any>();\n\n  @Output()\n  requestEnd: EventEmitter<any> = new EventEmitter<any>();\n\n  @Output()\n  placesByCategoryChange: EventEmitter<any[]> = new EventEmitter<any[]>();\n\n  @Output()\n  placesByCategoryRequestStart: EventEmitter<Category> = new EventEmitter<Category>();\n\n  @Output()\n  placesByCategoryRequestEnd: EventEmitter<{success: boolean, data?: any, error?: any}> =\n    new EventEmitter<{success: boolean, data?: any, error?: any}>();\n\n  @Output()\n  placeDetailsRequestStart: EventEmitter<any> = new EventEmitter<any>();\n\n  @Output()\n  placeDetailsRequestEnd: EventEmitter<{success: boolean, data?: any, error?: any}> =\n    new EventEmitter<{success: boolean, data?: any, error?: any}>();\n\n  @Output()\n  placeByCategorySelect: EventEmitter<{place: any, index: number}> =\n    new EventEmitter<{place: any, index: number}>();\n\n  @Output()\n  clear: EventEmitter<ItemType> = new EventEmitter<ItemType>();\n\n  constructor(@Inject(GEOAPIFY_CONFIG) private config: GeoapifyConfig) { }\n\n  ngOnInit(): void {\n\n  }\n\n  ngAfterViewInit() {\n    if(typeof document === 'undefined') {\n      return;\n    }\n    const options: GeocoderAutocompleteOptions = {};\n\n    if (this.placeholder) {\n      options.placeholder = this.placeholder;\n    }\n\n    if (this.type) {\n      options.type = this.type;\n    }\n\n    if (this.lang) {\n      options.lang = this.lang;\n    }\n\n    if (this.limit) {\n      options.limit = this.limit;\n    }\n\n    if (this.debounceDelay) {\n      options.debounceDelay = this.debounceDelay;\n    }\n\n    if (this.skipIcons) {\n      options.skipIcons = this.skipIcons;\n    }\n\n    if (this.addDetails) {\n      options.addDetails = this.addDetails;\n    }\n\n    if (this.allowNonVerifiedHouseNumber !== undefined) {\n      options.allowNonVerifiedHouseNumber = this.allowNonVerifiedHouseNumber;\n    }\n\n    if (this.allowNonVerifiedStreet !== undefined) {\n      options.allowNonVerifiedStreet = this.allowNonVerifiedStreet;\n    }\n\n    if (this.skipSelectionOnArrowKey !== undefined) {\n      options.skipSelectionOnArrowKey = this.skipSelectionOnArrowKey;\n    }\n\n    if (this.addCategorySearch !== undefined) {\n      options.addCategorySearch = this.addCategorySearch;\n    }\n\n    if (this.showPlacesByCategoryList !== undefined) {\n      options.showPlacesList = this.showPlacesByCategoryList;\n    }\n\n    if (this.hidePlacesByCategoryListAfterSelect !== undefined) {\n      options.hidePlacesListAfterSelect = this.hidePlacesByCategoryListAfterSelect;\n    }\n\n    if (this.enablePlacesByCategoryLazyLoading !== undefined) {\n      options.enablePlacesLazyLoading = this.enablePlacesByCategoryLazyLoading;\n    }\n\n    if (this.placesByCategoryLimit) {\n      options.placesLimit = this.placesByCategoryLimit;\n    }\n\n    if (this.placesByCategoryFilter) {\n      options.placesFilter = this.placesByCategoryFilter;\n    }\n\n    if (this.placesByCategoryBias) {\n      options.placesBias = this.placesByCategoryBias;\n    }\n\n    this.autocomplete = new GeocoderAutocomplete(this.container.nativeElement, this.config.apiKey, options);\n\n    if (this.value) {\n      this.autocomplete.setValue(this.value);\n    }\n\n    if (this.countryCodes) {\n      console.warn(\"WARNING! Obsolete function called. The  'countryCodes' input has been deprecated, please use the new 'filterByCountryCode' input instead!\");\n      this.autocomplete.addFilterByCountry(this.countryCodes);\n    }\n\n    if (this.position) {\n      console.warn(\"WARNING! Obsolete function called. The  'position' input has been deprecated, please use the new 'biasByLocation' input instead!\");\n      this.autocomplete.addBiasByProximity(this.position);\n    }\n\n    if (this.filterByCircle) {\n      this.autocomplete.addFilterByCircle(this.filterByCircle);\n    }\n\n    if (this.filterByCountryCode) {\n      this.autocomplete.addFilterByCountry(this.filterByCountryCode);\n    }\n\n    if (this.filterByRect) {\n      this.autocomplete.addFilterByRect(this.filterByRect);\n    }\n\n    if (this.biasByCircle) {\n      this.autocomplete.addBiasByCircle(this.biasByCircle);\n    }\n\n    if (this.biasByRect) {\n      this.autocomplete.addBiasByRect(this.biasByRect);\n    }\n\n    if (this.biasByProximity) {\n      this.autocomplete.addBiasByProximity(this.biasByProximity);\n    }\n\n    if (this.biasByCountryCode) {\n      this.autocomplete.addBiasByCountry(this.biasByCountryCode);\n    }\n\n    if (this.preprocessingHook) {\n      this.autocomplete.setPreprocessHook(this.preprocessingHook);\n    }\n\n    if (this.postprocessingHook) {\n      this.autocomplete.setPostprocessHook(this.postprocessingHook);\n    }\n\n    if (this.suggestionsFilter) {\n      this.autocomplete.setSuggestionsFilter(this.suggestionsFilter);\n    }\n\n    if (this.sendGeocoderRequestFunc) {\n      this.autocomplete.setSendGeocoderRequestFunc(this.sendGeocoderRequestFunc);\n    }\n\n    if (this.sendPlaceDetailsRequestFunc) {\n      this.autocomplete.setSendPlaceDetailsRequestFunc(this.sendPlaceDetailsRequestFunc);\n    }\n\n    if (this.sendPlacesByCategoryRequestFunc) {\n      this.autocomplete.setSendPlacesRequestFunc(this.sendPlacesByCategoryRequestFunc);\n    }\n\n    this.autocomplete.on('select', this.onSelect.bind(this));\n    this.autocomplete.on('suggestions', this.onSuggestions.bind(this));\n    this.autocomplete.on('input', this.onInput.bind(this));\n    this.autocomplete.on('open', this.onOpen.bind(this));\n    this.autocomplete.on('close', this.onClose.bind(this));\n    this.autocomplete.on('request_start', this.onRequestStart.bind(this));\n    this.autocomplete.on('request_end', this.onRequestEnd.bind(this));\n    this.autocomplete.on('places', this.onPlacesByCategoryChange.bind(this));\n    this.autocomplete.on('places_request_start', this.onPlacesByCategoryRequestStart.bind(this));\n    this.autocomplete.on('places_request_end', this.onPlacesByCategoryRequestEnd.bind(this));\n    this.autocomplete.on('place_details_request_start', this.onPlaceDetailsRequestStart.bind(this));\n    this.autocomplete.on('place_details_request_end', this.onPlaceDetailsRequestEnd.bind(this));\n    this.autocomplete.on('place_select', this.onPlaceByCategorySelect.bind(this));\n    this.autocomplete.on('clear', this.onClear.bind(this));\n  }\n\n  onSelect(value: any) {\n    this.placeSelect.emit(value);\n  }\n\n  onSuggestions(value: any) {\n    this.suggestionsChange.emit(value);\n  }\n\n  onInput(value: string) {\n    this.userInput.emit(value);\n  }\n\n  onOpen(opened: boolean) {\n    this.open.emit(opened);\n  }\n\n  onClose(opened: boolean) {\n    this.close.emit(opened);\n  }\n\n  onRequestStart(value: any) {\n    this.requestStart.emit(value);\n  }\n\n  onRequestEnd(value: any) {\n    this.requestEnd.emit(value);\n  }\n\n  onPlacesByCategoryChange(places: any[]) {\n    this.placesByCategoryChange.emit(places);\n  }\n\n  onPlacesByCategoryRequestStart(value: Category) {\n    this.placesByCategoryRequestStart.emit(value);\n  }\n\n  onPlacesByCategoryRequestEnd(value: {success: boolean, data?: any, error?: any}) {\n    this.placesByCategoryRequestEnd.emit(value);\n  }\n\n  onPlaceDetailsRequestStart(value: any) {\n    this.placeDetailsRequestStart.emit(value);\n  }\n\n  onPlaceDetailsRequestEnd(value: {success: boolean, data?: any, error?: any}) {\n    this.placeDetailsRequestEnd.emit(value);\n  }\n\n  onPlaceByCategorySelect(value: {place: any, index: number}) {\n    this.placeByCategorySelect.emit(value);\n  }\n\n  onClear(value: ItemType) {\n    this.clear.emit(value);\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n\n    if (!this.autocomplete) {\n      return;\n    }\n\n    if (changes['value'] &&\n      !changes['value'].isFirstChange()) {\n      this.autocomplete.setValue(changes['value'].currentValue);\n    }\n\n    if (changes['type'] &&\n      !changes['type'].isFirstChange()) {\n      this.autocomplete.setType(changes['type'].currentValue);\n    }\n\n    if (changes['lang'] &&\n      !changes['lang'].isFirstChange()) {\n      this.autocomplete.setLang(changes['lang'].currentValue);\n    }\n\n    if (changes['filterByCircle'] &&\n      !changes['filterByCircle'].isFirstChange()) {\n      this.autocomplete.addFilterByCircle(changes['filterByCircle'].currentValue);\n    }\n\n    if (changes['filterByCountryCode'] &&\n      !changes['filterByCountryCode'].isFirstChange()) {\n      this.autocomplete.addFilterByCountry(changes['filterByCountryCode'].currentValue);\n    }\n\n    if (changes['filterByRect'] &&\n      !changes['filterByRect'].isFirstChange()) {\n      this.autocomplete.addFilterByRect(changes['filterByRect'].currentValue);\n    }\n\n    if (changes['biasByCircle'] &&\n      !changes['biasByCircle'].isFirstChange()) {\n      this.autocomplete.addBiasByCircle(changes['biasByCircle'].currentValue);\n    }\n\n    if (changes['biasByRect'] &&\n      !changes['biasByRect'].isFirstChange()) {\n      this.autocomplete.addBiasByRect(changes['biasByRect'].currentValue);\n    }\n\n    if (changes['biasByProximity'] &&\n      !changes['biasByProximity'].isFirstChange()) {\n      this.autocomplete.addBiasByProximity(changes['biasByProximity'].currentValue);\n    }\n\n    if (changes['biasByCountryCode'] &&\n      !changes['biasByCountryCode'].isFirstChange()) {\n      this.autocomplete.addBiasByCountry(changes['biasByCountryCode'].currentValue);\n    }\n\n    if (changes['countryCodes'] &&\n      !changes['countryCodes'].isFirstChange()) {\n      console.warn(\"WARNING! Obsolete function called. The  'countryCodes' input has been deprecated, please use the new 'filterByCountryCode' input instead!\");\n      this.autocomplete.addFilterByCountry(changes['countryCodes'].currentValue);\n    }\n\n    if (changes['position'] &&\n      !changes['position'].isFirstChange()) {\n      console.warn(\"WARNING! Obsolete function called. The  'position' input has been deprecated, please use the new 'biasByLocation' input instead!\");\n      this.autocomplete.addBiasByProximity(changes['position'].currentValue);\n    }\n\n    if (changes['limit'] &&\n      !changes['limit'].isFirstChange()) {\n      this.autocomplete.setLimit(changes['limit'].currentValue);\n    }\n\n    if (changes['preprocessingHook'] &&\n      !changes['preprocessingHook'].isFirstChange()) {\n      this.autocomplete.setPreprocessHook(changes['preprocessingHook'].currentValue);\n    }\n\n    if (changes['postprocessingHook'] &&\n      !changes['postprocessingHook'].isFirstChange()) {\n      this.autocomplete.setPostprocessHook(changes['postprocessingHook'].currentValue);\n    }\n\n    if (changes['suggestionsFilter'] &&\n      !changes['suggestionsFilter'].isFirstChange()) {\n      this.autocomplete.setSuggestionsFilter(changes['suggestionsFilter'].currentValue);\n    }\n\n    if (changes['allowNonVerifiedHouseNumber'] &&\n      !changes['allowNonVerifiedHouseNumber'].isFirstChange()) {\n      this.autocomplete.setAllowNonVerifiedHouseNumber(changes['allowNonVerifiedHouseNumber'].currentValue);\n    }\n\n    if (changes['allowNonVerifiedStreet'] &&\n      !changes['allowNonVerifiedStreet'].isFirstChange()) {\n      this.autocomplete.setAllowNonVerifiedStreet(changes['allowNonVerifiedStreet'].currentValue);\n    }\n  }\n\n  selectCategory(category: Category | string | string[] | null): Promise<void> {\n    return this.autocomplete.selectCategory(category);\n  }\n\n  clearCategory(): Promise<void> {\n    return this.autocomplete.clearCategory();\n  }\n\n  getCategory(): Category | null {\n    return this.autocomplete.getCategory();\n  }\n\n  setPlacesLimit(limit: number): void {\n    this.autocomplete.setPlacesLimit(limit);\n  }\n\n  sendPlacesRequest(): Promise<void> {\n    return this.autocomplete.sendPlacesRequest();\n  }\n\n  resendPlacesRequestForMore(appendPlaces?: boolean): Promise<void> {\n    return this.autocomplete.resendPlacesRequestForMore(appendPlaces);\n  }\n\n  selectPlace(index: number | null): void {\n    this.autocomplete.selectPlace(index);\n  }\n\n  setPlacesFilterByCircle(filterByCircle: ByCircleOptions): void {\n    this.autocomplete.setPlacesFilterByCircle(filterByCircle);\n  }\n\n  setPlacesFilterByRect(filterByRect: ByRectOptions): void {\n    this.autocomplete.setPlacesFilterByRect(filterByRect);\n  }\n\n  setPlacesFilterByPlace(filterByPlace: string): void {\n    this.autocomplete.setPlacesFilterByPlace(filterByPlace);\n  }\n\n  setPlacesFilterByGeometry(filterByGeometry: string): void {\n    this.autocomplete.setPlacesFilterByGeometry(filterByGeometry);\n  }\n\n  clearPlacesFilters(): void {\n    this.autocomplete.clearPlacesFilters();\n  }\n\n  setPlacesBiasByCircle(biasByCircle: ByCircleOptions): void {\n    this.autocomplete.setPlacesBiasByCircle(biasByCircle);\n  }\n\n  setPlacesBiasByRect(biasByRect: ByRectOptions): void {\n    this.autocomplete.setPlacesBiasByRect(biasByRect);\n  }\n\n  setPlacesBiasByProximity(biasByProximity: ByProximityOptions): void {\n    this.autocomplete.setPlacesBiasByProximity(biasByProximity);\n  }\n\n  clearPlacesBias(): void {\n    this.autocomplete.clearPlacesBias();\n  }\n\n  setValue(value: string): void {\n    this.autocomplete.setValue(value);\n  }\n\n  getValue(): string {\n    return this.autocomplete.getValue();\n  }\n\n  setAddDetails(addDetails: boolean): void {\n    this.autocomplete.setAddDetails(addDetails);\n  }\n\n  setSkipIcons(skipIcons: boolean): void {\n    this.autocomplete.setSkipIcons(skipIcons);\n  }\n\n  addFilterByPlace(filterByPlace: string): void {\n    this.autocomplete.addFilterByPlace(filterByPlace);\n  }\n\n  clearFilters(): void {\n    this.autocomplete.clearFilters();\n  }\n\n  clearBias(): void {\n    this.autocomplete.clearBias();\n  }\n\n  isOpen(): boolean {\n    return this.autocomplete.isOpen();\n  }\n\n  openDropdown(): void {\n    this.autocomplete.open();\n  }\n\n  closeDropdown(): void {\n    this.autocomplete.close();\n  }\n\n  sendGeocoderRequest(value: string): Promise<any> {\n    return this.autocomplete.sendGeocoderRequest(value);\n  }\n\n  sendPlaceDetailsRequest(feature: any): Promise<any> {\n    return this.autocomplete.sendPlaceDetailsRequest(feature);\n  }\n\n  ngOnDestroy() {\n    if(this.autocomplete) {\n      this.autocomplete.off('select');\n      this.autocomplete.off('suggestions');\n      this.autocomplete.off('input');\n      this.autocomplete.off('open');\n      this.autocomplete.off('close');\n      this.autocomplete.off('request_start');\n      this.autocomplete.off('request_end');\n      this.autocomplete.off('places');\n      this.autocomplete.off('places_request_start');\n      this.autocomplete.off('places_request_end');\n      this.autocomplete.off('place_details_request_start');\n      this.autocomplete.off('place_details_request_end');\n      this.autocomplete.off('place_select');\n      this.autocomplete.off('clear');\n    }\n  }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { GeocoderAutocompleteComponent } from './geocoder-autocomplete.component';\nimport { GEOAPIFY_CONFIG } from './geoapify-config';\n\n@NgModule({\n  declarations: [GeocoderAutocompleteComponent],\n  imports: [\n  ],\n  exports: [GeocoderAutocompleteComponent]\n})\nexport class GeoapifyGeocoderAutocompleteModule {\n  static withConfig( apiKey: string ): ModuleWithProviders<GeoapifyGeocoderAutocompleteModule> {\n    return {\n      ngModule: GeoapifyGeocoderAutocompleteModule,\n      providers: [\n        { provide: GEOAPIFY_CONFIG, useValue: { apiKey: apiKey }}\n      ]\n    };\n  }\n}\n","/*\n * Public API Surface of angular-geocoder-autocomplete\n */\n\nexport * from './lib/geocoder-autocomplete.component';\nexport * from './lib/geocoder-autocomplete.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}