{"version":3,"file":"fundamental-ngx-core-message-toast.mjs","sources":["../../../../libs/core/message-toast/constants/message-toast.token.ts","../../../../libs/core/message-toast/ref/message-toast.ref.ts","../../../../libs/core/message-toast/components/message-toast-text.component.ts","../../../../libs/core/message-toast/config/message-toast.config.ts","../../../../libs/core/message-toast/message-toast.component.ts","../../../../libs/core/message-toast/message-toast.service.ts","../../../../libs/core/message-toast/provide-config.ts","../../../../libs/core/message-toast/message-toast.module.ts","../../../../libs/core/message-toast/toast-overlay-container.class.ts","../../../../libs/core/message-toast/fundamental-ngx-core-message-toast.ts"],"sourcesContent":["/** Injection token that can be used to access the data that was passed in to a Message Toast. */\nimport { InjectionToken } from '@angular/core';\nimport { MessageToastConfig } from '../config/message-toast.config';\n\nexport const MESSAGE_TOAST_DATA = new InjectionToken<any>('MessageToastData');\nexport const MESSAGE_TOAST_CONFIG = new InjectionToken<MessageToastConfig>('MessageToastConfig');\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { BaseToastDurationDismissibleRef, BaseToastPosition } from '@fundamental-ngx/cdk/utils';\nimport { MessageToastConfig } from '../config/message-toast.config';\nimport { MessageToastComponent } from '../message-toast.component';\n\nexport class MessageToastRef<T = any> extends BaseToastDurationDismissibleRef<T, MessageToastConfig> {\n    /** Observable that is triggered when the message toast has timed out. */\n    afterTimeout = this._afterDismissed$.asObservable();\n\n    /** Data passed from the service open method. */\n    readonly data: T;\n\n    /** @hidden */\n    constructor(\n        public containerInstance: MessageToastComponent,\n        public overlayRef: OverlayRef,\n        public positionStrategy: BaseToastPosition\n    ) {\n        super(containerInstance, overlayRef, positionStrategy);\n\n        this.data = this.containerInstance.config.data;\n    }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { ToastTextComponent } from '@fundamental-ngx/cdk/utils';\nimport { MESSAGE_TOAST_DATA } from '../constants/message-toast.token';\nimport { MessageToastRef } from '../ref/message-toast.ref';\n\n@Component({\n    selector: 'fd-message-toast-text',\n    template: `{{ message }}`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None\n})\nexport class MessageToastTextComponent implements ToastTextComponent {\n    /** @hidden */\n    readonly toastRef = inject<MessageToastRef<MessageToastTextComponent>>(MessageToastRef);\n\n    /** @hidden */\n    readonly message = inject<string>(MESSAGE_TOAST_DATA);\n}\n","import { BaseToastDurationDismissibleConfig } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Configuration used when opening a Message Toast.\n */\nexport class MessageToastConfig<T = any> extends BaseToastDurationDismissibleConfig<T> {\n    /** Whether the Message Toast should be animated. */\n    animated? = false;\n}\n","import { PortalModule } from '@angular/cdk/portal';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { BaseToastDurationDismissibleContainerComponent } from '@fundamental-ngx/cdk/utils';\nimport { MessageToastConfig } from './config/message-toast.config';\n\n@Component({\n    selector: 'fd-message-toast',\n    template: `<ng-template cdkPortalOutlet></ng-template>`,\n    styleUrl: './message-toast.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[style.width]': 'width',\n        '[style.min-width]': 'minWidth',\n        '[style.max-width]': 'maxWidth',\n        '[style.height]': 'height',\n        '[style.min-height]': 'minHeight',\n        '[style.max-height]': 'maxHeight',\n        '[attr.aria-label]': 'ariaLabel',\n        '[attr.aria-live]': '\"polite\"',\n        '[attr.id]': 'id',\n        role: 'alert',\n        tabindex: '-1',\n        class: 'fd-message-toast'\n    },\n    imports: [PortalModule]\n})\nexport class MessageToastComponent extends BaseToastDurationDismissibleContainerComponent<MessageToastConfig> {\n    /** @hidden */\n    constructor() {\n        super(inject(MessageToastConfig));\n    }\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { EmbeddedViewRef, Injectable, StaticProvider, TemplateRef, Type, inject } from '@angular/core';\nimport { BaseDismissibleToastService, BaseToastPosition, ToastBottomCenterPosition } from '@fundamental-ngx/cdk/utils';\nimport { MessageToastTextComponent } from './components/message-toast-text.component';\nimport { MessageToastConfig } from './config/message-toast.config';\nimport { MESSAGE_TOAST_CONFIG, MESSAGE_TOAST_DATA } from './constants/message-toast.token';\nimport { MessageToastComponent } from './message-toast.component';\nimport { MessageToastRef } from './ref/message-toast.ref';\n\n@Injectable()\nexport class MessageToastService<P = any> extends BaseDismissibleToastService<MessageToastConfig<P>> {\n    /** @hidden */\n    protected toastTextComponent = MessageToastTextComponent;\n    /** @hidden */\n    protected toastContainerComponent = MessageToastComponent;\n    /** @hidden */\n    protected toastDataInjectionToken = MESSAGE_TOAST_DATA;\n    /** @hidden */\n    protected toastPositionStrategy = ToastBottomCenterPosition;\n    /** @hidden */\n    protected override defaultConfig = inject(MESSAGE_TOAST_CONFIG);\n\n    /**\n     * Opens toast with a provided message.\n     * @param message Message to display in a Message Toast.\n     * @param config Toast configuration.\n     * @returns Toast reference.\n     */\n    open<T = any>(\n        message: string | Type<T> | TemplateRef<any>,\n        config?: MessageToastConfig<P>\n    ): MessageToastRef<MessageToastTextComponent | T | EmbeddedViewRef<any>> {\n        if (message instanceof TemplateRef) {\n            return this.openFromTemplate(message, config ?? this.defaultConfig);\n        } else if (typeof message === 'string') {\n            return this.openFromString(message, config);\n        }\n        return this.openFromComponent(message, config ?? this.defaultConfig);\n    }\n\n    /**\n     * Opens a Toast with provided message as a content.\n     * @param message string to render inside a Toast.\n     * @param config Toast configuration\n     */\n    openFromString(message: string, config?: MessageToastConfig<P>): MessageToastRef<MessageToastTextComponent> {\n        const mergedConfig = { ...this.defaultConfig, ...config };\n        mergedConfig.data = message;\n        return this.openFromComponent(\n            this.toastTextComponent,\n            mergedConfig\n        ) as MessageToastRef<MessageToastTextComponent>;\n    }\n\n    /**\n     * Opens a Toast with provided component inside.\n     * @param component Component to render inside a Toast.\n     * @param config Toast configuration.\n     * @returns Toast reference.\n     */\n    openFromComponent<T>(component: Type<T>, config: MessageToastConfig<P>): MessageToastRef<T> {\n        return this._attach(component, config) as MessageToastRef<T>;\n    }\n\n    /**\n     * Opens a Toast with provided Template Reference.\n     * @param template Template Reference to render inside a Toast.\n     * @param config Toast configuration.\n     * @returns Toast reference.\n     */\n    openFromTemplate(template: TemplateRef<any>, config: MessageToastConfig<P>): MessageToastRef<EmbeddedViewRef<any>> {\n        return this._attach(template, config) as MessageToastRef<EmbeddedViewRef<any>>;\n    }\n\n    /** @hidden */\n    protected getContainerComponentProviders(config: MessageToastConfig<P>): StaticProvider[] {\n        return [{ provide: MessageToastConfig, useValue: config }];\n    }\n\n    /** @hidden */\n    protected getContentComponentProviders<T>(\n        config: MessageToastConfig<P>,\n        messageToastRef: MessageToastRef<T>\n    ): StaticProvider[] {\n        return [\n            { provide: MessageToastRef, useValue: messageToastRef },\n            { provide: this.toastDataInjectionToken, useValue: config.data }\n        ];\n    }\n\n    /** @hidden */\n    protected getToastRef<T>(\n        containerRef: MessageToastComponent,\n        overlayRef: OverlayRef,\n        positionStrategy: BaseToastPosition = ToastBottomCenterPosition\n    ): MessageToastRef<T | EmbeddedViewRef<any>> {\n        return new MessageToastRef<T | EmbeddedViewRef<any>>(containerRef, overlayRef, positionStrategy);\n    }\n}\n","import { Provider } from '@angular/core';\nimport { MessageToastConfig } from './config/message-toast.config';\nimport { MESSAGE_TOAST_CONFIG } from './constants/message-toast.token';\n\n/**\n * Function allows to provide custom configuration for Message Toast.\n * @param config\n * @returns\n */\nexport function provideMessageToastConfig(config: MessageToastConfig): Provider {\n    return {\n        provide: MESSAGE_TOAST_CONFIG,\n        useValue: config\n    };\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MessageToastTextComponent } from './components/message-toast-text.component';\nimport { MessageToastConfig } from './config/message-toast.config';\nimport { MESSAGE_TOAST_CONFIG } from './constants/message-toast.token';\nimport { MessageToastComponent } from './message-toast.component';\nimport { MessageToastService } from './message-toast.service';\nimport { provideMessageToastConfig } from './provide-config';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n    imports: [PortalModule, OverlayModule, MessageToastComponent, MessageToastTextComponent],\n    exports: [MessageToastComponent],\n    providers: [MessageToastService, { provide: MESSAGE_TOAST_CONFIG, useValue: new MessageToastConfig() }]\n})\nexport class MessageToastModule {\n    /**\n     * Allows configuring module on a global level with custom configuration.\n     * @param config User's custom configuration.\n     */\n    static withConfig(config: MessageToastConfig): ModuleWithProviders<MessageToastModule> {\n        return {\n            ngModule: MessageToastModule,\n            providers: [provideMessageToastConfig(config)]\n        };\n    }\n}\n","import { OverlayContainer } from '@angular/cdk/overlay';\nimport { Injectable } from '@angular/core';\n\n/**\n * Custom overlay container for CDK Overlay.\n */\n@Injectable()\nexport class ToastOverlayContainer extends OverlayContainer {\n    /**\n     * This method returns the overlay container element. It will lazily\n     * create the element the first time it is called to facilitate using\n     * the container in non-browser environments.\n     * @returns the container element\n     */\n    override getContainerElement(): HTMLElement {\n        const containerElement = super.getContainerElement();\n\n        containerElement.classList.add('fd-message-toast-container');\n\n        return containerElement;\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}