@fundamental-ngx/core 0.59.1-rc.9 → 0.59.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +33 -50
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs +9 -11
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs +206 -293
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +25 -12
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs +11 -14
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs +13 -26
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +11 -11
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +33 -7
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +13 -17
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +32 -24
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +28 -30
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +12 -10
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +202 -100
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs +72 -231
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +12 -12
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +28 -28
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +85 -84
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +21 -24
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +19 -12
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +46 -39
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +66 -103
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +10 -12
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-marker.mjs +69 -59
- package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +92 -118
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +27 -29
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-pagination.mjs +17 -18
- package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-panel.mjs +7 -9
- package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +10 -15
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +12 -15
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +18 -20
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +8 -11
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +6 -8
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-settings.mjs +9 -12
- package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +48 -34
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-slider.mjs +30 -31
- package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +137 -131
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +21 -17
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tile.mjs +375 -631
- package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +7 -9
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +11 -13
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +63 -21
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/package.json +4 -4
- package/types/fundamental-ngx-core-avatar-group-legacy.d.ts +15 -17
- package/types/fundamental-ngx-core-avatar-group.d.ts +1 -1
- package/types/fundamental-ngx-core-avatar.d.ts +66 -86
- package/types/fundamental-ngx-core-breadcrumb.d.ts +13 -5
- package/types/fundamental-ngx-core-calendar.d.ts +3 -4
- package/types/fundamental-ngx-core-card.d.ts +4 -11
- package/types/fundamental-ngx-core-carousel.d.ts +3 -3
- package/types/fundamental-ngx-core-combobox.d.ts +8 -1
- package/types/fundamental-ngx-core-dialog.d.ts +2 -4
- package/types/fundamental-ngx-core-dynamic-page.d.ts +0 -6
- package/types/fundamental-ngx-core-fixed-card-layout.d.ts +7 -7
- package/types/fundamental-ngx-core-grid-list.d.ts +6 -4
- package/types/fundamental-ngx-core-illustrated-message.d.ts +165 -31
- package/types/fundamental-ngx-core-layout-panel.d.ts +19 -131
- package/types/fundamental-ngx-core-list.d.ts +8 -6
- package/types/fundamental-ngx-core-menu.d.ts +16 -13
- package/types/fundamental-ngx-core-message-strip.d.ts +5 -2
- package/types/fundamental-ngx-core-micro-process-flow.d.ts +8 -6
- package/types/fundamental-ngx-core-multi-combobox.d.ts +8 -5
- package/types/fundamental-ngx-core-multi-input.d.ts +24 -16
- package/types/fundamental-ngx-core-nested-list.d.ts +19 -33
- package/types/fundamental-ngx-core-notification.d.ts +2 -2
- package/types/fundamental-ngx-core-object-marker.d.ts +47 -27
- package/types/fundamental-ngx-core-object-status.d.ts +49 -48
- package/types/fundamental-ngx-core-overflow-layout.d.ts +10 -10
- package/types/fundamental-ngx-core-pagination.d.ts +7 -8
- package/types/fundamental-ngx-core-panel.d.ts +2 -4
- package/types/fundamental-ngx-core-popover.d.ts +7 -5
- package/types/fundamental-ngx-core-product-switch.d.ts +5 -4
- package/types/fundamental-ngx-core-resizable-card-layout.d.ts +10 -8
- package/types/fundamental-ngx-core-segmented-button.d.ts +5 -4
- package/types/fundamental-ngx-core-select.d.ts +4 -5
- package/types/fundamental-ngx-core-settings.d.ts +7 -10
- package/types/fundamental-ngx-core-shellbar.d.ts +23 -14
- package/types/fundamental-ngx-core-slider.d.ts +18 -13
- package/types/fundamental-ngx-core-status-indicator.d.ts +42 -58
- package/types/fundamental-ngx-core-tabs.d.ts +9 -7
- package/types/fundamental-ngx-core-tile.d.ts +114 -243
- package/types/fundamental-ngx-core-time.d.ts +5 -4
- package/types/fundamental-ngx-core-token.d.ts +5 -4
- package/types/fundamental-ngx-core-tree.d.ts +1 -1
- package/types/fundamental-ngx-core-user-menu.d.ts +25 -21
|
@@ -91,13 +91,13 @@ const addClassNameToElement = (renderer, element, className) => {
|
|
|
91
91
|
* @param width - dynamic page window width
|
|
92
92
|
**/
|
|
93
93
|
function dynamicPageWidthToSize(width) {
|
|
94
|
-
if (width
|
|
94
|
+
if (width <= 599) {
|
|
95
95
|
return 'small';
|
|
96
96
|
}
|
|
97
|
-
else if (width
|
|
97
|
+
else if (width <= 1023) {
|
|
98
98
|
return 'medium';
|
|
99
99
|
}
|
|
100
|
-
else if (width
|
|
100
|
+
else if (width <= 1439) {
|
|
101
101
|
return 'large';
|
|
102
102
|
}
|
|
103
103
|
return 'extra-large';
|
|
@@ -775,9 +775,6 @@ class DynamicPageComponent {
|
|
|
775
775
|
if (!this.disableSnapOnScroll && this._pageSubheaderComponent?.collapsible) {
|
|
776
776
|
this._addScrollListeners();
|
|
777
777
|
}
|
|
778
|
-
if (this._columnLayout && this.autoResponsive) {
|
|
779
|
-
this._listenToLayoutChange();
|
|
780
|
-
}
|
|
781
778
|
setTimeout(() => this._setContainerPositions());
|
|
782
779
|
this._cd.detectChanges();
|
|
783
780
|
}
|
|
@@ -808,17 +805,6 @@ class DynamicPageComponent {
|
|
|
808
805
|
this._headerCollapsible = this._pageSubheaderComponent?.collapsible;
|
|
809
806
|
this._propagateSizeToChildren();
|
|
810
807
|
}
|
|
811
|
-
/** @hidden
|
|
812
|
-
* Functionality handling column layout changes,
|
|
813
|
-
* - recalculate height of content element
|
|
814
|
-
* - recheck size depending on width of DynamicPage
|
|
815
|
-
*/
|
|
816
|
-
_listenToLayoutChange() {
|
|
817
|
-
this._columnLayout.layoutChange.pipe(debounceTime(50), takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
818
|
-
this.refreshSize();
|
|
819
|
-
this._sizeChangeHandle();
|
|
820
|
-
});
|
|
821
|
-
}
|
|
822
808
|
/** @hidden */
|
|
823
809
|
_propagateSizeToChildren() {
|
|
824
810
|
if (this._headerComponent) {
|
|
@@ -842,10 +828,19 @@ class DynamicPageComponent {
|
|
|
842
828
|
}
|
|
843
829
|
/** @hidden */
|
|
844
830
|
_sizeChangeHandle() {
|
|
845
|
-
if (!this.
|
|
831
|
+
if (!this.autoResponsive) {
|
|
832
|
+
return;
|
|
833
|
+
}
|
|
834
|
+
// Use the article element, not the host element
|
|
835
|
+
const element = this._dynamicPageElement?.nativeElement;
|
|
836
|
+
if (!element) {
|
|
837
|
+
return;
|
|
838
|
+
}
|
|
839
|
+
const dynamicPageWidth = element.getBoundingClientRect().width;
|
|
840
|
+
// Ignore zero-width measurements (element is hidden during layout transitions)
|
|
841
|
+
if (dynamicPageWidth === 0) {
|
|
846
842
|
return;
|
|
847
843
|
}
|
|
848
|
-
const dynamicPageWidth = this._elementRef.nativeElement.getBoundingClientRect().width;
|
|
849
844
|
this._dynamicPageService.pixelsSizeChanged.set(dynamicPageWidth);
|
|
850
845
|
const size = dynamicPageWidthToSize(dynamicPageWidth);
|
|
851
846
|
if (size !== this.size) {
|
|
@@ -868,11 +863,24 @@ class DynamicPageComponent {
|
|
|
868
863
|
}
|
|
869
864
|
/** @hidden Listen for window resize and adjust tab and content positions accordingly */
|
|
870
865
|
_listenOnResize() {
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
this.
|
|
875
|
-
|
|
866
|
+
// When autoResponsive is enabled, observe the dynamic page article element itself
|
|
867
|
+
// This catches both manual resizes AND programmatic layout changes
|
|
868
|
+
if (this.autoResponsive && this._dynamicPageElement) {
|
|
869
|
+
resizeObservable(this._dynamicPageElement.nativeElement)
|
|
870
|
+
.pipe(debounceTime(100), takeUntilDestroyed(this._destroyRef))
|
|
871
|
+
.subscribe(() => {
|
|
872
|
+
this._setContainerPositions();
|
|
873
|
+
this._sizeChangeHandle();
|
|
874
|
+
});
|
|
875
|
+
}
|
|
876
|
+
else {
|
|
877
|
+
// Fallback to window/wrapper resize for non-responsive mode
|
|
878
|
+
const listener = this._dynamicPageWrapper ? this._listenToWrapperResize() : this._listenToWindowResize();
|
|
879
|
+
listener.pipe(debounceTime(100), takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
880
|
+
this._setContainerPositions();
|
|
881
|
+
this._sizeChangeHandle();
|
|
882
|
+
});
|
|
883
|
+
}
|
|
876
884
|
}
|
|
877
885
|
/** @hidden */
|
|
878
886
|
_listenToWrapperResize() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-dynamic-page.mjs","sources":["../../../../libs/core/dynamic-page/constants.ts","../../../../libs/core/dynamic-page/directives/dynamic-page-header-subtitle.directive.ts","../../../../libs/core/dynamic-page/directives/dynamic-page-header-title.directive.ts","../../../../libs/core/dynamic-page/utils.ts","../../../../libs/core/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/core/dynamic-page/dynamic-page-content/dynamic-page-content.component.html","../../../../libs/core/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/core/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.ts","../../../../libs/core/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.ts","../../../../libs/core/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.ts","../../../../libs/core/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.ts","../../../../libs/core/dynamic-page/tokens.ts","../../../../libs/core/dynamic-page/dynamic-page-header/breadcrumb/dynamic-page-breadcrumb.component.ts","../../../../libs/core/dynamic-page/dynamic-page.service.ts","../../../../libs/core/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/core/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.html","../../../../libs/core/dynamic-page/dynamic-page.config.ts","../../../../libs/core/dynamic-page/patch-header-i18n-texts.ts","../../../../libs/core/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.ts","../../../../libs/core/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.html","../../../../libs/core/dynamic-page/dynamic-page-wrapper.directive.ts","../../../../libs/core/dynamic-page/dynamic-page.tokens.ts","../../../../libs/core/dynamic-page/dynamic-page.component.ts","../../../../libs/core/dynamic-page/dynamic-page.component.html","../../../../libs/core/dynamic-page/dynamic-page.module.ts","../../../../libs/core/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 { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '../models/title-directive-context';\n\n@Directive({\n selector: '[fdDynamicPageHeaderSubtitle]',\n standalone: true\n})\nexport class DynamicPageHeaderSubtitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderSubtitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '../models/title-directive-context';\n\n@Directive({\n selector: '[fdDynamicPageHeaderTitle]',\n standalone: true\n})\nexport class DynamicPageHeaderTitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderTitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\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 ChangeDetectorRef,\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 styleUrl: './dynamic-page-content.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: []\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 _showSpacer = false;\n\n /** @hidden */\n constructor(\n public readonly _renderer: Renderer2,\n public readonly elementRef: ElementRef<HTMLElement>,\n private readonly _cdr: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageContent);\n }\n\n /** @hidden */\n _toggleSpacer(state: boolean): void {\n this._showSpacer = state;\n\n this._cdr.markForCheck();\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@if (_showSpacer) {\n <div class=\"footer-spacer\"></div>\n}\n","import { ChangeDetectionStrategy, Component, 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 standalone: true\n})\nexport class DynamicPageFooterComponent {}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive()\nexport class DynamicPageBaseActions {\n /** @hidden */\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 AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\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 host: {\n role: 'toolbar'\n },\n standalone: true\n})\nexport class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n _toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\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 {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../../constants';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\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 host: {\n role: 'toolbar',\n '[style.margin-inline-start]': '\"auto\"'\n },\n standalone: true\n})\nexport class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\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 { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { ToolbarComponent, ToolbarItemDirective } from '@fundamental-ngx/core/toolbar';\nimport { DynamicPageResponsiveSize } from '../../constants';\n\n@Component({\n selector: 'fd-dynamic-page-title-content',\n template: `\n @if (_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 >\n <div fd-toolbar-item>\n <ng-template [ngTemplateOutlet]=\"templateContentRef\"></ng-template>\n </div>\n </fd-toolbar>\n }\n @if (_size !== 'small') {\n <div class=\"fd-dynamic-page__title-content\">\n <ng-template [ngTemplateOutlet]=\"templateContentRef\"></ng-template>\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 providers: [contentDensityObserverProviders()],\n imports: [ToolbarComponent, ToolbarItemDirective, NgTemplateOutlet]\n})\nexport class DynamicPageTitleContentComponent {\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(\n private _changeDetRef: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n this._size = size;\n this._changeDetRef.detectChanges();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT = new InjectionToken('DynamicPageBreadcrumbComponent');\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT } from '../../tokens';\n\n@Component({\n selector: 'fd-dynamic-page-breadcrumb',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT,\n useExisting: DynamicPageBreadcrumbComponent\n }\n ],\n standalone: true\n})\nexport class DynamicPageBreadcrumbComponent {}\n","import { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n collapsed = signal(false);\n\n /** @hidden */\n pinned = signal(false);\n\n /** @hidden */\n pixelsSizeChanged = signal(0);\n\n /** @hidden */\n subheaderVisibilityChange = new Subject<void>();\n\n /** @hidden */\n focusLayoutAction = new Subject<void>();\n\n /** @hidden */\n toggleCollapsed(): void {\n this.collapsed.update((collapsed) => !collapsed);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n computed,\n input\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { BreadcrumbComponent, FD_BREADCRUMB_COMPONENT } from '@fundamental-ngx/core/breadcrumb';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { IgnoreClickOnSelectionDirective, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageHeaderSubtitleDirective } from '../../directives/dynamic-page-header-subtitle.directive';\nimport { DynamicPageHeaderTitleDirective } from '../../directives/dynamic-page-header-title.directive';\nimport { DynamicPageService } from '../../dynamic-page.service';\nimport { FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT } from '../../tokens';\nimport { addClassNameToElement } from '../../utils';\nimport { DynamicPageGlobalActionsComponent } from '../actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from '../actions/dynamic-page-layout-actions.component';\nimport { DynamicPageTitleContentComponent } from '../actions/dynamic-page-title-content.component';\nimport { DynamicPageBreadcrumbComponent } from '../breadcrumb/dynamic-page-breadcrumb.component';\n\nexport const ActionSquashBreakpointPx = 1280;\n\nlet dynamicPageTitleId = 0;\n\n@Component({\n selector: 'fd-dynamic-page-header',\n templateUrl: './dynamic-page-header.component.html',\n styleUrl: './dynamic-page-header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: DYNAMIC_PAGE_HEADER_TOKEN,\n useExisting: DynamicPageHeaderComponent\n }\n ],\n imports: [NgTemplateOutlet, IgnoreClickOnSelectionDirective]\n})\nexport class DynamicPageHeaderComponent implements OnInit, AfterViewInit, OnDestroy, DynamicPageHeader {\n /** Title property for dynamic page */\n @Input()\n title: string;\n\n /** Whether title should wrap instead of truncation. */\n @Input()\n titleWrap = false;\n\n /** Subtitle property for dynamic page */\n @Input()\n subtitle: string;\n\n /** Whether subtitle should wrap instead of truncation. */\n @Input()\n subtitleWrap = false;\n\n /**\n * @hidden\n * Template used to provide a custom content for the subtitle page header area.\n */\n @ContentChild(DynamicPageHeaderSubtitleDirective)\n _subtitleTemplate: Nullable<DynamicPageHeaderSubtitleDirective>;\n\n /**\n * @hidden\n * Template used to provide a custom content for the title page header area.\n */\n @ContentChild(DynamicPageHeaderTitleDirective)\n _titleTemplate: Nullable<DynamicPageHeaderSubtitleDirective>;\n\n /** @hidden */\n @ContentChild(FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT)\n _dynamicPageBreadcrumbComponent: DynamicPageBreadcrumbComponent;\n\n /** @hidden */\n @ContentChild(FD_BREADCRUMB_COMPONENT)\n _breadcrumbComponent: BreadcrumbComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageGlobalActionsComponent)\n _globalActions: DynamicPageGlobalActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageLayoutActionsComponent)\n _layoutActions: DynamicPageLayoutActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageTitleContentComponent)\n _contentToolbar: DynamicPageTitleContentComponent;\n\n /** @hidden */\n _actionsSquashed$ = computed(() => this._dynamicPageService.pixelsSizeChanged() < ActionSquashBreakpointPx);\n\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /**\n * Heading level of the dynamic page header title.\n */\n headingLevel = input<HeadingLevel>(2);\n\n /** @hidden */\n _headingLevel = computed(() =>\n this.headingLevel() ? Number.parseInt(`${this.headingLevel()}`.replace(/\\D/g, ''), 10) : 2\n );\n\n /** Dynamic page title id, it has some default value if not set, */\n titleId = input('fd-dynamic-page-title-id-' + dynamicPageTitleId++);\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 readonly _dynamicPageService: DynamicPageService,\n private _changeDetRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageTitleArea);\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._addCustomClassToBreadcrumb();\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","<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n @if (_dynamicPageBreadcrumbComponent || _actionsSquashed$()) {\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n @if (_dynamicPageBreadcrumbComponent) {\n <nav\n aria-label=\"Breadcrumbs\"\n class=\"fd-dynamic-page__breadcrumb-wrapper\"\n (click)=\"stopPropagation($event)\"\n >\n <ng-content select=\"fd-dynamic-page-breadcrumb\"></ng-content>\n </nav>\n }\n\n @if (_actionsSquashed$()) {\n <ng-template [ngTemplateOutlet]=\"dynamicPageLayoutActionsRef\"></ng-template>\n }\n </div>\n }\n <div class=\"fd-dynamic-page__title-container\">\n @if (_dynamicPageService.collapsed()) {\n <ng-content select=\"fd-facet\"></ng-content>\n }\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span\n role=\"heading\"\n class=\"fd-dynamic-page__title\"\n [attr.aria-level]=\"_headingLevel()\"\n [id]=\"titleId()\"\n [class.fd-dynamic-page__title--wrap]=\"titleWrap\"\n fdkIgnoreClickOnSelection\n >\n <ng-template [ngTemplateOutlet]=\"_titleTemplate ? titleRef : defaultTitle\"></ng-template>\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-template [ngTemplateOutlet]=\"dynamicPageGlobalActionsRef\"></ng-template>\n @if (!_actionsSquashed$()) {\n <ng-template [ngTemplateOutlet]=\"dynamicPageLayoutActionsRef\"></ng-template>\n }\n </div>\n </div>\n @if (_dynamicPageService.collapsed() && (subtitle || _subtitleTemplate)) {\n <span\n role=\"heading\"\n [attr.aria-level]=\"_headingLevel() + 1\"\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdkIgnoreClickOnSelection\n >\n <ng-template\n [ngTemplateOutlet]=\"_subtitleTemplate ? subtitleRef : defaultSubtitle\"\n ></ng-template>\n </span>\n }\n </div>\n </div>\n </div>\n</div>\n@if (!_dynamicPageService.collapsed() && (subtitle || _subtitleTemplate)) {\n <span\n class=\"fd-dynamic-page__subtitle\"\n role=\"heading\"\n [attr.aria-level]=\"_headingLevel() + 1\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdkIgnoreClickOnSelection\n >\n <ng-template [ngTemplateOutlet]=\"_subtitleTemplate ? subtitleRef : defaultSubtitle\"></ng-template>\n </span>\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<ng-template #titleRef>\n <ng-template\n [ngTemplateOutlet]=\"_titleTemplate!.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: _dynamicPageService.collapsed() }\"\n ></ng-template>\n</ng-template>\n<ng-template #subtitleRef>\n <ng-template\n [ngTemplateOutlet]=\"_subtitleTemplate!.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: _dynamicPageService.collapsed() }\"\n ></ng-template>\n</ng-template>\n<ng-template #defaultSubtitle>\n {{ subtitle }}\n</ng-template>\n<ng-template #titleRef>\n <ng-template\n [ngTemplateOutlet]=\"_titleTemplate!.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: _dynamicPageService.collapsed() }\"\n ></ng-template>\n</ng-template>\n<ng-template #defaultTitle>\n {{ title }}\n</ng-template>\n","import { Injectable } from '@angular/core';\n\n/**\n * Default options for core dynamic-page\n * @deprecated use i18n coreDynamicPage key instead\n */\n@Injectable()\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 { inject } from '@angular/core';\nimport { FD_LANGUAGE, FdLanguage } from '@fundamental-ngx/i18n';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DynamicPageConfig } from './dynamic-page.config';\n\n/**\n * Patch header i18n texts\n */\nexport function patchHeaderI18nTexts(config?: DynamicPageConfig): Observable<FdLanguage> {\n const lang$ = inject(FD_LANGUAGE, { skipSelf: true });\n if (config) {\n return lang$.pipe(\n map((lang) => ({\n ...lang,\n coreDynamicPage: {\n ...config\n }\n }))\n );\n }\n return lang$;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FD_LANGUAGE, resolveTranslationSignalFn } from '@fundamental-ngx/i18n';\nimport { DynamicPageConfig } from '../../dynamic-page.config';\nimport { DynamicPageService } from '../../dynamic-page.service';\nimport { patchHeaderI18nTexts } from '../../patch-header-i18n-texts';\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 imports: [ButtonComponent, IconComponent],\n providers: [\n {\n provide: FD_LANGUAGE,\n useFactory: patchHeaderI18nTexts,\n deps: [[new Optional(), DynamicPageConfig]]\n }\n ]\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._dynamicPageService.collapsed.set(collapsed);\n this._dynamicPageService.subheaderVisibilityChange.next();\n }\n\n get collapsed(): boolean {\n return this._dynamicPageService.collapsed();\n }\n\n /**\n * ARIA label for button when the header is collapsed\n */\n @Input()\n expandLabel: string;\n\n /**\n * ARIA label for button when the header is expanded\n */\n @Input()\n collapseLabel: string;\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: Nullable<string> = 'Collapsed Header';\n\n /**\n * aria label for pin state of pin button\n */\n @Input()\n pinAriaLabel: string;\n\n /**\n * aria label for unpin state of pin button\n */\n @Input()\n unpinAriaLabel: string;\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 * id for collapsible header\n */\n collapsibleHeaderId = `${this.id}-collapsible`;\n\n /**\n * Aria Label for the toggle button\n * @hidden\n **/\n get _toggleButtonAriaLabel(): string {\n const expandLabel = this.expandLabel || this._defaultExpandLabel();\n const collapseLabel = this.collapseLabel || this._defaultCollapseLabel();\n return this._collapsed ? expandLabel : collapseLabel;\n }\n\n /**\n * Aria Label for the pin button\n * @hidden\n **/\n get _pinButtonAriaLabel(): string {\n const pinLabel = this.pinAriaLabel || this._defaultPinLabel();\n const unpinLabel = this.unpinAriaLabel || this._defaultUnpinLabel();\n return this._pinned ? unpinLabel : pinLabel;\n }\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 private _resolveTranslationSignal = resolveTranslationSignalFn();\n\n /** @hidden */\n private _defaultExpandLabel = this._resolveTranslationSignal('coreDynamicPage.expandLabel');\n\n /** @hidden */\n private _defaultCollapseLabel = this._resolveTranslationSignal('coreDynamicPage.collapseLabel');\n\n /** @hidden */\n private _defaultPinLabel = this._resolveTranslationSignal('coreDynamicPage.pinLabel');\n\n /** @hidden */\n private _defaultUnpinLabel = this._resolveTranslationSignal('coreDynamicPage.unpinLabel');\n\n /** @hidden */\n constructor(readonly _dynamicPageService: DynamicPageService) {}\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.collapsed = !this.collapsed;\n this.collapsedChange.emit(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.set(this._pinned);\n }\n}\n","<div class=\"fd-dynamic-page__collapsible-header-container\">\n <section\n role=\"region\"\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"_dynamicPageService.collapsed()\"\n [attr.id]=\"collapsibleHeaderId\"\n #headerContent\n >\n <ng-content></ng-content>\n </section>\n @if (collapsible) {\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n [ariaLabel]=\"_toggleButtonAriaLabel\"\n [attr.title]=\"_toggleButtonAriaLabel\"\n [attr.aria-expanded]=\"!_dynamicPageService.collapsed()\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <fd-icon [glyph]=\"_dynamicPageService.collapsed() ? 'slim-arrow-down' : 'slim-arrow-up'\"></fd-icon>\n </button>\n @if (pinnable && !_dynamicPageService.collapsed()) {\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinButtonAriaLabel\"\n [attr.title]=\"_pinButtonAriaLabel\"\n [toggled]=\"_pinned\"\n (click)=\"togglePinned()\"\n >\n <fd-icon glyph=\"pushpin-off\"></fd-icon>\n </button>\n }\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </div>\n }\n</div>\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[fdDynamicPageWrapper], [fd-dynamic-page-wrapper]',\n standalone: true\n})\nexport class DynamicPageWrapperDirective {\n /** @hidden */\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n}\n","import { InjectionToken } from '@angular/core';\nimport { DynamicPage } from './dynamic-page.interface';\n\nexport const FD_DYNAMIC_PAGE = new InjectionToken<DynamicPage>('FD_DYNAMIC_PAGE');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n inject,\n Inject,\n Input,\n Optional,\n QueryList,\n Renderer2,\n viewChild,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport {\n FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT,\n FlexibleColumnLayoutComponent\n} from '@fundamental-ngx/core/flexible-column-layout';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { DynamicPageService } from './dynamic-page.service';\nimport { addClassNameToElement, dynamicPageWidthToSize } from './utils';\n\nimport { CdkScrollable } from '@angular/cdk/overlay';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { FD_TABLIST, TabList } from '@fundamental-ngx/core/shared';\nimport { asyncScheduler, fromEvent, Observable, startWith } from 'rxjs';\nimport { debounceTime, map, observeOn } from 'rxjs/operators';\nimport { DynamicPage } from './dynamic-page.interface';\nimport { FD_DYNAMIC_PAGE } from './dynamic-page.tokens';\n\n@Component({\n selector: 'fd-dynamic-page',\n templateUrl: './dynamic-page.component.html',\n styleUrl: './dynamic-page.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n DynamicPageService,\n {\n provide: FD_DYNAMIC_PAGE,\n useExisting: DynamicPageComponent\n }\n ],\n imports: [CdkScrollable, ScrollbarDirective]\n})\nexport class DynamicPageComponent implements AfterViewInit, DynamicPage {\n /** Whether DynamicPage should snap on scroll */\n @Input() disableSnapOnScroll = false;\n\n /** aria label for the page */\n @Input() ariaLabel: Nullable<string>;\n\n /**\n * aria roledescription for the page\n * default: \"Dynamic Page\"\n *\n */\n @Input() ariaRoledescription = 'Dynamic Page';\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input() 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() 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 /** 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() offset = 0;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input() expandContent = true;\n\n /**\n * Whether dynamic page has position relative.\n * This is needed in cases where Dynamic Page is used in Flexible Column Layout and has a floating footer\n */\n @Input() positionRelative = false;\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 @ContentChildren(DynamicPageContentComponent, { descendants: true })\n _contentComponent: QueryList<DynamicPageContentComponent>;\n\n /** @hidden reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n _footerComponent: DynamicPageContentComponent;\n\n /** @hidden reference to tab component */\n @ContentChild(FD_TABLIST)\n _tabComponent: TabList;\n\n /** @hidden */\n @ViewChild('dynamicPageElement')\n _dynamicPageElement: ElementRef;\n\n /** @hidden */\n @ViewChild(ScrollbarDirective)\n _scrollbar: ScrollbarDirective;\n\n /** Whether the dynamic page is collapsed */\n collapsed = computed(() => this._dynamicPageService.collapsed());\n\n /** @hidden */\n _size: DynamicPageResponsiveSize = 'extra-large';\n\n /** @hidden */\n _headerCollapsible = true;\n\n /** @hidden */\n _isExpanded = computed(() => !this._dynamicPageService.collapsed());\n\n /** @hidden */\n private _headerButton = viewChild<ElementRef<HTMLSpanElement>>('headerButton');\n\n /** @hidden **/\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(\n protected _cd: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n @Optional() @Inject(FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT) 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 this._setContentFooterSpacer();\n\n if (!this.disableSnapOnScroll && this._pageSubheaderComponent?.collapsible) {\n this._addScrollListeners();\n }\n\n if (this._columnLayout && this.autoResponsive) {\n this._listenToLayoutChange();\n }\n\n setTimeout(() => this._setContainerPositions());\n\n this._cd.detectChanges();\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 this._headerButton()?.nativeElement.focus();\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 /** @hidden */\n _getScrollElement(): HTMLElement | null {\n return this._tabComponent?.scrollableElement?.nativeElement || this._scrollbar?.elementRef?.nativeElement;\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(debounceTime(50), takeUntilDestroyed(this._destroyRef)).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(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._setContainerPositions());\n }\n\n /** @hidden */\n private _getCalculatedFullHeight(element: HTMLElement): string | null {\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.set(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 element = this._getScrollElement();\n if (element) {\n fromEvent(element, 'scroll')\n .pipe(debounceTime(10), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n const collapse =\n !this._dynamicPageService.pinned() &&\n (element.scrollTop > 0 || element.scrollHeight <= element.clientHeight);\n this._dynamicPageService.collapsed.set(collapse);\n });\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), takeUntilDestroyed(this._destroyRef)).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 /** @hidden */\n private _setContentFooterSpacer(): void {\n this._contentComponent.changes\n .pipe(\n startWith(this._contentComponent.toArray()),\n observeOn(asyncScheduler),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((components) => {\n components.forEach((content, index) => {\n /** show spacer when:\n * a) footer + no tabs = only last\n * b) footer + tabs, not stacked = all\n * c) footer + tabs, stacked = only last\n */\n content._toggleSpacer(\n this._footerComponent && (!this._tabComponent?.stackContent || index === components.length - 1)\n );\n });\n });\n }\n}\n","<article\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 [attr.aria-roledescription]=\"ariaRoledescription\"\n [style.position]=\"positionRelative ? 'relative' : null\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div (click)=\"toggleCollapse()\">\n @if (_headerCollapsible) {\n <span\n #headerButton\n role=\"button\"\n [attr.aria-expanded]=\"_isExpanded()\"\n [attr.aria-labelledby]=\"_headerComponent?.titleId()\"\n aria-label=\"Toggle header\"\n tabindex=\"0\"\n (keydown.enter)=\"toggleCollapse()\"\n class=\"fd-dynamic-page__header-button\"\n >\n </span>\n }\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </header>\n <ng-content select=\"fd-tab-list\"></ng-content>\n <ng-content select=\"fd-wizard\"></ng-content>\n <ng-content select=\"fdp-icon-tab-bar\"></ng-content>\n @if (!_tabComponent) {\n <div fd-scrollbar>\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n </div>\n } @else {\n <div>\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n </div>\n }\n <footer>\n <ng-content select=\"fd-dynamic-page-footer\"></ng-content>\n </footer>\n</article>\n","import { NgModule } from '@angular/core';\n\nimport { DynamicPageHeaderSubtitleDirective } from './directives/dynamic-page-header-subtitle.directive';\nimport { DynamicPageHeaderTitleDirective } from './directives/dynamic-page-header-title.directive';\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 { DynamicPageTitleContentComponent } from './dynamic-page-header/actions/dynamic-page-title-content.component';\nimport { DynamicPageBreadcrumbComponent } from './dynamic-page-header/breadcrumb/dynamic-page-breadcrumb.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { DynamicPageComponent } from './dynamic-page.component';\n\nconst components = [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective,\n DynamicPageBreadcrumbComponent\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class DynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DynamicPageService","i2.DynamicPageWrapperDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-dynamic-page.mjs","sources":["../../../../libs/core/dynamic-page/constants.ts","../../../../libs/core/dynamic-page/directives/dynamic-page-header-subtitle.directive.ts","../../../../libs/core/dynamic-page/directives/dynamic-page-header-title.directive.ts","../../../../libs/core/dynamic-page/utils.ts","../../../../libs/core/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/core/dynamic-page/dynamic-page-content/dynamic-page-content.component.html","../../../../libs/core/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/core/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.ts","../../../../libs/core/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.ts","../../../../libs/core/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.ts","../../../../libs/core/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.ts","../../../../libs/core/dynamic-page/tokens.ts","../../../../libs/core/dynamic-page/dynamic-page-header/breadcrumb/dynamic-page-breadcrumb.component.ts","../../../../libs/core/dynamic-page/dynamic-page.service.ts","../../../../libs/core/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/core/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.html","../../../../libs/core/dynamic-page/dynamic-page.config.ts","../../../../libs/core/dynamic-page/patch-header-i18n-texts.ts","../../../../libs/core/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.ts","../../../../libs/core/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.html","../../../../libs/core/dynamic-page/dynamic-page-wrapper.directive.ts","../../../../libs/core/dynamic-page/dynamic-page.tokens.ts","../../../../libs/core/dynamic-page/dynamic-page.component.ts","../../../../libs/core/dynamic-page/dynamic-page.component.html","../../../../libs/core/dynamic-page/dynamic-page.module.ts","../../../../libs/core/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 { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '../models/title-directive-context';\n\n@Directive({\n selector: '[fdDynamicPageHeaderSubtitle]',\n standalone: true\n})\nexport class DynamicPageHeaderSubtitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderSubtitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '../models/title-directive-context';\n\n@Directive({\n selector: '[fdDynamicPageHeaderTitle]',\n standalone: true\n})\nexport class DynamicPageHeaderTitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderTitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\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 ChangeDetectorRef,\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 styleUrl: './dynamic-page-content.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: []\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 _showSpacer = false;\n\n /** @hidden */\n constructor(\n public readonly _renderer: Renderer2,\n public readonly elementRef: ElementRef<HTMLElement>,\n private readonly _cdr: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageContent);\n }\n\n /** @hidden */\n _toggleSpacer(state: boolean): void {\n this._showSpacer = state;\n\n this._cdr.markForCheck();\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@if (_showSpacer) {\n <div class=\"footer-spacer\"></div>\n}\n","import { ChangeDetectionStrategy, Component, 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 standalone: true\n})\nexport class DynamicPageFooterComponent {}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive()\nexport class DynamicPageBaseActions {\n /** @hidden */\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 AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\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 host: {\n role: 'toolbar'\n },\n standalone: true\n})\nexport class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n _toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\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 {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../../constants';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\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 host: {\n role: 'toolbar',\n '[style.margin-inline-start]': '\"auto\"'\n },\n standalone: true\n})\nexport class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\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 { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { ToolbarComponent, ToolbarItemDirective } from '@fundamental-ngx/core/toolbar';\nimport { DynamicPageResponsiveSize } from '../../constants';\n\n@Component({\n selector: 'fd-dynamic-page-title-content',\n template: `\n @if (_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 >\n <div fd-toolbar-item>\n <ng-template [ngTemplateOutlet]=\"templateContentRef\"></ng-template>\n </div>\n </fd-toolbar>\n }\n @if (_size !== 'small') {\n <div class=\"fd-dynamic-page__title-content\">\n <ng-template [ngTemplateOutlet]=\"templateContentRef\"></ng-template>\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 providers: [contentDensityObserverProviders()],\n imports: [ToolbarComponent, ToolbarItemDirective, NgTemplateOutlet]\n})\nexport class DynamicPageTitleContentComponent {\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(\n private _changeDetRef: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n this._size = size;\n this._changeDetRef.detectChanges();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT = new InjectionToken('DynamicPageBreadcrumbComponent');\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT } from '../../tokens';\n\n@Component({\n selector: 'fd-dynamic-page-breadcrumb',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT,\n useExisting: DynamicPageBreadcrumbComponent\n }\n ],\n standalone: true\n})\nexport class DynamicPageBreadcrumbComponent {}\n","import { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n collapsed = signal(false);\n\n /** @hidden */\n pinned = signal(false);\n\n /** @hidden */\n pixelsSizeChanged = signal(0);\n\n /** @hidden */\n subheaderVisibilityChange = new Subject<void>();\n\n /** @hidden */\n focusLayoutAction = new Subject<void>();\n\n /** @hidden */\n toggleCollapsed(): void {\n this.collapsed.update((collapsed) => !collapsed);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n computed,\n input\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { BreadcrumbComponent, FD_BREADCRUMB_COMPONENT } from '@fundamental-ngx/core/breadcrumb';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { IgnoreClickOnSelectionDirective, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageHeaderSubtitleDirective } from '../../directives/dynamic-page-header-subtitle.directive';\nimport { DynamicPageHeaderTitleDirective } from '../../directives/dynamic-page-header-title.directive';\nimport { DynamicPageService } from '../../dynamic-page.service';\nimport { FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT } from '../../tokens';\nimport { addClassNameToElement } from '../../utils';\nimport { DynamicPageGlobalActionsComponent } from '../actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from '../actions/dynamic-page-layout-actions.component';\nimport { DynamicPageTitleContentComponent } from '../actions/dynamic-page-title-content.component';\nimport { DynamicPageBreadcrumbComponent } from '../breadcrumb/dynamic-page-breadcrumb.component';\n\nexport const ActionSquashBreakpointPx = 1280;\n\nlet dynamicPageTitleId = 0;\n\n@Component({\n selector: 'fd-dynamic-page-header',\n templateUrl: './dynamic-page-header.component.html',\n styleUrl: './dynamic-page-header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: DYNAMIC_PAGE_HEADER_TOKEN,\n useExisting: DynamicPageHeaderComponent\n }\n ],\n imports: [NgTemplateOutlet, IgnoreClickOnSelectionDirective]\n})\nexport class DynamicPageHeaderComponent implements OnInit, AfterViewInit, OnDestroy, DynamicPageHeader {\n /** Title property for dynamic page */\n @Input()\n title: string;\n\n /** Whether title should wrap instead of truncation. */\n @Input()\n titleWrap = false;\n\n /** Subtitle property for dynamic page */\n @Input()\n subtitle: string;\n\n /** Whether subtitle should wrap instead of truncation. */\n @Input()\n subtitleWrap = false;\n\n /**\n * @hidden\n * Template used to provide a custom content for the subtitle page header area.\n */\n @ContentChild(DynamicPageHeaderSubtitleDirective)\n _subtitleTemplate: Nullable<DynamicPageHeaderSubtitleDirective>;\n\n /**\n * @hidden\n * Template used to provide a custom content for the title page header area.\n */\n @ContentChild(DynamicPageHeaderTitleDirective)\n _titleTemplate: Nullable<DynamicPageHeaderSubtitleDirective>;\n\n /** @hidden */\n @ContentChild(FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT)\n _dynamicPageBreadcrumbComponent: DynamicPageBreadcrumbComponent;\n\n /** @hidden */\n @ContentChild(FD_BREADCRUMB_COMPONENT)\n _breadcrumbComponent: BreadcrumbComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageGlobalActionsComponent)\n _globalActions: DynamicPageGlobalActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageLayoutActionsComponent)\n _layoutActions: DynamicPageLayoutActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageTitleContentComponent)\n _contentToolbar: DynamicPageTitleContentComponent;\n\n /** @hidden */\n _actionsSquashed$ = computed(() => this._dynamicPageService.pixelsSizeChanged() < ActionSquashBreakpointPx);\n\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /**\n * Heading level of the dynamic page header title.\n */\n headingLevel = input<HeadingLevel>(2);\n\n /** @hidden */\n _headingLevel = computed(() =>\n this.headingLevel() ? Number.parseInt(`${this.headingLevel()}`.replace(/\\D/g, ''), 10) : 2\n );\n\n /** Dynamic page title id, it has some default value if not set, */\n titleId = input('fd-dynamic-page-title-id-' + dynamicPageTitleId++);\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 readonly _dynamicPageService: DynamicPageService,\n private _changeDetRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageTitleArea);\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._addCustomClassToBreadcrumb();\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","<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n @if (_dynamicPageBreadcrumbComponent || _actionsSquashed$()) {\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n @if (_dynamicPageBreadcrumbComponent) {\n <nav\n aria-label=\"Breadcrumbs\"\n class=\"fd-dynamic-page__breadcrumb-wrapper\"\n (click)=\"stopPropagation($event)\"\n >\n <ng-content select=\"fd-dynamic-page-breadcrumb\"></ng-content>\n </nav>\n }\n\n @if (_actionsSquashed$()) {\n <ng-template [ngTemplateOutlet]=\"dynamicPageLayoutActionsRef\"></ng-template>\n }\n </div>\n }\n <div class=\"fd-dynamic-page__title-container\">\n @if (_dynamicPageService.collapsed()) {\n <ng-content select=\"fd-facet\"></ng-content>\n }\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span\n role=\"heading\"\n class=\"fd-dynamic-page__title\"\n [attr.aria-level]=\"_headingLevel()\"\n [id]=\"titleId()\"\n [class.fd-dynamic-page__title--wrap]=\"titleWrap\"\n fdkIgnoreClickOnSelection\n >\n <ng-template [ngTemplateOutlet]=\"_titleTemplate ? titleRef : defaultTitle\"></ng-template>\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-template [ngTemplateOutlet]=\"dynamicPageGlobalActionsRef\"></ng-template>\n @if (!_actionsSquashed$()) {\n <ng-template [ngTemplateOutlet]=\"dynamicPageLayoutActionsRef\"></ng-template>\n }\n </div>\n </div>\n @if (_dynamicPageService.collapsed() && (subtitle || _subtitleTemplate)) {\n <span\n role=\"heading\"\n [attr.aria-level]=\"_headingLevel() + 1\"\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdkIgnoreClickOnSelection\n >\n <ng-template\n [ngTemplateOutlet]=\"_subtitleTemplate ? subtitleRef : defaultSubtitle\"\n ></ng-template>\n </span>\n }\n </div>\n </div>\n </div>\n</div>\n@if (!_dynamicPageService.collapsed() && (subtitle || _subtitleTemplate)) {\n <span\n class=\"fd-dynamic-page__subtitle\"\n role=\"heading\"\n [attr.aria-level]=\"_headingLevel() + 1\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdkIgnoreClickOnSelection\n >\n <ng-template [ngTemplateOutlet]=\"_subtitleTemplate ? subtitleRef : defaultSubtitle\"></ng-template>\n </span>\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<ng-template #titleRef>\n <ng-template\n [ngTemplateOutlet]=\"_titleTemplate!.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: _dynamicPageService.collapsed() }\"\n ></ng-template>\n</ng-template>\n<ng-template #subtitleRef>\n <ng-template\n [ngTemplateOutlet]=\"_subtitleTemplate!.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: _dynamicPageService.collapsed() }\"\n ></ng-template>\n</ng-template>\n<ng-template #defaultSubtitle>\n {{ subtitle }}\n</ng-template>\n<ng-template #titleRef>\n <ng-template\n [ngTemplateOutlet]=\"_titleTemplate!.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: _dynamicPageService.collapsed() }\"\n ></ng-template>\n</ng-template>\n<ng-template #defaultTitle>\n {{ title }}\n</ng-template>\n","import { Injectable } from '@angular/core';\n\n/**\n * Default options for core dynamic-page\n * @deprecated use i18n coreDynamicPage key instead\n */\n@Injectable()\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 { inject } from '@angular/core';\nimport { FD_LANGUAGE, FdLanguage } from '@fundamental-ngx/i18n';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DynamicPageConfig } from './dynamic-page.config';\n\n/**\n * Patch header i18n texts\n */\nexport function patchHeaderI18nTexts(config?: DynamicPageConfig): Observable<FdLanguage> {\n const lang$ = inject(FD_LANGUAGE, { skipSelf: true });\n if (config) {\n return lang$.pipe(\n map((lang) => ({\n ...lang,\n coreDynamicPage: {\n ...config\n }\n }))\n );\n }\n return lang$;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FD_LANGUAGE, resolveTranslationSignalFn } from '@fundamental-ngx/i18n';\nimport { DynamicPageConfig } from '../../dynamic-page.config';\nimport { DynamicPageService } from '../../dynamic-page.service';\nimport { patchHeaderI18nTexts } from '../../patch-header-i18n-texts';\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 imports: [ButtonComponent, IconComponent],\n providers: [\n {\n provide: FD_LANGUAGE,\n useFactory: patchHeaderI18nTexts,\n deps: [[new Optional(), DynamicPageConfig]]\n }\n ]\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._dynamicPageService.collapsed.set(collapsed);\n this._dynamicPageService.subheaderVisibilityChange.next();\n }\n\n get collapsed(): boolean {\n return this._dynamicPageService.collapsed();\n }\n\n /**\n * ARIA label for button when the header is collapsed\n */\n @Input()\n expandLabel: string;\n\n /**\n * ARIA label for button when the header is expanded\n */\n @Input()\n collapseLabel: string;\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: Nullable<string> = 'Collapsed Header';\n\n /**\n * aria label for pin state of pin button\n */\n @Input()\n pinAriaLabel: string;\n\n /**\n * aria label for unpin state of pin button\n */\n @Input()\n unpinAriaLabel: string;\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 * id for collapsible header\n */\n collapsibleHeaderId = `${this.id}-collapsible`;\n\n /**\n * Aria Label for the toggle button\n * @hidden\n **/\n get _toggleButtonAriaLabel(): string {\n const expandLabel = this.expandLabel || this._defaultExpandLabel();\n const collapseLabel = this.collapseLabel || this._defaultCollapseLabel();\n return this._collapsed ? expandLabel : collapseLabel;\n }\n\n /**\n * Aria Label for the pin button\n * @hidden\n **/\n get _pinButtonAriaLabel(): string {\n const pinLabel = this.pinAriaLabel || this._defaultPinLabel();\n const unpinLabel = this.unpinAriaLabel || this._defaultUnpinLabel();\n return this._pinned ? unpinLabel : pinLabel;\n }\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 private _resolveTranslationSignal = resolveTranslationSignalFn();\n\n /** @hidden */\n private _defaultExpandLabel = this._resolveTranslationSignal('coreDynamicPage.expandLabel');\n\n /** @hidden */\n private _defaultCollapseLabel = this._resolveTranslationSignal('coreDynamicPage.collapseLabel');\n\n /** @hidden */\n private _defaultPinLabel = this._resolveTranslationSignal('coreDynamicPage.pinLabel');\n\n /** @hidden */\n private _defaultUnpinLabel = this._resolveTranslationSignal('coreDynamicPage.unpinLabel');\n\n /** @hidden */\n constructor(readonly _dynamicPageService: DynamicPageService) {}\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.collapsed = !this.collapsed;\n this.collapsedChange.emit(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.set(this._pinned);\n }\n}\n","<div class=\"fd-dynamic-page__collapsible-header-container\">\n <section\n role=\"region\"\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"_dynamicPageService.collapsed()\"\n [attr.id]=\"collapsibleHeaderId\"\n #headerContent\n >\n <ng-content></ng-content>\n </section>\n @if (collapsible) {\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n [ariaLabel]=\"_toggleButtonAriaLabel\"\n [attr.title]=\"_toggleButtonAriaLabel\"\n [attr.aria-expanded]=\"!_dynamicPageService.collapsed()\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <fd-icon [glyph]=\"_dynamicPageService.collapsed() ? 'slim-arrow-down' : 'slim-arrow-up'\"></fd-icon>\n </button>\n @if (pinnable && !_dynamicPageService.collapsed()) {\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinButtonAriaLabel\"\n [attr.title]=\"_pinButtonAriaLabel\"\n [toggled]=\"_pinned\"\n (click)=\"togglePinned()\"\n >\n <fd-icon glyph=\"pushpin-off\"></fd-icon>\n </button>\n }\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </div>\n }\n</div>\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[fdDynamicPageWrapper], [fd-dynamic-page-wrapper]',\n standalone: true\n})\nexport class DynamicPageWrapperDirective {\n /** @hidden */\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n}\n","import { InjectionToken } from '@angular/core';\nimport { DynamicPage } from './dynamic-page.interface';\n\nexport const FD_DYNAMIC_PAGE = new InjectionToken<DynamicPage>('FD_DYNAMIC_PAGE');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n inject,\n Inject,\n Input,\n Optional,\n QueryList,\n Renderer2,\n viewChild,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport {\n FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT,\n FlexibleColumnLayoutComponent\n} from '@fundamental-ngx/core/flexible-column-layout';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { DynamicPageService } from './dynamic-page.service';\nimport { addClassNameToElement, dynamicPageWidthToSize } from './utils';\n\nimport { CdkScrollable } from '@angular/cdk/overlay';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { FD_TABLIST, TabList } from '@fundamental-ngx/core/shared';\nimport { asyncScheduler, fromEvent, Observable, startWith } from 'rxjs';\nimport { debounceTime, map, observeOn } from 'rxjs/operators';\nimport { DynamicPage } from './dynamic-page.interface';\nimport { FD_DYNAMIC_PAGE } from './dynamic-page.tokens';\n\n@Component({\n selector: 'fd-dynamic-page',\n templateUrl: './dynamic-page.component.html',\n styleUrl: './dynamic-page.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n DynamicPageService,\n {\n provide: FD_DYNAMIC_PAGE,\n useExisting: DynamicPageComponent\n }\n ],\n imports: [CdkScrollable, ScrollbarDirective]\n})\nexport class DynamicPageComponent implements AfterViewInit, DynamicPage {\n /** Whether DynamicPage should snap on scroll */\n @Input() disableSnapOnScroll = false;\n\n /** aria label for the page */\n @Input() ariaLabel: Nullable<string>;\n\n /**\n * aria roledescription for the page\n * default: \"Dynamic Page\"\n *\n */\n @Input() ariaRoledescription = 'Dynamic Page';\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input() 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() 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 /** 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() offset = 0;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input() expandContent = true;\n\n /**\n * Whether dynamic page has position relative.\n * This is needed in cases where Dynamic Page is used in Flexible Column Layout and has a floating footer\n */\n @Input() positionRelative = false;\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 @ContentChildren(DynamicPageContentComponent, { descendants: true })\n _contentComponent: QueryList<DynamicPageContentComponent>;\n\n /** @hidden reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n _footerComponent: DynamicPageContentComponent;\n\n /** @hidden reference to tab component */\n @ContentChild(FD_TABLIST)\n _tabComponent: TabList;\n\n /** @hidden */\n @ViewChild('dynamicPageElement')\n _dynamicPageElement: ElementRef;\n\n /** @hidden */\n @ViewChild(ScrollbarDirective)\n _scrollbar: ScrollbarDirective;\n\n /** Whether the dynamic page is collapsed */\n collapsed = computed(() => this._dynamicPageService.collapsed());\n\n /** @hidden */\n _size: DynamicPageResponsiveSize = 'extra-large';\n\n /** @hidden */\n _headerCollapsible = true;\n\n /** @hidden */\n _isExpanded = computed(() => !this._dynamicPageService.collapsed());\n\n /** @hidden */\n private _headerButton = viewChild<ElementRef<HTMLSpanElement>>('headerButton');\n\n /** @hidden **/\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(\n protected _cd: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n @Optional() @Inject(FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT) 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 this._setContentFooterSpacer();\n\n if (!this.disableSnapOnScroll && this._pageSubheaderComponent?.collapsible) {\n this._addScrollListeners();\n }\n\n setTimeout(() => this._setContainerPositions());\n\n this._cd.detectChanges();\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 this._headerButton()?.nativeElement.focus();\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 /** @hidden */\n _getScrollElement(): HTMLElement | null {\n return this._tabComponent?.scrollableElement?.nativeElement || this._scrollbar?.elementRef?.nativeElement;\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 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(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._setContainerPositions());\n }\n\n /** @hidden */\n private _getCalculatedFullHeight(element: HTMLElement): string | null {\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.autoResponsive) {\n return;\n }\n\n // Use the article element, not the host element\n const element = this._dynamicPageElement?.nativeElement;\n if (!element) {\n return;\n }\n\n const dynamicPageWidth = element.getBoundingClientRect().width;\n\n // Ignore zero-width measurements (element is hidden during layout transitions)\n if (dynamicPageWidth === 0) {\n return;\n }\n\n this._dynamicPageService.pixelsSizeChanged.set(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 element = this._getScrollElement();\n if (element) {\n fromEvent(element, 'scroll')\n .pipe(debounceTime(10), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n const collapse =\n !this._dynamicPageService.pinned() &&\n (element.scrollTop > 0 || element.scrollHeight <= element.clientHeight);\n this._dynamicPageService.collapsed.set(collapse);\n });\n }\n }\n\n /** @hidden Listen for window resize and adjust tab and content positions accordingly */\n private _listenOnResize(): void {\n // When autoResponsive is enabled, observe the dynamic page article element itself\n // This catches both manual resizes AND programmatic layout changes\n if (this.autoResponsive && this._dynamicPageElement) {\n resizeObservable(this._dynamicPageElement.nativeElement)\n .pipe(debounceTime(100), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._setContainerPositions();\n this._sizeChangeHandle();\n });\n } else {\n // Fallback to window/wrapper resize for non-responsive mode\n const listener = this._dynamicPageWrapper ? this._listenToWrapperResize() : this._listenToWindowResize();\n listener.pipe(debounceTime(100), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setContainerPositions();\n this._sizeChangeHandle();\n });\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 /** @hidden */\n private _setContentFooterSpacer(): void {\n this._contentComponent.changes\n .pipe(\n startWith(this._contentComponent.toArray()),\n observeOn(asyncScheduler),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((components) => {\n components.forEach((content, index) => {\n /** show spacer when:\n * a) footer + no tabs = only last\n * b) footer + tabs, not stacked = all\n * c) footer + tabs, stacked = only last\n */\n content._toggleSpacer(\n this._footerComponent && (!this._tabComponent?.stackContent || index === components.length - 1)\n );\n });\n });\n }\n}\n","<article\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 [attr.aria-roledescription]=\"ariaRoledescription\"\n [style.position]=\"positionRelative ? 'relative' : null\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div (click)=\"toggleCollapse()\">\n @if (_headerCollapsible) {\n <span\n #headerButton\n role=\"button\"\n [attr.aria-expanded]=\"_isExpanded()\"\n [attr.aria-labelledby]=\"_headerComponent?.titleId()\"\n aria-label=\"Toggle header\"\n tabindex=\"0\"\n (keydown.enter)=\"toggleCollapse()\"\n class=\"fd-dynamic-page__header-button\"\n >\n </span>\n }\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </header>\n <ng-content select=\"fd-tab-list\"></ng-content>\n <ng-content select=\"fd-wizard\"></ng-content>\n <ng-content select=\"fdp-icon-tab-bar\"></ng-content>\n @if (!_tabComponent) {\n <div fd-scrollbar>\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n </div>\n } @else {\n <div>\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n </div>\n }\n <footer>\n <ng-content select=\"fd-dynamic-page-footer\"></ng-content>\n </footer>\n</article>\n","import { NgModule } from '@angular/core';\n\nimport { DynamicPageHeaderSubtitleDirective } from './directives/dynamic-page-header-subtitle.directive';\nimport { DynamicPageHeaderTitleDirective } from './directives/dynamic-page-header-title.directive';\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 { DynamicPageTitleContentComponent } from './dynamic-page-header/actions/dynamic-page-title-content.component';\nimport { DynamicPageBreadcrumbComponent } from './dynamic-page-header/breadcrumb/dynamic-page-breadcrumb.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { DynamicPageComponent } from './dynamic-page.component';\n\nconst components = [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective,\n DynamicPageBreadcrumbComponent\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class DynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DynamicPageService","i2.DynamicPageWrapperDirective"],"mappings":"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"}
|