{"version":3,"file":"primeng-toast.mjs","sources":["../../src/toast/style/toaststyle.ts","../../src/toast/toast-item.ts","../../src/toast/toast.ts","../../src/toast/primeng-toast.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/toast';\nimport { BaseStyle } from 'primeng/base';\n\n// Position\nconst inlineStyles = {\n    root: ({ instance }) => {\n        const position = instance.position();\n\n        return {\n            position: 'fixed',\n            top: position === 'top-right' || position === 'top-left' || position === 'top-center' ? '20px' : position === 'center' ? '50%' : null,\n            right: (position === 'top-right' || position === 'bottom-right') && '20px',\n            bottom: (position === 'bottom-left' || position === 'bottom-right' || position === 'bottom-center') && '20px',\n            left: position === 'top-left' || position === 'bottom-left' ? '20px' : position === 'center' || position === 'top-center' || position === 'bottom-center' ? '50%' : null\n        };\n    }\n};\n\nconst classes = {\n    root: ({ instance }) => ['p-toast p-component', `p-toast-${instance.position()}`],\n\n    message: ({ instance }) => ({\n        'p-toast-message': true,\n        'p-toast-message-normal': instance.message().severity === 'normal' || instance.message().severity === undefined,\n        'p-toast-message-info': instance.message().severity === 'info',\n        'p-toast-message-warn': instance.message().severity === 'warn',\n        'p-toast-message-error': instance.message().severity === 'error',\n        'p-toast-message-success': instance.message().severity === 'success',\n        'p-toast-message-secondary': instance.message().severity === 'secondary',\n        'p-toast-message-contrast': instance.message().severity === 'contrast'\n    }),\n    messageContent: 'p-toast-message-content',\n    messageIcon: ({ instance }) => ({\n        'p-toast-message-icon': true,\n        [`pi ${instance.message().icon}`]: !!instance.message().icon\n    }),\n    messageText: 'p-toast-message-text',\n    summary: 'p-toast-summary',\n    detail: 'p-toast-detail',\n    closeButton: 'p-toast-close-button',\n    closeIcon: ({ instance }) => ({\n        'p-toast-close-icon': true,\n        [`pi ${instance.message().closeIcon}`]: !!instance.message().closeIcon\n    })\n};\n\n@Injectable()\nexport class ToastStyle extends BaseStyle {\n    name = 'toast';\n\n    style = style;\n\n    classes = classes;\n\n    inlineStyles = inlineStyles;\n}\n\n/**\n *\n * Toast is used to display messages in an overlay.\n *\n * [Live Demo](https://www.primeng.org/toast/)\n *\n * @module toaststyle\n *\n */\nexport enum ToastClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-toast',\n    /**\n     * Class name of the message element\n     */\n    message = 'p-toast-message',\n    /**\n     * Class name of the message content element\n     */\n    messageContent = 'p-toast-message-content',\n    /**\n     * Class name of the message icon element\n     */\n    messageIcon = 'p-toast-message-icon',\n    /**\n     * Class name of the message text element\n     */\n    messageText = 'p-toast-message-text',\n    /**\n     * Class name of the summary element\n     */\n    summary = 'p-toast-summary',\n    /**\n     * Class name of the detail element\n     */\n    detail = 'p-toast-detail',\n    /**\n     * Class name of the close button element\n     */\n    closeButton = 'p-toast-close-button',\n    /**\n     * Class name of the close icon element\n     */\n    closeIcon = 'p-toast-close-icon'\n}\n\nexport interface ToastStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input, numberAttribute, output, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { SharedModule, ToastMessageOptions } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { Check as CheckIcon } from '@primeicons/angular/check';\nimport { InfoCircle as InfoCircleIcon } from '@primeicons/angular/info-circle';\nimport { TimesCircle as TimesCircleIcon } from '@primeicons/angular/times-circle';\nimport { ExclamationTriangle as ExclamationTriangleIcon } from '@primeicons/angular/exclamation-triangle';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { MotionModule } from 'primeng/motion';\nimport { ToastHeadlessTemplateContext, ToastItemCloseEvent, ToastMessageTemplateContext, ToastPassThrough } from 'primeng/types/toast';\nimport { ToastStyle } from './style/toaststyle';\n\nconst SWIPE_THRESHOLD = 50;\nconst VELOCITY_THRESHOLD = 0.11;\nconst SWIPE_OUT_DURATION = 500;\n\n@Component({\n    selector: 'p-toast-item',\n    standalone: true,\n    imports: [NgTemplateOutlet, CheckIcon, InfoCircleIcon, TimesCircleIcon, ExclamationTriangleIcon, TimesIcon, SharedModule, Bind, MotionModule],\n    template: `\n        <div\n            #container\n            [pMotion]=\"visible()\"\n            [pMotionAppear]=\"true\"\n            [pMotionOptions]=\"motionOptions()\"\n            (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n            (pMotionOnAfterEnter)=\"onAfterEnter()\"\n            (pMotionOnAfterLeave)=\"onAfterLeave($event)\"\n            [attr.id]=\"message()?.id\"\n            [pBind]=\"ptm('message')\"\n            [class]=\"cn(cx('message'), message()?.styleClass)\"\n            [style]=\"stackStyles()\"\n            (pointerdown)=\"onPointerDown($event)\"\n            (pointermove)=\"onPointerMove($event)\"\n            (pointerup)=\"onPointerUp()\"\n            (dragend)=\"onDragEnd()\"\n            role=\"alert\"\n            aria-live=\"assertive\"\n            aria-atomic=\"true\"\n            [attr.data-p]=\"dataP()\"\n            data-stack=\"\"\n            [attr.data-mounted]=\"dataMounted()\"\n            [attr.data-removed]=\"dataRemoved()\"\n            [attr.data-front]=\"dataFront()\"\n            [attr.data-expanded]=\"dataExpanded()\"\n            [attr.data-visible]=\"dataVisible()\"\n            [attr.data-swiping]=\"dataSwiping()\"\n            [attr.data-swiped]=\"dataSwiped()\"\n            [attr.data-swipe-out]=\"dataSwipeOut()\"\n            [attr.data-swipe-direction]=\"dataSwipeDirection()\"\n            [attr.data-dismissible]=\"dataDismissible()\"\n        >\n            @if (headlessTemplate()) {\n                <ng-container *ngTemplateOutlet=\"headlessTemplate(); context: headlessContext()\"></ng-container>\n            } @else {\n                <div [pBind]=\"ptm('messageContent')\" [class]=\"cn(cx('messageContent'), message()?.contentStyleClass)\">\n                    @if (!template()) {\n                        @if (message()?.icon) {\n                            <span [pBind]=\"ptm('messageIcon')\" [class]=\"cn(cx('messageIcon'), message()?.icon)\"></span>\n                        } @else if (severityIcon()) {\n                            @switch (severityIcon()) {\n                                @case ('check') {\n                                    <svg data-p-icon=\"check\" [pBind]=\"ptm('messageIcon')\" [class]=\"cx('messageIcon')\" [attr.aria-hidden]=\"true\" />\n                                }\n                                @case ('times-circle') {\n                                    <svg data-p-icon=\"times-circle\" [pBind]=\"ptm('messageIcon')\" [class]=\"cx('messageIcon')\" [attr.aria-hidden]=\"true\" />\n                                }\n                                @case ('exclamation-triangle') {\n                                    <svg data-p-icon=\"exclamation-triangle\" [pBind]=\"ptm('messageIcon')\" [class]=\"cx('messageIcon')\" [attr.aria-hidden]=\"true\" />\n                                }\n                                @case ('info-circle') {\n                                    <svg data-p-icon=\"info-circle\" [pBind]=\"ptm('messageIcon')\" [class]=\"cx('messageIcon')\" [attr.aria-hidden]=\"true\" />\n                                }\n                            }\n                        }\n                        <div [pBind]=\"ptm('messageText')\" [class]=\"cx('messageText')\" [attr.data-p]=\"dataP()\">\n                            <div [pBind]=\"ptm('summary')\" [class]=\"cx('summary')\" [attr.data-p]=\"dataP()\">\n                                {{ message()?.summary }}\n                            </div>\n                            <div [pBind]=\"ptm('detail')\" [class]=\"cx('detail')\" [attr.data-p]=\"dataP()\">{{ message()?.detail }}</div>\n                        </div>\n                    }\n                    @if (template()) {\n                        <ng-container *ngTemplateOutlet=\"template(); context: messageContext()\"></ng-container>\n                    }\n                    @if (showCloseButton()) {\n                        <div>\n                            <button\n                                [pBind]=\"ptm('closeButton')\"\n                                type=\"button\"\n                                [attr.class]=\"cx('closeButton')\"\n                                (click)=\"onCloseIconClick($event)\"\n                                (keydown.enter)=\"onCloseIconClick($event)\"\n                                [attr.aria-label]=\"closeAriaLabel\"\n                                autofocus\n                                [attr.data-p]=\"dataP()\"\n                            >\n                                @if (message()?.closeIcon) {\n                                    <span [pBind]=\"ptm('closeIcon')\" [class]=\"cn(cx('closeIcon'), message()?.closeIcon)\"></span>\n                                } @else {\n                                    <svg [pBind]=\"ptm('closeIcon')\" data-p-icon=\"times\" [class]=\"cx('closeIcon')\" [attr.aria-hidden]=\"true\" />\n                                }\n                            </button>\n                        </div>\n                    }\n                </div>\n            }\n        </div>\n    `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [ToastStyle]\n})\nexport class ToastItem extends BaseComponent<ToastPassThrough> {\n    /**\n     * Message instance.\n     * @group Props\n     */\n    message = input<ToastMessageOptions | null>();\n    /**\n     * Index of the message.\n     * @group Props\n     */\n    index = input<number, unknown>(undefined, { transform: numberAttribute });\n    /**\n     * Life duration in milliseconds.\n     * @group Props\n     */\n    life = input<number, unknown>(undefined, { transform: numberAttribute });\n    /**\n     * Custom message template.\n     * @group Props\n     */\n    template = input<TemplateRef<ToastMessageTemplateContext>>();\n    /**\n     * Custom headless template.\n     * @group Props\n     */\n    headlessTemplate = input<TemplateRef<ToastHeadlessTemplateContext>>();\n    /**\n     * The motion options.\n     * @group Props\n     */\n    motionOptions = input<MotionOptions>();\n    /**\n     * Clear all trigger.\n     * @group Props\n     */\n    clearAll = input<object | null>(null);\n    /**\n     * Whether the stack is expanded.\n     * @group Props\n     */\n    stackExpanded = input(false);\n    /**\n     * Whether the toast container is currently hovered or focused.\n     * @group Props\n     */\n    stackIsHovered = input(false);\n    /**\n     * Index of this toast in the stack.\n     * @group Props\n     */\n    stackIndex = input(0, { transform: numberAttribute });\n    /**\n     * Total number of toasts in the stack.\n     * @group Props\n     */\n    stackTotal = input(0, { transform: numberAttribute });\n    /**\n     * Cumulative offset for expanded state in pixels.\n     * @group Props\n     */\n    stackOffset = input(0, { transform: numberAttribute });\n    /**\n     * Whether this toast is within the visible limit.\n     * @group Props\n     */\n    stackIsVisible = input(false);\n    /**\n     * Whether the user is interacting with the toast container.\n     * @group Props\n     */\n    stackIsInteracting = input(false);\n    /**\n     * Position of the toast container.\n     * @group Props\n     */\n    position = input<string>('top-right');\n    /**\n     * Emits when animation starts.\n     * @group Emits\n     */\n    onAnimationStart = output<HTMLElement>();\n    /**\n     * Emits when animation ends.\n     * @group Emits\n     */\n    onAnimationEnd = output<HTMLElement>();\n    /**\n     * Emits when message is closed.\n     * @group Emits\n     */\n    onClose = output<ToastItemCloseEvent>();\n    /**\n     * Emits when toast height is measured (for stack mode).\n     * @group Emits\n     */\n    onHeightChange = output<{ index: number; height: number; removed?: boolean }>();\n\n    _componentStyle = inject(ToastStyle);\n\n    timeout: ReturnType<typeof setTimeout> | null = null;\n\n    visible = signal<boolean | undefined>(undefined);\n\n    showCloseButton = computed(() => this.message()?.closable !== false);\n\n    private static readonly severityIcons: Record<string, string> = {\n        success: 'check',\n        info: 'info-circle',\n        error: 'times-circle',\n        warn: 'exclamation-triangle',\n        secondary: 'info-circle',\n        contrast: 'info-circle'\n    };\n\n    severityIcon = computed(() => ToastItem.severityIcons[this.message()?.severity as string] ?? null);\n\n    private isDestroyed = false;\n\n    mounted = signal(false);\n\n    measuredHeight = signal(0);\n\n    removed = signal(false);\n\n    offsetBeforeRemove = signal(0);\n\n    swiping = signal(false);\n\n    isSwiped = signal(false);\n\n    swipeOut = signal(false);\n\n    swipeDirection = signal<'x' | 'y' | null>(null);\n\n    swipeOutDirection = signal<'left' | 'right' | 'up' | 'down' | null>(null);\n\n    swipeAmountX = signal(0);\n\n    swipeAmountY = signal(0);\n\n    pointerStartPosition: { x: number; y: number } | null = null;\n\n    swipeStartTime = 0;\n\n    dataMounted = computed(() => (this.mounted() ? '' : null));\n\n    dataFront = computed(() => (this.stackIndex() === 0 ? '' : null));\n\n    dataExpanded = computed(() => (this.stackExpanded() ? '' : null));\n\n    dataVisible = computed(() => (this.stackIsVisible() ? '' : null));\n\n    dataRemoved = computed(() => (this.removed() ? '' : null));\n\n    dataSwiping = computed(() => (this.swiping() ? '' : null));\n\n    dataSwiped = computed(() => (this.isSwiped() ? '' : null));\n\n    dataSwipeOut = computed(() => (this.swipeOut() ? '' : null));\n\n    dataSwipeDirection = computed(() => (this.swipeOutDirection() ? this.swipeOutDirection() : null));\n\n    dataDismissible = computed(() => String(this.message()?.closable !== false));\n\n    stackStyles = computed(() => {\n        const idx = this.stackIndex();\n        const total = this.stackTotal();\n        return {\n            '--px-toast-index': this.removed() ? this.stackIndex() : idx,\n            '--px-toast-z-index': total - idx,\n            '--px-initial-height': this.measuredHeight() + 'px',\n            '--px-toast-offset': (this.removed() ? this.offsetBeforeRemove() : this.stackOffset()) + 'px',\n            '--px-swipe-amount-x': this.swipeAmountX() + 'px',\n            '--px-swipe-amount-y': this.swipeAmountY() + 'px',\n            'z-index': total - idx\n        };\n    });\n\n    constructor() {\n        super();\n\n        effect(() => {\n            if (this.clearAll()) {\n                this.visible.set(false);\n            }\n        });\n\n        effect(() => {\n            // Pause auto-dismiss only while hovered/focused, interacting or swiping — not in expanded mode\n            // (expanded just lays the stack out open; toasts still dismiss on their own). Mirrors React's useToast.\n            const hovered = this.stackIsHovered();\n            const interacting = this.stackIsInteracting();\n            const swiping = this.swiping();\n\n            if (hovered || interacting || swiping) {\n                this.pauseStackTimer();\n            } else {\n                this.startStackTimer();\n            }\n        });\n    }\n\n    onBeforeEnter(event: MotionEvent) {\n        this.onAnimationStart.emit(event.element as HTMLElement);\n    }\n\n    onAfterEnter() {\n        this.measureStackHeight();\n    }\n\n    onAfterLeave(event: MotionEvent) {\n        if (!this.visible() && !this.isDestroyed) {\n            this.onClose.emit({\n                index: this.index() as number,\n                message: this.message() as ToastMessageOptions\n            });\n\n            if (!this.isDestroyed) {\n                this.onAnimationEnd.emit(event.element as HTMLElement);\n            }\n        }\n    }\n\n    onAfterViewInit() {\n        this.visible.set(true);\n        this.measureStackHeight();\n    }\n\n    private measureStackHeight() {\n        if (this.mounted()) return;\n        const el = this.el.nativeElement.querySelector('[data-stack]') as HTMLElement;\n        if (!el) return;\n        const orig = el.style.height;\n        el.style.height = 'auto';\n        const height = el.getBoundingClientRect().height;\n        el.style.height = orig;\n        this.measuredHeight.set(height);\n        this.onHeightChange.emit({ index: this.index() as number, height });\n        this.mounted.set(true);\n    }\n\n    private remainingTime = 0;\n\n    private timerStartTime = 0;\n\n    startStackTimer() {\n        const msg = this.message();\n        if (msg?.sticky) return;\n        this.clearTimeout();\n        if (this.remainingTime <= 0) {\n            this.remainingTime = msg?.life || this.life() || 3000;\n        }\n        this.timerStartTime = Date.now();\n        this.timeout = setTimeout(() => {\n            this.handleFocusOnRemove();\n            this.closeStack();\n        }, this.remainingTime);\n    }\n\n    pauseStackTimer() {\n        if (this.timerStartTime > 0 && this.timeout) {\n            const elapsed = Date.now() - this.timerStartTime;\n            this.remainingTime = Math.max(0, this.remainingTime - elapsed);\n        }\n        this.clearTimeout();\n    }\n\n    clearTimeout() {\n        if (this.timeout) {\n            clearTimeout(this.timeout);\n            this.timeout = null;\n        }\n    }\n\n    onCloseIconClick = (event?: Event) => {\n        this.clearTimeout();\n\n        this.handleFocusOnRemove();\n        this.closeStack();\n\n        event?.preventDefault();\n    };\n\n    private closeStack() {\n        this.markRemoved();\n        this.visible.set(false);\n    }\n\n    private isDismissible(): boolean {\n        return this.message()?.closable !== false;\n    }\n\n    private markRemoved() {\n        // A pending close/transition callback can reach this after teardown; bail so we don't\n        // emit on a destroyed OutputRef.\n        if (this.isDestroyed) return;\n        this.offsetBeforeRemove.set(this.stackOffset());\n        this.removed.set(true);\n        this.onHeightChange.emit({ index: this.index() as number, height: 0, removed: true });\n    }\n\n    onPointerDown = (event: PointerEvent) => {\n        if (event.button !== 0) return;\n        if (!this.isDismissible()) return;\n\n        this.swipeStartTime = Date.now();\n        this.offsetBeforeRemove.set(this.stackOffset());\n\n        try {\n            (event.target as HTMLElement).setPointerCapture(event.pointerId);\n        } catch (_) {\n            // ignore — some elements don't support pointer capture\n        }\n\n        this.swiping.set(true);\n        this.pointerStartPosition = { x: event.clientX, y: event.clientY };\n    };\n\n    onPointerMove = (event: PointerEvent) => {\n        if (!this.pointerStartPosition || !this.isDismissible()) return;\n        if ((window.getSelection()?.toString().length ?? 0) > 0) return;\n\n        const yDelta = event.clientY - this.pointerStartPosition.y;\n        const xDelta = event.clientX - this.pointerStartPosition.x;\n        const isRealSwipe = Math.abs(xDelta) > 1 || Math.abs(yDelta) > 1;\n\n        const positionParts = (this.position() ?? 'top-right').split('-');\n        const side = positionParts[0];\n        const align = positionParts[1];\n\n        if (!this.swipeDirection() && isRealSwipe) {\n            this.swipeDirection.set(Math.abs(xDelta) > Math.abs(yDelta) ? 'x' : 'y');\n        }\n\n        let nextX = 0;\n        let nextY = 0;\n\n        if (this.swipeDirection() === 'x') {\n            const naturalDirection = (align === 'left' && xDelta < 0) || (align === 'right' && xDelta > 0);\n            nextX = naturalDirection ? xDelta : this.applyDampening(xDelta);\n        } else if (this.swipeDirection() === 'y') {\n            const naturalDirection = (side === 'top' && yDelta < 0) || (side === 'bottom' && yDelta > 0);\n            nextY = naturalDirection ? yDelta : this.applyDampening(yDelta);\n        }\n\n        if (Math.abs(nextX) > 0 || Math.abs(nextY) > 0) {\n            this.isSwiped.set(true);\n        }\n\n        this.swipeAmountX.set(nextX);\n        this.swipeAmountY.set(nextY);\n    };\n\n    onPointerUp = () => {\n        if (this.swipeOut() || !this.isDismissible()) return;\n\n        this.swiping.set(false);\n        this.pointerStartPosition = null;\n\n        const swipeAmount = this.swipeDirection() === 'x' ? this.swipeAmountX() : this.swipeAmountY();\n        const elapsed = Date.now() - (this.swipeStartTime || Date.now());\n        const velocity = elapsed > 0 ? Math.abs(swipeAmount) / elapsed : 0;\n\n        if (Math.abs(swipeAmount) >= SWIPE_THRESHOLD || velocity > VELOCITY_THRESHOLD) {\n            this.offsetBeforeRemove.set(this.stackOffset());\n\n            if (this.swipeDirection() === 'x') {\n                this.swipeOutDirection.set(this.swipeAmountX() > 0 ? 'right' : 'left');\n            } else {\n                this.swipeOutDirection.set(this.swipeAmountY() > 0 ? 'down' : 'up');\n            }\n\n            this.swipeOut.set(true);\n            this.markRemoved();\n            this.scheduleSwipeOutClose();\n\n            return;\n        }\n\n        this.swipeAmountX.set(0);\n        this.swipeAmountY.set(0);\n        this.isSwiped.set(false);\n        this.swipeDirection.set(null);\n    };\n\n    onDragEnd = () => {\n        this.swiping.set(false);\n        this.swipeDirection.set(null);\n        this.pointerStartPosition = null;\n    };\n\n    private applyDampening(delta: number): number {\n        const factor = Math.abs(delta) / 20;\n        const dampenedDelta = delta * (1 / (1.5 + factor));\n        return Math.abs(dampenedDelta) < Math.abs(delta) ? dampenedDelta : delta;\n    }\n\n    private scheduleSwipeOutClose() {\n        this.clearTimeout();\n        this.timeout = setTimeout(() => {\n            this.visible.set(false);\n        }, SWIPE_OUT_DURATION);\n    }\n\n    private handleFocusOnRemove() {\n        const el = this.el.nativeElement;\n        const activeEl = this.document.activeElement as HTMLElement;\n        if (!el?.contains(activeEl)) return;\n        const next = el.nextElementSibling?.querySelector('[data-pc-section=\"closebutton\"]') as HTMLElement;\n        const prev = el.previousElementSibling?.querySelector('[data-pc-section=\"closebutton\"]') as HTMLElement;\n        requestAnimationFrame(() => {\n            if (next) next.focus({ preventScroll: true });\n            else if (prev) prev.focus({ preventScroll: true });\n        });\n    }\n\n    get closeAriaLabel() {\n        return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n    }\n\n    onDestroy() {\n        this.isDestroyed = true;\n        this.clearTimeout();\n        this.visible.set(false);\n    }\n\n    headlessContext = computed<ToastHeadlessTemplateContext>(() => ({\n        $implicit: this.message(),\n        closeFn: this.onCloseIconClick\n    }));\n\n    messageContext = computed<ToastMessageTemplateContext>(() => ({\n        $implicit: this.message(),\n        closeFn: this.onCloseIconClick\n    }));\n\n    dataP = computed(() => {\n        const msg = this.message();\n        return this.cn({\n            [msg?.severity as string]: msg?.severity\n        });\n    });\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, inject, InjectionToken, input, NgModule, numberAttribute, output, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { MotionOptions } from '@primeuix/motion';\nimport { isEmpty, setAttribute, uuid } from '@primeuix/utils';\nimport { MessageService, SharedModule, ToastMessageOptions } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ToastBreakpoints, ToastCloseEvent, ToastHeadlessTemplateContext, ToastItemCloseEvent, ToastMessageTemplateContext, ToastModeType, ToastPassThrough, ToastPositionType } from 'primeng/types/toast';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { Subscription } from 'rxjs';\nimport { ToastStyle } from './style/toaststyle';\nimport { ToastItem } from './toast-item';\n\nconst TOAST_INSTANCE = new InjectionToken<Toast>('TOAST_INSTANCE');\n\n/**\n * Toast is used to display messages in an overlay.\n * @group Components\n */\n@Component({\n    selector: 'p-toast',\n    standalone: true,\n    imports: [ToastItem, SharedModule],\n    template: `\n        @for (msg of messages; track msg; let i = $index) {\n            <p-toast-item\n                [message]=\"msg\"\n                [index]=\"i\"\n                [life]=\"life()\"\n                [clearAll]=\"clearAllTrigger()\"\n                (onClose)=\"onMessageClose($event)\"\n                (onAnimationEnd)=\"onAnimationEnd()\"\n                (onAnimationStart)=\"onAnimationStart()\"\n                [template]=\"messageTemplate()\"\n                [headlessTemplate]=\"headlessTemplate()\"\n                [pt]=\"pt\"\n                [unstyled]=\"unstyled()\"\n                [motionOptions]=\"computedMotionOptions()\"\n                [stackExpanded]=\"isExpanded()\"\n                [stackIsHovered]=\"hovered()\"\n                [stackIsInteracting]=\"isInteracting()\"\n                [stackIndex]=\"getStackIndex(i)\"\n                [stackTotal]=\"stackTotal()\"\n                [stackOffset]=\"getStackOffset(i)\"\n                [stackIsVisible]=\"isStackVisible(i)\"\n                [position]=\"position()\"\n                (onHeightChange)=\"onItemHeightChange($event)\"\n            ></p-toast-item>\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [ToastStyle, { provide: TOAST_INSTANCE, useExisting: Toast }, { provide: PARENT_INSTANCE, useExisting: Toast }],\n    host: {\n        '[class]': \"cx('root')\",\n        '[style]': \"sx('root')\",\n        '[attr.data-p]': 'dataP()',\n        '[attr.data-position]': 'position()',\n        '[attr.data-expanded]': 'hostDataExpanded()',\n        '[style.--px-gap.px]': 'stackGap()',\n        '[style.--px-front-toast-height.px]': 'frontToastHeight()',\n        '[style.--px-raise-factor]': 'raiseFactor()',\n        '(mouseenter)': 'onContainerMouseEnter()',\n        '(mouseleave)': 'onContainerMouseLeave($event)',\n        '(pointerdown)': 'onContainerPointerDown($event)',\n        '(pointerup)': 'onContainerPointerUp()'\n    },\n    hostDirectives: [Bind]\n})\nexport class Toast extends BaseComponent<ToastPassThrough> {\n    componentName = 'Toast';\n\n    $pcToast: Toast | undefined = inject(TOAST_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    onAfterViewChecked() {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n    /**\n     * Key of the message in case message is targeted to a specific toast component.\n     * @group Props\n     */\n    key = input<string>();\n    /**\n     * Whether to automatically manage layering.\n     * @group Props\n     */\n    autoZIndex = input(true, { transform: booleanAttribute });\n    /**\n     * Base zIndex value to use in layering.\n     * @group Props\n     */\n    baseZIndex = input(0, { transform: numberAttribute });\n    /**\n     * The default time to display messages for in milliseconds.\n     * @group Props\n     */\n    life = input(3000, { transform: numberAttribute });\n    /**\n     * Position of the toast in viewport.\n     * @group Props\n     */\n    position = input<ToastPositionType>('top-right');\n    /**\n     * Layout mode of the toast. `stacked` collapses toasts into a stack that expands on hover/focus; `expanded` always renders every toast expanded.\n     * @defaultValue 'stacked'\n     * @group Props\n     */\n    mode = input<ToastModeType>('stacked');\n    /**\n     * Gap between stacked toast items in pixels.\n     * @group Props\n     */\n    stackGap = input(8, { transform: numberAttribute });\n    /**\n     * Maximum number of visible toasts in the stack.\n     * @group Props\n     */\n    stackVisibleLimit = input(3, { transform: numberAttribute });\n    /**\n     * It does not add the new message if there is already a toast displayed with the same content\n     * @group Props\n     */\n    preventOpenDuplicates = input(false, { transform: booleanAttribute });\n    /**\n     * Displays only once a message with the same content.\n     * @group Props\n     */\n    preventDuplicates = input(false, { transform: booleanAttribute });\n    /**\n     * The motion options.\n     * @group Props\n     */\n    motionOptions = input<MotionOptions>();\n\n    computedMotionOptions = computed<MotionOptions>(() => {\n        return {\n            ...this.ptm('motion'),\n            ...this.motionOptions()\n        };\n    });\n    /**\n     * Object literal to define styles per screen size.\n     * @group Props\n     */\n    breakpoints = input<ToastBreakpoints>();\n    /**\n     * Callback to invoke when a message is closed.\n     * @param {ToastCloseEvent} event - custom close event.\n     * @group Emits\n     */\n    onClose = output<ToastCloseEvent>();\n    /**\n     * Custom message template.\n     * @param {ToastMessageTemplateContext} context - message context.\n     * @see {@link ToastMessageTemplateContext}\n     * @group Templates\n     */\n    messageTemplate = contentChild<TemplateRef<ToastMessageTemplateContext>>('message', { descendants: false });\n    /**\n     * Custom headless template.\n     * @param {ToastHeadlessTemplateContext} context - headless context.\n     * @see {@link ToastHeadlessTemplateContext}\n     * @group Templates\n     */\n    headlessTemplate = contentChild<TemplateRef<ToastHeadlessTemplateContext>>('headless', { descendants: false });\n\n    messageSubscription: Subscription | undefined;\n\n    clearSubscription: Subscription | undefined;\n\n    messages: ToastMessageOptions[] | null | undefined;\n\n    messageArchive: ToastMessageOptions[] | undefined;\n\n    messageService = inject(MessageService);\n\n    _componentStyle = inject(ToastStyle);\n\n    styleElement: HTMLStyleElement | null = null;\n\n    id: string = uuid('pn_id_');\n\n    clearAllTrigger = signal<object | null>(null);\n\n    hovered = signal(false);\n\n    isInteracting = signal(false);\n\n    heights = signal<{ index: number; height: number }[]>([]);\n\n    // Single sorted source — all stack computeds derive from this\n    sortedHeights = computed(() => [...this.heights()].sort((a, b) => b.index - a.index));\n\n    frontToastHeight = computed(() => this.sortedHeights()[0]?.height ?? 0);\n\n    stackOffsets = computed(() => {\n        const sorted = this.sortedHeights();\n        const offsets: number[] = [0];\n        for (let i = 1; i < sorted.length; i++) {\n            offsets[i] = offsets[i - 1] + sorted[i - 1].height;\n        }\n        return offsets;\n    });\n\n    visualStackIndices = computed(() => {\n        const map = new Map<number, number>();\n        this.sortedHeights().forEach((entry, idx) => map.set(entry.index, idx));\n        return map;\n    });\n\n    visibleIndices = computed(\n        () =>\n            new Set(\n                this.sortedHeights()\n                    .slice(0, this.stackVisibleLimit())\n                    .map((x) => x.index)\n            )\n    );\n\n    raiseFactor = computed(() => {\n        const pos = this.position();\n        return pos.startsWith('bottom') ? -1 : 1;\n    });\n\n    isExpanded = computed(() => this.mode() === 'expanded' || this.hovered());\n\n    hostDataExpanded = computed(() => (this.isExpanded() ? '' : null));\n\n    stackTotal = computed(() => this.messages?.length ?? 0);\n\n    getStackIndex(domIndex: number): number {\n        return this.visualStackIndices().get(domIndex) ?? (this.messages?.length ?? 0) - 1 - domIndex;\n    }\n\n    getStackOffset(domIndex: number): number {\n        const visualIdx = this.visualStackIndices().get(domIndex) ?? 0;\n        return this.stackOffsets()[visualIdx] ?? 0;\n    }\n\n    isStackVisible(domIndex: number): boolean {\n        return this.visibleIndices().has(domIndex);\n    }\n\n    dataP = computed(() => {\n        const pos = this.position();\n        return this.cn({\n            [pos]: pos\n        });\n    });\n\n    onInit() {\n        this.messageSubscription = this.messageService.messageObserver.subscribe((messages) => {\n            if (messages) {\n                if (Array.isArray(messages)) {\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.clearAll();\n                }\n            } else {\n                this.clearAll();\n            }\n\n            this.cd.markForCheck();\n        });\n    }\n\n    clearAll() {\n        this.clearAllTrigger.set({});\n        this.heights.set([]);\n        this.hovered.set(false);\n        this.isInteracting.set(false);\n        this.messageArchive = undefined;\n    }\n\n    onAfterViewInit() {\n        if (this.breakpoints()) {\n            this.createStyle();\n        }\n    }\n\n    add(messages: ToastMessageOptions[]): void {\n        this.messages = this.messages ? [...this.messages, ...messages] : [...messages];\n\n        if (this.preventDuplicates()) {\n            this.messageArchive = this.messageArchive ? [...this.messageArchive, ...messages] : [...messages];\n        }\n\n        this.cd.markForCheck();\n    }\n\n    canAdd(message: ToastMessageOptions): 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.messageArchive ?? [], message);\n        }\n\n        return allow;\n    }\n\n    containsMessage(collection: ToastMessageOptions[], message: ToastMessageOptions): 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    onMessageClose(event: ToastItemCloseEvent) {\n        this.messages?.splice(event.index, 1);\n\n        this.heights.update((h) => h.filter((x) => x.index !== event.index).map((x) => (x.index > event.index ? { ...x, index: x.index - 1 } : x)));\n        if ((this.messages?.length ?? 0) <= 1) {\n            this.hovered.set(false);\n        }\n\n        this.onClose.emit({\n            message: event.message\n        });\n        this.onAnimationEnd();\n        this.cd.detectChanges();\n    }\n\n    onAnimationStart() {\n        this.renderer.setAttribute(this.el?.nativeElement, this.id, '');\n        if (this.autoZIndex() && this.el?.nativeElement.style.zIndex === '') {\n            ZIndexUtils.set('modal', this.el?.nativeElement, this.baseZIndex() || this.config.zIndex.modal);\n        }\n    }\n\n    onAnimationEnd() {\n        if (this.autoZIndex() && isEmpty(this.messages)) {\n            ZIndexUtils.clear(this.el?.nativeElement);\n        }\n    }\n\n    onContainerMouseEnter() {\n        this.hovered.set(true);\n    }\n\n    onContainerMouseLeave(event: MouseEvent) {\n        if (this.isInteracting()) return;\n\n        const container = this.el?.nativeElement;\n        const relatedTarget = event.relatedTarget as Node | null;\n        if (relatedTarget && container?.contains(relatedTarget)) {\n            return;\n        }\n\n        this.hovered.set(false);\n    }\n\n    onContainerPointerDown(event: PointerEvent) {\n        const target = event.target as HTMLElement;\n        if (target && target.closest('[data-dismissible=\"false\"]')) return;\n\n        this.isInteracting.set(true);\n    }\n\n    onContainerPointerUp() {\n        this.isInteracting.set(false);\n    }\n\n    onItemHeightChange(event: { index: number; height: number; removed?: boolean }) {\n        if (event.removed) {\n            this.heights.update((h) => h.filter((x) => x.index !== event.index));\n            return;\n        }\n        this.heights.update((h) => {\n            const existing = h.findIndex((x) => x.index === event.index);\n            if (existing >= 0) {\n                const copy = [...h];\n                copy[existing] = event;\n                return copy;\n            }\n            return [...h, event].sort((a, b) => a.index - b.index);\n        });\n    }\n\n    createStyle() {\n        const bp = this.breakpoints();\n        if (!this.styleElement) {\n            const styleEl: HTMLStyleElement = this.renderer.createElement('style');\n            setAttribute(styleEl, 'nonce', this.config?.csp()?.nonce);\n            this.renderer.appendChild(this.document.head, styleEl);\n            let innerHTML = '';\n            for (let breakpoint in bp) {\n                let breakpointStyle = '';\n                for (let styleProp in bp![breakpoint]) {\n                    breakpointStyle += styleProp + ':' + bp![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.renderer.setProperty(styleEl, 'innerHTML', innerHTML);\n            setAttribute(styleEl, 'nonce', this.config?.csp()?.nonce);\n            this.styleElement = styleEl;\n        }\n    }\n\n    destroyStyle() {\n        if (this.styleElement) {\n            this.renderer.removeChild(this.document.head, this.styleElement);\n            this.styleElement = null;\n        }\n    }\n\n    onDestroy() {\n        if (this.messageSubscription) {\n            this.messageSubscription.unsubscribe();\n        }\n\n        if (this.el && this.autoZIndex()) {\n            ZIndexUtils.clear(this.el.nativeElement);\n        }\n\n        if (this.clearSubscription) {\n            this.clearSubscription.unsubscribe();\n        }\n\n        this.destroyStyle();\n    }\n}\n\n@NgModule({\n    imports: [Toast, SharedModule],\n    exports: [Toast, SharedModule]\n})\nexport class ToastModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["CheckIcon","InfoCircleIcon","TimesCircleIcon","ExclamationTriangleIcon","TimesIcon","i1"],"mappings":"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"}