{"version":3,"file":"ng-zorro-antd-mobile-toast.mjs","sources":["../../components/toast/toast.component.ts","../../components/toast/toast.component.html","../../components/toast/toast-options.provider.ts","../../components/toast/toast.service.ts","../../components/toast/toast.module.ts","../../components/toast/ng-zorro-antd-mobile-toast.ts"],"sourcesContent":["import { Component, ViewEncapsulation, Input, TemplateRef, NgZone } from '@angular/core';\n\n@Component({\n  selector: 'Toast',\n  encapsulation: ViewEncapsulation.None,\n  templateUrl: './toast.component.html',\n  host: {\n    '[class.am-toast]': 'true',\n    '[class.am-toast-mask]': 'mask',\n    '[class.am-toast-mask-top]': `mask && position === 'top'`,\n    '[class.am-toast-mask-middle]': `mask && position === 'middle'`,\n    '[class.am-toast-mask-bottom]': `mask && position === 'bottom'`,\n    '[class.am-toast-nomask]': '!mask',\n    '[class.am-toast-nomask-top]': `!mask && position === 'top'`,\n    '[class.am-toast-nomask-middle]': `!mask && position === 'middle'`,\n    '[class.am-toast-nomask-bottom]': `!mask && position === 'bottom'`\n  }\n})\nexport class ToastComponent {\n  prefixCls: string = 'am-toast';\n  isContentString: boolean = true;\n  maskClassMap;\n  transitionName = 'am-fade-enter am-fade-enter-active';\n\n  private _iconType: string = '';\n  private _content: string | TemplateRef<any> = '';\n\n  @Input()\n  mask: boolean = true;\n  @Input()\n  get content(): string | TemplateRef<any> {\n    return this._content;\n  }\n  set content(value: string | TemplateRef<any>) {\n    if (value instanceof TemplateRef) {\n      this.isContentString = false;\n    } else {\n      this.isContentString = true;\n    }\n    this._zone.run(() => {\n      this._content = value;\n    });\n  }\n  @Input()\n  get iconType(): string {\n    return this._iconType;\n  }\n  set iconType(value: string) {\n    this._zone.run(() => {\n      this._iconType = value;\n    });\n  }\n  @Input()\n  position: string = 'middle';\n\n  constructor(private _zone: NgZone) {}\n}\n","<div class=\"{{ prefixCls }}-notice {{ prefixCls }}-notice-closable {{ transitionName }}\">\n  <div class=\"{{ prefixCls }}-notice-content\">\n    <div role=\"alert\" *ngIf=\"iconType\" class=\"{{ prefixCls }}-text {{ prefixCls }}-text-icon\" aria-live=\"assertive\">\n      <Icon [type]=\"iconType\" [size]=\"'lg'\"></Icon>\n      <div *ngIf=\"isContentString\" class=\"{{ prefixCls }}-text-info\">{{ content }}</div>\n    </div>\n    <div *ngIf=\"!iconType\" class=\"{{ prefixCls }}-text\" role=\"alert\" aria-live=\"assertive\">\n      <div *ngIf=\"isContentString\" class=\"{{ prefixCls }}-text-info\">{{ content }}</div>\n      <ng-template *ngIf=\"!isContentString\" [ngTemplateOutlet]=\"content\"></ng-template>\n    </div>\n  </div>\n  <a class=\"{{ prefixCls }}-notice-close\">\n    <span class=\"{{ prefixCls }}-notice-close-x\"></span>\n  </a>\n</div>\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ToastOptions {\n  content: any;\n  mask: boolean;\n  iconType: string;\n  position: string;\n}\n","import {\n  Injectable,\n  ComponentRef,\n  ComponentFactory,\n  ApplicationRef,\n  NgZone,\n  ComponentFactoryResolver\n} from '@angular/core';\nimport { ToastComponent } from './toast.component';\nimport { ToastOptions } from './toast-options.provider';\nimport { first } from 'rxjs/operators';\n\nexport interface ConfigInterface {\n  content?: any;\n  iconType?: string;\n  mask?: boolean;\n}\n@Injectable({\n  providedIn: 'root'\n})\n@Injectable()\nexport class ToastService {\n  timeout = null;\n  zone: NgZone = null;\n  compRef: ComponentRef<any> = null;\n  insertElement: HTMLElement = null;\n  toastCompFactory: ComponentFactory<ToastComponent> = null;\n  appRef: ApplicationRef = null;\n\n  constructor(private _appRef: ApplicationRef, private _cfr: ComponentFactoryResolver, private _zone: NgZone) {\n    this.zone = this._zone;\n    this.appRef = this._appRef;\n    this.toastCompFactory = this._cfr.resolveComponentFactory(ToastComponent);\n  }\n\n  _initConfig(config: Object, options: ToastOptions): Object {\n    const props = {};\n    const optionalParams: string[] = ['content', 'iconType', 'mask', 'position'];\n\n    config = Object.assign(options, config);\n    optionalParams.forEach(key => {\n      if (config[key] !== undefined) {\n        props[key] = config[key];\n      }\n    });\n\n    const iconType = {\n      info: '',\n      success: 'success',\n      fail: 'fail',\n      offline: 'dislike',\n      loading: 'loading'\n    }[options.iconType];\n\n    props['iconType'] = iconType;\n    props['mask'] = options.mask;\n    props['position'] = options.position;\n    return props;\n  }\n\n  async notice(config: ConfigInterface, type, timeInterval = 2000, onClose, mask = true, position = 'middle') {\n    // 如果已经存在，在没有遮罩层的情况下，会响应别的toast，需要清除原来的\n    if (this.compRef) {\n      this.hide();\n    }\n    const options: ToastOptions = new ToastOptions();\n    options.iconType = type;\n    options.mask = mask;\n    options.position = position;\n    const props = this._initConfig(config, options);\n\n    this.insertElement = document.body.insertBefore(document.createElement(this.toastCompFactory.selector), document.body.firstChild);\n    let instance: any;\n    let subject: any;\n    // 需要等待应用程序稳定后再安装，比如在 ngOnInit 里调用\n    if (!this._zone.isStable) {\n      await this._appRef.isStable.pipe(\n        first(stable => stable)\n      )\n    }\n\n    this.compRef = this._appRef.bootstrap(this.toastCompFactory);\n    instance = this.compRef.instance;\n    subject = instance.subject;\n\n    if (timeInterval) {\n      this.timeout = setTimeout(() => {\n        if (onClose) {\n          onClose();\n        }\n        this.hide();\n      }, timeInterval);\n    }\n    Object.assign(instance, props);\n    return subject;\n  }\n\n  /**\n   * Open info dialog\n   */\n  info(content?: string, timeInterval?: number, onClose?: () => void, mask?: boolean, position?: string) {\n    const config = Object.assign({\n      iconType: 'info',\n      content: content\n    });\n    return this.notice(config, 'info', timeInterval, onClose, mask, position);\n  }\n\n  /**\n   * Open success dialog\n   */\n  success(content?: string, timeInterval?: number, onClose?: () => void, mask?: boolean, position?: string) {\n    const config = Object.assign({\n      iconType: 'success',\n      content: content\n    });\n    return this.notice(config, 'success', timeInterval, onClose, mask, position);\n  }\n\n  show(content?: string, timeInterval?: number, mask?: boolean, position?: string) {\n    const config = Object.assign({\n      iconType: 'info',\n      content: content\n    });\n    return this.notice(config, 'info', timeInterval, () => {}, mask, position);\n  }\n\n  fail(content?: string, timeInterval?: number, onClose?: () => void, mask?: boolean, position?: string) {\n    const config = Object.assign({\n      iconType: 'fail',\n      content: content\n    });\n    return this.notice(config, 'fail', timeInterval, onClose, mask, position);\n  }\n\n  offline(content?: string, timeInterval?: number, onClose?: () => void, mask?: boolean, position?: string) {\n    const config = Object.assign({\n      iconType: 'offline',\n      content: content\n    });\n    return this.notice(config, 'offline', timeInterval, onClose, mask, position);\n  }\n\n  loading(content?: string, timeInterval?: number, onClose?: () => void, mask?: boolean, position?: string) {\n    const config = Object.assign({\n      iconType: 'loading',\n      content: content\n    });\n    return this.notice(config, 'loading', timeInterval, onClose, mask, position);\n  }\n\n  hide() {\n    if (this.timeout) {\n      clearTimeout(this.timeout);\n    }\n    if (this.compRef) {\n      this._zone.run(() => {\n        this.compRef.destroy();\n        document.body.removeChild(this.insertElement);\n      });\n      this.compRef = null;\n      this.insertElement = null;\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToastService } from './toast.service';\nimport { ToastComponent } from './toast.component';\nimport { IconModule } from 'ng-zorro-antd-mobile/icon';\nimport { WingBlankModule } from 'ng-zorro-antd-mobile/wing-blank';\n\n@NgModule({\n  imports: [CommonModule, IconModule, WingBlankModule],\n  exports: [ToastComponent],\n  declarations: [ToastComponent],\n  providers: [ToastService]\n})\nexport class ToastModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}