{"version":3,"file":"scorpiosl4-ngx-google-auto-complete.mjs","sources":["../../../projects/google-auto-complete/src/lib/components/google-auto-complete/google-auto-complete.component.ts","../../../projects/google-auto-complete/src/lib/components/google-auto-complete/google-auto-complete.component.html","../../../projects/google-auto-complete/src/lib/google-auto-complete.module.ts","../../../projects/google-auto-complete/src/lib/interfaces/address.ts","../../../projects/google-auto-complete/src/lib/interfaces/photo.ts","../../../projects/google-auto-complete/src/lib/interfaces/options/componentRestrictions.ts","../../../projects/google-auto-complete/src/lib/interfaces/options/options.ts","../../../projects/google-auto-complete/src/public-api.ts","../../../projects/google-auto-complete/src/scorpiosl4-ngx-google-auto-complete.ts"],"sourcesContent":["import { Component, Output, ViewChild, EventEmitter, Input, ElementRef, AfterViewInit } from '@angular/core';\nimport { GooglePlaceDirective } from 'ngx-google-places-autocomplete';\nimport { Address } from '../../interfaces/address';\nimport { IAttribute } from '../../interfaces/attribute.interface';\nimport { IGoogleAddressComponents } from '../../interfaces/google-address-change.interface';\nimport { Options } from '../../interfaces/options/options';\nimport { AUTO_COMPLETE_TYPE } from '../../types/autocomplete.type';\n\n@Component({\n  selector: 'ngx-google-auto-complete',\n  templateUrl: './google-auto-complete.component.html',\n  styleUrls: ['./google-auto-complete.component.scss']\n})\nexport class GoogleAutoCompleteComponent implements AfterViewInit {\n\n  private _attributeData: IAttribute[] = [];\n  private _cssClass: string = '';\n\n  @ViewChild('Inputbox')\n  public Inputbox: ElementRef<any>;\n\n  @ViewChild('placesRef')\n  public placesRef: GooglePlaceDirective;\n\n  @Output()\n  public onPlaceSelect: EventEmitter<Address | IGoogleAddressComponents[]> = new EventEmitter();\n\n  @Output()\n  public onInputInitialized: EventEmitter<ElementRef> = new EventEmitter();\n\n  @Input()\n  public textboxValue: string = '';\n\n  @Input()\n  public autoCompleteType: AUTO_COMPLETE_TYPE = 'ADDRESS';\n\n  @Input()\n  public placeHolder: string = 'Enter a location';\n\n  @Input() public options: Options = {\n    types: ['(cities)'],\n  };\n\n  @Input() public set attributes(data: IAttribute[]) {\n    this._attributeData = data;\n    this.setAttributes(data);\n  }\n\n  @Input() public set cssClass(cls: string) {\n    this._cssClass = cls;\n  }\n\n  public get cssClass(): string {\n    return this._cssClass;\n  }\n\n  public ngAfterViewInit(): void {\n    this.setAttributes(this._attributeData);\n    this.afterInputInitialized();\n  }\n\n  public afterInputInitialized(): void {\n    if (this.Inputbox) {\n      this.onInputInitialized.emit(this.Inputbox);\n    }\n  }\n\n  private setAttributes(data: IAttribute[]): void {\n    if (this.Inputbox && this.Inputbox.nativeElement) {\n      const element: HTMLElement = this.Inputbox.nativeElement;\n      for (const d of data) {\n        element.setAttribute(d.name, d.value);\n      }\n    }\n  }\n\n  public get settings(): any {\n    return this.options;\n  }\n\n  public onAddressChange(event: Address): void {\n    switch (this.autoCompleteType) {\n      case 'ADDRESS':\n      case 'COMPLETE_ADDRESS':\n        this.textboxValue = '';\n        const countryAndCity: IGoogleAddressComponents[] = event.address_components.filter(\n          (address: IGoogleAddressComponents) => {\n            return address.types.includes('country') || address.types.includes('locality');\n          },\n        );\n        countryAndCity.forEach((cn: IGoogleAddressComponents) => {\n          if (this.textboxValue === '') {\n            this.textboxValue += cn.long_name;\n          }\n          else {\n            this.textboxValue += ', ' + cn.long_name;\n          }\n          cn.geometry = event.geometry;\n        });\n        if (this.autoCompleteType === 'ADDRESS') {\n          this.onPlaceSelect.emit(countryAndCity);\n        } else {\n          this.onPlaceSelect.emit(event);\n        }\n        break;\n      case 'BUSINESS':\n        this.textboxValue = event.name;\n        this.onPlaceSelect.emit(event);\n        break;\n      default:\n        break;\n    }\n  }\n\n}\n","<input #Inputbox [class]=\"cssClass ? cssClass : 'form-control'\" [placeholder]=\"placeHolder\" [(ngModel)]=\"textboxValue\" fullWidth ngx-google-places-autocomplete [options]=\"settings\" #placesRef=\"ngx-places\" (onAddressChange)=\"onAddressChange($event)\"/>\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { GooglePlaceModule } from 'ngx-google-places-autocomplete';\nimport { GoogleAutoCompleteComponent } from './components/google-auto-complete/google-auto-complete.component';\n\n@NgModule({\n  declarations: [GoogleAutoCompleteComponent],\n  imports: [\n    FormsModule,\n    GooglePlaceModule,\n  ],\n  exports: [GoogleAutoCompleteComponent]\n})\nexport class GoogleAutoCompleteModule { }\n","import { AddressComponent } from \"./addressComponent\";\nimport { Geometry } from \"./geometry\";\nimport { Photo } from \"./photo\";\nimport { OpeningHours } from \"./openingHours\";\nimport { PlaceReview } from \"./placeReview\";\n\nexport class Address {\n    address_components: AddressComponent[];\n    adr_address: string;\n    formatted_address: string;\n    formatted_phone_number: string;\n    geometry: Geometry;\n    html_attributions: string[];\n    icon: string;\n    id: string;\n    international_phone_number: string;\n    name: string;\n    opening_hours: OpeningHours;\n    permanently_closed: boolean;\n    photos: Photo[];\n    place_id: string;\n    price_level: number;\n    rating: number;\n    reviews: PlaceReview[];\n    types: string[];\n    url: string;\n    utc_offset: number;\n    vicinity: string;\n    website: string;\n}\n","export interface Photo {\n    height: number;\n    html_attributions: string[];\n    width: number;\n\n    getUrl(request: PhotoRequest): string;\n}\n\nexport class PhotoRequest {\n    public maxWidth: number;\n    public maxHeight: number;\n}","export class ComponentRestrictions {\n    public country: string;\n\n    constructor(obj?: Partial<ComponentRestrictions>) {\n        if (!obj)\n            return;\n\n        Object.assign(this, obj);\n    }\n}","import { LatLng } from '../latLng';\nimport { LatLngBounds } from \"../latLngBounds\";\nimport { ComponentRestrictions } from \"./componentRestrictions\";\n\nexport class Options {\n    public bounds?: LatLngBounds;\n    public componentRestrictions?: ComponentRestrictions;\n    public types?: string[];\n    public fields?: string[];\n    public strictBounds?: boolean;\n    public origin?: LatLng;\n    public constructor(opt?: Partial<Options>) {\n        if (!opt)\n            return;\n\n        Object.assign(this, opt);\n    }\n}\n","/*\n * Public API Surface of google-auto-complete\n */\n\nexport * from './lib/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}