{"version":3,"file":"fundamental-ngx-core-notification.mjs","sources":["../../../../libs/core/notification/directives/notification-footer-content.directive.ts","../../../../libs/core/notification/directives/notification-group-growing-item-title.directive.ts","../../../../libs/core/notification/token.ts","../../../../libs/core/notification/directives/notification-group-header-title.directive.ts","../../../../libs/core/notification/directives/notification-list.directive.ts","../../../../libs/core/notification/directives/notification-message-strip-container.directive.ts","../../../../libs/core/notification/directives/notification-message-strip.directive.ts","../../../../libs/core/notification/directives/notification-paragraph.directive.ts","../../../../libs/core/notification/directives/notification-popover.directive.ts","../../../../libs/core/notification/directives/notification-separator.directive.ts","../../../../libs/core/notification/directives/notification-title.directive.ts","../../../../libs/core/notification/notification-actions/notification-actions.component.ts","../../../../libs/core/notification/notification-header/notification-header.component.ts","../../../../libs/core/notification/notification-utils/notification-group-base.ts","../../../../libs/core/notification/notification-body/notification-body.component.ts","../../../../libs/core/notification/notification-content/notification-content.component.ts","../../../../libs/core/notification/notification-footer/notification-footer.component.ts","../../../../libs/core/notification/notification-group-growing-item/notification-group-growing-item.component.ts","../../../../libs/core/notification/notification-group-header/notification-group-header.component.ts","../../../../libs/core/notification/notification-group-list/notification-group-list.component.ts","../../../../libs/core/notification/notification-group/notification-group.component.ts","../../../../libs/core/notification/notification-link/notification-link.component.ts","../../../../libs/core/notification/notification-utils/notification-config.ts","../../../../libs/core/notification/notification-utils/notification-ref.ts","../../../../libs/core/notification/notification/notification.component.ts","../../../../libs/core/notification/notification-utils/notification-container.ts","../../../../libs/core/notification/notification-service/notification.service.ts","../../../../libs/core/notification/notification.module.ts","../../../../libs/core/notification/index.ts","../../../../libs/core/notification/fundamental-ngx-core-notification.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[fdNotificationFooterContent], [fd-notification-footer-content]',\n    standalone: true,\n    host: {\n        class: 'fd-notification__footer-content'\n    }\n})\nexport class NotificationFooterContentDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[fdNotificationGroupGrowingItemTitle], [fd-notification-group-growing-item-title]',\n    standalone: true,\n    host: {\n        class: 'fd-notification-group__growing-item-title'\n    }\n})\nexport class NotificationGroupGrowingItemTitleDirective {}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_NOTIFICATION = new InjectionToken('FdNotificationComponent');\nexport const FD_NOTIFICATION_TITLE = new InjectionToken('FdNotificationTitleDirective');\nexport const FD_NOTIFICATION_PARAGRAPH = new InjectionToken('FdNotificationParagraphDirective');\nexport const FD_NOTIFICATION_GROUP_HEADER = new InjectionToken('FdNotificationGroupHeaderComponent');\nexport const FD_NOTIFICATION_GROUP_HEADER_TITLE = new InjectionToken('FdNotificationGroupHeaderTitleDirective');\nexport const FD_NOTIFICATION_GROUP_LIST = new InjectionToken('FdNotificationGroupListComponent');\nexport const FD_NOTIFICATION_FOOTER = new InjectionToken('FdNotificationFooterComponent');\n","import { Directive, input } from '@angular/core';\nimport { FD_NOTIFICATION_GROUP_HEADER_TITLE } from '../token';\n\nlet notificationGroupHeaderTitleCounter = 0;\n\n@Directive({\n    selector: '[fdNotificationGroupHeaderTitle], [fd-notification-group-header-title]',\n    standalone: true,\n    host: {\n        class: 'fd-notification-group__header-title',\n        role: 'heading',\n        '[attr.aria-level]': 'ariaLevel()',\n        '[attr.id]': 'id()'\n    },\n    providers: [\n        {\n            provide: FD_NOTIFICATION_GROUP_HEADER_TITLE,\n            useExisting: NotificationGroupHeaderTitleDirective\n        }\n    ]\n})\nexport class NotificationGroupHeaderTitleDirective {\n    /**\n     * aria-level for the title\n     * a numeric value from 1 to 6\n     * default value is 3\n     */\n    ariaLevel = input<1 | 2 | 3 | 4 | 5 | 6>(3);\n\n    /**\n     * id for the notification group header title\n     * if not set, a default value is provided\n     */\n    id = input('fd-notification-group-header-title-' + ++notificationGroupHeaderTitleCounter);\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n    selector: '[fdNotificationList], [fd-notification-list]',\n    standalone: true,\n    host: {\n        class: 'fd-notification-list',\n        role: 'list',\n        '[attr.aria-label]': 'ariaLabel()'\n    }\n})\nexport class NotificationListDirective {\n    /**\n     * aria-label attribute for the element\n     * Default is set to 'Notifications'\n     */\n    ariaLabel = input('Notifications');\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[fdNotificationMessageStripContainer], [fd-notification-message-strip-container]',\n    standalone: true,\n    host: {\n        class: 'fd-notification__message-strip-container'\n    }\n})\nexport class NotificationMessageStripContainerDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[fdNotificationMessageStrip], [fd-notification-message-strip]',\n    standalone: true,\n    host: {\n        class: 'fd-notification-message-strip'\n    }\n})\nexport class NotificationMessageStripDirective {}\n","import { Directive, ElementRef, inject, input } from '@angular/core';\nimport { FD_NOTIFICATION_PARAGRAPH } from '../token';\n\nlet notificationParagraphCounter = 0;\n\n@Directive({\n    selector: '[fdNotificationParagraph], [fd-notification-paragraph]',\n    standalone: true,\n    host: {\n        class: 'fd-notification__paragraph',\n        '[attr.id]': 'id()'\n    },\n    providers: [\n        {\n            provide: FD_NOTIFICATION_PARAGRAPH,\n            useExisting: NotificationParagraphDirective\n        }\n    ]\n})\nexport class NotificationParagraphDirective {\n    /**\n     * id for the notification paragraph\n     * if not set, a default value is provided\n     */\n    id = input('fd-notification-paragraph-' + ++notificationParagraphCounter);\n\n    /** @hidden */\n    elementRef = inject(ElementRef);\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[fdNotificationPopover], [fd-notification-popover]',\n    standalone: true,\n    host: {\n        class: 'fd-notification-popover',\n        role: 'dialog'\n    }\n})\nexport class NotificationPopoverDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[fdNotificationSeparator], [fd-notification-separator]',\n    standalone: true,\n    host: {\n        class: 'fd-notification__separator'\n    }\n})\nexport class NotificationSeparatorDirective {}\n","import { Directive, ElementRef, inject, input } from '@angular/core';\nimport { FD_NOTIFICATION_TITLE } from '../token';\n\nlet notificationTitleCounter = 0;\n\n@Directive({\n    selector: '[fdNotificationTitle], [fd-notification-title]',\n    standalone: true,\n    host: {\n        class: 'fd-notification__title',\n        '[class.fd-notification__title--unread]': 'unread()',\n        '[attr.id]': 'id()'\n    },\n    providers: [\n        {\n            provide: FD_NOTIFICATION_TITLE,\n            useExisting: NotificationTitleDirective\n        }\n    ]\n})\nexport class NotificationTitleDirective {\n    /**\n     * Whether the notification title is unread.\n     * default is false\n     */\n    unread = input(false);\n\n    /**\n     * id for the notification title\n     * if not set, a default value is provided\n     */\n    id = input('fd-notification-title-' + ++notificationTitleCounter);\n\n    /** @hidden */\n    elementRef = inject(ElementRef);\n}\n","import { ChangeDetectionStrategy, Component, ContentChildren, QueryList, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\n\n@Component({\n    selector: 'fd-notification-actions',\n    template: `<ng-content></ng-content>`,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true,\n    host: {\n        class: 'fd-notification__actions'\n    }\n})\nexport class NotificationActionsComponent {\n    /** @hidden */\n    @ContentChildren(FD_BUTTON_COMPONENT)\n    buttons: QueryList<ButtonComponent>;\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\n\nlet notificationHeaderCounter = 0;\n\n@Component({\n    selector: 'fd-notification-header',\n    template: `<ng-content select=\"fd-icon\"></ng-content>\n        <ng-content select=\"[fd-notification-title]\"></ng-content> `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true,\n    host: {\n        class: 'fd-notification__header',\n        '[attr.id]': 'uniqueId()'\n    }\n})\nexport class NotificationHeaderComponent {\n    /**\n     * Unique id for the notification header\n     * if not set, a default value is provided\n     */\n    uniqueId = input('fd-notification-header-' + ++notificationHeaderCounter);\n}\n","import { afterNextRender, contentChildren, DestroyRef, Directive, inject, Injector, Renderer2 } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { merge, NEVER, Observable } from 'rxjs';\nimport { auditTime, filter, startWith, switchMap } from 'rxjs/operators';\nimport { NotificationActionsComponent } from '../notification-actions/notification-actions.component';\nimport { NotificationHeaderComponent } from '../notification-header/notification-header.component';\n\n/**\n * @hidden\n * Base directive for notification components that need to set aria-describedby\n * on action buttons linking them to notification headers.\n */\n@Directive()\nexport abstract class NotificationGroupBaseDirective {\n    /** @hidden */\n    readonly notificationHeader = contentChildren(NotificationHeaderComponent, { descendants: true });\n\n    /** @hidden */\n    readonly notificationActions = contentChildren(NotificationActionsComponent);\n\n    /** @hidden */\n    protected readonly _destroyRef = inject(DestroyRef);\n\n    /** @hidden */\n    private readonly _renderer = inject(Renderer2);\n\n    /** @hidden */\n    private readonly _injector = inject(Injector);\n\n    constructor() {\n        // Use afterNextRender to ensure DOM is ready before setting up the observable chain\n        afterNextRender(() => this._setupAriaDescribedBy(), { injector: this._injector });\n    }\n\n    /**\n     * Sets up reactive subscription to update aria-describedby on action buttons.\n     * @hidden\n     */\n    private _setupAriaDescribedBy(): void {\n        const headersChanges$ = this._createHeadersObservable();\n        const actionsChanges$ = this._createActionsObservable();\n\n        merge(headersChanges$, actionsChanges$)\n            .pipe(\n                auditTime(0), // batch emissions within the same tick\n                filter(() => this._hasRequiredContent()),\n                takeUntilDestroyed(this._destroyRef)\n            )\n            .subscribe(() => this._applyAriaDescribedBy());\n    }\n\n    /**\n     * Creates an observable that emits when notification headers change.\n     * @hidden\n     */\n    private _createHeadersObservable(): Observable<readonly NotificationHeaderComponent[]> {\n        return toObservable(this.notificationHeader, { injector: this._injector }).pipe(\n            startWith(this.notificationHeader())\n        );\n    }\n\n    /**\n     * Creates an observable that emits when notification actions or their buttons change.\n     * @hidden\n     */\n    private _createActionsObservable(): Observable<unknown> {\n        return toObservable(this.notificationActions, { injector: this._injector }).pipe(\n            startWith(this.notificationActions()),\n            switchMap((actions) => {\n                // Listen to button changes for each actions component\n                // This ensures dynamically added buttons also get aria-describedby\n                const buttonsChanges$ = actions.reduce(\n                    (acc, c) => acc.concat(c.buttons.changes),\n                    [] as Observable<unknown>[]\n                );\n                // Use NEVER to prevent completion when buttonsChanges$ is empty\n                return merge(...buttonsChanges$, NEVER).pipe(startWith(0));\n            })\n        );\n    }\n\n    /**\n     * Checks if required content (headers and buttons) exists.\n     * @hidden\n     */\n    private _hasRequiredContent(): boolean {\n        const headers = this.notificationHeader();\n        const actions = this.notificationActions();\n\n        if (headers.length === 0 || actions.length === 0) {\n            return false;\n        }\n        return actions.some((a) => a.buttons.length > 0);\n    }\n\n    /**\n     * Applies aria-describedby attribute to action buttons that don't already have it.\n     * Uses the first header's uniqueId as the reference.\n     * @hidden\n     */\n    private _applyAriaDescribedBy(): void {\n        const firstHeader = this.notificationHeader()[0];\n        const headerId = firstHeader.uniqueId();\n\n        this.notificationActions().forEach((actionsComponent) => {\n            actionsComponent.buttons\n                .toArray()\n                .map((b) => b.elementRef.nativeElement)\n                .filter((b) => !b.hasAttribute('aria-describedby'))\n                .forEach((b) => this._renderer.setAttribute(b, 'aria-describedby', headerId));\n        });\n    }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { NotificationGroupBaseDirective } from '../notification-utils/notification-group-base';\n\n@Component({\n    selector: 'fd-notification-body',\n    template: `<ng-content></ng-content>`,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        class: 'fd-notification__body'\n    }\n})\nexport class NotificationBodyComponent extends NotificationGroupBaseDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n    selector: 'fd-notification-content',\n    template: `<ng-content></ng-content>`,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true,\n    host: {\n        class: 'fd-notification__content'\n    }\n})\nexport class NotificationContentComponent {}\n","import { ChangeDetectionStrategy, Component, computed, input, model, signal, ViewEncapsulation } from '@angular/core';\nimport { resolveTranslationSignal } from '@fundamental-ngx/i18n';\nimport { FD_NOTIFICATION_FOOTER } from '../token';\n\n@Component({\n    selector: 'fd-notification-footer',\n    template: `<ng-content></ng-content>\n        @if (showTrigger()) {\n            <a role=\"button\" class=\"fd-link fd-notification__link\" tabindex=\"0\" (click)=\"onTriggerClick()\">\n                <span class=\"fd-link__content\">{{ triggerLabel }}</span>\n            </a>\n        } `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true,\n    host: {\n        class: 'fd-notification__footer'\n    },\n    providers: [\n        {\n            provide: FD_NOTIFICATION_FOOTER,\n            useExisting: NotificationFooterComponent\n        }\n    ]\n})\nexport class NotificationFooterComponent {\n    /**\n     * Manual control: Override to show/hide the expand/collapse button.\n     * When set, takes precedence over automatic truncation detection.\n     * Use this for dynamically created notifications where automatic detection doesn't work.\n     */\n    readonly manualShowTrigger = input<boolean | undefined>(undefined);\n\n    /**\n     * Manual control: Set expanded state externally.\n     * When set, takes precedence over internal expanded state.\n     * Use this for dynamically created notifications.\n     * Supports two-way binding with [(manualExpanded)].\n     */\n    readonly manualExpanded = model<boolean | undefined>(undefined);\n\n    /**\n     * Custom label for the expand button.\n     * Defaults to `'More'`.\n     */\n    readonly moreLabel = input<string>();\n\n    /**\n     * Custom label for the collapse button.\n     * Defaults to `'Less'`.\n     */\n    readonly lessLabel = input<string>();\n\n    /**\n     * Internal signal for automatic truncation detection.\n     * Used when manual controls are not provided.\n     * @internal\n     */\n    readonly _autoShowTrigger = signal(false);\n\n    /**\n     * Internal signal for automatic expanded state.\n     * Used when manual controls are not provided.\n     * @internal\n     */\n    readonly _autoExpanded = signal(false);\n\n    /**\n     * Computed signal for expanded state.\n     * Uses manual control if provided, otherwise uses automatic state.\n     */\n    readonly expanded = computed(() => {\n        const manual = this.manualExpanded();\n        return manual !== undefined ? manual : this._autoExpanded();\n    });\n\n    /**\n     * Computed signal that determines if trigger should be shown.\n     * Uses manual control if provided, otherwise uses automatic detection.\n     */\n    protected readonly showTrigger = computed(() => {\n        const manual = this.manualShowTrigger();\n        return manual !== undefined ? manual : this._autoShowTrigger();\n    });\n\n    private readonly _defaultMoreLabel = resolveTranslationSignal('coreNotification.triggerMoreLabel');\n\n    private readonly _defaultLessLabel = resolveTranslationSignal('coreNotification.triggerLessLabel');\n\n    /** @hidden */\n    protected onTriggerClick(): void {\n        const currentExpanded = this.expanded();\n        const newExpanded = !currentExpanded;\n\n        // If using manual mode, update the model\n        if (this.manualExpanded() !== undefined) {\n            this.manualExpanded.set(newExpanded);\n        } else {\n            // Otherwise update automatic state\n            this._autoExpanded.set(newExpanded);\n        }\n    }\n\n    /**\n     * Label for the trigger button\n     * @hidden\n     **/\n    protected get triggerLabel(): string {\n        const moreLabel = this.moreLabel() || this._defaultMoreLabel();\n        const lessLabel = this.lessLabel() || this._defaultLessLabel();\n        return this.expanded() ? lessLabel : moreLabel;\n    }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n    selector: 'fd-notification-group-growing-item',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: `<ng-content select=\"[fd-notification-group-growing-item-title]\"></ng-content> <ng-content></ng-content>`,\n    host: {\n        class: 'fd-notification-group__growing-item',\n        role: 'button',\n        '[tabindex]': '0'\n    }\n})\nexport class NotificationGroupGrowingItemComponent {}\n","import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FD_LANGUAGE_SIGNAL, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { NotificationGroupBaseDirective } from '../notification-utils/notification-group-base';\nimport { FD_NOTIFICATION_GROUP_HEADER } from '../token';\n\n@Component({\n    selector: 'fd-notification-group-header',\n    template: `\n        <span class=\"fd-notification-group__header-arrow\">\n            <fd-icon [glyph]=\"_buttonIcon()\"></fd-icon>\n        </span>\n        <ng-content select=\"fd-notification-group-header-title\"></ng-content>\n        <ng-content></ng-content>\n    `,\n    host: {\n        class: 'fd-notification-group__header',\n        role: 'button',\n        '[tabindex]': '0',\n        '[attr.title]': 'title()',\n        '[attr.aria-controls]': 'ariaControls()',\n        '[attr.aria-expanded]': 'expanded()',\n        '(click)': 'toggleExpand()',\n        '(keydown)': '_onKeydown($event)'\n    },\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [IconComponent],\n    providers: [\n        {\n            provide: FD_NOTIFICATION_GROUP_HEADER,\n            useExisting: NotificationGroupHeaderComponent\n        }\n    ]\n})\nexport class NotificationGroupHeaderComponent extends NotificationGroupBaseDirective {\n    /**\n     * Title for the group header.\n     * Default value is set from i18n translations (\"Expand/Collapse\").\n     */\n    readonly title = signal<string | null>('');\n\n    /**\n     * ID of the list element that the group header controls.\n     */\n    readonly ariaControls = signal<string | null>('');\n\n    /** @hidden */\n    readonly expanded = signal(false);\n\n    /** @hidden */\n    protected readonly _buttonIcon = computed(() =>\n        this.expanded() ? 'slim-arrow-down' : this._rtlService?.rtl() ? 'slim-arrow-left' : 'slim-arrow-right'\n    );\n\n    /** @hidden */\n    private readonly _rtlService = inject(RtlService, { optional: true });\n\n    /** @hidden */\n    private readonly _langSignal = inject(FD_LANGUAGE_SIGNAL);\n\n    /** @hidden */\n    private readonly _translationResolver = new TranslationResolver();\n\n    constructor() {\n        super();\n\n        // Set up translation for title - only sets default if title is empty\n        effect(() => {\n            const lang = this._langSignal();\n            // Only set from i18n if title hasn't been set externally\n            if (lang && !this.title()) {\n                this.title.set(this._translationResolver.resolve(lang, 'coreNotification.groupHeaderTitle'));\n            }\n        });\n    }\n\n    /** Method that toggles the Notification list content */\n    toggleExpand(): void {\n        this.expanded.update((expanded) => !expanded);\n    }\n\n    /** @hidden */\n    protected _onKeydown(event: KeyboardEvent): void {\n        if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n            this.toggleExpand();\n            event.preventDefault();\n        }\n    }\n}\n","import {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    ViewEncapsulation,\n    contentChildren,\n    input\n} from '@angular/core';\nimport { NotificationComponent } from '../notification/notification.component';\nimport { FD_NOTIFICATION, FD_NOTIFICATION_GROUP_LIST } from '../token';\n\nlet notificationGroupListCounter = 0;\n\n@Component({\n    selector: 'fd-notification-group-list',\n    template: `<ng-content></ng-content>`,\n    host: {\n        class: 'fd-notification-group__list',\n        role: 'list',\n        '[attr.id]': 'id()'\n    },\n    providers: [\n        {\n            provide: FD_NOTIFICATION_GROUP_LIST,\n            useExisting: NotificationGroupListComponent\n        }\n    ],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: []\n})\nexport class NotificationGroupListComponent implements AfterViewInit {\n    /**\n     * id of the element labelling the group list\n     */\n    ariaLabelledBy = input<string>();\n\n    /**\n     * id for the notification group list\n     * if not set, a default value is provided\n     */\n    id = input('fd-notification-group-list-' + ++notificationGroupListCounter);\n\n    /**\n     * @hidden\n     */\n    notifications = contentChildren<NotificationComponent>(FD_NOTIFICATION);\n\n    /**\n     * @hidden\n     */\n    ngAfterViewInit(): void {\n        this.notifications()?.forEach((notification) => {\n            notification.role.set('listitem');\n            notification.ariaLevel.set(2);\n        });\n    }\n}\n","import {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    contentChild,\n    effect,\n    inject,\n    input,\n    signal\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_LANGUAGE_SIGNAL, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { NotificationGroupHeaderTitleDirective } from '../directives/notification-group-header-title.directive';\nimport { NotificationGroupHeaderComponent } from '../notification-group-header/notification-group-header.component';\nimport { NotificationGroupListComponent } from '../notification-group-list/notification-group-list.component';\nimport { FD_NOTIFICATION_GROUP_HEADER, FD_NOTIFICATION_GROUP_HEADER_TITLE, FD_NOTIFICATION_GROUP_LIST } from '../token';\n\n@Component({\n    selector: 'fd-notification-group',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: `<div class=\"fd-notification-group__wrapper\">\n        <ng-content select=\"fd-notification-group-header\"></ng-content>\n        @if (isExpanded()) {\n            <ng-content select=\"fd-notification-group-list\"></ng-content>\n            <ng-content select=\"fd-notification-group-growing-item\"></ng-content>\n        }\n    </div>`,\n    host: {\n        class: 'fd-notification-group',\n        role: 'listitem',\n        '[tabindex]': '-1',\n        '[attr.aria-level]': '1',\n        '[attr.aria-label]': 'ariaLabel()',\n        '[attr.aria-labelledby]': 'ariaLabelledBy()',\n        '[attr.aria-description]': 'ariaDescription()'\n    }\n})\nexport class NotificationGroupComponent implements AfterViewInit {\n    /**\n     * Whether the group is expanded\n     * default value is false\n     */\n    expanded = input(false);\n\n    /**\n     * input property to set aria-label\n     * accepts a string value\n     */\n    ariaLabel = input<string>();\n\n    /** @hidden */\n    readonly ariaLabelledBy = computed(() => this.groupTitle()?.id());\n\n    /** @hidden */\n    readonly ariaDescription = computed(\n        () =>\n            `${this._descriptionString()} ${\n                this.groupHeader()?.expanded() ? this._expandedString() : this._collapsedString()\n            }`\n    );\n\n    /** @hidden */\n    readonly isExpanded = computed(() => this.groupHeader()?.expanded());\n\n    /** @hidden */\n    readonly groupHeader = contentChild<NotificationGroupHeaderComponent>(FD_NOTIFICATION_GROUP_HEADER);\n\n    /** @hidden */\n    readonly groupTitle = contentChild<NotificationGroupHeaderTitleDirective>(FD_NOTIFICATION_GROUP_HEADER_TITLE);\n\n    /** @hidden */\n    readonly groupList = contentChild<NotificationGroupListComponent>(FD_NOTIFICATION_GROUP_LIST);\n\n    /** @hidden */\n    private _descriptionString = signal<Nullable<string>>('');\n\n    /** @hidden */\n    private _expandedString = signal<Nullable<string>>('');\n\n    /** @hidden */\n    private _collapsedString = signal<Nullable<string>>('');\n\n    /** @hidden */\n    private readonly _langSignal = inject(FD_LANGUAGE_SIGNAL);\n\n    /** @hidden */\n    private _translationResolver = new TranslationResolver();\n\n    /** @hidden */\n    constructor() {\n        effect(() => {\n            const lang = this._langSignal();\n            this._expandedString.set(\n                this._translationResolver.resolve(lang, 'coreNotification.groupAriaDescriptionExpanded')\n            );\n\n            this._collapsedString.set(\n                this._translationResolver.resolve(lang, 'coreNotification.groupAriaDescriptionCollapsed')\n            );\n\n            this._descriptionString.set(\n                this._translationResolver.resolve(lang, 'coreNotification.groupAriaDescription')\n            );\n        });\n    }\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        this.groupHeader()?.ariaControls.set(this.groupList()?.id() ?? null);\n        this.groupHeader()?.expanded.set(this.expanded());\n    }\n}\n","import { ChangeDetectionStrategy, Component, signal } from '@angular/core';\n\n@Component({\n    selector: 'fd-notification-link',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: `<span class=\"fd-link__content\">{{ showMore() ? 'Less' : 'More' }}</span>`,\n    host: {\n        class: 'fd-link fd-notification__link',\n        tabindex: '0',\n        role: 'link',\n        '(click)': 'toggleShowMore()'\n    }\n})\nexport class NotificationLinkComponent {\n    /**\n     * signal to control the show more/less\n     * default value is false\n     */\n    showMore = signal(false);\n\n    /**\n     * Method to toggle show more functionality\n     */\n    toggleShowMore(): void {\n        this.showMore.update((value) => !value);\n    }\n}\n","import { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Configuration for opening a notification with the NotificationService.\n */\nexport class NotificationConfig<T = any> {\n    /** Id for the notification component. If omitted, a unique one is generated. */\n    id?: string;\n\n    /** aria-label attribute for the notification component element. */\n    ariaLabel?: Nullable<string>;\n\n    /** aria-labelledby attribute for the notification component element. */\n    ariaLabelledBy?: Nullable<string>;\n\n    /** aria-describedby attribute for the notification component element. */\n    ariaDescribedBy?: Nullable<string>;\n\n    /** The container that the notification is appended to. By default, it is appended to the body. */\n    container?: HTMLElement | 'body' = 'body';\n\n    /** Data to pass along to the content through the NotificationRef. */\n    data?: T;\n\n    /** Custom width of the notification. */\n    width?: string;\n\n    /**\n     * Whether the notification should trap focus within itself.\n     * @default true\n     */\n    shouldTrapFocus?: boolean = true;\n\n    /** Whether to dismiss the notification on router navigation start. */\n    closeOnNavigation?: boolean = true;\n}\n","import { Observable, Subject } from 'rxjs';\n\n/**\n * Reference to a notification component generated via the NotificationService.\n * It can be injected into the content component through the constructor.\n * For a template, it is declared as part of the implicit context, see examples.\n */\nexport class NotificationRef<T = any, P = any> {\n    /**\n     * Observable that is triggered when the notification is closed.\n     * On close a *result* is passed back. On dismiss, an *error* is returned instead.\n     */\n    afterClosed: Observable<P | undefined>;\n\n    /** Data passed from the calling component to the content.*/\n    data: T;\n\n    /** @hidden */\n    protected readonly _afterClosed = new Subject<P | undefined>();\n\n    /** @hidden */\n    constructor() {\n        this.afterClosed = this._afterClosed.asObservable();\n    }\n\n    /**\n     * Closes the notification and passes the argument to the afterClosed observable.\n     * @param result Value passed back to the observable as a result.\n     */\n    close(result?: P): void {\n        this._afterClosed.next(result);\n        this._afterClosed.complete();\n    }\n\n    /**\n     * Dismisses the notification and passes the argument to the afterClosed observable as an error.\n     * @param reason Value passed back to the observable as an error.\n     */\n    dismiss(reason?: P): void {\n        this._afterClosed.error(reason);\n    }\n}\n","import { ConfigurableFocusTrapFactory, FocusTrap } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport { ESCAPE } from '@angular/cdk/keycodes';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ComponentFactoryResolver,\n    ComponentRef,\n    DestroyRef,\n    EmbeddedViewRef,\n    OnDestroy,\n    OnInit,\n    TemplateRef,\n    Type,\n    ViewContainerRef,\n    ViewEncapsulation,\n    computed,\n    contentChild,\n    effect,\n    inject,\n    input,\n    signal,\n    viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationStart, Router } from '@angular/router';\nimport { AbstractFdNgxClass, KeyUtil, Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { BehaviorSubject, fromEvent } from 'rxjs';\nimport { debounceTime, filter, take } from 'rxjs/operators';\nimport { NotificationParagraphDirective } from '../directives/notification-paragraph.directive';\nimport { NotificationTitleDirective } from '../directives/notification-title.directive';\nimport { NotificationFooterComponent } from '../notification-footer/notification-footer.component';\nimport { NotificationConfig } from '../notification-utils/notification-config';\nimport { NotificationRef } from '../notification-utils/notification-ref';\nimport { FD_NOTIFICATION, FD_NOTIFICATION_FOOTER, FD_NOTIFICATION_PARAGRAPH, FD_NOTIFICATION_TITLE } from '../token';\n\n@Component({\n    selector: 'fd-notification',\n    template: `\n        <ng-content></ng-content>\n        <ng-container #vc></ng-container>\n    `,\n    styleUrl: './notification.component.scss',\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[attr.aria-labelledby]': 'ariaLabelledBy()',\n        '[attr.aria-label]': 'ariaLabel',\n        '[attr.aria-level]': 'ariaLevel()',\n        '[attr.role]': 'role()',\n        '[attr.dir]': '_dir()',\n        '[attr.id]': 'id',\n        '[tabindex]': '0',\n        '[style.width]': 'width',\n        '(window:keyup)': '_closeNotificationEsc($event)'\n    },\n    providers: [\n        {\n            provide: FD_NOTIFICATION,\n            useExisting: NotificationComponent\n        }\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NotificationComponent extends AbstractFdNgxClass implements OnInit, AfterViewInit, OnDestroy {\n    /** @hidden */\n    containerRef = viewChild('vc', { read: ViewContainerRef });\n\n    /** User defined width for the notification */\n    width = input<Nullable<string>>();\n\n    /** Whether the notificatioon is in mobile mode */\n    mobile = input(false);\n\n    /** @hidden */\n    _dir = computed<Direction>(() => (this._rtlService?.rtl() ? 'rtl' : 'ltr'));\n\n    /** ID of the notification */\n    id: string;\n\n    /**\n     * aria-level of the Notificaion\n     * should be set to 2 in Notification Group\n     * default value is undefined\n     */\n    ariaLevel = signal<Nullable<number>>(undefined);\n\n    /**\n     * role of the Notificaion\n     * should be set to 'listitem' in Notification Group\n     * default value is undefined\n     */\n    role = signal<Nullable<string>>(undefined);\n\n    /**\n     * whether the Notificaion is selected\n     * default is set to false\n     */\n    selected = input(false);\n\n    /** Whether the notification is dismissed with the ESC key */\n    escKeyCloseable = false;\n\n    /** Whether the notification should close with router change */\n    closeOnNavigation = true;\n\n    /** aria-labelledby attribute for the notification component element. */\n    ariaLabelledBy = signal<Nullable<string>>(null);\n\n    /** aria-label attribute for the notification component element. */\n    ariaLabel: Nullable<string>;\n\n    /** aria-describedby attribute for the notification component element. */\n    ariaDescribedBy: Nullable<string>;\n\n    /** Reference to the child content */\n    childContent: TemplateRef<any> | Type<any> | undefined = undefined;\n\n    /** Reference to the component or the embedded view */\n    public componentRef: ComponentRef<any> | EmbeddedViewRef<any> | undefined;\n\n    /** @hidden */\n    private _notificationTitle = contentChild<NotificationTitleDirective>(FD_NOTIFICATION_TITLE);\n\n    /** @hidden */\n    private _notificationParagraph = contentChild<NotificationParagraphDirective>(FD_NOTIFICATION_PARAGRAPH);\n\n    /** @hidden */\n    private _notificationFooter = contentChild<NotificationFooterComponent>(FD_NOTIFICATION_FOOTER);\n\n    /** @hidden */\n    private readonly _destroyRef = inject(DestroyRef);\n\n    /** @hidden */\n    private readonly _afterViewInit$ = new BehaviorSubject(false);\n\n    /** @hidden The class that traps and manages focus within the notification. */\n    private _focusTrap: FocusTrap;\n\n    /** @hidden */\n    private _cdRef = inject(ChangeDetectorRef);\n\n    /** @hidden */\n    private _componentFactoryResolver = inject(ComponentFactoryResolver);\n\n    /** @hidden */\n    private _router = inject(Router);\n\n    /** @hidden */\n    private _focusTrapFactory = inject(ConfigurableFocusTrapFactory);\n\n    /** @hidden */\n    private _notificationConfig = inject(NotificationConfig, { optional: true });\n\n    /** @hidden */\n    private _notificationRef = inject(NotificationRef, { optional: true });\n\n    /** @hidden */\n    private _rtlService = inject(RtlService, { optional: true });\n\n    /** @hidden */\n    private _isTitleTruncated = signal(false);\n\n    /** @hidden */\n    private _isParagraphTruncated = signal(false);\n\n    /** @hidden */\n    private _hasTruncation = computed(() => this._isTitleTruncated() || this._isParagraphTruncated());\n\n    /** @hidden */\n    private _expanded = computed(() => this._notificationFooter()?.expanded() ?? false);\n\n    /** @hidden */\n    private _observer: ResizeObserver;\n\n    /** @hidden */\n    constructor() {\n        super();\n        if (this._notificationConfig) {\n            this._setNotificationConfig(this._notificationConfig);\n        }\n\n        effect(() => {\n            this._updateExpandedClass();\n        });\n    }\n\n    /** @hidden Listen and close notification on Escape key */\n    _closeNotificationEsc(event: KeyboardEvent): void {\n        if (this.escKeyCloseable && KeyUtil.isKeyCode(event, ESCAPE) && this._notificationRef) {\n            this._notificationRef.dismiss('escape');\n        }\n    }\n\n    /** @hidden */\n    ngOnInit(): void {\n        this._listenAndCloseOnNavigation();\n        this._setProperties();\n        this._attachResizeListener();\n    }\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        if (this.childContent) {\n            if (this.childContent instanceof Type) {\n                this._loadFromComponent(this.childContent);\n            }\n\n            if (this.childContent instanceof TemplateRef) {\n                this._loadFromTemplate(this.childContent);\n            }\n        }\n\n        if (this._notificationTitle()) {\n            this.ariaLabelledBy.set(this._notificationTitle()?.id());\n        } else if (this._notificationParagraph()) {\n            this.ariaLabelledBy.set(this._notificationParagraph()?.id());\n        }\n\n        this._checkTruncation();\n        this._observeNotificationResize();\n        this._afterViewInit$.next(true);\n        this._cdRef.detectChanges();\n    }\n\n    /** @hidden */\n    ngOnDestroy(): void {\n        this._observer?.disconnect();\n    }\n\n    /**\n     * Moves the focus inside the focus trap.\n     * @returns\n     * Returns a promise that resolves with a boolean, depending on whether focus was moved successfully.\n     */\n    async trapFocus(): Promise<boolean> {\n        // waiting for afterViewInit hook to fire\n        await this._afterViewInit$.pipe(filter(Boolean), take(1), takeUntilDestroyed(this._destroyRef)).toPromise();\n        if (!this._focusTrap) {\n            this._focusTrap = this._focusTrapFactory.create(this.elementRef.nativeElement);\n        }\n        return this._focusTrap.focusFirstTabbableElementWhenReady();\n    }\n\n    /** @hidden */\n    _setProperties(): void {\n        this._addClassToElement('fd-notification');\n    }\n\n    /** @hidden */\n    private _observeNotificationResize(): void {\n        const el = this.elementRef.nativeElement;\n\n        if (typeof ResizeObserver !== 'undefined') {\n            this._observer = new ResizeObserver(() => {\n                this._checkTruncation();\n                this._cdRef.markForCheck();\n            });\n            this._observer.observe(el);\n        }\n    }\n\n    /** @hidden */\n    private _updateExpandedClass(): void {\n        const isExpanded = this._expanded();\n\n        [this._notificationTitle(), this._notificationParagraph()].forEach((ref) => {\n            ref?.elementRef.nativeElement.classList.toggle('is-expanded', isExpanded);\n        });\n    }\n\n    /** @hidden */\n    private _checkTruncation(): void {\n        const titleEl = this._notificationTitle()?.elementRef.nativeElement;\n        const paragraphEl = this._notificationParagraph()?.elementRef.nativeElement;\n        const footer = this._notificationFooter();\n\n        if (titleEl) {\n            this._isTitleTruncated.set(titleEl.scrollHeight > titleEl.clientHeight);\n        }\n\n        if (paragraphEl) {\n            this._isParagraphTruncated.set(paragraphEl.scrollHeight > paragraphEl.clientHeight);\n        }\n\n        if (footer) {\n            footer._autoShowTrigger.set(this._hasTruncation() || this._expanded());\n        }\n\n        this._updateExpandedClass();\n    }\n\n    /** @hidden */\n    private _attachResizeListener(): void {\n        fromEvent(window, 'resize', { passive: true })\n            .pipe(debounceTime(100), takeUntilDestroyed(this._destroyRef))\n            .subscribe(() => this._onWindowResize());\n    }\n\n    /** @hidden */\n    private _onWindowResize(): void {\n        this._checkTruncation();\n        this._cdRef.markForCheck();\n    }\n\n    /** @hidden Listen on NavigationStart event and dismiss the dialog */\n    private _listenAndCloseOnNavigation(): void {\n        if (this._router && this._notificationRef) {\n            this._router.events\n                .pipe(\n                    filter(\n                        (event) => event instanceof NavigationStart && !!this._notificationConfig?.closeOnNavigation\n                    ),\n                    takeUntilDestroyed(this._destroyRef)\n                )\n                .subscribe(() => this._notificationRef?.dismiss());\n        }\n    }\n\n    /** @hidden */\n    private _loadFromComponent(content: Type<any>): void {\n        this.containerRef()?.clear();\n        const componentFactory = this._componentFactoryResolver.resolveComponentFactory(content);\n        this.componentRef = this.containerRef()?.createComponent(componentFactory);\n    }\n\n    /** @hidden */\n    private _loadFromTemplate(content: TemplateRef<any>): void {\n        this.containerRef()?.clear();\n        const context = {\n            $implicit: this._notificationRef\n        };\n        this.componentRef = this.containerRef()?.createEmbeddedView(content, context);\n    }\n\n    /** @hidden */\n    private _setNotificationConfig(notificationConfig: NotificationConfig): void {\n        Object.keys(notificationConfig || {})\n            .filter((key) => key !== 'data' && key !== 'container')\n            .forEach((key) => (this[key] = notificationConfig[key]));\n    }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n    selector: 'fd-notification-container',\n    template: ``,\n    styles: [\n        `\n            .fd-notification-container {\n                position: fixed;\n                display: flex;\n                flex-direction: column;\n                z-index: 5000;\n                align-items: flex-end;\n                top: 2rem;\n                right: 2rem;\n            }\n        `\n    ],\n    host: {\n        class: 'fd-notification-container'\n    },\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true\n})\nexport class NotificationContainer {}\n","import { ComponentRef, DOCUMENT, Inject, Injectable, Injector, Optional, TemplateRef, Type } from '@angular/core';\nimport { DynamicComponentService, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { NotificationConfig } from '../notification-utils/notification-config';\nimport { NotificationContainer } from '../notification-utils/notification-container';\nimport { NotificationRef } from '../notification-utils/notification-ref';\nimport { NotificationComponent } from '../notification/notification.component';\n\n@Injectable()\nexport class NotificationService {\n    /** @hidden */\n    public notifications: {\n        notificationComponent: ComponentRef<NotificationComponent>;\n        notificationConfig: Readonly<NotificationConfig>;\n    }[] = [];\n\n    /** @hidden */\n    public containerRef: ComponentRef<NotificationContainer> | null;\n\n    /**\n     * @hidden\n     * Element that was focused before the notification was opened. Being used to restore focus upon close.\n     */\n    private _elementFocusedBeforeNotificationWasOpened?: HTMLOrSVGElement;\n\n    /**\n     * @hidden\n     */\n    constructor(\n        private _dynamicComponentService: DynamicComponentService,\n        @Inject(DOCUMENT) private _document: Document,\n        @Optional() private _rtlService: RtlService\n    ) {}\n\n    /**\n     * Opens a notification component with a content of type TemplateRef or Component Type\n     * @param content Content of the notification component.\n     * @param notificationConfig Configuration of the notification component.\n     */\n    public open(\n        content: TemplateRef<any> | Type<any>,\n        notificationConfig: NotificationConfig = new NotificationConfig()\n    ): NotificationRef {\n        // Reassigning Object And Service\n        const notificationService: NotificationRef = new NotificationRef();\n        notificationConfig = Object.assign(new NotificationConfig(), notificationConfig);\n        notificationService.data = notificationConfig.data;\n\n        // Create Container if it doesn't exist\n        if (!this.containerRef) {\n            this.containerRef = this._dynamicComponentService.createDynamicComponent(\n                content,\n                NotificationContainer,\n                notificationConfig\n            );\n        }\n\n        // Pass Container reference to config\n        notificationConfig.container = this.containerRef.location.nativeElement;\n\n        const injector = Injector.create({\n            providers: [\n                { provide: NotificationConfig, useValue: notificationConfig },\n                { provide: NotificationRef, useValue: notificationService },\n                { provide: RtlService, useValue: this._rtlService }\n            ]\n        });\n\n        // Create Notification Component\n        const notificationComponentRef = this._dynamicComponentService.createDynamicComponent(\n            content,\n            NotificationComponent,\n            notificationConfig,\n            { injector }\n        );\n\n        if (notificationConfig.shouldTrapFocus) {\n            const element = this._document.activeElement as HTMLElement | undefined;\n            this._elementFocusedBeforeNotificationWasOpened =\n                typeof element?.focus === 'function' ? element : undefined;\n            notificationComponentRef.instance.trapFocus();\n        }\n\n        // Add To array\n        this.notifications.push({\n            notificationComponent: notificationComponentRef,\n            notificationConfig\n        });\n\n        const defaultBehaviourOnClose = (): void => {\n            this._destroyNotificationComponent(notificationComponentRef);\n            refSub.unsubscribe();\n        };\n\n        const refSub = notificationService.afterClosed.subscribe({\n            next: defaultBehaviourOnClose,\n            error: defaultBehaviourOnClose\n        });\n\n        return notificationService;\n    }\n\n    /** Method to remove all of notifications from this service instance */\n    public destroyAll(): void {\n        this.notifications.forEach((notification) => {\n            this._destroyNotificationComponent(notification.notificationComponent);\n        });\n    }\n\n    /** Method that informs if there is any notification opened in this service instance */\n    public isAnyOpened(): boolean {\n        return this.notifications && this.notifications.length > 0;\n    }\n\n    /** @hidden Method that destroys the Notification component */\n    private _destroyNotificationComponent(notification: ComponentRef<NotificationComponent>): void {\n        this.notifications = this.notifications.filter((item) => item.notificationComponent !== notification);\n        this._dynamicComponentService.destroyComponent(notification);\n\n        // If there is no other notification Components, just remove container.\n        if (this.notifications.length === 0 && this.containerRef) {\n            this._dynamicComponentService.destroyComponent(this.containerRef);\n            this.containerRef = null;\n            this._restoreFocus();\n        } else {\n            // otherwise attempt to move focus to previous notification\n            const last = this.notifications[this.notifications.length - 1];\n            if (last.notificationConfig.shouldTrapFocus) {\n                last.notificationComponent.instance.trapFocus();\n            } else {\n                this._restoreFocus();\n            }\n        }\n    }\n\n    /** @hidden attempts to focus previously selected element */\n    private _restoreFocus(): void {\n        if (typeof this._elementFocusedBeforeNotificationWasOpened?.focus === 'function') {\n            this._elementFocusedBeforeNotificationWasOpened.focus();\n        }\n    }\n}\n","import { NgModule } from '@angular/core';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\n\n// Directives\nimport { NotificationFooterContentDirective } from './directives/notification-footer-content.directive';\nimport { NotificationGroupGrowingItemTitleDirective } from './directives/notification-group-growing-item-title.directive';\nimport { NotificationGroupHeaderTitleDirective } from './directives/notification-group-header-title.directive';\nimport { NotificationListDirective } from './directives/notification-list.directive';\nimport { NotificationMessageStripContainerDirective } from './directives/notification-message-strip-container.directive';\nimport { NotificationMessageStripDirective } from './directives/notification-message-strip.directive';\nimport { NotificationParagraphDirective } from './directives/notification-paragraph.directive';\nimport { NotificationPopoverDirective } from './directives/notification-popover.directive';\nimport { NotificationSeparatorDirective } from './directives/notification-separator.directive';\nimport { NotificationTitleDirective } from './directives/notification-title.directive';\n\n// Components\nimport { NotificationActionsComponent } from './notification-actions/notification-actions.component';\nimport { NotificationBodyComponent } from './notification-body/notification-body.component';\nimport { NotificationContentComponent } from './notification-content/notification-content.component';\nimport { NotificationFooterComponent } from './notification-footer/notification-footer.component';\nimport { NotificationGroupGrowingItemComponent } from './notification-group-growing-item/notification-group-growing-item.component';\nimport { NotificationGroupHeaderComponent } from './notification-group-header/notification-group-header.component';\nimport { NotificationGroupListComponent } from './notification-group-list/notification-group-list.component';\nimport { NotificationGroupComponent } from './notification-group/notification-group.component';\nimport { NotificationHeaderComponent } from './notification-header/notification-header.component';\nimport { NotificationLinkComponent } from './notification-link/notification-link.component';\nimport { NotificationComponent } from './notification/notification.component';\n\n// Utils\nimport { NotificationService } from './notification-service/notification.service';\nimport { NotificationContainer } from './notification-utils/notification-container';\n\nconst components = [\n    NotificationComponent,\n    NotificationContainer,\n    NotificationLinkComponent,\n    NotificationBodyComponent,\n    NotificationGroupComponent,\n    NotificationHeaderComponent,\n    NotificationFooterComponent,\n    NotificationActionsComponent,\n    NotificationContentComponent,\n    NotificationGroupListComponent,\n    NotificationGroupHeaderComponent,\n    NotificationGroupGrowingItemComponent,\n    NotificationListDirective,\n    NotificationTitleDirective,\n    NotificationPopoverDirective,\n    NotificationSeparatorDirective,\n    NotificationParagraphDirective,\n    NotificationMessageStripDirective,\n    NotificationFooterContentDirective,\n    NotificationGroupHeaderTitleDirective,\n    NotificationMessageStripContainerDirective,\n    NotificationGroupGrowingItemTitleDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n    imports: [...components],\n    exports: [...components],\n    providers: [DynamicComponentService, NotificationService]\n})\nexport class NotificationModule {}\n","// Directives\nexport * from './directives/notification-footer-content.directive';\nexport * from './directives/notification-group-growing-item-title.directive';\nexport * from './directives/notification-group-header-title.directive';\nexport * from './directives/notification-list.directive';\nexport * from './directives/notification-message-strip-container.directive';\nexport * from './directives/notification-message-strip.directive';\nexport * from './directives/notification-paragraph.directive';\nexport * from './directives/notification-popover.directive';\nexport * from './directives/notification-separator.directive';\nexport * from './directives/notification-title.directive';\n\n// Components\nexport * from './notification-actions/notification-actions.component';\nexport * from './notification-body/notification-body.component';\nexport * from './notification-content/notification-content.component';\nexport * from './notification-footer/notification-footer.component';\nexport * from './notification-group-growing-item/notification-group-growing-item.component';\nexport * from './notification-group-header/notification-group-header.component';\nexport * from './notification-group-list/notification-group-list.component';\nexport * from './notification-group/notification-group.component';\nexport * from './notification-header/notification-header.component';\nexport * from './notification-link/notification-link.component';\nexport * from './notification/notification.component';\n\n// Service\nexport * from './notification-service/notification.service';\n\n// Utils\nexport * from './notification-utils/notification-config';\nexport * from './notification-utils/notification-container';\nexport * from './notification-utils/notification-group-base';\nexport * from './notification-utils/notification-ref';\n\n// Module\nexport * from './notification.module';\n\n// Token\nexport * from './token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}