{"version":3,"file":"ngx-google-maps-tk-snazzy-info-window.mjs","sources":["../../../packages/snazzy-info-window/src/lib/directives/snazzy-info-window.ts","../../../packages/snazzy-info-window/src/lib/snazzy-info-window.module.ts","../../../packages/snazzy-info-window/src/public-api.ts","../../../packages/snazzy-info-window/src/ngx-google-maps-tk-snazzy-info-window.ts"],"sourcesContent":["import { AgmMarker, GoogleMapsAPIWrapper, MapsAPILoader, MarkerManager } from '@ngx-google-maps-tk/core';\nimport { AfterViewInit, Component, ContentChild, ElementRef, EventEmitter, Host, Input, OnChanges, OnDestroy, Optional, Output, SimpleChanges, SkipSelf, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n  // tslint:disable-next-line:component-selector\n  selector: 'agm-snazzy-info-window',\n  template: '<div #outerWrapper><div #viewContainer></div></div><ng-content></ng-content>',\n})\nexport class AgmSnazzyInfoWindow implements AfterViewInit, OnDestroy, OnChanges {\n  /**\n   * The latitude and longitude where the info window is anchored.\n   * The offset will default to 0px when using this option. Only required/used if you are not using a agm-marker.\n   */\n  @Input() latitude: number;\n\n  /**\n   * The longitude where the info window is anchored.\n   * The offset will default to 0px when using this option. Only required/used if you are not using a agm-marker.\n   */\n  @Input() longitude: number;\n\n  /**\n   * Changes the open status of the snazzy info window.\n   */\n  @Input() isOpen = false;\n\n  /**\n   * Emits when the open status changes.\n   */\n  @Output() isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n  /**\n   * Choose where you want the info window to be displayed, relative to the marker.\n   */\n  @Input() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n\n  /**\n   * The max width in pixels of the info window.\n   */\n  @Input() maxWidth: number | string = 200;\n\n  /**\n   * The max height in pixels of the info window.\n   */\n  @Input() maxHeight: number | string = 200;\n\n  /**\n   * The color to use for the background of the info window.\n   */\n  @Input() backgroundColor: string;\n\n  /**\n   * A custom padding size around the content of the info window.\n   */\n  @Input() padding: string;\n\n  /**\n   * A custom border around the info window. Set to false to completely remove the border.\n   * The units used for border should be the same as pointer.\n   */\n  @Input() border: {width: string; color: string} | boolean;\n\n  /**\n   * A custom CSS border radius property to specify the rounded corners of the info window.\n   */\n  @Input() borderRadius: string;\n\n  /**\n   * The font color to use for the content inside the body of the info window.\n   */\n  @Input() fontColor: string;\n\n  /**\n   * The font size to use for the content inside the body of the info window.\n   */\n  @Input() fontSize: string;\n\n  /**\n   * The height of the pointer from the info window to the marker.\n   * Set to false to completely remove the pointer.\n   * The units used for pointer should be the same as border.\n   */\n  @Input() pointer: string | boolean;\n\n  /**\n   * The CSS properties for the shadow of the info window.\n   * Set to false to completely remove the shadow.\n   */\n  @Input() shadow: boolean | {h?: string, v?: string, blur: string, spread: string, opacity: number, color: string};\n\n  /**\n   * Determines if the info window will open when the marker is clicked.\n   * An internal listener is added to the Google Maps click event which calls the open() method.\n   */\n  @Input() openOnMarkerClick = true;\n\n  /**\n   * Determines if the info window will close when the map is clicked. An internal listener is added to\n   * the Google Maps click event which calls the close() method.\n   * This will not activate on the Google Maps drag event when the user is panning the map.\n   */\n  @Input() closeOnMapClick = true;\n\n  /**\n   * An optional CSS class to assign to the wrapper container of the info window.\n   * Can be used for applying custom CSS to the info window.\n   */\n  @Input() wrapperClass: string;\n\n  /**\n   * Determines if the info window will close when any other Snazzy Info Window is opened.\n   */\n  @Input() closeWhenOthersOpen = false;\n\n  /**\n   * Determines if the info window will show a close button.\n   */\n  @Input() showCloseButton = true;\n\n  /**\n   * Determines if the info window will be panned into view when opened.\n   */\n  @Input() panOnOpen = true;\n\n  /**\n   * Emits before the info window opens.\n   */\n  @Output() beforeOpen: EventEmitter<void> = new EventEmitter<void>();\n\n  /**\n   * Emits before the info window closes.\n   */\n  @Output() afterClose: EventEmitter<void> = new EventEmitter<void>();\n\n  /**\n   * @internal\n   */\n  @ViewChild('outerWrapper', {read: ElementRef, static: false}) _outerWrapper: ElementRef;\n\n  /**\n   * @internal\n   */\n  @ViewChild('viewContainer', {read: ViewContainerRef, static: false}) _viewContainerRef: ViewContainerRef;\n\n  /**\n   * @internal\n   */\n  @ContentChild(TemplateRef, {static: false}) _templateRef: TemplateRef<any>;\n\n  protected _nativeSnazzyInfoWindow: any;\n  protected _snazzyInfoWindowInitialized: Promise<any> | null = null;\n\n  constructor(\n    @Optional() @Host() @SkipSelf() private _marker: AgmMarker,\n    private _wrapper: GoogleMapsAPIWrapper,\n    private _manager: MarkerManager,\n    private _loader: MapsAPILoader,\n  ) {}\n\n  /**\n   * @internal\n   */\n  ngOnChanges(changes: SimpleChanges) {\n    if (this._nativeSnazzyInfoWindow == null) {\n      return;\n    }\n    if ('isOpen' in changes && this.isOpen) {\n      this._openInfoWindow();\n    } else if ('isOpen' in changes && !this.isOpen) {\n      this._closeInfoWindow();\n    }\n    if (('latitude' in changes || 'longitude' in changes) && this._marker == null) {\n      this._updatePosition();\n    }\n  }\n\n  /**\n   * @internal\n   */\n  ngAfterViewInit() {\n    const m = this._manager != null ? this._manager.getNativeMarker(this._marker) : null;\n    this._snazzyInfoWindowInitialized = this._loader.load()\n      .then(() => import('snazzy-info-window'))\n      .then((module: any) => Promise.all([module, m, this._wrapper.getNativeMap()]))\n      .then((elems) => {\n        const options: any = {\n          map: elems[2],\n          content: '',\n          placement: this.placement,\n          maxWidth: this.maxWidth,\n          maxHeight: this.maxHeight,\n          backgroundColor: this.backgroundColor,\n          padding: this.padding,\n          border: this.border,\n          borderRadius: this.borderRadius,\n          fontColor: this.fontColor,\n          pointer: this.pointer,\n          shadow: this.shadow,\n          closeOnMapClick: this.closeOnMapClick,\n          openOnMarkerClick: this.openOnMarkerClick,\n          closeWhenOthersOpen: this.closeWhenOthersOpen,\n          showCloseButton: this.showCloseButton,\n          panOnOpen: this.panOnOpen,\n          wrapperClass: this.wrapperClass,\n          callbacks: {\n            beforeOpen: () => {\n              this._createViewContent();\n              this.beforeOpen.emit();\n            },\n            afterOpen: () => {\n              this.isOpenChange.emit(this.openStatus());\n            },\n            afterClose: () => {\n              this.afterClose.emit();\n              this.isOpenChange.emit(this.openStatus());\n            },\n          },\n        };\n        if (elems[1] != null) {\n          options.marker = elems[1];\n        } else {\n          options.position = {\n            lat: this.latitude,\n            lng: this.longitude,\n          };\n        }\n        this._nativeSnazzyInfoWindow = new elems[0].default(options);\n      });\n    this._snazzyInfoWindowInitialized.then(() => {\n        if (this.isOpen) {\n          this._openInfoWindow();\n        }\n    });\n  }\n\n  protected _openInfoWindow() {\n    this._snazzyInfoWindowInitialized.then(() => {\n      this._createViewContent();\n      this._nativeSnazzyInfoWindow.open();\n    });\n  }\n\n  protected _closeInfoWindow() {\n    this._snazzyInfoWindowInitialized.then(() => {\n      this._nativeSnazzyInfoWindow.close();\n    });\n  }\n\n  protected _createViewContent() {\n    if (this._viewContainerRef.length === 1) {\n      return;\n    }\n    const evr = this._viewContainerRef.createEmbeddedView(this._templateRef);\n    this._nativeSnazzyInfoWindow.setContent(this._outerWrapper.nativeElement);\n    // we have to run this in a separate cycle.\n    setTimeout(() => {\n      evr.detectChanges();\n    });\n  }\n\n  protected _updatePosition() {\n    this._nativeSnazzyInfoWindow.setPosition({\n      lat: this.latitude,\n      lng: this.longitude,\n    });\n  }\n\n  /**\n   * Returns true when the Snazzy Info Window is initialized and open.\n   */\n  openStatus(): boolean {\n    return this._nativeSnazzyInfoWindow && this._nativeSnazzyInfoWindow.isOpen();\n  }\n\n  /**\n   * @internal\n   */\n  ngOnDestroy() {\n    if (this._nativeSnazzyInfoWindow) {\n      this._nativeSnazzyInfoWindow.destroy();\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { AgmSnazzyInfoWindow } from './directives/snazzy-info-window';\n\n@NgModule({\n  declarations: [AgmSnazzyInfoWindow],\n  exports: [AgmSnazzyInfoWindow],\n})\nexport class AgmSnazzyInfoWindowModule {}\n","/*\n * Public API Surface of snazzy-info-window\n */\n\nexport * from './lib/directives/snazzy-info-window';\nexport * from './lib/snazzy-info-window.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}