{"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.service.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-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, inject } from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\n@Directive()\nexport class DynamicPageBaseActions implements HasElementRef {\n    /** Element reference to the host element. */\n    readonly elementRef = inject(ElementRef);\n\n    /**\n     * Adds a CSS class to the toolbar element within this component.\n     * @param _class The CSS class name to add to the toolbar.\n     */\n    addClassToToolbar(_class: string): void {\n        const toolbarEl = this.elementRef.nativeElement.querySelector('.fd-toolbar');\n        if (toolbarEl) {\n            toolbarEl.classList.add(_class);\n        }\n    }\n}\n","import { computed, Injectable, signal } from '@angular/core';\nimport { DynamicPageResponsiveSize } from './constants';\nimport { dynamicPageWidthToSize } from './utils';\n\n@Injectable()\nexport class DynamicPageService {\n    /** @hidden */\n    readonly collapsed = signal(false);\n\n    /** @hidden */\n    readonly pinned = signal(false);\n\n    /** @hidden */\n    readonly pixelsSizeChanged = signal(0);\n\n    /**\n     * Manual size override. When set, takes precedence over auto-computed size.\n     * Used when autoResponsive is false and size is set manually via input.\n     */\n    readonly manualSizeOverride = signal<DynamicPageResponsiveSize | null>(null);\n\n    /**\n     * Computed responsive size based on pixel width or manual override.\n     * Returns 'small', 'medium', 'large', or 'extra-large'.\n     * Defaults to 'large' when pixel width hasn't been measured yet (0).\n     */\n    readonly responsiveSize = computed<DynamicPageResponsiveSize>(() => {\n        const manualOverride = this.manualSizeOverride();\n        if (manualOverride) {\n            return manualOverride;\n        }\n        const width = this.pixelsSizeChanged();\n        // Don't compute size as 'small' before the page width has been measured\n        if (width === 0) {\n            return 'large';\n        }\n        return dynamicPageWidthToSize(width);\n    });\n\n    /** @hidden */\n    toggleCollapsed(): void {\n        this.collapsed.update((collapsed) => !collapsed);\n    }\n}\n","import {\n    afterNextRender,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    contentChild,\n    effect,\n    inject,\n    Injector,\n    ViewEncapsulation\n} from '@angular/core';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../../constants';\nimport { DynamicPageService } from '../../dynamic-page.service';\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})\nexport class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions {\n    /** @hidden */\n    protected readonly _toolbarComponent = contentChild(ToolbarComponent);\n\n    /** Whether the toolbar should show overflow (size is small). */\n    protected readonly shouldOverflow = computed(() => this._dynamicPageService?.responsiveSize() === 'small');\n\n    /** @hidden */\n    private readonly _injector = inject(Injector);\n\n    /** @hidden */\n    private readonly _dynamicPageService = inject(DynamicPageService, { optional: true });\n\n    constructor() {\n        super();\n\n        // Add toolbar class after render when DOM is ready\n        afterNextRender(() => {\n            this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar);\n        });\n\n        // React to size changes\n        effect(() => {\n            const shouldOverflow = this.shouldOverflow();\n            const toolbar = this._toolbarComponent();\n            if (toolbar) {\n                this._handleOverflow(toolbar, shouldOverflow);\n            }\n        });\n    }\n\n    /** @hidden */\n    private _handleOverflow(toolbar: ToolbarComponent, shouldBeHidden: boolean): void {\n        toolbar.forceOverflow = shouldBeHidden;\n        toolbar.shouldOverflow = shouldBeHidden;\n        toolbar.detectChanges();\n        afterNextRender(\n            () => {\n                toolbar.updateCollapsibleItems();\n            },\n            { injector: this._injector }\n        );\n    }\n}\n","import { afterNextRender, ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\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})\nexport class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions {\n    constructor() {\n        super();\n\n        // Add toolbar classes after render when DOM is ready\n        afterNextRender(() => {\n            this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageLayoutActionsToolbar);\n            this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar);\n        });\n    }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    inject,\n    input,\n    ViewEncapsulation\n} from '@angular/core';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { ToolbarComponent, ToolbarItemDirective } from '@fundamental-ngx/core/toolbar';\nimport { DynamicPageService } from '../../dynamic-page.service';\n\n@Component({\n    selector: 'fd-dynamic-page-title-content',\n    template: `\n        @if (_isSmall()) {\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        } @else {\n            <div\n                class=\"fd-dynamic-page__title-content\"\n                [class.fd-dynamic-page__title-content--wrap]=\"titleContentWrap()\"\n            >\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    /**\n     * Whether the title content text should wrap to multiple lines instead of truncating with ellipsis.\n     * @default false\n     */\n    readonly titleContentWrap = input(false, { transform: booleanAttribute });\n\n    /** @hidden */\n    protected readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n    /** Whether the current size is small. */\n    protected readonly _isSmall = computed(() => this._dynamicPageService?.responsiveSize() === 'small');\n\n    /** @hidden */\n    private readonly _dynamicPageService = inject(DynamicPageService, { optional: true });\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 {\n    afterNextRender,\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    contentChild,\n    effect,\n    ElementRef,\n    inject,\n    input,\n    OnInit,\n    Renderer2,\n    ViewEncapsulation\n} from '@angular/core';\n\nimport { BreadcrumbComponent, FD_BREADCRUMB_COMPONENT } from '@fundamental-ngx/core/breadcrumb';\nimport { DYNAMIC_PAGE_HEADER_TOKEN } from '@fundamental-ngx/core/shared';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { IgnoreClickOnSelectionDirective } from '@fundamental-ngx/cdk/utils';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\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, FdTranslatePipe]\n})\nexport class DynamicPageHeaderComponent implements OnInit {\n    /**\n     * The title text displayed in the dynamic page header.\n     * @default ''\n     */\n    readonly title = input('');\n\n    /**\n     * Whether the title text should wrap to multiple lines instead of truncating with ellipsis.\n     * @default false\n     */\n    readonly titleWrap = input(false, { transform: booleanAttribute });\n\n    /**\n     * The subtitle text displayed below the title in the dynamic page header.\n     * @default ''\n     */\n    readonly subtitle = input('');\n\n    /**\n     * Whether the subtitle text should wrap to multiple lines instead of truncating with ellipsis.\n     * @default false\n     */\n    readonly subtitleWrap = input(false, { transform: booleanAttribute });\n\n    /**\n     * The heading level (h1-h6) for the dynamic page title.\n     * Determines the semantic hierarchy for accessibility and SEO.\n     * @default 2\n     */\n    readonly headingLevel = input<HeadingLevel>(2);\n\n    /**\n     * The heading level (h1-h6) for the dynamic page subtitle.\n     * When provided, the subtitle will be rendered as a semantic heading with role=\"heading\".\n     * When not provided (undefined/null), the subtitle is rendered as plain text without a heading role.\n     * @default undefined\n     */\n    readonly subtitleHeadingLevel = input<HeadingLevel | undefined | null>(undefined);\n\n    /**\n     * The unique ID for the dynamic page title element.\n     * Used for ARIA relationships and programmatic reference.\n     * @default 'fd-dynamic-page-title-id-{auto-increment}'\n     */\n    readonly titleId = input(`fd-dynamic-page-title-id-${++dynamicPageTitleId}`);\n\n    /**\n     * @hidden\n     * Content child query for custom subtitle template.\n     * When provided via fdDynamicPageHeaderSubtitle directive, overrides the subtitle text input.\n     */\n    readonly _subtitleTemplate = contentChild(DynamicPageHeaderSubtitleDirective);\n\n    /**\n     * @hidden\n     * Content child query for custom title template.\n     * When provided via fdDynamicPageHeaderTitle directive, overrides the title text input.\n     */\n    readonly _titleTemplate = contentChild(DynamicPageHeaderTitleDirective);\n\n    /** @hidden */\n    readonly _dynamicPageBreadcrumbComponent = contentChild(FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT, {\n        read: DynamicPageBreadcrumbComponent\n    });\n\n    /** @hidden */\n    readonly _breadcrumbComponent = contentChild(FD_BREADCRUMB_COMPONENT, { read: BreadcrumbComponent });\n\n    /** @hidden */\n    readonly _globalActions = contentChild(DynamicPageGlobalActionsComponent);\n\n    /** @hidden */\n    readonly _layoutActions = contentChild(DynamicPageLayoutActionsComponent);\n\n    /** @hidden */\n    readonly _contentToolbar = contentChild(DynamicPageTitleContentComponent);\n\n    /**\n     * @hidden\n     * Computed signal indicating whether actions should be displayed in collapsed/squashed mode.\n     * True when viewport width is below the ActionSquashBreakpointPx threshold (1280px).\n     */\n    readonly _actionsSquashed = computed(() => this._dynamicPageService.pixelsSizeChanged() < ActionSquashBreakpointPx);\n\n    /**\n     * @hidden\n     * Computed numeric heading level extracted from the headingLevel input.\n     * Strips non-digit characters and returns integer value.\n     */\n    readonly _headingLevel = computed(() =>\n        this.headingLevel() ? Number.parseInt(`${this.headingLevel()}`.replace(/\\D/g, ''), 10) : 2\n    );\n\n    /**\n     * @hidden\n     * Tracks the current responsive size of the dynamic page.\n     * Updated by effect when DynamicPageService.responsiveSize changes.\n     */\n    _size: DynamicPageResponsiveSize;\n\n    /** @hidden */\n    readonly _dynamicPageService = inject(DynamicPageService);\n\n    /** @hidden */\n    private readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n    /** @hidden */\n    private readonly _renderer = inject(Renderer2);\n\n    /** @hidden */\n    constructor() {\n        // React to size changes and update breadcrumb\n        effect(() => {\n            const size = this._dynamicPageService.responsiveSize();\n            this._size = size;\n\n            const breadcrumb = this._breadcrumbComponent();\n\n            if (breadcrumb) {\n                // Add custom class on first render\n                addClassNameToElement(\n                    this._renderer,\n                    breadcrumb.elementRef.nativeElement,\n                    'fd-dynamic-page__breadcrumb'\n                );\n            }\n        });\n\n        // Trigger breadcrumb resize after view is fully initialized\n        afterNextRender(() => {\n            const breadcrumb = this._breadcrumbComponent();\n\n            if (breadcrumb && typeof breadcrumb.onResize === 'function') {\n                breadcrumb.onResize();\n            }\n        });\n    }\n\n    /** @hidden */\n    ngOnInit(): void {\n        addClassNameToElement(\n            this._renderer,\n            this._elementRef.nativeElement,\n            DYNAMIC_PAGE_CLASS_NAME.dynamicPageTitleArea\n        );\n    }\n\n    /**\n     * @hidden\n     * Prevents click events from bubbling up to parent elements.\n     * Used to stop the header collapse toggle when interacting with header content.\n     */\n    stopPropagation(event: MouseEvent): void {\n        event.stopPropagation();\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                        [attr.aria-label]=\"('coreDynamicPage.breadcrumbsLabel' | fdTranslate)()\"\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                        [attr.role]=\"subtitleHeadingLevel() ? 'heading' : null\"\n                        [attr.aria-level]=\"subtitleHeadingLevel()\"\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        [attr.role]=\"subtitleHeadingLevel() ? 'heading' : null\"\n        [attr.aria-level]=\"subtitleHeadingLevel()\"\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 #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 { computed, inject, Signal } from '@angular/core';\nimport { FD_LANGUAGE_SIGNAL, FdLanguage } from '@fundamental-ngx/i18n';\nimport { DynamicPageConfig } from './dynamic-page.config';\n\n/**\n * Patch header i18n texts\n */\nexport function patchHeaderI18nTexts(config?: DynamicPageConfig): Signal<FdLanguage> {\n    const langSignal = inject(FD_LANGUAGE_SIGNAL, { skipSelf: true });\n    if (config) {\n        return computed(\n            () =>\n                ({\n                    ...langSignal(),\n                    coreDynamicPage: {\n                        ...config\n                    }\n                }) as FdLanguage\n        );\n    }\n    return langSignal;\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_SIGNAL, 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_SIGNAL,\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    }\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._dynamicPageService.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    /** @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    effect,\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 } 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 { FdTranslatePipe } from '@fundamental-ngx/i18n';\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, FdTranslatePipe]\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        // Only set manual override when autoResponsive is false\n        // When autoResponsive is true, size changes are driven by resize events\n        if (!this.autoResponsive) {\n            this._dynamicPageService.manualSizeOverride.set(size);\n        }\n        this._updateDynamicPageHeight();\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        // React to collapsed state changes\n        effect(() => {\n            this._dynamicPageService.collapsed();\n            this._updateDynamicPageHeight();\n        });\n    }\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        this._sizeChangeHandle();\n        this._removeShadowWhenTabComponent();\n        this._listenOnResize();\n        this._propagatePropertiesToChildren();\n        this._setContentFooterSpacer();\n\n        if (!this.disableSnapOnScroll && this._pageSubheaderComponent?.collapsible) {\n            this._addScrollListeners();\n        }\n\n        setTimeout(() => this._updateDynamicPageHeight());\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._updateDynamicPageHeight();\n        this._sizeChangeHandle();\n    }\n\n    /** @hidden */\n    _getScrollElement(): HTMLElement | null {\n        return this._tabComponent?.scrollableElement?.nativeElement || this._scrollbar?.elementRef?.nativeElement;\n    }\n\n    /** @hidden */\n    private _propagatePropertiesToChildren(): void {\n        this._headerCollapsible = this._pageSubheaderComponent?.collapsible;\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 = this._dynamicPageService.responsiveSize();\n\n        if (size !== this._size) {\n            // Update internal size directly without triggering manual override\n            // Manual override should only be set when user explicitly sets the size input\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._updateDynamicPageHeight();\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._updateDynamicPageHeight();\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 Sets the dynamic page height to fill available viewport space. */\n    private _updateDynamicPageHeight(): 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                    [attr.aria-label]=\"('coreDynamicPage.toggleHeader' | fdTranslate)()\"\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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"}