{"version":3,"file":"ng-zorro-antd-mobile-popover.mjs","sources":["../../components/popover/popover-options.provider.ts","../../components/popover/popover-component-options.provider.ts","../../components/popover/popover.component.ts","../../components/popover/popover.component.html","../../components/popover/popover.directive.ts","../../components/popover/popover-item/popover-item.component.ts","../../components/popover/popover-item/popover-item.component.html","../../components/popover/popover-item/popover-item.module.ts","../../components/popover/popover.module.ts","../../components/popover/ng-zorro-antd-mobile-popover.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nexport interface PopoverOptionsInterface {\n  mask?: boolean;\n  visible?: boolean;\n  placement?: string;\n  appendToBody?: boolean;\n  className?: string;\n  autoClose?: boolean;\n}\n\n@Injectable()\nexport class PopoverOptions implements PopoverOptionsInterface {\n  showArrow: boolean = false;\n  mask: boolean = false;\n  placement: string = 'bottom';\n  appendToBody: boolean = false;\n  className: string = '';\n  autoClose: boolean = true;\n}\n","import { Injectable, TemplateRef } from '@angular/core';\nimport { PopoverOptions } from './popover-options.provider';\n\n@Injectable()\nexport class PopoverComponentOptions extends PopoverOptions {\n  onAfterViewInit: () => void;\n  hidePopover: () => void;\n  overlay: TemplateRef<any>;\n}\n","import { Component, AfterViewInit, ViewEncapsulation, OnInit } from '@angular/core';\nimport { PopoverComponentOptions } from './popover-component-options.provider';\n\n@Component({\n  selector: 'Popover',\n  templateUrl: './popover.component.html',\n  encapsulation: ViewEncapsulation.None\n})\nexport class PopoverComponent implements OnInit, AfterViewInit {\n  defaultProps: any = {\n    prefixCls: 'am-popover'\n  };\n  maskCls: any = {};\n  popoverCls: any = {};\n\n  constructor(public options: PopoverComponentOptions) {}\n\n  setClassMap() {\n    this.maskCls = {\n      [`${this.defaultProps.prefixCls}-mask`]: this.options.mask,\n      [`${this.defaultProps.prefixCls}-mask-hidden`]: !this.options.mask\n    };\n    this.popoverCls = {\n      [`${this.defaultProps.prefixCls}`]: true,\n      [`${this.defaultProps.prefixCls}-placement-${this.options.placement}`]: true,\n      [`${this.defaultProps.prefixCls}-${this.options.className}`]: true\n    };\n  }\n\n  ngOnInit() {\n    this.setClassMap();\n  }\n  ngAfterViewInit(): void {\n    this.options.onAfterViewInit();\n  }\n}\n","<ng-content></ng-content>\n<div [ngClass]=\"maskCls\" (click)=\"options.hidePopover()\"></div>\n<div [ngClass]=\"popoverCls\" style=\"color: currentcolor;\">\n  <div class=\"{{ defaultProps.prefixCls }}-content\">\n    <div *ngIf=\"options.showArrow\" class=\"{{ defaultProps.prefixCls }}-arrow\"></div>\n    <div class=\"{{ defaultProps.prefixCls }}-inner\">\n      <div class=\"{{ defaultProps.prefixCls }}-inner-wrapper\">\n        <ng-template [ngTemplateOutlet]=\"options.overlay\" [ngTemplateOutletContext]=\"{ options: options }\">\n        </ng-template>\n      </div>\n    </div>\n  </div>\n</div>\n","import {\n  Directive,\n  Input,\n  Output,\n  EventEmitter,\n  HostListener,\n  ViewContainerRef,\n  ComponentRef,\n  OnDestroy,\n  ElementRef,\n  OnInit,\n  Injector,\n  ComponentFactoryResolver,\n  Renderer2,\n  TemplateRef,\n  ComponentFactory,\n  OnChanges,\n  SimpleChanges\n} from '@angular/core';\nimport { PopoverComponent } from './popover.component';\nimport { PopoverOptions } from './popover-options.provider';\nimport { PopoverComponentOptions } from './popover-component-options.provider';\nimport { getPositionElements } from 'ng-zorro-antd-mobile/core';\n\n@Directive({\n  selector: '[Popover], [nzm-popover]',\n  providers: [PopoverOptions]\n})\nexport class PopoverDirective implements OnInit, OnChanges, OnDestroy {\n  popover: ComponentRef<PopoverComponent>;\n  appendToBodyElement: HTMLElement;\n  private _eventListeners: Array<() => void> = [];\n\n  @Input()\n  mask: boolean;\n  @Input()\n  showArrow: boolean;\n  @Input()\n  visible: boolean;\n  @Input()\n  placement: string;\n  @Input()\n  overlay: TemplateRef<any>;\n  @Output()\n  onVisibleChange: EventEmitter<boolean> = new EventEmitter(true);\n  @Output()\n  onSelect: EventEmitter<any> = new EventEmitter();\n  @Input()\n  appendToBody: boolean;\n  @Input()\n  className: string;\n  @Input()\n  autoClose: boolean;\n\n  @HostListener('click')\n  togglePopover(): void {\n    if (!this.popover) {\n      this.showPopover();\n    } else {\n      this.hidePopover();\n    }\n  }\n\n  constructor(\n    private _viewContainerRef: ViewContainerRef,\n    private _elm: ElementRef,\n    private _defaultOptions: PopoverOptions,\n    private _cfr: ComponentFactoryResolver,\n    private _renderer: Renderer2\n  ) {}\n\n  positionMap(placement): string {\n    switch (placement) {\n      case 'topLeft':\n        return 'top-left';\n      case 'topRight':\n        return 'top-right';\n      case 'bottomLeft':\n        return 'bottom-left';\n      case 'bottomRight':\n        return 'bottom-right';\n      case 'leftTop':\n        return 'left-top';\n      case 'leftBottom':\n        return 'left-bottom';\n      case 'rightTop':\n        return 'right-top';\n      case 'rightBottom':\n        return 'right-bottom';\n      case 'fullScreen':\n      case 'landScape':\n        return 'bottom';\n      default:\n        return placement;\n    }\n  }\n\n  ngOnInit(): void {}\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.visible && changes.visible.currentValue) {\n      setTimeout(() => {\n        this.showPopover();\n      }, 0);\n    } else {\n      setTimeout(() => {\n        this.hidePopover();\n      }, 0);\n    }\n  }\n\n  ngOnDestroy() {\n    this.hidePopover();\n  }\n\n  private onDocumentClick(event: Event): void {\n    if (\n      this.popover &&\n      !this._elm.nativeElement.contains(event.target) &&\n      !this.popover.location.nativeElement.contains(event.target)\n    ) {\n      this.hidePopover();\n    }\n  }\n\n  private showPopover(): void {\n    if (!this.popover) {\n      setTimeout(() => {\n        this._eventListeners = [\n          this._renderer.listen('document', 'click', (event: Event) => this.onDocumentClick(event)),\n          this._renderer.listen('document', 'touchend', (event: Event) => this.onDocumentClick(event)),\n          this._renderer.listen('window', 'resize', () => this.positionPopover())\n        ];\n      });\n\n      const options = new PopoverComponentOptions();\n      options.placement = this.placement;\n      Object.assign(options, this._defaultOptions, {\n        hidePopover: (event): void => {\n          this.hidePopover();\n        },\n        onAfterViewInit: (): void => {\n          this.positionPopover();\n          const children = document.getElementsByClassName('am-popover-inner-wrapper')[0].children;\n          if (children.length > 0) {\n            // 首先我们检查它是否包含子节点\n            for (let i = 0; i < children.length; i++) {\n              children[i].id = `${i}`;\n              children[i].addEventListener(\n                'click',\n                () => {\n                  if (this.onSelect) {\n                    this.onSelect.emit(children[i]);\n                    if (options.autoClose) {\n                      this.hidePopover();\n                    }\n                  }\n                },\n                false\n              );\n            }\n          }\n        }\n      });\n\n      const optionalParams: Array<keyof PopoverDirective> = [\n        'mask',\n        'showArrow',\n        'placement',\n        'appendToBody',\n        'overlay',\n        'className',\n        'autoClose'\n      ];\n      optionalParams.forEach(param => {\n        if (typeof this[param] !== 'undefined') {\n          (options as any)[param] = this[param];\n        }\n      });\n\n      const componentFactory: ComponentFactory<PopoverComponent> = this._cfr.resolveComponentFactory(PopoverComponent);\n      const childInjector = Injector.create(\n        [\n          {\n            provide: PopoverComponentOptions,\n            useValue: options\n          }\n        ],\n        this._viewContainerRef.parentInjector\n      );\n      this.popover = this._viewContainerRef.createComponent(\n        componentFactory,\n        this._viewContainerRef.length,\n        childInjector\n      );\n      if (options.appendToBody) {\n        this.appendToBodyElement = document.body.appendChild(this.popover.location.nativeElement);\n      }\n      this.onVisibleChange.emit(true);\n    }\n  }\n\n  private positionPopover(): void {\n    if (this.popover) {\n      const popoverElement = this.popover.location.nativeElement.children[1];\n      const popoverPosition = getPositionElements(\n        this._elm.nativeElement,\n        popoverElement,\n        this.positionMap(this.placement) || this._defaultOptions.placement,\n        this.appendToBody || this._defaultOptions.appendToBody\n      );\n      if (this.placement === 'landScape') {\n        this._renderer.setStyle(popoverElement, 'top', `${popoverPosition.top}px`);\n        this._renderer.setStyle(popoverElement, 'left', `0px`);\n        this._renderer.setStyle(popoverElement, 'width', `${window.innerWidth}px`);\n        this._renderer.setStyle(popoverElement, 'max-height', `${window.innerHeight - popoverPosition.height}px`);\n      } else if (this.placement === 'fullScreen') {\n        this._renderer.setStyle(popoverElement, 'top', `${0}px`);\n        this._renderer.setStyle(popoverElement, 'left', `0px`);\n        this._renderer.setStyle(popoverElement, 'width', `${window.innerWidth}px`);\n        this._renderer.setStyle(popoverElement, 'max-height', `${window.innerHeight - popoverPosition.height}px`);\n      } else {\n        this._renderer.setStyle(popoverElement, 'top', `${popoverPosition.top}px`);\n        this._renderer.setStyle(popoverElement, 'left', `${popoverPosition.left}px`);\n      }\n    }\n  }\n\n  private hidePopover(): void {\n    if (this.appendToBodyElement) {\n      document.body.removeChild(this.appendToBodyElement);\n      this.appendToBodyElement = null;\n    }\n    if (this.popover) {\n      this.popover.destroy();\n      delete this.popover;\n      this.onVisibleChange.emit(false);\n      this._eventListeners.forEach(fn => fn());\n      this._eventListeners = [];\n    }\n  }\n}\n","import {\n  Component,\n  AfterContentInit,\n  Input,\n  Output,\n  ElementRef,\n  TemplateRef,\n  HostBinding,\n  HostListener,\n  EventEmitter,\n  ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n  selector: 'PopoverItem, nzm-popover-item',\n  templateUrl: './popover-item.component.html',\n  encapsulation: ViewEncapsulation.None\n})\nexport class PopoverItemComponent implements AfterContentInit {\n  defaultProps = {\n    prefixCls: 'am-popover',\n    disabled: false\n  };\n  isActive = false;\n\n  private _style;\n  private _icon: TemplateRef<any>;\n\n  @Input()\n  get icon(): TemplateRef<any> {\n    return this._icon;\n  }\n  set icon(value: TemplateRef<any>) {\n    this._icon = value;\n  }\n  @Input()\n  get style() {\n    return this._style;\n  }\n  set style(value) {\n    this._style = value;\n  }\n  @Input()\n  set disabled(value) {\n    this.defaultProps.disabled = value;\n  }\n  @Output()\n  select: EventEmitter<any> = new EventEmitter();\n\n  @HostBinding('class.am-popover-item')\n  amPopoverItem: boolean = true;\n  @HostBinding('class.am-popover-item-active')\n  get amPopoverItemActive(): boolean {\n    return this.isActive;\n  }\n  @HostBinding('class.am-popover-item-disabled')\n  get amPopoverItemDisabled(): boolean {\n    return this.defaultProps.disabled;\n  }\n\n  @HostListener('touchstart', ['$event'])\n  @HostListener('mousedown', ['$event'])\n  touchStart(e) {\n    this.select.emit();\n    this.isActive = true;\n  }\n\n  constructor(private _elementRef: ElementRef) {}\n\n  ngAfterContentInit() {}\n}\n","<div class=\"{{ defaultProps.prefixCls }}-item-container\">\n  <span class=\"{{ defaultProps.prefixCls }}-item-icon\" aria-hidden=\"true\">\n    <ng-template [ngTemplateOutlet]=\"icon\"></ng-template>\n  </span>\n  <span class=\"{{ defaultProps.prefixCls }}-item-content\">\n    <ng-content></ng-content>\n  </span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PopoverItemComponent } from './popover-item.component';\nimport { IconModule } from 'ng-zorro-antd-mobile/icon';\n\n@NgModule({\n  imports: [CommonModule, IconModule],\n  exports: [PopoverItemComponent],\n  declarations: [PopoverItemComponent]\n})\nexport class PopoverItemModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverComponent } from './popover.component';\nimport { PopoverOptions } from './popover-options.provider';\n\nexport function PopoverOptionsFactory(userOptions: PopoverOptions): PopoverOptions {\n  const options: PopoverOptions = new PopoverOptions();\n  Object.assign(options, userOptions);\n  return options;\n}\n\n@NgModule({\n  declarations: [PopoverDirective, PopoverComponent],\n  imports: [CommonModule],\n  exports: [PopoverDirective, PopoverComponent]\n})\nexport class PopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PopoverComponentOptions","i1.PopoverOptions","i1"],"mappings":"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"}