@fundamental-ngx/core 0.59.1-rc.9 → 0.59.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +33 -50
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs +9 -11
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs +206 -293
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +25 -12
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs +11 -14
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs +13 -26
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +11 -11
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +33 -7
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +13 -17
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +32 -24
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +28 -30
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +12 -10
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +202 -100
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs +72 -231
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +12 -12
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +28 -28
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +85 -84
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +21 -24
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +19 -12
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +46 -39
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +66 -103
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +10 -12
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-marker.mjs +69 -59
- package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +92 -118
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +27 -29
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-pagination.mjs +17 -18
- package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-panel.mjs +7 -9
- package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +10 -15
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +12 -15
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +18 -20
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +8 -11
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +6 -8
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-settings.mjs +9 -12
- package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +48 -34
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-slider.mjs +30 -31
- package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +137 -131
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +21 -17
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tile.mjs +375 -631
- package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +7 -9
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +11 -13
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +63 -21
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/package.json +4 -4
- package/types/fundamental-ngx-core-avatar-group-legacy.d.ts +15 -17
- package/types/fundamental-ngx-core-avatar-group.d.ts +1 -1
- package/types/fundamental-ngx-core-avatar.d.ts +66 -86
- package/types/fundamental-ngx-core-breadcrumb.d.ts +13 -5
- package/types/fundamental-ngx-core-calendar.d.ts +3 -4
- package/types/fundamental-ngx-core-card.d.ts +4 -11
- package/types/fundamental-ngx-core-carousel.d.ts +3 -3
- package/types/fundamental-ngx-core-combobox.d.ts +8 -1
- package/types/fundamental-ngx-core-dialog.d.ts +2 -4
- package/types/fundamental-ngx-core-dynamic-page.d.ts +0 -6
- package/types/fundamental-ngx-core-fixed-card-layout.d.ts +7 -7
- package/types/fundamental-ngx-core-grid-list.d.ts +6 -4
- package/types/fundamental-ngx-core-illustrated-message.d.ts +165 -31
- package/types/fundamental-ngx-core-layout-panel.d.ts +19 -131
- package/types/fundamental-ngx-core-list.d.ts +8 -6
- package/types/fundamental-ngx-core-menu.d.ts +16 -13
- package/types/fundamental-ngx-core-message-strip.d.ts +5 -2
- package/types/fundamental-ngx-core-micro-process-flow.d.ts +8 -6
- package/types/fundamental-ngx-core-multi-combobox.d.ts +8 -5
- package/types/fundamental-ngx-core-multi-input.d.ts +24 -16
- package/types/fundamental-ngx-core-nested-list.d.ts +19 -33
- package/types/fundamental-ngx-core-notification.d.ts +2 -2
- package/types/fundamental-ngx-core-object-marker.d.ts +47 -27
- package/types/fundamental-ngx-core-object-status.d.ts +49 -48
- package/types/fundamental-ngx-core-overflow-layout.d.ts +10 -10
- package/types/fundamental-ngx-core-pagination.d.ts +7 -8
- package/types/fundamental-ngx-core-panel.d.ts +2 -4
- package/types/fundamental-ngx-core-popover.d.ts +7 -5
- package/types/fundamental-ngx-core-product-switch.d.ts +5 -4
- package/types/fundamental-ngx-core-resizable-card-layout.d.ts +10 -8
- package/types/fundamental-ngx-core-segmented-button.d.ts +5 -4
- package/types/fundamental-ngx-core-select.d.ts +4 -5
- package/types/fundamental-ngx-core-settings.d.ts +7 -10
- package/types/fundamental-ngx-core-shellbar.d.ts +23 -14
- package/types/fundamental-ngx-core-slider.d.ts +18 -13
- package/types/fundamental-ngx-core-status-indicator.d.ts +42 -58
- package/types/fundamental-ngx-core-tabs.d.ts +9 -7
- package/types/fundamental-ngx-core-tile.d.ts +114 -243
- package/types/fundamental-ngx-core-time.d.ts +5 -4
- package/types/fundamental-ngx-core-token.d.ts +5 -4
- package/types/fundamental-ngx-core-tree.d.ts +1 -1
- package/types/fundamental-ngx-core-user-menu.d.ts +25 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"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 { AfterViewInit, ContentChildren, DestroyRef, Directive, QueryList, Renderer2, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable, merge } from 'rxjs';\nimport { debounceTime, filter, startWith, switchMap } from 'rxjs/operators';\nimport { NotificationActionsComponent } from '../notification-actions/notification-actions.component';\nimport { NotificationHeaderComponent } from '../notification-header/notification-header.component';\n\n@Directive()\nexport abstract class NotificationGroupBaseDirective implements AfterViewInit {\n /** @hidden */\n @ContentChildren(NotificationHeaderComponent, { descendants: true })\n notificationHeader: QueryList<NotificationHeaderComponent>;\n\n /** @hidden */\n @ContentChildren(NotificationActionsComponent)\n notificationActions: QueryList<NotificationActionsComponent>;\n\n /** @hidden */\n protected readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n ngAfterViewInit(): void {\n // TODO: update startWith args to be \"undefined\" after migration to rxjs 7.\n // Now it throws irrelevant warning about deprecation\n const headersChanges$ = this.notificationHeader.changes.pipe(startWith(0));\n const actionsChanges$ = this.notificationActions.changes.pipe(\n startWith(0),\n switchMap(() => {\n // also listen to button changes for each notificationActions component\n const buttonsChanges$ = this.notificationActions\n .toArray()\n .reduce((acc, c) => acc.concat(c.buttons.changes), [] as Observable<any>[]);\n return merge(buttonsChanges$).pipe(startWith(0));\n })\n );\n merge(headersChanges$, actionsChanges$)\n .pipe(\n debounceTime(10), // omitting extra emissions\n filter(() => this.notificationHeader.length > 0 && this.notificationActions.length > 0),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n // using only the first header for \"aria-describedby\" of associated buttons\n const firstHeader = this.notificationHeader.first;\n this.notificationActions.forEach((actionsComponent) => {\n actionsComponent.buttons\n .toArray()\n .map((b) => b.elementRef.nativeElement)\n // skipping buttons that already have this attribute\n .filter((b) => !b.hasAttribute('aria-describedby'))\n .forEach((b) => {\n // setting aria-describedby on each button with an id of related header\n this._renderer.setAttribute(b, 'aria-describedby', firstHeader.uniqueId());\n });\n });\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 standalone: true,\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 { Component } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-group-growing-item',\n standalone: true,\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 {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n OnInit,\n ViewEncapsulation,\n computed,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KeyUtil, Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FD_LANGUAGE, FdLanguage, 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 },\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 implements OnInit {\n /**\n * Title for the group header\n * default value: \"Expand/Collapse\"\n */\n title = signal<Nullable<string>>('');\n\n /**\n * id of the list element that the group header controls\n * string value\n */\n ariaControls = signal<Nullable<string>>('');\n\n /** @hidden */\n expanded = signal(false);\n\n /** @hidden */\n readonly _buttonIcon$ = computed(() =>\n this.expanded() ? 'slim-arrow-down' : this._rtlService?.rtlSignal() ? 'slim-arrow-left' : 'slim-arrow-right'\n );\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n private readonly _lang$ = inject(FD_LANGUAGE);\n\n /** @hidden */\n private _translationResolver = new TranslationResolver();\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.toggleExpand();\n event.preventDefault();\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 ngOnInit(): void {\n this._lang$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((lang: FdLanguage) => {\n this.title.set(this._translationResolver.resolve(lang, 'coreNotification.groupHeaderTitle'));\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 Component,\n DestroyRef,\n OnInit,\n computed,\n contentChild,\n inject,\n input,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_LANGUAGE, FdLanguage, 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 standalone: true,\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 OnInit, 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 _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _lang$ = inject(FD_LANGUAGE);\n\n /** @hidden */\n private _translationResolver = new TranslationResolver();\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.groupHeader()?.ariaControls.set(this.groupList()?.id());\n this.groupHeader()?.expanded.set(this.expanded());\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._lang$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((lang: FdLanguage) => {\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","import { Component, signal } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-link',\n standalone: true,\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 HostListener,\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 },\n providers: [\n {\n provide: FD_NOTIFICATION,\n useExisting: NotificationComponent\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\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?.rtlSignal() ? '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 @HostListener('window:keyup', ['$event'])\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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"}
|
|
1
|
+
{"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 { AfterViewInit, ContentChildren, DestroyRef, Directive, QueryList, Renderer2, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable, merge } from 'rxjs';\nimport { debounceTime, filter, startWith, switchMap } from 'rxjs/operators';\nimport { NotificationActionsComponent } from '../notification-actions/notification-actions.component';\nimport { NotificationHeaderComponent } from '../notification-header/notification-header.component';\n\n@Directive()\nexport abstract class NotificationGroupBaseDirective implements AfterViewInit {\n /** @hidden */\n @ContentChildren(NotificationHeaderComponent, { descendants: true })\n notificationHeader: QueryList<NotificationHeaderComponent>;\n\n /** @hidden */\n @ContentChildren(NotificationActionsComponent)\n notificationActions: QueryList<NotificationActionsComponent>;\n\n /** @hidden */\n protected readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n ngAfterViewInit(): void {\n // TODO: update startWith args to be \"undefined\" after migration to rxjs 7.\n // Now it throws irrelevant warning about deprecation\n const headersChanges$ = this.notificationHeader.changes.pipe(startWith(0));\n const actionsChanges$ = this.notificationActions.changes.pipe(\n startWith(0),\n switchMap(() => {\n // also listen to button changes for each notificationActions component\n const buttonsChanges$ = this.notificationActions\n .toArray()\n .reduce((acc, c) => acc.concat(c.buttons.changes), [] as Observable<any>[]);\n return merge(buttonsChanges$).pipe(startWith(0));\n })\n );\n merge(headersChanges$, actionsChanges$)\n .pipe(\n debounceTime(10), // omitting extra emissions\n filter(() => this.notificationHeader.length > 0 && this.notificationActions.length > 0),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n // using only the first header for \"aria-describedby\" of associated buttons\n const firstHeader = this.notificationHeader.first;\n this.notificationActions.forEach((actionsComponent) => {\n actionsComponent.buttons\n .toArray()\n .map((b) => b.elementRef.nativeElement)\n // skipping buttons that already have this attribute\n .filter((b) => !b.hasAttribute('aria-describedby'))\n .forEach((b) => {\n // setting aria-describedby on each button with an id of related header\n this._renderer.setAttribute(b, 'aria-describedby', firstHeader.uniqueId());\n });\n });\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 standalone: true,\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 { Component } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-group-growing-item',\n standalone: true,\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 {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n OnInit,\n ViewEncapsulation,\n computed,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KeyUtil, Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FD_LANGUAGE, FdLanguage, 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 },\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 implements OnInit {\n /**\n * Title for the group header\n * default value: \"Expand/Collapse\"\n */\n title = signal<Nullable<string>>('');\n\n /**\n * id of the list element that the group header controls\n * string value\n */\n ariaControls = signal<Nullable<string>>('');\n\n /** @hidden */\n 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 _lang$ = inject(FD_LANGUAGE);\n\n /** @hidden */\n private _translationResolver = new TranslationResolver();\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.toggleExpand();\n event.preventDefault();\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 ngOnInit(): void {\n this._lang$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((lang: FdLanguage) => {\n this.title.set(this._translationResolver.resolve(lang, 'coreNotification.groupHeaderTitle'));\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 Component,\n DestroyRef,\n OnInit,\n computed,\n contentChild,\n inject,\n input,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_LANGUAGE, FdLanguage, 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 standalone: true,\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 OnInit, 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 _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _lang$ = inject(FD_LANGUAGE);\n\n /** @hidden */\n private _translationResolver = new TranslationResolver();\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.groupHeader()?.ariaControls.set(this.groupList()?.id());\n this.groupHeader()?.expanded.set(this.expanded());\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._lang$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((lang: FdLanguage) => {\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","import { Component, signal } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-link',\n standalone: true,\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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"}
|