{"version":3,"file":"igniteui-angular-toast.mjs","sources":["../../../projects/igniteui-angular/toast/src/toast/toast.component.ts","../../../projects/igniteui-angular/toast/src/toast/toast.component.html","../../../projects/igniteui-angular/toast/src/toast/toast.module.ts","../../../projects/igniteui-angular/toast/src/igniteui-angular-toast.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, inject } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport {\n    HorizontalAlignment,\n    VerticalAlignment,\n    GlobalPositionStrategy,\n    PositionSettings\n} from 'igniteui-angular/core';\nimport { IgxNotificationsDirective } from 'igniteui-angular/directives';\nimport { ToggleViewEventArgs } from 'igniteui-angular/directives';\nimport { useAnimation } from '@angular/animations';\nimport { fadeIn, fadeOut } from 'igniteui-angular/animations';\n\nlet NEXT_ID = 0;\n\n/**\n * **Ignite UI for Angular Toast** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/toast)\n *\n * The Ignite UI Toast provides information and warning messages that are non-interactive and cannot\n * be dismissed by the user. Toasts can be displayed at the bottom, middle, or top of the page.\n *\n * Example:\n * ```html\n * <button type=\"button\" igxButton (click)=\"toast.open()\">Show notification</button>\n * <igx-toast #toast displayTime=\"1000\">\n *      Notification displayed\n * </igx-toast>\n * ```\n */\n@Component({\n    selector: 'igx-toast',\n    templateUrl: 'toast.component.html',\n    standalone: true\n})\nexport class IgxToastComponent extends IgxNotificationsDirective implements OnInit {\n    private _element = inject(ElementRef);\n\n    /**\n     * @hidden\n     */\n    @HostBinding('class.igx-toast')\n    public cssClass = 'igx-toast';\n\n    /**\n     * Sets/gets the `id` of the toast.\n     * If not set, the `id` will have value `\"igx-toast-0\"`.\n     * ```html\n     * <igx-toast id = \"my-first-toast\"></igx-toast>\n     * ```\n     * ```typescript\n     * let toastId = this.toast.id;\n     * ```\n     */\n    @HostBinding('attr.id')\n    @Input()\n    public override id = `igx-toast-${NEXT_ID++}`;\n\n    /**\n     * Sets/gets the `role` attribute.\n     * If not set, `role` will have value `\"alert\"`.\n     * ```html\n     * <igx-toast [role] = \"'notify'\"></igx-toast>\n     * ```\n     * ```typescript\n     * let toastRole = this.toast.role;\n     * ```\n     *\n     * @memberof IgxToastComponent\n     */\n    @HostBinding('attr.role')\n    @Input()\n    public role = 'alert';\n\n    /**\n     * @hidden\n     */\n    @Output()\n    public isVisibleChange = new EventEmitter<ToggleViewEventArgs>();\n\n    /**\n     * Get the position and animation settings used by the toast.\n     * ```typescript\n     * @ViewChild('toast', { static: true }) public toast: IgxToastComponent;\n     * let currentPosition: PositionSettings = this.toast.positionSettings\n     * ```\n     */\n     @Input()\n     public get positionSettings(): PositionSettings {\n         return this._positionSettings;\n     }\n\n     /**\n      * Set the position and animation settings used by the toast.\n      * ```html\n      * <igx-toast [positionSettings]=\"newPositionSettings\"></igx-toast>\n      * ```\n      * ```typescript\n      * import { slideInTop, slideOutBottom } from 'igniteui-angular';\n      * ...\n      * @ViewChild('toast', { static: true }) public toast: IgxToastComponent;\n      *  public newPositionSettings: PositionSettings = {\n      *      openAnimation: useAnimation(slideInTop, { params: { duration: '1000ms', fromPosition: 'translateY(100%)'}}),\n      *      closeAnimation: useAnimation(slideOutBottom, { params: { duration: '1000ms', fromPosition: 'translateY(0)'}}),\n      *      horizontalDirection: HorizontalAlignment.Left,\n      *      verticalDirection: VerticalAlignment.Middle,\n      *      horizontalStartPoint: HorizontalAlignment.Left,\n      *      verticalStartPoint: VerticalAlignment.Middle\n      *  };\n      * this.toast.positionSettings = this.newPositionSettings;\n      * ```\n      */\n     public set positionSettings(settings: PositionSettings) {\n         this._positionSettings = settings;\n     }\n\n     private _positionSettings: PositionSettings = {\n        horizontalDirection: HorizontalAlignment.Center,\n        verticalDirection: VerticalAlignment.Bottom,\n        openAnimation: useAnimation(fadeIn),\n        closeAnimation: useAnimation(fadeOut),\n     };\n\n    /**\n     * Gets the nativeElement of the toast.\n     * ```typescript\n     * let nativeElement = this.toast.element;\n     * ```\n     *\n     * @memberof IgxToastComponent\n     */\n    public override get element() {\n        return this._element.nativeElement;\n    }\n\n    /**\n     * Shows the toast.\n     * If `autoHide` is enabled, the toast will hide after `displayTime` is over.\n     *\n     * ```typescript\n     * this.toast.open();\n     * ```\n     */\n    public override open(message?: string, settings?: PositionSettings) {\n        if (message !== undefined) {\n            this.textMessage = message;\n        }\n        if (settings !== undefined) {\n            this.positionSettings = settings;\n        }\n        this.strategy = new GlobalPositionStrategy(this.positionSettings);\n        super.open();\n    }\n\n    /**\n     * Opens or closes the toast, depending on its current state.\n     *\n     * ```typescript\n     * this.toast.toggle();\n     * ```\n     */\n     public override toggle() {\n        if (this.collapsed || this.isClosing) {\n            this.open();\n        } else {\n            this.close();\n        }\n    }\n\n    /**\n     * @hidden\n     */\n    public override ngOnInit() {\n        this.opened.pipe(takeUntil(this.destroy$)).subscribe(() => {\n            const openedEventArgs: ToggleViewEventArgs = { owner: this, id: this._overlayId };\n            this.isVisibleChange.emit(openedEventArgs);\n        });\n\n        this.closed.pipe(takeUntil(this.destroy$)).subscribe(() => {\n            const closedEventArgs: ToggleViewEventArgs = { owner: this, id: this._overlayId };\n            this.isVisibleChange.emit(closedEventArgs);\n        });\n    }\n}\n","<ng-content></ng-content>\n<span>{{ textMessage }}</span>\n\n","import { NgModule } from '@angular/core';\nimport { IgxToastComponent } from './toast.component';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n    imports: [\n        IgxToastComponent\n    ],\n    exports: [\n        IgxToastComponent\n    ]\n})\nexport class IgxToastModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}