import * as i0 from '@angular/core'; import { OnInit, ElementRef, Renderer2, TemplateRef, EventEmitter, QueryList, AfterContentInit, AfterViewInit, DoCheck, OnDestroy, Signal, DestroyRef, InjectionToken } from '@angular/core'; import { Nullable, HasElementRef } from '@fundamental-ngx/cdk/utils'; import { DynamicPageTitleDirectiveContext, DynamicPage } from '@fundamental-ngx/core/dynamic-page'; import { DynamicPageHeader, TabList, HeadingLevel } from '@fundamental-ngx/core/shared'; import { IconTabBarTabComponent, IconTabBarItem } from '@fundamental-ngx/platform/icon-tab-bar'; import { BaseComponent, PlatformConfig } from '@fundamental-ngx/platform/shared'; declare const CLASS_NAME: { readonly dynamicPage: "fd-dynamic-page"; readonly dynamicPageTitleArea: "fd-dynamic-page__title-area"; readonly dynamicPageMainContainer: "fd-dynamic-page__main-container"; readonly dynamicPageBreadcrumbTitleContainer: "fd-dynamic-page__breadcrumb-title-container"; readonly dynamicPageTitleAreaTransparentBg: "fd-dynamic-page__title-area--transparent-bg"; readonly dynamicPageTitleAreaCollapsed: "fd-dynamic-page__title-area--collapsed"; readonly dynamicPageTitleContainer: "fd-dynamic-page__title-container"; readonly dynamicPageTitle: "fd-dynamic-page__title"; readonly dynamicPageTitleMedium: "fd-dynamic-page__title--md"; readonly dynamicPageBreadcrumb: "fd-dynamic-page__breadcrumb"; readonly dynamicPageKeyInfo: "fd-dynamic-page__title-content"; readonly dynamicPageGlobalActions: "fd-dynamic-page__toolbar"; readonly dynamicPageLayoutActions: "fd-dynamic-page__toolbar-actions"; readonly dynamicPageActionsContainer: "fd-dynamic-page__actions-container"; readonly dynamicPageHeader: "fd-dynamic-page__header"; readonly dynamicPageCollapsibleHeader: "fd-dynamic-page__collapsible-header"; readonly dynamicPageCollapsibleHeaderTransparentBg: "fd-dynamic-page__collapsible-header--transparent-bg"; readonly dynamicPageCollapsibleHeaderSmall: "fd-dynamic-page__collapsible-header--sm"; readonly dynamicPageCollapsibleHeaderMedium: "fd-dynamic-page__collapsible-header--md"; readonly dynamicPageCollapsibleHeaderLarge: "fd-dynamic-page__collapsible-header--lg"; readonly dynamicPageCollapsibleHeaderExtraLarge: "fd-dynamic-page__collapsible-header--xl"; readonly dynamicPageCollapsibleHeaderPinCollapseNoShadow: "fd-dynamic-page__collapsible-header-visibility-container--no-shadow"; readonly dynamicPageTabs: "fd-dynamic-page__tabs"; readonly dynamicPageTabsAddShadow: "fd-dynamic-page__tabs--add-shadow"; readonly dynamicPageTabsSmall: "fd-dynamic-page__tabs--sm"; readonly dynamicPageTabsMedium: "fd-dynamic-page__tabs--md"; readonly dynamicPageTabsLarge: "fd-dynamic-page__tabs--lg"; readonly dynamicPageTabsExtraLarge: "fd-dynamic-page__tabs--xl"; readonly dynamicPageContent: "fd-dynamic-page__content"; readonly dynamicPageContentAreaSmall: "fd-dynamic-page__content--sm"; readonly dynamicPageContentAreaMedium: "fd-dynamic-page__content--md"; readonly dynamicPageContentAreaLarge: "fd-dynamic-page__content--lg"; readonly dynamicPageContentAreaExtraLarge: "fd-dynamic-page__content--xl"; readonly dynamicPageContentListBg: "fd-dynamic-page__content--list-bg"; readonly dynamicPageContentTransparentBg: "fd-dynamic-page__content--transparent-bg"; readonly dynamicPageSummarizedTitleArea: "fd-dynamic-page__summarized-title-area"; readonly dynamicPageSummarizedTitleAreaSmall: "fd-dynamic-page__summarized-title-area--sm"; readonly dynamicPageSummarizedTitleAreaMedium: "fd-dynamic-page__summarized-title-area--md"; readonly dynamicPageSummarizedTitleAreaLarge: "fd-dynamic-page__summarized-title-area--lg"; readonly dynamicPageSummarizedTitleAreaExtraLarge: "fd-dynamic-page__summarized-title-area"; readonly dynamicPageSummarizedTitleAreaNoShadow: "fd-dynamic-page__summarized-title-area--no-shadow"; readonly dynamicPageSummarizedTitle: "fd-dynamic-page__summarized-title"; readonly dynamicPageSummarizedTitleCollapsed: "fd-dynamic-page__summarized-title-area--collapsed"; }; type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent'; type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large'; /** * Dynamic Page Content Host Component. * * Adds some styles to host element. * For internal usage only. * */ declare class DynamicPageContentHostComponent implements OnInit { readonly elementRef: ElementRef; protected _renderer: Renderer2; /** * a unique identifier for this content */ id: string; /** * sets background for content to `list`, `transparent`, or `solid` background color. * Default is `solid`. */ set background(backgroundType: DynamicPageBackgroundType); get background(): DynamicPageBackgroundType; /** * sets size which in turn adds corresponding padding for the size type. * size can be `small`, `medium`, `large`, or `extra-large`. */ set size(sizeType: DynamicPageResponsiveSize); get size(): DynamicPageResponsiveSize; /** * @hidden * tracking the background value */ private _background; /** * @hidden * tracks the size for responsive padding */ private _size; /** @hidden */ constructor(elementRef: ElementRef, _renderer: Renderer2); /** @hidden */ ngOnInit(): void; /** * @hidden * sets the style classes for background property * @param background */ private _setBackgroundStyles; /** * @hidden * sets the padding classes * @param sizeType */ private _setSize; /** @hidden */ private _removeClassNameToHostElement; /** @hidden */ private _addClassNameToHostElement; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Dynamic Page Content Component. * */ declare class DynamicPageContentComponent { readonly elementRef: ElementRef; /** * label for the tab. If label is provided, tab navigation will be internally set up. */ tabLabel: string; /** * a unique identifier for this content */ id: string; /** * sets background for content to `list`, `transparent`, or `solid` background color. * Default is `solid`. */ background: DynamicPageBackgroundType; /** * sets size which in turn adds corresponding padding for the size type. * size can be `small`, `medium`, `large`, or `extra-large`. */ size: DynamicPageResponsiveSize; /** * @hidden * The component view is wrapped in ng-template so * component's consumer have to use this templateRef to render it * in its view. * * The template reference to the component view. */ contentTemplateRef: TemplateRef; /** @hidden */ constructor(elementRef: ElementRef); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DynamicPageFooterComponent { /** * @hidden * The component view is wrapped in ng-template so * component's consumer have to use this templateRef to render it * in its view. * * The template reference to the component view. */ contentTemplateRef: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** Dynamic Page collapse change event */ declare class DynamicPageCollapseChangeEvent { source: DynamicPageHeaderComponent; payload: boolean; /** * Dynamic Page collapse change event * @param source Dynamic Page component * @param payload Collapse state */ constructor(source: DynamicPageHeaderComponent, payload: boolean); } /** * Dynamic Page Header Component. * * This component is part of Public API * used by supplier to declare inputs and template * */ declare class DynamicPageHeaderComponent { /** * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear * and the header stays visible */ collapsible: boolean; /** * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up. * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned. */ pinnable: boolean; /** * the initial state of the header. Set to true if header should be collapsed. */ collapsed: boolean; /** * ARIA label for button when the header is collapsed */ expandLabel: string; /** * ARIA label for button when the header is expanded */ collapseLabel: string; /** Header role */ role: string; /** * id for header */ id: string; /** * aria label for header */ headerAriaLabel: Nullable; /** * aria label for pin state of pin button */ pinAriaLabel: string; /** * aria label for unpin state of pin button */ unpinAriaLabel: string; /** * sets background for content to `list`, `transparent`, or `solid` background color. * Default is `solid`. */ background: DynamicPageBackgroundType; /** * sets size which in turn adds corresponding padding for the size type. * size can be `small`, `medium`, `large`, or `extra-large`. */ size: DynamicPageResponsiveSize; /** Collapse/Expand change event raised */ collapsedChange: EventEmitter; /** * @hidden * The component view is wrapped in ng-template so * component's consumer have to use this templateRef to render it * in its view. * * The template reference to the component view. */ contentTemplateRef: TemplateRef; /** * @hidden * Delegate collapse change event */ _onCollapseChange(collapsed: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DynamicPageHeaderSubtitleDirective { /** Template reference. */ templateRef: TemplateRef; /** @hidden */ static ngTemplateContextGuard(dir: DynamicPageHeaderSubtitleDirective, ctx: DynamicPageTitleDirectiveContext): ctx is DynamicPageTitleDirectiveContext; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class DynamicPageHeaderTitleDirective { /** Template reference. */ templateRef: TemplateRef; /** @hidden */ static ngTemplateContextGuard(dir: DynamicPageHeaderTitleDirective, ctx: DynamicPageTitleDirectiveContext): ctx is DynamicPageTitleDirectiveContext; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class DynamicPageGlobalActionsComponent { /** * @hidden * The component view is wrapped in ng-template so * component's consumer have to use this templateRef to render it * in its view. * * The template reference to the component view. */ contentTemplateRef: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DynamicPageLayoutActionsComponent { /** * @hidden * The component view is wrapped in ng-template so * component's consumer have to use this templateRef to render it * in its view. * * The template reference to the component view. */ contentTemplateRef: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DynamicPageBreadcrumbComponent { /** * @hidden * The component view is wrapped in ng-template so * component's consumer have to use this templateRef to render it * in its view. * * The template reference to the component view. */ contentTemplateRef: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DynamicPageKeyInfoComponent { /** * @hidden * The component view is wrapped in ng-template so * component's consumer have to use this templateRef to render it * in its view. * * The template reference to the component view. */ contentTemplateRef: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DynamicPageTitleImageComponent { /** * @hidden * The component view is wrapped in ng-template so * component's consumer have to use this templateRef to render it * in its view. * * The template reference to the component view. */ contentTemplateRef: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Dynamic Page Title Component. * */ declare class DynamicPageTitleComponent implements DynamicPageHeader { /** * Page Title */ title: string; /** Whether title should wrap instead of truncation. */ titleWrap: boolean; /** * Page Subtitle */ subtitle: string; /** Whether subtitle should wrap instead of truncation. */ subtitleWrap: boolean; /** * sets background for content to `list`, `transparent`, or `solid` background color. * Default is `solid`. */ background: DynamicPageBackgroundType; /** * sets size which in turn adds corresponding padding for the size type. * size can be `small`, `medium`, `large`, or `extra-large`. */ size: DynamicPageResponsiveSize; /** reference to breadcrumb component */ breadcrumbComponent: DynamicPageBreadcrumbComponent; /** reference to global actions component */ globalActionsComponent: DynamicPageGlobalActionsComponent; /** reference to layout actions component */ layoutActionsComponent: DynamicPageLayoutActionsComponent; /** reference to key-info component */ keyInfoComponent: DynamicPageKeyInfoComponent; /** reference to image component */ imageComponent: DynamicPageTitleImageComponent; /** @hidden */ _titleDirective: DynamicPageHeaderTitleDirective; /** @hidden */ _subtitleDirective: DynamicPageHeaderSubtitleDirective; /** * @hidden * The component view is wrapped in ng-template so * component's consumer have to use this templateRef to render it * in its view. * * The template reference to the component view. */ contentTemplateRef: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } interface PlatformDynamicPage extends DynamicPage { stackContent: boolean; tabChange: EventEmitter; titleComponent: DynamicPageTitleComponent; headerComponent: DynamicPageHeaderComponent; footerComponent: DynamicPageFooterComponent; contentComponent: DynamicPageContentComponent; contentComponents: QueryList; dynamicPageTabs: QueryList; /** * marks the dynamic page tab as selected when the id of the tab is passed */ setSelectedTab(id: string): void; } /** Dynamic Page tab change event */ declare class DynamicPageTabChangeEvent { source: DynamicPageContentComponent; payload: IconTabBarItem; /** * Dynamic Page tab change event * @param source Dynamic Page component * @param payload Tab component */ constructor(source: DynamicPageContentComponent, payload: IconTabBarItem); } declare class DynamicPageComponent extends BaseComponent implements AfterContentInit, AfterViewInit, DoCheck, OnDestroy, PlatformDynamicPage, HasElementRef { /** Whether DynamicPage should snap on scroll */ disableSnapOnScroll: boolean; /** Page role */ role: string; /** Whether or not tabs should be stacked. */ stackContent: boolean; /** * sets background for content to `list`, `transparent`, or `solid` background color. * Default is `solid`. */ background: DynamicPageBackgroundType; /** * sets size which in turn adds corresponding padding for the size type. * size can be `small`, `medium`, `large`, or `extra-large`. */ size: DynamicPageResponsiveSize; /** * provided offset in px * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners */ offset: number; /** Whether DynamicPage should have responsive sides spacing changing with Page window width. * max-width: 599px - small * min-width: 600px and max-width: 1023px - medium * min-width: 1024px and max-width: 1439px - large * min-width: 1440px - extra large */ autoResponsive: boolean; /** * Whether dynamic page should be expanded in whole page. */ expandContent: boolean; /** * Tab Change event */ tabChange: EventEmitter; /** reference to title component */ titleComponent: DynamicPageTitleComponent; /** reference to header component */ headerComponent: DynamicPageHeaderComponent; /** reference to footer component */ footerComponent: DynamicPageFooterComponent; /** reference to content component */ contentComponent: DynamicPageContentComponent; /** reference to content components list */ contentComponents: QueryList; /** @hidden */ _dynamicPageComponent: DynamicPage; /** @hidden */ _tabListComponent: TabList; /** Reference to tab items components */ dynamicPageTabs: QueryList; /** @hidden */ _contentHostComponents: QueryList; /** Whether Dynamic page is collapsed */ collapsed: Signal; /** * @hidden * whether tabbed content is present in this page */ _isTabbed: boolean; /** * @hidden * holds the tab content */ _tabs: DynamicPageContentComponent[]; /** * Heading level of the dynamic page header title. */ headingLevel: i0.InputSignal; /** @hidden */ _headingLevel: Signal; /** @hidden */ readonly elementRef: ElementRef; /** @hidden */ protected _destroyRef: DestroyRef; /** toggle the visibility of the header on click of title area. */ toggleCollapse(): void; /** Triggers recheck for spacing and sizing of elements inside DynamicPage. */ refreshSize(): void; /** @hidden */ ngAfterContentInit(): void; /** @hidden */ ngAfterViewInit(): void; /** @hidden */ ngDoCheck(): void; /** * marks the dynamic page tab as selected when the id of the tab is passed */ setSelectedTab(id: string): void; /** @hidden */ _onSelectedTabChange(event: IconTabBarItem): void; /** @hidden */ private _listenToContentComponentsListChanges; /** @hidden */ private _createContentTabs; /** @hidden */ private _isTabContentPresent; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Default options for platform dynamic-page * @deprecated use i18n coreDynamicPage key instead */ declare class DynamicPageConfig extends PlatformConfig { /** * aria label for expand/collapse button when the Dynamic Page is collapsed */ expandLabel: string; /** * aria label for expand/collapse button when the Dynamic Page is expanded */ collapseLabel: string; /** * aria label for pin button when the Dynamic Page should be pinned */ pinLabel: string; /** * aria label for pin button when the Panel should be unpinned */ unpinLabel: string; /** @hidden */ constructor(platformConfig: PlatformConfig); /** * Create Provider factory function */ static createProviderFactory(obj: Partial): (platformConfig: PlatformConfig) => DynamicPageConfig; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * @deprecated * Use direct imports of components and directives. */ declare class PlatformDynamicPageModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare const addClassNameToElement: (renderer: Renderer2, element: Element, className: string) => void; declare const removeClassNameFromElement: (renderer: Renderer2, element: Element, className: string) => void; declare const FDP_DYNAMIC_PAGE: InjectionToken; export { CLASS_NAME, DynamicPageBreadcrumbComponent, DynamicPageCollapseChangeEvent, DynamicPageComponent, DynamicPageConfig, DynamicPageContentComponent, DynamicPageContentHostComponent, DynamicPageFooterComponent, DynamicPageGlobalActionsComponent, DynamicPageHeaderComponent, DynamicPageHeaderSubtitleDirective, DynamicPageHeaderTitleDirective, DynamicPageKeyInfoComponent, DynamicPageLayoutActionsComponent, DynamicPageTabChangeEvent, DynamicPageTitleComponent, DynamicPageTitleImageComponent, FDP_DYNAMIC_PAGE, PlatformDynamicPageModule, addClassNameToElement, removeClassNameFromElement }; export type { DynamicPageBackgroundType, DynamicPageResponsiveSize, PlatformDynamicPage };