{"version":3,"file":"ng-maps-places.mjs","sources":["../../../../libs/places/src/lib/configuration.ts","../../../../libs/places/src/lib/directives/autocomplete.ts","../../../../libs/places/src/lib/directives/search-box.ts","../../../../libs/places/src/lib/places.module.ts","../../../../libs/places/src/public-api.ts","../../../../libs/places/src/ng-maps-places.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface NgMapsPlacesConfiguration {\n  autocomplete?: Partial<google.maps.places.AutocompleteOptions>;\n  searchBox?: google.maps.places.SearchBoxOptions;\n}\n\nexport const NG_MAPS_PLACES_DEFAULT_CONFIGURATION =\n  new InjectionToken<NgMapsPlacesConfiguration>(\n    'NgMapsPlacesDefaultConfiguration',\n    { providedIn: 'root', factory: () => ({}) },\n  );\n","import {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Inject,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChanges,\n} from '@angular/core';\nimport { fromEventPattern, Subscription } from 'rxjs';\n\nimport { MapsAPILoader } from '@ng-maps/core';\n\nimport {\n  NgMapsPlacesConfiguration,\n  NG_MAPS_PLACES_DEFAULT_CONFIGURATION,\n} from '../configuration';\n\n/**\n * @example\n * <input [mapAutocomplete]='options' (placeResult)='onPlacesResult($event)' />\n */\n@Directive({\n  selector: '[mapAutocomplete]',\n  standalone: false,\n})\nexport class NgMapsAutocompleteDirective\n  implements OnInit, OnChanges, OnDestroy\n{\n  /**\n   * Configuration Input described by the AutocompleteOptions Interface\n   * https://developers.google.com/maps/documentation/javascript/reference/3.exp/places-widget#AutocompleteOptions\n   */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  @Input('mapAutocomplete')\n  public config?: Partial<google.maps.places.AutocompleteOptions>;\n\n  /**\n   * This event is fired on selection of an element from the autocomplete list.\n   * The event contains a PlaceResult from GoogleMapsAPI\n   * https://developers.google.com/maps/documentation/javascript/reference/3.exp/places-service#PlaceResult\n   */\n  @Output()\n  public placeResult: EventEmitter<google.maps.places.PlaceResult> =\n    new EventEmitter<google.maps.places.PlaceResult>();\n\n  /**\n   * This event is fired on selection of an element from the autocomplete list.\n   * The event contains a LatLngBounds from GoogleMapsAPI\n   * https://developers.google.com/maps/documentation/javascript/reference/3.exp/coordinates#LatLngBounds\n   */\n  @Output()\n  public bounds: EventEmitter<google.maps.LatLngBounds> =\n    new EventEmitter<google.maps.LatLngBounds>();\n\n  private autocomplete?: google.maps.places.Autocomplete;\n  private readonly subscription: Subscription = new Subscription();\n\n  constructor(\n    private element: ElementRef,\n    private mapsAPILoader: MapsAPILoader,\n    @Inject(NG_MAPS_PLACES_DEFAULT_CONFIGURATION)\n    private defaultConfig: NgMapsPlacesConfiguration,\n    private _zone: NgZone,\n  ) {}\n\n  /** @internal */\n  public ngOnInit(): void {\n    if (typeof this.config === 'undefined') {\n      this.config = {\n        types: ['address'],\n        ...(this.defaultConfig?.autocomplete ?? {}),\n      };\n    } else {\n      this.config = {\n        types: ['address'],\n        ...(this.defaultConfig?.autocomplete ?? {}),\n        ...this.config,\n      };\n    }\n\n    if (this.element.nativeElement instanceof HTMLInputElement) {\n      this.init();\n    } else {\n      throw new Error('Directive can only be applied to an HTMLInputElement');\n    }\n  }\n\n  /** @internal */\n  public async init() {\n    await this.mapsAPILoader.load();\n    this.autocomplete = new google.maps.places.Autocomplete(\n      this.element.nativeElement,\n      this.config,\n    );\n    this.subscription.add(\n      fromEventPattern(\n        (handler: any) => this.addHandler(handler),\n        () => this.removeHandler(),\n      ).subscribe({\n        next: () => {\n          this.placeResult.emit(this.autocomplete!.getPlace());\n          this.bounds.emit(this.autocomplete!.getBounds());\n        },\n      }),\n    );\n  }\n\n  /** @internal */\n  public ngOnChanges(changes: SimpleChanges): void {\n    if (typeof changes.config !== 'undefined' && !changes.config.firstChange) {\n      const config = changes.config\n        .currentValue as google.maps.places.AutocompleteOptions;\n      if (typeof config.bounds !== 'undefined') {\n        this.autocomplete?.setBounds(config.bounds);\n      }\n      if (typeof config.componentRestrictions !== 'undefined') {\n        this.autocomplete?.setComponentRestrictions(\n          config.componentRestrictions,\n        );\n      }\n      if (typeof config.types !== 'undefined') {\n        this.autocomplete?.setTypes(config.types);\n      }\n    }\n  }\n\n  /** @internal */\n  public ngOnDestroy(): void {\n    this.subscription.unsubscribe();\n  }\n\n  /** @internal */\n  private addHandler(handler: (...args: Array<any>) => void) {\n    return this.autocomplete?.addListener('place_changed', () =>\n      this._zone.run(handler),\n    );\n  }\n\n  /** @internal */\n  private removeHandler() {\n    this.autocomplete?.unbindAll();\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Inject,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChanges,\n} from '@angular/core';\nimport { fromEventPattern, Subscription } from 'rxjs';\n\nimport { MapsAPILoader } from '@ng-maps/core';\n\nimport {\n  NgMapsPlacesConfiguration,\n  NG_MAPS_PLACES_DEFAULT_CONFIGURATION,\n} from '../configuration';\n\n/**\n * @example\n * <input [mapAutocomplete]='options' (placeResult)='onPlacesResult($event)' />\n */\n@Directive({\n  selector: '[mapSearchBox]',\n  standalone: false,\n})\nexport class NgMapsSearchBoxDirective implements OnInit, OnChanges, OnDestroy {\n  /**\n   * Configuration Input described by the AutocompleteOptions Interface\n   * https://developers.google.com/maps/documentation/javascript/reference/3.exp/places-widget#AutocompleteOptions\n   */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  @Input('mapSearchBox')\n  public config: google.maps.places.SearchBoxOptions | undefined | null;\n\n  /**\n   * This event is fired on selection of an element from the autocomplete list.\n   * The event contains a PlaceResult from GoogleMapsAPI\n   * https://developers.google.com/maps/documentation/javascript/reference/3.exp/places-service#PlaceResult\n   */\n  @Output()\n  public placeResult: EventEmitter<Array<google.maps.places.PlaceResult>> =\n    new EventEmitter<Array<google.maps.places.PlaceResult>>();\n\n  /**\n   * This event is fired on selection of an element from the autocomplete list.\n   * The event contains a LatLngBounds from GoogleMapsAPI\n   * https://developers.google.com/maps/documentation/javascript/reference/3.exp/coordinates#LatLngBounds\n   */\n  @Output()\n  public bounds: EventEmitter<google.maps.LatLngBounds> =\n    new EventEmitter<google.maps.LatLngBounds>();\n\n  private searchBox?: google.maps.places.SearchBox;\n  private readonly subscription: Subscription = new Subscription();\n\n  constructor(\n    private element: ElementRef,\n    private mapsAPILoader: MapsAPILoader,\n    @Inject(NG_MAPS_PLACES_DEFAULT_CONFIGURATION)\n    private defaultConfig: NgMapsPlacesConfiguration,\n    private _zone: NgZone,\n  ) {}\n\n  /** @internal */\n  public ngOnInit(): void {\n    if (typeof this.config === 'undefined') {\n      this.config = this.defaultConfig?.searchBox;\n    } else {\n      this.config = {\n        ...(this.defaultConfig?.searchBox ?? {}),\n        ...this.config,\n      };\n    }\n\n    if (this.element.nativeElement instanceof HTMLInputElement) {\n      this.init();\n    } else {\n      throw new Error('Directive can only be applied to an HTMLInputElement');\n    }\n  }\n\n  /** @internal */\n  public async init() {\n    await this.mapsAPILoader.load();\n    this.searchBox = new google.maps.places.SearchBox(\n      this.element.nativeElement,\n      this.config,\n    );\n    this.subscription.add(\n      fromEventPattern(\n        (handler: any) => this.addHandler(handler),\n        () => this.removeHandler(),\n      ).subscribe({\n        next: () => {\n          this.placeResult.emit(this.searchBox!.getPlaces());\n          this.bounds.emit(this.searchBox!.getBounds());\n        },\n      }),\n    );\n  }\n\n  /** @internal */\n  public ngOnChanges(changes: SimpleChanges): void {\n    if (typeof changes.config !== 'undefined' && !changes.config.firstChange) {\n      const config = changes.config\n        .currentValue as google.maps.places.SearchBoxOptions;\n      if (typeof config.bounds !== 'undefined' && this.searchBox) {\n        this.searchBox.setBounds(config.bounds);\n      }\n    }\n  }\n\n  /** @internal */\n  public ngOnDestroy(): void {\n    this.subscription.unsubscribe();\n  }\n\n  /** @internal */\n  private addHandler(handler: (...args: Array<any>) => void) {\n    return this.searchBox?.addListener('places_changed', () =>\n      this._zone.run(handler),\n    );\n  }\n\n  /** @internal */\n  private removeHandler() {\n    this.searchBox?.unbindAll();\n  }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport {\n  NgMapsPlacesConfiguration,\n  NG_MAPS_PLACES_DEFAULT_CONFIGURATION,\n} from './configuration';\nimport { NgMapsAutocompleteDirective } from './directives/autocomplete';\nimport { NgMapsSearchBoxDirective } from './directives/search-box';\n\n/**\n * @internal\n */\nexport function placesDirectives() {\n  return [NgMapsAutocompleteDirective, NgMapsSearchBoxDirective];\n}\n\n@NgModule({\n  declarations: placesDirectives(),\n  exports: placesDirectives(),\n})\nexport class NgMapsPlacesModule {\n  /**\n   * configure the NgMapsPlacesModule with a value\n   * @param config\n   */\n  public static forRoot(\n    config: NgMapsPlacesConfiguration,\n  ): ModuleWithProviders<NgMapsPlacesModule> {\n    return {\n      ngModule: NgMapsPlacesModule,\n      providers: [\n        {\n          provide: NG_MAPS_PLACES_DEFAULT_CONFIGURATION,\n          useValue: config,\n        },\n      ],\n    };\n  }\n\n  /**\n   * configure the NgMapsPlacesModule with a factory\n   * @param factory\n   * @param deps\n   */\n  public static forRootFactory(\n    factory: (...args: Array<any>) => NgMapsPlacesConfiguration,\n    deps?: Array<any>,\n  ): ModuleWithProviders<NgMapsPlacesModule> {\n    return {\n      ngModule: NgMapsPlacesModule,\n      providers: [\n        {\n          provide: NG_MAPS_PLACES_DEFAULT_CONFIGURATION,\n          useFactory: factory,\n          deps,\n        },\n      ],\n    };\n  }\n}\n","/*\n * Public API Surface of places\n */\n\nexport * from './lib/directives/autocomplete';\nexport * from './lib/directives/search-box';\nexport * from './lib/configuration';\nexport * from './lib/places.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}