{"version":3,"file":"axulus-uikit-toast.mjs","sources":["../../src/app/components/toast/toast.ts","../../src/app/components/toast/axulus-uikit-toast.ts"],"sourcesContent":["import { animate, animateChild, AnimationEvent, query, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n  AfterContentInit,\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  Input,\n  NgModule,\n  NgZone,\n  OnDestroy,\n  OnInit,\n  Output,\n  QueryList,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { Message, MessageService, PrimeNGConfig, PrimeTemplate, SharedModule } from '@axulus/uikit/api';\nimport { RippleModule } from '@axulus/uikit/ripple';\nimport { ObjectUtils, UniqueComponentId, ZIndexUtils } from '@axulus/uikit/utils';\nimport { Subscription } from 'rxjs';\n\n@Component({\n  selector: 'p-toastItem',\n  template: `\n    <div\n      #container\n      [attr.id]=\"message.id\"\n      [class]=\"message.styleClass\"\n      [ngClass]=\"['p-toast-message-' + message.severity, 'p-toast-message']\"\n      [@messageState]=\"{\n        value: 'visible',\n        params: {\n          showTransformParams: showTransformOptions,\n          hideTransformParams: hideTransformOptions,\n          showTransitionParams: showTransitionOptions,\n          hideTransitionParams: hideTransitionOptions\n        }\n      }\"\n      (mouseenter)=\"onMouseEnter()\"\n      (mouseleave)=\"onMouseLeave()\"\n    >\n      <div class=\"p-toast-message-content\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" [ngClass]=\"message.contentStyleClass\">\n        <ng-container *ngIf=\"!template\">\n          <span\n            [class]=\"'p-toast-message-icon pi' + (message.icon ? ' ' + message.icon : '')\"\n            [ngClass]=\"{\n              'pi-info-circle': message.severity == 'info',\n              'pi-exclamation-triangle': message.severity == 'warn',\n              'pi-times-circle': message.severity == 'error',\n              'pi-check': message.severity == 'success'\n            }\"\n          ></span>\n          <div class=\"p-toast-message-text\">\n            <div class=\"p-toast-summary\">{{ message.summary }}</div>\n            <div class=\"p-toast-detail\">{{ message.detail }}</div>\n          </div>\n        </ng-container>\n        <ng-container *ngTemplateOutlet=\"template; context: { $implicit: message }\"></ng-container>\n        <button\n          type=\"button\"\n          class=\"p-toast-icon-close p-link\"\n          (click)=\"onCloseIconClick($event)\"\n          (keydown.enter)=\"onCloseIconClick($event)\"\n          *ngIf=\"message.closable !== false\"\n          pRipple\n        >\n          <span class=\"p-toast-icon-close-icon pi pi-times\"></span>\n        </button>\n      </div>\n    </div>\n  `,\n  animations: [\n    trigger('messageState', [\n      state(\n        'visible',\n        style({\n          transform: 'translateY(0)',\n          opacity: 1\n        })\n      ),\n      transition('void => *', [style({ transform: '{{showTransformParams}}', opacity: 0 }), animate('{{showTransitionParams}}')]),\n      transition('* => void', [\n        animate(\n          '{{hideTransitionParams}}',\n          style({\n            height: 0,\n            opacity: 0,\n            transform: '{{hideTransformParams}}'\n          })\n        )\n      ])\n    ])\n  ],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'p-element'\n  }\n})\nexport class ToastItem implements AfterViewInit, OnDestroy {\n  @Input() message: Message;\n\n  @Input() index: number;\n\n  @Input() template: TemplateRef<any>;\n\n  @Input() showTransformOptions: string;\n\n  @Input() hideTransformOptions: string;\n\n  @Input() showTransitionOptions: string;\n\n  @Input() hideTransitionOptions: string;\n\n  @Output() onClose: EventEmitter<any> = new EventEmitter();\n\n  @ViewChild('container') containerViewChild: ElementRef;\n\n  timeout: any;\n\n  constructor(private zone: NgZone) {}\n\n  ngAfterViewInit() {\n    this.initTimeout();\n  }\n\n  initTimeout() {\n    if (!this.message.sticky) {\n      this.zone.runOutsideAngular(() => {\n        this.timeout = setTimeout(() => {\n          this.onClose.emit({\n            index: this.index,\n            message: this.message\n          });\n        }, this.message.life || 3000);\n      });\n    }\n  }\n\n  clearTimeout() {\n    if (this.timeout) {\n      clearTimeout(this.timeout);\n      this.timeout = null;\n    }\n  }\n\n  onMouseEnter() {\n    this.clearTimeout();\n  }\n\n  onMouseLeave() {\n    this.initTimeout();\n  }\n\n  onCloseIconClick(event) {\n    this.clearTimeout();\n\n    this.onClose.emit({\n      index: this.index,\n      message: this.message\n    });\n\n    event.preventDefault();\n  }\n\n  ngOnDestroy() {\n    this.clearTimeout();\n  }\n}\n\n@Component({\n  selector: 'p-toast',\n  template: `\n    <div #container [ngClass]=\"'p-toast p-component p-toast-' + position\" [ngStyle]=\"style\" [class]=\"styleClass\">\n      <p-toastItem\n        *ngFor=\"let msg of messages; let i = index\"\n        [message]=\"msg\"\n        [index]=\"i\"\n        (onClose)=\"onMessageClose($event)\"\n        [template]=\"template\"\n        @toastAnimation\n        (@toastAnimation.start)=\"onAnimationStart($event)\"\n        (@toastAnimation.done)=\"onAnimationEnd($event)\"\n        [showTransformOptions]=\"showTransformOptions\"\n        [hideTransformOptions]=\"hideTransformOptions\"\n        [showTransitionOptions]=\"showTransitionOptions\"\n        [hideTransitionOptions]=\"hideTransitionOptions\"\n      ></p-toastItem>\n    </div>\n  `,\n  animations: [trigger('toastAnimation', [transition(':enter, :leave', [query('@*', animateChild())])])],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: ['./toast.css'],\n  host: {\n    class: 'p-element'\n  }\n})\nexport class Toast implements OnInit, AfterContentInit, OnDestroy {\n  @Input() key: string;\n\n  @Input() autoZIndex: boolean = true;\n\n  @Input() baseZIndex: number = 0;\n\n  @Input() style: any;\n\n  @Input() styleClass: string;\n\n  @Input() position: string = 'top-right';\n\n  @Input() preventOpenDuplicates: boolean = false;\n\n  @Input() preventDuplicates: boolean = false;\n\n  @Input() showTransformOptions: string = 'translateY(100%)';\n\n  @Input() hideTransformOptions: string = 'translateY(-100%)';\n\n  @Input() showTransitionOptions: string = '300ms ease-out';\n\n  @Input() hideTransitionOptions: string = '250ms ease-in';\n\n  @Input() breakpoints: any;\n\n  @Output() onClose: EventEmitter<any> = new EventEmitter();\n\n  @ViewChild('container') containerViewChild: ElementRef;\n\n  @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n  messageSubscription: Subscription;\n\n  clearSubscription: Subscription;\n\n  messages: Message[];\n\n  messagesArchieve: Message[];\n\n  template: TemplateRef<any>;\n\n  constructor(public messageService: MessageService, private cd: ChangeDetectorRef, public config: PrimeNGConfig) {}\n\n  styleElement: any;\n\n  id: string = UniqueComponentId();\n\n  ngOnInit() {\n    this.messageSubscription = this.messageService.messageObserver.subscribe((messages) => {\n      if (messages) {\n        if (messages instanceof Array) {\n          const filteredMessages = messages.filter((m) => this.canAdd(m));\n          this.add(filteredMessages);\n        } else if (this.canAdd(messages)) {\n          this.add([messages]);\n        }\n      }\n    });\n\n    this.clearSubscription = this.messageService.clearObserver.subscribe((key) => {\n      if (key) {\n        if (this.key === key) {\n          this.messages = null;\n        }\n      } else {\n        this.messages = null;\n      }\n\n      this.cd.markForCheck();\n    });\n  }\n\n  ngAfterViewInit() {\n    if (this.breakpoints) {\n      this.createStyle();\n    }\n  }\n\n  add(messages: Message[]): void {\n    this.messages = this.messages ? [...this.messages, ...messages] : [...messages];\n\n    if (this.preventDuplicates) {\n      this.messagesArchieve = this.messagesArchieve ? [...this.messagesArchieve, ...messages] : [...messages];\n    }\n\n    this.cd.markForCheck();\n  }\n\n  canAdd(message: Message): boolean {\n    let allow = this.key === message.key;\n\n    if (allow && this.preventOpenDuplicates) {\n      allow = !this.containsMessage(this.messages, message);\n    }\n\n    if (allow && this.preventDuplicates) {\n      allow = !this.containsMessage(this.messagesArchieve, message);\n    }\n\n    return allow;\n  }\n\n  containsMessage(collection: Message[], message: Message): boolean {\n    if (!collection) {\n      return false;\n    }\n\n    return (\n      collection.find((m) => {\n        return m.summary === message.summary && m.detail == message.detail && m.severity === message.severity;\n      }) != null\n    );\n  }\n\n  ngAfterContentInit() {\n    this.templates.forEach((item) => {\n      switch (item.getType()) {\n        case 'message':\n          this.template = item.template;\n          break;\n\n        default:\n          this.template = item.template;\n          break;\n      }\n    });\n  }\n\n  onMessageClose(event) {\n    this.messages.splice(event.index, 1);\n\n    this.onClose.emit({\n      message: event.message\n    });\n\n    this.cd.detectChanges();\n  }\n\n  onAnimationStart(event: AnimationEvent) {\n    if (event.fromState === 'void') {\n      this.containerViewChild.nativeElement.setAttribute(this.id, '');\n      if (this.autoZIndex && this.containerViewChild.nativeElement.style.zIndex === '') {\n        ZIndexUtils.set('modal', this.containerViewChild.nativeElement, this.baseZIndex || this.config.zIndex.modal);\n      }\n    }\n  }\n\n  onAnimationEnd(event: AnimationEvent) {\n    if (event.toState === 'void') {\n      if (this.autoZIndex && ObjectUtils.isEmpty(this.messages)) {\n        ZIndexUtils.clear(this.containerViewChild.nativeElement);\n      }\n    }\n  }\n\n  createStyle() {\n    if (!this.styleElement) {\n      this.styleElement = document.createElement('style');\n      this.styleElement.type = 'text/css';\n      document.head.appendChild(this.styleElement);\n      let innerHTML = '';\n      for (let breakpoint in this.breakpoints) {\n        let breakpointStyle = '';\n        for (let styleProp in this.breakpoints[breakpoint]) {\n          breakpointStyle += styleProp + ':' + this.breakpoints[breakpoint][styleProp] + ' !important;';\n        }\n        innerHTML += `\n                    @media screen and (max-width: ${breakpoint}) {\n                        .p-toast[${this.id}] {\n                           ${breakpointStyle}\n                        }\n                    }\n                `;\n      }\n\n      this.styleElement.innerHTML = innerHTML;\n    }\n  }\n\n  destroyStyle() {\n    if (this.styleElement) {\n      document.head.removeChild(this.styleElement);\n      this.styleElement = null;\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.messageSubscription) {\n      this.messageSubscription.unsubscribe();\n    }\n\n    if (this.containerViewChild && this.autoZIndex) {\n      ZIndexUtils.clear(this.containerViewChild.nativeElement);\n    }\n\n    if (this.clearSubscription) {\n      this.clearSubscription.unsubscribe();\n    }\n\n    this.destroyStyle();\n  }\n}\n\n@NgModule({\n  imports: [CommonModule, RippleModule],\n  exports: [Toast, SharedModule],\n  declarations: [Toast, ToastItem]\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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"}