@fundamental-ngx/core 0.34.2 → 0.34.3-rc.10

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 (174) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/package.json +1 -1
  8. package/busy-indicator/package.json +1 -1
  9. package/button/package.json +1 -1
  10. package/calendar/package.json +1 -1
  11. package/card/package.json +1 -1
  12. package/carousel/package.json +1 -1
  13. package/checkbox/package.json +1 -1
  14. package/combobox/package.json +1 -1
  15. package/date-picker/package.json +1 -1
  16. package/datetime/package.json +1 -1
  17. package/datetime-picker/package.json +1 -1
  18. package/dialog/package.json +1 -1
  19. package/dynamic-page/dynamic-page-content/dynamic-page-content.component.d.ts +5 -3
  20. package/dynamic-page/dynamic-page.component.d.ts +10 -3
  21. package/dynamic-page/esm2020/dynamic-page-content/dynamic-page-content.component.mjs +16 -8
  22. package/dynamic-page/esm2020/dynamic-page.component.mjs +21 -4
  23. package/dynamic-page/fesm2015/fundamental-ngx-core-dynamic-page.mjs +50 -26
  24. package/dynamic-page/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  25. package/dynamic-page/fesm2020/fundamental-ngx-core-dynamic-page.mjs +48 -26
  26. package/dynamic-page/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  27. package/dynamic-page/package.json +1 -1
  28. package/dynamic-side-content/package.json +1 -1
  29. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +16 -8
  30. package/esm2020/dynamic-page/dynamic-page.component.mjs +21 -4
  31. package/esm2020/facets/facet/facet.component.mjs +1 -1
  32. package/esm2020/form/form-label/form-label.component.mjs +10 -3
  33. package/esm2020/message-toast/constants.mjs +3 -0
  34. package/esm2020/message-toast/message-toast-service/message-toast.service.mjs +15 -7
  35. package/esm2020/message-toast/message-toast.module.mjs +43 -3
  36. package/esm2020/message-toast/public_api.mjs +2 -1
  37. package/esm2020/pagination/pagination.component.mjs +1 -1
  38. package/esm2020/popover/popover-container/popover-container.directive.mjs +36 -0
  39. package/esm2020/popover/popover-service/popover.service.mjs +12 -3
  40. package/esm2020/popover/popover.module.mjs +10 -5
  41. package/esm2020/popover/public_api.mjs +2 -1
  42. package/esm2020/quick-view/quick-view-group-item-label/quick-view-group-item-label.component.mjs +1 -1
  43. package/facets/esm2020/facet/facet.component.mjs +1 -1
  44. package/facets/fesm2015/fundamental-ngx-core-facets.mjs +1 -1
  45. package/facets/fesm2020/fundamental-ngx-core-facets.mjs +1 -1
  46. package/facets/package.json +1 -1
  47. package/feed-input/package.json +1 -1
  48. package/feed-list-item/package.json +1 -1
  49. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +50 -26
  50. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  51. package/fesm2015/fundamental-ngx-core-facets.mjs +1 -1
  52. package/fesm2015/fundamental-ngx-core-form.mjs +9 -2
  53. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  54. package/fesm2015/fundamental-ngx-core-message-toast.mjs +57 -9
  55. package/fesm2015/fundamental-ngx-core-message-toast.mjs.map +1 -1
  56. package/fesm2015/fundamental-ngx-core-pagination.mjs +1 -1
  57. package/fesm2015/fundamental-ngx-core-popover.mjs +51 -8
  58. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  59. package/fesm2015/fundamental-ngx-core-quick-view.mjs +1 -1
  60. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +48 -26
  61. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  62. package/fesm2020/fundamental-ngx-core-facets.mjs +1 -1
  63. package/fesm2020/fundamental-ngx-core-form.mjs +9 -2
  64. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  65. package/fesm2020/fundamental-ngx-core-message-toast.mjs +55 -9
  66. package/fesm2020/fundamental-ngx-core-message-toast.mjs.map +1 -1
  67. package/fesm2020/fundamental-ngx-core-pagination.mjs +1 -1
  68. package/fesm2020/fundamental-ngx-core-popover.mjs +50 -8
  69. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  70. package/fesm2020/fundamental-ngx-core-quick-view.mjs +1 -1
  71. package/file-uploader/package.json +1 -1
  72. package/fixed-card-layout/package.json +1 -1
  73. package/flexible-column-layout/package.json +1 -1
  74. package/form/esm2020/form-label/form-label.component.mjs +10 -3
  75. package/form/fesm2015/fundamental-ngx-core-form.mjs +9 -2
  76. package/form/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  77. package/form/fesm2020/fundamental-ngx-core-form.mjs +9 -2
  78. package/form/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  79. package/form/form-label/form-label.component.d.ts +3 -1
  80. package/form/package.json +1 -1
  81. package/formatted-text/package.json +1 -1
  82. package/grid-list/package.json +1 -1
  83. package/icon/package.json +1 -1
  84. package/illustrated-message/package.json +1 -1
  85. package/infinite-scroll/package.json +1 -1
  86. package/info-label/package.json +1 -1
  87. package/inline-help/package.json +1 -1
  88. package/input-group/package.json +1 -1
  89. package/layout-grid/package.json +1 -1
  90. package/layout-panel/package.json +1 -1
  91. package/link/package.json +1 -1
  92. package/list/package.json +1 -1
  93. package/menu/package.json +1 -1
  94. package/message-box/package.json +1 -1
  95. package/message-strip/package.json +1 -1
  96. package/message-toast/constants.d.ts +3 -0
  97. package/message-toast/esm2020/constants.mjs +3 -0
  98. package/message-toast/esm2020/message-toast-service/message-toast.service.mjs +15 -7
  99. package/message-toast/esm2020/message-toast.module.mjs +43 -3
  100. package/message-toast/esm2020/public_api.mjs +2 -1
  101. package/message-toast/fesm2015/fundamental-ngx-core-message-toast.mjs +57 -9
  102. package/message-toast/fesm2015/fundamental-ngx-core-message-toast.mjs.map +1 -1
  103. package/message-toast/fesm2020/fundamental-ngx-core-message-toast.mjs +55 -9
  104. package/message-toast/fesm2020/fundamental-ngx-core-message-toast.mjs.map +1 -1
  105. package/message-toast/message-toast-service/message-toast.service.d.ts +2 -1
  106. package/message-toast/message-toast.module.d.ts +14 -0
  107. package/message-toast/package.json +1 -1
  108. package/message-toast/public_api.d.ts +1 -0
  109. package/micro-process-flow/package.json +1 -1
  110. package/mobile-mode/package.json +1 -1
  111. package/multi-input/package.json +1 -1
  112. package/nested-list/package.json +1 -1
  113. package/notification/package.json +1 -1
  114. package/object-identifier/package.json +1 -1
  115. package/object-marker/package.json +1 -1
  116. package/object-number/package.json +1 -1
  117. package/object-status/package.json +1 -1
  118. package/package.json +2 -2
  119. package/pagination/esm2020/pagination.component.mjs +1 -1
  120. package/pagination/fesm2015/fundamental-ngx-core-pagination.mjs +1 -1
  121. package/pagination/fesm2020/fundamental-ngx-core-pagination.mjs +1 -1
  122. package/pagination/package.json +1 -1
  123. package/panel/package.json +1 -1
  124. package/popover/esm2020/popover-container/popover-container.directive.mjs +36 -0
  125. package/popover/esm2020/popover-service/popover.service.mjs +12 -3
  126. package/popover/esm2020/popover.module.mjs +10 -5
  127. package/popover/esm2020/public_api.mjs +2 -1
  128. package/popover/fesm2015/fundamental-ngx-core-popover.mjs +51 -8
  129. package/popover/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  130. package/popover/fesm2020/fundamental-ngx-core-popover.mjs +50 -8
  131. package/popover/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  132. package/popover/package.json +1 -1
  133. package/popover/popover-container/popover-container.directive.d.ts +17 -0
  134. package/popover/popover-service/popover.service.d.ts +4 -2
  135. package/popover/popover.module.d.ts +5 -4
  136. package/popover/public_api.d.ts +1 -0
  137. package/product-switch/package.json +1 -1
  138. package/progress-indicator/package.json +1 -1
  139. package/quick-view/esm2020/quick-view-group-item-label/quick-view-group-item-label.component.mjs +1 -1
  140. package/quick-view/fesm2015/fundamental-ngx-core-quick-view.mjs +1 -1
  141. package/quick-view/fesm2020/fundamental-ngx-core-quick-view.mjs +1 -1
  142. package/quick-view/package.json +1 -1
  143. package/radio/package.json +1 -1
  144. package/rating-indicator/package.json +1 -1
  145. package/resizable-card-layout/package.json +1 -1
  146. package/schematics/ng-add/index.js +1 -1
  147. package/scroll-spy/package.json +1 -1
  148. package/scrollbar/package.json +1 -1
  149. package/segmented-button/package.json +1 -1
  150. package/select/package.json +1 -1
  151. package/shared/package.json +1 -1
  152. package/shellbar/package.json +1 -1
  153. package/side-navigation/package.json +1 -1
  154. package/slider/package.json +1 -1
  155. package/split-button/package.json +1 -1
  156. package/splitter/package.json +1 -1
  157. package/status-indicator/package.json +1 -1
  158. package/step-input/package.json +1 -1
  159. package/switch/package.json +1 -1
  160. package/table/package.json +1 -1
  161. package/tabs/package.json +1 -1
  162. package/text/package.json +1 -1
  163. package/tile/package.json +1 -1
  164. package/time/package.json +1 -1
  165. package/time-picker/package.json +1 -1
  166. package/timeline/package.json +1 -1
  167. package/title/package.json +1 -1
  168. package/token/package.json +1 -1
  169. package/toolbar/package.json +1 -1
  170. package/tree/package.json +1 -1
  171. package/upload-collection/package.json +1 -1
  172. package/utils/package.json +1 -1
  173. package/vertical-navigation/package.json +1 -1
  174. package/wizard/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-dynamic-page.mjs","sources":["../../../../libs/core/src/lib/dynamic-page/constants.ts","../../../../libs/core/src/lib/dynamic-page/utils.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page.config.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.service.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-wrapper.directive.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.module.ts","../../../../libs/core/src/lib/dynamic-page/fundamental-ngx-core-dynamic-page.ts"],"sourcesContent":["export const DYNAMIC_PAGE_CLASS_NAME = {\n dynamicPage: 'fd-dynamic-page',\n dynamicPageTitleArea: 'fd-dynamic-page__title-area',\n dynamicPageMainContainer: 'fd-dynamic-page__main-container',\n dynamicPageBreadcrumbTitleContainer: 'fd-dynamic-page__breadcrumb-title-container',\n dynamicPageTitleAreaCollapsed: 'fd-dynamic-page__title-area--collapsed',\n dynamicPageTitleContainer: 'fd-dynamic-page__title-container',\n dynamicPageTitle: 'fd-dynamic-page__title',\n dynamicPageBreadcrumb: 'fd-dynamic-page__breadcrumb',\n dynamicPageKeyInfo: 'fd-dynamic-page__title-content',\n dynamicPageToolbar: 'fd-dynamic-page__toolbar',\n dynamicPageLayoutActionsToolbar: 'fd-dynamic-page__toolbar--actions',\n dynamicPageLayoutContentToolbar: 'fd-dynamic-page__toolbar--content',\n dynamicPageHeader: 'fd-dynamic-page__header',\n dynamicPageCollapsibleHeader: 'fd-dynamic-page__collapsible-header',\n dynamicPageCollapsibleHeaderPinCollapseNoShadow:\n 'fd-dynamic-page__collapsible-header-visibility-container--no-shadow',\n dynamicPageTabs: 'fd-dynamic-page__tabs',\n dynamicPageTabsAddShadow: 'fd-dynamic-page__tabs--add-shadow',\n dynamicPageContent: 'fd-dynamic-page__content',\n dynamicPageSummarizedTitleArea: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaExtraLarge: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaNoShadow: 'fd-dynamic-page__summarized-title-area--no-shadow',\n dynamicPageSummarizedTitle: 'fd-dynamic-page__summarized-title',\n dynamicPageSummarizedTitleCollapsed: 'fd-dynamic-page__summarized-title-area--collapsed'\n} as const;\n\nexport type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';\n\nexport type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';\n","import { Renderer2 } from '@angular/core';\nimport { DynamicPageResponsiveSize } from './constants';\n\nexport const addClassNameToElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n\n/** @hidden Returns dynamic page size based on width\n * @param width - dynamic page window width\n **/\nexport function dynamicPageWidthToSize(width: number): DynamicPageResponsiveSize {\n if (width < 599) {\n return 'small';\n } else if (width < 1023) {\n return 'medium';\n } else if (width < 1439) {\n return 'large';\n }\n return 'extra-large';\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../constants';\nimport { addClassNameToElement } from '../utils';\n\n@Component({\n selector: 'fd-dynamic-page-content',\n templateUrl: './dynamic-page-content.component.html',\n styleUrls: ['./dynamic-page-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageContentComponent implements OnInit {\n /**\n * label for the tab. If label is provided, tab navigation will be internally set up.\n */\n @Input()\n tabLabel: string;\n\n /**\n * a unique identifier for this content\n */\n @Input()\n id: string;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef<HTMLElement>, public _renderer: Renderer2) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageContent);\n }\n\n /** Element reference to host of content dynamic page */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n}\n","<ng-content></ng-content>\n<div class=\"footer-spacer\"></div>\n","import { Injectable } from '@angular/core';\n\n/**\n * Default options for core dynamic-page\n */\n@Injectable({ providedIn: 'root' })\nexport class DynamicPageConfig {\n /**\n * aria label for expand/collapse button when the Dynamic Page is collapsed\n */\n expandLabel = 'Expand Header';\n\n /**\n * aria label for expand/collapse button when the Dynamic Page is expanded\n */\n collapseLabel = 'Collapse Header';\n\n /**\n * aria label for pin button when the Dynamic Page should be pinned\n */\n pinLabel = 'Pin Header';\n\n /**\n * aria label for pin button when the Panel should be unpinned\n */\n unpinLabel = 'Unpin Header';\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n collapsed = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pinned = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pixelsSizeChanged = new BehaviorSubject<number>(0);\n\n /** @hidden */\n subheaderVisibilityChange = new Subject<void>();\n\n /** @hidden */\n toggleCollapsed(): void {\n this.collapsed.next(!this.collapsed.value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectorRef\n} from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nimport { DynamicPageConfig } from '../../dynamic-page.config';\nimport { DynamicPageService } from '../../dynamic-page.service';\n\nlet dynamicPageSubHeaderId = 0;\n@Component({\n selector: 'fd-dynamic-page-subheader',\n templateUrl: './dynamic-page-subheader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageSubheaderComponent {\n /**\n * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear\n * and the header stays visible\n */\n @Input()\n collapsible = true;\n\n /**\n * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.\n * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.\n */\n @Input()\n pinnable = false;\n\n /**\n * the initial state of the header. Set to true if header should be collapsed.\n */\n @Input()\n set collapsed(collapsed: boolean) {\n this._handleCollapsedChange(collapsed);\n }\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n\n /**\n * ARIA label for button when the header is collapsed\n */\n @Input()\n expandLabel: string = this._dynamicPageConfig.expandLabel;\n\n /**\n * ARIA label for button when the header is expanded\n */\n @Input()\n collapseLabel: string = this._dynamicPageConfig.collapseLabel;\n\n /** Header role */\n @Input()\n @HostBinding('attr.role')\n role = 'region';\n\n /**\n * id for header\n */\n @Input()\n @HostBinding('attr.id')\n id = `fd-dynamic-page-header-id-${dynamicPageSubHeaderId++}`;\n\n /**\n * aria label for header\n */\n @Input()\n headerAriaLabel: string;\n\n /**\n * aria label for pin state of pin button\n */\n @Input()\n pinAriaLabel: string = this._dynamicPageConfig.pinLabel;\n\n /**\n * aria label for unpin state of pin button\n */\n @Input()\n unpinAriaLabel: string = this._dynamicPageConfig.unpinLabel;\n\n /** Collapse/Expand change event raised */\n @Output()\n collapsedChange = new EventEmitter<boolean>();\n\n /** Reference to page header content */\n @ViewChild('pincollapseContainer')\n pinCollapseContainer: ElementRef<HTMLElement>;\n\n /**\n * tracking if pin button is pinned\n */\n _pinned = false;\n\n /**\n * @hidden\n * tracking expand/collapse button\n */\n private _collapsed = false;\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n protected _dynamicPageConfig: DynamicPageConfig,\n private _dynamicPageService: DynamicPageService\n ) {\n this._dynamicPageService.collapsed\n .pipe(distinctUntilChanged())\n .subscribe((collapsed) => this._handleCollapsedChange(collapsed));\n }\n\n /**\n * toggles the state of the header and\n * handles expanded/collapsed event\n */\n toggleCollapse(): void {\n this._pinned = false;\n this._handleCollapsedChange(!this._collapsed);\n }\n\n /**\n * @hidden\n * click action on pin button\n */\n togglePinned(): void {\n this._pinned = !this._pinned;\n this._dynamicPageService.pinned.next(this._pinned);\n }\n\n private _handleCollapsedChange(collapsed: boolean): void {\n if (collapsed === this._collapsed) {\n return;\n }\n\n this._collapsed = collapsed;\n this._dynamicPageService.collapsed.next(collapsed);\n this.collapsedChange.emit(this._collapsed);\n this._cd.detectChanges();\n this._dynamicPageService.subheaderVisibilityChange.next();\n }\n}\n","<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div\n role=\"toolbar\"\n aria-label=\"Pin/Collapse actions\"\n class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\"\n >\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive()\nexport class DynamicPageBaseActions {\n addClassToToolbar(_class: string, elementRef: ElementRef): void {\n // adds global actions classes to its toolbar\n const toolbarEl = elementRef.nativeElement.querySelector('.fd-toolbar');\n if (toolbarEl) {\n toolbarEl.classList.add(_class);\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef,\n ContentChild\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\n\n@Component({\n selector: 'fd-dynamic-page-global-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n _toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n if (this._toolbarComponent) {\n this._handleOverflow(size === 'small');\n }\n }\n\n /** @hidden */\n private _handleOverflow(shouldBeHidden: boolean): void {\n this._toolbarComponent.forceOverflow = shouldBeHidden;\n this._toolbarComponent.shouldOverflow = shouldBeHidden;\n this._toolbarComponent.detectChanges();\n setTimeout(() => {\n this._toolbarComponent.updateCollapsibleItems();\n });\n }\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, Input } from '@angular/core';\nimport { DynamicPageResponsiveSize } from '../../constants';\n\n@Component({\n selector: 'fd-dynamic-page-title-content',\n template: `\n <ng-container *ngIf=\"_size === 'small'\">\n <fd-toolbar\n fdType=\"transparent\"\n (click)=\"$event.stopPropagation()\"\n class=\"dynamicPageLayoutContentToolbar\"\n [clearBorder]=\"true\"\n [forceOverflow]=\"true\"\n [shouldOverflow]=\"true\"\n [size]=\"!compact ? 'cozy' : 'compact'\"\n >\n <div fd-toolbar-item>\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n </fd-toolbar>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-content\" *ngIf=\"_size !== 'small'\">\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n\n <ng-template #templateContentRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageTitleContentComponent {\n /** Whether should be on compact mode */\n @Input()\n compact = false;\n\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(private _changeDetRef: ChangeDetectorRef) {}\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n this._size = size;\n this._changeDetRef.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageService } from '../../dynamic-page.service';\nimport { addClassNameToElement } from '../../utils';\nimport { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';\nimport { DynamicPageGlobalActionsComponent } from '../actions/dynamic-page-global-actions.component';\nimport { DynamicPageTitleContentComponent } from '../actions/dynamic-page-title-content.component';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nexport const ActionSquashBreakpointPx = 1280;\n\n@Component({\n selector: 'fd-dynamic-page-header',\n templateUrl: './dynamic-page-header.component.html',\n styleUrls: ['./dynamic-page-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.tabindex]': '0'\n }\n})\nexport class DynamicPageHeaderComponent implements OnInit, AfterViewInit, OnDestroy {\n /** @hidden */\n _collapsed = false;\n\n /** Title property for dynamic page */\n @Input()\n title: string;\n\n /** Subtitle property for dynamic page */\n @Input()\n subtitle: string;\n\n /** @hidden */\n @ContentChild(BreadcrumbComponent)\n _breadcrumbComponent: BreadcrumbComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageGlobalActionsComponent)\n _globalActions: DynamicPageGlobalActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageTitleContentComponent)\n _contentToolbar: DynamicPageTitleContentComponent;\n\n /** @hidden */\n _actionsSquashed = false;\n\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n private _ngZone: NgZone,\n private _changeDetRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageTitleArea);\n this._listenToPageChanges();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._addCustomClassToBreadcrumb();\n\n this._dynamicPageService.collapsed.pipe(takeUntil(this._onDestroy$)).subscribe((collapsed) => {\n this._collapsed = collapsed;\n this._changeDetRef.markForCheck();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n set size(sizeType: DynamicPageResponsiveSize) {\n this._setSize(sizeType);\n this._size = sizeType;\n }\n\n /** @hidden */\n stopPropagation(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /**\n * @hidden\n * sets the padding classes\n * @param sizeType\n */\n private _setSize(sizeType: DynamicPageResponsiveSize): void {\n setTimeout(() => {\n this._breadcrumbComponent?.onResize();\n this._globalActions?._setSize(sizeType);\n this._contentToolbar?._setSize(sizeType);\n this._changeDetRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n\n /** @hidden */\n private _addClassNameToCustomElement(element: Element, className: string): void {\n addClassNameToElement(this._renderer, element, className);\n }\n\n /** @hidden */\n private _addCustomClassToBreadcrumb(): void {\n if (this._breadcrumbComponent) {\n this._addClassNameToCustomElement(\n this._breadcrumbComponent.elementRef.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageBreadcrumb\n );\n }\n }\n\n /** @hidden */\n private _listenToPageChanges(): void {\n this._dynamicPageService.pixelsSizeChanged.pipe(takeUntil(this._onDestroy$)).subscribe((pixels) => {\n const actionsSquashed: boolean = pixels < ActionSquashBreakpointPx;\n if (actionsSquashed !== this._actionsSquashed) {\n this._actionsSquashed = actionsSquashed;\n this._changeDetRef.detectChanges();\n }\n });\n }\n}\n","<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n <nav aria-label=\"Breadcrumbs\" class=\"fd-dynamic-page__breadcrumb-wrapper\" (click)=\"stopPropagation($event)\">\n <ng-content select=\"fd-breadcrumb\"></ng-content>\n </nav>\n <ng-container *ngIf=\"_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n <div class=\"fd-dynamic-page__title-container\">\n <ng-container *ngIf=\"_collapsed\">\n <ng-content select=\"fd-facet\"></ng-content>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span class=\"fd-dynamic-page__title\" fdIgnoreClickOnSelection>\n {{ title }}\n </span>\n <ng-content select=\"fd-dynamic-page-title-content\"></ng-content>\n <div class=\"fd-dynamic-page__toolbar-container\" (click)=\"stopPropagation($event)\">\n <ng-container *ngTemplateOutlet=\"dynamicPageGlobalActionsRef\"></ng-container>\n <ng-container *ngIf=\"!_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"fd-dynamic-page__subtitle\" *ngIf=\"_collapsed && subtitle\" fdIgnoreClickOnSelection>\n {{ subtitle }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"fd-dynamic-page__subtitle\" *ngIf=\"!_collapsed && subtitle\" fdIgnoreClickOnSelection>{{ subtitle }}</div>\n\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[fdDynamicPageWrapper], [fd-dynamic-page-wrapper]'\n})\nexport class DynamicPageWrapperDirective {\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n Optional,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { resizeObservable } from '@fundamental-ngx/core/utils';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { DynamicPageService } from './dynamic-page.service';\nimport { addClassNameToElement, dynamicPageWidthToSize } from './utils';\nimport { TabListComponent } from '@fundamental-ngx/core/tabs';\nimport { FlexibleColumnLayoutComponent } from '@fundamental-ngx/core/flexible-column-layout';\n\nimport { fromEvent, Observable, Subject } from 'rxjs';\nimport { debounceTime, delay, map, takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'fd-dynamic-page',\n templateUrl: './dynamic-page.component.html',\n styleUrls: ['./dynamic-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [DynamicPageService]\n})\nexport class DynamicPageComponent implements AfterViewInit, OnDestroy {\n /** Page role */\n @Input()\n @HostBinding('attr.role')\n role = 'region';\n\n /** aria label for the page */\n @Input()\n ariaLabel: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType = 'solid';\n\n /** Whether DynamicPage should have responsive sides spacing changing with Page window width.\n * max-width: 599px - small\n * min-width: 600px and max-width: 1023px - medium\n * min-width: 1024px and max-width: 1439px - large\n * min-width: 1440px - extra large\n */\n @Input()\n autoResponsive = true;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n set size(size: DynamicPageResponsiveSize) {\n this._size = size;\n this._propagateSizeToChildren();\n }\n\n get size(): DynamicPageResponsiveSize {\n return this._size;\n }\n\n _size: DynamicPageResponsiveSize = 'extra-large';\n\n /** Offset in PX\n * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners\n */\n @Input()\n offset = 0;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input()\n expandContent = true;\n\n /** @hidden reference to header component */\n @ContentChild(DynamicPageSubheaderComponent)\n _pageSubheaderComponent: DynamicPageSubheaderComponent;\n\n /** @hidden reference to title component */\n @ContentChild(DynamicPageHeaderComponent)\n _headerComponent: DynamicPageHeaderComponent;\n\n /** @hidden reference to content component */\n @ContentChild(DynamicPageContentComponent)\n _contentComponent: DynamicPageContentComponent;\n\n /** @hidden reference to tab component */\n @ContentChild(TabListComponent)\n _tabComponent: TabListComponent;\n\n /** @hidden */\n @ViewChild('dynamicPageElement')\n _dynamicPageElement: ElementRef;\n\n /** @hidden */\n _headerCollapsible = true;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n protected _cd: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n @Optional() private _columnLayout: FlexibleColumnLayoutComponent,\n @Optional() private _dynamicPageWrapper: DynamicPageWrapperDirective\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._sizeChangeHandle();\n this._removeShadowWhenTabComponent();\n this._listenOnResize();\n this._listenOnCollapse();\n this._propagatePropertiesToChildren();\n if (this._pageSubheaderComponent?.collapsible) {\n this._addScrollListeners();\n }\n\n if (this._columnLayout && this.autoResponsive) {\n this._listenToLayoutChange();\n }\n\n setTimeout(() => this._setContainerPositions());\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** toggle the visibility of the header on click of title area. */\n toggleCollapse(): void {\n if (this._headerCollapsible) {\n this._dynamicPageService.toggleCollapsed();\n }\n }\n\n /**\n * Triggers recheck for spacing and sizing of elements inside DynamicPage.\n */\n refreshSize(): void {\n this._setContainerPositions();\n this._sizeChangeHandle();\n }\n\n /** Set the positions of the tabs and content with respect to the window */\n private _setContainerPositions(): void {\n this._setDynamicPageHeight();\n }\n\n /** @hidden */\n private _propagatePropertiesToChildren(): void {\n this._headerCollapsible = this._pageSubheaderComponent?.collapsible;\n this._propagateSizeToChildren();\n }\n\n /** @hidden\n * Functionality handling column layout changes,\n * - recalculate height of content element\n * - recheck size depending on width of DynamicPage\n */\n private _listenToLayoutChange(): void {\n this._columnLayout.layoutChange.pipe(takeUntil(this._onDestroy$), delay(1500)).subscribe(() => {\n this.refreshSize();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _propagateSizeToChildren(): void {\n if (this._headerComponent) {\n this._headerComponent.size = this.size;\n }\n this._setContainerPositions();\n }\n\n /** @hidden */\n private _listenOnCollapse(): void {\n this._dynamicPageService.subheaderVisibilityChange\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._setContainerPositions());\n }\n\n /** @hidden */\n private _getCalculatedFullHeight(element: HTMLElement): string {\n if (!element) {\n return null;\n }\n const distanceFromTop = element.getBoundingClientRect().top;\n return 'calc(100vh - ' + (distanceFromTop + this.offset) + 'px)';\n }\n\n /** @hidden */\n private _sizeChangeHandle(): void {\n if (!this._elementRef || !this.autoResponsive) {\n return;\n }\n const dynamicPageWidth = this._elementRef.nativeElement.getBoundingClientRect().width;\n this._dynamicPageService.pixelsSizeChanged.next(dynamicPageWidth);\n const size = dynamicPageWidthToSize(dynamicPageWidth);\n\n if (size !== this.size) {\n this.size = size;\n this._cd.detectChanges();\n }\n }\n\n /** @hidden */\n private _addScrollListeners(): void {\n const tabElement = this._tabComponent?.contentContainer?.nativeElement;\n if (tabElement) {\n this._listenOnScroll(tabElement);\n }\n\n const contentElement = this._contentComponent?.elementRef?.nativeElement;\n if (contentElement) {\n this._listenOnScroll(contentElement);\n }\n }\n\n /** @hidden */\n private _listenOnScroll(element: HTMLElement): void {\n fromEvent(element, 'scroll')\n .pipe(debounceTime(10), takeUntil(this._onDestroy$))\n .subscribe(() => {\n const collapse =\n !this._dynamicPageService.pinned.value &&\n (element.scrollTop > 0 || element.scrollHeight <= element.clientHeight);\n this._dynamicPageService.collapsed.next(collapse);\n });\n }\n\n /** @hidden Listen for window resize and adjust tab and content positions accordingly */\n private _listenOnResize(): void {\n const listener = this._dynamicPageWrapper ? this._listenToWrapperResize() : this._listenToWindowResize();\n\n listener.pipe(debounceTime(100), takeUntil(this._onDestroy$)).subscribe(() => {\n this._setContainerPositions();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _listenToWrapperResize(): Observable<ResizeObserverEntry[]> {\n return resizeObservable(this._dynamicPageWrapper.elementRef.nativeElement);\n }\n\n /** @hidden */\n private _listenToWindowResize(): Observable<ResizeObserverEntry[]> {\n return fromEvent(window, 'resize').pipe(map(() => []));\n }\n\n /** @hidden\n * set top position of DynamicPage on scrolling\n */\n private _setDynamicPageHeight(): void {\n if (!this._dynamicPageElement || !this.expandContent) {\n return;\n }\n const element = this._dynamicPageElement.nativeElement;\n this._renderer.setStyle(element, 'height', this._getCalculatedFullHeight(element));\n }\n\n /** @hidden */\n private _removeShadowWhenTabComponent(): void {\n if (!this._pageSubheaderComponent?.collapsible || !this._tabComponent) {\n return;\n }\n\n const pinCollapseShadowElement = this._pageSubheaderComponent?.pinCollapseContainer;\n\n if (pinCollapseShadowElement) {\n addClassNameToElement(\n this._renderer,\n pinCollapseShadowElement.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageCollapsibleHeaderPinCollapseNoShadow\n );\n }\n }\n}\n","<section\n #dynamicPageElement\n class=\"fd-dynamic-page\"\n [class.fd-dynamic-page--sm]=\"size === 'small'\"\n [class.fd-dynamic-page--md]=\"size === 'medium'\"\n [class.fd-dynamic-page--lg]=\"size === 'large'\"\n [class.fd-dynamic-page--xl]=\"size === 'extra-large'\"\n [class.fd-dynamic-page--transparent-bg]=\"background === 'transparent'\"\n [class.fd-dynamic-page--list-bg]=\"background === 'list'\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div>\n <div (click)=\"toggleCollapse()\" (keydown.enter)=\"toggleCollapse()\">\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </div>\n </header>\n\n <ng-content select=\"fd-tab-list\"></ng-content>\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n <footer>\n <ng-content select=\"fd-dynamic-page-footer\"></ng-content>\n </footer>\n</section>\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../../constants';\n\n@Component({\n selector: 'fd-dynamic-page-layout-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageLayoutActionsToolbar, this._elementRef);\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-dynamic-page-footer',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageFooterComponent {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageGlobalActionsComponent } from './dynamic-page-header/actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from './dynamic-page-header/actions/dynamic-page-layout-actions.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageComponent } from './dynamic-page.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { DynamicPageTitleContentComponent } from './dynamic-page-header/actions/dynamic-page-title-content.component';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { IgnoreClickOnSelectionModule } from '@fundamental-ngx/core/utils';\n\n@NgModule({\n declarations: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective\n ],\n imports: [CommonModule, ButtonModule, ToolbarModule, PopoverModule, IgnoreClickOnSelectionModule],\n exports: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective\n ]\n})\nexport class DynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-dynamic-page.mjs","sources":["../../../../libs/core/src/lib/dynamic-page/constants.ts","../../../../libs/core/src/lib/dynamic-page/utils.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page.config.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.service.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-wrapper.directive.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.module.ts","../../../../libs/core/src/lib/dynamic-page/fundamental-ngx-core-dynamic-page.ts"],"sourcesContent":["export const DYNAMIC_PAGE_CLASS_NAME = {\n dynamicPage: 'fd-dynamic-page',\n dynamicPageTitleArea: 'fd-dynamic-page__title-area',\n dynamicPageMainContainer: 'fd-dynamic-page__main-container',\n dynamicPageBreadcrumbTitleContainer: 'fd-dynamic-page__breadcrumb-title-container',\n dynamicPageTitleAreaCollapsed: 'fd-dynamic-page__title-area--collapsed',\n dynamicPageTitleContainer: 'fd-dynamic-page__title-container',\n dynamicPageTitle: 'fd-dynamic-page__title',\n dynamicPageBreadcrumb: 'fd-dynamic-page__breadcrumb',\n dynamicPageKeyInfo: 'fd-dynamic-page__title-content',\n dynamicPageToolbar: 'fd-dynamic-page__toolbar',\n dynamicPageLayoutActionsToolbar: 'fd-dynamic-page__toolbar--actions',\n dynamicPageLayoutContentToolbar: 'fd-dynamic-page__toolbar--content',\n dynamicPageHeader: 'fd-dynamic-page__header',\n dynamicPageCollapsibleHeader: 'fd-dynamic-page__collapsible-header',\n dynamicPageCollapsibleHeaderPinCollapseNoShadow:\n 'fd-dynamic-page__collapsible-header-visibility-container--no-shadow',\n dynamicPageTabs: 'fd-dynamic-page__tabs',\n dynamicPageTabsAddShadow: 'fd-dynamic-page__tabs--add-shadow',\n dynamicPageContent: 'fd-dynamic-page__content',\n dynamicPageSummarizedTitleArea: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaExtraLarge: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaNoShadow: 'fd-dynamic-page__summarized-title-area--no-shadow',\n dynamicPageSummarizedTitle: 'fd-dynamic-page__summarized-title',\n dynamicPageSummarizedTitleCollapsed: 'fd-dynamic-page__summarized-title-area--collapsed'\n} as const;\n\nexport type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';\n\nexport type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';\n","import { Renderer2 } from '@angular/core';\nimport { DynamicPageResponsiveSize } from './constants';\n\nexport const addClassNameToElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n\n/** @hidden Returns dynamic page size based on width\n * @param width - dynamic page window width\n **/\nexport function dynamicPageWidthToSize(width: number): DynamicPageResponsiveSize {\n if (width < 599) {\n return 'small';\n } else if (width < 1023) {\n return 'medium';\n } else if (width < 1439) {\n return 'large';\n }\n return 'extra-large';\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n OnInit,\n Optional,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../constants';\nimport { addClassNameToElement } from '../utils';\nimport { FD_DYNAMIC_PAGE_COMPONENT, WithDynamicPageFooterComponent } from '../dynamic-page.component';\n\n@Component({\n selector: 'fd-dynamic-page-content',\n templateUrl: './dynamic-page-content.component.html',\n styleUrls: ['./dynamic-page-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageContentComponent implements OnInit {\n /**\n * label for the tab. If label is provided, tab navigation will be internally set up.\n */\n @Input()\n tabLabel: string;\n\n /**\n * a unique identifier for this content\n */\n @Input()\n id: string;\n\n /** @hidden */\n constructor(\n public _renderer: Renderer2,\n @Inject(FD_DYNAMIC_PAGE_COMPONENT) @Optional() public _dynamicPageComponent: WithDynamicPageFooterComponent,\n private _elementRef: ElementRef<HTMLElement>\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageContent);\n }\n\n /** Element reference to host of content dynamic page */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n}\n","<ng-content></ng-content>\n\n<div *ngIf=\"_dynamicPageComponent?._footerComponent\" class=\"footer-spacer\"></div>\n","import { Injectable } from '@angular/core';\n\n/**\n * Default options for core dynamic-page\n */\n@Injectable({ providedIn: 'root' })\nexport class DynamicPageConfig {\n /**\n * aria label for expand/collapse button when the Dynamic Page is collapsed\n */\n expandLabel = 'Expand Header';\n\n /**\n * aria label for expand/collapse button when the Dynamic Page is expanded\n */\n collapseLabel = 'Collapse Header';\n\n /**\n * aria label for pin button when the Dynamic Page should be pinned\n */\n pinLabel = 'Pin Header';\n\n /**\n * aria label for pin button when the Panel should be unpinned\n */\n unpinLabel = 'Unpin Header';\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n collapsed = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pinned = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pixelsSizeChanged = new BehaviorSubject<number>(0);\n\n /** @hidden */\n subheaderVisibilityChange = new Subject<void>();\n\n /** @hidden */\n toggleCollapsed(): void {\n this.collapsed.next(!this.collapsed.value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectorRef\n} from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nimport { DynamicPageConfig } from '../../dynamic-page.config';\nimport { DynamicPageService } from '../../dynamic-page.service';\n\nlet dynamicPageSubHeaderId = 0;\n@Component({\n selector: 'fd-dynamic-page-subheader',\n templateUrl: './dynamic-page-subheader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageSubheaderComponent {\n /**\n * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear\n * and the header stays visible\n */\n @Input()\n collapsible = true;\n\n /**\n * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.\n * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.\n */\n @Input()\n pinnable = false;\n\n /**\n * the initial state of the header. Set to true if header should be collapsed.\n */\n @Input()\n set collapsed(collapsed: boolean) {\n this._handleCollapsedChange(collapsed);\n }\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n\n /**\n * ARIA label for button when the header is collapsed\n */\n @Input()\n expandLabel: string = this._dynamicPageConfig.expandLabel;\n\n /**\n * ARIA label for button when the header is expanded\n */\n @Input()\n collapseLabel: string = this._dynamicPageConfig.collapseLabel;\n\n /** Header role */\n @Input()\n @HostBinding('attr.role')\n role = 'region';\n\n /**\n * id for header\n */\n @Input()\n @HostBinding('attr.id')\n id = `fd-dynamic-page-header-id-${dynamicPageSubHeaderId++}`;\n\n /**\n * aria label for header\n */\n @Input()\n headerAriaLabel: string;\n\n /**\n * aria label for pin state of pin button\n */\n @Input()\n pinAriaLabel: string = this._dynamicPageConfig.pinLabel;\n\n /**\n * aria label for unpin state of pin button\n */\n @Input()\n unpinAriaLabel: string = this._dynamicPageConfig.unpinLabel;\n\n /** Collapse/Expand change event raised */\n @Output()\n collapsedChange = new EventEmitter<boolean>();\n\n /** Reference to page header content */\n @ViewChild('pincollapseContainer')\n pinCollapseContainer: ElementRef<HTMLElement>;\n\n /**\n * tracking if pin button is pinned\n */\n _pinned = false;\n\n /**\n * @hidden\n * tracking expand/collapse button\n */\n private _collapsed = false;\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n protected _dynamicPageConfig: DynamicPageConfig,\n private _dynamicPageService: DynamicPageService\n ) {\n this._dynamicPageService.collapsed\n .pipe(distinctUntilChanged())\n .subscribe((collapsed) => this._handleCollapsedChange(collapsed));\n }\n\n /**\n * toggles the state of the header and\n * handles expanded/collapsed event\n */\n toggleCollapse(): void {\n this._pinned = false;\n this._handleCollapsedChange(!this._collapsed);\n }\n\n /**\n * @hidden\n * click action on pin button\n */\n togglePinned(): void {\n this._pinned = !this._pinned;\n this._dynamicPageService.pinned.next(this._pinned);\n }\n\n private _handleCollapsedChange(collapsed: boolean): void {\n if (collapsed === this._collapsed) {\n return;\n }\n\n this._collapsed = collapsed;\n this._dynamicPageService.collapsed.next(collapsed);\n this.collapsedChange.emit(this._collapsed);\n this._cd.detectChanges();\n this._dynamicPageService.subheaderVisibilityChange.next();\n }\n}\n","<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div\n role=\"toolbar\"\n aria-label=\"Pin/Collapse actions\"\n class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\"\n >\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive()\nexport class DynamicPageBaseActions {\n addClassToToolbar(_class: string, elementRef: ElementRef): void {\n // adds global actions classes to its toolbar\n const toolbarEl = elementRef.nativeElement.querySelector('.fd-toolbar');\n if (toolbarEl) {\n toolbarEl.classList.add(_class);\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef,\n ContentChild\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\n\n@Component({\n selector: 'fd-dynamic-page-global-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n _toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n if (this._toolbarComponent) {\n this._handleOverflow(size === 'small');\n }\n }\n\n /** @hidden */\n private _handleOverflow(shouldBeHidden: boolean): void {\n this._toolbarComponent.forceOverflow = shouldBeHidden;\n this._toolbarComponent.shouldOverflow = shouldBeHidden;\n this._toolbarComponent.detectChanges();\n setTimeout(() => {\n this._toolbarComponent.updateCollapsibleItems();\n });\n }\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, Input } from '@angular/core';\nimport { DynamicPageResponsiveSize } from '../../constants';\n\n@Component({\n selector: 'fd-dynamic-page-title-content',\n template: `\n <ng-container *ngIf=\"_size === 'small'\">\n <fd-toolbar\n fdType=\"transparent\"\n (click)=\"$event.stopPropagation()\"\n class=\"dynamicPageLayoutContentToolbar\"\n [clearBorder]=\"true\"\n [forceOverflow]=\"true\"\n [shouldOverflow]=\"true\"\n [size]=\"!compact ? 'cozy' : 'compact'\"\n >\n <div fd-toolbar-item>\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n </fd-toolbar>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-content\" *ngIf=\"_size !== 'small'\">\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n\n <ng-template #templateContentRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageTitleContentComponent {\n /** Whether should be on compact mode */\n @Input()\n compact = false;\n\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(private _changeDetRef: ChangeDetectorRef) {}\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n this._size = size;\n this._changeDetRef.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageService } from '../../dynamic-page.service';\nimport { addClassNameToElement } from '../../utils';\nimport { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';\nimport { DynamicPageGlobalActionsComponent } from '../actions/dynamic-page-global-actions.component';\nimport { DynamicPageTitleContentComponent } from '../actions/dynamic-page-title-content.component';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nexport const ActionSquashBreakpointPx = 1280;\n\n@Component({\n selector: 'fd-dynamic-page-header',\n templateUrl: './dynamic-page-header.component.html',\n styleUrls: ['./dynamic-page-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.tabindex]': '0'\n }\n})\nexport class DynamicPageHeaderComponent implements OnInit, AfterViewInit, OnDestroy {\n /** @hidden */\n _collapsed = false;\n\n /** Title property for dynamic page */\n @Input()\n title: string;\n\n /** Subtitle property for dynamic page */\n @Input()\n subtitle: string;\n\n /** @hidden */\n @ContentChild(BreadcrumbComponent)\n _breadcrumbComponent: BreadcrumbComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageGlobalActionsComponent)\n _globalActions: DynamicPageGlobalActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageTitleContentComponent)\n _contentToolbar: DynamicPageTitleContentComponent;\n\n /** @hidden */\n _actionsSquashed = false;\n\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n private _ngZone: NgZone,\n private _changeDetRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageTitleArea);\n this._listenToPageChanges();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._addCustomClassToBreadcrumb();\n\n this._dynamicPageService.collapsed.pipe(takeUntil(this._onDestroy$)).subscribe((collapsed) => {\n this._collapsed = collapsed;\n this._changeDetRef.markForCheck();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n set size(sizeType: DynamicPageResponsiveSize) {\n this._setSize(sizeType);\n this._size = sizeType;\n }\n\n /** @hidden */\n stopPropagation(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /**\n * @hidden\n * sets the padding classes\n * @param sizeType\n */\n private _setSize(sizeType: DynamicPageResponsiveSize): void {\n setTimeout(() => {\n this._breadcrumbComponent?.onResize();\n this._globalActions?._setSize(sizeType);\n this._contentToolbar?._setSize(sizeType);\n this._changeDetRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n\n /** @hidden */\n private _addClassNameToCustomElement(element: Element, className: string): void {\n addClassNameToElement(this._renderer, element, className);\n }\n\n /** @hidden */\n private _addCustomClassToBreadcrumb(): void {\n if (this._breadcrumbComponent) {\n this._addClassNameToCustomElement(\n this._breadcrumbComponent.elementRef.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageBreadcrumb\n );\n }\n }\n\n /** @hidden */\n private _listenToPageChanges(): void {\n this._dynamicPageService.pixelsSizeChanged.pipe(takeUntil(this._onDestroy$)).subscribe((pixels) => {\n const actionsSquashed: boolean = pixels < ActionSquashBreakpointPx;\n if (actionsSquashed !== this._actionsSquashed) {\n this._actionsSquashed = actionsSquashed;\n this._changeDetRef.detectChanges();\n }\n });\n }\n}\n","<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n <nav aria-label=\"Breadcrumbs\" class=\"fd-dynamic-page__breadcrumb-wrapper\" (click)=\"stopPropagation($event)\">\n <ng-content select=\"fd-breadcrumb\"></ng-content>\n </nav>\n <ng-container *ngIf=\"_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n <div class=\"fd-dynamic-page__title-container\">\n <ng-container *ngIf=\"_collapsed\">\n <ng-content select=\"fd-facet\"></ng-content>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span class=\"fd-dynamic-page__title\" fdIgnoreClickOnSelection>\n {{ title }}\n </span>\n <ng-content select=\"fd-dynamic-page-title-content\"></ng-content>\n <div class=\"fd-dynamic-page__toolbar-container\" (click)=\"stopPropagation($event)\">\n <ng-container *ngTemplateOutlet=\"dynamicPageGlobalActionsRef\"></ng-container>\n <ng-container *ngIf=\"!_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"fd-dynamic-page__subtitle\" *ngIf=\"_collapsed && subtitle\" fdIgnoreClickOnSelection>\n {{ subtitle }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"fd-dynamic-page__subtitle\" *ngIf=\"!_collapsed && subtitle\" fdIgnoreClickOnSelection>{{ subtitle }}</div>\n\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-dynamic-page-footer',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageFooterComponent {}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[fdDynamicPageWrapper], [fd-dynamic-page-wrapper]'\n})\nexport class DynamicPageWrapperDirective {\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n InjectionToken,\n Input,\n OnDestroy,\n Optional,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { resizeObservable } from '@fundamental-ngx/core/utils';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { DynamicPageService } from './dynamic-page.service';\nimport { addClassNameToElement, dynamicPageWidthToSize } from './utils';\nimport { TabListComponent } from '@fundamental-ngx/core/tabs';\nimport { FlexibleColumnLayoutComponent } from '@fundamental-ngx/core/flexible-column-layout';\n\nimport { fromEvent, Observable, Subject } from 'rxjs';\nimport { debounceTime, delay, map, takeUntil } from 'rxjs/operators';\n\nexport const FD_DYNAMIC_PAGE_COMPONENT = new InjectionToken('FD_DYNAMIC_PAGE_COMPONENT');\n\nexport interface WithDynamicPageFooterComponent {\n _footerComponent: DynamicPageFooterComponent;\n}\n\n@Component({\n selector: 'fd-dynamic-page',\n templateUrl: './dynamic-page.component.html',\n styleUrls: ['./dynamic-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n DynamicPageService,\n {\n provide: FD_DYNAMIC_PAGE_COMPONENT,\n useExisting: DynamicPageComponent\n }\n ]\n})\nexport class DynamicPageComponent implements AfterViewInit, OnDestroy, WithDynamicPageFooterComponent {\n /** Page role */\n @Input()\n @HostBinding('attr.role')\n role = 'region';\n\n /** aria label for the page */\n @Input()\n ariaLabel: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType = 'solid';\n\n /** Whether DynamicPage should have responsive sides spacing changing with Page window width.\n * max-width: 599px - small\n * min-width: 600px and max-width: 1023px - medium\n * min-width: 1024px and max-width: 1439px - large\n * min-width: 1440px - extra large\n */\n @Input()\n autoResponsive = true;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n set size(size: DynamicPageResponsiveSize) {\n this._size = size;\n this._propagateSizeToChildren();\n }\n\n get size(): DynamicPageResponsiveSize {\n return this._size;\n }\n\n _size: DynamicPageResponsiveSize = 'extra-large';\n\n /** Offset in PX\n * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners\n */\n @Input()\n offset = 0;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input()\n expandContent = true;\n\n /** @hidden reference to header component */\n @ContentChild(DynamicPageSubheaderComponent)\n _pageSubheaderComponent: DynamicPageSubheaderComponent;\n\n /** @hidden reference to title component */\n @ContentChild(DynamicPageHeaderComponent)\n _headerComponent: DynamicPageHeaderComponent;\n\n /** @hidden reference to content component */\n @ContentChild(DynamicPageContentComponent)\n _contentComponent: DynamicPageContentComponent;\n\n /** @hidden reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n _footerComponent: DynamicPageContentComponent;\n\n /** @hidden reference to tab component */\n @ContentChild(TabListComponent)\n _tabComponent: TabListComponent;\n\n /** @hidden */\n @ViewChild('dynamicPageElement')\n _dynamicPageElement: ElementRef;\n\n /** @hidden */\n _headerCollapsible = true;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n protected _cd: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n @Optional() private _columnLayout: FlexibleColumnLayoutComponent,\n @Optional() private _dynamicPageWrapper: DynamicPageWrapperDirective\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._sizeChangeHandle();\n this._removeShadowWhenTabComponent();\n this._listenOnResize();\n this._listenOnCollapse();\n this._propagatePropertiesToChildren();\n if (this._pageSubheaderComponent?.collapsible) {\n this._addScrollListeners();\n }\n\n if (this._columnLayout && this.autoResponsive) {\n this._listenToLayoutChange();\n }\n\n setTimeout(() => this._setContainerPositions());\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** toggle the visibility of the header on click of title area. */\n toggleCollapse(): void {\n if (this._headerCollapsible) {\n this._dynamicPageService.toggleCollapsed();\n }\n }\n\n /**\n * Triggers recheck for spacing and sizing of elements inside DynamicPage.\n */\n refreshSize(): void {\n this._setContainerPositions();\n this._sizeChangeHandle();\n }\n\n /** Set the positions of the tabs and content with respect to the window */\n private _setContainerPositions(): void {\n this._setDynamicPageHeight();\n }\n\n /** @hidden */\n private _propagatePropertiesToChildren(): void {\n this._headerCollapsible = this._pageSubheaderComponent?.collapsible;\n this._propagateSizeToChildren();\n }\n\n /** @hidden\n * Functionality handling column layout changes,\n * - recalculate height of content element\n * - recheck size depending on width of DynamicPage\n */\n private _listenToLayoutChange(): void {\n this._columnLayout.layoutChange.pipe(takeUntil(this._onDestroy$), delay(1500)).subscribe(() => {\n this.refreshSize();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _propagateSizeToChildren(): void {\n if (this._headerComponent) {\n this._headerComponent.size = this.size;\n }\n this._setContainerPositions();\n }\n\n /** @hidden */\n private _listenOnCollapse(): void {\n this._dynamicPageService.subheaderVisibilityChange\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._setContainerPositions());\n }\n\n /** @hidden */\n private _getCalculatedFullHeight(element: HTMLElement): string {\n if (!element) {\n return null;\n }\n const distanceFromTop = element.getBoundingClientRect().top;\n return 'calc(100vh - ' + (distanceFromTop + this.offset) + 'px)';\n }\n\n /** @hidden */\n private _sizeChangeHandle(): void {\n if (!this._elementRef || !this.autoResponsive) {\n return;\n }\n const dynamicPageWidth = this._elementRef.nativeElement.getBoundingClientRect().width;\n this._dynamicPageService.pixelsSizeChanged.next(dynamicPageWidth);\n const size = dynamicPageWidthToSize(dynamicPageWidth);\n\n if (size !== this.size) {\n this.size = size;\n this._cd.detectChanges();\n }\n }\n\n /** @hidden */\n private _addScrollListeners(): void {\n const tabElement = this._tabComponent?.contentContainer?.nativeElement;\n if (tabElement) {\n this._listenOnScroll(tabElement);\n }\n\n const contentElement = this._contentComponent?.elementRef?.nativeElement;\n if (contentElement) {\n this._listenOnScroll(contentElement);\n }\n }\n\n /** @hidden */\n private _listenOnScroll(element: HTMLElement): void {\n fromEvent(element, 'scroll')\n .pipe(debounceTime(10), takeUntil(this._onDestroy$))\n .subscribe(() => {\n const collapse =\n !this._dynamicPageService.pinned.value &&\n (element.scrollTop > 0 || element.scrollHeight <= element.clientHeight);\n this._dynamicPageService.collapsed.next(collapse);\n });\n }\n\n /** @hidden Listen for window resize and adjust tab and content positions accordingly */\n private _listenOnResize(): void {\n const listener = this._dynamicPageWrapper ? this._listenToWrapperResize() : this._listenToWindowResize();\n\n listener.pipe(debounceTime(100), takeUntil(this._onDestroy$)).subscribe(() => {\n this._setContainerPositions();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _listenToWrapperResize(): Observable<ResizeObserverEntry[]> {\n return resizeObservable(this._dynamicPageWrapper.elementRef.nativeElement);\n }\n\n /** @hidden */\n private _listenToWindowResize(): Observable<ResizeObserverEntry[]> {\n return fromEvent(window, 'resize').pipe(map(() => []));\n }\n\n /** @hidden\n * set top position of DynamicPage on scrolling\n */\n private _setDynamicPageHeight(): void {\n if (!this._dynamicPageElement || !this.expandContent) {\n return;\n }\n const element = this._dynamicPageElement.nativeElement;\n this._renderer.setStyle(element, 'height', this._getCalculatedFullHeight(element));\n }\n\n /** @hidden */\n private _removeShadowWhenTabComponent(): void {\n if (!this._pageSubheaderComponent?.collapsible || !this._tabComponent) {\n return;\n }\n\n const pinCollapseShadowElement = this._pageSubheaderComponent?.pinCollapseContainer;\n\n if (pinCollapseShadowElement) {\n addClassNameToElement(\n this._renderer,\n pinCollapseShadowElement.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageCollapsibleHeaderPinCollapseNoShadow\n );\n }\n }\n}\n","<section\n #dynamicPageElement\n class=\"fd-dynamic-page\"\n [class.fd-dynamic-page--sm]=\"size === 'small'\"\n [class.fd-dynamic-page--md]=\"size === 'medium'\"\n [class.fd-dynamic-page--lg]=\"size === 'large'\"\n [class.fd-dynamic-page--xl]=\"size === 'extra-large'\"\n [class.fd-dynamic-page--transparent-bg]=\"background === 'transparent'\"\n [class.fd-dynamic-page--list-bg]=\"background === 'list'\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div>\n <div (click)=\"toggleCollapse()\" (keydown.enter)=\"toggleCollapse()\">\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </div>\n </header>\n\n <ng-content select=\"fd-tab-list\"></ng-content>\n\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n\n <footer>\n <ng-content select=\"fd-dynamic-page-footer\"></ng-content>\n </footer>\n</section>\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../../constants';\n\n@Component({\n selector: 'fd-dynamic-page-layout-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageLayoutActionsToolbar, this._elementRef);\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageGlobalActionsComponent } from './dynamic-page-header/actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from './dynamic-page-header/actions/dynamic-page-layout-actions.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageComponent } from './dynamic-page.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { DynamicPageTitleContentComponent } from './dynamic-page-header/actions/dynamic-page-title-content.component';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { IgnoreClickOnSelectionModule } from '@fundamental-ngx/core/utils';\n\n@NgModule({\n declarations: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective\n ],\n imports: [CommonModule, ButtonModule, ToolbarModule, PopoverModule, IgnoreClickOnSelectionModule],\n exports: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective\n ]\n})\nexport class DynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -217,7 +217,7 @@ class FacetComponent {
217
217
  }
218
218
  }
219
219
  FacetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FacetComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
220
- FacetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FacetComponent, selector: "fd-facet", inputs: { type: "type", facetTitle: "facetTitle", subtitle: "subtitle", id: "id", alignEnd: "alignEnd" }, host: { properties: { "class.fd-facet": "true", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledby" } }, ngImport: i0, template: "<ng-container *ngIf=\"type === 'image'\">\n <ng-container *ngTemplateOutlet=\"customContentTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"type !== 'image'\">\n <h1 *ngIf=\"facetTitle\" fd-title headerSize=\"5\" class=\"fd-margin-bottom--sm\" [id]=\"titleId\">{{ facetTitle }}</h1>\n <ng-container *ngIf=\"type === 'form'\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'key-value' || 'custom'\">\n <ng-container *ngTemplateOutlet=\"customContentTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'rating-indicator'\">\n <span fd-form-label>{{ subtitle }}</span>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #contentTemplate>\n <ng-content select=\"fd-facet-content\"></ng-content>\n</ng-template>\n\n<ng-template #customContentTemplate>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".fd-facet{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}.fd-facet:after,.fd-facet:before{box-sizing:inherit;font-size:inherit}.fd-facet-group{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;flex-direction:row;flex-wrap:wrap;align-items:flex-start}.fd-facet-group:after,.fd-facet-group:before{box-sizing:inherit;font-size:inherit}.fd-facet--image{display:flex;flex-direction:row}.fd-facet--image-header-title{align-self:flex-end}.fd-facet--form{display:flex;flex-direction:column}.fd-facet--key-value .fd-facet__object-status .fd-facet__object-status-text{font-family:var(--sapFontFamily)}.fd-facet--rating-indicator{display:inline-flex;justify-content:flex-start;align-items:flex-start;flex-direction:column}.fd-facet--rating-indicator .fd-facet__container{flex-direction:column}.fd-facet--rating-indicator .fd-facet__rating-container{align-self:flex-start}.fd-facet--rating-indicator .fd-facet__rating-dynamic-text{align-self:flex-end}.fd-facet__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:flex;flex-direction:row}.fd-facet__container:after,.fd-facet__container:before{box-sizing:inherit;font-size:inherit}.fd-facet__form-value{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);box-sizing:border-box;padding:0;margin:0;border:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;color:var(--sapGroup_TitleTextColor)}.fd-facet__form-value:after,.fd-facet__form-value:before{box-sizing:inherit;font-size:inherit}.fd-padding{padding:1rem!important}.fd-padding-begin-end--tiny{padding-left:.5rem!important;padding-right:.5rem!important}.fd-padding-begin-end--sm{padding-left:1rem!important;padding-right:1rem!important}.fd-padding-begin-end--md{padding-left:2rem!important;padding-right:2rem!important}.fd-padding-begin-end--lg{padding-left:3rem!important;padding-right:3rem!important}.fd-padding--none{padding:0!important}.fd-padding-responsive--sm{padding:0 1rem!important}.fd-padding-responsive--lg,.fd-padding-responsive--md{padding:0 2rem!important}.fd-padding-responsive--xl{padding:0 3rem!important}/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 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-margin--tiny{margin:.5rem!important}.fd-margin--sm{margin:1rem!important}.fd-margin--md{margin:2rem!important}.fd-margin--lg{margin:3rem!important}.fd-margin--none{margin:0!important}.fd-margin-top--tiny{margin-top:.5rem!important}.fd-margin-top--sm{margin-top:1rem!important}.fd-margin-top--md{margin-top:2rem!important}.fd-margin-top--lg{margin-top:3rem!important}.fd-margin-top--none{margin-top:0!important}.fd-margin-end--tiny{margin-right:.5rem!important}.fd-margin-end--tiny[dir=rtl],[dir=rtl] .fd-margin-end--tiny{margin-left:.5rem!important;margin-right:0!important}.fd-margin-end--sm{margin-right:1rem!important}.fd-margin-end--sm[dir=rtl],[dir=rtl] .fd-margin-end--sm{margin-left:1rem!important;margin-right:0!important}.fd-margin-end--md{margin-right:2rem!important}.fd-margin-end--md[dir=rtl],[dir=rtl] .fd-margin-end--md{margin-left:2rem!important;margin-right:0!important}.fd-margin-end--lg{margin-right:3rem!important}.fd-margin-end--lg[dir=rtl],[dir=rtl] .fd-margin-end--lg{margin-left:3rem!important;margin-right:0!important}.fd-margin-end--none{margin-right:0}.fd-margin-end--none[dir=rtl],[dir=rtl] .fd-margin-end--none{margin-left:0!important}.fd-margin-bottom--tiny{margin-bottom:.5rem!important}.fd-margin-bottom--sm{margin-bottom:1rem!important}.fd-margin-bottom--md{margin-bottom:2rem!important}.fd-margin-bottom--lg{margin-bottom:3rem!important}.fd-margin-bottom--none{margin-bottom:0!important}.fd-margin-begin--tiny{margin-left:.5rem!important}.fd-margin-begin--tiny[dir=rtl],[dir=rtl] .fd-margin-begin--tiny{margin-right:.5rem!important;margin-left:0!important}.fd-margin-begin--sm{margin-left:1rem!important}.fd-margin-begin--sm[dir=rtl],[dir=rtl] .fd-margin-begin--sm{margin-right:1rem!important;margin-left:0!important}.fd-margin-begin--md{margin-left:2rem!important}.fd-margin-begin--md[dir=rtl],[dir=rtl] .fd-margin-begin--md{margin-right:2rem!important;margin-left:0!important}.fd-margin-begin--lg{margin-left:3rem!important}.fd-margin-begin--lg[dir=rtl],[dir=rtl] .fd-margin-begin--lg{margin-right:3rem!important;margin-left:0!important}.fd-margin-begin--none{margin-left:0}.fd-margin-begin--none[dir=rtl],[dir=rtl] .fd-margin-begin--none{margin-right:0!important}.fd-margin-top-bottom--tiny{margin-top:.5rem!important;margin-bottom:.5rem!important}.fd-margin-top-bottom--sm{margin-top:1rem!important;margin-bottom:1rem!important}.fd-margin-top-bottom--md{margin-top:2rem!important;margin-bottom:2rem!important}.fd-margin-top-bottom--lg{margin-top:3rem!important;margin-bottom:3rem!important}.fd-margin-begin-end--tiny{margin-left:.5rem!important;margin-right:.5rem!important}.fd-margin-begin-end--sm{margin-left:1rem!important;margin-right:1rem!important}.fd-margin-begin-end--md{margin-left:2rem!important;margin-right:2rem!important}.fd-margin-begin-end--lg{margin-left:3rem!important;margin-right:3rem!important}.fd-margin-responsive--sm{margin:0 0 1rem!important}.fd-margin-responsive--md{margin:1rem!important}.fd-margin-responsive--lg{margin:1rem 2rem!important}.fd-margin-responsive--xl{margin:1rem 3rem!important}.fd-margin-negative-begin-end--tiny{margin:0 -.5rem!important}.fd-margin-negative-begin-end--sm{margin:0 -1rem!important}.fd-margin-negative-begin-end--md{margin:0 -2rem!important}.fd-margin-negative-begin-end--lg{margin:0 -3rem!important}\n"], components: [{ type: i1.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { type: i2.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
220
+ FacetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FacetComponent, selector: "fd-facet", inputs: { type: "type", facetTitle: "facetTitle", subtitle: "subtitle", id: "id", alignEnd: "alignEnd" }, host: { properties: { "class.fd-facet": "true", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledby" } }, ngImport: i0, template: "<ng-container *ngIf=\"type === 'image'\">\n <ng-container *ngTemplateOutlet=\"customContentTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"type !== 'image'\">\n <h1 *ngIf=\"facetTitle\" fd-title headerSize=\"5\" class=\"fd-margin-bottom--sm\" [id]=\"titleId\">{{ facetTitle }}</h1>\n <ng-container *ngIf=\"type === 'form'\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'key-value' || 'custom'\">\n <ng-container *ngTemplateOutlet=\"customContentTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'rating-indicator'\">\n <span fd-form-label>{{ subtitle }}</span>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #contentTemplate>\n <ng-content select=\"fd-facet-content\"></ng-content>\n</ng-template>\n\n<ng-template #customContentTemplate>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".fd-facet{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}.fd-facet:after,.fd-facet:before{box-sizing:inherit;font-size:inherit}.fd-facet-group{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;flex-direction:row;flex-wrap:wrap;align-items:flex-start}.fd-facet-group:after,.fd-facet-group:before{box-sizing:inherit;font-size:inherit}.fd-facet--image{display:flex;flex-direction:row}.fd-facet--image-header-title{align-self:flex-end}.fd-facet--form{display:flex;flex-direction:column}.fd-facet--key-value .fd-facet__object-status .fd-facet__object-status-text{font-family:var(--sapFontFamily)}.fd-facet--rating-indicator{display:inline-flex;justify-content:flex-start;align-items:flex-start;flex-direction:column}.fd-facet--rating-indicator .fd-facet__container{flex-direction:column}.fd-facet--rating-indicator .fd-facet__rating-container{align-self:flex-start}.fd-facet--rating-indicator .fd-facet__rating-dynamic-text{align-self:flex-end}.fd-facet__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:flex;flex-direction:row}.fd-facet__container:after,.fd-facet__container:before{box-sizing:inherit;font-size:inherit}.fd-facet__form-value{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);box-sizing:border-box;padding:0;margin:0;border:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;color:var(--sapGroup_TitleTextColor)}.fd-facet__form-value:after,.fd-facet__form-value:before{box-sizing:inherit;font-size:inherit}.fd-padding{padding:1rem!important}.fd-padding-begin-end--tiny{padding-left:.5rem!important;padding-right:.5rem!important}.fd-padding-begin-end--sm{padding-left:1rem!important;padding-right:1rem!important}.fd-padding-begin-end--md{padding-left:2rem!important;padding-right:2rem!important}.fd-padding-begin-end--lg{padding-left:3rem!important;padding-right:3rem!important}.fd-padding--none{padding:0!important}.fd-padding-responsive--sm{padding:0 1rem!important}.fd-padding-responsive--lg,.fd-padding-responsive--md{padding:0 2rem!important}.fd-padding-responsive--xl{padding:0 3rem!important}/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 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-margin--tiny{margin:.5rem!important}.fd-margin--sm{margin:1rem!important}.fd-margin--md{margin:2rem!important}.fd-margin--lg{margin:3rem!important}.fd-margin--none{margin:0!important}.fd-margin-top--tiny{margin-top:.5rem!important}.fd-margin-top--sm{margin-top:1rem!important}.fd-margin-top--md{margin-top:2rem!important}.fd-margin-top--lg{margin-top:3rem!important}.fd-margin-top--none{margin-top:0!important}.fd-margin-end--tiny{margin-right:.5rem!important}.fd-margin-end--tiny[dir=rtl],[dir=rtl] .fd-margin-end--tiny{margin-left:.5rem!important;margin-right:0!important}.fd-margin-end--sm{margin-right:1rem!important}.fd-margin-end--sm[dir=rtl],[dir=rtl] .fd-margin-end--sm{margin-left:1rem!important;margin-right:0!important}.fd-margin-end--md{margin-right:2rem!important}.fd-margin-end--md[dir=rtl],[dir=rtl] .fd-margin-end--md{margin-left:2rem!important;margin-right:0!important}.fd-margin-end--lg{margin-right:3rem!important}.fd-margin-end--lg[dir=rtl],[dir=rtl] .fd-margin-end--lg{margin-left:3rem!important;margin-right:0!important}.fd-margin-end--none{margin-right:0}.fd-margin-end--none[dir=rtl],[dir=rtl] .fd-margin-end--none{margin-left:0!important}.fd-margin-bottom--tiny{margin-bottom:.5rem!important}.fd-margin-bottom--sm{margin-bottom:1rem!important}.fd-margin-bottom--md{margin-bottom:2rem!important}.fd-margin-bottom--lg{margin-bottom:3rem!important}.fd-margin-bottom--none{margin-bottom:0!important}.fd-margin-begin--tiny{margin-left:.5rem!important}.fd-margin-begin--tiny[dir=rtl],[dir=rtl] .fd-margin-begin--tiny{margin-right:.5rem!important;margin-left:0!important}.fd-margin-begin--sm{margin-left:1rem!important}.fd-margin-begin--sm[dir=rtl],[dir=rtl] .fd-margin-begin--sm{margin-right:1rem!important;margin-left:0!important}.fd-margin-begin--md{margin-left:2rem!important}.fd-margin-begin--md[dir=rtl],[dir=rtl] .fd-margin-begin--md{margin-right:2rem!important;margin-left:0!important}.fd-margin-begin--lg{margin-left:3rem!important}.fd-margin-begin--lg[dir=rtl],[dir=rtl] .fd-margin-begin--lg{margin-right:3rem!important;margin-left:0!important}.fd-margin-begin--none{margin-left:0}.fd-margin-begin--none[dir=rtl],[dir=rtl] .fd-margin-begin--none{margin-right:0!important}.fd-margin-top-bottom--tiny{margin-top:.5rem!important;margin-bottom:.5rem!important}.fd-margin-top-bottom--sm{margin-top:1rem!important;margin-bottom:1rem!important}.fd-margin-top-bottom--md{margin-top:2rem!important;margin-bottom:2rem!important}.fd-margin-top-bottom--lg{margin-top:3rem!important;margin-bottom:3rem!important}.fd-margin-begin-end--tiny{margin-left:.5rem!important;margin-right:.5rem!important}.fd-margin-begin-end--sm{margin-left:1rem!important;margin-right:1rem!important}.fd-margin-begin-end--md{margin-left:2rem!important;margin-right:2rem!important}.fd-margin-begin-end--lg{margin-left:3rem!important;margin-right:3rem!important}.fd-margin-responsive--sm{margin:0 0 1rem!important}.fd-margin-responsive--md{margin:1rem!important}.fd-margin-responsive--lg{margin:1rem 2rem!important}.fd-margin-responsive--xl{margin:1rem 3rem!important}.fd-margin-negative-begin-end--tiny{margin:0 -.5rem!important}.fd-margin-negative-begin-end--sm{margin:0 -1rem!important}.fd-margin-negative-begin-end--md{margin:0 -2rem!important}.fd-margin-negative-begin-end--lg{margin:0 -3rem!important}\n"], components: [{ type: i1.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { type: i2.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
221
221
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FacetComponent, decorators: [{
222
222
  type: Component,
223
223
  args: [{ selector: 'fd-facet', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
@@ -231,6 +231,8 @@ class FormLabelComponent {
231
231
  this.checkbox = false;
232
232
  /** @deprecated */
233
233
  this.radio = false;
234
+ /** Align label on end */
235
+ this.alignLabelEnd = false;
234
236
  /** Inline help body text */
235
237
  this.inlineHelpTitle = null;
236
238
  /** Glyph of icon triggering inline help */
@@ -253,10 +255,10 @@ class FormLabelComponent {
253
255
  }
254
256
  }
255
257
  FormLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
256
- FormLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FormLabelComponent, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", checkbox: "checkbox", radio: "radio", inlineHelpTitle: "inlineHelpTitle", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement" }, host: { properties: { "class.fd-form-label__wrapper": "this.defaultClass", "class.fd-form-label__wrapper--inline-help": "this.inlineHelpClass", "class.fd-form-label__wrapper--inline-help--after": "this.inlineHelpAfter" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-label\n*/.fd-form-label{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;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;top:50%;transform:translateY(3%);align-items:center;display:flex;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"], components: [{ type: i1$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.InlineHelpDirective, selector: "[fd-inline-help], [fd-inline-help-template]", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help", "fd-inline-help-template"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
258
+ FormLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FormLabelComponent, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", checkbox: "checkbox", radio: "radio", alignLabelEnd: "alignLabelEnd", inlineHelpTitle: "inlineHelpTitle", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement" }, host: { properties: { "class.fd-form-label__wrapper--align-end": "this.alignLabelEnd", "class.fd-form-label__wrapper": "this.defaultClass", "class.fd-form-label__wrapper--inline-help": "this.inlineHelpClass", "class.fd-form-label__wrapper--inline-help--after": "this.inlineHelpAfter" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-label\n*/.fd-form-label{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;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex;padding-bottom:.125rem}.fd-form-label__wrapper--align-end{justify-content:flex-end}.fd-form-label__wrapper span.fd-form-label{margin-bottom:-.125rem}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;top:50%;transform:translateY(3%);align-items:center;display:flex;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"], components: [{ type: i1$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.InlineHelpDirective, selector: "[fd-inline-help], [fd-inline-help-template]", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help", "fd-inline-help-template"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
257
259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelComponent, decorators: [{
258
260
  type: Component,
259
- args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-label\n*/.fd-form-label{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;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;top:50%;transform:translateY(3%);align-items:center;display:flex;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"] }]
261
+ args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-label\n*/.fd-form-label{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;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex;padding-bottom:.125rem}.fd-form-label__wrapper--align-end{justify-content:flex-end}.fd-form-label__wrapper span.fd-form-label{margin-bottom:-.125rem}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;top:50%;transform:translateY(3%);align-items:center;display:flex;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"] }]
260
262
  }], propDecorators: { required: [{
261
263
  type: Input
262
264
  }], colon: [{
@@ -265,6 +267,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
265
267
  type: Input
266
268
  }], radio: [{
267
269
  type: Input
270
+ }], alignLabelEnd: [{
271
+ type: Input
272
+ }, {
273
+ type: HostBinding,
274
+ args: ['class.fd-form-label__wrapper--align-end']
268
275
  }], inlineHelpTitle: [{
269
276
  type: Input
270
277
  }], inlineHelpGlyph: [{