{"version":3,"file":"primeng-toast.mjs","sources":["../../src/app/components/toast/toast.ts","../../src/app/components/toast/primeng-toast.ts"],"sourcesContent":["import {NgModule,Component,Input,Output,OnInit,AfterViewInit,AfterContentInit,OnDestroy,ElementRef,ViewChild,EventEmitter,ContentChildren,QueryList,TemplateRef,ChangeDetectionStrategy, NgZone, ChangeDetectorRef, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {Message, PrimeNGConfig} from 'primeng/api';\nimport {DomHandler} from 'primeng/dom';\nimport {PrimeTemplate,SharedModule} from 'primeng/api';\nimport {MessageService} from 'primeng/api';\nimport {UniqueComponentId} from 'primeng/utils';\nimport {RippleModule} from 'primeng/ripple';\nimport {Subscription} from 'rxjs';\nimport {trigger,state,style,transition,animate,query,animateChild,AnimationEvent} from '@angular/animations';\nimport { ZIndexUtils } from 'primeng/utils';\n\n@Component({\n    selector: 'p-toastItem',\n    template: `\n        <div #container [attr.id]=\"message.id\" [class]=\"message.styleClass\" [ngClass]=\"['p-toast-message-' + message.severity, 'p-toast-message']\" [@messageState]=\"{value: 'visible', params: {showTransformParams: showTransformOptions, hideTransformParams: hideTransformOptions, showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\"\n                (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\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 [class]=\"'p-toast-message-icon pi' + (message.icon ? ' ' + message.icon : '')\" [ngClass]=\"{'pi-info-circle': message.severity == 'info', 'pi-exclamation-triangle': message.severity == 'warn',\n                        'pi-times-circle': message.severity == 'error', 'pi-check' :message.severity == 'success'}\"></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 type=\"button\" class=\"p-toast-icon-close p-link\" (click)=\"onCloseIconClick($event)\" (keydown.enter)=\"onCloseIconClick($event)\" *ngIf=\"message.closable !== false\" pRipple>\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('visible', style({\n                transform: 'translateY(0)',\n                opacity: 1\n            })),\n            transition('void => *', [\n                style({transform: '{{showTransformParams}}', opacity: 0}),\n                animate('{{showTransitionParams}}')\n            ]),\n            transition('* => void', [\n                animate(('{{hideTransitionParams}}'), style({\n                    height: 0,\n                    opacity: 0,\n                    transform: '{{hideTransformParams}}'\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\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 *ngFor=\"let msg of messages; let i=index\" [message]=\"msg\" [index]=\"i\" (onClose)=\"onMessageClose($event)\"\n                    [template]=\"template\" @toastAnimation (@toastAnimation.start)=\"onAnimationStart($event)\" (@toastAnimation.done)=\"onAnimationEnd($event)\"\n                    [showTransformOptions]=\"showTransformOptions\" [hideTransformOptions]=\"hideTransformOptions\"\n                    [showTransitionOptions]=\"showTransitionOptions\" [hideTransitionOptions]=\"hideTransitionOptions\"></p-toastItem>\n        </div>\n    `,\n    animations: [\n        trigger('toastAnimation', [\n            transition(':enter, :leave', [\n                query('@*', animateChild())\n            ])\n        ])\n    ],\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\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                }\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            }\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 collection.find(m => {\n           return ((m.summary === message.summary) && (m.detail == message.detail) && (m.severity === message.severity));\n        }) != null;\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\n            if (this.autoZIndex) {\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) {\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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"}