{"version":3,"file":"ng-zorro-antd-mobile-modal.mjs","sources":["../../components/modal/modal-options.provider.ts","../../components/modal/modal-ref.class.ts","../../components/modal/modal.component.ts","../../components/modal/modal.component.html","../../components/modal/modal.service.ts","../../components/modal/modal.module.ts","../../components/modal/ng-zorro-antd-mobile-modal.ts"],"sourcesContent":["import { Injectable, TemplateRef } from '@angular/core';\n\nexport class ModalBaseOptions {\n  visible?: boolean = false;\n  focus?: boolean = true;\n  prefixCls?: string = 'am-modal';\n  animated?: boolean = true;\n  closable?: boolean = false;\n  maskClosable?: boolean = true;\n  onClose?: any;\n  transparent?: boolean = false;\n  popup?: boolean = false;\n  animationType?: string = 'slide-down';\n  title?: string | TemplateRef<any>;\n  footer?: Array<any> = [];\n  platform?: string = 'ios';\n  className?: string;\n  wrapClassName?: string;\n  message?: string | TemplateRef<any>;\n  actions?: Array<any>;\n  callbackOrActions?: Array<any>;\n  type?: string;\n  defaultValue?: Array<string> = [];\n  placeholders?: Array<string> = [];\n  operation?: boolean;\n  transitionName?: string = 'am-zoom';\n  maskTransitionName?: string = 'am-fade';\n  close: () => void;\n  closeWithAnimation: () => void;\n}\n\nexport class ModalServiceCustomOptions {\n  maskClosable?: boolean = false;\n}\n\n@Injectable()\nexport class ModalOptions extends ModalBaseOptions {\n  transitionName?: string = 'am-fade';\n  maskTransitionName?: string = 'am-fade';\n}\n\n@Injectable()\nexport class Action {\n  text?: string;\n  onPress?: Function;\n  style?: {};\n}\n","import { Observable } from 'rxjs';\n\nimport { ModalComponent } from './modal.component';\n\nexport abstract class ModalRef<T = any, R = any> {\n  abstract afterOpen: Observable<void>;\n  abstract afterClose: Observable<R>;\n\n  abstract close(result?: R): void;\n  abstract destroy(result?: R): void;\n  abstract triggerOk(): void;\n  abstract triggerCancel(): void;\n  abstract getElement(): HTMLElement;\n  abstract getInstance(): ModalComponent;\n}\n","import {\n  Input,\n  Output,\n  Component,\n  forwardRef,\n  ElementRef,\n  TemplateRef,\n  EventEmitter,\n  HostListener,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ModalOptions } from './modal-options.provider';\nimport { Observable } from 'rxjs';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ModalRef } from './modal-ref.class';\n@Component({\n  selector: 'Modal',\n  templateUrl: './modal.component.html',\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    ModalOptions,\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ModalComponent),\n      multi: true\n    }\n  ]\n})\nexport class ModalComponent<T = any, R = any> extends ModalRef<T, R> implements ControlValueAccessor {\n  autoFocus = { focus: true, date: new Date() };\n  transitionName: string = '';\n  maskTransitionName: string = '';\n  wrapCls: object = {};\n  cls: object = {};\n  btnGroupClass: object = {};\n  data = {\n    text: '',\n    password: ''\n  };\n\n  onChanged: (visiable: boolean) => {};\n  onTouched: () => {};\n\n  @Input()\n  set title(value: string | TemplateRef<any>) {\n    this.option.title = value;\n  }\n\n  @Input()\n  set closable(value: boolean) {\n    this.option.closable = value;\n  }\n  @Input()\n  set maskClosable(value: boolean) {\n    this.option.maskClosable = value;\n  }\n  @Input()\n  set popup(value: boolean) {\n    this.option.popup = value;\n    this.setClassMap();\n  }\n  @Input()\n  set animationType(value: string) {\n    this.option.animationType = value;\n    this.setClassMap();\n  }\n  @Input()\n  set transparent(value: boolean) {\n    this.option.transparent = value;\n    this.setClassMap();\n  }\n  @Input()\n  set footer(value: Array<any>) {\n    this.option.footer = value;\n  }\n  @Input()\n  set platform(value: string) {\n    this.option.platform = value;\n    this.setClassMap();\n  }\n  @Input()\n  set className(value: string) {\n    this.option.className = value;\n    this.setClassMap();\n  }\n  @Input()\n  set wrapClassName(value: string) {\n    this.option.wrapClassName = value;\n    this.setClassMap();\n  }\n  @Input()\n  set actions(value: Array<any>) {\n    this.option.footer = value;\n    this.setClassMap();\n  }\n  @Input()\n  set defaultValue(value: Array<string>) {\n    this.option.defaultValue = value !== undefined ? value : ['', ''];\n  }\n  @Input()\n  set type(value: string) {\n    this.option.type = value;\n  }\n  @Input()\n  set placeholders(value: Array<string>) {\n    this.option.placeholders = value;\n  }\n  @Input()\n  set operation(value: boolean) {\n    this.option.operation = value;\n    this.setClassMap();\n  }\n  @Output()\n  onClose: EventEmitter<any> = new EventEmitter();\n  @Output()\n  afterOpenEmitter: EventEmitter<any> = new EventEmitter<void>();\n  @Output()\n  afterCloseEmitter: EventEmitter<any> = new EventEmitter<void>();\n\n  @HostListener('mouseup', ['$event'])\n  @HostListener('touchend', ['$event'])\n  panend(event) {\n    if (this.option.closable || this.option.maskClosable) {\n      if (\n        (event && event.target && event.target.getAttribute('role') === 'dialog') ||\n        event.target.getAttribute('role') === 'close'\n      ) {\n        event.preventDefault();\n        event.stopPropagation();\n        if (this.option.close) {\n          this.option.close();\n        } else {\n          this.onClose.emit();\n          this.leaveAnimation();\n        }\n      }\n    }\n  }\n\n  constructor(public option: ModalOptions, public elementRef: ElementRef) {\n    super();\n  }\n\n  isTemplateRef(value: string | TemplateRef<any>) {\n    return value instanceof TemplateRef;\n  }\n\n  isNoTitle(value: string | TemplateRef<any>) {\n    return value === '' || value === null || value === undefined;\n  }\n\n  setTransitionName(visible: boolean) {\n    if (!visible) {\n      this.leaveAnimation();\n    } else {\n      if (this.option.animated) {\n        if (this.option.transparent) {\n          if (this.setActiveName(this.option.transitionName)) {\n            this.transitionName = this.setActiveName(this.option.transitionName);\n            this.maskTransitionName = this.setActiveName(this.option.maskTransitionName);\n          } else {\n            this.transitionName = this.maskTransitionName = this.setActiveName('am-fade');\n          }\n        } else {\n          if (this.setActiveName(this.option.transitionName)) {\n            this.transitionName = this.setActiveName(this.option.transitionName);\n            this.maskTransitionName = this.setActiveName(this.option.maskTransitionName);\n          } else {\n            this.transitionName = this.maskTransitionName = this.setActiveName('am-slide-up');\n          }\n        }\n        if (this.option.popup) {\n          this.transitionName =\n            this.option.animationType === 'slide-up'\n              ? this.setActiveName('am-slide-up')\n              : this.setActiveName('am-slide-down');\n          this.maskTransitionName = this.setActiveName('am-fade');\n        }\n      }\n      this.setClassMap();\n    }\n  }\n\n  setActiveName(name: string) {\n    return name.length > 0 ? `${name}-enter ${name}-enter-active` : null;\n  }\n\n  setLeaveActiveName(name: string) {\n    return name.length > 0 ? `${name}-leave ${name}-leave-active` : null;\n  }\n\n  setClassMap() {\n    this.wrapCls = {\n      [this.option.wrapClassName]: true,\n      [`${this.option.prefixCls}-wrap-popup`]: this.option.popup\n    };\n\n    this.cls = {\n      [this.option.className]: true,\n      [`${this.option.prefixCls}-transparent`]: this.option.transparent,\n      [`${this.option.prefixCls}-popup`]: this.option.popup,\n      [`${this.option.prefixCls}-popup-${this.option.animationType}`]: this.option.popup && this.option.animationType,\n      [`${this.option.prefixCls}-android`]: this.option.platform === 'android'\n    };\n\n    this.btnGroupClass = {\n      [`${this.option.prefixCls}-button-group-${\n        this.option.footer.length === 2 && !this.option.operation ? 'h' : 'v'\n      }`]: true,\n      [`${this.option.prefixCls}-button-group-${this.option.operation ? 'operation' : 'normal'}`]: true\n    };\n  }\n\n  inputChange(type: string, value: string) {\n    this.data[type] = value;\n  }\n\n  leaveAnimation() {\n    if (this.option.animated) {\n      if (this.option.transparent) {\n        if (this.setLeaveActiveName(this.option.transitionName)) {\n          this.transitionName = this.setLeaveActiveName(this.option.transitionName);\n          this.maskTransitionName = this.setLeaveActiveName(this.option.maskTransitionName);\n        } else {\n          this.transitionName = this.maskTransitionName = this.setLeaveActiveName('am-fade');\n        }\n      } else {\n        if (this.setLeaveActiveName(this.option.transitionName)) {\n          this.transitionName = this.setLeaveActiveName(this.option.transitionName);\n          this.maskTransitionName = this.setLeaveActiveName(this.option.maskTransitionName);\n        } else {\n          this.transitionName = this.maskTransitionName = this.setLeaveActiveName('am-slide-up');\n        }\n      }\n      if (this.option.popup) {\n        this.transitionName =\n          this.option.animationType === 'slide-up'\n            ? this.setLeaveActiveName('am-slide-up')\n            : this.setLeaveActiveName('am-slide-down');\n        this.maskTransitionName = this.setLeaveActiveName('am-fade');\n      }\n    }\n    setTimeout(() => {\n      this.option.visible = false;\n      if (this.onChanged) {\n        this.onChanged(this.option.visible);\n      }\n    }, 200);\n  }\n\n  writeValue(value: boolean): void {\n    if (value) {\n      this.option.visible = value;\n    }\n    this.setTransitionName(value);\n  }\n\n  registerOnChange(fn: (_: boolean) => {}): void {\n    this.onChanged = fn;\n  }\n\n  registerOnTouched(fn: () => {}): void {\n    this.onTouched = fn;\n  }\n\n  get afterOpen(): Observable<void> {\n    return this.afterOpenEmitter.asObservable();\n  }\n\n  get afterClose(): Observable<R> {\n    return this.afterCloseEmitter.asObservable();\n  }\n\n  getInstance(): ModalComponent {\n    return this;\n  }\n\n  getElement(): HTMLElement {\n    return this.elementRef && this.elementRef.nativeElement;\n  }\n\n  close(): void {\n    if (this.option.closeWithAnimation) {\n      this.option.closeWithAnimation();\n    } else {\n      this.onClose.emit();\n      this.leaveAnimation();\n    }\n  }\n\n  triggerOk(): void {\n    if (this.option.footer.length > 1) {\n      const button = this.option.footer[1];\n      button.onPress();\n    }\n  }\n\n  triggerCancel(): void {\n    if (this.option.footer.length > 0) {\n      const button = this.option.footer[0];\n      button.onPress();\n    }\n  }\n\n  destroy(): void {\n    this.close();\n  }\n}\n\n@Component({\n  selector: 'ModalService',\n  templateUrl: './modal.component.html',\n  encapsulation: ViewEncapsulation.None\n})\nexport class ModalServiceComponent extends ModalComponent {\n  constructor(public option: ModalOptions, public elementRef: ElementRef) {\n    super(option, elementRef);\n    this.setTransitionName(this.option.visible);\n  }\n}\n","<div *ngIf=\"option.visible\">\n  <div class=\"{{ option.prefixCls }}-mask {{ maskTransitionName }}\"></div>\n  <div role=\"dialog\" class=\"{{ option.prefixCls }}-wrap {{ transitionName }}\" [ngClass]=\"wrapCls\">\n    <div role=\"document\" class=\"{{ option.prefixCls }}\" [ngClass]=\"cls\">\n      <div class=\"{{ option.prefixCls }}-content\">\n        <div *ngIf=\"option.closable\" style=\"width: 100%; height: 21px;\">\n          <div role=\"close\" class=\"{{ option.prefixCls }}-close\">\n            <span role=\"close\" class=\"{{ option.prefixCls }}-close-x\"></span>\n          </div>\n        </div>\n        <div *ngIf=\"!isNoTitle(option.title)\" class=\"{{ option.prefixCls }}-header\">\n          <div *ngIf=\"!isTemplateRef(option.title)\" class=\"{{ option.prefixCls }}-title\">{{ option.title }}</div>\n          <ng-template *ngIf=\"isTemplateRef(option.title)\" [ngTemplateOutlet]=\"option.title\"></ng-template>\n        </div>\n        <div class=\"{{ option.prefixCls }}-body\">\n          <ng-content></ng-content>\n          <div *ngIf=\"!isTemplateRef(option.message)\" class=\"{{ option.prefixCls }}-alert-content\">\n            {{ option.message }}\n          </div>\n          <ng-template *ngIf=\"isTemplateRef(option.message)\" [ngTemplateOutlet]=\"option.message\"></ng-template>\n          <ng-template *ngIf=\"option.type === 'default'\" [ngTemplateOutlet]=\"promptDefault\"></ng-template>\n          <ng-template *ngIf=\"option.type === 'secure-text'\" [ngTemplateOutlet]=\"promptSecure\"></ng-template>\n          <ng-template *ngIf=\"option.type === 'login-password'\" [ngTemplateOutlet]=\"promptPassword\"></ng-template>\n        </div>\n        <div class=\"{{ option.prefixCls }}-footer\">\n          <div [ngClass]=\"btnGroupClass\" role=\"group\">\n            <div\n              Button\n              role=\"button\"\n              *ngFor=\"let button of option.footer\"\n              [className]=\"'am-modal-button'\"\n              [ngStyle]=\"button.style\"\n              (onClick)=\"button.onPress()\"\n            >\n              {{ button.text }}\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-template #promptPassword>\n  <div class=\"{{ option.prefixCls }}-input-container\">\n    <div class=\"{{ option.prefixCls }}-input\">\n      <input\n        #inputElement\n        autofocus\n        [type]=\"'text'\"\n        [placeholder]=\"option.placeholders[0] || ''\"\n        [(ngModel)]=\"option.defaultValue[0]\"\n        (ngModelChange)=\"inputChange('text', $event)\"\n      />\n    </div>\n    <div className=\"{{ option.prefixCls }}-input\">\n      <input\n        #inputElement\n        [type]=\"'password'\"\n        [placeholder]=\"option.placeholders[1] || ''\"\n        [(ngModel)]=\"option.defaultValue[1]\"\n        (ngModelChange)=\"inputChange('password', $event)\"\n      />\n    </div>\n  </div>\n</ng-template>\n<ng-template #promptSecure>\n  <div className=\"{{ option.prefixCls }}-input-container\">\n    <div className=\"{{ option.prefixCls }}-input\">\n      <input\n        #inputElement\n        autofocus\n        [type]=\"'password'\"\n        [placeholder]=\"option.placeholders[0] || ''\"\n        [(ngModel)]=\"option.defaultValue[0]\"\n        (ngModelChange)=\"inputChange('password', $event)\"\n      />\n    </div>\n  </div>\n</ng-template>\n<ng-template #promptDefault>\n  <div className=\"{{ option.prefixCls }}-input-container\">\n    <div className=\"{{ option.prefixCls }}-input\">\n      <input\n        #inputElement\n        autofocus\n        [type]=\"'text'\"\n        [placeholder]=\"option.placeholders[0] || ''\"\n        [(ngModel)]=\"option.defaultValue[0]\"\n        (ngModelChange)=\"inputChange('text', $event)\"\n      />\n    </div>\n  </div>\n</ng-template>\n","import { Injectable, Injector, ComponentRef, TemplateRef } from '@angular/core';\n\nimport { ModalServiceComponent } from './modal.component';\nimport { ModalBaseOptions, ModalOptions, ModalServiceCustomOptions, Action } from './modal-options.provider';\nimport { PopupService } from 'ng-zorro-antd-mobile/core';\n\n@Injectable({\n  providedIn: 'root'\n})\n@Injectable()\nexport class ModalService extends PopupService {\n  modalRef: ComponentRef<ModalServiceComponent> = null;\n\n  _open(props: ModalBaseOptions): any {\n    const childInjector = Injector.create({\n      providers: [{ provide: ModalOptions, useValue: props }]\n    });\n\n    this.modalRef = this.showPopup(ModalServiceComponent, childInjector);\n    return this.modalRef && this.modalRef.instance;\n  }\n\n  closeWithAnimation() {\n    const options: ModalBaseOptions = new ModalBaseOptions();\n    this.modalRef.instance.transitionName = `${options.transitionName}-leave ${options.transitionName}-leave-active`;\n    this.modalRef.instance.maskTransitionName = `${options.maskTransitionName}-leave ${options.maskTransitionName}-leave-active`;\n    setTimeout(() => {\n      this.close();\n    }, 200);\n  }\n\n  alert(\n    title?: string | TemplateRef<any>,\n    message?: string | TemplateRef<any>,\n    actions?: Array<any>,\n    platform?: string\n  ): any {\n    const options: ModalOptions = new ModalOptions();\n    const footer = getFooter.call(this, actions);\n    const defaultOptions = {\n      visible: true,\n      transparent: true,\n      closable: false,\n      maskClosable: false,\n      platform: platform || 'ios',\n      title: title || '',\n      message: message || '',\n      footer,\n      actions: footer,\n      close: () => {\n        this.closeWithAnimation();\n      },\n      closeWithAnimation: () => {\n        this.closeWithAnimation();\n      }\n    };\n\n    const props = {\n      ...options,\n      ...defaultOptions\n    };\n\n    return this._open(props);\n  }\n\n  prompt(\n    title?: string | TemplateRef<any>,\n    message?: string | TemplateRef<any>,\n    callbackOrActions?: any,\n    type?: string,\n    defaultValue?: Array<string>,\n    placeholders?: Array<any>,\n    platform?: string\n  ): any {\n    const options: ModalOptions = new ModalOptions();\n\n    function getArgs(self: any, func: any) {\n      let text: any, password: any;\n      if (self.modalRef) {\n        text = self.modalRef.instance.data.text || options.defaultValue[0];\n        password = self.modalRef.instance.data.password || options.defaultValue[1];\n      } else {\n        text = options.defaultValue[0];\n        password = options.defaultValue[1];\n      }\n\n      if (type === 'login-password') {\n        return func(text, password);\n      } else if (type === 'secure-text') {\n        return func(password);\n      }\n      return func(text);\n    }\n\n    const actions =\n      typeof callbackOrActions === 'function'\n        ? [\n            { text: 'Cancel' },\n            {\n              text: 'OK',\n              onPress: () => {\n                getArgs(this, callbackOrActions);\n              }\n            }\n          ]\n        : callbackOrActions.map(item => {\n            return {\n              text: item.text,\n              onPress: () => {\n                if (item.onPress) {\n                  return getArgs(this, item.onPress);\n                }\n              }\n            };\n          });\n\n    const footer = getFooter.call(this, actions);\n    const defaultOptions = {\n      visible: true,\n      transparent: true,\n      closable: false,\n      maskClosable: false,\n      operation: true,\n      className: 'm-modal-alert-content',\n      defaultValue: defaultValue || ['', ''],\n      placeholders: placeholders || [],\n      type: type || 'default',\n      title: title || '',\n      message: message || '',\n      footer,\n      actions: footer,\n      platform: platform ? platform : 'ios',\n      close: () => {\n        this.closeWithAnimation();\n      },\n      closeWithAnimation: () => {\n        this.closeWithAnimation();\n      }\n    };\n\n    const props = {\n      ...options,\n      ...defaultOptions\n    };\n\n    return this._open(props);\n  }\n\n  operation(actions?: any, platform?: string, customOptions?: ModalServiceCustomOptions): any {\n    const options: ModalOptions = new ModalOptions();\n    const footer = getFooter.call(this, actions);\n    const defaultOptions = {\n      visible: true,\n      transparent: true,\n      closable: false,\n      maskClosable: false,\n      operation: true,\n      className: 'am-modal-operation',\n      footer,\n      platform: platform ? platform : 'ios',\n      close: () => {\n        this.closeWithAnimation();\n      },\n      closeWithAnimation: () => {\n        this.closeWithAnimation();\n      }\n    };\n\n    const props = {\n      ...options,\n      ...defaultOptions,\n      ...customOptions\n    };\n\n    return this._open(props);\n  }\n\n  close() {\n    this.hidePopup();\n  }\n}\n\nfunction getFooter(actions) {\n  let _actions = actions ? actions : [{ text: 'OK', onPress: () => {} }];\n\n  return _actions.map((button: Action) => {\n    const originPress = button.onPress || function() {};\n    button.onPress = () => {\n      const res = originPress();\n      if (res && res.then) {\n        res.then(() => {\n          this.closeWithAnimation();\n        });\n      } else {\n        this.closeWithAnimation();\n      }\n    };\n    return button;\n  });\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModalComponent, ModalServiceComponent } from './modal.component';\nimport { ModalService } from './modal.service';\nimport { ListModule } from 'ng-zorro-antd-mobile/list';\nimport { WingBlankModule } from 'ng-zorro-antd-mobile/wing-blank';\nimport { WhiteSpaceModule } from 'ng-zorro-antd-mobile/white-space';\nimport { ButtonModule } from 'ng-zorro-antd-mobile/button';\nimport { InputItemModule } from 'ng-zorro-antd-mobile/input-item';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PopupService } from 'ng-zorro-antd-mobile/core';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    ListModule,\n    WingBlankModule,\n    WhiteSpaceModule,\n    ButtonModule,\n    InputItemModule,\n    FormsModule,\n    ReactiveFormsModule,\n    OverlayModule\n  ],\n  exports: [ModalComponent, ModalServiceComponent],\n  declarations: [ModalComponent, ModalServiceComponent],\n  providers: [ModalService, PopupService]\n})\nexport class ModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ModalOptions"],"mappings":"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"}