@fundamental-ngx/core 0.47.0-rc.9 → 0.47.0

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 (150) 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/feed-input/directives/feed-input-avatar.directive.mjs +2 -2
  17. package/esm2022/feed-input/directives/feed-input-textarea.directive.mjs +16 -19
  18. package/esm2022/form/form-control/form-control.component.mjs +3 -3
  19. package/esm2022/form/form-label/form-label.component.mjs +5 -6
  20. package/esm2022/input-group/input-group.component.mjs +7 -5
  21. package/esm2022/menu/menu-mobile/menu-mobile.component.mjs +4 -5
  22. package/esm2022/message-box/directives/message-box-template.directive.mjs +3 -3
  23. package/esm2022/message-strip/message-strip.component.mjs +8 -10
  24. package/esm2022/multi-combobox/base-multi-combobox.class.mjs +4 -4
  25. package/esm2022/multi-combobox/helpers.mjs +1 -1
  26. package/esm2022/multi-combobox/multi-announcer/multi-announcer.directive.mjs +11 -5
  27. package/esm2022/multi-combobox/multi-combobox.component.mjs +6 -6
  28. package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +4 -5
  29. package/esm2022/multi-input/multi-input.component.mjs +3 -3
  30. package/esm2022/notification/notification-utils/notification-config.mjs +1 -1
  31. package/esm2022/notification/notification-utils/notification-ref.mjs +1 -1
  32. package/esm2022/object-attribute/fundamental-ngx-core-object-attribute.mjs +5 -0
  33. package/esm2022/object-attribute/index.mjs +3 -0
  34. package/esm2022/object-attribute/object-attribute.component.mjs +49 -0
  35. package/esm2022/object-attribute/object-attribute.module.mjs +16 -0
  36. package/esm2022/overflow-layout/overflow-layout.component.mjs +18 -5
  37. package/esm2022/overflow-layout/overflow-layout.service.mjs +3 -3
  38. package/esm2022/pagination/pagination.component.mjs +2 -2
  39. package/esm2022/popover/popover-mobile/popover-mobile.module.mjs +6 -6
  40. package/esm2022/radio/radio-button/radio-button.component.mjs +2 -2
  41. package/esm2022/select/select-mobile/select-mobile.module.mjs +5 -5
  42. package/esm2022/select/select.component.mjs +3 -3
  43. package/esm2022/select/select.interface.mjs +1 -1
  44. package/esm2022/shellbar/product-menu/product-menu.component.mjs +8 -11
  45. package/esm2022/shellbar/shellbar-action/shellbar-action.component.mjs +6 -7
  46. package/esm2022/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.mjs +6 -7
  47. package/esm2022/shellbar/user-menu/shellbar-user-menu.component.mjs +5 -6
  48. package/esm2022/splitter/splitter-pane-container/splitter-pane-container.component.mjs +1 -1
  49. package/esm2022/switch/switch.component.mjs +1 -1
  50. package/esm2022/tabs/tab-list.component.mjs +6 -3
  51. package/esm2022/tabs/tabs.module.mjs +5 -1
  52. package/esm2022/time/time-column/time-column.component.mjs +1 -1
  53. package/esm2022/time/time.component.mjs +1 -1
  54. package/esm2022/time-picker/time-picker.component.mjs +2 -2
  55. package/esm2022/token/tokenizer.component.mjs +6 -7
  56. package/esm2022/toolbar/toolbar.component.mjs +10 -12
  57. package/esm2022/tree/components/tree-item/tree-item.component.mjs +5 -6
  58. package/esm2022/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +4 -6
  59. package/esm2022/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +2 -2
  60. package/feed-input/directives/feed-input-textarea.directive.d.ts +7 -8
  61. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +1 -1
  62. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-core-calendar.mjs +9 -10
  64. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  65. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  66. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  67. package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
  68. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  69. package/fesm2022/fundamental-ngx-core-date-picker.mjs +3 -4
  70. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  71. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +8 -10
  72. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  73. package/fesm2022/fundamental-ngx-core-feed-input.mjs +16 -19
  74. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  75. package/fesm2022/fundamental-ngx-core-form.mjs +6 -7
  76. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  77. package/fesm2022/fundamental-ngx-core-input-group.mjs +6 -4
  78. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  79. package/fesm2022/fundamental-ngx-core-menu.mjs +3 -4
  80. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  81. package/fesm2022/fundamental-ngx-core-message-box.mjs +2 -2
  82. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  83. package/fesm2022/fundamental-ngx-core-message-strip.mjs +7 -9
  84. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  85. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +15 -10
  86. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  87. package/fesm2022/fundamental-ngx-core-multi-input.mjs +6 -7
  88. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  89. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  90. package/fesm2022/fundamental-ngx-core-object-attribute.mjs +69 -0
  91. package/fesm2022/fundamental-ngx-core-object-attribute.mjs.map +1 -0
  92. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +18 -5
  93. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  94. package/fesm2022/fundamental-ngx-core-pagination.mjs +1 -1
  95. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  96. package/fesm2022/fundamental-ngx-core-popover.mjs +4 -4
  97. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  98. package/fesm2022/fundamental-ngx-core-radio.mjs +1 -1
  99. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  100. package/fesm2022/fundamental-ngx-core-select.mjs +6 -6
  101. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  102. package/fesm2022/fundamental-ngx-core-shellbar.mjs +12 -14
  103. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  104. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  105. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  106. package/fesm2022/fundamental-ngx-core-tabs.mjs +9 -2
  107. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  108. package/fesm2022/fundamental-ngx-core-time-picker.mjs +1 -1
  109. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  110. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  111. package/fesm2022/fundamental-ngx-core-token.mjs +5 -6
  112. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-core-toolbar.mjs +7 -8
  114. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  115. package/fesm2022/fundamental-ngx-core-tree.mjs +4 -5
  116. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +6 -7
  118. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  119. package/form/form-control/form-control.component.d.ts +3 -3
  120. package/fundamental-ngx-core-v0.47.0.tgz +0 -0
  121. package/input-group/input-group.component.d.ts +10 -4
  122. package/message-box/directives/message-box-template.directive.d.ts +2 -2
  123. package/message-strip/message-strip.component.d.ts +2 -2
  124. package/multi-combobox/base-multi-combobox.class.d.ts +7 -7
  125. package/multi-combobox/helpers.d.ts +3 -3
  126. package/multi-combobox/multi-announcer/multi-announcer.directive.d.ts +4 -2
  127. package/notification/notification-utils/notification-config.d.ts +2 -2
  128. package/notification/notification-utils/notification-ref.d.ts +5 -5
  129. package/object-attribute/README.md +25 -0
  130. package/object-attribute/index.d.ts +2 -0
  131. package/object-attribute/object-attribute.component.d.ts +26 -0
  132. package/object-attribute/object-attribute.module.d.ts +7 -0
  133. package/overflow-layout/overflow-layout.component.d.ts +9 -1
  134. package/overflow-layout/overflow-layout.service.d.ts +1 -1
  135. package/package.json +9 -3
  136. package/pagination/pagination.component.d.ts +2 -2
  137. package/popover/popover-mobile/popover-mobile.module.d.ts +1 -1
  138. package/radio/radio-button/radio-button.component.d.ts +12 -12
  139. package/schematics/add-dependencies/index.js +4 -4
  140. package/select/select-mobile/select-mobile.module.d.ts +1 -1
  141. package/select/select.interface.d.ts +8 -8
  142. package/shellbar/product-menu/product-menu.component.d.ts +3 -3
  143. package/splitter/splitter-pane-container/splitter-pane-container.component.d.ts +1 -1
  144. package/switch/switch.component.d.ts +1 -1
  145. package/tabs/tab-list.component.d.ts +2 -0
  146. package/tabs/tabs.module.d.ts +4 -0
  147. package/time/time-column/time-column.component.d.ts +3 -3
  148. package/time/time.component.d.ts +1 -1
  149. package/toolbar/toolbar.component.d.ts +2 -2
  150. package/fundamental-ngx-core-v0.47.0-rc.9.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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"}
@@ -0,0 +1,69 @@
1
+ import { NgIf } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, NgModule } from '@angular/core';
4
+ import { warnOnce } from '@fundamental-ngx/cdk/utils';
5
+
6
+ class ObjectAttributeComponent {
7
+ /** @hidden */
8
+ constructor(_el, _renderer) {
9
+ this._el = _el;
10
+ this._renderer = _renderer;
11
+ /** Emitting object attribute link click event */
12
+ this.objectAttributeclick = new EventEmitter();
13
+ if (this._el.nativeElement.tagName === 'fdp-object-attribute') {
14
+ warnOnce('`fdp-object-attribute` selector is deprecated, use `fd-object-attribute` instead.');
15
+ }
16
+ }
17
+ /** @hidden */
18
+ ngOnInit() {
19
+ this._renderer.addClass(this._el.nativeElement, 'fd-object-attribute');
20
+ if (this.label !== null && this.label !== undefined) {
21
+ this._renderer.setProperty(this._el.nativeElement, 'aria-label', this.label);
22
+ this._renderer.setProperty(this._el.nativeElement, 'title', this.label);
23
+ }
24
+ }
25
+ /**
26
+ * Handles link click
27
+ */
28
+ onObjectAttributeClick(event) {
29
+ if (this.islink) {
30
+ this.objectAttributeclick.emit(event);
31
+ }
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ObjectAttributeComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ObjectAttributeComponent, isStandalone: true, selector: "fd-object-attribute, fdp-object-attribute", inputs: { label: "label", linkText: "linkText", islink: "islink", disabled: "disabled" }, outputs: { objectAttributeclick: "objectAttributeclick" }, ngImport: i0, template: "{{ label }}\n<ng-content></ng-content>\n<ng-container *ngIf=\"linkText !== null && linkText !== undefined\">\n <span\n (click)=\"onObjectAttributeClick($event)\"\n [attr.tabindex]=\"disabled ? '-1' : '0'\"\n [attr.aria-label]=\"linkText\"\n [attr.title]=\"linkText\"\n [class.fd-object-attribute--link]=\"islink\"\n role=\"link\"\n [attr.aria-disabled]=\"disabled\"\n (keydown.enter)=\"onObjectAttributeClick($event)\"\n >\n {{ linkText }}\n </span>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0-rc.7\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-object-attribute{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-object-attribute:after,.fd-object-attribute:before{box-sizing:inherit;font-size:inherit}.fd-object-attribute--link{color:var(--sapLinkColor);cursor:pointer;text-decoration:none}.fd-object-attribute--link:visited{color:var(--sapLink_Visited_Color)}.fd-object-attribute--link.is-hover,.fd-object-attribute--link:hover{color:var(--sapLink_Hover_Color);text-decoration:underline}.fd-object-attribute--link.is-focus,.fd-object-attribute--link:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.0625rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-object-attribute--link.is-disabled,.fd-object-attribute--link:disabled,.fd-object-attribute--link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ObjectAttributeComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'fd-object-attribute, fdp-object-attribute', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf], template: "{{ label }}\n<ng-content></ng-content>\n<ng-container *ngIf=\"linkText !== null && linkText !== undefined\">\n <span\n (click)=\"onObjectAttributeClick($event)\"\n [attr.tabindex]=\"disabled ? '-1' : '0'\"\n [attr.aria-label]=\"linkText\"\n [attr.title]=\"linkText\"\n [class.fd-object-attribute--link]=\"islink\"\n role=\"link\"\n [attr.aria-disabled]=\"disabled\"\n (keydown.enter)=\"onObjectAttributeClick($event)\"\n >\n {{ linkText }}\n </span>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0-rc.7\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-object-attribute{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-object-attribute:after,.fd-object-attribute:before{box-sizing:inherit;font-size:inherit}.fd-object-attribute--link{color:var(--sapLinkColor);cursor:pointer;text-decoration:none}.fd-object-attribute--link:visited{color:var(--sapLink_Visited_Color)}.fd-object-attribute--link.is-hover,.fd-object-attribute--link:hover{color:var(--sapLink_Hover_Color);text-decoration:underline}.fd-object-attribute--link.is-focus,.fd-object-attribute--link:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.0625rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-object-attribute--link.is-disabled,.fd-object-attribute--link:disabled,.fd-object-attribute--link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}\n"] }]
39
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { label: [{
40
+ type: Input
41
+ }], linkText: [{
42
+ type: Input
43
+ }], islink: [{
44
+ type: Input
45
+ }], disabled: [{
46
+ type: Input
47
+ }], objectAttributeclick: [{
48
+ type: Output
49
+ }] } });
50
+
51
+ class ObjectAttributeModule {
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ObjectAttributeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
53
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.7", ngImport: i0, type: ObjectAttributeModule, imports: [ObjectAttributeComponent], exports: [ObjectAttributeComponent] }); }
54
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ObjectAttributeModule }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ObjectAttributeModule, decorators: [{
57
+ type: NgModule,
58
+ args: [{
59
+ imports: [ObjectAttributeComponent],
60
+ exports: [ObjectAttributeComponent]
61
+ }]
62
+ }] });
63
+
64
+ /**
65
+ * Generated bundle index. Do not edit.
66
+ */
67
+
68
+ export { ObjectAttributeComponent, ObjectAttributeModule };
69
+ //# sourceMappingURL=fundamental-ngx-core-object-attribute.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fundamental-ngx-core-object-attribute.mjs","sources":["../../../../libs/core/src/lib/object-attribute/object-attribute.component.ts","../../../../libs/core/src/lib/object-attribute/object-attribute.component.html","../../../../libs/core/src/lib/object-attribute/object-attribute.module.ts","../../../../libs/core/src/lib/object-attribute/fundamental-ngx-core-object-attribute.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { warnOnce } from '@fundamental-ngx/cdk/utils';\n\n@Component({\n selector: 'fd-object-attribute, fdp-object-attribute',\n templateUrl: './object-attribute.component.html',\n styleUrls: ['./object-attribute.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf]\n})\nexport class ObjectAttributeComponent implements OnInit {\n /** label for the element */\n @Input()\n label: string;\n\n /** Text in link */\n @Input()\n linkText: string;\n\n /** Is linked object attribute */\n @Input()\n islink: boolean;\n\n /** To disabled linked object attribute */\n @Input()\n disabled: boolean;\n\n /** Emitting object attribute link click event */\n @Output()\n objectAttributeclick = new EventEmitter<Event>();\n\n /** @hidden */\n constructor(private _el: ElementRef<HTMLElement>, private _renderer: Renderer2) {\n if (this._el.nativeElement.tagName === 'fdp-object-attribute') {\n warnOnce('`fdp-object-attribute` selector is deprecated, use `fd-object-attribute` instead.');\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._renderer.addClass(this._el.nativeElement, 'fd-object-attribute');\n if (this.label !== null && this.label !== undefined) {\n this._renderer.setProperty(this._el.nativeElement, 'aria-label', this.label);\n this._renderer.setProperty(this._el.nativeElement, 'title', this.label);\n }\n }\n\n /**\n * Handles link click\n */\n onObjectAttributeClick(event: Event): void {\n if (this.islink) {\n this.objectAttributeclick.emit(event);\n }\n }\n}\n","{{ label }}\n<ng-content></ng-content>\n<ng-container *ngIf=\"linkText !== null && linkText !== undefined\">\n <span\n (click)=\"onObjectAttributeClick($event)\"\n [attr.tabindex]=\"disabled ? '-1' : '0'\"\n [attr.aria-label]=\"linkText\"\n [attr.title]=\"linkText\"\n [class.fd-object-attribute--link]=\"islink\"\n role=\"link\"\n [attr.aria-disabled]=\"disabled\"\n (keydown.enter)=\"onObjectAttributeClick($event)\"\n >\n {{ linkText }}\n </span>\n</ng-container>\n","import { NgModule } from '@angular/core';\n\nimport { ObjectAttributeComponent } from './object-attribute.component';\n\n@NgModule({\n imports: [ObjectAttributeComponent],\n exports: [ObjectAttributeComponent]\n})\nexport class ObjectAttributeModule {}\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 }]