@fundamental-ngx/core 0.47.0-rc.2 → 0.47.0-rc.21

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.
Files changed (128) hide show
  1. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  2. package/carousel/carousel-item/carousel-item.component.d.ts +4 -4
  3. package/carousel/carousel-item.directive.d.ts +4 -4
  4. package/checkbox/checkbox/checkbox.component.d.ts +10 -10
  5. package/esm2022/breadcrumb/breadcrumb.component.mjs +2 -2
  6. package/esm2022/calendar/calendar-header/calendar-header.component.mjs +4 -5
  7. package/esm2022/calendar/calendar-views/calendar-aggregated-year-view/calendar-aggregated-year-view.component.mjs +4 -5
  8. package/esm2022/calendar/calendar-views/calendar-month-view/calendar-month-view.component.mjs +4 -5
  9. package/esm2022/calendar/calendar-views/calendar-year-view/calendar-year-view.component.mjs +4 -5
  10. package/esm2022/carousel/carousel-item/carousel-item.component.mjs +1 -1
  11. package/esm2022/carousel/carousel-item.directive.mjs +1 -1
  12. package/esm2022/checkbox/checkbox/checkbox.component.mjs +1 -1
  13. package/esm2022/combobox/combobox.component.mjs +2 -2
  14. package/esm2022/date-picker/date-picker.component.mjs +4 -5
  15. package/esm2022/datetime-picker/datetime-picker.component.mjs +8 -10
  16. package/esm2022/form/form-label/form-label.component.mjs +5 -6
  17. package/esm2022/input-group/input-group.component.mjs +7 -5
  18. package/esm2022/menu/menu-mobile/menu-mobile.component.mjs +4 -5
  19. package/esm2022/message-box/directives/message-box-template.directive.mjs +3 -3
  20. package/esm2022/message-strip/message-strip.component.mjs +8 -10
  21. package/esm2022/multi-combobox/base-multi-combobox.class.mjs +4 -4
  22. package/esm2022/multi-combobox/helpers.mjs +1 -1
  23. package/esm2022/multi-combobox/multi-announcer/multi-announcer.directive.mjs +11 -5
  24. package/esm2022/multi-combobox/multi-combobox.component.mjs +3 -3
  25. package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +4 -5
  26. package/esm2022/multi-input/multi-input.component.mjs +3 -3
  27. package/esm2022/notification/notification-utils/notification-config.mjs +1 -1
  28. package/esm2022/notification/notification-utils/notification-ref.mjs +1 -1
  29. package/esm2022/overflow-layout/overflow-layout.component.mjs +18 -5
  30. package/esm2022/overflow-layout/overflow-layout.service.mjs +3 -3
  31. package/esm2022/pagination/pagination.component.mjs +1 -1
  32. package/esm2022/popover/popover-mobile/popover-mobile.module.mjs +6 -6
  33. package/esm2022/radio/radio-button/radio-button.component.mjs +2 -2
  34. package/esm2022/select/select-mobile/select-mobile.module.mjs +5 -5
  35. package/esm2022/select/select.component.mjs +3 -3
  36. package/esm2022/select/select.interface.mjs +1 -1
  37. package/esm2022/shellbar/product-menu/product-menu.component.mjs +8 -11
  38. package/esm2022/shellbar/shellbar-action/shellbar-action.component.mjs +6 -7
  39. package/esm2022/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.mjs +6 -7
  40. package/esm2022/shellbar/user-menu/shellbar-user-menu.component.mjs +5 -6
  41. package/esm2022/splitter/splitter-pane-container/splitter-pane-container.component.mjs +1 -1
  42. package/esm2022/switch/switch.component.mjs +1 -1
  43. package/esm2022/tabs/tab-list.component.mjs +2 -2
  44. package/esm2022/time/time-column/time-column.component.mjs +1 -1
  45. package/esm2022/time/time.component.mjs +1 -1
  46. package/esm2022/time-picker/time-picker.component.mjs +2 -2
  47. package/esm2022/token/tokenizer.component.mjs +6 -7
  48. package/esm2022/toolbar/toolbar.component.mjs +10 -12
  49. package/esm2022/tree/components/tree-item/tree-item.component.mjs +5 -6
  50. package/esm2022/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +4 -6
  51. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +1 -1
  52. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  53. package/fesm2022/fundamental-ngx-core-calendar.mjs +9 -10
  54. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  55. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  56. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  57. package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
  58. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  59. package/fesm2022/fundamental-ngx-core-date-picker.mjs +3 -4
  60. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  61. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +8 -10
  62. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-core-form.mjs +4 -5
  64. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  65. package/fesm2022/fundamental-ngx-core-input-group.mjs +6 -4
  66. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  67. package/fesm2022/fundamental-ngx-core-menu.mjs +3 -4
  68. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  69. package/fesm2022/fundamental-ngx-core-message-box.mjs +2 -2
  70. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  71. package/fesm2022/fundamental-ngx-core-message-strip.mjs +7 -9
  72. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  73. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +12 -7
  74. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  75. package/fesm2022/fundamental-ngx-core-multi-input.mjs +6 -7
  76. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  77. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  78. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +18 -5
  79. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  80. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  81. package/fesm2022/fundamental-ngx-core-popover.mjs +4 -4
  82. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  83. package/fesm2022/fundamental-ngx-core-radio.mjs +1 -1
  84. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  85. package/fesm2022/fundamental-ngx-core-select.mjs +6 -6
  86. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  87. package/fesm2022/fundamental-ngx-core-shellbar.mjs +12 -14
  88. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  89. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  90. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  91. package/fesm2022/fundamental-ngx-core-tabs.mjs +1 -1
  92. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  93. package/fesm2022/fundamental-ngx-core-time-picker.mjs +1 -1
  94. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  95. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  96. package/fesm2022/fundamental-ngx-core-token.mjs +5 -6
  97. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  98. package/fesm2022/fundamental-ngx-core-toolbar.mjs +7 -8
  99. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  100. package/fesm2022/fundamental-ngx-core-tree.mjs +4 -5
  101. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  102. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +6 -7
  103. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  104. package/fundamental-ngx-core-v0.47.0-rc.21.tgz +0 -0
  105. package/input-group/input-group.component.d.ts +10 -4
  106. package/message-box/directives/message-box-template.directive.d.ts +2 -2
  107. package/message-strip/message-strip.component.d.ts +2 -2
  108. package/multi-combobox/base-multi-combobox.class.d.ts +7 -7
  109. package/multi-combobox/helpers.d.ts +3 -3
  110. package/multi-combobox/multi-announcer/multi-announcer.directive.d.ts +4 -2
  111. package/notification/notification-utils/notification-config.d.ts +2 -2
  112. package/notification/notification-utils/notification-ref.d.ts +5 -5
  113. package/overflow-layout/overflow-layout.component.d.ts +9 -1
  114. package/overflow-layout/overflow-layout.service.d.ts +1 -1
  115. package/package.json +3 -3
  116. package/pagination/pagination.component.d.ts +2 -2
  117. package/popover/popover-mobile/popover-mobile.module.d.ts +1 -1
  118. package/radio/radio-button/radio-button.component.d.ts +12 -12
  119. package/schematics/add-dependencies/index.js +4 -4
  120. package/select/select-mobile/select-mobile.module.d.ts +1 -1
  121. package/select/select.interface.d.ts +8 -8
  122. package/shellbar/product-menu/product-menu.component.d.ts +3 -3
  123. package/splitter/splitter-pane-container/splitter-pane-container.component.d.ts +1 -1
  124. package/switch/switch.component.d.ts +1 -1
  125. package/time/time-column/time-column.component.d.ts +3 -3
  126. package/time/time.component.d.ts +1 -1
  127. package/toolbar/toolbar.component.d.ts +2 -2
  128. package/fundamental-ngx-core-v0.47.0-rc.2.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-notification.mjs","sources":["../../../../libs/core/src/lib/notification/directives/notification-footer-content.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-indicator.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-limit-description.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-limit-title.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-paragraph.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-separator.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-title.directive.ts","../../../../libs/core/src/lib/notification/notification-actions/notification-actions.component.ts","../../../../libs/core/src/lib/notification/notification-header/notification-header.component.ts","../../../../libs/core/src/lib/notification/notification-utils/notification-group-base.ts","../../../../libs/core/src/lib/notification/notification-body/notification-body.component.ts","../../../../libs/core/src/lib/notification/notification-content/notification-content.component.ts","../../../../libs/core/src/lib/notification/notification-footer/notification-footer.component.ts","../../../../libs/core/src/lib/notification/notification-group-header/notification-group-header.component.ts","../../../../libs/core/src/lib/notification/notification-group-list/notification-group-list.component.ts","../../../../libs/core/src/lib/notification/notification-group/notification-group.component.ts","../../../../libs/core/src/lib/notification/notification-limit/notification-limit.component.ts","../../../../libs/core/src/lib/notification/notification-utils/notification-config.ts","../../../../libs/core/src/lib/notification/notification-utils/notification-ref.ts","../../../../libs/core/src/lib/notification/notification/notification.component.ts","../../../../libs/core/src/lib/notification/notification-utils/notification-container.ts","../../../../libs/core/src/lib/notification/notification-service/notification.service.ts","../../../../libs/core/src/lib/notification/notification.module.ts","../../../../libs/core/src/lib/notification/fundamental-ngx-core-notification.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationFooterContent], [fd-notification-footer-content]',\n standalone: true\n})\nexport class NotificationFooterContentDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__footer-content')\n fdNotificationTitleClass = true;\n}\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\nexport type IndicatorStates = 'success' | 'error' | 'warning' | 'information';\n\n@Directive({\n selector: '[fdNotificationIndicator], [fd-notification-indicator]',\n standalone: true\n})\nexport class NotificationIndicatorDirective implements OnChanges, OnInit, CssClassBuilder {\n /** Type of the indicator. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: IndicatorStates;\n\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-notification__indicator', this.type ? 'fd-notification__indicator--' + this.type : '', this.class];\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationLimitDescription], [fd-notification-limit-description]',\n standalone: true\n})\nexport class NotificationLimitDescriptionDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__limit--description')\n fdNotificationDescriptionClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationLimitTitle], [fd-notification-limit-title]',\n standalone: true\n})\nexport class NotificationLimitTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__limit--title')\n fdNotificationTitleClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationParagraph], [fd-notification-paragraph]',\n standalone: true\n})\nexport class NotificationParagraphDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__paragraph')\n fdNotificationParagraphClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationSeparator], [fd-notification-separator]',\n standalone: true\n})\nexport class NotificationSeparatorDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__separator')\n fdNotificationSeparatorClass = true;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationTitle], [fd-notification-title]',\n standalone: true\n})\nexport class NotificationTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__title')\n fdNotificationTitleClass = true;\n\n /** Whether the title is unread. */\n @Input()\n @HostBinding('class.fd-notification__title--unread')\n unread = false;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostBinding,\n QueryList,\n ViewEncapsulation\n} 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})\nexport class NotificationActionsComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__actions')\n fdNotificationActionsClass = true;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT)\n buttons: QueryList<ButtonComponent>;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nlet notificationHeaderCounter = 0;\n@Component({\n selector: 'fd-notification-header',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__header')\n fdNotificationHeaderClass = true;\n\n /** Unique id for the notification header */\n @HostBinding('attr.id')\n @Input()\n uniqueId = `fd-notification-header-${++notificationHeaderCounter}`;\n}\n","import { AfterViewInit, Directive, ContentChildren, OnDestroy, QueryList, Renderer2 } from '@angular/core';\nimport { merge, Observable, Subject } from 'rxjs';\nimport { debounceTime, filter, startWith, switchMap, takeUntil } 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, OnDestroy {\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 private readonly onDestroy$ = new Subject<void>();\n\n /** @hidden */\n constructor(private renderer: 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 takeUntil(this.onDestroy$)\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 /** @hidden */\n ngOnDestroy(): void {\n this.onDestroy$.next();\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, 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})\nexport class NotificationBodyComponent extends NotificationGroupBaseDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__body')\n fdNotificationBodyClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, 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})\nexport class NotificationContentComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__content')\n fdNotificationFooterClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-footer',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationFooterComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__footer')\n fdNotificationFooterClass = true;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n ContentDensityDirective,\n ContentDensityMode,\n LocalContentDensityMode\n} from '@fundamental-ngx/core/content-density';\nimport { Subscription } from 'rxjs';\nimport { NotificationGroupBaseDirective } from '../notification-utils/notification-group-base';\n\n@Component({\n selector: 'fd-notification-group-header',\n template: `\n <button\n fd-button\n fdType=\"transparent\"\n role=\"button\"\n [fdContentDensity]=\"_expandButtonContentDensity\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-describedby]=\"expandDescribedBy\"\n [attr.aria-label]=\"expandAriaLabel\"\n [attr.aria-labelledby]=\"expandAriaLabelledBy\"\n (click)=\"toggleExpand()\"\n >\n <i [class]=\"'sap-icon--' + _getButtonIcon()\"></i>\n </button>\n <div class=\"fd-notification__content\">\n <ng-content select=\"fd-notification-header\"></ng-content>\n </div>\n <ng-content select=\"fd-notification-actions\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ButtonComponent, ContentDensityDirective]\n})\nexport class NotificationGroupHeaderComponent extends NotificationGroupBaseDirective implements OnInit, OnDestroy {\n /** @hidden */\n @HostBinding('class.fd-notification__group-header')\n fdNotificationGroupHeaderClass = true;\n\n /** @hidden */\n get expandDescribedBy(): string {\n return this.notificationHeader?.first?.uniqueId;\n }\n\n /** @hidden */\n _rtl = false;\n\n /** @hidden */\n _subscriptions = new Subscription();\n\n /** Whether the expand button is in compact mode */\n @Input()\n expandCompact: boolean;\n\n /** aria-label of the expand button */\n @Input()\n expandAriaLabel: Nullable<string>;\n\n /** aria-labelledby of the expand button */\n @Input()\n expandAriaLabelledBy: Nullable<string>;\n\n /** Whether the button is in expanded state */\n @Input()\n expanded = true;\n\n /** Output event triggered when the Expand button is clicked */\n @Output()\n expandedChange = new EventEmitter<boolean>();\n\n /** @hidden */\n get _expandButtonContentDensity(): LocalContentDensityMode {\n return typeof this.expandCompact === 'undefined' ? 'global' : ContentDensityMode.COMPACT;\n }\n\n /** @hidden */\n constructor(private _cdRef: ChangeDetectorRef, @Optional() private _rtlService: RtlService, renderer: Renderer2) {\n super(renderer);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._listenRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** Method that toggles the Notification list content */\n toggleExpand(): void {\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n }\n\n /** @hidden */\n _getButtonIcon(): string {\n return this.expanded ? 'slim-arrow-down' : this._rtl ? 'slim-arrow-left' : 'slim-arrow-right';\n }\n\n /** @hidden */\n private _listenRtl(): void {\n if (this._rtlService) {\n this._subscriptions.add(\n this._rtlService.rtl.subscribe((rtl) => {\n this._rtl = rtl;\n this._cdRef.markForCheck();\n })\n );\n }\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n forwardRef,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NotificationGroupHeaderComponent } from '../notification-group-header/notification-group-header.component';\n\n@Component({\n selector: 'fd-notification-group-list',\n template: `\n <ng-content select=\"fd-notification-group-header\"></ng-content>\n <ng-container *ngIf=\"expanded\">\n <ng-content></ng-content>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf]\n})\nexport class NotificationGroupListComponent implements AfterContentInit, OnDestroy {\n /** @hidden */\n @ContentChild(forwardRef(() => NotificationGroupHeaderComponent))\n groupHeader: NotificationGroupHeaderComponent;\n\n /** Whether the Notification list content is expanded */\n expanded: boolean;\n\n /** @hidden */\n private readonly _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private readonly _changeDetectorRef: ChangeDetectorRef) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.expanded = this.groupHeader.expanded;\n\n this._subscriptions.add(\n this.groupHeader.expandedChange.subscribe((value) => {\n this.expanded = value;\n this._changeDetectorRef.detectChanges();\n })\n );\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { BasePopoverClass, FD_POPOVER_COMPONENT } from '@fundamental-ngx/core/popover';\n\n@Component({\n selector: 'fd-notification-group',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationGroupComponent implements OnChanges, OnInit, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Whether the Notification Group is in mobile mode */\n @Input() mobile = false;\n\n /** User defined width for the notification */\n @HostBinding('style.width')\n @Input()\n width: string;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n @Optional() @Inject(FD_POPOVER_COMPONENT) private _popover: BasePopoverClass\n ) {\n if (this._popover) {\n this._popover.focusTrapped = true;\n this._popover.focusAutoCapture = true;\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden CssClassBuilder interface implementation\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-notification fd-notification--group fd-notification-custom-block',\n this.mobile ? 'fd-notification--mobile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-limit',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationLimitComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__limit')\n fdNotificationLimitClass = true;\n}\n","import { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Configuration for opening a notification with the NotificationService.\n */\nexport class NotificationConfig {\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?: any;\n\n /** Custom width of the notification. */\n width?: string;\n\n /** Whether the notification is in mobile mode. */\n mobile?: boolean;\n\n /**\n * Whether the notification should trap focus within itself.\n * @default true\n */\n shouldTrapFocus?: 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 {\n /** @hidden */\n protected readonly _afterClosed = new Subject<any>();\n\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 public afterClosed: Observable<any> = this._afterClosed.asObservable();\n\n /** Data passed from the calling component to the content.*/\n public data: any;\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?: any): 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?: any): void {\n this._afterClosed.error(reason);\n }\n}\n","import { ConfigurableFocusTrapFactory, FocusTrap } from '@angular/cdk/a11y';\nimport { ESCAPE } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n TemplateRef,\n Type,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { AbstractFdNgxClass, KeyUtil, Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FD_POPOVER_COMPONENT, PopoverComponent } from '@fundamental-ngx/core/popover';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { filter, take, takeUntil } from 'rxjs/operators';\nimport { NotificationConfig } from '../notification-utils/notification-config';\nimport { NotificationRef } from '../notification-utils/notification-ref';\n\n@Component({\n selector: 'fd-notification',\n template: `\n <ng-content></ng-content>\n <ng-container #vc></ng-container>\n `,\n styleUrls: ['./notification.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-label]': 'ariaLabel',\n '[attr.dir]': '_dir',\n role: 'alertdialog',\n '[attr.id]': 'id'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationComponent extends AbstractFdNgxClass implements OnInit, AfterViewInit, OnDestroy {\n /** @hidden */\n @ViewChild('vc', { read: ViewContainerRef })\n containerRef: ViewContainerRef;\n\n /**\n * @hidden\n */\n _dir: string;\n\n /** User defined width for the notification */\n @HostBinding('style.width')\n @Input()\n width: string;\n\n /** Whether the notificatioon is in mobile mode */\n @Input() mobile: boolean;\n\n /** ID of the notification */\n id: string;\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: Nullable<string>;\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>;\n\n /** @hidden */\n private readonly _onDestroy$ = new Subject<void>();\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 @HostBinding('class.fd-notification--in-dialog')\n get _inDialog(): boolean {\n return this._popover?.mobile;\n }\n\n /** @hidden */\n constructor(\n private _elRef: ElementRef,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _cdRef: ChangeDetectorRef,\n private _router: Router,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n @Optional() private _notificationConfig: NotificationConfig,\n @Optional() private _notificationRef: NotificationRef,\n @Optional() private _rtlService: RtlService,\n @Optional() @Inject(FD_POPOVER_COMPONENT) private _popover: PopoverComponent\n ) {\n super(_elRef);\n\n this._setNotificationConfig(this._notificationConfig);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._rtlService?.rtl.pipe(takeUntil(this._onDestroy$)).subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._cdRef.markForCheck();\n });\n\n this._listenAndCloseOnNavigation();\n this._setProperties();\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 this._afterViewInit$.next(true);\n this._cdRef.detectChanges();\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), takeUntil(this._onDestroy$)).toPromise();\n if (!this._focusTrap) {\n this._focusTrap = this._focusTrapFactory.create(this._elRef.nativeElement);\n }\n return this._focusTrap.focusFirstTabbableElementWhenReady();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\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 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((event) => event instanceof NavigationStart && this.closeOnNavigation),\n takeUntil(this._onDestroy$)\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 _setProperties(): void {\n this._addClassToElement('fd-notification');\n this._addClassToElement('fd-notification-custom-block');\n if (this.mobile) {\n this._addClassToElement('fd-notification--mobile');\n }\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: 4.75rem;\n right: 2rem;\n }\n `\n ],\n host: {\n '[class.fd-notification-container]': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class NotificationContainer {}\n","import { ComponentRef, Inject, Injectable, Injector, Optional, TemplateRef, Type } from '@angular/core';\nimport { DynamicComponentService, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { NotificationComponent } from '../notification/notification.component';\nimport { NotificationContainer } from '../notification-utils/notification-container';\nimport { NotificationConfig } from '../notification-utils/notification-config';\nimport { NotificationRef } from '../notification-utils/notification-ref';\nimport { DOCUMENT } from '@angular/common';\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(defaultBehaviourOnClose, defaultBehaviourOnClose);\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';\nimport { NotificationFooterContentDirective } from './directives/notification-footer-content.directive';\nimport { NotificationIndicatorDirective } from './directives/notification-indicator.directive';\nimport { NotificationLimitDescriptionDirective } from './directives/notification-limit-description.directive';\nimport { NotificationLimitTitleDirective } from './directives/notification-limit-title.directive';\nimport { NotificationParagraphDirective } from './directives/notification-paragraph.directive';\nimport { NotificationSeparatorDirective } from './directives/notification-separator.directive';\nimport { NotificationTitleDirective } from './directives/notification-title.directive';\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 { 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 { NotificationLimitComponent } from './notification-limit/notification-limit.component';\nimport { NotificationService } from './notification-service/notification.service';\nimport { NotificationContainer } from './notification-utils/notification-container';\nimport { NotificationComponent } from './notification/notification.component';\n\nconst components = [\n NotificationComponent,\n NotificationHeaderComponent,\n NotificationFooterComponent,\n NotificationBodyComponent,\n NotificationContainer,\n NotificationActionsComponent,\n NotificationContentComponent,\n NotificationLimitComponent,\n NotificationGroupHeaderComponent,\n NotificationGroupComponent,\n NotificationGroupListComponent,\n NotificationTitleDirective,\n NotificationIndicatorDirective,\n NotificationParagraphDirective,\n NotificationFooterContentDirective,\n NotificationSeparatorDirective,\n NotificationLimitTitleDirective,\n NotificationLimitDescriptionDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components],\n providers: [DynamicComponentService, NotificationService]\n})\nexport class NotificationModule {}\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/src/lib/notification/directives/notification-footer-content.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-indicator.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-limit-description.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-limit-title.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-paragraph.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-separator.directive.ts","../../../../libs/core/src/lib/notification/directives/notification-title.directive.ts","../../../../libs/core/src/lib/notification/notification-actions/notification-actions.component.ts","../../../../libs/core/src/lib/notification/notification-header/notification-header.component.ts","../../../../libs/core/src/lib/notification/notification-utils/notification-group-base.ts","../../../../libs/core/src/lib/notification/notification-body/notification-body.component.ts","../../../../libs/core/src/lib/notification/notification-content/notification-content.component.ts","../../../../libs/core/src/lib/notification/notification-footer/notification-footer.component.ts","../../../../libs/core/src/lib/notification/notification-group-header/notification-group-header.component.ts","../../../../libs/core/src/lib/notification/notification-group-list/notification-group-list.component.ts","../../../../libs/core/src/lib/notification/notification-group/notification-group.component.ts","../../../../libs/core/src/lib/notification/notification-limit/notification-limit.component.ts","../../../../libs/core/src/lib/notification/notification-utils/notification-config.ts","../../../../libs/core/src/lib/notification/notification-utils/notification-ref.ts","../../../../libs/core/src/lib/notification/notification/notification.component.ts","../../../../libs/core/src/lib/notification/notification-utils/notification-container.ts","../../../../libs/core/src/lib/notification/notification-service/notification.service.ts","../../../../libs/core/src/lib/notification/notification.module.ts","../../../../libs/core/src/lib/notification/fundamental-ngx-core-notification.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationFooterContent], [fd-notification-footer-content]',\n standalone: true\n})\nexport class NotificationFooterContentDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__footer-content')\n fdNotificationTitleClass = true;\n}\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\nexport type IndicatorStates = 'success' | 'error' | 'warning' | 'information';\n\n@Directive({\n selector: '[fdNotificationIndicator], [fd-notification-indicator]',\n standalone: true\n})\nexport class NotificationIndicatorDirective implements OnChanges, OnInit, CssClassBuilder {\n /** Type of the indicator. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: IndicatorStates;\n\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-notification__indicator', this.type ? 'fd-notification__indicator--' + this.type : '', this.class];\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationLimitDescription], [fd-notification-limit-description]',\n standalone: true\n})\nexport class NotificationLimitDescriptionDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__limit--description')\n fdNotificationDescriptionClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationLimitTitle], [fd-notification-limit-title]',\n standalone: true\n})\nexport class NotificationLimitTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__limit--title')\n fdNotificationTitleClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationParagraph], [fd-notification-paragraph]',\n standalone: true\n})\nexport class NotificationParagraphDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__paragraph')\n fdNotificationParagraphClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationSeparator], [fd-notification-separator]',\n standalone: true\n})\nexport class NotificationSeparatorDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__separator')\n fdNotificationSeparatorClass = true;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationTitle], [fd-notification-title]',\n standalone: true\n})\nexport class NotificationTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__title')\n fdNotificationTitleClass = true;\n\n /** Whether the title is unread. */\n @Input()\n @HostBinding('class.fd-notification__title--unread')\n unread = false;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostBinding,\n QueryList,\n ViewEncapsulation\n} 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})\nexport class NotificationActionsComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__actions')\n fdNotificationActionsClass = true;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT)\n buttons: QueryList<ButtonComponent>;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nlet notificationHeaderCounter = 0;\n@Component({\n selector: 'fd-notification-header',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__header')\n fdNotificationHeaderClass = true;\n\n /** Unique id for the notification header */\n @HostBinding('attr.id')\n @Input()\n uniqueId = `fd-notification-header-${++notificationHeaderCounter}`;\n}\n","import { AfterViewInit, Directive, ContentChildren, OnDestroy, QueryList, Renderer2 } from '@angular/core';\nimport { merge, Observable, Subject } from 'rxjs';\nimport { debounceTime, filter, startWith, switchMap, takeUntil } 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, OnDestroy {\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 private readonly onDestroy$ = new Subject<void>();\n\n /** @hidden */\n constructor(private renderer: 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 takeUntil(this.onDestroy$)\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 /** @hidden */\n ngOnDestroy(): void {\n this.onDestroy$.next();\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, 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})\nexport class NotificationBodyComponent extends NotificationGroupBaseDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__body')\n fdNotificationBodyClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, 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})\nexport class NotificationContentComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__content')\n fdNotificationFooterClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-footer',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationFooterComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__footer')\n fdNotificationFooterClass = true;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n ContentDensityDirective,\n ContentDensityMode,\n LocalContentDensityMode\n} from '@fundamental-ngx/core/content-density';\nimport { Subscription } from 'rxjs';\nimport { NotificationGroupBaseDirective } from '../notification-utils/notification-group-base';\n\n@Component({\n selector: 'fd-notification-group-header',\n template: `\n <button\n fd-button\n fdType=\"transparent\"\n role=\"button\"\n [fdContentDensity]=\"_expandButtonContentDensity\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-describedby]=\"expandDescribedBy\"\n [attr.aria-label]=\"expandAriaLabel\"\n [attr.aria-labelledby]=\"expandAriaLabelledBy\"\n (click)=\"toggleExpand()\"\n >\n <i [class]=\"'sap-icon--' + _getButtonIcon()\"></i>\n </button>\n <div class=\"fd-notification__content\">\n <ng-content select=\"fd-notification-header\"></ng-content>\n </div>\n <ng-content select=\"fd-notification-actions\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ButtonComponent, ContentDensityDirective]\n})\nexport class NotificationGroupHeaderComponent extends NotificationGroupBaseDirective implements OnInit, OnDestroy {\n /** @hidden */\n @HostBinding('class.fd-notification__group-header')\n fdNotificationGroupHeaderClass = true;\n\n /** @hidden */\n get expandDescribedBy(): string {\n return this.notificationHeader?.first?.uniqueId;\n }\n\n /** @hidden */\n _rtl = false;\n\n /** @hidden */\n _subscriptions = new Subscription();\n\n /** Whether the expand button is in compact mode */\n @Input()\n expandCompact: boolean;\n\n /** aria-label of the expand button */\n @Input()\n expandAriaLabel: Nullable<string>;\n\n /** aria-labelledby of the expand button */\n @Input()\n expandAriaLabelledBy: Nullable<string>;\n\n /** Whether the button is in expanded state */\n @Input()\n expanded = true;\n\n /** Output event triggered when the Expand button is clicked */\n @Output()\n expandedChange = new EventEmitter<boolean>();\n\n /** @hidden */\n get _expandButtonContentDensity(): LocalContentDensityMode {\n return typeof this.expandCompact === 'undefined' ? 'global' : ContentDensityMode.COMPACT;\n }\n\n /** @hidden */\n constructor(private _cdRef: ChangeDetectorRef, @Optional() private _rtlService: RtlService, renderer: Renderer2) {\n super(renderer);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._listenRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** Method that toggles the Notification list content */\n toggleExpand(): void {\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n }\n\n /** @hidden */\n _getButtonIcon(): string {\n return this.expanded ? 'slim-arrow-down' : this._rtl ? 'slim-arrow-left' : 'slim-arrow-right';\n }\n\n /** @hidden */\n private _listenRtl(): void {\n if (this._rtlService) {\n this._subscriptions.add(\n this._rtlService.rtl.subscribe((rtl) => {\n this._rtl = rtl;\n this._cdRef.markForCheck();\n })\n );\n }\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n forwardRef,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NotificationGroupHeaderComponent } from '../notification-group-header/notification-group-header.component';\n\n@Component({\n selector: 'fd-notification-group-list',\n template: `\n <ng-content select=\"fd-notification-group-header\"></ng-content>\n <ng-container *ngIf=\"expanded\">\n <ng-content></ng-content>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf]\n})\nexport class NotificationGroupListComponent implements AfterContentInit, OnDestroy {\n /** @hidden */\n @ContentChild(forwardRef(() => NotificationGroupHeaderComponent))\n groupHeader: NotificationGroupHeaderComponent;\n\n /** Whether the Notification list content is expanded */\n expanded: boolean;\n\n /** @hidden */\n private readonly _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private readonly _changeDetectorRef: ChangeDetectorRef) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.expanded = this.groupHeader.expanded;\n\n this._subscriptions.add(\n this.groupHeader.expandedChange.subscribe((value) => {\n this.expanded = value;\n this._changeDetectorRef.detectChanges();\n })\n );\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { BasePopoverClass, FD_POPOVER_COMPONENT } from '@fundamental-ngx/core/popover';\n\n@Component({\n selector: 'fd-notification-group',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationGroupComponent implements OnChanges, OnInit, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Whether the Notification Group is in mobile mode */\n @Input() mobile = false;\n\n /** User defined width for the notification */\n @HostBinding('style.width')\n @Input()\n width: string;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n @Optional() @Inject(FD_POPOVER_COMPONENT) private _popover: BasePopoverClass\n ) {\n if (this._popover) {\n this._popover.focusTrapped = true;\n this._popover.focusAutoCapture = true;\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden CssClassBuilder interface implementation\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-notification fd-notification--group fd-notification-custom-block',\n this.mobile ? 'fd-notification--mobile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-limit',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationLimitComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__limit')\n fdNotificationLimitClass = true;\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 /** Whether the notification is in mobile mode. */\n mobile?: boolean;\n\n /**\n * Whether the notification should trap focus within itself.\n * @default true\n */\n shouldTrapFocus?: 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 /** @hidden */\n protected readonly _afterClosed = new Subject<P | undefined>();\n\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 public afterClosed: Observable<any> = this._afterClosed.asObservable();\n\n /** Data passed from the calling component to the content.*/\n public data: T;\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 { ESCAPE } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n TemplateRef,\n Type,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { AbstractFdNgxClass, KeyUtil, Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FD_POPOVER_COMPONENT, PopoverComponent } from '@fundamental-ngx/core/popover';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { filter, take, takeUntil } from 'rxjs/operators';\nimport { NotificationConfig } from '../notification-utils/notification-config';\nimport { NotificationRef } from '../notification-utils/notification-ref';\n\n@Component({\n selector: 'fd-notification',\n template: `\n <ng-content></ng-content>\n <ng-container #vc></ng-container>\n `,\n styleUrls: ['./notification.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-label]': 'ariaLabel',\n '[attr.dir]': '_dir',\n role: 'alertdialog',\n '[attr.id]': 'id'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationComponent extends AbstractFdNgxClass implements OnInit, AfterViewInit, OnDestroy {\n /** @hidden */\n @ViewChild('vc', { read: ViewContainerRef })\n containerRef: ViewContainerRef;\n\n /**\n * @hidden\n */\n _dir: string;\n\n /** User defined width for the notification */\n @HostBinding('style.width')\n @Input()\n width: string;\n\n /** Whether the notificatioon is in mobile mode */\n @Input() mobile: boolean;\n\n /** ID of the notification */\n id: string;\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: Nullable<string>;\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>;\n\n /** @hidden */\n private readonly _onDestroy$ = new Subject<void>();\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 @HostBinding('class.fd-notification--in-dialog')\n get _inDialog(): boolean {\n return this._popover?.mobile;\n }\n\n /** @hidden */\n constructor(\n private _elRef: ElementRef,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _cdRef: ChangeDetectorRef,\n private _router: Router,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n @Optional() private _notificationConfig: NotificationConfig,\n @Optional() private _notificationRef: NotificationRef,\n @Optional() private _rtlService: RtlService,\n @Optional() @Inject(FD_POPOVER_COMPONENT) private _popover: PopoverComponent\n ) {\n super(_elRef);\n\n this._setNotificationConfig(this._notificationConfig);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._rtlService?.rtl.pipe(takeUntil(this._onDestroy$)).subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._cdRef.markForCheck();\n });\n\n this._listenAndCloseOnNavigation();\n this._setProperties();\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 this._afterViewInit$.next(true);\n this._cdRef.detectChanges();\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), takeUntil(this._onDestroy$)).toPromise();\n if (!this._focusTrap) {\n this._focusTrap = this._focusTrapFactory.create(this._elRef.nativeElement);\n }\n return this._focusTrap.focusFirstTabbableElementWhenReady();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\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 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((event) => event instanceof NavigationStart && this.closeOnNavigation),\n takeUntil(this._onDestroy$)\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 _setProperties(): void {\n this._addClassToElement('fd-notification');\n this._addClassToElement('fd-notification-custom-block');\n if (this.mobile) {\n this._addClassToElement('fd-notification--mobile');\n }\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: 4.75rem;\n right: 2rem;\n }\n `\n ],\n host: {\n '[class.fd-notification-container]': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class NotificationContainer {}\n","import { ComponentRef, Inject, Injectable, Injector, Optional, TemplateRef, Type } from '@angular/core';\nimport { DynamicComponentService, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { NotificationComponent } from '../notification/notification.component';\nimport { NotificationContainer } from '../notification-utils/notification-container';\nimport { NotificationConfig } from '../notification-utils/notification-config';\nimport { NotificationRef } from '../notification-utils/notification-ref';\nimport { DOCUMENT } from '@angular/common';\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(defaultBehaviourOnClose, defaultBehaviourOnClose);\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';\nimport { NotificationFooterContentDirective } from './directives/notification-footer-content.directive';\nimport { NotificationIndicatorDirective } from './directives/notification-indicator.directive';\nimport { NotificationLimitDescriptionDirective } from './directives/notification-limit-description.directive';\nimport { NotificationLimitTitleDirective } from './directives/notification-limit-title.directive';\nimport { NotificationParagraphDirective } from './directives/notification-paragraph.directive';\nimport { NotificationSeparatorDirective } from './directives/notification-separator.directive';\nimport { NotificationTitleDirective } from './directives/notification-title.directive';\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 { 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 { NotificationLimitComponent } from './notification-limit/notification-limit.component';\nimport { NotificationService } from './notification-service/notification.service';\nimport { NotificationContainer } from './notification-utils/notification-container';\nimport { NotificationComponent } from './notification/notification.component';\n\nconst components = [\n NotificationComponent,\n NotificationHeaderComponent,\n NotificationFooterComponent,\n NotificationBodyComponent,\n NotificationContainer,\n NotificationActionsComponent,\n NotificationContentComponent,\n NotificationLimitComponent,\n NotificationGroupHeaderComponent,\n NotificationGroupComponent,\n NotificationGroupListComponent,\n NotificationTitleDirective,\n NotificationIndicatorDirective,\n NotificationParagraphDirective,\n NotificationFooterContentDirective,\n NotificationSeparatorDirective,\n NotificationLimitTitleDirective,\n NotificationLimitDescriptionDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components],\n providers: [DynamicComponentService, NotificationService]\n})\nexport class NotificationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Directive, Input, inject, INJECTOR, HostBinding, ContentChild, Inject, Optional, HostListener, Injectable, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ContentChildren, ViewChildren, ViewChild, ElementRef, NgModule } from '@angular/core';
3
3
  import { FocusKeyManager } from '@angular/cdk/a11y';
4
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
5
  import { TAB, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';
5
6
  import { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';
6
7
  import * as i1 from '@fundamental-ngx/cdk/utils';
@@ -426,7 +427,7 @@ class OverflowLayoutService {
426
427
  let fittingElmCount = 0;
427
428
  let fittingElmsWidth = 0;
428
429
  let shouldHideItems = false;
429
- const showMoreContainerWidth = Math.ceil(this._getElementWidth(this.config.showMoreContainer));
430
+ const showMoreContainerWidth = Math.ceil(this.config.showMoreContainer ? this._getElementWidth(this.config.showMoreContainer) : 0);
430
431
  let layoutWidth = containerWidth - showMoreContainerWidth;
431
432
  // Try to find all forced visible items
432
433
  const forcedItemsIndexes = this._getForcedItemsIndexes();
@@ -541,7 +542,7 @@ class OverflowLayoutComponent {
541
542
  items: this._items.toArray(),
542
543
  focusableItems: this._focusableOverflowItems.toArray(),
543
544
  itemsWrapper: this._itemsWrapper.nativeElement,
544
- showMoreContainer: this._showMoreContainer.nativeElement,
545
+ showMoreContainer: this._showMoreContainer?.nativeElement,
545
546
  layoutContainerElement: this._layoutContainer.nativeElement,
546
547
  maxVisibleItems: this.maxVisibleItems,
547
548
  direction: this.showMorePosition,
@@ -562,6 +563,8 @@ class OverflowLayoutComponent {
562
563
  this.navigationTrigger = 'keyup';
563
564
  /** Direction of the fitting items calculation. */
564
565
  this.showMorePosition = 'right';
566
+ /** Whether the show more button should be rendered */
567
+ this.renderShowMoreButton = true;
565
568
  /** Whether to render hidden items in reverse order. */
566
569
  this.reverseHiddenItems = false;
567
570
  /** Whether to enable keyboard navigation. */
@@ -574,6 +577,10 @@ class OverflowLayoutComponent {
574
577
  * Event, triggered when amount of hidden items has been changed.
575
578
  */
576
579
  this.hiddenItemsCount = new EventEmitter();
580
+ /**
581
+ * Event, triggered when hidden items have been changed.
582
+ */
583
+ this.hiddenItemsChange = new EventEmitter();
577
584
  /** @hidden */
578
585
  this._allItems = [];
579
586
  /** @hidden */
@@ -611,6 +618,7 @@ class OverflowLayoutComponent {
611
618
  this._subscription.add(this._overflowLayoutService.onResult.subscribe((result) => {
612
619
  this._hiddenItems = result.hiddenItems;
613
620
  this._showMore = result.showMore;
621
+ this.hiddenItemsChange.emit(result.hiddenItems);
614
622
  this.hiddenItemsCount.emit(result.hiddenItems.length);
615
623
  this.visibleItemsCount.emit(this._allItems.filter((i) => !i.hidden).length);
616
624
  this._cdr.detectChanges();
@@ -717,13 +725,13 @@ class OverflowLayoutComponent {
717
725
  }));
718
726
  }
719
727
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: OverflowLayoutComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: OverflowLayoutService }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
720
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: OverflowLayoutComponent, isStandalone: true, selector: "fd-overflow-layout", inputs: { maxVisibleItems: "maxVisibleItems", navigationTrigger: "navigationTrigger", showMorePosition: "showMorePosition", reverseHiddenItems: "reverseHiddenItems", enableKeyboardNavigation: "enableKeyboardNavigation", moreItemsButtonText: "moreItemsButtonText" }, outputs: { visibleItemsCount: "visibleItemsCount", hiddenItemsCount: "hiddenItemsCount" }, host: { properties: { "class": "this._initialClass" } }, providers: [
728
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.7", type: OverflowLayoutComponent, isStandalone: true, selector: "fd-overflow-layout", inputs: { maxVisibleItems: "maxVisibleItems", navigationTrigger: "navigationTrigger", showMorePosition: "showMorePosition", renderShowMoreButton: ["renderShowMoreButton", "renderShowMoreButton", coerceBooleanProperty], reverseHiddenItems: "reverseHiddenItems", enableKeyboardNavigation: "enableKeyboardNavigation", moreItemsButtonText: "moreItemsButtonText" }, outputs: { visibleItemsCount: "visibleItemsCount", hiddenItemsCount: "hiddenItemsCount", hiddenItemsChange: "hiddenItemsChange" }, host: { properties: { "class": "this._initialClass" } }, providers: [
721
729
  {
722
730
  provide: FD_OVERFLOW_CONTAINER,
723
731
  useExisting: OverflowLayoutComponent
724
732
  },
725
733
  OverflowLayoutService
726
- ], queries: [{ propertyName: "_moreButton", first: true, predicate: FD_OVERFLOW_EXPAND, descendants: true }, { propertyName: "_items", predicate: FD_OVERFLOW_ITEM_REF, descendants: true }, { propertyName: "_focusableOverflowItems", predicate: FD_OVERFLOW_FOCUSABLE_ITEM, descendants: true }], viewQueries: [{ propertyName: "_itemsWrapper", first: true, predicate: ["itemsWrapper"], descendants: true }, { propertyName: "_layoutContainer", first: true, predicate: ["layoutContainer"], descendants: true }, { propertyName: "_showMoreContainer", first: true, predicate: ["showMoreContainer"], descendants: true }, { propertyName: "_visibleItems", predicate: OverflowLayoutItemContainerDirective, descendants: true }], ngImport: i0, template: "<ng-template [ngIf]=\"showMorePosition === 'left'\">\n <ng-template [ngTemplateOutlet]=\"showMore\"></ng-template>\n</ng-template>\n\n<div class=\"fd-overflow-layout__items-container\" #layoutContainer>\n <div class=\"fd-overflow-layout__items-wrapper\">\n <div class=\"fd-overflow-layout__items\" #itemsWrapper>\n <ng-container *ngFor=\"let item of _allItems; trackBy: _itemsTrackFn\">\n <div\n fdOverflowLayoutItemContainer\n [first]=\"item.first\"\n [last]=\"item.last\"\n [softHidden]=\"item.softHidden\"\n >\n <ng-container *fdOverflowItemContainerRef>\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.hidden,\n index: item.index,\n first: item.first,\n last: item.last,\n globalIndex: item.globalIndex,\n injector: item.injector\n }\"\n ></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template [ngIf]=\"showMorePosition === 'right'\">\n <ng-template [ngTemplateOutlet]=\"showMore\"></ng-template>\n</ng-template>\n\n<ng-template #showMore>\n <div class=\"fd-overflow-layout__more\" [style.display]=\"_showMore ? 'block' : 'none'\" #showMoreContainer>\n <ng-template #defaultShowMore>\n <fd-popover\n (isOpenChange)=\"_onPopoverStateChange($event)\"\n placement=\"bottom\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [maxWidth]=\"312\"\n >\n <fd-popover-control>\n <button fd-button [fdMenu]=\"true\" fdType=\"transparent\">\n {{ 'coreOverflowLayout.moreItemsButton' | fdTranslate : { count: _hiddenItems.length } }}\n </button>\n </fd-popover-control>\n <fd-popover-body>\n <div fdOverflowLayoutPopoverContent [items]=\"_hiddenItems\">\n <ng-container *ngFor=\"let item of _hiddenItems\">\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.hidden,\n index: item.index,\n first: item.first,\n last: item.last,\n globalIndex: item.globalIndex,\n injector: item.injector\n }\"\n ></ng-template>\n </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"_moreButton?.templateRef || defaultShowMore\"\n [ngTemplateOutletContext]=\"{ $implicit: _hiddenItems }\"\n ></ng-template>\n </div>\n</ng-template>\n", styles: [".fd-overflow-layout{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;width:100%;justify-content:space-between}.fd-overflow-layout:before,.fd-overflow-layout:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;display:inline-flex}.fd-overflow-layout__items:before,.fd-overflow-layout__items:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__more{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;flex-shrink:0}.fd-overflow-layout__more:before,.fd-overflow-layout__more:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;position:relative}.fd-overflow-layout__items-container:before,.fd-overflow-layout__items-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-wrapper{display:inline-flex}.fd-overflow-layout__popover-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:block;white-space:normal}.fd-overflow-layout__popover-container:before,.fd-overflow-layout__popover-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__item--soft-hidden{opacity:0!important;position:absolute!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: OverflowLayoutItemContainerDirective, selector: "[fdOverflowLayoutItemContainer]", inputs: ["last", "first", "softHidden"] }, { kind: "directive", type: OverflowItemContainerRefDirective, selector: "[fdOverflowItemContainerRef]" }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: OverflowLayoutPopoverContentDirective, selector: "[fdOverflowLayoutPopoverContent]", inputs: ["items"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
734
+ ], queries: [{ propertyName: "_moreButton", first: true, predicate: FD_OVERFLOW_EXPAND, descendants: true }, { propertyName: "_items", predicate: FD_OVERFLOW_ITEM_REF, descendants: true }, { propertyName: "_focusableOverflowItems", predicate: FD_OVERFLOW_FOCUSABLE_ITEM, descendants: true }], viewQueries: [{ propertyName: "_itemsWrapper", first: true, predicate: ["itemsWrapper"], descendants: true }, { propertyName: "_layoutContainer", first: true, predicate: ["layoutContainer"], descendants: true }, { propertyName: "_showMoreContainer", first: true, predicate: ["showMoreContainer"], descendants: true }, { propertyName: "_visibleItems", predicate: OverflowLayoutItemContainerDirective, descendants: true }], ngImport: i0, template: "<ng-template [ngIf]=\"renderShowMoreButton && showMorePosition === 'left'\">\n <ng-template [ngTemplateOutlet]=\"showMore\"></ng-template>\n</ng-template>\n\n<div class=\"fd-overflow-layout__items-container\" #layoutContainer>\n <div class=\"fd-overflow-layout__items-wrapper\">\n <div class=\"fd-overflow-layout__items\" #itemsWrapper>\n <ng-container *ngFor=\"let item of _allItems; trackBy: _itemsTrackFn\">\n <div\n fdOverflowLayoutItemContainer\n [first]=\"item.first\"\n [last]=\"item.last\"\n [softHidden]=\"item.softHidden\"\n >\n <ng-container *fdOverflowItemContainerRef>\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.hidden,\n index: item.index,\n first: item.first,\n last: item.last,\n globalIndex: item.globalIndex,\n injector: item.injector\n }\"\n ></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template [ngIf]=\"renderShowMoreButton && showMorePosition === 'right'\">\n <ng-template [ngTemplateOutlet]=\"showMore\"></ng-template>\n</ng-template>\n\n<ng-template #showMore>\n <div class=\"fd-overflow-layout__more\" [style.display]=\"_showMore ? 'block' : 'none'\" #showMoreContainer>\n <ng-template #defaultShowMore>\n <fd-popover\n (isOpenChange)=\"_onPopoverStateChange($event)\"\n placement=\"bottom\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [maxWidth]=\"312\"\n >\n <fd-popover-control>\n <button fd-button [fdMenu]=\"true\" fdType=\"transparent\">\n {{ 'coreOverflowLayout.moreItemsButton' | fdTranslate : { count: _hiddenItems.length } }}\n </button>\n </fd-popover-control>\n <fd-popover-body>\n <div fdOverflowLayoutPopoverContent [items]=\"_hiddenItems\">\n <ng-container *ngFor=\"let item of _hiddenItems\">\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.hidden,\n index: item.index,\n first: item.first,\n last: item.last,\n globalIndex: item.globalIndex,\n injector: item.injector\n }\"\n ></ng-template>\n </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"_moreButton?.templateRef || defaultShowMore\"\n [ngTemplateOutletContext]=\"{ $implicit: _hiddenItems }\"\n ></ng-template>\n </div>\n</ng-template>\n", styles: [".fd-overflow-layout{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;width:100%;justify-content:space-between}.fd-overflow-layout:before,.fd-overflow-layout:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;display:inline-flex}.fd-overflow-layout__items:before,.fd-overflow-layout__items:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__more{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;flex-shrink:0}.fd-overflow-layout__more:before,.fd-overflow-layout__more:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;position:relative}.fd-overflow-layout__items-container:before,.fd-overflow-layout__items-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-wrapper{display:inline-flex}.fd-overflow-layout__popover-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:block;white-space:normal}.fd-overflow-layout__popover-container:before,.fd-overflow-layout__popover-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__item--soft-hidden{opacity:0!important;position:absolute!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: OverflowLayoutItemContainerDirective, selector: "[fdOverflowLayoutItemContainer]", inputs: ["last", "first", "softHidden"] }, { kind: "directive", type: OverflowItemContainerRefDirective, selector: "[fdOverflowItemContainerRef]" }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: OverflowLayoutPopoverContentDirective, selector: "[fdOverflowLayoutPopoverContent]", inputs: ["items"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
727
735
  }
728
736
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: OverflowLayoutComponent, decorators: [{
729
737
  type: Component,
@@ -745,7 +753,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
745
753
  PopoverBodyComponent,
746
754
  OverflowLayoutPopoverContentDirective,
747
755
  FdTranslatePipe
748
- ], template: "<ng-template [ngIf]=\"showMorePosition === 'left'\">\n <ng-template [ngTemplateOutlet]=\"showMore\"></ng-template>\n</ng-template>\n\n<div class=\"fd-overflow-layout__items-container\" #layoutContainer>\n <div class=\"fd-overflow-layout__items-wrapper\">\n <div class=\"fd-overflow-layout__items\" #itemsWrapper>\n <ng-container *ngFor=\"let item of _allItems; trackBy: _itemsTrackFn\">\n <div\n fdOverflowLayoutItemContainer\n [first]=\"item.first\"\n [last]=\"item.last\"\n [softHidden]=\"item.softHidden\"\n >\n <ng-container *fdOverflowItemContainerRef>\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.hidden,\n index: item.index,\n first: item.first,\n last: item.last,\n globalIndex: item.globalIndex,\n injector: item.injector\n }\"\n ></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template [ngIf]=\"showMorePosition === 'right'\">\n <ng-template [ngTemplateOutlet]=\"showMore\"></ng-template>\n</ng-template>\n\n<ng-template #showMore>\n <div class=\"fd-overflow-layout__more\" [style.display]=\"_showMore ? 'block' : 'none'\" #showMoreContainer>\n <ng-template #defaultShowMore>\n <fd-popover\n (isOpenChange)=\"_onPopoverStateChange($event)\"\n placement=\"bottom\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [maxWidth]=\"312\"\n >\n <fd-popover-control>\n <button fd-button [fdMenu]=\"true\" fdType=\"transparent\">\n {{ 'coreOverflowLayout.moreItemsButton' | fdTranslate : { count: _hiddenItems.length } }}\n </button>\n </fd-popover-control>\n <fd-popover-body>\n <div fdOverflowLayoutPopoverContent [items]=\"_hiddenItems\">\n <ng-container *ngFor=\"let item of _hiddenItems\">\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.hidden,\n index: item.index,\n first: item.first,\n last: item.last,\n globalIndex: item.globalIndex,\n injector: item.injector\n }\"\n ></ng-template>\n </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"_moreButton?.templateRef || defaultShowMore\"\n [ngTemplateOutletContext]=\"{ $implicit: _hiddenItems }\"\n ></ng-template>\n </div>\n</ng-template>\n", styles: [".fd-overflow-layout{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;width:100%;justify-content:space-between}.fd-overflow-layout:before,.fd-overflow-layout:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;display:inline-flex}.fd-overflow-layout__items:before,.fd-overflow-layout__items:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__more{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;flex-shrink:0}.fd-overflow-layout__more:before,.fd-overflow-layout__more:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;position:relative}.fd-overflow-layout__items-container:before,.fd-overflow-layout__items-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-wrapper{display:inline-flex}.fd-overflow-layout__popover-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:block;white-space:normal}.fd-overflow-layout__popover-container:before,.fd-overflow-layout__popover-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__item--soft-hidden{opacity:0!important;position:absolute!important}\n"] }]
756
+ ], template: "<ng-template [ngIf]=\"renderShowMoreButton && showMorePosition === 'left'\">\n <ng-template [ngTemplateOutlet]=\"showMore\"></ng-template>\n</ng-template>\n\n<div class=\"fd-overflow-layout__items-container\" #layoutContainer>\n <div class=\"fd-overflow-layout__items-wrapper\">\n <div class=\"fd-overflow-layout__items\" #itemsWrapper>\n <ng-container *ngFor=\"let item of _allItems; trackBy: _itemsTrackFn\">\n <div\n fdOverflowLayoutItemContainer\n [first]=\"item.first\"\n [last]=\"item.last\"\n [softHidden]=\"item.softHidden\"\n >\n <ng-container *fdOverflowItemContainerRef>\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.hidden,\n index: item.index,\n first: item.first,\n last: item.last,\n globalIndex: item.globalIndex,\n injector: item.injector\n }\"\n ></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template [ngIf]=\"renderShowMoreButton && showMorePosition === 'right'\">\n <ng-template [ngTemplateOutlet]=\"showMore\"></ng-template>\n</ng-template>\n\n<ng-template #showMore>\n <div class=\"fd-overflow-layout__more\" [style.display]=\"_showMore ? 'block' : 'none'\" #showMoreContainer>\n <ng-template #defaultShowMore>\n <fd-popover\n (isOpenChange)=\"_onPopoverStateChange($event)\"\n placement=\"bottom\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [maxWidth]=\"312\"\n >\n <fd-popover-control>\n <button fd-button [fdMenu]=\"true\" fdType=\"transparent\">\n {{ 'coreOverflowLayout.moreItemsButton' | fdTranslate : { count: _hiddenItems.length } }}\n </button>\n </fd-popover-control>\n <fd-popover-body>\n <div fdOverflowLayoutPopoverContent [items]=\"_hiddenItems\">\n <ng-container *ngFor=\"let item of _hiddenItems\">\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.hidden,\n index: item.index,\n first: item.first,\n last: item.last,\n globalIndex: item.globalIndex,\n injector: item.injector\n }\"\n ></ng-template>\n </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"_moreButton?.templateRef || defaultShowMore\"\n [ngTemplateOutletContext]=\"{ $implicit: _hiddenItems }\"\n ></ng-template>\n </div>\n</ng-template>\n", styles: [".fd-overflow-layout{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;width:100%;justify-content:space-between}.fd-overflow-layout:before,.fd-overflow-layout:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;display:inline-flex}.fd-overflow-layout__items:before,.fd-overflow-layout__items:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__more{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;flex-shrink:0}.fd-overflow-layout__more:before,.fd-overflow-layout__more:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;position:relative}.fd-overflow-layout__items-container:before,.fd-overflow-layout__items-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__items-wrapper{display:inline-flex}.fd-overflow-layout__popover-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:block;white-space:normal}.fd-overflow-layout__popover-container:before,.fd-overflow-layout__popover-container:after{box-sizing:inherit;font-size:inherit}.fd-overflow-layout__item--soft-hidden{opacity:0!important;position:absolute!important}\n"] }]
749
757
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: OverflowLayoutService }, { type: i1.RtlService, decorators: [{
750
758
  type: Optional
751
759
  }] }]; }, propDecorators: { maxVisibleItems: [{
@@ -754,6 +762,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
754
762
  type: Input
755
763
  }], showMorePosition: [{
756
764
  type: Input
765
+ }], renderShowMoreButton: [{
766
+ type: Input,
767
+ args: [{ transform: coerceBooleanProperty }]
757
768
  }], reverseHiddenItems: [{
758
769
  type: Input
759
770
  }], enableKeyboardNavigation: [{
@@ -762,6 +773,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
762
773
  type: Output
763
774
  }], hiddenItemsCount: [{
764
775
  type: Output
776
+ }], hiddenItemsChange: [{
777
+ type: Output
765
778
  }], _items: [{
766
779
  type: ContentChildren,
767
780
  args: [FD_OVERFLOW_ITEM_REF, { descendants: true }]